/** * * SmartEarth WebSDK - https://websdk.terra-it.cn * Version 5.0.2 * **/ var t0t=Object.create;var Dj=Object.defineProperty;var i0t=Object.getOwnPropertyDescriptor;var r0t=Object.getOwnPropertyNames;var n0t=Object.getPrototypeOf,o0t=Object.prototype.hasOwnProperty;var a0t=(o,A,f)=>A in o?Dj(o,A,{enumerable:!0,configurable:!0,writable:!0,value:f}):o[A]=f;var My=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(A,f)=>(typeof require<"u"?require:A)[f]}):o)(function(o){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+o+'" is not supported')});var wA=(o,A)=>()=>(A||o((A={exports:{}}).exports,A),A.exports),Eue=(o,A)=>{for(var f in A)Dj(o,f,{get:A[f],enumerable:!0})},s0t=(o,A,f,m)=>{if(A&&typeof A=="object"||typeof A=="function")for(let C of r0t(A))!o0t.call(o,C)&&C!==f&&Dj(o,C,{get:()=>A[C],enumerable:!(m=i0t(A,C))||m.enumerable});return o};var rU=(o,A,f)=>(f=o!=null?t0t(n0t(o)):{},s0t(A||!o||!o.__esModule?Dj(f,"default",{value:o,enumerable:!0}):f,o));var xue=(o,A,f)=>(a0t(o,typeof A!="symbol"?A+"":A,f),f);var Elt=wA((Clt,gae)=>{(function(o,A,f){typeof gae<"u"&&gae.exports?gae.exports=f():typeof define=="function"&&define.amd?define(f):A[o]=f()})("h337",Clt,function(){var o={defaultRadius:40,defaultRenderer:"canvas2d",defaultGradient:{.25:"rgb(0,0,255)",.55:"rgb(0,255,0)",.85:"yellow",1:"rgb(255,0,0)"},defaultMaxOpacity:1,defaultMinOpacity:0,defaultBlur:.85,defaultXField:"x",defaultYField:"y",defaultValueField:"value",plugins:{}},A=function(){var I=function(Q){this._coordinator={},this._data=[],this._radi=[],this._min=10,this._max=1,this._xField=Q.xField||Q.defaultXField,this._yField=Q.yField||Q.defaultYField,this._valueField=Q.valueField||Q.defaultValueField,Q.radius&&(this._cfgRadius=Q.radius)},v=o.defaultRadius;return I.prototype={_organiseData:function(B,Q){var T=B[this._xField],w=B[this._yField],S=this._radi,D=this._data,R=this._max,P=this._min,M=B[this._valueField]||1,L=B.radius||this._cfgRadius||v;D[T]||(D[T]=[],S[T]=[]),D[T][w]?D[T][w]+=M:(D[T][w]=M,S[T][w]=L);var F=D[T][w];return F>R?(Q?this.setDataMax(F):this._max=F,!1):F0)for(var B=arguments[0],Q=B.length;Q--;)this.addData.call(this,B[Q]);else{var T=this._organiseData(arguments[0],!0);T&&(this._data.length===0&&(this._min=this._max=T.value),this._coordinator.emit("renderpartial",{min:this._min,max:this._max,data:[T]}))}return this},setData:function(B){var Q=B.data,T=Q.length;this._data=[],this._radi=[];for(var w=0;w0&&(this._drawAlpha(T),this._colorize())},renderAll:function(T){this._clear(),T.data.length>0&&(this._drawAlpha(B(T)),this._colorize())},_updateGradient:function(T){this._palette=I(T)},updateConfig:function(T){T.gradient&&this._updateGradient(T),this._setStyles(T)},setDimensions:function(T,w){this._width=T,this._height=w,this.canvas.width=this.shadowCanvas.width=T,this.canvas.height=this.shadowCanvas.height=w},_clear:function(){this.shadowCtx.clearRect(0,0,this._width,this._height),this.ctx.clearRect(0,0,this._width,this._height)},_setStyles:function(T){this._blur=T.blur==0?0:T.blur||T.defaultBlur,T.backgroundColor&&(this.canvas.style.backgroundColor=T.backgroundColor),this._width=this.canvas.width=this.shadowCanvas.width=T.width||this._width,this._height=this.canvas.height=this.shadowCanvas.height=T.height||this._height,this._opacity=(T.opacity||0)*255,this._maxOpacity=(T.maxOpacity||T.defaultMaxOpacity)*255,this._minOpacity=(T.minOpacity||T.defaultMinOpacity)*255,this._useGradientOpacity=!!T.useGradientOpacity},_drawAlpha:function(D){for(var w=this._min=D.min,S=this._max=D.max,D=D.data||[],R=D.length,P=1-this._blur;R--;){var M=D[R],L=M.x,F=M.y,k=M.radius,N=Math.min(M.value,S),G=L-k,J=F-k,K=this.shadowCtx,X;this._templates[k]?X=this._templates[k]:this._templates[k]=X=v(k,P);var q=(N-w)/(S-w);K.globalAlpha=q<.01?.01:q,K.drawImage(X,G,J),Gthis._renderBoundaries[2]&&(this._renderBoundaries[2]=G+2*k),J+2*k>this._renderBoundaries[3]&&(this._renderBoundaries[3]=J+2*k)}},_colorize:function(){var T=this._renderBoundaries[0],w=this._renderBoundaries[1],S=this._renderBoundaries[2]-T,D=this._renderBoundaries[3]-w,R=this._width,P=this._height,M=this._opacity,L=this._maxOpacity,F=this._minOpacity,k=this._useGradientOpacity;T<0&&(T=0),w<0&&(w=0),T+S>R&&(S=R-T),w+D>P&&(D=P-w);for(var N=this.shadowCtx.getImageData(T,w,S,D),G=N.data,J=G.length,K=this._palette,X=3;X0?ie=M:q>0,w},getDataURL:function(){return this.canvas.toDataURL()}},Q}(),m=function(){var I=!1;return o.defaultRenderer==="canvas2d"&&(I=f),I}(),C={merge:function(){for(var y={},I=arguments.length,v=0;v{"use strict";yMe.exports=Cse;yMe.exports.default=Cse;function Cse(o,A,f){f=f||2;var m=A&&A.length,C=m?A[0]*f:o.length,E=Out(o,0,C,f,!0),x=[];if(!E||E.next===E.prev)return x;var y,I,v,B,Q,T,w;if(m&&(E=tFi(o,A,E,f)),o.length>80*f){y=v=o[0],I=B=o[1];for(var S=f;Sv&&(v=Q),T>B&&(B=T);w=Math.max(v-y,B-I),w=w!==0?32767/w:0}return zK(E,x,f,y,I,w,0),x}function Out(o,A,f,m,C){var E,x;if(C===xMe(o,A,f,m)>0)for(E=A;E=A;E-=m)x=kut(E,o[E],o[E+1],x);return x&&Ese(x,x.next)&&(JK(x),x=x.next),x}function _k(o,A){if(!o)return o;A||(A=o);var f=o,m;do if(m=!1,!f.steiner&&(Ese(f,f.next)||Xd(f.prev,f,f.next)===0)){if(JK(f),f=A=f.prev,f===f.next)break;m=!0}else f=f.next;while(m||f!==A);return A}function zK(o,A,f,m,C,E,x){if(!!o){!x&&E&&aFi(o,m,C,E);for(var y=o,I,v;o.prev!==o.next;){if(I=o.prev,v=o.next,E?ZLi(o,m,C,E):XLi(o)){A.push(I.i/f|0),A.push(o.i/f|0),A.push(v.i/f|0),JK(o),o=v.next,y=v.next;continue}if(o=v,o===y){x?x===1?(o=$Li(_k(o),A,f),zK(o,A,f,m,C,E,2)):x===2&&eFi(o,A,f,m,C,E):zK(_k(o),A,f,m,C,E,1);break}}}}function XLi(o){var A=o.prev,f=o,m=o.next;if(Xd(A,f,m)>=0)return!1;for(var C=A.x,E=f.x,x=m.x,y=A.y,I=f.y,v=m.y,B=CE?C>x?C:x:E>x?E:x,w=y>I?y>v?y:v:I>v?I:v,S=m.next;S!==A;){if(S.x>=B&&S.x<=T&&S.y>=Q&&S.y<=w&&EH(C,y,E,I,x,v,S.x,S.y)&&Xd(S.prev,S,S.next)>=0)return!1;S=S.next}return!0}function ZLi(o,A,f,m){var C=o.prev,E=o,x=o.next;if(Xd(C,E,x)>=0)return!1;for(var y=C.x,I=E.x,v=x.x,B=C.y,Q=E.y,T=x.y,w=yI?y>v?y:v:I>v?I:v,R=B>Q?B>T?B:T:Q>T?Q:T,P=CMe(w,S,A,f,m),M=CMe(D,R,A,f,m),L=o.prevZ,F=o.nextZ;L&&L.z>=P&&F&&F.z<=M;){if(L.x>=w&&L.x<=D&&L.y>=S&&L.y<=R&&L!==C&&L!==x&&EH(y,B,I,Q,v,T,L.x,L.y)&&Xd(L.prev,L,L.next)>=0||(L=L.prevZ,F.x>=w&&F.x<=D&&F.y>=S&&F.y<=R&&F!==C&&F!==x&&EH(y,B,I,Q,v,T,F.x,F.y)&&Xd(F.prev,F,F.next)>=0))return!1;F=F.nextZ}for(;L&&L.z>=P;){if(L.x>=w&&L.x<=D&&L.y>=S&&L.y<=R&&L!==C&&L!==x&&EH(y,B,I,Q,v,T,L.x,L.y)&&Xd(L.prev,L,L.next)>=0)return!1;L=L.prevZ}for(;F&&F.z<=M;){if(F.x>=w&&F.x<=D&&F.y>=S&&F.y<=R&&F!==C&&F!==x&&EH(y,B,I,Q,v,T,F.x,F.y)&&Xd(F.prev,F,F.next)>=0)return!1;F=F.nextZ}return!0}function $Li(o,A,f){var m=o;do{var C=m.prev,E=m.next.next;!Ese(C,E)&&Uut(C,m,m.next,E)&&YK(C,E)&&YK(E,C)&&(A.push(C.i/f|0),A.push(m.i/f|0),A.push(E.i/f|0),JK(m),JK(m.next),m=o=E),m=m.next}while(m!==o);return _k(m)}function eFi(o,A,f,m,C,E){var x=o;do{for(var y=x.next.next;y!==x.prev;){if(x.i!==y.i&&uFi(x,y)){var I=Gut(x,y);x=_k(x,x.next),I=_k(I,I.next),zK(x,A,f,m,C,E,0),zK(I,A,f,m,C,E,0);return}y=y.next}x=x.next}while(x!==o)}function tFi(o,A,f,m){var C=[],E,x,y,I,v;for(E=0,x=A.length;E=f.next.y&&f.next.y!==f.y){var y=f.x+(C-f.y)*(f.next.x-f.x)/(f.next.y-f.y);if(y<=m&&y>E&&(E=y,x=f.x=f.x&&f.x>=v&&m!==f.x&&EH(Cx.x||f.x===x.x&&oFi(x,f)))&&(x=f,Q=T)),f=f.next;while(f!==I);return x}function oFi(o,A){return Xd(o.prev,o,A.prev)<0&&Xd(A.next,o,o.next)<0}function aFi(o,A,f,m){var C=o;do C.z===0&&(C.z=CMe(C.x,C.y,A,f,m)),C.prevZ=C.prev,C.nextZ=C.next,C=C.next;while(C!==o);C.prevZ.nextZ=null,C.prevZ=null,sFi(C)}function sFi(o){var A,f,m,C,E,x,y,I,v=1;do{for(f=o,o=null,E=null,x=0;f;){for(x++,m=f,y=0,A=0;A0||I>0&&m;)y!==0&&(I===0||!m||f.z<=m.z)?(C=f,f=f.nextZ,y--):(C=m,m=m.nextZ,I--),E?E.nextZ=C:o=C,C.prevZ=E,E=C;f=m}E.nextZ=null,v*=2}while(x>1);return o}function CMe(o,A,f,m,C){return o=(o-f)*C|0,A=(A-m)*C|0,o=(o|o<<8)&16711935,o=(o|o<<4)&252645135,o=(o|o<<2)&858993459,o=(o|o<<1)&1431655765,A=(A|A<<8)&16711935,A=(A|A<<4)&252645135,A=(A|A<<2)&858993459,A=(A|A<<1)&1431655765,o|A<<1}function lFi(o){var A=o,f=o;do(A.x=(o-x)*(E-y)&&(o-x)*(m-y)>=(f-x)*(A-y)&&(f-x)*(E-y)>=(C-x)*(m-y)}function uFi(o,A){return o.next.i!==A.i&&o.prev.i!==A.i&&!AFi(o,A)&&(YK(o,A)&&YK(A,o)&&cFi(o,A)&&(Xd(o.prev,o,A.prev)||Xd(o,A.prev,A))||Ese(o,A)&&Xd(o.prev,o,o.next)>0&&Xd(A.prev,A,A.next)>0)}function Xd(o,A,f){return(A.y-o.y)*(f.x-A.x)-(A.x-o.x)*(f.y-A.y)}function Ese(o,A){return o.x===A.x&&o.y===A.y}function Uut(o,A,f,m){var C=mse(Xd(o,A,f)),E=mse(Xd(o,A,m)),x=mse(Xd(f,m,o)),y=mse(Xd(f,m,A));return!!(C!==E&&x!==y||C===0&&pse(o,f,A)||E===0&&pse(o,m,A)||x===0&&pse(f,o,m)||y===0&&pse(f,A,m))}function pse(o,A,f){return A.x<=Math.max(o.x,f.x)&&A.x>=Math.min(o.x,f.x)&&A.y<=Math.max(o.y,f.y)&&A.y>=Math.min(o.y,f.y)}function mse(o){return o>0?1:o<0?-1:0}function AFi(o,A){var f=o;do{if(f.i!==o.i&&f.next.i!==o.i&&f.i!==A.i&&f.next.i!==A.i&&Uut(f,f.next,o,A))return!0;f=f.next}while(f!==o);return!1}function YK(o,A){return Xd(o.prev,o,o.next)<0?Xd(o,A,o.next)>=0&&Xd(o,o.prev,A)>=0:Xd(o,A,o.prev)<0||Xd(o,o.next,A)<0}function cFi(o,A){var f=o,m=!1,C=(o.x+A.x)/2,E=(o.y+A.y)/2;do f.y>E!=f.next.y>E&&f.next.y!==f.y&&C<(f.next.x-f.x)*(E-f.y)/(f.next.y-f.y)+f.x&&(m=!m),f=f.next;while(f!==o);return m}function Gut(o,A){var f=new EMe(o.i,o.x,o.y),m=new EMe(A.i,A.x,A.y),C=o.next,E=A.prev;return o.next=A,A.prev=o,f.next=C,C.prev=f,m.next=f,f.prev=m,E.next=m,m.prev=E,m}function kut(o,A,f,m){var C=new EMe(o,A,f);return m?(C.next=m.next,C.prev=m,m.next.prev=C,m.next=C):(C.prev=C,C.next=C),C}function JK(o){o.next.prev=o.prev,o.prev.next=o.next,o.prevZ&&(o.prevZ.nextZ=o.nextZ),o.nextZ&&(o.nextZ.prevZ=o.prevZ)}function EMe(o,A,f){this.i=o,this.x=A,this.y=f,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}Cse.deviation=function(o,A,f,m){var C=A&&A.length,E=C?A[0]*f:o.length,x=Math.abs(xMe(o,0,E,f));if(C)for(var y=0,I=A.length;y0&&(m+=o[C-1].length,f.holes.push(m))}return f}});var xse=wA(()=>{console.log("I'm `fs` modules")});var IMe=wA((Xji,Vut)=>{"use strict";Vut.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var A={},f=Symbol("test"),m=Object(f);if(typeof f=="string"||Object.prototype.toString.call(f)!=="[object Symbol]"||Object.prototype.toString.call(m)!=="[object Symbol]")return!1;var C=42;A[f]=C;for(f in A)return!1;if(typeof Object.keys=="function"&&Object.keys(A).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(A).length!==0)return!1;var E=Object.getOwnPropertySymbols(A);if(E.length!==1||E[0]!==f||!Object.prototype.propertyIsEnumerable.call(A,f))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var x=Object.getOwnPropertyDescriptor(A,f);if(x.value!==C||x.enumerable!==!0)return!1}return!0}});var yse=wA((Zji,zut)=>{"use strict";var hFi=IMe();zut.exports=function(){return hFi()&&!!Symbol.toStringTag}});var Kut=wA(($ji,Jut)=>{"use strict";var Yut=typeof Symbol<"u"&&Symbol,dFi=IMe();Jut.exports=function(){return typeof Yut!="function"||typeof Symbol!="function"||typeof Yut("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:dFi()}});var qut=wA((eqi,jut)=>{"use strict";var Wut={foo:{}},fFi=Object;jut.exports=function(){return{__proto__:Wut}.foo===Wut.foo&&!({__proto__:null}instanceof fFi)}});var Zut=wA((tqi,Xut)=>{"use strict";var gFi="Function.prototype.bind called on incompatible ",_Me=Array.prototype.slice,pFi=Object.prototype.toString,mFi="[object Function]";Xut.exports=function(A){var f=this;if(typeof f!="function"||pFi.call(f)!==mFi)throw new TypeError(gFi+f);for(var m=_Me.call(arguments,1),C,E=function(){if(this instanceof C){var B=f.apply(this,m.concat(_Me.call(arguments)));return Object(B)===B?B:this}else return f.apply(A,m.concat(_Me.call(arguments)))},x=Math.max(0,f.length-m.length),y=[],I=0;I{"use strict";var CFi=Zut();$ut.exports=Function.prototype.bind||CFi});var tAt=wA((rqi,eAt)=>{"use strict";var EFi=Ise();eAt.exports=EFi.call(Function.call,Object.prototype.hasOwnProperty)});var Bse=wA((nqi,aAt)=>{"use strict";var bu,_H=SyntaxError,oAt=Function,IH=TypeError,vMe=function(o){try{return oAt('"use strict"; return ('+o+").constructor;")()}catch{}},vk=Object.getOwnPropertyDescriptor;if(vk)try{vk({},"")}catch{vk=null}var BMe=function(){throw new IH},xFi=vk?function(){try{return arguments.callee,BMe}catch{try{return vk(arguments,"callee").get}catch{return BMe}}}():BMe,xH=Kut()(),yFi=qut()(),Ip=Object.getPrototypeOf||(yFi?function(o){return o.__proto__}:null),yH={},IFi=typeof Uint8Array>"u"||!Ip?bu:Ip(Uint8Array),Bk={"%AggregateError%":typeof AggregateError>"u"?bu:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?bu:ArrayBuffer,"%ArrayIteratorPrototype%":xH&&Ip?Ip([][Symbol.iterator]()):bu,"%AsyncFromSyncIteratorPrototype%":bu,"%AsyncFunction%":yH,"%AsyncGenerator%":yH,"%AsyncGeneratorFunction%":yH,"%AsyncIteratorPrototype%":yH,"%Atomics%":typeof Atomics>"u"?bu:Atomics,"%BigInt%":typeof BigInt>"u"?bu:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?bu:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?bu:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?bu:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?bu:Float32Array,"%Float64Array%":typeof Float64Array>"u"?bu:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?bu:FinalizationRegistry,"%Function%":oAt,"%GeneratorFunction%":yH,"%Int8Array%":typeof Int8Array>"u"?bu:Int8Array,"%Int16Array%":typeof Int16Array>"u"?bu:Int16Array,"%Int32Array%":typeof Int32Array>"u"?bu:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":xH&&Ip?Ip(Ip([][Symbol.iterator]())):bu,"%JSON%":typeof JSON=="object"?JSON:bu,"%Map%":typeof Map>"u"?bu:Map,"%MapIteratorPrototype%":typeof Map>"u"||!xH||!Ip?bu:Ip(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?bu:Promise,"%Proxy%":typeof Proxy>"u"?bu:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?bu:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?bu:Set,"%SetIteratorPrototype%":typeof Set>"u"||!xH||!Ip?bu:Ip(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?bu:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":xH&&Ip?Ip(""[Symbol.iterator]()):bu,"%Symbol%":xH?Symbol:bu,"%SyntaxError%":_H,"%ThrowTypeError%":xFi,"%TypedArray%":IFi,"%TypeError%":IH,"%Uint8Array%":typeof Uint8Array>"u"?bu:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?bu:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?bu:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?bu:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?bu:WeakMap,"%WeakRef%":typeof WeakRef>"u"?bu:WeakRef,"%WeakSet%":typeof WeakSet>"u"?bu:WeakSet};if(Ip)try{null.error}catch(o){iAt=Ip(Ip(o)),Bk["%Error.prototype%"]=iAt}var iAt,_Fi=function o(A){var f;if(A==="%AsyncFunction%")f=vMe("async function () {}");else if(A==="%GeneratorFunction%")f=vMe("function* () {}");else if(A==="%AsyncGeneratorFunction%")f=vMe("async function* () {}");else if(A==="%AsyncGenerator%"){var m=o("%AsyncGeneratorFunction%");m&&(f=m.prototype)}else if(A==="%AsyncIteratorPrototype%"){var C=o("%AsyncGenerator%");C&&Ip&&(f=Ip(C.prototype))}return Bk[A]=f,f},rAt={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},KK=Ise(),_se=tAt(),vFi=KK.call(Function.call,Array.prototype.concat),BFi=KK.call(Function.apply,Array.prototype.splice),nAt=KK.call(Function.call,String.prototype.replace),vse=KK.call(Function.call,String.prototype.slice),wFi=KK.call(Function.call,RegExp.prototype.exec),bFi=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,QFi=/\\(\\)?/g,SFi=function(A){var f=vse(A,0,1),m=vse(A,-1);if(f==="%"&&m!=="%")throw new _H("invalid intrinsic syntax, expected closing `%`");if(m==="%"&&f!=="%")throw new _H("invalid intrinsic syntax, expected opening `%`");var C=[];return nAt(A,bFi,function(E,x,y,I){C[C.length]=y?nAt(I,QFi,"$1"):x||E}),C},DFi=function(A,f){var m=A,C;if(_se(rAt,m)&&(C=rAt[m],m="%"+C[0]+"%"),_se(Bk,m)){var E=Bk[m];if(E===yH&&(E=_Fi(m)),typeof E>"u"&&!f)throw new IH("intrinsic "+A+" exists, but is not available. Please file an issue!");return{alias:C,name:m,value:E}}throw new _H("intrinsic "+A+" does not exist!")};aAt.exports=function(A,f){if(typeof A!="string"||A.length===0)throw new IH("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof f!="boolean")throw new IH('"allowMissing" argument must be a boolean');if(wFi(/^%?[^%]*%?$/,A)===null)throw new _H("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var m=SFi(A),C=m.length>0?m[0]:"",E=DFi("%"+C+"%",f),x=E.name,y=E.value,I=!1,v=E.alias;v&&(C=v[0],BFi(m,vFi([0,1],v)));for(var B=1,Q=!0;B=m.length){var D=vk(y,T);Q=!!D,Q&&"get"in D&&!("originalValue"in D.get)?y=D.get:y=y[T]}else Q=_se(y,T),y=y[T];Q&&!I&&(Bk[x]=y)}}return y}});var bMe=wA((oqi,wse)=>{"use strict";var wMe=Ise(),vH=Bse(),uAt=vH("%Function.prototype.apply%"),AAt=vH("%Function.prototype.call%"),cAt=vH("%Reflect.apply%",!0)||wMe.call(AAt,uAt),sAt=vH("%Object.getOwnPropertyDescriptor%",!0),wk=vH("%Object.defineProperty%",!0),TFi=vH("%Math.max%");if(wk)try{wk({},"a",{value:1})}catch{wk=null}wse.exports=function(A){var f=cAt(wMe,AAt,arguments);if(sAt&&wk){var m=sAt(f,"length");m.configurable&&wk(f,"length",{value:1+TFi(0,A.length-(arguments.length-1))})}return f};var lAt=function(){return cAt(wMe,uAt,arguments)};wk?wk(wse.exports,"apply",{value:lAt}):wse.exports.apply=lAt});var QMe=wA((aqi,fAt)=>{"use strict";var hAt=Bse(),dAt=bMe(),MFi=dAt(hAt("String.prototype.indexOf"));fAt.exports=function(A,f){var m=hAt(A,!!f);return typeof m=="function"&&MFi(A,".prototype.")>-1?dAt(m):m}});var mAt=wA((sqi,pAt)=>{"use strict";var PFi=yse()(),RFi=QMe(),SMe=RFi("Object.prototype.toString"),bse=function(A){return PFi&&A&&typeof A=="object"&&Symbol.toStringTag in A?!1:SMe(A)==="[object Arguments]"},gAt=function(A){return bse(A)?!0:A!==null&&typeof A=="object"&&typeof A.length=="number"&&A.length>=0&&SMe(A)!=="[object Array]"&&SMe(A.callee)==="[object Function]"},LFi=function(){return bse(arguments)}();bse.isLegacyArguments=gAt;pAt.exports=LFi?bse:gAt});var xAt=wA((lqi,EAt)=>{"use strict";var FFi=Object.prototype.toString,NFi=Function.prototype.toString,kFi=/^\s*(?:function)?\*/,CAt=yse()(),DMe=Object.getPrototypeOf,OFi=function(){if(!CAt)return!1;try{return Function("return function*() {}")()}catch{}},TMe;EAt.exports=function(A){if(typeof A!="function")return!1;if(kFi.test(NFi.call(A)))return!0;if(!CAt){var f=FFi.call(A);return f==="[object GeneratorFunction]"}if(!DMe)return!1;if(typeof TMe>"u"){var m=OFi();TMe=m?DMe(m):!1}return DMe(A)===TMe}});var vAt=wA((uqi,_At)=>{"use strict";var IAt=Function.prototype.toString,BH=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply,PMe,Qse;if(typeof BH=="function"&&typeof Object.defineProperty=="function")try{PMe=Object.defineProperty({},"length",{get:function(){throw Qse}}),Qse={},BH(function(){throw 42},null,PMe)}catch(o){o!==Qse&&(BH=null)}else BH=null;var UFi=/^\s*class\b/,RMe=function(A){try{var f=IAt.call(A);return UFi.test(f)}catch{return!1}},MMe=function(A){try{return RMe(A)?!1:(IAt.call(A),!0)}catch{return!1}},Sse=Object.prototype.toString,GFi="[object Object]",HFi="[object Function]",VFi="[object GeneratorFunction]",zFi="[object HTMLAllCollection]",YFi="[object HTML document.all class]",JFi="[object HTMLCollection]",KFi=typeof Symbol=="function"&&!!Symbol.toStringTag,WFi=!(0 in[,]),LMe=function(){return!1};typeof document=="object"&&(yAt=document.all,Sse.call(yAt)===Sse.call(document.all)&&(LMe=function(A){if((WFi||!A)&&(typeof A>"u"||typeof A=="object"))try{var f=Sse.call(A);return(f===zFi||f===YFi||f===JFi||f===GFi)&&A("")==null}catch{}return!1}));var yAt;_At.exports=BH?function(A){if(LMe(A))return!0;if(!A||typeof A!="function"&&typeof A!="object")return!1;try{BH(A,null,PMe)}catch(f){if(f!==Qse)return!1}return!RMe(A)&&MMe(A)}:function(A){if(LMe(A))return!0;if(!A||typeof A!="function"&&typeof A!="object")return!1;if(KFi)return MMe(A);if(RMe(A))return!1;var f=Sse.call(A);return f!==HFi&&f!==VFi&&!/^\[object HTML/.test(f)?!1:MMe(A)}});var bAt=wA((Aqi,wAt)=>{"use strict";var jFi=vAt(),qFi=Object.prototype.toString,BAt=Object.prototype.hasOwnProperty,XFi=function(A,f,m){for(var C=0,E=A.length;C=3&&(C=m),qFi.call(A)==="[object Array]"?XFi(A,f,C):typeof A=="string"?ZFi(A,f,C):$Fi(A,f,C)};wAt.exports=eNi});var SAt=wA((cqi,QAt)=>{"use strict";var FMe=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],tNi=typeof globalThis>"u"?global:globalThis;QAt.exports=function(){for(var A=[],f=0;f{"use strict";var iNi=Bse(),Dse=iNi("%Object.getOwnPropertyDescriptor%",!0);if(Dse)try{Dse([],"length")}catch{Dse=null}DAt.exports=Dse});var GMe=wA((dqi,LAt)=>{"use strict";var Mse=bAt(),rNi=SAt(),MAt=bMe(),OMe=QMe(),Tse=TAt(),nNi=OMe("Object.prototype.toString"),RAt=yse()(),PAt=typeof globalThis>"u"?global:globalThis,kMe=rNi(),UMe=OMe("String.prototype.slice"),NMe=Object.getPrototypeOf,oNi=OMe("Array.prototype.indexOf",!0)||function(A,f){for(var m=0;m-1?f:f!=="Object"?!1:sNi(A)}return Tse?aNi(A):null}});var NAt=wA((fqi,FAt)=>{"use strict";var lNi=GMe();FAt.exports=function(A){return!!lNi(A)}});var XAt=wA(pu=>{"use strict";var uNi=mAt(),ANi=xAt(),r1=GMe(),kAt=NAt();function wH(o){return o.call.bind(o)}var OAt=typeof BigInt<"u",UAt=typeof Symbol<"u",Uv=wH(Object.prototype.toString),cNi=wH(Number.prototype.valueOf),hNi=wH(String.prototype.valueOf),dNi=wH(Boolean.prototype.valueOf);OAt&&(GAt=wH(BigInt.prototype.valueOf));var GAt;UAt&&(HAt=wH(Symbol.prototype.valueOf));var HAt;function jK(o,A){if(typeof o!="object")return!1;try{return A(o),!0}catch{return!1}}pu.isArgumentsObject=uNi;pu.isGeneratorFunction=ANi;pu.isTypedArray=kAt;function fNi(o){return typeof Promise<"u"&&o instanceof Promise||o!==null&&typeof o=="object"&&typeof o.then=="function"&&typeof o.catch=="function"}pu.isPromise=fNi;function gNi(o){return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView(o):kAt(o)||zAt(o)}pu.isArrayBufferView=gNi;function pNi(o){return r1(o)==="Uint8Array"}pu.isUint8Array=pNi;function mNi(o){return r1(o)==="Uint8ClampedArray"}pu.isUint8ClampedArray=mNi;function CNi(o){return r1(o)==="Uint16Array"}pu.isUint16Array=CNi;function ENi(o){return r1(o)==="Uint32Array"}pu.isUint32Array=ENi;function xNi(o){return r1(o)==="Int8Array"}pu.isInt8Array=xNi;function yNi(o){return r1(o)==="Int16Array"}pu.isInt16Array=yNi;function INi(o){return r1(o)==="Int32Array"}pu.isInt32Array=INi;function _Ni(o){return r1(o)==="Float32Array"}pu.isFloat32Array=_Ni;function vNi(o){return r1(o)==="Float64Array"}pu.isFloat64Array=vNi;function BNi(o){return r1(o)==="BigInt64Array"}pu.isBigInt64Array=BNi;function wNi(o){return r1(o)==="BigUint64Array"}pu.isBigUint64Array=wNi;function Rse(o){return Uv(o)==="[object Map]"}Rse.working=typeof Map<"u"&&Rse(new Map);function bNi(o){return typeof Map>"u"?!1:Rse.working?Rse(o):o instanceof Map}pu.isMap=bNi;function Lse(o){return Uv(o)==="[object Set]"}Lse.working=typeof Set<"u"&&Lse(new Set);function QNi(o){return typeof Set>"u"?!1:Lse.working?Lse(o):o instanceof Set}pu.isSet=QNi;function Fse(o){return Uv(o)==="[object WeakMap]"}Fse.working=typeof WeakMap<"u"&&Fse(new WeakMap);function SNi(o){return typeof WeakMap>"u"?!1:Fse.working?Fse(o):o instanceof WeakMap}pu.isWeakMap=SNi;function VMe(o){return Uv(o)==="[object WeakSet]"}VMe.working=typeof WeakSet<"u"&&VMe(new WeakSet);function DNi(o){return VMe(o)}pu.isWeakSet=DNi;function Nse(o){return Uv(o)==="[object ArrayBuffer]"}Nse.working=typeof ArrayBuffer<"u"&&Nse(new ArrayBuffer);function VAt(o){return typeof ArrayBuffer>"u"?!1:Nse.working?Nse(o):o instanceof ArrayBuffer}pu.isArrayBuffer=VAt;function kse(o){return Uv(o)==="[object DataView]"}kse.working=typeof ArrayBuffer<"u"&&typeof DataView<"u"&&kse(new DataView(new ArrayBuffer(1),0,1));function zAt(o){return typeof DataView>"u"?!1:kse.working?kse(o):o instanceof DataView}pu.isDataView=zAt;var HMe=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:void 0;function WK(o){return Uv(o)==="[object SharedArrayBuffer]"}function YAt(o){return typeof HMe>"u"?!1:(typeof WK.working>"u"&&(WK.working=WK(new HMe)),WK.working?WK(o):o instanceof HMe)}pu.isSharedArrayBuffer=YAt;function TNi(o){return Uv(o)==="[object AsyncFunction]"}pu.isAsyncFunction=TNi;function MNi(o){return Uv(o)==="[object Map Iterator]"}pu.isMapIterator=MNi;function PNi(o){return Uv(o)==="[object Set Iterator]"}pu.isSetIterator=PNi;function RNi(o){return Uv(o)==="[object Generator]"}pu.isGeneratorObject=RNi;function LNi(o){return Uv(o)==="[object WebAssembly.Module]"}pu.isWebAssemblyCompiledModule=LNi;function JAt(o){return jK(o,cNi)}pu.isNumberObject=JAt;function KAt(o){return jK(o,hNi)}pu.isStringObject=KAt;function WAt(o){return jK(o,dNi)}pu.isBooleanObject=WAt;function jAt(o){return OAt&&jK(o,GAt)}pu.isBigIntObject=jAt;function qAt(o){return UAt&&jK(o,HAt)}pu.isSymbolObject=qAt;function FNi(o){return JAt(o)||KAt(o)||WAt(o)||jAt(o)||qAt(o)}pu.isBoxedPrimitive=FNi;function NNi(o){return typeof Uint8Array<"u"&&(VAt(o)||YAt(o))}pu.isAnyArrayBuffer=NNi;["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(o){Object.defineProperty(pu,o,{enumerable:!1,value:function(){throw new Error(o+" is not supported in userland")}})})});var $At=wA((pqi,ZAt)=>{ZAt.exports=function(A){return A&&typeof A=="object"&&typeof A.copy=="function"&&typeof A.fill=="function"&&typeof A.readUInt8=="function"}});var ect=wA((mqi,zMe)=>{typeof Object.create=="function"?zMe.exports=function(A,f){f&&(A.super_=f,A.prototype=Object.create(f.prototype,{constructor:{value:A,enumerable:!1,writable:!0,configurable:!0}}))}:zMe.exports=function(A,f){if(f){A.super_=f;var m=function(){};m.prototype=f.prototype,A.prototype=new m,A.prototype.constructor=A}}});var act=wA(mu=>{var tct=Object.getOwnPropertyDescriptors||function(A){for(var f=Object.keys(A),m={},C=0;C=C)return y;switch(y){case"%s":return String(m[f++]);case"%d":return Number(m[f++]);case"%j":try{return JSON.stringify(m[f++])}catch{return"[Circular]"}default:return y}}),x=m[f];f"u")return function(){return mu.deprecate(o,A).apply(this,arguments)};var f=!1;function m(){if(!f){if(process.throwDeprecation)throw new Error(A);process.traceDeprecation?console.trace(A):console.error(A),f=!0}return o.apply(this,arguments)}return m};var Ose={},ict=/^$/;process.env.NODE_DEBUG&&(Use=process.env.NODE_DEBUG,Use=Use.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),ict=new RegExp("^"+Use+"$","i"));var Use;mu.debuglog=function(o){if(o=o.toUpperCase(),!Ose[o])if(ict.test(o)){var A=process.pid;Ose[o]=function(){var f=mu.format.apply(mu,arguments);console.error("%s %d: %s",o,A,f)}}else Ose[o]=function(){};return Ose[o]};function KR(o,A){var f={seen:[],stylize:UNi};return arguments.length>=3&&(f.depth=arguments[2]),arguments.length>=4&&(f.colors=arguments[3]),WMe(A)?f.showHidden=A:A&&mu._extend(f,A),Qk(f.showHidden)&&(f.showHidden=!1),Qk(f.depth)&&(f.depth=2),Qk(f.colors)&&(f.colors=!1),Qk(f.customInspect)&&(f.customInspect=!0),f.colors&&(f.stylize=ONi),Hse(f,o,f.depth)}mu.inspect=KR;KR.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};KR.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function ONi(o,A){var f=KR.styles[A];return f?"\x1B["+KR.colors[f][0]+"m"+o+"\x1B["+KR.colors[f][1]+"m":o}function UNi(o,A){return o}function GNi(o){var A={};return o.forEach(function(f,m){A[f]=!0}),A}function Hse(o,A,f){if(o.customInspect&&A&&Gse(A.inspect)&&A.inspect!==mu.inspect&&!(A.constructor&&A.constructor.prototype===A)){var m=A.inspect(f,o);return Yse(m)||(m=Hse(o,m,f)),m}var C=HNi(o,A);if(C)return C;var E=Object.keys(A),x=GNi(E);if(o.showHidden&&(E=Object.getOwnPropertyNames(A)),XK(A)&&(E.indexOf("message")>=0||E.indexOf("description")>=0))return YMe(A);if(E.length===0){if(Gse(A)){var y=A.name?": "+A.name:"";return o.stylize("[Function"+y+"]","special")}if(qK(A))return o.stylize(RegExp.prototype.toString.call(A),"regexp");if(Vse(A))return o.stylize(Date.prototype.toString.call(A),"date");if(XK(A))return YMe(A)}var I="",v=!1,B=["{","}"];if(rct(A)&&(v=!0,B=["[","]"]),Gse(A)){var Q=A.name?": "+A.name:"";I=" [Function"+Q+"]"}if(qK(A)&&(I=" "+RegExp.prototype.toString.call(A)),Vse(A)&&(I=" "+Date.prototype.toUTCString.call(A)),XK(A)&&(I=" "+YMe(A)),E.length===0&&(!v||A.length==0))return B[0]+I+B[1];if(f<0)return qK(A)?o.stylize(RegExp.prototype.toString.call(A),"regexp"):o.stylize("[Object]","special");o.seen.push(A);var T;return v?T=VNi(o,A,f,x,E):T=E.map(function(w){return KMe(o,A,f,x,w,v)}),o.seen.pop(),zNi(T,I,B)}function HNi(o,A){if(Qk(A))return o.stylize("undefined","undefined");if(Yse(A)){var f="'"+JSON.stringify(A).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return o.stylize(f,"string")}if(nct(A))return o.stylize(""+A,"number");if(WMe(A))return o.stylize(""+A,"boolean");if(zse(A))return o.stylize("null","null")}function YMe(o){return"["+Error.prototype.toString.call(o)+"]"}function VNi(o,A,f,m,C){for(var E=[],x=0,y=A.length;x-1&&(E?y=y.split(` `).map(function(v){return" "+v}).join(` `).slice(2):y=` `+y.split(` `).map(function(v){return" "+v}).join(` `))):y=o.stylize("[Circular]","special")),Qk(x)){if(E&&C.match(/^\d+$/))return y;x=JSON.stringify(""+C),x.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(x=x.slice(1,-1),x=o.stylize(x,"name")):(x=x.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),x=o.stylize(x,"string"))}return x+": "+y}function zNi(o,A,f){var m=0,C=o.reduce(function(E,x){return m++,x.indexOf(` `)>=0&&m++,E+x.replace(/\u001b\[\d\d?m/g,"").length+1},0);return C>60?f[0]+(A===""?"":A+` `)+" "+o.join(`, `)+" "+f[1]:f[0]+A+" "+o.join(", ")+" "+f[1]}mu.types=XAt();function rct(o){return Array.isArray(o)}mu.isArray=rct;function WMe(o){return typeof o=="boolean"}mu.isBoolean=WMe;function zse(o){return o===null}mu.isNull=zse;function YNi(o){return o==null}mu.isNullOrUndefined=YNi;function nct(o){return typeof o=="number"}mu.isNumber=nct;function Yse(o){return typeof o=="string"}mu.isString=Yse;function JNi(o){return typeof o=="symbol"}mu.isSymbol=JNi;function Qk(o){return o===void 0}mu.isUndefined=Qk;function qK(o){return bH(o)&&jMe(o)==="[object RegExp]"}mu.isRegExp=qK;mu.types.isRegExp=qK;function bH(o){return typeof o=="object"&&o!==null}mu.isObject=bH;function Vse(o){return bH(o)&&jMe(o)==="[object Date]"}mu.isDate=Vse;mu.types.isDate=Vse;function XK(o){return bH(o)&&(jMe(o)==="[object Error]"||o instanceof Error)}mu.isError=XK;mu.types.isNativeError=XK;function Gse(o){return typeof o=="function"}mu.isFunction=Gse;function KNi(o){return o===null||typeof o=="boolean"||typeof o=="number"||typeof o=="string"||typeof o=="symbol"||typeof o>"u"}mu.isPrimitive=KNi;mu.isBuffer=$At();function jMe(o){return Object.prototype.toString.call(o)}function JMe(o){return o<10?"0"+o.toString(10):o.toString(10)}var WNi=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function jNi(){var o=new Date,A=[JMe(o.getHours()),JMe(o.getMinutes()),JMe(o.getSeconds())].join(":");return[o.getDate(),WNi[o.getMonth()],A].join(" ")}mu.log=function(){console.log("%s - %s",jNi(),mu.format.apply(mu,arguments))};mu.inherits=ect();mu._extend=function(o,A){if(!A||!bH(A))return o;for(var f=Object.keys(A),m=f.length;m--;)o[f[m]]=A[f[m]];return o};function oct(o,A){return Object.prototype.hasOwnProperty.call(o,A)}var bk=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;mu.promisify=function(A){if(typeof A!="function")throw new TypeError('The "original" argument must be of type Function');if(bk&&A[bk]){var f=A[bk];if(typeof f!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(f,bk,{value:f,enumerable:!1,writable:!1,configurable:!0}),f}function f(){for(var m,C,E=new Promise(function(I,v){m=I,C=v}),x=[],y=0;y{var ZK=ZK||{};(function(){"use strict";var o=ZK.platform==="win32",A=act();function f(I,v){for(var B=0,Q=I.length-1;Q>=0;Q--){var T=I[Q];T==="."?I.splice(Q,1):T===".."?(I.splice(Q,1),B++):B&&(I.splice(Q,1),B--)}if(v)for(;B--;B)I.unshift("..");return I}if(o){var m=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/,C=/^([\s\S]*?)((?:\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))(?:[\\\/]*)$/,E=function(I){var v=m.exec(I),B=(v[1]||"")+(v[2]||""),Q=v[3]||"",T=C.exec(Q),w=T[1],S=T[2],D=T[3];return[B,w,S,D]},x=function(I){return"\\\\"+I.replace(/^[\\\/]+/,"").replace(/[\\\/]+/g,"\\")};xA.resolve=function(){for(var I="",v="",B=!1,Q=arguments.length-1;Q>=-1;Q--){var T;if(Q>=0?T=arguments[Q]:I?(T=ZK.env["="+I],(!T||T.substr(0,3).toLowerCase()!==I.toLowerCase()+"\\")&&(T=I+"\\")):T=ZK.cwd(),A.isString(T)){if(!T)continue}else throw new TypeError("Arguments to path.resolve must be strings");var w=m.exec(T),S=w[1]||"",D=S&&S.charAt(1)!==":",R=xA.isAbsolute(T),P=w[3];if(!(S&&I&&S.toLowerCase()!==I.toLowerCase())&&(I||(I=S),B||(v=P+"\\"+v,B=R),I&&B))break}D&&(I=x(I));function M(L){return!!L}return v=f(v.split(/[\\\/]+/).filter(M),!B).join("\\"),I+(B?"\\":"")+v||"."},xA.normalize=function(I){var v=m.exec(I),B=v[1]||"",Q=B&&B.charAt(1)!==":",T=xA.isAbsolute(I),w=v[3],S=/[\\\/]$/.test(w);return B&&B.charAt(1)===":"&&(B=B[0].toLowerCase()+B.substr(1)),w=f(w.split(/[\\\/]+/).filter(function(D){return!!D}),!T).join("\\"),!w&&!T&&(w="."),w&&S&&(w+="\\"),Q&&(B=x(B)),B+(T?"\\":"")+w},xA.isAbsolute=function(I){var v=m.exec(I),B=v[1]||"",Q=!!B&&B.charAt(1)!==":";return!!v[2]||Q},xA.join=function(){function I(Q){if(!A.isString(Q))throw new TypeError("Arguments to path.join must be strings");return Q}var v=Array.prototype.filter.call(arguments,I),B=v.join("\\");return/^[\\\/]{2}[^\\\/]/.test(v[0])||(B=B.replace(/^[\\\/]{2,}/,"\\")),xA.normalize(B)},xA.relative=function(I,v){I=xA.resolve(I),v=xA.resolve(v);var B=I.toLowerCase(),Q=v.toLowerCase();function T(F){for(var k=0;k=0&&F[N]==="";N--);return k>N?[]:F.slice(k,N+1)}for(var w=T(v.split("\\")),S=T(B.split("\\")),D=T(Q.split("\\")),R=Math.min(S.length,D.length),P=R,M=0;M=-1&&!B;Q--){var T=Q>=0?arguments[Q]:ZK.cwd();if(A.isString(T)){if(!T)continue}else throw new TypeError("Arguments to path.resolve must be strings");v=T+"/"+v,B=T.charAt(0)==="/"}return v=f(v.split("/").filter(function(w){return!!w}),!B).join("/"),(B?"/":"")+v||"."},xA.normalize=function(v){for(var B=xA.isAbsolute(v),Q=v[v.length-1]==="/",T=v.split("/"),w=[],S=0;S=0&&M[F]==="";F--);return L>F?[]:M.slice(L,F+1)}for(var T=Q(v.split("/")),w=Q(B.split("/")),S=Math.min(T.length,w.length),D=S,R=0;R{var Jse=void 0,Kse=function(o){return Jse||(Jse=new Promise(function(A,f){var m=typeof o<"u"?o:{},C=m.onAbort;m.onAbort=function($e){f(new Error($e)),C&&C($e)},m.postRun=m.postRun||[],m.postRun.push(function(){A(m)}),Sk=void 0;var E;E||(E=typeof m<"u"?m:{}),E.onRuntimeInitialized=function(){function $e(sr,vi){switch(typeof vi){case"boolean":Qp(sr,vi?1:0);break;case"number":NE(sr,vi);break;case"string":Em(sr,vi,-1,-1);break;case"object":if(vi===null)bp(sr);else if(vi.length!=null){var gr=ku(vi,uh);ry(sr,gr,vi.length,-1),Vg(gr)}else ug(sr,"Wrong API use : tried to return a value of an unknown type ("+vi+").",-1);break;default:bp(sr)}}function lt(sr,vi){for(var gr=[],Kr=0;Kr>>0),sr!=null){var vi=this.filename,gr="/",Kr=vi;if(gr&&(gr=typeof gr=="string"?gr:di(gr),Kr=vi?Ne(gr+"/"+vi):gr),vi=Lt(!0,!0),Kr=uo(Kr,(vi!==void 0?vi:438)&4095|32768,0),sr){if(typeof sr=="string"){gr=Array(sr.length);for(var xn=0,Pn=sr.length;xn($e=W($e)?new URL($e):R.normalize($e),D.readFileSync($e,lt?void 0:"utf8")),S=$e=>($e=T($e,!0),$e.buffer||($e=new Uint8Array($e)),$e),w=($e,lt,Dt,Fe=!0)=>{$e=W($e)?new URL($e):R.normalize($e),D.readFile($e,Fe?void 0:"utf8",(it,ht)=>{it?Dt(it):lt(Fe?ht.buffer:ht)})},!E.thisProgram&&1"[Emscripten Module object]"}else(I||v)&&(v?Q=self.location.href:typeof document<"u"&&document.currentScript&&(Q=document.currentScript.src),Q=Q.indexOf("blob:")!==0?Q.substr(0,Q.replace(/[?#].*/,"").lastIndexOf("/")+1):"",T=$e=>{var lt=new XMLHttpRequest;return lt.open("GET",$e,!1),lt.send(null),lt.responseText},v&&(S=$e=>{var lt=new XMLHttpRequest;return lt.open("GET",$e,!1),lt.responseType="arraybuffer",lt.send(null),new Uint8Array(lt.response)}),w=($e,lt,Dt)=>{var Fe=new XMLHttpRequest;Fe.open("GET",$e,!0),Fe.responseType="arraybuffer",Fe.onload=()=>{Fe.status==200||Fe.status==0&&Fe.response?lt(Fe.response):Dt()},Fe.onerror=Dt,Fe.send(null)});var P=E.print||console.log.bind(console),M=E.printErr||console.error.bind(console);Object.assign(E,x),x=null,E.thisProgram&&(y=E.thisProgram);var L;E.wasmBinary&&(L=E.wasmBinary),typeof WebAssembly!="object"&&ae("no native wasm support detected");var F,k=!1,N,G,J,K,X,q,ee;function ie(){var $e=F.buffer;E.HEAP8=N=new Int8Array($e),E.HEAP16=J=new Int16Array($e),E.HEAPU8=G=new Uint8Array($e),E.HEAPU16=new Uint16Array($e),E.HEAP32=K=new Int32Array($e),E.HEAPU32=X=new Uint32Array($e),E.HEAPF32=q=new Float32Array($e),E.HEAPF64=ee=new Float64Array($e)}var H=[],le=[],ue=[];function Ae(){var $e=E.preRun.shift();H.unshift($e)}var he=0,ge=null,fe=null;function ae($e){throw E.onAbort&&E.onAbort($e),$e="Aborted("+$e+")",M($e),k=!0,new WebAssembly.RuntimeError($e+". Build with -sASSERTIONS for more info.")}var U=$e=>$e.startsWith("data:application/octet-stream;base64,"),W=$e=>$e.startsWith("file://"),Y;if(Y="sql-wasm.wasm",!U(Y)){var z=Y;Y=E.locateFile?E.locateFile(z,Q):Q+z}function re($e){if($e==Y&&L)return new Uint8Array(L);if(S)return S($e);throw"both async and sync fetching of the wasm failed"}function se($e){if(!L&&(I||v)){if(typeof fetch=="function"&&!W($e))return fetch($e,{credentials:"same-origin"}).then(lt=>{if(!lt.ok)throw"failed to load wasm binary file at '"+$e+"'";return lt.arrayBuffer()}).catch(()=>re($e));if(w)return new Promise((lt,Dt)=>{w($e,Fe=>lt(new Uint8Array(Fe)),Dt)})}return Promise.resolve().then(()=>re($e))}function de($e,lt,Dt){return se($e).then(Fe=>WebAssembly.instantiate(Fe,lt)).then(Fe=>Fe).then(Dt,Fe=>{M(`failed to asynchronously prepare wasm: ${Fe}`),ae(Fe)})}function me($e,lt){var Dt=Y;L||typeof WebAssembly.instantiateStreaming!="function"||U(Dt)||W(Dt)||B||typeof fetch!="function"?de(Dt,$e,lt):fetch(Dt,{credentials:"same-origin"}).then(Fe=>WebAssembly.instantiateStreaming(Fe,$e).then(lt,function(it){return M(`wasm streaming compile failed: ${it}`),M("falling back to ArrayBuffer instantiation"),de(Dt,$e,lt)}))}var Ce,Ie,we=$e=>{for(;0<$e.length;)$e.shift()(E)};function Te($e,lt="i8"){switch(lt.endsWith("*")&&(lt="*"),lt){case"i1":return N[$e>>0];case"i8":return N[$e>>0];case"i16":return J[$e>>1];case"i32":return K[$e>>2];case"i64":ae("to do getValue(i64) use WASM_BIGINT");case"float":return q[$e>>2];case"double":return ee[$e>>3];case"*":return X[$e>>2];default:ae(`invalid type for getValue: ${lt}`)}}function Ge($e){var lt="i32";switch(lt.endsWith("*")&&(lt="*"),lt){case"i1":N[$e>>0]=0;break;case"i8":N[$e>>0]=0;break;case"i16":J[$e>>1]=0;break;case"i32":K[$e>>2]=0;break;case"i64":ae("to do setValue(i64) use WASM_BIGINT");case"float":q[$e>>2]=0;break;case"double":ee[$e>>3]=0;break;case"*":X[$e>>2]=0;break;default:ae(`invalid type for setValue: ${lt}`)}}var ke=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,Oe=($e,lt,Dt)=>{var Fe=lt+Dt;for(Dt=lt;$e[Dt]&&!(Dt>=Fe);)++Dt;if(16it?Fe+=String.fromCharCode(it):(it-=65536,Fe+=String.fromCharCode(55296|it>>10,56320|it&1023))}}else Fe+=String.fromCharCode(it)}return Fe},Le=($e,lt)=>$e?Oe(G,$e,lt):"",be=($e,lt)=>{for(var Dt=0,Fe=$e.length-1;0<=Fe;Fe--){var it=$e[Fe];it==="."?$e.splice(Fe,1):it===".."?($e.splice(Fe,1),Dt++):Dt&&($e.splice(Fe,1),Dt--)}if(lt)for(;Dt;Dt--)$e.unshift("..");return $e},Ne=$e=>{var lt=$e.charAt(0)==="/",Dt=$e.substr(-1)==="/";return($e=be($e.split("/").filter(Fe=>!!Fe),!lt).join("/"))||lt||($e="."),$e&&Dt&&($e+="/"),(lt?"/":"")+$e},Ue=$e=>{var lt=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec($e).slice(1);return $e=lt[0],lt=lt[1],!$e&&!lt?".":(lt&&(lt=lt.substr(0,lt.length-1)),$e+lt)},ze=$e=>{if($e==="/")return"/";$e=Ne($e),$e=$e.replace(/\/$/,"");var lt=$e.lastIndexOf("/");return lt===-1?$e:$e.substr(lt+1)},Je=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return Dt=>crypto.getRandomValues(Dt);if(B)try{var $e=My("crypto");if($e.randomFillSync)return Dt=>$e.randomFillSync(Dt);var lt=$e.randomBytes;return Dt=>(Dt.set(lt(Dt.byteLength)),Dt)}catch{}ae("initRandomDevice")},Xe=$e=>(Xe=Je())($e);function et(){for(var $e="",lt=!1,Dt=arguments.length-1;-1<=Dt&&!lt;Dt--){if(lt=0<=Dt?arguments[Dt]:"/",typeof lt!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!lt)return"";$e=lt+"/"+$e,lt=lt.charAt(0)==="/"}return $e=be($e.split("/").filter(Fe=>!!Fe),!lt).join("/"),(lt?"/":"")+$e||"."}var ot=[],Et=$e=>{for(var lt=0,Dt=0;Dt<$e.length;++Dt){var Fe=$e.charCodeAt(Dt);127>=Fe?lt++:2047>=Fe?lt+=2:55296<=Fe&&57343>=Fe?(lt+=4,++Dt):lt+=3}return lt},Ct=($e,lt,Dt,Fe)=>{if(!(0=Tt){var ai=$e.charCodeAt(++ht);Tt=65536+((Tt&1023)<<10)|ai&1023}if(127>=Tt){if(Dt>=Fe)break;lt[Dt++]=Tt}else{if(2047>=Tt){if(Dt+1>=Fe)break;lt[Dt++]=192|Tt>>6}else{if(65535>=Tt){if(Dt+2>=Fe)break;lt[Dt++]=224|Tt>>12}else{if(Dt+3>=Fe)break;lt[Dt++]=240|Tt>>18,lt[Dt++]=128|Tt>>12&63}lt[Dt++]=128|Tt>>6&63}lt[Dt++]=128|Tt&63}}return lt[Dt]=0,Dt-it};function ct($e,lt){var Dt=Array(Et($e)+1);return $e=Ct($e,Dt,0,Dt.length),lt&&(Dt.length=$e),Dt}var yt=[];function Qt($e,lt){yt[$e]={input:[],output:[],Xa:lt},Wi($e,Ze)}var Ze={open($e){var lt=yt[$e.node.rdev];if(!lt)throw new It(43);$e.tty=lt,$e.seekable=!1},close($e){$e.tty.Xa.fsync($e.tty)},fsync($e){$e.tty.Xa.fsync($e.tty)},read($e,lt,Dt,Fe){if(!$e.tty||!$e.tty.Xa.sb)throw new It(60);for(var it=0,ht=0;ht=lt||(lt=Math.max(lt,Dt*(1048576>Dt?2:1.125)>>>0),Dt!=0&&(lt=Math.max(lt,256)),Dt=$e.Ia,$e.Ia=new Uint8Array(lt),0<$e.Ma&&$e.Ia.set(Dt.subarray(0,$e.Ma),0))}var xt={Qa:null,Ra(){return xt.createNode(null,"/",16895,0)},createNode($e,lt,Dt,Fe){if((Dt&61440)===24576||(Dt&61440)===4096)throw new It(63);return xt.Qa||(xt.Qa={dir:{node:{Pa:xt.Ga.Pa,Oa:xt.Ga.Oa,lookup:xt.Ga.lookup,ab:xt.Ga.ab,rename:xt.Ga.rename,unlink:xt.Ga.unlink,rmdir:xt.Ga.rmdir,readdir:xt.Ga.readdir,symlink:xt.Ga.symlink},stream:{Ta:xt.Ha.Ta}},file:{node:{Pa:xt.Ga.Pa,Oa:xt.Ga.Oa},stream:{Ta:xt.Ha.Ta,read:xt.Ha.read,write:xt.Ha.write,lb:xt.Ha.lb,bb:xt.Ha.bb,cb:xt.Ha.cb}},link:{node:{Pa:xt.Ga.Pa,Oa:xt.Ga.Oa,readlink:xt.Ga.readlink},stream:{}},pb:{node:{Pa:xt.Ga.Pa,Oa:xt.Ga.Oa},stream:ti}}),Dt=Wt($e,lt,Dt,Fe),jt(Dt.mode)?(Dt.Ga=xt.Qa.dir.node,Dt.Ha=xt.Qa.dir.stream,Dt.Ia={}):(Dt.mode&61440)===32768?(Dt.Ga=xt.Qa.file.node,Dt.Ha=xt.Qa.file.stream,Dt.Ma=0,Dt.Ia=null):(Dt.mode&61440)===40960?(Dt.Ga=xt.Qa.link.node,Dt.Ha=xt.Qa.link.stream):(Dt.mode&61440)===8192&&(Dt.Ga=xt.Qa.pb.node,Dt.Ha=xt.Qa.pb.stream),Dt.timestamp=Date.now(),$e&&($e.Ia[lt]=Dt,$e.timestamp=Dt.timestamp),Dt},Lb($e){return $e.Ia?$e.Ia.subarray?$e.Ia.subarray(0,$e.Ma):new Uint8Array($e.Ia):new Uint8Array(0)},Ga:{Pa($e){var lt={};return lt.dev=($e.mode&61440)===8192?$e.id:1,lt.ino=$e.id,lt.mode=$e.mode,lt.nlink=1,lt.uid=0,lt.gid=0,lt.rdev=$e.rdev,jt($e.mode)?lt.size=4096:($e.mode&61440)===32768?lt.size=$e.Ma:($e.mode&61440)===40960?lt.size=$e.link.length:lt.size=0,lt.atime=new Date($e.timestamp),lt.mtime=new Date($e.timestamp),lt.ctime=new Date($e.timestamp),lt.zb=4096,lt.blocks=Math.ceil(lt.size/lt.zb),lt},Oa($e,lt){if(lt.mode!==void 0&&($e.mode=lt.mode),lt.timestamp!==void 0&&($e.timestamp=lt.timestamp),lt.size!==void 0&&(lt=lt.size,$e.Ma!=lt))if(lt==0)$e.Ia=null,$e.Ma=0;else{var Dt=$e.Ia;$e.Ia=new Uint8Array(lt),Dt&&$e.Ia.set(Dt.subarray(0,Math.min(lt,$e.Ma))),$e.Ma=lt}},lookup(){throw Mi[44]},ab($e,lt,Dt,Fe){return xt.createNode($e,lt,Dt,Fe)},rename($e,lt,Dt){if(jt($e.mode)){try{var Fe=Ei(lt,Dt)}catch{}if(Fe)for(var it in Fe.Ia)throw new It(55)}delete $e.parent.Ia[$e.name],$e.parent.timestamp=Date.now(),$e.name=Dt,lt.Ia[Dt]=$e,lt.timestamp=$e.parent.timestamp,$e.parent=lt},unlink($e,lt){delete $e.Ia[lt],$e.timestamp=Date.now()},rmdir($e,lt){var Dt=Ei($e,lt),Fe;for(Fe in Dt.Ia)throw new It(55);delete $e.Ia[lt],$e.timestamp=Date.now()},readdir($e){var lt=[".",".."],Dt;for(Dt in $e.Ia)$e.Ia.hasOwnProperty(Dt)&<.push(Dt);return lt},symlink($e,lt,Dt){return $e=xt.createNode($e,lt,41471,0),$e.link=Dt,$e},readlink($e){if(($e.mode&61440)!==40960)throw new It(28);return $e.link}},Ha:{read($e,lt,Dt,Fe,it){var ht=$e.node.Ia;if(it>=$e.node.Ma)return 0;if($e=Math.min($e.node.Ma-it,Fe),8<$e&&ht.subarray)lt.set(ht.subarray(it,it+$e),Dt);else for(Fe=0;Fe<$e;Fe++)lt[Dt+Fe]=ht[it+Fe];return $e},write($e,lt,Dt,Fe,it,ht){if(lt.buffer===N.buffer&&(ht=!1),!Fe)return 0;if($e=$e.node,$e.timestamp=Date.now(),lt.subarray&&(!$e.Ia||$e.Ia.subarray)){if(ht)return $e.Ia=lt.subarray(Dt,Dt+Fe),$e.Ma=Fe;if($e.Ma===0&&it===0)return $e.Ia=lt.slice(Dt,Dt+Fe),$e.Ma=Fe;if(it+Fe<=$e.Ma)return $e.Ia.set(lt.subarray(Dt,Dt+Fe),it),Fe}if(gt($e,it+Fe),$e.Ia.subarray&<.subarray)$e.Ia.set(lt.subarray(Dt,Dt+Fe),it);else for(ht=0;htlt)throw new It(28);return lt},lb($e,lt,Dt){gt($e.node,lt+Dt),$e.node.Ma=Math.max($e.node.Ma,lt+Dt)},bb($e,lt,Dt,Fe,it){if(($e.node.mode&61440)!==32768)throw new It(43);if($e=$e.node.Ia,it&2||$e.buffer!==N.buffer){if((0{var Dt=0;return $e&&(Dt|=365),lt&&(Dt|=146),Dt},nt=null,Pe={},ve=[],We=1,bt=null,Pt=!0,It=null,Mi={};function er($e,lt={}){if($e=et($e),!$e)return{path:"",node:null};if(lt=Object.assign({qb:!0,kb:0},lt),8!!Tt);for(var Dt=nt,Fe="/",it=0;it<$e.length;it++){var ht=it===$e.length-1;if(ht&<.parent)break;if(Dt=Ei(Dt,$e[it]),Fe=Ne(Fe+"/"+$e[it]),Dt.Va&&(!ht||ht&<.qb)&&(Dt=Dt.Va.root),!ht||lt.Sa){for(ht=0;(Dt.mode&61440)===40960;)if(Dt=bl(Fe),Fe=et(Ue(Fe),Dt),Dt=er(Fe,{kb:lt.kb+1}).node,40>>0)%bt.length}function Ri($e){var lt=wi($e.parent.id,$e.name);if(bt[lt]===$e)bt[lt]=$e.Wa;else for(lt=bt[lt];lt;){if(lt.Wa===$e){lt.Wa=$e.Wa;break}lt=lt.Wa}}function Ei($e,lt){var Dt;if(Dt=(Dt=mi($e,"x"))?Dt:$e.Ga.lookup?0:2)throw new It(Dt,$e);for(Dt=bt[wi($e.id,lt)];Dt;Dt=Dt.Wa){var Fe=Dt.name;if(Dt.parent.id===$e.id&&Fe===lt)return Dt}return $e.Ga.lookup($e,lt)}function Wt($e,lt,Dt,Fe){return $e=new FE($e,lt,Dt,Fe),lt=wi($e.parent.id,$e.name),$e.Wa=bt[lt],bt[lt]=$e}function jt($e){return($e&61440)===16384}function pi($e){var lt=["r","w","rw"][$e&3];return $e&512&&(lt+="w"),lt}function mi($e,lt){if(Pt)return 0;if(!lt.includes("r")||$e.mode&292){if(lt.includes("w")&&!($e.mode&146)||lt.includes("x")&&!($e.mode&73))return 2}else return 2;return 0}function Kt($e,lt){try{return Ei($e,lt),20}catch{}return mi($e,"wx")}function xi($e,lt,Dt){try{var Fe=Ei($e,lt)}catch(it){return it.Ka}if($e=mi($e,"wx"))return $e;if(Dt){if(!jt(Fe.mode))return 54;if(Fe===Fe.parent||di(Fe)==="/")return 10}else if(jt(Fe.mode))return 31;return 0}function _t(){for(var $e=0;4096>=$e;$e++)if(!ve[$e])return $e;throw new It(33)}function Mt($e){if($e=ve[$e],!$e)throw new It(8);return $e}function Ht($e,lt=-1){return Gi||(Gi=function(){this.$a={}},Gi.prototype={},Object.defineProperties(Gi.prototype,{object:{get(){return this.node},set(Dt){this.node=Dt}},flags:{get(){return this.$a.flags},set(Dt){this.$a.flags=Dt}},position:{get(){return this.$a.position},set(Dt){this.$a.position=Dt}}})),$e=Object.assign(new Gi,$e),lt==-1&&(lt=_t()),$e.fd=lt,ve[lt]=$e}var ti={open($e){$e.Ha=Pe[$e.node.rdev].Ha,$e.Ha.open&&$e.Ha.open($e)},Ta(){throw new It(70)}};function Wi($e,lt){Pe[$e]={Ha:lt}}function yi($e,lt){var Dt=lt==="/",Fe=!lt;if(Dt&&nt)throw new It(10);if(!Dt&&!Fe){var it=er(lt,{qb:!1});if(lt=it.path,it=it.node,it.Va)throw new It(10);if(!jt(it.mode))throw new It(54)}lt={type:$e,Pb:{},tb:lt,Cb:[]},$e=$e.Ra(lt),$e.Ra=lt,lt.root=$e,Dt?nt=$e:it&&(it.Va=lt,it.Ra&&it.Ra.Cb.push(lt))}function uo($e,lt,Dt){var Fe=er($e,{parent:!0}).node;if($e=ze($e),!$e||$e==="."||$e==="..")throw new It(28);var it=Kt(Fe,$e);if(it)throw new It(it);if(!Fe.Ga.ab)throw new It(63);return Fe.Ga.ab(Fe,$e,lt,Dt)}function wn($e,lt){return uo($e,(lt!==void 0?lt:511)&1023|16384,0)}function Un($e,lt,Dt){typeof Dt>"u"&&(Dt=lt,lt=438),uo($e,lt|8192,Dt)}function Ta($e,lt){if(!et($e))throw new It(44);var Dt=er(lt,{parent:!0}).node;if(!Dt)throw new It(44);lt=ze(lt);var Fe=Kt(Dt,lt);if(Fe)throw new It(Fe);if(!Dt.Ga.symlink)throw new It(63);Dt.Ga.symlink(Dt,lt,$e)}function Ma($e){var lt=er($e,{parent:!0}).node;$e=ze($e);var Dt=Ei(lt,$e),Fe=xi(lt,$e,!0);if(Fe)throw new It(Fe);if(!lt.Ga.rmdir)throw new It(63);if(Dt.Va)throw new It(10);lt.Ga.rmdir(lt,$e),Ri(Dt)}function Go($e){var lt=er($e,{parent:!0}).node;if(!lt)throw new It(44);$e=ze($e);var Dt=Ei(lt,$e),Fe=xi(lt,$e,!1);if(Fe)throw new It(Fe);if(!lt.Ga.unlink)throw new It(63);if(Dt.Va)throw new It(10);lt.Ga.unlink(lt,$e),Ri(Dt)}function bl($e){if($e=er($e).node,!$e)throw new It(44);if(!$e.Ga.readlink)throw new It(28);return et(di($e.parent),$e.Ga.readlink($e))}function nu($e,lt){if($e=er($e,{Sa:!lt}).node,!$e)throw new It(44);if(!$e.Ga.Pa)throw new It(63);return $e.Ga.Pa($e)}function yc($e){return nu($e,!0)}function Xu($e,lt){if($e=typeof $e=="string"?er($e,{Sa:!0}).node:$e,!$e.Ga.Oa)throw new It(63);$e.Ga.Oa($e,{mode:lt&4095|$e.mode&-4096,timestamp:Date.now()})}function yd($e,lt){if(0>lt)throw new It(28);if($e=typeof $e=="string"?er($e,{Sa:!0}).node:$e,!$e.Ga.Oa)throw new It(63);if(jt($e.mode))throw new It(31);if(($e.mode&61440)!==32768)throw new It(28);var Dt=mi($e,"w");if(Dt)throw new It(Dt);$e.Ga.Oa($e,{size:lt,timestamp:Date.now()})}function lh($e,lt,Dt){if($e==="")throw new It(44);if(typeof lt=="string"){var Fe={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[lt];if(typeof Fe>"u")throw Error(`Unknown file open mode: ${lt}`);lt=Fe}if(Dt=lt&64?(typeof Dt>"u"?438:Dt)&4095|32768:0,typeof $e=="object")var it=$e;else{$e=Ne($e);try{it=er($e,{Sa:!(lt&131072)}).node}catch{}}if(Fe=!1,lt&64)if(it){if(lt&128)throw new It(20)}else it=uo($e,Dt,0),Fe=!0;if(!it)throw new It(44);if((it.mode&61440)===8192&&(lt&=-513),lt&65536&&!jt(it.mode))throw new It(54);if(!Fe&&(Dt=it?(it.mode&61440)===40960?32:jt(it.mode)&&(pi(lt)!=="r"||lt&512)?31:mi(it,pi(lt)):44))throw new It(Dt);return lt&512&&!Fe&&yd(it,0),lt&=-131713,it=Ht({node:it,path:di(it),flags:lt,seekable:!0,position:0,Ha:it.Ha,Fb:[],error:!1}),it.Ha.open&&it.Ha.open(it),!E.logReadFiles||lt&1||(yr||(yr={}),$e in yr||(yr[$e]=1)),it}function ef($e){if($e.fd===null)throw new It(8);$e.hb&&($e.hb=null);try{$e.Ha.close&&$e.Ha.close($e)}catch(lt){throw lt}finally{ve[$e.fd]=null}$e.fd=null}function og($e,lt,Dt){if($e.fd===null)throw new It(8);if(!$e.seekable||!$e.Ha.Ta)throw new It(70);if(Dt!=0&&Dt!=1&&Dt!=2)throw new It(28);$e.position=$e.Ha.Ta($e,lt,Dt),$e.Fb=[]}function kA($e,lt,Dt,Fe,it){if(0>Fe||0>it)throw new It(28);if($e.fd===null)throw new It(8);if(($e.flags&2097155)===1)throw new It(8);if(jt($e.node.mode))throw new It(31);if(!$e.Ha.read)throw new It(28);var ht=typeof it<"u";if(!ht)it=$e.position;else if(!$e.seekable)throw new It(70);return lt=$e.Ha.read($e,lt,Dt,Fe,it),ht||($e.position+=lt),lt}function S0($e,lt,Dt,Fe,it){if(0>Fe||0>it)throw new It(28);if($e.fd===null)throw new It(8);if(($e.flags&2097155)===0)throw new It(8);if(jt($e.node.mode))throw new It(31);if(!$e.Ha.write)throw new It(28);$e.seekable&&$e.flags&1024&&og($e,0,2);var ht=typeof it<"u";if(!ht)it=$e.position;else if(!$e.seekable)throw new It(70);return lt=$e.Ha.write($e,lt,Dt,Fe,it,void 0),ht||($e.position+=lt),lt}function Id($e){var lt="binary";if(lt!=="utf8"&<!=="binary")throw Error(`Invalid encoding type "${lt}"`);var Dt,Fe=lh($e,Fe||0);$e=nu($e).size;var it=new Uint8Array($e);return kA(Fe,it,0,$e,0),lt==="utf8"?Dt=Oe(it,0):lt==="binary"&&(Dt=it),ef(Fe),Dt}function Su(){It||(It=function($e,lt){this.name="ErrnoError",this.node=lt,this.Eb=function(Dt){this.Ka=Dt},this.Eb($e),this.message="FS error"},It.prototype=Error(),It.prototype.constructor=It,[44].forEach($e=>{Mi[$e]=new It($e),Mi[$e].stack=""}))}var Df;function _d($e,lt,Dt){$e=Ne("/dev/"+$e);var Fe=Lt(!!lt,!!Dt);$h||($h=64);var it=$h++<<8|0;Wi(it,{open(ht){ht.seekable=!1},close(){Dt&&Dt.buffer&&Dt.buffer.length&&Dt(10)},read(ht,Tt,ai,Ii){for(var Ji=0,xr=0;xr>2]=Fe.dev,K[Dt+4>>2]=Fe.mode,X[Dt+8>>2]=Fe.nlink,K[Dt+12>>2]=Fe.uid,K[Dt+16>>2]=Fe.gid,K[Dt+20>>2]=Fe.rdev,Ie=[Fe.size>>>0,(Ce=Fe.size,1<=+Math.abs(Ce)?0>>0:~~+Math.ceil((Ce-+(~~Ce>>>0))/4294967296)>>>0:0)],K[Dt+24>>2]=Ie[0],K[Dt+28>>2]=Ie[1],K[Dt+32>>2]=4096,K[Dt+36>>2]=Fe.blocks,$e=Fe.atime.getTime(),lt=Fe.mtime.getTime();var it=Fe.ctime.getTime();return Ie=[Math.floor($e/1e3)>>>0,(Ce=Math.floor($e/1e3),1<=+Math.abs(Ce)?0>>0:~~+Math.ceil((Ce-+(~~Ce>>>0))/4294967296)>>>0:0)],K[Dt+40>>2]=Ie[0],K[Dt+44>>2]=Ie[1],X[Dt+48>>2]=$e%1e3*1e3,Ie=[Math.floor(lt/1e3)>>>0,(Ce=Math.floor(lt/1e3),1<=+Math.abs(Ce)?0>>0:~~+Math.ceil((Ce-+(~~Ce>>>0))/4294967296)>>>0:0)],K[Dt+56>>2]=Ie[0],K[Dt+60>>2]=Ie[1],X[Dt+64>>2]=lt%1e3*1e3,Ie=[Math.floor(it/1e3)>>>0,(Ce=Math.floor(it/1e3),1<=+Math.abs(Ce)?0>>0:~~+Math.ceil((Ce-+(~~Ce>>>0))/4294967296)>>>0:0)],K[Dt+72>>2]=Ie[0],K[Dt+76>>2]=Ie[1],X[Dt+80>>2]=it%1e3*1e3,Ie=[Fe.ino>>>0,(Ce=Fe.ino,1<=+Math.abs(Ce)?0>>0:~~+Math.ceil((Ce-+(~~Ce>>>0))/4294967296)>>>0:0)],K[Dt+88>>2]=Ie[0],K[Dt+92>>2]=Ie[1],0}var Or=void 0;function Cn(){var $e=K[+Or>>2];return Or+=4,$e}var Mn=($e,lt)=>lt+2097152>>>0<4194305-!!$e?($e>>>0)+4294967296*lt:NaN,tn=[0,31,60,91,121,152,182,213,244,274,305,335],fo=[0,31,59,90,120,151,181,212,243,273,304,334],bo=$e=>{var lt=Et($e)+1,Dt=wp(lt);return Dt&&Ct($e,G,Dt,lt),Dt},_a={},xl=()=>{if(!Mo){var $e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:y||"./this.program"},lt;for(lt in _a)_a[lt]===void 0?delete $e[lt]:$e[lt]=_a[lt];var Dt=[];for(lt in $e)Dt.push(`${lt}=${$e[lt]}`);Mo=Dt}return Mo},Mo,Wl=$e=>{var lt=Et($e)+1,Dt=Ni(lt);return Ct($e,G,Dt,lt),Dt},Ss=($e,lt,Dt,Fe)=>{var it={string:Ji=>{var xr=0;return Ji!=null&&Ji!==0&&(xr=Wl(Ji)),xr},array:Ji=>{var xr=Ni(Ji.length);return N.set(Ji,xr),xr}};$e=E["_"+$e];var ht=[],Tt=0;if(Fe)for(var ai=0;ai(lt=lt==1?Ni($e.length):wp($e.length),$e.subarray||$e.slice||($e=new Uint8Array($e)),G.set($e,lt),lt),Ic,_c=[],Cu,Tf=$e=>{Ic.delete(Cu.get($e)),Cu.set($e,null),_c.push($e)},ag=($e,lt)=>{if(!Ic){Ic=new WeakMap;var Dt=Cu.length;if(Ic)for(var Fe=0;Fe<0+Dt;Fe++){var it=Cu.get(Fe);it&&Ic.set(it,Fe)}}if(Dt=Ic.get($e)||0)return Dt;if(_c.length)Dt=_c.pop();else{try{Cu.grow(1)}catch(ai){throw ai instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":ai}Dt=Cu.length-1}try{Cu.set(Dt,$e)}catch(ai){if(!(ai instanceof TypeError))throw ai;if(typeof WebAssembly.Function=="function"){Fe=WebAssembly.Function,it={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};for(var ht={parameters:[],results:lt[0]=="v"?[]:[it[lt[0]]]},Tt=1;TtTt?Fe.push(Tt):Fe.push(Tt%128|128,Tt>>7),Tt=0;Ttit?lt.push(it):lt.push(it%128|128,it>>7),lt.push.apply(lt,Fe),lt.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),lt=new WebAssembly.Module(new Uint8Array(lt)),lt=new WebAssembly.Instance(lt,{e:{f:$e}}).exports.f}Cu.set(Dt,lt)}return Ic.set($e,Dt),Dt};function FE($e,lt,Dt,Fe){$e||($e=this),this.parent=$e,this.Ra=$e.Ra,this.Va=null,this.id=We++,this.name=lt,this.mode=Dt,this.Ga={},this.Ha={},this.rdev=Fe}Object.defineProperties(FE.prototype,{read:{get:function(){return(this.mode&365)===365},set:function($e){$e?this.mode|=365:this.mode&=-366}},write:{get:function(){return(this.mode&146)===146},set:function($e){$e?this.mode|=146:this.mode&=-147}}}),Su(),bt=Array(4096),yi(xt,"/"),wn("/tmp"),wn("/home"),wn("/home/web_user"),function(){wn("/dev"),Wi(259,{read:()=>0,write:(Fe,it,ht,Tt)=>Tt}),Un("/dev/null",259),Qt(1280,ut),Qt(1536,St),Un("/dev/tty",1280),Un("/dev/tty1",1536);var $e=new Uint8Array(1024),lt=0,Dt=()=>(lt===0&&(lt=Xe($e).byteLength),$e[--lt]);_d("random",Dt),_d("urandom",Dt),wn("/dev/shm"),wn("/dev/shm/tmp")}(),function(){wn("/proc");var $e=wn("/proc/self");wn("/proc/self/fd"),yi({Ra(){var lt=Wt($e,"fd",16895,73);return lt.Ga={lookup(Dt,Fe){var it=Mt(+Fe);return Dt={parent:null,Ra:{tb:"fake"},Ga:{readlink:()=>it.path}},Dt.parent=Dt}},lt}},"/proc/self/fd")}();var Bp={a:($e,lt,Dt,Fe)=>{ae(`Assertion failed: ${$e?Oe(G,$e):""}, at: `+[lt?lt?Oe(G,lt):"":"unknown filename",Dt,Fe?Fe?Oe(G,Fe):"":"unknown function"])},h:function($e,lt){try{return $e=$e?Oe(G,$e):"",Xu($e,lt),0}catch(Dt){if(typeof ci>"u"||Dt.name!=="ErrnoError")throw Dt;return-Dt.Ka}},H:function($e,lt,Dt){try{if(lt=lt?Oe(G,lt):"",lt=Yr($e,lt),Dt&-8)return-28;var Fe=er(lt,{Sa:!0}).node;return Fe?($e="",Dt&4&&($e+="r"),Dt&2&&($e+="w"),Dt&1&&($e+="x"),$e&&mi(Fe,$e)?-2:0):-44}catch(it){if(typeof ci>"u"||it.name!=="ErrnoError")throw it;return-it.Ka}},i:function($e,lt){try{var Dt=Mt($e);return Xu(Dt.node,lt),0}catch(Fe){if(typeof ci>"u"||Fe.name!=="ErrnoError")throw Fe;return-Fe.Ka}},g:function($e){try{var lt=Mt($e).node,Dt=typeof lt=="string"?er(lt,{Sa:!0}).node:lt;if(!Dt.Ga.Oa)throw new It(63);return Dt.Ga.Oa(Dt,{timestamp:Date.now()}),0}catch(Fe){if(typeof ci>"u"||Fe.name!=="ErrnoError")throw Fe;return-Fe.Ka}},b:function($e,lt,Dt){Or=Dt;try{var Fe=Mt($e);switch(lt){case 0:var it=Cn();if(0>it)return-28;for(;ve[it];)it++;return Ht(Fe,it).fd;case 1:case 2:return 0;case 3:return Fe.flags;case 4:return it=Cn(),Fe.flags|=it,0;case 5:return it=Cn(),J[it+0>>1]=2,0;case 6:case 7:return 0;case 16:case 8:return-28;case 9:return K[IA()>>2]=28,-1;default:return-28}}catch(ht){if(typeof ci>"u"||ht.name!=="ErrnoError")throw ht;return-ht.Ka}},f:function($e,lt){try{var Dt=Mt($e);return en(nu,Dt.path,lt)}catch(Fe){if(typeof ci>"u"||Fe.name!=="ErrnoError")throw Fe;return-Fe.Ka}},n:function($e,lt,Dt){lt=Mn(lt,Dt);try{if(isNaN(lt))return 61;var Fe=Mt($e);if((Fe.flags&2097155)===0)throw new It(28);return yd(Fe.node,lt),0}catch(it){if(typeof ci>"u"||it.name!=="ErrnoError")throw it;return-it.Ka}},C:function($e,lt){try{if(lt===0)return-28;var Dt=Et("/")+1;return lt"u"||Fe.name!=="ErrnoError")throw Fe;return-Fe.Ka}},F:function($e,lt){try{return $e=$e?Oe(G,$e):"",en(yc,$e,lt)}catch(Dt){if(typeof ci>"u"||Dt.name!=="ErrnoError")throw Dt;return-Dt.Ka}},z:function($e,lt,Dt){try{return lt=lt?Oe(G,lt):"",lt=Yr($e,lt),lt=Ne(lt),lt[lt.length-1]==="/"&&(lt=lt.substr(0,lt.length-1)),wn(lt,Dt),0}catch(Fe){if(typeof ci>"u"||Fe.name!=="ErrnoError")throw Fe;return-Fe.Ka}},E:function($e,lt,Dt,Fe){try{lt=lt?Oe(G,lt):"";var it=Fe&256;return lt=Yr($e,lt,Fe&4096),en(it?yc:nu,lt,Dt)}catch(ht){if(typeof ci>"u"||ht.name!=="ErrnoError")throw ht;return-ht.Ka}},y:function($e,lt,Dt,Fe){Or=Fe;try{lt=lt?Oe(G,lt):"",lt=Yr($e,lt);var it=Fe?Cn():0;return lh(lt,Dt,it).fd}catch(ht){if(typeof ci>"u"||ht.name!=="ErrnoError")throw ht;return-ht.Ka}},w:function($e,lt,Dt,Fe){try{if(lt=lt?Oe(G,lt):"",lt=Yr($e,lt),0>=Fe)return-28;var it=bl(lt),ht=Math.min(Fe,Et(it)),Tt=N[Dt+ht];return Ct(it,G,Dt,Fe+1),N[Dt+ht]=Tt,ht}catch(ai){if(typeof ci>"u"||ai.name!=="ErrnoError")throw ai;return-ai.Ka}},v:function($e){try{return $e=$e?Oe(G,$e):"",Ma($e),0}catch(lt){if(typeof ci>"u"||lt.name!=="ErrnoError")throw lt;return-lt.Ka}},G:function($e,lt){try{return $e=$e?Oe(G,$e):"",en(nu,$e,lt)}catch(Dt){if(typeof ci>"u"||Dt.name!=="ErrnoError")throw Dt;return-Dt.Ka}},r:function($e,lt,Dt){try{return lt=lt?Oe(G,lt):"",lt=Yr($e,lt),Dt===0?Go(lt):Dt===512?Ma(lt):ae("Invalid flags passed to unlinkat"),0}catch(Fe){if(typeof ci>"u"||Fe.name!=="ErrnoError")throw Fe;return-Fe.Ka}},q:function($e,lt,Dt){try{if(lt=lt?Oe(G,lt):"",lt=Yr($e,lt,!0),Dt){var Fe=X[Dt>>2]+4294967296*K[Dt+4>>2],it=K[Dt+8>>2];ht=1e3*Fe+it/1e6,Dt+=16,Fe=X[Dt>>2]+4294967296*K[Dt+4>>2],it=K[Dt+8>>2],Tt=1e3*Fe+it/1e6}else var ht=Date.now(),Tt=ht;$e=ht;var ai=er(lt,{Sa:!0}).node;return ai.Ga.Oa(ai,{timestamp:Math.max($e,Tt)}),0}catch(Ii){if(typeof ci>"u"||Ii.name!=="ErrnoError")throw Ii;return-Ii.Ka}},l:function($e,lt,Dt){$e=new Date(1e3*Mn($e,lt)),K[Dt>>2]=$e.getSeconds(),K[Dt+4>>2]=$e.getMinutes(),K[Dt+8>>2]=$e.getHours(),K[Dt+12>>2]=$e.getDate(),K[Dt+16>>2]=$e.getMonth(),K[Dt+20>>2]=$e.getFullYear()-1900,K[Dt+24>>2]=$e.getDay(),lt=$e.getFullYear(),K[Dt+28>>2]=(lt%4!==0||lt%100===0&<%400!==0?fo:tn)[$e.getMonth()]+$e.getDate()-1|0,K[Dt+36>>2]=-(60*$e.getTimezoneOffset()),lt=new Date($e.getFullYear(),6,1).getTimezoneOffset();var Fe=new Date($e.getFullYear(),0,1).getTimezoneOffset();K[Dt+32>>2]=(lt!=Fe&&$e.getTimezoneOffset()==Math.min(Fe,lt))|0},j:function($e,lt,Dt,Fe,it,ht,Tt,ai){it=Mn(it,ht);try{if(isNaN(it))return 61;var Ii=Mt(Fe);if((lt&2)!==0&&(Dt&2)===0&&(Ii.flags&2097155)!==2)throw new It(2);if((Ii.flags&2097155)===1)throw new It(2);if(!Ii.Ha.bb)throw new It(43);var Ji=Ii.Ha.bb(Ii,$e,it,lt,Dt),xr=Ji.Db;return K[Tt>>2]=Ji.ub,X[ai>>2]=xr,0}catch($n){if(typeof ci>"u"||$n.name!=="ErrnoError")throw $n;return-$n.Ka}},k:function($e,lt,Dt,Fe,it,ht,Tt){ht=Mn(ht,Tt);try{if(isNaN(ht))return 61;var ai=Mt(it);if(Dt&2){if((ai.node.mode&61440)!==32768)throw new It(43);if(!(Fe&2)){var Ii=G.slice($e,$e+lt);ai.Ha.cb&&ai.Ha.cb(ai,Ii,ht,lt,Fe)}}}catch(Ji){if(typeof ci>"u"||Ji.name!=="ErrnoError")throw Ji;return-Ji.Ka}},s:($e,lt,Dt)=>{function Fe(Ii){return(Ii=Ii.toTimeString().match(/\(([A-Za-z ]+)\)$/))?Ii[1]:"GMT"}var it=new Date().getFullYear(),ht=new Date(it,0,1),Tt=new Date(it,6,1);it=ht.getTimezoneOffset();var ai=Tt.getTimezoneOffset();X[$e>>2]=60*Math.max(it,ai),K[lt>>2]=Number(it!=ai),$e=Fe(ht),lt=Fe(Tt),$e=bo($e),lt=bo(lt),ai>2]=$e,X[Dt+4>>2]=lt):(X[Dt>>2]=lt,X[Dt+4>>2]=$e)},d:()=>Date.now(),t:()=>2147483648,c:()=>performance.now(),o:$e=>{var lt=G.length;if($e>>>=0,2147483648<$e)return!1;for(var Dt=1;4>=Dt;Dt*=2){var Fe=lt*(1+.2/Dt);Fe=Math.min(Fe,$e+100663296);var it=Math;Fe=Math.max($e,Fe);e:{it=(it.min.call(it,2147483648,Fe+(65536-Fe%65536)%65536)-F.buffer.byteLength+65535)/65536;try{F.grow(it),ie();var ht=1;break e}catch{}ht=void 0}if(ht)return!0}return!1},A:($e,lt)=>{var Dt=0;return xl().forEach((Fe,it)=>{var ht=lt+Dt;for(it=X[$e+4*it>>2]=ht,ht=0;ht>0]=Fe.charCodeAt(ht);N[it>>0]=0,Dt+=Fe.length+1}),0},B:($e,lt)=>{var Dt=xl();X[$e>>2]=Dt.length;var Fe=0;return Dt.forEach(it=>Fe+=it.length+1),X[lt>>2]=Fe,0},e:function($e){try{var lt=Mt($e);return ef(lt),0}catch(Dt){if(typeof ci>"u"||Dt.name!=="ErrnoError")throw Dt;return Dt.Ka}},p:function($e,lt){try{var Dt=Mt($e);return N[lt>>0]=Dt.tty?2:jt(Dt.mode)?3:(Dt.mode&61440)===40960?7:4,J[lt+2>>1]=0,Ie=[0,(Ce=0,1<=+Math.abs(Ce)?0>>0:~~+Math.ceil((Ce-+(~~Ce>>>0))/4294967296)>>>0:0)],K[lt+8>>2]=Ie[0],K[lt+12>>2]=Ie[1],Ie=[0,(Ce=0,1<=+Math.abs(Ce)?0>>0:~~+Math.ceil((Ce-+(~~Ce>>>0))/4294967296)>>>0:0)],K[lt+16>>2]=Ie[0],K[lt+20>>2]=Ie[1],0}catch(Fe){if(typeof ci>"u"||Fe.name!=="ErrnoError")throw Fe;return Fe.Ka}},x:function($e,lt,Dt,Fe){try{e:{var it=Mt($e);$e=lt;for(var ht,Tt=lt=0;Tt>2],Ii=X[$e+4>>2];$e+=8;var Ji=kA(it,N,ai,Ii,ht);if(0>Ji){var xr=-1;break e}if(lt+=Ji,Ji>2]=xr,0}catch($n){if(typeof ci>"u"||$n.name!=="ErrnoError")throw $n;return $n.Ka}},m:function($e,lt,Dt,Fe,it){lt=Mn(lt,Dt);try{if(isNaN(lt))return 61;var ht=Mt($e);return og(ht,lt,Fe),Ie=[ht.position>>>0,(Ce=ht.position,1<=+Math.abs(Ce)?0>>0:~~+Math.ceil((Ce-+(~~Ce>>>0))/4294967296)>>>0:0)],K[it>>2]=Ie[0],K[it+4>>2]=Ie[1],ht.hb&<===0&&Fe===0&&(ht.hb=null),0}catch(Tt){if(typeof ci>"u"||Tt.name!=="ErrnoError")throw Tt;return Tt.Ka}},D:function($e){try{var lt=Mt($e);return lt.Ha&<.Ha.fsync?lt.Ha.fsync(lt):0}catch(Dt){if(typeof ci>"u"||Dt.name!=="ErrnoError")throw Dt;return Dt.Ka}},u:function($e,lt,Dt,Fe){try{e:{var it=Mt($e);$e=lt;for(var ht,Tt=lt=0;Tt>2],Ii=X[$e+4>>2];$e+=8;var Ji=S0(it,N,ai,Ii,ht);if(0>Ji){var xr=-1;break e}lt+=Ji,typeof ht<"u"&&(ht+=Ji)}xr=lt}return X[Fe>>2]=xr,0}catch($n){if(typeof ci>"u"||$n.name!=="ErrnoError")throw $n;return $n.Ka}}},Fo=function(){function $e(Dt){return Fo=Dt.exports,F=Fo.I,ie(),Cu=Fo.Aa,le.unshift(Fo.J),he--,E.monitorRunDependencies&&E.monitorRunDependencies(he),he==0&&(ge!==null&&(clearInterval(ge),ge=null),fe&&(Dt=fe,fe=null,Dt())),Fo}var lt={a:Bp};if(he++,E.monitorRunDependencies&&E.monitorRunDependencies(he),E.instantiateWasm)try{return E.instantiateWasm(lt,$e)}catch(Dt){return M(`Module.instantiateWasm callback failed with error: ${Dt}`),!1}return me(lt,function(Dt){$e(Dt.instance)}),{}}();E._sqlite3_free=$e=>(E._sqlite3_free=Fo.K)($e),E._sqlite3_value_text=$e=>(E._sqlite3_value_text=Fo.L)($e);var IA=()=>(IA=Fo.M)();E._sqlite3_prepare_v2=($e,lt,Dt,Fe,it)=>(E._sqlite3_prepare_v2=Fo.N)($e,lt,Dt,Fe,it),E._sqlite3_step=$e=>(E._sqlite3_step=Fo.O)($e),E._sqlite3_finalize=$e=>(E._sqlite3_finalize=Fo.P)($e),E._sqlite3_reset=$e=>(E._sqlite3_reset=Fo.Q)($e),E._sqlite3_clear_bindings=$e=>(E._sqlite3_clear_bindings=Fo.R)($e),E._sqlite3_value_blob=$e=>(E._sqlite3_value_blob=Fo.S)($e),E._sqlite3_value_bytes=$e=>(E._sqlite3_value_bytes=Fo.T)($e),E._sqlite3_value_double=$e=>(E._sqlite3_value_double=Fo.U)($e),E._sqlite3_value_int=$e=>(E._sqlite3_value_int=Fo.V)($e),E._sqlite3_value_type=$e=>(E._sqlite3_value_type=Fo.W)($e),E._sqlite3_result_blob=($e,lt,Dt,Fe)=>(E._sqlite3_result_blob=Fo.X)($e,lt,Dt,Fe),E._sqlite3_result_double=($e,lt)=>(E._sqlite3_result_double=Fo.Y)($e,lt),E._sqlite3_result_error=($e,lt,Dt)=>(E._sqlite3_result_error=Fo.Z)($e,lt,Dt),E._sqlite3_result_int=($e,lt)=>(E._sqlite3_result_int=Fo._)($e,lt),E._sqlite3_result_int64=($e,lt,Dt)=>(E._sqlite3_result_int64=Fo.$)($e,lt,Dt),E._sqlite3_result_null=$e=>(E._sqlite3_result_null=Fo.aa)($e),E._sqlite3_result_text=($e,lt,Dt,Fe)=>(E._sqlite3_result_text=Fo.ba)($e,lt,Dt,Fe),E._sqlite3_aggregate_context=($e,lt)=>(E._sqlite3_aggregate_context=Fo.ca)($e,lt),E._sqlite3_column_count=$e=>(E._sqlite3_column_count=Fo.da)($e),E._sqlite3_data_count=$e=>(E._sqlite3_data_count=Fo.ea)($e),E._sqlite3_column_blob=($e,lt)=>(E._sqlite3_column_blob=Fo.fa)($e,lt),E._sqlite3_column_bytes=($e,lt)=>(E._sqlite3_column_bytes=Fo.ga)($e,lt),E._sqlite3_column_double=($e,lt)=>(E._sqlite3_column_double=Fo.ha)($e,lt),E._sqlite3_column_text=($e,lt)=>(E._sqlite3_column_text=Fo.ia)($e,lt),E._sqlite3_column_type=($e,lt)=>(E._sqlite3_column_type=Fo.ja)($e,lt),E._sqlite3_column_name=($e,lt)=>(E._sqlite3_column_name=Fo.ka)($e,lt),E._sqlite3_bind_blob=($e,lt,Dt,Fe,it)=>(E._sqlite3_bind_blob=Fo.la)($e,lt,Dt,Fe,it),E._sqlite3_bind_double=($e,lt,Dt)=>(E._sqlite3_bind_double=Fo.ma)($e,lt,Dt),E._sqlite3_bind_int=($e,lt,Dt)=>(E._sqlite3_bind_int=Fo.na)($e,lt,Dt),E._sqlite3_bind_text=($e,lt,Dt,Fe,it)=>(E._sqlite3_bind_text=Fo.oa)($e,lt,Dt,Fe,it),E._sqlite3_bind_parameter_index=($e,lt)=>(E._sqlite3_bind_parameter_index=Fo.pa)($e,lt),E._sqlite3_sql=$e=>(E._sqlite3_sql=Fo.qa)($e),E._sqlite3_normalized_sql=$e=>(E._sqlite3_normalized_sql=Fo.ra)($e),E._sqlite3_errmsg=$e=>(E._sqlite3_errmsg=Fo.sa)($e),E._sqlite3_exec=($e,lt,Dt,Fe,it)=>(E._sqlite3_exec=Fo.ta)($e,lt,Dt,Fe,it),E._sqlite3_changes=$e=>(E._sqlite3_changes=Fo.ua)($e),E._sqlite3_close_v2=$e=>(E._sqlite3_close_v2=Fo.va)($e),E._sqlite3_create_function_v2=($e,lt,Dt,Fe,it,ht,Tt,ai,Ii)=>(E._sqlite3_create_function_v2=Fo.wa)($e,lt,Dt,Fe,it,ht,Tt,ai,Ii),E._sqlite3_open=($e,lt)=>(E._sqlite3_open=Fo.xa)($e,lt);var wp=E._malloc=$e=>(wp=E._malloc=Fo.ya)($e),Vg=E._free=$e=>(Vg=E._free=Fo.za)($e);E._RegisterExtensionFunctions=$e=>(E._RegisterExtensionFunctions=Fo.Ba)($e);var sg=($e,lt)=>(sg=Fo.Ca)($e,lt),lg=()=>(lg=Fo.Da)(),D0=$e=>(D0=Fo.Ea)($e),Ni=$e=>(Ni=Fo.Fa)($e);E.stackAlloc=Ni,E.stackSave=lg,E.stackRestore=D0,E.cwrap=($e,lt,Dt,Fe)=>{var it=!Dt||Dt.every(ht=>ht==="number"||ht==="boolean");return lt!=="string"&&it&&!Fe?E["_"+$e]:function(){return Ss($e,lt,Dt,arguments)}},E.addFunction=ag,E.removeFunction=Tf,E.UTF8ToString=Le,E.ALLOC_NORMAL=uh,E.allocate=ku,E.allocateUTF8OnStack=Wl;var qn;fe=function $e(){qn||bn(),qn||(fe=$e)};function bn(){function $e(){if(!qn&&(qn=!0,E.calledRun=!0,!k)){if(E.noFSInit||Df||(Df=!0,Su(),E.stdin=E.stdin,E.stdout=E.stdout,E.stderr=E.stderr,E.stdin?_d("stdin",E.stdin):Ta("/dev/tty","/dev/stdin"),E.stdout?_d("stdout",null,E.stdout):Ta("/dev/tty","/dev/stdout"),E.stderr?_d("stderr",null,E.stderr):Ta("/dev/tty1","/dev/stderr"),lh("/dev/stdin",0),lh("/dev/stdout",1),lh("/dev/stderr",1)),Pt=!1,we(le),E.onRuntimeInitialized&&E.onRuntimeInitialized(),E.postRun)for(typeof E.postRun=="function"&&(E.postRun=[E.postRun]);E.postRun.length;){var lt=E.postRun.shift();ue.unshift(lt)}we(ue)}}if(!(0{/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */o2e.read=function(o,A,f,m,C){var E,x,y=C*8-m-1,I=(1<>1,B=-7,Q=f?C-1:0,T=f?-1:1,w=o[A+Q];for(Q+=T,E=w&(1<<-B)-1,w>>=-B,B+=y;B>0;E=E*256+o[A+Q],Q+=T,B-=8);for(x=E&(1<<-B)-1,E>>=-B,B+=m;B>0;x=x*256+o[A+Q],Q+=T,B-=8);if(E===0)E=1-v;else{if(E===I)return x?NaN:(w?-1:1)*(1/0);x=x+Math.pow(2,m),E=E-v}return(w?-1:1)*x*Math.pow(2,E-m)};o2e.write=function(o,A,f,m,C,E){var x,y,I,v=E*8-C-1,B=(1<>1,T=C===23?Math.pow(2,-24)-Math.pow(2,-77):0,w=m?0:E-1,S=m?1:-1,D=A<0||A===0&&1/A<0?1:0;for(A=Math.abs(A),isNaN(A)||A===1/0?(y=isNaN(A)?1:0,x=B):(x=Math.floor(Math.log(A)/Math.LN2),A*(I=Math.pow(2,-x))<1&&(x--,I*=2),x+Q>=1?A+=T/I:A+=T*Math.pow(2,1-Q),A*I>=2&&(x++,I/=2),x+Q>=B?(y=0,x=B):x+Q>=1?(y=(A*I-1)*Math.pow(2,C),x=x+Q):(y=A*Math.pow(2,Q-1)*Math.pow(2,C),x=0));C>=8;o[f+w]=y&255,w+=S,y/=256,C-=8);for(x=x<0;o[f+w]=x&255,w+=S,x/=256,v-=8);o[f+w-S]|=D*128}});var vct=wA((gXi,_ct)=>{"use strict";_ct.exports=NA;var $se=Cct();function NA(o){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(o)?o:new Uint8Array(o||0),this.pos=0,this.type=0,this.length=this.buf.length}NA.Varint=0;NA.Fixed64=1;NA.Bytes=2;NA.Fixed32=5;var a2e=(1<<16)*(1<<16),Ect=1/a2e,b3i=12,Ict=typeof TextDecoder>"u"?null:new TextDecoder("utf8");NA.prototype={destroy:function(){this.buf=null},readFields:function(o,A,f){for(f=f||this.length;this.pos>3,E=this.pos;this.type=m&7,o(C,A,this),this.pos===E&&this.skip(m)}return A},readMessage:function(o,A){return this.readFields(o,A,this.readVarint()+this.pos)},readFixed32:function(){var o=ele(this.buf,this.pos);return this.pos+=4,o},readSFixed32:function(){var o=yct(this.buf,this.pos);return this.pos+=4,o},readFixed64:function(){var o=ele(this.buf,this.pos)+ele(this.buf,this.pos+4)*a2e;return this.pos+=8,o},readSFixed64:function(){var o=ele(this.buf,this.pos)+yct(this.buf,this.pos+4)*a2e;return this.pos+=8,o},readFloat:function(){var o=$se.read(this.buf,this.pos,!0,23,4);return this.pos+=4,o},readDouble:function(){var o=$se.read(this.buf,this.pos,!0,52,8);return this.pos+=8,o},readVarint:function(o){var A=this.buf,f,m;return m=A[this.pos++],f=m&127,m<128||(m=A[this.pos++],f|=(m&127)<<7,m<128)||(m=A[this.pos++],f|=(m&127)<<14,m<128)||(m=A[this.pos++],f|=(m&127)<<21,m<128)?f:(m=A[this.pos],f|=(m&15)<<28,Q3i(f,o,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var o=this.readVarint();return o%2===1?(o+1)/-2:o/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var o=this.readVarint()+this.pos,A=this.pos;return this.pos=o,o-A>=b3i&&Ict?H3i(this.buf,A,o):G3i(this.buf,A,o)},readBytes:function(){var o=this.readVarint()+this.pos,A=this.buf.subarray(this.pos,o);return this.pos=o,A},readPackedVarint:function(o,A){if(this.type!==NA.Bytes)return o.push(this.readVarint(A));var f=ZT(this);for(o=o||[];this.pos127;);else if(A===NA.Bytes)this.pos=this.readVarint()+this.pos;else if(A===NA.Fixed32)this.pos+=4;else if(A===NA.Fixed64)this.pos+=8;else throw new Error("Unimplemented type: "+A)},writeTag:function(o,A){this.writeVarint(o<<3|A)},realloc:function(o){for(var A=this.length||16;A268435455||o<0){S3i(o,this);return}this.realloc(4),this.buf[this.pos++]=o&127|(o>127?128:0),!(o<=127)&&(this.buf[this.pos++]=(o>>>=7)&127|(o>127?128:0),!(o<=127)&&(this.buf[this.pos++]=(o>>>=7)&127|(o>127?128:0),!(o<=127)&&(this.buf[this.pos++]=o>>>7&127)))},writeSVarint:function(o){this.writeVarint(o<0?-o*2-1:o*2)},writeBoolean:function(o){this.writeVarint(Boolean(o))},writeString:function(o){o=String(o),this.realloc(o.length*4),this.pos++;var A=this.pos;this.pos=V3i(this.buf,o,this.pos);var f=this.pos-A;f>=128&&xct(A,f,this),this.pos=A-1,this.writeVarint(f),this.pos+=f},writeFloat:function(o){this.realloc(4),$se.write(this.buf,o,this.pos,!0,23,4),this.pos+=4},writeDouble:function(o){this.realloc(8),$se.write(this.buf,o,this.pos,!0,52,8),this.pos+=8},writeBytes:function(o){var A=o.length;this.writeVarint(A),this.realloc(A);for(var f=0;f=128&&xct(f,m,this),this.pos=f-1,this.writeVarint(m),this.pos+=m},writeMessage:function(o,A,f){this.writeTag(o,NA.Bytes),this.writeRawMessage(A,f)},writePackedVarint:function(o,A){A.length&&this.writeMessage(o,M3i,A)},writePackedSVarint:function(o,A){A.length&&this.writeMessage(o,P3i,A)},writePackedBoolean:function(o,A){A.length&&this.writeMessage(o,F3i,A)},writePackedFloat:function(o,A){A.length&&this.writeMessage(o,R3i,A)},writePackedDouble:function(o,A){A.length&&this.writeMessage(o,L3i,A)},writePackedFixed32:function(o,A){A.length&&this.writeMessage(o,N3i,A)},writePackedSFixed32:function(o,A){A.length&&this.writeMessage(o,k3i,A)},writePackedFixed64:function(o,A){A.length&&this.writeMessage(o,O3i,A)},writePackedSFixed64:function(o,A){A.length&&this.writeMessage(o,U3i,A)},writeBytesField:function(o,A){this.writeTag(o,NA.Bytes),this.writeBytes(A)},writeFixed32Field:function(o,A){this.writeTag(o,NA.Fixed32),this.writeFixed32(A)},writeSFixed32Field:function(o,A){this.writeTag(o,NA.Fixed32),this.writeSFixed32(A)},writeFixed64Field:function(o,A){this.writeTag(o,NA.Fixed64),this.writeFixed64(A)},writeSFixed64Field:function(o,A){this.writeTag(o,NA.Fixed64),this.writeSFixed64(A)},writeVarintField:function(o,A){this.writeTag(o,NA.Varint),this.writeVarint(A)},writeSVarintField:function(o,A){this.writeTag(o,NA.Varint),this.writeSVarint(A)},writeStringField:function(o,A){this.writeTag(o,NA.Bytes),this.writeString(A)},writeFloatField:function(o,A){this.writeTag(o,NA.Fixed32),this.writeFloat(A)},writeDoubleField:function(o,A){this.writeTag(o,NA.Fixed64),this.writeDouble(A)},writeBooleanField:function(o,A){this.writeVarintField(o,Boolean(A))}};function Q3i(o,A,f){var m=f.buf,C,E;if(E=m[f.pos++],C=(E&112)>>4,E<128||(E=m[f.pos++],C|=(E&127)<<3,E<128)||(E=m[f.pos++],C|=(E&127)<<10,E<128)||(E=m[f.pos++],C|=(E&127)<<17,E<128)||(E=m[f.pos++],C|=(E&127)<<24,E<128)||(E=m[f.pos++],C|=(E&1)<<31,E<128))return SH(o,C,A);throw new Error("Expected varint not more than 10 bytes")}function ZT(o){return o.type===NA.Bytes?o.readVarint()+o.pos:o.pos+1}function SH(o,A,f){return f?A*4294967296+(o>>>0):(A>>>0)*4294967296+(o>>>0)}function S3i(o,A){var f,m;if(o>=0?(f=o%4294967296|0,m=o/4294967296|0):(f=~(-o%4294967296),m=~(-o/4294967296),f^4294967295?f=f+1|0:(f=0,m=m+1|0)),o>=18446744073709552e3||o<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");A.realloc(10),D3i(f,m,A),T3i(m,A)}function D3i(o,A,f){f.buf[f.pos++]=o&127|128,o>>>=7,f.buf[f.pos++]=o&127|128,o>>>=7,f.buf[f.pos++]=o&127|128,o>>>=7,f.buf[f.pos++]=o&127|128,o>>>=7,f.buf[f.pos]=o&127}function T3i(o,A){var f=(o&7)<<4;A.buf[A.pos++]|=f|((o>>>=3)?128:0),o&&(A.buf[A.pos++]=o&127|((o>>>=7)?128:0),o&&(A.buf[A.pos++]=o&127|((o>>>=7)?128:0),o&&(A.buf[A.pos++]=o&127|((o>>>=7)?128:0),o&&(A.buf[A.pos++]=o&127|((o>>>=7)?128:0),o&&(A.buf[A.pos++]=o&127)))))}function xct(o,A,f){var m=A<=16383?1:A<=2097151?2:A<=268435455?3:Math.floor(Math.log(A)/(Math.LN2*7));f.realloc(m);for(var C=f.pos-1;C>=o;C--)f.buf[C+m]=f.buf[C]}function M3i(o,A){for(var f=0;f>>8,o[f+2]=A>>>16,o[f+3]=A>>>24}function yct(o,A){return(o[A]|o[A+1]<<8|o[A+2]<<16)+(o[A+3]<<24)}function G3i(o,A,f){for(var m="",C=A;C239?4:E>223?3:E>191?2:1;if(C+y>f)break;var I,v,B;y===1?E<128&&(x=E):y===2?(I=o[C+1],(I&192)===128&&(x=(E&31)<<6|I&63,x<=127&&(x=null))):y===3?(I=o[C+1],v=o[C+2],(I&192)===128&&(v&192)===128&&(x=(E&15)<<12|(I&63)<<6|v&63,(x<=2047||x>=55296&&x<=57343)&&(x=null))):y===4&&(I=o[C+1],v=o[C+2],B=o[C+3],(I&192)===128&&(v&192)===128&&(B&192)===128&&(x=(E&15)<<18|(I&63)<<12|(v&63)<<6|B&63,(x<=65535||x>=1114112)&&(x=null))),x===null?(x=65533,y=1):x>65535&&(x-=65536,m+=String.fromCharCode(x>>>10&1023|55296),x=56320|x&1023),m+=String.fromCharCode(x),C+=y}return m}function H3i(o,A,f){return Ict.decode(o.subarray(A,f))}function V3i(o,A,f){for(var m=0,C,E;m55295&&C<57344)if(E)if(C<56320){o[f++]=239,o[f++]=191,o[f++]=189,E=C;continue}else C=E-55296<<10|C-56320|65536,E=null;else{C>56319||m+1===A.length?(o[f++]=239,o[f++]=191,o[f++]=189):E=C;continue}else E&&(o[f++]=239,o[f++]=191,o[f++]=189,E=null);C<128?o[f++]=C:(C<2048?o[f++]=C>>6|192:(C<65536?o[f++]=C>>12|224:(o[f++]=C>>18|240,o[f++]=C>>12&63|128),o[f++]=C>>6&63|128),o[f++]=C&63|128)}return f}});var xdt=wA((zH,_W)=>{/** * @license * Lodash * Copyright OpenJS Foundation and other contributors * Released under MIT license * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors */(function(){var o,A="4.17.21",f=200,m="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",C="Expected a function",E="Invalid `variable` option passed into `_.template`",x="__lodash_hash_undefined__",y=500,I="__lodash_placeholder__",v=1,B=2,Q=4,T=1,w=2,S=1,D=2,R=4,P=8,M=16,L=32,F=64,k=128,N=256,G=512,J=30,K="...",X=800,q=16,ee=1,ie=2,H=3,le=1/0,ue=9007199254740991,Ae=17976931348623157e292,he=0/0,ge=4294967295,fe=ge-1,ae=ge>>>1,U=[["ary",k],["bind",S],["bindKey",D],["curry",P],["curryRight",M],["flip",G],["partial",L],["partialRight",F],["rearg",N]],W="[object Arguments]",Y="[object Array]",z="[object AsyncFunction]",re="[object Boolean]",se="[object Date]",de="[object DOMException]",me="[object Error]",Ce="[object Function]",Ie="[object GeneratorFunction]",we="[object Map]",Te="[object Number]",Ge="[object Null]",ke="[object Object]",Oe="[object Promise]",Le="[object Proxy]",be="[object RegExp]",Ne="[object Set]",Ue="[object String]",ze="[object Symbol]",Je="[object Undefined]",Xe="[object WeakMap]",et="[object WeakSet]",ot="[object ArrayBuffer]",Et="[object DataView]",Ct="[object Float32Array]",ct="[object Float64Array]",yt="[object Int8Array]",Qt="[object Int16Array]",Ze="[object Int32Array]",ut="[object Uint8Array]",St="[object Uint8ClampedArray]",gt="[object Uint16Array]",xt="[object Uint32Array]",Lt=/\b__p \+= '';/g,nt=/\b(__p \+=) '' \+/g,Pe=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ve=/&(?:amp|lt|gt|quot|#39);/g,We=/[&<>"']/g,bt=RegExp(ve.source),Pt=RegExp(We.source),It=/<%-([\s\S]+?)%>/g,Mi=/<%([\s\S]+?)%>/g,er=/<%=([\s\S]+?)%>/g,di=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,wi=/^\w*$/,Ri=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ei=/[\\^$.*+?()[\]{}|]/g,Wt=RegExp(Ei.source),jt=/^\s+/,pi=/\s/,mi=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Kt=/\{\n\/\* \[wrapped with (.+)\] \*/,xi=/,? & /,_t=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Mt=/[()=,{}\[\]\/\s]/,Ht=/\\(\\)?/g,ti=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Wi=/\w*$/,yi=/^[-+]0x[0-9a-f]+$/i,uo=/^0b[01]+$/i,wn=/^\[object .+?Constructor\]$/,Un=/^0o[0-7]+$/i,Ta=/^(?:0|[1-9]\d*)$/,Ma=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Go=/($^)/,bl=/['\n\r\u2028\u2029\\]/g,nu="\\ud800-\\udfff",yc="\\u0300-\\u036f",Xu="\\ufe20-\\ufe2f",yd="\\u20d0-\\u20ff",lh=yc+Xu+yd,ef="\\u2700-\\u27bf",og="a-z\\xdf-\\xf6\\xf8-\\xff",kA="\\xac\\xb1\\xd7\\xf7",S0="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Id="\\u2000-\\u206f",Su=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Df="A-Z\\xc0-\\xd6\\xd8-\\xde",_d="\\ufe0e\\ufe0f",$h=kA+S0+Id+Su,ci="['\u2019]",Gi="["+nu+"]",yr="["+$h+"]",Yr="["+lh+"]",en="\\d+",Or="["+ef+"]",Cn="["+og+"]",Mn="[^"+nu+$h+en+ef+og+Df+"]",tn="\\ud83c[\\udffb-\\udfff]",fo="(?:"+Yr+"|"+tn+")",bo="[^"+nu+"]",_a="(?:\\ud83c[\\udde6-\\uddff]){2}",xl="[\\ud800-\\udbff][\\udc00-\\udfff]",Mo="["+Df+"]",Wl="\\u200d",Ss="(?:"+Cn+"|"+Mn+")",uh="(?:"+Mo+"|"+Mn+")",ku="(?:"+ci+"(?:d|ll|m|re|s|t|ve))?",Ic="(?:"+ci+"(?:D|LL|M|RE|S|T|VE))?",_c=fo+"?",Cu="["+_d+"]?",Tf="(?:"+Wl+"(?:"+[bo,_a,xl].join("|")+")"+Cu+_c+")*",ag="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",FE="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Bp=Cu+_c+Tf,Fo="(?:"+[Or,_a,xl].join("|")+")"+Bp,IA="(?:"+[bo+Yr+"?",Yr,_a,xl,Gi].join("|")+")",wp=RegExp(ci,"g"),Vg=RegExp(Yr,"g"),sg=RegExp(tn+"(?="+tn+")|"+IA+Bp,"g"),lg=RegExp([Mo+"?"+Cn+"+"+ku+"(?="+[yr,Mo,"$"].join("|")+")",uh+"+"+Ic+"(?="+[yr,Mo+Ss,"$"].join("|")+")",Mo+"?"+Ss+"+"+ku,Mo+"+"+Ic,FE,ag,en,Fo].join("|"),"g"),D0=RegExp("["+Wl+nu+lh+_d+"]"),Ni=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,qn=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],bn=-1,$e={};$e[Ct]=$e[ct]=$e[yt]=$e[Qt]=$e[Ze]=$e[ut]=$e[St]=$e[gt]=$e[xt]=!0,$e[W]=$e[Y]=$e[ot]=$e[re]=$e[Et]=$e[se]=$e[me]=$e[Ce]=$e[we]=$e[Te]=$e[ke]=$e[be]=$e[Ne]=$e[Ue]=$e[Xe]=!1;var lt={};lt[W]=lt[Y]=lt[ot]=lt[Et]=lt[re]=lt[se]=lt[Ct]=lt[ct]=lt[yt]=lt[Qt]=lt[Ze]=lt[we]=lt[Te]=lt[ke]=lt[be]=lt[Ne]=lt[Ue]=lt[ze]=lt[ut]=lt[St]=lt[gt]=lt[xt]=!0,lt[me]=lt[Ce]=lt[Xe]=!1;var Dt={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},Fe={"&":"&","<":"<",">":">",'"':""","'":"'"},it={"&":"&","<":"<",">":">",""":'"',"'":"'"},ht={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Tt=parseFloat,ai=parseInt,Ii=typeof global=="object"&&global&&global.Object===Object&&global,Ji=typeof self=="object"&&self&&self.Object===Object&&self,xr=Ii||Ji||Function("return this")(),$n=typeof zH=="object"&&zH&&!zH.nodeType&&zH,Ds=$n&&typeof _W=="object"&&_W&&!_W.nodeType&&_W,hA=Ds&&Ds.exports===$n,sc=hA&&Ii.process,Zu=function(){try{var tr=Ds&&Ds.require&&Ds.require("util").types;return tr||sc&&sc.binding&&sc.binding("util")}catch{}}(),tf=Zu&&Zu.isArrayBuffer,rf=Zu&&Zu.isDate,as=Zu&&Zu.isMap,T0=Zu&&Zu.isRegExp,pm=Zu&&Zu.isSet,vd=Zu&&Zu.isTypedArray;function Uc(tr,Ur,Mr){switch(Mr.length){case 0:return tr.call(Ur);case 1:return tr.call(Ur,Mr[0]);case 2:return tr.call(Ur,Mr[0],Mr[1]);case 3:return tr.call(Ur,Mr[0],Mr[1],Mr[2])}return tr.apply(Ur,Mr)}function s1(tr,Ur,Mr,yo){for(var Bs=-1,Ql=tr==null?0:tr.length;++Bs-1}function FC(tr,Ur,Mr){for(var yo=-1,Bs=tr==null?0:tr.length;++yo-1;);return Mr}function Ha(tr,Ur){for(var Mr=tr.length;Mr--&&bp(Ur,tr[Mr],0)>-1;);return Mr}function Gc(tr,Ur){for(var Mr=tr.length,yo=0;Mr--;)tr[Mr]===Ur&&++yo;return yo}var $s=ny(Dt),Ac=ny(Fe);function zg(tr){return"\\"+ht[tr]}function u1(tr,Ur){return tr==null?o:tr[Ur]}function P0(tr){return D0.test(tr)}function A1(tr){return Ni.test(tr)}function iL(tr){for(var Ur,Mr=[];!(Ur=tr.next()).done;)Mr.push(Ur.value);return Mr}function oy(tr){var Ur=-1,Mr=Array(tr.size);return tr.forEach(function(yo,Bs){Mr[++Ur]=[Bs,yo]}),Mr}function c1(tr,Ur){return function(Mr){return tr(Ur(Mr))}}function GI(tr,Ur){for(var Mr=-1,yo=tr.length,Bs=0,Ql=[];++Mr-1}function Ff(ye,De){var qe=this.__data__,pt=Ts(qe,ye);return pt<0?(++this.size,qe.push([ye,De])):qe[pt][1]=De,this}OE.prototype.clear=r6,OE.prototype.delete=Tp,OE.prototype.get=rB,OE.prototype.has=n6,OE.prototype.set=Ff;function td(ye){var De=-1,qe=ye==null?0:ye.length;for(this.clear();++De=De?ye:De)),ye}function F0(ye,De,qe,pt,Jt,ui){var Qi,zi=De&v,Xi=De&B,Nr=De&Q;if(qe&&(Qi=Jt?qe(ye,pt,Jt,ui):qe(ye)),Qi!==o)return Qi;if(!Ka(ye))return ye;var sn=Jn(ye);if(sn){if(Qi=d6(ye),!zi)return Ah(ye,Qi)}else{var gn=id(ye),ro=gn==Ce||gn==Ie;if($g(ye))return Rp(ye,zi);if(gn==ke||gn==W||ro&&!Jt){if(Qi=Xi||ro?{}:dy(ye),!zi)return Xi?QO(ye,fl(Qi,ye)):Hc(ye,js(Qi,ye))}else{if(!lt[gn])return Jt?ye:{};Qi=rd(ye,gn,zi)}}ui||(ui=new is);var ta=ui.get(ye);if(ta)return ta;ui.set(ye,Qi),GA(ye)?ye.forEach(function(mo){Qi.add(F0(mo,De,qe,mo,ye,ui))}):Kc(ye)&&ye.forEach(function(mo,Oo){Qi.set(Oo,F0(mo,De,qe,Oo,ye,ui))});var Wa=Nr?Xi?QM:AB:Xi?af:xa,gl=sn?o:Wa(ye);return lc(gl||ye,function(mo,Oo){gl&&(Oo=mo,mo=ye[Oo]),Qs(Qi,Oo,F0(mo,De,qe,Oo,ye,ui))}),Qi}function uL(ye){var De=xa(ye);return function(qe){return hM(qe,ye,De)}}function hM(ye,De,qe){var pt=qe.length;if(ye==null)return!pt;for(ye=dA(ye);pt--;){var Jt=qe[pt],ui=De[Jt],Qi=ye[Jt];if(Qi===o&&!(Jt in ye)||!ui(Qi))return!1}return!0}function dM(ye,De,qe){if(typeof ye!="function")throw new R0(C);return ES(function(){ye.apply(o,qe)},De)}function oB(ye,De,qe,pt){var Jt=-1,ui=Mf,Qi=!0,zi=ye.length,Xi=[],Nr=De.length;if(!zi)return Xi;qe&&(De=Ou(De,Pn(qe))),pt?(ui=FC,Qi=!1):De.length>=f&&(ui=vs,Qi=!1,De=new xs(De));e:for(;++JtJt?0:Jt+qe),pt=pt===o||pt>Jt?Jt:aa(pt),pt<0&&(pt+=Jt),pt=qe>pt?0:YL(pt);qe0&&qe(zi)?De>1?va(zi,De-1,qe,pt,Jt):vc(Jt,zi):pt||(Jt[Jt.length]=zi)}return Jt}var qs=DO(),Xn=DO(!0);function qt(ye,De){return ye&&qs(ye,De,xa)}function aS(ye,De){return ye&&Xn(ye,De,xa)}function fM(ye,De){return wd(De,function(qe){return dg(ye[qe])})}function aB(ye,De){De=vm(De,ye);for(var qe=0,pt=De.length;ye!=null&&qeDe}function o6(ye,De){return ye!=null&&Eu.call(ye,De)}function a6(ye,De){return ye!=null&&De in dA(ye)}function dO(ye,De,qe){return ye>=ed(De,qe)&&ye=120&&sn.length>=120)?new xs(Qi&&sn):o}sn=ye[0];var gn=-1,ro=zi[0];e:for(;++gn-1;)zi!==ye&&Dp.call(zi,Xi,1),Dp.call(ye,Xi,1);return ye}function CM(ye,De){for(var qe=ye?De.length:0,pt=qe-1;qe--;){var Jt=De[qe];if(qe==pt||Jt!==ui){var ui=Jt;HC(Jt)?Dp.call(ye,Jt,1):I1(ye,Jt)}}return ye}function CL(ye,De){return ye+f1(JI()*(De-ye+1))}function l6(ye,De,qe,pt){for(var Jt=-1,ui=Th(d1((De-ye)/(qe||1)),0),Qi=Mr(ui);ui--;)Qi[pt?ui:++Jt]=ye,ye+=qe;return Qi}function EM(ye,De){var qe="";if(!ye||De<1||De>ue)return qe;do De%2&&(qe+=ye),De=f1(De/2),De&&(ye+=ye);while(De);return qe}function Ms(ye,De){return LM(w1(ye,De,Y0),ye+"")}function xM(ye){return Ws(lf(ye))}function vO(ye,De){var qe=lf(ye);return xS(qe,UE(De,0,qe.length))}function AS(ye,De,qe,pt){if(!Ka(ye))return ye;De=vm(De,ye);for(var Jt=-1,ui=De.length,Qi=ui-1,zi=ye;zi!=null&&++JtJt?0:Jt+De),qe=qe>Jt?Jt:qe,qe<0&&(qe+=Jt),Jt=De>qe?0:qe-De>>>0,De>>>=0;for(var ui=Mr(Jt);++pt>>1,Qi=ye[ui];Qi!==null&&!fg(Qi)&&(qe?Qi<=De:Qi=f){var Nr=De?null:Gs(ye);if(Nr)return XQ(Nr);Qi=!1,Jt=vs,Xi=new xs}else Xi=De?[]:zi;e:for(;++pt=pt?ye:Im(ye,De,qe)}var _1=oO||function(ye){return xr.clearTimeout(ye)};function Rp(ye,De){if(De)return ye.slice();var qe=ye.length,pt=tS?tS(qe):new ye.constructor(qe);return ye.copy(pt),pt}function v1(ye){var De=new ye.constructor(ye.byteLength);return new h1(De).set(new h1(ye)),De}function A6(ye,De){var qe=De?v1(ye.buffer):ye.buffer;return new ye.constructor(qe,ye.byteOffset,ye.byteLength)}function c6(ye){var De=new ye.constructor(ye.source,Wi.exec(ye));return De.lastIndex=ye.lastIndex,De}function h6(ye){return E1?dA(E1.call(ye)):{}}function vL(ye,De){var qe=De?v1(ye.buffer):ye.buffer;return new ye.constructor(qe,ye.byteOffset,ye.length)}function vM(ye,De){if(ye!==De){var qe=ye!==o,pt=ye===null,Jt=ye===ye,ui=fg(ye),Qi=De!==o,zi=De===null,Xi=De===De,Nr=fg(De);if(!zi&&!Nr&&!ui&&ye>De||ui&&Qi&&Xi&&!zi&&!Nr||pt&&Qi&&Xi||!qe&&Xi||!Jt)return 1;if(!pt&&!ui&&!Nr&&ye=zi)return Xi;var Nr=qe[pt];return Xi*(Nr=="desc"?-1:1)}}return ye.index-De.index}function OC(ye,De,qe,pt){for(var Jt=-1,ui=ye.length,Qi=qe.length,zi=-1,Xi=De.length,Nr=Th(ui-Qi,0),sn=Mr(Xi+Nr),gn=!pt;++zi1?qe[Jt-1]:o,Qi=Jt>2?qe[2]:o;for(ui=ye.length>3&&typeof ui=="function"?(Jt--,ui):o,Qi&&kf(qe[0],qe[1],Qi)&&(ui=Jt<3?o:ui,Jt=1),De=dA(De);++pt-1?Jt[ui?De[Qi]:Qi]:o}}function Uu(ye){return Ay(function(De){var qe=De.length,pt=qe,Jt=L0.prototype.thru;for(ye&&De.reverse();pt--;){var ui=De[pt];if(typeof ui!="function")throw new R0(C);if(Jt&&!Qi&&gS(ui)=="wrapper")var Qi=new L0([],!0)}for(pt=Qi?pt:qe;++pt1&&Rs.reverse(),sn&&Xizi))return!1;var Nr=ui.get(ye),sn=ui.get(De);if(Nr&&sn)return Nr==De&&sn==ye;var gn=-1,ro=!0,ta=qe&w?new xs:o;for(ui.set(ye,De),ui.set(De,ye);++gn1?"& ":"")+De[pt],De=De.join(qe>2?", ":" "),ye.replace(mi,`{ /* [wrapped with `+De+`] */ `)}function PL(ye){return Jn(ye)||xB(ye)||!!(Lf&&ye&&ye[Lf])}function HC(ye,De){var qe=typeof ye;return De=De??ue,!!De&&(qe=="number"||qe!="symbol"&&Ta.test(ye))&&ye>-1&&ye%1==0&&ye0){if(++De>=X)return arguments[0]}else De=0;return ye.apply(o,arguments)}}function xS(ye,De){var qe=-1,pt=ye.length,Jt=pt-1;for(De=De===o?pt:De;++qe1?ye[De-1]:o;return qe=typeof qe=="function"?(ye.pop(),qe):o,n_(ye,qe)});function CB(ye){var De=oi(ye);return De.__chain__=!0,De}function R1(ye,De){return De(ye),ye}function my(ye,De){return De(ye)}var Vc=Ay(function(ye){var De=ye.length,qe=De?ye[0]:0,pt=this.__wrapped__,Jt=function(ui){return nB(ui,ye)};return De>1||this.__actions__.length||!(pt instanceof yl)||!HC(qe)?this.thru(Jt):(pt=pt.slice(qe,+qe+(De?1:0)),pt.__actions__.push({func:my,args:[Jt],thisArg:o}),new L0(pt,this.__chain__).thru(function(ui){return De&&!ui.length&&ui.push(o),ui}))});function kL(){return CB(this)}function L1(){return new L0(this.value(),this.__chain__)}function xe(){this.__values__===o&&(this.__values__=Fm(this.value()));var ye=this.__index__>=this.__values__.length,De=ye?o:this.__values__[this.__index__++];return{done:ye,value:De}}function Se(){return this}function je(ye){for(var De,qe=this;qe instanceof nS;){var pt=UO(qe);pt.__index__=0,pt.__values__=o,De?Jt.__wrapped__=pt:De=pt;var Jt=pt;qe=qe.__wrapped__}return Jt.__wrapped__=ye,De}function mt(){var ye=this.__wrapped__;if(ye instanceof yl){var De=ye;return this.__actions__.length&&(De=new yl(this)),De=De.reverse(),De.__actions__.push({func:my,args:[Ps],thisArg:o}),new L0(De,this.__chain__)}return this.thru(Ps)}function Yt(){return Pp(this.__wrapped__,this.__actions__)}var $t=cS(function(ye,De,qe){Eu.call(ye,qe)?++ye[qe]:kC(ye,qe,1)});function Pi(ye,De,qe){var pt=Jn(ye)?M0:oa;return qe&&kf(ye,De,qe)&&(De=o),pt(ye,Va(De,3))}function Vi(ye,De){var qe=Jn(ye)?wd:la;return qe(ye,Va(De,3))}var rr=Nf(Na),qr=Nf(FL);function nn(ye,De){return va(Of(ye,De),1)}function dn(ye,De){return va(Of(ye,De),le)}function lo(ye,De,qe){return qe=qe===o?1:aa(qe),va(Of(ye,De),qe)}function Yo(ye,De){var qe=Jn(ye)?lc:oo;return qe(ye,Va(De,3))}function Ja(ye,De){var qe=Jn(ye)?Bd:co;return qe(ye,Va(De,3))}var Hs=cS(function(ye,De,qe){Eu.call(ye,qe)?ye[qe].push(De):kC(ye,qe,[De])});function io(ye,De,qe,pt){ye=Rm(ye)?ye:lf(ye),qe=qe&&!pt?aa(qe):0;var Jt=ye.length;return qe<0&&(qe=Th(Jt+qe,0)),Gf(ye)?qe<=Jt&&ye.indexOf(De,qe)>-1:!!Jt&&bp(ye,De,qe)>-1}var gs=Ms(function(ye,De,qe){var pt=-1,Jt=typeof De=="function",ui=Rm(ye)?Mr(ye.length):[];return oo(ye,function(Qi){ui[++pt]=Jt?Uc(De,Qi,qe):ZI(Qi,De,qe)}),ui}),Dl=cS(function(ye,De,qe){kC(ye,qe,De)});function Of(ye,De){var qe=Jn(ye)?Ou:IO;return qe(ye,Va(De,3))}function ou(ye,De,qe,pt){return ye==null?[]:(Jn(De)||(De=De==null?[]:[De]),qe=pt?o:qe,Jn(qe)||(qe=qe==null?[]:[qe]),pM(ye,De,qe))}var Uf=cS(function(ye,De,qe){ye[qe?0:1].push(De)},function(){return[[],[]]});function ch(ye,De,qe){var pt=Jn(ye)?Pf:uc,Jt=arguments.length<3;return pt(ye,Va(De,4),qe,Jt,oo)}function hh(ye,De,qe){var pt=Jn(ye)?iy:uc,Jt=arguments.length<3;return pt(ye,Va(De,4),qe,Jt,co)}function Dm(ye,De){var qe=Jn(ye)?wd:la;return qe(ye,F1(Va(De,3)))}function Cy(ye){var De=Jn(ye)?Ws:xM;return De(ye)}function Vl(ye,De,qe){(qe?kf(ye,De,qe):De===o)?De=1:De=aa(De);var pt=Jn(ye)?cl:vO;return pt(ye,De)}function KC(ye){var De=Jn(ye)?hl:u6;return De(ye)}function YE(ye){if(ye==null)return 0;if(Rm(ye))return Gf(ye)?ay(ye):ye.length;var De=id(ye);return De==we||De==Ne?ye.size:dL(ye).length}function WC(ye,De,qe){var pt=Jn(ye)?mm:wO;return qe&&kf(ye,De,qe)&&(De=o),pt(ye,Va(De,3))}var hg=Ms(function(ye,De){if(ye==null)return[];var qe=De.length;return qe>1&&kf(ye,De[0],De[1])?De=[]:qe>2&&kf(De[0],De[1],De[2])&&(De=[De[0]]),pM(ye,va(De,1),[])}),Ey=e6||function(){return xr.Date.now()};function Tm(ye,De){if(typeof De!="function")throw new R0(C);return ye=aa(ye),function(){if(--ye<1)return De.apply(this,arguments)}}function OL(ye,De,qe){return De=qe?o:De,De=ye&&De==null?ye.length:De,Ph(ye,k,o,o,o,o,De)}function KW(ye,De){var qe;if(typeof De!="function")throw new R0(C);return ye=aa(ye),function(){return--ye>0&&(qe=De.apply(this,arguments)),ye<=1&&(De=o),qe}}var y6=Ms(function(ye,De,qe){var pt=S;if(qe.length){var Jt=GI(qe,cB(y6));pt|=L}return Ph(ye,pt,De,qe,Jt)}),WW=Ms(function(ye,De,qe){var pt=S|D;if(qe.length){var Jt=GI(qe,cB(WW));pt|=L}return Ph(De,pt,ye,qe,Jt)});function jW(ye,De,qe){De=qe?o:De;var pt=Ph(ye,P,o,o,o,o,o,De);return pt.placeholder=jW.placeholder,pt}function qW(ye,De,qe){De=qe?o:De;var pt=Ph(ye,M,o,o,o,o,o,De);return pt.placeholder=qW.placeholder,pt}function XW(ye,De,qe){var pt,Jt,ui,Qi,zi,Xi,Nr=0,sn=!1,gn=!1,ro=!0;if(typeof ye!="function")throw new R0(C);De=qE(De)||0,Ka(qe)&&(sn=!!qe.leading,gn="maxWait"in qe,ui=gn?Th(qE(qe.maxWait)||0,De):ui,ro="trailing"in qe?!!qe.trailing:ro);function ta(Hu){var VA=pt,SB=Jt;return pt=Jt=o,Nr=Hu,Qi=ye.apply(SB,VA),Qi}function Wa(Hu){return Nr=Hu,zi=ES(Oo,De),sn?ta(Hu):Qi}function gl(Hu){var VA=Hu-Xi,SB=Hu-Nr,MS=De-VA;return gn?ed(MS,ui-SB):MS}function mo(Hu){var VA=Hu-Xi,SB=Hu-Nr;return Xi===o||VA>=De||VA<0||gn&&SB>=ui}function Oo(){var Hu=Ey();if(mo(Hu))return Rs(Hu);zi=ES(Oo,gl(Hu))}function Rs(Hu){return zi=o,ro&&pt?ta(Hu):(pt=Jt=o,Qi)}function Om(){zi!==o&&_1(zi),Nr=0,pt=Xi=Jt=zi=o}function fh(){return zi===o?Qi:Rs(Ey())}function df(){var Hu=Ey(),VA=mo(Hu);if(pt=arguments,Jt=this,Xi=Hu,VA){if(zi===o)return Wa(Xi);if(gn)return _1(zi),zi=ES(Oo,De),ta(Xi)}return zi===o&&(zi=ES(Oo,De)),Qi}return df.cancel=Om,df.flush=fh,df}var Mm=Ms(function(ye,De){return dM(ye,1,De)}),I6=Ms(function(ye,De,qe){return dM(ye,qE(De)||0,qe)});function zc(ye){return Ph(ye,G)}function vA(ye,De){if(typeof ye!="function"||De!=null&&typeof De!="function")throw new R0(C);var qe=function(){var pt=arguments,Jt=De?De.apply(this,pt):pt[0],ui=qe.cache;if(ui.has(Jt))return ui.get(Jt);var Qi=ye.apply(this,pt);return qe.cache=ui.set(Jt,Qi)||ui,Qi};return qe.cache=new(vA.Cache||td),qe}vA.Cache=td;function F1(ye){if(typeof ye!="function")throw new R0(C);return function(){var De=arguments;switch(De.length){case 0:return!ye.call(this);case 1:return!ye.call(this,De[0]);case 2:return!ye.call(this,De[0],De[1]);case 3:return!ye.call(this,De[0],De[1],De[2])}return!ye.apply(this,De)}}function H0(ye){return KW(2,ye)}var EB=nf(function(ye,De){De=De.length==1&&Jn(De[0])?Ou(De[0],Pn(Va())):Ou(va(De,1),Pn(Va()));var qe=De.length;return Ms(function(pt){for(var Jt=-1,ui=ed(pt.length,qe);++Jt=De}),xB=sS(function(){return arguments}())?sS:function(ye){return Pa(ye)&&Eu.call(ye,"callee")&&!nO.call(ye,"callee")},Jn=Mr.isArray,ej=tf?Pn(tf):gO;function Rm(ye){return ye!=null&&Sd(ye.length)&&!dg(ye)}function dh(ye){return Pa(ye)&&Rm(ye)}function KE(ye){return ye===!0||ye===!1||Pa(ye)&&jg(ye)==re}var $g=t6||bB,B6=rf?Pn(rf):pO;function tj(ye){return Pa(ye)&&ye.nodeType===1&&!Rh(ye)}function vn(ye){if(ye==null)return!0;if(Rm(ye)&&(Jn(ye)||typeof ye=="string"||typeof ye.splice=="function"||$g(ye)||gg(ye)||xB(ye)))return!ye.length;var De=id(ye);if(De==we||De==Ne)return!ye.size;if(fy(ye))return!dL(ye).length;for(var qe in ye)if(Eu.call(ye,qe))return!1;return!0}function WO(ye,De){return sB(ye,De)}function jO(ye,De,qe){qe=typeof qe=="function"?qe:o;var pt=qe?qe(ye,De):o;return pt===o?sB(ye,De,o,qe):!!pt}function Lm(ye){if(!Pa(ye))return!1;var De=jg(ye);return De==me||De==de||typeof ye.message=="string"&&typeof ye.name=="string"&&!Rh(ye)}function WE(ye){return typeof ye=="number"&&p1(ye)}function dg(ye){if(!Ka(ye))return!1;var De=jg(ye);return De==Ce||De==Ie||De==z||De==Le}function VL(ye){return typeof ye=="number"&&ye==aa(ye)}function Sd(ye){return typeof ye=="number"&&ye>-1&&ye%1==0&&ye<=ue}function Ka(ye){var De=typeof ye;return ye!=null&&(De=="object"||De=="function")}function Pa(ye){return ye!=null&&typeof ye=="object"}var Kc=as?Pn(as):CO;function oue(ye,De){return ye===De||y1(ye,De,TM(De))}function aue(ye,De,qe){return qe=typeof qe=="function"?qe:o,y1(ye,De,TM(De),qe)}function Fp(ye){return kM(ye)&&ye!=+ye}function qO(ye){if(cg(ye))throw new Bs(m);return cL(ye)}function jE(ye){return ye===null}function Tu(ye){return ye==null}function kM(ye){return typeof ye=="number"||Pa(ye)&&jg(ye)==Te}function Rh(ye){if(!Pa(ye)||jg(ye)!=ke)return!1;var De=iS(ye);if(De===null)return!0;var qe=Eu.call(De,"constructor")&&De.constructor;return typeof qe=="function"&&qe instanceof qe&&zI.call(qe)==nL}var zL=T0?Pn(T0):s6;function OM(ye){return VL(ye)&&ye>=-ue&&ye<=ue}var GA=pm?Pn(pm):EO;function Gf(ye){return typeof ye=="string"||!Jn(ye)&&Pa(ye)&&jg(ye)==Ue}function fg(ye){return typeof ye=="symbol"||Pa(ye)&&jg(ye)==ze}var gg=vd?Pn(vd):xO;function o_(ye){return ye===o}function yB(ye){return Pa(ye)&&id(ye)==Xe}function vS(ye){return Pa(ye)&&jg(ye)==et}var Lh=dS(lS),ij=dS(function(ye,De){return ye<=De});function Fm(ye){if(!ye)return[];if(Rm(ye))return Gf(ye)?Sp(ye):Ah(ye);if(YI&&ye[YI])return iL(ye[YI]());var De=id(ye),qe=De==we?oy:De==Ne?XQ:lf;return qe(ye)}function Gu(ye){if(!ye)return ye===0?ye:0;if(ye=qE(ye),ye===le||ye===-le){var De=ye<0?-1:1;return De*Ae}return ye===ye?ye:0}function aa(ye){var De=Gu(ye),qe=De%1;return De===De?qe?De-qe:De:0}function YL(ye){return ye?UE(aa(ye),0,ge):0}function qE(ye){if(typeof ye=="number")return ye;if(fg(ye))return he;if(Ka(ye)){var De=typeof ye.valueOf=="function"?ye.valueOf():ye;ye=Ka(De)?De+"":De}if(typeof ye!="string")return ye===0?ye:+ye;ye=xn(ye);var qe=uo.test(ye);return qe||Un.test(ye)?ai(ye.slice(2),qe?2:8):yi.test(ye)?he:+ye}function BS(ye){return Sl(ye,af(ye))}function rj(ye){return ye?UE(aa(ye),-ue,ue):ye===0?ye:0}function eA(ye){return ye==null?"":Ag(ye)}var e0=e_(function(ye,De){if(fy(De)||Rm(De)){Sl(De,xa(De),ye);return}for(var qe in De)Eu.call(De,qe)&&Qs(ye,qe,De[qe])}),a_=e_(function(ye,De){Sl(De,af(De),ye)}),Dd=e_(function(ye,De,qe,pt){Sl(De,af(De),ye,pt)}),wS=e_(function(ye,De,qe,pt){Sl(De,xa(De),ye,pt)}),_y=Ay(nB);function JL(ye,De){var qe=NC(ye);return De==null?qe:js(qe,De)}var Wc=Ms(function(ye,De){ye=dA(ye);var qe=-1,pt=De.length,Jt=pt>2?De[2]:o;for(Jt&&kf(De[0],De[1],Jt)&&(pt=1);++qe1),ui}),Sl(ye,QM(ye),qe),pt&&(qe=F0(qe,v|B|Q,Du));for(var Jt=De.length;Jt--;)I1(qe,De[Jt]);return qe});function O1(ye,De){return kp(ye,F1(Va(De)))}var zl=Ay(function(ye,De){return ye==null?{}:mM(ye,De)});function kp(ye,De){if(ye==null)return{};var qe=Ou(QM(ye),function(pt){return[pt]});return De=Va(De),pL(ye,qe,function(pt,Jt){return De(pt,Jt[0])})}function UM(ye,De,qe){De=vm(De,ye);var pt=-1,Jt=De.length;for(Jt||(Jt=1,ye=o);++ptDe){var pt=ye;ye=De,De=pt}if(qe||ye%1||De%1){var Jt=JI();return ed(ye+Jt*(De-ye+Tt("1e-"+((Jt+"").length-1))),De)}return CL(ye,De)}var uf=Bm(function(ye,De,qe){return De=De.toLowerCase(),ye+(qe?b6(De):De)});function b6(ye){return Qy(eA(ye).toLowerCase())}function XL(ye){return ye=eA(ye),ye&&ye.replace(Ma,$s).replace(Vg,"")}function pg(ye,De,qe){ye=eA(ye),De=Ag(De);var pt=ye.length;qe=qe===o?pt:UE(aa(qe),0,pt);var Jt=qe;return qe-=De.length,qe>=0&&ye.slice(qe,Jt)==De}function _B(ye){return ye=eA(ye),ye&&Pt.test(ye)?ye.replace(We,Ac):ye}function $E(ye){return ye=eA(ye),ye&&Wt.test(ye)?ye.replace(Ei,"\\$&"):ye}var Aj=Bm(function(ye,De,qe){return ye+(qe?"-":"")+De.toLowerCase()}),i0=Bm(function(ye,De,qe){return ye+(qe?" ":"")+De.toLowerCase()}),cj=MO("toLowerCase");function ZL(ye,De,qe){ye=eA(ye),De=aa(De);var pt=De?ay(ye):0;if(!De||pt>=De)return ye;var Jt=(De-pt)/2;return hS(f1(Jt),qe)+ye+hS(d1(Jt),qe)}function GM(ye,De,qe){ye=eA(ye),De=aa(De);var pt=De?ay(ye):0;return De&&pt>>0,qe?(ye=eA(ye),ye&&(typeof De=="string"||De!=null&&!zL(De))&&(De=Ag(De),!De&&P0(ye))?$u(Sp(ye),0,qe):ye.split(De,qe)):[]}var mg=Bm(function(ye,De,qe){return ye+(qe?" ":"")+Qy(De)});function by(ye,De,qe){return ye=eA(ye),qe=qe==null?0:UE(aa(qe),0,ye.length),De=Ag(De),ye.slice(qe,qe+De.length)==De}function H1(ye,De,qe){var pt=oi.templateSettings;qe&&kf(ye,De,qe)&&(De=o),ye=eA(ye),De=Dd({},De,pt,bM);var Jt=Dd({},De.imports,pt.imports,bM),ui=xa(Jt),Qi=to(Jt,ui),zi,Xi,Nr=0,sn=De.interpolate||Go,gn="__p += '",ro=xm((De.escape||Go).source+"|"+sn.source+"|"+(sn===er?ti:Go).source+"|"+(De.evaluate||Go).source+"|$","g"),ta="//# sourceURL="+(Eu.call(De,"sourceURL")?(De.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++bn+"]")+` `;ye.replace(ro,function(mo,Oo,Rs,Om,fh,df){return Rs||(Rs=Om),gn+=ye.slice(Nr,df).replace(bl,zg),Oo&&(zi=!0,gn+=`' + __e(`+Oo+`) + '`),fh&&(Xi=!0,gn+=`'; `+fh+`; __p += '`),Rs&&(gn+=`' + ((__t = (`+Rs+`)) == null ? '' : __t) + '`),Nr=df+mo.length,mo}),gn+=`'; `;var Wa=Eu.call(De,"variable")&&De.variable;if(!Wa)gn=`with (obj) { `+gn+` } `;else if(Mt.test(Wa))throw new Bs(E);gn=(Xi?gn.replace(Lt,""):gn).replace(nt,"$1").replace(Pe,"$1;"),gn="function("+(Wa||"obj")+`) { `+(Wa?"":`obj || (obj = {}); `)+"var __t, __p = ''"+(zi?", __e = _.escape":"")+(Xi?`, __j = Array.prototype.join; function print() { __p += __j.call(arguments, '') } `:`; `)+gn+`return __p }`;var gl=Td(function(){return Ql(ui,ta+"return "+gn).apply(o,Qi)});if(gl.source=gn,Lm(gl))throw gl;return gl}function Q6(ye){return eA(ye).toLowerCase()}function QS(ye){return eA(ye).toUpperCase()}function vB(ye,De,qe){if(ye=eA(ye),ye&&(qe||De===o))return xn(ye);if(!ye||!(De=Ag(De)))return ye;var pt=Sp(ye),Jt=Sp(De),ui=zo(pt,Jt),Qi=Ha(pt,Jt)+1;return $u(pt,ui,Qi).join("")}function u_(ye,De,qe){if(ye=eA(ye),ye&&(qe||De===o))return ye.slice(0,ZQ(ye)+1);if(!ye||!(De=Ag(De)))return ye;var pt=Sp(ye),Jt=Ha(pt,Sp(De))+1;return $u(pt,0,Jt).join("")}function cf(ye,De,qe){if(ye=eA(ye),ye&&(qe||De===o))return ye.replace(jt,"");if(!ye||!(De=Ag(De)))return ye;var pt=Sp(ye),Jt=zo(pt,Sp(De));return $u(pt,Jt).join("")}function qC(ye,De){var qe=J,pt=K;if(Ka(De)){var Jt="separator"in De?De.separator:Jt;qe="length"in De?aa(De.length):qe,pt="omission"in De?Ag(De.omission):pt}ye=eA(ye);var ui=ye.length;if(P0(ye)){var Qi=Sp(ye);ui=Qi.length}if(qe>=ui)return ye;var zi=qe-ay(pt);if(zi<1)return pt;var Xi=Qi?$u(Qi,0,zi).join(""):ye.slice(0,zi);if(Jt===o)return Xi+pt;if(Qi&&(zi+=Xi.length-zi),zL(Jt)){if(ye.slice(zi).search(Jt)){var Nr,sn=Xi;for(Jt.global||(Jt=xm(Jt.source,eA(Wi.exec(Jt))+"g")),Jt.lastIndex=0;Nr=Jt.exec(sn);)var gn=Nr.index;Xi=Xi.slice(0,gn===o?zi:gn)}}else if(ye.indexOf(Ag(Jt),zi)!=zi){var ro=Xi.lastIndexOf(Jt);ro>-1&&(Xi=Xi.slice(0,ro))}return Xi+pt}function Cg(ye){return ye=eA(ye),ye&&bt.test(ye)?ye.replace(ve,$H):ye}var fj=Bm(function(ye,De,qe){return ye+(qe?" ":"")+De.toUpperCase()}),Qy=MO("toUpperCase");function V1(ye,De,qe){return ye=eA(ye),De=qe?o:De,De===o?A1(ye)?iO(ye):Xv(ye):ye.match(De)||[]}var Td=Ms(function(ye,De){try{return Uc(ye,o,De)}catch(qe){return Lm(qe)?qe:new Bs(qe)}}),Hf=Ay(function(ye,De){return lc(De,function(qe){qe=VC(qe),kC(ye,qe,y6(ye[qe],ye))}),ye});function ex(ye){var De=ye==null?0:ye.length,qe=Va();return ye=De?Ou(ye,function(pt){if(typeof pt[1]!="function")throw new R0(C);return[qe(pt[0]),pt[1]]}):[],Ms(function(pt){for(var Jt=-1;++Jtue)return[];var qe=ge,pt=ed(ye,ge);De=Va(De),ye-=ge;for(var Jt=gr(pt,De);++qe0||De<0)?new yl(qe):(ye<0?qe=qe.takeRight(-ye):ye&&(qe=qe.drop(ye)),De!==o&&(De=aa(De),qe=De<0?qe.dropRight(-De):qe.take(De-ye)),qe)},yl.prototype.takeRightWhile=function(ye){return this.reverse().takeWhile(ye).reverse()},yl.prototype.toArray=function(){return this.take(ge)},qt(yl.prototype,function(ye,De){var qe=/^(?:filter|find|map|reject)|While$/.test(De),pt=/^(?:head|last)$/.test(De),Jt=oi[pt?"take"+(De=="last"?"Right":""):De],ui=pt||/^find/.test(De);!Jt||(oi.prototype[De]=function(){var Qi=this.__wrapped__,zi=pt?[1]:arguments,Xi=Qi instanceof yl,Nr=zi[0],sn=Xi||Jn(Qi),gn=function(Oo){var Rs=Jt.apply(oi,vc([Oo],zi));return pt&&ro?Rs[0]:Rs};sn&&qe&&typeof Nr=="function"&&Nr.length!=1&&(Xi=sn=!1);var ro=this.__chain__,ta=!!this.__actions__.length,Wa=ui&&!ro,gl=Xi&&!ta;if(!ui&&sn){Qi=gl?Qi:new yl(this);var mo=ye.apply(Qi,zi);return mo.__actions__.push({func:my,args:[gn],thisArg:o}),new L0(mo,ro)}return Wa&&gl?ye.apply(this,zi):(mo=this.thru(gn),Wa?pt?mo.value()[0]:mo.value():mo)})}),lc(["pop","push","shift","sort","splice","unshift"],function(ye){var De=Yg[ye],qe=/^(?:push|sort|unshift)$/.test(ye)?"tap":"thru",pt=/^(?:pop|shift)$/.test(ye);oi.prototype[ye]=function(){var Jt=arguments;if(pt&&!this.__chain__){var ui=this.value();return De.apply(Jn(ui)?ui:[],Jt)}return this[qe](function(Qi){return De.apply(Jn(Qi)?Qi:[],Jt)})}}),qt(yl.prototype,function(ye,De){var qe=oi[De];if(qe){var pt=qe.name+"";Eu.call(jI,pt)||(jI[pt]=[]),jI[pt].push({name:De,func:qe})}}),jI[uB(o,D).name]=[{name:"wrapper",func:o}],yl.prototype.clone=qI,yl.prototype.reverse=uO,yl.prototype.value=x1,oi.prototype.at=Vc,oi.prototype.chain=kL,oi.prototype.commit=L1,oi.prototype.next=xe,oi.prototype.plant=je,oi.prototype.reverse=mt,oi.prototype.toJSON=oi.prototype.valueOf=oi.prototype.value=Yt,oi.prototype.first=oi.prototype.head,YI&&(oi.prototype[YI]=Se),oi},HI=rL();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(xr._=HI,define(function(){return HI})):Ds?((Ds.exports=HI)._=HI,$n._=HI):xr._=HI}).call(zH)});var ydt=wA((exports,module)=>{/* @preserve * The MIT License (MIT) * * Copyright (c) 2013-2018 Petka Antonov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. * */(function(o){if(typeof exports=="object"&&typeof module<"u")module.exports=o();else if(typeof define=="function"&&define.amd)define([],o);else{var A;typeof window<"u"?A=window:typeof global<"u"?A=global:typeof self<"u"&&(A=self),A.Promise=o()}})(function(){var define,module,exports;return function o(A,f,m){function C(y,I){if(!f[y]){if(!A[y]){var v=typeof _dereq_=="function"&&_dereq_;if(!I&&v)return v(y,!0);if(E)return E(y,!0);var B=new Error("Cannot find module '"+y+"'");throw B.code="MODULE_NOT_FOUND",B}var Q=f[y]={exports:{}};A[y][0].call(Q.exports,function(T){var w=A[y][1][T];return C(w||T)},Q,Q.exports,o,A,f,m)}return f[y].exports}for(var E=typeof _dereq_=="function"&&_dereq_,x=0;x0;)Q(T)}function Q(T){var w=T.shift();if(typeof w!="function")w._settlePromises();else{var S=T.shift(),D=T.shift();w.call(S,D)}}x.prototype._drainQueues=function(){B(this._normalQueue),this._reset(),this._haveDrainedQueues=!0,B(this._lateQueue)},x.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},x.prototype._reset=function(){this._isTickUsed=!1},A.exports=x,A.exports.firstLineError=m},{"./queue":26,"./schedule":29}],3:[function(o,A,f){"use strict";A.exports=function(m,C,E,x){var y=!1,I=function(T,w){this._reject(w)},v=function(T,w){w.promiseRejectionQueued=!0,w.bindingPromise._then(I,I,null,this,T)},B=function(T,w){(this._bitField&50397184)===0&&this._resolveCallback(w.target)},Q=function(T,w){w.promiseRejectionQueued||this._reject(T)};m.prototype.bind=function(T){y||(y=!0,m.prototype._propagateFrom=x.propagateFromFunction(),m.prototype._boundValue=x.boundValueFunction());var w=E(T),S=new m(C);S._propagateFrom(this,1);var D=this._target();if(S._setBoundTo(w),w instanceof m){var R={promiseRejectionQueued:!1,promise:S,target:D,bindingPromise:w};D._then(C,v,void 0,S,R),w._then(B,Q,void 0,S,R),S._setOnCancel(w)}else S._resolveCallback(D);return S},m.prototype._setBoundTo=function(T){T!==void 0?(this._bitField=this._bitField|2097152,this._boundTo=T):this._bitField=this._bitField&-2097153},m.prototype._isBound=function(){return(this._bitField&2097152)===2097152},m.bind=function(T,w){return m.resolve(w).bind(T)}}},{}],4:[function(o,A,f){"use strict";var m;typeof Promise<"u"&&(m=Promise);function C(){try{Promise===E&&(Promise=m)}catch{}return E}var E=o("./promise")();E.noConflict=C,A.exports=E},{"./promise":22}],5:[function(o,A,f){"use strict";var m=Object.create;if(m){var C=m(null),E=m(null);C[" size"]=E[" size"]=0}A.exports=function(x){var y=o("./util"),I=y.canEvaluate,v=y.isIdentifier,B,Q;if(!1)var T,w,S;function D(L,F){var k;if(L!=null&&(k=L[F]),typeof k!="function"){var N="Object "+y.classString(L)+" has no method '"+y.toString(F)+"'";throw new x.TypeError(N)}return k}function R(L){var F=this.pop(),k=D(L,F);return k.apply(L,this)}x.prototype.call=function(L){var F=[].slice.call(arguments,1);if(!1&&I)var k;return F.push(L),this._then(R,void 0,void 0,F,void 0)};function P(L){return L[this]}function M(L){var F=+this;return F<0&&(F=Math.max(0,F+L.length)),L[F]}x.prototype.get=function(L){var F=typeof L=="number",k;if(F)k=M;else if(I){var N=Q(L);k=N!==null?N:P}else k=P;return this._then(k,void 0,void 0,L,void 0)}}},{"./util":36}],6:[function(o,A,f){"use strict";A.exports=function(m,C,E,x){var y=o("./util"),I=y.tryCatch,v=y.errorObj,B=m._async;m.prototype.break=m.prototype.cancel=function(){if(!x.cancellation())return this._warn("cancellation is disabled");for(var Q=this,T=Q;Q._isCancellable();){if(!Q._cancelBy(T)){T._isFollowing()?T._followee().cancel():T._cancelBranched();break}var w=Q._cancellationParent;if(w==null||!w._isCancellable()){Q._isFollowing()?Q._followee().cancel():Q._cancelBranched();break}else Q._isFollowing()&&Q._followee().cancel(),Q._setWillBeCancelled(),T=Q,Q=w}},m.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--},m.prototype._enoughBranchesHaveCancelled=function(){return this._branchesRemainingToCancel===void 0||this._branchesRemainingToCancel<=0},m.prototype._cancelBy=function(Q){return Q===this?(this._branchesRemainingToCancel=0,this._invokeOnCancel(),!0):(this._branchHasCancelled(),this._enoughBranchesHaveCancelled()?(this._invokeOnCancel(),!0):!1)},m.prototype._cancelBranched=function(){this._enoughBranchesHaveCancelled()&&this._cancel()},m.prototype._cancel=function(){!this._isCancellable()||(this._setCancelled(),B.invoke(this._cancelPromises,this,void 0))},m.prototype._cancelPromises=function(){this._length()>0&&this._settlePromises()},m.prototype._unsetOnCancel=function(){this._onCancelField=void 0},m.prototype._isCancellable=function(){return this.isPending()&&!this._isCancelled()},m.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()},m.prototype._doInvokeOnCancel=function(Q,T){if(y.isArray(Q))for(var w=0;w=0)return E[v]}return x.CapturedTrace=null,x.create=y,x.deactivateLongStackTraces=function(){},x.activateLongStackTraces=function(){var v=m.prototype._pushContext,B=m.prototype._popContext,Q=m._peekContext,T=m.prototype._peekContext,w=m.prototype._promiseCreated;x.deactivateLongStackTraces=function(){m.prototype._pushContext=v,m.prototype._popContext=B,m._peekContext=Q,m.prototype._peekContext=T,m.prototype._promiseCreated=w,C=!1},C=!0,m.prototype._pushContext=x.prototype._pushContext,m.prototype._popContext=x.prototype._popContext,m._peekContext=m.prototype._peekContext=I,m.prototype._promiseCreated=function(){var S=this._peekContext();S&&S._promiseCreated==null&&(S._promiseCreated=this)}},x}},{}],9:[function(o,A,f){"use strict";A.exports=function(m,C,E,x){var y=m._async,I=o("./errors").Warning,v=o("./util"),B=o("./es5"),Q=v.canAttachTrace,T,w,S=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/,D=/\((?:timers\.js):\d+:\d+\)/,R=/[\/<\(](.+?):(\d+):(\d+)\)?\s*$/,P=null,M=null,L=!1,F,k=v.env("BLUEBIRD_DEBUG")!=0,N=!!(v.env("BLUEBIRD_WARNINGS")!=0&&(k||v.env("BLUEBIRD_WARNINGS"))),G=!!(v.env("BLUEBIRD_LONG_STACK_TRACES")!=0&&(k||v.env("BLUEBIRD_LONG_STACK_TRACES"))),J=v.env("BLUEBIRD_W_FORGOTTEN_RETURN")!=0&&(N||!!v.env("BLUEBIRD_W_FORGOTTEN_RETURN")),K;(function(){var Ze=[];function ut(){for(var gt=0;gt0},m.prototype._setRejectionIsUnhandled=function(){this._bitField=this._bitField|1048576},m.prototype._unsetRejectionIsUnhandled=function(){this._bitField=this._bitField&-1048577,this._isUnhandledRejectionNotified()&&(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},m.prototype._isRejectionUnhandled=function(){return(this._bitField&1048576)>0},m.prototype._warn=function(Ze,ut,St){return we(Ze,ut,St||this)},m.onPossiblyUnhandledRejection=function(Ze){var ut=m._getContext();w=v.contextBind(ut,Ze)},m.onUnhandledRejectionHandled=function(Ze){var ut=m._getContext();T=v.contextBind(ut,Ze)};var X=function(){};m.longStackTraces=function(){if(y.haveItemsQueued()&&!Qt.longStackTraces)throw new Error(`cannot enable long stack traces after promises have been created See http://goo.gl/MqrFmX `);if(!Qt.longStackTraces&&Xe()){var Ze=m.prototype._captureStackTrace,ut=m.prototype._attachExtraTrace,St=m.prototype._dereferenceTrace;Qt.longStackTraces=!0,X=function(){if(y.haveItemsQueued()&&!Qt.longStackTraces)throw new Error(`cannot enable long stack traces after promises have been created See http://goo.gl/MqrFmX `);m.prototype._captureStackTrace=Ze,m.prototype._attachExtraTrace=ut,m.prototype._dereferenceTrace=St,C.deactivateLongStackTraces(),Qt.longStackTraces=!1},m.prototype._captureStackTrace=se,m.prototype._attachExtraTrace=de,m.prototype._dereferenceTrace=me,C.activateLongStackTraces()}},m.hasLongStackTraces=function(){return Qt.longStackTraces&&Xe()};var q={unhandledrejection:{before:function(){var Ze=v.global.onunhandledrejection;return v.global.onunhandledrejection=null,Ze},after:function(Ze){v.global.onunhandledrejection=Ze}},rejectionhandled:{before:function(){var Ze=v.global.onrejectionhandled;return v.global.onrejectionhandled=null,Ze},after:function(Ze){v.global.onrejectionhandled=Ze}}},ee=function(){var Ze=function(St,gt){if(St){var xt;try{return xt=St.before(),!v.global.dispatchEvent(gt)}finally{St.after(xt)}}else return!v.global.dispatchEvent(gt)};try{if(typeof CustomEvent=="function"){var ut=new CustomEvent("CustomEvent");return v.global.dispatchEvent(ut),function(St,gt){St=St.toLowerCase();var xt={detail:gt,cancelable:!0},Lt=new CustomEvent(St,xt);return B.defineProperty(Lt,"promise",{value:gt.promise}),B.defineProperty(Lt,"reason",{value:gt.reason}),Ze(q[St],Lt)}}else if(typeof Event=="function"){var ut=new Event("CustomEvent");return v.global.dispatchEvent(ut),function(gt,xt){gt=gt.toLowerCase();var Lt=new Event(gt,{cancelable:!0});return Lt.detail=xt,B.defineProperty(Lt,"promise",{value:xt.promise}),B.defineProperty(Lt,"reason",{value:xt.reason}),Ze(q[gt],Lt)}}else{var ut=document.createEvent("CustomEvent");return ut.initCustomEvent("testingtheevent",!1,!0,{}),v.global.dispatchEvent(ut),function(gt,xt){gt=gt.toLowerCase();var Lt=document.createEvent("CustomEvent");return Lt.initCustomEvent(gt,!1,!0,xt),Ze(q[gt],Lt)}}}catch{}return function(){return!1}}(),ie=function(){return v.isNode?function(){return process.emit.apply(process,arguments)}:v.global?function(Ze){var ut="on"+Ze.toLowerCase(),St=v.global[ut];return St?(St.apply(v.global,[].slice.call(arguments,1)),!0):!1}:function(){return!1}}();function H(Ze,ut){return{promise:ut}}var le={promiseCreated:H,promiseFulfilled:H,promiseRejected:H,promiseResolved:H,promiseCancelled:H,promiseChained:function(Ze,ut,St){return{promise:ut,child:St}},warning:function(Ze,ut){return{warning:ut}},unhandledRejection:function(Ze,ut,St){return{reason:ut,promise:St}},rejectionHandled:H},ue=function(Ze){var ut=!1;try{ut=ie.apply(null,arguments)}catch(gt){y.throwLater(gt),ut=!0}var St=!1;try{St=ee(Ze,le[Ze].apply(null,arguments))}catch(gt){y.throwLater(gt),St=!0}return St||ut};m.config=function(Ze){if(Ze=Object(Ze),"longStackTraces"in Ze&&(Ze.longStackTraces?m.longStackTraces():!Ze.longStackTraces&&m.hasLongStackTraces()&&X()),"warnings"in Ze){var ut=Ze.warnings;Qt.warnings=!!ut,J=Qt.warnings,v.isObject(ut)&&"wForgottenReturn"in ut&&(J=!!ut.wForgottenReturn)}if("cancellation"in Ze&&Ze.cancellation&&!Qt.cancellation){if(y.haveItemsQueued())throw new Error("cannot enable cancellation after promises are in use");m.prototype._clearCancellationData=U,m.prototype._propagateFrom=W,m.prototype._onCancel=fe,m.prototype._setOnCancel=ae,m.prototype._attachCancellationCallback=ge,m.prototype._execute=he,z=W,Qt.cancellation=!0}if("monitoring"in Ze&&(Ze.monitoring&&!Qt.monitoring?(Qt.monitoring=!0,m.prototype._fireEvent=ue):!Ze.monitoring&&Qt.monitoring&&(Qt.monitoring=!1,m.prototype._fireEvent=Ae)),"asyncHooks"in Ze&&v.nodeSupportsAsyncResource){var St=Qt.asyncHooks,gt=!!Ze.asyncHooks;St!==gt&&(Qt.asyncHooks=gt,gt?E():x())}return m};function Ae(){return!1}m.prototype._fireEvent=Ae,m.prototype._execute=function(Ze,ut,St){try{Ze(ut,St)}catch(gt){return gt}},m.prototype._onCancel=function(){},m.prototype._setOnCancel=function(Ze){},m.prototype._attachCancellationCallback=function(Ze){},m.prototype._captureStackTrace=function(){},m.prototype._attachExtraTrace=function(){},m.prototype._dereferenceTrace=function(){},m.prototype._clearCancellationData=function(){},m.prototype._propagateFrom=function(Ze,ut){};function he(Ze,ut,St){var gt=this;try{Ze(ut,St,function(xt){if(typeof xt!="function")throw new TypeError("onCancel must be a function, got: "+v.toString(xt));gt._attachCancellationCallback(xt)})}catch(xt){return xt}}function ge(Ze){if(!this._isCancellable())return this;var ut=this._onCancel();ut!==void 0?v.isArray(ut)?ut.push(Ze):this._setOnCancel([ut,Ze]):this._setOnCancel(Ze)}function fe(){return this._onCancelField}function ae(Ze){this._onCancelField=Ze}function U(){this._cancellationParent=void 0,this._onCancelField=void 0}function W(Ze,ut){if((ut&1)!==0){this._cancellationParent=Ze;var St=Ze._branchesRemainingToCancel;St===void 0&&(St=0),Ze._branchesRemainingToCancel=St+1}(ut&2)!==0&&Ze._isBound()&&this._setBoundTo(Ze._boundTo)}function Y(Ze,ut){(ut&2)!==0&&Ze._isBound()&&this._setBoundTo(Ze._boundTo)}var z=Y;function re(){var Ze=this._boundTo;return Ze!==void 0&&Ze instanceof m?Ze.isFulfilled()?Ze.value():void 0:Ze}function se(){this._trace=new ct(this._peekContext())}function de(Ze,ut){if(Q(Ze)){var St=this._trace;if(St!==void 0&&ut&&(St=St._parent),St!==void 0)St.attachExtraTrace(Ze);else if(!Ze.__stackCleaned__){var gt=be(Ze);v.notEnumerableProp(Ze,"stack",gt.message+` `+gt.stack.join(` `)),v.notEnumerableProp(Ze,"__stackCleaned__",!0)}}}function me(){this._trace=void 0}function Ce(Ze,ut,St,gt,xt){if(Ze===void 0&&ut!==null&&J){if(xt!==void 0&&xt._returnedNonUndefined()||(gt._bitField&65535)===0)return;St&&(St=St+" ");var Lt="",nt="";if(ut._trace){for(var Pe=ut._trace.stack.split(` `),ve=Oe(Pe),We=ve.length-1;We>=0;--We){var bt=ve[We];if(!D.test(bt)){var Pt=bt.match(R);Pt&&(Lt="at "+Pt[1]+":"+Pt[2]+":"+Pt[3]+" ");break}}if(ve.length>0){for(var It=ve[0],We=0;We0&&(nt=` `+Pe[We-1]);break}}}var Mi="a promise was created in a "+St+"handler "+Lt+"but was not returned from it, see http://goo.gl/rRqMUw"+nt;gt._warn(Mi,!0,ut)}}function Ie(Ze,ut){var St=Ze+" is deprecated and will be removed in a future version.";return ut&&(St+=" Use "+ut+" instead."),we(St)}function we(Ze,ut,St){if(!!Qt.warnings){var gt=new I(Ze),xt;if(ut)St._attachExtraTrace(gt);else if(Qt.longStackTraces&&(xt=m._peekContext()))xt.attachExtraTrace(gt);else{var Lt=be(gt);gt.stack=Lt.message+` `+Lt.stack.join(` `)}ue("warning",gt)||Ne(gt,"",!0)}}function Te(Ze,ut){for(var St=0;St=0;--Pe)if(gt[Pe]===Lt){nt=Pe;break}for(var Pe=nt;Pe>=0;--Pe){var ve=gt[Pe];if(ut[xt]===ve)ut.pop(),xt--;else break}ut=gt}}function Oe(Ze){for(var ut=[],St=0;St0&&Ze.name!="SyntaxError"&&(ut=ut.slice(St)),ut}function be(Ze){var ut=Ze.stack,St=Ze.toString();return ut=typeof ut=="string"&&ut.length>0?Le(Ze):[" (No stack trace)"],{message:St,stack:Ze.name=="SyntaxError"?ut:Oe(ut)}}function Ne(Ze,ut,St){if(typeof console<"u"){var gt;if(v.isObject(Ze)){var xt=Ze.stack;gt=ut+M(xt,Ze)}else gt=ut+String(Ze);typeof F=="function"?F(gt,St):(typeof console.log=="function"||typeof console.log=="object")&&console.log(gt)}}function Ue(Ze,ut,St,gt){var xt=!1;try{typeof ut=="function"&&(xt=!0,Ze==="rejectionHandled"?ut(gt):ut(St,gt))}catch(Lt){y.throwLater(Lt)}Ze==="unhandledRejection"?!ue(Ze,St,gt)&&!xt&&Ne(St,"Unhandled rejection "):ue(Ze,gt)}function ze(Ze){var ut;if(typeof Ze=="function")ut="[function "+(Ze.name||"anonymous")+"]";else{ut=Ze&&typeof Ze.toString=="function"?Ze.toString():v.toString(Ze);var St=/\[object [a-zA-Z0-9$_]+\]/;if(St.test(ut))try{var gt=JSON.stringify(Ze);ut=gt}catch{}ut.length===0&&(ut="(empty array)")}return"(<"+Je(ut)+">, no stack trace)"}function Je(Ze){var ut=41;return Ze.length=Lt||(et=function(bt){if(S.test(bt))return!0;var Pt=Et(bt);return!!(Pt&&Pt.fileName===nt&&xt<=Pt.line&&Pt.line<=Lt)})}}function ct(Ze){this._parent=Ze,this._promisesCreated=0;var ut=this._length=1+(Ze===void 0?0:Ze._length);yt(this,ct),ut>32&&this.uncycle()}v.inherits(ct,Error),C.CapturedTrace=ct,ct.prototype.uncycle=function(){var Ze=this._length;if(!(Ze<2)){for(var ut=[],St={},gt=0,xt=this;xt!==void 0;++gt)ut.push(xt),xt=xt._parent;Ze=this._length=gt;for(var gt=Ze-1;gt>=0;--gt){var Lt=ut[gt].stack;St[Lt]===void 0&&(St[Lt]=gt)}for(var gt=0;gt0&&(ut[Pe-1]._parent=void 0,ut[Pe-1]._length=1),ut[gt]._parent=void 0,ut[gt]._length=1;var ve=gt>0?ut[gt-1]:this;Pe=0;--bt)ut[bt]._length=We,We++;return}}}},ct.prototype.attachExtraTrace=function(Ze){if(!Ze.__stackCleaned__){this.uncycle();for(var ut=be(Ze),St=ut.message,gt=[ut.stack],xt=this;xt!==void 0;)gt.push(Oe(xt.stack.split(` `))),xt=xt._parent;ke(gt),Ge(gt),v.notEnumerableProp(Ze,"stack",Te(St,gt)),v.notEnumerableProp(Ze,"__stackCleaned__",!0)}};var yt=function(){var ut=/^\s*at\s*/,St=function(nt,Pe){return typeof nt=="string"?nt:Pe.name!==void 0&&Pe.message!==void 0?Pe.toString():ze(Pe)};if(typeof Error.stackTraceLimit=="number"&&typeof Error.captureStackTrace=="function"){Error.stackTraceLimit+=6,P=ut,M=St;var gt=Error.captureStackTrace;return et=function(nt){return S.test(nt)},function(nt,Pe){Error.stackTraceLimit+=6,gt(nt,Pe),Error.stackTraceLimit-=6}}var xt=new Error;if(typeof xt.stack=="string"&&xt.stack.split(` `)[0].indexOf("stackDetection@")>=0)return P=/@/,M=St,L=!0,function(Pe){Pe.stack=new Error().stack};var Lt;try{throw new Error}catch(nt){Lt="stack"in nt}return!("stack"in xt)&&Lt&&typeof Error.stackTraceLimit=="number"?(P=ut,M=St,function(Pe){Error.stackTraceLimit+=6;try{throw new Error}catch(ve){Pe.stack=ve.stack}Error.stackTraceLimit-=6}):(M=function(nt,Pe){return typeof nt=="string"?nt:(typeof Pe=="object"||typeof Pe=="function")&&Pe.name!==void 0&&Pe.message!==void 0?Pe.toString():ze(Pe)},null)}([]);typeof console<"u"&&typeof console.warn<"u"&&(F=function(Ze){console.warn(Ze)},v.isNode&&process.stderr.isTTY?F=function(Ze,ut){var St=ut?"\x1B[33m":"\x1B[31m";console.warn(St+Ze+`\x1B[0m `)}:!v.isNode&&typeof new Error().stack=="string"&&(F=function(Ze,ut){console.warn("%c"+Ze,ut?"color: darkorange":"color: red")}));var Qt={warnings:N,longStackTraces:!1,cancellation:!1,monitoring:!1,asyncHooks:!1};return G&&m.longStackTraces(),{asyncHooks:function(){return Qt.asyncHooks},longStackTraces:function(){return Qt.longStackTraces},warnings:function(){return Qt.warnings},cancellation:function(){return Qt.cancellation},monitoring:function(){return Qt.monitoring},propagateFromFunction:function(){return z},boundValueFunction:function(){return re},checkForgottenReturns:Ce,setBounds:Ct,warn:we,deprecated:Ie,CapturedTrace:ct,fireDomEvent:ee,fireGlobalEvent:ie}}},{"./errors":12,"./es5":13,"./util":36}],10:[function(o,A,f){"use strict";A.exports=function(m){function C(){return this.value}function E(){throw this.reason}m.prototype.return=m.prototype.thenReturn=function(x){return x instanceof m&&x.suppressUnhandledRejections(),this._then(C,void 0,void 0,{value:x},void 0)},m.prototype.throw=m.prototype.thenThrow=function(x){return this._then(E,void 0,void 0,{reason:x},void 0)},m.prototype.catchThrow=function(x){if(arguments.length<=1)return this._then(void 0,E,void 0,{reason:x},void 0);var y=arguments[1],I=function(){throw y};return this.caught(x,I)},m.prototype.catchReturn=function(x){if(arguments.length<=1)return x instanceof m&&x.suppressUnhandledRejections(),this._then(void 0,C,void 0,{value:x},void 0);var y=arguments[1];y instanceof m&&y.suppressUnhandledRejections();var I=function(){return y};return this.caught(x,I)}}},{}],11:[function(o,A,f){"use strict";A.exports=function(m,C){var E=m.reduce,x=m.all;function y(){return x(this)}function I(v,B){return E(v,B,C,C)}m.prototype.each=function(v){return E(this,v,C,0)._then(y,void 0,void 0,this,void 0)},m.prototype.mapSeries=function(v){return E(this,v,C,C)},m.each=function(v,B){return E(v,B,C,0)._then(y,void 0,void 0,v,void 0)},m.mapSeries=I}},{}],12:[function(o,A,f){"use strict";var m=o("./es5"),C=m.freeze,E=o("./util"),x=E.inherits,y=E.notEnumerableProp;function I(F,k){function N(G){if(!(this instanceof N))return new N(G);y(this,"message",typeof G=="string"?G:k),y(this,"name",F),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):Error.call(this)}return x(N,Error),N}var v,B,Q=I("Warning","warning"),T=I("CancellationError","cancellation error"),w=I("TimeoutError","timeout error"),S=I("AggregateError","aggregate error");try{v=TypeError,B=RangeError}catch{v=I("TypeError","type error"),B=I("RangeError","range error")}for(var D="join pop push shift unshift slice filter forEach some every map indexOf lastIndexOf reduce reduceRight sort reverse".split(" "),R=0;R1?R.cancelPromise._reject(P):R.cancelPromise._cancel(),R.cancelPromise=null,!0):!1}function w(){return D.call(this,this.promise._target()._settledValue())}function S(R){if(!T(this,R))return I.e=R,I}function D(R){var P=this.promise,M=this.handler;if(!this.called){this.called=!0;var L=this.isFinallyHandler()?M.call(P._boundValue()):M.call(P._boundValue(),R);if(L===E)return L;if(L!==void 0){P._setReturnedNonUndefined();var F=C(L,P);if(F instanceof m){if(this.cancelPromise!=null)if(F._isCancelled()){var k=new y("late cancellation observer");return P._attachExtraTrace(k),I.e=k,I}else F.isPending()&&F._attachCancellationCallback(new Q(this));return F._then(w,S,void 0,this,void 0)}}}return P.isRejected()?(T(this),I.e=R,I):(T(this),R)}return m.prototype._passThrough=function(R,P,M,L){return typeof R!="function"?this.then():this._then(M,L,void 0,new B(this,P,R),void 0)},m.prototype.lastly=m.prototype.finally=function(R){return this._passThrough(R,0,D,D)},m.prototype.tap=function(R){return this._passThrough(R,1,D)},m.prototype.tapCatch=function(R){var P=arguments.length;if(P===1)return this._passThrough(R,1,void 0,D);var M=new Array(P-1),L=0,F;for(F=0;F0&&typeof arguments[F]=="function"&&(k=arguments[F],!1&&F<=8&&v)){var H,N,G,J;for(var K;K=1&&(this._inFlight--,this._drainQueue(),this._isResolved()))return!0}else{if(F>=1&&this._inFlight>=F)return P[R]=D,this._queue.push(R),!1;L!==null&&(L[R]=D);var k=this._promise,N=this._callback,G=k._boundValue();k._pushContext();var J=B(N).call(G,D,R,M),K=k._popContext();if(I.checkForgottenReturns(J,K,L!==null?"Promise.filter":"Promise.map",k),J===Q)return this._reject(J.e),!0;var X=x(J,this._promise);if(X instanceof m){X=X._target();var q=X._bitField;if((q&50397184)===0)return F>=1&&this._inFlight++,P[R]=X,X._proxy(this,(R+1)*-1),!1;if((q&33554432)!==0)J=X._value();else return(q&16777216)!==0?(this._reject(X._reason()),!0):(this._cancel(),!0)}P[R]=J}var ee=++this._totalResolved;return ee>=M?(L!==null?this._filter(P,L):this._resolve(P),!0):!1},w.prototype._drainQueue=function(){for(var D=this._queue,R=this._limit,P=this._values;D.length>0&&this._inFlight=1?L:0,new w(D,R,L,M).promise()}m.prototype.map=function(D,R){return S(this,D,R,null)},m.map=function(D,R,P,M){return S(D,R,P,M)}}},{"./util":36}],19:[function(o,A,f){"use strict";A.exports=function(m,C,E,x,y){var I=o("./util"),v=I.tryCatch;m.method=function(B){if(typeof B!="function")throw new m.TypeError("expecting a function but got "+I.classString(B));return function(){var Q=new m(C);Q._captureStackTrace(),Q._pushContext();var T=v(B).apply(this,arguments),w=Q._popContext();return y.checkForgottenReturns(T,w,"Promise.method",Q),Q._resolveFromSyncValue(T),Q}},m.attempt=m.try=function(B){if(typeof B!="function")return x("expecting a function but got "+I.classString(B));var Q=new m(C);Q._captureStackTrace(),Q._pushContext();var T;if(arguments.length>1){y.deprecated("calling Promise.try with more than 1 argument");var w=arguments[1],S=arguments[2];T=I.isArray(w)?v(B).apply(S,w):v(B).call(S,w)}else T=v(B)();var D=Q._popContext();return y.checkForgottenReturns(T,D,"Promise.try",Q),Q._resolveFromSyncValue(T),Q},m.prototype._resolveFromSyncValue=function(B){B===I.errorObj?this._rejectCallback(B.e,!1):this._resolveCallback(B,!0)}}},{"./util":36}],20:[function(o,A,f){"use strict";var m=o("./util"),C=m.maybeWrapAsError,E=o("./errors"),x=E.OperationalError,y=o("./es5");function I(T){return T instanceof Error&&y.getPrototypeOf(T)===Error.prototype}var v=/^(?:name|message|stack|cause)$/;function B(T){var w;if(I(T)){w=new x(T),w.name=T.name,w.message=T.message,w.stack=T.stack;for(var S=y.keys(T),D=0;D1){var de=new Array(se-1),me=0,Ce;for(Ce=0;Ce0&&typeof re!="function"&&typeof se!="function"){var de=".then() only accepts functions but was passed: "+I.classString(re);arguments.length>1&&(de+=", "+I.classString(se)),this._warn(de)}return this._then(re,se,void 0,void 0,void 0)},U.prototype.done=function(re,se){var de=this._then(re,se,void 0,void 0,void 0);de._setIsFinal()},U.prototype.spread=function(re){return typeof re!="function"?E("expecting a function but got "+I.classString(re)):this.all()._then(re,void 0,void 0,J,void 0)},U.prototype.toJSON=function(){var re={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(re.fulfillmentValue=this.value(),re.isFulfilled=!0):this.isRejected()&&(re.rejectionReason=this.reason(),re.isRejected=!0),re},U.prototype.all=function(){return arguments.length>0&&this._warn(".all() was passed arguments but it does not take any"),new q(this).promise()},U.prototype.error=function(re){return this.caught(I.originatesFromRejection,re)},U.getNewLibraryCopy=A.exports,U.is=function(re){return re instanceof U},U.fromNode=U.fromCallback=function(re){var se=new U(G);se._captureStackTrace();var de=arguments.length>1?!!Object(arguments[1]).multiArgs:!1,me=fe(re)(he(se,de));return me===ge&&se._rejectCallback(me.e,!0),se._isFateSealed()||se._setAsyncGuaranteed(),se},U.all=function(re){return new q(re).promise()},U.cast=function(re){var se=X(re);return se instanceof U||(se=new U(G),se._captureStackTrace(),se._setFulfilled(),se._rejectionHandler0=re),se},U.resolve=U.fulfilled=U.cast,U.reject=U.rejected=function(re){var se=new U(G);return se._captureStackTrace(),se._rejectCallback(re,!0),se},U.setScheduler=function(re){if(typeof re!="function")throw new k("expecting a function but got "+I.classString(re));return L.setScheduler(re)},U.prototype._then=function(re,se,de,me,Ce){var Ie=Ce!==void 0,we=Ie?Ce:new U(G),Te=this._target(),Ge=Te._bitField;Ie||(we._propagateFrom(this,3),we._captureStackTrace(),me===void 0&&(this._bitField&2097152)!==0&&((Ge&50397184)!==0?me=this._boundValue():me=Te===this?void 0:this._boundTo),this._fireEvent("promiseChained",this,we));var ke=S();if((Ge&50397184)!==0){var Oe,Le,be=Te._settlePromiseCtx;(Ge&33554432)!==0?(Le=Te._rejectionHandler0,Oe=re):(Ge&16777216)!==0?(Le=Te._fulfillmentHandler0,Oe=se,Te._unsetRejectionIsUnhandled()):(be=Te._settlePromiseLateCancellationObserver,Le=new N("late cancellation observer"),Te._attachExtraTrace(Le),Oe=se),L.invoke(be,Te,{handler:I.contextBind(ke,Oe),promise:we,receiver:me,value:Le})}else Te._addCallbacks(re,se,we,me,ke);return we},U.prototype._length=function(){return this._bitField&65535},U.prototype._isFateSealed=function(){return(this._bitField&117506048)!==0},U.prototype._isFollowing=function(){return(this._bitField&67108864)===67108864},U.prototype._setLength=function(re){this._bitField=this._bitField&-65536|re&65535},U.prototype._setFulfilled=function(){this._bitField=this._bitField|33554432,this._fireEvent("promiseFulfilled",this)},U.prototype._setRejected=function(){this._bitField=this._bitField|16777216,this._fireEvent("promiseRejected",this)},U.prototype._setFollowing=function(){this._bitField=this._bitField|67108864,this._fireEvent("promiseResolved",this)},U.prototype._setIsFinal=function(){this._bitField=this._bitField|4194304},U.prototype._isFinal=function(){return(this._bitField&4194304)>0},U.prototype._unsetCancelled=function(){this._bitField=this._bitField&-65537},U.prototype._setCancelled=function(){this._bitField=this._bitField|65536,this._fireEvent("promiseCancelled",this)},U.prototype._setWillBeCancelled=function(){this._bitField=this._bitField|8388608},U.prototype._setAsyncGuaranteed=function(){if(!L.hasCustomScheduler()){var re=this._bitField;this._bitField=re|(re&536870912)>>2^134217728}},U.prototype._setNoAsyncGuarantee=function(){this._bitField=(this._bitField|536870912)&-134217729},U.prototype._receiverAt=function(re){var se=re===0?this._receiver0:this[re*4-4+3];if(se!==y)return se===void 0&&this._isBound()?this._boundValue():se},U.prototype._promiseAt=function(re){return this[re*4-4+2]},U.prototype._fulfillmentHandlerAt=function(re){return this[re*4-4+0]},U.prototype._rejectionHandlerAt=function(re){return this[re*4-4+1]},U.prototype._boundValue=function(){},U.prototype._migrateCallback0=function(re){var se=re._bitField,de=re._fulfillmentHandler0,me=re._rejectionHandler0,Ce=re._promise0,Ie=re._receiverAt(0);Ie===void 0&&(Ie=y),this._addCallbacks(de,me,Ce,Ie,null)},U.prototype._migrateCallbackAt=function(re,se){var de=re._fulfillmentHandlerAt(se),me=re._rejectionHandlerAt(se),Ce=re._promiseAt(se),Ie=re._receiverAt(se);Ie===void 0&&(Ie=y),this._addCallbacks(de,me,Ce,Ie,null)},U.prototype._addCallbacks=function(re,se,de,me,Ce){var Ie=this._length();if(Ie>=65535-4&&(Ie=0,this._setLength(0)),Ie===0)this._promise0=de,this._receiver0=me,typeof re=="function"&&(this._fulfillmentHandler0=I.contextBind(Ce,re)),typeof se=="function"&&(this._rejectionHandler0=I.contextBind(Ce,se));else{var we=Ie*4-4;this[we+2]=de,this[we+3]=me,typeof re=="function"&&(this[we+0]=I.contextBind(Ce,re)),typeof se=="function"&&(this[we+1]=I.contextBind(Ce,se))}return this._setLength(Ie+1),Ie},U.prototype._proxy=function(re,se){this._addCallbacks(void 0,void 0,se,re,null)},U.prototype._resolveCallback=function(re,se){if((this._bitField&117506048)===0){if(re===this)return this._rejectCallback(m(),!1);var de=X(re,this);if(!(de instanceof U))return this._fulfill(re);se&&this._propagateFrom(de,2);var me=de._target();if(me===this){this._reject(m());return}var Ce=me._bitField;if((Ce&50397184)===0){var Ie=this._length();Ie>0&&me._migrateCallback0(this);for(var we=1;we>>16)){if(re===this){var de=m();return this._attachExtraTrace(de),this._reject(de)}this._setFulfilled(),this._rejectionHandler0=re,(se&65535)>0&&((se&134217728)!==0?this._settlePromises():L.settlePromises(this),this._dereferenceTrace())}},U.prototype._reject=function(re){var se=this._bitField;if(!((se&117506048)>>>16)){if(this._setRejected(),this._fulfillmentHandler0=re,this._isFinal())return L.fatalError(re,I.isNode);(se&65535)>0?L.settlePromises(this):this._ensurePossibleRejectionHandled()}},U.prototype._fulfillPromises=function(re,se){for(var de=1;de0){if((re&16842752)!==0){var de=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,de,re),this._rejectPromises(se,de)}else{var me=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,me,re),this._fulfillPromises(se,me)}this._setLength(0)}this._clearCancellationData()},U.prototype._settledValue=function(){var re=this._bitField;if((re&33554432)!==0)return this._rejectionHandler0;if((re&16777216)!==0)return this._fulfillmentHandler0},typeof Symbol<"u"&&Symbol.toStringTag&&P.defineProperty(U.prototype,Symbol.toStringTag,{get:function(){return"Object"}});function W(re){this.promise._resolveCallback(re)}function Y(re){this.promise._rejectCallback(re,!1)}U.defer=U.pending=function(){H.deprecated("Promise.defer","new Promise");var re=new U(G);return{promise:re,resolve:W,reject:Y}},I.notEnumerableProp(U,"_makeSelfResolutionError",m),o("./method")(U,G,X,E,H),o("./bind")(U,G,X,H),o("./cancel")(U,q,E,H),o("./direct_resolve")(U),o("./synchronous_inspection")(U),o("./join")(U,q,X,G,L),U.Promise=U,U.version="3.7.2",o("./call_get.js")(U),o("./generators.js")(U,E,G,X,x,H),o("./map.js")(U,q,E,X,G,H),o("./nodeify.js")(U),o("./promisify.js")(U,G),o("./props.js")(U,q,X,E),o("./race.js")(U,G,X,E),o("./reduce.js")(U,q,E,X,G,H),o("./settle.js")(U,q,H),o("./some.js")(U,q,E),o("./timers.js")(U,G,H),o("./using.js")(U,E,X,ie,G,H),o("./any.js")(U),o("./each.js")(U,G),o("./filter.js")(U,G),I.toFastProperties(U),I.toFastProperties(U.prototype);function z(re){var se=new U(G);se._fulfillmentHandler0=re,se._rejectionHandler0=re,se._promise0=re,se._receiver0=re}return z({a:1}),z({b:2}),z({c:3}),z(1),z(function(){}),z(void 0),z(!1),z(new U(G)),H.setBounds(M.firstLineError,I.lastLineError),U}},{"./any.js":1,"./async":2,"./bind":3,"./call_get.js":5,"./cancel":6,"./catch_filter":7,"./context":8,"./debuggability":9,"./direct_resolve":10,"./each.js":11,"./errors":12,"./es5":13,"./filter.js":14,"./finally":15,"./generators.js":16,"./join":17,"./map.js":18,"./method":19,"./nodeback":20,"./nodeify.js":21,"./promise_array":23,"./promisify.js":24,"./props.js":25,"./race.js":27,"./reduce.js":28,"./settle.js":30,"./some.js":31,"./synchronous_inspection":32,"./thenables":33,"./timers.js":34,"./using.js":35,"./util":36,async_hooks:void 0}],23:[function(o,A,f){"use strict";A.exports=function(m,C,E,x,y){var I=o("./util"),v=I.isArray;function B(T){switch(T){case-2:return[];case-3:return{};case-6:return new Map}}function Q(T){var w=this._promise=new m(C);T instanceof m&&(w._propagateFrom(T,3),T.suppressUnhandledRejections()),w._setOnCancel(this),this._values=T,this._length=0,this._totalResolved=0,this._init(void 0,-2)}return I.inherits(Q,y),Q.prototype.length=function(){return this._length},Q.prototype.promise=function(){return this._promise},Q.prototype._init=function T(w,S){var D=E(this._values,this._promise);if(D instanceof m){D=D._target();var R=D._bitField;if(this._values=D,(R&50397184)===0)return this._promise._setAsyncGuaranteed(),D._then(T,this._reject,void 0,this,S);if((R&33554432)!==0)D=D._value();else return(R&16777216)!==0?this._reject(D._reason()):this._cancel()}if(D=I.asArray(D),D===null){var P=x("expecting an array or an iterable object but got "+I.classString(D)).reason();this._promise._rejectCallback(P,!1);return}if(D.length===0){S===-5?this._resolveEmptyArray():this._resolve(B(S));return}this._iterate(D)},Q.prototype._iterate=function(T){var w=this.getActualLength(T.length);this._length=w,this._values=this.shouldCopyValues()?new Array(w):this._values;for(var S=this._promise,D=!1,R=null,P=0;P=this._length?(this._resolve(this._values),!0):!1},Q.prototype._promiseCancelled=function(){return this._cancel(),!0},Q.prototype._promiseRejected=function(T){return this._totalResolved++,this._reject(T),!0},Q.prototype._resultCancelled=function(){if(!this._isResolved()){var T=this._values;if(this._cancel(),T instanceof m)T.cancel();else for(var w=0;w=this._length){var M;if(this._isMap)M=T(this._values);else{M={};for(var L=this.length(),F=0,k=this.length();F>1};function S(D){var R,P=E(D);if(I(P))P instanceof m?R=P._then(m.props,void 0,void 0,void 0,void 0):R=new w(P).promise();else return x(`cannot await properties of a non-object See http://goo.gl/MqrFmX `);return P instanceof m&&R._propagateFrom(P,2),R}m.prototype.props=function(){return S(this)},m.props=function(D){return S(D)}}},{"./es5":13,"./util":36}],26:[function(o,A,f){"use strict";function m(E,x,y,I,v){for(var B=0;B"u"){var y=global.setImmediate,I=process.nextTick;C=m.isRecentNode?function(B){y.call(global,B)}:function(B){I.call(process,B)}}else if(typeof x=="function"&&typeof x.resolve=="function"){var v=x.resolve();C=function(B){v.then(B)}}else typeof MutationObserver<"u"&&!(typeof window<"u"&&window.navigator&&(window.navigator.standalone||window.cordova))&&"classList"in document.documentElement?C=function(){var B=document.createElement("div"),Q={attributes:!0},T=!1,w=document.createElement("div"),S=new MutationObserver(function(){B.classList.toggle("foo"),T=!1});S.observe(w,Q);var D=function(){T||(T=!0,w.classList.toggle("foo"))};return function(P){var M=new MutationObserver(function(){M.disconnect(),P()});M.observe(B,Q),D()}}():typeof setImmediate<"u"?C=function(B){setImmediate(B)}:typeof setTimeout<"u"?C=function(B){setTimeout(B,0)}:C=E;A.exports=C},{"./util":36}],30:[function(o,A,f){"use strict";A.exports=function(m,C,E){var x=m.PromiseInspection,y=o("./util");function I(v){this.constructor$(v)}y.inherits(I,C),I.prototype._promiseResolved=function(v,B){this._values[v]=B;var Q=++this._totalResolved;return Q>=this._length?(this._resolve(this._values),!0):!1},I.prototype._promiseFulfilled=function(v,B){var Q=new x;return Q._bitField=33554432,Q._settledValueField=v,this._promiseResolved(B,Q)},I.prototype._promiseRejected=function(v,B){var Q=new x;return Q._bitField=16777216,Q._settledValueField=v,this._promiseResolved(B,Q)},m.settle=function(v){return E.deprecated(".settle()",".reflect()"),new I(v).promise()},m.allSettled=function(v){return new I(v).promise()},m.prototype.settle=function(){return m.settle(this)}}},{"./util":36}],31:[function(o,A,f){"use strict";A.exports=function(m,C,E){var x=o("./util"),y=o("./errors").RangeError,I=o("./errors").AggregateError,v=x.isArray,B={};function Q(w){this.constructor$(w),this._howMany=0,this._unwrap=!1,this._initialized=!1}x.inherits(Q,C),Q.prototype._init=function(){if(!!this._initialized){if(this._howMany===0){this._resolve([]);return}this._init$(void 0,-5);var w=v(this._values);!this._isResolved()&&w&&this._howMany>this._canPossiblyFulfill()&&this._reject(this._getRangeError(this.length()))}},Q.prototype.init=function(){this._initialized=!0,this._init()},Q.prototype.setUnwrap=function(){this._unwrap=!0},Q.prototype.howMany=function(){return this._howMany},Q.prototype.setHowMany=function(w){this._howMany=w},Q.prototype._promiseFulfilled=function(w){return this._addFulfilled(w),this._fulfilled()===this.howMany()?(this._values.length=this.howMany(),this.howMany()===1&&this._unwrap?this._resolve(this._values[0]):this._resolve(this._values),!0):!1},Q.prototype._promiseRejected=function(w){return this._addRejected(w),this._checkOutcome()},Q.prototype._promiseCancelled=function(){return this._values instanceof m||this._values==null?this._cancel():(this._addRejected(B),this._checkOutcome())},Q.prototype._checkOutcome=function(){if(this.howMany()>this._canPossiblyFulfill()){for(var w=new I,S=this.length();S0?this._reject(w):this._cancel(),!0}return!1},Q.prototype._fulfilled=function(){return this._totalResolved},Q.prototype._rejected=function(){return this._values.length-this.length()},Q.prototype._addRejected=function(w){this._values.push(w)},Q.prototype._addFulfilled=function(w){this._values[this._totalResolved++]=w},Q.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()},Q.prototype._getRangeError=function(w){var S="Input array must contain at least "+this._howMany+" items but contains only "+w+" items";return new y(S)},Q.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))};function T(w,S){if((S|0)!==S||S<0)return E(`expecting a positive integer See http://goo.gl/MqrFmX `);var D=new Q(w),R=D.promise();return D.setHowMany(S),D.init(),R}m.some=function(w,S){return T(w,S)},m.prototype.some=function(w){return T(this,w)},m._SomePromiseArray=Q}},{"./errors":12,"./util":36}],32:[function(o,A,f){"use strict";A.exports=function(m){function C(Q){Q!==void 0?(Q=Q._target(),this._bitField=Q._bitField,this._settledValueField=Q._isFateSealed()?Q._settledValue():void 0):(this._bitField=0,this._settledValueField=void 0)}C.prototype._settledValue=function(){return this._settledValueField};var E=C.prototype.value=function(){if(!this.isFulfilled())throw new TypeError(`cannot get fulfillment value of a non-fulfilled promise See http://goo.gl/MqrFmX `);return this._settledValue()},x=C.prototype.error=C.prototype.reason=function(){if(!this.isRejected())throw new TypeError(`cannot get rejection reason of a non-rejected promise See http://goo.gl/MqrFmX `);return this._settledValue()},y=C.prototype.isFulfilled=function(){return(this._bitField&33554432)!==0},I=C.prototype.isRejected=function(){return(this._bitField&16777216)!==0},v=C.prototype.isPending=function(){return(this._bitField&50397184)===0},B=C.prototype.isResolved=function(){return(this._bitField&50331648)!==0};C.prototype.isCancelled=function(){return(this._bitField&8454144)!==0},m.prototype.__isCancelled=function(){return(this._bitField&65536)===65536},m.prototype._isCancelled=function(){return this._target().__isCancelled()},m.prototype.isCancelled=function(){return(this._target()._bitField&8454144)!==0},m.prototype.isPending=function(){return v.call(this._target())},m.prototype.isRejected=function(){return I.call(this._target())},m.prototype.isFulfilled=function(){return y.call(this._target())},m.prototype.isResolved=function(){return B.call(this._target())},m.prototype.value=function(){return E.call(this._target())},m.prototype.reason=function(){var Q=this._target();return Q._unsetRejectionIsUnhandled(),x.call(Q)},m.prototype._value=function(){return this._settledValue()},m.prototype._reason=function(){return this._unsetRejectionIsUnhandled(),this._settledValue()},m.PromiseInspection=C}},{}],33:[function(o,A,f){"use strict";A.exports=function(m,C){var E=o("./util"),x=E.errorObj,y=E.isObject;function I(S,D){if(y(S)){if(S instanceof m)return S;var R=B(S);if(R===x){D&&D._pushContext();var P=m.reject(R.e);return D&&D._popContext(),P}else if(typeof R=="function"){if(T(S)){var P=new m(C);return S._then(P._fulfill,P._reject,void 0,P,null),P}return w(S,R,D)}}return S}function v(S){return S.then}function B(S){try{return v(S)}catch(D){return x.e=D,x}}var Q={}.hasOwnProperty;function T(S){try{return Q.call(S,"_promise0")}catch{return!1}}function w(S,D,R){var P=new m(C),M=P;R&&R._pushContext(),P._captureStackTrace(),R&&R._popContext();var L=!0,F=E.tryCatch(D).call(S,k,N);L=!1,P&&F===x&&(P._rejectCallback(F.e,!0,!0),P=null);function k(G){!P||(P._resolveCallback(G),P=null)}function N(G){!P||(P._rejectCallback(G,L,!0),P=null)}return M}return I}},{"./util":36}],34:[function(o,A,f){"use strict";A.exports=function(m,C,E){var x=o("./util"),y=m.TimeoutError;function I(S){this.handle=S}I.prototype._resultCancelled=function(){clearTimeout(this.handle)};var v=function(S){return B(+this).thenReturn(S)},B=m.delay=function(S,D){var R,P;return D!==void 0?(R=m.resolve(D)._then(v,null,null,S,void 0),E.cancellation()&&D instanceof m&&R._setOnCancel(D)):(R=new m(C),P=setTimeout(function(){R._fulfill()},+S),E.cancellation()&&R._setOnCancel(new I(P)),R._captureStackTrace()),R._setAsyncGuaranteed(),R};m.prototype.delay=function(S){return B(S,this)};var Q=function(S,D,R){var P;typeof D!="string"?D instanceof Error?P=D:P=new y("operation timed out"):P=new y(D),x.markAsOriginatingFromRejection(P),S._attachExtraTrace(P),S._reject(P),R?.cancel()};function T(S){return clearTimeout(this.handle),S}function w(S){throw clearTimeout(this.handle),S}m.prototype.timeout=function(S,D){S=+S;var R,P,M=new I(setTimeout(function(){R.isPending()&&Q(R,D,P)},S));return E.cancellation()?(P=this.then(),R=P._then(T,w,void 0,M,void 0),R._setOnCancel(M)):R=this._then(T,w,void 0,M,void 0),R}}},{"./util":36}],35:[function(o,A,f){"use strict";A.exports=function(m,C,E,x,y,I){var v=o("./util"),B=o("./errors").TypeError,Q=o("./util").inherits,T=v.errorObj,w=v.tryCatch,S={};function D(N){setTimeout(function(){throw N},0)}function R(N){var G=E(N);return G!==N&&typeof N._isDisposable=="function"&&typeof N._getDisposer=="function"&&N._isDisposable()&&G._setDisposable(N._getDisposer()),G}function P(N,G){var J=0,K=N.length,X=new m(y);function q(){if(J>=K)return X._fulfill();var ee=R(N[J++]);if(ee instanceof m&&ee._isDisposable()){try{ee=E(ee._getDisposer().tryDispose(G),N.promise)}catch(ie){return D(ie)}if(ee instanceof m)return ee._then(q,D,null,null,null)}q()}return q(),X}function M(N,G,J){this._data=N,this._promise=G,this._context=J}M.prototype.data=function(){return this._data},M.prototype.promise=function(){return this._promise},M.prototype.resource=function(){return this.promise().isFulfilled()?this.promise().value():S},M.prototype.tryDispose=function(N){var G=this.resource(),J=this._context;J!==void 0&&J._pushContext();var K=G!==S?this.doDispose(G,N):null;return J!==void 0&&J._popContext(),this._promise._unsetDisposable(),this._data=null,K},M.isDisposer=function(N){return N!=null&&typeof N.resource=="function"&&typeof N.tryDispose=="function"};function L(N,G,J){this.constructor$(N,G,J)}Q(L,M),L.prototype.doDispose=function(N,G){var J=this.data();return J.call(N,N,G)};function F(N){return M.isDisposer(N)?(this.resources[this.index]._setDisposable(N),N.promise()):N}function k(N){this.length=N,this.promise=null,this[N-1]=null}k.prototype._resultCancelled=function(){for(var N=this.length,G=0;G0},m.prototype._getDisposer=function(){return this._disposer},m.prototype._unsetDisposable=function(){this._bitField=this._bitField&-131073,this._disposer=void 0},m.prototype.disposer=function(N){if(typeof N=="function")return new L(N,this,x());throw new B}}},{"./errors":12,"./util":36}],36:[function(_dereq_,module,exports){"use strict";var es5=_dereq_("./es5"),canEvaluate=typeof navigator>"u",errorObj={e:{}},tryCatchTarget,globalObject=typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:this!==void 0?this:null;function tryCatcher(){try{var o=tryCatchTarget;return tryCatchTarget=null,o.apply(this,arguments)}catch(A){return errorObj.e=A,errorObj}}function tryCatch(o){return tryCatchTarget=o,tryCatcher}var inherits=function(o,A){var f={}.hasOwnProperty;function m(){this.constructor=o,this.constructor$=A;for(var C in A.prototype)f.call(A.prototype,C)&&C.charAt(C.length-1)!=="$"&&(this[C+"$"]=A.prototype[C])}return m.prototype=A.prototype,o.prototype=new m,o.prototype};function isPrimitive(o){return o==null||o===!0||o===!1||typeof o=="string"||typeof o=="number"}function isObject(o){return typeof o=="function"||typeof o=="object"&&o!==null}function maybeWrapAsError(o){return isPrimitive(o)?new Error(safeToString(o)):o}function withAppended(o,A){var f=o.length,m=new Array(f+1),C;for(C=0;C1,m=A.length>0&&!(A.length===1&&A[0]==="constructor"),C=thisAssignmentPattern.test(o+"")&&es5.names(o).length>0;if(f||m||C)return!0}return!1}catch{return!1}}function toFastProperties(obj){function FakeConstructor(){}FakeConstructor.prototype=obj;var receiver=new FakeConstructor;function ic(){return typeof receiver.foo}return ic(),ic(),obj;eval(obj)}var rident=/^[a-z$_][a-z$_0-9]*$/i;function isIdentifier(o){return rident.test(o)}function filledRange(o,A,f){for(var m=new Array(o),C=0;C10||o[0]>0}(),ret.nodeSupportsAsyncResource=ret.isNode&&function(){var o=!1;try{var A=_dereq_("async_hooks").AsyncResource;o=typeof A.prototype.runInAsyncScope=="function"}catch{o=!1}return o}(),ret.isNode&&ret.toFastProperties(process);try{throw new Error}catch(o){ret.lastLineError=o}module.exports=ret},{"./es5":13,async_hooks:void 0}]},{},[4])(4)});typeof window<"u"&&window!==null?window.P=window.Promise:typeof self<"u"&&self!==null&&(self.P=self.Promise)});var zRe="CIM SDK v5.0.2",YRe="Cesium v1.106",JRe="BIM V20230906",KRe="2023.12.21",l0t="WebSDKV5.0";var u0t={VERSION:zRe,CesiumVERSION:YRe,BIMVERSION:JRe,CompileTime:KRe},A0t=typeof window<"u"?window:typeof self<"u"?self:{};A0t.logSmartEarth=()=>{let o=` %c${l0t} %c \u7248 \u672C \u53F7\uFF1A${zRe} ${YRe} ${JRe} \u7F16\u8BD1\u65F6\u95F4\uFF1A${KRe} `;setTimeout(console.log.bind(console,o,"color:#018aff;font-size:30px;font-wight:bold;font-family:\u5FAE\u8F6F\u96C5\u9ED1","color:#018aff;font-size:13px;font-family:\u5FAE\u8F6F\u96C5\u9ED1"),0)};var c0t=u0t;var yot={};Eue(yot,{AlphaMode:()=>g4,AlphaPipelineStage:()=>HIe,Animation:()=>zQe,AnimationViewModel:()=>YQe,Appearance:()=>Bh,ApproximateTerrainHeights:()=>$A,ArcGISTiledElevationTerrainProvider:()=>bne,ArcGisBaseMapType:()=>dP,ArcGisMapServerImageryProvider:()=>z_,ArcGisMapService:()=>UB,ArcType:()=>Ia,ArticulationStageType:()=>Oy,AssociativeArray:()=>Ro,AttributeCompression:()=>$l,AttributeType:()=>cs,AutoExposure:()=>g1e,AutomaticUniforms:()=>C5,Axis:()=>Ud,AxisAlignedBoundingBox:()=>Zz,B3dmLoader:()=>Zye,B3dmParser:()=>Xye,Base64Encoder:()=>$Z,BaseLayerPicker:()=>XQe,BaseLayerPickerViewModel:()=>qQe,BatchTable:()=>Yte,BatchTableHierarchy:()=>kie,BatchTexture:()=>S_,BatchTexturePipelineStage:()=>VIe,Billboard:()=>ih,BillboardCollection:()=>Tx,BillboardGraphics:()=>ZD,BillboardVisualizer:()=>iBe,BingMapsGeocoderService:()=>mit,BingMapsImageryProvider:()=>a8,BingMapsStyle:()=>tne,BlendEquation:()=>Zm,BlendFunction:()=>jA,BlendOption:()=>Uh,BlendTexture:()=>tG,BlendingState:()=>Nl,BoundingRectangle:()=>vr,BoundingSphere:()=>hi,BoundingSphereState:()=>eo,BoxEmitter:()=>Vne,BoxGeometry:()=>FD,BoxGeometryUpdater:()=>rBe,BoxGraphics:()=>Wte,BoxOutlineGeometry:()=>iQ,BrdfLutGenerator:()=>Swe,Buffer:()=>Wn,BufferLoader:()=>BY,BufferUsage:()=>Gr,CPUStylingPipelineStage:()=>KIe,CallbackProperty:()=>Hr,Camera:()=>Ls,CameraEventAggregator:()=>Q1e,CameraEventType:()=>Vu,CameraFlightPath:()=>Gxe,Cartesian2:()=>rt,Cartesian3:()=>Z,Cartesian4:()=>zt,Cartographic:()=>Rt,CartographicGeocoderService:()=>ibe,CatmullRomSpline:()=>Cit,Cesium3DContentGroup:()=>Nie,Cesium3DTile:()=>Nx,Cesium3DTileBatchTable:()=>IY,Cesium3DTileColorBlendMode:()=>xb,Cesium3DTileContent:()=>Nrt,Cesium3DTileContentFactory:()=>yre,Cesium3DTileContentState:()=>bc,Cesium3DTileContentType:()=>iC,Cesium3DTileFeature:()=>ns,Cesium3DTileFeatureTable:()=>TG,Cesium3DTileOptimizationHint:()=>Y2,Cesium3DTileOptimizations:()=>cve,Cesium3DTilePass:()=>Ad,Cesium3DTilePassState:()=>Nw,Cesium3DTilePointFeature:()=>jF,Cesium3DTileRefine:()=>c0,Cesium3DTileStyle:()=>qb,Cesium3DTileStyleEngine:()=>fve,Cesium3DTilesInspector:()=>KQe,Cesium3DTilesInspectorViewModel:()=>JQe,Cesium3DTilesVoxelProvider:()=>Krt,Cesium3DTileset:()=>_f,Cesium3DTilesetBaseTraversal:()=>pve,Cesium3DTilesetCache:()=>hve,Cesium3DTilesetGraphics:()=>$te,Cesium3DTilesetHeatmap:()=>dve,Cesium3DTilesetMetadata:()=>WY,Cesium3DTilesetMostDetailedTraversal:()=>gve,Cesium3DTilesetSkipTraversal:()=>mve,Cesium3DTilesetStatistics:()=>cN,Cesium3DTilesetTraversal:()=>CE,Cesium3DTilesetVisualizer:()=>nBe,CesiumInspector:()=>jQe,CesiumInspectorViewModel:()=>WQe,CesiumNavigation:()=>Rbe,CesiumRenderPass:()=>Lbe,CesiumTerrainProvider:()=>VN,CesiumWidget:()=>TJ,Check:()=>XA,CheckerboardMaterialProperty:()=>oee,CircleEmitter:()=>kbe,CircleGeometry:()=>vit,CircleOutlineGeometry:()=>Bit,CircleWaveMaterialProperty:()=>iG,ClassificationModelDrawCommand:()=>mIe,ClassificationPipelineStage:()=>zIe,ClassificationPrimitive:()=>cG,ClassificationType:()=>uu,ClearCommand:()=>Yu,ClippingPlane:()=>g0,ClippingPlaneCollection:()=>Wf,Clock:()=>mG,ClockRange:()=>np,ClockStep:()=>Zc,ClockViewModel:()=>VQe,CloudCollection:()=>ent,CloudType:()=>Uee,CollectionSource:()=>T9e,Color:()=>Ve,ColorBlendMode:()=>Pb,ColorGeometryInstanceAttribute:()=>_o,ColorMaterialProperty:()=>ba,Command:()=>qnt,CommandLoader:()=>mbe,ComponentDatatype:()=>Ft,Composite3DTileContent:()=>lye,CompositeEntityCollection:()=>eZe,CompositeMaterialProperty:()=>see,CompositePositionProperty:()=>Xy,CompositeProperty:()=>F_,CompressedTextureBuffer:()=>Fz,ComputeCommand:()=>TN,ComputeEngine:()=>Ive,ComputeRegionBox:()=>HXe,ConditionsExpression:()=>QEe,ConeEmitter:()=>b8,ConicArcSensor:()=>Kee,ConicArcSensorCollection:()=>Hnt,ConicArcSensorGeometry:()=>jee,ConicArcSensorGraphics:()=>Jee,ConicArcSensorOutlineGeometry:()=>qee,ConstantPositionProperty:()=>Cb,ConstantProperty:()=>zu,ConstantSpline:()=>nIe,ConstructionWorker:()=>P9e,ContentMetadata:()=>tve,ContentState:()=>db,Context:()=>Dve,ContextLimits:()=>Zn,CoplanarPolygonGeometry:()=>nJ,CoplanarPolygonGeometryLibrary:()=>S5,CoplanarPolygonOutlineGeometry:()=>XS,CornerType:()=>dc,CorridorGeometry:()=>tJ,CorridorGeometryLibrary:()=>iA,CorridorGeometryUpdater:()=>sBe,CorridorGraphics:()=>jte,CorridorOutlineGeometry:()=>aBe,Credit:()=>Qa,CreditDisplay:()=>Dwe,CubeMap:()=>Ew,CubeMapFace:()=>v2,CubicRealPolynomial:()=>Xz,CullFace:()=>pA,CullingVolume:()=>Mg,CumulusCloud:()=>Gw,CustomDataSource:()=>iie,CustomHeightmapTerrainProvider:()=>bit,CustomMercatorProjection:()=>oG,CustomShader:()=>cv,CustomShaderManagerEx:()=>Gte,CustomShaderMode:()=>Jz,CustomShaderPipelineStage:()=>e_e,CustomShaderTranslucencyMode:()=>yP,CustomTilingScheme:()=>fze,CylinderGeometry:()=>lBe,CylinderGeometryLibrary:()=>Ure,CylinderGeometryUpdater:()=>ABe,CylinderGraphics:()=>qte,CylinderOutlineGeometry:()=>uBe,CzmlDataSource:()=>rJ,DDSTexture:()=>Jbe,DataSource:()=>Zp,DataSourceClock:()=>BN,DataSourceCollection:()=>EBe,DataSourceDisplay:()=>AJ,DebugAppearance:()=>lnt,DebugCameraPrimitive:()=>Gd,DebugInspector:()=>k1e,DebugModelMatrixPrimitive:()=>vQe,DefaultProxy:()=>Sit,DepthFunction:()=>Px,DepthPlane:()=>Twe,DequantizationPipelineStage:()=>t_e,DerivedCommand:()=>aC,DeveloperError:()=>Ai,DeviceOrientationCameraController:()=>Mwe,DirectionalLight:()=>jne,DiscardEmptyTileImagePolicy:()=>ine,DiscardMissingTileImagePolicy:()=>Awe,DistanceDisplayCondition:()=>po,DistanceDisplayConditionGeometryInstanceAttribute:()=>aA,DistanceLegendViewModel:()=>Bbe,DoubleEndedPriorityQueue:()=>Mne,DoublyLinkedList:()=>Bre,DracoLoader:()=>wY,DrawCommand:()=>fn,DynamicGeometryBatch:()=>Kre,DynamicGeometryUpdater:()=>LA,ECharts:()=>Wz,EarthOrientationParameters:()=>Spe,EarthOrientationParametersSample:()=>kz,EasingFunction:()=>dC,EllipseGeometry:()=>tv,EllipseGeometryLibrary:()=>CI,EllipseGeometryUpdater:()=>yBe,EllipseGraphics:()=>Xte,EllipseOutlineGeometry:()=>Fb,Ellipsoid:()=>Ci,EllipsoidGeodesic:()=>dd,EllipsoidGeometry:()=>hp,EllipsoidGeometryUpdater:()=>BBe,EllipsoidGraphics:()=>dG,EllipsoidOutlineGeometry:()=>$_,EllipsoidPrimitive:()=>bwe,EllipsoidRhumbLine:()=>G_,EllipsoidSurfaceAppearance:()=>cY,EllipsoidTangentPlane:()=>lw,EllipsoidTerrainProvider:()=>yT,EllipsoidalOccluder:()=>a3,Empty3DTileContent:()=>V9,EncodedCartesian3:()=>eu,Entity:()=>nc,EntityCluster:()=>iR,EntityCollection:()=>dv,EntityView:()=>ZBe,Event:()=>ur,EventHelper:()=>Gx,ExpandBySmartEarth:()=>Ax,ExpandByTerra:()=>gze,Expression:()=>IP,ExpressionNodeType:()=>Rn,ExternalParameter:()=>cE,ExtrapolationType:()=>cb,FBXLoader:()=>ybe,FBXPrimitive:()=>kne,FBXTreeParser:()=>xbe,FeatureDataProvider:()=>pie,FeatureDetection:()=>wo,FeatureIdPipelineStage:()=>zY,FeatureJsonData:()=>xG,FisheyeProjectionMap:()=>gY,FisheyeProjectionMapShader:()=>D7,FlattenVS:()=>Unt,FlowEcharts:()=>Nre,Fog:()=>Pwe,ForEach:()=>Dr,FrameRateMonitor:()=>BQe,FrameState:()=>Rwe,Framebuffer:()=>Pg,FramebufferManager:()=>hc,FrustumCommands:()=>Owe,FrustumGeometry:()=>yG,FrustumOutlineGeometry:()=>fY,Fullscreen:()=>bg,FullscreenButton:()=>tSe,FullscreenButtonViewModel:()=>eSe,GWBaiduImageryProvider:()=>Bie,GeoJsonDataSource:()=>M9,GeoJsonLoader:()=>tIe,GeocodeType:()=>MJ,Geocoder:()=>oSe,GeocoderService:()=>Rne,GeocoderViewModel:()=>nSe,GeographicProjection:()=>Kd,GeographicTilingScheme:()=>th,Geometry:()=>Uo,Geometry3DTileContent:()=>uye,GeometryAttribute:()=>wr,GeometryAttributes:()=>Fu,GeometryFactory:()=>Pit,GeometryInstance:()=>kn,GeometryInstanceAttribute:()=>jy,GeometryOffsetAttribute:()=>Fs,GeometryPipeline:()=>Zl,GeometryPipelineStage:()=>n_e,GeometryType:()=>L2,GeometryUpdater:()=>mc,GeometryVisualizer:()=>zBe,GetFeatureInfoFormat:()=>V7,GifImageProperty:()=>QKe,Globe:()=>_we,GlobeDepth:()=>Uwe,GlobeSurfaceShaderSet:()=>lwe,GlobeSurfaceTile:()=>GD,GlobeSurfaceTileProvider:()=>ywe,GlobeTranslucency:()=>pJ,GlobeTranslucencyFramebuffer:()=>Gwe,GlobeTranslucencyState:()=>Fwe,GltfBufferViewLoader:()=>Gie,GltfDracoLoader:()=>Hie,GltfImageLoader:()=>zie,GltfIndexBufferLoader:()=>Yie,GltfJsonLoader:()=>Wie,GltfLoader:()=>bG,GltfLoaderUtil:()=>RD,GltfStructuralMetadataLoader:()=>Jye,GltfTextureLoader:()=>qie,GltfVertexBufferLoader:()=>Xie,GoogleEarthEnterpriseImageryProvider:()=>unt,GoogleEarthEnterpriseMapsProvider:()=>ane,GoogleEarthEnterpriseMetadata:()=>_R,GoogleEarthEnterpriseTerrainData:()=>Mee,GoogleEarthEnterpriseTerrainProvider:()=>Oit,GoogleEarthEnterpriseTileInformation:()=>lbe,GoogleMaps:()=>W7,GpxDataSource:()=>awe,Graticules:()=>vie,GregorianDate:()=>rG,GridImageryProvider:()=>Ant,GridMaterialProperty:()=>cee,GroundGeometryUpdater:()=>Cl,GroundPolylineGeometry:()=>uG,GroundPolylinePrimitive:()=>aR,GroundPrimitive:()=>Xb,GroupMetadata:()=>j$,GwBufferAnalysis:()=>wie,HeadingPitchRange:()=>Rx,HeadingPitchRoll:()=>bs,Heap:()=>J0e,HeightReference:()=>An,HeightmapEncoding:()=>HP,HeightmapTerrainData:()=>Rw,HeightmapTessellator:()=>ene,HermitePolynomialApproximation:()=>hBe,HermiteSpline:()=>U9,HilbertOrder:()=>R$,HomeButton:()=>sSe,HomeButtonViewModel:()=>aSe,HorizontalOrigin:()=>Ru,HugeAdapter:()=>VY,I3SDataProvider:()=>qne,I3SFeature:()=>SQe,I3SField:()=>DQe,I3SGeometry:()=>Gee,I3SLayer:()=>H4,I3SNode:()=>Hee,I3dmLoader:()=>rIe,I3dmParser:()=>iIe,Iau2000Orientation:()=>Bwe,Iau2006XysData:()=>Tpe,Iau2006XysSample:()=>Dte,IauOrientationAxes:()=>wwe,IauOrientationParameters:()=>vwe,ImageBasedLighting:()=>Lie,ImageBasedLightingPipelineStage:()=>wIe,ImageCombine:()=>kte,ImageMaterialProperty:()=>Yd,Imagery:()=>une,ImageryLayer:()=>oE,ImageryLayerCollection:()=>Iwe,ImageryLayerFeatureInfo:()=>ER,ImageryProvider:()=>oQ,ImageryState:()=>_u,Implicit3DTileContent:()=>H$,ImplicitAvailabilityBitstream:()=>F$,ImplicitMetadataView:()=>Uie,ImplicitSubdivisionScheme:()=>sp,ImplicitSubtree:()=>ere,ImplicitSubtreeCache:()=>mQe,ImplicitSubtreeMetadata:()=>dye,ImplicitTileCoordinates:()=>Qre,ImplicitTileset:()=>XY,IndexDatatype:()=>Bn,InfoBox:()=>ASe,InfoBoxViewModel:()=>uSe,InspectorShared:()=>tI,InstanceAttributeSemantic:()=>rp,InstancingPipelineStage:()=>NIe,InterpolationAlgorithm:()=>Git,InterpolationType:()=>oP,Intersect:()=>sa,IntersectionTests:()=>Sc,Intersections2D:()=>E8,Interval:()=>lb,InvertClassification:()=>pne,Ion:()=>Z2,IonGeocoderService:()=>dbe,IonImageryProvider:()=>Ib,IonResource:()=>H_,IonWorldImageryStyle:()=>dN,Iso8601:()=>un,JobScheduler:()=>Nwe,JobType:()=>gx,JsonMetadataTable:()=>RY,JulianDate:()=>Zt,KTX2Transcoder:()=>W0e,KeyboardEventModifier:()=>Sx,KeyframeNode:()=>SA,KmlCamera:()=>sxe,KmlDataSource:()=>gie,KmlLookAt:()=>lxe,KmlTour:()=>uxe,KmlTourFlyTo:()=>Axe,KmlTourWait:()=>hxe,Label:()=>a9,LabelCollection:()=>jD,LabelGraphics:()=>fG,LabelStyle:()=>Pu,LabelVisualizer:()=>YBe,LagrangePolynomialApproximation:()=>fBe,LeapSecond:()=>gA,Light:()=>dnt,LightingModel:()=>Mx,LightingPipelineStage:()=>a_e,LinearApproximation:()=>Aie,LinearSampler:()=>aQ,LinearSpline:()=>HY,MTLLoader:()=>Ibe,ManagedArray:()=>Mb,MapMode2D:()=>cw,MapProjection:()=>Vit,MapboxImageryProvider:()=>u8,MapboxStyleImageryProvider:()=>gnt,Material:()=>go,MaterialAppearance:()=>$c,MaterialPass:()=>Wbe,MaterialPipelineStage:()=>l_e,MaterialProperty:()=>ap,Math:()=>Be,Matrix2:()=>Cf,Matrix3:()=>Gt,Matrix4:()=>Re,Megatexture:()=>Zne,MeshParser:()=>Ebe,MeshPhongMaterial:()=>q7,MetadataClass:()=>wG,MetadataClassProperty:()=>_Y,MetadataComponentType:()=>ya,MetadataEntity:()=>wl,MetadataEnum:()=>Fye,MetadataEnumValue:()=>Lye,MetadataPipelineStage:()=>pD,MetadataSchema:()=>_3,MetadataSchemaLoader:()=>Zie,MetadataSemantic:()=>tre,MetadataTable:()=>cR,MetadataTableProperty:()=>gye,MetadataType:()=>Zo,MipmapHint:()=>eG,Model:()=>mp,Model3DTileContent:()=>S2,ModelAlphaOptions:()=>w_e,ModelAnimation:()=>AIe,ModelAnimationChannel:()=>lIe,ModelAnimationCollection:()=>cIe,ModelAnimationLoop:()=>oD,ModelAnimationState:()=>R2,ModelArticulation:()=>SIe,ModelArticulationStage:()=>QIe,ModelClippingPlanesPipelineStage:()=>MIe,ModelColorPipelineStage:()=>G9,ModelComponents:()=>jo,ModelDrawCommand:()=>CIe,ModelFeature:()=>hIe,ModelFeatureTable:()=>dIe,ModelFlattenPipelineStage:()=>H_e,ModelGraphics:()=>eY,ModelLightingOptions:()=>k_e,ModelMatrixUpdateStage:()=>OIe,ModelNode:()=>PIe,ModelRenderResources:()=>T_e,ModelRuntimeNode:()=>GIe,ModelRuntimePrimitive:()=>__e,ModelSceneGraph:()=>V_e,ModelSilhouettePipelineStage:()=>R_e,ModelSkin:()=>B_e,ModelSplitterPipelineStage:()=>F_e,ModelStatistics:()=>z_e,ModelType:()=>cd,ModelUtility:()=>Vs,ModelVisualizer:()=>JBe,Moon:()=>Qwe,MorphTargetsPipelineStage:()=>A_e,MorphWeightSpline:()=>zit,MortonOrder:()=>E4,MultiResourceImageryProvider:()=>bie,MultiResourceTerrainProvider:()=>Qie,Multiple3DTileContent:()=>ave,MultisampleFramebuffer:()=>jye,NavigationControl:()=>I8,NavigationHelpButton:()=>hSe,NavigationHelpButtonViewModel:()=>cSe,NavigationUtils:()=>_8,NavigationViewModel:()=>X7,NearFarScalar:()=>Eo,NeverTileDiscardPolicy:()=>pnt,NodeRenderResources:()=>N_e,NodeStatisticsPipelineStage:()=>UIe,NodeTransformationProperty:()=>Zte,OBJLoader:()=>_be,OBJPrimitive:()=>One,OIT:()=>zwe,Occluder:()=>_ie,OctahedralProjectedCubeMap:()=>PN,OffsetGeometryInstanceAttribute:()=>xf,OlMVTImageryProvider:()=>Sie,OpenCageGeocoderService:()=>Yit,OpenStreetMapImageryProvider:()=>fN,OrderedGroundPrimitiveCollection:()=>xBe,OrientedBoundingBox:()=>Lu,OrthographicFrustum:()=>us,OrthographicOffCenterFrustum:()=>Xf,Packable:()=>Jit,PackableForInterpolation:()=>Kit,Particle:()=>Hne,ParticleBurst:()=>D8,ParticleEmitter:()=>Ent,ParticleSystem:()=>Iv,Pass:()=>Yi,PassState:()=>x0,PathGraphics:()=>tY,PathVisualizer:()=>KBe,PeliasGeocoderService:()=>cbe,PerInstanceColorAppearance:()=>La,PerformanceDisplay:()=>yJ,PerformanceWatchdog:()=>gSe,PerformanceWatchdogViewModel:()=>fSe,PerspectiveFrustum:()=>fu,PerspectiveOffCenterFrustum:()=>rQ,PerspectiveProjectionMap:()=>pY,PerspectiveProjectionMapShader:()=>T7,PerspectiveProjectionMapWithDepth:()=>mY,PerspectiveProjectionMapWithDepthShader:()=>X2,PickDepth:()=>kwe,PickDepthFramebuffer:()=>Ywe,PickFramebuffer:()=>Jwe,Picking:()=>Xwe,PickingPipelineStage:()=>c_e,PinBuilder:()=>oY,PixelDatatype:()=>$r,PixelFormat:()=>rn,Plane:()=>ca,PlaneGeometry:()=>wBe,PlaneGeometryUpdater:()=>SBe,PlaneGraphics:()=>qEe,PlaneOutlineGeometry:()=>bBe,PntsLoader:()=>Cre,PntsParser:()=>mre,PointCloud:()=>MQe,PointCloudEyeDomeLighting:()=>kY,PointCloudShading:()=>DG,PointCloudStylingPipelineStage:()=>d_e,PointGraphics:()=>eie,PointLight:()=>CY,PointPrimitive:()=>EC,PointPrimitiveCollection:()=>Uz,PointVisualizer:()=>WBe,PolygonDepth:()=>m4,PolygonDepthFS:()=>cre,PolygonDepthVS:()=>hre,PolygonGeometry:()=>mA,PolygonGeometryLibrary:()=>ml,PolygonGeometryUpdater:()=>TBe,PolygonGraphics:()=>ks,PolygonHierarchy:()=>yn,PolygonOutlineGeometry:()=>DBe,PolygonPipeline:()=>MA,Polyline:()=>eQ,PolylineArrowMaterialProperty:()=>DD,PolylineCollection:()=>lR,PolylineColorAppearance:()=>l0,PolylineDashMaterialProperty:()=>Zs,PolylineGeometry:()=>iI,PolylineGeometryUpdater:()=>jBe,PolylineGlowMaterialProperty:()=>hee,PolylineGraphics:()=>Sb,PolylineMaterialAppearance:()=>ip,PolylineOutlineMaterialProperty:()=>MD,PolylinePipeline:()=>cc,PolylineTrailLinkMaterialProperty:()=>VKe,PolylineVisualizer:()=>XBe,PolylineVolumeGeometry:()=>MBe,PolylineVolumeGeometryLibrary:()=>FN,PolylineVolumeGeometryUpdater:()=>RBe,PolylineVolumeGraphics:()=>tie,PolylineVolumeOutlineGeometry:()=>PBe,PositionProperty:()=>$z,PositionPropertyArray:()=>s4,PostProcessStage:()=>wa,PostProcessStageCollection:()=>y1e,PostProcessStageComposite:()=>dp,PostProcessStageLibrary:()=>aE,PostProcessStageSampleMode:()=>uE,PostProcessStageTextureCache:()=>Ine,Primitive:()=>ra,PrimitiveCollection:()=>X_,PrimitiveLoadPlan:()=>NY,PrimitiveOutlineGenerator:()=>ore,PrimitiveOutlinePipelineStage:()=>p_e,PrimitivePipeline:()=>yN,PrimitiveRenderResources:()=>O_e,PrimitiveState:()=>gf,PrimitiveStatisticsPipelineStage:()=>m_e,PrimitiveType:()=>on,ProjectionPicker:()=>mSe,ProjectionPickerViewModel:()=>pSe,Property:()=>Bt,PropertyArray:()=>Vre,PropertyAttribute:()=>rre,PropertyAttributeProperty:()=>Hye,PropertyBag:()=>Qb,PropertyTable:()=>fR,PropertyTexture:()=>ire,PropertyTextureProperty:()=>Uye,ProviderViewModel:()=>Ig,Proxy:()=>qit,QuadraticRealPolynomial:()=>qB,QuadtreeOccluders:()=>Mie,QuadtreePrimitive:()=>Fw,QuadtreePrimitivezh:()=>jKe,QuadtreeTile:()=>EY,QuadtreeTileLoadState:()=>Hh,QuadtreeTileProvider:()=>KJ,QuantizedMeshTerrainData:()=>Sne,QuarticRealPolynomial:()=>PEe,Quaternion:()=>fr,QuaternionSpline:()=>aIe,Queue:()=>bN,RasterizeHtml:()=>_G,Ray:()=>Ua,Rectangle:()=>gi,RectangleCollisionChecker:()=>qre,RectangleGeometry:()=>oJ,RectangleGeometryLibrary:()=>Xp,RectangleGeometryUpdater:()=>OBe,RectangleGraphics:()=>gG,RectangleOutlineGeometry:()=>vre,RectangularSensor:()=>Az,RectangularSensorFS:()=>Fee,RectangularSensorGraphics:()=>Vnt,RectangularSensorPrimitive:()=>zbe,RectangularSensorScanPlaneFS:()=>Vbe,RectangularSensorVS:()=>Yne,RectangularSensorVisualizer:()=>Ybe,ReferenceFrame:()=>yf,ReferenceProperty:()=>uY,RegionWeather:()=>zne,RenderEntity:()=>bJ,RenderObjectFactory:()=>sA,RenderState:()=>Xr,Renderbuffer:()=>Zy,RenderbufferFormat:()=>_x,Request:()=>lp,RequestErrorEvent:()=>CN,RequestScheduler:()=>W_,RequestState:()=>Ju,RequestType:()=>II,ResetViewNavigationControl:()=>Qbe,Resource:()=>Cr,ResourceCache:()=>gc,ResourceCacheKey:()=>gv,ResourceCacheStatistics:()=>kye,ResourceLoader:()=>im,ResourceLoaderState:()=>xo,Rotation:()=>Rb,RuntimeError:()=>ki,S2Cell:()=>Q5,S3MCacheFileRenderEntity:()=>az,S3MCompressType:()=>znt,S3MContentFactory:()=>jbe,S3MContentParser:()=>qbe,S3MCreateIndexJob:()=>z1e,S3MCreateVertexJob:()=>H1e,S3MDataSource:()=>yXe,S3MLayerCache:()=>Xbe,S3MLayerScheduler:()=>Zbe,S3MPixelFormat:()=>Ynt,S3MTile:()=>eQe,S3MTilesFS:()=>U1e,S3MTilesLayer:()=>Jne,S3MTilesVS:()=>O1e,S3ModelParser:()=>$be,SDFSettings:()=>sE,SampledPositionProperty:()=>N_,SampledProperty:()=>rD,Sampler:()=>Oa,ScaledPositionProperty:()=>CG,Scene:()=>W1e,SceneFramebuffer:()=>Cne,SceneMode:()=>ni,SceneMode2DPipelineStage:()=>C_e,SceneModePicker:()=>ESe,SceneModePickerViewModel:()=>CSe,SceneTransforms:()=>ms,SceneTransitioner:()=>b1e,ScreenSpaceCameraController:()=>R1e,ScreenSpaceEventHandler:()=>cr,ScreenSpaceEventType:()=>si,SelectedFeatureIdPipelineStage:()=>H9,SelectionIndicator:()=>ySe,SelectionIndicatorViewModel:()=>xSe,Sensor:()=>Brt,ShaderBuilder:()=>gre,ShaderCache:()=>vve,ShaderDestination:()=>Ki,ShaderFunction:()=>D_e,ShaderProgram:()=>qa,ShaderSource:()=>_r,ShaderStruct:()=>Q_e,ShadowMap:()=>uT,ShadowMapShader:()=>uP,ShadowMode:()=>Ns,ShadowVolumeAppearance:()=>AD,ShowGeometryInstanceAttribute:()=>Yl,Simon1994PlanetaryPositions:()=>z9,SimplePolylineGeometry:()=>Xit,SingleTileImageryProvider:()=>Cv,SkinningPipelineStage:()=>x_e,SkyAtmosphere:()=>SJ,SkyBox:()=>Y3,SpatialNode:()=>PQe,SphereEmitter:()=>T8,SphereGeometry:()=>Zit,SphereOutlineGeometry:()=>$D,Spherical:()=>gBe,Spline:()=>Yh,SplitDirection:()=>sT,Splitter:()=>$ne,SpotLight:()=>_Xe,StaticGeometryColorBatch:()=>aD,StaticGeometryPerMaterialBatch:()=>sD,StaticGroundGeometryColorBatch:()=>Cee,StaticGroundGeometryPerMaterialBatch:()=>UBe,StaticGroundPolylinePerMaterialBatch:()=>qBe,StaticOutlineGeometryBatch:()=>Eee,StencilConstants:()=>ia,StencilFunction:()=>du,StencilOperation:()=>jn,SteppedSpline:()=>oIe,StripeMaterialProperty:()=>dee,StripeOrientation:()=>FP,StructuralMetadata:()=>aT,StyleCommandsNeeded:()=>RN,StyleExpression:()=>Int,Sun:()=>j1e,SunLight:()=>KG,SunPostProcess:()=>N1e,SupportedImageFormats:()=>Kye,SvgPathBindingHandler:()=>HQe,TaskProcessor:()=>hd,Terrain:()=>LQe,TerrainData:()=>P3,TerrainEncoding:()=>OD,TerrainExaggeration:()=>mb,TerrainFillMesh:()=>hne,TerrainFlatten:()=>bT,TerrainFlattenPolygonTexture:()=>q1e,TerrainMesh:()=>R3,TerrainOffsetProperty:()=>kre,TerrainProvider:()=>uC,TerrainQuantization:()=>fE,TerrainRegionWeather:()=>Hbe,TerrainState:()=>wc,Texture:()=>Nn,Texture3D:()=>Mve,TextureAtlas:()=>o9,TextureCache:()=>Bve,TextureMagnificationFilter:()=>Wu,TextureManager:()=>wEe,TextureMinificationFilter:()=>Ba,TextureUniform:()=>vEe,TextureWrap:()=>Vo,TileAvailability:()=>gP,TileBoundingRegion:()=>LD,TileBoundingS2Cell:()=>lve,TileBoundingSphere:()=>pT,TileBoundingVolume:()=>_nt,TileCoordinatesImageryProvider:()=>FQe,TileDiscardPolicy:()=>vnt,TileEdge:()=>ka,TileImagery:()=>Ane,TileMapServiceImageryProvider:()=>Lw,TileMetadata:()=>rve,TileOrientedBoundingBox:()=>DP,TileProviderError:()=>yh,TileReplacementQueue:()=>Rie,TileSelectionResult:()=>Xo,TileState:()=>Bnt,Tileset3DTileContent:()=>Y_e,TilesetMetadata:()=>Ave,TilesetPipelineStage:()=>vIe,TilesetRegionWeather:()=>Gbe,TilingScheme:()=>$it,TimeConstants:()=>lu,TimeDynamicImagery:()=>lne,TimeDynamicPointCloud:()=>eoe,TimeInterval:()=>ws,TimeIntervalCollection:()=>lC,TimeIntervalCollectionPositionProperty:()=>S4,TimeIntervalCollectionProperty:()=>l4,TimeStandard:()=>_l,Timeline:()=>vSe,TimelineHighlightRange:()=>ISe,TimelineTrack:()=>_Se,Tipsify:()=>VEe,ToggleButtonViewModel:()=>g5,Tonemapper:()=>J5,Transforms:()=>kr,TranslationRotationScale:()=>_I,TranslucentTileClassification:()=>Kwe,TridiagonalSystemSolver:()=>sre,TrustedServers:()=>vte,TweenCollection:()=>Bne,UniformState:()=>bve,UniformType:()=>Ko,UrlTemplateGeojsonProvider:()=>wXe,UrlTemplateImageryProvider:()=>Hx,UserInterfaceControl:()=>Gne,Utils:()=>vw,VERSION:()=>xot,VRButton:()=>wSe,VRButtonViewModel:()=>BSe,VRTheWorldTerrainProvider:()=>rrt,VaryingType:()=>cC,Vector3DTileBatch:()=>f4,Vector3DTileClampedPolylines:()=>X_e,Vector3DTileContent:()=>eve,Vector3DTileGeometry:()=>OF,Vector3DTilePoints:()=>J_e,Vector3DTilePolygons:()=>K_e,Vector3DTilePolylines:()=>xre,Vector3DTilePrimitive:()=>Oie,VelocityOrientationProperty:()=>pBe,VelocityVectorProperty:()=>zre,VertexArray:()=>hu,VertexArrayFacade:()=>Oz,VertexAttributeSemantic:()=>Bo,VertexCompressOption:()=>w_,VertexFormat:()=>Pr,VerticalOrigin:()=>hn,VideoSynchronizer:()=>ert,View:()=>d8,ViewShed:()=>Vje,ViewShedMap:()=>JG,ViewShedMapShader:()=>hP,Viewer:()=>_oe,ViewportQuad:()=>ioe,Visibility:()=>rA,Visualizer:()=>q$e,VolumeCloud:()=>noe,VoxelBoxShape:()=>YN,VoxelContent:()=>CQe,VoxelCylinderShape:()=>JN,VoxelEllipsoidShape:()=>VJ,VoxelInspector:()=>QSe,VoxelInspectorViewModel:()=>bSe,VoxelPrimitive:()=>roe,VoxelProvider:()=>Pnt,VoxelRenderResources:()=>fQe,VoxelShape:()=>Rnt,VoxelShapeType:()=>YA,VoxelTraversal:()=>Yee,VulkanConstants:()=>nrt,WallGeometry:()=>GBe,WallGeometryLibrary:()=>Xre,WallGeometryUpdater:()=>VBe,WallGraphics:()=>iY,WallOutlineGeometry:()=>HBe,WaterFS:()=>kxe,WaterMaterialProperty:()=>PXe,WebGLConstants:()=>li,WebMapServiceImageryProvider:()=>A8,WebMapTileServiceImageryProvider:()=>F3,WebMercatorProjection:()=>ec,WebMercatorTilingScheme:()=>Zf,WindingOrder:()=>dI,WireframeIndexGenerator:()=>fre,WireframePipelineStage:()=>I_e,ZoomNavigationControl:()=>Pee,_shadersAcesTonemappingStage:()=>Zwe,_shadersAdditiveBlend:()=>L1e,_shadersAdjustTranslucentFS:()=>eee,_shadersAllMaterialAppearanceFS:()=>bxe,_shadersAllMaterialAppearanceVS:()=>Qxe,_shadersAmbientOcclusionGenerate:()=>$we,_shadersAmbientOcclusionModulate:()=>e1e,_shadersAspectRampMaterial:()=>q0e,_shadersAtmosphereCommon:()=>I4,_shadersBasicMaterialAppearanceFS:()=>Sxe,_shadersBasicMaterialAppearanceVS:()=>Dxe,_shadersBillboardCollectionFS:()=>lEe,_shadersBillboardCollectionVS:()=>uEe,_shadersBlackAndWhite:()=>t1e,_shadersBloomComposite:()=>i1e,_shadersBrdfLutGeneratorFS:()=>Pve,_shadersBrightPass:()=>F1e,_shadersBrightness:()=>r1e,_shadersBumpMapMaterial:()=>X0e,_shadersCPUStylingStageFS:()=>JIe,_shadersCPUStylingStageVS:()=>YIe,_shadersCheckFloatTexturePrecisionFS:()=>UXe,_shadersCheckerboardMaterial:()=>Z0e,_shadersCloudCollectionFS:()=>Rve,_shadersCloudCollectionVS:()=>Lve,_shadersCloudNoiseFS:()=>Fve,_shadersCloudNoiseVS:()=>Nve,_shadersCompareAndPackTranslucentDepth:()=>kve,_shadersCompositeOITFS:()=>Ove,_shadersCompositeTranslucentClassification:()=>z7,_shadersContrastBias:()=>n1e,_shadersCustomShaderStageFS:()=>jIe,_shadersCustomShaderStageVS:()=>WIe,_shadersCzmBuiltins:()=>E7,_shadersDepthOfField:()=>o1e,_shadersDepthPlaneFS:()=>Uve,_shadersDepthPlaneVS:()=>Gve,_shadersDepthView:()=>a1e,_shadersDepthViewPacked:()=>Lnt,_shadersDotMaterial:()=>$0e,_shadersEdgeDetection:()=>s1e,_shadersElevationBandMaterial:()=>epe,_shadersElevationContourMaterial:()=>tpe,_shadersElevationRampMaterial:()=>ipe,_shadersEllipsoidFS:()=>tee,_shadersEllipsoidSurfaceAppearanceFS:()=>Pxe,_shadersEllipsoidSurfaceAppearanceVS:()=>Rxe,_shadersEllipsoidVS:()=>iee,_shadersFXAA:()=>u1e,_shadersFXAA3_11:()=>Hve,_shadersFadeMaterial:()=>rpe,_shadersFeatureIdStageFS:()=>qIe,_shadersFeatureIdStageVS:()=>XIe,_shadersFilmicTonemapping:()=>l1e,_shadersGaussianBlur1D:()=>oz,_shadersGaussianBlur1DSun:()=>m1e,_shadersGeometryStageFS:()=>i_e,_shadersGeometryStageVS:()=>r_e,_shadersGlobeFS:()=>Vve,_shadersGlobeVS:()=>zve,_shadersGridMaterial:()=>npe,_shadersGroundAtmosphere:()=>ree,_shadersHSBToRGB:()=>oCe,_shadersHSLToRGB:()=>aCe,_shadersImageBasedLightingStageFS:()=>BIe,_shadersInstancingStageCommon:()=>RIe,_shadersInstancingStageVS:()=>LIe,_shadersIntersectBox:()=>aQe,_shadersIntersectClippingPlanes:()=>oQe,_shadersIntersectCylinder:()=>sQe,_shadersIntersectDepth:()=>nQe,_shadersIntersectEllipsoid:()=>lQe,_shadersIntersection:()=>Z7,_shadersIntersectionUtils:()=>rQe,_shadersLegacyInstancingStageVS:()=>FIe,_shadersLensFlare:()=>A1e,_shadersLightingStageFS:()=>o_e,_shadersMaterialStageFS:()=>s_e,_shadersMegatexture:()=>dQe,_shadersMetadataStageFS:()=>ZIe,_shadersMetadataStageVS:()=>$Ie,_shadersModelClippingPlanesStageFS:()=>TIe,_shadersModelColorStageFS:()=>DIe,_shadersModelFS:()=>fIe,_shadersModelFlattenStageFS:()=>G_e,_shadersModelFlattenStageVS:()=>U_e,_shadersModelSilhouetteStageFS:()=>M_e,_shadersModelSilhouetteStageVS:()=>P_e,_shadersModelSplitterStageFS:()=>L_e,_shadersModelVS:()=>gIe,_shadersModifiedReinhardTonemapping:()=>c1e,_shadersMorphTargetsStageVS:()=>u_e,_shadersNightVision:()=>h1e,_shadersNormalMapMaterial:()=>ope,_shadersOctahedralProjectionAtlasFS:()=>oye,_shadersOctahedralProjectionFS:()=>aye,_shadersOctahedralProjectionVS:()=>sye,_shadersOctree:()=>hQe,_shadersPassThrough:()=>HD,_shadersPassThroughDepth:()=>nz,_shadersPerInstanceColorAppearanceFS:()=>KEe,_shadersPerInstanceColorAppearanceVS:()=>WEe,_shadersPerInstanceFlatColorAppearanceFS:()=>Vte,_shadersPerInstanceFlatColorAppearanceVS:()=>jEe,_shadersPointCloudEyeDomeLighting:()=>qye,_shadersPointCloudStylingStageVS:()=>h_e,_shadersPointPrimitiveCollectionFS:()=>r5,_shadersPointPrimitiveCollectionVS:()=>hEe,_shadersPolylineArrowMaterial:()=>ape,_shadersPolylineColorAppearanceVS:()=>OEe,_shadersPolylineCommon:()=>c3,_shadersPolylineDashMaterial:()=>spe,_shadersPolylineFS:()=>zte,_shadersPolylineGlowMaterial:()=>lpe,_shadersPolylineMaterialAppearanceVS:()=>UEe,_shadersPolylineOutlineMaterial:()=>upe,_shadersPolylineShadowVolumeFS:()=>LEe,_shadersPolylineShadowVolumeMorphFS:()=>FEe,_shadersPolylineShadowVolumeMorphVS:()=>NEe,_shadersPolylineShadowVolumeVS:()=>kEe,_shadersPolylineVS:()=>Lxe,_shadersPostProcessRain:()=>Fnt,_shadersPostProcessSnow:()=>Nnt,_shadersPrimitiveOutlineStageFS:()=>g_e,_shadersPrimitiveOutlineStageVS:()=>f_e,_shadersRGBToHSB:()=>MCe,_shadersRGBToHSL:()=>PCe,_shadersRGBToXYZ:()=>RCe,_shadersReinhardTonemapping:()=>d1e,_shadersReprojectWebMercatorFS:()=>Yve,_shadersReprojectWebMercatorVS:()=>Jve,_shadersRimLightingMaterial:()=>Ape,_shadersSelectedFeatureIdStageCommon:()=>J$,_shadersShadowVolumeAppearanceFS:()=>Kte,_shadersShadowVolumeAppearanceVS:()=>JEe,_shadersShadowVolumeFS:()=>d9,_shadersSilhouette:()=>f1e,_shadersSkinningStageVS:()=>E_e,_shadersSkyAtmosphereCommon:()=>nee,_shadersSkyAtmosphereFS:()=>Kve,_shadersSkyAtmosphereVS:()=>Wve,_shadersSkyBoxFS:()=>jve,_shadersSkyBoxVS:()=>qve,_shadersSlopeRampMaterial:()=>cpe,_shadersStripeMaterial:()=>hpe,_shadersSunFS:()=>Xve,_shadersSunShaft:()=>knt,_shadersSunShaftHdr:()=>Ont,_shadersSunShaftModulate:()=>p1e,_shadersSunTextureFS:()=>Zve,_shadersSunTextureFS_v2:()=>GXe,_shadersSunVS:()=>eBe,_shadersSunVisibleFS:()=>$ve,_shadersSunVisibleShaft:()=>C1e,_shadersSunVisibleVS:()=>IIe,_shadersTexturedMaterialAppearanceFS:()=>Txe,_shadersTexturedMaterialAppearanceVS:()=>Mxe,_shadersVector3DTileClampedPolylinesFS:()=>q_e,_shadersVector3DTileClampedPolylinesVS:()=>j_e,_shadersVector3DTilePolylinesVS:()=>W_e,_shadersVectorTileVS:()=>P$,_shadersViewportQuadFS:()=>tBe,_shadersViewportQuadVS:()=>Lre,_shadersVoxelFS:()=>tQe,_shadersVoxelVS:()=>iQe,_shadersWater:()=>dpe,_shadersXYZToRGB:()=>nEe,_shadersacesTonemapping:()=>Sme,_shadersalphaWeight:()=>Dme,_shadersantialias:()=>Tme,_shadersapproximateSphericalCoordinates:()=>Mme,_shadersbackFacing:()=>Pme,_shadersbranchFreeTernary:()=>Rme,_shaderscascadeColor:()=>Lme,_shaderscascadeDistance:()=>Fme,_shaderscascadeMatrix:()=>Nme,_shaderscascadeWeights:()=>kme,_shaderscolumbusViewMorph:()=>Ome,_shaderscomputePosition:()=>Ume,_shadersconvertUvToBox:()=>uQe,_shadersconvertUvToCylinder:()=>AQe,_shadersconvertUvToEllipsoid:()=>cQe,_shaderscosineAndSine:()=>Gme,_shadersdecompressTextureCoordinates:()=>Hme,_shadersdefaultPbrMaterial:()=>Vme,_shadersdegreesPerRadian:()=>Fpe,_shadersdepthClamp:()=>zme,_shadersdepthRange:()=>Npe,_shadersdepthRangeStruct:()=>xme,_shaderseastNorthUpToEyeCoordinates:()=>Yme,_shadersellipsoidContainsPoint:()=>Jme,_shadersellipsoidWgs84TextureCoordinates:()=>Kme,_shadersepsilon1:()=>kpe,_shadersepsilon2:()=>Ope,_shadersepsilon3:()=>Upe,_shadersepsilon4:()=>Gpe,_shadersepsilon5:()=>Hpe,_shadersepsilon6:()=>Vpe,_shadersepsilon7:()=>zpe,_shadersequalsEpsilon:()=>Wme,_shaderseyeOffset:()=>jme,_shaderseyeToWindowCoordinates:()=>qme,_shadersfastApproximateAtan:()=>Xme,_shadersfog:()=>Zme,_shadersgammaCorrect:()=>$me,_shadersgeodeticSurfaceNormal:()=>eCe,_shadersgetDefaultMaterial:()=>tCe,_shadersgetLambertDiffuse:()=>iCe,_shadersgetSpecular:()=>rCe,_shadersgetWaterNoise:()=>nCe,_shadershue:()=>sCe,_shadersinfinity:()=>Ype,_shadersinverseGamma:()=>lCe,_shadersisEmpty:()=>uCe,_shadersisFull:()=>ACe,_shaderslatitudeToWebMercatorFraction:()=>cCe,_shaderslineDistance:()=>dCe,_shaderslinearToSrgb:()=>hCe,_shadersluminance:()=>fCe,_shadersmaterial:()=>yme,_shadersmaterialInput:()=>Ime,_shadersmetersPerPixel:()=>gCe,_shadersmodelMaterial:()=>_me,_shadersmodelToWindowCoordinates:()=>pCe,_shadersmodelVertexOutput:()=>vme,_shadersmultiplyWithColorBalance:()=>mCe,_shadersnearFarScalar:()=>CCe,_shadersoctDecode:()=>ECe,_shadersoneOverPi:()=>Jpe,_shadersoneOverTwoPi:()=>Kpe,_shaderspackDepth:()=>xCe,_shaderspassCesium3DTile:()=>Wpe,_shaderspassCesium3DTileClassification:()=>jpe,_shaderspassCesium3DTileClassificationIgnoreShow:()=>qpe,_shaderspassClassification:()=>Xpe,_shaderspassCompute:()=>Zpe,_shaderspassEnvironment:()=>$pe,_shaderspassGlobe:()=>eme,_shaderspassOpaque:()=>tme,_shaderspassOverlay:()=>ime,_shaderspassTerrainClassification:()=>rme,_shaderspassTranslucent:()=>nme,_shaderspassVoxels:()=>ome,_shaderspbrLighting:()=>yCe,_shaderspbrMetallicRoughnessMaterial:()=>ICe,_shaderspbrParameters:()=>Bme,_shaderspbrSpecularGlossinessMaterial:()=>_Ce,_shadersphong:()=>vCe,_shaderspi:()=>ame,_shaderspiOverFour:()=>sme,_shaderspiOverSix:()=>lme,_shaderspiOverThree:()=>ume,_shaderspiOverTwo:()=>Ame,_shadersplaneDistance:()=>BCe,_shaderspointAlongRay:()=>wCe,_shadersradiansPerDegree:()=>cme,_shadersray:()=>wme,_shadersrayEllipsoidIntersectionInterval:()=>bCe,_shadersraySegment:()=>bme,_shadersraySphereIntersectionInterval:()=>QCe,_shadersreadDepth:()=>SCe,_shadersreadNonPerspective:()=>DCe,_shadersreverseLogDepth:()=>TCe,_shadersround:()=>LCe,_shaderssampleOctahedralProjection:()=>FCe,_shaderssaturation:()=>NCe,_shaderssceneMode2D:()=>hme,_shaderssceneMode3D:()=>dme,_shaderssceneModeColumbusView:()=>fme,_shaderssceneModeMorphing:()=>gme,_shadersshadowDepthCompare:()=>kCe,_shadersshadowParameters:()=>Qme,_shadersshadowVisibility:()=>OCe,_shaderssignNotZero:()=>UCe,_shaderssolarRadius:()=>pme,_shaderssphericalHarmonics:()=>GCe,_shaderssrgbToLinear:()=>HCe,_shaderstangentToEyeSpaceMatrix:()=>VCe,_shaderstextureCube:()=>zCe,_shadersthreePiOver2:()=>mme,_shaderstransformPlane:()=>YCe,_shaderstranslateRelativeToEye:()=>JCe,_shaderstranslucentPhong:()=>KCe,_shaderstranspose:()=>WCe,_shaderstwoPi:()=>Cme,_shadersunpackDepth:()=>jCe,_shadersunpackFloat:()=>qCe,_shadersunpackUint:()=>XCe,_shadersvalueTransform:()=>ZCe,_shadersvertexLogDepth:()=>$Ce,_shaderswebMercatorMaxLatitude:()=>Eme,_shaderswindowToEyeCoordinates:()=>eEe,_shaderswriteDepthClamp:()=>tEe,_shaderswriteLogDepth:()=>iEe,_shaderswriteNonPerspective:()=>rEe,addBuffer:()=>wye,addDefaults:()=>Cye,addExtensionsRequired:()=>_ye,addExtensionsUsed:()=>I3,addPipelineExtras:()=>bY,addToArray:()=>$y,appendForwardSlash:()=>G0e,arrayRemoveDuplicates:()=>up,barycentricCoordinates:()=>Jte,binarySearch:()=>d0,buildDrawCommand:()=>_Ie,buildModuleUrl:()=>ja,buildVoxelDrawCommands:()=>pQe,clone:()=>Sn,combine:()=>So,computeFlyToLocationForRectangle:()=>Kne,createBillboardPointCallback:()=>Ere,createBlurStage:()=>Lee,createCommand:()=>Xs,createDefaultImageryProviderViewModels:()=>ZQe,createDefaultTerrainProviderViewModels:()=>$Qe,createEdgeStage:()=>v8,createElevationBandMaterial:()=>int,createFragmentFromTemplate:()=>vbe,createGooglePhotorealistic3DTileset:()=>rnt,createGuid:()=>Rl,createMaterialPropertyDescriptor:()=>$p,createOsmBuildings:()=>nnt,createOsmBuildingsAsync:()=>ont,createPropertyDescriptor:()=>fi,createRawPropertyDescriptor:()=>zy,createTangentSpaceDebugPrimitive:()=>ant,createTaskProcessorWorker:()=>Jnt,createUniform:()=>Ppe,createUniformArray:()=>Lpe,createWorldImagery:()=>snt,createWorldImageryAsync:()=>z5,createWorldTerrain:()=>wit,createWorldTerrainAsync:()=>Tne,decodeGoogleEarthEnterpriseData:()=>abe,decodeVectorPolylinePositions:()=>Z_e,defaultValue:()=>oe,defer:()=>Mc,defined:()=>O,demodernizeShader:()=>oEe,deprecationWarning:()=>ii,destroyObject:()=>Ar,exportKml:()=>z$e,fflate_module:()=>Cbe,findAccessorMinMax:()=>SY,findContentMetadata:()=>Ire,findGroupMetadata:()=>_re,findTileMetadata:()=>ove,forEachTextureInMaterial:()=>Kie,formatError:()=>F4,fragment:()=>Hje,freezeRenderState:()=>qVe,getAbsoluteUri:()=>Pz,getAccessorByteStride:()=>dR,getBaseUri:()=>V0e,getBinaryAccessor:()=>cD,getClipAndStyleCode:()=>wQe,getClippingFunction:()=>hJ,getComponentReader:()=>QY,getElement:()=>tc,getExtensionFromUri:()=>Cte,getFilenameFromUri:()=>nY,getImageFromTypedArray:()=>BEe,getImagePixels:()=>mN,getJsonFromTypedArray:()=>em,getMagic:()=>BG,getStringFromTypedArray:()=>hQ,getTimestamp:()=>oA,hasExtension:()=>rc,heightReferenceOnEntityPropertyChanged:()=>eJ,isBitSet:()=>cI,isBlobUri:()=>Ete,isCrossOriginUrl:()=>xte,isDataUri:()=>Rz,isLeapYear:()=>X5,knockout:()=>qi,knockout_3_5_1:()=>QT,knockout_es5:()=>GQe,libgif:()=>Wxe,loadAndExecuteScript:()=>yte,loadCRN:()=>Hit,loadCubeMap:()=>Tve,loadDDS:()=>Bte,loadImageFromTypedArray:()=>Vie,loadKTX2:()=>$P,loadView:()=>Une,mergeSort:()=>h8,moveTechniqueRenderStates:()=>Iye,moveTechniquesToExtension:()=>vye,numberOfComponentsForType:()=>y3,objectToQuery:()=>Ite,oneTimeWarning:()=>$o,packer:()=>SEe,parseBatchTable:()=>GY,parseBoundingVolumeSemantics:()=>Oye,parseDefines:()=>Fbe,parseFeatureMetadataLegacy:()=>Yye,parseGlb:()=>xye,parseResponseHeaders:()=>z0e,parseStructuralMetadata:()=>zye,pointInsideTriangle:()=>Wit,preprocess3DTileContent:()=>UG,processVoxelProperties:()=>gQe,queryToObject:()=>fb,rasterizeHTML_allinone:()=>nye,readAccessorPacked:()=>bye,removeExtension:()=>k9,removeExtensionsRequired:()=>Eye,removeExtensionsUsed:()=>Jie,removePipelineExtras:()=>yye,removeUnusedElements:()=>Bye,remove_primitive:()=>uz,resizeImageToNextPowerOfTwo:()=>c9,sampleTerrain:()=>sJ,sampleTerrainMostDetailed:()=>Tw,scaleToGeodeticSurface:()=>bte,subdivideArray:()=>GEe,subscribeAndEvaluate:()=>Ix,svgCompassGyro:()=>Dbe,svgCompassOuterRing:()=>Sbe,svgCompassRotationMarker:()=>Tbe,svgReset:()=>wbe,turf:()=>Ho,updateAccessorComponentTypes:()=>Qye,updateVersion:()=>Sye,usesExtension:()=>Tg,vertex:()=>Gje,viewerCesium3DTilesInspectorMixin:()=>fot,viewerCesiumInspectorMixin:()=>got,viewerCesiumNavigationMixin:()=>_rt,viewerDragDropMixin:()=>pot,viewerPerformanceWatchdogMixin:()=>mot,viewerVoxelInspectorMixin:()=>Eot,webGLConstantToGlslType:()=>ort,wrapFunction:()=>pbe,writeTextToCanvas:()=>l3});var h0t=Object.create,gHe=Object.defineProperty,d0t=Object.getOwnPropertyDescriptor,f0t=Object.getOwnPropertyNames,g0t=Object.getPrototypeOf,p0t=Object.prototype.hasOwnProperty,YF=(o=>typeof My<"u"?My:typeof Proxy<"u"?new Proxy(o,{get:(A,f)=>(typeof My<"u"?My:A)[f]}):o)(function(o){if(typeof My<"u")return My.apply(this,arguments);throw new Error('Dynamic require of "'+o+'" is not supported')}),wt=(o,A)=>()=>(A||o((A={exports:{}}).exports,A),A.exports),m0t=(o,A,f,m)=>{if(A&&typeof A=="object"||typeof A=="function")for(let C of f0t(A))!p0t.call(o,C)&&C!==f&&gHe(o,C,{get:()=>A[C],enumerable:!(m=d0t(A,C))||m.enumerable});return o},Dc=(o,A,f)=>(f=o!=null?h0t(g0t(o)):{},m0t(A||!o||!o.__esModule?gHe(f,"default",{value:o,enumerable:!0}):f,o)),r0e=wt((o,A)=>{var f=function(m){m==null&&(m=new Date().getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,m.constructor==Array?this.init_by_array(m,m.length):this.init_seed(m)};f.prototype.init_seed=function(m){for(this.mt[0]=m>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(((m&4294901760)>>>16)*1812433253<<16)+(m&65535)*1812433253+this.mti,this.mt[this.mti]>>>=0}},f.prototype.init_by_array=function(m,C){var E,x,y;for(this.init_seed(19650218),E=1,x=0,y=this.N>C?this.N:C;y;y--){var I=this.mt[E-1]^this.mt[E-1]>>>30;this.mt[E]=(this.mt[E]^(((I&4294901760)>>>16)*1664525<<16)+(I&65535)*1664525)+m[x]+x,this.mt[E]>>>=0,E++,x++,E>=this.N&&(this.mt[0]=this.mt[this.N-1],E=1),x>=C&&(x=0)}for(y=this.N-1;y;y--){var I=this.mt[E-1]^this.mt[E-1]>>>30;this.mt[E]=(this.mt[E]^(((I&4294901760)>>>16)*1566083941<<16)+(I&65535)*1566083941)-E,this.mt[E]>>>=0,E++,E>=this.N&&(this.mt[0]=this.mt[this.N-1],E=1)}this.mt[0]=2147483648},f.prototype.random_int=function(){var m,C=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var E;for(this.mti==this.N+1&&this.init_seed(5489),E=0;E>>1^C[m&1];for(;E>>1^C[m&1];m=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^m>>>1^C[m&1],this.mti=0}return m=this.mt[this.mti++],m^=m>>>11,m^=m<<7&2636928640,m^=m<<15&4022730752,m^=m>>>18,m>>>0},f.prototype.random_int31=function(){return this.random_int()>>>1},f.prototype.random_incl=function(){return this.random_int()*(1/4294967295)},f.prototype.random=function(){return this.random_int()*(1/4294967296)},f.prototype.random_excl=function(){return(this.random_int()+.5)*(1/4294967296)},f.prototype.random_long=function(){var m=this.random_int()>>>5,C=this.random_int()>>>6;return(m*67108864+C)*(1/9007199254740992)},A.exports=f}),C0t=wt((o,A)=>{/*! https://mths.be/punycode v1.4.0 by @mathias */(function(f){var m=typeof o=="object"&&o&&!o.nodeType&&o,C=typeof A=="object"&&A&&!A.nodeType&&A,E=typeof global=="object"&&global;(E.global===E||E.window===E||E.self===E)&&(f=E);var x,y=2147483647,I=36,v=1,B=26,Q=38,T=700,w=72,S=128,D="-",R=/^xn--/,P=/[^\x20-\x7E]/,M=/[\x2E\u3002\uFF0E\uFF61]/g,L={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},F=I-v,k=Math.floor,N=String.fromCharCode,G;function J(fe){throw new RangeError(L[fe])}function K(fe,ae){for(var U=fe.length,W=[];U--;)W[U]=ae(fe[U]);return W}function X(fe,ae){var U=fe.split("@"),W="";U.length>1&&(W=U[0]+"@",fe=U[1]),fe=fe.replace(M,".");var Y=fe.split("."),z=K(Y,ae).join(".");return W+z}function q(fe){for(var ae=[],U=0,W=fe.length,Y,z;U=55296&&Y<=56319&&U65535&&(ae-=65536,U+=N(ae>>>10&1023|55296),ae=56320|ae&1023),U+=N(ae),U}).join("")}function ie(fe){return fe-48<10?fe-22:fe-65<26?fe-65:fe-97<26?fe-97:I}function H(fe,ae){return fe+22+75*(fe<26)-((ae!=0)<<5)}function le(fe,ae,U){var W=0;for(fe=U?k(fe/T):fe>>1,fe+=k(fe/ae);fe>F*B>>1;W+=I)fe=k(fe/F);return k(W+(F+1)*fe/(fe+Q))}function ue(fe){var ae=[],U=fe.length,W,Y=0,z=S,re=w,se,de,me,Ce,Ie,we,Te,Ge,ke;for(se=fe.lastIndexOf(D),se<0&&(se=0),de=0;de=128&&J("not-basic"),ae.push(fe.charCodeAt(de));for(me=se>0?se+1:0;me=U&&J("invalid-input"),Te=ie(fe.charCodeAt(me++)),(Te>=I||Te>k((y-Y)/Ie))&&J("overflow"),Y+=Te*Ie,Ge=we<=re?v:we>=re+B?B:we-re,!(Tek(y/ke)&&J("overflow"),Ie*=ke;W=ae.length+1,re=le(Y-Ce,W,Ce==0),k(Y/W)>y-z&&J("overflow"),z+=k(Y/W),Y%=W,ae.splice(Y++,0,z)}return ee(ae)}function Ae(fe){var ae,U,W,Y,z,re,se,de,me,Ce,Ie,we=[],Te,Ge,ke,Oe;for(fe=q(fe),Te=fe.length,ae=S,U=0,z=w,re=0;re=ae&&Iek((y-U)/Ge)&&J("overflow"),U+=(se-ae)*Ge,ae=se,re=0;rey&&J("overflow"),Ie==ae){for(de=U,me=I;Ce=me<=z?v:me>=z+B?B:me-z,!(de{/*! * URI.js - Mutating URLs * IPv6 Support * * Version: 1.19.11 * * Author: Rodney Rehm * Web: http://medialize.github.io/URI.js/ * * Licensed under * MIT License http://www.opensource.org/licenses/mit-license * */(function(f,m){"use strict";typeof A=="object"&&A.exports?A.exports=m():typeof define=="function"&&define.amd?define(m):f.IPv6=m(f)})(o,function(f){"use strict";var m=f&&f.IPv6;function C(x){var y=x.toLowerCase(),I=y.split(":"),v=I.length,B=8;I[0]===""&&I[1]===""&&I[2]===""?(I.shift(),I.shift()):I[0]===""&&I[1]===""?I.shift():I[v-1]===""&&I[v-2]===""&&I.pop(),v=I.length,I[v-1].indexOf(".")!==-1&&(B=7);var Q;for(Q=0;Q1;S++)T.splice(0,1);I[w]=T.join("")}var D=-1,R=0,P=0,M=-1,L=!1;for(w=0;wR&&(D=M,R=P)):I[w]==="0"&&(L=!0,M=w,P=1);P>R&&(D=M,R=P),R>1&&I.splice(D,R,""),v=I.length;var F="";for(I[0]===""&&(F=":"),w=0;w{/*! * URI.js - Mutating URLs * Second Level Domain (SLD) Support * * Version: 1.19.11 * * Author: Rodney Rehm * Web: http://medialize.github.io/URI.js/ * * Licensed under * MIT License http://www.opensource.org/licenses/mit-license * */(function(f,m){"use strict";typeof A=="object"&&A.exports?A.exports=m():typeof define=="function"&&define.amd?define(m):f.SecondLevelDomains=m(f)})(o,function(f){"use strict";var m=f&&f.SecondLevelDomains,C={list:{ac:" com gov mil net org ",ae:" ac co gov mil name net org pro sch ",af:" com edu gov net org ",al:" com edu gov mil net org ",ao:" co ed gv it og pb ",ar:" com edu gob gov int mil net org tur ",at:" ac co gv or ",au:" asn com csiro edu gov id net org ",ba:" co com edu gov mil net org rs unbi unmo unsa untz unze ",bb:" biz co com edu gov info net org store tv ",bh:" biz cc com edu gov info net org ",bn:" com edu gov net org ",bo:" com edu gob gov int mil net org tv ",br:" adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",bs:" com edu gov net org ",bz:" du et om ov rg ",ca:" ab bc mb nb nf nl ns nt nu on pe qc sk yk ",ck:" biz co edu gen gov info net org ",cn:" ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",co:" com edu gov mil net nom org ",cr:" ac c co ed fi go or sa ",cy:" ac biz com ekloges gov ltd name net org parliament press pro tm ",do:" art com edu gob gov mil net org sld web ",dz:" art asso com edu gov net org pol ",ec:" com edu fin gov info med mil net org pro ",eg:" com edu eun gov mil name net org sci ",er:" com edu gov ind mil net org rochest w ",es:" com edu gob nom org ",et:" biz com edu gov info name net org ",fj:" ac biz com info mil name net org pro ",fk:" ac co gov net nom org ",fr:" asso com f gouv nom prd presse tm ",gg:" co net org ",gh:" com edu gov mil org ",gn:" ac com gov net org ",gr:" com edu gov mil net org ",gt:" com edu gob ind mil net org ",gu:" com edu gov net org ",hk:" com edu gov idv net org ",hu:" 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",id:" ac co go mil net or sch web ",il:" ac co gov idf k12 muni net org ",in:" ac co edu ernet firm gen gov i ind mil net nic org res ",iq:" com edu gov i mil net org ",ir:" ac co dnssec gov i id net org sch ",it:" edu gov ",je:" co net org ",jo:" com edu gov mil name net org sch ",jp:" ac ad co ed go gr lg ne or ",ke:" ac co go info me mobi ne or sc ",kh:" com edu gov mil net org per ",ki:" biz com de edu gov info mob net org tel ",km:" asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",kn:" edu gov net org ",kr:" ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",kw:" com edu gov net org ",ky:" com edu gov net org ",kz:" com edu gov mil net org ",lb:" com edu gov net org ",lk:" assn com edu gov grp hotel int ltd net ngo org sch soc web ",lr:" com edu gov net org ",lv:" asn com conf edu gov id mil net org ",ly:" com edu gov id med net org plc sch ",ma:" ac co gov m net org press ",mc:" asso tm ",me:" ac co edu gov its net org priv ",mg:" com edu gov mil nom org prd tm ",mk:" com edu gov inf name net org pro ",ml:" com edu gov net org presse ",mn:" edu gov org ",mo:" com edu gov net org ",mt:" com edu gov net org ",mv:" aero biz com coop edu gov info int mil museum name net org pro ",mw:" ac co com coop edu gov int museum net org ",mx:" com edu gob net org ",my:" com edu gov mil name net org sch ",nf:" arts com firm info net other per rec store web ",ng:" biz com edu gov mil mobi name net org sch ",ni:" ac co com edu gob mil net nom org ",np:" com edu gov mil net org ",nr:" biz com edu gov info net org ",om:" ac biz co com edu gov med mil museum net org pro sch ",pe:" com edu gob mil net nom org sld ",ph:" com edu gov i mil net ngo org ",pk:" biz com edu fam gob gok gon gop gos gov net org web ",pl:" art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",pr:" ac biz com edu est gov info isla name net org pro prof ",ps:" com edu gov net org plo sec ",pw:" belau co ed go ne or ",ro:" arts com firm info nom nt org rec store tm www ",rs:" ac co edu gov in org ",sb:" com edu gov net org ",sc:" com edu gov net org ",sh:" co com edu gov net nom org ",sl:" com edu gov net org ",st:" co com consulado edu embaixada gov mil net org principe saotome store ",sv:" com edu gob org red ",sz:" ac co org ",tr:" av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",tt:" aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",tw:" club com ebiz edu game gov idv mil net org ",mu:" ac co com gov net or org ",mz:" ac co edu gov org ",na:" co com ",nz:" ac co cri geek gen govt health iwi maori mil net org parliament school ",pa:" abo ac com edu gob ing med net nom org sld ",pt:" com edu gov int net nome org publ ",py:" com edu gov mil net org ",qa:" com edu gov mil net org ",re:" asso com nom ",ru:" ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",rw:" ac co com edu gouv gov int mil net ",sa:" com edu gov med net org pub sch ",sd:" com edu gov info med net org tv ",se:" a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",sg:" com edu gov idn net org per ",sn:" art com edu gouv org perso univ ",sy:" com edu gov mil net news org ",th:" ac co go in mi net or ",tj:" ac biz co com edu go gov info int mil name net nic org test web ",tn:" agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",tz:" ac co go ne or ",ua:" biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",ug:" ac co go ne or org sc ",uk:" ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",us:" dni fed isa kids nsn ",uy:" com edu gub mil net org ",ve:" co com edu gob info mil net org web ",vi:" co com k12 net org ",vn:" ac biz com edu gov health info int name net org pro ",ye:" co com gov ltd me net org plc ",yu:" ac co edu gov org ",za:" ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",zm:" ac co com edu gov net org sch ",com:"ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ",net:"gb jp se uk ",org:"ae",de:"com "},has:function(E){var x=E.lastIndexOf(".");if(x<=0||x>=E.length-1)return!1;var y=E.lastIndexOf(".",x-1);if(y<=0||y>=x-1)return!1;var I=C.list[E.slice(x+1)];return I?I.indexOf(" "+E.slice(y+1,x)+" ")>=0:!1},is:function(E){var x=E.lastIndexOf(".");if(x<=0||x>=E.length-1)return!1;var y=E.lastIndexOf(".",x-1);if(y>=0)return!1;var I=C.list[E.slice(x+1)];return I?I.indexOf(" "+E.slice(0,x)+" ")>=0:!1},get:function(E){var x=E.lastIndexOf(".");if(x<=0||x>=E.length-1)return null;var y=E.lastIndexOf(".",x-1);if(y<=0||y>=x-1)return null;var I=C.list[E.slice(x+1)];return!I||I.indexOf(" "+E.slice(y+1,x)+" ")<0?null:E.slice(y+1)},noConflict:function(){return f.SecondLevelDomains===this&&(f.SecondLevelDomains=m),this}};return C})}),av=wt((o,A)=>{/*! * URI.js - Mutating URLs * * Version: 1.19.11 * * Author: Rodney Rehm * Web: http://medialize.github.io/URI.js/ * * Licensed under * MIT License http://www.opensource.org/licenses/mit-license * */(function(f,m){"use strict";typeof A=="object"&&A.exports?A.exports=m(C0t(),E0t(),x0t()):typeof define=="function"&&define.amd?define(["./punycode","./IPv6","./SecondLevelDomains"],m):f.URI=m(f.punycode,f.IPv6,f.SecondLevelDomains,f)})(o,function(f,m,C,E){"use strict";var x=E&&E.URI;function y(H,le){var ue=arguments.length>=1,Ae=arguments.length>=2;if(!(this instanceof y))return ue?Ae?new y(H,le):new y(H):new y;if(H===void 0){if(ue)throw new TypeError("undefined is not a valid argument for URI");typeof location<"u"?H=location.href+"":H=""}if(H===null&&ue)throw new TypeError("null is not a valid argument for URI");return this.href(H),le!==void 0?this.absoluteTo(le):this}function I(H){return/^[0-9]+$/.test(H)}y.version="1.19.11";var v=y.prototype,B=Object.prototype.hasOwnProperty;function Q(H){return H.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function T(H){return H===void 0?"Undefined":String(Object.prototype.toString.call(H)).slice(8,-1)}function w(H){return T(H)==="Array"}function S(H,le){var ue={},Ae,he;if(T(le)==="RegExp")ue=null;else if(w(le))for(Ae=0,he=le.length;Ae]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/ig,y.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},y.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,y.ascii_tab_whitespace=/[\u0009\u000A\u000D]+/g,y.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},y.hostProtocols=["http","https"],y.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,y.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},y.getDomAttribute=function(H){if(!(!H||!H.nodeName)){var le=H.nodeName.toLowerCase();if(!(le==="input"&&H.type!=="image"))return y.domAttributes[le]}};function M(H){return escape(H)}function L(H){return encodeURIComponent(H).replace(/[!'()*]/g,M).replace(/\*/g,"%2A")}y.encode=L,y.decode=decodeURIComponent,y.iso8859=function(){y.encode=escape,y.decode=unescape},y.unicode=function(){y.encode=L,y.decode=decodeURIComponent},y.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/ig,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/ig,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/ig,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},y.encodeQuery=function(H,le){var ue=y.encode(H+"");return le===void 0&&(le=y.escapeQuerySpace),le?ue.replace(/%20/g,"+"):ue},y.decodeQuery=function(H,le){H+="",le===void 0&&(le=y.escapeQuerySpace);try{return y.decode(le?H.replace(/\+/g,"%20"):H)}catch{return H}};var F={encode:"encode",decode:"decode"},k,N=function(H,le){return function(ue){try{return y[le](ue+"").replace(y.characters[H][le].expression,function(Ae){return y.characters[H][le].map[Ae]})}catch{return ue}}};for(k in F)y[k+"PathSegment"]=N("pathname",F[k]),y[k+"UrnPathSegment"]=N("urnpath",F[k]);var G=function(H,le,ue){return function(Ae){var he;ue?he=function(U){return y[le](y[ue](U))}:he=y[le];for(var ge=(Ae+"").split(H),fe=0,ae=ge.length;fe-1&&(le.fragment=H.substring(ue+1)||null,H=H.substring(0,ue)),ue=H.indexOf("?"),ue>-1&&(le.query=H.substring(ue+1)||null,H=H.substring(0,ue)),H=H.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://"),H=H.replace(/^[/\\]{2,}/i,"//"),H.substring(0,2)==="//"?(le.protocol=null,H=H.substring(2),H=y.parseAuthority(H,le)):(ue=H.indexOf(":"),ue>-1&&(le.protocol=H.substring(0,ue)||null,le.protocol&&!le.protocol.match(y.protocol_expression)?le.protocol=void 0:H.substring(ue+1,ue+3).replace(/\\/g,"/")==="//"?(H=H.substring(ue+3),H=y.parseAuthority(H,le)):(H=H.substring(ue+1),le.urn=!0))),le.path=H,le},y.parseHost=function(H,le){H||(H=""),H=H.replace(/\\/g,"/");var ue=H.indexOf("/"),Ae,he;if(ue===-1&&(ue=H.length),H.charAt(0)==="[")Ae=H.indexOf("]"),le.hostname=H.substring(1,Ae)||null,le.port=H.substring(Ae+2,ue)||null,le.port==="/"&&(le.port=null);else{var ge=H.indexOf(":"),fe=H.indexOf("/"),ae=H.indexOf(":",ge+1);ae!==-1&&(fe===-1||ae-1?he:H.length-1),fe;return ge>-1&&(he===-1||ge-1?re=re.slice(0,se)+re.slice(se).replace(ge,""):re=re.replace(ge,""),!(re.length<=U[0].length)&&!(ue.ignore&&ue.ignore.test(re))){z=W+re.length;var Ce=le(re,W,z,H);if(Ce===void 0){Ae.lastIndex=z;continue}Ce=String(Ce),H=H.slice(0,W)+Ce+H.slice(z),Ae.lastIndex=W+Ce.length}}return Ae.lastIndex=0,H},y.ensureValidHostname=function(H,le){var ue=!!H,Ae=!!le,he=!1;if(Ae&&(he=D(y.hostProtocols,le)),he&&!ue)throw new TypeError("Hostname cannot be empty, if protocol is "+le);if(H&&H.match(y.invalid_hostname_characters)){if(!f)throw new TypeError('Hostname "'+H+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(f.toASCII(H).match(y.invalid_hostname_characters))throw new TypeError('Hostname "'+H+'" contains characters other than [A-Z0-9.-:_]')}},y.ensureValidPort=function(H){if(H){var le=Number(H);if(!(I(le)&&le>0&&le<65536))throw new TypeError('Port "'+H+'" is not a valid port')}},y.noConflict=function(H){if(H){var le={URI:this.noConflict()};return E.URITemplate&&typeof E.URITemplate.noConflict=="function"&&(le.URITemplate=E.URITemplate.noConflict()),E.IPv6&&typeof E.IPv6.noConflict=="function"&&(le.IPv6=E.IPv6.noConflict()),E.SecondLevelDomains&&typeof E.SecondLevelDomains.noConflict=="function"&&(le.SecondLevelDomains=E.SecondLevelDomains.noConflict()),le}else E.URI===this&&(E.URI=x);return this},v.build=function(H){return H===!0?this._deferred_build=!0:(H===void 0||this._deferred_build)&&(this._string=y.build(this._parts),this._deferred_build=!1),this},v.clone=function(){return new y(this)},v.valueOf=v.toString=function(){return this.build(!1)._string};function J(H){return function(le,ue){return le===void 0?this._parts[H]||"":(this._parts[H]=le||null,this.build(!ue),this)}}function K(H,le){return function(ue,Ae){return ue===void 0?this._parts[H]||"":(ue!==null&&(ue=ue+"",ue.charAt(0)===le&&(ue=ue.substring(1))),this._parts[H]=ue,this.build(!Ae),this)}}v.protocol=J("protocol"),v.username=J("username"),v.password=J("password"),v.hostname=J("hostname"),v.port=J("port"),v.query=K("query","?"),v.fragment=K("fragment","#"),v.search=function(H,le){var ue=this.query(H,le);return typeof ue=="string"&&ue.length?"?"+ue:ue},v.hash=function(H,le){var ue=this.fragment(H,le);return typeof ue=="string"&&ue.length?"#"+ue:ue},v.pathname=function(H,le){if(H===void 0||H===!0){var ue=this._parts.path||(this._parts.hostname?"/":"");return H?(this._parts.urn?y.decodeUrnPath:y.decodePath)(ue):ue}else return this._parts.urn?this._parts.path=H?y.recodeUrnPath(H):"":this._parts.path=H?y.recodePath(H):"/",this.build(!le),this},v.path=v.pathname,v.href=function(H,le){var ue;if(H===void 0)return this.toString();this._string="",this._parts=y._parts();var Ae=H instanceof y,he=typeof H=="object"&&(H.hostname||H.path||H.pathname);if(H.nodeName){var ge=y.getDomAttribute(H);H=H[ge]||"",he=!1}if(!Ae&&he&&H.pathname!==void 0&&(H=H.toString()),typeof H=="string"||H instanceof String)this._parts=y.parse(String(H),this._parts);else if(Ae||he){var fe=Ae?H._parts:H;for(ue in fe)ue!=="query"&&B.call(this._parts,ue)&&(this._parts[ue]=fe[ue]);fe.query&&this.query(fe.query,!1)}else throw new TypeError("invalid input");return this.build(!le),this},v.is=function(H){var le=!1,ue=!1,Ae=!1,he=!1,ge=!1,fe=!1,ae=!1,U=!this._parts.urn;switch(this._parts.hostname&&(U=!1,ue=y.ip4_expression.test(this._parts.hostname),Ae=y.ip6_expression.test(this._parts.hostname),le=ue||Ae,he=!le,ge=he&&C&&C.has(this._parts.hostname),fe=he&&y.idn_expression.test(this._parts.hostname),ae=he&&y.punycode_expression.test(this._parts.hostname)),H.toLowerCase()){case"relative":return U;case"absolute":return!U;case"domain":case"name":return he;case"sld":return ge;case"ip":return le;case"ip4":case"ipv4":case"inet4":return ue;case"ip6":case"ipv6":case"inet6":return Ae;case"idn":return fe;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return ae}return null};var X=v.protocol,q=v.port,ee=v.hostname;v.protocol=function(H,le){if(H&&(H=H.replace(/:(\/\/)?$/,""),!H.match(y.protocol_expression)))throw new TypeError('Protocol "'+H+`" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]`);return X.call(this,H,le)},v.scheme=v.protocol,v.port=function(H,le){return this._parts.urn?H===void 0?"":this:(H!==void 0&&(H===0&&(H=null),H&&(H+="",H.charAt(0)===":"&&(H=H.substring(1)),y.ensureValidPort(H))),q.call(this,H,le))},v.hostname=function(H,le){if(this._parts.urn)return H===void 0?"":this;if(H!==void 0){var ue={preventInvalidHostname:this._parts.preventInvalidHostname},Ae=y.parseHost(H,ue);if(Ae!=="/")throw new TypeError('Hostname "'+H+'" contains characters other than [A-Z0-9.-]');H=ue.hostname,this._parts.preventInvalidHostname&&y.ensureValidHostname(H,this._parts.protocol)}return ee.call(this,H,le)},v.origin=function(H,le){if(this._parts.urn)return H===void 0?"":this;if(H===void 0){var ue=this.protocol(),Ae=this.authority();return Ae?(ue?ue+"://":"")+this.authority():""}else{var he=y(H);return this.protocol(he.protocol()).authority(he.authority()).build(!le),this}},v.host=function(H,le){if(this._parts.urn)return H===void 0?"":this;if(H===void 0)return this._parts.hostname?y.buildHost(this._parts):"";var ue=y.parseHost(H,this._parts);if(ue!=="/")throw new TypeError('Hostname "'+H+'" contains characters other than [A-Z0-9.-]');return this.build(!le),this},v.authority=function(H,le){if(this._parts.urn)return H===void 0?"":this;if(H===void 0)return this._parts.hostname?y.buildAuthority(this._parts):"";var ue=y.parseAuthority(H,this._parts);if(ue!=="/")throw new TypeError('Hostname "'+H+'" contains characters other than [A-Z0-9.-]');return this.build(!le),this},v.userinfo=function(H,le){if(this._parts.urn)return H===void 0?"":this;if(H===void 0){var ue=y.buildUserinfo(this._parts);return ue&&ue.substring(0,ue.length-1)}else return H[H.length-1]!=="@"&&(H+="@"),y.parseUserinfo(H,this._parts),this.build(!le),this},v.resource=function(H,le){var ue;return H===void 0?this.path()+this.search()+this.hash():(ue=y.parse(H),this._parts.path=ue.path,this._parts.query=ue.query,this._parts.fragment=ue.fragment,this.build(!le),this)},v.subdomain=function(H,le){if(this._parts.urn)return H===void 0?"":this;if(H===void 0){if(!this._parts.hostname||this.is("IP"))return"";var ue=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,ue)||""}else{var Ae=this._parts.hostname.length-this.domain().length,he=this._parts.hostname.substring(0,Ae),ge=new RegExp("^"+Q(he));if(H&&H.charAt(H.length-1)!=="."&&(H+="."),H.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");return H&&y.ensureValidHostname(H,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(ge,H),this.build(!le),this}},v.domain=function(H,le){if(this._parts.urn)return H===void 0?"":this;if(typeof H=="boolean"&&(le=H,H=void 0),H===void 0){if(!this._parts.hostname||this.is("IP"))return"";var ue=this._parts.hostname.match(/\./g);if(ue&&ue.length<2)return this._parts.hostname;var Ae=this._parts.hostname.length-this.tld(le).length-1;return Ae=this._parts.hostname.lastIndexOf(".",Ae-1)+1,this._parts.hostname.substring(Ae)||""}else{if(!H)throw new TypeError("cannot set domain empty");if(H.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");if(y.ensureValidHostname(H,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=H;else{var he=new RegExp(Q(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(he,H)}return this.build(!le),this}},v.tld=function(H,le){if(this._parts.urn)return H===void 0?"":this;if(typeof H=="boolean"&&(le=H,H=void 0),H===void 0){if(!this._parts.hostname||this.is("IP"))return"";var ue=this._parts.hostname.lastIndexOf("."),Ae=this._parts.hostname.substring(ue+1);return le!==!0&&C&&C.list[Ae.toLowerCase()]&&C.get(this._parts.hostname)||Ae}else{var he;if(H)if(H.match(/[^a-zA-Z0-9-]/))if(C&&C.is(H))he=new RegExp(Q(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(he,H);else throw new TypeError('TLD "'+H+'" contains characters other than [A-Z0-9]');else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");he=new RegExp(Q(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(he,H)}else throw new TypeError("cannot set TLD empty");return this.build(!le),this}},v.directory=function(H,le){if(this._parts.urn)return H===void 0?"":this;if(H===void 0||H===!0){if(!this._parts.path&&!this._parts.hostname)return"";if(this._parts.path==="/")return"/";var ue=this._parts.path.length-this.filename().length-1,Ae=this._parts.path.substring(0,ue)||(this._parts.hostname?"/":"");return H?y.decodePath(Ae):Ae}else{var he=this._parts.path.length-this.filename().length,ge=this._parts.path.substring(0,he),fe=new RegExp("^"+Q(ge));return this.is("relative")||(H||(H="/"),H.charAt(0)!=="/"&&(H="/"+H)),H&&H.charAt(H.length-1)!=="/"&&(H+="/"),H=y.recodePath(H),this._parts.path=this._parts.path.replace(fe,H),this.build(!le),this}},v.filename=function(H,le){if(this._parts.urn)return H===void 0?"":this;if(typeof H!="string"){if(!this._parts.path||this._parts.path==="/")return"";var ue=this._parts.path.lastIndexOf("/"),Ae=this._parts.path.substring(ue+1);return H?y.decodePathSegment(Ae):Ae}else{var he=!1;H.charAt(0)==="/"&&(H=H.substring(1)),H.match(/\.?\//)&&(he=!0);var ge=new RegExp(Q(this.filename())+"$");return H=y.recodePath(H),this._parts.path=this._parts.path.replace(ge,H),he?this.normalizePath(le):this.build(!le),this}},v.suffix=function(H,le){if(this._parts.urn)return H===void 0?"":this;if(H===void 0||H===!0){if(!this._parts.path||this._parts.path==="/")return"";var ue=this.filename(),Ae=ue.lastIndexOf("."),he,ge;return Ae===-1?"":(he=ue.substring(Ae+1),ge=/^[a-z0-9%]+$/i.test(he)?he:"",H?y.decodePathSegment(ge):ge)}else{H.charAt(0)==="."&&(H=H.substring(1));var fe=this.suffix(),ae;if(fe)H?ae=new RegExp(Q(fe)+"$"):ae=new RegExp(Q("."+fe)+"$");else{if(!H)return this;this._parts.path+="."+y.recodePath(H)}return ae&&(H=y.recodePath(H),this._parts.path=this._parts.path.replace(ae,H)),this.build(!le),this}},v.segment=function(H,le,ue){var Ae=this._parts.urn?":":"/",he=this.path(),ge=he.substring(0,1)==="/",fe=he.split(Ae);if(H!==void 0&&typeof H!="number"&&(ue=le,le=H,H=void 0),H!==void 0&&typeof H!="number")throw new Error('Bad segment "'+H+'", must be 0-based integer');if(ge&&fe.shift(),H<0&&(H=Math.max(fe.length+H,0)),le===void 0)return H===void 0?fe:fe[H];if(H===null||fe[H]===void 0)if(w(le)){fe=[];for(var ae=0,U=le.length;ae{"use strict";A.exports=m;var f=1e20;function m(x,y){y||(y={});var I=y.cutoff==null?.25:y.cutoff,v=y.radius==null?8:y.radius,B=y.channel||0,Q,T,w,S,D,R,P,M,L,F,k;if(ArrayBuffer.isView(x)||Array.isArray(x)){if(!y.width||!y.height)throw Error("For raw data width and height should be provided by options");Q=y.width,T=y.height,S=x,y.stride?R=y.stride:R=Math.floor(x.length/Q/T)}else window.HTMLCanvasElement&&x instanceof window.HTMLCanvasElement?(M=x,P=M.getContext("2d"),Q=M.width,T=M.height,L=P.getImageData(0,0,Q,T),S=L.data,R=4):window.CanvasRenderingContext2D&&x instanceof window.CanvasRenderingContext2D?(M=x.canvas,P=x,Q=M.width,T=M.height,L=P.getImageData(0,0,Q,T),S=L.data,R=4):window.ImageData&&x instanceof window.ImageData&&(L=x,Q=x.width,T=x.height,S=L.data,R=4);if(w=Math.max(Q,T),window.Uint8ClampedArray&&S instanceof window.Uint8ClampedArray||window.Uint8Array&&S instanceof window.Uint8Array)for(D=S,S=Array(Q*T),F=0,k=Math.floor(D.length/R);F{function f(){var m=0,C=1,E=2,x=3,y=4,I=5,v=6,B=7,Q=8,T=9,w=10,S=11,D=12,R=13,P=14,M=15,L=16,F=17,k=0,N=1,G=2,J=3,K=4;function X(H,le){return 55296<=H.charCodeAt(le)&&H.charCodeAt(le)<=56319&&56320<=H.charCodeAt(le+1)&&H.charCodeAt(le+1)<=57343}function q(H,le){le===void 0&&(le=0);var ue=H.charCodeAt(le);if(55296<=ue&&ue<=56319&&le=1){var Ae=H.charCodeAt(le-1),he=ue;return 55296<=Ae&&Ae<=56319?(Ae-55296)*1024+(he-56320)+65536:he}return ue}function ee(H,le,ue){var Ae=[H].concat(le).concat([ue]),he=Ae[Ae.length-2],ge=ue,fe=Ae.lastIndexOf(P);if(fe>1&&Ae.slice(1,fe).every(function(W){return W==x})&&[x,R,F].indexOf(H)==-1)return G;var ae=Ae.lastIndexOf(y);if(ae>0&&Ae.slice(1,ae).every(function(W){return W==y})&&[D,y].indexOf(he)==-1)return Ae.filter(function(W){return W==y}).length%2==1?J:K;if(he==m&&ge==C)return k;if(he==E||he==m||he==C)return ge==P&&le.every(function(W){return W==x})?G:N;if(ge==E||ge==m||ge==C)return N;if(he==v&&(ge==v||ge==B||ge==T||ge==w)||(he==T||he==B)&&(ge==B||ge==Q)||(he==w||he==Q)&&ge==Q||ge==x||ge==M||ge==I||he==D)return k;var U=Ae.indexOf(x)!=-1?Ae.lastIndexOf(x)-1:Ae.length-2;return[R,F].indexOf(Ae[U])!=-1&&Ae.slice(U+1,-1).every(function(W){return W==x})&&ge==P||he==M&&[L,F].indexOf(ge)!=-1?k:le.indexOf(y)!=-1?G:he==y&&ge==y?k:N}this.nextBreak=function(H,le){if(le===void 0&&(le=0),le<0)return 0;if(le>=H.length-1)return H.length;for(var ue=ie(q(H,le)),Ae=[],he=le+1;he{var A;typeof window<"u"?A=window.__DEV__:typeof global<"u"&&(A=global.__DEV__),typeof A>"u"&&(A=!0);var f=A;o.__DEV__=f}),pHe=wt((o,A)=>{var f=2311;function m(){return f++}A.exports=m}),jf=wt((o,A)=>{var f={};typeof wx=="object"&&typeof wx.getSystemInfoSync=="function"?f={browser:{},os:{},node:!1,wxa:!0,canvasSupported:!0,svgSupported:!1,touchEventsSupported:!0,domSupported:!1}:typeof document>"u"&&typeof self<"u"?f={browser:{},os:{},node:!1,worker:!0,canvasSupported:!0,domSupported:!1}:typeof navigator>"u"?f={browser:{},os:{},node:!0,worker:!1,canvasSupported:!0,svgSupported:!0,domSupported:!1}:f=C(navigator.userAgent);var m=f;function C(E){var x={},y={},I=E.match(/Firefox\/([\d.]+)/),v=E.match(/MSIE\s([\d.]+)/)||E.match(/Trident\/.+?rv:(([\d.]+))/),B=E.match(/Edge\/([\d.]+)/),Q=/micromessenger/i.test(E);return I&&(y.firefox=!0,y.version=I[1]),v&&(y.ie=!0,y.version=v[1]),B&&(y.edge=!0,y.version=B[1]),Q&&(y.weChat=!0),{browser:y,os:x,node:!1,canvasSupported:!!document.createElement("canvas").getContext,svgSupported:typeof SVGRect<"u",touchEventsSupported:"ontouchstart"in window&&!y.ie&&!y.edge,pointerEventsSupported:"onpointerdown"in window&&(y.edge||y.ie&&y.version>=11),domSupported:typeof document<"u"}}A.exports=m}),Bi=wt(o=>{var A={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1,"[object CanvasPattern]":1,"[object Image]":1,"[object Canvas]":1},f={"[object Int8Array]":1,"[object Uint8Array]":1,"[object Uint8ClampedArray]":1,"[object Int16Array]":1,"[object Uint16Array]":1,"[object Int32Array]":1,"[object Uint32Array]":1,"[object Float32Array]":1,"[object Float64Array]":1},m=Object.prototype.toString,C=Array.prototype,E=C.forEach,x=C.filter,y=C.slice,I=C.map,v=C.reduce,B={};function Q(Le,be){Le==="createCanvas"&&(M=null),B[Le]=be}function T(Le){if(Le==null||typeof Le!="object")return Le;var be=Le,Ne=m.call(Le);if(Ne==="[object Array]"){if(!we(Le)){be=[];for(var Ue=0,ze=Le.length;Ue{var A=typeof Float32Array>"u"?Array:Float32Array;function f(q,ee){var ie=new A(2);return q==null&&(q=0),ee==null&&(ee=0),ie[0]=q,ie[1]=ee,ie}function m(q,ee){return q[0]=ee[0],q[1]=ee[1],q}function C(q){var ee=new A(2);return ee[0]=q[0],ee[1]=q[1],ee}function E(q,ee,ie){return q[0]=ee,q[1]=ie,q}function x(q,ee,ie){return q[0]=ee[0]+ie[0],q[1]=ee[1]+ie[1],q}function y(q,ee,ie,H){return q[0]=ee[0]+ie[0]*H,q[1]=ee[1]+ie[1]*H,q}function I(q,ee,ie){return q[0]=ee[0]-ie[0],q[1]=ee[1]-ie[1],q}function v(q){return Math.sqrt(Q(q))}var B=v;function Q(q){return q[0]*q[0]+q[1]*q[1]}var T=Q;function w(q,ee,ie){return q[0]=ee[0]*ie[0],q[1]=ee[1]*ie[1],q}function S(q,ee,ie){return q[0]=ee[0]/ie[0],q[1]=ee[1]/ie[1],q}function D(q,ee){return q[0]*ee[0]+q[1]*ee[1]}function R(q,ee,ie){return q[0]=ee[0]*ie,q[1]=ee[1]*ie,q}function P(q,ee){var ie=v(ee);return ie===0?(q[0]=0,q[1]=0):(q[0]=ee[0]/ie,q[1]=ee[1]/ie),q}function M(q,ee){return Math.sqrt((q[0]-ee[0])*(q[0]-ee[0])+(q[1]-ee[1])*(q[1]-ee[1]))}var L=M;function F(q,ee){return(q[0]-ee[0])*(q[0]-ee[0])+(q[1]-ee[1])*(q[1]-ee[1])}var k=F;function N(q,ee){return q[0]=-ee[0],q[1]=-ee[1],q}function G(q,ee,ie,H){return q[0]=ee[0]+H*(ie[0]-ee[0]),q[1]=ee[1]+H*(ie[1]-ee[1]),q}function J(q,ee,ie){var H=ee[0],le=ee[1];return q[0]=ie[0]*H+ie[2]*le+ie[4],q[1]=ie[1]*H+ie[3]*le+ie[5],q}function K(q,ee,ie){return q[0]=Math.min(ee[0],ie[0]),q[1]=Math.min(ee[1],ie[1]),q}function X(q,ee,ie){return q[0]=Math.max(ee[0],ie[0]),q[1]=Math.max(ee[1],ie[1]),q}o.create=f,o.copy=m,o.clone=C,o.set=E,o.add=x,o.scaleAndAdd=y,o.sub=I,o.len=v,o.length=B,o.lenSquare=Q,o.lengthSquare=T,o.mul=w,o.div=S,o.dot=D,o.scale=R,o.normalize=P,o.distance=M,o.dist=L,o.distanceSquare=F,o.distSquare=k,o.negate=N,o.lerp=G,o.applyTransform=J,o.min=K,o.max=X}),_0t=wt((o,A)=>{function f(){this.on("mousedown",this._dragStart,this),this.on("mousemove",this._drag,this),this.on("mouseup",this._dragEnd,this)}f.prototype={constructor:f,_dragStart:function(E){for(var x=E.target;x&&!x.draggable;)x=x.parent;x&&(this._draggingTarget=x,x.dragging=!0,this._x=E.offsetX,this._y=E.offsetY,this.dispatchToElement(m(x,E),"dragstart",E.event))},_drag:function(E){var x=this._draggingTarget;if(x){var y=E.offsetX,I=E.offsetY,v=y-this._x,B=I-this._y;this._x=y,this._y=I,x.drift(v,B,E),this.dispatchToElement(m(x,E),"drag",E.event);var Q=this.findHover(y,I,x).target,T=this._dropTarget;this._dropTarget=Q,x!==Q&&(T&&Q!==T&&this.dispatchToElement(m(T,E),"dragleave",E.event),Q&&Q!==T&&this.dispatchToElement(m(Q,E),"dragenter",E.event))}},_dragEnd:function(E){var x=this._draggingTarget;x&&(x.dragging=!1),this.dispatchToElement(m(x,E),"dragend",E.event),this._dropTarget&&this.dispatchToElement(m(this._dropTarget,E),"drop",E.event),this._draggingTarget=null,this._dropTarget=null}};function m(E,x){return{target:E,topTarget:x&&x.topTarget}}var C=f;A.exports=C}),jN=wt((o,A)=>{var f=Array.prototype.slice,m=function(y){this._$handlers={},this._$eventProcessor=y};m.prototype={constructor:m,one:function(y,I,v,B){return E(this,y,I,v,B,!0)},on:function(y,I,v,B){return E(this,y,I,v,B,!1)},isSilent:function(y){var I=this._$handlers;return!I[y]||!I[y].length},off:function(y,I){var v=this._$handlers;if(!y)return this._$handlers={},this;if(I){if(v[y]){for(var B=[],Q=0,T=v[y].length;Q3&&(B=f.call(B,1));for(var T=I.length,w=0;w4&&(B=f.call(B,1,B.length-1));for(var T=B[B.length-1],w=I.length,S=0;S{var A=Math.log(2);function f(C,E,x,y,I,v){var B=y+"-"+I,Q=C.length;if(v.hasOwnProperty(B))return v[B];if(E===1){var T=Math.round(Math.log((1<{var A=jf(),f=v0t(),m=f.buildTransformer,C="___zrEVENTSAVED",E=[];function x(Q,T,w,S,D){return y(E,T,S,D,!0)&&y(Q,w,E[0],E[1])}function y(Q,T,w,S,D){if(T.getBoundingClientRect&&A.domSupported&&!B(T)){var R=T[C]||(T[C]={}),P=I(T,R),M=v(P,R,D);if(M)return M(Q,w,S),!0}return!1}function I(Q,T){var w=T.markers;if(w)return w;w=T.markers=[];for(var S=["left","right"],D=["top","bottom"],R=0;R<4;R++){var P=document.createElement("div"),M=P.style,L=R%2,F=(R>>1)%2;M.cssText=["position: absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","user-select: none","width:0","height:0",S[L]+":0",D[F]+":0",S[1-L]+":auto",D[1-F]+":auto",""].join("!important;"),Q.appendChild(P),w.push(P)}return w}function v(Q,T,w){for(var S=w?"invTrans":"trans",D=T[S],R=T.srcCoords,P=!0,M=[],L=[],F=0;F<4;F++){var k=Q[F].getBoundingClientRect(),N=2*F,G=k.left,J=k.top;M.push(G,J),P=P&&R&&G===R[N]&&J===R[N+1],L.push(Q[F].offsetLeft,Q[F].offsetTop)}return P&&D?D:(T.srcCoords=M,T[S]=w?m(L,M):m(M,L))}function B(Q){return Q.nodeName.toUpperCase()==="CANVAS"}o.transformLocalCoord=x,o.transformCoordWithViewport=y,o.isCanvasEl=B}),zb=wt(o=>{var A=jN();o.Dispatcher=A;var f=jf(),m=mHe(),C=m.isCanvasEl,E=m.transformCoordWithViewport,x=typeof window<"u"&&!!window.addEventListener,y=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,I=[];function v(M,L,F,k){return F=F||{},k||!f.canvasSupported?B(M,L,F):f.browser.firefox&&L.layerX!=null&&L.layerX!==L.offsetX?(F.zrX=L.layerX,F.zrY=L.layerY):L.offsetX!=null?(F.zrX=L.offsetX,F.zrY=L.offsetY):B(M,L,F),F}function B(M,L,F){if(f.domSupported&&M.getBoundingClientRect){var k=L.clientX,N=L.clientY;if(C(M)){var G=M.getBoundingClientRect();F.zrX=k-G.left,F.zrY=N-G.top;return}else if(E(I,M,k,N)){F.zrX=I[0],F.zrY=I[1];return}}F.zrX=F.zrY=0}function Q(M){return M||window.event}function T(M,L,F){if(L=Q(L),L.zrX!=null)return L;var k=L.type,N=k&&k.indexOf("touch")>=0;if(!N)v(M,L,L,F),L.zrDelta=L.wheelDelta?L.wheelDelta/120:-(L.detail||0)/3;else{var G=k!=="touchend"?L.targetTouches[0]:L.changedTouches[0];G&&v(M,G,L,F)}var J=L.button;return L.which==null&&J!==void 0&&y.test(L.type)&&(L.which=J&1?1:J&2?3:J&4?2:0),L}function w(M,L,F,k){x?M.addEventListener(L,F,k):M.attachEvent("on"+L,F)}function S(M,L,F,k){x?M.removeEventListener(L,F,k):M.detachEvent("on"+L,F)}var D=x?function(M){M.preventDefault(),M.stopPropagation(),M.cancelBubble=!0}:function(M){M.returnValue=!1,M.cancelBubble=!0};function R(M){return M.which===2||M.which===3}function P(M){return M.which>1}o.clientToLocal=v,o.getNativeEvent=Q,o.normalizeEvent=T,o.addEventListener=w,o.removeEventListener=S,o.stop=D,o.isMiddleOrRightButtonOnMouseUpDown=R,o.notLeftMouse=P}),B0t=wt((o,A)=>{var f=zb(),m=function(){this._track=[]};m.prototype={constructor:m,recognize:function(I,v,B){return this._doTrack(I,v,B),this._recognize(I)},clear:function(){return this._track.length=0,this},_doTrack:function(I,v,B){var Q=I.touches;if(Q){for(var T={points:[],touches:[],target:v,event:I},w=0,S=Q.length;w1&&Q&&Q.length>1){var w=C(Q)/C(T);!isFinite(w)&&(w=1),v.pinchScale=w;var S=E(Q);return v.pinchX=S[0],v.pinchY=S[1],{type:"pinch",target:I[0].target,event:v}}}}},y=m;A.exports=y}),w0t=wt((o,A)=>{var f=Bi(),m=vh(),C=_0t(),E=jN(),x=zb(),y=B0t(),I="silent";function v(P,M,L){return{type:P,event:L,target:M.target,topTarget:M.topTarget,cancelBubble:!1,offsetX:L.zrX,offsetY:L.zrY,gestureEvent:L.gestureEvent,pinchX:L.pinchX,pinchY:L.pinchY,pinchScale:L.pinchScale,wheelDelta:L.zrDelta,zrByTouch:L.zrByTouch,which:L.which,stop:B}}function B(){x.stop(this.event)}function Q(){}Q.prototype.dispose=function(){};var T=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],w=function(P,M,L,F){E.call(this),this.storage=P,this.painter=M,this.painterRoot=F,L=L||new Q,this.proxy=null,this._hovered={},this._lastTouchMoment,this._lastX,this._lastY,this._gestureMgr,C.call(this),this.setHandlerProxy(L)};w.prototype={constructor:w,setHandlerProxy:function(P){this.proxy&&this.proxy.dispose(),P&&(f.each(T,function(M){P.on&&P.on(M,this[M],this)},this),P.handler=this),this.proxy=P},mousemove:function(P){var M=P.zrX,L=P.zrY,F=D(this,M,L),k=this._hovered,N=k.target;N&&!N.__zr&&(k=this.findHover(k.x,k.y),N=k.target);var G=this._hovered=F?{x:M,y:L}:this.findHover(M,L),J=G.target,K=this.proxy;K.setCursor&&K.setCursor(J?J.cursor:"default"),N&&J!==N&&this.dispatchToElement(k,"mouseout",P),this.dispatchToElement(G,"mousemove",P),J&&J!==N&&this.dispatchToElement(G,"mouseover",P)},mouseout:function(P){var M=P.zrEventControl,L=P.zrIsToLocalDOM;M!=="only_globalout"&&this.dispatchToElement(this._hovered,"mouseout",P),M!=="no_globalout"&&!L&&this.trigger("globalout",{type:"globalout",event:P})},resize:function(P){this._hovered={}},dispatch:function(P,M){var L=this[P];L&&L.call(this,M)},dispose:function(){this.proxy.dispose(),this.storage=this.proxy=this.painter=null},setCursorStyle:function(P){var M=this.proxy;M.setCursor&&M.setCursor(P)},dispatchToElement:function(P,M,L){P=P||{};var F=P.target;if(!(F&&F.silent)){for(var k="on"+M,N=v(M,P,L);F&&(F[k]&&(N.cancelBubble=F[k].call(F,N)),F.trigger(M,N),F=F.parent,!N.cancelBubble););N.cancelBubble||(this.trigger(M,N),this.painter&&this.painter.eachOtherLayer(function(G){typeof G[k]=="function"&&G[k].call(G,N),G.trigger&&G.trigger(M,N)}))}},findHover:function(P,M,L){for(var F=this.storage.getDisplayList(),k={x:P,y:M},N=F.length-1;N>=0;N--){var G;if(F[N]!==L&&!F[N].ignore&&(G=S(F[N],P,M))&&(!k.topTarget&&(k.topTarget=F[N]),G!==I)){k.target=F[N];break}}return k},processGesture:function(P,M){this._gestureMgr||(this._gestureMgr=new y);var L=this._gestureMgr;M==="start"&&L.clear();var F=L.recognize(P,this.findHover(P.zrX,P.zrY,null).target,this.proxy.dom);if(M==="end"&&L.clear(),F){var k=F.type;P.gestureEvent=k,this.dispatchToElement({target:F.target},k,F.event)}}},f.each(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(P){w.prototype[P]=function(M){var L=M.zrX,F=M.zrY,k=D(this,L,F),N,G;if((P!=="mouseup"||!k)&&(N=this.findHover(L,F),G=N.target),P==="mousedown")this._downEl=G,this._downPoint=[M.zrX,M.zrY],this._upEl=G;else if(P==="mouseup")this._upEl=G;else if(P==="click"){if(this._downEl!==this._upEl||!this._downPoint||m.dist(this._downPoint,[M.zrX,M.zrY])>4)return;this._downPoint=null}this.dispatchToElement(N,P,M)}});function S(P,M,L){if(P[P.rectHover?"rectContain":"contain"](M,L)){for(var F=P,k;F;){if(F.clipPath&&!F.clipPath.contain(M,L))return!1;F.silent&&(k=!0),F=F.parent}return k?I:!0}return!1}function D(P,M,L){var F=P.painter;return M<0||M>F.getWidth()||L<0||L>F.getHeight()}f.mixin(w,E),f.mixin(w,C);var R=w;A.exports=R}),xE=wt(o=>{var A=typeof Float32Array>"u"?Array:Float32Array;function f(){var Q=new A(6);return m(Q),Q}function m(Q){return Q[0]=1,Q[1]=0,Q[2]=0,Q[3]=1,Q[4]=0,Q[5]=0,Q}function C(Q,T){return Q[0]=T[0],Q[1]=T[1],Q[2]=T[2],Q[3]=T[3],Q[4]=T[4],Q[5]=T[5],Q}function E(Q,T,w){var S=T[0]*w[0]+T[2]*w[1],D=T[1]*w[0]+T[3]*w[1],R=T[0]*w[2]+T[2]*w[3],P=T[1]*w[2]+T[3]*w[3],M=T[0]*w[4]+T[2]*w[5]+T[4],L=T[1]*w[4]+T[3]*w[5]+T[5];return Q[0]=S,Q[1]=D,Q[2]=R,Q[3]=P,Q[4]=M,Q[5]=L,Q}function x(Q,T,w){return Q[0]=T[0],Q[1]=T[1],Q[2]=T[2],Q[3]=T[3],Q[4]=T[4]+w[0],Q[5]=T[5]+w[1],Q}function y(Q,T,w){var S=T[0],D=T[2],R=T[4],P=T[1],M=T[3],L=T[5],F=Math.sin(w),k=Math.cos(w);return Q[0]=S*k+P*F,Q[1]=-S*F+P*k,Q[2]=D*k+M*F,Q[3]=-D*F+k*M,Q[4]=k*R+F*L,Q[5]=k*L-F*R,Q}function I(Q,T,w){var S=w[0],D=w[1];return Q[0]=T[0]*S,Q[1]=T[1]*D,Q[2]=T[2]*S,Q[3]=T[3]*D,Q[4]=T[4]*S,Q[5]=T[5]*D,Q}function v(Q,T){var w=T[0],S=T[2],D=T[4],R=T[1],P=T[3],M=T[5],L=w*P-R*S;return L?(L=1/L,Q[0]=P*L,Q[1]=-R*L,Q[2]=-S*L,Q[3]=w*L,Q[4]=(S*M-P*D)*L,Q[5]=(R*D-w*M)*L,Q):null}function B(Q){var T=f();return C(T,Q),T}o.create=f,o.identity=m,o.copy=C,o.mul=E,o.translate=x,o.rotate=y,o.scale=I,o.invert=v,o.clone=B}),$ee=wt((o,A)=>{var f=xE(),m=vh(),C=f.identity,E=5e-5;function x(w){return w>E||w<-E}var y=function(w){w=w||{},w.position||(this.position=[0,0]),w.rotation==null&&(this.rotation=0),w.scale||(this.scale=[1,1]),this.origin=this.origin||null},I=y.prototype;I.transform=null,I.needLocalTransform=function(){return x(this.rotation)||x(this.position[0])||x(this.position[1])||x(this.scale[0]-1)||x(this.scale[1]-1)};var v=[];I.updateTransform=function(){var w=this.parent,S=w&&w.transform,D=this.needLocalTransform(),R=this.transform;if(!(D||S)){R&&C(R);return}R=R||f.create(),D?this.getLocalTransform(R):C(R),S&&(D?f.mul(R,w.transform,R):f.copy(R,w.transform)),this.transform=R;var P=this.globalScaleRatio;if(P!=null&&P!==1){this.getGlobalScale(v);var M=v[0]<0?-1:1,L=v[1]<0?-1:1,F=((v[0]-M)*P+M)/v[0]||0,k=((v[1]-L)*P+L)/v[1]||0;R[0]*=F,R[1]*=F,R[2]*=k,R[3]*=k}this.invTransform=this.invTransform||f.create(),f.invert(this.invTransform,R)},I.getLocalTransform=function(w){return y.getLocalTransform(this,w)},I.setTransform=function(w){var S=this.transform,D=w.dpr||1;S?w.setTransform(D*S[0],D*S[1],D*S[2],D*S[3],D*S[4],D*S[5]):w.setTransform(D,0,0,D,0,0)},I.restoreTransform=function(w){var S=w.dpr||1;w.setTransform(S,0,0,S,0,0)};var B=[],Q=f.create();I.setLocalTransform=function(w){if(w){var S=w[0]*w[0]+w[1]*w[1],D=w[2]*w[2]+w[3]*w[3],R=this.position,P=this.scale;x(S-1)&&(S=Math.sqrt(S)),x(D-1)&&(D=Math.sqrt(D)),w[0]<0&&(S=-S),w[3]<0&&(D=-D),R[0]=w[4],R[1]=w[5],P[0]=S,P[1]=D,this.rotation=Math.atan2(-w[1]/D,w[0]/S)}},I.decomposeTransform=function(){if(this.transform){var w=this.parent,S=this.transform;w&&w.transform&&(f.mul(B,w.invTransform,S),S=B);var D=this.origin;D&&(D[0]||D[1])&&(Q[4]=D[0],Q[5]=D[1],f.mul(B,S,Q),B[4]-=D[0],B[5]-=D[1],S=B),this.setLocalTransform(S)}},I.getGlobalScale=function(w){var S=this.transform;return w=w||[],S?(w[0]=Math.sqrt(S[0]*S[0]+S[1]*S[1]),w[1]=Math.sqrt(S[2]*S[2]+S[3]*S[3]),S[0]<0&&(w[0]=-w[0]),S[3]<0&&(w[1]=-w[1]),w):(w[0]=1,w[1]=1,w)},I.transformCoordToLocal=function(w,S){var D=[w,S],R=this.invTransform;return R&&m.applyTransform(D,D,R),D},I.transformCoordToGlobal=function(w,S){var D=[w,S],R=this.transform;return R&&m.applyTransform(D,D,R),D},y.getLocalTransform=function(w,S){S=S||[],C(S);var D=w.origin,R=w.scale||[1,1],P=w.rotation||0,M=w.position||[0,0];return D&&(S[4]-=D[0],S[5]-=D[1]),f.scale(S,S,R),P&&f.rotate(S,S,P),D&&(S[4]+=D[0],S[5]+=D[1]),S[4]+=M[0],S[5]+=M[1],S};var T=y;A.exports=T}),b0t=wt((o,A)=>{var f={linear:function(C){return C},quadraticIn:function(C){return C*C},quadraticOut:function(C){return C*(2-C)},quadraticInOut:function(C){return(C*=2)<1?.5*C*C:-.5*(--C*(C-2)-1)},cubicIn:function(C){return C*C*C},cubicOut:function(C){return--C*C*C+1},cubicInOut:function(C){return(C*=2)<1?.5*C*C*C:.5*((C-=2)*C*C+2)},quarticIn:function(C){return C*C*C*C},quarticOut:function(C){return 1- --C*C*C*C},quarticInOut:function(C){return(C*=2)<1?.5*C*C*C*C:-.5*((C-=2)*C*C*C-2)},quinticIn:function(C){return C*C*C*C*C},quinticOut:function(C){return--C*C*C*C*C+1},quinticInOut:function(C){return(C*=2)<1?.5*C*C*C*C*C:.5*((C-=2)*C*C*C*C+2)},sinusoidalIn:function(C){return 1-Math.cos(C*Math.PI/2)},sinusoidalOut:function(C){return Math.sin(C*Math.PI/2)},sinusoidalInOut:function(C){return .5*(1-Math.cos(Math.PI*C))},exponentialIn:function(C){return C===0?0:Math.pow(1024,C-1)},exponentialOut:function(C){return C===1?1:1-Math.pow(2,-10*C)},exponentialInOut:function(C){return C===0?0:C===1?1:(C*=2)<1?.5*Math.pow(1024,C-1):.5*(-Math.pow(2,-10*(C-1))+2)},circularIn:function(C){return 1-Math.sqrt(1-C*C)},circularOut:function(C){return Math.sqrt(1- --C*C)},circularInOut:function(C){return(C*=2)<1?-.5*(Math.sqrt(1-C*C)-1):.5*(Math.sqrt(1-(C-=2)*C)+1)},elasticIn:function(C){var E,x=.1,y=.4;return C===0?0:C===1?1:(!x||x<1?(x=1,E=y/4):E=y*Math.asin(1/x)/(2*Math.PI),-(x*Math.pow(2,10*(C-=1))*Math.sin((C-E)*(2*Math.PI)/y)))},elasticOut:function(C){var E,x=.1,y=.4;return C===0?0:C===1?1:(!x||x<1?(x=1,E=y/4):E=y*Math.asin(1/x)/(2*Math.PI),x*Math.pow(2,-10*C)*Math.sin((C-E)*(2*Math.PI)/y)+1)},elasticInOut:function(C){var E,x=.1,y=.4;return C===0?0:C===1?1:(!x||x<1?(x=1,E=y/4):E=y*Math.asin(1/x)/(2*Math.PI),(C*=2)<1?-.5*(x*Math.pow(2,10*(C-=1))*Math.sin((C-E)*(2*Math.PI)/y)):x*Math.pow(2,-10*(C-=1))*Math.sin((C-E)*(2*Math.PI)/y)*.5+1)},backIn:function(C){var E=1.70158;return C*C*((E+1)*C-E)},backOut:function(C){var E=1.70158;return--C*C*((E+1)*C+E)+1},backInOut:function(C){var E=2.5949095;return(C*=2)<1?.5*(C*C*((E+1)*C-E)):.5*((C-=2)*C*((E+1)*C+E)+2)},bounceIn:function(C){return 1-f.bounceOut(1-C)},bounceOut:function(C){return C<.36363636363636365?7.5625*C*C:C<.7272727272727273?7.5625*(C-=.5454545454545454)*C+.75:C<.9090909090909091?7.5625*(C-=.8181818181818182)*C+.9375:7.5625*(C-=.9545454545454546)*C+.984375},bounceInOut:function(C){return C<.5?f.bounceIn(C*2)*.5:f.bounceOut(C*2-1)*.5+.5}},m=f;A.exports=m}),Q0t=wt((o,A)=>{var f=b0t();function m(E){this._target=E.target,this._life=E.life||1e3,this._delay=E.delay||0,this._initialized=!1,this.loop=E.loop==null?!1:E.loop,this.gap=E.gap||0,this.easing=E.easing||"Linear",this.onframe=E.onframe,this.ondestroy=E.ondestroy,this.onrestart=E.onrestart,this._pausedTime=0,this._paused=!1}m.prototype={constructor:m,step:function(E,x){if(this._initialized||(this._startTime=E+this._delay,this._initialized=!0),this._paused){this._pausedTime+=x;return}var y=(E-this._startTime-this._pausedTime)/this._life;if(!(y<0)){y=Math.min(y,1);var I=this.easing,v=typeof I=="string"?f[I]:I,B=typeof v=="function"?v(y):y;return this.fire("frame",B),y===1?this.loop?(this.restart(E),"restart"):(this._needsRemove=!0,"destroy"):null}},restart:function(E){var x=(E-this._startTime-this._pausedTime)%this._life;this._startTime=E-x+this.gap,this._pausedTime=0,this._needsRemove=!1},fire:function(E,x){E="on"+E,this[E]&&this[E](this._target,x)},pause:function(){this._paused=!0},resume:function(){this._paused=!1}};var C=m;A.exports=C}),CHe=wt((o,A)=>{var f=function(){this.head=null,this.tail=null,this._len=0},m=f.prototype;m.insert=function(I){var v=new C(I);return this.insertEntry(v),v},m.insertEntry=function(I){this.head?(this.tail.next=I,I.prev=this.tail,I.next=null,this.tail=I):this.head=this.tail=I,this._len++},m.remove=function(I){var v=I.prev,B=I.next;v?v.next=B:this.head=B,B?B.prev=v:this.tail=v,I.next=I.prev=null,this._len--},m.len=function(){return this._len},m.clear=function(){this.head=this.tail=null,this._len=0};var C=function(I){this.value=I,this.next,this.prev},E=function(I){this._list=new f,this._map={},this._maxSize=I||10,this._lastRemovedEntry=null},x=E.prototype;x.put=function(I,v){var B=this._list,Q=this._map,T=null;if(Q[I]==null){var w=B.len(),S=this._lastRemovedEntry;if(w>=this._maxSize&&w>0){var D=B.head;B.remove(D),delete Q[D.key],T=D.value,this._lastRemovedEntry=D}S?S.value=v:S=new C(v),S.key=I,B.insertEntry(S),Q[I]=S}return T},x.get=function(I){var v=this._map[I],B=this._list;if(v!=null)return v!==B.tail&&(B.remove(v),B.insertEntry(v)),v.value},x.clear=function(){this._list.clear(),this._map={}};var y=E;A.exports=y}),Yb=wt(o=>{var A=CHe(),f={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function m(q){return q=Math.round(q),q<0?0:q>255?255:q}function C(q){return q=Math.round(q),q<0?0:q>360?360:q}function E(q){return q<0?0:q>1?1:q}function x(q){return q.length&&q.charAt(q.length-1)==="%"?m(parseFloat(q)/100*255):m(parseInt(q,10))}function y(q){return q.length&&q.charAt(q.length-1)==="%"?E(parseFloat(q)/100):E(parseFloat(q))}function I(q,ee,ie){return ie<0?ie+=1:ie>1&&(ie-=1),ie*6<1?q+(ee-q)*ie*6:ie*2<1?ee:ie*3<2?q+(ee-q)*(2/3-ie)*6:q}function v(q,ee,ie){return q+(ee-q)*ie}function B(q,ee,ie,H,le){return q[0]=ee,q[1]=ie,q[2]=H,q[3]=le,q}function Q(q,ee){return q[0]=ee[0],q[1]=ee[1],q[2]=ee[2],q[3]=ee[3],q}var T=new A(20),w=null;function S(q,ee){w&&Q(w,ee),w=T.put(q,w||ee.slice())}function D(q,ee){if(q){ee=ee||[];var ie=T.get(q);if(ie)return Q(ee,ie);q=q+"";var H=q.replace(/ /g,"").toLowerCase();if(H in f)return Q(ee,f[H]),S(q,ee),ee;if(H.charAt(0)==="#"){if(H.length===4){var le=parseInt(H.substr(1),16);if(!(le>=0&&le<=4095)){B(ee,0,0,0,1);return}return B(ee,(le&3840)>>4|(le&3840)>>8,le&240|(le&240)>>4,le&15|(le&15)<<4,1),S(q,ee),ee}else if(H.length===7){var le=parseInt(H.substr(1),16);if(!(le>=0&&le<=16777215)){B(ee,0,0,0,1);return}return B(ee,(le&16711680)>>16,(le&65280)>>8,le&255,1),S(q,ee),ee}return}var ue=H.indexOf("("),Ae=H.indexOf(")");if(ue!==-1&&Ae+1===H.length){var he=H.substr(0,ue),ge=H.substr(ue+1,Ae-(ue+1)).split(","),fe=1;switch(he){case"rgba":if(ge.length!==4){B(ee,0,0,0,1);return}fe=y(ge.pop());case"rgb":if(ge.length!==3){B(ee,0,0,0,1);return}return B(ee,x(ge[0]),x(ge[1]),x(ge[2]),fe),S(q,ee),ee;case"hsla":if(ge.length!==4){B(ee,0,0,0,1);return}return ge[3]=y(ge[3]),R(ge,ee),S(q,ee),ee;case"hsl":if(ge.length!==3){B(ee,0,0,0,1);return}return R(ge,ee),S(q,ee),ee;default:return}}B(ee,0,0,0,1)}}function R(q,ee){var ie=(parseFloat(q[0])%360+360)%360/360,H=y(q[1]),le=y(q[2]),ue=le<=.5?le*(H+1):le+H-le*H,Ae=le*2-ue;return ee=ee||[],B(ee,m(I(Ae,ue,ie+1/3)*255),m(I(Ae,ue,ie)*255),m(I(Ae,ue,ie-1/3)*255),1),q.length===4&&(ee[3]=q[3]),ee}function P(q){if(q){var ee=q[0]/255,ie=q[1]/255,H=q[2]/255,le=Math.min(ee,ie,H),ue=Math.max(ee,ie,H),Ae=ue-le,he=(ue+le)/2,ge,fe;if(Ae===0)ge=0,fe=0;else{he<.5?fe=Ae/(ue+le):fe=Ae/(2-ue-le);var ae=((ue-ee)/6+Ae/2)/Ae,U=((ue-ie)/6+Ae/2)/Ae,W=((ue-H)/6+Ae/2)/Ae;ee===ue?ge=W-U:ie===ue?ge=1/3+ae-W:H===ue&&(ge=2/3+U-ae),ge<0&&(ge+=1),ge>1&&(ge-=1)}var Y=[ge*360,fe,he];return q[3]!=null&&Y.push(q[3]),Y}}function M(q,ee){var ie=D(q);if(ie){for(var H=0;H<3;H++)ee<0?ie[H]=ie[H]*(1-ee)|0:ie[H]=(255-ie[H])*ee+ie[H]|0,ie[H]>255?ie[H]=255:q[H]<0&&(ie[H]=0);return X(ie,ie.length===4?"rgba":"rgb")}}function L(q){var ee=D(q);if(ee)return((1<<24)+(ee[0]<<16)+(ee[1]<<8)+ +ee[2]).toString(16).slice(1)}function F(q,ee,ie){if(!(!(ee&&ee.length)||!(q>=0&&q<=1))){ie=ie||[];var H=q*(ee.length-1),le=Math.floor(H),ue=Math.ceil(H),Ae=ee[le],he=ee[ue],ge=H-le;return ie[0]=m(v(Ae[0],he[0],ge)),ie[1]=m(v(Ae[1],he[1],ge)),ie[2]=m(v(Ae[2],he[2],ge)),ie[3]=E(v(Ae[3],he[3],ge)),ie}}var k=F;function N(q,ee,ie){if(!(!(ee&&ee.length)||!(q>=0&&q<=1))){var H=q*(ee.length-1),le=Math.floor(H),ue=Math.ceil(H),Ae=D(ee[le]),he=D(ee[ue]),ge=H-le,fe=X([m(v(Ae[0],he[0],ge)),m(v(Ae[1],he[1],ge)),m(v(Ae[2],he[2],ge)),E(v(Ae[3],he[3],ge))],"rgba");return ie?{color:fe,leftIndex:le,rightIndex:ue,value:H}:fe}}var G=N;function J(q,ee,ie,H){if(q=D(q),q)return q=P(q),ee!=null&&(q[0]=C(ee)),ie!=null&&(q[1]=y(ie)),H!=null&&(q[2]=y(H)),X(R(q),"rgba")}function K(q,ee){if(q=D(q),q&&ee!=null)return q[3]=E(ee),X(q,"rgba")}function X(q,ee){if(!(!q||!q.length)){var ie=q[0]+","+q[1]+","+q[2];return(ee==="rgba"||ee==="hsva"||ee==="hsla")&&(ie+=","+q[3]),ee+"("+ie+")"}}o.parse=D,o.lift=M,o.toHex=L,o.fastLerp=F,o.fastMapToColor=k,o.lerp=N,o.mapToColor=G,o.modifyHSL=J,o.modifyAlpha=K,o.stringify=X}),EHe=wt((o,A)=>{var f=Q0t(),m=Yb(),C=Bi(),E=C.isArrayLike,x=Array.prototype.slice;function y(N,G){return N[G]}function I(N,G,J){N[G]=J}function v(N,G,J){return(G-N)*J+N}function B(N,G,J){return J>.5?G:N}function Q(N,G,J,K,X){var q=N.length;if(X===1)for(var ee=0;eeX;if(q)N.length=X;else for(var ee=K;ee=0&&!(U[Xe]<=Je);Xe--);Xe=Math.min(Xe,le-2)}else{for(Xe=Ce;XeJe);Xe++);Xe=Math.min(Xe-1,le-2)}Ce=Xe,Ie=Je;var et=U[Xe+1]-U[Xe];if(et!==0)if(Te=(Je-U[Xe])/et,H)if(ke=W[Xe],Ge=W[Xe===0?Xe:Xe-1],Oe=W[Xe>le-2?le-1:Xe+1],Le=W[Xe>le-3?le-1:Xe+2],Ae)S(Ge,ke,Oe,Le,Te,Te*Te,Te*Te*Te,ee(ze,X),fe);else{var ot;if(he)ot=S(Ge,ke,Oe,Le,Te,Te*Te,Te*Te*Te,be,1),ot=P(be);else{if(ge)return B(ke,Oe,Te);ot=D(Ge,ke,Oe,Le,Te,Te*Te,Te*Te*Te)}ie(ze,X,ot)}else if(Ae)Q(W[Xe],W[Xe+1],Te,ee(ze,X),fe);else{var ot;if(he)Q(W[Xe],W[Xe+1],Te,be,1),ot=P(be);else{if(ge)return B(W[Xe],W[Xe+1],Te);ot=v(W[Xe],W[Xe+1],Te)}ie(ze,X,ot)}},Ue=new f({target:N._target,life:ae,loop:N._loop,delay:N._delay,onframe:Ne,ondestroy:J});return G&&G!=="spline"&&(Ue.easing=G),Ue}}}var F=function(N,G,J,K){this._tracks={},this._target=N,this._loop=G||!1,this._getter=J||y,this._setter=K||I,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};F.prototype={when:function(N,G){var J=this._tracks;for(var K in G)if(G.hasOwnProperty(K)){if(!J[K]){J[K]=[];var X=this._getter(this._target,K);if(X==null)continue;N!==0&&J[K].push({time:0,value:R(X)})}J[K].push({time:N,value:G[K]})}return this},during:function(N){return this._onframeList.push(N),this},pause:function(){for(var N=0;N{var A=1;typeof window<"u"&&(A=Math.max(window.devicePixelRatio||1,1));var f=0,m=A;o.debugMode=f,o.devicePixelRatio=m}),mz=wt((o,A)=>{var f=ete(),m=f.debugMode,C=function(){};m===1&&(C=console.error);var E=C;A.exports=E}),S0t=wt((o,A)=>{var f=EHe(),m=mz(),C=Bi(),E=C.isString,x=C.isFunction,y=C.isObject,I=C.isArrayLike,v=C.indexOf,B=function(){this.animators=[]};B.prototype={constructor:B,animate:function(D,R){var P,M=!1,L=this,F=this.__zr;if(D){var k=D.split("."),N=L;M=k[0]==="shape";for(var G=0,J=k.length;G0&&D.animate(R,!1).when(L??500,N).delay(F||0)}function w(D,R,P,M){if(!R)D.attr(P,M);else{var L={};L[R]={},L[R][P]=M,D.attr(L)}}var S=B;A.exports=S}),xHe=wt((o,A)=>{var f=pHe(),m=jN(),C=$ee(),E=S0t(),x=Bi(),y=function(v){C.call(this,v),m.call(this,v),E.call(this,v),this.id=v.id||f()};y.prototype={type:"element",name:"",__zr:null,ignore:!1,clipPath:null,isGroup:!1,drift:function(v,B){switch(this.draggable){case"horizontal":B=0;break;case"vertical":v=0;break}var Q=this.transform;Q||(Q=this.transform=[1,0,0,1,0,0]),Q[4]+=v,Q[5]+=B,this.decomposeTransform(),this.dirty(!1)},beforeUpdate:function(){},afterUpdate:function(){},update:function(){this.updateTransform()},traverse:function(v,B){},attrKV:function(v,B){if(v==="position"||v==="scale"||v==="origin"){if(B){var Q=this[v];Q||(Q=this[v]=[]),Q[0]=B[0],Q[1]=B[1]}}else this[v]=B},hide:function(){this.ignore=!0,this.__zr&&this.__zr.refresh()},show:function(){this.ignore=!1,this.__zr&&this.__zr.refresh()},attr:function(v,B){if(typeof v=="string")this.attrKV(v,B);else if(x.isObject(v))for(var Q in v)v.hasOwnProperty(Q)&&this.attrKV(Q,v[Q]);return this.dirty(!1),this},setClipPath:function(v){var B=this.__zr;B&&v.addSelfToZr(B),this.clipPath&&this.clipPath!==v&&this.removeClipPath(),this.clipPath=v,v.__zr=B,v.__clipTarget=this,this.dirty(!1)},removeClipPath:function(){var v=this.clipPath;v&&(v.__zr&&v.removeSelfFromZr(v.__zr),v.__zr=null,v.__clipTarget=null,this.clipPath=null,this.dirty(!1))},addSelfToZr:function(v){this.__zr=v;var B=this.animators;if(B)for(var Q=0;Q{var f=vh(),m=xE(),C=f.applyTransform,E=Math.min,x=Math.max;function y(v,B,Q,T){Q<0&&(v=v+Q,Q=-Q),T<0&&(B=B+T,T=-T),this.x=v,this.y=B,this.width=Q,this.height=T}y.prototype={constructor:y,union:function(v){var B=E(v.x,this.x),Q=E(v.y,this.y);this.width=x(v.x+v.width,this.x+this.width)-B,this.height=x(v.y+v.height,this.y+this.height)-Q,this.x=B,this.y=Q},applyTransform:function(){var v=[],B=[],Q=[],T=[];return function(w){if(w){v[0]=Q[0]=this.x,v[1]=T[1]=this.y,B[0]=T[0]=this.x+this.width,B[1]=Q[1]=this.y+this.height,C(v,v,w),C(B,B,w),C(Q,Q,w),C(T,T,w),this.x=E(v[0],B[0],Q[0],T[0]),this.y=E(v[1],B[1],Q[1],T[1]);var S=x(v[0],B[0],Q[0],T[0]),D=x(v[1],B[1],Q[1],T[1]);this.width=S-this.x,this.height=D-this.y}}}(),calculateTransform:function(v){var B=this,Q=v.width/B.width,T=v.height/B.height,w=m.create();return m.translate(w,w,[-B.x,-B.y]),m.scale(w,w,[Q,T]),m.translate(w,w,[v.x,v.y]),w},intersect:function(v){if(!v)return!1;v instanceof y||(v=y.create(v));var B=this,Q=B.x,T=B.x+B.width,w=B.y,S=B.y+B.height,D=v.x,R=v.x+v.width,P=v.y,M=v.y+v.height;return!(T=Q.x&&v<=Q.x+Q.width&&B>=Q.y&&B<=Q.y+Q.height},clone:function(){return new y(this.x,this.y,this.width,this.height)},copy:function(v){this.x=v.x,this.y=v.y,this.width=v.width,this.height=v.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},y.create=function(v){return new y(v.x,v.y,v.width,v.height)};var I=y;A.exports=I}),qN=wt((o,A)=>{var f=Bi(),m=xHe(),C=zh(),E=function(y){y=y||{},m.call(this,y);for(var I in y)y.hasOwnProperty(I)&&(this[I]=y[I]);this._children=[],this.__storage=null,this.__dirty=!0};E.prototype={constructor:E,isGroup:!0,type:"group",silent:!1,children:function(){return this._children.slice()},childAt:function(y){return this._children[y]},childOfName:function(y){for(var I=this._children,v=0;v=0&&(v.splice(B,0,y),this._doAdd(y))}return this},_doAdd:function(y){y.parent&&y.parent.remove(y),y.parent=this;var I=this.__storage,v=this.__zr;I&&I!==y.__storage&&(I.addToStorage(y),y instanceof E&&y.addChildrenToStorage(I)),v&&v.refresh()},remove:function(y){var I=this.__zr,v=this.__storage,B=this._children,Q=f.indexOf(B,y);return Q<0?this:(B.splice(Q,1),y.parent=null,v&&(v.delFromStorage(y),y instanceof E&&y.delChildrenFromStorage(v)),I&&I.refresh(),this)},removeAll:function(){var y=this._children,I=this.__storage,v,B;for(B=0;B{var f=32,m=7,C=256;function E(w){for(var S=0;w>=f;)S|=w&1,w>>=1;return w+S}function x(w,S,D,R){var P=S+1;if(P===D)return 1;if(R(w[P++],w[S])<0){for(;P=0;)P++;return P-S}function y(w,S,D){for(D--;S>>1,P(M,w[k])<0?F=k:L=k+1;var N=R-L;switch(N){case 3:w[L+3]=w[L+2];case 2:w[L+2]=w[L+1];case 1:w[L+1]=w[L];break;default:for(;N>0;)w[L+N]=w[L+N-1],N--}w[L]=M}}function v(w,S,D,R,P,M){var L=0,F=0,k=1;if(M(w,S[D+P])>0){for(F=R-P;k0;)L=k,k=(k<<1)+1,k<=0&&(k=F);k>F&&(k=F),L+=P,k+=P}else{for(F=P+1;kF&&(k=F);var N=L;L=P-k,k=P-N}for(L++;L>>1);M(w,S[D+G])>0?L=G+1:k=G}return k}function B(w,S,D,R,P,M){var L=0,F=0,k=1;if(M(w,S[D+P])<0){for(F=P+1;kF&&(k=F);var N=L;L=P-k,k=P-N}else{for(F=R-P;k=0;)L=k,k=(k<<1)+1,k<=0&&(k=F);k>F&&(k=F),L+=P,k+=P}for(L++;L>>1);M(w,S[D+G])<0?k=G:L=G+1}return k}function Q(w,S){var D=m,R=0,P=C,M=0,L,F,k=0;R=w.length,R<2*C&&(P=R>>>1);var N=[];M=R<120?5:R<1542?10:R<119151?19:40,L=[],F=[];function G(ie,H){L[k]=ie,F[k]=H,k+=1}function J(){for(;k>1;){var ie=k-2;if(ie>=1&&F[ie-1]<=F[ie]+F[ie+1]||ie>=2&&F[ie-2]<=F[ie]+F[ie-1])F[ie-1]F[ie+1])break;X(ie)}}function K(){for(;k>1;){var ie=k-2;ie>0&&F[ie-1]=m||W>=m);if(Y)break;ae<0&&(ae=0),ae+=2}if(D=ae,D<1&&(D=1),H===1){for(Ae=0;Ae=0;Ae--)w[U+Ae]=w[ae+Ae];w[fe]=N[ge];return}for(var W=D;;){var Y=0,z=0,re=!1;do if(S(N[ge],w[he])<0){if(w[fe--]=w[he--],Y++,z=0,--H===0){re=!0;break}}else if(w[fe--]=N[ge--],z++,Y=0,--ue===1){re=!0;break}while((Y|z)=0;Ae--)w[U+Ae]=w[ae+Ae];if(H===0){re=!0;break}}if(w[fe--]=N[ge--],--ue===1){re=!0;break}if(z=ue-v(w[he],N,0,ue,ue-1,S),z!==0){for(fe-=z,ge-=z,ue-=z,U=fe+1,ae=ge+1,Ae=0;Ae=m||z>=m);if(re)break;W<0&&(W=0),W+=2}if(D=W,D<1&&(D=1),ue===1){for(fe-=H,he-=H,U=fe+1,ae=he+1,Ae=H-1;Ae>=0;Ae--)w[U+Ae]=w[ae+Ae];w[fe]=N[ge]}else{if(ue===0)throw new Error;for(ae=fe-(ue-1),Ae=0;AeF&&(k=F),I(w,D,D+k,D+M,S),M=k}L.pushRun(D,M),L.mergeRuns(),P-=M,D+=M}while(P!==0);L.forceMergeRuns()}}A.exports=T}),D0t=wt((o,A)=>{var f=Bi(),m=jf(),C=qN(),E=n0e();function x(v,B){return v.zlevel===B.zlevel?v.z===B.z?v.z2-B.z2:v.z-B.z:v.zlevel-B.zlevel}var y=function(){this._roots=[],this._displayList=[],this._displayListLen=0};y.prototype={constructor:y,traverse:function(v,B){for(var Q=0;Q=0&&(this.delFromStorage(v),this._roots.splice(w,1),v instanceof C&&v.delChildrenFromStorage(this))},addToStorage:function(v){return v&&(v.__storage=this,v.dirty(!1)),this},delFromStorage:function(v){return v&&(v.__storage=null),this},dispose:function(){this._renderList=this._roots=null},displayableSortFunc:x};var I=y;A.exports=I}),yHe=wt((o,A)=>{var f={shadowBlur:1,shadowOffsetX:1,shadowOffsetY:1,textShadowBlur:1,textShadowOffsetX:1,textShadowOffsetY:1,textBoxShadowBlur:1,textBoxShadowOffsetX:1,textBoxShadowOffsetY:1};function m(C,E,x){return f.hasOwnProperty(E)?x*=C.dpr:x}A.exports=m}),tte=wt(o=>{var A={NONE:0,STYLE_BIND:1,PLAIN_TEXT:2},f=9;o.ContextCachedBy=A,o.WILL_BE_RESTORED=f}),o0e=wt((o,A)=>{var f=yHe(),m=tte(),C=m.ContextCachedBy,E=[["shadowBlur",0],["shadowOffsetX",0],["shadowOffsetY",0],["shadowColor","#000"],["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]],x=function(w){this.extendFrom(w,!1)};function y(w,S,D){var R=S.x==null?0:S.x,P=S.x2==null?1:S.x2,M=S.y==null?0:S.y,L=S.y2==null?0:S.y2;S.global||(R=R*D.width+D.x,P=P*D.width+D.x,M=M*D.height+D.y,L=L*D.height+D.y),R=isNaN(R)?0:R,P=isNaN(P)?1:P,M=isNaN(M)?0:M,L=isNaN(L)?0:L;var F=w.createLinearGradient(R,M,P,L);return F}function I(w,S,D){var R=D.width,P=D.height,M=Math.min(R,P),L=S.x==null?.5:S.x,F=S.y==null?.5:S.y,k=S.r==null?.5:S.r;S.global||(L=L*R+D.x,F=F*P+D.y,k=k*M);var N=w.createRadialGradient(L,F,0,L,F,k);return N}x.prototype={constructor:x,fill:"#000",stroke:null,opacity:1,fillOpacity:null,strokeOpacity:null,lineDash:null,lineDashOffset:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,lineWidth:1,strokeNoScale:!1,text:null,font:null,textFont:null,fontStyle:null,fontWeight:null,fontSize:null,fontFamily:null,textTag:null,textFill:"#000",textStroke:null,textWidth:null,textHeight:null,textStrokeWidth:0,textLineHeight:null,textPosition:"inside",textRect:null,textOffset:null,textAlign:null,textVerticalAlign:null,textDistance:5,textShadowColor:"transparent",textShadowBlur:0,textShadowOffsetX:0,textShadowOffsetY:0,textBoxShadowColor:"transparent",textBoxShadowBlur:0,textBoxShadowOffsetX:0,textBoxShadowOffsetY:0,transformText:!1,textRotation:0,textOrigin:null,textBackgroundColor:null,textBorderColor:null,textBorderWidth:0,textBorderRadius:0,textPadding:null,rich:null,truncate:null,blend:null,bind:function(w,S,D){var R=this,P=D&&D.style,M=!P||w.__attrCachedBy!==C.STYLE_BIND;w.__attrCachedBy=C.STYLE_BIND;for(var L=0;L0},extendFrom:function(w,S){if(w)for(var D in w)w.hasOwnProperty(D)&&(S===!0||(S===!1?!this.hasOwnProperty(D):w[D]!=null))&&(this[D]=w[D])},set:function(w,S){typeof w=="string"?this[w]=S:this.extendFrom(w,!0)},clone:function(){var w=new this.constructor;return w.extendFrom(this,!0),w},getGradient:function(w,S,D){for(var R=S.type==="radial"?I:y,P=R(w,S,D),M=S.colorStops,L=0;L{var f=function(C,E){this.image=C,this.repeat=E,this.type="pattern"};f.prototype.getCanvasPattern=function(C){return C.createPattern(this.image,this.repeat||"repeat")};var m=f;A.exports=m}),T0t=wt((o,A)=>{var f=Bi(),m=ete(),C=m.devicePixelRatio,E=o0e(),x=IHe();function y(){return!1}function I(Q,T,w){var S=f.createCanvas(),D=T.getWidth(),R=T.getHeight(),P=S.style;return P&&(P.position="absolute",P.left=0,P.top=0,P.width=D+"px",P.height=R+"px",S.setAttribute("data-zr-dom-id",Q)),S.width=D*w,S.height=R*w,S}var v=function(Q,T,w){var S;w=w||C,typeof Q=="string"?S=I(Q,T,w):f.isObject(Q)&&(S=Q,Q=S.id),this.id=Q,this.dom=S;var D=S.style;D&&(S.onselectstart=y,D["-webkit-user-select"]="none",D["user-select"]="none",D["-webkit-touch-callout"]="none",D["-webkit-tap-highlight-color"]="rgba(0,0,0,0)",D.padding=0,D.margin=0,D["border-width"]=0),this.domBack=null,this.ctxBack=null,this.painter=T,this.config=null,this.clearColor=0,this.motionBlur=!1,this.lastFrameAlpha=.7,this.dpr=w};v.prototype={constructor:v,__dirty:!0,__used:!1,__drawIndex:0,__startIndex:0,__endIndex:0,incremental:!1,getElementCount:function(){return this.__endIndex-this.__startIndex},initContext:function(){this.ctx=this.dom.getContext("2d"),this.ctx.dpr=this.dpr},createBackBuffer:function(){var Q=this.dpr;this.domBack=I("back-"+this.id,this.painter,Q),this.ctxBack=this.domBack.getContext("2d"),Q!==1&&this.ctxBack.scale(Q,Q)},resize:function(Q,T){var w=this.dpr,S=this.dom,D=S.style,R=this.domBack;D&&(D.width=Q+"px",D.height=T+"px"),S.width=Q*w,S.height=T*w,R&&(R.width=Q*w,R.height=T*w,w!==1&&this.ctxBack.scale(w,w))},clear:function(Q,P){var w=this.dom,S=this.ctx,D=w.width,R=w.height,P=P||this.clearColor,M=this.motionBlur&&!Q,L=this.lastFrameAlpha,F=this.dpr;if(M&&(this.domBack||this.createBackBuffer(),this.ctxBack.globalCompositeOperation="copy",this.ctxBack.drawImage(w,0,0,D/F,R/F)),S.clearRect(0,0,D,R),P&&P!=="transparent"){var k;P.colorStops?(k=P.__canvasGradient||E.getGradient(S,P,{x:0,y:0,width:D,height:R}),P.__canvasGradient=k):P.image&&(k=x.prototype.getCanvasPattern.call(P,S)),S.save(),S.fillStyle=k||P,S.fillRect(0,0,D,R),S.restore()}if(M){var N=this.domBack;S.save(),S.globalAlpha=L,S.drawImage(N,0,0,D,R),S.restore()}}};var B=v;A.exports=B}),_He=wt((o,A)=>{var f=typeof window<"u"&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(m){setTimeout(m,16)};A.exports=f}),a0e=wt(o=>{var A=CHe(),f=new A(50);function m(y){if(typeof y=="string"){var I=f.get(y);return I&&I.image}else return y}function C(y,I,v,B,Q){if(y)if(typeof y=="string"){if(I&&I.__zrImageSrc===y||!v)return I;var T=f.get(y),w={hostEl:v,cb:B,cbPayload:Q};return T?(I=T.image,!x(I)&&T.pending.push(w)):(I=new Image,I.onload=I.onerror=E,f.put(y,I.__cachedImgObj={image:I,pending:[w]}),I.src=I.__zrImageSrc=y),I}else return y;else return I}function E(){var y=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var I=0;I{var A=zh(),f=a0e(),m=Bi(),C=m.getContext,E=m.extend,x=m.retrieve2,y=m.retrieve3,I=m.trim,v={},B=0,Q=5e3,T=/\{([a-zA-Z0-9_]+)\|([^}]*)\}/g,w="12px sans-serif",S={};function D(he,ge){S[he]=ge}function R(he,ge){ge=ge||w;var fe=he+":"+ge;if(v[fe])return v[fe];for(var ae=(he+"").split(` `),U=0,W=0,Y=ae.length;WQ&&(B=0,v={}),B++,v[fe]=U,U}function P(he,ge,fe,ae,U,W,Y,z){return Y?L(he,ge,fe,ae,U,W,Y,z):M(he,ge,fe,ae,U,W,z)}function M(he,ge,fe,ae,U,W,Y){var z=H(he,ge,U,W,Y),re=R(he,ge);U&&(re+=U[1]+U[3]);var se=z.outerHeight,de=F(0,re,fe),me=k(0,se,ae),Ce=new A(de,me,re,se);return Ce.lineHeight=z.lineHeight,Ce}function L(he,ge,fe,ae,U,W,Y,z){var re=le(he,{rich:Y,truncate:z,font:ge,textAlign:fe,textPadding:U,textLineHeight:W}),se=re.outerWidth,de=re.outerHeight,me=F(0,se,fe),Ce=k(0,de,ae);return new A(me,Ce,se,de)}function F(he,ge,fe){return fe==="right"?he-=ge:fe==="center"&&(he-=ge/2),he}function k(he,ge,fe){return fe==="middle"?he-=ge/2:fe==="bottom"&&(he-=ge),he}function N(he,ge,fe){var ae=ge.textPosition,U=ge.textDistance,W=fe.x,Y=fe.y;U=U||0;var z=fe.height,re=fe.width,se=z/2,de="left",me="top";switch(ae){case"left":W-=U,Y+=se,de="right",me="middle";break;case"right":W+=U+re,Y+=se,me="middle";break;case"top":W+=re/2,Y-=U,de="center",me="bottom";break;case"bottom":W+=re/2,Y+=z+U,de="center";break;case"inside":W+=re/2,Y+=se,de="center",me="middle";break;case"insideLeft":W+=U,Y+=se,me="middle";break;case"insideRight":W+=re-U,Y+=se,de="right",me="middle";break;case"insideTop":W+=re/2,Y+=U,de="center";break;case"insideBottom":W+=re/2,Y+=z-U,de="center",me="bottom";break;case"insideTopLeft":W+=U,Y+=U;break;case"insideTopRight":W+=re-U,Y+=U,de="right";break;case"insideBottomLeft":W+=U,Y+=z-U,me="bottom";break;case"insideBottomRight":W+=re-U,Y+=z-U,de="right",me="bottom";break}return he=he||{},he.x=W,he.y=Y,he.textAlign=de,he.textVerticalAlign=me,he}function G(he,ge,fe){var ae={textPosition:he,textDistance:fe};return N({},ae,ge)}function J(he,ge,fe,ae,U){if(!ge)return"";var W=(he+"").split(` `);U=K(ge,fe,ae,U);for(var Y=0,z=W.length;Y=Y;re++)z-=Y;var se=R(U,ge);return se>z&&(U="",se=0),z=he-se,ae.ellipsis=U,ae.ellipsisWidth=se,ae.contentWidth=z,ae.containerWidth=he,ae}function X(he,ge){var fe=ge.containerWidth,ae=ge.font,U=ge.contentWidth;if(!fe)return"";var W=R(he,ae);if(W<=fe)return he;for(var Y=0;;Y++){if(W<=U||Y>=ge.maxIterations){he+=ge.ellipsis;break}var z=Y===0?q(he,U,ge.ascCharWidth,ge.cnCharWidth):W>0?Math.floor(he.length*U/W):0;he=he.substr(0,z),W=R(he,ae)}return he===""&&(he=ge.placeholder),he}function q(he,ge,fe,ae){for(var U=0,W=0,Y=he.length;Wde)he="",Y=[];else if(me!=null)for(var Ce=K(me-(fe?fe[1]+fe[3]:0),ge,U.ellipsis,{minChar:U.minChar,placeholder:U.placeholder}),Ie=0,we=Y.length;Ieae&&ue(fe,he.substring(ae,W)),ue(fe,U[2],U[1]),ae=T.lastIndex}aeIe)return{lines:[],width:0,height:0};Le.textWidth=R(Le.text,Ue);var Je=be.textWidth,Xe=Je==null||Je==="auto";if(typeof Je=="string"&&Je.charAt(Je.length-1)==="%")Le.percentWidth=Je,se.push(Le),Je=0;else{if(Xe){Je=Le.textWidth;var et=be.textBackgroundColor,ot=et&&et.image;ot&&(ot=f.findExistImage(ot),f.isImageReady(ot)&&(Je=Math.max(Je,ot.width*ze/ot.height)))}var Et=Ne?Ne[1]+Ne[3]:0;Je+=Et;var Ct=Ce!=null?Ce-ke:null;Ct!=null&&Ct{function A(f,m){var C=m.x,E=m.y,x=m.width,y=m.height,I=m.r,v,B,Q,T;x<0&&(C=C+x,x=-x),y<0&&(E=E+y,y=-y),typeof I=="number"?v=B=Q=T=I:I instanceof Array?I.length===1?v=B=Q=T=I[0]:I.length===2?(v=Q=I[0],B=T=I[1]):I.length===3?(v=I[0],B=T=I[1],Q=I[2]):(v=I[0],B=I[1],Q=I[2],T=I[3]):v=B=Q=T=0;var w;v+B>x&&(w=v+B,v*=x/w,B*=x/w),Q+T>x&&(w=Q+T,Q*=x/w,T*=x/w),B+Q>y&&(w=B+Q,B*=y/w,Q*=y/w),v+T>y&&(w=v+T,v*=y/w,T*=y/w),f.moveTo(C+v,E),f.lineTo(C+x-B,E),B!==0&&f.arc(C+x-B,E+B,B,-Math.PI/2,0),f.lineTo(C+x,E+y-Q),Q!==0&&f.arc(C+x-Q,E+y-Q,Q,0,Math.PI/2),f.lineTo(C+T,E+y),T!==0&&f.arc(C+T,E+y-T,T,Math.PI/2,Math.PI),f.lineTo(C,E+v),v!==0&&f.arc(C+v,E+v,v,Math.PI,Math.PI*1.5)}o.buildPath=A}),ite=wt(o=>{var A=Bi(),f=A.retrieve2,m=A.retrieve3,C=A.each,E=A.normalizeCssArray,x=A.isString,y=A.isObject,I=yI(),v=vHe(),B=a0e(),Q=yHe(),T=tte(),w=T.ContextCachedBy,S=T.WILL_BE_RESTORED,D=I.DEFAULT_FONT,R={left:1,right:1,center:1},P={top:1,bottom:1,middle:1},M=[["textShadowBlur","shadowBlur",0],["textShadowOffsetX","shadowOffsetX",0],["textShadowOffsetY","shadowOffsetY",0],["textShadowColor","shadowColor","transparent"]],L={},F={};function k(W){return N(W),C(W.rich,N),W}function N(W){if(W){W.font=I.makeFont(W);var Y=W.textAlign;Y==="middle"&&(Y="center"),W.textAlign=Y==null||R[Y]?Y:"left";var z=W.textVerticalAlign||W.textBaseline;z==="center"&&(z="middle"),W.textVerticalAlign=z==null||P[z]?z:"top";var re=W.textPadding;re&&(W.textPadding=E(W.textPadding))}}function G(W,Y,z,re,se,de){re.rich?K(W,Y,z,re,se,de):J(W,Y,z,re,se,de)}function J(W,Y,z,re,se,de){"use strict";var me=ie(re),Ce,Ie=!1,we=Y.__attrCachedBy===w.PLAIN_TEXT;de!==S?(de&&(Ce=de.style,Ie=!me&&we&&Ce),Y.__attrCachedBy=me?w.NONE:w.PLAIN_TEXT):we&&(Y.__attrCachedBy=w.NONE);var Te=re.font||D;(!Ie||Te!==(Ce.font||D))&&(Y.font=Te);var Ge=W.__computedFont;W.__styleFont!==Te&&(W.__styleFont=Te,Ge=W.__computedFont=Y.font);var ke=re.textPadding,Oe=re.textLineHeight,Le=W.__textCotentBlock;(!Le||W.__dirtyText)&&(Le=W.__textCotentBlock=I.parsePlainText(z,Ge,ke,Oe,re.truncate));var be=Le.outerHeight,Ne=Le.lines,Ue=Le.lineHeight,ze=ue(F,W,re,se),Je=ze.baseX,Xe=ze.baseY,et=ze.textAlign||"left",ot=ze.textVerticalAlign;q(Y,re,se,Je,Xe);var Et=I.adjustTextY(Xe,be,ot),Ct=Je,ct=Et;if(me||ke){var yt=I.getWidth(z,Ge),Qt=yt;ke&&(Qt+=ke[1]+ke[3]);var Ze=I.adjustTextX(Je,Qt,et);me&&H(W,Y,re,Ze,Et,Qt,be),ke&&(Ct=ae(Je,et,ke),ct+=ke[0])}Y.textAlign=et,Y.textBaseline="middle",Y.globalAlpha=re.opacity||1;for(var ut=0;ut=0&&(ut=et[Ze],ut.textAlign==="right");)ee(W,Y,ut,re,Et,Ue,Qt,"right"),Ct-=ut.width,Qt-=ut.width,Ze--;for(yt+=(de-(yt-Ne)-(ze-Qt)-Ct)/2;ct<=Ze;)ut=et[ct],ee(W,Y,ut,re,Et,Ue,yt+ut.width/2,"center"),yt+=ut.width,ct++;Ue+=Et}}function q(W,Y,z,re,se){if(z&&Y.textRotation){var de=Y.textOrigin;de==="center"?(re=z.width/2+z.x,se=z.height/2+z.y):de&&(re=de[0]+z.x,se=de[1]+z.y),W.translate(re,se),W.rotate(-Y.textRotation),W.translate(-re,-se)}}function ee(W,Y,z,re,se,de,me,Ce){var Ie=re.rich[z.styleName]||{};Ie.text=z.text;var we=z.textVerticalAlign,Te=de+se/2;we==="top"?Te=de+z.height/2:we==="bottom"&&(Te=de+se-z.height/2),!z.isLineHolder&&ie(Ie)&&H(W,Y,Ie,Ce==="right"?me-z.width:Ce==="center"?me-z.width/2:me,Te-z.height/2,z.width,z.height);var Ge=z.textPadding;Ge&&(me=ae(me,Ce,Ge),Te-=z.height/2-Ge[2]-z.textHeight/2),Ae(Y,"shadowBlur",m(Ie.textShadowBlur,re.textShadowBlur,0)),Ae(Y,"shadowColor",Ie.textShadowColor||re.textShadowColor||"transparent"),Ae(Y,"shadowOffsetX",m(Ie.textShadowOffsetX,re.textShadowOffsetX,0)),Ae(Y,"shadowOffsetY",m(Ie.textShadowOffsetY,re.textShadowOffsetY,0)),Ae(Y,"textAlign",Ce),Ae(Y,"textBaseline","middle"),Ae(Y,"font",z.font||D);var ke=he(Ie.textStroke||re.textStroke,Le),Oe=ge(Ie.textFill||re.textFill),Le=f(Ie.textStrokeWidth,re.textStrokeWidth);ke&&(Ae(Y,"lineWidth",Le),Ae(Y,"strokeStyle",ke),Y.strokeText(z.text,me,Te)),Oe&&(Ae(Y,"fillStyle",Oe),Y.fillText(z.text,me,Te))}function ie(W){return!!(W.textBackgroundColor||W.textBorderWidth&&W.textBorderColor)}function H(W,Y,z,re,se,de,me){var Ce=z.textBackgroundColor,Ie=z.textBorderWidth,we=z.textBorderColor,Te=x(Ce);if(Ae(Y,"shadowBlur",z.textBoxShadowBlur||0),Ae(Y,"shadowColor",z.textBoxShadowColor||"transparent"),Ae(Y,"shadowOffsetX",z.textBoxShadowOffsetX||0),Ae(Y,"shadowOffsetY",z.textBoxShadowOffsetY||0),Te||Ie&&we){Y.beginPath();var Ge=z.textBorderRadius;Ge?v.buildPath(Y,{x:re,y:se,width:de,height:me,r:Ge}):Y.rect(re,se,de,me),Y.closePath()}if(Te)if(Ae(Y,"fillStyle",Ce),z.fillOpacity!=null){var ke=Y.globalAlpha;Y.globalAlpha=z.fillOpacity*z.opacity,Y.fill(),Y.globalAlpha=ke}else Y.fill();else if(y(Ce)){var Oe=Ce.image;Oe=B.createOrUpdateImage(Oe,null,W,le,Ce),Oe&&B.isImageReady(Oe)&&Y.drawImage(Oe,re,se,de,me)}if(Ie&&we)if(Ae(Y,"lineWidth",Ie),Ae(Y,"strokeStyle",we),z.strokeOpacity!=null){var ke=Y.globalAlpha;Y.globalAlpha=z.strokeOpacity*z.opacity,Y.stroke(),Y.globalAlpha=ke}else Y.stroke()}function le(W,Y){Y.image=W}function ue(W,Y,z,re){var se=z.x||0,de=z.y||0,me=z.textAlign,Ce=z.textVerticalAlign;if(re){var Ie=z.textPosition;if(Ie instanceof Array)se=re.x+fe(Ie[0],re.width),de=re.y+fe(Ie[1],re.height);else{var we=Y&&Y.calculateTextPosition?Y.calculateTextPosition(L,z,re):I.calculateTextPosition(L,z,re);se=we.x,de=we.y,me=me||we.textAlign,Ce=Ce||we.textVerticalAlign}var Te=z.textOffset;Te&&(se+=Te[0],de+=Te[1])}return W=W||{},W.baseX=se,W.baseY=de,W.textAlign=me,W.textVerticalAlign=Ce,W}function Ae(W,Y,z){return W[Y]=Q(W,Y,z),W[Y]}function he(W,Y){return W==null||Y<=0||W==="transparent"||W==="none"?null:W.image||W.colorStops?"#000":W}function ge(W){return W==null||W==="none"?null:W.image||W.colorStops?"#000":W}function fe(W,Y){return typeof W=="string"?W.lastIndexOf("%")>=0?parseFloat(W)/100*Y:parseFloat(W):W}function ae(W,Y,z){return Y==="right"?W-z[1]:Y==="center"?W+z[3]/2-z[1]/2:W+z[3]}function U(W,Y){return W!=null&&(W||Y.textBackgroundColor||Y.textBorderWidth&&Y.textBorderColor||Y.textPadding)}o.normalizeTextStyle=k,o.renderText=G,o.getBoxPosition=ue,o.getStroke=he,o.getFill=ge,o.parsePercent=fe,o.needDrawText=U}),BHe=wt((o,A)=>{var f=ite(),m=zh(),C=tte(),E=C.WILL_BE_RESTORED,x=new m,y=function(){};y.prototype={constructor:y,drawRectText:function(v,B){var Q=this.style;B=Q.textRect||B,this.__dirty&&f.normalizeTextStyle(Q,!0);var T=Q.text;if(T!=null&&(T+=""),!!f.needDrawText(T,Q)){v.save();var w=this.transform;Q.transformText?this.setTransform(v):w&&(x.copy(B),x.applyTransform(w),B=x),f.renderText(this,v,T,Q,B,E),v.restore()}}};var I=y;A.exports=I}),Cz=wt((o,A)=>{var f=Bi(),m=o0e(),C=xHe(),E=BHe();function x(I){I=I||{},C.call(this,I);for(var v in I)I.hasOwnProperty(v)&&v!=="style"&&(this[v]=I[v]);this.style=new m(I.style,this),this._rect=null,this.__clipPaths=null}x.prototype={constructor:x,type:"displayable",__dirty:!0,invisible:!1,z:0,z2:0,zlevel:0,draggable:!1,dragging:!1,silent:!1,culling:!1,cursor:"pointer",rectHover:!1,progressive:!1,incremental:!1,globalScaleRatio:1,beforeBrush:function(I){},afterBrush:function(I){},brush:function(I,v){},getBoundingRect:function(){},contain:function(I,v){return this.rectContain(I,v)},traverse:function(I,v){I.call(v,this)},rectContain:function(I,v){var B=this.transformCoordToLocal(I,v),Q=this.getBoundingRect();return Q.contain(B[0],B[1])},dirty:function(){this.__dirty=this.__dirtyText=!0,this._rect=null,this.__zr&&this.__zr.refresh()},animateStyle:function(I){return this.animate("style",I)},attrKV:function(I,v){I!=="style"?C.prototype.attrKV.call(this,I,v):this.style.set(v)},setStyle:function(I,v){return this.style.set(I,v),this.dirty(!1),this},useStyle:function(I){return this.style=new m(I,this),this.dirty(!1),this},calculateTextPosition:null},f.inherits(x,C),f.mixin(x,E);var y=x;A.exports=y}),V4=wt((o,A)=>{var f=Cz(),m=zh(),C=Bi(),E=a0e();function x(I){f.call(this,I)}x.prototype={constructor:x,type:"image",brush:function(I,v){var B=this.style,Q=B.image;B.bind(I,this,v);var T=this._image=E.createOrUpdateImage(Q,this._image,this,this.onload);if(!(!T||!E.isImageReady(T))){var w=B.x||0,S=B.y||0,D=B.width,R=B.height,P=T.width/T.height;if(D==null&&R!=null?D=R*P:R==null&&D!=null?R=D/P:D==null&&R==null&&(D=T.width,R=T.height),this.setTransform(I),B.sWidth&&B.sHeight){var M=B.sx||0,L=B.sy||0;I.drawImage(T,M,L,B.sWidth,B.sHeight,w,S,D,R)}else if(B.sx&&B.sy){var M=B.sx,L=B.sy,F=D-M,k=R-L;I.drawImage(T,M,L,F,k,w,S,D,R)}else I.drawImage(T,w,S,D,R);B.text!=null&&(this.restoreTransform(I),this.drawRectText(I,this.getBoundingRect()))}},getBoundingRect:function(){var I=this.style;return this._rect||(this._rect=new m(I.x||0,I.y||0,I.width||0,I.height||0)),this._rect}},C.inherits(x,f);var y=x;A.exports=y}),M0t=wt((o,A)=>{var f=ete(),m=f.devicePixelRatio,C=Bi(),E=mz(),x=zh(),y=n0e(),I=T0t(),v=_He(),B=V4(),Q=jf(),T=1e5,w=314159,S=.01,D=.001;function R(X){return parseInt(X,10)}function P(X){return X?X.__builtin__?!0:!(typeof X.resize!="function"||typeof X.refresh!="function"):!1}var M=new x(0,0,0,0),L=new x(0,0,0,0);function F(X,q,ee){return M.copy(X.getBoundingRect()),X.transform&&M.applyTransform(X.transform),L.width=q,L.height=ee,!M.intersect(L)}function k(X,q){if(X===q)return!1;if(!X||!q||X.length!==q.length)return!0;for(var ee=0;ee=0&&ee.splice(ie,1),X.__hoverMir=null},clearHover:function(X){for(var q=this._hoverElements,ee=0;ee15)break}}le.__drawIndex=z,le.__drawIndex0&&X>ie[0]){for(ue=0;ueX);ue++);le=ee[ie[ue]]}if(ie.splice(ue+1,0,X),ee[X]=q,!q.virtual)if(le){var he=le.dom;he.nextSibling?Ae.insertBefore(q.dom,he.nextSibling):Ae.appendChild(q.dom)}else Ae.firstChild?Ae.insertBefore(q.dom,Ae.firstChild):Ae.appendChild(q.dom)},eachLayer:function(X,q){var ee=this._zlevelList,ie,H;for(H=0;H0?S:0),this._needsManuallyCompositing),he.__builtin__||E("ZLevel "+Ae+" has been used by unkown layer "+he.id),he!==H&&(he.__used=!0,he.__startIndex!==ee&&(he.__dirty=!0),he.__startIndex=ee,he.incremental?he.__drawIndex=-1:he.__drawIndex=ee,q(ee),H=he),ie.__dirty&&(he.__dirty=!0,he.incremental&&he.__drawIndex<0&&(he.__drawIndex=ee))}q(ee),this.eachBuiltinLayer(function(ge,fe){!ge.__used&&ge.getElementCount()>0&&(ge.__dirty=!0,ge.__startIndex=ge.__endIndex=ge.__drawIndex=0),ge.__dirty&&ge.__drawIndex<0&&(ge.__drawIndex=ge.__startIndex)})},clear:function(){return this.eachBuiltinLayer(this._clearLayer),this},_clearLayer:function(X){X.clear()},setBackgroundColor:function(X){this._backgroundColor=X},configLayer:function(X,q){if(q){var ee=this._layerConfig;ee[X]?C.merge(ee[X],q,!0):ee[X]=q;for(var ie=0;ie{var f=Bi(),m=zb(),C=m.Dispatcher,E=_He(),x=EHe(),y=function(v){v=v||{},this.stage=v.stage||{},this.onframe=v.onframe||function(){},this._clips=[],this._running=!1,this._time,this._pausedTime,this._pauseStart,this._paused=!1,C.call(this)};y.prototype={constructor:y,addClip:function(v){this._clips.push(v)},addAnimator:function(v){v.animation=this;for(var B=v.getClips(),Q=0;Q=0&&this._clips.splice(B,1)},removeAnimator:function(v){for(var B=v.getClips(),Q=0;Q{var f=zb(),m=f.addEventListener,C=f.removeEventListener,E=f.normalizeEvent,x=f.getNativeEvent,y=Bi(),I=jN(),v=jf(),B=300,Q=v.domSupported,T=function(){var Ae=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],he=["touchstart","touchend","touchmove"],ge={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},fe=y.map(Ae,function(ae){var U=ae.replace("mouse","pointer");return ge.hasOwnProperty(U)?U:ae});return{mouse:Ae,touch:he,pointer:fe}}(),w={mouse:["mousemove","mouseup"],pointer:["pointermove","pointerup"]};function S(Ae){return Ae==="mousewheel"&&v.browser.firefox?"DOMMouseScroll":Ae}function D(Ae){var he=Ae.pointerType;return he==="pen"||he==="touch"}function R(Ae){Ae.touching=!0,Ae.touchTimer!=null&&(clearTimeout(Ae.touchTimer),Ae.touchTimer=null),Ae.touchTimer=setTimeout(function(){Ae.touching=!1,Ae.touchTimer=null},700)}function P(Ae){Ae&&(Ae.zrByTouch=!0)}function M(Ae,he){return E(Ae.dom,new F(Ae,he),!0)}function L(Ae,he){for(var ge=he,fe=!1;ge&&ge.nodeType!==9&&!(fe=ge.domBelongToZr||ge!==he&&ge===Ae.painterRoot);)ge=ge.parentNode;return fe}function F(Ae,he){this.type=he.type,this.target=this.currentTarget=Ae.dom,this.pointerType=he.pointerType,this.clientX=he.clientX,this.clientY=he.clientY}var k=F.prototype;k.stopPropagation=k.stopImmediatePropagation=k.preventDefault=y.noop;var N={mousedown:function(Ae){Ae=E(this.dom,Ae),this._mayPointerCapture=[Ae.zrX,Ae.zrY],this.trigger("mousedown",Ae)},mousemove:function(Ae){Ae=E(this.dom,Ae);var he=this._mayPointerCapture;he&&(Ae.zrX!==he[0]||Ae.zrY!==he[1])&&ee(this,!0),this.trigger("mousemove",Ae)},mouseup:function(Ae){Ae=E(this.dom,Ae),ee(this,!1),this.trigger("mouseup",Ae)},mouseout:function(Ae){Ae=E(this.dom,Ae),this._pointerCapturing&&(Ae.zrEventControl="no_globalout");var he=Ae.toElement||Ae.relatedTarget;Ae.zrIsToLocalDOM=L(this,he),this.trigger("mouseout",Ae)},touchstart:function(Ae){Ae=E(this.dom,Ae),P(Ae),this._lastTouchMoment=new Date,this.handler.processGesture(Ae,"start"),N.mousemove.call(this,Ae),N.mousedown.call(this,Ae)},touchmove:function(Ae){Ae=E(this.dom,Ae),P(Ae),this.handler.processGesture(Ae,"change"),N.mousemove.call(this,Ae)},touchend:function(Ae){Ae=E(this.dom,Ae),P(Ae),this.handler.processGesture(Ae,"end"),N.mouseup.call(this,Ae),+new Date-this._lastTouchMoment{var A=pHe(),f=jf(),m=Bi(),C=w0t(),E=D0t(),x=M0t(),y=P0t(),I=R0t();/*! * ZRender, a high performance 2d drawing library. * * Copyright (c) 2013, Baidu Inc. * All rights reserved. * * LICENSE * https://github.com/ecomfe/zrender/blob/master/LICENSE.txt */var v=!f.canvasSupported,B={canvas:x},Q={},T="4.3.1";function w(L,F){var k=new M(A(),L,F);return Q[k.id]=k,k}function S(L){if(L)L.dispose();else{for(var F in Q)Q.hasOwnProperty(F)&&Q[F].dispose();Q={}}return this}function D(L){return Q[L]}function R(L,F){B[L]=F}function P(L){delete Q[L]}var M=function(L,F,k){k=k||{},this.dom=F,this.id=L;var N=this,G=new E,J=k.renderer;if(v){if(!B.vml)throw new Error("You need to require 'zrender/vml/vml' to support IE8");J="vml"}else(!J||!B[J])&&(J="canvas");var K=new B[J](F,G,k,L);this.storage=G,this.painter=K;var X=!f.node&&!f.worker?new I(K.getViewportRoot(),K.root):null;this.handler=new C(G,K,X,K.root),this.animation=new y({stage:{update:m.bind(this.flush,this)}}),this.animation.start(),this._needsRefresh;var q=G.delFromStorage,ee=G.addToStorage;G.delFromStorage=function(ie){q.call(G,ie),ie&&ie.removeSelfFromZr(N)},G.addToStorage=function(ie){ee.call(G,ie),ie.addSelfToZr(N)}};M.prototype={constructor:M,getId:function(){return this.id},add:function(L){this.storage.addRoot(L),this._needsRefresh=!0},remove:function(L){this.storage.delRoot(L),this._needsRefresh=!0},configLayer:function(L,F){this.painter.configLayer&&this.painter.configLayer(L,F),this._needsRefresh=!0},setBackgroundColor:function(L){this.painter.setBackgroundColor&&this.painter.setBackgroundColor(L),this._needsRefresh=!0},refreshImmediately:function(){this._needsRefresh=this._needsRefreshHover=!1,this.painter.refresh(),this._needsRefresh=this._needsRefreshHover=!1},refresh:function(){this._needsRefresh=!0},flush:function(){var L;this._needsRefresh&&(L=!0,this.refreshImmediately()),this._needsRefreshHover&&(L=!0,this.refreshHoverImmediately()),L&&this.trigger("rendered")},addHover:function(L,F){if(this.painter.addHover){var k=this.painter.addHover(L,F);return this.refreshHover(),k}},removeHover:function(L){this.painter.removeHover&&(this.painter.removeHover(L),this.refreshHover())},clearHover:function(){this.painter.clearHover&&(this.painter.clearHover(),this.refreshHover())},refreshHover:function(){this._needsRefreshHover=!0},refreshHoverImmediately:function(){this._needsRefreshHover=!1,this.painter.refreshHover&&this.painter.refreshHover()},resize:function(L){L=L||{},this.painter.resize(L.width,L.height),this.handler.resize()},clearAnimation:function(){this.animation.clear()},getWidth:function(){return this.painter.getWidth()},getHeight:function(){return this.painter.getHeight()},pathToImage:function(L,F){return this.painter.pathToImage(L,F)},setCursorStyle:function(L){this.handler.setCursorStyle(L)},findHover:function(L,F){return this.handler.findHover(L,F)},on:function(L,F,k){this.handler.on(L,F,k)},off:function(L,F){this.handler.off(L,F)},trigger:function(L,F){this.handler.trigger(L,F)},clear:function(){this.storage.delRoot(),this.painter.clear()},dispose:function(){this.animation.stop(),this.clear(),this.storage.dispose(),this.painter.dispose(),this.handler.dispose(),this.animation=this.storage=this.painter=this.handler=null,P(this.id)}},o.version=T,o.init=w,o.dispose=S,o.getInstance=D,o.registerPainter=R}),Bl=wt(o=>{var A=Bi(),f=jf(),m=A.each,C=A.isObject,E=A.isArray,x="series\0";function y(X){return X instanceof Array?X:X==null?[]:[X]}function I(X,q,ee){if(X){X[q]=X[q]||{},X.emphasis=X.emphasis||{},X.emphasis[q]=X.emphasis[q]||{};for(var ie=0,H=ee.length;ie=ee.length&&ee.push({option:ie})}}),ee}function w(X){var q=A.createHashMap();m(X,function(ee,ie){var H=ee.exist;H&&q.set(H.id,ee)}),m(X,function(ee,ie){var H=ee.option;A.assert(!H||H.id==null||!q.get(H.id)||q.get(H.id)===ee,"id duplicates: "+(H&&H.id)),H&&H.id!=null&&q.set(H.id,ee),!ee.keyInfo&&(ee.keyInfo={})}),m(X,function(ee,ie){var H=ee.exist,le=ee.option,ue=ee.keyInfo;if(C(le)){if(ue.name=le.name!=null?le.name+"":H?H.name:x+ie,H)ue.id=H.id;else if(le.id!=null)ue.id=le.id+"";else{var Ae=0;do ue.id="\0"+ue.name+"\0"+Ae++;while(q.get(ue.id))}q.set(ue.id,ee)}})}function S(X){var q=X.name;return!!(q&&q.indexOf(x))}function D(X){return C(X)&&X.id&&(X.id+"").indexOf("\0_ec_\0")===0}function R(X,q){var ee={},ie={};return H(X||[],ee),H(q||[],ie,ee),[le(ee),le(ie)];function H(ue,Ae,he){for(var ge=0,fe=ue.length;ge{var A=Bu(),f=A.__DEV__,m=Bi(),C=".",E="___EC__COMPONENT__CONTAINER___";function x(D){var R={main:"",sub:""};return D&&(D=D.split(C),R.main=D[0]||"",R.sub=D[1]||""),R}function y(D){m.assert(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(D),'componentType "'+D+'" illegal')}function I(D,R){D.$constructor=D,D.extend=function(P){var M=this,L=function(){P.$constructor?P.$constructor.apply(this,arguments):M.apply(this,arguments)};return m.extend(L.prototype,P),L.extend=this.extend,L.superCall=Q,L.superApply=T,m.inherits(L,this),L.superClass=M,L}}var v=0;function B(D){var R=["__\0is_clz",v++,Math.random().toFixed(3)].join("_");D.prototype[R]=!0,D.isInstance=function(P){return!!(P&&P[R])}}function Q(D,R){var P=m.slice(arguments,2);return this.superClass.prototype[R].apply(D,P)}function T(D,R,P){return this.superClass.prototype[R].apply(D,P)}function w(D,R){R=R||{};var P={};D.registerClass=function(F,k){if(k){if(y(k),k=x(k),!k.sub)P[k.main]=F;else if(k.sub!==E){var N=M(k);N[k.sub]=F}}return F},D.getClass=function(F,k,N){var G=P[F];if(G&&G[E]&&(G=k?G[k]:null),N&&!G)throw new Error(k?"Component "+F+"."+(k||"")+" not exists. Load it first.":F+".type should be specified.");return G},D.getClassesByMainType=function(F){F=x(F);var k=[],N=P[F.main];return N&&N[E]?m.each(N,function(G,J){J!==E&&k.push(G)}):k.push(N),k},D.hasClass=function(F){return F=x(F),!!P[F.main]},D.getAllClassMainTypes=function(){var F=[];return m.each(P,function(k,N){F.push(N)}),F},D.hasSubTypes=function(F){F=x(F);var k=P[F.main];return k&&k[E]},D.parseClassType=x;function M(F){var k=P[F.main];return(!k||!k[E])&&(k=P[F.main]={},k[E]=!0),k}if(R.registerWhenExtend){var L=D.extend;L&&(D.extend=function(F){var k=L.call(this,F);return D.registerClass(k,F.type)})}return D}function S(D,R){}o.parseClassType=x,o.enableClassExtend=I,o.enableClassCheck=B,o.enableClassManagement=w,o.setReadOnly=S}),z4=wt((o,A)=>{var f=Bi();function m(C){for(var E=0;E=0||I&&f.indexOf(I,Q)<0)){var T=x.getShallow(Q);T!=null&&(v[C[B][0]]=T)}}return v}}A.exports=m}),L0t=wt((o,A)=>{var f=z4(),m=f([["lineWidth","width"],["stroke","color"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),C={getLineStyle:function(E){var x=m(this,E);return x.lineDash=this.getLineDash(x.lineWidth),x},getLineDash:function(E){E==null&&(E=1);var x=this.get("type"),y=Math.max(E,2),I=E*4;return x==="solid"||x==null?!1:x==="dashed"?[I,I]:[y,y]}};A.exports=C}),F0t=wt((o,A)=>{var f=z4(),m=f([["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]]),C={getAreaStyle:function(E,x){return m(this,E,x)}};A.exports=C}),KP=wt(o=>{var A=vh(),f=A.create,m=A.distSquare,C=Math.pow,E=Math.sqrt,x=1e-8,y=1e-4,I=E(3),v=1/3,B=f(),Q=f(),T=f();function w(q){return q>-x&&qx||q<-x}function D(q,ee,ie,H,le){var ue=1-le;return ue*ue*(ue*q+3*le*ee)+le*le*(le*H+3*ue*ie)}function R(q,ee,ie,H,le){var ue=1-le;return 3*(((ee-q)*ue+2*(ie-ee)*le)*ue+(H-ie)*le*le)}function P(q,ee,ie,H,le,ue){var Ae=H+3*(ee-ie)-q,he=3*(ie-ee*2+q),ge=3*(ee-q),fe=q-le,ae=he*he-3*Ae*ge,U=he*ge-9*Ae*fe,W=ge*ge-3*he*fe,Y=0;if(w(ae)&&w(U))if(w(he))ue[0]=0;else{var z=-ge/he;z>=0&&z<=1&&(ue[Y++]=z)}else{var re=U*U-4*ae*W;if(w(re)){var se=U/ae,z=-he/Ae+se,de=-se/2;z>=0&&z<=1&&(ue[Y++]=z),de>=0&&de<=1&&(ue[Y++]=de)}else if(re>0){var me=E(re),Ce=ae*he+1.5*Ae*(-U+me),Ie=ae*he+1.5*Ae*(-U-me);Ce<0?Ce=-C(-Ce,v):Ce=C(Ce,v),Ie<0?Ie=-C(-Ie,v):Ie=C(Ie,v);var z=(-he-(Ce+Ie))/(3*Ae);z>=0&&z<=1&&(ue[Y++]=z)}else{var we=(2*ae*he-3*Ae*U)/(2*E(ae*ae*ae)),Te=Math.acos(we)/3,Ge=E(ae),ke=Math.cos(Te),z=(-he-2*Ge*ke)/(3*Ae),de=(-he+Ge*(ke+I*Math.sin(Te)))/(3*Ae),Oe=(-he+Ge*(ke-I*Math.sin(Te)))/(3*Ae);z>=0&&z<=1&&(ue[Y++]=z),de>=0&&de<=1&&(ue[Y++]=de),Oe>=0&&Oe<=1&&(ue[Y++]=Oe)}}return Y}function M(q,ee,ie,H,le){var ue=6*ie-12*ee+6*q,Ae=9*ee+3*H-3*q-9*ie,he=3*ee-3*q,ge=0;if(w(Ae)){if(S(ue)){var fe=-he/ue;fe>=0&&fe<=1&&(le[ge++]=fe)}}else{var ae=ue*ue-4*Ae*he;if(w(ae))le[0]=-ue/(2*Ae);else if(ae>0){var U=E(ae),fe=(-ue+U)/(2*Ae),W=(-ue-U)/(2*Ae);fe>=0&&fe<=1&&(le[ge++]=fe),W>=0&&W<=1&&(le[ge++]=W)}}return ge}function L(q,ee,ie,H,le,ue){var Ae=(ee-q)*le+q,he=(ie-ee)*le+ee,ge=(H-ie)*le+ie,fe=(he-Ae)*le+Ae,ae=(ge-he)*le+he,U=(ae-fe)*le+fe;ue[0]=q,ue[1]=Ae,ue[2]=fe,ue[3]=U,ue[4]=U,ue[5]=ae,ue[6]=ge,ue[7]=H}function F(q,ee,ie,H,le,ue,Ae,he,ge,fe,ae){var U,W=.005,Y=1/0,z,re,se,de;B[0]=ge,B[1]=fe;for(var me=0;me<1;me+=.05)Q[0]=D(q,ie,le,Ae,me),Q[1]=D(ee,H,ue,he,me),se=m(B,Q),se=0&&se=0&&fe<=1&&(le[ge++]=fe)}}else{var ae=Ae*Ae-4*ue*he;if(w(ae)){var fe=-Ae/(2*ue);fe>=0&&fe<=1&&(le[ge++]=fe)}else if(ae>0){var U=E(ae),fe=(-Ae+U)/(2*ue),W=(-Ae-U)/(2*ue);fe>=0&&fe<=1&&(le[ge++]=fe),W>=0&&W<=1&&(le[ge++]=W)}}return ge}function J(q,ee,ie){var H=q+ie-2*ee;return H===0?.5:(q-ee)/H}function K(q,ee,ie,H,le){var ue=(ee-q)*H+q,Ae=(ie-ee)*H+ee,he=(Ae-ue)*H+ue;le[0]=q,le[1]=ue,le[2]=he,le[3]=he,le[4]=Ae,le[5]=ie}function X(q,ee,ie,H,le,ue,Ae,he,ge){var fe,ae=.005,U=1/0;B[0]=Ae,B[1]=he;for(var W=0;W<1;W+=.05){Q[0]=k(q,ie,le,W),Q[1]=k(ee,H,ue,W);var Y=m(B,Q);Y=0&&Y{var A=vh(),f=KP(),m=Math.min,C=Math.max,E=Math.sin,x=Math.cos,y=Math.PI*2,I=A.create(),v=A.create(),B=A.create();function Q(M,L,F){if(M.length!==0){var k=M[0],N=k[0],G=k[0],J=k[1],K=k[1],X;for(X=1;X1e-4){K[0]=M-F,K[1]=L-k,X[0]=M+F,X[1]=L+k;return}if(I[0]=x(N)*F+M,I[1]=E(N)*k+L,v[0]=x(G)*F+M,v[1]=E(G)*k+L,q(K,I,v),ee(X,I,v),N=N%y,N<0&&(N=N+y),G=G%y,G<0&&(G=G+y),N>G&&!J?G+=y:NN&&(B[0]=x(le)*F+M,B[1]=E(le)*k+L,q(K,B,K),ee(X,B,X))}o.fromPoints=Q,o.fromLine=T,o.fromCubic=D,o.fromQuadratic=R,o.fromArc=P}),Y4=wt((o,A)=>{var f=KP(),m=vh(),C=Ez(),E=zh(),x=ete(),y=x.devicePixelRatio,I={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},v=[],B=[],Q=[],T=[],w=Math.min,S=Math.max,D=Math.cos,R=Math.sin,P=Math.sqrt,M=Math.abs,L=typeof Float32Array<"u",F=function(N){this._saveData=!N,this._saveData&&(this.data=[]),this._ctx=null};F.prototype={constructor:F,_xi:0,_yi:0,_x0:0,_y0:0,_ux:0,_uy:0,_len:0,_lineDash:null,_dashOffset:0,_dashIdx:0,_dashSum:0,setScale:function(N,G,J){J=J||0,this._ux=M(J/y/N)||0,this._uy=M(J/y/G)||0},getContext:function(){return this._ctx},beginPath:function(N){return this._ctx=N,N&&N.beginPath(),N&&(this.dpr=N.dpr),this._saveData&&(this._len=0),this._lineDash&&(this._lineDash=null,this._dashOffset=0),this},moveTo:function(N,G){return this.addData(I.M,N,G),this._ctx&&this._ctx.moveTo(N,G),this._x0=N,this._y0=G,this._xi=N,this._yi=G,this},lineTo:function(N,G){var J=M(N-this._xi)>this._ux||M(G-this._yi)>this._uy||this._len<5;return this.addData(I.L,N,G),this._ctx&&J&&(this._needsDash()?this._dashedLineTo(N,G):this._ctx.lineTo(N,G)),J&&(this._xi=N,this._yi=G),this},bezierCurveTo:function(N,G,J,K,X,q){return this.addData(I.C,N,G,J,K,X,q),this._ctx&&(this._needsDash()?this._dashedBezierTo(N,G,J,K,X,q):this._ctx.bezierCurveTo(N,G,J,K,X,q)),this._xi=X,this._yi=q,this},quadraticCurveTo:function(N,G,J,K){return this.addData(I.Q,N,G,J,K),this._ctx&&(this._needsDash()?this._dashedQuadraticTo(N,G,J,K):this._ctx.quadraticCurveTo(N,G,J,K)),this._xi=J,this._yi=K,this},arc:function(N,G,J,K,X,q){return this.addData(I.A,N,G,J,J,K,X-K,0,q?0:1),this._ctx&&this._ctx.arc(N,G,J,K,X,q),this._xi=D(X)*J+N,this._yi=R(X)*J+G,this},arcTo:function(N,G,J,K,X){return this._ctx&&this._ctx.arcTo(N,G,J,K,X),this},rect:function(N,G,J,K){return this._ctx&&this._ctx.rect(N,G,J,K),this.addData(I.R,N,G,J,K),this},closePath:function(){this.addData(I.Z);var N=this._ctx,G=this._x0,J=this._y0;return N&&(this._needsDash()&&this._dashedLineTo(G,J),N.closePath()),this._xi=G,this._yi=J,this},fill:function(N){N&&N.fill(),this.toStatic()},stroke:function(N){N&&N.stroke(),this.toStatic()},setLineDash:function(N){if(N instanceof Array){this._lineDash=N,this._dashIdx=0;for(var G=0,J=0;JG.length&&(this._expandData(),G=this.data);for(var J=0;J0&&Ae<=N||H<0&&Ae>=N||H===0&&(le>0&&he<=G||le<0&&he>=G);)ae=this._dashIdx,ge=X[ae],Ae+=H*ge,he+=le*ge,this._dashIdx=(ae+1)%fe,!(H>0&&Aeee||le>0&&heie)&&q[ae%2?"moveTo":"lineTo"](H>=0?w(Ae,N):S(Ae,N),le>=0?w(he,G):S(he,G));H=Ae-N,le=he-G,this._dashOffset=-P(H*H+le*le)},_dashedBezierTo:function(N,G,J,K,X,q){var ee=this._dashSum,ie=this._dashOffset,H=this._lineDash,le=this._ctx,ue=this._xi,Ae=this._yi,he,ge,fe,ae=f.cubicAt,U=0,W=this._dashIdx,Y=H.length,z,re,se=0;for(ie<0&&(ie=ee+ie),ie%=ee,he=0;he<1;he+=.1)ge=ae(ue,N,J,X,he+.1)-ae(ue,N,J,X,he),fe=ae(Ae,G,K,q,he+.1)-ae(Ae,G,K,q,he),U+=P(ge*ge+fe*fe);for(;Wie));W++);for(he=(se-ie)/U;he<=1;)z=ae(ue,N,J,X,he),re=ae(Ae,G,K,q,he),W%2?le.moveTo(z,re):le.lineTo(z,re),he+=H[W]/U,W=(W+1)%Y;W%2!==0&&le.lineTo(X,q),ge=X-z,fe=q-re,this._dashOffset=-P(ge*ge+fe*fe)},_dashedQuadraticTo:function(N,G,J,K){var X=J,q=K;J=(J+2*N)/3,K=(K+2*G)/3,N=(this._xi+2*N)/3,G=(this._yi+2*G)/3,this._dashedBezierTo(N,G,J,K,X,q)},toStatic:function(){var N=this.data;N instanceof Array&&(N.length=this._len,L&&(this.data=new Float32Array(N)))},getBoundingRect:function(){v[0]=v[1]=Q[0]=Q[1]=Number.MAX_VALUE,B[0]=B[1]=T[0]=T[1]=-Number.MAX_VALUE;for(var N=this.data,G=0,J=0,K=0,X=0,q=0;qH||M(ie-q)>le||Ae===ue-1)&&(N.lineTo(ee,ie),X=ee,q=ie);break;case I.C:N.bezierCurveTo(G[Ae++],G[Ae++],G[Ae++],G[Ae++],G[Ae++],G[Ae++]),X=G[Ae-2],q=G[Ae-1];break;case I.Q:N.quadraticCurveTo(G[Ae++],G[Ae++],G[Ae++],G[Ae++]),X=G[Ae-2],q=G[Ae-1];break;case I.A:var ge=G[Ae++],fe=G[Ae++],ae=G[Ae++],U=G[Ae++],W=G[Ae++],Y=G[Ae++],z=G[Ae++],re=G[Ae++],se=ae>U?ae:U,de=ae>U?1:ae/U,me=ae>U?U/ae:1,Ce=Math.abs(ae-U)>.001,Ie=W+Y;Ce?(N.translate(ge,fe),N.rotate(z),N.scale(de,me),N.arc(0,0,se,W,Ie,1-re),N.scale(1/de,1/me),N.rotate(-z),N.translate(-ge,-fe)):N.arc(ge,fe,se,W,Ie,1-re),Ae===1&&(J=D(W)*ae+ge,K=R(W)*U+fe),X=D(Ie)*ae+ge,q=R(Ie)*U+fe;break;case I.R:J=X=G[Ae],K=q=G[Ae+1],N.rect(G[Ae++],G[Ae++],G[Ae++],G[Ae++]);break;case I.Z:N.closePath(),X=J,q=K}}}},F.CMD=I;var k=F;A.exports=k}),wHe=wt(o=>{function A(f,m,C,E,x,y,I){if(x===0)return!1;var v=x,B=0,Q=f;if(I>m+v&&I>E+v||If+v&&y>C+v||y{var A=KP();function f(m,C,E,x,y,I,v,B,Q,T,w){if(Q===0)return!1;var S=Q;if(w>C+S&&w>x+S&&w>I+S&&w>B+S||wm+S&&T>E+S&&T>y+S&&T>v+S||T{var A=KP(),f=A.quadraticProjectPoint;function m(C,E,x,y,I,v,B,Q,T){if(B===0)return!1;var w=B;if(T>E+w&&T>y+w&&T>v+w||TC+w&&Q>x+w&&Q>I+w||Q{var A=Math.PI*2;function f(m){return m%=A,m<0&&(m+=A),m}o.normalizeRadian=f}),k0t=wt(o=>{var A=QHe(),f=A.normalizeRadian,m=Math.PI*2;function C(E,x,y,I,v,B,Q,T,w){if(Q===0)return!1;var S=Q;T-=E,w-=x;var D=Math.sqrt(T*T+w*w);if(D-S>y||D+Sv&&(v+=m);var P=Math.atan2(w,T);return P<0&&(P+=m),P>=I&&P<=v||P+m>=I&&P+m<=v}o.containStroke=C}),SHe=wt((o,A)=>{function f(m,C,E,x,y,I){if(I>C&&I>x||Iy?v:0}A.exports=f}),O0t=wt(o=>{var A=Y4(),f=wHe(),m=N0t(),C=bHe(),E=k0t(),x=QHe(),y=x.normalizeRadian,I=KP(),v=SHe(),B=A.CMD,Q=Math.PI*2,T=1e-4;function w(G,J){return Math.abs(G-J)J&&ue>X&&ue>ee&&ue>H||ue1&&R(),fe=I.cubicAt(J,X,ee,H,D[0]),ge>1&&(ae=I.cubicAt(J,X,ee,H,D[1]))),ge===2?WJ&&H>X&&H>ee||H=0&&ue<=1){for(var Ae=0,he=I.quadraticAt(J,X,ee,ue),ge=0;geK||H<-K)return 0;var le=Math.sqrt(K*K-H*H);S[0]=-le,S[1]=le;var ue=Math.abs(X-q);if(ue<1e-4)return 0;if(ue%Q<1e-4){X=0,q=Q;var Ae=ee?1:-1;return ie>=S[0]+G&&ie<=S[1]+G?Ae:0}if(ee){var le=X;X=y(q),q=y(le)}else X=y(X),q=y(q);X>q&&(q+=Q);for(var he=0,ge=0;ge<2;ge++){var fe=S[ge];if(fe+G>ie){var ae=Math.atan2(H,fe),Ae=ee?1:-1;ae<0&&(ae=Q+ae),(ae>=X&&ae<=q||ae+Q>=X&&ae+Q<=q)&&(ae>Math.PI/2&&ae1&&(K||(ee+=v(ie,H,le,ue,X,q))),Ae===1&&(ie=G[Ae],H=G[Ae+1],le=ie,ue=H),he){case B.M:le=G[Ae++],ue=G[Ae++],ie=le,H=ue;break;case B.L:if(K){if(f.containStroke(ie,H,G[Ae],G[Ae+1],J,X,q))return!0}else ee+=v(ie,H,G[Ae],G[Ae+1],X,q)||0;ie=G[Ae++],H=G[Ae++];break;case B.C:if(K){if(m.containStroke(ie,H,G[Ae++],G[Ae++],G[Ae++],G[Ae++],G[Ae],G[Ae+1],J,X,q))return!0}else ee+=P(ie,H,G[Ae++],G[Ae++],G[Ae++],G[Ae++],G[Ae],G[Ae+1],X,q)||0;ie=G[Ae++],H=G[Ae++];break;case B.Q:if(K){if(C.containStroke(ie,H,G[Ae++],G[Ae++],G[Ae],G[Ae+1],J,X,q))return!0}else ee+=M(ie,H,G[Ae++],G[Ae++],G[Ae],G[Ae+1],X,q)||0;ie=G[Ae++],H=G[Ae++];break;case B.A:var ge=G[Ae++],fe=G[Ae++],ae=G[Ae++],U=G[Ae++],W=G[Ae++],Y=G[Ae++];Ae+=1;var z=1-G[Ae++],me=Math.cos(W)*ae+ge,Ce=Math.sin(W)*U+fe;Ae>1?ee+=v(ie,H,me,Ce,X,q):(le=me,ue=Ce);var re=(X-ge)*U/ae+ge;if(K){if(E.containStroke(ge,fe,U,W,W+Y,z,J,re,q))return!0}else ee+=L(ge,fe,U,W,W+Y,z,re,q);ie=Math.cos(W+Y)*ae+ge,H=Math.sin(W+Y)*U+fe;break;case B.R:le=ie=G[Ae++],ue=H=G[Ae++];var se=G[Ae++],de=G[Ae++],me=le+se,Ce=ue+de;if(K){if(f.containStroke(le,ue,me,ue,J,X,q)||f.containStroke(me,ue,me,Ce,J,X,q)||f.containStroke(me,Ce,le,Ce,J,X,q)||f.containStroke(le,Ce,le,ue,J,X,q))return!0}else ee+=v(me,ue,me,Ce,X,q),ee+=v(le,Ce,le,ue,X,q);break;case B.Z:if(K){if(f.containStroke(ie,H,le,ue,J,X,q))return!0}else ee+=v(ie,H,le,ue,X,q);ie=le,H=ue;break}}return!K&&!w(H,ue)&&(ee+=v(ie,H,le,ue,X,q)||0),ee!==0}function k(G,J,K){return F(G,0,!1,J,K)}function N(G,J,K,X){return F(G,J,!0,K,X)}o.contain=k,o.containStroke=N}),If=wt((o,A)=>{var f=Cz(),m=Bi(),C=Y4(),E=O0t(),x=IHe(),y=x.prototype.getCanvasPattern,I=Math.abs,v=new C(!0);function B(T){f.call(this,T),this.path=null}B.prototype={constructor:B,type:"path",__dirtyPath:!0,strokeContainThreshold:5,segmentIgnoreThreshold:0,subPixelOptimize:!1,brush:function(T,w){var S=this.style,D=this.path||v,R=S.hasStroke(),P=S.hasFill(),M=S.fill,L=S.stroke,F=P&&!!M.colorStops,k=R&&!!L.colorStops,N=P&&!!M.image,G=R&&!!L.image;if(S.bind(T,this,w),this.setTransform(T),this.__dirty){var J;F&&(J=J||this.getBoundingRect(),this._fillGradient=S.getGradient(T,M,J)),k&&(J=J||this.getBoundingRect(),this._strokeGradient=S.getGradient(T,L,J))}F?T.fillStyle=this._fillGradient:N&&(T.fillStyle=y.call(M,T)),k?T.strokeStyle=this._strokeGradient:G&&(T.strokeStyle=y.call(L,T));var K=S.lineDash,X=S.lineDashOffset,q=!!T.setLineDash,ee=this.getGlobalScale();if(D.setScale(ee[0],ee[1],this.segmentIgnoreThreshold),this.__dirtyPath||K&&!q&&R?(D.beginPath(T),K&&!q&&(D.setLineDash(K),D.setLineDashOffset(X)),this.buildPath(D,this.shape,!1),this.path&&(this.__dirtyPath=!1)):(T.beginPath(),this.path.rebuildPath(T)),P)if(S.fillOpacity!=null){var ie=T.globalAlpha;T.globalAlpha=S.fillOpacity*S.opacity,D.fill(T),T.globalAlpha=ie}else D.fill(T);if(K&&q&&(T.setLineDash(K),T.lineDashOffset=X),R)if(S.strokeOpacity!=null){var ie=T.globalAlpha;T.globalAlpha=S.strokeOpacity*S.opacity,D.stroke(T),T.globalAlpha=ie}else D.stroke(T);K&&q&&T.setLineDash([]),S.text!=null&&(this.restoreTransform(T),this.drawRectText(T,this.getBoundingRect()))},buildPath:function(T,w,S){},createPathProxy:function(){this.path=new C},getBoundingRect:function(){var T=this._rect,w=this.style,S=!T;if(S){var D=this.path;D||(D=this.path=new C),this.__dirtyPath&&(D.beginPath(),this.buildPath(D,this.shape,!1)),T=D.getBoundingRect()}if(this._rect=T,w.hasStroke()){var R=this._rectWithStroke||(this._rectWithStroke=T.clone());if(this.__dirty||S){R.copy(T);var P=w.lineWidth,M=w.strokeNoScale?this.getLineScale():1;w.hasFill()||(P=Math.max(P,this.strokeContainThreshold||4)),M>1e-10&&(R.width+=P/M,R.height+=P/M,R.x-=P/M/2,R.y-=P/M/2)}return R}return T},contain:function(T,w){var S=this.transformCoordToLocal(T,w),D=this.getBoundingRect(),R=this.style;if(T=S[0],w=S[1],D.contain(T,w)){var P=this.path.data;if(R.hasStroke()){var M=R.lineWidth,L=R.strokeNoScale?this.getLineScale():1;if(L>1e-10&&(R.hasFill()||(M=Math.max(M,this.strokeContainThreshold)),E.containStroke(P,M/L,T,w)))return!0}if(R.hasFill())return E.contain(P,T,w)}return!1},dirty:function(T){T==null&&(T=!0),T&&(this.__dirtyPath=T,this._rect=null),this.__dirty=this.__dirtyText=!0,this.__zr&&this.__zr.refresh(),this.__clipTarget&&this.__clipTarget.dirty()},animateShape:function(T){return this.animate("shape",T)},attrKV:function(T,w){T==="shape"?(this.setShape(w),this.__dirtyPath=!0,this._rect=null):f.prototype.attrKV.call(this,T,w)},setShape:function(T,w){var S=this.shape;if(S){if(m.isObject(T))for(var D in T)T.hasOwnProperty(D)&&(S[D]=T[D]);else S[T]=w;this.dirty(!0)}return this},getLineScale:function(){var T=this.transform;return T&&I(T[0]-1)>1e-10&&I(T[3]-1)>1e-10?Math.sqrt(I(T[0]*T[3]-T[2]*T[1])):1}},B.extend=function(T){var w=function(D){B.call(this,D),T.style&&this.style.extendFrom(T.style,!1);var R=T.shape;if(R){this.shape=this.shape||{};var P=this.shape;for(var M in R)!P.hasOwnProperty(M)&&R.hasOwnProperty(M)&&(P[M]=R[M])}T.init&&T.init.call(this,D)};m.inherits(w,B);for(var S in T)S!=="style"&&S!=="shape"&&(w.prototype[S]=T[S]);return w},m.inherits(B,f);var Q=B;A.exports=Q}),U0t=wt((o,A)=>{var f=Y4(),m=vh(),C=m.applyTransform,E=f.CMD,x=[[],[],[]],y=Math.sqrt,I=Math.atan2;function v(B,Q){var T=B.data,w,S,D,R,P,M,L=E.M,F=E.C,k=E.L,N=E.R,G=E.A,J=E.Q;for(D=0,R=0;D{var A=If(),f=Y4(),m=U0t(),C=Math.sqrt,E=Math.sin,x=Math.cos,y=Math.PI,I=function(L){return Math.sqrt(L[0]*L[0]+L[1]*L[1])},v=function(L,F){return(L[0]*F[0]+L[1]*F[1])/(I(L)*I(F))},B=function(L,F){return(L[0]*F[1]1&&(K*=C(Ae),X*=C(Ae));var he=(G===J?-1:1)*C((K*K*(X*X)-K*K*(ue*ue)-X*X*(le*le))/(K*K*(ue*ue)+X*X*(le*le)))||0,ge=he*K*ue/X,fe=he*-X*le/K,ae=(L+k)/2+x(H)*ge-E(H)*fe,U=(F+N)/2+E(H)*ge+x(H)*fe,W=B([1,0],[(le-ge)/K,(ue-fe)/X]),Y=[(le-ge)/K,(ue-fe)/X],z=[(-1*le-ge)/K,(-1*ue-fe)/X],re=B(Y,z);v(Y,z)<=-1&&(re=y),v(Y,z)>=1&&(re=0),J===0&&re>0&&(re=re-2*y),J===1&&re<0&&(re=re+2*y),ie.addData(ee,ae,U,K,X,W,re,H,J)}var T=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig,w=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;function S(L){if(!L)return new f;for(var F=0,k=0,N=F,G=k,J,K=new f,X=f.CMD,q=L.match(T),ee=0;ee{var f=Cz(),m=Bi(),C=yI(),E=ite(),x=tte(),y=x.ContextCachedBy,I=function(B){f.call(this,B)};I.prototype={constructor:I,type:"text",brush:function(B,Q){var T=this.style;this.__dirty&&E.normalizeTextStyle(T,!0),T.fill=T.stroke=T.shadowBlur=T.shadowColor=T.shadowOffsetX=T.shadowOffsetY=null;var w=T.text;if(w!=null&&(w+=""),!E.needDrawText(w,T)){B.__attrCachedBy=y.NONE;return}this.setTransform(B),E.renderText(this,B,w,T,null,Q),this.restoreTransform(B)},getBoundingRect:function(){var B=this.style;if(this.__dirty&&E.normalizeTextStyle(B,!0),!this._rect){var Q=B.text;Q!=null?Q+="":Q="";var T=C.getBoundingRect(B.text+"",B.font,B.textAlign,B.textVerticalAlign,B.textPadding,B.textLineHeight,B.rich);if(T.x+=B.x||0,T.y+=B.y||0,E.getStroke(B.textStroke,B.textStrokeWidth)){var w=B.textStrokeWidth;T.x-=w/2,T.y-=w/2,T.width+=w,T.height+=w}this._rect=T}return this._rect}},m.inherits(I,f);var v=I;A.exports=v}),THe=wt((o,A)=>{var f=If(),m=f.extend({type:"circle",shape:{cx:0,cy:0,r:0},buildPath:function(C,E,x){x&&C.moveTo(E.cx+E.r,E.cy),C.arc(E.cx,E.cy,E.r,0,Math.PI*2,!0)}});A.exports=m}),MHe=wt((o,A)=>{var f=jf(),m=[["shadowBlur",0],["shadowColor","#000"],["shadowOffsetX",0],["shadowOffsetY",0]];function C(E){return f.browser.ie&&f.browser.version>=11?function(){var x=this.__clipPaths,y=this.style,I;if(x)for(var v=0;v{var f=If(),m=MHe(),C=f.extend({type:"sector",shape:{cx:0,cy:0,r0:0,r:0,startAngle:0,endAngle:Math.PI*2,clockwise:!0},brush:m(f.prototype.brush),buildPath:function(E,x){var y=x.cx,I=x.cy,v=Math.max(x.r0||0,0),B=Math.max(x.r,0),Q=x.startAngle,T=x.endAngle,w=x.clockwise,S=Math.cos(Q),D=Math.sin(Q);E.moveTo(S*v+y,D*v+I),E.lineTo(S*B+y,D*B+I),E.arc(y,I,B,Q,T,!w),E.lineTo(Math.cos(T)*v+y,Math.sin(T)*v+I),v!==0&&E.arc(y,I,v,T,Q,w),E.closePath()}});A.exports=C}),H0t=wt((o,A)=>{var f=If(),m=f.extend({type:"ring",shape:{cx:0,cy:0,r:0,r0:0},buildPath:function(C,E){var x=E.cx,y=E.cy,I=Math.PI*2;C.moveTo(x+E.r,y),C.arc(x,y,E.r,0,I,!1),C.moveTo(x+E.r0,y),C.arc(x,y,E.r0,0,I,!0)}});A.exports=m}),V0t=wt((o,A)=>{var f=vh(),m=f.distance;function C(x,y,I,v,B,Q,T){var w=(I-x)*.5,S=(v-y)*.5;return(2*(y-I)+w+S)*T+(-3*(y-I)-2*w-S)*Q+w*B+y}function E(x,y){for(var I=x.length,v=[],B=0,Q=1;QI-2?I-1:S+1],L=x[S>I-3?I-1:S+2]);var F=D*D,k=D*F;v.push([C(R[0],P[0],M[0],L[0],D,F,k),C(R[1],P[1],M[1],L[1],D,F,k)])}return v}A.exports=E}),z0t=wt((o,A)=>{var f=vh(),m=f.min,C=f.max,E=f.scale,x=f.distance,y=f.add,I=f.clone,v=f.sub;function B(Q,T,w,S){var D=[],R=[],P=[],M=[],L,F,k,N;if(S){k=[1/0,1/0],N=[-1/0,-1/0];for(var G=0,J=Q.length;G{var A=V0t(),f=z0t();function m(C,E,x){var y=E.points,I=E.smooth;if(y&&y.length>=2){if(I&&I!=="spline"){var v=f(y,I,x,E.smoothConstraint);C.moveTo(y[0][0],y[0][1]);for(var B=y.length,Q=0;Q<(x?B:B-1);Q++){var T=v[Q*2],w=v[Q*2+1],S=y[(Q+1)%B];C.bezierCurveTo(T[0],T[1],w[0],w[1],S[0],S[1])}}else{I==="spline"&&(y=A(y,x)),C.moveTo(y[0][0],y[0][1]);for(var Q=1,D=y.length;Q{var f=If(),m=PHe(),C=f.extend({type:"polygon",shape:{points:null,smooth:!1,smoothConstraint:null},buildPath:function(E,x){m.buildPath(E,x,!0)}});A.exports=C}),LHe=wt((o,A)=>{var f=If(),m=PHe(),C=f.extend({type:"polyline",shape:{points:null,smooth:!1,smoothConstraint:null},style:{stroke:"#000",fill:null},buildPath:function(E,x){m.buildPath(E,x,!1)}});A.exports=C}),s0e=wt(o=>{var A=Math.round;function f(E,x,y){if(x){var I=x.x1,v=x.x2,B=x.y1,Q=x.y2;E.x1=I,E.x2=v,E.y1=B,E.y2=Q;var T=y&&y.lineWidth;T&&(A(I*2)===A(v*2)&&(E.x1=E.x2=C(I,T,!0)),A(B*2)===A(Q*2)&&(E.y1=E.y2=C(B,T,!0)))}}function m(E,x,y){if(x){var I=x.x,v=x.y,B=x.width,Q=x.height;E.x=I,E.y=v,E.width=B,E.height=Q;var T=y&&y.lineWidth;T&&(E.x=C(I,T,!0),E.y=C(v,T,!0),E.width=Math.max(C(I+B,T,!1)-E.x,B===0?0:1),E.height=Math.max(C(v+Q,T,!1)-E.y,Q===0?0:1))}}function C(E,x,y){if(!x)return E;var I=A(E*2);return(I+A(x))%2===0?I/2:(I+(y?1:-1))/2}o.subPixelOptimizeLine=f,o.subPixelOptimizeRect=m,o.subPixelOptimize=C}),l0e=wt((o,A)=>{var f=If(),m=vHe(),C=s0e(),E=C.subPixelOptimizeRect,x={},y=f.extend({type:"rect",shape:{r:0,x:0,y:0,width:0,height:0},buildPath:function(I,v){var B,Q,T,w;this.subPixelOptimize?(E(x,v,this.style),B=x.x,Q=x.y,T=x.width,w=x.height,x.r=v.r,v=x):(B=v.x,Q=v.y,T=v.width,w=v.height),v.r?m.buildPath(I,v):I.rect(B,Q,T,w),I.closePath()}});A.exports=y}),FHe=wt((o,A)=>{var f=If(),m=s0e(),C=m.subPixelOptimizeLine,E={},x=f.extend({type:"line",shape:{x1:0,y1:0,x2:0,y2:0,percent:1},style:{stroke:"#000",fill:null},buildPath:function(y,I){var v,B,Q,T;this.subPixelOptimize?(C(E,I,this.style),v=E.x1,B=E.y1,Q=E.x2,T=E.y2):(v=I.x1,B=I.y1,Q=I.x2,T=I.y2);var w=I.percent;w!==0&&(y.moveTo(v,B),w<1&&(Q=v*(1-w)+Q*w,T=B*(1-w)+T*w),y.lineTo(Q,T))},pointAt:function(y){var I=this.shape;return[I.x1*(1-y)+I.x2*y,I.y1*(1-y)+I.y2*y]}});A.exports=x}),Y0t=wt((o,A)=>{var f=If(),m=vh(),C=KP(),E=C.quadraticSubdivide,x=C.cubicSubdivide,y=C.quadraticAt,I=C.cubicAt,v=C.quadraticDerivativeAt,B=C.cubicDerivativeAt,Q=[];function T(S,D,R){var P=S.cpx2,M=S.cpy2;return P===null||M===null?[(R?B:I)(S.x1,S.cpx1,S.cpx2,S.x2,D),(R?B:I)(S.y1,S.cpy1,S.cpy2,S.y2,D)]:[(R?v:y)(S.x1,S.cpx1,S.x2,D),(R?v:y)(S.y1,S.cpy1,S.y2,D)]}var w=f.extend({type:"bezier-curve",shape:{x1:0,y1:0,x2:0,y2:0,cpx1:0,cpy1:0,percent:1},style:{stroke:"#000",fill:null},buildPath:function(S,D){var R=D.x1,P=D.y1,M=D.x2,L=D.y2,F=D.cpx1,k=D.cpy1,N=D.cpx2,G=D.cpy2,J=D.percent;J!==0&&(S.moveTo(R,P),N==null||G==null?(J<1&&(E(R,F,M,J,Q),F=Q[1],M=Q[2],E(P,k,L,J,Q),k=Q[1],L=Q[2]),S.quadraticCurveTo(F,k,M,L)):(J<1&&(x(R,F,N,M,J,Q),F=Q[1],N=Q[2],M=Q[3],x(P,k,G,L,J,Q),k=Q[1],G=Q[2],L=Q[3]),S.bezierCurveTo(F,k,N,G,M,L)))},pointAt:function(S){return T(this.shape,S,!1)},tangentAt:function(S){var D=T(this.shape,S,!0);return m.normalize(D,D)}});A.exports=w}),J0t=wt((o,A)=>{var f=If(),m=f.extend({type:"arc",shape:{cx:0,cy:0,r:0,startAngle:0,endAngle:Math.PI*2,clockwise:!0},style:{stroke:"#000",fill:null},buildPath:function(C,E){var x=E.cx,y=E.cy,I=Math.max(E.r,0),v=E.startAngle,B=E.endAngle,Q=E.clockwise,T=Math.cos(v),w=Math.sin(v);C.moveTo(T*I+x,w*I+y),C.arc(x,y,I,v,B,!Q)}});A.exports=m}),K0t=wt((o,A)=>{var f=If(),m=f.extend({type:"compound",shape:{paths:null},_updatePathDirty:function(){for(var C=this.__dirtyPath,E=this.shape.paths,x=0;x{var f=function(C){this.colorStops=C||[]};f.prototype={constructor:f,addColorStop:function(C,E){this.colorStops.push({offset:C,color:E})}};var m=f;A.exports=m}),u0e=wt((o,A)=>{var f=Bi(),m=nte(),C=function(x,y,I,v,B,Q){this.x=x??0,this.y=y??0,this.x2=I??1,this.y2=v??0,this.type="linear",this.global=Q||!1,m.call(this,B)};C.prototype={constructor:C},f.inherits(C,m);var E=C;A.exports=E}),W0t=wt((o,A)=>{var f=Bi(),m=nte(),C=function(x,y,I,v,B){this.x=x??.5,this.y=y??.5,this.r=I??.5,this.type="radial",this.global=B||!1,m.call(this,v)};C.prototype={constructor:C},f.inherits(C,m);var E=C;A.exports=E}),A0e=wt((o,A)=>{var f=Bi(),m=f.inherits,C=Cz(),E=zh();function x(v){C.call(this,v),this._displayables=[],this._temporaryDisplayables=[],this._cursor=0,this.notClear=!0}x.prototype.incremental=!0,x.prototype.clearDisplaybles=function(){this._displayables=[],this._temporaryDisplayables=[],this._cursor=0,this.dirty(),this.notClear=!1},x.prototype.addDisplayable=function(v,B){B?this._temporaryDisplayables.push(v):this._displayables.push(v),this.dirty()},x.prototype.addDisplayables=function(v,B){B=B||!1;for(var Q=0;Q{var A=Bi(),f=DHe(),m=Yb(),C=xE(),E=vh(),x=If(),y=$ee(),I=V4();o.Image=I;var v=qN();o.Group=v;var B=XN();o.Text=B;var Q=THe();o.Circle=Q;var T=G0t();o.Sector=T;var w=H0t();o.Ring=w;var S=RHe();o.Polygon=S;var D=LHe();o.Polyline=D;var R=l0e();o.Rect=R;var P=FHe();o.Line=P;var M=Y0t();o.BezierCurve=M;var L=J0t();o.Arc=L;var F=K0t();o.CompoundPath=F;var k=u0e();o.LinearGradient=k;var N=W0t();o.RadialGradient=N;var G=zh();o.BoundingRect=G;var J=A0e();o.IncrementalDisplayable=J;var K=s0e(),X=Math.max,q=Math.min,ee={},ie=1,H={color:"textFill",textBorderColor:"textStroke",textBorderWidth:"textStrokeWidth"},le="emphasis",ue="normal",Ae=1,he={},ge={};function fe(_t){return x.extend(_t)}function ae(_t,Mt){return f.extendFromString(_t,Mt)}function U(_t,Mt){ge[_t]=Mt}function W(_t){if(ge.hasOwnProperty(_t))return ge[_t]}function Y(_t,Mt,Ht,ti){var Wi=f.createFromString(_t,Mt);return Ht&&(ti==="center"&&(Ht=re(Ht,Wi.getBoundingRect())),de(Wi,Ht)),Wi}function z(_t,Mt,Ht){var ti=new I({style:{image:_t,x:Mt.x,y:Mt.y,width:Mt.width,height:Mt.height},onload:function(Wi){if(Ht==="center"){var yi={width:Wi.width,height:Wi.height};ti.setStyle(re(Mt,yi))}}});return ti}function re(_t,Mt){var Ht=Mt.width/Mt.height,ti=_t.height*Ht,Wi;ti<=_t.width?Wi=_t.height:(ti=_t.width,Wi=ti/Ht);var yi=_t.x+_t.width/2,uo=_t.y+_t.height/2;return{x:yi-ti/2,y:uo-Wi/2,width:ti,height:Wi}}var se=f.mergePath;function de(_t,Mt){if(_t.applyTransform){var Ht=_t.getBoundingRect(),ti=Ht.calculateTransform(Mt);_t.applyTransform(ti)}}function me(_t){return K.subPixelOptimizeLine(_t.shape,_t.shape,_t.style),_t}function Ce(_t){return K.subPixelOptimizeRect(_t.shape,_t.shape,_t.style),_t}var Ie=K.subPixelOptimize;function we(_t){return _t!=null&&_t!=="none"}var Te=A.createHashMap(),Ge=0;function ke(_t){if(typeof _t!="string")return _t;var Mt=Te.get(_t);return Mt||(Mt=m.lift(_t,-.1),Ge<1e4&&(Te.set(_t,Mt),Ge++)),Mt}function Oe(_t){if(_t.__hoverStlDirty){_t.__hoverStlDirty=!1;var Mt=_t.__hoverStl;if(!Mt){_t.__cachedNormalStl=_t.__cachedNormalZ2=null;return}var Ht=_t.__cachedNormalStl={};_t.__cachedNormalZ2=_t.z2;var ti=_t.style;for(var Wi in Mt)Mt[Wi]!=null&&(Ht[Wi]=ti[Wi]);Ht.fill=ti.fill,Ht.stroke=ti.stroke}}function Le(_t){var Mt=_t.__hoverStl;if(!(!Mt||_t.__highlighted)){var Ht=_t.__zr,ti=_t.useHoverLayer&&Ht&&Ht.painter.type==="canvas";if(_t.__highlighted=ti?"layer":"plain",!(_t.isGroup||!Ht&&_t.useHoverLayer)){var Wi=_t,yi=_t.style;ti&&(Wi=Ht.addHover(_t),yi=Wi.style),We(yi),ti||Oe(Wi),yi.extendFrom(Mt),be(yi,Mt,"fill"),be(yi,Mt,"stroke"),ve(yi),ti||(_t.dirty(!1),_t.z2+=ie)}}}function be(_t,Mt,Ht){!we(Mt[Ht])&&we(_t[Ht])&&(_t[Ht]=ke(_t[Ht]))}function Ne(_t){var Mt=_t.__highlighted;if(Mt&&(_t.__highlighted=!1,!_t.isGroup))if(Mt==="layer")_t.__zr&&_t.__zr.removeHover(_t);else{var Ht=_t.style,ti=_t.__cachedNormalStl;ti&&(We(Ht),_t.setStyle(ti),ve(Ht));var Wi=_t.__cachedNormalZ2;Wi!=null&&_t.z2-Wi===ie&&(_t.z2=Wi)}}function Ue(_t,Mt,Ht){var ti=ue,Wi=ue,yi;_t.__highlighted&&(ti=le,yi=!0),Mt(_t,Ht),_t.__highlighted&&(Wi=le,yi=!0),_t.isGroup&&_t.traverse(function(uo){!uo.isGroup&&Mt(uo,Ht)}),yi&&_t.__highDownOnUpdate&&_t.__highDownOnUpdate(ti,Wi)}function ze(_t,Mt){Mt=_t.__hoverStl=Mt!==!1&&(_t.hoverStyle||Mt||{}),_t.__hoverStlDirty=!0,_t.__highlighted&&(_t.__cachedNormalStl=null,Ne(_t),Le(_t))}function Je(_t){!Et(this,_t)&&!this.__highByOuter&&Ue(this,Le)}function Xe(_t){!Et(this,_t)&&!this.__highByOuter&&Ue(this,Ne)}function et(_t){this.__highByOuter|=1<<(_t||0),Ue(this,Le)}function ot(_t){!(this.__highByOuter&=~(1<<(_t||0)))&&Ue(this,Ne)}function Et(_t,Mt){return _t.__highDownSilentOnTouch&&Mt.zrByTouch}function Ct(_t,Mt){ct(_t,!0),Ue(_t,ze,Mt)}function ct(_t,Mt){var Ht=Mt===!1;if(_t.__highDownSilentOnTouch=_t.highDownSilentOnTouch,_t.__highDownOnUpdate=_t.highDownOnUpdate,!Ht||_t.__highDownDispatcher){var ti=Ht?"off":"on";_t[ti]("mouseover",Je)[ti]("mouseout",Xe),_t[ti]("emphasis",et)[ti]("normal",ot),_t.__highByOuter=_t.__highByOuter||0,_t.__highDownDispatcher=!Ht}}function yt(_t){return!!(_t&&_t.__highDownDispatcher)}function Qt(_t){var Mt=he[_t];return Mt==null&&Ae<=32&&(Mt=he[_t]=Ae++),Mt}function Ze(_t,Mt,Ht,ti,Wi,yi,uo){Wi=Wi||ee;var wn=Wi.labelFetcher,Un=Wi.labelDataIndex,Ta=Wi.labelDimIndex,Ma=Wi.labelProp,Go=Ht.getShallow("show"),bl=ti.getShallow("show"),nu;(Go||bl)&&(wn&&(nu=wn.getFormattedLabel(Un,"normal",null,Ta,Ma)),nu==null&&(nu=A.isFunction(Wi.defaultText)?Wi.defaultText(Un,Wi):Wi.defaultText));var yc=Go?nu:null,Xu=bl?A.retrieve2(wn?wn.getFormattedLabel(Un,"emphasis",null,Ta,Ma):null,nu):null;(yc!=null||Xu!=null)&&(St(_t,Ht,yi,Wi),St(Mt,ti,uo,Wi,!0)),_t.text=yc,Mt.text=Xu}function ut(_t,Mt,Ht){var ti=_t.style;Mt&&(We(ti),_t.setStyle(Mt),ve(ti)),ti=_t.__hoverStl,Ht&&ti&&(We(ti),A.extend(ti,Ht),ve(ti))}function St(_t,Mt,Ht,ti,Wi){return xt(_t,Mt,ti,Wi),Ht&&A.extend(_t,Ht),_t}function gt(_t,Mt,Ht){var ti={isRectText:!0},Wi;Ht===!1?Wi=!0:ti.autoColor=Ht,xt(_t,Mt,ti,Wi)}function xt(_t,Mt,Ht,ti){if(Ht=Ht||ee,Ht.isRectText){var Wi;Ht.getTextPosition?Wi=Ht.getTextPosition(Mt,ti):(Wi=Mt.getShallow("position")||(ti?null:"inside"),Wi==="outside"&&(Wi="top")),_t.textPosition=Wi,_t.textOffset=Mt.getShallow("offset");var yi=Mt.getShallow("rotate");yi!=null&&(yi*=Math.PI/180),_t.textRotation=yi,_t.textDistance=A.retrieve2(Mt.getShallow("distance"),ti?null:5)}var uo=Mt.ecModel,wn=uo&&uo.option.textStyle,Un=Lt(Mt),Ta;if(Un){Ta={};for(var Ma in Un)if(Un.hasOwnProperty(Ma)){var Go=Mt.getModel(["rich",Ma]);nt(Ta[Ma]={},Go,wn,Ht,ti)}}return _t.rich=Ta,nt(_t,Mt,wn,Ht,ti,!0),Ht.forceRich&&!Ht.textStyle&&(Ht.textStyle={}),_t}function Lt(_t){for(var Mt;_t&&_t!==_t.ecModel;){var Ht=(_t.option||ee).rich;if(Ht){Mt=Mt||{};for(var ti in Ht)Ht.hasOwnProperty(ti)&&(Mt[ti]=1)}_t=_t.parentModel}return Mt}function nt(_t,Mt,Ht,ti,Wi,yi){Ht=!Wi&&Ht||ee,_t.textFill=Pe(Mt.getShallow("color"),ti)||Ht.color,_t.textStroke=Pe(Mt.getShallow("textBorderColor"),ti)||Ht.textBorderColor,_t.textStrokeWidth=A.retrieve2(Mt.getShallow("textBorderWidth"),Ht.textBorderWidth),Wi||(yi&&(_t.insideRollbackOpt=ti,ve(_t)),_t.textFill==null&&(_t.textFill=ti.autoColor)),_t.fontStyle=Mt.getShallow("fontStyle")||Ht.fontStyle,_t.fontWeight=Mt.getShallow("fontWeight")||Ht.fontWeight,_t.fontSize=Mt.getShallow("fontSize")||Ht.fontSize,_t.fontFamily=Mt.getShallow("fontFamily")||Ht.fontFamily,_t.textAlign=Mt.getShallow("align"),_t.textVerticalAlign=Mt.getShallow("verticalAlign")||Mt.getShallow("baseline"),_t.textLineHeight=Mt.getShallow("lineHeight"),_t.textWidth=Mt.getShallow("width"),_t.textHeight=Mt.getShallow("height"),_t.textTag=Mt.getShallow("tag"),(!yi||!ti.disableBox)&&(_t.textBackgroundColor=Pe(Mt.getShallow("backgroundColor"),ti),_t.textPadding=Mt.getShallow("padding"),_t.textBorderColor=Pe(Mt.getShallow("borderColor"),ti),_t.textBorderWidth=Mt.getShallow("borderWidth"),_t.textBorderRadius=Mt.getShallow("borderRadius"),_t.textBoxShadowColor=Mt.getShallow("shadowColor"),_t.textBoxShadowBlur=Mt.getShallow("shadowBlur"),_t.textBoxShadowOffsetX=Mt.getShallow("shadowOffsetX"),_t.textBoxShadowOffsetY=Mt.getShallow("shadowOffsetY")),_t.textShadowColor=Mt.getShallow("textShadowColor")||Ht.textShadowColor,_t.textShadowBlur=Mt.getShallow("textShadowBlur")||Ht.textShadowBlur,_t.textShadowOffsetX=Mt.getShallow("textShadowOffsetX")||Ht.textShadowOffsetX,_t.textShadowOffsetY=Mt.getShallow("textShadowOffsetY")||Ht.textShadowOffsetY}function Pe(_t,Mt){return _t!=="auto"?_t:Mt&&Mt.autoColor?Mt.autoColor:null}function ve(_t){var Mt=_t.textPosition,Ht=_t.insideRollbackOpt,ti;if(Ht&&_t.textFill==null){var Wi=Ht.autoColor,yi=Ht.isRectText,uo=Ht.useInsideStyle,wn=uo!==!1&&(uo===!0||yi&&Mt&&typeof Mt=="string"&&Mt.indexOf("inside")>=0),Un=!wn&&Wi!=null;(wn||Un)&&(ti={textFill:_t.textFill,textStroke:_t.textStroke,textStrokeWidth:_t.textStrokeWidth}),wn&&(_t.textFill="#fff",_t.textStroke==null&&(_t.textStroke=Wi,_t.textStrokeWidth==null&&(_t.textStrokeWidth=2))),Un&&(_t.textFill=Wi)}_t.insideRollback=ti}function We(_t){var Mt=_t.insideRollback;Mt&&(_t.textFill=Mt.textFill,_t.textStroke=Mt.textStroke,_t.textStrokeWidth=Mt.textStrokeWidth,_t.insideRollback=null)}function bt(_t,Mt){var Ht=Mt&&Mt.getModel("textStyle");return A.trim([_t.fontStyle||Ht&&Ht.getShallow("fontStyle")||"",_t.fontWeight||Ht&&Ht.getShallow("fontWeight")||"",(_t.fontSize||Ht&&Ht.getShallow("fontSize")||12)+"px",_t.fontFamily||Ht&&Ht.getShallow("fontFamily")||"sans-serif"].join(" "))}function Pt(_t,Mt,Ht,ti,Wi,yi){typeof Wi=="function"&&(yi=Wi,Wi=null);var uo=ti&&ti.isAnimationEnabled();if(uo){var wn=_t?"Update":"",Un=ti.getShallow("animationDuration"+wn),Ta=ti.getShallow("animationEasing"+wn),Ma=ti.getShallow("animationDelay"+wn);typeof Ma=="function"&&(Ma=Ma(Wi,ti.getAnimationDelayParams?ti.getAnimationDelayParams(Mt,Wi):null)),typeof Un=="function"&&(Un=Un(Wi)),Un>0?Mt.animateTo(Ht,Un,Ma||0,Ta,yi,!!yi):(Mt.stopAnimation(),Mt.attr(Ht),yi&&yi())}else Mt.stopAnimation(),Mt.attr(Ht),yi&&yi()}function It(_t,Mt,Ht,ti,Wi){Pt(!0,_t,Mt,Ht,ti,Wi)}function Mi(_t,Mt,Ht,ti,Wi){Pt(!1,_t,Mt,Ht,ti,Wi)}function er(_t,Mt){for(var Ht=C.identity([]);_t&&_t!==Mt;)C.mul(Ht,_t.getLocalTransform(),Ht),_t=_t.parent;return Ht}function di(_t,Mt,Ht){return Mt&&!A.isArrayLike(Mt)&&(Mt=y.getLocalTransform(Mt)),Ht&&(Mt=C.invert([],Mt)),E.applyTransform([],_t,Mt)}function wi(_t,Mt,Ht){var ti=Mt[4]===0||Mt[5]===0||Mt[0]===0?1:Math.abs(2*Mt[4]/Mt[0]),Wi=Mt[4]===0||Mt[5]===0||Mt[2]===0?1:Math.abs(2*Mt[4]/Mt[2]),yi=[_t==="left"?-ti:_t==="right"?ti:0,_t==="top"?-Wi:_t==="bottom"?Wi:0];return yi=di(yi,Mt,Ht),Math.abs(yi[0])>Math.abs(yi[1])?yi[0]>0?"right":"left":yi[1]>0?"bottom":"top"}function Ri(_t,Mt,Ht,ti){if(!_t||!Mt)return;function Wi(wn){var Un={};return wn.traverse(function(Ta){!Ta.isGroup&&Ta.anid&&(Un[Ta.anid]=Ta)}),Un}function yi(wn){var Un={position:E.clone(wn.position),rotation:wn.rotation};return wn.shape&&(Un.shape=A.extend({},wn.shape)),Un}var uo=Wi(_t);Mt.traverse(function(wn){if(!wn.isGroup&&wn.anid){var Un=uo[wn.anid];if(Un){var Ta=yi(wn);wn.attr(yi(Un)),It(wn,Ta,Ht,wn.dataIndex)}}})}function Ei(_t,Mt){return A.map(_t,function(Ht){var ti=Ht[0];ti=X(ti,Mt.x),ti=q(ti,Mt.x+Mt.width);var Wi=Ht[1];return Wi=X(Wi,Mt.y),Wi=q(Wi,Mt.y+Mt.height),[ti,Wi]})}function Wt(_t,Mt){var Ht=X(_t.x,Mt.x),ti=q(_t.x+_t.width,Mt.x+Mt.width),Wi=X(_t.y,Mt.y),yi=q(_t.y+_t.height,Mt.y+Mt.height);if(ti>=Ht&&yi>=Wi)return{x:Ht,y:Wi,width:ti-Ht,height:yi-Wi}}function jt(_t,Mt,Ht){Mt=A.extend({rectHover:!0},Mt);var ti=Mt.style={strokeNoScale:!0};if(Ht=Ht||{x:-1,y:-1,width:2,height:2},_t)return _t.indexOf("image://")===0?(ti.image=_t.slice(8),A.defaults(ti,Ht),new I(Mt)):Y(_t.replace("path://",""),Mt,Ht,"center")}function pi(_t,Mt,Ht,ti,Wi){for(var yi=0,uo=Wi[Wi.length-1];yi1)return!1;var yd=Kt(nu,yc,Ma,Go)/bl;return!(yd<0||yd>1)}function Kt(_t,Mt,Ht,ti){return _t*ti-Ht*Mt}function xi(_t){return _t<=1e-6&&_t>=-1e-6}U("circle",Q),U("sector",T),U("ring",w),U("polygon",S),U("polyline",D),U("rect",R),U("line",P),U("bezierCurve",M),U("arc",L),o.Z2_EMPHASIS_LIFT=ie,o.CACHED_LABEL_STYLE_PROPERTIES=H,o.extendShape=fe,o.extendPath=ae,o.registerShape=U,o.getShapeClass=W,o.makePath=Y,o.makeImage=z,o.mergePath=se,o.resizePath=de,o.subPixelOptimizeLine=me,o.subPixelOptimizeRect=Ce,o.subPixelOptimize=Ie,o.setElementHoverStyle=ze,o.setHoverStyle=Ct,o.setAsHighDownDispatcher=ct,o.isHighDownDispatcher=yt,o.getHighlightDigit=Qt,o.setLabelStyle=Ze,o.modifyLabelStyle=ut,o.setTextStyle=St,o.setText=gt,o.getFont=bt,o.updateProps=It,o.initProps=Mi,o.getTransform=er,o.applyTransform=di,o.transformDirection=wi,o.groupTransition=Ri,o.clipPointsByRect=Ei,o.clipRectByRect=Wt,o.createIcon=jt,o.linePolygonIntersect=pi,o.lineLineIntersect=mi}),j0t=wt((o,A)=>{var f=yI(),m=To(),C=["textStyle","color"],E={getTextColor:function(x){var y=this.ecModel;return this.getShallow("color")||(!x&&y?y.get(C):null)},getFont:function(){return m.getFont({fontStyle:this.getShallow("fontStyle"),fontWeight:this.getShallow("fontWeight"),fontSize:this.getShallow("fontSize"),fontFamily:this.getShallow("fontFamily")},this.ecModel)},getTextRect:function(x){return f.getBoundingRect(x,this.getFont(),this.getShallow("align"),this.getShallow("verticalAlign")||this.getShallow("baseline"),this.getShallow("padding"),this.getShallow("lineHeight"),this.getShallow("rich"),this.getShallow("truncateText"))}};A.exports=E}),q0t=wt((o,A)=>{var f=z4(),m=f([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"],["textPosition"],["textAlign"]]),C={getItemStyle:function(E,x){var y=m(this,E,x),I=this.getBorderLineDash();return I&&(y.lineDash=I),y},getBorderLineDash:function(){var E=this.get("borderType");return E==="solid"||E==null?null:E==="dashed"?[5,5]:[1,1]}};A.exports=C}),qf=wt((o,A)=>{var f=Bi(),m=jf(),C=Bl(),E=C.makeInner,x=YD(),y=x.enableClassExtend,I=x.enableClassCheck,v=L0t(),B=F0t(),Q=j0t(),T=q0t(),w=f.mixin,S=E();function D(L,F,k){this.parentModel=F,this.ecModel=k,this.option=L}D.prototype={constructor:D,init:null,mergeOption:function(L){f.merge(this.option,L,!0)},get:function(L,F){return L==null?this.option:R(this.option,this.parsePath(L),!F&&P(this,L))},getShallow:function(L,F){var k=this.option,N=k==null?k:k[L],G=!F&&P(this,L);return N==null&&G&&(N=G.getShallow(L)),N},getModel:function(L,F){var k=L==null?this.option:R(this.option,L=this.parsePath(L)),N;return F=F||(N=P(this,L))&&N.getModel(L),new D(k,F,this.ecModel)},isEmpty:function(){return this.option==null},restoreData:function(){},clone:function(){var L=this.constructor;return new L(f.clone(this.option))},setReadOnly:function(L){},parsePath:function(L){return typeof L=="string"&&(L=L.split(".")),L},customizeGetParent:function(L){S(this).getParent=L},isAnimationEnabled:function(){if(!m.node){if(this.option.animation!=null)return!!this.option.animation;if(this.parentModel)return this.parentModel.isAnimationEnabled()}}};function R(L,F,k){for(var N=0;N{var A=Bi(),f=YD(),m=f.parseClassType,C=0;function E(I){return[I||"",C++,Math.random().toFixed(5)].join("_")}function x(I){var v={};return I.registerSubTypeDefaulter=function(B,Q){B=m(B),v[B.main]=Q},I.determineSubType=function(B,Q){var T=Q.type;if(!T){var w=m(B).main;I.hasSubTypes(B)&&v[w]&&(T=v[w](Q))}return T},I}function y(I,v){I.topologicalTravel=function(w,S,D,R){if(!w.length)return;var P=B(S),M=P.graph,L=P.noEntryList,F={};for(A.each(w,function(X){F[X]=!0});L.length;){var k=L.pop(),N=M[k],G=!!F[k];G&&(D.call(R,k,N.originalDeps.slice()),delete F[k]),A.each(N.successor,G?K:J)}A.each(F,function(){throw new Error("Circle dependency may exists")});function J(X){M[X].entryCount--,M[X].entryCount===0&&L.push(X)}function K(X){F[X]=!0,J(X)}};function B(w){var S={},D=[];return A.each(w,function(R){var P=Q(S,R),M=P.originalDeps=v(R),L=T(M,w);P.entryCount=L.length,P.entryCount===0&&D.push(R),A.each(L,function(F){A.indexOf(P.predecessor,F)<0&&P.predecessor.push(F);var k=Q(S,F);A.indexOf(k.successor,F)<0&&k.successor.push(R)})}),{graph:S,noEntryList:D}}function Q(w,S){return w[S]||(w[S]={predecessor:[],successor:[]}),w[S]}function T(w,S){var D=[];return A.each(w,function(R){A.indexOf(S,R)>=0&&D.push(R)}),D}}o.getUID=E,o.enableSubTypeDefaulter=x,o.enableTopologicalTravel=y}),ds=wt(o=>{var A=Bi(),f=1e-4;function m(G){return G.replace(/^\s+|\s+$/g,"")}function C(G,J,K,X){var q=J[1]-J[0],ee=K[1]-K[0];if(q===0)return ee===0?K[0]:(K[0]+K[1])/2;if(X)if(q>0){if(G<=J[0])return K[0];if(G>=J[1])return K[1]}else{if(G>=J[0])return K[0];if(G<=J[1])return K[1]}else{if(G===J[0])return K[0];if(G===J[1])return K[1]}return(G-J[0])/q*ee+K[0]}function E(G,J){switch(G){case"center":case"middle":G="50%";break;case"left":case"top":G="0%";break;case"right":case"bottom":G="100%";break}return typeof G=="string"?m(G).match(/%$/)?parseFloat(G)/100*J:parseFloat(G):G==null?NaN:+G}function x(G,J,K){return J==null&&(J=10),J=Math.min(Math.max(0,J),20),G=(+G).toFixed(J),K?G:+G}function y(G){return G.sort(function(J,K){return J-K}),G}function I(G){if(G=+G,isNaN(G))return 0;for(var J=1,K=0;Math.round(G*J)/J!==G;)J*=10,K++;return K}function v(G){var J=G.toString(),K=J.indexOf("e");if(K>0){var X=+J.slice(K+1);return X<0?-X:0}else{var q=J.indexOf(".");return q<0?0:J.length-1-q}}function B(G,J){var K=Math.log,X=Math.LN10,q=Math.floor(K(G[1]-G[0])/X),ee=Math.round(K(Math.abs(J[1]-J[0]))/X),ie=Math.min(Math.max(-q+ee,0),20);return isFinite(ie)?ie:20}function Q(G,J,K){if(!G[J])return 0;var X=A.reduce(G,function(ae,U){return ae+(isNaN(U)?0:U)},0);if(X===0)return 0;for(var q=Math.pow(10,K),ee=A.map(G,function(ae){return(isNaN(ae)?0:ae)/X*q*100}),ie=q*100,H=A.map(ee,function(ae){return Math.floor(ae)}),le=A.reduce(H,function(ae,U){return ae+U},0),ue=A.map(ee,function(ae,U){return ae-H[U]});leAe&&(Ae=ue[ge],he=ge);++H[he],ue[he]=0,++le}return H[J]/q}var T=9007199254740991;function w(G){var J=Math.PI*2;return(G%J+J)%J}function S(G){return G>-f&&G=10&&J++,J}function L(G,J){var K=M(G),X=Math.pow(10,K),q=G/X,ee;return J?q<1.5?ee=1:q<2.5?ee=2:q<4?ee=3:q<7?ee=5:ee=10:q<1?ee=1:q<2?ee=2:q<3?ee=3:q<5?ee=5:ee=10,G=ee*X,K>=-20?+G.toFixed(K<0?-K:0):G}function F(G,J){var K=(G.length-1)*J+1,X=Math.floor(K),q=+G[X-1],ee=K-X;return ee?q+ee*(G[X]-q):q}function k(G){G.sort(function(le,ue){return H(le,ue,0)?-1:1});for(var J=-1/0,K=1,X=0;X=0}o.linearMap=C,o.parsePercent=E,o.round=x,o.asc=y,o.getPrecision=I,o.getPrecisionSafe=v,o.getPixelPrecision=B,o.getPercentWithPrecision=Q,o.MAX_SAFE_INTEGER=T,o.remRadian=w,o.isRadianAroundZero=S,o.parseDate=R,o.quantity=P,o.quantityExponent=M,o.nice=L,o.quantile=F,o.reformIntervals=k,o.isNumeric=N}),Tc=wt(o=>{var A=Bi(),f=yI(),m=ds();function C(N){return isNaN(N)?"-":(N=(N+"").split("."),N[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(N.length>1?"."+N[1]:""))}function E(N,G){return N=(N||"").toLowerCase().replace(/-(.)/g,function(J,K){return K.toUpperCase()}),G&&N&&(N=N.charAt(0).toUpperCase()+N.slice(1)),N}var x=A.normalizeCssArray,y=/([&<>"'])/g,I={"&":"&","<":"<",">":">",'"':""","'":"'"};function v(N){return N==null?"":(N+"").replace(y,function(G,J){return I[J]})}var B=["a","b","c","d","e","f","g"],Q=function(N,G){return"{"+N+(G??"")+"}"};function T(N,G,J){A.isArray(G)||(G=[G]);var K=G.length;if(!K)return"";for(var X=G[0].$vars||[],q=0;q':'':{renderMode:q,content:"{marker"+ee+"|} ",style:{color:J}}:""}function D(N,G){return N+="","0000".substr(0,G-N.length)+N}function R(N,G,J){(N==="week"||N==="month"||N==="quarter"||N==="half-year"||N==="year")&&(N=`MM-dd yyyy`);var K=m.parseDate(G),X=J?"UTC":"",q=K["get"+X+"FullYear"](),ee=K["get"+X+"Month"]()+1,ie=K["get"+X+"Date"](),H=K["get"+X+"Hours"](),le=K["get"+X+"Minutes"](),ue=K["get"+X+"Seconds"](),Ae=K["get"+X+"Milliseconds"]();return N=N.replace("MM",D(ee,2)).replace("M",ee).replace("yyyy",q).replace("yy",q%100).replace("dd",D(ie,2)).replace("d",ie).replace("hh",D(H,2)).replace("h",H).replace("mm",D(le,2)).replace("m",le).replace("ss",D(ue,2)).replace("s",ue).replace("SSS",D(Ae,3)),N}function P(N){return N&&N.charAt(0).toUpperCase()+N.substr(1)}var M=f.truncateText;function L(N){return f.getBoundingRect(N.text,N.font,N.textAlign,N.textVerticalAlign,N.textPadding,N.textLineHeight,N.rich,N.truncate)}function F(N,G,J,K,X,q,ee,ie){return f.getBoundingRect(N,G,J,K,X,ie,q,ee)}function k(N,G){if(G==="_blank"||G==="blank"){var J=window.open();J.opener=null,J.location=N}else window.open(N,G)}o.addCommas=C,o.toCamelCase=E,o.normalizeCssArray=x,o.encodeHTML=v,o.formatTpl=T,o.formatTplSimple=w,o.getTooltipMarker=S,o.formatTime=R,o.capitalFirst=P,o.truncateText=M,o.getTextBoundingRect=L,o.getTextRect=F,o.windowOpen=k}),pc=wt(o=>{var A=Bi(),f=zh(),m=ds(),C=m.parsePercent,E=Tc(),x=A.each,y=["left","right","top","bottom","width","height"],I=[["width","left","right"],["height","top","bottom"]];function v(F,k,N,G,J){var K=0,X=0;G==null&&(G=1/0),J==null&&(J=1/0);var q=0;k.eachChild(function(ee,ie){var H=ee.position,le=ee.getBoundingRect(),ue=k.childAt(ie+1),Ae=ue&&ue.getBoundingRect(),he,ge;if(F==="horizontal"){var fe=le.width+(Ae?-Ae.x+le.x:0);he=K+fe,he>G||ee.newline?(K=0,he=fe,X+=q+N,q=le.height):q=Math.max(q,le.height)}else{var ae=le.height+(Ae?-Ae.y+le.y:0);ge=X+ae,ge>J||ee.newline?(K+=q+N,X=0,ge=ae,q=le.width):q=Math.max(q,le.width)}ee.newline||(H[0]=K,H[1]=X,F==="horizontal"?K=he+N:X=ge+N)})}var B=v,Q=A.curry(v,"vertical"),T=A.curry(v,"horizontal");function w(F,k,N){var G=k.width,J=k.height,K=C(F.x,G),X=C(F.y,J),q=C(F.x2,G),ee=C(F.y2,J);return(isNaN(K)||isNaN(parseFloat(F.x)))&&(K=0),(isNaN(q)||isNaN(parseFloat(F.x2)))&&(q=G),(isNaN(X)||isNaN(parseFloat(F.y)))&&(X=0),(isNaN(ee)||isNaN(parseFloat(F.y2)))&&(ee=J),N=E.normalizeCssArray(N||0),{width:Math.max(q-K-N[1]-N[3],0),height:Math.max(ee-X-N[0]-N[2],0)}}function S(F,k,N){N=E.normalizeCssArray(N||0);var G=k.width,J=k.height,K=C(F.left,G),X=C(F.top,J),q=C(F.right,G),ee=C(F.bottom,J),ie=C(F.width,G),H=C(F.height,J),le=N[2]+N[0],ue=N[1]+N[3],Ae=F.aspect;switch(isNaN(ie)&&(ie=G-q-ue-K),isNaN(H)&&(H=J-ee-le-X),Ae!=null&&(isNaN(ie)&&isNaN(H)&&(Ae>G/J?ie=G*.8:H=J*.8),isNaN(ie)&&(ie=Ae*H),isNaN(H)&&(H=ie/Ae)),isNaN(K)&&(K=G-q-ie-ue),isNaN(X)&&(X=J-ee-H-le),F.left||F.right){case"center":K=G/2-ie/2-N[3];break;case"right":K=G-ie-ue;break}switch(F.top||F.bottom){case"middle":case"center":X=J/2-H/2-N[0];break;case"bottom":X=J-H-le;break}K=K||0,X=X||0,isNaN(ie)&&(ie=G-ue-K-(q||0)),isNaN(H)&&(H=J-le-X-(ee||0));var he=new f(K+N[3],X+N[0],ie,H);return he.margin=N,he}function D(F,k,N,G,J){var K=!J||!J.hv||J.hv[0],X=!J||!J.hv||J.hv[1],q=J&&J.boundingMode||"all";if(!(!K&&!X)){var ee;if(q==="raw")ee=F.type==="group"?new f(0,0,+k.width||0,+k.height||0):F.getBoundingRect();else if(ee=F.getBoundingRect(),F.needLocalTransform()){var ie=F.getLocalTransform();ee=ee.clone(),ee.applyTransform(ie)}k=S(A.defaults({width:ee.width,height:ee.height},k),N,G);var H=F.position,le=K?k.x-ee.x:0,ue=X?k.y-ee.y:0;F.attr("position",q==="raw"?[le,ue]:[H[0]+le,H[1]+ue])}}function R(F,k){return F[I[k][0]]!=null||F[I[k][1]]!=null&&F[I[k][2]]!=null}function P(F,k,N){!A.isObject(N)&&(N={});var G=N.ignoreSize;!A.isArray(G)&&(G=[G,G]);var J=X(I[0],0),K=X(I[1],1);ie(I[0],F,J),ie(I[1],F,K);function X(H,le){var ue={},Ae=0,he={},ge=0,fe=2;if(x(H,function(W){he[W]=F[W]}),x(H,function(W){q(k,W)&&(ue[W]=he[W]=k[W]),ee(ue,W)&&Ae++,ee(he,W)&&ge++}),G[le])return ee(k,H[1])?he[H[2]]=null:ee(k,H[2])&&(he[H[1]]=null),he;if(ge===fe||!Ae)return he;if(Ae>=fe)return ue;for(var ae=0;ae{var f={getBoxLayoutParams:function(){return{left:this.get("left"),top:this.get("top"),right:this.get("right"),bottom:this.get("bottom"),width:this.get("width"),height:this.get("height")}}};A.exports=f}),C0=wt((o,A)=>{var f=Bi(),m=qf(),C=xz(),E=YD(),x=E.enableClassManagement,y=E.parseClassType,I=Bl(),v=I.makeInner,B=pc(),Q=X0t(),T=v(),w=m.extend({type:"component",id:"",name:"",mainType:"",subType:"",componentIndex:0,defaultOption:null,ecModel:null,dependentModels:[],uid:null,layoutMode:null,$constructor:function(R,P,M,L){m.call(this,R,P,M,L),this.uid=C.getUID("ec_cpt_model")},init:function(R,P,M,L){this.mergeDefaultAndTheme(R,M)},mergeDefaultAndTheme:function(R,P){var M=this.layoutMode,L=M?B.getLayoutParams(R):{},F=P.getTheme();f.merge(R,F.get(this.mainType)),f.merge(R,this.getDefaultOption()),M&&B.mergeLayoutParam(R,L,M)},mergeOption:function(R,P){f.merge(this.option,R,!0);var M=this.layoutMode;M&&B.mergeLayoutParam(this.option,R,M)},optionUpdated:function(R,P){},getDefaultOption:function(){var R=T(this);if(!R.defaultOption){for(var P=[],M=this.constructor;M;){var L=M.prototype.defaultOption;L&&P.push(L),M=M.superClass}for(var F={},k=P.length-1;k>=0;k--)F=f.merge(F,P[k],!0);R.defaultOption=F}return R.defaultOption},getReferringComponents:function(R){return this.ecModel.queryComponents({mainType:R,index:this.get(R+"Index",!0),id:this.get(R+"Id",!0)})}});x(w,{registerWhenExtend:!0}),C.enableSubTypeDefaulter(w),C.enableTopologicalTravel(w,S);function S(R){var P=[];return f.each(w.getClassesByMainType(R),function(M){P=P.concat(M.prototype.dependencies||[])}),P=f.map(P,function(M){return y(M).main}),R!=="dataset"&&f.indexOf(P,"dataset")<=0&&P.unshift("dataset"),P}f.mixin(w,Q);var D=w;A.exports=D}),Z0t=wt((o,A)=>{var f="";typeof navigator<"u"&&(f=navigator.platform||"");var m={color:["#c23531","#2f4554","#61a0a8","#d48265","#91c7ae","#749f83","#ca8622","#bda29a","#6e7074","#546570","#c4ccd3"],gradientColor:["#f6efa6","#d88273","#bf444c"],textStyle:{fontFamily:f.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,animation:"auto",animationDuration:1e3,animationDurationUpdate:300,animationEasing:"exponentialOut",animationEasingUpdate:"cubicOut",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1};A.exports=m}),NHe=wt((o,A)=>{var f=Bl(),m=f.makeInner,C=f.normalizeToArray,E=m();function x(I,v){for(var B=I.length,Q=0;Qv)return I[Q];return I[B-1]}var y={clearColorPalette:function(){E(this).colorIdx=0,E(this).colorNameMap={}},getColorFromPalette:function(I,v,B){v=v||this;var Q=E(v),T=Q.colorIdx||0,w=Q.colorNameMap=Q.colorNameMap||{};if(w.hasOwnProperty(I))return w[I];var S=C(this.get("color",!0)),D=this.get("colorLayer",!0),R=B==null||!D?S:x(D,B);if(R=R||S,!(!R||!R.length)){var P=R[T];return I&&(w[I]=P),Q.colorIdx=(T+1)%R.length,P}}};A.exports=y}),yz=wt(o=>{var A="original",f="arrayRows",m="objectRows",C="keyedColumns",E="unknown",x="typedArray",y="column",I="row";o.SOURCE_FORMAT_ORIGINAL=A,o.SOURCE_FORMAT_ARRAY_ROWS=f,o.SOURCE_FORMAT_OBJECT_ROWS=m,o.SOURCE_FORMAT_KEYED_COLUMNS=C,o.SOURCE_FORMAT_UNKNOWN=E,o.SOURCE_FORMAT_TYPED_ARRAY=x,o.SERIES_LAYOUT_BY_COLUMN=y,o.SERIES_LAYOUT_BY_ROW=I}),Iz=wt((o,A)=>{var f=Bi(),m=f.createHashMap,C=f.isTypedArray,E=YD(),x=E.enableClassCheck,y=yz(),I=y.SOURCE_FORMAT_ORIGINAL,v=y.SERIES_LAYOUT_BY_COLUMN,B=y.SOURCE_FORMAT_UNKNOWN,Q=y.SOURCE_FORMAT_TYPED_ARRAY,T=y.SOURCE_FORMAT_KEYED_COLUMNS;function w(D){this.fromDataset=D.fromDataset,this.data=D.data||(D.sourceFormat===T?{}:[]),this.sourceFormat=D.sourceFormat||B,this.seriesLayoutBy=D.seriesLayoutBy||v,this.dimensionsDefine=D.dimensionsDefine,this.encodeDefine=D.encodeDefine&&m(D.encodeDefine),this.startIndex=D.startIndex||0,this.dimensionsDetectCount=D.dimensionsDetectCount}w.seriesDataToSource=function(D){return new w({data:D,sourceFormat:C(D)?Q:I,fromDataset:!1})},x(w);var S=w;A.exports=S}),JD=wt(o=>{var A=Bu(),f=A.__DEV__,m=Bl(),C=m.makeInner,E=m.getDataItemValue,x=Bi(),y=x.createHashMap,I=x.each,v=x.map,B=x.isArray,Q=x.isString,T=x.isObject,w=x.isTypedArray,S=x.isArrayLike,D=x.extend,R=x.assert,P=Iz(),M=yz(),L=M.SOURCE_FORMAT_ORIGINAL,F=M.SOURCE_FORMAT_ARRAY_ROWS,k=M.SOURCE_FORMAT_OBJECT_ROWS,N=M.SOURCE_FORMAT_KEYED_COLUMNS,G=M.SOURCE_FORMAT_UNKNOWN,J=M.SOURCE_FORMAT_TYPED_ARRAY,K=M.SERIES_LAYOUT_BY_ROW,X={Must:1,Might:2,Not:3},q=C();function ee(z){var re=z.option.source,se=G;if(w(re))se=J;else if(B(re)){re.length===0&&(se=F);for(var de=0,me=re.length;de{var f=Bu(),m=f.__DEV__,C=Bi(),E=C.each,x=C.filter,y=C.map,I=C.isArray,v=C.indexOf,B=C.isObject,Q=C.isString,T=C.createHashMap,w=C.assert,S=C.clone,D=C.merge,R=C.extend,P=C.mixin,M=Bl(),L=qf(),F=C0(),k=Z0t(),N=NHe(),G=JD(),J=G.resetSourceDefaulter,K="\0_ec_inner",X=L.extend({init:function(ge,fe,ae,U){ae=ae||{},this.option=null,this._theme=new L(ae),this._optionManager=U},setOption:function(ge,fe){w(!(K in ge),"please use chart.getOption()"),this._optionManager.setOption(ge,fe),this.resetOption(null)},resetOption:function(ge){var fe=!1,ae=this._optionManager;if(!ge||ge==="recreate"){var U=ae.mountOption(ge==="recreate");!this.option||ge==="recreate"?ie.call(this,U):(this.restoreData(),this.mergeOption(U)),fe=!0}if((ge==="timeline"||ge==="media")&&this.restoreData(),!ge||ge==="recreate"||ge==="timeline"){var W=ae.getTimelineOption(this);W&&(this.mergeOption(W),fe=!0)}if(!ge||ge==="recreate"||ge==="media"){var Y=ae.getMediaOption(this,this._api);Y.length&&E(Y,function(z){this.mergeOption(z,fe=!0)},this)}return fe},mergeOption:function(ge){var fe=this.option,ae=this._componentsMap,U=[];J(this),E(ge,function(Y,z){Y!=null&&(F.hasClass(z)?z&&U.push(z):fe[z]=fe[z]==null?S(Y):D(fe[z],Y,!0))}),F.topologicalTravel(U,F.getAllClassMainTypes(),W,this);function W(Y,z){var re=M.normalizeToArray(ge[Y]),se=M.mappingToExists(ae.get(Y),re);M.makeIdAndName(se),E(se,function(me,Ce){var Ie=me.option;B(Ie)&&(me.keyInfo.mainType=Y,me.keyInfo.subType=le(Y,Ie,me.exist))});var de=H(ae,z);fe[Y]=[],ae.set(Y,[]),E(se,function(me,Ce){var Ie=me.exist,we=me.option;if(w(B(we)||Ie,"Empty component definition"),!we)Ie.mergeOption({},this),Ie.optionUpdated({},!1);else{var Te=F.getClass(Y,me.keyInfo.subType,!0);if(Ie&&Ie.constructor===Te)Ie.name=me.keyInfo.name,Ie.mergeOption(we,this),Ie.optionUpdated(we,!1);else{var Ge=R({dependentModels:de,componentIndex:Ce},me.keyInfo);Ie=new Te(we,this,this,Ge),R(Ie,Ge),Ie.init(we,this,this,Ge),Ie.optionUpdated(null,!0)}}ae.get(Y)[Ce]=Ie,fe[Y][Ce]=Ie.option},this),Y==="series"&&ue(this,ae.get("series"))}this._seriesIndicesMap=T(this._seriesIndices=this._seriesIndices||[])},getOption:function(){var ge=S(this.option);return E(ge,function(fe,ae){if(F.hasClass(ae)){for(var fe=M.normalizeToArray(fe),U=fe.length-1;U>=0;U--)M.isIdInner(fe[U])&&fe.splice(U,1);ge[ae]=fe}}),delete ge[K],ge},getTheme:function(){return this._theme},getComponent:function(ge,fe){var ae=this._componentsMap.get(ge);if(ae)return ae[fe||0]},queryComponents:function(ge){var fe=ge.mainType;if(!fe)return[];var ae=ge.index,U=ge.id,W=ge.name,Y=this._componentsMap.get(fe);if(!Y||!Y.length)return[];var z;if(ae!=null)I(ae)||(ae=[ae]),z=x(y(ae,function(de){return Y[de]}),function(de){return!!de});else if(U!=null){var re=I(U);z=x(Y,function(de){return re&&v(U,de.id)>=0||!re&&de.id===U})}else if(W!=null){var se=I(W);z=x(Y,function(de){return se&&v(W,de.name)>=0||!se&&de.name===W})}else z=Y.slice();return Ae(z,ge)},findComponents:function(ge){var fe=ge.query,ae=ge.mainType,U=Y(fe),W=U?this.queryComponents(U):this._componentsMap.get(ae);return z(Ae(W,ge));function Y(re){var se=ae+"Index",de=ae+"Id",me=ae+"Name";return re&&(re[se]!=null||re[de]!=null||re[me]!=null)?{mainType:ae,index:re[se],id:re[de],name:re[me]}:null}function z(re){return ge.filter?x(re,ge.filter):re}},eachComponent:function(ge,fe,ae){var U=this._componentsMap;if(typeof ge=="function")ae=fe,fe=ge,U.each(function(Y,z){E(Y,function(re,se){fe.call(ae,z,re,se)})});else if(Q(ge))E(U.get(ge),fe,ae);else if(B(ge)){var W=this.findComponents(ge);E(W,fe,ae)}},getSeriesByName:function(ge){var fe=this._componentsMap.get("series");return x(fe,function(ae){return ae.name===ge})},getSeriesByIndex:function(ge){return this._componentsMap.get("series")[ge]},getSeriesByType:function(ge){var fe=this._componentsMap.get("series");return x(fe,function(ae){return ae.subType===ge})},getSeries:function(){return this._componentsMap.get("series").slice()},getSeriesCount:function(){return this._componentsMap.get("series").length},eachSeries:function(ge,fe){E(this._seriesIndices,function(ae){var U=this._componentsMap.get("series")[ae];ge.call(fe,U,ae)},this)},eachRawSeries:function(ge,fe){E(this._componentsMap.get("series"),ge,fe)},eachSeriesByType:function(ge,fe,ae){E(this._seriesIndices,function(U){var W=this._componentsMap.get("series")[U];W.subType===ge&&fe.call(ae,W,U)},this)},eachRawSeriesByType:function(ge,fe,ae){return E(this.getSeriesByType(ge),fe,ae)},isSeriesFiltered:function(ge){return this._seriesIndicesMap.get(ge.componentIndex)==null},getCurrentSeriesIndices:function(){return(this._seriesIndices||[]).slice()},filterSeries:function(ge,fe){var ae=x(this._componentsMap.get("series"),ge,fe);ue(this,ae)},restoreData:function(ge){var fe=this._componentsMap;ue(this,fe.get("series"));var ae=[];fe.each(function(U,W){ae.push(W)}),F.topologicalTravel(ae,F.getAllClassMainTypes(),function(U,W){E(fe.get(U),function(Y){(U!=="series"||!q(Y,ge))&&Y.restoreData()})})}});function q(ge,fe){if(fe){var ae=fe.seiresIndex,U=fe.seriesId,W=fe.seriesName;return ae!=null&&ge.componentIndex!==ae||U!=null&&ge.id!==U||W!=null&&ge.name!==W}}function ee(ge,fe){var ae=ge.color&&!ge.colorLayer;E(fe,function(U,W){W==="colorLayer"&&ae||F.hasClass(W)||(typeof U=="object"?ge[W]=ge[W]?D(ge[W],U,!1):S(U):ge[W]==null&&(ge[W]=U))})}function ie(ge){ge=ge,this.option={},this.option[K]=1,this._componentsMap=T({series:[]}),this._seriesIndices,this._seriesIndicesMap,ee(ge,this._theme.option),D(ge,k,!1),this.mergeOption(ge)}function H(ge,fe){I(fe)||(fe=fe?[fe]:[]);var ae={};return E(fe,function(U){ae[U]=(ge.get(U)||[]).slice()}),ae}function le(ge,fe,ae){var U=fe.type?fe.type:ae?ae.subType:F.determineSubType(ge,fe);return U}function ue(ge,fe){ge._seriesIndicesMap=T(ge._seriesIndices=y(fe,function(ae){return ae.componentIndex})||[])}function Ae(ge,fe){return fe.hasOwnProperty("subType")?x(ge,function(ae){return ae.subType===fe.subType}):ge}P(X,N);var he=X;A.exports=he}),OHe=wt((o,A)=>{var f=Bi(),m=["getDom","getZr","getWidth","getHeight","getDevicePixelRatio","dispatchAction","isDisposed","on","off","getDataURL","getConnectedDataURL","getModel","getOption","getViewOfComponentModel","getViewOfSeriesModel"];function C(x){f.each(m,function(y){this[y]=f.bind(x[y],x)},this)}var E=C;A.exports=E}),mw=wt((o,A)=>{var f=Bi(),m={};function C(){this._coordinateSystems=[]}C.prototype={constructor:C,create:function(x,y){var I=[];f.each(m,function(v,B){var Q=v.create(x,y);I=I.concat(Q||[])}),this._coordinateSystems=I},update:function(x,y){f.each(this._coordinateSystems,function(I){I.update&&I.update(x,y)})},getCoordinateSystems:function(){return this._coordinateSystems.slice()}},C.register=function(x,y){m[x]=y},C.get=function(x){return m[x]};var E=C;A.exports=E}),$0t=wt((o,A)=>{var f=Bi(),m=Bl(),C=C0(),E=f.each,x=f.clone,y=f.map,I=f.merge,v=/^(min|max)?(.+)$/;function B(P){this._api=P,this._timelineOptions=[],this._mediaList=[],this._mediaDefault,this._currentMediaIndices=[],this._optionBackup,this._newBaseOption}B.prototype={constructor:B,setOption:function(P,M){P&&f.each(m.normalizeToArray(P.series),function(k){k&&k.data&&f.isTypedArray(k.data)&&f.setAsPrimitive(k.data)}),P=x(P);var L=this._optionBackup,F=Q.call(this,P,M,!L);this._newBaseOption=F.baseOption,L?(D(L.baseOption,F.baseOption),F.timelineOptions.length&&(L.timelineOptions=F.timelineOptions),F.mediaList.length&&(L.mediaList=F.mediaList),F.mediaDefault&&(L.mediaDefault=F.mediaDefault)):this._optionBackup=F},mountOption:function(P){var M=this._optionBackup;return this._timelineOptions=y(M.timelineOptions,x),this._mediaList=y(M.mediaList,x),this._mediaDefault=x(M.mediaDefault),this._currentMediaIndices=[],x(P?M.baseOption:this._newBaseOption)},getTimelineOption:function(P){var M,L=this._timelineOptions;if(L.length){var F=P.getComponent("timeline");F&&(M=x(L[F.getCurrentIndex()],!0))}return M},getMediaOption:function(P){var M=this._api.getWidth(),L=this._api.getHeight(),F=this._mediaList,k=this._mediaDefault,N=[],G=[];if(!F.length&&!k)return G;for(var J=0,K=F.length;J=M:L==="max"?P<=M:P===M}function S(P,M){return P.join(",")===M.join(",")}function D(P,M){M=M||{},E(M,function(L,F){if(L!=null){var k=P[F];if(!C.hasClass(F))P[F]=I(k,L,!0);else{L=m.normalizeToArray(L),k=m.normalizeToArray(k);var N=m.mappingToExists(k,L);P[F]=y(N,function(G){return G.option&&G.exist?I(G.exist,G.option,!0):G.exist||G.option})}}})}var R=B;A.exports=R}),ept=wt((o,A)=>{var f=Bi(),m=Bl(),C=f.each,E=f.isObject,x=["areaStyle","lineStyle","nodeStyle","linkStyle","chordStyle","label","labelLine"];function y(R){var P=R&&R.itemStyle;if(P)for(var M=0,L=x.length;M{var f=Bi(),m=f.each,C=f.isArray,E=f.isObject,x=ept(),y=Bl(),I=y.normalizeToArray;function v(D,R){R=R.split(",");for(var P=D,M=0;M{var f=Bi(),m=f.createHashMap,C=f.each;function E(y){var I=m();y.eachSeries(function(v){var B=v.get("stack");if(B){var Q=I.get(B)||I.set(B,[]),T=v.getData(),w={stackResultDimension:T.getCalculationInfo("stackResultDimension"),stackedOverDimension:T.getCalculationInfo("stackedOverDimension"),stackedDimension:T.getCalculationInfo("stackedDimension"),stackedByDimension:T.getCalculationInfo("stackedByDimension"),isStackedByIndex:T.getCalculationInfo("isStackedByIndex"),data:T,seriesModel:v};if(!w.stackedDimension||!(w.isStackedByIndex||w.stackedByDimension))return;Q.length&&T.setCalculationInfo("stackedOnSeries",Q[Q.length-1].seriesModel),Q.push(w)}}),I.each(x)}function x(y){C(y,function(I,v){var B=[],Q=[NaN,NaN],T=[I.stackResultDimension,I.stackedOverDimension],w=I.data,S=I.isStackedByIndex,D=w.map(T,function(R,P,M){var L=w.get(I.stackedDimension,M);if(isNaN(L))return Q;var F,k;S?k=w.getRawIndex(M):F=w.get(I.stackedByDimension,M);for(var N=NaN,G=v-1;G>=0;G--){var J=y[G];if(S||(k=J.data.rawIndexOf(J.stackedByDimension,F)),k>=0){var K=J.data.getByRawIndex(J.stackResultDimension,k);if(L>=0&&K>0||L<=0&&K<0){L+=K,N=K;break}}}return B[0]=L,B[1]=N,B});w.hostModel.setData(D),I.data=D})}A.exports=E}),ZN=wt(o=>{var A=Bu(),f=A.__DEV__,m=Bi(),C=m.isTypedArray,E=m.extend,x=m.assert,y=m.each,I=m.isObject,v=Bl(),B=v.getDataItemValue,Q=v.isDataItemOption,T=ds(),w=T.parseDate,S=Iz(),D=yz(),R=D.SOURCE_FORMAT_TYPED_ARRAY,P=D.SOURCE_FORMAT_ARRAY_ROWS,M=D.SOURCE_FORMAT_ORIGINAL,L=D.SOURCE_FORMAT_OBJECT_ROWS;function F(Ae,he){S.isInstance(Ae)||(Ae=S.seriesDataToSource(Ae)),this._source=Ae;var ge=this._data=Ae.data,fe=Ae.sourceFormat;fe===R&&(this._offset=0,this._dimSize=he,this._data=ge);var ae=N[fe===P?fe+"_"+Ae.seriesLayoutBy:fe];E(this,ae)}var k=F.prototype;k.pure=!1,k.persistent=!0,k.getSource=function(){return this._source};var N={arrayRows_column:{pure:!0,count:function(){return Math.max(0,this._data.length-this._source.startIndex)},getItem:function(Ae){return this._data[Ae+this._source.startIndex]},appendData:K},arrayRows_row:{pure:!0,count:function(){var Ae=this._data[0];return Ae?Math.max(0,Ae.length-this._source.startIndex):0},getItem:function(Ae){Ae+=this._source.startIndex;for(var he=[],ge=this._data,fe=0;fe{var f=ZN(),m=f.retrieveRawValue,C=Tc(),E=C.getTooltipMarker,x=C.formatTpl,y=Bl(),I=y.getTooltipRenderMode,v=/\{@(.+?)\}/g,B={getDataParams:function(Q,T){var w=this.getData(T),S=this.getRawValue(Q,T),D=w.getRawIndex(Q),R=w.getName(Q),P=w.getRawDataItem(Q),M=w.getItemVisual(Q,"color"),L=w.getItemVisual(Q,"borderColor"),F=this.ecModel.getComponent("tooltip"),k=F&&F.get("renderMode"),N=I(k),G=this.mainType,J=G==="series",K=w.userOutput;return{componentType:G,componentSubType:this.subType,componentIndex:this.componentIndex,seriesType:J?this.subType:null,seriesIndex:this.seriesIndex,seriesId:J?this.id:null,seriesName:J?this.name:null,name:R,dataIndex:D,data:P,dataType:T,value:S,color:M,borderColor:L,dimensionNames:K?K.dimensionNames:null,encode:K?K.encode:null,marker:E({color:M,renderMode:N}),$vars:["seriesName","name","value"]}},getFormattedLabel:function(Q,T,w,S,D){T=T||"normal";var R=this.getData(w),P=R.getItemModel(Q),M=this.getDataParams(Q,w);S!=null&&M.value instanceof Array&&(M.value=M.value[S]);var L=P.get(T==="normal"?[D||"label","formatter"]:[T,D||"label","formatter"]);if(typeof L=="function")return M.status=T,M.dimensionIndex=S,L(M);if(typeof L=="string"){var F=x(L,M);return F.replace(v,function(k,N){var G=N.length;return N.charAt(0)==="["&&N.charAt(G-1)==="]"&&(N=+N.slice(1,G-1)),m(R,Q,N)})}},getRawValue:function(Q,T){return m(this.getData(T),Q)},formatTooltip:function(){}};A.exports=B}),h0e=wt(o=>{var A=Bi(),f=A.assert,m=A.isArray,C=Bu(),E=C.__DEV__;function x(T){return new y(T)}function y(T){T=T||{},this._reset=T.reset,this._plan=T.plan,this._count=T.count,this._onDirty=T.onDirty,this._dirty=!0,this.context}var I=y.prototype;I.perform=function(T){var w=this._upstream,S=T&&T.skip;if(this._dirty&&w){var D=this.context;D.data=D.outputData=w.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this);var R;this._plan&&!S&&(R=this._plan(this.context));var P=k(this._modBy),M=this._modDataCount||0,L=k(T&&T.modBy),F=T&&T.modDataCount||0;(P!==L||M!==F)&&(R="reset");function k(ie){return!(ie>=1)&&(ie=1),ie}var N;(this._dirty||R==="reset")&&(this._dirty=!1,N=Q(this,S)),this._modBy=L,this._modDataCount=F;var G=T&&T.step;if(w?this._dueEnd=w._outputDueEnd:this._dueEnd=this._count?this._count(this.context):1/0,this._progress){var J=this._dueIndex,K=Math.min(G!=null?this._dueIndex+G:1/0,this._dueEnd);if(!S&&(N||J1&&D>0?L:M}};return P;function M(){return w=T?null:F{var f=Bu(),m=f.__DEV__,C=Bi(),E=jf(),x=Tc(),y=x.formatTime,I=x.encodeHTML,v=x.addCommas,B=x.getTooltipMarker,Q=Bl(),T=C0(),w=NHe(),S=c0e(),D=pc(),R=D.getLayoutParams,P=D.mergeLayoutParam,M=h0e(),L=M.createTask,F=JD(),k=F.prepareSource,N=F.getSource,G=ZN(),J=G.retrieveRawValue,K=Q.makeInner(),X=T.extend({type:"series.__base__",seriesIndex:0,coordinateSystem:null,defaultOption:null,legendVisualProvider:null,visualColorAccessPath:"itemStyle.color",visualBorderColorAccessPath:"itemStyle.borderColor",layoutMode:null,init:function(fe,ae,U,W){this.seriesIndex=this.componentIndex,this.dataTask=L({count:ie,reset:H}),this.dataTask.context={model:this},this.mergeDefaultAndTheme(fe,U),k(this);var Y=this.getInitialData(fe,U);ue(Y,this),this.dataTask.context.data=Y,K(this).dataBeforeProcessed=Y,q(this)},mergeDefaultAndTheme:function(fe,ae){var U=this.layoutMode,W=U?R(fe):{},Y=this.subType;T.hasClass(Y)&&(Y+="Series"),C.merge(fe,ae.getTheme().get(this.subType)),C.merge(fe,this.getDefaultOption()),Q.defaultEmphasis(fe,"label",["show"]),this.fillDataTextStyle(fe.data),U&&P(fe,W,U)},mergeOption:function(fe,ae){fe=C.merge(this.option,fe,!0),this.fillDataTextStyle(fe.data);var U=this.layoutMode;U&&P(this.option,fe,U),k(this);var W=this.getInitialData(fe,ae);ue(W,this),this.dataTask.dirty(),this.dataTask.context.data=W,K(this).dataBeforeProcessed=W,q(this)},fillDataTextStyle:function(fe){if(fe&&!C.isTypedArray(fe))for(var ae=["show"],U=0;U":` `,re=W==="richText",se={},de=0;function me(ot){var Et=C.reduce(ot,function(Ze,ut,St){var gt=Ie.getDimensionInfo(St);return Ze|=gt&>.tooltip!==!1&>.displayName!=null},0),Ct=[];we.length?C.each(we,function(Ze){ct(J(Ie,fe,Ze),Ze)}):C.each(ot,ct);function ct(Ze,ut){var St=Ie.getDimensionInfo(ut);if(!(!St||St.otherDims.tooltip===!1)){var gt=St.type,xt="sub"+Y.seriesIndex+"at"+de,Lt=B({color:Oe,type:"subItem",renderMode:W,markerId:xt}),nt=typeof Lt=="string"?Lt:Lt.content,Pe=(Et?nt+I(St.displayName||"-")+": ":"")+I(gt==="ordinal"?Ze+"":gt==="time"?ae?"":y("yyyy/MM/dd hh:mm:ss",Ze):v(Ze));Pe&&Ct.push(Pe),re&&(se[xt]=Oe,++de)}}var yt=Et?re?` `:"
":"",Qt=yt+Ct.join(yt||", ");return{renderMode:W,content:Qt,style:se}}function Ce(ot){return{renderMode:W,content:I(v(ot)),style:se}}var Ie=this.getData(),we=Ie.mapDimension("defaultedTooltip",!0),Te=we.length,Ge=this.getRawValue(fe),ke=C.isArray(Ge),Oe=Ie.getItemVisual(fe,"color");C.isObject(Oe)&&Oe.colorStops&&(Oe=(Oe.colorStops[0]||{}).color),Oe=Oe||"transparent";var Le=Te>1||ke&&!Te?me(Ge):Ce(Te?J(Ie,fe,we[0]):ke?Ge[0]:Ge),be=Le.content,Ne=Y.seriesIndex+"at"+de,Ue=B({color:Oe,type:"item",renderMode:W,markerId:Ne});se[Ne]=Oe,++de;var ze=Ie.getName(fe),Je=this.name;Q.isNameSpecified(this)||(Je=""),Je=Je?I(Je)+(ae?": ":z):"";var Xe=typeof Ue=="string"?Ue:Ue.content,et=ae?Xe+Je+be:Je+Xe+(ze?I(ze)+": "+be:be);return{html:et,markers:se}},isAnimationEnabled:function(){if(E.node)return!1;var fe=this.getShallow("animation");return fe&&this.getData().count()>this.getShallow("animationThreshold")&&(fe=!1),fe},restoreData:function(){this.dataTask.dirty()},getColorFromPalette:function(fe,ae,U){var W=this.ecModel,Y=w.getColorFromPalette.call(this,fe,ae,U);return Y||(Y=W.getColorFromPalette(fe,ae,U)),Y},coordDimToDataDim:function(fe){return this.getRawData().mapDimension(fe,!0)},getProgressive:function(){return this.get("progressive")},getProgressiveThreshold:function(){return this.get("progressiveThreshold")},getAxisTooltipData:null,getTooltipPosition:null,pipeTask:null,preventIncremental:null,pipelineContext:null});C.mixin(X,S),C.mixin(X,w);function q(fe){var ae=fe.name;Q.isNameSpecified(fe)||(fe.name=ee(fe)||ae)}function ee(fe){var ae=fe.getRawData(),U=ae.mapDimension("seriesName",!0),W=[];return C.each(U,function(Y){var z=ae.getDimensionInfo(Y);z.displayName&&W.push(z.displayName)}),W.join(" ")}function ie(fe){return fe.model.getRawData().count()}function H(fe){var ae=fe.model;return ae.setData(ae.getRawData().cloneShallow()),le}function le(fe,ae){ae.outputData&&fe.end>ae.outputData.count()&&ae.model.getRawData().cloneShallow(ae.outputData)}function ue(fe,ae){C.each(fe.CHANGABLE_METHODS,function(U){fe.wrapMethod(U,C.curry(Ae,ae))})}function Ae(fe){var ae=he(fe);ae&&ae.setOutputEnd(this.count())}function he(fe){var ae=(fe.ecModel||{}).scheduler,U=ae&&ae.getPipeline(fe.uid);if(U){var W=U.currentTask;if(W){var Y=W.agentStubMap;Y&&(W=Y.get(fe.uid))}return W}}var ge=X;A.exports=ge}),ote=wt((o,A)=>{var f=qN(),m=xz(),C=YD(),E=function(){this.group=new f,this.uid=m.getUID("viewComponent")};E.prototype={constructor:E,init:function(I,v){},render:function(I,v,B,Q){},dispose:function(){},filterForExposedEvent:null};var x=E.prototype;x.updateView=x.updateLayout=x.updateVisual=function(I,v,B,Q){},C.enableClassExtend(E),C.enableClassManagement(E,{registerWhenExtend:!0});var y=E;A.exports=y}),J4=wt((o,A)=>{var f=Bl(),m=f.makeInner;function C(){var E=m();return function(x){var y=E(x),I=x.pipelineContext,v=y.large,B=y.progressiveRender,Q=y.large=I&&I.large,T=y.progressiveRender=I&&I.progressiveRender;return!!(v^Q||B^T)&&"reset"}}A.exports=C}),Jb=wt((o,A)=>{var f=Bi(),m=f.each,C=qN(),E=xz(),x=YD(),y=Bl(),I=To(),v=h0e(),B=v.createTask,Q=J4(),T=y.makeInner(),w=Q();function S(){this.group=new C,this.uid=E.getUID("viewChart"),this.renderTask=B({plan:M,reset:L}),this.renderTask.context={view:this}}S.prototype={type:"chart",init:function(N,G){},render:function(N,G,J,K){},highlight:function(N,G,J,K){P(N.getData(),K,"emphasis")},downplay:function(N,G,J,K){P(N.getData(),K,"normal")},remove:function(N,G){this.group.removeAll()},dispose:function(){},incrementalPrepareRender:null,incrementalRender:null,updateTransform:null,filterForExposedEvent:null};var D=S.prototype;D.updateView=D.updateLayout=D.updateVisual=function(N,G,J,K){this.render(N,G,J,K)};function R(N,G,J){if(N&&(N.trigger(G,J),N.isGroup&&!I.isHighDownDispatcher(N)))for(var K=0,X=N.childCount();K{var A="\0__throttleOriginMethod",f="\0__throttleRate",m="\0__throttleType";function C(y,I,v){var B,Q=0,T=0,w=null,S,D,R,P;I=I||0;function M(){T=new Date().getTime(),w=null,y.apply(D,R||[])}var L=function(){B=new Date().getTime(),D=this,R=arguments;var F=P||I,k=P||v;P=null,S=B-(k?Q:T)-F,clearTimeout(w),k?w=setTimeout(M,F):S>=0?M():w=setTimeout(M,-S),Q=B};return L.clear=function(){w&&(clearTimeout(w),w=null)},L.debounceNextCall=function(F){P=F},L}function E(y,I,v,B){var Q=y[I];if(Q){var T=Q[A]||Q,w=Q[m],S=Q[f];if(S!==v||w!==B){if(v==null||!B)return y[I]=T;Q=y[I]=C(T,v,B==="debounce"),Q[A]=T,Q[m]=B,Q[f]=v}return Q}}function x(y,I){var v=y[I];v&&v[A]&&(y[I]=v[A])}o.throttle=C,o.createOrUpdate=E,o.clear=x}),rpt=wt((o,A)=>{var f=nte(),m=Bi(),C=m.isFunction,E={createOnAllSeries:!0,performRawSeries:!0,reset:function(x,y){var I=x.getData(),v=(x.visualColorAccessPath||"itemStyle.color").split("."),B=x.get(v),Q=C(B)&&!(B instanceof f)?B:null;(!B||Q)&&(B=x.getColorFromPalette(x.name,null,y.getSeriesCount())),I.setVisual("color",B);var T=(x.visualBorderColorAccessPath||"itemStyle.borderColor").split("."),w=x.get(T);if(I.setVisual("borderColor",w),!y.isSeriesFiltered(x)){Q&&I.each(function(D){I.setItemVisual(D,"color",Q(x.getDataParams(D)))});var S=function(D,R){var P=D.getItemModel(R),M=P.get(v,!0),L=P.get(T,!0);M!=null&&D.setItemVisual(R,"color",M),L!=null&&D.setItemVisual(R,"borderColor",L)};return{dataEach:I.hasItemOption?S:null}}}};A.exports=E}),jP=wt((o,A)=>{var f={legend:{selector:{all:"\u5168\u9009",inverse:"\u53CD\u9009"}},toolbox:{brush:{title:{rect:"\u77E9\u5F62\u9009\u62E9",polygon:"\u5708\u9009",lineX:"\u6A2A\u5411\u9009\u62E9",lineY:"\u7EB5\u5411\u9009\u62E9",keep:"\u4FDD\u6301\u9009\u62E9",clear:"\u6E05\u9664\u9009\u62E9"}},dataView:{title:"\u6570\u636E\u89C6\u56FE",lang:["\u6570\u636E\u89C6\u56FE","\u5173\u95ED","\u5237\u65B0"]},dataZoom:{title:{zoom:"\u533A\u57DF\u7F29\u653E",back:"\u533A\u57DF\u7F29\u653E\u8FD8\u539F"}},magicType:{title:{line:"\u5207\u6362\u4E3A\u6298\u7EBF\u56FE",bar:"\u5207\u6362\u4E3A\u67F1\u72B6\u56FE",stack:"\u5207\u6362\u4E3A\u5806\u53E0",tiled:"\u5207\u6362\u4E3A\u5E73\u94FA"}},restore:{title:"\u8FD8\u539F"},saveAsImage:{title:"\u4FDD\u5B58\u4E3A\u56FE\u7247",lang:["\u53F3\u952E\u53E6\u5B58\u4E3A\u56FE\u7247"]}},series:{typeNames:{pie:"\u997C\u56FE",bar:"\u67F1\u72B6\u56FE",line:"\u6298\u7EBF\u56FE",scatter:"\u6563\u70B9\u56FE",effectScatter:"\u6D9F\u6F2A\u6563\u70B9\u56FE",radar:"\u96F7\u8FBE\u56FE",tree:"\u6811\u56FE",treemap:"\u77E9\u5F62\u6811\u56FE",boxplot:"\u7BB1\u578B\u56FE",candlestick:"K\u7EBF\u56FE",k:"K\u7EBF\u56FE",heatmap:"\u70ED\u529B\u56FE",map:"\u5730\u56FE",parallel:"\u5E73\u884C\u5750\u6807\u56FE",lines:"\u7EBF\u56FE",graph:"\u5173\u7CFB\u56FE",sankey:"\u6851\u57FA\u56FE",funnel:"\u6F0F\u6597\u56FE",gauge:"\u4EEA\u8868\u76D8\u56FE",pictorialBar:"\u8C61\u5F62\u67F1\u56FE",themeRiver:"\u4E3B\u9898\u6CB3\u6D41\u56FE",sunburst:"\u65ED\u65E5\u56FE"}},aria:{general:{withTitle:"\u8FD9\u662F\u4E00\u4E2A\u5173\u4E8E\u201C{title}\u201D\u7684\u56FE\u8868\u3002",withoutTitle:"\u8FD9\u662F\u4E00\u4E2A\u56FE\u8868\uFF0C"},series:{single:{prefix:"",withName:"\u56FE\u8868\u7C7B\u578B\u662F{seriesType}\uFF0C\u8868\u793A{seriesName}\u3002",withoutName:"\u56FE\u8868\u7C7B\u578B\u662F{seriesType}\u3002"},multiple:{prefix:"\u5B83\u7531{seriesCount}\u4E2A\u56FE\u8868\u7CFB\u5217\u7EC4\u6210\u3002",withName:"\u7B2C{seriesId}\u4E2A\u7CFB\u5217\u662F\u4E00\u4E2A\u8868\u793A{seriesName}\u7684{seriesType}\uFF0C",withoutName:"\u7B2C{seriesId}\u4E2A\u7CFB\u5217\u662F\u4E00\u4E2A{seriesType}\uFF0C",separator:{middle:"\uFF1B",end:"\u3002"}}},data:{allData:"\u5176\u6570\u636E\u662F\u2014\u2014",partialData:"\u5176\u4E2D\uFF0C\u524D{displayCnt}\u9879\u662F\u2014\u2014",withName:"{name}\u7684\u6570\u636E\u662F{value}",withoutName:"{value}",separator:{middle:"\uFF0C",end:""}}}};A.exports=f}),npt=wt((o,A)=>{var f=Bi(),m=jP(),C=ZN(),E=C.retrieveRawValue;function x(y,I){var v=I.getModel("aria");if(v.get("show")){if(v.get("description")){y.setAttribute("aria-label",v.get("description"));return}}else return;var B=0;I.eachSeries(function(N,G){++B},this);var Q=v.get("data.maxCount")||10,T=v.get("series.maxCount")||10,w=Math.min(B,T),S;if(B<1)return;var D=F();D?S=M(L("general.withTitle"),{title:D}):S=L("general.withoutTitle");var R=[],P=B>1?"series.multiple.prefix":"series.single.prefix";S+=M(L(P),{seriesCount:B}),I.eachSeries(function(N,G){if(G1?"multiple":"single")+".";J=L(K?X+"withName":X+"withoutName"),J=M(J,{seriesId:N.seriesIndex,seriesName:N.get("name"),seriesType:k(N.subType)});var q=N.getData();window.data=q,q.count()>Q?J+=M(L("data.partialData"),{displayCnt:Q}):J+=L("data.allData");for(var ee=[],ie=0;ie{var f=Bi(),m=To(),C=yI(),E=Math.PI;function x(y,I){I=I||{},f.defaults(I,{text:"loading",textColor:"#000",fontSize:"12px",maskColor:"rgba(255, 255, 255, 0.8)",showSpinner:!0,color:"#c23531",spinnerRadius:10,lineWidth:5,zlevel:0});var v=new m.Group,B=new m.Rect({style:{fill:I.maskColor},zlevel:I.zlevel,z:1e4});v.add(B);var Q=I.fontSize+" sans-serif",T=new m.Rect({style:{fill:"none",text:I.text,font:Q,textPosition:"right",textDistance:10,textFill:I.textColor},zlevel:I.zlevel,z:10001});if(v.add(T),I.showSpinner){var w=new m.Arc({shape:{startAngle:-E/2,endAngle:-E/2+.1,r:I.spinnerRadius},style:{stroke:I.color,lineCap:"round",lineWidth:I.lineWidth},zlevel:I.zlevel,z:10001});w.animateShape(!0).when(1e3,{endAngle:E*3/2}).start("circularInOut"),w.animateShape(!0).when(1e3,{startAngle:E*3/2}).delay(300).start("circularInOut"),v.add(w)}return v.resize=function(){var S=C.getWidth(I.text,Q),D=I.showSpinner?I.spinnerRadius:0,R=(y.getWidth()-D*2-(I.showSpinner&&S?10:0)-S)/2-(I.showSpinner?0:S/2),P=y.getHeight()/2;I.showSpinner&&w.setShape({cx:R,cy:P}),T.setShape({x:R-D,y:P-D,width:D*2,height:D*2}),B.setShape({x:0,y:0,width:y.getWidth(),height:y.getHeight()})},v.resize(),v}A.exports=x}),apt=wt((o,A)=>{var f=Bi(),m=f.each,C=f.map,E=f.isFunction,x=f.createHashMap,y=f.noop,I=h0e(),v=I.createTask,B=xz(),Q=B.getUID,T=kHe(),w=OHe(),S=Bl(),D=S.normalizeToArray;function R(U,W,re,se){this.ecInstance=U,this.api=W,this.unfinished;var re=this._dataProcessorHandlers=re.slice(),se=this._visualHandlers=se.slice();this._allHandlers=re.concat(se),this._stageTaskMap=x()}var P=R.prototype;P.restoreData=function(U,W){U.restoreData(W),this._stageTaskMap.each(function(Y){var z=Y.overallTask;z&&z.dirty()})},P.getPerformArgs=function(U,W){if(U.__pipeline){var Y=this._pipelineMap.get(U.__pipeline.id),z=Y.context,re=!W&&Y.progressiveEnabled&&(!z||z.progressiveRender)&&U.__idxInPipeline>Y.blockIndex,se=re?Y.step:null,de=z&&z.modDataCount,me=de!=null?Math.ceil(de/se):null;return{step:se,modBy:me,modDataCount:de}}},P.getPipeline=function(U){return this._pipelineMap.get(U)},P.updateStreamModes=function(U,W){var Y=this._pipelineMap.get(U.uid),z=U.getData(),re=z.count(),se=Y.progressiveEnabled&&W.incrementalPrepareRender&&re>=Y.threshold,de=U.get("large")&&re>=U.get("largeThreshold"),me=U.get("progressiveChunkMode")==="mod"?re:null;U.pipelineContext=Y.context={progressiveRender:se,modDataCount:me,large:de}},P.restorePipelines=function(U){var W=this,Y=W._pipelineMap=x();U.eachSeries(function(z){var re=z.getProgressive(),se=z.uid;Y.set(se,{id:se,head:null,tail:null,threshold:z.getProgressiveThreshold(),progressiveEnabled:re&&!(z.preventIncremental&&z.preventIncremental()),blockIndex:-1,step:Math.round(re||700),count:0}),le(W,z,z.dataTask)})},P.prepareStageTasks=function(){var U=this._stageTaskMap,W=this.ecInstance.getModel(),Y=this.api;m(this._allHandlers,function(z){var re=U.get(z.uid)||U.set(z.uid,[]);z.reset&&F(this,z,re,W,Y),z.overallReset&&k(this,z,re,W,Y)},this)},P.prepareView=function(U,W,Y,z){var re=U.renderTask,se=re.context;se.model=W,se.ecModel=Y,se.api=z,re.__block=!U.incrementalPrepareRender,le(this,W,re)},P.performDataProcessorTasks=function(U,W){M(this,this._dataProcessorHandlers,U,W,{block:!0})},P.performVisualTasks=function(U,W,Y){M(this,this._visualHandlers,U,W,Y)};function M(U,W,Y,z,re){re=re||{};var se;m(W,function(me,Ce){if(!(re.visualType&&re.visualType!==me.visualType)){var Ie=U._stageTaskMap.get(me.uid),we=Ie.seriesTaskMap,Te=Ie.overallTask;if(Te){var Ge,ke=Te.agentStubMap;ke.each(function(Le){de(re,Le)&&(Le.dirty(),Ge=!0)}),Ge&&Te.dirty(),L(Te,z);var Oe=U.getPerformArgs(Te,re.block);ke.each(function(Le){Le.perform(Oe)}),se|=Te.perform(Oe)}else we&&we.each(function(Le,be){de(re,Le)&&Le.dirty();var Ne=U.getPerformArgs(Le,re.block);Ne.skip=!me.performRawSeries&&Y.isSeriesFiltered(Le.context.model),L(Le,z),se|=Le.perform(Ne)})}});function de(me,Ce){return me.setDirty&&(!me.dirtyMap||me.dirtyMap.get(Ce.__pipeline.id))}U.unfinished|=se}P.performSeriesTasks=function(U){var W;U.eachSeries(function(Y){W|=Y.dataTask.perform()}),this.unfinished|=W},P.plan=function(){this._pipelineMap.each(function(U){var W=U.tail;do{if(W.__block){U.blockIndex=W.__idxInPipeline;break}W=W.getUpstream()}while(W)})};var L=P.updatePayload=function(U,W){W!=="remain"&&(U.context.payload=W)};function F(U,W,Y,z,re){var se=Y.seriesTaskMap||(Y.seriesTaskMap=x()),de=W.seriesType,me=W.getTargetSeries;W.createOnAllSeries?z.eachRawSeries(Ce):de?z.eachRawSeriesByType(de,Ce):me&&me(z,re).each(Ce);function Ce(we){var Te=we.uid,Ge=se.get(Te)||se.set(Te,v({plan:X,reset:q,count:H}));Ge.context={model:we,ecModel:z,api:re,useClearVisual:W.isVisual&&!W.isLayout,plan:W.plan,reset:W.reset,scheduler:U},le(U,we,Ge)}var Ie=U._pipelineMap;se.each(function(we,Te){Ie.get(Te)||(we.dispose(),se.removeKey(Te))})}function k(U,W,Y,z,re){var se=Y.overallTask=Y.overallTask||v({reset:N});se.context={ecModel:z,api:re,overallReset:W.overallReset,scheduler:U};var de=se.agentStubMap=se.agentStubMap||x(),me=W.seriesType,Ce=W.getTargetSeries,Ie=!0,we=W.modifyOutputEnd;me?z.eachRawSeriesByType(me,Te):Ce?Ce(z,re).each(Te):(Ie=!1,m(z.getSeries(),Te));function Te(ke){var Oe=ke.uid,Le=de.get(Oe);Le||(Le=de.set(Oe,v({reset:G,onDirty:K})),se.dirty()),Le.context={model:ke,overallProgress:Ie,modifyOutputEnd:we},Le.agent=se,Le.__block=Ie,le(U,ke,Le)}var Ge=U._pipelineMap;de.each(function(ke,Oe){Ge.get(Oe)||(ke.dispose(),se.dirty(),de.removeKey(Oe))})}function N(U){U.overallReset(U.ecModel,U.api,U.payload)}function G(U,W){return U.overallProgress&&J}function J(){this.agent.dirty(),this.getDownstream().dirty()}function K(){this.agent&&this.agent.dirty()}function X(U){return U.plan&&U.plan(U.model,U.ecModel,U.api,U.payload)}function q(U){U.useClearVisual&&U.data.clearAllVisual();var W=U.resetDefines=D(U.reset(U.model,U.ecModel,U.api,U.payload));return W.length>1?C(W,function(Y,z){return ie(z)}):ee}var ee=ie(0);function ie(U){return function(W,Y){var z=Y.data,re=Y.resetDefines[U];if(re&&re.dataEach)for(var se=W.start;se{var f=["#37A2DA","#32C5E9","#67E0E3","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#E062AE","#E690D1","#e7bcf3","#9d96f5","#8378EA","#96BFFF"],m={color:f,colorLayer:[["#37A2DA","#ffd85c","#fd7b5f"],["#37A2DA","#67E0E3","#FFDB5C","#ff9f7f","#E062AE","#9d96f5"],["#37A2DA","#32C5E9","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#e7bcf3","#8378EA","#96BFFF"],f]};A.exports=m}),lpt=wt((o,A)=>{var f="#eee",m=function(){return{axisLine:{lineStyle:{color:f}},axisTick:{lineStyle:{color:f}},axisLabel:{textStyle:{color:f}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:f}}}},C=["#dd6b66","#759aa0","#e69d87","#8dc1a9","#ea7e53","#eedd78","#73a373","#73b9bc","#7289ab","#91ca8c","#f49f42"],E={color:C,backgroundColor:"#333",tooltip:{axisPointer:{lineStyle:{color:f},crossStyle:{color:f},label:{color:"#000"}}},legend:{textStyle:{color:f}},textStyle:{color:f},title:{textStyle:{color:f}},toolbox:{iconStyle:{normal:{borderColor:f}}},dataZoom:{textStyle:{color:f}},visualMap:{textStyle:{color:f}},timeline:{lineStyle:{color:f},itemStyle:{normal:{color:C[1]}},label:{normal:{textStyle:{color:f}}},controlStyle:{normal:{color:f,borderColor:f}}},timeAxis:m(),logAxis:m(),valueAxis:m(),categoryAxis:m(),line:{symbol:"circle"},graph:{color:C},gauge:{title:{textStyle:{color:f}}},candlestick:{itemStyle:{normal:{color:"#FD1050",color0:"#0CF49B",borderColor:"#FD1050",borderColor0:"#0CF49B"}}}};E.categoryAxis.splitLine.show=!1;var x=E;A.exports=x}),UHe=wt(()=>{var o=C0(),A=ote(),f=JD(),m=f.detectSourceFormat,C=yz(),E=C.SERIES_LAYOUT_BY_COLUMN;o.extend({type:"dataset",defaultOption:{seriesLayoutBy:E,sourceHeader:null,dimensions:null,source:null},optionUpdated:function(){m(this)}}),A.extend({type:"dataset"})}),upt=wt((o,A)=>{var f=If(),m=f.extend({type:"ellipse",shape:{cx:0,cy:0,rx:0,ry:0},buildPath:function(C,E){var x=.5522848,y=E.cx,I=E.cy,v=E.rx,B=E.ry,Q=v*x,T=B*x;C.moveTo(y-v,I),C.bezierCurveTo(y-v,I-T,y-Q,I-B,y,I-B),C.bezierCurveTo(y+Q,I-B,y+v,I-T,y+v,I),C.bezierCurveTo(y+v,I+T,y+Q,I+B,y,I+B),C.bezierCurveTo(y-Q,I+B,y-v,I+T,y-v,I),C.closePath()}});A.exports=m}),GHe=wt(o=>{var A=qN(),f=V4(),m=XN(),C=THe(),E=l0e(),x=upt(),y=FHe(),I=If(),v=RHe(),B=LHe(),Q=u0e(),T=o0e(),w=xE(),S=DHe(),D=S.createFromString,R=Bi(),P=R.isString,M=R.extend,L=R.defaults,F=R.trim,k=R.each,N=/[\s,]+/;function G(Y){if(P(Y)){var z=new DOMParser;Y=z.parseFromString(Y,"text/xml")}for(Y.nodeType===9&&(Y=Y.firstChild);Y.nodeName.toLowerCase()!=="svg"||Y.nodeType!==1;)Y=Y.nextSibling;return Y}function J(){this._defs={},this._root=null,this._isDefine=!1,this._isText=!1}J.prototype.parse=function(Y,z){z=z||{};var re=G(Y);if(!re)throw new Error("Illegal svg");var se=new A;this._root=se;var de=re.getAttribute("viewBox")||"",me=parseFloat(re.getAttribute("width")||z.width),Ce=parseFloat(re.getAttribute("height")||z.height);isNaN(me)&&(me=null),isNaN(Ce)&&(Ce=null),le(re,se,null,!0);for(var Ie=re.firstChild;Ie;)this._parseNode(Ie,se),Ie=Ie.nextSibling;var we,Te;if(de){var Ge=F(de).split(N);Ge.length>=4&&(we={x:parseFloat(Ge[0]||0),y:parseFloat(Ge[1]||0),width:parseFloat(Ge[2]),height:parseFloat(Ge[3])})}if(we&&me!=null&&Ce!=null&&(Te=U(we,me,Ce),!z.ignoreViewBox)){var ke=se;se=new A,se.add(ke),ke.scale=Te.scale.slice(),ke.position=Te.position.slice()}return!z.ignoreRootClip&&me!=null&&Ce!=null&&se.setClipPath(new E({shape:{x:0,y:0,width:me,height:Ce}})),{root:se,width:me,height:Ce,viewBoxRect:we,viewBoxTransform:Te}},J.prototype._parseNode=function(Y,z){var re=Y.nodeName.toLowerCase();re==="defs"?this._isDefine=!0:re==="text"&&(this._isText=!0);var se;if(this._isDefine){var de=X[re];if(de){var me=de.call(this,Y),Ce=Y.getAttribute("id");Ce&&(this._defs[Ce]=me)}}else{var de=K[re];de&&(se=de.call(this,Y,z),z.add(se))}for(var Ie=Y.firstChild;Ie;)Ie.nodeType===1&&this._parseNode(Ie,se),Ie.nodeType===3&&this._isText&&this._parseText(Ie,se),Ie=Ie.nextSibling;re==="defs"?this._isDefine=!1:re==="text"&&(this._isText=!1)},J.prototype._parseText=function(Y,z){if(Y.nodeType===1){var re=Y.getAttribute("dx")||0,se=Y.getAttribute("dy")||0;this._textX+=parseFloat(re),this._textY+=parseFloat(se)}var de=new m({style:{text:Y.textContent,transformText:!0},position:[this._textX||0,this._textY||0]});ee(z,de),le(Y,de,this._defs);var me=de.style.fontSize;me&&me<9&&(de.style.fontSize=9,de.scale=de.scale||[1,1],de.scale[0]*=me/9,de.scale[1]*=me/9);var Ce=de.getBoundingRect();return this._textX+=Ce.width,z.add(de),de};var K={g:function(Y,z){var re=new A;return ee(z,re),le(Y,re,this._defs),re},rect:function(Y,z){var re=new E;return ee(z,re),le(Y,re,this._defs),re.setShape({x:parseFloat(Y.getAttribute("x")||0),y:parseFloat(Y.getAttribute("y")||0),width:parseFloat(Y.getAttribute("width")||0),height:parseFloat(Y.getAttribute("height")||0)}),re},circle:function(Y,z){var re=new C;return ee(z,re),le(Y,re,this._defs),re.setShape({cx:parseFloat(Y.getAttribute("cx")||0),cy:parseFloat(Y.getAttribute("cy")||0),r:parseFloat(Y.getAttribute("r")||0)}),re},line:function(Y,z){var re=new y;return ee(z,re),le(Y,re,this._defs),re.setShape({x1:parseFloat(Y.getAttribute("x1")||0),y1:parseFloat(Y.getAttribute("y1")||0),x2:parseFloat(Y.getAttribute("x2")||0),y2:parseFloat(Y.getAttribute("y2")||0)}),re},ellipse:function(Y,z){var re=new x;return ee(z,re),le(Y,re,this._defs),re.setShape({cx:parseFloat(Y.getAttribute("cx")||0),cy:parseFloat(Y.getAttribute("cy")||0),rx:parseFloat(Y.getAttribute("rx")||0),ry:parseFloat(Y.getAttribute("ry")||0)}),re},polygon:function(Y,z){var re=Y.getAttribute("points");re&&(re=ie(re));var se=new v({shape:{points:re||[]}});return ee(z,se),le(Y,se,this._defs),se},polyline:function(Y,z){var re=new I;ee(z,re),le(Y,re,this._defs);var se=Y.getAttribute("points");se&&(se=ie(se));var de=new B({shape:{points:se||[]}});return de},image:function(Y,z){var re=new f;return ee(z,re),le(Y,re,this._defs),re.setStyle({image:Y.getAttribute("xlink:href"),x:Y.getAttribute("x"),y:Y.getAttribute("y"),width:Y.getAttribute("width"),height:Y.getAttribute("height")}),re},text:function(Y,z){var re=Y.getAttribute("x")||0,se=Y.getAttribute("y")||0,de=Y.getAttribute("dx")||0,me=Y.getAttribute("dy")||0;this._textX=parseFloat(re)+parseFloat(de),this._textY=parseFloat(se)+parseFloat(me);var Ce=new A;return ee(z,Ce),le(Y,Ce,this._defs),Ce},tspan:function(Y,z){var re=Y.getAttribute("x"),se=Y.getAttribute("y");re!=null&&(this._textX=parseFloat(re)),se!=null&&(this._textY=parseFloat(se));var de=Y.getAttribute("dx")||0,me=Y.getAttribute("dy")||0,Ce=new A;return ee(z,Ce),le(Y,Ce,this._defs),this._textX+=de,this._textY+=me,Ce},path:function(Y,z){var re=Y.getAttribute("d")||"",se=D(re);return ee(z,se),le(Y,se,this._defs),se}},X={lineargradient:function(Y){var z=parseInt(Y.getAttribute("x1")||0,10),re=parseInt(Y.getAttribute("y1")||0,10),se=parseInt(Y.getAttribute("x2")||10,10),de=parseInt(Y.getAttribute("y2")||0,10),me=new Q(z,re,se,de);return q(Y,me),me},radialgradient:function(Y){}};function q(Y,z){for(var re=Y.firstChild;re;){if(re.nodeType===1){var se=re.getAttribute("offset");se.indexOf("%")>0?se=parseInt(se,10)/100:se?se=parseFloat(se):se=0;var de=re.getAttribute("stop-color")||"#000000";z.addColorStop(se,de)}re=re.nextSibling}}function ee(Y,z){Y&&Y.__inheritedStyle&&(z.__inheritedStyle||(z.__inheritedStyle={}),L(z.__inheritedStyle,Y.__inheritedStyle))}function ie(Y){for(var z=F(Y).split(N),re=[],se=0;se0;me-=2){var Ce=de[me],Ie=de[me-1];switch(se=se||w.create(),Ie){case"translate":Ce=F(Ce).split(N),w.translate(se,se,[parseFloat(Ce[0]),parseFloat(Ce[1]||0)]);break;case"scale":Ce=F(Ce).split(N),w.scale(se,se,[parseFloat(Ce[0]),parseFloat(Ce[1]||Ce[0])]);break;case"rotate":Ce=F(Ce).split(N),w.rotate(se,se,parseFloat(Ce[0]));break;case"skew":Ce=F(Ce).split(N),console.warn("Skew transform is not supported yet");break;case"matrix":var Ce=F(Ce).split(N);se[0]=parseFloat(Ce[0]),se[1]=parseFloat(Ce[1]),se[2]=parseFloat(Ce[2]),se[3]=parseFloat(Ce[3]),se[4]=parseFloat(Ce[4]),se[5]=parseFloat(Ce[5]);break}}z.setLocalTransform(se)}}var fe=/([^\s:;]+)\s*:\s*([^:;]+)/g;function ae(Y){var z=Y.getAttribute("style"),re={};if(!z)return re;var se={};fe.lastIndex=0;for(var de;(de=fe.exec(z))!=null;)se[de[1]]=de[2];for(var me in H)H.hasOwnProperty(me)&&se[me]!=null&&(re[H[me]]=se[me]);return re}function U(Y,z,re){var se=z/Y.width,de=re/Y.height,me=Math.min(se,de),Ce=[me,me],Ie=[-(Y.x+Y.width/2)*me+z/2,-(Y.y+Y.height/2)*me+re/2];return{scale:Ce,position:Ie}}function W(Y,z){var re=new J;return re.parse(Y,z)}o.parseXML=G,o.makeViewBoxTransform=U,o.parseSVG=W}),d0e=wt((o,A)=>{var f=Bu(),m=f.__DEV__,C=Bi(),E=C.createHashMap,x=C.isString,y=C.isArray,I=C.each,v=C.assert,B=GHe(),Q=B.parseXML,T=E(),w={registerMap:function(D,R,P){var M;return y(R)?M=R:R.svg?M=[{type:"svg",source:R.svg,specialAreas:R.specialAreas}]:(R.geoJson&&!R.features&&(P=R.specialAreas,R=R.geoJson),M=[{type:"geoJSON",source:R,specialAreas:P}]),I(M,function(L){var F=L.type;F==="geoJson"&&(F=L.type="geoJSON");var k=S[F];k(L)}),T.set(D,M)},retrieveMap:function(D){return T.get(D)}},S={geoJSON:function(D){var R=D.source;D.geoJSON=x(R)?typeof JSON<"u"&&JSON.parse?JSON.parse(R):new Function("return ("+R+");")():R},svg:function(D){D.svgXML=Q(D.source)}};A.exports=w}),$N=wt((o,A)=>{function f(x){return x}function m(x,y,I,v,B){this._old=x,this._new=y,this._oldKeyGetter=I||f,this._newKeyGetter=v||f,this.context=B}m.prototype={constructor:m,add:function(x){return this._add=x,this},update:function(x){return this._update=x,this},remove:function(x){return this._remove=x,this},execute:function(){var x=this._old,y=this._new,I={},v={},B=[],Q=[],T;for(C(x,I,B,"_oldKeyGetter",this),C(y,v,Q,"_newKeyGetter",this),T=0;T{var A=Bi(),f=A.each,m=A.createHashMap,C=A.assert,E=Bu(),x=E.__DEV__,y=m(["tooltip","label","itemName","itemId","seriesName"]);function I(T){var w={},S=w.encode={},D=m(),R=[],P=[],M=w.userOutput={dimensionNames:T.dimensions.slice(),encode:{}};f(T.dimensions,function(G){var J=T.getDimensionInfo(G),K=J.coordDim;if(K){var X=J.coordDimIndex;v(S,K)[X]=G,J.isExtraCoord||(D.set(K,1),Q(J.type)&&(R[0]=G),v(M.encode,K)[X]=J.index),J.defaultTooltip&&P.push(G)}y.each(function(q,ee){var ie=v(S,ee),H=J.otherDims[ee];H!=null&&H!==!1&&(ie[H]=J.name)})});var L=[],F={};D.each(function(G,J){var K=S[J];F[J]=K[0],L=L.concat(K)}),w.dataDimsOnCoord=L,w.encodeFirstDimNotExtra=F;var k=S.label;k&&k.length&&(R=k.slice());var N=S.tooltip;return N&&N.length?P=N.slice():P.length||(P=R.slice()),S.defaultedLabel=R,S.defaultedTooltip=P,w}function v(T,w){return T.hasOwnProperty(w)||(T[w]=[]),T[w]}function B(T){return T==="category"?"ordinal":T==="time"?"time":"float"}function Q(T){return!(T==="ordinal"||T==="time")}o.OTHER_DIMENSIONS=y,o.summarizeDimensions=I,o.getDimensionTypeByAxis=B}),HHe=wt((o,A)=>{var f=Bi();function m(E){E!=null&&f.extend(this,E),this.otherDims={}}var C=m;A.exports=C}),sv=wt((o,A)=>{var f=Bu(),m=f.__DEV__,C=Bi(),E=qf(),x=$N(),y=Iz(),I=ZN(),v=I.defaultDimValueGetters,B=I.DefaultDataProvider,Q=_z(),T=Q.summarizeDimensions,w=HHe(),S=C.isObject,D="undefined",R=-1,P="e\0\0",M={float:typeof Float64Array===D?Array:Float64Array,int:typeof Int32Array===D?Array:Int32Array,ordinal:Array,number:Array,time:Array},L=typeof Uint32Array===D?Array:Uint32Array,F=typeof Int32Array===D?Array:Int32Array,k=typeof Uint16Array===D?Array:Uint16Array;function N(z){return z._rawCount>65535?L:k}function G(z){var re=z.constructor;return re===Array?z.slice():new re(z)}var J=["hasItemOption","_nameList","_idList","_invertedIndicesMap","_rawData","_chunkSize","_chunkCount","_dimValueGetter","_count","_rawCount","_nameDimIdx","_idDimIdx"],K=["_extent","_approximateExtent","_rawExtent"];function X(z,re){C.each(J.concat(re.__wrappedMethods||[]),function(se){re.hasOwnProperty(se)&&(z[se]=re[se])}),z.__wrappedMethods=re.__wrappedMethods,C.each(K,function(se){z[se]=C.clone(re[se])}),z._calculationInfo=C.extend(re._calculationInfo)}var q=function(z,re){z=z||["x","y"];for(var se={},de=[],me={},Ce=0;Ceet[1]&&(et[1]=Xe)}re&&(this._nameList[be]=re[Ne])}this._rawCount=this._count=Te,this._extent={},H(this)},ee._initDataFromProvider=function(z,re){if(!(z>=re)){for(var se=this._chunkSize,de=this._rawData,me=this._storage,Ce=this.dimensions,Ie=Ce.length,we=this._dimensionInfos,Te=this._nameList,Ge=this._idList,ke=this._rawExtent,Oe=this._nameRepeatCount={},Le,be=this._chunkCount,Ne=0;Neyt[1]&&(yt[1]=ct)}if(!de.pure){var Qt=Te[Xe];if(Je&&Qt==null){if(Je.name!=null)Te[Xe]=Qt=Je.name;else if(Le!=null){var Ze=Ce[Le],ut=me[Ze][et];if(ut){Qt=ut[ot];var St=we[Ze].ordinalMeta;St&&St.categories.length&&(Qt=St.categories[Qt])}}}var gt=Je==null?null:Je.id;gt==null&&Qt!=null&&(Oe[Qt]=Oe[Qt]||0,gt=Qt,Oe[Qt]>0&&(gt+="__ec__"+Oe[Qt]),Oe[Qt]++),gt!=null&&(Ge[Xe]=gt)}}!de.persistent&&de.clean&&de.clean(),this._rawCount=this._count=re,this._extent={},H(this)}};function ie(z,re,se,de,me){var Ce=M[re.type],Ie=de-1,we=re.name,Te=z[we][Ie];if(Te&&Te.length=0&&re=0&&rewe&&(we=Ge)}return Ce=[Ie,we],this._extent[z]=Ce,Ce},ee.getApproximateExtent=function(z){return z=this.getDimension(z),this._approximateExtent[z]||this.getDataExtent(z)},ee.setApproximateExtent=function(z,re){re=this.getDimension(re),this._approximateExtent[re]=z.slice()},ee.getCalculationInfo=function(z){return this._calculationInfo[z]},ee.setCalculationInfo=function(z,re){S(z)?C.extend(this._calculationInfo,z):this._calculationInfo[z]=re},ee.getSum=function(z){var re=this._storage[z],se=0;if(re)for(var de=0,me=this.count();de=this._rawCount||z<0)return-1;if(!this._indices)return z;var re=this._indices,se=re[z];if(se!=null&&sez)me=Ce-1;else return Ce}return-1},ee.indicesOfNearest=function(z,re,se){var de=this._storage,me=de[z],Ce=[];if(!me)return Ce;se==null&&(se=1/0);for(var Ie=1/0,we=-1,Te=0,Ge=0,ke=this.count();Ge=0&&we<0)&&(Ie=Le,we=Oe,Te=0),Oe===we&&(Ce[Te++]=Ge))}return Ce.length=Te,Ce},ee.getRawIndex=ue;function ue(z){return z}function Ae(z){return z=0?this._indices[z]:-1}ee.getRawDataItem=function(z){if(this._rawData.persistent)return this._rawData.getItem(this.getRawIndex(z));for(var re=[],se=0;se=Ge&&Xe<=ke||isNaN(Xe))&&(Ie[we++]=Le),Le++}Oe=!0}else if(de===2){for(var be=this._storage[Te],et=this._storage[re[1]],ot=z[re[1]][0],Et=z[re[1]][1],Ne=0;Ne=Ge&&Xe<=ke||isNaN(Xe))&&(ct>=ot&&ct<=Et||isNaN(ct))&&(Ie[we++]=Le),Le++}Oe=!0}}if(!Oe)if(de===1)for(var Je=0;Je=Ge&&Xe<=ke||isNaN(Xe))&&(Ie[we++]=yt)}else for(var Je=0;Jez[Ze][1])&&(Qt=!1)}Qt&&(Ie[we++]=this.getRawIndex(Je))}return we=0?(me[we]=ae(Ce[we]),de._rawExtent[we]=U(),de._extent[we]=null):me[we]=Ce[we])}return de}function ae(z){for(var re=new Array(z.length),se=0;seEt[1]&&(Et[1]=ot)}}}return me},ee.downSample=function(z,re,se,de){for(var me=fe(this,[z]),Ce=me._storage,Ie=[],we=Math.floor(1/re),Te=Ce[z],Ge=this.count(),ke=this._chunkSize,Oe=me._rawExtent[z],Le=new(N(this))(Ge),be=0,Ne=0;NeGe-Ne&&(we=Ge-Ne,Ie.length=we);for(var Ue=0;UeOe[1]&&(Oe[1]=et),Le[be++]=ot}return me._count=be,me._indices=Le,me.getRawIndex=Ae,me},ee.getItemModel=function(z){var re=this.hostModel;return new E(this.getRawDataItem(z),re,re&&re.ecModel)},ee.diff=function(z){var re=this;return new x(z?z.getIndices():[],this.getIndices(),function(se){return he(z,se)},function(se){return he(re,se)})},ee.getVisual=function(z){var re=this._visual;return re&&re[z]},ee.setVisual=function(z,re){if(S(z)){for(var se in z)z.hasOwnProperty(se)&&this.setVisual(se,z[se]);return}this._visual=this._visual||{},this._visual[z]=re},ee.setLayout=function(z,re){if(S(z)){for(var se in z)z.hasOwnProperty(se)&&this.setLayout(se,z[se]);return}this._layout[z]=re},ee.getLayout=function(z){return this._layout[z]},ee.getItemLayout=function(z){return this._itemLayouts[z]},ee.setItemLayout=function(z,re,se){this._itemLayouts[z]=se?C.extend(this._itemLayouts[z]||{},re):re},ee.clearItemLayouts=function(){this._itemLayouts.length=0},ee.getItemVisual=function(z,re,se){var de=this._itemVisuals[z],me=de&&de[re];return me==null&&!se?this.getVisual(re):me},ee.setItemVisual=function(z,re,se){var de=this._itemVisuals[z]||{},me=this.hasItemVisual;if(this._itemVisuals[z]=de,S(re)){for(var Ce in re)re.hasOwnProperty(Ce)&&(de[Ce]=re[Ce],me[Ce]=!0);return}de[re]=se,me[re]=!0},ee.clearAllVisual=function(){this._visual={},this._itemVisuals=[],this.hasItemVisual={}};var W=function(z){z.seriesIndex=this.seriesIndex,z.dataIndex=this.dataIndex,z.dataType=this.dataType};ee.setItemGraphicEl=function(z,re){var se=this.hostModel;re&&(re.dataIndex=z,re.dataType=this.dataType,re.seriesIndex=se&&se.seriesIndex,re.type==="group"&&re.traverse(W,re)),this._graphicEls[z]=re},ee.getItemGraphicEl=function(z){return this._graphicEls[z]},ee.eachItemGraphicEl=function(z,re){C.each(this._graphicEls,function(se,de){se&&z&&z.call(re,se,de)})},ee.cloneShallow=function(z){if(!z){var re=C.map(this.dimensions,this.getDimensionInfo,this);z=new q(re,this.hostModel)}if(z._storage=this._storage,X(z,this),this._indices){var se=this._indices.constructor;z._indices=new se(this._indices)}else z._indices=null;return z.getRawIndex=z._indices?Ae:ue,z},ee.wrapMethod=function(z,re){var se=this[z];typeof se=="function"&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(z),this[z]=function(){var de=se.apply(this,arguments);return re.apply(this,[de].concat(C.slice(arguments)))})},ee.TRANSFERABLE_METHODS=["cloneShallow","downSample","map"],ee.CHANGABLE_METHODS=["filterSelf","selectRange"];var Y=q;A.exports=Y}),VHe=wt((o,A)=>{var f=Bi(),m=f.createHashMap,C=f.each,E=f.isString,x=f.defaults,y=f.extend,I=f.isObject,v=f.clone,B=Bl(),Q=B.normalizeToArray,T=JD(),w=T.guessOrdinal,S=T.BE_ORDINAL,D=Iz(),R=_z(),P=R.OTHER_DIMENSIONS,M=HHe();function L(G,J,K){D.isInstance(J)||(J=D.seriesDataToSource(J)),K=K||{},G=(G||[]).slice();for(var X=(K.dimsDef||[]).slice(),q=m(),ee=m(),ie=[],H=F(J,G,X,K.dimCount),le=0;le{var f=VHe();function m(C,E){return E=E||{},f(E.coordDimensions||[],C,{dimsDef:E.dimensionsDefine||C.dimensionsDefine,encodeDef:E.encodeDefine||C.encodeDefine,dimCount:E.dimensionsCount,encodeDefaulter:E.encodeDefaulter,generateCoord:E.generateCoord,generateCoordCount:E.generateCoordCount})}A.exports=m}),Apt=wt(o=>{var A=Bu(),f=A.__DEV__,m=Bi(),C=m.createHashMap,E=m.retrieve,x=m.each;function y(Q){this.coordSysName=Q,this.coordSysDims=[],this.axisMap=C(),this.categoryAxisMap=C(),this.firstCategoryDimIndex=null}function I(Q){var T=Q.get("coordinateSystem"),w=new y(T),S=v[T];if(S)return S(Q,w,w.axisMap,w.categoryAxisMap),w}var v={cartesian2d:function(Q,T,w,S){var D=Q.getReferringComponents("xAxis")[0],R=Q.getReferringComponents("yAxis")[0];T.coordSysDims=["x","y"],w.set("x",D),w.set("y",R),B(D)&&(S.set("x",D),T.firstCategoryDimIndex=0),B(R)&&(S.set("y",R),T.firstCategoryDimIndex==null&(T.firstCategoryDimIndex=1))},singleAxis:function(Q,T,w,S){var D=Q.getReferringComponents("singleAxis")[0];T.coordSysDims=["single"],w.set("single",D),B(D)&&(S.set("single",D),T.firstCategoryDimIndex=0)},polar:function(Q,T,w,S){var D=Q.getReferringComponents("polar")[0],R=D.findAxisModel("radiusAxis"),P=D.findAxisModel("angleAxis");T.coordSysDims=["radius","angle"],w.set("radius",R),w.set("angle",P),B(R)&&(S.set("radius",R),T.firstCategoryDimIndex=0),B(P)&&(S.set("angle",P),T.firstCategoryDimIndex==null&&(T.firstCategoryDimIndex=1))},geo:function(Q,T,w,S){T.coordSysDims=["lng","lat"]},parallel:function(Q,T,w,S){var D=Q.ecModel,R=D.getComponent("parallel",Q.get("parallelIndex")),P=T.coordSysDims=R.dimensions.slice();x(R.parallelAxisIndex,function(M,L){var F=D.getComponent("parallelAxis",M),k=P[L];w.set(k,F),B(F)&&T.firstCategoryDimIndex==null&&(S.set(k,F),T.firstCategoryDimIndex=L)})}};function B(Q){return Q.get("type")==="category"}o.getCoordSysInfoBySeries=I}),Kb=wt(o=>{var A=Bi(),f=A.each,m=A.isString;function C(y,I,v){v=v||{};var B=v.byIndex,Q=v.stackedCoordDimension,T=!!(y&&y.get("stack")),w,S,D,R;if(f(I,function(F,k){m(F)&&(I[k]=F={name:F}),T&&!F.isExtraCoord&&(!B&&!w&&F.ordinalMeta&&(w=F),!S&&F.type!=="ordinal"&&F.type!=="time"&&(!Q||Q===F.coordDim)&&(S=F))}),S&&!B&&!w&&(B=!0),S){D="__\0ecstackresult",R="__\0ecstackedover",w&&(w.createInvertedIndices=!0);var P=S.coordDim,M=S.type,L=0;f(I,function(F){F.coordDim===P&&L++}),I.push({name:D,coordDim:P,coordDimIndex:L,type:M,isExtraCoord:!0,isCalculationCoord:!0}),L++,I.push({name:R,coordDim:R,coordDimIndex:L,type:M,isExtraCoord:!0,isCalculationCoord:!0})}return{stackedDimension:S&&S.name,stackedByDimension:w&&w.name,isStackedByIndex:B,stackedOverDimension:R,stackResultDimension:D}}function E(y,I){return!!I&&I===y.getCalculationInfo("stackedDimension")}function x(y,I){return E(y,I)?y.getCalculationInfo("stackResultDimension"):I}o.enableDataStack=C,o.isDimensionStacked=E,o.getStackedDimension=x}),KD=wt((o,A)=>{var f=Bi(),m=sv(),C=K4(),E=yz(),x=E.SOURCE_FORMAT_ORIGINAL,y=_z(),I=y.getDimensionTypeByAxis,v=Bl(),B=v.getDataItemValue,Q=mw(),T=Apt(),w=T.getCoordSysInfoBySeries,S=Iz(),D=Kb(),R=D.enableDataStack,P=JD(),M=P.makeSeriesEncodeForAxisCoordSys;function L(G,J,K){K=K||{},S.isInstance(G)||(G=S.seriesDataToSource(G));var X=J.get("coordinateSystem"),q=Q.get(X),ee=w(J),ie;ee&&(ie=f.map(ee.coordSysDims,function(fe){var ae={name:fe},U=ee.axisMap.get(fe);if(U){var W=U.get("type");ae.type=I(W)}return ae})),ie||(ie=q&&(q.getDimensionsInfo?q.getDimensionsInfo():q.dimensions.slice())||["x","y"]);var H=C(G,{coordDimensions:ie,generateCoord:K.generateCoord,encodeDefaulter:K.useEncodeDefaulter?f.curry(M,ie,J):null}),le,ue;ee&&f.each(H,function(fe,ae){var U=fe.coordDim,W=ee.categoryAxisMap.get(U);W&&(le==null&&(le=ae),fe.ordinalMeta=W.getOrdinalMeta()),fe.otherDims.itemName!=null&&(ue=!0)}),!ue&&le!=null&&(H[le].otherDims.itemName=0);var Ae=R(J,H),he=new m(H,J);he.setCalculationInfo(Ae);var ge=le!=null&&F(G)?function(fe,ae,U,W){return W===le?U:this.defaultDimValueGetter(fe,ae,U,W)}:null;return he.hasItemOption=!1,he.initData(G,null,ge),he}function F(G){if(G.sourceFormat===x){var J=k(G.data||[]);return J!=null&&!f.isArray(B(J))}}function k(G){for(var J=0;J{var f=YD();function m(E){this._setting=E||{},this._extent=[1/0,-1/0],this._interval=0,this.init&&this.init.apply(this,arguments)}m.prototype.parse=function(E){return E},m.prototype.getSetting=function(E){return this._setting[E]},m.prototype.contain=function(E){var x=this._extent;return E>=x[0]&&E<=x[1]},m.prototype.normalize=function(E){var x=this._extent;return x[1]===x[0]?.5:(E-x[0])/(x[1]-x[0])},m.prototype.scale=function(E){var x=this._extent;return E*(x[1]-x[0])+x[0]},m.prototype.unionExtent=function(E){var x=this._extent;E[0]x[1]&&(x[1]=E[1])},m.prototype.unionExtentFromData=function(E,x){this.unionExtent(E.getApproximateExtent(x))},m.prototype.getExtent=function(){return this._extent.slice()},m.prototype.setExtent=function(E,x){var y=this._extent;isNaN(E)||(y[0]=E),isNaN(x)||(y[1]=x)},m.prototype.isBlank=function(){return this._isBlank},m.prototype.setBlank=function(E){this._isBlank=E},m.prototype.getLabel=null,f.enableClassExtend(m),f.enableClassManagement(m,{registerWhenExtend:!0});var C=m;A.exports=C}),zHe=wt((o,A)=>{var f=Bi(),m=f.createHashMap,C=f.isObject,E=f.map;function x(Q){this.categories=Q.categories||[],this._needCollect=Q.needCollect,this._deduplication=Q.deduplication,this._map}x.createByAxisModel=function(Q){var T=Q.option,w=T.data,S=w&&E(w,v);return new x({categories:S,needCollect:!S,deduplication:T.dedplication!==!1})};var y=x.prototype;y.getOrdinal=function(Q){return I(this).get(Q)},y.parseAndCollect=function(Q){var T,w=this._needCollect;if(typeof Q!="string"&&!w)return Q;if(w&&!this._deduplication)return T=this.categories.length,this.categories[T]=Q,T;var S=I(this);return T=S.get(Q),T==null&&(w?(T=this.categories.length,this.categories[T]=Q,S.set(Q,T)):T=NaN),T};function I(Q){return Q._map||(Q._map=m(Q.categories))}function v(Q){return C(Q)&&Q.value!=null?Q.value:Q+""}var B=x;A.exports=B}),cpt=wt((o,A)=>{var f=Bi(),m=ate(),C=zHe(),E=m.prototype,x=m.extend({type:"ordinal",init:function(I,v){(!I||f.isArray(I))&&(I=new C({categories:I})),this._ordinalMeta=I,this._extent=v||[0,I.categories.length-1]},parse:function(I){return typeof I=="string"?this._ordinalMeta.getOrdinal(I):Math.round(I)},contain:function(I){return I=this.parse(I),E.contain.call(this,I)&&this._ordinalMeta.categories[I]!=null},normalize:function(I){return E.normalize.call(this,this.parse(I))},scale:function(I){return Math.round(E.scale.call(this,I))},getTicks:function(){for(var I=[],v=this._extent,B=v[0];B<=v[1];)I.push(B),B++;return I},getLabel:function(I){if(!this.isBlank())return this._ordinalMeta.categories[I]},count:function(){return this._extent[1]-this._extent[0]+1},unionExtentFromData:function(I,v){this.unionExtent(I.getApproximateExtent(v))},getOrdinalMeta:function(){return this._ordinalMeta},niceTicks:f.noop,niceExtent:f.noop});x.create=function(){return new x};var y=x;A.exports=y}),YHe=wt(o=>{var A=ds(),f=A.round;function m(y,I,v,B){var Q={},T=y[1]-y[0],w=Q.interval=A.nice(T/I,!0);v!=null&&wB&&(w=Q.interval=B);var S=Q.intervalPrecision=C(w),D=Q.niceTickExtent=[f(Math.ceil(y[0]/w)*w,S),f(Math.floor(y[1]/w)*w,S)];return x(D,y),Q}function C(y){return A.getPrecisionSafe(y)+2}function E(y,I,v){y[I]=Math.max(Math.min(y[I],v[1]),v[0])}function x(y,I){!isFinite(y[0])&&(y[0]=I[0]),!isFinite(y[1])&&(y[1]=I[1]),E(y,0,I),E(y,1,I),y[0]>y[1]&&(y[0]=y[1])}o.intervalScaleNiceTicks=m,o.getIntervalPrecision=C,o.fixExtent=x}),ste=wt((o,A)=>{var f=ds(),m=Tc(),C=ate(),E=YHe(),x=f.round,y=C.extend({type:"interval",_interval:0,_intervalPrecision:2,setExtent:function(v,B){var Q=this._extent;isNaN(v)||(Q[0]=parseFloat(v)),isNaN(B)||(Q[1]=parseFloat(B))},unionExtent:function(v){var B=this._extent;v[0]B[1]&&(B[1]=v[1]),y.prototype.setExtent.call(this,B[0],B[1])},getInterval:function(){return this._interval},setInterval:function(v){this._interval=v,this._niceExtent=this._extent.slice(),this._intervalPrecision=E.getIntervalPrecision(v)},getTicks:function(v){var B=this._interval,Q=this._extent,T=this._niceExtent,w=this._intervalPrecision,S=[];if(!B)return S;var D=1e4;Q[0]D)return[];var P=S.length?S[S.length-1]:T[1];return Q[1]>P&&(v?S.push(x(P+B,w)):S.push(Q[1])),S},getMinorTicks:function(v){for(var B=this.getTicks(!0),Q=[],T=this.getExtent(),w=1;wT[0]&&F{var A=Bi(),f=ds(),m=f.parsePercent,C=Kb(),E=C.isDimensionStacked,x=J4(),y="__ec_stack_",I=.5,v=typeof Float32Array<"u"?Float32Array:Array;function B(G){return G.get("stack")||y+G.seriesIndex}function Q(G){return G.dim+G.index}function T(G){var J=[],K=G.axis,X="axis0";if(K.type==="category"){for(var q=K.getBandWidth(),ee=0;ee0&&(ee=ee===null?H:Math.min(ee,H))}K[X]=ee}}return K}function D(G){var J=S(G),K=[];return A.each(G,function(X){var q=X.coordinateSystem,ee=q.getBaseAxis(),ie=ee.getExtent(),H;if(ee.type==="category")H=ee.getBandWidth();else if(ee.type==="value"||ee.type==="time"){var le=ee.dim+"_"+ee.index,ue=J[le],Ae=Math.abs(ie[1]-ie[0]),he=ee.scale.getExtent(),ge=Math.abs(he[1]-he[0]);H=ue?Ae/ge*ue:Ae}else{var fe=X.getData();H=Math.abs(ie[1]-ie[0])/fe.count()}var ae=m(X.get("barWidth"),H),U=m(X.get("barMaxWidth"),H),W=m(X.get("barMinWidth")||1,H),Y=X.get("barGap"),z=X.get("barCategoryGap");K.push({bandWidth:H,barWidth:ae,barMaxWidth:U,barMinWidth:W,barGap:Y,barCategoryGap:z,axisKey:Q(ee),stackId:B(X)})}),R(K)}function R(G){var J={};A.each(G,function(X,q){var ee=X.axisKey,ie=X.bandWidth,H=J[ee]||{bandWidth:ie,remainedWidth:ie,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},le=H.stacks;J[ee]=H;var ue=X.stackId;le[ue]||H.autoWidthCount++,le[ue]=le[ue]||{width:0,maxWidth:0};var Ae=X.barWidth;Ae&&!le[ue].width&&(le[ue].width=Ae,Ae=Math.min(H.remainedWidth,Ae),H.remainedWidth-=Ae);var he=X.barMaxWidth;he&&(le[ue].maxWidth=he);var ge=X.barMinWidth;ge&&(le[ue].minWidth=ge);var fe=X.barGap;fe!=null&&(H.gap=fe);var ae=X.barCategoryGap;ae!=null&&(H.categoryGap=ae)});var K={};return A.each(J,function(X,q){K[q]={};var ee=X.stacks,ie=X.bandWidth,H=m(X.categoryGap,ie),le=m(X.gap,1),ue=X.remainedWidth,Ae=X.autoWidthCount,he=(ue-H)/(Ae+(Ae-1)*le);he=Math.max(he,0),A.each(ee,function(U){var W=U.maxWidth,Y=U.minWidth;if(U.width){var z=U.width;W&&(z=Math.min(z,W)),Y&&(z=Math.max(z,Y)),U.width=z,ue-=z+le*z,Ae--}else{var z=he;W&&Wz&&(z=Y),z!==he&&(U.width=z,ue-=z+le*z,Ae--)}}),he=(ue-H)/(Ae+(Ae-1)*le),he=Math.max(he,0);var ge=0,fe;A.each(ee,function(U,W){U.width||(U.width=he),fe=U,ge+=U.width*(1+le)}),fe&&(ge-=fe.width*le);var ae=-ge/2;A.each(ee,function(U,W){K[q][W]=K[q][W]||{bandWidth:ie,offset:ae,width:U.width},ae+=U.width*(1+le)})}),K}function P(G,J,K){if(G&&J){var X=G[Q(J)];return X!=null&&K!=null&&(X=X[B(K)]),X}}function M(G,J){var K=w(G,J),X=D(K),q={},ee={};A.each(K,function(ie){var H=ie.getData(),le=ie.coordinateSystem,ue=le.getBaseAxis(),Ae=B(ie),he=X[Q(ue)][Ae],ge=he.offset,fe=he.width,ae=le.getOtherAxis(ue),U=ie.get("barMinHeight")||0;q[Ae]=q[Ae]||[],ee[Ae]=ee[Ae]||[],H.setLayout({bandWidth:he.bandWidth,offset:ge,size:fe});for(var W=H.mapDimension(ae.dim),Y=H.mapDimension(ue.dim),z=E(H,W),re=ae.isHorizontal(),se=N(ue,ae,z),de=0,me=H.count();de=0?"p":"n",Te=se;z&&(q[Ae][Ie]||(q[Ae][Ie]={p:se,n:se}),Te=q[Ae][Ie][we]);var Ge,ke,Oe,Le;if(re){var be=le.dataToPoint([Ce,Ie]);Ge=Te,ke=be[1]+ge,Oe=be[0]-se,Le=fe,Math.abs(Oe)I||(Ae=I),{progress:he};function he(ge,fe){for(var ae=ge.count,U=new v(ae*2),W=new v(ae*2),Y=new v(ae),z,re=[],se=[],de=0,me=0;(z=ge.next())!=null;)se[ue]=fe.get(ie,z),se[1-ue]=fe.get(H,z),re=K.dataToPoint(se,null,re),W[de]=le?X.x+X.width:re[0],U[de++]=re[0],W[de]=le?re[1]:X.y+X.height,U[de++]=re[1],Y[me++]=z;fe.setLayout({largePoints:U,largeDataIndices:Y,largeBackgroundPoints:W,barWidth:Ae,valueAxisStart:N(q,ee,!1),backgroundStart:le?X.x:X.y,valueAxisHorizontal:le})}}};function F(G){return G.coordinateSystem&&G.coordinateSystem.type==="cartesian2d"}function k(G){return G.pipelineContext&&G.pipelineContext.large}function N(G,J,K){return J.toGlobalCoord(J.dataToCoord(J.type==="log"?1:0))}o.getLayoutOnAxis=T,o.prepareLayoutBarSeries=w,o.makeColumnLayout=D,o.retrieveColumnLayout=P,o.layout=M,o.largeLayout=L}),hpt=wt((o,A)=>{var f=Bi(),m=ds(),C=Tc(),E=YHe(),x=ste(),y=x.prototype,I=Math.ceil,v=Math.floor,B=1e3,Q=B*60,T=Q*60,w=T*24,S=function(M,L,F,k){for(;F>>1;M[N][1]F&&(G=F);var J=R.length,K=S(R,G,0,J),X=R[Math.min(K,J-1)],q=X[1];if(X[0]==="year"){var ee=N/q,ie=m.nice(ee/M,!0);q*=ie}var H=this.getSetting("useUTC")?0:new Date(+k[0]||+k[1]).getTimezoneOffset()*60*1e3,le=[Math.round(I((k[0]-H)/q)*q+H),Math.round(v((k[1]-H)/q)*q+H)];E.fixExtent(le,k),this._stepLvl=X,this._interval=q,this._niceExtent=le},parse:function(M){return+m.parseDate(M)}});f.each(["contain","normalize"],function(M){D.prototype[M]=function(L){return y[M].call(this,this.parse(L))}});var R=[["hh:mm:ss",B],["hh:mm:ss",B*5],["hh:mm:ss",B*10],["hh:mm:ss",B*15],["hh:mm:ss",B*30],[`hh:mm MM-dd`,Q],[`hh:mm MM-dd`,Q*5],[`hh:mm MM-dd`,Q*10],[`hh:mm MM-dd`,Q*15],[`hh:mm MM-dd`,Q*30],[`hh:mm MM-dd`,T],[`hh:mm MM-dd`,T*2],[`hh:mm MM-dd`,T*6],[`hh:mm MM-dd`,T*12],[`MM-dd yyyy`,w],[`MM-dd yyyy`,w*2],[`MM-dd yyyy`,w*3],[`MM-dd yyyy`,w*4],[`MM-dd yyyy`,w*5],[`MM-dd yyyy`,w*6],["week",w*7],[`MM-dd yyyy`,w*10],["week",w*14],["week",w*21],["month",w*31],["week",w*42],["month",w*62],["week",w*70],["quarter",w*95],["month",w*31*4],["month",w*31*5],["half-year",w*380/2],["month",w*31*8],["month",w*31*10],["year",w*380]];D.create=function(M){return new D({useUTC:M.ecModel.get("useUTC")})};var P=D;A.exports=P}),JHe=wt((o,A)=>{var f=Bi(),m=ate(),C=ds(),E=ste(),x=m.prototype,y=E.prototype,I=C.getPrecisionSafe,v=C.round,B=Math.floor,Q=Math.ceil,T=Math.pow,w=Math.log,S=m.extend({type:"log",base:10,$constructor:function(){m.apply(this,arguments),this._originalScale=new E},getTicks:function(P){var M=this._originalScale,L=this._extent,F=M.getExtent();return f.map(y.getTicks.call(this,P),function(k){var N=C.round(T(this.base,k));return N=k===L[0]&&M.__fixMin?D(N,F[0]):N,N=k===L[1]&&M.__fixMax?D(N,F[1]):N,N},this)},getMinorTicks:y.getMinorTicks,getLabel:y.getLabel,scale:function(P){return P=x.scale.call(this,P),T(this.base,P)},setExtent:function(P,M){var L=this.base;P=w(P)/w(L),M=w(M)/w(L),y.setExtent.call(this,P,M)},getExtent:function(){var P=this.base,M=x.getExtent.call(this);M[0]=T(P,M[0]),M[1]=T(P,M[1]);var L=this._originalScale,F=L.getExtent();return L.__fixMin&&(M[0]=D(M[0],F[0])),L.__fixMax&&(M[1]=D(M[1],F[1])),M},unionExtent:function(P){this._originalScale.unionExtent(P);var M=this.base;P[0]=w(P[0])/w(M),P[1]=w(P[1])/w(M),x.unionExtent.call(this,P)},unionExtentFromData:function(P,M){this.unionExtent(P.getApproximateExtent(M))},niceTicks:function(P){P=P||10;var M=this._extent,L=M[1]-M[0];if(!(L===1/0||L<=0)){var F=C.quantity(L),k=P/L*F;for(k<=.5&&(F*=10);!isNaN(F)&&Math.abs(F)<1&&Math.abs(F)>0;)F*=10;var N=[C.round(Q(M[0]/F)*F),C.round(B(M[1]/F)*F)];this._interval=F,this._niceExtent=N}},niceExtent:function(P){y.niceExtent.call(this,P);var M=this._originalScale;M.__fixMin=P.fixMin,M.__fixMax=P.fixMax}});f.each(["contain","normalize"],function(P){S.prototype[P]=function(M){return M=w(M)/w(this.base),x[P].call(this,M)}}),S.create=function(){return new S};function D(P,M){return v(P,I(M))}var R=S;A.exports=R}),Cw=wt(o=>{var A=Bu(),f=A.__DEV__,m=Bi(),C=cpt(),E=ste(),x=ate(),y=ds(),I=lte(),v=I.prepareLayoutBarSeries,B=I.makeColumnLayout,Q=I.retrieveColumnLayout,T=zh();hpt(),JHe();function w(J,K){var X=J.type,q=K.getMin(),ee=K.getMax(),ie=J.getExtent(),H,le,ue;X==="ordinal"?H=K.getCategories().length:(le=K.get("boundaryGap"),m.isArray(le)||(le=[le||0,le||0]),typeof le[0]=="boolean"&&(le=[0,0]),le[0]=y.parsePercent(le[0],1),le[1]=y.parsePercent(le[1],1),ue=ie[1]-ie[0]||Math.abs(ie[0])),q==="dataMin"?q=ie[0]:typeof q=="function"&&(q=q({min:ie[0],max:ie[1]})),ee==="dataMax"?ee=ie[1]:typeof ee=="function"&&(ee=ee({min:ie[0],max:ie[1]}));var Ae=q!=null,he=ee!=null;q==null&&(q=X==="ordinal"?H?0:NaN:ie[0]-le[0]*ue),ee==null&&(ee=X==="ordinal"?H?H-1:NaN:ie[1]+le[1]*ue),(q==null||!isFinite(q))&&(q=NaN),(ee==null||!isFinite(ee))&&(ee=NaN),J.setBlank(m.eqNaN(q)||m.eqNaN(ee)||X==="ordinal"&&!J.getOrdinalMeta().categories.length),K.getNeedCrossZero()&&(q>0&&ee>0&&!Ae&&(q=0),q<0&&ee<0&&!he&&(ee=0));var ge=K.ecModel;if(ge&&X==="time"){var fe=v("bar",ge),ae;if(m.each(fe,function(Y){ae|=Y.getBaseAxis()===K.axis}),ae){var U=B(fe),W=S(q,ee,K,U);q=W.min,ee=W.max}}return{extent:[q,ee],fixMin:Ae,fixMax:he}}function S(J,K,X,q){var ee=X.axis.getExtent(),ie=ee[1]-ee[0],H=Q(q,X.axis);if(H===void 0)return{min:J,max:K};var le=1/0;m.each(H,function(ae){le=Math.min(ae.offset,le)});var ue=-1/0;m.each(H,function(ae){ue=Math.max(ae.offset+ae.width,ue)}),le=Math.abs(le),ue=Math.abs(ue);var Ae=le+ue,he=K-J,ge=1-(le+ue)/ie,fe=he/ge-he;return K+=fe*(ue/Ae),J-=fe*(le/Ae),{min:J,max:K}}function D(J,K){var X=w(J,K),q=X.extent,ee=K.get("splitNumber");J.type==="log"&&(J.base=K.get("logBase"));var ie=J.type;J.setExtent(q[0],q[1]),J.niceExtent({splitNumber:ee,fixMin:X.fixMin,fixMax:X.fixMax,minInterval:ie==="interval"||ie==="time"?K.get("minInterval"):null,maxInterval:ie==="interval"||ie==="time"?K.get("maxInterval"):null});var H=K.get("interval");H!=null&&J.setInterval&&J.setInterval(H)}function R(J,K){if(K=K||J.get("type"),K)switch(K){case"category":return new C(J.getOrdinalMeta?J.getOrdinalMeta():J.getCategories(),[1/0,-1/0]);case"value":return new E;default:return(x.getClass(K)||E).create(J)}}function P(J){var K=J.scale.getExtent(),X=K[0],q=K[1];return!(X>0&&q>0||X<0&&q<0)}function M(J){var K=J.getLabelModel().get("formatter"),X=J.type==="category"?J.scale.getExtent()[0]:null;return typeof K=="string"?(K=function(q){return function(ee){return ee=J.scale.getLabel(ee),q.replace("{value}",ee??"")}}(K),K):typeof K=="function"?function(q,ee){return X!=null&&(ee=q-X),K(L(J,q),ee)}:function(q){return J.scale.getLabel(q)}}function L(J,K){return J.type==="category"?J.scale.getLabel(K):K}function F(J){var K=J.model,X=J.scale;if(!(!K.get("axisLabel.show")||X.isBlank())){var q=J.type==="category",ee,ie,H=X.getExtent();q?ie=X.count():(ee=X.getTicks(),ie=ee.length);var le=J.getLabelModel(),ue=M(J),Ae,he=1;ie>40&&(he=Math.ceil(ie/40));for(var ge=0;ge{var f=Bi(),m={getMin:function(C){var E=this.option,x=!C&&E.rangeStart!=null?E.rangeStart:E.min;return this.axis&&x!=null&&x!=="dataMin"&&typeof x!="function"&&!f.eqNaN(x)&&(x=this.axis.scale.parse(x)),x},getMax:function(C){var E=this.option,x=!C&&E.rangeEnd!=null?E.rangeEnd:E.max;return this.axis&&x!=null&&x!=="dataMax"&&typeof x!="function"&&!f.eqNaN(x)&&(x=this.axis.scale.parse(x)),x},getNeedCrossZero:function(){var C=this.option;return C.rangeStart!=null||C.rangeEnd!=null?!1:!C.scale},getCoordSysModel:f.noop,setRange:function(C,E){this.option.rangeStart=C,this.option.rangeEnd=E},resetRange:function(){this.option.rangeStart=this.option.rangeEnd=null}};A.exports=m}),lv=wt(o=>{var A=Bi(),f=To(),m=zh(),C=yI(),E=C.calculateTextPosition,x=f.extendShape({type:"triangle",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(R,P){var M=P.cx,L=P.cy,F=P.width/2,k=P.height/2;R.moveTo(M,L-k),R.lineTo(M+F,L+k),R.lineTo(M-F,L+k),R.closePath()}}),y=f.extendShape({type:"diamond",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(R,P){var M=P.cx,L=P.cy,F=P.width/2,k=P.height/2;R.moveTo(M,L-k),R.lineTo(M+F,L),R.lineTo(M,L+k),R.lineTo(M-F,L),R.closePath()}}),I=f.extendShape({type:"pin",shape:{x:0,y:0,width:0,height:0},buildPath:function(R,P){var M=P.x,L=P.y,F=P.width/5*3,k=Math.max(F,P.height),N=F/2,G=N*N/(k-N),J=L-k+N+G,K=Math.asin(G/N),X=Math.cos(K)*N,q=Math.sin(K),ee=Math.cos(K),ie=N*.6,H=N*.7;R.moveTo(M-X,J+G),R.arc(M,J,N,Math.PI-K,Math.PI*2+K),R.bezierCurveTo(M+X-q*ie,J+G+ee*ie,M,L-H,M,L),R.bezierCurveTo(M,L-H,M-X+q*ie,J+G+ee*ie,M-X,J+G),R.closePath()}}),v=f.extendShape({type:"arrow",shape:{x:0,y:0,width:0,height:0},buildPath:function(R,P){var M=P.height,L=P.width,F=P.x,k=P.y,N=L/3*2;R.moveTo(F,k),R.lineTo(F+N,k+M),R.lineTo(F,k+M/4*3),R.lineTo(F-N,k+M),R.lineTo(F,k),R.closePath()}}),B={line:f.Line,rect:f.Rect,roundRect:f.Rect,square:f.Rect,circle:f.Circle,diamond:y,pin:I,arrow:v,triangle:x},Q={line:function(R,P,M,L,F){F.x1=R,F.y1=P+L/2,F.x2=R+M,F.y2=P+L/2},rect:function(R,P,M,L,F){F.x=R,F.y=P,F.width=M,F.height=L},roundRect:function(R,P,M,L,F){F.x=R,F.y=P,F.width=M,F.height=L,F.r=Math.min(M,L)/4},square:function(R,P,M,L,F){var k=Math.min(M,L);F.x=R,F.y=P,F.width=k,F.height=k},circle:function(R,P,M,L,F){F.cx=R+M/2,F.cy=P+L/2,F.r=Math.min(M,L)/2},diamond:function(R,P,M,L,F){F.cx=R+M/2,F.cy=P+L/2,F.width=M,F.height=L},pin:function(R,P,M,L,F){F.x=R+M/2,F.y=P+L/2,F.width=M,F.height=L},arrow:function(R,P,M,L,F){F.x=R+M/2,F.y=P+L/2,F.width=M,F.height=L},triangle:function(R,P,M,L,F){F.cx=R+M/2,F.cy=P+L/2,F.width=M,F.height=L}},T={};A.each(B,function(R,P){T[P]=new R});var w=f.extendShape({type:"symbol",shape:{symbolType:"",x:0,y:0,width:0,height:0},calculateTextPosition:function(R,P,M){var L=E(R,P,M),F=this.shape;return F&&F.symbolType==="pin"&&P.textPosition==="inside"&&(L.y=M.y+M.height*.4),L},buildPath:function(R,P,M){var L=P.symbolType;if(L!=="none"){var F=T[L];F||(L="rect",F=T[L]),Q[L](P.x,P.y,P.width,P.height,F.shape),F.buildPath(R,F.shape,M)}}});function S(R,P){if(this.type!=="image"){var M=this.style,L=this.shape;L&&L.symbolType==="line"?M.stroke=R:this.__isEmptyBrush?(M.stroke=R,M.fill=P||"#fff"):(M.fill&&(M.fill=R),M.stroke&&(M.stroke=R)),this.dirty(!1)}}function D(R,P,M,L,F,k,N){var G=R.indexOf("empty")===0;G&&(R=R.substr(5,1).toLowerCase()+R.substr(6));var J;return R.indexOf("image://")===0?J=f.makeImage(R.slice(8),new m(P,M,L,F),N?"center":"cover"):R.indexOf("path://")===0?J=f.makePath(R.slice(7),{},new m(P,M,L,F),N?"center":"cover"):J=new w({shape:{symbolType:R,x:P,y:M,width:L,height:F}}),J.__isEmptyBrush=G,J.setColor=S,J.setColor(k),J}o.createSymbol=D}),dpt=wt(o=>{var A=Bi(),f=KD(),m=Cw(),C=W4(),E=qf(),x=pc(),y=x.getLayoutRect;o.getLayoutRect=x.getLayoutRect;var I=Kb(),v=I.enableDataStack,B=I.isDimensionStacked,Q=I.getStackedDimension,T=VHe();o.completeDimensions=T;var w=K4();o.createDimensions=w;var S=lv();o.createSymbol=S.createSymbol;function D(L){return f(L.getSource(),L)}var R={isDimensionStacked:B,enableDataStack:v,getStackedDimension:Q};function P(L,F){var k=F;E.isInstance(F)||(k=new E(F),A.mixin(k,C));var N=m.createScaleByModel(k);return N.setExtent(L[0],L[1]),m.niceScaleExtent(N,k),N}function M(L){A.mixin(L,C)}o.createList=D,o.dataStack=R,o.createScale=P,o.mixinAxisModelCommonMethods=M}),KHe=wt(o=>{var A=SHe(),f=1e-8;function m(E,x){return Math.abs(E-x){var f=zh(),m=Ez(),C=vh(),E=KHe();function x(I,v,B){if(this.name=I,this.geometries=v,B)B=[B[0],B[1]];else{var Q=this.getBoundingRect();B=[Q.x+Q.width/2,Q.y+Q.height/2]}this.center=B}x.prototype={constructor:x,properties:null,getBoundingRect:function(){var I=this._rect;if(I)return I;for(var v=Number.MAX_VALUE,B=[v,v],Q=[-v,-v],T=[],w=[],S=this.geometries,D=0;D{var f=Bi(),m=WHe();function C(y){if(!y.UTF8Encoding)return y;var I=y.UTF8Scale;I==null&&(I=1024);for(var v=y.features,B=0;B>1^-(S&1),D=D>>1^-(D&1),S+=Q,D+=T,Q=S,T=D,B.push([S/v,D/v])}return B}function x(y,I){return C(y),f.map(f.filter(y.features,function(v){return v.geometry&&v.properties&&v.geometry.coordinates.length>0}),function(v){var B=v.properties,Q=v.geometry,T=Q.coordinates,w=[];Q.type==="Polygon"&&w.push({type:"polygon",exterior:T[0],interiors:T.slice(1)}),Q.type==="MultiPolygon"&&f.each(T,function(D){D[0]&&w.push({type:"polygon",exterior:D[0],interiors:D.slice(1)})});var S=new m(B[I||"name"],w,B.cp);return S.properties=B,S})}A.exports=x}),fpt=wt(o=>{var A=Bi(),f=yI(),m=Bl(),C=m.makeInner,E=Cw(),x=E.makeLabelFormatter,y=E.getOptionCategoryInterval,I=E.shouldShowAllLabels,v=C();function B(J){return J.type==="category"?T(J):D(J)}function Q(J,K){return J.type==="category"?S(J,K):{ticks:J.scale.getTicks()}}function T(J){var K=J.getLabelModel(),X=w(J,K);return!K.get("show")||J.scale.isBlank()?{labels:[],labelCategoryInterval:X.labelCategoryInterval}:X}function w(J,K){var X=R(J,"labels"),q=y(K),ee=P(X,q);if(ee)return ee;var ie,H;return A.isFunction(q)?ie=G(J,q):(H=q==="auto"?L(J):q,ie=N(J,H)),M(X,q,{labels:ie,labelCategoryInterval:H})}function S(J,K){var X=R(J,"ticks"),q=y(K),ee=P(X,q);if(ee)return ee;var ie,H;if((!K.get("show")||J.scale.isBlank())&&(ie=[]),A.isFunction(q))ie=G(J,q,!0);else if(q==="auto"){var le=w(J,J.getLabelModel());H=le.labelCategoryInterval,ie=A.map(le.labels,function(ue){return ue.tickValue})}else H=q,ie=N(J,H,!0);return M(X,q,{ticks:ie,tickCategoryInterval:H})}function D(J){var K=J.scale.getTicks(),X=x(J);return{labels:A.map(K,function(q,ee){return{formattedLabel:X(q,ee),rawLabel:J.scale.getLabel(q),tickValue:q}})}}function R(J,K){return v(J)[K]||(v(J)[K]=[])}function P(J,K){for(var X=0;X40&&(le=Math.max(1,Math.floor(H/40)));for(var ue=ie[0],Ae=J.dataToCoord(ue+1)-J.dataToCoord(ue),he=Math.abs(Ae*Math.cos(q)),ge=Math.abs(Ae*Math.sin(q)),fe=0,ae=0;ue<=ie[1];ue+=le){var U=0,W=0,Y=f.getBoundingRect(X(ue),K.font,"center","top");U=Y.width*1.3,W=Y.height*1.3,fe=Math.max(fe,U,7),ae=Math.max(ae,W,7)}var z=fe/he,re=ae/ge;isNaN(z)&&(z=1/0),isNaN(re)&&(re=1/0);var se=Math.max(0,Math.floor(Math.min(z,re))),de=v(J.model),me=J.getExtent(),Ce=de.lastAutoInterval,Ie=de.lastTickCount;return Ce!=null&&Ie!=null&&Math.abs(Ce-se)<=1&&Math.abs(Ie-H)<=1&&Ce>se&&de.axisExtend0===me[0]&&de.axisExtend1===me[1]?se=Ce:(de.lastTickCount=H,de.lastAutoInterval=se,de.axisExtend0=me[0],de.axisExtend1=me[1]),se}function k(J){var K=J.getLabelModel();return{axisRotate:J.getRotate?J.getRotate():J.isHorizontal&&!J.isHorizontal()?90:0,labelRotate:K.get("rotate")||0,font:K.getFont()}}function N(J,K,X){var q=x(J),ee=J.scale,ie=ee.getExtent(),H=J.getLabelModel(),le=[],ue=Math.max((K||0)+1,1),Ae=ie[0],he=ee.count();Ae!==0&&ue>1&&he/ue>2&&(Ae=Math.round(Math.ceil(Ae/ue)*ue));var ge=I(J),fe=H.get("showMinLabel")||ge,ae=H.get("showMaxLabel")||ge;fe&&Ae!==ie[0]&&W(ie[0]);for(var U=Ae;U<=ie[1];U+=ue)W(U);ae&&U-ue!==ie[1]&&W(ie[1]);function W(Y){le.push(X?Y:{formattedLabel:q(Y),rawLabel:ee.getLabel(Y),tickValue:Y})}return le}function G(J,K,X){var q=J.scale,ee=x(J),ie=[];return A.each(q.getTicks(),function(H){var le=q.getLabel(H);K(H,le)&&ie.push(X?H:{formattedLabel:ee(H),rawLabel:le,tickValue:H})}),ie}o.createAxisLabels=B,o.createAxisTicks=Q,o.calculateCategoryInterval=F}),qP=wt((o,A)=>{var f=Bi(),m=f.each,C=f.map,E=ds(),x=E.linearMap,y=E.getPixelPrecision,I=E.round,v=fpt(),B=v.createAxisTicks,Q=v.createAxisLabels,T=v.calculateCategoryInterval,w=[0,1],S=function(M,L,F){this.dim=M,this.scale=L,this._extent=F||[0,0],this.inverse=!1,this.onBand=!1};S.prototype={constructor:S,contain:function(M){var L=this._extent,F=Math.min(L[0],L[1]),k=Math.max(L[0],L[1]);return M>=F&&M<=k},containData:function(M){return this.scale.contain(M)},getExtent:function(){return this._extent.slice()},getPixelPrecision:function(M){return y(M||this.scale.getExtent(),this._extent)},setExtent:function(M,L){var F=this._extent;F[0]=M,F[1]=L},dataToCoord:function(M,L){var F=this._extent,k=this.scale;return M=k.normalize(M),this.onBand&&k.type==="ordinal"&&(F=F.slice(),D(F,k.count())),x(M,w,F,L)},coordToData:function(M,L){var F=this._extent,k=this.scale;this.onBand&&k.type==="ordinal"&&(F=F.slice(),D(F,k.count()));var N=x(M,F,w,L);return this.scale.scale(N)},pointToData:function(M,L){},getTicksCoords:function(M){M=M||{};var L=M.tickModel||this.getTickModel(),F=B(this,L),k=F.ticks,N=C(k,function(J){return{coord:this.dataToCoord(J),tickValue:J}},this),G=L.get("alignWithLabel");return R(this,N,G,M.clamp),N},getMinorTicksCoords:function(){if(this.scale.type==="ordinal")return[];var M=this.model.getModel("minorTick"),L=M.get("splitNumber");L>0&&L<100||(L=5);var F=this.scale.getMinorTicks(L),k=C(F,function(N){return C(N,function(G){return{coord:this.dataToCoord(G),tickValue:G}},this)},this);return k},getViewLabels:function(){return Q(this).labels},getLabelModel:function(){return this.model.getModel("axisLabel")},getTickModel:function(){return this.model.getModel("axisTick")},getBandWidth:function(){var M=this._extent,L=this.scale.getExtent(),F=L[1]-L[0]+(this.onBand?1:0);F===0&&(F=1);var k=Math.abs(M[1]-M[0]);return Math.abs(k)/F},isHorizontal:null,getRotate:null,calculateCategoryInterval:function(){return T(this)}};function D(M,L){var F=M[1]-M[0],k=L,N=F/k/2;M[0]+=N,M[1]-=N}function R(M,L,F,k){var N=L.length;if(!M.onBand||F||!N)return;var G=M.getExtent(),J,K;if(N===1)L[0].coord=G[0],J=L[1]={coord:G[0]};else{var X=L[N-1].tickValue-L[0].tickValue,q=(L[N-1].coord-L[0].coord)/X;m(L,function(le){le.coord-=q/2});var ee=M.scale.getExtent();K=1+ee[1]-L[N-1].tickValue,J={coord:L[N-1].coord+q*K},L.push(J)}var ie=G[0]>G[1];H(L[0].coord,G[0])&&(k?L[0].coord=G[0]:L.shift()),k&&H(G[0],L[0].coord)&&L.unshift({coord:G[0]}),H(G[1],J.coord)&&(k?J.coord=G[1]:L.pop()),k&&H(J.coord,G[1])&&L.push({coord:G[1]});function H(le,ue){return le=I(le),ue=I(ue),ie?le>ue:le{var A=rte();o.zrender=A;var f=xE();o.matrix=f;var m=vh();o.vector=m;var C=Bi(),E=Yb();o.color=E;var x=To(),y=ds();o.number=y;var I=Tc();o.format=I;var v=WP(),B=v.throttle;o.throttle=v.throttle;var Q=dpt();o.helper=Q;var T=jHe();o.parseGeoJSON=T;var w=sv();o.List=w;var S=qf();o.Model=S;var D=qP();o.Axis=D;var R=jf();o.env=R;var P=T,M={};C.each(["map","each","filter","indexOf","inherits","reduce","filter","bind","curry","isArray","isString","isObject","isFunction","extend","defaults","clone","merge"],function(F){M[F]=C[F]});var L={};C.each(["extendShape","extendPath","makePath","makeImage","mergePath","resizePath","createIcon","setHoverStyle","setLabelStyle","setTextStyle","setText","getFont","updateProps","initProps","getTransform","clipPointsByRect","clipRectByRect","registerShape","getShapeClass","Group","Image","Text","Circle","Sector","Ring","Polygon","Polyline","Rect","Line","BezierCurve","Arc","IncrementalDisplayable","CompoundPath","LinearGradient","RadialGradient","BoundingRect"],function(F){L[F]=x[F]}),o.parseGeoJson=P,o.util=M,o.graphic=L}),Dn=wt(o=>{var A=Bu(),f=A.__DEV__,m=rte(),C=Bi(),E=Yb(),x=jf(),y=n0e(),I=jN(),v=kHe(),B=OHe(),Q=mw(),T=$0t(),w=tpt(),S=ipt(),D=C0(),R=E0(),P=ote(),M=Jb(),L=To(),F=Bl(),k=WP(),N=k.throttle,G=rpt(),J=npt(),K=opt(),X=apt(),q=spt(),ee=lpt();UHe();var ie=d0e(),H=C.assert,le=C.each,ue=C.isFunction,Ae=C.isObject,he=D.parseClassType,ge="4.8.0",fe={zrender:"4.3.1"},ae=1,U=1e3,W=800,Y=900,z=5e3,re=1e3,se=1100,de=2e3,me=3e3,Ce=3500,Ie=4e3,we=5e3,Te={PROCESSOR:{FILTER:U,SERIES_FILTER:W,STATISTIC:z},VISUAL:{LAYOUT:re,PROGRESSIVE_LAYOUT:se,GLOBAL:de,CHART:me,POST_CHART_LAYOUT:Ce,COMPONENT:Ie,BRUSH:we}},Ge="__flagInMainProcess",ke="__optionUpdated",Oe=/^[a-zA-Z0-9_]+$/;function Le(ci,Gi){return function(yr,Yr,en){if(!Gi&&this._disposed){this.id;return}yr=yr&&yr.toLowerCase(),I.prototype[ci].call(this,yr,Yr,en)}}function be(){I.call(this)}be.prototype.on=Le("on",!0),be.prototype.off=Le("off",!0),be.prototype.one=Le("one",!0),C.mixin(be,I);function Ne(ci,Or,yr){yr=yr||{},typeof Or=="string"&&(Or=Ri[Or]),this.id,this.group,this._dom=ci;var Yr="canvas",en=this._zr=m.init(ci,{renderer:yr.renderer||Yr,devicePixelRatio:yr.devicePixelRatio,width:yr.width,height:yr.height});this._throttledZrFlush=N(C.bind(en.flush,en),17);var Or=C.clone(Or);Or&&w(Or,!0),this._theme=Or,this._chartsViews=[],this._chartsMap={},this._componentsViews=[],this._componentsMap={},this._coordSysMgr=new Q;var Cn=this._api=We(this);function Mn(tn,fo){return tn.__prio-fo.__prio}y(wi,Mn),y(Mi,Mn),this._scheduler=new X(this,Cn,Mi,wi),I.call(this,this._ecEventProcessor=new bt),this._messageCenter=new be,this._initEvents(),this.resize=C.bind(this.resize,this),this._pendingActions=[],en.animation.on("frame",this._onframe,this),yt(en,this),C.setAsPrimitive(this)}var Ue=Ne.prototype;Ue._onframe=function(){if(!this._disposed){var ci=this._scheduler;if(this[ke]){var Gi=this[ke].silent;this[Ge]=!0,Xe(this),Je.update.call(this),this[Ge]=!1,this[ke]=!1,Ct.call(this,Gi),ct.call(this,Gi)}else if(ci.unfinished){var yr=ae,Yr=this._model,en=this._api;ci.unfinished=!1;do{var Or=+new Date;ci.performSeriesTasks(Yr),ci.performDataProcessorTasks(Yr),ot(this,Yr),ci.performVisualTasks(Yr),gt(this,this._model,en,"remain"),yr-=+new Date-Or}while(yr>0&&ci.unfinished);ci.unfinished||this._zr.flush()}}},Ue.getDom=function(){return this._dom},Ue.getZr=function(){return this._zr},Ue.setOption=function(ci,Gi,yr){if(this._disposed){this.id;return}var Yr;if(Ae(Gi)&&(yr=Gi.lazyUpdate,Yr=Gi.silent,Gi=Gi.notMerge),this[Ge]=!0,!this._model||Gi){var en=new T(this._api),Or=this._theme,Cn=this._model=new v;Cn.scheduler=this._scheduler,Cn.init(null,null,Or,en)}this._model.setOption(ci,er),yr?(this[ke]={silent:Yr},this[Ge]=!1):(Xe(this),Je.update.call(this),this._zr.flush(),this[ke]=!1,this[Ge]=!1,Ct.call(this,Yr),ct.call(this,Yr))},Ue.setTheme=function(){console.error("ECharts#setTheme() is DEPRECATED in ECharts 3.0")},Ue.getModel=function(){return this._model},Ue.getOption=function(){return this._model&&this._model.getOption()},Ue.getWidth=function(){return this._zr.getWidth()},Ue.getHeight=function(){return this._zr.getHeight()},Ue.getDevicePixelRatio=function(){return this._zr.painter.dpr||window.devicePixelRatio||1},Ue.getRenderedCanvas=function(ci){if(x.canvasSupported){ci=ci||{},ci.pixelRatio=ci.pixelRatio||1,ci.backgroundColor=ci.backgroundColor||this._model.get("backgroundColor");var Gi=this._zr;return Gi.painter.getRenderedCanvas(ci)}},Ue.getSvgDataURL=function(){if(x.svgSupported){var ci=this._zr,Gi=ci.storage.getDisplayList();return C.each(Gi,function(yr){yr.stopAnimation(!0)}),ci.painter.toDataURL()}},Ue.getDataURL=function(ci){if(this._disposed){this.id;return}ci=ci||{};var Gi=ci.excludeComponents,yr=this._model,Yr=[],en=this;le(Gi,function(Cn){yr.eachComponent({mainType:Cn},function(Mn){var tn=en._componentsMap[Mn.__viewId];tn.group.ignore||(Yr.push(tn),tn.group.ignore=!0)})});var Or=this._zr.painter.getType()==="svg"?this.getSvgDataURL():this.getRenderedCanvas(ci).toDataURL("image/"+(ci&&ci.type||"png"));return le(Yr,function(Cn){Cn.group.ignore=!1}),Or},Ue.getConnectedDataURL=function(ci){if(this._disposed){this.id;return}if(x.canvasSupported){var Gi=ci.type==="svg",yr=this.group,Yr=Math.min,en=Math.max,Or=1/0;if(jt[yr]){var Cn=Or,Mn=Or,tn=-Or,fo=-Or,bo=[],_a=ci&&ci.pixelRatio||1;C.each(Wt,function(ku,Ic){if(ku.group===yr){var _c=Gi?ku.getZr().painter.getSvgDom().innerHTML:ku.getRenderedCanvas(C.clone(ci)),Cu=ku.getDom().getBoundingClientRect();Cn=Yr(Cu.left,Cn),Mn=Yr(Cu.top,Mn),tn=en(Cu.right,tn),fo=en(Cu.bottom,fo),bo.push({dom:_c,left:Cu.left,top:Cu.top})}}),Cn*=_a,Mn*=_a,tn*=_a,fo*=_a;var xl=tn-Cn,Mo=fo-Mn,Wl=C.createCanvas(),Ss=m.init(Wl,{renderer:Gi?"svg":"canvas"});if(Ss.resize({width:xl,height:Mo}),Gi){var uh="";return le(bo,function(ku){var Ic=ku.left-Cn,_c=ku.top-Mn;uh+=''+ku.dom+""}),Ss.painter.getSvgRoot().innerHTML=uh,ci.connectedBackgroundColor&&Ss.painter.setBackgroundColor(ci.connectedBackgroundColor),Ss.refreshImmediately(),Ss.painter.toDataURL()}else return ci.connectedBackgroundColor&&Ss.add(new L.Rect({shape:{x:0,y:0,width:xl,height:Mo},style:{fill:ci.connectedBackgroundColor}})),le(bo,function(ku){var Ic=new L.Image({style:{x:ku.left*_a-Cn,y:ku.top*_a-Mn,image:ku.dom}});Ss.add(Ic)}),Ss.refreshImmediately(),Wl.toDataURL("image/"+(ci&&ci.type||"png"))}else return this.getDataURL(ci)}},Ue.convertToPixel=C.curry(ze,"convertToPixel"),Ue.convertFromPixel=C.curry(ze,"convertFromPixel");function ze(ci,Gi,yr){if(this._disposed){this.id;return}var Yr=this._model,en=this._coordSysMgr.getCoordinateSystems(),Or;Gi=F.parseFinder(Yr,Gi);for(var Cn=0;Cn=0&&C.each(en,function(Cn){var Mn=Cn.coordinateSystem;if(Mn&&Mn.containPoint)Yr|=!!Mn.containPoint(Gi);else if(Or==="seriesModels"){var tn=this._chartsMap[Cn.__viewId];tn&&tn.containPoint&&(Yr|=tn.containPoint(Gi,Cn))}},this)},this),!!Yr},Ue.getVisual=function(ci,Gi){var yr=this._model;ci=F.parseFinder(yr,ci,{defaultMainType:"series"});var Yr=ci.seriesModel,en=Yr.getData(),Or=ci.hasOwnProperty("dataIndexInside")?ci.dataIndexInside:ci.hasOwnProperty("dataIndex")?en.indexOfRawIndex(ci.dataIndex):null;return Or!=null?en.getItemVisual(Or,Gi):en.getVisual(Gi)},Ue.getViewOfComponentModel=function(ci){return this._componentsMap[ci.__viewId]},Ue.getViewOfSeriesModel=function(ci){return this._chartsMap[ci.__viewId]};var Je={prepareAndUpdate:function(ci){Xe(this),Je.update.call(this,ci)},update:function(ci){var Gi=this._model,yr=this._api,Yr=this._zr,en=this._coordSysMgr,Or=this._scheduler;if(Gi){Or.restoreData(Gi,ci),Or.performSeriesTasks(Gi),en.create(Gi,yr),Or.performDataProcessorTasks(Gi,ci),ot(this,Gi),en.update(Gi,yr),Ze(Gi),Or.performVisualTasks(Gi,ci),ut(this,Gi,yr,ci);var Cn=Gi.get("backgroundColor")||"transparent";if(x.canvasSupported)Yr.setBackgroundColor(Cn);else{var Mn=E.parse(Cn);Cn=E.stringify(Mn,"rgb"),Mn[3]===0&&(Cn="transparent")}xt(Gi,yr)}},updateTransform:function(ci){var Gi=this._model,yr=this,Yr=this._api;if(Gi){var en=[];Gi.eachComponent(function(Cn,Mn){var tn=yr.getViewOfComponentModel(Mn);if(tn&&tn.__alive)if(tn.updateTransform){var fo=tn.updateTransform(Mn,Gi,Yr,ci);fo&&fo.update&&en.push(tn)}else en.push(tn)});var Or=C.createHashMap();Gi.eachSeries(function(Cn){var Mn=yr._chartsMap[Cn.__viewId];if(Mn.updateTransform){var tn=Mn.updateTransform(Cn,Gi,Yr,ci);tn&&tn.update&&Or.set(Cn.uid,1)}else Or.set(Cn.uid,1)}),Ze(Gi),this._scheduler.performVisualTasks(Gi,ci,{setDirty:!0,dirtyMap:Or}),gt(yr,Gi,Yr,ci,Or),xt(Gi,this._api)}},updateView:function(ci){var Gi=this._model;Gi&&(M.markUpdateMethod(ci,"updateView"),Ze(Gi),this._scheduler.performVisualTasks(Gi,ci,{setDirty:!0}),ut(this,this._model,this._api,ci),xt(Gi,this._api))},updateVisual:function(ci){Je.update.call(this,ci)},updateLayout:function(ci){Je.update.call(this,ci)}};function Xe(ci){var Gi=ci._model,yr=ci._scheduler;yr.restorePipelines(Gi),yr.prepareStageTasks(),Qt(ci,"component",Gi,yr),Qt(ci,"chart",Gi,yr),yr.plan()}function et(ci,Gi,yr,Yr,en){var Or=ci._model;if(!Yr){le(ci._componentsViews.concat(ci._chartsViews),fo);return}var Cn={};Cn[Yr+"Id"]=yr[Yr+"Id"],Cn[Yr+"Index"]=yr[Yr+"Index"],Cn[Yr+"Name"]=yr[Yr+"Name"];var Mn={mainType:Yr,query:Cn};en&&(Mn.subType=en);var tn=yr.excludeSeriesId;tn!=null&&(tn=C.createHashMap(F.normalizeToArray(tn))),Or&&Or.eachComponent(Mn,function(bo){(!tn||tn.get(bo.id)==null)&&fo(ci[Yr==="series"?"_chartsMap":"_componentsMap"][bo.__viewId])},ci);function fo(bo){bo&&bo.__alive&&bo[Gi]&&bo[Gi](bo.__model,Or,ci._api,yr)}}Ue.resize=function(ci){if(this._disposed){this.id;return}this._zr.resize(ci);var Gi=this._model;if(this._loadingFX&&this._loadingFX.resize(),!!Gi){var yr=Gi.resetOption("media"),Yr=ci&&ci.silent;this[Ge]=!0,yr&&Xe(this),Je.update.call(this),this[Ge]=!1,Ct.call(this,Yr),ct.call(this,Yr)}};function ot(ci,Gi){var yr=ci._chartsMap,Yr=ci._scheduler;Gi.eachSeries(function(en){Yr.updateStreamModes(en,yr[en.__viewId])})}Ue.showLoading=function(ci,Gi){if(this._disposed){this.id;return}if(Ae(ci)&&(Gi=ci,ci=""),ci=ci||"default",this.hideLoading(),!!Ei[ci]){var yr=Ei[ci](this._api,Gi),Yr=this._zr;this._loadingFX=yr,Yr.add(yr)}},Ue.hideLoading=function(){if(this._disposed){this.id;return}this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null},Ue.makeActionFromEvent=function(ci){var Gi=C.extend({},ci);return Gi.type=It[ci.type],Gi},Ue.dispatchAction=function(ci,Gi){if(this._disposed){this.id;return}if(Ae(Gi)||(Gi={silent:!!Gi}),!!Pt[ci.type]&&this._model){if(this[Ge]){this._pendingActions.push(ci);return}Et.call(this,ci,Gi.silent),Gi.flush?this._zr.flush(!0):Gi.flush!==!1&&x.browser.weChat&&this._throttledZrFlush(),Ct.call(this,Gi.silent),ct.call(this,Gi.silent)}};function Et(ci,Gi){var yr=ci.type,Yr=ci.escapeConnect,en=Pt[yr],Or=en.actionInfo,Cn=(Or.update||"update").split(":"),Mn=Cn.pop();Cn=Cn[0]!=null&&he(Cn[0]),this[Ge]=!0;var tn=[ci],fo=!1;ci.batch&&(fo=!0,tn=C.map(ci.batch,function(Mo){return Mo=C.defaults(C.extend({},Mo),ci),Mo.batch=null,Mo}));var bo=[],_a,xl=yr==="highlight"||yr==="downplay";le(tn,function(Mo){_a=en.action(Mo,this._model,this._api),_a=_a||C.extend({},Mo),_a.type=Or.event||_a.type,bo.push(_a),xl?et(this,Mn,Mo,"series"):Cn&&et(this,Mn,Mo,Cn.main,Cn.sub)},this),Mn!=="none"&&!xl&&!Cn&&(this[ke]?(Xe(this),Je.update.call(this,ci),this[ke]=!1):Je[Mn].call(this,ci)),fo?_a={type:Or.event||yr,escapeConnect:Yr,batch:bo}:_a=bo[0],this[Ge]=!1,!Gi&&this._messageCenter.trigger(_a.type,_a)}function Ct(ci){for(var Gi=this._pendingActions;Gi.length;){var yr=Gi.shift();Et.call(this,yr,ci)}}function ct(ci){!ci&&this.trigger("updated")}function yt(ci,Gi){ci.on("rendered",function(){Gi.trigger("rendered"),ci.animation.isFinished()&&!Gi[ke]&&!Gi._scheduler.unfinished&&!Gi._pendingActions.length&&Gi.trigger("finished")})}Ue.appendData=function(ci){if(this._disposed){this.id;return}var Gi=ci.seriesIndex,yr=this.getModel(),Yr=yr.getSeriesByIndex(Gi);Yr.appendData(ci),this._scheduler.unfinished=!0},Ue.on=Le("on",!1),Ue.off=Le("off",!1),Ue.one=Le("one",!1);function Qt(ci,Gi,yr,Yr){for(var en=Gi==="component",Or=en?ci._componentsViews:ci._chartsViews,Cn=en?ci._componentsMap:ci._chartsMap,Mn=ci._zr,tn=ci._api,fo=0;foGi.get("hoverLayerThreshold")&&!x.node&&Gi.eachSeries(function(Or){if(!Or.preventUsingHoverLayer){var Cn=ci._chartsMap[Or.__viewId];Cn.__alive&&Cn.group.traverse(function(Mn){Mn.useHoverLayer=!0})}})}function Pe(ci,Gi){var yr=ci.get("blendMode")||null;Gi.group.traverse(function(Yr){Yr.isGroup||Yr.style.blend!==yr&&Yr.setStyle("blend",yr),Yr.eachPendingDisplayable&&Yr.eachPendingDisplayable(function(en){en.setStyle("blend",yr)})})}function ve(ci,Gi){var yr=ci.get("z"),Yr=ci.get("zlevel");Gi.group.traverse(function(en){en.type!=="group"&&(yr!=null&&(en.z=yr),Yr!=null&&(en.zlevel=Yr))})}function We(ci){var Gi=ci._coordSysMgr;return C.extend(new B(ci),{getCoordinateSystems:C.bind(Gi.getCoordinateSystems,Gi),getComponentByElement:function(yr){for(;yr;){var Yr=yr.__ecComponentInfo;if(Yr!=null)return ci._model.getComponent(Yr.mainType,Yr.index);yr=yr.parent}}})}function bt(){this.eventInfo}bt.prototype={constructor:bt,normalizeQuery:function(ci){var Gi={},yr={},Yr={};if(C.isString(ci)){var en=he(ci);Gi.mainType=en.main||null,Gi.subType=en.sub||null}else{var Or=["Index","Name","Id"],Cn={name:1,dataIndex:1,dataType:1};C.each(ci,function(Mn,tn){for(var fo=!1,bo=0;bo0&&xl===tn.length-_a.length){var Mo=tn.slice(0,xl);Mo!=="data"&&(Gi.mainType=Mo,Gi[_a.toLowerCase()]=Mn,fo=!0)}}Cn.hasOwnProperty(tn)&&(yr[tn]=Mn,fo=!0),fo||(Yr[tn]=Mn)})}return{cptQuery:Gi,dataQuery:yr,otherQuery:Yr}},filter:function(ci,Gi,yr){var Yr=this.eventInfo;if(!Yr)return!0;var en=Yr.targetEl,Or=Yr.packedEvent,Cn=Yr.model,Mn=Yr.view;if(!Cn||!Mn)return!0;var tn=Gi.cptQuery,fo=Gi.dataQuery;return bo(tn,Cn,"mainType")&&bo(tn,Cn,"subType")&&bo(tn,Cn,"index","componentIndex")&&bo(tn,Cn,"name")&&bo(tn,Cn,"id")&&bo(fo,Or,"name")&&bo(fo,Or,"dataIndex")&&bo(fo,Or,"dataType")&&(!Mn.filterForExposedEvent||Mn.filterForExposedEvent(ci,Gi.otherQuery,en,Or));function bo(_a,xl,Mo,Wl){return _a[Mo]==null||xl[Wl||Mo]===_a[Mo]}},afterTrigger:function(){this.eventInfo=null}};var Pt={},It={},Mi=[],er=[],di=[],wi=[],Ri={},Ei={},Wt={},jt={},pi=new Date-0,mi=new Date-0,Kt="_echarts_instance_";function xi(ci){var Gi=0,yr=1,Yr=2,en="__connectUpdateStatus";function Or(Cn,Mn){for(var tn=0;tn{var f=Bu(),m=f.__DEV__,C=KD(),E=E0(),x=E.extend({type:"series.line",dependencies:["grid","polar"],getInitialData:function(y,I){return C(this.getSource(),this,{useEncodeDefaulter:!0})},defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,clip:!0,label:{position:"top"},lineStyle:{width:2,type:"solid"},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0}});A.exports=x}),f0e=wt(o=>{var A=ZN(),f=A.retrieveRawValue;function m(C,E){var x=C.mapDimension("defaultedLabel",!0),y=x.length;if(y===1)return f(C,E,x[0]);if(y){for(var I=[],v=0;v{var f=Bi(),m=lv(),C=m.createSymbol,E=To(),x=ds(),y=x.parsePercent,I=f0e(),v=I.getDefaultLabel;function B(k,N,G){E.Group.call(this),this.updateData(k,N,G)}var Q=B.prototype,T=B.getSymbolSize=function(k,N){var G=k.getItemVisual(N,"symbolSize");return G instanceof Array?G.slice():[+G,+G]};function w(k){return[k[0]/2,k[1]/2]}function S(k,N){this.parent.drift(k,N)}Q._createSymbol=function(k,N,G,J,K){this.removeAll();var X=N.getItemVisual(G,"color"),q=C(k,-1,-1,2,2,X,K);q.attr({z2:100,culling:!0,scale:w(J)}),q.drift=S,this._symbolType=k,this.add(q)},Q.stopSymbolAnimation=function(k){this.childAt(0).stopAnimation(k)},Q.getSymbolPath=function(){return this.childAt(0)},Q.getScale=function(){return this.childAt(0).scale},Q.highlight=function(){this.childAt(0).trigger("emphasis")},Q.downplay=function(){this.childAt(0).trigger("normal")},Q.setZ=function(k,N){var G=this.childAt(0);G.zlevel=k,G.z=N},Q.setDraggable=function(k){var N=this.childAt(0);N.draggable=k,N.cursor=k?"move":N.cursor},Q.updateData=function(k,N,G){this.silent=!1;var J=k.getItemVisual(N,"symbol")||"circle",K=k.hostModel,X=T(k,N),q=J!==this._symbolType;if(q){var ee=k.getItemVisual(N,"symbolKeepAspect");this._createSymbol(J,k,N,X,ee)}else{var ie=this.childAt(0);ie.silent=!1,E.updateProps(ie,{scale:w(X)},K,N)}if(this._updateCommon(k,N,X,G),q){var ie=this.childAt(0),H=G&&G.fadeIn,le={scale:ie.scale.slice()};H&&(le.style={opacity:ie.style.opacity}),ie.scale=[0,0],H&&(ie.style.opacity=0),E.initProps(ie,le,K,N)}this._seriesModel=K};var D=["itemStyle"],R=["emphasis","itemStyle"],P=["label"],M=["emphasis","label"];Q._updateCommon=function(k,N,G,J){var K=this.childAt(0),X=k.hostModel,q=k.getItemVisual(N,"color");K.type!=="image"?K.useStyle({strokeNoScale:!0}):K.setStyle({opacity:null,shadowBlur:null,shadowOffsetX:null,shadowOffsetY:null,shadowColor:null});var ee=J&&J.itemStyle,ie=J&&J.hoverItemStyle,H=J&&J.symbolOffset,le=J&&J.labelModel,ue=J&&J.hoverLabelModel,Ae=J&&J.hoverAnimation,he=J&&J.cursorStyle;if(!J||k.hasItemOption){var ge=J&&J.itemModel?J.itemModel:k.getItemModel(N);ee=ge.getModel(D).getItemStyle(["color"]),ie=ge.getModel(R).getItemStyle(),H=ge.getShallow("symbolOffset"),le=ge.getModel(P),ue=ge.getModel(M),Ae=ge.getShallow("hoverAnimation"),he=ge.getShallow("cursor")}else ie=f.extend({},ie);var fe=K.style,ae=k.getItemVisual(N,"symbolRotate");K.attr("rotation",(ae||0)*Math.PI/180||0),H&&K.attr("position",[y(H[0],G[0]),y(H[1],G[1])]),he&&K.attr("cursor",he),K.setColor(q,J&&J.symbolInnerColor),K.setStyle(ee);var U=k.getItemVisual(N,"opacity");U!=null&&(fe.opacity=U);var W=k.getItemVisual(N,"liftZ"),Y=K.__z2Origin;W!=null?Y==null&&(K.__z2Origin=K.z2,K.z2+=W):Y!=null&&(K.z2=Y,K.__z2Origin=null);var z=J&&J.useNameLabel;E.setLabelStyle(fe,ie,le,ue,{labelFetcher:X,labelDataIndex:N,defaultText:re,isRectText:!0,autoColor:q});function re(se,de){return z?k.getName(se):v(k,se)}K.__symbolOriginalScale=w(G),K.hoverStyle=ie,K.highDownOnUpdate=Ae&&X.isAnimationEnabled()?L:null,E.setHoverStyle(K)};function L(k,N){if(!(this.incremental||this.useHoverLayer))if(N==="emphasis"){var G=this.__symbolOriginalScale,J=G[1]/G[0],K={scale:[Math.max(G[0]*1.1,G[0]+3),Math.max(G[1]*1.1,G[1]+3*J)]};this.animateTo(K,400,"elasticOut")}else N==="normal"&&this.animateTo({scale:this.__symbolOriginalScale},400,"elasticOut")}Q.fadeOut=function(k,N){var G=this.childAt(0);this.silent=G.silent=!0,!(N&&N.keepLabel)&&(G.style.text=null),E.updateProps(G,{style:{opacity:0},scale:[0,0]},this._seriesModel,this.dataIndex,k)},f.inherits(B,E.Group);var F=B;A.exports=F}),vz=wt((o,A)=>{var f=To(),m=ute(),C=Bi(),E=C.isObject;function x(T){this.group=new f.Group,this._symbolCtor=T||m}var y=x.prototype;function I(T,w,S,D){return w&&!isNaN(w[0])&&!isNaN(w[1])&&!(D.isIgnore&&D.isIgnore(S))&&!(D.clipShape&&!D.clipShape.contain(w[0],w[1]))&&T.getItemVisual(S,"symbol")!=="none"}y.updateData=function(T,w){w=v(w);var S=this.group,D=T.hostModel,R=this._data,P=this._symbolCtor,M=B(T);R||S.removeAll(),T.diff(R).add(function(L){var F=T.getItemLayout(L);if(I(T,F,L,w)){var k=new P(T,L,M);k.attr("position",F),T.setItemGraphicEl(L,k),S.add(k)}}).update(function(L,F){var k=R.getItemGraphicEl(F),N=T.getItemLayout(L);if(!I(T,N,L,w)){S.remove(k);return}k?(k.updateData(T,L,M),f.updateProps(k,{position:N},D)):(k=new P(T,L),k.attr("position",N)),S.add(k),T.setItemGraphicEl(L,k)}).remove(function(L){var F=R.getItemGraphicEl(L);F&&F.fadeOut(function(){S.remove(F)})}).execute(),this._data=T},y.isPersistent=function(){return!0},y.updateLayout=function(){var T=this._data;T&&T.eachItemGraphicEl(function(w,S){var D=T.getItemLayout(S);w.attr("position",D)})},y.incrementalPrepareUpdate=function(T){this._seriesScope=B(T),this._data=null,this.group.removeAll()},y.incrementalUpdate=function(T,w,S){S=v(S);function D(L){L.isGroup||(L.incremental=L.useHoverLayer=!0)}for(var R=T.start;R{var A=Kb(),f=A.isDimensionStacked,m=Bi(),C=m.map;function E(I,v,B){var Q=I.getBaseAxis(),T=I.getOtherAxis(Q),w=x(T,B),S=Q.dim,D=T.dim,R=v.mapDimension(D),P=v.mapDimension(S),M=D==="x"||D==="radius"?1:0,L=C(I.dimensions,function(N){return v.mapDimension(N)}),F,k=v.getCalculationInfo("stackResultDimension");return(F|=f(v,L[0]))&&(L[0]=k),(F|=f(v,L[1]))&&(L[1]=k),{dataDimsForPoint:L,valueStart:w,valueAxisDim:D,baseAxisDim:S,stacked:!!F,valueDim:R,baseDim:P,baseDataOffset:M,stackedOverDimension:v.getCalculationInfo("stackedOverDimension")}}function x(I,v){var B=0,Q=I.scale.getExtent();return v==="start"?B=Q[0]:v==="end"?B=Q[1]:Q[0]>0?B=Q[0]:Q[1]<0&&(B=Q[1]),B}function y(I,v,B,Q){var T=NaN;I.stacked&&(T=B.get(B.getCalculationInfo("stackedOverDimension"),Q)),isNaN(T)&&(T=I.valueStart);var w=I.baseDataOffset,S=[];return S[w]=B.get(I.baseDim,Q),S[1-w]=T,v.dataToPoint(S)}o.prepareDataCoordInfo=E,o.getStackedOnPoint=y}),ppt=wt((o,A)=>{var f=XHe(),m=f.prepareDataCoordInfo,C=f.getStackedOnPoint;function E(y,I){var v=[];return I.diff(y).add(function(B){v.push({cmd:"+",idx:B})}).update(function(B,Q){v.push({cmd:"=",idx:Q,idx1:B})}).remove(function(B){v.push({cmd:"-",idx:B})}).execute(),v}function x(y,I,v,B,Q,T,w,S){for(var D=E(y,I),R=[],P=[],M=[],L=[],F=[],k=[],N=[],G=m(Q,I,w),J=m(T,y,S),K=0;K{var A=If(),f=vh(),m=MHe(),C=f.min,E=f.max,x=f.scaleAndAdd,y=f.copy,I=[],v=[],B=[];function Q(M){return isNaN(M[0])||isNaN(M[1])}function T(M,L,F,k,N,G,J,K,X,q,ee){return q==="none"||!q?S.apply(this,arguments):w.apply(this,arguments)}function w(M,L,F,k,N,G,J,K,X,q,ee){for(var ie=0,H=F,le=0;le=N||H<0)break;if(Q(ue)){if(ee){H+=G;continue}break}if(H===F)M[G>0?"moveTo":"lineTo"](ue[0],ue[1]);else if(X>0){var Ae=L[ie],he=q==="y"?1:0,ge=(ue[he]-Ae[he])*X;y(v,Ae),v[he]=Ae[he]+ge,y(B,ue),B[he]=ue[he]-ge,M.bezierCurveTo(v[0],v[1],B[0],B[1],ue[0],ue[1])}else M.lineTo(ue[0],ue[1]);ie=H,H+=G}return le}function S(M,L,F,k,N,G,J,K,X,q,ee){for(var ie=0,H=F,le=0;le=N||H<0)break;if(Q(ue)){if(ee){H+=G;continue}break}if(H===F)M[G>0?"moveTo":"lineTo"](ue[0],ue[1]),y(v,ue);else if(X>0){var Ae=H+G,fe=L[Ae];if(ee)for(;fe&&Q(L[Ae]);)Ae+=G,fe=L[Ae];var he=.5,ge=L[ie],fe=L[Ae];if(!fe||Q(fe))y(B,ue);else{Q(fe)&&!ee&&(fe=ue),f.sub(I,fe,ge);var ae,U;if(q==="x"||q==="y"){var W=q==="x"?0:1;ae=Math.abs(ue[W]-ge[W]),U=Math.abs(ue[W]-fe[W])}else ae=f.dist(ue,ge),U=f.dist(ue,fe);he=U/(U+ae),x(B,ue,I,-X*(1-he))}C(v,v,K),E(v,v,J),C(B,B,K),E(B,B,J),M.bezierCurveTo(v[0],v[1],B[0],B[1],ue[0],ue[1]),x(v,ue,I,X*he)}else M.lineTo(ue[0],ue[1]);ie=H,H+=G}return le}function D(M,L){var F=[1/0,1/0],k=[-1/0,-1/0];if(L)for(var N=0;Nk[0]&&(k[0]=G[0]),G[1]>k[1]&&(k[1]=G[1])}return{min:L?F:k,max:L?k:F}}var R=A.extend({type:"ec-polyline",shape:{points:[],smooth:0,smoothConstraint:!0,smoothMonotone:null,connectNulls:!1},style:{fill:null,stroke:"#000"},brush:m(A.prototype.brush),buildPath:function(M,L){var F=L.points,k=0,N=F.length,G=D(F,L.smoothConstraint);if(L.connectNulls){for(;N>0&&Q(F[N-1]);N--);for(;k0&&Q(F[G-1]);G--);for(;N{var A=To(),f=ds(),m=f.round;function C(y,I,v){var B=y.getArea(),Q=y.getBaseAxis().isHorizontal(),T=B.x,w=B.y,S=B.width,D=B.height,R=v.get("lineStyle.width")||2;T-=R/2,w-=R/2,S+=R,D+=R,T=Math.floor(T),S=Math.round(S);var P=new A.Rect({shape:{x:T,y:w,width:S,height:D}});return I&&(P.shape[Q?"width":"height"]=0,A.initProps(P,{shape:{width:S,height:D}},v)),P}function E(y,I,v){var B=y.getArea(),Q=new A.Sector({shape:{cx:m(y.cx,1),cy:m(y.cy,1),r0:m(B.r0,1),r:m(B.r,1),startAngle:B.startAngle,endAngle:B.endAngle,clockwise:B.clockwise}});return I&&(Q.shape.endAngle=B.startAngle,A.initProps(Q,{shape:{endAngle:B.endAngle}},v)),Q}function x(y,I,v){if(y){if(y.type==="polar")return E(y,I,v);if(y.type==="cartesian2d")return C(y,I,v)}else return null;return null}o.createGridClipPath=C,o.createPolarClipPath=E,o.createClipPath=x}),mpt=wt((o,A)=>{var f=Bu(),m=f.__DEV__,C=Bi(),E=Ez(),x=E.fromPoints,y=vz(),I=ute(),v=ppt(),B=To(),Q=Bl(),T=ZHe(),w=T.Polyline,S=T.Polygon,D=Jb(),R=XHe(),P=R.prepareDataCoordInfo,M=R.getStackedOnPoint,L=Bz(),F=L.createGridClipPath,k=L.createPolarClipPath;function N(ue,Ae){if(ue.length===Ae.length){for(var he=0;he=0;ae--){var U=he[ae].dimension,W=ue.dimensions[U],Y=ue.getDimensionInfo(W);if(ge=Y&&Y.coordDim,ge==="x"||ge==="y"){fe=he[ae];break}}if(fe){var z=Ae.getAxis(ge),re=C.map(fe.stops,function(Ge){return{coord:z.toGlobalCoord(z.dataToCoord(Ge.value)),color:Ge.color}}),se=re.length,de=fe.outerColors.slice();se&&re[0].coord>re[se-1].coord&&(re.reverse(),de.reverse());var me=10,Ce=re[0].coord-me,Ie=re[se-1].coord+me,we=Ie-Ce;if(we<.001)return"transparent";C.each(re,function(Ge){Ge.offset=(Ge.coord-Ce)/we}),re.push({offset:se?re[se-1].offset:.5,color:de[1]||"transparent"}),re.unshift({offset:se?re[0].offset:.5,color:de[0]||"transparent"});var Te=new B.LinearGradient(0,0,0,0,re,!0);return Te[ge]=Ce,Te[ge+"2"]=Ie,Te}}}function ee(ue,Ae,he){var ge=ue.get("showAllSymbol"),fe=ge==="auto";if(!(ge&&!fe)){var ae=he.getAxesByScale("ordinal")[0];if(ae&&!(fe&&ie(ae,Ae))){var U=Ae.mapDimension(ae.dim),W={};return C.each(ae.getViewLabels(),function(Y){W[Y.tickValue]=1}),function(Y){return!W.hasOwnProperty(Ae.get(U,Y))}}}}function ie(ue,Ae){var he=ue.getExtent(),ge=Math.abs(he[1]-he[0])/ue.scale.count();isNaN(ge)&&(ge=0);for(var fe=Ae.count(),ae=Math.max(1,Math.round(fe/5)),U=0;Uge)return!1;return!0}function H(ue,Ae,he){if(ue.type==="cartesian2d"){var ge=ue.getBaseAxis().isHorizontal(),fe=F(ue,Ae,he);if(!he.get("clip",!0)){var ae=fe.shape,U=Math.max(ae.width,ae.height);ge?(ae.y-=U,ae.height+=U*2):(ae.x-=U,ae.width+=U*2)}return fe}else return k(ue,Ae,he)}var le=D.extend({type:"line",init:function(){var ue=new B.Group,Ae=new y;this.group.add(Ae.group),this._symbolDraw=Ae,this._lineGroup=ue},render:function(ue,Ae,he){var ge=ue.coordinateSystem,fe=this.group,ae=ue.getData(),U=ue.getModel("lineStyle"),W=ue.getModel("areaStyle"),Y=ae.mapArray(ae.getItemLayout),z=ge.type==="polar",re=this._coordSys,se=this._symbolDraw,de=this._polyline,me=this._polygon,Ce=this._lineGroup,Ie=ue.get("animation"),we=!W.isEmpty(),Te=W.get("origin"),Ge=P(ge,ae,Te),ke=K(ge,ae,Ge),Oe=ue.get("showSymbol"),Le=Oe&&!z&&ee(ue,ae,ge),be=this._data;be&&be.eachItemGraphicEl(function(ot,Et){ot.__temp&&(fe.remove(ot),be.setItemGraphicEl(Et,null))}),Oe||se.remove(),fe.add(Ce);var Ne=!z&&ue.get("step"),Ue;ge&&ge.getArea&&ue.get("clip",!0)&&(Ue=ge.getArea(),Ue.width!=null?(Ue.x-=.1,Ue.y-=.1,Ue.width+=.2,Ue.height+=.2):Ue.r0&&(Ue.r0-=.5,Ue.r1+=.5)),this._clipShapeForSymbol=Ue,de&&re.type===ge.type&&Ne===this._step?(we&&!me?me=this._newPolygon(Y,ke,ge,Ie):me&&!we&&(Ce.remove(me),me=this._polygon=null),Ce.setClipPath(H(ge,!1,ue)),Oe&&se.updateData(ae,{isIgnore:Le,clipShape:Ue}),ae.eachItemGraphicEl(function(ot){ot.stopAnimation(!0)}),(!N(this._stackedOnPoints,ke)||!N(this._points,Y))&&(Ie?this._updateAnimation(ae,ke,ge,he,Ne,Te):(Ne&&(Y=X(Y,ge,Ne),ke=X(ke,ge,Ne)),de.setShape({points:Y}),me&&me.setShape({points:Y,stackedOnPoints:ke})))):(Oe&&se.updateData(ae,{isIgnore:Le,clipShape:Ue}),Ne&&(Y=X(Y,ge,Ne),ke=X(ke,ge,Ne)),de=this._newPolyline(Y,ge,Ie),we&&(me=this._newPolygon(Y,ke,ge,Ie)),Ce.setClipPath(H(ge,!0,ue)));var ze=q(ae,ge)||ae.getVisual("color");de.useStyle(C.defaults(U.getLineStyle(),{fill:"none",stroke:ze,lineJoin:"bevel"}));var Je=ue.get("smooth");if(Je=J(ue.get("smooth")),de.setShape({smooth:Je,smoothMonotone:ue.get("smoothMonotone"),connectNulls:ue.get("connectNulls")}),me){var Xe=ae.getCalculationInfo("stackedOnSeries"),et=0;me.useStyle(C.defaults(W.getAreaStyle(),{fill:ze,opacity:.7,lineJoin:"bevel"})),Xe&&(et=J(Xe.get("smooth"))),me.setShape({smooth:Je,stackedOnSmooth:et,smoothMonotone:ue.get("smoothMonotone"),connectNulls:ue.get("connectNulls")})}this._data=ae,this._coordSys=ge,this._stackedOnPoints=ke,this._points=Y,this._step=Ne,this._valueOrigin=Te},dispose:function(){},highlight:function(ue,Ae,he,ge){var fe=ue.getData(),ae=Q.queryDataIndex(fe,ge);if(!(ae instanceof Array)&&ae!=null&&ae>=0){var U=fe.getItemGraphicEl(ae);if(!U){var W=fe.getItemLayout(ae);if(!W||this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(W[0],W[1]))return;U=new I(fe,ae),U.position=W,U.setZ(ue.get("zlevel"),ue.get("z")),U.ignore=isNaN(W[0])||isNaN(W[1]),U.__temp=!0,fe.setItemGraphicEl(ae,U),U.stopSymbolAnimation(!0),this.group.add(U)}U.highlight()}else D.prototype.highlight.call(this,ue,Ae,he,ge)},downplay:function(ue,Ae,he,ge){var fe=ue.getData(),ae=Q.queryDataIndex(fe,ge);if(ae!=null&&ae>=0){var U=fe.getItemGraphicEl(ae);U&&(U.__temp?(fe.setItemGraphicEl(ae,null),this.group.remove(U)):U.downplay())}else D.prototype.downplay.call(this,ue,Ae,he,ge)},_newPolyline:function(ue){var Ae=this._polyline;return Ae&&this._lineGroup.remove(Ae),Ae=new w({shape:{points:ue},silent:!0,z2:10}),this._lineGroup.add(Ae),this._polyline=Ae,Ae},_newPolygon:function(ue,Ae){var he=this._polygon;return he&&this._lineGroup.remove(he),he=new S({shape:{points:ue,stackedOnPoints:Ae},silent:!0}),this._lineGroup.add(he),this._polygon=he,he},_updateAnimation:function(ue,Ae,he,ge,fe,ae){var U=this._polyline,W=this._polygon,Y=ue.hostModel,z=v(this._data,ue,this._stackedOnPoints,Ae,this._coordSys,he,this._valueOrigin,ae),re=z.current,se=z.stackedOnCurrent,de=z.next,me=z.stackedOnNext;if(fe&&(re=X(z.current,he,fe),se=X(z.stackedOnCurrent,he,fe),de=X(z.next,he,fe),me=X(z.stackedOnNext,he,fe)),G(re,de)>3e3||W&&G(se,me)>3e3){U.setShape({points:de}),W&&W.setShape({points:de,stackedOnPoints:me});return}U.shape.__points=z.current,U.shape.points=re,B.updateProps(U,{shape:{points:de}},Y),W&&(W.setShape({points:re,stackedOnPoints:se}),B.updateProps(W,{shape:{points:de,stackedOnPoints:me}},Y));for(var Ce=[],Ie=z.status,we=0;we{var f=Bi(),m=f.isFunction;function C(E,x,y){return{seriesType:E,performRawSeries:!0,reset:function(I,v,B){var Q=I.getData(),T=I.get("symbol"),w=I.get("symbolSize"),S=I.get("symbolKeepAspect"),D=I.get("symbolRotate"),R=m(T),P=m(w),M=m(D),L=R||P||M,F=!R&&T?T:x,k=P?null:w,N=M?null:N;if(Q.setVisual({legendSymbol:y||F,symbol:F,symbolSize:k,symbolKeepAspect:S,symbolRotate:D}),v.isSeriesFiltered(I))return;function G(J,K){if(L){var X=I.getRawValue(K),q=I.getDataParams(K);R&&J.setItemVisual(K,"symbol",T(X,q)),P&&J.setItemVisual(K,"symbolSize",w(X,q)),M&&J.setItemVisual(K,"symbolRotate",D(X,q))}if(J.hasItemOption){var ee=J.getItemModel(K),ie=ee.getShallow("symbol",!0),H=ee.getShallow("symbolSize",!0),le=ee.getShallow("symbolRotate",!0),ue=ee.getShallow("symbolKeepAspect",!0);ie!=null&&J.setItemVisual(K,"symbol",ie),H!=null&&J.setItemVisual(K,"symbolSize",H),le!=null&&J.setItemVisual(K,"symbolRotate",le),ue!=null&&J.setItemVisual(K,"symbolKeepAspect",ue)}}return{dataEach:Q.hasItemOption||L?G:null}}}}A.exports=C}),wz=wt((o,A)=>{var f=Bi(),m=f.map,C=J4(),E=Kb(),x=E.isDimensionStacked;function y(I){return{seriesType:I,plan:C(),reset:function(v){var B=v.getData(),Q=v.coordinateSystem,T=v.pipelineContext,w=T.large;if(!Q)return;var S=m(Q.dimensions,function(M){return B.mapDimension(M)}).slice(0,2),D=S.length,R=B.getCalculationInfo("stackResultDimension");x(B,S[0])&&(S[0]=R),x(B,S[1])&&(S[1]=R);function P(M,L){for(var F=M.end-M.start,k=w&&new Float32Array(F*D),N=M.start,G=0,J=[],K=[];N{var f={average:function(E){for(var x=0,y=0,I=0;Ix&&(x=E[y]);return isFinite(x)?x:NaN},min:function(E){for(var x=1/0,y=0;y1){var P;typeof B=="string"?P=f[B]:typeof B=="function"&&(P=B),P&&x.setData(v.downSample(v.mapDimension(w.dim),1/R,P,m))}}}}}A.exports=C}),Ept=wt((o,A)=>{var f=Bi();function m(x){return this._axes[x]}var C=function(x){this._axes={},this._dimList=[],this.name=x||""};C.prototype={constructor:C,type:"cartesian",getAxis:function(x){return this._axes[x]},getAxes:function(){return f.map(this._dimList,m,this)},getAxesByScale:function(x){return x=x.toLowerCase(),f.filter(this.getAxes(),function(y){return y.scale.type===x})},addAxis:function(x){var y=x.dim;this._axes[y]=x,this._dimList.push(y)},dataToCoord:function(x){return this._dataCoordConvert(x,"dataToCoord")},coordToData:function(x){return this._dataCoordConvert(x,"coordToData")},_dataCoordConvert:function(x,y){for(var I=this._dimList,v=x instanceof Array?[]:{},B=0;B{var f=Bi(),m=zh(),C=Ept();function E(y){C.call(this,y)}E.prototype={constructor:E,type:"cartesian2d",dimensions:["x","y"],getBaseAxis:function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAxis("x")},containPoint:function(y){var I=this.getAxis("x"),v=this.getAxis("y");return I.contain(I.toLocalCoord(y[0]))&&v.contain(v.toLocalCoord(y[1]))},containData:function(y){return this.getAxis("x").containData(y[0])&&this.getAxis("y").containData(y[1])},dataToPoint:function(y,I,v){var B=this.getAxis("x"),Q=this.getAxis("y");return v=v||[],v[0]=B.toGlobalCoord(B.dataToCoord(y[0])),v[1]=Q.toGlobalCoord(Q.dataToCoord(y[1])),v},clampData:function(y,I){var v=this.getAxis("x").scale,B=this.getAxis("y").scale,Q=v.getExtent(),T=B.getExtent(),w=v.parse(y[0]),S=B.parse(y[1]);return I=I||[],I[0]=Math.min(Math.max(Math.min(Q[0],Q[1]),w),Math.max(Q[0],Q[1])),I[1]=Math.min(Math.max(Math.min(T[0],T[1]),S),Math.max(T[0],T[1])),I},pointToData:function(y,I){var v=this.getAxis("x"),B=this.getAxis("y");return I=I||[],I[0]=v.coordToData(v.toLocalCoord(y[0])),I[1]=B.coordToData(B.toLocalCoord(y[1])),I},getOtherAxis:function(y){return this.getAxis(y.dim==="x"?"y":"x")},getArea:function(){var y=this.getAxis("x").getGlobalExtent(),I=this.getAxis("y").getGlobalExtent(),v=Math.min(y[0],y[1]),B=Math.min(I[0],I[1]),Q=Math.max(y[0],y[1])-v,T=Math.max(I[0],I[1])-B,w=new m(v,B,Q,T);return w}},f.inherits(E,C);var x=E;A.exports=x}),ypt=wt((o,A)=>{var f=Bi(),m=qP(),C=function(x,y,I,v,B){m.call(this,x,y,I),this.type=v||"value",this.position=B||"bottom"};C.prototype={constructor:C,index:0,getAxesOnZeroOf:null,model:null,isHorizontal:function(){var x=this.position;return x==="top"||x==="bottom"},getGlobalExtent:function(x){var y=this.getExtent();return y[0]=this.toGlobalCoord(y[0]),y[1]=this.toGlobalCoord(y[1]),x&&y[0]>y[1]&&y.reverse(),y},getOtherAxis:function(){this.grid.getOtherAxis()},pointToData:function(x,y){return this.coordToData(this.toLocalCoord(x[this.dim==="x"?0:1]),y)},toLocalCoord:null,toGlobalCoord:null},f.inherits(C,m);var E=C;A.exports=E}),$He=wt((o,A)=>{var f=Bi(),m={show:!0,zlevel:0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#333",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,lineStyle:{color:["#ccc"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.3)","rgba(200,200,200,0.3)"]}}},C={};C.categoryAxis=f.merge({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},m),C.valueAxis=f.merge({boundaryGap:[0,0],splitNumber:5,minorTick:{show:!1,splitNumber:5,length:3,lineStyle:{}},minorSplitLine:{show:!1,lineStyle:{color:"#eee",width:1}}},m),C.timeAxis=f.defaults({scale:!0,min:"dataMin",max:"dataMax"},C.valueAxis),C.logAxis=f.defaults({scale:!0,logBase:10},C.valueAxis);var E=C;A.exports=E}),Ate=wt((o,A)=>{var f=Bi(),m=$He(),C=C0(),E=pc(),x=E.getLayoutParams,y=E.mergeLayoutParam,I=zHe(),v=["value","category","time","log"];function B(Q,T,w,S){f.each(v,function(D){T.extend({type:Q+"Axis."+D,mergeDefaultAndTheme:function(R,P){var M=this.layoutMode,L=M?x(R):{},F=P.getTheme();f.merge(R,F.get(D+"Axis")),f.merge(R,this.getDefaultOption()),R.type=w(Q,R),M&&y(R,L,M)},optionUpdated:function(){var R=this.option;R.type==="category"&&(this.__ordinalMeta=I.createByAxisModel(this))},getCategories:function(R){var P=this.option;if(P.type==="category")return R?P.data:this.__ordinalMeta.categories},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:f.mergeAll([{},m[D+"Axis"],S],!0)})}),C.registerSubTypeDefaulter(Q+"Axis",f.curry(w,Q))}A.exports=B}),e6e=wt((o,A)=>{var f=Bi(),m=C0(),C=Ate(),E=W4(),x=m.extend({type:"cartesian2dAxis",axis:null,init:function(){x.superApply(this,"init",arguments),this.resetRange()},mergeOption:function(){x.superApply(this,"mergeOption",arguments),this.resetRange()},restoreData:function(){x.superApply(this,"restoreData",arguments),this.resetRange()},getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"grid",index:this.option.gridIndex,id:this.option.gridId})[0]}});function y(B,Q){return Q.type||(Q.data?"category":"value")}f.merge(x.prototype,E);var I={offset:0};C("x",x,y,I),C("y",x,y,I);var v=x;A.exports=v}),Ipt=wt((o,A)=>{e6e();var f=C0(),m=f.extend({type:"grid",dependencies:["xAxis","yAxis"],layoutMode:"box",coordinateSystem:null,defaultOption:{show:!1,zlevel:0,z:0,left:"10%",top:60,right:"10%",bottom:60,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"}});A.exports=m}),g0e=wt((o,A)=>{var f=Bu(),m=f.__DEV__,C=Bi(),E=C.isObject,x=C.each,y=C.map,I=C.indexOf,v=C.retrieve,B=pc(),Q=B.getLayoutRect,T=Cw(),w=T.createScaleByModel,S=T.ifAxisCrossZero,D=T.niceScaleExtent,R=T.estimateLabelUnionRect,P=xpt(),M=ypt(),L=mw(),F=Kb(),k=F.getStackedDimension;Ipt();function N(ue,Ae,he){return ue.getCoordSysModel()===Ae}function G(ue,Ae,he){this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this._initCartesian(ue,Ae,he),this.model=ue}var J=G.prototype;J.type="grid",J.axisPointerEnabled=!0,J.getRect=function(){return this._rect},J.update=function(ue,Ae){var he=this._axesMap;this._updateScale(ue,this.model),x(he.x,function(fe){D(fe.scale,fe.model)}),x(he.y,function(fe){D(fe.scale,fe.model)});var ge={};x(he.x,function(fe){K(he,"y",fe,ge)}),x(he.y,function(fe){K(he,"x",fe,ge)}),this.resize(this.model,Ae)};function K(ue,Ae,he,ge){he.getAxesOnZeroOf=function(){return ae?[ae]:[]};var fe=ue[Ae],ae,U=he.model,W=U.get("axisLine.onZero"),Y=U.get("axisLine.onZeroAxisIndex");if(!W)return;if(Y!=null)X(fe[Y])&&(ae=fe[Y]);else for(var z in fe)if(fe.hasOwnProperty(z)&&X(fe[z])&&!ge[re(fe[z])]){ae=fe[z];break}ae&&(ge[re(ae)]=!0);function re(se){return se.dim+"_"+se.index}}function X(ue){return ue&&ue.type!=="category"&&ue.type!=="time"&&S(ue)}J.resize=function(ue,Ae,he){var ge=Q(ue.getBoxLayoutParams(),{width:Ae.getWidth(),height:Ae.getHeight()});this._rect=ge;var fe=this._axesList;ae(),!he&&ue.get("containLabel")&&(x(fe,function(U){if(!U.model.get("axisLabel.inside")){var W=R(U);if(W){var Y=U.isHorizontal()?"height":"width",z=U.model.get("axisLabel.margin");ge[Y]-=W[Y]+z,U.position==="top"?ge.y+=W.height+z:U.position==="left"&&(ge.x+=W.width+z)}}}),ae());function ae(){x(fe,function(U){var W=U.isHorizontal(),Y=W?[0,ge.width]:[0,ge.height],z=U.inverse?1:0;U.setExtent(Y[z],Y[1-z]),q(U,W?ge.x:ge.y)})}},J.getAxis=function(ue,Ae){var he=this._axesMap[ue];if(he!=null){if(Ae==null){for(var ge in he)if(he.hasOwnProperty(ge))return he[ge]}return he[Ae]}},J.getAxes=function(){return this._axesList.slice()},J.getCartesian=function(ue,Ae){if(ue!=null&&Ae!=null){var he="x"+ue+"y"+Ae;return this._coordsMap[he]}E(ue)&&(Ae=ue.yAxisIndex,ue=ue.xAxisIndex);for(var ge=0,fe=this._coordsList;ge{var f=Bi(),m=f.retrieve,C=f.defaults,E=f.extend,x=f.each,y=Tc(),I=To(),v=qf(),B=ds(),Q=B.isRadianAroundZero,T=B.remRadian,w=lv(),S=w.createSymbol,D=xE(),R=vh(),P=R.applyTransform,M=Cw(),L=M.shouldShowAllLabels,F=Math.PI,k=function(fe,ae){this.opt=ae,this.axisModel=fe,C(ae,{labelOffset:0,nameDirection:1,tickDirection:1,labelDirection:1,silent:!0}),this.group=new I.Group;var U=new I.Group({position:ae.position.slice(),rotation:ae.rotation});U.updateTransform(),this._transform=U.transform,this._dumbGroup=U};k.prototype={constructor:k,hasBuilder:function(fe){return!!N[fe]},add:function(fe){N[fe].call(this)},getGroup:function(){return this.group}};var N={axisLine:function(){var fe=this.opt,ae=this.axisModel;if(ae.get("axisLine.show")){var U=this.axisModel.axis.getExtent(),W=this._transform,Y=[U[0],0],z=[U[1],0];W&&(P(Y,Y,W),P(z,z,W));var re=E({lineCap:"round"},ae.getModel("axisLine.lineStyle").getLineStyle());this.group.add(new I.Line({anid:"line",subPixelOptimize:!0,shape:{x1:Y[0],y1:Y[1],x2:z[0],y2:z[1]},style:re,strokeContainThreshold:fe.strokeContainThreshold||5,silent:!0,z2:1}));var se=ae.get("axisLine.symbol"),de=ae.get("axisLine.symbolSize"),me=ae.get("axisLine.symbolOffset")||0;if(typeof me=="number"&&(me=[me,me]),se!=null){typeof se=="string"&&(se=[se,se]),(typeof de=="string"||typeof de=="number")&&(de=[de,de]);var Ce=de[0],Ie=de[1];x([{rotate:fe.rotation+Math.PI/2,offset:me[0],r:0},{rotate:fe.rotation-Math.PI/2,offset:me[1],r:Math.sqrt((Y[0]-z[0])*(Y[0]-z[0])+(Y[1]-z[1])*(Y[1]-z[1]))}],function(we,Te){if(se[Te]!=="none"&&se[Te]!=null){var Ge=S(se[Te],-Ce/2,-Ie/2,Ce,Ie,re.stroke,!0),ke=we.r+we.offset,Oe=[Y[0]+ke*Math.cos(fe.rotation),Y[1]-ke*Math.sin(fe.rotation)];Ge.attr({rotation:we.rotate,position:Oe,silent:!0,z2:11}),this.group.add(Ge)}},this)}}},axisTickLabel:function(){var fe=this.axisModel,ae=this.opt,U=ue(this,fe,ae),W=he(this,fe,ae);q(fe,W,U),Ae(this,fe,ae)},axisName:function(){var fe=this.opt,ae=this.axisModel,U=m(fe.axisName,ae.get("name"));if(U){var W=ae.get("nameLocation"),Y=fe.nameDirection,z=ae.getModel("nameTextStyle"),re=ae.get("nameGap")||0,se=this.axisModel.axis.getExtent(),de=se[0]>se[1]?-1:1,me=[W==="start"?se[0]-de*re:W==="end"?se[1]+de*re:(se[0]+se[1])/2,H(W)?fe.labelOffset+Y*re:0],Ce,Ie=ae.get("nameRotate");Ie!=null&&(Ie=Ie*F/180);var we;H(W)?Ce=J(fe.rotation,Ie??fe.rotation,Y):(Ce=K(fe,W,Ie||0,se),we=fe.axisNameAvailableWidth,we!=null&&(we=Math.abs(we/Math.sin(Ce.rotation)),!isFinite(we)&&(we=null)));var Te=z.getFont(),Ge=ae.get("nameTruncate",!0)||{},ke=Ge.ellipsis,Oe=m(fe.nameTruncateMaxWidth,Ge.maxWidth,we),Le=ke!=null&&Oe!=null?y.truncateText(U,Oe,Te,ke,{minChar:2,placeholder:Ge.placeholder}):U,be=ae.get("tooltip",!0),Ne=ae.mainType,Ue={componentType:Ne,name:U,$vars:["name"]};Ue[Ne+"Index"]=ae.componentIndex;var ze=new I.Text({anid:"name",__fullText:U,__truncatedText:Le,position:me,rotation:Ce.rotation,silent:X(ae),z2:1,tooltip:be&&be.show?E({content:U,formatter:function(){return U},formatterParams:Ue},be):null});I.setTextStyle(ze.style,z,{text:Le,textFont:Te,textFill:z.getTextColor()||ae.get("axisLine.lineStyle.color"),textAlign:z.get("align")||Ce.textAlign,textVerticalAlign:z.get("verticalAlign")||Ce.textVerticalAlign}),ae.get("triggerEvent")&&(ze.eventData=G(ae),ze.eventData.targetType="axisName",ze.eventData.name=U),this._dumbGroup.add(ze),ze.updateTransform(),this.group.add(ze),ze.decomposeTransform()}}},G=k.makeAxisEventDataBase=function(fe){var ae={componentType:fe.mainType,componentIndex:fe.componentIndex};return ae[fe.mainType+"Index"]=fe.componentIndex,ae},J=k.innerTextLayout=function(fe,ae,U){var W=T(ae-fe),Y,z;return Q(W)?(z=U>0?"top":"bottom",Y="center"):Q(W-F)?(z=U>0?"bottom":"top",Y="center"):(z="middle",W>0&&W0?"right":"left":Y=U>0?"left":"right"),{rotation:W,textAlign:Y,textVerticalAlign:z}};function K(fe,ae,U,W){var Y=T(U-fe.rotation),z,re,se=W[0]>W[1],de=ae==="start"&&!se||ae!=="start"&&se;return Q(Y-F/2)?(re=de?"bottom":"top",z="center"):Q(Y-F*1.5)?(re=de?"top":"bottom",z="center"):(re="middle",YF/2?z=de?"left":"right":z=de?"right":"left"),{rotation:Y,textAlign:z,textVerticalAlign:re}}var X=k.isLabelSilent=function(fe){var ae=fe.get("tooltip");return fe.get("silent")||!(fe.get("triggerEvent")||ae&&ae.show)};function q(fe,ae,U){if(!L(fe.axis)){var W=fe.get("axisLabel.showMinLabel"),Y=fe.get("axisLabel.showMaxLabel");ae=ae||[],U=U||[];var z=ae[0],re=ae[1],se=ae[ae.length-1],de=ae[ae.length-2],me=U[0],Ce=U[1],Ie=U[U.length-1],we=U[U.length-2];W===!1?(ee(z),ee(me)):ie(z,re)&&(W?(ee(re),ee(Ce)):(ee(z),ee(me))),Y===!1?(ee(se),ee(Ie)):ie(de,se)&&(Y?(ee(de),ee(we)):(ee(se),ee(Ie)))}}function ee(fe){fe&&(fe.ignore=!0)}function ie(fe,ae,U){var W=fe&&fe.getBoundingRect().clone(),Y=ae&&ae.getBoundingRect().clone();if(!(!W||!Y)){var z=D.identity([]);return D.rotate(z,z,-fe.rotation),W.applyTransform(D.mul([],z,fe.getLocalTransform())),Y.applyTransform(D.mul([],z,ae.getLocalTransform())),W.intersect(Y)}}function H(fe){return fe==="middle"||fe==="center"}function le(fe,ae,U,W,Y){for(var z=[],re=[],se=[],de=0;de{var A=Bi(),f=qf(),m=A.each,C=A.curry;function E(R,P){var M={axesInfo:{},seriesInvolved:!1,coordSysAxesInfo:{},coordSysMap:{}};return x(M,R,P),M.seriesInvolved&&I(M,R),M}function x(R,P,M){var L=P.getComponent("tooltip"),F=P.getComponent("axisPointer"),k=F.get("link",!0)||[],N=[];m(M.getCoordinateSystems(),function(G){if(!G.axisPointerEnabled)return;var J=D(G.model),K=R.coordSysAxesInfo[J]={};R.coordSysMap[J]=G;var X=G.model,q=X.getModel("tooltip",L);if(m(G.getAxes(),C(le,!1,null)),G.getTooltipAxes&&L&&q.get("show")){var ee=q.get("trigger")==="axis",ie=q.get("axisPointer.type")==="cross",H=G.getTooltipAxes(q.get("axisPointer.axis"));(ee||ie)&&m(H.baseAxes,C(le,ie?"cross":!0,ee)),ie&&m(H.otherAxes,C(le,"cross",!1))}function le(ue,Ae,he){var ge=he.model.getModel("axisPointer",F),fe=ge.get("show");if(!(!fe||fe==="auto"&&!ue&&!S(ge))){Ae==null&&(Ae=ge.get("triggerTooltip")),ge=ue?y(he,q,F,P,ue,Ae):ge;var ae=ge.get("snap"),U=D(he.model),W=Ae||ae||he.type==="category",Y=R.axesInfo[U]={key:U,axis:he,coordSys:G,axisPointerModel:ge,triggerTooltip:Ae,involveSeries:W,snap:ae,useHandle:S(ge),seriesModels:[]};K[U]=Y,R.seriesInvolved|=W;var z=v(k,he);if(z!=null){var re=N[z]||(N[z]={axesInfo:{}});re.axesInfo[U]=Y,re.mapper=k[z].mapper,Y.linkGroup=re}}}})}function y(R,P,M,L,F,k){var N=P.getModel("axisPointer"),G={};m(["type","snap","lineStyle","shadowStyle","label","animation","animationDurationUpdate","animationEasingUpdate","z"],function(q){G[q]=A.clone(N.get(q))}),G.snap=R.type!=="category"&&!!k,N.get("type")==="cross"&&(G.type="line");var J=G.label||(G.label={});if(J.show==null&&(J.show=!1),F==="cross"){var K=N.get("label.show");if(J.show=K??!0,!k){var X=G.lineStyle=N.get("crossStyle");X&&A.defaults(J,X.textStyle)}}return R.model.getModel("axisPointer",new f(G,M,L))}function I(R,P){P.eachSeries(function(M){var L=M.coordinateSystem,F=M.get("tooltip.trigger",!0),k=M.get("tooltip.show",!0);!L||F==="none"||F===!1||F==="item"||k===!1||M.get("axisPointer.show",!0)===!1||m(R.coordSysAxesInfo[D(L.model)],function(N){var G=N.axis;L.getAxis(G.dim)===G&&(N.seriesModels.push(M),N.seriesDataCount==null&&(N.seriesDataCount=0),N.seriesDataCount+=M.getData().count())})},this)}function v(R,P){for(var M=P.model,L=P.dim,F=0;F=0||R===P}function Q(R){var P=T(R);if(P){var M=P.axisPointerModel,L=P.axis.scale,F=M.option,k=M.get("status"),N=M.get("value");N!=null&&(N=L.parse(N));var G=S(M);k==null&&(F.status=G?"show":"hide");var J=L.getExtent().slice();J[0]>J[1]&&J.reverse(),(N==null||N>J[1])&&(N=J[1]),N{var f=Bu(),m=f.__DEV__,C=Dn(),E=cte(),x=C.extendComponentView({type:"axis",_axisPointer:null,axisPointerClass:null,render:function(Q,T,w,S){this.axisPointerClass&&E.fixValue(Q),x.superApply(this,"render",arguments),y(this,Q,T,w,S,!0)},updateAxisPointer:function(Q,T,w,S,D){y(this,Q,T,w,S,!1)},remove:function(Q,T){var w=this._axisPointer;w&&w.remove(T),x.superApply(this,"remove",arguments)},dispose:function(Q,T){I(this,T),x.superApply(this,"dispose",arguments)}});function y(Q,T,w,S,D,R){var P=x.getAxisPointerClass(Q.axisPointerClass);if(P){var M=E.getAxisPointerModel(T);M?(Q._axisPointer||(Q._axisPointer=new P)).render(T,M,S,R):I(Q,S)}}function I(Q,T,w){var S=Q._axisPointer;S&&S.dispose(T,w),Q._axisPointer=null}var v=[];x.registerAxisPointerClass=function(Q,T){v[Q]=T},x.getAxisPointerClass=function(Q){return Q&&v[Q]};var B=x;A.exports=B}),t6e=wt(o=>{var A=Bi();function f(m,C,E){E=E||{};var x=m.coordinateSystem,y=C.axis,I={},v=y.getAxesOnZeroOf()[0],B=y.position,Q=v?"onZero":B,T=y.dim,w=x.getRect(),S=[w.x,w.x+w.width,w.y,w.y+w.height],D={left:0,right:1,top:0,bottom:1,onZero:2},R=C.get("offset")||0,P=T==="x"?[S[2]-R,S[3]+R]:[S[0]-R,S[1]+R];if(v){var M=v.toGlobalCoord(v.dataToCoord(0));P[D.onZero]=Math.max(Math.min(M,P[1]),P[0])}I.position=[T==="y"?P[D[Q]]:S[0],T==="x"?P[D[Q]]:S[3]],I.rotation=Math.PI/2*(T==="x"?0:1);var L={top:-1,bottom:1,left:-1,right:1};I.labelDirection=I.tickDirection=I.nameDirection=L[B],I.labelOffset=v?P[D[B]]-P[D.onZero]:0,C.get("axisTick.inside")&&(I.tickDirection=-I.tickDirection),A.retrieve(E.labelInside,C.get("axisLabel.inside"))&&(I.labelDirection=-I.labelDirection);var F=C.get("axisLabel.rotate");return I.labelRotate=Q==="top"?-F:F,I.z2=1,I}o.layout=f}),i6e=wt(o=>{var A=Bi(),f=To();function m(E,x,y,I){var v=y.axis;if(!v.scale.isBlank()){var B=y.getModel("splitArea"),Q=B.getModel("areaStyle"),T=Q.get("color"),w=I.coordinateSystem.getRect(),S=v.getTicksCoords({tickModel:B,clamp:!0});if(S.length){var D=T.length,R=E.__splitAreaColors,P=A.createHashMap(),M=0;if(R)for(var L=0;L{var o=Bi(),A=To(),f=XP(),m=t3(),C=t6e(),E=i6e(),x=E.rectCoordAxisBuildSplitArea,y=E.rectCoordAxisHandleRemove,I=["axisLine","axisTickLabel","axisName"],v=["splitArea","splitLine","minorSplitLine"],B=m.extend({type:"cartesianAxis",axisPointerClass:"CartesianAxisPointer",render:function(Q,T,w,S){this.group.removeAll();var D=this._axisGroup;if(this._axisGroup=new A.Group,this.group.add(this._axisGroup),!!Q.get("show")){var R=Q.getCoordSysModel(),P=C.layout(R,Q),M=new f(Q,P);o.each(I,M.add,M),this._axisGroup.add(M.getGroup()),o.each(v,function(L){Q.get(L+".show")&&this["_"+L](Q,R)},this),A.groupTransition(D,this._axisGroup,Q),B.superCall(this,"render",Q,T,w,S)}},remove:function(){y(this)},_splitLine:function(Q,T){var w=Q.axis;if(!w.scale.isBlank()){var S=Q.getModel("splitLine"),D=S.getModel("lineStyle"),R=D.get("color");R=o.isArray(R)?R:[R];for(var P=T.coordinateSystem.getRect(),M=w.isHorizontal(),L=0,F=w.getTicksCoords({tickModel:S}),k=[],N=[],G=D.getLineStyle(),J=0;J{e6e(),_pt()}),bz=wt(()=>{var o=Dn(),A=Bi(),f=To();g0e(),vpt(),o.extendComponentView({type:"grid",render:function(m,C){this.group.removeAll(),m.get("show")&&this.group.add(new f.Rect({shape:m.coordinateSystem.getRect(),style:A.defaults({fill:m.get("backgroundColor")},m.getItemStyle()),silent:!0,z2:-1}))}}),o.registerPreprocessor(function(m){m.xAxis&&m.yAxis&&!m.grid&&(m.grid={})})}),Bpt=wt(()=>{var o=Dn();gpt(),mpt();var A=e3(),f=wz(),m=Cpt();bz(),o.registerVisual(A("line","circle","line")),o.registerLayout(f("line")),o.registerProcessor(o.PRIORITY.PROCESSOR.STATISTIC,m("line"))}),r6e=wt((o,A)=>{var f=E0(),m=KD(),C=f.extend({type:"series.__base_bar__",getInitialData:function(E,x){return m(this.getSource(),this,{useEncodeDefaulter:!0})},getMarkerPosition:function(E){var x=this.coordinateSystem;if(x){var y=x.dataToPoint(x.clampData(E)),I=this.getData(),v=I.getLayout("offset"),B=I.getLayout("size"),Q=x.getBaseAxis().isHorizontal()?0:1;return y[Q]+=v+B/2,y}return[NaN,NaN]},defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:"mod",itemStyle:{},emphasis:{}}});A.exports=C}),wpt=wt((o,A)=>{var f=r6e(),m=f.extend({type:"series.bar",dependencies:["grid","polar"],brushSelector:"rect",getProgressive:function(){return this.get("large")?this.get("progressive"):!1},getProgressiveThreshold:function(){var C=this.get("progressiveThreshold"),E=this.get("largeThreshold");return E>C&&(C=E),C},defaultOption:{clip:!0,roundCap:!1,showBackground:!1,backgroundStyle:{color:"rgba(180, 180, 180, 0.2)",borderColor:null,borderWidth:0,borderType:"solid",borderRadius:0,shadowBlur:0,shadowColor:null,shadowOffsetX:0,shadowOffsetY:0,opacity:1}}});A.exports=m}),n6e=wt(o=>{var A=To(),f=f0e(),m=f.getDefaultLabel;function C(x,y,I,v,B,Q,T){var w=I.getModel("label"),S=I.getModel("emphasis.label");A.setLabelStyle(x,y,w,S,{labelFetcher:B,labelDataIndex:Q,defaultText:m(B.getData(),Q),isRectText:!0,autoColor:v}),E(x),E(y)}function E(x,y){x.textPosition==="outside"&&(x.textPosition=y)}o.setLabel=C}),bpt=wt((o,A)=>{var f=z4(),m=f([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["stroke","barBorderColor"],["lineWidth","barBorderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),C={getBarItemStyle:function(E){var x=m(this,E);if(this.getBorderLineDash){var y=this.getBorderLineDash();y&&(x.lineDash=y)}return x}};A.exports=C}),Qpt=wt((o,A)=>{var f=To(),m=f.extendShape,C=m({type:"sausage",shape:{cx:0,cy:0,r0:0,r:0,startAngle:0,endAngle:Math.PI*2,clockwise:!0},buildPath:function(E,x){var y=x.cx,I=x.cy,v=Math.max(x.r0||0,0),B=Math.max(x.r,0),Q=(B-v)*.5,T=v+Q,w=x.startAngle,S=x.endAngle,D=x.clockwise,R=Math.cos(w),P=Math.sin(w),M=Math.cos(S),L=Math.sin(S),F=D?S-w{var f=Bu(),m=f.__DEV__,C=Dn(),E=Bi(),x=To(),y=n6e(),I=y.setLabel,v=qf(),B=bpt(),Q=If(),T=qN(),w=WP(),S=w.throttle,D=Bz(),R=D.createClipPath,P=Qpt(),M=["itemStyle","barBorderWidth"],L=[0,0];E.extend(v.prototype,B);function F(Y,z){var re=Y.getArea&&Y.getArea();if(Y.type==="cartesian2d"){var se=Y.getBaseAxis();if(se.type!=="category"||!se.onBand){var de=z.getLayout("bandWidth");se.isHorizontal()?(re.x-=de,re.width+=de*2):(re.y-=de,re.height+=de*2)}}return re}var k=C.extendChartView({type:"bar",render:function(Y,z,re){this._updateDrawMode(Y);var se=Y.get("coordinateSystem");return(se==="cartesian2d"||se==="polar")&&(this._isLargeDraw?this._renderLarge(Y,z,re):this._renderNormal(Y,z,re)),this.group},incrementalPrepareRender:function(Y,z,re){this._clear(),this._updateDrawMode(Y)},incrementalRender:function(Y,z,re,se){this._incrementalRenderLarge(Y,z)},_updateDrawMode:function(Y){var z=Y.pipelineContext.large;(this._isLargeDraw==null||z^this._isLargeDraw)&&(this._isLargeDraw=z,this._clear())},_renderNormal:function(Y,z,re){var se=this.group,de=Y.getData(),me=this._data,Ce=Y.coordinateSystem,Ie=Ce.getBaseAxis(),we;Ce.type==="cartesian2d"?we=Ie.isHorizontal():Ce.type==="polar"&&(we=Ie.dim==="angle");var Te=Y.isAnimationEnabled()?Y:null,Ge=Y.get("clip",!0),ke=F(Ce,de);se.removeClipPath();var Oe=Y.get("roundCap",!0),Le=Y.get("showBackground",!0),be=Y.getModel("backgroundStyle"),Ne=be.get("barBorderRadius")||0,Ue=[],ze=this._backgroundEls||[];de.diff(me).add(function(et){var ot=de.getItemModel(et),Et=ee[Ce.type](de,et,ot);if(Le){var Ct=ee[Ce.type](de,et),ct=W(Ce,we,Ct);ct.useStyle(be.getBarItemStyle()),Ce.type==="cartesian2d"&&ct.setShape("r",Ne),Ue[et]=ct}if(de.hasValue(et)){if(Ge){var yt=J[Ce.type](ke,Et);if(yt){se.remove(Qt);return}}var Qt=K[Ce.type](et,Et,we,Te,!1,Oe);de.setItemGraphicEl(et,Qt),se.add(Qt),H(Qt,de,et,ot,Et,Y,we,Ce.type==="polar")}}).update(function(et,ot){var Et=de.getItemModel(et),Ct=ee[Ce.type](de,et,Et);if(Le){var ct=ze[ot];ct.useStyle(be.getBarItemStyle()),Ce.type==="cartesian2d"&&ct.setShape("r",Ne),Ue[et]=ct;var yt=ee[Ce.type](de,et),Qt=U(we,yt,Ce);x.updateProps(ct,{shape:Qt},Te,et)}var Ze=me.getItemGraphicEl(ot);if(!de.hasValue(et)){se.remove(Ze);return}if(Ge){var ut=J[Ce.type](ke,Ct);if(ut){se.remove(Ze);return}}Ze?x.updateProps(Ze,{shape:Ct},Te,et):Ze=K[Ce.type](et,Ct,we,Te,!0,Oe),de.setItemGraphicEl(et,Ze),se.add(Ze),H(Ze,de,et,Et,Ct,Y,we,Ce.type==="polar")}).remove(function(et){var ot=me.getItemGraphicEl(et);Ce.type==="cartesian2d"?ot&&X(et,Te,ot):ot&&q(et,Te,ot)}).execute();var Je=this._backgroundGroup||(this._backgroundGroup=new T);Je.removeAll();for(var Xe=0;Xe0?1:-1,Ce=se.height>0?1:-1;return{x:se.x+me*de/2,y:se.y+Ce*de/2,width:se.width-me*de,height:se.height-Ce*de}},polar:function(Y,z,re){var se=Y.getItemLayout(z);return{cx:se.cx,cy:se.cy,r0:se.r0,r:se.r,startAngle:se.startAngle,endAngle:se.endAngle}}};function ie(Y){return Y.startAngle!=null&&Y.endAngle!=null&&Y.startAngle===Y.endAngle}function H(Y,z,re,se,de,me,Ce,Ie){var we=z.getItemVisual(re,"color"),Te=z.getItemVisual(re,"opacity"),Ge=z.getVisual("borderColor"),ke=se.getModel("itemStyle"),Oe=se.getModel("emphasis.itemStyle").getBarItemStyle();Ie||Y.setShape("r",ke.get("barBorderRadius")||0),Y.useStyle(E.defaults({stroke:ie(de)?"none":Ge,fill:ie(de)?"none":we,opacity:Te},ke.getBarItemStyle()));var Le=se.getShallow("cursor");Le&&Y.attr("cursor",Le);var be=Ce?de.height>0?"bottom":"top":de.width>0?"left":"right";Ie||I(Y.style,Oe,se,we,me,re,be),ie(de)&&(Oe.fill=Oe.stroke="none"),x.setHoverStyle(Y,Oe)}function le(Y,z){var re=Y.get(M)||0,se=isNaN(z.width)?Number.MAX_VALUE:Math.abs(z.width),de=isNaN(z.height)?Number.MAX_VALUE:Math.abs(z.height);return Math.min(re,se,de)}var ue=Q.extend({type:"largeBar",shape:{points:[]},buildPath:function(Y,z){for(var re=z.points,se=this.__startPoint,de=this.__baseDimIdx,me=0;me=0?re:null},30,!1);function ge(Y,z,re){var se=Y.__baseDimIdx,de=1-se,me=Y.shape.points,Ce=Y.__largeDataIndices,Ie=Math.abs(Y.__barWidth/2),we=Y.__startPoint[de];L[0]=z,L[1]=re;for(var Te=L[se],Ge=L[1-se],ke=Te-Ie,Oe=Te+Ie,Le=0,be=me.length/2;Le=ke&&Ue<=Oe&&(we<=ze?Ge>=we&&Ge<=ze:Ge>=ze&&Ge<=we))return Ce[Le]}return-1}function fe(Y,z,re){var se=re.getVisual("borderColor")||re.getVisual("color"),de=z.getModel("itemStyle").getItemStyle(["color","borderColor"]);Y.useStyle(de),Y.style.fill=null,Y.style.stroke=se,Y.style.lineWidth=re.getLayout("barWidth")}function ae(Y,z,re){var se=z.get("borderColor")||z.get("color"),de=z.getItemStyle(["color","borderColor"]);Y.useStyle(de),Y.style.fill=null,Y.style.stroke=se,Y.style.lineWidth=re.getLayout("barWidth")}function U(Y,z,re){var se,de=re.type==="polar";return de?se=re.getArea():se=re.grid.getRect(),de?{cx:se.cx,cy:se.cy,r0:Y?se.r0:z.r0,r:Y?se.r:z.r,startAngle:Y?z.startAngle:0,endAngle:Y?z.endAngle:Math.PI*2}:{x:Y?z.x:se.x,y:Y?se.y:z.y,width:Y?z.width:se.width,height:Y?se.height:z.height}}function W(Y,z,re){var se=Y.type==="polar"?x.Sector:x.Rect;return new se({shape:U(z,re,Y),silent:!0,z2:0})}A.exports=k}),Dpt=wt(()=>{var o=Dn(),A=Bi(),f=lte(),m=f.layout,C=f.largeLayout;g0e(),wpt(),Spt(),bz(),o.registerLayout(o.PRIORITY.VISUAL.LAYOUT,A.curry(m,"bar")),o.registerLayout(o.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT,C),o.registerVisual({seriesType:"bar",reset:function(E){E.getData().setVisual("legendSymbol","roundRect")}})}),j4=wt((o,A)=>{var f=K4(),m=sv(),C=Bi(),E=C.extend,x=C.isArray;function y(I,v,B){v=x(v)&&{coordDimensions:v}||E({},v);var Q=I.getSource(),T=f(Q,v),w=new m(T,I);return w.initData(Q,B),w}A.exports=y}),p0e=wt((o,A)=>{var f=Bi(),m={updateSelectedMap:function(C){this._targetList=f.isArray(C)?C.slice():[],this._selectTargetMap=f.reduce(C||[],function(E,x){return E.set(x.name,x),E},f.createHashMap())},select:function(C,E){var x=E!=null?this._targetList[E]:this._selectTargetMap.get(C),y=this.get("selectedMode");y==="single"&&this._selectTargetMap.each(function(I){I.selected=!1}),x&&(x.selected=!0)},unSelect:function(C,E){var x=E!=null?this._targetList[E]:this._selectTargetMap.get(C);x&&(x.selected=!1)},toggleSelected:function(C,E){var x=E!=null?this._targetList[E]:this._selectTargetMap.get(C);if(x!=null)return this[x.selected?"unSelect":"select"](C,E),x.selected},isSelected:function(C,E){var x=E!=null?this._targetList[E]:this._selectTargetMap.get(C);return x&&x.selected}};A.exports=m}),Qz=wt((o,A)=>{function f(C,E){this.getAllNames=function(){var x=E();return x.mapArray(x.getName)},this.containName=function(x){var y=E();return y.indexOfName(x)>=0},this.indexOfName=function(x){var y=C();return y.indexOfName(x)},this.getItemVisual=function(x,y){var I=C();return I.getItemVisual(x,y)}}var m=f;A.exports=m}),Tpt=wt((o,A)=>{var f=Dn(),m=j4(),C=Bi(),E=Bl(),x=ds(),y=x.getPercentWithPrecision,I=p0e(),v=ZN(),B=v.retrieveRawAttr,Q=JD(),T=Q.makeSeriesEncodeForNameBased,w=Qz(),S=f.extendSeriesModel({type:"series.pie",init:function(R){S.superApply(this,"init",arguments),this.legendVisualProvider=new w(C.bind(this.getData,this),C.bind(this.getRawData,this)),this.updateSelectedMap(this._createSelectableList()),this._defaultLabelLine(R)},mergeOption:function(R){S.superCall(this,"mergeOption",R),this.updateSelectedMap(this._createSelectableList())},getInitialData:function(R,P){return m(this,{coordDimensions:["value"],encodeDefaulter:C.curry(T,this)})},_createSelectableList:function(){for(var R=this.getRawData(),P=R.mapDimension("value"),M=[],L=0,F=R.count();L{var f=Bi(),m=To(),C=Jb();function E(Q,T,w,S){var D=T.getData(),R=this.dataIndex,P=D.getName(R),M=T.get("selectedOffset");S.dispatchAction({type:"pieToggleSelect",from:Q,name:P,seriesId:T.id}),D.each(function(L){x(D.getItemGraphicEl(L),D.getItemLayout(L),T.isSelected(D.getName(L)),M,w)})}function x(Q,T,w,S,D){var R=(T.startAngle+T.endAngle)/2,P=Math.cos(R),M=Math.sin(R),L=w?S:0,F=[P*L,M*L];D?Q.animate().when(200,{position:F}).start("bounceOut"):Q.attr("position",F)}function y(Q,T){m.Group.call(this);var w=new m.Sector({z2:2}),S=new m.Polyline,D=new m.Text;this.add(w),this.add(S),this.add(D),this.updateData(Q,T,!0)}var I=y.prototype;I.updateData=function(Q,T,w){var S=this.childAt(0),D=this.childAt(1),R=this.childAt(2),P=Q.hostModel,M=Q.getItemModel(T),L=Q.getItemLayout(T),F=f.extend({},L);F.label=null;var k=P.getShallow("animationTypeUpdate");if(w){S.setShape(F);var N=P.getShallow("animationType");N==="scale"?(S.shape.r=L.r0,m.initProps(S,{shape:{r:L.r}},P,T)):(S.shape.endAngle=L.startAngle,m.updateProps(S,{shape:{endAngle:L.endAngle}},P,T))}else k==="expansion"?S.setShape(F):m.updateProps(S,{shape:F},P,T);var G=Q.getItemVisual(T,"color");S.useStyle(f.defaults({lineJoin:"bevel",fill:G},M.getModel("itemStyle").getItemStyle())),S.hoverStyle=M.getModel("emphasis.itemStyle").getItemStyle();var J=M.getShallow("cursor");J&&S.attr("cursor",J),x(this,Q.getItemLayout(T),P.isSelected(Q.getName(T)),P.get("selectedOffset"),P.get("animation"));var K=!w&&k==="transition";this._updateLabel(Q,T,K),this.highDownOnUpdate=P.get("silent")?null:function(X,q){var ee=P.isAnimationEnabled()&&M.get("hoverAnimation");q==="emphasis"?(D.ignore=D.hoverIgnore,R.ignore=R.hoverIgnore,ee&&(S.stopAnimation(!0),S.animateTo({shape:{r:L.r+P.get("hoverOffset")}},300,"elasticOut"))):(D.ignore=D.normalIgnore,R.ignore=R.normalIgnore,ee&&(S.stopAnimation(!0),S.animateTo({shape:{r:L.r}},300,"elasticOut")))},m.setHoverStyle(this)},I._updateLabel=function(Q,T,w){var S=this.childAt(1),D=this.childAt(2),R=Q.hostModel,P=Q.getItemModel(T),M=Q.getItemLayout(T),L=M.label,X=Q.getItemVisual(T,"color");if(!L||isNaN(L.x)||isNaN(L.y)){D.ignore=D.normalIgnore=D.hoverIgnore=S.ignore=S.normalIgnore=S.hoverIgnore=!0;return}var F={points:L.linePoints||[[L.x,L.y],[L.x,L.y],[L.x,L.y]]},k={x:L.x,y:L.y};w?(m.updateProps(S,{shape:F},R,T),m.updateProps(D,{style:k},R,T)):(S.attr({shape:F}),D.attr({style:k})),D.attr({rotation:L.rotation,origin:[L.x,L.y],z2:10});var N=P.getModel("label"),G=P.getModel("emphasis.label"),J=P.getModel("labelLine"),K=P.getModel("emphasis.labelLine"),X=Q.getItemVisual(T,"color");m.setLabelStyle(D.style,D.hoverStyle={},N,G,{labelFetcher:Q.hostModel,labelDataIndex:T,defaultText:L.text,autoColor:X,useInsideStyle:!!L.inside},{textAlign:L.textAlign,textVerticalAlign:L.verticalAlign,opacity:Q.getItemVisual(T,"opacity")}),D.ignore=D.normalIgnore=!N.get("show"),D.hoverIgnore=!G.get("show"),S.ignore=S.normalIgnore=!J.get("show"),S.hoverIgnore=!K.get("show"),S.setStyle({stroke:X,opacity:Q.getItemVisual(T,"opacity")}),S.setStyle(J.getModel("lineStyle").getLineStyle()),S.hoverStyle=K.getModel("lineStyle").getLineStyle();var q=J.get("smooth");q&&q===!0&&(q=.4),S.setShape({smooth:q})},f.inherits(y,m.Group);var v=C.extend({type:"pie",init:function(){var Q=new m.Group;this._sectorGroup=Q},render:function(Q,T,w,S){if(!(S&&S.from===this.uid)){var D=Q.getData(),R=this._data,P=this.group,M=T.get("animation"),L=!R,F=Q.get("animationType"),k=Q.get("animationTypeUpdate"),N=f.curry(E,this.uid,Q,M,w),G=Q.get("selectedMode");if(D.diff(R).add(function(ee){var ie=new y(D,ee);L&&F!=="scale"&&ie.eachChild(function(H){H.stopAnimation(!0)}),G&&ie.on("click",N),D.setItemGraphicEl(ee,ie),P.add(ie)}).update(function(ee,ie){var H=R.getItemGraphicEl(ie);!L&&k!=="transition"&&H.eachChild(function(le){le.stopAnimation(!0)}),H.updateData(D,ee),H.off("click"),G&&H.on("click",N),P.add(H),D.setItemGraphicEl(ee,H)}).remove(function(ee){var ie=R.getItemGraphicEl(ee);P.remove(ie)}).execute(),M&&D.count()>0&&(L?F!=="scale":k!=="transition")){for(var J=D.getItemLayout(0),K=1;isNaN(J.startAngle)&&K=S.r0}}}),B=v;A.exports=B}),o6e=wt((o,A)=>{var f=Dn(),m=Bi();function C(E,x){m.each(x,function(y){y.update="updateView",f.registerAction(y,function(I,v){var B={};return v.eachComponent({mainType:"series",subType:E,query:I},function(Q){Q[y.method]&&Q[y.method](I.name,I.dataIndex);var T=Q.getData();T.each(function(w){var S=T.getName(w);B[S]=Q.isSelected(S)||!1})}),{name:I.name,selected:B,seriesId:I.seriesId}})})}A.exports=C}),hte=wt((o,A)=>{var f=Bi(),m=f.createHashMap;function C(E){return{getTargetSeries:function(x){var y={},I=m();return x.eachSeriesByType(E,function(v){v.__paletteScope=y,I.set(v.uid,v)}),I},reset:function(x,y){var I=x.getRawData(),v={},B=x.getData();B.each(function(Q){var T=B.getRawIndex(Q);v[T]=Q}),I.each(function(Q){var T=v[Q],w=T!=null&&B.getItemVisual(T,"color",!0),S=T!=null&&B.getItemVisual(T,"borderColor",!0),D;if((!w||!S)&&(D=I.getItemModel(Q)),!w){var R=D.get("itemStyle.color")||x.getColorFromPalette(I.getName(Q)||Q+"",x.__paletteScope,I.count());T!=null&&B.setItemVisual(T,"color",R)}if(!S){var P=D.get("itemStyle.borderColor");T!=null&&B.setItemVisual(T,"borderColor",P)}})}}}A.exports=C}),Ppt=wt((o,A)=>{var f=yI(),m=ds(),C=m.parsePercent,E=Math.PI/180;function x(B,Q,T,w,S,D,R,P,M,L){B.sort(function(H,le){return H.y-le.y});function F(H,le,ue,Ae){for(var he=H;heM+R);he++)if(B[he].y+=ue,he>H&&he+1B[he].y+B[he].height){k(he,ue/2);return}k(le-1,ue/2)}function k(H,le){for(var ue=H;ue>=0&&!(B[ue].y-le0&&B[ue].y>B[ue-1].y+B[ue-1].height));ue--);}function N(H,le,ue,Ae,he,ge){for(var fe=(ge>0,le?Number.MAX_VALUE:0),ae=0,U=H.length;ae=fe&&(re=fe-10),!le&&re<=fe&&(re=fe+10),H[ae].x=ue+re*ge,fe=re}}for(var G=0,J,K=B.length,X=[],q=[],ee=0;ee=T?q.push(B[ee]):X.push(B[ee]);N(X,!1,Q,T,w,S),N(q,!0,Q,T,w,S)}function y(B,Q,T,w,S,D,R,P){for(var M=[],L=[],F=Number.MAX_VALUE,k=-Number.MAX_VALUE,N=0;N0?"right":"left":fe>0?"left":"right"}var ke,Oe=K.get("rotate");typeof Oe=="number"?ke=Oe*(Math.PI/180):ke=Oe?fe<0?-ge+Math.PI:-ge:0,F=!!ke,G.label={x:U,y:W,position:X,height:se.height,len:Ae,len2:he,linePoints:Y,textAlign:z,verticalAlign:"middle",rotation:ke,inside:de,labelDistance:q,labelAlignTo:ee,labelMargin:ie,bleedMargin:H,textRect:se,text:re,font:le},de||P.push(G.label)}}),!F&&B.get("avoidLabelOverlap")&&y(P,M,L,Q,T,w,S,D)}A.exports=v}),Rpt=wt((o,A)=>{var f=ds(),m=f.parsePercent,C=f.linearMap,E=pc(),x=Ppt(),y=Bi(),I=Math.PI*2,v=Math.PI/180;function B(T,w){return E.getLayoutRect(T.getBoxLayoutParams(),{width:w.getWidth(),height:w.getHeight()})}function Q(T,w,S,D){w.eachSeriesByType(T,function(R){var P=R.getData(),M=P.mapDimension("value"),L=B(R,S),F=R.get("center"),k=R.get("radius");y.isArray(k)||(k=[0,k]),y.isArray(F)||(F=[F,F]);var N=m(L.width,S.getWidth()),G=m(L.height,S.getHeight()),J=Math.min(N,G),K=m(F[0],N)+L.x,X=m(F[1],G)+L.y,q=m(k[0],J/2),ee=m(k[1],J/2),ie=-R.get("startAngle")*v,H=R.get("minAngle")*v,le=0;P.each(M,function(se){!isNaN(se)&&le++});var ue=P.getSum(M),Ae=Math.PI/(ue||le)*2,he=R.get("clockwise"),ge=R.get("roseType"),fe=R.get("stillShowZeroSum"),ae=P.getDataExtent(M);ae[0]=0;var U=I,W=0,Y=ie,z=he?1:-1;if(P.each(M,function(se,de){var me;if(isNaN(se)){P.setItemLayout(de,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:he,cx:K,cy:X,r0:q,r:ge?NaN:ee,viewRect:L});return}ge!=="area"?me=ue===0&&fe?Ae:se*Ae:me=I/le,me{function f(m){return{seriesType:m,reset:function(C,E){var x=E.findComponents({mainType:"legend"});if(!(!x||!x.length)){var y=C.getData();y.filterSelf(function(I){for(var v=y.getName(I),B=0;B{var o=Dn(),A=Bi();Tpt(),Mpt();var f=o6e(),m=hte(),C=Rpt(),E=Sz();f("pie",[{type:"pieToggleSelect",event:"pieselectchanged",method:"toggleSelected"},{type:"pieSelect",event:"pieselected",method:"select"},{type:"pieUnSelect",event:"pieunselected",method:"unSelect"}]),o.registerVisual(m("pie")),o.registerLayout(A.curry(C,"pie")),o.registerProcessor(E("pie"))}),Fpt=wt((o,A)=>{var f=KD(),m=E0(),C=m.extend({type:"series.scatter",dependencies:["grid","polar","geo","singleAxis","calendar"],getInitialData:function(E,x){return f(this.getSource(),this,{useEncodeDefaulter:!0})},brushSelector:"point",getProgressive:function(){var E=this.option.progressive;return E??(this.option.large?5e3:this.get("progressive"))},getProgressiveThreshold:function(){var E=this.option.progressiveThreshold;return E??(this.option.large?1e4:this.get("progressiveThreshold"))},defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{opacity:.8},clip:!0}});A.exports=C}),Npt=wt((o,A)=>{var f=To(),m=lv(),C=m.createSymbol,E=A0e(),x=4,y=f.extendShape({shape:{points:null},symbolProxy:null,softClipShape:null,buildPath:function(Q,T){var w=T.points,S=T.size,D=this.symbolProxy,R=D.shape,P=Q.getContext?Q.getContext():Q,M=P&&S[0]=0;M--){var L=M*2,F=S[L]-R/2,k=S[L+1]-P/2;if(Q>=F&&T>=k&&Q<=F+R&&T<=k+P)return M}return-1}});function I(){this.group=new f.Group}var v=I.prototype;v.isPersistent=function(){return!this._incremental},v.updateData=function(Q,T){this.group.removeAll();var w=new y({rectHover:!0,cursor:"default"});w.setShape({points:Q.getLayout("symbolPoints")}),this._setCommon(w,Q,!1,T),this.group.add(w),this._incremental=null},v.updateLayout=function(Q){if(!this._incremental){var T=Q.getLayout("symbolPoints");this.group.eachChild(function(w){if(w.startIndex!=null){var S=(w.endIndex-w.startIndex)*2,D=w.startIndex*4*2;T=new Float32Array(T.buffer,D,S)}w.setShape("points",T)})}},v.incrementalPrepareUpdate=function(Q){this.group.removeAll(),this._clearIncremental(),Q.count()>2e6?(this._incremental||(this._incremental=new E({silent:!0})),this.group.add(this._incremental)):this._incremental=null},v.incrementalUpdate=function(Q,T,w){var S;this._incremental?(S=new y,this._incremental.addDisplayable(S,!0)):(S=new y({rectHover:!0,cursor:"default",startIndex:Q.start,endIndex:Q.end}),S.incremental=!0,this.group.add(S)),S.setShape({points:T.getLayout("symbolPoints")}),this._setCommon(S,T,!!this._incremental,w)},v._setCommon=function(Q,T,w,S){var D=T.hostModel;S=S||{};var R=T.getVisual("symbolSize");Q.setShape("size",R instanceof Array?R:[R,R]),Q.softClipShape=S.clipShape||null,Q.symbolProxy=C(T.getVisual("symbol"),0,0,0,0),Q.setColor=Q.symbolProxy.setColor;var P=Q.shape.size[0]=0&&(Q.dataIndex=F+(Q.startIndex||0))}))},v.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},v._clearIncremental=function(){var Q=this._incremental;Q&&Q.clearDisplaybles()};var B=I;A.exports=B}),kpt=wt(()=>{var o=Dn(),A=vz(),f=Npt(),m=wz();o.extendChartView({type:"scatter",render:function(C,E,x){var y=C.getData(),I=this._updateSymbolDraw(y,C);I.updateData(y,{clipShape:this._getClipShape(C)}),this._finished=!0},incrementalPrepareRender:function(C,E,x){var y=C.getData(),I=this._updateSymbolDraw(y,C);I.incrementalPrepareUpdate(y),this._finished=!1},incrementalRender:function(C,E,x){this._symbolDraw.incrementalUpdate(C,E.getData(),{clipShape:this._getClipShape(E)}),this._finished=C.end===E.getData().count()},updateTransform:function(C,E,x){var y=C.getData();if(this.group.dirty(),!this._finished||y.count()>1e4||!this._symbolDraw.isPersistent())return{update:!0};var I=m().reset(C);I.progress&&I.progress({start:0,end:y.count()},y),this._symbolDraw.updateLayout(y)},_getClipShape:function(C){var E=C.coordinateSystem,x=E&&E.getArea&&E.getArea();return C.get("clip",!0)?x:null},_updateSymbolDraw:function(C,E){var x=this._symbolDraw,y=E.pipelineContext,I=y.large;return(!x||I!==this._isLargeDraw)&&(x&&x.remove(),x=this._symbolDraw=I?new f:new A,this._isLargeDraw=I,this.group.removeAll()),this.group.add(x.group),x},remove:function(C,E){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},dispose:function(){}})}),Opt=wt(()=>{var o=Dn();Fpt(),kpt();var A=e3(),f=wz();bz(),o.registerVisual(A("scatter","circle")),o.registerLayout(f("scatter"))}),Upt=wt((o,A)=>{var f=Bi(),m=qP();function C(x,y,I){m.call(this,x,y,I),this.type="value",this.angle=0,this.name="",this.model}f.inherits(C,m);var E=C;A.exports=E}),Gpt=wt((o,A)=>{var f=Bi(),m=Upt(),C=ste(),E=ds(),x=Cw(),y=x.getScaleExtent,I=x.niceScaleExtent,v=mw(),B=JHe();function Q(w,S,D){this._model=w,this.dimensions=[],this._indicatorAxes=f.map(w.getIndicatorModels(),function(R,P){var M="indicator_"+P,L=new m(M,R.get("axisType")==="log"?new B:new C);return L.name=R.get("name"),L.model=R,R.axis=L,this.dimensions.push(M),L},this),this.resize(w,D),this.cx,this.cy,this.r,this.r0,this.startAngle}Q.prototype.getIndicatorAxes=function(){return this._indicatorAxes},Q.prototype.dataToPoint=function(w,S){var D=this._indicatorAxes[S];return this.coordToPoint(D.dataToCoord(w),S)},Q.prototype.coordToPoint=function(w,S){var D=this._indicatorAxes[S],R=D.angle,P=this.cx+w*Math.cos(R),M=this.cy-w*Math.sin(R);return[P,M]},Q.prototype.pointToData=function(w){var S=w[0]-this.cx,D=w[1]-this.cy,R=Math.sqrt(S*S+D*D);S/=R,D/=R;for(var P=Math.atan2(-D,S),M=1/0,L,F=-1,k=0;kk[0]&&isFinite(ee)&&isFinite(k[0]))}else{var ie=G.getTicks().length-1;ie>P&&(X=M(X));var q=Math.ceil(k[1]/X)*X,ee=E.round(q-X*P);G.setExtent(ee,q),G.setInterval(X)}})},Q.dimensions=[],Q.create=function(w,S){var D=[];return w.eachComponent("radar",function(R){var P=new Q(R,w,S);D.push(P),R.coordinateSystem=P}),w.eachSeriesByType("radar",function(R){R.get("coordinateSystem")==="radar"&&(R.coordinateSystem=D[R.get("radarIndex")||0])}),D},v.register("radar",Q);var T=Q;A.exports=T}),Hpt=wt((o,A)=>{var f=Dn(),m=Bi(),C=$He(),E=qf(),x=W4(),y=C.valueAxis;function I(Q,T){return m.defaults({show:T},Q)}var v=f.extendComponentModel({type:"radar",optionUpdated:function(){var Q=this.get("boundaryGap"),T=this.get("splitNumber"),w=this.get("scale"),S=this.get("axisLine"),D=this.get("axisTick"),R=this.get("axisType"),P=this.get("axisLabel"),M=this.get("name"),L=this.get("name.show"),F=this.get("name.formatter"),k=this.get("nameGap"),N=this.get("triggerEvent"),G=m.map(this.get("indicator")||[],function(J){J.max!=null&&J.max>0&&!J.min?J.min=0:J.min!=null&&J.min<0&&!J.max&&(J.max=0);var K=M;if(J.color!=null&&(K=m.defaults({color:J.color},M)),J=m.merge(m.clone(J),{boundaryGap:Q,splitNumber:T,scale:w,axisLine:S,axisTick:D,axisType:R,axisLabel:P,name:J.text,nameLocation:"end",nameGap:k,nameTextStyle:K,triggerEvent:N},!1),L||(J.name=""),typeof F=="string"){var X=J.name;J.name=F.replace("{value}",X??"")}else typeof F=="function"&&(J.name=F(J.name,J));var q=m.extend(new E(J,null,this.ecModel),x);return q.mainType="radar",q.componentIndex=this.componentIndex,q},this);this.getIndicatorModels=function(){return G}},defaultOption:{zlevel:0,z:0,center:["50%","50%"],radius:"75%",startAngle:90,name:{show:!0},boundaryGap:[0,0],splitNumber:5,nameGap:15,scale:!1,shape:"polygon",axisLine:m.merge({lineStyle:{color:"#bbb"}},y.axisLine),axisLabel:I(y.axisLabel,!1),axisTick:I(y.axisTick,!1),axisType:"interval",splitLine:I(y.splitLine,!0),splitArea:I(y.splitArea,!0),indicator:[]}}),B=v;A.exports=B}),Vpt=wt((o,A)=>{var f=Bu(),m=f.__DEV__,C=Dn(),E=Bi(),x=XP(),y=To(),I=["axisLine","axisTickLabel","axisName"],v=C.extendComponentView({type:"radar",render:function(B,Q,T){var w=this.group;w.removeAll(),this._buildAxes(B),this._buildSplitLineAndArea(B)},_buildAxes:function(B){var Q=B.coordinateSystem,T=Q.getIndicatorAxes(),w=E.map(T,function(S){var D=new x(S.model,{position:[Q.cx,Q.cy],rotation:S.angle,labelDirection:-1,tickDirection:-1,nameDirection:1});return D});E.each(w,function(S){E.each(I,S.add,S),this.group.add(S.getGroup())},this)},_buildSplitLineAndArea:function(B){var Q=B.coordinateSystem,T=Q.getIndicatorAxes();if(!T.length)return;var w=B.get("shape"),S=B.getModel("splitLine"),D=B.getModel("splitArea"),R=S.getModel("lineStyle"),P=D.getModel("areaStyle"),M=S.get("show"),L=D.get("show"),F=R.get("color"),k=P.get("color");F=E.isArray(F)?F:[F],k=E.isArray(k)?k:[k];var N=[],G=[];function J(ae,U,W){var Y=W%U.length;return ae[Y]=ae[Y]||[],Y}if(w==="circle")for(var K=T[0].getTicksCoords(),X=Q.cx,q=Q.cy,ee=0;ee{Gpt(),Hpt(),Vpt()}),Ypt=wt((o,A)=>{var f=E0(),m=j4(),C=Bi(),E=Tc(),x=E.encodeHTML,y=Qz(),I=f.extend({type:"series.radar",dependencies:["radar"],init:function(B){I.superApply(this,"init",arguments),this.legendVisualProvider=new y(C.bind(this.getData,this),C.bind(this.getRawData,this))},getInitialData:function(B,Q){return m(this,{generateCoord:"indicator_",generateCoordCount:1/0})},formatTooltip:function(B){var Q=this.getData(),T=this.coordinateSystem,w=T.getIndicatorAxes(),S=this.getData().getName(B);return x(S===""?this.name:S)+"
"+C.map(w,function(D,R){var P=Q.get(Q.mapDimension(D.dim),B);return x(D.name+" : "+P)}).join("
")},getTooltipPosition:function(B){if(B!=null){for(var Q=this.getData(),T=this.coordinateSystem,w=Q.getValues(C.map(T.dimensions,function(P){return Q.mapDimension(P)}),B,!0),S=0,D=w.length;S{var f=Dn(),m=To(),C=Bi(),E=lv();function x(I){return C.isArray(I)||(I=[+I,+I]),I}var y=f.extendChartView({type:"radar",render:function(I,v,B){var Q=I.coordinateSystem,T=this.group,w=I.getData(),S=this._data;function D(M,L){var F=M.getItemVisual(L,"symbol")||"circle",k=M.getItemVisual(L,"color");if(F!=="none"){var N=x(M.getItemVisual(L,"symbolSize")),G=E.createSymbol(F,-1,-1,2,2,k);return G.attr({style:{strokeNoScale:!0},z2:100,scale:[N[0]/2,N[1]/2]}),G}}function R(M,L,F,k,N,G){F.removeAll();for(var J=0;J{var f=Bi();function m(x){x.eachSeriesByType("radar",function(y){var I=y.getData(),v=[],B=y.coordinateSystem;if(B){var Q=B.getIndicatorAxes();f.each(Q,function(T,w){I.each(I.mapDimension(Q[w].dim),function(S,D){v[D]=v[D]||[];var R=B.dataToPoint(S,w);v[D][w]=C(R)?R:E(B)})}),I.each(function(T){var w=f.find(v[T],function(S){return C(S)})||E(B);v[T].push(w.slice()),I.setItemLayout(T,v[T])})}})}function C(x){return!isNaN(x[0])&&!isNaN(x[1])}function E(x){return[x.cx,x.cy]}A.exports=m}),Wpt=wt((o,A)=>{var f=Bi();function m(C){var E=C.polar;if(E){f.isArray(E)||(E=[E]);var x=[];f.each(E,function(y,I){y.indicator?(y.type&&!y.shape&&(y.shape=y.type),C.radar=C.radar||[],f.isArray(C.radar)||(C.radar=[C.radar]),C.radar.push(y)):x.push(y)}),C.polar=x}f.each(C.series,function(y){y&&y.type==="radar"&&y.polarIndex&&(y.radarIndex=y.polarIndex)})}A.exports=m}),jpt=wt(()=>{var o=Dn();zpt(),Ypt(),Jpt();var A=hte(),f=e3(),m=Kpt(),C=Sz(),E=Wpt();o.registerVisual(A("radar")),o.registerVisual(f("radar","circle")),o.registerLayout(m),o.registerProcessor(C("radar")),o.registerPreprocessor(E)}),qpt=wt((o,A)=>{var f=Bi(),m=WHe(),C=[126,25],E=[[[0,3.5],[7,11.2],[15,11.9],[30,7],[42,.7],[52,.7],[56,7.7],[59,.7],[64,.7],[64,0],[5,0],[0,3.5]],[[13,16.1],[19,14.7],[16,21.7],[11,23.1],[13,16.1]],[[12,32.2],[14,38.5],[15,38.5],[13,32.2],[12,32.2]],[[16,47.6],[12,53.2],[13,53.2],[18,47.6],[16,47.6]],[[6,64.4],[8,70],[9,70],[8,64.4],[6,64.4]],[[23,82.6],[29,79.8],[30,79.8],[25,82.6],[23,82.6]],[[37,70.7],[43,62.3],[44,62.3],[39,70.7],[37,70.7]],[[48,51.1],[51,45.5],[53,45.5],[50,51.1],[48,51.1]],[[51,35],[51,28.7],[53,28.7],[53,35],[51,35]],[[52,22.4],[55,17.5],[56,17.5],[53,22.4],[52,22.4]],[[58,12.6],[62,7],[63,7],[60,12.6],[58,12.6]],[[0,3.5],[0,93.1],[64,93.1],[64,0],[63,0],[63,92.4],[1,92.4],[1,3.5],[0,3.5]]];for(y=0;y{var f={\u5357\u6D77\u8BF8\u5C9B:[32,80],\u5E7F\u4E1C:[0,-10],\u9999\u6E2F:[10,5],\u6FB3\u95E8:[-10,10],\u5929\u6D25:[5,5]};function m(C,E){if(C==="china"){var x=f[E.name];if(x){var y=E.center;y[0]+=x[0]/10.5,y[1]+=-x[1]/(10.5/.75)}}}A.exports=m}),Zpt=wt((o,A)=>{var f={Russia:[100,60],"United States":[-99,38],"United States of America":[-99,38]};function m(C,E){if(C==="world"){var x=f[E.name];if(x){var y=E.center;y[0]=x[0],y[1]=x[1]}}}A.exports=m}),$pt=wt((o,A)=>{var f=[[[123.45165252685547,25.73527164402261],[123.49731445312499,25.73527164402261],[123.49731445312499,25.750734064600884],[123.45165252685547,25.750734064600884],[123.45165252685547,25.73527164402261]]];function m(C,E){C==="china"&&E.name==="\u53F0\u6E7E"&&E.geometries.push({type:"polygon",exterior:f[0]})}A.exports=m}),emt=wt((o,A)=>{var f=Bi(),m=f.each,C=jHe(),E=Bl(),x=E.makeInner,y=qpt(),I=Xpt(),v=Zpt(),B=$pt(),Q=x(),T={load:function(S,D,R){var P=Q(D).parsed;if(P)return P;var M=D.specialAreas||{},L=D.geoJSON,F;try{F=L?C(L,R):[]}catch(k){throw new Error(`Invalid geoJson format `+k.message)}return y(S,F),m(F,function(k){var N=k.name;I(S,k),v(S,k),B(S,k);var G=M[N];G&&k.transformTo(G.left,G.top,G.width,G.height)}),Q(D).parsed={regions:F,boundingRect:w(F)}}};function w(S){for(var D,R=0;R{var f=GHe(),m=f.parseSVG,C=f.makeViewBoxTransform,E=qN(),x=l0e(),y=Bi(),I=y.assert,v=y.createHashMap,B=zh(),Q=Bl(),T=Q.makeInner,w=T(),S={load:function(R,P){var M=w(P).originRoot;if(M)return{root:M,boundingRect:w(P).boundingRect};var L=D(P);return w(P).originRoot=L.root,w(P).boundingRect=L.boundingRect,L},makeGraphic:function(R,P,M){var L=w(P),F=L.rootMap||(L.rootMap=v()),k=F.get(M);if(k)return k;var N=L.originRoot,G=L.boundingRect;return L.originRootHostKey?k=D(P,G).root:(L.originRootHostKey=M,k=N),F.set(M,k)},removeGraphic:function(R,P,M){var L=w(P),F=L.rootMap;F&&F.removeKey(M),M===L.originRootHostKey&&(L.originRootHostKey=null)}};function D(R,P){var M=R.svgXML,L,F;try{L=M&&m(M,{ignoreViewBox:!0,ignoreRootClip:!0})||{},F=L.root,I(F!=null)}catch(X){throw new Error(`Invalid svg format `+X.message)}var k=L.width,N=L.height,G=L.viewBoxRect;if(P||(P=k==null||N==null?F.getBoundingRect():new B(0,0,0,0),k!=null&&(P.width=k),N!=null&&(P.height=N)),G){var J=C(G,P.width,P.height),K=F;F=new E,F.add(K),K.scale=J.scale,K.position=J.position}return F.setClipPath(new x({shape:P.plain()})),{root:F,boundingRect:P}}A.exports=S}),dte=wt((o,A)=>{var f=Bu(),m=f.__DEV__,C=Bi(),E=C.each,x=C.createHashMap,y=d0e(),I=emt(),v=tmt(),B=zh(),Q={geoJSON:I,svg:v},T={load:function(D,R,P){var M=[],L=x(),F=x(),k,N=S(D);return E(N,function(G){var J=Q[G.type].load(D,G,P);E(J.regions,function(X){var q=X.name;R&&R.hasOwnProperty(q)&&(X=X.cloneShallow(q=R[q])),M.push(X),L.set(q,X),F.set(q,X.center)});var K=J.boundingRect;K&&(k?k.union(K):k=K.clone())}),{regions:M,regionsMap:L,nameCoordMap:F,boundingRect:k||new B(0,0,0,0)}},makeGraphic:w("makeGraphic"),removeGraphic:w("removeGraphic")};function w(D){return function(R,P){var M=S(R),L=[];return E(M,function(F){var k=Q[F.type][D];k&&L.push(k(R,F,P))}),L}}function S(D){var R=y.retrieveMap(D)||[];return R}A.exports=T}),imt=wt((o,A)=>{var f=Bi(),m=j4(),C=E0(),E=Tc(),x=E.encodeHTML,y=E.addCommas,I=p0e(),v=ZN(),B=v.retrieveRawAttr,Q=dte(),T=JD(),w=T.makeSeriesEncodeForNameBased,S=C.extend({type:"series.map",dependencies:["geo"],layoutMode:"box",needsDrawMap:!1,seriesGroup:[],getInitialData:function(R){for(var P=m(this,{coordDimensions:["value"],encodeDefaulter:f.curry(w,this)}),M=P.mapDimension("value"),L=f.createHashMap(),F=[],k=[],N=0,G=P.count();N"+x(L+" : "+M)},getTooltipPosition:function(R){if(R!=null){var P=this.getData().getName(R),M=this.coordinateSystem,L=M.getRegion(P);return L&&M.dataToPoint(L.center)}},setZoom:function(R){this.option.zoom=R},setCenter:function(R){this.option.center=R},defaultOption:{zlevel:0,z:2,coordinateSystem:"geo",map:"",left:"center",top:"center",aspectScale:.75,showLegendSymbol:!0,dataRangeHoverLink:!0,boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",areaColor:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{areaColor:"rgba(255,215,0,0.8)"}},nameProperty:"name"}});f.mixin(S,I);var D=S;A.exports=D}),a6e=wt(o=>{var A=Dn(),f="\0_ec_interaction_mutex";function m(y,I,v){var B=x(y);B[I]=v}function C(y,I,v){var B=x(y),Q=B[I];Q===v&&(B[I]=null)}function E(y,I){return!!x(y)[I]}function x(y){return y[f]||(y[f]={})}A.registerAction({type:"takeGlobalCursor",event:"globalCursorTaken",update:"update"},function(){}),o.take=m,o.release=C,o.isTaken=E}),Dz=wt((o,A)=>{var f=Bi(),m=jN(),C=zb(),E=a6e();function x(R){this.pointerChecker,this._zr=R,this._opt={};var P=f.bind,M=P(y,this),L=P(I,this),F=P(v,this),k=P(B,this),N=P(Q,this);m.call(this),this.setPointerChecker=function(G){this.pointerChecker=G},this.enable=function(G,J){this.disable(),this._opt=f.defaults(f.clone(J)||{},{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),G==null&&(G=!0),(G===!0||G==="move"||G==="pan")&&(R.on("mousedown",M),R.on("mousemove",L),R.on("mouseup",F)),(G===!0||G==="scale"||G==="zoom")&&(R.on("mousewheel",k),R.on("pinch",N))},this.disable=function(){R.off("mousedown",M),R.off("mousemove",L),R.off("mouseup",F),R.off("mousewheel",k),R.off("pinch",N)},this.dispose=this.disable,this.isDragging=function(){return this._dragging},this.isPinching=function(){return this._pinching}}f.mixin(x,m);function y(R){if(!(C.isMiddleOrRightButtonOnMouseUpDown(R)||R.target&&R.target.draggable)){var P=R.offsetX,M=R.offsetY;this.pointerChecker&&this.pointerChecker(R,P,M)&&(this._x=P,this._y=M,this._dragging=!0)}}function I(R){if(!(!this._dragging||!S("moveOnMouseMove",R,this._opt)||R.gestureEvent==="pinch"||E.isTaken(this._zr,"globalPan"))){var P=R.offsetX,M=R.offsetY,L=this._x,F=this._y,k=P-L,N=M-F;this._x=P,this._y=M,this._opt.preventDefaultMouseMove&&C.stop(R.event),w(this,"pan","moveOnMouseMove",R,{dx:k,dy:N,oldX:L,oldY:F,newX:P,newY:M})}}function v(R){C.isMiddleOrRightButtonOnMouseUpDown(R)||(this._dragging=!1)}function B(R){var P=S("zoomOnMouseWheel",R,this._opt),M=S("moveOnMouseWheel",R,this._opt),L=R.wheelDelta,F=Math.abs(L),k=R.offsetX,N=R.offsetY;if(!(L===0||!P&&!M)){if(P){var G=F>3?1.4:F>1?1.2:1.1,J=L>0?G:1/G;T(this,"zoom","zoomOnMouseWheel",R,{scale:J,originX:k,originY:N})}if(M){var K=Math.abs(L),X=(L>0?1:-1)*(K>3?.4:K>1?.15:.05);T(this,"scrollMove","moveOnMouseWheel",R,{scrollDelta:X,originX:k,originY:N})}}}function Q(R){if(!E.isTaken(this._zr,"globalPan")){var P=R.pinchScale>1?1.1:.9090909090909091;T(this,"zoom",null,R,{scale:P,originX:R.pinchX,originY:R.pinchY})}}function T(R,P,M,L,F){R.pointerChecker&&R.pointerChecker(L,F.originX,F.originY)&&(C.stop(L.event),w(R,P,M,L,F))}function w(R,P,M,L,F){F.isAvailableBehavior=f.bind(S,null,M,L),R.trigger(P,F)}function S(R,P,M){var L=M[R];return!R||L&&(!f.isString(L)||P.event[L+"Key"])}var D=x;A.exports=D}),m0e=wt(o=>{function A(m,C,E){var x=m.target,y=x.position;y[0]+=C,y[1]+=E,x.dirty()}function f(m,C,E,x){var y=m.target,I=m.zoomLimit,v=y.position,B=y.scale,Q=m.zoom=m.zoom||1;if(Q*=C,I){var T=I.min||0,w=I.max||1/0;Q=Math.max(Math.min(w,Q),T)}var S=Q/m.zoom;m.zoom=Q,v[0]-=(E-v[0])*(S-1),v[1]-=(x-v[1])*(S-1),B[0]*=S,B[1]*=S,y.dirty()}o.updateViewOnPan=A,o.updateViewOnZoom=f}),fte=wt(o=>{var A={axisPointer:1,tooltip:1,brush:1};function f(m,C,E){var x=C.getComponentByElement(m.topTarget),y=x&&x.coordinateSystem;return x&&x!==E&&!A[x.mainType]&&y&&y.model!==E}o.onIrrelevantElement=f}),s6e=wt((o,A)=>{var f=Bi(),m=Dz(),C=m0e(),E=fte(),x=E.onIrrelevantElement,y=To(),I=dte(),v=xz(),B=v.getUID,Q=$ee();function T(P){var M=P.getItemStyle(),L=P.get("areaColor");return L!=null&&(M.fill=L),M}function w(P,M,L,F,k){L.off("click"),L.off("mousedown"),M.get("selectedMode")&&(L.on("mousedown",function(){P._mouseDownFlag=!0}),L.on("click",function(N){if(P._mouseDownFlag){P._mouseDownFlag=!1;for(var G=N.target;!G.__regions;)G=G.parent;if(G){var J={type:(M.mainType==="geo"?"geo":"map")+"ToggleSelect",batch:f.map(G.__regions,function(K){return{name:K.name,from:k.uid}})};J[M.mainType+"Id"]=M.id,F.dispatchAction(J),S(M,L)}}}))}function S(P,M){M.eachChild(function(L){f.each(L.__regions,function(F){L.trigger(P.isSelected(F.name)?"emphasis":"normal")})})}function D(P,M){var L=new y.Group;this.uid=B("ec_map_draw"),this._controller=new m(P.getZr()),this._controllerHost={target:M?L:null},this.group=L,this._updateGroup=M,this._mouseDownFlag,this._mapName,this._initialized,L.add(this._regionsGroup=new y.Group),L.add(this._backgroundGroup=new y.Group)}D.prototype={constructor:D,draw:function(P,M,L,F,k){var N=P.mainType==="geo",G=P.getData&&P.getData();N&&M.eachComponent({mainType:"series",subType:"map"},function(W){!G&&W.getHostGeoModel()===P&&(G=W.getData())});var J=P.coordinateSystem;this._updateBackground(J);var K=this._regionsGroup,X=this.group,q=J.getTransformInfo(),ee=!K.childAt(0)||k,ie;if(ee)X.transform=q.roamTransform,X.decomposeTransform(),X.dirty();else{var H=new Q;H.transform=q.roamTransform,H.decomposeTransform();var le={scale:H.scale,position:H.position};ie=H.scale,y.updateProps(X,le,P)}var ue=q.rawScale,Ae=q.rawPosition;K.removeAll();var he=["itemStyle"],ge=["emphasis","itemStyle"],fe=["label"],ae=["emphasis","label"],U=f.createHashMap();f.each(J.regions,function(W){var Y=U.get(W.name)||U.set(W.name,new y.Group),z=new y.CompoundPath({segmentIgnoreThreshold:1,shape:{paths:[]}});Y.add(z);var re=P.getRegionModel(W.name)||P,se=re.getModel(he),de=re.getModel(ge),me=T(se),Ce=T(de),Ie=re.getModel(fe),we=re.getModel(ae),Te;if(G){Te=G.indexOfName(W.name);var Ge=G.getItemVisual(Te,"color",!0);Ge&&(me.fill=Ge)}var ke=function(ot){return[ot[0]*ue[0]+Ae[0],ot[1]*ue[1]+Ae[1]]};f.each(W.geometries,function(ot){if(ot.type==="polygon"){for(var Et=[],Ct=0;Ct=0)&&(ze=P);var Je=new y.Text({position:ke(W.center.slice()),scale:[1/X.scale[0],1/X.scale[1]],z2:10,silent:!0});if(y.setLabelStyle(Je.style,Je.hoverStyle={},Ie,we,{labelFetcher:ze,labelDataIndex:Ue,defaultText:W.name,useInsideStyle:!1},{textAlign:"center",textVerticalAlign:"middle"}),!ee){var Xe=[1/ie[0],1/ie[1]];y.updateProps(Je,{scale:Xe},P)}Y.add(Je)}if(G)G.setItemGraphicEl(Te,Y);else{var re=P.getRegionModel(W.name);z.eventData={componentType:"geo",componentIndex:P.componentIndex,geoIndex:P.componentIndex,name:W.name,region:re&&re.option||{}}}var et=Y.__regions||(Y.__regions=[]);et.push(W),Y.highDownSilentOnTouch=!!P.get("selectedMode"),y.setHoverStyle(Y,Ce),K.add(Y)}),this._updateController(P,M,L),w(this,P,K,L,F),S(P,K)},remove:function(){this._regionsGroup.removeAll(),this._backgroundGroup.removeAll(),this._controller.dispose(),this._mapName&&I.removeGraphic(this._mapName,this.uid),this._mapName=null,this._controllerHost={}},_updateBackground:function(P){var M=P.map;this._mapName!==M&&f.each(I.makeGraphic(M,this.uid),function(L){this._backgroundGroup.add(L)},this),this._mapName=M},_updateController:function(P,M,L){var F=P.coordinateSystem,k=this._controller,N=this._controllerHost;N.zoomLimit=P.get("scaleLimit"),N.zoom=F.getZoom(),k.enable(P.get("roam")||!1);var G=P.mainType;function J(){var K={type:"geoRoam",componentType:G};return K[G+"Id"]=P.id,K}k.off("pan").on("pan",function(K){this._mouseDownFlag=!1,C.updateViewOnPan(N,K.dx,K.dy),L.dispatchAction(f.extend(J(),{dx:K.dx,dy:K.dy}))},this),k.off("zoom").on("zoom",function(K){if(this._mouseDownFlag=!1,C.updateViewOnZoom(N,K.scale,K.originX,K.originY),L.dispatchAction(f.extend(J(),{zoom:K.scale,originX:K.originX,originY:K.originY})),this._updateGroup){var X=this.group.scale;this._regionsGroup.traverse(function(q){q.type==="text"&&q.attr("scale",[1/X[0],1/X[1]])})}},this),k.setPointerChecker(function(K,X,q){return F.getViewRectAfterRoam().contain(X,q)&&!x(K,L,P)})}};var R=D;A.exports=R}),rmt=wt((o,A)=>{var f=Dn(),m=Bi(),C=To(),E=s6e(),x="__seriesMapHighDown",y="__seriesMapCallKey",I=f.extendChartView({type:"map",render:function(Q,T,w,S){if(!(S&&S.type==="mapToggleSelect"&&S.from===this.uid)){var D=this.group;if(D.removeAll(),!Q.getHostGeoModel()){if(S&&S.type==="geoRoam"&&S.componentType==="series"&&S.seriesId===Q.id){var R=this._mapDraw;R&&D.add(R.group)}else if(Q.needsDrawMap){var R=this._mapDraw||new E(w,!0);D.add(R.group),R.draw(Q,T,w,this,S),this._mapDraw=R}else this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null;Q.get("showLegendSymbol")&&T.getComponent("legend")&&this._renderSymbols(Q,T,w)}}},remove:function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null,this.group.removeAll()},dispose:function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null},_renderSymbols:function(Q,T,w){var S=Q.originalData,D=this.group;S.each(S.mapDimension("value"),function(R,P){if(!isNaN(R)){var M=S.getItemLayout(P);if(!(!M||!M.point)){var L=M.point,F=M.offset,k=new C.Circle({style:{fill:Q.getData().getVisual("color")},shape:{cx:L[0]+F*9,cy:L[1],r:3},silent:!0,z2:8+(F?0:C.Z2_EMPHASIS_LIFT+1)});if(!F){var N=Q.mainSeries.getData(),G=S.getName(P),J=N.indexOfName(G),K=S.getItemModel(P),X=K.getModel("label"),q=K.getModel("emphasis.label"),ee=N.getItemGraphicEl(J),ie=m.retrieve2(Q.getFormattedLabel(J,"normal"),G),H=m.retrieve2(Q.getFormattedLabel(J,"emphasis"),ie),le=ee[x],ue=Math.random();if(!le){le=ee[x]={};var Ae=m.curry(v,!0),he=m.curry(v,!1);ee.on("mouseover",Ae).on("mouseout",he).on("emphasis",Ae).on("normal",he)}ee[y]=ue,m.extend(le,{recordVersion:ue,circle:k,labelModel:X,hoverLabelModel:q,emphasisText:H,normalText:ie}),B(le,!1)}D.add(k)}}})}});function v(Q){var T=this[x];T&&T.recordVersion===this[y]&&B(T,Q)}function B(Q,T){var w=Q.circle,S=Q.labelModel,D=Q.hoverLabelModel,R=Q.emphasisText,P=Q.normalText;T?(w.style.extendFrom(C.setTextStyle({},D,{text:D.get("show")?R:null},{isRectText:!0,useInsideStyle:!1},!0)),w.__mapOriginalZ2=w.z2,w.z2+=C.Z2_EMPHASIS_LIFT):(C.setTextStyle(w.style,S,{text:S.get("show")?P:null,textPosition:S.getShallow("position")||"bottom"},{isRectText:!0,useInsideStyle:!1}),w.dirty(!1),w.__mapOriginalZ2!=null&&(w.z2=w.__mapOriginalZ2,w.__mapOriginalZ2=null))}A.exports=I}),C0e=wt(o=>{function A(f,m,C){var E=f.getZoom(),x=f.getCenter(),y=m.zoom,I=f.dataToPoint(x);if(m.dx!=null&&m.dy!=null){I[0]-=m.dx,I[1]-=m.dy;var x=f.pointToData(I);f.setCenter(x)}if(y!=null){if(C){var v=C.min||0,B=C.max||1/0;y=Math.max(Math.min(E*y,B),v)/E}f.scale[0]*=y,f.scale[1]*=y;var Q=f.position,T=(m.originX-Q[0])*(y-1),w=(m.originY-Q[1])*(y-1);Q[0]-=T,Q[1]-=w,f.updateTransform();var x=f.pointToData(I);f.setCenter(x),f.setZoom(y*E)}return{center:f.getCenter(),zoom:f.getZoom()}}o.updateCenterAndZoom=A}),l6e=wt(()=>{var o=Dn(),A=Bi(),f=C0e(),m=f.updateCenterAndZoom;o.registerAction({type:"geoRoam",event:"geoRoam",update:"updateTransform"},function(C,E){var x=C.componentType||"series";E.eachComponent({mainType:x,query:C},function(y){var I=y.coordinateSystem;if(I.type==="geo"){var v=m(I,C,y.get("scaleLimit"));y.setCenter&&y.setCenter(v.center),y.setZoom&&y.setZoom(v.zoom),x==="series"&&A.each(y.seriesGroup,function(B){B.setCenter(v.center),B.setZoom(v.zoom)})}})})}),E0e=wt((o,A)=>{var f=Bi(),m=vh(),C=xE(),E=zh(),x=$ee(),y=m.applyTransform;function I(){x.call(this)}f.mixin(I,x);function v(T){this.name=T,this.zoomLimit,x.call(this),this._roamTransformable=new I,this._rawTransformable=new I,this._center,this._zoom}v.prototype={constructor:v,type:"view",dimensions:["x","y"],setBoundingRect:function(T,w,S,D){return this._rect=new E(T,w,S,D),this._rect},getBoundingRect:function(){return this._rect},setViewRect:function(T,w,S,D){this.transformTo(T,w,S,D),this._viewRect=new E(T,w,S,D)},transformTo:function(T,w,S,D){var R=this.getBoundingRect(),P=this._rawTransformable;P.transform=R.calculateTransform(new E(T,w,S,D)),P.decomposeTransform(),this._updateTransform()},setCenter:function(T){T&&(this._center=T,this._updateCenterAndZoom())},setZoom:function(T){T=T||1;var w=this.zoomLimit;w&&(w.max!=null&&(T=Math.min(w.max,T)),w.min!=null&&(T=Math.max(w.min,T))),this._zoom=T,this._updateCenterAndZoom()},getDefaultCenter:function(){var T=this.getBoundingRect(),w=T.x+T.width/2,S=T.y+T.height/2;return[w,S]},getCenter:function(){return this._center||this.getDefaultCenter()},getZoom:function(){return this._zoom||1},getRoamTransform:function(){return this._roamTransformable.getLocalTransform()},_updateCenterAndZoom:function(){var T=this._rawTransformable.getLocalTransform(),w=this._roamTransformable,S=this.getDefaultCenter(),D=this.getCenter(),R=this.getZoom();D=m.applyTransform([],D,T),S=m.applyTransform([],S,T),w.origin=D,w.position=[S[0]-D[0],S[1]-D[1]],w.scale=[R,R],this._updateTransform()},_updateTransform:function(){var T=this._roamTransformable,w=this._rawTransformable;w.parent=T,T.updateTransform(),w.updateTransform(),C.copy(this.transform||(this.transform=[]),w.transform||C.create()),this._rawTransform=w.getLocalTransform(),this.invTransform=this.invTransform||[],C.invert(this.invTransform,this.transform),this.decomposeTransform()},getTransformInfo:function(){var T=this._roamTransformable.transform,w=this._rawTransformable;return{roamTransform:T?f.slice(T):C.create(),rawScale:f.slice(w.scale),rawPosition:f.slice(w.position)}},getViewRect:function(){return this._viewRect},getViewRectAfterRoam:function(){var T=this.getBoundingRect().clone();return T.applyTransform(this.transform),T},dataToPoint:function(T,w,S){var D=w?this._rawTransform:this.transform;return S=S||[],D?y(S,T,D):m.copy(S,T)},pointToData:function(T){var w=this.invTransform;return w?y([],T,w):[T[0],T[1]]},convertToPixel:f.curry(B,"dataToPoint"),convertFromPixel:f.curry(B,"pointToData"),containPoint:function(T){return this.getViewRectAfterRoam().contain(T[0],T[1])}},f.mixin(v,x);function B(T,w,S,D){var R=S.seriesModel,P=R?R.coordinateSystem:null;return P===this?P[T](D):null}var Q=v;A.exports=Q}),nmt=wt((o,A)=>{var f=Bi(),m=zh(),C=E0e(),E=dte();function x(v,B,Q,T){C.call(this,v),this.map=B;var w=E.load(B,Q);this._nameCoordMap=w.nameCoordMap,this._regionsMap=w.regionsMap,this._invertLongitute=T??!0,this.regions=w.regions,this._rect=w.boundingRect}x.prototype={constructor:x,type:"geo",dimensions:["lng","lat"],containCoord:function(v){for(var B=this.regions,Q=0;Q{var f=Bu(),m=f.__DEV__,C=Dn(),E=Bi(),x=nmt(),y=pc(),I=ds(),v=dte(),B=d0e();function Q(D,R){var P=D.get("boundingCoords");if(P!=null){var M=P[0],L=P[1];isNaN(M[0])||isNaN(M[1])||isNaN(L[0])||isNaN(L[1])||this.setBoundingRect(M[0],M[1],L[0]-M[0],L[1]-M[1])}var F=this.getBoundingRect(),k,N=D.get("layoutCenter"),G=D.get("layoutSize"),J=R.getWidth(),K=R.getHeight(),X=F.width/F.height*this.aspectScale,q=!1;N&&G&&(N=[I.parsePercent(N[0],J),I.parsePercent(N[1],K)],G=I.parsePercent(G,Math.min(J,K)),!isNaN(N[0])&&!isNaN(N[1])&&!isNaN(G)&&(q=!0));var ee;if(q){var ee={};X>1?(ee.width=G,ee.height=G/X):(ee.height=G,ee.width=G*X),ee.y=N[1]-ee.height/2,ee.x=N[0]-ee.width/2}else k=D.getBoxLayoutParams(),k.aspect=X,ee=y.getLayoutRect(k,{width:J,height:K});this.setViewRect(ee.x,ee.y,ee.width,ee.height),this.setCenter(D.get("center")),this.setZoom(D.get("zoom"))}function T(D,R){E.each(R.get("geoCoord"),function(P,M){D.addGeoCoord(M,P)})}var w={dimensions:x.prototype.dimensions,create:function(D,R){var P=[];D.eachComponent("geo",function(L,F){var k=L.get("map"),N=L.get("aspectScale"),G=!0,J=B.retrieveMap(k);J&&J[0]&&J[0].type==="svg"?(N==null&&(N=1),G=!1):N==null&&(N=.75);var K=new x(k+F,k,L.get("nameMap"),G);K.aspectScale=N,K.zoomLimit=L.get("scaleLimit"),P.push(K),T(K,L),L.coordinateSystem=K,K.model=L,K.resize=Q,K.resize(L,R)}),D.eachSeries(function(L){var F=L.get("coordinateSystem");if(F==="geo"){var k=L.get("geoIndex")||0;L.coordinateSystem=P[k]}});var M={};return D.eachSeriesByType("map",function(L){if(!L.getHostGeoModel()){var F=L.getMapType();M[F]=M[F]||[],M[F].push(L)}}),E.each(M,function(L,F){var k=E.map(L,function(G){return G.get("nameMap")}),N=new x(F,F,E.mergeAll(k));N.zoomLimit=E.retrieve.apply(null,E.map(L,function(G){return G.get("scaleLimit")})),P.push(N),N.resize=Q,N.aspectScale=L[0].get("aspectScale"),N.resize(L[0],R),E.each(L,function(G){G.coordinateSystem=N,T(N,G)})}),P},getFilledRegions:function(D,R,P){for(var M=(D||[]).slice(),L=E.createHashMap(),F=0;F{var f=Bi();function m(C){var E={};C.eachSeriesByType("map",function(x){var y=x.getMapType();if(!(x.getHostGeoModel()||E[y])){var I={};f.each(x.seriesGroup,function(B){var Q=B.coordinateSystem,T=B.originalData;B.get("showLegendSymbol")&&C.getComponent("legend")&&T.each(T.mapDimension("value"),function(w,S){var D=T.getName(S),R=Q.getRegion(D);if(!(!R||isNaN(w))){var P=I[D]||0,M=Q.dataToPoint(R.center);I[D]=P+1,T.setItemLayout(S,{point:M,offset:P})}})});var v=x.getData();v.each(function(B){var Q=v.getName(B),T=v.getItemLayout(B)||{};T.showLabel=!I[Q],v.setItemLayout(B,T)}),E[y]=!0}})}A.exports=m}),amt=wt((o,A)=>{function f(m){m.eachSeriesByType("map",function(C){var E=C.get("color"),x=C.getModel("itemStyle"),y=x.get("areaColor"),I=x.get("color")||E[C.seriesIndex%E.length];C.getData().setVisual({areaColor:y,color:I})})}A.exports=f}),smt=wt((o,A)=>{var f=Bi();function m(E,x){var y={};return f.each(E,function(I){I.each(I.mapDimension("value"),function(v,B){var Q="ec-"+I.getName(B);y[Q]=y[Q]||[],isNaN(v)||y[Q].push(v)})}),E[0].map(E[0].mapDimension("value"),function(I,v){for(var B="ec-"+E[0].getName(v),Q=0,T=1/0,w=-1/0,S=y[B].length,D=0;D{var f=Bi();function m(C){var E=[];f.each(C.series,function(x){x&&x.type==="map"&&(E.push(x),x.map=x.map||x.mapType,f.defaults(x,x.mapLocation))})}A.exports=m}),umt=wt(()=>{var o=Dn();imt(),rmt(),l6e(),x0e();var A=omt(),f=amt(),m=smt(),C=lmt(),E=o6e();o.registerLayout(A),o.registerVisual(f),o.registerProcessor(o.PRIORITY.PROCESSOR.STATISTIC,m),o.registerPreprocessor(C),E("map",[{type:"mapToggleSelect",event:"mapselectchanged",method:"toggleSelected"},{type:"mapSelect",event:"mapselected",method:"select"},{type:"mapUnSelect",event:"mapunselected",method:"unSelect"}])}),u6e=wt((o,A)=>{var f=Bi(),m=f.each,C="\0__link_datas",E="\0__link_mainData";function x(D){var R=D.mainData,P=D.datas;P||(P={main:R},D.datasAttr={main:"data"}),D.datas=D.mainData=null,T(R,P,D),m(P,function(M){m(R.TRANSFERABLE_METHODS,function(L){M.wrapMethod(L,f.curry(y,D))})}),R.wrapMethod("cloneShallow",f.curry(v,D)),m(R.CHANGABLE_METHODS,function(M){R.wrapMethod(M,f.curry(I,D))}),f.assert(P[R.dataType]===R)}function y(D,R){if(Q(this)){var P=f.extend({},this[C]);P[this.dataType]=R,T(R,P,D)}else w(R,this.dataType,this[E],D);return R}function I(D,R){return D.struct&&D.struct.update(this),R}function v(D,R){return m(R[C],function(P,M){P!==R&&w(P.cloneShallow(),M,R,D)}),R}function B(D){var R=this[E];return D==null||R==null?R:R[C][D]}function Q(D){return D[E]===D}function T(D,R,P){D[C]={},m(R,function(M,L){w(M,L,D,P)})}function w(D,R,P,M){P[C][R]=D,D[E]=P,D.dataType=R,M.struct&&(D[M.structAttr]=M.struct,M.struct[M.datasAttr[R]]=D),D.getLinkedData=B}var S=x;A.exports=S}),y0e=wt((o,A)=>{var f=Bi(),m=qf(),C=u6e(),E=sv(),x=K4(),y=function(Q,T){this.name=Q||"",this.depth=0,this.height=0,this.parentNode=null,this.dataIndex=-1,this.children=[],this.viewChildren=[],this.hostTree=T};y.prototype={constructor:y,isRemoved:function(){return this.dataIndex<0},eachNode:function(Q,T,w){typeof Q=="function"&&(w=T,T=Q,Q=null),Q=Q||{},f.isString(Q)&&(Q={order:Q});var S=Q.order||"preorder",D=this[Q.attr||"children"],R;S==="preorder"&&(R=T.call(w,this));for(var P=0;!R&&PT&&(T=S.height)}this.height=T+1},getNodeById:function(Q){if(this.getId()===Q)return this;for(var T=0,w=this.children,S=w.length;T=0&&this.hostTree.data.setItemLayout(this.dataIndex,Q,T)},getLayout:function(){return this.hostTree.data.getItemLayout(this.dataIndex)},getModel:function(Q){if(!(this.dataIndex<0)){var T=this.hostTree,w=T.data.getItemModel(this.dataIndex),S=this.getLevelModel();return S?w.getModel(Q,S.getModel(Q)):w.getModel(Q)}},getLevelModel:function(){return(this.hostTree.levelModels||[])[this.depth]},setVisual:function(Q,T){this.dataIndex>=0&&this.hostTree.data.setItemVisual(this.dataIndex,Q,T)},getVisual:function(Q,T){return this.hostTree.data.getItemVisual(this.dataIndex,Q,T)},getRawIndex:function(){return this.hostTree.data.getRawIndex(this.dataIndex)},getId:function(){return this.hostTree.data.getId(this.dataIndex)},isAncestorOf:function(Q){for(var T=Q.parentNode;T;){if(T===this)return!0;T=T.parentNode}return!1},isDescendantOf:function(Q){return Q!==this&&Q.isAncestorOf(this)}};function I(Q,T){this.root,this.data,this._nodes=[],this.hostModel=Q,this.levelModels=f.map(T||[],function(w){return new m(w,Q,Q.ecModel)})}I.prototype={constructor:I,type:"tree",eachNode:function(Q,T,w){this.root.eachNode(Q,T,w)},getNodeByDataIndex:function(Q){var T=this.data.getRawIndex(Q);return this._nodes[T]},getNodeByName:function(Q){return this.root.getNodeByName(Q)},update:function(){for(var Q=this.data,T=this._nodes,w=0,S=T.length;w{var f=E0(),m=y0e(),C=Tc(),E=C.encodeHTML,x=qf(),y=f.extend({type:"series.tree",layoutInfo:null,layoutMode:"box",getInitialData:function(I){var v={name:I.name,children:I.data},B=I.leaves||{},Q=new x(B,this,this.ecModel),T=m.createTree(v,this,{},w);function w(P){P.wrapMethod("getItemModel",function(M,L){var F=T.getNodeByDataIndex(L);return(!F.children.length||!F.isExpand)&&(M.parentModel=Q),M})}var S=0;T.eachNode("preorder",function(P){P.depth>S&&(S=P.depth)});var D=I.expandAndCollapse,R=D&&I.initialTreeDepth>=0?I.initialTreeDepth:S;return T.root.eachNode("preorder",function(P){var M=P.hostTree.data.getRawDataItem(P.dataIndex);P.isExpand=M&&M.collapsed!=null?!M.collapsed:P.depth<=R}),T.data},getOrient:function(){var I=this.get("orient");return I==="horizontal"?I="LR":I==="vertical"&&(I="TB"),I},setZoom:function(I){this.option.zoom=I},setCenter:function(I){this.option.center=I},formatTooltip:function(I){for(var v=this.getData().tree,B=v.root.children[0],Q=v.getNodeByDataIndex(I),T=Q.getValue(),w=Q.name;Q&&Q!==B;)w=Q.parentNode.name+"."+w,Q=Q.parentNode;return E(w+(isNaN(T)||T==null?"":" : "+T))},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",left:"12%",top:"12%",right:"12%",bottom:"12%",layout:"orthogonal",edgeShape:"curve",edgeForkPosition:"50%",roam:!1,nodeScaleRatio:.4,center:null,zoom:1,orient:"LR",symbol:"emptyCircle",symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:"#ccc",width:1.5,curveness:.5},itemStyle:{color:"lightsteelblue",borderColor:"#c23531",borderWidth:1.5},label:{show:!0,color:"#555"},leaves:{label:{show:!0}},animationEasing:"linear",animationDuration:700,animationDurationUpdate:1e3}});A.exports=y}),A6e=wt(o=>{var A=pc();function f(D){D.hierNode={defaultAncestor:null,ancestor:D,prelim:0,modifier:0,change:0,shift:0,i:0,thread:null};for(var R=[D],P,M;P=R.pop();)if(M=P.children,P.isExpand&&M.length)for(var L=M.length,F=L-1;F>=0;F--){var k=M[F];k.hierNode={defaultAncestor:null,ancestor:k,prelim:0,modifier:0,change:0,shift:0,i:F,thread:null},R.push(k)}}function m(D,R){var P=D.isExpand?D.children:[],M=D.parentNode.children,L=D.hierNode.i?M[D.hierNode.i-1]:null;if(P.length){I(D);var F=(P[0].hierNode.prelim+P[P.length-1].hierNode.prelim)/2;L?(D.hierNode.prelim=L.hierNode.prelim+R(D,L),D.hierNode.modifier=D.hierNode.prelim-F):D.hierNode.prelim=F}else L&&(D.hierNode.prelim=L.hierNode.prelim+R(D,L));D.parentNode.hierNode.defaultAncestor=v(D,L,D.parentNode.hierNode.defaultAncestor||M[0],R)}function C(D){var R=D.hierNode.prelim+D.parentNode.hierNode.modifier;D.setLayout({x:R},!0),D.hierNode.modifier+=D.parentNode.hierNode.modifier}function E(D){return arguments.length?D:S}function x(D,R){var P={};return D-=Math.PI/2,P.x=R*Math.cos(D),P.y=R*Math.sin(D),P}function y(D,R){return A.getLayoutRect(D.getBoxLayoutParams(),{width:R.getWidth(),height:R.getHeight()})}function I(D){for(var R=D.children,P=R.length,M=0,L=0;--P>=0;){var F=R[P];F.hierNode.prelim+=M,F.hierNode.modifier+=M,L+=F.hierNode.change,M+=F.hierNode.shift+L}}function v(D,R,P,M){if(R){for(var L=D,F=D,k=F.parentNode.children[0],N=R,G=L.hierNode.modifier,J=F.hierNode.modifier,K=k.hierNode.modifier,X=N.hierNode.modifier;N=B(N),F=Q(F),N&&F;){L=B(L),k=Q(k),L.hierNode.ancestor=D;var q=N.hierNode.prelim+X-F.hierNode.prelim-J+M(N,F);q>0&&(w(T(N,D,P),D,q),J+=q,G+=q),X+=N.hierNode.modifier,J+=F.hierNode.modifier,G+=L.hierNode.modifier,K+=k.hierNode.modifier}N&&!B(L)&&(L.hierNode.thread=N,L.hierNode.modifier+=X-G),F&&!Q(k)&&(k.hierNode.thread=F,k.hierNode.modifier+=J-K,P=D)}return P}function B(D){var R=D.children;return R.length&&D.isExpand?R[R.length-1]:D.hierNode.thread}function Q(D){var R=D.children;return R.length&&D.isExpand?R[0]:D.hierNode.thread}function T(D,R,P){return D.hierNode.ancestor.parentNode===R.parentNode?D.hierNode.ancestor:P}function w(D,R,P){var M=P/(R.hierNode.i-D.hierNode.i);R.hierNode.change-=M,R.hierNode.shift+=P,R.hierNode.modifier+=P,R.hierNode.prelim+=P,D.hierNode.change+=M}function S(D,R){return D.parentNode===R.parentNode?1:2}o.init=f,o.firstWalk=m,o.secondWalk=C,o.separation=E,o.radialCoordinate=x,o.getViewRect=y}),cmt=wt((o,A)=>{var f=Bi(),m=To(),C=ute(),E=A6e(),x=E.radialCoordinate,y=Dn(),I=Ez(),v=E0e(),B=m0e(),Q=Dz(),T=fte(),w=T.onIrrelevantElement,S=Bu(),D=S.__DEV__,R=ds(),P=R.parsePercent,M=m.extendShape({shape:{parentPoint:[],childPoints:[],orient:"",forkPosition:""},style:{stroke:"#000",fill:null},buildPath:function(X,q){var ee=q.childPoints,ie=ee.length,H=q.parentPoint,le=ee[0],ue=ee[ie-1];if(ie===1){X.moveTo(H[0],H[1]),X.lineTo(le[0],le[1]);return}var Ae=q.orient,he=Ae==="TB"||Ae==="BT"?0:1,ge=1-he,fe=P(q.forkPosition,1),ae=[];ae[he]=H[he],ae[ge]=H[ge]+(ue[ge]-H[ge])*fe,X.moveTo(H[0],H[1]),X.lineTo(ae[0],ae[1]),X.moveTo(le[0],le[1]),ae[he]=le[he],X.lineTo(ae[0],ae[1]),ae[he]=ue[he],X.lineTo(ae[0],ae[1]),X.lineTo(ue[0],ue[1]);for(var U=1;Ude.x,Ie||(Ce=Ce-Math.PI));var Te=Ie?"left":"right",Ge=ge.labelModel.get("rotate"),ke=Ge*(Math.PI/180);re.setStyle({textPosition:ge.labelModel.get("position")||Te,textRotation:Ge==null?-Ce:ke,textOrigin:"center",verticalAlign:"middle"})}G(H,Ae,fe,ee,Y,W,z,ie,ge)}function G(X,q,ee,ie,H,le,ue,Ae,he){var ge=he.edgeShape,fe=ie.__edge;if(ge==="curve")q.parentNode&&q.parentNode!==ee&&(fe||(fe=ie.__edge=new m.BezierCurve({shape:K(he,H,H),style:f.defaults({opacity:0,strokeNoScale:!0},he.lineStyle)})),m.updateProps(fe,{shape:K(he,le,ue),style:{opacity:1}},X));else if(ge==="polyline"&&he.layout==="orthogonal"&&q!==ee&&q.children&&q.children.length!==0&&q.isExpand===!0){for(var ae=q.children,U=[],W=0;W{var o=Dn(),A=C0e(),f=A.updateCenterAndZoom;o.registerAction({type:"treeExpandAndCollapse",event:"treeExpandAndCollapse",update:"update"},function(m,C){C.eachComponent({mainType:"series",subType:"tree",query:m},function(E){var x=m.dataIndex,y=E.getData().tree,I=y.getNodeByDataIndex(x);I.isExpand=!I.isExpand})}),o.registerAction({type:"treeRoam",event:"treeRoam",update:"none"},function(m,C){C.eachComponent({mainType:"series",subType:"tree",query:m},function(E){var x=E.coordinateSystem,y=f(x,m);E.setCenter&&E.setCenter(y.center),E.setZoom&&E.setZoom(y.zoom)})})}),dmt=wt(o=>{function A(m,C,E){for(var x=[m],y=[],I;I=x.pop();)if(y.push(I),I.isExpand){var v=I.children;if(v.length)for(var B=0;B=0;I--)E.push(y[I])}}o.eachAfter=A,o.eachBefore=f}),fmt=wt((o,A)=>{var f=dmt(),m=f.eachAfter,C=f.eachBefore,E=A6e(),x=E.init,y=E.firstWalk,I=E.secondWalk,v=E.separation,B=E.radialCoordinate,Q=E.getViewRect;function T(S,D){S.eachSeriesByType("tree",function(R){w(R,D)})}function w(S,D){var R=Q(S,D);S.layoutInfo=R;var P=S.get("layout"),M=0,L=0,F=null;P==="radial"?(M=2*Math.PI,L=Math.min(R.height,R.width)/2,F=v(function(Ae,he){return(Ae.parentNode===he.parentNode?1:2)/Ae.depth})):(M=R.width,L=R.height,F=v());var k=S.getData().tree.root,N=k.children[0];if(N){x(k),m(N,y,F),k.hierNode.modifier=-N.hierNode.prelim,C(N,I);var G=N,J=N,K=N;C(N,function(Ae){var he=Ae.getLayout().x;heJ.getLayout().x&&(J=Ae),Ae.depth>K.depth&&(K=Ae)});var X=G===J?1:F(G,J)/2,q=X-G.getLayout().x,ee=0,ie=0,H=0,le=0;if(P==="radial")ee=M/(J.getLayout().x+X+q),ie=L/(K.depth-1||1),C(N,function(Ae){H=(Ae.getLayout().x+q)*ee,le=(Ae.depth-1)*ie;var he=B(H,le);Ae.setLayout({x:he.x,y:he.y,rawX:H,rawY:le},!0)});else{var ue=S.getOrient();ue==="RL"||ue==="LR"?(ie=L/(J.getLayout().x+X+q),ee=M/(K.depth-1||1),C(N,function(Ae){le=(Ae.getLayout().x+q)*ie,H=ue==="LR"?(Ae.depth-1)*ee:M-(Ae.depth-1)*ee,Ae.setLayout({x:H,y:le},!0)})):(ue==="TB"||ue==="BT")&&(ee=M/(J.getLayout().x+X+q),ie=L/(K.depth-1||1),C(N,function(Ae){H=(Ae.getLayout().x+q)*ee,le=ue==="TB"?(Ae.depth-1)*ie:L-(Ae.depth-1)*ie,Ae.setLayout({x:H,y:le},!0)}))}}}A.exports=T}),gmt=wt(()=>{var o=Dn();Amt(),cmt(),hmt();var A=e3(),f=fmt();o.registerVisual(A("tree","circle")),o.registerLayout(f)}),i3=wt(o=>{var A=Bi();function f(x,y,I){if(x&&A.indexOf(y,x.type)>=0){var v=I.getData().tree.root,B=x.targetNode;if(typeof B=="string"&&(B=v.getNodeById(B)),B&&v.contains(B))return{node:B};var Q=x.targetNodeId;if(Q!=null&&(B=v.getNodeById(Q)))return{node:B}}}function m(x){for(var y=[];x;)x=x.parentNode,x&&y.push(x);return y.reverse()}function C(x,y){var I=m(x);return A.indexOf(I,y)>=0}function E(x,y){for(var I=[];x;){var v=x.dataIndex;I.push({name:x.name,dataIndex:v,value:y.getRawValue(v)}),x=x.parentNode}return I.reverse(),I}o.retrieveTargetInfo=f,o.getPathToRoot=m,o.aboveViewRoot=C,o.wrapTreePathInfo=E}),pmt=wt((o,A)=>{var f=Bi(),m=E0(),C=y0e(),E=qf(),x=Tc(),y=x.encodeHTML,I=x.addCommas,v=i3(),B=v.wrapTreePathInfo,Q=m.extend({type:"series.treemap",layoutMode:"box",dependencies:["grid","polar"],preventUsingHoverLayer:!0,_viewRoot:null,defaultOption:{progressive:0,left:"center",top:"middle",right:null,bottom:null,width:"80%",height:"80%",sort:!0,clipWindow:"origin",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:"\u25B6",zoomToNodeRatio:.32*.32,roam:!0,nodeClick:"zoomToNode",animation:!0,animationDurationUpdate:900,animationEasing:"quinticInOut",breadcrumb:{show:!0,height:22,left:"center",top:"bottom",emptyItemWidth:25,itemStyle:{color:"rgba(0,0,0,0.7)",borderColor:"rgba(255,255,255,0.7)",borderWidth:1,shadowColor:"rgba(150,150,150,1)",shadowBlur:3,shadowOffsetX:0,shadowOffsetY:0,textStyle:{color:"#fff"}},emphasis:{textStyle:{}}},label:{show:!0,distance:0,padding:5,position:"inside",color:"#fff",ellipsis:!0},upperLabel:{show:!1,position:[0,"50%"],height:20,color:"#fff",ellipsis:!0,verticalAlign:"middle"},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:"#fff",borderColorSaturation:null},emphasis:{upperLabel:{show:!0,position:[0,"50%"],color:"#fff",ellipsis:!0,verticalAlign:"middle"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:"index",visibleMin:10,childrenVisibleMin:null,levels:[]},getInitialData:function(S,D){var R={name:S.name,children:S.data};T(R);var P=S.levels||[];P=S.levels=w(P,D);var M=f.map(P||[],function(k){return new E(k,this,D)},this),L=C.createTree(R,this,null,F);function F(k){k.wrapMethod("getItemModel",function(N,G){var J=L.getNodeByDataIndex(G),K=M[J.depth];return K&&(N.parentModel=K),N})}return L.data},optionUpdated:function(){this.resetViewRoot()},formatTooltip:function(S){var D=this.getData(),R=this.getRawValue(S),P=f.isArray(R)?I(R[0]):I(R),M=D.getName(S);return y(M+": "+P)},getDataParams:function(S){var D=m.prototype.getDataParams.apply(this,arguments),R=this.getData().tree.getNodeByDataIndex(S);return D.treePathInfo=B(R,this),D},setLayoutInfo:function(S){this.layoutInfo=this.layoutInfo||{},f.extend(this.layoutInfo,S)},mapIdToIndex:function(S){var D=this._idIndexMap;D||(D=this._idIndexMap=f.createHashMap(),this._idIndexMapCount=0);var R=D.get(S);return R==null&&D.set(S,R=this._idIndexMapCount++),R},getViewRoot:function(){return this._viewRoot},resetViewRoot:function(S){S?this._viewRoot=S:S=this._viewRoot;var D=this.getRawData().tree.root;(!S||S!==D&&!D.contains(S))&&(this._viewRoot=D)}});function T(S){var D=0;f.each(S.children,function(P){T(P);var M=P.value;f.isArray(M)&&(M=M[0]),D+=M});var R=S.value;f.isArray(R)&&(R=R[0]),(R==null||isNaN(R))&&(R=D),R<0&&(R=0),f.isArray(S.value)?S.value[0]=R:S.value=R}function w(S,D){var R=D.get("color");if(R){S=S||[];var P;if(f.each(S,function(L){var F=new E(L),k=F.get("color");(F.get("itemStyle.color")||k&&k!=="none")&&(P=!0)}),!P){var M=S[0]||(S[0]={});M.color=R.slice()}return S}}A.exports=Q}),mmt=wt((o,A)=>{var f=To(),m=pc(),C=Bi(),E=i3(),x=E.wrapTreePathInfo,y=8,I=8,v=5;function B(S){this.group=new f.Group,S.add(this.group)}B.prototype={constructor:B,render:function(S,D,R,P){var M=S.getModel("breadcrumb"),L=this.group;if(L.removeAll(),!(!M.get("show")||!R)){var F=M.getModel("itemStyle"),k=F.getModel("textStyle"),N={pos:{left:M.get("left"),right:M.get("right"),top:M.get("top"),bottom:M.get("bottom")},box:{width:D.getWidth(),height:D.getHeight()},emptyItemWidth:M.get("emptyItemWidth"),totalWidth:0,renderList:[]};this._prepare(R,N,k),this._renderContent(S,N,F,k,P),m.positionElement(L,N.pos,N.box)}},_prepare:function(S,D,R){for(var P=S;P;P=P.parentNode){var M=P.getModel().get("name"),L=R.getTextRect(M),F=Math.max(L.width+y*2,D.emptyItemWidth);D.totalWidth+=F+I,D.renderList.push({node:P,text:M,width:F})}},_renderContent:function(S,D,R,P,M){for(var L=0,F=D.emptyItemWidth,k=S.get("breadcrumb.height"),N=m.getAvailableSize(D.pos,D.box),G=D.totalWidth,J=D.renderList,K=J.length-1;K>=0;K--){var X=J[K],q=X.node,ee=X.width,ie=X.text;G>N.width&&(G-=ee-F,ee=F,ie=null);var H=new f.Polygon({shape:{points:Q(L,0,ee,k,K===J.length-1,K===0)},style:C.defaults(R.getItemStyle(),{lineJoin:"bevel",text:ie,textFill:P.getTextColor(),textFont:P.getFont()}),z:10,onclick:C.curry(M,q)});this.group.add(H),T(H,S,q),L+=ee+I}},remove:function(){this.group.removeAll()}};function Q(S,D,R,P,M,L){var F=[[M?S:S-v,D],[S+R,D],[S+R,D+P],[M?S:S-v,D+P]];return!L&&F.splice(2,0,[S+R+v,D+P/2]),!M&&F.push([S,D+P/2]),F}function T(S,D,R){S.eventData={componentType:"series",componentSubType:"treemap",componentIndex:D.componentIndex,seriesIndex:D.componentIndex,seriesName:D.name,seriesType:"treemap",selfType:"breadcrumb",nodeData:{dataIndex:R&&R.dataIndex,name:R&&R.name},treePathInfo:R&&x(R,D)}}var w=B;A.exports=w}),Cmt=wt(o=>{var A=Bi();function f(){var m=[],C={},E;return{add:function(x,y,I,v,B){return A.isString(v)&&(B=v,v=0),C[x.id]?!1:(C[x.id]=1,m.push({el:x,target:y,time:I,delay:v,easing:B}),!0)},done:function(x){return E=x,this},start:function(){for(var x=m.length,y=0,I=m.length;y{var f=Dn(),m=Bi(),C=To(),E=$N(),x=i3(),y=mmt(),I=Dz(),v=zh(),B=xE(),Q=Cmt(),T=z4(),w=Tc(),S=w.windowOpen,D=m.bind,R=C.Group,P=C.Rect,M=m.each,L=3,F=["label"],k=["emphasis","label"],N=["upperLabel"],G=["emphasis","upperLabel"],J=10,K=1,X=2,q=T([["fill","color"],["stroke","strokeColor"],["lineWidth","strokeWidth"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),ee=function(Ae){var he=q(Ae);return he.stroke=he.fill=he.lineWidth=null,he},ie=f.extendChartView({type:"treemap",init:function(Ae,he){this._containerGroup,this._storage=H(),this._oldTree,this._breadcrumb,this._controller,this._state="ready"},render:function(Ae,he,ge,fe){var ae=he.findComponents({mainType:"series",subType:"treemap",query:fe});if(!(m.indexOf(ae,Ae)<0)){this.seriesModel=Ae,this.api=ge,this.ecModel=he;var U=["treemapZoomToNode","treemapRootToNode"],W=x.retrieveTargetInfo(fe,U,Ae),Y=fe&&fe.type,z=Ae.layoutInfo,re=!this._oldTree,se=this._storage,de=Y==="treemapRootToNode"&&W&&se?{rootNodeGroup:se.nodeGroup[W.node.getRawIndex()],direction:fe.direction}:null,me=this._giveContainerGroup(z),Ce=this._doRender(me,Ae,de);!re&&(!Y||Y==="treemapZoomToNode"||Y==="treemapRootToNode")?this._doAnimation(me,Ce,Ae,de):Ce.renderFinally(),this._resetController(ge),this._renderBreadcrumb(Ae,ge,W)}},_giveContainerGroup:function(Ae){var he=this._containerGroup;return he||(he=this._containerGroup=new R,this._initEvents(he),this.group.add(he)),he.attr("position",[Ae.x,Ae.y]),he},_doRender:function(Ae,he,ge){var fe=he.getData().tree,ae=this._oldTree,U=H(),W=H(),Y=this._storage,z=[],re=m.curry(le,he,W,Y,ge,U,z);de(fe.root?[fe.root]:[],ae&&ae.root?[ae.root]:[],Ae,fe===ae||!ae,0);var se=me(Y);return this._oldTree=fe,this._storage=W,{lastsForAnimation:U,willDeleteEls:se,renderFinally:Ce};function de(Ie,we,Te,Ge,ke){Ge?(we=Ie,M(Ie,function(be,Ne){!be.isRemoved()&&Le(Ne,Ne)})):new E(we,Ie,Oe,Oe).add(Le).update(Le).remove(m.curry(Le,null)).execute();function Oe(be){return be.getId()}function Le(be,Ne){var Ue=be!=null?Ie[be]:null,ze=Ne!=null?we[Ne]:null,Je=re(Ue,ze,Te,ke);Je&&de(Ue&&Ue.viewChildren||[],ze&&ze.viewChildren||[],Je,Ge,ke+1)}}function me(Ie){var we=H();return Ie&&M(Ie,function(Te,Ge){var ke=we[Ge];M(Te,function(Oe){Oe&&(ke.push(Oe),Oe.__tmWillDelete=1)})}),we}function Ce(){M(se,function(Ie){M(Ie,function(we){we.parent&&we.parent.remove(we)})}),M(z,function(Ie){Ie.invisible=!0,Ie.dirty()})}},_doAnimation:function(Ae,he,ge,fe){if(ge.get("animation")){var ae=ge.get("animationDurationUpdate"),U=ge.get("animationEasing"),W=Q.createWrap();M(he.willDeleteEls,function(Y,z){M(Y,function(re,se){if(!re.invisible){var de=re.parent,me;if(fe&&fe.direction==="drillDown")me=de===fe.rootNodeGroup?{shape:{x:0,y:0,width:de.__tmNodeWidth,height:de.__tmNodeHeight},style:{opacity:0}}:{style:{opacity:0}};else{var Ce=0,Ie=0;de.__tmWillDelete||(Ce=de.__tmNodeWidth/2,Ie=de.__tmNodeHeight/2),me=z==="nodeGroup"?{position:[Ce,Ie],style:{opacity:0}}:{shape:{x:Ce,y:Ie,width:0,height:0},style:{opacity:0}}}me&&W.add(re,me,ae,U)}})}),M(this._storage,function(Y,z){M(Y,function(re,se){var de=he.lastsForAnimation[z][se],me={};de&&(z==="nodeGroup"?de.old&&(me.position=re.position.slice(),re.attr("position",de.old)):(de.old&&(me.shape=m.extend({},re.shape),re.setShape(de.old)),de.fadein?(re.setStyle("opacity",0),me.style={opacity:1}):re.style.opacity!==1&&(me.style={opacity:1})),W.add(re,me,ae,U))})},this),this._state="animating",W.done(D(function(){this._state="ready",he.renderFinally()},this)).start()}},_resetController:function(Ae){var he=this._controller;he||(he=this._controller=new I(Ae.getZr()),he.enable(this.seriesModel.get("roam")),he.on("pan",D(this._onPan,this)),he.on("zoom",D(this._onZoom,this)));var ge=new v(0,0,Ae.getWidth(),Ae.getHeight());he.setPointerChecker(function(fe,ae,U){return ge.contain(ae,U)})},_clearController:function(){var Ae=this._controller;Ae&&(Ae.dispose(),Ae=null)},_onPan:function(Ae){if(this._state!=="animating"&&(Math.abs(Ae.dx)>L||Math.abs(Ae.dy)>L)){var he=this.seriesModel.getData().tree.root;if(!he)return;var ge=he.getLayout();if(!ge)return;this.api.dispatchAction({type:"treemapMove",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:ge.x+Ae.dx,y:ge.y+Ae.dy,width:ge.width,height:ge.height}})}},_onZoom:function(Ae){var he=Ae.originX,ge=Ae.originY;if(this._state!=="animating"){var fe=this.seriesModel.getData().tree.root;if(!fe)return;var ae=fe.getLayout();if(!ae)return;var U=new v(ae.x,ae.y,ae.width,ae.height),W=this.seriesModel.layoutInfo;he-=W.x,ge-=W.y;var Y=B.create();B.translate(Y,Y,[-he,-ge]),B.scale(Y,Y,[Ae.scale,Ae.scale]),B.translate(Y,Y,[he,ge]),U.applyTransform(Y),this.api.dispatchAction({type:"treemapRender",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:U.x,y:U.y,width:U.width,height:U.height}})}},_initEvents:function(Ae){Ae.on("click",function(he){if(this._state==="ready"){var ge=this.seriesModel.get("nodeClick",!0);if(ge){var fe=this.findTarget(he.offsetX,he.offsetY);if(fe){var ae=fe.node;if(ae.getLayout().isLeafRoot)this._rootToNode(fe);else if(ge==="zoomToNode")this._zoomToNode(fe);else if(ge==="link"){var U=ae.hostTree.data.getItemModel(ae.dataIndex),W=U.get("link",!0),Y=U.get("target",!0)||"blank";W&&S(W,Y)}}}}},this)},_renderBreadcrumb:function(Ae,he,ge){ge||(ge=Ae.get("leafDepth",!0)!=null?{node:Ae.getViewRoot()}:this.findTarget(he.getWidth()/2,he.getHeight()/2),ge||(ge={node:Ae.getData().tree.root})),(this._breadcrumb||(this._breadcrumb=new y(this.group))).render(Ae,he,ge.node,D(fe,this));function fe(ae){this._state!=="animating"&&(x.aboveViewRoot(Ae.getViewRoot(),ae)?this._rootToNode({node:ae}):this._zoomToNode({node:ae}))}},remove:function(){this._clearController(),this._containerGroup&&this._containerGroup.removeAll(),this._storage=H(),this._state="ready",this._breadcrumb&&this._breadcrumb.remove()},dispose:function(){this._clearController()},_zoomToNode:function(Ae){this.api.dispatchAction({type:"treemapZoomToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:Ae.node})},_rootToNode:function(Ae){this.api.dispatchAction({type:"treemapRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:Ae.node})},findTarget:function(Ae,he){var ge,fe=this.seriesModel.getViewRoot();return fe.eachNode({attr:"viewChildren",order:"preorder"},function(ae){var U=this._storage.background[ae.getRawIndex()];if(U){var W=U.transformCoordToLocal(Ae,he),Y=U.shape;if(Y.x<=W[0]&&W[0]<=Y.x+Y.width&&Y.y<=W[1]&&W[1]<=Y.y+Y.height)ge={node:ae,offsetX:W[0],offsetY:W[1]};else return!1}},this),ge}});function H(){return{nodeGroup:[],background:[],content:[]}}function le(Ae,he,ge,fe,ae,U,W,Y,z,re){if(!W)return;var se=W.getLayout(),de=Ae.getData();if(de.setItemGraphicEl(W.dataIndex,null),!se||!se.isInView)return;var me=se.width,Ce=se.height,Ie=se.borderWidth,we=se.invisible,Te=W.getRawIndex(),Ge=Y&&Y.getRawIndex(),ke=W.viewChildren,Oe=se.upperHeight,Le=ke&&ke.length,be=W.getModel("itemStyle"),Ne=W.getModel("emphasis.itemStyle"),Ue=yt("nodeGroup",R);if(!Ue)return;if(z.add(Ue),Ue.attr("position",[se.x||0,se.y||0]),Ue.__tmNodeWidth=me,Ue.__tmNodeHeight=Ce,se.isAboveViewRoot)return Ue;var ze=W.getModel(),Je=yt("background",P,re,K);if(Je&&et(Ue,Je,Le&&se.upperLabelHeight),Le)C.isHighDownDispatcher(Ue)&&C.setAsHighDownDispatcher(Ue,!1),Je&&(C.setAsHighDownDispatcher(Je,!0),de.setItemGraphicEl(W.dataIndex,Je));else{var Xe=yt("content",P,re,X);Xe&&ot(Ue,Xe),Je&&C.isHighDownDispatcher(Je)&&C.setAsHighDownDispatcher(Je,!1),C.setAsHighDownDispatcher(Ue,!0),de.setItemGraphicEl(W.dataIndex,Ue)}return Ue;function et(ut,St,gt){if(St.dataIndex=W.dataIndex,St.seriesIndex=Ae.seriesIndex,St.setShape({x:0,y:0,width:me,height:Ce}),we)Et(St);else{St.invisible=!1;var xt=W.getVisual("borderColor",!0),Lt=Ne.get("borderColor"),nt=ee(be);nt.fill=xt;var Pe=q(Ne);if(Pe.fill=Lt,gt){var ve=me-2*Ie;Ct(nt,Pe,xt,ve,Oe,{x:Ie,y:0,width:ve,height:Oe})}else nt.text=Pe.text=null;St.setStyle(nt),C.setElementHoverStyle(St,Pe)}ut.add(St)}function ot(ut,St){St.dataIndex=W.dataIndex,St.seriesIndex=Ae.seriesIndex;var gt=Math.max(me-2*Ie,0),xt=Math.max(Ce-2*Ie,0);if(St.culling=!0,St.setShape({x:Ie,y:Ie,width:gt,height:xt}),we)Et(St);else{St.invisible=!1;var Lt=W.getVisual("color",!0),nt=ee(be);nt.fill=Lt;var Pe=q(Ne);Ct(nt,Pe,Lt,gt,xt),St.setStyle(nt),C.setElementHoverStyle(St,Pe)}ut.add(St)}function Et(ut){!ut.invisible&&U.push(ut)}function Ct(ut,St,gt,xt,Lt,nt){var Pe=ze.get("name"),ve=ze.getModel(nt?N:F),We=ze.getModel(nt?G:k),bt=ve.getShallow("show");C.setLabelStyle(ut,St,ve,We,{defaultText:bt?Pe:null,autoColor:gt,isRectText:!0,labelFetcher:Ae,labelDataIndex:W.dataIndex,labelProp:nt?"upperLabel":"label"}),ct(ut,nt,se),ct(St,nt,se),nt&&(ut.textRect=m.clone(nt)),ut.truncate=bt&&ve.get("ellipsis")?{outerWidth:xt,outerHeight:Lt,minChar:2}:null}function ct(ut,St,gt){var xt=ut.text;if(!St&>.isLeafRoot&&xt!=null){var Lt=Ae.get("drillDownIcon",!0);ut.text=Lt?Lt+" "+xt:xt}}function yt(ut,St,gt,xt){var Lt=Ge!=null&&ge[ut][Ge],nt=ae[ut];return Lt?(ge[ut][Ge]=null,Qt(nt,Lt,ut)):we||(Lt=new St({z:ue(gt,xt)}),Lt.__tmDepth=gt,Lt.__tmStorageName=ut,Ze(nt,Lt,ut)),he[ut][Te]=Lt}function Qt(ut,St,gt){var xt=ut[Te]={};xt.old=gt==="nodeGroup"?St.position.slice():m.extend({},St.shape)}function Ze(ut,St,gt){var xt=ut[Te]={},Lt=W.parentNode;if(Lt&&(!fe||fe.direction==="drillDown")){var nt=0,Pe=0,ve=ae.background[Lt.getRawIndex()];!fe&&ve&&ve.old&&(nt=ve.old.width,Pe=ve.old.height),xt.old=gt==="nodeGroup"?[0,Pe]:{x:nt,y:Pe,width:0,height:0}}xt.fadein=gt!=="nodeGroup"}}function ue(Ae,he){var ge=Ae*J+he;return(ge-1)/ge}A.exports=ie}),xmt=wt(()=>{var o=Dn(),A=i3(),f=function(){},m=["treemapZoomToNode","treemapRender","treemapMove"];for(C=0;C{var f=Bi(),m=Yb(),C=ds(),E=C.linearMap,x=f.each,y=f.isObject,I=-1,v=function(K){var X=K.mappingMethod,q=K.type,ee=this.option=f.clone(K);this.type=q,this.mappingMethod=X,this._normalizeData=N[X];var ie=B[q];this.applyVisual=ie.applyVisual,this.getColorMapper=ie.getColorMapper,this._doMap=ie._doMap[X],X==="piecewise"?(w(ee),Q(ee)):X==="category"?ee.categories?T(ee):w(ee,!0):(f.assert(X!=="linear"||ee.dataExtent),w(ee))};v.prototype={constructor:v,mapValueToVisual:function(K){var X=this._normalizeData(K);return this._doMap(X,K)},getNormalizer:function(){return f.bind(this._normalizeData,this)}};var B=v.visualHandlers={color:{applyVisual:R("color"),getColorMapper:function(){var K=this.option;return f.bind(K.mappingMethod==="category"?function(X,q){return!q&&(X=this._normalizeData(X)),P.call(this,X)}:function(X,q,ee){var ie=!!ee;return!q&&(X=this._normalizeData(X)),ee=m.fastLerp(X,K.parsedVisual,ee),ie?ee:m.stringify(ee,"rgba")},this)},_doMap:{linear:function(K){return m.stringify(m.fastLerp(K,this.option.parsedVisual),"rgba")},category:P,piecewise:function(K,X){var q=F.call(this,X);return q==null&&(q=m.stringify(m.fastLerp(K,this.option.parsedVisual),"rgba")),q},fixed:M}},colorHue:S(function(K,X){return m.modifyHSL(K,X)}),colorSaturation:S(function(K,X){return m.modifyHSL(K,null,X)}),colorLightness:S(function(K,X){return m.modifyHSL(K,null,null,X)}),colorAlpha:S(function(K,X){return m.modifyAlpha(K,X)}),opacity:{applyVisual:R("opacity"),_doMap:L([0,1])},liftZ:{applyVisual:R("liftZ"),_doMap:{linear:M,category:M,piecewise:M,fixed:M}},symbol:{applyVisual:function(K,X,q){var ee=this.mapValueToVisual(K);if(f.isString(ee))q("symbol",ee);else if(y(ee))for(var ie in ee)ee.hasOwnProperty(ie)&&q(ie,ee[ie])},_doMap:{linear:D,category:P,piecewise:function(K,X){var q=F.call(this,X);return q==null&&(q=D.call(this,K)),q},fixed:M}},symbolSize:{applyVisual:R("symbolSize"),_doMap:L([0,1])}};function Q(K){var X=K.pieceList;K.hasSpecialVisual=!1,f.each(X,function(q,ee){q.originIndex=ee,q.visual!=null&&(K.hasSpecialVisual=!0)})}function T(K){var X=K.categories,q=K.visual,ee=K.categoryMap={};if(x(X,function(le,ue){ee[le]=ue}),!f.isArray(q)){var ie=[];f.isObject(q)?x(q,function(le,ue){var Ae=ee[ue];ie[Ae??I]=le}):ie[I]=q,q=k(K,ie)}for(var H=X.length-1;H>=0;H--)q[H]==null&&(delete ee[X[H]],X.pop())}function w(K,X){var q=K.visual,ee=[];f.isObject(q)?x(q,function(H){ee.push(H)}):q!=null&&ee.push(q);var ie={color:1,symbol:1};!X&&ee.length===1&&!ie.hasOwnProperty(K.type)&&(ee[1]=ee[0]),k(K,ee)}function S(K){return{applyVisual:function(X,q,ee){X=this.mapValueToVisual(X),ee("color",K(q("color"),X))},_doMap:L([0,1])}}function D(K){var X=this.option.visual;return X[Math.round(E(K,[0,1],[0,X.length-1],!0))]||{}}function R(K){return function(X,q,ee){ee(K,this.mapValueToVisual(X))}}function P(K){var X=this.option.visual;return X[this.option.loop&&K!==I?K%X.length:K]}function M(){return this.option.visual[0]}function L(K){return{linear:function(X){return E(X,K,this.option.visual,!0)},category:P,piecewise:function(X,q){var ee=F.call(this,q);return ee==null&&(ee=E(X,K,this.option.visual,!0)),ee},fixed:M}}function F(K){var X=this.option,q=X.pieceList;if(X.hasSpecialVisual){var ee=v.findPieceIndex(K,q),ie=q[ee];if(ie&&ie.visual)return ie.visual[this.type]}}function k(K,X){return K.visual=X,K.type==="color"&&(K.parsedVisual=f.map(X,function(q){return m.parse(q)})),X}var N={linear:function(K){return E(K,this.option.dataExtent,[0,1],!0)},piecewise:function(K){var X=this.option.pieceList,q=v.findPieceIndex(K,X,!0);if(q!=null)return E(q,[0,X.length-1],[0,1],!0)},category:function(K){var X=this.option.categories?this.option.categoryMap[K]:K;return X??I},fixed:f.noop};v.listVisualTypes=function(){var K=[];return f.each(B,function(X,q){K.push(q)}),K},v.addVisualHandler=function(K,X){B[K]=X},v.isValidType=function(K){return B.hasOwnProperty(K)},v.eachVisual=function(K,X,q){f.isObject(K)?f.each(K,X,q):X.call(q,K)},v.mapVisual=function(K,X,q){var ee,ie=f.isArray(K)?[]:f.isObject(K)?{}:(ee=!0,null);return v.eachVisual(K,function(H,le){var ue=X.call(q,H,le);ee?ie=ue:ie[le]=ue}),ie},v.retrieveVisuals=function(K){var X={},q;return K&&x(B,function(ee,ie){K.hasOwnProperty(ie)&&(X[ie]=K[ie],q=!0)}),q?X:null},v.prepareVisualTypes=function(K){if(y(K)){var X=[];x(K,function(q,ee){X.push(ee)}),K=X}else if(f.isArray(K))K=K.slice();else return[];return K.sort(function(q,ee){return ee==="color"&&q!=="color"&&q.indexOf("color")===0?1:-1}),K},v.dependsOn=function(K,X){return X==="color"?!!(K&&K.indexOf(X)===0):K===X},v.findPieceIndex=function(K,X,q){for(var ee,ie=1/0,H=0,le=X.length;H{var f=r3(),m=Yb(),C=Bi(),E=C.isArray,x="itemStyle",y={seriesType:"treemap",reset:function(R,P,M,L){var F=R.getData().tree,k=F.root,N=R.getModel(x);if(!k.isRemoved()){var G=C.map(F.levelModels,function(J){return J?J.get(x):null});I(k,{},G,N,R.getViewRoot().getAncestors(),R)}}};function I(R,P,M,L,F,k){var N=R.getModel(),G=R.getLayout();if(!(!G||G.invisible||!G.isInView)){var J=R.getModel(x),K=M[R.depth],X=v(J,P,K,L),q=J.get("borderColor"),ee=J.get("borderColorSaturation"),ie;ee!=null&&(ie=B(X,R),q=Q(ee,ie)),R.setVisual("borderColor",q);var H=R.viewChildren;if(!H||!H.length)ie=B(X,R),R.setVisual("color",ie);else{var le=w(R,N,G,J,X,H);C.each(H,function(ue,Ae){if(ue.depth>=F.length||ue===F[ue.depth]){var he=D(N,X,ue,Ae,le,k);I(ue,he,M,L,F,k)}})}}}function v(R,P,M,L){var F=C.extend({},P);return C.each(["color","colorAlpha","colorSaturation"],function(k){var N=R.get(k,!0);N==null&&M&&(N=M[k]),N==null&&(N=P[k]),N==null&&(N=L.get(k)),N!=null&&(F[k]=N)}),F}function B(R){var P=T(R,"color");if(P){var M=T(R,"colorAlpha"),L=T(R,"colorSaturation");return L&&(P=m.modifyHSL(P,null,null,L)),M&&(P=m.modifyAlpha(P,M)),P}}function Q(R,P){return P!=null?m.modifyHSL(P,null,null,R):null}function T(R,P){var M=R[P];if(M!=null&&M!=="none")return M}function w(R,P,M,L,F,k){if(!(!k||!k.length)){var N=S(P,"color")||F.color!=null&&F.color!=="none"&&(S(P,"colorAlpha")||S(P,"colorSaturation"));if(N){var G=P.get("visualMin"),J=P.get("visualMax"),K=M.dataExtent.slice();G!=null&&GK[1]&&(K[1]=J);var X=P.get("colorMappingBy"),q={type:N.name,dataExtent:K,visual:N.range};q.type==="color"&&(X==="index"||X==="id")?(q.mappingMethod="category",q.loop=!0):q.mappingMethod="linear";var ee=new f(q);return ee.__drColorMappingBy=X,ee}}}function S(R,P){var M=R.get(P);return E(M)&&M.length?{name:P,range:M}:null}function D(R,P,M,L,F,k){var N=C.extend({},P);if(F){var G=F.type,J=G==="color"&&F.__drColorMappingBy,K=J==="index"?L:J==="id"?k.mapIdToIndex(M.getId()):M.getValue(R.get("visualDimension"));N[G]=F.mapValueToVisual(K)}return N}A.exports=y}),Imt=wt((o,A)=>{var f=Bi(),m=zh(),C=ds(),E=C.parsePercent,x=C.MAX_SAFE_INTEGER,y=pc(),I=i3(),v=Math.max,B=Math.min,Q=f.retrieve,T=f.each,w=["itemStyle","borderWidth"],S=["itemStyle","gapWidth"],D=["upperLabel","show"],R=["upperLabel","height"],P={seriesType:"treemap",reset:function(ie,H,le,ue){var Ae=le.getWidth(),he=le.getHeight(),ge=ie.option,fe=y.getLayoutRect(ie.getBoxLayoutParams(),{width:le.getWidth(),height:le.getHeight()}),ae=ge.size||[],U=E(Q(fe.width,ae[0]),Ae),W=E(Q(fe.height,ae[1]),he),Y=ue&&ue.type,z=["treemapZoomToNode","treemapRootToNode"],re=I.retrieveTargetInfo(ue,z,ie),se=Y==="treemapRender"||Y==="treemapMove"?ue.rootRect:null,de=ie.getViewRoot(),me=I.getPathToRoot(de);if(Y!=="treemapMove"){var Ce=Y==="treemapZoomToNode"?K(ie,re,de,U,W):se?[se.width,se.height]:[U,W],Ie=ge.sort;Ie&&Ie!=="asc"&&Ie!=="desc"&&(Ie="desc");var we={squareRatio:ge.squareRatio,sort:Ie,leafDepth:ge.leafDepth};de.hostTree.clearLayouts();var Te={x:0,y:0,width:Ce[0],height:Ce[1],area:Ce[0]*Ce[1]};de.setLayout(Te),M(de,we,!1,0);var Te=de.getLayout();T(me,function(ke,Oe){var Le=(me[Oe+1]||de).getValue();ke.setLayout(f.extend({dataExtent:[Le,Le],borderWidth:0,upperHeight:0},Te))})}var Ge=ie.getData().tree.root;Ge.setLayout(X(fe,se,re),!0),ie.setLayoutInfo(fe),q(Ge,new m(-fe.x,-fe.y,Ae,he),me,de,0)}};function M(ie,H,le,ue){var Ae,he;if(!ie.isRemoved()){var ge=ie.getLayout();Ae=ge.width,he=ge.height;var re=ie.getModel(),fe=re.get(w),ae=re.get(S)/2,U=ee(re),W=Math.max(fe,U),Y=fe-ae,z=W-ae,re=ie.getModel();ie.setLayout({borderWidth:fe,upperHeight:W,upperLabelHeight:U},!0),Ae=v(Ae-2*Y,0),he=v(he-Y-z,0);var se=Ae*he,de=L(ie,re,se,H,le,ue);if(de.length){var me={x:Y,y:z,width:Ae,height:he},Ce=B(Ae,he),Ie=1/0,we=[];we.area=0;for(var Te=0,Ge=de.length;Te=0;ae--){var U=Ae[ue==="asc"?ge-ae-1:ae].getValue();U/le*Hfe[1]&&(fe[1]=W)})}return{sum:ue,dataExtent:fe}}function G(ie,H,le){for(var ue=0,Ae=1/0,he=0,ge,fe=ie.length;heue&&(ue=ge));var ae=ie.area*ie.area,U=H*H*le;return ae?v(U*ue/ae,ae/(U*Ae)):1/0}function J(ie,H,le,ue,Ae){var he=H===le.width?0:1,ge=1-he,fe=["x","y"],ae=["width","height"],U=le[fe[he]],W=H?ie.area/H:0;(Ae||W>le[ae[ge]])&&(W=le[ae[ge]]);for(var Y=0,z=ie.length;Yx&&(U=x),he=fe}U{var o=Dn();pmt(),Emt(),xmt();var A=ymt(),f=Imt();o.registerVisual(A),o.registerLayout(f)}),vmt=wt((o,A)=>{var f=Bu(),m=f.__DEV__,C=Bi(),E=YD(),x=E.enableClassCheck;function y(S){return"_EC_"+S}var I=function(S){this._directed=S||!1,this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this.data,this.edgeData},v=I.prototype;v.type="graph",v.isDirected=function(){return this._directed},v.addNode=function(S,D){S=S==null?""+D:""+S;var R=this._nodesMap;if(!R[y(S)]){var P=new B(S,D);return P.hostGraph=this,this.nodes.push(P),R[y(S)]=P,P}},v.getNodeByIndex=function(S){var D=this.data.getRawIndex(S);return this.nodes[D]},v.getNodeById=function(S){return this._nodesMap[y(S)]},v.addEdge=function(S,D,R){var P=this._nodesMap,M=this._edgesMap;if(typeof S=="number"&&(S=this.nodes[S]),typeof D=="number"&&(D=this.nodes[D]),B.isInstance(S)||(S=P[y(S)]),B.isInstance(D)||(D=P[y(D)]),!(!S||!D)){var L=S.id+"-"+D.id;if(!M[L]){var F=new Q(S,D,R);return F.hostGraph=this,this._directed&&(S.outEdges.push(F),D.inEdges.push(F)),S.edges.push(F),S!==D&&D.edges.push(F),this.edges.push(F),M[L]=F,F}}},v.getEdgeByIndex=function(S){var D=this.edgeData.getRawIndex(S);return this.edges[D]},v.getEdge=function(S,D){B.isInstance(S)&&(S=S.id),B.isInstance(D)&&(D=D.id);var R=this._edgesMap;return this._directed?R[S+"-"+D]:R[S+"-"+D]||R[D+"-"+S]},v.eachNode=function(S,D){for(var R=this.nodes,P=R.length,M=0;M=0&&S.call(D,R[M],M)},v.eachEdge=function(S,D){for(var R=this.edges,P=R.length,M=0;M=0&&R[M].node1.dataIndex>=0&&R[M].node2.dataIndex>=0&&S.call(D,R[M],M)},v.breadthFirstTraverse=function(S,D,R,P){if(B.isInstance(D)||(D=this._nodesMap[y(D)]),!!D){for(var M=R==="out"?"outEdges":R==="in"?"inEdges":"edges",L=0;L=0&&k.node2.dataIndex>=0});for(var M=0,L=P.length;M=0&&this[S][D].setItemVisual(this.dataIndex,R,P)},getVisual:function(R,P){return this[S][D].getItemVisual(this.dataIndex,R,P)},setLayout:function(R,P){this.dataIndex>=0&&this[S][D].setItemLayout(this.dataIndex,R,P)},getLayout:function(){return this[S][D].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[S][D].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[S][D].getRawIndex(this.dataIndex)}}};C.mixin(B,T("hostGraph","data")),C.mixin(Q,T("hostGraph","edgeData")),I.Node=B,I.Edge=Q,x(B),x(Q);var w=I;A.exports=w}),c6e=wt((o,A)=>{var f=Bi(),m=sv(),C=vmt(),E=u6e(),x=K4(),y=mw(),I=KD();function v(B,Q,T,w,S){for(var D=new C(w),R=0;R "+N)),L++)}var G=T.get("coordinateSystem"),J;if(G==="cartesian2d"||G==="polar")J=I(B,T);else{var K=y.get(G),X=K&&K.type!=="view"?K.dimensions||[]:[];f.indexOf(X,"value")<0&&X.concat(["value"]);var q=x(B,{coordDimensions:X});J=new m(q,T),J.initData(B)}var ee=new m(["value"],T);return ee.initData(M,P),S&&S(J,ee),E({mainData:J,struct:D,structAttr:"graph",datas:{node:J,edge:ee},datasAttr:{node:"data",edge:"edgeData"}}),D.update(),D}A.exports=v}),Bmt=wt((o,A)=>{var f=Dn(),m=sv(),C=Bi(),E=Bl(),x=E.defaultEmphasis,y=qf(),I=Tc(),v=I.encodeHTML,B=c6e(),Q=Qz(),T=f.extendSeriesModel({type:"series.graph",init:function(S){T.superApply(this,"init",arguments);var D=this;function R(){return D._categoriesData}this.legendVisualProvider=new Q(R,R),this.fillDataTextStyle(S.edges||S.links),this._updateCategoriesData()},mergeOption:function(S){T.superApply(this,"mergeOption",arguments),this.fillDataTextStyle(S.edges||S.links),this._updateCategoriesData()},mergeDefaultAndTheme:function(S){T.superApply(this,"mergeDefaultAndTheme",arguments),x(S,["edgeLabel"],["show"])},getInitialData:function(S,D){var R=S.edges||S.links||[],P=S.data||S.nodes||[],M=this;if(P&&R)return B(P,R,this,!0,L).data;function L(F,k){F.wrapMethod("getItemModel",function(q){var ee=M._categoriesModels,ie=q.getShallow("category"),H=ee[ie];return H&&(H.parentModel=q.parentModel,q.parentModel=H),q});var N=M.getModel("edgeLabel"),G=new y({label:N.option},N.parentModel,D),J=M.getModel("emphasis.edgeLabel"),K=new y({emphasis:{label:J.option}},J.parentModel,D);k.wrapMethod("getItemModel",function(q){return q.customizeGetParent(X),q});function X(q){return q=this.parsePath(q),q&&q[0]==="label"?G:q&&q[0]==="emphasis"&&q[1]==="label"?K:this.parentModel}}},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},getCategoriesData:function(){return this._categoriesData},formatTooltip:function(S,D,R){if(R==="edge"){var P=this.getData(),M=this.getDataParams(S,R),L=P.graph.getEdgeByIndex(S),F=P.getName(L.node1.dataIndex),k=P.getName(L.node2.dataIndex),N=[];return F!=null&&N.push(F),k!=null&&N.push(k),N=v(N.join(" > ")),M.value&&(N+=" : "+v(M.value)),N}else return T.superApply(this,"formatTooltip",arguments)},_updateCategoriesData:function(){var S=C.map(this.option.categories||[],function(R){return R.value!=null?R:C.extend({value:0},R)}),D=new m(["value"],this);D.initData(S),this._categoriesData=D,this._categoriesModels=D.mapArray(function(R){return D.getItemModel(R,!0)})},setZoom:function(S){this.option.zoom=S},setCenter:function(S){this.option.center=S},isAnimationEnabled:function(){return T.superCall(this,"isAnimationEnabled")&&!(this.get("layout")==="force"&&this.get("force.layoutAnimation"))},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",legendHoverLink:!0,hoverAnimation:!0,layout:null,focusNodeAdjacency:!1,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,friction:.6,edgeLength:30,layoutAnimation:!0},left:"center",top:"center",symbol:"circle",symbolSize:10,edgeSymbol:["none","none"],edgeSymbolSize:10,edgeLabel:{position:"middle",distance:5},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:"{b}"},itemStyle:{},lineStyle:{color:"#aaa",width:1,curveness:0,opacity:.5},emphasis:{label:{show:!0}}}}),w=T;A.exports=w}),wmt=wt((o,A)=>{var f=To(),m=vh(),C=f.Line.prototype,E=f.BezierCurve.prototype;function x(I){return isNaN(+I.cpx1)||isNaN(+I.cpy1)}var y=f.extendShape({type:"ec-line",style:{stroke:"#000",fill:null},shape:{x1:0,y1:0,x2:0,y2:0,percent:1,cpx1:null,cpy1:null},buildPath:function(I,v){this[x(v)?"_buildPathLine":"_buildPathCurve"](I,v)},_buildPathLine:C.buildPath,_buildPathCurve:E.buildPath,pointAt:function(I){return this[x(this.shape)?"_pointAtLine":"_pointAtCurve"](I)},_pointAtLine:C.pointAt,_pointAtCurve:E.pointAt,tangentAt:function(I){var v=this.shape,B=x(v)?[v.x2-v.x1,v.y2-v.y1]:this._tangentAtCurve(I);return m.normalize(B,B)},_tangentAtCurve:E.tangentAt});A.exports=y}),I0e=wt((o,A)=>{var f=Bi(),m=vh(),C=lv(),E=wmt(),x=To(),y=ds(),I=y.round,v=["fromSymbol","toSymbol"];function B(M){return"_"+M+"Type"}function Q(M,L,F){var k=L.getItemVisual(F,"color"),N=L.getItemVisual(F,M),G=L.getItemVisual(F,M+"Size");if(!(!N||N==="none")){f.isArray(G)||(G=[G,G]);var J=C.createSymbol(N,-G[0]/2,-G[1]/2,G[0],G[1],k);return J.name=M,J}}function T(M){var L=new E({name:"line",subPixelOptimize:!0});return w(L.shape,M),L}function w(M,L){M.x1=L[0][0],M.y1=L[0][1],M.x2=L[1][0],M.y2=L[1][1],M.percent=1;var F=L[2];F?(M.cpx1=F[0],M.cpy1=F[1]):(M.cpx1=NaN,M.cpy1=NaN)}function S(){var M=this,L=M.childOfName("fromSymbol"),F=M.childOfName("toSymbol"),k=M.childOfName("label");if(!(!L&&!F&&k.ignore)){for(var N=1,G=this.parent;G;)G.scale&&(N/=G.scale[0]),G=G.parent;var J=M.childOfName("line");if(!(!this.__dirty&&!J.__dirty)){var K=J.shape.percent,X=J.pointAt(0),q=J.pointAt(K),ee=m.sub([],q,X);if(m.normalize(ee,ee),L){L.attr("position",X);var ie=J.tangentAt(0);L.attr("rotation",Math.PI/2-Math.atan2(ie[1],ie[0])),L.attr("scale",[N*K,N*K])}if(F){F.attr("position",q);var ie=J.tangentAt(1);F.attr("rotation",-Math.PI/2-Math.atan2(ie[1],ie[0])),F.attr("scale",[N*K,N*K])}if(!k.ignore){k.attr("position",q);var H,le,ue,Ae,he=k.__labelDistance,ge=he[0]*N,fe=he[1]*N,ae=K/2,ie=J.tangentAt(ae),U=[ie[1],-ie[0]],W=J.pointAt(ae);U[1]>0&&(U[0]=-U[0],U[1]=-U[1]);var Y=ie[0]<0?-1:1;if(k.__position!=="start"&&k.__position!=="end"){var z=-Math.atan2(ie[1],ie[0]);q[0].8?"left":ee[0]<-.8?"right":"center",ue=ee[1]>.8?"top":ee[1]<-.8?"bottom":"middle";break;case"start":H=[-ee[0]*ge+X[0],-ee[1]*fe+X[1]],le=ee[0]>.8?"right":ee[0]<-.8?"left":"center",ue=ee[1]>.8?"bottom":ee[1]<-.8?"top":"middle";break;case"insideStartTop":case"insideStart":case"insideStartBottom":H=[ge*Y+X[0],X[1]+re],le=ie[0]<0?"right":"left",Ae=[-ge*Y,-re];break;case"insideMiddleTop":case"insideMiddle":case"insideMiddleBottom":case"middle":H=[W[0],W[1]+re],le="center",Ae=[0,-re];break;case"insideEndTop":case"insideEnd":case"insideEndBottom":H=[-ge*Y+q[0],q[1]+re],le=ie[0]>=0?"right":"left",Ae=[ge*Y,-re];break}k.attr({style:{textVerticalAlign:k.__verticalAlign||ue,textAlign:k.__textAlign||le},position:H,scale:[N,N],origin:Ae})}}}}function D(M,L,F){x.Group.call(this),this._createLine(M,L,F)}var R=D.prototype;R.beforeUpdate=S,R._createLine=function(M,L,F){var k=M.hostModel,N=M.getItemLayout(L),G=T(N);G.shape.percent=0,x.initProps(G,{shape:{percent:1}},k,L),this.add(G);var J=new x.Text({name:"label",lineLabelOriginalOpacity:1});this.add(J),f.each(v,function(K){var X=Q(K,M,L);this.add(X),this[B(K)]=M.getItemVisual(L,K)},this),this._updateCommonStl(M,L,F)},R.updateData=function(M,L,F){var k=M.hostModel,N=this.childOfName("line"),G=M.getItemLayout(L),J={shape:{}};w(J.shape,G),x.updateProps(N,J,k,L),f.each(v,function(K){var X=M.getItemVisual(L,K),q=B(K);if(this[q]!==X){this.remove(this.childOfName(K));var ee=Q(K,M,L);this.add(ee)}this[q]=X},this),this._updateCommonStl(M,L,F)},R._updateCommonStl=function(M,L,F){var k=M.hostModel,N=this.childOfName("line"),G=F&&F.lineStyle,J=F&&F.hoverLineStyle,K=F&&F.labelModel,X=F&&F.hoverLabelModel;if(!F||M.hasItemOption){var q=M.getItemModel(L);G=q.getModel("lineStyle").getLineStyle(),J=q.getModel("emphasis.lineStyle").getLineStyle(),K=q.getModel("label"),X=q.getModel("emphasis.label")}var ee=M.getItemVisual(L,"color"),ie=f.retrieve3(M.getItemVisual(L,"opacity"),G.opacity,1);N.useStyle(f.defaults({strokeNoScale:!0,fill:"none",stroke:ee,opacity:ie},G)),N.hoverStyle=J,f.each(v,function(Y){var z=this.childOfName(Y);z&&(z.setColor(ee),z.setStyle({opacity:ie}))},this);var H=K.getShallow("show"),le=X.getShallow("show"),ue=this.childOfName("label"),Ae,he;if((H||le)&&(Ae=ee||"#000",he=k.getFormattedLabel(L,"normal",M.dataType),he==null)){var ge=k.getRawValue(L);he=ge==null?M.getName(L):isFinite(ge)?I(ge):ge}var fe=H?he:null,ae=le?f.retrieve2(k.getFormattedLabel(L,"emphasis",M.dataType),he):null,U=ue.style;if(fe!=null||ae!=null){x.setTextStyle(ue.style,K,{text:fe},{autoColor:Ae}),ue.__textAlign=U.textAlign,ue.__verticalAlign=U.textVerticalAlign,ue.__position=K.get("position")||"middle";var W=K.get("distance");f.isArray(W)||(W=[W,W]),ue.__labelDistance=W}ae!=null?ue.hoverStyle={text:ae,textFill:X.getTextColor(!0),fontStyle:X.getShallow("fontStyle"),fontWeight:X.getShallow("fontWeight"),fontSize:X.getShallow("fontSize"),fontFamily:X.getShallow("fontFamily")}:ue.hoverStyle={text:null},ue.ignore=!H&&!le,x.setHoverStyle(this)},R.highlight=function(){this.trigger("emphasis")},R.downplay=function(){this.trigger("normal")},R.updateLayout=function(M,L){this.setLinePoints(M.getItemLayout(L))},R.setLinePoints=function(M){var L=this.childOfName("line");w(L.shape,M),L.dirty()},f.inherits(D,x.Group);var P=D;A.exports=P}),_0e=wt((o,A)=>{var f=To(),m=I0e();function C(w){this._ctor=w||m,this.group=new f.Group}var E=C.prototype;E.isPersistent=function(){return!0},E.updateData=function(w){var S=this,D=S.group,R=S._lineData;S._lineData=w,R||D.removeAll();var P=v(w);w.diff(R).add(function(M){x(S,w,M,P)}).update(function(M,L){y(S,R,w,L,M,P)}).remove(function(M){D.remove(R.getItemGraphicEl(M))}).execute()};function x(w,S,D,R){var P=S.getItemLayout(D);if(Q(P)){var M=new w._ctor(S,D,R);S.setItemGraphicEl(D,M),w.group.add(M)}}function y(w,S,D,R,P,M){var L=S.getItemGraphicEl(R);if(!Q(D.getItemLayout(P))){w.group.remove(L);return}L?L.updateData(D,P,M):L=new w._ctor(D,P,M),D.setItemGraphicEl(P,L),w.group.add(L)}E.updateLayout=function(){var w=this._lineData;w&&w.eachItemGraphicEl(function(S,D){S.updateLayout(w,D)},this)},E.incrementalPrepareUpdate=function(w){this._seriesScope=v(w),this._lineData=null,this.group.removeAll()};function I(w){return w.animators&&w.animators.length>0}E.incrementalUpdate=function(w,S){function D(L){!L.isGroup&&!I(L)&&(L.incremental=L.useHoverLayer=!0)}for(var R=w.start;R{function A(m){var C=m.coordinateSystem;if(C.type!=="view")return 1;var E=m.option.nodeScaleRatio,x=C.scale,y=x&&x[0]||1,I=C.getZoom(),v=(I-1)*E+1;return v/y}function f(m){var C=m.getVisual("symbolSize");return C instanceof Array&&(C=(C[0]+C[1])/2),+C}o.getNodeGlobalScale=A,o.getSymbolSize=f}),bmt=wt((o,A)=>{var f=KP(),m=vh(),C=v0e(),E=C.getSymbolSize,x=[],y=[],I=[],v=f.quadraticAt,B=m.distSquare,Q=Math.abs;function T(S,D,R){for(var P=S[0],M=S[1],L=S[2],F=1/0,k,N=R*R,G=.1,J=.1;J<=.9;J+=.1){x[0]=v(P[0],M[0],L[0],J),x[1]=v(P[1],M[1],L[1],J);var K=Q(B(x,D)-N);K=0?k=k+G:k=k-G:ee>=0?k=k-G:k=k+G}return k}function w(S,D){var R=[],P=f.quadraticSubdivide,M=[[],[],[]],L=[[],[]],F=[];D/=2,S.eachEdge(function(k,N){var G=k.getLayout(),J=k.getVisual("fromSymbol"),K=k.getVisual("toSymbol");G.__original||(G.__original=[m.clone(G[0]),m.clone(G[1])],G[2]&&G.__original.push(m.clone(G[2])));var X=G.__original;if(G[2]!=null){if(m.copy(M[0],X[0]),m.copy(M[1],X[2]),m.copy(M[2],X[1]),J&&J!=="none"){var q=E(k.node1),ee=T(M,X[0],q*D);P(M[0][0],M[1][0],M[2][0],ee,R),M[0][0]=R[3],M[1][0]=R[4],P(M[0][1],M[1][1],M[2][1],ee,R),M[0][1]=R[3],M[1][1]=R[4]}if(K&&K!=="none"){var q=E(k.node2),ee=T(M,X[1],q*D);P(M[0][0],M[1][0],M[2][0],ee,R),M[1][0]=R[1],M[2][0]=R[2],P(M[0][1],M[1][1],M[2][1],ee,R),M[1][1]=R[1],M[2][1]=R[2]}m.copy(G[0],M[0]),m.copy(G[1],M[2]),m.copy(G[2],M[1])}else{if(m.copy(L[0],X[0]),m.copy(L[1],X[1]),m.sub(F,L[1],L[0]),m.normalize(F,F),J&&J!=="none"){var q=E(k.node1);m.scaleAndAdd(L[0],L[0],F,q*D)}if(K&&K!=="none"){var q=E(k.node2);m.scaleAndAdd(L[1],L[1],F,-q*D)}m.copy(G[0],L[0]),m.copy(G[1],L[1])}})}A.exports=w}),Qmt=wt((o,A)=>{var f=Dn(),m=Bi(),C=vz(),E=_0e(),x=Dz(),y=m0e(),I=fte(),v=I.onIrrelevantElement,B=To(),Q=bmt(),T=v0e(),w=T.getNodeGlobalScale,S="__focusNodeAdjacency",D="__unfocusNodeAdjacency",R=["itemStyle","opacity"],P=["lineStyle","opacity"];function M(N,G){var J=N.getVisual("opacity");return J??N.getModel().get(G)}function L(N,G,J){var K=N.getGraphicEl(),X=M(N,G);J!=null&&(X==null&&(X=1),X*=J),K.downplay&&K.downplay(),K.traverse(function(q){if(!q.isGroup){var ee=q.lineLabelOriginalOpacity;(ee==null||J!=null)&&(ee=X),q.setStyle("opacity",ee)}})}function F(N,G){var J=M(N,G),K=N.getGraphicEl();K.traverse(function(X){!X.isGroup&&X.setStyle("opacity",J)}),K.highlight&&K.highlight()}var k=f.extendChartView({type:"graph",init:function(N,G){var J=new C,K=new E,X=this.group;this._controller=new x(G.getZr()),this._controllerHost={target:X},X.add(J.group),X.add(K.group),this._symbolDraw=J,this._lineDraw=K,this._firstRender=!0},render:function(N,G,J){var K=this,X=N.coordinateSystem;this._model=N;var q=this._symbolDraw,ee=this._lineDraw,ie=this.group;if(X.type==="view"){var H={position:X.position,scale:X.scale};this._firstRender?ie.attr(H):B.updateProps(ie,H,N)}Q(N.getGraph(),w(N));var le=N.getData();q.updateData(le);var ue=N.getEdgeData();ee.updateData(ue),this._updateNodeAndLinkScale(),this._updateController(N,G,J),clearTimeout(this._layoutTimeout);var Ae=N.forceLayout,he=N.get("force.layoutAnimation");Ae&&this._startForceLayoutIteration(Ae,he),le.eachItemGraphicEl(function(U,W){var Y=le.getItemModel(W);U.off("drag").off("dragend");var z=Y.get("draggable");z&&U.on("drag",function(){Ae&&(Ae.warmUp(),!this._layouting&&this._startForceLayoutIteration(Ae,he),Ae.setFixed(W),le.setItemLayout(W,U.position))},this).on("dragend",function(){Ae&&Ae.setUnfixed(W)},this),U.setDraggable(z&&Ae),U[S]&&U.off("mouseover",U[S]),U[D]&&U.off("mouseout",U[D]),Y.get("focusNodeAdjacency")&&(U.on("mouseover",U[S]=function(){K._clearTimer(),J.dispatchAction({type:"focusNodeAdjacency",seriesId:N.id,dataIndex:U.dataIndex})}),U.on("mouseout",U[D]=function(){K._dispatchUnfocus(J)}))},this),le.graph.eachEdge(function(U){var W=U.getGraphicEl();W[S]&&W.off("mouseover",W[S]),W[D]&&W.off("mouseout",W[D]),U.getModel().get("focusNodeAdjacency")&&(W.on("mouseover",W[S]=function(){K._clearTimer(),J.dispatchAction({type:"focusNodeAdjacency",seriesId:N.id,edgeDataIndex:U.dataIndex})}),W.on("mouseout",W[D]=function(){K._dispatchUnfocus(J)}))});var ge=N.get("layout")==="circular"&&N.get("circular.rotateLabel"),fe=le.getLayout("cx"),ae=le.getLayout("cy");le.eachItemGraphicEl(function(U,W){var Y=le.getItemModel(W),z=Y.get("label.rotate")||0,re=U.getSymbolPath();if(ge){var se=le.getItemLayout(W),de=Math.atan2(se[1]-ae,se[0]-fe);de<0&&(de=Math.PI*2+de);var me=se[0]{var o=Dn();o.registerAction({type:"focusNodeAdjacency",event:"focusNodeAdjacency",update:"series:focusNodeAdjacency"},function(){}),o.registerAction({type:"unfocusNodeAdjacency",event:"unfocusNodeAdjacency",update:"series:unfocusNodeAdjacency"},function(){})}),Smt=wt(()=>{var o=Dn(),A=C0e(),f=A.updateCenterAndZoom;h6e();var m={type:"graphRoam",event:"graphRoam",update:"none"};o.registerAction(m,function(C,E){E.eachComponent({mainType:"series",query:C},function(x){var y=x.coordinateSystem,I=f(y,C);x.setCenter&&x.setCenter(I.center),x.setZoom&&x.setZoom(I.zoom)})})}),Dmt=wt((o,A)=>{function f(m){var C=m.findComponents({mainType:"legend"});!C||!C.length||m.eachSeriesByType("graph",function(E){var x=E.getCategoriesData(),y=E.getGraph(),I=y.data,v=x.mapArray(x.getName);I.filterSelf(function(B){var Q=I.getItemModel(B),T=Q.getShallow("category");if(T!=null){typeof T=="number"&&(T=v[T]);for(var w=0;w{function f(m){var C={};m.eachSeriesByType("graph",function(E){var x=E.getCategoriesData(),y=E.getData(),I={};x.each(function(v){var B=x.getName(v);I["ec-"+B]=v;var Q=x.getItemModel(v),T=Q.get("itemStyle.color")||E.getColorFromPalette(B,C);x.setItemVisual(v,"color",T);for(var w=["opacity","symbol","symbolSize","symbolKeepAspect"],S=0;S{function f(C){return C instanceof Array||(C=[C,C]),C}function m(C){C.eachSeriesByType("graph",function(E){var x=E.getGraph(),y=E.getEdgeData(),I=f(E.get("edgeSymbol")),v=f(E.get("edgeSymbolSize")),B="lineStyle.color".split("."),Q="lineStyle.opacity".split(".");y.setVisual("fromSymbol",I&&I[0]),y.setVisual("toSymbol",I&&I[1]),y.setVisual("fromSymbolSize",v&&v[0]),y.setVisual("toSymbolSize",v&&v[1]),y.setVisual("color",E.get(B)),y.setVisual("opacity",E.get(Q)),y.each(function(T){var w=y.getItemModel(T),S=x.getEdgeByIndex(T),D=f(w.getShallow("symbol",!0)),R=f(w.getShallow("symbolSize",!0)),P=w.get(B),M=w.get(Q);switch(P){case"source":P=S.node1.getVisual("color");break;case"target":P=S.node2.getVisual("color");break}D[0]&&S.setVisual("fromSymbol",D[0]),D[1]&&S.setVisual("toSymbol",D[1]),R[0]&&S.setVisual("fromSymbolSize",R[0]),R[1]&&S.setVisual("toSymbolSize",R[1]),S.setVisual("color",P),S.setVisual("opacity",M)})})}A.exports=m}),d6e=wt(o=>{var A=vh();function f(C){var E=C.coordinateSystem;if(!(E&&E.type!=="view")){var x=C.getGraph();x.eachNode(function(y){var I=y.getModel();y.setLayout([+I.get("x"),+I.get("y")])}),m(x)}}function m(C){C.eachEdge(function(E){var x=E.getModel().get("lineStyle.curveness")||0,y=A.clone(E.node1.getLayout()),I=A.clone(E.node2.getLayout()),v=[y,I];+x&&v.push([(y[0]+I[0])/2-(y[1]-I[1])*x,(y[1]+I[1])/2-(I[0]-y[0])*x]),E.setLayout(v)})}o.simpleLayout=f,o.simpleLayoutEdge=m}),Pmt=wt((o,A)=>{var f=Bi(),m=f.each,C=d6e(),E=C.simpleLayout,x=C.simpleLayoutEdge;function y(I,v){I.eachSeriesByType("graph",function(B){var Q=B.get("layout"),T=B.coordinateSystem;if(T&&T.type!=="view"){var w=B.getData(),S=[];m(T.dimensions,function(F){S=S.concat(w.mapDimension(F,!0))});for(var D=0;D{var A=vh(),f=v0e(),m=f.getSymbolSize,C=f.getNodeGlobalScale,E=Math.PI,x=[];function y(v,B){var Q=v.coordinateSystem;if(!(Q&&Q.type!=="view")){var T=Q.getBoundingRect(),w=v.getData(),S=w.graph,D=T.width/2+T.x,R=T.height/2+T.y,P=Math.min(T.width,T.height)/2,M=w.count();w.setLayout({cx:D,cy:R}),M&&(I[B](v,Q,S,w,P,D,R,M),S.eachEdge(function(L){var F=L.getModel().get("lineStyle.curveness")||0,k=A.clone(L.node1.getLayout()),N=A.clone(L.node2.getLayout()),G,J=(k[0]+N[0])/2,K=(k[1]+N[1])/2;+F&&(F*=3,G=[D*F+J*(1-F),R*F+K*(1-F)]),L.setLayout([k,N,G])}))}}var I={value:function(v,B,Q,T,w,S,D,R){var P=0,M=T.getSum("value"),L=Math.PI*2/(M||R);Q.eachNode(function(F){var k=F.getValue("value"),N=L*(M?k:1)/2;P+=N,F.setLayout([w*Math.cos(P)+S,w*Math.sin(P)+D]),P+=N})},symbolSize:function(v,B,Q,T,w,S,D,R){var P=0;x.length=R;var M=C(v);Q.eachNode(function(k){var N=m(k);isNaN(N)&&(N=2),N<0&&(N=0),N*=M;var G=Math.asin(N/2/w);isNaN(G)&&(G=E/2),x[k.dataIndex]=G,P+=G*2});var L=(2*E-P)/R/2,F=0;Q.eachNode(function(k){var N=L+x[k.dataIndex];F+=N,k.setLayout([w*Math.cos(F)+S,w*Math.sin(F)+D]),F+=N})}};o.circularLayout=y}),Rmt=wt((o,A)=>{var f=f6e(),m=f.circularLayout;function C(E){E.eachSeriesByType("graph",function(x){x.get("layout")==="circular"&&m(x,"symbolSize")})}A.exports=C}),Lmt=wt(o=>{var A=vh(),f=A.scaleAndAdd;function m(C,E,x){for(var y=x.rect,I=y.width,v=y.height,B=[y.x+I/2,y.y+v/2],Q=x.gravity==null?.1:x.gravity,T=0;T{var f=Lmt(),m=f.forceLayout,C=d6e(),E=C.simpleLayout,x=f6e(),y=x.circularLayout,I=ds(),v=I.linearMap,B=vh(),Q=Bi();function T(w){w.eachSeriesByType("graph",function(S){var D=S.coordinateSystem;if(!(D&&D.type!=="view"))if(S.get("layout")==="force"){var R=S.preservedPoints||{},P=S.getGraph(),M=P.data,L=P.edgeData,F=S.getModel("force"),k=F.get("initLayout");S.preservedPoints?M.each(function(ue){var Ae=M.getId(ue);M.setItemLayout(ue,R[Ae]||[NaN,NaN])}):!k||k==="none"?E(S):k==="circular"&&y(S,"value");var N=M.getDataExtent("value"),G=L.getDataExtent("value"),J=F.get("repulsion"),K=F.get("edgeLength");Q.isArray(J)||(J=[J,J]),Q.isArray(K)||(K=[K,K]),K=[K[1],K[0]];var X=M.mapArray("value",function(ue,Ae){var he=M.getItemLayout(Ae),ge=v(ue,N,J);return isNaN(ge)&&(ge=(J[0]+J[1])/2),{w:ge,rep:ge,fixed:M.getItemModel(Ae).get("fixed"),p:!he||isNaN(he[0])||isNaN(he[1])?null:he}}),q=L.mapArray("value",function(ue,Ae){var he=P.getEdgeByIndex(Ae),ge=v(ue,G,K);isNaN(ge)&&(ge=(K[0]+K[1])/2);var fe=he.getModel();return{n1:X[he.node1.dataIndex],n2:X[he.node2.dataIndex],d:ge,curveness:fe.get("lineStyle.curveness")||0,ignoreForceLayout:fe.get("ignoreForceLayout")}}),D=S.coordinateSystem,ee=D.getBoundingRect(),ie=m(X,q,{rect:ee,gravity:F.get("gravity"),friction:F.get("friction")}),H=ie.step;ie.step=function(ue){for(var Ae=0,he=X.length;Ae{var f=E0e(),m=pc(),C=m.getLayoutRect,E=Ez();function x(I,v,B){var Q=I.getBoxLayoutParams();return Q.aspect=B,C(Q,{width:v.getWidth(),height:v.getHeight()})}function y(I,v){var B=[];return I.eachSeriesByType("graph",function(Q){var T=Q.get("coordinateSystem");if(!T||T==="view"){var w=Q.getData(),S=w.mapArray(function(J){var K=w.getItemModel(J);return[+K.get("x"),+K.get("y")]}),D=[],R=[];E.fromPoints(S,D,R),R[0]-D[0]===0&&(R[0]+=1,D[0]-=1),R[1]-D[1]===0&&(R[1]+=1,D[1]-=1);var P=(R[0]-D[0])/(R[1]-D[1]),M=x(Q,v,P);isNaN(P)&&(D=[M.x,M.y],R=[M.x+M.width,M.y+M.height]);var L=R[0]-D[0],F=R[1]-D[1],k=M.width,N=M.height,G=Q.coordinateSystem=new f;G.zoomLimit=Q.get("scaleLimit"),G.setBoundingRect(D[0],D[1],L,F),G.setViewRect(M.x,M.y,k,N),G.setCenter(Q.get("center")),G.setZoom(Q.get("zoom")),B.push(G)}}),B}A.exports=y}),kmt=wt(()=>{var o=Dn();Bmt(),Qmt(),Smt();var A=Dmt(),f=e3(),m=Tmt(),C=Mmt(),E=Pmt(),x=Rmt(),y=Fmt(),I=Nmt();o.registerProcessor(A),o.registerVisual(f("graph","circle",null)),o.registerVisual(m),o.registerVisual(C),o.registerLayout(E),o.registerLayout(o.PRIORITY.VISUAL.POST_CHART_LAYOUT,x),o.registerLayout(y),o.registerCoordinateSystem("graphView",{create:I})}),Omt=wt((o,A)=>{var f=j4(),m=E0(),C=m.extend({type:"series.gauge",getInitialData:function(x,y){return f(this,["value"])},defaultOption:{zlevel:0,z:2,center:["50%","50%"],legendHoverLink:!0,radius:"75%",startAngle:225,endAngle:-45,clockwise:!0,min:0,max:100,splitNumber:10,axisLine:{show:!0,lineStyle:{color:[[.2,"#91c7ae"],[.8,"#63869e"],[1,"#c23531"]],width:30}},splitLine:{show:!0,length:30,lineStyle:{color:"#eee",width:2,type:"solid"}},axisTick:{show:!0,splitNumber:5,length:8,lineStyle:{color:"#eee",width:1,type:"solid"}},axisLabel:{show:!0,distance:5,color:"auto"},pointer:{show:!0,length:"80%",width:8},itemStyle:{color:"auto"},title:{show:!0,offsetCenter:[0,"-40%"],color:"#333",fontSize:15},detail:{show:!0,backgroundColor:"rgba(0,0,0,0)",borderWidth:0,borderColor:"#ccc",width:100,height:null,padding:[5,10],offsetCenter:[0,"40%"],color:"auto",fontSize:30}}}),E=C;A.exports=E}),Umt=wt((o,A)=>{var f=If(),m=f.extend({type:"echartsGaugePointer",shape:{angle:0,width:10,r:10,x:0,y:0},buildPath:function(C,E){var x=Math.cos,y=Math.sin,I=E.r,v=E.width,B=E.angle,Q=E.x-x(B)*v*(v>=I/3?1:2),T=E.y-y(B)*v*(v>=I/3?1:2);B=E.angle-Math.PI/2,C.moveTo(Q,T),C.lineTo(E.x+x(B)*v,E.y+y(B)*v),C.lineTo(E.x+x(E.angle)*I,E.y+y(E.angle)*I),C.lineTo(E.x-x(B)*v,E.y-y(B)*v),C.lineTo(Q,T)}});A.exports=m}),Gmt=wt((o,A)=>{var f=Umt(),m=To(),C=Jb(),E=ds(),x=E.parsePercent,y=E.round,I=E.linearMap;function v(S,D){var R=S.get("center"),P=D.getWidth(),M=D.getHeight(),L=Math.min(P,M),F=x(R[0],D.getWidth()),k=x(R[1],D.getHeight()),N=x(S.get("radius"),L/2);return{cx:F,cy:k,r:N}}function B(S,D){return D&&(typeof D=="string"?S=D.replace("{value}",S??""):typeof D=="function"&&(S=D(S))),S}var Q=Math.PI*2,T=C.extend({type:"gauge",render:function(S,D,R){this.group.removeAll();var P=S.get("axisLine.lineStyle.color"),M=v(S,R);this._renderMain(S,D,R,P,M)},dispose:function(){},_renderMain:function(S,D,R,P,M){for(var L=this.group,F=S.getModel("axisLine"),k=F.getModel("lineStyle"),N=S.get("clockwise"),G=-S.get("startAngle")/180*Math.PI,J=-S.get("endAngle")/180*Math.PI,K=(J-G)%Q,X=G,q=k.get("width"),ee=F.get("show"),ie=0;ee&&ie=he&&(ge===0?0:P[ge-1][0]).4?"bottom":"middle",textAlign:z<-.4?"left":z>.4?"right":"center"},{autoColor:Ce}),silent:!0}))}if(ie.get("show")&&Y!==le){for(var Ie=0;Ie<=ue;Ie++){var z=Math.cos(ge),re=Math.sin(ge),we=new m.Line({shape:{x1:z*K+G,y1:re*K+J,x2:z*(K-he)+G,y2:re*(K-he)+J},silent:!0,style:W});W.stroke==="auto"&&we.setStyle({stroke:P((Y+Ie/ue)/le)}),N.add(we),ge+=ae}ge-=ae}else ge+=fe}},_renderPointer:function(S,D,R,P,M,L,F,k){var N=this.group,G=this._data;if(!S.get("pointer.show")){G&&G.eachItemGraphicEl(function(ee){N.remove(ee)});return}var J=[+S.get("min"),+S.get("max")],K=[L,F],X=S.getData(),q=X.mapDimension("value");X.diff(G).add(function(ee){var ie=new f({shape:{angle:L}});m.initProps(ie,{shape:{angle:I(X.get(q,ee),J,K,!0)}},S),N.add(ie),X.setItemGraphicEl(ee,ie)}).update(function(ee,ie){var H=G.getItemGraphicEl(ie);m.updateProps(H,{shape:{angle:I(X.get(q,ee),J,K,!0)}},S),N.add(H),X.setItemGraphicEl(ee,H)}).remove(function(ee){var ie=G.getItemGraphicEl(ee);N.remove(ie)}).execute(),X.eachItemGraphicEl(function(ee,ie){var H=X.getItemModel(ie),le=H.getModel("pointer");ee.setShape({x:M.cx,y:M.cy,width:x(le.get("width"),M.r),r:x(le.get("length"),M.r)}),ee.useStyle(H.getModel("itemStyle").getItemStyle()),ee.style.fill==="auto"&&ee.setStyle("fill",P(I(X.get(q,ie),J,[0,1],!0))),m.setHoverStyle(ee,H.getModel("emphasis.itemStyle").getItemStyle())}),this._data=X},_renderTitle:function(S,D,R,P,M){var L=S.getData(),F=L.mapDimension("value"),k=S.getModel("title");if(k.get("show")){var N=k.get("offsetCenter"),G=M.cx+x(N[0],M.r),J=M.cy+x(N[1],M.r),K=+S.get("min"),X=+S.get("max"),q=S.getData().get(F,0),ee=P(I(q,[K,X],[0,1],!0));this.group.add(new m.Text({silent:!0,style:m.setTextStyle({},k,{x:G,y:J,text:L.getName(0),textAlign:"center",textVerticalAlign:"middle"},{autoColor:ee,forceRich:!0})}))}},_renderDetail:function(S,D,R,P,M){var L=S.getModel("detail"),F=+S.get("min"),k=+S.get("max");if(L.get("show")){var N=L.get("offsetCenter"),G=M.cx+x(N[0],M.r),J=M.cy+x(N[1],M.r),K=x(L.get("width"),M.r),X=x(L.get("height"),M.r),q=S.getData(),ee=q.get(q.mapDimension("value"),0),ie=P(I(ee,[F,k],[0,1],!0));this.group.add(new m.Text({silent:!0,style:m.setTextStyle({},L,{x:G,y:J,text:B(ee,L.get("formatter")),textWidth:isNaN(K)?null:K,textHeight:isNaN(X)?null:X,textAlign:"center",textVerticalAlign:"middle"},{autoColor:ie,forceRich:!0})}))}}}),w=T;A.exports=w}),Hmt=wt(()=>{Omt(),Gmt()}),Vmt=wt((o,A)=>{var f=Dn(),m=Bi(),C=j4(),E=Bl(),x=E.defaultEmphasis,y=JD(),I=y.makeSeriesEncodeForNameBased,v=Qz(),B=f.extendSeriesModel({type:"series.funnel",init:function(T){B.superApply(this,"init",arguments),this.legendVisualProvider=new v(m.bind(this.getData,this),m.bind(this.getRawData,this)),this._defaultLabelLine(T)},getInitialData:function(T,w){return C(this,{coordDimensions:["value"],encodeDefaulter:m.curry(I,this)})},_defaultLabelLine:function(T){x(T,"labelLine",["show"]);var w=T.labelLine,S=T.emphasis.labelLine;w.show=w.show&&T.label.show,S.show=S.show&&T.emphasis.label.show},getDataParams:function(T){var w=this.getData(),S=B.superCall(this,"getDataParams",T),D=w.mapDimension("value"),R=w.getSum(D);return S.percent=R?+(w.get(D,T)/R*100).toFixed(2):0,S.$vars.push("percent"),S},defaultOption:{zlevel:0,z:2,legendHoverLink:!0,left:80,top:60,right:80,bottom:60,minSize:"0%",maxSize:"100%",sort:"descending",gap:0,funnelAlign:"center",label:{show:!0,position:"outer"},labelLine:{show:!0,length:20,lineStyle:{width:1,type:"solid"}},itemStyle:{borderColor:"#fff",borderWidth:1},emphasis:{label:{show:!0}}}}),Q=B;A.exports=Q}),zmt=wt((o,A)=>{var f=To(),m=Bi(),C=Jb();function E(B,Q){f.Group.call(this);var T=new f.Polygon,w=new f.Polyline,S=new f.Text;this.add(T),this.add(w),this.add(S),this.highDownOnUpdate=function(D,R){R==="emphasis"?(w.ignore=w.hoverIgnore,S.ignore=S.hoverIgnore):(w.ignore=w.normalIgnore,S.ignore=S.normalIgnore)},this.updateData(B,Q,!0)}var x=E.prototype,y=["itemStyle","opacity"];x.updateData=function(B,Q,T){var w=this.childAt(0),S=B.hostModel,D=B.getItemModel(Q),R=B.getItemLayout(Q),P=B.getItemModel(Q).get(y);P=P??1,w.useStyle({}),T?(w.setShape({points:R.points}),w.setStyle({opacity:0}),f.initProps(w,{style:{opacity:P}},S,Q)):f.updateProps(w,{style:{opacity:P},shape:{points:R.points}},S,Q);var M=D.getModel("itemStyle"),L=B.getItemVisual(Q,"color");w.setStyle(m.defaults({lineJoin:"round",fill:L},M.getItemStyle(["opacity"]))),w.hoverStyle=M.getModel("emphasis").getItemStyle(),this._updateLabel(B,Q),f.setHoverStyle(this)},x._updateLabel=function(B,Q){var T=this.childAt(1),w=this.childAt(2),S=B.hostModel,D=B.getItemModel(Q),R=B.getItemLayout(Q),P=R.label,N=B.getItemVisual(Q,"color");f.updateProps(T,{shape:{points:P.linePoints||P.linePoints}},S,Q),f.updateProps(w,{style:{x:P.x,y:P.y}},S,Q),w.attr({rotation:P.rotation,origin:[P.x,P.y],z2:10});var M=D.getModel("label"),L=D.getModel("emphasis.label"),F=D.getModel("labelLine"),k=D.getModel("emphasis.labelLine"),N=B.getItemVisual(Q,"color");f.setLabelStyle(w.style,w.hoverStyle={},M,L,{labelFetcher:B.hostModel,labelDataIndex:Q,defaultText:B.getName(Q),autoColor:N,useInsideStyle:!!P.inside},{textAlign:P.textAlign,textVerticalAlign:P.verticalAlign}),w.ignore=w.normalIgnore=!M.get("show"),w.hoverIgnore=!L.get("show"),T.ignore=T.normalIgnore=!F.get("show"),T.hoverIgnore=!k.get("show"),T.setStyle({stroke:N}),T.setStyle(F.getModel("lineStyle").getLineStyle()),T.hoverStyle=k.getModel("lineStyle").getLineStyle()},m.inherits(E,f.Group);var I=C.extend({type:"funnel",render:function(B,Q,T){var w=B.getData(),S=this._data,D=this.group;w.diff(S).add(function(R){var P=new E(w,R);w.setItemGraphicEl(R,P),D.add(P)}).update(function(R,P){var M=S.getItemGraphicEl(P);M.updateData(w,R),D.add(M),w.setItemGraphicEl(R,M)}).remove(function(R){var P=S.getItemGraphicEl(R);D.remove(P)}).execute(),this._data=w},remove:function(){this.group.removeAll(),this._data=null},dispose:function(){}}),v=I;A.exports=v}),Ymt=wt((o,A)=>{var f=pc(),m=ds(),C=m.parsePercent,E=m.linearMap;function x(B,Q){return f.getLayoutRect(B.getBoxLayoutParams(),{width:Q.getWidth(),height:Q.getHeight()})}function y(B,Q){for(var T=B.mapDimension("value"),w=B.mapArray(T,function(M){return M}),S=[],D=Q==="ascending",R=0,P=B.count();R{var o=Dn();Vmt(),zmt();var A=hte(),f=Ymt(),m=Sz();o.registerVisual(A("funnel")),o.registerLayout(f),o.registerProcessor(m("funnel"))}),Kmt=wt((o,A)=>{var f=Bi(),m=Bl();function C(y){E(y),x(y)}function E(y){if(!y.parallel){var I=!1;f.each(y.series,function(v){v&&v.type==="parallel"&&(I=!0)}),I&&(y.parallel=[{}])}}function x(y){var I=m.normalizeToArray(y.parallelAxis);f.each(I,function(v){if(f.isObject(v)){var B=v.parallelIndex||0,Q=m.normalizeToArray(y.parallel)[B];Q&&Q.parallelAxisDefault&&f.merge(v,Q.parallelAxisDefault,!1)}})}A.exports=C}),Wmt=wt((o,A)=>{var f=Bi(),m=qP(),C=function(x,y,I,v,B){m.call(this,x,y,I),this.type=v||"value",this.axisIndex=B};C.prototype={constructor:C,model:null,isHorizontal:function(){return this.coordinateSystem.getModel().get("layout")!=="horizontal"}},f.inherits(C,m);var E=C;A.exports=E}),q4=wt((o,A)=>{function f(E,x,y,I,v,B){E=E||0;var Q=y[1]-y[0];if(v!=null&&(v=C(v,[0,Q])),B!=null&&(B=Math.max(B,v??0)),I==="all"){var T=Math.abs(x[1]-x[0]);T=C(T,[0,Q]),v=B=C(T,[v,B]),I=0}x[0]=C(x[0],y),x[1]=C(x[1],y);var w=m(x,I);x[I]+=E;var S=v||0,D=y.slice();w.sign<0?D[0]+=S:D[1]-=S,x[I]=C(x[I],D);var R=m(x,I);v!=null&&(R.sign!==w.sign||R.spanB&&(x[1-I]=x[I]+R.sign*B),x}function m(E,x){var y=E[x]-E[1-x];return{span:Math.abs(y),sign:y>0?-1:y<0?1:x?-1:1}}function C(E,x){return Math.min(x[1]!=null?x[1]:1/0,Math.max(x[0]!=null?x[0]:-1/0,E))}A.exports=f}),jmt=wt((o,A)=>{var f=Bi(),m=xE(),C=pc(),E=Cw(),x=Wmt(),y=To(),I=ds(),v=q4(),B=f.each,Q=Math.min,T=Math.max,w=Math.floor,S=Math.ceil,D=I.round,R=Math.PI;function P(N,G,J){this._axesMap=f.createHashMap(),this._axesLayout={},this.dimensions=N.dimensions,this._rect,this._model=N,this._init(N,G,J)}P.prototype={type:"parallel",constructor:P,_init:function(N,G,J){var K=N.dimensions,X=N.parallelAxisIndex;B(K,function(q,ee){var ie=X[ee],H=G.getComponent("parallelAxis",ie),le=this._axesMap.set(q,new x(q,E.createScaleByModel(H),[0,0],H.get("type"),ie)),ue=le.type==="category";le.onBand=ue&&H.get("boundaryGap"),le.inverse=H.get("inverse"),H.axis=le,le.model=H,le.coordinateSystem=H.coordinateSystem=this},this)},update:function(N,G){this._updateAxesFromSeries(this._model,N)},containPoint:function(N){var G=this._makeLayoutInfo(),J=G.axisBase,K=G.layoutBase,X=G.pixelDimIndex,q=N[1-X],ee=N[X];return q>=J&&q<=J+G.axisLength&&ee>=K&&ee<=K+G.layoutLength},getModel:function(){return this._model},_updateAxesFromSeries:function(N,G){G.eachSeries(function(J){if(N.contains(J,G)){var K=J.getData();B(this.dimensions,function(X){var q=this._axesMap.get(X);q.scale.unionExtentFromData(K,K.mapDimension(X)),E.niceScaleExtent(q.scale,q.model)},this)}},this)},resize:function(N,G){this._rect=C.getLayoutRect(N.getBoxLayoutParams(),{width:G.getWidth(),height:G.getHeight()}),this._layoutAxes()},getRect:function(){return this._rect},_makeLayoutInfo:function(){var N=this._model,G=this._rect,J=["x","y"],K=["width","height"],X=N.get("layout"),q=X==="horizontal"?0:1,ee=G[K[q]],ie=[0,ee],H=this.dimensions.length,le=M(N.get("axisExpandWidth"),ie),ue=M(N.get("axisExpandCount")||0,[0,H]),Ae=N.get("axisExpandable")&&H>3&&H>ue&&ue>1&&le>0&&ee>0,he=N.get("axisExpandWindow"),ge;if(he)ge=M(he[1]-he[0],ie),he[1]=he[0]+ge;else{ge=M(le*(ue-1),ie);var fe=N.get("axisExpandCenter")||w(H/2);he=[le*fe-ge/2],he[1]=he[0]+ge}var ae=(ee-ge)/(H-ue);ae<3&&(ae=0);var U=[w(D(he[0]/le,1))+1,S(D(he[1]/le,1))-1],W=ae/le*he[0];return{layout:X,pixelDimIndex:q,layoutBase:G[J[q]],layoutLength:ee,axisBase:G[J[1-q]],axisLength:G[K[1-q]],axisExpandable:Ae,axisExpandWidth:le,axisCollapseWidth:ae,axisExpandWindow:he,axisCount:H,winInnerIndices:U,axisExpandWindow0Pos:W}},_layoutAxes:function(){var N=this._rect,G=this._axesMap,J=this.dimensions,K=this._makeLayoutInfo(),X=K.layout;G.each(function(q){var ee=[0,K.axisLength],ie=q.inverse?1:0;q.setExtent(ee[ie],ee[1-ie])}),B(J,function(q,ee){var ie=(K.axisExpandable?F:L)(ee,K),H={horizontal:{x:ie.position,y:K.axisLength},vertical:{x:0,y:ie.position}},le={horizontal:R/2,vertical:0},ue=[H[X].x+N.x,H[X].y+N.y],Ae=le[X],he=m.create();m.rotate(he,he,Ae),m.translate(he,he,ue),this._axesLayout[q]={position:ue,rotation:Ae,transform:he,axisNameAvailableWidth:ie.axisNameAvailableWidth,axisLabelShow:ie.axisLabelShow,nameTruncateMaxWidth:ie.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}},this)},getAxis:function(N){return this._axesMap.get(N)},dataToPoint:function(N,G){return this.axisCoordToPoint(this._axesMap.get(G).dataToCoord(N),G)},eachActiveState:function(N,G,J,K){J==null&&(J=0),K==null&&(K=N.count());var X=this._axesMap,q=this.dimensions,ee=[],ie=[];f.each(q,function(ae){ee.push(N.mapDimension(ae)),ie.push(X.get(ae).model)});for(var H=this.hasAxisBrushed(),le=J;leX*(1-ue[0])?(H="jump",ie=ee-X*(1-ue[2])):(ie=ee-X*ue[1])>=0&&(ie=ee-X*(1-ue[1]))<=0&&(ie=0),ie*=G.axisExpandWidth/le,ie?v(ie,K,q,"all"):H="none";else{var X=K[1]-K[0],he=q[1]*ee/X;K=[T(0,he-X/2)],K[1]=Q(q[1],K[0]+X),K[0]=K[1]-X}return{axisExpandWindow:K,behavior:H}}};function M(N,G){return Q(T(N,G[0]),G[1])}function L(N,G){var J=G.layoutLength/(G.axisCount-1);return{position:J*N,axisNameAvailableWidth:J,axisLabelShow:!0}}function F(N,G){var J=G.layoutLength,K=G.axisExpandWidth,X=G.axisCount,q=G.axisCollapseWidth,ee=G.winInnerIndices,ie,H=q,le=!1,ue;return N{var o=jmt(),A=mw();function f(m,C){var E=[];return m.eachComponent("parallel",function(x,y){var I=new o(x,m,C);I.name="parallel_"+y,I.resize(x,C),x.coordinateSystem=I,I.model=x,E.push(I)}),m.eachSeries(function(x){if(x.get("coordinateSystem")==="parallel"){var y=m.queryComponents({mainType:"parallel",index:x.get("parallelIndex"),id:x.get("parallelId")})[0];x.coordinateSystem=y.coordinateSystem}}),E}A.register("parallel",{create:f})}),qmt=wt((o,A)=>{var f=Bi(),m=C0(),C=z4(),E=Ate(),x=ds(),y=W4(),I=m.extend({type:"baseParallelAxis",axis:null,activeIntervals:[],getAreaSelectStyle:function(){return C([["fill","color"],["lineWidth","borderWidth"],["stroke","borderColor"],["width","width"],["opacity","opacity"]])(this.getModel("areaSelectStyle"))},setActiveIntervals:function(T){var w=this.activeIntervals=f.clone(T);if(w)for(var S=w.length-1;S>=0;S--)x.asc(w[S])},getActiveState:function(T){var w=this.activeIntervals;if(!w.length)return"normal";if(T==null||isNaN(T))return"inactive";if(w.length===1){var S=w[0];if(S[0]<=T&&T<=S[1])return"active"}else for(var D=0,R=w.length;D{var f=Bi(),m=C0();qmt();var C=m.extend({type:"parallel",dependencies:["parallelAxis"],coordinateSystem:null,dimensions:null,parallelAxisIndex:null,layoutMode:"box",defaultOption:{zlevel:0,z:0,left:80,top:60,right:80,bottom:60,layout:"horizontal",axisExpandable:!1,axisExpandCenter:null,axisExpandCount:0,axisExpandWidth:50,axisExpandRate:17,axisExpandDebounce:50,axisExpandSlideTriggerArea:[-.15,.05,.4],axisExpandTriggerOn:"click",parallelAxisDefault:null},init:function(){m.prototype.init.apply(this,arguments),this.mergeOption({})},mergeOption:function(E){var x=this.option;E&&f.merge(x,E,!0),this._initDimensions()},contains:function(E,x){var y=E.get("parallelIndex");return y!=null&&x.getComponent("parallel",y)===this},setAxisExpand:function(E){f.each(["axisExpandable","axisExpandCenter","axisExpandCount","axisExpandWidth","axisExpandWindow"],function(x){E.hasOwnProperty(x)&&(this.option[x]=E[x])},this)},_initDimensions:function(){var E=this.dimensions=[],x=this.parallelAxisIndex=[],y=f.filter(this.dependentModels.parallelAxis,function(I){return(I.get("parallelIndex")||0)===this.componentIndex},this);f.each(y,function(I){E.push("dim"+I.get("dim")),x.push(I.componentIndex)})}});A.exports=C}),Zmt=wt(()=>{var o=Dn(),A={type:"axisAreaSelect",event:"axisAreaSelected"};o.registerAction(A,function(f,m){m.eachComponent({mainType:"parallelAxis",query:f},function(C){C.axis.model.setActiveIntervals(f.intervals)})}),o.registerAction("parallelAxisExpand",function(f,m){m.eachComponent({mainType:"parallel",query:f},function(C){C.setAxisExpand(f)})})}),B0e=wt((o,A)=>{var f=Bu(),m=f.__DEV__,C=Bi(),E=jN(),x=To(),y=a6e(),I=$N(),v=C.curry,B=C.each,Q=C.map,T=Math.min,w=Math.max,S=Math.pow,D=1e4,R=6,P=6,M="globalPan",L={w:[0,0],e:[0,1],n:[1,0],s:[1,1]},F={w:"ew",e:"ew",n:"ns",s:"ns",ne:"nesw",sw:"nesw",nw:"nwse",se:"nwse"},k={brushStyle:{lineWidth:2,stroke:"rgba(0,0,0,0.3)",fill:"rgba(0,0,0,0.1)"},transformable:!0,brushMode:"single",removeOnClick:!1},N=0;function G(ct){E.call(this),this._zr=ct,this.group=new x.Group,this._brushType,this._brushOption,this._panels,this._track=[],this._dragging,this._covers=[],this._creatingCover,this._creatingPanel,this._enableGlobalPan,this._uid="brushController_"+N++,this._handlers={},B(Je,function(yt,Qt){this._handlers[Qt]=C.bind(yt,this)},this)}G.prototype={constructor:G,enableBrush:function(ct){return this._brushType&&K(this),ct.brushType&&J(this,ct),this},setPanels:function(ct){if(ct&&ct.length){var yt=this._panels={};C.each(ct,function(Qt){yt[Qt.panelId]=C.clone(Qt)})}else this._panels=null;return this},mount:function(ct){ct=ct||{},this._enableGlobalPan=ct.enableGlobalPan;var yt=this.group;return this._zr.add(yt),yt.attr({position:ct.position||[0,0],rotation:ct.rotation||0,scale:ct.scale||[1,1]}),this._transform=yt.getLocalTransform(),this},eachCover:function(ct,yt){B(this._covers,ct,yt)},updateCovers:function(ct){ct=C.map(ct,function(Pe){return C.merge(C.clone(k),Pe,!0)});var yt="\0-brush-index-",Qt=this._covers,Ze=this._covers=[],ut=this,St=this._creatingCover;return new I(Qt,ct,xt,gt).add(Lt).update(Lt).remove(nt).execute(),this;function gt(Pe,ve){return(Pe.id!=null?Pe.id:yt+ve)+"-"+Pe.brushType}function xt(Pe,ve){return gt(Pe.__brushOption,ve)}function Lt(Pe,ve){var We=ct[Pe];if(ve!=null&&Qt[ve]===St)Ze[Pe]=Qt[ve];else{var bt=Ze[Pe]=ve!=null?(Qt[ve].__brushOption=We,Qt[ve]):ie(ut,ee(ut,We));ue(ut,bt)}}function nt(Pe){Qt[Pe]!==St&&ut.group.remove(Qt[Pe])}},unmount:function(){return this.enableBrush(!1),fe(this),this._zr.remove(this.group),this},dispose:function(){this.unmount(),this.off()}},C.mixin(G,E);function J(ct,yt){var Qt=ct._zr;ct._enableGlobalPan||y.take(Qt,M,ct._uid),X(Qt,ct._handlers),ct._brushType=yt.brushType,ct._brushOption=C.merge(C.clone(k),yt,!0)}function K(ct){var yt=ct._zr;y.release(yt,M,ct._uid),q(yt,ct._handlers),ct._brushType=ct._brushOption=null}function X(ct,yt){B(yt,function(Qt,Ze){ct.on(Ze,Qt)})}function q(ct,yt){B(yt,function(Qt,Ze){ct.off(Ze,Qt)})}function ee(ct,yt){var Qt=ot[yt.brushType].createCover(ct,yt);return Qt.__brushOption=yt,le(Qt,yt),ct.group.add(Qt),Qt}function ie(ct,yt){var Qt=Ae(yt);return Qt.endCreating&&(Qt.endCreating(ct,yt),le(yt,yt.__brushOption)),yt}function H(ct,yt){var Qt=yt.__brushOption;Ae(yt).updateCoverShape(ct,yt,Qt.range,Qt)}function le(ct,yt){var Qt=yt.z;Qt==null&&(Qt=D),ct.traverse(function(Ze){Ze.z=Qt,Ze.z2=Qt})}function ue(ct,yt){Ae(yt).updateCommon(ct,yt),H(ct,yt)}function Ae(ct){return ot[ct.__brushOption.brushType]}function he(ct,yt,Qt){var Ze=ct._panels;if(!Ze)return!0;var ut,St=ct._transform;return B(Ze,function(gt){gt.isTargetByCursor(yt,Qt,St)&&(ut=gt)}),ut}function ge(ct,yt){var Qt=ct._panels;if(!Qt)return!0;var Ze=yt.__brushOption.panelId;return Ze!=null?Qt[Ze]:!0}function fe(ct){var yt=ct._covers,Qt=yt.length;return B(yt,function(Ze){ct.group.remove(Ze)},ct),yt.length=0,!!Qt}function ae(ct,yt){var Qt=Q(ct._covers,function(Ze){var ut=Ze.__brushOption,St=C.clone(ut.range);return{brushType:ut.brushType,panelId:ut.panelId,range:St}});ct.trigger("brush",Qt,{isEnd:!!yt.isEnd,removeOnClick:!!yt.removeOnClick})}function U(ct){var yt=ct._track;if(!yt.length)return!1;var Qt=yt[yt.length-1],Ze=yt[0],ut=Qt[0]-Ze[0],St=Qt[1]-Ze[1],gt=S(ut*ut+St*St,.5);return gt>R}function W(ct){var yt=ct.length-1;return yt<0&&(yt=0),[ct[0],ct[yt]]}function Y(ct,yt,Qt,Ze){var ut=new x.Group;return ut.add(new x.Rect({name:"main",style:de(Qt),silent:!0,draggable:!0,cursor:"move",drift:v(ct,yt,ut,"nswe"),ondragend:v(ae,yt,{isEnd:!0})})),B(Ze,function(St){ut.add(new x.Rect({name:St,style:{opacity:0},draggable:!0,silent:!0,invisible:!0,drift:v(ct,yt,ut,St),ondragend:v(ae,yt,{isEnd:!0})}))}),ut}function z(ct,yt,Qt,Ze){var ut=Ze.brushStyle.lineWidth||0,St=w(ut,P),gt=Qt[0][0],xt=Qt[1][0],Lt=gt-ut/2,nt=xt-ut/2,Pe=Qt[0][1],ve=Qt[1][1],We=Pe-St+ut/2,bt=ve-St+ut/2,Pt=Pe-gt,It=ve-xt,Mi=Pt+ut,er=It+ut;se(ct,yt,"main",gt,xt,Pt,It),Ze.transformable&&(se(ct,yt,"w",Lt,nt,St,er),se(ct,yt,"e",We,nt,St,er),se(ct,yt,"n",Lt,nt,Mi,St),se(ct,yt,"s",Lt,bt,Mi,St),se(ct,yt,"nw",Lt,nt,St,St),se(ct,yt,"ne",We,nt,St,St),se(ct,yt,"sw",Lt,bt,St,St),se(ct,yt,"se",We,bt,St,St))}function re(ct,yt){var Qt=yt.__brushOption,Ze=Qt.transformable,ut=yt.childAt(0);ut.useStyle(de(Qt)),ut.attr({silent:!Ze,cursor:Ze?"move":"default"}),B(["w","e","n","s","se","sw","ne","nw"],function(St){var gt=yt.childOfName(St),xt=Ie(ct,St);gt&>.attr({silent:!Ze,invisible:!Ze,cursor:Ze?F[xt]+"-resize":null})})}function se(ct,yt,Qt,Ze,ut,St,gt){var xt=yt.childOfName(Qt);xt&&xt.setShape(Oe(ke(ct,yt,[[Ze,ut],[Ze+St,ut+gt]])))}function de(ct){return C.defaults({strokeNoScale:!0},ct.brushStyle)}function me(ct,yt,Qt,Ze){var ut=[T(ct,Qt),T(yt,Ze)],St=[w(ct,Qt),w(yt,Ze)];return[[ut[0],St[0]],[ut[1],St[1]]]}function Ce(ct){return x.getTransform(ct.group)}function Ie(ct,yt){if(yt.length>1){yt=yt.split("");var Qt=[Ie(ct,yt[0]),Ie(ct,yt[1])];return(Qt[0]==="e"||Qt[0]==="w")&&Qt.reverse(),Qt.join("")}else{var Ze={w:"left",e:"right",n:"top",s:"bottom"},ut={left:"w",right:"e",top:"n",bottom:"s"},Qt=x.transformDirection(Ze[yt],Ce(ct));return ut[Qt]}}function we(ct,yt,Qt,Ze,ut,St,gt,xt){var Lt=Ze.__brushOption,nt=ct(Lt.range),Pe=Ge(Qt,St,gt);B(ut.split(""),function(ve){var We=L[ve];nt[We[0]][We[1]]+=Pe[We[0]]}),Lt.range=yt(me(nt[0][0],nt[1][0],nt[0][1],nt[1][1])),ue(Qt,Ze),ae(Qt,{isEnd:!1})}function Te(ct,yt,Qt,Ze,ut){var St=yt.__brushOption.range,gt=Ge(ct,Qt,Ze);B(St,function(xt){xt[0]+=gt[0],xt[1]+=gt[1]}),ue(ct,yt),ae(ct,{isEnd:!1})}function Ge(ct,yt,Qt){var Ze=ct.group,ut=Ze.transformCoordToLocal(yt,Qt),St=Ze.transformCoordToLocal(0,0);return[ut[0]-St[0],ut[1]-St[1]]}function ke(ct,yt,Qt){var Ze=ge(ct,yt);return Ze&&Ze!==!0?Ze.clipPath(Qt,ct._transform):C.clone(Qt)}function Oe(ct){var yt=T(ct[0][0],ct[1][0]),Qt=T(ct[0][1],ct[1][1]),Ze=w(ct[0][0],ct[1][0]),ut=w(ct[0][1],ct[1][1]);return{x:yt,y:Qt,width:Ze-yt,height:ut-Qt}}function Le(ct,yt,Qt){if(!(!ct._brushType||et(ct,yt))){var Ze=ct._zr,ut=ct._covers,St=he(ct,yt,Qt);if(!ct._dragging)for(var gt=0;gtZe.getWidth()||Qt<0||Qt>Ze.getHeight()}var ot={lineX:Et(0),lineY:Et(1),rect:{createCover:function(ct,yt){return Y(v(we,function(Qt){return Qt},function(Qt){return Qt}),ct,yt,["w","e","n","s","se","sw","ne","nw"])},getCreatingRange:function(ct){var yt=W(ct);return me(yt[1][0],yt[1][1],yt[0][0],yt[0][1])},updateCoverShape:function(ct,yt,Qt,Ze){z(ct,yt,Qt,Ze)},updateCommon:re,contain:Ne},polygon:{createCover:function(ct,yt){var Qt=new x.Group;return Qt.add(new x.Polyline({name:"main",style:de(yt),silent:!0})),Qt},getCreatingRange:function(ct){return ct},endCreating:function(ct,yt){yt.remove(yt.childAt(0)),yt.add(new x.Polygon({name:"main",draggable:!0,drift:v(Te,ct,yt),ondragend:v(ae,ct,{isEnd:!0})}))},updateCoverShape:function(ct,yt,Qt,Ze){yt.childAt(0).setShape({points:ke(ct,yt,Qt)})},updateCommon:re,contain:Ne}};function Et(ct){return{createCover:function(yt,Qt){return Y(v(we,function(Ze){var ut=[Ze,[0,100]];return ct&&ut.reverse(),ut},function(Ze){return Ze[ct]}),yt,Qt,[["w","e"],["n","s"]][ct])},getCreatingRange:function(yt){var Qt=W(yt),Ze=T(Qt[0][ct],Qt[1][ct]),ut=w(Qt[0][ct],Qt[1][ct]);return[Ze,ut]},updateCoverShape:function(yt,Qt,Ze,ut){var St,gt=ge(yt,Qt);if(gt!==!0&>.getLinearBrushOtherExtent)St=gt.getLinearBrushOtherExtent(ct,yt._transform);else{var xt=yt._zr;St=[0,[xt.getWidth(),xt.getHeight()][1-ct]]}var Lt=[Ze,St];ct&&Lt.reverse(),z(yt,Qt,Lt,ut)},updateCommon:re,contain:Ne}}var Ct=G;A.exports=Ct}),p6e=wt(o=>{var A=zh(),f=fte(),m=f.onIrrelevantElement,C=To();function E(v){return v=I(v),function(B,Q){return C.clipPointsByRect(B,v)}}function x(v,B){return v=I(v),function(Q){var T=B??Q,w=T?v.width:v.height,S=T?v.x:v.y;return[S,S+(w||0)]}}function y(v,B,Q){return v=I(v),function(T,w,S){return v.contain(w[0],w[1])&&!m(T,B,Q)}}function I(v){return A.create(v)}o.makeRectPanelClipPath=E,o.makeLinearBrushOtherExtent=x,o.makeRectIsTargetByCursor=y}),$mt=wt((o,A)=>{var f=Dn(),m=Bi(),C=XP(),E=B0e(),x=p6e(),y=To(),I=["axisLine","axisTickLabel","axisName"],v=f.extendComponentView({type:"parallelAxis",init:function(S,D){v.superApply(this,"init",arguments),(this._brushController=new E(D.getZr())).on("brush",m.bind(this._onBrush,this))},render:function(S,D,R,P){if(!B(S,D,P)){this.axisModel=S,this.api=R,this.group.removeAll();var M=this._axisGroup;if(this._axisGroup=new y.Group,this.group.add(this._axisGroup),!!S.get("show")){var L=T(S,D),F=L.coordinateSystem,k=S.getAreaSelectStyle(),N=k.width,G=S.axis.dim,J=F.getAxisLayout(G),K=m.extend({strokeContainThreshold:N},J),X=new C(S,K);m.each(I,X.add,X),this._axisGroup.add(X.getGroup()),this._refreshBrushController(K,k,S,L,N,R);var q=P&&P.animation===!1?null:S;y.groupTransition(M,this._axisGroup,q)}}},_refreshBrushController:function(S,D,R,P,M,L){var F=R.axis.getExtent(),k=F[1]-F[0],N=Math.min(30,Math.abs(k)*.1),G=y.BoundingRect.create({x:F[0],y:-M/2,width:k,height:M});G.x-=N,G.width+=2*N,this._brushController.mount({enableGlobalPan:!0,rotation:S.rotation,position:S.position}).setPanels([{panelId:"pl",clipPath:x.makeRectPanelClipPath(G),isTargetByCursor:x.makeRectIsTargetByCursor(G,L,P),getLinearBrushOtherExtent:x.makeLinearBrushOtherExtent(G,0)}]).enableBrush({brushType:"lineX",brushStyle:D,removeOnClick:!0}).updateCovers(Q(R))},_onBrush:function(S,D){var R=this.axisModel,P=R.axis,M=m.map(S,function(L){return[P.coordToData(L.range[0],!0),P.coordToData(L.range[1],!0)]});(!R.option.realtime===D.isEnd||D.removeOnClick)&&this.api.dispatchAction({type:"axisAreaSelect",parallelAxisId:R.id,intervals:M})},dispose:function(){this._brushController.dispose()}});function B(S,D,R){return R&&R.type==="axisAreaSelect"&&D.findComponents({mainType:"parallelAxis",query:R})[0]===S}function Q(S){var D=S.axis;return m.map(S.activeIntervals,function(R){return{brushType:"lineX",panelId:"pl",range:[D.dataToCoord(R[0],!0),D.dataToCoord(R[1],!0)]}})}function T(S,D){return D.getComponent("parallel",S.get("parallelIndex"))}var w=v;A.exports=w}),eCt=wt(()=>{g6e(),Zmt(),$mt()}),m6e=wt(()=>{var o=Dn(),A=Bi(),f=WP(),m=Kmt();g6e(),Xmt(),eCt();var C=5;o.extendComponentView({type:"parallel",render:function(y,I,v){this._model=y,this._api=v,this._handlers||(this._handlers={},A.each(E,function(B,Q){v.getZr().on(Q,this._handlers[Q]=A.bind(B,this))},this)),f.createOrUpdate(this,"_throttledDispatchExpand",y.get("axisExpandRate"),"fixRate")},dispose:function(y,I){A.each(this._handlers,function(v,B){I.getZr().off(B,v)}),this._handlers=null},_throttledDispatchExpand:function(y){this._dispatchExpand(y)},_dispatchExpand:function(y){y&&this._api.dispatchAction(A.extend({type:"parallelAxisExpand"},y))}});var E={mousedown:function(y){x(this,"click")&&(this._mouseDownPoint=[y.offsetX,y.offsetY])},mouseup:function(y){var I=this._mouseDownPoint;if(x(this,"click")&&I){var v=[y.offsetX,y.offsetY],B=Math.pow(I[0]-v[0],2)+Math.pow(I[1]-v[1],2);if(B>C)return;var Q=this._model.coordinateSystem.getSlidedAxisExpandWindow([y.offsetX,y.offsetY]);Q.behavior!=="none"&&this._dispatchExpand({axisExpandWindow:Q.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(y){if(!(this._mouseDownPoint||!x(this,"mousemove"))){var I=this._model,v=I.coordinateSystem.getSlidedAxisExpandWindow([y.offsetX,y.offsetY]),B=v.behavior;B==="jump"&&this._throttledDispatchExpand.debounceNextCall(I.get("axisExpandDebounce")),this._throttledDispatchExpand(B==="none"?null:{axisExpandWindow:v.axisExpandWindow,animation:B==="jump"?null:!1})}}};function x(y,I){var v=y._model;return v.get("axisExpandable")&&v.get("axisExpandTriggerOn")===I}o.registerPreprocessor(m)}),tCt=wt((o,A)=>{var f=Bi(),m=f.each,C=f.createHashMap,E=E0(),x=KD(),y=E.extend({type:"series.parallel",dependencies:["parallel"],visualColorAccessPath:"lineStyle.color",getInitialData:function(B,Q){var T=this.getSource();return I(T,this),x(T,this)},getRawIndicesByActiveState:function(B){var Q=this.coordinateSystem,T=this.getData(),w=[];return Q.eachActiveState(T,function(S,D){B===S&&w.push(T.getRawIndex(D))}),w},defaultOption:{zlevel:0,z:2,coordinateSystem:"parallel",parallelIndex:0,label:{show:!1},inactiveOpacity:.05,activeOpacity:1,lineStyle:{width:1,opacity:.45,type:"solid"},emphasis:{label:{show:!1}},progressive:500,smooth:!1,animationEasing:"linear"}});function I(B,Q){if(!B.encodeDefine){var T=Q.ecModel.getComponent("parallel",Q.get("parallelIndex"));if(T){var w=B.encodeDefine=C();m(T.dimensions,function(S){var D=v(S);w.set(S,D)})}}}function v(B){return+B.replace("dim","")}A.exports=y}),iCt=wt((o,A)=>{var f=To(),m=Jb(),C=.3,E=m.extend({type:"parallel",init:function(){this._dataGroup=new f.Group,this.group.add(this._dataGroup),this._data,this._initialized},render:function(w,S,D,R){var P=this._dataGroup,M=w.getData(),L=this._data,F=w.coordinateSystem,k=F.dimensions,N=v(w);M.diff(L).add(G).update(J).remove(K).execute();function G(q){var ee=I(M,P,q,k,F);B(ee,M,q,N)}function J(q,ee){var ie=L.getItemGraphicEl(ee),H=y(M,q,k,F);M.setItemGraphicEl(q,ie);var le=R&&R.animation===!1?null:w;f.updateProps(ie,{shape:{points:H}},le,q),B(ie,M,q,N)}function K(q){var ee=L.getItemGraphicEl(q);P.remove(ee)}if(!this._initialized){this._initialized=!0;var X=x(F,w,function(){setTimeout(function(){P.removeClipPath()})});P.setClipPath(X)}this._data=M},incrementalPrepareRender:function(w,S,D){this._initialized=!0,this._data=null,this._dataGroup.removeAll()},incrementalRender:function(w,S,D){for(var R=S.getData(),P=S.coordinateSystem,M=P.dimensions,L=v(S),F=w.start;F{var f=["lineStyle","normal","opacity"],m={seriesType:"parallel",reset:function(C,E,x){var y=C.getModel("itemStyle"),I=C.getModel("lineStyle"),v=E.get("color"),B=I.get("color")||y.get("color")||v[C.seriesIndex%v.length],Q=C.get("inactiveOpacity"),T=C.get("activeOpacity"),w=C.getModel("lineStyle").getLineStyle(),S=C.coordinateSystem,D=C.getData(),R={normal:w.opacity,active:T,inactive:Q};D.setVisual("color",B);function P(M,L){S.eachActiveState(L,function(F,k){var N=R[F];if(F==="normal"&&L.hasItemOption){var G=L.getItemModel(k).get(f,!0);G!=null&&(N=G)}L.setItemVisual(k,"opacity",N)},M.start,M.end)}return{progress:P}}};A.exports=m}),nCt=wt(()=>{var o=Dn();m6e(),tCt(),iCt();var A=rCt();o.registerVisual(A)}),oCt=wt((o,A)=>{var f=E0(),m=c6e(),C=Tc(),E=C.encodeHTML,x=qf(),y=Bu(),I=y.__DEV__,v=f.extend({type:"series.sankey",layoutInfo:null,levelModels:null,getInitialData:function(Q,T){for(var w=Q.edges||Q.links,S=Q.data||Q.nodes,D=Q.levels,R=this.levelModels={},P=0;P=0&&(R[D[P].depth]=new x(D[P],this,T));if(S&&w){var M=m(S,w,this,!0,L);return M.data}function L(F,k){F.wrapMethod("getItemModel",function(N,G){return N.customizeGetParent(function(J){var K=this.parentModel,X=K.getData().getItemLayout(G).depth,q=K.levelModels[X];return q||this.parentModel}),N}),k.wrapMethod("getItemModel",function(N,G){return N.customizeGetParent(function(J){var K=this.parentModel,X=K.getGraph().getEdgeByIndex(G),q=X.node1.getLayout().depth,ee=K.levelModels[q];return ee||this.parentModel}),N})}},setNodePosition:function(Q,T){var w=this.option.data[Q];w.localX=T[0],w.localY=T[1]},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},formatTooltip:function(Q,T,w){if(w==="edge"){var S=this.getDataParams(Q,w),D=S.data,R=D.source+" -- "+D.target;return S.value&&(R+=" : "+S.value),E(R)}else if(w==="node"){var P=this.getGraph().getNodeByIndex(Q),M=P.getLayout().value,L=this.getDataParams(Q,w).data.name;if(M)var R=L+" : "+M;return E(R)}return v.superCall(this,"formatTooltip",Q,T)},optionUpdated:function(){var Q=this.option;Q.focusNodeAdjacency===!0&&(Q.focusNodeAdjacency="allEdges")},getDataParams:function(Q,T){var w=v.superCall(this,"getDataParams",Q,T);if(w.value==null&&T==="node"){var S=this.getGraph().getNodeByIndex(Q),D=S.getLayout().value;w.value=D}return w},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",layout:null,left:"5%",top:"5%",right:"20%",bottom:"5%",orient:"horizontal",nodeWidth:20,nodeGap:8,draggable:!0,focusNodeAdjacency:!1,layoutIterations:32,label:{show:!0,position:"right",color:"#000",fontSize:12},levels:[],nodeAlign:"justify",itemStyle:{borderWidth:1,borderColor:"#333"},lineStyle:{color:"#314656",opacity:.2,curveness:.5},emphasis:{label:{show:!0},lineStyle:{opacity:.5}},animationEasing:"linear",animationDuration:1e3}}),B=v;A.exports=B}),aCt=wt((o,A)=>{var f=To(),m=Dn(),C=Bi(),E=["itemStyle","opacity"],x=["emphasis","itemStyle","opacity"],y=["lineStyle","opacity"],I=["emphasis","lineStyle","opacity"];function v(D,R){return D.getVisual("opacity")||D.getModel().get(R)}function B(D,R,P){var M=D.getGraphicEl(),L=v(D,R);P!=null&&(L==null&&(L=1),L*=P),M.downplay&&M.downplay(),M.traverse(function(F){F.type!=="group"&&F.setStyle("opacity",L)})}function Q(D,R){var P=v(D,R),M=D.getGraphicEl();M.traverse(function(L){L.type!=="group"&&L.setStyle("opacity",P)}),M.highlight&&M.highlight()}var T=f.extendShape({shape:{x1:0,y1:0,x2:0,y2:0,cpx1:0,cpy1:0,cpx2:0,cpy2:0,extent:0,orient:""},buildPath:function(D,R){var P=R.extent;D.moveTo(R.x1,R.y1),D.bezierCurveTo(R.cpx1,R.cpy1,R.cpx2,R.cpy2,R.x2,R.y2),R.orient==="vertical"?(D.lineTo(R.x2+P,R.y2),D.bezierCurveTo(R.cpx2+P,R.cpy2,R.cpx1+P,R.cpy1,R.x1+P,R.y1)):(D.lineTo(R.x2,R.y2+P),D.bezierCurveTo(R.cpx2,R.cpy2+P,R.cpx1,R.cpy1+P,R.x1,R.y1+P)),D.closePath()},highlight:function(){this.trigger("emphasis")},downplay:function(){this.trigger("normal")}}),w=m.extendChartView({type:"sankey",_model:null,_focusAdjacencyDisabled:!1,render:function(D,R,P){var M=this,L=D.getGraph(),F=this.group,k=D.layoutInfo,N=k.width,G=k.height,J=D.getData(),K=D.getData("edge"),X=D.get("orient");this._model=D,F.removeAll(),F.attr("position",[k.x,k.y]),L.eachEdge(function(q){var ee=new T;ee.dataIndex=q.dataIndex,ee.seriesIndex=D.seriesIndex,ee.dataType="edge";var ie=q.getModel("lineStyle"),H=ie.get("curveness"),le=q.node1.getLayout(),ue=q.node1.getModel(),Ae=ue.get("localX"),he=ue.get("localY"),ge=q.node2.getLayout(),fe=q.node2.getModel(),ae=fe.get("localX"),U=fe.get("localY"),W=q.getLayout(),Y,z,re,se,de,me,Ce,Ie;switch(ee.shape.extent=Math.max(1,W.dy),ee.shape.orient=X,X==="vertical"?(Y=(Ae!=null?Ae*N:le.x)+W.sy,z=(he!=null?he*G:le.y)+le.dy,re=(ae!=null?ae*N:ge.x)+W.ty,se=U!=null?U*G:ge.y,de=Y,me=z*(1-H)+se*H,Ce=re,Ie=z*H+se*(1-H)):(Y=(Ae!=null?Ae*N:le.x)+le.dx,z=(he!=null?he*G:le.y)+W.sy,re=ae!=null?ae*N:ge.x,se=(U!=null?U*G:ge.y)+W.ty,de=Y*(1-H)+re*H,me=z,Ce=Y*H+re*(1-H),Ie=se),ee.setShape({x1:Y,y1:z,x2:re,y2:se,cpx1:de,cpy1:me,cpx2:Ce,cpy2:Ie}),ee.setStyle(ie.getItemStyle()),ee.style.fill){case"source":ee.style.fill=q.node1.getVisual("color");break;case"target":ee.style.fill=q.node2.getVisual("color");break}f.setHoverStyle(ee,q.getModel("emphasis.lineStyle").getItemStyle()),F.add(ee),K.setItemGraphicEl(q.dataIndex,ee)}),L.eachNode(function(q){var ee=q.getLayout(),ie=q.getModel(),H=ie.get("localX"),le=ie.get("localY"),ue=ie.getModel("label"),Ae=ie.getModel("emphasis.label"),he=new f.Rect({shape:{x:H!=null?H*N:ee.x,y:le!=null?le*G:ee.y,width:ee.dx,height:ee.dy},style:ie.getModel("itemStyle").getItemStyle()}),ge=q.getModel("emphasis.itemStyle").getItemStyle();f.setLabelStyle(he.style,ge,ue,Ae,{labelFetcher:D,labelDataIndex:q.dataIndex,defaultText:q.id,isRectText:!0}),he.setStyle("fill",q.getVisual("color")),f.setHoverStyle(he,ge),F.add(he),J.setItemGraphicEl(q.dataIndex,he),he.dataType="node"}),J.eachItemGraphicEl(function(q,ee){var ie=J.getItemModel(ee);ie.get("draggable")&&(q.drift=function(H,le){M._focusAdjacencyDisabled=!0,this.shape.x+=H,this.shape.y+=le,this.dirty(),P.dispatchAction({type:"dragNode",seriesId:D.id,dataIndex:J.getRawIndex(ee),localX:this.shape.x/N,localY:this.shape.y/G})},q.ondragend=function(){M._focusAdjacencyDisabled=!1},q.draggable=!0,q.cursor="move"),q.highlight=function(){this.trigger("emphasis")},q.downplay=function(){this.trigger("normal")},q.focusNodeAdjHandler&&q.off("mouseover",q.focusNodeAdjHandler),q.unfocusNodeAdjHandler&&q.off("mouseout",q.unfocusNodeAdjHandler),ie.get("focusNodeAdjacency")&&(q.on("mouseover",q.focusNodeAdjHandler=function(){M._focusAdjacencyDisabled||(M._clearTimer(),P.dispatchAction({type:"focusNodeAdjacency",seriesId:D.id,dataIndex:q.dataIndex}))}),q.on("mouseout",q.unfocusNodeAdjHandler=function(){M._focusAdjacencyDisabled||M._dispatchUnfocus(P)}))}),K.eachItemGraphicEl(function(q,ee){var ie=K.getItemModel(ee);q.focusNodeAdjHandler&&q.off("mouseover",q.focusNodeAdjHandler),q.unfocusNodeAdjHandler&&q.off("mouseout",q.unfocusNodeAdjHandler),ie.get("focusNodeAdjacency")&&(q.on("mouseover",q.focusNodeAdjHandler=function(){M._focusAdjacencyDisabled||(M._clearTimer(),P.dispatchAction({type:"focusNodeAdjacency",seriesId:D.id,edgeDataIndex:q.dataIndex}))}),q.on("mouseout",q.unfocusNodeAdjHandler=function(){M._focusAdjacencyDisabled||M._dispatchUnfocus(P)}))}),!this._data&&D.get("animation")&&F.setClipPath(S(F.getBoundingRect(),D,function(){F.removeClipPath()})),this._data=D.getData()},dispose:function(){this._clearTimer()},_dispatchUnfocus:function(D){var R=this;this._clearTimer(),this._unfocusDelayTimer=setTimeout(function(){R._unfocusDelayTimer=null,D.dispatchAction({type:"unfocusNodeAdjacency",seriesId:R._model.id})},500)},_clearTimer:function(){this._unfocusDelayTimer&&(clearTimeout(this._unfocusDelayTimer),this._unfocusDelayTimer=null)},focusNodeAdjacency:function(D,R,P,M){var L=D.getData(),F=L.graph,k=M.dataIndex,N=L.getItemModel(k),G=M.edgeDataIndex;if(!(k==null&&G==null)){var J=F.getNodeByIndex(k),K=F.getEdgeByIndex(G);if(F.eachNode(function(q){B(q,E,.1)}),F.eachEdge(function(q){B(q,y,.1)}),J){Q(J,x);var X=N.get("focusNodeAdjacency");X==="outEdges"?C.each(J.outEdges,function(q){q.dataIndex<0||(Q(q,I),Q(q.node2,x))}):X==="inEdges"?C.each(J.inEdges,function(q){q.dataIndex<0||(Q(q,I),Q(q.node1,x))}):X==="allEdges"&&C.each(J.edges,function(q){q.dataIndex<0||(Q(q,I),q.node1!==J&&Q(q.node1,x),q.node2!==J&&Q(q.node2,x))})}K&&(Q(K,I),Q(K.node1,x),Q(K.node2,x))}},unfocusNodeAdjacency:function(D,R,P,M){var L=D.getGraph();L.eachNode(function(F){B(F,E)}),L.eachEdge(function(F){B(F,y)})}});function S(D,R,P){var M=new f.Rect({shape:{x:D.x-10,y:D.y-10,width:0,height:D.height+20}});return f.initProps(M,{shape:{width:D.width+20}},R,P),M}A.exports=w}),sCt=wt(()=>{var o=Dn();h6e(),o.registerAction({type:"dragNode",event:"dragnode",update:"update"},function(A,f){f.eachComponent({mainType:"series",subType:"sankey",query:A},function(m){m.setNodePosition(A.dataIndex,[A.localX,A.localY])})})}),lCt=wt((o,A)=>{var f=pc(),m=Bi(),C=Bl(),E=C.groupData;function x(ie,H,le){ie.eachSeriesByType("sankey",function(ue){var Ae=ue.get("nodeWidth"),he=ue.get("nodeGap"),ge=y(ue,H);ue.layoutInfo=ge;var fe=ge.width,ae=ge.height,U=ue.getGraph(),W=U.nodes,Y=U.edges;v(W);var z=m.filter(W,function(me){return me.getLayout().value===0}),re=z.length!==0?0:ue.get("layoutIterations"),se=ue.get("orient"),de=ue.get("nodeAlign");I(W,Y,Ae,he,fe,ae,re,se,de)})}function y(ie,H){return f.getLayoutRect(ie.getBoxLayoutParams(),{width:H.getWidth(),height:H.getHeight()})}function I(ie,H,le,ue,Ae,he,ge,fe,ae){B(ie,H,le,Ae,he,fe,ae),D(ie,H,he,Ae,ue,ge,fe),ee(ie,fe)}function v(ie){m.each(ie,function(H){var le=X(H.outEdges,K),ue=X(H.inEdges,K),Ae=H.getValue()||0,he=Math.max(le,ue,Ae);H.setLayout({value:he},!0)})}function B(ie,H,le,ue,Ae,he,ge){for(var fe=[],ae=[],U=[],W=[],Y=0,Le=0,z=0;z=0;Ce&&me.depth>re&&(re=me.depth),de.setLayout({depth:Ce?me.depth:Y},!0),he==="vertical"?de.setLayout({dy:le},!0):de.setLayout({dx:le},!0);for(var Ie=0;IeY-1?re:Y-1;ge&&ge!=="left"&&T(ie,ge,he,Oe);var Le=he==="vertical"?(Ae-le)/Oe:(ue-le)/Oe;S(ie,Le,he)}function Q(ie){var H=ie.hostGraph.data.getRawDataItem(ie.dataIndex);return H.depth!=null&&H.depth>=0}function T(ie,H,le,ue){if(H==="right"){for(var Ae=[],he=ie,ge=0;he.length;){for(var fe=0;fe0;he--)ae*=.99,L(fe,ae,ge),M(fe,Ae,le,ue,ge),q(fe,ae,ge),M(fe,Ae,le,ue,ge)}function R(ie,H){var le=[],ue=H==="vertical"?"y":"x",Ae=E(ie,function(he){return he.getLayout()[ue]});return Ae.keys.sort(function(he,ge){return he-ge}),m.each(Ae.keys,function(he){le.push(Ae.buckets.get(he))}),le}function P(ie,H,le,ue,Ae,he){var ge=1/0;m.each(ie,function(fe){var ae=fe.length,U=0;m.each(fe,function(Y){U+=Y.getLayout().value});var W=he==="vertical"?(ue-(ae-1)*Ae)/U:(le-(ae-1)*Ae)/U;W0&&(fe=ae.getLayout()[he]+U,Ae==="vertical"?ae.setLayout({x:fe},!0):ae.setLayout({y:fe},!0)),W=ae.getLayout()[he]+ae.getLayout()[z]+H;var se=Ae==="vertical"?ue:le;if(U=W-H-se,U>0)for(fe=ae.getLayout()[he]-U,Ae==="vertical"?ae.setLayout({x:fe},!0):ae.setLayout({y:fe},!0),W=fe,re=Y-2;re>=0;--re)ae=ge[re],U=ae.getLayout()[he]+ae.getLayout()[z]+H-W,U>0&&(fe=ae.getLayout()[he]-U,Ae==="vertical"?ae.setLayout({x:fe},!0):ae.setLayout({y:fe},!0)),W=ae.getLayout()[he]})}function L(ie,H,le){m.each(ie.slice().reverse(),function(ue){m.each(ue,function(Ae){if(Ae.outEdges.length){var he=X(Ae.outEdges,F,le)/X(Ae.outEdges,K,le);if(isNaN(he)){var ge=Ae.outEdges.length;he=ge?X(Ae.outEdges,k,le)/ge:0}if(le==="vertical"){var fe=Ae.getLayout().x+(he-J(Ae,le))*H;Ae.setLayout({x:fe},!0)}else{var ae=Ae.getLayout().y+(he-J(Ae,le))*H;Ae.setLayout({y:ae},!0)}}})})}function F(ie,H){return J(ie.node2,H)*ie.getValue()}function k(ie,H){return J(ie.node2,H)}function N(ie,H){return J(ie.node1,H)*ie.getValue()}function G(ie,H){return J(ie.node1,H)}function J(ie,H){return H==="vertical"?ie.getLayout().x+ie.getLayout().dx/2:ie.getLayout().y+ie.getLayout().dy/2}function K(ie){return ie.getValue()}function X(ie,H,le){for(var ue=0,Ae=ie.length,he=-1;++he{var f=r3(),m=Bi();function C(E,x){E.eachSeriesByType("sankey",function(y){var I=y.getGraph(),v=I.nodes;if(v.length){var B=1/0,Q=-1/0;m.each(v,function(T){var w=T.getLayout().value;wQ&&(Q=w)}),m.each(v,function(T){var w=new f({type:"color",mappingMethod:"linear",dataExtent:[B,Q],visual:y.get("color")}),S=w.mapValueToVisual(T.getLayout().value),D=T.getModel().get("itemStyle.color");D!=null?T.setVisual("color",D):T.setVisual("color",S)})}})}A.exports=C}),ACt=wt(()=>{var o=Dn();oCt(),aCt(),sCt();var A=lCt(),f=uCt();o.registerLayout(A),o.registerVisual(f)}),C6e=wt(o=>{var A=j4(),f=Bi(),m=_z(),C=m.getDimensionTypeByAxis,E=JD(),x=E.makeSeriesEncodeForAxisCoordSys,y={_baseAxisDim:null,getInitialData:function(I,v){var B,Q=v.getComponent("xAxis",this.get("xAxisIndex")),T=v.getComponent("yAxis",this.get("yAxisIndex")),w=Q.get("type"),S=T.get("type"),D;w==="category"?(I.layout="horizontal",B=Q.getOrdinalMeta(),D=!0):S==="category"?(I.layout="vertical",B=T.getOrdinalMeta(),D=!0):I.layout=I.layout||"horizontal";var R=["x","y"],P=I.layout==="horizontal"?0:1,M=this._baseAxisDim=R[P],L=R[1-P],F=[Q,T],k=F[P].get("type"),N=F[1-P].get("type"),G=I.data;if(G&&D){var J=[];f.each(G,function(q,ee){var ie;q.value&&f.isArray(q.value)?(ie=q.value.slice(),q.value.unshift(ee)):f.isArray(q)?(ie=q.slice(),q.unshift(ee)):ie=q,J.push(ie)}),I.data=J}var K=this.defaultValueDimensions,X=[{name:M,type:C(k),ordinalMeta:B,otherDims:{tooltip:!1,itemName:0},dimsDef:["base"]},{name:L,type:C(N),dimsDef:K.slice()}];return A(this,{coordDimensions:X,dimensionsCount:K.length+1,encodeDefaulter:f.curry(x,X,this)})},getBaseAxis:function(){var I=this._baseAxisDim;return this.ecModel.getComponent(I+"Axis",this.get(I+"AxisIndex")).axis}};o.seriesModelMixin=y}),cCt=wt((o,A)=>{var f=Bi(),m=E0(),C=C6e(),E=C.seriesModelMixin,x=m.extend({type:"series.boxplot",dependencies:["xAxis","yAxis","grid"],defaultValueDimensions:[{name:"min",defaultTooltip:!0},{name:"Q1",defaultTooltip:!0},{name:"median",defaultTooltip:!0},{name:"Q3",defaultTooltip:!0},{name:"max",defaultTooltip:!0}],dimensions:null,defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,layout:null,boxWidth:[7,50],itemStyle:{color:"#fff",borderWidth:1},emphasis:{itemStyle:{borderWidth:2,shadowBlur:5,shadowOffsetX:2,shadowOffsetY:2,shadowColor:"rgba(0,0,0,0.4)"}},animationEasing:"elasticOut",animationDuration:800}});f.mixin(x,E,!0);var y=x;A.exports=y}),hCt=wt((o,A)=>{var f=Bi(),m=Jb(),C=To(),E=If(),x=["itemStyle"],y=["emphasis","itemStyle"],I=m.extend({type:"boxplot",render:function(S,D,R){var P=S.getData(),M=this.group,L=this._data;this._data||M.removeAll();var F=S.get("layout")==="horizontal"?1:0;P.diff(L).add(function(k){if(P.hasValue(k)){var N=P.getItemLayout(k),G=B(N,P,k,F,!0);P.setItemGraphicEl(k,G),M.add(G)}}).update(function(k,N){var G=L.getItemGraphicEl(N);if(!P.hasValue(k)){M.remove(G);return}var J=P.getItemLayout(k);G?Q(J,G,P,k):G=B(J,P,k,F),M.add(G),P.setItemGraphicEl(k,G)}).remove(function(k){var N=L.getItemGraphicEl(k);N&&M.remove(N)}).execute(),this._data=P},remove:function(S){var D=this.group,R=this._data;this._data=null,R&&R.eachItemGraphicEl(function(P){P&&D.remove(P)})},dispose:f.noop}),v=E.extend({type:"boxplotBoxPath",shape:{},buildPath:function(S,D){var R=D.points,P=0;for(S.moveTo(R[P][0],R[P][1]),P++;P<4;P++)S.lineTo(R[P][0],R[P][1]);for(S.closePath();P{var f=["itemStyle","borderColor"];function m(C,E){var x=C.get("color");C.eachRawSeriesByType("boxplot",function(y){var I=x[y.seriesIndex%x.length],v=y.getData();v.setVisual({legendSymbol:"roundRect",color:y.get(f)||I}),C.isSeriesFiltered(y)||v.each(function(B){var Q=v.getItemModel(B);v.setItemVisual(B,{color:Q.get(f,!0)})})})}A.exports=m}),fCt=wt((o,A)=>{var f=Bi(),m=ds(),C=m.parsePercent,E=f.each;function x(B){var Q=y(B);E(Q,function(T){var w=T.seriesModels;w.length&&(I(T),E(w,function(S,D){v(S,T.boxOffsetList[D],T.boxWidthList[D])}))})}function y(B){var Q=[],T=[];return B.eachSeriesByType("boxplot",function(w){var S=w.getBaseAxis(),D=f.indexOf(T,S);D<0&&(D=T.length,T[D]=S,Q[D]={axis:S,seriesModels:[]}),Q[D].seriesModels.push(w)}),Q}function I(B){var Q,T=B.axis,w=B.seriesModels,S=w.length,D=B.boxWidthList=[],R=B.boxOffsetList=[],P=[],M;if(T.type==="category")M=T.getBandWidth();else{var L=0;E(w,function(J){L=Math.max(L,J.getData().count())}),Q=T.getExtent(),Math.abs(Q[1]-Q[0])/L}E(w,function(J){var K=J.get("boxWidth");f.isArray(K)||(K=[K,K]),P.push([C(K[0],M)||0,C(K[1],M)||0])});var F=M*.8-2,k=F/S*.3,N=(F-k*(S-1))/S,G=N/2-F/2;E(w,function(J,K){R.push(G),G+=k+N,D.push(Math.min(Math.max(N,P[K][0]),P[K][1]))})}function v(B,Q,T){var w=B.coordinateSystem,S=B.getData(),D=T/2,R=B.get("layout")==="horizontal"?0:1,P=1-R,M=["x","y"],L=S.mapDimension(M[R]),F=S.mapDimension(M[P],!0);if(L==null||F.length<5)return;for(var k=0;k{var o=Dn();cCt(),hCt();var A=dCt(),f=fCt();o.registerVisual(A),o.registerLayout(f)}),pCt=wt((o,A)=>{var f=Bi(),m=E0(),C=C6e(),E=C.seriesModelMixin,x=m.extend({type:"series.candlestick",dependencies:["xAxis","yAxis","grid"],defaultValueDimensions:[{name:"open",defaultTooltip:!0},{name:"close",defaultTooltip:!0},{name:"lowest",defaultTooltip:!0},{name:"highest",defaultTooltip:!0}],dimensions:null,defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,layout:null,clip:!0,itemStyle:{color:"#c23531",color0:"#314656",borderWidth:1,borderColor:"#c23531",borderColor0:"#314656"},emphasis:{itemStyle:{borderWidth:2}},barMaxWidth:null,barMinWidth:null,barWidth:null,large:!0,largeThreshold:600,progressive:3e3,progressiveThreshold:1e4,progressiveChunkMode:"mod",animationUpdate:!1,animationEasing:"linear",animationDuration:300},getShadowDim:function(){return"open"},brushSelector:function(I,v,B){var Q=v.getItemLayout(I);return Q&&B.rect(Q.brushRect)}});f.mixin(x,E,!0);var y=x;A.exports=y}),mCt=wt((o,A)=>{var f=Bi(),m=Jb(),C=To(),E=If(),x=Bz(),y=x.createClipPath,I=["itemStyle"],v=["emphasis","itemStyle"],B=["color","color0","borderColor","borderColor0"],Q=m.extend({type:"candlestick",render:function(k,N,G){this.group.removeClipPath(),this._updateDrawMode(k),this._isLargeDraw?this._renderLarge(k):this._renderNormal(k)},incrementalPrepareRender:function(k,N,G){this._clear(),this._updateDrawMode(k)},incrementalRender:function(k,N,G,J){this._isLargeDraw?this._incrementalRenderLarge(k,N):this._incrementalRenderNormal(k,N)},_updateDrawMode:function(k){var N=k.pipelineContext.large;(this._isLargeDraw==null||N^this._isLargeDraw)&&(this._isLargeDraw=N,this._clear())},_renderNormal:function(k){var N=k.getData(),G=this._data,J=this.group,K=N.getLayout("isSimpleBox"),X=k.get("clip",!0),q=k.coordinateSystem,ee=q.getArea&&q.getArea();this._data||J.removeAll(),N.diff(G).add(function(ie){if(N.hasValue(ie)){var H,le=N.getItemLayout(ie);if(X&&S(ee,le))return;H=w(le,ie,!0),C.initProps(H,{shape:{points:le.ends}},k,ie),D(H,N,ie,K),J.add(H),N.setItemGraphicEl(ie,H)}}).update(function(ie,H){var le=G.getItemGraphicEl(H);if(!N.hasValue(ie)){J.remove(le);return}var ue=N.getItemLayout(ie);if(X&&S(ee,ue)){J.remove(le);return}le?C.updateProps(le,{shape:{points:ue.ends}},k,ie):le=w(ue,ie),D(le,N,ie,K),J.add(le),N.setItemGraphicEl(ie,le)}).remove(function(ie){var H=G.getItemGraphicEl(ie);H&&J.remove(H)}).execute(),this._data=N},_renderLarge:function(k){this._clear(),M(k,this.group);var N=k.get("clip",!0)?y(k.coordinateSystem,!1,k):null;N?this.group.setClipPath(N):this.group.removeClipPath()},_incrementalRenderNormal:function(k,N){for(var G=N.getData(),J=G.getLayout("isSimpleBox"),K;(K=k.next())!=null;){var X,q=G.getItemLayout(K);X=w(q,K),D(X,G,K,J),X.incremental=!0,this.group.add(X)}},_incrementalRenderLarge:function(k,N){M(N,this.group,!0)},remove:function(k){this._clear()},_clear:function(){this.group.removeAll(),this._data=null},dispose:f.noop}),T=E.extend({type:"normalCandlestickBox",shape:{},buildPath:function(k,N){var G=N.points;this.__simpleBox?(k.moveTo(G[4][0],G[4][1]),k.lineTo(G[6][0],G[6][1])):(k.moveTo(G[0][0],G[0][1]),k.lineTo(G[1][0],G[1][1]),k.lineTo(G[2][0],G[2][1]),k.lineTo(G[3][0],G[3][1]),k.closePath(),k.moveTo(G[4][0],G[4][1]),k.lineTo(G[5][0],G[5][1]),k.moveTo(G[6][0],G[6][1]),k.lineTo(G[7][0],G[7][1]))}});function w(k,N,G){var J=k.ends;return new T({shape:{points:G?R(J,k):J},z2:100})}function S(k,N){for(var G=!0,J=0;J0?"P":"N",X=J.getVisual("borderColor"+K)||J.getVisual("color"+K),q=G.getModel(I).getItemStyle(B);N.useStyle(q),N.style.fill=null,N.style.stroke=X}var F=Q;A.exports=F}),CCt=wt((o,A)=>{var f=Bi();function m(C){!C||!f.isArray(C.series)||f.each(C.series,function(E){f.isObject(E)&&E.type==="k"&&(E.type="candlestick")})}A.exports=m}),ECt=wt((o,A)=>{var f=J4(),m=["itemStyle","borderColor"],C=["itemStyle","borderColor0"],E=["itemStyle","color"],x=["itemStyle","color0"],y={seriesType:"candlestick",plan:f(),performRawSeries:!0,reset:function(I,v){var B=I.getData();if(B.setVisual({legendSymbol:"roundRect",colorP:w(1,I),colorN:w(-1,I),borderColorP:S(1,I),borderColorN:S(-1,I)}),v.isSeriesFiltered(I))return;var Q=I.pipelineContext.large;return!Q&&{progress:T};function T(D,R){for(var P;(P=D.next())!=null;){var M=R.getItemModel(P),L=R.getItemLayout(P).sign;R.setItemVisual(P,{color:w(L,M),borderColor:S(L,M)})}}function w(D,R){return R.get(D>0?E:x)}function S(D,R){return R.get(D>0?m:C)}}};A.exports=y}),xCt=wt((o,A)=>{var f=To(),m=f.subPixelOptimize,C=J4(),E=ds(),x=E.parsePercent,y=Bi(),I=y.retrieve2,v=typeof Float32Array<"u"?Float32Array:Array,B={seriesType:"candlestick",plan:C(),reset:function(w){var S=w.coordinateSystem,D=w.getData(),R=T(w,D),P=0,M=1,L=["x","y"],F=D.mapDimension(L[P]),k=D.mapDimension(L[M],!0),N=k[0],G=k[1],J=k[2],K=k[3];if(D.setLayout({candleWidth:R,isSimpleBox:R<=1.3}),F==null||k.length<4)return;return{progress:w.pipelineContext.large?q:X};function X(ee,ie){for(var H;(H=ee.next())!=null;){var le=ie.get(F,H),ue=ie.get(N,H),Ae=ie.get(G,H),he=ie.get(J,H),ge=ie.get(K,H),fe=Math.min(ue,Ae),ae=Math.max(ue,Ae),U=se(fe,le),W=se(ae,le),Y=se(he,le),z=se(ge,le),re=[];de(re,W,0),de(re,U,1),re.push(Ce(z),Ce(W),Ce(Y),Ce(U)),ie.setItemLayout(H,{sign:Q(ie,H,ue,Ae,G),initBaseline:ue>Ae?W[M]:U[M],ends:re,brushRect:me(he,ge,le)})}function se(Ie,we){var Te=[];return Te[P]=we,Te[M]=Ie,isNaN(we)||isNaN(Ie)?[NaN,NaN]:S.dataToPoint(Te)}function de(Ie,we,Te){var Ge=we.slice(),ke=we.slice();Ge[P]=m(Ge[P]+R/2,1,!1),ke[P]=m(ke[P]-R/2,1,!0),Te?Ie.push(Ge,ke):Ie.push(ke,Ge)}function me(Ie,we,Te){var Ge=se(Ie,Te),ke=se(we,Te);return Ge[P]-=R/2,ke[P]-=R/2,{x:Ge[0],y:Ge[1],width:M?R:ke[0]-Ge[0],height:M?ke[1]-Ge[1]:R}}function Ce(Ie){return Ie[P]=m(Ie[P],1),Ie}}function q(ee,ie){for(var H=new v(ee.count*4),le=0,ue,Ae=[],he=[],ge;(ge=ee.next())!=null;){var fe=ie.get(F,ge),ae=ie.get(N,ge),U=ie.get(G,ge),W=ie.get(J,ge),Y=ie.get(K,ge);if(isNaN(fe)||isNaN(W)||isNaN(Y)){H[le++]=NaN,le+=3;continue}H[le++]=Q(ie,ge,ae,U,G),Ae[P]=fe,Ae[M]=W,ue=S.dataToPoint(Ae,null,he),H[le++]=ue?ue[0]:NaN,H[le++]=ue?ue[1]:NaN,Ae[M]=Y,ue=S.dataToPoint(Ae,null,he),H[le++]=ue?ue[1]:NaN}ie.setLayout("largePoints",H)}}};function Q(w,S,D,R,P){var M;return D>R?M=-1:D0?w.get(P,S-1)<=R?1:-1:1,M}function T(w,S){var D=w.getBaseAxis(),R,P=D.type==="category"?D.getBandWidth():(R=D.getExtent(),Math.abs(R[1]-R[0])/S.count()),M=x(I(w.get("barMaxWidth"),P),P),L=x(I(w.get("barMinWidth"),1),P),F=w.get("barWidth");return F!=null?x(F,P):Math.max(Math.min(P/2,M),L)}A.exports=B}),yCt=wt(()=>{var o=Dn();pCt(),mCt();var A=CCt(),f=ECt(),m=xCt();o.registerPreprocessor(A),o.registerVisual(f),o.registerLayout(m)}),ICt=wt((o,A)=>{var f=KD(),m=E0(),C=m.extend({type:"series.effectScatter",dependencies:["grid","polar"],getInitialData:function(E,x){return f(this.getSource(),this,{useEncodeDefaulter:!0})},brushSelector:"point",defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,effectType:"ripple",progressive:0,showEffectOn:"render",rippleEffect:{period:4,scale:2.5,brushType:"fill"},symbolSize:10}});A.exports=C}),_Ct=wt((o,A)=>{var f=Bi(),m=lv(),C=m.createSymbol,E=To(),x=E.Group,y=ds(),I=y.parsePercent,v=ute(),B=3;function Q(R){return f.isArray(R)||(R=[+R,+R]),R}function T(R,P){var M=P.rippleEffectColor||P.color;R.eachChild(function(L){L.attr({z:P.z,zlevel:P.zlevel,style:{stroke:P.brushType==="stroke"?M:null,fill:P.brushType==="fill"?M:null}})})}function w(R,P){x.call(this);var M=new v(R,P),L=new x;this.add(M),this.add(L),L.beforeUpdate=function(){this.attr(M.getScale())},this.updateData(R,P)}var S=w.prototype;S.stopEffectAnimation=function(){this.childAt(1).removeAll()},S.startEffectAnimation=function(R){for(var P=R.symbolType,M=R.color,L=this.childAt(1),F=0;F{var f=Dn(),m=vz(),C=_Ct(),E=xE(),x=wz(),y=f.extendChartView({type:"effectScatter",init:function(){this._symbolDraw=new m(C)},render:function(I,v,B){var Q=I.getData(),T=this._symbolDraw;T.updateData(Q),this.group.add(T.group)},updateTransform:function(I,v,B){var Q=I.getData();this.group.dirty();var T=x().reset(I);T.progress&&T.progress({start:0,end:Q.count()},Q),this._symbolDraw.updateLayout(Q)},_updateGroupTransform:function(I){var v=I.coordinateSystem;v&&v.getRoamTransform&&(this.group.transform=E.clone(v.getRoamTransform()),this.group.decomposeTransform())},remove:function(I,v){this._symbolDraw&&this._symbolDraw.remove(v)},dispose:function(){}});A.exports=y}),BCt=wt(()=>{var o=Dn();ICt(),vCt();var A=e3(),f=wz();o.registerVisual(A("effectScatter","circle")),o.registerLayout(f("effectScatter"))}),wCt=wt((o,A)=>{var f=Bu(),m=f.__DEV__,C=E0(),E=sv(),x=Bi(),y=x.concatArray,I=x.mergeAll,v=x.map,B=Tc(),Q=B.encodeHTML,T=mw(),w=typeof Uint32Array>"u"?Array:Uint32Array,S=typeof Float64Array>"u"?Array:Float64Array;function D(M){var L=M.data;L&&L[0]&&L[0][0]&&L[0][0].coord&&(M.data=v(L,function(F){var k=[F[0].coord,F[1].coord],N={coords:k};return F[0].name&&(N.fromName=F[0].name),F[1].name&&(N.toName=F[1].name),I([N,F[0],F[1]])}))}var R=C.extend({type:"series.lines",dependencies:["grid","polar"],visualColorAccessPath:"lineStyle.color",init:function(M){M.data=M.data||[],D(M);var L=this._processFlatCoordsArray(M.data);this._flatCoords=L.flatCoords,this._flatCoordsOffset=L.flatCoordsOffset,L.flatCoords&&(M.data=new Float32Array(L.count)),R.superApply(this,"init",arguments)},mergeOption:function(M){if(M.data=M.data||[],D(M),M.data){var L=this._processFlatCoordsArray(M.data);this._flatCoords=L.flatCoords,this._flatCoordsOffset=L.flatCoordsOffset,L.flatCoords&&(M.data=new Float32Array(L.count))}R.superApply(this,"mergeOption",arguments)},appendData:function(M){var L=this._processFlatCoordsArray(M.data);L.flatCoords&&(this._flatCoords?(this._flatCoords=y(this._flatCoords,L.flatCoords),this._flatCoordsOffset=y(this._flatCoordsOffset,L.flatCoordsOffset)):(this._flatCoords=L.flatCoords,this._flatCoordsOffset=L.flatCoordsOffset),M.data=new Float32Array(L.count)),this.getRawData().appendData(M.data)},_getCoordsFromItemModel:function(M){var L=this.getData().getItemModel(M),F=L.option instanceof Array?L.option:L.getShallow("coords");return F},getLineCoordsCount:function(M){return this._flatCoordsOffset?this._flatCoordsOffset[M*2+1]:this._getCoordsFromItemModel(M).length},getLineCoords:function(M,L){if(this._flatCoordsOffset){for(var F=this._flatCoordsOffset[M*2],k=this._flatCoordsOffset[M*2+1],N=0;NF}}return{flatCoordsOffset:new Uint32Array(k.buffer,0,J),flatCoords:N,count:K}}return{flatCoordsOffset:null,flatCoords:null,count:M.length}},getInitialData:function(M,L){var F=new E(["value"],this);return F.hasItemOption=!1,F.initData(M.data,[],function(k,N,G,J){if(k instanceof Array)return NaN;F.hasItemOption=!0;var K=k.value;if(K!=null)return K instanceof Array?K[J]:K}),F},formatTooltip:function(M){var L=this.getData(),F=L.getItemModel(M),k=F.get("name");if(k)return k;var N=F.get("fromName"),G=F.get("toName"),J=[];return N!=null&&J.push(N),G!=null&&J.push(G),Q(J.join(" > "))},preventIncremental:function(){return!!this.get("effect.show")},getProgressive:function(){var M=this.option.progressive;return M??(this.option.large?1e4:this.get("progressive"))},getProgressiveThreshold:function(){var M=this.option.progressiveThreshold;return M??(this.option.large?2e4:this.get("progressiveThreshold"))},defaultOption:{coordinateSystem:"geo",zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,xAxisIndex:0,yAxisIndex:0,symbol:["none","none"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:"circle",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2e3,polyline:!1,clip:!0,label:{show:!1,position:"end"},lineStyle:{opacity:.5}}}),P=R;A.exports=P}),E6e=wt((o,A)=>{var f=To(),m=I0e(),C=Bi(),E=lv(),x=E.createSymbol,y=vh(),I=KP();function v(T,w,S){f.Group.call(this),this.add(this.createLine(T,w,S)),this._updateEffectSymbol(T,w)}var B=v.prototype;B.createLine=function(T,w,S){return new m(T,w,S)},B._updateEffectSymbol=function(T,w){var S=T.getItemModel(w),D=S.getModel("effect"),R=D.get("symbolSize"),P=D.get("symbol");C.isArray(R)||(R=[R,R]);var M=D.get("color")||T.getItemVisual(w,"color"),L=this.childAt(1);this._symbolType!==P&&(this.remove(L),L=x(P,-.5,-.5,1,1,M),L.z2=100,L.culling=!0,this.add(L)),L&&(L.setStyle("shadowColor",M),L.setStyle(D.getItemStyle(["color"])),L.attr("scale",R),L.setColor(M),L.attr("scale",R),this._symbolType=P,this._symbolScale=R,this._updateEffectAnimation(T,D,w))},B._updateEffectAnimation=function(T,w,S){var D=this.childAt(1);if(D){var R=this,P=T.getItemLayout(S),M=w.get("period")*1e3,L=w.get("loop"),F=w.get("constantSpeed"),k=C.retrieve(w.get("delay"),function(K){return K/T.count()*M/3}),N=typeof k=="function";if(D.ignore=!0,this.updateAnimationPoints(D,P),F>0&&(M=this.getLineLength(D)/F*1e3),M!==this._period||L!==this._loop){D.stopAnimation();var G=k;N&&(G=k(S)),D.__t>0&&(G=-M*D.__t),D.__t=0;var J=D.animate("",L).when(M,{__t:1}).delay(G).during(function(){R.updateSymbolPosition(D)});L||J.done(function(){R.remove(D)}),J.start()}this._period=M,this._loop=L}},B.getLineLength=function(T){return y.dist(T.__p1,T.__cp1)+y.dist(T.__cp1,T.__p2)},B.updateAnimationPoints=function(T,w){T.__p1=w[0],T.__p2=w[1],T.__cp1=w[2]||[(w[0][0]+w[1][0])/2,(w[0][1]+w[1][1])/2]},B.updateData=function(T,w,S){this.childAt(0).updateData(T,w,S),this._updateEffectSymbol(T,w)},B.updateSymbolPosition=function(T){var w=T.__p1,S=T.__p2,D=T.__cp1,R=T.__t,P=T.position,M=[P[0],P[1]],L=I.quadraticAt,F=I.quadraticDerivativeAt;P[0]=L(w[0],D[0],S[0],R),P[1]=L(w[1],D[1],S[1],R);var k=F(w[0],D[0],S[0],R),N=F(w[1],D[1],S[1],R);if(T.rotation=-Math.atan2(N,k)-Math.PI/2,this._symbolType==="line"||this._symbolType==="rect"||this._symbolType==="roundRect")if(T.__lastT!==void 0&&T.__lastT{var f=To(),m=Bi();function C(y,I,v){f.Group.call(this),this._createPolyline(y,I,v)}var E=C.prototype;E._createPolyline=function(y,I,v){var B=y.getItemLayout(I),Q=new f.Polyline({shape:{points:B}});this.add(Q),this._updateCommonStl(y,I,v)},E.updateData=function(y,I,v){var B=y.hostModel,Q=this.childAt(0),T={shape:{points:y.getItemLayout(I)}};f.updateProps(Q,T,B,I),this._updateCommonStl(y,I,v)},E._updateCommonStl=function(y,I,v){var B=this.childAt(0),Q=y.getItemModel(I),T=y.getItemVisual(I,"color"),w=v&&v.lineStyle,S=v&&v.hoverLineStyle;(!v||y.hasItemOption)&&(w=Q.getModel("lineStyle").getLineStyle(),S=Q.getModel("emphasis.lineStyle").getLineStyle()),B.useStyle(m.defaults({strokeNoScale:!0,fill:"none",stroke:T},w)),B.hoverStyle=S,f.setHoverStyle(this)},E.updateLayout=function(y,I){var v=this.childAt(0);v.setShape("points",y.getItemLayout(I))},m.inherits(C,f.Group);var x=C;A.exports=x}),bCt=wt((o,A)=>{var f=x6e(),m=Bi(),C=E6e(),E=vh();function x(v,B,Q){C.call(this,v,B,Q),this._lastFrame=0,this._lastFramePercent=0}var y=x.prototype;y.createLine=function(v,B,Q){return new f(v,B,Q)},y.updateAnimationPoints=function(v,B){this._points=B;for(var Q=[0],T=0,w=1;w=0&&!(T[D]<=B);D--);D=Math.min(D,w-2)}else{for(var D=S;DB);D++);D=Math.min(D-1,w-2)}E.lerp(v.position,Q[D],Q[D+1],(B-T[D])/(T[D+1]-T[D]));var P=Q[D+1][0]-Q[D][0],M=Q[D+1][1]-Q[D][1];v.rotation=-Math.atan2(M,P)-Math.PI/2,this._lastFrame=D,this._lastFramePercent=B,v.ignore=!1}},m.inherits(x,C);var I=x;A.exports=I}),QCt=wt((o,A)=>{var f=To(),m=A0e(),C=wHe(),E=bHe(),x=f.extendShape({shape:{polyline:!1,curveness:0,segs:[]},buildPath:function(B,Q){var T=Q.segs,w=Q.curveness;if(Q.polyline)for(var S=0;S0){B.moveTo(T[S++],T[S++]);for(var R=1;R0){var k=(P+L)/2-(M-F)*w,N=(M+F)/2-(L-P)*w;B.quadraticCurveTo(k,N,L,F)}else B.lineTo(L,F)}},findDataIndex:function(B,Q){var T=this.shape,w=T.segs,S=T.curveness;if(T.polyline)for(var D=0,R=0;R0)for(var M=w[R++],L=w[R++],F=1;F0){var G=(M+k)/2-(L-N)*S,J=(L+N)/2-(k-M)*S;if(E.containStroke(M,L,G,J,k,N))return D}else if(C.containStroke(M,L,k,N))return D;D++}return-1}});function y(){this.group=new f.Group}var I=y.prototype;I.isPersistent=function(){return!this._incremental},I.updateData=function(B){this.group.removeAll();var Q=new x({rectHover:!0,cursor:"default"});Q.setShape({segs:B.getLayout("linesPoints")}),this._setCommon(Q,B),this.group.add(Q),this._incremental=null},I.incrementalPrepareUpdate=function(B){this.group.removeAll(),this._clearIncremental(),B.count()>5e5?(this._incremental||(this._incremental=new m({silent:!0})),this.group.add(this._incremental)):this._incremental=null},I.incrementalUpdate=function(B,Q){var T=new x;T.setShape({segs:Q.getLayout("linesPoints")}),this._setCommon(T,Q,!!this._incremental),this._incremental?this._incremental.addDisplayable(T,!0):(T.rectHover=!0,T.cursor="default",T.__startIndex=B.start,this.group.add(T))},I.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},I._setCommon=function(B,Q,T){var w=Q.hostModel;B.setShape({polyline:w.get("polyline"),curveness:w.get("lineStyle.curveness")}),B.useStyle(w.getModel("lineStyle").getLineStyle()),B.style.strokeNoScale=!0;var S=Q.getVisual("color");S&&B.setStyle("stroke",S),B.setStyle("fill"),T||(B.seriesIndex=w.seriesIndex,B.on("mousemove",function(D){B.dataIndex=null;var R=B.findDataIndex(D.offsetX,D.offsetY);R>0&&(B.dataIndex=R+B.__startIndex)}))},I._clearIncremental=function(){var B=this._incremental;B&&B.clearDisplaybles()};var v=y;A.exports=v}),y6e=wt((o,A)=>{var f=J4(),m={seriesType:"lines",plan:f(),reset:function(C){var E=C.coordinateSystem,x=C.get("polyline"),y=C.pipelineContext.large;function I(v,B){var Q=[];if(y){var T,w=v.end-v.start;if(x){for(var S=0,D=v.start;D{var f=Bu(),m=f.__DEV__,C=Dn(),E=_0e(),x=E6e(),y=I0e(),I=x6e(),v=bCt(),B=QCt(),Q=y6e(),T=Bz(),w=T.createClipPath,S=C.extendChartView({type:"lines",init:function(){},render:function(D,R,P){var M=D.getData(),L=this._updateLineDraw(M,D),F=D.get("zlevel"),k=D.get("effect.trailLength"),N=P.getZr(),G=N.painter.getType()==="svg";G||N.painter.getLayer(F).clear(!0),this._lastZlevel!=null&&!G&&N.configLayer(this._lastZlevel,{motionBlur:!1}),this._showEffect(D)&&k&&(G||N.configLayer(F,{motionBlur:!0,lastFrameAlpha:Math.max(Math.min(k/10+.9,1),0)})),L.updateData(M);var J=D.get("clip",!0)&&w(D.coordinateSystem,!1,D);J?this.group.setClipPath(J):this.group.removeClipPath(),this._lastZlevel=F,this._finished=!0},incrementalPrepareRender:function(D,R,P){var M=D.getData(),L=this._updateLineDraw(M,D);L.incrementalPrepareUpdate(M),this._clearLayer(P),this._finished=!1},incrementalRender:function(D,R,P){this._lineDraw.incrementalUpdate(D,R.getData()),this._finished=D.end===R.getData().count()},updateTransform:function(D,R,P){var M=D.getData(),L=D.pipelineContext;if(!this._finished||L.large||L.progressiveRender)return{update:!0};var F=Q.reset(D);F.progress&&F.progress({start:0,end:M.count()},M),this._lineDraw.updateLayout(),this._clearLayer(P)},_updateLineDraw:function(D,R){var P=this._lineDraw,M=this._showEffect(R),L=!!R.get("polyline"),F=R.pipelineContext,k=F.large;return(!P||M!==this._hasEffet||L!==this._isPolyline||k!==this._isLargeDraw)&&(P&&P.remove(),P=this._lineDraw=k?new B:new E(L?M?v:I:M?x:y),this._hasEffet=M,this._isPolyline=L,this._isLargeDraw=k,this.group.removeAll()),this.group.add(P.group),P},_showEffect:function(D){return!!D.get("effect.show")},_clearLayer:function(D){var R=D.getZr(),P=R.painter.getType()==="svg";!P&&this._lastZlevel!=null&&R.painter.getLayer(this._lastZlevel).clear(!0)},remove:function(D,R){this._lineDraw&&this._lineDraw.remove(),this._lineDraw=null,this._clearLayer(R)},dispose:function(){}});A.exports=S}),DCt=wt((o,A)=>{function f(E){return E instanceof Array||(E=[E,E]),E}var m="lineStyle.opacity".split("."),C={seriesType:"lines",reset:function(E,x,y){var I=f(E.get("symbol")),v=f(E.get("symbolSize")),B=E.getData();B.setVisual("fromSymbol",I&&I[0]),B.setVisual("toSymbol",I&&I[1]),B.setVisual("fromSymbolSize",v&&v[0]),B.setVisual("toSymbolSize",v&&v[1]),B.setVisual("opacity",E.get(m));function Q(T,w){var S=T.getItemModel(w),D=f(S.getShallow("symbol",!0)),R=f(S.getShallow("symbolSize",!0)),P=S.get(m);D[0]&&T.setItemVisual(w,"fromSymbol",D[0]),D[1]&&T.setItemVisual(w,"toSymbol",D[1]),R[0]&&T.setItemVisual(w,"fromSymbolSize",R[0]),R[1]&&T.setItemVisual(w,"toSymbolSize",R[1]),T.setItemVisual(w,"opacity",P)}return{dataEach:B.hasItemOption?Q:null}}};A.exports=C}),TCt=wt(()=>{var o=Dn();wCt(),SCt();var A=y6e(),f=DCt();o.registerLayout(A),o.registerVisual(f)}),MCt=wt((o,A)=>{var f=E0(),m=KD(),C=mw(),E=f.extend({type:"series.heatmap",getInitialData:function(x,y){return m(this.getSource(),this,{generateCoord:"value"})},preventIncremental:function(){var x=C.get(this.get("coordinateSystem"));if(x&&x.dimensions)return x.dimensions[0]==="lng"&&x.dimensions[1]==="lat"},defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,geoIndex:0,blurSize:30,pointSize:20,maxOpacity:1,minOpacity:0}});A.exports=E}),PCt=wt((o,A)=>{var f=Bi(),m=256;function C(){var x=f.createCanvas();this.canvas=x,this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={}}C.prototype={update:function(x,y,I,v,B,Q){var T=this._getBrush(),w=this._getGradient(x,B,"inRange"),S=this._getGradient(x,B,"outOfRange"),D=this.pointSize+this.blurSize,R=this.canvas,P=R.getContext("2d"),M=x.length;R.width=y,R.height=I;for(var L=0;L0){var Ae=Q(J)?w:S;J>0&&(J=J*le+ie),X[q++]=Ae[ue],X[q++]=Ae[ue+1],X[q++]=Ae[ue+2],X[q++]=Ae[ue+3]*J*256}else q+=4}return P.putImageData(K,0,0),R},_getBrush:function(){var x=this._brushCanvas||(this._brushCanvas=f.createCanvas()),y=this.pointSize+this.blurSize,I=y*2;x.width=I,x.height=I;var v=x.getContext("2d");return v.clearRect(0,0,I,I),v.shadowOffsetX=I,v.shadowBlur=this.blurSize,v.shadowColor="#000",v.beginPath(),v.arc(-y,y,this.pointSize,0,Math.PI*2,!0),v.closePath(),v.fill(),x},_getGradient:function(x,y,I){for(var v=this._gradientPixels,B=v[I]||(v[I]=new Uint8ClampedArray(256*4)),Q=[0,0,0,0],T=0,w=0;w<256;w++)y[I](w/255,!0,Q),B[T++]=Q[0],B[T++]=Q[1],B[T++]=Q[2],B[T++]=Q[3];return B}};var E=C;A.exports=E}),RCt=wt((o,A)=>{var f=Bu(),m=f.__DEV__,C=Dn(),E=To(),x=PCt(),y=Bi();function I(T,w,S){var D=T[1]-T[0];w=y.map(w,function(M){return{interval:[(M.interval[0]-T[0])/D,(M.interval[1]-T[0])/D]}});var R=w.length,P=0;return function(M){for(var L=P;L=0;L--){var F=w[L].interval;if(F[0]<=M&&M<=F[1]){P=L;break}}return L>=0&&L=w[0]&&D<=w[1]}}function B(T){var w=T.dimensions;return w[0]==="lng"&&w[1]==="lat"}var Q=C.extendChartView({type:"heatmap",render:function(T,w,S){var D;w.eachComponent("visualMap",function(P){P.eachTargetSeries(function(M){M===T&&(D=P)})}),this.group.removeAll(),this._incrementalDisplayable=null;var R=T.coordinateSystem;R.type==="cartesian2d"||R.type==="calendar"?this._renderOnCartesianAndCalendar(T,S,0,T.getData().count()):B(R)&&this._renderOnGeo(R,T,D,S)},incrementalPrepareRender:function(T,w,S){this.group.removeAll()},incrementalRender:function(T,w,S,D){var R=w.coordinateSystem;R&&this._renderOnCartesianAndCalendar(w,D,T.start,T.end,!0)},_renderOnCartesianAndCalendar:function(T,w,S,D,R){var P=T.coordinateSystem,M,L;if(P.type==="cartesian2d"){var F=P.getAxis("x"),k=P.getAxis("y");M=F.getBandWidth(),L=k.getBandWidth()}for(var N=this.group,G=T.getData(),J="itemStyle",K="emphasis.itemStyle",X="label",q="emphasis.label",ee=T.getModel(J).getItemStyle(["color"]),ie=T.getModel(K).getItemStyle(),H=T.getModel(X),le=T.getModel(q),ue=P.type,Ae=ue==="cartesian2d"?[G.mapDimension("x"),G.mapDimension("y"),G.mapDimension("value")]:[G.mapDimension("time"),G.mapDimension("value")],he=S;he{MCt(),RCt()}),FCt=wt((o,A)=>{var f=r6e(),m=f.extend({type:"series.pictorialBar",dependencies:["grid"],defaultOption:{symbol:"circle",symbolSize:null,symbolRotate:null,symbolPosition:null,symbolOffset:null,symbolMargin:null,symbolRepeat:!1,symbolRepeatDirection:"end",symbolClip:!1,symbolBoundingData:null,symbolPatternSize:400,barGap:"-100%",progressive:0,hoverAnimation:!1},getInitialData:function(E){return E.stack=null,m.superApply(this,"getInitialData",arguments)}}),C=m;A.exports=C}),NCt=wt((o,A)=>{var f=Dn(),m=Bi(),C=To(),E=lv(),x=E.createSymbol,y=ds(),I=y.parsePercent,v=y.isNumeric,B=n6e(),Q=B.setLabel,T=["itemStyle","borderWidth"],w=[{xy:"x",wh:"width",index:0,posDesc:["left","right"]},{xy:"y",wh:"height",index:1,posDesc:["top","bottom"]}],S=new C.Circle,D=f.extendChartView({type:"pictorialBar",render:function(Y,z,re){var se=this.group,de=Y.getData(),me=this._data,Ce=Y.coordinateSystem,Ie=Ce.getBaseAxis(),we=!!Ie.isHorizontal(),Te=Ce.grid.getRect(),Ge={ecSize:{width:re.getWidth(),height:re.getHeight()},seriesModel:Y,coordSys:Ce,coordSysExtent:[[Te.x,Te.x+Te.width],[Te.y,Te.y+Te.height]],isHorizontal:we,valueDim:w[+we],categoryDim:w[1-we]};return de.diff(me).add(function(ke){if(de.hasValue(ke)){var Oe=q(de,ke),Le=R(de,ke,Oe,Ge),be=le(de,Ge,Le);de.setItemGraphicEl(ke,be),se.add(be),ae(be,Ge,Le)}}).update(function(ke,Oe){var Le=me.getItemGraphicEl(Oe);if(!de.hasValue(ke)){se.remove(Le);return}var be=q(de,ke),Ne=R(de,ke,be,Ge),Ue=he(de,Ne);Le&&Ue!==Le.__pictorialShapeStr&&(se.remove(Le),de.setItemGraphicEl(ke,null),Le=null),Le?ue(Le,Ge,Ne):Le=le(de,Ge,Ne,!0),de.setItemGraphicEl(ke,Le),Le.__pictorialSymbolMeta=Ne,se.add(Le),ae(Le,Ge,Ne)}).remove(function(ke){var Oe=me.getItemGraphicEl(ke);Oe&&Ae(me,ke,Oe.__pictorialSymbolMeta.animationModel,Oe)}).execute(),this._data=de,this.group},dispose:m.noop,remove:function(Y,z){var re=this.group,se=this._data;Y.get("animation")?se&&se.eachItemGraphicEl(function(de){Ae(se,de.dataIndex,Y,de)}):re.removeAll()}});function R(Y,z,re,se){var de=Y.getItemLayout(z),me=re.get("symbolRepeat"),Ce=re.get("symbolClip"),Ie=re.get("symbolPosition")||"start",we=re.get("symbolRotate"),Te=(we||0)*Math.PI/180||0,Ge=re.get("symbolPatternSize")||2,ke=re.isAnimationEnabled(),Oe={dataIndex:z,layout:de,itemModel:re,symbolType:Y.getItemVisual(z,"symbol")||"circle",color:Y.getItemVisual(z,"color"),symbolClip:Ce,symbolRepeat:me,symbolRepeatDirection:re.get("symbolRepeatDirection"),symbolPatternSize:Ge,rotation:Te,animationModel:ke?re:null,hoverAnimation:ke&&re.get("hoverAnimation"),z2:re.getShallow("z",!0)||0};P(re,me,de,se,Oe),L(Y,z,de,me,Ce,Oe.boundingLength,Oe.pxSign,Ge,se,Oe),F(re,Oe.symbolScale,Te,se,Oe);var Le=Oe.symbolSize,be=re.get("symbolOffset");return m.isArray(be)&&(be=[I(be[0],Le[0]),I(be[1],Le[1])]),k(re,Le,de,me,Ce,be,Ie,Oe.valueLineWidth,Oe.boundingLength,Oe.repeatCutLength,se,Oe),Oe}function P(Y,z,re,se,de){var me=se.valueDim,Ce=Y.get("symbolBoundingData"),Ie=se.coordSys.getOtherAxis(se.coordSys.getBaseAxis()),we=Ie.toGlobalCoord(Ie.dataToCoord(0)),Te=1-+(re[me.wh]<=0),Ge;if(m.isArray(Ce)){var ke=[M(Ie,Ce[0])-we,M(Ie,Ce[1])-we];ke[1]0?1:Ge<0?-1:0}function M(Y,z){return Y.toGlobalCoord(Y.dataToCoord(Y.scale.parse(z)))}function L(Y,z,re,se,de,me,Ce,Ie,we,Te){var Ge=we.valueDim,ke=we.categoryDim,Oe=Math.abs(re[ke.wh]),Le=Y.getItemVisual(z,"symbolSize");m.isArray(Le)?Le=Le.slice():(Le==null&&(Le="100%"),Le=[Le,Le]),Le[ke.index]=I(Le[ke.index],Oe),Le[Ge.index]=I(Le[Ge.index],se?Oe:Math.abs(me)),Te.symbolSize=Le;var be=Te.symbolScale=[Le[0]/Ie,Le[1]/Ie];be[Ge.index]*=(we.isHorizontal?-1:1)*Ce}function F(Y,z,re,se,de){var me=Y.get(T)||0;me&&(S.attr({scale:z.slice(),rotation:re}),S.updateTransform(),me/=S.getLineScale(),me*=z[se.valueDim.index]),de.valueLineWidth=me}function k(Y,z,re,se,de,me,Ce,Ie,we,Te,Ge,ke){var Oe=Ge.categoryDim,Le=Ge.valueDim,be=ke.pxSign,Ne=Math.max(z[Le.index]+Ie,0),Ue=Ne;if(se){var ze=Math.abs(we),Je=m.retrieve(Y.get("symbolMargin"),"15%")+"",Xe=!1;Je.lastIndexOf("!")===Je.length-1&&(Xe=!0,Je=Je.slice(0,Je.length-1)),Je=I(Je,z[Le.index]);var et=Math.max(Ne+Je*2,0),ot=Xe?0:Je*2,Et=v(se),Ct=Et?se:U((ze+ot)/et),ct=ze-Ct*Ne;Je=ct/2/(Xe?Ct:Ct-1),et=Ne+Je*2,ot=Xe?0:Je*2,!Et&&se!=="fixed"&&(Ct=Te?U((Math.abs(Te)+ot)/et):0),Ue=Ct*et-ot,ke.repeatTimes=Ct,ke.symbolMargin=Je}var yt=be*(Ue/2),Qt=ke.pathPosition=[];Qt[Oe.index]=re[Oe.wh]/2,Qt[Le.index]=Ce==="start"?yt:Ce==="end"?we-yt:we/2,me&&(Qt[0]+=me[0],Qt[1]+=me[1]);var Ze=ke.bundlePosition=[];Ze[Oe.index]=re[Oe.xy],Ze[Le.index]=re[Le.xy];var ut=ke.barRectShape=m.extend({},re);ut[Le.wh]=be*Math.max(Math.abs(re[Le.wh]),Math.abs(Qt[Le.index]+yt)),ut[Oe.wh]=re[Oe.wh];var St=ke.clipShape={};St[Oe.xy]=-re[Oe.xy],St[Oe.wh]=Ge.ecSize[Oe.wh],St[Le.xy]=0,St[Le.wh]=re[Le.wh]}function N(Y){var z=Y.symbolPatternSize,re=x(Y.symbolType,-z/2,-z/2,z,z,Y.color);return re.attr({culling:!0}),re.type!=="image"&&re.setStyle({strokeNoScale:!0}),re}function G(Y,z,re,se){var de=Y.__pictorialBundle,me=re.symbolSize,Ce=re.valueLineWidth,Ie=re.pathPosition,we=z.valueDim,Te=re.repeatTimes||0,Ge=0,ke=me[z.valueDim.index]+Ce+re.symbolMargin*2;for(ge(Y,function(ze){ze.__pictorialAnimationIndex=Ge,ze.__pictorialRepeatTimes=Te,Ge0:Xe<0)&&(et=Te-1-ze),Je[we.index]=ke*(et-Te/2+.5)+Ie[we.index],{position:Je,scale:re.symbolScale.slice(),rotation:re.rotation}}function Ne(){ge(Y,function(ze){ze.trigger("emphasis")})}function Ue(){ge(Y,function(ze){ze.trigger("normal")})}}function J(Y,z,re,se){var de=Y.__pictorialBundle,me=Y.__pictorialMainPath;me?fe(me,null,{position:re.pathPosition.slice(),scale:re.symbolScale.slice(),rotation:re.rotation},re,se):(me=Y.__pictorialMainPath=N(re),de.add(me),fe(me,{position:re.pathPosition.slice(),scale:[0,0],rotation:re.rotation},{scale:re.symbolScale.slice()},re,se),me.on("mouseover",Ce).on("mouseout",Ie)),H(me,re);function Ce(){this.trigger("emphasis")}function Ie(){this.trigger("normal")}}function K(Y,z,re){var se=m.extend({},z.barRectShape),de=Y.__pictorialBarRect;de?fe(de,null,{shape:se},z,re):(de=Y.__pictorialBarRect=new C.Rect({z2:2,shape:se,silent:!0,style:{stroke:"transparent",fill:"transparent",lineWidth:0}}),Y.add(de))}function X(Y,z,re,se){if(re.symbolClip){var de=Y.__pictorialClipPath,me=m.extend({},re.clipShape),Ce=z.valueDim,Ie=re.animationModel,we=re.dataIndex;if(de)C.updateProps(de,{shape:me},Ie,we);else{me[Ce.wh]=0,de=new C.Rect({shape:me}),Y.__pictorialBundle.setClipPath(de),Y.__pictorialClipPath=de;var Te={};Te[Ce.wh]=re.clipShape[Ce.wh],C[se?"updateProps":"initProps"](de,{shape:Te},Ie,we)}}}function q(Y,z){var re=Y.getItemModel(z);return re.getAnimationDelayParams=ee,re.isAnimationEnabled=ie,re}function ee(Y){return{index:Y.__pictorialAnimationIndex,count:Y.__pictorialRepeatTimes}}function ie(){return this.parentModel.isAnimationEnabled()&&!!this.getShallow("animation")}function H(Y,z){Y.off("emphasis").off("normal");var re=z.symbolScale.slice();z.hoverAnimation&&Y.on("emphasis",function(){this.animateTo({scale:[re[0]*1.1,re[1]*1.1]},400,"elasticOut")}).on("normal",function(){this.animateTo({scale:re.slice()},400,"elasticOut")})}function le(Y,z,re,se){var de=new C.Group,me=new C.Group;return de.add(me),de.__pictorialBundle=me,me.attr("position",re.bundlePosition.slice()),re.symbolRepeat?G(de,z,re):J(de,z,re),K(de,re,se),X(de,z,re,se),de.__pictorialShapeStr=he(Y,re),de.__pictorialSymbolMeta=re,de}function ue(Y,z,re){var se=re.animationModel,de=re.dataIndex,me=Y.__pictorialBundle;C.updateProps(me,{position:re.bundlePosition.slice()},se,de),re.symbolRepeat?G(Y,z,re,!0):J(Y,z,re,!0),K(Y,re,!0),X(Y,z,re,!0)}function Ae(Y,z,re,se){var de=se.__pictorialBarRect;de&&(de.style.text=null);var me=[];ge(se,function(Ce){me.push(Ce)}),se.__pictorialMainPath&&me.push(se.__pictorialMainPath),se.__pictorialClipPath&&(re=null),m.each(me,function(Ce){C.updateProps(Ce,{scale:[0,0]},re,z,function(){se.parent&&se.parent.remove(se)})}),Y.setItemGraphicEl(z,null)}function he(Y,z){return[Y.getItemVisual(z.dataIndex,"symbol")||"none",!!z.symbolRepeat,!!z.symbolClip].join(":")}function ge(Y,z,re){m.each(Y.__pictorialBundle.children(),function(se){se!==Y.__pictorialBarRect&&z.call(re,se)})}function fe(Y,z,re,se,de,me){z&&Y.attr(z),se.symbolClip&&!de?re&&Y.attr(re):re&&C[de?"updateProps":"initProps"](Y,re,se.animationModel,se.dataIndex,me)}function ae(Y,z,re){var se=re.color,de=re.dataIndex,me=re.itemModel,Ce=me.getModel("itemStyle").getItemStyle(["color"]),Ie=me.getModel("emphasis.itemStyle").getItemStyle(),we=me.getShallow("cursor");ge(Y,function(Oe){Oe.setColor(se),Oe.setStyle(m.defaults({fill:se,opacity:re.opacity},Ce)),C.setHoverStyle(Oe,Ie),we&&(Oe.cursor=we),Oe.z2=re.z2});var Te={},Ge=z.valueDim.posDesc[+(re.boundingLength>0)],ke=Y.__pictorialBarRect;Q(ke.style,Te,me,se,z.seriesModel,de,Ge),C.setHoverStyle(ke,Te)}function U(Y){var z=Math.round(Y);return Math.abs(Y-z)<1e-4?z:Math.ceil(Y)}var W=D;A.exports=W}),kCt=wt(()=>{var o=Dn(),A=Bi();g0e(),FCt(),NCt();var f=lte(),m=f.layout,C=e3();bz(),o.registerLayout(A.curry(m,"pictorialBar")),o.registerVisual(C("pictorialBar","roundRect"))}),OCt=wt((o,A)=>{var f=Bi(),m=qP(),C=function(x,y,I,v,B){m.call(this,x,y,I),this.type=v||"value",this.position=B||"bottom",this.orient=null};C.prototype={constructor:C,model:null,isHorizontal:function(){var x=this.position;return x==="top"||x==="bottom"},pointToData:function(x,y){return this.coordinateSystem.pointToData(x,y)[0]},toGlobalCoord:null,toLocalCoord:null},f.inherits(C,m);var E=C;A.exports=E}),UCt=wt((o,A)=>{var f=OCt(),m=Cw(),C=pc(),E=C.getLayoutRect,x=Bi(),y=x.each;function I(B,Q,T){this.dimension="single",this.dimensions=["single"],this._axis=null,this._rect,this._init(B,Q,T),this.model=B}I.prototype={type:"singleAxis",axisPointerEnabled:!0,constructor:I,_init:function(B,Q,T){var w=this.dimension,S=new f(w,m.createScaleByModel(B),[0,0],B.get("type"),B.get("position")),D=S.type==="category";S.onBand=D&&B.get("boundaryGap"),S.inverse=B.get("inverse"),S.orient=B.get("orient"),B.axis=S,S.model=B,S.coordinateSystem=this,this._axis=S},update:function(B,Q){B.eachSeries(function(T){if(T.coordinateSystem===this){var w=T.getData();y(w.mapDimension(this.dimension,!0),function(S){this._axis.scale.unionExtentFromData(w,S)},this),m.niceScaleExtent(this._axis.scale,this._axis.model)}},this)},resize:function(B,Q){this._rect=E({left:B.get("left"),top:B.get("top"),right:B.get("right"),bottom:B.get("bottom"),width:B.get("width"),height:B.get("height")},{width:Q.getWidth(),height:Q.getHeight()}),this._adjustAxis()},getRect:function(){return this._rect},_adjustAxis:function(){var B=this._rect,Q=this._axis,T=Q.isHorizontal(),w=T?[0,B.width]:[0,B.height],S=Q.reverse?1:0;Q.setExtent(w[S],w[1-S]),this._updateAxisTransform(Q,T?B.x:B.y)},_updateAxisTransform:function(B,Q){var T=B.getExtent(),w=T[0]+T[1],S=B.isHorizontal();B.toGlobalCoord=S?function(D){return D+Q}:function(D){return w-D+Q},B.toLocalCoord=S?function(D){return D-Q}:function(D){return w-D+Q}},getAxis:function(){return this._axis},getBaseAxis:function(){return this._axis},getAxes:function(){return[this._axis]},getTooltipAxes:function(){return{baseAxes:[this.getAxis()]}},containPoint:function(B){var Q=this.getRect(),T=this.getAxis(),w=T.orient;return w==="horizontal"?T.contain(T.toLocalCoord(B[0]))&&B[1]>=Q.y&&B[1]<=Q.y+Q.height:T.contain(T.toLocalCoord(B[1]))&&B[0]>=Q.y&&B[0]<=Q.y+Q.height},pointToData:function(B){var Q=this.getAxis();return[Q.coordToData(Q.toLocalCoord(B[Q.orient==="horizontal"?0:1]))]},dataToPoint:function(B){var Q=this.getAxis(),T=this.getRect(),w=[],S=Q.orient==="horizontal"?0:1;return B instanceof Array&&(B=B[0]),w[S]=Q.toGlobalCoord(Q.dataToCoord(+B)),w[1-S]=S===0?T.y+T.height/2:T.x+T.width/2,w}};var v=I;A.exports=v}),GCt=wt(()=>{var o=UCt(),A=mw();function f(m,C){var E=[];return m.eachComponent("singleAxis",function(x,y){var I=new o(x,m,C);I.name="single_"+y,I.resize(x,C),x.coordinateSystem=I,E.push(I)}),m.eachSeries(function(x){if(x.get("coordinateSystem")==="singleAxis"){var y=m.queryComponents({mainType:"singleAxis",index:x.get("singleAxisIndex"),id:x.get("singleAxisId")})[0];x.coordinateSystem=y&&y.coordinateSystem}}),E}A.register("single",{create:f,dimensions:o.prototype.dimensions})}),I6e=wt(o=>{var A=Bi();function f(m,C){C=C||{};var E=m.coordinateSystem,x=m.axis,y={},I=x.position,v=x.orient,B=E.getRect(),Q=[B.x,B.x+B.width,B.y,B.y+B.height],T={horizontal:{top:Q[2],bottom:Q[3]},vertical:{left:Q[0],right:Q[1]}};y.position=[v==="vertical"?T.vertical[I]:Q[0],v==="horizontal"?T.horizontal[I]:Q[3]];var w={horizontal:0,vertical:1};y.rotation=Math.PI/2*w[v];var S={top:-1,bottom:1,right:1,left:-1};y.labelDirection=y.tickDirection=y.nameDirection=S[I],m.get("axisTick.inside")&&(y.tickDirection=-y.tickDirection),A.retrieve(C.labelInside,m.get("axisLabel.inside"))&&(y.labelDirection=-y.labelDirection);var D=C.rotate;return D==null&&(D=m.get("axisLabel.rotate")),y.labelRotation=I==="top"?-D:D,y.z2=1,y}o.layout=f}),HCt=wt((o,A)=>{var f=Bi(),m=XP(),C=To(),E=I6e(),x=t3(),y=i6e(),I=y.rectCoordAxisBuildSplitArea,v=y.rectCoordAxisHandleRemove,B=["axisLine","axisTickLabel","axisName"],Q=["splitArea","splitLine"],T=x.extend({type:"singleAxis",axisPointerClass:"SingleAxisPointer",render:function(S,D,R,P){var M=this.group;M.removeAll();var L=this._axisGroup;this._axisGroup=new C.Group;var F=E.layout(S),k=new m(S,F);f.each(B,k.add,k),M.add(this._axisGroup),M.add(k.getGroup()),f.each(Q,function(N){S.get(N+".show")&&this["_"+N](S)},this),C.groupTransition(L,this._axisGroup,S),T.superCall(this,"render",S,D,R,P)},remove:function(){v(this)},_splitLine:function(S){var D=S.axis;if(!D.scale.isBlank()){var R=S.getModel("splitLine"),P=R.getModel("lineStyle"),M=P.get("width"),L=P.get("color");L=L instanceof Array?L:[L];for(var F=S.coordinateSystem.getRect(),k=D.isHorizontal(),N=[],G=0,J=D.getTicksCoords({tickModel:R}),K=[],X=[],q=0;q{var f=Bi(),m=C0(),C=Ate(),E=W4(),x=m.extend({type:"singleAxis",layoutMode:"box",axis:null,coordinateSystem:null,getCoordSysModel:function(){return this}}),y={left:"5%",top:"5%",right:"5%",bottom:"5%",type:"value",position:"bottom",orient:"horizontal",axisLine:{show:!0,lineStyle:{width:1,type:"solid"}},tooltip:{show:!0},axisTick:{show:!0,length:6,lineStyle:{width:1}},axisLabel:{show:!0,interval:"auto"},splitLine:{show:!0,lineStyle:{type:"dashed",opacity:.2}}};function I(B,Q){return Q.type||(Q.data?"category":"value")}f.merge(x.prototype,E),C("single",x,I,y);var v=x;A.exports=v}),_6e=wt((o,A)=>{var f=Bi(),m=Bl();function C(E,x){var y=[],I=E.seriesIndex,v;if(I==null||!(v=x.getSeriesByIndex(I)))return{point:[]};var B=v.getData(),Q=m.queryDataIndex(B,E);if(Q==null||Q<0||f.isArray(Q))return{point:[]};var T=B.getItemGraphicEl(Q),w=v.coordinateSystem;if(v.getTooltipPosition)y=v.getTooltipPosition(Q)||[];else if(w&&w.dataToPoint)y=w.dataToPoint(B.getValues(f.map(w.dimensions,function(D){return B.mapDimension(D)}),Q,!0))||[];else if(T){var S=T.getBoundingRect().clone();S.applyTransform(T.transform),y=[S.x+S.width/2,S.y+S.height/2]}return{point:y,el:T}}A.exports=C}),zCt=wt((o,A)=>{var f=Bi(),m=Bl(),C=m.makeInner,E=cte(),x=_6e(),y=f.each,I=f.curry,v=C();function B(k,N,G){var J=k.currTrigger,K=[k.x,k.y],X=k,q=k.dispatchAction||f.bind(G.dispatchAction,G),ee=N.getComponent("axisPointer").coordSysAxesInfo;if(ee){F(K)&&(K=x({seriesIndex:X.seriesIndex,dataIndex:X.dataIndex},N).point);var ie=F(K),H=X.axesInfo,le=ee.axesInfo,ue=J==="leave"||F(K),Ae={},he={},ge={list:[],map:{}},fe={showPointer:I(w,he),showTooltip:I(S,ge)};y(ee.coordSysMap,function(U,W){var Y=ie||U.containPoint(K);y(ee.coordSysAxesInfo[W],function(z,re){var se=z.axis,de=M(H,z);if(!ue&&Y&&(!H||de)){var me=de&&de.value;me==null&&!ie&&(me=se.pointToData(K)),me!=null&&Q(z,me,fe,!1,Ae)}})});var ae={};return y(le,function(U,W){var Y=U.linkGroup;Y&&!he[W]&&y(Y.axesInfo,function(z,re){var se=he[re];if(z!==U&&se){var de=se.value;Y.mapper&&(de=U.axis.scale.parse(Y.mapper(de,L(z),L(U)))),ae[U.key]=de}})}),y(ae,function(U,W){Q(le[W],U,fe,!0,Ae)}),D(he,le,Ae),R(ge,K,k,q),P(le,q,G),Ae}}function Q(k,N,G,J,K){var X=k.axis;if(!(X.scale.isBlank()||!X.containData(N))){if(!k.involveSeries){G.showPointer(k,N);return}var q=T(N,k),ee=q.payloadBatch,ie=q.snapToValue;ee[0]&&K.seriesIndex==null&&f.extend(K,ee[0]),!J&&k.snap&&X.containData(ie)&&ie!=null&&(N=ie),G.showPointer(k,N,ee,K),G.showTooltip(k,q,ie)}}function T(k,N){var G=N.axis,J=G.dim,K=k,X=[],q=Number.MAX_VALUE,ee=-1;return y(N.seriesModels,function(ie,H){var le=ie.getData().mapDimension(J,!0),ue,Ae;if(ie.getAxisTooltipData){var he=ie.getAxisTooltipData(le,k,G);Ae=he.dataIndices,ue=he.nestestValue}else{if(Ae=ie.getData().indicesOfNearest(le[0],k,G.type==="category"?.5:null),!Ae.length)return;ue=ie.getData().get(le[0],Ae[0])}if(!(ue==null||!isFinite(ue))){var ge=k-ue,fe=Math.abs(ge);fe<=q&&((fe=0&&ee<0)&&(q=fe,ee=ge,K=ue,X.length=0),y(Ae,function(ae){X.push({seriesIndex:ie.seriesIndex,dataIndexInside:ae,dataIndex:ie.getData().getRawIndex(ae)})}))}}),{payloadBatch:X,snapToValue:K}}function w(k,N,G,J){k[N.key]={value:G,payloadBatch:J}}function S(k,N,G,J){var K=G.payloadBatch,X=N.axis,q=X.model,ee=N.axisPointerModel;if(!(!N.triggerTooltip||!K.length)){var ie=N.coordSys.model,H=E.makeKey(ie),le=k.map[H];le||(le=k.map[H]={coordSysId:ie.id,coordSysIndex:ie.componentIndex,coordSysType:ie.type,coordSysMainType:ie.mainType,dataByAxis:[]},k.list.push(le)),le.dataByAxis.push({axisDim:X.dim,axisIndex:q.componentIndex,axisType:q.type,axisId:q.id,value:J,valueLabelOpt:{precision:ee.get("label.precision"),formatter:ee.get("label.formatter")},seriesDataIndices:K.slice()})}}function D(k,N,G){var J=G.axesInfo=[];y(N,function(K,X){var q=K.axisPointerModel.option,ee=k[X];ee?(!K.useHandle&&(q.status="show"),q.value=ee.value,q.seriesDataIndices=(ee.payloadBatch||[]).slice()):!K.useHandle&&(q.status="hide"),q.status==="show"&&J.push({axisDim:K.axis.dim,axisIndex:K.axis.model.componentIndex,value:q.value})})}function R(k,N,G,J){if(F(N)||!k.list.length){J({type:"hideTip"});return}var K=((k.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};J({type:"showTip",escapeConnect:!0,x:N[0],y:N[1],tooltipOption:G.tooltipOption,position:G.position,dataIndexInside:K.dataIndexInside,dataIndex:K.dataIndex,seriesIndex:K.seriesIndex,dataByCoordSys:k.list})}function P(k,N,G){var J=G.getZr(),K="axisPointerLastHighlights",X=v(J)[K]||{},q=v(J)[K]={};y(k,function(H,le){var ue=H.axisPointerModel.option;ue.status==="show"&&y(ue.seriesDataIndices,function(Ae){var he=Ae.seriesIndex+" | "+Ae.dataIndex;q[he]=Ae})});var ee=[],ie=[];f.each(X,function(H,le){!q[le]&&ie.push(H)}),f.each(q,function(H,le){!X[le]&&ee.push(H)}),ie.length&&G.dispatchAction({type:"downplay",escapeConnect:!0,batch:ie}),ee.length&&G.dispatchAction({type:"highlight",escapeConnect:!0,batch:ee})}function M(k,N){for(var G=0;G<(k||[]).length;G++){var J=k[G];if(N.axis.dim===J.axisDim&&N.axis.model.componentIndex===J.axisIndex)return J}}function L(k){var N=k.axis.model,G={},J=G.axisDim=k.axis.dim;return G.axisIndex=G[J+"AxisIndex"]=N.componentIndex,G.axisName=G[J+"AxisName"]=N.name,G.axisId=G[J+"AxisId"]=N.id,G}function F(k){return!k||k[0]==null||isNaN(k[0])||k[1]==null||isNaN(k[1])}A.exports=B}),YCt=wt((o,A)=>{var f=Dn(),m=f.extendComponentModel({type:"axisPointer",coordSysAxesInfo:null,defaultOption:{show:"auto",triggerOn:null,zlevel:0,z:50,type:"line",snap:!1,triggerTooltip:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:"#aaa",width:1,type:"solid"},shadowStyle:{color:"rgba(150,150,150,0.3)"},label:{show:!0,formatter:null,precision:"auto",margin:3,color:"#fff",padding:[5,7,5,7],backgroundColor:"auto",borderColor:null,borderWidth:0,shadowBlur:3,shadowColor:"#aaa"},handle:{show:!1,icon:"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",size:45,margin:50,color:"#333",shadowBlur:3,shadowColor:"#aaa",shadowOffsetX:0,shadowOffsetY:2,throttle:40}}}),C=m;A.exports=C}),v6e=wt(o=>{var A=Bi(),f=jf(),m=Bl(),C=m.makeInner,E=C(),x=A.each;function y(S,D,R){if(!f.node){var P=D.getZr();E(P).records||(E(P).records={}),I(P,D);var M=E(P).records[S]||(E(P).records[S]={});M.handler=R}}function I(S,D){if(E(S).initialized)return;E(S).initialized=!0,R("click",A.curry(Q,"click")),R("mousemove",A.curry(Q,"mousemove")),R("globalout",B);function R(P,M){S.on(P,function(L){var F=T(D);x(E(S).records,function(k){k&&M(k,L,F.dispatchAction)}),v(F.pendings,D)})}}function v(S,D){var R=S.showTip.length,P=S.hideTip.length,M;R?M=S.showTip[R-1]:P&&(M=S.hideTip[P-1]),M&&(M.dispatchAction=null,D.dispatchAction(M))}function B(S,D,R){S.handler("leave",null,R)}function Q(S,D,R,P){D.handler(S,R,P)}function T(S){var D={showTip:[],hideTip:[]},R=function(P){var M=D[P.type];M?M.push(P):(P.dispatchAction=R,S.dispatchAction(P))};return{dispatchAction:R,pendings:D}}function w(S,D){if(!f.node){var R=D.getZr(),P=(E(R).records||{})[S];P&&(E(R).records[S]=null)}}o.register=y,o.unregister=w}),JCt=wt((o,A)=>{var f=Dn(),m=v6e(),C=f.extendComponentView({type:"axisPointer",render:function(x,y,I){var v=y.getComponent("tooltip"),B=x.get("triggerOn")||v&&v.get("triggerOn")||"mousemove|click";m.register("axisPointer",I,function(Q,T,w){B!=="none"&&(Q==="leave"||B.indexOf(Q)>=0)&&w({type:"updateAxisPointer",currTrigger:Q,x:T&&T.offsetX,y:T&&T.offsetY})})},remove:function(x,y){m.unregister(y.getZr(),"axisPointer"),C.superApply(this._model,"remove",arguments)},dispose:function(x,y){m.unregister("axisPointer",y),C.superApply(this._model,"dispose",arguments)}}),E=C;A.exports=E}),w0e=wt((o,A)=>{var f=Bi(),m=YD(),C=To(),E=cte(),x=zb(),y=WP(),I=Bl(),v=I.makeInner,B=v(),Q=f.clone,T=f.bind;function w(){}w.prototype={_group:null,_lastGraphicKey:null,_handle:null,_dragging:!1,_lastValue:null,_lastStatus:null,_payloadInfo:null,animationThreshold:15,render:function(F,k,N,G){var J=k.get("value"),K=k.get("status");if(this._axisModel=F,this._axisPointerModel=k,this._api=N,!(!G&&this._lastValue===J&&this._lastStatus===K)){this._lastValue=J,this._lastStatus=K;var X=this._group,q=this._handle;if(!K||K==="hide"){X&&X.hide(),q&&q.hide();return}X&&X.show(),q&&q.show();var ee={};this.makeElOption(ee,J,F,k,N);var ie=ee.graphicKey;ie!==this._lastGraphicKey&&this.clear(N),this._lastGraphicKey=ie;var H=this._moveAnimation=this.determineAnimation(F,k);if(!X)X=this._group=new C.Group,this.createPointerEl(X,ee,F,k),this.createLabelEl(X,ee,F,k),N.getZr().add(X);else{var le=f.curry(S,k,H);this.updatePointerEl(X,ee,le,k),this.updateLabelEl(X,ee,le,k)}M(X,k,!0),this._renderHandle(J)}},remove:function(F){this.clear(F)},dispose:function(F){this.clear(F)},determineAnimation:function(F,k){var N=k.get("animation"),G=F.axis,J=G.type==="category",K=k.get("snap");if(!K&&!J)return!1;if(N==="auto"||N==null){var X=this.animationThreshold;if(J&&G.getBandWidth()>X)return!0;if(K){var q=E.getAxisInfo(F).seriesDataCount,ee=G.getExtent();return Math.abs(ee[0]-ee[1])/q>X}return!1}return N===!0},makeElOption:function(F,k,N,G,J){},createPointerEl:function(F,k,N,G){var J=k.pointer;if(J){var K=B(F).pointerEl=new C[J.type](Q(k.pointer));F.add(K)}},createLabelEl:function(F,k,N,G){if(k.label){var J=B(F).labelEl=new C.Rect(Q(k.label));F.add(J),R(J,G)}},updatePointerEl:function(F,k,N){var G=B(F).pointerEl;G&&k.pointer&&(G.setStyle(k.pointer.style),N(G,{shape:k.pointer.shape}))},updateLabelEl:function(F,k,N,G){var J=B(F).labelEl;J&&(J.setStyle(k.label.style),N(J,{shape:k.label.shape,position:k.label.position}),R(J,G))},_renderHandle:function(F){if(!(this._dragging||!this.updateHandleTransform)){var k=this._axisPointerModel,N=this._api.getZr(),G=this._handle,J=k.getModel("handle"),K=k.get("status");if(!J.get("show")||!K||K==="hide"){G&&N.remove(G),this._handle=null;return}var X;this._handle||(X=!0,G=this._handle=C.createIcon(J.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(ie){x.stop(ie.event)},onmousedown:T(this._onHandleDragMove,this,0,0),drift:T(this._onHandleDragMove,this),ondragend:T(this._onHandleDragEnd,this)}),N.add(G)),M(G,k,!1);var q=["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"];G.setStyle(J.getItemStyle(null,q));var ee=J.get("size");f.isArray(ee)||(ee=[ee,ee]),G.attr("scale",[ee[0]/2,ee[1]/2]),y.createOrUpdate(this,"_doDispatchAxisPointer",J.get("throttle")||0,"fixRate"),this._moveHandleToValue(F,X)}},_moveHandleToValue:function(F,k){S(this._axisPointerModel,!k&&this._moveAnimation,this._handle,P(this.getHandleTransform(F,this._axisModel,this._axisPointerModel)))},_onHandleDragMove:function(F,k){var N=this._handle;if(N){this._dragging=!0;var G=this.updateHandleTransform(P(N),[F,k],this._axisModel,this._axisPointerModel);this._payloadInfo=G,N.stopAnimation(),N.attr(P(G)),B(N).lastProp=null,this._doDispatchAxisPointer()}},_doDispatchAxisPointer:function(){var F=this._handle;if(F){var k=this._payloadInfo,N=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:k.cursorPoint[0],y:k.cursorPoint[1],tooltipOption:k.tooltipOption,axesInfo:[{axisDim:N.axis.dim,axisIndex:N.componentIndex}]})}},_onHandleDragEnd:function(F){this._dragging=!1;var k=this._handle;if(k){var N=this._axisPointerModel.get("value");this._moveHandleToValue(N),this._api.dispatchAction({type:"hideTip"})}},getHandleTransform:null,updateHandleTransform:null,clear:function(F){this._lastValue=null,this._lastStatus=null;var k=F.getZr(),N=this._group,G=this._handle;k&&N&&(this._lastGraphicKey=null,N&&k.remove(N),G&&k.remove(G),this._group=null,this._handle=null,this._payloadInfo=null)},doClear:function(){},buildLabel:function(F,k,N){return N=N||0,{x:F[N],y:F[1-N],width:k[N],height:k[1-N]}}},w.prototype.constructor=w;function S(F,k,N,G){D(B(N).lastProp,G)||(B(N).lastProp=G,k?C.updateProps(N,G,F):(N.stopAnimation(),N.attr(G)))}function D(F,k){if(f.isObject(F)&&f.isObject(k)){var N=!0;return f.each(k,function(G,J){N=N&&D(F[J],G)}),!!N}else return F===k}function R(F,k){F[k.get("label.show")?"show":"hide"]()}function P(F){return{position:F.position.slice(),rotation:F.rotation||0}}function M(F,k,N){var G=k.get("z"),J=k.get("zlevel");F&&F.traverse(function(K){K.type!=="group"&&(G!=null&&(K.z=G),J!=null&&(K.zlevel=J),K.silent=N)})}m.enableClassExtend(w);var L=w;A.exports=L}),gte=wt(o=>{var A=Bi(),f=To(),m=yI(),C=Tc(),E=xE(),x=Cw(),y=XP();function I(P){var M=P.get("type"),L=P.getModel(M+"Style"),F;return M==="line"?(F=L.getLineStyle(),F.fill=null):M==="shadow"&&(F=L.getAreaStyle(),F.stroke=null),F}function v(P,M,L,F,k){var N=L.get("value"),G=Q(N,M.axis,M.ecModel,L.get("seriesDataIndices"),{precision:L.get("label.precision"),formatter:L.get("label.formatter")}),J=L.getModel("label"),K=C.normalizeCssArray(J.get("padding")||0),X=J.getFont(),q=m.getBoundingRect(G,X),ee=k.position,ie=q.width+K[1]+K[3],H=q.height+K[0]+K[2],le=k.align;le==="right"&&(ee[0]-=ie),le==="center"&&(ee[0]-=ie/2);var ue=k.verticalAlign;ue==="bottom"&&(ee[1]-=H),ue==="middle"&&(ee[1]-=H/2),B(ee,ie,H,F);var Ae=J.get("backgroundColor");(!Ae||Ae==="auto")&&(Ae=M.get("axisLine.lineStyle.color")),P.label={shape:{x:0,y:0,width:ie,height:H,r:J.get("borderRadius")},position:ee.slice(),style:{text:G,textFont:X,textFill:J.getTextColor(),textPosition:"inside",textPadding:K,fill:Ae,stroke:J.get("borderColor")||"transparent",lineWidth:J.get("borderWidth")||0,shadowBlur:J.get("shadowBlur"),shadowColor:J.get("shadowColor"),shadowOffsetX:J.get("shadowOffsetX"),shadowOffsetY:J.get("shadowOffsetY")},z2:10}}function B(P,M,L,F){var k=F.getWidth(),N=F.getHeight();P[0]=Math.min(P[0]+M,k)-M,P[1]=Math.min(P[1]+L,N)-L,P[0]=Math.max(P[0],0),P[1]=Math.max(P[1],0)}function Q(P,M,L,F,k){P=M.scale.parse(P);var N=M.scale.getLabel(P,{precision:k.precision}),G=k.formatter;if(G){var J={value:x.getAxisRawValue(M,P),axisDimension:M.dim,axisIndex:M.index,seriesData:[]};A.each(F,function(K){var X=L.getSeriesByIndex(K.seriesIndex),q=K.dataIndexInside,ee=X&&X.getDataParams(q);ee&&J.seriesData.push(ee)}),A.isString(G)?N=G.replace("{value}",N):A.isFunction(G)&&(N=G(J))}return N}function T(P,M,L){var F=E.create();return E.rotate(F,F,L.rotation),E.translate(F,F,L.position),f.applyTransform([P.dataToCoord(M),(L.labelOffset||0)+(L.labelDirection||1)*(L.labelMargin||0)],F)}function w(P,M,L,F,k,N){var G=y.innerTextLayout(L.rotation,0,L.labelDirection);L.labelMargin=k.get("label.margin"),v(M,F,k,N,{position:T(F.axis,P,L),align:G.textAlign,verticalAlign:G.textVerticalAlign})}function S(P,M,L){return L=L||0,{x1:P[L],y1:P[1-L],x2:M[L],y2:M[1-L]}}function D(P,M,L){return L=L||0,{x:P[L],y:P[1-L],width:M[L],height:M[1-L]}}function R(P,M,L,F,k,N){return{cx:P,cy:M,r0:L,r:F,startAngle:k,endAngle:N,clockwise:!0}}o.buildElStyle=I,o.buildLabelElOption=v,o.getValueLabel=Q,o.getTransformedPosition=T,o.buildCartesianSingleLabelElOption=w,o.makeLineShape=S,o.makeRectShape=D,o.makeSectorShape=R}),B6e=wt((o,A)=>{var f=w0e(),m=gte(),C=t6e(),E=t3(),x=f.extend({makeElOption:function(Q,T,w,S,D){var R=w.axis,P=R.grid,M=S.get("type"),L=y(P,R).getOtherAxis(R).getGlobalExtent(),F=R.toGlobalCoord(R.dataToCoord(T,!0));if(M&&M!=="none"){var k=m.buildElStyle(S),N=I[M](R,F,L);N.style=k,Q.graphicKey=N.type,Q.pointer=N}var G=C.layout(P.model,w);m.buildCartesianSingleLabelElOption(T,Q,G,w,S,D)},getHandleTransform:function(Q,T,w){var S=C.layout(T.axis.grid.model,T,{labelInside:!1});return S.labelMargin=w.get("handle.margin"),{position:m.getTransformedPosition(T.axis,Q,S),rotation:S.rotation+(S.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(Q,T,w,S){var D=w.axis,R=D.grid,P=D.getGlobalExtent(!0),M=y(R,D).getOtherAxis(D).getGlobalExtent(),L=D.dim==="x"?0:1,F=Q.position;F[L]+=T[L],F[L]=Math.min(P[1],F[L]),F[L]=Math.max(P[0],F[L]);var k=(M[1]+M[0])/2,N=[k,k];N[L]=F[L];var G=[{verticalAlign:"middle"},{align:"center"}];return{position:F,rotation:Q.rotation,cursorPoint:N,tooltipOption:G[L]}}});function y(Q,T){var w={};return w[T.dim+"AxisIndex"]=T.index,Q.getCartesian(w)}var I={line:function(Q,T,w){var S=m.makeLineShape([T,w[0]],[T,w[1]],v(Q));return{type:"Line",subPixelOptimize:!0,shape:S}},shadow:function(Q,T,w){var S=Math.max(1,Q.getBandWidth()),D=w[1]-w[0];return{type:"Rect",shape:m.makeRectShape([T-S/2,w[0]],[S,D],v(Q))}}};function v(Q){return Q.dim==="x"?0:1}E.registerAxisPointerClass("CartesianAxisPointer",x);var B=x;A.exports=B}),Tz=wt(()=>{var o=Dn(),A=Bi(),f=cte(),m=zCt();YCt(),JCt(),B6e(),o.registerPreprocessor(function(C){if(C){(!C.axisPointer||C.axisPointer.length===0)&&(C.axisPointer={});var E=C.axisPointer.link;E&&!A.isArray(E)&&(C.axisPointer.link=[E])}}),o.registerProcessor(o.PRIORITY.PROCESSOR.STATISTIC,function(C,E){C.getComponent("axisPointer").coordSysAxesInfo=f.collect(C,E)}),o.registerAction({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},m)}),KCt=wt((o,A)=>{var f=w0e(),m=gte(),C=I6e(),E=t3(),x=["x","y"],y=["width","height"],I=f.extend({makeElOption:function(w,S,D,R,P){var M=D.axis,L=M.coordinateSystem,F=Q(L,1-B(M)),k=L.dataToPoint(S)[0],N=R.get("type");if(N&&N!=="none"){var G=m.buildElStyle(R),J=v[N](M,k,F);J.style=G,w.graphicKey=J.type,w.pointer=J}var K=C.layout(D);m.buildCartesianSingleLabelElOption(S,w,K,D,R,P)},getHandleTransform:function(w,S,D){var R=C.layout(S,{labelInside:!1});return R.labelMargin=D.get("handle.margin"),{position:m.getTransformedPosition(S.axis,w,R),rotation:R.rotation+(R.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(w,S,D,R){var P=D.axis,M=P.coordinateSystem,L=B(P),F=Q(M,L),k=w.position;k[L]+=S[L],k[L]=Math.min(F[1],k[L]),k[L]=Math.max(F[0],k[L]);var N=Q(M,1-L),G=(N[1]+N[0])/2,J=[G,G];return J[L]=k[L],{position:k,rotation:w.rotation,cursorPoint:J,tooltipOption:{verticalAlign:"middle"}}}}),v={line:function(w,S,D){var R=m.makeLineShape([S,D[0]],[S,D[1]],B(w));return{type:"Line",subPixelOptimize:!0,shape:R}},shadow:function(w,S,D){var R=w.getBandWidth(),P=D[1]-D[0];return{type:"Rect",shape:m.makeRectShape([S-R/2,D[0]],[R,P],B(w))}}};function B(w){return w.isHorizontal()?0:1}function Q(w,S){var D=w.getRect();return[D[x[S]],D[x[S]]+D[y[S]]]}E.registerAxisPointerClass("SingleAxisPointer",I);var T=I;A.exports=T}),w6e=wt(()=>{var o=Dn();GCt(),HCt(),VCt(),Tz(),KCt(),o.extendComponentView({type:"single"})}),WCt=wt((o,A)=>{var f=E0(),m=K4(),C=_z(),E=C.getDimensionTypeByAxis,x=sv(),y=Bi(),I=Bl(),v=I.groupData,B=Tc(),Q=B.encodeHTML,T=Qz(),w=2,S=f.extend({type:"series.themeRiver",dependencies:["singleAxis"],nameMap:null,init:function(R){S.superApply(this,"init",arguments),this.legendVisualProvider=new T(y.bind(this.getData,this),y.bind(this.getRawData,this))},fixData:function(R){var P=R.length,M=v(R,function(Ae){return Ae[2]}),L=[];M.buckets.each(function(Ae,he){L.push({name:he,dataList:Ae})});for(var F=L.length,k=-1,N=-1,G=0;Gk&&(k=J,N=G)}for(var K=0;K{var f=Dn(),m=ZHe(),C=m.Polygon,E=To(),x=Bi(),y=x.bind,I=x.extend,v=$N(),B=f.extendChartView({type:"themeRiver",init:function(){this._layers=[]},render:function(T,w,S){var D=T.getData(),R=this.group,P=T.getLayerSeries(),M=D.getLayout("layoutInfo"),L=M.rect,F=M.boundaryGap;R.attr("position",[0,L.y+F[0]]);function k(K){return K.name}var N=new v(this._layersSeries||[],P,k,k),G={};N.add(y(J,this,"add")).update(y(J,this,"update")).remove(y(J,this,"remove")).execute();function J(K,X,q){var ee=this._layers;if(K==="remove"){R.remove(ee[X]);return}for(var ie=[],H=[],le,ue=P[X].indices,Ae=0;Ae{var f=Bi(),m=ds();function C(y,I){y.eachSeriesByType("themeRiver",function(v){var B=v.getData(),Q=v.coordinateSystem,T={},w=Q.getRect();T.rect=w;var S=v.get("boundaryGap"),D=Q.getAxis();if(T.boundaryGap=S,D.orient==="horizontal"){S[0]=m.parsePercent(S[0],w.height),S[1]=m.parsePercent(S[1],w.height);var R=w.height-S[0]-S[1];E(B,v,R)}else{S[0]=m.parsePercent(S[0],w.width),S[1]=m.parsePercent(S[1],w.width);var P=w.width-S[0]-S[1];E(B,v,P)}B.setLayout("layoutInfo",T)})}function E(y,I,v){if(y.count())for(var B=I.coordinateSystem,Q=I.getLayerSeries(),T=y.mapDimension("single"),w=y.mapDimension("value"),S=f.map(Q,function(G){return f.map(G.indices,function(J){var K=B.dataToPoint(y.get(T,J));return K[1]=y.get(w,J),K})}),D=x(S),R=D.y0,P=v/D.max,M=Q.length,L=Q[0].indices.length,F,k=0;kT&&(T=w),B.push(w)}for(var P=0;PT&&(T=L)}return S.y0=Q,S.max=T,S}A.exports=C}),XCt=wt((o,A)=>{var f=Bi(),m=f.createHashMap;function C(E){E.eachSeriesByType("themeRiver",function(x){var y=x.getData(),I=x.getRawData(),v=x.get("color"),B=m();y.each(function(Q){B.set(y.getRawIndex(Q),Q)}),I.each(function(Q){var T=I.getName(Q),w=v[(x.nameMap.get(T)-1)%v.length];I.setItemVisual(Q,"color",w);var S=B.get(Q);S!=null&&y.setItemVisual(S,"color",w)})})}A.exports=C}),ZCt=wt(()=>{var o=Dn();w6e(),WCt(),jCt();var A=qCt(),f=XCt(),m=Sz();o.registerLayout(A),o.registerVisual(f),o.registerProcessor(m("themeRiver"))}),$Ct=wt((o,A)=>{var f=Bi(),m=E0(),C=y0e(),E=i3(),x=E.wrapTreePathInfo,y=m.extend({type:"series.sunburst",_viewRoot:null,getInitialData:function(v,B){var Q={name:v.name,children:v.data};I(Q);var T=v.levels||[],w={};return w.levels=T,C.createTree(Q,this,w).data},optionUpdated:function(){this.resetViewRoot()},getDataParams:function(v){var B=m.prototype.getDataParams.apply(this,arguments),Q=this.getData().tree.getNodeByDataIndex(v);return B.treePathInfo=x(Q,this),B},defaultOption:{zlevel:0,z:2,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,percentPrecision:2,stillShowZeroSum:!0,highlightPolicy:"descendant",nodeClick:"rootToNode",renderLabelForZeroData:!1,label:{rotate:"radial",show:!0,opacity:1,align:"center",position:"inside",distance:5,silent:!0},itemStyle:{borderWidth:1,borderColor:"white",borderType:"solid",shadowBlur:0,shadowColor:"rgba(0, 0, 0, 0.2)",shadowOffsetX:0,shadowOffsetY:0,opacity:1},highlight:{itemStyle:{opacity:1}},downplay:{itemStyle:{opacity:.5},label:{opacity:.6}},animationType:"expansion",animationDuration:1e3,animationDurationUpdate:500,animationEasing:"cubicOut",data:[],levels:[],sort:"desc"},getViewRoot:function(){return this._viewRoot},resetViewRoot:function(v){v?this._viewRoot=v:v=this._viewRoot;var B=this.getRawData().tree.root;(!v||v!==B&&!B.contains(v))&&(this._viewRoot=B)}});function I(v){var B=0;f.each(v.children,function(T){I(T);var w=T.value;f.isArray(w)&&(w=w[0]),B+=w});var Q=v.value;f.isArray(Q)&&(Q=Q[0]),(Q==null||isNaN(Q))&&(Q=B),Q<0&&(Q=0),f.isArray(v.value)?v.value[0]=Q:v.value=Q}A.exports=y}),eEt=wt((o,A)=>{var f=Bi(),m=To(),C={NONE:"none",DESCENDANT:"descendant",ANCESTOR:"ancestor",SELF:"self"},E=2,x=4;function y(S,D,R){m.Group.call(this);var P=new m.Sector({z2:E});P.seriesIndex=D.seriesIndex;var M=new m.Text({z2:x,silent:S.getModel("label").get("silent")});this.add(P),this.add(M),this.updateData(!0,S,"normal",D,R);function L(){M.ignore=M.hoverIgnore}function F(){M.ignore=M.normalIgnore}this.on("emphasis",L).on("normal",F).on("mouseover",L).on("mouseout",F)}var I=y.prototype;I.updateData=function(S,D,R,P,M){this.node=D,D.piece=this,P=P||this._seriesModel,M=M||this._ecModel;var L=this.childAt(0);L.dataIndex=D.dataIndex;var F=D.getModel(),k=D.getLayout(),N=f.extend({},k);N.label=null;var G=B(D,P,M);w(D,P,G);var J=F.getModel("itemStyle").getItemStyle(),K;if(R==="normal")K=J;else{var X=F.getModel(R+".itemStyle").getItemStyle();K=f.merge(X,J)}K=f.defaults({lineJoin:"bevel",fill:K.fill||G},K),S?(L.setShape(N),L.shape.r=k.r0,m.updateProps(L,{shape:{r:k.r}},P,D.dataIndex),L.useStyle(K)):typeof K.fill=="object"&&K.fill.type||typeof L.style.fill=="object"&&L.style.fill.type?(m.updateProps(L,{shape:N},P),L.useStyle(K)):m.updateProps(L,{shape:N,style:K},P),this._updateLabel(P,G,R);var q=F.getShallow("cursor");if(q&&L.attr("cursor",q),S){var ee=P.getShallow("highlightPolicy");this._initEvents(L,D,P,ee)}this._seriesModel=P||this._seriesModel,this._ecModel=M||this._ecModel,m.setHoverStyle(this)},I.onEmphasis=function(S){var D=this;this.node.hostTree.root.eachNode(function(R){R.piece&&(D.node===R?R.piece.updateData(!1,R,"emphasis"):T(R,D.node,S)?R.piece.childAt(0).trigger("highlight"):S!==C.NONE&&R.piece.childAt(0).trigger("downplay"))})},I.onNormal=function(){this.node.hostTree.root.eachNode(function(S){S.piece&&S.piece.updateData(!1,S,"normal")})},I.onHighlight=function(){this.updateData(!1,this.node,"highlight")},I.onDownplay=function(){this.updateData(!1,this.node,"downplay")},I._updateLabel=function(S,D,R){var P=this.node.getModel(),M=P.getModel("label"),L=R==="normal"||R==="emphasis"?M:P.getModel(R+".label"),F=P.getModel("emphasis.label"),k=f.retrieve(S.getFormattedLabel(this.node.dataIndex,R,null,null,"label"),this.node.name);ae("show")===!1&&(k="");var N=this.node.getLayout(),G=L.get("minAngle");G==null&&(G=M.get("minAngle")),G=G/180*Math.PI;var J=N.endAngle-N.startAngle;G!=null&&Math.abs(J)Math.PI/2?"right":"left"):!ue||ue==="center"?(ie=(N.r+N.r0)/2,ue="center"):ue==="left"?(ie=N.r0+le,X>Math.PI/2&&(ue="right")):ue==="right"&&(ie=N.r-le,X>Math.PI/2&&(ue="left")),K.attr("style",{text:k,textAlign:ue,textVerticalAlign:ae("verticalAlign")||"middle",opacity:ae("opacity")});var Ae=ie*q+N.cx,he=ie*ee+N.cy;K.attr("position",[Ae,he]);var ge=ae("rotate"),fe=0;ge==="radial"?(fe=-X,fe<-Math.PI/2&&(fe+=Math.PI)):ge==="tangential"?(fe=Math.PI/2-X,fe>Math.PI/2?fe-=Math.PI:fe<-Math.PI/2&&(fe+=Math.PI)):typeof ge=="number"&&(fe=ge*Math.PI/180),K.attr("rotation",fe);function ae(U){var W=L.get(U);return W??M.get(U)}},I._initEvents=function(S,D,R,P){S.off("mouseover").off("mouseout").off("emphasis").off("normal");var M=this,L=function(){M.onEmphasis(P)},F=function(){M.onNormal()},k=function(){M.onDownplay()},N=function(){M.onHighlight()};R.isAnimationEnabled()&&S.on("mouseover",L).on("mouseout",F).on("emphasis",L).on("normal",F).on("downplay",k).on("highlight",N)},f.inherits(y,m.Group);var v=y;function B(S,D,R){var P=S.getVisual("color"),M=S.getVisual("visualMeta");(!M||M.length===0)&&(P=null);var L=S.getModel("itemStyle").get("color");if(L)return L;if(P)return P;if(S.depth===0)return R.option.color[0];var F=R.option.color.length;return L=R.option.color[Q(S)%F],L}function Q(S){for(var D=S;D.depth>1;)D=D.parentNode;var R=S.getAncestors()[0];return f.indexOf(R.children,D)}function T(S,D,R){return R===C.NONE?!1:R===C.SELF?S===D:R===C.ANCESTOR?S===D||S.isAncestorOf(D):S===D||S.isDescendantOf(D)}function w(S,D,R){var P=D.getData();P.setItemVisual(S.dataIndex,"color",R)}A.exports=v}),tEt=wt((o,A)=>{var f=Bi(),m=Jb(),C=eEt(),E=$N(),x=Tc(),y=x.windowOpen,I="sunburstRootToNode",v=m.extend({type:"sunburst",init:function(){},render:function(Q,T,w,S){var D=this;this.seriesModel=Q,this.api=w,this.ecModel=T;var R=Q.getData(),P=R.tree.root,M=Q.getViewRoot(),L=this.group,F=Q.get("renderLabelForZeroData"),k=[];M.eachNode(function(ie){k.push(ie)});var N=this._oldChildren||[];if(K(k,N),ee(P,M),S&&S.highlight&&S.highlight.piece){var G=Q.getShallow("highlightPolicy");S.highlight.piece.onEmphasis(G)}else if(S&&S.unhighlight){var J=this.virtualPiece;!J&&P.children.length&&(J=P.children[0].piece),J&&J.onNormal()}this._initEvents(),this._oldChildren=k;function K(ie,H){if(ie.length===0&&H.length===0)return;new E(H,ie,le,le).add(ue).update(ue).remove(f.curry(ue,null)).execute();function le(Ae){return Ae.getId()}function ue(Ae,he){var ge=Ae==null?null:ie[Ae],fe=he==null?null:H[he];X(ge,fe)}}function X(ie,H){if(!F&&ie&&!ie.getValue()&&(ie=null),ie!==P&&H!==P){if(H&&H.piece)ie?(H.piece.updateData(!1,ie,"normal",Q,T),R.setItemGraphicEl(ie.dataIndex,H.piece)):q(H);else if(ie){var le=new C(ie,Q,T);L.add(le),R.setItemGraphicEl(ie.dataIndex,le)}}}function q(ie){ie&&ie.piece&&(L.remove(ie.piece),ie.piece=null)}function ee(ie,H){if(H.depth>0){D.virtualPiece?D.virtualPiece.updateData(!1,ie,"normal",Q,T):(D.virtualPiece=new C(ie,Q,T),L.add(D.virtualPiece)),H.piece._onclickEvent&&H.piece.off("click",H.piece._onclickEvent);var le=function(ue){D._rootToNode(H.parentNode)};H.piece._onclickEvent=le,D.virtualPiece.on("click",le)}else D.virtualPiece&&(L.remove(D.virtualPiece),D.virtualPiece=null)}},dispose:function(){},_initEvents:function(){var Q=this,T=function(w){var S=!1,D=Q.seriesModel.getViewRoot();D.eachNode(function(R){if(!S&&R.piece&&R.piece.childAt(0)===w.target){var P=R.getModel().get("nodeClick");if(P==="rootToNode")Q._rootToNode(R);else if(P==="link"){var M=R.getModel(),L=M.get("link");if(L){var F=M.get("target",!0)||"_blank";y(L,F)}}S=!0}})};this.group._onclickEvent&&this.group.off("click",this.group._onclickEvent),this.group.on("click",T),this.group._onclickEvent=T},_rootToNode:function(Q){Q!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:I,from:this.uid,seriesId:this.seriesModel.id,targetNode:Q})},containPoint:function(Q,T){var w=T.getData(),S=w.getItemLayout(0);if(S){var D=Q[0]-S.cx,R=Q[1]-S.cy,P=Math.sqrt(D*D+R*R);return P<=S.r&&P>=S.r0}}}),B=v;A.exports=B}),iEt=wt(()=>{var o=Dn(),A=i3(),f="sunburstRootToNode";o.registerAction({type:f,update:"updateView"},function(E,x){x.eachComponent({mainType:"series",subType:"sunburst",query:E},y);function y(I,v){var B=A.retrieveTargetInfo(E,[f],I);if(B){var Q=I.getViewRoot();Q&&(E.direction=A.aboveViewRoot(Q,B.node)?"rollUp":"drillDown"),I.resetViewRoot(B.node)}}});var m="sunburstHighlight";o.registerAction({type:m,update:"updateView"},function(E,x){x.eachComponent({mainType:"series",subType:"sunburst",query:E},y);function y(I,v){var B=A.retrieveTargetInfo(E,[m],I);B&&(E.highlight=B.node)}});var C="sunburstUnhighlight";o.registerAction({type:C,update:"updateView"},function(E,x){x.eachComponent({mainType:"series",subType:"sunburst",query:E},y);function y(I,v){E.unhighlight=!0}})}),rEt=wt((o,A)=>{var f=ds(),m=f.parsePercent,C=Bi(),E=Math.PI/180;function x(v,B,Q,T){B.eachSeriesByType(v,function(w){var S=w.get("center"),D=w.get("radius");C.isArray(D)||(D=[0,D]),C.isArray(S)||(S=[S,S]);var R=Q.getWidth(),P=Q.getHeight(),M=Math.min(R,P),L=m(S[0],R),F=m(S[1],P),k=m(D[0],M/2),N=m(D[1],M/2),G=-w.get("startAngle")*E,J=w.get("minAngle")*E,K=w.getData().tree.root,X=w.getViewRoot(),q=X.depth,ee=w.get("sort");ee!=null&&y(X,ee);var ie=0;C.each(X.children,function(re){!isNaN(re.getValue())&&ie++});var H=X.getValue(),le=Math.PI/(H||ie)*2,ue=X.depth>0,Ae=X.height-(ue?-1:1),he=(N-k)/(Ae||1),ge=w.get("clockwise"),fe=w.get("stillShowZeroSum"),ae=ge?1:-1,U=function(re,se){if(re){var de=se;if(re!==K){var me=re.getValue(),Ce=H===0&&fe?le:me*le;Ce{var o=Dn(),A=Bi();$Ct(),tEt(),iEt();var f=hte(),m=rEt(),C=Sz();o.registerVisual(A.curry(f,"sunburst")),o.registerLayout(A.curry(m,"sunburst")),o.registerProcessor(A.curry(C,"sunburst"))}),oEt=wt((o,A)=>{var f=Bi();function m(E,x){return x=x||[0,0],f.map(["x","y"],function(y,I){var v=this.getAxis(y),B=x[I],Q=E[I]/2;return v.type==="category"?v.getBandWidth():Math.abs(v.dataToCoord(B-Q)-v.dataToCoord(B+Q))},this)}function C(E){var x=E.grid.getRect();return{coordSys:{type:"cartesian2d",x:x.x,y:x.y,width:x.width,height:x.height},api:{coord:function(y){return E.dataToPoint(y)},size:f.bind(m,E)}}}A.exports=C}),aEt=wt((o,A)=>{var f=Bi();function m(E,x){return x=x||[0,0],f.map([0,1],function(y){var I=x[y],v=E[y]/2,B=[],Q=[];return B[y]=I-v,Q[y]=I+v,B[1-y]=Q[1-y]=x[1-y],Math.abs(this.dataToPoint(B)[y]-this.dataToPoint(Q)[y])},this)}function C(E){var x=E.getBoundingRect();return{coordSys:{type:"geo",x:x.x,y:x.y,width:x.width,height:x.height,zoom:E.getZoom()},api:{coord:function(y){return E.dataToPoint(y)},size:f.bind(m,E)}}}A.exports=C}),sEt=wt((o,A)=>{var f=Bi();function m(E,x){var y=this.getAxis(),I=x instanceof Array?x[0]:x,v=(E instanceof Array?E[0]:E)/2;return y.type==="category"?y.getBandWidth():Math.abs(y.dataToCoord(I-v)-y.dataToCoord(I+v))}function C(E){var x=E.getRect();return{coordSys:{type:"singleAxis",x:x.x,y:x.y,width:x.width,height:x.height},api:{coord:function(y){return E.dataToPoint(y)},size:f.bind(m,E)}}}A.exports=C}),lEt=wt((o,A)=>{var f=Bi();function m(E,x){return f.map(["Radius","Angle"],function(y,I){var v=this["get"+y+"Axis"](),B=x[I],Q=E[I]/2,T="dataTo"+y,w=v.type==="category"?v.getBandWidth():Math.abs(v[T](B-Q)-v[T](B+Q));return y==="Angle"&&(w=w*Math.PI/180),w},this)}function C(E){var x=E.getRadiusAxis(),y=E.getAngleAxis(),I=x.getExtent();return I[0]>I[1]&&I.reverse(),{coordSys:{type:"polar",cx:E.cx,cy:E.cy,r:I[1],r0:I[0]},api:{coord:f.bind(function(v){var B=x.dataToRadius(v[0]),Q=y.dataToAngle(v[1]),T=E.coordToPoint([B,Q]);return T.push(B,Q*Math.PI/180),T}),size:f.bind(m,E)}}}A.exports=C}),uEt=wt((o,A)=>{function f(m){var C=m.getRect(),E=m.getRangeInfo();return{coordSys:{type:"calendar",x:C.x,y:C.y,width:C.width,height:C.height,cellWidth:m.getCellWidth(),cellHeight:m.getCellHeight(),rangeInfo:{start:E.start,end:E.end,weeks:E.weeks,dayCount:E.allDay}},api:{coord:function(x,y){return m.dataToPoint(x,y)}}}}A.exports=f}),AEt=wt(()=>{var o=Bu(),A=o.__DEV__,f=Bi(),m=To(),C=f0e(),E=C.getDefaultLabel,x=KD(),y=lte(),I=y.getLayoutOnAxis,v=$N(),B=E0(),Q=qf(),T=Jb(),w=Bz(),S=w.createClipPath,D=oEt(),R=aEt(),P=sEt(),M=lEt(),L=uEt(),F=m.CACHED_LABEL_STYLE_PROPERTIES,k=["itemStyle"],N=["emphasis","itemStyle"],G=["label"],J=["emphasis","label"],K="e\0\0",X={cartesian2d:D,geo:R,singleAxis:P,polar:M,calendar:L};B.extend({type:"series.custom",dependencies:["grid","polar","geo","singleAxis","calendar"],defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,useTransform:!0,clip:!1},getInitialData:function(de,me){return x(this.getSource(),this)},getDataParams:function(de,me,Ce){var Ie=B.prototype.getDataParams.apply(this,arguments);return Ce&&(Ie.info=Ce.info),Ie}}),T.extend({type:"custom",_data:null,render:function(de,me,Ce,Ie){var we=this._data,Te=de.getData(),Ge=this.group,ke=H(de,Te,me,Ce);Te.diff(we).add(function(Le){ue(null,Le,ke(Le,Ie),de,Ge,Te)}).update(function(Le,be){var Ne=we.getItemGraphicEl(be);ue(Ne,Le,ke(Le,Ie),de,Ge,Te)}).remove(function(Le){var be=we.getItemGraphicEl(Le);be&&Ge.remove(be)}).execute();var Oe=de.get("clip",!0)?S(de.coordinateSystem,!1,de):null;Oe?Ge.setClipPath(Oe):Ge.removeClipPath(),this._data=Te},incrementalPrepareRender:function(de,me,Ce){this.group.removeAll(),this._data=null},incrementalRender:function(de,me,Ce,Ie,we){var Te=me.getData(),Ge=H(me,Te,Ce,Ie);function ke(be){be.isGroup||(be.incremental=!0,be.useHoverLayer=!0)}for(var Oe=de.start;Oe{bz(),B6e(),Tz()}),hEt=wt((o,A)=>{var f=Bi(),m=ds(),C=m.parsePercent,E=Kb(),x=E.isDimensionStacked;function y(T){return T.get("stack")||"__ec_stack_"+T.seriesIndex}function I(T,w){return w.dim+T.model.componentIndex}function v(T,w,S){var D={},R=B(f.filter(w.getSeriesByType(T),function(P){return!w.isSeriesFiltered(P)&&P.coordinateSystem&&P.coordinateSystem.type==="polar"}));w.eachSeriesByType(T,function(P){if(P.coordinateSystem.type==="polar"){var M=P.getData(),L=P.coordinateSystem,F=L.getBaseAxis(),k=I(L,F),N=y(P),G=R[k][N],J=G.offset,K=G.width,X=L.getOtherAxis(F),q=P.coordinateSystem.cx,ee=P.coordinateSystem.cy,ie=P.get("barMinHeight")||0,H=P.get("barMinAngle")||0;D[N]=D[N]||[];for(var le=M.mapDimension(X.dim),ue=M.mapDimension(F.dim),Ae=x(M,le),he=F.dim!=="radius"||!P.get("roundCap",!0),ge=X.getExtent()[0],fe=0,ae=M.count();fe=0?"p":"n",z=ge;Ae&&(D[N][W]||(D[N][W]={p:ge,n:ge}),z=D[N][W][Y]);var re,se,de,me;if(X.dim==="radius"){var Ce=X.dataToRadius(U)-ge,Ie=F.dataToAngle(W);Math.abs(Ce){var f=Bi(),m=qP();function C(x,y){m.call(this,"radius",x,y),this.type="category"}C.prototype={constructor:C,pointToData:function(x,y){return this.polar.pointToData(x,y)[this.dim==="radius"?0:1]},dataToRadius:m.prototype.dataToCoord,radiusToData:m.prototype.coordToData},f.inherits(C,m);var E=C;A.exports=E}),fEt=wt((o,A)=>{var f=Bi(),m=yI(),C=qP(),E=Bl(),x=E.makeInner,y=x();function I(B,Q){Q=Q||[0,360],C.call(this,"angle",B,Q),this.type="category"}I.prototype={constructor:I,pointToData:function(B,Q){return this.polar.pointToData(B,Q)[this.dim==="radius"?0:1]},dataToAngle:C.prototype.dataToCoord,angleToData:C.prototype.coordToData,calculateCategoryInterval:function(){var B=this,Q=B.getLabelModel(),T=B.scale,w=T.getExtent(),S=T.count();if(w[1]-w[0]<1)return 0;var D=w[0],R=B.dataToCoord(D+1)-B.dataToCoord(D),P=Math.abs(R),M=m.getBoundingRect(D,Q.getFont(),"center","top"),L=Math.max(M.height,7),F=L/P;isNaN(F)&&(F=1/0);var k=Math.max(0,Math.floor(F)),N=y(B.model),G=N.lastAutoInterval,J=N.lastTickCount;return G!=null&&J!=null&&Math.abs(G-k)<=1&&Math.abs(J-S)<=1&&G>k?k=G:(N.lastTickCount=S,N.lastAutoInterval=k),k}},f.inherits(I,C);var v=I;A.exports=v}),gEt=wt((o,A)=>{var f=dEt(),m=fEt(),C=function(x){this.name=x||"",this.cx=0,this.cy=0,this._radiusAxis=new f,this._angleAxis=new m,this._radiusAxis.polar=this._angleAxis.polar=this};C.prototype={type:"polar",axisPointerEnabled:!0,constructor:C,dimensions:["radius","angle"],model:null,containPoint:function(x){var y=this.pointToCoord(x);return this._radiusAxis.contain(y[0])&&this._angleAxis.contain(y[1])},containData:function(x){return this._radiusAxis.containData(x[0])&&this._angleAxis.containData(x[1])},getAxis:function(x){return this["_"+x+"Axis"]},getAxes:function(){return[this._radiusAxis,this._angleAxis]},getAxesByScale:function(x){var y=[],I=this._angleAxis,v=this._radiusAxis;return I.scale.type===x&&y.push(I),v.scale.type===x&&y.push(v),y},getAngleAxis:function(){return this._angleAxis},getRadiusAxis:function(){return this._radiusAxis},getOtherAxis:function(x){var y=this._angleAxis;return x===y?this._radiusAxis:y},getBaseAxis:function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAngleAxis()},getTooltipAxes:function(x){var y=x!=null&&x!=="auto"?this.getAxis(x):this.getBaseAxis();return{baseAxes:[y],otherAxes:[this.getOtherAxis(y)]}},dataToPoint:function(x,y){return this.coordToPoint([this._radiusAxis.dataToRadius(x[0],y),this._angleAxis.dataToAngle(x[1],y)])},pointToData:function(x,y){var I=this.pointToCoord(x);return[this._radiusAxis.radiusToData(I[0],y),this._angleAxis.angleToData(I[1],y)]},pointToCoord:function(x){var y=x[0]-this.cx,I=x[1]-this.cy,v=this.getAngleAxis(),B=v.getExtent(),Q=Math.min(B[0],B[1]),T=Math.max(B[0],B[1]);v.inverse?Q=T-360:T=Q+360;var w=Math.sqrt(y*y+I*I);y/=w,I/=w;for(var S=Math.atan2(-I,y)/Math.PI*180,D=ST;)S+=D*360;return[w,S]},coordToPoint:function(x){var y=x[0],I=x[1]/180*Math.PI,v=Math.cos(I)*y+this.cx,B=-Math.sin(I)*y+this.cy;return[v,B]},getArea:function(){var x=this.getAngleAxis(),y=this.getRadiusAxis(),I=y.getExtent().slice();I[0]>I[1]&&I.reverse();var v=x.getExtent(),B=Math.PI/180;return{cx:this.cx,cy:this.cy,r0:I[0],r:I[1],startAngle:-v[0]*B,endAngle:-v[1]*B,clockwise:x.inverse,contain:function(Q,T){var w=Q-this.cx,S=T-this.cy,D=w*w+S*S,R=this.r,P=this.r0;return D<=R*R&&D>=P*P}}}};var E=C;A.exports=E}),pEt=wt(()=>{var o=Bi(),A=C0(),f=Ate(),m=W4(),C=A.extend({type:"polarAxis",axis:null,getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"polar",index:this.option.polarIndex,id:this.option.polarId})[0]}});o.merge(C.prototype,m);var E={angle:{startAngle:90,clockwise:!0,splitNumber:12,axisLabel:{rotate:!1}},radius:{splitNumber:5}};function x(y,I){return I.type||(I.data?"category":"value")}f("angle",C,x,E.angle),f("radius",C,x,E.radius)}),mEt=wt((o,A)=>{var f=Dn();pEt();var m=f.extendComponentModel({type:"polar",dependencies:["polarAxis","angleAxis"],coordinateSystem:null,findAxisModel:function(C){var E,x=this.ecModel;return x.eachComponent(C,function(y){y.getCoordSysModel()===this&&(E=y)},this),E},defaultOption:{zlevel:0,z:0,center:["50%","50%"],radius:"80%"}});A.exports=m}),b0e=wt(()=>{var o=Bu(),A=o.__DEV__,f=Bi(),m=gEt(),C=ds(),E=C.parsePercent,x=Cw(),y=x.createScaleByModel,I=x.niceScaleExtent,v=mw(),B=Kb(),Q=B.getStackedDimension;mEt();function T(R,P,M){var L=P.get("center"),F=M.getWidth(),k=M.getHeight();R.cx=E(L[0],F),R.cy=E(L[1],k);var N=R.getRadiusAxis(),G=Math.min(F,k)/2,J=P.get("radius");J==null?J=[0,"100%"]:f.isArray(J)||(J=[0,J]),J=[E(J[0],G),E(J[1],G)],N.inverse?N.setExtent(J[1],J[0]):N.setExtent(J[0],J[1])}function w(R,P){var M=this,L=M.getAngleAxis(),F=M.getRadiusAxis();if(L.scale.setExtent(1/0,-1/0),F.scale.setExtent(1/0,-1/0),R.eachSeries(function(G){if(G.coordinateSystem===M){var J=G.getData();f.each(J.mapDimension("radius",!0),function(K){F.scale.unionExtentFromData(J,Q(J,K))}),f.each(J.mapDimension("angle",!0),function(K){L.scale.unionExtentFromData(J,Q(J,K))})}}),I(L.scale,L.model),I(F.scale,F.model),L.type==="category"&&!L.onBand){var k=L.getExtent(),N=360/L.scale.count();L.inverse?k[1]+=N:k[1]-=N,L.setExtent(k[0],k[1])}}function S(R,P){if(R.type=P.get("type"),R.scale=y(P),R.onBand=P.get("boundaryGap")&&R.type==="category",R.inverse=P.get("inverse"),P.mainType==="angleAxis"){R.inverse^=P.get("clockwise");var M=P.get("startAngle");R.setExtent(M,M+(R.inverse?-360:360))}P.axis=R,R.model=P}var D={dimensions:m.prototype.dimensions,create:function(R,P){var M=[];return R.eachComponent("polar",function(L,F){var k=new m(F);k.update=w;var N=k.getRadiusAxis(),G=k.getAngleAxis(),J=L.findAxisModel("radiusAxis"),K=L.findAxisModel("angleAxis");S(N,J),S(G,K),T(k,L,P),M.push(k),L.coordinateSystem=k,k.model=L}),R.eachSeries(function(L){if(L.get("coordinateSystem")==="polar"){var F=R.queryComponents({mainType:"polar",index:L.get("polarIndex"),id:L.get("polarId")})[0];L.coordinateSystem=F.coordinateSystem}}),M}};v.register("polar",D)}),CEt=wt((o,A)=>{var f=Bi(),m=To(),C=qf(),E=t3(),x=XP(),y=["axisLine","axisLabel","axisTick","minorTick","splitLine","minorSplitLine","splitArea"];function I(T,w,S){w[1]>w[0]&&(w=w.slice().reverse());var D=T.coordToPoint([w[0],S]),R=T.coordToPoint([w[1],S]);return{x1:D[0],y1:D[1],x2:R[0],y2:R[1]}}function v(T){var w=T.getRadiusAxis();return w.inverse?0:1}function B(T){var w=T[0],S=T[T.length-1];w&&S&&Math.abs(Math.abs(w.coord-S.coord)-360)<1e-4&&T.pop()}var Q=E.extend({type:"angleAxis",axisPointerClass:"PolarAxisPointer",render:function(T,w){if(this.group.removeAll(),!!T.get("show")){var S=T.axis,D=S.polar,R=D.getRadiusAxis().getExtent(),P=S.getTicksCoords(),M=S.getMinorTicksCoords(),L=f.map(S.getViewLabels(),function(k){var k=f.clone(k);return k.coord=S.dataToCoord(k.tickValue),k});B(L),B(P),f.each(y,function(F){T.get(F+".show")&&(!S.scale.isBlank()||F==="axisLine")&&this["_"+F](T,D,P,M,R,L)},this)}},_axisLine:function(T,w,S,D,R){var P=T.getModel("axisLine.lineStyle"),M=v(w),L=M?0:1,F;R[L]===0?F=new m.Circle({shape:{cx:w.cx,cy:w.cy,r:R[M]},style:P.getLineStyle(),z2:1,silent:!0}):F=new m.Ring({shape:{cx:w.cx,cy:w.cy,r:R[M],r0:R[L]},style:P.getLineStyle(),z2:1,silent:!0}),F.style.fill=null,this.group.add(F)},_axisTick:function(T,w,S,D,R){var P=T.getModel("axisTick"),M=(P.get("inside")?-1:1)*P.get("length"),L=R[v(w)],F=f.map(S,function(k){return new m.Line({shape:I(w,[L,L+M],k.coord)})});this.group.add(m.mergePath(F,{style:f.defaults(P.getModel("lineStyle").getLineStyle(),{stroke:T.get("axisLine.lineStyle.color")})}))},_minorTick:function(T,w,S,D,R){if(D.length){for(var P=T.getModel("axisTick"),M=T.getModel("minorTick"),L=(P.get("inside")?-1:1)*M.get("length"),F=R[v(w)],k=[],N=0;Nee?"left":"right",le=Math.abs(q[1]-ie)/X<.3?"middle":q[1]>ie?"top":"bottom";M&&M[K]&&M[K].textStyle&&(J=new C(M[K].textStyle,L,L.ecModel));var ue=new m.Text({silent:x.isLabelSilent(T)});this.group.add(ue),m.setTextStyle(ue.style,J,{x:q[0],y:q[1],textFill:J.getTextColor()||T.get("axisLine.lineStyle.color"),text:N.formattedLabel,textAlign:H,textVerticalAlign:le}),k&&(ue.eventData=x.makeAxisEventDataBase(T),ue.eventData.targetType="axisLabel",ue.eventData.value=N.rawLabel)},this)},_splitLine:function(T,w,S,D,R){var P=T.getModel("splitLine"),M=P.getModel("lineStyle"),L=M.get("color"),F=0;L=L instanceof Array?L:[L];for(var k=[],N=0;N{b0e(),CEt()}),xEt=wt((o,A)=>{var f=Bi(),m=To(),C=XP(),E=t3(),x=["axisLine","axisTickLabel","axisName"],y=["splitLine","splitArea","minorSplitLine"],I=E.extend({type:"radiusAxis",axisPointerClass:"PolarAxisPointer",render:function(B,Q){if(this.group.removeAll(),!!B.get("show")){var T=B.axis,w=T.polar,S=w.getAngleAxis(),D=T.getTicksCoords(),R=T.getMinorTicksCoords(),P=S.getExtent()[0],M=T.getExtent(),L=v(w,B,P),F=new C(B,L);f.each(x,F.add,F),this.group.add(F.getGroup()),f.each(y,function(k){B.get(k+".show")&&!T.scale.isBlank()&&this["_"+k](B,w,P,M,D,R)},this)}},_splitLine:function(B,Q,T,w,S){var D=B.getModel("splitLine"),R=D.getModel("lineStyle"),P=R.get("color"),M=0;P=P instanceof Array?P:[P];for(var L=[],F=0;F{b0e(),xEt()}),IEt=wt((o,A)=>{var f=Tc(),m=w0e(),C=To(),E=gte(),x=xE(),y=XP(),I=t3(),v=m.extend({makeElOption:function(w,S,D,R,P){var M=D.axis;M.dim==="angle"&&(this.animationThreshold=Math.PI/18);var L=M.polar,F=L.getOtherAxis(M),k=F.getExtent(),N;N=M["dataTo"+f.capitalFirst(M.dim)](S);var G=R.get("type");if(G&&G!=="none"){var J=E.buildElStyle(R),K=Q[G](M,L,N,k,J);K.style=J,w.graphicKey=K.type,w.pointer=K}var X=R.get("label.margin"),q=B(S,D,R,L,X);E.buildLabelElOption(w,D,R,P,q)}});function B(w,S,D,R,P){var M=S.axis,L=M.dataToCoord(w),F=R.getAngleAxis().getExtent()[0];F=F/180*Math.PI;var k=R.getRadiusAxis().getExtent(),N,G,J;if(M.dim==="radius"){var K=x.create();x.rotate(K,K,F),x.translate(K,K,[R.cx,R.cy]),N=C.applyTransform([L,-P],K);var X=S.getModel("axisLabel").get("rotate")||0,q=y.innerTextLayout(F,X*Math.PI/180,-1);G=q.textAlign,J=q.textVerticalAlign}else{var ee=k[1];N=R.coordToPoint([ee+P,L]);var ie=R.cx,H=R.cy;G=Math.abs(N[0]-ie)/ee<.3?"center":N[0]>ie?"left":"right",J=Math.abs(N[1]-H)/ee<.3?"middle":N[1]>H?"top":"bottom"}return{position:N,align:G,verticalAlign:J}}var Q={line:function(w,S,D,R,P){return w.dim==="angle"?{type:"Line",shape:E.makeLineShape(S.coordToPoint([R[0],D]),S.coordToPoint([R[1],D]))}:{type:"Circle",shape:{cx:S.cx,cy:S.cy,r:D}}},shadow:function(w,S,D,R,P){var M=Math.max(1,w.getBandWidth()),L=Math.PI/180;return w.dim==="angle"?{type:"Sector",shape:E.makeSectorShape(S.cx,S.cy,R[0],R[1],(-D-M/2)*L,(-D+M/2)*L)}:{type:"Sector",shape:E.makeSectorShape(S.cx,S.cy,D-M/2,D+M/2,0,Math.PI*2)}}};I.registerAxisPointerClass("PolarAxisPointer",v);var T=v;A.exports=T}),_Et=wt(()=>{var o=Dn(),A=Bi(),f=hEt();b0e(),EEt(),yEt(),Tz(),IEt(),o.registerLayout(A.curry(f,"bar")),o.extendComponentView({type:"polar"})}),vEt=wt((o,A)=>{var f=Bi(),m=Bl(),C=C0(),E=qf(),x=p0e(),y=x0e(),I=C.extend({type:"geo",coordinateSystem:null,layoutMode:"box",init:function(B){C.prototype.init.apply(this,arguments),m.defaultEmphasis(B,"label",["show"])},optionUpdated:function(){var B=this.option,Q=this;B.regions=y.getFilledRegions(B.regions,B.map,B.nameMap),this._optionModelMap=f.reduce(B.regions||[],function(T,w){return w.name&&T.set(w.name,new E(w,Q)),T},f.createHashMap()),this.updateSelectedMap(B.regions)},defaultOption:{zlevel:0,z:0,show:!0,left:"center",top:"center",aspectScale:null,silent:!1,map:"",boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",color:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},regions:[]},getRegionModel:function(B){return this._optionModelMap.get(B)||new E(null,this,this.ecModel)},getFormattedLabel:function(B,Q){var T=this.getRegionModel(B),w=T.get("label"+(Q==="normal"?".":Q+".")+"formatter"),S={name:B};if(typeof w=="function")return S.status=Q,w(S);if(typeof w=="string")return w.replace("{a}",B??"")},setZoom:function(B){this.option.zoom=B},setCenter:function(B){this.option.center=B}});f.mixin(I,x);var v=I;A.exports=v}),BEt=wt((o,A)=>{var f=s6e(),m=Dn(),C=m.extendComponentView({type:"geo",init:function(E,x){var y=new f(x,!0);this._mapDraw=y,this.group.add(y.group)},render:function(E,x,y,I){if(!(I&&I.type==="geoToggleSelect"&&I.from===this.uid)){var v=this._mapDraw;E.get("show")?v.draw(E,x,y,this,I):this._mapDraw.group.removeAll(),this.group.silent=E.get("silent")}},dispose:function(){this._mapDraw&&this._mapDraw.remove()}});A.exports=C}),wEt=wt(()=>{var o=Dn(),A=Bi();vEt(),x0e(),BEt(),l6e();function f(m,C){C.update="updateView",o.registerAction(C,function(E,x){var y={};return x.eachComponent({mainType:"geo",query:E},function(I){I[m](E.name);var v=I.coordinateSystem;A.each(v.regions,function(B){y[B.name]=I.isSelected(B.name)||!1})}),{selected:y,name:E.name}})}f("toggleSelected",{type:"geoToggleSelect",event:"geoselectchanged"}),f("select",{type:"geoSelect",event:"geoselected"}),f("unSelect",{type:"geoUnSelect",event:"geounselected"})}),bEt=wt((o,A)=>{var f=Bi(),m=pc(),C=ds(),E=mw(),x=864e5;function y(B,Q,T){this._model=B}y.prototype={constructor:y,type:"calendar",dimensions:["time","value"],getDimensionsInfo:function(){return[{name:"time",type:"time"},"value"]},getRangeInfo:function(){return this._rangeInfo},getModel:function(){return this._model},getRect:function(){return this._rect},getCellWidth:function(){return this._sw},getCellHeight:function(){return this._sh},getOrient:function(){return this._orient},getFirstDayOfWeek:function(){return this._firstDayOfWeek},getDateInfo:function(B){B=C.parseDate(B);var Q=B.getFullYear(),T=B.getMonth()+1;T=T<10?"0"+T:T;var w=B.getDate();w=w<10?"0"+w:w;var S=B.getDay();return S=Math.abs((S+7-this.getFirstDayOfWeek())%7),{y:Q,m:T,d:w,day:S,time:B.getTime(),formatedDate:Q+"-"+T+"-"+w,date:B}},getNextNDay:function(B,Q){return Q=Q||0,Q===0?this.getDateInfo(B):(B=new Date(this.getDateInfo(B).time),B.setDate(B.getDate()+Q),this.getDateInfo(B))},update:function(B,Q){this._firstDayOfWeek=+this._model.getModel("dayLabel").get("firstDay"),this._orient=this._model.get("orient"),this._lineWidth=this._model.getModel("itemStyle").getItemStyle().lineWidth||0,this._rangeInfo=this._getRangeInfo(this._initRangeOption());var T=this._rangeInfo.weeks||1,w=["width","height"],S=this._model.get("cellSize").slice(),D=this._model.getBoxLayoutParams(),R=this._orient==="horizontal"?[T,7]:[7,T];f.each([0,1],function(F){L(S,F)&&(D[w[F]]=S[F]*R[F])});var P={width:Q.getWidth(),height:Q.getHeight()},M=this._rect=m.getLayoutRect(D,P);f.each([0,1],function(F){L(S,F)||(S[F]=M[w[F]]/R[F])});function L(F,k){return F[k]!=null&&F[k]!=="auto"}this._sw=S[0],this._sh=S[1]},dataToPoint:function(B,Q){f.isArray(B)&&(B=B[0]),Q==null&&(Q=!0);var T=this.getDateInfo(B),w=this._rangeInfo,S=T.formatedDate;if(Q&&!(T.time>=w.start.time&&T.timeD.end.time&&B.reverse(),B},_getRangeInfo:function(B){B=[this.getDateInfo(B[0]),this.getDateInfo(B[1])];var Q;B[0].time>B[1].time&&(Q=!0,B.reverse());var T=Math.floor(B[1].time/x)-Math.floor(B[0].time/x)+1,w=new Date(B[0].time),S=w.getDate(),D=B[1].date.getDate();w.setDate(S+T-1);var R=w.getDate();if(R!==D)for(var P=w.getTime()-B[1].time>0?1:-1;(R=w.getDate())!==D&&(w.getTime()-B[1].time)*P>0;)T-=P,w.setDate(R-P);var M=Math.floor((T+B[0].day+6)/7),L=Q?-M+1:M-1;return Q&&B.reverse(),{range:[B[0].formatedDate,B[1].formatedDate],start:B[0],end:B[1],allDay:T,weeks:M,nthWeek:L,fweek:B[0].day,lweek:B[1].day}},_getDateByWeeksAndDay:function(B,Q,T){var w=this._getRangeInfo(T);if(B>w.weeks||B===0&&Qw.lweek)return!1;var S=(B-1)*7-w.fweek+Q,D=new Date(w.start.time);return D.setDate(w.start.d+S),this.getDateInfo(D)}},y.dimensions=y.prototype.dimensions,y.getDimensionsInfo=y.prototype.getDimensionsInfo,y.create=function(B,Q){var T=[];return B.eachComponent("calendar",function(w){var S=new y(w,B,Q);T.push(S),w.coordinateSystem=S}),B.eachSeries(function(w){w.get("coordinateSystem")==="calendar"&&(w.coordinateSystem=T[w.get("calendarIndex")||0])}),T};function I(B,Q,T,w){var S=T.calendarModel,D=T.seriesModel,R=S?S.coordinateSystem:D?D.coordinateSystem:null;return R===this?R[B](w):null}E.register("calendar",y);var v=y;A.exports=v}),QEt=wt((o,A)=>{var f=Bi(),m=C0(),C=pc(),E=C.getLayoutParams,x=C.sizeCalculable,y=C.mergeLayoutParam,I=m.extend({type:"calendar",coordinateSystem:null,defaultOption:{zlevel:0,z:2,left:80,top:60,cellSize:20,orient:"horizontal",splitLine:{show:!0,lineStyle:{color:"#000",width:1,type:"solid"}},itemStyle:{color:"#fff",borderWidth:1,borderColor:"#ccc"},dayLabel:{show:!0,firstDay:0,position:"start",margin:"50%",nameMap:"en",color:"#000"},monthLabel:{show:!0,position:"start",margin:5,align:"center",nameMap:"en",formatter:null,color:"#000"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:"#ccc",fontFamily:"sans-serif",fontWeight:"bolder",fontSize:20}},init:function(Q,T,w,S){var D=E(Q);I.superApply(this,"init",arguments),v(Q,D)},mergeOption:function(Q,T){I.superApply(this,"mergeOption",arguments),v(this.option,Q)}});function v(Q,T){var w=Q.cellSize;f.isArray(w)?w.length===1&&(w[1]=w[0]):w=Q.cellSize=[w,w];var S=f.map([0,1],function(D){return x(T,D)&&(w[D]="auto"),w[D]!=null&&w[D]!=="auto"});y(Q,T,{type:"box",ignoreSize:S})}var B=I;A.exports=B}),SEt=wt((o,A)=>{var f=Dn(),m=Bi(),C=To(),E=Tc(),x=ds(),y={EN:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],CN:["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"]},I={EN:["S","M","T","W","T","F","S"],CN:["\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"]},v=f.extendComponentView({type:"calendar",_tlpoints:null,_blpoints:null,_firstDayOfMonth:null,_firstDayPoints:null,render:function(B,Q,T){var w=this.group;w.removeAll();var S=B.coordinateSystem,D=S.getRangeInfo(),R=S.getOrient();this._renderDayRect(B,D,w),this._renderLines(B,D,R,w),this._renderYearText(B,D,R,w),this._renderMonthText(B,R,w),this._renderWeekText(B,D,R,w)},_renderDayRect:function(B,Q,T){for(var w=B.coordinateSystem,S=B.getModel("itemStyle").getItemStyle(),D=w.getCellWidth(),R=w.getCellHeight(),P=Q.start.time;P<=Q.end.time;P=w.getNextNDay(P,1).time){var M=w.dataToRect([P],!1).tl,L=new C.Rect({shape:{x:M[0],y:M[1],width:D,height:R},cursor:"default",style:S});T.add(L)}},_renderLines:function(B,Q,T,w){var S=this,D=B.coordinateSystem,R=B.getModel("splitLine.lineStyle").getLineStyle(),P=B.get("splitLine.show"),M=R.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var L=Q.start,F=0;L.time<=Q.end.time;F++){N(L.formatedDate),F===0&&(L=D.getDateInfo(Q.start.y+"-"+Q.start.m));var k=L.date;k.setMonth(k.getMonth()+1),L=D.getDateInfo(k)}N(D.getNextNDay(Q.end.time,1).formatedDate);function N(G){S._firstDayOfMonth.push(D.getDateInfo(G)),S._firstDayPoints.push(D.dataToRect([G],!1).tl);var J=S._getLinePointsOfOneWeek(B,G,T);S._tlpoints.push(J[0]),S._blpoints.push(J[J.length-1]),P&&S._drawSplitline(J,R,w)}P&&this._drawSplitline(S._getEdgesPoints(S._tlpoints,M,T),R,w),P&&this._drawSplitline(S._getEdgesPoints(S._blpoints,M,T),R,w)},_getEdgesPoints:function(B,Q,T){var w=[B[0].slice(),B[B.length-1].slice()],S=T==="horizontal"?0:1;return w[0][S]=w[0][S]-Q/2,w[1][S]=w[1][S]+Q/2,w},_drawSplitline:function(B,Q,T){var w=new C.Polyline({z2:20,shape:{points:B},style:Q});T.add(w)},_getLinePointsOfOneWeek:function(B,Q,T){var w=B.coordinateSystem;Q=w.getDateInfo(Q);for(var S=[],D=0;D<7;D++){var R=w.getNextNDay(Q.time,D),P=w.dataToRect([R.time],!1);S[2*R.day]=P.tl,S[2*R.day+1]=P[T==="horizontal"?"bl":"tr"]}return S},_formatterLabel:function(B,Q){return typeof B=="string"&&B?E.formatTplSimple(B,Q):typeof B=="function"?B(Q):Q.nameMap},_yearTextPositionControl:function(B,Q,T,w,S){Q=Q.slice();var D=["center","bottom"];w==="bottom"?(Q[1]+=S,D=["center","top"]):w==="left"?Q[0]-=S:w==="right"?(Q[0]+=S,D=["center","top"]):Q[1]-=S;var R=0;return(w==="left"||w==="right")&&(R=Math.PI/2),{rotation:R,position:Q,style:{textAlign:D[0],textVerticalAlign:D[1]}}},_renderYearText:function(B,Q,T,w){var S=B.getModel("yearLabel");if(S.get("show")){var D=S.get("margin"),R=S.get("position");R||(R=T!=="horizontal"?"top":"left");var P=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],M=(P[0][0]+P[1][0])/2,L=(P[0][1]+P[1][1])/2,F=T==="horizontal"?0:1,k={top:[M,P[F][1]],bottom:[M,P[1-F][1]],left:[P[1-F][0],L],right:[P[F][0],L]},N=Q.start.y;+Q.end.y>+Q.start.y&&(N=N+"-"+Q.end.y);var G=S.get("formatter"),J={start:Q.start.y,end:Q.end.y,nameMap:N},K=this._formatterLabel(G,J),X=new C.Text({z2:30});C.setTextStyle(X.style,S,{text:K}),X.attr(this._yearTextPositionControl(X,k[R],T,R,D)),w.add(X)}},_monthTextPositionControl:function(B,Q,T,w,S){var D="left",R="top",P=B[0],M=B[1];return T==="horizontal"?(M=M+S,Q&&(D="center"),w==="start"&&(R="bottom")):(P=P+S,Q&&(R="middle"),w==="start"&&(D="right")),{x:P,y:M,textAlign:D,textVerticalAlign:R}},_renderMonthText:function(B,Q,T){var w=B.getModel("monthLabel");if(w.get("show")){var S=w.get("nameMap"),D=w.get("margin"),R=w.get("position"),P=w.get("align"),M=[this._tlpoints,this._blpoints];m.isString(S)&&(S=y[S.toUpperCase()]||[]);var L=R==="start"?0:1,F=Q==="horizontal"?0:1;D=R==="start"?-D:D;for(var k=P==="center",N=0;N{bEt(),QEt(),SEt()}),TEt=wt(()=>{var o=Bu(),A=o.__DEV__,f=Dn(),m=Bi(),C=Bl(),E=To(),x=pc(),y=ds(),I=y.parsePercent,v={path:null,compoundPath:null,group:E.Group,image:E.Image,text:E.Text};f.registerPreprocessor(function(L){var F=L.graphic;m.isArray(F)?!F[0]||!F[0].elements?L.graphic=[{elements:F}]:L.graphic=[L.graphic[0]]:F&&!F.elements&&(L.graphic=[{elements:[F]}])});var B=f.extendComponentModel({type:"graphic",defaultOption:{elements:[],parentId:null},_elOptionsToUpdate:null,mergeOption:function(L){var F=this.option.elements;this.option.elements=null,B.superApply(this,"mergeOption",arguments),this.option.elements=F},optionUpdated:function(L,F){var k=this.option,N=(F?k:L).elements,G=k.elements=F?[]:k.elements,J=[];this._flatten(N,J);var K=C.mappingToExists(G,J);C.makeIdAndName(K);var X=this._elOptionsToUpdate=[];m.each(K,function(ee,ie){var H=ee.option;H&&(X.push(H),D(ee,H),R(G,ie,H),P(G[ie],H))},this);for(var q=G.length-1;q>=0;q--)G[q]==null?G.splice(q,1):delete G[q].$action},_flatten:function(L,F,k){m.each(L,function(N){if(N){k&&(N.parentOption=k),F.push(N);var G=N.children;N.type==="group"&&G&&this._flatten(G,F,N),delete N.children}},this)},useElOptionsToUpdate:function(){var L=this._elOptionsToUpdate;return this._elOptionsToUpdate=null,L}});f.extendComponentView({type:"graphic",init:function(L,F){this._elMap=m.createHashMap(),this._lastGraphicModel},render:function(L,F,k){L!==this._lastGraphicModel&&this._clear(),this._lastGraphicModel=L,this._updateElements(L),this._relocate(L,k)},_updateElements:function(L){var F=L.useElOptionsToUpdate();if(F){var k=this._elMap,N=this.group;m.each(F,function(G){var J=G.$action,K=G.id,X=k.get(K),q=G.parentId,ee=q!=null?k.get(q):N,ie=G.style;G.type==="text"&&ie&&(G.hv&&G.hv[1]&&(ie.textVerticalAlign=ie.textBaseline=null),!ie.hasOwnProperty("textFill")&&ie.fill&&(ie.textFill=ie.fill),!ie.hasOwnProperty("textStroke")&&ie.stroke&&(ie.textStroke=ie.stroke));var H=w(G);!J||J==="merge"?X?X.attr(H):Q(K,ee,H,k):J==="replace"?(T(X,k),Q(K,ee,H,k)):J==="remove"&&T(X,k);var le=k.get(K);le&&(le.__ecGraphicWidthOption=G.width,le.__ecGraphicHeightOption=G.height,M(le,L,G))})}},_relocate:function(L,F){for(var k=L.option.elements,N=this.group,G=this._elMap,J=F.getWidth(),K=F.getHeight(),X=0;X=0;X--){var q=k[X],ee=G.get(q.id);if(ee){var ie=ee.parent,le=ie===N?{width:J,height:K}:{width:ie.__ecGraphicWidth,height:ie.__ecGraphicHeight};x.positionElement(ee,q,le,null,{hv:q.hv,boundingMode:q.bounding})}}},_clear:function(){var L=this._elMap;L.each(function(F){T(F,L)}),this._elMap=m.createHashMap()},dispose:function(){this._clear()}});function Q(L,F,k,N){var G=k.type,J=v.hasOwnProperty(G)?v[G]:E.getShapeClass(G),K=new J(k);F.add(K),N.set(L,K),K.__ecGraphicId=L}function T(L,F){var k=L&&L.parent;k&&(L.type==="group"&&L.traverse(function(N){T(N,F)}),F.removeKey(L.__ecGraphicId),k.remove(L))}function w(L){return L=m.extend({},L),m.each(["id","parentId","$action","hv","bounding"].concat(x.LOCATION_PARAMS),function(F){delete L[F]}),L}function S(L,F){var k;return m.each(F,function(N){L[N]!=null&&L[N]!=="auto"&&(k=!0)}),k}function D(L,F){var k=L.exist;if(F.id=L.keyInfo.id,!F.type&&k&&(F.type=k.type),F.parentId==null){var N=F.parentOption;N?F.parentId=N.id:k&&(F.parentId=k.parentId)}F.parentOption=null}function R(L,F,k){var N=m.extend({},k),G=L[F],J=k.$action||"merge";J==="merge"?G?(m.merge(G,N,!0),x.mergeLayoutParam(G,N,{ignoreSize:!0}),x.copyLayoutParams(k,G)):L[F]=N:J==="replace"?L[F]=N:J==="remove"&&G&&(L[F]=null)}function P(L,F){L&&(L.hv=F.hv=[S(F,["left","right"]),S(F,["top","bottom"])],L.type==="group"&&(L.width==null&&(L.width=F.width=0),L.height==null&&(L.height=F.height=0)))}function M(L,F,k){var N=L.eventData;!L.silent&&!L.ignore&&!N&&(N=L.eventData={componentType:"graphic",componentIndex:F.componentIndex,name:L.name}),N&&(N.info=L.info)}}),ZP=wt(o=>{var A={};function f(C,E){A[C]=E}function m(C){return A[C]}o.register=f,o.get=m}),MEt=wt((o,A)=>{var f=Dn(),m=Bi(),C=ZP(),E=f.extendComponentModel({type:"toolbox",layoutMode:{type:"box",ignoreSize:!0},optionUpdated:function(){E.superApply(this,"optionUpdated",arguments),m.each(this.option.feature,function(y,I){var v=C.get(I);v&&m.merge(y,v.defaultOption)})},defaultOption:{show:!0,z:6,zlevel:0,orient:"horizontal",left:"right",top:"top",backgroundColor:"transparent",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{borderColor:"#666",color:"none"},emphasis:{iconStyle:{borderColor:"#3E98C5"}},tooltip:{show:!1}}}),x=E;A.exports=x}),b6e=wt(o=>{var A=pc(),f=A.getLayoutRect,m=A.box,C=A.positionElement,E=Tc(),x=To();function y(v,B,Q){var T=B.getBoxLayoutParams(),w=B.get("padding"),S={width:Q.getWidth(),height:Q.getHeight()},D=f(T,S,w);m(B.get("orient"),v,B.get("itemGap"),D.width,D.height),C(v,T,S,w)}function I(w,B){var Q=E.normalizeCssArray(B.get("padding")),T=B.getItemStyle(["color","opacity"]);T.fill=B.get("backgroundColor");var w=new x.Rect({shape:{x:w.x-Q[3],y:w.y-Q[0],width:w.width+Q[1]+Q[3],height:w.height+Q[0]+Q[2],r:B.get("borderRadius")},style:T,silent:!0,z2:-1});return w}o.layout=y,o.makeBackground=I}),PEt=wt((o,A)=>{var f=Dn(),m=Bi(),C=yI(),E=ZP(),x=To(),y=qf(),I=$N(),v=b6e(),B=f.extendComponentView({type:"toolbox",render:function(T,w,S,D){var R=this.group;if(R.removeAll(),!T.get("show"))return;var P=+T.get("itemSize"),M=T.get("feature")||{},L=this._features||(this._features={}),F=[];m.each(M,function(G,J){F.push(J)}),new I(this._featureNames||[],F).add(k).update(k).remove(m.curry(k,null)).execute(),this._featureNames=F;function k(G,J){var K=F[G],X=F[J],q=M[K],ee=new y(q,T,T.ecModel),ie;if(D&&D.newTitle!=null&&D.featureName===K&&(q.title=D.newTitle),K&&!X){if(Q(K))ie={model:ee,onclick:ee.option.onclick,featureName:K};else{var H=E.get(K);if(!H)return;ie=new H(ee,w,S)}L[K]=ie}else{if(ie=L[X],!ie)return;ie.model=ee,ie.ecModel=w,ie.api=S}if(!K&&X){ie.dispose&&ie.dispose(w,S);return}if(!ee.get("show")||ie.unusable){ie.remove&&ie.remove(w,S);return}N(ee,ie,K),ee.setIconStatus=function(le,ue){var Ae=this.option,he=this.iconPaths;Ae.iconStatus=Ae.iconStatus||{},Ae.iconStatus[le]=ue,he[le]&&he[le].trigger(ue)},ie.render&&ie.render(ee,w,S,D)}function N(G,J,K){var X=G.getModel("iconStyle"),q=G.getModel("emphasis.iconStyle"),ee=J.getIcons?J.getIcons():G.get("icon"),ie=G.get("title")||{};if(typeof ee=="string"){var H=ee,le=ie;ee={},ie={},ee[K]=H,ie[K]=le}var ue=G.iconPaths={};m.each(ee,function(Ae,he){var ge=x.createIcon(Ae,{},{x:-P/2,y:-P/2,width:P,height:P});ge.setStyle(X.getItemStyle()),ge.hoverStyle=q.getItemStyle(),ge.setStyle({text:ie[he],textAlign:q.get("textAlign"),textBorderRadius:q.get("textBorderRadius"),textPadding:q.get("textPadding"),textFill:null});var fe=T.getModel("tooltip");fe&&fe.get("show")&&ge.attr("tooltip",m.extend({content:ie[he],formatter:fe.get("formatter",!0)||function(){return ie[he]},formatterParams:{componentType:"toolbox",name:he,title:ie[he],$vars:["name","title"]},position:fe.get("position",!0)||"bottom"},fe.option)),x.setHoverStyle(ge),T.get("showTitle")&&(ge.__title=ie[he],ge.on("mouseover",function(){var ae=q.getItemStyle(),U=T.get("orient")==="vertical"?T.get("right")==null?"right":"left":T.get("bottom")==null?"bottom":"top";ge.setStyle({textFill:q.get("textFill")||ae.fill||ae.stroke||"#000",textBackgroundColor:q.get("textBackgroundColor"),textPosition:q.get("textPosition")||U})}).on("mouseout",function(){ge.setStyle({textFill:null,textBackgroundColor:null})})),ge.trigger(G.get("iconStatus."+he)||"normal"),R.add(ge),ge.on("click",m.bind(J.onclick,J,w,S,he)),ue[he]=ge})}v.layout(R,T,S),R.add(v.makeBackground(R.getBoundingRect(),T)),R.eachChild(function(G){var J=G.__title,K=G.hoverStyle;if(K&&J){var X=C.getBoundingRect(J,C.makeFont(K)),q=G.position[0]+R.position[0],ee=G.position[1]+R.position[1]+P,ie=!1;ee+X.height>S.getHeight()&&(K.textPosition="top",ie=!0);var H=ie?-5-X.height:P+8;q+X.width/2>S.getWidth()?(K.textPosition=["100%",H],K.textAlign="right"):q-X.width/2<0&&(K.textPosition=[0,H],K.textAlign="left")}})},updateView:function(T,w,S,D){m.each(this._features,function(R){R.updateView&&R.updateView(R.model,w,S,D)})},remove:function(T,w){m.each(this._features,function(S){S.remove&&S.remove(T,w)}),this.group.removeAll()},dispose:function(T,w){m.each(this._features,function(S){S.dispose&&S.dispose(T,w)})}});function Q(T){return T.indexOf("my")===0}A.exports=B}),REt=wt((o,A)=>{var f=jf(),m=jP(),C=ZP(),E=m.toolbox.saveAsImage;function x(v){this.model=v}x.defaultOption={show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:E.title,type:"png",connectedBackgroundColor:"#fff",name:"",excludeComponents:["toolbox"],pixelRatio:1,lang:E.lang.slice()},x.prototype.unusable=!f.canvasSupported;var y=x.prototype;y.onclick=function(v,B){var Q=this.model,T=Q.get("name")||v.get("title.0.text")||"echarts",w=B.getZr().painter.getType()==="svg",S=w?"svg":Q.get("type",!0)||"png",D=B.getConnectedDataURL({type:S,backgroundColor:Q.get("backgroundColor",!0)||v.get("backgroundColor")||"#fff",connectedBackgroundColor:Q.get("connectedBackgroundColor"),excludeComponents:Q.get("excludeComponents"),pixelRatio:Q.get("pixelRatio")});if(typeof MouseEvent=="function"&&!f.browser.ie&&!f.browser.edge){var R=document.createElement("a");R.download=T+"."+S,R.target="_blank",R.href=D;var P=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!1});R.dispatchEvent(P)}else if(window.navigator.msSaveOrOpenBlob){for(var M=atob(D.split(",")[1]),L=M.length,F=new Uint8Array(L);L--;)F[L]=M.charCodeAt(L);var k=new Blob([F]);window.navigator.msSaveOrOpenBlob(k,T+"."+S)}else{var N=Q.get("lang"),G='',J=window.open();J.document.write(G)}},C.register("saveAsImage",x);var I=x;A.exports=I}),LEt=wt((o,A)=>{var f=Dn(),m=Bi(),C=jP(),E=ZP(),x=C.toolbox.magicType,y="__ec_magicType_stack__";function I(w){this.model=w}I.defaultOption={show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z"},title:m.clone(x.title),option:{},seriesIndex:{}};var v=I.prototype;v.getIcons=function(){var w=this.model,S=w.get("icon"),D={};return m.each(w.get("type"),function(R){S[R]&&(D[R]=S[R])}),D};var B={line:function(w,S,D,R){if(w==="bar")return m.merge({id:S,type:"line",data:D.get("data"),stack:D.get("stack"),markPoint:D.get("markPoint"),markLine:D.get("markLine")},R.get("option.line")||{},!0)},bar:function(w,S,D,R){if(w==="line")return m.merge({id:S,type:"bar",data:D.get("data"),stack:D.get("stack"),markPoint:D.get("markPoint"),markLine:D.get("markLine")},R.get("option.bar")||{},!0)},stack:function(w,S,D,R){var P=D.get("stack")===y;if(w==="line"||w==="bar")return R.setIconStatus("stack",P?"normal":"emphasis"),m.merge({id:S,stack:P?"":y},R.get("option.stack")||{},!0)}},Q=[["line","bar"],["stack"]];v.onclick=function(w,S,D){var R=this.model,P=R.get("seriesIndex."+D);if(B[D]){var M={series:[]},L=function(N){var G=N.subType,J=N.id,K=B[D](G,J,N,R);K&&(m.defaults(K,N.option),M.series.push(K));var X=N.coordinateSystem;if(X&&X.type==="cartesian2d"&&(D==="line"||D==="bar")){var q=X.getAxesByScale("ordinal")[0];if(q){var ee=q.dim,ie=ee+"Axis",H=w.queryComponents({mainType:ie,index:N.get(name+"Index"),id:N.get(name+"Id")})[0],le=H.componentIndex;M[ie]=M[ie]||[];for(var ue=0;ue<=le;ue++)M[ie][le]=M[ie][le]||{};M[ie][le].boundaryGap=D==="bar"}}};m.each(Q,function(N){m.indexOf(N,D)>=0&&m.each(N,function(G){R.setIconStatus(G,"normal")})}),R.setIconStatus(D,"emphasis"),w.eachComponent({mainType:"series",query:P==null?null:{seriesIndex:P}},L);var F;if(D==="stack"){var k=M.series&&M.series[0]&&M.series[0].stack===y;F=k?m.merge({stack:x.title.tiled},x.title):m.clone(x.title)}S.dispatchAction({type:"changeMagicType",currentType:D,newOption:M,newTitle:F,featureName:"magicType"})}},f.registerAction({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},function(w,S){S.mergeOption(w.newOption)}),E.register("magicType",I);var T=I;A.exports=T}),FEt=wt((o,A)=>{var f=Dn(),m=Bi(),C=zb(),E=jP(),x=ZP(),y=E.toolbox.dataView,I=new Array(60).join("-"),v=" ";function B(G){var J={},K=[],X=[];return G.eachRawSeries(function(q){var ee=q.coordinateSystem;if(ee&&(ee.type==="cartesian2d"||ee.type==="polar")){var ie=ee.getBaseAxis();if(ie.type==="category"){var H=ie.dim+"_"+ie.index;J[H]||(J[H]={categoryAxis:ie,valueAxis:ee.getOtherAxis(ie),series:[]},X.push({axisDim:ie.dim,axisIndex:ie.index})),J[H].series.push(q)}else K.push(q)}else K.push(q)}),{seriesGroupByCategoryAxis:J,other:K,meta:X}}function Q(G){var J=[];return m.each(G,function(K,X){var q=K.categoryAxis,ee=K.valueAxis,ie=ee.dim,H=[" "].concat(m.map(K.series,function(fe){return fe.name})),le=[q.model.getCategories()];m.each(K.series,function(fe){le.push(fe.getRawData().mapArray(ie,function(ae){return ae}))});for(var ue=[H.join(v)],Ae=0;Ae=0)return!0}var R=new RegExp("["+v+"]+","g");function P(G){for(var J=G.split(/\n+/g),K=S(J.shift()).split(R),X=[],q=m.map(K,function(le){return{name:le,data:[]}}),ee=0;ee{var f=Bu(),m=f.__DEV__,C=Bi(),E=To(),x=Bl(),y=p6e(),I=C.each,v=C.indexOf,B=C.curry,Q=["dataToPoint","pointToData"],T=["grid","xAxis","yAxis","geo","graph","polar","radiusAxis","angleAxis","bmap"];function w(q,ee,ie){var H=this._targetInfoList=[],le={},ue=R(ee,q);I(P,function(Ae,he){(!ie||!ie.include||v(ie.include,he)>=0)&&Ae(ue,H,le)})}var S=w.prototype;S.setOutputRanges=function(q,ee){this.matchOutputRanges(q,ee,function(ie,H,le){if((ie.coordRanges||(ie.coordRanges=[])).push(H),!ie.coordRange){ie.coordRange=H;var ue=F[ie.brushType](0,le,H);ie.__rangeOffset={offset:N[ie.brushType](ue.values,ie.range,[1,1]),xyMinMax:ue.xyMinMax}}})},S.matchOutputRanges=function(q,ee,ie){I(q,function(H){var le=this.findTargetInfo(H,ee);le&&le!==!0&&C.each(le.coordSyses,function(ue){var Ae=F[H.brushType](1,ue,H.range);ie(H,Ae.values,ue,ee)})},this)},S.setInputRanges=function(q,ee){I(q,function(ie){var H=this.findTargetInfo(ie,ee);if(ie.range=ie.range||[],H&&H!==!0){ie.panelId=H.panelId;var le=F[ie.brushType](0,H.coordSys,ie.coordRange),ue=ie.__rangeOffset;ie.range=ue?N[ie.brushType](le.values,ue.offset,J(le.xyMinMax,ue.xyMinMax)):le.values}},this)},S.makePanelOpts=function(q,ee){return C.map(this._targetInfoList,function(ie){var H=ie.getPanelRect();return{panelId:ie.panelId,defaultBrushType:ee&&ee(ie),clipPath:y.makeRectPanelClipPath(H),isTargetByCursor:y.makeRectIsTargetByCursor(H,q,ie.coordSysModel),getLinearBrushOtherExtent:y.makeLinearBrushOtherExtent(H)}})},S.controlSeries=function(q,ee,ie){var H=this.findTargetInfo(q,ie);return H===!0||H&&v(H.coordSyses,ee.coordinateSystem)>=0},S.findTargetInfo=function(q,ee){for(var ie=this._targetInfoList,H=R(ee,q),le=0;leq[1]&&q.reverse(),q}function R(q,ee){return x.parseFinder(q,ee,{includeMainTypes:T})}var P={grid:function(q,ee){var ie=q.xAxisModels,H=q.yAxisModels,le=q.gridModels,ue=C.createHashMap(),Ae={},he={};!ie&&!H&&!le||(I(ie,function(ge){var fe=ge.axis.grid.model;ue.set(fe.id,fe),Ae[fe.id]=!0}),I(H,function(ge){var fe=ge.axis.grid.model;ue.set(fe.id,fe),he[fe.id]=!0}),I(le,function(ge){ue.set(ge.id,ge),Ae[ge.id]=!0,he[ge.id]=!0}),ue.each(function(ge){var fe=ge.coordinateSystem,ae=[];I(fe.getCartesians(),function(U,W){(v(ie,U.getAxis("x").model)>=0||v(H,U.getAxis("y").model)>=0)&&ae.push(U)}),ee.push({panelId:"grid--"+ge.id,gridModel:ge,coordSysModel:ge,coordSys:ae[0],coordSyses:ae,getPanelRect:L.grid,xAxisDeclared:Ae[ge.id],yAxisDeclared:he[ge.id]})}))},geo:function(q,ee){I(q.geoModels,function(ie){var H=ie.coordinateSystem;ee.push({panelId:"geo--"+ie.id,geoModel:ie,coordSysModel:ie,coordSys:H,coordSyses:[H],getPanelRect:L.geo})})}},M=[function(q,ee){var ie=q.xAxisModel,H=q.yAxisModel,le=q.gridModel;return!le&&ie&&(le=ie.axis.grid.model),!le&&H&&(le=H.axis.grid.model),le&&le===ee.gridModel},function(q,ee){var ie=q.geoModel;return ie&&ie===ee.geoModel}],L={grid:function(){return this.coordSys.grid.getRect().clone()},geo:function(){var q=this.coordSys,ee=q.getBoundingRect().clone();return ee.applyTransform(E.getTransform(q)),ee}},F={lineX:B(k,0),lineY:B(k,1),rect:function(q,ee,ie){var H=ee[Q[q]]([ie[0][0],ie[1][0]]),le=ee[Q[q]]([ie[0][1],ie[1][1]]),ue=[D([H[0],le[0]]),D([H[1],le[1]])];return{values:ue,xyMinMax:ue}},polygon:function(q,ee,ie){var H=[[1/0,-1/0],[1/0,-1/0]],le=C.map(ie,function(ue){var Ae=ee[Q[q]](ue);return H[0][0]=Math.min(H[0][0],Ae[0]),H[1][0]=Math.min(H[1][0],Ae[1]),H[0][1]=Math.max(H[0][1],Ae[0]),H[1][1]=Math.max(H[1][1],Ae[1]),Ae});return{values:le,xyMinMax:H}}};function k(q,ee,ie,H){var le=ie.getAxis(["x","y"][q]),ue=D(C.map([0,1],function(he){return ee?le.coordToData(le.toLocalCoord(H[he])):le.toGlobalCoord(le.dataToCoord(H[he]))})),Ae=[];return Ae[q]=ue,Ae[1-q]=[NaN,NaN],{values:ue,xyMinMax:Ae}}var N={lineX:B(G,0),lineY:B(G,1),rect:function(q,ee,ie){return[[q[0][0]-ie[0]*ee[0][0],q[0][1]-ie[0]*ee[0][1]],[q[1][0]-ie[1]*ee[1][0],q[1][1]-ie[1]*ee[1][1]]]},polygon:function(q,ee,ie){return C.map(q,function(H,le){return[H[0]-ie[0]*ee[le][0],H[1]-ie[1]*ee[le][1]]})}};function G(q,ee,ie,H){return[ee[0]-H[q]*ie[0],ee[1]-H[q]*ie[1]]}function J(q,ee){var ie=K(q),H=K(ee),le=[ie[0]/H[0],ie[1]/H[1]];return isNaN(le[0])&&(le[0]=1),isNaN(le[1])&&(le[1]=1),le}function K(q){return q?[q[0][1]-q[0][0],q[1][1]-q[1][0]]:[NaN,NaN]}var X=w;A.exports=X}),S6e=wt(o=>{var A=Bi(),f=A.each,m="\0_ec_hist_store";function C(v,B){var Q=I(v);f(B,function(T,w){for(var S=Q.length-1;S>=0;S--){var D=Q[S];if(D[w])break}if(S<0){var R=v.queryComponents({mainType:"dataZoom",subType:"select",id:w})[0];if(R){var P=R.getPercentRange();Q[0][w]={dataZoomId:w,start:P[0],end:P[1]}}}}),Q.push(B)}function E(v){var B=I(v),Q=B[B.length-1];B.length>1&&B.pop();var T={};return f(Q,function(w,S){for(var D=B.length-1;D>=0;D--){var w=B[D][S];if(w){T[S]=w;break}}}),T}function x(v){v[m]=null}function y(v){return I(v).length}function I(v){var B=v[m];return B||(B=v[m]=[{}]),B}o.push=C,o.pop=E,o.clear=x,o.count=y}),Q0e=wt(()=>{var o=C0();o.registerSubTypeDefaulter("dataZoom",function(){return"slider"})}),S0e=wt(o=>{var A=Bi(),f=Tc(),m=["x","y","z","radius","angle","single"],C=["cartesian2d","polar","singleAxis"];function E(v){return A.indexOf(C,v)>=0}function x(v,B){v=v.slice();var Q=A.map(v,f.capitalFirst);B=(B||[]).slice();var T=A.map(B,f.capitalFirst);return function(w,S){A.each(v,function(D,R){for(var P={name:D,capital:Q[R]},M=0;M=0}function w(D,R){var P=!1;return B(function(M){A.each(Q(D,M)||[],function(L){R.records[M.name][L]&&(P=!0)})}),P}function S(D,R){R.nodes.push(D),B(function(P){A.each(Q(D,P)||[],function(M){R.records[P.name][M]=!0})})}}o.isCoordSupported=E,o.createNameEach=x,o.eachAxisDim=y,o.createLinkedNodesFinder=I}),NEt=wt((o,A)=>{var f=Bi(),m=ds(),C=S0e(),E=q4(),x=f.each,y=m.asc,I=function(S,D,R,P){this._dimName=S,this._axisIndex=D,this._valueWindow,this._percentWindow,this._dataExtent,this._minMaxSpan,this.ecModel=P,this._dataZoomModel=R};I.prototype={constructor:I,hostedBy:function(S){return this._dataZoomModel===S},getDataValueWindow:function(){return this._valueWindow.slice()},getDataPercentWindow:function(){return this._percentWindow.slice()},getTargetSeriesModels:function(){var S=[],D=this.ecModel;return D.eachSeries(function(R){if(C.isCoordSupported(R.get("coordinateSystem"))){var P=this._dimName,M=D.queryComponents({mainType:P+"Axis",index:R.get(P+"AxisIndex"),id:R.get(P+"AxisId")})[0];this._axisIndex===(M&&M.componentIndex)&&S.push(R)}},this),S},getAxisModel:function(){return this.ecModel.getComponent(this._dimName+"Axis",this._axisIndex)},getOtherAxisModel:function(){var S=this._dimName,D=this.ecModel,R=this.getAxisModel(),P=S==="x"||S==="y",M,L;P?(L="gridIndex",M=S==="x"?"y":"x"):(L="polarIndex",M=S==="angle"?"radius":"angle");var F;return D.eachComponent(M+"Axis",function(k){(k.get(L)||0)===(R.get(L)||0)&&(F=k)}),F},getMinMaxSpan:function(){return f.clone(this._minMaxSpan)},calculateDataWindow:function(S){var D=this._dataExtent,R=this.getAxisModel(),P=R.axis.scale,M=this._dataZoomModel.getRangePropMode(),L=[0,100],F=[],k=[],N;x(["start","end"],function(K,X){var q=S[K],ee=S[K+"Value"];M[X]==="percent"?(q==null&&(q=L[X]),ee=P.parse(m.linearMap(q,L,D))):(N=!0,ee=ee==null?D[X]:P.parse(ee),q=m.linearMap(ee,D,L)),k[X]=ee,F[X]=q}),y(k),y(F);var G=this._minMaxSpan;N?J(k,F,D,L,!1):J(F,k,L,D,!0);function J(K,X,q,ee,ie){var H=ie?"Span":"ValueSpan";E(0,K,q,"all",G["min"+H],G["max"+H]);for(var le=0;le<2;le++)X[le]=m.linearMap(K[le],q,ee,!0),ie&&(X[le]=P.parse(X[le]))}return{valueWindow:k,percentWindow:F}},reset:function(S){if(S===this._dataZoomModel){var D=this.getTargetSeriesModels();this._dataExtent=v(this,this._dimName,D),T(this);var R=this.calculateDataWindow(S.settledOption);this._valueWindow=R.valueWindow,this._percentWindow=R.percentWindow,Q(this)}},restore:function(S){S===this._dataZoomModel&&(this._valueWindow=this._percentWindow=null,Q(this,!0))},filterData:function(S,D){if(S!==this._dataZoomModel)return;var R=this._dimName,P=this.getTargetSeriesModels(),M=S.get("filterMode"),L=this._valueWindow;if(M==="none")return;x(P,function(k){var N=k.getData(),G=N.mapDimension(R,!0);G.length&&(M==="weakFilter"?N.filterSelf(function(J){for(var K,X,q,ee=0;eeL[1];if(H&&!le&&!ue)return!0;H&&(q=!0),le&&(K=!0),ue&&(X=!0)}return q&&K&&X}):x(G,function(J){if(M==="empty")k.setData(N=N.map(J,function(X){return F(X)?X:NaN}));else{var K={};K[J]=L,N.selectRange(K)}}),x(G,function(J){N.setApproximateExtent(L,J)}))});function F(k){return k>=L[0]&&k<=L[1]}}};function v(S,D,R){var P=[1/0,-1/0];return x(R,function(M){var L=M.getData();L&&x(L.mapDimension(D,!0),function(F){var k=L.getApproximateExtent(F);k[0]P[1]&&(P[1]=k[1])})}),P[1]0?0:NaN);var F=R.getMax(!0);return F!=null&&F!=="dataMax"&&typeof F!="function"?D[1]=F:M&&(D[1]=L>0?L-1:NaN),R.get("scale",!0)||(D[0]>0&&(D[0]=0),D[1]<0&&(D[1]=0)),D}function Q(S,D){var R=S.getAxisModel(),P=S._percentWindow,M=S._valueWindow;if(P){var L=m.getPixelPrecision(M,[0,500]);L=Math.min(L,20);var F=D||P[0]===0&&P[1]===100;R.setRange(F?null:+M[0].toFixed(L),F?null:+M[1].toFixed(L))}}function T(S){var D=S._minMaxSpan={},R=S._dataZoomModel,P=S._dataExtent;x(["min","max"],function(M){var L=R.get(M+"Span"),F=R.get(M+"ValueSpan");F!=null&&(F=S.getAxisModel().axis.scale.parse(F)),F!=null?L=m.linearMap(P[0]+F,P,[0,100],!0):L!=null&&(F=m.linearMap(L,[0,100],P,!0)-P[0]),D[M+"Span"]=L,D[M+"ValueSpan"]=F})}var w=I;A.exports=w}),X4=wt((o,A)=>{var f=Bu(),m=f.__DEV__,C=Dn(),E=Bi(),x=jf(),y=Bl(),I=S0e(),v=NEt(),B=E.each,Q=I.eachAxisDim,T=C.extendComponentModel({type:"dataZoom",dependencies:["xAxis","yAxis","zAxis","radiusAxis","angleAxis","singleAxis","series"],defaultOption:{zlevel:0,z:4,orient:null,xAxisIndex:null,yAxisIndex:null,filterMode:"filter",throttle:null,start:0,end:100,startValue:null,endValue:null,minSpan:null,maxSpan:null,minValueSpan:null,maxValueSpan:null,rangeMode:null},init:function(R,P,M){this._dataIntervalByAxis={},this._dataInfo={},this._axisProxies={},this.textStyleModel,this._autoThrottle=!0,this._rangePropMode=["percent","percent"];var L=w(R);this.settledOption=L,this.mergeDefaultAndTheme(R,M),this.doInit(L)},mergeOption:function(R){var P=w(R);E.merge(this.option,R,!0),E.merge(this.settledOption,P,!0),this.doInit(P)},doInit:function(R){var P=this.option;x.canvasSupported||(P.realtime=!1),this._setDefaultThrottle(R),S(this,R);var M=this.settledOption;B([["start","startValue"],["end","endValue"]],function(L,F){this._rangePropMode[F]==="value"&&(P[L[0]]=M[L[0]]=null)},this),this.textStyleModel=this.getModel("textStyle"),this._resetTarget(),this._giveAxisProxies()},_giveAxisProxies:function(){var R=this._axisProxies;this.eachTargetAxis(function(P,M,L,F){var k=this.dependentModels[P.axis][M],N=k.__dzAxisProxy||(k.__dzAxisProxy=new v(P.name,M,this,F));R[P.name+"_"+M]=N},this)},_resetTarget:function(){var R=this.option,P=this._judgeAutoMode();Q(function(M){var L=M.axisIndex;R[L]=y.normalizeToArray(R[L])},this),P==="axisIndex"?this._autoSetAxisIndex():P==="orient"&&this._autoSetOrient()},_judgeAutoMode:function(){var R=this.option,P=!1;Q(function(L){R[L.axisIndex]!=null&&(P=!0)},this);var M=R.orient;if(M==null&&P)return"orient";if(!P)return M==null&&(R.orient="horizontal"),"axisIndex"},_autoSetAxisIndex:function(){var R=!0,P=this.get("orient",!0),M=this.option,L=this.dependentModels;if(R){var F=P==="vertical"?"y":"x";L[F+"Axis"].length?(M[F+"AxisIndex"]=[0],R=!1):B(L.singleAxis,function(k){R&&k.get("orient",!0)===P&&(M.singleAxisIndex=[k.componentIndex],R=!1)})}R&&Q(function(k){if(R){var N=[],G=this.dependentModels[k.axis];if(G.length&&!N.length)for(var J=0,K=G.length;J0?100:20}},getFirstTargetAxisModel:function(){var R;return Q(function(P){if(R==null){var M=this.get(P.axisIndex);M.length&&(R=this.dependentModels[P.axis][M[0]])}},this),R},eachTargetAxis:function(R,P){var M=this.ecModel;Q(function(L){B(this.get(L.axisIndex),function(F){R.call(P,L,F,this,M)},this)},this)},getAxisProxy:function(R,P){return this._axisProxies[R+"_"+P]},getAxisModel:function(R,P){var M=this.getAxisProxy(R,P);return M&&M.getAxisModel()},setRawRange:function(R){var P=this.option,M=this.settledOption;B([["start","startValue"],["end","endValue"]],function(L){(R[L[0]]!=null||R[L[1]]!=null)&&(P[L[0]]=M[L[0]]=R[L[0]],P[L[1]]=M[L[1]]=R[L[1]])},this),S(this,R)},setCalculatedRange:function(R){var P=this.option;B(["start","startValue","end","endValue"],function(M){P[M]=R[M]})},getPercentRange:function(){var R=this.findRepresentativeAxisProxy();if(R)return R.getDataPercentWindow()},getValueRange:function(R,P){if(R==null&&P==null){var M=this.findRepresentativeAxisProxy();if(M)return M.getDataValueWindow()}else return this.getAxisProxy(R,P).getDataValueWindow()},findRepresentativeAxisProxy:function(R){if(R)return R.__dzAxisProxy;var P=this._axisProxies;for(var M in P)if(P.hasOwnProperty(M)&&P[M].hostedBy(this))return P[M];for(var M in P)if(P.hasOwnProperty(M)&&!P[M].hostedBy(this))return P[M]},getRangePropMode:function(){return this._rangePropMode.slice()}});function w(R){var P={};return B(["start","end","startValue","endValue","throttle"],function(M){R.hasOwnProperty(M)&&(P[M]=R[M])}),P}function S(R,P){var M=R._rangePropMode,L=R.get("rangeMode");B([["start","startValue"],["end","endValue"]],function(F,k){var N=P[F[0]]!=null,G=P[F[1]]!=null;N&&!G?M[k]="percent":!N&&G?M[k]="value":L?M[k]=L[k]:N&&(M[k]="percent")})}var D=T;A.exports=D}),Z4=wt((o,A)=>{var f=ote(),m=f.extend({type:"dataZoom",render:function(C,E,x,y){this.dataZoomModel=C,this.ecModel=E,this.api=x},getTargetCoordInfo:function(){var C=this.dataZoomModel,E=this.ecModel,x={};C.eachTargetAxis(function(I,v){var B=E.getComponent(I.axis,v);if(B){var Q=B.getCoordSysModel();Q&&y(Q,B,x[Q.mainType]||(x[Q.mainType]=[]),Q.componentIndex)}},this);function y(I,v,B,Q){for(var T,w=0;w{var f=X4(),m=f.extend({type:"dataZoom.select"});A.exports=m}),OEt=wt((o,A)=>{var f=Z4(),m=f.extend({type:"dataZoom.select"});A.exports=m}),D0e=wt(()=>{var o=Dn(),A=Bi(),f=A.createHashMap,m=A.each;o.registerProcessor({getTargetSeries:function(C){var E=f();return C.eachComponent("dataZoom",function(x){x.eachTargetAxis(function(y,I,v){var B=v.getAxisProxy(y.name,I);m(B.getTargetSeriesModels(),function(Q){E.set(Q.uid,Q)})})}),E},modifyOutputEnd:!0,overallReset:function(C,E){C.eachComponent("dataZoom",function(x){x.eachTargetAxis(function(y,I,v){v.getAxisProxy(y.name,I).reset(v,E)}),x.eachTargetAxis(function(y,I,v){v.getAxisProxy(y.name,I).filterData(v,E)})}),C.eachComponent("dataZoom",function(x){var y=x.findRepresentativeAxisProxy(),I=y.getDataPercentWindow(),v=y.getDataValueWindow();x.setCalculatedRange({start:I[0],end:I[1],startValue:v[0],endValue:v[1]})})}})}),T0e=wt(()=>{var o=Dn(),A=Bi(),f=S0e();o.registerAction("dataZoom",function(m,C){var E=f.createLinkedNodesFinder(A.bind(C.eachComponent,C,"dataZoom"),f.eachAxisDim,function(y,I){return y.get(I.axisIndex)}),x=[];C.eachComponent({mainType:"dataZoom",query:m},function(y,I){x.push.apply(x,E(y).nodes)}),A.each(x,function(y,I){y.setRawRange({start:m.start,end:m.end,startValue:m.startValue,endValue:m.endValue})})})}),UEt=wt(()=>{Q0e(),X4(),Z4(),kEt(),OEt(),D0e(),T0e()}),GEt=wt((o,A)=>{var f=Dn(),m=Bi(),C=B0e(),E=Q6e(),x=S6e(),y=q4(),I=jP(),v=ZP();UEt();var B=I.toolbox.dataZoom,Q=m.each,T="\0_ec_\0toolbox-dataZoom_";function w(F,k,N){(this._brushController=new C(N.getZr())).on("brush",m.bind(this._onBrush,this)).mount(),this._isZoomActive}w.defaultOption={show:!0,filterMode:"filter",icon:{zoom:"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",back:"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"},title:m.clone(B.title)};var S=w.prototype;S.render=function(F,k,N,G){this.model=F,this.ecModel=k,this.api=N,M(F,k,this,G,N),P(F,k)},S.onclick=function(F,k,N){D[N].call(this)},S.remove=function(F,k){this._brushController.unmount()},S.dispose=function(F,k){this._brushController.dispose()};var D={zoom:function(){var F=!this._isZoomActive;this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:F})},back:function(){this._dispatchZoomAction(x.pop(this.ecModel))}};S._onBrush=function(F,k){if(!k.isEnd||!F.length)return;var N={},G=this.ecModel;this._brushController.updateCovers([]);var J=new E(R(this.model.option),G,{include:["grid"]});J.matchOutputRanges(F,G,function(q,ee,ie){if(ie.type==="cartesian2d"){var H=q.brushType;H==="rect"?(K("x",ie,ee[0]),K("y",ie,ee[1])):K({lineX:"x",lineY:"y"}[H],ie,ee)}}),x.push(G,N),this._dispatchZoomAction(N);function K(q,ee,ie){var H=ee.getAxis(q),le=H.model,ue=X(q,le,G),Ae=ue.findRepresentativeAxisProxy(le).getMinMaxSpan();(Ae.minValueSpan!=null||Ae.maxValueSpan!=null)&&(ie=y(0,ie.slice(),H.scale.getExtent(),0,Ae.minValueSpan,Ae.maxValueSpan)),ue&&(N[ue.id]={dataZoomId:ue.id,startValue:ie[0],endValue:ie[1]})}function X(q,ee,ie){var H;return ie.eachComponent({mainType:"dataZoom",subType:"select"},function(le){var ue=le.getAxisModel(q,ee.componentIndex);ue&&(H=le)}),H}},S._dispatchZoomAction=function(F){var k=[];Q(F,function(N,G){k.push(m.clone(N))}),k.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:k})};function R(F){var k={};return m.each(["xAxisIndex","yAxisIndex"],function(N){k[N]=F[N],k[N]==null&&(k[N]="all"),(k[N]===!1||k[N]==="none")&&(k[N]=[])}),k}function P(F,k){F.setIconStatus("back",x.count(k)>1?"emphasis":"normal")}function M(F,k,N,G,J){var K=N._isZoomActive;G&&G.type==="takeGlobalCursor"&&(K=G.key==="dataZoomSelect"?G.dataZoomSelectActive:!1),N._isZoomActive=K,F.setIconStatus("zoom",K?"emphasis":"normal");var X=new E(R(F.option),k,{include:["grid"]});N._brushController.setPanels(X.makePanelOpts(J,function(q){return q.xAxisDeclared&&!q.yAxisDeclared?"lineX":!q.xAxisDeclared&&q.yAxisDeclared?"lineY":"rect"})).enableBrush(K?{brushType:"auto",brushStyle:{lineWidth:0,fill:"rgba(0,0,0,0.2)"}}:!1)}v.register("dataZoom",w),f.registerPreprocessor(function(F){if(!F)return;var k=F.dataZoom||(F.dataZoom=[]);m.isArray(k)||(F.dataZoom=k=[k]);var N=F.toolbox;if(N&&(m.isArray(N)&&(N=N[0]),N&&N.feature)){var G=N.feature.dataZoom;J("xAxis",G),J("yAxis",G)}function J(X,q){if(q){var ee=X+"Index",ie=q[ee];ie!=null&&ie!=="all"&&!m.isArray(ie)&&(ie=ie===!1||ie==="none"?[]:[ie]),K(X,function(H,le){if(!(ie!=null&&ie!=="all"&&m.indexOf(ie,le)===-1)){var ue={type:"select",$fromToolbox:!0,filterMode:q.filterMode||"filter",id:T+X+le};ue[ee]=le,k.push(ue)}})}}function K(X,q){var ee=F[X];m.isArray(ee)||(ee=ee?[ee]:[]),Q(ee,q)}});var L=w;A.exports=L}),HEt=wt((o,A)=>{var f=Dn(),m=S6e(),C=jP(),E=ZP(),x=C.toolbox.restore;function y(B){this.model=B}y.defaultOption={show:!0,icon:"M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5",title:x.title};var I=y.prototype;I.onclick=function(B,Q,T){m.clear(B),Q.dispatchAction({type:"restore",from:this.uid})},E.register("restore",y),f.registerAction({type:"restore",event:"restore",update:"prepareAndUpdate"},function(B,Q){Q.resetOption("recreate")});var v=y;A.exports=v}),VEt=wt(()=>{MEt(),PEt(),REt(),LEt(),FEt(),GEt(),HEt()}),zEt=wt((o,A)=>{var f=Dn(),m=f.extendComponentModel({type:"tooltip",dependencies:["axisPointer"],defaultOption:{zlevel:0,z:60,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove|click",alwaysShowContent:!1,displayMode:"single",renderMode:"auto",confine:!1,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:"rgba(50,50,50,0.7)",borderColor:"#333",borderRadius:4,borderWidth:0,padding:5,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:"auto",animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",crossStyle:{color:"#999",width:1,type:"dashed",textStyle:{}}},textStyle:{color:"#fff",fontSize:14}}});A.exports=m}),YEt=wt((o,A)=>{var f=Bi(),m=Yb(),C=zb(),E=mHe(),x=jf(),y=Tc(),I=f.each,v=y.toCamelCase,B=["","-webkit-","-moz-","-o-"],Q="position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;";function T(M){var L="cubic-bezier(0.23, 1, 0.32, 1)",F="left "+M+"s "+L+",top "+M+"s "+L;return f.map(B,function(k){return k+"transition:"+F}).join(";")}function w(M){var L=[],F=M.get("fontSize"),k=M.getTextColor();return k&&L.push("color:"+k),L.push("font:"+M.getFont()),F&&L.push("line-height:"+Math.round(F*3/2)+"px"),I(["decoration","align"],function(N){var G=M.get(N);G&&L.push("text-"+N+":"+G)}),L.join(";")}function S(M){var L=[],F=M.get("transitionDuration"),k=M.get("backgroundColor"),N=M.getModel("textStyle"),G=M.get("padding");return F&&L.push(T(F)),k&&(x.canvasSupported?L.push("background-Color:"+k):(L.push("background-Color:#"+m.toHex(k)),L.push("filter:alpha(opacity=70)"))),I(["width","color","radius"],function(J){var K="border-"+J,X=v(K),q=M.get(X);q!=null&&L.push(K+":"+q+(J==="color"?"":"px"))}),L.push(w(N)),G!=null&&L.push("padding:"+y.normalizeCssArray(G).join("px ")+"px"),L.join(";")+";"}function D(M,L,F,k,N){var G=L&&L.painter;if(F){var J=G&&G.getViewportRoot();J&&E.transformLocalCoord(M,J,document.body,k,N)}else{M[0]=k,M[1]=N;var K=G&&G.getViewportRootOffset();K&&(M[0]+=K.offsetLeft,M[1]+=K.offsetTop)}}function R(M,L,F){if(x.wxa)return null;var k=document.createElement("div");k.domBelongToZr=!0,this.el=k;var N=this._zr=L.getZr(),G=this._appendToBody=F&&F.appendToBody;this._styleCoord=[0,0],D(this._styleCoord,N,G,L.getWidth()/2,L.getHeight()/2),G?document.body.appendChild(k):M.appendChild(k),this._container=M,this._show=!1,this._hideTimeout;var J=this;k.onmouseenter=function(){J._enterable&&(clearTimeout(J._hideTimeout),J._show=!0),J._inContent=!0},k.onmousemove=function(K){if(K=K||window.event,!J._enterable){var X=N.handler,q=N.painter.getViewportRoot();C.normalizeEvent(q,K,!0),X.dispatch("mousemove",K)}},k.onmouseleave=function(){J._enterable&&J._show&&J.hideLater(J._hideDelay),J._inContent=!1}}R.prototype={constructor:R,_enterable:!0,update:function(){var M=this._container,L=M.currentStyle||document.defaultView.getComputedStyle(M),F=M.style;F.position!=="absolute"&&L.position!=="absolute"&&(F.position="relative")},show:function(M){clearTimeout(this._hideTimeout);var L=this.el,F=this._styleCoord;L.style.cssText=Q+S(M)+";left:"+F[0]+"px;top:"+F[1]+"px;"+(M.get("extraCssText")||""),L.style.display=L.innerHTML?"block":"none",L.style.pointerEvents=this._enterable?"auto":"none",this._show=!0},setContent:function(M){this.el.innerHTML=M??""},setEnterable:function(M){this._enterable=M},getSize:function(){var M=this.el;return[M.clientWidth,M.clientHeight]},moveTo:function(M,L){var F=this._styleCoord;D(F,this._zr,this._appendToBody,M,L);var k=this.el.style;k.left=F[0]+"px",k.top=F[1]+"px"},hide:function(){this.el.style.display="none",this._show=!1},hideLater:function(M){this._show&&!(this._inContent&&this._enterable)&&(M?(this._hideDelay=M,this._show=!1,this._hideTimeout=setTimeout(f.bind(this.hide,this),M)):this.hide())},isShow:function(){return this._show},dispose:function(){this.el.parentNode.removeChild(this.el)},getOuterSize:function(){var M=this.el.clientWidth,L=this.el.clientHeight;if(document.defaultView&&document.defaultView.getComputedStyle){var F=document.defaultView.getComputedStyle(this.el);F&&(M+=parseInt(F.borderLeftWidth,10)+parseInt(F.borderRightWidth,10),L+=parseInt(F.borderTopWidth,10)+parseInt(F.borderBottomWidth,10))}return{width:M,height:L}}};var P=R;A.exports=P}),JEt=wt((o,A)=>{var f=Bi(),m=XN();function C(x){this._zr=x.getZr(),this._show=!1,this._hideTimeout}C.prototype={constructor:C,_enterable:!0,update:function(){},show:function(x){this._hideTimeout&&clearTimeout(this._hideTimeout),this.el.attr("show",!0),this._show=!0},setContent:function(x,y,I){this.el&&this._zr.remove(this.el);for(var v={},B=x,Q="{marker",T="|}",w=B.indexOf(Q);w>=0;){var S=B.indexOf(T),D=B.substr(w+Q.length,S-w-Q.length);D.indexOf("sub")>-1?v["marker"+D]={textWidth:4,textHeight:4,textBorderRadius:2,textBackgroundColor:y[D],textOffset:[3,0]}:v["marker"+D]={textWidth:10,textHeight:10,textBorderRadius:5,textBackgroundColor:y[D]},B=B.substr(S+1),w=B.indexOf("{marker")}this.el=new m({style:{rich:v,text:x,textLineHeight:20,textBackgroundColor:I.get("backgroundColor"),textBorderRadius:I.get("borderRadius"),textFill:I.get("textStyle.color"),textPadding:I.get("padding")},z:I.get("z")}),this._zr.add(this.el);var R=this;this.el.on("mouseover",function(){R._enterable&&(clearTimeout(R._hideTimeout),R._show=!0),R._inContent=!0}),this.el.on("mouseout",function(){R._enterable&&R._show&&R.hideLater(R._hideDelay),R._inContent=!1})},setEnterable:function(x){this._enterable=x},getSize:function(){var x=this.el.getBoundingRect();return[x.width,x.height]},moveTo:function(x,y){this.el&&this.el.attr("position",[x,y])},hide:function(){this.el&&this.el.hide(),this._show=!1},hideLater:function(x){this._show&&!(this._inContent&&this._enterable)&&(x?(this._hideDelay=x,this._show=!1,this._hideTimeout=setTimeout(f.bind(this.hide,this),x)):this.hide())},isShow:function(){return this._show},getOuterSize:function(){var x=this.getSize();return{width:x[0],height:x[1]}}};var E=C;A.exports=E}),KEt=wt((o,A)=>{var f=Dn(),m=Bi(),C=jf(),E=YEt(),x=JEt(),y=Tc(),I=ds(),v=To(),B=_6e(),Q=pc(),T=qf(),w=v6e(),S=Cw(),D=gte(),R=Bl(),P=R.getTooltipRenderMode,M=m.bind,L=m.each,F=I.parsePercent,k=new v.Rect({shape:{x:-1,y:-1,width:2,height:2}}),N=f.extendComponentView({type:"tooltip",init:function(ie,H){if(!C.node){var le=ie.getComponent("tooltip"),ue=le.get("renderMode");this._renderMode=P(ue);var Ae;this._renderMode==="html"?(Ae=new E(H.getDom(),H,{appendToBody:le.get("appendToBody",!0)}),this._newLine="
"):(Ae=new x(H),this._newLine=` `),this._tooltipContent=Ae}},render:function(ie,H,le){if(!C.node){this.group.removeAll(),this._tooltipModel=ie,this._ecModel=H,this._api=le,this._lastDataByCoordSys=null,this._alwaysShowContent=ie.get("alwaysShowContent");var ue=this._tooltipContent;ue.update(),ue.setEnterable(ie.get("enterable")),this._initGlobalListener(),this._keepShow()}},_initGlobalListener:function(){var ie=this._tooltipModel,H=ie.get("triggerOn");w.register("itemTooltip",this._api,M(function(le,ue,Ae){H!=="none"&&(H.indexOf(le)>=0?this._tryShow(ue,Ae):le==="leave"&&this._hide(Ae))},this))},_keepShow:function(){var ie=this._tooltipModel,H=this._ecModel,le=this._api;if(this._lastX!=null&&this._lastY!=null&&ie.get("triggerOn")!=="none"){var ue=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){!le.isDisposed()&&ue.manuallyShowTip(ie,H,le,{x:ue._lastX,y:ue._lastY})})}},manuallyShowTip:function(ie,H,le,ue){if(!(ue.from===this.uid||C.node)){var Ae=J(ue,le);this._ticket="";var he=ue.dataByCoordSys;if(ue.tooltip&&ue.x!=null&&ue.y!=null){var ge=k;ge.position=[ue.x,ue.y],ge.update(),ge.tooltip=ue.tooltip,this._tryShow({offsetX:ue.x,offsetY:ue.y,target:ge},Ae)}else if(he)this._tryShow({offsetX:ue.x,offsetY:ue.y,position:ue.position,dataByCoordSys:ue.dataByCoordSys,tooltipOption:ue.tooltipOption},Ae);else if(ue.seriesIndex!=null){if(this._manuallyAxisShowTip(ie,H,le,ue))return;var fe=B(ue,H),ae=fe.point[0],U=fe.point[1];ae!=null&&U!=null&&this._tryShow({offsetX:ae,offsetY:U,position:ue.position,target:fe.el},Ae)}else ue.x!=null&&ue.y!=null&&(le.dispatchAction({type:"updateAxisPointer",x:ue.x,y:ue.y}),this._tryShow({offsetX:ue.x,offsetY:ue.y,position:ue.position,target:le.getZr().findHover(ue.x,ue.y).target},Ae))}},manuallyHideTip:function(ie,H,le,ue){var Ae=this._tooltipContent;!this._alwaysShowContent&&this._tooltipModel&&Ae.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=null,ue.from!==this.uid&&this._hide(J(ue,le))},_manuallyAxisShowTip:function(ie,H,le,ue){var Ae=ue.seriesIndex,he=ue.dataIndex,ge=H.getComponent("axisPointer").coordSysAxesInfo;if(!(Ae==null||he==null||ge==null)){var fe=H.getSeriesByIndex(Ae);if(fe){var ae=fe.getData(),ie=G([ae.getItemModel(he),fe,(fe.coordinateSystem||{}).model,ie]);if(ie.get("trigger")==="axis")return le.dispatchAction({type:"updateAxisPointer",seriesIndex:Ae,dataIndex:he,position:ue.position}),!0}}},_tryShow:function(ie,H){var le=ie.target,ue=this._tooltipModel;if(ue){this._lastX=ie.offsetX,this._lastY=ie.offsetY;var Ae=ie.dataByCoordSys;Ae&&Ae.length?this._showAxisTooltip(Ae,ie):le&&le.dataIndex!=null?(this._lastDataByCoordSys=null,this._showSeriesItemTooltip(ie,le,H)):le&&le.tooltip?(this._lastDataByCoordSys=null,this._showComponentItemTooltip(ie,le,H)):(this._lastDataByCoordSys=null,this._hide(H))}},_showOrMove:function(ie,H){var le=ie.get("showDelay");H=m.bind(H,this),clearTimeout(this._showTimout),le>0?this._showTimout=setTimeout(H,le):H()},_showAxisTooltip:function(ie,H){var le=this._ecModel,ue=this._tooltipModel,Ae=[H.offsetX,H.offsetY],he=[],ge=[],fe=G([H.tooltipOption,ue]),ae=this._renderMode,U=this._newLine,W={};L(ie,function(z){L(z.dataByAxis,function(re){var se=le.getComponent(re.axisDim+"Axis",re.axisIndex),de=re.value,me=[];if(!(!se||de==null)){var Ce=D.getValueLabel(de,se.axis,le,re.seriesDataIndices,re.valueLabelOpt);m.each(re.seriesDataIndices,function(we){var Te=le.getSeriesByIndex(we.seriesIndex),Ge=we.dataIndexInside,ke=Te&&Te.getDataParams(Ge);if(ke.axisDim=re.axisDim,ke.axisIndex=re.axisIndex,ke.axisType=re.axisType,ke.axisId=re.axisId,ke.axisValue=S.getAxisRawValue(se.axis,de),ke.axisValueLabel=Ce,ke){ge.push(ke);var Oe=Te.formatTooltip(Ge,!0,null,ae),Le;if(m.isObject(Oe)){Le=Oe.html;var be=Oe.markers;m.merge(W,be)}else Le=Oe;me.push(Le)}});var Ie=Ce;ae!=="html"?he.push(me.join(U)):he.push((Ie?y.encodeHTML(Ie)+U:"")+me.join(U))}})},this),he.reverse(),he=he.join(this._newLine+this._newLine);var Y=H.position;this._showOrMove(fe,function(){this._updateContentNotChangedOnAxis(ie)?this._updatePosition(fe,Y,Ae[0],Ae[1],this._tooltipContent,ge):this._showTooltipContent(fe,he,ge,Math.random(),Ae[0],Ae[1],Y,void 0,W)})},_showSeriesItemTooltip:function(ie,H,le){var ue=this._ecModel,Ae=H.seriesIndex,he=ue.getSeriesByIndex(Ae),ge=H.dataModel||he,fe=H.dataIndex,ae=H.dataType,U=ge.getData(ae),W=G([U.getItemModel(fe),ge,he&&(he.coordinateSystem||{}).model,this._tooltipModel]),Y=W.get("trigger");if(!(Y!=null&&Y!=="item")){var z=ge.getDataParams(fe,ae),re=ge.formatTooltip(fe,!1,ae,this._renderMode),se,de;m.isObject(re)?(se=re.html,de=re.markers):(se=re,de=null);var me="item_"+ge.name+"_"+fe;this._showOrMove(W,function(){this._showTooltipContent(W,se,z,me,ie.offsetX,ie.offsetY,ie.position,ie.target,de)}),le({type:"showTip",dataIndexInside:fe,dataIndex:U.getRawIndex(fe),seriesIndex:Ae,from:this.uid})}},_showComponentItemTooltip:function(ie,H,le){var ue=H.tooltip;if(typeof ue=="string"){var Ae=ue;ue={content:Ae,formatter:Ae}}var he=new T(ue,this._tooltipModel,this._ecModel),ge=he.get("content"),fe=Math.random();this._showOrMove(he,function(){this._showTooltipContent(he,ge,he.get("formatterParams")||{},fe,ie.offsetX,ie.offsetY,ie.position,H)}),le({type:"showTip",from:this.uid})},_showTooltipContent:function(ie,H,le,ue,Ae,he,ge,fe,ae){if(this._ticket="",!(!ie.get("showContent")||!ie.get("show"))){var U=this._tooltipContent,W=ie.get("formatter");ge=ge||ie.get("position");var Y=H;if(W&&typeof W=="string")Y=y.formatTpl(W,le,!0);else if(typeof W=="function"){var z=M(function(re,se){re===this._ticket&&(U.setContent(se,ae,ie),this._updatePosition(ie,ge,Ae,he,U,le,fe))},this);this._ticket=ue,Y=W(le,ue,z)}U.setContent(Y,ae,ie),U.show(ie),this._updatePosition(ie,ge,Ae,he,U,le,fe)}},_updatePosition:function(ie,H,le,ue,Ae,he,ge){var fe=this._api.getWidth(),ae=this._api.getHeight();H=H||ie.get("position");var U=Ae.getSize(),W=ie.get("align"),Y=ie.get("verticalAlign"),z=ge&&ge.getBoundingRect().clone();if(ge&&z.applyTransform(ge.transform),typeof H=="function"&&(H=H([le,ue],he,Ae.el,z,{viewSize:[fe,ae],contentSize:U.slice()})),m.isArray(H))le=F(H[0],fe),ue=F(H[1],ae);else if(m.isObject(H)){H.width=U[0],H.height=U[1];var re=Q.getLayoutRect(H,{width:fe,height:ae});le=re.x,ue=re.y,W=null,Y=null}else if(typeof H=="string"&&ge){var se=q(H,z,U);le=se[0],ue=se[1]}else{var se=K(le,ue,Ae,fe,ae,W?null:20,Y?null:20);le=se[0],ue=se[1]}if(W&&(le-=ee(W)?U[0]/2:W==="right"?U[0]:0),Y&&(ue-=ee(Y)?U[1]/2:Y==="bottom"?U[1]:0),ie.get("confine")){var se=X(le,ue,Ae,fe,ae);le=se[0],ue=se[1]}Ae.moveTo(le,ue)},_updateContentNotChangedOnAxis:function(ie){var H=this._lastDataByCoordSys,le=!!H&&H.length===ie.length;return le&&L(H,function(ue,Ae){var he=ue.dataByAxis||{},ge=ie[Ae]||{},fe=ge.dataByAxis||[];le&=he.length===fe.length,le&&L(he,function(ae,U){var W=fe[U]||{},Y=ae.seriesDataIndices||[],z=W.seriesDataIndices||[];le&=ae.value===W.value&&ae.axisType===W.axisType&&ae.axisId===W.axisId&&Y.length===z.length,le&&L(Y,function(re,se){var de=z[se];le&=re.seriesIndex===de.seriesIndex&&re.dataIndex===de.dataIndex})})}),this._lastDataByCoordSys=ie,!!le},_hide:function(ie){this._lastDataByCoordSys=null,ie({type:"hideTip",from:this.uid})},dispose:function(ie,H){C.node||(this._tooltipContent.dispose(),w.unregister("itemTooltip",H))}});function G(ie){for(var H=ie.pop();ie.length;){var le=ie.pop();le&&(T.isInstance(le)&&(le=le.get("tooltip",!0)),typeof le=="string"&&(le={formatter:le}),H=new T(le,H,H.ecModel))}return H}function J(ie,H){return ie.dispatchAction||m.bind(H.dispatchAction,H)}function K(ie,H,le,ue,Ae,he,ge){var fe=le.getOuterSize(),ae=fe.width,U=fe.height;return he!=null&&(ie+ae+he>ue?ie-=ae+he:ie+=he),ge!=null&&(H+U+ge>Ae?H-=U+ge:H+=ge),[ie,H]}function X(ie,H,le,ue,Ae){var he=le.getOuterSize(),ge=he.width,fe=he.height;return ie=Math.min(ie+ge,ue)-ge,H=Math.min(H+fe,Ae)-fe,ie=Math.max(ie,0),H=Math.max(H,0),[ie,H]}function q(ie,H,le){var ue=le[0],Ae=le[1],he=5,ge=0,fe=0,ae=H.width,U=H.height;switch(ie){case"inside":ge=H.x+ae/2-ue/2,fe=H.y+U/2-Ae/2;break;case"top":ge=H.x+ae/2-ue/2,fe=H.y-Ae-he;break;case"bottom":ge=H.x+ae/2-ue/2,fe=H.y+U+he;break;case"left":ge=H.x-ue-he,fe=H.y+U/2-Ae/2;break;case"right":ge=H.x+ae+he,fe=H.y+U/2-Ae/2}return[ge,fe]}function ee(ie){return ie==="center"||ie==="middle"}A.exports=N}),WEt=wt(()=>{var o=Dn();Tz(),zEt(),KEt(),o.registerAction({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},function(){}),o.registerAction({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},function(){})}),jEt=wt((o,A)=>{var f=Bi(),m=["rect","polygon","keep","clear"];function C(x,y){var I=x&&x.brush;if(f.isArray(I)||(I=I?[I]:[]),!!I.length){var v=[];f.each(I,function(S){var D=S.hasOwnProperty("toolbox")?S.toolbox:[];D instanceof Array&&(v=v.concat(D))});var B=x&&x.toolbox;f.isArray(B)&&(B=B[0]),B||(B={feature:{}},x.toolbox=[B]);var Q=B.feature||(B.feature={}),T=Q.brush||(Q.brush={}),w=T.type||(T.type=[]);w.push.apply(w,v),E(w),y&&!w.length&&w.push.apply(w,m)}}function E(x){var y={};f.each(x,function(I){y[I]=1}),x.length=0,f.each(y,function(I,v){x.push(v)})}A.exports=C}),pte=wt(o=>{var A=Bi(),f=r3(),m=A.each;function C(v){if(v){for(var B in v)if(v.hasOwnProperty(B))return!0}}function E(v,B,Q){var T={};return m(B,function(S){var D=T[S]=w();m(v[S],function(R,P){if(f.isValidType(P)){var M={type:P,visual:R};Q&&Q(M,S),D[P]=new f(M),P==="opacity"&&(M=A.clone(M),M.type="colorAlpha",D.__hidden.__alphaForOpacity=new f(M))}})}),T;function w(){var S=function(){};S.prototype.__hidden=S.prototype;var D=new S;return D}}function x(v,B,Q){var T;A.each(Q,function(w){B.hasOwnProperty(w)&&C(B[w])&&(T=!0)}),T&&A.each(Q,function(w){B.hasOwnProperty(w)&&C(B[w])?v[w]=A.clone(B[w]):delete v[w]})}function y(v,B,Q,T,w,S){var D={};A.each(v,function(F){var k=f.prepareVisualTypes(B[F]);D[F]=k});var R;function P(F){return Q.getItemVisual(R,F)}function M(F,k){Q.setItemVisual(R,F,k)}S==null?Q.each(L):Q.each([S],L);function L(F,k){R=S==null?F:k;var N=Q.getRawDataItem(R);if(!(N&&N.visualMap===!1))for(var G=T.call(w,F),J=B[G],K=D[G],X=0,q=K.length;X{var f=KHe(),m=zh(),C=To(),E=C.linePolygonIntersect,x={lineX:y(0),lineY:y(1),rect:{point:function(B,Q,T){return B&&T.boundingRect.contain(B[0],B[1])},rect:function(B,Q,T){return B&&T.boundingRect.intersect(B)}},polygon:{point:function(B,Q,T){return B&&T.boundingRect.contain(B[0],B[1])&&f.contain(T.range,B[0],B[1])},rect:function(B,Q,T){var w=T.range;if(!B||w.length<=1)return!1;var S=B.x,D=B.y,R=B.width,P=B.height,M=w[0];if(f.contain(w,S,D)||f.contain(w,S+R,D)||f.contain(w,S,D+P)||f.contain(w,S+R,D+P)||m.create(B).contain(M[0],M[1])||E(S,D,S+R,D,w)||E(S,D,S,D+P,w)||E(S+R,D,S+R,D+P,w)||E(S,D+P,S+R,D+P,w))return!0}}};function y(B){var Q=["x","y"],T=["width","height"];return{point:function(w,S,D){if(w){var R=D.range,P=w[B];return I(P,R)}},rect:function(w,S,D){if(w){var R=D.range,P=[w[Q[B]],w[Q[B]]+w[T[B]]];return P[1]{var A=Dn(),f=Bi(),m=zh(),C=pte(),E=qEt(),x=WP(),y=Q6e(),I=["inBrush","outOfBrush"],v="__ecBrushSelect",B="__ecInBrushSelectEvent",Q=A.PRIORITY.VISUAL.BRUSH;A.registerLayout(Q,function(k,N,G){k.eachComponent({mainType:"brush"},function(J){G&&G.type==="takeGlobalCursor"&&J.setBrushOption(G.key==="brush"?G.brushOption:{brushType:!1})}),T(k)});function T(k){k.eachComponent({mainType:"brush"},function(N){var G=N.brushTargetManager=new y(N.option,k);G.setInputRanges(N.areas,k)})}A.registerVisual(Q,function(k,N,G){var J=[],K,X;k.eachComponent({mainType:"brush"},function(q,ee){var ie={brushId:q.id,brushIndex:ee,brushName:q.name,areas:f.clone(q.areas),selected:[]};J.push(ie);var H=q.option,le=H.brushLink,ue=[],Ae=[],he=[],ge=0;ee||(K=H.throttleType,X=H.throttleDelay);var fe=f.map(q.areas,function(re){return M(f.defaults({boundingRect:L[re.brushType](re)},re))}),ae=C.createVisualMappings(q.option,I,function(re){re.mappingMethod="fixed"});f.isArray(le)&&f.each(le,function(re){ue[re]=1});function U(re){return le==="all"||ue[re]}function W(re){return!!re.length}k.eachSeries(function(re,se){var de=he[se]=[];re.subType==="parallel"?Y(re,se,de):z(re,se,de)});function Y(re,se){var de=re.coordinateSystem;ge|=de.hasAxisBrushed(),U(se)&&de.eachActiveState(re.getData(),function(me,Ce){me==="active"&&(Ae[Ce]=1)})}function z(re,se,de){var me=R(re);if(!(!me||P(q,se))&&(f.each(fe,function(Ie){me[Ie.brushType]&&q.brushTargetManager.controlSeries(Ie,re,k)&&de.push(Ie),ge|=W(de)}),U(se)&&W(de))){var Ce=re.getData();Ce.each(function(Ie){D(me,de,Ce,Ie)&&(Ae[Ie]=1)})}}k.eachSeries(function(re,se){var de={seriesId:re.id,seriesIndex:se,seriesName:re.name,dataIndex:[]};ie.selected.push(de);var me=R(re),Ce=he[se],Ie=re.getData(),we=U(se)?function(Te){return Ae[Te]?(de.dataIndex.push(Ie.getRawIndex(Te)),"inBrush"):"outOfBrush"}:function(Te){return D(me,Ce,Ie,Te)?(de.dataIndex.push(Ie.getRawIndex(Te)),"inBrush"):"outOfBrush"};(U(se)?ge:W(Ce))&&C.applyVisual(I,ae,Ie,we)})}),w(N,K,X,J,G)});function w(k,N,G,J,K){if(K){var X=k.getZr();if(!X[B]){X[v]||(X[v]=S);var q=x.createOrUpdate(X,v,G,N);q(k,J)}}}function S(k,N){if(!k.isDisposed()){var G=k.getZr();G[B]=!0,k.dispatchAction({type:"brushSelect",batch:N}),G[B]=!1}}function D(k,N,G,J){for(var K=0,X=N.length;KN[0][1]&&(N[0][1]=X[0]),X[1]N[1][1]&&(N[1][1]=X[1])}return N&&F(N)}};function F(k){return new m(k[0][0],k[1][0],k[0][1]-k[0][0],k[1][1]-k[1][0])}o.layoutCovers=T}),XEt=wt((o,A)=>{var f=Bu(),m=f.__DEV__,C=Dn(),E=Bi(),x=pte(),y=qf(),I=["#ddd"],v=C.extendComponentModel({type:"brush",dependencies:["geo","grid","xAxis","yAxis","parallel","series"],defaultOption:{toolbox:null,brushLink:null,seriesIndex:"all",geoIndex:null,xAxisIndex:null,yAxisIndex:null,brushType:"rect",brushMode:"single",transformable:!0,brushStyle:{borderWidth:1,color:"rgba(120,140,180,0.3)",borderColor:"rgba(120,140,180,0.8)"},throttleType:"fixRate",throttleDelay:0,removeOnClick:!0,z:1e4},areas:[],brushType:null,brushOption:{},coordInfoList:[],optionUpdated:function(T,w){var S=this.option;!w&&x.replaceVisualOption(S,T,["inBrush","outOfBrush"]);var D=S.inBrush=S.inBrush||{};S.outOfBrush=S.outOfBrush||{color:I},D.hasOwnProperty("liftZ")||(D.liftZ=5)},setAreas:function(T){T&&(this.areas=E.map(T,function(w){return B(this.option,w)},this))},setBrushOption:function(T){this.brushOption=B(this.option,T),this.brushType=this.brushOption.brushType}});function B(T,w){return E.merge({brushType:T.brushType,brushMode:T.brushMode,transformable:T.transformable,brushStyle:new y(T.brushStyle).getItemStyle(),removeOnClick:T.removeOnClick,z:T.z},w,!0)}var Q=v;A.exports=Q}),ZEt=wt((o,A)=>{var f=Dn(),m=Bi(),C=B0e(),E=D6e(),x=E.layoutCovers,y=f.extendComponentView({type:"brush",init:function(v,B){this.ecModel=v,this.api=B,this.model,(this._brushController=new C(B.getZr())).on("brush",m.bind(this._onBrush,this)).mount()},render:function(v){return this.model=v,I.apply(this,arguments)},updateTransform:function(v,B){return x(B),I.apply(this,arguments)},updateView:I,dispose:function(){this._brushController.dispose()},_onBrush:function(v,B){var Q=this.model.id;this.model.brushTargetManager.setOutputRanges(v,this.ecModel),(!B.isEnd||B.removeOnClick)&&this.api.dispatchAction({type:"brush",brushId:Q,areas:m.clone(v),$from:Q}),B.isEnd&&this.api.dispatchAction({type:"brushEnd",brushId:Q,areas:m.clone(v),$from:Q})}});function I(v,B,Q,T){(!T||T.$from!==v.id)&&this._brushController.setPanels(v.brushTargetManager.makePanelOpts(Q)).enableBrush(v.brushOption).updateCovers(v.areas.slice())}A.exports=y}),$Et=wt(()=>{var o=Dn();o.registerAction({type:"brush",event:"brush"},function(A,f){f.eachComponent({mainType:"brush",query:A},function(m){m.setAreas(A.areas)})}),o.registerAction({type:"brushSelect",event:"brushSelected",update:"none"},function(){}),o.registerAction({type:"brushEnd",event:"brushEnd",update:"none"},function(){})}),ext=wt((o,A)=>{var f=Bi(),m=ZP(),C=jP(),E=C.toolbox.brush;function x(v,B,Q){this.model=v,this.ecModel=B,this.api=Q,this._brushType,this._brushMode}x.defaultOption={show:!0,type:["rect","polygon","lineX","lineY","keep","clear"],icon:{rect:"M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13",polygon:"M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2",lineX:"M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4",lineY:"M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4",keep:"M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z",clear:"M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2"},title:f.clone(E.title)};var y=x.prototype;y.render=y.updateView=function(v,B,Q){var T,w,S;B.eachComponent({mainType:"brush"},function(D){T=D.brushType,w=D.brushOption.brushMode||"single",S|=D.areas.length}),this._brushType=T,this._brushMode=w,f.each(v.get("type",!0),function(D){v.setIconStatus(D,(D==="keep"?w==="multiple":D==="clear"?S:D===T)?"emphasis":"normal")})},y.getIcons=function(){var v=this.model,B=v.get("icon",!0),Q={};return f.each(v.get("type",!0),function(T){B[T]&&(Q[T]=B[T])}),Q},y.onclick=function(v,B,Q){var T=this._brushType,w=this._brushMode;Q==="clear"?(B.dispatchAction({type:"axisAreaSelect",intervals:[]}),B.dispatchAction({type:"brush",command:"clear",areas:[]})):B.dispatchAction({type:"takeGlobalCursor",key:"brush",brushOption:{brushType:Q==="keep"?T:T===Q?!1:Q,brushMode:Q==="keep"?w==="multiple"?"single":"multiple":w}})},m.register("brush",x);var I=x;A.exports=I}),txt=wt(()=>{var o=Dn(),A=jEt();D6e(),XEt(),ZEt(),$Et(),ext(),o.registerPreprocessor(A)}),ixt=wt(()=>{var o=Bi(),A=Dn(),f=To(),m=pc(),C=m.getLayoutRect,E=Tc(),x=E.windowOpen;A.extendComponentModel({type:"title",layoutMode:{type:"box",ignoreSize:!0},defaultOption:{zlevel:0,z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bolder",color:"#333"},subtextStyle:{color:"#aaa"}}}),A.extendComponentView({type:"title",render:function(y,I,v){if(this.group.removeAll(),!!y.get("show")){var B=this.group,Q=y.getModel("textStyle"),T=y.getModel("subtextStyle"),w=y.get("textAlign"),S=o.retrieve2(y.get("textBaseline"),y.get("textVerticalAlign")),D=new f.Text({style:f.setTextStyle({},Q,{text:y.get("text"),textFill:Q.getTextColor()},{disableBox:!0}),z2:10}),R=D.getBoundingRect(),P=y.get("subtext"),M=new f.Text({style:f.setTextStyle({},T,{text:P,textFill:T.getTextColor(),y:R.height+y.get("itemGap"),textVerticalAlign:"top"},{disableBox:!0}),z2:10}),L=y.get("link"),F=y.get("sublink"),k=y.get("triggerEvent",!0);D.silent=!L&&!k,M.silent=!F&&!k,L&&D.on("click",function(){x(L,"_"+y.get("target"))}),F&&M.on("click",function(){x(L,"_"+y.get("subtarget"))}),D.eventData=M.eventData=k?{componentType:"title",componentIndex:y.componentIndex}:null,B.add(D),P&&B.add(M);var N=B.getBoundingRect(),G=y.getBoxLayoutParams();G.width=N.width,G.height=N.height;var J=C(G,{width:v.getWidth(),height:v.getHeight()},y.get("padding"));w||(w=y.get("left")||y.get("right"),w==="middle"&&(w="center"),w==="right"?J.x+=J.width:w==="center"&&(J.x+=J.width/2)),S||(S=y.get("top")||y.get("bottom"),S==="center"&&(S="middle"),S==="bottom"?J.y+=J.height:S==="middle"&&(J.y+=J.height/2),S=S||"top"),B.attr("position",[J.x,J.y]);var K={textAlign:w,textVerticalAlign:S};D.setStyle(K),M.setStyle(K),N=B.getBoundingRect();var X=J.margin,q=y.getItemStyle(["color","opacity"]);q.fill=y.get("backgroundColor");var ee=new f.Rect({shape:{x:N.x-X[3],y:N.y-X[0],width:N.width+X[1]+X[3],height:N.height+X[0]+X[2],r:y.get("borderRadius")},style:q,subPixelOptimize:!0,silent:!0});B.add(ee)}}})}),rxt=wt((o,A)=>{var f=Bi();function m(y){var I=y&&y.timeline;f.isArray(I)||(I=I?[I]:[]),f.each(I,function(v){v&&C(v)})}function C(y){var I=y.type,v={number:"value",time:"time"};if(v[I]&&(y.axisType=v[I],delete y.type),E(y),x(y,"controlPosition")){var B=y.controlStyle||(y.controlStyle={});x(B,"position")||(B.position=y.controlPosition),B.position==="none"&&!x(B,"show")&&(B.show=!1,delete B.position),delete y.controlPosition}f.each(y.data||[],function(Q){f.isObject(Q)&&!f.isArray(Q)&&(!x(Q,"value")&&x(Q,"name")&&(Q.value=Q.name),E(Q))})}function E(y){var I=y.itemStyle||(y.itemStyle={}),v=I.emphasis||(I.emphasis={}),B=y.label||y.label||{},Q=B.normal||(B.normal={}),T={normal:1,emphasis:1};f.each(B,function(w,S){!T[S]&&!x(Q,S)&&(Q[S]=w)}),v.label&&!x(B,"emphasis")&&(B.emphasis=v.label,delete v.label)}function x(y,I){return y.hasOwnProperty(I)}A.exports=m}),nxt=wt(()=>{var o=C0();o.registerSubTypeDefaulter("timeline",function(){return"slider"})}),oxt=wt(()=>{var o=Dn(),A=Bi();o.registerAction({type:"timelineChange",event:"timelineChanged",update:"prepareAndUpdate"},function(f,m){var C=m.getComponent("timeline");return C&&f.currentIndex!=null&&(C.setCurrentIndex(f.currentIndex),!C.get("loop",!0)&&C.isIndexMax()&&C.setPlayState(!1)),m.resetOption("timeline"),A.defaults({currentIndex:C.option.currentIndex},f)}),o.registerAction({type:"timelinePlayChange",event:"timelinePlayChanged",update:"update"},function(f,m){var C=m.getComponent("timeline");C&&f.playState!=null&&C.setPlayState(f.playState)})}),axt=wt((o,A)=>{var f=Bi(),m=C0(),C=sv(),E=Bl(),x=m.extend({type:"timeline",layoutMode:"box",defaultOption:{zlevel:0,z:4,show:!0,axisType:"time",realtime:!0,left:"20%",top:null,right:"20%",bottom:0,width:null,height:40,padding:5,controlPosition:"left",autoPlay:!1,rewind:!1,loop:!0,playInterval:2e3,currentIndex:0,itemStyle:{},label:{color:"#000"},data:[]},init:function(I,v,B){this._data,this._names,this.mergeDefaultAndTheme(I,B),this._initData()},mergeOption:function(I){x.superApply(this,"mergeOption",arguments),this._initData()},setCurrentIndex:function(I){I==null&&(I=this.option.currentIndex);var v=this._data.count();this.option.loop?I=(I%v+v)%v:(I>=v&&(I=v-1),I<0&&(I=0)),this.option.currentIndex=I},getCurrentIndex:function(){return this.option.currentIndex},isIndexMax:function(){return this.getCurrentIndex()>=this._data.count()-1},setPlayState:function(I){this.option.autoPlay=!!I},getPlayState:function(){return!!this.option.autoPlay},_initData:function(){var I=this.option,v=I.data||[],B=I.axisType,Q=this._names=[];if(B==="category"){var T=[];f.each(v,function(D,R){var P=E.getDataItemValue(D),M;f.isObject(D)?(M=f.clone(D),M.value=R):M=R,T.push(M),!f.isString(P)&&(P==null||isNaN(P))&&(P=""),Q.push(P+"")}),v=T}var w={category:"ordinal",time:"time"}[B]||"number",S=this._data=new C([{name:"value",type:w}],this);S.initData(v,Q)},getData:function(){return this._data},getCategories:function(){if(this.get("axisType")==="category")return this._names.slice()}}),y=x;A.exports=y}),sxt=wt((o,A)=>{var f=Bi(),m=axt(),C=c0e(),E=m.extend({type:"timeline.slider",defaultOption:{backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,orient:"horizontal",inverse:!1,tooltip:{trigger:"item"},symbol:"emptyCircle",symbolSize:10,lineStyle:{show:!0,width:2,color:"#304654"},label:{position:"auto",show:!0,interval:"auto",rotate:0,color:"#304654"},itemStyle:{color:"#304654",borderWidth:1},checkpointStyle:{symbol:"circle",symbolSize:13,color:"#c23531",borderWidth:5,borderColor:"rgba(194,53,49, 0.5)",animation:!0,animationDuration:300,animationEasing:"quinticInOut"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:22,itemGap:12,position:"left",playIcon:"path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z",stopIcon:"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z",nextIcon:"path://M18.6,50.8l22.5-22.5c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.7L18.7,4.4c-0.1-0.1-0.2-0.3-0.2-0.5 c0-0.4,0.3-0.8,0.8-0.8c0.2,0,0.5,0.1,0.6,0.3l23.5,23.5l0,0c0.2,0.2,0.3,0.4,0.3,0.7c0,0.3-0.1,0.5-0.3,0.7l-0.1,0.1L19.7,52 c-0.1,0.1-0.3,0.2-0.5,0.2c-0.4,0-0.8-0.3-0.8-0.8C18.4,51.2,18.5,51,18.6,50.8z",prevIcon:"path://M43,52.8L20.4,30.3c-0.2-0.2-0.3-0.4-0.3-0.7c0-0.3,0.1-0.5,0.3-0.7L42.9,6.4c0.1-0.1,0.2-0.3,0.2-0.5 c0-0.4-0.3-0.8-0.8-0.8c-0.2,0-0.5,0.1-0.6,0.3L18.3,28.8l0,0c-0.2,0.2-0.3,0.4-0.3,0.7c0,0.3,0.1,0.5,0.3,0.7l0.1,0.1L41.9,54 c0.1,0.1,0.3,0.2,0.5,0.2c0.4,0,0.8-0.3,0.8-0.8C43.2,53.2,43.1,53,43,52.8z",color:"#304654",borderColor:"#304654",borderWidth:1},emphasis:{label:{show:!0,color:"#c23531"},itemStyle:{color:"#c23531"},controlStyle:{color:"#c23531",borderColor:"#c23531",borderWidth:2}},data:[]}});f.mixin(E,C);var x=E;A.exports=x}),lxt=wt((o,A)=>{var f=ote(),m=f.extend({type:"timeline"});A.exports=m}),uxt=wt((o,A)=>{var f=Bi(),m=qP(),C=function(x,y,I,v){m.call(this,x,y,I),this.type=v||"value",this.model=null};C.prototype={constructor:C,getLabelModel:function(){return this.model.getModel("label")},isHorizontal:function(){return this.model.get("orient")==="horizontal"}},f.inherits(C,m);var E=C;A.exports=E}),Axt=wt((o,A)=>{var f=Bi(),m=zh(),C=xE(),E=To(),x=pc(),y=lxt(),I=uxt(),v=lv(),B=v.createSymbol,Q=Cw(),T=ds(),w=Tc(),S=w.encodeHTML,D=f.bind,R=f.each,P=Math.PI,M=y.extend({type:"timeline.slider",init:function(G,J){this.api=J,this._axis,this._viewRect,this._timer,this._currentPointer,this._mainGroup,this._labelGroup},render:function(G,J,K,X){if(this.model=G,this.api=K,this.ecModel=J,this.group.removeAll(),G.get("show",!0)){var q=this._layout(G,K),ee=this._createGroup("mainGroup"),ie=this._createGroup("labelGroup"),H=this._axis=this._createAxis(q,G);G.formatTooltip=function(le){return S(H.scale.getLabel(le))},R(["AxisLine","AxisTick","Control","CurrentPointer"],function(le){this["_render"+le](q,ee,H,G)},this),this._renderAxisLabel(q,ie,H,G),this._position(q,G)}this._doPlayStop()},remove:function(){this._clearTimer(),this.group.removeAll()},dispose:function(){this._clearTimer()},_layout:function(G,J){var K=G.get("label.position"),X=G.get("orient"),q=L(G,J);K==null||K==="auto"?K=X==="horizontal"?q.y+q.height/2=0||K==="+"?"left":"right"},ie={horizontal:K>=0||K==="+"?"top":"bottom",vertical:"middle"},H={horizontal:0,vertical:P/2},le=X==="vertical"?q.height:q.width,ue=G.getModel("controlStyle"),Ae=ue.get("show",!0),he=Ae?ue.get("itemSize"):0,ge=Ae?ue.get("itemGap"):0,fe=he+ge,ae=G.get("label.rotate")||0;ae=ae*P/180;var U,W,Y,z,re=ue.get("position",!0),se=Ae&&ue.get("showPlayBtn",!0),de=Ae&&ue.get("showPrevBtn",!0),me=Ae&&ue.get("showNextBtn",!0),Ce=0,Ie=le;return re==="left"||re==="bottom"?(se&&(U=[0,0],Ce+=fe),de&&(W=[Ce,0],Ce+=fe),me&&(Y=[Ie-he,0],Ie-=fe)):(se&&(U=[Ie-he,0],Ie-=fe),de&&(W=[0,0],Ce+=fe),me&&(Y=[Ie-he,0],Ie-=fe)),z=[Ce,Ie],G.get("inverse")&&z.reverse(),{viewRect:q,mainLength:le,orient:X,rotation:H[X],labelRotation:ae,labelPosOpt:K,labelAlign:G.get("label.align")||ee[X],labelBaseline:G.get("label.verticalAlign")||G.get("label.baseline")||ie[X],playPosition:U,prevBtnPosition:W,nextBtnPosition:Y,axisExtent:z,controlSize:he,controlGap:ge}},_position:function(G,J){var K=this._mainGroup,X=this._labelGroup,q=G.viewRect;if(G.orient==="vertical"){var ee=C.create(),ie=q.x,H=q.y+q.height;C.translate(ee,ee,[-ie,-H]),C.rotate(ee,ee,-P/2),C.translate(ee,ee,[ie,H]),q=q.clone(),q.applyTransform(ee)}var le=W(q),ue=W(K.getBoundingRect()),Ae=W(X.getBoundingRect()),he=K.position,ge=X.position;ge[0]=he[0]=le[0][0];var fe=G.labelPosOpt;if(isNaN(fe)){var ae=fe==="+"?0:1;Y(he,ue,le,1,ae),Y(ge,Ae,le,1,1-ae)}else{var ae=fe>=0?0:1;Y(he,ue,le,1,ae),ge[1]=he[1]+fe}K.attr("position",he),X.attr("position",ge),K.rotation=X.rotation=G.rotation,U(K),U(X);function U(z){var re=z.position;z.origin=[le[0][0]-re[0],le[1][0]-re[1]]}function W(z){return[[z.x,z.x+z.width],[z.y,z.y+z.height]]}function Y(z,re,se,de,me){z[de]+=se[de][me]-re[de][me]}},_createAxis:function(G,J){var K=J.getData(),X=J.get("axisType"),q=Q.createScaleByModel(J,X);q.getTicks=function(){return K.mapArray(["value"],function(H){return H})};var ee=K.getDataExtent("value");q.setExtent(ee[0],ee[1]),q.niceTicks();var ie=new I("value",q,G.axisExtent,X);return ie.model=J,ie},_createGroup:function(G){var J=this["_"+G]=new E.Group;return this.group.add(J),J},_renderAxisLine:function(G,J,K,X){var q=K.getExtent();X.get("lineStyle.show")&&J.add(new E.Line({shape:{x1:q[0],y1:0,x2:q[1],y2:0},style:f.extend({lineCap:"round"},X.getModel("lineStyle").getLineStyle()),silent:!0,z2:1}))},_renderAxisTick:function(G,J,K,X){var q=X.getData(),ee=K.scale.getTicks();R(ee,function(ie){var H=K.dataToCoord(ie),le=q.getItemModel(ie),ue=le.getModel("itemStyle"),Ae=le.getModel("emphasis.itemStyle"),he={position:[H,0],onclick:D(this._changeTimeline,this,ie)},ge=k(le,ue,J,he);E.setHoverStyle(ge,Ae.getItemStyle()),le.get("tooltip")?(ge.dataIndex=ie,ge.dataModel=X):ge.dataIndex=ge.dataModel=null},this)},_renderAxisLabel:function(G,J,K,X){var q=K.getLabelModel();if(q.get("show")){var ee=X.getData(),ie=K.getViewLabels();R(ie,function(H){var le=H.tickValue,ue=ee.getItemModel(le),Ae=ue.getModel("label"),he=ue.getModel("emphasis.label"),ge=K.dataToCoord(H.tickValue),fe=new E.Text({position:[ge,0],rotation:G.labelRotation-G.rotation,onclick:D(this._changeTimeline,this,le),silent:!1});E.setTextStyle(fe.style,Ae,{text:H.formattedLabel,textAlign:G.labelAlign,textVerticalAlign:G.labelBaseline}),J.add(fe),E.setHoverStyle(fe,E.setTextStyle({},he))},this)}},_renderControl:function(G,J,K,X){var q=G.controlSize,ee=G.rotation,ie=X.getModel("controlStyle").getItemStyle(),H=X.getModel("emphasis.controlStyle").getItemStyle(),le=[0,-q/2,q,q],ue=X.getPlayState(),Ae=X.get("inverse",!0);he(G.nextBtnPosition,"controlStyle.nextIcon",D(this._changeTimeline,this,Ae?"-":"+")),he(G.prevBtnPosition,"controlStyle.prevIcon",D(this._changeTimeline,this,Ae?"+":"-")),he(G.playPosition,"controlStyle."+(ue?"stopIcon":"playIcon"),D(this._handlePlayClick,this,!ue),!0);function he(ge,fe,ae,U){if(ge){var W={position:ge,origin:[q/2,0],rotation:U?-ee:0,rectHover:!0,style:ie,onclick:ae},Y=F(X,fe,le,W);J.add(Y),E.setHoverStyle(Y,H)}}},_renderCurrentPointer:function(G,J,K,X){var q=X.getData(),ee=X.getCurrentIndex(),ie=q.getItemModel(ee).getModel("checkpointStyle"),H=this,le={onCreate:function(ue){ue.draggable=!0,ue.drift=D(H._handlePointerDrag,H),ue.ondragend=D(H._handlePointerDragend,H),N(ue,ee,K,X,!0)},onUpdate:function(ue){N(ue,ee,K,X)}};this._currentPointer=k(ie,ie,this._mainGroup,{},this._currentPointer,le)},_handlePlayClick:function(G){this._clearTimer(),this.api.dispatchAction({type:"timelinePlayChange",playState:G,from:this.uid})},_handlePointerDrag:function(G,J,K){this._clearTimer(),this._pointerChangeTimeline([K.offsetX,K.offsetY])},_handlePointerDragend:function(G){this._pointerChangeTimeline([G.offsetX,G.offsetY],!0)},_pointerChangeTimeline:function(G,J){var K=this._toAxisCoord(G)[0],X=this._axis,q=T.asc(X.getExtent().slice());K>q[1]&&(K=q[1]),K{var o=Dn(),A=rxt();nxt(),oxt(),sxt(),Axt(),o.registerPreprocessor(A)}),M0e=wt((o,A)=>{var f=Bu(),m=f.__DEV__,C=Dn(),E=Bi(),x=jf(),y=Bl(),I=Tc(),v=c0e(),B=I.addCommas,Q=I.encodeHTML;function T(D){y.defaultEmphasis(D,"label",["show"])}var w=C.extendComponentModel({type:"marker",dependencies:["series","grid","polar","geo"],init:function(D,R,P){this.mergeDefaultAndTheme(D,P),this._mergeOption(D,P,!1,!0)},isAnimationEnabled:function(){if(x.node)return!1;var D=this.__hostSeries;return this.getShallow("animation")&&D&&D.isAnimationEnabled()},mergeOption:function(D,R){this._mergeOption(D,R,!1,!1)},_mergeOption:function(D,R,P,M){var L=this.constructor,F=this.mainType+"Model";P||R.eachSeries(function(k){var N=k.get(this.mainType,!0),G=k[F];if(!N||!N.data){k[F]=null;return}G?G._mergeOption(N,R,!0):(M&&T(N),E.each(N.data,function(J){J instanceof Array?(T(J[0]),T(J[1])):T(J)}),G=new L(N,this,R),E.extend(G,{mainType:this.mainType,seriesIndex:k.seriesIndex,name:k.name,createdBySelf:!0}),G.__hostSeries=k),k[F]=G},this)},formatTooltip:function(D){var R=this.getData(),P=this.getRawValue(D),M=E.isArray(P)?E.map(P,B).join(", "):B(P),L=R.getName(D),F=Q(this.name);return(P!=null||L)&&(F+="
"),L&&(F+=Q(L),P!=null&&(F+=" : ")),P!=null&&(F+=Q(M)),F},getData:function(){return this._data},setData:function(D){this._data=D}});E.mixin(w,v);var S=w;A.exports=S}),hxt=wt((o,A)=>{var f=M0e(),m=f.extend({type:"markPoint",defaultOption:{zlevel:0,z:5,symbol:"pin",symbolSize:50,tooltip:{trigger:"item"},label:{show:!0,position:"inside"},itemStyle:{borderWidth:2},emphasis:{label:{show:!0}}}});A.exports=m}),P0e=wt(o=>{var A=Bi(),f=ds(),m=Kb(),C=m.isDimensionStacked,E=A.indexOf;function x(P){return!(isNaN(parseFloat(P.x))&&isNaN(parseFloat(P.y)))}function y(P){return!isNaN(parseFloat(P.x))&&!isNaN(parseFloat(P.y))}function I(P,M,L,F,k,N){var G=[],J=C(M,F),K=J?M.getCalculationInfo("stackResultDimension"):F,X=R(M,K,P),q=M.indicesOfNearest(K,X)[0];G[k]=M.get(L,q),G[N]=M.get(K,q);var ee=M.get(F,q),ie=f.getPrecision(M.get(F,q));return ie=Math.min(ie,20),ie>=0&&(G[N]=+G[N].toFixed(ie)),[G,ee]}var v=A.curry,B={min:v(I,"min"),max:v(I,"max"),average:v(I,"average")};function Q(P,M){var L=P.getData(),F=P.coordinateSystem;if(M&&!y(M)&&!A.isArray(M.coord)&&F){var k=F.dimensions,N=T(M,L,F,P);if(M=A.clone(M),M.type&&B[M.type]&&N.baseAxis&&N.valueAxis){var G=E(k,N.baseAxis.dim),J=E(k,N.valueAxis.dim),K=B[M.type](L,N.baseDataDim,N.valueDataDim,G,J);M.coord=K[0],M.value=K[1]}else{for(var X=[M.xAxis!=null?M.xAxis:M.radiusAxis,M.yAxis!=null?M.yAxis:M.angleAxis],q=0;q<2;q++)B[X[q]]&&(X[q]=R(L,L.mapDimension(k[q]),X[q]));M.coord=X}}return M}function T(P,M,L,F){var k={};return P.valueIndex!=null||P.valueDim!=null?(k.valueDataDim=P.valueIndex!=null?M.getDimension(P.valueIndex):P.valueDim,k.valueAxis=L.getAxis(w(F,k.valueDataDim)),k.baseAxis=L.getOtherAxis(k.valueAxis),k.baseDataDim=M.mapDimension(k.baseAxis.dim)):(k.baseAxis=F.getBaseAxis(),k.valueAxis=L.getOtherAxis(k.baseAxis),k.baseDataDim=M.mapDimension(k.baseAxis.dim),k.valueDataDim=M.mapDimension(k.valueAxis.dim)),k}function w(P,M){var L=P.getData(),F=L.dimensions;M=L.getDimension(M);for(var k=0;k{var f=Dn(),m=Bi(),C=f.extendComponentView({type:"marker",init:function(){this.markerGroupMap=m.createHashMap()},render:function(E,x,y){var I=this.markerGroupMap;I.each(function(B){B.__keep=!1});var v=this.type+"Model";x.eachSeries(function(B){var Q=B[v];Q&&this.renderSeries(B,Q,x,y)},this),I.each(function(B){!B.__keep&&this.group.remove(B.group)},this)},renderSeries:function(){}});A.exports=C}),dxt=wt((o,A)=>{var f=Bi(),m=vz(),C=ds(),E=sv(),x=P0e(),y=R0e();function I(Q,T,w){var S=T.coordinateSystem;Q.each(function(D){var R=Q.getItemModel(D),P,M=C.parsePercent(R.get("x"),w.getWidth()),L=C.parsePercent(R.get("y"),w.getHeight());if(!isNaN(M)&&!isNaN(L))P=[M,L];else if(T.getMarkerPosition)P=T.getMarkerPosition(Q.getValues(Q.dimensions,D));else if(S){var F=Q.get(S.dimensions[0],D),k=Q.get(S.dimensions[1],D);P=S.dataToPoint([F,k])}isNaN(M)||(P[0]=M),isNaN(L)||(P[1]=L),Q.setItemLayout(D,P)})}var v=y.extend({type:"markPoint",updateTransform:function(Q,T,w){T.eachSeries(function(S){var D=S.markPointModel;D&&(I(D.getData(),S,w),this.markerGroupMap.get(S.id).updateLayout(D))},this)},renderSeries:function(Q,T,w,S){var D=Q.coordinateSystem,R=Q.id,P=Q.getData(),M=this.markerGroupMap,L=M.get(R)||M.set(R,new m),F=B(D,Q,T);T.setData(F),I(T.getData(),Q,S),F.each(function(k){var N=F.getItemModel(k),G=N.getShallow("symbol"),J=N.getShallow("symbolSize"),K=f.isFunction(G),X=f.isFunction(J);if(K||X){var q=T.getRawValue(k),ee=T.getDataParams(k);K&&(G=G(q,ee)),X&&(J=J(q,ee))}F.setItemVisual(k,{symbol:G,symbolSize:J,color:N.get("itemStyle.color")||P.getVisual("color")})}),L.updateData(F),this.group.add(L.group),F.eachItemGraphicEl(function(k){k.traverse(function(N){N.dataModel=T})}),L.__keep=!0,L.group.silent=T.get("silent")||Q.get("silent")}});function B(Q,T,w){var S;Q?S=f.map(Q&&Q.dimensions,function(P){var M=T.getData().getDimensionInfo(T.getData().mapDimension(P))||{};return f.defaults({name:P},M)}):S=[{name:"value",type:"float"}];var D=new E(S,w),R=f.map(w.get("data"),f.curry(x.dataTransform,T));return Q&&(R=f.filter(R,f.curry(x.dataFilter,Q))),D.initData(R,null,Q?x.dimValueGetter:function(P){return P.value}),D}A.exports=v}),fxt=wt(()=>{var o=Dn();hxt(),dxt(),o.registerPreprocessor(function(A){A.markPoint=A.markPoint||{}})}),gxt=wt((o,A)=>{var f=M0e(),m=f.extend({type:"markLine",defaultOption:{zlevel:0,z:5,symbol:["circle","arrow"],symbolSize:[8,16],precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end",distance:5},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"}});A.exports=m}),pxt=wt((o,A)=>{var f=Bi(),m=sv(),C=ds(),E=P0e(),x=_0e(),y=R0e(),I=Kb(),v=I.getStackedDimension,B=function(P,M,L,F){var k=P.getData(),N=F.type;if(!f.isArray(F)&&(N==="min"||N==="max"||N==="average"||N==="median"||F.xAxis!=null||F.yAxis!=null)){var G,J;if(F.yAxis!=null||F.xAxis!=null)G=M.getAxis(F.yAxis!=null?"y":"x"),J=f.retrieve(F.yAxis,F.xAxis);else{var K=E.getAxisInfo(F,k,M,P);G=K.valueAxis;var X=v(k,K.valueDataDim);J=E.numCalculate(k,X,N)}var q=G.dim==="x"?0:1,ee=1-q,ie=f.clone(F),H={};ie.type=null,ie.coord=[],H.coord=[],ie.coord[ee]=-1/0,H.coord[ee]=1/0;var le=L.get("precision");le>=0&&typeof J=="number"&&(J=+J.toFixed(Math.min(le,20))),ie.coord[q]=H.coord[q]=J,F=[ie,H,{type:N,valueIndex:F.valueIndex,value:J}]}return F=[E.dataTransform(P,F[0]),E.dataTransform(P,F[1]),f.extend({},F[2])],F[2].type=F[2].type||"",f.merge(F[2],F[0]),f.merge(F[2],F[1]),F};function Q(P){return!isNaN(P)&&!isFinite(P)}function T(P,M,L,F){var k=1-P,N=F.dimensions[P];return Q(M[k])&&Q(L[k])&&M[P]===L[P]&&F.getAxis(N).containData(M[P])}function w(P,M){if(P.type==="cartesian2d"){var L=M[0].coord,F=M[1].coord;if(L&&F&&(T(1,L,F,P)||T(0,L,F,P)))return!0}return E.dataFilter(P,M[0])&&E.dataFilter(P,M[1])}function S(P,M,L,F,k){var N=F.coordinateSystem,G=P.getItemModel(M),J,K=C.parsePercent(G.get("x"),k.getWidth()),X=C.parsePercent(G.get("y"),k.getHeight());if(!isNaN(K)&&!isNaN(X))J=[K,X];else{if(F.getMarkerPosition)J=F.getMarkerPosition(P.getValues(P.dimensions,M));else{var q=N.dimensions,ee=P.get(q[0],M),ie=P.get(q[1],M);J=N.dataToPoint([ee,ie])}if(N.type==="cartesian2d"){var H=N.getAxis("x"),le=N.getAxis("y"),q=N.dimensions;Q(P.get(q[0],M))?J[0]=H.toGlobalCoord(H.getExtent()[L?0:1]):Q(P.get(q[1],M))&&(J[1]=le.toGlobalCoord(le.getExtent()[L?0:1]))}isNaN(K)||(J[0]=K),isNaN(X)||(J[1]=X)}P.setItemLayout(M,J)}var D=y.extend({type:"markLine",updateTransform:function(P,M,L){M.eachSeries(function(F){var k=F.markLineModel;if(k){var N=k.getData(),G=k.__from,J=k.__to;G.each(function(K){S(G,K,!0,F,L),S(J,K,!1,F,L)}),N.each(function(K){N.setItemLayout(K,[G.getItemLayout(K),J.getItemLayout(K)])}),this.markerGroupMap.get(F.id).updateLayout()}},this)},renderSeries:function(P,M,L,F){var k=P.coordinateSystem,N=P.id,G=P.getData(),J=this.markerGroupMap,K=J.get(N)||J.set(N,new x);this.group.add(K.group);var X=R(k,P,M),q=X.from,ee=X.to,ie=X.line;M.__from=q,M.__to=ee,M.setData(ie);var H=M.get("symbol"),le=M.get("symbolSize");f.isArray(H)||(H=[H,H]),typeof le=="number"&&(le=[le,le]),X.from.each(function(Ae){ue(q,Ae,!0),ue(ee,Ae,!1)}),ie.each(function(Ae){var he=ie.getItemModel(Ae).get("lineStyle.color");ie.setItemVisual(Ae,{color:he||q.getItemVisual(Ae,"color")}),ie.setItemLayout(Ae,[q.getItemLayout(Ae),ee.getItemLayout(Ae)]),ie.setItemVisual(Ae,{fromSymbolSize:q.getItemVisual(Ae,"symbolSize"),fromSymbol:q.getItemVisual(Ae,"symbol"),toSymbolSize:ee.getItemVisual(Ae,"symbolSize"),toSymbol:ee.getItemVisual(Ae,"symbol")})}),K.updateData(ie),X.line.eachItemGraphicEl(function(Ae,he){Ae.traverse(function(ge){ge.dataModel=M})});function ue(Ae,he,ge){var fe=Ae.getItemModel(he);S(Ae,he,ge,P,F),Ae.setItemVisual(he,{symbolSize:fe.get("symbolSize")||le[ge?0:1],symbol:fe.get("symbol",!0)||H[ge?0:1],color:fe.get("itemStyle.color")||G.getVisual("color")})}K.__keep=!0,K.group.silent=M.get("silent")||P.get("silent")}});function R(P,M,L){var F;P?F=f.map(P&&P.dimensions,function(X){var q=M.getData().getDimensionInfo(M.getData().mapDimension(X))||{};return f.defaults({name:X},q)}):F=[{name:"value",type:"float"}];var k=new m(F,L),N=new m(F,L),G=new m([],L),J=f.map(L.get("data"),f.curry(B,M,P,L));P&&(J=f.filter(J,f.curry(w,P)));var K=P?E.dimValueGetter:function(X){return X.value};return k.initData(f.map(J,function(X){return X[0]}),null,K),N.initData(f.map(J,function(X){return X[1]}),null,K),G.initData(f.map(J,function(X){return X[2]})),G.hasItemOption=!0,{from:k,to:N,line:G}}A.exports=D}),mxt=wt(()=>{var o=Dn();gxt(),pxt(),o.registerPreprocessor(function(A){A.markLine=A.markLine||{}})}),Cxt=wt((o,A)=>{var f=M0e(),m=f.extend({type:"markArea",defaultOption:{zlevel:0,z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}}});A.exports=m}),Ext=wt(()=>{var o=Bi(),A=Yb(),f=sv(),m=ds(),C=To(),E=P0e(),x=R0e(),y=function(S,D,R,P){var M=E.dataTransform(S,P[0]),L=E.dataTransform(S,P[1]),F=o.retrieve,k=M.coord,N=L.coord;k[0]=F(k[0],-1/0),k[1]=F(k[1],-1/0),N[0]=F(N[0],1/0),N[1]=F(N[1],1/0);var G=o.mergeAll([{},M,L]);return G.coord=[M.coord,L.coord],G.x0=M.x,G.y0=M.y,G.x1=L.x,G.y1=L.y,G};function I(S){return!isNaN(S)&&!isFinite(S)}function v(S,D,R,P){var M=1-S;return I(D[M])&&I(R[M])}function B(S,D){var R=D.coord[0],P=D.coord[1];return S.type==="cartesian2d"&&R&&P&&(v(1,R,P,S)||v(0,R,P,S))?!0:E.dataFilter(S,{coord:R,x:D.x0,y:D.y0})||E.dataFilter(S,{coord:P,x:D.x1,y:D.y1})}function Q(S,D,R,P,M){var L=P.coordinateSystem,F=S.getItemModel(D),k,N=m.parsePercent(F.get(R[0]),M.getWidth()),G=m.parsePercent(F.get(R[1]),M.getHeight());if(!isNaN(N)&&!isNaN(G))k=[N,G];else{if(P.getMarkerPosition)k=P.getMarkerPosition(S.getValues(R,D));else{var J=S.get(R[0],D),K=S.get(R[1],D),X=[J,K];L.clampData&&L.clampData(X,X),k=L.dataToPoint(X,!0)}if(L.type==="cartesian2d"){var q=L.getAxis("x"),ee=L.getAxis("y"),J=S.get(R[0],D),K=S.get(R[1],D);I(J)?k[0]=q.toGlobalCoord(q.getExtent()[R[0]==="x0"?0:1]):I(K)&&(k[1]=ee.toGlobalCoord(ee.getExtent()[R[1]==="y0"?0:1]))}isNaN(N)||(k[0]=N),isNaN(G)||(k[1]=G)}return k}var T=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]];x.extend({type:"markArea",updateTransform:function(S,D,R){D.eachSeries(function(P){var M=P.markAreaModel;if(M){var L=M.getData();L.each(function(F){var k=o.map(T,function(G){return Q(L,F,G,P,R)});L.setItemLayout(F,k);var N=L.getItemGraphicEl(F);N.setShape("points",k)})}},this)},renderSeries:function(S,D,R,P){var M=S.coordinateSystem,L=S.id,F=S.getData(),k=this.markerGroupMap,N=k.get(L)||k.set(L,{group:new C.Group});this.group.add(N.group),N.__keep=!0;var G=w(M,S,D);D.setData(G),G.each(function(J){G.setItemLayout(J,o.map(T,function(K){return Q(G,J,K,S,P)})),G.setItemVisual(J,{color:F.getVisual("color")})}),G.diff(N.__data).add(function(J){var K=new C.Polygon({shape:{points:G.getItemLayout(J)}});G.setItemGraphicEl(J,K),N.group.add(K)}).update(function(J,K){var X=N.__data.getItemGraphicEl(K);C.updateProps(X,{shape:{points:G.getItemLayout(J)}},D,J),N.group.add(X),G.setItemGraphicEl(J,X)}).remove(function(J){var K=N.__data.getItemGraphicEl(J);N.group.remove(K)}).execute(),G.eachItemGraphicEl(function(J,K){var X=G.getItemModel(K),q=X.getModel("label"),ee=X.getModel("emphasis.label"),ie=G.getItemVisual(K,"color");J.useStyle(o.defaults(X.getModel("itemStyle").getItemStyle(),{fill:A.modifyAlpha(ie,.4),stroke:ie})),J.hoverStyle=X.getModel("emphasis.itemStyle").getItemStyle(),C.setLabelStyle(J.style,J.hoverStyle,q,ee,{labelFetcher:D,labelDataIndex:K,defaultText:G.getName(K)||"",isRectText:!0,autoColor:ie}),C.setHoverStyle(J,{}),J.dataModel=D}),N.__data=G,N.group.silent=D.get("silent")||S.get("silent")}});function w(S,D,R){var P,M,L=["x0","y0","x1","y1"];S?(P=o.map(S&&S.dimensions,function(N){var G=D.getData(),J=G.getDimensionInfo(G.mapDimension(N))||{};return o.defaults({name:N},J)}),M=new f(o.map(L,function(N,G){return{name:N,type:P[G%2].type}}),R)):(P=[{name:"value",type:"float"}],M=new f(P,R));var F=o.map(R.get("data"),o.curry(y,D,S,R));S&&(F=o.filter(F,o.curry(B,S)));var k=S?function(N,G,J,K){return N.coord[Math.floor(K/2)][K%2]}:function(N){return N.value};return M.initData(F,null,k),M.hasItemOption=!0,M}}),xxt=wt(()=>{var o=Dn();Cxt(),Ext(),o.registerPreprocessor(function(A){A.markArea=A.markArea||{}})}),T6e=wt((o,A)=>{var f=Dn(),m=Bi(),C=qf(),E=Bl(),x=E.isNameSpecified,y=jP(),I=y.legend.selector,v={all:{type:"all",title:m.clone(I.all)},inverse:{type:"inverse",title:m.clone(I.inverse)}},B=f.extendComponentModel({type:"legend.plain",dependencies:["series"],layoutMode:{type:"box",ignoreSize:!0},init:function(T,w,S){this.mergeDefaultAndTheme(T,S),T.selected=T.selected||{},this._updateSelector(T)},mergeOption:function(T){B.superCall(this,"mergeOption",T),this._updateSelector(T)},_updateSelector:function(T){var w=T.selector;w===!0&&(w=T.selector=["all","inverse"]),m.isArray(w)&&m.each(w,function(S,D){m.isString(S)&&(S={type:S}),w[D]=m.merge(S,v[S.type])})},optionUpdated:function(){this._updateData(this.ecModel);var T=this._data;if(T[0]&&this.get("selectedMode")==="single"){for(var w=!1,S=0;S=0},getOrient:function(){return this.get("orient")==="vertical"?{index:1,name:"vertical"}:{index:0,name:"horizontal"}},defaultOption:{zlevel:0,z:4,show:!0,orient:"horizontal",left:"center",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,inactiveColor:"#ccc",inactiveBorderColor:"#ccc",itemStyle:{borderWidth:0},textStyle:{color:"#333"},selectedMode:!0,selector:!1,selectorLabel:{show:!0,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:" sans-serif",color:"#666",borderWidth:1,borderColor:"#666"},emphasis:{selectorLabel:{show:!0,color:"#eee",backgroundColor:"#666"}},selectorPosition:"auto",selectorItemGap:7,selectorButtonGap:10,tooltip:{show:!1}}}),Q=B;A.exports=Q}),yxt=wt(()=>{var o=Dn(),A=Bi();function f(m,C,E){var x={},y=m==="toggleSelected",I;return E.eachComponent("legend",function(v){y&&I!=null?v[I?"select":"unSelect"](C.name):m==="allSelect"||m==="inverseSelect"?v[m]():(v[m](C.name),I=v.isSelected(C.name));var B=v.getData();A.each(B,function(Q){var T=Q.get("name");if(!(T===` `||T==="")){var w=v.isSelected(T);x.hasOwnProperty(T)?x[T]=x[T]&&w:x[T]=w}})}),m==="allSelect"||m==="inverseSelect"?{selected:x}:{name:C.name,selected:x}}o.registerAction("legendToggleSelect","legendselectchanged",A.curry(f,"toggleSelected")),o.registerAction("legendAllSelect","legendselectall",A.curry(f,"allSelect")),o.registerAction("legendInverseSelect","legendinverseselect",A.curry(f,"inverseSelect")),o.registerAction("legendSelect","legendselected",A.curry(f,"select")),o.registerAction("legendUnSelect","legendunselected",A.curry(f,"unSelect"))}),M6e=wt((o,A)=>{var f=Bu(),m=f.__DEV__,C=Dn(),E=Bi(),x=lv(),y=x.createSymbol,I=To(),v=b6e(),B=v.makeBackground,Q=pc(),T=E.curry,w=E.each,S=I.Group,D=C.extendComponentView({type:"legend.plain",newlineDisabled:!1,init:function(){this.group.add(this._contentGroup=new S),this._backgroundEl,this.group.add(this._selectorGroup=new S),this._isFirstRender=!0},getContentGroup:function(){return this._contentGroup},getSelectorGroup:function(){return this._selectorGroup},render:function(F,k,N){var G=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),!!F.get("show",!0)){var J=F.get("align"),K=F.get("orient");(!J||J==="auto")&&(J=F.get("left")==="right"&&K==="vertical"?"right":"left");var X=F.get("selector",!0),q=F.get("selectorPosition",!0);X&&(!q||q==="auto")&&(q=K==="horizontal"?"end":"start"),this.renderInner(J,F,k,N,X,K,q);var ee=F.getBoxLayoutParams(),ie={width:N.getWidth(),height:N.getHeight()},H=F.get("padding"),le=Q.getLayoutRect(ee,ie,H),ue=this.layoutInner(F,J,le,G,X,q),Ae=Q.getLayoutRect(E.defaults({width:ue.width,height:ue.height},ee),ie,H);this.group.attr("position",[Ae.x-ue.x,Ae.y-ue.y]),this.group.add(this._backgroundEl=B(ue,F))}},resetInner:function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl),this.getSelectorGroup().removeAll()},renderInner:function(F,k,N,G,J,K,X){var q=this.getContentGroup(),ee=E.createHashMap(),ie=k.get("selectedMode"),H=[];N.eachRawSeries(function(le){!le.get("legendHoverLink")&&H.push(le.id)}),w(k.getData(),function(le,ue){var Ae=le.get("name");if(!this.newlineDisabled&&(Ae===""||Ae===` `)){q.add(new S({newline:!0}));return}var he=N.getSeriesByName(Ae)[0];if(!ee.get(Ae))if(he){var ge=he.getData(),fe=ge.getVisual("color"),ae=ge.getVisual("borderColor");typeof fe=="function"&&(fe=fe(he.getDataParams(0))),typeof ae=="function"&&(ae=ae(he.getDataParams(0)));var U=ge.getVisual("legendSymbol")||"roundRect",W=ge.getVisual("symbol"),Y=this._createItem(Ae,ue,le,k,U,W,F,fe,ae,ie);Y.on("click",T(P,Ae,null,G,H)).on("mouseover",T(M,he.name,null,G,H)).on("mouseout",T(L,he.name,null,G,H)),ee.set(Ae,!0)}else N.eachRawSeries(function(z){if(!ee.get(Ae)&&z.legendVisualProvider){var re=z.legendVisualProvider;if(!re.containName(Ae))return;var se=re.indexOfName(Ae),de=re.getItemVisual(se,"color"),me=re.getItemVisual(se,"borderColor"),Ce="roundRect",Ie=this._createItem(Ae,ue,le,k,Ce,null,F,de,me,ie);Ie.on("click",T(P,null,Ae,G,H)).on("mouseover",T(M,null,Ae,G,H)).on("mouseout",T(L,null,Ae,G,H)),ee.set(Ae,!0)}},this)},this),J&&this._createSelector(J,k,G,K,X)},_createSelector:function(F,k,N,G,J){var K=this.getSelectorGroup();w(F,function(q){X(q)});function X(q){var ee=q.type,ie=new I.Text({style:{x:0,y:0,align:"center",verticalAlign:"middle"},onclick:function(){N.dispatchAction({type:ee==="all"?"legendAllSelect":"legendInverseSelect"})}});K.add(ie);var H=k.getModel("selectorLabel"),le=k.getModel("emphasis.selectorLabel");I.setLabelStyle(ie.style,ie.hoverStyle={},H,le,{defaultText:q.title,isRectText:!1}),I.setHoverStyle(ie)}},_createItem:function(F,k,N,G,J,K,X,q,ee,ie){var H=G.get("itemWidth"),le=G.get("itemHeight"),ue=G.get("inactiveColor"),Ae=G.get("inactiveBorderColor"),he=G.get("symbolKeepAspect"),ge=G.getModel("itemStyle"),fe=G.isSelected(F),ae=new S,U=N.getModel("textStyle"),W=N.get("icon"),Y=N.getModel("tooltip"),z=Y.parentModel;J=W||J;var re=y(J,0,0,H,le,fe?q:ue,he??!0);if(ae.add(R(re,J,ge,ee,Ae,fe)),!W&&K&&(K!==J||K==="none")){var se=le*.8;K==="none"&&(K="circle");var de=y(K,(H-se)/2,(le-se)/2,se,se,fe?q:ue,he??!0);ae.add(R(de,K,ge,ee,Ae,fe))}var me=X==="left"?H+5:-5,Ce=X,Ie=G.get("formatter"),we=F;typeof Ie=="string"&&Ie?we=Ie.replace("{name}",F??""):typeof Ie=="function"&&(we=Ie(F)),ae.add(new I.Text({style:I.setTextStyle({},U,{text:we,x:me,y:le/2,textFill:fe?U.getTextColor():ue,textAlign:Ce,textVerticalAlign:"middle"})}));var Te=new I.Rect({shape:ae.getBoundingRect(),invisible:!0,tooltip:Y.get("show")?E.extend({content:F,formatter:z.get("formatter",!0)||function(){return F},formatterParams:{componentType:"legend",legendIndex:G.componentIndex,name:F,$vars:["name"]}},Y.option):null});return ae.add(Te),ae.eachChild(function(Ge){Ge.silent=!0}),Te.silent=!ie,this.getContentGroup().add(ae),I.setHoverStyle(ae),ae.__legendDataIndex=k,ae},layoutInner:function(F,k,N,G,J,K){var X=this.getContentGroup(),q=this.getSelectorGroup();Q.box(F.get("orient"),X,F.get("itemGap"),N.width,N.height);var ee=X.getBoundingRect(),ie=[-ee.x,-ee.y];if(J){Q.box("horizontal",q,F.get("selectorItemGap",!0));var H=q.getBoundingRect(),le=[-H.x,-H.y],ue=F.get("selectorButtonGap",!0),Ae=F.getOrient().index,he=Ae===0?"width":"height",ge=Ae===0?"height":"width",fe=Ae===0?"y":"x";K==="end"?le[Ae]+=ee[he]+ue:ie[Ae]+=H[he]+ue,le[1-Ae]+=ee[ge]/2-H[ge]/2,q.attr("position",le),X.attr("position",ie);var ae={x:0,y:0};return ae[he]=ee[he]+ue+H[he],ae[ge]=Math.max(ee[ge],H[ge]),ae[fe]=Math.min(0,H[fe]+le[1-Ae]),ae}else return X.attr("position",ie),this.group.getBoundingRect()},remove:function(){this.getContentGroup().removeAll(),this._isFirstRender=!0}});function R(F,k,N,G,J,K){var X;return k!=="line"&&k.indexOf("empty")<0?(X=N.getItemStyle(),F.style.stroke=G,K||(X.stroke=J)):X=N.getItemStyle(["borderWidth","borderColor"]),F.setStyle(X)}function P(F,k,N,G){L(F,k,N,G),N.dispatchAction({type:"legendToggleSelect",name:F??k}),M(F,k,N,G)}function M(F,k,N,G){var J=N.getZr().storage.getDisplayList()[0];J&&J.useHoverLayer||N.dispatchAction({type:"highlight",seriesName:F,name:k,excludeSeriesId:G})}function L(F,k,N,G){var J=N.getZr().storage.getDisplayList()[0];J&&J.useHoverLayer||N.dispatchAction({type:"downplay",seriesName:F,name:k,excludeSeriesId:G})}A.exports=D}),Ixt=wt((o,A)=>{function f(m){var C=m.findComponents({mainType:"legend"});C&&C.length&&m.filterSeries(function(E){for(var x=0;x{var o=Dn();T6e(),yxt(),M6e();var A=Ixt(),f=C0();o.registerProcessor(o.PRIORITY.PROCESSOR.SERIES_FILTER,A),f.registerSubTypeDefaulter("legend",function(){return"plain"})}),_xt=wt((o,A)=>{var f=T6e(),m=pc(),C=m.mergeLayoutParam,E=m.getLayoutParams,x=f.extend({type:"legend.scroll",setScrollDataIndex:function(v){this.option.scrollDataIndex=v},defaultOption:{scrollDataIndex:0,pageButtonItemGap:5,pageButtonGap:null,pageButtonPosition:"end",pageFormatter:"{current}/{total}",pageIcons:{horizontal:["M0,0L12,-10L12,10z","M0,0L-12,-10L-12,10z"],vertical:["M0,0L20,0L10,-20z","M0,0L20,0L10,20z"]},pageIconColor:"#2f4554",pageIconInactiveColor:"#aaa",pageIconSize:15,pageTextStyle:{color:"#333"},animationDurationUpdate:800},init:function(v,B,Q,T){var w=E(v);x.superCall(this,"init",v,B,Q,T),y(this,v,w)},mergeOption:function(v,B){x.superCall(this,"mergeOption",v,B),y(this,this.option,v)}});function y(v,B,Q){var T=v.getOrient(),w=[1,1];w[T.index]=0,C(B,Q,{type:"box",ignoreSize:w})}var I=x;A.exports=I}),vxt=wt((o,A)=>{var f=Bi(),m=To(),C=pc(),E=M6e(),x=m.Group,y=["width","height"],I=["x","y"],v=E.extend({type:"legend.scroll",newlineDisabled:!0,init:function(){v.superCall(this,"init"),this._currentIndex=0,this.group.add(this._containerGroup=new x),this._containerGroup.add(this.getContentGroup()),this.group.add(this._controllerGroup=new x),this._showController},resetInner:function(){v.superCall(this,"resetInner"),this._controllerGroup.removeAll(),this._containerGroup.removeClipPath(),this._containerGroup.__rectSize=null},renderInner:function(Q,T,w,S,D,R,P){var M=this;v.superCall(this,"renderInner",Q,T,w,S,D,R,P);var L=this._controllerGroup,F=T.get("pageIconSize",!0);f.isArray(F)||(F=[F,F]),N("pagePrev",0);var k=T.getModel("pageTextStyle");L.add(new m.Text({name:"pageText",style:{textFill:k.getTextColor(),font:k.getFont(),textVerticalAlign:"middle",textAlign:"center"},silent:!0})),N("pageNext",1);function N(G,J){var K=G+"DataIndex",X=m.createIcon(T.get("pageIcons",!0)[T.getOrient().name][J],{onclick:f.bind(M._pageGo,M,K,T,S)},{x:-F[0]/2,y:-F[1]/2,width:F[0],height:F[1]});X.name=G,L.add(X)}},layoutInner:function(Q,T,w,S,D,R){var P=this.getSelectorGroup(),M=Q.getOrient().index,L=y[M],F=I[M],k=y[1-M],N=I[1-M];D&&C.box("horizontal",P,Q.get("selectorItemGap",!0));var G=Q.get("selectorButtonGap",!0),J=P.getBoundingRect(),K=[-J.x,-J.y],X=f.clone(w);D&&(X[L]=w[L]-J[L]-G);var q=this._layoutContentAndController(Q,S,X,M,L,k,N);if(D){if(R==="end")K[M]+=q[L]+G;else{var ee=J[L]+G;K[M]-=ee,q[F]-=ee}q[L]+=J[L]+G,K[1-M]+=q[N]+q[k]/2-J[k]/2,q[k]=Math.max(q[k],J[k]),q[N]=Math.min(q[N],J[N]+K[1-M]),P.attr("position",K)}return q},_layoutContentAndController:function(Q,T,w,S,D,R,P){var M=this.getContentGroup(),L=this._containerGroup,F=this._controllerGroup;C.box(Q.get("orient"),M,Q.get("itemGap"),S?w.width:null,S?null:w.height),C.box("horizontal",F,Q.get("pageButtonItemGap",!0));var k=M.getBoundingRect(),N=F.getBoundingRect(),G=this._showController=k[D]>w[D],J=[-k.x,-k.y];T||(J[S]=M.position[S]);var K=[0,0],X=[-N.x,-N.y],q=f.retrieve2(Q.get("pageButtonGap",!0),Q.get("itemGap",!0));if(G){var ee=Q.get("pageButtonPosition",!0);ee==="end"?X[S]+=w[D]-N[D]:K[S]+=N[D]+q}X[1-S]+=k[R]/2-N[R]/2,M.attr("position",J),L.attr("position",K),F.attr("position",X);var ie={x:0,y:0};if(ie[D]=G?w[D]:k[D],ie[R]=Math.max(k[R],N[R]),ie[P]=Math.min(0,N[P]+X[1-S]),L.__rectSize=w[D],G){var H={x:0,y:0};H[D]=Math.max(w[D]-N[D]-q,0),H[R]=ie[R],L.setClipPath(new m.Rect({shape:H})),L.__rectSize=H[D]}else F.eachChild(function(ue){ue.attr({invisible:!0,silent:!0})});var le=this._getPageInfo(Q);return le.pageIndex!=null&&m.updateProps(M,{position:le.contentPosition},G?Q:!1),this._updatePageInfoView(Q,le),ie},_pageGo:function(Q,T,w){var S=this._getPageInfo(T)[Q];S!=null&&w.dispatchAction({type:"legendScroll",scrollDataIndex:S,legendId:T.id})},_updatePageInfoView:function(Q,T){var w=this._controllerGroup;f.each(["pagePrev","pageNext"],function(L){var F=T[L+"DataIndex"]!=null,k=w.childOfName(L);k&&(k.setStyle("fill",F?Q.get("pageIconColor",!0):Q.get("pageIconInactiveColor",!0)),k.cursor=F?"pointer":"default")});var S=w.childOfName("pageText"),D=Q.get("pageFormatter"),R=T.pageIndex,P=R!=null?R+1:0,M=T.pageCount;S&&D&&S.setStyle("text",f.isString(D)?D.replace("{current}",P).replace("{total}",M):D({current:P,total:M}))},_getPageInfo:function(Q){var T=Q.get("scrollDataIndex",!0),w=this.getContentGroup(),S=this._containerGroup.__rectSize,D=Q.getOrient().index,R=y[D],P=I[D],M=this._findTargetItemIndex(T),L=w.children(),F=L[M],k=L.length,N=k?1:0,G={contentPosition:w.position.slice(),pageCount:N,pageIndex:N-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!F)return G;var J=ie(F);G.contentPosition[D]=-J.s;for(var K=M+1,X=J,q=J,ee=null;K<=k;++K)ee=ie(L[K]),(!ee&&q.e>X.s+S||ee&&!H(ee,X.s))&&(q.i>X.i?X=q:X=ee,X&&(G.pageNextDataIndex==null&&(G.pageNextDataIndex=X.i),++G.pageCount)),q=ee;for(var K=M-1,X=J,q=J,ee=null;K>=-1;--K)ee=ie(L[K]),(!ee||!H(q,ee.s))&&X.i=ue&&le.s<=ue+S}},_findTargetItemIndex:function(Q){if(!this._showController)return 0;var T,w=this.getContentGroup(),S;return w.eachChild(function(D,R){var P=D.__legendDataIndex;S==null&&P!=null&&(S=R),P===Q&&(T=R)}),T??S}}),B=v;A.exports=B}),Bxt=wt(()=>{var o=Dn();o.registerAction("legendScroll","legendscroll",function(A,f){var m=A.scrollDataIndex;m!=null&&f.eachComponent({mainType:"legend",subType:"scroll",query:A},function(C){C.setScrollDataIndex(m)})})}),wxt=wt(()=>{P6e(),_xt(),vxt(),Bxt()}),bxt=wt((o,A)=>{var f=X4(),m=f.extend({type:"dataZoom.slider",layoutMode:"box",defaultOption:{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,backgroundColor:"rgba(47,69,84,0)",dataBackground:{lineStyle:{color:"#2f4554",width:.5,opacity:.3},areaStyle:{color:"rgba(47,69,84,0.3)",opacity:.3}},borderColor:"#ddd",fillerColor:"rgba(167,183,204,0.4)",handleIcon:"M8.2,13.6V3.9H6.3v9.7H3.1v14.9h3.3v9.7h1.8v-9.7h3.3V13.6H8.2z M9.7,24.4H4.8v-1.4h4.9V24.4z M9.7,19.1H4.8v-1.4h4.9V19.1z",handleSize:"100%",handleStyle:{color:"#a7b7cc"},labelPrecision:null,labelFormatter:null,showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:"#333"}}}),C=m;A.exports=C}),Qxt=wt((o,A)=>{var f=Bi(),m=zb(),C=To(),E=WP(),x=Z4(),y=ds(),I=pc(),v=q4(),B=C.Rect,Q=y.linearMap,T=y.asc,w=f.bind,S=f.each,D=7,R=1,P=30,M="horizontal",L="vertical",F=5,k=["line","bar","candlestick","scatter"],N=x.extend({type:"dataZoom.slider",init:function(X,q){this._displayables={},this._orient,this._range,this._handleEnds,this._size,this._handleWidth,this._handleHeight,this._location,this._dragging,this._dataShadowInfo,this.api=q},render:function(X,q,ee,ie){if(N.superApply(this,"render",arguments),E.createOrUpdate(this,"_dispatchZoomAction",this.dataZoomModel.get("throttle"),"fixRate"),this._orient=X.get("orient"),this.dataZoomModel.get("show")===!1){this.group.removeAll();return}(!ie||ie.type!=="dataZoom"||ie.from!==this.uid)&&this._buildView(),this._updateView()},remove:function(){N.superApply(this,"remove",arguments),E.clear(this,"_dispatchZoomAction")},dispose:function(){N.superApply(this,"dispose",arguments),E.clear(this,"_dispatchZoomAction")},_buildView:function(){var X=this.group;X.removeAll(),this._resetLocation(),this._resetInterval();var q=this._displayables.barGroup=new C.Group;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),X.add(q),this._positionGroup()},_resetLocation:function(){var X=this.dataZoomModel,q=this.api,ee=this._findCoordRect(),ie={width:q.getWidth(),height:q.getHeight()},H=this._orient===M?{right:ie.width-ee.x-ee.width,top:ie.height-P-D,width:ee.width,height:P}:{right:D,top:ee.y,width:P,height:ee.height},le=I.getLayoutParams(X.option);f.each(["right","top","width","height"],function(Ae){le[Ae]==="ph"&&(le[Ae]=H[Ae])});var ue=I.getLayoutRect(le,ie,X.padding);this._location={x:ue.x,y:ue.y},this._size=[ue.width,ue.height],this._orient===L&&this._size.reverse()},_positionGroup:function(){var X=this.group,q=this._location,ee=this._orient,ie=this.dataZoomModel.getFirstTargetAxisModel(),H=ie&&ie.get("inverse"),le=this._displayables.barGroup,ue=(this._dataShadowInfo||{}).otherAxisInverse;le.attr(ee===M&&!H?{scale:ue?[1,1]:[1,-1]}:ee===M&&H?{scale:ue?[-1,1]:[-1,-1]}:ee===L&&!H?{scale:ue?[1,-1]:[1,1],rotation:Math.PI/2}:{scale:ue?[-1,-1]:[-1,1],rotation:Math.PI/2});var Ae=X.getBoundingRect([le]);X.attr("position",[q.x-Ae.x,q.y-Ae.y])},_getViewExtent:function(){return[0,this._size[0]]},_renderBackground:function(){var X=this.dataZoomModel,q=this._size,ee=this._displayables.barGroup;ee.add(new B({silent:!0,shape:{x:0,y:0,width:q[0],height:q[1]},style:{fill:X.get("backgroundColor")},z2:-40})),ee.add(new B({shape:{x:0,y:0,width:q[0],height:q[1]},style:{fill:"transparent"},z2:0,onclick:f.bind(this._onClickPanelClick,this)}))},_renderDataShadow:function(){var X=this._dataShadowInfo=this._prepareDataShadowInfo();if(X){var q=this._size,ee=X.series,ie=ee.getRawData(),H=ee.getShadowDim?ee.getShadowDim():X.otherDim;if(H!=null){var le=ie.getDataExtent(H),ue=(le[1]-le[0])*.3;le=[le[0]-ue,le[1]+ue];var Ae=[0,q[1]],he=[0,q[0]],ge=[[q[0],0],[0,0]],fe=[],ae=he[1]/(ie.count()-1),U=0,W=Math.round(ie.count()/q[0]),Y;ie.each([H],function(re,se){if(W>0&&se%W){U+=ae;return}var de=re==null||isNaN(re)||re==="",me=de?0:Q(re,le,Ae,!0);de&&!Y&&se?(ge.push([ge[ge.length-1][0],0]),fe.push([fe[fe.length-1][0],0])):!de&&Y&&(ge.push([U,0]),fe.push([U,0])),ge.push([U,me]),fe.push([U,me]),U+=ae,Y=de});var z=this.dataZoomModel;this._displayables.barGroup.add(new C.Polygon({shape:{points:ge},style:f.defaults({fill:z.get("dataBackgroundColor")},z.getModel("dataBackground.areaStyle").getAreaStyle()),silent:!0,z2:-20})),this._displayables.barGroup.add(new C.Polyline({shape:{points:fe},style:z.getModel("dataBackground.lineStyle").getLineStyle(),silent:!0,z2:-19}))}}},_prepareDataShadowInfo:function(){var X=this.dataZoomModel,q=X.get("showDataShadow");if(q!==!1){var ee,ie=this.ecModel;return X.eachTargetAxis(function(H,le){var ue=X.getAxisProxy(H.name,le).getTargetSeriesModels();f.each(ue,function(Ae){if(!ee&&!(q!==!0&&f.indexOf(k,Ae.get("type"))<0)){var he=ie.getComponent(H.axis,le).axis,ge=G(H.name),fe,ae=Ae.coordinateSystem;ge!=null&&ae.getOtherAxis&&(fe=ae.getOtherAxis(he).inverse),ge=Ae.getData().mapDimension(ge),ee={thisAxis:he,series:Ae,thisDim:H.name,otherDim:ge,otherAxisInverse:fe}}},this)},this),ee}},_renderHandle:function(){var X=this._displayables,q=X.handles=[],ee=X.handleLabels=[],ie=this._displayables.barGroup,H=this._size,le=this.dataZoomModel;ie.add(X.filler=new B({draggable:!0,cursor:J(this._orient),drift:w(this._onDragMove,this,"all"),ondragstart:w(this._showDataInfo,this,!0),ondragend:w(this._onDragEnd,this),onmouseover:w(this._showDataInfo,this,!0),onmouseout:w(this._showDataInfo,this,!1),style:{fill:le.get("fillerColor"),textPosition:"inside"}})),ie.add(new B({silent:!0,subPixelOptimize:!0,shape:{x:0,y:0,width:H[0],height:H[1]},style:{stroke:le.get("dataBackgroundColor")||le.get("borderColor"),lineWidth:R,fill:"rgba(0,0,0,0)"}})),S([0,1],function(ue){var Ae=C.createIcon(le.get("handleIcon"),{cursor:J(this._orient),draggable:!0,drift:w(this._onDragMove,this,ue),ondragend:w(this._onDragEnd,this),onmouseover:w(this._showDataInfo,this,!0),onmouseout:w(this._showDataInfo,this,!1)},{x:-1,y:0,width:2,height:2}),he=Ae.getBoundingRect();this._handleHeight=y.parsePercent(le.get("handleSize"),this._size[1]),this._handleWidth=he.width/he.height*this._handleHeight,Ae.setStyle(le.getModel("handleStyle").getItemStyle());var ge=le.get("handleColor");ge!=null&&(Ae.style.fill=ge),ie.add(q[ue]=Ae);var fe=le.textStyleModel;this.group.add(ee[ue]=new C.Text({silent:!0,invisible:!0,style:{x:0,y:0,text:"",textVerticalAlign:"middle",textAlign:"center",textFill:fe.getTextColor(),textFont:fe.getFont()},z2:10}))},this)},_resetInterval:function(){var X=this._range=this.dataZoomModel.getPercentRange(),q=this._getViewExtent();this._handleEnds=[Q(X[0],[0,100],q,!0),Q(X[1],[0,100],q,!0)]},_updateInterval:function(X,q){var ee=this.dataZoomModel,ie=this._handleEnds,H=this._getViewExtent(),le=ee.findRepresentativeAxisProxy().getMinMaxSpan(),ue=[0,100];v(q,ie,H,ee.get("zoomLock")?"all":X,le.minSpan!=null?Q(le.minSpan,ue,H,!0):null,le.maxSpan!=null?Q(le.maxSpan,ue,H,!0):null);var Ae=this._range,he=this._range=T([Q(ie[0],H,ue,!0),Q(ie[1],H,ue,!0)]);return!Ae||Ae[0]!==he[0]||Ae[1]!==he[1]},_updateView:function(X){var q=this._displayables,ee=this._handleEnds,ie=T(ee.slice()),H=this._size;S([0,1],function(le){var ue=q.handles[le],Ae=this._handleHeight;ue.attr({scale:[Ae/2,Ae/2],position:[ee[le],H[1]/2-Ae/2]})},this),q.filler.setShape({x:ie[0],y:0,width:ie[1]-ie[0],height:H[1]}),this._updateDataInfo(X)},_updateDataInfo:function(X){var q=this.dataZoomModel,ee=this._displayables,ie=ee.handleLabels,H=this._orient,le=["",""];if(q.get("showDetail")){var ue=q.findRepresentativeAxisProxy();if(ue){var Ae=ue.getAxisModel().axis,he=this._range,ge=X?ue.calculateDataWindow({start:he[0],end:he[1]}).valueWindow:ue.getDataValueWindow();le=[this._formatLabel(ge[0],Ae),this._formatLabel(ge[1],Ae)]}}var fe=T(this._handleEnds.slice());ae.call(this,0),ae.call(this,1);function ae(U){var W=C.getTransform(ee.handles[U].parent,this.group),Y=C.transformDirection(U===0?"right":"left",W),z=this._handleWidth/2+F,re=C.applyTransform([fe[U]+(U===0?-z:z),this._size[1]/2],W);ie[U].setStyle({x:re[0],y:re[1],textVerticalAlign:H===M?"middle":Y,textAlign:H===M?Y:"center",text:le[U]})}},_formatLabel:function(X,q){var ee=this.dataZoomModel,ie=ee.get("labelFormatter"),H=ee.get("labelPrecision");(H==null||H==="auto")&&(H=q.getPixelPrecision());var le=X==null||isNaN(X)?"":q.type==="category"||q.type==="time"?q.scale.getLabel(Math.round(X)):X.toFixed(Math.min(H,20));return f.isFunction(ie)?ie(X,le):f.isString(ie)?ie.replace("{value}",le):le},_showDataInfo:function(X){X=this._dragging||X;var q=this._displayables.handleLabels;q[0].attr("invisible",!X),q[1].attr("invisible",!X)},_onDragMove:function(X,q,ee,ie){this._dragging=!0,m.stop(ie.event);var H=this._displayables.barGroup.getLocalTransform(),le=C.applyTransform([q,ee],H,!0),ue=this._updateInterval(X,le[0]),Ae=this.dataZoomModel.get("realtime");this._updateView(!Ae),ue&&Ae&&this._dispatchZoomAction()},_onDragEnd:function(){this._dragging=!1,this._showDataInfo(!1);var X=this.dataZoomModel.get("realtime");!X&&this._dispatchZoomAction()},_onClickPanelClick:function(X){var q=this._size,ee=this._displayables.barGroup.transformCoordToLocal(X.offsetX,X.offsetY);if(!(ee[0]<0||ee[0]>q[0]||ee[1]<0||ee[1]>q[1])){var ie=this._handleEnds,H=(ie[0]+ie[1])/2,le=this._updateInterval("all",ee[0]-H);this._updateView(),le&&this._dispatchZoomAction()}},_dispatchZoomAction:function(){var X=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,start:X[0],end:X[1]})},_findCoordRect:function(){var X;if(S(this.getTargetCoordInfo(),function(ie){if(!X&&ie.length){var H=ie[0].model.coordinateSystem;X=H.getRect&&H.getRect()}}),!X){var q=this.api.getWidth(),ee=this.api.getHeight();X={x:q*.2,y:ee*.2,width:q*.6,height:ee*.6}}return X}});function G(X){var q={x:"y",y:"x",radius:"angle",angle:"radius"};return q[X]}function J(X){return X==="vertical"?"ns-resize":"ew-resize"}var K=N;A.exports=K}),R6e=wt(()=>{Q0e(),X4(),Z4(),bxt(),Qxt(),D0e(),T0e()}),Sxt=wt((o,A)=>{var f=X4(),m=f.extend({type:"dataZoom.inside",defaultOption:{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}});A.exports=m}),Dxt=wt(o=>{var A=Bi(),f=Dz(),m=WP(),C="\0_ec_dataZoom_roams";function E(w,S){var D=I(w),R=S.dataZoomId,P=S.coordId;A.each(D,function(F,k){var N=F.dataZoomInfos;N[R]&&A.indexOf(S.allCoordIds,P)<0&&(delete N[R],F.count--)}),B(D);var M=D[P];M||(M=D[P]={coordId:P,dataZoomInfos:{},count:0},M.controller=v(w,M),M.dispatchAction=A.curry(Q,w)),!M.dataZoomInfos[R]&&M.count++,M.dataZoomInfos[R]=S;var L=T(M.dataZoomInfos);M.controller.enable(L.controlType,L.opt),M.controller.setPointerChecker(S.containsPoint),m.createOrUpdate(M,"dispatchAction",S.dataZoomModel.get("throttle",!0),"fixRate")}function x(w,S){var D=I(w);A.each(D,function(R){R.controller.dispose();var P=R.dataZoomInfos;P[S]&&(delete P[S],R.count--)}),B(D)}function y(w){return w.type+"\0_"+w.id}function I(w){var S=w.getZr();return S[C]||(S[C]={})}function v(w,S){var D=new f(w.getZr());return A.each(["pan","zoom","scrollMove"],function(R){D.on(R,function(P){var M=[];A.each(S.dataZoomInfos,function(L){if(P.isAvailableBehavior(L.dataZoomModel.option)){var F=(L.getRange||{})[R],k=F&&F(S.controller,P);!L.dataZoomModel.get("disabled",!0)&&k&&M.push({dataZoomId:L.dataZoomId,start:k[0],end:k[1]})}}),M.length&&S.dispatchAction(M)})}),D}function B(w){A.each(w,function(S,D){S.count||(S.controller.dispose(),delete w[D])})}function Q(w,S){w.dispatchAction({type:"dataZoom",batch:S})}function T(w){var S,D="type_",R={type_true:2,type_move:1,type_false:0,type_undefined:-1},P=!0;return A.each(w,function(M){var L=M.dataZoomModel,F=L.get("disabled",!0)?!1:L.get("zoomLock",!0)?"move":!0;R[D+F]>R[D+S]&&(S=F),P&=L.get("preventDefaultMouseMove",!0)}),{controlType:S,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!P}}}o.register=E,o.unregister=x,o.generateCoordId=y}),Txt=wt((o,A)=>{var f=Bi(),m=Z4(),C=q4(),E=Dxt(),x=f.bind,y=m.extend({type:"dataZoom.inside",init:function(T,w){this._range},render:function(T,w,S,D){y.superApply(this,"render",arguments),this._range=T.getPercentRange(),f.each(this.getTargetCoordInfo(),function(R,P){var M=f.map(R,function(L){return E.generateCoordId(L.model)});f.each(R,function(L){var F=L.model,k={};f.each(["pan","zoom","scrollMove"],function(N){k[N]=x(I[N],this,L,P)},this),E.register(S,{coordId:E.generateCoordId(F),allCoordIds:M,containsPoint:function(N,G,J){return F.coordinateSystem.containPoint([G,J])},dataZoomId:T.id,dataZoomModel:T,getRange:k})},this)},this)},dispose:function(){E.unregister(this.api,this.dataZoomModel.id),y.superApply(this,"dispose",arguments),this._range=null}}),I={zoom:function(T,w,S,D){var R=this._range,P=R.slice(),M=T.axisModels[0];if(M){var L=B[w](null,[D.originX,D.originY],M,S,T),F=(L.signal>0?L.pixelStart+L.pixelLength-L.pixel:L.pixel-L.pixelStart)/L.pixelLength*(P[1]-P[0])+P[0],k=Math.max(1/D.scale,0);P[0]=(P[0]-F)*k+F,P[1]=(P[1]-F)*k+F;var N=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();if(C(0,P,[0,100],0,N.minSpan,N.maxSpan),this._range=P,R[0]!==P[0]||R[1]!==P[1])return P}},pan:v(function(T,w,S,D,R,P){var M=B[D]([P.oldX,P.oldY],[P.newX,P.newY],w,R,S);return M.signal*(T[1]-T[0])*M.pixel/M.pixelLength}),scrollMove:v(function(T,w,S,D,R,P){var M=B[D]([0,0],[P.scrollDelta,P.scrollDelta],w,R,S);return M.signal*(T[1]-T[0])*P.scrollDelta})};function v(T){return function(w,S,D,R){var P=this._range,M=P.slice(),L=w.axisModels[0];if(L){var F=T(M,L,w,S,D,R);if(C(F,M,[0,100],"all"),this._range=M,P[0]!==M[0]||P[1]!==M[1])return M}}}var B={grid:function(T,w,S,D,R){var P=S.axis,M={},L=R.model.coordinateSystem.getRect();return T=T||[0,0],P.dim==="x"?(M.pixel=w[0]-T[0],M.pixelLength=L.width,M.pixelStart=L.x,M.signal=P.inverse?1:-1):(M.pixel=w[1]-T[1],M.pixelLength=L.height,M.pixelStart=L.y,M.signal=P.inverse?-1:1),M},polar:function(T,w,S,D,R){var P=S.axis,M={},L=R.model.coordinateSystem,F=L.getRadiusAxis().getExtent(),k=L.getAngleAxis().getExtent();return T=T?L.pointToCoord(T):[0,0],w=L.pointToCoord(w),S.mainType==="radiusAxis"?(M.pixel=w[0]-T[0],M.pixelLength=F[1]-F[0],M.pixelStart=F[0],M.signal=P.inverse?1:-1):(M.pixel=w[1]-T[1],M.pixelLength=k[1]-k[0],M.pixelStart=k[0],M.signal=P.inverse?-1:1),M},singleAxis:function(T,w,S,D,R){var P=S.axis,M=R.model.coordinateSystem.getRect(),L={};return T=T||[0,0],P.orient==="horizontal"?(L.pixel=w[0]-T[0],L.pixelLength=M.width,L.pixelStart=M.x,L.signal=P.inverse?1:-1):(L.pixel=w[1]-T[1],L.pixelLength=M.height,L.pixelStart=M.y,L.signal=P.inverse?-1:1),L}},Q=y;A.exports=Q}),L6e=wt(()=>{Q0e(),X4(),Z4(),Sxt(),Txt(),D0e(),T0e()}),Mxt=wt(()=>{R6e(),L6e()}),F6e=wt((o,A)=>{var f=Bi(),m=f.each;function C(x){var y=x&&x.visualMap;f.isArray(y)||(y=y?[y]:[]),m(y,function(I){if(I){E(I,"splitList")&&!E(I,"pieces")&&(I.pieces=I.splitList,delete I.splitList);var v=I.pieces;v&&f.isArray(v)&&m(v,function(B){f.isObject(B)&&(E(B,"start")&&!E(B,"min")&&(B.min=B.start),E(B,"end")&&!E(B,"max")&&(B.max=B.end))})}})}function E(x,y){return x&&x.hasOwnProperty&&x.hasOwnProperty(y)}A.exports=C}),N6e=wt(()=>{var o=C0();o.registerSubTypeDefaulter("visualMap",function(A){return!A.categories&&(!(A.pieces?A.pieces.length>0:A.splitNumber>0)||A.calculable)?"continuous":"piecewise"})}),k6e=wt(()=>{var o=Dn(),A=Bi(),f=pte(),m=r3(),C=o.PRIORITY.VISUAL.COMPONENT;o.registerVisual(C,{createOnAllSeries:!0,reset:function(x,y){var I=[];return y.eachComponent("visualMap",function(v){var B=x.pipelineContext;!v.isTargetSeries(x)||B&&B.large||I.push(f.incrementalApplyVisual(v.stateList,v.targetVisuals,A.bind(v.getValueState,v),v.getDataDimension(x.getData())))}),I}}),o.registerVisual(C,{createOnAllSeries:!0,reset:function(x,y){var I=x.getData(),v=[];y.eachComponent("visualMap",function(B){if(B.isTargetSeries(x)){var Q=B.getVisualMeta(A.bind(E,null,x,B))||{stops:[],outerColors:[]},T=B.getDataDimension(I),w=I.getDimensionInfo(T);w!=null&&(Q.dimension=w.index,v.push(Q))}}),x.getData().setVisual("visualMeta",v)}});function E(x,y,I,v){for(var B=y.targetVisuals[v],Q=m.prepareVisualTypes(B),T={color:x.getData().getVisual("color")},w=0,S=Q.length;w{var f=Bi(),m={get:function(x,y,I){var v=f.clone((C[x]||{})[y]);return I&&f.isArray(v)?v[v.length-1]:v}},C={color:{active:["#006edd","#e0ffff"],inactive:["rgba(0,0,0,0)"]},colorHue:{active:[0,360],inactive:[0,0]},colorSaturation:{active:[.3,1],inactive:[0,0]},colorLightness:{active:[.9,.5],inactive:[0,0]},colorAlpha:{active:[.3,1],inactive:[0,0]},opacity:{active:[.3,1],inactive:[0,0]},symbol:{active:["circle","roundRect","diamond"],inactive:["none"]},symbolSize:{active:[10,50],inactive:[0,0]}},E=m;A.exports=E}),U6e=wt((o,A)=>{var f=Dn(),m=Bi(),C=jf(),E=O6e(),x=r3(),y=pte(),I=Bl(),v=ds(),B=x.mapVisual,Q=x.eachVisual,T=m.isArray,w=m.each,S=v.asc,D=v.linearMap,R=m.noop,P=f.extendComponentModel({type:"visualMap",dependencies:["series"],stateList:["inRange","outOfRange"],replacableOptionKeys:["inRange","outOfRange","target","controller","color"],dataBound:[-1/0,1/0],layoutMode:{type:"box",ignoreSize:!0},defaultOption:{show:!0,zlevel:0,z:4,seriesIndex:"all",min:0,max:200,dimension:null,inRange:null,outOfRange:null,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,orient:"vertical",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",contentColor:"#5793f3",inactiveColor:"#aaa",borderWidth:0,padding:5,textGap:10,precision:0,color:null,formatter:null,text:null,textStyle:{color:"#333"}},init:function(L,F,k){this._dataExtent,this.targetVisuals={},this.controllerVisuals={},this.textStyleModel,this.itemSize,this.mergeDefaultAndTheme(L,k)},optionUpdated:function(L,F){var k=this.option;C.canvasSupported||(k.realtime=!1),!F&&y.replaceVisualOption(k,L,this.replacableOptionKeys),this.textStyleModel=this.getModel("textStyle"),this.resetItemSize(),this.completeVisualOption()},resetVisual:function(L){var F=this.stateList;L=m.bind(L,this),this.controllerVisuals=y.createVisualMappings(this.option.controller,F,L),this.targetVisuals=y.createVisualMappings(this.option.target,F,L)},getTargetSeriesIndices:function(){var L=this.option.seriesIndex,F=[];return L==null||L==="all"?this.ecModel.eachSeries(function(k,N){F.push(N)}):F=I.normalizeToArray(L),F},eachTargetSeries:function(L,F){m.each(this.getTargetSeriesIndices(),function(k){L.call(F,this.ecModel.getSeriesByIndex(k))},this)},isTargetSeries:function(L){var F=!1;return this.eachTargetSeries(function(k){k===L&&(F=!0)}),F},formatValueText:function(L,F,k){var N=this.option,G=N.precision,J=this.dataBound,K=N.formatter,X,q;if(k=k||["<",">"],m.isArray(L)&&(L=L.slice(),X=!0),q=F?L:X?[ee(L[0]),ee(L[1])]:ee(L),m.isString(K))return K.replace("{value}",X?q[0]:q).replace("{value2}",X?q[1]:q);if(m.isFunction(K))return X?K(L[0],L[1]):K(L);if(X)return L[0]===J[0]?k[0]+" "+q[1]:L[1]===J[1]?k[1]+" "+q[0]:q[0]+" - "+q[1];return q;function ee(ie){return ie===J[0]?"min":ie===J[1]?"max":(+ie).toFixed(Math.min(G,20))}},resetExtent:function(){var L=this.option,F=S([L.min,L.max]);this._dataExtent=F},getDataDimension:function(L){var F=this.option.dimension,k=L.dimensions;if(!(F==null&&!k.length)){if(F!=null)return L.getDimension(F);for(var N=L.dimensions,G=N.length-1;G>=0;G--){var J=N[G],K=L.getDimensionInfo(J);if(!K.isCalculationCoord)return J}}},getExtent:function(){return this._dataExtent.slice()},completeVisualOption:function(){var L=this.ecModel,F=this.option,k={inRange:F.inRange,outOfRange:F.outOfRange},N=F.target||(F.target={}),G=F.controller||(F.controller={});m.merge(N,k),m.merge(G,k);var J=this.isCategory();K.call(this,N),K.call(this,G),X.call(this,N,"inRange","outOfRange"),q.call(this,G);function K(ee){T(F.color)&&!ee.inRange&&(ee.inRange={color:F.color.slice().reverse()}),ee.inRange=ee.inRange||{color:L.get("gradientColor")},w(this.stateList,function(ie){var H=ee[ie];if(m.isString(H)){var le=E.get(H,"active",J);le?(ee[ie]={},ee[ie][H]=le):delete ee[ie]}},this)}function X(ee,ie,H){var le=ee[ie],ue=ee[H];le&&!ue&&(ue=ee[H]={},w(le,function(Ae,he){if(x.isValidType(he)){var ge=E.get(he,"inactive",J);ge!=null&&(ue[he]=ge,he==="color"&&!ue.hasOwnProperty("opacity")&&!ue.hasOwnProperty("colorAlpha")&&(ue.opacity=[0,0]))}}))}function q(ee){var ie=(ee.inRange||{}).symbol||(ee.outOfRange||{}).symbol,H=(ee.inRange||{}).symbolSize||(ee.outOfRange||{}).symbolSize,le=this.get("inactiveColor");w(this.stateList,function(ue){var Ae=this.itemSize,he=ee[ue];he||(he=ee[ue]={color:J?le:[le]}),he.symbol==null&&(he.symbol=ie&&m.clone(ie)||(J?"roundRect":["roundRect"])),he.symbolSize==null&&(he.symbolSize=H&&m.clone(H)||(J?Ae[0]:[Ae[0],Ae[0]])),he.symbol=B(he.symbol,function(ae){return ae==="none"||ae==="square"?"roundRect":ae});var ge=he.symbolSize;if(ge!=null){var fe=-1/0;Q(ge,function(ae){ae>fe&&(fe=ae)}),he.symbolSize=B(ge,function(ae){return D(ae,[0,fe],[0,Ae[0]],!0)})}},this)}},resetItemSize:function(){this.itemSize=[parseFloat(this.get("itemWidth")),parseFloat(this.get("itemHeight"))]},isCategory:function(){return!!this.option.categories},setSelected:R,getValueState:R,getVisualMeta:R}),M=P;A.exports=M}),Pxt=wt((o,A)=>{var f=Bi(),m=U6e(),C=ds(),E=[20,140],x=m.extend({type:"visualMap.continuous",defaultOption:{align:"auto",calculable:!1,range:null,realtime:!0,itemHeight:null,itemWidth:null,hoverLink:!0,hoverLinkDataSize:null,hoverLinkOnHandle:null},optionUpdated:function(v,B){x.superApply(this,"optionUpdated",arguments),this.resetExtent(),this.resetVisual(function(Q){Q.mappingMethod="linear",Q.dataExtent=this.getExtent()}),this._resetRange()},resetItemSize:function(){x.superApply(this,"resetItemSize",arguments);var v=this.itemSize;this._orient==="horizontal"&&v.reverse(),(v[0]==null||isNaN(v[0]))&&(v[0]=E[0]),(v[1]==null||isNaN(v[1]))&&(v[1]=E[1])},_resetRange:function(){var v=this.getExtent(),B=this.option.range;!B||B.auto?(v.auto=1,this.option.range=v):f.isArray(B)&&(B[0]>B[1]&&B.reverse(),B[0]=Math.max(B[0],v[0]),B[1]=Math.min(B[1],v[1]))},completeVisualOption:function(){m.prototype.completeVisualOption.apply(this,arguments),f.each(this.stateList,function(v){var B=this.option.controller[v].symbolSize;B&&B[0]!==B[1]&&(B[0]=0)},this)},setSelected:function(v){this.option.range=v.slice(),this._resetRange()},getSelected:function(){var v=this.getExtent(),B=C.asc((this.get("range")||[]).slice());return B[0]>v[1]&&(B[0]=v[1]),B[1]>v[1]&&(B[1]=v[1]),B[0]=Q[1]||v<=B[1])?"inRange":"outOfRange"},findTargetDataIndices:function(v){var B=[];return this.eachTargetSeries(function(Q){var T=[],w=Q.getData();w.each(this.getDataDimension(w),function(S,D){v[0]<=S&&S<=v[1]&&T.push(D)},this),B.push({seriesId:Q.id,dataIndex:T})},this),B},getVisualMeta:function(v){var B=y(this,"outOfRange",this.getExtent()),Q=y(this,"inRange",this.option.range.slice()),T=[];function w(F,k){T.push({value:F,color:v(F,k)})}for(var S=0,D=0,R=Q.length,P=B.length;D{var f=Dn(),m=Bi(),C=To(),E=Tc(),x=pc(),y=r3(),I=f.extendComponentView({type:"visualMap",autoPositionValues:{left:1,right:1,top:1,bottom:1},init:function(v,B){this.ecModel=v,this.api=B,this.visualMapModel},render:function(v,B,Q,T){if(this.visualMapModel=v,v.get("show")===!1){this.group.removeAll();return}this.doRender.apply(this,arguments)},renderBackground:function(v){var B=this.visualMapModel,Q=E.normalizeCssArray(B.get("padding")||0),T=v.getBoundingRect();v.add(new C.Rect({z2:-1,silent:!0,shape:{x:T.x-Q[3],y:T.y-Q[0],width:T.width+Q[3]+Q[1],height:T.height+Q[0]+Q[2]},style:{fill:B.get("backgroundColor"),stroke:B.get("borderColor"),lineWidth:B.get("borderWidth")}}))},getControllerVisual:function(v,B,Q){Q=Q||{};var T=Q.forceState,w=this.visualMapModel,S={};if(B==="symbol"&&(S.symbol=w.get("itemSymbol")),B==="color"){var D=w.get("contentColor");S.color=D}function R(F){return S[F]}function P(F,k){S[F]=k}var M=w.controllerVisuals[T||w.getValueState(v)],L=y.prepareVisualTypes(M);return m.each(L,function(F){var k=M[F];Q.convertOpacityToAlpha&&F==="opacity"&&(F="colorAlpha",k=M.__alphaForOpacity),y.dependsOn(F,B)&&k&&k.applyVisual(v,R,P)}),S[B]},positionGroup:function(v){var B=this.visualMapModel,Q=this.api;x.positionElement(v,B.getBoxLayoutParams(),{width:Q.getWidth(),height:Q.getHeight()})},doRender:m.noop});A.exports=I}),H6e=wt(o=>{var A=Bi(),f=pc(),m=f.getLayoutRect;function C(x,y,I){var v=x.option,B=v.align;if(B!=null&&B!=="auto")return B;for(var Q={width:y.getWidth(),height:y.getHeight()},T=v.orient==="horizontal"?1:0,w=[["left","right","width"],["top","bottom","height"]],S=w[T],D=[0,null,10],R={},P=0;P<3;P++)R[w[1-T][P]]=D[P],R[S[P]]=P===2?I[0]:v[S[P]];var M=[["x","width",3],["y","height",0]][T],L=m(R,Q,v.padding);return S[(L.margin[M[2]]||0)+L[M[0]]+L[M[1]]*.5{var f=Bi(),m=u0e(),C=zb(),E=G6e(),x=To(),y=ds(),I=q4(),v=H6e(),B=Bl(),Q=y.linearMap,T=f.each,w=Math.min,S=Math.max,D=12,R=6,P=E.extend({type:"visualMap.continuous",init:function(){P.superApply(this,"init",arguments),this._shapes={},this._dataInterval=[],this._handleEnds=[],this._orient,this._useHandle,this._hoverLinkDataIndices=[],this._dragging,this._hovering},doRender:function(K,X,q,ee){(!ee||ee.type!=="selectDataRange"||ee.from!==this.uid)&&this._buildView()},_buildView:function(){this.group.removeAll();var K=this.visualMapModel,X=this.group;this._orient=K.get("orient"),this._useHandle=K.get("calculable"),this._resetInterval(),this._renderBar(X);var q=K.get("text");this._renderEndsText(X,q,0),this._renderEndsText(X,q,1),this._updateView(!0),this.renderBackground(X),this._updateView(),this._enableHoverLinkToSeries(),this._enableHoverLinkFromSeries(),this.positionGroup(X)},_renderEndsText:function(K,X,q){if(X){var ee=X[1-q];ee=ee!=null?ee+"":"";var ie=this.visualMapModel,H=ie.get("textGap"),le=ie.itemSize,ue=this._shapes.barGroup,Ae=this._applyTransform([le[0]/2,q===0?-H:le[1]+H],ue),he=this._applyTransform(q===0?"bottom":"top",ue),ge=this._orient,fe=this.visualMapModel.textStyleModel;this.group.add(new x.Text({style:{x:Ae[0],y:Ae[1],textVerticalAlign:ge==="horizontal"?"middle":he,textAlign:ge==="horizontal"?he:"center",text:ee,textFont:fe.getFont(),textFill:fe.getTextColor()}}))}},_renderBar:function(K){var X=this.visualMapModel,q=this._shapes,ee=X.itemSize,ie=this._orient,H=this._useHandle,le=v.getItemAlign(X,this.api,ee),ue=q.barGroup=this._createBarGroup(le);ue.add(q.outOfRange=M()),ue.add(q.inRange=M(null,H?G(this._orient):null,f.bind(this._dragHandle,this,"all",!1),f.bind(this._dragHandle,this,"all",!0)));var Ae=X.textStyleModel.getTextRect("\u56FD"),he=S(Ae.width,Ae.height);H&&(q.handleThumbs=[],q.handleLabels=[],q.handleLabelPoints=[],this._createHandle(ue,0,ee,he,ie,le),this._createHandle(ue,1,ee,he,ie,le)),this._createIndicator(ue,ee,he,ie),K.add(ue)},_createHandle:function(K,X,q,ee,ie){var H=f.bind(this._dragHandle,this,X,!1),le=f.bind(this._dragHandle,this,X,!0),ue=M(L(X,ee),G(this._orient),H,le);ue.position[0]=q[0],K.add(ue);var Ae=this.visualMapModel.textStyleModel,he=new x.Text({draggable:!0,drift:H,onmousemove:function(ae){C.stop(ae.event)},ondragend:le,style:{x:0,y:0,text:"",textFont:Ae.getFont(),textFill:Ae.getTextColor()}});this.group.add(he);var ge=[ie==="horizontal"?ee/2:ee*1.5,ie==="horizontal"?X===0?-(ee*1.5):ee*1.5:X===0?-ee/2:ee/2],fe=this._shapes;fe.handleThumbs[X]=ue,fe.handleLabelPoints[X]=ge,fe.handleLabels[X]=he},_createIndicator:function(K,X,q,ee){var ie=M([[0,0]],"move");ie.position[0]=X[0],ie.attr({invisible:!0,silent:!0}),K.add(ie);var H=this.visualMapModel.textStyleModel,le=new x.Text({silent:!0,invisible:!0,style:{x:0,y:0,text:"",textFont:H.getFont(),textFill:H.getTextColor()}});this.group.add(le);var ue=[ee==="horizontal"?q/2:R+3,0],Ae=this._shapes;Ae.indicator=ie,Ae.indicatorLabel=le,Ae.indicatorLabelPoint=ue},_dragHandle:function(K,X,q,ee){if(this._useHandle){if(this._dragging=!X,!X){var ie=this._applyTransform([q,ee],this._shapes.barGroup,!0);this._updateInterval(K,ie[1]),this._updateView()}X===!this.visualMapModel.get("realtime")&&this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:this._dataInterval.slice()}),X?!this._hovering&&this._clearHoverLinkToSeries():N(this.visualMapModel)&&this._doHoverLinkToSeries(this._handleEnds[K],!1)}},_resetInterval:function(){var K=this.visualMapModel,X=this._dataInterval=K.getSelected(),q=K.getExtent(),ee=[0,K.itemSize[1]];this._handleEnds=[Q(X[0],q,ee,!0),Q(X[1],q,ee,!0)]},_updateInterval:function(K,X){X=X||0;var q=this.visualMapModel,ee=this._handleEnds,ie=[0,q.itemSize[1]];I(X,ee,ie,K,0);var H=q.getExtent();this._dataInterval=[Q(ee[0],ie,H,!0),Q(ee[1],ie,H,!0)]},_updateView:function(K){var X=this.visualMapModel,q=X.getExtent(),ee=this._shapes,ie=[0,X.itemSize[1]],H=K?ie:this._handleEnds,le=this._createBarVisual(this._dataInterval,q,H,"inRange"),ue=this._createBarVisual(q,q,ie,"outOfRange");ee.inRange.setStyle({fill:le.barColor,opacity:le.opacity}).setShape("points",le.barPoints),ee.outOfRange.setStyle({fill:ue.barColor,opacity:ue.opacity}).setShape("points",ue.barPoints),this._updateHandle(H,le)},_createBarVisual:function(K,X,q,ee){var ie={forceState:ee,convertOpacityToAlpha:!0},H=this._makeColorGradient(K,ie),le=[this.getControllerVisual(K[0],"symbolSize",ie),this.getControllerVisual(K[1],"symbolSize",ie)],ue=this._createBarPoints(q,le);return{barColor:new m(0,0,0,1,H),barPoints:ue,handlesColor:[H[0].color,H[H.length-1].color]}},_makeColorGradient:function(K,X){var q=100,ee=[],ie=(K[1]-K[0])/q;ee.push({color:this.getControllerVisual(K[0],"color",X),offset:0});for(var H=1;HK[1])break;ee.push({color:this.getControllerVisual(le,"color",X),offset:H/q})}return ee.push({color:this.getControllerVisual(K[1],"color",X),offset:1}),ee},_createBarPoints:function(K,X){var q=this.visualMapModel.itemSize;return[[q[0]-X[0],K[0]],[q[0],K[0]],[q[0],K[1]],[q[0]-X[1],K[1]]]},_createBarGroup:function(K){var X=this._orient,q=this.visualMapModel.get("inverse");return new x.Group(X==="horizontal"&&!q?{scale:K==="bottom"?[1,1]:[-1,1],rotation:Math.PI/2}:X==="horizontal"&&q?{scale:K==="bottom"?[-1,1]:[1,1],rotation:-Math.PI/2}:X==="vertical"&&!q?{scale:K==="left"?[1,-1]:[-1,-1]}:{scale:K==="left"?[1,1]:[-1,1]})},_updateHandle:function(K,X){if(this._useHandle){var q=this._shapes,ee=this.visualMapModel,ie=q.handleThumbs,H=q.handleLabels;T([0,1],function(le){var ue=ie[le];ue.setStyle("fill",X.handlesColor[le]),ue.position[1]=K[le];var Ae=x.applyTransform(q.handleLabelPoints[le],x.getTransform(ue,this.group));H[le].setStyle({x:Ae[0],y:Ae[1],text:ee.formatValueText(this._dataInterval[le]),textVerticalAlign:"middle",textAlign:this._applyTransform(this._orient==="horizontal"?le===0?"bottom":"top":"left",q.barGroup)})},this)}},_showIndicator:function(K,X,q,ee){var ie=this.visualMapModel,H=ie.getExtent(),le=ie.itemSize,ue=[0,le[1]],Ae=Q(K,H,ue,!0),he=this._shapes,ge=he.indicator;if(ge){ge.position[1]=Ae,ge.attr("invisible",!1),ge.setShape("points",F(!!q,ee,Ae,le[1]));var fe={convertOpacityToAlpha:!0},ae=this.getControllerVisual(K,"color",fe);ge.setStyle("fill",ae);var U=x.applyTransform(he.indicatorLabelPoint,x.getTransform(ge,this.group)),W=he.indicatorLabel;W.attr("invisible",!1);var Y=this._applyTransform("left",he.barGroup),z=this._orient;W.setStyle({text:(q||"")+ie.formatValueText(X),textVerticalAlign:z==="horizontal"?Y:"middle",textAlign:z==="horizontal"?"center":Y,x:U[0],y:U[1]})}},_enableHoverLinkToSeries:function(){var K=this;this._shapes.barGroup.on("mousemove",function(X){if(K._hovering=!0,!K._dragging){var q=K.visualMapModel.itemSize,ee=K._applyTransform([X.offsetX,X.offsetY],K._shapes.barGroup,!0,!0);ee[1]=w(S(0,ee[1]),q[1]),K._doHoverLinkToSeries(ee[1],0<=ee[0]&&ee[0]<=q[0])}}).on("mouseout",function(){K._hovering=!1,!K._dragging&&K._clearHoverLinkToSeries()})},_enableHoverLinkFromSeries:function(){var K=this.api.getZr();this.visualMapModel.option.hoverLink?(K.on("mouseover",this._hoverLinkFromSeriesMouseOver,this),K.on("mouseout",this._hideIndicator,this)):this._clearHoverLinkFromSeries()},_doHoverLinkToSeries:function(K,X){var q=this.visualMapModel,ee=q.itemSize;if(q.option.hoverLink){var ie=[0,ee[1]],H=q.getExtent();K=w(S(ie[0],K),ie[1]);var le=k(q,H,ie),ue=[K-le,K+le],Ae=Q(K,ie,H,!0),he=[Q(ue[0],ie,H,!0),Q(ue[1],ie,H,!0)];ue[0]ie[1]&&(he[1]=1/0),X&&(he[0]===-1/0?this._showIndicator(Ae,he[1],"< ",le):he[1]===1/0?this._showIndicator(Ae,he[0],"> ",le):this._showIndicator(Ae,Ae,"\u2248 ",le));var ge=this._hoverLinkDataIndices,fe=[];(X||N(q))&&(fe=this._hoverLinkDataIndices=q.findTargetDataIndices(he));var ae=B.compressBatches(ge,fe);this._dispatchHighDown("downplay",v.makeHighDownBatch(ae[0],q)),this._dispatchHighDown("highlight",v.makeHighDownBatch(ae[1],q))}},_hoverLinkFromSeriesMouseOver:function(K){var X=K.target,q=this.visualMapModel;if(!(!X||X.dataIndex==null)){var ee=this.ecModel.getSeriesByIndex(X.seriesIndex);if(q.isTargetSeries(ee)){var ie=ee.getData(X.dataType),H=ie.get(q.getDataDimension(ie),X.dataIndex,!0);isNaN(H)||this._showIndicator(H,H)}}},_hideIndicator:function(){var K=this._shapes;K.indicator&&K.indicator.attr("invisible",!0),K.indicatorLabel&&K.indicatorLabel.attr("invisible",!0)},_clearHoverLinkToSeries:function(){this._hideIndicator();var K=this._hoverLinkDataIndices;this._dispatchHighDown("downplay",v.makeHighDownBatch(K,this.visualMapModel)),K.length=0},_clearHoverLinkFromSeries:function(){this._hideIndicator();var K=this.api.getZr();K.off("mouseover",this._hoverLinkFromSeriesMouseOver),K.off("mouseout",this._hideIndicator)},_applyTransform:function(K,X,q,ee){var ie=x.getTransform(X,ee?null:this.group);return x[f.isArray(K)?"applyTransform":"transformDirection"](K,ie,q)},_dispatchHighDown:function(K,X){X&&X.length&&this.api.dispatchAction({type:K,batch:X})},dispose:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()},remove:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()}});function M(K,X,q,ee){return new x.Polygon({shape:{points:K},draggable:!!q,cursor:X,drift:q,onmousemove:function(ie){C.stop(ie.event)},ondragend:ee})}function L(K,X){return K===0?[[0,0],[X,0],[X,-X]]:[[0,0],[X,0],[X,X]]}function F(K,X,q,ee){return K?[[0,-w(X,S(q,0))],[R,0],[0,w(X,S(ee-q,0))]]:[[0,0],[5,-5],[5,5]]}function k(K,X,q){var ee=D/2,ie=K.get("hoverLinkDataSize");return ie&&(ee=Q(ie,X,q,!0)/2),ee}function N(K){var X=K.get("hoverLinkOnHandle");return!!(X??K.get("realtime"))}function G(K){return K==="vertical"?"ns-resize":"ew-resize"}var J=P;A.exports=J}),V6e=wt(()=>{var o=Dn(),A={type:"selectDataRange",event:"dataRangeSelected",update:"update"};o.registerAction(A,function(f,m){m.eachComponent({mainType:"visualMap",query:f},function(C){C.setSelected(f.selected)})})}),z6e=wt(()=>{var o=Dn(),A=F6e();N6e(),k6e(),Pxt(),Rxt(),V6e(),o.registerPreprocessor(A)}),Lxt=wt((o,A)=>{var f=Bu(),m=f.__DEV__,C=Bi(),E=U6e(),x=r3(),y=O6e(),I=ds(),v=I.reformIntervals,B=E.extend({type:"visualMap.piecewise",defaultOption:{selected:null,minOpen:!1,maxOpen:!1,align:"auto",itemWidth:20,itemHeight:14,itemSymbol:"roundRect",pieceList:null,categories:null,splitNumber:5,selectedMode:"multiple",itemGap:10,hoverLink:!0,showLabel:null},optionUpdated:function(S,D){B.superApply(this,"optionUpdated",arguments),this._pieceList=[],this.resetExtent();var R=this._mode=this._determineMode();Q[this._mode].call(this),this._resetSelected(S,D);var P=this.option.categories;this.resetVisual(function(M,L){R==="categories"?(M.mappingMethod="category",M.categories=C.clone(P)):(M.dataExtent=this.getExtent(),M.mappingMethod="piecewise",M.pieceList=C.map(this._pieceList,function(k){var k=C.clone(k);return L!=="inRange"&&(k.visual=null),k}))})},completeVisualOption:function(){var S=this.option,D={},R=x.listVisualTypes(),P=this.isCategory();C.each(S.pieces,function(L){C.each(R,function(F){L.hasOwnProperty(F)&&(D[F]=1)})}),C.each(D,function(L,F){var k=0;C.each(this.stateList,function(N){k|=M(S,N,F)||M(S.target,N,F)},this),!k&&C.each(this.stateList,function(N){(S[N]||(S[N]={}))[F]=y.get(F,N==="inRange"?"active":"inactive",P)})},this);function M(L,F,k){return L&&L[F]&&(C.isObject(L[F])?L[F].hasOwnProperty(k):L[F]===k)}E.prototype.completeVisualOption.apply(this,arguments)},_resetSelected:function(S,D){var R=this.option,P=this._pieceList,M=(D?R:S).selected||{};if(R.selected=M,C.each(P,function(F,k){var N=this.getSelectedMapKey(F);M.hasOwnProperty(N)||(M[N]=!0)},this),R.selectedMode==="single"){var L=!1;C.each(P,function(F,k){var N=this.getSelectedMapKey(F);M[N]&&(L?M[N]=!1:L=!0)},this)}},getSelectedMapKey:function(S){return this._mode==="categories"?S.value+"":S.index+""},getPieceList:function(){return this._pieceList},_determineMode:function(){var S=this.option;return S.pieces&&S.pieces.length>0?"pieces":this.option.categories?"categories":"splitNumber"},setSelected:function(S){this.option.selected=C.clone(S)},getValueState:function(S){var D=x.findPieceIndex(S,this._pieceList);return D!=null&&this.option.selected[this.getSelectedMapKey(this._pieceList[D])]?"inRange":"outOfRange"},findTargetDataIndices:function(S){var D=[];return this.eachTargetSeries(function(R){var P=[],M=R.getData();M.each(this.getDataDimension(M),function(L,F){var k=x.findPieceIndex(L,this._pieceList);k===S&&P.push(F)},this),D.push({seriesId:R.id,dataIndex:P})},this),D},getRepresentValue:function(S){var D;if(this.isCategory())D=S.value;else if(S.value!=null)D=S.value;else{var R=S.interval||[];D=R[0]===-1/0&&R[1]===1/0?0:(R[0]+R[1])/2}return D},getVisualMeta:function(S){if(this.isCategory())return;var D=[],R=[],P=this;function M(N,G){var J=P.getRepresentValue({interval:N});G||(G=P.getValueState(J));var K=S(J,G);N[0]===-1/0?R[0]=K:N[1]===1/0?R[1]=K:D.push({value:N[0],color:K},{value:N[1],color:K})}var L=this._pieceList.slice();if(!L.length)L.push({interval:[-1/0,1/0]});else{var F=L[0].interval[0];F!==-1/0&&L.unshift({interval:[-1/0,F]}),F=L[L.length-1].interval[1],F!==1/0&&L.push({interval:[F,1/0]})}var k=-1/0;return C.each(L,function(N){var G=N.interval;G&&(G[0]>k&&M([k,G[0]],"outOfRange"),M(G.slice()),k=G[1])},this),{stops:D,outerColors:R}}}),Q={splitNumber:function(){var S=this.option,D=this._pieceList,R=Math.min(S.precision,20),P=this.getExtent(),M=S.splitNumber;M=Math.max(parseInt(M,10),1),S.splitNumber=M;for(var L=(P[1]-P[0])/M;+L.toFixed(R)!==L&&R<5;)R++;S.precision=R,L=+L.toFixed(R),S.minOpen&&D.push({interval:[-1/0,P[0]],close:[0,0]});for(var F=0,k=P[0];F","\u2265"][P[0]]];R.text=R.text||this.formatValueText(R.value!=null?R.value:R.interval,!1,M)},this)}};function T(S,D){var R=S.inverse;(S.orient==="vertical"?!R:R)&&D.reverse()}var w=B;A.exports=w}),Fxt=wt((o,A)=>{var f=Bi(),m=G6e(),C=To(),E=lv(),x=E.createSymbol,y=pc(),I=H6e(),v=m.extend({type:"visualMap.piecewise",doRender:function(){var Q=this.group;Q.removeAll();var T=this.visualMapModel,w=T.get("textGap"),S=T.textStyleModel,D=S.getFont(),R=S.getTextColor(),P=this._getItemAlign(),M=T.itemSize,L=this._getViewData(),F=L.endsText,k=f.retrieve(T.get("showLabel",!0),!F);F&&this._renderEndsText(Q,F[0],M,k,P),f.each(L.viewPieceList,N,this),F&&this._renderEndsText(Q,F[1],M,k,P),y.box(T.get("orient"),Q,T.get("itemGap")),this.renderBackground(Q),this.positionGroup(Q);function N(G){var J=G.piece,K=new C.Group;K.onclick=f.bind(this._onItemClick,this,J),this._enableHoverLink(K,G.indexInModelPieceList);var X=T.getRepresentValue(J);if(this._createItemSymbol(K,X,[0,0,M[0],M[1]]),k){var q=this.visualMapModel.getValueState(X);K.add(new C.Text({style:{x:P==="right"?-w:M[0]+w,y:M[1]/2,text:J.text,textVerticalAlign:"middle",textAlign:P,textFont:D,textFill:R,opacity:q==="outOfRange"?.5:1}}))}Q.add(K)}},_enableHoverLink:function(Q,T){Q.on("mouseover",f.bind(w,this,"highlight")).on("mouseout",f.bind(w,this,"downplay"));function w(S){var D=this.visualMapModel;D.option.hoverLink&&this.api.dispatchAction({type:S,batch:I.makeHighDownBatch(D.findTargetDataIndices(T),D)})}},_getItemAlign:function(){var Q=this.visualMapModel,T=Q.option;if(T.orient==="vertical")return I.getItemAlign(Q,this.api,Q.itemSize);var w=T.align;return(!w||w==="auto")&&(w="left"),w},_renderEndsText:function(Q,T,w,S,D){if(T){var R=new C.Group,P=this.visualMapModel.textStyleModel;R.add(new C.Text({style:{x:S?D==="right"?w[0]:0:w[0]/2,y:w[1]/2,textVerticalAlign:"middle",textAlign:S?D:"center",text:T,textFont:P.getFont(),textFill:P.getTextColor()}})),Q.add(R)}},_getViewData:function(){var Q=this.visualMapModel,T=f.map(Q.getPieceList(),function(R,P){return{piece:R,indexInModelPieceList:P}}),w=Q.get("text"),S=Q.get("orient"),D=Q.get("inverse");return(S==="horizontal"?D:!D)?T.reverse():w&&(w=w.slice().reverse()),{viewPieceList:T,endsText:w}},_createItemSymbol:function(Q,T,w){Q.add(x(this.getControllerVisual(T,"symbol"),w[0],w[1],w[2],w[3],this.getControllerVisual(T,"color")))},_onItemClick:function(Q){var T=this.visualMapModel,w=T.option,S=f.clone(w.selected),D=T.getSelectedMapKey(Q);w.selectedMode==="single"?(S[D]=!0,f.each(S,function(R,P){S[P]=P===D})):S[D]=!S[D],this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:S})}}),B=v;A.exports=B}),Y6e=wt(()=>{var o=Dn(),A=F6e();N6e(),k6e(),Lxt(),Fxt(),V6e(),o.registerPreprocessor(A)}),Nxt=wt(()=>{z6e(),Y6e()}),J6e=wt(o=>{var A=jf(),f="urn:schemas-microsoft-com:vml",m=typeof window>"u"?null:window,C=!1,E=m&&m.document;function x(v){return y(v)}var y;if(E&&!A.canvasSupported)try{!E.namespaces.zrvml&&E.namespaces.add("zrvml",f),y=function(v){return E.createElement("')}}catch{y=function(v){return E.createElement("<"+v+' xmlns="'+f+'" class="zrvml">')}}function I(){if(!(C||!E)){C=!0;var v=E.styleSheets;v.length<31?E.createStyleSheet().addRule(".zrvml","behavior:url(#default#VML)"):v[0].addRule(".zrvml","behavior:url(#default#VML)")}}o.doc=E,o.createNode=x,o.initVML=I}),kxt=wt(()=>{var o=jf(),A=vh(),f=A.applyTransform,m=zh(),C=Yb(),E=yI(),x=ite(),y=BHe(),I=Cz(),v=V4(),B=XN(),Q=If(),T=Y4(),w=nte(),S=J6e(),D=T.CMD,R=Math.round,P=Math.sqrt,M=Math.abs,L=Math.cos,F=Math.sin,k=Math.max;if(!o.canvasSupported){for(N=",",G="progid:DXImageTransform.Microsoft",J=21600,K=J/2,X=1e5,q=1e3,ee=function(ze){ze.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px;",ze.coordsize=J+","+J,ze.coordorigin="0,0"},ie=function(ze){return String(ze).replace(/&/g,"&").replace(/"/g,""")},H=function(ze,Je,Xe){return"rgb("+[ze,Je,Xe].join(",")+")"},le=function(ze,Je){Je&&ze&&Je.parentNode!==ze&&ze.appendChild(Je)},ue=function(ze,Je){Je&&ze&&Je.parentNode===ze&&ze.removeChild(Je)},Ae=function(ze,Je,Xe){return(parseFloat(ze)||0)*X+(parseFloat(Je)||0)*q+Xe},he=x.parsePercent,ge=function(ze,Je,Xe){var et=C.parse(Je);Xe=+Xe,isNaN(Xe)&&(Xe=1),et&&(ze.color=H(et[0],et[1],et[2]),ze.opacity=Xe*et[3])},fe=function(ze){var Je=C.parse(ze);return[H(Je[0],Je[1],Je[2]),Je[3]]},ae=function(ze,Je,Xe){var et=Je.fill;if(et!=null)if(et instanceof w){var ot,Et=0,Ct=[0,0],ct=0,yt=1,Qt=Xe.getBoundingRect(),Ze=Qt.width,ut=Qt.height;if(et.type==="linear"){ot="gradient";var St=Xe.transform,gt=[et.x*Ze,et.y*ut],xt=[et.x2*Ze,et.y2*ut];St&&(f(gt,gt,St),f(xt,xt,St));var Lt=xt[0]-gt[0],nt=xt[1]-gt[1];Et=Math.atan2(Lt,nt)*180/Math.PI,Et<0&&(Et+=360),Et<1e-6&&(Et=0)}else{ot="gradientradial";var gt=[et.x*Ze,et.y*ut],St=Xe.transform,Pe=Xe.scale,ve=Ze,We=ut;Ct=[(gt[0]-Qt.x)/ve,(gt[1]-Qt.y)/We],St&&f(gt,gt,St),ve/=Pe[0]*J,We/=Pe[1]*J;var bt=k(ve,We);ct=2*0/bt,yt=2*et.r/bt-ct}var Pt=et.colorStops.slice();Pt.sort(function(mi,Kt){return mi.offset-Kt.offset});for(var It=Pt.length,Mi=[],er=[],di=0;di=2){var Ei=Mi[0][0],Wt=Mi[1][0],jt=Mi[0][1]*Je.opacity,pi=Mi[1][1]*Je.opacity;ze.type=ot,ze.method="none",ze.focus="100%",ze.angle=Et,ze.color=Ei,ze.color2=Wt,ze.colors=er.join(","),ze.opacity=pi,ze.opacity2=jt}ot==="radial"&&(ze.focusposition=Ct.join(","))}else ge(ze,et,Je.opacity)},U=function(ze,Je){Je.lineDash&&(ze.dashstyle=Je.lineDash.join(" ")),Je.stroke!=null&&!(Je.stroke instanceof w)&&ge(ze,Je.stroke,Je.opacity)},W=function(ze,Je,Xe,et){var ot=Je==="fill",Et=ze.getElementsByTagName(Je)[0];Xe[Je]!=null&&Xe[Je]!=="none"&&(ot||!ot&&Xe.lineWidth)?(ze[ot?"filled":"stroked"]="true",Xe[Je]instanceof w&&ue(ze,Et),Et||(Et=S.createNode(Je)),ot?ae(Et,Xe,et):U(Et,Xe),le(ze,Et)):(ze[ot?"filled":"stroked"]="false",ue(ze,Et))},Y=[[],[],[]],z=function(ze,Je){var Xe=D.M,et=D.C,ot=D.L,Et=D.A,Ct=D.Q,ct=[],yt,Qt,Ze,ut,St,gt,xt=ze.data,Lt=ze.len();for(ut=0;ut.01?pi&&(mi+=270/J):Math.abs(Kt-wi)<1e-4?pi&&midi?_t-=270/J:_t+=270/J:pi&&Ktwi?xi+=270/J:xi-=270/J),ct.push(Mt,R(((di-Ri)*It+bt)*J-K),N,R(((wi-Ei)*Mi+Pt)*J-K),N,R(((di+Ri)*It+bt)*J-K),N,R(((wi+Ei)*Mi+Pt)*J-K),N,R((mi*It+bt)*J-K),N,R((Kt*Mi+Pt)*J-K),N,R((xi*It+bt)*J-K),N,R((_t*Mi+Pt)*J-K)),St=xi,gt=_t;break;case D.R:var Ht=Y[0],ti=Y[1];Ht[0]=xt[ut++],Ht[1]=xt[ut++],ti[0]=Ht[0]+xt[ut++],ti[1]=Ht[1]+xt[ut++],Je&&(f(Ht,Ht,Je),f(ti,ti,Je)),Ht[0]=R(Ht[0]*J-K),ti[0]=R(ti[0]*J-K),Ht[1]=R(Ht[1]*J-K),ti[1]=R(ti[1]*J-K),ct.push(" m ",Ht[0],N,Ht[1]," l ",ti[0],N,Ht[1]," l ",ti[0],N,ti[1]," l ",Ht[0],N,ti[1]);break;case D.Z:ct.push(" x ")}if(yt>0){ct.push(Qt);for(var Wi=0;WiCe&&(me=0,de={});var Xe=Ie.style,et;try{Xe.font=ze,et=Xe.fontFamily.split(",")[0]}catch{}Je={style:Xe.fontStyle||se,variant:Xe.fontVariant||se,weight:Xe.fontWeight||se,size:parseFloat(Xe.fontSize||12)|0,family:et||"Microsoft YaHei"},de[ze]=Je,me++}return Je},E.$override("measureText",function(ze,Je){var Xe=S.doc;Te||(Te=Xe.createElement("div"),Te.style.cssText="position:absolute;top:-20000px;left:0;padding:0;margin:0;border:none;white-space:pre;",S.doc.body.appendChild(Te));try{Te.style.font=Je}catch{}return Te.innerHTML="",Te.appendChild(Xe.createTextNode(ze)),{width:Te.offsetWidth}}),Ge=new m,ke=function(ze,Je,Xe,et){var ot=this.style;this.__dirty&&x.normalizeTextStyle(ot,!0);var Et=ot.text;if(Et!=null&&(Et+=""),!!Et){if(ot.rich){var Ct=E.parseRichText(Et,ot);Et=[];for(var ct=0;ct{var f=mz(),m=J6e(),C=Bi(),E=C.each;function x(B){return parseInt(B,10)}function y(B,Q){m.initVML(),this.root=B,this.storage=Q;var T=document.createElement("div"),w=document.createElement("div");T.style.cssText="display:inline-block;overflow:hidden;position:relative;width:300px;height:150px;",w.style.cssText="position:absolute;left:0;top:0;",B.appendChild(T),this._vmlRoot=w,this._vmlViewport=T,this.resize();var S=Q.delFromStorage,D=Q.addToStorage;Q.delFromStorage=function(R){S.call(Q,R),R&&R.onRemove&&R.onRemove(w)},Q.addToStorage=function(R){R.onAdd&&R.onAdd(w),D.call(Q,R)},this._firstPaint=!0}y.prototype={constructor:y,getType:function(){return"vml"},getViewportRoot:function(){return this._vmlViewport},getViewportRootOffset:function(){var B=this.getViewportRoot();if(B)return{offsetLeft:B.offsetLeft||0,offsetTop:B.offsetTop||0}},refresh:function(){var B=this.storage.getDisplayList(!0,!0);this._paintList(B)},_paintList:function(B){for(var Q=this._vmlRoot,T=0;T{kxt();var o=rte(),A=o.registerPainter,f=Oxt();A("vml",f)}),L0e=wt(o=>{var A="http://www.w3.org/2000/svg";function f(m){return document.createElementNS(A,m)}o.createElement=f}),F0e=wt(o=>{var A=L0e(),f=A.createElement,m=Y4(),C=zh(),E=xE(),x=yI(),y=ite(),I=XN(),v=m.CMD,B=Array.prototype.join,Q="none",T=Math.round,w=Math.sin,S=Math.cos,D=Math.PI,R=Math.PI*2,P=180/D,M=1e-4;function L(Y){return T(Y*1e4)/1e4}function F(Y){return Y-M}function k(Y,z){var re=z?Y.textFill:Y.fill;return re!=null&&re!==Q}function N(Y,z){var re=z?Y.textStroke:Y.stroke;return re!=null&&re!==Q}function G(Y,z){z&&J(Y,"transform","matrix("+B.call(z,",")+")")}function J(Y,z,re){(!re||re.type!=="linear"&&re.type!=="radial")&&Y.setAttribute(z,re)}function K(Y,z,re){Y.setAttributeNS("http://www.w3.org/1999/xlink",z,re)}function X(Y,z,re,se){if(k(z,re)){var de=re?z.textFill:z.fill;de=de==="transparent"?Q:de,J(Y,"fill",de),J(Y,"fill-opacity",z.fillOpacity!=null?z.fillOpacity*z.opacity:z.opacity)}else J(Y,"fill",Q);if(N(z,re)){var me=re?z.textStroke:z.stroke;me=me==="transparent"?Q:me,J(Y,"stroke",me);var Ce=re?z.textStrokeWidth:z.lineWidth,Ie=!re&&z.strokeNoScale?se.getLineScale():1;J(Y,"stroke-width",Ce/Ie),J(Y,"paint-order",re?"stroke":"fill"),J(Y,"stroke-opacity",z.strokeOpacity!=null?z.strokeOpacity:z.opacity);var we=z.lineDash;we?(J(Y,"stroke-dasharray",z.lineDash.join(",")),J(Y,"stroke-dashoffset",T(z.lineDashOffset||0))):J(Y,"stroke-dasharray",""),z.lineCap&&J(Y,"stroke-linecap",z.lineCap),z.lineJoin&&J(Y,"stroke-linejoin",z.lineJoin),z.miterLimit&&J(Y,"stroke-miterlimit",z.miterLimit)}else J(Y,"stroke",Q)}function q(Y){for(var z=[],re=Y.data,se=Y.len(),de=0;de=R:-Le>=R),Je=Le>0?Le%R:Le%R+R,Xe=!1;ze?Xe=!0:F(Ue)?Xe=!1:Xe=Je>=D==!!Ne;var et=L(we+Ge*S(Oe)),ot=L(Te+ke*w(Oe));ze&&(Ne?Le=R-1e-4:Le=-R+1e-4,Xe=!0,de===9&&z.push("M",et,ot));var Et=L(we+Ge*S(Oe+Le)),Ct=L(Te+ke*w(Oe+Le));z.push("A",L(Ge),L(ke),T(be*P),+Xe,+Ne,Et,Ct);break;case v.Z:Ce="Z";break;case v.R:var Et=L(re[de++]),Ct=L(re[de++]),ct=L(re[de++]),yt=L(re[de++]);z.push("M",Et,Ct,"L",Et+ct,Ct,"L",Et+ct,Ct+yt,"L",Et,Ct+yt,"L",Et,Ct);break}Ce&&z.push(Ce);for(var Qt=0;QtZe){for(;yt{function f(){}f.prototype={diff:function(y,I,v){v||(v=function(k,N){return k===N}),this.equals=v;var B=this;y=y.slice(),I=I.slice();var Q=I.length,T=y.length,w=1,S=Q+T,D=[{newPos:-1,components:[]}],R=this.extractCommon(D[0],I,y,0);if(D[0].newPos+1>=Q&&R+1>=T){for(var P=[],M=0;M=Q&&K+1>=T)return m(B,N.components,I,y);D[k]=N}w++}for(;w<=S;){var F=L();if(F)return F}},pushComponent:function(y,I,v){var B=y[y.length-1];B&&B.added===I&&B.removed===v?y[y.length-1]={count:B.count+1,added:I,removed:v}:y.push({count:1,added:I,removed:v})},extractCommon:function(y,I,v,B){for(var Q=I.length,T=v.length,w=y.newPos,S=w-B,D=0;w+1{var f=L0e(),m=f.createElement,C=Bi(),E=If(),x=V4(),y=XN(),I=F0e(),v=I.path,B=I.image,Q=I.text,T="0",w="1";function S(R,P,M,L,F){this._zrId=R,this._svgRoot=P,this._tagNames=typeof M=="string"?[M]:M,this._markLabel=L,this._domName=F||"_dom",this.nextId=0}S.prototype.createElement=m,S.prototype.getDefs=function(R){var P=this._svgRoot,M=this._svgRoot.getElementsByTagName("defs");return M.length===0?R?(M=P.insertBefore(this.createElement("defs"),P.firstChild),M.contains||(M.contains=function(L){var F=M.children;if(!F)return!1;for(var k=F.length-1;k>=0;--k)if(F[k]===L)return!0;return!1}),M):null:M[0]},S.prototype.update=function(R,P){if(R){var M=this.getDefs(!1);if(R[this._domName]&&M.contains(R[this._domName]))typeof P=="function"&&P(R);else{var L=this.add(R);L&&(R[this._domName]=L)}}},S.prototype.addDom=function(R){var P=this.getDefs(!0);P.appendChild(R)},S.prototype.removeDom=function(R){var P=this.getDefs(!1);P&&R[this._domName]&&(P.removeChild(R[this._domName]),R[this._domName]=null)},S.prototype.getDoms=function(){var R=this.getDefs(!1);if(!R)return[];var P=[];return C.each(this._tagNames,function(M){var L=R.getElementsByTagName(M);P=P.concat([].slice.call(L))}),P},S.prototype.markAllUnused=function(){var R=this.getDoms(),P=this;C.each(R,function(M){M[P._markLabel]=T})},S.prototype.markUsed=function(R){R&&(R[this._markLabel]=w)},S.prototype.removeUnused=function(){var R=this.getDefs(!1);if(R){var P=this.getDoms(),M=this;C.each(P,function(L){L[M._markLabel]!==w&&R.removeChild(L)})}},S.prototype.getSvgProxy=function(R){return R instanceof E?v:R instanceof x?B:R instanceof y?Q:v},S.prototype.getTextSvgElement=function(R){return R.__textSvgEl},S.prototype.getSvgElement=function(R){return R.__svgEl};var D=S;A.exports=D}),Hxt=wt((o,A)=>{var f=N0e(),m=Bi(),C=mz(),E=Yb();function x(I,v){f.call(this,I,v,["linearGradient","radialGradient"],"__gradient_in_use__")}m.inherits(x,f),x.prototype.addWithoutUpdate=function(I,v){if(v&&v.style){var B=this;m.each(["fill","stroke"],function(Q){if(v.style[Q]&&(v.style[Q].type==="linear"||v.style[Q].type==="radial")){var T=v.style[Q],w=B.getDefs(!0),S;T._dom?(S=T._dom,w.contains(T._dom)||B.addDom(S)):S=B.add(T),B.markUsed(v);var D=S.getAttribute("id");I.setAttribute(Q,"url(#"+D+")")}})}},x.prototype.add=function(I){var v;if(I.type==="linear")v=this.createElement("linearGradient");else if(I.type==="radial")v=this.createElement("radialGradient");else return C("Illegal gradient type."),null;return I.id=I.id||this.nextId++,v.setAttribute("id","zr"+this._zrId+"-gradient-"+I.id),this.updateDom(I,v),this.addDom(v),v},x.prototype.update=function(I){var v=this;f.prototype.update.call(this,I,function(){var B=I.type,Q=I._dom.tagName;B==="linear"&&Q==="linearGradient"||B==="radial"&&Q==="radialGradient"?v.updateDom(I,I._dom):(v.removeDom(I),v.add(I))})},x.prototype.updateDom=function(I,v){if(I.type==="linear")v.setAttribute("x1",I.x),v.setAttribute("y1",I.y),v.setAttribute("x2",I.x2),v.setAttribute("y2",I.y2);else if(I.type==="radial")v.setAttribute("cx",I.x),v.setAttribute("cy",I.y),v.setAttribute("r",I.r);else{C("Illegal gradient type.");return}I.global?v.setAttribute("gradientUnits","userSpaceOnUse"):v.setAttribute("gradientUnits","objectBoundingBox"),v.innerHTML="";for(var B=I.colorStops,Q=0,T=B.length;Q-1)){var D=E.parse(S)[3],R=E.toHex(S);w.setAttribute("stop-color","#"+R),w.setAttribute("stop-opacity",D)}else w.setAttribute("stop-color",B[Q].color);v.appendChild(w)}I._dom=v},x.prototype.markUsed=function(I){if(I.style){var v=I.style.fill;v&&v._dom&&f.prototype.markUsed.call(this,v._dom),v=I.style.stroke,v&&v._dom&&f.prototype.markUsed.call(this,v._dom)}};var y=x;A.exports=y}),Vxt=wt((o,A)=>{var f=N0e(),m=Bi(),C=xE();function E(y,I){f.call(this,y,I,"clipPath","__clippath_in_use__")}m.inherits(E,f),E.prototype.update=function(y){var I=this.getSvgElement(y);I&&this.updateDom(I,y.__clipPaths,!1);var v=this.getTextSvgElement(y);v&&this.updateDom(v,y.__clipPaths,!0),this.markUsed(y)},E.prototype.updateDom=function(y,I,v){if(I&&I.length>0){var B=this.getDefs(!0),Q=I[0],T,w,S=v?"_textDom":"_dom";Q[S]?(w=Q[S].getAttribute("id"),T=Q[S],B.contains(T)||B.appendChild(T)):(w="zr"+this._zrId+"-clip-"+this.nextId,++this.nextId,T=this.createElement("clipPath"),T.setAttribute("id",w),B.appendChild(T),Q[S]=T);var D=this.getSvgProxy(Q);if(Q.transform&&Q.parent.invTransform&&!v){var R=Array.prototype.slice.call(Q.transform);C.mul(Q.transform,Q.parent.invTransform,Q.transform),D.brush(Q),Q.transform=R}else D.brush(Q);var P=this.getSvgElement(Q);T.innerHTML="",T.appendChild(P.cloneNode()),y.setAttribute("clip-path","url(#"+w+")"),I.length>1&&this.updateDom(T,I.slice(1),v)}else y&&y.setAttribute("clip-path","none")},E.prototype.markUsed=function(y){var I=this;y.__clipPaths&&m.each(y.__clipPaths,function(v){v._dom&&f.prototype.markUsed.call(I,v._dom),v._textDom&&f.prototype.markUsed.call(I,v._textDom)})};var x=E;A.exports=x}),zxt=wt((o,A)=>{var f=N0e(),m=Bi();function C(y,I){f.call(this,y,I,["filter"],"__filter_in_use__","_shadowDom")}m.inherits(C,f),C.prototype.addWithoutUpdate=function(y,I){if(I&&E(I.style)){var v;if(I._shadowDom){v=I._shadowDom;var B=this.getDefs(!0);B.contains(I._shadowDom)||this.addDom(v)}else v=this.add(I);this.markUsed(I);var Q=v.getAttribute("id");y.style.filter="url(#"+Q+")"}},C.prototype.add=function(y){var I=this.createElement("filter");return y._shadowDomId=y._shadowDomId||this.nextId++,I.setAttribute("id","zr"+this._zrId+"-shadow-"+y._shadowDomId),this.updateDom(y,I),this.addDom(I),I},C.prototype.update=function(y,I){var v=I.style;if(E(v)){var B=this;f.prototype.update.call(this,I,function(){B.updateDom(I,I._shadowDom)})}else this.remove(y,I)},C.prototype.remove=function(y,I){I._shadowDomId!=null&&(this.removeDom(y),y.style.filter="")},C.prototype.updateDom=function(y,I){var v=I.getElementsByTagName("feDropShadow");v.length===0?v=this.createElement("feDropShadow"):v=v[0];var B=y.style,Q=y.scale&&y.scale[0]||1,T=y.scale&&y.scale[1]||1,w,S,D,R;if(B.shadowBlur||B.shadowOffsetX||B.shadowOffsetY)w=B.shadowOffsetX||0,S=B.shadowOffsetY||0,D=B.shadowBlur,R=B.shadowColor;else if(B.textShadowBlur)w=B.textShadowOffsetX||0,S=B.textShadowOffsetY||0,D=B.textShadowBlur,R=B.textShadowColor;else{this.removeDom(I,B);return}v.setAttribute("dx",w/Q),v.setAttribute("dy",S/T),v.setAttribute("flood-color",R);var P=D/2/Q,M=D/2/T,L=P+" "+M;v.setAttribute("stdDeviation",L),I.setAttribute("x","-100%"),I.setAttribute("y","-100%"),I.setAttribute("width",Math.ceil(D/2*200)+"%"),I.setAttribute("height",Math.ceil(D/2*200)+"%"),I.appendChild(v),y._shadowDom=I},C.prototype.markUsed=function(y){y._shadowDom&&f.prototype.markUsed.call(this,y._shadowDom)};function E(y){return y&&(y.shadowBlur||y.shadowOffsetX||y.shadowOffsetY||y.textShadowBlur||y.textShadowOffsetX||y.textShadowOffsetY)}var x=C;A.exports=x}),Yxt=wt((o,A)=>{var f=L0e(),m=f.createElement,C=Bi(),E=mz(),x=If(),y=V4(),I=XN(),v=Gxt(),B=Hxt(),Q=Vxt(),T=zxt(),w=F0e(),S=w.path,D=w.image,R=w.text;function P(ee){return parseInt(ee,10)}function M(ee){return ee instanceof x?S:ee instanceof y?D:ee instanceof I?R:S}function L(ee,ie){return ie&&ee&&ie.parentNode!==ee}function F(ee,ie,H){if(L(ee,ie)&&H){var le=H.nextSibling;le?ee.insertBefore(ie,le):ee.appendChild(ie)}}function k(ee,ie){if(L(ee,ie)){var H=ee.firstChild;H?ee.insertBefore(ie,H):ee.appendChild(ie)}}function N(ee,ie){ie&&ee&&ie.parentNode===ee&&ee.removeChild(ie)}function G(ee){return ee.__textSvgEl}function J(ee){return ee.__svgEl}var K=function(ee,ie,H,le){this.root=ee,this.storage=ie,this._opts=H=C.extend({},H||{});var ue=m("svg");ue.setAttribute("xmlns","http://www.w3.org/2000/svg"),ue.setAttribute("version","1.1"),ue.setAttribute("baseProfile","full"),ue.style.cssText="user-select:none;position:absolute;left:0;top:0;";var Ae=m("g");ue.appendChild(Ae);var he=m("g");ue.appendChild(he),this.gradientManager=new B(le,he),this.clipPathManager=new Q(le,he),this.shadowManager=new T(le,he);var ge=document.createElement("div");ge.style.cssText="overflow:hidden;position:relative",this._svgDom=ue,this._svgRoot=he,this._backgroundRoot=Ae,this._viewport=ge,ee.appendChild(ge),ge.appendChild(ue),this.resize(H.width,H.height),this._visibleList=[]};K.prototype={constructor:K,getType:function(){return"svg"},getViewportRoot:function(){return this._viewport},getSvgDom:function(){return this._svgDom},getSvgRoot:function(){return this._svgRoot},getViewportRootOffset:function(){var ee=this.getViewportRoot();if(ee)return{offsetLeft:ee.offsetLeft||0,offsetTop:ee.offsetTop||0}},refresh:function(){var ee=this.storage.getDisplayList(!0);this._paintList(ee)},setBackgroundColor:function(ee){this._backgroundRoot&&this._backgroundNode&&this._backgroundRoot.removeChild(this._backgroundNode);var ie=m("rect");ie.setAttribute("width",this.getWidth()),ie.setAttribute("height",this.getHeight()),ie.setAttribute("x",0),ie.setAttribute("y",0),ie.setAttribute("id",0),ie.style.fill=ee,this._backgroundRoot.appendChild(ie),this._backgroundNode=ie},_paintList:function(ee){this.gradientManager.markAllUnused(),this.clipPathManager.markAllUnused(),this.shadowManager.markAllUnused();var ie=this._svgRoot,H=this._visibleList,le=ee.length,ue=[],Ae;for(Ae=0;Ae=0;--he)if(Ae[he]===ue)return!0;return!1}),H}else return null;else return H[0]},resize:function(ee,ie){var H=this._viewport;H.style.display="none";var le=this._opts;if(ee!=null&&(le.width=ee),ie!=null&&(le.height=ie),ee=this._getSize(0),ie=this._getSize(1),H.style.display="",this._width!==ee||this._height!==ie){this._width=ee,this._height=ie;var ue=H.style;ue.width=ee+"px",ue.height=ie+"px";var Ae=this._svgDom;Ae.setAttribute("width",ee),Ae.setAttribute("height",ie)}this._backgroundNode&&(this._backgroundNode.setAttribute("width",ee),this._backgroundNode.setAttribute("height",ie))},getWidth:function(){return this._width},getHeight:function(){return this._height},_getSize:function(ee){var ie=this._opts,H=["width","height"][ee],le=["clientWidth","clientHeight"][ee],ue=["paddingLeft","paddingTop"][ee],Ae=["paddingRight","paddingBottom"][ee];if(ie[H]!=null&&ie[H]!=="auto")return parseFloat(ie[H]);var he=this.root,ge=document.defaultView.getComputedStyle(he);return(he[le]||P(ge[H])||P(he.style[H]))-(P(ge[ue])||0)-(P(ge[Ae])||0)|0},dispose:function(){this.root.innerHTML="",this._svgRoot=this._backgroundRoot=this._svgDom=this._backgroundNode=this._viewport=this.storage=null},clear:function(){this._viewport&&this.root.removeChild(this._viewport)},toDataURL:function(){this.refresh();var ee=encodeURIComponent(this._svgDom.outerHTML.replace(/> \r<`));return"data:image/svg+xml;charset=UTF-8,"+ee}};function X(ee){return function(){E('In SVG mode painter not support method "'+ee+'"')}}C.each(["getLayer","insertLayer","eachLayer","eachBuiltinLayer","eachOtherLayer","getLayers","modLayer","delLayer","clearLayer","pathToImage"],function(ee){K.prototype[ee]=X(ee)});var q=K;A.exports=q}),Jxt=wt(()=>{F0e();var o=rte(),A=o.registerPainter,f=Yxt();A("svg",f)}),K6e=wt(o=>{var A=Dn();(function(){for(var m in A){if(A==null||!A.hasOwnProperty(m)||m==="default"||m==="__esModule")return;o[m]=A[m]}})();var f=qHe();(function(){for(var m in f){if(f==null||!f.hasOwnProperty(m)||m==="default"||m==="__esModule")return;o[m]=f[m]}})(),UHe(),Bpt(),Dpt(),Lpt(),Opt(),jpt(),umt(),gmt(),_mt(),kmt(),Hmt(),Jmt(),nCt(),ACt(),gCt(),yCt(),BCt(),TCt(),LCt(),kCt(),ZCt(),nEt(),AEt(),cEt(),_Et(),wEt(),w6e(),m6e(),DEt(),TEt(),VEt(),WEt(),Tz(),txt(),ixt(),cxt(),fxt(),mxt(),xxt(),wxt(),P6e(),Mxt(),L6e(),R6e(),Nxt(),z6e(),Y6e(),Uxt(),Jxt()}),Kxt=wt((o,A)=>{/*! @license DOMPurify 3.0.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.3/LICENSE */(function(f,m){typeof o=="object"&&typeof A<"u"?A.exports=m():typeof define=="function"&&define.amd?define(m):(f=typeof globalThis<"u"?globalThis:f||self,f.DOMPurify=m())})(o,function(){"use strict";let{entries:f,setPrototypeOf:m,isFrozen:C,getPrototypeOf:E,getOwnPropertyDescriptor:x}=Object,{freeze:y,seal:I,create:v}=Object,{apply:B,construct:Q}=typeof Reflect<"u"&&Reflect;B||(B=function(Le,be,Ne){return Le.apply(be,Ne)}),y||(y=function(Le){return Le}),I||(I=function(Le){return Le}),Q||(Q=function(Le,be){return new Le(...be)});let T=G(Array.prototype.forEach),w=G(Array.prototype.pop),S=G(Array.prototype.push),D=G(String.prototype.toLowerCase),R=G(String.prototype.toString),P=G(String.prototype.match),M=G(String.prototype.replace),L=G(String.prototype.indexOf),F=G(String.prototype.trim),k=G(RegExp.prototype.test),N=J(TypeError);function G(Le){return function(be){for(var Ne=arguments.length,Ue=new Array(Ne>1?Ne-1:0),ze=1;ze/gm),z=I(/\${[\w\W]*}/gm),re=I(/^data-[\-\w.\u00B7-\uFFFF]/),se=I(/^aria-[\-\w]+$/),de=I(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),me=I(/^(?:\w+script|data):/i),Ce=I(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Ie=I(/^html$/i);var we=Object.freeze({__proto__:null,MUSTACHE_EXPR:W,ERB_EXPR:Y,TMPLIT_EXPR:z,DATA_ATTR:re,ARIA_ATTR:se,IS_ALLOWED_URI:de,IS_SCRIPT_OR_DATA:me,ATTR_WHITESPACE:Ce,DOCTYPE_NAME:Ie});let Te=()=>typeof window>"u"?null:window,Ge=function(Le,be){if(typeof Le!="object"||typeof Le.createPolicy!="function")return null;let Ne=null,Ue="data-tt-policy-suffix";be&&be.hasAttribute(Ue)&&(Ne=be.getAttribute(Ue));let ze="dompurify"+(Ne?"#"+Ne:"");try{return Le.createPolicy(ze,{createHTML(Je){return Je},createScriptURL(Je){return Je}})}catch{return console.warn("TrustedTypes policy "+ze+" could not be created."),null}};function ke(){let Le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Te(),be=Ni=>ke(Ni);if(be.version="3.0.3",be.removed=[],!Le||!Le.document||Le.document.nodeType!==9)return be.isSupported=!1,be;let Ne=Le.document,Ue=Ne.currentScript,{document:ze}=Le,{DocumentFragment:Je,HTMLTemplateElement:Xe,Node:et,Element:ot,NodeFilter:Et,NamedNodeMap:Ct=Le.NamedNodeMap||Le.MozNamedAttrMap,HTMLFormElement:ct,DOMParser:yt,trustedTypes:Qt}=Le,Ze=ot.prototype,ut=q(Ze,"cloneNode"),St=q(Ze,"nextSibling"),gt=q(Ze,"childNodes"),xt=q(Ze,"parentNode");if(typeof Xe=="function"){let Ni=ze.createElement("template");Ni.content&&Ni.content.ownerDocument&&(ze=Ni.content.ownerDocument)}let Lt,nt="",{implementation:Pe,createNodeIterator:ve,createDocumentFragment:We,getElementsByTagName:bt}=ze,{importNode:Pt}=Ne,It={};be.isSupported=typeof f=="function"&&typeof xt=="function"&&Pe&&Pe.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:Mi,ERB_EXPR:er,TMPLIT_EXPR:di,DATA_ATTR:wi,ARIA_ATTR:Ri,IS_SCRIPT_OR_DATA:Ei,ATTR_WHITESPACE:Wt}=we,{IS_ALLOWED_URI:jt}=we,pi=null,mi=K({},[...ee,...ie,...H,...ue,...he]),Kt=null,xi=K({},[...ge,...fe,...ae,...U]),_t=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Mt=null,Ht=null,ti=!0,Wi=!0,yi=!1,uo=!0,wn=!1,Un=!1,Ta=!1,Ma=!1,Go=!1,bl=!1,nu=!1,yc=!0,Xu=!1,yd="user-content-",lh=!0,ef=!1,og={},kA=null,S0=K({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),Id=null,Su=K({},["audio","video","img","source","image","track"]),Df=null,_d=K({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),$h="http://www.w3.org/1998/Math/MathML",ci="http://www.w3.org/2000/svg",Gi="http://www.w3.org/1999/xhtml",yr=Gi,Yr=!1,en=null,Or=K({},[$h,ci,Gi],R),Cn,Mn=["application/xhtml+xml","text/html"],tn="text/html",fo,bo=null,_a=ze.createElement("form"),xl=function(Ni){return Ni instanceof RegExp||Ni instanceof Function},Mo=function(Ni){if(!(bo&&bo===Ni)){if((!Ni||typeof Ni!="object")&&(Ni={}),Ni=X(Ni),Cn=Mn.indexOf(Ni.PARSER_MEDIA_TYPE)===-1?Cn=tn:Cn=Ni.PARSER_MEDIA_TYPE,fo=Cn==="application/xhtml+xml"?R:D,pi="ALLOWED_TAGS"in Ni?K({},Ni.ALLOWED_TAGS,fo):mi,Kt="ALLOWED_ATTR"in Ni?K({},Ni.ALLOWED_ATTR,fo):xi,en="ALLOWED_NAMESPACES"in Ni?K({},Ni.ALLOWED_NAMESPACES,R):Or,Df="ADD_URI_SAFE_ATTR"in Ni?K(X(_d),Ni.ADD_URI_SAFE_ATTR,fo):_d,Id="ADD_DATA_URI_TAGS"in Ni?K(X(Su),Ni.ADD_DATA_URI_TAGS,fo):Su,kA="FORBID_CONTENTS"in Ni?K({},Ni.FORBID_CONTENTS,fo):S0,Mt="FORBID_TAGS"in Ni?K({},Ni.FORBID_TAGS,fo):{},Ht="FORBID_ATTR"in Ni?K({},Ni.FORBID_ATTR,fo):{},og="USE_PROFILES"in Ni?Ni.USE_PROFILES:!1,ti=Ni.ALLOW_ARIA_ATTR!==!1,Wi=Ni.ALLOW_DATA_ATTR!==!1,yi=Ni.ALLOW_UNKNOWN_PROTOCOLS||!1,uo=Ni.ALLOW_SELF_CLOSE_IN_ATTR!==!1,wn=Ni.SAFE_FOR_TEMPLATES||!1,Un=Ni.WHOLE_DOCUMENT||!1,Go=Ni.RETURN_DOM||!1,bl=Ni.RETURN_DOM_FRAGMENT||!1,nu=Ni.RETURN_TRUSTED_TYPE||!1,Ma=Ni.FORCE_BODY||!1,yc=Ni.SANITIZE_DOM!==!1,Xu=Ni.SANITIZE_NAMED_PROPS||!1,lh=Ni.KEEP_CONTENT!==!1,ef=Ni.IN_PLACE||!1,jt=Ni.ALLOWED_URI_REGEXP||de,yr=Ni.NAMESPACE||Gi,_t=Ni.CUSTOM_ELEMENT_HANDLING||{},Ni.CUSTOM_ELEMENT_HANDLING&&xl(Ni.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(_t.tagNameCheck=Ni.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Ni.CUSTOM_ELEMENT_HANDLING&&xl(Ni.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(_t.attributeNameCheck=Ni.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Ni.CUSTOM_ELEMENT_HANDLING&&typeof Ni.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(_t.allowCustomizedBuiltInElements=Ni.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),wn&&(Wi=!1),bl&&(Go=!0),og&&(pi=K({},[...he]),Kt=[],og.html===!0&&(K(pi,ee),K(Kt,ge)),og.svg===!0&&(K(pi,ie),K(Kt,fe),K(Kt,U)),og.svgFilters===!0&&(K(pi,H),K(Kt,fe),K(Kt,U)),og.mathMl===!0&&(K(pi,ue),K(Kt,ae),K(Kt,U))),Ni.ADD_TAGS&&(pi===mi&&(pi=X(pi)),K(pi,Ni.ADD_TAGS,fo)),Ni.ADD_ATTR&&(Kt===xi&&(Kt=X(Kt)),K(Kt,Ni.ADD_ATTR,fo)),Ni.ADD_URI_SAFE_ATTR&&K(Df,Ni.ADD_URI_SAFE_ATTR,fo),Ni.FORBID_CONTENTS&&(kA===S0&&(kA=X(kA)),K(kA,Ni.FORBID_CONTENTS,fo)),lh&&(pi["#text"]=!0),Un&&K(pi,["html","head","body"]),pi.table&&(K(pi,["tbody"]),delete Mt.tbody),Ni.TRUSTED_TYPES_POLICY){if(typeof Ni.TRUSTED_TYPES_POLICY.createHTML!="function")throw N('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Ni.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw N('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');Lt=Ni.TRUSTED_TYPES_POLICY,nt=Lt.createHTML("")}else Lt===void 0&&(Lt=Ge(Qt,Ue)),Lt!==null&&typeof nt=="string"&&(nt=Lt.createHTML(""));y&&y(Ni),bo=Ni}},Wl=K({},["mi","mo","mn","ms","mtext"]),Ss=K({},["foreignobject","desc","title","annotation-xml"]),uh=K({},["title","style","font","a","script"]),ku=K({},ie);K(ku,H),K(ku,le);let Ic=K({},ue);K(Ic,Ae);let _c=function(Ni){let qn=xt(Ni);(!qn||!qn.tagName)&&(qn={namespaceURI:yr,tagName:"template"});let bn=D(Ni.tagName),$e=D(qn.tagName);return en[Ni.namespaceURI]?Ni.namespaceURI===ci?qn.namespaceURI===Gi?bn==="svg":qn.namespaceURI===$h?bn==="svg"&&($e==="annotation-xml"||Wl[$e]):!!ku[bn]:Ni.namespaceURI===$h?qn.namespaceURI===Gi?bn==="math":qn.namespaceURI===ci?bn==="math"&&Ss[$e]:!!Ic[bn]:Ni.namespaceURI===Gi?qn.namespaceURI===ci&&!Ss[$e]||qn.namespaceURI===$h&&!Wl[$e]?!1:!Ic[bn]&&(uh[bn]||!ku[bn]):!!(Cn==="application/xhtml+xml"&&en[Ni.namespaceURI]):!1},Cu=function(Ni){S(be.removed,{element:Ni});try{Ni.parentNode.removeChild(Ni)}catch{Ni.remove()}},Tf=function(Ni,qn){try{S(be.removed,{attribute:qn.getAttributeNode(Ni),from:qn})}catch{S(be.removed,{attribute:null,from:qn})}if(qn.removeAttribute(Ni),Ni==="is"&&!Kt[Ni])if(Go||bl)try{Cu(qn)}catch{}else try{qn.setAttribute(Ni,"")}catch{}},ag=function(Ni){let qn,bn;if(Ma)Ni=""+Ni;else{let Dt=P(Ni,/^[\r\n\t ]+/);bn=Dt&&Dt[0]}Cn==="application/xhtml+xml"&&yr===Gi&&(Ni=''+Ni+"");let $e=Lt?Lt.createHTML(Ni):Ni;if(yr===Gi)try{qn=new yt().parseFromString($e,Cn)}catch{}if(!qn||!qn.documentElement){qn=Pe.createDocument(yr,"template",null);try{qn.documentElement.innerHTML=Yr?nt:$e}catch{}}let lt=qn.body||qn.documentElement;return Ni&&bn&<.insertBefore(ze.createTextNode(bn),lt.childNodes[0]||null),yr===Gi?bt.call(qn,Un?"html":"body")[0]:Un?qn.documentElement:lt},FE=function(Ni){return ve.call(Ni.ownerDocument||Ni,Ni,Et.SHOW_ELEMENT|Et.SHOW_COMMENT|Et.SHOW_TEXT,null,!1)},Bp=function(Ni){return Ni instanceof ct&&(typeof Ni.nodeName!="string"||typeof Ni.textContent!="string"||typeof Ni.removeChild!="function"||!(Ni.attributes instanceof Ct)||typeof Ni.removeAttribute!="function"||typeof Ni.setAttribute!="function"||typeof Ni.namespaceURI!="string"||typeof Ni.insertBefore!="function"||typeof Ni.hasChildNodes!="function")},Fo=function(Ni){return typeof et=="object"?Ni instanceof et:Ni&&typeof Ni=="object"&&typeof Ni.nodeType=="number"&&typeof Ni.nodeName=="string"},IA=function(Ni,qn,bn){It[Ni]&&T(It[Ni],$e=>{$e.call(be,qn,bn,bo)})},wp=function(Ni){let qn;if(IA("beforeSanitizeElements",Ni,null),Bp(Ni))return Cu(Ni),!0;let bn=fo(Ni.nodeName);if(IA("uponSanitizeElement",Ni,{tagName:bn,allowedTags:pi}),Ni.hasChildNodes()&&!Fo(Ni.firstElementChild)&&(!Fo(Ni.content)||!Fo(Ni.content.firstElementChild))&&k(/<[/\w]/g,Ni.innerHTML)&&k(/<[/\w]/g,Ni.textContent))return Cu(Ni),!0;if(!pi[bn]||Mt[bn]){if(!Mt[bn]&&sg(bn)&&(_t.tagNameCheck instanceof RegExp&&k(_t.tagNameCheck,bn)||_t.tagNameCheck instanceof Function&&_t.tagNameCheck(bn)))return!1;if(lh&&!kA[bn]){let $e=xt(Ni)||Ni.parentNode,lt=gt(Ni)||Ni.childNodes;if(lt&&$e){let Dt=lt.length;for(let Fe=Dt-1;Fe>=0;--Fe)$e.insertBefore(ut(lt[Fe],!0),St(Ni))}}return Cu(Ni),!0}return Ni instanceof ot&&!_c(Ni)||(bn==="noscript"||bn==="noembed")&&k(/<\/no(script|embed)/i,Ni.innerHTML)?(Cu(Ni),!0):(wn&&Ni.nodeType===3&&(qn=Ni.textContent,qn=M(qn,Mi," "),qn=M(qn,er," "),qn=M(qn,di," "),Ni.textContent!==qn&&(S(be.removed,{element:Ni.cloneNode()}),Ni.textContent=qn)),IA("afterSanitizeElements",Ni,null),!1)},Vg=function(Ni,qn,bn){if(yc&&(qn==="id"||qn==="name")&&(bn in ze||bn in _a))return!1;if(!(Wi&&!Ht[qn]&&k(wi,qn))&&!(ti&&k(Ri,qn))){if(!Kt[qn]||Ht[qn]){if(!(sg(Ni)&&(_t.tagNameCheck instanceof RegExp&&k(_t.tagNameCheck,Ni)||_t.tagNameCheck instanceof Function&&_t.tagNameCheck(Ni))&&(_t.attributeNameCheck instanceof RegExp&&k(_t.attributeNameCheck,qn)||_t.attributeNameCheck instanceof Function&&_t.attributeNameCheck(qn))||qn==="is"&&_t.allowCustomizedBuiltInElements&&(_t.tagNameCheck instanceof RegExp&&k(_t.tagNameCheck,bn)||_t.tagNameCheck instanceof Function&&_t.tagNameCheck(bn))))return!1}else if(!Df[qn]&&!k(jt,M(bn,Wt,""))&&!((qn==="src"||qn==="xlink:href"||qn==="href")&&Ni!=="script"&&L(bn,"data:")===0&&Id[Ni])&&!(yi&&!k(Ei,M(bn,Wt,"")))&&bn)return!1}return!0},sg=function(Ni){return Ni.indexOf("-")>0},lg=function(Ni){let qn,bn,$e,lt;IA("beforeSanitizeAttributes",Ni,null);let{attributes:Dt}=Ni;if(!Dt)return;let Fe={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Kt};for(lt=Dt.length;lt--;){qn=Dt[lt];let{name:it,namespaceURI:ht}=qn;if(bn=it==="value"?qn.value:F(qn.value),$e=fo(it),Fe.attrName=$e,Fe.attrValue=bn,Fe.keepAttr=!0,Fe.forceKeepAttr=void 0,IA("uponSanitizeAttribute",Ni,Fe),bn=Fe.attrValue,Fe.forceKeepAttr||(Tf(it,Ni),!Fe.keepAttr))continue;if(!uo&&k(/\/>/i,bn)){Tf(it,Ni);continue}wn&&(bn=M(bn,Mi," "),bn=M(bn,er," "),bn=M(bn,di," "));let Tt=fo(Ni.nodeName);if(Vg(Tt,$e,bn)){if(Xu&&($e==="id"||$e==="name")&&(Tf(it,Ni),bn=yd+bn),Lt&&typeof Qt=="object"&&typeof Qt.getAttributeType=="function"&&!ht)switch(Qt.getAttributeType(Tt,$e)){case"TrustedHTML":{bn=Lt.createHTML(bn);break}case"TrustedScriptURL":{bn=Lt.createScriptURL(bn);break}}try{ht?Ni.setAttributeNS(ht,it,bn):Ni.setAttribute(it,bn),w(be.removed)}catch{}}}IA("afterSanitizeAttributes",Ni,null)},D0=function Ni(qn){let bn,$e=FE(qn);for(IA("beforeSanitizeShadowDOM",qn,null);bn=$e.nextNode();)IA("uponSanitizeShadowNode",bn,null),!wp(bn)&&(bn.content instanceof Je&&Ni(bn.content),lg(bn));IA("afterSanitizeShadowDOM",qn,null)};return be.sanitize=function(Ni){let qn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},bn,$e,lt,Dt;if(Yr=!Ni,Yr&&(Ni=""),typeof Ni!="string"&&!Fo(Ni))if(typeof Ni.toString=="function"){if(Ni=Ni.toString(),typeof Ni!="string")throw N("dirty is not a string, aborting")}else throw N("toString is not a function");if(!be.isSupported)return Ni;if(Ta||Mo(qn),be.removed=[],typeof Ni=="string"&&(ef=!1),ef){if(Ni.nodeName){let ht=fo(Ni.nodeName);if(!pi[ht]||Mt[ht])throw N("root node is forbidden and cannot be sanitized in-place")}}else if(Ni instanceof et)bn=ag(""),$e=bn.ownerDocument.importNode(Ni,!0),$e.nodeType===1&&$e.nodeName==="BODY"||$e.nodeName==="HTML"?bn=$e:bn.appendChild($e);else{if(!Go&&!wn&&!Un&&Ni.indexOf("<")===-1)return Lt&&nu?Lt.createHTML(Ni):Ni;if(bn=ag(Ni),!bn)return Go?null:nu?nt:""}bn&&Ma&&Cu(bn.firstChild);let Fe=FE(ef?Ni:bn);for(;lt=Fe.nextNode();)wp(lt)||(lt.content instanceof Je&&D0(lt.content),lg(lt));if(ef)return Ni;if(Go){if(bl)for(Dt=We.call(bn.ownerDocument);bn.firstChild;)Dt.appendChild(bn.firstChild);else Dt=bn;return(Kt.shadowroot||Kt.shadowrootmod)&&(Dt=Pt.call(Ne,Dt,!0)),Dt}let it=Un?bn.outerHTML:bn.innerHTML;return Un&&pi["!doctype"]&&bn.ownerDocument&&bn.ownerDocument.doctype&&bn.ownerDocument.doctype.name&&k(Ie,bn.ownerDocument.doctype.name)&&(it=" `+it),wn&&(it=M(it,Mi," "),it=M(it,er," "),it=M(it,di," ")),Lt&&nu?Lt.createHTML(it):it},be.setConfig=function(Ni){Mo(Ni),Ta=!0},be.clearConfig=function(){bo=null,Ta=!1},be.isValidAttribute=function(Ni,qn,bn){bo||Mo({});let $e=fo(Ni),lt=fo(qn);return Vg($e,lt,bn)},be.addHook=function(Ni,qn){typeof qn=="function"&&(It[Ni]=It[Ni]||[],S(It[Ni],qn))},be.removeHook=function(Ni){if(It[Ni])return w(It[Ni])},be.removeHooks=function(Ni){It[Ni]&&(It[Ni]=[])},be.removeAllHooks=function(){It={}},be}var Oe=ke();return Oe})}),Wxt=wt((o,A)=>{"use strict";A.exports=f,A.exports.default=f;function f(he,ge,fe){fe=fe||2;var ae=ge&&ge.length,U=ae?ge[0]*fe:he.length,W=m(he,0,U,fe,!0),Y=[];if(!W||W.next===W.prev)return Y;var z,re,se,de,me,Ce,Ie;if(ae&&(W=B(he,ge,W,fe)),he.length>80*fe){z=se=he[0],re=de=he[1];for(var we=fe;wese&&(se=me),Ce>de&&(de=Ce);Ie=Math.max(se-z,de-re),Ie=Ie!==0?32767/Ie:0}return E(W,Y,fe,z,re,Ie,0),Y}function m(he,ge,fe,ae,U){var W,Y;if(U===Ae(he,ge,fe,ae)>0)for(W=ge;W=ge;W-=ae)Y=H(W,he[W],he[W+1],Y);return Y&&N(Y,Y.next)&&(le(Y),Y=Y.next),Y}function C(he,ge){if(!he)return he;ge||(ge=he);var fe=he,ae;do if(ae=!1,!fe.steiner&&(N(fe,fe.next)||k(fe.prev,fe,fe.next)===0)){if(le(fe),fe=ge=fe.prev,fe===fe.next)break;ae=!0}else fe=fe.next;while(ae||fe!==ge);return ge}function E(he,ge,fe,ae,U,W,Y){if(he){!Y&&W&&D(he,ae,U,W);for(var z=he,re,se;he.prev!==he.next;){if(re=he.prev,se=he.next,W?y(he,ae,U,W):x(he)){ge.push(re.i/fe|0),ge.push(he.i/fe|0),ge.push(se.i/fe|0),le(he),he=se.next,z=se.next;continue}if(he=se,he===z){Y?Y===1?(he=I(C(he),ge,fe),E(he,ge,fe,ae,U,W,2)):Y===2&&v(he,ge,fe,ae,U,W):E(C(he),ge,fe,ae,U,W,1);break}}}}function x(he){var ge=he.prev,fe=he,ae=he.next;if(k(ge,fe,ae)>=0)return!1;for(var U=ge.x,W=fe.x,Y=ae.x,z=ge.y,re=fe.y,se=ae.y,de=UW?U>Y?U:Y:W>Y?W:Y,Ie=z>re?z>se?z:se:re>se?re:se,we=ae.next;we!==ge;){if(we.x>=de&&we.x<=Ce&&we.y>=me&&we.y<=Ie&&L(U,z,W,re,Y,se,we.x,we.y)&&k(we.prev,we,we.next)>=0)return!1;we=we.next}return!0}function y(he,ge,fe,ae){var U=he.prev,W=he,Y=he.next;if(k(U,W,Y)>=0)return!1;for(var z=U.x,re=W.x,se=Y.x,de=U.y,me=W.y,Ce=Y.y,Ie=zre?z>se?z:se:re>se?re:se,Ge=de>me?de>Ce?de:Ce:me>Ce?me:Ce,ke=P(Ie,we,ge,fe,ae),Oe=P(Te,Ge,ge,fe,ae),Le=he.prevZ,be=he.nextZ;Le&&Le.z>=ke&&be&&be.z<=Oe;){if(Le.x>=Ie&&Le.x<=Te&&Le.y>=we&&Le.y<=Ge&&Le!==U&&Le!==Y&&L(z,de,re,me,se,Ce,Le.x,Le.y)&&k(Le.prev,Le,Le.next)>=0||(Le=Le.prevZ,be.x>=Ie&&be.x<=Te&&be.y>=we&&be.y<=Ge&&be!==U&&be!==Y&&L(z,de,re,me,se,Ce,be.x,be.y)&&k(be.prev,be,be.next)>=0))return!1;be=be.nextZ}for(;Le&&Le.z>=ke;){if(Le.x>=Ie&&Le.x<=Te&&Le.y>=we&&Le.y<=Ge&&Le!==U&&Le!==Y&&L(z,de,re,me,se,Ce,Le.x,Le.y)&&k(Le.prev,Le,Le.next)>=0)return!1;Le=Le.prevZ}for(;be&&be.z<=Oe;){if(be.x>=Ie&&be.x<=Te&&be.y>=we&&be.y<=Ge&&be!==U&&be!==Y&&L(z,de,re,me,se,Ce,be.x,be.y)&&k(be.prev,be,be.next)>=0)return!1;be=be.nextZ}return!0}function I(he,ge,fe){var ae=he;do{var U=ae.prev,W=ae.next.next;!N(U,W)&&G(U,ae,ae.next,W)&&q(U,W)&&q(W,U)&&(ge.push(U.i/fe|0),ge.push(ae.i/fe|0),ge.push(W.i/fe|0),le(ae),le(ae.next),ae=he=W),ae=ae.next}while(ae!==he);return C(ae)}function v(he,ge,fe,ae,U,W){var Y=he;do{for(var z=Y.next.next;z!==Y.prev;){if(Y.i!==z.i&&F(Y,z)){var re=ie(Y,z);Y=C(Y,Y.next),re=C(re,re.next),E(Y,ge,fe,ae,U,W,0),E(re,ge,fe,ae,U,W,0);return}z=z.next}Y=Y.next}while(Y!==he)}function B(he,ge,fe,ae){var U=[],W,Y,z,re,se;for(W=0,Y=ge.length;W=fe.next.y&&fe.next.y!==fe.y){var z=fe.x+(U-fe.y)*(fe.next.x-fe.x)/(fe.next.y-fe.y);if(z<=ae&&z>W&&(W=z,Y=fe.x=fe.x&&fe.x>=se&&ae!==fe.x&&L(UY.x||fe.x===Y.x&&S(Y,fe)))&&(Y=fe,me=Ce)),fe=fe.next;while(fe!==re);return Y}function S(he,ge){return k(he.prev,he,ge.prev)<0&&k(ge.next,he,he.next)<0}function D(he,ge,fe,ae){var U=he;do U.z===0&&(U.z=P(U.x,U.y,ge,fe,ae)),U.prevZ=U.prev,U.nextZ=U.next,U=U.next;while(U!==he);U.prevZ.nextZ=null,U.prevZ=null,R(U)}function R(he){var ge,fe,ae,U,W,Y,z,re,se=1;do{for(fe=he,he=null,W=null,Y=0;fe;){for(Y++,ae=fe,z=0,ge=0;ge0||re>0&&ae;)z!==0&&(re===0||!ae||fe.z<=ae.z)?(U=fe,fe=fe.nextZ,z--):(U=ae,ae=ae.nextZ,re--),W?W.nextZ=U:he=U,U.prevZ=W,W=U;fe=ae}W.nextZ=null,se*=2}while(Y>1);return he}function P(he,ge,fe,ae,U){return he=(he-fe)*U|0,ge=(ge-ae)*U|0,he=(he|he<<8)&16711935,he=(he|he<<4)&252645135,he=(he|he<<2)&858993459,he=(he|he<<1)&1431655765,ge=(ge|ge<<8)&16711935,ge=(ge|ge<<4)&252645135,ge=(ge|ge<<2)&858993459,ge=(ge|ge<<1)&1431655765,he|ge<<1}function M(he){var ge=he,fe=he;do(ge.x=(he-Y)*(W-z)&&(he-Y)*(ae-z)>=(fe-Y)*(ge-z)&&(fe-Y)*(W-z)>=(U-Y)*(ae-z)}function F(he,ge){return he.next.i!==ge.i&&he.prev.i!==ge.i&&!X(he,ge)&&(q(he,ge)&&q(ge,he)&&ee(he,ge)&&(k(he.prev,he,ge.prev)||k(he,ge.prev,ge))||N(he,ge)&&k(he.prev,he,he.next)>0&&k(ge.prev,ge,ge.next)>0)}function k(he,ge,fe){return(ge.y-he.y)*(fe.x-ge.x)-(ge.x-he.x)*(fe.y-ge.y)}function N(he,ge){return he.x===ge.x&&he.y===ge.y}function G(he,ge,fe,ae){var U=K(k(he,ge,fe)),W=K(k(he,ge,ae)),Y=K(k(fe,ae,he)),z=K(k(fe,ae,ge));return!!(U!==W&&Y!==z||U===0&&J(he,fe,ge)||W===0&&J(he,ae,ge)||Y===0&&J(fe,he,ae)||z===0&&J(fe,ge,ae))}function J(he,ge,fe){return ge.x<=Math.max(he.x,fe.x)&&ge.x>=Math.min(he.x,fe.x)&&ge.y<=Math.max(he.y,fe.y)&&ge.y>=Math.min(he.y,fe.y)}function K(he){return he>0?1:he<0?-1:0}function X(he,ge){var fe=he;do{if(fe.i!==he.i&&fe.next.i!==he.i&&fe.i!==ge.i&&fe.next.i!==ge.i&&G(fe,fe.next,he,ge))return!0;fe=fe.next}while(fe!==he);return!1}function q(he,ge){return k(he.prev,he,he.next)<0?k(he,ge,he.next)>=0&&k(he,he.prev,ge)>=0:k(he,ge,he.prev)<0||k(he,he.next,ge)<0}function ee(he,ge){var fe=he,ae=!1,U=(he.x+ge.x)/2,W=(he.y+ge.y)/2;do fe.y>W!=fe.next.y>W&&fe.next.y!==fe.y&&U<(fe.next.x-fe.x)*(W-fe.y)/(fe.next.y-fe.y)+fe.x&&(ae=!ae),fe=fe.next;while(fe!==he);return ae}function ie(he,ge){var fe=new ue(he.i,he.x,he.y),ae=new ue(ge.i,ge.x,ge.y),U=he.next,W=ge.prev;return he.next=ge,ge.prev=he,fe.next=U,U.prev=fe,ae.next=fe,fe.prev=ae,W.next=ae,ae.prev=W,ae}function H(he,ge,fe,ae){var U=new ue(he,ge,fe);return ae?(U.next=ae.next,U.prev=ae,ae.next.prev=U,ae.next=U):(U.prev=U,U.next=U),U}function le(he){he.next.prev=he.prev,he.prev.next=he.next,he.prevZ&&(he.prevZ.nextZ=he.nextZ),he.nextZ&&(he.nextZ.prevZ=he.prevZ)}function ue(he,ge,fe){this.i=he,this.x=ge,this.y=fe,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}f.deviation=function(he,ge,fe,ae){var U=ge&&ge.length,W=U?ge[0]*fe:he.length,Y=Math.abs(Ae(he,0,W,fe));if(U)for(var z=0,re=ge.length;z0&&(ae+=he[U-1].length,fe.holes.push(ae))}return fe}}),jxt=wt((o,A)=>{"use strict";var f=(m,C,E,x)=>{let y=m&65535|0,I=m>>>16&65535|0,v=0;for(;E!==0;){v=E>2e3?2e3:E,E-=v;do y=y+C[x++]|0,I=I+y|0;while(--v);y%=65521,I%=65521}return y|I<<16|0};A.exports=f}),qxt=wt((o,A)=>{"use strict";var f=()=>{let E,x=[];for(var y=0;y<256;y++){E=y;for(var I=0;I<8;I++)E=E&1?3988292384^E>>>1:E>>>1;x[y]=E}return x},m=new Uint32Array(f()),C=(E,x,y,I)=>{let v=m,B=I+y;E^=-1;for(let Q=I;Q>>8^v[(E^x[Q])&255];return E^-1};A.exports=C}),Xxt=wt((o,A)=>{"use strict";A.exports=function(f,m){let C,E,x,y,I,v,B,Q,T,w,S,D,R,P,M,L,F,k,N,G,J,K,X,q,ee=f.state;C=f.next_in,X=f.input,E=C+(f.avail_in-5),x=f.next_out,q=f.output,y=x-(m-f.avail_out),I=x+(f.avail_out-257),v=ee.dmax,B=ee.wsize,Q=ee.whave,T=ee.wnext,w=ee.window,S=ee.hold,D=ee.bits,R=ee.lencode,P=ee.distcode,M=(1<>>24,S>>>=k,D-=k,k=F>>>16&255,k===0)q[x++]=F&65535;else if(k&16){N=F&65535,k&=15,k&&(D>>=k,D-=k),D<15&&(S+=X[C++]<>>24,S>>>=k,D-=k,k=F>>>16&255,k&16){if(G=F&65535,k&=15,Dv){f.msg="invalid distance too far back",ee.mode=16209;break e}if(S>>>=k,D-=k,k=x-y,G>k){if(k=G-k,k>Q&&ee.sane){f.msg="invalid distance too far back",ee.mode=16209;break e}if(J=0,K=w,T===0){if(J+=B-k,k2;)q[x++]=K[J++],q[x++]=K[J++],q[x++]=K[J++],N-=3;N&&(q[x++]=K[J++],N>1&&(q[x++]=K[J++]))}else{J=x-G;do q[x++]=q[J++],q[x++]=q[J++],q[x++]=q[J++],N-=3;while(N>2);N&&(q[x++]=q[J++],N>1&&(q[x++]=q[J++]))}}else if(k&64){f.msg="invalid distance code",ee.mode=16209;break e}else{F=P[(F&65535)+(S&(1<>3,C-=N,D-=N<<3,S&=(1<{"use strict";var f=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),m=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),C=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),E=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),x=(y,I,v,B,Q,T,w,S)=>{let D=S.bits,R=0,P=0,M=0,L=0,F=0,k=0,N=0,G=0,J=0,K=0,X,q,ee,ie,H,le=null,ue,Ae=new Uint16Array(15+1),he=new Uint16Array(15+1),ge=null,fe,ae,U;for(R=0;R<=15;R++)Ae[R]=0;for(P=0;P=1&&Ae[L]===0;L--);if(F>L&&(F=L),L===0)return Q[T++]=1<<24|64<<16|0,Q[T++]=1<<24|64<<16|0,S.bits=1,0;for(M=1;M0&&(y===0||L!==1))return-1;for(he[1]=0,R=1;R<15;R++)he[R+1]=he[R]+Ae[R];for(P=0;P852||y===2&&J>592)return 1;for(;;){fe=R-N,w[P]+1=ue?(ae=ge[w[P]-ue],U=le[w[P]-ue]):(ae=32+64,U=0),X=1<>N)+q]=fe<<24|ae<<16|U|0;while(q!==0);for(X=1<>=1;if(X!==0?(K&=X-1,K+=X):K=0,P++,--Ae[R]===0){if(R===L)break;R=I[v+w[P]]}if(R>F&&(K&ie)!==ee){for(N===0&&(N=F),H+=M,k=R-N,G=1<852||y===2&&J>592)return 1;ee=K&ie,Q[ee]=F<<24|k<<16|H-T|0}}return K!==0&&(Q[H+K]=R-N<<24|64<<16|0),S.bits=F,0};A.exports=x}),kde=wt((o,A)=>{"use strict";A.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}}),$xt=wt((o,A)=>{"use strict";var f=jxt(),m=qxt(),C=Xxt(),E=Zxt(),x=0,y=1,I=2,{Z_FINISH:v,Z_BLOCK:B,Z_TREES:Q,Z_OK:T,Z_STREAM_END:w,Z_NEED_DICT:S,Z_STREAM_ERROR:D,Z_DATA_ERROR:R,Z_MEM_ERROR:P,Z_BUF_ERROR:M,Z_DEFLATED:L}=kde(),F=16180,k=16181,N=16182,G=16183,J=16184,K=16185,X=16186,q=16187,ee=16188,ie=16189,H=16190,le=16191,ue=16192,Ae=16193,he=16194,ge=16195,fe=16196,ae=16197,U=16198,W=16199,Y=16200,z=16201,re=16202,se=16203,de=16204,me=16205,Ce=16206,Ie=16207,we=16208,Te=16209,Ge=16210,ke=16211,Oe=852,Le=592,be=15,Ne=be,Ue=nt=>(nt>>>24&255)+(nt>>>8&65280)+((nt&65280)<<8)+((nt&255)<<24);function ze(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var Je=nt=>{if(!nt)return 1;let Pe=nt.state;return!Pe||Pe.strm!==nt||Pe.modeke?1:0},Xe=nt=>{if(Je(nt))return D;let Pe=nt.state;return nt.total_in=nt.total_out=Pe.total=0,nt.msg="",Pe.wrap&&(nt.adler=Pe.wrap&1),Pe.mode=F,Pe.last=0,Pe.havedict=0,Pe.flags=-1,Pe.dmax=32768,Pe.head=null,Pe.hold=0,Pe.bits=0,Pe.lencode=Pe.lendyn=new Int32Array(Oe),Pe.distcode=Pe.distdyn=new Int32Array(Le),Pe.sane=1,Pe.back=-1,T},et=nt=>{if(Je(nt))return D;let Pe=nt.state;return Pe.wsize=0,Pe.whave=0,Pe.wnext=0,Xe(nt)},ot=(nt,Pe)=>{let ve;if(Je(nt))return D;let We=nt.state;return Pe<0?(ve=0,Pe=-Pe):(ve=(Pe>>4)+5,Pe<48&&(Pe&=15)),Pe&&(Pe<8||Pe>15)?D:(We.window!==null&&We.wbits!==Pe&&(We.window=null),We.wrap=ve,We.wbits=Pe,et(nt))},Et=(nt,Pe)=>{if(!nt)return D;let ve=new ze;nt.state=ve,ve.strm=nt,ve.window=null,ve.mode=F;let We=ot(nt,Pe);return We!==T&&(nt.state=null),We},Ct=nt=>Et(nt,Ne),ct=!0,yt,Qt,Ze=nt=>{if(ct){yt=new Int32Array(512),Qt=new Int32Array(32);let Pe=0;for(;Pe<144;)nt.lens[Pe++]=8;for(;Pe<256;)nt.lens[Pe++]=9;for(;Pe<280;)nt.lens[Pe++]=7;for(;Pe<288;)nt.lens[Pe++]=8;for(E(y,nt.lens,0,288,yt,0,nt.work,{bits:9}),Pe=0;Pe<32;)nt.lens[Pe++]=5;E(I,nt.lens,0,32,Qt,0,nt.work,{bits:5}),ct=!1}nt.lencode=yt,nt.lenbits=9,nt.distcode=Qt,nt.distbits=5},ut=(nt,Pe,ve,We)=>{let bt,Pt=nt.state;return Pt.window===null&&(Pt.wsize=1<=Pt.wsize?(Pt.window.set(Pe.subarray(ve-Pt.wsize,ve),0),Pt.wnext=0,Pt.whave=Pt.wsize):(bt=Pt.wsize-Pt.wnext,bt>We&&(bt=We),Pt.window.set(Pe.subarray(ve-We,ve-We+bt),Pt.wnext),We-=bt,We?(Pt.window.set(Pe.subarray(ve-We,ve),0),Pt.wnext=We,Pt.whave=Pt.wsize):(Pt.wnext+=bt,Pt.wnext===Pt.wsize&&(Pt.wnext=0),Pt.whave{let ve,We,bt,Pt,It,Mi,er,di,wi,Ri,Ei,Wt,jt,pi,mi=0,Kt,xi,_t,Mt,Ht,ti,Wi,yi,uo=new Uint8Array(4),wn,Un,Ta=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(Je(nt)||!nt.output||!nt.input&&nt.avail_in!==0)return D;ve=nt.state,ve.mode===le&&(ve.mode=ue),It=nt.next_out,bt=nt.output,er=nt.avail_out,Pt=nt.next_in,We=nt.input,Mi=nt.avail_in,di=ve.hold,wi=ve.bits,Ri=Mi,Ei=er,yi=T;e:for(;;)switch(ve.mode){case F:if(ve.wrap===0){ve.mode=ue;break}for(;wi<16;){if(Mi===0)break e;Mi--,di+=We[Pt++]<>>8&255,ve.check=m(ve.check,uo,2,0),di=0,wi=0,ve.mode=k;break}if(ve.head&&(ve.head.done=!1),!(ve.wrap&1)||(((di&255)<<8)+(di>>8))%31){nt.msg="incorrect header check",ve.mode=Te;break}if((di&15)!==L){nt.msg="unknown compression method",ve.mode=Te;break}if(di>>>=4,wi-=4,Wi=(di&15)+8,ve.wbits===0&&(ve.wbits=Wi),Wi>15||Wi>ve.wbits){nt.msg="invalid window size",ve.mode=Te;break}ve.dmax=1<>8&1),ve.flags&512&&ve.wrap&4&&(uo[0]=di&255,uo[1]=di>>>8&255,ve.check=m(ve.check,uo,2,0)),di=0,wi=0,ve.mode=N;case N:for(;wi<32;){if(Mi===0)break e;Mi--,di+=We[Pt++]<>>8&255,uo[2]=di>>>16&255,uo[3]=di>>>24&255,ve.check=m(ve.check,uo,4,0)),di=0,wi=0,ve.mode=G;case G:for(;wi<16;){if(Mi===0)break e;Mi--,di+=We[Pt++]<>8),ve.flags&512&&ve.wrap&4&&(uo[0]=di&255,uo[1]=di>>>8&255,ve.check=m(ve.check,uo,2,0)),di=0,wi=0,ve.mode=J;case J:if(ve.flags&1024){for(;wi<16;){if(Mi===0)break e;Mi--,di+=We[Pt++]<>>8&255,ve.check=m(ve.check,uo,2,0)),di=0,wi=0}else ve.head&&(ve.head.extra=null);ve.mode=K;case K:if(ve.flags&1024&&(Wt=ve.length,Wt>Mi&&(Wt=Mi),Wt&&(ve.head&&(Wi=ve.head.extra_len-ve.length,ve.head.extra||(ve.head.extra=new Uint8Array(ve.head.extra_len)),ve.head.extra.set(We.subarray(Pt,Pt+Wt),Wi)),ve.flags&512&&ve.wrap&4&&(ve.check=m(ve.check,We,Wt,Pt)),Mi-=Wt,Pt+=Wt,ve.length-=Wt),ve.length))break e;ve.length=0,ve.mode=X;case X:if(ve.flags&2048){if(Mi===0)break e;Wt=0;do Wi=We[Pt+Wt++],ve.head&&Wi&&ve.length<65536&&(ve.head.name+=String.fromCharCode(Wi));while(Wi&&Wt>9&1,ve.head.done=!0),nt.adler=ve.check=0,ve.mode=le;break;case ie:for(;wi<32;){if(Mi===0)break e;Mi--,di+=We[Pt++]<>>=wi&7,wi-=wi&7,ve.mode=Ce;break}for(;wi<3;){if(Mi===0)break e;Mi--,di+=We[Pt++]<>>=1,wi-=1,di&3){case 0:ve.mode=Ae;break;case 1:if(Ze(ve),ve.mode=W,Pe===Q){di>>>=2,wi-=2;break e}break;case 2:ve.mode=fe;break;case 3:nt.msg="invalid block type",ve.mode=Te}di>>>=2,wi-=2;break;case Ae:for(di>>>=wi&7,wi-=wi&7;wi<32;){if(Mi===0)break e;Mi--,di+=We[Pt++]<>>16^65535)){nt.msg="invalid stored block lengths",ve.mode=Te;break}if(ve.length=di&65535,di=0,wi=0,ve.mode=he,Pe===Q)break e;case he:ve.mode=ge;case ge:if(Wt=ve.length,Wt){if(Wt>Mi&&(Wt=Mi),Wt>er&&(Wt=er),Wt===0)break e;bt.set(We.subarray(Pt,Pt+Wt),It),Mi-=Wt,Pt+=Wt,er-=Wt,It+=Wt,ve.length-=Wt;break}ve.mode=le;break;case fe:for(;wi<14;){if(Mi===0)break e;Mi--,di+=We[Pt++]<>>=5,wi-=5,ve.ndist=(di&31)+1,di>>>=5,wi-=5,ve.ncode=(di&15)+4,di>>>=4,wi-=4,ve.nlen>286||ve.ndist>30){nt.msg="too many length or distance symbols",ve.mode=Te;break}ve.have=0,ve.mode=ae;case ae:for(;ve.have>>=3,wi-=3}for(;ve.have<19;)ve.lens[Ta[ve.have++]]=0;if(ve.lencode=ve.lendyn,ve.lenbits=7,wn={bits:ve.lenbits},yi=E(x,ve.lens,0,19,ve.lencode,0,ve.work,wn),ve.lenbits=wn.bits,yi){nt.msg="invalid code lengths set",ve.mode=Te;break}ve.have=0,ve.mode=U;case U:for(;ve.have>>24,xi=mi>>>16&255,_t=mi&65535,!(Kt<=wi);){if(Mi===0)break e;Mi--,di+=We[Pt++]<>>=Kt,wi-=Kt,ve.lens[ve.have++]=_t;else{if(_t===16){for(Un=Kt+2;wi>>=Kt,wi-=Kt,ve.have===0){nt.msg="invalid bit length repeat",ve.mode=Te;break}Wi=ve.lens[ve.have-1],Wt=3+(di&3),di>>>=2,wi-=2}else if(_t===17){for(Un=Kt+3;wi>>=Kt,wi-=Kt,Wi=0,Wt=3+(di&7),di>>>=3,wi-=3}else{for(Un=Kt+7;wi>>=Kt,wi-=Kt,Wi=0,Wt=11+(di&127),di>>>=7,wi-=7}if(ve.have+Wt>ve.nlen+ve.ndist){nt.msg="invalid bit length repeat",ve.mode=Te;break}for(;Wt--;)ve.lens[ve.have++]=Wi}}if(ve.mode===Te)break;if(ve.lens[256]===0){nt.msg="invalid code -- missing end-of-block",ve.mode=Te;break}if(ve.lenbits=9,wn={bits:ve.lenbits},yi=E(y,ve.lens,0,ve.nlen,ve.lencode,0,ve.work,wn),ve.lenbits=wn.bits,yi){nt.msg="invalid literal/lengths set",ve.mode=Te;break}if(ve.distbits=6,ve.distcode=ve.distdyn,wn={bits:ve.distbits},yi=E(I,ve.lens,ve.nlen,ve.ndist,ve.distcode,0,ve.work,wn),ve.distbits=wn.bits,yi){nt.msg="invalid distances set",ve.mode=Te;break}if(ve.mode=W,Pe===Q)break e;case W:ve.mode=Y;case Y:if(Mi>=6&&er>=258){nt.next_out=It,nt.avail_out=er,nt.next_in=Pt,nt.avail_in=Mi,ve.hold=di,ve.bits=wi,C(nt,Ei),It=nt.next_out,bt=nt.output,er=nt.avail_out,Pt=nt.next_in,We=nt.input,Mi=nt.avail_in,di=ve.hold,wi=ve.bits,ve.mode===le&&(ve.back=-1);break}for(ve.back=0;mi=ve.lencode[di&(1<>>24,xi=mi>>>16&255,_t=mi&65535,!(Kt<=wi);){if(Mi===0)break e;Mi--,di+=We[Pt++]<>Mt)],Kt=mi>>>24,xi=mi>>>16&255,_t=mi&65535,!(Mt+Kt<=wi);){if(Mi===0)break e;Mi--,di+=We[Pt++]<>>=Mt,wi-=Mt,ve.back+=Mt}if(di>>>=Kt,wi-=Kt,ve.back+=Kt,ve.length=_t,xi===0){ve.mode=me;break}if(xi&32){ve.back=-1,ve.mode=le;break}if(xi&64){nt.msg="invalid literal/length code",ve.mode=Te;break}ve.extra=xi&15,ve.mode=z;case z:if(ve.extra){for(Un=ve.extra;wi>>=ve.extra,wi-=ve.extra,ve.back+=ve.extra}ve.was=ve.length,ve.mode=re;case re:for(;mi=ve.distcode[di&(1<>>24,xi=mi>>>16&255,_t=mi&65535,!(Kt<=wi);){if(Mi===0)break e;Mi--,di+=We[Pt++]<>Mt)],Kt=mi>>>24,xi=mi>>>16&255,_t=mi&65535,!(Mt+Kt<=wi);){if(Mi===0)break e;Mi--,di+=We[Pt++]<>>=Mt,wi-=Mt,ve.back+=Mt}if(di>>>=Kt,wi-=Kt,ve.back+=Kt,xi&64){nt.msg="invalid distance code",ve.mode=Te;break}ve.offset=_t,ve.extra=xi&15,ve.mode=se;case se:if(ve.extra){for(Un=ve.extra;wi>>=ve.extra,wi-=ve.extra,ve.back+=ve.extra}if(ve.offset>ve.dmax){nt.msg="invalid distance too far back",ve.mode=Te;break}ve.mode=de;case de:if(er===0)break e;if(Wt=Ei-er,ve.offset>Wt){if(Wt=ve.offset-Wt,Wt>ve.whave&&ve.sane){nt.msg="invalid distance too far back",ve.mode=Te;break}Wt>ve.wnext?(Wt-=ve.wnext,jt=ve.wsize-Wt):jt=ve.wnext-Wt,Wt>ve.length&&(Wt=ve.length),pi=ve.window}else pi=bt,jt=It-ve.offset,Wt=ve.length;Wt>er&&(Wt=er),er-=Wt,ve.length-=Wt;do bt[It++]=pi[jt++];while(--Wt);ve.length===0&&(ve.mode=Y);break;case me:if(er===0)break e;bt[It++]=ve.length,er--,ve.mode=Y;break;case Ce:if(ve.wrap){for(;wi<32;){if(Mi===0)break e;Mi--,di|=We[Pt++]<{if(Je(nt))return D;let Pe=nt.state;return Pe.window&&(Pe.window=null),nt.state=null,T},xt=(nt,Pe)=>{if(Je(nt))return D;let ve=nt.state;return ve.wrap&2?(ve.head=Pe,Pe.done=!1,T):D},Lt=(nt,Pe)=>{let ve=Pe.length,We,bt,Pt;return Je(nt)||(We=nt.state,We.wrap!==0&&We.mode!==H)?D:We.mode===H&&(bt=1,bt=f(bt,Pe,ve,0),bt!==We.check)?R:(Pt=ut(nt,Pe,ve,ve),Pt?(We.mode=Ge,P):(We.havedict=1,T))};A.exports.inflateReset=et,A.exports.inflateReset2=ot,A.exports.inflateResetKeep=Xe,A.exports.inflateInit=Ct,A.exports.inflateInit2=Et,A.exports.inflate=St,A.exports.inflateEnd=gt,A.exports.inflateGetHeader=xt,A.exports.inflateSetDictionary=Lt,A.exports.inflateInfo="pako inflate (from Nodeca project)"}),eyt=wt((o,A)=>{"use strict";var f=(m,C)=>Object.prototype.hasOwnProperty.call(m,C);A.exports.assign=function(m){let C=Array.prototype.slice.call(arguments,1);for(;C.length;){let E=C.shift();if(E){if(typeof E!="object")throw new TypeError(E+"must be non-object");for(let x in E)f(E,x)&&(m[x]=E[x])}}return m},A.exports.flattenChunks=m=>{let C=0;for(let x=0,y=m.length;x{"use strict";var f=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{f=!1}var m=new Uint8Array(256);for(let E=0;E<256;E++)m[E]=E>=252?6:E>=248?5:E>=240?4:E>=224?3:E>=192?2:1;m[254]=m[254]=1,A.exports.string2buf=E=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(E);let x,y,I,v,B,Q=E.length,T=0;for(v=0;v>>6,x[B++]=128|y&63):y<65536?(x[B++]=224|y>>>12,x[B++]=128|y>>>6&63,x[B++]=128|y&63):(x[B++]=240|y>>>18,x[B++]=128|y>>>12&63,x[B++]=128|y>>>6&63,x[B++]=128|y&63);return x};var C=(E,x)=>{if(x<65534&&E.subarray&&f)return String.fromCharCode.apply(null,E.length===x?E:E.subarray(0,x));let y="";for(let I=0;I{let y=x||E.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(E.subarray(0,x));let I,v,B=new Array(y*2);for(v=0,I=0;I4){B[v++]=65533,I+=T-1;continue}for(Q&=T===2?31:T===3?15:7;T>1&&I1){B[v++]=65533;continue}Q<65536?B[v++]=Q:(Q-=65536,B[v++]=55296|Q>>10&1023,B[v++]=56320|Q&1023)}return C(B,v)},A.exports.utf8border=(E,x)=>{x=x||E.length,x>E.length&&(x=E.length);let y=x-1;for(;y>=0&&(E[y]&192)===128;)y--;return y<0||y===0?x:y+m[E[y]]>x?y:x}}),iyt=wt((o,A)=>{"use strict";A.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}}),ryt=wt((o,A)=>{"use strict";function f(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}A.exports=f}),nyt=wt((o,A)=>{"use strict";function f(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}A.exports=f}),W6e=wt((o,A)=>{"use strict";var f=$xt(),m=eyt(),C=tyt(),E=iyt(),x=ryt(),y=nyt(),I=Object.prototype.toString,{Z_NO_FLUSH:v,Z_FINISH:B,Z_OK:Q,Z_STREAM_END:T,Z_NEED_DICT:w,Z_STREAM_ERROR:S,Z_DATA_ERROR:D,Z_MEM_ERROR:R}=kde();function P(F){this.options=m.assign({chunkSize:1024*64,windowBits:15,to:""},F||{});let k=this.options;k.raw&&k.windowBits>=0&&k.windowBits<16&&(k.windowBits=-k.windowBits,k.windowBits===0&&(k.windowBits=-15)),k.windowBits>=0&&k.windowBits<16&&!(F&&F.windowBits)&&(k.windowBits+=32),k.windowBits>15&&k.windowBits<48&&(k.windowBits&15||(k.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new x,this.strm.avail_out=0;let N=f.inflateInit2(this.strm,k.windowBits);if(N!==Q)throw new Error(E[N]);if(this.header=new y,f.inflateGetHeader(this.strm,this.header),k.dictionary&&(typeof k.dictionary=="string"?k.dictionary=C.string2buf(k.dictionary):I.call(k.dictionary)==="[object ArrayBuffer]"&&(k.dictionary=new Uint8Array(k.dictionary)),k.raw&&(N=f.inflateSetDictionary(this.strm,k.dictionary),N!==Q)))throw new Error(E[N])}P.prototype.push=function(F,k){let N=this.strm,G=this.options.chunkSize,J=this.options.dictionary,K,X,q;if(this.ended)return!1;for(k===~~k?X=k:X=k===!0?B:v,I.call(F)==="[object ArrayBuffer]"?N.input=new Uint8Array(F):N.input=F,N.next_in=0,N.avail_in=N.input.length;;){for(N.avail_out===0&&(N.output=new Uint8Array(G),N.next_out=0,N.avail_out=G),K=f.inflate(N,X),K===w&&J&&(K=f.inflateSetDictionary(N,J),K===Q?K=f.inflate(N,X):K===D&&(K=w));N.avail_in>0&&K===T&&N.state.wrap>0&&F[N.next_in]!==0;)f.inflateReset(N),K=f.inflate(N,X);switch(K){case S:case D:case w:case R:return this.onEnd(K),this.ended=!0,!1}if(q=N.avail_out,N.next_out&&(N.avail_out===0||K===T))if(this.options.to==="string"){let ee=C.utf8border(N.output,N.next_out),ie=N.next_out-ee,H=C.buf2string(N.output,ee);N.next_out=ie,N.avail_out=G-ie,ie&&N.output.set(N.output.subarray(ee,ee+ie),0),this.onData(H)}else this.onData(N.output.length===N.next_out?N.output:N.output.subarray(0,N.next_out));if(!(K===Q&&q===0)){if(K===T)return K=f.inflateEnd(this.strm),this.onEnd(K),this.ended=!0,!0;if(N.avail_in===0)break}}return!0},P.prototype.onData=function(F){this.chunks.push(F)},P.prototype.onEnd=function(F){F===Q&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=m.flattenChunks(this.chunks)),this.chunks=[],this.err=F,this.msg=this.strm.msg};function M(F,k){let N=new P(k);if(N.push(F),N.err)throw N.msg||E[N.err];return N.result}function L(F,k){return k=k||{},k.raw=!0,M(F,k)}A.exports.Inflate=P,A.exports.inflate=M,A.exports.inflateRaw=L,A.exports.ungzip=M,A.exports.constants=kde()}),oyt=wt((o,A)=>{(function(f,m){typeof o=="object"&&typeof A<"u"?A.exports=m():typeof define=="function"&&define.amd?define(m):(f=f||self).RBush=m()})(o,function(){"use strict";function f(M,L,F,k,N){(function G(J,K,X,q,ee){for(;q>X;){if(q-X>600){var ie=q-X+1,H=K-X+1,le=Math.log(ie),ue=.5*Math.exp(2*le/3),Ae=.5*Math.sqrt(le*ue*(ie-ue)/ie)*(H-ie/2<0?-1:1),he=Math.max(X,Math.floor(K-H*ue/ie+Ae)),ge=Math.min(q,Math.floor(K+(ie-H)*ue/ie+Ae));G(J,K,he,ge,ee)}var fe=J[K],ae=X,U=q;for(m(J,X,K),ee(J[q],fe)>0&&m(J,X,q);ae0;)U--}ee(J[X],fe)===0?m(J,X,U):m(J,++U,q),U<=K&&(X=U+1),K<=U&&(q=U-1)}})(M,L,F||0,k||M.length-1,N||C)}function m(M,L,F){var k=M[L];M[L]=M[F],M[F]=k}function C(M,L){return ML?1:0}var E=function(M){M===void 0&&(M=9),this._maxEntries=Math.max(4,M),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function x(M,L,F){if(!F)return L.indexOf(M);for(var k=0;k=M.minX&&L.maxY>=M.minY}function R(M){return{children:M,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function P(M,L,F,k,N){for(var G=[L,F];G.length;)if(!((F=G.pop())-(L=G.pop())<=k)){var J=L+Math.ceil((F-L)/k/2)*k;f(M,J,L,F,N),G.push(L,J,J,F)}}return E.prototype.all=function(){return this._all(this.data,[])},E.prototype.search=function(M){var L=this.data,F=[];if(!D(M,L))return F;for(var k=this.toBBox,N=[];L;){for(var G=0;G=0&&N[L].children.length>this._maxEntries;)this._split(N,L),L--;this._adjustParentBBoxes(k,N,L)},E.prototype._split=function(M,L){var F=M[L],k=F.children.length,N=this._minEntries;this._chooseSplitAxis(F,N,k);var G=this._chooseSplitIndex(F,N,k),J=R(F.children.splice(G,F.children.length-G));J.height=F.height,J.leaf=F.leaf,y(F,this.toBBox),y(J,this.toBBox),L?M[L-1].children.push(J):this._splitRoot(F,J)},E.prototype._splitRoot=function(M,L){this.data=R([M,L]),this.data.height=M.height+1,this.data.leaf=!1,y(this.data,this.toBBox)},E.prototype._chooseSplitIndex=function(M,L,F){for(var k,N,G,J,K,X,q,ee=1/0,ie=1/0,H=L;H<=F-L;H++){var le=I(M,0,H,this.toBBox),ue=I(M,H,F,this.toBBox),Ae=(N=le,G=ue,J=void 0,K=void 0,X=void 0,q=void 0,J=Math.max(N.minX,G.minX),K=Math.max(N.minY,G.minY),X=Math.min(N.maxX,G.maxX),q=Math.min(N.maxY,G.maxY),Math.max(0,X-J)*Math.max(0,q-K)),he=T(le)+T(ue);Ae=L;ee--){var ie=M.children[ee];v(J,M.leaf?N(ie):ie),K+=w(J)}return K},E.prototype._adjustParentBBoxes=function(M,L,F){for(var k=F;k>=0;k--)v(L[k],M)},E.prototype._condense=function(M){for(var L=M.length-1,F=void 0;L>=0;L--)M[L].children.length===0?L>0?(F=M[L-1].children).splice(F.indexOf(M[L]),1):this.clear():y(M[L],this.toBBox)},E})}),j6e=wt((exports,module)=>{/*! * protobuf.js v7.1.0 (c) 2016, daniel wirtz * compiled fri, 09 sep 2022 03:02:57 utc * licensed under the bsd-3-clause license * see: https://github.com/dcodeio/protobuf.js for details */(function(undefined){"use strict";(function(o,A,f){function m(E){var x=A[E];return x||o[E][0].call(x=A[E]={exports:{}},m,x,x.exports),x.exports}var C=m(f[0]);C.util.global.protobuf=C,typeof define=="function"&&define.amd&&define(["long"],function(E){return E&&E.isLong&&(C.util.Long=E,C.configure()),C}),typeof module=="object"&&module&&module.exports&&(module.exports=C)})({1:[function(o,A,f){"use strict";A.exports=m;function m(C,E){for(var x=new Array(arguments.length-1),y=0,I=2,v=!0;I1&&I.charAt(v)==="=";)++B;return Math.ceil(I.length*3)/4-B};for(var C=new Array(64),E=new Array(123),x=0;x<64;)E[C[x]=x<26?x+65:x<52?x+71:x<62?x-4:x-59|43]=x++;m.encode=function(I,v,B){for(var Q=null,T=[],w=0,S=0,D;v>2],D=(R&3)<<4,S=1;break;case 1:T[w++]=C[D|R>>4],D=(R&15)<<2,S=2;break;case 2:T[w++]=C[D|R>>6],T[w++]=C[R&63],S=0;break}w>8191&&((Q||(Q=[])).push(String.fromCharCode.apply(String,T)),w=0)}return S&&(T[w++]=C[D],T[w++]=61,S===1&&(T[w++]=61)),Q?(w&&Q.push(String.fromCharCode.apply(String,T.slice(0,w))),Q.join("")):String.fromCharCode.apply(String,T.slice(0,w))};var y="invalid encoding";m.decode=function(I,v,B){for(var Q=B,T=0,w,S=0;S1)break;if((D=E[D])===undefined)throw Error(y);switch(T){case 0:w=D,T=1;break;case 1:v[B++]=w<<2|(D&48)>>4,w=D,T=2;break;case 2:v[B++]=(w&15)<<4|(D&60)>>2,w=D,T=3;break;case 3:v[B++]=(w&3)<<6|D,T=0;break}}if(T===1)throw Error(y);return B-Q},m.test=function(I){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(I)}},{}],3:[function(o,A,f){"use strict";A.exports=m;function m(){this._listeners={}}m.prototype.on=function(C,E,x){return(this._listeners[C]||(this._listeners[C]=[])).push({fn:E,ctx:x||this}),this},m.prototype.off=function(C,E){if(C===undefined)this._listeners={};else if(E===undefined)this._listeners[C]=[];else for(var x=this._listeners[C],y=0;y0?0:2147483648,w,S);else if(isNaN(T))Q(2143289344,w,S);else if(T>34028234663852886e22)Q((D<<31|2139095040)>>>0,w,S);else if(T<11754943508222875e-54)Q((D<<31|Math.round(T/1401298464324817e-60))>>>0,w,S);else{var R=Math.floor(Math.log(T)/Math.LN2),P=Math.round(T*Math.pow(2,-R)*8388608)&8388607;Q((D<<31|R+127<<23|P)>>>0,w,S)}}I.writeFloatLE=v.bind(null,C),I.writeFloatBE=v.bind(null,E);function B(Q,T,w){var S=Q(T,w),D=(S>>31)*2+1,R=S>>>23&255,P=S&8388607;return R===255?P?NaN:D*(1/0):R===0?D*1401298464324817e-60*P:D*Math.pow(2,R-150)*(P+8388608)}I.readFloatLE=B.bind(null,x),I.readFloatBE=B.bind(null,y)}(),typeof Float64Array<"u"?function(){var v=new Float64Array([-0]),B=new Uint8Array(v.buffer),Q=B[7]===128;function T(R,P,M){v[0]=R,P[M]=B[0],P[M+1]=B[1],P[M+2]=B[2],P[M+3]=B[3],P[M+4]=B[4],P[M+5]=B[5],P[M+6]=B[6],P[M+7]=B[7]}function w(R,P,M){v[0]=R,P[M]=B[7],P[M+1]=B[6],P[M+2]=B[5],P[M+3]=B[4],P[M+4]=B[3],P[M+5]=B[2],P[M+6]=B[1],P[M+7]=B[0]}I.writeDoubleLE=Q?T:w,I.writeDoubleBE=Q?w:T;function S(R,P){return B[0]=R[P],B[1]=R[P+1],B[2]=R[P+2],B[3]=R[P+3],B[4]=R[P+4],B[5]=R[P+5],B[6]=R[P+6],B[7]=R[P+7],v[0]}function D(R,P){return B[7]=R[P],B[6]=R[P+1],B[5]=R[P+2],B[4]=R[P+3],B[3]=R[P+4],B[2]=R[P+5],B[1]=R[P+6],B[0]=R[P+7],v[0]}I.readDoubleLE=Q?S:D,I.readDoubleBE=Q?D:S}():function(){function v(Q,T,w,S,D,R){var P=S<0?1:0;if(P&&(S=-S),S===0)Q(0,D,R+T),Q(1/S>0?0:2147483648,D,R+w);else if(isNaN(S))Q(0,D,R+T),Q(2146959360,D,R+w);else if(S>17976931348623157e292)Q(0,D,R+T),Q((P<<31|2146435072)>>>0,D,R+w);else{var M;if(S<22250738585072014e-324)M=S/5e-324,Q(M>>>0,D,R+T),Q((P<<31|M/4294967296)>>>0,D,R+w);else{var L=Math.floor(Math.log(S)/Math.LN2);L===1024&&(L=1023),M=S*Math.pow(2,-L),Q(M*4503599627370496>>>0,D,R+T),Q((P<<31|L+1023<<20|M*1048576&1048575)>>>0,D,R+w)}}}I.writeDoubleLE=v.bind(null,C,0,4),I.writeDoubleBE=v.bind(null,E,4,0);function B(Q,T,w,S,D){var R=Q(S,D+T),P=Q(S,D+w),M=(P>>31)*2+1,L=P>>>20&2047,F=4294967296*(P&1048575)+R;return L===2047?F?NaN:M*(1/0):L===0?M*5e-324*F:M*Math.pow(2,L-1075)*(F+4503599627370496)}I.readDoubleLE=B.bind(null,x,0,4),I.readDoubleBE=B.bind(null,y,4,0)}(),I}function C(I,v,B){v[B]=I&255,v[B+1]=I>>>8&255,v[B+2]=I>>>16&255,v[B+3]=I>>>24}function E(I,v,B){v[B]=I>>>24,v[B+1]=I>>>16&255,v[B+2]=I>>>8&255,v[B+3]=I&255}function x(I,v){return(I[v]|I[v+1]<<8|I[v+2]<<16|I[v+3]<<24)>>>0}function y(I,v){return(I[v]<<24|I[v+1]<<16|I[v+2]<<8|I[v+3])>>>0}},{}],5:[function(require,module,exports){"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(o){}return null}},{}],6:[function(o,A,f){"use strict";A.exports=m;function m(C,E,x){var y=x||8192,I=y>>>1,v=null,B=y;return function(Q){if(Q<1||Q>I)return C(Q);B+Q>y&&(v=C(y),B=0);var T=E.call(v,B,B+=Q);return B&7&&(B=(B|7)+1),T}}},{}],7:[function(o,A,f){"use strict";var m=f;m.length=function(C){for(var E=0,x=0,y=0;y191&&Q<224?v[B++]=(Q&31)<<6|C[E++]&63:Q>239&&Q<365?(Q=((Q&7)<<18|(C[E++]&63)<<12|(C[E++]&63)<<6|C[E++]&63)-65536,v[B++]=55296+(Q>>10),v[B++]=56320+(Q&1023)):v[B++]=(Q&15)<<12|(C[E++]&63)<<6|C[E++]&63,B>8191&&((I||(I=[])).push(String.fromCharCode.apply(String,v)),B=0);return I?(B&&I.push(String.fromCharCode.apply(String,v.slice(0,B))),I.join("")):String.fromCharCode.apply(String,v.slice(0,B))},m.write=function(C,E,x){for(var y=x,I,v,B=0;B>6|192,E[x++]=I&63|128):(I&64512)===55296&&((v=C.charCodeAt(B+1))&64512)===56320?(I=65536+((I&1023)<<10)+(v&1023),++B,E[x++]=I>>18|240,E[x++]=I>>12&63|128,E[x++]=I>>6&63|128,E[x++]=I&63|128):(E[x++]=I>>12|224,E[x++]=I>>6&63|128,E[x++]=I&63|128);return x-y}},{}],8:[function(o,A,f){"use strict";var m=f;m.build="minimal",m.Writer=o(16),m.BufferWriter=o(17),m.Reader=o(9),m.BufferReader=o(10),m.util=o(15),m.rpc=o(12),m.roots=o(11),m.configure=C;function C(){m.util._configure(),m.Writer._configure(m.BufferWriter),m.Reader._configure(m.BufferReader)}C()},{10:10,11:11,12:12,15:15,16:16,17:17,9:9}],9:[function(o,A,f){"use strict";A.exports=I;var m=o(15),C,E=m.LongBits,x=m.utf8;function y(S,D){return RangeError("index out of range: "+S.pos+" + "+(D||1)+" > "+S.len)}function I(S){this.buf=S,this.pos=0,this.len=S.length}var v=typeof Uint8Array<"u"?function(S){if(S instanceof Uint8Array||Array.isArray(S))return new I(S);throw Error("illegal buffer")}:function(S){if(Array.isArray(S))return new I(S);throw Error("illegal buffer")},B=function(){return m.Buffer?function(S){return(I.create=function(D){return m.Buffer.isBuffer(D)?new C(D):v(D)})(S)}:v};I.create=B(),I.prototype._slice=m.Array.prototype.subarray||m.Array.prototype.slice,I.prototype.uint32=function(){var S=4294967295;return function(){if(S=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(S=(S|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(S=(S|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(S=(S|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(S=(S|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return S;if((this.pos+=5)>this.len)throw this.pos=this.len,y(this,10);return S}}(),I.prototype.int32=function(){return this.uint32()|0},I.prototype.sint32=function(){var S=this.uint32();return S>>>1^-(S&1)|0};function Q(){var S=new E(0,0),D=0;if(this.len-this.pos>4){for(;D<4;++D)if(S.lo=(S.lo|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return S;if(S.lo=(S.lo|(this.buf[this.pos]&127)<<28)>>>0,S.hi=(S.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return S;D=0}else{for(;D<3;++D){if(this.pos>=this.len)throw y(this);if(S.lo=(S.lo|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return S}return S.lo=(S.lo|(this.buf[this.pos++]&127)<>>0,S}if(this.len-this.pos>4){for(;D<5;++D)if(S.hi=(S.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return S}else for(;D<5;++D){if(this.pos>=this.len)throw y(this);if(S.hi=(S.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return S}throw Error("invalid varint encoding")}I.prototype.bool=function(){return this.uint32()!==0};function T(S,D){return(S[D-4]|S[D-3]<<8|S[D-2]<<16|S[D-1]<<24)>>>0}I.prototype.fixed32=function(){if(this.pos+4>this.len)throw y(this,4);return T(this.buf,this.pos+=4)},I.prototype.sfixed32=function(){if(this.pos+4>this.len)throw y(this,4);return T(this.buf,this.pos+=4)|0};function w(){if(this.pos+8>this.len)throw y(this,8);return new E(T(this.buf,this.pos+=4),T(this.buf,this.pos+=4))}I.prototype.float=function(){if(this.pos+4>this.len)throw y(this,4);var S=m.float.readFloatLE(this.buf,this.pos);return this.pos+=4,S},I.prototype.double=function(){if(this.pos+8>this.len)throw y(this,4);var S=m.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,S},I.prototype.bytes=function(){var S=this.uint32(),D=this.pos,R=this.pos+S;if(R>this.len)throw y(this,S);return this.pos+=S,Array.isArray(this.buf)?this.buf.slice(D,R):D===R?new this.buf.constructor(0):this._slice.call(this.buf,D,R)},I.prototype.string=function(){var S=this.bytes();return x.read(S,0,S.length)},I.prototype.skip=function(S){if(typeof S=="number"){if(this.pos+S>this.len)throw y(this,S);this.pos+=S}else do if(this.pos>=this.len)throw y(this);while(this.buf[this.pos++]&128);return this},I.prototype.skipType=function(S){switch(S){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(S=this.uint32()&7)!==4;)this.skipType(S);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+S+" at offset "+this.pos)}return this},I._configure=function(S){C=S,I.create=B(),C._configure();var D=m.Long?"toLong":"toNumber";m.merge(I.prototype,{int64:function(){return Q.call(this)[D](!1)},uint64:function(){return Q.call(this)[D](!0)},sint64:function(){return Q.call(this).zzDecode()[D](!1)},fixed64:function(){return w.call(this)[D](!0)},sfixed64:function(){return w.call(this)[D](!1)}})}},{15:15}],10:[function(o,A,f){"use strict";A.exports=E;var m=o(9);(E.prototype=Object.create(m.prototype)).constructor=E;var C=o(15);function E(x){m.call(this,x)}E._configure=function(){C.Buffer&&(E.prototype._slice=C.Buffer.prototype.slice)},E.prototype.string=function(){var x=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+x,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+x,this.len))},E._configure()},{15:15,9:9}],11:[function(o,A,f){"use strict";A.exports={}},{}],12:[function(o,A,f){"use strict";var m=f;m.Service=o(13)},{13:13}],13:[function(o,A,f){"use strict";A.exports=C;var m=o(15);(C.prototype=Object.create(m.EventEmitter.prototype)).constructor=C;function C(E,x,y){if(typeof E!="function")throw TypeError("rpcImpl must be a function");m.EventEmitter.call(this),this.rpcImpl=E,this.requestDelimited=!!x,this.responseDelimited=!!y}C.prototype.rpcCall=function E(x,y,I,v,B){if(!v)throw TypeError("request must be specified");var Q=this;if(!B)return m.asPromise(E,Q,x,y,I,v);if(!Q.rpcImpl)return setTimeout(function(){B(Error("already ended"))},0),undefined;try{return Q.rpcImpl(x,y[Q.requestDelimited?"encodeDelimited":"encode"](v).finish(),function(T,w){if(T)return Q.emit("error",T,x),B(T);if(w===null)return Q.end(!0),undefined;if(!(w instanceof I))try{w=I[Q.responseDelimited?"decodeDelimited":"decode"](w)}catch(S){return Q.emit("error",S,x),B(S)}return Q.emit("data",w,x),B(null,w)})}catch(T){return Q.emit("error",T,x),setTimeout(function(){B(T)},0),undefined}},C.prototype.end=function(E){return this.rpcImpl&&(E||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},{15:15}],14:[function(o,A,f){"use strict";A.exports=C;var m=o(15);function C(I,v){this.lo=I>>>0,this.hi=v>>>0}var E=C.zero=new C(0,0);E.toNumber=function(){return 0},E.zzEncode=E.zzDecode=function(){return this},E.length=function(){return 1};var x=C.zeroHash="\0\0\0\0\0\0\0\0";C.fromNumber=function(I){if(I===0)return E;var v=I<0;v&&(I=-I);var B=I>>>0,Q=(I-B)/4294967296>>>0;return v&&(Q=~Q>>>0,B=~B>>>0,++B>4294967295&&(B=0,++Q>4294967295&&(Q=0))),new C(B,Q)},C.from=function(I){if(typeof I=="number")return C.fromNumber(I);if(m.isString(I))if(m.Long)I=m.Long.fromString(I);else return C.fromNumber(parseInt(I,10));return I.low||I.high?new C(I.low>>>0,I.high>>>0):E},C.prototype.toNumber=function(I){if(!I&&this.hi>>>31){var v=~this.lo+1>>>0,B=~this.hi>>>0;return v||(B=B+1>>>0),-(v+B*4294967296)}return this.lo+this.hi*4294967296},C.prototype.toLong=function(I){return m.Long?new m.Long(this.lo|0,this.hi|0,!!I):{low:this.lo|0,high:this.hi|0,unsigned:!!I}};var y=String.prototype.charCodeAt;C.fromHash=function(I){return I===x?E:new C((y.call(I,0)|y.call(I,1)<<8|y.call(I,2)<<16|y.call(I,3)<<24)>>>0,(y.call(I,4)|y.call(I,5)<<8|y.call(I,6)<<16|y.call(I,7)<<24)>>>0)},C.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},C.prototype.zzEncode=function(){var I=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^I)>>>0,this.lo=(this.lo<<1^I)>>>0,this},C.prototype.zzDecode=function(){var I=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^I)>>>0,this.hi=(this.hi>>>1^I)>>>0,this},C.prototype.length=function(){var I=this.lo,v=(this.lo>>>28|this.hi<<4)>>>0,B=this.hi>>>24;return B===0?v===0?I<16384?I<128?1:2:I<2097152?3:4:v<16384?v<128?5:6:v<2097152?7:8:B<128?9:10}},{15:15}],15:[function(o,A,f){"use strict";var m=f;m.asPromise=o(1),m.base64=o(2),m.EventEmitter=o(3),m.float=o(4),m.inquire=o(5),m.utf8=o(7),m.pool=o(6),m.LongBits=o(14),m.isNode=!!(typeof global<"u"&&global&&global.process&&global.process.versions&&global.process.versions.node),m.global=m.isNode&&global||typeof window<"u"&&window||typeof self<"u"&&self||this,m.emptyArray=Object.freeze?Object.freeze([]):[],m.emptyObject=Object.freeze?Object.freeze({}):{},m.isInteger=Number.isInteger||function(x){return typeof x=="number"&&isFinite(x)&&Math.floor(x)===x},m.isString=function(x){return typeof x=="string"||x instanceof String},m.isObject=function(x){return x&&typeof x=="object"},m.isset=m.isSet=function(x,y){var I=x[y];return I!=null&&x.hasOwnProperty(y)?typeof I!="object"||(Array.isArray(I)?I.length:Object.keys(I).length)>0:!1},m.Buffer=function(){try{var x=m.inquire("buffer").Buffer;return x.prototype.utf8Write?x:null}catch{return null}}(),m._Buffer_from=null,m._Buffer_allocUnsafe=null,m.newBuffer=function(x){return typeof x=="number"?m.Buffer?m._Buffer_allocUnsafe(x):new m.Array(x):m.Buffer?m._Buffer_from(x):typeof Uint8Array>"u"?x:new Uint8Array(x)},m.Array=typeof Uint8Array<"u"?Uint8Array:Array,m.Long=m.global.dcodeIO&&m.global.dcodeIO.Long||m.global.Long||m.inquire("long"),m.key2Re=/^true|false|0|1$/,m.key32Re=/^-?(?:0|[1-9][0-9]*)$/,m.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,m.longToHash=function(x){return x?m.LongBits.from(x).toHash():m.LongBits.zeroHash},m.longFromHash=function(x,y){var I=m.LongBits.fromHash(x);return m.Long?m.Long.fromBits(I.lo,I.hi,y):I.toNumber(!!y)};function C(x,y,I){for(var v=Object.keys(y),B=0;B-1;--B)if(y[v[B]]===1&&this[v[B]]!==undefined&&this[v[B]]!==null)return v[B]}},m.oneOfSetter=function(x){return function(y){for(var I=0;I127;)F[k++]=L&127|128,L>>>=7;F[k]=L}function D(L,F){this.len=L,this.next=undefined,this.val=F}D.prototype=Object.create(I.prototype),D.prototype.fn=S,Q.prototype.uint32=function(L){return this.len+=(this.tail=this.tail.next=new D((L=L>>>0)<128?1:L<16384?2:L<2097152?3:L<268435456?4:5,L)).len,this},Q.prototype.int32=function(L){return L<0?this._push(R,10,E.fromNumber(L)):this.uint32(L)},Q.prototype.sint32=function(L){return this.uint32((L<<1^L>>31)>>>0)};function R(L,F,k){for(;L.hi;)F[k++]=L.lo&127|128,L.lo=(L.lo>>>7|L.hi<<25)>>>0,L.hi>>>=7;for(;L.lo>127;)F[k++]=L.lo&127|128,L.lo=L.lo>>>7;F[k++]=L.lo}Q.prototype.uint64=function(L){var F=E.from(L);return this._push(R,F.length(),F)},Q.prototype.int64=Q.prototype.uint64,Q.prototype.sint64=function(L){var F=E.from(L).zzEncode();return this._push(R,F.length(),F)},Q.prototype.bool=function(L){return this._push(w,1,L?1:0)};function P(L,F,k){F[k]=L&255,F[k+1]=L>>>8&255,F[k+2]=L>>>16&255,F[k+3]=L>>>24}Q.prototype.fixed32=function(L){return this._push(P,4,L>>>0)},Q.prototype.sfixed32=Q.prototype.fixed32,Q.prototype.fixed64=function(L){var F=E.from(L);return this._push(P,4,F.lo)._push(P,4,F.hi)},Q.prototype.sfixed64=Q.prototype.fixed64,Q.prototype.float=function(L){return this._push(m.float.writeFloatLE,4,L)},Q.prototype.double=function(L){return this._push(m.float.writeDoubleLE,8,L)};var M=m.Array.prototype.set?function(L,F,k){F.set(L,k)}:function(L,F,k){for(var N=0;N>>0;if(!F)return this._push(w,1,0);if(m.isString(L)){var k=Q.alloc(F=x.length(L));x.decode(L,k,0),L=k}return this.uint32(F)._push(M,F,L)},Q.prototype.string=function(L){var F=y.length(L);return F?this.uint32(F)._push(y.write,F,L):this._push(w,1,0)},Q.prototype.fork=function(){return this.states=new B(this),this.head=this.tail=new I(v,0,0),this.len=0,this},Q.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new I(v,0,0),this.len=0),this},Q.prototype.ldelim=function(){var L=this.head,F=this.tail,k=this.len;return this.reset().uint32(k),k&&(this.tail.next=L.next,this.tail=F,this.len+=k),this},Q.prototype.finish=function(){for(var L=this.head.next,F=this.constructor.alloc(this.len),k=0;L;)L.fn(L.val,F,k),k+=L.len,L=L.next;return F},Q._configure=function(L){C=L,Q.create=T(),C._configure()}},{15:15}],17:[function(o,A,f){"use strict";A.exports=E;var m=o(16);(E.prototype=Object.create(m.prototype)).constructor=E;var C=o(15);function E(){m.call(this)}E._configure=function(){E.alloc=C._Buffer_allocUnsafe,E.writeBytesBuffer=C.Buffer&&C.Buffer.prototype instanceof Uint8Array&&C.Buffer.prototype.set.name==="set"?function(y,I,v){I.set(y,v)}:function(y,I,v){if(y.copy)y.copy(I,v,0,y.length);else for(var B=0;B>>0;return this.uint32(I),I&&this._push(E.writeBytesBuffer,I,y),this};function x(y,I,v){y.length<40?C.utf8.write(y,I,v):I.utf8Write?I.utf8Write(y,v):I.write(y,v)}E.prototype.string=function(y){var I=C.Buffer.byteLength(y);return this.uint32(I),I&&this._push(x,I,y),this},E._configure()},{15:15,16:16}]},{},[8])})()}),ayt=wt((o,A)=>{/* Copyright 2015-2018 Esri. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 @preserve */(function(){var f=function(){var x={};x.defaultNoDataValue=-34027999387901484e22,x.decode=function(T,w){w=w||{};var S=w.encodedMaskData||w.encodedMaskData===null,D=B(T,w.inputOffset||0,S),R=w.noDataValue!==null?w.noDataValue:x.defaultNoDataValue,P=y(D,w.pixelType||Float32Array,w.encodedMaskData,R,w.returnMask),M={width:D.width,height:D.height,pixelData:P.resultPixels,minValue:P.minValue,maxValue:D.pixels.maxValue,noDataValue:R};return P.resultMask&&(M.maskData=P.resultMask),w.returnEncodedMask&&D.mask&&(M.encodedMaskData=D.mask.bitset?D.mask.bitset:null),w.returnFileInfo&&(M.fileInfo=I(D),w.computeUsedBitDepths&&(M.fileInfo.bitDepths=v(D))),M};var y=function(T,w,S,D,R){var P=0,M=T.pixels.numBlocksX,L=T.pixels.numBlocksY,F=Math.floor(T.width/M),k=Math.floor(T.height/L),N=2*T.maxZError,G=Number.MAX_VALUE,J;S=S||(T.mask?T.mask.bitset:null);var K,X;K=new w(T.width*T.height),R&&S&&(X=new Uint8Array(T.width*T.height));for(var q=new Float32Array(F*k),ee,ie,H=0;H<=L;H++){var le=H!==L?k:T.height%L;if(le!==0)for(var ue=0;ue<=M;ue++){var Ae=ue!==M?F:T.width%M;if(Ae!==0){var he=H*T.width*k+ue*F,ge=T.width-Ae,fe=T.pixels.blocks[P],ae,U,W;fe.encoding<2?(fe.encoding===0?ae=fe.rawData:(Q(fe.stuffedData,fe.bitsPerPixel,fe.numValidPixels,fe.offset,N,q,T.pixels.maxValue),ae=q),U=0):fe.encoding===2?W=0:W=fe.offset;var Y;if(S)for(ie=0;ie>3],Y<<=he&7),ee=0;ee>3]),Y&128?(X&&(X[he]=1),J=fe.encoding<2?ae[U++]:W,G=G>J?J:G,K[he++]=J):(X&&(X[he]=0),K[he++]=D),Y<<=1;he+=ge}else if(fe.encoding<2)for(ie=0;ieJ?J:G,K[he++]=J;he+=ge}else for(G=G>W?W:G,ie=0;ie0){var M=new Uint8Array(Math.ceil(D.width*D.height/8));P=new DataView(T,w,D.mask.numBytes);var L=P.getInt16(0,!0),F=2,k=0;do{if(L>0)for(;L--;)M[k++]=P.getUint8(F++);else{var N=P.getUint8(F++);for(L=-L;L--;)M[k++]=N}L=P.getInt16(F,!0),F+=2}while(F0?1:0),X=J+(D.height%J>0?1:0);D.pixels.blocks=new Array(K*X);for(var q=0,ee=0;ee3)throw"Invalid block encoding ("+ue.encoding+")";if(ue.encoding===2){w++;continue}if(Ae!==0&&Ae!==2){if(Ae>>=6,ue.offsetType=Ae,Ae===2)ue.offset=P.getInt8(1),H++;else if(Ae===1)ue.offset=P.getInt16(1,!0),H+=2;else if(Ae===0)ue.offset=P.getFloat32(1,!0),H+=4;else throw"Invalid block offset type";if(ue.encoding===1)if(Ae=P.getUint8(H),H++,ue.bitsPerPixel=Ae&63,Ae>>=6,ue.numValidPixelsType=Ae,Ae===2)ue.numValidPixels=P.getUint8(H),H++;else if(Ae===1)ue.numValidPixels=P.getUint16(H,!0),H+=2;else if(Ae===0)ue.numValidPixels=P.getUint32(H,!0),H+=4;else throw"Invalid valid pixel count type"}if(w+=H,ue.encoding!==3){var he,ge;if(ue.encoding===0){var fe=(D.pixels.numBytes-1)/4;if(fe!==Math.floor(fe))throw"uncompressed block has invalid length";he=new ArrayBuffer(fe*4),ge=new Uint8Array(he),ge.set(new Uint8Array(T,w,fe*4));var ae=new Float32Array(he);ue.rawData=ae,w+=fe*4}else if(ue.encoding===1){var U=Math.ceil(ue.numValidPixels*ue.bitsPerPixel/8),W=Math.ceil(U/4);he=new ArrayBuffer(W*4),ge=new Uint8Array(he),ge.set(new Uint8Array(T,w,U)),ue.stuffedData=new Uint32Array(he),w+=U}}}return D.eofOffset=w,D},Q=function(T,w,S,D,R,P,M){var L=(1<=w)G=J>>>N-w&L,N-=w;else{var q=w-N;G=(J&L)<>>N}P[k]=G=T?(N=G>>>k-T&M,k-=T):(J=T-k,N=(G&M)<>>k),Q[F]=S[N];else for(K=Math.ceil((P-D)/R),F=0;F=T?(N=G>>>k-T&M,k-=T):(J=T-k,N=(G&M)<>>k),Q[F]=N=Q?(k=N>>>F-Q&R,F-=Q):(L=Q-F,k=(N&R)<>>F),G[M]=k=T?(G=J>>>N&M,k-=T,N+=T):(K=T-k,G=J>>>N&M,J=B[L++],k=32-K,G|=(J&(1<=T?(G=J>>>N&M,k-=T,N+=T):(K=T-k,G=J>>>N&M,J=B[L++],k=32-K,G|=(J&(1<=Q?(k=G>>>N&R,F-=Q,N+=Q):(L=Q-F,k=G>>>N&R,G=B[P++],F=32-L,k|=(G&(1<=T?(M=L>>>P-T&S,P-=T):(F=T-P,M=(L&S)<>>P),Q[R]=M;return Q},originalUnstuff2:function(B,Q,T,w){var S=(1<=T?(L=F>>>M&S,P-=T,M+=T):(k=T-P,L=F>>>M&S,F=B[D++],P=32-k,L|=(F&(1<=359?359:S;S-=R;do Q+=B[D++]<<8,T+=Q+=B[D++];while(--R);Q=(Q&65535)+(Q>>>16),T=(T&65535)+(T>>>16)}return w&1&&(T+=Q+=B[D]<<8),Q=(Q&65535)+(Q>>>16),T=(T&65535)+(T>>>16),(T<<16|Q)>>>0},readHeaderInfo:function(B,Q){var T=Q.ptr,w=new Uint8Array(B,T,6),S={};if(S.fileIdentifierString=String.fromCharCode.apply(null,w),S.fileIdentifierString.lastIndexOf("Lerc2",0)!==0)throw"Unexpected file identifier string (expect Lerc2 ): "+S.fileIdentifierString;T+=6;var D=new DataView(B,T,8),R=D.getInt32(0,!0);S.fileVersion=R,T+=4,R>=3&&(S.checksum=D.getUint32(4,!0),T+=4),D=new DataView(B,T,12),S.height=D.getUint32(0,!0),S.width=D.getUint32(4,!0),T+=8,R>=4?(S.numDims=D.getUint32(8,!0),T+=4):S.numDims=1,D=new DataView(B,T,40),S.numValidPixel=D.getUint32(0,!0),S.microBlockSize=D.getInt32(4,!0),S.blobSize=D.getInt32(8,!0),S.imageType=D.getInt32(12,!0),S.maxZError=D.getFloat64(16,!0),S.zMin=D.getFloat64(24,!0),S.zMax=D.getFloat64(32,!0),T+=40,Q.headerInfo=S,Q.ptr=T;var P,M;if(R>=3&&(M=R>=4?52:48,P=this.computeChecksumFletcher32(new Uint8Array(B,T-M,S.blobSize-14)),P!==S.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(B,Q){var T=Q.headerInfo,w=this.getDataTypeArray(T.imageType),S=T.numDims*this.getDataTypeSize(T.imageType),D=this.readSubArray(B,Q.ptr,w,S),R=this.readSubArray(B,Q.ptr+S,w,S);Q.ptr+=2*S;var P,M=!0;for(P=0;P0){M=new Uint8Array(Math.ceil(S/8)),R=new DataView(B,T,P.numBytes);var F=R.getInt16(0,!0),k=2,N=0,G=0;do{if(F>0)for(;F--;)M[N++]=R.getUint8(k++);else for(G=R.getUint8(k++),F=-F;F--;)M[N++]=G;F=R.getInt16(k,!0),k+=2}while(k>3],J<<=K&7):J=M[K>>3],J&128&&(L[K]=1);Q.pixels.resultMask=L,P.bitset=M,T+=P.numBytes}return Q.ptr=T,Q.mask=P,!0},readDataOneSweep:function(B,Q,T){var w=Q.ptr,S=Q.headerInfo,D=S.numDims,R=S.width*S.height,P=S.imageType,M=S.numValidPixel*y.getDataTypeSize(P)*D,L,F=Q.pixels.resultMask;if(T===Uint8Array)L=new Uint8Array(B,w,M);else{var k=new ArrayBuffer(M),N=new Uint8Array(k);N.set(new Uint8Array(B,w,M)),L=new T(k)}if(L.length===R*D)Q.pixels.resultPixels=L;else{Q.pixels.resultPixels=new T(R*D);var G=0,J=0,K=0,X=0;if(D>1)for(K=0;K=P)return!1;var M=new Uint32Array(P-R);y.decodeBits(B,Q,M);var L=[],F,k,N,G;for(F=R;F0&&(L[k].second=H<>>32-G,32-ie>=G?(ie+=G,ie===32&&(ie=0,le++,H=ee[le])):(ie+=G-32,le++,H=ee[le],L[k].second|=H>>>32-ie));var ue=0,Ae=0,he=new I;for(F=0;F=T?Ae=T:Ae=ue,ue>=30&&console.log("WARning, large NUM LUT BITS IS "+ue);var ge=[],fe,ae,U,W,Y,z;for(F=R;F0)if(fe=[G,k],G<=Ae)for(ae=L[k].second<=0;W--)Y=ae>>>W&1,Y?(z.right||(z.right=new I),z=z.right):(z.left||(z.left=new I),z=z.left),W===0&&!z.val&&(z.val=fe[1]);return{decodeLut:ge,numBitsLUTQick:Ae,numBitsLUT:ue,tree:he,stuffedData:ee,srcPtr:le,bitPos:ie}},readHuffman:function(B,Q,T){var w=Q.headerInfo,S=w.numDims,D=Q.headerInfo.height,R=Q.headerInfo.width,P=R*D,M=this.readHuffmanTree(B,Q),L=M.decodeLut,F=M.tree,k=M.stuffedData,N=M.srcPtr,G=M.bitPos,J=M.numBitsLUTQick,K=M.numBitsLUT,X=Q.headerInfo.imageType===0?128:0,q,ee,ie,H=Q.pixels.resultMask,le,ue,Ae,he,ge,fe,ae,U=0;G>0&&(N++,G=0);var W=k[N],Y=Q.encodeMode===1,z=new T(P*S),re=z,se;for(se=0;se1&&(re=new T(z.buffer,P*se,P),U=0),Q.headerInfo.numValidPixel===R*D)for(fe=0,he=0;he>>32-J,ue=le,32-G>>64-G-J,ue=le),L[ue])ee=L[ue][1],G+=L[ue][0];else for(le=W<>>32-K,ue=le,32-G>>64-G-K,ue=le),q=F,ae=0;ae>>K-ae-1&1,q=Ae?q.right:q.left,!(q.left||q.right)){ee=q.val,G=G+ae+1;break}G>=32&&(G-=32,N++,W=k[N]),ie=ee-X,Y?(ge>0?ie+=U:he>0?ie+=re[fe-R]:ie+=U,ie&=255,re[fe]=ie,U=ie):re[fe]=ie}else for(fe=0,he=0;he>>32-J,ue=le,32-G>>64-G-J,ue=le),L[ue])ee=L[ue][1],G+=L[ue][0];else for(le=W<>>32-K,ue=le,32-G>>64-G-K,ue=le),q=F,ae=0;ae>>K-ae-1&1,q=Ae?q.right:q.left,!(q.left||q.right)){ee=q.val,G=G+ae+1;break}G>=32&&(G-=32,N++,W=k[N]),ie=ee-X,Y?(ge>0&&H[fe-1]?ie+=U:he>0&&H[fe-R]?ie+=re[fe-R]:ie+=U,ie&=255,re[fe]=ie,U=ie):re[fe]=ie}Q.ptr=Q.ptr+(N+1)*4+(G>0?4:0)}Q.pixels.resultPixels=z},decodeBits:function(B,Q,T,w,S){{var D=Q.headerInfo,R=D.fileVersion,P=0,M=new DataView(B,Q.ptr,5),L=M.getUint8(0);P++;var F=L>>6,k=F===0?4:3-F,N=(L&32)>0,G=L&31,J=0;if(k===1)J=M.getUint8(P),P++;else if(k===2)J=M.getUint16(P,!0),P+=2;else if(k===4)J=M.getUint32(P,!0),P+=4;else throw"Invalid valid pixel count type";var K=2*D.maxZError,X,q,ee,ie,H,le,ue,Ae,he,ge,fe=D.numDims>1?D.maxValues[S]:D.zMax;if(N){for(Q.counter.lut++,Ae=M.getUint8(P),he=G,P++,ie=Math.ceil((Ae-1)*G/8),H=Math.ceil(ie/4),q=new ArrayBuffer(H*4),ee=new Uint8Array(q),Q.ptr+=P,ee.set(new Uint8Array(B,Q.ptr,ie)),ue=new Uint32Array(q),Q.ptr+=ie,ge=0;Ae-1>>>ge;)ge++;ie=Math.ceil(J*ge/8),H=Math.ceil(ie/4),q=new ArrayBuffer(H*4),ee=new Uint8Array(q),ee.set(new Uint8Array(B,Q.ptr,ie)),X=new Uint32Array(q),Q.ptr+=ie,R>=3?le=x.unstuffLUT2(ue,G,Ae-1,w,K,fe):le=x.unstuffLUT(ue,G,Ae-1,w,K,fe),R>=3?x.unstuff2(X,T,ge,J,le):x.unstuff(X,T,ge,J,le)}else Q.counter.bitstuffer++,ge=G,Q.ptr+=P,ge>0&&(ie=Math.ceil(J*ge/8),H=Math.ceil(ie/4),q=new ArrayBuffer(H*4),ee=new Uint8Array(q),ee.set(new Uint8Array(B,Q.ptr,ie)),X=new Uint32Array(q),Q.ptr+=ie,R>=3?w==null?x.originalUnstuff2(X,T,ge,J):x.unstuff2(X,T,ge,J,!1,w,K,fe):w==null?x.originalUnstuff(X,T,ge,J):x.unstuff(X,T,ge,J,!1,w,K,fe))}},readTiles:function(B,Q,T){var w=Q.headerInfo,S=w.width,D=w.height,R=w.microBlockSize,P=w.imageType,M=y.getDataTypeSize(P),L=Math.ceil(S/R),F=Math.ceil(D/R);Q.pixels.numBlocksY=F,Q.pixels.numBlocksX=L,Q.pixels.ptr=0;var k=0,N=0,G=0,J=0,K=0,X=0,q=0,ee=0,ie=0,H=0,le=0,ue=0,Ae=0,he=0,ge=0,fe=0,ae,U,W,Y,z,re,se=new T(R*R),de=D%R||R,me=S%R||R,Ce,Ie,we=w.numDims,Te,Ge=Q.pixels.resultMask,ke=Q.pixels.resultPixels;for(G=0;G1&&(ke=new T(Q.pixels.resultPixels.buffer,S*D*Te*M,S*D)),q=B.byteLength-Q.ptr,ae=new DataView(B,Q.ptr,Math.min(10,q)),U={},fe=0,ee=ae.getUint8(0),fe++,ie=ee>>6&255,H=ee>>2&15,H!==(J*R>>3&15))throw"integrity issue";if(re=ee&3,re>3)throw Q.ptr+=fe,"Invalid block encoding ("+re+")";if(re===2){Q.counter.constant++,Q.ptr+=fe;continue}else if(re===0){if(Q.counter.uncompressed++,Q.ptr+=fe,Ae=K*X*M,he=B.byteLength-Q.ptr,Ae=Ae1)for(D=0;D=-128&&Q<=127;break;case 1:T=Q>=0&&Q<=255;break;case 2:T=Q>=-32768&&Q<=32767;break;case 3:T=Q>=0&&Q<=65536;break;case 4:T=Q>=-2147483648&&Q<=2147483647;break;case 5:T=Q>=0&&Q<=4294967296;break;case 6:T=Q>=-34027999387901484e22&&Q<=34027999387901484e22;break;case 7:T=Q>=5e-324&&Q<=17976931348623157e292;break;default:T=!1}return T},getDataTypeSize:function(B){var Q=0;switch(B){case 0:case 1:Q=1;break;case 2:case 3:Q=2;break;case 4:case 5:case 6:Q=4;break;case 7:Q=8;break;default:Q=B}return Q},getDataTypeUsed:function(B,Q){var T=B;switch(B){case 2:case 4:T=B-Q;break;case 3:case 5:T=B-2*Q;break;case 6:Q===0?T=B:Q===1?T=2:T=1;break;case 7:Q===0?T=B:T=B-2*Q+1;break;default:T=B;break}return T},getOnePixel:function(B,Q,T,w){var S=0;switch(T){case 0:S=w.getInt8(Q);break;case 1:S=w.getUint8(Q);break;case 2:S=w.getInt16(Q,!0);break;case 3:S=w.getUint16(Q,!0);break;case 4:S=w.getInt32(Q,!0);break;case 5:S=w.getUInt32(Q,!0);break;case 6:S=w.getFloat32(Q,!0);break;case 7:S=w.getFloat64(Q,!0);break;default:throw"the decoder does not understand this pixel type"}return S}},I=function(B,Q,T){this.val=B,this.left=Q,this.right=T},v={decode:function(B,Q){Q=Q||{};var T=Q.noDataValue,w=0,S={};if(S.ptr=Q.inputOffset||0,S.pixels={},!!y.readHeaderInfo(B,S)){var D=S.headerInfo,R=D.fileVersion,P=y.getDataTypeArray(D.imageType);y.readMask(B,S),D.numValidPixel!==D.width*D.height&&!S.pixels.resultMask&&(S.pixels.resultMask=Q.maskData);var M=D.width*D.height;if(S.pixels.resultPixels=new P(M*D.numDims),S.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0},D.numValidPixel!==0)if(D.zMax===D.zMin)y.constructConstantSurface(S);else if(R>=4&&y.checkMinMaxRanges(B,S))y.constructConstantSurface(S);else{var L=new DataView(B,S.ptr,2),F=L.getUint8(0);if(S.ptr++,F)y.readDataOneSweep(B,S,P);else if(R>1&&D.imageType<=1&&Math.abs(D.maxZError-.5)<1e-5){var k=L.getUint8(1);if(S.ptr++,S.encodeMode=k,k>2||R<4&&k>1)throw"Invalid Huffman flag "+k;k?y.readHuffman(B,S,P):y.readTiles(B,S,P)}else y.readTiles(B,S,P)}S.eofOffset=S.ptr;var N;Q.inputOffset?(N=S.headerInfo.blobSize+Q.inputOffset-S.ptr,Math.abs(N)>=1&&(S.eofOffset=Q.inputOffset+S.headerInfo.blobSize)):(N=S.headerInfo.blobSize-S.ptr,Math.abs(N)>=1&&(S.eofOffset=S.headerInfo.blobSize));var G={width:D.width,height:D.height,pixelData:S.pixels.resultPixels,minValue:D.zMin,maxValue:D.zMax,validPixelCount:D.numValidPixel,dimCount:D.numDims,dimStats:{minValues:D.minValues,maxValues:D.maxValues},maskData:S.pixels.resultMask};if(S.pixels.resultMask&&y.isValidPixelValue(D.imageType,T)){var J=S.pixels.resultMask;for(w=0;w1&&F.fileInfo.mask&&F.fileInfo.mask.numBytes>0&&R.push(F.maskData),w++,L.pixels.push(F.pixelData),L.statistics.push({minValue:F.minValue,maxValue:F.maxValue,noDataValue:F.noDataValue,dimStats:F.dimStats})}var k,N,G;if(T>1&&R.length>1){for(G=L.width*L.height,L.bandMasks=R,M=new Uint8Array(G),M.set(R[0]),k=1;k{A.exports={webm:"data:video/webm;base64,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",mp4:"data:video/mp4;base64,AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVlAAAGF21kYXTeBAAAbGliZmFhYyAxLjI4AABCAJMgBDIARwAAArEGBf//rdxF6b3m2Ui3lizYINkj7u94MjY0IC0gY29yZSAxNDIgcjIgOTU2YzhkOCAtIEguMjY0L01QRUctNCBBVkMgY29kZWMgLSBDb3B5bGVmdCAyMDAzLTIwMTQgLSBodHRwOi8vd3d3LnZpZGVvbGFuLm9yZy94MjY0Lmh0bWwgLSBvcHRpb25zOiBjYWJhYz0wIHJlZj0zIGRlYmxvY2s9MTowOjAgYW5hbHlzZT0weDE6MHgxMTEgbWU9aGV4IHN1Ym1lPTcgcHN5PTEgcHN5X3JkPTEuMDA6MC4wMCBtaXhlZF9yZWY9MSBtZV9yYW5nZT0xNiBjaHJvbWFfbWU9MSB0cmVsbGlzPTEgOHg4ZGN0PTAgY3FtPTAgZGVhZHpvbmU9MjEsMTEgZmFzdF9wc2tpcD0xIGNocm9tYV9xcF9vZmZzZXQ9LTIgdGhyZWFkcz02IGxvb2thaGVhZF90aHJlYWRzPTEgc2xpY2VkX3RocmVhZHM9MCBucj0wIGRlY2ltYXRlPTEgaW50ZXJsYWNlZD0wIGJsdXJheV9jb21wYXQ9MCBjb25zdHJhaW5lZF9pbnRyYT0wIGJmcmFtZXM9MCB3ZWlnaHRwPTAga2V5aW50PTI1MCBrZXlpbnRfbWluPTI1IHNjZW5lY3V0PTQwIGludHJhX3JlZnJlc2g9MCByY19sb29rYWhlYWQ9NDAgcmM9Y3JmIG1idHJlZT0xIGNyZj0yMy4wIHFjb21wPTAuNjAgcXBtaW49MCBxcG1heD02OSBxcHN0ZXA9NCB2YnZfbWF4cmF0ZT03NjggdmJ2X2J1ZnNpemU9MzAwMCBjcmZfbWF4PTAuMCBuYWxfaHJkPW5vbmUgZmlsbGVyPTAgaXBfcmF0aW89MS40MCBhcT0xOjEuMDAAgAAAAFZliIQL8mKAAKvMnJycnJycnJycnXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXiEASZACGQAjgCEASZACGQAjgAAAAAdBmjgX4GSAIQBJkAIZACOAAAAAB0GaVAX4GSAhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZpgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGagC/AySEASZACGQAjgAAAAAZBmqAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZrAL8DJIQBJkAIZACOAAAAABkGa4C/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmwAvwMkhAEmQAhkAI4AAAAAGQZsgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGbQC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBm2AvwMkhAEmQAhkAI4AAAAAGQZuAL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGboC/AySEASZACGQAjgAAAAAZBm8AvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZvgL8DJIQBJkAIZACOAAAAABkGaAC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmiAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZpAL8DJIQBJkAIZACOAAAAABkGaYC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmoAvwMkhAEmQAhkAI4AAAAAGQZqgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGawC/AySEASZACGQAjgAAAAAZBmuAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZsAL8DJIQBJkAIZACOAAAAABkGbIC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBm0AvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZtgL8DJIQBJkAIZACOAAAAABkGbgCvAySEASZACGQAjgCEASZACGQAjgAAAAAZBm6AnwMkhAEmQAhkAI4AhAEmQAhkAI4AhAEmQAhkAI4AhAEmQAhkAI4AAAAhubW9vdgAAAGxtdmhkAAAAAAAAAAAAAAAAAAAD6AAABDcAAQAAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAzB0cmFrAAAAXHRraGQAAAADAAAAAAAAAAAAAAABAAAAAAAAA+kAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAALAAAACQAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAPpAAAAAAABAAAAAAKobWRpYQAAACBtZGhkAAAAAAAAAAAAAAAAAAB1MAAAdU5VxAAAAAAALWhkbHIAAAAAAAAAAHZpZGUAAAAAAAAAAAAAAABWaWRlb0hhbmRsZXIAAAACU21pbmYAAAAUdm1oZAAAAAEAAAAAAAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAhNzdGJsAAAAr3N0c2QAAAAAAAAAAQAAAJ9hdmMxAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAALAAkABIAAAASAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGP//AAAALWF2Y0MBQsAN/+EAFWdCwA3ZAsTsBEAAAPpAADqYA8UKkgEABWjLg8sgAAAAHHV1aWRraEDyXyRPxbo5pRvPAyPzAAAAAAAAABhzdHRzAAAAAAAAAAEAAAAeAAAD6QAAABRzdHNzAAAAAAAAAAEAAAABAAAAHHN0c2MAAAAAAAAAAQAAAAEAAAABAAAAAQAAAIxzdHN6AAAAAAAAAAAAAAAeAAADDwAAAAsAAAALAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAAiHN0Y28AAAAAAAAAHgAAAEYAAANnAAADewAAA5gAAAO0AAADxwAAA+MAAAP2AAAEEgAABCUAAARBAAAEXQAABHAAAASMAAAEnwAABLsAAATOAAAE6gAABQYAAAUZAAAFNQAABUgAAAVkAAAFdwAABZMAAAWmAAAFwgAABd4AAAXxAAAGDQAABGh0cmFrAAAAXHRraGQAAAADAAAAAAAAAAAAAAACAAAAAAAABDcAAAAAAAAAAAAAAAEBAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAQkAAADcAABAAAAAAPgbWRpYQAAACBtZGhkAAAAAAAAAAAAAAAAAAC7gAAAykBVxAAAAAAALWhkbHIAAAAAAAAAAHNvdW4AAAAAAAAAAAAAAABTb3VuZEhhbmRsZXIAAAADi21pbmYAAAAQc21oZAAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAADT3N0YmwAAABnc3RzZAAAAAAAAAABAAAAV21wNGEAAAAAAAAAAQAAAAAAAAAAAAIAEAAAAAC7gAAAAAAAM2VzZHMAAAAAA4CAgCIAAgAEgICAFEAVBbjYAAu4AAAADcoFgICAAhGQBoCAgAECAAAAIHN0dHMAAAAAAAAAAgAAADIAAAQAAAAAAQAAAkAAAAFUc3RzYwAAAAAAAAAbAAAAAQAAAAEAAAABAAAAAgAAAAIAAAABAAAAAwAAAAEAAAABAAAABAAAAAIAAAABAAAABgAAAAEAAAABAAAABwAAAAIAAAABAAAACAAAAAEAAAABAAAACQAAAAIAAAABAAAACgAAAAEAAAABAAAACwAAAAIAAAABAAAADQAAAAEAAAABAAAADgAAAAIAAAABAAAADwAAAAEAAAABAAAAEAAAAAIAAAABAAAAEQAAAAEAAAABAAAAEgAAAAIAAAABAAAAFAAAAAEAAAABAAAAFQAAAAIAAAABAAAAFgAAAAEAAAABAAAAFwAAAAIAAAABAAAAGAAAAAEAAAABAAAAGQAAAAIAAAABAAAAGgAAAAEAAAABAAAAGwAAAAIAAAABAAAAHQAAAAEAAAABAAAAHgAAAAIAAAABAAAAHwAAAAQAAAABAAAA4HN0c3oAAAAAAAAAAAAAADMAAAAaAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAACMc3RjbwAAAAAAAAAfAAAALAAAA1UAAANyAAADhgAAA6IAAAO+AAAD0QAAA+0AAAQAAAAEHAAABC8AAARLAAAEZwAABHoAAASWAAAEqQAABMUAAATYAAAE9AAABRAAAAUjAAAFPwAABVIAAAVuAAAFgQAABZ0AAAWwAAAFzAAABegAAAX7AAAGFwAAAGJ1ZHRhAAAAWm1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAAAAAAAAAALWlsc3QAAAAlqXRvbwAAAB1kYXRhAAAAAQAAAABMYXZmNTUuMzMuMTAw"}}),lyt=wt((o,A)=>{var{webm:f,mp4:m}=syt(),C=()=>typeof navigator<"u"&&parseFloat((""+(/CPU.*OS ([0-9_]{3,4})[0-9_]{0,1}|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))<10&&!window.MSStream,E=()=>"wakeLock"in navigator,x=class{constructor(){if(this.enabled=!1,E()){this._wakeLock=null;let y=()=>{this._wakeLock!==null&&document.visibilityState==="visible"&&this.enable()};document.addEventListener("visibilitychange",y),document.addEventListener("fullscreenchange",y)}else C()?this.noSleepTimer=null:(this.noSleepVideo=document.createElement("video"),this.noSleepVideo.setAttribute("title","No Sleep"),this.noSleepVideo.setAttribute("playsinline",""),this._addSourceToVideo(this.noSleepVideo,"webm",f),this._addSourceToVideo(this.noSleepVideo,"mp4",m),this.noSleepVideo.addEventListener("loadedmetadata",()=>{this.noSleepVideo.duration<=1?this.noSleepVideo.setAttribute("loop",""):this.noSleepVideo.addEventListener("timeupdate",()=>{this.noSleepVideo.currentTime>.5&&(this.noSleepVideo.currentTime=Math.random())})}))}_addSourceToVideo(y,I,v){var B=document.createElement("source");B.src=v,B.type=`video/${I}`,y.appendChild(B)}get isEnabled(){return this.enabled}enable(){return E()?navigator.wakeLock.request("screen").then(y=>{this._wakeLock=y,this.enabled=!0,console.log("Wake Lock active."),this._wakeLock.addEventListener("release",()=>{console.log("Wake Lock released.")})}).catch(y=>{throw this.enabled=!1,console.error(`${y.name}, ${y.message}`),y}):C()?(this.disable(),console.warn(` NoSleep enabled for older iOS devices. This can interrupt active or long-running network requests from completing successfully. See https://github.com/richtr/NoSleep.js/issues/15 for more details. `),this.noSleepTimer=window.setInterval(()=>{document.hidden||(window.location.href=window.location.href.split("#")[0],window.setTimeout(window.stop,0))},15e3),this.enabled=!0,Promise.resolve()):this.noSleepVideo.play().then(y=>(this.enabled=!0,y)).catch(y=>{throw this.enabled=!1,y})}disable(){E()?(this._wakeLock&&this._wakeLock.release(),this._wakeLock=null):C()?this.noSleepTimer&&(console.warn(` NoSleep now disabled for older iOS devices. `),window.clearInterval(this.noSleepTimer),this.noSleepTimer=null):this.noSleepVideo.pause(),this.enabled=!1}};A.exports=x}),uyt=function(){let o=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","+","/"],A={base64:y},f={base64:I},m={"utf-8":E};function C(Q,T,w){let S,D,R="";for(S=0,D=Q.length;S=0&&Q<=127)for(w=S,R=0,T=8;R=128&&Q<=2047){for(w=S,R=0,T=11;R=2048&&Q<=65535){for(w=S,R=0,T=16;R=65536&&Q<=1114111){for(w=S,R=0,T=21;R0){for(T=0;T<24-S;T++)M=M+0;R=R+x(M,S)}return R}function I(Q){let T,w,S,D=0,R,P=0,M=[{str:"0",len:8},{str:"110",len:11},{str:"1110",len:16},{str:"11110",len:21}],L="",F="";for(T=0,S=Q.length;T=S-2&&Q.charAt(T)==="="&&++D}for(D===0?S=L.length:S=L.length-(6-2*D);P=f)throw new Ai(`Expected ${o} to be less than ${f}, actual value was ${A}`)};Dg.typeOf.number.lessThanOrEquals=function(o,A,f){if(Dg.typeOf.number(o,A),A>f)throw new Ai(`Expected ${o} to be less than or equal to ${f}, actual value was ${A}`)};Dg.typeOf.number.greaterThan=function(o,A,f){if(Dg.typeOf.number(o,A),A<=f)throw new Ai(`Expected ${o} to be greater than ${f}, actual value was ${A}`)};Dg.typeOf.number.greaterThanOrEquals=function(o,A,f){if(Dg.typeOf.number(o,A),A0?1:-1});En.signNotZero=function(o){return o<0?-1:1};En.toSNorm=function(o,A){return A=oe(A,255),Math.round((En.clamp(o,-1,1)*.5+.5)*A)};En.fromSNorm=function(o,A){return A=oe(A,255),En.clamp(o,0,A)/A*2-1};En.normalize=function(o,A,f){return f=Math.max(f-A,0),f===0?0:En.clamp((o-A)/f,0,1)};En.sinh=oe(Math.sinh,function(o){return(Math.exp(o)-Math.exp(-o))/2});En.cosh=oe(Math.cosh,function(o){return(Math.exp(o)+Math.exp(-o))/2});En.lerp=function(o,A,f){return(1-f)*o+f*A};En.PI=Math.PI;En.ONE_OVER_PI=1/Math.PI;En.PI_OVER_TWO=Math.PI/2;En.PI_OVER_THREE=Math.PI/3;En.PI_OVER_FOUR=Math.PI/4;En.PI_OVER_SIX=Math.PI/6;En.THREE_PI_OVER_TWO=3*Math.PI/2;En.TWO_PI=2*Math.PI;En.ONE_OVER_TWO_PI=1/(2*Math.PI);En.RADIANS_PER_DEGREE=Math.PI/180;En.DEGREES_PER_RADIAN=180/Math.PI;En.RADIANS_PER_ARCSECOND=En.RADIANS_PER_DEGREE/3600;En.toRadians=function(o){return o*En.RADIANS_PER_DEGREE};En.toDegrees=function(o){return o*En.DEGREES_PER_RADIAN};En.convertLongitudeRange=function(o){let A=En.TWO_PI,f=o-Math.floor(o/A)*A;return f<-Math.PI?f+A:f>=Math.PI?f-A:f};En.clampToLatitudeRange=function(o){return En.clamp(o,-1*En.PI_OVER_TWO,En.PI_OVER_TWO)};En.negativePiToPi=function(o){return o>=-En.PI&&o<=En.PI?o:En.zeroToTwoPi(o+En.PI)-En.PI};En.zeroToTwoPi=function(o){if(o>=0&&o<=En.TWO_PI)return o;let A=En.mod(o,En.TWO_PI);return Math.abs(A)En.EPSILON14?En.TWO_PI:A};En.mod=function(o,A){return En.sign(o)===En.sign(A)&&Math.abs(o)f};En.greaterThanOrEquals=function(o,A,f){return o-A>-f};var Tj=[1];En.factorial=function(o){let A=Tj.length;if(o>=A){let f=Tj[A-1];for(let m=A;m<=o;m++){let C=f*m;Tj.push(C),f=C}}return Tj[o]};En.incrementWrap=function(o,A,f){return f=oe(f,0),++o,o>A&&(o=f),o};En.isPowerOfTwo=function(o){return o!==0&&(o&o-1)===0};En.nextPowerOfTwo=function(o){return--o,o|=o>>1,o|=o>>2,o|=o>>4,o|=o>>8,o|=o>>16,++o,o};En.previousPowerOfTwo=function(o){return o|=o>>1,o|=o>>2,o|=o>>4,o|=o>>8,o|=o>>16,o|=o>>32,o=(o>>>0)-(o>>>1),o};En.clamp=function(o,A,f){return of?f:o};var Z6e=new X6e.default;En.setRandomNumberSeed=function(o){Z6e=new X6e.default(o)};En.nextRandomNumber=function(){return Z6e.random()};En.randomBetween=function(o,A){return En.nextRandomNumber()*(A-o)+o};En.acosClamped=function(o){return Math.acos(En.clamp(o,-1,1))};En.asinClamped=function(o){return Math.asin(En.clamp(o,-1,1))};En.chordLength=function(o,A){return 2*A*Math.sin(o*.5)};En.logBase=function(o,A){return Math.log(o)/Math.log(A)};En.cbrt=oe(Math.cbrt,function(o){let A=Math.pow(Math.abs(o),.3333333333333333);return o<0?-A:A});En.log2=oe(Math.log2,function(o){return Math.log(o)*Math.LOG2E});En.fog=function(o,A){let f=o*A;return 1-Math.exp(-(f*f))};En.fastApproximateAtan=function(o){return o*(-.1784*Math.abs(o)-.0663*o*o+1.0301)};En.fastApproximateAtan2=function(o,A){let f,m=Math.abs(o);f=Math.abs(A);let C=Math.max(m,f);f=Math.min(m,f);let E=f/C;return m=En.fastApproximateAtan(E),m=Math.abs(A)>Math.abs(o)?En.PI_OVER_TWO-m:m,m=o<0?En.PI-m:m,m=A<0?-m:m,m};var Be=En;function ao(o,A){this.x=oe(o,0),this.y=oe(A,0)}ao.fromElements=function(o,A,f){return O(f)?(f.x=o,f.y=A,f):new ao(o,A)};ao.clone=function(o,A){if(O(o))return O(A)?(A.x=o.x,A.y=o.y,A):new ao(o.x,o.y)};ao.fromCartesian3=ao.clone;ao.fromCartesian4=ao.clone;ao.packedLength=2;ao.pack=function(o,A,f){return f=oe(f,0),A[f++]=o.x,A[f]=o.y,A};ao.unpack=function(o,A,f){return A=oe(A,0),O(f)||(f=new ao),f.x=o[A++],f.y=o[A],f};ao.packArray=function(o,A){let f=o.length,m=f*2;O(A)?!Array.isArray(A)&&A.length!==m||A.length!==m&&(A.length=m):A=new Array(m);for(let C=0;C{let A=new Image;A.onload=function(){hx._result=A.width>0&&A.height>0,o(hx._result)},A.onerror=function(){hx._result=!1,o(hx._result)},A.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA"})),hx._promise};Object.defineProperties(hx,{initialized:{get:function(){return O(hx._result)}}});var VU=[];typeof ArrayBuffer<"u"&&(VU.push(Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array),typeof Uint8ClampedArray<"u"&&VU.push(Uint8ClampedArray),typeof Uint8ClampedArray<"u"&&VU.push(Uint8ClampedArray),typeof BigInt64Array<"u"&&VU.push(BigInt64Array),typeof BigUint64Array<"u"&&VU.push(BigUint64Array));var ow={isChrome:k0e,chromeVersion:myt,isSafari:tVe,safariVersion:Cyt,isWebkit:iVe,webkitVersion:Eyt,isInternetExplorer:rVe,internetExplorerVersion:xyt,isEdge:mte,edgeVersion:yyt,isFirefox:O0e,firefoxVersion:vyt,isWindows:Iyt,isIPadOrIOS:_yt,hardwareConcurrency:oe(nC.hardwareConcurrency,3),supportsPointerEvents:Byt,supportsImageRenderingPixelated:sVe,supportsWebP:hx,imageRenderingValue:wyt,typedArrayTypes:VU};ow.supportsBasis=function(o){return ow.supportsWebAssembly()&&o.context.supportsBasis};ow.supportsFullscreen=function(){return bg.supportsFullscreen()};ow.supportsTypedArrays=function(){return typeof ArrayBuffer<"u"};ow.supportsBigInt64Array=function(){return typeof BigInt64Array<"u"};ow.supportsBigUint64Array=function(){return typeof BigUint64Array<"u"};ow.supportsBigInt=function(){return typeof BigInt<"u"};ow.supportsWebWorkers=function(){return typeof Worker<"u"};ow.supportsWebAssembly=function(){return typeof WebAssembly<"u"};ow.supportsWebgl2=function(o){return o.context.webgl2};var wo=ow;function vue(o,A,f){return f<0&&(f+=1),f>1&&(f-=1),f*6<1?o+(A-o)*6*f:f*2<1?A:f*3<2?o+(A-o)*(2/3-f)*6:o}function ei(o,A,f,m){this.red=oe(o,1),this.green=oe(A,1),this.blue=oe(f,1),this.alpha=oe(m,1)}ei.fromCartesian4=function(o,A){return O(A)?(A.red=o.x,A.green=o.y,A.blue=o.z,A.alpha=o.w,A):new ei(o.x,o.y,o.z,o.w)};ei.fromBytes=function(o,A,f,m,C){return o=ei.byteToFloat(oe(o,255)),A=ei.byteToFloat(oe(A,255)),f=ei.byteToFloat(oe(f,255)),m=ei.byteToFloat(oe(m,255)),O(C)?(C.red=o,C.green=A,C.blue=f,C.alpha=m,C):new ei(o,A,f,m)};ei.fromAlpha=function(o,A,f){return O(f)?(f.red=o.red,f.green=o.green,f.blue=o.blue,f.alpha=A,f):new ei(o.red,o.green,o.blue,A)};var Bue,U0e,iD;wo.supportsTypedArrays()&&(Bue=new ArrayBuffer(4),U0e=new Uint32Array(Bue),iD=new Uint8Array(Bue));ei.fromRgba=function(o,A){return U0e[0]=o,ei.fromBytes(iD[0],iD[1],iD[2],iD[3],A)};ei.fromHsl=function(o,A,f,m,C){o=oe(o,0)%1,A=oe(A,0),f=oe(f,0),m=oe(m,1);let E=f,x=f,y=f;if(A!==0){let I;f<.5?I=f*(1+A):I=f+A-f*A;let v=2*f-I;E=vue(v,I,o+1/3),x=vue(v,I,o),y=vue(v,I,o-1/3)}return O(C)?(C.red=E,C.green=x,C.blue=y,C.alpha=m,C):new ei(E,x,y,m)};ei.fromRandom=function(o,A){o=oe(o,oe.EMPTY_OBJECT);let f=o.red;if(!O(f)){let x=oe(o.minimumRed,0),y=oe(o.maximumRed,1);f=x+Be.nextRandomNumber()*(y-x)}let m=o.green;if(!O(m)){let x=oe(o.minimumGreen,0),y=oe(o.maximumGreen,1);m=x+Be.nextRandomNumber()*(y-x)}let C=o.blue;if(!O(C)){let x=oe(o.minimumBlue,0),y=oe(o.maximumBlue,1);C=x+Be.nextRandomNumber()*(y-x)}let E=o.alpha;if(!O(E)){let x=oe(o.minimumAlpha,0),y=oe(o.maximumAlpha,1);E=x+Be.nextRandomNumber()*(y-x)}return O(A)?(A.red=f,A.green=m,A.blue=C,A.alpha=E,A):new ei(f,m,C,E)};var byt=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,Qyt=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,Syt=/^rgba?\s*\(\s*([0-9.]+%?)\s*[,\s]+\s*([0-9.]+%?)\s*[,\s]+\s*([0-9.]+%?)(?:\s*[,\s/]+\s*([0-9.]+))?\s*\)$/i,Dyt=/^hsla?\s*\(\s*([0-9.]+)\s*[,\s]+\s*([0-9.]+%)\s*[,\s]+\s*([0-9.]+%)(?:\s*[,\s/]+\s*([0-9.]+))?\s*\)$/i;ei.fromCssColorString=function(o,A){O(A)||(A=new ei),o=o.trim();let f=ei[o.toUpperCase()];if(O(f))return ei.clone(f,A),A;let m=byt.exec(o);return m!==null?(A.red=parseInt(m[1],16)/15,A.green=parseInt(m[2],16)/15,A.blue=parseInt(m[3],16)/15,A.alpha=parseInt(oe(m[4],"f"),16)/15,A):(m=Qyt.exec(o),m!==null?(A.red=parseInt(m[1],16)/255,A.green=parseInt(m[2],16)/255,A.blue=parseInt(m[3],16)/255,A.alpha=parseInt(oe(m[4],"ff"),16)/255,A):(m=Syt.exec(o),m!==null?(A.red=parseFloat(m[1])/(m[1].substr(-1)==="%"?100:255),A.green=parseFloat(m[2])/(m[2].substr(-1)==="%"?100:255),A.blue=parseFloat(m[3])/(m[3].substr(-1)==="%"?100:255),A.alpha=parseFloat(oe(m[4],"1.0")),A):(m=Dyt.exec(o),m!==null?ei.fromHsl(parseFloat(m[1])/360,parseFloat(m[2])/100,parseFloat(m[3])/100,parseFloat(oe(m[4],"1.0")),A):(A=void 0,A))))};ei.packedLength=4;ei.pack=function(o,A,f){return f=oe(f,0),A[f++]=o.red,A[f++]=o.green,A[f++]=o.blue,A[f]=o.alpha,A};ei.unpack=function(o,A,f){return A=oe(A,0),O(f)||(f=new ei),f.red=o[A++],f.green=o[A++],f.blue=o[A++],f.alpha=o[A],f};ei.byteToFloat=function(o){return o/255};ei.floatToByte=function(o){return o===1?255:o*256|0};ei.clone=function(o,A){if(O(o))return O(A)?(A.red=o.red,A.green=o.green,A.blue=o.blue,A.alpha=o.alpha,A):new ei(o.red,o.green,o.blue,o.alpha)};ei.equals=function(o,A){return o===A||O(o)&&O(A)&&o.red===A.red&&o.green===A.green&&o.blue===A.blue&&o.alpha===A.alpha};ei.equalsArray=function(o,A,f){return o.red===A[f]&&o.green===A[f+1]&&o.blue===A[f+2]&&o.alpha===A[f+3]};ei.prototype.clone=function(o){return ei.clone(this,o)};ei.prototype.equals=function(o){return ei.equals(this,o)};ei.prototype.equalsEpsilon=function(o,A){return this===o||O(o)&&Math.abs(this.red-o.red)<=A&&Math.abs(this.green-o.green)<=A&&Math.abs(this.blue-o.blue)<=A&&Math.abs(this.alpha-o.alpha)<=A};ei.prototype.toString=function(){return`(${this.red}, ${this.green}, ${this.blue}, ${this.alpha})`};ei.prototype.toCssColorString=function(){let o=ei.floatToByte(this.red),A=ei.floatToByte(this.green),f=ei.floatToByte(this.blue);return this.alpha===1?`rgb(${o},${A},${f})`:`rgba(${o},${A},${f},${this.alpha})`};ei.prototype.toCssHexString=function(){let o=ei.floatToByte(this.red).toString(16);o.length<2&&(o=`0${o}`);let A=ei.floatToByte(this.green).toString(16);A.length<2&&(A=`0${A}`);let f=ei.floatToByte(this.blue).toString(16);if(f.length<2&&(f=`0${f}`),this.alpha<1){let m=ei.floatToByte(this.alpha).toString(16);return m.length<2&&(m=`0${m}`),`#${o}${A}${f}${m}`}return`#${o}${A}${f}`};ei.prototype.toBytes=function(o){let A=ei.floatToByte(this.red),f=ei.floatToByte(this.green),m=ei.floatToByte(this.blue),C=ei.floatToByte(this.alpha);return O(o)?(o[0]=A,o[1]=f,o[2]=m,o[3]=C,o):[A,f,m,C]};ei.prototype.toRgba=function(){return iD[0]=ei.floatToByte(this.red),iD[1]=ei.floatToByte(this.green),iD[2]=ei.floatToByte(this.blue),iD[3]=ei.floatToByte(this.alpha),U0e[0]};ei.prototype.brighten=function(o,A){return o=1-o,A.red=1-(1-this.red)*o,A.green=1-(1-this.green)*o,A.blue=1-(1-this.blue)*o,A.alpha=this.alpha,A};ei.prototype.darken=function(o,A){return o=1-o,A.red=this.red*o,A.green=this.green*o,A.blue=this.blue*o,A.alpha=this.alpha,A};ei.prototype.withAlpha=function(o,A){return ei.fromAlpha(this,o,A)};ei.add=function(o,A,f){return f.red=o.red+A.red,f.green=o.green+A.green,f.blue=o.blue+A.blue,f.alpha=o.alpha+A.alpha,f};ei.subtract=function(o,A,f){return f.red=o.red-A.red,f.green=o.green-A.green,f.blue=o.blue-A.blue,f.alpha=o.alpha-A.alpha,f};ei.multiply=function(o,A,f){return f.red=o.red*A.red,f.green=o.green*A.green,f.blue=o.blue*A.blue,f.alpha=o.alpha*A.alpha,f};ei.divide=function(o,A,f){return f.red=o.red/A.red,f.green=o.green/A.green,f.blue=o.blue/A.blue,f.alpha=o.alpha/A.alpha,f};ei.mod=function(o,A,f){return f.red=o.red%A.red,f.green=o.green%A.green,f.blue=o.blue%A.blue,f.alpha=o.alpha%A.alpha,f};ei.lerp=function(o,A,f,m){return m.red=Be.lerp(o.red,A.red,f),m.green=Be.lerp(o.green,A.green,f),m.blue=Be.lerp(o.blue,A.blue,f),m.alpha=Be.lerp(o.alpha,A.alpha,f),m};ei.multiplyByScalar=function(o,A,f){return f.red=o.red*A,f.green=o.green*A,f.blue=o.blue*A,f.alpha=o.alpha*A,f};ei.divideByScalar=function(o,A,f){return f.red=o.red/A,f.green=o.green/A,f.blue=o.blue/A,f.alpha=o.alpha/A,f};ei.ALICEBLUE=Object.freeze(ei.fromCssColorString("#F0F8FF"));ei.ANTIQUEWHITE=Object.freeze(ei.fromCssColorString("#FAEBD7"));ei.AQUA=Object.freeze(ei.fromCssColorString("#00FFFF"));ei.AQUAMARINE=Object.freeze(ei.fromCssColorString("#7FFFD4"));ei.AZURE=Object.freeze(ei.fromCssColorString("#F0FFFF"));ei.BEIGE=Object.freeze(ei.fromCssColorString("#F5F5DC"));ei.BISQUE=Object.freeze(ei.fromCssColorString("#FFE4C4"));ei.BLACK=Object.freeze(ei.fromCssColorString("#000000"));ei.BLANCHEDALMOND=Object.freeze(ei.fromCssColorString("#FFEBCD"));ei.BLUE=Object.freeze(ei.fromCssColorString("#0000FF"));ei.BLUEVIOLET=Object.freeze(ei.fromCssColorString("#8A2BE2"));ei.BROWN=Object.freeze(ei.fromCssColorString("#A52A2A"));ei.BURLYWOOD=Object.freeze(ei.fromCssColorString("#DEB887"));ei.CADETBLUE=Object.freeze(ei.fromCssColorString("#5F9EA0"));ei.CHARTREUSE=Object.freeze(ei.fromCssColorString("#7FFF00"));ei.CHOCOLATE=Object.freeze(ei.fromCssColorString("#D2691E"));ei.CORAL=Object.freeze(ei.fromCssColorString("#FF7F50"));ei.CORNFLOWERBLUE=Object.freeze(ei.fromCssColorString("#6495ED"));ei.CORNSILK=Object.freeze(ei.fromCssColorString("#FFF8DC"));ei.CRIMSON=Object.freeze(ei.fromCssColorString("#DC143C"));ei.CYAN=Object.freeze(ei.fromCssColorString("#00FFFF"));ei.DARKBLUE=Object.freeze(ei.fromCssColorString("#00008B"));ei.DARKCYAN=Object.freeze(ei.fromCssColorString("#008B8B"));ei.DARKGOLDENROD=Object.freeze(ei.fromCssColorString("#B8860B"));ei.DARKGRAY=Object.freeze(ei.fromCssColorString("#A9A9A9"));ei.DARKGREEN=Object.freeze(ei.fromCssColorString("#006400"));ei.DARKGREY=ei.DARKGRAY;ei.DARKKHAKI=Object.freeze(ei.fromCssColorString("#BDB76B"));ei.DARKMAGENTA=Object.freeze(ei.fromCssColorString("#8B008B"));ei.DARKOLIVEGREEN=Object.freeze(ei.fromCssColorString("#556B2F"));ei.DARKORANGE=Object.freeze(ei.fromCssColorString("#FF8C00"));ei.DARKORCHID=Object.freeze(ei.fromCssColorString("#9932CC"));ei.DARKRED=Object.freeze(ei.fromCssColorString("#8B0000"));ei.DARKSALMON=Object.freeze(ei.fromCssColorString("#E9967A"));ei.DARKSEAGREEN=Object.freeze(ei.fromCssColorString("#8FBC8F"));ei.DARKSLATEBLUE=Object.freeze(ei.fromCssColorString("#483D8B"));ei.DARKSLATEGRAY=Object.freeze(ei.fromCssColorString("#2F4F4F"));ei.DARKSLATEGREY=ei.DARKSLATEGRAY;ei.DARKTURQUOISE=Object.freeze(ei.fromCssColorString("#00CED1"));ei.DARKVIOLET=Object.freeze(ei.fromCssColorString("#9400D3"));ei.DEEPPINK=Object.freeze(ei.fromCssColorString("#FF1493"));ei.DEEPSKYBLUE=Object.freeze(ei.fromCssColorString("#00BFFF"));ei.DIMGRAY=Object.freeze(ei.fromCssColorString("#696969"));ei.DIMGREY=ei.DIMGRAY;ei.DODGERBLUE=Object.freeze(ei.fromCssColorString("#1E90FF"));ei.FIREBRICK=Object.freeze(ei.fromCssColorString("#B22222"));ei.FLORALWHITE=Object.freeze(ei.fromCssColorString("#FFFAF0"));ei.FORESTGREEN=Object.freeze(ei.fromCssColorString("#228B22"));ei.FUCHSIA=Object.freeze(ei.fromCssColorString("#FF00FF"));ei.GAINSBORO=Object.freeze(ei.fromCssColorString("#DCDCDC"));ei.GHOSTWHITE=Object.freeze(ei.fromCssColorString("#F8F8FF"));ei.GOLD=Object.freeze(ei.fromCssColorString("#FFD700"));ei.GOLDENROD=Object.freeze(ei.fromCssColorString("#DAA520"));ei.GRAY=Object.freeze(ei.fromCssColorString("#808080"));ei.GREEN=Object.freeze(ei.fromCssColorString("#008000"));ei.GREENYELLOW=Object.freeze(ei.fromCssColorString("#ADFF2F"));ei.GREY=ei.GRAY;ei.HONEYDEW=Object.freeze(ei.fromCssColorString("#F0FFF0"));ei.HOTPINK=Object.freeze(ei.fromCssColorString("#FF69B4"));ei.INDIANRED=Object.freeze(ei.fromCssColorString("#CD5C5C"));ei.INDIGO=Object.freeze(ei.fromCssColorString("#4B0082"));ei.IVORY=Object.freeze(ei.fromCssColorString("#FFFFF0"));ei.KHAKI=Object.freeze(ei.fromCssColorString("#F0E68C"));ei.LAVENDER=Object.freeze(ei.fromCssColorString("#E6E6FA"));ei.LAVENDAR_BLUSH=Object.freeze(ei.fromCssColorString("#FFF0F5"));ei.LAWNGREEN=Object.freeze(ei.fromCssColorString("#7CFC00"));ei.LEMONCHIFFON=Object.freeze(ei.fromCssColorString("#FFFACD"));ei.LIGHTBLUE=Object.freeze(ei.fromCssColorString("#ADD8E6"));ei.LIGHTCORAL=Object.freeze(ei.fromCssColorString("#F08080"));ei.LIGHTCYAN=Object.freeze(ei.fromCssColorString("#E0FFFF"));ei.LIGHTGOLDENRODYELLOW=Object.freeze(ei.fromCssColorString("#FAFAD2"));ei.LIGHTGRAY=Object.freeze(ei.fromCssColorString("#D3D3D3"));ei.LIGHTGREEN=Object.freeze(ei.fromCssColorString("#90EE90"));ei.LIGHTGREY=ei.LIGHTGRAY;ei.LIGHTPINK=Object.freeze(ei.fromCssColorString("#FFB6C1"));ei.LIGHTSEAGREEN=Object.freeze(ei.fromCssColorString("#20B2AA"));ei.LIGHTSKYBLUE=Object.freeze(ei.fromCssColorString("#87CEFA"));ei.LIGHTSLATEGRAY=Object.freeze(ei.fromCssColorString("#778899"));ei.LIGHTSLATEGREY=ei.LIGHTSLATEGRAY;ei.LIGHTSTEELBLUE=Object.freeze(ei.fromCssColorString("#B0C4DE"));ei.LIGHTYELLOW=Object.freeze(ei.fromCssColorString("#FFFFE0"));ei.LIME=Object.freeze(ei.fromCssColorString("#00FF00"));ei.LIMEGREEN=Object.freeze(ei.fromCssColorString("#32CD32"));ei.LINEN=Object.freeze(ei.fromCssColorString("#FAF0E6"));ei.MAGENTA=Object.freeze(ei.fromCssColorString("#FF00FF"));ei.MAROON=Object.freeze(ei.fromCssColorString("#800000"));ei.MEDIUMAQUAMARINE=Object.freeze(ei.fromCssColorString("#66CDAA"));ei.MEDIUMBLUE=Object.freeze(ei.fromCssColorString("#0000CD"));ei.MEDIUMORCHID=Object.freeze(ei.fromCssColorString("#BA55D3"));ei.MEDIUMPURPLE=Object.freeze(ei.fromCssColorString("#9370DB"));ei.MEDIUMSEAGREEN=Object.freeze(ei.fromCssColorString("#3CB371"));ei.MEDIUMSLATEBLUE=Object.freeze(ei.fromCssColorString("#7B68EE"));ei.MEDIUMSPRINGGREEN=Object.freeze(ei.fromCssColorString("#00FA9A"));ei.MEDIUMTURQUOISE=Object.freeze(ei.fromCssColorString("#48D1CC"));ei.MEDIUMVIOLETRED=Object.freeze(ei.fromCssColorString("#C71585"));ei.MIDNIGHTBLUE=Object.freeze(ei.fromCssColorString("#191970"));ei.MINTCREAM=Object.freeze(ei.fromCssColorString("#F5FFFA"));ei.MISTYROSE=Object.freeze(ei.fromCssColorString("#FFE4E1"));ei.MOCCASIN=Object.freeze(ei.fromCssColorString("#FFE4B5"));ei.NAVAJOWHITE=Object.freeze(ei.fromCssColorString("#FFDEAD"));ei.NAVY=Object.freeze(ei.fromCssColorString("#000080"));ei.OLDLACE=Object.freeze(ei.fromCssColorString("#FDF5E6"));ei.OLIVE=Object.freeze(ei.fromCssColorString("#808000"));ei.OLIVEDRAB=Object.freeze(ei.fromCssColorString("#6B8E23"));ei.ORANGE=Object.freeze(ei.fromCssColorString("#FFA500"));ei.ORANGERED=Object.freeze(ei.fromCssColorString("#FF4500"));ei.ORCHID=Object.freeze(ei.fromCssColorString("#DA70D6"));ei.PALEGOLDENROD=Object.freeze(ei.fromCssColorString("#EEE8AA"));ei.PALEGREEN=Object.freeze(ei.fromCssColorString("#98FB98"));ei.PALETURQUOISE=Object.freeze(ei.fromCssColorString("#AFEEEE"));ei.PALEVIOLETRED=Object.freeze(ei.fromCssColorString("#DB7093"));ei.PAPAYAWHIP=Object.freeze(ei.fromCssColorString("#FFEFD5"));ei.PEACHPUFF=Object.freeze(ei.fromCssColorString("#FFDAB9"));ei.PERU=Object.freeze(ei.fromCssColorString("#CD853F"));ei.PINK=Object.freeze(ei.fromCssColorString("#FFC0CB"));ei.PLUM=Object.freeze(ei.fromCssColorString("#DDA0DD"));ei.POWDERBLUE=Object.freeze(ei.fromCssColorString("#B0E0E6"));ei.PURPLE=Object.freeze(ei.fromCssColorString("#800080"));ei.RED=Object.freeze(ei.fromCssColorString("#FF0000"));ei.ROSYBROWN=Object.freeze(ei.fromCssColorString("#BC8F8F"));ei.ROYALBLUE=Object.freeze(ei.fromCssColorString("#4169E1"));ei.SADDLEBROWN=Object.freeze(ei.fromCssColorString("#8B4513"));ei.SALMON=Object.freeze(ei.fromCssColorString("#FA8072"));ei.SANDYBROWN=Object.freeze(ei.fromCssColorString("#F4A460"));ei.SEAGREEN=Object.freeze(ei.fromCssColorString("#2E8B57"));ei.SEASHELL=Object.freeze(ei.fromCssColorString("#FFF5EE"));ei.SIENNA=Object.freeze(ei.fromCssColorString("#A0522D"));ei.SILVER=Object.freeze(ei.fromCssColorString("#C0C0C0"));ei.SKYBLUE=Object.freeze(ei.fromCssColorString("#87CEEB"));ei.SLATEBLUE=Object.freeze(ei.fromCssColorString("#6A5ACD"));ei.SLATEGRAY=Object.freeze(ei.fromCssColorString("#708090"));ei.SLATEGREY=ei.SLATEGRAY;ei.SNOW=Object.freeze(ei.fromCssColorString("#FFFAFA"));ei.SPRINGGREEN=Object.freeze(ei.fromCssColorString("#00FF7F"));ei.STEELBLUE=Object.freeze(ei.fromCssColorString("#4682B4"));ei.TAN=Object.freeze(ei.fromCssColorString("#D2B48C"));ei.TEAL=Object.freeze(ei.fromCssColorString("#008080"));ei.THISTLE=Object.freeze(ei.fromCssColorString("#D8BFD8"));ei.TOMATO=Object.freeze(ei.fromCssColorString("#FF6347"));ei.TURQUOISE=Object.freeze(ei.fromCssColorString("#40E0D0"));ei.VIOLET=Object.freeze(ei.fromCssColorString("#EE82EE"));ei.WHEAT=Object.freeze(ei.fromCssColorString("#F5DEB3"));ei.WHITE=Object.freeze(ei.fromCssColorString("#FFFFFF"));ei.WHITESMOKE=Object.freeze(ei.fromCssColorString("#F5F5F5"));ei.YELLOW=Object.freeze(ei.fromCssColorString("#FFFF00"));ei.YELLOWGREEN=Object.freeze(ei.fromCssColorString("#9ACD32"));ei.TRANSPARENT=Object.freeze(new ei(0,0,0,0));var Ve=ei;function c_(o,A,f){if(A)for(let m=0;m=1&&(C=1);let E=f[m].color;o.addColorStop(C,E)}else{let m="rgba(255,255,255,0)";o.addColorStop(0,m),o.addColorStop(1,m)}}function Tyt(o,A,f,m,C){let E=o.getContext("2d"),x=o.width,y=o.height,I=E.createLinearGradient(0,A.width,C.width,A.width);c_(I,C.gradient&&A.gradient,C.colorRamp),E.fillStyle=I,E.beginPath(),E.moveTo(0,0),E.lineTo(C.width,A.width),E.lineTo(0,A.width),E.fill();let v=E.createLinearGradient(C.width,0,C.width,A.width);c_(v,A.gradient&&C.gradient,A.colorRamp),E.fillStyle=v,E.beginPath(),E.moveTo(0,0),E.lineTo(C.width,A.width),E.lineTo(C.width,0),E.fill();let B=E.createLinearGradient(x/2,0,x/2,A.width);c_(B,A.gradient,A.colorRamp),E.fillStyle=B,E.fillRect(C.width,0,x-f.width-C.width,A.width);let Q=E.createLinearGradient(x-f.width,0,x-f.width,A.width);c_(Q,A.gradient&&f.gradient,A.colorRamp),E.fillStyle=Q,E.beginPath(),E.moveTo(x-f.width,0),E.lineTo(x-f.width,A.width),E.lineTo(x,0),E.fill();let T=E.createLinearGradient(x,A.width,x-f.width,A.width);c_(T,f.gradient&&A.gradient,f.colorRamp),E.fillStyle=T,E.beginPath(),E.moveTo(x,A.width),E.lineTo(x-f.width,A.width),E.lineTo(x,0),E.fill();let w=E.createLinearGradient(x,y/2,x-f.width,y/2);c_(w,f.gradient,f.colorRamp),E.fillStyle=w,E.fillRect(x-f.width,A.width,x,y-m.width-A.width);let S=E.createLinearGradient(x,y-m.width,x-f.width,y-m.width);c_(S,f.gradient&&m.gradient,f.colorRamp),E.fillStyle=S,E.beginPath(),E.moveTo(x,y),E.lineTo(x-f.width,y-m.width),E.lineTo(x,y-m.width),E.fill();let D=E.createLinearGradient(x-f.width,y,x-f.width,y-m.width);c_(D,m.gradient&&f.gradient,m.colorRamp),E.fillStyle=D,E.beginPath(),E.moveTo(x,y),E.lineTo(x-f.width,y),E.lineTo(x-f.width,y-m.width),E.fill();let R=E.createLinearGradient(x/2,y,x/2,y-m.width);c_(R,m.gradient,m.colorRamp),E.fillStyle=R,E.fillRect(C.width,y-m.width,x-f.width-C.width,y);let P=E.createLinearGradient(C.width,y,C.width,y-m.width);c_(P,m.gradient&&C.gradient,m.colorRamp),E.fillStyle=P,E.beginPath(),E.moveTo(0,y),E.lineTo(C.width,y),E.lineTo(C.width,y-m.width),E.fill();let M=E.createLinearGradient(0,y-m.width,C.width,y-m.width);c_(M,C.gradient&&m.gradient,C.colorRamp),E.fillStyle=M,E.beginPath(),E.moveTo(0,y),E.lineTo(0,y-m.width),E.lineTo(C.width,y-m.width),E.fill();let L=E.createLinearGradient(0,y/2,C.width,y/2);c_(L,C.gradient,C.colorRamp),E.fillStyle=L,E.fillRect(0,A.width,C.width,y-A.width-m.width),E.fillStyle="rgba(255,255,255,1)",E.fillRect(C.width,A.width,x-f.width-C.width,y-m.width-A.width)}function Myt(o,A,f,m){let C=document.createElement("canvas");return C.width=256,C.height=256,Tyt(C,o,A,f,m),C}function tG(o,A,f,m,C,E){let x=Myt(f,m,C,E);A._blendCanvas=x,A._blendCanvasDirty=!0,A._blendTextureWidth=x.width,A._blendTextureHeight=x.height}function Mz(){this._listeners=[],this._scopes=[],this._toRemove=[],this._insideRaiseEvent=!1}Object.defineProperties(Mz.prototype,{numberOfListeners:{get:function(){return this._listeners.length-this._toRemove.length}}});Mz.prototype.addEventListener=function(o,A){this._listeners.push(o),this._scopes.push(A);let f=this;return function(){f.removeEventListener(o,A)}};Mz.prototype.removeEventListener=function(o,A){let f=this._listeners,m=this._scopes,C=-1;for(let E=0;E0){for(C.sort(Pyt),o=0;o"u")return o;A=oe(f.baseURI,f.location.href)}let m=new Uyt.default(o);return m.scheme()!==""?m.toString():m.absoluteTo(A).toString()};var Pz=H0e,Gyt=Dc(av(),1);function Hyt(o,A){let f="",m=o.lastIndexOf("/");return m!==-1&&(f=o.substring(0,m+1)),A&&(o=new Gyt.default(o),o.query().length!==0&&(f+=`?${o.query()}`),o.fragment().length!==0&&(f+=`#${o.fragment()}`)),f}var V0e=Hyt,Vyt=Dc(av(),1);function zyt(o){let A=new Vyt.default(o);A.normalize();let f=A.path(),m=f.lastIndexOf("/");return m!==-1&&(f=f.substr(m+1)),m=f.lastIndexOf("."),m===-1?f="":f=f.substr(m+1),f}var Cte=zyt,XRe={};function Yyt(o,A,f){O(A)||(A=o.width),O(f)||(f=o.height);let m=XRe[A];O(m)||(m={},XRe[A]=m);let C=m[f];if(!O(C)){let E=document.createElement("canvas");E.width=A,E.height=f,C=E.getContext("2d",{willReadFrequently:!0}),C.globalCompositeOperation="copy",m[f]=C}return C.drawImage(o,0,0,A,f),C.getImageData(0,0,A,f).data}var mN=Yyt,Jyt=/^blob:/i;function Kyt(o){return Jyt.test(o)}var Ete=Kyt,Y1;function Wyt(o){O(Y1)||(Y1=document.createElement("a")),Y1.href=window.location.href;let A=Y1.host,f=Y1.protocol;return Y1.href=o,Y1.href=Y1.href,f!==Y1.protocol||A!==Y1.host}var xte=Wyt,jyt=/^data:/i;function qyt(o){return jyt.test(o)}var Rz=qyt;function Xyt(o){let A=document.createElement("script");return A.async=!0,A.src=o,new Promise((f,m)=>{window.crossOriginIsolated&&A.setAttribute("crossorigin","anonymous");let C=document.getElementsByTagName("head")[0];A.onload=function(){A.onload=void 0,C.removeChild(A),f()},A.onerror=function(E){m(E)},C.appendChild(A)})}var yte=Xyt;function Zyt(o){let A="";for(let f in o)if(o.hasOwnProperty(f)){let m=o[f],C=`${encodeURIComponent(f)}=`;if(Array.isArray(m))for(let E=0,x=m.length;E0){let x=C.substring(0,E),y=C.substring(E+2);A[x]=y}}return A}var z0e=iIt;function AVe(o,A,f){this.statusCode=o,this.response=A,this.responseHeaders=f,typeof this.responseHeaders=="string"&&(this.responseHeaders=z0e(this.responseHeaders))}AVe.prototype.toString=function(){let o="Request has failed.";return O(this.statusCode)&&(o+=` Status Code: ${this.statusCode}`),o};var CN=AVe,Gde=Dc(av(),1);function n3(o){this._comparator=o.comparator,this._array=[],this._length=0,this._maximumLength=void 0}Object.defineProperties(n3.prototype,{length:{get:function(){return this._length}},internalArray:{get:function(){return this._array}},maximumLength:{get:function(){return this._maximumLength},set:function(o){let A=this._length;if(o=0;--A)this.heapify(A)};n3.prototype.insert=function(o){let A=this._array,f=this._comparator,m=this._maximumLength,C=this._length++;for(Cm&&(E=A[m],this._length=m),E};n3.prototype.pop=function(o){if(o=oe(o,0),this._length===0)return;let A=this._array,f=A[o];return Y0e(A,o,--this._length),this.heapify(o),A[this._length]=void 0,f};var J0e=n3;function rIt(o,A){return o.priority-A.priority}var tA={numberOfAttemptedRequests:0,numberOfActiveRequests:0,numberOfCancelledRequests:0,numberOfCancelledActiveRequests:0,numberOfFailedRequests:0,numberOfActiveRequestsEver:0,lastNumberOfActiveRequests:0},p5=20,rC=new J0e({comparator:rIt});rC.maximumLength=p5;rC.reserve(p5);var nb=[],ED={},nIt=typeof document<"u"?new Gde.default(document.location.href):new Gde.default,_te=new ur;function Eh(){}Eh.maximumRequests=50;Eh.maximumRequestsPerServer=6;Eh.requestsByServer={"api.cesium.com:443":18,"assets.ion.cesium.com:443":18,"ibasemaps-api.arcgis.com:443":18,"tile.googleapis.com:443":18};Eh.throttleRequests=!0;Eh.debugShowStatistics=!1;Eh.requestCompletedEvent=_te;Object.defineProperties(Eh,{statistics:{get:function(){return tA}},priorityHeapLength:{get:function(){return p5},set:function(o){if(oo;){let A=rC.pop();tN(A)}p5=o,rC.maximumLength=o,rC.reserve(o)}}});function cVe(o){O(o.priorityFunction)&&(o.priority=o.priorityFunction())}Eh.serverHasOpenSlots=function(o,A){A=oe(A,1);let f=oe(Eh.requestsByServer[o],Eh.maximumRequestsPerServer);return ED[o]+A<=f};Eh.heapHasOpenSlots=function(o){return rC.length+o<=p5};function hVe(o){return o.state===Ju.UNISSUED&&(o.state=Ju.ISSUED,o.deferred=Mc()),o.deferred.promise}function oIt(o){return function(A){if(o.state===Ju.CANCELLED)return;let f=o.deferred;--tA.numberOfActiveRequests,--ED[o.serverKey],_te.raiseEvent(),o.state=Ju.RECEIVED,o.deferred=void 0,f.resolve(A)}}function aIt(o){return function(A){o.state!==Ju.CANCELLED&&(++tA.numberOfFailedRequests,--tA.numberOfActiveRequests,--ED[o.serverKey],_te.raiseEvent(A),o.state=Ju.FAILED,o.deferred.reject(A))}}function dVe(o){let A=hVe(o);return o.state=Ju.ACTIVE,nb.push(o),++tA.numberOfActiveRequests,++tA.numberOfActiveRequestsEver,++ED[o.serverKey],o.requestFunction().then(oIt(o)).catch(aIt(o)),A}function tN(o){let A=o.state===Ju.ACTIVE;if(o.state=Ju.CANCELLED,++tA.numberOfCancelledRequests,O(o.deferred)){let f=o.deferred;o.deferred=void 0,f.reject()}A&&(--tA.numberOfActiveRequests,--ED[o.serverKey],++tA.numberOfCancelledActiveRequests),O(o.cancelFunction)&&o.cancelFunction()}Eh.update=function(){let o,A,f=0,m=nb.length;for(o=0;o0&&(nb[o-f]=A)}nb.length-=f;let C=rC.internalArray,E=rC.length;for(o=0;o0;){if(A=rC.pop(),A.cancelled){tN(A);continue}if(A.throttleByServer&&!Eh.serverHasOpenSlots(A.serverKey)){tN(A);continue}dVe(A),++y}sIt()};Eh.getServerKey=function(o){let A=new Gde.default(o);A.scheme()===""&&(A=A.absoluteTo(nIt),A.normalize());let f=A.authority();/:/.test(f)||(f=`${f}:${A.scheme()==="https"?"443":"80"}`);let m=ED[f];return O(m)||(ED[f]=0),f};Eh.request=function(o){if(Rz(o.url)||Ete(o.url))return _te.raiseEvent(),o.state=Ju.RECEIVED,o.requestFunction();if(++tA.numberOfAttemptedRequests,O(o.serverKey)||(o.serverKey=Eh.getServerKey(o.url)),Eh.throttleRequests&&o.throttleByServer&&!Eh.serverHasOpenSlots(o.serverKey))return;if(!Eh.throttleRequests||!o.throttle)return dVe(o);if(nb.length>=Eh.maximumRequests)return;cVe(o);let A=rC.insert(o);if(O(A)){if(A===o)return;tN(A)}return hVe(o)};function sIt(){Eh.debugShowStatistics&&(tA.numberOfActiveRequests===0&&tA.lastNumberOfActiveRequests>0&&(tA.numberOfAttemptedRequests>0&&(console.log(`Number of attempted requests: ${tA.numberOfAttemptedRequests}`),tA.numberOfAttemptedRequests=0),tA.numberOfCancelledRequests>0&&(console.log(`Number of cancelled requests: ${tA.numberOfCancelledRequests}`),tA.numberOfCancelledRequests=0),tA.numberOfCancelledActiveRequests>0&&(console.log(`Number of cancelled active requests: ${tA.numberOfCancelledActiveRequests}`),tA.numberOfCancelledActiveRequests=0),tA.numberOfFailedRequests>0&&(console.log(`Number of failed requests: ${tA.numberOfFailedRequests}`),tA.numberOfFailedRequests=0)),tA.lastNumberOfActiveRequests=tA.numberOfActiveRequests)}Eh.clearForSpecs=function(){for(;rC.length>0;){let A=rC.pop();tN(A)}let o=nb.length;for(let A=0;A0}},credits:{get:function(){return this._credits}}});zn.prototype.toString=function(){return this.getUrlComponent(!0,!0)};zn.prototype.parseUrl=function(o,A,f,m){let C=new Nyt.default(o),E=AIt(C.query());this._queryParameters=A?i$(E,this.queryParameters,f):E,C.search(""),C.fragment(""),O(m)&&C.scheme()===""&&(C=C.absoluteTo(Pz(m))),this._url=C.toString()};function AIt(o){return o.length===0?{}:o.indexOf("=")===-1?{[o]:void 0}:fb(o)}function i$(o,A,f){if(!f)return So(o,A);let m=Sn(o,!0);for(let C in A)if(A.hasOwnProperty(C)){let E=m[C],x=A[C];O(E)?(Array.isArray(E)||(E=m[C]=[E]),m[C]=E.concat(x)):m[C]=Array.isArray(x)?x.slice():x}return m}zn.prototype.getUrlComponent=function(o,A){if(this.isDataUri)return this._url;let f=this._url;o&&(f=`${f}${cIt(this.queryParameters)}`),f=f.replace(/%7B/g,"{").replace(/%7D/g,"}");let m=this._templateValues;return Object.keys(m).length>0&&(f=f.replace(/{(.*?)}/g,function(C,E){let x=m[E];return O(x)?encodeURIComponent(x):C})),A&&O(this.proxy)&&(f=this.proxy.getURL(f)),f};function cIt(o){let A=Object.keys(o);return A.length===0?"":A.length===1&&!O(o[A[0]])?`?${A[0]}`:`?${Ite(o)}`}zn.prototype.setQueryParameters=function(o,A){A?this._queryParameters=i$(this._queryParameters,o,!1):this._queryParameters=i$(o,this._queryParameters,!1)};zn.prototype.appendQueryParameters=function(o){this._queryParameters=i$(o,this._queryParameters,!0)};zn.prototype.setTemplateValues=function(o,A){A?this._templateValues=So(this._templateValues,o):this._templateValues=So(o,this._templateValues)};zn.prototype.getDerivedResource=function(o){let A=this.clone();if(A._retryCount=0,O(o.url)){let f=oe(o.preserveQueryParameters,!1);A.parseUrl(o.url,!0,f,this._url)}return O(o.queryParameters)&&(A._queryParameters=So(o.queryParameters,A.queryParameters)),O(o.templateValues)&&(A._templateValues=So(o.templateValues,A.templateValues)),O(o.headers)&&(A.headers=So(o.headers,A.headers)),O(o.proxy)&&(A.proxy=o.proxy),O(o.request)&&(A.request=o.request),O(o.retryCallback)&&(A.retryCallback=o.retryCallback),O(o.retryAttempts)&&(A.retryAttempts=o.retryAttempts),A};zn.prototype.retryOnError=function(o){let A=this.retryCallback;if(typeof A!="function"||this._retryCount>=this.retryAttempts)return Promise.resolve(!1);let f=this;return Promise.resolve(A(this,o)).then(function(m){return++f._retryCount,m})};zn.prototype.clone=function(o){return O(o)?(o._url=this._url,o._queryParameters=Sn(this._queryParameters),o._templateValues=Sn(this._templateValues),o.headers=Sn(this.headers),o.proxy=this.proxy,o.retryCallback=this.retryCallback,o.retryAttempts=this.retryAttempts,o._retryCount=0,o.request=this.request.clone(),o):new zn({url:this._url,queryParameters:this.queryParameters,templateValues:this.templateValues,headers:this.headers,proxy:this.proxy,retryCallback:this.retryCallback,retryAttempts:this.retryAttempts,request:this.request.clone(),parseUrl:!1,credits:O(this.credits)?this.credits.slice():void 0})};zn.prototype.getBaseUri=function(o){return V0e(this.getUrlComponent(o),o)};zn.prototype.appendForwardSlash=function(){this._url=G0e(this._url)};zn.prototype.fetchArrayBuffer=function(){return this.fetch({responseType:"arraybuffer"})};zn.fetchArrayBuffer=function(o){return new zn(o).fetchArrayBuffer()};zn.prototype.fetchBlob=function(){return this.fetch({responseType:"blob"})};zn.fetchBlob=function(o){return new zn(o).fetchBlob()};zn.prototype.fetchImage=function(o){o=oe(o,oe.EMPTY_OBJECT);let A=oe(o.preferImageBitmap,!1),f=oe(o.preferBlob,!1),m=oe(o.flipY,!1),C=oe(o.skipColorSpaceConversion,!1);if(K0e(this.request),!fVe||this.isDataUri||this.isBlobUri||!this.hasHeaders&&!f)return Hde({resource:this,flipY:m,skipColorSpaceConversion:C,preferImageBitmap:A});let E=this.fetchBlob();if(!O(E))return;let x,y,I,v;return zn.supportsImageBitmapOptions().then(function(B){return x=B,y=x&&A,E}).then(function(B){if(!O(B))return;if(v=B,y)return zn.createImageBitmapFromBlob(B,{flipY:m,premultiplyAlpha:!1,skipColorSpaceConversion:C});let Q=window.URL.createObjectURL(B);return I=new zn({url:Q}),Hde({resource:I,flipY:m,skipColorSpaceConversion:C,preferImageBitmap:!1})}).then(function(B){if(O(B))return B.blob=v,y||window.URL.revokeObjectURL(I.url),B}).catch(function(B){return O(I)&&window.URL.revokeObjectURL(I.url),B.blob=v,Promise.reject(B)})};function Hde(o){let A=o.resource,f=o.flipY,m=o.skipColorSpaceConversion,C=o.preferImageBitmap,E=A.request;E.url=A.url,E.requestFunction=function(){let y=!1;!A.isDataUri&&!A.isBlobUri&&(y=A.isCrossOriginUrl);let I=Mc();return E.url.indexOf("nullvalue=")>-1?zn._Implementations.createImageSGS(E.url,y,I):zn._Implementations.createImage(E,y,I,f,m,C),I.promise};let x=W_.request(E);if(O(x))return x.catch(function(y){return E.state!==Ju.FAILED?Promise.reject(y):A.retryOnError(y).then(function(I){return I?(E.state=Ju.UNISSUED,E.deferred=void 0,Hde({resource:A,flipY:f,skipColorSpaceConversion:m,preferImageBitmap:C})):Promise.reject(y)})})}zn.fetchImage=function(o){return new zn(o).fetchImage({flipY:o.flipY,skipColorSpaceConversion:o.skipColorSpaceConversion,preferBlob:o.preferBlob,preferImageBitmap:o.preferImageBitmap})};zn.prototype.fetchText=function(){return this.fetch({responseType:"text"})};zn.fetchText=function(o){return new zn(o).fetchText()};zn.prototype.fetchJson=function(){let o=this.fetch({responseType:"text",headers:{Accept:"application/json,*/*;q=0.01"}});if(O(o))return o.then(function(A){if(O(A))return JSON.parse(A)})};zn.fetchJson=function(o){return new zn(o).fetchJson()};zn.prototype.fetchXML=function(){return this.fetch({responseType:"document",overrideMimeType:"text/xml"})};zn.fetchXML=function(o){return new zn(o).fetchXML()};zn.prototype.fetchJsonp=function(o){o=oe(o,"callback"),K0e(this.request);let A;do A=`loadJsonp${Be.nextRandomNumber().toString().substring(2,8)}`;while(O(window[A]));return gVe(this,o,A)};function gVe(o,A,f){let m={};m[A]=f,o.setQueryParameters(m);let C=o.request,E=o.url;C.url=E,C.requestFunction=function(){let y=Mc();return window[f]=function(I){y.resolve(I);try{delete window[f]}catch{window[f]=void 0}},zn._Implementations.loadAndExecuteScript(E,f,y),y.promise};let x=W_.request(C);if(O(x))return x.catch(function(y){return C.state!==Ju.FAILED?Promise.reject(y):o.retryOnError(y).then(function(I){return I?(C.state=Ju.UNISSUED,C.deferred=void 0,gVe(o,A,f)):Promise.reject(y)})})}zn.fetchJsonp=function(o){return new zn(o).fetchJsonp(o.callbackParameterName)};zn.prototype._makeRequest=function(o){let A=this;K0e(A.request);let f=A.request,m=A.url;f.url=m,f.requestFunction=function(){let E=o.responseType,x=So(o.headers,A.headers),y=o.overrideMimeType,I=o.method,v=o.data,B=Mc(),Q=zn._Implementations.loadWithXhr(m,E,I,v,x,B,y);return O(Q)&&O(Q.abort)&&(f.cancelFunction=function(){Q.abort()}),B.promise};let C=W_.request(f);if(O(C))return C.then(function(E){return f.cancelFunction=void 0,E}).catch(function(E){return f.cancelFunction=void 0,f.state!==Ju.FAILED?Promise.reject(E):A.retryOnError(E).then(function(x){return x?(f.state=Ju.UNISSUED,f.deferred=void 0,A.fetch(o)):Promise.reject(E)})})};function K0e(o){if(o.state===Ju.ISSUED||o.state===Ju.ACTIVE)throw new ki("The Resource is already being fetched.");o.state=Ju.UNISSUED,o.deferred=void 0}var hIt=/^data:(.*?)(;base64)?,(.*)$/;function aZ(o,A){let f=decodeURIComponent(A);return o?atob(f):f}function ZRe(o,A){let f=aZ(o,A),m=new ArrayBuffer(f.length),C=new Uint8Array(m);for(let E=0;E(y=v.parse(o),I=B,y.protocol==="https:"?import("https"):import("http"))).then(v=>{let B={protocol:y.protocol,hostname:y.hostname,port:y.port,path:y.path,query:y.query,method:f,headers:C};v.request(B).on("response",function(Q){if(Q.statusCode<200||Q.statusCode>=300){E.reject(new CN(Q.statusCode,Q,Q.headers));return}let T=[];Q.on("data",function(w){T.push(w)}),Q.on("end",function(){let w=Buffer.concat(T);Q.headers["content-encoding"]==="gzip"?I.gunzip(w,function(S,D){S?E.reject(new ki("Error decompressing response.")):E.resolve($Re(D,A))}):E.resolve($Re(w,A))})}).on("error",function(Q){E.reject(new CN)}).end()})}var gIt=typeof XMLHttpRequest>"u";zn._Implementations.loadWithXhr=function(o,A,f,m,C,E,x){let y=hIt.exec(o);if(y!==null){E.resolve(dIt(y,A));return}if(gIt){fIt(o,A,f,m,C,E,x);return}let I=new XMLHttpRequest;if(vte.contains(o)&&(I.withCredentials=!0),I.open(f,o,!0),O(x)&&O(I.overrideMimeType)&&I.overrideMimeType(x),O(C))for(let B in C)C.hasOwnProperty(B)&&I.setRequestHeader(B,C[B]);O(A)&&(I.responseType=A);let v=!1;return typeof o=="string"&&(v=o.indexOf("file://")===0||typeof window<"u"&&window.location.origin==="file://"),I.onload=function(){if((I.status<200||I.status>=300)&&!(v&&I.status===0)){E.reject(new CN(I.status,I.response,I.getAllResponseHeaders()));return}let B=I.response,Q=I.responseType;if(f==="HEAD"||f==="OPTIONS"){let T=I.getAllResponseHeaders().trim().split(/[\r\n]+/),w={};T.forEach(function(S){let D=S.split(": "),R=D.shift();w[R]=D.join(": ")}),E.resolve(w);return}if(I.status===204)E.resolve();else if(O(B)&&(!O(A)||Q===A))E.resolve(B);else if(A==="json"&&typeof B=="string")try{E.resolve(JSON.parse(B))}catch(T){E.reject(T)}else(Q===""||Q==="document")&&O(I.responseXML)&&I.responseXML.hasChildNodes()?E.resolve(I.responseXML):(Q===""||Q==="text")&&O(I.responseText)?E.resolve(I.responseText):E.reject(new ki("Invalid XMLHttpRequest response type."))},I.onerror=function(B){E.reject(new CN)},o.includes("gisserver")&&o.includes("tmsserver")&&o.includes(".json")||I.send(m),I};zn._Implementations.loadAndExecuteScript=function(o,A,f){return yte(o,A).catch(function(m){f.reject(m)})};zn._DefaultImplementations={};zn._DefaultImplementations.createImage=zn._Implementations.createImage;zn._DefaultImplementations.loadWithXhr=zn._Implementations.loadWithXhr;zn._DefaultImplementations.loadAndExecuteScript=zn._Implementations.loadAndExecuteScript;zn.DEFAULT=Object.freeze(new zn({url:typeof document>"u"?"":document.location.href.split("?")[0]}));var Cr=zn;function j5(o,A,f,m,C){this._format=o,this._datatype=A,this._width=f,this._height=m,this._buffer=C}Object.defineProperties(j5.prototype,{internalFormat:{get:function(){return this._format}},pixelDatatype:{get:function(){return this._datatype}},width:{get:function(){return this._width}},height:{get:function(){return this._height}},bufferView:{get:function(){return this._buffer}}});j5.clone=function(o){if(O(o))return new j5(o._format,o._datatype,o._width,o._height,o._buffer)};j5.prototype.clone=function(){return j5.clone(this)};var Fz=j5,pIt=Dc(av(),1),pVe=/((?:.*\/)|^)WebSDK\.js(?:\?|\#|$)/;function mIt(){let o=document.getElementsByTagName("script");for(let A=0,f=o.length;A"u"?o:(O(oU)||(oU=document.createElement("a")),oU.href=o,oU.href=oU.href,oU.href)}var kF;function CVe(){if(O(kF))return kF;let o;return typeof GEOWORLD_BASE_URL<"u"?o=GEOWORLD_BASE_URL:typeof define=="object"&&O(define.amd)&&!define.amd.toUrlUndefined&&O(YF.toUrl)?o=Pz("..",o3("Core/buildModuleUrl.js")):o=mIt(),kF=new Cr({url:mVe(o)}),kF.appendForwardSlash(),kF}function CIt(o){return mVe(YF.toUrl(`../${o}`))}function EVe(o){return CVe().getDerivedResource({url:o}).url}var kj;function o3(o){return O(kj)||(typeof define=="object"&&O(define.amd)&&!define.amd.toUrlUndefined&&O(YF.toUrl)?kj=CIt:kj=EVe),kj(o)}o3._cesiumScriptRegex=pVe;o3._buildModuleUrlFromBaseUrl=EVe;o3._clearBaseResource=function(){kF=void 0};o3.setBaseUrl=function(o){kF=Cr.DEFAULT.getDerivedResource({url:o})};o3.getCesiumBaseUrl=CVe;var ja=o3;function xVe(){if(!O(qp._canTransferArrayBuffer)){let o=new Worker(IVe("Workers/transferTypedArrayTest.js"));o.postMessage=oe(o.webkitPostMessage,o.postMessage);let A=99,f=new Int8Array([A]);try{o.postMessage({array:f},[f.buffer])}catch{return qp._canTransferArrayBuffer=!1,qp._canTransferArrayBuffer}let m=Mc();o.onmessage=function(C){let E=C.data.array,x=O(E)&&E[0]===A;m.resolve(x),o.terminate(),qp._canTransferArrayBuffer=x},qp._canTransferArrayBuffer=m.promise}return qp._canTransferArrayBuffer}var Vde=new ur;function yVe(o,A){--o._activeTasks;let f=A.id;if(!O(f))return;let m=o._deferreds,C=m[f];if(O(A.error)){let E=A.error;E.name==="RuntimeError"?(E=new ki(A.error.message),E.stack=A.error.stack):E.name==="DeveloperError"&&(E=new Ai(A.error.message),E.stack=A.error.stack),Vde.raiseEvent(E),C.reject(E)}else Vde.raiseEvent(),C.resolve(A.result);delete m[f]}function IVe(o){let A=ja(o);if(xte(A)){let f=`importScripts("${A}");`,m;try{m=new Blob([f],{type:"application/javascript"})}catch{let C=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,E=new C;E.append(f),m=E.getBlob("application/javascript")}A=(window.URL||window.webkitURL).createObjectURL(m)}return A}var wue;function EIt(){return O(wue)||(wue=IVe("Workers/cesiumWorkerBootstrapper.js")),wue}function _Ve(o){let A=new Worker(EIt());A.postMessage=oe(A.webkitPostMessage,A.postMessage);let f={loaderConfig:{paths:{Workers:ja("Workers")},baseUrl:ja.getCesiumBaseUrl().url},workerModule:o._workerPath};return A.postMessage(f),A.onmessage=function(m){yVe(o,m.data)},A}function xIt(o,A){let f={modulePath:void 0,wasmBinaryFile:void 0,wasmBinary:void 0};if(!wo.supportsWebAssembly()){if(!O(A.fallbackModulePath))throw new ki(`This browser does not support Web Assembly, and no backup module was provided for ${o._workerPath}`);return f.modulePath=ja(A.fallbackModulePath),Promise.resolve(f)}return f.modulePath=ja(A.modulePath),f.wasmBinaryFile=ja(A.wasmBinaryFile),Cr.fetchArrayBuffer({url:f.wasmBinaryFile}).then(function(m){return f.wasmBinary=m,f})}function qp(o,A){let f=new pIt.default(o);this._workerPath=f.scheme().length!==0&&f.fragment().length===0?o:qp._workerModulePrefix+o,this._maximumActiveTasks=oe(A,Number.POSITIVE_INFINITY),this._activeTasks=0,this._deferreds={},this._nextID=0}var yIt=[];qp.prototype.scheduleTask=function(o,A){if(O(this._worker)||(this._worker=_Ve(this)),this._activeTasks>=this._maximumActiveTasks)return;++this._activeTasks;let f=this;return Promise.resolve(xVe()).then(function(m){O(A)?m||(A.length=0):A=yIt;let C=f._nextID++,E=Mc();return f._deferreds[C]=E,f._worker.postMessage({id:C,parameters:o,canTransferArrayBuffer:m},A),E.promise})};qp.prototype.initWebAssemblyModule=function(o){O(this._worker)||(this._worker=_Ve(this));let A=Mc(),f=this,m=this._worker;return xIt(this,o).then(function(C){return Promise.resolve(xVe()).then(function(E){let x,y=C.wasmBinary;O(y)&&E&&(x=[y]),m.onmessage=function(I){m.onmessage=function(v){yVe(f,v.data)},A.resolve(I.data)},m.postMessage({webAssemblyConfig:C},x)})}),A.promise};qp.prototype.isDestroyed=function(){return!1};qp.prototype.destroy=function(){return O(this._worker)&&this._worker.terminate(),Ar(this)};qp.taskCompletedEvent=Vde;qp._defaultWorkerModulePrefix="Workers/";qp._workerModulePrefix=qp._defaultWorkerModulePrefix;qp._canTransferArrayBuffer=void 0;var hd=qp;function uD(){}uD._transcodeTaskProcessor=new hd("transcodeKTX2",Number.POSITIVE_INFINITY);uD._readyPromise=void 0;function IIt(){let o=uD._transcodeTaskProcessor.initWebAssemblyModule({modulePath:"ThirdParty/Workers/basis_transcoder.js",wasmBinaryFile:"ThirdParty/basis_transcoder.wasm"}).then(function(){return uD._transcodeTaskProcessor});uD._readyPromise=o}uD.transcode=function(o,A){return O(uD._readyPromise)||IIt(),uD._readyPromise.then(function(f){let m;if(o instanceof ArrayBuffer){let C=new Uint8Array(o);return m={supportedTargetFormats:A,ktx2Buffer:C},f.scheduleTask(m,[o])}return m={supportedTargetFormats:A,ktx2Buffer:o},f.scheduleTask(m,[o.buffer])}).then(function(f){let m=f.length,C=Object.keys(f[0]),E=C.length,x;for(x=0;xm&&(C=v,m=B)}let E=1,x=0,y=zde[C],I=Yde[C];if(Math.abs(o[ln.getElementIndex(I,y)])>f){let v=o[ln.getElementIndex(I,I)],B=o[ln.getElementIndex(y,y)],Q=o[ln.getElementIndex(I,y)],T=(v-B)/2/Q,w;T<0?w=-1/(-T+Math.sqrt(1+T*T)):w=1/(T+Math.sqrt(1+T*T)),E=1/Math.sqrt(1+w*w),x=w*E}return A=ln.clone(ln.IDENTITY,A),A[ln.getElementIndex(y,y)]=A[ln.getElementIndex(I,I)]=E,A[ln.getElementIndex(I,y)]=x,A[ln.getElementIndex(y,I)]=-x,A}var Uj=new ln,oLe=new ln;ln.computeEigenDecomposition=function(o,A){let f=Be.EPSILON20,m=10,C=0,E=0;O(A)||(A={});let x=A.unitary=ln.clone(ln.IDENTITY,A.unitary),y=A.diagonal=ln.clone(o,A.diagonal),I=f*FIt(y);for(;EI;)kIt(y,Uj),ln.transpose(Uj,oLe),ln.multiply(y,Uj,y),ln.multiply(oLe,y,y),ln.multiply(x,Uj,x),++C>2&&(++E,C=0);return A};ln.abs=function(o,A){return A[0]=Math.abs(o[0]),A[1]=Math.abs(o[1]),A[2]=Math.abs(o[2]),A[3]=Math.abs(o[3]),A[4]=Math.abs(o[4]),A[5]=Math.abs(o[5]),A[6]=Math.abs(o[6]),A[7]=Math.abs(o[7]),A[8]=Math.abs(o[8]),A};ln.determinant=function(o){let A=o[0],f=o[3],m=o[6],C=o[1],E=o[4],x=o[7],y=o[2],I=o[5],v=o[8];return A*(E*v-I*x)+C*(I*m-f*v)+y*(f*x-E*m)};ln.inverse=function(o,A){let f=o[0],m=o[1],C=o[2],E=o[3],x=o[4],y=o[5],I=o[6],v=o[7],B=o[8],Q=ln.determinant(o);A[0]=x*B-v*y,A[1]=v*C-m*B,A[2]=m*y-x*C,A[3]=I*y-E*B,A[4]=f*B-I*C,A[5]=E*C-f*y,A[6]=E*v-I*x,A[7]=I*m-f*v,A[8]=f*x-E*m;let T=1/Q;return ln.multiplyByScalar(A,T,A)};var OIt=new ln;ln.inverseTranspose=function(o,A){return ln.inverse(ln.transpose(o,OIt),A)};ln.equals=function(o,A){return o===A||O(o)&&O(A)&&o[0]===A[0]&&o[1]===A[1]&&o[2]===A[2]&&o[3]===A[3]&&o[4]===A[4]&&o[5]===A[5]&&o[6]===A[6]&&o[7]===A[7]&&o[8]===A[8]};ln.equalsEpsilon=function(o,A,f){return f=oe(f,0),o===A||O(o)&&O(A)&&Math.abs(o[0]-A[0])<=f&&Math.abs(o[1]-A[1])<=f&&Math.abs(o[2]-A[2])<=f&&Math.abs(o[3]-A[3])<=f&&Math.abs(o[4]-A[4])<=f&&Math.abs(o[5]-A[5])<=f&&Math.abs(o[6]-A[6])<=f&&Math.abs(o[7]-A[7])<=f&&Math.abs(o[8]-A[8])<=f};ln.IDENTITY=Object.freeze(new ln(1,0,0,0,1,0,0,0,1));ln.ZERO=Object.freeze(new ln(0,0,0,0,0,0,0,0,0));ln.COLUMN0ROW0=0;ln.COLUMN0ROW1=1;ln.COLUMN0ROW2=2;ln.COLUMN1ROW0=3;ln.COLUMN1ROW1=4;ln.COLUMN1ROW2=5;ln.COLUMN2ROW0=6;ln.COLUMN2ROW1=7;ln.COLUMN2ROW2=8;Object.defineProperties(ln.prototype,{length:{get:function(){return ln.packedLength}}});ln.prototype.clone=function(o){return ln.clone(this,o)};ln.prototype.equals=function(o){return ln.equals(this,o)};ln.equalsArray=function(o,A,f){return o[0]===A[f]&&o[1]===A[f+1]&&o[2]===A[f+2]&&o[3]===A[f+3]&&o[4]===A[f+4]&&o[5]===A[f+5]&&o[6]===A[f+6]&&o[7]===A[f+7]&&o[8]===A[f+8]};ln.prototype.equalsEpsilon=function(o,A){return ln.equalsEpsilon(this,o,A)};ln.prototype.toString=function(){return`(${this[0]}, ${this[3]}, ${this[6]}) (${this[1]}, ${this[4]}, ${this[7]}) (${this[2]}, ${this[5]}, ${this[8]})`};var Gt=ln;function Ln(o,A,f,m){this.x=oe(o,0),this.y=oe(A,0),this.z=oe(f,0),this.w=oe(m,0)}Ln.fromElements=function(o,A,f,m,C){return O(C)?(C.x=o,C.y=A,C.z=f,C.w=m,C):new Ln(o,A,f,m)};Ln.fromColor=function(o,A){return O(A)?(A.x=o.red,A.y=o.green,A.z=o.blue,A.w=o.alpha,A):new Ln(o.red,o.green,o.blue,o.alpha)};Ln.clone=function(o,A){if(O(o))return O(A)?(A.x=o.x,A.y=o.y,A.z=o.z,A.w=o.w,A):new Ln(o.x,o.y,o.z,o.w)};Ln.packedLength=4;Ln.pack=function(o,A,f){return f=oe(f,0),A[f++]=o.x,A[f++]=o.y,A[f++]=o.z,A[f]=o.w,A};Ln.unpack=function(o,A,f){return A=oe(A,0),O(f)||(f=new Ln),f.x=o[A++],f.y=o[A++],f.z=o[A++],f.w=o[A],f};Ln.packArray=function(o,A){let f=o.length,m=f*4;O(A)?!Array.isArray(A)&&A.length!==m||A.length!==m&&(A.length=m):A=new Array(m);for(let C=0;C maxHeight) { material.diffuse = vec3(0.0); material.alpha = 0.0; return material; } // Binary search to find heights above and below. int idxBelow = 0; int idxAbove = heightsDimensions.x; float heightBelow = minHeight; float heightAbove = maxHeight; // while loop not allowed, so use for loop with max iterations. // maxIterations of 16 supports a texture size up to 65536 (2^16). const int maxIterations = 16; for (int i = 0; i < maxIterations; i++) { if (idxBelow >= idxAbove - 1) { break; } int idxMid = (idxBelow + idxAbove) / 2; float heightTex = getHeight(idxMid, invTexSize); if (height > heightTex) { idxBelow = idxMid; heightBelow = heightTex; } else { idxAbove = idxMid; heightAbove = heightTex; } } float lerper = heightBelow == heightAbove ? 1.0 : (height - heightBelow) / (heightAbove - heightBelow); vec2 colorUv = vec2(invTexSize * (float(idxBelow) + 0.5 + lerper), 0.5); vec4 color = texture(colors, colorUv); // undo preumultiplied alpha if (color.a > 0.0) { color.rgb /= color.a; } color.rgb = czm_gammaCorrect(color.rgb); material.diffuse = color.rgb; material.alpha = color.a; return material; } `,tpe=`uniform vec4 color; uniform float spacing; uniform float width; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); float distanceToContour = mod(materialInput.height, spacing); #if (__VERSION__ == 300 || defined(GL_OES_standard_derivatives)) float dxc = abs(dFdx(materialInput.height)); float dyc = abs(dFdy(materialInput.height)); float dF = max(dxc, dyc) * czm_pixelRatio * width; float alpha = (distanceToContour < dF) ? 1.0 : 0.0; #else // If no derivatives available (IE 10?), use pixel ratio float alpha = (distanceToContour < (czm_pixelRatio * width)) ? 1.0 : 0.0; #endif vec4 outColor = czm_gammaCorrect(vec4(color.rgb, alpha * color.a)); material.diffuse = outColor.rgb; material.alpha = outColor.a; return material; } `,ipe=`uniform sampler2D image; uniform float minimumHeight; uniform float maximumHeight; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); float scaledHeight = clamp((materialInput.height - minimumHeight) / (maximumHeight - minimumHeight), 0.0, 1.0); vec4 rampColor = texture(image, vec2(scaledHeight, 0.5)); rampColor = czm_gammaCorrect(rampColor); material.diffuse = rampColor.rgb; material.alpha = rampColor.a; return material; } `,rpe=`uniform vec4 fadeInColor; uniform vec4 fadeOutColor; uniform float maximumDistance; uniform bool repeat; uniform vec2 fadeDirection; uniform vec2 time; float getTime(float t, float coord) { float scalar = 1.0 / maximumDistance; float q = distance(t, coord) * scalar; if (repeat) { float r = distance(t, coord + 1.0) * scalar; float s = distance(t, coord - 1.0) * scalar; q = min(min(r, s), q); } return clamp(q, 0.0, 1.0); } czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 st = materialInput.st; float s = getTime(time.x, st.s) * fadeDirection.s; float t = getTime(time.y, st.t) * fadeDirection.t; float u = length(vec2(s, t)); vec4 color = mix(fadeInColor, fadeOutColor, u); color = czm_gammaCorrect(color); material.emission = color.rgb; material.alpha = color.a; return material; } `,npe=`uniform vec4 color; uniform float cellAlpha; uniform vec2 lineCount; uniform vec2 lineThickness; uniform vec2 lineOffset; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 st = materialInput.st; float scaledWidth = fract(lineCount.s * st.s - lineOffset.s); scaledWidth = abs(scaledWidth - floor(scaledWidth + 0.5)); float scaledHeight = fract(lineCount.t * st.t - lineOffset.t); scaledHeight = abs(scaledHeight - floor(scaledHeight + 0.5)); float value; // Fuzz Factor - Controls blurriness of lines #if (__VERSION__ == 300 || defined(GL_OES_standard_derivatives)) const float fuzz = 1.2; vec2 thickness = (lineThickness * czm_pixelRatio) - 1.0; // From "3D Engine Design for Virtual Globes" by Cozzi and Ring, Listing 4.13. vec2 dx = abs(dFdx(st)); vec2 dy = abs(dFdy(st)); vec2 dF = vec2(max(dx.s, dy.s), max(dx.t, dy.t)) * lineCount; value = min( smoothstep(dF.s * thickness.s, dF.s * (fuzz + thickness.s), scaledWidth), smoothstep(dF.t * thickness.t, dF.t * (fuzz + thickness.t), scaledHeight)); #else // If no derivatives available (IE 10?), revert to view-dependent fuzz const float fuzz = 0.05; vec2 range = 0.5 - (lineThickness * 0.05); value = min( 1.0 - smoothstep(range.s, range.s + fuzz, scaledWidth), 1.0 - smoothstep(range.t, range.t + fuzz, scaledHeight)); #endif // Edges taken from RimLightingMaterial.glsl // See http://www.fundza.com/rman_shaders/surface/fake_rim/fake_rim1.html float dRim = 1.0 - abs(dot(materialInput.normalEC, normalize(materialInput.positionToEyeEC))); float sRim = smoothstep(0.8, 1.0, dRim); value *= (1.0 - sRim); vec4 halfColor; halfColor.rgb = color.rgb * 0.5; halfColor.a = color.a * (1.0 - ((1.0 - cellAlpha) * value)); halfColor = czm_gammaCorrect(halfColor); material.diffuse = halfColor.rgb; material.emission = halfColor.rgb; material.alpha = halfColor.a; return material; } `,ope=`uniform sampler2D image; uniform float strength; uniform vec2 repeat; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec4 textureValue = texture(image, fract(repeat * materialInput.st)); vec3 normalTangentSpace = textureValue.channels; normalTangentSpace.xy = normalTangentSpace.xy * 2.0 - 1.0; normalTangentSpace.z = clamp(1.0 - strength, 0.1, 1.0); normalTangentSpace = normalize(normalTangentSpace); vec3 normalEC = materialInput.tangentToEyeMatrix * normalTangentSpace; material.normal = normalEC; return material; } `,ape=`uniform vec4 color; float getPointOnLine(vec2 p0, vec2 p1, float x) { float slope = (p0.y - p1.y) / (p0.x - p1.x); return slope * (x - p0.x) + p0.y; } czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 st = materialInput.st; #if (__VERSION__ == 300 || defined(GL_OES_standard_derivatives)) float base = 1.0 - abs(fwidth(st.s)) * 10.0 * czm_pixelRatio; #else // If no derivatives available (IE 10?), 2.5% of the line will be the arrow head float base = 0.975; #endif vec2 center = vec2(1.0, 0.5); float ptOnUpperLine = getPointOnLine(vec2(base, 1.0), center, st.s); float ptOnLowerLine = getPointOnLine(vec2(base, 0.0), center, st.s); float halfWidth = 0.15; float s = step(0.5 - halfWidth, st.t); s *= 1.0 - step(0.5 + halfWidth, st.t); s *= 1.0 - step(base, st.s); float t = step(base, materialInput.st.s); t *= 1.0 - step(ptOnUpperLine, st.t); t *= step(ptOnLowerLine, st.t); // Find the distance from the closest separator (region between two colors) float dist; if (st.s < base) { float d1 = abs(st.t - (0.5 - halfWidth)); float d2 = abs(st.t - (0.5 + halfWidth)); dist = min(d1, d2); } else { float d1 = czm_infinity; if (st.t < 0.5 - halfWidth && st.t > 0.5 + halfWidth) { d1 = abs(st.s - base); } float d2 = abs(st.t - ptOnUpperLine); float d3 = abs(st.t - ptOnLowerLine); dist = min(min(d1, d2), d3); } vec4 outsideColor = vec4(0.0); vec4 currentColor = mix(outsideColor, color, clamp(s + t, 0.0, 1.0)); vec4 outColor = czm_antialias(outsideColor, color, currentColor, dist); outColor = czm_gammaCorrect(outColor); material.diffuse = outColor.rgb; material.alpha = outColor.a; return material; } `,spe=`uniform vec4 color; uniform vec4 gapColor; uniform float dashLength; uniform float dashPattern; in float v_polylineAngle; const float maskLength = 16.0; mat2 rotate(float rad) { float c = cos(rad); float s = sin(rad); return mat2( c, s, -s, c ); } czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 pos = rotate(v_polylineAngle) * gl_FragCoord.xy; // Get the relative position within the dash from 0 to 1 float dashPosition = fract(pos.x / (dashLength * czm_pixelRatio)); // Figure out the mask index. float maskIndex = floor(dashPosition * maskLength); // Test the bit mask. float maskTest = floor(dashPattern / pow(2.0, maskIndex)); vec4 fragColor = (mod(maskTest, 2.0) < 1.0) ? gapColor : color; if (fragColor.a < 0.005) { // matches 0/255 and 1/255 discard; } fragColor = czm_gammaCorrect(fragColor); material.emission = fragColor.rgb; material.alpha = fragColor.a; return material; } `,lpe=`uniform vec4 color; uniform float glowPower; uniform float taperPower; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 st = materialInput.st; float glow = glowPower / abs(st.t - 0.5) - (glowPower / 0.5); if (taperPower <= 0.99999) { glow *= min(1.0, taperPower / (0.5 - st.s * 0.5) - (taperPower / 0.5)); } vec4 fragColor; fragColor.rgb = max(vec3(glow - 1.0 + color.rgb), color.rgb); fragColor.a = clamp(0.0, 1.0, glow) * color.a; fragColor = czm_gammaCorrect(fragColor); material.emission = fragColor.rgb; material.alpha = fragColor.a; return material; } `,upe=`uniform vec4 color; uniform vec4 outlineColor; uniform float outlineWidth; in float v_width; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 st = materialInput.st; float halfInteriorWidth = 0.5 * (v_width - outlineWidth) / v_width; float b = step(0.5 - halfInteriorWidth, st.t); b *= 1.0 - step(0.5 + halfInteriorWidth, st.t); // Find the distance from the closest separator (region between two colors) float d1 = abs(st.t - (0.5 - halfInteriorWidth)); float d2 = abs(st.t - (0.5 + halfInteriorWidth)); float dist = min(d1, d2); vec4 currentColor = mix(outlineColor, color, b); vec4 outColor = czm_antialias(outlineColor, color, currentColor, dist); outColor = czm_gammaCorrect(outColor); material.diffuse = outColor.rgb; material.alpha = outColor.a; return material; } `,Ape=`uniform vec4 color; uniform vec4 rimColor; uniform float width; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); // See http://www.fundza.com/rman_shaders/surface/fake_rim/fake_rim1.html float d = 1.0 - dot(materialInput.normalEC, normalize(materialInput.positionToEyeEC)); float s = smoothstep(1.0 - width, 1.0, d); vec4 outColor = czm_gammaCorrect(color); vec4 outRimColor = czm_gammaCorrect(rimColor); material.diffuse = outColor.rgb; material.emission = outRimColor.rgb * s; material.alpha = mix(outColor.a, outRimColor.a, s); return material; } `,cpe=`uniform sampler2D image; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec4 rampColor = texture(image, vec2(materialInput.slope / (czm_pi / 2.0), 0.5)); rampColor = czm_gammaCorrect(rampColor); material.diffuse = rampColor.rgb; material.alpha = rampColor.a; return material; } `,hpe=`uniform vec4 evenColor; uniform vec4 oddColor; uniform float offset; uniform float repeat; uniform bool horizontal; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); // Based on the Stripes Fragment Shader in the Orange Book (11.1.2) float coord = mix(materialInput.st.s, materialInput.st.t, float(horizontal)); float value = fract((coord - offset) * (repeat * 0.5)); float dist = min(value, min(abs(value - 0.5), 1.0 - value)); vec4 currentColor = mix(evenColor, oddColor, step(0.5, value)); vec4 color = czm_antialias(evenColor, oddColor, currentColor, dist); color = czm_gammaCorrect(color); material.diffuse = color.rgb; material.alpha = color.a; return material; } `,dpe=`// Thanks for the contribution Jonas // http://29a.ch/2012/7/19/webgl-terrain-rendering-water-fog uniform sampler2D specularMap; uniform sampler2D normalMap; uniform vec4 baseWaterColor; uniform vec4 blendColor; uniform float frequency; uniform float animationSpeed; uniform float amplitude; uniform float specularIntensity; uniform float fadeFactor; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); float time = czm_frameNumber * animationSpeed; // fade is a function of the distance from the fragment and the frequency of the waves float fade = max(1.0, (length(materialInput.positionToEyeEC) / 10000000000.0) * frequency * fadeFactor); float specularMapValue = texture(specularMap, materialInput.st).r; // note: not using directional motion at this time, just set the angle to 0.0; vec4 noise = czm_getWaterNoise(normalMap, materialInput.st * frequency, time, 0.0); vec3 normalTangentSpace = noise.xyz * vec3(1.0, 1.0, (1.0 / amplitude)); // fade out the normal perturbation as we move further from the water surface normalTangentSpace.xy /= fade; // attempt to fade out the normal perturbation as we approach non water areas (low specular map value) normalTangentSpace = mix(vec3(0.0, 0.0, 50.0), normalTangentSpace, specularMapValue); normalTangentSpace = normalize(normalTangentSpace); // get ratios for alignment of the new normal vector with a vector perpendicular to the tangent plane float tsPerturbationRatio = clamp(dot(normalTangentSpace, vec3(0.0, 0.0, 1.0)), 0.0, 1.0); // fade out water effect as specular map value decreases material.alpha = mix(blendColor.a, baseWaterColor.a, specularMapValue) * specularMapValue; // base color is a blend of the water and non-water color based on the value from the specular map // may need a uniform blend factor to better control this material.diffuse = mix(blendColor.rgb, baseWaterColor.rgb, specularMapValue); // diffuse highlights are based on how perturbed the normal is material.diffuse += (0.1 * tsPerturbationRatio); material.diffuse = material.diffuse; material.normal = normalize(materialInput.tangentToEyeMatrix * normalTangentSpace); material.specular = specularIntensity; material.shininess = 10.0; return material; } `;function Fr(o){this.type=void 0,this.shaderSource=void 0,this.materials=void 0,this.uniforms=void 0,this._uniforms=void 0,this.translucent=void 0,this._minificationFilter=oe(o.minificationFilter,Ba.LINEAR),this._magnificationFilter=oe(o.magnificationFilter,Wu.LINEAR),this._strict=void 0,this._template=void 0,this._count=void 0,this._texturePaths={},this._loadedImages=[],this._loadedCubeMaps=[],this._textures={},this._updateFunctions=[],this._defaultTexture=void 0,ZIt(o,this),Object.defineProperties(this,{type:{value:this.type,writable:!1}}),O(Fr._uniformList[this.type])||(Fr._uniformList[this.type]=Object.keys(this._uniforms))}Fr._uniformList={};Fr.fromType=function(o,A){let f=new Fr({fabric:{type:o}});if(O(A))for(let m in A)A.hasOwnProperty(m)&&(f.uniforms[m]=A[m]);return f};Fr.prototype.isTranslucent=function(){if(O(this.translucent))return typeof this.translucent=="function"?this.translucent():this.translucent;let o=!0,A=this._translucentFunctions,f=A.length;for(let m=0;m-1)return!0;return!1}function n_t(o){let A=o._template.components,f=o._template.source;if(O(f))o.shaderSource+=`${f} `;else{if(o.shaderSource+=`czm_material czm_getMaterial(czm_materialInput materialInput) { `,o.shaderSource+=`czm_material material = czm_getDefaultMaterial(materialInput); `,O(A)){let m=Object.keys(o._template.materials).length>0;for(let C in A)if(A.hasOwnProperty(C))if(C==="diffuse"||C==="emission"){let E=m&&r_t(A[C],o)?A[C]:`czm_gammaCorrect(${A[C]})`;o.shaderSource+=`material.${C} = ${E}; `}else C==="alpha"?o.shaderSource+=`material.alpha = ${A.alpha}; `:o.shaderSource+=`material.${C} = ${A[C]}; `}o.shaderSource+=`return material; } `}}var uLe={mat2:Cf,mat3:Gt,mat4:Re},o_t=/\.ktx2$/i,a_t=/\.dds$/i;function s_t(o){let A;return function(f,m){let C=f.uniforms,E=C[o],x=A!==E,y=!O(E)||E===Fr.DefaultImageId;A=E;let I=f._textures[o],v,B;if(E instanceof HTMLVideoElement){if(E.readyState>=2){if(x&&O(I)&&(I!==m.defaultTexture&&I.destroy(),I=void 0),!O(I)||I===m.defaultTexture){let T=new Oa({minificationFilter:f._minificationFilter,magnificationFilter:f._magnificationFilter});I=new Nn({context:m,source:E,sampler:T}),f._textures[o]=I;return}I.copyFrom({source:E})}else O(I)||(f._textures[o]=m.defaultTexture);return}if(E instanceof Nn&&E!==I){f._texturePaths[o]=void 0;let T=f._textures[o];O(T)&&T!==f._defaultTexture&&T.destroy(),f._textures[o]=E,v=`${o}Dimensions`,C.hasOwnProperty(v)&&(B=C[v],B.x=E._width,B.y=E._height);return}if(x&&O(I)&&y&&(I!==f._defaultTexture&&I.destroy(),I=void 0),O(I)||(f._texturePaths[o]=void 0,I=f._textures[o]=f._defaultTexture,v=`${o}Dimensions`,C.hasOwnProperty(v)&&(B=C[v],B.x=I._width,B.y=I._height)),y)return;let Q=E instanceof Cr;if(!O(f._texturePaths[o])||Q&&E.url!==f._texturePaths[o].url||!Q&&E!==f._texturePaths[o]){if(typeof E=="string"||Q){let T=Q?E:Cr.createIfNeeded(E),w;o_t.test(T.url)?w=$P(T.url):a_t.test(T.url)?w=Bte(T):w=T.fetchImage(),Promise.resolve(w).then(function(S){f._loadedImages.push({id:o,image:S})}).catch(function(){O(I)&&I!==f._defaultTexture&&I.destroy(),f._textures[o]=f._defaultTexture})}else(E instanceof HTMLCanvasElement||E instanceof HTMLImageElement)&&f._loadedImages.push({id:o,image:E});f._texturePaths[o]=E}}}function l_t(o){return function(A,f){let m=A.uniforms[o];if(m instanceof Ew){let E=A._textures[o];E!==A._defaultTexture&&E.destroy(),A._texturePaths[o]=void 0,A._textures[o]=m;return}if(O(A._textures[o])||(A._texturePaths[o]=void 0,A._textures[o]=f.defaultCubeMap),m===Fr.DefaultCubeMapId)return;let C=m.positiveX+m.negativeX+m.positiveY+m.negativeY+m.positiveZ+m.negativeZ;if(C!==A._texturePaths[o]){let E=[Cr.createIfNeeded(m.positiveX).fetchImage(),Cr.createIfNeeded(m.negativeX).fetchImage(),Cr.createIfNeeded(m.positiveY).fetchImage(),Cr.createIfNeeded(m.negativeY).fetchImage(),Cr.createIfNeeded(m.positiveZ).fetchImage(),Cr.createIfNeeded(m.negativeZ).fetchImage()];Promise.all(E).then(function(x){A._loadedCubeMaps.push({id:o,images:x})}),A._texturePaths[o]=C}}}function u_t(o){let A=o._template.uniforms;for(let f in A)A.hasOwnProperty(f)&&QVe(o,f)}function QVe(o,A){let f=o._strict,m=o._template.uniforms,C=m[A],E=A_t(C),x;if(E==="channels")x=t9(o,A,C,!1);else{if(E==="sampler2D"){let I=`${A}Dimensions`;h_t(o,I)>0&&(m[I]={type:"ivec3",x:1,y:1},QVe(o,I))}if(!new RegExp(`uniform\\s+${E}\\s+${A}\\s*;`).test(o.shaderSource)){let I=`uniform ${E} ${A};`;o.shaderSource=I+o.shaderSource}let y=`${A}_${o._count++}`;if(x=t9(o,A,y),o.uniforms[A]=C,E==="sampler2D")o._uniforms[y]=function(){return o._textures[A]},o._updateFunctions.push(s_t(A));else if(E==="samplerCube")o._uniforms[y]=function(){return o._textures[A]},o._updateFunctions.push(l_t(A));else if(E.indexOf("mat")!==-1){let I=new uLe[E];o._uniforms[y]=function(){return uLe[E].fromColumnMajorArray(o.uniforms[A],I)}}else o._uniforms[y]=function(){return o.uniforms[A]}}}function A_t(o){let A=o.type;if(!O(A)){let f=typeof o;if(f==="number")A="float";else if(f==="boolean")A="bool";else if(f==="string"||o instanceof Cr||o instanceof HTMLCanvasElement||o instanceof HTMLImageElement)/^([rgba]){1,4}$/i.test(o)?A="channels":o===Fr.DefaultCubeMapId?A="samplerCube":A="sampler2D";else if(f==="object")if(Array.isArray(o))(o.length===4||o.length===9||o.length===16)&&(A=`mat${Math.sqrt(o.length)}`);else{let m=0;for(let C in o)o.hasOwnProperty(C)&&(m+=1);m>=2&&m<=4?A=`vec${m}`:m===6&&(A="samplerCube")}}return A}function c_t(o){let A=o._strict,f=o._template.materials;for(let m in f)if(f.hasOwnProperty(m)){let C=new Fr({strict:A,fabric:f[m],count:o._count});o._count=C._count,o._uniforms=So(o._uniforms,C._uniforms,!0),o.materials[m]=C,o._translucentFunctions=o._translucentFunctions.concat(C._translucentFunctions);let E="czm_getMaterial",x=`${E}_${o._count++}`;t9(C,E,x),o.shaderSource=C.shaderSource+o.shaderSource;let y=`${x}(materialInput)`,I=t9(o,m,y)}}function t9(o,A,f,m){m=oe(m,!0);let C=0,E="([\\w])?",x=`([\\w${m?".":""}])?`,y=new RegExp(x+A+E,"g");return o.shaderSource=o.shaderSource.replace(y,function(I,v,B){return v||B?I:(C+=1,f)}),C}function h_t(o,A,f){return t9(o,A,A,f)}Fr._materialCache={_materials:{},addMaterial:function(o,A){this._materials[o]=A},getMaterial:function(o){return this._materials[o]}};Fr.DefaultImageId="czm_defaultImage";Fr.DefaultCubeMapId="czm_defaultCubeMap";Fr.ColorType="Color";Fr._materialCache.addMaterial(Fr.ColorType,{fabric:{type:Fr.ColorType,uniforms:{color:new Ve(1,0,0,.5)},components:{diffuse:"color.rgb",alpha:"color.a"}},translucent:function(o){return o.uniforms.color.alpha<1}});Fr.PolylineTrailLinkType="PolylineTrailLink";Fr.PolylineTrailLinkSource=`uniform float time; uniform sampler2D image; uniform float repeat; uniform vec4 color; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 st = materialInput.st; float aa = st.s*st.t; vec4 colorImage = color*aa+(1.0-aa)*texture(image, vec2(fract(st.s-time*repeat), st.t)); material.alpha = colorImage.a; material.diffuse = colorImage.rgb; return material; }`;Fr._materialCache.addMaterial(Fr.PolylineTrailLinkType,{fabric:{type:Fr.PolylineTrailLinkType,uniforms:{color:new Ve(1,0,0,.5),image:Fr.DefaultImageId,repeat:1,time:0},source:Fr.PolylineTrailLinkSource},translucent:function(o){return!0}});Fr.ModelColorType="ModelColor";Fr._materialCache.addMaterial(Fr.ModelColorType,{fabric:{type:Fr.ModelColorType,uniforms:{color:new Ve(0,0,1,1),image:Fr.DefaultImageId,minimumHeight:0,maximumHeight:100},source:`uniform vec4 color;\r uniform sampler2D image;\r uniform float minimumHeight;\r uniform float maximumHeight;\r czm_material czm_getMaterial(czm_materialInput materialInput)\r {\r czm_material material = czm_getDefaultMaterial(materialInput);\r vec2 st = materialInput.st;\r float scaledHeight = clamp((materialInput.height - minimumHeight) / (maximumHeight - minimumHeight), 0.0, 1.0);\r vec4 halfColor = texture(image, vec2(0.5,scaledHeight));\r halfColor *= 0.6;\r material.diffuse = halfColor.rgb;\r material.emission = halfColor.rgb;\r material.alpha = color.a;\r return material;\r }`},translucent:!1});Fr.ImageType="Image";Fr._materialCache.addMaterial(Fr.ImageType,{fabric:{type:Fr.ImageType,uniforms:{image:Fr.DefaultImageId,repeat:new rt(1,1),color:new Ve(1,1,1,1)},components:{diffuse:"texture(image, fract(repeat * materialInput.st)).rgb * color.rgb",alpha:"texture(image, fract(repeat * materialInput.st)).a * color.a"}},translucent:function(o){return o.uniforms.color.alpha<1}});Fr.DiffuseMapType="DiffuseMap";Fr._materialCache.addMaterial(Fr.DiffuseMapType,{fabric:{type:Fr.DiffuseMapType,uniforms:{image:Fr.DefaultImageId,channels:"rgb",repeat:new rt(1,1)},components:{diffuse:"texture(image, fract(repeat * materialInput.st)).channels"}},translucent:!1});Fr.AlphaMapType="AlphaMap";Fr._materialCache.addMaterial(Fr.AlphaMapType,{fabric:{type:Fr.AlphaMapType,uniforms:{image:Fr.DefaultImageId,channel:"a",repeat:new rt(1,1)},components:{alpha:"texture(image, fract(repeat * materialInput.st)).channel"}},translucent:!0});Fr.SpecularMapType="SpecularMap";Fr._materialCache.addMaterial(Fr.SpecularMapType,{fabric:{type:Fr.SpecularMapType,uniforms:{image:Fr.DefaultImageId,channel:"r",repeat:new rt(1,1)},components:{specular:"texture(image, fract(repeat * materialInput.st)).channel"}},translucent:!1});Fr.EmissionMapType="EmissionMap";Fr._materialCache.addMaterial(Fr.EmissionMapType,{fabric:{type:Fr.EmissionMapType,uniforms:{image:Fr.DefaultImageId,channels:"rgb",repeat:new rt(1,1)},components:{emission:"texture(image, fract(repeat * materialInput.st)).channels"}},translucent:!1});Fr.BumpMapType="BumpMap";Fr._materialCache.addMaterial(Fr.BumpMapType,{fabric:{type:Fr.BumpMapType,uniforms:{image:Fr.DefaultImageId,channel:"r",strength:.8,repeat:new rt(1,1)},source:X0e},translucent:!1});Fr.NormalMapType="NormalMap";Fr._materialCache.addMaterial(Fr.NormalMapType,{fabric:{type:Fr.NormalMapType,uniforms:{image:Fr.DefaultImageId,channels:"rgb",strength:.8,repeat:new rt(1,1)},source:ope},translucent:!1});Fr.GridType="Grid";Fr._materialCache.addMaterial(Fr.GridType,{fabric:{type:Fr.GridType,uniforms:{color:new Ve(0,1,0,1),cellAlpha:.1,lineCount:new rt(8,8),lineThickness:new rt(1,1),lineOffset:new rt(0,0)},source:npe},translucent:function(o){let A=o.uniforms;return A.color.alpha<1||A.cellAlpha<1}});Fr.StripeType="Stripe";Fr._materialCache.addMaterial(Fr.StripeType,{fabric:{type:Fr.StripeType,uniforms:{horizontal:!0,evenColor:new Ve(1,1,1,.5),oddColor:new Ve(0,0,1,.5),offset:0,repeat:5},source:hpe},translucent:function(o){let A=o.uniforms;return A.evenColor.alpha<1||A.oddColor.alpha<1}});Fr.CheckerboardType="Checkerboard";Fr._materialCache.addMaterial(Fr.CheckerboardType,{fabric:{type:Fr.CheckerboardType,uniforms:{lightColor:new Ve(1,1,1,.5),darkColor:new Ve(0,0,0,.5),repeat:new rt(5,5)},source:Z0e},translucent:function(o){let A=o.uniforms;return A.lightColor.alpha<1||A.darkColor.alpha<1}});Fr.DotType="Dot";Fr._materialCache.addMaterial(Fr.DotType,{fabric:{type:Fr.DotType,uniforms:{lightColor:new Ve(1,1,0,.75),darkColor:new Ve(0,1,1,.75),repeat:new rt(5,5)},source:$0e},translucent:function(o){let A=o.uniforms;return A.lightColor.alpha<1||A.darkColor.alpha<1}});Fr.WaterType="Water";Fr._materialCache.addMaterial(Fr.WaterType,{fabric:{type:Fr.WaterType,uniforms:{baseWaterColor:new Ve(.2,.3,.6,1),blendColor:new Ve(0,1,.699,1),specularMap:Fr.DefaultImageId,normalMap:Fr.DefaultImageId,frequency:10,animationSpeed:.01,amplitude:1,specularIntensity:.5,fadeFactor:1},source:dpe},translucent:function(o){let A=o.uniforms;return A.baseWaterColor.alpha<1||A.blendColor.alpha<1}});Fr.RimLightingType="RimLighting";Fr._materialCache.addMaterial(Fr.RimLightingType,{fabric:{type:Fr.RimLightingType,uniforms:{color:new Ve(1,0,0,.7),rimColor:new Ve(1,1,1,.4),width:.3},source:Ape},translucent:function(o){let A=o.uniforms;return A.color.alpha<1||A.rimColor.alpha<1}});Fr.FadeType="Fade";Fr._materialCache.addMaterial(Fr.FadeType,{fabric:{type:Fr.FadeType,uniforms:{fadeInColor:new Ve(1,0,0,1),fadeOutColor:new Ve(0,0,0,0),maximumDistance:.5,repeat:!0,fadeDirection:{x:!0,y:!0},time:new rt(.5,.5)},source:rpe},translucent:function(o){let A=o.uniforms;return A.fadeInColor.alpha<1||A.fadeOutColor.alpha<1}});Fr.PolylineArrowType="PolylineArrow";Fr._materialCache.addMaterial(Fr.PolylineArrowType,{fabric:{type:Fr.PolylineArrowType,uniforms:{color:new Ve(1,1,1,1)},source:ape},translucent:!0});Fr.PolylineDashType="PolylineDash";Fr._materialCache.addMaterial(Fr.PolylineDashType,{fabric:{type:Fr.PolylineDashType,uniforms:{color:new Ve(1,0,1,1),gapColor:new Ve(0,0,0,0),dashLength:16,dashPattern:255},source:spe},translucent:!0});Fr.PolylineGlowType="PolylineGlow";Fr._materialCache.addMaterial(Fr.PolylineGlowType,{fabric:{type:Fr.PolylineGlowType,uniforms:{color:new Ve(0,.5,1,1),glowPower:.25,taperPower:1},source:lpe},translucent:!0});Fr.PolylineOutlineType="PolylineOutline";Fr._materialCache.addMaterial(Fr.PolylineOutlineType,{fabric:{type:Fr.PolylineOutlineType,uniforms:{color:new Ve(1,1,1,1),outlineColor:new Ve(1,0,0,1),outlineWidth:1},source:upe},translucent:function(o){let A=o.uniforms;return A.color.alpha<1||A.outlineColor.alpha<1}});Fr.ElevationContourType="ElevationContour";Fr._materialCache.addMaterial(Fr.ElevationContourType,{fabric:{type:Fr.ElevationContourType,uniforms:{spacing:100,color:new Ve(1,0,0,1),width:1},source:tpe},translucent:!1});Fr.ElevationRampType="ElevationRamp";Fr._materialCache.addMaterial(Fr.ElevationRampType,{fabric:{type:Fr.ElevationRampType,uniforms:{image:Fr.DefaultImageId,minimumHeight:0,maximumHeight:1e4},source:ipe},translucent:!1});Fr.SlopeRampMaterialType="SlopeRamp";Fr._materialCache.addMaterial(Fr.SlopeRampMaterialType,{fabric:{type:Fr.SlopeRampMaterialType,uniforms:{image:Fr.DefaultImageId},source:cpe},translucent:!1});Fr.AspectRampMaterialType="AspectRamp";Fr._materialCache.addMaterial(Fr.AspectRampMaterialType,{fabric:{type:Fr.AspectRampMaterialType,uniforms:{image:Fr.DefaultImageId},source:q0e},translucent:!1});Fr.ElevationBandType="ElevationBand";Fr._materialCache.addMaterial(Fr.ElevationBandType,{fabric:{type:Fr.ElevationBandType,uniforms:{heights:Fr.DefaultImageId,colors:Fr.DefaultImageId},source:epe},translucent:!0});var go=Fr;function aw(){Ai.throwInstantiationError()}Object.defineProperties(aw.prototype,{isConstant:{get:Ai.throwInstantiationError},definitionChanged:{get:Ai.throwInstantiationError}});aw.prototype.getValue=Ai.throwInstantiationError;aw.prototype.equals=Ai.throwInstantiationError;aw.equals=function(o,A){return o===A||O(o)&&o.equals(A)};aw.arrayEquals=function(o,A){if(o===A)return!0;if(!O(o)||!O(A)||o.length!==A.length)return!1;let f=o.length;for(let m=0;m1&&(this.gradient=1),this._time=performance.now()}Object.defineProperties(q5.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}},color:fi("color")});q5.prototype.getType=function(o){return go.CircleWaveMaterialType};q5.prototype.getValue=function(o,A){return O(A)||(A={}),A.color=Bt.getValueOrClonedDefault(this._color,o,Ve.WHITE,A.color),A.time=(performance.now()-this._time)/this.duration,A.count=this.count,A.gradient=1+10*(1-this.gradient),A};q5.prototype.equals=function(o){return this===o||o instanceof q5&&Bt.equals(this._color,o._color)};go.CircleWaveMaterialType="CircleWaveMaterial";go.PolylineTrailSource=`czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); material.diffuse = 1.5*color.rgb; vec2 st = materialInput.st; vec3 str = materialInput.str; float dis = distance(st, vec2(0.5, 0.5)); float per = fract(time); if (abs(str.z) > 0.01) { discard; } if ( dis > 0.5 ) { discard; } else { float perDis = 0.5 / count; float disNum; float bl = .0; for(int i=0;i<=999;i++){ if(float(i)<=count){ disNum = perDis*float(i)-dis + per/count; if(disNum > 0.0) { if(disNum < perDis){ bl=1.0-disNum/perDis; } else if(disNum-perDis < perDis){ bl = 1.0 - abs(1.0-disNum/perDis); } material.alpha = pow(bl, gradient); } } } } return material; } `;go._materialCache.addMaterial(go.CircleWaveMaterialType,{fabric:{type:go.CircleWaveMaterialType,uniforms:{color:new Ve(1,0,0,1),time:1,count:1,gradient:.1},source:go.PolylineTrailSource},translucent:function(o){return!0}});var iG=q5,d_t=new Z,f_t=new Z;function g_t(o,A,f,m,C){let E=o.x,x=o.y,y=o.z,I=A.x,v=A.y,B=A.z,Q=E*E*I*I,T=x*x*v*v,w=y*y*B*B,S=Q+T+w,D=Math.sqrt(1/S),R=Z.multiplyByScalar(o,D,d_t);if(SBe.EPSILON12);return O(C)?(C.x=E*K,C.y=x*X,C.z=y*q,C):new Z(E*K,x*X,y*q)}var bte=g_t;function Jf(o,A,f){this.longitude=oe(o,0),this.latitude=oe(A,0),this.height=oe(f,0)}Jf.fromRadians=function(o,A,f,m){return f=oe(f,0),O(m)?(m.longitude=o,m.latitude=A,m.height=f,m):new Jf(o,A,f)};Jf.fromDegrees=function(o,A,f,m){return o=Be.toRadians(o),A=Be.toRadians(A),Jf.fromRadians(o,A,f,m)};var p_t=new Z,m_t=new Z,C_t=new Z,E_t=new Z(1/6378137,1/6378137,1/6356752314245179e-9),x_t=new Z(1/(6378137*6378137),1/(6378137*6378137),1/(6356752314245179e-9*6356752314245179e-9)),y_t=new Z(1/1737400,1/1737400,1/1737400),I_t=new Z(1/(1737400*1737400),1/(1737400*1737400),1/(1737400*1737400)),__t=new Z(1/6378137,1/6378137,1/6356752314140356e-9),v_t=new Z(1/(6378137*6378137),1/(6378137*6378137),1/(6356752314140356e-9*6356752314140356e-9)),B_t=Be.EPSILON1;Jf.fromCartesian=function(o,A,f){let m=null,C=null,E=O(A)?A._centerToleranceSquared:B_t;cE.ellipsoidCoordinates==="CGCS2000"?(m=__t,C=v_t):cE.ellipsoidCoordinates==="MOON"||cE.ellipsoidCoordinates==="MOON2000"?(m=y_t,C=I_t):(m=O(A)?A.oneOverRadii:E_t,C=O(A)?A.oneOverRadiiSquared:x_t);let x=bte(o,m,C,E,m_t);if(!O(x))return;let y=Z.multiplyComponents(x,C,p_t);y=Z.normalize(y,y);let I=Z.subtract(o,x,C_t),v=Math.atan2(y.y,y.x),B=Math.asin(y.z),Q=Be.sign(Z.dot(I,o))*Z.magnitude(I);return O(f)?(f.longitude=v,f.latitude=B,f.height=Q,f):new Jf(v,B,Q)};Jf.toCartesian=function(o,A,f){return Z.fromRadians(o.longitude,o.latitude,o.height,A,f)};Jf.clone=function(o,A){if(O(o))return O(A)?(A.longitude=o.longitude,A.latitude=o.latitude,A.height=o.height,A):new Jf(o.longitude,o.latitude,o.height)};Jf.equals=function(o,A){return o===A||O(o)&&O(A)&&o.longitude===A.longitude&&o.latitude===A.latitude&&o.height===A.height};Jf.equalsEpsilon=function(o,A,f){return f=oe(f,0),o===A||O(o)&&O(A)&&Math.abs(o.longitude-A.longitude)<=f&&Math.abs(o.latitude-A.latitude)<=f&&Math.abs(o.height-A.height)<=f};Jf.ZERO=Object.freeze(new Jf(0,0,0));Jf.prototype.clone=function(o){return Jf.clone(this,o)};Jf.prototype.equals=function(o){return Jf.equals(this,o)};Jf.prototype.equalsEpsilon=function(o,A){return Jf.equalsEpsilon(this,o,A)};Jf.prototype.toString=function(){return`(${this.longitude}, ${this.latitude}, ${this.height})`};var Rt=Jf;function SVe(o,A,f,m){A=oe(A,0),f=oe(f,0),m=oe(m,0),o._radii=new Z(A,f,m),o._radiiSquared=new Z(A*A,f*f,m*m),o._radiiToTheFourth=new Z(A*A*A*A,f*f*f*f,m*m*m*m),o._oneOverRadii=new Z(A===0?0:1/A,f===0?0:1/f,m===0?0:1/m),o._oneOverRadiiSquared=new Z(A===0?0:1/(A*A),f===0?0:1/(f*f),m===0?0:1/(m*m)),o._minimumRadius=Math.min(A,f,m),o._maximumRadius=Math.max(A,f,m),o._centerToleranceSquared=Be.EPSILON1,o._radiiSquared.z!==0&&(o._squaredXOverSquaredZ=o._radiiSquared.x/o._radiiSquared.z)}function cu(o,A,f){this._radii=void 0,this._radiiSquared=void 0,this._radiiToTheFourth=void 0,this._oneOverRadii=void 0,this._oneOverRadiiSquared=void 0,this._minimumRadius=void 0,this._maximumRadius=void 0,this._centerToleranceSquared=void 0,this._squaredXOverSquaredZ=void 0,SVe(this,o,A,f)}Object.defineProperties(cu.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}});cu.clone=function(o,A){if(!O(o))return;let f=o._radii;return O(A)?(Z.clone(f,A._radii),Z.clone(o._radiiSquared,A._radiiSquared),Z.clone(o._radiiToTheFourth,A._radiiToTheFourth),Z.clone(o._oneOverRadii,A._oneOverRadii),Z.clone(o._oneOverRadiiSquared,A._oneOverRadiiSquared),A._minimumRadius=o._minimumRadius,A._maximumRadius=o._maximumRadius,A._centerToleranceSquared=o._centerToleranceSquared,A):new cu(f.x,f.y,f.z)};cu.fromCartesian3=function(o,A){return O(A)||(A=new cu),O(o)&&SVe(A,o.x,o.y,o.z),A};cu.WGS84=Object.freeze(new cu(6378137,6378137,6356752314245179e-9));cu.CGCS2000=Object.freeze(new cu(6378137,6378137,6356752314140356e-9));cu.MOON2000=Object.freeze(new cu(1737400,1737400,1737400));cu.UNIT_SPHERE=Object.freeze(new cu(1,1,1));cu.MOON=Object.freeze(new cu(Be.LUNAR_RADIUS,Be.LUNAR_RADIUS,Be.LUNAR_RADIUS));cu.prototype.clone=function(o){return cu.clone(this,o)};cu.packedLength=Z.packedLength;cu.pack=function(o,A,f){return f=oe(f,0),Z.pack(o._radii,A,f),A};cu.unpack=function(o,A,f){A=oe(A,0);let m=Z.unpack(o,A);return cu.fromCartesian3(m,f)};cu.prototype.geocentricSurfaceNormal=Z.normalize;cu.prototype.geodeticSurfaceNormalCartographic=function(o,A){let f=o.longitude,m=o.latitude,C=Math.cos(m),E=C*Math.cos(f),x=C*Math.sin(f),y=Math.sin(m);return O(A)||(A=new Z),A.x=E,A.y=x,A.z=y,Z.normalize(A,A)};cu.prototype.geodeticSurfaceNormal=function(o,A){if(!Z.equalsEpsilon(o,Z.ZERO,Be.EPSILON14))return O(A)||(A=new Z),A=Z.multiplyComponents(o,this._oneOverRadiiSquared,A),Z.normalize(A,A)};var w_t=new Z,b_t=new Z;cu.prototype.cartographicToCartesian=function(o,A){let f=w_t,m=b_t;this.geodeticSurfaceNormalCartographic(o,f),Z.multiplyComponents(this._radiiSquared,f,m);let C=Math.sqrt(Z.dot(f,m));return Z.divideByScalar(m,C,m),Z.multiplyByScalar(f,o.height,f),O(A)||(A=new Z),Z.add(m,f,A)};cu.prototype.cartographicArrayToCartesianArray=function(o,A){let f=o.length;O(A)?A.length=f:A=new Array(f);for(let m=0;m=this._radii.z-A))return f};var T_t=[.14887433898163,.43339539412925,.67940956829902,.86506336668898,.97390652851717,0],M_t=[.29552422471475,.26926671930999,.21908636251598,.14945134915058,.066671344308684,0];function ALe(o,A,f){let m=.5*(A+o),C=.5*(A-o),E=0;for(let x=0;x<5;x++){let y=C*T_t[x];E+=M_t[x]*(f(m+y)+f(m-y))}return E*=C,E}cu.prototype.surfaceArea=function(o){let A=o.west,f=o.east,m=o.south,C=o.north;for(;f=0?B.longitude:B.longitude+Be.TWO_PI;C=Math.min(C,Q),E=Math.max(E,Q)}return m-f>E-C&&(f=C,m=E,m>Be.PI&&(m=m-Be.TWO_PI),f>Be.PI&&(f=f-Be.TWO_PI)),O(A)?(A.west=f,A.south=x,A.east=m,A.north=y,A):new Is(f,x,m,y)};Is.fromCartesianArray=function(o,A,f){A=oe(A,Ci.WGS84);let m=Number.MAX_VALUE,C=-Number.MAX_VALUE,E=Number.MAX_VALUE,x=-Number.MAX_VALUE,y=Number.MAX_VALUE,I=-Number.MAX_VALUE;for(let v=0,B=o.length;v=0?Q.longitude:Q.longitude+Be.TWO_PI;E=Math.min(E,T),x=Math.max(x,T)}return C-m>x-E&&(m=E,C=x,C>Be.PI&&(C=C-Be.TWO_PI),m>Be.PI&&(m=m-Be.TWO_PI)),O(f)?(f.west=m,f.south=y,f.east=C,f.north=I,f):new Is(m,y,C,I)};Is.clone=function(o,A){if(O(o))return O(A)?(A.west=o.west,A.south=o.south,A.east=o.east,A.north=o.north,A):new Is(o.west,o.south,o.east,o.north)};Is.equalsEpsilon=function(o,A,f){return f=oe(f,0),o===A||O(o)&&O(A)&&Math.abs(o.west-A.west)<=f&&Math.abs(o.south-A.south)<=f&&Math.abs(o.east-A.east)<=f&&Math.abs(o.north-A.north)<=f};Is.prototype.clone=function(o){return Is.clone(this,o)};Is.prototype.equals=function(o){return Is.equals(this,o)};Is.equals=function(o,A){return o===A||O(o)&&O(A)&&o.west===A.west&&o.south===A.south&&o.east===A.east&&o.north===A.north};Is.prototype.equalsEpsilon=function(o,A){return Is.equalsEpsilon(this,o,A)};Is.validate=function(o){};Is.southwest=function(o,A){return O(A)?(A.longitude=o.west,A.latitude=o.south,A.height=0,A):new Rt(o.west,o.south)};Is.northwest=function(o,A){return O(A)?(A.longitude=o.west,A.latitude=o.north,A.height=0,A):new Rt(o.west,o.north)};Is.northeast=function(o,A){return O(A)?(A.longitude=o.east,A.latitude=o.north,A.height=0,A):new Rt(o.east,o.north)};Is.southeast=function(o,A){return O(A)?(A.longitude=o.east,A.latitude=o.south,A.height=0,A):new Rt(o.east,o.south)};Is.center=function(o,A){let f=o.east,m=o.west;f0?m+=Be.TWO_PI:E0&&(E+=Be.TWO_PI),m=B))return O(f)?(f.west=y,f.south=v,f.east=I,f.north=B,f):new Is(y,v,I,B)};Is.simpleIntersection=function(o,A,f){let m=Math.max(o.west,A.west),C=Math.max(o.south,A.south),E=Math.min(o.east,A.east),x=Math.min(o.north,A.north);if(!(C>=x||m>=E))return O(f)?(f.west=m,f.south=C,f.east=E,f.north=x,f):new Is(m,C,E,x)};Is.union=function(o,A,f){O(f)||(f=new Is);let m=o.east,C=o.west,E=A.east,x=A.west;m0?m+=Be.TWO_PI:E0&&(E+=Be.TWO_PI),mC||Be.equalsEpsilon(f,C,Be.EPSILON14))&&(f=o.south&&m<=o.north};var R_t=new Rt;Is.subsample=function(o,A,f,m){A=oe(A,Ci.WGS84),f=oe(f,0),O(m)||(m=[]);let C=0,E=o.north,x=o.south,y=o.east,I=o.west,v=R_t;v.height=f,v.longitude=I,v.latitude=E,m[C]=A.cartographicToCartesian(v,m[C]),C++,v.longitude=y,m[C]=A.cartographicToCartesian(v,m[C]),C++,v.latitude=x,m[C]=A.cartographicToCartesian(v,m[C]),C++,v.longitude=I,m[C]=A.cartographicToCartesian(v,m[C]),C++,E<0?v.latitude=E:x>0?v.latitude=x:v.latitude=0;for(let B=1;B<8;++B)v.longitude=-Math.PI+B*Be.PI_OVER_TWO,Is.contains(o,v)&&(m[C]=A.cartographicToCartesian(v,m[C]),C++);return v.latitude===0&&(v.longitude=I,m[C]=A.cartographicToCartesian(v,m[C]),C++,v.longitude=y,m[C]=A.cartographicToCartesian(v,m[C]),C++),m.length=C,m};Is.subsection=function(o,A,f,m,C,E){if(O(E)||(E=new Is),o.west<=o.east){let y=o.east-o.west;E.west=o.west+A*y,E.east=o.west+m*y}else{let y=Be.TWO_PI+o.east-o.west;E.west=Be.negativePiToPi(o.west+A*y),E.east=Be.negativePiToPi(o.west+m*y)}let x=o.north-o.south;return E.south=o.south+f*x,E.north=o.south+C*x,A===1&&(E.west=o.east),m===1&&(E.east=o.east),f===1&&(E.south=o.north),C===1&&(E.north=o.north),E};Is.MAX_VALUE=Object.freeze(new Is(-Math.PI,-Be.PI_OVER_TWO,Math.PI,Be.PI_OVER_TWO));var gi=Is;function Hd(o,A,f,m){this.x=oe(o,0),this.y=oe(A,0),this.width=oe(f,0),this.height=oe(m,0)}Hd.packedLength=4;Hd.pack=function(o,A,f){return f=oe(f,0),A[f++]=o.x,A[f++]=o.y,A[f++]=o.width,A[f]=o.height,A};Hd.unpack=function(o,A,f){return A=oe(A,0),O(f)||(f=new Hd),f.x=o[A++],f.y=o[A++],f.width=o[A++],f.height=o[A],f};Hd.fromPoints=function(o,A){if(O(A)||(A=new Hd),!O(o)||o.length===0)return A.x=0,A.y=0,A.width=0,A.height=0,A;let f=o.length,m=o[0].x,C=o[0].y,E=o[0].x,x=o[0].y;for(let y=1;yf.width?f.width=m:m<0&&(f.width-=m,f.x=A.x),C>f.height?f.height=C:C<0&&(f.height-=C,f.y=A.y),f};Hd.intersect=function(o,A){let f=o.x,m=o.y,C=A.x,E=A.y;return f>C+A.width||f+o.widthE+A.height?sa.OUTSIDE:sa.INTERSECTING};Hd.equals=function(o,A){return o===A||O(o)&&O(A)&&o.x===A.x&&o.y===A.y&&o.width===A.width&&o.height===A.height};Hd.prototype.clone=function(o){return Hd.clone(this,o)};Hd.prototype.intersect=function(o){return Hd.intersect(this,o)};Hd.prototype.equals=function(o){return Hd.equals(this,o)};var vr=Hd;function k_t(o,A){this.start=oe(o,0),this.stop=oe(A,0)}var lb=k_t;function ma(o,A){this.center=Z.clone(oe(o,Z.ZERO)),this.radius=oe(A,0)}var fpe=new Z,gpe=new Z,ppe=new Z,mpe=new Z,Cpe=new Z,Epe=new Z,xpe=new Z,tp=new Z,ype=new Z,Ipe=new Z,_pe=new Z,vpe=new Z,O_t=4/3*Be.PI;ma.fromPoints=function(o,A){if(O(A)||(A=new ma),!O(o)||o.length===0)return A.center=Z.clone(Z.ZERO,A.center),A.radius=0,A;let f=Z.clone(o[0],xpe),m=Z.clone(f,fpe),C=Z.clone(f,gpe),E=Z.clone(f,ppe),x=Z.clone(f,mpe),y=Z.clone(f,Cpe),I=Z.clone(f,Epe),v=o.length,B;for(B=1;Bx.x&&Z.clone(f,x),Ky.y&&Z.clone(f,y),XI.z&&Z.clone(f,I)}let Q=Z.magnitudeSquared(Z.subtract(x,m,tp)),T=Z.magnitudeSquared(Z.subtract(y,C,tp)),w=Z.magnitudeSquared(Z.subtract(I,E,tp)),S=m,D=x,R=Q;T>R&&(R=T,S=C,D=y),w>R&&(R=w,S=E,D=I);let P=ype;P.x=(S.x+D.x)*.5,P.y=(S.y+D.y)*.5,P.z=(S.z+D.z)*.5;let M=Z.magnitudeSquared(Z.subtract(D,P,tp)),L=Math.sqrt(M),F=Ipe;F.x=m.x,F.y=C.y,F.z=E.z;let k=_pe;k.x=x.x,k.y=y.y,k.z=I.z;let N=Z.midpoint(F,k,vpe),G=0;for(B=0;BG&&(G=J);let K=Z.magnitudeSquared(Z.subtract(f,P,tp));if(K>M){let X=Math.sqrt(K);L=(L+X)*.5,M=L*L;let q=X-L;P.x=(L*P.x+q*f.x)/X,P.y=(L*P.y+q*f.y)/X,P.z=(L*P.z+q*f.z)/X}}return LI.x&&Z.clone(C,I),qv.y&&Z.clone(C,v),eeB.z&&Z.clone(C,B)}let w=Z.magnitudeSquared(Z.subtract(I,E,tp)),S=Z.magnitudeSquared(Z.subtract(v,x,tp)),D=Z.magnitudeSquared(Z.subtract(B,y,tp)),R=E,P=I,M=w;S>M&&(M=S,R=x,P=v),D>M&&(M=D,R=y,P=B);let L=ype;L.x=(R.x+P.x)*.5,L.y=(R.y+P.y)*.5,L.z=(R.z+P.z)*.5;let F=Z.magnitudeSquared(Z.subtract(P,L,tp)),k=Math.sqrt(F),N=Ipe;N.x=E.x,N.y=x.y,N.z=y.z;let G=_pe;G.x=I.x,G.y=v.y,G.z=B.z;let J=Z.midpoint(N,G,vpe),K=0;for(T=0;TK&&(K=X);let q=Z.magnitudeSquared(Z.subtract(C,L,tp));if(q>F){let ee=Math.sqrt(q);k=(k+ee)*.5,F=k*k;let ie=ee-k;L.x=(k*L.x+ie*C.x)/ee,L.y=(k*L.y+ie*C.y)/ee,L.z=(k*L.z+ie*C.z)/ee}}return ky.x&&Z.clone(m,y),XI.y&&Z.clone(m,I),qv.z&&Z.clone(m,v)}let T=Z.magnitudeSquared(Z.subtract(y,C,tp)),w=Z.magnitudeSquared(Z.subtract(I,E,tp)),S=Z.magnitudeSquared(Z.subtract(v,x,tp)),D=C,R=y,P=T;w>P&&(P=w,D=E,R=I),S>P&&(P=S,D=x,R=v);let M=ype;M.x=(D.x+R.x)*.5,M.y=(D.y+R.y)*.5,M.z=(D.z+R.z)*.5;let L=Z.magnitudeSquared(Z.subtract(R,M,tp)),F=Math.sqrt(L),k=Ipe;k.x=C.x,k.y=E.y,k.z=x.z;let N=_pe;N.x=y.x,N.y=I.y,N.z=v.z;let G=Z.midpoint(k,N,vpe),J=0;for(Q=0;QJ&&(J=K);let X=Z.magnitudeSquared(Z.subtract(m,M,tp));if(X>L){let q=Math.sqrt(X);F=(F+q)*.5,L=F*F;let ee=q-F;M.x=(F*M.x+ee*m.x)/q,M.y=(F*M.y+ee*m.y)/q,M.z=(F*M.z+ee*m.z)/q}}return F=I+x)return o.clone(f),f;if(x>=I+C)return A.clone(f),f;let v=(C+I+x)*.5,B=Z.multiplyByScalar(y,(-C+v)/I,X_t);return Z.add(B,m,B),Z.clone(B,f.center),f.radius=v,f};var Z_t=new Z;ma.expand=function(o,A,f){f=ma.clone(o,f);let m=Z.magnitude(Z.subtract(A,f.center,Z_t));return m>f.radius&&(f.radius=m),f};ma.intersectPlane=function(o,A){let f=o.center,m=o.radius,C=A.normal,E=Z.dot(C,f)+A.distance;return E<-m?sa.OUTSIDE:E-A?(C=svt,C.x=this._cameraPosition.x/(f.radii.x+A),C.y=this._cameraPosition.y/(f.radii.y+A),C.z=this._cameraPosition.z/(f.radii.z+A),m=C.x*C.x+C.y*C.y+C.z*C.z-1):(C=this._cameraPositionInScaledSpace,m=this._distanceToLimbInScaledSpaceSquared),Bpe(o,C,m)};Wb.prototype.computeHorizonCullingPoint=function(o,A,f){return RVe(this._ellipsoid,o,A,f)};var MVe=Ci.clone(Ci.UNIT_SPHERE);Wb.prototype.computeHorizonCullingPointPossiblyUnderEllipsoid=function(o,A,f,m){let C=PVe(this._ellipsoid,f,MVe);return RVe(C,o,A,m)};Wb.prototype.computeHorizonCullingPointFromVertices=function(o,A,f,m,C){return LVe(this._ellipsoid,o,A,f,m,C)};Wb.prototype.computeHorizonCullingPointFromVerticesPossiblyUnderEllipsoid=function(o,A,f,m,C,E){let x=PVe(this._ellipsoid,C,MVe);return LVe(x,o,A,f,m,E)};var lvt=[];Wb.prototype.computeHorizonCullingPointFromRectangle=function(o,A,f){let m=gi.subsample(o,A,0,lvt),C=hi.fromPoints(m);if(!(Z.magnitude(C.center)<.1*A.minimumRadius))return this.computeHorizonCullingPoint(C.center,m,f)};var uvt=new Z;function PVe(o,A,f){if(O(A)&&A<0&&o.minimumRadius>-A){let m=Z.fromElements(o.radii.x+A,o.radii.y+A,o.radii.z+A,uvt);o=Ci.fromCartesian3(m,f)}return o}function RVe(o,A,f,m){O(m)||(m=new Z);let C=kVe(o,A),E=0;for(let x=0,y=f.length;x0:x>C&&x*x/Z.magnitudeSquared(E)>C)}var Avt=new Z,cvt=new Z;function FVe(o,A,f){let m=o.transformPositionToScaledSpace(A,Avt),C=Z.magnitudeSquared(m),E=Math.sqrt(C),x=Z.divideByScalar(m,E,cvt);C=Math.max(1,C),E=Math.max(1,E);let y=Z.dot(x,f),I=Z.magnitude(Z.cross(x,f,x)),v=1/E,B=Math.sqrt(C-1)*v;return 1/(y*v-I*B)}function NVe(o,A,f){if(!(A<=0||A===1/0||A!==A))return Z.multiplyByScalar(o,A,f)}var Pue=new Z;function kVe(o,A){return Z.equals(A,Z.ZERO)?A:(o.transformPositionToScaledSpace(A,Pue),Z.normalize(Pue,Pue))}var a3=Wb;function hI(o,A){o=oe(o,0),this._near=o,A=oe(A,Number.MAX_VALUE),this._far=A}Object.defineProperties(hI.prototype,{near:{get:function(){return this._near},set:function(o){this._near=o}},far:{get:function(){return this._far},set:function(o){this._far=o}}});hI.packedLength=2;hI.pack=function(o,A,f){return f=oe(f,0),A[f++]=o.near,A[f]=o.far,A};hI.unpack=function(o,A,f){return A=oe(A,0),O(f)||(f=new hI),f.near=o[A++],f.far=o[A],f};hI.equals=function(o,A){return o===A||O(o)&&O(A)&&o.near===A.near&&o.far===A.far};hI.clone=function(o,A){if(O(o))return O(A)||(A=new hI),A.near=o.near,A.far=o.far,A};hI.prototype.clone=function(o){return hI.clone(this,o)};hI.prototype.equals=function(o){return hI.equals(this,o)};var po=hI;function j_(o,A,f,m){this.near=oe(o,0),this.nearValue=oe(A,0),this.far=oe(f,1),this.farValue=oe(m,0)}j_.clone=function(o,A){if(O(o))return O(A)?(A.near=o.near,A.nearValue=o.nearValue,A.far=o.far,A.farValue=o.farValue,A):new j_(o.near,o.nearValue,o.far,o.farValue)};j_.packedLength=4;j_.pack=function(o,A,f){return f=oe(f,0),A[f++]=o.near,A[f++]=o.nearValue,A[f++]=o.far,A[f]=o.farValue,A};j_.unpack=function(o,A,f){return A=oe(A,0),O(f)||(f=new j_),f.near=o[A++],f.nearValue=o[A++],f.far=o[A++],f.farValue=o[A],f};j_.equals=function(o,A){return o===A||O(o)&&O(A)&&o.near===A.near&&o.nearValue===A.nearValue&&o.far===A.far&&o.farValue===A.farValue};j_.prototype.clone=function(o){return j_.clone(this,o)};j_.prototype.equals=function(o){return j_.equals(this,o)};var Eo=j_,hvt={NONE:0,CLAMP_TO_GROUND:1,RELATIVE_TO_GROUND:2},An=Object.freeze(hvt),dvt={CENTER:0,LEFT:1,RIGHT:-1},Ru=Object.freeze(dvt),sZ={MORPHING:0,COLUMBUS_VIEW:1,SCENE2D:2,SCENE3D:3};sZ.getMorphTime=function(o){return o===sZ.SCENE3D?1:o===sZ.MORPHING?void 0:0};var ni=Object.freeze(sZ);function h0(o,A){this.normal=Z.clone(o),this.distance=A}h0.fromPointNormal=function(o,A,f){let m=-Z.dot(A,o);return O(f)?(Z.clone(A,f.normal),f.distance=m,f):new h0(A,m)};var fvt=new Z;h0.fromCartesian4=function(o,A){let f=Z.fromCartesian4(o,fvt),m=o.w;return O(A)?(Z.clone(f,A.normal),A.distance=m,A):new h0(f,m)};h0.getPointDistance=function(o,A){return Z.dot(o.normal,A)+o.distance};var gvt=new Z;h0.projectPointOntoPlane=function(o,A,f){O(f)||(f=new Z);let m=h0.getPointDistance(o,A),C=Z.multiplyByScalar(o.normal,m,gvt);return Z.subtract(A,C,f)};var pvt=new Re,mvt=new zt,Cvt=new Z;h0.transform=function(o,A,f){let m=o.normal,C=o.distance,E=Re.inverseTranspose(A,pvt),x=zt.fromElements(m.x,m.y,m.z,C,mvt);x=Re.multiplyByVector(E,x,x);let y=Z.fromCartesian4(x,Cvt);return x=zt.divideByScalar(x,Z.magnitude(y),x),h0.fromCartesian4(x,f)};h0.clone=function(o,A){return O(A)?(Z.clone(o.normal,A.normal),A.distance=o.distance,A):new h0(o.normal,o.distance)};h0.equals=function(o,A){return o.distance===A.distance&&Z.equals(o.normal,A.normal)};h0.ORIGIN_XY_PLANE=Object.freeze(new h0(Z.UNIT_Z,0));h0.ORIGIN_YZ_PLANE=Object.freeze(new h0(Z.UNIT_X,0));h0.ORIGIN_ZX_PLANE=Object.freeze(new h0(Z.UNIT_Y,0));var ca=h0;function M_(o){this.planes=oe(o,[])}var i9=[new Z,new Z,new Z];Z.clone(Z.UNIT_X,i9[0]);Z.clone(Z.UNIT_Y,i9[1]);Z.clone(Z.UNIT_Z,i9[2]);var KM=new Z,Evt=new Z,OVe=new ca(new Z(1,0,0),0);M_.fromBoundingSphere=function(o,A){O(A)||(A=new M_);let f=i9.length,m=A.planes;m.length=2*f;let C=o.center,E=o.radius,x=0;for(let y=0;y0){C=E-1;continue}return E}return~(C+1)}var d0=_vt;function vvt(o,A,f,m,C){this.xPoleWander=o,this.yPoleWander=A,this.xPoleOffset=f,this.yPoleOffset=m,this.ut1MinusUtc=C}var kz=vvt;function Bvt(o,A,f,m,C,E,x,y){this.year=o,this.month=A,this.day=f,this.hour=m,this.minute=C,this.second=E,this.millisecond=x,this.isLeapSecond=y}var rG=Bvt;function wvt(o){return o%4===0&&o%100!==0||o%400===0}var X5=wvt;function bvt(o,A){this.julianDate=o,this.offset=A}var gA=bvt,Qvt={SECONDS_PER_MILLISECOND:.001,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,SECONDS_PER_HOUR:3600,MINUTES_PER_DAY:1440,SECONDS_PER_DAY:86400,DAYS_PER_JULIAN_CENTURY:36525,PICOSECOND:1e-9,MODIFIED_JULIAN_DATE_DIFFERENCE:24000005e-1},lu=Object.freeze(Qvt),Svt={UTC:0,TAI:1},_l=Object.freeze(Svt),GVe=new rG,Lue=[31,28,31,30,31,30,31,31,30,31,30,31],Fue=29;function wpe(o,A){return Kn.compare(o.julianDate,A.julianDate)}var Z5=new gA;function Ste(o){Z5.julianDate=o;let A=Kn.leapSeconds,f=d0(A,Z5,wpe);f<0&&(f=~f),f>=A.length&&(f=A.length-1);let m=A[f].offset;f>0&&Kn.secondsDifference(A[f].julianDate,o)>m&&(f--,m=A[f].offset),Kn.addSeconds(o,m,o)}function hLe(o,A){Z5.julianDate=o;let f=Kn.leapSeconds,m=d0(f,Z5,wpe);if(m<0&&(m=~m),m===0)return Kn.addSeconds(o,-f[0].offset,A);if(m>=f.length)return Kn.addSeconds(o,-f[m-1].offset,A);let C=Kn.secondsDifference(f[m].julianDate,o);if(C===0)return Kn.addSeconds(o,-f[m].offset,A);if(!(C<=1))return Kn.addSeconds(o,-f[--m].offset,A)}function eR(o,A,f){let m=A/lu.SECONDS_PER_DAY|0;return o+=m,A-=lu.SECONDS_PER_DAY*m,A<0&&(o--,A+=lu.SECONDS_PER_DAY),f.dayNumber=o,f.secondsOfDay=A,f}function bpe(o,A,f,m,C,E,x){let y=(A-14)/12|0,I=o+4800+y,v=(1461*I/4|0)+(367*(A-2-12*y)/12|0)-(3*((I+100)/100|0)/4|0)+f-32075;m=m-12,m<0&&(m+=24);let B=E+(m*lu.SECONDS_PER_HOUR+C*lu.SECONDS_PER_MINUTE+x*lu.SECONDS_PER_MILLISECOND);return B>=43200&&(v-=1),[v,B]}var Dvt=/^(\d{4})$/,Tvt=/^(\d{4})-(\d{2})$/,Mvt=/^(\d{4})-?(\d{3})$/,Pvt=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,Rvt=/^(\d{4})-?(\d{2})-?(\d{2})$/,Qpe=/([Z+\-])?(\d{2})?:?(\d{2})?$/,Lvt=/^(\d{2})(\.\d+)?/.source+Qpe.source,Fvt=/^(\d{2}):?(\d{2})(\.\d+)?/.source+Qpe.source,Nvt=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+Qpe.source;function Kn(o,A,f){this.dayNumber=void 0,this.secondsOfDay=void 0,o=oe(o,0),A=oe(A,0),f=oe(f,_l.UTC);let m=o|0;A=A+(o-m)*lu.SECONDS_PER_DAY,eR(m,A,this),f===_l.UTC&&Ste(this)}Kn.fromGregorianDate=function(o,A){let f=bpe(o.year,o.month,o.day,o.hour,o.minute,o.second,o.millisecond);return O(A)?(eR(f[0],f[1],A),Ste(A),A):new Kn(f[0],f[1],_l.UTC)};Kn.fromDate=function(o,A){let f=bpe(o.getUTCFullYear(),o.getUTCMonth()+1,o.getUTCDate(),o.getUTCHours(),o.getUTCMinutes(),o.getUTCSeconds(),o.getUTCMilliseconds());return O(A)?(eR(f[0],f[1],A),Ste(A),A):new Kn(f[0],f[1],_l.UTC)};Kn.fromIso8601=function(o,A){o=o.replace(",",".");let f=o.split("T"),m,C=1,E=1,x=0,y=0,I=0,v=0,B=f[0],Q=f[1],T,w;if(f=B.match(Rvt),f!==null)m=+f[1],C=+f[2],E=+f[3];else if(f=B.match(Tvt),f!==null)m=+f[1],C=+f[2];else if(f=B.match(Dvt),f!==null)m=+f[1];else{let P;if(f=B.match(Mvt),f!==null)m=+f[1],P=+f[2],w=X5(m);else if(f=B.match(Pvt),f!==null){m=+f[1];let M=+f[2],L=+f[3]||0,F=new Date(Date.UTC(m,0,4));P=M*7+L-F.getUTCDay()-3}T=new Date(Date.UTC(m,0,1)),T.setUTCDate(P),C=T.getUTCMonth()+1,E=T.getUTCDate()}w=X5(m);let S;if(O(Q)){f=Q.match(Nvt),f!==null?(x=+f[1],y=+f[2],I=+f[3],v=+(f[4]||0)*1e3,S=5):(f=Q.match(Fvt),f!==null?(x=+f[1],y=+f[2],I=+(f[3]||0)*60,S=4):(f=Q.match(Lvt),f!==null&&(x=+f[1],y=+(f[2]||0)*60,S=3)));let P=f[S],M=+f[S+1],L=+(f[S+2]||0);switch(P){case"+":x=x-M,y=y-L;break;case"-":x=x+M,y=y+L;break;case"Z":break;default:y=y+new Date(Date.UTC(m,C-1,E,x,y)).getTimezoneOffset();break}}let D=I===60;for(D&&I--;y>=60;)y-=60,x++;for(;x>=24;)x-=24,E++;for(T=w&&C===2?Fue:Lue[C-1];E>T;)E-=T,C++,C>12&&(C-=12,m++),T=w&&C===2?Fue:Lue[C-1];for(;y<0;)y+=60,x--;for(;x<0;)x+=24,E--;for(;E<1;)C--,C<1&&(C+=12,m--),T=w&&C===2?Fue:Lue[C-1],E+=T;let R=bpe(m,C,E,x,y,I,v);return O(A)?(eR(R[0],R[1],A),Ste(A)):A=new Kn(R[0],R[1],_l.UTC),D&&Kn.addSeconds(A,1,A),A};Kn.now=function(o){return Kn.fromDate(new Date,o)};var Hj=new Kn(0,0,_l.TAI);Kn.toGregorianDate=function(o,A){let f=!1,m=hLe(o,Hj);O(m)||(Kn.addSeconds(o,-1,Hj),m=hLe(Hj,Hj),f=!0);let C=m.dayNumber,E=m.secondsOfDay;E>=43200&&(C+=1);let x=C+68569|0,y=4*x/146097|0;x=x-((146097*y+3)/4|0)|0;let I=4e3*(x+1)/1461001|0;x=x-(1461*I/4|0)+31|0;let v=80*x/2447|0,B=x-(2447*v/80|0)|0;x=v/11|0;let Q=v+2-12*x|0,T=100*(y-49)+I+x|0,w=E/lu.SECONDS_PER_HOUR|0,S=E-w*lu.SECONDS_PER_HOUR,D=S/lu.SECONDS_PER_MINUTE|0;S=S-D*lu.SECONDS_PER_MINUTE;let R=S|0,P=(S-R)/lu.SECONDS_PER_MILLISECOND;return w+=12,w>23&&(w-=24),f&&(R+=1),O(A)?(A.year=T,A.month=Q,A.day=B,A.hour=w,A.minute=D,A.second=R,A.millisecond=P,A.isLeapSecond=f,A):new rG(T,Q,B,w,D,R,P,f)};Kn.toDate=function(o){let A=Kn.toGregorianDate(o,GVe),f=A.second;return A.isLeapSecond&&(f-=1),new Date(Date.UTC(A.year,A.month-1,A.day,A.hour,A.minute,f,A.millisecond))};Kn.toIso8601=function(o,A){let f=Kn.toGregorianDate(o,GVe),m=f.year,C=f.month,E=f.day,x=f.hour,y=f.minute,I=f.second,v=f.millisecond;m===1e4&&C===1&&E===1&&x===0&&y===0&&I===0&&v===0&&(m=9999,C=12,E=31,x=24);let B;return!O(A)&&v!==0?(B=(v*.01).toString().replace(".",""),`${m.toString().padStart(4,"0")}-${C.toString().padStart(2,"0")}-${E.toString().padStart(2,"0")}T${x.toString().padStart(2,"0")}:${y.toString().padStart(2,"0")}:${I.toString().padStart(2,"0")}.${B}Z`):!O(A)||A===0?`${m.toString().padStart(4,"0")}-${C.toString().padStart(2,"0")}-${E.toString().padStart(2,"0")}T${x.toString().padStart(2,"0")}:${y.toString().padStart(2,"0")}:${I.toString().padStart(2,"0")}Z`:(B=(v*.01).toFixed(A).replace(".","").slice(0,A),`${m.toString().padStart(4,"0")}-${C.toString().padStart(2,"0")}-${E.toString().padStart(2,"0")}T${x.toString().padStart(2,"0")}:${y.toString().padStart(2,"0")}:${I.toString().padStart(2,"0")}.${B}Z`)};Kn.clone=function(o,A){if(O(o))return O(A)?(A.dayNumber=o.dayNumber,A.secondsOfDay=o.secondsOfDay,A):new Kn(o.dayNumber,o.secondsOfDay,_l.TAI)};Kn.compare=function(o,A){let f=o.dayNumber-A.dayNumber;return f!==0?f:o.secondsOfDay-A.secondsOfDay};Kn.equals=function(o,A){return o===A||O(o)&&O(A)&&o.dayNumber===A.dayNumber&&o.secondsOfDay===A.secondsOfDay};Kn.equalsEpsilon=function(o,A,f){return f=oe(f,0),o===A||O(o)&&O(A)&&Math.abs(Kn.secondsDifference(o,A))<=f};Kn.totalDays=function(o){return o.dayNumber+o.secondsOfDay/lu.SECONDS_PER_DAY};Kn.secondsDifference=function(o,A){return(o.dayNumber-A.dayNumber)*lu.SECONDS_PER_DAY+(o.secondsOfDay-A.secondsOfDay)};Kn.daysDifference=function(o,A){let f=o.dayNumber-A.dayNumber,m=(o.secondsOfDay-A.secondsOfDay)/lu.SECONDS_PER_DAY;return f+m};Kn.computeTaiMinusUtc=function(o){Z5.julianDate=o;let A=Kn.leapSeconds,f=d0(A,Z5,wpe);return f<0&&(f=~f,--f,f<0&&(f=0)),A[f].offset};Kn.addSeconds=function(o,A,f){return eR(o.dayNumber,o.secondsOfDay+A,f)};Kn.addMinutes=function(o,A,f){let m=o.secondsOfDay+A*lu.SECONDS_PER_MINUTE;return eR(o.dayNumber,m,f)};Kn.addHours=function(o,A,f){let m=o.secondsOfDay+A*lu.SECONDS_PER_HOUR;return eR(o.dayNumber,m,f)};Kn.addDays=function(o,A,f){let m=o.dayNumber+A;return eR(m,o.secondsOfDay,f)};Kn.lessThan=function(o,A){return Kn.compare(o,A)<0};Kn.lessThanOrEquals=function(o,A){return Kn.compare(o,A)<=0};Kn.greaterThan=function(o,A){return Kn.compare(o,A)>0};Kn.greaterThanOrEquals=function(o,A){return Kn.compare(o,A)>=0};Kn.prototype.clone=function(o){return Kn.clone(this,o)};Kn.prototype.equals=function(o){return Kn.equals(this,o)};Kn.prototype.equalsEpsilon=function(o,A){return Kn.equalsEpsilon(this,o,A)};Kn.prototype.toString=function(){return Kn.toIso8601(this)};Kn.leapSeconds=[new gA(new Kn(2441317,43210,_l.TAI),10),new gA(new Kn(2441499,43211,_l.TAI),11),new gA(new Kn(2441683,43212,_l.TAI),12),new gA(new Kn(2442048,43213,_l.TAI),13),new gA(new Kn(2442413,43214,_l.TAI),14),new gA(new Kn(2442778,43215,_l.TAI),15),new gA(new Kn(2443144,43216,_l.TAI),16),new gA(new Kn(2443509,43217,_l.TAI),17),new gA(new Kn(2443874,43218,_l.TAI),18),new gA(new Kn(2444239,43219,_l.TAI),19),new gA(new Kn(2444786,43220,_l.TAI),20),new gA(new Kn(2445151,43221,_l.TAI),21),new gA(new Kn(2445516,43222,_l.TAI),22),new gA(new Kn(2446247,43223,_l.TAI),23),new gA(new Kn(2447161,43224,_l.TAI),24),new gA(new Kn(2447892,43225,_l.TAI),25),new gA(new Kn(2448257,43226,_l.TAI),26),new gA(new Kn(2448804,43227,_l.TAI),27),new gA(new Kn(2449169,43228,_l.TAI),28),new gA(new Kn(2449534,43229,_l.TAI),29),new gA(new Kn(2450083,43230,_l.TAI),30),new gA(new Kn(2450630,43231,_l.TAI),31),new gA(new Kn(2451179,43232,_l.TAI),32),new gA(new Kn(2453736,43233,_l.TAI),33),new gA(new Kn(2454832,43234,_l.TAI),34),new gA(new Kn(2456109,43235,_l.TAI),35),new gA(new Kn(2457204,43236,_l.TAI),36),new gA(new Kn(2457754,43237,_l.TAI),37)];var Zt=Kn;function r9(o){o=oe(o,oe.EMPTY_OBJECT),this._dates=void 0,this._samples=void 0,this._dateColumn=-1,this._xPoleWanderRadiansColumn=-1,this._yPoleWanderRadiansColumn=-1,this._ut1MinusUtcSecondsColumn=-1,this._xCelestialPoleOffsetRadiansColumn=-1,this._yCelestialPoleOffsetRadiansColumn=-1,this._taiMinusUtcSecondsColumn=-1,this._columnCount=0,this._lastIndex=-1,this._addNewLeapSeconds=oe(o.addNewLeapSeconds,!0),O(o.data)?dLe(this,o.data):dLe(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})}r9.fromUrl=async function(o,A){A=oe(A,oe.EMPTY_OBJECT);let f=Cr.createIfNeeded(o),m;try{m=await f.fetchJson()}catch{throw new ki(`An error occurred while retrieving the EOP data from the URL ${f.url}.`)}return new r9({addNewLeapSeconds:A.addNewLeapSeconds,data:m})};r9.NONE=Object.freeze({compute:function(o,A){return O(A)?(A.xPoleWander=0,A.yPoleWander=0,A.xPoleOffset=0,A.yPoleOffset=0,A.ut1MinusUtc=0):A=new kz(0,0,0,0,0),A}});r9.prototype.compute=function(o,A){if(!O(this._samples))return;if(O(A)||(A=new kz(0,0,0,0,0)),this._samples.length===0)return A.xPoleWander=0,A.yPoleWander=0,A.xPoleOffset=0,A.yPoleOffset=0,A.ut1MinusUtc=0,A;let f=this._dates,m=this._lastIndex,C=0,E=0;if(O(m)){let y=f[m],I=f[m+1],v=Zt.lessThanOrEquals(y,o),B=!O(I),Q=B||Zt.greaterThanOrEquals(I,o);if(v&&Q)return C=m,!B&&I.equals(o)&&++C,E=C+1,gLe(this,f,this._samples,o,C,E,A),A}let x=d0(f,o,Zt.compare,this._dateColumn);return x>=0?(xA.length-1)return x.xPoleWander=0,x.yPoleWander=0,x.xPoleOffset=0,x.yPoleOffset=0,x.ut1MinusUtc=0,x;let I=A[C],v=A[E];if(I.equals(v)||m.equals(I))return fLe(o,f,C,y,x),x;if(m.equals(v))return fLe(o,f,E,y,x),x;let B=Zt.secondsDifference(m,I)/Zt.secondsDifference(v,I),Q=C*y,T=E*y,w=f[Q+o._ut1MinusUtcSecondsColumn],S=f[T+o._ut1MinusUtcSecondsColumn],D=S-w;if(D>.5||D<-.5){let R=f[Q+o._taiMinusUtcSecondsColumn],P=f[T+o._taiMinusUtcSecondsColumn];R!==P&&(v.equals(m)?w=S:S-=P-R)}return x.xPoleWander=G6(B,f[Q+o._xPoleWanderRadiansColumn],f[T+o._xPoleWanderRadiansColumn]),x.yPoleWander=G6(B,f[Q+o._yPoleWanderRadiansColumn],f[T+o._yPoleWanderRadiansColumn]),x.xPoleOffset=G6(B,f[Q+o._xCelestialPoleOffsetRadiansColumn],f[T+o._xCelestialPoleOffsetRadiansColumn]),x.yPoleOffset=G6(B,f[Q+o._yCelestialPoleOffsetRadiansColumn],f[T+o._yCelestialPoleOffsetRadiansColumn]),x.ut1MinusUtc=G6(B,w,S),x}var Spe=r9;function AC(o,A,f){this.heading=oe(o,0),this.pitch=oe(A,0),this.roll=oe(f,0)}AC.fromQuaternion=function(o,A){O(A)||(A=new AC);let f=2*(o.w*o.y-o.z*o.x),m=1-2*(o.x*o.x+o.y*o.y),C=2*(o.w*o.x+o.y*o.z),E=1-2*(o.y*o.y+o.z*o.z),x=2*(o.w*o.z+o.x*o.y);return A.heading=-Math.atan2(x,E),A.roll=Math.atan2(C,m),A.pitch=-Be.asinClamped(f),A};AC.fromDegrees=function(o,A,f,m){return O(m)||(m=new AC),m.heading=o*Be.RADIANS_PER_DEGREE,m.pitch=A*Be.RADIANS_PER_DEGREE,m.roll=f*Be.RADIANS_PER_DEGREE,m};AC.clone=function(o,A){if(O(o))return O(A)?(A.heading=o.heading,A.pitch=o.pitch,A.roll=o.roll,A):new AC(o.heading,o.pitch,o.roll)};AC.equals=function(o,A){return o===A||O(o)&&O(A)&&o.heading===A.heading&&o.pitch===A.pitch&&o.roll===A.roll};AC.equalsEpsilon=function(o,A,f,m){return o===A||O(o)&&O(A)&&Be.equalsEpsilon(o.heading,A.heading,f,m)&&Be.equalsEpsilon(o.pitch,A.pitch,f,m)&&Be.equalsEpsilon(o.roll,A.roll,f,m)};AC.prototype.clone=function(o){return AC.clone(this,o)};AC.prototype.equals=function(o){return AC.equals(this,o)};AC.prototype.equalsEpsilon=function(o,A,f){return AC.equalsEpsilon(this,o,A,f)};AC.prototype.toString=function(){return`(${this.heading}, ${this.pitch}, ${this.roll})`};var bs=AC;function Ovt(o,A,f){this.x=o,this.y=A,this.s=f}var Dte=Ovt;function Dpe(o){o=oe(o,oe.EMPTY_OBJECT),this._xysFileUrlTemplate=Cr.createIfNeeded(o.xysFileUrlTemplate),this._interpolationOrder=oe(o.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=oe(o.sampleZeroJulianEphemerisDate,24423965e-1),this._sampleZeroDateTT=new Zt(this._sampleZeroJulianEphemerisDate,0,_l.TAI),this._stepSizeDays=oe(o.stepSizeDays,1),this._samplesPerXysFile=oe(o.samplesPerXysFile,1e3),this._totalSamples=oe(o.totalSamples,27426),this._samples=new Array(this._totalSamples*3),this._chunkDownloadsInProgress=[];let A=this._interpolationOrder,f=this._denominators=new Array(A+1),m=this._xTable=new Array(A+1),C=Math.pow(this._stepSizeDays,A);for(let E=0;E<=A;++E){f[E]=C,m[E]=E*this._stepSizeDays;for(let x=0;x<=A;++x)x!==E&&(f[E]*=E-x);f[E]=1/f[E]}this._work=new Array(A+1),this._coef=new Array(A+1)}var Uvt=new Zt(0,0,_l.TAI);function Jde(o,A,f){let m=Uvt;return m.dayNumber=A,m.secondsOfDay=f,Zt.daysDifference(m,o._sampleZeroDateTT)}Dpe.prototype.preload=function(o,A,f,m){let C=Jde(this,o,A),E=Jde(this,f,m),x=C/this._stepSizeDays-this._interpolationOrder/2|0;x<0&&(x=0);let y=E/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;y>=this._totalSamples&&(y=this._totalSamples-1);let I=x/this._samplesPerXysFile|0,v=y/this._samplesPerXysFile|0,B=[];for(let Q=I;Q<=v;++Q)B.push(Kde(this,Q));return Promise.all(B)};Dpe.prototype.computeXysRadians=function(o,A,f){let m=Jde(this,o,A);if(m<0)return;let C=m/this._stepSizeDays|0;if(C>=this._totalSamples)return;let E=this._interpolationOrder,x=C-(E/2|0);x<0&&(x=0);let y=x+E;y>=this._totalSamples&&(y=this._totalSamples-1,x=y-E,x<0&&(x=0));let I=!1,v=this._samples;if(O(v[x*3])||(Kde(this,x/this._samplesPerXysFile|0),I=!0),O(v[y*3])||(Kde(this,y/this._samplesPerXysFile|0),I=!0),I)return;O(f)?(f.x=0,f.y=0,f.s=0):f=new Dte(0,0,0);let B=m-x*this._stepSizeDays,Q=this._work,T=this._denominators,w=this._coef,S=this._xTable,D,R;for(D=0;D<=E;++D)Q[D]=B-S[D];for(D=0;D<=E;++D){for(w[D]=1,R=0;R<=E;++R)R!==D&&(w[D]*=Q[R]);w[D]*=T[D];let P=(x+D)*3;f.x+=w[D]*v[P++],f.y+=w[D]*v[P++],f.s+=w[D]*v[P]}return f};function Kde(o,A){if(o._chunkDownloadsInProgress[A])return o._chunkDownloadsInProgress[A];let f,m=o._xysFileUrlTemplate;O(m)?f=m.getDerivedResource({templateValues:{0:A}}):f=new Cr({url:ja(`Assets/IAU2006_XYS/IAU2006_XYS_${A}.json`)});let C=f.fetchJson().then(function(E){o._chunkDownloadsInProgress[A]=!1;let x=o._samples,y=E.samples,I=A*o._samplesPerXysFile*3;for(let v=0,B=y.length;v0)f=Math.sqrt(B+1),x=.5*f,f=.5/f,m=(o[Gt.COLUMN1ROW2]-o[Gt.COLUMN2ROW1])*f,C=(o[Gt.COLUMN2ROW0]-o[Gt.COLUMN0ROW2])*f,E=(o[Gt.COLUMN0ROW1]-o[Gt.COLUMN1ROW0])*f;else{let Q=Gvt,T=0;I>y&&(T=1),v>y&&v>I&&(T=2);let w=Q[T],S=Q[w];f=Math.sqrt(o[Gt.getElementIndex(T,T)]-o[Gt.getElementIndex(w,w)]-o[Gt.getElementIndex(S,S)]+1);let D=Hvt;D[T]=.5*f,f=.5/f,x=(o[Gt.getElementIndex(S,w)]-o[Gt.getElementIndex(w,S)])*f,D[w]=(o[Gt.getElementIndex(w,T)]+o[Gt.getElementIndex(T,w)])*f,D[S]=(o[Gt.getElementIndex(S,T)]+o[Gt.getElementIndex(T,S)])*f,m=-D[0],C=-D[1],E=-D[2]}return O(A)?(A.x=m,A.y=C,A.z=E,A.w=x,A):new cn(m,C,E,x)};var pLe=new cn,mLe=new cn,Nue=new cn,CLe=new cn;cn.fromHeadingPitchRoll=function(o,A){return CLe=cn.fromAxisAngle(Z.UNIT_X,o.roll,pLe),Nue=cn.fromAxisAngle(Z.UNIT_Y,-o.pitch,A),A=cn.multiply(Nue,CLe,Nue),mLe=cn.fromAxisAngle(Z.UNIT_Z,-o.heading,pLe),cn.multiply(mLe,A,A)};var Vj=new Z,kue=new Z,GB=new cn,ELe=new cn,zj=new cn;cn.packedLength=4;cn.pack=function(o,A,f){return f=oe(f,0),A[f++]=o.x,A[f++]=o.y,A[f++]=o.z,A[f]=o.w,A};cn.unpack=function(o,A,f){return A=oe(A,0),O(f)||(f=new cn),f.x=o[A],f.y=o[A+1],f.z=o[A+2],f.w=o[A+3],f};cn.packedInterpolationLength=3;cn.convertPackedArrayForInterpolation=function(o,A,f,m){cn.unpack(o,f*4,zj),cn.conjugate(zj,zj);for(let C=0,E=f-A+1;C=0?E=1:(E=-1,C=-C);let x=C-1,y=1-f,I=f*f,v=y*y;for(let w=7;w>=0;--w)PS[w]=(o$[w]*I-a$[w])*x,RS[w]=(o$[w]*v-a$[w])*x;let B=E*f*(1+PS[0]*(1+PS[1]*(1+PS[2]*(1+PS[3]*(1+PS[4]*(1+PS[5]*(1+PS[6]*(1+PS[7])))))))),Q=y*(1+RS[0]*(1+RS[1]*(1+RS[2]*(1+RS[3]*(1+RS[4]*(1+RS[5]*(1+RS[6]*(1+RS[7])))))))),T=cn.multiplyByScalar(o,Q,Yvt);return cn.multiplyByScalar(A,B,m),cn.add(T,m,m)};cn.fastSquad=function(o,A,f,m,C,E){let x=cn.fastSlerp(o,A,C,C7),y=cn.fastSlerp(f,m,C,i5);return cn.fastSlerp(x,y,2*C*(1-C),E)};cn.equals=function(o,A){return o===A||O(o)&&O(A)&&o.x===A.x&&o.y===A.y&&o.z===A.z&&o.w===A.w};cn.equalsEpsilon=function(o,A,f){return f=oe(f,0),o===A||O(o)&&O(A)&&Math.abs(o.x-A.x)<=f&&Math.abs(o.y-A.y)<=f&&Math.abs(o.z-A.z)<=f&&Math.abs(o.w-A.w)<=f};cn.ZERO=Object.freeze(new cn(0,0,0,0));cn.IDENTITY=Object.freeze(new cn(0,0,0,1));cn.prototype.clone=function(o){return cn.clone(this,o)};cn.prototype.equals=function(o){return cn.equals(this,o)};cn.prototype.equalsEpsilon=function(o,A){return cn.equalsEpsilon(this,o,A)};cn.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z}, ${this.w})`};var fr=cn,Ku={},Hue={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},lU={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},Vue={},ix={east:new Z,north:new Z,up:new Z,west:new Z,south:new Z,down:new Z},WM=new Z,jM=new Z,qM=new Z;Ku.localFrameToFixedFrameGenerator=function(o,A){if(!Hue.hasOwnProperty(o)||!Hue[o].hasOwnProperty(A))throw new Ai("firstAxis and secondAxis must be east, north, up, west, south or down.");let f=Hue[o][A],m,C=o+A;return O(Vue[C])?m=Vue[C]:(m=function(E,x,y){if(O(y)||(y=new Re),Z.equalsEpsilon(E,Z.ZERO,Be.EPSILON14))Z.unpack(lU[o],0,WM),Z.unpack(lU[A],0,jM),Z.unpack(lU[f],0,qM);else if(Be.equalsEpsilon(E.x,0,Be.EPSILON14)&&Be.equalsEpsilon(E.y,0,Be.EPSILON14)){let I=Be.sign(E.z);Z.unpack(lU[o],0,WM),o!=="east"&&o!=="west"&&Z.multiplyByScalar(WM,I,WM),Z.unpack(lU[A],0,jM),A!=="east"&&A!=="west"&&Z.multiplyByScalar(jM,I,jM),Z.unpack(lU[f],0,qM),f!=="east"&&f!=="west"&&Z.multiplyByScalar(qM,I,qM)}else{x=oe(x,Ci.WGS84),x.geodeticSurfaceNormal(E,ix.up);let I=ix.up,v=ix.east;v.x=-E.y,v.y=E.x,v.z=0,Z.normalize(v,ix.east),Z.cross(I,v,ix.north),Z.multiplyByScalar(ix.up,-1,ix.down),Z.multiplyByScalar(ix.east,-1,ix.west),Z.multiplyByScalar(ix.north,-1,ix.south),WM=ix[o],jM=ix[A],qM=ix[f]}return y[0]=WM.x,y[1]=WM.y,y[2]=WM.z,y[3]=0,y[4]=jM.x,y[5]=jM.y,y[6]=jM.z,y[7]=0,y[8]=qM.x,y[9]=qM.y,y[10]=qM.z,y[11]=0,y[12]=E.x,y[13]=E.y,y[14]=E.z,y[15]=1,y},Vue[C]=m),m};Ku.eastNorthUpToFixedFrame=Ku.localFrameToFixedFrameGenerator("east","north");Ku.northEastDownToFixedFrame=Ku.localFrameToFixedFrameGenerator("north","east");Ku.northUpEastToFixedFrame=Ku.localFrameToFixedFrameGenerator("north","up");Ku.northWestUpToFixedFrame=Ku.localFrameToFixedFrameGenerator("north","west");var Jvt=new fr,Kvt=new Z(1,1,1),Wvt=new Re;Ku.headingPitchRollToFixedFrame=function(o,A,f,m,C){m=oe(m,Ku.eastNorthUpToFixedFrame);let E=fr.fromHeadingPitchRoll(A,Jvt),x=Re.fromTranslationQuaternionRotationScale(Z.ZERO,E,Kvt,Wvt);return C=m(o,f,C),Re.multiply(C,x,C)};var jvt=new Re,qvt=new Gt;Ku.headingPitchRollQuaternion=function(o,A,f,m,C){let E=Ku.headingPitchRollToFixedFrame(o,A,f,m,jvt),x=Re.getMatrix3(E,qvt);return fr.fromRotationMatrix(x,C)};var Xvt=new Z(1,1,1),Zvt=new Z,yLe=new Re,$vt=new Re,eBt=new Gt,tBt=new fr;Ku.fixedFrameToHeadingPitchRoll=function(o,A,f,m){A=oe(A,Ci.WGS84),f=oe(f,Ku.eastNorthUpToFixedFrame),O(m)||(m=new bs);let C=Re.getTranslation(o,Zvt);if(Z.equals(C,Z.ZERO))return m.heading=0,m.pitch=0,m.roll=0,m;let E=Re.inverseTransformation(f(C,A,yLe),yLe),x=Re.setScale(o,Xvt,$vt);x=Re.setTranslation(x,Z.ZERO,x),E=Re.multiply(E,x,E);let y=fr.fromRotationMatrix(Re.getMatrix3(E,eBt),tBt);return y=fr.normalize(y,y),bs.fromQuaternion(y,m)};var iBt=6*3600+41*60+50.54841,rBt=8640184812866e-6,nBt=.093104,oBt=-62e-7,aBt=11772758384668e-32,sBt=72921158553e-15,lBt=Be.TWO_PI/86400,Yj=new Zt;Ku.computeTemeToPseudoFixedMatrix=function(o,A){Yj=Zt.addSeconds(o,-Zt.computeTaiMinusUtc(o),Yj);let f=Yj.dayNumber,m=Yj.secondsOfDay,C,E=f-2451545;m>=43200?C=(E+.5)/lu.DAYS_PER_JULIAN_CENTURY:C=(E-.5)/lu.DAYS_PER_JULIAN_CENTURY;let x=(iBt+C*(rBt+C*(nBt+C*oBt)))*lBt%Be.TWO_PI,y=sBt+aBt*(f-24515455e-1),I=(m+lu.SECONDS_PER_DAY*.5)%lu.SECONDS_PER_DAY,v=x+y*I,B=Math.cos(v),Q=Math.sin(v);return O(A)?(A[0]=B,A[1]=-Q,A[2]=0,A[3]=Q,A[4]=B,A[5]=0,A[6]=0,A[7]=0,A[8]=1,A):new Gt(B,Q,0,-Q,B,0,0,0,1)};Ku.iau2006XysData=new Tpe;Ku.earthOrientationParameters=Spe.NONE;var Wde=32.184,uBt=2451545;Ku.preloadIcrfFixed=function(o){let A=o.start.dayNumber,f=o.start.secondsOfDay+Wde,m=o.stop.dayNumber,C=o.stop.secondsOfDay+Wde;return Ku.iau2006XysData.preload(A,f,m,C)};Ku.computeIcrfToFixedMatrix=function(o,A){O(A)||(A=new Gt);let f=Ku.computeFixedToIcrfMatrix(o,A);if(O(f))return Gt.transpose(f,A)};var ABt=new Dte(0,0,0),cBt=new kz(0,0,0,0,0,0),zue=new Gt,Yue=new Gt;Ku.computeFixedToIcrfMatrix=function(o,A){O(A)||(A=new Gt);let f=Ku.earthOrientationParameters.compute(o,cBt);if(!O(f))return;let m=o.dayNumber,C=o.secondsOfDay+Wde,E=Ku.iau2006XysData.computeXysRadians(m,C,ABt);if(!O(E))return;let x=E.x+f.xPoleOffset,y=E.y+f.yPoleOffset,I=1/(1+Math.sqrt(1-x*x-y*y)),v=zue;v[0]=1-I*x*x,v[3]=-I*x*y,v[6]=x,v[1]=-I*x*y,v[4]=1-I*y*y,v[7]=y,v[2]=-x,v[5]=-y,v[8]=1-I*(x*x+y*y);let B=Gt.fromRotationZ(-E.s,Yue),Q=Gt.multiply(v,B,zue),T=o.dayNumber,w=o.secondsOfDay-Zt.computeTaiMinusUtc(o)+f.ut1MinusUtc,S=T-2451545,D=w/lu.SECONDS_PER_DAY,R=.779057273264+D+.00273781191135448*(S+D);R=R%1*Be.TWO_PI;let P=Gt.fromRotationZ(R,Yue),M=Gt.multiply(Q,P,zue),L=Math.cos(f.xPoleWander),F=Math.cos(f.yPoleWander),k=Math.sin(f.xPoleWander),N=Math.sin(f.yPoleWander),G=m-uBt+C/lu.SECONDS_PER_DAY;G/=36525;let J=-47e-6*G*Be.RADIANS_PER_DEGREE/3600,K=Math.cos(J),X=Math.sin(J),q=Yue;return q[0]=L*K,q[1]=L*X,q[2]=k,q[3]=-F*X+N*k*K,q[4]=F*K+N*k*X,q[5]=-N*L,q[6]=-N*X-F*k*K,q[7]=N*K-F*k*X,q[8]=F*L,Gt.multiply(M,q,A)};var hBt=new zt;Ku.pointToWindowCoordinates=function(o,A,f,m){return m=Ku.pointToGLWindowCoordinates(o,A,f,m),m.y=2*A[5]-m.y,m};Ku.pointToGLWindowCoordinates=function(o,A,f,m){O(m)||(m=new rt);let C=hBt;return Re.multiplyByVector(o,zt.fromElements(f.x,f.y,f.z,1,C),C),zt.multiplyByScalar(C,1/C.w,C),Re.multiplyByVector(A,C,C),rt.fromCartesian4(C,m)};var dBt=new Z,fBt=new Z,gBt=new Z;Ku.rotationMatrixFromPositionVelocity=function(o,A,f,m){let C=oe(f,Ci.WGS84).geodeticSurfaceNormal(o,dBt),E=Z.cross(A,C,fBt);Z.equalsEpsilon(E,Z.ZERO,Be.EPSILON6)&&(E=Z.clone(Z.UNIT_X,E));let x=Z.cross(E,A,gBt);return Z.normalize(x,x),Z.cross(A,x,E),Z.negate(E,E),Z.normalize(E,E),O(m)||(m=new Gt),m[0]=A.x,m[1]=A.y,m[2]=A.z,m[3]=E.x,m[4]=E.y,m[5]=E.z,m[6]=x.x,m[7]=x.y,m[8]=x.z,m};var VVe=new Re(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),zVe=new Rt,YVe=new Z,pBt=new Z,mBt=new Gt,jde=new Re,JVe=new Re;Ku.basisTo2D=function(o,A,f){let m=Re.getTranslation(A,pBt),C=o.ellipsoid,E=C.cartesianToCartographic(m,zVe),x=o.project(E,YVe);Z.fromElements(x.z,x.x,x.y,x);let y=Ku.eastNorthUpToFixedFrame(m,C,jde),I=Re.inverseTransformation(y,JVe),v=Re.getMatrix3(A,mBt),B=Re.multiplyByMatrix3(I,v,f);return Re.multiply(VVe,B,f),Re.setTranslation(f,x,f),f};Ku.wgs84To2DModelMatrix=function(o,A,f){let m=o.ellipsoid,C=Ku.eastNorthUpToFixedFrame(A,m,jde),E=Re.inverseTransformation(C,JVe),x=m.cartesianToCartographic(A,zVe),y=o.project(x,YVe);Z.fromElements(y.z,y.x,y.y,y);let I=Re.fromTranslation(y,jde);return Re.multiply(VVe,E,f),Re.multiply(I,f,f),f};var kr=Ku,Wp={},CBt=new zt(0,0,0,1),Um=new zt,EBt=new vr,Jue=new rt,Kue=new rt;Wp.wgs84ToWindowCoordinates=function(o,A,f){return Wp.wgs84WithEyeOffsetToWindowCoordinates(o,A,Z.ZERO,f)};var ILe=new zt,_Le=new Z;function V6(o,A,f,m){let C=f.viewMatrix,E=Re.multiplyByVector(C,zt.fromElements(o.x,o.y,o.z,1,ILe),ILe),x=Z.multiplyComponents(A,Z.normalize(E,_Le),_Le);return E.x+=A.x+x.x,E.y+=A.y+x.y,E.z+=x.z,Re.multiplyByVector(f.frustum.projectionMatrix,E,m)}var xBt=new Rt(Math.PI,Be.PI_OVER_TWO),yBt=new Z,IBt=new Z;Wp.wgs84WithEyeOffsetToWindowCoordinates=function(o,A,f,m){let C=o.frameState,E=Wp.computeActualWgs84Position(C,A,CBt);if(!O(E))return;let x=o.canvas,y=EBt;y.x=0,y.y=0,y.width=x.clientWidth,y.height=x.clientHeight;let I=o.camera,v=!1;if(C.mode===ni.SCENE2D){let B=o.mapProjection,Q=xBt,T=B.project(Q,yBt),w=Z.clone(I.position,IBt),S=I.frustum.clone(),D=Re.computeViewportTransformation(y,0,1,new Re),R=I.frustum.projectionMatrix,P=I.positionWC.y,M=Z.fromElements(Be.sign(P)*T.x-P,0,-I.positionWC.x),L=kr.pointToGLWindowCoordinates(R,D,M);if(P===0||L.x<=0||L.x>=x.clientWidth)v=!0;else{if(L.x>x.clientWidth*.5){y.width=L.x,I.frustum.right=T.x-P,Um=V6(E,f,I,Um),Wp.clipToGLWindowCoordinates(y,Um,Jue),y.x+=L.x,I.position.x=-I.position.x;let F=I.frustum.right;I.frustum.right=-I.frustum.left,I.frustum.left=-F,Um=V6(E,f,I,Um),Wp.clipToGLWindowCoordinates(y,Um,Kue)}else{y.x+=L.x,y.width-=L.x,I.frustum.left=-T.x-P,Um=V6(E,f,I,Um),Wp.clipToGLWindowCoordinates(y,Um,Jue),y.x=y.x-y.width,I.position.x=-I.position.x;let F=I.frustum.left;I.frustum.left=-I.frustum.right,I.frustum.right=-F,Um=V6(E,f,I,Um),Wp.clipToGLWindowCoordinates(y,Um,Kue)}Z.clone(w,I.position),I.frustum=S.clone(),m=rt.clone(Jue,m),(m.x<0||m.x>x.clientWidth)&&(m.x=Kue.x)}}if(C.mode!==ni.SCENE2D||v){if(Um=V6(E,f,I,Um),Um.z<0&&!(I.frustum instanceof us)&&!(I.frustum instanceof Xf))return;m=Wp.clipToGLWindowCoordinates(y,Um,m)}return m.y=x.clientHeight-m.y,m};Wp.wgs84ToDrawingBufferCoordinates=function(o,A,f){if(f=Wp.wgs84ToWindowCoordinates(o,A,f),!!O(f))return Wp.transformWindowToDrawingBuffer(o,f,f)};var LS=new Z,_Bt=new Rt;Wp.computeActualWgs84Position=function(o,A,f){let m=o.mode;if(m===ni.SCENE3D)return Z.clone(A,f);let C=o.mapProjection,E=C.ellipsoid.cartesianToCartographic(A,_Bt);if(!O(E))return;if(C.project(E,LS),m===ni.COLUMBUS_VIEW)return Z.fromElements(LS.z,LS.x,LS.y,f);if(m===ni.SCENE2D)return Z.fromElements(0,LS.x,LS.y,f);let x=o.morphTime;return Z.fromElements(Be.lerp(LS.z,A.x,x),Be.lerp(LS.x,A.y,x),Be.lerp(LS.y,A.z,x),f)};var vLe=new Z,BLe=new Z,wLe=new Re;Wp.clipToGLWindowCoordinates=function(o,A,f){return Z.divideByScalar(A,A.w,vLe),Re.computeViewportTransformation(o,0,1,wLe),Re.multiplyByPoint(wLe,vLe,BLe),rt.fromCartesian3(BLe,f)};Wp.transformWindowToDrawingBuffer=function(o,A,f){let m=o.canvas,C=o.drawingBufferWidth/m.clientWidth,E=o.drawingBufferHeight/m.clientHeight;return rt.fromElements(A.x*C,A.y*E,f)};var vBt=new zt,bLe=new zt;Wp.drawingBufferToWgs84Coordinates=function(o,A,f,m){let C=o.context.uniformState,E=C.currentFrustum,x=E.x,y=E.y;if(o.frameState.useLogDepth){let T=f*C.log2FarDepthFromNearPlusOne,w=Math.pow(2,T)-1;f=y*(1-x/(w+x))/(y-x)}let I=o.view.passState.viewport,v=zt.clone(zt.UNIT_W,vBt);v.x=(A.x-I.x)/I.width*2-1,v.y=(A.y-I.y)/I.height*2-1,v.z=f*2-1,v.w=1;let B,Q=o.camera.frustum;if(O(Q.fovy)){B=Re.multiplyByVector(C.inverseViewProjection,v,bLe);let T=1/B.w;Z.multiplyByScalar(B,T,B)}else{let T=Q.offCenterFrustum;O(T)&&(Q=T),B=bLe,B.x=(v.x*(Q.right-Q.left)+Q.left+Q.right)*.5,B.y=(v.y*(Q.top-Q.bottom)+Q.bottom+Q.top)*.5,B.z=(v.z*(x-y)-x-y)*.5,B.w=1,B=Re.multiplyByVector(C.inverseView,B,B)}return Z.fromCartesian4(B,m)};var ms=Wp,BBt={CENTER:0,BOTTOM:1,BASELINE:2,TOP:-1},hn=Object.freeze(BBt);function tu(o,A){o=oe(o,oe.EMPTY_OBJECT);let f=o.translucencyByDistance,m=o.pixelOffsetScaleByDistance,C=o.scaleByDistance,E=o.distanceDisplayCondition;O(f)&&(f=Eo.clone(f)),O(m)&&(m=Eo.clone(m)),O(C)&&(C=Eo.clone(C)),O(E)&&(E=po.clone(E)),this._show=oe(o.show,!0),this._position=Z.clone(oe(o.position,Z.ZERO)),this._actualPosition=Z.clone(this._position),this._pixelOffset=rt.clone(oe(o.pixelOffset,rt.ZERO)),this._translate=new rt(0,0),this._eyeOffset=Z.clone(oe(o.eyeOffset,Z.ZERO)),this._heightReference=oe(o.heightReference,An.NONE),this._verticalOrigin=oe(o.verticalOrigin,hn.CENTER),this._horizontalOrigin=oe(o.horizontalOrigin,Ru.CENTER),this._scale=oe(o.scale,1),this._color=Ve.clone(oe(o.color,Ve.WHITE)),this._rotation=oe(o.rotation,0),this._alignedAxis=Z.clone(oe(o.alignedAxis,Z.ZERO)),this._width=o.width,this._height=o.height,this._scaleByDistance=C,this._translucencyByDistance=f,this._pixelOffsetScaleByDistance=m,this._sizeInMeters=oe(o.sizeInMeters,!1),this._distanceDisplayCondition=E,this._disableDepthTestDistance=o.disableDepthTestDistance,this._id=o.id,this._collection=oe(o.collection,A),this._pickId=void 0,this._pickPrimitive=oe(o._pickPrimitive,this),this._billboardCollection=A,this._dirty=!1,this._index=-1,this._batchIndex=void 0,this._imageIndex=-1,this._imageIndexPromise=void 0,this._imageId=void 0,this._image=void 0,this._imageSubRegion=void 0,this._imageWidth=void 0,this._imageHeight=void 0,this._labelDimensions=void 0,this._labelHorizontalOrigin=void 0,this._labelTranslate=void 0;let x=o.image,y=o.imageId;O(x)&&(O(y)||(typeof x=="string"?y=x:O(x.src)?y=x.src:y=Rl()),this._imageId=y,this._image=x),O(o.imageSubRegion)&&(this._imageId=y,this._imageSubRegion=o.imageSubRegion),O(this._billboardCollection._textureAtlas)&&this._loadImage(),this._actualClampedPosition=void 0,this._removeCallbackFunc=void 0,this._mode=ni.SCENE3D,this._clusterShow=!0,this._outlineColor=Ve.clone(oe(o.outlineColor,Ve.BLACK)),this._outlineWidth=oe(o.outlineWidth,0),this._updateClamping()}var QLe=tu.SHOW_INDEX=0,lZ=tu.POSITION_INDEX=1,KVe=tu.PIXEL_OFFSET_INDEX=2,wBt=tu.EYE_OFFSET_INDEX=3,bBt=tu.HORIZONTAL_ORIGIN_INDEX=4,QBt=tu.VERTICAL_ORIGIN_INDEX=5,SBt=tu.SCALE_INDEX=6,uZ=tu.IMAGE_INDEX_INDEX=7,SLe=tu.COLOR_INDEX=8,DBt=tu.ROTATION_INDEX=9,TBt=tu.ALIGNED_AXIS_INDEX=10,MBt=tu.SCALE_BY_DISTANCE_INDEX=11,PBt=tu.TRANSLUCENCY_BY_DISTANCE_INDEX=12,RBt=tu.PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX=13,LBt=tu.DISTANCE_DISPLAY_CONDITION=14,FBt=tu.DISABLE_DEPTH_DISTANCE=15;tu.TEXTURE_COORDINATE_BOUNDS=16;var DLe=tu.SDF_INDEX=17;tu.NUMBER_OF_PROPERTIES=18;function qc(o,A){let f=o._billboardCollection;O(f)&&(f._updateBillboard(o,A),o._dirty=!0)}Object.defineProperties(tu.prototype,{show:{get:function(){return this._show},set:function(o){this._show!==o&&(this._show=o,qc(this,QLe))}},position:{get:function(){return this._position},set:function(o){let A=this._position;Z.equals(A,o)||(Z.clone(o,A),Z.clone(o,this._actualPosition),this._updateClamping(),qc(this,lZ))}},heightReference:{get:function(){return this._heightReference},set:function(o){let A=this._heightReference;o!==A&&(this._heightReference=o,this._updateClamping(),qc(this,lZ))}},pixelOffset:{get:function(){return this._pixelOffset},set:function(o){let A=this._pixelOffset;rt.equals(A,o)||(rt.clone(o,A),qc(this,KVe))}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(o){let A=this._scaleByDistance;Eo.equals(A,o)||(this._scaleByDistance=Eo.clone(o,A),qc(this,MBt))}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(o){let A=this._translucencyByDistance;Eo.equals(A,o)||(this._translucencyByDistance=Eo.clone(o,A),qc(this,PBt))}},pixelOffsetScaleByDistance:{get:function(){return this._pixelOffsetScaleByDistance},set:function(o){let A=this._pixelOffsetScaleByDistance;Eo.equals(A,o)||(this._pixelOffsetScaleByDistance=Eo.clone(o,A),qc(this,RBt))}},eyeOffset:{get:function(){return this._eyeOffset},set:function(o){let A=this._eyeOffset;Z.equals(A,o)||(Z.clone(o,A),qc(this,wBt))}},horizontalOrigin:{get:function(){return this._horizontalOrigin},set:function(o){this._horizontalOrigin!==o&&(this._horizontalOrigin=o,qc(this,bBt))}},verticalOrigin:{get:function(){return this._verticalOrigin},set:function(o){this._verticalOrigin!==o&&(this._verticalOrigin=o,qc(this,QBt))}},scale:{get:function(){return this._scale},set:function(o){this._scale!==o&&(this._scale=o,qc(this,SBt))}},color:{get:function(){return this._color},set:function(o){let A=this._color;Ve.equals(A,o)||(Ve.clone(o,A),qc(this,SLe))}},rotation:{get:function(){return this._rotation},set:function(o){this._rotation!==o&&(this._rotation=o,qc(this,DBt))}},alignedAxis:{get:function(){return this._alignedAxis},set:function(o){let A=this._alignedAxis;Z.equals(A,o)||(Z.clone(o,A),qc(this,TBt))}},width:{get:function(){return oe(this._width,this._imageWidth)},set:function(o){this._width!==o&&(this._width=o,qc(this,uZ))}},height:{get:function(){return oe(this._height,this._imageHeight)},set:function(o){this._height!==o&&(this._height=o,qc(this,uZ))}},sizeInMeters:{get:function(){return this._sizeInMeters},set:function(o){this._sizeInMeters!==o&&(this._sizeInMeters=o,qc(this,SLe))}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(o){po.equals(o,this._distanceDisplayCondition)||(this._distanceDisplayCondition=po.clone(o,this._distanceDisplayCondition),qc(this,LBt))}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(o){this._disableDepthTestDistance!==o&&(this._disableDepthTestDistance=o,qc(this,FBt))}},id:{get:function(){return this._id},set:function(o){this._id=o,O(this._pickId)&&(this._pickId.object.id=o)}},pickPrimitive:{get:function(){return this._pickPrimitive},set:function(o){this._pickPrimitive=o,O(this._pickId)&&(this._pickId.object.primitive=o)}},pickId:{get:function(){return this._pickId}},image:{get:function(){return this._imageId},set:function(o){O(o)?typeof o=="string"?this.setImage(o,o):o instanceof Cr?this.setImage(o.url,o):O(o.src)?this.setImage(o.src,o):this.setImage(Rl(),o):(this._imageIndex=-1,this._imageSubRegion=void 0,this._imageId=void 0,this._image=void 0,this._imageIndexPromise=void 0,qc(this,uZ))}},ready:{get:function(){return this._imageIndex!==-1}},_clampedPosition:{get:function(){return this._actualClampedPosition},set:function(o){this._actualClampedPosition=Z.clone(o,this._actualClampedPosition),qc(this,lZ)}},clusterShow:{get:function(){return this._clusterShow},set:function(o){this._clusterShow!==o&&(this._clusterShow=o,qc(this,QLe))}},outlineColor:{get:function(){return this._outlineColor},set:function(o){let A=this._outlineColor;Ve.equals(A,o)||(Ve.clone(o,A),qc(this,DLe))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(o){this._outlineWidth!==o&&(this._outlineWidth=o,qc(this,DLe))}}});tu.prototype.getPickId=function(o){return O(this._pickId)||(this._pickId=o.createPickId({primitive:this._pickPrimitive,collection:this._collection,id:this._id})),this._pickId};tu.prototype._updateClamping=function(){tu._updateClamping(this._billboardCollection,this)};var YV=new Rt,TLe=new Z;tu._updateClamping=function(o,A){let f=o._scene;if(!O(f)||!O(f.globe))return;let m=f.globe,C=m.ellipsoid,E=m._surface,x=f.frameState.mode,y=x!==A._mode;if(A._mode=x,(A._heightReference===An.NONE||y)&&O(A._removeCallbackFunc)&&(A._removeCallbackFunc(),A._removeCallbackFunc=void 0,A._clampedPosition=void 0),A._heightReference===An.NONE||!O(A._position))return;let I=C.cartesianToCartographic(A._position);if(!O(I)){A._actualClampedPosition=void 0;return}O(A._removeCallbackFunc)&&A._removeCallbackFunc();function v(Q){if(A._heightReference===An.RELATIVE_TO_GROUND)if(A._mode===ni.SCENE3D){let T=C.cartesianToCartographic(Q,YV);T.height+=I.height,C.cartographicToCartesian(T,Q)}else Q.x+=I.height;A._clampedPosition=Z.clone(Q,A._clampedPosition)}A._removeCallbackFunc=E.updateHeight(I,v),Rt.clone(I,YV);let B=m.getHeight(I);O(B)&&(YV.height=B),C.cartographicToCartesian(YV,TLe),v(TLe)};tu.prototype._loadImage=function(){let o=this._billboardCollection._textureAtlas,A=this._imageId,f=this._image,m=this._imageSubRegion,C,E=this;function x(I){if(E._imageId!==A||E._image!==f||!vr.equals(E._imageSubRegion,m))return;let v=o.textureCoordinates[I];E._imageWidth=o.texture.width*v.width,E._imageHeight=o.texture.height*v.height,E._imageIndex=I,E._ready=!0,E._image=void 0,E._imageIndexPromise=void 0,qc(E,uZ)}if(O(f)&&(C=o.addImage(A,f)),O(m)&&(C=o.addSubRegion(A,m)),this._imageIndexPromise=C,!O(C))return;let y=o.getImageIndex(A);if(O(y)&&!O(m)){x(y);return}C.then(x).catch(function(I){console.error(`Error loading image for billboard: ${I}`),E._imageIndexPromise=void 0})};tu.prototype.setImage=function(o,A){this._imageId!==o&&(this._imageIndex=-1,this._imageSubRegion=void 0,this._imageId=o,this._image=A,O(this._billboardCollection._textureAtlas)&&this._loadImage())};tu.prototype.setImageSubRegion=function(o,A){this._imageId===o&&vr.equals(this._imageSubRegion,A)||(this._imageIndex=-1,this._imageId=o,this._imageSubRegion=vr.clone(A),O(this._billboardCollection._textureAtlas)&&this._loadImage())};tu.prototype._setTranslate=function(o){let A=this._translate;rt.equals(A,o)||(rt.clone(o,A),qc(this,KVe))};tu.prototype._getActualPosition=function(){return O(this._clampedPosition)?this._clampedPosition:this._actualPosition};tu.prototype._setActualPosition=function(o){O(this._clampedPosition)||Z.clone(o,this._actualPosition),qc(this,lZ)};var MLe=new zt;tu._computeActualPosition=function(o,A,f,m){return O(o._clampedPosition)?(f.mode!==o._mode&&o._updateClamping(),o._clampedPosition):f.mode===ni.SCENE3D?A:(Re.multiplyByPoint(m,A,MLe),ms.computeActualWgs84Position(f,MLe))};var WVe=new Z;tu._computeScreenSpacePosition=function(o,A,f,m,C,E){let x=Re.multiplyByPoint(o,A,WVe),y=ms.wgs84WithEyeOffsetToWindowCoordinates(C,x,f,E);if(O(y))return rt.add(y,m,y),y};var Jj=new rt(0,0);tu.prototype.computeScreenSpacePosition=function(o,A){let f=this._billboardCollection;O(A)||(A=new rt),rt.clone(this._pixelOffset,Jj),rt.add(Jj,this._translate,Jj);let m=f.modelMatrix,C=this._position;if(O(this._clampedPosition)&&(C=this._clampedPosition,o.mode!==ni.SCENE3D)){let E=o.mapProjection,x=E.ellipsoid,y=E.unproject(C,YV);C=x.cartographicToCartesian(y,WVe),m=Re.IDENTITY}return tu._computeScreenSpacePosition(m,C,this._eyeOffset,Jj,o,A)};tu.getScreenSpaceBoundingBox=function(o,A,f){let m=o.width,C=o.height,E=o.scale;m*=E,C*=E;let x=A.x;o.horizontalOrigin===Ru.RIGHT?x-=m:o.horizontalOrigin===Ru.CENTER&&(x-=m*.5);let y=A.y;return o.verticalOrigin===hn.BOTTOM||o.verticalOrigin===hn.BASELINE?y-=C:o.verticalOrigin===hn.CENTER&&(y-=C*.5),O(f)||(f=new vr),f.x=x,f.y=y,f.width=m,f.height=C,f};tu.prototype.equals=function(o){return this===o||O(o)&&this._id===o._id&&Z.equals(this._position,o._position)&&this._imageId===o._imageId&&this._show===o._show&&this._scale===o._scale&&this._verticalOrigin===o._verticalOrigin&&this._horizontalOrigin===o._horizontalOrigin&&this._heightReference===o._heightReference&&vr.equals(this._imageSubRegion,o._imageSubRegion)&&Ve.equals(this._color,o._color)&&rt.equals(this._pixelOffset,o._pixelOffset)&&rt.equals(this._translate,o._translate)&&Z.equals(this._eyeOffset,o._eyeOffset)&&Eo.equals(this._scaleByDistance,o._scaleByDistance)&&Eo.equals(this._translucencyByDistance,o._translucencyByDistance)&&Eo.equals(this._pixelOffsetScaleByDistance,o._pixelOffsetScaleByDistance)&&po.equals(this._distanceDisplayCondition,o._distanceDisplayCondition)&&this._disableDepthTestDistance===o._disableDepthTestDistance};tu.prototype._destroy=function(){O(this._customData)&&(this._billboardCollection._scene.globe._surface.removeTileCustomData(this._customData),this._customData=void 0),O(this._removeCallbackFunc)&&(this._removeCallbackFunc(),this._removeCallbackFunc=void 0),this.image=void 0,this._pickId=this._pickId&&this._pickId.destroy(),this._billboardCollection=void 0};var ih=tu,za={BYTE:li.BYTE,UNSIGNED_BYTE:li.UNSIGNED_BYTE,SHORT:li.SHORT,UNSIGNED_SHORT:li.UNSIGNED_SHORT,INT:li.INT,UNSIGNED_INT:li.UNSIGNED_INT,FLOAT:li.FLOAT,DOUBLE:li.DOUBLE};za.getSizeInBytes=function(o){switch(o){case za.BYTE:return Int8Array.BYTES_PER_ELEMENT;case za.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case za.SHORT:return Int16Array.BYTES_PER_ELEMENT;case za.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case za.INT:return Int32Array.BYTES_PER_ELEMENT;case za.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT;case za.FLOAT:return Float32Array.BYTES_PER_ELEMENT;case za.DOUBLE:return Float64Array.BYTES_PER_ELEMENT}};za.fromTypedArray=function(o){if(o instanceof Int8Array)return za.BYTE;if(o instanceof Uint8Array)return za.UNSIGNED_BYTE;if(o instanceof Int16Array)return za.SHORT;if(o instanceof Uint16Array)return za.UNSIGNED_SHORT;if(o instanceof Int32Array)return za.INT;if(o instanceof Uint32Array)return za.UNSIGNED_INT;if(o instanceof Float32Array)return za.FLOAT;if(o instanceof Float64Array)return za.DOUBLE};za.validate=function(o){return O(o)&&(o===za.BYTE||o===za.UNSIGNED_BYTE||o===za.SHORT||o===za.UNSIGNED_SHORT||o===za.INT||o===za.UNSIGNED_INT||o===za.FLOAT||o===za.DOUBLE)};za.createTypedArray=function(o,A){switch(o){case za.BYTE:return new Int8Array(A);case za.UNSIGNED_BYTE:return new Uint8Array(A);case za.SHORT:return new Int16Array(A);case za.UNSIGNED_SHORT:return new Uint16Array(A);case za.INT:return new Int32Array(A);case za.UNSIGNED_INT:return new Uint32Array(A);case za.FLOAT:return new Float32Array(A);case za.DOUBLE:return new Float64Array(A)}};za.createArrayBufferView=function(o,A,f,m){switch(f=oe(f,0),m=oe(m,(A.byteLength-f)/za.getSizeInBytes(o)),o){case za.BYTE:return new Int8Array(A,f,m);case za.UNSIGNED_BYTE:return new Uint8Array(A,f,m);case za.SHORT:return new Int16Array(A,f,m);case za.UNSIGNED_SHORT:return new Uint16Array(A,f,m);case za.INT:return new Int32Array(A,f,m);case za.UNSIGNED_INT:return new Uint32Array(A,f,m);case za.FLOAT:return new Float32Array(A,f,m);case za.DOUBLE:return new Float64Array(A,f,m)}};za.fromName=function(o){switch(o){case"BYTE":return za.BYTE;case"UNSIGNED_BYTE":return za.UNSIGNED_BYTE;case"SHORT":return za.SHORT;case"UNSIGNED_SHORT":return za.UNSIGNED_SHORT;case"INT":return za.INT;case"UNSIGNED_INT":return za.UNSIGNED_INT;case"FLOAT":return za.FLOAT;case"DOUBLE":return za.DOUBLE}};var Ft=Object.freeze(za),nA={SCALAR:"SCALAR",VEC2:"VEC2",VEC3:"VEC3",VEC4:"VEC4",MAT2:"MAT2",MAT3:"MAT3",MAT4:"MAT4"};nA.getMathType=function(o){switch(o){case nA.SCALAR:return Number;case nA.VEC2:return rt;case nA.VEC3:return Z;case nA.VEC4:return zt;case nA.MAT2:return Cf;case nA.MAT3:return Gt;case nA.MAT4:return Re}};nA.getNumberOfComponents=function(o){switch(o){case nA.SCALAR:return 1;case nA.VEC2:return 2;case nA.VEC3:return 3;case nA.VEC4:case nA.MAT2:return 4;case nA.MAT3:return 9;case nA.MAT4:return 16}};nA.getAttributeLocationCount=function(o){switch(o){case nA.SCALAR:case nA.VEC2:case nA.VEC3:case nA.VEC4:return 1;case nA.MAT2:return 2;case nA.MAT3:return 3;case nA.MAT4:return 4}};nA.getGlslType=function(o){switch(o){case nA.SCALAR:return"float";case nA.VEC2:return"vec2";case nA.VEC3:return"vec3";case nA.VEC4:return"vec4";case nA.MAT2:return"mat2";case nA.MAT3:return"mat3";case nA.MAT4:return"mat4"}};var cs=Object.freeze(nA),PLe=1/256,RLe=256,ZA={};ZA.octEncodeInRange=function(o,A,f){if(f.x=o.x/(Math.abs(o.x)+Math.abs(o.y)+Math.abs(o.z)),f.y=o.y/(Math.abs(o.x)+Math.abs(o.y)+Math.abs(o.z)),o.z<0){let m=f.x,C=f.y;f.x=(1-Math.abs(C))*Be.signNotZero(m),f.y=(1-Math.abs(m))*Be.signNotZero(C)}return f.x=Be.toSNorm(f.x,A),f.y=Be.toSNorm(f.y,A),f};ZA.octEncode=function(o,A){return ZA.octEncodeInRange(o,255,A)};var z6=new rt,LLe=new Uint8Array(1);function Kj(o){return LLe[0]=o,LLe[0]}ZA.octEncodeToCartesian4=function(o,A){return ZA.octEncodeInRange(o,65535,z6),A.x=Kj(z6.x*PLe),A.y=Kj(z6.x),A.z=Kj(z6.y*PLe),A.w=Kj(z6.y),A};ZA.octDecodeInRange=function(o,A,f,m){if(m.x=Be.fromSNorm(o,f),m.y=Be.fromSNorm(A,f),m.z=1-(Math.abs(m.x)+Math.abs(m.y)),m.z<0){let C=m.x;m.x=(1-Math.abs(m.y))*Be.signNotZero(C),m.y=(1-Math.abs(C))*Be.signNotZero(m.y)}return Z.normalize(m,m)};ZA.octDecode=function(o,A,f){return ZA.octDecodeInRange(o,A,255,f)};ZA.octDecodeFromCartesian4=function(o,A){let f=o.x,m=o.y,C=o.z,E=o.w,x=f*RLe+m,y=C*RLe+E;return ZA.octDecodeInRange(x,y,65535,A)};ZA.octPackFloat=function(o){return 256*o.x+o.y};var qde=new rt;ZA.octEncodeFloat=function(o){return ZA.octEncode(o,qde),ZA.octPackFloat(qde)};ZA.octDecodeFloat=function(o,A){let f=o/256,m=Math.floor(f),C=(f-m)*256;return ZA.octDecode(m,C,A)};ZA.octPack=function(o,A,f,m){let C=ZA.octEncodeFloat(o),E=ZA.octEncodeFloat(A),x=ZA.octEncode(f,qde);return m.x=65536*x.x+C,m.y=65536*x.y+E,m};ZA.octUnpack=function(o,A,f,m){let C=o.x/65536,E=Math.floor(C),x=(C-E)*65536;C=o.y/65536;let y=Math.floor(C),I=(C-y)*65536;ZA.octDecodeFloat(x,A),ZA.octDecodeFloat(I,f),ZA.octDecode(E,y,m)};ZA.compressTextureCoordinates=function(o){let A=o.x*4095|0,f=o.y*4095|0;return 4096*A+f};ZA.decompressTextureCoordinates=function(o,A){let f=o/4096,m=Math.floor(f);return A.x=m/4095,A.y=(o-m*4096)/4095,A};function Wue(o){return o>>1^-(o&1)}ZA.zigZagDeltaDecode=function(o,A,f){let m=o.length,C=0,E=0,x=0;for(let y=0;y>11,B=I>>5&C,Q=I&m,T=3*y;A[T]=v*E,A[T+1]=B*x,A[T+2]=Q*E}return A};var $l=ZA;function ob(){this.high=Z.clone(Z.ZERO),this.low=Z.clone(Z.ZERO)}ob.encode=function(o,A){O(A)||(A={high:0,low:0});let f;return o>=0?(f=Math.floor(o/65536)*65536,A.high=f,A.low=o-f):(f=Math.floor(-o/65536)*65536,A.high=-f,A.low=o+f),A};var FS={high:0,low:0};ob.fromCartesian=function(o,A){O(A)||(A=new ob);let f=A.high,m=A.low;return ob.encode(o.x,FS),f.x=FS.high,m.x=FS.low,ob.encode(o.y,FS),f.y=FS.high,m.y=FS.low,ob.encode(o.z,FS),f.z=FS.high,m.z=FS.low,A};var jue=new ob;ob.writeElements=function(o,A,f){ob.fromCartesian(o,jue);let m=jue.high,C=jue.low;A[f]=m.x,A[f+1]=m.y,A[f+2]=m.z,A[f+3]=C.x,A[f+4]=C.y,A[f+5]=C.z};var eu=ob,u0={UNSIGNED_BYTE:li.UNSIGNED_BYTE,UNSIGNED_SHORT:li.UNSIGNED_SHORT,UNSIGNED_INT:li.UNSIGNED_INT};u0.getSizeInBytes=function(o){switch(o){case u0.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case u0.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case u0.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}};u0.fromSizeInBytes=function(o){switch(o){case 2:return u0.UNSIGNED_SHORT;case 4:return u0.UNSIGNED_INT;case 1:return u0.UNSIGNED_BYTE}};u0.validate=function(o){return O(o)&&(o===u0.UNSIGNED_BYTE||o===u0.UNSIGNED_SHORT||o===u0.UNSIGNED_INT)};u0.createTypedArray=function(o,A){return o>=Be.SIXTY_FOUR_KILOBYTES?new Uint32Array(A):new Uint16Array(A)};u0.createTypedArrayFromArrayBuffer=function(o,A,f,m){return o>=Be.SIXTY_FOUR_KILOBYTES?new Uint32Array(A,f,m):new Uint16Array(A,f,m)};u0.fromTypedArray=function(o){if(o instanceof Uint8Array)return u0.UNSIGNED_BYTE;if(o instanceof Uint16Array)return u0.UNSIGNED_SHORT;if(o instanceof Uint32Array)return u0.UNSIGNED_INT};var Bn=Object.freeze(u0),AZ={STREAM_DRAW:li.STREAM_DRAW,STATIC_DRAW:li.STATIC_DRAW,DYNAMIC_DRAW:li.DYNAMIC_DRAW,validate:function(o){return o===AZ.STREAM_DRAW||o===AZ.STATIC_DRAW||o===AZ.DYNAMIC_DRAW}},Gr=Object.freeze(AZ);function q_(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.context._gl,f=o.bufferTarget,m=o.typedArray,C=o.sizeInBytes,E=o.usage,x=O(m);x&&(C=m.byteLength);let y=A.createBuffer();A.bindBuffer(f,y),A.bufferData(f,x?m:C,E),A.bindBuffer(f,null),this._id=Rl(),this._gl=A,this._webgl2=o.context._webgl2,this._bufferTarget=f,this._sizeInBytes=C,this._usage=E,this._buffer=y,this.vertexArrayDestroyable=!0}q_.createVertexBuffer=function(o){return new q_({context:o.context,bufferTarget:li.ARRAY_BUFFER,typedArray:o.typedArray,sizeInBytes:o.sizeInBytes,usage:o.usage})};q_.createIndexBuffer=function(o){let A=o.context,f=o.indexDatatype,m=Bn.getSizeInBytes(f),C=new q_({context:A,bufferTarget:li.ELEMENT_ARRAY_BUFFER,typedArray:o.typedArray,sizeInBytes:o.sizeInBytes,usage:o.usage}),E=C.sizeInBytes/m;return Object.defineProperties(C,{indexDatatype:{get:function(){return f}},bytesPerIndex:{get:function(){return m}},numberOfIndices:{get:function(){return E}}}),C};Object.defineProperties(q_.prototype,{sizeInBytes:{get:function(){return this._sizeInBytes}},usage:{get:function(){return this._usage}}});q_.prototype._getBuffer=function(){return this._buffer};q_.prototype.copyFromArrayView=function(o,A){A=oe(A,0);let f=this._gl,m=this._bufferTarget;f.bindBuffer(m,this._buffer),f.bufferSubData(m,A,o),f.bindBuffer(m,null)};q_.prototype.copyFromBuffer=function(o,A,f,m){let C=li.COPY_READ_BUFFER,E=li.COPY_WRITE_BUFFER,x=this._gl;x.bindBuffer(E,this._buffer),x.bindBuffer(C,o._buffer),x.copyBufferSubData(C,E,A,f,m),x.bindBuffer(E,null),x.bindBuffer(C,null)};q_.prototype.getBufferData=function(o,A,f,m){A=oe(A,0),f=oe(f,0);let C=this._gl,E=li.COPY_READ_BUFFER;C.bindBuffer(E,this._buffer),C.getBufferSubData(E,A,o,f,m),C.bindBuffer(E,null)};q_.prototype.isDestroyed=function(){return!1};q_.prototype.destroy=function(){return this._gl.deleteBuffer(this._buffer),Ar(this)};var Wn=q_,Kp={POINTS:li.POINTS,LINES:li.LINES,LINE_LOOP:li.LINE_LOOP,LINE_STRIP:li.LINE_STRIP,TRIANGLES:li.TRIANGLES,TRIANGLE_STRIP:li.TRIANGLE_STRIP,TRIANGLE_FAN:li.TRIANGLE_FAN};Kp.isLines=function(o){return o===Kp.LINES||o===Kp.LINE_LOOP||o===Kp.LINE_STRIP};Kp.isTriangles=function(o){return o===Kp.TRIANGLES||o===Kp.TRIANGLE_STRIP||o===Kp.TRIANGLE_FAN};Kp.validate=function(o){return o===Kp.POINTS||o===Kp.LINES||o===Kp.LINE_LOOP||o===Kp.LINE_STRIP||o===Kp.TRIANGLES||o===Kp.TRIANGLE_STRIP||o===Kp.TRIANGLE_FAN};var on=Object.freeze(Kp),ad={CULL:1,OCCLUDE:2,EXECUTE_IN_CLOSEST_FRUSTUM:4,DEBUG_SHOW_BOUNDING_VOLUME:8,CAST_SHADOWS:16,RECEIVE_SHADOWS:32,PICK_ONLY:64,DEPTH_FOR_TRANSLUCENT_CLASSIFICATION:128};function n9(o){o=oe(o,oe.EMPTY_OBJECT),this._boundingVolume=o.boundingVolume,this._orientedBoundingBox=o.orientedBoundingBox,this._modelMatrix=o.modelMatrix,this._primitiveType=oe(o.primitiveType,on.TRIANGLES),this._vertexArray=o.vertexArray,this._count=o.count,this._offset=oe(o.offset,0),this._instanceCount=oe(o.instanceCount,0),this._shaderProgram=o.shaderProgram,this._uniformMap=o.uniformMap,this._renderState=o.renderState,this._framebuffer=o.framebuffer,this._pass=o.pass,this._owner=o.owner,this._debugOverlappingFrustums=0,this._pickId=o.pickId,this._flags=0,this.cull=oe(o.cull,!0),this.occlude=oe(o.occlude,!0),this.executeInClosestFrustum=oe(o.executeInClosestFrustum,!1),this.debugShowBoundingVolume=oe(o.debugShowBoundingVolume,!1),this.castShadows=oe(o.castShadows,!1),this.receiveShadows=oe(o.receiveShadows,!1),this._receiveTextureProjectionList=oe(o.receiveTextureProjectionList,[]),this._receiveViewShed=oe(o.receiveViewShed,!1),this.pickOnly=oe(o.pickOnly,!1),this.depthForTranslucentClassification=oe(o.depthForTranslucentClassification,!1),this.dirty=!0,this.lastDirtyTime=0,this.derivedCommands={}}function Gm(o,A){return(o._flags&A)===A}function XM(o,A,f){f?o._flags|=A:o._flags&=~A}Object.defineProperties(n9.prototype,{boundingVolume:{get:function(){return this._boundingVolume},set:function(o){this._boundingVolume!==o&&(this._boundingVolume=o,this.dirty=!0)}},orientedBoundingBox:{get:function(){return this._orientedBoundingBox},set:function(o){this._orientedBoundingBox!==o&&(this._orientedBoundingBox=o,this.dirty=!0)}},cull:{get:function(){return Gm(this,ad.CULL)},set:function(o){Gm(this,ad.CULL)!==o&&(XM(this,ad.CULL,o),this.dirty=!0)}},occlude:{get:function(){return Gm(this,ad.OCCLUDE)},set:function(o){Gm(this,ad.OCCLUDE)!==o&&(XM(this,ad.OCCLUDE,o),this.dirty=!0)}},modelMatrix:{get:function(){return this._modelMatrix},set:function(o){this._modelMatrix!==o&&(this._modelMatrix=o,this.dirty=!0)}},primitiveType:{get:function(){return this._primitiveType},set:function(o){this._primitiveType!==o&&(this._primitiveType=o,this.dirty=!0)}},vertexArray:{get:function(){return this._vertexArray},set:function(o){this._vertexArray!==o&&(this._vertexArray=o,this.dirty=!0)}},count:{get:function(){return this._count},set:function(o){this._count!==o&&(this._count=o,this.dirty=!0)}},offset:{get:function(){return this._offset},set:function(o){this._offset!==o&&(this._offset=o,this.dirty=!0)}},instanceCount:{get:function(){return this._instanceCount},set:function(o){this._instanceCount!==o&&(this._instanceCount=o,this.dirty=!0)}},shaderProgram:{get:function(){return this._shaderProgram},set:function(o){this._shaderProgram!==o&&(this._shaderProgram=o,this.dirty=!0)}},castShadows:{get:function(){return Gm(this,ad.CAST_SHADOWS)},set:function(o){Gm(this,ad.CAST_SHADOWS)!==o&&(XM(this,ad.CAST_SHADOWS,o),this.dirty=!0)}},receiveShadows:{get:function(){return Gm(this,ad.RECEIVE_SHADOWS)},set:function(o){Gm(this,ad.RECEIVE_SHADOWS)!==o&&(XM(this,ad.RECEIVE_SHADOWS,o),this.dirty=!0)}},receiveTextureProjectionList:{get:function(){return this._receiveTextureProjectionList},set:function(o){this._receiveTextureProjectionList!==o&&(this._receiveTextureProjectionList=o,this.dirty=!0)}},receiveViewShed:{get:function(){return this._receiveViewShed},set:function(o){this._receiveViewShed!==o&&(this._receiveViewShed=o,this.dirty=!0)}},uniformMap:{get:function(){return this._uniformMap},set:function(o){this._uniformMap!==o&&(this._uniformMap=o,this.dirty=!0)}},renderState:{get:function(){return this._renderState},set:function(o){this._renderState!==o&&(this._renderState=o,this.dirty=!0)}},framebuffer:{get:function(){return this._framebuffer},set:function(o){this._framebuffer!==o&&(this._framebuffer=o,this.dirty=!0)}},pass:{get:function(){return this._pass},set:function(o){this._pass!==o&&(this._pass=o,this.dirty=!0)}},executeInClosestFrustum:{get:function(){return Gm(this,ad.EXECUTE_IN_CLOSEST_FRUSTUM)},set:function(o){Gm(this,ad.EXECUTE_IN_CLOSEST_FRUSTUM)!==o&&(XM(this,ad.EXECUTE_IN_CLOSEST_FRUSTUM,o),this.dirty=!0)}},owner:{get:function(){return this._owner},set:function(o){this._owner!==o&&(this._owner=o,this.dirty=!0)}},debugShowBoundingVolume:{get:function(){return Gm(this,ad.DEBUG_SHOW_BOUNDING_VOLUME)},set:function(o){Gm(this,ad.DEBUG_SHOW_BOUNDING_VOLUME)!==o&&(XM(this,ad.DEBUG_SHOW_BOUNDING_VOLUME,o),this.dirty=!0)}},debugOverlappingFrustums:{get:function(){return this._debugOverlappingFrustums},set:function(o){this._debugOverlappingFrustums!==o&&(this._debugOverlappingFrustums=o,this.dirty=!0)}},pickId:{get:function(){return this._pickId},set:function(o){this._pickId!==o&&(this._pickId=o,this.dirty=!0)}},pickOnly:{get:function(){return Gm(this,ad.PICK_ONLY)},set:function(o){Gm(this,ad.PICK_ONLY)!==o&&(XM(this,ad.PICK_ONLY,o),this.dirty=!0)}},depthForTranslucentClassification:{get:function(){return Gm(this,ad.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION)},set:function(o){Gm(this,ad.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION)!==o&&(XM(this,ad.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION,o),this.dirty=!0)}}});n9.shallowClone=function(o,A){if(O(o))return O(A)||(A=new n9),A._boundingVolume=o._boundingVolume,A._orientedBoundingBox=o._orientedBoundingBox,A._modelMatrix=o._modelMatrix,A._primitiveType=o._primitiveType,A._vertexArray=o._vertexArray,A._count=o._count,A._offset=o._offset,A._instanceCount=o._instanceCount,A._shaderProgram=o._shaderProgram,A._uniformMap=o._uniformMap,A._renderState=o._renderState,A._framebuffer=o._framebuffer,A._pass=o._pass,A._owner=o._owner,A._debugOverlappingFrustums=o._debugOverlappingFrustums,A._pickId=o._pickId,A._flags=o._flags,A._receiveTextureProjectionList=o._receiveTextureProjectionList,A._receiveViewShed=o._receiveViewShed,A.dirty=!0,A.lastDirtyTime=0,A};n9.prototype.execute=function(o,A){o.draw(this,A)};var fn=n9,NBt={ENVIRONMENT:0,COMPUTE:1,GLOBE:2,TERRAIN_CLASSIFICATION:3,CESIUM_3D_TILE:4,CESIUM_3D_TILE_CLASSIFICATION:5,CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW:6,OPAQUE:7,TRANSLUCENT:8,VOXELS:9,OVERLAY:10,NUMBER_OF_PASSES:11},Yi=Object.freeze(NBt),cZ={CLOCKWISE:li.CW,COUNTER_CLOCKWISE:li.CCW};cZ.validate=function(o){return o===cZ.CLOCKWISE||o===cZ.COUNTER_CLOCKWISE};var dI=Object.freeze(cZ);function jVe(o){if(typeof o!="object"||o===null)return o;let A,f=Object.keys(o);for(let m=0;m0&&console.log(`${J1}Vertex shader compile log: ${I}`),I=o.getShaderInfoLog(E),O(I)&&I.length>0&&console.log(`${J1}Fragment shader compile log: ${I}`),I=o.getProgramInfoLog(x),O(I)&&I.length>0&&console.log(`${J1}Shader program link log: ${I}`)),o.deleteShader(C),o.deleteShader(E),x;let v,B=A._debugShaders;throw o.getShaderParameter(E,o.COMPILE_STATUS)?o.getShaderParameter(C,o.COMPILE_STATUS)?(I=o.getProgramInfoLog(x),console.error(`${J1}Shader program link log: ${I}`),Q(C,"vertex"),Q(E,"fragment"),v=`Program failed to link. Link log: ${I}`):(I=o.getShaderInfoLog(C),console.error(`${J1}Vertex shader compile log: ${I}`),console.error(`${J1} Vertex shader source: ${f}`),v=`Vertex shader failed to compile. Compile log: ${I}`):(I=o.getShaderInfoLog(E),console.error(`${J1}Fragment shader compile log: ${I}`),console.error(`${J1} Fragment shader source: ${m}`),v=`Fragment shader failed to compile. Compile log: ${I}`),o.deleteShader(C),o.deleteShader(E),o.deleteProgram(x),new ki(v);function Q(T,w){if(!O(B))return;let S=B.getTranslatedShaderSource(T);if(S===""){console.error(`${J1}${w} shader translation failed.`);return}console.error(`${J1}Translated ${w} shaderSource: ${S}`)}}function ZBt(o,A,f){let m={};for(let C=0;C=0){if(B=f[v.slice(0,S)],!O(B))continue;Q=B._locations,Q.length<=1&&(T=B.value,w=o.getUniformLocation(A,v),w!==null&&(Q.push(w),T.push(o.getUniform(A,w))))}else{Q=[];for(let D=0;D1/pi. * * @alias czm_oneOverPi * @glslConstant * * @see CesiumMath.ONE_OVER_PI * * @example * // GLSL declaration * const float czm_oneOverPi = ...; * * // Example * float pi = 1.0 / czm_oneOverPi; */ const float czm_oneOverPi = 0.3183098861837907; `,Kpe=`/** * A built-in GLSL floating-point constant for 1/2pi. * * @alias czm_oneOverTwoPi * @glslConstant * * @see CesiumMath.ONE_OVER_TWO_PI * * @example * // GLSL declaration * const float czm_oneOverTwoPi = ...; * * // Example * float pi = 2.0 * czm_oneOverTwoPi; */ const float czm_oneOverTwoPi = 0.15915494309189535; `,Wpe=`/** * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE} * * @name czm_passCesium3DTile * @glslConstant * * @see czm_pass */ const float czm_passCesium3DTile = 4.0; `,jpe=`/** * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE_CLASSIFICATION} * * @name czm_passCesium3DTileClassification * @glslConstant * * @see czm_pass */ const float czm_passCesium3DTileClassification = 5.0; `,qpe=`/** * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW} * * @name czm_passCesium3DTileClassificationIgnoreShow * @glslConstant * * @see czm_pass */ const float czm_passCesium3DTileClassificationIgnoreShow = 6.0; `,Xpe=`/** * The automatic GLSL constant for {@link Pass#CLASSIFICATION} * * @name czm_passClassification * @glslConstant * * @see czm_pass */ const float czm_passClassification = 7.0; `,Zpe=`/** * The automatic GLSL constant for {@link Pass#COMPUTE} * * @name czm_passCompute * @glslConstant * * @see czm_pass */ const float czm_passCompute = 1.0; `,$pe=`/** * The automatic GLSL constant for {@link Pass#ENVIRONMENT} * * @name czm_passEnvironment * @glslConstant * * @see czm_pass */ const float czm_passEnvironment = 0.0; `,eme=`/** * The automatic GLSL constant for {@link Pass#GLOBE} * * @name czm_passGlobe * @glslConstant * * @see czm_pass */ const float czm_passGlobe = 2.0; `,tme=`/** * The automatic GLSL constant for {@link Pass#OPAQUE} * * @name czm_passOpaque * @glslConstant * * @see czm_pass */ const float czm_passOpaque = 7.0; `,ime=`/** * The automatic GLSL constant for {@link Pass#OVERLAY} * * @name czm_passOverlay * @glslConstant * * @see czm_pass */ const float czm_passOverlay = 10.0; `,rme=`/** * The automatic GLSL constant for {@link Pass#TERRAIN_CLASSIFICATION} * * @name czm_passTerrainClassification * @glslConstant * * @see czm_pass */ const float czm_passTerrainClassification = 3.0; `,nme=`/** * The automatic GLSL constant for {@link Pass#TRANSLUCENT} * * @name czm_passTranslucent * @glslConstant * * @see czm_pass */ const float czm_passTranslucent = 8.0; `,ome=`/** * The automatic GLSL constant for {@link Pass#VOXELS} * * @name czm_passVoxels * @glslConstant * * @see czm_pass */ const float czm_passVoxels = 9.0; `,ame=`/** * A built-in GLSL floating-point constant for Math.PI. * * @alias czm_pi * @glslConstant * * @see CesiumMath.PI * * @example * // GLSL declaration * const float czm_pi = ...; * * // Example * float twoPi = 2.0 * czm_pi; */ const float czm_pi = 3.141592653589793; `,sme=`/** * A built-in GLSL floating-point constant for pi/4. * * @alias czm_piOverFour * @glslConstant * * @see CesiumMath.PI_OVER_FOUR * * @example * // GLSL declaration * const float czm_piOverFour = ...; * * // Example * float pi = 4.0 * czm_piOverFour; */ const float czm_piOverFour = 0.7853981633974483; `,lme=`/** * A built-in GLSL floating-point constant for pi/6. * * @alias czm_piOverSix * @glslConstant * * @see CesiumMath.PI_OVER_SIX * * @example * // GLSL declaration * const float czm_piOverSix = ...; * * // Example * float pi = 6.0 * czm_piOverSix; */ const float czm_piOverSix = 0.5235987755982988; `,ume=`/** * A built-in GLSL floating-point constant for pi/3. * * @alias czm_piOverThree * @glslConstant * * @see CesiumMath.PI_OVER_THREE * * @example * // GLSL declaration * const float czm_piOverThree = ...; * * // Example * float pi = 3.0 * czm_piOverThree; */ const float czm_piOverThree = 1.0471975511965976; `,Ame=`/** * A built-in GLSL floating-point constant for pi/2. * * @alias czm_piOverTwo * @glslConstant * * @see CesiumMath.PI_OVER_TWO * * @example * // GLSL declaration * const float czm_piOverTwo = ...; * * // Example * float pi = 2.0 * czm_piOverTwo; */ const float czm_piOverTwo = 1.5707963267948966; `,cme=`/** * A built-in GLSL floating-point constant for converting degrees to radians. * * @alias czm_radiansPerDegree * @glslConstant * * @see CesiumMath.RADIANS_PER_DEGREE * * @example * // GLSL declaration * const float czm_radiansPerDegree = ...; * * // Example * float rad = czm_radiansPerDegree * deg; */ const float czm_radiansPerDegree = 0.017453292519943295; `,hme=`/** * The constant identifier for the 2D {@link SceneMode} * * @name czm_sceneMode2D * @glslConstant * @see czm_sceneMode * @see czm_sceneModeColumbusView * @see czm_sceneMode3D * @see czm_sceneModeMorphing */ const float czm_sceneMode2D = 2.0; `,dme=`/** * The constant identifier for the 3D {@link SceneMode} * * @name czm_sceneMode3D * @glslConstant * @see czm_sceneMode * @see czm_sceneMode2D * @see czm_sceneModeColumbusView * @see czm_sceneModeMorphing */ const float czm_sceneMode3D = 3.0; `,fme=`/** * The constant identifier for the Columbus View {@link SceneMode} * * @name czm_sceneModeColumbusView * @glslConstant * @see czm_sceneMode * @see czm_sceneMode2D * @see czm_sceneMode3D * @see czm_sceneModeMorphing */ const float czm_sceneModeColumbusView = 1.0; `,gme=`/** * The constant identifier for the Morphing {@link SceneMode} * * @name czm_sceneModeMorphing * @glslConstant * @see czm_sceneMode * @see czm_sceneMode2D * @see czm_sceneModeColumbusView * @see czm_sceneMode3D */ const float czm_sceneModeMorphing = 0.0; `,pme=`/** * A built-in GLSL floating-point constant for one solar radius. * * @alias czm_solarRadius * @glslConstant * * @see CesiumMath.SOLAR_RADIUS * * @example * // GLSL declaration * const float czm_solarRadius = ...; */ const float czm_solarRadius = 695500000.0; `,mme=`/** * A built-in GLSL floating-point constant for 3pi/2. * * @alias czm_threePiOver2 * @glslConstant * * @see CesiumMath.THREE_PI_OVER_TWO * * @example * // GLSL declaration * const float czm_threePiOver2 = ...; * * // Example * float pi = (2.0 / 3.0) * czm_threePiOver2; */ const float czm_threePiOver2 = 4.71238898038469; `,Cme=`/** * A built-in GLSL floating-point constant for 2pi. * * @alias czm_twoPi * @glslConstant * * @see CesiumMath.TWO_PI * * @example * // GLSL declaration * const float czm_twoPi = ...; * * // Example * float pi = czm_twoPi / 2.0; */ const float czm_twoPi = 6.283185307179586; `,Eme=`/** * The maximum latitude, in radians, both North and South, supported by a Web Mercator * (EPSG:3857) projection. Technically, the Mercator projection is defined * for any latitude up to (but not including) 90 degrees, but it makes sense * to cut it off sooner because it grows exponentially with increasing latitude. * The logic behind this particular cutoff value, which is the one used by * Google Maps, Bing Maps, and Esri, is that it makes the projection * square. That is, the rectangle is equal in the X and Y directions. * * The constant value is computed as follows: * czm_pi * 0.5 - (2.0 * atan(exp(-czm_pi))) * * @name czm_webMercatorMaxLatitude * @glslConstant */ const float czm_webMercatorMaxLatitude = 1.4844222297453324; `,xme=`/** * @name czm_depthRangeStruct * @glslStruct */ struct czm_depthRangeStruct { float near; float far; }; `,yme=`/** * Holds material information that can be used for lighting. Returned by all czm_getMaterial functions. * * @name czm_material * @glslStruct * * @property {vec3} diffuse Incoming light that scatters evenly in all directions. * @property {float} specular Intensity of incoming light reflecting in a single direction. * @property {float} shininess The sharpness of the specular reflection. Higher values create a smaller, more focused specular highlight. * @property {vec3} normal Surface's normal in eye coordinates. It is used for effects such as normal mapping. The default is the surface's unmodified normal. * @property {vec3} emission Light emitted by the material equally in all directions. The default is vec3(0.0), which emits no light. * @property {float} alpha Alpha of this material. 0.0 is completely transparent; 1.0 is completely opaque. */ struct czm_material { vec3 diffuse; float specular; float shininess; vec3 normal; vec3 emission; float alpha; }; `,Ime=`/** * Used as input to every material's czm_getMaterial function. * * @name czm_materialInput * @glslStruct * * @property {float} s 1D texture coordinates. * @property {vec2} st 2D texture coordinates. * @property {vec3} str 3D texture coordinates. * @property {vec3} normalEC Unperturbed surface normal in eye coordinates. * @property {mat3} tangentToEyeMatrix Matrix for converting a tangent space normal to eye space. * @property {vec3} positionToEyeEC Vector from the fragment to the eye in eye coordinates. The magnitude is the distance in meters from the fragment to the eye. * @property {float} height The height of the terrain in meters above or below the WGS84 ellipsoid. Only available for globe materials. * @property {float} slope The slope of the terrain in radians. 0 is flat; pi/2 is vertical. Only available for globe materials. * @property {float} aspect The aspect of the terrain in radians. 0 is East, pi/2 is North, pi is West, 3pi/2 is South. Only available for globe materials. */ struct czm_materialInput { float s; vec2 st; vec3 str; vec3 normalEC; mat3 tangentToEyeMatrix; vec3 positionToEyeEC; float height; float slope; float aspect; }; `,_me=`/** * Struct for representing a material for a {@link Model}. The model * rendering pipeline will pass this struct between material, custom shaders, * and lighting stages. This is not to be confused with {@link czm_material} * which is used by the older Fabric materials system, although they are similar. *

* All color values (diffuse, specular, emissive) are in linear color space. *

* * @name czm_modelMaterial * @glslStruct * * @property {vec3} diffuse Incoming light that scatters evenly in all directions. * @property {float} alpha Alpha of this material. 0.0 is completely transparent; 1.0 is completely opaque. * @property {vec3} specular Color of reflected light at normal incidence in PBR materials. This is sometimes referred to as f0 in the literature. * @property {float} roughness A number from 0.0 to 1.0 representing how rough the surface is. Values near 0.0 produce glossy surfaces, while values near 1.0 produce rough surfaces. * @property {vec3} normalEC Surface's normal in eye coordinates. It is used for effects such as normal mapping. The default is the surface's unmodified normal. * @property {float} occlusion Ambient occlusion recieved at this point on the material. 1.0 means fully lit, 0.0 means fully occluded. * @property {vec3} emissive Light emitted by the material equally in all directions. The default is vec3(0.0), which emits no light. */ struct czm_modelMaterial { vec3 diffuse; float alpha; vec3 specular; float roughness; vec3 normalEC; float occlusion; vec3 emissive; }; `,vme=`/** * Struct for representing the output of a custom vertex shader. * * @name czm_modelVertexOutput * @glslStruct * * @see {@link CustomShader} * @see {@link Model} * * @property {vec3} positionMC The position of the vertex in model coordinates * @property {float} pointSize A custom value for gl_PointSize. This is only used for point primitives. */ struct czm_modelVertexOutput { vec3 positionMC; float pointSize; }; `,Bme=`/** * Parameters for {@link czm_pbrLighting} * * @name czm_material * @glslStruct * * @property {vec3} diffuseColor the diffuse color of the material for the lambert term of the rendering equation * @property {float} roughness a value from 0.0 to 1.0 that indicates how rough the surface of the material is. * @property {vec3} f0 The reflectance of the material at normal incidence */ struct czm_pbrParameters { vec3 diffuseColor; float roughness; vec3 f0; }; `,wme=`/** * DOC_TBA * * @name czm_ray * @glslStruct */ struct czm_ray { vec3 origin; vec3 direction; }; `,bme=`/** * DOC_TBA * * @name czm_raySegment * @glslStruct */ struct czm_raySegment { float start; float stop; }; /** * DOC_TBA * * @name czm_emptyRaySegment * @glslConstant */ const czm_raySegment czm_emptyRaySegment = czm_raySegment(-czm_infinity, -czm_infinity); /** * DOC_TBA * * @name czm_fullRaySegment * @glslConstant */ const czm_raySegment czm_fullRaySegment = czm_raySegment(0.0, czm_infinity); `,Qme=`struct czm_shadowParameters { #ifdef USE_CUBE_MAP_SHADOW vec3 texCoords; #else vec2 texCoords; #endif float depthBias; float depth; float nDotL; vec2 texelStepSize; float normalShadingSmooth; float darkness; }; `,Sme=`// See: // https://knarkowicz.wordpress.com/2016/01/06/aces-filmic-tone-mapping-curve/ vec3 czm_acesTonemapping(vec3 color) { float g = 0.985; float a = 0.065; float b = 0.0001; float c = 0.433; float d = 0.238; color = (color * (color + a) - b) / (color * (g * color + c) + d); color = clamp(color, 0.0, 1.0); return color; } `,Dme=`/** * @private */ float czm_alphaWeight(float a) { float z = (gl_FragCoord.z - czm_viewportTransformation[3][2]) / czm_viewportTransformation[2][2]; // See Weighted Blended Order-Independent Transparency for examples of different weighting functions: // http://jcgt.org/published/0002/02/09/ return pow(a + 0.01, 4.0) + max(1e-2, min(3.0 * 1e3, 0.003 / (1e-5 + pow(abs(z) / 200.0, 4.0)))); } `,Tme=`/** * Procedural anti-aliasing by blurring two colors that meet at a sharp edge. * * @name czm_antialias * @glslFunction * * @param {vec4} color1 The color on one side of the edge. * @param {vec4} color2 The color on the other side of the edge. * @param {vec4} currentcolor The current color, either color1 or color2. * @param {float} dist The distance to the edge in texture coordinates. * @param {float} [fuzzFactor=0.1] Controls the blurriness between the two colors. * @returns {vec4} The anti-aliased color. * * @example * // GLSL declarations * vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist, float fuzzFactor); * vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist); * * // get the color for a material that has a sharp edge at the line y = 0.5 in texture space * float dist = abs(textureCoordinates.t - 0.5); * vec4 currentColor = mix(bottomColor, topColor, step(0.5, textureCoordinates.t)); * vec4 color = czm_antialias(bottomColor, topColor, currentColor, dist, 0.1); */ vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist, float fuzzFactor) { float val1 = clamp(dist / fuzzFactor, 0.0, 1.0); float val2 = clamp((dist - 0.5) / fuzzFactor, 0.0, 1.0); val1 = val1 * (1.0 - val2); val1 = val1 * val1 * (3.0 - (2.0 * val1)); val1 = pow(val1, 0.5); //makes the transition nicer vec4 midColor = (color1 + color2) * 0.5; return mix(midColor, currentColor, val1); } vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist) { return czm_antialias(color1, color2, currentColor, dist, 0.1); } `,Mme=`/** * Approximately computes spherical coordinates given a normal. * Uses approximate inverse trigonometry for speed and consistency, * since inverse trigonometry can differ from vendor-to-vendor and when compared with the CPU. * * @name czm_approximateSphericalCoordinates * @glslFunction * * @param {vec3} normal arbitrary-length normal. * * @returns {vec2} Approximate latitude and longitude spherical coordinates. */ vec2 czm_approximateSphericalCoordinates(vec3 normal) { // Project into plane with vertical for latitude float latitudeApproximation = czm_fastApproximateAtan(sqrt(normal.x * normal.x + normal.y * normal.y), normal.z); float longitudeApproximation = czm_fastApproximateAtan(normal.x, normal.y); return vec2(latitudeApproximation, longitudeApproximation); } `,Pme=`/** * Determines if the fragment is back facing * * @name czm_backFacing * @glslFunction * * @returns {bool} true if the fragment is back facing; otherwise, false. */ bool czm_backFacing() { // !gl_FrontFacing doesn't work as expected on Mac/Intel so use the more verbose form instead. See https://github.com/CesiumGS/cesium/pull/8494. return gl_FrontFacing == false; } `,Rme=`/** * Branchless ternary operator to be used when it's inexpensive to explicitly * evaluate both possibilities for a float expression. * * @name czm_branchFreeTernary * @glslFunction * * @param {bool} comparison A comparison statement * @param {float} a Value to return if the comparison is true. * @param {float} b Value to return if the comparison is false. * * @returns {float} equivalent of comparison ? a : b */ float czm_branchFreeTernary(bool comparison, float a, float b) { float useA = float(comparison); return a * useA + b * (1.0 - useA); } /** * Branchless ternary operator to be used when it's inexpensive to explicitly * evaluate both possibilities for a vec2 expression. * * @name czm_branchFreeTernary * @glslFunction * * @param {bool} comparison A comparison statement * @param {vec2} a Value to return if the comparison is true. * @param {vec2} b Value to return if the comparison is false. * * @returns {vec2} equivalent of comparison ? a : b */ vec2 czm_branchFreeTernary(bool comparison, vec2 a, vec2 b) { float useA = float(comparison); return a * useA + b * (1.0 - useA); } /** * Branchless ternary operator to be used when it's inexpensive to explicitly * evaluate both possibilities for a vec3 expression. * * @name czm_branchFreeTernary * @glslFunction * * @param {bool} comparison A comparison statement * @param {vec3} a Value to return if the comparison is true. * @param {vec3} b Value to return if the comparison is false. * * @returns {vec3} equivalent of comparison ? a : b */ vec3 czm_branchFreeTernary(bool comparison, vec3 a, vec3 b) { float useA = float(comparison); return a * useA + b * (1.0 - useA); } /** * Branchless ternary operator to be used when it's inexpensive to explicitly * evaluate both possibilities for a vec4 expression. * * @name czm_branchFreeTernary * @glslFunction * * @param {bool} comparison A comparison statement * @param {vec3} a Value to return if the comparison is true. * @param {vec3} b Value to return if the comparison is false. * * @returns {vec3} equivalent of comparison ? a : b */ vec4 czm_branchFreeTernary(bool comparison, vec4 a, vec4 b) { float useA = float(comparison); return a * useA + b * (1.0 - useA); } `,Lme=` vec4 czm_cascadeColor(vec4 weights) { return vec4(1.0, 0.0, 0.0, 1.0) * weights.x + vec4(0.0, 1.0, 0.0, 1.0) * weights.y + vec4(0.0, 0.0, 1.0, 1.0) * weights.z + vec4(1.0, 0.0, 1.0, 1.0) * weights.w; } `,Fme=` uniform vec4 shadowMap_cascadeDistances; float czm_cascadeDistance(vec4 weights) { return dot(shadowMap_cascadeDistances, weights); } `,Nme=` uniform mat4 shadowMap_cascadeMatrices[4]; mat4 czm_cascadeMatrix(vec4 weights) { return shadowMap_cascadeMatrices[0] * weights.x + shadowMap_cascadeMatrices[1] * weights.y + shadowMap_cascadeMatrices[2] * weights.z + shadowMap_cascadeMatrices[3] * weights.w; } `,kme=` uniform vec4 shadowMap_cascadeSplits[2]; vec4 czm_cascadeWeights(float depthEye) { // One component is set to 1.0 and all others set to 0.0. vec4 near = step(shadowMap_cascadeSplits[0], vec4(depthEye)); vec4 far = step(depthEye, shadowMap_cascadeSplits[1]); return near * far; } `,Ome=`/** * DOC_TBA * * @name czm_columbusViewMorph * @glslFunction */ vec4 czm_columbusViewMorph(vec4 position2D, vec4 position3D, float time) { // Just linear for now. vec3 p = mix(position2D.xyz, position3D.xyz, time); return vec4(p, 1.0); } `,Ume=`/** * Returns a position in model coordinates relative to eye taking into * account the current scene mode: 3D, 2D, or Columbus view. *

* This uses standard position attributes, position3DHigh, * position3DLow, position2DHigh, and position2DLow, * and should be used when writing a vertex shader for an {@link Appearance}. *

* * @name czm_computePosition * @glslFunction * * @returns {vec4} The position relative to eye. * * @example * vec4 p = czm_computePosition(); * v_positionEC = (czm_modelViewRelativeToEye * p).xyz; * gl_Position = czm_modelViewProjectionRelativeToEye * p; * * @see czm_translateRelativeToEye */ vec4 czm_computePosition(); `,Gme=`/** * @private */ vec2 cordic(float angle) { // Scale the vector by the appropriate factor for the 24 iterations to follow. vec2 vector = vec2(6.0725293500888267e-1, 0.0); // Iteration 1 float sense = (angle < 0.0) ? -1.0 : 1.0; // float factor = sense * 1.0; // 2^-0 mat2 rotation = mat2(1.0, sense, -sense, 1.0); vector = rotation * vector; angle -= sense * 7.8539816339744828e-1; // atan(2^-0) // Iteration 2 sense = (angle < 0.0) ? -1.0 : 1.0; float factor = sense * 5.0e-1; // 2^-1 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 4.6364760900080609e-1; // atan(2^-1) // Iteration 3 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 2.5e-1; // 2^-2 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 2.4497866312686414e-1; // atan(2^-2) // Iteration 4 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 1.25e-1; // 2^-3 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 1.2435499454676144e-1; // atan(2^-3) // Iteration 5 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 6.25e-2; // 2^-4 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 6.2418809995957350e-2; // atan(2^-4) // Iteration 6 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 3.125e-2; // 2^-5 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 3.1239833430268277e-2; // atan(2^-5) // Iteration 7 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 1.5625e-2; // 2^-6 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 1.5623728620476831e-2; // atan(2^-6) // Iteration 8 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 7.8125e-3; // 2^-7 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 7.8123410601011111e-3; // atan(2^-7) // Iteration 9 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 3.90625e-3; // 2^-8 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 3.9062301319669718e-3; // atan(2^-8) // Iteration 10 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 1.953125e-3; // 2^-9 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 1.9531225164788188e-3; // atan(2^-9) // Iteration 11 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 9.765625e-4; // 2^-10 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 9.7656218955931946e-4; // atan(2^-10) // Iteration 12 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 4.8828125e-4; // 2^-11 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 4.8828121119489829e-4; // atan(2^-11) // Iteration 13 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 2.44140625e-4; // 2^-12 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 2.4414062014936177e-4; // atan(2^-12) // Iteration 14 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 1.220703125e-4; // 2^-13 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 1.2207031189367021e-4; // atan(2^-13) // Iteration 15 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 6.103515625e-5; // 2^-14 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 6.1035156174208773e-5; // atan(2^-14) // Iteration 16 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 3.0517578125e-5; // 2^-15 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 3.0517578115526096e-5; // atan(2^-15) // Iteration 17 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 1.52587890625e-5; // 2^-16 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 1.5258789061315762e-5; // atan(2^-16) // Iteration 18 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 7.62939453125e-6; // 2^-17 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 7.6293945311019700e-6; // atan(2^-17) // Iteration 19 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 3.814697265625e-6; // 2^-18 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 3.8146972656064961e-6; // atan(2^-18) // Iteration 20 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 1.9073486328125e-6; // 2^-19 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 1.9073486328101870e-6; // atan(2^-19) // Iteration 21 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 9.5367431640625e-7; // 2^-20 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 9.5367431640596084e-7; // atan(2^-20) // Iteration 22 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 4.76837158203125e-7; // 2^-21 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 4.7683715820308884e-7; // atan(2^-21) // Iteration 23 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 2.384185791015625e-7; // 2^-22 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; angle -= sense * 2.3841857910155797e-7; // atan(2^-22) // Iteration 24 sense = (angle < 0.0) ? -1.0 : 1.0; factor = sense * 1.1920928955078125e-7; // 2^-23 rotation[0][1] = factor; rotation[1][0] = -factor; vector = rotation * vector; // angle -= sense * 1.1920928955078068e-7; // atan(2^-23) return vector; } /** * Computes the cosine and sine of the provided angle using the CORDIC algorithm. * * @name czm_cosineAndSine * @glslFunction * * @param {float} angle The angle in radians. * * @returns {vec2} The resulting cosine of the angle (as the x coordinate) and sine of the angle (as the y coordinate). * * @example * vec2 v = czm_cosineAndSine(czm_piOverSix); * float cosine = v.x; * float sine = v.y; */ vec2 czm_cosineAndSine(float angle) { if (angle < -czm_piOverTwo || angle > czm_piOverTwo) { if (angle < 0.0) { return -cordic(angle + czm_pi); } else { return -cordic(angle - czm_pi); } } else { return cordic(angle); } } `,Hme=`/** * Decompresses texture coordinates that were packed into a single float. * * @name czm_decompressTextureCoordinates * @glslFunction * * @param {float} encoded The compressed texture coordinates. * @returns {vec2} The decompressed texture coordinates. */ vec2 czm_decompressTextureCoordinates(float encoded) { float temp = encoded / 4096.0; float xZeroTo4095 = floor(temp); float stx = xZeroTo4095 / 4095.0; float sty = (encoded - xZeroTo4095 * 4096.0) / 4095.0; return vec2(stx, sty); } `,Vme=`/** * Get default parameters for physically based rendering. These defaults * describe a rough dielectric (non-metal) surface (e.g. rough plastic). * * @return {czm_pbrParameters} Default parameters for {@link czm_pbrLighting} */ czm_pbrParameters czm_defaultPbrMaterial() { czm_pbrParameters results; results.diffuseColor = vec3(1.0); results.roughness = 1.0; const vec3 REFLECTANCE_DIELECTRIC = vec3(0.04); results.f0 = REFLECTANCE_DIELECTRIC; return results; } `,zme=`// emulated noperspective #if (__VERSION__ == 300 || defined(GL_EXT_frag_depth)) && !defined(LOG_DEPTH) out float v_WindowZ; #endif /** * Emulates GL_DEPTH_CLAMP, which is not available in WebGL 1 or 2. * GL_DEPTH_CLAMP clamps geometry that is outside the near and far planes, * capping the shadow volume. More information here: * https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_depth_clamp.txt. * * When GL_EXT_frag_depth is available we emulate GL_DEPTH_CLAMP by ensuring * no geometry gets clipped by setting the clip space z value to 0.0 and then * sending the unaltered screen space z value (using emulated noperspective * interpolation) to the frag shader where it is clamped to [0,1] and then * written with gl_FragDepth (see czm_writeDepthClamp). This technique is based on: * https://stackoverflow.com/questions/5960757/how-to-emulate-gl-depth-clamp-nv. * * When GL_EXT_frag_depth is not available, which is the case on some mobile * devices, we must attempt to fix this only in the vertex shader. * The approach is to clamp the z value to the far plane, which closes the * shadow volume but also distorts the geometry, so there can still be artifacts * on frustum seams. * * @name czm_depthClamp * @glslFunction * * @param {vec4} coords The vertex in clip coordinates. * @returns {vec4} The modified vertex. * * @example * gl_Position = czm_depthClamp(czm_modelViewProjection * vec4(position, 1.0)); * * @see czm_writeDepthClamp */ vec4 czm_depthClamp(vec4 coords) { #ifndef LOG_DEPTH #if __VERSION__ == 300 || defined(GL_EXT_frag_depth) v_WindowZ = (0.5 * (coords.z / coords.w) + 0.5) * coords.w; coords.z = 0.0; #else coords.z = min(coords.z, coords.w); #endif #endif return coords; } `,Yme=`/** * Computes a 3x3 rotation matrix that transforms vectors from an ellipsoid's east-north-up coordinate system * to eye coordinates. In east-north-up coordinates, x points east, y points north, and z points along the * surface normal. East-north-up can be used as an ellipsoid's tangent space for operations such as bump mapping. *

* The ellipsoid is assumed to be centered at the model coordinate's origin. * * @name czm_eastNorthUpToEyeCoordinates * @glslFunction * * @param {vec3} positionMC The position on the ellipsoid in model coordinates. * @param {vec3} normalEC The normalized ellipsoid surface normal, at positionMC, in eye coordinates. * * @returns {mat3} A 3x3 rotation matrix that transforms vectors from the east-north-up coordinate system to eye coordinates. * * @example * // Transform a vector defined in the east-north-up coordinate * // system, (0, 0, 1) which is the surface normal, to eye * // coordinates. * mat3 m = czm_eastNorthUpToEyeCoordinates(positionMC, normalEC); * vec3 normalEC = m * vec3(0.0, 0.0, 1.0); */ mat3 czm_eastNorthUpToEyeCoordinates(vec3 positionMC, vec3 normalEC) { vec3 tangentMC = normalize(vec3(-positionMC.y, positionMC.x, 0.0)); // normalized surface tangent in model coordinates vec3 tangentEC = normalize(czm_normal3D * tangentMC); // normalized surface tangent in eye coordiantes vec3 bitangentEC = normalize(cross(normalEC, tangentEC)); // normalized surface bitangent in eye coordinates return mat3( tangentEC.x, tangentEC.y, tangentEC.z, bitangentEC.x, bitangentEC.y, bitangentEC.z, normalEC.x, normalEC.y, normalEC.z); } `,Jme=`/** * DOC_TBA * * @name czm_ellipsoidContainsPoint * @glslFunction * */ bool czm_ellipsoidContainsPoint(vec3 ellipsoid_inverseRadii, vec3 point) { vec3 scaled = ellipsoid_inverseRadii * (czm_inverseModelView * vec4(point, 1.0)).xyz; return (dot(scaled, scaled) <= 1.0); } `,Kme=`/** * DOC_TBA * * @name czm_ellipsoidWgs84TextureCoordinates * @glslFunction */ vec2 czm_ellipsoidWgs84TextureCoordinates(vec3 normal) { return vec2(atan(normal.y, normal.x) * czm_oneOverTwoPi + 0.5, asin(normal.z) * czm_oneOverPi + 0.5); } `,Wme=`/** * Compares left and right componentwise. Returns true * if they are within epsilon and false otherwise. The inputs * left and right can be floats, vec2s, * vec3s, or vec4s. * * @name czm_equalsEpsilon * @glslFunction * * @param {} left The first vector. * @param {} right The second vector. * @param {float} epsilon The epsilon to use for equality testing. * @returns {bool} true if the components are within epsilon and false otherwise. * * @example * // GLSL declarations * bool czm_equalsEpsilon(float left, float right, float epsilon); * bool czm_equalsEpsilon(vec2 left, vec2 right, float epsilon); * bool czm_equalsEpsilon(vec3 left, vec3 right, float epsilon); * bool czm_equalsEpsilon(vec4 left, vec4 right, float epsilon); */ bool czm_equalsEpsilon(vec4 left, vec4 right, float epsilon) { return all(lessThanEqual(abs(left - right), vec4(epsilon))); } bool czm_equalsEpsilon(vec3 left, vec3 right, float epsilon) { return all(lessThanEqual(abs(left - right), vec3(epsilon))); } bool czm_equalsEpsilon(vec2 left, vec2 right, float epsilon) { return all(lessThanEqual(abs(left - right), vec2(epsilon))); } bool czm_equalsEpsilon(float left, float right, float epsilon) { return (abs(left - right) <= epsilon); } `,jme=`/** * DOC_TBA * * @name czm_eyeOffset * @glslFunction * * @param {vec4} positionEC DOC_TBA. * @param {vec3} eyeOffset DOC_TBA. * * @returns {vec4} DOC_TBA. */ vec4 czm_eyeOffset(vec4 positionEC, vec3 eyeOffset) { // This equation is approximate in x and y. vec4 p = positionEC; vec4 zEyeOffset = normalize(p) * eyeOffset.z; p.xy += eyeOffset.xy + zEyeOffset.xy; p.z += zEyeOffset.z; return p; } `,qme=`/** * Transforms a position from eye to window coordinates. The transformation * from eye to clip coordinates is done using {@link czm_projection}. * The transform from normalized device coordinates to window coordinates is * done using {@link czm_viewportTransformation}, which assumes a depth range * of near = 0 and far = 1. *

* This transform is useful when there is a need to manipulate window coordinates * in a vertex shader as done by {@link BillboardCollection}. * * @name czm_eyeToWindowCoordinates * @glslFunction * * @param {vec4} position The position in eye coordinates to transform. * * @returns {vec4} The transformed position in window coordinates. * * @see czm_modelToWindowCoordinates * @see czm_projection * @see czm_viewportTransformation * @see BillboardCollection * * @example * vec4 positionWC = czm_eyeToWindowCoordinates(positionEC); */ vec4 czm_eyeToWindowCoordinates(vec4 positionEC) { vec4 q = czm_projection * positionEC; // clip coordinates q.xyz /= q.w; // normalized device coordinates q.xyz = (czm_viewportTransformation * vec4(q.xyz, 1.0)).xyz; // window coordinates return q; } `,Xme=`/** * Approxiamtes atan over the range [0, 1]. Safe to flip output for negative input. * * Based on Michal Drobot's approximation from ShaderFastLibs, which in turn is based on * "Efficient approximations for the arctangent function," Rajan, S. Sichun Wang Inkol, R. Joyal, A., May 2006. * Adapted from ShaderFastLibs under MIT License. * * Chosen for the following characteristics over range [0, 1]: * - basically no error at 0 and 1, important for getting around range limit (naive atan2 via atan requires infinite range atan) * - no visible artifacts from first-derivative discontinuities, unlike latitude via range-reduced sqrt asin approximations (at equator) * * The original code is x * (-0.1784 * abs(x) - 0.0663 * x * x + 1.0301); * Removed the abs() in here because it isn't needed, the input range is guaranteed as [0, 1] by how we're approximating atan2. * * @name czm_fastApproximateAtan * @glslFunction * * @param {float} x Value between 0 and 1 inclusive. * * @returns {float} Approximation of atan(x) */ float czm_fastApproximateAtan(float x) { return x * (-0.1784 * x - 0.0663 * x * x + 1.0301); } /** * Approximation of atan2. * * Range reduction math based on nvidia's cg reference implementation for atan2: http://developer.download.nvidia.com/cg/atan2.html * However, we replaced their atan curve with Michael Drobot's (see above). * * @name czm_fastApproximateAtan * @glslFunction * * @param {float} x Value between -1 and 1 inclusive. * @param {float} y Value between -1 and 1 inclusive. * * @returns {float} Approximation of atan2(x, y) */ float czm_fastApproximateAtan(float x, float y) { // atan approximations are usually only reliable over [-1, 1], or, in our case, [0, 1] due to modifications. // So range-reduce using abs and by flipping whether x or y is on top. float t = abs(x); // t used as swap and atan result. float opposite = abs(y); float adjacent = max(t, opposite); opposite = min(t, opposite); t = czm_fastApproximateAtan(opposite / adjacent); // Undo range reduction t = czm_branchFreeTernary(abs(y) > abs(x), czm_piOverTwo - t, t); t = czm_branchFreeTernary(x < 0.0, czm_pi - t, t); t = czm_branchFreeTernary(y < 0.0, -t, t); return t; } `,Zme=`/** * Gets the color with fog at a distance from the camera. * * @name czm_fog * @glslFunction * * @param {float} distanceToCamera The distance to the camera in meters. * @param {vec3} color The original color. * @param {vec3} fogColor The color of the fog. * * @returns {vec3} The color adjusted for fog at the distance from the camera. */ vec3 czm_fog(float distanceToCamera, vec3 color, vec3 fogColor) { float scalar = distanceToCamera * czm_fogDensity; float fog = 1.0 - exp(-(scalar * scalar)); return mix(color, fogColor, fog); } /** * Gets the color with fog at a distance from the camera. * * @name czm_fog * @glslFunction * * @param {float} distanceToCamera The distance to the camera in meters. * @param {vec3} color The original color. * @param {vec3} fogColor The color of the fog. * @param {float} fogModifierConstant A constant to modify the appearance of fog. * * @returns {vec3} The color adjusted for fog at the distance from the camera. */ vec3 czm_fog(float distanceToCamera, vec3 color, vec3 fogColor, float fogModifierConstant) { float scalar = distanceToCamera * czm_fogDensity; float fog = 1.0 - exp(-((fogModifierConstant * scalar + fogModifierConstant) * (scalar * (1.0 + fogModifierConstant)))); return mix(color, fogColor, fog); } `,$me=`/** * Converts a color from RGB space to linear space. * * @name czm_gammaCorrect * @glslFunction * * @param {vec3} color The color in RGB space. * @returns {vec3} The color in linear space. */ vec3 czm_gammaCorrect(vec3 color) { #ifdef HDR color = pow(color, vec3(czm_gamma)); #endif return color; } vec4 czm_gammaCorrect(vec4 color) { #ifdef HDR color.rgb = pow(color.rgb, vec3(czm_gamma)); #endif return color; } `,eCe=`/** * DOC_TBA * * @name czm_geodeticSurfaceNormal * @glslFunction * * @param {vec3} positionOnEllipsoid DOC_TBA * @param {vec3} ellipsoidCenter DOC_TBA * @param {vec3} oneOverEllipsoidRadiiSquared DOC_TBA * * @returns {vec3} DOC_TBA. */ vec3 czm_geodeticSurfaceNormal(vec3 positionOnEllipsoid, vec3 ellipsoidCenter, vec3 oneOverEllipsoidRadiiSquared) { return normalize((positionOnEllipsoid - ellipsoidCenter) * oneOverEllipsoidRadiiSquared); } `,tCe=`/** * An czm_material with default values. Every material's czm_getMaterial * should use this default material as a base for the material it returns. * The default normal value is given by materialInput.normalEC. * * @name czm_getDefaultMaterial * @glslFunction * * @param {czm_materialInput} input The input used to construct the default material. * * @returns {czm_material} The default material. * * @see czm_materialInput * @see czm_material * @see czm_getMaterial */ czm_material czm_getDefaultMaterial(czm_materialInput materialInput) { czm_material material; material.diffuse = vec3(0.0); material.specular = 0.0; material.shininess = 1.0; material.normal = materialInput.normalEC; material.emission = vec3(0.0); material.alpha = 1.0; return material; } `,iCe=`/** * Calculates the intensity of diffusely reflected light. * * @name czm_getLambertDiffuse * @glslFunction * * @param {vec3} lightDirectionEC Unit vector pointing to the light source in eye coordinates. * @param {vec3} normalEC The surface normal in eye coordinates. * * @returns {float} The intensity of the diffuse reflection. * * @see czm_phong * * @example * float diffuseIntensity = czm_getLambertDiffuse(lightDirectionEC, normalEC); * float specularIntensity = czm_getSpecular(lightDirectionEC, toEyeEC, normalEC, 200); * vec3 color = (diffuseColor * diffuseIntensity) + (specularColor * specularIntensity); */ float czm_getLambertDiffuse(vec3 lightDirectionEC, vec3 normalEC) { return max(dot(lightDirectionEC, normalEC), 0.0); } `,rCe=`/** * Calculates the specular intensity of reflected light. * * @name czm_getSpecular * @glslFunction * * @param {vec3} lightDirectionEC Unit vector pointing to the light source in eye coordinates. * @param {vec3} toEyeEC Unit vector pointing to the eye position in eye coordinates. * @param {vec3} normalEC The surface normal in eye coordinates. * @param {float} shininess The sharpness of the specular reflection. Higher values create a smaller, more focused specular highlight. * * @returns {float} The intensity of the specular highlight. * * @see czm_phong * * @example * float diffuseIntensity = czm_getLambertDiffuse(lightDirectionEC, normalEC); * float specularIntensity = czm_getSpecular(lightDirectionEC, toEyeEC, normalEC, 200); * vec3 color = (diffuseColor * diffuseIntensity) + (specularColor * specularIntensity); */ float czm_getSpecular(vec3 lightDirectionEC, vec3 toEyeEC, vec3 normalEC, float shininess) { vec3 toReflectedLight = reflect(-lightDirectionEC, normalEC); float specular = max(dot(toReflectedLight, toEyeEC), 0.0); // pow has undefined behavior if both parameters <= 0. // Prevent this by making sure shininess is at least czm_epsilon2. return pow(specular, max(shininess, czm_epsilon2)); } `,nCe=`/** * @private */ vec4 czm_getWaterNoise(sampler2D normalMap, vec2 uv, float time, float angleInRadians) { float cosAngle = cos(angleInRadians); float sinAngle = sin(angleInRadians); // time dependent sampling directions vec2 s0 = vec2(1.0/17.0, 0.0); vec2 s1 = vec2(-1.0/29.0, 0.0); vec2 s2 = vec2(1.0/101.0, 1.0/59.0); vec2 s3 = vec2(-1.0/109.0, -1.0/57.0); // rotate sampling direction by specified angle s0 = vec2((cosAngle * s0.x) - (sinAngle * s0.y), (sinAngle * s0.x) + (cosAngle * s0.y)); s1 = vec2((cosAngle * s1.x) - (sinAngle * s1.y), (sinAngle * s1.x) + (cosAngle * s1.y)); s2 = vec2((cosAngle * s2.x) - (sinAngle * s2.y), (sinAngle * s2.x) + (cosAngle * s2.y)); s3 = vec2((cosAngle * s3.x) - (sinAngle * s3.y), (sinAngle * s3.x) + (cosAngle * s3.y)); vec2 uv0 = (uv/103.0) + (time * s0); vec2 uv1 = uv/107.0 + (time * s1) + vec2(0.23); vec2 uv2 = uv/vec2(897.0, 983.0) + (time * s2) + vec2(0.51); vec2 uv3 = uv/vec2(991.0, 877.0) + (time * s3) + vec2(0.71); uv0 = fract(uv0); uv1 = fract(uv1); uv2 = fract(uv2); uv3 = fract(uv3); vec4 noise = (texture(normalMap, uv0)) + (texture(normalMap, uv1)) + (texture(normalMap, uv2)) + (texture(normalMap, uv3)); // average and scale to between -1 and 1 return ((noise / 4.0) - 0.5) * 2.0; } `,oCe=`/** * Converts an HSB color (hue, saturation, brightness) to RGB * HSB <-> RGB conversion with minimal branching: {@link http://lolengine.net/blog/2013/07/27/rgb-to-hsv-in-glsl} * * @name czm_HSBToRGB * @glslFunction * * @param {vec3} hsb The color in HSB. * * @returns {vec3} The color in RGB. * * @example * vec3 hsb = czm_RGBToHSB(rgb); * hsb.z *= 0.1; * rgb = czm_HSBToRGB(hsb); */ const vec4 K_HSB2RGB = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); vec3 czm_HSBToRGB(vec3 hsb) { vec3 p = abs(fract(hsb.xxx + K_HSB2RGB.xyz) * 6.0 - K_HSB2RGB.www); return hsb.z * mix(K_HSB2RGB.xxx, clamp(p - K_HSB2RGB.xxx, 0.0, 1.0), hsb.y); } `,aCe=`/** * Converts an HSL color (hue, saturation, lightness) to RGB * HSL <-> RGB conversion: {@link http://www.chilliant.com/rgb2hsv.html} * * @name czm_HSLToRGB * @glslFunction * * @param {vec3} rgb The color in HSL. * * @returns {vec3} The color in RGB. * * @example * vec3 hsl = czm_RGBToHSL(rgb); * hsl.z *= 0.1; * rgb = czm_HSLToRGB(hsl); */ vec3 hueToRGB(float hue) { float r = abs(hue * 6.0 - 3.0) - 1.0; float g = 2.0 - abs(hue * 6.0 - 2.0); float b = 2.0 - abs(hue * 6.0 - 4.0); return clamp(vec3(r, g, b), 0.0, 1.0); } vec3 czm_HSLToRGB(vec3 hsl) { vec3 rgb = hueToRGB(hsl.x); float c = (1.0 - abs(2.0 * hsl.z - 1.0)) * hsl.y; return (rgb - 0.5) * c + hsl.z; } `,sCe=`/** * Adjusts the hue of a color. * * @name czm_hue * @glslFunction * * @param {vec3} rgb The color. * @param {float} adjustment The amount to adjust the hue of the color in radians. * * @returns {float} The color with the hue adjusted. * * @example * vec3 adjustHue = czm_hue(color, czm_pi); // The same as czm_hue(color, -czm_pi) */ vec3 czm_hue(vec3 rgb, float adjustment) { const mat3 toYIQ = mat3(0.299, 0.587, 0.114, 0.595716, -0.274453, -0.321263, 0.211456, -0.522591, 0.311135); const mat3 toRGB = mat3(1.0, 0.9563, 0.6210, 1.0, -0.2721, -0.6474, 1.0, -1.107, 1.7046); vec3 yiq = toYIQ * rgb; float hue = atan(yiq.z, yiq.y) + adjustment; float chroma = sqrt(yiq.z * yiq.z + yiq.y * yiq.y); vec3 color = vec3(yiq.x, chroma * cos(hue), chroma * sin(hue)); return toRGB * color; } `,lCe=`/** * Converts a color in linear space to RGB space. * * @name czm_inverseGamma * @glslFunction * * @param {vec3} color The color in linear space. * @returns {vec3} The color in RGB space. */ vec3 czm_inverseGamma(vec3 color) { return pow(color, vec3(1.0 / czm_gamma)); } `,uCe=`/** * Determines if a time interval is empty. * * @name czm_isEmpty * @glslFunction * * @param {czm_raySegment} interval The interval to test. * * @returns {bool} true if the time interval is empty; otherwise, false. * * @example * bool b0 = czm_isEmpty(czm_emptyRaySegment); // true * bool b1 = czm_isEmpty(czm_raySegment(0.0, 1.0)); // false * bool b2 = czm_isEmpty(czm_raySegment(1.0, 1.0)); // false, contains 1.0. */ bool czm_isEmpty(czm_raySegment interval) { return (interval.stop < 0.0); } `,ACe=`/** * Determines if a time interval is empty. * * @name czm_isFull * @glslFunction * * @param {czm_raySegment} interval The interval to test. * * @returns {bool} true if the time interval is empty; otherwise, false. * * @example * bool b0 = czm_isEmpty(czm_emptyRaySegment); // true * bool b1 = czm_isEmpty(czm_raySegment(0.0, 1.0)); // false * bool b2 = czm_isEmpty(czm_raySegment(1.0, 1.0)); // false, contains 1.0. */ bool czm_isFull(czm_raySegment interval) { return (interval.start == 0.0 && interval.stop == czm_infinity); } `,cCe=`/** * Computes the fraction of a Web Wercator rectangle at which a given geodetic latitude is located. * * @name czm_latitudeToWebMercatorFraction * @glslFunction * * @param {float} latitude The geodetic latitude, in radians. * @param {float} southMercatorY The Web Mercator coordinate of the southern boundary of the rectangle. * @param {float} oneOverMercatorHeight The total height of the rectangle in Web Mercator coordinates. * * @returns {float} The fraction of the rectangle at which the latitude occurs. If the latitude is the southern * boundary of the rectangle, the return value will be zero. If it is the northern boundary, the return * value will be 1.0. Latitudes in between are mapped according to the Web Mercator projection. */ float czm_latitudeToWebMercatorFraction(float latitude, float southMercatorY, float oneOverMercatorHeight) { float sinLatitude = sin(latitude); float mercatorY = 0.5 * log((1.0 + sinLatitude) / (1.0 - sinLatitude)); return (mercatorY - southMercatorY) * oneOverMercatorHeight; } `,hCe=`/** * Converts a linear RGB color to an sRGB color. * * @param {vec3|vec4} linearIn The color in linear color space. * @returns {vec3|vec4} The color in sRGB color space. The vector type matches the input. */ vec3 czm_linearToSrgb(vec3 linearIn) { return pow(linearIn, vec3(1.0/2.2)); } vec4 czm_linearToSrgb(vec4 linearIn) { vec3 srgbOut = pow(linearIn.rgb, vec3(1.0/2.2)); return vec4(srgbOut, linearIn.a); } `,dCe=`/** * Computes distance from an point in 2D to a line in 2D. * * @name czm_lineDistance * @glslFunction * * param {vec2} point1 A point along the line. * param {vec2} point2 A point along the line. * param {vec2} point A point that may or may not be on the line. * returns {float} The distance from the point to the line. */ float czm_lineDistance(vec2 point1, vec2 point2, vec2 point) { return abs((point2.y - point1.y) * point.x - (point2.x - point1.x) * point.y + point2.x * point1.y - point2.y * point1.x) / distance(point2, point1); } `,fCe=`/** * Computes the luminance of a color. * * @name czm_luminance * @glslFunction * * @param {vec3} rgb The color. * * @returns {float} The luminance. * * @example * float light = czm_luminance(vec3(0.0)); // 0.0 * float dark = czm_luminance(vec3(1.0)); // ~1.0 */ float czm_luminance(vec3 rgb) { // Algorithm from Chapter 10 of Graphics Shaders. const vec3 W = vec3(0.2125, 0.7154, 0.0721); return dot(rgb, W); } `,gCe=`/** * Computes the size of a pixel in meters at a distance from the eye. *

* Use this version when passing in a custom pixel ratio. For example, passing in 1.0 will return meters per native device pixel. *

* @name czm_metersPerPixel * @glslFunction * * @param {vec3} positionEC The position to get the meters per pixel in eye coordinates. * @param {float} pixelRatio The scaling factor from pixel space to coordinate space * * @returns {float} The meters per pixel at positionEC. */ float czm_metersPerPixel(vec4 positionEC, float pixelRatio) { float width = czm_viewport.z; float height = czm_viewport.w; float pixelWidth; float pixelHeight; float top = czm_frustumPlanes.x; float bottom = czm_frustumPlanes.y; float left = czm_frustumPlanes.z; float right = czm_frustumPlanes.w; if (czm_sceneMode == czm_sceneMode2D || czm_orthographicIn3D == 1.0) { float frustumWidth = right - left; float frustumHeight = top - bottom; pixelWidth = frustumWidth / width; pixelHeight = frustumHeight / height; } else { float distanceToPixel = -positionEC.z; float inverseNear = 1.0 / czm_currentFrustum.x; float tanTheta = top * inverseNear; pixelHeight = 2.0 * distanceToPixel * tanTheta / height; tanTheta = right * inverseNear; pixelWidth = 2.0 * distanceToPixel * tanTheta / width; } return max(pixelWidth, pixelHeight) * pixelRatio; } /** * Computes the size of a pixel in meters at a distance from the eye. *

* Use this version when scaling by pixel ratio. *

* @name czm_metersPerPixel * @glslFunction * * @param {vec3} positionEC The position to get the meters per pixel in eye coordinates. * * @returns {float} The meters per pixel at positionEC. */ float czm_metersPerPixel(vec4 positionEC) { return czm_metersPerPixel(positionEC, czm_pixelRatio); } `,pCe=`/** * Transforms a position from model to window coordinates. The transformation * from model to clip coordinates is done using {@link czm_modelViewProjection}. * The transform from normalized device coordinates to window coordinates is * done using {@link czm_viewportTransformation}, which assumes a depth range * of near = 0 and far = 1. *

* This transform is useful when there is a need to manipulate window coordinates * in a vertex shader as done by {@link BillboardCollection}. *

* This function should not be confused with {@link czm_viewportOrthographic}, * which is an orthographic projection matrix that transforms from window * coordinates to clip coordinates. * * @name czm_modelToWindowCoordinates * @glslFunction * * @param {vec4} position The position in model coordinates to transform. * * @returns {vec4} The transformed position in window coordinates. * * @see czm_eyeToWindowCoordinates * @see czm_modelViewProjection * @see czm_viewportTransformation * @see czm_viewportOrthographic * @see BillboardCollection * * @example * vec4 positionWC = czm_modelToWindowCoordinates(positionMC); */ vec4 czm_modelToWindowCoordinates(vec4 position) { vec4 q = czm_modelViewProjection * position; // clip coordinates q.xyz /= q.w; // normalized device coordinates q.xyz = (czm_viewportTransformation * vec4(q.xyz, 1.0)).xyz; // window coordinates return q; } `,mCe=`/** * DOC_TBA * * @name czm_multiplyWithColorBalance * @glslFunction */ vec3 czm_multiplyWithColorBalance(vec3 left, vec3 right) { // Algorithm from Chapter 10 of Graphics Shaders. const vec3 W = vec3(0.2125, 0.7154, 0.0721); vec3 target = left * right; float leftLuminance = dot(left, W); float rightLuminance = dot(right, W); float targetLuminance = dot(target, W); return ((leftLuminance + rightLuminance) / (2.0 * targetLuminance)) * target; } `,CCe=`/** * Computes a value that scales with distance. The scaling is clamped at the near and * far distances, and does not extrapolate. This function works with the * {@link NearFarScalar} JavaScript class. * * @name czm_nearFarScalar * @glslFunction * * @param {vec4} nearFarScalar A vector with 4 components: Near distance (x), Near value (y), Far distance (z), Far value (w). * @param {float} cameraDistSq The square of the current distance from the camera. * * @returns {float} The value at this distance. */ float czm_nearFarScalar(vec4 nearFarScalar, float cameraDistSq) { float valueAtMin = nearFarScalar.y; float valueAtMax = nearFarScalar.w; float nearDistanceSq = nearFarScalar.x * nearFarScalar.x; float farDistanceSq = nearFarScalar.z * nearFarScalar.z; float t = (cameraDistSq - nearDistanceSq) / (farDistanceSq - nearDistanceSq); t = pow(clamp(t, 0.0, 1.0), 0.2); return mix(valueAtMin, valueAtMax, t); } `,ECe=` /** * Decodes a unit-length vector in 'oct' encoding to a normalized 3-component Cartesian vector. * The 'oct' encoding is described in "A Survey of Efficient Representations of Independent Unit Vectors", * Cigolle et al 2014: http://jcgt.org/published/0003/02/01/ * * @name czm_octDecode * @param {vec2} encoded The oct-encoded, unit-length vector * @param {float} range The maximum value of the SNORM range. The encoded vector is stored in log2(rangeMax+1) bits. * @returns {vec3} The decoded and normalized vector */ vec3 czm_octDecode(vec2 encoded, float range) { if (encoded.x == 0.0 && encoded.y == 0.0) { return vec3(0.0, 0.0, 0.0); } encoded = encoded / range * 2.0 - 1.0; vec3 v = vec3(encoded.x, encoded.y, 1.0 - abs(encoded.x) - abs(encoded.y)); if (v.z < 0.0) { v.xy = (1.0 - abs(v.yx)) * czm_signNotZero(v.xy); } return normalize(v); } /** * Decodes a unit-length vector in 'oct' encoding to a normalized 3-component Cartesian vector. * The 'oct' encoding is described in "A Survey of Efficient Representations of Independent Unit Vectors", * Cigolle et al 2014: http://jcgt.org/published/0003/02/01/ * * @name czm_octDecode * @param {vec2} encoded The oct-encoded, unit-length vector * @returns {vec3} The decoded and normalized vector */ vec3 czm_octDecode(vec2 encoded) { return czm_octDecode(encoded, 255.0); } /** * Decodes a unit-length vector in 'oct' encoding packed into a floating-point number to a normalized 3-component Cartesian vector. * The 'oct' encoding is described in "A Survey of Efficient Representations of Independent Unit Vectors", * Cigolle et al 2014: http://jcgt.org/published/0003/02/01/ * * @name czm_octDecode * @param {float} encoded The oct-encoded, unit-length vector * @returns {vec3} The decoded and normalized vector */ vec3 czm_octDecode(float encoded) { float temp = encoded / 256.0; float x = floor(temp); float y = (temp - x) * 256.0; return czm_octDecode(vec2(x, y)); } /** * Decodes three unit-length vectors in 'oct' encoding packed into two floating-point numbers to normalized 3-component Cartesian vectors. * The 'oct' encoding is described in "A Survey of Efficient Representations of Independent Unit Vectors", * Cigolle et al 2014: http://jcgt.org/published/0003/02/01/ * * @name czm_octDecode * @param {vec2} encoded The packed oct-encoded, unit-length vectors. * @param {vec3} vector1 One decoded and normalized vector. * @param {vec3} vector2 One decoded and normalized vector. * @param {vec3} vector3 One decoded and normalized vector. */ void czm_octDecode(vec2 encoded, out vec3 vector1, out vec3 vector2, out vec3 vector3) { float temp = encoded.x / 65536.0; float x = floor(temp); float encodedFloat1 = (temp - x) * 65536.0; temp = encoded.y / 65536.0; float y = floor(temp); float encodedFloat2 = (temp - y) * 65536.0; vector1 = czm_octDecode(encodedFloat1); vector2 = czm_octDecode(encodedFloat2); vector3 = czm_octDecode(vec2(x, y)); } `,xCe=`/** * Packs a depth value into a vec3 that can be represented by unsigned bytes. * * @name czm_packDepth * @glslFunction * * @param {float} depth The floating-point depth. * @returns {vec3} The packed depth. */ vec4 czm_packDepth(float depth) { // See Aras Pranckevi\u010Dius' post Encoding Floats to RGBA // http://aras-p.info/blog/2009/07/30/encoding-floats-to-rgba-the-final/ vec4 enc = vec4(1.0, 255.0, 65025.0, 16581375.0) * depth; enc = fract(enc); enc -= enc.yzww * vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0); return enc; } `,yCe=`vec3 lambertianDiffuse(vec3 diffuseColor) { return diffuseColor / czm_pi; } vec3 fresnelSchlick2(vec3 f0, vec3 f90, float VdotH) { return f0 + (f90 - f0) * pow(clamp(1.0 - VdotH, 0.0, 1.0), 5.0); } float smithVisibilityG1(float NdotV, float roughness) { // this is the k value for direct lighting. // for image based lighting it will be roughness^2 / 2 float k = (roughness + 1.0) * (roughness + 1.0) / 8.0; return NdotV / (NdotV * (1.0 - k) + k); } float smithVisibilityGGX(float roughness, float NdotL, float NdotV) { return ( smithVisibilityG1(NdotL, roughness) * smithVisibilityG1(NdotV, roughness) ); } float GGX(float roughness, float NdotH) { float roughnessSquared = roughness * roughness; float f = (NdotH * roughnessSquared - NdotH) * NdotH + 1.0; return roughnessSquared / (czm_pi * f * f); } /** * Compute the diffuse and specular contributions using physically based * rendering. This function only handles direct lighting. *

* This function only handles the lighting calculations. Metallic/roughness * and specular/glossy must be handled separately. See {@czm_pbrMetallicRoughnessMaterial}, {@czm_pbrSpecularGlossinessMaterial} and {@czm_defaultPbrMaterial} *

* * @name czm_pbrlighting * @glslFunction * * @param {vec3} positionEC The position of the fragment in eye coordinates * @param {vec3} normalEC The surface normal in eye coordinates * @param {vec3} lightDirectionEC Unit vector pointing to the light source in eye coordinates. * @param {vec3} lightColorHdr radiance of the light source. This is a HDR value. * @param {czm_pbrParameters} The computed PBR parameters. * @return {vec3} The computed HDR color * * @example * czm_pbrParameters pbrParameters = czm_pbrMetallicRoughnessMaterial( * baseColor, * metallic, * roughness * ); * vec3 color = czm_pbrlighting( * positionEC, * normalEC, * lightDirectionEC, * lightColorHdr, * pbrParameters); */ vec3 czm_pbrLighting( vec3 positionEC, vec3 normalEC, vec3 lightDirectionEC, vec3 lightColorHdr, czm_pbrParameters pbrParameters ) { vec3 v = -normalize(positionEC); vec3 l = normalize(lightDirectionEC); vec3 h = normalize(v + l); vec3 n = normalEC; float NdotL = clamp(dot(n, l), 0.001, 1.0); float NdotV = abs(dot(n, v)) + 0.001; float NdotH = clamp(dot(n, h), 0.0, 1.0); float LdotH = clamp(dot(l, h), 0.0, 1.0); float VdotH = clamp(dot(v, h), 0.0, 1.0); vec3 f0 = pbrParameters.f0; float reflectance = max(max(f0.r, f0.g), f0.b); vec3 f90 = vec3(clamp(reflectance * 25.0, 0.0, 1.0)); vec3 F = fresnelSchlick2(f0, f90, VdotH); float alpha = pbrParameters.roughness; float G = smithVisibilityGGX(alpha, NdotL, NdotV); float D = GGX(alpha, NdotH); vec3 specularContribution = F * G * D / (4.0 * NdotL * NdotV); vec3 diffuseColor = pbrParameters.diffuseColor; // F here represents the specular contribution vec3 diffuseContribution = (1.0 - F) * lambertianDiffuse(diffuseColor); // Lo = (diffuse + specular) * Li * NdotL return (diffuseContribution + specularContribution) * NdotL * lightColorHdr; } `,ICe=`/** * Compute parameters for physically based rendering using the * metallic/roughness workflow. All inputs are linear; sRGB texture values must * be decoded beforehand * * @name czm_pbrMetallicRoughnessMaterial * @glslFunction * * @param {vec3} baseColor For dielectrics, this is the base color. For metals, this is the f0 value (reflectance at normal incidence) * @param {float} metallic 0.0 indicates dielectric. 1.0 indicates metal. Values in between are allowed (e.g. to model rust or dirt); * @param {float} roughness A value between 0.0 and 1.0 * @return {czm_pbrParameters} parameters to pass into {@link czm_pbrLighting} */ czm_pbrParameters czm_pbrMetallicRoughnessMaterial( vec3 baseColor, float metallic, float roughness ) { czm_pbrParameters results; // roughness is authored as perceptual roughness // square it to get material roughness roughness = clamp(roughness, 0.0, 1.0); results.roughness = roughness * roughness; // dielectrics use f0 = 0.04, metals use albedo as f0 metallic = clamp(metallic, 0.0, 1.0); const vec3 REFLECTANCE_DIELECTRIC = vec3(0.04); vec3 f0 = mix(REFLECTANCE_DIELECTRIC, baseColor, metallic); results.f0 = f0; // diffuse only applies to dielectrics. results.diffuseColor = baseColor * (1.0 - f0) * (1.0 - metallic); return results; } `,_Ce=`/** * Compute parameters for physically based rendering using the * specular/glossy workflow. All inputs are linear; sRGB texture values must * be decoded beforehand * * @name czm_pbrSpecularGlossinessMaterial * @glslFunction * * @param {vec3} diffuse The diffuse color for dielectrics (non-metals) * @param {vec3} specular The reflectance at normal incidence (f0) * @param {float} glossiness A number from 0.0 to 1.0 indicating how smooth the surface is. * @return {czm_pbrParameters} parameters to pass into {@link czm_pbrLighting} */ czm_pbrParameters czm_pbrSpecularGlossinessMaterial( vec3 diffuse, vec3 specular, float glossiness ) { czm_pbrParameters results; // glossiness is the opposite of roughness, but easier for artists to use. float roughness = 1.0 - glossiness; results.roughness = roughness * roughness; results.diffuseColor = diffuse * (1.0 - max(max(specular.r, specular.g), specular.b)); results.f0 = specular; return results; } `,vCe=`float czm_private_getLambertDiffuseOfMaterial(vec3 lightDirectionEC, czm_material material) { return czm_getLambertDiffuse(lightDirectionEC, material.normal); } float czm_private_getSpecularOfMaterial(vec3 lightDirectionEC, vec3 toEyeEC, czm_material material) { return czm_getSpecular(lightDirectionEC, toEyeEC, material.normal, material.shininess); } /** * Computes a color using the Phong lighting model. * * @name czm_phong * @glslFunction * * @param {vec3} toEye A normalized vector from the fragment to the eye in eye coordinates. * @param {czm_material} material The fragment's material. * * @returns {vec4} The computed color. * * @example * vec3 positionToEyeEC = // ... * czm_material material = // ... * vec3 lightDirectionEC = // ... * out_FragColor = czm_phong(normalize(positionToEyeEC), material, lightDirectionEC); * * @see czm_getMaterial */ vec4 czm_phong(vec3 toEye, czm_material material, vec3 lightDirectionEC) { // Diffuse from directional light sources at eye (for top-down) float diffuse = czm_private_getLambertDiffuseOfMaterial(vec3(0.0, 0.0, 1.0), material); if (czm_sceneMode == czm_sceneMode3D) { // (and horizon views in 3D) diffuse += czm_private_getLambertDiffuseOfMaterial(vec3(0.0, 1.0, 0.0), material); } float specular = czm_private_getSpecularOfMaterial(lightDirectionEC, toEye, material); // Temporary workaround for adding ambient. vec3 materialDiffuse = material.diffuse * 0.5; vec3 ambient = materialDiffuse; vec3 color = ambient + material.emission; color += materialDiffuse * diffuse * czm_lightColor; color += material.specular * specular * czm_lightColor; return vec4(color, material.alpha); } vec4 czm_private_phong(vec3 toEye, czm_material material, vec3 lightDirectionEC) { float diffuse = czm_private_getLambertDiffuseOfMaterial(lightDirectionEC, material); float specular = czm_private_getSpecularOfMaterial(lightDirectionEC, toEye, material); vec3 ambient = vec3(0.0); vec3 color = ambient + material.emission; color += material.diffuse * diffuse * czm_lightColor; color += material.specular * specular * czm_lightColor; return vec4(color, material.alpha); } `,BCe=`/** * Computes distance from a point to a plane. * * @name czm_planeDistance * @glslFunction * * param {vec4} plane A Plane in Hessian Normal Form. See Plane.js * param {vec3} point A point in the same space as the plane. * returns {float} The distance from the point to the plane. */ float czm_planeDistance(vec4 plane, vec3 point) { return (dot(plane.xyz, point) + plane.w); } /** * Computes distance from a point to a plane. * * @name czm_planeDistance * @glslFunction * * param {vec3} planeNormal Normal for a plane in Hessian Normal Form. See Plane.js * param {float} planeDistance Distance for a plane in Hessian Normal form. See Plane.js * param {vec3} point A point in the same space as the plane. * returns {float} The distance from the point to the plane. */ float czm_planeDistance(vec3 planeNormal, float planeDistance, vec3 point) { return (dot(planeNormal, point) + planeDistance); } `,wCe=`/** * Computes the point along a ray at the given time. time can be positive, negative, or zero. * * @name czm_pointAlongRay * @glslFunction * * @param {czm_ray} ray The ray to compute the point along. * @param {float} time The time along the ray. * * @returns {vec3} The point along the ray at the given time. * * @example * czm_ray ray = czm_ray(vec3(0.0), vec3(1.0, 0.0, 0.0)); // origin, direction * vec3 v = czm_pointAlongRay(ray, 2.0); // (2.0, 0.0, 0.0) */ vec3 czm_pointAlongRay(czm_ray ray, float time) { return ray.origin + (time * ray.direction); } `,bCe=`/** * DOC_TBA * * @name czm_rayEllipsoidIntersectionInterval * @glslFunction */ czm_raySegment czm_rayEllipsoidIntersectionInterval(czm_ray ray, vec3 ellipsoid_center, vec3 ellipsoid_inverseRadii) { // ray and ellipsoid center in eye coordinates. radii in model coordinates. vec3 q = ellipsoid_inverseRadii * (czm_inverseModelView * vec4(ray.origin, 1.0)).xyz; vec3 w = ellipsoid_inverseRadii * (czm_inverseModelView * vec4(ray.direction, 0.0)).xyz; q = q - ellipsoid_inverseRadii * (czm_inverseModelView * vec4(ellipsoid_center, 1.0)).xyz; float q2 = dot(q, q); float qw = dot(q, w); if (q2 > 1.0) // Outside ellipsoid. { if (qw >= 0.0) // Looking outward or tangent (0 intersections). { return czm_emptyRaySegment; } else // qw < 0.0. { float qw2 = qw * qw; float difference = q2 - 1.0; // Positively valued. float w2 = dot(w, w); float product = w2 * difference; if (qw2 < product) // Imaginary roots (0 intersections). { return czm_emptyRaySegment; } else if (qw2 > product) // Distinct roots (2 intersections). { float discriminant = qw * qw - product; float temp = -qw + sqrt(discriminant); // Avoid cancellation. float root0 = temp / w2; float root1 = difference / temp; if (root0 < root1) { czm_raySegment i = czm_raySegment(root0, root1); return i; } else { czm_raySegment i = czm_raySegment(root1, root0); return i; } } else // qw2 == product. Repeated roots (2 intersections). { float root = sqrt(difference / w2); czm_raySegment i = czm_raySegment(root, root); return i; } } } else if (q2 < 1.0) // Inside ellipsoid (2 intersections). { float difference = q2 - 1.0; // Negatively valued. float w2 = dot(w, w); float product = w2 * difference; // Negatively valued. float discriminant = qw * qw - product; float temp = -qw + sqrt(discriminant); // Positively valued. czm_raySegment i = czm_raySegment(0.0, temp / w2); return i; } else // q2 == 1.0. On ellipsoid. { if (qw < 0.0) // Looking inward. { float w2 = dot(w, w); czm_raySegment i = czm_raySegment(0.0, -qw / w2); return i; } else // qw >= 0.0. Looking outward or tangent. { return czm_emptyRaySegment; } } } `,QCe=`/** * Compute the intersection interval of a ray with a sphere. * * @name czm_raySphereIntersectionInterval * @glslFunction * * @param {czm_ray} ray The ray. * @param {vec3} center The center of the sphere. * @param {float} radius The radius of the sphere. * @return {czm_raySegment} The intersection interval of the ray with the sphere. */ czm_raySegment czm_raySphereIntersectionInterval(czm_ray ray, vec3 center, float radius) { vec3 o = ray.origin; vec3 d = ray.direction; vec3 oc = o - center; float a = dot(d, d); float b = 2.0 * dot(d, oc); float c = dot(oc, oc) - (radius * radius); float det = (b * b) - (4.0 * a * c); if (det < 0.0) { return czm_emptyRaySegment; } float sqrtDet = sqrt(det); float t0 = (-b - sqrtDet) / (2.0 * a); float t1 = (-b + sqrtDet) / (2.0 * a); czm_raySegment result = czm_raySegment(t0, t1); return result; } `,SCe=`float czm_readDepth(sampler2D depthTexture, vec2 texCoords) { return czm_reverseLogDepth(texture(depthTexture, texCoords).r); } `,DCe=`/** * Reads a value previously transformed with {@link czm_writeNonPerspective} * by dividing it by \`w\`, the value used in the perspective divide. * This function is intended to be called in a fragment shader to access a * \`varying\` that should not be subject to perspective interpolation. * For example, screen-space texture coordinates. The value should have been * previously written in the vertex shader with a call to * {@link czm_writeNonPerspective}. * * @name czm_readNonPerspective * @glslFunction * * @param {float|vec2|vec3|vec4} value The non-perspective value to be read. * @param {float} oneOverW One over the perspective divide value, \`w\`. Usually this is simply \`gl_FragCoord.w\`. * @returns {float|vec2|vec3|vec4} The usable value. */ float czm_readNonPerspective(float value, float oneOverW) { return value * oneOverW; } vec2 czm_readNonPerspective(vec2 value, float oneOverW) { return value * oneOverW; } vec3 czm_readNonPerspective(vec3 value, float oneOverW) { return value * oneOverW; } vec4 czm_readNonPerspective(vec4 value, float oneOverW) { return value * oneOverW; } `,TCe=`float czm_reverseLogDepth(float logZ) { #ifdef LOG_DEPTH float near = czm_currentFrustum.x; float far = czm_currentFrustum.y; float log2Depth = logZ * czm_log2FarDepthFromNearPlusOne; float depthFromNear = pow(2.0, log2Depth) - 1.0; return far * (1.0 - near / (depthFromNear + near)) / (far - near); #endif return logZ; } `,MCe=`/** * Converts an RGB color to HSB (hue, saturation, brightness) * HSB <-> RGB conversion with minimal branching: {@link http://lolengine.net/blog/2013/07/27/rgb-to-hsv-in-glsl} * * @name czm_RGBToHSB * @glslFunction * * @param {vec3} rgb The color in RGB. * * @returns {vec3} The color in HSB. * * @example * vec3 hsb = czm_RGBToHSB(rgb); * hsb.z *= 0.1; * rgb = czm_HSBToRGB(hsb); */ const vec4 K_RGB2HSB = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); vec3 czm_RGBToHSB(vec3 rgb) { vec4 p = mix(vec4(rgb.bg, K_RGB2HSB.wz), vec4(rgb.gb, K_RGB2HSB.xy), step(rgb.b, rgb.g)); vec4 q = mix(vec4(p.xyw, rgb.r), vec4(rgb.r, p.yzx), step(p.x, rgb.r)); float d = q.x - min(q.w, q.y); return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + czm_epsilon7)), d / (q.x + czm_epsilon7), q.x); } `,PCe=`/** * Converts an RGB color to HSL (hue, saturation, lightness) * HSL <-> RGB conversion: {@link http://www.chilliant.com/rgb2hsv.html} * * @name czm_RGBToHSL * @glslFunction * * @param {vec3} rgb The color in RGB. * * @returns {vec3} The color in HSL. * * @example * vec3 hsl = czm_RGBToHSL(rgb); * hsl.z *= 0.1; * rgb = czm_HSLToRGB(hsl); */ vec3 RGBtoHCV(vec3 rgb) { // Based on work by Sam Hocevar and Emil Persson vec4 p = (rgb.g < rgb.b) ? vec4(rgb.bg, -1.0, 2.0 / 3.0) : vec4(rgb.gb, 0.0, -1.0 / 3.0); vec4 q = (rgb.r < p.x) ? vec4(p.xyw, rgb.r) : vec4(rgb.r, p.yzx); float c = q.x - min(q.w, q.y); float h = abs((q.w - q.y) / (6.0 * c + czm_epsilon7) + q.z); return vec3(h, c, q.x); } vec3 czm_RGBToHSL(vec3 rgb) { vec3 hcv = RGBtoHCV(rgb); float l = hcv.z - hcv.y * 0.5; float s = hcv.y / (1.0 - abs(l * 2.0 - 1.0) + czm_epsilon7); return vec3(hcv.x, s, l); } `,RCe=`/** * Converts an RGB color to CIE Yxy. *

The conversion is described in * {@link http://content.gpwiki.org/index.php/D3DBook:High-Dynamic_Range_Rendering#Luminance_Transform|Luminance Transform} *

* * @name czm_RGBToXYZ * @glslFunction * * @param {vec3} rgb The color in RGB. * * @returns {vec3} The color in CIE Yxy. * * @example * vec3 xyz = czm_RGBToXYZ(rgb); * xyz.x = max(xyz.x - luminanceThreshold, 0.0); * rgb = czm_XYZToRGB(xyz); */ vec3 czm_RGBToXYZ(vec3 rgb) { const mat3 RGB2XYZ = mat3(0.4124, 0.2126, 0.0193, 0.3576, 0.7152, 0.1192, 0.1805, 0.0722, 0.9505); vec3 xyz = RGB2XYZ * rgb; vec3 Yxy; Yxy.r = xyz.g; float temp = dot(vec3(1.0), xyz); Yxy.gb = xyz.rg / temp; return Yxy; } `,LCe=`/** * Round a floating point value. This function exists because round() doesn't * exist in GLSL 1.00. * * @param {float|vec2|vec3|vec4} value The value to round * @param {float|vec2|vec3|vec3} The rounded value. The type matches the input. */ float czm_round(float value) { return floor(value + 0.5); } vec2 czm_round(vec2 value) { return floor(value + 0.5); } vec3 czm_round(vec3 value) { return floor(value + 0.5); } vec4 czm_round(vec4 value) { return floor(value + 0.5); } `,FCe=`/** * Samples the 4 neighboring pixels and return the weighted average. * * @private */ vec3 czm_sampleOctahedralProjectionWithFiltering(sampler2D projectedMap, vec2 textureSize, vec3 direction, float lod) { direction /= dot(vec3(1.0), abs(direction)); vec2 rev = abs(direction.zx) - vec2(1.0); vec2 neg = vec2(direction.x < 0.0 ? rev.x : -rev.x, direction.z < 0.0 ? rev.y : -rev.y); vec2 uv = direction.y < 0.0 ? neg : direction.xz; vec2 coord = 0.5 * uv + vec2(0.5); vec2 pixel = 1.0 / textureSize; if (lod > 0.0) { // Each subseqeuent mip level is half the size float scale = 1.0 / pow(2.0, lod); float offset = ((textureSize.y + 1.0) / textureSize.x); coord.x *= offset; coord *= scale; coord.x += offset + pixel.x; coord.y += (1.0 - (1.0 / pow(2.0, lod - 1.0))) + pixel.y * (lod - 1.0) * 2.0; } else { coord.x *= (textureSize.y / textureSize.x); } // Do bilinear filtering #ifndef OES_texture_float_linear vec3 color1 = texture(projectedMap, coord + vec2(0.0, pixel.y)).rgb; vec3 color2 = texture(projectedMap, coord + vec2(pixel.x, 0.0)).rgb; vec3 color3 = texture(projectedMap, coord + pixel).rgb; vec3 color4 = texture(projectedMap, coord).rgb; vec2 texturePosition = coord * textureSize; float fu = fract(texturePosition.x); float fv = fract(texturePosition.y); vec3 average1 = mix(color4, color2, fu); vec3 average2 = mix(color1, color3, fu); vec3 color = mix(average1, average2, fv); #else vec3 color = texture(projectedMap, coord).rgb; #endif return color; } /** * Samples from a cube map that has been projected using an octahedral projection from the given direction. * * @name czm_sampleOctahedralProjection * @glslFunction * * @param {sampler2D} projectedMap The texture with the octahedral projected cube map. * @param {vec2} textureSize The width and height dimensions in pixels of the projected map. * @param {vec3} direction The normalized direction used to sample the cube map. * @param {float} lod The level of detail to sample. * @param {float} maxLod The maximum level of detail. * @returns {vec3} The color of the cube map at the direction. */ vec3 czm_sampleOctahedralProjection(sampler2D projectedMap, vec2 textureSize, vec3 direction, float lod, float maxLod) { float currentLod = floor(lod + 0.5); float nextLod = min(currentLod + 1.0, maxLod); vec3 colorCurrentLod = czm_sampleOctahedralProjectionWithFiltering(projectedMap, textureSize, direction, currentLod); vec3 colorNextLod = czm_sampleOctahedralProjectionWithFiltering(projectedMap, textureSize, direction, nextLod); return mix(colorNextLod, colorCurrentLod, nextLod - lod); } `,NCe=`/** * Adjusts the saturation of a color. * * @name czm_saturation * @glslFunction * * @param {vec3} rgb The color. * @param {float} adjustment The amount to adjust the saturation of the color. * * @returns {float} The color with the saturation adjusted. * * @example * vec3 greyScale = czm_saturation(color, 0.0); * vec3 doubleSaturation = czm_saturation(color, 2.0); */ vec3 czm_saturation(vec3 rgb, float adjustment) { // Algorithm from Chapter 16 of OpenGL Shading Language const vec3 W = vec3(0.2125, 0.7154, 0.0721); vec3 intensity = vec3(dot(rgb, W)); return mix(intensity, rgb, adjustment); } `,kCe=` float czm_sampleShadowMap(highp samplerCube shadowMap, vec3 d) { return czm_unpackDepth(czm_textureCube(shadowMap, d)); } float czm_sampleShadowMap(highp sampler2D shadowMap, vec2 uv) { #ifdef USE_SHADOW_DEPTH_TEXTURE return texture(shadowMap, uv).r; #else return czm_unpackDepth(texture(shadowMap, uv)); #endif } float czm_shadowDepthCompare(samplerCube shadowMap, vec3 uv, float depth) { return step(depth, czm_sampleShadowMap(shadowMap, uv)); } float czm_shadowDepthCompare(sampler2D shadowMap, vec2 uv, float depth) { return step(depth, czm_sampleShadowMap(shadowMap, uv)); } `,OCe=` float czm_private_shadowVisibility(float visibility, float nDotL, float normalShadingSmooth, float darkness) { #ifdef USE_NORMAL_SHADING #ifdef USE_NORMAL_SHADING_SMOOTH float strength = clamp(nDotL / normalShadingSmooth, 0.0, 1.0); #else float strength = step(0.0, nDotL); #endif visibility *= strength; #endif visibility = max(visibility, darkness); return visibility; } #ifdef USE_CUBE_MAP_SHADOW float czm_shadowVisibility(samplerCube shadowMap, czm_shadowParameters shadowParameters) { float depthBias = shadowParameters.depthBias; float depth = shadowParameters.depth; float nDotL = shadowParameters.nDotL; float normalShadingSmooth = shadowParameters.normalShadingSmooth; float darkness = shadowParameters.darkness; vec3 uvw = shadowParameters.texCoords; depth -= depthBias; float visibility = czm_shadowDepthCompare(shadowMap, uvw, depth); return czm_private_shadowVisibility(visibility, nDotL, normalShadingSmooth, darkness); } #else float czm_shadowVisibility(sampler2D shadowMap, czm_shadowParameters shadowParameters) { float depthBias = shadowParameters.depthBias; float depth = shadowParameters.depth; float nDotL = shadowParameters.nDotL; float normalShadingSmooth = shadowParameters.normalShadingSmooth; float darkness = shadowParameters.darkness; vec2 uv = shadowParameters.texCoords; depth -= depthBias; #ifdef USE_SOFT_SHADOWS vec2 texelStepSize = shadowParameters.texelStepSize; float radius = 1.0; float dx0 = -texelStepSize.x * radius; float dy0 = -texelStepSize.y * radius; float dx1 = texelStepSize.x * radius; float dy1 = texelStepSize.y * radius; float visibility = ( czm_shadowDepthCompare(shadowMap, uv, depth) + czm_shadowDepthCompare(shadowMap, uv + vec2(dx0, dy0), depth) + czm_shadowDepthCompare(shadowMap, uv + vec2(0.0, dy0), depth) + czm_shadowDepthCompare(shadowMap, uv + vec2(dx1, dy0), depth) + czm_shadowDepthCompare(shadowMap, uv + vec2(dx0, 0.0), depth) + czm_shadowDepthCompare(shadowMap, uv + vec2(dx1, 0.0), depth) + czm_shadowDepthCompare(shadowMap, uv + vec2(dx0, dy1), depth) + czm_shadowDepthCompare(shadowMap, uv + vec2(0.0, dy1), depth) + czm_shadowDepthCompare(shadowMap, uv + vec2(dx1, dy1), depth) ) * (1.0 / 9.0); #else float visibility = czm_shadowDepthCompare(shadowMap, uv, depth); #endif return czm_private_shadowVisibility(visibility, nDotL, normalShadingSmooth, darkness); } #endif `,UCe=`/** * Returns 1.0 if the given value is positive or zero, and -1.0 if it is negative. This is similar to the GLSL * built-in function sign except that returns 1.0 instead of 0.0 when the input value is 0.0. * * @name czm_signNotZero * @glslFunction * * @param {} value The value for which to determine the sign. * @returns {} 1.0 if the value is positive or zero, -1.0 if the value is negative. */ float czm_signNotZero(float value) { return value >= 0.0 ? 1.0 : -1.0; } vec2 czm_signNotZero(vec2 value) { return vec2(czm_signNotZero(value.x), czm_signNotZero(value.y)); } vec3 czm_signNotZero(vec3 value) { return vec3(czm_signNotZero(value.x), czm_signNotZero(value.y), czm_signNotZero(value.z)); } vec4 czm_signNotZero(vec4 value) { return vec4(czm_signNotZero(value.x), czm_signNotZero(value.y), czm_signNotZero(value.z), czm_signNotZero(value.w)); } `,GCe=`/** * Computes a color from the third order spherical harmonic coefficients and a normalized direction vector. *

* The order of the coefficients is [L00, L1_1, L10, L11, L2_2, L2_1, L20, L21, L22]. *

* * @name czm_sphericalHarmonics * @glslFunction * * @param {vec3} normal The normalized direction. * @param {vec3[9]} coefficients The third order spherical harmonic coefficients. * @returns {vec3} The color at the direction. * * @see https://graphics.stanford.edu/papers/envmap/envmap.pdf */ vec3 czm_sphericalHarmonics(vec3 normal, vec3 coefficients[9]) { vec3 L00 = coefficients[0]; vec3 L1_1 = coefficients[1]; vec3 L10 = coefficients[2]; vec3 L11 = coefficients[3]; vec3 L2_2 = coefficients[4]; vec3 L2_1 = coefficients[5]; vec3 L20 = coefficients[6]; vec3 L21 = coefficients[7]; vec3 L22 = coefficients[8]; float x = normal.x; float y = normal.y; float z = normal.z; return L00 + L1_1 * y + L10 * z + L11 * x + L2_2 * (y * x) + L2_1 * (y * z) + L20 * (3.0 * z * z - 1.0) + L21 * (z * x) + L22 * (x * x - y * y); } `,HCe=`/** * Converts an sRGB color to a linear RGB color. * * @param {vec3|vec4} srgbIn The color in sRGB space * @returns {vec3|vec4} The color in linear color space. The vector type matches the input. */ vec3 czm_srgbToLinear(vec3 srgbIn) { return pow(srgbIn, vec3(2.2)); } vec4 czm_srgbToLinear(vec4 srgbIn) { vec3 linearOut = pow(srgbIn.rgb, vec3(2.2)); return vec4(linearOut, srgbIn.a); } `,VCe=`/** * Creates a matrix that transforms vectors from tangent space to eye space. * * @name czm_tangentToEyeSpaceMatrix * @glslFunction * * @param {vec3} normalEC The normal vector in eye coordinates. * @param {vec3} tangentEC The tangent vector in eye coordinates. * @param {vec3} bitangentEC The bitangent vector in eye coordinates. * * @returns {mat3} The matrix that transforms from tangent space to eye space. * * @example * mat3 tangentToEye = czm_tangentToEyeSpaceMatrix(normalEC, tangentEC, bitangentEC); * vec3 normal = tangentToEye * texture(normalMap, st).xyz; */ mat3 czm_tangentToEyeSpaceMatrix(vec3 normalEC, vec3 tangentEC, vec3 bitangentEC) { vec3 normal = normalize(normalEC); vec3 tangent = normalize(tangentEC); vec3 bitangent = normalize(bitangentEC); return mat3(tangent.x , tangent.y , tangent.z, bitangent.x, bitangent.y, bitangent.z, normal.x , normal.y , normal.z); } `,zCe=`/** * A wrapper around the texture (WebGL2) / textureCube (WebGL1) * function to allow for WebGL 1 support. * * @name czm_textureCube * @glslFunction * * @param {samplerCube} sampler The sampler. * @param {vec3} p The coordinates to sample the texture at. */ vec4 czm_textureCube(samplerCube sampler, vec3 p) { #if __VERSION__ == 300 return texture(sampler, p); #else return textureCube(sampler, p); #endif }`,YCe=`/** * Transforms a plane. * * @name czm_transformPlane * @glslFunction * * @param {vec4} plane The plane in Hessian Normal Form. * @param {mat4} transform The inverse-transpose of a transformation matrix. */ vec4 czm_transformPlane(vec4 plane, mat4 transform) { vec4 transformedPlane = transform * plane; // Convert the transformed plane to Hessian Normal Form float normalMagnitude = length(transformedPlane.xyz); return transformedPlane / normalMagnitude; } `,JCe=`/** * Translates a position (or any vec3) that was encoded with {@link EncodedCartesian3}, * and then provided to the shader as separate high and low bits to * be relative to the eye. As shown in the example, the position can then be transformed in eye * or clip coordinates using {@link czm_modelViewRelativeToEye} or {@link czm_modelViewProjectionRelativeToEye}, * respectively. *

* This technique, called GPU RTE, eliminates jittering artifacts when using large coordinates as * described in {@link http://help.agi.com/AGIComponents/html/BlogPrecisionsPrecisions.htm|Precisions, Precisions}. *

* * @name czm_translateRelativeToEye * @glslFunction * * @param {vec3} high The position's high bits. * @param {vec3} low The position's low bits. * @returns {vec3} The position translated to be relative to the camera's position. * * @example * in vec3 positionHigh; * in vec3 positionLow; * * void main() * { * vec4 p = czm_translateRelativeToEye(positionHigh, positionLow); * gl_Position = czm_modelViewProjectionRelativeToEye * p; * } * * @see czm_modelViewRelativeToEye * @see czm_modelViewProjectionRelativeToEye * @see czm_computePosition * @see EncodedCartesian3 */ vec4 czm_translateRelativeToEye(vec3 high, vec3 low) { vec3 highDifference = high - czm_encodedCameraPositionMCHigh; vec3 lowDifference = low - czm_encodedCameraPositionMCLow; return vec4(highDifference + lowDifference, 1.0); } `,KCe=`/** * @private */ vec4 czm_translucentPhong(vec3 toEye, czm_material material, vec3 lightDirectionEC) { // Diffuse from directional light sources at eye (for top-down and horizon views) float diffuse = czm_getLambertDiffuse(vec3(0.0, 0.0, 1.0), material.normal); if (czm_sceneMode == czm_sceneMode3D) { // (and horizon views in 3D) diffuse += czm_getLambertDiffuse(vec3(0.0, 1.0, 0.0), material.normal); } diffuse = clamp(diffuse, 0.0, 1.0); float specular = czm_getSpecular(lightDirectionEC, toEye, material.normal, material.shininess); // Temporary workaround for adding ambient. vec3 materialDiffuse = material.diffuse * 0.5; vec3 ambient = materialDiffuse; vec3 color = ambient + material.emission; color += materialDiffuse * diffuse * czm_lightColor; color += material.specular * specular * czm_lightColor; return vec4(color, material.alpha); } `,WCe=`/** * Returns the transpose of the matrix. The input matrix can be * a mat2, mat3, or mat4. * * @name czm_transpose * @glslFunction * * @param {} matrix The matrix to transpose. * * @returns {} The transposed matrix. * * @example * // GLSL declarations * mat2 czm_transpose(mat2 matrix); * mat3 czm_transpose(mat3 matrix); * mat4 czm_transpose(mat4 matrix); * * // Transpose a 3x3 rotation matrix to find its inverse. * mat3 eastNorthUpToEye = czm_eastNorthUpToEyeCoordinates( * positionMC, normalEC); * mat3 eyeToEastNorthUp = czm_transpose(eastNorthUpToEye); */ mat2 czm_transpose(mat2 matrix) { return mat2( matrix[0][0], matrix[1][0], matrix[0][1], matrix[1][1]); } mat3 czm_transpose(mat3 matrix) { return mat3( matrix[0][0], matrix[1][0], matrix[2][0], matrix[0][1], matrix[1][1], matrix[2][1], matrix[0][2], matrix[1][2], matrix[2][2]); } mat4 czm_transpose(mat4 matrix) { return mat4( matrix[0][0], matrix[1][0], matrix[2][0], matrix[3][0], matrix[0][1], matrix[1][1], matrix[2][1], matrix[3][1], matrix[0][2], matrix[1][2], matrix[2][2], matrix[3][2], matrix[0][3], matrix[1][3], matrix[2][3], matrix[3][3]); } `,jCe=`/** * Unpacks a vec4 depth value to a float in [0, 1) range. * * @name czm_unpackDepth * @glslFunction * * @param {vec4} packedDepth The packed depth. * * @returns {float} The floating-point depth in [0, 1) range. */ float czm_unpackDepth(vec4 packedDepth) { // See Aras Pranckevi\u010Dius' post Encoding Floats to RGBA // http://aras-p.info/blog/2009/07/30/encoding-floats-to-rgba-the-final/ return dot(packedDepth, vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)); } `,qCe=`/** * Unpack an IEEE 754 single-precision float that is packed as a little-endian unsigned normalized vec4. * * @name czm_unpackFloat * @glslFunction * * @param {vec4} packedFloat The packed float. * * @returns {float} The floating-point depth in arbitrary range. */ float czm_unpackFloat(vec4 packedFloat) { // Convert to [0.0, 255.0] and round to integer packedFloat = floor(packedFloat * 255.0 + 0.5); float sign = 1.0 - step(128.0, packedFloat[3]) * 2.0; float exponent = 2.0 * mod(packedFloat[3], 128.0) + step(128.0, packedFloat[2]) - 127.0; if (exponent == -127.0) { return 0.0; } float mantissa = mod(packedFloat[2], 128.0) * 65536.0 + packedFloat[1] * 256.0 + packedFloat[0] + float(0x800000); float result = sign * exp2(exponent - 23.0) * mantissa; return result; } `,XCe=`/** * Unpack unsigned integers of 1-4 bytes. in WebGL 1, there is no uint type, * so the return value is an int. *

* There are also precision limitations in WebGL 1. highp int is still limited * to 24 bits. Above the value of 2^24 = 16777216, precision loss may occur. *

* * @param {float|vec2|vec3|vec4} packed The packed value. For vectors, the components are listed in little-endian order. * * @return {int} The unpacked value. */ int czm_unpackUint(float packedValue) { float rounded = czm_round(packedValue * 255.0); return int(rounded); } int czm_unpackUint(vec2 packedValue) { vec2 rounded = czm_round(packedValue * 255.0); return int(dot(rounded, vec2(1.0, 256.0))); } int czm_unpackUint(vec3 packedValue) { vec3 rounded = czm_round(packedValue * 255.0); return int(dot(rounded, vec3(1.0, 256.0, 65536.0))); } int czm_unpackUint(vec4 packedValue) { vec4 rounded = czm_round(packedValue * 255.0); return int(dot(rounded, vec4(1.0, 256.0, 65536.0, 16777216.0))); } `,ZCe=`/** * Transform metadata values following the EXT_structural_metadata spec * by multiplying by scale and adding the offset. Operations are always * performed component-wise, even for matrices. * * @param {float|vec2|vec3|vec4|mat2|mat3|mat4} offset The offset to add * @param {float|vec2|vec3|vec4|mat2|mat3|mat4} scale The scale factor to multiply * @param {float|vec2|vec3|vec4|mat2|mat3|mat4} value The original value. * * @return {float|vec2|vec3|vec4|mat2|mat3|mat4} The transformed value of the same scalar/vector/matrix type as the input. */ float czm_valueTransform(float offset, float scale, float value) { return scale * value + offset; } vec2 czm_valueTransform(vec2 offset, vec2 scale, vec2 value) { return scale * value + offset; } vec3 czm_valueTransform(vec3 offset, vec3 scale, vec3 value) { return scale * value + offset; } vec4 czm_valueTransform(vec4 offset, vec4 scale, vec4 value) { return scale * value + offset; } mat2 czm_valueTransform(mat2 offset, mat2 scale, mat2 value) { return matrixCompMult(scale, value) + offset; } mat3 czm_valueTransform(mat3 offset, mat3 scale, mat3 value) { return matrixCompMult(scale, value) + offset; } mat4 czm_valueTransform(mat4 offset, mat4 scale, mat4 value) { return matrixCompMult(scale, value) + offset; } `,$Ce=`#ifdef LOG_DEPTH // 1.0 at the near plane, increasing linearly from there. out float v_depthFromNearPlusOne; #if defined(SHADOW_MAP) || defined(VIDEO_SHADOW_MAP) out vec3 v_logPositionEC; #endif #endif vec4 czm_updatePositionDepth(vec4 coords) { #if defined(LOG_DEPTH) #if defined(SHADOW_MAP) || defined(VIDEO_SHADOW_MAP) vec3 logPositionEC = (czm_inverseProjection * coords).xyz; v_logPositionEC = logPositionEC; #endif // With the very high far/near ratios used with the logarithmic depth // buffer, floating point rounding errors can cause linear depth values // to end up on the wrong side of the far plane, even for vertices that // are really nowhere near it. Since we always write a correct logarithmic // depth value in the fragment shader anyway, we just need to make sure // such errors don't cause the primitive to be clipped entirely before // we even get to the fragment shader. coords.z = clamp(coords.z / coords.w, -1.0, 1.0) * coords.w; #endif return coords; } /** * Writes the logarithmic depth to gl_Position using the already computed gl_Position. * * @name czm_vertexLogDepth * @glslFunction */ void czm_vertexLogDepth() { #ifdef LOG_DEPTH v_depthFromNearPlusOne = (gl_Position.w - czm_currentFrustum.x) + 1.0; gl_Position = czm_updatePositionDepth(gl_Position); #endif } /** * Writes the logarithmic depth to gl_Position using the provided clip coordinates. *

* An example use case for this function would be moving the vertex in window coordinates * before converting back to clip coordinates. Use the original vertex clip coordinates. *

* @name czm_vertexLogDepth * @glslFunction * * @param {vec4} clipCoords The vertex in clip coordinates. * * @example * czm_vertexLogDepth(czm_projection * vec4(positionEyeCoordinates, 1.0)); */ void czm_vertexLogDepth(vec4 clipCoords) { #ifdef LOG_DEPTH v_depthFromNearPlusOne = (clipCoords.w - czm_currentFrustum.x) + 1.0; czm_updatePositionDepth(clipCoords); #endif } `,eEe=`vec4 czm_screenToEyeCoordinates(vec4 screenCoordinate) { // Reconstruct NDC coordinates float x = 2.0 * screenCoordinate.x - 1.0; float y = 2.0 * screenCoordinate.y - 1.0; float z = (screenCoordinate.z - czm_viewportTransformation[3][2]) / czm_viewportTransformation[2][2]; vec4 q = vec4(x, y, z, 1.0); // Reverse the perspective division to obtain clip coordinates. q /= screenCoordinate.w; // Reverse the projection transformation to obtain eye coordinates. if (!(czm_inverseProjection == mat4(0.0))) // IE and Edge sometimes do something weird with != between mat4s { q = czm_inverseProjection * q; } else { float top = czm_frustumPlanes.x; float bottom = czm_frustumPlanes.y; float left = czm_frustumPlanes.z; float right = czm_frustumPlanes.w; float near = czm_currentFrustum.x; float far = czm_currentFrustum.y; q.x = (q.x * (right - left) + left + right) * 0.5; q.y = (q.y * (top - bottom) + bottom + top) * 0.5; q.z = (q.z * (near - far) - near - far) * 0.5; q.w = 1.0; } return q; } /** * Transforms a position from window to eye coordinates. * The transform from window to normalized device coordinates is done using components * of (@link czm_viewport} and {@link czm_viewportTransformation} instead of calculating * the inverse of czm_viewportTransformation. The transformation from * normalized device coordinates to clip coordinates is done using fragmentCoordinate.w, * which is expected to be the scalar used in the perspective divide. The transformation * from clip to eye coordinates is done using {@link czm_inverseProjection}. * * @name czm_windowToEyeCoordinates * @glslFunction * * @param {vec4} fragmentCoordinate The position in window coordinates to transform. * * @returns {vec4} The transformed position in eye coordinates. * * @see czm_modelToWindowCoordinates * @see czm_eyeToWindowCoordinates * @see czm_inverseProjection * @see czm_viewport * @see czm_viewportTransformation * * @example * vec4 positionEC = czm_windowToEyeCoordinates(gl_FragCoord); */ vec4 czm_windowToEyeCoordinates(vec4 fragmentCoordinate) { vec2 screenCoordXY = (fragmentCoordinate.xy - czm_viewport.xy) / czm_viewport.zw; return czm_screenToEyeCoordinates(vec4(screenCoordXY, fragmentCoordinate.zw)); } vec4 czm_screenToEyeCoordinates(vec2 screenCoordinateXY, float depthOrLogDepth) { // See reverseLogDepth.glsl. This is separate to re-use the pow. #if defined(LOG_DEPTH) || defined(LOG_DEPTH_READ_ONLY) float near = czm_currentFrustum.x; float far = czm_currentFrustum.y; float log2Depth = depthOrLogDepth * czm_log2FarDepthFromNearPlusOne; float depthFromNear = pow(2.0, log2Depth) - 1.0; float depthFromCamera = depthFromNear + near; vec4 screenCoord = vec4(screenCoordinateXY, far * (1.0 - near / depthFromCamera) / (far - near), 1.0); vec4 eyeCoordinate = czm_screenToEyeCoordinates(screenCoord); eyeCoordinate.w = 1.0 / depthFromCamera; // Better precision return eyeCoordinate; #else vec4 screenCoord = vec4(screenCoordinateXY, depthOrLogDepth, 1.0); vec4 eyeCoordinate = czm_screenToEyeCoordinates(screenCoord); #endif return eyeCoordinate; } /** * Transforms a position given as window x/y and a depth or a log depth from window to eye coordinates. * This function produces more accurate results for window positions with log depth than * conventionally unpacking the log depth using czm_reverseLogDepth and using the standard version * of czm_windowToEyeCoordinates. * * @name czm_windowToEyeCoordinates * @glslFunction * * @param {vec2} fragmentCoordinateXY The XY position in window coordinates to transform. * @param {float} depthOrLogDepth A depth or log depth for the fragment. * * @see czm_modelToWindowCoordinates * @see czm_eyeToWindowCoordinates * @see czm_inverseProjection * @see czm_viewport * @see czm_viewportTransformation * * @returns {vec4} The transformed position in eye coordinates. */ vec4 czm_windowToEyeCoordinates(vec2 fragmentCoordinateXY, float depthOrLogDepth) { vec2 screenCoordXY = (fragmentCoordinateXY.xy - czm_viewport.xy) / czm_viewport.zw; return czm_screenToEyeCoordinates(screenCoordXY, depthOrLogDepth); } `,tEe=`// emulated noperspective #if !defined(LOG_DEPTH) in float v_WindowZ; #endif /** * Emulates GL_DEPTH_CLAMP. Clamps a fragment to the near and far plane * by writing the fragment's depth. See czm_depthClamp for more details. * * @name czm_writeDepthClamp * @glslFunction * * @example * out_FragColor = color; * czm_writeDepthClamp(); * * @see czm_depthClamp */ void czm_writeDepthClamp() { #if (!defined(LOG_DEPTH) && (__VERSION__ == 300 || defined(GL_EXT_frag_depth))) gl_FragDepth = clamp(v_WindowZ * gl_FragCoord.w, 0.0, 1.0); #endif } `,iEe=`#ifdef LOG_DEPTH in float v_depthFromNearPlusOne; #ifdef POLYGON_OFFSET uniform vec2 u_polygonOffset; #endif #endif /** * Writes the fragment depth to the logarithmic depth buffer. *

* Use this when the vertex shader does not call {@link czm_vertexlogDepth}, for example, when * ray-casting geometry using a full screen quad. *

* @name czm_writeLogDepth * @glslFunction * * @param {float} depth The depth coordinate, where 1.0 is on the near plane and * depth increases in eye-space units from there * * @example * czm_writeLogDepth((czm_projection * v_positionEyeCoordinates).w + 1.0); */ void czm_writeLogDepth(float depth) { #if (defined(LOG_DEPTH) && (__VERSION__ == 300 || defined(GL_EXT_frag_depth))) // Discard the vertex if it's not between the near and far planes. // We allow a bit of epsilon on the near plane comparison because a 1.0 // from the vertex shader (indicating the vertex should be _on_ the near // plane) will not necessarily come here as exactly 1.0. if (depth <= 0.9999999 || depth > czm_farDepthFromNearPlusOne) { discard; } #ifdef POLYGON_OFFSET // Polygon offset: m * factor + r * units float factor = u_polygonOffset[0]; float units = u_polygonOffset[1]; #if (__VERSION__ == 300 || defined(GL_OES_standard_derivatives)) // This factor doesn't work in IE 10 if (factor != 0.0) { // m = sqrt(dZdX^2 + dZdY^2); float x = dFdx(depth); float y = dFdy(depth); float m = sqrt(x * x + y * y); // Apply the factor before computing the log depth. depth += m * factor; } #endif #endif gl_FragDepth = log2(depth) * czm_oneOverLog2FarDepthFromNearPlusOne; #ifdef POLYGON_OFFSET // Apply the units after the log depth. gl_FragDepth += czm_epsilon7 * units; #endif #endif } /** * Writes the fragment depth to the logarithmic depth buffer. *

* Use this when the vertex shader calls {@link czm_vertexlogDepth}. *

* * @name czm_writeLogDepth * @glslFunction */ void czm_writeLogDepth() { #ifdef LOG_DEPTH czm_writeLogDepth(v_depthFromNearPlusOne); #endif } `,rEe=`/** * Transforms a value for non-perspective interpolation by multiplying * it by w, the value used in the perspective divide. This function is * intended to be called in a vertex shader to compute the value of a * \`varying\` that should not be subject to perspective interpolation. * For example, screen-space texture coordinates. The fragment shader * must call {@link czm_readNonPerspective} to retrieve the final * non-perspective value. * * @name czm_writeNonPerspective * @glslFunction * * @param {float|vec2|vec3|vec4} value The value to be interpolated without accounting for perspective. * @param {float} w The perspective divide value. Usually this is the computed \`gl_Position.w\`. * @returns {float|vec2|vec3|vec4} The transformed value, intended to be stored in a \`varying\` and read in the * fragment shader with {@link czm_readNonPerspective}. */ float czm_writeNonPerspective(float value, float w) { return value * w; } vec2 czm_writeNonPerspective(vec2 value, float w) { return value * w; } vec3 czm_writeNonPerspective(vec3 value, float w) { return value * w; } vec4 czm_writeNonPerspective(vec4 value, float w) { return value * w; } `,nEe=`/** * Converts a CIE Yxy color to RGB. *

The conversion is described in * {@link http://content.gpwiki.org/index.php/D3DBook:High-Dynamic_Range_Rendering#Luminance_Transform|Luminance Transform} *

* * @name czm_XYZToRGB * @glslFunction * * @param {vec3} Yxy The color in CIE Yxy. * * @returns {vec3} The color in RGB. * * @example * vec3 xyz = czm_RGBToXYZ(rgb); * xyz.x = max(xyz.x - luminanceThreshold, 0.0); * rgb = czm_XYZToRGB(xyz); */ vec3 czm_XYZToRGB(vec3 Yxy) { const mat3 XYZ2RGB = mat3( 3.2405, -0.9693, 0.0556, -1.5371, 1.8760, -0.2040, -0.4985, 0.0416, 1.0572); vec3 xyz; xyz.r = Yxy.r * Yxy.g / Yxy.b; xyz.g = Yxy.r; xyz.b = Yxy.r * (1.0 - Yxy.g - Yxy.b) / Yxy.b; return XYZ2RGB * xyz; } `,E7={czm_degreesPerRadian:Fpe,czm_depthRange:Npe,czm_epsilon1:kpe,czm_epsilon2:Ope,czm_epsilon3:Upe,czm_epsilon4:Gpe,czm_epsilon5:Hpe,czm_epsilon6:Vpe,czm_epsilon7:zpe,czm_infinity:Ype,czm_oneOverPi:Jpe,czm_oneOverTwoPi:Kpe,czm_passCesium3DTile:Wpe,czm_passCesium3DTileClassification:jpe,czm_passCesium3DTileClassificationIgnoreShow:qpe,czm_passClassification:Xpe,czm_passCompute:Zpe,czm_passEnvironment:$pe,czm_passGlobe:eme,czm_passOpaque:tme,czm_passOverlay:ime,czm_passTerrainClassification:rme,czm_passTranslucent:nme,czm_passVoxels:ome,czm_pi:ame,czm_piOverFour:sme,czm_piOverSix:lme,czm_piOverThree:ume,czm_piOverTwo:Ame,czm_radiansPerDegree:cme,czm_sceneMode2D:hme,czm_sceneMode3D:dme,czm_sceneModeColumbusView:fme,czm_sceneModeMorphing:gme,czm_solarRadius:pme,czm_threePiOver2:mme,czm_twoPi:Cme,czm_webMercatorMaxLatitude:Eme,czm_depthRangeStruct:xme,czm_material:yme,czm_materialInput:Ime,czm_modelMaterial:_me,czm_modelVertexOutput:vme,czm_pbrParameters:Bme,czm_ray:wme,czm_raySegment:bme,czm_shadowParameters:Qme,czm_acesTonemapping:Sme,czm_alphaWeight:Dme,czm_antialias:Tme,czm_approximateSphericalCoordinates:Mme,czm_backFacing:Pme,czm_branchFreeTernary:Rme,czm_cascadeColor:Lme,czm_cascadeDistance:Fme,czm_cascadeMatrix:Nme,czm_cascadeWeights:kme,czm_columbusViewMorph:Ome,czm_computePosition:Ume,czm_cosineAndSine:Gme,czm_decompressTextureCoordinates:Hme,czm_defaultPbrMaterial:Vme,czm_depthClamp:zme,czm_eastNorthUpToEyeCoordinates:Yme,czm_ellipsoidContainsPoint:Jme,czm_ellipsoidWgs84TextureCoordinates:Kme,czm_equalsEpsilon:Wme,czm_eyeOffset:jme,czm_eyeToWindowCoordinates:qme,czm_fastApproximateAtan:Xme,czm_fog:Zme,czm_gammaCorrect:$me,czm_geodeticSurfaceNormal:eCe,czm_getDefaultMaterial:tCe,czm_getLambertDiffuse:iCe,czm_getSpecular:rCe,czm_getWaterNoise:nCe,czm_HSBToRGB:oCe,czm_HSLToRGB:aCe,czm_hue:sCe,czm_inverseGamma:lCe,czm_isEmpty:uCe,czm_isFull:ACe,czm_latitudeToWebMercatorFraction:cCe,czm_linearToSrgb:hCe,czm_lineDistance:dCe,czm_luminance:fCe,czm_metersPerPixel:gCe,czm_modelToWindowCoordinates:pCe,czm_multiplyWithColorBalance:mCe,czm_nearFarScalar:CCe,czm_octDecode:ECe,czm_packDepth:xCe,czm_pbrLighting:yCe,czm_pbrMetallicRoughnessMaterial:ICe,czm_pbrSpecularGlossinessMaterial:_Ce,czm_phong:vCe,czm_planeDistance:BCe,czm_pointAlongRay:wCe,czm_rayEllipsoidIntersectionInterval:bCe,czm_raySphereIntersectionInterval:QCe,czm_readDepth:SCe,czm_readNonPerspective:DCe,czm_reverseLogDepth:TCe,czm_RGBToHSB:MCe,czm_RGBToHSL:PCe,czm_RGBToXYZ:RCe,czm_round:LCe,czm_sampleOctahedralProjection:FCe,czm_saturation:NCe,czm_shadowDepthCompare:kCe,czm_shadowVisibility:OCe,czm_signNotZero:UCe,czm_sphericalHarmonics:GCe,czm_srgbToLinear:HCe,czm_tangentToEyeSpaceMatrix:VCe,czm_textureCube:zCe,czm_transformPlane:YCe,czm_translateRelativeToEye:JCe,czm_translucentPhong:KCe,czm_transpose:WCe,czm_unpackDepth:jCe,czm_unpackFloat:qCe,czm_unpackUint:XCe,czm_valueTransform:ZCe,czm_vertexLogDepth:$Ce,czm_windowToEyeCoordinates:eEe,czm_writeDepthClamp:tEe,czm_writeLogDepth:iEe,czm_writeNonPerspective:rEe,czm_XYZToRGB:nEe};function iwt(o,A){let f=o;return f=f.replaceAll("version 300 es",""),f=f.replaceAll(/(texture\()/g,"texture2D("),A?(f=f.replaceAll(/(in)\s+(vec\d|mat\d|float)/g,"varying $2"),/out_FragData_(\d+)/.test(f)&&(f=`#extension GL_EXT_draw_buffers : enable ${f}`,f=f.replaceAll(/layout\s+\(location\s*=\s*\d+\)\s*out\s+vec4\s+out_FragData_\d+;/g,""),f=f.replaceAll(/out_FragData_(\d+)/g,"gl_FragData[$1]")),f=f.replaceAll(/layout\s+\(location\s*=\s*0\)\s*out\s+vec4\s+out_FragColor;/g,""),f=f.replaceAll(/out_FragColor/g,"gl_FragColor"),f=f.replaceAll(/out_FragColor\[(\d+)\]/g,"gl_FragColor[$1]"),/gl_FragDepth/.test(f)&&(f=`#extension GL_EXT_frag_depth : enable ${f}`,f=f.replaceAll(/gl_FragDepth/g,"gl_FragDepthEXT")),f=`#ifdef GL_OES_standard_derivatives #extension GL_OES_standard_derivatives : enable #endif ${f}`):(f=f.replaceAll(/(in)\s+(vec\d|mat\d|float)/g,"attribute $2"),f=f.replaceAll(/(out)\s+(vec\d|mat\d|float)\s+([\w]+);/g,"varying $2 $3;")),f=`#version 100 ${f}`,f}var oEe=iwt;function R7e(o){return o=o.replace(/\/\/.*/g,""),o.replace(/\/\*\*[\s\S]*?\*\//gm,function(A){let f=A.match(/\n/gm).length,m="";for(let C=0;C0;){let C=o.pop();f.push(C),C.requiredBy.length===0&&A.push(C)}for(;A.length>0;){let C=A.shift();o.push(C);for(let E=0;E=0;--C)m=`${m+A[C].glslSource} `;return m.replace(f.glslSource,"")}function N7e(o,A,f){let m,C,E="",x=o.sources;if(O(x))for(m=0,C=x.length;m0&&(m.glVertexAttribDivisor(v,this.instanceDivisor),m._vertexAttribDivisors[v]=this.instanceDivisor,m._previousDrawInstanced=!0)},y.disableVertexAttribArray=function(I){I.disableVertexAttribArray(this.index),this.instanceDivisor>0&&m.glVertexAttribDivisor(f,0)};else{switch(y.componentsPerAttribute){case 1:y.vertexAttrib=function(I){I.vertexAttrib1fv(this.index,this.value)};break;case 2:y.vertexAttrib=function(I){I.vertexAttrib2fv(this.index,this.value)};break;case 3:y.vertexAttrib=function(I){I.vertexAttrib3fv(this.index,this.value)};break;case 4:y.vertexAttrib=function(I){I.vertexAttrib4fv(this.index,this.value)};break}y.disableVertexAttribArray=function(I){}}o.push(y)}function U7e(o,A,f){for(let m=0;m0&&(I=!0),O(x[E].value)&&(v=!0);let Q;A.vertexArrayObject&&(Q=A.glCreateVertexArray(),A.glBindVertexArray(Q),U7e(f,x,C),A.glBindVertexArray(null)),this._numberOfVertices=y,this._hasInstancedAttributes=I,this._hasConstantAttributes=v,this._context=A,this._gl=f,this._vao=Q,this._attributes=x,this._indexBuffer=C}function kLe(o){return o.values.length/o.componentsPerAttribute}function Ewt(o){return Ft.getSizeInBytes(o.componentDatatype)*o.componentsPerAttribute}function xwt(o){let A,f,m,C=[];for(f in o)o.hasOwnProperty(f)&&O(o[f])&&O(o[f].values)&&(C.push(f),o[f].componentDatatype===Ft.DOUBLE&&(o[f].componentDatatype=Ft.FLOAT,o[f].values=Ft.createTypedArray(Ft.FLOAT,o[f].values)));let E,x=C.length;if(x>0)for(E=kLe(o[C[0]]),A=1;A0){let v=Ft.getSizeInBytes(o[C[0]].componentDatatype),B=y%v;B!==0&&(y+=v-B);let Q=E*y,T=new ArrayBuffer(Q),w={};for(A=0;A=Be.SIXTY_FOUR_KILOBYTES&&A.elementIndexUint?T=Wn.createIndexBuffer({context:A,typedArray:new Uint32Array(w),usage:m,indexDatatype:Bn.UNSIGNED_INT}):T=Wn.createIndexBuffer({context:A,typedArray:new Uint16Array(w),usage:m,indexDatatype:Bn.UNSIGNED_SHORT})),new xD({context:A,attributes:B,indexBuffer:T})};Object.defineProperties(xD.prototype,{numberOfAttributes:{get:function(){return this._attributes.length}},numberOfVertices:{get:function(){return this._numberOfVertices}},indexBuffer:{get:function(){return this._indexBuffer}}});xD.prototype.getAttribute=function(o){return this._attributes[o]};function ywt(o){let A=o._context,f=o._hasInstancedAttributes;if(!f&&!A._previousDrawInstanced)return;A._previousDrawInstanced=f;let m=A._vertexAttribDivisors,C=o._attributes,E=Zn.maximumVertexAttributes,x;if(f){let y=C.length;for(x=0;x0&&(A.glVertexAttribDivisor(x,0),m[x]=0)}function Iwt(o,A){let f=o._attributes,m=f.length;for(let C=0;C0?Ft.getSizeInBytes(o[0].componentDatatype):0,C=m>0?A%m:0,E=C===0?0:m-C;return A+=E,A};A0._createArrayViews=function(o,A){let f=[],m=0,C=o.length;for(let E=0;E0){let f=new ArrayBuffer(A*o.vertexSizeInBytes);if(O(o.arrayBuffer)){let E=new Uint8Array(f),x=new Uint8Array(o.arrayBuffer),y=x.length;for(let I=0;I0){A.needsCommit=!1;let f=A.vertexBuffer,m=o._size*A.vertexSizeInBytes,C=O(f);if(!C||f.sizeInBytes0){let m=o.vertexSizeInBytes*A,C=o.vertexSizeInBytes*f;o.vertexBuffer.copyFromArrayView(new Uint8Array(o.arrayBuffer,m,C),m)}}A0.prototype.endSubCommits=function(){let o=this._allBuffers;for(let A=0,f=o.length;A 0.0) { // Don't get the outline edge exceed the SDF_EDGE float outlineEdge = clamp(SDF_EDGE - outlineWidth, 0.0, SDF_EDGE); float outlineFactor = smoothstep(SDF_EDGE - smoothing, SDF_EDGE + smoothing, distance); vec4 sdfColor = mix(outlineColor, v_color, outlineFactor); float alpha = smoothstep(outlineEdge - smoothing, outlineEdge + smoothing, distance); return vec4(sdfColor.rgb, sdfColor.a * alpha); } else { float alpha = smoothstep(SDF_EDGE - smoothing, SDF_EDGE + smoothing, distance); return vec4(v_color.rgb, v_color.a * alpha); } } #endif void main() { vec4 color = texture(u_atlas, v_textureCoordinates); #ifdef SDF float outlineWidth = v_outlineWidth; vec4 outlineColor = v_outlineColor; // Get the current distance float distance = getDistance(v_textureCoordinates); #if (__VERSION__ == 300 || defined(GL_OES_standard_derivatives)) float smoothing = fwidth(distance); // Get an offset that is approximately half the distance to the neighbor pixels // 0.354 is approximately half of 1/sqrt(2) vec2 sampleOffset = 0.354 * vec2(dFdx(v_textureCoordinates) + dFdy(v_textureCoordinates)); // Sample the center point vec4 center = getSDFColor(v_textureCoordinates, outlineWidth, outlineColor, smoothing); // Sample the 4 neighbors vec4 color1 = getSDFColor(v_textureCoordinates + vec2(sampleOffset.x, sampleOffset.y), outlineWidth, outlineColor, smoothing); vec4 color2 = getSDFColor(v_textureCoordinates + vec2(-sampleOffset.x, sampleOffset.y), outlineWidth, outlineColor, smoothing); vec4 color3 = getSDFColor(v_textureCoordinates + vec2(-sampleOffset.x, -sampleOffset.y), outlineWidth, outlineColor, smoothing); vec4 color4 = getSDFColor(v_textureCoordinates + vec2(sampleOffset.x, -sampleOffset.y), outlineWidth, outlineColor, smoothing); // Equally weight the center sample and the 4 neighboring samples color = (center + color1 + color2 + color3 + color4)/5.0; #else // If no derivatives available (IE 10?), just do a single sample float smoothing = 1.0/32.0; color = getSDFColor(v_textureCoordinates, outlineWidth, outlineColor, smoothing); #endif color = czm_gammaCorrect(color); #else color = czm_gammaCorrect(color); color *= czm_gammaCorrect(v_color); #endif // Fully transparent parts of the billboard are not pickable. #if !defined(OPAQUE) && !defined(TRANSLUCENT) if (color.a < 0.005) // matches 0/255 and 1/255 { discard; } #else // The billboard is rendered twice. The opaque pass discards translucent fragments // and the translucent pass discards opaque fragments. #ifdef OPAQUE if (color.a < 0.995) // matches < 254/255 { discard; } #else if (color.a >= 0.995) // matches 254/255 and 255/255 { discard; } #endif #endif #ifdef VECTOR_TILE color *= u_highlightColor; #endif out_FragColor = color; #ifdef LOG_DEPTH czm_writeLogDepth(); #endif #ifdef FRAGMENT_DEPTH_CHECK float temp = v_compressed.y; temp = temp * SHIFT_RIGHT1; float temp2 = (temp - floor(temp)) * SHIFT_LEFT1; bool enableDepthTest = temp2 != 0.0; bool applyTranslate = floor(temp) != 0.0; if (enableDepthTest) { temp = v_compressed.z; temp = temp * SHIFT_RIGHT12; vec2 dimensions; dimensions.y = (temp - floor(temp)) * SHIFT_LEFT12; dimensions.x = floor(temp); temp = v_compressed.w; temp = temp * SHIFT_RIGHT12; vec2 imageSize; imageSize.y = (temp - floor(temp)) * SHIFT_LEFT12; imageSize.x = floor(temp); vec2 adjustedST = v_textureCoordinates - v_textureCoordinateBounds.xy; adjustedST = adjustedST / vec2(v_textureCoordinateBounds.z - v_textureCoordinateBounds.x, v_textureCoordinateBounds.w - v_textureCoordinateBounds.y); float epsilonEyeDepth = v_compressed.x + czm_epsilon1; float globeDepth1 = getGlobeDepth(adjustedST, v_originTextureCoordinateAndTranslate.xy, applyTranslate, dimensions, imageSize); // negative values go into the screen if (globeDepth1 != 0.0 && globeDepth1 > epsilonEyeDepth) { float globeDepth2 = getGlobeDepth(adjustedST, vec2(0.0, 1.0), applyTranslate, dimensions, imageSize); // top left corner if (globeDepth2 != 0.0 && globeDepth2 > epsilonEyeDepth) { float globeDepth3 = getGlobeDepth(adjustedST, vec2(1.0, 1.0), applyTranslate, dimensions, imageSize); // top right corner if (globeDepth3 != 0.0 && globeDepth3 > epsilonEyeDepth) { discard; } } } } #endif } `,uEe=`#ifdef INSTANCED in vec2 direction; #endif in vec4 positionHighAndScale; in vec4 positionLowAndRotation; in vec4 compressedAttribute0; // pixel offset, translate, horizontal origin, vertical origin, show, direction, texture coordinates (texture offset) in vec4 compressedAttribute1; // aligned axis, translucency by distance, image width in vec4 compressedAttribute2; // label horizontal origin, image height, color, pick color, size in meters, valid aligned axis, 13 bits free in vec4 eyeOffset; // eye offset in meters, 4 bytes free (texture range) in vec4 scaleByDistance; // near, nearScale, far, farScale in vec4 pixelOffsetScaleByDistance; // near, nearScale, far, farScale in vec4 compressedAttribute3; // distance display condition near, far, disableDepthTestDistance, dimensions in vec2 sdf; // sdf outline color (rgb) and width (w) #if defined(VERTEX_DEPTH_CHECK) || defined(FRAGMENT_DEPTH_CHECK) in vec4 textureCoordinateBoundsOrLabelTranslate; // the min and max x and y values for the texture coordinates #endif #ifdef VECTOR_TILE in float a_batchId; #endif out vec2 v_textureCoordinates; #ifdef FRAGMENT_DEPTH_CHECK out vec4 v_textureCoordinateBounds; out vec4 v_originTextureCoordinateAndTranslate; out vec4 v_compressed; // x: eyeDepth, y: applyTranslate & enableDepthCheck, z: dimensions, w: imageSize out mat2 v_rotationMatrix; #endif out vec4 v_pickColor; out vec4 v_color; #ifdef SDF out vec4 v_outlineColor; out float v_outlineWidth; #endif const float UPPER_BOUND = 32768.0; const float SHIFT_LEFT16 = 65536.0; const float SHIFT_LEFT12 = 4096.0; const float SHIFT_LEFT8 = 256.0; const float SHIFT_LEFT7 = 128.0; const float SHIFT_LEFT5 = 32.0; const float SHIFT_LEFT3 = 8.0; const float SHIFT_LEFT2 = 4.0; const float SHIFT_LEFT1 = 2.0; const float SHIFT_RIGHT12 = 1.0 / 4096.0; const float SHIFT_RIGHT8 = 1.0 / 256.0; const float SHIFT_RIGHT7 = 1.0 / 128.0; const float SHIFT_RIGHT5 = 1.0 / 32.0; const float SHIFT_RIGHT3 = 1.0 / 8.0; const float SHIFT_RIGHT2 = 1.0 / 4.0; const float SHIFT_RIGHT1 = 1.0 / 2.0; vec4 addScreenSpaceOffset(vec4 positionEC, vec2 imageSize, float scale, vec2 direction, vec2 origin, vec2 translate, vec2 pixelOffset, vec3 alignedAxis, bool validAlignedAxis, float rotation, bool sizeInMeters, out mat2 rotationMatrix, out float mpp) { // Note the halfSize cannot be computed in JavaScript because it is sent via // compressed vertex attributes that coerce it to an integer. vec2 halfSize = imageSize * scale * 0.5; halfSize *= ((direction * 2.0) - 1.0); vec2 originTranslate = origin * abs(halfSize); #if defined(ROTATION) || defined(ALIGNED_AXIS) if (validAlignedAxis || rotation != 0.0) { float angle = rotation; if (validAlignedAxis) { vec4 projectedAlignedAxis = czm_modelView3D * vec4(alignedAxis, 0.0); angle += sign(-projectedAlignedAxis.x) * acos(sign(projectedAlignedAxis.y) * (projectedAlignedAxis.y * projectedAlignedAxis.y) / (projectedAlignedAxis.x * projectedAlignedAxis.x + projectedAlignedAxis.y * projectedAlignedAxis.y)); } float cosTheta = cos(angle); float sinTheta = sin(angle); rotationMatrix = mat2(cosTheta, sinTheta, -sinTheta, cosTheta); halfSize = rotationMatrix * halfSize; } else { rotationMatrix = mat2(1.0, 0.0, 0.0, 1.0); } #endif mpp = czm_metersPerPixel(positionEC); positionEC.xy += (originTranslate + halfSize) * czm_branchFreeTernary(sizeInMeters, 1.0, mpp); positionEC.xy += (translate + pixelOffset) * mpp; return positionEC; } #ifdef VERTEX_DEPTH_CHECK float getGlobeDepth(vec4 positionEC) { vec4 posWC = czm_eyeToWindowCoordinates(positionEC); float globeDepth = czm_unpackDepth(texture(czm_globeDepthTexture, posWC.xy / czm_viewport.zw)); if (globeDepth == 0.0) { return 0.0; // not on the globe } vec4 eyeCoordinate = czm_windowToEyeCoordinates(posWC.xy, globeDepth); return eyeCoordinate.z / eyeCoordinate.w; } #endif void main() { // Modifying this shader may also require modifications to Billboard._computeScreenSpacePosition // unpack attributes vec3 positionHigh = positionHighAndScale.xyz; vec3 positionLow = positionLowAndRotation.xyz; float scale = positionHighAndScale.w; #if defined(ROTATION) || defined(ALIGNED_AXIS) float rotation = positionLowAndRotation.w; #else float rotation = 0.0; #endif float compressed = compressedAttribute0.x; vec2 pixelOffset; pixelOffset.x = floor(compressed * SHIFT_RIGHT7); compressed -= pixelOffset.x * SHIFT_LEFT7; pixelOffset.x -= UPPER_BOUND; vec2 origin; origin.x = floor(compressed * SHIFT_RIGHT5); compressed -= origin.x * SHIFT_LEFT5; origin.y = floor(compressed * SHIFT_RIGHT3); compressed -= origin.y * SHIFT_LEFT3; #ifdef FRAGMENT_DEPTH_CHECK vec2 depthOrigin = origin.xy; #endif origin -= vec2(1.0); float show = floor(compressed * SHIFT_RIGHT2); compressed -= show * SHIFT_LEFT2; #ifdef INSTANCED vec2 textureCoordinatesBottomLeft = czm_decompressTextureCoordinates(compressedAttribute0.w); vec2 textureCoordinatesRange = czm_decompressTextureCoordinates(eyeOffset.w); vec2 textureCoordinates = textureCoordinatesBottomLeft + direction * textureCoordinatesRange; #else vec2 direction; direction.x = floor(compressed * SHIFT_RIGHT1); direction.y = compressed - direction.x * SHIFT_LEFT1; vec2 textureCoordinates = czm_decompressTextureCoordinates(compressedAttribute0.w); #endif float temp = compressedAttribute0.y * SHIFT_RIGHT8; pixelOffset.y = -(floor(temp) - UPPER_BOUND); vec2 translate; translate.y = (temp - floor(temp)) * SHIFT_LEFT16; temp = compressedAttribute0.z * SHIFT_RIGHT8; translate.x = floor(temp) - UPPER_BOUND; translate.y += (temp - floor(temp)) * SHIFT_LEFT8; translate.y -= UPPER_BOUND; temp = compressedAttribute1.x * SHIFT_RIGHT8; float temp2 = floor(compressedAttribute2.w * SHIFT_RIGHT2); vec2 imageSize = vec2(floor(temp), temp2); #ifdef FRAGMENT_DEPTH_CHECK float labelHorizontalOrigin = floor(compressedAttribute2.w - (temp2 * SHIFT_LEFT2)); float applyTranslate = 0.0; if (labelHorizontalOrigin != 0.0) // is a billboard, so set apply translate to false { applyTranslate = 1.0; labelHorizontalOrigin -= 2.0; depthOrigin.x = labelHorizontalOrigin + 1.0; } depthOrigin = vec2(1.0) - (depthOrigin * 0.5); #endif #ifdef EYE_DISTANCE_TRANSLUCENCY vec4 translucencyByDistance; translucencyByDistance.x = compressedAttribute1.z; translucencyByDistance.z = compressedAttribute1.w; translucencyByDistance.y = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0; temp = compressedAttribute1.y * SHIFT_RIGHT8; translucencyByDistance.w = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0; #endif #if defined(VERTEX_DEPTH_CHECK) || defined(FRAGMENT_DEPTH_CHECK) temp = compressedAttribute3.w; temp = temp * SHIFT_RIGHT12; vec2 dimensions; dimensions.y = (temp - floor(temp)) * SHIFT_LEFT12; dimensions.x = floor(temp); #endif #ifdef ALIGNED_AXIS vec3 alignedAxis = czm_octDecode(floor(compressedAttribute1.y * SHIFT_RIGHT8)); temp = compressedAttribute2.z * SHIFT_RIGHT5; bool validAlignedAxis = (temp - floor(temp)) * SHIFT_LEFT1 > 0.0; #else vec3 alignedAxis = vec3(0.0); bool validAlignedAxis = false; #endif vec4 pickColor; vec4 color; temp = compressedAttribute2.y; temp = temp * SHIFT_RIGHT8; pickColor.b = (temp - floor(temp)) * SHIFT_LEFT8; temp = floor(temp) * SHIFT_RIGHT8; pickColor.g = (temp - floor(temp)) * SHIFT_LEFT8; pickColor.r = floor(temp); temp = compressedAttribute2.x; temp = temp * SHIFT_RIGHT8; color.b = (temp - floor(temp)) * SHIFT_LEFT8; temp = floor(temp) * SHIFT_RIGHT8; color.g = (temp - floor(temp)) * SHIFT_LEFT8; color.r = floor(temp); temp = compressedAttribute2.z * SHIFT_RIGHT8; bool sizeInMeters = floor((temp - floor(temp)) * SHIFT_LEFT7) > 0.0; temp = floor(temp) * SHIFT_RIGHT8; pickColor.a = (temp - floor(temp)) * SHIFT_LEFT8; pickColor /= 255.0; color.a = floor(temp); color /= 255.0; /////////////////////////////////////////////////////////////////////////// vec4 p = czm_translateRelativeToEye(positionHigh, positionLow); vec4 positionEC = czm_modelViewRelativeToEye * p; #if defined(FRAGMENT_DEPTH_CHECK) || defined(VERTEX_DEPTH_CHECK) float eyeDepth = positionEC.z; #endif positionEC = czm_eyeOffset(positionEC, eyeOffset.xyz); positionEC.xyz *= show; /////////////////////////////////////////////////////////////////////////// #if defined(EYE_DISTANCE_SCALING) || defined(EYE_DISTANCE_TRANSLUCENCY) || defined(EYE_DISTANCE_PIXEL_OFFSET) || defined(DISTANCE_DISPLAY_CONDITION) || defined(DISABLE_DEPTH_DISTANCE) float lengthSq; if (czm_sceneMode == czm_sceneMode2D) { // 2D camera distance is a special case // treat all billboards as flattened to the z=0.0 plane lengthSq = czm_eyeHeight2D.y; } else { lengthSq = dot(positionEC.xyz, positionEC.xyz); } #endif #ifdef EYE_DISTANCE_SCALING float distanceScale = czm_nearFarScalar(scaleByDistance, lengthSq); scale *= distanceScale; translate *= distanceScale; // push vertex behind near plane for clipping if (scale == 0.0) { positionEC.xyz = vec3(0.0); } #endif float translucency = 1.0; #ifdef EYE_DISTANCE_TRANSLUCENCY translucency = czm_nearFarScalar(translucencyByDistance, lengthSq); // push vertex behind near plane for clipping if (translucency == 0.0) { positionEC.xyz = vec3(0.0); } #endif #ifdef EYE_DISTANCE_PIXEL_OFFSET float pixelOffsetScale = czm_nearFarScalar(pixelOffsetScaleByDistance, lengthSq); pixelOffset *= pixelOffsetScale; #endif #ifdef DISTANCE_DISPLAY_CONDITION float nearSq = compressedAttribute3.x; float farSq = compressedAttribute3.y; if (lengthSq < nearSq || lengthSq > farSq) { positionEC.xyz = vec3(0.0); } #endif mat2 rotationMatrix; float mpp; #ifdef DISABLE_DEPTH_DISTANCE float disableDepthTestDistance = compressedAttribute3.z; #endif #ifdef VERTEX_DEPTH_CHECK if (lengthSq < disableDepthTestDistance) { float depthsilon = 10.0; vec2 labelTranslate = textureCoordinateBoundsOrLabelTranslate.xy; vec4 pEC1 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(0.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); float globeDepth1 = getGlobeDepth(pEC1); if (globeDepth1 != 0.0 && pEC1.z + depthsilon < globeDepth1) { vec4 pEC2 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(0.0, 1.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); float globeDepth2 = getGlobeDepth(pEC2); if (globeDepth2 != 0.0 && pEC2.z + depthsilon < globeDepth2) { vec4 pEC3 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(1.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); float globeDepth3 = getGlobeDepth(pEC3); if (globeDepth3 != 0.0 && pEC3.z + depthsilon < globeDepth3) { positionEC.xyz = vec3(0.0); } } } } #endif positionEC = addScreenSpaceOffset(positionEC, imageSize, scale, direction, origin, translate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); gl_Position = czm_projection * positionEC; v_textureCoordinates = textureCoordinates; #ifdef LOG_DEPTH czm_vertexLogDepth(); #endif #ifdef DISABLE_DEPTH_DISTANCE if (disableDepthTestDistance == 0.0 && czm_minimumDisableDepthTestDistance != 0.0) { disableDepthTestDistance = czm_minimumDisableDepthTestDistance; } if (disableDepthTestDistance != 0.0) { // Don't try to "multiply both sides" by w. Greater/less-than comparisons won't work for negative values of w. float zclip = gl_Position.z / gl_Position.w; bool clipped = (zclip < -1.0 || zclip > 1.0); if (!clipped && (disableDepthTestDistance < 0.0 || (lengthSq > 0.0 && lengthSq < disableDepthTestDistance))) { // Position z on the near plane. gl_Position.z = -gl_Position.w; #ifdef LOG_DEPTH v_depthFromNearPlusOne = 1.0; #endif } } #endif #ifdef FRAGMENT_DEPTH_CHECK if (sizeInMeters) { translate /= mpp; dimensions /= mpp; imageSize /= mpp; } #if defined(ROTATION) || defined(ALIGNED_AXIS) v_rotationMatrix = rotationMatrix; #else v_rotationMatrix = mat2(1.0, 0.0, 0.0, 1.0); #endif float enableDepthCheck = 0.0; if (lengthSq < disableDepthTestDistance) { enableDepthCheck = 1.0; } float dw = floor(clamp(dimensions.x, 0.0, SHIFT_LEFT12)); float dh = floor(clamp(dimensions.y, 0.0, SHIFT_LEFT12)); float iw = floor(clamp(imageSize.x, 0.0, SHIFT_LEFT12)); float ih = floor(clamp(imageSize.y, 0.0, SHIFT_LEFT12)); v_compressed.x = eyeDepth; v_compressed.y = applyTranslate * SHIFT_LEFT1 + enableDepthCheck; v_compressed.z = dw * SHIFT_LEFT12 + dh; v_compressed.w = iw * SHIFT_LEFT12 + ih; v_originTextureCoordinateAndTranslate.xy = depthOrigin; v_originTextureCoordinateAndTranslate.zw = translate; v_textureCoordinateBounds = textureCoordinateBoundsOrLabelTranslate; #endif #ifdef SDF vec4 outlineColor; float outlineWidth; temp = sdf.x; temp = temp * SHIFT_RIGHT8; outlineColor.b = (temp - floor(temp)) * SHIFT_LEFT8; temp = floor(temp) * SHIFT_RIGHT8; outlineColor.g = (temp - floor(temp)) * SHIFT_LEFT8; outlineColor.r = floor(temp); temp = sdf.y; temp = temp * SHIFT_RIGHT8; float temp3 = (temp - floor(temp)) * SHIFT_LEFT8; temp = floor(temp) * SHIFT_RIGHT8; outlineWidth = (temp - floor(temp)) * SHIFT_LEFT8; outlineColor.a = floor(temp); outlineColor /= 255.0; v_outlineWidth = outlineWidth / 255.0; v_outlineColor = outlineColor; v_outlineColor.a *= translucency; #endif v_pickColor = pickColor; v_color = color; v_color.a *= translucency; } `,wwt={ADD:li.FUNC_ADD,SUBTRACT:li.FUNC_SUBTRACT,REVERSE_SUBTRACT:li.FUNC_REVERSE_SUBTRACT,MIN:li.MIN,MAX:li.MAX},Zm=Object.freeze(wwt),bwt={ZERO:li.ZERO,ONE:li.ONE,SOURCE_COLOR:li.SRC_COLOR,ONE_MINUS_SOURCE_COLOR:li.ONE_MINUS_SRC_COLOR,DESTINATION_COLOR:li.DST_COLOR,ONE_MINUS_DESTINATION_COLOR:li.ONE_MINUS_DST_COLOR,SOURCE_ALPHA:li.SRC_ALPHA,ONE_MINUS_SOURCE_ALPHA:li.ONE_MINUS_SRC_ALPHA,DESTINATION_ALPHA:li.DST_ALPHA,ONE_MINUS_DESTINATION_ALPHA:li.ONE_MINUS_DST_ALPHA,CONSTANT_COLOR:li.CONSTANT_COLOR,ONE_MINUS_CONSTANT_COLOR:li.ONE_MINUS_CONSTANT_COLOR,CONSTANT_ALPHA:li.CONSTANT_ALPHA,ONE_MINUS_CONSTANT_ALPHA:li.ONE_MINUS_CONSTANT_ALPHA,SOURCE_ALPHA_SATURATE:li.SRC_ALPHA_SATURATE},jA=Object.freeze(bwt),Qwt={DISABLED:Object.freeze({enabled:!1}),ALPHA_BLEND:Object.freeze({enabled:!0,equationRgb:Zm.ADD,equationAlpha:Zm.ADD,functionSourceRgb:jA.SOURCE_ALPHA,functionSourceAlpha:jA.ONE,functionDestinationRgb:jA.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:jA.ONE_MINUS_SOURCE_ALPHA}),PRE_MULTIPLIED_ALPHA_BLEND:Object.freeze({enabled:!0,equationRgb:Zm.ADD,equationAlpha:Zm.ADD,functionSourceRgb:jA.ONE,functionSourceAlpha:jA.ONE,functionDestinationRgb:jA.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:jA.ONE_MINUS_SOURCE_ALPHA}),ADDITIVE_BLEND:Object.freeze({enabled:!0,equationRgb:Zm.ADD,equationAlpha:Zm.ADD,functionSourceRgb:jA.SOURCE_ALPHA,functionSourceAlpha:jA.ONE,functionDestinationRgb:jA.ONE,functionDestinationAlpha:jA.ONE})},Nl=Object.freeze(Qwt),Swt={OPAQUE:0,TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2},Uh=Object.freeze(Swt),Dwt={FONT_SIZE:48,PADDING:10,RADIUS:8,CUTOFF:.25},sE=Object.freeze(Dwt);function dZ(o,A,f){let m=o._gl;m.framebufferTexture2D(m.FRAMEBUFFER,A,f._target,f._texture,0)}function Wj(o,A,f){let m=o._gl;m.framebufferRenderbuffer(m.FRAMEBUFFER,A,m.RENDERBUFFER,f._getRenderbuffer())}function xw(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.context._gl,f=Zn.maximumColorAttachments;this._gl=A,this._framebuffer=A.createFramebuffer(),this._colorTextures=[],this._colorRenderbuffers=[],this._activeColorAttachments=[],this._depthTexture=void 0,this._depthRenderbuffer=void 0,this._stencilRenderbuffer=void 0,this._depthStencilTexture=void 0,this._depthStencilRenderbuffer=void 0,this.destroyAttachments=oe(o.destroyAttachments,!0);let m=O(o.depthTexture)||O(o.depthRenderbuffer),C=O(o.depthStencilTexture)||O(o.depthStencilRenderbuffer);this._bind();let E,x,y,I,v;if(O(o.colorTextures)){let B=o.colorTextures;for(I=this._colorTextures.length=this._activeColorAttachments.length=B.length,y=0;y0){let x=o._texture.width,y=o._texture.height,I=C*(x+A.width+E),v=C*(y+A.height+E),B=x/I,Q=y/v,T=new $S(new rt(x+E,E),new rt(I,y)),w=new $S(new rt,new rt(I,y),o._root,T),S=new $S(new rt(E,y+E),new rt(I,v)),D=new $S(new rt,new rt(I,v),w,S);for(let M=0;Mx){A.childNode1=new $S(new rt(A.bottomLeft.x,A.bottomLeft.y),new rt(A.bottomLeft.x+f.width,A.topRight.y));let y=A.bottomLeft.x+f.width+o._borderWidthInPixels;y0)&&(o._shaderDisableDepthDistance=!0,B===Number.POSITIVE_INFINITY&&(B=-1));let T,w;if(O(C._labelDimensions))w=C._labelDimensions.x,T=C._labelDimensions.y;else{let P=0,M=0,L=C._imageIndex;if(L!==-1){let k=f[L];P=k.height,M=k.width}T=Math.round(oe(C.height,o._textureAtlas.texture.dimensions.y*P));let F=o._textureAtlas.texture.width;w=Math.round(oe(C.width,F*M))}let S=Math.floor(Be.clamp(w,0,Zue)),D=Math.floor(Be.clamp(T,0,Zue)),R=S*Zue+D;o._instanced?(E=C._index,x(E,y,I,B,R)):(E=C._index*4,x(E+0,y,I,B,R),x(E+1,y,I,B,R),x(E+2,y,I,B,R),x(E+3,y,I,B,R))}function u9e(o,A,f,m,C){if(C.heightReference===An.CLAMP_TO_GROUND){let S=o._scene,D=A.context,R=A.globeTranslucencyState.translucent,P=O(S.globe)&&S.globe.depthTestAgainstTerrain;o._shaderClampToGround=D.depthTexture&&!R&&P}let E,x=m[JA.textureCoordinateBoundsOrLabelTranslate];if(Zn.maximumVertexTextureImageUnits>0){let S=0,D=0;O(C._labelTranslate)&&(S=C._labelTranslate.x,D=C._labelTranslate.y),o._instanced?(E=C._index,x(E,S,D,0,0)):(E=C._index*4,x(E+0,S,D,0,0),x(E+1,S,D,0,0),x(E+2,S,D,0,0),x(E+3,S,D,0,0));return}let y=0,I=0,v=0,B=0,Q=C._imageIndex;if(Q!==-1){let S=f[Q];y=S.x,I=S.y,v=S.width,B=S.height}let T=y+v,w=I+B;o._instanced?(E=C._index,x(E,y,I,T,w)):(E=C._index*4,x(E+0,y,I,T,w),x(E+1,y,I,T,w),x(E+2,y,I,T,w),x(E+3,y,I,T,w))}function Xwt(o,A,f,m,C){if(!O(o._batchTable))return;let E=m[JA.a_batchId],x=C._batchIndex,y;o._instanced?(y=C._index,E(y,x)):(y=C._index*4,E(y+0,x),E(y+1,x),E(y+2,x),E(y+3,x))}function A9e(o,A,f,m,C){if(!o._sdf)return;let E,x=m[JA.sdf],y=C.outlineColor,I=C.outlineWidth,v=Ve.floatToByte(y.red),B=Ve.floatToByte(y.green),Q=Ve.floatToByte(y.blue),T=v*E5+B*pb+Q,w=I/sE.RADIUS,S=Ve.floatToByte(y.alpha)*E5+Ve.floatToByte(w)*pb;o._instanced?(E=C._index,x(E,T,S)):(E=C._index*4,x(E+0,T+e9e,S),x(E+1,T+t9e,S),x(E+2,T+i9e,S),x(E+3,T+r9e,S))}function Zwt(o,A,f,m,C){Z7e(o,A,f,m,C),n9e(o,A,f,m,C),o9e(o,A,f,m,C),Xde(o,A,f,m,C),Zde(o,A,f,m,C),a9e(o,A,f,m,C),s9e(o,A,f,m,C),l9e(o,A,f,m,C),u9e(o,A,f,m,C),Xwt(o,A,f,m,C),A9e(o,A,f,m,C)}function $ue(o,A,f,m,C,E){let x;m.mode===ni.SCENE3D?(x=o._baseVolume,o._boundingVolumeDirty=!0):x=o._baseVolume2D;let y=[];for(let I=0;I0){this._vaf=Jwt(m,f,this._buffersUsage,this._instanced,this._batchTable,this._sdf),Q=this._vaf.writers;for(let J=0;J0){let J=i1t;J.length=0,(I[x7]||I[Nwt]||I[Fwt])&&J.push(Z7e),(I[Y6]||I[V7e]||I[Rwt]||I[Lwt]||I[Pwt])&&(J.push(n9e),this._instanced&&J.push(Zde)),(I[Y6]||I[kwt]||I[K7e])&&(J.push(o9e),J.push(Xde)),(I[Y6]||I[Y7e])&&J.push(Xde),I[z7e]&&J.push(Zde),I[J7e]&&J.push(a9e),I[W7e]&&J.push(s9e),(I[j7e]||I[Owt]||I[Y6]||I[x7])&&J.push(l9e),(I[Y6]||I[x7])&&J.push(u9e),I[q7e]&&J.push(A9e);let K=J.length;if(Q=this._vaf.writers,y/f>.1){for(let X=0;Xf*1.5&&(x.length=f),!O(this._vaf)||!O(this._vaf.va))return;this._boundingVolumeDirty&&(this._boundingVolumeDirty=!1,hi.transform(this._baseVolume,this.modelMatrix,this._baseVolumeWC));let S,D=Re.IDENTITY;o.mode===ni.SCENE3D?(D=this.modelMatrix,S=hi.clone(this._baseVolumeWC,this._boundingVolume)):S=hi.clone(this._baseVolume2D,this._boundingVolume),e1t(this,o,S);let R=this._blendOption!==this.blendOption;if(this._blendOption=this.blendOption,R){this._blendOption===Uh.OPAQUE||this._blendOption===Uh.OPAQUE_AND_TRANSLUCENT?this._rsOpaque=Xr.fromCache({depthTest:{enabled:!0,func:li.LESS},depthMask:!0}):this._rsOpaque=void 0;let J=this._blendOption===Uh.TRANSLUCENT;this._blendOption===Uh.TRANSLUCENT||this._blendOption===Uh.OPAQUE_AND_TRANSLUCENT?this._rsTranslucent=Xr.fromCache({depthTest:{enabled:!0,func:J?li.LEQUAL:li.LESS},depthMask:J,blending:Nl.ALPHA_BLEND}):this._rsTranslucent=void 0}this._shaderDisableDepthDistance=this._shaderDisableDepthDistance||o.minimumDisableDepthTestDistance!==0;let P,M,L,F,k,N=Zn.maximumVertexTextureImageUnits>0;if(R||this._shaderRotation!==this._compiledShaderRotation||this._shaderAlignedAxis!==this._compiledShaderAlignedAxis||this._shaderScaleByDistance!==this._compiledShaderScaleByDistance||this._shaderTranslucencyByDistance!==this._compiledShaderTranslucencyByDistance||this._shaderPixelOffsetScaleByDistance!==this._compiledShaderPixelOffsetScaleByDistance||this._shaderDistanceDisplayCondition!==this._compiledShaderDistanceDisplayCondition||this._shaderDisableDepthDistance!==this._compiledShaderDisableDepthDistance||this._shaderClampToGround!==this._compiledShaderClampToGround||this._sdf!==this._compiledSDF){P=uEe,M=lEe,k=[],O(this._batchTable)&&(k.push("VECTOR_TILE"),P=this._batchTable.getVertexShaderCallback(!1,"a_batchId",void 0)(P),M=this._batchTable.getFragmentShaderCallback(!1,void 0)(M)),L=new _r({defines:k,sources:[P]}),this._instanced&&L.defines.push("INSTANCED"),this._shaderRotation&&L.defines.push("ROTATION"),this._shaderAlignedAxis&&L.defines.push("ALIGNED_AXIS"),this._shaderScaleByDistance&&L.defines.push("EYE_DISTANCE_SCALING"),this._shaderTranslucencyByDistance&&L.defines.push("EYE_DISTANCE_TRANSLUCENCY"),this._shaderPixelOffsetScaleByDistance&&L.defines.push("EYE_DISTANCE_PIXEL_OFFSET"),this._shaderDistanceDisplayCondition&&L.defines.push("DISTANCE_DISPLAY_CONDITION"),this._shaderDisableDepthDistance&&L.defines.push("DISABLE_DEPTH_DISTANCE"),this._shaderClampToGround&&(N?L.defines.push("VERTEX_DEPTH_CHECK"):L.defines.push("FRAGMENT_DEPTH_CHECK"));let J=1-sE.CUTOFF;this._sdf&&L.defines.push("SDF");let K=O(this._batchTable)?"VECTOR_TILE":"";this._blendOption===Uh.OPAQUE_AND_TRANSLUCENT&&(F=new _r({defines:["OPAQUE",K],sources:[M]}),this._shaderClampToGround&&(N?F.defines.push("VERTEX_DEPTH_CHECK"):F.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(F.defines.push("SDF"),F.defines.push(`SDF_EDGE ${J}`)),this._sp=qa.replaceCache({context:m,shaderProgram:this._sp,vertexShaderSource:L,fragmentShaderSource:F,attributeLocations:JA}),F=new _r({defines:["TRANSLUCENT",K],sources:[M]}),this._shaderClampToGround&&(N?F.defines.push("VERTEX_DEPTH_CHECK"):F.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(F.defines.push("SDF"),F.defines.push(`SDF_EDGE ${J}`)),this._spTranslucent=qa.replaceCache({context:m,shaderProgram:this._spTranslucent,vertexShaderSource:L,fragmentShaderSource:F,attributeLocations:JA})),this._blendOption===Uh.OPAQUE&&(F=new _r({defines:[K],sources:[M]}),this._shaderClampToGround&&(N?F.defines.push("VERTEX_DEPTH_CHECK"):F.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(F.defines.push("SDF"),F.defines.push(`SDF_EDGE ${J}`)),this._sp=qa.replaceCache({context:m,shaderProgram:this._sp,vertexShaderSource:L,fragmentShaderSource:F,attributeLocations:JA})),this._blendOption===Uh.TRANSLUCENT&&(F=new _r({defines:[K],sources:[M]}),this._shaderClampToGround&&(N?F.defines.push("VERTEX_DEPTH_CHECK"):F.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(F.defines.push("SDF"),F.defines.push(`SDF_EDGE ${J}`)),this._spTranslucent=qa.replaceCache({context:m,shaderProgram:this._spTranslucent,vertexShaderSource:L,fragmentShaderSource:F,attributeLocations:JA})),this._compiledShaderRotation=this._shaderRotation,this._compiledShaderAlignedAxis=this._shaderAlignedAxis,this._compiledShaderScaleByDistance=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistance=this._shaderTranslucencyByDistance,this._compiledShaderPixelOffsetScaleByDistance=this._shaderPixelOffsetScaleByDistance,this._compiledShaderDistanceDisplayCondition=this._shaderDistanceDisplayCondition,this._compiledShaderDisableDepthDistance=this._shaderDisableDepthDistance,this._compiledShaderClampToGround=this._shaderClampToGround,this._compiledSDF=this._sdf}let G=o.commandList;if(T.render||T.pick){let J=this._colorCommands,K=this._blendOption===Uh.OPAQUE,X=this._blendOption===Uh.OPAQUE_AND_TRANSLUCENT,q=this._vaf.va,ee=q.length,ie=this._uniforms,H;O(this._batchTable)?(ie=this._batchTable.getUniformMapCallback()(ie),H=this._batchTable.getPickId()):H="v_pickColor",J.length=ee;let le=X?ee*2:ee;for(let ue=0;ue]/,C=[],E="",x=Vf.LTR,y="",I=o.length;for(let v=0;v";case">":return"<"}}var A1t="\u05D0-\u05EA",c1t="\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF",GLe=new RegExp(`[${A1t}${c1t}]`);function h1t(o){let A=o.split(` `),f="";for(let m=0;mv+1?x[v+1].Type===Vf.RTL?(I=Q+I,y=0):(I=W6(I,y,B.Word),y+=B.Word.length):I=W6(I,0,Q)):B.Type===Vf.RTL?I=W6(I,y,Q):B.Type===Vf.LTR?(I+=B.Word,y=I.length):(B.Type===Vf.WEAK||B.Type===Vf.BRACKETS)&&(v>0&&x[v-1].Type===Vf.RTL?x.length>v+1?x[v+1].Type===Vf.RTL?I=W6(I,y,Q):(I+=B.Word,y=I.length):I+=B.Word:(I+=B.Word,y=I.length))}f+=I,m=0;--R)if(w[R]!==255){L=R/D|0;break}let F=-1;for(R=0;R0,Q=A._backgroundBillboard,T=o._backgroundBillboardCollection;B?(O(Q)||(Q=T.add({collection:o,image:h9e,imageSubRegion:x1t}),A._backgroundBillboard=Q),Q.color=A._backgroundColor,Q.show=A._show,Q.position=A._position,Q.eyeOffset=A._eyeOffset,Q.pixelOffset=A._pixelOffset,Q.horizontalOrigin=Ru.LEFT,Q.verticalOrigin=A._verticalOrigin,Q.heightReference=A._heightReference,Q.scale=A.totalScale,Q.pickPrimitive=A,Q.id=A._id,Q.translucencyByDistance=A._translucencyByDistance,Q.pixelOffsetScaleByDistance=A._pixelOffsetScaleByDistance,Q.scaleByDistance=A._scaleByDistance,Q.distanceDisplayCondition=A._distanceDisplayCondition,Q.disableDepthTestDistance=A._disableDepthTestDistance):O(Q)&&(T.remove(Q),A._backgroundBillboard=Q=void 0);let w=o._glyphTextureCache;for(v=0;v0&&L.height>0){let F=(0,g1t.default)(L,{cutoff:sE.CUTOFF,radius:sE.RADIUS}),k=L.getContext("2d"),N=L.width,G=L.height,J=k.getImageData(0,0,N,G);for(let K=0;K0?M=L.pop():(M=o._billboardCollection.add({collection:o}),M._labelDimensions=new rt,M._labelTranslate=new rt),y.billboard=M),M.show=A._show,M.position=A._position,M.eyeOffset=A._eyeOffset,M.pixelOffset=A._pixelOffset,M.horizontalOrigin=Ru.LEFT,M.verticalOrigin=A._verticalOrigin,M.heightReference=A._heightReference,M.scale=A.totalScale,M.pickPrimitive=A,M.id=A._id,M.image=R,M.translucencyByDistance=A._translucencyByDistance,M.pixelOffsetScaleByDistance=A._pixelOffsetScaleByDistance,M.scaleByDistance=A._scaleByDistance,M.distanceDisplayCondition=A._distanceDisplayCondition,M.disableDepthTestDistance=A._disableDepthTestDistance,M._batchIndex=A._batchIndex,M.outlineColor=A.outlineColor,A.style===Pu.FILL_AND_OUTLINE?(M.color=A._fillColor,M.outlineWidth=A.outlineWidth):A.style===Pu.FILL?(M.color=A._fillColor,M.outlineWidth=0):A.style===Pu.OUTLINE&&(M.color=Ve.TRANSPARENT,M.outlineWidth=A.outlineWidth)}}A._repositionAllGlyphs=!0}function HLe(o,A,f){return A===Ru.CENTER?-o/2:A===Ru.RIGHT?-(o+f.x):f.x}var Fh=new rt,w1t=new rt;function b1t(o){let A=o._glyphs,f=o._renderedText,m,C,E=0,x=0,y=[],I=Number.NEGATIVE_INFINITY,v=0,B=1,Q,T=A.length,w=o._backgroundBillboard,S=rt.clone(O(w)?o._backgroundPadding:rt.ZERO,w1t);for(S.x/=o._relativeSize,S.y/=o._relativeSize,Q=0;Q0&&(P===Ru.CENTER?k=-x/2-S.x:P===Ru.RIGHT?k=-(x+S.x*2):k=0,Fh.x=k*R,M===hn.TOP?Fh.y=D-v-I:M===hn.CENTER?Fh.y=(D-v)/2-I:M===hn.BASELINE?Fh.y=-S.y-I:Fh.y=0,Fh.y=Fh.y*R,w.width=J,w.height=K,w._setTranslate(Fh),w._labelTranslate=rt.clone(Fh,w._labelTranslate)),o.heightReference===An.CLAMP_TO_GROUND)for(Q=0;Q0?Uh.TRANSLUCENT:this.blendOption;A.blendOption=E,f.blendOption=E,A._highlightColor=this._highlightColor,f._highlightColor=this._highlightColor,this._labelsToUpdate.length=0,f.update(o),A.update(o)};jb.prototype.isDestroyed=function(){return!1};jb.prototype.destroy=function(){return this.removeAll(),this._billboardCollection=this._billboardCollection.destroy(),this._textureAtlas=this._textureAtlas&&this._textureAtlas.destroy(),this._backgroundBillboardCollection=this._backgroundBillboardCollection.destroy(),this._backgroundTextureAtlas=this._backgroundTextureAtlas&&this._backgroundTextureAtlas.destroy(),Ar(this)};var jD=jb;function Vd(o,A){o=oe(o,oe.EMPTY_OBJECT);let f=o.translucencyByDistance,m=o.scaleByDistance,C=o.distanceDisplayCondition;O(f)&&(f=Eo.clone(f)),O(m)&&(m=Eo.clone(m)),O(C)&&(C=po.clone(C)),this._show=oe(o.show,!0),this._position=Z.clone(oe(o.position,Z.ZERO)),this._actualPosition=Z.clone(this._position),this._color=Ve.clone(oe(o.color,Ve.WHITE)),this._outlineColor=Ve.clone(oe(o.outlineColor,Ve.TRANSPARENT)),this._outlineWidth=oe(o.outlineWidth,0),this._pixelSize=oe(o.pixelSize,10),this._scaleByDistance=m,this._translucencyByDistance=f,this._distanceDisplayCondition=C,this._disableDepthTestDistance=oe(o.disableDepthTestDistance,0),this._id=o.id,this._collection=oe(o.collection,A),this._clusterShow=!0,this._pickId=void 0,this._pointPrimitiveCollection=A,this._dirty=!1,this._index=-1}var VLe=Vd.SHOW_INDEX=0,f9e=Vd.POSITION_INDEX=1,Q1t=Vd.COLOR_INDEX=2,S1t=Vd.OUTLINE_COLOR_INDEX=3,D1t=Vd.OUTLINE_WIDTH_INDEX=4,T1t=Vd.PIXEL_SIZE_INDEX=5,M1t=Vd.SCALE_BY_DISTANCE_INDEX=6,P1t=Vd.TRANSLUCENCY_BY_DISTANCE_INDEX=7,R1t=Vd.DISTANCE_DISPLAY_CONDITION_INDEX=8,L1t=Vd.DISABLE_DEPTH_DISTANCE_INDEX=9;Vd.NUMBER_OF_PROPERTIES=10;function E_(o,A){let f=o._pointPrimitiveCollection;O(f)&&(f._updatePointPrimitive(o,A),o._dirty=!0)}Object.defineProperties(Vd.prototype,{show:{get:function(){return this._show},set:function(o){this._show!==o&&(this._show=o,E_(this,VLe))}},position:{get:function(){return this._position},set:function(o){let A=this._position;Z.equals(A,o)||(Z.clone(o,A),Z.clone(o,this._actualPosition),E_(this,f9e))}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(o){let A=this._scaleByDistance;Eo.equals(A,o)||(this._scaleByDistance=Eo.clone(o,A),E_(this,M1t))}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(o){let A=this._translucencyByDistance;Eo.equals(A,o)||(this._translucencyByDistance=Eo.clone(o,A),E_(this,P1t))}},pixelSize:{get:function(){return this._pixelSize},set:function(o){this._pixelSize!==o&&(this._pixelSize=o,E_(this,T1t))}},color:{get:function(){return this._color},set:function(o){let A=this._color;Ve.equals(A,o)||(Ve.clone(o,A),E_(this,Q1t))}},outlineColor:{get:function(){return this._outlineColor},set:function(o){let A=this._outlineColor;Ve.equals(A,o)||(Ve.clone(o,A),E_(this,S1t))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(o){this._outlineWidth!==o&&(this._outlineWidth=o,E_(this,D1t))}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(o){po.equals(this._distanceDisplayCondition,o)||(this._distanceDisplayCondition=po.clone(o,this._distanceDisplayCondition),E_(this,R1t))}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(o){this._disableDepthTestDistance!==o&&(this._disableDepthTestDistance=o,E_(this,L1t))}},id:{get:function(){return this._id},set:function(o){this._id=o,O(this._pickId)&&(this._pickId.object.id=o)}},pickId:{get:function(){return this._pickId}},clusterShow:{get:function(){return this._clusterShow},set:function(o){this._clusterShow!==o&&(this._clusterShow=o,E_(this,VLe))}}});Vd.prototype.getPickId=function(o){return O(this._pickId)||(this._pickId=o.createPickId({primitive:this,collection:this._collection,id:this._id})),this._pickId};Vd.prototype._getActualPosition=function(){return this._actualPosition};Vd.prototype._setActualPosition=function(o){Z.clone(o,this._actualPosition),E_(this,f9e)};var zLe=new zt;Vd._computeActualPosition=function(o,A,f){return A.mode===ni.SCENE3D?o:(Re.multiplyByPoint(f,o,zLe),ms.computeActualWgs84Position(A,zLe))};var YLe=new zt;Vd._computeScreenSpacePosition=function(o,A,f,m){let C=Re.multiplyByVector(o,zt.fromElements(A.x,A.y,A.z,1,YLe),YLe);return ms.wgs84ToWindowCoordinates(f,C,m)};Vd.prototype.computeScreenSpacePosition=function(o,A){let f=this._pointPrimitiveCollection;O(A)||(A=new rt);let m=f.modelMatrix,C=Vd._computeScreenSpacePosition(m,this._actualPosition,o,A);if(O(C))return C.y=o.canvas.clientHeight-C.y,C};Vd.getScreenSpaceBoundingBox=function(o,A,f){let m=o.pixelSize,C=m*.5,E=A.x-C,x=A.y-C,y=m,I=m;return O(f)||(f=new vr),f.x=E,f.y=x,f.width=y,f.height=I,f};Vd.prototype.equals=function(o){return this===o||O(o)&&this._id===o._id&&Z.equals(this._position,o._position)&&Ve.equals(this._color,o._color)&&this._pixelSize===o._pixelSize&&this._outlineWidth===o._outlineWidth&&this._show===o._show&&Ve.equals(this._outlineColor,o._outlineColor)&&Eo.equals(this._scaleByDistance,o._scaleByDistance)&&Eo.equals(this._translucencyByDistance,o._translucencyByDistance)&&po.equals(this._distanceDisplayCondition,o._distanceDisplayCondition)&&this._disableDepthTestDistance===o._disableDepthTestDistance};Vd.prototype._destroy=function(){this._pickId=this._pickId&&this._pickId.destroy(),this._pointPrimitiveCollection=void 0};var EC=Vd,r5=`in vec4 v_color; in vec4 v_outlineColor; in float v_innerPercent; in float v_pixelDistance; in vec4 v_pickColor; void main() { // The distance in UV space from this fragment to the center of the point, at most 0.5. float distanceToCenter = length(gl_PointCoord - vec2(0.5)); // The max distance stops one pixel shy of the edge to leave space for anti-aliasing. float maxDistance = max(0.0, 0.5 - v_pixelDistance); float wholeAlpha = 1.0 - smoothstep(maxDistance, 0.5, distanceToCenter); float innerAlpha = 1.0 - smoothstep(maxDistance * v_innerPercent, 0.5 * v_innerPercent, distanceToCenter); vec4 color = mix(v_outlineColor, v_color, innerAlpha); color.a *= wholeAlpha; // Fully transparent parts of the billboard are not pickable. #if !defined(OPAQUE) && !defined(TRANSLUCENT) if (color.a < 0.005) // matches 0/255 and 1/255 { discard; } #else // The billboard is rendered twice. The opaque pass discards translucent fragments // and the translucent pass discards opaque fragments. #ifdef OPAQUE if (color.a < 0.995) // matches < 254/255 { discard; } #else if (color.a >= 0.995) // matches 254/255 and 255/255 { discard; } #endif #endif out_FragColor = czm_gammaCorrect(color); czm_writeLogDepth(); } `,hEe=`uniform float u_maxTotalPointSize; in vec4 positionHighAndSize; in vec4 positionLowAndOutline; in vec4 compressedAttribute0; // color, outlineColor, pick color in vec4 compressedAttribute1; // show, translucency by distance, some free space in vec4 scaleByDistance; // near, nearScale, far, farScale in vec3 distanceDisplayConditionAndDisableDepth; // near, far, disableDepthTestDistance out vec4 v_color; out vec4 v_outlineColor; out float v_innerPercent; out float v_pixelDistance; out vec4 v_pickColor; const float SHIFT_LEFT8 = 256.0; const float SHIFT_RIGHT8 = 1.0 / 256.0; void main() { // Modifying this shader may also require modifications to PointPrimitive._computeScreenSpacePosition // unpack attributes vec3 positionHigh = positionHighAndSize.xyz; vec3 positionLow = positionLowAndOutline.xyz; float outlineWidthBothSides = 2.0 * positionLowAndOutline.w; float totalSize = positionHighAndSize.w + outlineWidthBothSides; float outlinePercent = outlineWidthBothSides / totalSize; // Scale in response to browser-zoom. totalSize *= czm_pixelRatio; float temp = compressedAttribute1.x * SHIFT_RIGHT8; float show = floor(temp); #ifdef EYE_DISTANCE_TRANSLUCENCY vec4 translucencyByDistance; translucencyByDistance.x = compressedAttribute1.z; translucencyByDistance.z = compressedAttribute1.w; translucencyByDistance.y = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0; temp = compressedAttribute1.y * SHIFT_RIGHT8; translucencyByDistance.w = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0; #endif /////////////////////////////////////////////////////////////////////////// vec4 color; vec4 outlineColor; vec4 pickColor; // compressedAttribute0.z => pickColor.rgb temp = compressedAttribute0.z * SHIFT_RIGHT8; pickColor.b = (temp - floor(temp)) * SHIFT_LEFT8; temp = floor(temp) * SHIFT_RIGHT8; pickColor.g = (temp - floor(temp)) * SHIFT_LEFT8; pickColor.r = floor(temp); // compressedAttribute0.x => color.rgb temp = compressedAttribute0.x * SHIFT_RIGHT8; color.b = (temp - floor(temp)) * SHIFT_LEFT8; temp = floor(temp) * SHIFT_RIGHT8; color.g = (temp - floor(temp)) * SHIFT_LEFT8; color.r = floor(temp); // compressedAttribute0.y => outlineColor.rgb temp = compressedAttribute0.y * SHIFT_RIGHT8; outlineColor.b = (temp - floor(temp)) * SHIFT_LEFT8; temp = floor(temp) * SHIFT_RIGHT8; outlineColor.g = (temp - floor(temp)) * SHIFT_LEFT8; outlineColor.r = floor(temp); // compressedAttribute0.w => color.a, outlineColor.a, pickColor.a temp = compressedAttribute0.w * SHIFT_RIGHT8; pickColor.a = (temp - floor(temp)) * SHIFT_LEFT8; pickColor = pickColor / 255.0; temp = floor(temp) * SHIFT_RIGHT8; outlineColor.a = (temp - floor(temp)) * SHIFT_LEFT8; outlineColor /= 255.0; color.a = floor(temp); color /= 255.0; /////////////////////////////////////////////////////////////////////////// vec4 p = czm_translateRelativeToEye(positionHigh, positionLow); vec4 positionEC = czm_modelViewRelativeToEye * p; /////////////////////////////////////////////////////////////////////////// #if defined(EYE_DISTANCE_SCALING) || defined(EYE_DISTANCE_TRANSLUCENCY) || defined(DISTANCE_DISPLAY_CONDITION) || defined(DISABLE_DEPTH_DISTANCE) float lengthSq; if (czm_sceneMode == czm_sceneMode2D) { // 2D camera distance is a special case // treat all billboards as flattened to the z=0.0 plane lengthSq = czm_eyeHeight2D.y; } else { lengthSq = dot(positionEC.xyz, positionEC.xyz); } #endif #ifdef EYE_DISTANCE_SCALING totalSize *= czm_nearFarScalar(scaleByDistance, lengthSq); #endif if (totalSize > 0.0) { // Add padding for anti-aliasing on both sides. totalSize += 3.0; } // Clamp to max point size. totalSize = min(totalSize, u_maxTotalPointSize); // If size is too small, push vertex behind near plane for clipping. // Note that context.minimumAliasedPointSize "will be at most 1.0". if (totalSize < 1.0) { positionEC.xyz = vec3(0.0); totalSize = 1.0; } float translucency = 1.0; #ifdef EYE_DISTANCE_TRANSLUCENCY translucency = czm_nearFarScalar(translucencyByDistance, lengthSq); // push vertex behind near plane for clipping if (translucency < 0.004) { positionEC.xyz = vec3(0.0); } #endif #ifdef DISTANCE_DISPLAY_CONDITION float nearSq = distanceDisplayConditionAndDisableDepth.x; float farSq = distanceDisplayConditionAndDisableDepth.y; if (lengthSq < nearSq || lengthSq > farSq) { // push vertex behind camera to force it to be clipped positionEC.xyz = vec3(0.0, 0.0, 1.0); } #endif gl_Position = czm_projection * positionEC; czm_vertexLogDepth(); #ifdef DISABLE_DEPTH_DISTANCE float disableDepthTestDistance = distanceDisplayConditionAndDisableDepth.z; if (disableDepthTestDistance == 0.0 && czm_minimumDisableDepthTestDistance != 0.0) { disableDepthTestDistance = czm_minimumDisableDepthTestDistance; } if (disableDepthTestDistance != 0.0) { // Don't try to "multiply both sides" by w. Greater/less-than comparisons won't work for negative values of w. float zclip = gl_Position.z / gl_Position.w; bool clipped = (zclip < -1.0 || zclip > 1.0); if (!clipped && (disableDepthTestDistance < 0.0 || (lengthSq > 0.0 && lengthSq < disableDepthTestDistance))) { // Position z on the near plane. gl_Position.z = -gl_Position.w; #ifdef LOG_DEPTH czm_vertexLogDepth(vec4(czm_currentFrustum.x)); #endif } } #endif v_color = color; v_color.a *= translucency * show; v_outlineColor = outlineColor; v_outlineColor.a *= translucency * show; v_innerPercent = 1.0 - outlinePercent; v_pixelDistance = 2.0 / totalSize; gl_PointSize = totalSize * show; gl_Position *= show; v_pickColor = pickColor; } `,F1t=EC.SHOW_INDEX,tfe=EC.POSITION_INDEX,g9e=EC.COLOR_INDEX,N1t=EC.OUTLINE_COLOR_INDEX,k1t=EC.OUTLINE_WIDTH_INDEX,O1t=EC.PIXEL_SIZE_INDEX,p9e=EC.SCALE_BY_DISTANCE_INDEX,m9e=EC.TRANSLUCENCY_BY_DISTANCE_INDEX,C9e=EC.DISTANCE_DISPLAY_CONDITION_INDEX,U1t=EC.DISABLE_DEPTH_DISTANCE_INDEX,dEe=EC.NUMBER_OF_PROPERTIES,$m={positionHighAndSize:0,positionLowAndOutline:1,compressedAttribute0:2,compressedAttribute1:3,scaleByDistance:4,distanceDisplayConditionAndDisableDepth:5};function Av(o){o=oe(o,oe.EMPTY_OBJECT),this._sp=void 0,this._spTranslucent=void 0,this._rsOpaque=void 0,this._rsTranslucent=void 0,this._vaf=void 0,this._pointPrimitives=[],this._pointPrimitivesToUpdate=[],this._pointPrimitivesToUpdateIndex=0,this._pointPrimitivesRemoved=!1,this._createVertexArray=!1,this._shaderScaleByDistance=!1,this._compiledShaderScaleByDistance=!1,this._shaderTranslucencyByDistance=!1,this._compiledShaderTranslucencyByDistance=!1,this._shaderDistanceDisplayCondition=!1,this._compiledShaderDistanceDisplayCondition=!1,this._shaderDisableDepthDistance=!1,this._compiledShaderDisableDepthDistance=!1,this._propertiesChanged=new Uint32Array(dEe),this._maxPixelSize=1,this._baseVolume=new hi,this._baseVolumeWC=new hi,this._baseVolume2D=new hi,this._boundingVolume=new hi,this._boundingVolumeDirty=!1,this._colorCommands=[],this.show=oe(o.show,!0),this.modelMatrix=Re.clone(oe(o.modelMatrix,Re.IDENTITY)),this._modelMatrix=Re.clone(Re.IDENTITY),this.debugShowBoundingVolume=oe(o.debugShowBoundingVolume,!1),this.blendOption=oe(o.blendOption,Uh.OPAQUE_AND_TRANSLUCENT),this._blendOption=void 0,this._mode=ni.SCENE3D,this._maxTotalPointSize=1,this._buffersUsage=[Gr.STATIC_DRAW,Gr.STATIC_DRAW,Gr.STATIC_DRAW,Gr.STATIC_DRAW,Gr.STATIC_DRAW,Gr.STATIC_DRAW,Gr.STATIC_DRAW,Gr.STATIC_DRAW,Gr.STATIC_DRAW];let A=this;this._uniforms={u_maxTotalPointSize:function(){return A._maxTotalPointSize}}}Object.defineProperties(Av.prototype,{length:{get:function(){return fEe(this),this._pointPrimitives.length}}});function E9e(o){let A=o.length;for(let f=0;f0&&(o._shaderDisableDepthDistance=!0,v===Number.POSITIVE_INFINITY&&(v=-1)),E(C,x,y,v)}function H1t(o,A,f,m){x9e(o,A,f,m),y9e(o,A,f,m),I9e(o,A,f,m),_9e(o,A,f,m),v9e(o,A,f,m)}function tAe(o,A,f,m,C,E){let x;m.mode===ni.SCENE3D?(x=o._baseVolume,o._boundingVolumeDirty=!0):x=o._baseVolume2D;let y=[];for(let I=0;I0){this._vaf=G1t(y,A,this._buffersUsage),x=this._vaf.writers;for(let F=0;F0){let F=Y1t;F.length=0,(C[tfe]||C[k1t]||C[O1t])&&F.push(x9e),(C[g9e]||C[N1t])&&F.push(y9e),(C[F1t]||C[m9e])&&F.push(I9e),C[p9e]&&F.push(_9e),(C[C9e]||C[U1t])&&F.push(v9e);let k=F.length;if(x=this._vaf.writers,m/A>.1){for(let N=0;NA*1.5&&(f.length=A),!O(this._vaf)||!O(this._vaf.va))return;this._boundingVolumeDirty&&(this._boundingVolumeDirty=!1,hi.transform(this._baseVolume,this.modelMatrix,this._baseVolumeWC));let B,Q=Re.IDENTITY;o.mode===ni.SCENE3D?(Q=this.modelMatrix,B=hi.clone(this._baseVolumeWC,this._boundingVolume)):B=hi.clone(this._baseVolume2D,this._boundingVolume),z1t(this,o,B);let T=this._blendOption!==this.blendOption;this._blendOption=this.blendOption,T&&(this._blendOption===Uh.OPAQUE||this._blendOption===Uh.OPAQUE_AND_TRANSLUCENT?this._rsOpaque=Xr.fromCache({depthTest:{enabled:!0,func:li.LEQUAL},depthMask:!0}):this._rsOpaque=void 0,this._blendOption===Uh.TRANSLUCENT||this._blendOption===Uh.OPAQUE_AND_TRANSLUCENT?this._rsTranslucent=Xr.fromCache({depthTest:{enabled:!0,func:li.LEQUAL},depthMask:!1,blending:Nl.ALPHA_BLEND}):this._rsTranslucent=void 0),this._shaderDisableDepthDistance=this._shaderDisableDepthDistance||o.minimumDisableDepthTestDistance!==0;let w,S;(T||this._shaderScaleByDistance&&!this._compiledShaderScaleByDistance||this._shaderTranslucencyByDistance&&!this._compiledShaderTranslucencyByDistance||this._shaderDistanceDisplayCondition&&!this._compiledShaderDistanceDisplayCondition||this._shaderDisableDepthDistance!==this._compiledShaderDisableDepthDistance)&&(w=new _r({sources:[hEe]}),this._shaderScaleByDistance&&w.defines.push("EYE_DISTANCE_SCALING"),this._shaderTranslucencyByDistance&&w.defines.push("EYE_DISTANCE_TRANSLUCENCY"),this._shaderDistanceDisplayCondition&&w.defines.push("DISTANCE_DISPLAY_CONDITION"),this._shaderDisableDepthDistance&&w.defines.push("DISABLE_DEPTH_DISTANCE"),this._blendOption===Uh.OPAQUE_AND_TRANSLUCENT&&(S=new _r({defines:["OPAQUE"],sources:[r5]}),this._sp=qa.replaceCache({context:y,shaderProgram:this._sp,vertexShaderSource:w,fragmentShaderSource:S,attributeLocations:$m}),S=new _r({defines:["TRANSLUCENT"],sources:[r5]}),this._spTranslucent=qa.replaceCache({context:y,shaderProgram:this._spTranslucent,vertexShaderSource:w,fragmentShaderSource:S,attributeLocations:$m})),this._blendOption===Uh.OPAQUE&&(S=new _r({sources:[r5]}),this._sp=qa.replaceCache({context:y,shaderProgram:this._sp,vertexShaderSource:w,fragmentShaderSource:S,attributeLocations:$m})),this._blendOption===Uh.TRANSLUCENT&&(S=new _r({sources:[r5]}),this._spTranslucent=qa.replaceCache({context:y,shaderProgram:this._spTranslucent,vertexShaderSource:w,fragmentShaderSource:S,attributeLocations:$m})),this._compiledShaderScaleByDistance=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistance=this._shaderTranslucencyByDistance,this._compiledShaderDistanceDisplayCondition=this._shaderDistanceDisplayCondition,this._compiledShaderDisableDepthDistance=this._shaderDisableDepthDistance);let D,R,P,M,L=o.commandList;if(I.render||v){let F=this._colorCommands,k=this._blendOption===Uh.OPAQUE,N=this._blendOption===Uh.OPAQUE_AND_TRANSLUCENT;D=this._vaf.va,R=D.length,F.length=R;let G=N?R*2:R;for(M=0;M>4;if(m!==iAe)throw new Error(`Got v${m} data when expected v${iAe}.`);let C=JLe[f&15];if(!C)throw new Error("Unrecognized array type.");let[E]=new Uint16Array(o,2,1),[x]=new Uint32Array(o,4,1);return new B9e(x,E,C,o)}constructor(o,A=64,f=Float64Array,m){if(isNaN(o)||o<0)throw new Error(`Unpexpected numItems value: ${o}.`);this.numItems=+o,this.nodeSize=Math.min(Math.max(+A,2),65535),this.ArrayType=f,this.IndexArrayType=o<65536?Uint16Array:Uint32Array;let C=JLe.indexOf(this.ArrayType),E=o*2*this.ArrayType.BYTES_PER_ELEMENT,x=o*this.IndexArrayType.BYTES_PER_ELEMENT,y=(8-x%8)%8;if(C<0)throw new Error(`Unexpected typed array class: ${f}.`);m&&m instanceof ArrayBuffer?(this.data=m,this.ids=new this.IndexArrayType(this.data,j6,o),this.coords=new this.ArrayType(this.data,j6+x+y,o*2),this._pos=o*2,this._finished=!0):(this.data=new ArrayBuffer(j6+E+x+y),this.ids=new this.IndexArrayType(this.data,j6,o),this.coords=new this.ArrayType(this.data,j6+x+y,o*2),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,(iAe<<4)+C]),new Uint16Array(this.data,2,1)[0]=A,new Uint32Array(this.data,4,1)[0]=o)}add(o,A){let f=this._pos>>1;return this.ids[f]=f,this.coords[this._pos++]=o,this.coords[this._pos++]=A,f}finish(){let o=this._pos>>1;if(o!==this.numItems)throw new Error(`Added ${o} items when expected ${this.numItems}.`);return ife(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(o,A,f,m){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:C,coords:E,nodeSize:x}=this,y=[0,C.length-1,0],I=[];for(;y.length;){let v=y.pop()||0,B=y.pop()||0,Q=y.pop()||0;if(B-Q<=x){for(let D=Q;D<=B;D++){let R=E[2*D],P=E[2*D+1];R>=o&&R<=f&&P>=A&&P<=m&&I.push(C[D])}continue}let T=Q+B>>1,w=E[2*T],S=E[2*T+1];w>=o&&w<=f&&S>=A&&S<=m&&I.push(C[T]),(v===0?o<=w:A<=S)&&(y.push(Q),y.push(T-1),y.push(1-v)),(v===0?f>=w:m>=S)&&(y.push(T+1),y.push(B),y.push(1-v))}return I}within(o,A,f){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:m,coords:C,nodeSize:E}=this,x=[0,m.length-1,0],y=[],I=f*f;for(;x.length;){let v=x.pop()||0,B=x.pop()||0,Q=x.pop()||0;if(B-Q<=E){for(let D=Q;D<=B;D++)KLe(C[2*D],C[2*D+1],o,A)<=I&&y.push(m[D]);continue}let T=Q+B>>1,w=C[2*T],S=C[2*T+1];KLe(w,S,o,A)<=I&&y.push(m[T]),(v===0?o-f<=w:A-f<=S)&&(x.push(Q),x.push(T-1),x.push(1-v)),(v===0?o+f>=w:A+f>=S)&&(x.push(T+1),x.push(B),x.push(1-v))}return y}};function ife(o,A,f,m,C,E){if(C-m<=f)return;let x=m+C>>1;w9e(o,A,x,m,C,E),ife(o,A,f,m,x-1,1-E),ife(o,A,f,x+1,C,1-E)}function w9e(o,A,f,m,C,E){for(;C>m;){if(C-m>600){let v=C-m+1,B=f-m+1,Q=Math.log(v),T=.5*Math.exp(2*Q/3),w=.5*Math.sqrt(Q*T*(v-T)/v)*(B-v/2<0?-1:1),S=Math.max(m,Math.floor(f-B*T/v+w)),D=Math.min(C,Math.floor(f+(v-B)*T/v+w));w9e(o,A,f,S,D,E)}let x=A[2*f+E],y=m,I=C;for(q6(o,A,m,f),A[2*C+E]>x&&q6(o,A,m,C);yx;)I--}A[2*m+E]===x?q6(o,A,m,I):(I++,q6(o,A,I,C)),I<=f&&(m=I+1),f<=I&&(C=I-1)}}function q6(o,A,f,m){rAe(o,f,m),rAe(A,2*f,2*m),rAe(A,2*f+1,2*m+1)}function rAe(o,A,f){let m=o[A];o[A]=o[f],o[f]=m}function KLe(o,A,f,m){let C=o-f,E=A-m;return C*C+E*E}function yw(o){o=oe(o,oe.EMPTY_OBJECT),this._enabled=oe(o.enabled,!1),this._pixelRange=oe(o.pixelRange,80),this._minimumClusterSize=oe(o.minimumClusterSize,2),this._clusterBillboards=oe(o.clusterBillboards,!0),this._clusterLabels=oe(o.clusterLabels,!0),this._clusterPoints=oe(o.clusterPoints,!0),this._labelCollection=void 0,this._billboardCollection=void 0,this._pointCollection=void 0,this._clusterBillboardCollection=void 0,this._clusterLabelCollection=void 0,this._clusterPointCollection=void 0,this._collectionIndicesByEntity={},this._unusedLabelIndices=[],this._unusedBillboardIndices=[],this._unusedPointIndices=[],this._previousClusters=[],this._previousHeight=void 0,this._enabledDirty=!1,this._clusterDirty=!1,this._cluster=void 0,this._removeEventListener=void 0,this._clusterEvent=new ur,this.show=oe(o.show,!0)}function WLe(o,A){o.x-=A,o.y-=A,o.width+=A*2,o.height+=A*2}var J1t=new vr;function jLe(o,A,f,m,C){if(O(o._labelCollection)&&m._clusterLabels?C=a9.getScreenSpaceBoundingBox(o,A,C):O(o._billboardCollection)&&m._clusterBillboards?C=ih.getScreenSpaceBoundingBox(o,A,C):O(o._pointPrimitiveCollection)&&m._clusterPoints&&(C=EC.getScreenSpaceBoundingBox(o,A,C)),WLe(C,f),m._clusterLabels&&!O(o._labelCollection)&&O(o.id)&&b9e(m,o.id.id)&&O(o.id._label)){let E=m._collectionIndicesByEntity[o.id.id].labelIndex,x=m._labelCollection.get(E),y=a9.getScreenSpaceBoundingBox(x,A,J1t);WLe(y,f),C=vr.union(C,y,C)}return C}function K1t(o,A){if(o.clusterShow=!0,!O(o._labelCollection)&&O(o.id)&&b9e(A,o.id.id)&&O(o.id._label)){let f=A._collectionIndicesByEntity[o.id.id].labelIndex,m=A._labelCollection.get(f);m.clusterShow=!0}O(o.id)&&!o.id.clusterShow&&(o.id.clusterShow=!0)}function qLe(o,A,f,m){let C={billboard:m._clusterBillboardCollection.add(),label:m._clusterLabelCollection.add(),point:m._clusterPointCollection.add()};C.billboard.show=!1,C.point.show=!1,C.label.show=!0,C.label.text=A.toLocaleString(),C.label.id=f,C.billboard.position=C.label.position=C.point.position=o;for(let E=0;E0){let le=new B9e(M.length,64,Uint32Array);for(let ue=0;ue=B)for(qLe(ue.position,ee,q,o),T.push(ue),F=0;F=B){let fe=Z.multiplyByScalar(ge,1/ee,ge);for(qLe(fe,ee,q,o),T.push({position:fe,width:he.width,height:he.height,minimumWidth:N.width,minimumHeight:N.height}),F=0;F0?(y=v.pop(),I=E.get(y)):(I=E.add(),y=E.length-1),x[m]=y;let B=this;return Promise.resolve().then(function(){B._clusterDirty=!0}),I}}function pEe(o,A){let f=o._collectionIndicesByEntity[A];!O(f.billboardIndex)&&!O(f.labelIndex)&&!O(f.pointIndex)&&delete o._collectionIndicesByEntity[A]}yw.prototype.getLabel=gEe("_labelCollection",jD,"_unusedLabelIndices","labelIndex");yw.prototype.removeLabel=function(o){let A=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[o.id];if(!O(this._labelCollection)||!O(A)||!O(A.labelIndex))return;let f=A.labelIndex;A.labelIndex=void 0,pEe(this,o.id);let m=this._labelCollection.get(f);m.show=!1,m.text="",m.id=void 0,this._unusedLabelIndices.push(f),this._clusterDirty=!0};yw.prototype.getBillboard=gEe("_billboardCollection",Tx,"_unusedBillboardIndices","billboardIndex");yw.prototype.removeBillboard=function(o){let A=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[o.id];if(!O(this._billboardCollection)||!O(A)||!O(A.billboardIndex))return;let f=A.billboardIndex;A.billboardIndex=void 0,pEe(this,o.id);let m=this._billboardCollection.get(f);m.id=void 0,m.show=!1,m.image=void 0,this._unusedBillboardIndices.push(f),this._clusterDirty=!0};yw.prototype.getPoint=gEe("_pointCollection",Uz,"_unusedPointIndices","pointIndex");yw.prototype.removePoint=function(o){let A=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[o.id];if(!O(this._pointCollection)||!O(A)||!O(A.pointIndex))return;let f=A.pointIndex;A.pointIndex=void 0,pEe(this,o.id);let m=this._pointCollection.get(f);m.show=!1,m.id=void 0,this._unusedPointIndices.push(f),this._clusterDirty=!0};function oAe(o){if(!O(o))return;let A=o.length;for(let f=0;f0&&this._labelCollection.get(0)._glyphs.length===0&&(A=o.commandList,o.commandList=[],this._labelCollection.update(o),o.commandList=A),O(this._billboardCollection)&&this._billboardCollection.length>0&&!O(this._billboardCollection.get(0).width)&&(A=o.commandList,o.commandList=[],this._billboardCollection.update(o),o.commandList=A),this._enabledDirty&&(this._enabledDirty=!1,Z1t(this),this._clusterDirty=!0),this._clusterDirty&&(this._clusterDirty=!1,this._cluster()),O(this._clusterLabelCollection)&&this._clusterLabelCollection.update(o),O(this._clusterBillboardCollection)&&this._clusterBillboardCollection.update(o),O(this._clusterPointCollection)&&this._clusterPointCollection.update(o),O(this._labelCollection)&&this._labelCollection.update(o),O(this._billboardCollection)&&this._billboardCollection.update(o),O(this._pointCollection)&&this._pointCollection.update(o)};yw.prototype.destroy=function(){this._labelCollection=this._labelCollection&&this._labelCollection.destroy(),this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),this._pointCollection=this._pointCollection&&this._pointCollection.destroy(),this._clusterLabelCollection=this._clusterLabelCollection&&this._clusterLabelCollection.destroy(),this._clusterBillboardCollection=this._clusterBillboardCollection&&this._clusterBillboardCollection.destroy(),this._clusterPointCollection=this._clusterPointCollection&&this._clusterPointCollection.destroy(),O(this._removeEventListener)&&(this._removeEventListener(),this._removeEventListener=void 0),this._labelCollection=void 0,this._billboardCollection=void 0,this._pointCollection=void 0,this._clusterBillboardCollection=void 0,this._clusterLabelCollection=void 0,this._clusterPointCollection=void 0,this._collectionIndicesByEntity=void 0,this._unusedLabelIndices=[],this._unusedBillboardIndices=[],this._unusedPointIndices=[],this._previousClusters=[],this._previousHeight=void 0,this._enabledDirty=!1,this._pixelRangeDirty=!1,this._minimumClusterSizeDirty=!1};var iR=yw;function xh(o){o=oe(o,oe.EMPTY_OBJECT),this.start=O(o.start)?Zt.clone(o.start):new Zt,this.stop=O(o.stop)?Zt.clone(o.stop):new Zt,this.data=o.data,this.isStartIncluded=oe(o.isStartIncluded,!0),this.isStopIncluded=oe(o.isStopIncluded,!0)}Object.defineProperties(xh.prototype,{isEmpty:{get:function(){let o=Zt.compare(this.stop,this.start);return o<0||o===0&&(!this.isStartIncluded||!this.isStopIncluded)}}});var uU={start:void 0,stop:void 0,isStartIncluded:void 0,isStopIncluded:void 0,data:void 0};xh.fromIso8601=function(o,A){let f=o.iso8601.split("/");if(f.length!==2)throw new Ai("options.iso8601 is an invalid ISO 8601 interval.");let m=Zt.fromIso8601(f[0]),C=Zt.fromIso8601(f[1]),E=oe(o.isStartIncluded,!0),x=oe(o.isStopIncluded,!0),y=o.data;return O(A)?(A.start=m,A.stop=C,A.isStartIncluded=E,A.isStopIncluded=x,A.data=y,A):(uU.start=m,uU.stop=C,uU.isStartIncluded=E,uU.isStopIncluded=x,uU.data=y,new xh(uU))};xh.toIso8601=function(o,A){return`${Zt.toIso8601(o.start,A)}/${Zt.toIso8601(o.stop,A)}`};xh.clone=function(o,A){if(O(o))return O(A)?(A.start=o.start,A.stop=o.stop,A.isStartIncluded=o.isStartIncluded,A.isStopIncluded=o.isStopIncluded,A.data=o.data,A):new xh(o)};xh.equals=function(o,A,f){return o===A||O(o)&&O(A)&&(o.isEmpty&&A.isEmpty||o.isStartIncluded===A.isStartIncluded&&o.isStopIncluded===A.isStopIncluded&&Zt.equals(o.start,A.start)&&Zt.equals(o.stop,A.stop)&&(o.data===A.data||O(f)&&f(o.data,A.data)))};xh.equalsEpsilon=function(o,A,f,m){return f=oe(f,0),o===A||O(o)&&O(A)&&(o.isEmpty&&A.isEmpty||o.isStartIncluded===A.isStartIncluded&&o.isStopIncluded===A.isStopIncluded&&Zt.equalsEpsilon(o.start,A.start,f)&&Zt.equalsEpsilon(o.stop,A.stop,f)&&(o.data===A.data||O(m)&&m(o.data,A.data)))};xh.intersect=function(o,A,f,m){if(!O(A))return xh.clone(xh.EMPTY,f);let C=o.start,E=o.stop,x=A.start,y=A.stop,I=Zt.greaterThanOrEquals(x,C)&&Zt.greaterThanOrEquals(E,x),v=!I&&Zt.lessThanOrEquals(x,C)&&Zt.lessThanOrEquals(C,y);if(!I&&!v)return xh.clone(xh.EMPTY,f);let B=o.isStartIncluded,Q=o.isStopIncluded,T=A.isStartIncluded,w=A.isStopIncluded,S=Zt.lessThan(E,y);return O(f)||(f=new xh),f.start=I?x:C,f.isStartIncluded=B&&T||!Zt.equals(x,C)&&(I&&T||v&&B),f.stop=S?E:y,f.isStopIncluded=S?Q:Q&&w||!Zt.equals(y,E)&&w,f.data=O(m)?m(o.data,A.data):o.data,f};xh.contains=function(o,A){if(o.isEmpty)return!1;let f=Zt.compare(o.start,A);if(f===0)return o.isStartIncluded;let m=Zt.compare(A,o.stop);return m===0?o.isStopIncluded:f<0&&m<0};xh.prototype.clone=function(o){return xh.clone(this,o)};xh.prototype.equals=function(o,A){return xh.equals(this,o,A)};xh.prototype.equalsEpsilon=function(o,A,f){return xh.equalsEpsilon(this,o,A,f)};xh.prototype.toString=function(){return xh.toIso8601(this)};xh.EMPTY=Object.freeze(new xh({start:new Zt,stop:new Zt,isStartIncluded:!1,isStopIncluded:!1}));var ws=xh,Q9e=Object.freeze(Zt.fromIso8601("0000-01-01T00:00:00Z")),S9e=Object.freeze(Zt.fromIso8601("9999-12-31T24:00:00Z")),$1t=Object.freeze(new ws({start:Q9e,stop:S9e})),ebt={MINIMUM_VALUE:Q9e,MAXIMUM_VALUE:S9e,MAXIMUM_INTERVAL:$1t},un=ebt;function mEe(o,A){return Zt.compare(o.start,A.start)}function zd(o){if(this._intervals=[],this._changedEvent=new ur,O(o)){let A=o.length;for(let f=0;f0&&(this._intervals.length=0,this._changedEvent.raiseEvent(this))};zd.prototype.findIntervalContainingDate=function(o){let A=this.indexOf(o);return A>=0?this._intervals[A]:void 0};zd.prototype.findDataForIntervalContainingDate=function(o){let A=this.indexOf(o);return A>=0?this._intervals[A].data:void 0};zd.prototype.contains=function(o){return this.indexOf(o)>=0};var aAe=new ws;zd.prototype.indexOf=function(o){let A=this._intervals;aAe.start=o,aAe.stop=o;let f=d0(A,aAe,mEe);return f>=0?A[f].isStartIncluded?f:f>0&&A[f-1].stop.equals(o)&&A[f-1].isStopIncluded?f-1:~f:(f=~f,f>0&&f-10&&o.isStartIncluded&&f[m-1].isStartIncluded&&f[m-1].start.equals(o.start)?--m:m0&&(C=Zt.compare(f[m-1].stop,o.start),(C>0||C===0&&(f[m-1].isStopIncluded||o.isStartIncluded))&&((O(A)?A(f[m-1].data,o.data):f[m-1].data===o.data)?(Zt.greaterThan(o.stop,f[m-1].stop)?o=new ws({start:f[m-1].start,stop:o.stop,isStartIncluded:f[m-1].isStartIncluded,isStopIncluded:o.isStopIncluded,data:o.data}):o=new ws({start:f[m-1].start,stop:f[m-1].stop,isStartIncluded:f[m-1].isStartIncluded,isStopIncluded:f[m-1].isStopIncluded||o.stop.equals(f[m-1].stop)&&o.isStopIncluded,data:o.data}),f.splice(m-1,1),--m):(C=Zt.compare(f[m-1].stop,o.stop),(C>0||C===0&&f[m-1].isStopIncluded&&!o.isStopIncluded)&&f.splice(m,0,new ws({start:o.stop,stop:f[m-1].stop,isStartIncluded:!o.isStopIncluded,isStopIncluded:f[m-1].isStopIncluded,data:f[m-1].data})),f[m-1]=new ws({start:f[m-1].start,stop:o.start,isStartIncluded:f[m-1].isStartIncluded,isStopIncluded:!o.isStartIncluded,data:f[m-1].data}))));m0||C===0&&(o.isStopIncluded||f[m].isStartIncluded));)if(O(A)?A(f[m].data,o.data):f[m].data===o.data)o=new ws({start:o.start,stop:Zt.greaterThan(f[m].stop,o.stop)?f[m].stop:o.stop,isStartIncluded:o.isStartIncluded,isStopIncluded:Zt.greaterThan(f[m].stop,o.stop)?f[m].isStopIncluded:o.isStopIncluded,data:o.data}),f.splice(m,1);else if(f[m]=new ws({start:o.stop,stop:f[m].stop,isStartIncluded:!o.isStopIncluded,isStopIncluded:f[m].isStopIncluded,data:f[m].data}),f[m].isEmpty)f.splice(m,1);else break;f.splice(m,0,o),this._changedEvent.raiseEvent(this)};zd.prototype.removeInterval=function(o){if(o.isEmpty)return!1;let A=this._intervals,f=d0(A,o,mEe);f<0&&(f=~f);let m=!1;for(f>0&&(Zt.greaterThan(A[f-1].stop,o.start)||A[f-1].stop.equals(o.start)&&A[f-1].isStopIncluded&&o.isStartIncluded)&&(m=!0,(Zt.greaterThan(A[f-1].stop,o.stop)||A[f-1].isStopIncluded&&!o.isStopIncluded&&A[f-1].stop.equals(o.stop))&&A.splice(f,0,new ws({start:o.stop,stop:A[f-1].stop,isStartIncluded:!o.isStopIncluded,isStopIncluded:A[f-1].isStopIncluded,data:A[f-1].data})),A[f-1]=new ws({start:A[f-1].start,stop:o.start,isStartIncluded:A[f-1].isStartIncluded,isStopIncluded:!o.isStartIncluded,data:A[f-1].data})),f=1e3&&(C+=Math.floor(m/1e3),m=m%1e3),C>=60&&(E+=Math.floor(C/60),C=C%60),E>=60&&(x+=Math.floor(E/60),E=E%60),x>=24&&(y+=Math.floor(x/24),x=x%24),X6[2]=X5(v)?29:28;y>X6[I]||I>=13;)y>X6[I]&&(y-=X6[I],++I),I>=13&&(--I,v+=Math.floor(I/12),I=I%12,++I),X6[2]=X5(v)?29:28;return Hm.millisecond=m,Hm.second=C,Hm.minute=E,Hm.hour=x,Hm.day=y,Hm.month=I,Hm.year=v,Zt.fromGregorianDate(Hm,f)}var tbt=new Zt,ibt=/P(?:([\d.,]+)Y)?(?:([\d.,]+)M)?(?:([\d.,]+)W)?(?:([\d.,]+)D)?(?:T(?:([\d.,]+)H)?(?:([\d.,]+)M)?(?:([\d.,]+)S)?)?/;function D9e(o,A){if(!O(o)||o.length===0)return!1;if(A.year=0,A.month=0,A.day=0,A.hour=0,A.minute=0,A.second=0,A.millisecond=0,o[0]==="P"){let f=o.match(ibt);if(!O(f))return!1;if(O(f[1])&&(A.year=Number(f[1].replace(",","."))),O(f[2])&&(A.month=Number(f[2].replace(",","."))),O(f[3])&&(A.day=Number(f[3].replace(",","."))*7),O(f[4])&&(A.day+=Number(f[4].replace(",","."))),O(f[5])&&(A.hour=Number(f[5].replace(",","."))),O(f[6])&&(A.minute=Number(f[6].replace(",","."))),O(f[7])){let m=Number(f[7].replace(",","."));A.second=Math.floor(m),A.millisecond=m%1*1e3}}else o[o.length-1]!=="Z"&&(o+="Z"),Zt.toGregorianDate(Zt.fromIso8601(o,tbt),A);return A.year||A.month||A.day||A.hour||A.minute||A.second||A.millisecond}var y7=new rG;zd.fromIso8601=function(o,A){let f=o.iso8601.split("/"),m=Zt.fromIso8601(f[0]),C=Zt.fromIso8601(f[1]),E=[];if(!D9e(f[2],y7))E.push(m,C);else{let x=Zt.clone(m);for(E.push(x);Zt.compare(x,C)<0;)x=rfe(x,y7),Zt.compare(C,x)<=0&&Zt.clone(C,x),E.push(x)}return zd.fromJulianDateArray({julianDates:E,isStartIncluded:o.isStartIncluded,isStopIncluded:o.isStopIncluded,leadingInterval:o.leadingInterval,trailingInterval:o.trailingInterval,dataCallback:o.dataCallback},A)};zd.fromIso8601DateArray=function(o,A){return zd.fromJulianDateArray({julianDates:o.iso8601Dates.map(function(f){return Zt.fromIso8601(f)}),isStartIncluded:o.isStartIncluded,isStopIncluded:o.isStopIncluded,leadingInterval:o.leadingInterval,trailingInterval:o.trailingInterval,dataCallback:o.dataCallback},A)};zd.fromIso8601DurationArray=function(o,A){let f=o.epoch,m=o.iso8601Durations,C=oe(o.relativeToPrevious,!1),E=[],x,y,I=m.length;for(let v=0;v0&&(this._hash={},o.length=0)};var Ro=u3,rbt=Ve.WHITE,nbt=Z.ZERO,obt=An.NONE,abt=rt.ZERO,sbt=1,lbt=0,ubt=Z.ZERO,Abt=Ru.CENTER,cbt=hn.CENTER,hbt=!1,dbt=new Z,fbt=new Ve,gbt=new Z,pbt=new rt,mbt=new Eo,Cbt=new Eo,Ebt=new Eo,xbt=new vr,ybt=new po;function XLe(o){this.entity=o,this.billboard=void 0,this.textureValue=void 0}function A3(o,A){A=oe(A,oe.EMPTY_OBJECT),this._earthCtrl=o,this._collectionCluster=new iR,this._billboardCollection=new Tx,this._items=new Ro,this._addToMap=oe(A.addToMap,!0),this._visualizers=[],this._addToMap&&(o.primitives.add(this._billboardCollection),this._primitives=o.primitives.add(new X_),this._collectionCluster._initialize(o.coreMap.scene),this._primitives.add(this._collectionCluster),this._earthCtrl.dataSources._dataSources.push(this))}A3.prototype.update=function(o){let A=this._items.values,f=this._collectionCluster;for(let m=0,C=A.length;m-1;m--)C=o[m],O(C._position)&&E.set(C.id,new XLe(C));for(m=f.length-1;m>-1;m--)C=f[m],O(C._position)?E.contains(C.id)||E.set(C.id,new XLe(C)):(nfe(E.get(C.id),C,x),E.remove(C.id));for(m=A.length-1;m>-1;m--)C=A[m],nfe(E.get(C.id),C,x),E.remove(C.id)};function nfe(o,A,f){O(o)&&(o.billboard=void 0,f.removeBillboard(A))}A3.prototype.addToMap=function(){this._addToMap||(this._earthCtrl.primitives.add(this._billboardCollection),this._addToMap=!0)};A3.prototype.removeFromMap=function(){this._addToMap&&(this._billboardCollection.removeAll(),this._earthCtrl.primitives.remove(this._billboardCollection),this.clustering._billboardCollection.removeAll(),this.clustering._clusterBillboardCollection.destroy(),this.clustering._clusterBillboardCollection=void 0,this._addToMap=!1)};Object.defineProperties(A3.prototype,{show:{get:function(){return this._primitives.show},set:function(o){this._primitives.show=o}},clustering:{get:function(){return this._collectionCluster},set:function(o){this._collectionCluster=o}}});var T9e=A3,M9e={};M9e.Create=o=>{let A=o.toString();return A=A.substring(A.indexOf('"')+1,A.lastIndexOf('"')),new Worker(ja(A))};var P9e={ConstructionWorker:M9e};function Ibt(o){o("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),o("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),o("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs"),o.WGS84=o["EPSG:4326"],o["EPSG:3785"]=o["EPSG:3857"],o.GOOGLE=o["EPSG:3857"],o["EPSG:900913"]=o["EPSG:3857"],o["EPSG:102113"]=o["EPSG:3857"]}var EN=1,xN=2,x5=3,_bt=4,ofe=5,ZLe=6378137,vbt=6356752314e-3,$Le=.0066943799901413165,I7=484813681109536e-20,Fn=Math.PI/2,Bbt=.16666666666666666,wbt=.04722222222222222,bbt=.022156084656084655,Io=1e-10,Yp=.017453292519943295,Ab=57.29577951308232,KA=Math.PI/4,s9=Math.PI*2,zf=3.14159265359,Ux={};Ux.greenwich=0;Ux.lisbon=-9.131906111111;Ux.paris=2.337229166667;Ux.bogota=-74.080916666667;Ux.madrid=-3.687938888889;Ux.rome=12.452333333333;Ux.bern=7.439583333333;Ux.jakarta=106.807719444444;Ux.ferro=-17.666666666667;Ux.brussels=4.367975;Ux.stockholm=18.058277777778;Ux.athens=23.7163375;Ux.oslo=10.722916666667;var Qbt={ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937}},eFe=/[\s_\-\/\(\)]/g;function EP(o,A){if(o[A])return o[A];for(var f=Object.keys(o),m=A.toLowerCase().replace(eFe,""),C=-1,E,x;++C=this.text.length)return;o=this.text[this.place++]}switch(this.state){case l9:return this.neutral(o);case R9e:return this.keyword(o);case s$:return this.quoted(o);case F9e:return this.afterquote(o);case L9e:return this.number(o);case CEe:return}};qD.prototype.afterquote=function(o){if(o==='"'){this.word+='"',this.state=s$;return}if(Mte.test(o)){this.word=this.word.trim(),this.afterItem(o);return}throw new Error(`havn't handled "`+o+'" in afterquote yet, index '+this.place)};qD.prototype.afterItem=function(o){if(o===","){this.word!==null&&this.currentObject.push(this.word),this.word=null,this.state=l9;return}if(o==="]"){this.level--,this.word!==null&&(this.currentObject.push(this.word),this.word=null),this.state=l9,this.currentObject=this.stack.pop(),this.currentObject||(this.state=CEe);return}};qD.prototype.number=function(o){if(N9e.test(o)){this.word+=o;return}if(Mte.test(o)){this.word=parseFloat(this.word),this.afterItem(o);return}throw new Error(`havn't handled "`+o+'" in number yet, index '+this.place)};qD.prototype.quoted=function(o){if(o==='"'){this.state=F9e;return}this.word+=o};qD.prototype.keyword=function(o){if(Mbt.test(o)){this.word+=o;return}if(o==="["){var A=[];A.push(this.word),this.level++,this.root===null?this.root=A:this.currentObject.push(A),this.stack.push(this.currentObject),this.currentObject=A,this.state=l9;return}if(Mte.test(o)){this.afterItem(o);return}throw new Error(`havn't handled "`+o+'" in keyword yet, index '+this.place)};qD.prototype.neutral=function(o){if(Tbt.test(o)){this.word=o,this.state=R9e;return}if(o==='"'){this.word="",this.state=s$;return}if(N9e.test(o)){this.word=o,this.state=L9e;return}if(Mte.test(o)){this.afterItem(o);return}throw new Error(`havn't handled "`+o+'" in neutral yet, index '+this.place)};qD.prototype.output=function(){for(;this.place0?90:-90),o.lat_ts=o.lat1)}function k9e(o){var A=Sbt(o),f=A.shift(),m=A.shift();A.unshift(["name",m]),A.unshift(["type",f]);var C={};return n5(A,C),Fbt(C),C}function x_(o){var A=this;if(arguments.length===2){var f=arguments[1];typeof f=="string"?f.charAt(0)==="+"?x_[o]=afe(arguments[1]):x_[o]=k9e(arguments[1]):x_[o]=f}else if(arguments.length===1){if(Array.isArray(o))return o.map(function(m){Array.isArray(m)?x_.apply(A,m):x_(m)});if(typeof o=="string"){if(o in x_)return x_[o]}else"EPSG"in o?x_["EPSG:"+o.EPSG]=o:"ESRI"in o?x_["ESRI:"+o.ESRI]=o:"IAU2000"in o?x_["IAU2000:"+o.IAU2000]=o:console.log(o);return}}Ibt(x_);var l$=x_;function Nbt(o){return typeof o=="string"}function kbt(o){return o in l$}var Obt=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"];function Ubt(o){return Obt.some(function(A){return o.indexOf(A)>-1})}var Gbt=["3857","900913","3785","102113"];function Hbt(o){var A=EP(o,"authority");if(A){var f=EP(A,"epsg");return f&&Gbt.indexOf(f)>-1}}function Vbt(o){var A=EP(o,"extension");if(A)return EP(A,"proj4")}function zbt(o){return o[0]==="+"}function Ybt(o){if(Nbt(o)){if(kbt(o))return l$[o];if(Ubt(o)){var A=k9e(o);if(Hbt(A))return l$["EPSG:3857"];var f=Vbt(A);return f?afe(f):A}if(zbt(o))return afe(o)}else return o}var Jbt=Ybt;function iFe(o,A){o=o||{};var f,m;if(!A)return o;for(m in A)f=A[m],f!==void 0&&(o[m]=f);return o}function wb(o,A,f){var m=o*A;return f/Math.sqrt(1-m*m)}function Gz(o){return o<0?-1:1}function Wo(o){return Math.abs(o)<=zf?o:o-Gz(o)*s9}function jB(o,A,f){var m=o*f,C=.5*o;return m=Math.pow((1-m)/(1+m),C),Math.tan(.5*(Fn-A))/m}function u9(o,A){for(var f=.5*o,m,C,E=Fn-2*Math.atan(A),x=0;x<=15;x++)if(m=o*Math.sin(E),C=Fn-2*Math.atan(A*Math.pow((1-m)/(1+m),f))-E,E+=C,Math.abs(C)<=1e-10)return E;return-9999}function Kbt(){var o=this.b/this.a;this.es=1-o*o,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=wb(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)}function Wbt(o){var A=o.x,f=o.y;if(f*Ab>90&&f*Ab<-90&&A*Ab>180&&A*Ab<-180)return null;var m,C;if(Math.abs(Math.abs(f)-Fn)<=Io)return null;if(this.sphere)m=this.x0+this.a*this.k0*Wo(A-this.long0),C=this.y0+this.a*this.k0*Math.log(Math.tan(KA+.5*f));else{var E=Math.sin(f),x=jB(this.e,f,E);m=this.x0+this.a*this.k0*Wo(A-this.long0),C=this.y0-this.a*this.k0*Math.log(x)}return o.x=m,o.y=C,o}function jbt(o){var A=o.x-this.x0,f=o.y-this.y0,m,C;if(this.sphere)C=Fn-2*Math.atan(Math.exp(-f/(this.a*this.k0)));else{var E=Math.exp(-f/(this.a*this.k0));if(C=u9(this.e,E),C===-9999)return null}return m=Wo(this.long0+A/(this.a*this.k0)),o.x=m,o.y=C,o}var qbt=["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"],Xbt={init:Kbt,forward:Wbt,inverse:jbt,names:qbt};function Zbt(){}function rFe(o){return o}var $bt=["longlat","identity"],eQt={init:Zbt,forward:rFe,inverse:rFe,names:$bt},tQt=[Xbt,eQt],gZ={},u$=[];function O9e(o,A){var f=u$.length;return o.names?(u$[f]=o,o.names.forEach(function(m){gZ[m.toLowerCase()]=f}),this):(console.log(A),!0)}function iQt(o){if(!o)return!1;var A=o.toLowerCase();if(typeof gZ[A]<"u"&&u$[gZ[A]])return u$[gZ[A]]}function rQt(){tQt.forEach(O9e)}var nQt={start:rQt,add:O9e,get:iQt},zs={};zs.MERIT={a:6378137,rf:298.257,ellipseName:"MERIT 1983"};zs.SGS85={a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"};zs.GRS80={a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"};zs.IAU76={a:6378140,rf:298.257,ellipseName:"IAU 1976"};zs.airy={a:6377563396e-3,b:635625691e-2,ellipseName:"Airy 1830"};zs.APL4={a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"};zs.NWL9D={a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"};zs.mod_airy={a:6377340189e-3,b:6356034446e-3,ellipseName:"Modified Airy"};zs.andrae={a:637710443e-2,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"};zs.aust_SA={a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"};zs.GRS67={a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"};zs.bessel={a:6377397155e-3,rf:299.1528128,ellipseName:"Bessel 1841"};zs.bess_nam={a:6377483865e-3,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"};zs.clrk66={a:63782064e-1,b:63565838e-1,ellipseName:"Clarke 1866"};zs.clrk80={a:6378249145e-3,rf:293.4663,ellipseName:"Clarke 1880 mod."};zs.clrk80ign={a:63782492e-1,b:6356515,rf:293.4660213,ellipseName:"Clarke 1880 (IGN)"};zs.clrk58={a:6378293645208759e-9,rf:294.2606763692654,ellipseName:"Clarke 1858"};zs.CPM={a:63757387e-1,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"};zs.delmbr={a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"};zs.engelis={a:637813605e-2,rf:298.2566,ellipseName:"Engelis 1985"};zs.evrst30={a:6377276345e-3,rf:300.8017,ellipseName:"Everest 1830"};zs.evrst48={a:6377304063e-3,rf:300.8017,ellipseName:"Everest 1948"};zs.evrst56={a:6377301243e-3,rf:300.8017,ellipseName:"Everest 1956"};zs.evrst69={a:6377295664e-3,rf:300.8017,ellipseName:"Everest 1969"};zs.evrstSS={a:6377298556e-3,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"};zs.fschr60={a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"};zs.fschr60m={a:6378155,rf:298.3,ellipseName:"Fischer 1960"};zs.fschr68={a:6378150,rf:298.3,ellipseName:"Fischer 1968"};zs.helmert={a:6378200,rf:298.3,ellipseName:"Helmert 1906"};zs.hough={a:6378270,rf:297,ellipseName:"Hough"};zs.intl={a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"};zs.kaula={a:6378163,rf:298.24,ellipseName:"Kaula 1961"};zs.lerch={a:6378139,rf:298.257,ellipseName:"Lerch 1979"};zs.mprts={a:6397300,rf:191,ellipseName:"Maupertius 1738"};zs.new_intl={a:63781575e-1,b:63567722e-1,ellipseName:"New International 1967"};zs.plessis={a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"};zs.krass={a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"};zs.SEasia={a:6378155,b:63567733205e-4,ellipseName:"Southeast Asia"};zs.walbeck={a:6376896,b:63558348467e-4,ellipseName:"Walbeck"};zs.WGS60={a:6378165,rf:298.3,ellipseName:"WGS 60"};zs.WGS66={a:6378145,rf:298.25,ellipseName:"WGS 66"};zs.WGS7={a:6378135,rf:298.26,ellipseName:"WGS 72"};var oQt=zs.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"};zs.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"};function aQt(o,A,f,m){var C=o*o,E=A*A,x=(C-E)/C,y=0;m?(o*=1-x*(Bbt+x*(wbt+x*bbt)),C=o*o,x=0):y=Math.sqrt(x);var I=(C-E)/E;return{es:x,e:y,ep2:I}}function sQt(o,A,f,m,C){if(!o){var E=EP(zs,m);E||(E=oQt),o=E.a,A=E.b,f=E.rf}return f&&!A&&(A=(1-1/f)*o),(f===0||Math.abs(o-A)3&&(y.datum_params[3]!==0||y.datum_params[4]!==0||y.datum_params[5]!==0||y.datum_params[6]!==0)&&(y.datum_type=xN,y.datum_params[3]*=I7,y.datum_params[4]*=I7,y.datum_params[5]*=I7,y.datum_params[6]=y.datum_params[6]/1e6+1)),x&&(y.datum_type=x5,y.grids=x),y.a=f,y.b=m,y.es=C,y.ep2=E,y}var uQt=lQt,U9e={};function AQt(o,A){var f=new DataView(A),m=dQt(f),C=fQt(f,m);C.nSubgrids>1&&console.log("Only single NTv2 subgrids are currently supported, subsequent sub grids are ignored");var E=gQt(f,C,m),x={header:C,subgrids:E};return U9e[o]=x,x}function cQt(o){if(o===void 0)return null;var A=o.split(",");return A.map(hQt)}function hQt(o){if(o.length===0)return null;var A=o[0]==="@";return A&&(o=o.slice(1)),o==="null"?{name:"null",mandatory:!A,grid:null,isNull:!0}:{name:o,mandatory:!A,grid:U9e[o]||null,isNull:!1}}function o5(o){return o/3600*Math.PI/180}function dQt(o){var A=o.getInt32(8,!1);return A===11?!1:(A=o.getInt32(8,!0),A!==11&&console.warn("Failed to detect nadgrid endian-ness, defaulting to little-endian"),!0)}function fQt(o,A){return{nFields:o.getInt32(8,A),nSubgridFields:o.getInt32(24,A),nSubgrids:o.getInt32(40,A),shiftType:sfe(o,56,56+8).trim(),fromSemiMajorAxis:o.getFloat64(120,A),fromSemiMinorAxis:o.getFloat64(136,A),toSemiMajorAxis:o.getFloat64(152,A),toSemiMinorAxis:o.getFloat64(168,A)}}function sfe(o,A,f){return String.fromCharCode.apply(null,new Uint8Array(o.buffer.slice(A,f)))}function gQt(o,A,f){for(var m=176,C=[],E=0;E5e-11?!1:o.datum_type===EN?o.datum_params[0]===A.datum_params[0]&&o.datum_params[1]===A.datum_params[1]&&o.datum_params[2]===A.datum_params[2]:o.datum_type===xN?o.datum_params[0]===A.datum_params[0]&&o.datum_params[1]===A.datum_params[1]&&o.datum_params[2]===A.datum_params[2]&&o.datum_params[3]===A.datum_params[3]&&o.datum_params[4]===A.datum_params[4]&&o.datum_params[5]===A.datum_params[5]&&o.datum_params[6]===A.datum_params[6]:!0}function G9e(o,A,f){var m=o.x,C=o.y,E=o.z?o.z:0,x,y,I,v;if(C<-Fn&&C>-1.001*Fn)C=-Fn;else if(C>Fn&&C<1.001*Fn)C=Fn;else{if(C<-Fn)return{x:-1/0,y:-1/0,z:o.z};if(C>Fn)return{x:1/0,y:1/0,z:o.z}}return m>Math.PI&&(m-=2*Math.PI),y=Math.sin(C),v=Math.cos(C),I=y*y,x=f/Math.sqrt(1-A*I),{x:(x+E)*v*Math.cos(m),y:(x+E)*v*Math.sin(m),z:(x*(1-A)+E)*y}}function H9e(o,A,f,m){var C=1e-12,E=C*C,x=30,y,I,v,B,Q,T,w,S,D,R,P,M,L,F=o.x,k=o.y,N=o.z?o.z:0,G,J,K;if(y=Math.sqrt(F*F+k*k),I=Math.sqrt(F*F+k*k+N*N),y/fE&&Lm.y||Q>m.x||Sy&&Math.abs(I.y)>y);if(x<0)return console.log("Inverse grid shift iterator failed to converge."),m;m.x=Wo(E.x+f.ll[0]),m.y=E.y+f.ll[1]}else isNaN(E.x)||(m.x=o.x+E.x,m.y=o.y+E.y);return m}function oFe(o,A){var f={x:o.x/A.del[0],y:o.y/A.del[1]},m={x:Math.floor(f.x),y:Math.floor(f.y)},C={x:f.x-1*m.x,y:f.y-1*m.y},E={x:Number.NaN,y:Number.NaN},x;if(m.x<0||m.x>=A.lim[0]||m.y<0||m.y>=A.lim[1])return E;x=m.y*A.lim[0]+m.x;var y={x:A.cvs[x][0],y:A.cvs[x][1]};x++;var I={x:A.cvs[x][0],y:A.cvs[x][1]};x+=A.lim[0];var v={x:A.cvs[x][0],y:A.cvs[x][1]};x--;var B={x:A.cvs[x][0],y:A.cvs[x][1]},Q=C.x*C.y,T=C.x*(1-C.y),w=(1-C.x)*(1-C.y),S=(1-C.x)*C.y;return E.x=w*y.x+T*I.x+S*B.x+Q*v.x,E.y=w*y.y+T*I.y+S*B.y+Q*v.y,E}function aFe(o,A,f){var m=f.x,C=f.y,E=f.z||0,x,y,I,v={};for(I=0;I<3;I++)if(!(A&&I===2&&f.z===void 0))switch(I===0?(x=m,"ew".indexOf(o.axis[I])!==-1?y="x":y="y"):I===1?(x=C,"ns".indexOf(o.axis[I])!==-1?y="y":y="x"):(x=E,y="z"),o.axis[I]){case"e":v[y]=x;break;case"w":v[y]=-x;break;case"n":v[y]=x;break;case"s":v[y]=-x;break;case"u":f[y]!==void 0&&(v.z=x);break;case"d":f[y]!==void 0&&(v.z=-x);break;default:return null}return v}function V9e(o){var A={x:o[0],y:o[1]};return o.length>2&&(A.z=o[2]),o.length>3&&(A.m=o[3]),A}function vQt(o){sFe(o.x),sFe(o.y)}function sFe(o){if(typeof Number.isFinite=="function"){if(Number.isFinite(o))return;throw new TypeError("coordinates must be finite numbers")}if(typeof o!="number"||o!==o||!isFinite(o))throw new TypeError("coordinates must be finite numbers")}function BQt(o,A){return(o.datum.datum_type===EN||o.datum.datum_type===xN||o.datum.datum_type===x5)&&A.datumCode!=="WGS84"||(A.datum.datum_type===EN||A.datum.datum_type===xN||A.datum.datum_type===x5)&&o.datumCode!=="WGS84"}function A$(o,A,f,m){var C;Array.isArray(f)?f=V9e(f):f={x:f.x,y:f.y,z:f.z,m:f.m};var E=f.z!==void 0;if(vQt(f),o.datum&&A.datum&&BQt(o,A)&&(C=new A9("WGS84"),f=A$(o,C,f,m),o=C),m&&o.axis!=="enu"&&(f=aFe(o,!1,f)),o.projName==="longlat")f={x:f.x*Yp,y:f.y*Yp,z:f.z||0};else if(o.to_meter&&(f={x:f.x*o.to_meter,y:f.y*o.to_meter,z:f.z||0}),f=o.inverse(f),!f)return;if(o.from_greenwich&&(f.x+=o.from_greenwich),f=IQt(o.datum,A.datum,f),!!f)return A.from_greenwich&&(f={x:f.x-A.from_greenwich,y:f.y,z:f.z||0}),A.projName==="longlat"?f={x:f.x*Ab,y:f.y*Ab,z:f.z||0}:(f=A.forward(f),A.to_meter&&(f={x:f.x/A.to_meter,y:f.y/A.to_meter,z:f.z||0})),m&&A.axis!=="enu"?aFe(A,!0,f):(E||delete f.z,f)}var lFe=A9("WGS84");function sAe(o,A,f,m){var C,E,x;return Array.isArray(f)?(C=A$(o,A,f,m)||{x:NaN,y:NaN},f.length>2?typeof o.name<"u"&&o.name==="geocent"||typeof A.name<"u"&&A.name==="geocent"?typeof C.z=="number"?[C.x,C.y,C.z].concat(f.splice(3)):[C.x,C.y,f[2]].concat(f.splice(3)):[C.x,C.y].concat(f.splice(2)):[C.x,C.y]):(E=A$(o,A,f,m),x=Object.keys(f),x.length===2||x.forEach(function(y){if(typeof o.name<"u"&&o.name==="geocent"||typeof A.name<"u"&&A.name==="geocent"){if(y==="x"||y==="y"||y==="z")return}else if(y==="x"||y==="y")return;E[y]=f[y]}),E)}function uFe(o){return o instanceof A9?o:o.oProj?o.oProj:A9(o)}function wQt(o,A,f){o=uFe(o);var m=!1,C;return typeof A>"u"?(A=o,o=lFe,m=!0):(typeof A.x<"u"||Array.isArray(A))&&(f=A,A=o,o=lFe,m=!0),A=uFe(A),f?sAe(o,A,f):(C={forward:function(E,x){return sAe(o,A,E,x)},inverse:function(E,x){return sAe(A,o,E,x)}},m&&(C.oProj=A),C)}var fI=wQt,AFe=6,z9e="AJSAJS",Y9e="AFAFAF",a5=65,ux=73,y_=79,KV=86,WV=90,bQt={forward:J9e,inverse:QQt,toPoint:K9e};function J9e(o,A){return A=A||5,TQt(SQt({lat:o[1],lon:o[0]}),A)}function QQt(o){var A=EEe(j9e(o.toUpperCase()));return A.lat&&A.lon?[A.lon,A.lat,A.lon,A.lat]:[A.left,A.bottom,A.right,A.top]}function K9e(o){var A=EEe(j9e(o.toUpperCase()));return A.lat&&A.lon?[A.lon,A.lat]:[(A.left+A.right)/2,(A.top+A.bottom)/2]}function lAe(o){return o*(Math.PI/180)}function cFe(o){return 180*(o/Math.PI)}function SQt(o){var A=o.lat,f=o.lon,m=6378137,C=.00669438,E=.9996,x,y,I,v,B,Q,T,w=lAe(A),S=lAe(f),D,R;R=Math.floor((f+180)/6)+1,f===180&&(R=60),A>=56&&A<64&&f>=3&&f<12&&(R=32),A>=72&&A<84&&(f>=0&&f<9?R=31:f>=9&&f<21?R=33:f>=21&&f<33?R=35:f>=33&&f<42&&(R=37)),x=(R-1)*6-180+3,D=lAe(x),y=C/(1-C),I=m/Math.sqrt(1-C*Math.sin(w)*Math.sin(w)),v=Math.tan(w)*Math.tan(w),B=y*Math.cos(w)*Math.cos(w),Q=Math.cos(w)*(S-D),T=m*((1-C/4-3*C*C/64-5*C*C*C/256)*w-(3*C/8+3*C*C/32+45*C*C*C/1024)*Math.sin(2*w)+(15*C*C/256+45*C*C*C/1024)*Math.sin(4*w)-35*C*C*C/3072*Math.sin(6*w));var P=E*I*(Q+(1-v+B)*Q*Q*Q/6+(5-18*v+v*v+72*B-58*y)*Q*Q*Q*Q*Q/120)+5e5,M=E*(T+I*Math.tan(w)*(Q*Q/2+(5-v+9*B+4*B*B)*Q*Q*Q*Q/24+(61-58*v+v*v+600*B-330*y)*Q*Q*Q*Q*Q*Q/720));return A<0&&(M+=1e7),{northing:Math.round(M),easting:Math.round(P),zoneNumber:R,zoneLetter:DQt(A)}}function EEe(o){var A=o.northing,f=o.easting,m=o.zoneLetter,C=o.zoneNumber;if(C<0||C>60)return null;var E=.9996,x=6378137,y=.00669438,I,v=(1-Math.sqrt(1-y))/(1+Math.sqrt(1-y)),B,Q,T,w,S,D,R,P,M,L=f-5e5,F=A;m<"N"&&(F-=1e7),R=(C-1)*6-180+3,I=y/(1-y),D=F/E,P=D/(x*(1-y/4-3*y*y/64-5*y*y*y/256)),M=P+(3*v/2-27*v*v*v/32)*Math.sin(2*P)+(21*v*v/16-55*v*v*v*v/32)*Math.sin(4*P)+151*v*v*v/96*Math.sin(6*P),B=x/Math.sqrt(1-y*Math.sin(M)*Math.sin(M)),Q=Math.tan(M)*Math.tan(M),T=I*Math.cos(M)*Math.cos(M),w=x*(1-y)/Math.pow(1-y*Math.sin(M)*Math.sin(M),1.5),S=L/(B*E);var k=M-B*Math.tan(M)/w*(S*S/2-(5+3*Q+10*T-4*T*T-9*I)*S*S*S*S/24+(61+90*Q+298*T+45*Q*Q-252*I-3*T*T)*S*S*S*S*S*S/720);k=cFe(k);var N=(S-(1+2*Q+T)*S*S*S/6+(5-2*T+28*Q-3*T*T+8*I+24*Q*Q)*S*S*S*S*S/120)/Math.cos(M);N=R+cFe(N);var G;if(o.accuracy){var J=EEe({northing:o.northing+o.accuracy,easting:o.easting+o.accuracy,zoneLetter:o.zoneLetter,zoneNumber:o.zoneNumber});G={top:J.lat,right:J.lon,bottom:k,left:N}}else G={lat:k,lon:N};return G}function DQt(o){var A="Z";return 84>=o&&o>=72?A="X":72>o&&o>=64?A="W":64>o&&o>=56?A="V":56>o&&o>=48?A="U":48>o&&o>=40?A="T":40>o&&o>=32?A="S":32>o&&o>=24?A="R":24>o&&o>=16?A="Q":16>o&&o>=8?A="P":8>o&&o>=0?A="N":0>o&&o>=-8?A="M":-8>o&&o>=-16?A="L":-16>o&&o>=-24?A="K":-24>o&&o>=-32?A="J":-32>o&&o>=-40?A="H":-40>o&&o>=-48?A="G":-48>o&&o>=-56?A="F":-56>o&&o>=-64?A="E":-64>o&&o>=-72?A="D":-72>o&&o>=-80&&(A="C"),A}function TQt(o,A){var f="00000"+o.easting,m="00000"+o.northing;return o.zoneNumber+o.zoneLetter+MQt(o.easting,o.northing,o.zoneNumber)+f.substr(f.length-5,A)+m.substr(m.length-5,A)}function MQt(o,A,f){var m=W9e(f),C=Math.floor(o/1e5),E=Math.floor(A/1e5)%20;return PQt(C,E,m)}function W9e(o){var A=o%AFe;return A===0&&(A=AFe),A}function PQt(o,A,f){var m=f-1,C=z9e.charCodeAt(m),E=Y9e.charCodeAt(m),x=C+o-1,y=E+A,I=!1;x>WV&&(x=x-WV+a5-1,I=!0),(x===ux||Cux||(x>ux||Cy_||(x>y_||CWV&&(x=x-WV+a5-1),y>KV?(y=y-KV+a5-1,I=!0):I=!1,(y===ux||Eux||(y>ux||Ey_||(y>y_||EKV&&(y=y-KV+a5-1);var v=String.fromCharCode(x)+String.fromCharCode(y);return v}function j9e(o){if(o&&o.length===0)throw"MGRSPoint coverting from nothing";for(var A=o.length,f=null,m="",C,E=0;!/[A-Z]/.test(C=o.charAt(E));){if(E>=2)throw"MGRSPoint bad conversion from: "+o;m+=C,E++}var x=parseInt(m,10);if(E===0||E+3>A)throw"MGRSPoint bad conversion from: "+o;var y=o.charAt(E++);if(y<="A"||y==="B"||y==="Y"||y>="Z"||y==="I"||y==="O")throw"MGRSPoint zone letter "+y+" not handled: "+o;f=o.substring(E,E+=2);for(var I=W9e(x),v=RQt(f.charAt(0),I),B=LQt(f.charAt(1),I);B0&&(D=1e5/Math.pow(10,T),R=o.substring(E,E+T),w=parseFloat(R)*D,P=o.substring(E+T),S=parseFloat(P)*D),M=w+v,L=S+B,{easting:M,northing:L,zoneLetter:y,zoneNumber:x,accuracy:D}}function RQt(o,A){for(var f=z9e.charCodeAt(A-1),m=1e5,C=!1;f!==o.charCodeAt(0);){if(f++,f===ux&&f++,f===y_&&f++,f>WV){if(C)throw"Bad character: "+o;f=a5,C=!0}m+=1e5}return m}function LQt(o,A){if(o>"V")throw"MGRSPoint given invalid Northing "+o;for(var f=Y9e.charCodeAt(A-1),m=0,C=!1;f!==o.charCodeAt(0);){if(f++,f===ux&&f++,f===y_&&f++,f>KV){if(C)throw"Bad character: "+o;f=a5,C=!0}m+=1e5}return m}function FQt(o){var A;switch(o){case"C":A=11e5;break;case"D":A=2e6;break;case"E":A=28e5;break;case"F":A=37e5;break;case"G":A=46e5;break;case"H":A=55e5;break;case"J":A=64e5;break;case"K":A=73e5;break;case"L":A=82e5;break;case"M":A=91e5;break;case"N":A=0;break;case"P":A=8e5;break;case"Q":A=17e5;break;case"R":A=26e5;break;case"S":A=35e5;break;case"T":A=44e5;break;case"U":A=53e5;break;case"V":A=62e5;break;case"W":A=7e6;break;case"X":A=79e5;break;default:A=-1}if(A>=0)return A;throw"Invalid zone letter: "+o}function $5(o,A,f){if(!(this instanceof $5))return new $5(o,A,f);if(Array.isArray(o))this.x=o[0],this.y=o[1],this.z=o[2]||0;else if(typeof o=="object")this.x=o.x,this.y=o.y,this.z=o.z||0;else if(typeof o=="string"&&typeof A>"u"){var m=o.split(",");this.x=parseFloat(m[0],10),this.y=parseFloat(m[1],10),this.z=parseFloat(m[2],10)||0}else this.x=o,this.y=A,this.z=f||0;console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}$5.fromMGRS=function(o){return new $5(K9e(o))};$5.prototype.toMGRS=function(o){return J9e([this.x,this.y],o)};var NQt=$5,kQt=1,OQt=.25,hFe=.046875,dFe=.01953125,fFe=.01068115234375,UQt=.75,GQt=.46875,HQt=.013020833333333334,VQt=.007120768229166667,zQt=.3645833333333333,YQt=.005696614583333333,JQt=.3076171875;function q9e(o){var A=[];A[0]=kQt-o*(OQt+o*(hFe+o*(dFe+o*fFe))),A[1]=o*(UQt-o*(hFe+o*(dFe+o*fFe)));var f=o*o;return A[2]=f*(GQt-o*(HQt+o*VQt)),f*=o,A[3]=f*(zQt-o*YQt),A[4]=f*o*JQt,A}function Pte(o,A,f,m){return f*=A,A*=A,m[0]*o-f*(m[1]+A*(m[2]+A*(m[3]+A*m[4])))}var KQt=20;function X9e(o,A,f){for(var m=1/(1-A),C=o,E=KQt;E;--E){var x=Math.sin(C),y=1-A*x*x;if(y=(Pte(C,x,Math.cos(C),f)-o)*(y*Math.sqrt(y))*m,C-=y,Math.abs(y)Io?Math.tan(f):0,S=Math.pow(w,2),D=Math.pow(S,2);C=1-this.es*Math.pow(y,2),v=v/Math.sqrt(C);var R=Pte(f,y,I,this.en);E=this.a*(this.k0*v*(1+B/6*(1-S+Q+B/20*(5-18*S+D+14*Q-58*S*Q+B/42*(61+179*D-D*S-479*S)))))+this.x0,x=this.a*(this.k0*(R-this.ml0+y*m*v/2*(1+B/12*(5-S+9*Q+4*T+B/30*(61+D-58*S+270*Q-330*S*Q+B/56*(1385+543*D-D*S-3111*S))))))+this.y0}else{var P=I*Math.sin(m);if(Math.abs(Math.abs(P)-1)=1){if(P-1>Io)return 93;x=0}else x=Math.acos(x);f<0&&(x=-x),x=this.a*this.k0*(x-this.lat0)+this.y0}return o.x=E,o.y=x,o}function qQt(o){var A,f,m,C,E=(o.x-this.x0)*(1/this.a),x=(o.y-this.y0)*(1/this.a);if(this.es)if(A=this.ml0+x/this.k0,f=X9e(A,this.es,this.en),Math.abs(f)Io?Math.tan(f):0,B=this.ep2*Math.pow(I,2),Q=Math.pow(B,2),T=Math.pow(v,2),w=Math.pow(T,2);A=1-this.es*Math.pow(y,2);var S=E*Math.sqrt(A)/this.k0,D=Math.pow(S,2);A=A*v,m=f-A*D/(1-this.es)*.5*(1-D/12*(5+3*T-9*B*T+B-4*Q-D/30*(61+90*T-252*B*T+45*w+46*B-D/56*(1385+3633*T+4095*w+1574*w*T)))),C=Wo(this.long0+S*(1-D/6*(1+2*T+B-D/20*(5+28*T+24*w+8*B*T+6*B-D/42*(61+662*T+1320*w+720*w*T))))/I)}else m=Fn*Gz(x),C=0;else{var R=Math.exp(E/this.k0),P=.5*(R-1/R),M=this.lat0+x/this.k0,L=Math.cos(M);A=Math.sqrt((1-Math.pow(L,2))/(1+Math.pow(P,2))),m=Math.asin(A),x<0&&(m=-m),P===0&&L===0?C=0:C=Wo(Math.atan2(P,L)+this.long0)}return o.x=C,o.y=m,o}var XQt=["Fast_Transverse_Mercator","Fast Transverse Mercator"],pZ={init:WQt,forward:jQt,inverse:qQt,names:XQt};function Z9e(o){var A=Math.exp(o);return A=(A-1/A)/2,A}function KB(o,A){o=Math.abs(o),A=Math.abs(A);var f=Math.max(o,A),m=Math.min(o,A)/(f||1);return f*Math.sqrt(1+Math.pow(m,2))}function ZQt(o){var A=1+o,f=A-1;return f===0?o:o*Math.log(A)/f}function $Qt(o){var A=Math.abs(o);return A=ZQt(A*(1+A/(KB(1,A)+1))),o<0?-A:A}function xEe(o,A){for(var f=2*Math.cos(2*A),m=o.length-1,C=o[m],E=0,x;--m>=0;)x=-E+f*C+o[m],E=C,C=x;return A+x*Math.sin(2*A)}function eSt(o,A){for(var f=2*Math.cos(A),m=o.length-1,C=o[m],E=0,x;--m>=0;)x=-E+f*C+o[m],E=C,C=x;return Math.sin(A)*x}function tSt(o){var A=Math.exp(o);return A=(A+1/A)/2,A}function $9e(o,A,f){for(var m=Math.sin(A),C=Math.cos(A),E=Z9e(f),x=tSt(f),y=2*C*x,I=-2*m*E,v=o.length-1,B=o[v],Q=0,T=0,w=0,S,D;--v>=0;)S=T,D=Q,T=B,Q=w,B=-S+y*T-I*Q+o[v],w=-D+I*T+y*Q;return y=m*x,I=C*E,[y*B-I*w,y*w+I*B]}function iSt(){if(!this.approx&&(isNaN(this.es)||this.es<=0))throw new Error('Incorrect elliptical usage. Try using the +approx option in the proj string, or PROJECTION["Fast_Transverse_Mercator"] in the WKT.');this.approx&&(pZ.init.apply(this),this.forward=pZ.forward,this.inverse=pZ.inverse),this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0,this.lat0=this.lat0!==void 0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var o=this.es/(1+Math.sqrt(1-this.es)),A=o/(2-o),f=A;this.cgb[0]=A*(2+A*(-2/3+A*(-2+A*(116/45+A*(26/45+A*(-2854/675)))))),this.cbg[0]=A*(-2+A*(2/3+A*(4/3+A*(-82/45+A*(32/45+A*(4642/4725)))))),f=f*A,this.cgb[1]=f*(7/3+A*(-8/5+A*(-227/45+A*(2704/315+A*(2323/945))))),this.cbg[1]=f*(5/3+A*(-16/15+A*(-13/9+A*(904/315+A*(-1522/945))))),f=f*A,this.cgb[2]=f*(56/15+A*(-136/35+A*(-1262/105+A*(73814/2835)))),this.cbg[2]=f*(-26/15+A*(34/21+A*(8/5+A*(-12686/2835)))),f=f*A,this.cgb[3]=f*(4279/630+A*(-332/35+A*(-399572/14175))),this.cbg[3]=f*(1237/630+A*(-12/5+A*(-24832/14175))),f=f*A,this.cgb[4]=f*(4174/315+A*(-144838/6237)),this.cbg[4]=f*(-734/315+A*(109598/31185)),f=f*A,this.cgb[5]=f*(601676/22275),this.cbg[5]=f*(444337/155925),f=Math.pow(A,2),this.Qn=this.k0/(1+A)*(1+f*(1/4+f*(1/64+f/256))),this.utg[0]=A*(-.5+A*(2/3+A*(-37/96+A*(1/360+A*(81/512+A*(-96199/604800)))))),this.gtu[0]=A*(.5+A*(-2/3+A*(5/16+A*(41/180+A*(-127/288+A*(7891/37800)))))),this.utg[1]=f*(-1/48+A*(-1/15+A*(437/1440+A*(-46/105+A*(1118711/3870720))))),this.gtu[1]=f*(13/48+A*(-3/5+A*(557/1440+A*(281/630+A*(-1983433/1935360))))),f=f*A,this.utg[2]=f*(-17/480+A*(37/840+A*(209/4480+A*(-5569/90720)))),this.gtu[2]=f*(61/240+A*(-103/140+A*(15061/26880+A*(167603/181440)))),f=f*A,this.utg[3]=f*(-4397/161280+A*(11/504+A*(830251/7257600))),this.gtu[3]=f*(49561/161280+A*(-179/168+A*(6601661/7257600))),f=f*A,this.utg[4]=f*(-4583/161280+A*(108847/3991680)),this.gtu[4]=f*(34729/80640+A*(-3418889/1995840)),f=f*A,this.utg[5]=f*(-20648693/638668800),this.gtu[5]=f*(212378941/319334400);var m=xEe(this.cbg,this.lat0);this.Zb=-this.Qn*(m+eSt(this.gtu,2*m))}function rSt(o){var A=Wo(o.x-this.long0),f=o.y;f=xEe(this.cbg,f);var m=Math.sin(f),C=Math.cos(f),E=Math.sin(A),x=Math.cos(A);f=Math.atan2(m,x*C),A=Math.atan2(E*C,KB(m,C*x)),A=$Qt(Math.tan(A));var y=$9e(this.gtu,2*f,2*A);f=f+y[0],A=A+y[1];var I,v;return Math.abs(A)<=2.623395162778?(I=this.a*(this.Qn*A)+this.x0,v=this.a*(this.Qn*f+this.Zb)+this.y0):(I=1/0,v=1/0),o.x=I,o.y=v,o}function nSt(o){var A=(o.x-this.x0)*(1/this.a),f=(o.y-this.y0)*(1/this.a);f=(f-this.Zb)/this.Qn,A=A/this.Qn;var m,C;if(Math.abs(A)<=2.623395162778){var E=$9e(this.utg,2*f,2*A);f=f+E[0],A=A+E[1],A=Math.atan(Z9e(A));var x=Math.sin(f),y=Math.cos(f),I=Math.sin(A),v=Math.cos(A);f=Math.atan2(x*v,KB(I,v*y)),A=Math.atan2(I,v*y),m=Wo(A+this.long0),C=xEe(this.cgb,f)}else m=1/0,C=1/0;return o.x=m,o.y=C,o}var oSt=["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc","Transverse_Mercator","Transverse Mercator","tmerc"],mZ={init:iSt,forward:rSt,inverse:nSt,names:oSt};function aSt(o,A){if(o===void 0){if(o=Math.floor((Wo(A)+Math.PI)*30/Math.PI)+1,o<0)return 0;if(o>60)return 60}return o}var sSt="etmerc";function lSt(){var o=aSt(this.zone,this.long0);if(o===void 0)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(o)-183)*Yp,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,mZ.init.apply(this),this.forward=mZ.forward,this.inverse=mZ.inverse}var uSt=["Universal Transverse Mercator System","utm"],ASt={init:lSt,names:uSt,dependsOn:sSt};function yEe(o,A){return Math.pow((1-o)/(1+o),A)}var cSt=20;function hSt(){var o=Math.sin(this.lat0),A=Math.cos(this.lat0);A*=A,this.rc=Math.sqrt(1-this.es)/(1-this.es*o*o),this.C=Math.sqrt(1+this.es*A*A/(1-this.es)),this.phic0=Math.asin(o/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+KA)/(Math.pow(Math.tan(.5*this.lat0+KA),this.C)*yEe(this.e*o,this.ratexp))}function dSt(o){var A=o.x,f=o.y;return o.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*f+KA),this.C)*yEe(this.e*Math.sin(f),this.ratexp))-Fn,o.x=this.C*A,o}function fSt(o){for(var A=1e-14,f=o.x/this.C,m=o.y,C=Math.pow(Math.tan(.5*m+KA)/this.K,1/this.C),E=cSt;E>0&&(m=2*Math.atan(C*yEe(this.e*Math.sin(o.y),-.5*this.e))-Fn,!(Math.abs(m-o.y)0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=Io&&(this.k0=.5*this.cons*wb(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/jB(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=wb(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-Fn,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))}function _St(o){var A=o.x,f=o.y,m=Math.sin(f),C=Math.cos(f),E,x,y,I,v,B,Q=Wo(A-this.long0);return Math.abs(Math.abs(A-this.long0)-Math.PI)<=Io&&Math.abs(f+this.lat0)<=Io?(o.x=NaN,o.y=NaN,o):this.sphere?(E=2*this.k0/(1+this.sinlat0*m+this.coslat0*C*Math.cos(Q)),o.x=this.a*E*C*Math.sin(Q)+this.x0,o.y=this.a*E*(this.coslat0*m-this.sinlat0*C*Math.cos(Q))+this.y0,o):(x=2*Math.atan(this.ssfn_(f,m,this.e))-Fn,I=Math.cos(x),y=Math.sin(x),Math.abs(this.coslat0)<=Io?(v=jB(this.e,f*this.con,this.con*m),B=2*this.a*this.k0*v/this.cons,o.x=this.x0+B*Math.sin(A-this.long0),o.y=this.y0-this.con*B*Math.cos(A-this.long0),o):(Math.abs(this.sinlat0)0?A=Wo(this.long0+Math.atan2(o.x,-1*o.y)):A=Wo(this.long0+Math.atan2(o.x,o.y)):A=Wo(this.long0+Math.atan2(o.x*Math.sin(y),x*this.coslat0*Math.cos(y)-o.y*this.sinlat0*Math.sin(y))),o.x=A,o.y=f,o)}else if(Math.abs(this.coslat0)<=Io){if(x<=Io)return f=this.lat0,A=this.long0,o.x=A,o.y=f,o;o.x*=this.con,o.y*=this.con,m=x*this.cons/(2*this.a*this.k0),f=this.con*u9(this.e,m),A=this.con*Wo(this.con*this.long0+Math.atan2(o.x,-1*o.y))}else C=2*Math.atan(x*this.cosX0/(2*this.a*this.k0*this.ms1)),A=this.long0,x<=Io?E=this.X0:(E=Math.asin(Math.cos(C)*this.sinX0+o.y*Math.sin(C)*this.cosX0/x),A=Wo(this.long0+Math.atan2(o.x*Math.sin(C),x*this.cosX0*Math.cos(C)-o.y*this.sinX0*Math.sin(C)))),f=-1*u9(this.e,Math.tan(.5*(Fn+E)));return o.x=A,o.y=f,o}var BSt=["stere","Stereographic_South_Pole","Polar Stereographic (variant B)"],wSt={init:ISt,forward:_St,inverse:vSt,names:BSt,ssfn_:ySt};function bSt(){var o=this.lat0;this.lambda0=this.long0;var A=Math.sin(o),f=this.a,m=this.rf,C=1/m,E=2*C-Math.pow(C,2),x=this.e=Math.sqrt(E);this.R=this.k0*f*Math.sqrt(1-E)/(1-E*Math.pow(A,2)),this.alpha=Math.sqrt(1+E/(1-E)*Math.pow(Math.cos(o),4)),this.b0=Math.asin(A/this.alpha);var y=Math.log(Math.tan(Math.PI/4+this.b0/2)),I=Math.log(Math.tan(Math.PI/4+o/2)),v=Math.log((1+x*A)/(1-x*A));this.K=y-this.alpha*I+this.alpha*x/2*v}function QSt(o){var A=Math.log(Math.tan(Math.PI/4-o.y/2)),f=this.e/2*Math.log((1+this.e*Math.sin(o.y))/(1-this.e*Math.sin(o.y))),m=-this.alpha*(A+f)+this.K,C=2*(Math.atan(Math.exp(m))-Math.PI/4),E=this.alpha*(o.x-this.lambda0),x=Math.atan(Math.sin(E)/(Math.sin(this.b0)*Math.tan(C)+Math.cos(this.b0)*Math.cos(E))),y=Math.asin(Math.cos(this.b0)*Math.sin(C)-Math.sin(this.b0)*Math.cos(C)*Math.cos(E));return o.y=this.R/2*Math.log((1+Math.sin(y))/(1-Math.sin(y)))+this.y0,o.x=this.R*x+this.x0,o}function SSt(o){for(var A=o.x-this.x0,f=o.y-this.y0,m=A/this.R,C=2*(Math.atan(Math.exp(f/this.R))-Math.PI/4),E=Math.asin(Math.cos(this.b0)*Math.sin(C)+Math.sin(this.b0)*Math.cos(C)*Math.cos(m)),x=Math.atan(Math.sin(m)/(Math.cos(this.b0)*Math.cos(m)-Math.sin(this.b0)*Math.tan(C))),y=this.lambda0+x/this.alpha,I=0,v=E,B=-1e3,Q=0;Math.abs(v-B)>1e-7;){if(++Q>20)return;I=1/this.alpha*(Math.log(Math.tan(Math.PI/4+E/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(v))/2)),B=v,v=2*Math.atan(Math.exp(I))-Math.PI/2}return o.x=y,o.y=v,o}var DSt=["somerc"],TSt={init:bSt,forward:QSt,inverse:SSt,names:DSt},zU=1e-7;function MSt(o){var A=["Hotine_Oblique_Mercator","Hotine_Oblique_Mercator_Azimuth_Natural_Origin"],f=typeof o.PROJECTION=="object"?Object.keys(o.PROJECTION)[0]:o.PROJECTION;return"no_uoff"in o||"no_off"in o||A.indexOf(f)!==-1}function PSt(){var o,A,f,m,C,E,x,y,I,v,B=0,Q,T=0,w=0,S=0,D=0,R=0,P=0,M;this.no_off=MSt(this),this.no_rot="no_rot"in this;var L=!1;"alpha"in this&&(L=!0);var F=!1;if("rectified_grid_angle"in this&&(F=!0),L&&(P=this.alpha),F&&(B=this.rectified_grid_angle*Yp),L||F)T=this.longc;else if(w=this.long1,D=this.lat1,S=this.long2,R=this.lat2,Math.abs(D-R)<=zU||(o=Math.abs(D))<=zU||Math.abs(o-Fn)<=zU||Math.abs(Math.abs(this.lat0)-Fn)<=zU||Math.abs(Math.abs(R)-Fn)<=zU)throw new Error;var k=1-this.es;A=Math.sqrt(k),Math.abs(this.lat0)>Io?(y=Math.sin(this.lat0),f=Math.cos(this.lat0),o=1-this.es*y*y,this.B=f*f,this.B=Math.sqrt(1+this.es*this.B*this.B/k),this.A=this.B*this.k0*A/o,m=this.B*A/(f*Math.sqrt(o)),C=m*m-1,C<=0?C=0:(C=Math.sqrt(C),this.lat0<0&&(C=-C)),this.E=C+=m,this.E*=Math.pow(jB(this.e,this.lat0,y),this.B)):(this.B=1/A,this.A=this.k0,this.E=m=C=1),L||F?(L?(Q=Math.asin(Math.sin(P)/m),F||(B=P)):(Q=B,P=Math.asin(m*Math.sin(Q))),this.lam0=T-Math.asin(.5*(C-1/C)*Math.tan(Q))/this.B):(E=Math.pow(jB(this.e,D,Math.sin(D)),this.B),x=Math.pow(jB(this.e,R,Math.sin(R)),this.B),C=this.E/E,I=(x-E)/(x+E),v=this.E*this.E,v=(v-x*E)/(v+x*E),o=w-S,o<-Math.pi?S-=s9:o>Math.pi&&(S+=s9),this.lam0=Wo(.5*(w+S)-Math.atan(v*Math.tan(.5*this.B*(w-S))/I)/this.B),Q=Math.atan(2*Math.sin(this.B*Wo(w-this.lam0))/(C-1/C)),B=P=Math.asin(m*Math.sin(Q))),this.singam=Math.sin(Q),this.cosgam=Math.cos(Q),this.sinrot=Math.sin(B),this.cosrot=Math.cos(B),this.rB=1/this.B,this.ArB=this.A*this.rB,this.BrA=1/this.ArB,M=this.A*this.B,this.no_off?this.u_0=0:(this.u_0=Math.abs(this.ArB*Math.atan(Math.sqrt(m*m-1)/Math.cos(P))),this.lat0<0&&(this.u_0=-this.u_0)),C=.5*Q,this.v_pole_n=this.ArB*Math.log(Math.tan(KA-C)),this.v_pole_s=this.ArB*Math.log(Math.tan(KA+C))}function RSt(o){var A={},f,m,C,E,x,y,I,v;if(o.x=o.x-this.lam0,Math.abs(Math.abs(o.y)-Fn)>Io){if(x=this.E/Math.pow(jB(this.e,o.y,Math.sin(o.y)),this.B),y=1/x,f=.5*(x-y),m=.5*(x+y),E=Math.sin(this.B*o.x),C=(f*this.singam-E*this.cosgam)/m,Math.abs(Math.abs(C)-1)0?this.v_pole_n:this.v_pole_s,I=this.ArB*o.y;return this.no_rot?(A.x=I,A.y=v):(I-=this.u_0,A.x=v*this.cosrot+I*this.sinrot,A.y=I*this.cosrot-v*this.sinrot),A.x=this.a*A.x+this.x0,A.y=this.a*A.y+this.y0,A}function LSt(o){var A,f,m,C,E,x,y,I={};if(o.x=(o.x-this.x0)*(1/this.a),o.y=(o.y-this.y0)*(1/this.a),this.no_rot?(f=o.y,A=o.x):(f=o.x*this.cosrot-o.y*this.sinrot,A=o.y*this.cosrot+o.x*this.sinrot+this.u_0),m=Math.exp(-this.BrA*f),C=.5*(m-1/m),E=.5*(m+1/m),x=Math.sin(this.BrA*A),y=(x*this.cosgam+C*this.singam)/E,Math.abs(Math.abs(y)-1)Io?this.ns=Math.log(m/y)/Math.log(C/I):this.ns=A,isNaN(this.ns)&&(this.ns=A),this.f0=m/(this.ns*Math.pow(C,this.ns)),this.rh=this.a*this.f0*Math.pow(v,this.ns),this.title||(this.title="Lambert Conformal Conic")}}function OSt(o){var A=o.x,f=o.y;Math.abs(2*Math.abs(f)-Math.PI)<=Io&&(f=Gz(f)*(Fn-2*Io));var m=Math.abs(Math.abs(f)-Fn),C,E;if(m>Io)C=jB(this.e,f,Math.sin(f)),E=this.a*this.f0*Math.pow(C,this.ns);else{if(m=f*this.ns,m<=0)return null;E=0}var x=this.ns*Wo(A-this.long0);return o.x=this.k0*(E*Math.sin(x))+this.x0,o.y=this.k0*(this.rh-E*Math.cos(x))+this.y0,o}function USt(o){var A,f,m,C,E,x=(o.x-this.x0)/this.k0,y=this.rh-(o.y-this.y0)/this.k0;this.ns>0?(A=Math.sqrt(x*x+y*y),f=1):(A=-Math.sqrt(x*x+y*y),f=-1);var I=0;if(A!==0&&(I=Math.atan2(f*x,f*y)),A!==0||this.ns>0){if(f=1/this.ns,m=Math.pow(A/(this.a*this.f0),f),C=u9(this.e,m),C===-9999)return null}else C=-Fn;return E=Wo(I/this.ns+this.long0),o.x=E,o.y=C,o}var GSt=["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_1SP","Lambert_Conformal_Conic_2SP","lcc","Lambert Conic Conformal (1SP)","Lambert Conic Conformal (2SP)"],HSt={init:kSt,forward:OSt,inverse:USt,names:GSt};function VSt(){this.a=6377397155e-3,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.7417649320975901-.308341501185665),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq}function zSt(o){var A,f,m,C,E,x,y,I=o.x,v=o.y,B=Wo(I-this.long0);return A=Math.pow((1+this.e*Math.sin(v))/(1-this.e*Math.sin(v)),this.alfa*this.e/2),f=2*(Math.atan(this.k*Math.pow(Math.tan(v/2+this.s45),this.alfa)/A)-this.s45),m=-B*this.alfa,C=Math.asin(Math.cos(this.ad)*Math.sin(f)+Math.sin(this.ad)*Math.cos(f)*Math.cos(m)),E=Math.asin(Math.cos(f)*Math.sin(m)/Math.cos(C)),x=this.n*E,y=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(C/2+this.s45),this.n),o.y=y*Math.cos(x)/1,o.x=y*Math.sin(x)/1,this.czech||(o.y*=-1,o.x*=-1),o}function YSt(o){var A,f,m,C,E,x,y,I,v=o.x;o.x=o.y,o.y=v,this.czech||(o.y*=-1,o.x*=-1),x=Math.sqrt(o.x*o.x+o.y*o.y),E=Math.atan2(o.y,o.x),C=E/Math.sin(this.s0),m=2*(Math.atan(Math.pow(this.ro0/x,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),A=Math.asin(Math.cos(this.ad)*Math.sin(m)-Math.sin(this.ad)*Math.cos(m)*Math.cos(C)),f=Math.asin(Math.cos(m)*Math.sin(C)/Math.cos(A)),o.x=this.long0-f/this.alfa,y=A,I=0;var B=0;do o.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(A/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(y))/(1-this.e*Math.sin(y)),this.e/2))-this.s45),Math.abs(y-o.y)<1e-10&&(I=1),y=o.y,B+=1;while(I===0&&B<15);return B>=15?null:o}var JSt=["Krovak","krovak"],KSt={init:VSt,forward:zSt,inverse:YSt,names:JSt};function lE(o,A,f,m,C){return o*C-A*Math.sin(2*C)+f*Math.sin(4*C)-m*Math.sin(6*C)}function Hz(o){return 1-.25*o*(1+o/16*(3+1.25*o))}function Vz(o){return .375*o*(1+.25*o*(1+.46875*o))}function zz(o){return .05859375*o*o*(1+.75*o)}function Yz(o){return o*o*o*(35/3072)}function e4(o,A,f){var m=A*f;return o/Math.sqrt(1-m*m)}function nG(o){return Math.abs(o)1e-7?(f=o*A,(1-o*o)*(A/(1-f*f)-.5/o*Math.log((1-f)/(1+f)))):2*A}var $St=1,eDt=2,tDt=3,iDt=4;function rDt(){var o=Math.abs(this.lat0);if(Math.abs(o-Fn)0){var A;switch(this.qp=j2(this.e,1),this.mmf=.5/(1-this.es),this.apa=hDt(this.es),this.mode){case this.N_POLE:this.dd=1;break;case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),A=Math.sin(this.lat0),this.sinb1=j2(this.e,A)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*A*A)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd;break}}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))}function nDt(o){var A,f,m,C,E,x,y,I,v,B,Q=o.x,T=o.y;if(Q=Wo(Q-this.long0),this.sphere){if(E=Math.sin(T),B=Math.cos(T),m=Math.cos(Q),this.mode===this.OBLIQ||this.mode===this.EQUIT){if(f=this.mode===this.EQUIT?1+B*m:1+this.sinph0*E+this.cosph0*B*m,f<=Io)return null;f=Math.sqrt(2/f),A=f*B*Math.sin(Q),f*=this.mode===this.EQUIT?E:this.cosph0*E-this.sinph0*B*m}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(m=-m),Math.abs(T+this.lat0)=0?(A=(v=Math.sqrt(x))*C,f=m*(this.mode===this.S_POLE?v:-v)):A=f=0;break}}return o.x=this.a*A+this.x0,o.y=this.a*f+this.y0,o}function oDt(o){o.x-=this.x0,o.y-=this.y0;var A=o.x/this.a,f=o.y/this.a,m,C,E,x,y,I,v;if(this.sphere){var B=0,Q,T=0;if(Q=Math.sqrt(A*A+f*f),C=Q*.5,C>1)return null;switch(C=2*Math.asin(C),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(T=Math.sin(C),B=Math.cos(C)),this.mode){case this.EQUIT:C=Math.abs(Q)<=Io?0:Math.asin(f*T/Q),A*=T,f=B*Q;break;case this.OBLIQ:C=Math.abs(Q)<=Io?this.lat0:Math.asin(B*this.sinph0+f*T*this.cosph0/Q),A*=T*this.cosph0,f=(B-Math.sin(C)*this.sinph0)*Q;break;case this.N_POLE:f=-f,C=Fn-C;break;case this.S_POLE:C-=Fn;break}m=f===0&&(this.mode===this.EQUIT||this.mode===this.OBLIQ)?0:Math.atan2(A,f)}else{if(v=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(A/=this.dd,f*=this.dd,I=Math.sqrt(A*A+f*f),I1&&(o=o>1?1:-1),Math.asin(o)}function pDt(){Math.abs(this.lat1+this.lat2)Io?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)}function mDt(o){var A=o.x,f=o.y;this.sin_phi=Math.sin(f),this.cos_phi=Math.cos(f);var m=j2(this.e3,this.sin_phi),C=this.a*Math.sqrt(this.c-this.ns0*m)/this.ns0,E=this.ns0*Wo(A-this.long0),x=C*Math.sin(E)+this.x0,y=this.rh-C*Math.cos(E)+this.y0;return o.x=x,o.y=y,o}function CDt(o){var A,f,m,C,E,x;return o.x-=this.x0,o.y=this.rh-o.y+this.y0,this.ns0>=0?(A=Math.sqrt(o.x*o.x+o.y*o.y),m=1):(A=-Math.sqrt(o.x*o.x+o.y*o.y),m=-1),C=0,A!==0&&(C=Math.atan2(m*o.x,m*o.y)),m=A*this.ns0/this.a,this.sphere?x=Math.asin((this.c-m*m)/(2*this.ns0)):(f=(this.c-m*m)/this.ns0,x=this.phi1z(this.e3,f)),E=Wo(C/this.ns0+this.long0),o.x=E,o.y=x,o}function EDt(o,A){var f,m,C,E,x,y=xP(.5*A);if(o0||Math.abs(x)<=Io?(y=this.x0+this.a*E*f*Math.sin(m)/x,I=this.y0+this.a*E*(this.cos_p14*A-this.sin_p14*f*C)/x):(y=this.x0+this.infinity_dist*f*Math.sin(m),I=this.y0+this.infinity_dist*(this.cos_p14*A-this.sin_p14*f*C)),o.x=y,o.y=I,o}function vDt(o){var A,f,m,C,E,x;return o.x=(o.x-this.x0)/this.a,o.y=(o.y-this.y0)/this.a,o.x/=this.k0,o.y/=this.k0,(A=Math.sqrt(o.x*o.x+o.y*o.y))?(C=Math.atan2(A,this.rc),f=Math.sin(C),m=Math.cos(C),x=xP(m*this.sin_p14+o.y*f*this.cos_p14/A),E=Math.atan2(o.x*f,A*this.cos_p14*m-o.y*this.sin_p14*f),E=Wo(this.long0+E)):(x=this.phic0,E=0),o.x=E,o.y=x,o}var BDt=["gnom"],wDt={init:IDt,forward:_Dt,inverse:vDt,names:BDt};function bDt(o,A){var f=1-(1-o*o)/(2*o)*Math.log((1-o)/(1+o));if(Math.abs(Math.abs(A)-f)<1e-6)return A<0?-1*Fn:Fn;for(var m=Math.asin(.5*A),C,E,x,y,I=0;I<30;I++)if(E=Math.sin(m),x=Math.cos(m),y=o*E,C=Math.pow(1-y*y,2)/(2*x)*(A/(1-o*o)-E/(1-y*y)+.5/o*Math.log((1-y)/(1+y))),m+=C,Math.abs(C)<=1e-10)return m;return NaN}function QDt(){this.sphere||(this.k0=wb(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))}function SDt(o){var A=o.x,f=o.y,m,C,E=Wo(A-this.long0);if(this.sphere)m=this.x0+this.a*E*Math.cos(this.lat_ts),C=this.y0+this.a*Math.sin(f)/Math.cos(this.lat_ts);else{var x=j2(this.e,Math.sin(f));m=this.x0+this.a*this.k0*E,C=this.y0+this.a*x*.5/this.k0}return o.x=m,o.y=C,o}function DDt(o){o.x-=this.x0,o.y-=this.y0;var A,f;return this.sphere?(A=Wo(this.long0+o.x/this.a/Math.cos(this.lat_ts)),f=Math.asin(o.y/this.a*Math.cos(this.lat_ts))):(f=bDt(this.e,2*o.y*this.k0/this.a),A=Wo(this.long0+o.x/(this.a*this.k0))),o.x=A,o.y=f,o}var TDt=["cea"],MDt={init:QDt,forward:SDt,inverse:DDt,names:TDt};function PDt(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts)}function RDt(o){var A=o.x,f=o.y,m=Wo(A-this.long0),C=nG(f-this.lat0);return o.x=this.x0+this.a*m*this.rc,o.y=this.y0+this.a*C,o}function LDt(o){var A=o.x,f=o.y;return o.x=Wo(this.long0+(A-this.x0)/(this.a*this.rc)),o.y=nG(this.lat0+(f-this.y0)/this.a),o}var FDt=["Equirectangular","Equidistant_Cylindrical","eqc"],NDt={init:PDt,forward:RDt,inverse:LDt,names:FDt},gFe=20;function kDt(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=Hz(this.es),this.e1=Vz(this.es),this.e2=zz(this.es),this.e3=Yz(this.es),this.ml0=this.a*lE(this.e0,this.e1,this.e2,this.e3,this.lat0)}function ODt(o){var A=o.x,f=o.y,m,C,E,x=Wo(A-this.long0);if(E=x*Math.sin(f),this.sphere)Math.abs(f)<=Io?(m=this.a*x,C=-1*this.a*this.lat0):(m=this.a*Math.sin(E)/Math.tan(f),C=this.a*(nG(f-this.lat0)+(1-Math.cos(E))/Math.tan(f)));else if(Math.abs(f)<=Io)m=this.a*x,C=-1*this.ml0;else{var y=e4(this.a,this.e,Math.sin(f))/Math.tan(f);m=y*Math.sin(E),C=this.a*lE(this.e0,this.e1,this.e2,this.e3,f)-this.ml0+y*(1-Math.cos(E))}return o.x=m+this.x0,o.y=C+this.y0,o}function UDt(o){var A,f,m,C,E,x,y,I,v;if(m=o.x-this.x0,C=o.y-this.y0,this.sphere)if(Math.abs(C+this.a*this.lat0)<=Io)A=Wo(m/this.a+this.long0),f=0;else{x=this.lat0+C/this.a,y=m*m/this.a/this.a+x*x,I=x;var B;for(E=gFe;E;--E)if(B=Math.tan(I),v=-1*(x*(I*B+1)-I-.5*(I*I+y)*B)/((I-x)/B-1),I+=v,Math.abs(v)<=Io){f=I;break}A=Wo(this.long0+Math.asin(m*Math.tan(I)/this.a)/Math.sin(f))}else if(Math.abs(C+this.ml0)<=Io)f=0,A=Wo(this.long0+m/this.a);else{x=(this.ml0+C)/this.a,y=m*m/this.a/this.a+x*x,I=x;var Q,T,w,S,D;for(E=gFe;E;--E)if(D=this.e*Math.sin(I),Q=Math.sqrt(1-D*D)*Math.tan(I),T=this.a*lE(this.e0,this.e1,this.e2,this.e3,I),w=this.e0-2*this.e1*Math.cos(2*I)+4*this.e2*Math.cos(4*I)-6*this.e3*Math.cos(6*I),S=T/this.a,v=(x*(Q*S+1)-S-.5*Q*(S*S+y))/(this.es*Math.sin(2*I)*(S*S+y-2*x*S)/(4*Q)+(x-S)*(Q*w-2/Math.sin(2*I))-w),I-=v,Math.abs(v)<=Io){f=I;break}Q=Math.sqrt(1-this.es*Math.pow(Math.sin(f),2))*Math.tan(f),A=Wo(this.long0+Math.asin(m*Q/this.a)/Math.sin(f))}return o.x=A,o.y=f,o}var GDt=["Polyconic","poly"],HDt={init:kDt,forward:ODt,inverse:UDt,names:GDt};function VDt(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013}function zDt(o){var A,f=o.x,m=o.y,C=m-this.lat0,E=f-this.long0,x=C/I7*1e-5,y=E,I=1,v=0;for(A=1;A<=10;A++)I=I*x,v=v+this.A[A]*I;var B=v,Q=y,T=1,w=0,S,D,R=0,P=0;for(A=1;A<=6;A++)S=T*B-w*Q,D=w*B+T*Q,T=S,w=D,R=R+this.B_re[A]*T-this.B_im[A]*w,P=P+this.B_im[A]*T+this.B_re[A]*w;return o.x=P*this.a+this.x0,o.y=R*this.a+this.y0,o}function YDt(o){var A,f=o.x,m=o.y,C=f-this.x0,E=m-this.y0,x=E/this.a,y=C/this.a,I=1,v=0,B,Q,T=0,w=0;for(A=1;A<=6;A++)B=I*x-v*y,Q=v*x+I*y,I=B,v=Q,T=T+this.C_re[A]*I-this.C_im[A]*v,w=w+this.C_im[A]*I+this.C_re[A]*v;for(var S=0;S.999999999999&&(f=.999999999999),A=Math.asin(f);var m=Wo(this.long0+o.x/(.900316316158*this.a*Math.cos(A)));m<-Math.PI&&(m=-Math.PI),m>Math.PI&&(m=Math.PI),f=(2*A+Math.sin(2*A))/Math.PI,Math.abs(f)>1&&(f=1);var C=Math.asin(f);return o.x=m,o.y=C,o}var lTt=["Mollweide","moll"],uTt={init:oTt,forward:aTt,inverse:sTt,names:lTt};function ATt(){Math.abs(this.lat1+this.lat2)=0?(f=Math.sqrt(o.x*o.x+o.y*o.y),A=1):(f=-Math.sqrt(o.x*o.x+o.y*o.y),A=-1);var E=0;if(f!==0&&(E=Math.atan2(A*o.x,A*o.y)),this.sphere)return C=Wo(this.long0+E/this.ns),m=nG(this.g-f/this.a),o.x=C,o.y=m,o;var x=this.g-f/this.a;return m=c$(x,this.e0,this.e1,this.e2,this.e3),C=Wo(this.long0+E/this.ns),o.x=C,o.y=m,o}var dTt=["Equidistant_Conic","eqdc"],fTt={init:ATt,forward:cTt,inverse:hTt,names:dTt};function gTt(){this.R=this.a}function pTt(o){var A=o.x,f=o.y,m=Wo(A-this.long0),C,E;Math.abs(f)<=Io&&(C=this.x0+this.R*m,E=this.y0);var x=xP(2*Math.abs(f/Math.PI));(Math.abs(m)<=Io||Math.abs(Math.abs(f)-Fn)<=Io)&&(C=this.x0,f>=0?E=this.y0+Math.PI*this.R*Math.tan(.5*x):E=this.y0+Math.PI*this.R*-Math.tan(.5*x));var y=.5*Math.abs(Math.PI/m-m/Math.PI),I=y*y,v=Math.sin(x),B=Math.cos(x),Q=B/(v+B-1),T=Q*Q,w=Q*(2/v-1),S=w*w,D=Math.PI*this.R*(y*(Q-S)+Math.sqrt(I*(Q-S)*(Q-S)-(S+I)*(T-S)))/(S+I);m<0&&(D=-D),C=this.x0+D;var R=I+Q;return D=Math.PI*this.R*(w*R-y*Math.sqrt((S+I)*(I+1)-R*R))/(S+I),f>=0?E=this.y0+D:E=this.y0-D,o.x=C,o.y=E,o}function mTt(o){var A,f,m,C,E,x,y,I,v,B,Q,T,w;return o.x-=this.x0,o.y-=this.y0,Q=Math.PI*this.R,m=o.x/Q,C=o.y/Q,E=m*m+C*C,x=-Math.abs(C)*(1+E),y=x-2*C*C+m*m,I=-2*x+1+2*C*C+E*E,w=C*C/I+(2*y*y*y/I/I/I-9*x*y/I/I)/27,v=(x-y*y/3/I)/I,B=2*Math.sqrt(-v/3),Q=3*w/v/B,Math.abs(Q)>1&&(Q>=0?Q=1:Q=-1),T=Math.acos(Q)/3,o.y>=0?f=(-B*Math.cos(T+Math.PI/3)-y/3/I)*Math.PI:f=-(-B*Math.cos(T+Math.PI/3)-y/3/I)*Math.PI,Math.abs(m)2*Fn*this.a?void 0:(f=A/this.a,m=Math.sin(f),C=Math.cos(f),E=this.long0,Math.abs(A)<=Io?x=this.lat0:(x=xP(C*this.sin_p12+o.y*m*this.cos_p12/A),y=Math.abs(this.lat0)-Fn,Math.abs(y)<=Io?this.lat0>=0?E=Wo(this.long0+Math.atan2(o.x,-o.y)):E=Wo(this.long0-Math.atan2(-o.x,o.y)):E=Wo(this.long0+Math.atan2(o.x*m,A*this.cos_p12*C-o.y*this.sin_p12*m))),o.x=E,o.y=x,o)):(I=Hz(this.es),v=Vz(this.es),B=zz(this.es),Q=Yz(this.es),Math.abs(this.sin_p12-1)<=Io?(T=this.a*lE(I,v,B,Q,Fn),A=Math.sqrt(o.x*o.x+o.y*o.y),w=T-A,x=c$(w/this.a,I,v,B,Q),E=Wo(this.long0+Math.atan2(o.x,-1*o.y)),o.x=E,o.y=x,o):Math.abs(this.sin_p12+1)<=Io?(T=this.a*lE(I,v,B,Q,Fn),A=Math.sqrt(o.x*o.x+o.y*o.y),w=A-T,x=c$(w/this.a,I,v,B,Q),E=Wo(this.long0+Math.atan2(o.x,o.y)),o.x=E,o.y=x,o):(A=Math.sqrt(o.x*o.x+o.y*o.y),R=Math.atan2(o.x,o.y),S=e4(this.a,this.e,this.sin_p12),P=Math.cos(R),M=this.e*this.cos_p12*P,L=-M*M/(1-this.es),F=3*this.es*(1-L)*this.sin_p12*this.cos_p12*P/(1-this.es),k=A/S,N=k-L*(1+L)*Math.pow(k,3)/6-F*(1+3*L)*Math.pow(k,4)/24,G=1-L*N*N/2-k*N*N*N/6,D=Math.asin(this.sin_p12*Math.cos(N)+this.cos_p12*Math.sin(N)*P),E=Wo(this.long0+Math.asin(Math.sin(R)*Math.sin(N)/Math.cos(D))),J=Math.sin(D),x=Math.atan2((J-this.es*G*this.sin_p12)*Math.tan(D),J*(1-this.es)),o.x=E,o.y=x,o))}var _Tt=["Azimuthal_Equidistant","aeqd"],vTt={init:xTt,forward:yTt,inverse:ITt,names:_Tt};function BTt(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0)}function wTt(o){var A,f,m,C,E,x,y,I,v=o.x,B=o.y;return m=Wo(v-this.long0),A=Math.sin(B),f=Math.cos(B),C=Math.cos(m),x=this.sin_p14*A+this.cos_p14*f*C,E=1,(x>0||Math.abs(x)<=Io)&&(y=this.a*E*f*Math.sin(m),I=this.y0+this.a*E*(this.cos_p14*A-this.sin_p14*f*C)),o.x=y,o.y=I,o}function bTt(o){var A,f,m,C,E,x,y;return o.x-=this.x0,o.y-=this.y0,A=Math.sqrt(o.x*o.x+o.y*o.y),f=xP(A/this.a),m=Math.sin(f),C=Math.cos(f),x=this.long0,Math.abs(A)<=Io?(y=this.lat0,o.x=x,o.y=y,o):(y=xP(C*this.sin_p14+o.y*m*this.cos_p14/A),E=Math.abs(this.lat0)-Fn,Math.abs(E)<=Io?(this.lat0>=0?x=Wo(this.long0+Math.atan2(o.x,-o.y)):x=Wo(this.long0-Math.atan2(-o.x,o.y)),o.x=x,o.y=y,o):(x=Wo(this.long0+Math.atan2(o.x*m,A*this.cos_p14*C-o.y*this.sin_p14*m)),o.x=x,o.y=y,o))}var QTt=["ortho"],STt={init:BTt,forward:wTt,inverse:bTt,names:QTt},Od={FRONT:1,RIGHT:2,BACK:3,LEFT:4,TOP:5,BOTTOM:6},WA={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};function DTt(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Quadrilateralized Spherical Cube",this.lat0>=Fn-KA/2?this.face=Od.TOP:this.lat0<=-(Fn-KA/2)?this.face=Od.BOTTOM:Math.abs(this.long0)<=KA?this.face=Od.FRONT:Math.abs(this.long0)<=Fn+KA?this.face=this.long0>0?Od.RIGHT:Od.LEFT:this.face=Od.BACK,this.es!==0&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f)}function TTt(o){var A={x:0,y:0},f,m,C,E,x,y,I={value:0};if(o.x-=this.long0,this.es!==0?f=Math.atan(this.one_minus_f_squared*Math.tan(o.y)):f=o.y,m=o.x,this.face===Od.TOP)E=Fn-f,m>=KA&&m<=Fn+KA?(I.value=WA.AREA_0,C=m-Fn):m>Fn+KA||m<=-(Fn+KA)?(I.value=WA.AREA_1,C=m>0?m-zf:m+zf):m>-(Fn+KA)&&m<=-KA?(I.value=WA.AREA_2,C=m+Fn):(I.value=WA.AREA_3,C=m);else if(this.face===Od.BOTTOM)E=Fn+f,m>=KA&&m<=Fn+KA?(I.value=WA.AREA_0,C=-m+Fn):m=-KA?(I.value=WA.AREA_1,C=-m):m<-KA&&m>=-(Fn+KA)?(I.value=WA.AREA_2,C=-m-Fn):(I.value=WA.AREA_3,C=m>0?-m+zf:-m-zf);else{var v,B,Q,T,w,S,D;this.face===Od.RIGHT?m=I5(m,+Fn):this.face===Od.BACK?m=I5(m,+zf):this.face===Od.LEFT&&(m=I5(m,-Fn)),T=Math.sin(f),w=Math.cos(f),S=Math.sin(m),D=Math.cos(m),v=w*D,B=w*S,Q=T,this.face===Od.FRONT?(E=Math.acos(v),C=Xj(E,Q,B,I)):this.face===Od.RIGHT?(E=Math.acos(B),C=Xj(E,Q,-v,I)):this.face===Od.BACK?(E=Math.acos(-v),C=Xj(E,Q,-B,I)):this.face===Od.LEFT?(E=Math.acos(-B),C=Xj(E,Q,v,I)):(E=C=0,I.value=WA.AREA_0)}return y=Math.atan(12/zf*(C+Math.acos(Math.sin(C)*Math.cos(KA))-Fn)),x=Math.sqrt((1-Math.cos(E))/(Math.cos(y)*Math.cos(y))/(1-Math.cos(Math.atan(1/Math.cos(C))))),I.value===WA.AREA_1?y+=Fn:I.value===WA.AREA_2?y+=zf:I.value===WA.AREA_3&&(y+=1.5*zf),A.x=x*Math.cos(y),A.y=x*Math.sin(y),A.x=A.x*this.a+this.x0,A.y=A.y*this.a+this.y0,o.x=A.x,o.y=A.y,o}function MTt(o){var A={lam:0,phi:0},f,m,C,E,x,y,I,v,B,Q={value:0};if(o.x=(o.x-this.x0)/this.a,o.y=(o.y-this.y0)/this.a,m=Math.atan(Math.sqrt(o.x*o.x+o.y*o.y)),f=Math.atan2(o.y,o.x),o.x>=0&&o.x>=Math.abs(o.y)?Q.value=WA.AREA_0:o.y>=0&&o.y>=Math.abs(o.x)?(Q.value=WA.AREA_1,f-=Fn):o.x<0&&-o.x>=Math.abs(o.y)?(Q.value=WA.AREA_2,f=f<0?f+zf:f-zf):(Q.value=WA.AREA_3,f+=Fn),B=zf/12*Math.tan(f),x=Math.sin(B)/(Math.cos(B)-1/Math.sqrt(2)),y=Math.atan(x),C=Math.cos(f),E=Math.tan(m),I=1-C*C*E*E*(1-Math.cos(Math.atan(1/Math.cos(y)))),I<-1?I=-1:I>1&&(I=1),this.face===Od.TOP)v=Math.acos(I),A.phi=Fn-v,Q.value===WA.AREA_0?A.lam=y+Fn:Q.value===WA.AREA_1?A.lam=y<0?y+zf:y-zf:Q.value===WA.AREA_2?A.lam=y-Fn:A.lam=y;else if(this.face===Od.BOTTOM)v=Math.acos(I),A.phi=v-Fn,Q.value===WA.AREA_0?A.lam=-y+Fn:Q.value===WA.AREA_1?A.lam=-y:Q.value===WA.AREA_2?A.lam=-y-Fn:A.lam=y<0?-y-zf:-y+zf;else{var T,w,S;T=I,B=T*T,B>=1?S=0:S=Math.sqrt(1-B)*Math.sin(y),B+=S*S,B>=1?w=0:w=Math.sqrt(1-B),Q.value===WA.AREA_1?(B=w,w=-S,S=B):Q.value===WA.AREA_2?(w=-w,S=-S):Q.value===WA.AREA_3&&(B=w,w=S,S=-B),this.face===Od.RIGHT?(B=T,T=-w,w=B):this.face===Od.BACK?(T=-T,w=-w):this.face===Od.LEFT&&(B=T,T=w,w=-B),A.phi=Math.acos(-S)-Fn,A.lam=Math.atan2(w,T),this.face===Od.RIGHT?A.lam=I5(A.lam,-Fn):this.face===Od.BACK?A.lam=I5(A.lam,-zf):this.face===Od.LEFT&&(A.lam=I5(A.lam,+Fn))}if(this.es!==0){var D,R,P;D=A.phi<0?1:0,R=Math.tan(A.phi),P=this.b/Math.sqrt(R*R+this.one_minus_f_squared),A.phi=Math.atan(Math.sqrt(this.a*this.a-P*P)/(this.one_minus_f*P)),D&&(A.phi=-A.phi)}return A.lam+=this.long0,o.x=A.lam,o.y=A.phi,o}function Xj(o,A,f,m){var C;return oKA&&C<=Fn+KA?(m.value=WA.AREA_1,C-=Fn):C>Fn+KA||C<=-(Fn+KA)?(m.value=WA.AREA_2,C=C>=0?C-zf:C+zf):(m.value=WA.AREA_3,C+=Fn)),C}function I5(o,A){var f=o+A;return f<-zf?f+=s9:f>+zf&&(f-=s9),f}var PTt=["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"],RTt={init:DTt,forward:TTt,inverse:MTt,names:PTt},lfe=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-986701e-12],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,18736e-12],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,934959e-12],[.7986,-.00755338,-500009e-10,935324e-12],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],jV=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-126793e-14,422642e-15],[.124,.0124,507171e-14,-160604e-14],[.186,.0123999,-190189e-13,600152e-14],[.248,.0124002,710039e-13,-224e-10],[.31,.0123992,-264997e-12,835986e-13],[.372,.0124029,988983e-12,-311994e-12],[.434,.0123893,-369093e-11,-435621e-12],[.4958,.0123198,-102252e-10,-345523e-12],[.5571,.0121916,-154081e-10,-582288e-12],[.6176,.0119938,-241424e-10,-525327e-12],[.6769,.011713,-320223e-10,-516405e-12],[.7346,.0113541,-397684e-10,-609052e-12],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-140374e-14],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],eze=.8487,tze=1.3523,ize=Ab/5,LTt=1/ize,s5=18,h$=function(o,A){return o[0]+A*(o[1]+A*(o[2]+A*o[3]))},FTt=function(o,A){return o[1]+A*(2*o[2]+A*3*o[3])};function NTt(o,A,f,m){for(var C=A;m;--m){var E=o(C);if(C-=E,Math.abs(E)=s5&&(m=s5-1),f=Ab*(f-LTt*m);var C={x:h$(lfe[m],f)*A,y:h$(jV[m],f)};return o.y<0&&(C.y=-C.y),C.x=C.x*this.a*eze+this.x0,C.y=C.y*this.a*tze+this.y0,C}function UTt(o){var A={x:(o.x-this.x0)/(this.a*eze),y:Math.abs(o.y-this.y0)/(this.a*tze)};if(A.y>=1)A.x/=lfe[s5][0],A.y=o.y<0?-Fn:Fn;else{var f=Math.floor(A.y*s5);for(f<0?f=0:f>=s5&&(f=s5-1);;)if(jV[f][0]>A.y)--f;else if(jV[f+1][0]<=A.y)++f;else break;var m=jV[f],C=5*(A.y-m[0])/(jV[f+1][0]-m[0]);C=NTt(function(E){return(h$(m,E)-A.y)/FTt(m,E)},C,Io,100),A.x/=h$(lfe[f],C),A.y=(5*f+C)*Yp,o.y<0&&(A.y=-A.y)}return A.x=Wo(A.x+this.long0),A}var GTt=["Robinson","robin"],HTt={init:kTt,forward:OTt,inverse:UTt,names:GTt};function VTt(){this.name="geocent"}function zTt(o){var A=G9e(o,this.es,this.a);return A}function YTt(o){var A=H9e(o,this.es,this.a,this.b);return A}var JTt=["Geocentric","geocentric","geocent","Geocent"],KTt={init:VTt,forward:zTt,inverse:YTt,names:JTt},jm={N_POLE:0,S_POLE:1,EQUIT:2,OBLIQ:3},Z6={h:{def:1e5,num:!0},azi:{def:0,num:!0,degrees:!0},tilt:{def:0,num:!0,degrees:!0},long0:{def:0,num:!0},lat0:{def:0,num:!0}};function WTt(){if(Object.keys(Z6).forEach(function(f){if(typeof this[f]>"u")this[f]=Z6[f].def;else{if(Z6[f].num&&isNaN(this[f]))throw new Error("Invalid parameter value, must be numeric "+f+" = "+this[f]);Z6[f].num&&(this[f]=parseFloat(this[f]))}Z6[f].degrees&&(this[f]=this[f]*Yp)}.bind(this)),Math.abs(Math.abs(this.lat0)-Fn)1e10)throw new Error("Invalid height");this.p=1+this.pn1,this.rp=1/this.p,this.h1=1/this.pn1,this.pfact=(this.p+1)*this.h1,this.es=0;var o=this.tilt,A=this.azi;this.cg=Math.cos(A),this.sg=Math.sin(A),this.cw=Math.cos(o),this.sw=Math.sin(o)}function jTt(o){o.x-=this.long0;var A=Math.sin(o.y),f=Math.cos(o.y),m=Math.cos(o.x),C,E;switch(this.mode){case jm.OBLIQ:E=this.sinph0*A+this.cosph0*f*m;break;case jm.EQUIT:E=f*m;break;case jm.S_POLE:E=-A;break;case jm.N_POLE:E=A;break}switch(E=this.pn1/(this.p-E),C=E*f*Math.sin(o.x),this.mode){case jm.OBLIQ:E*=this.cosph0*A-this.sinph0*f*m;break;case jm.EQUIT:E*=A;break;case jm.N_POLE:E*=-(f*m);break;case jm.S_POLE:E*=f*m;break}var x,y;return x=E*this.cg+C*this.sg,y=1/(x*this.sw*this.h1+this.cw),C=(C*this.cg-E*this.sg)*this.cw*y,E=x*y,o.x=C*this.a,o.y=E*this.a,o}function qTt(o){o.x/=this.a,o.y/=this.a;var A={x:o.x,y:o.y},f,m,C;C=1/(this.pn1-o.y*this.sw),f=this.pn1*o.x*C,m=this.pn1*o.y*this.cw*C,o.x=f*this.cg+m*this.sg,o.y=m*this.cg-f*this.sg;var E=KB(o.x,o.y);if(Math.abs(E)1e10)throw new Error;if(this.radius_g=1+this.radius_g_1,this.C=this.radius_g*this.radius_g-1,this.es!==0){var o=1-this.es,A=1/o;this.radius_p=Math.sqrt(o),this.radius_p2=o,this.radius_p_inv2=A,this.shape="ellipse"}else this.radius_p=1,this.radius_p2=1,this.radius_p_inv2=1,this.shape="sphere";this.title||(this.title="Geostationary Satellite View")}function eMt(o){var A=o.x,f=o.y,m,C,E,x;if(A=A-this.long0,this.shape==="ellipse"){f=Math.atan(this.radius_p2*Math.tan(f));var y=this.radius_p/KB(this.radius_p*Math.cos(f),Math.sin(f));if(C=y*Math.cos(A)*Math.cos(f),E=y*Math.sin(A)*Math.cos(f),x=y*Math.sin(f),(this.radius_g-C)*C-E*E-x*x*this.radius_p_inv2<0)return o.x=Number.NaN,o.y=Number.NaN,o;m=this.radius_g-C,this.flip_axis?(o.x=this.radius_g_1*Math.atan(E/KB(x,m)),o.y=this.radius_g_1*Math.atan(x/m)):(o.x=this.radius_g_1*Math.atan(E/m),o.y=this.radius_g_1*Math.atan(x/KB(E,m)))}else this.shape==="sphere"&&(m=Math.cos(f),C=Math.cos(A)*m,E=Math.sin(A)*m,x=Math.sin(f),m=this.radius_g-C,this.flip_axis?(o.x=this.radius_g_1*Math.atan(E/KB(x,m)),o.y=this.radius_g_1*Math.atan(x/m)):(o.x=this.radius_g_1*Math.atan(E/m),o.y=this.radius_g_1*Math.atan(x/KB(E,m))));return o.x=o.x*this.a,o.y=o.y*this.a,o}function tMt(o){var A=-1,f=0,m=0,C,E,x,y;if(o.x=o.x/this.a,o.y=o.y/this.a,this.shape==="ellipse"){this.flip_axis?(m=Math.tan(o.y/this.radius_g_1),f=Math.tan(o.x/this.radius_g_1)*KB(1,m)):(f=Math.tan(o.x/this.radius_g_1),m=Math.tan(o.y/this.radius_g_1)*KB(1,f));var I=m/this.radius_p;if(C=f*f+I*I+A*A,E=2*this.radius_g*A,x=E*E-4*C*this.C,x<0)return o.x=Number.NaN,o.y=Number.NaN,o;y=(-E-Math.sqrt(x))/(2*C),A=this.radius_g+y*A,f*=y,m*=y,o.x=Math.atan2(f,A),o.y=Math.atan(m*Math.cos(o.x)/A),o.y=Math.atan(this.radius_p_inv2*Math.tan(o.y))}else if(this.shape==="sphere"){if(this.flip_axis?(m=Math.tan(o.y/this.radius_g_1),f=Math.tan(o.x/this.radius_g_1)*Math.sqrt(1+m*m)):(f=Math.tan(o.x/this.radius_g_1),m=Math.tan(o.y/this.radius_g_1)*Math.sqrt(1+f*f)),C=f*f+m*m+A*A,E=2*this.radius_g*A,x=E*E-4*C*this.C,x<0)return o.x=Number.NaN,o.y=Number.NaN,o;y=(-E-Math.sqrt(x))/(2*C),A=this.radius_g+y*A,f*=y,m*=y,o.x=Math.atan2(f,A),o.y=Math.atan(m*Math.cos(o.x)/A)}return o.x=o.x+this.long0,o}var iMt=["Geostationary Satellite View","Geostationary_Satellite","geos"],rMt={init:$Tt,forward:eMt,inverse:tMt,names:iMt};function nMt(o){o.Proj.projections.add(pZ),o.Proj.projections.add(mZ),o.Proj.projections.add(ASt),o.Proj.projections.add(xSt),o.Proj.projections.add(wSt),o.Proj.projections.add(TSt),o.Proj.projections.add(NSt),o.Proj.projections.add(HSt),o.Proj.projections.add(KSt),o.Proj.projections.add(ZSt),o.Proj.projections.add(gDt),o.Proj.projections.add(yDt),o.Proj.projections.add(wDt),o.Proj.projections.add(MDt),o.Proj.projections.add(NDt),o.Proj.projections.add(HDt),o.Proj.projections.add(KDt),o.Proj.projections.add(ZDt),o.Proj.projections.add(nTt),o.Proj.projections.add(uTt),o.Proj.projections.add(fTt),o.Proj.projections.add(ETt),o.Proj.projections.add(vTt),o.Proj.projections.add(STt),o.Proj.projections.add(RTt),o.Proj.projections.add(HTt),o.Proj.projections.add(KTt),o.Proj.projections.add(ZTt),o.Proj.projections.add(rMt)}fI.defaultDatum="WGS84";fI.Proj=A9;fI.WGS84=new fI.Proj("WGS84");fI.Point=NQt;fI.toPoint=V9e;fI.defs=l$;fI.nadgrid=AQt;fI.transform=A$;fI.mgrs=bQt;fI.version="__VERSION__";nMt(fI);var _Ee=fI,rze=_Ee.defs("EPSG:3857");function mx(o,A){this._ellipsoid=oe(A,Ci.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis,this._customEPSG=o}Object.defineProperties(mx.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});mx.mercatorAngleToGeodeticLatitude=function(o){return Be.PI_OVER_TWO-2*Math.atan(Math.exp(-o))};mx.geodeticLatitudeToMercatorAngle=function(o){o>mx.MaximumLatitude?o=mx.MaximumLatitude:o<-mx.MaximumLatitude&&(o=-mx.MaximumLatitude);let A=Math.sin(o);return .5*Math.log((1+A)/(1-A))};mx.MaximumLatitude=mx.mercatorAngleToGeodeticLatitude(Math.PI);mx.prototype.project=function(o,A){let f=this._semimajorAxis,m=o.longitude*f,C=mx.geodeticLatitudeToMercatorAngle(o.latitude)*f,E=o.height,x=_Ee(rze,this._customEPSG,[m,C]);return O(A)?(A.x=x[0],A.y=x[1],A.z=E,A):new Z(x[0],x[1],E)};mx.prototype.unproject=function(o,A){let f=_Ee(this._customEPSG,rze,[o.x,o.y]),m=this._oneOverSemimajorAxis,C=f[0]*m,E=mx.mercatorAngleToGeodeticLatitude(f[1]*m),x=o.z;return O(A)?(A.longitude=C,A.latitude=E,A.height=x,A):new Rt(C,E,x)};var oG=mx,oMt={FLOAT:"float",VEC2:"vec2",VEC3:"vec3",VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",MAT2:"mat2",MAT3:"mat3",MAT4:"mat4",SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube"},Ko=Object.freeze(oMt),aMt={FLOAT:"float",VEC2:"vec2",VEC3:"vec3",VEC4:"vec4",MAT2:"mat2",MAT3:"mat2",MAT4:"mat4"},cC=Object.freeze(aMt);function sMt(o){o=oe(o,oe.EMPTY_OBJECT),this.typedArray=o.typedArray,this.width=o.width,this.height=o.height,this.pixelFormat=oe(o.pixelFormat,rn.RGBA),this.pixelDatatype=oe(o.pixelDatatype,$r.UNSIGNED_BYTE);let A=o.url;typeof A=="string"&&(A=Cr.createIfNeeded(A)),this.resource=A;let f=oe(o.repeat,!0)?Vo.REPEAT:Vo.CLAMP_TO_EDGE;this.sampler=new Oa({wrapS:f,wrapT:f,minificationFilter:o.minificationFilter,magnificationFilter:o.magnificationFilter,maximumAnisotropy:o.maximumAnisotropy})}var vEe=sMt,lMt={UNLIT:0,PBR:1},Mx=Object.freeze(lMt),nze={MODIFY_MATERIAL:"MODIFY_MATERIAL",REPLACE_MATERIAL:"REPLACE_MATERIAL"};nze.getDefineName=function(o){return`CUSTOM_SHADER_${o}`};var Jz=Object.freeze(nze);function uMt(o,A,f){let m=new Uint8ClampedArray(o.buffer),C=new ImageData(m,A,f),E=document.createElement("canvas");return E.width=A,E.height=f,E.getContext("2d").putImageData(C,0,0),E}var BEe=uMt;function AMt(o){let A=document.createElement("canvas");return A.width=Be.nextPowerOfTwo(o.width),A.height=Be.nextPowerOfTwo(o.height),A.getContext("2d").drawImage(o,0,0,o.width,o.height,0,0,A.width,A.height),A}var c9=AMt;function aG(){this._defaultTexture=void 0,this._textures={},this._loadedImages=[],this._lastUpdatedFrame=-1}aG.prototype.getTexture=function(o){return this._textures[o]};function cMt(o,A,f){f.resource=f.resource.clone(),f.resource.fetchImage().then(function(m){o._loadedImages.push({id:A,image:m,textureUniform:f})}).catch(function(){let m=o._textures[A];O(m)&&m!==o._defaultTexture&&m.destroy(),o._textures[A]=o._defaultTexture})}aG.prototype.loadTexture2D=function(o,A){O(A.typedArray)?this._loadedImages.push({id:o,textureUniform:A}):A instanceof Nn?this._textures[o]=A:cMt(this,o,A)};function hMt(o,A,f){let{id:m,textureUniform:C,image:E}=A,x=f.webgl2?CZ(C,E,f):dMt(C,E,f),y=o._textures[m];O(y)&&y!==f.defaultTexture&&y.destroy(),o._textures[m]=x}function CZ(o,A,f){let{typedArray:m,sampler:C}=o,E=O(m)?aze(o,f):new Nn({context:f,source:A,sampler:C});return oze(C)&&E.generateMipmap(),E}function dMt(o,A,f){let{typedArray:m,sampler:C}=o,E=oze(C),x=C.wrapS===Vo.REPEAT||C.wrapS===Vo.MIRRORED_REPEAT||C.wrapT===Vo.REPEAT||C.wrapT===Vo.MIRRORED_REPEAT,{width:y,height:I}=O(m)?o:A,v=[y,I].every(Be.isPowerOfTwo);if((E||x)&&!v)if(O(m)){if(o.pixelDatatype===$r.UNSIGNED_BYTE){let B=BEe(m,y,I),Q=c9(B);return CZ({sampler:C},Q,f)}}else{let B=c9(A);return CZ(o,B,f)}else return CZ(o,A,f);return E?console.warn("Texture requires resizing for mipmaps but pixelDataType cannot be resized. The texture may be rendered incorrectly."):x&&console.warn("Texture requires resizing for wrapping but pixelDataType cannot be resized. The texture may be rendered incorrectly."),aze(o,f)}function oze(o){return[Ba.NEAREST_MIPMAP_NEAREST,Ba.NEAREST_MIPMAP_LINEAR,Ba.LINEAR_MIPMAP_NEAREST,Ba.LINEAR_MIPMAP_LINEAR].includes(o.minificationFilter)}function aze(o,A){let{pixelFormat:f,pixelDatatype:m,width:C,height:E,typedArray:x,sampler:y}=o;return new Nn({context:A,pixelFormat:f,pixelDatatype:m,source:{arrayBufferView:x,width:C,height:E},sampler:y,flipY:!1})}aG.prototype.update=function(o){if(o.frameNumber===this._lastUpdatedFrame)return;this._lastUpdatedFrame=o.frameNumber;let A=o.context;this._defaultTexture=A.defaultTexture;let f=this._loadedImages;for(let m=0;m{if(typeof A!="object"||!A.name||!A.init)throw new Error("Invalid JSEP plugin format");this.registered[A.name]||(A.init(this.jsep),this.registered[A.name]=A)})}},Vr=class{static get version(){return"1.3.8"}static toString(){return"JavaScript Expression Parser (JSEP) v"+Vr.version}static addUnaryOp(o){return Vr.max_unop_len=Math.max(o.length,Vr.max_unop_len),Vr.unary_ops[o]=1,Vr}static addBinaryOp(o,A,f){return Vr.max_binop_len=Math.max(o.length,Vr.max_binop_len),Vr.binary_ops[o]=A,f?Vr.right_associative.add(o):Vr.right_associative.delete(o),Vr}static addIdentifierChar(o){return Vr.additional_identifier_chars.add(o),Vr}static addLiteral(o,A){return Vr.literals[o]=A,Vr}static removeUnaryOp(o){return delete Vr.unary_ops[o],o.length===Vr.max_unop_len&&(Vr.max_unop_len=Vr.getMaxKeyLen(Vr.unary_ops)),Vr}static removeAllUnaryOps(){return Vr.unary_ops={},Vr.max_unop_len=0,Vr}static removeIdentifierChar(o){return Vr.additional_identifier_chars.delete(o),Vr}static removeBinaryOp(o){return delete Vr.binary_ops[o],o.length===Vr.max_binop_len&&(Vr.max_binop_len=Vr.getMaxKeyLen(Vr.binary_ops)),Vr.right_associative.delete(o),Vr}static removeAllBinaryOps(){return Vr.binary_ops={},Vr.max_binop_len=0,Vr}static removeLiteral(o){return delete Vr.literals[o],Vr}static removeAllLiterals(){return Vr.literals={},Vr}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(o){this.expr=o,this.index=0}static parse(o){return new Vr(o).parse()}static getMaxKeyLen(o){return Math.max(0,...Object.keys(o).map(A=>A.length))}static isDecimalDigit(o){return o>=48&&o<=57}static binaryPrecedence(o){return Vr.binary_ops[o]||0}static isIdentifierStart(o){return o>=65&&o<=90||o>=97&&o<=122||o>=128&&!Vr.binary_ops[String.fromCharCode(o)]||Vr.additional_identifier_chars.has(String.fromCharCode(o))}static isIdentifierPart(o){return Vr.isIdentifierStart(o)||Vr.isDecimalDigit(o)}throwError(o){let A=new Error(o+" at character "+this.index);throw A.index=this.index,A.description=o,A}runHook(o,A){if(Vr.hooks[o]){let f={context:this,node:A};return Vr.hooks.run(o,f),f.node}return A}searchHook(o){if(Vr.hooks[o]){let A={context:this};return Vr.hooks[o].find(function(f){return f.call(A.context,A),A.node}),A.node}}gobbleSpaces(){let o=this.code;for(;o===Vr.SPACE_CODE||o===Vr.TAB_CODE||o===Vr.LF_CODE||o===Vr.CR_CODE;)o=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");let o=this.gobbleExpressions(),A=o.length===1?o[0]:{type:Vr.COMPOUND,body:o};return this.runHook("after-all",A)}gobbleExpressions(o){let A=[],f,m;for(;this.index0;){if(Vr.binary_ops.hasOwnProperty(o)&&(!Vr.isIdentifierStart(this.code)||this.index+o.lengthC.right_a&&B.right_a?f>B.prec:f<=B.prec;for(;m.length>2&&v(m[m.length-2]);)x=m.pop(),A=m.pop().value,E=m.pop(),o={type:Vr.BINARY_EXP,operator:A,left:E,right:x},m.push(o);o=this.gobbleToken(),o||this.throwError("Expected expression after "+I),m.push(C,o)}for(y=m.length-1,o=m[y];y>1;)o={type:Vr.BINARY_EXP,operator:m[y-1].value,left:m[y-2],right:o},y-=2;return o}gobbleToken(){let o,A,f,m;if(this.gobbleSpaces(),m=this.searchHook("gobble-token"),m)return this.runHook("after-token",m);if(o=this.code,Vr.isDecimalDigit(o)||o===Vr.PERIOD_CODE)return this.gobbleNumericLiteral();if(o===Vr.SQUOTE_CODE||o===Vr.DQUOTE_CODE)m=this.gobbleStringLiteral();else if(o===Vr.OBRACK_CODE)m=this.gobbleArray();else{for(A=this.expr.substr(this.index,Vr.max_unop_len),f=A.length;f>0;){if(Vr.unary_ops.hasOwnProperty(A)&&(!Vr.isIdentifierStart(this.code)||this.index+A.length=A.length&&this.throwError("Unexpected token "+String.fromCharCode(o));break}else if(C===Vr.COMMA_CODE){if(this.index++,m++,m!==A.length){if(o===Vr.CPAREN_CODE)this.throwError("Unexpected token ,");else if(o===Vr.CBRACK_CODE)for(let E=A.length;E":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10},right_associative:new Set,additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"});Vr.max_unop_len=Vr.getMaxKeyLen(Vr.unary_ops);Vr.max_binop_len=Vr.getMaxKeyLen(Vr.binary_ops);var iN=o=>new Vr(o).parse(),_Mt=Object.getOwnPropertyNames(Vr);_Mt.forEach(o=>{iN[o]===void 0&&o!=="prototype"&&(iN[o]=Vr[o])});iN.Jsep=Vr;var vMt="ConditionalExpression",BMt={name:"ternary",init(o){o.hooks.add("after-expression",function(A){if(A.node&&this.code===o.QUMARK_CODE){this.index++;let f=A.node,m=this.gobbleExpression();if(m||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===o.COLON_CODE){this.index++;let C=this.gobbleExpression();if(C||this.throwError("Expected expression"),A.node={type:vMt,test:f,consequent:m,alternate:C},f.operator&&o.binary_ops[f.operator]<=.9){let E=f;for(;E.right.operator&&o.binary_ops[E.right.operator]<=.9;)E=E.right;A.node.test=E.right,E.right=A.node,A.node=f}}else this.throwError("Expected :")}})}};iN.plugins.register(BMt);var wMt={VARIABLE:0,UNARY:1,BINARY:2,TERNARY:3,CONDITIONAL:4,MEMBER:5,FUNCTION_CALL:6,ARRAY:7,REGEX:8,VARIABLE_IN_STRING:9,LITERAL_NULL:10,LITERAL_BOOLEAN:11,LITERAL_NUMBER:12,LITERAL_STRING:13,LITERAL_COLOR:14,LITERAL_VECTOR:15,LITERAL_REGEX:16,LITERAL_UNDEFINED:17,BUILTIN_VARIABLE:18},Rn=Object.freeze(wMt);function sw(o,A){this._expression=o,o=OMt(o,A),o=GMt(UMt(o)),iN.addBinaryOp("=~",0),iN.addBinaryOp("!~",0);let f;try{f=iN(o)}catch(m){throw new ki(m)}this._runtimeAst=jl(this,f)}Object.defineProperties(sw.prototype,{expression:{get:function(){return this._expression}}});var rs={arrayIndex:0,arrayArray:[[]],cartesian2Index:0,cartesian3Index:0,cartesian4Index:0,cartesian2Array:[new rt],cartesian3Array:[new Z],cartesian4Array:[new zt],reset:function(){this.arrayIndex=0,this.cartesian2Index=0,this.cartesian3Index=0,this.cartesian4Index=0},getArray:function(){this.arrayIndex>=this.arrayArray.length&&this.arrayArray.push([]);let o=this.arrayArray[this.arrayIndex++];return o.length=0,o},getCartesian2:function(){return this.cartesian2Index>=this.cartesian2Array.length&&this.cartesian2Array.push(new rt),this.cartesian2Array[this.cartesian2Index++]},getCartesian3:function(){return this.cartesian3Index>=this.cartesian3Array.length&&this.cartesian3Array.push(new Z),this.cartesian3Array[this.cartesian3Index++]},getCartesian4:function(){return this.cartesian4Index>=this.cartesian4Array.length&&this.cartesian4Array.push(new zt),this.cartesian4Array[this.cartesian4Index++]}};sw.prototype.evaluate=function(o,A){rs.reset();let f=this._runtimeAst.evaluate(o);return A instanceof Ve&&f instanceof zt?Ve.fromCartesian4(f,A):f instanceof rt||f instanceof Z||f instanceof zt?f.clone(A):f};sw.prototype.evaluateColor=function(o,A){rs.reset();let f=this._runtimeAst.evaluate(o);return Ve.fromCartesian4(f,A)};sw.prototype.getShaderFunction=function(o,A,f,m){let C=this.getShaderExpression(A,f);return C=`${m} ${o} { return ${C}; } `,C};sw.prototype.getShaderExpression=function(o,A){return this._runtimeAst.getShaderExpression(o,A)};sw.prototype.getVariables=function(){let o=[];return this._runtimeAst.getVariables(o),o=o.filter(function(A,f,m){return m.indexOf(A)===f}),o};var bMt=["!","-","+"],mFe=["+","-","*","/","%","===","!==",">",">=","<","<=","&&","||","!~","=~"],d$=/\${(.*?)}/g,QMt=/\\/g,SMt="@#%",DMt=/@#%/g,Rte=new Ve,Lte={abs:n0(Math.abs),sqrt:n0(Math.sqrt),cos:n0(Math.cos),sin:n0(Math.sin),tan:n0(Math.tan),acos:n0(Math.acos),asin:n0(Math.asin),atan:n0(Math.atan),radians:n0(Be.toRadians),degrees:n0(Be.toDegrees),sign:n0(Be.sign),floor:n0(Math.floor),ceil:n0(Math.ceil),round:n0(Math.round),exp:n0(Math.exp),exp2:n0(MMt),log:n0(Math.log),log2:n0(PMt),fract:n0(TMt),length:RMt,normalize:LMt},Fte={atan2:Zj(Math.atan2,!1),pow:Zj(Math.pow,!1),min:Zj(Math.min,!0),max:Zj(Math.max,!0),distance:FMt,dot:NMt,cross:kMt},bEe={clamp:CFe(Be.clamp,!0),mix:CFe(Be.lerp,!0)};function TMt(o){return o-Math.floor(o)}function MMt(o){return Math.pow(2,o)}function PMt(o){return Be.log2(o)}function n0(o){return function(A,f){if(typeof f=="number")return o(f);if(f instanceof rt)return rt.fromElements(o(f.x),o(f.y),rs.getCartesian2());if(f instanceof Z)return Z.fromElements(o(f.x),o(f.y),o(f.z),rs.getCartesian3());if(f instanceof zt)return zt.fromElements(o(f.x),o(f.y),o(f.z),o(f.w),rs.getCartesian4());throw new ki(`Function "${A}" requires a vector or number argument. Argument is ${f}.`)}}function Zj(o,A){return function(f,m,C){if(A&&typeof C=="number"){if(typeof m=="number")return o(m,C);if(m instanceof rt)return rt.fromElements(o(m.x,C),o(m.y,C),rs.getCartesian2());if(m instanceof Z)return Z.fromElements(o(m.x,C),o(m.y,C),o(m.z,C),rs.getCartesian3());if(m instanceof zt)return zt.fromElements(o(m.x,C),o(m.y,C),o(m.z,C),o(m.w,C),rs.getCartesian4())}if(typeof m=="number"&&typeof C=="number")return o(m,C);if(m instanceof rt&&C instanceof rt)return rt.fromElements(o(m.x,C.x),o(m.y,C.y),rs.getCartesian2());if(m instanceof Z&&C instanceof Z)return Z.fromElements(o(m.x,C.x),o(m.y,C.y),o(m.z,C.z),rs.getCartesian3());if(m instanceof zt&&C instanceof zt)return zt.fromElements(o(m.x,C.x),o(m.y,C.y),o(m.z,C.z),o(m.w,C.w),rs.getCartesian4());throw new ki(`Function "${f}" requires vector or number arguments of matching types. Arguments are ${m} and ${C}.`)}}function CFe(o,A){return function(f,m,C,E){if(A&&typeof E=="number"){if(typeof m=="number"&&typeof C=="number")return o(m,C,E);if(m instanceof rt&&C instanceof rt)return rt.fromElements(o(m.x,C.x,E),o(m.y,C.y,E),rs.getCartesian2());if(m instanceof Z&&C instanceof Z)return Z.fromElements(o(m.x,C.x,E),o(m.y,C.y,E),o(m.z,C.z,E),rs.getCartesian3());if(m instanceof zt&&C instanceof zt)return zt.fromElements(o(m.x,C.x,E),o(m.y,C.y,E),o(m.z,C.z,E),o(m.w,C.w,E),rs.getCartesian4())}if(typeof m=="number"&&typeof C=="number"&&typeof E=="number")return o(m,C,E);if(m instanceof rt&&C instanceof rt&&E instanceof rt)return rt.fromElements(o(m.x,C.x,E.x),o(m.y,C.y,E.y),rs.getCartesian2());if(m instanceof Z&&C instanceof Z&&E instanceof Z)return Z.fromElements(o(m.x,C.x,E.x),o(m.y,C.y,E.y),o(m.z,C.z,E.z),rs.getCartesian3());if(m instanceof zt&&C instanceof zt&&E instanceof zt)return zt.fromElements(o(m.x,C.x,E.x),o(m.y,C.y,E.y),o(m.z,C.z,E.z),o(m.w,C.w,E.w),rs.getCartesian4());throw new ki(`Function "${f}" requires vector or number arguments of matching types. Arguments are ${m}, ${C}, and ${E}.`)}}function RMt(o,A){if(typeof A=="number")return Math.abs(A);if(A instanceof rt)return rt.magnitude(A);if(A instanceof Z)return Z.magnitude(A);if(A instanceof zt)return zt.magnitude(A);throw new ki(`Function "${o}" requires a vector or number argument. Argument is ${A}.`)}function LMt(o,A){if(typeof A=="number")return 1;if(A instanceof rt)return rt.normalize(A,rs.getCartesian2());if(A instanceof Z)return Z.normalize(A,rs.getCartesian3());if(A instanceof zt)return zt.normalize(A,rs.getCartesian4());throw new ki(`Function "${o}" requires a vector or number argument. Argument is ${A}.`)}function FMt(o,A,f){if(typeof A=="number"&&typeof f=="number")return Math.abs(A-f);if(A instanceof rt&&f instanceof rt)return rt.distance(A,f);if(A instanceof Z&&f instanceof Z)return Z.distance(A,f);if(A instanceof zt&&f instanceof zt)return zt.distance(A,f);throw new ki(`Function "${o}" requires vector or number arguments of matching types. Arguments are ${A} and ${f}.`)}function NMt(o,A,f){if(typeof A=="number"&&typeof f=="number")return A*f;if(A instanceof rt&&f instanceof rt)return rt.dot(A,f);if(A instanceof Z&&f instanceof Z)return Z.dot(A,f);if(A instanceof zt&&f instanceof zt)return zt.dot(A,f);throw new ki(`Function "${o}" requires vector or number arguments of matching types. Arguments are ${A} and ${f}.`)}function kMt(o,A,f){if(A instanceof Z&&f instanceof Z)return Z.cross(A,f,rs.getCartesian3());throw new ki(`Function "${o}" requires vec3 arguments. Arguments are ${A} and ${f}.`)}function On(o,A,f,m,C){this._type=o,this._value=A,this._left=f,this._right=m,this._test=C,this.evaluate=void 0,XMt(this)}function OMt(o,A){if(!O(A))return o;for(let f in A)if(A.hasOwnProperty(f)){let m=new RegExp(`\\$\\{${f}\\}`,"g"),C=`(${A[f]})`;O(C)&&(o=o.replace(m,C))}return o}function UMt(o){return o.replace(QMt,SMt)}function ufe(o){return o.replace(DMt,"\\")}function GMt(o){let A=o,f="",m=A.indexOf("${");for(;m>=0;){let C=A.indexOf("'"),E=A.indexOf('"'),x;if(C>=0&&C=0&&E=0?new On(Rn.VARIABLE_IN_STRING,o.value):new On(Rn.LITERAL_STRING,ufe(o.value))}function VMt(o,A){let f=A.arguments,m=f.length,C,E,x,y;if(A.callee.type==="MemberExpression"){C=A.callee.property.name;let I=A.callee.object;if(C==="test"||C==="exec"){if(!O(I.callee)||I.callee.name!=="regExp")throw new ki(`${C} is not a function.`);return m===0?C==="test"?new On(Rn.LITERAL_BOOLEAN,!1):new On(Rn.LITERAL_NULL,null):(x=jl(o,I),y=jl(o,f[0]),new On(Rn.FUNCTION_CALL,C,x,y))}else if(C==="toString")return E=jl(o,I),new On(Rn.FUNCTION_CALL,C,E);throw new ki(`Unexpected function call "${C}".`)}if(C=A.callee.name,C==="color"){if(m===0)return new On(Rn.LITERAL_COLOR,C);if(E=jl(o,f[0]),O(f[1])){let I=jl(o,f[1]);return new On(Rn.LITERAL_COLOR,C,[E,I])}return new On(Rn.LITERAL_COLOR,C,[E])}else if(C==="rgb"||C==="hsl"){if(m<3)throw new ki(`${C} requires three arguments.`);return E=[jl(o,f[0]),jl(o,f[1]),jl(o,f[2])],new On(Rn.LITERAL_COLOR,C,E)}else if(C==="rgba"||C==="hsla"){if(m<4)throw new ki(`${C} requires four arguments.`);return E=[jl(o,f[0]),jl(o,f[1]),jl(o,f[2]),jl(o,f[3])],new On(Rn.LITERAL_COLOR,C,E)}else if(C==="vec2"||C==="vec3"||C==="vec4"){E=new Array(m);for(let I=0;I1)throw new ki(`${C} requires exactly one argument.`);return E=jl(o,f[0]),new On(Rn.UNARY,C,E)}else if(C==="getExactClassName"){if(m>0)throw new ki(`${C} does not take any argument.`);return new On(Rn.UNARY,C)}else if(O(Lte[C])){if(m!==1)throw new ki(`${C} requires exactly one argument.`);return E=jl(o,f[0]),new On(Rn.UNARY,C,E)}else if(O(Fte[C])){if(m!==2)throw new ki(`${C} requires exactly two arguments.`);return x=jl(o,f[0]),y=jl(o,f[1]),new On(Rn.BINARY,C,x,y)}else if(O(bEe[C])){if(m!==3)throw new ki(`${C} requires exactly three arguments.`);x=jl(o,f[0]),y=jl(o,f[1]);let I=jl(o,f[2]);return new On(Rn.TERNARY,C,x,y,I)}else{if(C==="Boolean")return m===0?new On(Rn.LITERAL_BOOLEAN,!1):(E=jl(o,f[0]),new On(Rn.UNARY,C,E));if(C==="Number")return m===0?new On(Rn.LITERAL_NUMBER,0):(E=jl(o,f[0]),new On(Rn.UNARY,C,E));if(C==="String")return m===0?new On(Rn.LITERAL_STRING,""):(E=jl(o,f[0]),new On(Rn.UNARY,C,E));if(C==="regExp")return zMt(o,A)}}throw new ki(`Unexpected function call "${C}".`)}function zMt(o,A){let f=A.arguments;if(f.length===0)return new On(Rn.LITERAL_REGEX,new RegExp);let m=jl(o,f[0]),C;if(f.length>1){let E=jl(o,f[1]);if(uAe(m)&&uAe(E)){try{C=new RegExp(ufe(String(m._value)),E._value)}catch(x){throw new ki(x)}return new On(Rn.LITERAL_REGEX,C)}return new On(Rn.REGEX,m,E)}if(uAe(m)){try{C=new RegExp(ufe(String(m._value)))}catch(E){throw new ki(E)}return new On(Rn.LITERAL_REGEX,C)}return new On(Rn.REGEX,m)}function YMt(o){if(jMt(o.name)){let A=qMt(o.name);return A.substr(0,8)==="tiles3d_"?new On(Rn.BUILTIN_VARIABLE,A):new On(Rn.VARIABLE,A)}else{if(o.name==="NaN")return new On(Rn.LITERAL_NUMBER,NaN);if(o.name==="Infinity")return new On(Rn.LITERAL_NUMBER,1/0);if(o.name==="undefined")return new On(Rn.LITERAL_UNDEFINED,void 0)}throw new ki(`${o.name} is not defined.`)}function JMt(o){let A=o.property.name;if(A==="PI")return new On(Rn.LITERAL_NUMBER,Math.PI);if(A==="E")return new On(Rn.LITERAL_NUMBER,Math.E)}function KMt(o){if(o.property.name==="POSITIVE_INFINITY")return new On(Rn.LITERAL_NUMBER,Number.POSITIVE_INFINITY)}function WMt(o,A){if(A.object.name==="Math")return JMt(A);if(A.object.name==="Number")return KMt(A);let f,m=jl(o,A.object);return A.computed?(f=jl(o,A.property),new On(Rn.MEMBER,"brackets",m,f)):(f=new On(Rn.LITERAL_STRING,A.property.name),new On(Rn.MEMBER,"dot",m,f))}function uAe(o){return o._type>=Rn.LITERAL_NULL}function jMt(o){return o.substr(0,4)==="czm_"}function qMt(o){return o.substr(4)}function jl(o,A){let f,m,C,E;if(A.type==="Literal")f=HMt(A);else if(A.type==="CallExpression")f=VMt(o,A);else if(A.type==="Identifier")f=YMt(A);else if(A.type==="UnaryExpression"){m=A.operator;let x=jl(o,A.argument);if(bMt.indexOf(m)>-1)f=new On(Rn.UNARY,m,x);else throw new ki(`Unexpected operator "${m}".`)}else if(A.type==="BinaryExpression")if(m=A.operator,C=jl(o,A.left),E=jl(o,A.right),mFe.indexOf(m)>-1)f=new On(Rn.BINARY,m,C,E);else throw new ki(`Unexpected operator "${m}".`);else if(A.type==="LogicalExpression")m=A.operator,C=jl(o,A.left),E=jl(o,A.right),mFe.indexOf(m)>-1&&(f=new On(Rn.BINARY,m,C,E));else if(A.type==="ConditionalExpression"){let x=jl(o,A.test);C=jl(o,A.consequent),E=jl(o,A.alternate),f=new On(Rn.CONDITIONAL,"?",C,E,x)}else if(A.type==="MemberExpression")f=WMt(o,A);else if(A.type==="ArrayExpression"){let x=[];for(let y=0;y"?o.evaluate=o._evaluateGreaterThan:o._value===">="?o.evaluate=o._evaluateGreaterThanOrEquals:o._value==="&&"?o.evaluate=o._evaluateAnd:o._value==="||"?o.evaluate=o._evaluateOr:o._value==="=~"?o.evaluate=o._evaluateRegExpMatch:o._value==="!~"?o.evaluate=o._evaluateRegExpNotMatch:O(Fte[o._value])&&(o.evaluate=e2t(o._value)):o._type===Rn.TERNARY?o.evaluate=t2t(o._value):o._type===Rn.MEMBER?o._value==="brackets"?o.evaluate=o._evaluateMemberBrackets:o.evaluate=o._evaluateMemberDot:o._type===Rn.ARRAY?o.evaluate=o._evaluateArray:o._type===Rn.VARIABLE?o.evaluate=o._evaluateVariable:o._type===Rn.VARIABLE_IN_STRING?o.evaluate=o._evaluateVariableString:o._type===Rn.LITERAL_COLOR?o.evaluate=o._evaluateLiteralColor:o._type===Rn.LITERAL_VECTOR?o.evaluate=o._evaluateLiteralVector:o._type===Rn.LITERAL_STRING?o.evaluate=o._evaluateLiteralString:o._type===Rn.REGEX?o.evaluate=o._evaluateRegExp:o._type===Rn.BUILTIN_VARIABLE?o._value==="tiles3d_tileset_time"&&(o.evaluate=ZMt):o.evaluate=o._evaluateLiteral}function ZMt(o){return O(o)?o.content.tileset.timeSinceLoad:0}function $Mt(o){let A=Lte[o];return function(f){let m=this._left.evaluate(f);return A(o,m)}}function e2t(o){let A=Fte[o];return function(f){let m=this._left.evaluate(f),C=this._right.evaluate(f);return A(o,m,C)}}function t2t(o){let A=bEe[o];return function(f){let m=this._left.evaluate(f),C=this._right.evaluate(f),E=this._test.evaluate(f);return A(o,m,C,E)}}function Nte(o,A){if(O(o))return o.getPropertyInherited(A)}On.prototype._evaluateLiteral=function(){return this._value};On.prototype._evaluateLiteralColor=function(o){let A=Rte,f=this._left;if(this._value==="color")O(f)?f.length>1?(Ve.fromCssColorString(f[0].evaluate(o),A),A.alpha=f[1].evaluate(o)):Ve.fromCssColorString(f[0].evaluate(o),A):Ve.fromBytes(255,255,255,255,A);else if(this._value==="rgb")Ve.fromBytes(f[0].evaluate(o),f[1].evaluate(o),f[2].evaluate(o),255,A);else if(this._value==="rgba"){let m=f[3].evaluate(o)*255;Ve.fromBytes(f[0].evaluate(o),f[1].evaluate(o),f[2].evaluate(o),m,A)}else this._value==="hsl"?Ve.fromHsl(f[0].evaluate(o),f[1].evaluate(o),f[2].evaluate(o),1,A):this._value==="hsla"&&Ve.fromHsl(f[0].evaluate(o),f[1].evaluate(o),f[2].evaluate(o),f[3].evaluate(o),A);return zt.fromColor(A,rs.getCartesian4())};On.prototype._evaluateLiteralVector=function(o){let A=rs.getArray(),f=this._value,m=this._left,C=m.length;for(let y=0;y1)throw new ki(`Invalid ${f} constructor. Not enough arguments.`);if(E>x&&C>1)throw new ki(`Invalid ${f} constructor. Too many arguments.`);if(E===1){let y=A[0];A.push(y,y,y)}if(f==="vec2")return rt.fromArray(A,0,rs.getCartesian2());if(f==="vec3")return Z.fromArray(A,0,rs.getCartesian3());if(f==="vec4")return zt.fromArray(A,0,rs.getCartesian4())};On.prototype._evaluateLiteralString=function(){return this._value};On.prototype._evaluateVariableString=function(o){let A=this._value,f=d$.exec(A);for(;f!==null;){let m=f[0],C=f[1],E=Nte(o,C);O(E)||(E=""),A=A.replace(m,E),f=d$.exec(A)}return A};On.prototype._evaluateVariable=function(o){return Nte(o,this._value)};function rN(o){return o._value==="feature"}On.prototype._evaluateMemberDot=function(o){if(rN(this._left))return Nte(o,this._right.evaluate(o));let A=this._left.evaluate(o);if(!O(A))return;let f=this._right.evaluate(o);if(A instanceof rt||A instanceof Z||A instanceof zt){if(f==="r")return A.x;if(f==="g")return A.y;if(f==="b")return A.z;if(f==="a")return A.w}return A[f]};On.prototype._evaluateMemberBrackets=function(o){if(rN(this._left))return Nte(o,this._right.evaluate(o));let A=this._left.evaluate(o);if(!O(A))return;let f=this._right.evaluate(o);if(A instanceof rt||A instanceof Z||A instanceof zt){if(f===0||f==="r")return A.x;if(f===1||f==="g")return A.y;if(f===2||f==="b")return A.z;if(f===3||f==="a")return A.w}return A[f]};On.prototype._evaluateArray=function(o){let A=[];for(let f=0;f" requires number arguments. Arguments are ${A} and ${f}.`);return A>f};On.prototype._evaluateGreaterThanOrEquals=function(o){let A=this._left.evaluate(o),f=this._right.evaluate(o);if(typeof A!="number"||typeof f!="number")throw new ki(`Operator ">=" requires number arguments. Arguments are ${A} and ${f}.`);return A>=f};On.prototype._evaluateOr=function(o){let A=this._left.evaluate(o);if(typeof A!="boolean")throw new ki(`Operator "||" requires boolean arguments. First argument is ${A}.`);if(A)return!0;let f=this._right.evaluate(o);if(typeof f!="boolean")throw new ki(`Operator "||" requires boolean arguments. Second argument is ${f}.`);return A||f};On.prototype._evaluateAnd=function(o){let A=this._left.evaluate(o);if(typeof A!="boolean")throw new ki(`Operator "&&" requires boolean arguments. First argument is ${A}.`);if(!A)return!1;let f=this._right.evaluate(o);if(typeof f!="boolean")throw new ki(`Operator "&&" requires boolean arguments. Second argument is ${f}.`);return A&&f};On.prototype._evaluatePlus=function(o){let A=this._left.evaluate(o),f=this._right.evaluate(o);if(f instanceof rt&&A instanceof rt)return rt.add(A,f,rs.getCartesian2());if(f instanceof Z&&A instanceof Z)return Z.add(A,f,rs.getCartesian3());if(f instanceof zt&&A instanceof zt)return zt.add(A,f,rs.getCartesian4());if(typeof A=="string"||typeof f=="string"||typeof A=="number"&&typeof f=="number")return A+f;throw new ki(`Operator "+" requires vector or number arguments of matching types, or at least one string argument. Arguments are ${A} and ${f}.`)};On.prototype._evaluateMinus=function(o){let A=this._left.evaluate(o),f=this._right.evaluate(o);if(f instanceof rt&&A instanceof rt)return rt.subtract(A,f,rs.getCartesian2());if(f instanceof Z&&A instanceof Z)return Z.subtract(A,f,rs.getCartesian3());if(f instanceof zt&&A instanceof zt)return zt.subtract(A,f,rs.getCartesian4());if(typeof A=="number"&&typeof f=="number")return A-f;throw new ki(`Operator "-" requires vector or number arguments of matching types. Arguments are ${A} and ${f}.`)};On.prototype._evaluateTimes=function(o){let A=this._left.evaluate(o),f=this._right.evaluate(o);if(f instanceof rt&&A instanceof rt)return rt.multiplyComponents(A,f,rs.getCartesian2());if(f instanceof rt&&typeof A=="number")return rt.multiplyByScalar(f,A,rs.getCartesian2());if(A instanceof rt&&typeof f=="number")return rt.multiplyByScalar(A,f,rs.getCartesian2());if(f instanceof Z&&A instanceof Z)return Z.multiplyComponents(A,f,rs.getCartesian3());if(f instanceof Z&&typeof A=="number")return Z.multiplyByScalar(f,A,rs.getCartesian3());if(A instanceof Z&&typeof f=="number")return Z.multiplyByScalar(A,f,rs.getCartesian3());if(f instanceof zt&&A instanceof zt)return zt.multiplyComponents(A,f,rs.getCartesian4());if(f instanceof zt&&typeof A=="number")return zt.multiplyByScalar(f,A,rs.getCartesian4());if(A instanceof zt&&typeof f=="number")return zt.multiplyByScalar(A,f,rs.getCartesian4());if(typeof A=="number"&&typeof f=="number")return A*f;throw new ki(`Operator "*" requires vector or number arguments. If both arguments are vectors they must be matching types. Arguments are ${A} and ${f}.`)};On.prototype._evaluateDivide=function(o){let A=this._left.evaluate(o),f=this._right.evaluate(o);if(f instanceof rt&&A instanceof rt)return rt.divideComponents(A,f,rs.getCartesian2());if(A instanceof rt&&typeof f=="number")return rt.divideByScalar(A,f,rs.getCartesian2());if(f instanceof Z&&A instanceof Z)return Z.divideComponents(A,f,rs.getCartesian3());if(A instanceof Z&&typeof f=="number")return Z.divideByScalar(A,f,rs.getCartesian3());if(f instanceof zt&&A instanceof zt)return zt.divideComponents(A,f,rs.getCartesian4());if(A instanceof zt&&typeof f=="number")return zt.divideByScalar(A,f,rs.getCartesian4());if(typeof A=="number"&&typeof f=="number")return A/f;throw new ki(`Operator "/" requires vector or number arguments of matching types, or a number as the second argument. Arguments are ${A} and ${f}.`)};On.prototype._evaluateMod=function(o){let A=this._left.evaluate(o),f=this._right.evaluate(o);if(f instanceof rt&&A instanceof rt)return rt.fromElements(A.x%f.x,A.y%f.y,rs.getCartesian2());if(f instanceof Z&&A instanceof Z)return Z.fromElements(A.x%f.x,A.y%f.y,A.z%f.z,rs.getCartesian3());if(f instanceof zt&&A instanceof zt)return zt.fromElements(A.x%f.x,A.y%f.y,A.z%f.z,A.w%f.w,rs.getCartesian4());if(typeof A=="number"&&typeof f=="number")return A%f;throw new ki(`Operator "%" requires vector or number arguments of matching types. Arguments are ${A} and ${f}.`)};On.prototype._evaluateEqualsStrict=function(o){let A=this._left.evaluate(o),f=this._right.evaluate(o);return f instanceof rt&&A instanceof rt||f instanceof Z&&A instanceof Z||f instanceof zt&&A instanceof zt?A.equals(f):A===f};On.prototype._evaluateNotEqualsStrict=function(o){let A=this._left.evaluate(o),f=this._right.evaluate(o);return f instanceof rt&&A instanceof rt||f instanceof Z&&A instanceof Z||f instanceof zt&&A instanceof zt?!A.equals(f):A!==f};On.prototype._evaluateConditional=function(o){let A=this._test.evaluate(o);if(typeof A!="boolean")throw new ki(`Conditional argument of conditional expression must be a boolean. Argument is ${A}.`);return A?this._left.evaluate(o):this._right.evaluate(o)};On.prototype._evaluateNaN=function(o){return isNaN(this._left.evaluate(o))};On.prototype._evaluateIsFinite=function(o){return isFinite(this._left.evaluate(o))};On.prototype._evaluateIsExactClass=function(o){return O(o)?o.isExactClass(this._left.evaluate(o)):!1};On.prototype._evaluateIsClass=function(o){return O(o)?o.isClass(this._left.evaluate(o)):!1};On.prototype._evaluateGetExactClassName=function(o){if(O(o))return o.getExactClassName()};On.prototype._evaluateBooleanConversion=function(o){return!!this._left.evaluate(o)};On.prototype._evaluateNumberConversion=function(o){return Number(this._left.evaluate(o))};On.prototype._evaluateStringConversion=function(o){return String(this._left.evaluate(o))};On.prototype._evaluateRegExp=function(o){let A=this._value.evaluate(o),f="";O(this._left)&&(f=this._left.evaluate(o));let m;try{m=new RegExp(A,f)}catch(C){throw new ki(C)}return m};On.prototype._evaluateRegExpTest=function(o){let A=this._left.evaluate(o),f=this._right.evaluate(o);if(!(A instanceof RegExp&&typeof f=="string"))throw new ki(`RegExp.test requires the first argument to be a RegExp and the second argument to be a string. Arguments are ${A} and ${f}.`);return A.test(f)};On.prototype._evaluateRegExpMatch=function(o){let A=this._left.evaluate(o),f=this._right.evaluate(o);if(A instanceof RegExp&&typeof f=="string")return A.test(f);if(f instanceof RegExp&&typeof A=="string")return f.test(A);throw new ki(`Operator "=~" requires one RegExp argument and one string argument. Arguments are ${A} and ${f}.`)};On.prototype._evaluateRegExpNotMatch=function(o){let A=this._left.evaluate(o),f=this._right.evaluate(o);if(A instanceof RegExp&&typeof f=="string")return!A.test(f);if(f instanceof RegExp&&typeof A=="string")return!f.test(A);throw new ki(`Operator "!~" requires one RegExp argument and one string argument. Arguments are ${A} and ${f}.`)};On.prototype._evaluateRegExpExec=function(o){let A=this._left.evaluate(o),f=this._right.evaluate(o);if(!(A instanceof RegExp&&typeof f=="string"))throw new ki(`RegExp.exec requires the first argument to be a RegExp and the second argument to be a string. Arguments are ${A} and ${f}.`);let m=A.exec(f);return O(m)?m[1]:null};On.prototype._evaluateToString=function(o){let A=this._left.evaluate(o);if(A instanceof RegExp||A instanceof rt||A instanceof Z||A instanceof zt)return String(A);throw new ki(`Unexpected function call "${this._value}".`)};function EFe(o){let A=o._left,f=A.length;for(let y=0;y1){let T=v[0],w=v[1];return w!=="1.0"&&(A.translucent=!0),`vec4(${T}, ${w})`}}else return"vec4(1.0)";return`vec4(${v[0]}, 1.0)`}else{if(I==="rgb")return m=xFe(this),O(m)?$j(m):`vec4(${v[0]} / 255.0, ${v[1]} / 255.0, ${v[2]} / 255.0, 1.0)`;if(I==="rgba")return v[3]!=="1.0"&&(A.translucent=!0),m=xFe(this),O(m)?$j(m):`vec4(${v[0]} / 255.0, ${v[1]} / 255.0, ${v[2]} / 255.0, ${v[3]})`;if(I==="hsl")return m=EFe(this),O(m)?$j(m):`vec4(czm_HSLToRGB(vec3(${v[0]}, ${v[1]}, ${v[2]})), 1.0)`;if(I==="hsla")return m=EFe(this),O(m)?(m.alpha!==1&&(A.translucent=!0),$j(m)):(v[3]!=="1.0"&&(A.translucent=!0),`vec4(czm_HSLToRGB(vec3(${v[0]}, ${v[1]}, ${v[2]})), ${v[3]})`)}break;case Rn.LITERAL_VECTOR:B=C.length,Q=`${I}(`;for(let T=0;Tf.height>A.height)}function s2t(o){return Array.from(new Set(o))}function l2t(o,A){let f=new Uint8Array(o*A*4);for(let m=0;m{let v=I.url,B=I.data,Q=I.width,T=I.height;y.push({url:v,tileData:B,w:Q,h:T})}),y.sort(function(I,v){return v.h{let y=new Cr({url:x});E.push(y.fetchImage())}),Promise.all(E).then(function(x){let y=[];x.forEach(T=>{f.width=T.width,f.height=T.height;let w=u2t(T,m);y.push({url:T.src,data:w,width:T.width,height:T.height})}),a2t(y);let I=l2t(A.x,A.y),v=c2t(y,I,A),B=[],Q=v.mapInfos;return o.forEach(function(T){let w=T.lastIndexOf("/"),S=T.substring(w+1);Q.forEach(function(D){let R=D.url,P=R.lastIndexOf("/"),M=R.substring(P+1);S===M&&B.push({imageName:M,offsetx:D.offsetx,offsety:D.offsety,width:D.width,height:D.height})})}),{data:v.data,indexInfos:B}}).catch(function(x){console.log(x)})}var d2t=h2t,kte=d2t,rR=0,ab=new rt(4096,4096);function U_(o,A,f){return new Gt(Math.cos(f)*o.x,-Math.sin(f)*o.x,A.x,Math.sin(f)*o.y,Math.cos(f)*o.y,A.y,0,0,1)}function lze(o){o=oe(o,{}),this.name="LineMaterialStage",this.filterType=oe(o.filterType,[]),this.bindFilterType=++rR,this.weight=oe(o.weight,1),this.alpha=oe(o.alpha,1),this._speed=oe(o.speed,1),this._width=oe(o.width,2),this._maxHeight=100,this.uniforms={u_height:{type:Ko.FLOAT,value:0},u_lineColor:{type:Ko.VEC3,value:new Z(2,2,2)},u_rtcNormalize:{type:Ko.VEC3,value:new Z(2,2,2)},u_rtcScale:{type:Ko.VEC3,value:new Z},u_lineWidth:{type:Ko.FLOAT,value:this._width}};let A=this,f=this.uniforms.u_height;this.updateCallBack=function(){let C=f.value;C>A._maxHeight?C=0:C+=.4*A._speed,f.value=C},this.varyings={v_nor:cC.VEC3,v_pos:cC.VEC3},this.vertexShaderText=` void dealVSLineMaterialStage(VertexInput vsInput, inout czm_modelVertexOutput vsOutput) { v_nor = vsInput.attributes.normalMC; v_pos = getPosition(vsInput); } `,this.callVSFunction=`dealVSLineMaterialStage(vsInput, vsOutput); `;let m=1-this.weight;this.fragmentShaderText=` void dealFSLineMaterialStage(FragmentInput fsInput, inout czm_modelMaterial material){ vec3 faceNormalize = v_nor; vec3 upAxis = getAxis(faceNormalize); vec3 normalAxis = faceNormalize; float height = dot(v_pos, upAxis); if(dot(faceNormalize, upAxis) < 0.02) { if((height < u_height) && (u_height < height + u_lineWidth)){ vec3 diffuse = material.diffuse; material.diffuse = diffuse * ${m.toFixed(2)} + u_lineColor * ${this.weight.toFixed(2)}; } } } `,this.callFSFunction=`dealFSLineMaterialStage(fsInput, material); `,this.fsCallback=function(C,E){return""}}Object.defineProperties(lze.prototype,{lineColor:{get:function(){return this.uniforms.u_lineColor.value},set:function(o){this.uniforms.u_lineColor.value=o}},maxHeight:{get:function(){return this._maxHeight},set:function(o){this._maxHeight=o}},width:{get:function(){return this.uniforms.u_lineWidth.value},set:function(o){this.uniforms.u_lineWidth.value=o}},speed:{get:function(){return this._speed},set:function(o){this._speed=o}}});function uze(o){o=oe(o,{}),this.name="GradientMaterialStage",this.filterType=oe(o.filterType,[]),this.bindFilterType=++rR,this.weight=oe(o.weight,1),this.alpha=oe(o.alpha,1),this.uniforms={u_maxHeight:{type:Ko.FLOAT,value:100},u_gradientColor:{type:Ko.VEC3,value:new Z(0,0,1)},u_rtcNormalize:{type:Ko.VEC3,value:new Z},u_rtcScale:{type:Ko.VEC3,value:new Z}},this.updateCallBack=function(){},this.varyings={v_pos:cC.VEC3},this.vertexShaderText=` void dealVSGradientMaterialStage(VertexInput vsInput, inout czm_modelVertexOutput vsOutput) { v_pos = getPosition(vsInput); } `,this.callVSFunction=`dealVSGradientMaterialStage(vsInput, vsOutput); `;let A=1-this.weight;this.fragmentShaderText=` void dealFSGradientMaterialStage(FragmentInput fsInput, inout czm_modelMaterial material){ vec3 nor = vec3(0.0, 0.0, 0.0); vec3 upAxis = getAxis(nor); float height = dot(v_pos, upAxis); float rgb = height/u_maxHeight; material.diffuse = material.diffuse * ${A.toFixed(2)} + u_gradientColor * rgb * ${this.weight.toFixed(2)}; } `,this.callFSFunction=`dealFSGradientMaterialStage(fsInput, material); `,this.fsCallback=function(f,m){return""}}Object.defineProperties(uze.prototype,{gradientColor:{get:function(){return this.uniforms.u_gradientColor.value},set:function(o){this.uniforms.u_gradientColor.value=o}},maxHeight:{get:function(){return this.uniforms.u_maxHeight.value},set:function(o){this.uniforms.u_maxHeight.value=o}}});function Aze(o){o=oe(o,{}),this.name="NormalizeMaterialStage",this.filterType=oe(o.filterType,[]),this.bindFilterType=++rR,this.alpha=oe(o.alpha,1),this.weight=oe(o.weight,1),this.uniforms={u_rtcNormalize:{type:Ko.VEC3,value:new Z},u_rtcScale:{type:Ko.VEC3,value:new Z},u_normalScale:{type:Ko.FLOAT,value:.3},u_lightScale:{type:Ko.FLOAT,value:.7}},this.updateCallBack=function(){},this.varyings={},this.vertexShaderText="",this.callVSFunction="",this.fragmentShaderText=` void dealFSNormalizeMaterialStage(FragmentInput fsInput, inout czm_modelMaterial material) { // \u53CD\u8F6C\u6CD5\u7EBF // vec3 normalScale = material.normalEC; // normalScale = normalize(normalScale); // float scaleFactor = dot(czm_lightDirectionEC, normalScale); // material.normalEC = (scaleFactor > 0.0 ? normalScale : -normalScale); vec3 normal = material.normalEC * u_normalScale + czm_lightDirectionEC * u_lightScale; material.normalEC = normalize(normal); } `,this.callFSFunction=`dealFSNormalizeMaterialStage(fsInput, material); `,this.fsCallback=function(A,f){return""}}Object.defineProperties(Aze.prototype,{normalScale:{get:function(){return this.uniforms.u_normalScale.value},set:function(o){this.uniforms.u_normalScale.value=o}},lightScale:{get:function(){return this.uniforms.u_lightScale.value},set:function(o){this.uniforms.u_lightScale.value=o}}});function cze(o){o=oe(o,{}),this.name="DynamicColorMaterialStage",this.filterType=oe(o.filterType,[]),this.bindFilterType=++rR,this.alpha=oe(o.alpha,1),this._speed=oe(o.speed,1),this.weight=oe(o.weight,1),this.uniforms={u_timeIndex:{type:Ko.FLOAT,value:1},u_rtcNormalize:{type:Ko.VEC3,value:new Z},u_rtcScale:{type:Ko.VEC3,value:new Z}};let A=this,f=this.uniforms.u_timeIndex,m=.002;this.updateCallBack=function(){let E=f.value;(E>1||E<0)&&(m=-m),f.value+=m*A._speed},this.varyings={v_pos:cC.VEC3,v_nor:cC.VEC3},this.vertexShaderText=` void dealVSDynamicColorMaterialStage(VertexInput vsInput, inout czm_modelVertexOutput vsOutput) { v_pos = getPosition(vsInput); } `,this.callVSFunction=`dealVSDynamicColorMaterialStage(vsInput, vsOutput); `;let C=1-this.weight;this.fragmentShaderText=` void dealFSDynamicColorMaterialStage(FragmentInput fsInput, inout czm_modelMaterial material){ vec3 nor = vec3(0.0, 0.0, 0.0); vec3 upAxis = getAxis(nor); float height = dot(v_pos, upAxis); float step = height * u_timeIndex; vec3 color = vec3(step * 0.008, (100.0 - step) * 0.008, step * 0.008); vec3 diffuse = material.diffuse; material.diffuse = diffuse * ${C.toFixed(2)} + color * ${this.weight.toFixed(2)}; } `,this.callFSFunction=`dealFSDynamicColorMaterialStage(fsInput, material); `,this.fsCallback=function(E,x){return""}}Object.defineProperties(cze.prototype,{speed:{get:function(){return this._speed},set:function(o){this._speed=o}}});function hze(o){o=oe(o,{}),this.name="TextureMaterialStage",this.filterType=oe(o.filterType,[]),this.bindFilterType=++rR,this.alpha=oe(o.alpha,1),this.weight=oe(o.weight,1),this._uvScale=new rt(1/64,1/64),this._uvTranslate=new rt(0,0),this._uvRotate=0/180*3.14;let A=U_(this._uvScale,this._uvTranslate,this._uvRotate);this.uniforms={u_TextureMap:{type:Ko.SAMPLER_2D,value:new vEe({url:o.url})},u_TextureMapSize:{type:Ko.VEC2,value:new rt(512,512)},u_changeIndex:{type:Ko.FLOAT,value:0},u_TextureMapMatrix:{type:Ko.MAT3,value:A},u_rtcNormalize:{type:Ko.VEC3,value:new Z},u_rtcScale:{type:Ko.VEC3,value:new Z}},this.updateCallBack=function(){},this.varyings={v_pos:cC.VEC3,v_nor:cC.VEC3},this.vertexShaderText=` void dealVSTextureMaterialStage(VertexInput vsInput, inout czm_modelVertexOutput vsOutput) { v_pos = getPosition(vsInput); v_nor = vsInput.attributes.normalMC; } `,this.callVSFunction=`dealVSTextureMaterialStage(vsInput, vsOutput); `;let f=1-this.weight;this.fragmentShaderText=`void dealTextureMaterialStage(FragmentInput fsInput, inout czm_modelMaterial material){ int mapWidth = int(u_TextureMapSize.x); int mapHeight = int(u_TextureMapSize.y); //\u4F7F\u7528\u7684\u662F\u9ED8\u8BA4\u56FE\u7247 if(mapWidth == 1 && mapHeight == 1) return; vec3 faceNormalize = v_nor; vec3 upAxis = getAxis(faceNormalize); vec3 normalAxis = faceNormalize; // \u4E16\u754C\u7A7A\u95F4\u8F6C\u6362\u4E3Auv\u7A7A\u95F4 vec3 uvPos = tranformUv(upAxis, normalAxis, v_pos); // \u9650\u5236\u4F4D\u7F6E if(dot(faceNormalize, upAxis) < 0.2) { //\u5E73\u79FB\u65CB\u8F6C\u548C\u7F29\u653E uvPos = u_TextureMapMatrix * uvPos; // [0~1]\u8F6C\u6362\u5230[0~mapWidth]\u4E4B\u95F4\u7684\u6574\u6570 ivec2 rUv = repeatUV(uvPos, mapWidth, mapHeight); int uvPosX = rUv.x; int uvPosY = rUv.y; vec3 textureColor = texture(u_TextureMap, vec2(float(uvPosX) / float(mapWidth) , float(uvPosY) / float(mapHeight))).rgb; // if(0.0 < u_changeIndex && u_changeIndex < 0.3) { // textureColor = vec3(textureColor.r) * u_changeIndex; // } else if(0.3 < u_changeIndex && u_changeIndex < 0.6) { // textureColor = vec3(textureColor.g) * u_changeIndex; // } else if(0.6 < u_changeIndex && u_changeIndex < 1.0) { // textureColor = vec3(textureColor.b) * u_changeIndex; // } material.diffuse = material.diffuse * ${f.toFixed(2)} + textureColor * ${this.weight.toFixed(2)}; // if(textureColor.r > 0.3) { // discard; // } } } `,this.callFSFunction=`dealTextureMaterialStage(fsInput, material); `,this.fsCallback=function(m,C){return""}}Object.defineProperties(hze.prototype,{uvScale:{get:function(){return this._uvScale},set:function(o){this._uvScale=new rt(1/o.x,1/o.y),this.uniforms.u_TextureMapMatrix.value=U_(this._uvScale,this._uvTranslate,this._uvRotate)}},uvTranslate:{get:function(){return this._uvTranslate},set:function(o){this._uvTranslate=o,this.uniforms.u_TextureMapMatrix.value=U_(this._uvScale,this._uvTranslate,this._uvRotate)}},uvAngle:{get:function(){return this._uvRotate},set:function(o){this._uvRotate=o,this.uniforms.u_TextureMapMatrix.value=U_(this._uvScale,this._uvTranslate,this._uvRotate)}}});function Ote(o){o=oe(o,{}),this.name="TextureMaterialStageEx",this.weight=oe(o.weight,1),this.alpha=oe(o.alpha,1),this.filterType=oe(o.filterType,[]),this.bindFilterType=[];let A=this.filterType.length;for(let x=0;x{f.push(x)}),this.uplaod=!1,this.imageData=null,this.reay=!1;let m=this;kte(f,ab).then(function(x){m.imageData=x,m.textureMap=new Nn({context:o.context,source:{width:ab.x,height:ab.y,arrayBufferView:x.data},flipY:!1}),m.reay=!0}).catch(function(x){throw new Ai("image load fail")}),this._uvScale=new rt(1/64,1/64),this._uvTranslate=new rt(0,0),this._uvRotate=0/180*3.14;let C=U_(this._uvScale,this._uvTranslate,this._uvRotate);this.uniforms={u_TextureMap:{type:Ko.SAMPLER_2D,value:this._defaultTexture},u_TextureMapSize:{type:Ko.INT_VEC2,value:ab},u_TextureMapMatrix:{type:Ko.MAT3,value:C},u_rtcNormalize:{type:Ko.VEC3,value:new Z},u_rtcScale:{type:Ko.VEC3,value:new Z}},this.updateCallBack=function(){!m.uplaod&&m.textureMap&&(m.uniforms.u_TextureMap.value=m.textureMap,m.uniforms.u_TextureMapSize.value=ab,m.uplaod=!0)},this.varyings={v_pos:cC.VEC3,v_nor:cC.VEC3},this.vertexShaderText=` void dealVSTextureMaterialStageEx(VertexInput vsInput, inout czm_modelVertexOutput vsOutput) { v_pos = getPosition(vsInput); v_nor = vsInput.attributes.normalMC; } `,this.callVSFunction=`dealVSTextureMaterialStageEx(vsInput, vsOutput); `;let E=1-this.weight;this.fragmentShaderText=` void dealTextureMaterialStageEx(FragmentInput fsInput, inout czm_modelMaterial material, ivec2 offset, ivec2 dimension){ int mapWidth = u_TextureMapSize.x; int mapHeight = u_TextureMapSize.y; //\u4F7F\u7528\u7684\u662F\u9ED8\u8BA4\u56FE\u7247 if(mapWidth == 1 && mapHeight == 1) return; vec3 faceNormalize = v_nor; vec3 upAxis = getAxis(faceNormalize); vec3 normalAxis = faceNormalize; // \u4E16\u754C\u7A7A\u95F4\u8F6C\u6362\u4E3Auv\u7A7A\u95F4 vec3 uvPos = tranformUv(upAxis, normalAxis, v_pos); // \u9650\u5236\u4F4D\u7F6E if(dot(faceNormalize, upAxis) < 0.2) { int offsetY = offset.y; int offsetX = offset.x; int tileWidth = dimension.x; int tileHeight = dimension.y; //\u5E73\u79FB\u65CB\u8F6C\u548C\u7F29\u653E uvPos = u_TextureMapMatrix * uvPos; // [0~1]\u8F6C\u6362\u5230[0~tileWidth]\u4E4B\u95F4\u7684\u6574\u6570 ivec2 rUv = repeatUV(uvPos, tileWidth, tileHeight); int uvPosX = rUv.x; int uvPosY = rUv.y; uvPosX += offsetX; uvPosY += offsetY; vec3 textureColor = texture(u_TextureMap, vec2(float(uvPosX) / float(mapWidth) , float(uvPosY) / float(mapHeight))).rgb; material.diffuse = material.diffuse * ${E.toFixed(2)} + textureColor * ${this.weight.toFixed(2)}; } } `,this.callFSFunction=`dealTextureMaterialStageEx(fsInput, material, offset, dimension); `,this.fsCallback=function(x,y){if(!m.uplaod)return"";let I=m.filterType.indexOf(x),v=m.imageData.indexInfos[I];return` offset = ivec2(${parseInt(v.offsetx)}, ${parseInt(v.offsety)}); dimension = ivec2(${parseInt(v.width)}, ${parseInt(v.height)}); `}}Object.defineProperties(Ote.prototype,{uvScale:{get:function(){return this._uvScale},set:function(o){this._uvScale=new rt(1/o.x,1/o.y),this.uniforms.u_TextureMapMatrix.value=U_(this._uvScale,this._uvTranslate,this._uvRotate)}},uvTranslate:{get:function(){return this._uvTranslate},set:function(o){this._uvTranslate=o,this.uniforms.u_TextureMapMatrix.value=U_(this._uvScale,this._uvTranslate,this._uvRotate)}},uvAngle:{get:function(){return this._uvRotate},set:function(o){this._uvRotate=o,this.uniforms.u_TextureMapMatrix.value=U_(this._uvScale,this._uvTranslate,this._uvRotate)}}});function dze(o){o=oe(o,{}),this.name="ReflectMaterialStage",this.filterType=oe(o.filterType,[]),this.bindFilterType=++rR,this.weight=oe(o.weight,1),this.uniforms={u_specular:{type:Ko.VEC3,value:new Z(.2,.2,.2)},u_roughness:{type:Ko.FLOAT,value:.8},u_rtcNormalize:{type:Ko.VEC3,value:new Z},u_rtcScale:{type:Ko.VEC3,value:new Z}},this.updateCallBack=function(){},this.vertexShaderText="",this.callVSFunction="",this.fragmentShaderText=` void dealReflectMaterialStage(FragmentInput fsInput, inout czm_modelMaterial material){ material.roughness = u_roughness; material.specular = u_specular; } `,this.callFSFunction=`dealReflectMaterialStage(fsInput, material); `,this.fsCallback=function(A,f){return""}}Object.defineProperties(dze.prototype,{specular:{get:function(){return this.uniforms.u_specular.value},set:function(o){this.uniforms.u_specular.value=o}},roughness:{get:function(){return this.uniforms.u_roughness.value},set:function(o){this.uniforms.u_roughness.value=o}}});function Ute(o){o=oe(o,{}),this.name="ReflectTextureMaterialStage",this.filterType=oe(o.filterType,[]),this.alpha=oe(o.alpha,1),this.weight=oe(o.weight,1),this.bindFilterType=[];let A=this.filterType.length;for(let E=0;E{f.push(E)}),this.uplaod=!1,this.imageData=null,this.reay=!1;let m=this;kte(f,ab).then(function(E){m.imageData=E,m.textureMap=new Nn({context:o.context,source:{width:ab.x,height:ab.y,arrayBufferView:E.data},flipY:!1}),m.reay=!0}).catch(function(E){throw new Ai("image load fail")}),this._uvScale=new rt(1/64,1/16),this._uvTranslate=new rt(0,0),this._uvRotate=0/180*3.14;let C=U_(this._uvScale,this._uvTranslate,this._uvRotate);this.uniforms={u_TextureMap:{type:Ko.SAMPLER_2D,value:this._defaultTexture},u_TextureMapSize:{type:Ko.INT_VEC2,value:ab},u_TextureMapMatrix:{type:Ko.MAT3,value:C},u_rtcNormalize:{type:Ko.VEC3,value:new Z},u_rtcScale:{type:Ko.VEC3,value:new Z},u_colorScale:{type:Ko.VEC3,value:new Z(.5,.5,.5)},u_topColor:{type:Ko.VEC3,value:new Z(.5,.5,.5)}},this.updateCallBack=function(){!m.uplaod&&m.textureMap&&(m.uniforms.u_TextureMap.value=m.textureMap,m.uniforms.u_TextureMapSize.value=ab,m.uplaod=!0)},this.varyings={v_pos:cC.VEC3,v_nor:cC.VEC3},this.vertexShaderText=` void dealVSReflectTextureMaterialStage(VertexInput vsInput, inout czm_modelVertexOutput vsOutput) { v_pos = getPosition(vsInput); v_nor = vsInput.attributes.normalMC; } `,this.callVSFunction=`dealVSReflectTextureMaterialStage(vsInput, vsOutput); `,this.fragmentShaderText=` void dealFsReflectTextureMaterialStage(FragmentInput fsInput, inout czm_modelMaterial material, ivec2 offset, ivec2 dimension){ int mapWidth = u_TextureMapSize.x; int mapHeight = u_TextureMapSize.y; //\u4F7F\u7528\u7684\u662F\u9ED8\u8BA4\u56FE\u7247 if(mapWidth == 1 && mapHeight == 1) return; vec3 faceNormalize = v_nor; vec3 upAxis = getAxis(faceNormalize); vec3 normalAxis = faceNormalize; // \u4E16\u754C\u7A7A\u95F4\u8F6C\u6362\u4E3Auv\u7A7A\u95F4 vec3 uvPos = tranformUv(upAxis, normalAxis, v_pos); // \u9650\u5236\u4F4D\u7F6E if(dot(faceNormalize, upAxis) < 0.2) { int offsetY = offset.y; int offsetX = offset.x; int tileWidth = dimension.x; int tileHeight = dimension.y; //\u5E73\u79FB\u65CB\u8F6C\u548C\u7F29\u653E uvPos = u_TextureMapMatrix * uvPos; // [0~1]\u8F6C\u6362\u5230[0~tileWidth]\u4E4B\u95F4\u7684\u6574\u6570 ivec2 rUv = repeatUV(uvPos, tileWidth, tileHeight); int uvPosX = rUv.x; int uvPosY = rUv.y; uvPosX += offsetX; uvPosY += offsetY; vec3 textureColor = texture(u_TextureMap, vec2(float(uvPosX) / float(mapWidth) , float(uvPosY) / float(mapHeight))).rgb; float height = dot(uvPos, upAxis); //if(height > 0.4) { if(textureColor.r > 0.99 && textureColor.g > 0.99) { material.roughness = 0.0; material.specular = vec3(1.0, 1.0, 1.0); material.diffuse = vec3(1.0, 1.0, 1.0); material.normalEC = normalize(czm_lightDirectionEC); } else { material.roughness = 1.0; material.specular = vec3(0.0, 0.0, 0.0); material.diffuse = textureColor * u_colorScale; } // } else { // material.roughness = 1.0; // material.specular = vec3(0.0, 0.0, 0.0); // material.diffuse = vec3(0.2,0.2,0.2); // } } else { material.diffuse = u_topColor; } } `,this.callFSFunction=`dealFsReflectTextureMaterialStage(fsInput, material, offset, dimension); `,this.fsCallback=function(E,x){if(!m.uplaod)return"";let y=m.filterType.indexOf(E),I=m.imageData.indexInfos[y];return` offset = ivec2(${parseInt(I.offsetx)}, ${parseInt(I.offsety)}); dimension = ivec2(${parseInt(I.width)}, ${parseInt(I.height)}); `}}Object.defineProperties(Ute.prototype,{colorScale:{get:function(){return this.uniforms.u_colorScale.value},set:function(o){this.uniforms.u_colorScale.value=o}},topColor:{get:function(){return this.uniforms.u_topColor.value},set:function(o){this.uniforms.u_topColor.value=o}},uvScale:{get:function(){return this._uvScale},set:function(o){this._uvScale=new rt(1/o.x,1/o.y),this.uniforms.u_TextureMapMatrix.value=U_(this._uvScale,this._uvTranslate,this._uvRotate)}},uvTranslate:{get:function(){return this._uvTranslate},set:function(o){this._uvTranslate=o,this.uniforms.u_TextureMapMatrix.value=U_(this._uvScale,this._uvTranslate,this._uvRotate)}},uvAngle:{get:function(){return this._uvRotate},set:function(o){this._uvRotate=o,this.uniforms.u_TextureMapMatrix.value=U_(this._uvScale,this._uvTranslate,this._uvRotate)}}});function lG(o,A){A=oe(A,{}),this._names={},this._filterTypes={},this._bindFilterTypes={},this._alphas={},this._uniforms={},this._varyings={},this._vertexShaderTexts={},this._callVSFunctions={},this._fragmentShaderTexts={},this._callFSFunctions={},this._updateCallbacks={},this._fsCallbacks={},this._order=[],this._tileset=o,this._dirty=!1,this._lightingModel=oe(A.lightingModel,Mx.PBR),this._GisServerModel=oe(A.GisServerModel,!1),this._upAxis=oe(A.upAxis,new Z(0,0,1)),this._textureMaterialStageEx=null,this._reflectTextureMaterialStage=null}lG.prototype.addStage=function(o){if(!O(o))throw new Ai("materialStage is undefined");o instanceof Ote&&(this._textureMaterialStageEx=o),o instanceof Ute&&(this._reflectTextureMaterialStage=o);let A=o.name;if(this._names[A])throw new Ai("this materialStage is exist");let f=o.filterType,m=this._filterTypes;m[A]=f;let C=o.bindFilterType,E=this._bindFilterTypes;E[A]=C;let x=o.alpha,y=this._alphas;y[A]=x;let I=o.uniforms,v=this._uniforms;v[A]=I;let B=o.varyings,Q=this._varyings;Q[A]=B,this._vertexShaderTexts[A]=o.vertexShaderText,this._callVSFunctions[A]=o.callVSFunction,this._fragmentShaderTexts[A]=o.fragmentShaderText,this._callFSFunctions[A]=o.callFSFunction,this._updateCallbacks[A]=o.updateCallBack,this._fsCallbacks[A]=o.fsCallback,this._order.push(A),this._dirty=!0};lG.prototype.updateStage=function(o){if(!O(o))throw new Ai("materialStage is undefined");let A=o.name;this._names[A]&&this.removeStage(A),this.addStage(o),o instanceof Ote&&(this._dirty=!1),o instanceof Ute&&(this._dirty=!1)};function f2t(o,A){for(let f=0;f0){E=!0;break}let y=this._bindFilterTypes;for(let M in y)y.hasOwnProperty(M)&&(o[M]=y[M]);let I="",v=this._vertexShaderTexts;for(let M in v)if(v.hasOwnProperty(M)){let L=v[M];I+=L}I+="void vertexMain(VertexInput vsInput, inout czm_modelVertexOutput vsOutput) {";let B=this._callVSFunctions;for(let M in B)if(B.hasOwnProperty(M)){let L=B[M];I+=L}I+="}";let Q="",T=this._fragmentShaderTexts;for(let M in T)if(T.hasOwnProperty(M)){let L=T[M];Q+=L}E?Q+=`void fragmentMainAndStyle(FragmentInput fsInput, inout czm_modelMaterial material, SelectedFeature selectedFeature) { ivec2 offset = ivec2(0, 0); ivec2 dimension = ivec2(0, 0); float type = selectedFeature.color.r * 255.0; `:Q+=`void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) { ivec2 offset = ivec2(0, 0); ivec2 dimension = ivec2(0, 0); `;let w=this._fsCallbacks,S=this._callFSFunctions;for(let M in S)if(S.hasOwnProperty(M)){let L=S[M],F=w[M],k=x[M];if(k.length>0){let N=o[M];if(N instanceof Array)for(let G=0;G 0.99){ faceNormalize = ${R}; } upAxis = normalize(u_rtcNormalize); #endif return upAxis; } vec3 tranformUv(in vec3 upAxis, in vec3 normalAxis, in vec3 pos){ vec3 rightAxis = cross(upAxis, normalAxis); rightAxis = normalize(rightAxis); mat3 transformUv = mat3( rightAxis.x,rightAxis.y,rightAxis.z, upAxis.x,upAxis.y,upAxis.z, normalAxis.x,normalAxis.y,normalAxis.z ); mat3 inverseUv = inverse_mat3(transformUv); return inverseUv * pos; } ivec2 repeatUV(in vec3 uvPos, int tileWidth, int tileHeight){ // [0~1]\u8F6C\u6362\u5230[0~tileWidth]\u4E4B\u95F4\u7684\u6574\u6570 int uvPosX = int(uvPos.x * float(tileWidth)); int uvPosY = int(uvPos.y * float(tileHeight)); // \u7EB9\u7406\u91CD\u590D if(uvPosX < 0) { // \u8D1F\u6570\u8F6C\u6B63 uvPosX = uvPosX - (uvPosX / tileWidth) * tileWidth + tileWidth; } else { uvPosX = uvPosX - (uvPosX / tileWidth) * tileWidth; } if(uvPosY < 0) { // \u8D1F\u6570\u8F6C\u6B63 uvPosY = uvPosY - (uvPosY / tileHeight) * tileHeight + tileHeight; } else { uvPosY = uvPosY - (uvPosY / tileHeight) * tileHeight; } return ivec2(uvPosX, uvPosY); } `+Q,this._GisServerModel||(Q=` #define NO_GISSERVER ${Q}`);let P=new cv({lightingModel:this._lightingModel,uniforms:A,varyings:f,vertexShaderText:I,fragmentShaderText:Q});return E&&(P.andStyle=!0),P};lG.prototype.update=function(){let o=this._tileset,A=this._updateCallbacks;for(let y in A)A.hasOwnProperty(y)&&A[y]();if(this._textureMaterialStageEx&&this._textureMaterialStageEx.reay&&(this._textureMaterialStageEx.reay=!1,this._dirty=!0),this._reflectTextureMaterialStage&&this._reflectTextureMaterialStage.reay&&(this._reflectTextureMaterialStage.reay=!1,this._dirty=!0),!this._dirty)return;this._dirty=!1;let f=this.combineStage();o.customShader=f;let m=[],C=this._filterTypes,E=this._bindFilterTypes,x=this._alphas;for(let y in E)if(E.hasOwnProperty(y)){let I=C[y],v=E[y],B=x[y];if(I.length>0)if(v instanceof Array)for(let Q=0;Q0&&(o.style=new qb({defines:{},color:{conditions:m}}))};var Gte={LineMaterialStage:lze,CustomShaderStage:lG,GradientMaterialStage:uze,NormalizeMaterialStage:Aze,DynamicColorMaterialStage:cze,TextureMaterialStage:hze,TextureMaterialStageEx:Ote,ReflectMaterialStage:dze,ReflectTextureMaterialStage:Ute};function nR(o){if(o=oe(o,oe.EMPTY_OBJECT),this._ellipsoid=oe(o.ellipsoid,Ci.WGS84),this._numberOfLevelZeroTilesX=oe(o.numberOfLevelZeroTilesX,1),this._numberOfLevelZeroTilesY=oe(o.numberOfLevelZeroTilesY,1),this._projection=new oG(o.customEPSG,this._ellipsoid),O(o.rectangleSouthwestInMeters)&&O(o.rectangleNortheastInMeters))this._rectangleSouthwestInMeters=o.rectangleSouthwestInMeters,this._rectangleNortheastInMeters=o.rectangleNortheastInMeters;else{let m=this._ellipsoid.maximumRadius*Math.PI;this._rectangleSouthwestInMeters=new rt(-m,-m),this._rectangleNortheastInMeters=new rt(m,m)}let A=this._projection.unproject(this._rectangleSouthwestInMeters),f=this._projection.unproject(this._rectangleNortheastInMeters);this._rectangle=new gi(A.longitude,A.latitude,f.longitude,f.latitude)}Object.defineProperties(nR.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}});nR.prototype.getNumberOfXTilesAtLevel=function(o){return this._numberOfLevelZeroTilesX<=C&&(Q=C-1);let T=B/y|0;return T>=E&&(T=E-1),O(f)?(f.x=Q,f.y=T,f):new rt(Q,T)};var fze=nR,g2t=Dc(K6e(),1),Wz=g2t;function p2t(o,A){return new Nn({context:A.context,pixelFormat:$r.RGBA,pixelDatatype:$r.UNSIGNED_BYTE,source:{width:1,height:1024,arrayBufferView:o},sampler:new Oa({wrapS:Vo.CLAMP_TO_EDGE,wrapT:Vo.CLAMP_TO_EDGE,minificationFilter:Ba.LINEAR,magnificationFilter:Wu.LINEAR})})}var m2t={trustGenerator:["fanfan"],_defaultFloodAnalysis:{floodVar:[0,0,0,500],ym_pos_x:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],ym_pos_y:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],ym_pos_z:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],rect_flood:[0,0,0,0,0,0,0,0,0],floodSpeed:1,ym_max_index:0,globe:!0,showElseArea:!0},floodAnalysis:{floodVar:[0,0,0,500],ym_pos_x:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],ym_pos_y:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],ym_pos_z:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],rect_flood:[0,0,0,0,0,0,0,0,0],floodSpeed:1,ym_max_index:0,globe:!0,showElseArea:!0},resetFloodAnalysis:function(){this.floodAnalysis=Sn(this._defaultFloodAnalysis)},_defaultExcavateAnalysis:{splitNum:30,showSelfOnly:!1,dig_pos_x:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],dig_pos_y:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],dig_pos_z:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],rect_dig:[0,0,0,0,0,0,0,0,0],dig_max_index:0,excavateHeight:0,excavateMinHeight:9999,excavatePerPoint:!1},excavateAnalysis:{splitNum:30,showSelfOnly:!1,dig_pos_x:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],dig_pos_y:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],dig_pos_z:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],rect_dig:[0,0,0,0,0,0,0,0,0],dig_max_index:0,excavateHeight:0,excavateMinHeight:9999,excavatePerPoint:!1},resetExcavateAnalysis:function(){this.excavateAnalysis=Sn(this._defaultExcavateAnalysis)},_defaultTilesEditor:{floodVar:[0,0,0,0],flatRect:[0,0,0,0,0,0,0,0,0],yp_mat_x:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],yp_mat_y:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],yp_mat_z:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],yp_max_index:0,model_min_height:50,IsYaPing:[!1,!1,!1,!1],yp_show_InOrOut:[!1,!0,!0,!1],yp_black_texture:null,hm_dh_attr:[50,1,100],modelLight:2.2,times:new Date().getTime(),floodColor:[0,0,0,.5]},tilesEditor:{floodVar:[0,0,0,0],flatRect:[0,0,0,0,0,0,0,0,0],yp_mat_x:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],yp_mat_y:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],yp_mat_z:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],yp_max_index:0,model_min_height:50,IsYaPing:[!1,!1,!1,!1],yp_show_InOrOut:[!1,!0,!0,!1],yp_black_texture:null,hm_dh_attr:[50,1,100],modelLight:2.2,times:new Date().getTime(),floodColor:[0,0,0,.5]},resetTilesEditor:function(){this.tilesEditor=Sn(this._defaultTilesEditor)},underEarth:{cullFace:void 0,enable:void 0,enableDepth:100,enableSkirt:!1},occlusionOpen:!0,Ellipsoid:{x:6378137,y:6378137,z:6356752314140356e-9},displaySlopeMap:!1,_smoothSlopeAtHigherAlt:!1,get smoothSlopeAtHigherAlt(){return this._smoothSlopeAtHigherAlt},set smoothSlopeAtHigherAlt(o){this._smoothSlopeAtHigherAlt=o},isSlopeDirty:!0,_sTex:[],get SlopeMapPallete(){return this._sTex.length<=0&&(this._sTex.push({val:100*Math.cos(Be.toRadians(90)),color:"#FF0000"}),this._sTex.push({val:100*Math.cos(Be.toRadians(70)),color:"#FF0000"}),this._sTex.push({val:100*Math.cos(Be.toRadians(45)),color:"#FF8000"}),this._sTex.push({val:100*Math.cos(Be.toRadians(31)),color:"#FFF000"}),this._sTex.push({val:100*Math.cos(Be.toRadians(17)),color:"#00FF00"}),this._sTex.push({val:100*Math.cos(Be.toRadians(6)),color:"#0000FF"}),this._sTex.push({val:100*Math.cos(Be.toRadians(0)),color:"#00FFFF"})),this._sTex},set SlopeMapPallete(o){this._sTex=o},createElevationTextureFromPallete:function(o,A){let f=new Uint8Array(4096),m=o[0].val,C=o[o.length-1].val,E=m-C,x=C,y=1024/E,I=0;I=o.length;for(let B=I-1;B>0;B--){let Q=o[B].color.replace("#",""),T=o[B-1].color.replace("#",""),w=parseInt(Q,16),S=parseInt(T,16),D=o[B].val,R=o[B-1].val,P=Math.floor((D-x)*y+.5),M=Math.floor((R-x)*y+.5),L=M-P;if(L===0)continue;let F=(w&16711680)>>16<<16,k=(w&65280)>>8<<16,N=(w&255)<<16,G=(S&16711680)>>16<<16,J=(S&65280)>>8<<16,K=(S&255)<<16,X=Math.floor((G-F)/L),q=Math.floor((J-k)/L),ee=Math.floor((K-N)/L);for(let ie=P;ie>16,f[ie*4+1]=k>>16,f[ie*4+2]=N>>16,f[ie*4+3]=255}let v=p2t(f,A);return this._slopeTex=v,this.slopeMapTexture=this._slopeTex,v},setSlopeMapPallete:function(o){let A=[];if(o=Object.entries(o),o.length>0&&o.forEach(function(f){f.length===2&&f[0]>=0&&f[0]<=90&&A.push({val:100*Math.cos(Be.toRadians(f[0])),color:f[1]})}),A.length===0){console.log("Error setting new pallete for slope map");return}A.sort(function(f,m){return f.val=C&&(v=C-1);let B=(m.north-o.latitude)/y|0;return B>=E&&(B=E-1),O(f)?(f.x=v,f.y=B,f):new rt(v,B)};var th=oR,_Fe=new Z,vFe=new Z,BFe=new Rt,AAe=new Z,E2t=new Z,wFe=new hi,x2t=new th,$6=[new Rt,new Rt,new Rt,new Rt],eV=new rt,mf={};mf.initialize=function(){let o=mf._initPromise;return O(o)||(o=Cr.fetchJson(ja("Assets/approximateTerrainHeights.json")).then(function(A){if(cE.changeApproximateTerrainHeights===!0)for(let f in A)A.hasOwnProperty(f)&&(A[f][0]=cE.minTerrainHeight,A[f][1]=cE.maxTerrainHeight);mf._terrainHeights=A}),mf._initPromise=o),o};mf.getMinimumMaximumHeights=function(o,A){A=oe(A,Ci.WGS84);let f=pze(o),m=mf._defaultMinTerrainHeight,C=mf._defaultMaxTerrainHeight;if(O(f)){let E=`${f.level}-${f.x}-${f.y}`,x=mf._terrainHeights[E];O(x)&&(m=x[0],C=x[1]),A.cartographicToCartesian(gi.northeast(o,BFe),_Fe),A.cartographicToCartesian(gi.southwest(o,BFe),vFe),Z.midpoint(vFe,_Fe,AAe);let y=A.scaleToGeodeticSurface(AAe,E2t);if(O(y)){let I=Z.distance(AAe,y);m=Math.min(m,-I)}else m=mf._defaultMinTerrainHeight}return m=Math.max(mf._defaultMinTerrainHeight,m),{minimumTerrainHeight:m,maximumTerrainHeight:C}};mf.getBoundingSphere=function(o,A){A=oe(A,Ci.WGS84);let f=pze(o),m=mf._defaultMaxTerrainHeight;if(O(f)){let E=`${f.level}-${f.x}-${f.y}`,x=mf._terrainHeights[E];O(x)&&(m=x[1])}let C=hi.fromRectangle3D(o,A,0);return hi.fromRectangle3D(o,A,m,wFe),hi.union(C,wFe,C)};function pze(o){Rt.fromRadians(o.east,o.north,0,$6[0]),Rt.fromRadians(o.west,o.north,0,$6[1]),Rt.fromRadians(o.east,o.south,0,$6[2]),Rt.fromRadians(o.west,o.south,0,$6[3]);let A=0,f=0,m=0,C=0,E=mf._terrainHeightsMaxLevel,x;for(x=0;x<=E;++x){let y=!1;for(let I=0;I<4;++I){let v=$6[I];if(x2t.positionToTileXY(v,x,eV),I===0)m=eV.x,C=eV.y;else if(m!==eV.x||C!==eV.y){y=!0;break}}if(y)break;A=m,f=C}if(x!==0)return{x:A,y:f,level:x>E?E:x-1}}mf._terrainHeightsMaxLevel=6;mf._defaultMaxTerrainHeight=9e3;mf._defaultMinTerrainHeight=-1e5;mf._terrainHeights=void 0;mf._initPromise=void 0;Object.defineProperties(mf,{initialized:{get:function(){return O(mf._terrainHeights)}}});var $A=mf,bFe={};function jz(o,A){O(bFe[o])||(bFe[o]=!0,console.warn(oe(A,o)))}jz.geometryOutlines="Entity geometry outlines are unsupported on terrain. Outlines will be disabled. To enable outlines, disable geometry terrain clamping by explicitly setting height to 0.";jz.geometryZIndex="Entity geometry with zIndex are unsupported when height or extrudedHeight are defined. zIndex will be ignored";jz.geometryHeightReference="Entity corridor, ellipse, polygon or rectangle with heightReference must also have a defined height. heightReference will be ignored";jz.geometryExtrudedHeightReference="Entity corridor, ellipse, polygon or rectangle with extrudedHeightReference must also have a defined extrudedHeight. extrudedHeightReference will be ignored";var $o=jz;function y2t(o,A){$o(o,A)}var ii=y2t;function I2t(o){o=oe(o,oe.EMPTY_OBJECT),this.geometry=o.geometry,this.modelMatrix=Re.clone(oe(o.modelMatrix,Re.IDENTITY)),this.id=o.id,this.pickPrimitive=o.pickPrimitive,this.attributes=oe(o.attributes,{}),this.westHemisphereGeometry=void 0,this.eastHemisphereGeometry=void 0}var kn=I2t;function _2t(o){o=oe(o,oe.EMPTY_OBJECT),this.componentDatatype=o.componentDatatype,this.componentsPerAttribute=o.componentsPerAttribute,this.normalize=oe(o.normalize,!1),this.value=o.value}var jy=_2t,v2t={NONE:0,GEODESIC:1,RHUMB:2},Ia=Object.freeze(v2t),QFe=Be.EPSILON10;function B2t(o,A,f,m){if(!O(o))return;f=oe(f,!1);let C=O(m),E=o.length;if(E<2)return o;let x,y=o[0],I,v,B=0,Q=-1;for(x=1;xBe.EPSILON12);let ee=X*(A*A-f*f)/(f*f),ie=1+ee*(4096+ee*(ee*(320-175*ee)-768))/16384,H=ee*(256+ee*(ee*(74-47*ee)-128))/1024,le=q*q,ue=H*K*(q+H*(J*(2*le-1)-H*q*(4*K*K-3)*(4*le-3)/6)/4),Ae=f*ie*(G-ue),he=Math.atan2(w*N,R-M*k),ge=Math.atan2(Q*N,R*k-M);o._distance=Ae,o._startHeading=he,o._endHeading=ge,o._uSquared=ee}var S2t=new Z,cAe=new Z;function Cze(o,A,f,m){let C=Z.normalize(m.cartographicToCartesian(A,cAe),S2t),E=Z.normalize(m.cartographicToCartesian(f,cAe),cAe);Q2t(o,m.maximumRadius,m.minimumRadius,A.longitude,A.latitude,f.longitude,f.latitude),o._start=Rt.clone(A,o._start),o._end=Rt.clone(f,o._end),o._start.height=0,o._end.height=0,w2t(o)}function qz(o,A,f){let m=oe(f,Ci.WGS84);this._ellipsoid=m,this._start=new Rt,this._end=new Rt,this._constants={},this._startHeading=void 0,this._endHeading=void 0,this._distance=void 0,this._uSquared=void 0,O(o)&&O(A)&&Cze(this,o,A,m)}Object.defineProperties(qz.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},startHeading:{get:function(){return this._startHeading}},endHeading:{get:function(){return this._endHeading}}});qz.prototype.setEndPoints=function(o,A){Cze(this,o,A,this._ellipsoid)};qz.prototype.interpolateUsingFraction=function(o,A){return this.interpolateUsingSurfaceDistance(this._distance*o,A)};qz.prototype.interpolateUsingSurfaceDistance=function(o,A){let f=this._constants,m=f.distanceRatio+o/f.b,C=Math.cos(2*m),E=Math.cos(4*m),x=Math.cos(6*m),y=Math.sin(2*m),I=Math.sin(4*m),v=Math.sin(6*m),B=Math.sin(8*m),Q=m*m,T=m*Q,w=f.u8Over256,S=f.u2Over4,D=f.u6Over64,R=f.u4Over16,P=2*T*w*C/3+m*(1-S+7*R/4-15*D/4+579*w/64-(R-15*D/4+187*w/16)*C-(5*D/4-115*w/16)*E-29*w*x/16)+(S/2-R+71*D/32-85*w/16)*y+(5*R/16-5*D/4+383*w/96)*I-Q*((D-11*w/2)*y+5*w*I/2)+(29*D/96-29*w/16)*v+539*w*B/1536,M=Math.asin(Math.sin(P)*f.cosineAlpha),L=Math.atan(f.a/f.b*Math.tan(M));P=P-f.sigma;let F=Math.cos(2*f.sigma+P),k=Math.sin(P),N=Math.cos(P),G=f.cosineU*N,J=f.sineU*k,K=Math.atan2(k*f.sineHeading,G-J*f.cosineHeading)-mze(f.f,f.sineAlpha,f.cosineSquaredAlpha,P,k,N,F);return O(A)?(A.longitude=this._start.longitude+K,A.latitude=L,A.height=0,A):new Rt(this._start.longitude+K,L,0)};var dd=qz;function Afe(o,A,f){if(o===0)return A*f;let m=o*o,C=m*m,E=C*m,x=E*m,y=x*m,I=y*m,v=f,B=Math.sin(2*v),Q=Math.sin(4*v),T=Math.sin(6*v),w=Math.sin(8*v),S=Math.sin(10*v),D=Math.sin(12*v);return A*((1-m/4-3*C/64-5*E/256-175*x/16384-441*y/65536-4851*I/1048576)*v-(3*m/8+3*C/32+45*E/1024+105*x/4096+2205*y/131072+6237*I/524288)*B+(15*C/256+45*E/1024+525*x/16384+1575*y/65536+155925*I/8388608)*Q-(35*E/3072+175*x/12288+3675*y/262144+13475*I/1048576)*T+(315*x/131072+2205*y/524288+43659*I/8388608)*w-(693*y/1310720+6237*I/5242880)*S+1001*I/8388608*D)}function D2t(o,A,f){let m=o/f;if(A===0)return m;let C=m*m,E=C*m,x=E*m,y=A,I=y*y,v=I*I,B=v*I,Q=B*I,T=Q*I,w=T*I,S=Math.sin(2*m),D=Math.cos(2*m),R=Math.sin(4*m),P=Math.cos(4*m),M=Math.sin(6*m),L=Math.cos(6*m),F=Math.sin(8*m),k=Math.cos(8*m),N=Math.sin(10*m),G=Math.cos(10*m),J=Math.sin(12*m);return m+m*I/4+7*m*v/64+15*m*B/256+579*m*Q/16384+1515*m*T/65536+16837*m*w/1048576+(3*m*v/16+45*m*B/256-m*(32*C-561)*Q/4096-m*(232*C-1677)*T/16384+m*(399985-90560*C+512*x)*w/5242880)*D+(21*m*B/256+483*m*Q/4096-m*(224*C-1969)*T/16384-m*(33152*C-112599)*w/1048576)*P+(151*m*Q/4096+4681*m*T/65536+1479*m*w/16384-453*E*w/32768)*L+(1097*m*T/65536+42783*m*w/1048576)*k+8011*m*w/1048576*G+(3*I/8+3*v/16+213*B/2048-3*C*B/64+255*Q/4096-33*C*Q/512+20861*T/524288-33*C*T/512+x*T/1024+28273*w/1048576-471*C*w/8192+9*x*w/4096)*S+(21*v/256+21*B/256+533*Q/8192-21*C*Q/512+197*T/4096-315*C*T/4096+584039*w/16777216-12517*C*w/131072+7*x*w/2048)*R+(151*B/6144+151*Q/4096+5019*T/131072-453*C*T/16384+26965*w/786432-8607*C*w/131072)*M+(1097*Q/131072+1097*T/65536+225797*w/10485760-1097*C*w/65536)*F+(8011*T/2621440+8011*w/1048576)*N+293393*w/251658240*J}function t4(o,A){if(o===0)return Math.log(Math.tan(.5*(Be.PI_OVER_TWO+A)));let f=o*Math.sin(A);return Math.log(Math.tan(.5*(Be.PI_OVER_TWO+A)))-o/2*Math.log((1+f)/(1-f))}function T2t(o,A,f,m,C){let E=t4(o._ellipticity,f),x=t4(o._ellipticity,C);return Math.atan2(Be.negativePiToPi(m-A),x-E)}function M2t(o,A,f,m,C,E,x){let y=o._heading,I=E-m,v=0;if(Be.equalsEpsilon(Math.abs(y),Be.PI_OVER_TWO,Be.EPSILON8))if(A===f)v=A*Math.cos(C)*Be.negativePiToPi(I);else{let B=Math.sin(C);v=A*Math.cos(C)*Be.negativePiToPi(I)/Math.sqrt(1-o._ellipticitySquared*B*B)}else{let B=Afe(o._ellipticity,A,C);v=(Afe(o._ellipticity,A,x)-B)/Math.cos(y)}return Math.abs(v)}var P2t=new Z,hAe=new Z;function Eze(o,A,f,m){let C=Z.normalize(m.cartographicToCartesian(A,hAe),P2t),E=Z.normalize(m.cartographicToCartesian(f,hAe),hAe),x=m.maximumRadius,y=m.minimumRadius,I=x*x,v=y*y;o._ellipticitySquared=(I-v)/I,o._ellipticity=Math.sqrt(o._ellipticitySquared),o._start=Rt.clone(A,o._start),o._start.height=0,o._end=Rt.clone(f,o._end),o._end.height=0,o._heading=T2t(o,A.longitude,A.latitude,f.longitude,f.latitude),o._distance=M2t(o,m.maximumRadius,m.minimumRadius,A.longitude,A.latitude,f.longitude,f.latitude)}function xze(o,A,f,m,C,E){if(f===0)return Rt.clone(o,E);let x=C*C,y,I,v;if(Math.abs(Be.PI_OVER_TWO-Math.abs(A))>Be.EPSILON8){let B=Afe(C,m,o.latitude),Q=f*Math.cos(A),T=B+Q;I=D2t(T,C,m);let w=t4(C,o.latitude),S=t4(C,I);v=Math.tan(A)*(S-w),y=Be.negativePiToPi(o.longitude+v)}else{I=o.latitude;let B;if(C===0)B=m*Math.cos(o.latitude);else{let Q=Math.sin(o.latitude);B=m*Math.cos(o.latitude)/Math.sqrt(1-x*Q*Q)}v=f/B,A>0?y=Be.negativePiToPi(o.longitude+v):y=Be.negativePiToPi(o.longitude-v)}return O(E)?(E.longitude=y,E.latitude=I,E.height=0,E):new Rt(y,I,0)}function ID(o,A,f){let m=oe(f,Ci.WGS84);this._ellipsoid=m,this._start=new Rt,this._end=new Rt,this._heading=void 0,this._distance=void 0,this._ellipticity=void 0,this._ellipticitySquared=void 0,O(o)&&O(A)&&Eze(this,o,A,m)}Object.defineProperties(ID.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},heading:{get:function(){return this._heading}}});ID.fromStartHeadingDistance=function(o,A,f,m,C){let E=oe(m,Ci.WGS84),x=E.maximumRadius,y=E.minimumRadius,I=x*x,v=y*y,B=Math.sqrt((I-v)/I);A=Be.negativePiToPi(A);let Q=xze(o,A,f,E.maximumRadius,B);return!O(C)||O(m)&&!m.equals(C.ellipsoid)?new ID(o,Q,E):(C.setEndPoints(o,Q),C)};ID.prototype.setEndPoints=function(o,A){Eze(this,o,A,this._ellipsoid)};ID.prototype.interpolateUsingFraction=function(o,A){return this.interpolateUsingSurfaceDistance(o*this._distance,A)};ID.prototype.interpolateUsingSurfaceDistance=function(o,A){return xze(this._start,this._heading,o,this._ellipsoid.maximumRadius,this._ellipticity,A)};ID.prototype.findIntersectionWithLongitude=function(o,A){let f=this._ellipticity,m=this._heading,C=Math.abs(m),E=this._start;if(o=Be.negativePiToPi(o),Be.equalsEpsilon(Math.abs(o),Math.PI,Be.EPSILON14)&&(o=Be.sign(E.longitude)*Math.PI),O(A)||(A=new Rt),Math.abs(Be.PI_OVER_TWO-C)<=Be.EPSILON8)return A.longitude=o,A.latitude=E.latitude,A.height=0,A;if(Be.equalsEpsilon(Math.abs(Be.PI_OVER_TWO-C),Be.PI_OVER_TWO,Be.EPSILON8))return Be.equalsEpsilon(o,E.longitude,Be.EPSILON12)?void 0:(A.longitude=o,A.latitude=Be.PI_OVER_TWO*Be.sign(Be.PI_OVER_TWO-m),A.height=0,A);let x=E.latitude,y=f*Math.sin(x),I=Math.tan(.5*(Be.PI_OVER_TWO+x))*Math.exp((o-E.longitude)/Math.tan(m)),v=(1+y)/(1-y),B=E.latitude,Q;do{Q=B;let T=f*Math.sin(Q),w=(1+T)/(1-T);B=2*Math.atan(I*Math.pow(w/v,f/2))-Be.PI_OVER_TWO}while(!Be.equalsEpsilon(B,Q,Be.EPSILON12));return A.longitude=o,A.latitude=B,A.height=0,A};ID.prototype.findIntersectionWithLatitude=function(o,A){let f=this._ellipticity,m=this._heading,C=this._start;if(Be.equalsEpsilon(Math.abs(m),Be.PI_OVER_TWO,Be.EPSILON8))return;let E=t4(f,C.latitude),x=t4(f,o),y=Math.tan(m)*(x-E),I=Be.negativePiToPi(C.longitude+y);return O(A)?(A.longitude=I,A.latitude=o,A.height=0,A):new Rt(I,o,0)};var G_=ID;function R2t(o){o=oe(o,oe.EMPTY_OBJECT),this.componentDatatype=o.componentDatatype,this.componentsPerAttribute=o.componentsPerAttribute,this.normalize=oe(o.normalize,!1),this.values=o.values}var wr=R2t,DEe={};DEe.computeDiscriminant=function(o,A,f){return A*A-4*o*f};function SFe(o,A,f){let m=o+A;return Be.sign(o)!==Be.sign(A)&&Math.abs(m/Math.max(Math.abs(o),Math.abs(A)))v&&v/I0?[y/o,f/y]:[f/y,y/o]};var qB=DEe,TEe={};TEe.computeDiscriminant=function(o,A,f,m){let C=o*o,E=A*A,x=f*f,y=m*m;return 18*o*A*f*m+E*x-27*C*y-4*(o*x*f+E*A*m)};function dAe(o,A,f,m){let C=o,E=A/3,x=f/3,y=m,I=C*x,v=E*y,B=E*E,Q=x*x,T=C*x-B,w=C*y-E*x,S=E*y-Q,D=4*T*S-w*w,R,P;if(D<0){let ae,U,W;B*v>=I*Q?(ae=C,U=T,W=-2*E*T+C*w):(ae=y,U=S,W=-y*w+2*x*S);let Y=-(W<0?-1:1)*Math.abs(ae)*Math.sqrt(-D);P=-W+Y;let z=P/2,re=z<0?-Math.pow(-z,1/3):Math.pow(z,1/3),se=P===Y?-re:-U/re;return R=U<=0?re+se:-W/(re*re+se*se+U),B*v>=I*Q?[(R-E)/C]:[-y/(R+x)]}let M=T,L=-2*E*T+C*w,F=S,k=-y*w+2*x*S,N=Math.sqrt(D),G=Math.sqrt(3)/2,J=Math.abs(Math.atan2(C*N,-L)/3);R=2*Math.sqrt(-M);let K=Math.cos(J);P=R*K;let X=R*(-K/2-G*Math.sin(J)),q=P+X>2*E?P-E:X-E,ee=C,ie=q/ee;J=Math.abs(Math.atan2(y*N,-k)/3),R=2*Math.sqrt(-F),K=Math.cos(J),P=R*K,X=R*(-K/2-G*Math.sin(J));let H=-y,le=P+X<2*x?P+x:X+x,ue=H/le,Ae=ee*le,he=-q*le-ee*H,ge=q*H,fe=(x*he-E*ge)/(-E*he+x*Ae);return ie<=fe?ie<=ue?fe<=ue?[ie,fe,ue]:[ie,ue,fe]:[ue,ie,fe]:ie<=ue?[fe,ie,ue]:fe<=ue?[fe,ue,ie]:[ue,fe,ie]}TEe.computeRealRoots=function(o,A,f,m){let C,E;if(o===0)return qB.computeRealRoots(A,f,m);if(A===0){if(f===0){if(m===0)return[0,0,0];E=-m/o;let x=E<0?-Math.pow(-E,1/3):Math.pow(E,1/3);return[x,x,x]}else if(m===0)return C=qB.computeRealRoots(o,0,f),C.Length===0?[0]:[C[0],0,C[1]];return dAe(o,0,f,m)}else{if(f===0)return m===0?(E=-A/o,E<0?[E,0,0]:[0,0,E]):dAe(o,A,0,m);if(m===0)return C=qB.computeRealRoots(o,A,f),C.length===0?[0]:C[1]<=0?[C[0],C[1],0]:C[0]>=0?[0,C[0],C[1]]:[C[0],0,C[1]]}return dAe(o,A,f,m)};var Xz=TEe,MEe={};MEe.computeDiscriminant=function(o,A,f,m,C){let E=o*o,x=E*o,y=A*A,I=y*A,v=f*f,B=v*f,Q=m*m,T=Q*m,w=C*C,S=w*C;return y*v*Q-4*I*T-4*o*B*Q+18*o*A*f*T-27*E*Q*Q+256*x*S+C*(18*I*f*m-4*y*B+16*o*v*v-80*o*A*v*m-6*o*y*Q+144*E*f*Q)+w*(144*o*y*f-27*y*y-128*E*v-192*E*A*m)};function DB(o,A,f,m){let C=o*o,E=A-3*C/8,x=f-A*o/2+C*o/8,y=m-f*o/4+A*C/16-3*C*C/256,I=Xz.computeRealRoots(1,2*E,E*E-4*y,-x*x);if(I.length>0){let v=-o/4,B=I[I.length-1];if(Math.abs(B)=0&&w>=0){let D=Math.sqrt(T),R=Math.sqrt(w);return[v-R,v-D,v+D,v+R]}else{if(T>=0&&w<0)return S=Math.sqrt(T),[v-S,v+S];if(T<0&&w>=0)return S=Math.sqrt(w),[v-S,v+S]}}return[]}else if(B>0){let Q=Math.sqrt(B),T=(E+B-x/Q)/2,w=(E+B+x/Q)/2,S=qB.computeRealRoots(1,Q,T),D=qB.computeRealRoots(1,-Q,w);return S.length!==0?(S[0]+=v,S[1]+=v,D.length!==0?(D[0]+=v,D[1]+=v,S[1]<=D[0]?[S[0],S[1],D[0],D[1]]:D[1]<=S[0]?[D[0],D[1],S[0],S[1]]:S[0]>=D[0]&&S[1]<=D[1]?[D[0],S[0],S[1],D[1]]:D[0]>=S[0]&&D[1]<=S[1]?[S[0],D[0],D[1],S[1]]:S[0]>D[0]&&S[0]0){let Q=B[0],T=A-Q,w=T*T,S=o/2,D=T/2,R=w-4*m,P=w+4*Math.abs(m),M=x-4*Q,L=x+4*Math.abs(Q),F,k;if(Q<0||R*L=q[0]&&X[1]<=q[1]?[q[0],X[0],X[1],q[1]]:q[0]>=X[0]&&q[1]<=X[1]?[X[0],q[0],q[1],X[1]]:X[0]>q[0]&&X[0]B)||(T=Z.cross(Q,y,TFe),S=Z.dot(x,T),S<0||w+S>B))return;D=Z.dot(I,T)/B}else{if(Math.abs(B)1||(T=Z.cross(Q,y,TFe),S=Z.dot(x,T)*R,S<0||w+S>1))return;D=Z.dot(I,T)*R}return D};kh.rayTriangle=function(o,A,f,m,C,E){let x=kh.rayTriangleParametric(o,A,f,m,C);if(!(!O(x)||x<0))return O(E)||(E=new Z),Z.multiplyByScalar(o.direction,x,E),Z.add(o.origin,E,E)};var N2t=new Ua;kh.lineSegmentTriangle=function(o,A,f,m,C,E,x){let y=N2t;Z.clone(o,y.origin),Z.subtract(A,o,y.direction),Z.normalize(y.direction,y.direction);let I=kh.rayTriangleParametric(y,f,m,C,E);if(!(!O(I)||I<0||I>Z.distance(o,A)))return O(x)||(x=new Z),Z.multiplyByScalar(y.direction,I,x),Z.add(y.origin,x,x)};function k2t(o,A,f,m){let C=A*A-4*o*f;if(C<0)return;if(C>0){let x=1/(2*o),y=Math.sqrt(C),I=(-A+y)*x,v=(-A-y)*x;return Ix))return m.start=Math.max(m.start,0),m.stop=Math.min(m.stop,x),m};var G2t=new Z,H2t=new Z;kh.rayEllipsoid=function(o,A){let f=A.oneOverRadii,m=Z.multiplyComponents(f,o.origin,G2t),C=Z.multiplyComponents(f,o.direction,H2t),E=Z.magnitudeSquared(m),x=Z.dot(m,C),y,I,v,B,Q;if(E>1){if(x>=0)return;let T=x*x;if(y=E-1,I=Z.magnitudeSquared(C),v=I*y,Tv){B=x*x-v,Q=-x+Math.sqrt(B);let S=Q/I,D=y/Q;return S0?w.push(new Z(m,C*K,C*-ee)):ee!==0?(w.push(new Z(m,C*K,C*-ee)),w.push(new Z(m,C*K,C*ee)),++J):w.push(new Z(m,C*K,C*ee))}return w}var fAe=new Z,MFe=new Z,PFe=new Z,eq=new Z,z2t=new Z,Y2t=new Gt,J2t=new Gt,K2t=new Gt,W2t=new Gt,j2t=new Gt,RFe=new Gt,LFe=new Gt,FFe=new Z,q2t=new Z,X2t=new Rt;kh.grazingAltitudeLocation=function(o,A){let f=o.origin,m=o.direction;if(!Z.equals(f,Z.ZERO)){let N=A.geodeticSurfaceNormal(f,fAe);if(Z.dot(m,N)>=0)return f}let C=O(this.rayEllipsoid(o,A)),E=A.transformPositionToScaledSpace(m,fAe),x=Z.normalize(E,E),y=Z.mostOrthogonalAxis(E,eq),I=Z.normalize(Z.cross(y,x,MFe),MFe),v=Z.normalize(Z.cross(x,I,PFe),PFe),B=Y2t;B[0]=x.x,B[1]=x.y,B[2]=x.z,B[3]=I.x,B[4]=I.y,B[5]=I.z,B[6]=v.x,B[7]=v.y,B[8]=v.z;let Q=Gt.transpose(B,J2t),T=Gt.fromScale(A.radii,K2t),w=Gt.fromScale(A.oneOverRadii,W2t),S=j2t;S[0]=0,S[1]=-m.z,S[2]=m.y,S[3]=m.z,S[4]=0,S[5]=-m.x,S[6]=-m.y,S[7]=m.x,S[8]=0;let D=Gt.multiply(Gt.multiply(Q,w,RFe),S,RFe),R=Gt.multiply(Gt.multiply(D,T,LFe),B,LFe),P=Gt.multiplyByVector(D,f,z2t),M=V2t(R,Z.negate(P,fAe),0,0,1),L,F,k=M.length;if(k>0){let N=Z.clone(Z.ZERO,q2t),G=Number.NEGATIVE_INFINITY;for(let K=0;KG&&(G=q,N=Z.clone(L,N))}let J=A.cartesianToCartographic(N,X2t);return G=Be.clamp(G,0,1),F=Z.magnitude(Z.subtract(N,f,eq))*Math.sqrt(1-G*G),F=C?-F:F,J.height=F,A.cartographicToCartesian(J,new Z)}};var Z2t=new Z;kh.lineSegmentPlane=function(o,A,f,m){O(m)||(m=new Z);let C=Z.subtract(A,o,Z2t),E=f.normal,x=Z.dot(E,C);if(Math.abs(x)1))return Z.multiplyByScalar(C,I,m),Z.add(o,m,m),m};kh.trianglePlaneIntersection=function(o,A,f,m){let C=m.normal,E=m.distance,x=Z.dot(C,o)+E<0,y=Z.dot(C,A)+E<0,I=Z.dot(C,f)+E<0,v=0;v+=x?1:0,v+=y?1:0,v+=I?1:0;let B,Q;if((v===1||v===2)&&(B=new Z,Q=new Z),v===1){if(x)return kh.lineSegmentPlane(o,A,m,B),kh.lineSegmentPlane(o,f,m,Q),{positions:[o,A,f,B,Q],indices:[0,3,4,1,2,4,1,4,3]};if(y)return kh.lineSegmentPlane(A,f,m,B),kh.lineSegmentPlane(A,o,m,Q),{positions:[o,A,f,B,Q],indices:[1,3,4,2,0,4,2,4,3]};if(I)return kh.lineSegmentPlane(f,o,m,B),kh.lineSegmentPlane(f,A,m,Q),{positions:[o,A,f,B,Q],indices:[2,3,4,0,1,4,0,4,3]}}else if(v===2)if(x)if(y){if(!I)return kh.lineSegmentPlane(o,f,m,B),kh.lineSegmentPlane(A,f,m,Q),{positions:[o,A,f,B,Q],indices:[0,1,4,0,4,3,2,3,4]}}else return kh.lineSegmentPlane(f,A,m,B),kh.lineSegmentPlane(o,A,m,Q),{positions:[o,A,f,B,Q],indices:[2,0,4,2,4,3,1,3,4]};else return kh.lineSegmentPlane(A,o,m,B),kh.lineSegmentPlane(f,o,m,Q),{positions:[o,A,f,B,Q],indices:[1,2,4,1,4,3,0,3,4]}};var Sc=kh;function Cx(o){this._ellipsoid=oe(o,Ci.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}Object.defineProperties(Cx.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});Cx.mercatorAngleToGeodeticLatitude=function(o){return Be.PI_OVER_TWO-2*Math.atan(Math.exp(-o))};Cx.geodeticLatitudeToMercatorAngle=function(o){o>Cx.MaximumLatitude?o=Cx.MaximumLatitude:o<-Cx.MaximumLatitude&&(o=-Cx.MaximumLatitude);let A=Math.sin(o);return .5*Math.log((1+A)/(1-A))};Cx.MaximumLatitude=Cx.mercatorAngleToGeodeticLatitude(Math.PI);Cx.prototype.project=function(o,A){let f=this._semimajorAxis,m=o.longitude*f,C=Cx.geodeticLatitudeToMercatorAngle(o.latitude)*f,E=o.height;return O(A)?(A.x=m,A.y=C,A.z=E,A):new Z(m,C,E)};Cx.prototype.unproject=function(o,A){let f=this._oneOverSemimajorAxis,m=o.x*f,C=Cx.mercatorAngleToGeodeticLatitude(o.y*f),E=o.z;return O(A)?(A.longitude=m,A.latitude=C,A.height=E,A):new Rt(m,C,E)};var ec=Cx,REe=[Kd,ec],$2t=REe.length,_ze=Math.cos(Be.toRadians(30)),NFe=Math.cos(Be.toRadians(150)),vze=0,Bze=1e3;function vP(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.positions;this.width=oe(o.width,1),this._positions=A,this.granularity=oe(o.granularity,9999),this.loop=oe(o.loop,!1),this.arcType=oe(o.arcType,Ia.GEODESIC),this._ellipsoid=Ci.WGS84,this._projectionIndex=0,this._workerName="createGroundPolylineGeometry",this._scene3DOnly=!1}Object.defineProperties(vP.prototype,{packedLength:{get:function(){return 1+this._positions.length*3+1+1+1+Ci.packedLength+1+1}}});vP.setProjectionAndEllipsoid=function(o,A){let f=0;for(let m=0;m<$2t;m++)if(A instanceof REe[m]){f=m;break}o._projectionIndex=f,o._ellipsoid=A.ellipsoid};var ePt=new Z,kFe=new Z,OFe=new Z;function cfe(o,A,f,m,C){let E=$C(m,o,0,ePt),x=$C(m,o,f,kFe),y=$C(m,A,0,OFe),I=_D(x,E,kFe),v=_D(y,E,OFe);return Z.cross(v,I,C),Z.normalize(C,C)}var tPt=new Rt,iPt=new Z,rPt=new Z,nPt=new Z;function gAe(o,A,f,m,C,E,x,y,I,v,B){if(C===0)return;let Q;E===Ia.GEODESIC?Q=new dd(o,A,x):E===Ia.RHUMB&&(Q=new G_(o,A,x));let T=Q.surfaceDistance;if(T_ze||EBe.PI_OVER_TWO&&(y=!0,x=Z.subtract(E,f,YFe),v=I.cartesianToCartographic(x,zFe)),v.height=0;let B=o.project(v,C);return C=Z.subtract(B,m,C),C.z=0,C=Z.normalize(C,C),y&&Z.negate(C,C),C}var EPt=new Z,JFe=new Z;function KFe(o,A,f,m,C,E){let x=Z.subtract(A,o,EPt);Z.normalize(x,x);let y=f-vze,I=Z.multiplyByScalar(x,y,JFe);Z.add(o,I,C);let v=m-Bze;I=Z.multiplyByScalar(x,v,JFe),Z.add(A,I,E)}var xPt=new Z;function rq(o,A){let f=ca.getPointDistance(g$,o),m=ca.getPointDistance(g$,A),C=xPt;Be.equalsEpsilon(f,0,Be.EPSILON2)?(C=_D(A,o,C),Z.multiplyByScalar(C,Be.EPSILON2,C),Z.add(o,C,o)):Be.equalsEpsilon(m,0,Be.EPSILON2)&&(C=_D(o,A,C),Z.multiplyByScalar(C,Be.EPSILON2,C),Z.add(A,C,A))}function yPt(o,A){let f=Math.abs(o.longitude),m=Math.abs(A.longitude);if(Be.equalsEpsilon(f,Be.PI,Be.EPSILON11)){let C=Be.sign(A.longitude);return o.longitude=C*(f-Be.EPSILON11),1}else if(Be.equalsEpsilon(m,Be.PI,Be.EPSILON11)){let C=Be.sign(o.longitude);return A.longitude=C*(m-Be.EPSILON11),2}return 0}var bze=new Rt,Qze=new Rt,WFe=new Z,CAe=new Z,jFe=new Z,qFe=new Z,IPt=new Z,XFe=new Z,_Pt=[bze,Qze],vPt=new gi,BPt=new Z,wPt=new Z,bPt=new Z,QPt=new Z,SPt=new Z,DPt=new Z,EAe=new Z,xAe=new Z,TPt=new Z,MPt=new Z,PPt=new Z,ZFe=new Z,RPt=new Z,LPt=new Z,FPt=new eu,NPt=new eu,$Fe=new Z,kPt=new Z,eNe=new Z,OPt=[new hi,new hi],Sze=[0,2,1,0,3,2,0,7,3,0,4,7,0,5,4,0,1,5,5,7,4,5,6,7,5,2,6,5,1,2,3,6,2,3,7,6],tNe=Sze.length;function UPt(o,A,f,m,C,E,x){let y,I,v=A._ellipsoid,B=f.length/3-1,Q=B*8,T=Q*4,w=B*36,S=Q>65535?new Uint32Array(w):new Uint16Array(w),D=new Float64Array(Q*3),R=new Float32Array(T),P=new Float32Array(T),M=new Float32Array(T),L=new Float32Array(T),F=new Float32Array(T),k,N,G,J;x&&(k=new Float32Array(T),N=new Float32Array(T),G=new Float32Array(T),J=new Float32Array(Q*2));let K=E.length/2,X=0,q=bze;q.height=0;let ee=Qze;ee.height=0;let ie=WFe,H=CAe;if(x)for(I=0,y=1;y_ze?(be=qV(A,q,ke,Oe,EAe),Ne=qV(A,ee,z,Le,xAe)):di===1?(Ne=qV(A,ee,z,Le,xAe),be.x=0,be.y=Be.sign(q.longitude-Math.abs(ee.longitude)),be.z=0):(be=qV(A,q,ke,Oe,EAe),Ne.x=0,Ne.y=Be.sign(q.longitude-ee.longitude),Ne.z=0)}let Ue=Z.distance(Ge,Y),ze=eu.fromCartesian(Te,FPt),Je=Z.subtract(W,Te,TPt),Xe=Z.normalize(Je,ZFe),et=Z.subtract(Ge,Te,MPt);et=Z.normalize(et,et);let ot=Z.cross(Xe,et,ZFe);ot=Z.normalize(ot,ot);let Et=Z.cross(et,ke,RPt);Et=Z.normalize(Et,Et);let Ct=Z.subtract(Y,W,PPt);Ct=Z.normalize(Ct,Ct);let ct=Z.cross(z,Ct,LPt);ct=Z.normalize(ct,ct);let yt=Ue/ue,Qt=re/ue,Ze=0,ut,St,gt,xt=0,Lt=0;if(x){Ze=Z.distance(Oe,Le),ut=eu.fromCartesian(Oe,NPt),St=Z.subtract(Le,Oe,$Fe),gt=Z.normalize(St,kPt);let di=gt.x;gt.x=gt.y,gt.y=-di,xt=Ze/X,Lt=se/X}for(Ae=0;Ae<8;Ae++){let di=ae+Ae*4,wi=ge+Ae*2,Ri=di+3,Ei=Ae<4?1:-1,Wt=Ae===2||Ae===3||Ae===6||Ae===7?1:-1;Z.pack(ze.high,R,di),R[Ri]=Je.x,Z.pack(ze.low,P,di),P[Ri]=Je.y,Z.pack(Et,M,di),M[Ri]=Je.z,Z.pack(ct,L,di),L[Ri]=yt*Ei,Z.pack(ot,F,di);let jt=Qt*Wt;jt===0&&Wt<0&&(jt=9),F[Ri]=jt,x&&(k[di]=ut.high.x,k[di+1]=ut.high.y,k[di+2]=ut.low.x,k[di+3]=ut.low.y,G[di]=-be.y,G[di+1]=be.x,G[di+2]=Ne.y,G[di+3]=-Ne.x,N[di]=St.x,N[di+1]=St.y,N[di+2]=gt.x,N[di+3]=gt.y,J[wi]=xt*Ei,jt=Lt*Wt,jt===0&&Wt<0&&(jt=9),J[wi+1]=jt)}let nt=bPt,Pe=QPt,ve=BPt,We=wPt,bt=gi.fromCartographicArray(_Pt,vPt),Pt=$A.getMinimumMaximumHeights(bt,v),It=Pt.minimumTerrainHeight,Mi=Pt.maximumTerrainHeight;de+=It,de+=Mi,KFe(Te,Ge,It,Mi,nt,ve),KFe(W,Y,It,Mi,Pe,We);let er=Z.multiplyByScalar(ot,Be.EPSILON5,eNe);Z.add(nt,er,nt),Z.add(Pe,er,Pe),Z.add(ve,er,ve),Z.add(We,er,We),rq(nt,Pe),rq(ve,We),Z.pack(nt,D,fe),Z.pack(Pe,D,fe+3),Z.pack(We,D,fe+6),Z.pack(ve,D,fe+9),er=Z.multiplyByScalar(ot,-2*Be.EPSILON5,eNe),Z.add(nt,er,nt),Z.add(Pe,er,Pe),Z.add(ve,er,ve),Z.add(We,er,We),rq(nt,Pe),rq(ve,We),Z.pack(nt,D,fe+12),Z.pack(Pe,D,fe+15),Z.pack(We,D,fe+18),Z.pack(ve,D,fe+21),he+=2,I+=3,ge+=16,fe+=24,ae+=32,re+=Ue,se+=Ze}I=0;let me=0;for(y=0;y halfMaxWidth || distanceFromStart < 0.0 || distanceFromEnd < 0.0) { #ifdef DEBUG_SHOW_VOLUME out_FragColor = vec4(1.0, 0.0, 0.0, 0.5); return; #else // DEBUG_SHOW_VOLUME discard; #endif // DEBUG_SHOW_VOLUME } // Check distance of the eye coordinate against start and end planes with normals in the right plane. // For computing unskewed lengthwise texture coordinate. // Can also be used for clipping extremely pointy miters, but in practice unnecessary because of miter breaking. // aligned plane: cross the right plane normal with miter plane normal, then cross the result with right again to point it more "forward" vec3 alignedPlaneNormal; // start aligned plane alignedPlaneNormal = cross(v_rightPlaneEC.xyz, v_startPlaneNormalEcAndHalfWidth.xyz); alignedPlaneNormal = normalize(cross(alignedPlaneNormal, v_rightPlaneEC.xyz)); distanceFromStart = czm_planeDistance(alignedPlaneNormal, -dot(alignedPlaneNormal, ecStart), eyeCoordinate.xyz); // end aligned plane alignedPlaneNormal = cross(v_rightPlaneEC.xyz, v_endPlaneNormalEcAndBatchId.xyz); alignedPlaneNormal = normalize(cross(alignedPlaneNormal, v_rightPlaneEC.xyz)); distanceFromEnd = czm_planeDistance(alignedPlaneNormal, -dot(alignedPlaneNormal, v_endEcAndStartEcX.xyz), eyeCoordinate.xyz); #ifdef PER_INSTANCE_COLOR out_FragColor = czm_gammaCorrect(v_color); #else // PER_INSTANCE_COLOR // Clamp - distance to aligned planes may be negative due to mitering, // so fragment texture coordinate might be out-of-bounds. float s = clamp(distanceFromStart / (distanceFromStart + distanceFromEnd), 0.0, 1.0); s = (s * v_texcoordNormalizationAndStartEcYZ.x) + v_texcoordNormalizationAndStartEcYZ.y; float t = (widthwiseDistance + halfMaxWidth) / (2.0 * halfMaxWidth); czm_materialInput materialInput; materialInput.s = s; materialInput.st = vec2(s, t); materialInput.str = vec3(s, t, 0.0); czm_material material = czm_getMaterial(materialInput); out_FragColor = vec4(material.diffuse + material.emission, material.alpha); #endif // PER_INSTANCE_COLOR // Premultiply alpha. Required for classification primitives on translucent globe. out_FragColor.rgb *= out_FragColor.a; czm_writeDepthClamp(); } `,FEe=`in vec3 v_forwardDirectionEC; in vec3 v_texcoordNormalizationAndHalfWidth; in float v_batchId; #ifdef PER_INSTANCE_COLOR in vec4 v_color; #else in vec2 v_alignedPlaneDistances; in float v_texcoordT; #endif float rayPlaneDistanceUnsafe(vec3 origin, vec3 direction, vec3 planeNormal, float planeDistance) { // We don't expect the ray to ever be parallel to the plane return (-planeDistance - dot(planeNormal, origin)) / dot(planeNormal, direction); } void main(void) { vec4 eyeCoordinate = gl_FragCoord; eyeCoordinate /= eyeCoordinate.w; #ifdef PER_INSTANCE_COLOR out_FragColor = czm_gammaCorrect(v_color); #else // PER_INSTANCE_COLOR // Use distances for planes aligned with segment to prevent skew in dashing float distanceFromStart = rayPlaneDistanceUnsafe(eyeCoordinate.xyz, -v_forwardDirectionEC, v_forwardDirectionEC.xyz, v_alignedPlaneDistances.x); float distanceFromEnd = rayPlaneDistanceUnsafe(eyeCoordinate.xyz, v_forwardDirectionEC, -v_forwardDirectionEC.xyz, v_alignedPlaneDistances.y); // Clamp - distance to aligned planes may be negative due to mitering distanceFromStart = max(0.0, distanceFromStart); distanceFromEnd = max(0.0, distanceFromEnd); float s = distanceFromStart / (distanceFromStart + distanceFromEnd); s = (s * v_texcoordNormalizationAndHalfWidth.x) + v_texcoordNormalizationAndHalfWidth.y; czm_materialInput materialInput; materialInput.s = s; materialInput.st = vec2(s, v_texcoordT); materialInput.str = vec3(s, v_texcoordT, 0.0); czm_material material = czm_getMaterial(materialInput); out_FragColor = vec4(material.diffuse + material.emission, material.alpha); #endif // PER_INSTANCE_COLOR } `,NEe=`in vec3 position3DHigh; in vec3 position3DLow; in vec4 startHiAndForwardOffsetX; in vec4 startLoAndForwardOffsetY; in vec4 startNormalAndForwardOffsetZ; in vec4 endNormalAndTextureCoordinateNormalizationX; in vec4 rightNormalAndTextureCoordinateNormalizationY; in vec4 startHiLo2D; in vec4 offsetAndRight2D; in vec4 startEndNormals2D; in vec2 texcoordNormalization2D; in float batchId; out vec3 v_forwardDirectionEC; out vec3 v_texcoordNormalizationAndHalfWidth; out float v_batchId; // For materials #ifdef WIDTH_VARYING out float v_width; #endif #ifdef ANGLE_VARYING out float v_polylineAngle; #endif #ifdef PER_INSTANCE_COLOR out vec4 v_color; #else out vec2 v_alignedPlaneDistances; out float v_texcoordT; #endif // Morphing planes using SLERP or NLERP doesn't seem to work, so instead draw the material directly on the shadow volume. // Morph views are from very far away and aren't meant to be used precisely, so this should be sufficient. void main() { v_batchId = batchId; // Start position vec4 posRelativeToEye2D = czm_translateRelativeToEye(vec3(0.0, startHiLo2D.xy), vec3(0.0, startHiLo2D.zw)); vec4 posRelativeToEye3D = czm_translateRelativeToEye(startHiAndForwardOffsetX.xyz, startLoAndForwardOffsetY.xyz); vec4 posRelativeToEye = czm_columbusViewMorph(posRelativeToEye2D, posRelativeToEye3D, czm_morphTime); vec3 posEc2D = (czm_modelViewRelativeToEye * posRelativeToEye2D).xyz; vec3 posEc3D = (czm_modelViewRelativeToEye * posRelativeToEye3D).xyz; vec3 startEC = (czm_modelViewRelativeToEye * posRelativeToEye).xyz; // Start plane vec4 startPlane2D; vec4 startPlane3D; startPlane2D.xyz = czm_normal * vec3(0.0, startEndNormals2D.xy); startPlane3D.xyz = czm_normal * startNormalAndForwardOffsetZ.xyz; startPlane2D.w = -dot(startPlane2D.xyz, posEc2D); startPlane3D.w = -dot(startPlane3D.xyz, posEc3D); // Right plane vec4 rightPlane2D; vec4 rightPlane3D; rightPlane2D.xyz = czm_normal * vec3(0.0, offsetAndRight2D.zw); rightPlane3D.xyz = czm_normal * rightNormalAndTextureCoordinateNormalizationY.xyz; rightPlane2D.w = -dot(rightPlane2D.xyz, posEc2D); rightPlane3D.w = -dot(rightPlane3D.xyz, posEc3D); // End position posRelativeToEye2D = posRelativeToEye2D + vec4(0.0, offsetAndRight2D.xy, 0.0); posRelativeToEye3D = posRelativeToEye3D + vec4(startHiAndForwardOffsetX.w, startLoAndForwardOffsetY.w, startNormalAndForwardOffsetZ.w, 0.0); posRelativeToEye = czm_columbusViewMorph(posRelativeToEye2D, posRelativeToEye3D, czm_morphTime); posEc2D = (czm_modelViewRelativeToEye * posRelativeToEye2D).xyz; posEc3D = (czm_modelViewRelativeToEye * posRelativeToEye3D).xyz; vec3 endEC = (czm_modelViewRelativeToEye * posRelativeToEye).xyz; vec3 forwardEc3D = czm_normal * normalize(vec3(startHiAndForwardOffsetX.w, startLoAndForwardOffsetY.w, startNormalAndForwardOffsetZ.w)); vec3 forwardEc2D = czm_normal * normalize(vec3(0.0, offsetAndRight2D.xy)); // End plane vec4 endPlane2D; vec4 endPlane3D; endPlane2D.xyz = czm_normal * vec3(0.0, startEndNormals2D.zw); endPlane3D.xyz = czm_normal * endNormalAndTextureCoordinateNormalizationX.xyz; endPlane2D.w = -dot(endPlane2D.xyz, posEc2D); endPlane3D.w = -dot(endPlane3D.xyz, posEc3D); // Forward direction v_forwardDirectionEC = normalize(endEC - startEC); vec2 cleanTexcoordNormalization2D; cleanTexcoordNormalization2D.x = abs(texcoordNormalization2D.x); cleanTexcoordNormalization2D.y = czm_branchFreeTernary(texcoordNormalization2D.y > 1.0, 0.0, abs(texcoordNormalization2D.y)); vec2 cleanTexcoordNormalization3D; cleanTexcoordNormalization3D.x = abs(endNormalAndTextureCoordinateNormalizationX.w); cleanTexcoordNormalization3D.y = rightNormalAndTextureCoordinateNormalizationY.w; cleanTexcoordNormalization3D.y = czm_branchFreeTernary(cleanTexcoordNormalization3D.y > 1.0, 0.0, abs(cleanTexcoordNormalization3D.y)); v_texcoordNormalizationAndHalfWidth.xy = mix(cleanTexcoordNormalization2D, cleanTexcoordNormalization3D, czm_morphTime); #ifdef PER_INSTANCE_COLOR v_color = czm_batchTable_color(batchId); #else // PER_INSTANCE_COLOR // For computing texture coordinates v_alignedPlaneDistances.x = -dot(v_forwardDirectionEC, startEC); v_alignedPlaneDistances.y = -dot(-v_forwardDirectionEC, endEC); #endif // PER_INSTANCE_COLOR #ifdef WIDTH_VARYING float width = czm_batchTable_width(batchId); float halfWidth = width * 0.5; v_width = width; v_texcoordNormalizationAndHalfWidth.z = halfWidth; #else float halfWidth = 0.5 * czm_batchTable_width(batchId); v_texcoordNormalizationAndHalfWidth.z = halfWidth; #endif // Compute a normal along which to "push" the position out, extending the miter depending on view distance. // Position has already been "pushed" by unit length along miter normal, and miter normals are encoded in the planes. // Decode the normal to use at this specific vertex, push the position back, and then push to where it needs to be. // Since this is morphing, compute both 3D and 2D positions and then blend. // ****** 3D ****** // Check distance to the end plane and start plane, pick the plane that is closer vec4 positionEc3D = czm_modelViewRelativeToEye * czm_translateRelativeToEye(position3DHigh, position3DLow); // w = 1.0, see czm_computePosition float absStartPlaneDistance = abs(czm_planeDistance(startPlane3D, positionEc3D.xyz)); float absEndPlaneDistance = abs(czm_planeDistance(endPlane3D, positionEc3D.xyz)); vec3 planeDirection = czm_branchFreeTernary(absStartPlaneDistance < absEndPlaneDistance, startPlane3D.xyz, endPlane3D.xyz); vec3 upOrDown = normalize(cross(rightPlane3D.xyz, planeDirection)); // Points "up" for start plane, "down" at end plane. vec3 normalEC = normalize(cross(planeDirection, upOrDown)); // In practice, the opposite seems to work too. // Nudge the top vertex upwards to prevent flickering vec3 geodeticSurfaceNormal = normalize(cross(normalEC, forwardEc3D)); geodeticSurfaceNormal *= float(0.0 <= rightNormalAndTextureCoordinateNormalizationY.w && rightNormalAndTextureCoordinateNormalizationY.w <= 1.0); geodeticSurfaceNormal *= MAX_TERRAIN_HEIGHT; positionEc3D.xyz += geodeticSurfaceNormal; // Determine if this vertex is on the "left" or "right" normalEC *= sign(endNormalAndTextureCoordinateNormalizationX.w); // A "perfect" implementation would push along normals according to the angle against forward. // In practice, just pushing the normal out by halfWidth is sufficient for morph views. positionEc3D.xyz += halfWidth * max(0.0, czm_metersPerPixel(positionEc3D)) * normalEC; // prevent artifacts when czm_metersPerPixel is negative (behind camera) // ****** 2D ****** // Check distance to the end plane and start plane, pick the plane that is closer vec4 positionEc2D = czm_modelViewRelativeToEye * czm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy); // w = 1.0, see czm_computePosition absStartPlaneDistance = abs(czm_planeDistance(startPlane2D, positionEc2D.xyz)); absEndPlaneDistance = abs(czm_planeDistance(endPlane2D, positionEc2D.xyz)); planeDirection = czm_branchFreeTernary(absStartPlaneDistance < absEndPlaneDistance, startPlane2D.xyz, endPlane2D.xyz); upOrDown = normalize(cross(rightPlane2D.xyz, planeDirection)); // Points "up" for start plane, "down" at end plane. normalEC = normalize(cross(planeDirection, upOrDown)); // In practice, the opposite seems to work too. // Nudge the top vertex upwards to prevent flickering geodeticSurfaceNormal = normalize(cross(normalEC, forwardEc2D)); geodeticSurfaceNormal *= float(0.0 <= texcoordNormalization2D.y && texcoordNormalization2D.y <= 1.0); geodeticSurfaceNormal *= MAX_TERRAIN_HEIGHT; positionEc2D.xyz += geodeticSurfaceNormal; // Determine if this vertex is on the "left" or "right" normalEC *= sign(texcoordNormalization2D.x); #ifndef PER_INSTANCE_COLOR // Use vertex's sidedness to compute its texture coordinate. v_texcoordT = clamp(sign(texcoordNormalization2D.x), 0.0, 1.0); #endif // A "perfect" implementation would push along normals according to the angle against forward. // In practice, just pushing the normal out by halfWidth is sufficient for morph views. positionEc2D.xyz += halfWidth * max(0.0, czm_metersPerPixel(positionEc2D)) * normalEC; // prevent artifacts when czm_metersPerPixel is negative (behind camera) // Blend for actual position gl_Position = czm_projection * mix(positionEc2D, positionEc3D, czm_morphTime); #ifdef ANGLE_VARYING // Approximate relative screen space direction of the line. vec2 approxLineDirection = normalize(vec2(v_forwardDirectionEC.x, -v_forwardDirectionEC.y)); approxLineDirection.y = czm_branchFreeTernary(approxLineDirection.x == 0.0 && approxLineDirection.y == 0.0, -1.0, approxLineDirection.y); v_polylineAngle = czm_fastApproximateAtan(approxLineDirection.x, approxLineDirection.y); #endif } `,kEe=`in vec3 position3DHigh; in vec3 position3DLow; // In 2D and in 3D, texture coordinate normalization component signs encodes: // * X sign - sidedness relative to right plane // * Y sign - is negative OR magnitude is greater than 1.0 if vertex is on bottom of volume #ifndef COLUMBUS_VIEW_2D in vec4 startHiAndForwardOffsetX; in vec4 startLoAndForwardOffsetY; in vec4 startNormalAndForwardOffsetZ; in vec4 endNormalAndTextureCoordinateNormalizationX; in vec4 rightNormalAndTextureCoordinateNormalizationY; #else in vec4 startHiLo2D; in vec4 offsetAndRight2D; in vec4 startEndNormals2D; in vec2 texcoordNormalization2D; #endif in float batchId; out vec4 v_startPlaneNormalEcAndHalfWidth; out vec4 v_endPlaneNormalEcAndBatchId; out vec4 v_rightPlaneEC; out vec4 v_endEcAndStartEcX; out vec4 v_texcoordNormalizationAndStartEcYZ; // For materials #ifdef WIDTH_VARYING out float v_width; #endif #ifdef ANGLE_VARYING out float v_polylineAngle; #endif #ifdef PER_INSTANCE_COLOR out vec4 v_color; #endif void main() { #ifdef COLUMBUS_VIEW_2D vec3 ecStart = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(vec3(0.0, startHiLo2D.xy), vec3(0.0, startHiLo2D.zw))).xyz; vec3 forwardDirectionEC = czm_normal * vec3(0.0, offsetAndRight2D.xy); vec3 ecEnd = forwardDirectionEC + ecStart; forwardDirectionEC = normalize(forwardDirectionEC); // Right plane v_rightPlaneEC.xyz = czm_normal * vec3(0.0, offsetAndRight2D.zw); v_rightPlaneEC.w = -dot(v_rightPlaneEC.xyz, ecStart); // start plane vec4 startPlaneEC; startPlaneEC.xyz = czm_normal * vec3(0.0, startEndNormals2D.xy); startPlaneEC.w = -dot(startPlaneEC.xyz, ecStart); // end plane vec4 endPlaneEC; endPlaneEC.xyz = czm_normal * vec3(0.0, startEndNormals2D.zw); endPlaneEC.w = -dot(endPlaneEC.xyz, ecEnd); v_texcoordNormalizationAndStartEcYZ.x = abs(texcoordNormalization2D.x); v_texcoordNormalizationAndStartEcYZ.y = texcoordNormalization2D.y; #else // COLUMBUS_VIEW_2D vec3 ecStart = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(startHiAndForwardOffsetX.xyz, startLoAndForwardOffsetY.xyz)).xyz; vec3 offset = czm_normal * vec3(startHiAndForwardOffsetX.w, startLoAndForwardOffsetY.w, startNormalAndForwardOffsetZ.w); vec3 ecEnd = ecStart + offset; vec3 forwardDirectionEC = normalize(offset); // start plane vec4 startPlaneEC; startPlaneEC.xyz = czm_normal * startNormalAndForwardOffsetZ.xyz; startPlaneEC.w = -dot(startPlaneEC.xyz, ecStart); // end plane vec4 endPlaneEC; endPlaneEC.xyz = czm_normal * endNormalAndTextureCoordinateNormalizationX.xyz; endPlaneEC.w = -dot(endPlaneEC.xyz, ecEnd); // Right plane v_rightPlaneEC.xyz = czm_normal * rightNormalAndTextureCoordinateNormalizationY.xyz; v_rightPlaneEC.w = -dot(v_rightPlaneEC.xyz, ecStart); v_texcoordNormalizationAndStartEcYZ.x = abs(endNormalAndTextureCoordinateNormalizationX.w); v_texcoordNormalizationAndStartEcYZ.y = rightNormalAndTextureCoordinateNormalizationY.w; #endif // COLUMBUS_VIEW_2D v_endEcAndStartEcX.xyz = ecEnd; v_endEcAndStartEcX.w = ecStart.x; v_texcoordNormalizationAndStartEcYZ.zw = ecStart.yz; #ifdef PER_INSTANCE_COLOR v_color = czm_batchTable_color(batchId); #endif // PER_INSTANCE_COLOR // Compute a normal along which to "push" the position out, extending the miter depending on view distance. // Position has already been "pushed" by unit length along miter normal, and miter normals are encoded in the planes. // Decode the normal to use at this specific vertex, push the position back, and then push to where it needs to be. vec4 positionRelativeToEye = czm_computePosition(); // Check distance to the end plane and start plane, pick the plane that is closer vec4 positionEC = czm_modelViewRelativeToEye * positionRelativeToEye; // w = 1.0, see czm_computePosition float absStartPlaneDistance = abs(czm_planeDistance(startPlaneEC, positionEC.xyz)); float absEndPlaneDistance = abs(czm_planeDistance(endPlaneEC, positionEC.xyz)); vec3 planeDirection = czm_branchFreeTernary(absStartPlaneDistance < absEndPlaneDistance, startPlaneEC.xyz, endPlaneEC.xyz); vec3 upOrDown = normalize(cross(v_rightPlaneEC.xyz, planeDirection)); // Points "up" for start plane, "down" at end plane. vec3 normalEC = normalize(cross(planeDirection, upOrDown)); // In practice, the opposite seems to work too. // Extrude bottom vertices downward for far view distances, like for GroundPrimitives upOrDown = cross(forwardDirectionEC, normalEC); upOrDown = float(czm_sceneMode == czm_sceneMode3D) * upOrDown; upOrDown = float(v_texcoordNormalizationAndStartEcYZ.y > 1.0 || v_texcoordNormalizationAndStartEcYZ.y < 0.0) * upOrDown; upOrDown = min(GLOBE_MINIMUM_ALTITUDE, czm_geometricToleranceOverMeter * length(positionRelativeToEye.xyz)) * upOrDown; positionEC.xyz += upOrDown; v_texcoordNormalizationAndStartEcYZ.y = czm_branchFreeTernary(v_texcoordNormalizationAndStartEcYZ.y > 1.0, 0.0, abs(v_texcoordNormalizationAndStartEcYZ.y)); // Determine distance along normalEC to push for a volume of appropriate width. // Make volumes about double pixel width for a conservative fit - in practice the // extra cost here is minimal compared to the loose volume heights. // // N = normalEC (guaranteed "right-facing") // R = rightEC // p = angle between N and R // w = distance to push along R if R == N // d = distance to push along N // // N R // { p| } * cos(p) = dot(N, R) = w / d // d | |w * d = w / dot(N, R) // { | } // o---------- polyline segment ----> // float width = czm_batchTable_width(batchId); #ifdef WIDTH_VARYING v_width = width; #endif v_startPlaneNormalEcAndHalfWidth.xyz = startPlaneEC.xyz; v_startPlaneNormalEcAndHalfWidth.w = width * 0.5; v_endPlaneNormalEcAndBatchId.xyz = endPlaneEC.xyz; v_endPlaneNormalEcAndBatchId.w = batchId; width = width * max(0.0, czm_metersPerPixel(positionEC)); // width = distance to push along R width = width / dot(normalEC, v_rightPlaneEC.xyz); // width = distance to push along N // Determine if this vertex is on the "left" or "right" #ifdef COLUMBUS_VIEW_2D normalEC *= sign(texcoordNormalization2D.x); #else normalEC *= sign(endNormalAndTextureCoordinateNormalizationX.w); #endif positionEC.xyz += width * normalEC; gl_Position = czm_depthClamp(czm_projection * positionEC); #ifdef ANGLE_VARYING // Approximate relative screen space direction of the line. vec2 approxLineDirection = normalize(vec2(forwardDirectionEC.x, -forwardDirectionEC.y)); approxLineDirection.y = czm_branchFreeTernary(approxLineDirection.x == 0.0 && approxLineDirection.y == 0.0, -1.0, approxLineDirection.y); v_polylineAngle = czm_fastApproximateAtan(approxLineDirection.x, approxLineDirection.y); #endif } `,Dze={TERRAIN:0,CESIUM_3D_TILE:1,BOTH:2};Dze.NUMBER_OF_CLASSIFICATION_TYPES=3;var uu=Object.freeze(Dze),GPt={FRONT:li.FRONT,BACK:li.BACK,FRONT_AND_BACK:li.FRONT_AND_BACK},pA=Object.freeze(GPt);function Kf(o){o=oe(o,oe.EMPTY_OBJECT),this.position=oe(o.position,!1),this.normal=oe(o.normal,!1),this.st=oe(o.st,!1),this.bitangent=oe(o.bitangent,!1),this.tangent=oe(o.tangent,!1),this.color=oe(o.color,!1)}Kf.POSITION_ONLY=Object.freeze(new Kf({position:!0}));Kf.POSITION_AND_NORMAL=Object.freeze(new Kf({position:!0,normal:!0}));Kf.POSITION_NORMAL_AND_ST=Object.freeze(new Kf({position:!0,normal:!0,st:!0}));Kf.POSITION_AND_ST=Object.freeze(new Kf({position:!0,st:!0}));Kf.POSITION_AND_COLOR=Object.freeze(new Kf({position:!0,color:!0}));Kf.ALL=Object.freeze(new Kf({position:!0,normal:!0,st:!0,tangent:!0,bitangent:!0}));Kf.DEFAULT=Kf.POSITION_NORMAL_AND_ST;Kf.packedLength=6;Kf.pack=function(o,A,f){return f=oe(f,0),A[f++]=o.position?1:0,A[f++]=o.normal?1:0,A[f++]=o.st?1:0,A[f++]=o.tangent?1:0,A[f++]=o.bitangent?1:0,A[f]=o.color?1:0,A};Kf.unpack=function(o,A,f){return A=oe(A,0),O(f)||(f=new Kf),f.position=o[A++]===1,f.normal=o[A++]===1,f.st=o[A++]===1,f.tangent=o[A++]===1,f.bitangent=o[A++]===1,f.color=o[A]===1,f};Kf.clone=function(o,A){if(O(o))return O(A)||(A=new Kf),A.position=o.position,A.normal=o.normal,A.st=o.st,A.tangent=o.tangent,A.bitangent=o.bitangent,A.color=o.color,A};var Pr=Kf,Vte=`in vec4 v_color; void main() { out_FragColor = czm_gammaCorrect(v_color); } `,OEe=`in vec3 position3DHigh; in vec3 position3DLow; in vec3 prevPosition3DHigh; in vec3 prevPosition3DLow; in vec3 nextPosition3DHigh; in vec3 nextPosition3DLow; in vec2 expandAndWidth; in vec4 color; in float batchId; out vec4 v_color; void main() { float expandDir = expandAndWidth.x; float width = abs(expandAndWidth.y) + 0.5; bool usePrev = expandAndWidth.y < 0.0; vec4 p = czm_computePosition(); vec4 prev = czm_computePrevPosition(); vec4 next = czm_computeNextPosition(); float angle; vec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev, angle); gl_Position = czm_viewportOrthographic * positionWC; v_color = color; } `,c3=`void clipLineSegmentToNearPlane( vec3 p0, vec3 p1, out vec4 positionWC, out bool clipped, out bool culledByNearPlane, out vec4 clippedPositionEC) { culledByNearPlane = false; clipped = false; vec3 p0ToP1 = p1 - p0; float magnitude = length(p0ToP1); vec3 direction = normalize(p0ToP1); // Distance that p0 is behind the near plane. Negative means p0 is // in front of the near plane. float endPoint0Distance = czm_currentFrustum.x + p0.z; // Camera looks down -Z. // When moving a point along +Z: LESS VISIBLE // * Points in front of the camera move closer to the camera. // * Points behind the camrea move farther away from the camera. // When moving a point along -Z: MORE VISIBLE // * Points in front of the camera move farther away from the camera. // * Points behind the camera move closer to the camera. // Positive denominator: -Z, becoming more visible // Negative denominator: +Z, becoming less visible // Nearly zero: parallel to near plane float denominator = -direction.z; if (endPoint0Distance > 0.0 && abs(denominator) < czm_epsilon7) { // p0 is behind the near plane and the line to p1 is nearly parallel to // the near plane, so cull the segment completely. culledByNearPlane = true; } else if (endPoint0Distance > 0.0) { // p0 is behind the near plane, and the line to p1 is moving distinctly // toward or away from it. // t = (-plane distance - dot(plane normal, ray origin)) / dot(plane normal, ray direction) float t = endPoint0Distance / denominator; if (t < 0.0 || t > magnitude) { // Near plane intersection is not between the two points. // We already confirmed p0 is behind the naer plane, so now // we know the entire segment is behind it. culledByNearPlane = true; } else { // Segment crosses the near plane, update p0 to lie exactly on it. p0 = p0 + t * direction; // Numerical noise might put us a bit on the wrong side of the near plane. // Don't let that happen. p0.z = min(p0.z, -czm_currentFrustum.x); clipped = true; } } clippedPositionEC = vec4(p0, 1.0); positionWC = czm_eyeToWindowCoordinates(clippedPositionEC); } vec4 getPolylineWindowCoordinatesEC(vec4 positionEC, vec4 prevEC, vec4 nextEC, float expandDirection, float width, bool usePrevious, out float angle) { // expandDirection +1 is to the _left_ when looking from positionEC toward nextEC. #ifdef POLYLINE_DASH // Compute the window coordinates of the points. vec4 positionWindow = czm_eyeToWindowCoordinates(positionEC); vec4 previousWindow = czm_eyeToWindowCoordinates(prevEC); vec4 nextWindow = czm_eyeToWindowCoordinates(nextEC); // Determine the relative screen space direction of the line. vec2 lineDir; if (usePrevious) { lineDir = normalize(positionWindow.xy - previousWindow.xy); } else { lineDir = normalize(nextWindow.xy - positionWindow.xy); } angle = atan(lineDir.x, lineDir.y) - 1.570796327; // precomputed atan(1,0) // Quantize the angle so it doesn't change rapidly between segments. angle = floor(angle / czm_piOverFour + 0.5) * czm_piOverFour; #endif vec4 clippedPrevWC, clippedPrevEC; bool prevSegmentClipped, prevSegmentCulled; clipLineSegmentToNearPlane(prevEC.xyz, positionEC.xyz, clippedPrevWC, prevSegmentClipped, prevSegmentCulled, clippedPrevEC); vec4 clippedNextWC, clippedNextEC; bool nextSegmentClipped, nextSegmentCulled; clipLineSegmentToNearPlane(nextEC.xyz, positionEC.xyz, clippedNextWC, nextSegmentClipped, nextSegmentCulled, clippedNextEC); bool segmentClipped, segmentCulled; vec4 clippedPositionWC, clippedPositionEC; clipLineSegmentToNearPlane(positionEC.xyz, usePrevious ? prevEC.xyz : nextEC.xyz, clippedPositionWC, segmentClipped, segmentCulled, clippedPositionEC); if (segmentCulled) { return vec4(0.0, 0.0, 0.0, 1.0); } vec2 directionToPrevWC = normalize(clippedPrevWC.xy - clippedPositionWC.xy); vec2 directionToNextWC = normalize(clippedNextWC.xy - clippedPositionWC.xy); // If a segment was culled, we can't use the corresponding direction // computed above. We should never see both of these be true without // \`segmentCulled\` above also being true. if (prevSegmentCulled) { directionToPrevWC = -directionToNextWC; } else if (nextSegmentCulled) { directionToNextWC = -directionToPrevWC; } vec2 thisSegmentForwardWC, otherSegmentForwardWC; if (usePrevious) { thisSegmentForwardWC = -directionToPrevWC; otherSegmentForwardWC = directionToNextWC; } else { thisSegmentForwardWC = directionToNextWC; otherSegmentForwardWC = -directionToPrevWC; } vec2 thisSegmentLeftWC = vec2(-thisSegmentForwardWC.y, thisSegmentForwardWC.x); vec2 leftWC = thisSegmentLeftWC; float expandWidth = width * 0.5; // When lines are split at the anti-meridian, the position may be at the // same location as the next or previous position, and we need to handle // that to avoid producing NaNs. if (!czm_equalsEpsilon(prevEC.xyz - positionEC.xyz, vec3(0.0), czm_epsilon1) && !czm_equalsEpsilon(nextEC.xyz - positionEC.xyz, vec3(0.0), czm_epsilon1)) { vec2 otherSegmentLeftWC = vec2(-otherSegmentForwardWC.y, otherSegmentForwardWC.x); vec2 leftSumWC = thisSegmentLeftWC + otherSegmentLeftWC; float leftSumLength = length(leftSumWC); leftWC = leftSumLength < czm_epsilon6 ? thisSegmentLeftWC : (leftSumWC / leftSumLength); // The sine of the angle between the two vectors is given by the formula // |a x b| = |a||b|sin(theta) // which is // float sinAngle = length(cross(vec3(leftWC, 0.0), vec3(-thisSegmentForwardWC, 0.0))); // Because the z components of both vectors are zero, the x and y coordinate will be zero. // Therefore, the sine of the angle is just the z component of the cross product. vec2 u = -thisSegmentForwardWC; vec2 v = leftWC; float sinAngle = abs(u.x * v.y - u.y * v.x); expandWidth = clamp(expandWidth / sinAngle, 0.0, width * 2.0); } vec2 offset = leftWC * expandDirection * expandWidth * czm_pixelRatio; return vec4(clippedPositionWC.xy + offset, -clippedPositionWC.z, 1.0) * (czm_projection * clippedPositionEC).w; } vec4 getPolylineWindowCoordinates(vec4 position, vec4 previous, vec4 next, float expandDirection, float width, bool usePrevious, out float angle) { vec4 positionEC = czm_modelViewRelativeToEye * position; vec4 prevEC = czm_modelViewRelativeToEye * previous; vec4 nextEC = czm_modelViewRelativeToEye * next; return getPolylineWindowCoordinatesEC(positionEC, prevEC, nextEC, expandDirection, width, usePrevious, angle); } `;function AG(o){o=oe(o,oe.EMPTY_OBJECT),this.material=o.material,this.translucent=oe(o.translucent,!0),this._vertexShaderSource=o.vertexShaderSource,this._fragmentShaderSource=o.fragmentShaderSource,this._renderState=o.renderState,this._closed=oe(o.closed,!1)}Object.defineProperties(AG.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}}});AG.prototype.getFragmentShaderSource=function(){let o=[];return this.flat&&o.push("#define FLAT"),this.faceForward&&o.push("#define FACE_FORWARD"),O(this.material)&&o.push(this.material.shaderSource),o.push(this.fragmentShaderSource),o.join(` `)};AG.prototype.isTranslucent=function(){return O(this.material)&&this.material.isTranslucent()||!O(this.material)&&this.translucent};AG.prototype.getRenderState=function(){let o=this.isTranslucent(),A=Sn(this.renderState,!1);return o?(A.depthMask=!1,A.blending=Nl.ALPHA_BLEND):A.depthMask=!0,A};AG.getDefaultRenderState=function(o,A,f){let m={depthTest:{enabled:!0}};return o&&(m.depthMask=!1,m.blending=Nl.ALPHA_BLEND),A&&(m.cull={enabled:!0,face:pA.BACK}),O(f)&&(m=So(f,m,!0)),m};var Bh=AG,hfe=`${c3} ${OEe}`,HPt=Vte;wo.isInternetExplorer()||(hfe=`#define CLIP_POLYLINE ${hfe}`);function h3(o){o=oe(o,oe.EMPTY_OBJECT);let A=oe(o.translucent,!0),f=!1,m=h3.VERTEX_FORMAT;this.material=void 0,this.translucent=A,this._vertexShaderSource=oe(o.vertexShaderSource,hfe),this._fragmentShaderSource=oe(o.fragmentShaderSource,HPt),this._renderState=Bh.getDefaultRenderState(A,f,o.renderState),this._closed=f,this._vertexFormat=m}Object.defineProperties(h3.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}}});h3.VERTEX_FORMAT=Pr.POSITION_ONLY;h3.prototype.getFragmentShaderSource=Bh.prototype.getFragmentShaderSource;h3.prototype.isTranslucent=Bh.prototype.isTranslucent;h3.prototype.getRenderState=Bh.prototype.getRenderState;var l0=h3,UEe=`in vec3 position3DHigh; in vec3 position3DLow; in vec3 prevPosition3DHigh; in vec3 prevPosition3DLow; in vec3 nextPosition3DHigh; in vec3 nextPosition3DLow; in vec2 expandAndWidth; in vec2 st; in float batchId; out float v_width; out vec2 v_st; out float v_polylineAngle; void main() { float expandDir = expandAndWidth.x; float width = abs(expandAndWidth.y) + 0.5; bool usePrev = expandAndWidth.y < 0.0; vec4 p = czm_computePosition(); vec4 prev = czm_computePrevPosition(); vec4 next = czm_computeNextPosition(); float angle; vec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev, angle); gl_Position = czm_viewportOrthographic * positionWC; v_width = width; v_st.s = st.s; v_st.t = czm_writeNonPerspective(st.t, gl_Position.w); v_polylineAngle = angle; } `,zte=`#ifdef VECTOR_TILE uniform vec4 u_highlightColor; #endif in vec2 v_st; void main() { czm_materialInput materialInput; vec2 st = v_st; st.t = czm_readNonPerspective(st.t, gl_FragCoord.w); materialInput.s = st.s; materialInput.st = st; materialInput.str = vec3(st, 0.0); czm_material material = czm_getMaterial(materialInput); out_FragColor = vec4(material.diffuse + material.emission, material.alpha); #ifdef VECTOR_TILE out_FragColor *= u_highlightColor; #endif czm_writeLogDepth(); } `,dfe=`${c3} ${UEe}`,VPt=zte;wo.isInternetExplorer()||(dfe=`#define CLIP_POLYLINE ${dfe}`);function d3(o){o=oe(o,oe.EMPTY_OBJECT);let A=oe(o.translucent,!0),f=!1,m=d3.VERTEX_FORMAT;this.material=O(o.material)?o.material:go.fromType(go.ColorType),this.translucent=A,this._vertexShaderSource=oe(o.vertexShaderSource,dfe),this._fragmentShaderSource=oe(o.fragmentShaderSource,VPt),this._renderState=Bh.getDefaultRenderState(A,f,o.renderState),this._closed=f,this._vertexFormat=m}Object.defineProperties(d3.prototype,{vertexShaderSource:{get:function(){let o=this._vertexShaderSource;return this.material.shaderSource.search(/in\s+float\s+v_polylineAngle;/g)!==-1&&(o=`#define POLYLINE_DASH ${o}`),o}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}}});d3.VERTEX_FORMAT=Pr.POSITION_AND_ST;d3.prototype.getFragmentShaderSource=Bh.prototype.getFragmentShaderSource;d3.prototype.isTranslucent=Bh.prototype.isTranslucent;d3.prototype.getRenderState=Bh.prototype.getRenderState;var ip=d3;function zPt(o){o=oe(o,oe.EMPTY_OBJECT),this.position=o.position,this.normal=o.normal,this.st=o.st,this.bitangent=o.bitangent,this.tangent=o.tangent,this.color=o.color}var Fu=zPt,YPt={NONE:0,TOP:1,ALL:2},Fs=Object.freeze(YPt);function JPt(o,A){let f=[],m=o.length,C=0;for(;Cf&&(f=I),++y,I=A[y]}let E=[];for(let y=0;ym&&(E[A[y]]=x,++x);return(x-m+1)/(C/3)};HEe.tipsify=function(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.indices,f=o.maximumIndex,m=oe(o.cacheSize,24),C;function E(q,ee,ie,H){for(;ee.length>=1;){let le=ee[ee.length-1];if(ee.splice(ee.length-1,1),q[le].numLiveTriangles>0)return le}for(;C0)return++C,C-1;++C}return-1}function x(q,ee,ie,H,le,ue,Ae){let he=-1,ge,fe=-1,ae=0;for(;aefe||fe===-1)&&(fe=ge,he=U)),++ae}return he===-1?E(H,ue,q,Ae):he}let y=A.length,I=0,v=0,B=A[v],Q=y;if(O(f))I=f+1;else{for(;vI&&(I=B),++v,B=A[v];if(I===-1)return 0;++I}let T=[],w;for(w=0;wm&&(L.timeStamp=R,++R),++v}D=x(A,m,P,T,R,M,I)}return N};var VEe=HEe,yE={};function p$(o,A,f,m,C){o[A++]=f,o[A++]=m,o[A++]=m,o[A++]=C,o[A++]=C,o[A]=f}function lRt(o){let A=o.length,f=A/3*6,m=Bn.createTypedArray(A,f),C=0;for(let E=0;E=3){let f=(A-2)*6,m=Bn.createTypedArray(A,f);p$(m,0,o[0],o[1],o[2]);let C=6;for(let E=3;E0){let A=o.length-1,f=(A-1)*6,m=Bn.createTypedArray(A,f),C=o[0],E=0;for(let x=1;xC&&(C=f[E]);o.indices=VEe.tipsify({indices:f,maximumIndex:C,cacheSize:A})}return o};function aNe(o){let A={};for(let f in o)if(o.hasOwnProperty(f)&&O(o[f])&&O(o[f].values)){let m=o[f];A[f]=new wr({componentDatatype:m.componentDatatype,componentsPerAttribute:m.componentsPerAttribute,normalize:m.normalize,values:[]})}return A}function cRt(o,A,f){for(let m in A)if(A.hasOwnProperty(m)&&O(A[m])&&O(A[m].values)){let C=A[m];for(let E=0;E=Be.SIXTY_FOUR_KILOBYTES){let m=[],C=[],E=0,x=aNe(o.attributes),y=o.indices,I=y.length,v;o.primitiveType===on.TRIANGLES?v=3:o.primitiveType===on.LINES?v=2:o.primitiveType===on.POINTS&&(v=1);for(let B=0;B=Be.SIXTY_FOUR_KILOBYTES&&(A.push(new Uo({attributes:x,indices:C,primitiveType:o.primitiveType,boundingSphere:o.boundingSphere,boundingSphereCV:o.boundingSphereCV})),m=[],C=[],E=0,x=aNe(o.attributes))}C.length!==0&&A.push(new Uo({attributes:x,indices:C,primitiveType:o.primitiveType,boundingSphere:o.boundingSphere,boundingSphereCV:o.boundingSphereCV}))}else A.push(o);return A};var sNe=new Z,hRt=new Rt;yE.projectTo2D=function(o,A,f,m,C){let E=o.attributes[A];C=O(C)?C:new Kd;let x=C.ellipsoid,y=E.values,I=new Float64Array(y.length),v=0;for(let B=0;BR&&(R=M)}return new Uo({attributes:B,indices:S,primitiveType:v,boundingSphere:O(D)?new hi(D,R):void 0})}yE.combineInstances=function(o){let A=[],f=[],m=o.length;for(let E=0;E0&&C.push(vAe(A,"geometry")),f.length>0&&(C.push(vAe(f,"westHemisphereGeometry")),C.push(vAe(f,"eastHemisphereGeometry"))),C};var f_=new Z,iV=new Z,AU=new Z,cU=new Z;yE.computeNormal=function(o){let A=o.indices,f=o.attributes,m=f.position.values,C=f.position.values.length/3,E=A.length,x=new Array(C),y=new Array(E/3),I=new Array(E),v;for(v=0;v0){for(B=0;B3&&(f[3]=0,f[4]=2,f[5]=3);let m=6;for(let C=3;CC?m>E?x=Be.sign(o.y):x=Be.sign(f.y):C>E?x=Be.sign(A.y):x=Be.sign(f.y);let y=x<0;B2(o,y),B2(A,y),B2(f,y)}var cNe=new Z;function g_(o,A,f,m){Z.add(o,Z.multiplyByScalar(Z.subtract(A,o,cNe),o.y/(o.y-A.y),cNe),f),Z.clone(f,m),B2(f,!0),B2(m,!1)}var uF=new Z,AF=new Z,cF=new Z,hF=new Z,BAe={positions:new Array(7),indices:new Array(3*3)};function BRt(o,A,f){if(o.x>=0||A.x>=0||f.x>=0)return;vRt(o,A,f);let m=o.y<0,C=A.y<0,E=f.y<0,x=0;x+=m?1:0,x+=C?1:0,x+=E?1:0;let y=BAe.indices;x===1?(y[1]=3,y[2]=4,y[5]=6,y[7]=6,y[8]=5,m?(g_(o,A,uF,cF),g_(o,f,AF,hF),y[0]=0,y[3]=1,y[4]=2,y[6]=1):C?(g_(A,f,uF,cF),g_(A,o,AF,hF),y[0]=1,y[3]=2,y[4]=0,y[6]=2):E&&(g_(f,o,uF,cF),g_(f,A,AF,hF),y[0]=2,y[3]=0,y[4]=1,y[6]=0)):x===2&&(y[2]=4,y[4]=4,y[5]=3,y[7]=5,y[8]=6,m?C?E||(g_(f,o,uF,cF),g_(f,A,AF,hF),y[0]=0,y[1]=1,y[3]=0,y[6]=2):(g_(A,f,uF,cF),g_(A,o,AF,hF),y[0]=2,y[1]=0,y[3]=2,y[6]=1):(g_(o,A,uF,cF),g_(o,f,AF,hF),y[0]=1,y[1]=2,y[3]=1,y[6]=0));let I=BAe.positions;return I[0]=o,I[1]=A,I[2]=f,I.length=3,(x===1||x===2)&&(I[3]=uF,I[4]=AF,I[5]=cF,I[6]=hF,I.length=7),BAe}function hNe(o,A){let f=o.attributes;if(f.position.values.length===0)return;for(let C in f)if(f.hasOwnProperty(C)&&O(f[C])&&O(f[C].values)){let E=f[C];E.values=Ft.createTypedArray(E.componentDatatype,E.values)}let m=Uo.computeNumberOfVertices(o);return o.indices=Bn.createTypedArray(m,o.indices),A&&(o.boundingSphere=hi.fromVertices(f.position.values)),o}function i4(o){let A=o.attributes,f={};for(let m in A)if(A.hasOwnProperty(m)&&O(A[m])&&O(A[m].values)){let C=A[m];f[m]=new wr({componentDatatype:C.componentDatatype,componentsPerAttribute:C.componentsPerAttribute,normalize:C.normalize,values:[]})}return new Uo({attributes:f,indices:[],primitiveType:o.primitiveType})}function zEe(o,A,f){let m=O(o.geometry.boundingSphere);A=hNe(A,m),f=hNe(f,m),O(f)&&!O(A)?o.geometry=f:!O(f)&&O(A)?o.geometry=A:(o.westHemisphereGeometry=A,o.eastHemisphereGeometry=f,o.geometry=void 0)}function YEe(o,A){let f=new o,m=new o,C=new o;return function(E,x,y,I,v,B,Q,T){let w=o.fromArray(v,E*A,f),S=o.fromArray(v,x*A,m),D=o.fromArray(v,y*A,C);o.multiplyByScalar(w,I.x,w),o.multiplyByScalar(S,I.y,S),o.multiplyByScalar(D,I.z,D);let R=o.add(w,S,w);o.add(R,D,R),T&&o.normalize(R,R),o.pack(R,B,Q*A)}}var wRt=YEe(zt,4),EZ=YEe(Z,3),Mze=YEe(rt,2),bRt=function(o,A,f,m,C,E,x){let y=C[o]*m.x,I=C[A]*m.y,v=C[f]*m.z;E[x]=y+I+v>Be.EPSILON6?1:0},_7=new Z,ffe=new Z,gfe=new Z,QRt=new Z;function sq(o,A,f,m,C,E,x,y,I,v,B,Q,T,w,S,D){if(!O(E)&&!O(x)&&!O(y)&&!O(I)&&!O(v)&&w===0)return;let R=Z.fromArray(C,o*3,_7),P=Z.fromArray(C,A*3,ffe),M=Z.fromArray(C,f*3,gfe),L=Jte(m,R,P,M,QRt);if(O(L)){if(O(E)&&EZ(o,A,f,L,E,Q.normal.values,D,!0),O(v)){let F=Z.fromArray(v,o*3,_7),k=Z.fromArray(v,A*3,ffe),N=Z.fromArray(v,f*3,gfe);Z.multiplyByScalar(F,L.x,F),Z.multiplyByScalar(k,L.y,k),Z.multiplyByScalar(N,L.z,N);let G;!Z.equals(F,Z.ZERO)||!Z.equals(k,Z.ZERO)||!Z.equals(N,Z.ZERO)?(G=Z.add(F,k,F),Z.add(G,N,G),Z.normalize(G,G)):(G=_7,G.x=0,G.y=0,G.z=0),Z.pack(G,Q.extrudeDirection.values,D*3)}if(O(B)&&bRt(o,A,f,L,B,Q.applyOffset.values,D),O(x)&&EZ(o,A,f,L,x,Q.tangent.values,D,!0),O(y)&&EZ(o,A,f,L,y,Q.bitangent.values,D,!0),O(I)&&Mze(o,A,f,L,I,Q.st.values,D),w>0)for(let F=0;F3){let H=ie.positions,le=ie.indices,ue=le.length;for(let Ae=0;Ae0)continue;let I=Z.unpack(m,x,Lze);(y.y<0&&I.y>0||y.y>0&&I.y<0)&&(x-3>0?(m[x]=f[x-3],m[x+1]=f[x-2],m[x+2]=f[x-1]):Z.pack(y,m,x));let v=Z.unpack(C,x,pfe);(y.y<0&&v.y>0||y.y>0&&v.y<0)&&(x+30||hi.intersectPlane(f,ca.ORIGIN_ZX_PLANE)!==sa.INTERSECTING))return o;if(A.geometryType!==L2.NONE)switch(A.geometryType){case L2.POLYLINES:kRt(o);break;case L2.TRIANGLES:dNe(o);break;case L2.LINES:fNe(o);break}else _Rt(A),A.primitiveType===on.TRIANGLES?dNe(o):A.primitiveType===on.LINES&&fNe(o);return o};var Zl=yE;function h9(o,A,f){o=oe(o,0),A=oe(A,0),f=oe(f,0),this.value=new Float32Array([o,A,f])}Object.defineProperties(h9.prototype,{componentDatatype:{get:function(){return Ft.FLOAT}},componentsPerAttribute:{get:function(){return 3}},normalize:{get:function(){return!1}}});h9.fromCartesian3=function(o){return new h9(o.x,o.y,o.z)};h9.toValue=function(o,A){return O(A)||(A=new Float32Array([o.x,o.y,o.z])),A[0]=o.x,A[1]=o.y,A[2]=o.z,A};var xf=h9;function ORt(o,A,f){let m=!f,C=o.length,E;if(!m&&C>1){let x=o[0].modelMatrix;for(E=1;E=0){let v=m[y];C=v.offset+v.count,x=v.index,E=f[x].indices.length}else C=0,x=0,E=f[x].indices.length;let I=o.length;for(let v=0;vE&&(C=0,E=f[++x].indices.length),m.push({index:x,offset:C,count:Q}),C+=Q}}function HRt(o,A){let f=[];return bAe(o,"geometry",A,f),bAe(o,"westHemisphereGeometry",A,f),bAe(o,"eastHemisphereGeometry",A,f),f}var vD={};vD.combineGeometry=function(o){let A,f,m=o.instances,C=m.length,E,x,y=!1;C>0&&(A=GRt(o),A.length>0&&(f=Zl.createAttributeLocations(A[0]),o.createPickOffsets&&(E=HRt(m,A))),O(m[0].attributes)&&O(m[0].attributes.offset)&&(x=new Array(C),y=!0));let I=new Array(C),v=new Array(C);for(let B=0;B0&&(f.set(I.indices,x),x+=S)}return A.push(f.buffer),{stringTable:m,packedData:f}};vD.unpackCreateGeometryResults=function(o){let A=o.stringTable,f=o.packedData,m,C=new Array(f[0]),E=0,x=1;for(;x0){let M=w.length/S;for(P=Bn.createTypedArray(M,T),m=0;m{A._completeLoad=(C,E,x)=>{this._error=x,this._state=E,C.afterRender.push(function(){if(A._ready=A._state===gf.COMPLETE||A._state===gf.FAILED,!O(x))return f(A),!0;m(x)})}}),this._batchTable=void 0,this._batchTableAttributeIndices=void 0,this._offsetInstanceExtend=void 0,this._batchTableOffsetAttribute2DIndex=void 0,this._batchTableOffsetsUpdated=!1,this._instanceBoundingSpheres=void 0,this._instanceBoundingSpheresCV=void 0,this._tempBoundingSpheres=void 0,this._recomputeBoundingSpheres=!1,this._batchTableBoundingSpheresUpdated=!1,this._batchTableBoundingSphereAttributeIndices=void 0,this._heatMap=o.heatMap,this._scaleHeight=o.scaleHeight,this._frameBuffer=null,this._enableFrameBuffer=o.enableFrameBuffer}Object.defineProperties(ud.prototype,{vertexCacheOptimize:{get:function(){return this._vertexCacheOptimize}},interleave:{get:function(){return this._interleave}},releaseGeometryInstances:{get:function(){return this._releaseGeometryInstances}},allowPicking:{get:function(){return this._allowPicking}},asynchronous:{get:function(){return this._asynchronous}},compressVertices:{get:function(){return this._compressVertices}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return ii("Primitive.readyPromise","Primitive.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Wait for Primitive.ready to return true instead."),this._readyPromise}}});function XRt(o){let A=o.length,f=[],m=o[0].attributes,C;for(C in m)if(m.hasOwnProperty(C)&&O(m[C])){let E=m[C],x=!0;for(let y=1;y= nearSq && distanceSq <= farSq) ? 1.0 : 0.0; gl_Position *= show; }`,`${m} ${C}`};function vNe(o,A){if(!o.compressVertices)return A;let f=A.search(/in\s+vec3\s+normal;/g)!==-1,m=A.search(/in\s+vec2\s+st;/g)!==-1;if(!f&&!m)return A;let C=A.search(/in\s+vec3\s+tangent;/g)!==-1,E=A.search(/in\s+vec3\s+bitangent;/g)!==-1,x=m&&f?2:1;x+=C||E?1:0;let y=x>1?`vec${x}`:"float",I="compressedAttributes",v=`in ${y} ${I};`,B="",Q="";if(m){B+=`vec2 st; `;let S=x>1?`${I}.x`:I;Q+=` st = czm_decompressTextureCoordinates(${S}); `}f&&C&&E?(B+=`vec3 normal; vec3 tangent; vec3 bitangent; `,Q+=` czm_octDecode(${I}.${m?"yz":"xy"}, normal, tangent, bitangent); `):(f&&(B+=`vec3 normal; `,Q+=` normal = czm_octDecode(${I}${x>1?`.${m?"y":"x"}`:""}); `),C&&(B+=`vec3 tangent; `,Q+=` tangent = czm_octDecode(${I}.${m&&f?"z":"y"}); `),E&&(B+=`vec3 bitangent; `,Q+=` bitangent = czm_octDecode(${I}.${m&&f?"z":"y"}); `));let T=A;T=T.replace(/in\s+vec3\s+normal;/g,""),T=T.replace(/in\s+vec2\s+st;/g,""),T=T.replace(/in\s+vec3\s+tangent;/g,""),T=T.replace(/in\s+vec3\s+bitangent;/g,""),T=_r.replaceMain(T,"czm_non_compressed_main");let w=`void main() { ${Q} czm_non_compressed_main(); }`;return[v,B,T,w].join(` `)}function oLt(o){let A=_r.replaceMain(o,"czm_non_depth_clamp_main");return A+=`void main() { czm_non_depth_clamp_main(); gl_Position = czm_depthClamp(gl_Position);} `,A}function aLt(o){let A=_r.replaceMain(o,"czm_non_depth_clamp_main");return A+=`void main() { czm_non_depth_clamp_main(); #if defined(LOG_DEPTH) czm_writeLogDepth(); #else czm_writeDepthClamp(); #endif } `,A}function BNe(o,A){let f=o.vertexAttributes}function sLt(o,A){return function(){return o[A]}}var QAe=Math.max(wo.hardwareConcurrency-1,1),uq,lLt=new hd("combineGeometry");function uLt(o,A){let f,m,C,E,x=o._instanceIds;if(o._state===gf.READY){f=Array.isArray(o.geometryInstances)?o.geometryInstances:[o.geometryInstances];let y=o._numberOfInstances=f.length,I=[],v=[];for(C=0;C0){let D=new Float64Array(Q);for(S=[D.buffer],E=0;E0?(o._recomputeBoundingSpheres=!0,o._state=gf.COMBINED):v7(o,A,gf.FAILED,void 0)}).catch(function(Q){v7(o,A,gf.FAILED,Q)})}}function ALt(o,A,f){if(O(o._heatMap)&&A.length===1){let m=[],C=yN.unpackCreateGeometryResults(A[0]),E=C[0].attributes;O(E.tangent)||delete E.tangent,O(E.bitangent)||delete E.bitangent,O(E.color)||delete E.color,C[0].attributes.position.values=dLt(o,C[0].attributes.position.values,f);let x=yN.packCreateGeometryResults(C,m);o._createGeometryResults=[x]}}var cLt=new Z,hLt=new Z,$M=new Rt;function dLt(o,A,f){let m=o._heatMap;f=oe(f,Ci.WGS84);let C=cLt,E=hLt;if(O(A)){let x=A.length,y=0;for(let I=0;I0?(o._recomputeBoundingSpheres=!0,o._state=gf.COMBINED):v7(o,A,gf.FAILED,void 0)}function gLt(o,A){let f=o._batchTableAttributeIndices.offset;if(!o._recomputeBoundingSpheres||!O(f)){o._recomputeBoundingSpheres=!1;return}let m,C=o._offsetInstanceExtend,E=o._instanceBoundingSpheres,x=E.length,y=o._tempBoundingSpheres;if(!O(y)){for(y=new Array(x),m=0;m0||hi.intersectPlane(D,ca.ORIGIN_ZX_PLANE)!==sa.INTERSECTING?I.push(D):(v.push(D),B.push(D))}let Q=I[0],T=B[0],w=v[0];for(m=1;m0){if(Zn.maximumVertexTextureImageUnits===0)throw new ki("Vertex texture fetch support is required to render primitives with per-instance attributes. The maximum number of vertex texture image units must be greater than zero.");this._batchTable.update(o)}if(this._state!==gf.COMPLETE&&this._state!==gf.COMBINED&&(this.asynchronous?uLt(this,o):fLt(this,o)),this._state===gf.COMBINED&&(pLt(this,o),bNe(this,o),CLt(this,o)),!this.show||this._state!==gf.COMPLETE)return;this._batchTableOffsetsUpdated||bNe(this,o),this._recomputeBoundingSpheres&&gLt(this,o);let f=this.appearance,m=f.material,C=!1,E=!1,x=!1;this._appearance!==f?(this._appearance=f,this._material=m,C=!0,E=!0):this._material!==m&&(this._material=m,E=!0);let y=this.depthFailAppearance,I=O(y)?y.material:void 0;this._depthFailAppearance!==y?(this._depthFailAppearance=y,this._depthFailMaterial=I,C=!0,E=!0):this._depthFailMaterial!==I&&(this._depthFailMaterial=I,E=!0);let v=this._appearance.isTranslucent();this._translucent!==v&&(this._translucent=v,C=!0),O(this._material)&&this._material.update(A);let B=f.closed&&v;if(C&&oe(this._createRenderStatesFunction,ELt)(this,A,f,B),E&&oe(this._createShaderProgramFunction,xLt)(this,o,f),this._enableFrameBuffer&&!O(this._frameBuffer)&&(C||E)){let Q=o.context.canvas,T=Q.clientWidth,w=Q.clientHeight,S=xNe(o.context,T,w);this._frameBuffer=yNe(o.context,S.colorTexture,S.copyTexture),x=!0}if(this._enableFrameBuffer&&O(this._frameBuffer)){let Q=o.context.canvas,T=Q.clientWidth,w=Q.clientHeight,S=this._frameBuffer.copyTexture;if(S.width!==T||S.height!==w){jRt(this._frameBuffer),qRt(this._frameBuffer);let D=xNe(o.context,T,w);this._frameBuffer=yNe(o.context,D.colorTexture,D.copyTexture),x=!0}}(C||E||x)&&oe(this._createCommandsFunction,yLt)(this,f,m,v,B,this._colorCommands,this._pickCommands,o),oe(this._updateAndQueueCommandsFunction,ILt)(this,o,this._colorCommands,this._pickCommands,this.modelMatrix,this.cull,this.debugShowBoundingVolume,B)};var _Lt=new hi,vLt=new hi;function Gze(o,A,f){if(f===Fs.TOP){let m=hi.clone(o,_Lt),C=hi.clone(o,vLt);C.center=Z.add(C.center,A,C.center),o=hi.union(m,C,o)}else f===Fs.ALL&&(o.center=Z.add(o.center,A,o.center));return o}function BLt(o,A,f){return function(){let m=o.getBatchedAttribute(A,f),C=o.attributes[f],E=C.componentsPerAttribute,x=Ft.createTypedArray(C.componentDatatype,E);return O(m.constructor.pack)?m.constructor.pack(m,x,0):x[0]=m,x}}function wLt(o,A,f,m,C){return function(E){let x=Nze(E);o.setBatchedAttribute(A,f,x),C==="offset"&&(m._recomputeBoundingSpheres=!0,m._batchTableOffsetsUpdated=!1)}}var bLt=new Z;function QLt(o,A,f){A.boundingSphere={get:function(){let m=o._instanceBoundingSpheres[f];if(O(m)){m=m.clone();let C=o.modelMatrix,E=A.offset;O(E)&&Gze(m,Z.fromArray(E.get(),0,bLt),o._offsetInstanceExtend[f]),O(C)&&(m=hi.transform(m,C))}return m}},A.boundingSphereCV={get:function(){return o._instanceBoundingSpheresCV[f]}}}function SLt(o,A,f){A.pickId={get:function(){return o._pickIds[f]}}}ud.prototype.getGeometryInstanceAttributes=function(o){let A=this._perInstanceAttributeCache.get(o);if(O(A))return A;let f=-1,m=this._lastPerInstanceAttributeIndex,C=this._instanceIds,E=C.length;for(let v=0;v{f._completeLoad=()=>{this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0);let E=this._error;O(E)?C(E):m(this)}}),this._primitive=void 0,this._sp=void 0,this._sp2D=void 0,this._spMorph=void 0,this._renderState=DNe(!1),this._renderState3DTiles=DNe(!0),this._renderStateMorph=Xr.fromCache({cull:{enabled:!0,face:pA.FRONT},depthTest:{enabled:!0},blending:Nl.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1})}Object.defineProperties(BD.prototype,{interleave:{get:function(){return this._primitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._primitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._primitiveOptions.allowPicking}},asynchronous:{get:function(){return this._primitiveOptions.asynchronous}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return ii("GroundPolylinePrimitive.readyPromise","GroundPolylinePrimitive.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Wait for GroundPolylinePrimitive.ready to return true instead."),this._readyPromise}},debugShowShadowVolume:{get:function(){return this._debugShowShadowVolume}}});BD.initializeTerrainHeights=function(){return $A.initialize()};function MLt(o,A,f){let m=A.context,C=o._primitive,E=C._attributeLocations,x=C._batchTable.getVertexShaderCallback()(kEe);x=ra._appendShowToShader(C,x),x=ra._appendDistanceDisplayConditionToShader(C,x),x=ra._modifyShaderPosition(o,x,A.scene3DOnly);let y=C._batchTable.getVertexShaderCallback()(NEe);y=ra._appendShowToShader(C,y),y=ra._appendDistanceDisplayConditionToShader(C,y),y=ra._modifyShaderPosition(o,y,A.scene3DOnly);let I=C._batchTable.getVertexShaderCallback()(LEe),v=[`GLOBE_MINIMUM_ALTITUDE ${A.mapProjection.ellipsoid.minimumRadius.toFixed(1)}`],B="",Q="";O(f.material)?(Q=O(f.material)?f.material.shaderSource:"",Q.search(/in\s+float\s+v_polylineAngle;/g)!==-1&&v.push("ANGLE_VARYING"),Q.search(/in\s+float\s+v_width;/g)!==-1&&v.push("WIDTH_VARYING")):B="PER_INSTANCE_COLOR",v.push(B);let T=o.debugShowShadowVolume?["DEBUG_SHOW_VOLUME",B]:[B],w=new _r({defines:v,sources:[x]}),S=new _r({defines:T,sources:[Q,I]});o._sp=qa.replaceCache({context:m,shaderProgram:C._sp,vertexShaderSource:w,fragmentShaderSource:S,attributeLocations:E});let D=m.shaderCache.getDerivedShaderProgram(o._sp,"2dColor");if(!O(D)){let P=new _r({defines:v.concat(["COLUMBUS_VIEW_2D"]),sources:[x]});D=m.shaderCache.createDerivedShaderProgram(o._sp,"2dColor",{context:m,shaderProgram:o._sp2D,vertexShaderSource:P,fragmentShaderSource:S,attributeLocations:E})}o._sp2D=D;let R=m.shaderCache.getDerivedShaderProgram(o._sp,"MorphColor");if(!O(R)){let P=new _r({defines:v.concat([`MAX_TERRAIN_HEIGHT ${$A._defaultMaxTerrainHeight.toFixed(1)}`]),sources:[y]});I=C._batchTable.getVertexShaderCallback()(FEe);let M=new _r({defines:T,sources:[Q,I]});R=m.shaderCache.createDerivedShaderProgram(o._sp,"MorphColor",{context:m,shaderProgram:o._spMorph,vertexShaderSource:P,fragmentShaderSource:M,attributeLocations:E})}o._spMorph=R}function DNe(o){return Xr.fromCache({cull:{enabled:!0},blending:Nl.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1,stencilTest:{enabled:o,frontFunction:du.EQUAL,frontOperation:{fail:jn.KEEP,zFail:jn.KEEP,zPass:jn.KEEP},backFunction:du.EQUAL,backOperation:{fail:jn.KEEP,zFail:jn.KEEP,zPass:jn.KEEP},reference:ia.CESIUM_3D_TILE_MASK,mask:ia.CESIUM_3D_TILE_MASK}})}function PLt(o,A,f,m,C,E){let x=o._primitive,y=x._va.length;C.length=y,E.length=y;let I=A instanceof l0?{}:f._uniforms,v=x._batchTable.getUniformMapCallback()(I);for(let B=0;B{!this._ready&&O(this._primitive)&&this._primitive.ready&&this._completeLoad()})};BD.prototype.getGeometryInstanceAttributes=function(o){return this._primitive.getGeometryInstanceAttributes(o)};BD.isSupported=function(o){return o.frameState.context.depthTexture};BD.prototype.isDestroyed=function(){return!1};BD.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),this._sp=this._sp&&this._sp.destroy(),this._sp2D=void 0,this._spMorph=void 0,Ar(this)};var aR=BD;function gE(o,A,f){this.minimum=Z.clone(oe(o,Z.ZERO)),this.maximum=Z.clone(oe(A,Z.ZERO)),O(f)?f=Z.clone(f):f=Z.midpoint(this.minimum,this.maximum,new Z),this.center=f}gE.fromCorners=function(o,A,f){return O(f)||(f=new gE),f.minimum=Z.clone(o,f.minimum),f.maximum=Z.clone(A,f.maximum),f.center=Z.midpoint(o,A,f.center),f};gE.fromPoints=function(o,A){if(O(A)||(A=new gE),!O(o)||o.length===0)return A.minimum=Z.clone(Z.ZERO,A.minimum),A.maximum=Z.clone(Z.ZERO,A.maximum),A.center=Z.clone(Z.ZERO,A.center),A;let f=o[0].x,m=o[0].y,C=o[0].z,E=o[0].x,x=o[0].y,y=o[0].z,I=o.length;for(let Q=1;Q0?sa.INSIDE:E+C<0?sa.OUTSIDE:sa.INTERSECTING};gE.prototype.clone=function(o){return gE.clone(this,o)};gE.prototype.intersectPlane=function(o){return gE.intersectPlane(this,o)};gE.prototype.equals=function(o){return gE.equals(this,o)};var Zz=gE,DAe=new zt;function bb(o,A){A=oe(A,Ci.WGS84),o=A.scaleToGeodeticSurface(o);let f=kr.eastNorthUpToFixedFrame(o,A);this._ellipsoid=A,this._origin=o,this._xAxis=Z.fromCartesian4(Re.getColumn(f,0,DAe)),this._yAxis=Z.fromCartesian4(Re.getColumn(f,1,DAe));let m=Z.fromCartesian4(Re.getColumn(f,2,DAe));this._plane=ca.fromPointNormal(o,m)}Object.defineProperties(bb.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},origin:{get:function(){return this._origin}},plane:{get:function(){return this._plane}},xAxis:{get:function(){return this._xAxis}},yAxis:{get:function(){return this._yAxis}},zAxis:{get:function(){return this._plane.normal}}});var LLt=new Zz;bb.fromPoints=function(o,A){let f=Zz.fromPoints(o,LLt);return new bb(f.center,A)};var Hze=new Ua,m$=new Z;bb.prototype.projectPointOntoPlane=function(o,A){let f=Hze;f.origin=o,Z.normalize(o,f.direction);let m=Sc.rayPlane(f,this._plane,m$);if(O(m)||(Z.negate(f.direction,f.direction),m=Sc.rayPlane(f,this._plane,m$)),O(m)){let C=Z.subtract(m,this._origin,m),E=Z.dot(this._xAxis,C),x=Z.dot(this._yAxis,C);return O(A)?(A.x=E,A.y=x,A):new rt(E,x)}};bb.prototype.projectPointsOntoPlane=function(o,A){O(A)||(A=[]);let f=0,m=o.length;for(let C=0;C0?0:N.latitude,q=Rt.fromRadians(K,o.north,f,KLt),ee=Rt.fromRadians(o.west,o.north,f,WLt),ie=Rt.fromRadians(o.west,X,f,jLt),H=Rt.fromRadians(o.west,o.south,f,qLt),le=Rt.fromRadians(K,o.south,f,XLt),ue=m.cartographicToCartesian(q,ZLt),Ae=m.cartographicToCartesian(ee,RNe),he=m.cartographicToCartesian(ie,$Lt),ge=m.cartographicToCartesian(H,LNe),fe=m.cartographicToCartesian(le,eFt),ae=J.projectPointToNearestOnPlane(ue,tFt),U=J.projectPointToNearestOnPlane(Ae,iFt),W=J.projectPointToNearestOnPlane(he,rFt),Y=J.projectPointToNearestOnPlane(ge,nFt),z=J.projectPointToNearestOnPlane(fe,oFt);return E=Math.min(U.x,W.x,Y.x),x=-E,I=Math.max(U.y,ae.y),y=Math.min(Y.y,z.y),ee.height=H.height=A,Ae=m.cartographicToCartesian(ee,RNe),ge=m.cartographicToCartesian(H,LNe),v=Math.min(ca.getPointDistance(Q,Ae),ca.getPointDistance(Q,ge)),B=f,MNe(J.origin,J.xAxis,J.yAxis,J.zAxis,E,x,y,I,v,B,C)}let T=o.south>0,w=o.north<0,S=T?o.south:w?o.north:0,D=gi.center(o,PNe).longitude,R=Z.fromRadians(D,S,f,m,aFt);R.z=0;let P=Math.abs(R.x)=I?sa.INSIDE:sa.INTERSECTING};var zze=new Z,Yze=new Z,Jze=new Z,gFt=new Z,FNe=new Z,pFt=new Z;vu.distanceSquaredTo=function(o,A){let f=Z.subtract(A,o.center,Vze),m=o.halfAxes,C=Gt.getColumn(m,0,zze),E=Gt.getColumn(m,1,Yze),x=Gt.getColumn(m,2,Jze),y=Z.magnitude(C),I=Z.magnitude(E),v=Z.magnitude(x),B=!0,Q=!0,T=!0;y>0?Z.divideByScalar(C,y,C):B=!1,I>0?Z.divideByScalar(E,I,E):Q=!1,v>0?Z.divideByScalar(x,v,x):T=!1;let w=!B+!Q+!T,S,D,R;if(w===1){let F=C;S=E,D=x,Q?T||(F=x,D=C):(F=E,S=C),R=Z.cross(S,D,FNe),F===C?C=R:F===E?E=R:F===x&&(x=R)}else if(w===2){S=C,Q?S=E:T&&(S=x);let F=Z.UNIT_Y;F.equalsEpsilon(S,Be.EPSILON3)&&(F=Z.UNIT_X),D=Z.cross(S,F,gFt),Z.normalize(D,D),R=Z.cross(S,D,FNe),Z.normalize(R,R),S===C?(E=D,x=R):S===E?(x=D,C=R):S===x&&(C=D,E=R)}else w===3&&(C=Z.UNIT_X,E=Z.UNIT_Y,x=Z.UNIT_Z);let P=pFt;P.x=Z.dot(f,C),P.y=Z.dot(f,E),P.z=Z.dot(f,x);let M=0,L;return P.x<-y?(L=P.x+y,M+=L*L):P.x>y&&(L=P.x-y,M+=L*L),P.y<-I?(L=P.y+I,M+=L*L):P.y>I&&(L=P.y-I,M+=L*L),P.z<-v?(L=P.z+v,M+=L*L):P.z>v&&(L=P.z-v,M+=L*L),M};var mFt=new Z,CFt=new Z;vu.computePlaneDistances=function(o,A,f,m){O(m)||(m=new lb);let C=Number.POSITIVE_INFINITY,E=Number.NEGATIVE_INFINITY,x=o.center,y=o.halfAxes,I=Gt.getColumn(y,0,zze),v=Gt.getColumn(y,1,Yze),B=Gt.getColumn(y,2,Jze),Q=Z.add(I,v,mFt);Z.add(Q,B,Q),Z.add(Q,x,Q);let T=Z.subtract(Q,A,CFt),w=Z.dot(f,T);return C=Math.min(w,C),E=Math.max(w,E),Z.add(x,I,Q),Z.add(Q,v,Q),Z.subtract(Q,B,Q),Z.subtract(Q,A,T),w=Z.dot(f,T),C=Math.min(w,C),E=Math.max(w,E),Z.add(x,I,Q),Z.subtract(Q,v,Q),Z.add(Q,B,Q),Z.subtract(Q,A,T),w=Z.dot(f,T),C=Math.min(w,C),E=Math.max(w,E),Z.add(x,I,Q),Z.subtract(Q,v,Q),Z.subtract(Q,B,Q),Z.subtract(Q,A,T),w=Z.dot(f,T),C=Math.min(w,C),E=Math.max(w,E),Z.subtract(x,I,Q),Z.add(Q,v,Q),Z.add(Q,B,Q),Z.subtract(Q,A,T),w=Z.dot(f,T),C=Math.min(w,C),E=Math.max(w,E),Z.subtract(x,I,Q),Z.add(Q,v,Q),Z.subtract(Q,B,Q),Z.subtract(Q,A,T),w=Z.dot(f,T),C=Math.min(w,C),E=Math.max(w,E),Z.subtract(x,I,Q),Z.subtract(Q,v,Q),Z.add(Q,B,Q),Z.subtract(Q,A,T),w=Z.dot(f,T),C=Math.min(w,C),E=Math.max(w,E),Z.subtract(x,I,Q),Z.subtract(Q,v,Q),Z.subtract(Q,B,Q),Z.subtract(Q,A,T),w=Z.dot(f,T),C=Math.min(w,C),E=Math.max(w,E),m.start=C,m.stop=E,m};var EFt=new Z,xFt=new Z,yFt=new Z;vu.computeCorners=function(o,A){O(A)||(A=[new Z,new Z,new Z,new Z,new Z,new Z,new Z,new Z]);let f=o.center,m=o.halfAxes,C=Gt.getColumn(m,0,EFt),E=Gt.getColumn(m,1,xFt),x=Gt.getColumn(m,2,yFt);return Z.clone(f,A[0]),Z.subtract(A[0],C,A[0]),Z.subtract(A[0],E,A[0]),Z.subtract(A[0],x,A[0]),Z.clone(f,A[1]),Z.subtract(A[1],C,A[1]),Z.subtract(A[1],E,A[1]),Z.add(A[1],x,A[1]),Z.clone(f,A[2]),Z.subtract(A[2],C,A[2]),Z.add(A[2],E,A[2]),Z.subtract(A[2],x,A[2]),Z.clone(f,A[3]),Z.subtract(A[3],C,A[3]),Z.add(A[3],E,A[3]),Z.add(A[3],x,A[3]),Z.clone(f,A[4]),Z.add(A[4],C,A[4]),Z.subtract(A[4],E,A[4]),Z.subtract(A[4],x,A[4]),Z.clone(f,A[5]),Z.add(A[5],C,A[5]),Z.subtract(A[5],E,A[5]),Z.add(A[5],x,A[5]),Z.clone(f,A[6]),Z.add(A[6],C,A[6]),Z.add(A[6],E,A[6]),Z.subtract(A[6],x,A[6]),Z.clone(f,A[7]),Z.add(A[7],C,A[7]),Z.add(A[7],E,A[7]),Z.add(A[7],x,A[7]),A};var IFt=new Gt;vu.computeTransformation=function(o,A){O(A)||(A=new Re);let f=o.center,m=Gt.multiplyByUniformScale(o.halfAxes,2,IFt);return Re.fromRotationTranslation(m,f,A)};var _Ft=new hi;vu.isOccluded=function(o,A){let f=hi.fromOrientedBoundingBox(o,_Ft);return!A.isBoundingSphereVisible(f)};vu.prototype.intersectPlane=function(o){return vu.intersectPlane(this,o)};vu.prototype.distanceSquaredTo=function(o){return vu.distanceSquaredTo(this,o)};vu.prototype.computePlaneDistances=function(o,A,f){return vu.computePlaneDistances(this,o,A,f)};vu.prototype.computeCorners=function(o){return vu.computeCorners(this,o)};vu.prototype.computeTransformation=function(o){return vu.computeTransformation(this,o)};vu.prototype.isOccluded=function(o){return vu.isOccluded(this,o)};vu.equals=function(o,A){return o===A||O(o)&&O(A)&&Z.equals(o.center,A.center)&&Gt.equals(o.halfAxes,A.halfAxes)};vu.prototype.clone=function(o){return vu.clone(this,o)};vu.prototype.equals=function(o){return vu.equals(this,o)};var Lu=vu,C$={};C$.getHeight=function(o,A,f){return(o-f)*A+f};var vFt=new Z;C$.getPosition=function(o,A,f,m,C){let E=A.cartesianToCartographic(o,vFt),x=C$.getHeight(E.height,f,m);return Z.fromRadians(E.longitude,E.latitude,x,A,C)};var mb=C$;function r4(o,A,f,m){o=oe(o,1),A=oe(A,1),f=oe(f,1),m=oe(m,1),this.value=new Uint8Array([Ve.floatToByte(o),Ve.floatToByte(A),Ve.floatToByte(f),Ve.floatToByte(m)])}Object.defineProperties(r4.prototype,{componentDatatype:{get:function(){return Ft.UNSIGNED_BYTE}},componentsPerAttribute:{get:function(){return 4}},normalize:{get:function(){return!0}}});r4.fromColor=function(o){return new r4(o.red,o.green,o.blue,o.alpha)};r4.toValue=function(o,A){return O(A)?o.toBytes(A):new Uint8Array(o.toBytes())};r4.equals=function(o,A){return o===A||O(o)&&O(A)&&o.value[0]===A.value[0]&&o.value[1]===A.value[1]&&o.value[2]===A.value[2]&&o.value[3]===A.value[3]};var _o=r4,JEe=`in vec3 position3DHigh; in vec3 position3DLow; in float batchId; #ifdef EXTRUDED_GEOMETRY in vec3 extrudeDirection; uniform float u_globeMinimumAltitude; #endif // EXTRUDED_GEOMETRY #ifdef PER_INSTANCE_COLOR out vec4 v_color; #endif // PER_INSTANCE_COLOR #ifdef TEXTURE_COORDINATES #ifdef SPHERICAL out vec4 v_sphericalExtents; #else // SPHERICAL out vec2 v_inversePlaneExtents; out vec4 v_westPlane; out vec4 v_southPlane; #endif // SPHERICAL out vec3 v_uvMinAndSphericalLongitudeRotation; out vec3 v_uMaxAndInverseDistance; out vec3 v_vMaxAndInverseDistance; #endif // TEXTURE_COORDINATES void main() { vec4 position = czm_computePosition(); #ifdef EXTRUDED_GEOMETRY float delta = min(u_globeMinimumAltitude, czm_geometricToleranceOverMeter * length(position.xyz)); delta *= czm_sceneMode == czm_sceneMode3D ? 1.0 : 0.0; //extrudeDirection is zero for the top layer position = position + vec4(extrudeDirection * delta, 0.0); #endif #ifdef TEXTURE_COORDINATES #ifdef SPHERICAL v_sphericalExtents = czm_batchTable_sphericalExtents(batchId); v_uvMinAndSphericalLongitudeRotation.z = czm_batchTable_longitudeRotation(batchId); #else // SPHERICAL #ifdef COLUMBUS_VIEW_2D vec4 planes2D_high = czm_batchTable_planes2D_HIGH(batchId); vec4 planes2D_low = czm_batchTable_planes2D_LOW(batchId); // If the primitive is split across the IDL (planes2D_high.x > planes2D_high.w): // - If this vertex is on the east side of the IDL (position3DLow.y > 0.0, comparison with position3DHigh may produce artifacts) // - existing "east" is on the wrong side of the world, far away (planes2D_high/low.w) // - so set "east" as beyond the eastmost extent of the projection (idlSplitNewPlaneHiLow) vec2 idlSplitNewPlaneHiLow = vec2(EAST_MOST_X_HIGH - (WEST_MOST_X_HIGH - planes2D_high.w), EAST_MOST_X_LOW - (WEST_MOST_X_LOW - planes2D_low.w)); bool idlSplit = planes2D_high.x > planes2D_high.w && position3DLow.y > 0.0; planes2D_high.w = czm_branchFreeTernary(idlSplit, idlSplitNewPlaneHiLow.x, planes2D_high.w); planes2D_low.w = czm_branchFreeTernary(idlSplit, idlSplitNewPlaneHiLow.y, planes2D_low.w); // - else, if this vertex is on the west side of the IDL (position3DLow.y < 0.0) // - existing "west" is on the wrong side of the world, far away (planes2D_high/low.x) // - so set "west" as beyond the westmost extent of the projection (idlSplitNewPlaneHiLow) idlSplit = planes2D_high.x > planes2D_high.w && position3DLow.y < 0.0; idlSplitNewPlaneHiLow = vec2(WEST_MOST_X_HIGH - (EAST_MOST_X_HIGH - planes2D_high.x), WEST_MOST_X_LOW - (EAST_MOST_X_LOW - planes2D_low.x)); planes2D_high.x = czm_branchFreeTernary(idlSplit, idlSplitNewPlaneHiLow.x, planes2D_high.x); planes2D_low.x = czm_branchFreeTernary(idlSplit, idlSplitNewPlaneHiLow.y, planes2D_low.x); vec3 southWestCorner = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(vec3(0.0, planes2D_high.xy), vec3(0.0, planes2D_low.xy))).xyz; vec3 northWestCorner = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(vec3(0.0, planes2D_high.x, planes2D_high.z), vec3(0.0, planes2D_low.x, planes2D_low.z))).xyz; vec3 southEastCorner = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(vec3(0.0, planes2D_high.w, planes2D_high.y), vec3(0.0, planes2D_low.w, planes2D_low.y))).xyz; #else // COLUMBUS_VIEW_2D // 3D case has smaller "plane extents," so planes encoded as a 64 bit position and 2 vec3s for distances/direction vec3 southWestCorner = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(czm_batchTable_southWest_HIGH(batchId), czm_batchTable_southWest_LOW(batchId))).xyz; vec3 northWestCorner = czm_normal * czm_batchTable_northward(batchId) + southWestCorner; vec3 southEastCorner = czm_normal * czm_batchTable_eastward(batchId) + southWestCorner; #endif // COLUMBUS_VIEW_2D vec3 eastWard = southEastCorner - southWestCorner; float eastExtent = length(eastWard); eastWard /= eastExtent; vec3 northWard = northWestCorner - southWestCorner; float northExtent = length(northWard); northWard /= northExtent; v_westPlane = vec4(eastWard, -dot(eastWard, southWestCorner)); v_southPlane = vec4(northWard, -dot(northWard, southWestCorner)); v_inversePlaneExtents = vec2(1.0 / eastExtent, 1.0 / northExtent); #endif // SPHERICAL vec4 uvMinAndExtents = czm_batchTable_uvMinAndExtents(batchId); vec4 uMaxVmax = czm_batchTable_uMaxVmax(batchId); v_uMaxAndInverseDistance = vec3(uMaxVmax.xy, uvMinAndExtents.z); v_vMaxAndInverseDistance = vec3(uMaxVmax.zw, uvMinAndExtents.w); v_uvMinAndSphericalLongitudeRotation.xy = uvMinAndExtents.xy; #endif // TEXTURE_COORDINATES #ifdef PER_INSTANCE_COLOR v_color = czm_batchTable_color(batchId); #endif gl_Position = czm_depthClamp(czm_modelViewProjectionRelativeToEye * position); } `,d9=`#ifdef VECTOR_TILE uniform vec4 u_highlightColor; #endif void main(void) { #ifdef VECTOR_TILE out_FragColor = czm_gammaCorrect(u_highlightColor); #else out_FragColor = vec4(1.0); #endif czm_writeDepthClamp(); } `,KEe=`in vec3 v_positionEC; in vec3 v_normalEC; in vec4 v_color; void main() { vec3 positionToEyeEC = -v_positionEC; vec3 normalEC = normalize(v_normalEC); #ifdef FACE_FORWARD normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC); #endif vec4 color = czm_gammaCorrect(v_color); czm_materialInput materialInput; materialInput.normalEC = normalEC; materialInput.positionToEyeEC = positionToEyeEC; czm_material material = czm_getDefaultMaterial(materialInput); material.diffuse = color.rgb; material.alpha = color.a; out_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); } `,WEe=`in vec3 position3DHigh; in vec3 position3DLow; in vec3 normal; in vec4 color; in float batchId; out vec3 v_positionEC; out vec3 v_normalEC; out vec4 v_color; void main() { vec4 p = czm_computePosition(); v_positionEC = (czm_modelViewRelativeToEye * p).xyz; // position in eye coordinates v_normalEC = czm_normal * normal; // normal in eye coordinates v_color = color; gl_Position = czm_modelViewProjectionRelativeToEye * p; } `,jEe=`in vec3 position3DHigh; in vec3 position3DLow; in vec4 color; in float batchId; out vec4 v_color; void main() { vec4 p = czm_computePosition(); v_color = color; gl_Position = czm_modelViewProjectionRelativeToEye * p; } `;function wD(o){o=oe(o,oe.EMPTY_OBJECT);let A=oe(o.translucent,!0),f=oe(o.closed,!1),m=oe(o.flat,!1),C=m?jEe:WEe,E=m?Vte:KEe,x=m?wD.FLAT_VERTEX_FORMAT:wD.VERTEX_FORMAT;this.material=void 0,this.translucent=A,this._vertexShaderSource=oe(o.vertexShaderSource,C),this._fragmentShaderSource=oe(o.fragmentShaderSource,E),this._renderState=Bh.getDefaultRenderState(A,f,o.renderState),this._closed=f,this._vertexFormat=x,this._flat=m,this._faceForward=oe(o.faceForward,!f)}Object.defineProperties(wD.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}}});wD.VERTEX_FORMAT=Pr.POSITION_AND_NORMAL;wD.FLAT_VERTEX_FORMAT=Pr.POSITION_ONLY;wD.prototype.getFragmentShaderSource=Bh.prototype.getFragmentShaderSource;wD.prototype.isTranslucent=Bh.prototype.isTranslucent;wD.prototype.getRenderState=Bh.prototype.getRenderState;var La=wD,Kte=`#ifdef TEXTURE_COORDINATES #ifdef SPHERICAL in vec4 v_sphericalExtents; #else // SPHERICAL in vec2 v_inversePlaneExtents; in vec4 v_westPlane; in vec4 v_southPlane; #endif // SPHERICAL in vec3 v_uvMinAndSphericalLongitudeRotation; in vec3 v_uMaxAndInverseDistance; in vec3 v_vMaxAndInverseDistance; #endif // TEXTURE_COORDINATES #ifdef PER_INSTANCE_COLOR in vec4 v_color; #endif #ifdef NORMAL_EC vec3 getEyeCoordinate3FromWindowCoordinate(vec2 fragCoord, float logDepthOrDepth) { vec4 eyeCoordinate = czm_windowToEyeCoordinates(fragCoord, logDepthOrDepth); return eyeCoordinate.xyz / eyeCoordinate.w; } vec3 vectorFromOffset(vec4 eyeCoordinate, vec2 positiveOffset) { vec2 glFragCoordXY = gl_FragCoord.xy; // Sample depths at both offset and negative offset float upOrRightLogDepth = czm_unpackDepth(texture(czm_globeDepthTexture, (glFragCoordXY + positiveOffset) / czm_viewport.zw)); float downOrLeftLogDepth = czm_unpackDepth(texture(czm_globeDepthTexture, (glFragCoordXY - positiveOffset) / czm_viewport.zw)); // Explicitly evaluate both paths // Necessary for multifrustum and for edges of the screen bvec2 upOrRightInBounds = lessThan(glFragCoordXY + positiveOffset, czm_viewport.zw); float useUpOrRight = float(upOrRightLogDepth > 0.0 && upOrRightInBounds.x && upOrRightInBounds.y); float useDownOrLeft = float(useUpOrRight == 0.0); vec3 upOrRightEC = getEyeCoordinate3FromWindowCoordinate(glFragCoordXY + positiveOffset, upOrRightLogDepth); vec3 downOrLeftEC = getEyeCoordinate3FromWindowCoordinate(glFragCoordXY - positiveOffset, downOrLeftLogDepth); return (upOrRightEC - (eyeCoordinate.xyz / eyeCoordinate.w)) * useUpOrRight + ((eyeCoordinate.xyz / eyeCoordinate.w) - downOrLeftEC) * useDownOrLeft; } #endif // NORMAL_EC void main(void) { #ifdef REQUIRES_EC float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, gl_FragCoord.xy / czm_viewport.zw)); vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); #endif #ifdef REQUIRES_WC vec4 worldCoordinate4 = czm_inverseView * eyeCoordinate; vec3 worldCoordinate = worldCoordinate4.xyz / worldCoordinate4.w; #endif #ifdef TEXTURE_COORDINATES vec2 uv; #ifdef SPHERICAL // Treat world coords as a sphere normal for spherical coordinates vec2 sphericalLatLong = czm_approximateSphericalCoordinates(worldCoordinate); sphericalLatLong.y += v_uvMinAndSphericalLongitudeRotation.z; sphericalLatLong.y = czm_branchFreeTernary(sphericalLatLong.y < czm_pi, sphericalLatLong.y, sphericalLatLong.y - czm_twoPi); uv.x = (sphericalLatLong.y - v_sphericalExtents.y) * v_sphericalExtents.w; uv.y = (sphericalLatLong.x - v_sphericalExtents.x) * v_sphericalExtents.z; #else // SPHERICAL // Unpack planes and transform to eye space uv.x = czm_planeDistance(v_westPlane, eyeCoordinate.xyz / eyeCoordinate.w) * v_inversePlaneExtents.x; uv.y = czm_planeDistance(v_southPlane, eyeCoordinate.xyz / eyeCoordinate.w) * v_inversePlaneExtents.y; #endif // SPHERICAL #endif // TEXTURE_COORDINATES #ifdef PICK #ifdef CULL_FRAGMENTS // When classifying translucent geometry, logDepthOrDepth == 0.0 // indicates a region that should not be classified, possibly due to there // being opaque pixels there in another buffer. // Check for logDepthOrDepth != 0.0 to make sure this should be classified. if (0.0 <= uv.x && uv.x <= 1.0 && 0.0 <= uv.y && uv.y <= 1.0 || logDepthOrDepth != 0.0) { out_FragColor.a = 1.0; // 0.0 alpha leads to discard from ShaderSource.createPickFragmentShaderSource czm_writeDepthClamp(); } #else // CULL_FRAGMENTS out_FragColor.a = 1.0; #endif // CULL_FRAGMENTS #else // PICK #ifdef CULL_FRAGMENTS // When classifying translucent geometry, logDepthOrDepth == 0.0 // indicates a region that should not be classified, possibly due to there // being opaque pixels there in another buffer. if (uv.x <= 0.0 || 1.0 <= uv.x || uv.y <= 0.0 || 1.0 <= uv.y || logDepthOrDepth == 0.0) { discard; } #endif #ifdef NORMAL_EC // Compute normal by sampling adjacent pixels in 2x2 block in screen space vec3 downUp = vectorFromOffset(eyeCoordinate, vec2(0.0, 1.0)); vec3 leftRight = vectorFromOffset(eyeCoordinate, vec2(1.0, 0.0)); vec3 normalEC = normalize(cross(leftRight, downUp)); #endif #ifdef PER_INSTANCE_COLOR vec4 color = czm_gammaCorrect(v_color); #ifdef FLAT out_FragColor = color; #else // FLAT czm_materialInput materialInput; materialInput.normalEC = normalEC; materialInput.positionToEyeEC = -eyeCoordinate.xyz; czm_material material = czm_getDefaultMaterial(materialInput); material.diffuse = color.rgb; material.alpha = color.a; out_FragColor = czm_phong(normalize(-eyeCoordinate.xyz), material, czm_lightDirectionEC); #endif // FLAT // Premultiply alpha. Required for classification primitives on translucent globe. out_FragColor.rgb *= out_FragColor.a; #else // PER_INSTANCE_COLOR // Material support. // USES_ is distinct from REQUIRES_, because some things are dependencies of each other or // dependencies for culling but might not actually be used by the material. czm_materialInput materialInput; #ifdef USES_NORMAL_EC materialInput.normalEC = normalEC; #endif #ifdef USES_POSITION_TO_EYE_EC materialInput.positionToEyeEC = -eyeCoordinate.xyz; #endif #ifdef USES_TANGENT_TO_EYE materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(worldCoordinate, normalEC); #endif #ifdef USES_ST // Remap texture coordinates from computed (approximately aligned with cartographic space) to the desired // texture coordinate system, which typically forms a tight oriented bounding box around the geometry. // Shader is provided a set of reference points for remapping. materialInput.st.x = czm_lineDistance(v_uvMinAndSphericalLongitudeRotation.xy, v_uMaxAndInverseDistance.xy, uv) * v_uMaxAndInverseDistance.z; materialInput.st.y = czm_lineDistance(v_uvMinAndSphericalLongitudeRotation.xy, v_vMaxAndInverseDistance.xy, uv) * v_vMaxAndInverseDistance.z; #endif czm_material material = czm_getMaterial(materialInput); #ifdef FLAT out_FragColor = vec4(material.diffuse + material.emission, material.alpha); #else // FLAT out_FragColor = czm_phong(normalize(-eyeCoordinate.xyz), material, czm_lightDirectionEC); #endif // FLAT // Premultiply alpha. Required for classification primitives on translucent globe. out_FragColor.rgb *= out_FragColor.a; #endif // PER_INSTANCE_COLOR czm_writeDepthClamp(); #endif // PICK } `;function hv(o,A,f){this._projectionExtentDefines={eastMostYhighDefine:"",eastMostYlowDefine:"",westMostYhighDefine:"",westMostYlowDefine:""};let m=new mfe;m.requiresTextureCoordinates=o,m.requiresEC=!f.flat;let C=new mfe;if(C.requiresTextureCoordinates=o,f instanceof La)m.requiresNormalEC=!f.flat;else{let E=`${f.material.shaderSource} ${f.fragmentShaderSource}`;m.normalEC=E.indexOf("materialInput.normalEC")!==-1||E.indexOf("czm_getDefaultMaterial")!==-1,m.positionToEyeEC=E.indexOf("materialInput.positionToEyeEC")!==-1,m.tangentToEyeMatrix=E.indexOf("materialInput.tangentToEyeMatrix")!==-1,m.st=E.indexOf("materialInput.st")!==-1}this._colorShaderDependencies=m,this._pickShaderDependencies=C,this._appearance=f,this._extentsCulling=o,this._planarExtents=A}hv.prototype.createFragmentShader=function(o){let A=this._appearance,f=this._colorShaderDependencies,m=[];!o&&!this._planarExtents&&m.push("SPHERICAL"),f.requiresEC&&m.push("REQUIRES_EC"),f.requiresWC&&m.push("REQUIRES_WC"),f.requiresTextureCoordinates&&m.push("TEXTURE_COORDINATES"),this._extentsCulling&&m.push("CULL_FRAGMENTS"),f.requiresNormalEC&&m.push("NORMAL_EC"),A instanceof La&&m.push("PER_INSTANCE_COLOR"),f.normalEC&&m.push("USES_NORMAL_EC"),f.positionToEyeEC&&m.push("USES_POSITION_TO_EYE_EC"),f.tangentToEyeMatrix&&m.push("USES_TANGENT_TO_EYE"),f.st&&m.push("USES_ST"),A.flat&&m.push("FLAT");let C="";return A instanceof La||(C=A.material.shaderSource),new _r({defines:m,sources:[C,Kte]})};hv.prototype.createPickFragmentShader=function(o){let A=this._pickShaderDependencies,f=["PICK"];return!o&&!this._planarExtents&&f.push("SPHERICAL"),A.requiresEC&&f.push("REQUIRES_EC"),A.requiresWC&&f.push("REQUIRES_WC"),A.requiresTextureCoordinates&&f.push("TEXTURE_COORDINATES"),this._extentsCulling&&f.push("CULL_FRAGMENTS"),new _r({defines:f,sources:[Kte],pickColorQualifier:"in"})};hv.prototype.createVertexShader=function(o,A,f,m){return Kze(this._colorShaderDependencies,this._planarExtents,f,o,A,this._appearance,m,this._projectionExtentDefines)};hv.prototype.createPickVertexShader=function(o,A,f,m){return Kze(this._pickShaderDependencies,this._planarExtents,f,o,A,void 0,m,this._projectionExtentDefines)};var NNe=new Z,kNe=new Rt,ONe={high:0,low:0};function Kze(o,A,f,m,C,E,x,y){let I=m.slice();if(y.eastMostYhighDefine===""){let v=kNe;v.longitude=Be.PI,v.latitude=0,v.height=0;let B=x.project(v,NNe),Q=eu.encode(B.x,ONe);y.eastMostYhighDefine=`EAST_MOST_X_HIGH ${Q.high.toFixed(`${Q.high}`.length+1)}`,y.eastMostYlowDefine=`EAST_MOST_X_LOW ${Q.low.toFixed(`${Q.low}`.length+1)}`;let T=kNe;T.longitude=-Be.PI,T.latitude=0,T.height=0;let w=x.project(T,NNe);Q=eu.encode(w.x,ONe),y.westMostYhighDefine=`WEST_MOST_X_HIGH ${Q.high.toFixed(`${Q.high}`.length+1)}`,y.westMostYlowDefine=`WEST_MOST_X_LOW ${Q.low.toFixed(`${Q.low}`.length+1)}`}return f&&(I.push(y.eastMostYhighDefine),I.push(y.eastMostYlowDefine),I.push(y.westMostYhighDefine),I.push(y.westMostYlowDefine)),O(E)&&E instanceof La&&I.push("PER_INSTANCE_COLOR"),o.requiresTextureCoordinates&&(I.push("TEXTURE_COORDINATES"),A||f||I.push("SPHERICAL"),f&&I.push("COLUMBUS_VIEW_2D")),new _r({defines:I,sources:[C]})}function mfe(){this._requiresEC=!1,this._requiresWC=!1,this._requiresNormalEC=!1,this._requiresTextureCoordinates=!1,this._usesNormalEC=!1,this._usesPositionToEyeEC=!1,this._usesTangentToEyeMat=!1,this._usesSt=!1}Object.defineProperties(mfe.prototype,{requiresEC:{get:function(){return this._requiresEC},set:function(o){this._requiresEC=o||this._requiresEC}},requiresWC:{get:function(){return this._requiresWC},set:function(o){this._requiresWC=o||this._requiresWC,this.requiresEC=this._requiresWC}},requiresNormalEC:{get:function(){return this._requiresNormalEC},set:function(o){this._requiresNormalEC=o||this._requiresNormalEC,this.requiresEC=this._requiresNormalEC}},requiresTextureCoordinates:{get:function(){return this._requiresTextureCoordinates},set:function(o){this._requiresTextureCoordinates=o||this._requiresTextureCoordinates,this.requiresWC=this._requiresTextureCoordinates}},normalEC:{set:function(o){this.requiresNormalEC=o,this._usesNormalEC=o},get:function(){return this._usesNormalEC}},tangentToEyeMatrix:{set:function(o){this.requiresWC=o,this.requiresNormalEC=o,this._usesTangentToEyeMat=o},get:function(){return this._usesTangentToEyeMat}},positionToEyeEC:{set:function(o){this.requiresEC=o,this._usesPositionToEyeEC=o},get:function(){return this._usesPositionToEyeEC}},st:{set:function(o){this.requiresTextureCoordinates=o,this._usesSt=o},get:function(){return this._usesSt}}});function UNe(o,A,f){return Math.abs((A.y-o.y)*f.x-(A.x-o.x)*f.y+A.x*o.y-A.y*o.x)/rt.distance(A,o)}var BFt=[new rt,new rt,new rt,new rt];function Wze(o,A){let f=BFt,m=rt.unpack(A,0,f[0]),C=rt.unpack(A,2,f[1]),E=rt.unpack(A,4,f[2]);o.uMaxVmax=new jy({componentDatatype:Ft.FLOAT,componentsPerAttribute:4,normalize:!1,value:[C.x,C.y,E.x,E.y]});let x=1/UNe(m,C,E),y=1/UNe(m,E,C);o.uvMinAndExtents=new jy({componentDatatype:Ft.FLOAT,componentsPerAttribute:4,normalize:!1,value:[m.x,m.y,x,y]})}var jze=new Rt,qze=new Z,wFt=new Z,bFt=new Z,cq={high:0,low:0};function Xze(o,A,f){let m=jze;m.height=0,m.longitude=o.west,m.latitude=o.south;let C=A.project(m,qze);m.latitude=o.north;let E=A.project(m,wFt);m.longitude=o.east,m.latitude=o.south;let x=A.project(m,bFt),y=[0,0,0,0],I=[0,0,0,0],v=eu.encode(C.x,cq);y[0]=v.high,I[0]=v.low,v=eu.encode(C.y,cq),y[1]=v.high,I[1]=v.low,v=eu.encode(E.y,cq),y[2]=v.high,I[2]=v.low,v=eu.encode(x.x,cq),y[3]=v.high,I[3]=v.low,f.planes2D_HIGH=new jy({componentDatatype:Ft.FLOAT,componentsPerAttribute:4,normalize:!1,value:y}),f.planes2D_LOW=new jy({componentDatatype:Ft.FLOAT,componentsPerAttribute:4,normalize:!1,value:I})}var QFt=new Re,SFt=new Re,GNe=new Z,DFt=new Rt,TFt=[new Rt,new Rt,new Rt,new Rt,new Rt,new Rt,new Rt,new Rt];function MFt(o,A,f,m,C,E){let x=gi.center(o,DFt);x.height=f;let y=Rt.toCartesian(x,A,GNe),I=kr.eastNorthUpToFixedFrame(y,A,QFt),v=Re.inverse(I,SFt),B=o.west,Q=o.east,T=o.north,w=o.south,S=TFt;S[0].latitude=w,S[0].longitude=B,S[1].latitude=T,S[1].longitude=B,S[2].latitude=T,S[2].longitude=Q,S[3].latitude=w,S[3].longitude=Q;let D=(B+Q)*.5,R=(T+w)*.5;S[4].latitude=w,S[4].longitude=D,S[5].latitude=T,S[5].longitude=D,S[6].latitude=R,S[6].longitude=B,S[7].latitude=R,S[7].longitude=Q;let P=Number.POSITIVE_INFINITY,M=Number.NEGATIVE_INFINITY,L=Number.POSITIVE_INFINITY,F=Number.NEGATIVE_INFINITY;for(let J=0;J<8;J++){S[J].height=f;let K=Rt.toCartesian(S[J],A,GNe);Re.multiplyByPoint(v,K,K),K.z=0,P=Math.min(P,K.x),M=Math.max(M,K.x),L=Math.min(L,K.y),F=Math.max(F,K.y)}let k=m;k.x=P,k.y=L,k.z=0,Re.multiplyByPoint(I,k,k);let N=C;N.x=M,N.y=L,N.z=0,Re.multiplyByPoint(I,N,N),Z.subtract(N,k,C);let G=E;G.x=P,G.y=F,G.z=0,Re.multiplyByPoint(I,G,G),Z.subtract(G,k,E)}var PFt=new Z,RFt=new Z,LFt=new eu;hv.getPlanarTextureCoordinateAttributes=function(o,A,f,m,C){let E=qze,x=PFt,y=RFt;MFt(o,f,oe(C,0),E,x,y);let I={};Wze(I,A);let v=eu.fromCartesian(E,LFt);return I.southWest_HIGH=new jy({componentDatatype:Ft.FLOAT,componentsPerAttribute:3,normalize:!1,value:Z.pack(v.high,[0,0,0])}),I.southWest_LOW=new jy({componentDatatype:Ft.FLOAT,componentsPerAttribute:3,normalize:!1,value:Z.pack(v.low,[0,0,0])}),I.eastward=new jy({componentDatatype:Ft.FLOAT,componentsPerAttribute:3,normalize:!1,value:Z.pack(x,[0,0,0])}),I.northward=new jy({componentDatatype:Ft.FLOAT,componentsPerAttribute:3,normalize:!1,value:Z.pack(y,[0,0,0])}),Xze(o,m,I),I};var FFt=new Z;function HNe(o,A,f,m){let C=jze;C.latitude=o,C.longitude=A,C.height=0;let E=Rt.toCartesian(C,f,FFt),x=Math.sqrt(E.x*E.x+E.y*E.y),y=Be.fastApproximateAtan2(x,E.z),I=Be.fastApproximateAtan2(E.x,E.y);return m.x=y,m.y=I,m}var VNe=new rt;hv.getSphericalExtentGeometryInstanceAttributes=function(o,A,f,m){let C=HNe(o.south,o.west,f,VNe),E=C.x,x=C.y,y=HNe(o.north,o.east,f,VNe),I=y.x,v=y.y,B=0;x>v&&(B=Be.PI-x,x=-Be.PI,v+=B),E-=Be.EPSILON5,x-=Be.EPSILON5,I+=Be.EPSILON5,v+=Be.EPSILON5;let Q=1/(v-x),T=1/(I-E),w={sphericalExtents:new jy({componentDatatype:Ft.FLOAT,componentsPerAttribute:4,normalize:!1,value:[E,x,T,Q]}),longitudeRotation:new jy({componentDatatype:Ft.FLOAT,componentsPerAttribute:1,normalize:!1,value:[B]})};return Wze(w,A),Xze(o,m,w),w};hv.hasAttributesForTextureCoordinatePlanes=function(o){return O(o.southWest_HIGH)&&O(o.southWest_LOW)&&O(o.northward)&&O(o.eastward)&&O(o.planes2D_HIGH)&&O(o.planes2D_LOW)&&O(o.uMaxVmax)&&O(o.uvMinAndExtents)};hv.hasAttributesForSphericalExtents=function(o){return O(o.sphericalExtents)&&O(o.longitudeRotation)&&O(o.planes2D_HIGH)&&O(o.planes2D_LOW)&&O(o.uMaxVmax)&&O(o.uvMinAndExtents)};function NFt(o){return Math.max(o.width,o.height)>hv.MAX_WIDTH_FOR_PLANAR_EXTENTS}hv.shouldUseSphericalCoordinates=function(o){return NFt(o)};hv.MAX_WIDTH_FOR_PLANAR_EXTENTS=Be.toRadians(1);var AD=hv;function f3(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.geometryInstances;this.geometryInstances=A,this.show=oe(o.show,!0),this.classificationType=oe(o.classificationType,uu.BOTH),this.debugShowBoundingVolume=oe(o.debugShowBoundingVolume,!1),this.debugShowShadowVolume=oe(o.debugShowShadowVolume,!1),this._debugShowShadowVolume=!1,this._extruded=oe(o._extruded,!1),this._uniformMap=o._uniformMap,this._sp=void 0,this._spStencil=void 0,this._spPick=void 0,this._spColor=void 0,this._spPick2D=void 0,this._spColor2D=void 0,this._rsStencilDepthPass=void 0,this._rsStencilDepthPass3DTiles=void 0,this._rsColorPass=void 0,this._rsPickPass=void 0,this._commandsIgnoreShow=[],this._ready=!1;let f=this;this._readyPromise=new Promise((m,C)=>{f._completeLoad=()=>{if(this._ready)return;this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0);let E=this._error;O(E)?C(E):m(this)}}),this._primitive=void 0,this._pickPrimitive=o._pickPrimitive,this._hasSphericalExtentsAttribute=!1,this._hasPlanarExtentsAttributes=!1,this._hasPerColorAttribute=!1,this.appearance=o.appearance,this._createBoundingVolumeFunction=o._createBoundingVolumeFunction,this._updateAndQueueCommandsFunction=o._updateAndQueueCommandsFunction,this._usePickOffsets=!1,this._primitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:oe(o.vertexCacheOptimize,!1),interleave:oe(o.interleave,!1),releaseGeometryInstances:oe(o.releaseGeometryInstances,!0),allowPicking:oe(o.allowPicking,!0),asynchronous:oe(o.asynchronous,!0),compressVertices:oe(o.compressVertices,!0),_createBoundingVolumeFunction:void 0,_createRenderStatesFunction:void 0,_createShaderProgramFunction:void 0,_createCommandsFunction:void 0,_updateAndQueueCommandsFunction:void 0,_createPickOffsets:!0,enableFrameBuffer:oe(o.enableFrameBuffer,!1)}}Object.defineProperties(f3.prototype,{vertexCacheOptimize:{get:function(){return this._primitiveOptions.vertexCacheOptimize}},interleave:{get:function(){return this._primitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._primitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._primitiveOptions.allowPicking}},asynchronous:{get:function(){return this._primitiveOptions.asynchronous}},compressVertices:{get:function(){return this._primitiveOptions.compressVertices}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return ii("ClassificationPrimitive.readyPromise","ClassificationPrimitive.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Wait for ClassificationPrimitive.ready to return true instead."),this._readyPromise}},_needs2DShader:{get:function(){return this._hasPlanarExtentsAttributes||this._hasSphericalExtentsAttribute}}});f3.isSupported=function(o){return o.context.stencilBuffer};function l5(o,A){let f=A?du.EQUAL:du.ALWAYS;return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:o,frontFunction:f,frontOperation:{fail:jn.KEEP,zFail:jn.DECREMENT_WRAP,zPass:jn.KEEP},backFunction:f,backOperation:{fail:jn.KEEP,zFail:jn.INCREMENT_WRAP,zPass:jn.KEEP},reference:ia.CESIUM_3D_TILE_MASK,mask:ia.CESIUM_3D_TILE_MASK},stencilMask:ia.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:Px.LESS_OR_EQUAL},depthMask:!1}}function Cfe(o){return{stencilTest:{enabled:o,frontFunction:du.NOT_EQUAL,frontOperation:{fail:jn.ZERO,zFail:jn.ZERO,zPass:jn.ZERO},backFunction:du.NOT_EQUAL,backOperation:{fail:jn.ZERO,zFail:jn.ZERO,zPass:jn.ZERO},reference:0,mask:ia.CLASSIFICATION_MASK},stencilMask:ia.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:Nl.PRE_MULTIPLIED_ALPHA_BLEND}}var kFt={stencilTest:{enabled:!0,frontFunction:du.NOT_EQUAL,frontOperation:{fail:jn.ZERO,zFail:jn.ZERO,zPass:jn.ZERO},backFunction:du.NOT_EQUAL,backOperation:{fail:jn.ZERO,zFail:jn.ZERO,zPass:jn.ZERO},reference:0,mask:ia.CLASSIFICATION_MASK},stencilMask:ia.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1};function OFt(o,A,f,m){if(O(o._rsStencilDepthPass))return;let C=!o.debugShowShadowVolume;o._rsStencilDepthPass=Xr.fromCache(l5(C,!1)),o._rsStencilDepthPass3DTiles=Xr.fromCache(l5(C,!0)),o._rsColorPass=Xr.fromCache(Cfe(C,!1)),o._rsPickPass=Xr.fromCache(kFt)}function UFt(o,A){if(!o.compressVertices)return A;if(A.search(/in\s+vec3\s+extrudeDirection;/g)!==-1){let f="compressedAttributes",m=`in vec2 ${f};`,C=`vec3 extrudeDirection; `,E=` extrudeDirection = czm_octDecode(${f}, 65535.0); `,x=A;x=x.replace(/in\s+vec3\s+extrudeDirection;/g,""),x=_r.replaceMain(x,"czm_non_compressed_main");let y=`void main() { ${E} czm_non_compressed_main(); }`;return[m,C,x,y].join(` `)}}function GFt(o,A){let f=A.context,m=o._primitive,C=JEe;C=o._primitive._batchTable.getVertexShaderCallback()(C),C=ra._appendDistanceDisplayConditionToShader(m,C),C=ra._modifyShaderPosition(o,C,A.scene3DOnly),C=ra._updateColorAttribute(m,C);let E=o._hasPlanarExtentsAttributes,x=E||o._hasSphericalExtentsAttribute;o._extruded&&(C=UFt(m,C));let y=o._extruded?"EXTRUDED_GEOMETRY":"",I=new _r({defines:[y],sources:[C]}),v=new _r({sources:[d9]}),B=o._primitive._attributeLocations,Q=new AD(x,E,o.appearance);if(o._spStencil=qa.replaceCache({context:f,shaderProgram:o._spStencil,vertexShaderSource:I,fragmentShaderSource:v,attributeLocations:B}),o._primitive.allowPicking){let S=_r.createPickVertexShaderSource(C);S=ra._appendShowToShader(m,S),S=ra._updatePickColorAttribute(S);let D=Q.createPickFragmentShader(!1),R=Q.createPickVertexShader([y],S,!1,A.mapProjection);if(o._spPick=qa.replaceCache({context:f,shaderProgram:o._spPick,vertexShaderSource:R,fragmentShaderSource:D,attributeLocations:B}),x){let P=f.shaderCache.getDerivedShaderProgram(o._spPick,"2dPick");if(!O(P)){let M=Q.createPickFragmentShader(!0),L=Q.createPickVertexShader([y],S,!0,A.mapProjection);P=f.shaderCache.createDerivedShaderProgram(o._spPick,"2dPick",{vertexShaderSource:L,fragmentShaderSource:M,attributeLocations:B})}o._spPick2D=P}}else o._spPick=qa.fromCache({context:f,vertexShaderSource:I,fragmentShaderSource:v,attributeLocations:B});C=ra._appendShowToShader(m,C),I=new _r({defines:[y],sources:[C]}),o._sp=qa.replaceCache({context:f,shaderProgram:o._sp,vertexShaderSource:I,fragmentShaderSource:v,attributeLocations:B});let T=Q.createFragmentShader(!1),w=Q.createVertexShader([y],C,!1,A.mapProjection);if(o._spColor=qa.replaceCache({context:f,shaderProgram:o._spColor,vertexShaderSource:w,fragmentShaderSource:T,attributeLocations:B}),x){let S=f.shaderCache.getDerivedShaderProgram(o._spColor,"2dColor");if(!O(S)){let D=Q.createFragmentShader(!0),R=Q.createVertexShader([y],C,!0,A.mapProjection);S=f.shaderCache.createDerivedShaderProgram(o._spColor,"2dColor",{vertexShaderSource:R,fragmentShaderSource:D,attributeLocations:B})}o._spColor2D=S}}function HFt(o,A){let f=o._primitive,m=f._va.length*2;A.length=m;let C,E,x,y=0,I=f._batchTable.getUniformMapCallback()(o._uniformMap),v=o._needs2DShader;for(C=0;C0&&(I=C[0].attributes,T=AD.hasAttributesForSphericalExtents(I),w=AD.hasAttributesForTextureCoordinatePlanes(I),Q=I.color),x=0;x{O(this._primitive)&&this._primitive.ready&&this._completeLoad()})};f3.prototype.getGeometryInstanceAttributes=function(o){return this._primitive.getGeometryInstanceAttributes(o)};f3.prototype.isDestroyed=function(){return!1};f3.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._spColor=this._spColor&&this._spColor.destroy(),this._spPick2D=void 0,this._spColor2D=void 0,Ar(this)};var cG=f3,JFt={u_globeMinimumAltitude:function(){return 55e3}};function Qx(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.appearance,f=o.geometryInstances;if(!O(A)&&O(f)){let E=Array.isArray(f)?f:[f],x=E.length;for(let y=0;y{m._completeLoad=()=>{if(this._ready)return;this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0);let y=this._error;O(y)?x(y):E(this)}}),this._primitive=void 0,this._maxHeight=void 0,this._minHeight=void 0,this._maxTerrainHeight=$A._defaultMaxTerrainHeight,this._minTerrainHeight=$A._defaultMinTerrainHeight,this._boundingSpheresKeys=[],this._boundingSpheres=[],this._useFragmentCulling=!1,this._zIndex=void 0;let C=this;this._classificationPrimitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:oe(o.vertexCacheOptimize,!1),interleave:oe(o.interleave,!1),releaseGeometryInstances:oe(o.releaseGeometryInstances,!0),allowPicking:oe(o.allowPicking,!0),asynchronous:oe(o.asynchronous,!0),compressVertices:oe(o.compressVertices,!0),_createBoundingVolumeFunction:void 0,_updateAndQueueCommandsFunction:void 0,_pickPrimitive:C,_extruded:!0,_uniformMap:JFt,enableFrameBuffer:oe(o.enableFrameBuffer,!1)},this.callbackTexture=oe(o.callbackTexture,null)}Object.defineProperties(Qx.prototype,{vertexCacheOptimize:{get:function(){return this._classificationPrimitiveOptions.vertexCacheOptimize}},interleave:{get:function(){return this._classificationPrimitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._classificationPrimitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._classificationPrimitiveOptions.allowPicking}},asynchronous:{get:function(){return this._classificationPrimitiveOptions.asynchronous}},compressVertices:{get:function(){return this._classificationPrimitiveOptions.compressVertices}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return ii("GroundPrimitive.readyPromise","GroundPrimitive.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Wait for GroundPrimitive.ready to return true instead."),this._readyPromise}}});Qx.isSupported=cG.isSupported;function JNe(o){return function(A,f){let m=f.maximumRadius,C=m/Math.cos(A*.5)-m;return o._maxHeight+C}}function KNe(o){return function(A,f){return o._minHeight}}var KFt=new Z,WFt=new Z,jFt=new Z,qFt=new Rt,XFt=new gi;function yZ(o,A){let f=o.mapProjection.ellipsoid;if(!O(A.attributes)||!O(A.attributes.position3DHigh))return O(A.rectangle)?A.rectangle:void 0;let m=A.attributes.position3DHigh.values,C=A.attributes.position3DLow.values,E=m.length,x=Number.POSITIVE_INFINITY,y=Number.POSITIVE_INFINITY,I=Number.NEGATIVE_INFINITY,v=Number.NEGATIVE_INFINITY;for(let Q=0;Q{!this._ready&&O(this._primitive)&&this._primitive.ready&&this._completeLoad()})};Qx.prototype.getBoundingSphere=function(o){let A=this._boundingSpheresKeys.indexOf(o);if(A!==-1)return this._boundingSpheres[A]};Qx.prototype.getGeometryInstanceAttributes=function(o){return this._primitive.getGeometryInstanceAttributes(o)};Qx.prototype.isDestroyed=function(){return!1};Qx.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),Ar(this)};Qx._supportsMaterials=function(o){return o.depthTexture};Qx.supportsMaterials=function(o){return Qx._supportsMaterials(o.frameState.context)};var Xb=Qx;function f9(o){this._definitionChanged=new ur,this._show=void 0,this._showSubscription=void 0,this._image=void 0,this._imageSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._pixelOffset=void 0,this._pixelOffsetSubscription=void 0,this._eyeOffset=void 0,this._eyeOffsetSubscription=void 0,this._horizontalOrigin=void 0,this._horizontalOriginSubscription=void 0,this._verticalOrigin=void 0,this._verticalOriginSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._alignedAxis=void 0,this._alignedAxisSubscription=void 0,this._sizeInMeters=void 0,this._sizeInMetersSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._pixelOffsetScaleByDistance=void 0,this._pixelOffsetScaleByDistanceSubscription=void 0,this._imageSubRegion=void 0,this._imageSubRegionSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this.merge(oe(o,oe.EMPTY_OBJECT))}Object.defineProperties(f9.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:fi("show"),image:fi("image"),scale:fi("scale"),pixelOffset:fi("pixelOffset"),eyeOffset:fi("eyeOffset"),horizontalOrigin:fi("horizontalOrigin"),verticalOrigin:fi("verticalOrigin"),heightReference:fi("heightReference"),color:fi("color"),rotation:fi("rotation"),alignedAxis:fi("alignedAxis"),sizeInMeters:fi("sizeInMeters"),width:fi("width"),height:fi("height"),scaleByDistance:fi("scaleByDistance"),translucencyByDistance:fi("translucencyByDistance"),pixelOffsetScaleByDistance:fi("pixelOffsetScaleByDistance"),imageSubRegion:fi("imageSubRegion"),distanceDisplayCondition:fi("distanceDisplayCondition"),disableDepthTestDistance:fi("disableDepthTestDistance")});f9.prototype.clone=function(o){return O(o)?(o.show=this._show,o.image=this._image,o.scale=this._scale,o.pixelOffset=this._pixelOffset,o.eyeOffset=this._eyeOffset,o.horizontalOrigin=this._horizontalOrigin,o.verticalOrigin=this._verticalOrigin,o.heightReference=this._heightReference,o.color=this._color,o.rotation=this._rotation,o.alignedAxis=this._alignedAxis,o.sizeInMeters=this._sizeInMeters,o.width=this._width,o.height=this._height,o.scaleByDistance=this._scaleByDistance,o.translucencyByDistance=this._translucencyByDistance,o.pixelOffsetScaleByDistance=this._pixelOffsetScaleByDistance,o.imageSubRegion=this._imageSubRegion,o.distanceDisplayCondition=this._distanceDisplayCondition,o.disableDepthTestDistance=this._disableDepthTestDistance,o):new f9(this)};f9.prototype.merge=function(o){this.show=oe(this._show,o.show),this.image=oe(this._image,o.image),this.scale=oe(this._scale,o.scale),this.pixelOffset=oe(this._pixelOffset,o.pixelOffset),this.eyeOffset=oe(this._eyeOffset,o.eyeOffset),this.horizontalOrigin=oe(this._horizontalOrigin,o.horizontalOrigin),this.verticalOrigin=oe(this._verticalOrigin,o.verticalOrigin),this.heightReference=oe(this._heightReference,o.heightReference),this.color=oe(this._color,o.color),this.rotation=oe(this._rotation,o.rotation),this.alignedAxis=oe(this._alignedAxis,o.alignedAxis),this.sizeInMeters=oe(this._sizeInMeters,o.sizeInMeters),this.width=oe(this._width,o.width),this.height=oe(this._height,o.height),this.scaleByDistance=oe(this._scaleByDistance,o.scaleByDistance),this.translucencyByDistance=oe(this._translucencyByDistance,o.translucencyByDistance),this.pixelOffsetScaleByDistance=oe(this._pixelOffsetScaleByDistance,o.pixelOffsetScaleByDistance),this.imageSubRegion=oe(this._imageSubRegion,o.imageSubRegion),this.distanceDisplayCondition=oe(this._distanceDisplayCondition,o.distanceDisplayCondition),this.disableDepthTestDistance=oe(this._disableDepthTestDistance,o.disableDepthTestDistance)};var ZD=f9;function n4(o){this._definitionChanged=new ur,this._color=void 0,this._colorSubscription=void 0,this.color=o}Object.defineProperties(n4.prototype,{isConstant:{get:function(){return Bt.isConstant(this._color)}},definitionChanged:{get:function(){return this._definitionChanged}},color:fi("color")});n4.prototype.getType=function(o){return"Color"};n4.prototype.getValue=function(o,A){return O(A)||(A={}),A.color=Bt.getValueOrClonedDefault(this._color,o,Ve.WHITE,A.color),A};n4.prototype.equals=function(o){return this===o||o instanceof n4&&Bt.equals(this._color,o._color)};var ba=n4,tNt=new rt(1,1),iNt=!1,rNt=Ve.WHITE;function o4(o){o=oe(o,oe.EMPTY_OBJECT),this._definitionChanged=new ur,this._image=void 0,this._imageSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._transparent=void 0,this._transparentSubscription=void 0,this.image=o.image,this.repeat=o.repeat,this.color=o.color,this.transparent=o.transparent}Object.defineProperties(o4.prototype,{isConstant:{get:function(){return Bt.isConstant(this._image)&&Bt.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},image:fi("image"),repeat:fi("repeat"),color:fi("color"),transparent:fi("transparent")});o4.prototype.getType=function(o){return"Image"};o4.prototype.getValue=function(o,A){return O(A)||(A={}),A.image=Bt.getValueOrUndefined(this._image,o),A.repeat=Bt.getValueOrClonedDefault(this._repeat,o,tNt,A.repeat),A.color=Bt.getValueOrClonedDefault(this._color,o,rNt,A.color),Bt.getValueOrDefault(this._transparent,o,iNt)&&(A.color.alpha=Math.min(.99,A.color.alpha)),A};o4.prototype.equals=function(o){return this===o||o instanceof o4&&Bt.equals(this._image,o._image)&&Bt.equals(this._repeat,o._repeat)&&Bt.equals(this._color,o._color)&&Bt.equals(this._transparent,o._transparent)};var Yd=o4;function nNt(o){if(o instanceof Ve)return new ba(o);if(typeof o=="string"||o instanceof Cr||o instanceof HTMLCanvasElement||o instanceof HTMLVideoElement){let A=new Yd;return A.image=o,A}}function oNt(o,A){return fi(o,A,nNt)}var $p=oNt;function g9(o){this._definitionChanged=new ur,this._show=void 0,this._showSubscription=void 0,this._dimensions=void 0,this._dimensionsSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(oe(o,oe.EMPTY_OBJECT))}Object.defineProperties(g9.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:fi("show"),dimensions:fi("dimensions"),heightReference:fi("heightReference"),fill:fi("fill"),material:$p("material"),outline:fi("outline"),outlineColor:fi("outlineColor"),outlineWidth:fi("outlineWidth"),shadows:fi("shadows"),distanceDisplayCondition:fi("distanceDisplayCondition")});g9.prototype.clone=function(o){return O(o)?(o.show=this.show,o.dimensions=this.dimensions,o.heightReference=this.heightReference,o.fill=this.fill,o.material=this.material,o.outline=this.outline,o.outlineColor=this.outlineColor,o.outlineWidth=this.outlineWidth,o.shadows=this.shadows,o.distanceDisplayCondition=this.distanceDisplayCondition,o):new g9(this)};g9.prototype.merge=function(o){this.show=oe(this.show,o.show),this.dimensions=oe(this.dimensions,o.dimensions),this.heightReference=oe(this.heightReference,o.heightReference),this.fill=oe(this.fill,o.fill),this.material=oe(this.material,o.material),this.outline=oe(this.outline,o.outline),this.outlineColor=oe(this.outlineColor,o.outlineColor),this.outlineWidth=oe(this.outlineWidth,o.outlineWidth),this.shadows=oe(this.shadows,o.shadows),this.distanceDisplayCondition=oe(this.distanceDisplayCondition,o.distanceDisplayCondition)};var Wte=g9,aNt={FIXED:0,INERTIAL:1},yf=Object.freeze(aNt);function hG(){Ai.throwInstantiationError()}Object.defineProperties(hG.prototype,{isConstant:{get:Ai.throwInstantiationError},definitionChanged:{get:Ai.throwInstantiationError},referenceFrame:{get:Ai.throwInstantiationError}});hG.prototype.getValue=Ai.throwInstantiationError;hG.prototype.getValueInReferenceFrame=Ai.throwInstantiationError;hG.prototype.equals=Ai.throwInstantiationError;var RAe=new Gt;hG.convertToReferenceFrame=function(o,A,f,m,C){if(!O(A))return A;if(O(C)||(C=new Z),f===m)return Z.clone(A,C);let E=kr.computeIcrfToFixedMatrix(o,RAe);if(O(E)||(E=kr.computeTemeToPseudoFixedMatrix(o,RAe)),f===yf.INERTIAL)return Gt.multiplyByVector(E,A,C);if(f===yf.FIXED)return Gt.multiplyByVector(Gt.transpose(E,RAe),A,C)};var $z=hG;function IN(o,A){this._definitionChanged=new ur,this._value=Z.clone(o),this._referenceFrame=oe(A,yf.FIXED)}Object.defineProperties(IN.prototype,{isConstant:{get:function(){return!O(this._value)||this._referenceFrame===yf.FIXED}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}});IN.prototype.getValue=function(o,A){return this.getValueInReferenceFrame(o,yf.FIXED,A)};IN.prototype.setValue=function(o,A){let f=!1;Z.equals(this._value,o)||(f=!0,this._value=Z.clone(o)),O(A)&&this._referenceFrame!==A&&(f=!0,this._referenceFrame=A),f&&this._definitionChanged.raiseEvent(this)};IN.prototype.getValueInReferenceFrame=function(o,A,f){return $z.convertToReferenceFrame(o,this._value,this._referenceFrame,A,f)};IN.prototype.equals=function(o){return this===o||o instanceof IN&&Z.equals(this._value,o._value)&&this._referenceFrame===o._referenceFrame};var Cb=IN;function p9(o){this._definitionChanged=new ur,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._cornerType=void 0,this._cornerTypeSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(oe(o,oe.EMPTY_OBJECT))}Object.defineProperties(p9.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:fi("show"),positions:fi("positions"),width:fi("width"),height:fi("height"),heightReference:fi("heightReference"),extrudedHeight:fi("extrudedHeight"),extrudedHeightReference:fi("extrudedHeightReference"),cornerType:fi("cornerType"),granularity:fi("granularity"),fill:fi("fill"),material:$p("material"),outline:fi("outline"),outlineColor:fi("outlineColor"),outlineWidth:fi("outlineWidth"),shadows:fi("shadows"),distanceDisplayCondition:fi("distanceDisplayCondition"),classificationType:fi("classificationType"),zIndex:fi("zIndex")});p9.prototype.clone=function(o){return O(o)?(o.show=this.show,o.positions=this.positions,o.width=this.width,o.height=this.height,o.heightReference=this.heightReference,o.extrudedHeight=this.extrudedHeight,o.extrudedHeightReference=this.extrudedHeightReference,o.cornerType=this.cornerType,o.granularity=this.granularity,o.fill=this.fill,o.material=this.material,o.outline=this.outline,o.outlineColor=this.outlineColor,o.outlineWidth=this.outlineWidth,o.shadows=this.shadows,o.distanceDisplayCondition=this.distanceDisplayCondition,o.classificationType=this.classificationType,o.zIndex=this.zIndex,o):new p9(this)};p9.prototype.merge=function(o){this.show=oe(this.show,o.show),this.positions=oe(this.positions,o.positions),this.width=oe(this.width,o.width),this.height=oe(this.height,o.height),this.heightReference=oe(this.heightReference,o.heightReference),this.extrudedHeight=oe(this.extrudedHeight,o.extrudedHeight),this.extrudedHeightReference=oe(this.extrudedHeightReference,o.extrudedHeightReference),this.cornerType=oe(this.cornerType,o.cornerType),this.granularity=oe(this.granularity,o.granularity),this.fill=oe(this.fill,o.fill),this.material=oe(this.material,o.material),this.outline=oe(this.outline,o.outline),this.outlineColor=oe(this.outlineColor,o.outlineColor),this.outlineWidth=oe(this.outlineWidth,o.outlineWidth),this.shadows=oe(this.shadows,o.shadows),this.distanceDisplayCondition=oe(this.distanceDisplayCondition,o.distanceDisplayCondition),this.classificationType=oe(this.classificationType,o.classificationType),this.zIndex=oe(this.zIndex,o.zIndex)};var jte=p9;function sNt(o){return o}function lNt(o,A){return fi(o,A,sNt)}var zy=lNt;function m9(o){this._definitionChanged=new ur,this._show=void 0,this._showSubscription=void 0,this._length=void 0,this._lengthSubscription=void 0,this._topRadius=void 0,this._topRadiusSubscription=void 0,this._bottomRadius=void 0,this._bottomRadiusSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._numberOfVerticalLines=void 0,this._numberOfVerticalLinesSubscription=void 0,this._slices=void 0,this._slicesSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(oe(o,oe.EMPTY_OBJECT))}Object.defineProperties(m9.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:fi("show"),length:fi("length"),topRadius:fi("topRadius"),bottomRadius:fi("bottomRadius"),heightReference:fi("heightReference"),fill:fi("fill"),material:$p("material"),outline:fi("outline"),outlineColor:fi("outlineColor"),outlineWidth:fi("outlineWidth"),numberOfVerticalLines:fi("numberOfVerticalLines"),slices:fi("slices"),shadows:fi("shadows"),distanceDisplayCondition:fi("distanceDisplayCondition")});m9.prototype.clone=function(o){return O(o)?(o.show=this.show,o.length=this.length,o.topRadius=this.topRadius,o.bottomRadius=this.bottomRadius,o.heightReference=this.heightReference,o.fill=this.fill,o.material=this.material,o.outline=this.outline,o.outlineColor=this.outlineColor,o.outlineWidth=this.outlineWidth,o.numberOfVerticalLines=this.numberOfVerticalLines,o.slices=this.slices,o.shadows=this.shadows,o.distanceDisplayCondition=this.distanceDisplayCondition,o):new m9(this)};m9.prototype.merge=function(o){this.show=oe(this.show,o.show),this.length=oe(this.length,o.length),this.topRadius=oe(this.topRadius,o.topRadius),this.bottomRadius=oe(this.bottomRadius,o.bottomRadius),this.heightReference=oe(this.heightReference,o.heightReference),this.fill=oe(this.fill,o.fill),this.material=oe(this.material,o.material),this.outline=oe(this.outline,o.outline),this.outlineColor=oe(this.outlineColor,o.outlineColor),this.outlineWidth=oe(this.outlineWidth,o.outlineWidth),this.numberOfVerticalLines=oe(this.numberOfVerticalLines,o.numberOfVerticalLines),this.slices=oe(this.slices,o.slices),this.shadows=oe(this.shadows,o.shadows),this.distanceDisplayCondition=oe(this.distanceDisplayCondition,o.distanceDisplayCondition)};var qte=m9;function C9(o){this._definitionChanged=new ur,this._show=void 0,this._showSubscription=void 0,this._semiMajorAxis=void 0,this._semiMajorAxisSubscription=void 0,this._semiMinorAxis=void 0,this._semiMinorAxisSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._numberOfVerticalLines=void 0,this._numberOfVerticalLinesSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(oe(o,oe.EMPTY_OBJECT))}Object.defineProperties(C9.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:fi("show"),semiMajorAxis:fi("semiMajorAxis"),semiMinorAxis:fi("semiMinorAxis"),height:fi("height"),heightReference:fi("heightReference"),extrudedHeight:fi("extrudedHeight"),extrudedHeightReference:fi("extrudedHeightReference"),rotation:fi("rotation"),stRotation:fi("stRotation"),granularity:fi("granularity"),fill:fi("fill"),material:$p("material"),outline:fi("outline"),outlineColor:fi("outlineColor"),outlineWidth:fi("outlineWidth"),numberOfVerticalLines:fi("numberOfVerticalLines"),shadows:fi("shadows"),distanceDisplayCondition:fi("distanceDisplayCondition"),classificationType:fi("classificationType"),zIndex:fi("zIndex")});C9.prototype.clone=function(o){return O(o)?(o.show=this.show,o.semiMajorAxis=this.semiMajorAxis,o.semiMinorAxis=this.semiMinorAxis,o.height=this.height,o.heightReference=this.heightReference,o.extrudedHeight=this.extrudedHeight,o.extrudedHeightReference=this.extrudedHeightReference,o.rotation=this.rotation,o.stRotation=this.stRotation,o.granularity=this.granularity,o.fill=this.fill,o.material=this.material,o.outline=this.outline,o.outlineColor=this.outlineColor,o.outlineWidth=this.outlineWidth,o.numberOfVerticalLines=this.numberOfVerticalLines,o.shadows=this.shadows,o.distanceDisplayCondition=this.distanceDisplayCondition,o.classificationType=this.classificationType,o.zIndex=this.zIndex,o):new C9(this)};C9.prototype.merge=function(o){this.show=oe(this.show,o.show),this.semiMajorAxis=oe(this.semiMajorAxis,o.semiMajorAxis),this.semiMinorAxis=oe(this.semiMinorAxis,o.semiMinorAxis),this.height=oe(this.height,o.height),this.heightReference=oe(this.heightReference,o.heightReference),this.extrudedHeight=oe(this.extrudedHeight,o.extrudedHeight),this.extrudedHeightReference=oe(this.extrudedHeightReference,o.extrudedHeightReference),this.rotation=oe(this.rotation,o.rotation),this.stRotation=oe(this.stRotation,o.stRotation),this.granularity=oe(this.granularity,o.granularity),this.fill=oe(this.fill,o.fill),this.material=oe(this.material,o.material),this.outline=oe(this.outline,o.outline),this.outlineColor=oe(this.outlineColor,o.outlineColor),this.outlineWidth=oe(this.outlineWidth,o.outlineWidth),this.numberOfVerticalLines=oe(this.numberOfVerticalLines,o.numberOfVerticalLines),this.shadows=oe(this.shadows,o.shadows),this.distanceDisplayCondition=oe(this.distanceDisplayCondition,o.distanceDisplayCondition),this.classificationType=oe(this.classificationType,o.classificationType),this.zIndex=oe(this.zIndex,o.zIndex)};var Xte=C9;function E9(o){this._definitionChanged=new ur,this._show=void 0,this._showSubscription=void 0,this._radii=void 0,this._radiiSubscription=void 0,this._innerRadii=void 0,this._innerRadiiSubscription=void 0,this._minimumClock=void 0,this._minimumClockSubscription=void 0,this._maximumClock=void 0,this._maximumClockSubscription=void 0,this._minimumCone=void 0,this._minimumConeSubscription=void 0,this._maximumCone=void 0,this._maximumConeSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._stackPartitions=void 0,this._stackPartitionsSubscription=void 0,this._slicePartitions=void 0,this._slicePartitionsSubscription=void 0,this._subdivisions=void 0,this._subdivisionsSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(oe(o,oe.EMPTY_OBJECT))}Object.defineProperties(E9.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:fi("show"),radii:fi("radii"),innerRadii:fi("innerRadii"),minimumClock:fi("minimumClock"),maximumClock:fi("maximumClock"),minimumCone:fi("minimumCone"),maximumCone:fi("maximumCone"),heightReference:fi("heightReference"),fill:fi("fill"),material:$p("material"),outline:fi("outline"),outlineColor:fi("outlineColor"),outlineWidth:fi("outlineWidth"),stackPartitions:fi("stackPartitions"),slicePartitions:fi("slicePartitions"),subdivisions:fi("subdivisions"),shadows:fi("shadows"),distanceDisplayCondition:fi("distanceDisplayCondition")});E9.prototype.clone=function(o){return O(o)?(o.show=this.show,o.radii=this.radii,o.innerRadii=this.innerRadii,o.minimumClock=this.minimumClock,o.maximumClock=this.maximumClock,o.minimumCone=this.minimumCone,o.maximumCone=this.maximumCone,o.heightReference=this.heightReference,o.fill=this.fill,o.material=this.material,o.outline=this.outline,o.outlineColor=this.outlineColor,o.outlineWidth=this.outlineWidth,o.stackPartitions=this.stackPartitions,o.slicePartitions=this.slicePartitions,o.subdivisions=this.subdivisions,o.shadows=this.shadows,o.distanceDisplayCondition=this.distanceDisplayCondition,o):new E9(this)};E9.prototype.merge=function(o){this.show=oe(this.show,o.show),this.radii=oe(this.radii,o.radii),this.innerRadii=oe(this.innerRadii,o.innerRadii),this.minimumClock=oe(this.minimumClock,o.minimumClock),this.maximumClock=oe(this.maximumClock,o.maximumClock),this.minimumCone=oe(this.minimumCone,o.minimumCone),this.maximumCone=oe(this.maximumCone,o.maximumCone),this.heightReference=oe(this.heightReference,o.heightReference),this.fill=oe(this.fill,o.fill),this.material=oe(this.material,o.material),this.outline=oe(this.outline,o.outline),this.outlineColor=oe(this.outlineColor,o.outlineColor),this.outlineWidth=oe(this.outlineWidth,o.outlineWidth),this.stackPartitions=oe(this.stackPartitions,o.stackPartitions),this.slicePartitions=oe(this.slicePartitions,o.slicePartitions),this.subdivisions=oe(this.subdivisions,o.subdivisions),this.shadows=oe(this.shadows,o.shadows),this.distanceDisplayCondition=oe(this.distanceDisplayCondition,o.distanceDisplayCondition)};var dG=E9;function x9(o){this._definitionChanged=new ur,this._show=void 0,this._showSubscription=void 0,this._text=void 0,this._textSubscription=void 0,this._font=void 0,this._fontSubscription=void 0,this._style=void 0,this._styleSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._showBackground=void 0,this._showBackgroundSubscription=void 0,this._backgroundColor=void 0,this._backgroundColorSubscription=void 0,this._backgroundPadding=void 0,this._backgroundPaddingSubscription=void 0,this._pixelOffset=void 0,this._pixelOffsetSubscription=void 0,this._eyeOffset=void 0,this._eyeOffsetSubscription=void 0,this._horizontalOrigin=void 0,this._horizontalOriginSubscription=void 0,this._verticalOrigin=void 0,this._verticalOriginSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fillColor=void 0,this._fillColorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._pixelOffsetScaleByDistance=void 0,this._pixelOffsetScaleByDistanceSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this.merge(oe(o,oe.EMPTY_OBJECT))}Object.defineProperties(x9.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:fi("show"),text:fi("text"),font:fi("font"),style:fi("style"),scale:fi("scale"),showBackground:fi("showBackground"),backgroundColor:fi("backgroundColor"),backgroundPadding:fi("backgroundPadding"),pixelOffset:fi("pixelOffset"),eyeOffset:fi("eyeOffset"),horizontalOrigin:fi("horizontalOrigin"),verticalOrigin:fi("verticalOrigin"),heightReference:fi("heightReference"),fillColor:fi("fillColor"),outlineColor:fi("outlineColor"),outlineWidth:fi("outlineWidth"),translucencyByDistance:fi("translucencyByDistance"),pixelOffsetScaleByDistance:fi("pixelOffsetScaleByDistance"),scaleByDistance:fi("scaleByDistance"),distanceDisplayCondition:fi("distanceDisplayCondition"),disableDepthTestDistance:fi("disableDepthTestDistance")});x9.prototype.clone=function(o){return O(o)?(o.show=this.show,o.text=this.text,o.font=this.font,o.style=this.style,o.scale=this.scale,o.showBackground=this.showBackground,o.backgroundColor=this.backgroundColor,o.backgroundPadding=this.backgroundPadding,o.pixelOffset=this.pixelOffset,o.eyeOffset=this.eyeOffset,o.horizontalOrigin=this.horizontalOrigin,o.verticalOrigin=this.verticalOrigin,o.heightReference=this.heightReference,o.fillColor=this.fillColor,o.outlineColor=this.outlineColor,o.outlineWidth=this.outlineWidth,o.translucencyByDistance=this.translucencyByDistance,o.pixelOffsetScaleByDistance=this.pixelOffsetScaleByDistance,o.scaleByDistance=this.scaleByDistance,o.distanceDisplayCondition=this.distanceDisplayCondition,o.disableDepthTestDistance=this.disableDepthTestDistance,o):new x9(this)};x9.prototype.merge=function(o){this.show=oe(this.show,o.show),this.text=oe(this.text,o.text),this.font=oe(this.font,o.font),this.style=oe(this.style,o.style),this.scale=oe(this.scale,o.scale),this.showBackground=oe(this.showBackground,o.showBackground),this.backgroundColor=oe(this.backgroundColor,o.backgroundColor),this.backgroundPadding=oe(this.backgroundPadding,o.backgroundPadding),this.pixelOffset=oe(this.pixelOffset,o.pixelOffset),this.eyeOffset=oe(this.eyeOffset,o.eyeOffset),this.horizontalOrigin=oe(this.horizontalOrigin,o.horizontalOrigin),this.verticalOrigin=oe(this.verticalOrigin,o.verticalOrigin),this.heightReference=oe(this.heightReference,o.heightReference),this.fillColor=oe(this.fillColor,o.fillColor),this.outlineColor=oe(this.outlineColor,o.outlineColor),this.outlineWidth=oe(this.outlineWidth,o.outlineWidth),this.translucencyByDistance=oe(this.translucencyByDistance,o.translucencyByDistance),this.pixelOffsetScaleByDistance=oe(this.pixelOffsetScaleByDistance,o.pixelOffsetScaleByDistance),this.scaleByDistance=oe(this.scaleByDistance,o.scaleByDistance),this.distanceDisplayCondition=oe(this.distanceDisplayCondition,o.distanceDisplayCondition),this.disableDepthTestDistance=oe(this.disableDepthTestDistance,o.disableDepthTestDistance)};var fG=x9,uNt=new Z(1,1,1),ANt=Z.ZERO,cNt=fr.IDENTITY;function Zze(o,A,f){this.translation=Z.clone(oe(o,ANt)),this.rotation=fr.clone(oe(A,cNt)),this.scale=Z.clone(oe(f,uNt))}Zze.prototype.equals=function(o){return this===o||O(o)&&Z.equals(this.translation,o.translation)&&fr.equals(this.rotation,o.rotation)&&Z.equals(this.scale,o.scale)};var _I=Zze,LAe=new _I;function y9(o){o=oe(o,oe.EMPTY_OBJECT),this._definitionChanged=new ur,this._translation=void 0,this._translationSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this.translation=o.translation,this.rotation=o.rotation,this.scale=o.scale}Object.defineProperties(y9.prototype,{isConstant:{get:function(){return Bt.isConstant(this._translation)&&Bt.isConstant(this._rotation)&&Bt.isConstant(this._scale)}},definitionChanged:{get:function(){return this._definitionChanged}},translation:fi("translation"),rotation:fi("rotation"),scale:fi("scale")});y9.prototype.getValue=function(o,A){return O(A)||(A=new _I),A.translation=Bt.getValueOrClonedDefault(this._translation,o,LAe.translation,A.translation),A.rotation=Bt.getValueOrClonedDefault(this._rotation,o,LAe.rotation,A.rotation),A.scale=Bt.getValueOrClonedDefault(this._scale,o,LAe.scale,A.scale),A};y9.prototype.equals=function(o){return this===o||o instanceof y9&&Bt.equals(this._translation,o._translation)&&Bt.equals(this._rotation,o._rotation)&&Bt.equals(this._scale,o._scale)};var Zte=y9;function bD(o,A){this._propertyNames=[],this._definitionChanged=new ur,O(o)&&this.merge(o,A)}Object.defineProperties(bD.prototype,{propertyNames:{get:function(){return this._propertyNames}},isConstant:{get:function(){let o=this._propertyNames;for(let A=0,f=o.length;AA.height?E=m*(A.height/A.width):A.widthA.height?E=m*(A.height/A.width):A.width${m}${aYe(C)}`:f+=`${m}${C}`)}return f.length>0&&(f=`${f}
`),f}function kNt(o,A,f){let m;return function(C,E){return O(m)||(m=o(A,f)),m}}function ONt(o,A){return new Hr(kNt(aYe,o,A),!0)}function nie(o,A,f){let m=o.id;if(!O(m)||o.type!=="Feature")m=Rl();else{let x=2,y=m;for(;O(A.getById(y));)y=`${m}_${x}`,x++;m=y}let C=A.getOrCreateEntity(m),E=o.properties;if(O(E)){C.properties=E;let x,y=E.title;if(O(y))C.name=y,x="title";else{let v=Number.MAX_VALUE;for(let B in E)if(E.hasOwnProperty(B)&&E[B]){let Q=B.toLowerCase();if(v>1&&Q==="title"){v=1,x=B;break}else v>2&&Q==="name"?(v=2,x=B):v>3&&/title/i.test(B)?(v=3,x=B):v>4&&/name/i.test(B)&&(v=4,x=B)}O(x)&&(C.name=E[x])}let I=E.description;I!==null&&(C.description=O(I)?new zu(I):f(E,x))}return C}function Qfe(o,A){let f=new Array(o.length);for(let m=0;m2?v.perPositionHeight=new zu(!0):C.clampToGround||(v.height=0);let T=nie(A,o._entityCollection,C.describe);T.polygon=v}function CYe(o,A,f,m,C){mYe(o,A,m,f.coordinates,C)}function EYe(o,A,f,m,C){let E=f.coordinates;for(let x=0;xA&&(f==null?(f="…",m=3):m=f.length,o=o.substring(0,A-m)+f),o}function mh(o,A){for(var f=o.length-1;f>=0;f--)o[f]===A&&o.splice(f,1)}function dF(o,A){for(var f=o.length-1;f>=0;f--)A(o[f])===!0&&o.splice(f,1)}function B7(o){throw new Error("Unhandled case for value: '".concat(o,"'"))}var _5=/[A-Za-z]/,Km=/[\d]/,YB=/\s/,NAe=/['"]/,WNt=/[\x00-\x1F\x7F]/,IYe=/A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC/.source,jNt=/\u2700-\u27bf\udde6-\uddff\ud800-\udbff\udc00-\udfff\ufe0e\ufe0f\u0300-\u036f\ufe20-\ufe23\u20d0-\u20f0\ud83c\udffb-\udfff\u200d\u3299\u3297\u303d\u3030\u24c2\ud83c\udd70-\udd71\udd7e-\udd7f\udd8e\udd91-\udd9a\udde6-\uddff\ude01-\ude02\ude1a\ude2f\ude32-\ude3a\ude50-\ude51\u203c\u2049\u25aa-\u25ab\u25b6\u25c0\u25fb-\u25fe\u00a9\u00ae\u2122\u2139\udc04\u2600-\u26FF\u2b05\u2b06\u2b07\u2b1b\u2b1c\u2b50\u2b55\u231a\u231b\u2328\u23cf\u23e9-\u23f3\u23f8-\u23fa\udccf\u2935\u2934\u2190-\u21ff/.source,qNt=/\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D4-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F/.source,XNt=IYe+jNt+qNt,_Ye=/0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19/.source,X5i=new RegExp("[".concat(IYe+_Ye,"]")),vYe=XNt+_Ye,nN=new RegExp("[".concat(vYe,"]")),BYe=function(){function o(A){A===void 0&&(A={}),this.tagName="",this.attrs={},this.innerHTML="",this.tagName=A.tagName||"",this.attrs=A.attrs||{},this.innerHTML=A.innerHtml||A.innerHTML||""}return o.prototype.setTagName=function(A){return this.tagName=A,this},o.prototype.getTagName=function(){return this.tagName||""},o.prototype.setAttr=function(A,f){var m=this.getAttrs();return m[A]=f,this},o.prototype.getAttr=function(A){return this.getAttrs()[A]},o.prototype.setAttrs=function(A){return Object.assign(this.getAttrs(),A),this},o.prototype.getAttrs=function(){return this.attrs||(this.attrs={})},o.prototype.setClass=function(A){return this.setAttr("class",A)},o.prototype.addClass=function(A){for(var f=this.getClass(),m=f?f.split(YB):[],C=A.split(YB),E;E=C.shift();)m.indexOf(E)===-1&&m.push(E);return this.getAttrs().class=m.join(" "),this},o.prototype.removeClass=function(A){for(var f=this.getClass(),m=f?f.split(YB):[],C=A.split(YB),E;m.length&&(E=C.shift());){var x=m.indexOf(E);x!==-1&&m.splice(x,1)}return this.getAttrs().class=m.join(" "),this},o.prototype.getClass=function(){return this.getAttrs().class||""},o.prototype.hasClass=function(A){return(" "+this.getClass()+" ").indexOf(" "+A+" ")!==-1},o.prototype.setInnerHTML=function(A){return this.innerHTML=A,this},o.prototype.setInnerHtml=function(A){return this.setInnerHTML(A)},o.prototype.getInnerHTML=function(){return this.innerHTML||""},o.prototype.getInnerHtml=function(){return this.getInnerHTML()},o.prototype.toAnchorString=function(){var A=this.getTagName(),f=this.buildAttrsStr();return f=f?" "+f:"",["<",A,f,">",this.getInnerHtml(),""].join("")},o.prototype.buildAttrsStr=function(){if(!this.attrs)return"";var A=this.getAttrs(),f=[];for(var m in A)A.hasOwnProperty(m)&&f.push(m+'="'+A[m]+'"');return f.join(" ")},o}();function ZNt(o,A,f){var m,C;f==null?(f="…",C=3,m=8):(C=f.length,m=f.length);var E=function(M){var L={},F=M,k=F.match(/^([a-z]+):\/\//i);return k&&(L.scheme=k[1],F=F.substr(k[0].length)),k=F.match(/^(.*?)(?=(\?|#|\/|$))/i),k&&(L.host=k[1],F=F.substr(k[0].length)),k=F.match(/^\/(.*?)(?=(\?|#|$))/i),k&&(L.path=k[1],F=F.substr(k[0].length)),k=F.match(/^\?(.*?)(?=(#|$))/i),k&&(L.query=k[1],F=F.substr(k[0].length)),k=F.match(/^#(.*?)$/i),k&&(L.fragment=k[1]),L},x=function(M){var L="";return M.scheme&&M.host&&(L+=M.scheme+"://"),M.host&&(L+=M.host),M.path&&(L+="/"+M.path),M.query&&(L+="?"+M.query),M.fragment&&(L+="#"+M.fragment),L},y=function(M,L){var F=L/2,k=Math.ceil(F),N=-1*Math.floor(F),G="";return N<0&&(G=M.substr(N)),M.substr(0,k)+f+G};if(o.length<=A)return o;var I=A-C,v=E(o);if(v.query){var B=v.query.match(/^(.*?)(?=(\?|\#))(.*?)$/i);B&&(v.query=v.query.substr(0,B[1].length),o=x(v))}if(o.length<=A||(v.host&&(v.host=v.host.replace(/^www\./,""),o=x(v)),o.length<=A))return o;var Q="";if(v.host&&(Q+=v.host),Q.length>=I)return v.host.length==A?(v.host.substr(0,A-C)+f).substr(0,I+m):y(Q,I).substr(0,I+m);var T="";if(v.path&&(T+="/"+v.path),v.query&&(T+="?"+v.query),T)if((Q+T).length>=I){if((Q+T).length==A)return(Q+T).substr(0,A);var w=I-Q.length;return(Q+y(T,w)).substr(0,I+m)}else Q+=T;if(v.fragment){var S="#"+v.fragment;if((Q+S).length>=I){if((Q+S).length==A)return(Q+S).substr(0,A);var D=I-Q.length;return(Q+y(S,D)).substr(0,I+m)}else Q+=S}if(v.scheme&&v.host){var R=v.scheme+"://";if((Q+R).length0&&(P=Q.substr(-1*Math.floor(I/2))),(Q.substr(0,Math.ceil(I/2))+f+P).substr(0,I+m)}function $Nt(o,A,f){if(o.length<=A)return o;var m,C;f==null?(f="…",m=8,C=3):(m=f.length,C=f.length);var E=A-C,x="";return E>0&&(x=o.substr(-1*Math.floor(E/2))),(o.substr(0,Math.ceil(E/2))+f+x).substr(0,E+m)}function e3t(o,A,f){return KNt(o,A,f)}var t3t=function(){function o(A){A===void 0&&(A={}),this.newWindow=!1,this.truncate={},this.className="",this.newWindow=A.newWindow||!1,this.truncate=A.truncate||{},this.className=A.className||""}return o.prototype.build=function(A){return new BYe({tagName:"a",attrs:this.createAttrs(A),innerHtml:this.processAnchorText(A.getAnchorText())})},o.prototype.createAttrs=function(A){var f={href:A.getAnchorHref()},m=this.createCssClass(A);return m&&(f.class=m),this.newWindow&&(f.target="_blank",f.rel="noopener noreferrer"),this.truncate&&this.truncate.length&&this.truncate.length=0;w--){var S=B[w];switch(S.state){case 11:N(S,T);break;case 12:G(S,T);break;case 0:P(S,T);break;case 1:M(S,T);break;case 2:L(S,T);break;case 3:F(S,T);break;case 4:k(S,T);break;case 5:J(S,T);break;case 6:K(S,T);break;case 7:X(S,T);break;case 13:q(S,T);break;case 14:ee(S,T);break;case 8:ie(S,T);break;case 9:H(S,T);break;case 10:le(S,T);break;case 15:ue(S,T);break;case 16:Ae(S,T);break;case 17:he(S,T);break;case 18:ge(S,T);break;case 19:fe(S,T);break;case 20:ae(S,T);break;case 21:U(S,T);break;case 22:W(S,T);break;case 23:Y(S,T);break;case 24:z(S,T);break;case 25:re(S,T);break;case 26:se(S,T);break;case 27:de(S,T);break;case 28:me(S,T);break;case 29:Ce(S,T);break;case 30:Ie(S,T);break;case 31:we(S,T);break;case 32:Ge(S,T);break;case 33:ke(S,T);break;case 34:Oe(S,T);break;case 35:Le(S,T);break;case 36:be(S,T);break;case 37:Te(S,T);break;case 38:Ne(S,T);break;case 39:Ue(S,T);break;case 40:ze(S,T);break;case 41:Je(S,T);break;default:B7(S.state)}}}for(var D=B.length-1;D>=0;D--)B.forEach(function(et){return Xe(et)});return I;function R(et){if(et==="#")B.push(q3t(Q,28));else if(et==="@")B.push(X3t(Q,30));else if(et==="/")B.push(zAe(Q,11));else if(et==="+")B.push(YAe(Q,37));else if(et==="(")B.push(YAe(Q,32));else{if(Km.test(et)&&(B.push(YAe(Q,38)),B.push(W3t(Q,13))),w3t(et)){var ot=et.toLowerCase()==="m"?15:22;B.push(j3t(Q,ot))}kAe(et)&&B.push(VAe(Q,0)),nN.test(et)&&B.push(zAe(Q,5))}}function P(et,ot){ot===":"?et.state=2:ot==="-"?et.state=1:ZNe(ot)||mh(B,et)}function M(et,ot){ot==="-"||(ot==="/"?(mh(B,et),B.push(zAe(Q,11))):ZNe(ot)?et.state=0:mh(B,et))}function L(et,ot){ot==="/"?et.state=3:ot==="."?mh(B,et):C2(ot)?(et.state=5,kAe(ot)&&B.push(VAe(Q,0))):mh(B,et)}function F(et,ot){ot==="/"?et.state=4:$Ne(ot)?(et.state=10,et.acceptStateReached=!0):Xe(et)}function k(et,ot){ot==="/"?et.state=10:C2(ot)?(et.state=5,et.acceptStateReached=!0):mh(B,et)}function N(et,ot){ot==="/"?et.state=12:mh(B,et)}function G(et,ot){C2(ot)?et.state=5:mh(B,et)}function J(et,ot){ot==="."?et.state=7:ot==="-"?et.state=6:ot===":"?et.state=8:UAe(ot)?et.state=10:OAe(ot)||Xe(et)}function K(et,ot){ot==="-"||(ot==="."?Xe(et):C2(ot)?et.state=5:Xe(et))}function X(et,ot){ot==="."?Xe(et):C2(ot)?(et.state=5,et.acceptStateReached=!0):Xe(et)}function q(et,ot){ot==="."?et.state=14:ot===":"?et.state=8:Km.test(ot)||(UAe(ot)?et.state=10:nN.test(ot)?mh(B,et):Xe(et))}function ee(et,ot){Km.test(ot)?(et.octetsEncountered++,et.octetsEncountered===4&&(et.acceptStateReached=!0),et.state=13):Xe(et)}function ie(et,ot){Km.test(ot)?et.state=9:Xe(et)}function H(et,ot){Km.test(ot)||(UAe(ot)?et.state=10:Xe(et))}function le(et,ot){$Ne(ot)||Xe(et)}function ue(et,ot){ot.toLowerCase()==="a"?et.state=16:W(et,ot)}function Ae(et,ot){ot.toLowerCase()==="i"?et.state=17:W(et,ot)}function he(et,ot){ot.toLowerCase()==="l"?et.state=18:W(et,ot)}function ge(et,ot){ot.toLowerCase()==="t"?et.state=19:W(et,ot)}function fe(et,ot){ot.toLowerCase()==="o"?et.state=20:W(et,ot)}function ae(et,ot){ot.toLowerCase()===":"?et.state=21:W(et,ot)}function U(et,ot){GAe(ot)?et.state=22:mh(B,et)}function W(et,ot){ot==="."?et.state=23:ot==="@"?et.state=24:GAe(ot)?et.state=22:mh(B,et)}function Y(et,ot){ot==="."||ot==="@"?mh(B,et):GAe(ot)?et.state=22:mh(B,et)}function z(et,ot){C2(ot)?et.state=25:mh(B,et)}function re(et,ot){ot==="."?et.state=27:ot==="-"?et.state=26:OAe(ot)||Xe(et)}function se(et,ot){ot==="-"||ot==="."?Xe(et):OAe(ot)?et.state=25:Xe(et)}function de(et,ot){ot==="."||ot==="-"?Xe(et):C2(ot)?(et.state=25,et.acceptStateReached=!0):Xe(et)}function me(et,ot){e3e(ot)?(et.state=29,et.acceptStateReached=!0):mh(B,et)}function Ce(et,ot){e3e(ot)||Xe(et)}function Ie(et,ot){t3e(ot)?(et.state=31,et.acceptStateReached=!0):mh(B,et)}function we(et,ot){t3e(ot)||(nN.test(ot)?mh(B,et):Xe(et))}function Te(et,ot){Km.test(ot)?et.state=38:(mh(B,et),R(ot))}function Ge(et,ot){Km.test(ot)?et.state=33:mh(B,et),R(ot)}function ke(et,ot){Km.test(ot)?et.state=34:mh(B,et)}function Oe(et,ot){Km.test(ot)?et.state=35:mh(B,et)}function Le(et,ot){ot===")"?et.state=36:mh(B,et)}function be(et,ot){Km.test(ot)?et.state=38:i3e(ot)?et.state=39:mh(B,et)}function Ne(et,ot){et.acceptStateReached=!0,HAe(ot)?et.state=40:ot==="#"?et.state=41:Km.test(ot)||(ot==="("?et.state=32:i3e(ot)?et.state=39:(Xe(et),kAe(ot)&&B.push(VAe(Q,0))))}function Ue(et,ot){Km.test(ot)?et.state=38:ot==="("?et.state=32:(Xe(et),R(ot))}function ze(et,ot){HAe(ot)||(ot==="#"?et.state=41:Km.test(ot)?et.state=38:Xe(et))}function Je(et,ot){HAe(ot)?et.state=40:Km.test(ot)?mh(B,et):Xe(et)}function Xe(et){if(mh(B,et),!!et.acceptStateReached){var ot=et.startIdx,Et=o.slice(et.startIdx,Q);if(Et=K3t(Et),et.type==="url"){var Ct=o.charAt(et.startIdx-1);if(Ct==="@")return;var ct=et.matchType;if(ct==="scheme"){var yt=bYe.exec(Et);if(yt&&(ot=ot+yt.index,Et=Et.slice(yt.index)),!c3t(Et))return}else if(ct==="tld"){if(!h3t(Et))return}else if(ct==="ipV4"){if(!g3t(Et))return}else B7(ct);I.push(new C3t({tagBuilder:f,matchedText:Et,offset:ot,urlMatchType:ct,url:Et,protocolRelativeMatch:Et.slice(0,2)==="//",stripPrefix:m,stripTrailingSlash:C,decodePercentEncoding:E}))}else if(et.type==="email")b3t(Et)&&I.push(new Q3t({tagBuilder:f,matchedText:Et,offset:ot,email:Et.replace(v3t,"")}));else if(et.type==="hashtag")S3t(Et)&&I.push(new T3t({tagBuilder:f,matchedText:Et,offset:ot,serviceName:x,hashtag:Et.slice(1)}));else if(et.type==="mention")R3t(Et,y)&&I.push(new F3t({tagBuilder:f,matchedText:Et,offset:ot,serviceName:y,mention:Et.slice(1)}));else if(et.type==="phone"){if(Et=Et.replace(/ +$/g,""),V3t(Et)){var Qt=Et.replace(/[^0-9,;#]/g,"");I.push(new z3t({tagBuilder:f,matchedText:Et,offset:ot,number:Qt,plusSign:Et.charAt(0)==="+"}))}}else B7(et)}}}var J3t=/[\(\{\[]/,r3e=/[\)\}\]]/,n3e={")":"(","}":"{","]":"["};function K3t(o){for(var A={"(":0,"{":0,"[":0},f=0;f=0;)if(E=o.charAt(C),r3e.test(E)){var x=n3e[E];if(A[x]<0)A[x]++,C--;else break}else if(s3t.test(E))C--;else break;return o.slice(0,C+1)}function VAe(o,A){return{type:"url",startIdx:o,state:A,acceptStateReached:!1,matchType:"scheme"}}function zAe(o,A){return{type:"url",startIdx:o,state:A,acceptStateReached:!1,matchType:"tld"}}function W3t(o,A){return{type:"url",startIdx:o,state:A,acceptStateReached:!1,matchType:"ipV4",octetsEncountered:1}}function j3t(o,A){return{type:"email",startIdx:o,state:A,acceptStateReached:!1}}function q3t(o,A){return{type:"hashtag",startIdx:o,state:A,acceptStateReached:!1}}function X3t(o,A){return{type:"mention",startIdx:o,state:A,acceptStateReached:!1}}function YAe(o,A){return{type:"phone",startIdx:o,state:A,acceptStateReached:!1}}function Z3t(o,A){for(var f=A.onOpenTag,m=A.onCloseTag,C=A.onText,E=A.onComment,x=A.onDoctype,y=new K1,I=0,v=o.length,B=0,Q=0,T=y;I"?(T=new K1(q0(q0({},T),{name:W()})),ae()):!_5.test(z)&&!Km.test(z)&&z!==":"&&ge()}function P(z){z===">"?ge():_5.test(z)?B=3:ge()}function M(z){YB.test(z)||(z==="/"?B=12:z===">"?ae():z==="<"?fe():z==="="||NAe.test(z)||WNt.test(z)?ge():B=5)}function L(z){YB.test(z)?B=6:z==="/"?B=12:z==="="?B=7:z===">"?ae():z==="<"?fe():NAe.test(z)&&ge()}function F(z){YB.test(z)||(z==="/"?B=12:z==="="?B=7:z===">"?ae():z==="<"?fe():NAe.test(z)?ge():B=5)}function k(z){YB.test(z)||(z==='"'?B=8:z==="'"?B=9:/[>=`]/.test(z)?ge():z==="<"?fe():B=10)}function N(z){z==='"'&&(B=11)}function G(z){z==="'"&&(B=11)}function J(z){YB.test(z)?B=4:z===">"?ae():z==="<"&&fe()}function K(z){YB.test(z)?B=4:z==="/"?B=12:z===">"?ae():z==="<"?fe():(B=4,Y())}function X(z){z===">"?(T=new K1(q0(q0({},T),{isClosing:!0})),ae()):B=4}function q(z){o.substr(I,2)==="--"?(I+=2,T=new K1(q0(q0({},T),{type:"comment"})),B=14):o.substr(I,7).toUpperCase()==="DOCTYPE"?(I+=7,T=new K1(q0(q0({},T),{type:"doctype"})),B=20):ge()}function ee(z){z==="-"?B=15:z===">"?ge():B=16}function ie(z){z==="-"?B=18:z===">"?ge():B=16}function H(z){z==="-"&&(B=17)}function le(z){z==="-"?B=18:B=16}function ue(z){z===">"?ae():z==="!"?B=19:z==="-"||(B=16)}function Ae(z){z==="-"?B=17:z===">"?ae():B=16}function he(z){z===">"?ae():z==="<"&&fe()}function ge(){B=0,T=y}function fe(){B=1,T=new K1({idx:I})}function ae(){var z=o.slice(Q,T.idx);z&&C(z,Q),T.type==="comment"?E(T.idx):T.type==="doctype"?x(T.idx):(T.isOpening&&f(T.name,T.idx),T.isClosing&&m(T.name,T.idx)),ge(),Q=I+1}function U(){var z=o.slice(Q,I);C(z,Q),Q=I+1}function W(){var z=T.idx+(T.isClosing?2:1);return o.slice(z,I).toLowerCase()}function Y(){I--}}var K1=function(){function o(A){A===void 0&&(A={}),this.idx=A.idx!==void 0?A.idx:-1,this.type=A.type||"tag",this.name=A.name||"",this.isOpening=!!A.isOpening,this.isClosing=!!A.isClosing}return o}(),$3t=function(){function o(A){A===void 0&&(A={}),this.version=o.version,this.urls={},this.email=!0,this.phone=!0,this.hashtag=!1,this.mention=!1,this.newWindow=!0,this.stripPrefix={scheme:!0,www:!0},this.stripTrailingSlash=!0,this.decodePercentEncoding=!0,this.truncate={length:0,location:"end"},this.className="",this.replaceFn=null,this.context=void 0,this.sanitizeHtml=!1,this.tagBuilder=null,this.urls=tkt(A.urls),this.email=P_(A.email)?A.email:this.email,this.phone=P_(A.phone)?A.phone:this.phone,this.hashtag=A.hashtag||this.hashtag,this.mention=A.mention||this.mention,this.newWindow=P_(A.newWindow)?A.newWindow:this.newWindow,this.stripPrefix=ikt(A.stripPrefix),this.stripTrailingSlash=P_(A.stripTrailingSlash)?A.stripTrailingSlash:this.stripTrailingSlash,this.decodePercentEncoding=P_(A.decodePercentEncoding)?A.decodePercentEncoding:this.decodePercentEncoding,this.sanitizeHtml=A.sanitizeHtml||!1;var f=this.mention;if(f!==!1&&L3t.indexOf(f)===-1)throw new Error("invalid `mention` cfg '".concat(f,"' - see docs"));var m=this.hashtag;if(m!==!1&&D3t.indexOf(m)===-1)throw new Error("invalid `hashtag` cfg '".concat(m,"' - see docs"));this.truncate=rkt(A.truncate),this.className=A.className||this.className,this.replaceFn=A.replaceFn||this.replaceFn,this.context=A.context||this}return o.link=function(A,f){var m=new o(f);return m.link(A)},o.parse=function(A,f){var m=new o(f);return m.parse(A)},o.prototype.parse=function(A){var f=this,m=["a","style","script"],C=0,E=[];return Z3t(A,{onOpenTag:function(x){m.indexOf(x)>=0&&C++},onText:function(x,y){if(C===0){var I=/( | |<|<|>|>|"|"|')/gi,v=x.split(I),B=y;v.forEach(function(Q,T){if(T%2===0){var w=f.parseText(Q,B);E.push.apply(E,w)}B+=Q.length})}},onCloseTag:function(x){m.indexOf(x)>=0&&(C=Math.max(C-1,0))},onComment:function(x){},onDoctype:function(x){}}),E=this.compactMatches(E),E=this.removeUnwantedMatches(E),E},o.prototype.compactMatches=function(A){A.sort(function(I,v){return I.getOffset()-v.getOffset()});for(var f=0;fE?f:f+1;A.splice(y,1);continue}if(A[f+1].getOffset()/g,">"));for(var f=this.parse(A),m=[],C=0,E=0,x=f.length;Enew Array(A).fill(f,0,A)))}function aie(o){return o.reduce((A,f)=>A.concat(Array.isArray(f)?aie(f):f),[])}var o3e=[0,1,2,3].concat(...oie([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function Nh(){let o=this;function A(C){let E=o.dyn_tree,x=o.stat_desc.static_tree,y=o.stat_desc.extra_bits,I=o.stat_desc.extra_base,v=o.stat_desc.max_length,B,Q,T,w,S,D,R=0;for(w=0;w<=15;w++)C.bl_count[w]=0;for(E[C.heap[C.heap_max]*2+1]=0,B=C.heap_max+1;B<573;B++)Q=C.heap[B],w=E[E[Q*2+1]*2+1]+1,w>v&&(w=v,R++),E[Q*2+1]=w,!(Q>o.max_code)&&(C.bl_count[w]++,S=0,Q>=I&&(S=y[Q-I]),D=E[Q*2],C.opt_len+=D*(w+S),x&&(C.static_len+=D*(x[Q*2+1]+S)));if(R!==0){do{for(w=v-1;C.bl_count[w]===0;)w--;C.bl_count[w]--,C.bl_count[w+1]+=2,C.bl_count[v]--,R-=2}while(R>0);for(w=v;w!==0;w--)for(Q=C.bl_count[w];Q!==0;)T=C.heap[--B],!(T>o.max_code)&&(E[T*2+1]!=w&&(C.opt_len+=(w-E[T*2+1])*E[T*2],E[T*2+1]=w),Q--)}}function f(C,E){let x=0;do x|=C&1,C>>>=1,x<<=1;while(--E>0);return x>>>1}function m(C,E,x){let y=[],I=0,v,B,Q;for(v=1;v<=15;v++)y[v]=I=I+x[v-1]<<1;for(B=0;B<=E;B++)Q=C[B*2+1],Q!==0&&(C[B*2]=f(y[Q]++,Q))}o.build_tree=function(C){let E=o.dyn_tree,x=o.stat_desc.static_tree,y=o.stat_desc.elems,I,v,B=-1,Q;for(C.heap_len=0,C.heap_max=573,I=0;I=1;I--)C.pqdownheap(E,I);Q=y;do I=C.heap[1],C.heap[1]=C.heap[C.heap_len--],C.pqdownheap(E,1),v=C.heap[1],C.heap[--C.heap_max]=I,C.heap[--C.heap_max]=v,E[Q*2]=E[I*2]+E[v*2],C.depth[Q]=Math.max(C.depth[I],C.depth[v])+1,E[I*2+1]=E[v*2+1]=Q,C.heap[1]=Q++,C.pqdownheap(E,1);while(C.heap_len>=2);C.heap[--C.heap_max]=C.heap[1],A(C),m(E,o.max_code,C.bl_count)}}Nh._length_code=[0,1,2,3,4,5,6,7].concat(...oie([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]]));Nh.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0];Nh.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576];Nh.d_code=function(o){return o<256?o3e[o]:o3e[256+(o>>>7)]};Nh.extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];Nh.extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];Nh.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];Nh.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function jp(o,A,f,m,C){let E=this;E.static_tree=o,E.extra_bits=A,E.extra_base=f,E.elems=m,E.max_length=C}var nkt=[12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227],okt=oie([[144,8],[112,9],[24,7],[8,8]]);jp.static_ltree=aie(nkt.map((o,A)=>[o,okt[A]]));var akt=[0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23],skt=oie([[30,5]]);jp.static_dtree=aie(akt.map((o,A)=>[o,skt[A]]));jp.static_l_desc=new jp(jp.static_ltree,Nh.extra_lbits,256+1,286,15);jp.static_d_desc=new jp(jp.static_dtree,Nh.extra_dbits,0,30,15);jp.static_bl_desc=new jp(null,Nh.extra_blbits,0,19,7);var lkt=9,ukt=8;function W1(o,A,f,m,C){let E=this;E.good_length=o,E.max_lazy=A,E.nice_length=f,E.max_chain=m,E.func=C}var DYe=0,_Z=1,PF=2,MB=[new W1(0,0,0,0,DYe),new W1(4,4,8,4,_Z),new W1(4,5,16,8,_Z),new W1(4,6,32,32,_Z),new W1(4,4,16,16,PF),new W1(8,16,32,32,PF),new W1(8,16,128,128,PF),new W1(8,32,128,256,PF),new W1(32,128,258,1024,PF),new W1(32,258,258,4096,PF)],hq=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],PB=0,dq=1,oV=2,fq=3,Akt=32,JAe=42,gq=113,aV=666,KAe=8,ckt=0,WAe=1,hkt=2,ld=3,vZ=258,Py=vZ+ld+1;function a3e(o,A,f,m){let C=o[A*2],E=o[f*2];return C=3&&Ae[Nh.bl_order[gt]*2+1]===0;gt--);return o.opt_len+=3*(gt+1)+5+5+4,gt}function we(gt){o.pending_buf[o.pending++]=gt}function Te(gt){we(gt&255),we(gt>>>8&255)}function Ge(gt){we(gt>>8&255),we(gt&255&255)}function ke(gt,xt){let Lt,nt=xt;re>16-nt?(Lt=gt,z|=Lt<>>16-re,re+=nt-16):(z|=gt<=8&&(we(z&255),z>>>=8,re-=8)}function Ue(){ke(WAe<<1,3),Oe(256,jp.static_ltree),Ne(),1+Y+10-re<9&&(ke(WAe<<1,3),Oe(256,jp.static_ltree),Ne()),Y=7}function ze(gt,xt){let Lt,nt,Pe;if(o.dist_buf[U]=gt,o.lc_buf[U]=xt&255,U++,gt===0?le[xt*2]++:(W++,gt--,le[(Nh._length_code[xt]+256+1)*2]++,ue[Nh.d_code(gt)*2]++),!(U&8191)&&q>2){for(Lt=U*8,nt=k-P,Pe=0;Pe<30;Pe++)Lt+=ue[Pe*2]*(5+Nh.extra_dbits[Pe]);if(Lt>>>=3,W8?Te(z):re>0&&we(z&255),z=0,re=0}function et(gt,xt,Lt){Xe(),Y=8,Lt&&(Te(xt),Te(~xt)),o.pending_buf.set(I.subarray(gt,gt+xt),o.pending),o.pending+=xt}function ot(gt,xt,Lt){ke((ckt<<1)+(Lt?1:0),3),et(gt,xt,!0)}function Et(gt,xt,Lt){let nt,Pe,ve=0;q>0?(he.build_tree(o),ge.build_tree(o),ve=Ie(),nt=o.opt_len+3+7>>>3,Pe=o.static_len+3+7>>>3,Pe<=nt&&(nt=Pe)):nt=Pe=xt+5,xt+4<=nt&>!=-1?ot(gt,xt,Lt):Pe==nt?(ke((WAe<<1)+(Lt?1:0),3),Je(jp.static_ltree,jp.static_dtree)):(ke((hkt<<1)+(Lt?1:0),3),be(he.max_code+1,ge.max_code+1,ve+1),Je(le,ue)),de(),Lt&&Xe()}function Ct(gt){Et(P>=0?P:-1,k-P,gt),P=k,A.flush_pending()}function ct(){let gt,xt,Lt,nt;do{if(nt=v-G-k,nt===0&&k===0&&G===0)nt=E;else if(nt==-1)nt--;else if(k>=E+E-Py){I.set(I.subarray(E,E+E),0),N-=E,k-=E,P-=E,gt=w,Lt=gt;do xt=Q[--Lt]&65535,Q[Lt]=xt>=E?xt-E:0;while(--gt!==0);gt=E,Lt=gt;do xt=B[--Lt]&65535,B[Lt]=xt>=E?xt-E:0;while(--gt!==0);nt+=E}if(A.avail_in===0)return;gt=A.read_buf(I,k+G,nt),G+=gt,G>=ld&&(T=I[k]&255,T=(T<m-5&&(xt=m-5);;){if(G<=1){if(ct(),G===0&>==0)return PB;if(G===0)break}if(k+=G,G=0,Lt=P+xt,(k===0||k>=Lt)&&(G=k-Lt,k=Lt,Ct(!1),A.avail_out===0)||k-P>=E-Py&&(Ct(!1),A.avail_out===0))return PB}return Ct(gt==4),A.avail_out===0?gt==4?oV:PB:gt==4?fq:dq}function Qt(gt){let xt=K,Lt=k,nt,Pe,ve=J,We=k>E-Py?k-(E-Py):0,bt=H,Pt=y,It=k+vZ,Mi=I[Lt+ve-1],er=I[Lt+ve];J>=ie&&(xt>>=2),bt>G&&(bt=G);do if(nt=gt,!(I[nt+ve]!=er||I[nt+ve-1]!=Mi||I[nt]!=I[Lt]||I[++nt]!=I[Lt+1])){Lt+=2,nt++;do;while(I[++Lt]==I[++nt]&&I[++Lt]==I[++nt]&&I[++Lt]==I[++nt]&&I[++Lt]==I[++nt]&&I[++Lt]==I[++nt]&&I[++Lt]==I[++nt]&&I[++Lt]==I[++nt]&&I[++Lt]==I[++nt]&&Ltve){if(N=gt,ve=Pe,Pe>=bt)break;Mi=I[Lt+ve-1],er=I[Lt+ve]}}while((gt=B[gt&Pt]&65535)>We&&--xt!==0);return ve<=G?ve:G}function Ze(gt){let xt=0,Lt;for(;;){if(G=ld&&(T=(T<=ld)if(Lt=ze(k-N,M-ld),G-=M,M<=X&&G>=ld){M--;do k++,T=(T<=ld&&(T=(T<4096)&&(M=ld-1)),J>=ld&&M<=J){nt=k+G-ld,Lt=ze(k-1-L,J-ld),G-=J-1,J-=2;do++k<=nt&&(T=(T<lkt||nt!=KAe||Lt<9||Lt>15||xt<0||xt>9||ve<0||ve>2?-2:(gt.dstate=o,x=Lt,E=1<9||Lt<0||Lt>2?-2:(MB[q].func!=MB[xt].func&>.total_in!==0&&(nt=gt.deflate(1)),q!=xt&&(q=xt,X=MB[q].max_lazy,ie=MB[q].good_length,H=MB[q].nice_length,K=MB[q].max_chain),ee=Lt,nt)},o.deflateSetDictionary=function(gt,xt,Lt){let nt=Lt,Pe,ve=0;if(!xt||f!=JAe)return-2;if(ntE-Py&&(nt=E-Py,ve=Lt-nt),I.set(xt.subarray(ve,ve+nt),0),k=nt,P=nt,T=I[0]&255,T=(T<4||xt<0)return-2;if(!gt.next_out||!gt.next_in&>.avail_in!==0||f==aV&&xt!=4)return gt.msg=hq[2- -2],-2;if(gt.avail_out===0)return gt.msg=hq[2- -5],-5;if(A=gt,ve=C,C=xt,f==JAe&&(nt=KAe+(x-8<<4)<<8,Pe=(q-1&255)>>1,Pe>3&&(Pe=3),nt|=Pe<<6,k!==0&&(nt|=Akt),nt+=31-nt%31,f=gq,Ge(nt)),o.pending!==0){if(A.flush_pending(),A.avail_out===0)return C=-1,0}else if(A.avail_in===0&&xt<=ve&&xt!=4)return A.msg=hq[2- -5],-5;if(f==aV&&A.avail_in!==0)return gt.msg=hq[2- -5],-5;if(A.avail_in!==0||G!==0||xt!=0&&f!=aV){switch(We=-1,MB[q].func){case DYe:We=yt(xt);break;case _Z:We=Ze(xt);break;case PF:We=ut(xt);break;default:}if((We==oV||We==fq)&&(f=aV),We==PB||We==oV)return A.avail_out===0&&(C=-1),0;if(We==dq){if(xt==1)Ue();else if(ot(0,0,!1),xt==3)for(Lt=0;Ltf&&(C=f),C===0?0:(m.avail_in-=C,o.set(m.next_in.subarray(m.next_in_index,m.next_in_index+C),A),m.next_in_index+=C,m.total_in+=C,C)},flush_pending:function(){let o=this,A=o.dstate.pending;A>o.avail_out&&(A=o.avail_out),A!==0&&(o.next_out.set(o.dstate.pending_buf.subarray(o.dstate.pending_out,o.dstate.pending_out+A),o.next_out_index),o.next_out_index+=A,o.dstate.pending_out+=A,o.total_out+=A,o.avail_out-=A,o.dstate.pending-=A,o.dstate.pending===0&&(o.dstate.pending_out=0))}};function fkt(o){let A=this,f=new TYe,m=gkt(o&&o.chunkSize?o.chunkSize:64*1024),C=0,E=new Uint8Array(m),x=o?o.level:-1;typeof x>"u"&&(x=-1),f.deflateInit(x),f.next_out=E,A.append=function(y,I){let v,B,Q=0,T=0,w=0,S=[];if(y.length){f.next_in_index=0,f.next_in=y,f.avail_in=y.length;do{if(f.next_out_index=0,f.avail_out=m,v=f.deflate(C),v!=0)throw new Error("deflating: "+f.msg);f.next_out_index&&(f.next_out_index==m?S.push(new Uint8Array(E)):S.push(E.slice(0,f.next_out_index))),w+=f.next_out_index,I&&f.next_in_index>0&&f.next_in_index!=Q&&(I(f.next_in_index),Q=f.next_in_index)}while(f.avail_in>0||f.avail_out===0);return S.length>1?(B=new Uint8Array(w),S.forEach(function(D){B.set(D,T),T+=D.length})):B=S[0]||new Uint8Array(0),B}},A.flush=function(){let y,I,v=0,B=0,Q=[];do{if(f.next_out_index=0,f.avail_out=m,y=f.deflate(4),y!=1&&y!=0)throw new Error("deflating: "+f.msg);m-f.avail_out>0&&Q.push(E.slice(0,f.next_out_index)),B+=f.next_out_index}while(f.avail_in>0||f.avail_out===0);return f.deflateEnd(),I=new Uint8Array(B),Q.forEach(function(T){I.set(T,v),v+=T.length}),I}}function gkt(o){return o+5*(Math.floor(o/16383)+1)}var pkt=fkt,ky=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],MYe=1440,mkt=0,Ckt=4,Ekt=9,xkt=5,ykt=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],Ikt=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],_kt=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],vkt=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,112,112],Bkt=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],wkt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],e2=15;function Mfe(){let o=this,A,f,m,C,E,x;function y(v,B,Q,T,w,S,D,R,P,M,L){let F,k,N,G,J,K,X,q,ee,ie,H,le,ue,Ae,he;ie=0,J=Q;do m[v[B+ie]]++,ie++,J--;while(J!==0);if(m[0]==Q)return D[0]=-1,R[0]=0,0;for(q=R[0],K=1;K<=e2&&m[K]===0;K++);for(X=K,qJ&&(q=J),R[0]=q,Ae=1<le+q;){if(G++,le+=q,he=N-le,he=he>q?q:he,(k=1<<(K=X-le))>F+1&&(k-=F+1,ue=X,KMYe)return-3;E[G]=H=M[0],M[0]+=he,G!==0?(x[G]=J,C[0]=K,C[1]=q,K=J>>>le-q,C[2]=H-E[G-1]-K,P.set(C,(E[G-1]+K)*3)):D[0]=H}for(C[1]=X-le,ie>=Q?C[0]=128+64:L[ie]>>le;K>>=1)J^=K;for(J^=K,ee=(1<257?(M==-3?P.msg="oversubscribed distance tree":M==-5?(P.msg="incomplete distance tree",M=-3):M!=-4&&(P.msg="empty distance tree with lengths",M=-3),M):0)}}Mfe.inflate_trees_fixed=function(o,A,f,m){return o[0]=Ekt,A[0]=xkt,f[0]=ykt,m[0]=Ikt,0};var pq=0,s3e=1,l3e=2,u3e=3,A3e=4,c3e=5,h3e=6,jAe=7,d3e=8,mq=9;function bkt(){let o=this,A,f=0,m,C=0,E=0,x=0,y=0,I=0,v=0,B=0,Q,T=0,w,S=0;function D(R,P,M,L,F,k,N,G){let J,K,X,q,ee,ie,H,le,ue,Ae,he,ge,fe,ae,U,W;H=G.next_in_index,le=G.avail_in,ee=N.bitb,ie=N.bitk,ue=N.write,Ae=ue>=K[W+1],ie-=K[W+1],N.win[ue++]=K[W+2],Ae--;continue}do{if(ee>>=K[W+1],ie-=K[W+1],q&16){for(q&=15,fe=K[W+2]+(ee&ky[q]),ee>>=q,ie-=q;ie<15;)le--,ee|=(G.read_byte(H++)&255)<>=K[W+1],ie-=K[W+1],q&16){for(q&=15;ie>=q,ie-=q,Ae-=fe,ue>=ae)U=ue-ae,ue-U>0&&2>ue-U?(N.win[ue++]=N.win[U++],N.win[ue++]=N.win[U++],fe-=2):(N.win.set(N.win.subarray(U,U+2),ue),ue+=2,U+=2,fe-=2);else{U=ue-ae;do U+=N.end;while(U<0);if(q=N.end-U,fe>q){if(fe-=q,ue-U>0&&q>ue-U)do N.win[ue++]=N.win[U++];while(--q!==0);else N.win.set(N.win.subarray(U,U+q),ue),ue+=q,U+=q,q=0;U=0}}if(ue-U>0&&fe>ue-U)do N.win[ue++]=N.win[U++];while(--fe!==0);else N.win.set(N.win.subarray(U,U+fe),ue),ue+=fe,U+=fe,fe=0;break}else if(!(q&64))J+=K[W+2],J+=ee&ky[q],W=(X+J)*3,q=K[W];else return G.msg="invalid distance code",fe=G.avail_in-le,fe=ie>>3>3:fe,le+=fe,H-=fe,ie-=fe<<3,N.bitb=ee,N.bitk=ie,G.avail_in=le,G.total_in+=H-G.next_in_index,G.next_in_index=H,N.write=ue,-3;while(!0);break}if(q&64)return q&32?(fe=G.avail_in-le,fe=ie>>3>3:fe,le+=fe,H-=fe,ie-=fe<<3,N.bitb=ee,N.bitk=ie,G.avail_in=le,G.total_in+=H-G.next_in_index,G.next_in_index=H,N.write=ue,1):(G.msg="invalid literal/length code",fe=G.avail_in-le,fe=ie>>3>3:fe,le+=fe,H-=fe,ie-=fe<<3,N.bitb=ee,N.bitk=ie,G.avail_in=le,G.total_in+=H-G.next_in_index,G.next_in_index=H,N.write=ue,-3);if(J+=K[W+2],J+=ee&ky[q],W=(X+J)*3,(q=K[W])===0){ee>>=K[W+1],ie-=K[W+1],N.win[ue++]=K[W+2],Ae--;break}}while(!0)}while(Ae>=258&&le>=10);return fe=G.avail_in-le,fe=ie>>3>3:fe,le+=fe,H-=fe,ie-=fe<<3,N.bitb=ee,N.bitk=ie,G.avail_in=le,G.total_in+=H-G.next_in_index,G.next_in_index=H,N.write=ue,0}o.init=function(R,P,M,L,F,k){A=pq,v=R,B=P,Q=M,T=L,w=F,S=k,m=null},o.proc=function(R,P,M){let L,F,k,N=0,G=0,J=0,K,X,q,ee;for(J=P.next_in_index,K=P.avail_in,N=R.bitb,G=R.bitk,X=R.write,q=X=258&&K>=10&&(R.bitb=N,R.bitk=G,P.avail_in=K,P.total_in+=J-P.next_in_index,P.next_in_index=J,R.write=X,M=D(v,B,Q,T,w,S,R,P),J=P.next_in_index,K=P.avail_in,N=R.bitb,G=R.bitk,X=R.write,q=X>>=m[F+1],G-=m[F+1],k=m[F],k===0){x=m[F+2],A=h3e;break}if(k&16){y=k&15,f=m[F+2],A=l3e;break}if(!(k&64)){E=k,C=F/3+m[F+2];break}if(k&32){A=jAe;break}return A=mq,P.msg="invalid literal/length code",M=-3,R.bitb=N,R.bitk=G,P.avail_in=K,P.total_in+=J-P.next_in_index,P.next_in_index=J,R.write=X,R.inflate_flush(P,M);case l3e:for(L=y;G>=L,G-=L,E=B,m=w,C=S,A=u3e;case u3e:for(L=E;G>=m[F+1],G-=m[F+1],k=m[F],k&16){y=k&15,I=m[F+2],A=A3e;break}if(!(k&64)){E=k,C=F/3+m[F+2];break}return A=mq,P.msg="invalid distance code",M=-3,R.bitb=N,R.bitk=G,P.avail_in=K,P.total_in+=J-P.next_in_index,P.next_in_index=J,R.write=X,R.inflate_flush(P,M);case A3e:for(L=y;G>=L,G-=L,A=c3e;case c3e:for(ee=X-I;ee<0;)ee+=R.end;for(;f!==0;){if(q===0&&(X==R.end&&R.read!==0&&(X=0,q=X7&&(G-=8,K++,J--),R.write=X,M=R.inflate_flush(P,M),X=R.write,q=XD.avail_out&&(P=D.avail_out),P!==0&&R==-5&&(R=0),D.avail_out-=P,D.total_out+=P,D.next_out.set(f.win.subarray(L,L+P),M),M+=P,L+=P,L==f.end&&(L=0,f.write==f.end&&(f.write=0),P=f.write-L,P>D.avail_out&&(P=D.avail_out),P!==0&&R==-5&&(R=0),D.avail_out-=P,D.total_out+=P,D.next_out.set(f.win.subarray(L,L+P),M),M+=P,L+=P),D.next_out_index=M,f.read=L,R},f.proc=function(D,R){let P,M,L,F,k,N,G,J;for(F=D.next_in_index,k=D.avail_in,M=f.bitb,L=f.bitk,N=f.write,G=N>>1){case 0:M>>>=3,L-=3,P=L&7,M>>>=P,L-=P,m=qAe;break;case 1:K=[],X=[],q=[[]],ee=[[]],Mfe.inflate_trees_fixed(K,X,q,ee),B.init(K[0],X[0],q[0],0,ee[0],0),M>>>=3,L-=3,m=Cq;break;case 2:M>>>=3,L-=3,m=p3e;break;case 3:return M>>>=3,L-=3,m=fF,D.msg="invalid block type",R=-3,f.bitb=M,f.bitk=L,D.avail_in=k,D.total_in+=F-D.next_in_index,D.next_in_index=F,f.write=N,f.inflate_flush(D,R)}break;case qAe:for(;L<32;){if(k!==0)R=0;else return f.bitb=M,f.bitk=L,D.avail_in=k,D.total_in+=F-D.next_in_index,D.next_in_index=F,f.write=N,f.inflate_flush(D,R);k--,M|=(D.read_byte(F++)&255)<>>16&65535)!=(M&65535))return m=fF,D.msg="invalid stored block lengths",R=-3,f.bitb=M,f.bitk=L,D.avail_in=k,D.total_in+=F-D.next_in_index,D.next_in_index=F,f.write=N,f.inflate_flush(D,R);C=M&65535,M=L=0,m=C!==0?g3e:Q!==0?Eq:dU;break;case g3e:if(k===0||G===0&&(N==f.end&&f.read!==0&&(N=0,G=Nk&&(P=k),P>G&&(P=G),f.win.set(D.read_buf(F,P),N),F+=P,k-=P,N+=P,G-=P,(C-=P)!==0)break;m=Q!==0?Eq:dU;break;case p3e:for(;L<14;){if(k!==0)R=0;else return f.bitb=M,f.bitk=L,D.avail_in=k,D.total_in+=F-D.next_in_index,D.next_in_index=F,f.write=N,f.inflate_flush(D,R);k--,M|=(D.read_byte(F++)&255)<29||(P>>5&31)>29)return m=fF,D.msg="too many length or distance symbols",R=-3,f.bitb=M,f.bitk=L,D.avail_in=k,D.total_in+=F-D.next_in_index,D.next_in_index=F,f.write=N,f.inflate_flush(D,R);if(P=258+(P&31)+(P>>5&31),!y||y.length>>=14,L-=14,x=0,m=m3e;case m3e:for(;x<4+(E>>>10);){for(;L<3;){if(k!==0)R=0;else return f.bitb=M,f.bitk=L,D.avail_in=k,D.total_in+=F-D.next_in_index,D.next_in_index=F,f.write=N,f.inflate_flush(D,R);k--,M|=(D.read_byte(F++)&255)<>>=3,L-=3}for(;x<19;)y[f3e[x++]]=0;if(I[0]=7,P=S.inflate_trees_bits(y,I,v,T,D),P!=0)return R=P,R==-3&&(y=null,m=fF),f.bitb=M,f.bitk=L,D.avail_in=k,D.total_in+=F-D.next_in_index,D.next_in_index=F,f.write=N,f.inflate_flush(D,R);x=0,m=C3e;case C3e:for(;P=E,!(x>=258+(P&31)+(P>>5&31));){let Ae,he;for(P=I[0];L>>=P,L-=P,y[x++]=he;else{for(J=he==18?7:he-14,Ae=he==18?11:3;L>>=P,L-=P,Ae+=M&ky[J],M>>>=J,L-=J,J=x,P=E,J+Ae>258+(P&31)+(P>>5&31)||he==16&&J<1)return y=null,m=fF,D.msg="invalid bit length repeat",R=-3,f.bitb=M,f.bitk=L,D.avail_in=k,D.total_in+=F-D.next_in_index,D.next_in_index=F,f.write=N,f.inflate_flush(D,R);he=he==16?y[J-1]:0;do y[J++]=he;while(--Ae!==0);x=J}}if(v[0]=-1,ie=[],H=[],le=[],ue=[],ie[0]=9,H[0]=6,P=E,P=S.inflate_trees_dynamic(257+(P&31),1+(P>>5&31),y,ie,H,le,ue,T,D),P!=0)return P==-3&&(y=null,m=fF),R=P,f.bitb=M,f.bitk=L,D.avail_in=k,D.total_in+=F-D.next_in_index,D.next_in_index=F,f.write=N,f.inflate_flush(D,R);B.init(ie[0],H[0],T,le[0],T,ue[0]),m=Cq;case Cq:if(f.bitb=M,f.bitk=L,D.avail_in=k,D.total_in+=F-D.next_in_index,D.next_in_index=F,f.write=N,(R=B.proc(f,D,R))!=1)return f.inflate_flush(D,R);if(R=0,B.free(D),F=D.next_in_index,k=D.avail_in,M=f.bitb,L=f.bitk,N=f.write,G=N15?(o.inflateEnd(f),-2):(o.wbits=m,f.istate.blocks=new Qkt(f,1<>4)+8>x.wbits){x.mode=t2,f.msg="invalid win size",x.marker=5;break}x.mode=x3e;case x3e:if(f.avail_in===0)return C;if(C=m,f.avail_in--,f.total_in++,E=f.read_byte(f.next_in_index++)&255,((x.method<<8)+E)%31!==0){x.mode=t2,f.msg="incorrect header check",x.marker=5;break}if(!(E&Skt)){x.mode=sV;break}x.mode=y3e;case y3e:if(f.avail_in===0)return C;C=m,f.avail_in--,f.total_in++,x.need=(f.read_byte(f.next_in_index++)&255)<<24&4278190080,x.mode=I3e;case I3e:if(f.avail_in===0)return C;C=m,f.avail_in--,f.total_in++,x.need+=(f.read_byte(f.next_in_index++)&255)<<16&16711680,x.mode=_3e;case _3e:if(f.avail_in===0)return C;C=m,f.avail_in--,f.total_in++,x.need+=(f.read_byte(f.next_in_index++)&255)<<8&65280,x.mode=v3e;case v3e:return f.avail_in===0?C:(C=m,f.avail_in--,f.total_in++,x.need+=f.read_byte(f.next_in_index++)&255,x.mode=XAe,2);case XAe:return x.mode=t2,f.msg="need dictionary",x.marker=0,-2;case sV:if(C=x.blocks.proc(f,C),C==-3){x.mode=t2,x.marker=0;break}if(C==0&&(C=m),C!=1)return C;C=m,x.blocks.reset(f,x.was),x.mode=B3e;case B3e:return f.avail_in=0,1;case t2:return-3;default:return-2}},o.inflateSetDictionary=function(f,m,C){let E=0,x=C;if(!f||!f.istate||f.istate.mode!=XAe)return-2;let y=f.istate;return x>=1<0&&f.next_in_index!=T&&(I(f.next_in_index),T=f.next_in_index)}while(f.avail_in>0||f.avail_out===0);return v.length>1?(Q=new Uint8Array(S),v.forEach(function(D){Q.set(D,w),w+=D.length})):Q=v[0]||new Uint8Array(0),Q}},A.flush=function(){f.inflateEnd()}}var Lkt=Rkt,Fkt={chunkSize:524288,maxWorkers:typeof navigator<"u"&&navigator.hardwareConcurrency||2,terminateWorkerTimeout:5e3,useWebWorkers:!0,workerScripts:void 0},ax=Object.assign({},Fkt);function RYe(){return ax}function ZEe(o){if(o.baseURL!==void 0&&(ax.baseURL=o.baseURL),o.chunkSize!==void 0&&(ax.chunkSize=o.chunkSize),o.maxWorkers!==void 0&&(ax.maxWorkers=o.maxWorkers),o.terminateWorkerTimeout!==void 0&&(ax.terminateWorkerTimeout=o.terminateWorkerTimeout),o.useWebWorkers!==void 0&&(ax.useWebWorkers=o.useWebWorkers),o.Deflate!==void 0&&(ax.Deflate=o.Deflate),o.Inflate!==void 0&&(ax.Inflate=o.Inflate),o.workerScripts!==void 0){if(o.workerScripts.deflate){if(!Array.isArray(o.workerScripts.deflate))throw new Error("workerScripts.deflate must be an array");ax.workerScripts||(ax.workerScripts={}),ax.workerScripts.deflate=o.workerScripts.deflate}if(o.workerScripts.inflate){if(!Array.isArray(o.workerScripts.inflate))throw new Error("workerScripts.inflate must be an array");ax.workerScripts||(ax.workerScripts={}),ax.workerScripts.inflate=o.workerScripts.inflate}}}var LYe=[];for(let o=0;o<256;o++){let A=o;for(let f=0;f<8;f++)A&1?A=A>>>1^3988292384:A=A>>>1;LYe[o]=A}var Nkt=class{constructor(o){this.crc=o||-1}append(o){let A=this.crc|0;for(let f=0,m=o.length|0;f>>8^LYe[(A^o[f])&255];this.crc=A}get(){return~this.crc}},P9=Nkt,Pfe=kkt;function kkt(o){if(typeof TextEncoder>"u"){o=unescape(encodeURIComponent(o));let A=new Uint8Array(o.length);for(let f=0;f0&&A&&(o[f-1]=tE.partial(A,o[f-1]&2147483648>>A-1,1)),o},partial(o,A,f){return o===32?A:(f?A|0:A<<32-o)+o*1099511627776},getPartial(o){return Math.round(o/1099511627776)||32},_shiftRight(o,A,f,m){for(m===void 0&&(m=[]);A>=32;A-=32)m.push(f),f=0;if(A===0)return m.concat(o);for(let x=0;x>>A),f=o[x]<<32-A;let C=o.length?o[o.length-1]:0,E=tE.getPartial(C);return m.push(tE.partial(A+E&31,A+E>32?f:m.pop(),1)),m}},x$={bytes:{fromBits(o){let A=tE.bitLength(o)/8,f=new Uint8Array(A),m;for(let C=0;C>>24,m<<=8;return f},toBits(o){let A=[],f,m=0;for(f=0;f9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");let E=new Uint32Array(f),x=0;for(let y=A.blockSize+m-(A.blockSize+m&A.blockSize-1);y<=C;y+=A.blockSize)A._block(E.subarray(16*x,16*(x+1))),x+=1;return f.splice(0,16*x),A},finalize:function(){let o=this,A=o._buffer,f=o._h;A=tE.concat(A,[tE.partial(1,1)]);for(let m=A.length+2;m&15;m++)A.push(0);for(A.push(Math.floor(o._length/4294967296)),A.push(o._length|0);A.length;)o._block(A.splice(0,16));return o.reset(),f},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(o,A,f,m){if(o<=19)return A&f|~A&m;if(o<=39)return A^f^m;if(o<=59)return A&f|A&m|f&m;if(o<=79)return A^f^m},_S:function(o,A){return A<>>32-o},_block:function(o){let A=this,f=A._h,m=Array(80);for(let v=0;v<16;v++)m[v]=o[v];let C=f[0],E=f[1],x=f[2],y=f[3],I=f[4];for(let v=0;v<=79;v++){v>=16&&(m[v]=A._S(1,m[v-3]^m[v-8]^m[v-14]^m[v-16]));let B=A._S(5,C)+A._f(v,E,x,y)+I+m[v]+A._key[Math.floor(v/20)]|0;I=y,y=x,x=A._S(30,E),E=C,C=B}f[0]=f[0]+C|0,f[1]=f[1]+E|0,f[2]=f[2]+x|0,f[3]=f[3]+y|0,f[4]=f[4]+I|0}};var FYe={};FYe.aes=class{constructor(o){let A=this;A._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],A._tables[0][0][0]||A._precompute();let f=A._tables[0][4],m=A._tables[1],C=o.length,E,x,y,I=1;if(C!==4&&C!==6&&C!==8)throw new Error("invalid aes key size");for(A._key=[x=o.slice(0),y=[]],E=C;E<4*C+28;E++){let v=x[E-1];(E%C===0||C===8&&E%C===4)&&(v=f[v>>>24]<<24^f[v>>16&255]<<16^f[v>>8&255]<<8^f[v&255],E%C===0&&(v=v<<8^v>>>24^I<<24,I=I<<1^(I>>7)*283)),x[E]=x[E-C]^v}for(let v=0;E;v++,E--){let B=x[v&3?E:E-4];E<=4||v<4?y[v]=B:y[v]=m[0][f[B>>>24]]^m[1][f[B>>16&255]]^m[2][f[B>>8&255]]^m[3][f[B&255]]}}encrypt(o){return this._crypt(o,0)}decrypt(o){return this._crypt(o,1)}_precompute(){let o=this._tables[0],A=this._tables[1],f=o[4],m=A[4],C=[],E=[],x,y,I,v;for(let B=0;B<256;B++)E[(C[B]=B<<1^(B>>7)*283)^B]=B;for(let B=x=0;!f[B];B^=y||1,x=E[x]||1){let Q=x^x<<1^x<<2^x<<3^x<<4;Q=Q>>8^Q&255^99,f[B]=Q,m[Q]=B,v=C[I=C[y=C[B]]];let T=v*16843009^I*65537^y*257^B*16843008,w=C[Q]*257^Q*16843008;for(let S=0;S<4;S++)o[S][B]=w=w<<24^w>>>8,A[S][Q]=T=T<<24^T>>>8}for(let B=0;B<5;B++)o[B]=o[B].slice(0),A[B]=A[B].slice(0)}_crypt(o,A){if(o.length!==4)throw new Error("invalid aes block size");let f=this._key[A],m=f.length/4-2,C=[0,0,0,0],E=this._tables[A],x=E[0],y=E[1],I=E[2],v=E[3],B=E[4],Q=o[0]^f[0],T=o[A?3:1]^f[1],w=o[2]^f[2],S=o[A?1:3]^f[3],D=4,R,P,M;for(let L=0;L>>24]^y[T>>16&255]^I[w>>8&255]^v[S&255]^f[D],P=x[T>>>24]^y[w>>16&255]^I[S>>8&255]^v[Q&255]^f[D+1],M=x[w>>>24]^y[S>>16&255]^I[Q>>8&255]^v[T&255]^f[D+2],S=x[S>>>24]^y[Q>>16&255]^I[T>>8&255]^v[w&255]^f[D+3],D+=4,Q=R,T=P,w=M;for(let L=0;L<4;L++)C[A?3&-L:L]=B[Q>>>24]<<24^B[T>>16&255]<<16^B[w>>8&255]<<8^B[S&255]^f[D++],R=Q,Q=T,T=w,w=S,S=R;return C}};var Okt={getRandomValues(o){let A=new Uint32Array(o.buffer),f=m=>{let C=987654321,E=4294967295;return function(){return C=36969*(C&65535)+(C>>16)&E,m=18e3*(m&65535)+(m>>16)&E,(((C<<16)+m&E)/4294967296+.5)*(Math.random()>.5?1:-1)}};for(let m=0,C;m>24&255)===255){let A=o>>16&255,f=o>>8&255,m=o&255;A===255?(A=0,f===255?(f=0,m===255?m=0:++m):++f):++A,o=0,o+=A<<16,o+=f<<8,o+=m}else o+=1<<24;return o}incCounter(o){(o[0]=this.incWord(o[0]))===0&&(o[1]=this.incWord(o[1]))}calculate(o,A,f){let m;if(!(m=A.length))return[];let C=tE.bitLength(A);for(let E=0;E>5)+1<<2,E,x,y,I,v,B=new ArrayBuffer(C),Q=new DataView(B),T=0,w=tE;for(A=x$.bytes.toBits(A),v=1;T<(C||1);v++){for(E=x=o.encrypt(w.concat(A,[v])),y=1;yC&&(o=f.hash(o));for(let E=0;Eo.length){let f=o;o=new Uint8Array(A),o.set(f,0)}return o}function Wy(o,A,f){return o.subarray(A,f)}var v5=12,$kt=class{constructor(o,A){let f=this;Object.assign(f,{password:o,passwordVerification:A}),WYe(f,o)}append(o){let A=this;if(A.password){let f=w3e(A,o.subarray(0,v5));if(A.password=null,f[v5-1]!=A.passwordVerification)throw new Error(kYe);o=o.subarray(v5)}return w3e(A,o)}flush(){return{valid:!0,data:new Uint8Array(0)}}},eOt=class{constructor(o,A){let f=this;Object.assign(f,{password:o,passwordVerification:A}),WYe(f,o)}append(o){let A=this,f,m;if(A.password){A.password=null;let C=crypto.getRandomValues(new Uint8Array(v5));C[v5-1]=A.passwordVerification,f=new Uint8Array(o.length+C.length),f.set(b3e(A,C),0),m=v5}else f=new Uint8Array(o.length),m=0;return f.set(b3e(A,o),m),f}flush(){return{data:new Uint8Array(0)}}};function w3e(o,A){let f=new Uint8Array(A.length);for(let m=0;m>>24]),o.keys[2]=~o.crcKey2.get()}function jYe(o){let A=o.keys[2]|2;return qYe(Math.imul(A,A^1)>>>8)}function qYe(o){return o&255}function Q3e(o){return o&4294967295}var XYe="deflate",ZYe="inflate",S3e="Invalid signature",tOt=class{constructor(o,{signature:A,password:f,signed:m,compressed:C,zipCrypto:E,passwordVerification:x,encryptionStrength:y},{chunkSize:I}){let v=!!f;Object.assign(this,{signature:A,encrypted:v,signed:m,compressed:C,inflate:C&&new o({chunkSize:I}),crc32:m&&new P9,zipCrypto:E,decrypt:v&&E?new $kt(f,x):new Ykt(f,m,y)})}async append(o){let A=this;return A.encrypted&&o.length&&(o=await A.decrypt.append(o)),A.compressed&&o.length&&(o=await A.inflate.append(o)),(!A.encrypted||A.zipCrypto)&&A.signed&&o.length&&A.crc32.append(o),o}async flush(){let o=this,A,f=new Uint8Array(0);if(o.encrypted){let m=o.decrypt.flush();if(!m.valid)throw new Error(S3e);f=m.data}if((!o.encrypted||o.zipCrypto)&&o.signed){let m=new DataView(new Uint8Array(4).buffer);if(A=o.crc32.get(),m.setUint32(0,A),o.signature!=m.getUint32(0,!1))throw new Error(S3e)}return o.compressed&&(f=await o.inflate.append(f)||new Uint8Array(0),await o.inflate.flush()),{data:f,signature:A}}},iOt=class{constructor(o,{encrypted:A,signed:f,compressed:m,level:C,zipCrypto:E,password:x,passwordVerification:y,encryptionStrength:I},{chunkSize:v}){Object.assign(this,{encrypted:A,signed:f,compressed:m,deflate:m&&new o({level:C||5,chunkSize:v}),crc32:f&&new P9,zipCrypto:E,encrypt:A&&E?new eOt(x,y):new Jkt(x,I)})}async append(o){let A=this,f=o;return A.compressed&&o.length&&(f=await A.deflate.append(o)),A.encrypted&&f.length&&(f=await A.encrypt.append(f)),(!A.encrypted||A.zipCrypto)&&A.signed&&o.length&&A.crc32.append(o),f}async flush(){let o=this,A,f=new Uint8Array(0);if(o.compressed&&(f=await o.deflate.flush()||new Uint8Array(0)),o.encrypted){f=await o.encrypt.append(f);let m=o.encrypt.flush();A=m.signature;let C=new Uint8Array(f.length+m.data.length);C.set(f,0),C.set(m.data,f.length),f=C}return(!o.encrypted||o.zipCrypto)&&o.signed&&(A=o.crc32.get()),{data:f,signature:A}}};function rOt(o,A,f){if(A.codecType.startsWith(XYe))return new iOt(o,A,f);if(A.codecType.startsWith(ZYe))return new tOt(o,A,f)}var D3e="init",T3e="append",ZAe="flush",nOt="message",M3e=!0,$Ae=(o,A,f,m,C,E,x)=>(Object.assign(o,{busy:!0,codecConstructor:A,options:Object.assign({},f),scripts:x,terminate(){o.worker&&!o.busy&&(o.worker.terminate(),o.interface=null)},onTaskFinished(){o.busy=!1,C(o)}}),E?aOt(o,m):oOt(o,m));function oOt(o,A){let f=rOt(o.codecConstructor,o.options,A);return{async append(m){try{return await f.append(m)}catch(C){throw o.onTaskFinished(),C}},async flush(){try{return await f.flush()}finally{o.onTaskFinished()}},abort(){o.onTaskFinished()}}}function aOt(o,A){let f,m={type:"module"};if(!o.interface){if(!M3e)o.worker=C(m,A.baseURL);else try{o.worker=C({},A.baseURL)}catch{M3e=!1,o.worker=C(m,A.baseURL)}o.worker.addEventListener(nOt,y,!1),o.interface={append(I){return E({type:T3e,data:I})},flush(){return E({type:ZAe})},abort(){o.onTaskFinished()}}}return o.interface;function C(I,v){let B,Q;B=o.scripts[0],typeof B=="function"&&(B=B());try{Q=new URL(B,v)}catch{Q=B}return new Worker(Q,I)}async function E(I){if(!f){let v=o.options,B=o.scripts.slice(1);await x({scripts:B,type:D3e,options:v,config:{chunkSize:A.chunkSize}})}return x(I)}function x(I){let v=o.worker,B=new Promise((Q,T)=>f={resolve:Q,reject:T});try{if(I.data)try{I.data=I.data.buffer,v.postMessage(I,[I.data])}catch{v.postMessage(I)}else v.postMessage(I)}catch(Q){f.reject(Q),f=null,o.onTaskFinished()}return B}function y(I){let v=I.data;if(f){let B=v.error,Q=v.type;if(B){let T=new Error(B.message);T.stack=B.stack,f.reject(T),f=null,o.onTaskFinished()}else if(Q==D3e||Q==ZAe||Q==T3e){let T=v.data;Q==ZAe?(f.resolve({data:new Uint8Array(T),signature:v.signature}),f=null,o.onTaskFinished()):f.resolve(T&&new Uint8Array(T))}}}}var gF=[],ece=[];function $Ye(o,A,f){let m=!(!A.compressed&&!A.signed&&!A.encrypted)&&(A.useWebWorkers||A.useWebWorkers===void 0&&f.useWebWorkers),C=m&&f.workerScripts?f.workerScripts[A.codecType]:[];if(gF.length!y.busy);return x?(P3e(x),$Ae(x,o,A,f,E,m,C)):new Promise(y=>ece.push({resolve:y,codecConstructor:o,options:A,webWorker:m,scripts:C}))}function E(x){if(ece.length){let[{resolve:y,codecConstructor:I,options:v,webWorker:B,scripts:Q}]=ece.splice(0,1);y($Ae(x,I,v,f,E,B,Q))}else x.worker?(P3e(x),Number.isFinite(f.terminateWorkerTimeout)&&f.terminateWorkerTimeout>=0&&(x.terminateTimeout=setTimeout(()=>{gF=gF.filter(y=>y!=x),x.terminate()},f.terminateWorkerTimeout))):gF=gF.filter(y=>y!=x)}}function P3e(o){o.terminateTimeout&&(clearTimeout(o.terminateTimeout),o.terminateTimeout=null)}var sOt="Abort error";async function eJe(o,A,f,m,C,E,x){let y=Math.max(E.chunkSize,64);return I();async function I(v=0,B=0){let Q=x.signal,T=C();if(v{o.onload=m=>A(m.target.result),o.onerror=()=>f(o.error),o.readAsText(this.blob,this.encoding)})}}},AOt=class extends ixe{constructor(o){super(),this.data="data:"+(o||"")+";base64,",this.pending=[]}writeUint8Array(o){super.writeUint8Array(o);let A=0,f=this.pending,m=this.pending.length;for(this.pending="",A=0;A2?this.data+=btoa(f):this.pending=f}getData(){return this.data+btoa(this.pending)}},rxe=class extends iJe{constructor(o){super(),this.blob=o,this.size=o.size}async readUint8Array(o,A){if(this.blob.arrayBuffer)return new Uint8Array(await this.blob.slice(o,o+A).arrayBuffer());{let f=new FileReader;return new Promise((m,C)=>{f.onload=E=>m(new Uint8Array(E.target.result)),f.onerror=()=>C(f.error),f.readAsArrayBuffer(this.blob.slice(o,o+A))})}}},rJe=class extends ixe{constructor(o){super(),this.contentType=o,this.arrayBuffersMaxlength=8,L3e(this)}writeUint8Array(o){super.writeUint8Array(o),this.arrayBuffers.length==this.arrayBuffersMaxlength&&F3e(this),this.arrayBuffers.push(o.buffer)}getData(){return this.blob||(this.arrayBuffers.length&&F3e(this),this.blob=this.pendingBlob,L3e(this)),this.blob}};function L3e(o){o.pendingBlob=new Blob([],{type:o.contentType}),o.arrayBuffers=[]}function F3e(o){o.pendingBlob=new Blob([o.pendingBlob,...o.arrayBuffers],{type:o.contentType}),o.arrayBuffers=[]}var BZ="/",N3e=new Date(2107,11,31),k3e=new Date(1980,0,1),cOt="\0\u263A\u263B\u2665\u2666\u2663\u2660\u2022\u25D8\u25CB\u25D9\u2642\u2640\u266A\u266B\u263C\u25BA\u25C4\u2195\u203C\xB6\xA7\u25AC\u21A8\u2191\u2193\u2192\u2190\u221F\u2194\u25B2\u25BC !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0 ".split(""),hOt=o=>{let A="";for(let f=0;f"u"){let f=new FileReader;return new Promise((m,C)=>{f.onload=E=>m(E.target.result),f.onerror=()=>C(f.error),f.readAsText(new Blob([o]))})}else return new TextDecoder(A).decode(o)}var fOt=["filename","rawFilename","directory","encrypted","compressedSize","uncompressedSize","lastModDate","rawLastModDate","comment","rawComment","signature","extraField","rawExtraField","bitFlag","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","filenameUTF8","commentUTF8","offset","zip64","compressionMethod","extraFieldNTFS","lastAccessDate","creationDate","extraFieldExtendedTimestamp","version","versionMadeBy","msDosCompatible","internalFileAttribute","externalFileAttribute"],y$=class{constructor(o){fOt.forEach(A=>this[A]=o[A])}},ice="File format is not recognized",gOt="End of central directory not found",pOt="End of Zip64 central directory not found",mOt="End of Zip64 central directory locator not found",COt="Central directory header not found",EOt="Local file header not found",xOt="Zip64 extra field not found",yOt="File contains encrypted entry",IOt="Encryption method not supported",O3e="Compression method not supported",U3e="utf-8",G3e="cp437",H3e=["uncompressedSize","compressedSize","offset"],_Ot=class{constructor(o,A={}){Object.assign(this,{reader:o,options:A,config:RYe()})}async*getEntriesGenerator(o={}){let A=this,f=A.reader;if(f.initialized||await f.init(),f.size<22)throw new Error(ice);let m=await SOt(f,101010256,f.size,22,65535*16);if(!m)throw new Error(gOt);let C=eC(m),E=Z0(C,12),x=Z0(C,16),y=qy(C,8),I=0;if(x==4294967295||E==4294967295||y==65535){let T=await M2(f,m.offset-20,20),w=eC(T);if(Z0(w,0)!=117853008)throw new Error(pOt);x=wZ(w,8);let S=await M2(f,x,56),D=eC(S),R=m.offset-20-56;if(Z0(D,0)!=101075792&&x!=R){let P=x;x=R,I=x-P,S=await M2(f,x,56),D=eC(S)}if(Z0(D,0)!=101075792)throw new Error(mOt);y=wZ(D,32),E=wZ(D,40),x-=E}if(x<0||x>=f.size)throw new Error(ice);let v=0,B=await M2(f,x,E),Q=eC(B);if(E){let T=m.offset-E;if(Z0(Q,v)!=33639248&&x!=T){let w=x;x=T,I=x-w,B=await M2(f,x,E),Q=eC(B)}}if(x<0||x>=f.size)throw new Error(ice);for(let T=0;Tw.getData(X,K,q),v=F,o.onprogress)try{o.onprogress(T+1,y,new y$(w))}catch{}yield K}return!0}async getEntries(o={}){let A=[],f=this.getEntriesGenerator(o),m=f.next();for(;!(await m).done;)A.push((await m).value),m=f.next();return A}async close(){}},vOt=class{constructor(o,A,f){Object.assign(this,{reader:o,config:A,options:f})}async getData(o,A,f={}){let m=this,{reader:C,offset:E,extraFieldAES:x,compressionMethod:y,config:I,bitFlag:v,signature:B,rawLastModDate:Q,compressedSize:T}=m,w=m.localDirectory={};C.initialized||await C.init();let S=await M2(C,E,30),D=eC(S),R=A5(m,f,"password");if(R=R&&R.length&&R,x&&x.originalCompressionMethod!=99)throw new Error(O3e);if(y!=0&&y!=8)throw new Error(O3e);if(Z0(D,0)!=67324752)throw new Error(EOt);nJe(w,D,4),S=await M2(C,E,30+w.filenameLength+w.extraFieldLength),w.rawExtraField=S.subarray(30+w.filenameLength),await oJe(m,w,D,4),A.lastAccessDate=w.lastAccessDate,A.creationDate=w.creationDate;let P=m.encrypted&&w.encrypted,M=P&&!x;if(P){if(!M&&x.strength===void 0)throw new Error(IOt);if(!R)throw new Error(yOt)}let L=await $Ye(I.Inflate,{codecType:ZYe,password:R,zipCrypto:M,encryptionStrength:x&&x.strength,signed:A5(m,f,"checkSignature"),passwordVerification:M&&(v.dataDescriptor?Q>>>8&255:B>>>24&255),signature:B,compressed:y!=0,encrypted:P,useWebWorkers:A5(m,f,"useWebWorkers")},I);o.initialized||await o.init();let F=A5(m,f,"signal"),k=E+30+w.filenameLength+w.extraFieldLength;return await eJe(L,C,o,k,()=>T,I,{onprogress:f.onprogress,signal:F}),o.getData()}};function nJe(o,A,f){let m=o.rawBitFlag=qy(A,f+2),C=(m&1)==1,E=Z0(A,f+6);Object.assign(o,{encrypted:C,version:qy(A,f),bitFlag:{level:(m&6)>>1,dataDescriptor:(m&8)==8,languageEncodingFlag:(m&2048)==2048},rawLastModDate:E,lastModDate:DOt(E),filenameLength:qy(A,f+22),extraFieldLength:qy(A,f+24)})}async function oJe(o,A,f,m){let C=A.rawExtraField,E=A.extraField=new Map,x=eC(new Uint8Array(C)),y=0;try{for(;yA[C]==4294967295);for(let C=0;C{if(A[C]==4294967295)if(o[C]!==void 0)A[C]=o[C];else throw new Error(xOt)})}async function V3e(o,A,f,m,C){let E=eC(o.data);o.version=B5(E,0),o.signature=Z0(E,1);let x=new P9;x.append(C[f]);let y=eC(new Uint8Array(4));y.setUint32(0,x.get(),!0),o[A]=await Lfe(o.data.subarray(5)),o.valid=!C.bitFlag.languageEncodingFlag&&o.signature==Z0(y,0),o.valid&&(m[A]=o[A],m[A+"UTF8"]=!0)}function wOt(o,A,f){let m=eC(o.data);o.vendorVersion=B5(m,0),o.vendorId=B5(m,2);let C=B5(m,4);o.strength=C,o.originalCompressionMethod=f,A.compressionMethod=o.compressionMethod=qy(m,5)}function bOt(o,A){let f=eC(o.data),m=4,C;try{for(;m{if(o.data.length>=x+4){let v=Z0(f,x);A[y]=o[y]=new Date(v*1e3);let B=E[I];o[B]=v}x+=4})}async function SOt(o,A,f,m,C){let E=new Uint8Array(4),x=eC(E);TOt(x,0,A);let y=m+C;return await I(m)||await I(Math.min(y,f));async function I(v){let B=f-v,Q=await M2(o,B,v);for(let T=Q.length-m;T>=0;T--)if(Q[T]==E[0]&&Q[T+1]==E[1]&&Q[T+2]==E[2]&&Q[T+3]==E[3])return{offset:B+T,buffer:Q.slice(T,T+m).buffer}}}function A5(o,A,f){return A[f]===void 0?o.options[f]:A[f]}function DOt(o){let A=(o&4294901760)>>16,f=o&65535;try{return new Date(1980+((A&65024)>>9),((A&480)>>5)-1,A&31,(f&63488)>>11,(f&2016)>>5,(f&31)*2,0)}catch{}}function rce(o){return new Date(Number(o/BigInt(1e4)-BigInt(116444736e5)))}function B5(o,A){return o.getUint8(A)}function qy(o,A){return o.getUint16(A,!0)}function Z0(o,A){return o.getUint32(A,!0)}function wZ(o,A){return Number(o.getBigUint64(A,!0))}function TOt(o,A,f){o.setUint32(A,f,!0)}function eC(o){return new DataView(o.buffer)}function M2(o,A,f){return o.readUint8Array(A,f)}var MOt="File already exists",POt="Zip file comment exceeds 64KB",ROt="File entry comment exceeds 64KB",LOt="File entry name exceeds 64KB",z3e="Version exceeds 65535",FOt="The strength must equal 1, 2, or 3",NOt="Extra field type exceeds 65535",kOt="Extra field data exceeds 64KB",nxe="Zip64 is not supported",Y3e=new Uint8Array([7,0,2,0,65,69,3,0,0]),J3e=24,nce=0,OOt=class{constructor(o,A={}){Object.assign(this,{writer:o,options:A,config:RYe(),files:new Map,offset:o.size,pendingCompressedSize:0,pendingEntries:[],pendingAddFileCalls:new Set})}async add(o="",A,f={}){let m=this;if(ncem.pendingEntries.push({name:o,reader:A,options:f,resolve:C,reject:E}))}async close(o=new Uint8Array(0),A={}){for(;this.pendingAddFileCalls.size;)await Promise.all(Array.from(this.pendingAddFileCalls));return await VOt(this,o,A),this.writer.getData()}};async function UOt(o,A,f,m){if(A=A.trim(),m.directory&&!A.endsWith(BZ)?A+=BZ:m.directory=A.endsWith(BZ),o.files.has(A))throw new Error(MOt);let C=Pfe(A);if(C.length>65535)throw new Error(LOt);let E=m.comment||"",x=Pfe(E);if(x.length>65535)throw new Error(ROt);let y=o.options.version||m.version||0;if(y>65535)throw new Error(z3e);let I=o.options.versionMadeBy||m.versionMadeBy||20;if(I>65535)throw new Error(z3e);let v=Hp(o,m,"lastModDate")||new Date,B=Hp(o,m,"lastAccessDate"),Q=Hp(o,m,"creationDate"),T=Hp(o,m,"password"),w=Hp(o,m,"encryptionStrength")||3,S=Hp(o,m,"zipCrypto");if(T!==void 0&&w!==void 0&&(w<1||w>3))throw new Error(FOt);let D=new Uint8Array(0),R=m.extraField;if(R){let ue=0,Ae=0;R.forEach(he=>ue+=4+he.length),D=new Uint8Array(ue),R.forEach((he,ge)=>{if(ge>65535)throw new Error(NOt);if(he.length>65535)throw new Error(kOt);$0(D,new Uint16Array([ge]),Ae),$0(D,new Uint16Array([he.length]),Ae+2),$0(D,he,Ae+4),Ae+=4+he.length})}let P=Hp(o,m,"extendedTimestamp");P===void 0&&(P=!0);let M=0,L=Hp(o,m,"keepOrder");L===void 0&&(L=!0);let F=0,k=Hp(o,m,"msDosCompatible");k===void 0&&(k=!0);let N=Hp(o,m,"internalFileAttribute")||0,G=Hp(o,m,"externalFileAttribute")||0;f&&(f.initialized||await f.init(),F=f.size,M=YOt(F));let J=m.zip64||o.options.zip64||!1;if(o.offset+o.pendingCompressedSize>=4294967295||F>=4294967295||M>=4294967295){if(m.zip64===!1||o.options.zip64===!1||!L)throw new Error(nxe);J=!0}o.pendingCompressedSize+=M,await Promise.resolve();let K=Hp(o,m,"level"),X=Hp(o,m,"useWebWorkers"),q=Hp(o,m,"bufferedWrite"),ee=Hp(o,m,"dataDescriptor"),ie=Hp(o,m,"dataDescriptorSignature"),H=Hp(o,m,"signal");ee===void 0&&(ee=!0),ee&&ie===void 0&&(ie=!1);let le=await GOt(o,A,f,Object.assign({},m,{rawFilename:C,rawComment:x,version:y,versionMadeBy:I,lastModDate:v,lastAccessDate:B,creationDate:Q,rawExtraField:D,zip64:J,password:T,level:K,useWebWorkers:X,encryptionStrength:w,extendedTimestamp:P,zipCrypto:S,bufferedWrite:q,keepOrder:L,dataDescriptor:ee,dataDescriptorSignature:ie,signal:H,msDosCompatible:k,internalFileAttribute:N,externalFileAttribute:G}));return M&&(o.pendingCompressedSize-=M),Object.assign(le,{name:A,comment:E,extraField:R}),new y$(le)}async function GOt(o,A,f,m){let C=o.files,E=o.writer,x=Array.from(C.values()).pop(),y={},I,v,B;C.set(A,y);try{let Q,T,w;if(m.keepOrder&&(Q=x&&x.lock),y.lock=w=new Promise(S=>B=S),m.bufferedWrite||o.lockWrite||!m.dataDescriptor?(T=new rJe,T.init(),I=!0):(o.lockWrite=new Promise(S=>v=S),E.initialized||await E.init(),T=E),y=await HOt(f,T,o.config,m),y.lock=w,C.set(A,y),y.filename=A,I){let S=0,D=T.getData();await Promise.all([o.lockWrite,Q]);let R;do R=Array.from(C.values()).find(P=>P.writingBufferedData),R&&await R.lock;while(R&&R.lock);if(y.writingBufferedData=!0,!m.dataDescriptor){let P=await aJe(D,0,26),M=new DataView(P);(!y.encrypted||m.zipCrypto)&&QA(M,14,y.signature),y.zip64?(QA(M,18,4294967295),QA(M,22,4294967295)):(QA(M,18,y.compressedSize),QA(M,22,y.uncompressedSize)),await E.writeUint8Array(new Uint8Array(P)),S=26}await zOt(E,D,S),delete y.writingBufferedData}if(y.offset=o.offset,y.zip64){let S=HB(y.rawExtraFieldZip64);fx(S,20,BigInt(y.offset))}else if(y.offset>=4294967295)throw new Error(nxe);return o.offset+=y.length,y}catch(Q){throw(I&&y.writingBufferedData||!I&&y.dataWritten)&&(Q.corruptedEntry=o.hasCorruptedEntries=!0,y.uncompressedSize&&(o.offset+=y.uncompressedSize)),C.delete(A),Q}finally{B(),v&&v()}}async function HOt(o,A,f,m){let{rawFilename:C,lastAccessDate:E,creationDate:x,password:y,level:I,zip64:v,zipCrypto:B,dataDescriptor:Q,dataDescriptorSignature:T,directory:w,version:S,versionMadeBy:D,rawComment:R,rawExtraField:P,useWebWorkers:M,onprogress:L,signal:F,encryptionStrength:k,extendedTimestamp:N,msDosCompatible:G,internalFileAttribute:J,externalFileAttribute:K}=m,X=!!(y&&y.length),q=I!==0&&!w,ee;if(X&&!B){ee=new Uint8Array(Y3e.length+2);let Ge=HB(ee);Ch(Ge,0,39169),$0(ee,Y3e,2),I$(Ge,8,k)}else ee=new Uint8Array(0);let ie,H;if(N){H=new Uint8Array(9+(E?4:0)+(x?4:0));let Ge=HB(H);Ch(Ge,0,21589),Ch(Ge,2,H.length-4);let ke=1+(E?2:0)+(x?4:0);I$(Ge,4,ke),QA(Ge,5,Math.floor(m.lastModDate.getTime()/1e3)),E&&QA(Ge,9,Math.floor(E.getTime()/1e3)),x&&QA(Ge,13,Math.floor(x.getTime()/1e3));try{ie=new Uint8Array(36);let Oe=HB(ie),Le=oce(m.lastModDate);Ch(Oe,0,10),Ch(Oe,2,32),Ch(Oe,8,1),Ch(Oe,10,24),fx(Oe,12,Le),fx(Oe,20,oce(E)||Le),fx(Oe,28,oce(x)||Le)}catch{ie=new Uint8Array(0)}}else ie=H=new Uint8Array(0);let le={version:S||20,versionMadeBy:D,zip64:v,directory:!!w,filenameUTF8:!0,rawFilename:C,commentUTF8:!0,rawComment:R,rawExtraFieldZip64:v?new Uint8Array(J3e+4):new Uint8Array(0),rawExtraFieldExtendedTimestamp:H,rawExtraFieldNTFS:ie,rawExtraFieldAES:ee,rawExtraField:P,extendedTimestamp:N,msDosCompatible:G,internalFileAttribute:J,externalFileAttribute:K},ue=le.uncompressedSize=0,Ae=2048;Q&&(Ae=Ae|8);let he=0;q&&(he=8),v&&(le.version=le.version>45?le.version:45),X&&(Ae=Ae|1,B||(le.version=le.version>51?le.version:51,he=99,q&&(le.rawExtraFieldAES[9]=8))),le.compressionMethod=he;let ge=le.headerArray=new Uint8Array(26),fe=HB(ge);Ch(fe,0,le.version),Ch(fe,2,Ae),Ch(fe,4,he);let ae=new Uint32Array(1),U=HB(ae),W;m.lastModDateN3e?W=N3e:W=m.lastModDate,Ch(U,0,(W.getHours()<<6|W.getMinutes())<<5|W.getSeconds()/2),Ch(U,2,(W.getFullYear()-1980<<4|W.getMonth()+1)<<5|W.getDate());let Y=ae[0];QA(fe,6,Y),Ch(fe,22,C.length);let z=ee.length+H.length+ie.length+le.rawExtraField.length;Ch(fe,24,z);let re=new Uint8Array(30+C.length+z),se=HB(re);QA(se,0,67324752),$0(re,ge,4),$0(re,C,30),$0(re,ee,30+C.length),$0(re,H,30+C.length+ee.length),$0(re,ie,30+C.length+ee.length+H.length),$0(re,le.rawExtraField,30+C.length+ee.length+H.length+ie.length);let de,me=0;if(o){let Ge=await $Ye(f.Deflate,{codecType:XYe,level:I,password:y,encryptionStrength:k,zipCrypto:X&&B,passwordVerification:X&&B&&Y>>8&255,signed:!0,compressed:q,encrypted:X,useWebWorkers:M},f);await A.writeUint8Array(re),le.dataWritten=!0,de=await eJe(Ge,o,A,0,()=>o.size,f,{onprogress:L,signal:F}),ue=le.uncompressedSize=o.size,me=de.length}else await A.writeUint8Array(re),le.dataWritten=!0;let Ce=new Uint8Array(0),Ie,we=0;if(Q&&(Ce=new Uint8Array(v?T?24:20:T?16:12),Ie=HB(Ce),T&&(we=4,QA(Ie,0,134695760))),o){let Ge=de.signature;if((!X||B)&&Ge!==void 0&&(QA(fe,10,Ge),le.signature=Ge,Q&&QA(Ie,we,Ge)),v){let ke=HB(le.rawExtraFieldZip64);Ch(ke,0,1),Ch(ke,2,J3e),QA(fe,14,4294967295),fx(ke,12,BigInt(me)),QA(fe,18,4294967295),fx(ke,4,BigInt(ue)),Q&&(fx(Ie,we+4,BigInt(me)),fx(Ie,we+12,BigInt(ue)))}else QA(fe,14,me),QA(fe,18,ue),Q&&(QA(Ie,we+4,me),QA(Ie,we+8,ue))}Q&&await A.writeUint8Array(Ce);let Te=re.length+me+Ce.length;return Object.assign(le,{compressedSize:me,lastModDate:W,rawLastModDate:Y,creationDate:x,lastAccessDate:E,encrypted:X,length:Te}),le}async function VOt(o,A,f){let m=o.writer,C=o.files,E=0,x=0,y=o.offset,I=C.size;for(let[,T]of C)x+=46+T.rawFilename.length+T.rawComment.length+T.rawExtraFieldZip64.length+T.rawExtraFieldAES.length+T.rawExtraFieldExtendedTimestamp.length+T.rawExtraFieldNTFS.length+T.rawExtraField.length;let v=f.zip64||o.options.zip64||!1;if(y>=4294967295||x>=4294967295||I>=65535){if(f.zip64===!1||o.options.zip64===!1)throw new Error(nxe);v=!0}let B=new Uint8Array(x+(v?98:22)),Q=HB(B);if(A&&A.length)if(A.length<=65535)Ch(Q,E+20,A.length);else throw new Error(POt);for(let[T,w]of Array.from(C.values()).entries()){let{rawFilename:S,rawExtraFieldZip64:D,rawExtraFieldAES:R,rawExtraField:P,rawComment:M,versionMadeBy:L,headerArray:F,directory:k,zip64:N,msDosCompatible:G,internalFileAttribute:J,externalFileAttribute:K}=w,X,q;if(w.extendedTimestamp){q=w.rawExtraFieldNTFS,X=new Uint8Array(9);let ie=HB(X);Ch(ie,0,21589),Ch(ie,2,X.length-4),I$(ie,4,1),QA(ie,5,Math.floor(w.lastModDate.getTime()/1e3))}else q=X=new Uint8Array(0);let ee=D.length+R.length+X.length+q.length+P.length;if(QA(Q,E,33639248),Ch(Q,E+4,L),$0(B,F,E+6),Ch(Q,E+30,ee),Ch(Q,E+32,M.length),QA(Q,E+34,J),K?QA(Q,E+38,K):k&&G&&I$(Q,E+38,16),N?QA(Q,E+42,4294967295):QA(Q,E+42,w.offset),$0(B,S,E+46),$0(B,D,E+46+S.length),$0(B,R,E+46+S.length+D.length),$0(B,X,E+46+S.length+D.length+R.length),$0(B,q,E+46+S.length+D.length+R.length+X.length),$0(B,P,E+46+S.length+D.length+R.length+X.length+q.length),$0(B,M,E+46+S.length+ee),E+=46+S.length+ee+M.length,f.onprogress)try{f.onprogress(T+1,C.size,new y$(w))}catch{}}v&&(QA(Q,E,101075792),fx(Q,E+4,BigInt(44)),Ch(Q,E+12,45),Ch(Q,E+14,45),fx(Q,E+24,BigInt(I)),fx(Q,E+32,BigInt(I)),fx(Q,E+40,BigInt(x)),fx(Q,E+48,BigInt(y)),QA(Q,E+56,117853008),fx(Q,E+64,BigInt(y)+BigInt(x)),QA(Q,E+72,1),I=65535,y=4294967295,x=4294967295,E+=76),QA(Q,E,101010256),Ch(Q,E+8,I),Ch(Q,E+10,I),QA(Q,E+12,x),QA(Q,E+16,y),await m.writeUint8Array(B),A&&A.length&&await m.writeUint8Array(A)}function aJe(o,A,f){if(o.arrayBuffer)return A||f?o.slice(A,f).arrayBuffer():o.arrayBuffer();{let m=new FileReader;return new Promise((C,E)=>{m.onload=x=>C(x.target.result),m.onerror=()=>E(m.error),m.readAsArrayBuffer(A||f?o.slice(A,f):o)})}}async function zOt(o,A,f=0){await m();async function m(){if(f=0&&E._activeEntries.splice(x,1)}),C(o,A,f)}}else O(f)&&f(!1)}function qOt(o,A,f,m){let C=this.playlist[this.playlistIndex];if(this.entryEnd.raiseEvent(C,m),m)f(m);else{let E=this._activeEntries.indexOf(C);E>=0&&this._activeEntries.splice(E,1),this.playlistIndex++,lJe.call(this,o,A,f)}}var uxe=lie,Mu={Linear:{None:function(o){return o}},Quadratic:{In:function(o){return o*o},Out:function(o){return o*(2-o)},InOut:function(o){return(o*=2)<1?.5*o*o:-.5*(--o*(o-2)-1)}},Cubic:{In:function(o){return o*o*o},Out:function(o){return--o*o*o+1},InOut:function(o){return(o*=2)<1?.5*o*o*o:.5*((o-=2)*o*o+2)}},Quartic:{In:function(o){return o*o*o*o},Out:function(o){return 1- --o*o*o*o},InOut:function(o){return(o*=2)<1?.5*o*o*o*o:-.5*((o-=2)*o*o*o-2)}},Quintic:{In:function(o){return o*o*o*o*o},Out:function(o){return--o*o*o*o*o+1},InOut:function(o){return(o*=2)<1?.5*o*o*o*o*o:.5*((o-=2)*o*o*o*o+2)}},Sinusoidal:{In:function(o){return 1-Math.cos(o*Math.PI/2)},Out:function(o){return Math.sin(o*Math.PI/2)},InOut:function(o){return .5*(1-Math.cos(Math.PI*o))}},Exponential:{In:function(o){return o===0?0:Math.pow(1024,o-1)},Out:function(o){return o===1?1:1-Math.pow(2,-10*o)},InOut:function(o){return o===0?0:o===1?1:(o*=2)<1?.5*Math.pow(1024,o-1):.5*(-Math.pow(2,-10*(o-1))+2)}},Circular:{In:function(o){return 1-Math.sqrt(1-o*o)},Out:function(o){return Math.sqrt(1- --o*o)},InOut:function(o){return(o*=2)<1?-.5*(Math.sqrt(1-o*o)-1):.5*(Math.sqrt(1-(o-=2)*o)+1)}},Elastic:{In:function(o){return o===0?0:o===1?1:-Math.pow(2,10*(o-1))*Math.sin((o-1.1)*5*Math.PI)},Out:function(o){return o===0?0:o===1?1:Math.pow(2,-10*o)*Math.sin((o-.1)*5*Math.PI)+1},InOut:function(o){return o===0?0:o===1?1:(o*=2,o<1?-.5*Math.pow(2,10*(o-1))*Math.sin((o-1.1)*5*Math.PI):.5*Math.pow(2,-10*(o-1))*Math.sin((o-1.1)*5*Math.PI)+1)}},Back:{In:function(o){var A=1.70158;return o*o*((A+1)*o-A)},Out:function(o){var A=1.70158;return--o*o*((A+1)*o+A)+1},InOut:function(o){var A=2.5949095;return(o*=2)<1?.5*(o*o*((A+1)*o-A)):.5*((o-=2)*o*((A+1)*o+A)+2)}},Bounce:{In:function(o){return 1-Mu.Bounce.Out(1-o)},Out:function(o){return o<.36363636363636365?7.5625*o*o:o<.7272727272727273?7.5625*(o-=.5454545454545454)*o+.75:o<.9090909090909091?7.5625*(o-=.8181818181818182)*o+.9375:7.5625*(o-=.9545454545454546)*o+.984375},InOut:function(o){return o<.5?Mu.Bounce.In(o*2)*.5:Mu.Bounce.Out(o*2-1)*.5+.5}}},ZV;typeof self>"u"&&typeof process<"u"&&process.hrtime?ZV=function(){var o=process.hrtime();return o[0]*1e3+o[1]/1e6}:typeof self<"u"&&self.performance!==void 0&&self.performance.now!==void 0?ZV=self.performance.now.bind(self.performance):Date.now!==void 0?ZV=Date.now:ZV=function(){return new Date().getTime()};var YU=ZV,XOt=function(){function o(){this._tweens={},this._tweensAddedDuringUpdate={}}return o.prototype.getAll=function(){var A=this;return Object.keys(this._tweens).map(function(f){return A._tweens[f]})},o.prototype.removeAll=function(){this._tweens={}},o.prototype.add=function(A){this._tweens[A.getId()]=A,this._tweensAddedDuringUpdate[A.getId()]=A},o.prototype.remove=function(A){delete this._tweens[A.getId()],delete this._tweensAddedDuringUpdate[A.getId()]},o.prototype.update=function(A,f){A===void 0&&(A=YU()),f===void 0&&(f=!1);var m=Object.keys(this._tweens);if(m.length===0)return!1;for(;m.length>0;){this._tweensAddedDuringUpdate={};for(var C=0;C1?E(o[f],o[f-1],f-m):E(o[C],o[C+1>f?f:C+1],m-C)},Bezier:function(o,A){for(var f=0,m=o.length-1,C=Math.pow,E=$V.Utils.Bernstein,x=0;x<=m;x++)f+=C(1-A,m-x)*C(A,x)*o[x]*E(m,x);return f},CatmullRom:function(o,A){var f=o.length-1,m=f*A,C=Math.floor(m),E=$V.Utils.CatmullRom;return o[0]===o[f]?(A<0&&(C=Math.floor(m=f*(1+A))),E(o[(C-1+f)%f],o[C],o[(C+1)%f],o[(C+2)%f],m-C)):A<0?o[0]-(E(o[0],o[0],o[1],o[1],-m)-o[0]):A>1?o[f]-(E(o[f],o[f],o[f-1],o[f-1],m-f)-o[f]):E(o[C?C-1:0],o[C],o[f1;m--)f*=m;return o[A]=f,f}}(),CatmullRom:function(o,A,f,m,C){var E=(f-o)*.5,x=(m-A)*.5,y=C*C,I=C*y;return(2*A-2*f+E+x)*I+(-3*A+3*f-2*E-x)*y+E*C+A}}},uJe=function(){function o(){}return o.nextId=function(){return o._nextId++},o._nextId=0,o}(),AJe=new XOt,ZOt=function(){function o(A,f){f===void 0&&(f=AJe),this._object=A,this._group=f,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=Mu.Linear.None,this._interpolationFunction=$V.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._id=uJe.nextId(),this._isChainStopped=!1,this._goToEnd=!1}return o.prototype.getId=function(){return this._id},o.prototype.isPlaying=function(){return this._isPlaying},o.prototype.isPaused=function(){return this._isPaused},o.prototype.to=function(A,f){return this._valuesEnd=Object.create(A),f!==void 0&&(this._duration=f),this},o.prototype.duration=function(A){return this._duration=A,this},o.prototype.start=function(A){if(this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var f in this._valuesStartRepeat)this._swapEndStartRepeatValues(f),this._valuesStart[f]=this._valuesStartRepeat[f]}return this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=A!==void 0?typeof A=="string"?YU()+parseFloat(A):A:YU(),this._startTime+=this._delayTime,this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat),this},o.prototype._setupProperties=function(A,f,m,C){for(var E in m){var x=A[E],y=Array.isArray(x),I=y?"array":typeof x,v=!y&&Array.isArray(m[E]);if(!(I==="undefined"||I==="function")){if(v){var B=m[E];if(B.length===0)continue;B=B.map(this._handleRelativeValue.bind(this,x)),m[E]=[x].concat(B)}if((I==="object"||y)&&x&&!v){f[E]=y?[]:{};for(var Q in x)f[E][Q]=x[Q];C[E]=y?[]:{},this._setupProperties(x,f[E],m[E],C[E])}else typeof f[E]>"u"&&(f[E]=x),y||(f[E]*=1),v?C[E]=m[E].slice().reverse():C[E]=f[E]||0}}},o.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._group&&this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},o.prototype.end=function(){return this._goToEnd=!0,this.update(1/0),this},o.prototype.pause=function(A){return A===void 0&&(A=YU()),this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=A,this._group&&this._group.remove(this),this)},o.prototype.resume=function(A){return A===void 0&&(A=YU()),!this._isPaused||!this._isPlaying?this:(this._isPaused=!1,this._startTime+=A-this._pauseStart,this._pauseStart=0,this._group&&this._group.add(this),this)},o.prototype.stopChainedTweens=function(){for(var A=0,f=this._chainedTweens.length;AE)return!1;f&&this.start(A)}if(this._goToEnd=!1,A1?1:C;var x=this._easingFunction(C);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,x),this._onUpdateCallback&&this._onUpdateCallback(this._object,C),C===1)if(this._repeat>0){isFinite(this._repeat)&&this._repeat--;for(m in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[m]=="string"&&(this._valuesStartRepeat[m]=this._valuesStartRepeat[m]+parseFloat(this._valuesEnd[m])),this._yoyo&&this._swapEndStartRepeatValues(m),this._valuesStart[m]=this._valuesStartRepeat[m];return this._yoyo&&(this._reversed=!this._reversed),this._repeatDelayTime!==void 0?this._startTime=A+this._repeatDelayTime:this._startTime=A+this._delayTime,this._onRepeatCallback&&this._onRepeatCallback(this._object),!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var y=0,I=this._chainedTweens.length;y=A;m--)o[m]=o[y--]}for(m=0;m=0||O(Q)&&Zt.compare(B,Q)>=0));){for(ace[T++]=B,E=E+1,x=0;x0&&(sce.length=w,W3e(f,v,sce),ace.length=T,W3e(A,I,ace))}else{for(x=0;xC)return;if(this._backwardExtrapolationType===cb.HOLD)return E.unpack(x,0,A)}if(y>=m){y=m-1;let L=f[y];if(C=this._forwardExtrapolationDuration,this._forwardExtrapolationType===cb.NONE||C!==0&&Zt.secondsDifference(o,L)>C)return;if(this._forwardExtrapolationType===cb.HOLD)return y=m-1,E.unpack(x,y*E.packedLength,A)}let I=this._xTable,v=this._yTable,B=this._interpolationAlgorithm,Q=this._packedInterpolationLength,T=this._inputOrder;if(this._updateTableLength){this._updateTableLength=!1;let L=Math.min(B.getRequiredDataPoints(this._interpolationDegree,T),m);L!==this._numberOfPoints&&(this._numberOfPoints=L,I.length=L,v.length=L*Q)}let w=this._numberOfPoints-1;if(w<1)return;let S=0,D=m-1;if(D-S+1>=w+1){let L=y-(w/2|0)-1;LD&&(F=D,L=F-w,L0){f=new Array(A);for(let m=0;mthis._started+this._timeThreshold)){this._giveUpTime();return}m=this._nextNode()}this._pop()&&o&&this._process(!0)};function rUt(o){let A=o.slice(0,Math.min(4,o.size)),f=Mc(),m=new FileReader;return m.addEventListener("load",function(){f.resolve(new DataView(m.result).getUint32(0,!1)===1347093252)}),m.addEventListener("error",function(){f.reject(m.error)}),m.readAsArrayBuffer(A),f.promise}function nUt(o){let A=Mc(),f=new FileReader;return f.addEventListener("load",function(){A.resolve(f.result)}),f.addEventListener("error",function(){A.reject(f.error)}),f.readAsText(o),A.promise}function dJe(o){let A={xsi:"http://www.w3.org/2001/XMLSchema-instance"},f,m,C,E;for(let x in A)A.hasOwnProperty(x)&&(C=RegExp(`[< ]${x}:`),E=`xmlns:${x}=`,C.test(o)&&o.indexOf(E)===-1&&(O(f)||(f=o.substr(0,o.indexOf("",A),m,C,E;for(;A!==-1&&A0?(rx.maximumRed=E,rx.red=void 0):(rx.maximumRed=void 0,rx.red=0),C>0?(rx.maximumGreen=C,rx.green=void 0):(rx.maximumGreen=void 0,rx.green=0),m>0?(rx.maximumBlue=m,rx.blue=void 0):(rx.maximumBlue=void 0,rx.blue=0),rx.alpha=f,Ve.fromRandom(rx)):new Ve(E,C,m,f)}function JF(o,A,f){let m=es(o,A,f);if(O(m))return Ffe(m,es(o,"colorMode",f)==="random")}function aUt(o){let A=Au(o,"TimeStamp",pr.kmlgx),f=es(A,"when",pr.kmlgx);if(!O(A)||!O(f)||f.length===0)return;let m=Zt.fromIso8601(f),C=new lC;return C.addInterval(new ws({start:m,stop:un.MAXIMUM_VALUE})),C}function sUt(o){let A=Au(o,"TimeSpan",pr.kmlgx);if(!O(A))return;let f,m=Au(A,"begin",pr.kmlgx),C=O(m)?Zt.fromIso8601(m.textContent):void 0,E=Au(A,"end",pr.kmlgx),x=O(E)?Zt.fromIso8601(E.textContent):void 0;if(O(C)&&O(x)){if(Zt.lessThan(x,C)){let y=C;C=x,x=y}f=new lC,f.addInterval(new ws({start:C,stop:x}))}else O(C)?(f=new lC,f.addInterval(new ws({start:C,stop:un.MAXIMUM_VALUE}))):O(x)&&(f=new lC,f.addInterval(new ws({start:un.MINIMUM_VALUE,stop:x})));return f}function pJe(){let o=new ZD;return o.width=w2,o.height=w2,o.scaleByDistance=new Eo(q3e,X3e,Z3e,$3e),o.pixelOffsetScaleByDistance=new Eo(q3e,X3e,Z3e,$3e),o}function mxe(){let o=new ks;return o.outline=!0,o.outlineColor=Ve.WHITE,o}function mJe(){let o=new fG;return o.translucencyByDistance=new Eo(3e6,1,5e6,0),o.pixelOffset=new rt(17,0),o.horizontalOrigin=Ru.LEFT,o.font="16px sans-serif",o.style=Pu.FILL_AND_OUTLINE,o}function Cxe(o,A,f,m,C){let E=es(o,"href",pr.kml);if(!O(E)||E.length===0)return;if(E.indexOf("root://icons/palette-")===0){let y=E.charAt(21),I=oe(pl(o,"x",pr.gx),0),v=oe(pl(o,"y",pr.gx),0);I=Math.min(I/32,7),v=7-Math.min(v/32,7);let B=8*v+I;E=`https://maps.google.com/mapfiles/kml/pal${y}/icon${B}.png`}let x=pxe(E,f,m);if(C){let y=es(o,"refreshMode",pr.kml),I=es(o,"viewRefreshMode",pr.kml);y==="onInterval"||y==="onExpire"?$o(`kml-refreshMode-${y}`,`KML - Unsupported Icon refreshMode: ${y}`):(I==="onStop"||I==="onRegion")&&$o(`kml-refreshMode-${I}`,`KML - Unsupported Icon viewRefreshMode: ${I}`);let v=oe(es(o,"viewBoundScale",pr.kml),1),B=I==="onStop"?"BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]":"",Q=oe(es(o,"viewFormat",pr.kml),B),T=es(o,"httpQuery",pr.kml);O(Q)&&x.setQueryParameters(fb(B$(Q))),O(T)&&x.setQueryParameters(fb(B$(T)));let w=A._ellipsoid;return xxe(x,A.camera,A.canvas,v,A._lastCameraView.bbox,w),x}return x}function lUt(o,A,f,m,C){let E=pl(A,"scale",pr.kml),x=pl(A,"heading",pr.kml),y=JF(A,"color",pr.kml),I=Au(A,"Icon",pr.kml),v=Cxe(I,o,m,C,!1);O(I)&&!O(v)&&(v=!1);let B=pl(I,"x",pr.gx),Q=pl(I,"y",pr.gx),T=pl(I,"w",pr.gx),w=pl(I,"h",pr.gx),S=Au(A,"hotSpot",pr.kml),D=b2(S,"x"),R=b2(S,"y"),P=Qg(S,"xunits"),M=Qg(S,"yunits"),L=f.billboard;O(L)||(L=pJe(),f.billboard=L),L.image=v,L.scale=E,L.color=y,(O(B)||O(Q)||O(T)||O(w))&&(L.imageSubRegion=new vr(B,Q,T,w)),O(x)&&x!==0&&(L.rotation=Be.toRadians(-x),L.alignedAxis=Z.UNIT_Z),E=oe(E,1);let F,k;O(D)&&(P==="pixels"?F=-D*E:P==="insetPixels"?F=(D-w2)*E:P==="fraction"&&(F=-D*w2*E),F+=w2*.5*E),O(R)&&(M==="pixels"?k=R*E:M==="insetPixels"?k=(-R+w2)*E:M==="fraction"&&(k=R*w2*E),k-=w2*.5*E),(O(F)||O(k))&&(L.pixelOffset=new rt(F,k))}function v$(o,A,f,m,C){for(let E=0,x=A.childNodes.length;E:clampToSeaFloor is currently not supported, using :clampToGround."),An.CLAMP_TO_GROUND):A==="relativeToSeaFloor"?($o("kml-gx:altitudeMode-relativeToSeaFloor","KML - :relativeToSeaFloor is currently not supported, using :relativeToGround."),An.RELATIVE_TO_GROUND):(O(o)?$o("kml-altitudeMode-unknown",`KML - Unknown :${o}, using :CLAMP_TO_GROUND.`):$o("kml-gx:altitudeMode-unknown",`KML - Unknown :${A}, using :CLAMP_TO_GROUND.`),An.CLAMP_TO_GROUND)}function cUt(o,A,f){return f==="relativeToSeaFloor"||A==="absolute"||A==="relativeToGround"?o:((O(A)&&A!=="clampToGround"||O(f)&&f!=="clampToSeaFloor")&&$o("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${oe(A,f)}`),new CG(o))}function hUt(o,A,f,m){if(!O(o))return;if(f==="relativeToSeaFloor"||A==="absolute"||A==="relativeToGround")return o;(O(A)&&A!=="clampToGround"||O(f)&&f!=="clampToSeaFloor")&&$o("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${oe(A,f)}`);let C=o.length;for(let E=0;E0&&$o("kml-gx:angles","KML - gx:angles are not supported in gx:Tracks");let w=Math.min(y.length,v.length),S=[],D=[];for(let P=0;P0&&m.availability.addInterval(new ws({start:D[0],stop:D[D.length-1]})),Q&&B&&Exe(A,m,C),!0}function oke(o,A,f,m,C,E,x,y,I){let v=o[0],B=o[o.length-1],Q=new N_;Q.addSamples(o,A),f.intervals.addInterval(new ws({start:v,stop:B,isStartIncluded:I,isStopIncluded:I,data:cUt(Q,x,y)})),m.addInterval(new ws({start:v,stop:B,isStartIncluded:I,isStopIncluded:I})),C.intervals.addInterval(new ws({start:v,stop:B,isStartIncluded:I,isStopIncluded:I,data:E}))}function pUt(o,A,f,m,C){let E=ZB(f,"interpolate",pr.gx),x=XB(f,"Track",pr.gx),y,I,v,B=!1,Q=new l4,T=new lC,w=new Xy,S=o._ellipsoid;for(let D=0,R=x.length;D0)){for(S='',E=0;E`;S+="
${oe(D.displayName,x)}${oe(D.value,"")}
"}if(!O(S))return;S=tUt.link(S),bA.innerHTML=S;let R=bA.querySelectorAll("a");for(E=0;E1&&(Ry(bA,"a","href",m),Ry(bA,"link","href",m),Ry(bA,"area","href",m),Ry(bA,"img","src",m),Ry(bA,"iframe","src",m),Ry(bA,"video","src",m),Ry(bA,"audio","src",m),Ry(bA,"source","src",m),Ry(bA,"track","src",m),Ry(bA,"input","src",m),Ry(bA,"embed","src",m),Ry(bA,"script","src",m),Ry(bA,"video","poster",m)),Ly(bA,"a","href",C),Ly(bA,"link","href",C),Ly(bA,"area","href",C),Ly(bA,"img","src",C),Ly(bA,"iframe","src",C),Ly(bA,"video","src",C),Ly(bA,"audio","src",C),Ly(bA,"source","src",C),Ly(bA,"track","src",C),Ly(bA,"input","src",C),Ly(bA,"embed","src",C),Ly(bA,"script","src",C),Ly(bA,"video","poster",C);let P='
',P+=`${bA.innerHTML}
`,bA.innerHTML="",A.description=P}function fie(o,A,f){let m=f.entityCollection,C=f.parentEntity,E=f.sourceResource,x=f.uriResolver,y=gJe(A,m,f.context),I=y.kml,v=uUt(o,A,f.styleCollection,E,x),B=es(A,"name",pr.kml);y.name=B,y.parent=C;let Q=sUt(A);O(Q)||(Q=aUt(A)),y.availability=Q,Ixe(y);function T(L){return L?L.show&&T(L.parent):!0}let w=ZB(A,"visibility",pr.kml);y.show=T(C)&&oe(w,!0);let S=Au(A,"author",pr.atom),D=I.author;D.name=es(S,"name",pr.atom),D.uri=es(S,"uri",pr.atom),D.email=es(S,"email",pr.atom);let R=Au(A,"link",pr.atom),P=I.link;P.href=Qg(R,"href"),P.hreflang=Qg(R,"hreflang"),P.rel=Qg(R,"rel"),P.type=Qg(R,"type"),P.title=Qg(R,"title"),P.length=Qg(R,"length"),I.address=es(A,"address",pr.kml),I.phoneNumber=es(A,"phoneNumber",pr.kml),I.snippet=es(A,"Snippet",pr.kml),EUt(A,y),xUt(A,y,v,x,E);let M=o._ellipsoid;return vJe(A,y,M),_Je(A,y,M),O(Au(A,"Region",pr.kml))&&$o("kml-region","KML - Placemark Regions are unsupported"),{entity:y,styleEntity:v}}function IJe(o,A,f,m){m.addNodes(A.childNodes,f),m.process()}function yUt(o,A,f,m){let C=fie(o,A,f),E=Sn(f);E.parentEntity=C.entity,IJe(o,A,E,m)}function IUt(o,A,f,m){let C=fie(o,A,f),E=C.entity,x=C.styleEntity,y=!1,I=A.childNodes;for(let v=0,B=I.length;vBe.PI_OVER_TWO?Be.PI_OVER_TWO:v}function y(v){return v>Be.PI?v-Be.TWO_PI:v<-Be.PI?v+Be.TWO_PI:v}let I=Ite(o.queryParameters);if(I=I.replace(/%5B/g,"[").replace(/%5D/g,"]"),O(A)&&A._mode!==ni.MORPHING){let v,B;if(C=oe(C,SUt),O(f)&&(uce.x=f.clientWidth*.5,uce.y=f.clientHeight*.5,v=A.pickEllipsoid(uce,E,DUt)),O(v)?B=E.cartesianToCartographic(v,fU):(B=gi.center(C,fU),v=E.cartographicToCartesian(B)),O(m)&&!Be.equalsEpsilon(m,1,Be.EPSILON9)){let P=C.width*m*.5,M=C.height*m*.5;C=new gi(y(B.longitude-P),x(B.latitude-M),y(B.longitude+P),x(B.latitude+M))}I=I.replace("[bboxWest]",Be.toDegrees(C.west).toString()),I=I.replace("[bboxSouth]",Be.toDegrees(C.south).toString()),I=I.replace("[bboxEast]",Be.toDegrees(C.east).toString()),I=I.replace("[bboxNorth]",Be.toDegrees(C.north).toString());let Q=Be.toDegrees(B.longitude).toString(),T=Be.toDegrees(B.latitude).toString();I=I.replace("[lookatLon]",Q),I=I.replace("[lookatLat]",T),I=I.replace("[lookatTilt]",Be.toDegrees(A.pitch).toString()),I=I.replace("[lookatHeading]",Be.toDegrees(A.heading).toString()),I=I.replace("[lookatRange]",Z.distance(A.positionWC,v)),I=I.replace("[lookatTerrainLon]",Q),I=I.replace("[lookatTerrainLat]",T),I=I.replace("[lookatTerrainAlt]",B.height.toString()),E.cartesianToCartographic(A.positionWC,fU),I=I.replace("[cameraLon]",Be.toDegrees(fU.longitude).toString()),I=I.replace("[cameraLat]",Be.toDegrees(fU.latitude).toString()),I=I.replace("[cameraAlt]",Be.toDegrees(fU.height).toString());let w=A.frustum,S=w.aspectRatio,D="",R="";if(O(S)){let P=Be.toDegrees(w.fov);S>1?(D=P,R=P/S):(R=P,D=P*S)}I=I.replace("[horizFov]",D.toString()),I=I.replace("[vertFov]",R.toString())}else I=I.replace("[bboxWest]","-180"),I=I.replace("[bboxSouth]","-90"),I=I.replace("[bboxEast]","180"),I=I.replace("[bboxNorth]","90"),I=I.replace("[lookatLon]",""),I=I.replace("[lookatLat]",""),I=I.replace("[lookatRange]",""),I=I.replace("[lookatTilt]",""),I=I.replace("[lookatHeading]",""),I=I.replace("[lookatTerrainLon]",""),I=I.replace("[lookatTerrainLat]",""),I=I.replace("[lookatTerrainAlt]",""),I=I.replace("[cameraLon]",""),I=I.replace("[cameraLat]",""),I=I.replace("[cameraAlt]",""),I=I.replace("[horizFov]",""),I=I.replace("[vertFov]","");O(f)?(I=I.replace("[horizPixels]",f.clientWidth),I=I.replace("[vertPixels]",f.clientHeight)):(I=I.replace("[horizPixels]",""),I=I.replace("[vertPixels]","")),I=I.replace("[terrainEnabled]","1"),I=I.replace("[clientVersion]","1"),I=I.replace("[kmlVersion]","2.2"),I=I.replace("[clientName]","Cesium"),I=I.replace("[language]","English"),o.setQueryParameters(fb(I))}function TUt(o,A,f,m){let C=fie(o,A,f).entity,E=f.sourceResource,x=f.uriResolver,y=Au(A,"Link",pr.kml);if(O(y)||(y=Au(A,"Url",pr.kml)),O(y)){let I=es(y,"href",pr.kml),v,B;if(O(I)){let Q=I;if(I=pxe(I,E,f.uriResolver),/^data:/.test(I.getUrlComponent()))/\.kmz/i.test(E.getUrlComponent())||(Q=E.getDerivedResource({url:Q}));else{if(Q=I.clone(),v=es(y,"viewRefreshMode",pr.kml),v==="onRegion"){$o("kml-refrehMode-onRegion","KML - Unsupported viewRefreshMode: onRegion");return}B=oe(es(y,"viewBoundScale",pr.kml),1);let D=v==="onStop"?"BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]":"",R=oe(es(y,"viewFormat",pr.kml),D),P=es(y,"httpQuery",pr.kml);O(R)&&I.setQueryParameters(fb(B$(R))),O(P)&&I.setQueryParameters(fb(B$(P)));let M=o._ellipsoid;xxe(I,o.camera,o.canvas,B,o._lastCameraView.bbox,M)}let T={sourceUri:Q,uriResolver:x,context:C.id,screenOverlayContainer:f.screenOverlayContainer},w=new dv,S=yxe(o,w,I,T).then(function(D){let R=o._entityCollection,P=w.values;R.suspendEvents();for(let F=0;F0||M==="onExpire"||v==="onStop"){let F=Au(D,"NetworkLinkControl",pr.kml),k=O(F),N=Zt.now(),G={id:Rl(),href:I,cookie:{},lastUpdated:N,updating:!1,entity:C,viewBoundScale:B,needsUpdate:!1,cameraUpdateTime:N},J=0;if(k&&(G.cookie=fb(oe(es(F,"cookie",pr.kml),"")),J=oe(pl(F,"minRefreshPeriod",pr.kml),0)),M==="onInterval")k&&(L=Math.max(J,L)),G.refreshMode=q2.INTERVAL,G.time=L;else if(M==="onExpire"){let K;if(k&&(K=es(F,"expires",pr.kml)),O(K))try{let X=Zt.fromIso8601(K),q=Zt.secondsDifference(X,N);q>0&&q0;)this._screenOverlays.pop().remove()};function Ixe(o){let A=o.parent;if(O(A)){let f=A.availability;if(O(f)){let m=o.availability;O(m)?m.intersect(f):o.availability=f}}}function RUt(o,A,f,m,C){return function(E){if(!m.contains(A.id))return;let x=!1,y=Au(E,"NetworkLinkControl",pr.kml),I=O(y),v=0;if(I){if(O(Au(y,"Update",pr.kml))){$o("kml-networkLinkControl-update","KML - NetworkLinkControl updates aren't supported."),A.updating=!1,m.remove(A.id);return}A.cookie=fb(oe(es(y,"cookie",pr.kml),"")),v=oe(pl(y,"minRefreshPeriod",pr.kml),0)}let B=Zt.now(),Q=A.refreshMode;if(Q===q2.INTERVAL)O(y)&&(A.time=Math.max(v,A.time));else if(Q===q2.EXPIRE){let G;if(O(y)&&(G=es(y,"expires",pr.kml)),O(G))try{let J=Zt.fromIso8601(G),K=Zt.secondsDifference(J,B);K>0&&KB.time&&(T=!0):B.refreshMode===q2.EXPIRE?Zt.greaterThan(f,B.time)&&(T=!0):B.refreshMode===q2.STOP&&(E&&(B.needsUpdate=!0,B.cameraUpdateTime=f),B.needsUpdate&&Zt.secondsDifference(f,B.cameraUpdateTime)>=B.time&&(T=!0)),T){C(Q),B.updating=!0;let w=new dv,S=B.href.clone();S.setQueryParameters(B.cookie);let D=oe(m._ellipsoid,Ci.WGS84);xxe(S,m.camera,m.canvas,B.viewBoundScale,x.bbox,D),yxe(m,w,S,{context:Q.id}).then(RUt(m,B,w,I,S)).catch(function(R){let P=`NetworkLink ${B.href} refresh failed: ${R}`;console.log(P),m._error.raiseEvent(m,P)}),v=!0}}I.set(B.id,B)}}),v&&(this._networkLinks=I,this._changed.raiseEvent(this)),!0};function LUt(){this.author={name:void 0,uri:void 0,email:void 0},this.link={href:void 0,hreflang:void 0,rel:void 0,type:void 0,title:void 0,length:void 0},this.address=void 0,this.phoneNumber=void 0,this.snippet=void 0,this.extendedData=void 0}pI._DeferredLoading=$b;pI._getTimestamp=oA;var gie=pI;function EG(o,A){this._earthCtrl=o,this._id=A.id||"",this._name=A.id||"",this._coreMap=o.coreMap,this._options=A,this._dataSource=null,this._isAddToMap=!1,this._isShow=!0,this._dataSourceType="feature",this.initialize()}var FUt={esriGeometryPoint:"Point",esriGeometryPolyline:"MultiLineString",esriGeometryPolygon:"Polygon"};EG.prototype.initialize=function(){let o=this,A=oe(this._options.addToMap,!0),f=oe(o._options.sourceType,"geojson");function m(E){if(o._dataSource=E,A&&o.addToMap(),o._dataSourceType==="feature"){let x=E.entities.values;if(!o._options.style){o._options.success&&o._options.success(o);return}for(let y=0;yy)continue;let w=I.features[T],S={};S.type="Feature",S.properties=w.attributes,S.geometry={},Q==="Point"?S.geometry.coordinates=[w.geometry.x,w.geometry.y]:Q==="MultiLineString"?S.geometry.coordinates=w.geometry.paths:Q==="Polygon"&&(S.geometry.coordinates=w.geometry.rings),S.geometry.type=Q,v.features.push(S)}return O(x)&&(v.crs={type:"name",properties:{name:x}}),v.totalFeatures=v.features.length,v}if(f==="custom"){let E=new iie;m(E)}else if(f==="kml")gie.load(o._options.url,{camera:o._earthCtrl.coreMap.scene.camera,canvas:o._earthCtrl.coreMap.scene.canvas}).then(function(E){m(E)});else{let E=o._options.url;O(this._options.adapterUrl)&&(E=`${this._options.adapterUrl}?service=${$Z.encode(o._options.url,"base64")}`,O(o._options.crs)&&(E+=`&crs=${$Z.encode(o._options.crs,"base64")}`)),Cr.fetchJson({url:E}).then(x=>{let y=null;if(f==="geojson"){if(o._options.renderMode==="raster"){console.warn(`unsupport renderMode ${o._options.renderMode}`);return}y=M9.load(x)}else if(f==="arcgis_json"){if(o._options.renderMode==="raster"){console.warn(`unsupport renderMode ${o._options.renderMode}`);return}y=M9.load(C(x,o._options.crs,o._options.maxFeatureCount))}O(y)?y.then(function(I){m(I)}).catch(function(I){o._options.error&&o._options.error(I)}):o._options.error&&o._options.error("error")}).catch(x=>{console.log("error"),o._options.error&&o._options.error(x)})}};EG.prototype.addToMap=function(){O(this._earthCtrl)&&this._isAddToMap===!1&&(this._dataSourceType==="feature"?this._earthCtrl.dataSources.add(this._dataSource):this._dataSourceType==="raster"&&(this._dataSource=this._earthCtrl.imageryLayers.addImageryProvider(this._dataSource)),this._isAddToMap=!0)};EG.prototype.removeFromMap=function(o){O(this._earthCtrl)&&this._isAddToMap===!0&&(this._dataSourceType==="feature"?this._earthCtrl.dataSources.remove(this._dataSource,o):this._dataSourceType==="raster"&&this._earthCtrl.imageryLayers.remove(this._dataSource),this._isAddToMap=!1)};EG.prototype.destory=function(){this.removeFromMap(!0)};Object.defineProperties(EG.prototype,{id:{get:function(){return this._id}},name:{get:function(){return this._name},set:function(o){this._name=o}},entities:{get:function(){return O(this._dataSource)?this._dataSource.entities:null}},dataSource:{get:function(){return this._dataSource}},isAddToMap:{get:function(){return this._isAddToMap}},show:{get:function(){return this._isShow},set:function(o){o?this.addToMap():this.removeFromMap(!1),this._isShow=o}}});var pie=EG,NUt=Dc(Wxt(),1),kUt=new Z,OUt=new Z,QP={};QP.computeArea2D=function(o){let A=o.length,f=0;for(let m=A-1,C=0;C0?dI.COUNTER_CLOCKWISE:dI.CLOCKWISE};QP.triangulate=function(o,A){let f=rt.packArray(o);return(0,NUt.default)(f,A,2)};var wJe=new Z,bJe=new Z,QJe=new Z,ake=new Z,ske=new Z,lke=new Z,JS=new Z,SJe=new rt,DJe=new rt,TJe=new rt,w5=new rt;QP.computeSubdivision=function(o,A,f,m,C){C=oe(C,Be.RADIANS_PER_DEGREE);let E=O(m),x=f.slice(0),y,I=A.length,v=new Array(I*3),B=new Array(I*2),Q=0,T=0;for(y=0;y0;){let L=x.pop(),F=x.pop(),k=x.pop(),N=Z.fromArray(v,k*3,wJe),G=Z.fromArray(v,F*3,bJe),J=Z.fromArray(v,L*3,QJe),K,X,q;E&&(K=rt.fromArray(B,k*2,SJe),X=rt.fromArray(B,F*2,DJe),q=rt.fromArray(B,L*2,TJe));let ee=Z.multiplyByScalar(Z.normalize(N,ake),D,ake),ie=Z.multiplyByScalar(Z.normalize(G,ske),D,ske),H=Z.multiplyByScalar(Z.normalize(J,lke),D,lke),le=Z.magnitudeSquared(Z.subtract(ee,ie,JS)),ue=Z.magnitudeSquared(Z.subtract(ie,H,JS)),Ae=Z.magnitudeSquared(Z.subtract(H,ee,JS)),he=Math.max(le,ue,Ae),ge,fe,ae;he>P?le===he?(ge=`${Math.min(k,F)} ${Math.max(k,F)}`,y=S[ge],O(y)||(fe=Z.add(N,G,JS),Z.multiplyByScalar(fe,.5,fe),v.push(fe.x,fe.y,fe.z),y=v.length/3-1,S[ge]=y,E&&(ae=rt.add(K,X,w5),rt.multiplyByScalar(ae,.5,ae),B.push(ae.x,ae.y))),x.push(k,y,L),x.push(y,F,L)):ue===he?(ge=`${Math.min(F,L)} ${Math.max(F,L)}`,y=S[ge],O(y)||(fe=Z.add(G,J,JS),Z.multiplyByScalar(fe,.5,fe),v.push(fe.x,fe.y,fe.z),y=v.length/3-1,S[ge]=y,E&&(ae=rt.add(X,q,w5),rt.multiplyByScalar(ae,.5,ae),B.push(ae.x,ae.y))),x.push(F,y,k),x.push(y,L,k)):Ae===he&&(ge=`${Math.min(L,k)} ${Math.max(L,k)}`,y=S[ge],O(y)||(fe=Z.add(J,N,JS),Z.multiplyByScalar(fe,.5,fe),v.push(fe.x,fe.y,fe.z),y=v.length/3-1,S[ge]=y,E&&(ae=rt.add(q,K,w5),rt.multiplyByScalar(ae,.5,ae),B.push(ae.x,ae.y))),x.push(L,y,F),x.push(y,k,F)):(w.push(k),w.push(F),w.push(L))}let M={attributes:{position:new wr({componentDatatype:Ft.DOUBLE,componentsPerAttribute:3,values:v})},indices:w,primitiveType:on.TRIANGLES};return E&&(M.attributes.st=new wr({componentDatatype:Ft.FLOAT,componentsPerAttribute:2,values:B})),new Uo(M)};var UUt=new Rt,GUt=new Rt,HUt=new Rt,cce=new Rt;QP.computeRhumbLineSubdivision=function(o,A,f,m,C){C=oe(C,Be.RADIANS_PER_DEGREE);let E=O(m),x=f.slice(0),y,I=A.length,v=new Array(I*3),B=new Array(I*2),Q=0,T=0;for(y=0;y0;){let k=x.pop(),N=x.pop(),G=x.pop(),J=Z.fromArray(v,G*3,wJe),K=Z.fromArray(v,N*3,bJe),X=Z.fromArray(v,k*3,QJe),q,ee,ie;E&&(q=rt.fromArray(B,G*2,SJe),ee=rt.fromArray(B,N*2,DJe),ie=rt.fromArray(B,k*2,TJe));let H=o.cartesianToCartographic(J,UUt),le=o.cartesianToCartographic(K,GUt),ue=o.cartesianToCartographic(X,HUt);P.setEndPoints(H,le);let Ae=P.surfaceDistance;M.setEndPoints(le,ue);let he=M.surfaceDistance;L.setEndPoints(ue,H);let ge=L.surfaceDistance,fe=Math.max(Ae,he,ge),ae,U,W,Y,z;fe>R?Ae===fe?(ae=`${Math.min(G,N)} ${Math.max(G,N)}`,y=S[ae],O(y)||(U=P.interpolateUsingFraction(.5,cce),W=(H.height+le.height)*.5,Y=Z.fromRadians(U.longitude,U.latitude,W,o,JS),v.push(Y.x,Y.y,Y.z),y=v.length/3-1,S[ae]=y,E&&(z=rt.add(q,ee,w5),rt.multiplyByScalar(z,.5,z),B.push(z.x,z.y))),x.push(G,y,k),x.push(y,N,k)):he===fe?(ae=`${Math.min(N,k)} ${Math.max(N,k)}`,y=S[ae],O(y)||(U=M.interpolateUsingFraction(.5,cce),W=(le.height+ue.height)*.5,Y=Z.fromRadians(U.longitude,U.latitude,W,o,JS),v.push(Y.x,Y.y,Y.z),y=v.length/3-1,S[ae]=y,E&&(z=rt.add(ee,ie,w5),rt.multiplyByScalar(z,.5,z),B.push(z.x,z.y))),x.push(N,y,G),x.push(y,k,G)):ge===fe&&(ae=`${Math.min(k,G)} ${Math.max(k,G)}`,y=S[ae],O(y)||(U=L.interpolateUsingFraction(.5,cce),W=(ue.height+H.height)*.5,Y=Z.fromRadians(U.longitude,U.latitude,W,o,JS),v.push(Y.x,Y.y,Y.z),y=v.length/3-1,S[ae]=y,E&&(z=rt.add(ie,q,w5),rt.multiplyByScalar(z,.5,z),B.push(z.x,z.y))),x.push(k,y,N),x.push(y,G,N)):(w.push(G),w.push(N),w.push(k))}let F={attributes:{position:new wr({componentDatatype:Ft.DOUBLE,componentsPerAttribute:3,values:v})},indices:w,primitiveType:on.TRIANGLES};return E&&(F.attributes.st=new wr({componentDatatype:Ft.FLOAT,componentsPerAttribute:2,values:B})),new Uo(F)};QP.scaleToGeodeticHeight=function(o,A,f,m){f=oe(f,Ci.WGS84);let C=kUt,E=OUt;if(A=oe(A,0),m=oe(m,!0),O(o)){let x=o.length;for(let y=0;y10&&A*2>o.length&&(this._array=o.slice(A),A=0),this._offset=A,this._length--,f};sR.prototype.peek=function(){if(this._length!==0)return this._array[this._offset]};sR.prototype.contains=function(o){return this._array.indexOf(o)!==-1};sR.prototype.clear=function(){this._array.length=this._offset=this._length=0};sR.prototype.sort=function(o){this._offset>0&&(this._array=this._array.slice(this._offset),this._offset=0),this._array.sort(o)};var bN=sR,Gh={};Gh.computeHierarchyPackedLength=function(o,A){let f=0,m=[o];for(;m.length>0;){let C=m.pop();if(!O(C))continue;f+=2;let E=C.positions,x=C.holes;if(O(E)&&E.length>0&&(f+=E.length*A.packedLength),O(x)){let y=x.length;for(let I=0;I0;){let E=C.pop();if(!O(E))continue;let x=E.positions,y=E.holes;if(A[f++]=O(x)?x.length:0,A[f++]=O(y)?y.length:0,O(x)){let I=x.length;for(let v=0;v0?new Array(C):void 0;for(let y=0;yr2.eastOverIDL-r2.westOverIDL&&(C.west=r2.westOverIDL,C.east=r2.eastOverIDL,C.east>Be.PI&&(C.east=C.east-Be.TWO_PI),C.west>Be.PI&&(C.west=C.west-Be.TWO_PI)),C}var C5t=new Rt;function fke(o,A,f,m){let C=o.surfaceDistance,E=Math.ceil(C*A),x=E>0?C/(E-1):Number.POSITIVE_INFINITY,y=0;for(let I=0;I=0?B:B+Be.TWO_PI;m.westOverIDL=Math.min(m.westOverIDL,T),m.eastOverIDL=Math.max(m.eastOverIDL,T)}}var gke=[];function E5t(o,A,f,m,C,E,x,y,I,v){let B={walls:[]},Q;if(x||y){let M=ml.createGeometryFromPositions(o,A,f,m,E,I,v),L=M.attributes.position.values,F=M.indices,k,N;if(x&&y){let G=L.concat(L);k=G.length/3,N=Bn.createTypedArray(k,F.length*2),N.set(F);let J=F.length,K=k/2;for(Q=0;Q0){A=oe(A,Re.IDENTITY);let C=Re.inverseTransformation(A,B5t),E=Re.multiplyByPoint(C,Z.ZERO,w5t),x=Z.normalize(Re.multiplyByPointAsVector(C,Z.UNIT_Y,pke),pke),y=ca.fromPointNormal(E,x,b5t),I=Z.normalize(Re.multiplyByPointAsVector(C,Z.UNIT_X,mke),mke),v=ca.fromPointNormal(E,I,Q5t),B=1;f.push(Z.clone(o[0]));let Q=f[0],T=o.length;for(let w=1;w0?new Array(C):void 0;for(m=0;m0){let le=0,ue=Q[0];m=m.filter(function(Ae,he){let ge=!1;return C?ge=he===ue||he===0&&ue===1:ge=he+1===ue,ge?(le++,ue=Q[le],!1):!0})}let w=T.length;if(w<2||A<=0)return;if(E===Ia.GEODESIC||E===Ia.RHUMB){let le,ue;E===Ia.GEODESIC?(le=Be.chordLength(x,y.maximumRadius),ue=cc.numberOfPoints):(le=x,ue=cc.numberOfPointsRhumbLine);let Ae=cc.extractHeights(T,y);if(O(m)){let he=1;for(I=0;I farSq) { show = 0.0; } #endif float polylineAngle; vec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev, polylineAngle); gl_Position = czm_viewportOrthographic * positionWC * show; v_st.s = texCoord; v_st.t = czm_writeNonPerspective(clamp(expandDir, 0.0, 1.0), gl_Position.w); v_width = width; v_pickColor = pickColor; v_polylineAngle = polylineAngle; } `;function vI(o,A){o=oe(o,oe.EMPTY_OBJECT),this._show=oe(o.show,!0),this._width=oe(o.width,1),this._loop=oe(o.loop,!1),this._distanceDisplayCondition=o.distanceDisplayCondition,this._material=o.material,O(this._material)||(this._material=go.fromType(go.ColorType,{color:new Ve(1,1,1,1)}));let f=o.positions;O(f)||(f=[]),this._positions=f,this._actualPositions=up(f,Z.equalsEpsilon),this._loop&&this._actualPositions.length>2&&(this._actualPositions===this._positions&&(this._actualPositions=f.slice()),this._actualPositions.push(Z.clone(this._actualPositions[0]))),this._length=this._actualPositions.length,this._id=o.id;let m;O(A)&&(m=Re.clone(A.modelMatrix)),this._modelMatrix=m,this._segments=cc.wrapLongitude(this._actualPositions,m),this._actualLength=void 0,this._propertiesChanged=new Uint32Array(OJe),this._polylineCollection=A,this._dirty=!1,this._pickId=void 0,this._boundingVolume=hi.fromPoints(this._actualPositions),this._boundingVolumeWC=hi.transform(this._boundingVolume,this._modelMatrix),this._boundingVolume2D=new hi}var kJe=vI.POSITION_INDEX=0,F5t=vI.SHOW_INDEX=1,N5t=vI.WIDTH_INDEX=2,k5t=vI.MATERIAL_INDEX=3,w7=vI.POSITION_SIZE_INDEX=4,O5t=vI.DISTANCE_DISPLAY_CONDITION=5,OJe=vI.NUMBER_OF_PROPERTIES=6;function zS(o,A){++o._propertiesChanged[A];let f=o._polylineCollection;O(f)&&(f._updatePolyline(o,A),o._dirty=!0)}Object.defineProperties(vI.prototype,{show:{get:function(){return this._show},set:function(o){o!==this._show&&(this._show=o,zS(this,F5t))}},positions:{get:function(){return this._positions},set:function(o){let A=up(o,Z.equalsEpsilon);this._loop&&A.length>2&&(A===o&&(A=o.slice()),A.push(Z.clone(A[0]))),(this._actualPositions.length!==A.length||this._actualPositions.length!==this._length)&&zS(this,w7),this._positions=o,this._actualPositions=A,this._length=A.length,this._boundingVolume=hi.fromPoints(this._actualPositions,this._boundingVolume),this._boundingVolumeWC=hi.transform(this._boundingVolume,this._modelMatrix,this._boundingVolumeWC),zS(this,kJe),this.update()}},material:{get:function(){return this._material},set:function(o){this._material!==o&&(this._material=o,zS(this,k5t))}},width:{get:function(){return this._width},set:function(o){let A=this._width;o!==A&&(this._width=o,zS(this,N5t))}},loop:{get:function(){return this._loop},set:function(o){if(o!==this._loop){let A=this._actualPositions;o?A.length>2&&!Z.equals(A[0],A[A.length-1])&&(A.length===this._positions.length&&(this._actualPositions=A=this._positions.slice()),A.push(Z.clone(A[0]))):A.length>2&&Z.equals(A[0],A[A.length-1])&&(A.length-1===this._positions.length?this._actualPositions=this._positions:A.pop()),this._loop=o,zS(this,w7)}}},id:{get:function(){return this._id},set:function(o){this._id=o,O(this._pickId)&&(this._pickId.object.id=o)}},pickId:{get:function(){return this._pickId}},isDestroyed:{get:function(){return!O(this._polylineCollection)}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(o){po.equals(o,this._distanceDisplayCondition)||(this._distanceDisplayCondition=po.clone(o,this._distanceDisplayCondition),zS(this,O5t))}}});vI.prototype.update=function(){let o=Re.IDENTITY;O(this._polylineCollection)&&(o=this._polylineCollection.modelMatrix);let A=this._segments.positions.length,f=this._segments.lengths,m=this._propertiesChanged[kJe]>0||this._propertiesChanged[w7]>0;if((!Re.equals(o,this._modelMatrix)||m)&&(this._segments=cc.wrapLongitude(this._actualPositions,o),this._boundingVolumeWC=hi.transform(this._boundingVolume,o,this._boundingVolumeWC)),this._modelMatrix=Re.clone(o,this._modelMatrix),this._segments.positions.length!==A)zS(this,w7);else{let C=f.length;for(let E=0;E2){if(C[kfe]||C[_ke]){let S=o.mode===ni.SCENE2D?m._boundingVolume2D:m._boundingVolumeWC,D=eu.fromCartesian(S.center,GJe),R=zt.fromElements(D.low.x,D.low.y,D.low.z,S.radius,HJe);this._batchTable.setBatchedAttribute(m._index,2,D.high),this._batchTable.setBatchedAttribute(m._index,3,R)}if(C[V5t]){let S=VJe;S.x=0,S.y=Number.MAX_VALUE;let D=m.distanceDisplayCondition;O(D)&&(S.x=D.near,S.y=D.far),this._batchTable.setBatchedAttribute(m._index,4,S)}}m._clean()}}I.length=0,this._polylinesUpdated=!1}C=this._propertiesChanged;for(let I=0;I0){let he=J.isTranslucent();y>=x?(X=new fn({owner:o}),f.push(X)):X=f[y],++y,q=So(Q(J._uniforms),o._uniformMap),X.boundingVolume=hi.clone(AV,X.boundingVolume),X.modelMatrix=m,X.shaderProgram=F,X.vertexArray=S.va,X.renderState=he?o._translucentRS:o._opaqueRS,X.pass=he?Yi.TRANSLUCENT:Yi.OPAQUE,X.debugShowBoundingVolume=B,X.pickId="v_pickColor",X.uniformMap=q,X.count=K,X.offset=L,L+=K,K=0,I=!0,E.push(X)}J=ie._material,J.update(C),G=H}let le=ie._locatorBuckets,ue=le.length;for(let he=0;he0&&(y>=x?(X=new fn({owner:o}),f.push(X)):X=f[y],++y,q=So(Q(J._uniforms),o._uniformMap),X.boundingVolume=hi.clone(AV,X.boundingVolume),X.modelMatrix=m,X.shaderProgram=F,X.vertexArray=S.va,X.renderState=J.isTranslucent()?o._translucentRS:o._opaqueRS,X.pass=J.isTranslucent()?Yi.TRANSLUCENT:Yi.OPAQUE,X.debugShowBoundingVolume=B,X.pickId="v_pickColor",X.uniformMap=q,X.count=K,X.offset=L,I=!0,E.push(X)),G=void 0}}f.length=y}_w.prototype.isDestroyed=function(){return!1};_w.prototype.destroy=function(){return zJe(this),Nxe(this),YJe(this),this._batchTable=this._batchTable&&this._batchTable.destroy(),Ar(this)};function J5t(o){let A=!1,f=o._propertiesChanged,m=o._positionBufferUsage;return f[kfe]?(m.bufferUsage!==Gr.STREAM_DRAW&&(A=!0,m.bufferUsage=Gr.STREAM_DRAW),m.frameCount=100):m.bufferUsage!==Gr.STATIC_DRAW&&(m.frameCount===0?(A=!0,m.bufferUsage=Gr.STATIC_DRAW):m.frameCount--),A}var Bke=[0,0,0];function wke(o,A,f){o._createVertexArray=!1,Nxe(o),zJe(o),j5t(o);let m=[[]],C=m[0],E=o._batchTable,x=o._useHighlightColor,y=o.disableDepthTestDistance,I=[0],v=0,B=[[]],Q=0,T=o._polylineBuckets,w,S;for(w in T)T.hasOwnProperty(w)&&(S=T[w],S.updateShader(A,E,x,y),Q+=S.lengthOfPositions);if(Q>0){let D=o._mode,R=new Float32Array(6*Q*3),P=new Float32Array(Q*4),M,L=0,F=0,k=0;for(w in T)if(T.hasOwnProperty(w)){S=T[w],S.write(R,P,L,F,k,E,A,f),D===ni.MORPHING&&(O(M)||(M=new Float32Array(6*Q*3)),S.writeForMorph(M,L));let ie=S.lengthOfPositions;L+=6*ie*3,F+=ie*4,k+=ie*4,v=S.updateIndices(m,I,B,v)}let N=o._positionBufferUsage.bufferUsage,G=Gr.STATIC_DRAW;o._positionBuffer=Wn.createVertexBuffer({context:A,typedArray:R,usage:N});let J;O(M)&&(J=Wn.createVertexBuffer({context:A,typedArray:M,usage:N})),o._texCoordExpandAndBatchIndexBuffer=Wn.createVertexBuffer({context:A,typedArray:P,usage:G});let K=3*Float32Array.BYTES_PER_ELEMENT,X=4*Float32Array.BYTES_PER_ELEMENT,q=0,ee=m.length;for(let ie=0;ie0){let H=new Uint16Array(C),le=Wn.createIndexBuffer({context:A,typedArray:H,usage:Gr.STATIC_DRAW,indexDatatype:Bn.UNSIGNED_SHORT});q+=I[ie];let ue=6*(ie*(K*Be.SIXTY_FOUR_KILOBYTES)-q*K),Ae=K+ue,he=K+Ae,ge=K+he,fe=K+ge,ae=K+fe,U=ie*(X*Be.SIXTY_FOUR_KILOBYTES)-q*X,W=[{index:sx.position3DHigh,componentsPerAttribute:3,componentDatatype:Ft.FLOAT,offsetInBytes:ue,strideInBytes:6*K},{index:sx.position3DLow,componentsPerAttribute:3,componentDatatype:Ft.FLOAT,offsetInBytes:Ae,strideInBytes:6*K},{index:sx.position2DHigh,componentsPerAttribute:3,componentDatatype:Ft.FLOAT,offsetInBytes:ue,strideInBytes:6*K},{index:sx.position2DLow,componentsPerAttribute:3,componentDatatype:Ft.FLOAT,offsetInBytes:Ae,strideInBytes:6*K},{index:sx.prevPosition3DHigh,componentsPerAttribute:3,componentDatatype:Ft.FLOAT,offsetInBytes:he,strideInBytes:6*K},{index:sx.prevPosition3DLow,componentsPerAttribute:3,componentDatatype:Ft.FLOAT,offsetInBytes:ge,strideInBytes:6*K},{index:sx.prevPosition2DHigh,componentsPerAttribute:3,componentDatatype:Ft.FLOAT,offsetInBytes:he,strideInBytes:6*K},{index:sx.prevPosition2DLow,componentsPerAttribute:3,componentDatatype:Ft.FLOAT,offsetInBytes:ge,strideInBytes:6*K},{index:sx.nextPosition3DHigh,componentsPerAttribute:3,componentDatatype:Ft.FLOAT,offsetInBytes:fe,strideInBytes:6*K},{index:sx.nextPosition3DLow,componentsPerAttribute:3,componentDatatype:Ft.FLOAT,offsetInBytes:ae,strideInBytes:6*K},{index:sx.nextPosition2DHigh,componentsPerAttribute:3,componentDatatype:Ft.FLOAT,offsetInBytes:fe,strideInBytes:6*K},{index:sx.nextPosition2DLow,componentsPerAttribute:3,componentDatatype:Ft.FLOAT,offsetInBytes:ae,strideInBytes:6*K},{index:sx.texCoordExpandAndBatchIndex,componentsPerAttribute:4,componentDatatype:Ft.FLOAT,vertexBuffer:o._texCoordExpandAndBatchIndexBuffer,offsetInBytes:U}],Y,z,re,se;D===ni.SCENE3D?(z=o._positionBuffer,Y="vertexBuffer",re=Bke,se="value"):D===ni.SCENE2D||D===ni.COLUMBUS_VIEW?(z=Bke,Y="value",re=o._positionBuffer,se="vertexBuffer"):(z=J,Y="vertexBuffer",re=o._positionBuffer,se="vertexBuffer"),W[0][Y]=z,W[1][Y]=z,W[2][se]=re,W[3][se]=re,W[4][Y]=z,W[5][Y]=z,W[6][se]=re,W[7][se]=re,W[8][Y]=z,W[9][Y]=z,W[10][se]=re,W[11][se]=re;let de=new hu({context:A,attributes:W,indexBuffer:le});o._vertexArrays.push({va:de,buckets:B[ie]})}}}function K5t(o,A){return A instanceof Nn?A.id:A}var yq=[];function W5t(o){let A=go._uniformList[o.type],f=A.length;yq.length=2*f;let m=0;for(let C=0;C1){y.update();let I=y.material,v=m[I.type];O(v)||(v=m[I.type]=new tQ(I,A,f)),v.addPolyline(y)}}}function q5t(o,A){let f=A.mode;(o._mode!==f||!Re.equals(o._modelMatrix,o.modelMatrix))&&(o._mode=f,o._modelMatrix=Re.clone(o.modelMatrix),o._createVertexArray=!0)}function Fxe(o){if(o._polylinesRemoved){o._polylinesRemoved=!1;let A=[],f=[],m=0,C,E=o._polylines.length;for(let x=0;x0,R=w._index,P=this.getSegments(w,y),M=P.positions,L=P.lengths,F=M.length,k=w.getPickId(x).color,N=0,G=0,J;for(let Ae=0;Ae0||vg.x>0&&b_.x<0)&&Z.clone(vg,b_),(vg.x<0&&Q_.x>0||vg.x>0&&Q_.x<0)&&Z.clone(vg,Q_));let ae=ge?2:0,U=fe?2:4;for(let W=ae;W2&&(E.setBatchedAttribute(R,2,ie),E.setBatchedAttribute(R,3,H),E.setBatchedAttribute(R,4,le))}};var $5t=new Z,e4t=new Z,t4t=new Z,bke=new Z;tQ.prototype.writeForMorph=function(o,A){let f=this.modelMatrix,m=this.polylines,C=m.length;for(let E=0;E0&&(I=y[y.length-1]+1);let v=this.polylines,B=v.length;for(let Q=0;Q0)w[0]=D;else continue}else w=T._segments.lengths;let S=w.length;if(S>0){let D=0;for(let R=0;RBe.SIXTY_FOUR_KILOBYTES&&(T._locatorBuckets.push({locator:E,count:D}),D=0,A.push(4),y=[],o.push(y),I=0,E.count=x,x=0,m=0,E=new fce(0,0,this),f[++C]=[E]),y.push(I,I+2,I+1),y.push(I+1,I+2,I+3),D+=6,x+=6,m+=6,I+=4}T._locatorBuckets.push({locator:E,count:D}),I+4>Be.SIXTY_FOUR_KILOBYTES&&(A.push(0),y=[],o.push(y),I=0,E.count=x,m=0,x=0,E=new fce(0,0,this),f[++C]=[E])}T._clean()}return E.count=x,m};tQ.prototype.getPolylineStartIndex=function(o){let A=this.polylines,f=0,m=A.length;for(let C=0;C0){o._boundingVolume2D=hi.fromPoints(C,o._boundingVolume2D);let v=o._boundingVolume2D.center;o._boundingVolume2D.center=new Z(v.z,v.x,v.y)}return mU.positions=C,mU.lengths=o._segments.lengths,mU};var Ske;tQ.prototype.writeUpdate=function(o,A,f,m){let C=this.mode,E=m.ellipsoid.maximumRadius*Be.PI,x=A._actualLength;if(x){o+=this.getPolylineStartIndex(A);let y=Ske,I=6*x*3;!O(y)||y.lengthI&&(y=new Float32Array(y.buffer,0,I));let v=this.getSegments(A,m),B=v.positions,Q=v.lengths,T=0,w=0,S=0,D;x=B.length;for(let R=0;R0||vg.x>0&&b_.x<0)&&Z.clone(vg,b_),(vg.x<0&&Q_.x>0||vg.x>0&&Q_.x<0)&&Z.clone(vg,Q_));let F=M?2:0,k=L?2:4;for(let N=F;Nthis._primitiveSize&&this.savePrimitive(),this.instancesLabel.add(this._labelOptions)};xC.prototype.createPolylineGeometryInstance2=function(o,A,f){let m={},C=this.convertCoordinates([A]);m.positions=Z.fromDegreesArray(C),m.width=this._lineWidth,m.material=go.fromType("Color"),m.material.uniforms.color=this._modelColor,m.id=f,m.disableDepthTestDistance=this.disableDepthTest,this.instancesPolylineCollection.length>this._primitiveSize&&this.savePrimitive(),this.instancesPolylineCollection.add(m)};xC.prototype.createPolylineGeometryInstance=function(o,A,f){let m=_o.fromColor(this._modelColor),C=this.convertCoordinates([A]),E=Z.fromDegreesArray(C),x=this;this.instancesPolyline.length>this._primitiveSize&&this.savePrimitive(),this.instancesPolyline.push(new kn({geometry:new iI({width:x._lineWidth,positions:E}),id:f,attributes:{color:m}}))};xC.prototype.createPolygonGeometryInstance=function(o,A,f){let m=this,C=_o.fromColor(m._modelColor),E=m.convertCoordinates(A),x=Z.fromDegreesArray(E),y=o.properties[m._modelHeightKey];O(y)||(y=0),m.type===WJe&&(y=void 0),m.instancesPolygon.length>m._primitiveSize&&m.savePrimitive(),m.instancesPolygon.push(new kn({geometry:new mA({polygonHierarchy:new yn(x),extrudedHeight:y,height:m._groundHeight}),id:f,releaseGeometryInstances:!0,attributes:{color:C}}))};xC.prototype.parse=function(o){if(Array.isArray(o)){let A=this;for(let f=0;f0){let A,f;if(o.type===KJe)O(o._image)?A=this.material:(A=go.fromType(go.ColorType),A.uniforms.color=o._modelColor),f=new $c({material:A,translucent:!0,faceForward:!0,vertexShaderSource:o4t,fragmentShaderSource:a4t});else if(o.type===WJe){let m={};m.normalMap=ja("Assets/Images/waterNormals.jpg"),m.baseWaterColor=o.baseWaterColor,m.frequency=o.waterFrequency,m.animationSpeed=o.animationSpeed,m.amplitude=o.amplitude,A=new go({fabric:{type:"Water",uniforms:m}}),A.update(o._earthCtrl.coreMap.scene.context),f=new cY({material:A,fragmentShaderSource:kxe})}else f=new La;o._primitive.push(o._earthCtrl.primitives.add(new ra({geometryInstances:o.instancesPolygon,appearance:f}))),o.instancesPolygon=[]}if(o.instancesPolyline.length>0){let A,f;if(o.type===s4t){let m={duration:o.duration};O(o._image)&&(m.image=o._image),A=go.fromType("PolylineTrailLink"),A.uniforms.image=o._image,A.uniforms.time=.8,f=new $c({material:A,translucent:!0,faceForward:!0})}else f=new l0({});o._primitive.push(o._earthCtrl.primitives.add(new ra({geometryInstances:o.instancesPolyline,appearance:f}))),o.instancesPolyline=[]}o.instancesLabel.length>0&&(o._primitive.push(o._earthCtrl.primitives.add(o.instancesLabel)),o.instancesLabel=new jD),o.instancesPolylineCollection.length>0&&(o._primitive.push(o._earthCtrl.primitives.add(o.instancesPolylineCollection)),o.instancesPolylineCollection=new lR)};xC.prototype.convertCoordinates=function(o){let A=[];for(let f=0;f0&&(S=!0,Q+=v),x1?A.renderbufferStorageMultisample(A.RENDERBUFFER,x,m,C,E):A.renderbufferStorage(A.RENDERBUFFER,m,C,E),A.bindRenderbuffer(A.RENDERBUFFER,null)}Object.defineProperties(hY.prototype,{format:{get:function(){return this._format}},width:{get:function(){return this._width}},height:{get:function(){return this._height}}});hY.prototype._getRenderbuffer=function(){return this._renderbuffer};hY.prototype.isDestroyed=function(){return!1};hY.prototype.destroy=function(){return this._gl.deleteRenderbuffer(this._renderbuffer),Ar(this)};var Zy=hY,rKe={};function d4t(o,A,f){let m,C,E;if(o instanceof fu){let x=Math.tan(.5*o.fovy);return m=o.near,C=o.near*x,E=o.aspectRatio*C,Math.max(A*m/E,f*m/C)}else if(o instanceof rQ)return m=o.near,C=o.top,E=o.right,Math.max(A*m/E,f*m/C);return Math.max(A,f)}var f4t=new Z,Mke=new Z;function nKe(o,A,f,m){if(O(m)&&f(.5)>m){let C=f(0),E=f(1),x=f(.5),y=x-C,I=x-E;return function(v){let B=f(v);if(v<=.5){let T=(B-C)/y;return Be.lerp(o,-Be.PI_OVER_TWO,T)}let Q=(B-E)/I;return Be.lerp(-Be.PI_OVER_TWO,A,1-Q)}}return function(C){return Be.lerp(o,A,C)}}function Uxe(o,A,f,m,C){let E=C,x=Math.max(f,m);if(!O(E)){let y=o.position,I=A,v=o.up,B=o.right,Q=o.frustum,T=Z.subtract(y,I,f4t),w=Z.magnitude(Z.multiplyByScalar(v,Z.dot(T,v),Mke)),S=Z.magnitude(Z.multiplyByScalar(B,Z.dot(T,B),Mke));E=Math.min(d4t(Q,w,S)*.2,1e9)}if(xo+Math.PI?o+=Be.TWO_PI:ABe.PI&&(A.longitude+=Be.TWO_PI)}var C4t=new Rt,E4t=new Rt;function x4t(o,A,f,m,C,E,x,y,I,v){let B=o.camera,Q=o.mapProjection.ellipsoid,T=Rt.clone(B.positionCartographic,C4t),w=B.pitch,S=F9(B.heading,m),D=F9(B.roll,E),R=Q.cartesianToCartographic(f,E4t);T.longitude=Be.zeroToTwoPi(T.longitude),R.longitude=Be.zeroToTwoPi(R.longitude);let P=!1;if(O(y)){let k=Be.zeroToTwoPi(y),N=Math.min(T.longitude,R.longitude),G=Math.max(T.longitude,R.longitude),J=k>=N&&k<=G;if(O(I)){let K=Math.abs(T.longitude-R.longitude),X=Be.TWO_PI-K;(J?K:X)<(J?X:K)*I&&!J&&(P=!0)}else J||(P=!0)}P?p4t(T,R):m4t(T,R);let M=Uxe(B,f,T.height,R.height,x),L=nKe(w,C,M,v);function F(){let k=T.longitude,N=R.longitude,G=T.latitude,J=R.latitude;return function(K){let X=K.time/A,q=Z.fromRadians(Be.lerp(k,N,X),Be.lerp(G,J,X),M(X),Q);B.setView({destination:q,orientation:{heading:Be.lerp(S,m,X),pitch:L(X),roll:Be.lerp(D,E,X)}})}}return F()}function y4t(o,A,f,m,C,E,x){let y=o.camera,I=Z.clone(y.position,oKe),v=F9(y.heading,m),B=y.frustum.right-y.frustum.left,Q=Uxe(y,f,B,f.z,x);function T(w){let S=w.time/A;y.setView({orientation:{heading:Be.lerp(v,m,S)}}),rt.lerp(I,f,S,y.position);let D=Q(S),R=y.frustum,P=R.top/R.right,M=(D-(R.right-R.left))*.5;R.right+=M,R.left-=M,R.top=P*R.right,R.bottom=-R.top}return T}var Pke=new Rt,I4t=new Z;function gce(o,A){return{startObject:{},stopObject:{},duration:0,complete:o,cancel:A}}function Rke(o,A){function f(){typeof A=="function"&&A(),o.enableInputs=!0}return f}rKe.createTween=function(o,A){A=oe(A,oe.EMPTY_OBJECT);let f=A.destination,m=o.mode;if(m===ni.MORPHING)return gce();let C=oe(A.convert,!0),E=o.mapProjection,x=E.ellipsoid,y=A.maximumHeight,I=A.flyOverLongitude,v=A.flyOverLongitudeWeight,B=A.pitchAdjustHeight,Q=A.easingFunction;C&&m!==ni.SCENE3D&&(x.cartesianToCartographic(f,Pke),f=E.project(Pke,I4t));let T=o.camera,w=A.endTransform;O(w)&&T._setTransform(w);let S=A.duration;O(S)||(S=Math.ceil(Z.distance(T.position,f)/1e6)+2,S=Math.min(S,3));let D=oe(A.heading,0),R=oe(A.pitch,-Be.PI_OVER_TWO),P=oe(A.roll,0),M=o.screenSpaceCameraController;M.enableInputs=!1;let L=Rke(M,A.complete),F=Rke(M,A.cancel),k=T.frustum,N=o.mode===ni.SCENE2D;if(N=N&&rt.equalsEpsilon(T.position,f,Be.EPSILON6),N=N&&Be.equalsEpsilon(Math.max(k.right-k.left,k.top-k.bottom),f.z,Be.EPSILON6),N=N||o.mode!==ni.SCENE2D&&Z.equalsEpsilon(f,T.position,Be.EPSILON10),N=N&&Be.equalsEpsilon(Be.negativePiToPi(D),Be.negativePiToPi(T.heading),Be.EPSILON10)&&Be.equalsEpsilon(Be.negativePiToPi(R),Be.negativePiToPi(T.pitch),Be.EPSILON10)&&Be.equalsEpsilon(Be.negativePiToPi(P),Be.negativePiToPi(T.roll),Be.EPSILON10),N)return gce(L,F);let G=new Array(4);if(G[ni.SCENE2D]=y4t,G[ni.SCENE3D]=x4t,G[ni.COLUMBUS_VIEW]=g4t,S<=0)return gce(function(){G[m](o,1,f,D,R,P,y,I,v,B)({time:1}),typeof L=="function"&&L()},F);let J=G[m](o,S,f,D,R,P,y,I,v,B);if(!O(Q)){let K=T.positionCartographic.height,X=m===ni.SCENE3D?x.cartesianToCartographic(f).height:f.z;K>X&&K>11500?Q=dC.CUBIC_OUT:Q=dC.QUINTIC_IN_OUT}return{duration:S,easingFunction:Q,startObject:{time:0},stopObject:{time:S},update:J,complete:L,cancel:F}};var Gxe=rKe,_4t={ROTATE:0,INFINITE_SCROLL:1},cw=Object.freeze(_4t);function Qo(o){this._scene=o,this._transform=Re.clone(Re.IDENTITY),this._invTransform=Re.clone(Re.IDENTITY),this._actualTransform=Re.clone(Re.IDENTITY),this._actualInvTransform=Re.clone(Re.IDENTITY),this._transformChanged=!1,this.position=new Z,this._position=new Z,this._positionWC=new Z,this._positionCartographic=new Rt,this._oldPositionWC=void 0,this.positionWCDeltaMagnitude=0,this.positionWCDeltaMagnitudeLastFrame=0,this.timeSinceMoved=0,this._lastMovedTimestamp=0,this.direction=new Z,this._direction=new Z,this._directionWC=new Z,this.up=new Z,this._up=new Z,this._upWC=new Z,this.right=new Z,this._right=new Z,this._rightWC=new Z,this.frustum=new fu,this.frustum.aspectRatio=o.drawingBufferWidth/o.drawingBufferHeight,this.frustum.fov=Be.toRadians(60),this.defaultMoveAmount=1e5,this.defaultLookAmount=Math.PI/60,this.defaultRotateAmount=Math.PI/3600,this.defaultZoomAmount=1e5,this.constrainedAxis=void 0,this.maximumZoomFactor=1.5,this._moveStart=new ur,this._moveEnd=new ur,this._changed=new ur,this._changedPosition=void 0,this._changedDirection=void 0,this._changedFrustum=void 0,this._changedHeading=void 0,this.percentageChanged=.5,this._viewMatrix=new Re,this._invViewMatrix=new Re,aKe(this),this._mode=ni.SCENE3D,this._modeChanged=!0;let A=o.mapProjection;this._projection=A,this._maxCoord=A.project(new Rt(Math.PI,Be.PI_OVER_TWO)),this._max2Dfrustum=void 0,mKe(this,Qo.DEFAULT_VIEW_RECTANGLE,this.position,!0);let f=Z.magnitude(this.position);f+=f*Qo.DEFAULT_VIEW_FACTOR,Z.normalize(this.position,this.position),Z.multiplyByScalar(this.position,f,this.position)}Qo.TRANSFORM_2D=new Re(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);Qo.TRANSFORM_2D_INVERSE=Re.inverseTransformation(Qo.TRANSFORM_2D,new Re);Qo.DEFAULT_VIEW_RECTANGLE=gi.fromDegrees(-95,-20,-70,90);Qo.DEFAULT_VIEW_FACTOR=.5;Qo.DEFAULT_OFFSET=new Rx(0,-Be.PI_OVER_FOUR,0);function aKe(o){Re.computeView(o._position,o._direction,o._up,o._right,o._viewMatrix),Re.multiply(o._viewMatrix,o._actualInvTransform,o._viewMatrix),Re.inverseTransformation(o._viewMatrix,o._invViewMatrix)}function v4t(o){if(!O(o._oldPositionWC))o._oldPositionWC=Z.clone(o.positionWC,o._oldPositionWC);else{o.positionWCDeltaMagnitudeLastFrame=o.positionWCDeltaMagnitude;let A=Z.subtract(o.positionWC,o._oldPositionWC,o._oldPositionWC);o.positionWCDeltaMagnitude=Z.magnitude(A),o._oldPositionWC=Z.clone(o.positionWC,o._oldPositionWC),o.positionWCDeltaMagnitude>0?(o.timeSinceMoved=0,o._lastMovedTimestamp=oA()):o.timeSinceMoved=Math.max(oA()-o._lastMovedTimestamp,0)/1e3}}Qo.prototype.canPreloadFlight=function(){return O(this._currentFlight)&&this._mode!==ni.SCENE2D};Qo.prototype._updateCameraChanged=function(){let o=this;if(v4t(o),o._changed.numberOfListeners===0)return;let A=o.percentageChanged,f=o.heading;O(o._changedHeading)||(o._changedHeading=f);let m=Math.abs(o._changedHeading-f)%Be.TWO_PI;m=m>Be.PI?Be.TWO_PI-m:m;let C=m/Math.PI;if(C>A&&(o._changed.raiseEvent(C),o._changedHeading=f),o._mode===ni.SCENE2D){if(!O(o._changedFrustum)){o._changedPosition=Z.clone(o.position,o._changedPosition),o._changedFrustum=o.frustum.clone();return}let I=o.position,v=o._changedPosition,B=o.frustum,Q=o._changedFrustum,T=I.x+B.left,w=I.x+B.right,S=v.x+Q.left,D=v.x+Q.right,R=I.y+B.bottom,P=I.y+B.top,M=v.y+Q.bottom,L=v.y+Q.top,F=Math.max(T,S),k=Math.min(w,D),N=Math.max(R,M),G=Math.min(P,L),J;if(F>=k||N>=P)J=1;else{let K=Q;TD&&RL&&(K=B),J=1-(k-F)*(G-N)/((K.right-K.left)*(K.top-K.bottom))}J>A&&(o._changed.raiseEvent(J),o._changedPosition=Z.clone(o.position,o._changedPosition),o._changedFrustum=o.frustum.clone(o._changedFrustum));return}if(!O(o._changedDirection)){o._changedPosition=Z.clone(o.positionWC,o._changedPosition),o._changedDirection=Z.clone(o.directionWC,o._changedDirection);return}let E=Be.acosClamped(Z.dot(o.directionWC,o._changedDirection)),x;O(o.frustum.fovy)?x=E/(o.frustum.fovy*.5):x=E;let y=Z.distance(o.positionWC,o._changedPosition)/o.positionCartographic.height;(x>A||y>A)&&(o._changed.raiseEvent(Math.max(x,y)),o._changedPosition=Z.clone(o.positionWC,o._changedPosition),o._changedDirection=Z.clone(o.directionWC,o._changedDirection))};function B4t(o){kr.basisTo2D(o._projection,o._transform,o._actualTransform)}var w4t=new Rt,b4t=new Z,vq=new Z,Q4t=new zt,S4t=new zt,D4t=new zt,T4t=new zt,M4t=new zt;function P4t(o){let A=o._projection,f=A.ellipsoid,m=Re.getColumn(o._transform,3,Q4t),C=f.cartesianToCartographic(m,w4t),E=A.project(C,b4t),x=S4t;x.x=E.z,x.y=E.x,x.z=E.y,x.w=1;let y=zt.clone(zt.UNIT_X,M4t),I=zt.add(Re.getColumn(o._transform,0,vq),m,vq);f.cartesianToCartographic(I,C),A.project(C,E);let v=D4t;v.x=E.z,v.y=E.x,v.z=E.y,v.w=0,Z.subtract(v,x,v),v.x=0;let B=T4t;if(Z.magnitudeSquared(v)>Be.EPSILON10)Z.cross(y,v,B);else{let Q=zt.add(Re.getColumn(o._transform,1,vq),m,vq);f.cartesianToCartographic(Q,C),A.project(C,E),B.x=E.z,B.y=E.x,B.z=E.y,B.w=0,Z.subtract(B,x,B),B.x=0,Z.magnitudeSquared(B)Be.EPSILON2){let D=1/Z.magnitudeSquared(I),R=Z.dot(I,x)*D,P=Z.multiplyByScalar(x,R,pce);I=Z.normalize(Z.subtract(I,P,o._up),o._up),Z.clone(I,o.up),B=Z.cross(x,I,o._right),Z.clone(B,o.right)}}(y||T)&&(o._directionWC=Re.multiplyByPointAsVector(w,x,o._directionWC),Z.normalize(o._directionWC,o._directionWC)),(v||T)&&(o._upWC=Re.multiplyByPointAsVector(w,I,o._upWC),Z.normalize(o._upWC,o._upWC)),(Q||T)&&(o._rightWC=Re.multiplyByPointAsVector(w,B,o._rightWC),Z.normalize(o._rightWC,o._rightWC)),(E||y||v||Q||T)&&aKe(o)}function Hxe(o,A){let f;return Be.equalsEpsilon(Math.abs(o.z),1,Be.EPSILON3)?f=Math.atan2(A.y,A.x)-Be.PI_OVER_TWO:f=Math.atan2(o.y,o.x)-Be.PI_OVER_TWO,Be.TWO_PI-Be.zeroToTwoPi(f)}function sKe(o){return Be.PI_OVER_TWO-Be.acosClamped(o.z)}function lKe(o,A,f){let m=0;return Be.equalsEpsilon(Math.abs(o.z),1,Be.EPSILON3)||(m=Math.atan2(-f.z,A.z),m=Be.zeroToTwoPi(m+Be.TWO_PI)),m}var b7=new Re,Q7=new Re;Object.defineProperties(Qo.prototype,{transform:{get:function(){return this._transform}},inverseTransform:{get:function(){return qm(this),this._invTransform}},viewMatrix:{get:function(){return qm(this),this._viewMatrix}},inverseViewMatrix:{get:function(){return qm(this),this._invViewMatrix}},positionCartographic:{get:function(){return qm(this),this._positionCartographic}},positionWC:{get:function(){return qm(this),this._positionWC}},directionWC:{get:function(){return qm(this),this._directionWC}},upWC:{get:function(){return qm(this),this._upWC}},rightWC:{get:function(){return qm(this),this._rightWC}},heading:{get:function(){if(this._mode!==ni.MORPHING){let o=this._projection.ellipsoid,A=Re.clone(this._transform,b7),f=kr.eastNorthUpToFixedFrame(this.positionWC,o,Q7);this._setTransform(f);let m=Hxe(this.direction,this.up);return this._setTransform(A),m}}},pitch:{get:function(){if(this._mode!==ni.MORPHING){let o=this._projection.ellipsoid,A=Re.clone(this._transform,b7),f=kr.eastNorthUpToFixedFrame(this.positionWC,o,Q7);this._setTransform(f);let m=sKe(this.direction);return this._setTransform(A),m}}},roll:{get:function(){if(this._mode!==ni.MORPHING){let o=this._projection.ellipsoid,A=Re.clone(this._transform,b7),f=kr.eastNorthUpToFixedFrame(this.positionWC,o,Q7);this._setTransform(f);let m=lKe(this.direction,this.up,this.right);return this._setTransform(A),m}}},moveStart:{get:function(){return this._moveStart}},moveEnd:{get:function(){return this._moveEnd}},changed:{get:function(){return this._changed}}});Qo.prototype.update=function(o){let A=!1;if(o!==this._mode&&(this._mode=o,this._modeChanged=o!==ni.MORPHING,A=this._mode===ni.SCENE2D),A){let f=this._max2Dfrustum=this.frustum.clone(),m=2,C=f.top/f.right;f.right=this._maxCoord.x*m,f.left=-f.right,f.top=C*f.right,f.bottom=-f.top}this._mode===ni.SCENE2D&&hKe(this,this.position)};var R4t=new Z,L4t=new Z,F4t=new Z;Qo.prototype._setTransform=function(o){let A=Z.clone(this.positionWC,R4t),f=Z.clone(this.upWC,L4t),m=Z.clone(this.directionWC,F4t);Re.clone(o,this._transform),this._transformChanged=!0,qm(this);let C=this._actualInvTransform;Re.multiplyByPoint(C,A,this.position),Re.multiplyByPointAsVector(C,m,this.direction),Re.multiplyByPointAsVector(C,f,this.up),Z.cross(this.direction,this.up,this.right),qm(this)};var N4t=new rt,k4t=new Ua,O4t=new Z,U4t=new Z;function uKe(o){if(!Re.equals(Re.IDENTITY,o.transform))return Z.magnitude(o.position);let A=o._scene,f=A.globe,m=N4t;m.x=A.drawingBufferWidth/2,m.y=A.drawingBufferHeight/2;let C;if(O(f)){let y=o.getPickRay(m,k4t);C=f.pickWorldCoordinates(y,A,!0,O4t)}let E;A.pickPositionSupported&&(E=A.pickPositionWorldCoordinates(m,U4t));let x;if(O(C)||O(E)){let y=O(E)?Z.distance(E,o.positionWC):Number.POSITIVE_INFINITY,I=O(C)?Z.distance(C,o.positionWC):Number.POSITIVE_INFINITY;x=Math.min(y,I)}else x=Math.max(o.positionCartographic.height,0);return x}Qo.prototype._adjustOrthographicFrustum=function(o){this.frustum instanceof us&&(!o&&this._positionCartographic.height<15e4||(this.frustum.width=uKe(this)))};var S$=new Z,Vxe=new Re,G4t=new Re,zxe=new fr,Yxe=new Gt,AKe=new Rt;function H4t(o,A,f){let m=Re.clone(o.transform,Vxe),C=kr.eastNorthUpToFixedFrame(A,o._projection.ellipsoid,G4t);o._setTransform(C),Z.clone(Z.ZERO,o.position),f.heading=f.heading-Be.PI_OVER_TWO;let E=fr.fromHeadingPitchRoll(f,zxe),x=Gt.fromQuaternion(E,Yxe);Gt.getColumn(x,0,o.direction),Gt.getColumn(x,2,o.up),Z.cross(o.direction,o.up,o.right),o._setTransform(m),o._adjustOrthographicFrustum(!0)}function V4t(o,A,f,m){let C=Re.clone(o.transform,Vxe);if(o._setTransform(Re.IDENTITY),!Z.equals(A,o.positionWC)){if(m){let y=o._projection,I=y.ellipsoid.cartesianToCartographic(A,AKe);A=y.project(I,S$)}Z.clone(A,o.position)}f.heading=f.heading-Be.PI_OVER_TWO;let E=fr.fromHeadingPitchRoll(f,zxe),x=Gt.fromQuaternion(E,Yxe);Gt.getColumn(x,0,o.direction),Gt.getColumn(x,2,o.up),Z.cross(o.direction,o.up,o.right),o._setTransform(C),o._adjustOrthographicFrustum(!0)}function z4t(o,A,f,m){let C=Re.clone(o.transform,Vxe);if(o._setTransform(Re.IDENTITY),!Z.equals(A,o.positionWC)){if(m){let I=o._projection,v=I.ellipsoid.cartesianToCartographic(A,AKe);A=I.project(v,S$)}rt.clone(A,o.position);let E=-A.z*.5,x=-E,y=o.frustum;if(x>E){let I=y.top/y.right;y.right=x,y.left=E,y.top=y.right*I,y.bottom=-y.top}}if(o._scene.mapMode2D===cw.ROTATE){f.heading=f.heading-Be.PI_OVER_TWO,f.pitch=-Be.PI_OVER_TWO,f.roll=0;let E=fr.fromHeadingPitchRoll(f,zxe),x=Gt.fromQuaternion(E,Yxe);Gt.getColumn(x,2,o.up),Z.cross(o.direction,o.up,o.right)}o._setTransform(C)}var Y4t=new Z,J4t=new Z,K4t=new Z;function cKe(o,A,f,m){let C=Z.clone(f.direction,Y4t),E=Z.clone(f.up,J4t);if(o._scene.mode===ni.SCENE3D){let y=o._projection.ellipsoid,I=kr.eastNorthUpToFixedFrame(A,y,b7),v=Re.inverseTransformation(I,Q7);Re.multiplyByPointAsVector(v,C,C),Re.multiplyByPointAsVector(v,E,E)}let x=Z.cross(C,E,K4t);return m.heading=Hxe(C,E),m.pitch=sKe(C),m.roll=lKe(C,E,x),m}var Ufe={destination:void 0,orientation:{direction:void 0,up:void 0,heading:void 0,pitch:void 0,roll:void 0},convert:void 0,endTransform:void 0},CU=new bs;Qo.prototype.setView=function(o){o=oe(o,oe.EMPTY_OBJECT);let A=oe(o.orientation,oe.EMPTY_OBJECT),f=this._mode;if(f===ni.MORPHING)return;O(o.endTransform)&&this._setTransform(o.endTransform);let m=oe(o.convert,!0),C=oe(o.destination,Z.clone(this.positionWC,S$));O(C)&&O(C.west)&&(C=this.getRectangleCameraCoordinates(C,S$),m=!1),O(A.direction)&&(A=cKe(this,C,A,Ufe.orientation)),CU.heading=oe(A.heading,0),CU.pitch=oe(A.pitch,-Be.PI_OVER_TWO),CU.roll=oe(A.roll,0),f===ni.SCENE3D?H4t(this,C,CU):f===ni.SCENE2D?z4t(this,C,CU,m):V4t(this,C,CU,m)};var W4t=new Z;Qo.prototype.flyHome=function(o){let A=this._mode;if(A===ni.MORPHING&&this._scene.completeMorph(),A===ni.SCENE2D)this.flyTo({destination:Qo.DEFAULT_VIEW_RECTANGLE,duration:o,endTransform:Re.IDENTITY});else if(A===ni.SCENE3D){let f=this.getRectangleCameraCoordinates(Qo.DEFAULT_VIEW_RECTANGLE),m=Z.magnitude(f);m+=m*Qo.DEFAULT_VIEW_FACTOR,Z.normalize(f,f),Z.multiplyByScalar(f,m,f),this.flyTo({destination:f,duration:o,endTransform:Re.IDENTITY})}else if(A===ni.COLUMBUS_VIEW){let f=this._projection.ellipsoid.maximumRadius,m=new Z(0,-1,1);m=Z.multiplyByScalar(Z.normalize(m,m),5*f,m),this.flyTo({destination:m,duration:o,orientation:{heading:0,pitch:-Math.acos(Z.normalize(m,W4t).z),roll:0},endTransform:Re.IDENTITY,convert:!1})}};Qo.prototype.worldToCameraCoordinates=function(o,A){return O(A)||(A=new zt),qm(this),Re.multiplyByVector(this._actualInvTransform,o,A)};Qo.prototype.worldToCameraCoordinatesPoint=function(o,A){return O(A)||(A=new Z),qm(this),Re.multiplyByPoint(this._actualInvTransform,o,A)};Qo.prototype.worldToCameraCoordinatesVector=function(o,A){return O(A)||(A=new Z),qm(this),Re.multiplyByPointAsVector(this._actualInvTransform,o,A)};Qo.prototype.cameraToWorldCoordinates=function(o,A){return O(A)||(A=new zt),qm(this),Re.multiplyByVector(this._actualTransform,o,A)};Qo.prototype.cameraToWorldCoordinatesPoint=function(o,A){return O(A)||(A=new Z),qm(this),Re.multiplyByPoint(this._actualTransform,o,A)};Qo.prototype.cameraToWorldCoordinatesVector=function(o,A){return O(A)||(A=new Z),qm(this),Re.multiplyByPointAsVector(this._actualTransform,o,A)};function hKe(o,A){let f=o._scene.mapMode2D===cw.ROTATE,m=o._maxCoord.x,C=o._maxCoord.y,E,x;f?(x=m,E=-x):(x=A.x-m*2,E=A.x+m*2),A.x>m&&(A.x=x),A.x<-m&&(A.x=E),A.y>C&&(A.y=C),A.y<-C&&(A.y=-C)}var mce=new Z;Qo.prototype.move=function(o,A){let f=this.position;Z.multiplyByScalar(o,A,mce);let m=this._scene.screenSpaceCameraController.defaultCollisionRayWidth,C=new Z;Z.clone(f,C),Z.add(C,mce,C),!this.modelColliDetection(C,void 0,m)&&(this.groundRoaming(C)||Z.add(f,mce,f),this._mode===ni.SCENE2D&&hKe(this,f),this._adjustOrthographicFrustum(!0))};Qo.prototype.moveForward=function(o){o=oe(o,this.defaultMoveAmount),this._mode===ni.SCENE2D?Cie(this,o):this.move(this.direction,o)};Qo.prototype.moveBackward=function(o){o=oe(o,this.defaultMoveAmount),this._mode===ni.SCENE2D?Cie(this,-o):this.move(this.direction,-o)};Qo.prototype.moveUp=function(o){o=oe(o,this.defaultMoveAmount),this.move(this.up,o)};Qo.prototype.moveDown=function(o){o=oe(o,this.defaultMoveAmount),this.move(this.up,-o)};Qo.prototype.moveRight=function(o){o=oe(o,this.defaultMoveAmount),this.move(this.right,o)};Qo.prototype.moveLeft=function(o){o=oe(o,this.defaultMoveAmount),this.move(this.right,-o)};Qo.prototype.lookLeft=function(o){o=oe(o,this.defaultLookAmount),this._mode!==ni.SCENE2D&&this.look(this.up,-o)};Qo.prototype.lookRight=function(o){o=oe(o,this.defaultLookAmount),this._mode!==ni.SCENE2D&&this.look(this.up,o)};Qo.prototype.lookUp=function(o){o=oe(o,this.defaultLookAmount),this._mode!==ni.SCENE2D&&this.look(this.right,-o)};Qo.prototype.lookDown=function(o){o=oe(o,this.defaultLookAmount),this._mode!==ni.SCENE2D&&this.look(this.right,o)};var j4t=new fr,q4t=new Gt;Qo.prototype.look=function(o,A){let f=oe(A,this.defaultLookAmount),m=fr.fromAxisAngle(o,-f,j4t),C=Gt.fromQuaternion(m,q4t),E=this.direction,x=this.up,y=this.right;Gt.multiplyByVector(C,E,E),Gt.multiplyByVector(C,x,x),Gt.multiplyByVector(C,y,y)};Qo.prototype.twistLeft=function(o){o=oe(o,this.defaultLookAmount),this.look(this.direction,o)};Qo.prototype.twistRight=function(o){o=oe(o,this.defaultLookAmount),this.look(this.direction,-o)};var X4t=new fr,Z4t=new Gt;Qo.prototype.rotate=function(o,A){let f=oe(A,this.defaultRotateAmount),m=fr.fromAxisAngle(o,-f,X4t),C=Gt.fromQuaternion(m,Z4t);Gt.multiplyByVector(C,this.position,this.position),Gt.multiplyByVector(C,this.direction,this.direction),Gt.multiplyByVector(C,this.up,this.up),Z.cross(this.direction,this.up,this.right),Z.cross(this.right,this.direction,this.up),this._adjustOrthographicFrustum(!1)};Qo.prototype.rotateDown=function(o){o=oe(o,this.defaultRotateAmount),dKe(this,o)};Qo.prototype.rotateUp=function(o){o=oe(o,this.defaultRotateAmount),dKe(this,-o)};var $4t=new Z,eGt=new Z,tGt=new Z,Lke=new Z;function dKe(o,A){let f=o.position;if(O(o.constrainedAxis)&&!Z.equalsEpsilon(o.position,Z.ZERO,Be.EPSILON2)){let m=Z.normalize(f,$4t),C=Z.equalsEpsilon(m,o.constrainedAxis,Be.EPSILON2),E=Z.equalsEpsilon(m,Z.negate(o.constrainedAxis,Lke),Be.EPSILON2);if(!C&&!E){let x=Z.normalize(o.constrainedAxis,eGt),y=Z.dot(m,x),I=Be.acosClamped(y);A>0&&A>I&&(A=I-Be.EPSILON4),y=Z.dot(m,Z.negate(x,Lke)),I=Be.acosClamped(y),A<0&&-A>I&&(A=-I+Be.EPSILON4);let v=Z.cross(x,m,tGt);o.rotate(v,A)}else(C&&A<0||E&&A>0)&&o.rotate(o.right,A)}else o.rotate(o.right,A)}Qo.prototype.rotateRight=function(o){o=oe(o,this.defaultRotateAmount),fKe(this,-o)};Qo.prototype.rotateLeft=function(o){o=oe(o,this.defaultRotateAmount),fKe(this,o)};function fKe(o,A){O(o.constrainedAxis)?o.rotate(o.constrainedAxis,A):o.rotate(o.up,A)}function Cie(o,A){let f=o.frustum,m;if(A=A*.5,Math.abs(f.top)+Math.abs(f.bottom)>Math.abs(f.left)+Math.abs(f.right)){let C=f.top-A,E=f.bottom+A,x=o._maxCoord.y;o._scene.mapMode2D===cw.ROTATE&&(x*=o.maximumZoomFactor),E>x&&(E=x,C=-x),C<=E&&(C=1,E=-1),m=f.right/f.top,f.top=C,f.bottom=E,f.right=f.top*m,f.left=-f.right}else{let C=f.right-A,E=f.left+A,x=o._maxCoord.x;o._scene.mapMode2D===cw.ROTATE&&(x*=o.maximumZoomFactor),C>x&&(C=x,E=-x),C<=E&&(C=1,E=-1),m=f.top/f.right,f.right=C,f.left=E,f.top=f.right*m,f.bottom=-f.top}}function gKe(o,A){o.move(o.direction,A)}Qo.prototype.zoomIn=function(o){o=oe(o,this.defaultZoomAmount),this._mode===ni.SCENE2D?Cie(this,o):gKe(this,o)};Qo.prototype.zoomOut=function(o){o=oe(o,this.defaultZoomAmount),this._mode===ni.SCENE2D?Cie(this,-o):gKe(this,-o)};Qo.prototype.getMagnitude=function(){if(this._mode===ni.SCENE3D)return Z.magnitude(this.position);if(this._mode===ni.COLUMBUS_VIEW)return Math.abs(this.position.z);if(this._mode===ni.SCENE2D)return Math.max(this.frustum.right-this.frustum.left,this.frustum.top-this.frustum.bottom)};var iGt=new Re;Qo.prototype.lookAt=function(o,A){let f=kr.eastNorthUpToFixedFrame(o,Ci.WGS84,iGt);this.lookAtTransform(f,A)};var rGt=new Z,nGt=new fr,oGt=new fr,aGt=new Gt;function pKe(o,A,f){A=Be.clamp(A,-Be.PI_OVER_TWO,Be.PI_OVER_TWO),o=Be.zeroToTwoPi(o)-Be.PI_OVER_TWO;let m=fr.fromAxisAngle(Z.UNIT_Y,-A,nGt),C=fr.fromAxisAngle(Z.UNIT_Z,-o,oGt),E=fr.multiply(C,m,C),x=Gt.fromQuaternion(E,aGt),y=Z.clone(Z.UNIT_X,rGt);return Gt.multiplyByVector(x,y,y),Z.negate(y,y),Z.multiplyByScalar(y,f,y),y}Qo.prototype.lookAtTransform=function(o,A){if(this._setTransform(o),!O(A))return;let f;if(O(A.heading)?f=pKe(A.heading,A.pitch,A.range):f=A,this._mode===ni.SCENE2D){rt.clone(rt.ZERO,this.position),Z.negate(f,this.up),this.up.z=0,Z.magnitudeSquared(this.up)I&&(I+=Be.TWO_PI);let B=(v+I)*.5,Q;if(y<-Be.PI_OVER_TWO+Be.RADIANS_PER_DEGREE&&x>Be.PI_OVER_TWO-Be.RADIANS_PER_DEGREE)Q=0;else{let K=cV;K.longitude=B,K.latitude=x,K.height=0;let X=sGt;X.longitude=B,X.latitude=y,X.height=0;let q=Fke;(!O(q)||q.ellipsoid!==C)&&(Fke=q=new dd(void 0,void 0,C)),q.setEndPoints(K,X),Q=q.interpolateUsingFraction(.5,cV).latitude}let T=cV;T.longitude=B,T.latitude=Q,T.height=0;let w=C.cartographicToCartesian(T,fGt),S=cV;S.longitude=I,S.latitude=x;let D=C.cartographicToCartesian(S,lGt);S.longitude=v;let R=C.cartographicToCartesian(S,AGt);S.longitude=B;let P=C.cartographicToCartesian(S,hGt);S.latitude=y;let M=C.cartographicToCartesian(S,dGt);S.longitude=I;let L=C.cartographicToCartesian(S,cGt);S.longitude=v;let F=C.cartographicToCartesian(S,uGt);Z.subtract(R,w,R),Z.subtract(L,w,L),Z.subtract(D,w,D),Z.subtract(F,w,F),Z.subtract(P,w,P),Z.subtract(M,w,M);let k=C.geodeticSurfaceNormal(w,E.direction);Z.negate(k,k);let N=Z.cross(k,Z.UNIT_Z,E.right);Z.normalize(N,N);let G=Z.cross(N,k,E.up),J;if(o.frustum instanceof us){let K=Math.max(Z.distance(D,R),Z.distance(L,F)),X=Math.max(Z.distance(D,L),Z.distance(R,F)),q,ee,ie=o.frustum._offCenterFrustum,H=ie.right/ie.top,le=X*H;K>le?(q=K,ee=q/H):(ee=X,q=le),J=Math.max(q,ee)}else{let K=Math.tan(o.frustum.fovy*.5),X=o.frustum.aspectRatio*K;if(J=Math.max(zm(k,G,R,K),zm(k,G,L,K),zm(k,G,D,K),zm(k,G,F,K),zm(k,G,P,K),zm(k,G,M,K),zm(k,N,R,X),zm(k,N,L,X),zm(k,N,D,X),zm(k,N,F,X),zm(k,N,P,X),zm(k,N,M,X)),y<0&&x>0){let q=cV;q.longitude=v,q.latitude=0,q.height=0;let ee=C.cartographicToCartesian(q,Cce);Z.subtract(ee,w,ee),J=Math.max(J,zm(k,G,ee,K),zm(k,N,ee,X)),q.longitude=I,ee=C.cartographicToCartesian(q,Cce),Z.subtract(ee,w,ee),J=Math.max(J,zm(k,G,ee,K),zm(k,N,ee,X))}}return Z.add(w,Z.multiplyByScalar(k,-J,Cce),f)}var pGt=new Rt,mGt=new Z,CGt=new Z;function EGt(o,A,f){let m=o._projection;A.west>A.east&&(A=gi.MAX_VALUE);let C=o._actualTransform,E=o._actualInvTransform,x=pGt;x.longitude=A.east,x.latitude=A.north;let y=m.project(x,mGt);Re.multiplyByPoint(C,y,y),Re.multiplyByPoint(E,y,y),x.longitude=A.west,x.latitude=A.south;let I=m.project(x,CGt);if(Re.multiplyByPoint(C,I,I),Re.multiplyByPoint(E,I,I),f.x=(y.x-I.x)*.5+I.x,f.y=(y.y-I.y)*.5+I.y,O(o.frustum.fovy)){let v=Math.tan(o.frustum.fovy*.5),B=o.frustum.aspectRatio*v;f.z=Math.max((y.x-I.x)/B,(y.y-I.y)/v)*.5}else{let v=y.x-I.x,B=y.y-I.y;f.z=Math.max(v,B)}return f}var xGt=new Rt,yGt=new Z,IGt=new Z;function _Gt(o,A,f){let m=o._projection,C=A.east;A.west>A.east&&(o._scene.mapMode2D===cw.INFINITE_SCROLL?C+=Be.TWO_PI:(A=gi.MAX_VALUE,C=A.east));let E=xGt;E.longitude=C,E.latitude=A.north;let x=m.project(E,yGt);E.longitude=A.west,E.latitude=A.south;let y=m.project(E,IGt),I=Math.abs(x.x-y.x)*.5,v=Math.abs(x.y-y.y)*.5,B,Q,T=o.frustum.right/o.frustum.top,w=v*T;return I>w?(B=I,Q=B/T):(Q=v,B=w),v=Math.max(2*B,2*Q),f.x=(x.x-y.x)*.5+y.x,f.y=(x.y-y.y)*.5+y.y,E=m.unproject(f,E),E.height=v,f=m.project(E,f),f}Qo.prototype.getRectangleCameraCoordinates=function(o,A){let f=this._mode;if(O(A)||(A=new Z),f===ni.SCENE3D)return mKe(this,o,A);if(f===ni.COLUMBUS_VIEW)return EGt(this,o,A);if(f===ni.SCENE2D)return _Gt(this,o,A)};var vGt=new Ua;function BGt(o,A,f,m){f=oe(f,Ci.WGS84);let C=o.getPickRay(A,vGt),E=Sc.rayEllipsoid(C,f);if(!E)return;let x=E.start>0?E.start:E.stop;return Ua.getPoint(C,x,m)}var wGt=new Ua;function bGt(o,A,f,m){let C=o.getPickRay(A,wGt).origin;C=Z.fromElements(C.y,C.z,0,C);let E=f.unproject(C);if(!(E.latitude<-Be.PI_OVER_TWO||E.latitude>Be.PI_OVER_TWO))return f.ellipsoid.cartographicToCartesian(E,m)}var QGt=new Ua;function SGt(o,A,f,m){let C=o.getPickRay(A,QGt),E=-C.origin.x/C.direction.x;Ua.getPoint(C,E,m);let x=f.unproject(new Z(m.y,m.z,0));if(!(x.latitude<-Be.PI_OVER_TWO||x.latitude>Be.PI_OVER_TWO||x.longitude<-Math.PI||x.longitude>Math.PI))return f.ellipsoid.cartographicToCartesian(x,m)}Qo.prototype.pickEllipsoid=function(o,A,f){let m=this._scene.canvas;if(!(m.clientWidth===0||m.clientHeight===0)){if(O(f)||(f=new Z),A=oe(A,Ci.WGS84),this._mode===ni.SCENE3D)f=BGt(this,o,A,f);else if(this._mode===ni.SCENE2D)f=bGt(this,o,this._projection,f);else if(this._mode===ni.COLUMBUS_VIEW)f=SGt(this,o,this._projection,f);else return;return f}};var DGt=new Z,TGt=new Z,MGt=new Z;function PGt(o,A,f){let m=o._scene.canvas,C=m.clientWidth,E=m.clientHeight,x=Math.tan(o.frustum.fovy*.5),y=o.frustum.aspectRatio*x,I=o.frustum.near,v=2/C*A.x-1,B=2/E*(E-A.y)-1,Q=o.positionWC;Z.clone(Q,f.origin);let T=Z.multiplyByScalar(o.directionWC,I,DGt);Z.add(Q,T,T);let w=Z.multiplyByScalar(o.rightWC,v*I*y,TGt),S=Z.multiplyByScalar(o.upWC,B*I*x,MGt),D=Z.add(T,w,f.direction);return Z.add(D,S,D),Z.subtract(D,Q,D),Z.normalize(D,D),f}var Bq=new Z;function RGt(o,A,f){let m=o._scene.canvas,C=m.clientWidth,E=m.clientHeight,x=o.frustum,y=x.offCenterFrustum;O(y)&&(x=y);let I=2/C*A.x-1;I*=(x.right-x.left)*.5;let v=2/E*(E-A.y)-1;v*=(x.top-x.bottom)*.5;let B=f.origin;return Z.clone(o.position,B),Z.multiplyByScalar(o.right,I,Bq),Z.add(Bq,B,B),Z.multiplyByScalar(o.up,v,Bq),Z.add(Bq,B,B),Z.clone(o.directionWC,f.direction),(o._mode===ni.COLUMBUS_VIEW||o._mode===ni.SCENE2D)&&Z.fromElements(f.origin.z,f.origin.x,f.origin.y,f.origin),f}Qo.prototype.getPickRay=function(o,A){O(A)||(A=new Ua);let f=this._scene.canvas;if(f.clientWidth<=0||f.clientHeight<=0)return;let m=this.frustum;return O(m.aspectRatio)&&O(m.fov)&&O(m.near)?PGt(this,o,A):RGt(this,o,A)};var LGt=new Z,FGt=new Z;Qo.prototype.distanceToBoundingSphere=function(o){let A=Z.subtract(this.positionWC,o.center,LGt),f=Z.multiplyByScalar(this.directionWC,Z.dot(A,this.directionWC),FGt);return Math.max(0,Z.magnitude(f)-o.radius)};var NGt=new rt;Qo.prototype.getPixelSize=function(o,A,f){let m=this.distanceToBoundingSphere(o),C=this.frustum.getPixelDimensions(A,f,m,this._scene.pixelRatio,NGt);return Math.max(C.x,C.y)};function kGt(o,A,f,m,C,E){let x=Z.clone(A);f.y>m?x.y-=f.y-m:f.y<-m&&(x.y+=-m-f.y),f.z>C?x.z-=f.z-C:f.z<-C&&(x.z+=-C-f.z);function y(I){let v=Z.lerp(A,x,I.time,new Z);o.worldToCameraCoordinatesPoint(v,o.position)}return{easingFunction:dC.EXPONENTIAL_OUT,startObject:{time:0},stopObject:{time:1},duration:E,update:y}}var OGt=new Z,Nke=new Z,UGt=new Z,GGt=new Z;function HGt(o,A){let f=o.position,m=o.direction,C=o.worldToCameraCoordinatesVector(Z.UNIT_X,OGt),E=-Z.dot(C,f)/Z.dot(C,m),x=Z.add(f,Z.multiplyByScalar(m,E,Nke),Nke);o.cameraToWorldCoordinatesPoint(x,x),f=o.cameraToWorldCoordinatesPoint(o.position,UGt);let y=Math.tan(o.frustum.fovy*.5),I=o.frustum.aspectRatio*y,v=Z.magnitude(Z.subtract(f,x,GGt)),B=I*v,Q=y*v,T=o._maxCoord.x,w=o._maxCoord.y,S=Math.max(B-T,T),D=Math.max(Q-w,w);if(f.z<-S||f.z>S||f.y<-D||f.y>D){let R=x.y<-S||x.y>S,P=x.z<-D||x.z>D;if(R||P)return kGt(o,f,x,S,D,A)}}Qo.prototype.createCorrectPositionTween=function(o){if(this._mode===ni.COLUMBUS_VIEW)return HGt(this,o)};var VGt=new Z,a0={destination:void 0,heading:void 0,pitch:void 0,roll:void 0,duration:void 0,complete:void 0,cancel:void 0,endTransform:void 0,maximumHeight:void 0,easingFunction:void 0};Qo.prototype.cancelFlight=function(){O(this._currentFlight)&&(this._currentFlight.cancelTween(),this._currentFlight=void 0)};Qo.prototype.completeFlight=function(){if(O(this._currentFlight)){this._currentFlight.cancelTween();let o={destination:void 0,orientation:{heading:void 0,pitch:void 0,roll:void 0}};o.destination=a0.destination,o.orientation.heading=a0.heading,o.orientation.pitch=a0.pitch,o.orientation.roll=a0.roll,this.setView(o),O(this._currentFlight.complete)&&this._currentFlight.complete(),this._currentFlight=void 0}};Qo.prototype.flyTo=function(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.destination;if(this._mode===ni.MORPHING)return;this.cancelFlight();let f=A instanceof gi;f&&(A=this.getRectangleCameraCoordinates(A,VGt));let m=oe(o.orientation,oe.EMPTY_OBJECT);if(O(m.direction)&&(m=cKe(this,A,m,Ufe.orientation)),O(o.duration)&&o.duration<=0){let v=Ufe;v.destination=o.destination,v.orientation.heading=m.heading,v.orientation.pitch=m.pitch,v.orientation.roll=m.roll,v.convert=o.convert,v.endTransform=o.endTransform,this.setView(v),typeof o.complete=="function"&&o.complete();return}let C=this,E;a0.destination=A,a0.heading=m.heading,a0.pitch=m.pitch,a0.roll=m.roll,a0.duration=o.duration,a0.complete=function(){E===C._currentFlight&&(C._currentFlight=void 0),O(o.complete)&&o.complete()},a0.cancel=o.cancel,a0.endTransform=o.endTransform,a0.convert=f?!1:o.convert,a0.maximumHeight=o.maximumHeight,a0.pitchAdjustHeight=o.pitchAdjustHeight,a0.flyOverLongitude=o.flyOverLongitude,a0.flyOverLongitudeWeight=o.flyOverLongitudeWeight,a0.easingFunction=o.easingFunction;let x=this._scene,y=Gxe.createTween(x,a0);if(y.duration===0){typeof y.complete=="function"&&y.complete();return}E=x.tweens.add(y),this._currentFlight=E;let I=this._scene.preloadFlightCamera;this._mode!==ni.SCENE2D&&(O(I)||(I=Qo.clone(this)),I.setView({destination:A,orientation:m}),this._scene.preloadFlightCullingVolume=I.frustum.computeCullingVolume(I.positionWC,I.directionWC,I.upWC))};function zGt(o,A){let f=o.frustum,m=Math.tan(f.fovy*.5),C=f.aspectRatio*m;return Math.max(A/C,A/m)}function YGt(o,A){let f=o.frustum,m=f.offCenterFrustum;O(m)&&(f=m);let C,E,x=f.right/f.top,y=A*x;return A>y?(C=A,E=C/x):(E=A,C=y),Math.max(C,E)*1.5}var JGt=100;function CKe(o,A,f){f=Rx.clone(O(f)?f:Qo.DEFAULT_OFFSET);let m=o._scene.screenSpaceCameraController.minimumZoomDistance,C=o._scene.screenSpaceCameraController.maximumZoomDistance,E=f.range;if(!O(E)||E===0){let x=A.radius;x===0?f.range=JGt:o.frustum instanceof us||o._mode===ni.SCENE2D?f.range=YGt(o,x):f.range=zGt(o,x),f.range=Be.clamp(f.range,m,C)}return f}Qo.prototype.viewBoundingSphere=function(o,A){A=CKe(this,o,A),this.lookAt(o.center,A)};var KGt=new Re,WGt=new Z,jGt=new Z,qGt=new Z,XGt=new Z,ZGt=new zt,$Gt=new fr,e8t=new Gt;Qo.prototype.flyToBoundingSphere=function(o,A){A=oe(A,oe.EMPTY_OBJECT);let f=this._mode===ni.SCENE2D||this._mode===ni.COLUMBUS_VIEW;this._setTransform(Re.IDENTITY);let m=CKe(this,o,A.offset),C;f?C=Z.multiplyByScalar(Z.UNIT_Z,m.range,WGt):C=pKe(m.heading,m.pitch,m.range);let E=kr.eastNorthUpToFixedFrame(o.center,Ci.WGS84,KGt);Re.multiplyByPoint(E,C,C);let x,y;if(!f){if(x=Z.subtract(o.center,C,jGt),Z.normalize(x,x),y=Re.multiplyByPointAsVector(E,Z.UNIT_Z,qGt),1-Math.abs(Z.dot(x,y))Be.PI?v+=Be.TWO_PI-w:v+=w,B=T}return Be.equalsEpsilon(Math.abs(v),Be.TWO_PI,Be.EPSILON9)&&(A.west=-Be.PI,A.east=Be.PI,N2[0].latitude>=0?A.north=Be.PI_OVER_TWO:A.south=-Be.PI_OVER_TWO),A};Qo.prototype.switchToPerspectiveFrustum=function(){if(this._mode===ni.SCENE2D||this.frustum instanceof fu)return;let o=this._scene;this.frustum=new fu,this.frustum.aspectRatio=o.drawingBufferWidth/o.drawingBufferHeight,this.frustum.fov=Be.toRadians(60)};Qo.prototype.switchToOrthographicFrustum=function(){if(this._mode===ni.SCENE2D||this.frustum instanceof us)return;let o=uKe(this),A=this._scene;this.frustum=new us,this.frustum.aspectRatio=A.drawingBufferWidth/A.drawingBufferHeight,this.frustum.width=o};Qo.prototype.changeHeading=function(o){let A=Z.normalize(Z.subtract(o,this.position,new Z),new Z),f=this._projection.ellipsoid,m=Re.clone(this._transform,b7),C=kr.eastNorthUpToFixedFrame(this.positionWC,f,Q7);this._setTransform(C);let E=Hxe(A,this.up);return this._setTransform(m),E};Qo.prototype.groundRoaming=function(o){if(this._mode===ni.SCENE2D)return!1;let A=this._scene;if(!A.screenSpaceCameraController.enableGroundRoaming)return!1;let f=A.screenSpaceCameraController.defaultCollisionRayWidth,m=S7(o),C=Gfe(A,o,m,void 0,f);if(O(C)){let E=A.screenSpaceCameraController.defaultGroundRoamingHeight*-1,x={destination:S7(C,E),orientation:{heading:this.heading,pitch:this.pitch,roll:0}};return this.setView(x),!0}return!1};Qo.prototype.modelColliDetection=function(o,A,f){if(this._mode===ni.SCENE2D)return!1;let m=this._scene;if(!m.screenSpaceCameraController.enableModelCollisionDetection)return!1;let C,E=m.screenSpaceCameraController.defaultGroundRoamingHeight/2;{let x=S7(this.position);if(C=Gfe(m,this.position,x,A,f),O(C)){let y=S7(C,-1*E),I=Z.distance(this.position,y),v=S7(o,I),B=Gfe(m,y,v,A,f);if(O(B)&&r8t(y,v,B))return!0}}return!1};function r8t(o,A,f){let m=Z.distance(o,A),C=Z.distance(o,f);return m+1.5>=C,!1}function S7(o,A){A=oe(A,1);let f=Rt.fromCartesian(o),m=Rt.clone(f);return m.height-=A,m.longitude=Be.toDegrees(m.longitude),m.latitude=Be.toDegrees(m.latitude),Z.fromDegrees(m.longitude,m.latitude,m.height)}function Gfe(o,A,f,m,C){let E=Z.normalize(Z.subtract(f,A,new Z),new Z),x=new Ua(A,E),y=o.pickFromRay(x,m,C);return O(y)?y.position:void 0}Qo.clone=function(o,A){return O(A)||(A=new Qo(o._scene)),Z.clone(o.position,A.position),Z.clone(o.direction,A.direction),Z.clone(o.up,A.up),Z.clone(o.right,A.right),Re.clone(o._transform,A.transform),A._transformChanged=!0,A.frustum=o.frustum.clone(),A};var Ls=Qo,Eie=0,n8t=1;function SN(o){let A=o.frustum,f=o.orientation,m=o.origin,C=oe(o.vertexFormat,Pr.DEFAULT),E=oe(o._drawNearPlane,!0),x,y;A instanceof fu?(x=Eie,y=fu.packedLength):A instanceof us&&(x=n8t,y=us.packedLength),this._frustumType=x,this._frustum=A.clone(),this._origin=Z.clone(m),this._orientation=fr.clone(f),this._drawNearPlane=E,this._vertexFormat=C,this._workerName="createFrustumGeometry",this.packedLength=2+y+Z.packedLength+fr.packedLength+Pr.packedLength}SN.pack=function(o,A,f){f=oe(f,0);let m=o._frustumType,C=o._frustum;return A[f++]=m,m===Eie?(fu.pack(C,A,f),f+=fu.packedLength):(us.pack(C,A,f),f+=us.packedLength),Z.pack(o._origin,A,f),f+=Z.packedLength,fr.pack(o._orientation,A,f),f+=fr.packedLength,Pr.pack(o._vertexFormat,A,f),f+=Pr.packedLength,A[f]=o._drawNearPlane?1:0,A};var o8t=new fu,a8t=new us,s8t=new fr,l8t=new Z,u8t=new Pr;SN.unpack=function(o,A,f){A=oe(A,0);let m=o[A++],C;m===Eie?(C=fu.unpack(o,A,o8t),A+=fu.packedLength):(C=us.unpack(o,A,a8t),A+=us.packedLength);let E=Z.unpack(o,A,l8t);A+=Z.packedLength;let x=fr.unpack(o,A,s8t);A+=fr.packedLength;let y=Pr.unpack(o,A,u8t);A+=Pr.packedLength;let I=o[A]===1;if(!O(f))return new SN({frustum:C,origin:E,orientation:x,vertexFormat:y,_drawNearPlane:I});let v=m===f._frustumType?f._frustum:void 0;return f._frustum=C.clone(v),f._frustumType=m,f._origin=Z.clone(E,f._origin),f._orientation=fr.clone(x,f._orientation),f._vertexFormat=Pr.clone(y,f._vertexFormat),f._drawNearPlane=I,f};function EU(o,A,f,m,C,E,x,y){let I=o/3*2;for(let v=0;v<4;++v)O(A)&&(A[o]=E.x,A[o+1]=E.y,A[o+2]=E.z),O(f)&&(f[o]=x.x,f[o+1]=x.y,f[o+2]=x.z),O(m)&&(m[o]=y.x,m[o+1]=y.y,m[o+2]=y.z),o+=3;C[I]=0,C[I+1]=0,C[I+2]=1,C[I+3]=0,C[I+4]=1,C[I+5]=1,C[I+6]=0,C[I+7]=1}var A8t=new Gt,c8t=new Re,yce=new Re,EKe=new Z,xKe=new Z,yKe=new Z,h8t=new Z,d8t=new Z,f8t=new Z,n2=new Array(3),dY=new Array(4);dY[0]=new zt(-1,-1,1,1);dY[1]=new zt(1,-1,1,1);dY[2]=new zt(1,1,1,1);dY[3]=new zt(-1,1,1,1);var IKe=new Array(4);for(let o=0;o<4;++o)IKe[o]=new zt;SN._computeNearFarPlanes=function(o,A,f,m,C,E,x,y){let I=Gt.fromQuaternion(A,A8t),v=oe(E,EKe),B=oe(x,xKe),Q=oe(y,yKe);v=Gt.getColumn(I,0,v),B=Gt.getColumn(I,1,B),Q=Gt.getColumn(I,2,Q),Z.normalize(v,v),Z.normalize(B,B),Z.normalize(Q,Q),Z.negate(v,v);let T=Re.computeView(o,Q,B,v,c8t),w,S,D=m.projectionMatrix;if(f===Eie){let R=Re.multiply(D,T,yce);S=Re.inverse(R,yce)}else w=Re.inverseTransformation(T,yce);O(S)?(n2[0]=m.near,n2[1]=m.far):(n2[0]=0,n2[1]=m.near,n2[2]=m.far);for(let R=0;R<2;++R)for(let P=0;P<4;++P){let M=zt.clone(dY[P],IKe[P]);if(O(S)){M=Re.multiplyByVector(S,M,M);let L=1/M.w;Z.multiplyByScalar(M,L,M),Z.subtract(M,o,M),Z.normalize(M,M);let F=Z.dot(Q,M);Z.multiplyByScalar(M,n2[R]/F,M),Z.add(M,o,M)}else{let L=m.offCenterFrustum;O(L)&&(m=L);let F=n2[R],k=n2[R+1];M.x=(M.x*(m.right-m.left)+m.left+m.right)*.5,M.y=(M.y*(m.top-m.bottom)+m.bottom+m.top)*.5,M.z=(M.z*(F-k)-F-k)*.5,M.w=1,Re.multiplyByVector(w,M,M)}C[12*R+P*3]=M.x,C[12*R+P*3+1]=M.y,C[12*R+P*3+2]=M.z}};SN.createGeometry=function(o){let A=o._frustumType,f=o._frustum,m=o._origin,C=o._orientation,E=o._drawNearPlane,x=o._vertexFormat,y=E?6:5,I=new Float64Array(3*4*6);SN._computeNearFarPlanes(m,C,A,f,I);let v=3*4*2;I[v]=I[3*4],I[v+1]=I[3*4+1],I[v+2]=I[3*4+2],I[v+3]=I[0],I[v+4]=I[1],I[v+5]=I[2],I[v+6]=I[3*3],I[v+7]=I[3*3+1],I[v+8]=I[3*3+2],I[v+9]=I[3*7],I[v+10]=I[3*7+1],I[v+11]=I[3*7+2],v+=3*4,I[v]=I[3*5],I[v+1]=I[3*5+1],I[v+2]=I[3*5+2],I[v+3]=I[3],I[v+4]=I[3+1],I[v+5]=I[3+2],I[v+6]=I[0],I[v+7]=I[1],I[v+8]=I[2],I[v+9]=I[3*4],I[v+10]=I[3*4+1],I[v+11]=I[3*4+2],v+=3*4,I[v]=I[3],I[v+1]=I[3+1],I[v+2]=I[3+2],I[v+3]=I[3*5],I[v+4]=I[3*5+1],I[v+5]=I[3*5+2],I[v+6]=I[3*6],I[v+7]=I[3*6+1],I[v+8]=I[3*6+2],I[v+9]=I[3*2],I[v+10]=I[3*2+1],I[v+11]=I[3*2+2],v+=3*4,I[v]=I[3*2],I[v+1]=I[3*2+1],I[v+2]=I[3*2+2],I[v+3]=I[3*6],I[v+4]=I[3*6+1],I[v+5]=I[3*6+2],I[v+6]=I[3*7],I[v+7]=I[3*7+1],I[v+8]=I[3*7+2],I[v+9]=I[3*3],I[v+10]=I[3*3+1],I[v+11]=I[3*3+2],E||(I=I.subarray(3*4));let B=new Fu({position:new wr({componentDatatype:Ft.DOUBLE,componentsPerAttribute:3,values:I})});if(O(x.normal)||O(x.tangent)||O(x.bitangent)||O(x.st)){let T=O(x.normal)?new Float32Array(12*y):void 0,w=O(x.tangent)?new Float32Array(3*4*y):void 0,S=O(x.bitangent)?new Float32Array(3*4*y):void 0,D=O(x.st)?new Float32Array(2*4*y):void 0,R=EKe,P=xKe,M=yKe,L=Z.negate(R,h8t),F=Z.negate(P,d8t),k=Z.negate(M,f8t);v=0,E&&(EU(v,T,w,S,D,k,R,P),v+=3*4),EU(v,T,w,S,D,M,L,P),v+=3*4,EU(v,T,w,S,D,L,k,P),v+=3*4,EU(v,T,w,S,D,F,k,L),v+=3*4,EU(v,T,w,S,D,R,M,P),v+=3*4,EU(v,T,w,S,D,P,M,L),O(T)&&(B.normal=new wr({componentDatatype:Ft.FLOAT,componentsPerAttribute:3,values:T})),O(w)&&(B.tangent=new wr({componentDatatype:Ft.FLOAT,componentsPerAttribute:3,values:w})),O(S)&&(B.bitangent=new wr({componentDatatype:Ft.FLOAT,componentsPerAttribute:3,values:S})),O(D)&&(B.st=new wr({componentDatatype:Ft.FLOAT,componentsPerAttribute:2,values:D}))}let Q=new Uint16Array(6*y);for(let T=0;T1,v=o.debugCascadeColors,B=o.softShadows;return`receiveFisheyeProjection ${C}${E}${x}${y}${I}${v}${B}${A}${f}${m}`};yie.createReceiveVertexShader=function(o,A,f){let m=o.defines.slice(0),C=o.sources.slice(0);return A&&(f?m.push("GENERATE_POSITION_AND_NORMAL"):m.push("GENERATE_POSITION")),new _r({defines:m,sources:C})};yie.createReceiveFragmentShader=function(o,A,f,m,C){let E=_r.findNormalVarying(o),x=!m&&O(E)||m&&C,y=_r.findPositionVarying(o),I=O(y),v=A._isPointLight?A._pointBias:m?A._terrainBias:A._primitiveBias,B=o.defines.slice(0),Q=o.sources.slice(0),T=Q.length;for(let D=0;D radius) { continue; } vec3 directionWC = czm_inverseViewRotation * directionEC; vec4 directionLight = shadowMap_matrixArr[i] * vec4(directionEC,0.0); vec3 shadowPosition = normalize(directionLight.xyz); shadowPosition = vec3( shadowPosition.xy, 0.0) * 0.5 + vec3(0.5,0.5, 0.0); if(i == 0){ out_FragColor *= texture(shadowMap_projectionTextureArr[0], shadowPosition.xy); }else if(i == 1){ out_FragColor *= texture(shadowMap_projectionTextureArr[1], shadowPosition.xy); }else if(i == 2){ out_FragColor *= texture(shadowMap_projectionTextureArr[2], shadowPosition.xy); }else { out_FragColor *= texture(shadowMap_projectionTextureArr[3], shadowPosition.xy); } }else{ break; } } } `,Q.push(w),new _r({defines:B,sources:Q})};var D7=yie;function eT(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.context;this._enabled=oe(o.enabled,!0),this._softShadows=oe(o.softShadows,!1),this._normalOffset=oe(o.normalOffset,!0),this.dirty=!0,this._name=o.name||"",this._matchMaterials=o.matchMaterials||[],this._type="fisheye",this.fromLightSource=oe(o.fromLightSource,!0),this.darkness=oe(o.darkness,0),this._darkness=this.darkness,this.maximumDistance=oe(o.maximumDistance,2e3),this._outOfView=!1,this._outOfViewPrevious=!1,this._needsUpdate=!0;let f=!0;(wo.isInternetExplorer()||wo.isEdge()||(wo.isChrome()||wo.isFirefox())&&wo.isWindows()&&!A.depthTexture)&&(f=!1),this._polygonOffsetSupported=f,this._terrainBias={polygonOffset:f,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.5,normalShading:!0,normalShadingSmooth:.3,depthBias:1e-4},this._primitiveBias={polygonOffset:f,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.1,normalShading:!0,normalShadingSmooth:.05,depthBias:o.depthBias||2e-5},this._pointBias={polygonOffset:!1,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:0,normalShading:!0,normalShadingSmooth:.1,depthBias:5e-4},this._depthAttachment=void 0,this._colorAttachment=void 0,this._shadowMapMatrix=new Re,this._shadowMapTexture=void 0,this._shadowMapProjectionTexture=void 0,this._castImage=void 0,this._lightDirectionEC=new Z,this._lightPositionEC=new zt,this._distance=0,this._lightCamera=o.lightCamera,this._shadowMapCamera=new Iie,this._shadowMapCullingVolume=void 0,this._sceneCamera=void 0,this._boundingSphere=new hi,this._isPointLight=oe(o.isPointLight,!1),this._pointLightRadius=oe(o.pointLightRadius,100),this._cascadesEnabled=this._isPointLight?!1:oe(o.cascadesEnabled,!0),this._numberOfCascades=this._cascadesEnabled?oe(o.numberOfCascades,4):0,this._fitNearFar=!0,this._maximumCascadeDistances=[25,150,700,Number.MAX_VALUE],this._textureSize=new rt,this._isSpotLight=!1,this._cascadesEnabled?this._shadowMapCamera.frustum=new Xf:O(this._lightCamera.frustum.fov)&&(this._isSpotLight=!0),this._cascadeSplits=[new zt,new zt],this._cascadeMatrices=[new Re,new Re,new Re,new Re],this._cascadeDistances=new zt;let m;this._isPointLight?m=6:this._cascadesEnabled?m=this._numberOfCascades:m=1,this._passes=new Array(m);for(let C=0;C=A?A:Zn.maximumCubeMapSize,C.x=A,C.y=A;let E=new vr(0,0,A,A);f[0].passState.viewport=E,f[1].passState.viewport=E,f[2].passState.viewport=E,f[3].passState.viewport=E,f[4].passState.viewport=E,f[5].passState.viewport=E}else m===1?(A=Zn.maximumTextureSize>=A?A:Zn.maximumTextureSize,C.x=A,C.y=A,f[0].passState.viewport=new vr(0,0,A,A)):m===4&&(A=Zn.maximumTextureSize>=A*2?A:Zn.maximumTextureSize/2,C.x=A*2,C.y=A*2,f[0].passState.viewport=new vr(0,0,A,A),f[1].passState.viewport=new vr(A,0,A,A),f[2].passState.viewport=new vr(0,A,A,A),f[3].passState.viewport=new vr(A,A,A,A));o._clearPassState.viewport=new vr(0,0,C.x,C.y);for(let E=0;E=o.maximumDistance){o._outOfView=!0,o._needsUpdate=!1;return}let E=A.mapProjection.ellipsoid.geodeticSurfaceNormal(f.positionWC,$8t),x=Z.negate(m.directionWC,eHt),y=Z.dot(E,x);if(o._darkness=0,y<0){o._outOfView=!0,o._needsUpdate=!1;return}o._needsUpdate=!0,o._outOfView=!1}else if(o._isPointLight){if(C.center=m.positionWC,C.radius=o._pointLightRadius,o._outOfView=A.cullingVolume.computeVisibility(C)===sa.OUTSIDE,!o._outOfView){let E=Z.distance(m.positionWC,f.positionWC);o._outOfView=E>=o.maximumDistance}o._needsUpdate=!o._outOfView&&!o._boundingSphere.equals(C),hi.clone(C,o._boundingSphere)}else{let E=m.frustum.far/2,x=Z.add(m.positionWC,Z.multiplyByScalar(m.directionWC,E,Hke),Hke);if(C.center=x,C.radius=E,o._outOfView=A.cullingVolume.computeVisibility(C)===sa.OUTSIDE,!o._outOfView){let y=Z.distance(m.positionWC,f.positionWC);o._outOfView=y>=o.maximumDistance}o._needsUpdate=!o._outOfView&&!o._boundingSphere.equals(C),hi.clone(C,o._boundingSphere)}}function iHt(o,A){let f=A.camera,m=o._lightCamera,C=o._sceneCamera,E=o._shadowMapCamera;o._cascadesEnabled?Z.clone(m.directionWC,E.directionWC):o._isPointLight?Z.clone(m.positionWC,E.positionWC):E.clone(m);let x=o._lightDirectionEC;Re.multiplyByPointAsVector(f.viewMatrix,E.directionWC,x),Z.normalize(x,x),Z.negate(x,x),Re.multiplyByPoint(f.viewMatrix,E.positionWC,o._lightPositionEC),o._lightPositionEC.w=o._pointLightRadius,Re.multiply(m.viewMatrix,f.inverseViewMatrix,o._shadowMapMatrix);let y,I;o._fitNearFar?(y=Math.min(A.shadowState.nearPlane,o.maximumDistance),I=Math.min(A.shadowState.farPlane,o.maximumDistance+1)):(y=f.frustum.near,I=o.maximumDistance),o._sceneCamera=Ls.clone(f,C),f.frustum.clone(o._sceneCamera.frustum),o._sceneCamera.frustum.near=y,o._sceneCamera.frustum.far=I,o._distance=I-y,tHt(o,A),!o._outOfViewPrevious&&o._outOfView&&(o._needsUpdate=!0),o._outOfViewPrevious=o._outOfView}function rHt(o,A){if(o._isCastTextureDirty===!1||!O(o._castImage))return;let f=A.context,m=o._shadowMapProjectionTexture,C=o._castImage;if(C instanceof HTMLVideoElement)if(C.readyState>=2){if(O(m)){let E=new Date().getTime();m._lastCreateTextureTime===void 0&&(m._lastCreateTextureTime=0);let x=m._lastCreateTextureTime;if(E-x1&&z8t(this,o)),this._isPointLight)this._shadowMapCullingVolume=Mg.fromBoundingSphere(this._boundingSphere);else{let A=this._shadowMapCamera,f=A.positionWC,m=A.directionWC,C=A.upWC;this._shadowMapCullingVolume=A.frustum.computeCullingVolume(f,m,C),this._passes.length===1&&this._passes[0].camera.clone(A)}this.debugShow&&O8t(this,o)};eT.prototype.updatePass=function(o,A){T8t(this,o,A)};var nHt=new rt;function oHt(o,A,f,m){let C=o._isPointLight?o._pointBias:f?o._terrainBias:o._primitiveBias,E={shadowMap_texture:function(){return o._shadowMapTexture},shadowMap_projectionTexture:function(){return o._shadowMapProjectionTexture},shadowMap_textureCube:function(){return o._shadowMapTexture},shadowMap_matrix:function(){return o._shadowMapMatrix},shadowMap_cascadeSplits:function(){return o._cascadeSplits},shadowMap_cascadeMatrices:function(){return o._cascadeMatrices},shadowMap_lightDirectionEC:function(){return o._lightDirectionEC},shadowMap_lightPositionEC:function(){return o._lightPositionEC},shadowMap_cascadeDistances:function(){return o._cascadeDistances},shadowMap_projectionTextureArr:function(){let x=[];for(let y=0;y<4;y++)x[y]=m._shadowMapProjectionTextureArr[y]._shadowMapProjectionTexture;return x},shadowMap_lightPositionECArr:function(){return m._lightPositionECArr},shadowMap_lightDirectionECArr:function(){return m._lightDirectionECArr},shadowMapCount:function(){return zt.fromElements(m._shadowMapCount,0,0,0)},shadowMap_matrixArr:function(){return m._shadowMapMatrixArr},shadowMap_texelSizeDepthBiasAndNormalShadingSmooth:function(){let x=nHt;return x.x=1/o._textureSize.x,x.y=1/o._textureSize.y,zt.fromElements(x.x,x.y,C.depthBias,C.normalShadingSmooth,this.combinedUniforms1)},shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness:function(){return zt.fromElements(C.normalOffsetScale,o._distance,o.maximumDistance,o._darkness,this.combinedUniforms2)},combinedUniforms1:new zt,combinedUniforms2:new zt};return So(A,E,!1)}var aHt=function(){this._shadowMapProjectionTextureArr=new Array(4),this._shadowMapMatrixArr=new Array(4),this._lightPositionECArr=new Array(4),this._lightDirectionECArr=new Array(4);for(let o=0;o<4;o++)this._shadowMapMatrixArr[o]=new Re,this._lightPositionECArr[o]=new zt,this._lightDirectionECArr[o]=new Z};function sHt(o,A,f){let m=!1;for(let C=0;C=0){I=!0;break}I&&(o.push(y),m=!0)}}}return m}eT.createDerivedCommands=function(o,A,f,m,C,E,x){O(x)||(x={});let y=o.length>0,I=f.shaderProgram,v=I.vertexShaderSource,B=I.fragmentShaderSource,Q=f.pass===Yi.GLOBE,T=!1;if(y&&O(f.receiveTextureProjectionList)&&f.receiveTextureProjectionList.length>0){let w=f.ftpp;O(w)||(w=new aHt,f.ftpp=w);let S=[];sHt(S,f.receiveTextureProjectionList,o);let D=Math.min(S.length,4);if(D===0)return;w.textureProjectionArray=S,w._shadowMapCount=D;let R,P;O(x.receiveCommand)&&(R=x.receiveCommand.shaderProgram,P=x.receiveCommand.uniformMap);let M=fn.shallowClone(f,x.receiveCommand);x.castShadows=!1,x.receiveShadows=!0;for(let L=0;L=0;I--)y.push(!!(x&1<=this.data.length)throw new Error("Attempted to read past end of stream.");return x instanceof Uint8Array?x[this.pos++]:x.charCodeAt(this.pos++)&255},this.readBytes=function(y){for(var I=[],v=0;v>3)&1<<(I&7)&&(L|=1<"u"&&(y.auto_play=!K.getAttribute("rel:auto_play")||K.getAttribute("rel:auto_play")=="1");var X=y.hasOwnProperty("on_end")?y.on_end:null,q=y.hasOwnProperty("loop_delay")?y.loop_delay:0,ee=y.hasOwnProperty("loop_mode")?y.loop_mode:"auto",ie=y.hasOwnProperty("draw_while_loading")?y.draw_while_loading:!0,H=ie?y.hasOwnProperty("show_progress_bar")?y.show_progress_bar:!0:!1,le=y.hasOwnProperty("progressbar_height")?y.progressbar_height:25,ue=y.hasOwnProperty("progressbar_background_color")?y.progressbar_background_color:"rgba(255,255,255,0.4)",Ae=y.hasOwnProperty("progressbar_foreground_color")?y.progressbar_foreground_color:"rgba(255,0,22,.8)",he=function(){w=null,S=null,P=D,D=null,M=null},ge=function(){try{C(v,Te)}catch{Y("parse")}},fe=function(Xe){be.innerHTML=Xe,be.style.visibility="visible"},ae=function(Xe,et){Oe.width=Xe*ke(),Oe.height=et*ke(),be.style.minWidth=Xe*ke()+"px",Ne.width=Xe,Ne.height=et,Ne.style.width=Xe+"px",Ne.style.height=et+"px",Ne.getContext("2d").setTransform(1,0,0,1,0,0)},U=function(Xe,et){if(!J[Xe]){J[Xe]=et;return}typeof et.x<"u"&&(J[Xe].x=et.x),typeof et.y<"u"&&(J[Xe].y=et.y)},W=function(Xe,et,ot){if(ot&&H){var Et=le,Ct,ct,yt,Qt;if(y.is_vp){if(N?(yt=(y.vp_t+y.vp_h-Et)/ke(),Et=Et/ke(),Ct=y.vp_l/ke(),ct=Ct+Xe/et*(y.vp_w/ke()),Qt=Oe.width/ke()):(yt=y.vp_t+y.vp_h-Et,Et=Et,Ct=y.vp_l,ct=Ct+Xe/et*y.vp_w,Qt=Oe.width),!1)if(N)var Ze,ut,St,gt;else var Ze,ut,St,gt}else yt=(Oe.height-Et)/(N?ke():1),ct=Xe/et*Oe.width/(N?ke():1),Qt=Oe.width/(N?ke():1),Et/=N?ke():1;Le.fillStyle=ue,Le.fillRect(ct,yt,Qt-ct,Et),Le.fillStyle=Ae,Le.fillRect(0,yt,ct,Et)}},Y=function(Xe){var et=function(){Le.fillStyle="black",Le.fillRect(0,0,y.c_w?y.c_w:B.width,y.c_h?y.c_h:B.height),Le.strokeStyle="red",Le.lineWidth=3,Le.moveTo(0,0),Le.lineTo(y.c_w?y.c_w:B.width,y.c_h?y.c_h:B.height),Le.moveTo(0,y.c_h?y.c_h:B.height),Le.lineTo(y.c_w?y.c_w:B.width,0),Le.stroke()};Q=Xe,B={width:K.width,height:K.height},G=[],et()},z=function(Xe){B=Xe,ae(B.width,B.height)},re=function(Xe){se(),he(),w=Xe.transparencyGiven?Xe.transparencyIndex:null,S=Xe.delayTime,D=Xe.disposalMethod},se=function(){M&&(G.push({data:M.getImageData(0,0,B.width,B.height),delay:S}),J.push({x:0,y:0}))},de=function(Xe){M||(M=Ne.getContext("2d"));var et=G.length,ot=Xe.lctFlag?Xe.lct:B.gct;et>0&&(P===3?R!==null?M.putImageData(G[R].data,0,0):M.clearRect(L.leftPos,L.topPos,L.width,L.height):R=et-1,P===2&&M.clearRect(L.leftPos,L.topPos,L.width,L.height));var Et=M.getImageData(Xe.leftPos,Xe.topPos,Xe.width,Xe.height);Xe.pixels.forEach(function(Ct,ct){Ct!==w&&(Et.data[ct*4+0]=ot[Ct][0],Et.data[ct*4+1]=ot[Ct][1],Et.data[ct*4+2]=ot[Ct][2],Et.data[ct*4+3]=255)}),M.putImageData(Et,Xe.leftPos,Xe.topPos),N||(Le.scale(ke(),ke()),N=!0),ie&&(Le.drawImage(Ne,0,0),ie=y.auto_play),L=Xe},me=function(){var Xe=-1,et=0,ot=!1,Et=!1,Ct=function(){var St=k?1:-1;return(Xe+St+G.length)%G.length},ct=function(St){Xe=Xe+St,Qt()},yt=function(){var St=!1,gt=function(){X!==null&&X(K),et++,ee!==!1||et<0?xt():(St=!1,F=!1)},xt=function(){if(St=F,!!St){ct(1);var Lt=G[Xe].delay*10;Lt||(Lt=100);var nt=Ct();nt===0?(Lt+=q,setTimeout(gt,Lt)):setTimeout(xt,Lt)}};return function(){St||setTimeout(xt,0)}}(),Qt=function(){var St;Xe=parseInt(Xe,10),Xe>G.length-1&&(Xe=0),Xe<0&&(Xe=0),St=J[Xe],Ne.getContext("2d").putImageData(G[Xe].data,St.x,St.y),Le.globalCompositeOperation="copy",Le.drawImage(Ne,0,0)},Ze=function(){F=!0,yt()},ut=function(){F=!1};return{init:function(){Q||(y.c_w&&y.c_h||Le.scale(ke(),ke()),y.auto_play?yt():(Xe=0,Qt()))},step:yt,play:Ze,pause:ut,playing:F,move_relative:ct,current_frame:function(){return Xe},length:function(){return G.length},move_to:function(St){Xe=St,Qt()}}}(),Ce=function(Xe){W(v.pos,v.data.length,Xe)},Ie=function(){},we=function(Xe,et){return function(ot){Xe(ot),Ce(et)}},Te={hdr:we(z),gce:we(re),com:we(Ie),app:{NETSCAPE:we(Ie)},img:we(de,!0),eof:function(Xe){se(),Ce(!1),y.c_w&&y.c_h||(Oe.width=B.width*ke(),Oe.height=B.height*ke()),me.init(),T=!1,ze&&ze(K)}},Ge=function(){var Xe=K.parentNode,et=document.createElement("div");Oe=document.createElement("canvas"),Le=Oe.getContext("2d"),be=document.createElement("div"),Ne=document.createElement("canvas"),et.width=Oe.width=K.width,et.height=Oe.height=K.height,be.style.minWidth=K.width+"px",et.className="jsgif",be.className="jsgif_toolbar",et.appendChild(Oe),et.appendChild(be),Xe.insertBefore(et,K),Xe.removeChild(K),y.c_w&&y.c_h&&ae(y.c_w,y.c_h),Ue=!0},ke=function(){var Xe;return y.max_width&&B&&B.width>y.max_width?Xe=y.max_width/B.width:Xe=1,Xe},Oe,Le,be,Ne,Ue=!1,ze=!1,Je=function(Xe){return T?!1:(Xe?ze=Xe:ze=!1,T=!0,G=[],he(),R=null,P=null,M=null,L=null,!0)};return{play:me.play,pause:me.pause,move_relative:me.move_relative,move_to:me.move_to,get_playing:function(){return F},get_canvas:function(){return Oe},get_canvas_scale:function(){return ke()},get_loading:function(){return T},get_auto_play:function(){return y.auto_play},get_length:function(){return me.length()},get_current_frame:function(){return me.current_frame()},load_url:function(Xe,et){if(Je(et)){var ot=new XMLHttpRequest;ot.open("GET",Xe,!0),"overrideMimeType"in ot?ot.overrideMimeType("text/plain; charset=x-user-defined"):"responseType"in ot?ot.responseType="arraybuffer":ot.setRequestHeader("Accept-Charset","x-user-defined"),ot.onloadstart=function(){Ue||Ge()},ot.onload=function(Et){this.status!=200&&Y("xhr - response"),"response"in this||(this.response=new VBArray(this.responseText).toArray().map(String.fromCharCode).join(""));var Ct=this.response;Ct.toString().indexOf("ArrayBuffer")>0&&(Ct=new Uint8Array(Ct)),v=new f(Ct),setTimeout(ge,0)},ot.onprogress=function(Et){Et.lengthComputable&&W(Et.loaded,Et.total,!0)},ot.onerror=function(){Y("xhr")},ot.send()}},load:function(Xe){this.load_url(K.getAttribute("rel:animated_src")||K.src,Xe)},load_raw:function(Xe,et){Je(et)&&(Ue||Ge(),v=new f(Xe),setTimeout(ge,0))},set_frame_offset:U}};return E});var Wxe=bKe.SuperGif;function DN(o){if(!O(o.gif))throw new Ai("gif property is needed.");this._definitionChanged=new ur,this._gif=o.gif,this._speed=oe(o.speed,1),this.parseGif(),this._step=0,this._imageArr=[]}Object.defineProperties(DN.prototype,{gif:{set:function(o){this._gif=o,this.parseGif()},get:function(){return this._gif}},speed:{get:function(){return this._speed},set:function(o){this._speed=o}},definitionChanged:{get:function(){return this._definitionChanged}}});DN.prototype.parseGif=function(){let o=this;o._imageArr=[];let A=document.createElement("img");A.src=o._gif,A.setAttribute("rel:animated_src",o.gif),A.setAttribute("rel:auto_play","1"),document.body.appendChild(A);let f=new Wxe({gif:A});return new Promise(function(m){f.load(function(){for(let C=0;C0?(o._stepm){C=Math.sqrt(f-m),f=1/Math.sqrt(f),E=Z.multiplyByScalar(A,f,bq);let y=C*C*f;x=Z.add(o,Z.multiplyByScalar(E,y,bq),bq)}else C=Number.MAX_VALUE;this._horizonDistance=C,this._horizonPlaneNormal=E,this._horizonPlanePosition=x,this._cameraPosition=o}}});oC.fromBoundingSphere=function(o,A,f){return O(f)?(Z.clone(o.center,f._occluderPosition),f._occluderRadius=o.radius,f.cameraPosition=A,f):new oC(o,A)};var SKe=new Z;oC.prototype.isPointVisible=function(o){if(this._horizonDistance!==Number.MAX_VALUE){let A=Z.subtract(o,this._occluderPosition,SKe),f=this._occluderRadius;if(f=Z.magnitudeSquared(A)-f*f,f>0)return f=Math.sqrt(f)+this._horizonDistance,A=Z.subtract(o,this._cameraPosition,A),f*f>Z.magnitudeSquared(A)}return!1};var uHt=new Z;oC.prototype.isBoundingSphereVisible=function(o){let A=Z.clone(o.center,uHt),f=o.radius;if(this._horizonDistance!==Number.MAX_VALUE){let m=Z.subtract(A,this._occluderPosition,SKe),C=this._occluderRadius-f;if(C=Z.magnitudeSquared(m)-C*C,f0?(C=Math.sqrt(C)+this._horizonDistance,m=Z.subtract(A,this._cameraPosition,m),C*C+f*f>Z.magnitudeSquared(m)):!1;if(C>0){m=Z.subtract(A,this._cameraPosition,m);let E=Z.magnitudeSquared(m),x=this._occluderRadius*this._occluderRadius,y=f*f;return(this._horizonDistance*this._horizonDistance+x)*y>E*x?!0:(C=Math.sqrt(C)+this._horizonDistance,C*C+y>E)}return!0}return!1};var AHt=new Z;oC.prototype.computeVisibility=function(o){let A=Z.clone(o.center),f=o.radius;if(f>this._occluderRadius)return rA.FULL;if(this._horizonDistance!==Number.MAX_VALUE){let m=Z.subtract(A,this._occluderPosition,AHt),C=this._occluderRadius-f,E=Z.magnitudeSquared(m);if(C=E-C*C,C>0){C=Math.sqrt(C)+this._horizonDistance,m=Z.subtract(A,this._cameraPosition,m);let x=Z.magnitudeSquared(m);return C*C+f*f0?(C=Math.sqrt(C)+this._horizonDistance,x-f?rA.PARTIAL:rA.FULL))}}return rA.NONE};var Qq=new Z;oC.computeOccludeePoint=function(o,A,f){let m=Z.clone(A),C=Z.clone(o.center),E=o.radius,x=f.length,y=Z.normalize(Z.subtract(m,C,Qq),Qq),I=-Z.dot(y,C),v=oC._anyRotationVector(C,y,I),B=oC._horizonToPlaneNormalDotProduct(o,y,I,v,f[0]);if(!B)return;let Q;for(let w=1;wm.y?0:1;(C===0&&m.z>m.x||C===1&&m.z>m.y)&&(C=2);let E=new Z,x;C===0?(m.x=o.x,m.y=o.y+1,m.z=o.z+1,x=Z.UNIT_X):C===1?(m.x=o.x+1,m.y=o.y,m.z=o.z+1,x=Z.UNIT_Y):(m.x=o.x+1,m.y=o.y+1,m.z=o.z,x=Z.UNIT_Z);let y=(Z.dot(A,m)+f)/-Z.dot(A,x);return Z.normalize(Z.subtract(Z.add(m,Z.multiplyByScalar(x,y,E),m),o,m),m)};var dHt=new Z;oC._rotationVector=function(o,A,f,m,C){let E=Z.subtract(m,o,dHt);if(E=Z.normalize(E,E),Z.dot(A,E)<.9999999847691291){let x=Z.cross(A,E,E);if(Z.magnitude(x)>Be.EPSILON13)return Z.normalize(x,new Z)}return C};var _ce=new Z,fHt=new Z,Sq=new Z,Vke=new Z;oC._horizonToPlaneNormalDotProduct=function(o,A,f,m,C){let E=Z.clone(C,_ce),x=Z.clone(o.center,fHt),y=o.radius,I=Z.subtract(x,E,Sq),v=Z.magnitudeSquared(I),B=y*y;if(v0?`${m}\u2032${C}\u2033`:m>0?`${m}\u2032`:"",E}return`'0\xB00'0"`}function D$(o,A){let f=o[A];return O(f)||(o[A]=[],f=o[A]),f}function gHt(o,A,f){let m=[],C=o._labelCollection;for(let E=0;ET?T:S;let R=Hfe(Math.abs(this._screenCenterCartographic.latitude));R>60&&R<90&&(this._maxLevel-=Math.floor((R-60)/30*c5.length)),this._maxLevel<1&&(this._maxLevel=1)};var Jke=new hi,Bce;function mHt(o){let A=o.globe;if(o._mode===ni.SCENE3D&&O(A)&&A.show&&!o._cameraUnderground&&!o._globeTranslucencyState.translucent){let f=A.ellipsoid,m=o.frameState.minimumTerrainHeight;return Jke.radius=f.minimumRadius+m,Bce=_ie.fromBoundingSphere(Jke,o.camera.positionWC,Bce),Bce}}IE.prototype.setLabelVisible=function(o){this._allLable.forEach(function(A){A.show=o})};IE.prototype.hide=function(){this.setLabelVisible(!1)};IE.prototype.calcLabelVisible=function(o){let A=this._showLongitudeLabels;for(let m=0;mm.latitude:I=y.cartographic.longitude>m.longitude,I){E=x;break}}for(let x=0;x0){let y=o[E-x];C.push(y)}else{let y=o[E-x+o.length-1];C.push(y)}for(let x=0;x=C&&(Q=C-1);let T=B/y|0;return T>=E&&(T=E-1),O(f)?(f.x=Q,f.y=T,f):new rt(Q,T)};var Zf=uR;function IG(){Ai.throwInstantiationError()}Object.defineProperties(IG.prototype,{ready:{get:Ai.throwInstantiationError},readyPromise:{get:Ai.throwInstantiationError},rectangle:{get:Ai.throwInstantiationError},tileWidth:{get:Ai.throwInstantiationError},tileHeight:{get:Ai.throwInstantiationError},maximumLevel:{get:Ai.throwInstantiationError},minimumLevel:{get:Ai.throwInstantiationError},tilingScheme:{get:Ai.throwInstantiationError},tileDiscardPolicy:{get:Ai.throwInstantiationError},errorEvent:{get:Ai.throwInstantiationError},credit:{get:Ai.throwInstantiationError},proxy:{get:Ai.throwInstantiationError},hasAlphaChannel:{get:Ai.throwInstantiationError},defaultAlpha:{get:Ai.throwInstantiationError,set:Ai.throwInstantiationError},defaultNightAlpha:{get:Ai.throwInstantiationError,set:Ai.throwInstantiationError},defaultDayAlpha:{get:Ai.throwInstantiationError,set:Ai.throwInstantiationError},defaultBrightness:{get:Ai.throwInstantiationError,set:Ai.throwInstantiationError},defaultContrast:{get:Ai.throwInstantiationError,set:Ai.throwInstantiationError},defaultHue:{get:Ai.throwInstantiationError,set:Ai.throwInstantiationError},defaultSaturation:{get:Ai.throwInstantiationError,set:Ai.throwInstantiationError},defaultGamma:{get:Ai.throwInstantiationError,set:Ai.throwInstantiationError},defaultMinificationFilter:{get:Ai.throwInstantiationError,set:Ai.throwInstantiationError},defaultMagnificationFilter:{get:Ai.throwInstantiationError,set:Ai.throwInstantiationError}});IG.prototype.getTileCredits=function(o,A,f){Ai.throwInstantiationError()};IG.prototype.requestImage=function(o,A,f,m){Ai.throwInstantiationError()};IG.prototype.pickFeatures=function(o,A,f,m,C){Ai.throwInstantiationError()};var CHt=/\.ktx2$/i,EHt=/\.dds$/i,xHt=/\.json$/i;IG.loadImage=function(o,A){let f=Cr.createIfNeeded(A);return CHt.test(f.url)?$P(f):EHt.test(f)?Bte(f):xHt.test(f.url)?yHt(f):O(o)&&O(o.tileDiscardPolicy)?f.fetchImage({preferBlob:!0,preferImageBitmap:!0,flipY:!0}):f.fetchImage({preferImageBitmap:!0,flipY:!0})};function yHt(o){let A=o.fetchJson();if(A!==void 0)return A.then(function(f){return f})}var oQ=IG;function qxe(o){this._errorEvent=new ur,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=18,this._minimumLevel=1;let A=new rt(-33554054,-33746824),f=new rt(33554054,33746824);this._tilingScheme=new Zf({rectangleSouthwestInMeters:A,rectangleNortheastInMeters:f}),this._rectangle=this._tilingScheme.rectangle,this._resource=Cr.createIfNeeded(o.url),this._tileDiscardPolicy=void 0,this._credit=void 0,this._readyPromise=void 0}Object.defineProperties(qxe.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){if(!this.ready)throw new Ai("tileWidth must not be called before the imagery provider is ready.");return this._tileWidth}},tileHeight:{get:function(){if(!this.ready)throw new Ai("tileHeight must not be called before the imagery provider is ready.");return this._tileHeight}},maximumLevel:{get:function(){if(!this.ready)throw new Ai("maximumLevel must not be called before the imagery provider is ready.");return this._maximumLevel}},minimumLevel:{get:function(){if(!this.ready)throw new Ai("minimumLevel must not be called before the imagery provider is ready.");return this._minimumLevel}},tilingScheme:{get:function(){if(!this.ready)throw new Ai("tilingScheme must not be called before the imagery provider is ready.");return this._tilingScheme}},tileDiscardPolicy:{get:function(){if(!this.ready)throw new Ai("tileDiscardPolicy must not be called before the imagery provider is ready.");return this._tileDiscardPolicy}},rectangle:{get:function(){if(!this.ready)throw new Ai("rectangle must not be called before the imagery provider is ready.");return this._rectangle}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._resource}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){if(!this.ready)throw new Ai("credit must not be called before the imagery provider is ready.");return this._credit}}});qxe.prototype.requestImage=function(o,A,f,m){let C=this._tilingScheme.getNumberOfXTilesAtLevel(f),E=this._tilingScheme.getNumberOfYTilesAtLevel(f),x=this.url.replace("{x}",o-C/2).replace("{y}",E/2-A-1).replace("{z}",f).replace("{s}",Math.floor(10*Math.random()));return oQ.loadImage(this,x)};var Bie=qxe,TKe={};(function(o,A){A(o.turf={})})(TKe,function(o){"use strict";var A=63710088e-1,f={centimeters:637100880,centimetres:637100880,degrees:57.22891354143274,feet:20902260511392e-6,inches:39.37*A,kilometers:6371.0088,kilometres:6371.0088,meters:A,metres:A,miles:3958.761333810546,millimeters:6371008800,millimetres:6371008800,nauticalmiles:A/1852,radians:1,yards:6967335223679999e-9},m={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:.001,kilometres:.001,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/A,yards:1.0936133},C={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 E(V,j,te){te===void 0&&(te={});var ne={type:"Feature"};return(te.id===0||te.id)&&(ne.id=te.id),te.bbox&&(ne.bbox=te.bbox),ne.properties=j||{},ne.geometry=V,ne}function x(V,j,te){switch(V){case"Point":return y(j).geometry;case"LineString":return Q(j).geometry;case"Polygon":return v(j).geometry;case"MultiPoint":return D(j).geometry;case"MultiLineString":return S(j).geometry;case"MultiPolygon":return R(j).geometry;default:throw new Error(V+" is invalid")}}function y(V,j,te){if(te===void 0&&(te={}),!V)throw new Error("coordinates is required");if(!Array.isArray(V))throw new Error("coordinates must be an Array");if(V.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!q(V[0])||!q(V[1]))throw new Error("coordinates must contain numbers");return E({type:"Point",coordinates:V},j,te)}function I(V,j,te){return te===void 0&&(te={}),w(V.map(function(ne){return y(ne,j)}),te)}function v(V,j,te){te===void 0&&(te={});for(var ne=0,ce=V;ne=0))throw new Error("precision must be a positive number");var te=Math.pow(10,j||0);return Math.round(V*te)/te}function L(V,j){j===void 0&&(j="kilometers");var te=f[j];if(!te)throw new Error(j+" units is invalid");return V*te}function F(V,j){j===void 0&&(j="kilometers");var te=f[j];if(!te)throw new Error(j+" units is invalid");return V/te}function k(V,j){return G(F(V,j))}function N(V){var j=V%360;return j<0&&(j+=360),j}function G(V){return 180*(V%(2*Math.PI))/Math.PI}function J(V){return V%360*Math.PI/180}function K(V,j,te){if(j===void 0&&(j="kilometers"),te===void 0&&(te="kilometers"),!(V>=0))throw new Error("length must be a positive number");return L(F(V,j),te)}function X(V,j,te){if(j===void 0&&(j="meters"),te===void 0&&(te="kilometers"),!(V>=0))throw new Error("area must be a positive number");var ne=C[j];if(!ne)throw new Error("invalid original units");var ce=C[te];if(!ce)throw new Error("invalid final units");return V/ne*ce}function q(V){return!isNaN(V)&&V!==null&&!Array.isArray(V)}function ee(V){return!!V&&V.constructor===Object}function ie(V){if(!V)throw new Error("bbox is required");if(!Array.isArray(V))throw new Error("bbox must be an Array");if(V.length!==4&&V.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");V.forEach(function(j){if(!q(j))throw new Error("bbox must only contain numbers")})}function H(V){if(!V)throw new Error("id is required");if(["string","number"].indexOf(typeof V)===-1)throw new Error("id must be a number or a string")}var le=Object.freeze({__proto__:null,earthRadius:A,factors:f,unitsFactors:m,areaFactors:C,feature:E,geometry:x,point:y,points:I,polygon:v,polygons:B,lineString:Q,lineStrings:T,featureCollection:w,multiLineString:S,multiPoint:D,multiPolygon:R,geometryCollection:P,round:M,radiansToLength:L,lengthToRadians:F,lengthToDegrees:k,bearingToAzimuth:N,radiansToDegrees:G,degreesToRadians:J,convertLength:K,convertArea:X,isNumber:q,isObject:ee,validateBBox:ie,validateId:H});function ue(V){if(!V)throw new Error("coord is required");if(!Array.isArray(V)){if(V.type==="Feature"&&V.geometry!==null&&V.geometry.type==="Point")return V.geometry.coordinates;if(V.type==="Point")return V.coordinates}if(Array.isArray(V)&&V.length>=2&&!Array.isArray(V[0])&&!Array.isArray(V[1]))return V;throw new Error("coord must be GeoJSON Point or an Array of numbers")}function Ae(V){if(Array.isArray(V))return V;if(V.type==="Feature"){if(V.geometry!==null)return V.geometry.coordinates}else if(V.coordinates)return V.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")}function he(V){if(V.length>1&&q(V[0])&&q(V[1]))return!0;if(Array.isArray(V[0])&&V[0].length)return he(V[0]);throw new Error("coordinates must only contain numbers")}function ge(V,j,te){if(!j||!te)throw new Error("type and name required");if(!V||V.type!==j)throw new Error("Invalid input to "+te+": must be a "+j+", given "+V.type)}function fe(V,j,te){if(!V)throw new Error("No feature passed");if(!te)throw new Error(".featureOf() requires a name");if(!V||V.type!=="Feature"||!V.geometry)throw new Error("Invalid input to "+te+", Feature with geometry required");if(!V.geometry||V.geometry.type!==j)throw new Error("Invalid input to "+te+": must be a "+j+", given "+V.geometry.type)}function ae(V,j,te){if(!V)throw new Error("No featureCollection passed");if(!te)throw new Error(".collectionOf() requires a name");if(!V||V.type!=="FeatureCollection")throw new Error("Invalid input to "+te+", FeatureCollection required");for(var ne=0,ce=V.features;neQe||st>Me||ft>Ye)return _e=He,Qe=ne,Me=st,Ye=ft,void(pe=0);var at=Q([_e,He],te.properties);if(j(at,ne,ce,ft,pe)===!1)return!1;pe++,_e=He})!==!1&&void 0}}})}function Le(V,j,te){var ne=te,ce=!1;return Oe(V,function(pe,Ee,_e,Qe,Me){ne=ce===!1&&te===void 0?pe:j(ne,pe,Ee,_e,Qe,Me),ce=!0}),ne}function be(V,j){if(!V)throw new Error("geojson is required");Ge(V,function(te,ne,ce){if(te.geometry!==null){var pe=te.geometry.type,Ee=te.geometry.coordinates;switch(pe){case"LineString":if(j(te,ne,ce,0,0)===!1)return!1;break;case"Polygon":for(var _e=0;_ete[0]&&(j[0]=te[0]),j[1]>te[1]&&(j[1]=te[1]),j[2] * v. 1.2.0 * https://github.com/RaumZeit/MarchingSquares.js * * MarchingSquaresJS is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * MarchingSquaresJS is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * As additional permission under GNU Affero General Public License version 3 * section 7, third-party projects (personal or commercial) may distribute, * include, or link against UNMODIFIED VERSIONS of MarchingSquaresJS without the * requirement that said third-party project for that reason alone becomes * subject to any requirement of the GNU Affero General Public License version 3. * Any modifications to MarchingSquaresJS, however, must be shared with the public * and made available. * * In summary this: * - allows you to use MarchingSquaresJS at no cost * - allows you to use MarchingSquaresJS for both personal and commercial purposes * - allows you to distribute UNMODIFIED VERSIONS of MarchingSquaresJS under any * license as long as this license notice is included * - enables you to keep the source code of your program that uses MarchingSquaresJS * undisclosed * - forces you to share any modifications you have made to MarchingSquaresJS, * e.g. bug-fixes * * You should have received a copy of the GNU Affero General Public License * along with MarchingSquaresJS. If not, see . */function Ze(V,j,te){te=te||{};for(var ne=Object.keys(yt),ce=0;ce=0&&ls>=0&&ls=0;Nt--)if(Math.abs(Me[Nt][0][0]-ri)<=He&&Math.abs(Me[Nt][0][1]-dt)<=He){for(var Ot=at.path.length-2;Ot>=0;--Ot)Me[Nt].unshift(at.path[Ot]);kt=!0;break}}kt||(Me[Ye++]=at.path)}var Xt})}),Me}(function(Qe,Me){for(var Ye=Qe.length-1,He=Qe[0].length-1,tt={rows:Ye,cols:He,cells:[]},At=0;At=Me?8:0,ft|=kt>=Me?4:0,ft|=ri>=Me?2:0;var Nt,Ot,Xt,Vt,lr=!1;if((ft|=dt>=Me?1:0)===5||ft===10){var ji=(at+kt+ri+dt)/4;ft===5&&jite;){if(ne-te>600){var pe=ne-te+1,Ee=j-te+1,_e=Math.log(pe),Qe=.5*Math.exp(2*_e/3),Me=.5*Math.sqrt(_e*Qe*(pe-Qe)/pe)*(Ee-pe/2<0?-1:1);We(V,j,Math.max(te,Math.floor(j-Ee*Qe/pe+Me)),Math.min(ne,Math.floor(j+(pe-Ee)*Qe/pe+Me)),ce)}var Ye=V[j],He=te,tt=ne;for(bt(V,te,j),ce(V[ne],Ye)>0&&bt(V,te,ne);He0;)tt--}ce(V[te],Ye)===0?bt(V,te,tt):bt(V,++tt,ne),tt<=j&&(te=tt+1),j<=tt&&(ne=tt-1)}}function bt(V,j,te){var ne=V[j];V[j]=V[te],V[te]=ne}function Pt(V,j){return Vj?1:0}nt.default=Pe;var It=er,Mi=er;function er(V,j){if(!(this instanceof er))return new er(V,j);this._maxEntries=Math.max(4,V||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),j&&this._initFormat(j),this.clear()}function di(V,j,te){if(!te)return j.indexOf(V);for(var ne=0;ne=V.minX&&j.maxY>=V.minY}function _t(V){return{children:V,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function Mt(V,j,te,ne,ce){for(var pe,Ee=[j,te];Ee.length;)(te=Ee.pop())-(j=Ee.pop())<=ne||(pe=j+Math.ceil((te-j)/ne/2)*ne,nt(V,pe,j,te,ce),Ee.push(j,pe,pe,te))}function Ht(V){var j={exports:{}};return V(j,j.exports),j.exports}er.prototype={all:function(){return this._all(this.data,[])},search:function(V){var j=this.data,te=[],ne=this.toBBox;if(!xi(V,j))return te;for(var ce,pe,Ee,_e,Qe=[];j;){for(ce=0,pe=j.children.length;ce=0&&pe[j].children.length>this._maxEntries;)this._split(pe,j),j--;this._adjustParentBBoxes(ce,pe,j)},_split:function(V,j){var te=V[j],ne=te.children.length,ce=this._minEntries;this._chooseSplitAxis(te,ce,ne);var pe=this._chooseSplitIndex(te,ce,ne),Ee=_t(te.children.splice(pe,te.children.length-pe));Ee.height=te.height,Ee.leaf=te.leaf,wi(te,this.toBBox),wi(Ee,this.toBBox),j?V[j-1].children.push(Ee):this._splitRoot(te,Ee)},_splitRoot:function(V,j){this.data=_t([V,j]),this.data.height=V.height+1,this.data.leaf=!1,wi(this.data,this.toBBox)},_chooseSplitIndex:function(V,j,te){var ne,ce,pe,Ee,_e,Qe,Me,Ye,He,tt,At,st,ft,at;for(Qe=Me=1/0,ne=j;ne<=te-j;ne++)ce=Ri(V,0,ne,this.toBBox),pe=Ri(V,ne,te,this.toBBox),He=ce,tt=pe,At=void 0,st=void 0,ft=void 0,at=void 0,At=Math.max(He.minX,tt.minX),st=Math.max(He.minY,tt.minY),ft=Math.min(He.maxX,tt.maxX),at=Math.min(He.maxY,tt.maxY),Ee=Math.max(0,ft-At)*Math.max(0,at-st),_e=pi(ce)+pi(pe),Ee=j;ce--)pe=V.children[ce],Ei(Qe,V.leaf?Ee(pe):pe),Me+=mi(Qe);return Me},_adjustParentBBoxes:function(V,j,te){for(var ne=te;ne>=0;ne--)Ei(j[ne],V)},_condense:function(V){for(var j,te=V.length-1;te>=0;te--)V[te].children.length===0?te>0?(j=V[te-1].children).splice(j.indexOf(V[te]),1):this.clear():wi(V[te],this.toBBox)},_initFormat:function(V){var j=["return a"," - b",";"];this.compareMinX=new Function("a","b",j.join(V[0])),this.compareMinY=new Function("a","b",j.join(V[1])),this.toBBox=new Function("a","return {minX: a"+V[0]+", minY: a"+V[1]+", maxX: a"+V[2]+", maxY: a"+V[3]+"};")}},It.default=Mi;var ti=function(V,j,te){var ne=V*j,ce=Wi*V,pe=ce-(ce-V),Ee=V-pe,_e=Wi*j,Qe=_e-(_e-j),Me=j-Qe,Ye=Ee*Me-(ne-pe*Qe-Ee*Qe-pe*Me);return te?(te[0]=Ye,te[1]=ne,te):[Ye,ne]},Wi=+(Math.pow(2,27)+1),yi=function(V,j){var te=0|V.length,ne=0|j.length;if(te===1&&ne===1)return function(Xt,Vt){var lr=Xt+Vt,ji=lr-Xt,br=Xt-(lr-ji)+(Vt-ji);return br?[br,lr]:[lr]}(V[0],j[0]);var ce,pe,Ee=new Array(te+ne),_e=0,Qe=0,Me=0,Ye=Math.abs,He=V[Qe],tt=Ye(He),At=j[Me],st=Ye(At);tt=ne?(ce=He,(Qe+=1)=ne?(ce=He,(Qe+=1)>1;return["sum(",te(Me.slice(0,Ye)),",",te(Me.slice(Ye)),")"].join("")}function ne(Me){if(Me.length===2)return[["sum(prod(",Me[0][0],",",Me[1][1],"),prod(-",Me[0][1],",",Me[1][0],"))"].join("")];for(var Ye=[],He=0;He0){if(st<=0)return ft;tt=At+st}else{if(!(At<0)||st>=0)return ft;tt=-(At+st)}var at=33306690738754716e-32*tt;return ft>=at||ft<=-at?ft:pe(Me,Ye,He)},function(Me,Ye,He,tt){var At=Me[0]-tt[0],st=Ye[0]-tt[0],ft=He[0]-tt[0],at=Me[1]-tt[1],kt=Ye[1]-tt[1],ri=He[1]-tt[1],dt=Me[2]-tt[2],Nt=Ye[2]-tt[2],Ot=He[2]-tt[2],Xt=st*ri,Vt=ft*kt,lr=ft*at,ji=At*ri,br=At*kt,nr=st*at,Lr=dt*(Xt-Vt)+Nt*(lr-ji)+Ot*(br-nr),or=7771561172376103e-31*((Math.abs(Xt)+Math.abs(Vt))*Math.abs(dt)+(Math.abs(lr)+Math.abs(ji))*Math.abs(Nt)+(Math.abs(br)+Math.abs(nr))*Math.abs(Ot));return Lr>or||-Lr>or?Lr:Ee(Me,Ye,He,tt)}];function Qe(Me){var Ye=_e[Me.length];return Ye||(Ye=_e[Me.length]=ce(Me.length)),Ye.apply(void 0,Me)}(function(){for(;_e.length<=5;)_e.push(ce(_e.length));for(var Me=[],Ye=["slow"],He=0;He<=5;++He)Me.push("a"+He),Ye.push("o"+He);var tt=["function getOrientation(",Me.join(),"){switch(arguments.length){case 0:case 1:return 0;"];for(He=2;He<=5;++He)tt.push("case ",He,":return o",He,"(",Me.slice(0,He).join(),");");tt.push("}var s=new Array(arguments.length);for(var i=0;i1&&Go(V[pe[Me-2]],V[pe[Me-1]],Qe)<=0;)Me-=1,pe.pop();for(pe.push(_e),Me=Ee.length;Me>1&&Go(V[Ee[Me-2]],V[Ee[Me-1]],Qe)>=0;)Me-=1,Ee.pop();Ee.push(_e)}te=new Array(Ee.length+pe.length-2);for(var Ye=0,He=(ne=0,pe.length);ne0;--tt)te[Ye++]=Ee[tt];return te},Go=Ta[3],bl=yc,nu=yc;function yc(V,j){if(!(this instanceof yc))return new yc(V,j);if(this.data=V||[],this.length=this.data.length,this.compare=j||Xu,this.length>0)for(var te=(this.length>>1)-1;te>=0;te--)this._down(te)}function Xu(V,j){return Vj?1:0}yc.prototype={push:function(V){this.data.push(V),this.length++,this._up(this.length-1)},pop:function(){if(this.length!==0){var V=this.data[0];return this.length--,this.length>0&&(this.data[0]=this.data[this.length],this._down(0)),this.data.pop(),V}},peek:function(){return this.data[0]},_up:function(V){for(var j=this.data,te=this.compare,ne=j[V];V>0;){var ce=V-1>>1,pe=j[ce];if(te(ne,pe)>=0)break;j[V]=pe,V=ce}j[V]=ne},_down:function(V){for(var j=this.data,te=this.compare,ne=this.length>>1,ce=j[V];V=0)break;j[V]=_e,V=pe}j[V]=ce}},bl.default=nu;var yd=function(V,j){for(var te=V[0],ne=V[1],ce=!1,pe=0,Ee=j.length-1;pene!=Ye>ne&&te<(Me-_e)*(ne-Qe)/(Ye-Qe)+_e&&(ce=!ce)}return ce},lh=Ta[3],ef=kA,og=kA;function kA(V,j,te){j=Math.max(0,j===void 0?2:j),te=te||0;for(var ne,ce=function(ri){for(var dt=ri[0],Nt=ri[0],Ot=ri[0],Xt=ri[0],Vt=0;VtOt[0]&&(Ot=lr),lr[1]Xt[1]&&(Xt=lr)}var ji=[dt,Nt,Ot,Xt],br=ji.slice();for(Vt=0;Vtpe||_e.push({node:Ye,dist:He})}for(;_e.length&&!_e.peek().node.children;){var tt=_e.pop(),At=tt.node,st=yr(At,j,te),ft=yr(At,ne,ce);if(tt.dist=j.minX&&V[0]<=j.maxX&&V[1]>=j.minY&&V[1]<=j.maxY}function _d(V,j,te){for(var ne,ce,pe,Ee,_e=Math.min(V[0],j[0]),Qe=Math.min(V[1],j[1]),Me=Math.max(V[0],j[0]),Ye=Math.max(V[1],j[1]),He=te.search({minX:_e,minY:Qe,maxX:Me,maxY:Ye}),tt=0;tt0!=lh(ne,ce,Ee)>0&&lh(pe,Ee,ne)>0!=lh(pe,Ee,ce)>0)return!1;return!0}function $h(V){var j=V.p,te=V.next.p;return V.minX=Math.min(j[0],te[0]),V.minY=Math.min(j[1],te[1]),V.maxX=Math.max(j[0],te[0]),V.maxY=Math.max(j[1],te[1]),V}function ci(V,j){var te={p:V,prev:null,next:null,minX:0,minY:0,maxX:0,maxY:0};return j?(te.next=j.next,te.prev=j,j.next.prev=te,j.next=te):(te.prev=te,te.next=te),te}function Gi(V,j){var te=V[0]-j[0],ne=V[1]-j[1];return te*te+ne*ne}function yr(V,j,te){var ne=j[0],ce=j[1],pe=te[0]-ne,Ee=te[1]-ce;if(pe!==0||Ee!==0){var _e=((V[0]-ne)*pe+(V[1]-ce)*Ee)/(pe*pe+Ee*Ee);_e>1?(ne=te[0],ce=te[1]):_e>0&&(ne+=pe*_e,ce+=Ee*_e)}return(pe=V[0]-ne)*pe+(Ee=V[1]-ce)*Ee}function Yr(V,j,te,ne,ce,pe,Ee,_e){var Qe,Me,Ye,He,tt=te-V,At=ne-j,st=Ee-ce,ft=_e-pe,at=V-ce,kt=j-pe,ri=tt*tt+At*At,dt=tt*st+At*ft,Nt=st*st+ft*ft,Ot=tt*at+At*kt,Xt=st*at+ft*kt,Vt=ri*Nt-dt*dt,lr=Vt,ji=Vt;Vt===0?(Me=0,lr=1,He=Xt,ji=Nt):(He=ri*Xt-dt*Ot,(Me=dt*Xt-Nt*Ot)<0?(Me=0,He=Xt,ji=Nt):Me>lr&&(Me=lr,He=Xt+dt,ji=Nt)),He<0?(He=0,-Ot<0?Me=0:-Ot>ri?Me=lr:(Me=-Ot,lr=ri)):He>ji&&(He=ji,-Ot+dt<0?Me=0:-Ot+dt>ri?Me=lr:(Me=-Ot+dt,lr=ri));var br=(1-(Ye=He===0?0:He/ji))*ce+Ye*Ee-((1-(Qe=Me===0?0:Me/lr))*V+Qe*te),nr=(1-Ye)*pe+Ye*_e-((1-Qe)*j+Qe*ne);return br*br+nr*nr}function en(V,j){j===void 0&&(j={}),j.concavity=j.concavity||1/0;var te=[];if(z(V,function(ce){te.push([ce[0],ce[1]])}),!te.length)return null;var ne=ef(te,j.concavity);return ne.length>3?v([ne]):null}function Or(V,j,te){if(te===void 0&&(te={}),!V)throw new Error("point is required");if(!j)throw new Error("polygon is required");var ne=ue(V),ce=U(j),pe=ce.type,Ee=j.bbox,_e=ce.coordinates;if(Ee&&function(tt,At){return At[0]<=tt[0]&&At[1]<=tt[1]&&At[2]>=tt[0]&&At[3]>=tt[1]}(ne,Ee)===!1)return!1;pe==="Polygon"&&(_e=[_e]);for(var Qe=!1,Me=0;Me<_e.length&&!Qe;Me++)if(Cn(ne,_e[Me][0],te.ignoreBoundary)){for(var Ye=!1,He=1;He<_e[Me].length&&!Ye;)Cn(ne,_e[Me][He],!te.ignoreBoundary)&&(Ye=!0),He++;Ye||(Qe=!0)}return Qe}function Cn(V,j,te){var ne=!1;j[0][0]===j[j.length-1][0]&&j[0][1]===j[j.length-1][1]&&(j=j.slice(0,j.length-1));for(var ce=0,pe=j.length-1;ceV[1]!=Me>V[1]&&V[0]<(Qe-Ee)*(V[1]-_e)/(Me-_e)+Ee&&(ne=!ne)}return ne}function Mn(V,j){var te=[];return me(V,function(ne){var ce=!1;we(j,function(pe){Or(ne,pe)&&(ce=!0)}),ce&&te.push(ne)}),w(te)}function tn(V,j,te){te===void 0&&(te={});var ne=ue(V),ce=ue(j),pe=J(ce[1]-ne[1]),Ee=J(ce[0]-ne[0]),_e=J(ne[1]),Qe=J(ce[1]),Me=Math.pow(Math.sin(pe/2),2)+Math.pow(Math.sin(Ee/2),2)*Math.cos(_e)*Math.cos(Qe);return L(2*Math.atan2(Math.sqrt(Me),Math.sqrt(1-Me)),te.units)}function fo(V,j){var te=!1;return w(function(ne){if(ne.length<3)return[];ne.sort(_a);for(var ce,pe,Ee,_e,Qe,Me,Ye=ne.length-1,He=ne[Ye].x,tt=ne[0].x,At=ne[Ye].y,st=At,ft=1e-12;Ye--;)ne[Ye].yst&&(st=ne[Ye].y);var at,kt=tt-He,ri=st-At,dt=kt>ri?kt:ri,Nt=.5*(tt+He),Ot=.5*(st+At),Xt=[new bo({__sentinel:!0,x:Nt-20*dt,y:Ot-dt},{__sentinel:!0,x:Nt,y:Ot+20*dt},{__sentinel:!0,x:Nt+20*dt,y:Ot-dt})],Vt=[],lr=[];for(Ye=ne.length;Ye--;){for(lr.length=0,at=Xt.length;at--;)(kt=ne[Ye].x-Xt[at].x)>0&&kt*kt>Xt[at].r?(Vt.push(Xt[at]),Xt.splice(at,1)):kt*kt+(ri=ne[Ye].y-Xt[at].y)*ri>Xt[at].r||(lr.push(Xt[at].a,Xt[at].b,Xt[at].b,Xt[at].c,Xt[at].c,Xt[at].a),Xt.splice(at,1));for(xl(lr),at=lr.length;at;)pe=lr[--at],ce=lr[--at],Ee=ne[Ye],_e=pe.x-ce.x,Qe=pe.y-ce.y,Me=2*(_e*(Ee.y-pe.y)-Qe*(Ee.x-pe.x)),Math.abs(Me)>ft&&Xt.push(new bo(ce,pe,Ee))}for(Array.prototype.push.apply(Vt,Xt),Ye=Vt.length;Ye--;)(Vt[Ye].a.__sentinel||Vt[Ye].b.__sentinel||Vt[Ye].c.__sentinel)&&Vt.splice(Ye,1);return Vt}(V.features.map(function(ne){var ce={x:ne.geometry.coordinates[0],y:ne.geometry.coordinates[1]};return j?ce.z=ne.properties[j]:ne.geometry.coordinates.length===3&&(te=!0,ce.z=ne.geometry.coordinates[2]),ce})).map(function(ne){var ce=[ne.a.x,ne.a.y],pe=[ne.b.x,ne.b.y],Ee=[ne.c.x,ne.c.y],_e={};return te?(ce.push(ne.a.z),pe.push(ne.b.z),Ee.push(ne.c.z)):_e={a:ne.a.z,b:ne.b.z,c:ne.c.z},v([[ce,pe,Ee,ce]],_e)}))}ef.default=og;var bo=function(V,j,te){this.a=V,this.b=j,this.c=te;var ne,ce,pe=j.x-V.x,Ee=j.y-V.y,_e=te.x-V.x,Qe=te.y-V.y,Me=pe*(V.x+j.x)+Ee*(V.y+j.y),Ye=_e*(V.x+te.x)+Qe*(V.y+te.y),He=2*(pe*(te.y-j.y)-Ee*(te.x-j.x));this.x=(Qe*Me-Ee*Ye)/He,this.y=(pe*Ye-_e*Me)/He,ne=this.x-V.x,ce=this.y-V.y,this.r=ne*ne+ce*ce};function _a(V,j){return j.x-V.x}function xl(V){var j,te,ne,ce,pe,Ee=V.length;e:for(;Ee;)for(te=V[--Ee],j=V[--Ee],ne=Ee;ne;)if(pe=V[--ne],j===(ce=V[--ne])&&te===pe||j===pe&&te===ce){V.splice(Ee,2),V.splice(ne,2),Ee-=2;continue e}}function Mo(V){if(!V)throw new Error("geojson is required");switch(V.type){case"Feature":return Wl(V);case"FeatureCollection":return function(j){var te={type:"FeatureCollection"};return Object.keys(j).forEach(function(ne){switch(ne){case"type":case"features":return;default:te[ne]=j[ne]}}),te.features=j.features.map(function(ne){return Wl(ne)}),te}(V);case"Point":case"LineString":case"Polygon":case"MultiPoint":case"MultiLineString":case"MultiPolygon":case"GeometryCollection":return uh(V);default:throw new Error("unknown GeoJSON type")}}function Wl(V){var j={type:"Feature"};return Object.keys(V).forEach(function(te){switch(te){case"type":case"properties":case"geometry":return;default:j[te]=V[te]}}),j.properties=Ss(V.properties),j.geometry=uh(V.geometry),j}function Ss(V){var j={};return V&&Object.keys(V).forEach(function(te){var ne=V[te];typeof ne=="object"?ne===null?j[te]=null:Array.isArray(ne)?j[te]=ne.map(function(ce){return ce}):j[te]=Ss(ne):j[te]=ne}),j}function uh(V){var j={type:V.type};return V.bbox&&(j.bbox=V.bbox),V.type==="GeometryCollection"?(j.geometries=V.geometries.map(function(te){return uh(te)}),j):(j.coordinates=ku(V.coordinates),j)}function ku(V){var j=V;return typeof j[0]!="object"?j.slice():j.map(function(te){return ku(te)})}function Ic(V,j){if(j===void 0&&(j={}),!ee(j=j||{}))throw new Error("options is invalid");var te=j.mutate;if(W(V)!=="FeatureCollection")throw new Error("geojson must be a FeatureCollection");if(!V.features.length)throw new Error("geojson is empty");te!==!1&&te!==void 0||(V=Mo(V));var ne=[],ce=Ne(V,function(pe,Ee){var _e=function(Qe,Me){var Ye,He=Qe.geometry.coordinates,tt=Me.geometry.coordinates,At=_c(He[0]),st=_c(He[He.length-1]),ft=_c(tt[0]),at=_c(tt[tt.length-1]);if(At===at)Ye=tt.concat(He.slice(1));else if(ft===st)Ye=He.concat(tt.slice(1));else if(At===ft)Ye=He.slice(1).reverse().concat(tt);else{if(st!==at)return null;Ye=He.concat(tt.reverse().slice(1))}return Q(Ye)}(pe,Ee);return _e||(ne.push(pe),Ee)});return ce&&ne.push(ce),ne.length?ne.length===1?ne[0]:S(ne.map(function(pe){return pe.coordinates})):null}function _c(V){return V[0].toString()+","+V[1].toString()}function Cu(V){return V}function Tf(V,j){var te=function(Me){if(Me==null)return Cu;var Ye,He,tt=Me.scale[0],At=Me.scale[1],st=Me.translate[0],ft=Me.translate[1];return function(at,kt){kt||(Ye=He=0);var ri=2,dt=at.length,Nt=new Array(dt);for(Nt[0]=(Ye+=at[0])*tt+st,Nt[1]=(He+=at[1])*At+ft;ri1)for(var Ye,He,tt=1,At=Ee(Me[0]);ttAt&&(He=Me[0],Me[0]=Me[tt],Me[tt]=He,At=Ye);return Me}).filter(function(_e){return _e.length>0})}}var Bp=Object.prototype.hasOwnProperty;function Fo(V,j,te,ne,ce,pe){arguments.length===3&&(ne=pe=Array,ce=null);for(var Ee=new ne(V=1<=V)throw new Error("full hashmap");kt=Ee[at=at+1&Qe]}return Ee[at]=st,_e[at]=ft,ft}function He(st,ft){for(var at=j(st)&Qe,kt=Ee[at],ri=0;kt!=ce;){if(te(kt,st))return _e[at];if(++ri>=V)throw new Error("full hashmap");kt=Ee[at=at+1&Qe]}return Ee[at]=st,_e[at]=ft,ft}function tt(st,ft){for(var at=j(st)&Qe,kt=Ee[at],ri=0;kt!=ce;){if(te(kt,st))return _e[at];if(++ri>=V)break;kt=Ee[at=at+1&Qe]}return ft}function At(){for(var st=[],ft=0,at=Ee.length;ft>7^sg[2]^sg[3])}function D0(V){var j,te,ne,ce,pe=V.coordinates,Ee=V.lines,_e=V.rings,Qe=function(){for(var ji=Fo(1.4*pe.length,Ot,Xt,Int32Array,-1,Int32Array),br=new Int32Array(pe.length),nr=0,Lr=pe.length;nr=0){var ar=He[nr];or===br&&ar===Lr||or===Lr&&ar===br||(++At,tt[nr]=1)}else Ye[nr]=br,He[nr]=Lr}}function Ot(ji){return lg(pe[ji])}function Xt(ji,br){return IA(pe[ji],pe[br])}Me=Ye=He=null;var Vt,lr=function(ji,br,nr,Lr,or){arguments.length===3&&(Lr=Array,or=null);for(var ar=new Lr(ji=1<=ji)throw new Error("full hashset");Ra=ar[Qn=Qn+1&Zi]}return ar[Qn]=Hn,!0}function Rr(Hn){for(var Qn=br(Hn)&Zi,Ra=ar[Qn],ls=0;Ra!=or;){if(nr(Ra,Hn))return!0;if(++ls>=ji)break;Ra=ar[Qn=Qn+1&Zi]}return!1}function Li(){for(var Hn=[],Qn=0,Ra=ar.length;Qn>1);jft&&(ft=lr),jiat&&(at=ji)}function Nt(Vt){Vt.forEach(dt)}function Ot(Vt){Vt.forEach(Nt)}for(var Xt in tt)kt(tt[Xt]);return ft>=At&&at>=st?[At,st,ft,at]:void 0}(V=bn(V)),ne=j>0&&te&&function(tt,At,st){var ft=At[0],at=At[1],kt=At[2],ri=At[3],dt=kt-ft?(st-1)/(kt-ft):1,Nt=ri-at?(st-1)/(ri-at):1;function Ot(or){return[Math.round((or[0]-ft)*dt),Math.round((or[1]-at)*Nt)]}function Xt(or,ar){for(var Zi,Qr,Sr,Rr,Li,Hn=-1,Qn=0,Ra=or.length,ls=new Array(Ra);++Hn2&&$n(te[ce-3],te[ce-1],te[ce-2])&&te.splice(te.length-2,1))}if(te.push(j[j.length-1]),ce=te.length,xr(j[0],j[j.length-1])&&ce<4)throw new Error("invalid polygon");return $n(te[ce-3],te[ce-1],te[ce-2])&&te.splice(te.length-2,1),te}function xr(V,j){return V[0]===j[0]&&V[1]===j[1]}function $n(V,j,te){var ne=te[0],ce=te[1],pe=V[0],Ee=V[1],_e=j[0],Qe=j[1],Me=_e-pe,Ye=Qe-Ee;return(ne-pe)*Ye-(ce-Ee)*Me===0&&(Math.abs(Me)>=Math.abs(Ye)?Me>0?pe<=ne&&ne<=_e:_e<=ne&&ne<=pe:Ye>0?Ee<=ce&&ce<=Qe:Qe<=ce&&ce<=Ee)}function Ds(V,j,te){var ne=j.x,ce=j.y,pe=te.x-ne,Ee=te.y-ce;if(pe!==0||Ee!==0){var _e=((V.x-ne)*pe+(V.y-ce)*Ee)/(pe*pe+Ee*Ee);_e>1?(ne=te.x,ce=te.y):_e>0&&(ne+=pe*_e,ce+=Ee*_e)}return(pe=V.x-ne)*pe+(Ee=V.y-ce)*Ee}function hA(V,j,te,ne,ce){for(var pe,Ee=ne,_e=j+1;_eEe&&(pe=_e,Ee=Qe)}Ee>ne&&(pe-j>1&&hA(V,j,pe,ne,ce),ce.push(V[pe]),te-pe>1&&hA(V,pe,te,ne,ce))}function sc(V,j){var te=V.length-1,ne=[V[0]];return hA(V,0,te,j,ne),ne.push(V[te]),ne}function Zu(V,j,te){if(V.length<=2)return V;var ne=j!==void 0?j*j:1;return V=sc(V=te?V:function(ce,pe){for(var Ee,_e,Qe,Me,Ye,He=ce[0],tt=[He],At=1,st=ce.length;Atpe&&(tt.push(Ee),He=Ee);return He!==Ee&&tt.push(Ee),tt}(V,ne),ne)}function tf(V,j,te){return Zu(V.map(function(ne){return{x:ne[0],y:ne[1],z:ne[2]}}),j,te).map(function(ne){return ne.z?[ne.x,ne.y,ne.z]:[ne.x,ne.y]})}function rf(V,j,te){return V.map(function(ne){var ce=ne.map(function(Ee){return{x:Ee[0],y:Ee[1]}});if(ce.length<4)throw new Error("invalid polygon");for(var pe=Zu(ce,j,te).map(function(Ee){return[Ee.x,Ee.y]});!as(pe);)pe=Zu(ce,j-=.01*j,te).map(function(Ee){return[Ee.x,Ee.y]});return pe[pe.length-1][0]===pe[0][0]&&pe[pe.length-1][1]===pe[0][1]||pe.push(pe[0]),pe})}function as(V){return!(V.length<3)&&!(V.length===3&&V[2][0]===V[0][0]&&V[2][1]===V[0][1])}var T0=function(){function V(j){this.points=j.points||[],this.duration=j.duration||1e4,this.sharpness=j.sharpness||.85,this.centers=[],this.controls=[],this.stepLength=j.stepLength||60,this.length=this.points.length,this.delay=0;for(var te=0;tej&&(te.push(ce),ne=pe)}return te},V.prototype.vector=function(j){var te=this.pos(j+10),ne=this.pos(j-10);return{angle:180*Math.atan2(te.y-ne.y,te.x-ne.x)/3.14,speed:Math.sqrt((ne.x-te.x)*(ne.x-te.x)+(ne.y-te.y)*(ne.y-te.y)+(ne.z-te.z)*(ne.z-te.z))}},V.prototype.pos=function(j){var te=j-this.delay;te<0&&(te=0),te>this.duration&&(te=this.duration-1);var ne=te/this.duration;if(ne>=1)return this.points[this.length-1];var ce=Math.floor((this.points.length-1)*ne);return function(pe,Ee,_e,Qe,Me){var Ye=function(He){var tt=He*He;return[tt*He,3*tt*(1-He),3*He*(1-He)*(1-He),(1-He)*(1-He)*(1-He)]}(pe);return{x:Me.x*Ye[0]+Qe.x*Ye[1]+_e.x*Ye[2]+Ee.x*Ye[3],y:Me.y*Ye[0]+Qe.y*Ye[1]+_e.y*Ye[2]+Ee.y*Ye[3],z:Me.z*Ye[0]+Qe.z*Ye[1]+_e.z*Ye[2]+Ee.z*Ye[3]}}((this.length-1)*ne-ce,this.points[ce],this.controls[ce][1],this.controls[ce+1][0],this.points[ce+1])},V}();function pm(V,j){j===void 0&&(j={});for(var te=j.resolution||1e4,ne=j.sharpness||.85,ce=[],pe=U(V).coordinates.map(function(Me){return{x:Me[0],y:Me[1]}}),Ee=new T0({duration:te,points:pe,sharpness:ne}),_e=function(Me){var Ye=Ee.pos(Me);Math.floor(Me/100)%2==0&&ce.push([Ye.x,Ye.y])},Qe=0;Qe=tn(V.slice(0,2),[j,ce])){var pe=(te+ce)/2;return[j,pe-(ne-j)/2,ne,pe+(ne-j)/2]}var Ee=(j+ne)/2;return[Ee-(ce-te)/2,te,Ee+(ce-te)/2,ce]}function lc(V,j,te,ne){ne===void 0&&(ne={});var ce=ue(V),pe=J(ce[0]),Ee=J(ce[1]),_e=J(te),Qe=F(j,ne.units),Me=Math.asin(Math.sin(Ee)*Math.cos(Qe)+Math.cos(Ee)*Math.sin(Qe)*Math.cos(_e));return y([G(pe+Math.atan2(Math.sin(_e)*Math.sin(Qe)*Math.cos(Ee),Math.cos(Qe)-Math.sin(Ee)*Math.sin(Me))),G(Me)],ne.properties)}function Bd(V,j,te){te===void 0&&(te={});for(var ne=te.steps||64,ce=te.properties?te.properties:!Array.isArray(V)&&V.type==="Feature"&&V.properties?V.properties:{},pe=[],Ee=0;Ee80*te){ne=pe=V[0],ce=Ee=V[1];for(var st=te;stpe&&(pe=_e),Qe>Ee&&(Ee=Qe);Me=(Me=Math.max(pe-ne,Ee-ce))!==0?1/Me:0}return Cm(tt,At,te,ne,ce,Me),At}function iy(V,j,te,ne,ce){var pe,Ee;if(ce===vs(V,j,te,ne)>0)for(pe=j;pe=j;pe-=ne)Ee=xn(pe,V[pe],V[pe+1],Ee);return Ee&&sr(Ee,Ee.next)&&(Pn(Ee),Ee=Ee.next),Ee}function mm(V,j){if(!V)return V;j||(j=V);var te,ne=V;do if(te=!1,ne.steiner||!sr(ne,ne.next)&&uc(ne.prev,ne,ne.next)!==0)ne=ne.next;else{if(Pn(ne),(ne=j=ne.prev)===ne.next)break;te=!0}while(te||ne!==j);return j}function Cm(V,j,te,ne,ce,pe,Ee){if(V){!Ee&&pe&&function(Ye,He,tt,At){var st=Ye;do st.z===null&&(st.z=ry(st.x,st.y,He,tt,At)),st.prevZ=st.prev,st.nextZ=st.next,st=st.next;while(st!==Ye);st.prevZ.nextZ=null,st.prevZ=null,function(ft){var at,kt,ri,dt,Nt,Ot,Xt,Vt,lr=1;do{for(kt=ft,ft=null,Nt=null,Ot=0;kt;){for(Ot++,ri=kt,Xt=0,at=0;at0||Vt>0&&ri;)Xt!==0&&(Vt===0||!ri||kt.z<=ri.z)?(dt=kt,kt=kt.nextZ,Xt--):(dt=ri,ri=ri.nextZ,Vt--),Nt?Nt.nextZ=dt:ft=dt,dt.prevZ=Nt,Nt=dt;kt=ri}Nt.nextZ=null,lr*=2}while(Ot>1)}(st)}(V,ne,ce,pe);for(var _e,Qe,Me=V;V.prev!==V.next;)if(_e=V.prev,Qe=V.next,pe?Xv(V,ne,ce,pe):l1(V))j.push(_e.i/te),j.push(V.i/te),j.push(Qe.i/te),Pn(V),V=Qe.next,Me=Qe.next;else if((V=Qe)===Me){Ee?Ee===1?Cm(V=Zv(V,j,te),j,te,ne,ce,pe,2):Ee===2&&NE(V,j,te,ne,ce,pe):Cm(mm(V),j,te,ne,ce,pe,1);break}}}function l1(V){var j=V.prev,te=V,ne=V.next;if(uc(j,te,ne)>=0)return!1;for(var ce=V.next.next;ce!==V.prev;){if(ug(j.x,j.y,te.x,te.y,ne.x,ne.y,ce.x,ce.y)&&uc(ce.prev,ce,ce.next)>=0)return!1;ce=ce.next}return!0}function Xv(V,j,te,ne){var ce=V.prev,pe=V,Ee=V.next;if(uc(ce,pe,Ee)>=0)return!1;for(var _e=ce.xpe.x?ce.x>Ee.x?ce.x:Ee.x:pe.x>Ee.x?pe.x:Ee.x,Ye=ce.y>pe.y?ce.y>Ee.y?ce.y:Ee.y:pe.y>Ee.y?pe.y:Ee.y,He=ry(_e,Qe,j,te,ne),tt=ry(Me,Ye,j,te,ne),At=V.prevZ,st=V.nextZ;At&&At.z>=He&&st&&st.z<=tt;){if(At!==V.prev&&At!==V.next&&ug(ce.x,ce.y,pe.x,pe.y,Ee.x,Ee.y,At.x,At.y)&&uc(At.prev,At,At.next)>=0||(At=At.prevZ,st!==V.prev&&st!==V.next&&ug(ce.x,ce.y,pe.x,pe.y,Ee.x,Ee.y,st.x,st.y)&&uc(st.prev,st,st.next)>=0))return!1;st=st.nextZ}for(;At&&At.z>=He;){if(At!==V.prev&&At!==V.next&&ug(ce.x,ce.y,pe.x,pe.y,Ee.x,Ee.y,At.x,At.y)&&uc(At.prev,At,At.next)>=0)return!1;At=At.prevZ}for(;st&&st.z<=tt;){if(st!==V.prev&&st!==V.next&&ug(ce.x,ce.y,pe.x,pe.y,Ee.x,Ee.y,st.x,st.y)&&uc(st.prev,st,st.next)>=0)return!1;st=st.nextZ}return!0}function Zv(V,j,te){var ne=V;do{var ce=ne.prev,pe=ne.next.next;!sr(ce,pe)&&vi(ce,ne,ne.next,pe)&&gr(ce,pe)&&gr(pe,ce)&&(j.push(ce.i/te),j.push(ne.i/te),j.push(pe.i/te),Pn(ne),Pn(ne.next),ne=V=pe),ne=ne.next}while(ne!==V);return ne}function NE(V,j,te,ne,ce,pe){var Ee=V;do{for(var _e=Ee.next.next;_e!==Ee.prev;){if(Ee.i!==_e.i&&ny(Ee,_e)){var Qe=Kr(Ee,_e);return Ee=mm(Ee,Ee.next),Qe=mm(Qe,Qe.next),Cm(Ee,j,te,ne,ce,pe),void Cm(Qe,j,te,ne,ce,pe)}_e=_e.next}Ee=Ee.next}while(Ee!==V)}function bp(V,j){return V.x-j.x}function Em(V,j){if(j=function(ne,ce){var pe,Ee=ce,_e=ne.x,Qe=ne.y,Me=-1/0;do{if(Qe<=Ee.y&&Qe>=Ee.next.y&&Ee.next.y!==Ee.y){var Ye=Ee.x+(Qe-Ee.y)*(Ee.next.x-Ee.x)/(Ee.next.y-Ee.y);if(Ye<=_e&&Ye>Me){if(Me=Ye,Ye===_e){if(Qe===Ee.y)return Ee;if(Qe===Ee.next.y)return Ee.next}pe=Ee.x=Ee.x&&Ee.x>=At&&_e!==Ee.x&&ug(Qepe.x)&&gr(Ee,ne)&&(pe=Ee,ft=He),Ee=Ee.next;return pe}(V,j)){var te=Kr(j,V);mm(te,te.next)}}function ry(V,j,te,ne,ce){return(V=1431655765&((V=858993459&((V=252645135&((V=16711935&((V=32767*(V-te)*ce)|V<<8))|V<<4))|V<<2))|V<<1))|(j=1431655765&((j=858993459&((j=252645135&((j=16711935&((j=32767*(j-ne)*ce)|j<<8))|j<<4))|j<<2))|j<<1))<<1}function Qp(V){var j=V,te=V;do j.x=0&&(V-Ee)*(ne-_e)-(te-Ee)*(j-_e)>=0&&(te-Ee)*(pe-_e)-(ce-Ee)*(ne-_e)>=0}function ny(V,j){return V.next.i!==j.i&&V.prev.i!==j.i&&!function(te,ne){var ce=te;do{if(ce.i!==te.i&&ce.next.i!==te.i&&ce.i!==ne.i&&ce.next.i!==ne.i&&vi(ce,ce.next,te,ne))return!0;ce=ce.next}while(ce!==te);return!1}(V,j)&&gr(V,j)&&gr(j,V)&&function(te,ne){var ce=te,pe=!1,Ee=(te.x+ne.x)/2,_e=(te.y+ne.y)/2;do ce.y>_e!=ce.next.y>_e&&ce.next.y!==ce.y&&Ee<(ce.next.x-ce.x)*(_e-ce.y)/(ce.next.y-ce.y)+ce.x&&(pe=!pe),ce=ce.next;while(ce!==te);return pe}(V,j)}function uc(V,j,te){return(j.y-V.y)*(te.x-j.x)-(j.x-V.x)*(te.y-j.y)}function sr(V,j){return V.x===j.x&&V.y===j.y}function vi(V,j,te,ne){return!!(sr(V,j)&&sr(te,ne)||sr(V,ne)&&sr(te,j))||uc(V,j,te)>0!=uc(V,j,ne)>0&&uc(te,ne,V)>0!=uc(te,ne,j)>0}function gr(V,j){return uc(V.prev,V,V.next)<0?uc(V,j,V.next)>=0&&uc(V,V.prev,j)>=0:uc(V,j,V.prev)<0||uc(V,V.next,j)<0}function Kr(V,j){var te=new to(V.i,V.x,V.y),ne=new to(j.i,j.x,j.y),ce=V.next,pe=j.prev;return V.next=j,j.prev=V,te.next=ce,ce.prev=te,ne.next=te,te.prev=ne,pe.next=ne,ne.prev=pe,ne}function xn(V,j,te,ne){var ce=new to(V,j,te);return ne?(ce.next=ne.next,ce.prev=ne,ne.next.prev=ce,ne.next=ce):(ce.prev=ce,ce.next=ce),ce}function Pn(V){V.next.prev=V.prev,V.prev.next=V.next,V.prevZ&&(V.prevZ.nextZ=V.nextZ),V.nextZ&&(V.nextZ.prevZ=V.prevZ)}function to(V,j,te){this.i=V,this.x=j,this.y=te,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function vs(V,j,te,ne){for(var ce=0,pe=j,Ee=te-ne;pe0&&(Ye+=_e[He-1].length,Me.holes.push(Ye))}return Me}(V),te=Ou(j.vertices,j.holes,2),ne=[],ce=[];te.forEach(function(_e,Qe){var Me=te[Qe];ce.push([j.vertices[2*Me],j.vertices[2*Me+1]])});for(var pe=0;peri?at:ri,kt>dt?kt:dt]}(He,tt),Ye.push(At),tt}),Ye})(_e,ne.properties).forEach(function(Qe){Qe.id=ce.length,ce.push(Qe)})})}})(te,j)}),w(j)}Pf.deviation=function(V,j,te,ne){var ce=j&&j.length,pe=ce?j[0]*te:V.length,Ee=Math.abs(vs(V,0,pe,te));if(ce)for(var _e=0,Qe=j.length;_e0&&(ne+=V[ce-1].length,te.holes.push(ne))}return te},Ou.default=vc;var $s=Ht(function(V,j){function te(st,ft,at){at===void 0&&(at={});var kt={type:"Feature"};return(at.id===0||at.id)&&(kt.id=at.id),at.bbox&&(kt.bbox=at.bbox),kt.properties=ft||{},kt.geometry=st,kt}function ne(st,ft,at){if(at===void 0&&(at={}),!st)throw new Error("coordinates is required");if(!Array.isArray(st))throw new Error("coordinates must be an Array");if(st.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!At(st[0])||!At(st[1]))throw new Error("coordinates must contain numbers");return te({type:"Point",coordinates:st},ft,at)}function ce(st,ft,at){at===void 0&&(at={});for(var kt=0,ri=st;kt=0))throw new Error("precision must be a positive number");var at=Math.pow(10,ft||0);return Math.round(st*at)/at},j.radiansToLength=Ye,j.lengthToRadians=He,j.lengthToDegrees=function(st,ft){return tt(He(st,ft))},j.bearingToAzimuth=function(st){var ft=st%360;return ft<0&&(ft+=360),ft},j.radiansToDegrees=tt,j.degreesToRadians=function(st){return st%360*Math.PI/180},j.convertLength=function(st,ft,at){if(ft===void 0&&(ft="kilometers"),at===void 0&&(at="kilometers"),!(st>=0))throw new Error("length must be a positive number");return Ye(He(st,ft),at)},j.convertArea=function(st,ft,at){if(ft===void 0&&(ft="meters"),at===void 0&&(at="kilometers"),!(st>=0))throw new Error("area must be a positive number");var kt=j.areaFactors[ft];if(!kt)throw new Error("invalid original units");var ri=j.areaFactors[at];if(!ri)throw new Error("invalid final units");return st/kt*ri},j.isNumber=At,j.isObject=function(st){return!!st&&st.constructor===Object},j.validateBBox=function(st){if(!st)throw new Error("bbox is required");if(!Array.isArray(st))throw new Error("bbox must be an Array");if(st.length!==4&&st.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");st.forEach(function(ft){if(!At(ft))throw new Error("bbox must only contain numbers")})},j.validateId=function(st){if(!st)throw new Error("id is required");if(["string","number"].indexOf(typeof st)===-1)throw new Error("id must be a number or a string")}});function Ac(V,j,te){if(V!==null)for(var ne,ce,pe,Ee,_e,Qe,Me,Ye,He=0,tt=0,At=V.type,st=At==="FeatureCollection",ft=At==="Feature",at=st?V.features.length:1,kt=0;ktQe||st>Me||ft>Ye)return _e=He,Qe=ne,Me=st,Ye=ft,void(pe=0);var at=$s.lineString([_e,He],te.properties);if(j(at,ne,ce,ft,pe)===!1)return!1;pe++,_e=He})!==!1&&void 0}}})}function oy(V,j){if(!V)throw new Error("geojson is required");A1(V,function(te,ne,ce){if(te.geometry!==null){var pe=te.geometry.type,Ee=te.geometry.coordinates;switch(pe){case"LineString":if(j(te,ne,ce,0,0)===!1)return!1;break;case"Polygon":for(var _e=0;_ete[0]&&(j[0]=te[0]),j[1]>te[1]&&(j[1]=te[1]),j[2] line1 must only contain 2 coordinates");if(ne.length!==2)throw new Error(" line2 must only contain 2 coordinates");var ce=te[0][0],pe=te[0][1],Ee=te[1][0],_e=te[1][1],Qe=ne[0][0],Me=ne[0][1],Ye=ne[1][0],He=ne[1][1],tt=(He-Me)*(Ee-ce)-(Ye-Qe)*(_e-pe),At=(Ye-Qe)*(pe-Me)-(He-Me)*(ce-Qe),st=(Ee-ce)*(pe-Me)-(_e-pe)*(ce-Qe);if(tt===0)return null;var ft=At/tt,at=st/tt;return ft>=0&&ft<=1&&at>=0&&at<=1?y([ce+ft*(Ee-ce),pe+ft*(_e-pe)]):null}function Qd(V,j,te){te===void 0&&(te={});var ne=y([1/0,1/0],{dist:1/0}),ce=0;return Ge(V,function(pe){for(var Ee=Ae(pe),_e=0;_e0&&((at=ft.features[0]).properties.dist=tn(j,at,te),at.properties.location=ce+tn(Qe,at,te)),Qe.properties.dist180?-360:ne[0]-ce[0]>180?360:0,K(function(pe,Ee,_e){var Qe=_e=_e===void 0?A:Number(_e),Me=pe[1]*Math.PI/180,Ye=Ee[1]*Math.PI/180,He=Ye-Me,tt=Math.abs(Ee[0]-pe[0])*Math.PI/180;tt>Math.PI&&(tt-=2*Math.PI);var At=Math.log(Math.tan(Ye/2+Math.PI/4)/Math.tan(Me/2+Math.PI/4)),st=Math.abs(At)>1e-11?He/At:Math.cos(Me);return Math.sqrt(He*He+st*st*tt*tt)*Qe}(ne,ce),"meters",te.units)}function zI(V,j,te){if(te===void 0&&(te={}),te.method||(te.method="geodesic"),te.units||(te.units="kilometers"),!V)throw new Error("pt is required");if(Array.isArray(V)?V=y(V):V.type==="Point"?V=E(V):fe(V,"Point","point"),!j)throw new Error("line is required");Array.isArray(j)?j=Q(j):j.type==="LineString"?j=E(j):fe(j,"LineString","line");var ne=1/0,ce=V.geometry.coordinates;return Oe(j,function(pe){var Ee=pe.geometry.coordinates[0],_e=pe.geometry.coordinates[1],Qe=function(Me,Ye,He,tt){var At=[He[0]-Ye[0],He[1]-Ye[1]],st=Eu([Me[0]-Ye[0],Me[1]-Ye[1]],At);if(st<=0)return sy(Me,Ye,{method:tt.method,units:"degrees"});var ft=Eu(At,At);if(ft<=st)return sy(Me,He,{method:tt.method,units:"degrees"});var at=st/ft,kt=[Ye[0]+at*At[0],Ye[1]+at*At[1]];return sy(Me,kt,{method:tt.method,units:"degrees"})}(ce,Ee,_e,te);Qe=0&&Me<=1&&(tt.onLine1=!0),Ye>=0&&Ye<=1&&(tt.onLine2=!0),!(!tt.onLine1||!tt.onLine2)&&[tt.x,tt.y])}function $v(V){for(var j=function(tt){return tt.type!=="FeatureCollection"?tt.type!=="Feature"?w([E(tt)]):w([tt]):tt}(V),te=wd(j),ne=!1,ce=0;!ne&&ce0){j+=Math.abs(kE(V[0]));for(var te=1;te2){for(Ee=0;Ee=Ye&&He===ce.length-1);He++){if(Ye>j&&pe.length===0){if(!(Ee=j-Ye))return pe.push(ce[He]),Q(pe);_e=M0(ce[He],ce[He-1])-180,Qe=lc(ce[He],Ee,_e,ne),pe.push(Qe.geometry.coordinates)}if(Ye>=te)return(Ee=te-Ye)?(_e=M0(ce[He],ce[He-1])-180,Qe=lc(ce[He],Ee,_e,ne),pe.push(Qe.geometry.coordinates),Q(pe)):(pe.push(ce[He]),Q(pe));if(Ye>=j&&pe.push(ce[He]),He===ce.length-1)return Q(pe);Ye+=tn(ce[He],ce[He+1],ne)}if(Yece)return!1}else if(At!==0)return!1;return ne?ne==="start"?Math.abs(He)>=Math.abs(tt)?He>0?_e0?Qe=Math.abs(tt)?He>0?_e<=pe&&pe0?Qe<=Ee&&Ee=Math.abs(tt)?He>0?_e0?Qe=Math.abs(tt)?He>0?_e<=pe&&pe<=Me:Me<=pe&&pe<=_e:tt>0?Qe<=Ee&&Ee<=Ye:Ye<=Ee&&Ee<=Qe}function Dp(V,j){var te=U(V),ne=U(j),ce=te.type,pe=ne.type;switch(ce){case"Point":switch(pe){case"MultiPoint":return function(Ee,_e){var Qe,Me=!1;for(Qe=0;Qe<_e.coordinates.length;Qe++)if(YI(_e.coordinates[Qe],Ee.coordinates)){Me=!0;break}return Me}(te,ne);case"LineString":return Jg(te,ne,{ignoreEndVertices:!0});case"Polygon":case"MultiPolygon":return Or(te,ne,{ignoreBoundary:!0});default:throw new Error("feature2 "+pe+" geometry not supported")}case"MultiPoint":switch(pe){case"MultiPoint":return function(Ee,_e){for(var Qe=0;Qej[0])&&!(V[2]j[1])&&!(V[3] is required");if(typeof te!="number")throw new Error(" must be a number");if(typeof ne!="number")throw new Error(" must be a number");ce!==!1&&ce!==void 0||(V=JSON.parse(JSON.stringify(V)));var pe=Math.pow(10,te);return z(V,function(Ee){(function(_e,Qe,Me){_e.length>Me&&_e.splice(Me,_e.length);for(var Ye=0;Ye<_e.length;Ye++)_e[Ye]=Math.round(_e[Ye]*Qe)/Qe})(Ee,pe,ne)}),V}function e6(V,j,te){if(V.geometry.type!=="Polygon")throw new Error("The input feature must be a Polygon");te===void 0&&(te=1);var ne=V.geometry.coordinates,ce=[],pe={};if(te){for(var Ee=[],_e=0;_e=1||Nt<=0||Ot>=1||Ot<=0))){var nr=br,Lr=!pe[nr];Lr&&(pe[nr]=!0),j?ce.push(j(br,at,kt,Xt,Vt,Nt,ri,dt,lr,ji,Ot,Lr)):ce.push(br)}}function ft(at,kt){var ri,dt,Nt,Ot,Xt=ne[at][kt],Vt=ne[at][kt+1];return Xt[0]=0==j}function t6(V){for(var j=0,te=0;te1&&te.push(Q(Me)),w(te)}function iB(V,j){if(!j.features.length)throw new Error("lines must contain features");if(j.features.length===1)return j.features[0];var te,ne=1/0;return me(j,function(ce){var pe=Qd(ce,V).properties.dist;peYe&&tt.push(lc(V,j,Ye,ce).geometry.coordinates),Q(tt,Qe)}function Kg(V){var j=V%360;return j<0&&(j+=360),j}function Wg(V,j){j===void 0&&(j={});var te=U(V);switch(j.properties||V.type!=="Feature"||(j.properties=V.properties),te.type){case"Polygon":return rS(te,j);case"MultiPolygon":return function(ne,ce){ce===void 0&&(ce={});var pe=U(ne).coordinates,Ee=ce.properties?ce.properties:ne.type==="Feature"?ne.properties:{},_e=[];return pe.forEach(function(Qe){_e.push(jI(Qe,Ee))}),w(_e)}(te,j);default:throw new Error("invalid poly")}}function rS(V,j){return j===void 0&&(j={}),jI(U(V).coordinates,j.properties?j.properties:V.type==="Feature"?V.properties:{})}function jI(V,j){return V.length>1?S(V,j):Q(V[0],j)}function aO(V,j){var te,ne,ce;j===void 0&&(j={});var pe=j.properties,Ee=(te=j.autoComplete)===null||te===void 0||te,_e=(ne=j.orderCoords)===null||ne===void 0||ne;switch((ce=j.mutate)!==null&&ce!==void 0&&ce||(V=Mo(V)),V.type){case"FeatureCollection":var Qe=[];return V.features.forEach(function(Me){Qe.push(Ae(sO(Me,{},Ee,_e)))}),R(Qe,pe);default:return sO(V,pe,Ee,_e)}}function sO(V,j,te,ne){j=j||(V.type==="Feature"?V.properties:{});var ce=U(V),pe=ce.coordinates,Ee=ce.type;if(!pe.length)throw new Error("line must contain coordinates");switch(Ee){case"LineString":return te&&(pe=lO(pe)),v([pe],j);case"MultiLineString":var _e=[],Qe=0;return pe.forEach(function(Me){if(te&&(Me=lO(Me)),ne){var Ye=function(He){var tt=He[0],At=He[1],st=He[2],ft=He[3];return Math.abs(tt-st)*Math.abs(At-ft)}(Xe(Q(Me)));Ye>Qe?(_e.unshift(Me),Qe=Ye):_e.push(Me)}else _e.push(Me)}),v(_e,j);default:throw new Error("geometry type "+Ee+" is not supported")}}function lO(V){var j=V[0],te=j[0],ne=j[1],ce=V[V.length-1],pe=ce[0],Ee=ce[1];return te===pe&&ne===Ee||V.push(j),V}function i6(V,j){var te,ne,ce,pe,Ee,_e,Qe;for(ne=1;ne<=8;ne*=2){for(te=[],pe=!(uy(ce=V[V.length-1],j)&ne),Ee=0;Eej[2]&&(te|=2),V[1]j[3]&&(te|=8),te}function E1(V,j){for(var te=[],ne=0,ce=V;ne0&&(pe[0][0]===pe[pe.length-1][0]&&pe[0][1]===pe[pe.length-1][1]||pe.push(pe[0]),pe.length>=4&&te.push(pe))}return te}JI.prototype.interpolate=function(V){var j=Math.sin((1-V)*this.g)/Math.sin(this.g),te=Math.sin(V*this.g)/Math.sin(this.g),ne=j*Math.cos(this.start.y)*Math.cos(this.start.x)+te*Math.cos(this.end.y)*Math.cos(this.end.x),ce=j*Math.cos(this.start.y)*Math.sin(this.start.x)+te*Math.cos(this.end.y)*Math.sin(this.end.x),pe=j*Math.sin(this.start.y)+te*Math.sin(this.end.y),Ee=Th*Math.atan2(pe,Math.sqrt(Math.pow(ne,2)+Math.pow(ce,2)));return[Th*Math.atan2(ce,ne),Ee]},JI.prototype.Arc=function(V,j){var te=[];if(!V||V<=2)te.push([this.start.lon,this.start.lat]),te.push([this.end.lon,this.end.lat]);else for(var ne=1/(V-1),ce=0;cett&&(ft>Ye&&stYe&&ftQe&&(Qe=at)}var kt=[];if(_e&&Qe0&&Math.abs(Nt-te[dt-1][0])>tt){var Ot=parseFloat(te[dt-1][0]),Xt=parseFloat(te[dt-1][1]),Vt=parseFloat(te[dt][0]),lr=parseFloat(te[dt][1]);if(Ot>-180&&Ot-180&&te[dt-1][0]Ye&&Ot<180&&Vt===-180&&dt+1Ye&&te[dt-1][0]<180){ri.push([180,te[dt][1]]),dt++,ri.push([te[dt][0],te[dt][1]]);continue}if(OtYe){var ji=Ot;Ot=Vt,Vt=ji;var br=Xt;Xt=lr,lr=br}if(Ot>Ye&&Vt=180&&OtYe?180:-180,Lr]),(ri=[]).push([te[dt-1][0]>Ye?-180:180,Lr]),kt.push(ri)}else ri=[],kt.push(ri);ri.push([Nt,te[dt][1]])}else ri.push([te[dt][0],te[dt][1]])}}else{var or=[];kt.push(or);for(var ar=0;ar=0;He--)if(At[He]!=st[He])return!1;for(He=At.length-1;He>=0;He--)if(tt=At[He],!te(Qe[tt],Me[tt],Ye))return!1;return typeof Qe==typeof Me}(pe,Ee,_e))};function ne(pe){return pe==null}function ce(pe){return!(!pe||typeof pe!="object"||typeof pe.length!="number")&&typeof pe.copy=="function"&&typeof pe.slice=="function"&&!(pe.length>0&&typeof pe[0]!="number")}});function nS(V,j,te){if(te===void 0&&(te={}),!ee(te=te||{}))throw new Error("options is invalid");var ne,ce=te.tolerance||0,pe=[],Ee=VI(),_e=Gc(V);return Ee.load(_e),Oe(j,function(Qe){var Me=!1;Qe&&(me(Ee.search(Qe),function(Ye){if(Me===!1){var He=Ae(Qe).sort(),tt=Ae(Ye).sort();NC(He,tt)||(ce===0?Jg(He[0],Ye)&&Jg(He[1],Ye):Qd(Ye,He[0]).properties.dist<=ce&&Qd(Ye,He[1]).properties.dist<=ce)?(Me=!0,ne=ne?L0(ne,Qe):Qe):(ce===0?Jg(tt[0],Qe)&&Jg(tt[1],Qe):Qd(Qe,tt[0]).properties.dist<=ce&&Qd(Qe,tt[1]).properties.dist<=ce)&&(ne=ne?L0(ne,Ye):Ye)}}),Me===!1&&ne&&(pe.push(ne),ne=void 0))}),ne&&pe.push(ne),w(pe)}function L0(V,j){var te=Ae(j),ne=Ae(V),ce=ne[0],pe=ne[ne.length-1],Ee=V.geometry.coordinates;return NC(te[0],ce)?Ee.unshift(te[1]):NC(te[0],pe)?Ee.push(te[1]):NC(te[1],ce)?Ee.unshift(te[0]):NC(te[1],pe)&&Ee.push(te[0]),V}function yl(V){var j=V%360;return j<0&&(j+=360),j}function qI(V,j,te){var ne;return te===void 0&&(te={}),(ne=te.final?uO(ue(j),ue(V)):uO(ue(V),ue(j)))>180?-(360-ne):ne}function uO(V,j){var te=J(V[1]),ne=J(j[1]),ce=J(j[0]-V[0]);ce>Math.PI&&(ce-=2*Math.PI),ce<-Math.PI&&(ce+=2*Math.PI);var pe=Math.log(Math.tan(ne/2+Math.PI/4)/Math.tan(te/2+Math.PI/4));return(G(Math.atan2(ce,pe))+360)%360}function x1(V,j,te,ne){ne===void 0&&(ne={});var ce=j<0,pe=K(Math.abs(j),ne.units,"meters");ce&&(pe=-Math.abs(pe));var Ee=ue(V),_e=function(Qe,Me,Ye,He){He=He===void 0?A:Number(He);var tt=Me/He,At=Qe[0]*Math.PI/180,st=J(Qe[1]),ft=J(Ye),at=tt*Math.cos(ft),kt=st+at;Math.abs(kt)>Math.PI/2&&(kt=kt>0?Math.PI-kt:-Math.PI-kt);var ri=Math.log(Math.tan(kt/2+Math.PI/4)/Math.tan(st/2+Math.PI/4)),dt=Math.abs(ri)>1e-11?at/ri:Math.cos(st),Nt=tt*Math.sin(ft)/dt;return[(180*(At+Nt)/Math.PI+540)%360-180,180*kt/Math.PI]}(Ee,pe,te);return _e[0]+=_e[0]-Ee[0]>180?-360:Ee[0]-_e[0]>180?360:0,y(_e,ne.properties)}function XI(V,j,te,ne,ce,pe){for(var Ee=0;Ee0?oS(j,_e,ce)<0||(ce=_e):te>0&&ne<=0&&(AO(j,_e,pe)||(pe=_e)),te=ne}return[ce,pe]}function AO(V,j,te){return oS(V,j,te)>0}function oS(V,j,te){return(j[0]-V[0])*(te[1]-V[1])-(te[0]-V[0])*(j[1]-V[1])}function AM(V){for(var j,te,ne=Ae(V),ce=0,pe=1;pe0}function cM(V,j){switch(V.type==="Feature"?V.geometry.type:V.type){case"GeometryCollection":return we(V,function(te){cM(te,j)}),V;case"LineString":return cO(Ae(V),j),V;case"Polygon":return OE(Ae(V),j),V;case"MultiLineString":return Ae(V).forEach(function(te){cO(te,j)}),V;case"MultiPolygon":return Ae(V).forEach(function(te){OE(te,j)}),V;case"Point":case"MultiPoint":return V}}function cO(V,j){AM(V)===j&&V.reverse()}function OE(V,j){AM(V[0])!==j&&V[0].reverse();for(var te=1;teat?128:64,dt|=Otat?32:16,dt|=Xtat?8:4;var lr=+(dt|=Vtat?2:1),ji=0;if(dt===17||dt===18||dt===33||dt===34||dt===38||dt===68||dt===72||dt===98||dt===102||dt===132||dt===136||dt===137||dt===152||dt===153){var br=(Nt+Ot+Xt+Vt)/4;ji=br>at?2:br0?(dt=156,ji=4):dt=152:dt===33?ji>0?(dt=139,ji=4):dt=137:dt===72?ji>0?(dt=99,ji=4):dt=98:dt===132&&(ji>0?(dt=39,ji=4):dt=38)}if(dt!=0&&dt!=170){var nr,Lr,or,ar,Zi,Qr,Sr,Rr;nr=Lr=or=ar=Zi=Qr=Sr=Rr=.5;var Li=[];dt===1?(or=1-qt(He,Xt,Vt),Rr=1-qt(He,Nt,Vt),Li.push(Po[dt])):dt===169?(or=qt(at,Vt,Xt),Rr=qt(at,Vt,Nt),Li.push(Po[dt])):dt===4?(Qr=1-qt(He,Ot,Xt),ar=qt(He,Vt,Xt),Li.push(co[dt])):dt===166?(Qr=qt(at,Xt,Ot),ar=1-qt(at,Xt,Vt),Li.push(co[dt])):dt===16?(Zi=qt(He,Xt,Ot),Lr=qt(He,Nt,Ot),Li.push(oo[dt])):dt===154?(Zi=1-qt(at,Ot,Xt),Lr=1-qt(at,Ot,Nt),Li.push(oo[dt])):dt===64?(Sr=qt(He,Vt,Nt),nr=1-qt(He,Ot,Nt),Li.push(la[dt])):dt===106?(Sr=1-qt(at,Nt,Vt),nr=qt(at,Nt,Ot),Li.push(la[dt])):dt===168?(ar=qt(at,Vt,Xt),or=qt(He,Vt,Xt),Rr=qt(He,Vt,Nt),Sr=qt(at,Vt,Nt),Li.push(oa[dt]),Li.push(Po[dt])):dt===2?(ar=1-qt(He,Xt,Vt),or=1-qt(at,Xt,Vt),Rr=1-qt(at,Nt,Vt),Sr=1-qt(He,Nt,Vt),Li.push(oa[dt]),Li.push(Po[dt])):dt===162?(Zi=qt(at,Xt,Ot),Qr=qt(He,Xt,Ot),ar=1-qt(He,Xt,Vt),or=1-qt(at,Xt,Vt),Li.push(oa[dt]),Li.push(Po[dt])):dt===8?(Zi=1-qt(He,Ot,Xt),Qr=1-qt(at,Ot,Xt),ar=qt(at,Vt,Xt),or=qt(He,Vt,Xt),Li.push(oo[dt]),Li.push(co[dt])):dt===138?(Zi=1-qt(He,Ot,Xt),Qr=1-qt(at,Ot,Xt),nr=1-qt(at,Ot,Nt),Lr=1-qt(He,Ot,Nt),Li.push(oo[dt]),Li.push(co[dt])):dt===32?(Zi=qt(at,Xt,Ot),Qr=qt(He,Xt,Ot),nr=qt(He,Nt,Ot),Lr=qt(at,Nt,Ot),Li.push(oo[dt]),Li.push(co[dt])):dt===42?(Rr=1-qt(at,Nt,Vt),Sr=1-qt(He,Nt,Vt),nr=qt(He,Nt,Ot),Lr=qt(at,Nt,Ot),Li.push(Fa[dt]),Li.push(la[dt])):dt===128&&(Rr=qt(He,Vt,Nt),Sr=qt(at,Vt,Nt),nr=1-qt(at,Ot,Nt),Lr=1-qt(He,Ot,Nt),Li.push(Fa[dt]),Li.push(la[dt])),dt===5?(Qr=1-qt(He,Ot,Xt),Rr=1-qt(He,Nt,Vt),Li.push(co[dt])):dt===165?(Qr=qt(at,Xt,Ot),Rr=qt(at,Vt,Nt),Li.push(co[dt])):dt===20?(ar=qt(He,Vt,Xt),Lr=qt(He,Nt,Ot),Li.push(oa[dt])):dt===150?(ar=1-qt(at,Xt,Vt),Lr=1-qt(at,Ot,Nt),Li.push(oa[dt])):dt===80?(Zi=qt(He,Xt,Ot),Sr=qt(He,Vt,Nt),Li.push(oo[dt])):dt===90?(Zi=1-qt(at,Ot,Xt),Sr=1-qt(at,Nt,Vt),Li.push(oo[dt])):dt===65?(or=1-qt(He,Xt,Vt),nr=1-qt(He,Ot,Nt),Li.push(Po[dt])):dt===105?(or=qt(at,Vt,Xt),nr=qt(at,Nt,Ot),Li.push(Po[dt])):dt===160?(Zi=qt(at,Xt,Ot),Qr=qt(He,Xt,Ot),Rr=qt(He,Vt,Nt),Sr=qt(at,Vt,Nt),Li.push(oo[dt]),Li.push(co[dt])):dt===10?(Zi=1-qt(He,Ot,Xt),Qr=1-qt(at,Ot,Xt),Rr=1-qt(at,Nt,Vt),Sr=1-qt(He,Nt,Vt),Li.push(oo[dt]),Li.push(co[dt])):dt===130?(ar=1-qt(He,Xt,Vt),or=1-qt(at,Xt,Vt),nr=1-qt(at,Ot,Nt),Lr=1-qt(He,Ot,Nt),Li.push(oa[dt]),Li.push(Po[dt])):dt===40?(ar=qt(at,Vt,Xt),or=qt(He,Vt,Xt),nr=qt(He,Nt,Ot),Lr=qt(at,Nt,Ot),Li.push(oa[dt]),Li.push(Po[dt])):dt===101?(Qr=qt(at,Xt,Ot),nr=qt(at,Nt,Ot),Li.push(co[dt])):dt===69?(Qr=1-qt(He,Ot,Xt),nr=1-qt(He,Ot,Nt),Li.push(co[dt])):dt===149?(Rr=qt(at,Vt,Nt),Lr=1-qt(at,Ot,Nt),Li.push(Fa[dt])):dt===21?(Rr=1-qt(He,Nt,Vt),Lr=qt(He,Nt,Ot),Li.push(Fa[dt])):dt===86?(ar=1-qt(at,Xt,Vt),Sr=1-qt(at,Nt,Vt),Li.push(oa[dt])):dt===84?(ar=qt(He,Vt,Xt),Sr=qt(He,Vt,Nt),Li.push(oa[dt])):dt===89?(Zi=1-qt(at,Ot,Xt),or=qt(at,Vt,Xt),Li.push(Po[dt])):dt===81?(Zi=qt(He,Xt,Ot),or=1-qt(He,Xt,Vt),Li.push(Po[dt])):dt===96?(Zi=qt(at,Xt,Ot),Qr=qt(He,Xt,Ot),Sr=qt(He,Vt,Nt),nr=qt(at,Nt,Ot),Li.push(oo[dt]),Li.push(co[dt])):dt===74?(Zi=1-qt(He,Ot,Xt),Qr=1-qt(at,Ot,Xt),Sr=1-qt(at,Nt,Vt),nr=1-qt(He,Ot,Nt),Li.push(oo[dt]),Li.push(co[dt])):dt===24?(Zi=1-qt(at,Ot,Xt),ar=qt(at,Vt,Xt),or=qt(He,Vt,Xt),Lr=qt(He,Nt,Ot),Li.push(oo[dt]),Li.push(Po[dt])):dt===146?(Zi=qt(He,Xt,Ot),ar=1-qt(He,Xt,Vt),or=1-qt(at,Xt,Vt),Lr=1-qt(at,Ot,Nt),Li.push(oo[dt]),Li.push(Po[dt])):dt===6?(Qr=1-qt(He,Ot,Xt),ar=1-qt(at,Xt,Vt),Rr=1-qt(at,Nt,Vt),Sr=1-qt(He,Nt,Vt),Li.push(co[dt]),Li.push(oa[dt])):dt===164?(Qr=qt(at,Xt,Ot),ar=qt(He,Vt,Xt),Rr=qt(He,Vt,Nt),Sr=qt(at,Vt,Nt),Li.push(co[dt]),Li.push(oa[dt])):dt===129?(or=1-qt(He,Xt,Vt),Rr=qt(at,Vt,Nt),nr=1-qt(at,Ot,Nt),Lr=1-qt(He,Ot,Nt),Li.push(Po[dt]),Li.push(Fa[dt])):dt===41?(or=qt(at,Vt,Xt),Rr=1-qt(He,Nt,Vt),nr=qt(He,Nt,Ot),Lr=qt(at,Nt,Ot),Li.push(Po[dt]),Li.push(Fa[dt])):dt===66?(ar=1-qt(He,Xt,Vt),or=1-qt(at,Xt,Vt),Sr=1-qt(at,Nt,Vt),nr=1-qt(He,Ot,Nt),Li.push(oa[dt]),Li.push(Po[dt])):dt===104?(ar=qt(at,Vt,Xt),or=qt(He,Vt,Xt),Sr=qt(He,Vt,Nt),nr=qt(at,Nt,Ot),Li.push(Po[dt]),Li.push(va[dt])):dt===144?(Zi=qt(He,Xt,Ot),Rr=qt(He,Vt,Nt),Sr=qt(at,Vt,Nt),Lr=1-qt(at,Ot,Nt),Li.push(oo[dt]),Li.push(la[dt])):dt===26?(Zi=1-qt(at,Ot,Xt),Rr=1-qt(at,Nt,Vt),Sr=1-qt(He,Nt,Vt),Lr=qt(He,Nt,Ot),Li.push(oo[dt]),Li.push(la[dt])):dt===36?(Qr=qt(at,Xt,Ot),ar=qt(He,Vt,Xt),nr=qt(He,Nt,Ot),Lr=qt(at,Nt,Ot),Li.push(co[dt]),Li.push(oa[dt])):dt===134?(Qr=1-qt(He,Ot,Xt),ar=1-qt(at,Xt,Vt),nr=1-qt(at,Ot,Nt),Lr=1-qt(He,Ot,Nt),Li.push(co[dt]),Li.push(oa[dt])):dt===9?(Zi=1-qt(He,Ot,Xt),Qr=1-qt(at,Ot,Xt),or=qt(at,Vt,Xt),Rr=1-qt(He,Nt,Vt),Li.push(oo[dt]),Li.push(co[dt])):dt===161?(Zi=qt(at,Xt,Ot),Qr=qt(He,Xt,Ot),or=1-qt(He,Xt,Vt),Rr=qt(at,Vt,Nt),Li.push(oo[dt]),Li.push(co[dt])):dt===37?(Qr=qt(at,Xt,Ot),Rr=1-qt(He,Nt,Vt),nr=qt(He,Nt,Ot),Lr=qt(at,Nt,Ot),Li.push(co[dt]),Li.push(Fa[dt])):dt===133?(Qr=1-qt(He,Ot,Xt),Rr=qt(at,Vt,Nt),nr=1-qt(at,Ot,Nt),Lr=1-qt(He,Ot,Nt),Li.push(co[dt]),Li.push(Fa[dt])):dt===148?(ar=qt(He,Vt,Xt),Rr=qt(He,Vt,Nt),Sr=qt(at,Vt,Nt),Lr=1-qt(at,Ot,Nt),Li.push(oa[dt]),Li.push(la[dt])):dt===22?(ar=1-qt(at,Xt,Vt),Rr=1-qt(at,Nt,Vt),Sr=1-qt(He,Nt,Vt),Lr=qt(He,Nt,Ot),Li.push(oa[dt]),Li.push(la[dt])):dt===82?(Zi=qt(He,Xt,Ot),ar=1-qt(He,Xt,Vt),or=1-qt(at,Xt,Vt),Sr=1-qt(at,Nt,Vt),Li.push(oo[dt]),Li.push(Po[dt])):dt===88?(Zi=1-qt(at,Ot,Xt),ar=qt(at,Vt,Xt),or=qt(He,Vt,Xt),Sr=qt(He,Vt,Nt),Li.push(oo[dt]),Li.push(Po[dt])):dt===73?(Zi=1-qt(He,Ot,Xt),Qr=1-qt(at,Ot,Xt),or=qt(at,Vt,Xt),nr=1-qt(He,Ot,Nt),Li.push(oo[dt]),Li.push(co[dt])):dt===97?(Zi=qt(at,Xt,Ot),Qr=qt(He,Xt,Ot),or=1-qt(He,Xt,Vt),nr=qt(at,Nt,Ot),Li.push(oo[dt]),Li.push(co[dt])):dt===145?(Zi=qt(He,Xt,Ot),or=1-qt(He,Xt,Vt),Rr=qt(at,Vt,Nt),Lr=1-qt(at,Ot,Nt),Li.push(oo[dt]),Li.push(Fa[dt])):dt===25?(Zi=1-qt(at,Ot,Xt),or=qt(at,Vt,Xt),Rr=1-qt(He,Nt,Vt),Lr=qt(He,Nt,Ot),Li.push(oo[dt]),Li.push(Fa[dt])):dt===70?(Qr=1-qt(He,Ot,Xt),ar=1-qt(at,Xt,Vt),Sr=1-qt(at,Nt,Vt),nr=1-qt(He,Ot,Nt),Li.push(co[dt]),Li.push(oa[dt])):dt===100?(Qr=qt(at,Xt,Ot),ar=qt(He,Vt,Xt),Sr=qt(He,Vt,Nt),nr=qt(at,Nt,Ot),Li.push(co[dt]),Li.push(oa[dt])):dt===34?(ji===0?(Zi=1-qt(He,Ot,Xt),Qr=1-qt(at,Ot,Xt),ar=qt(at,Vt,Xt),or=qt(He,Vt,Xt),Rr=qt(He,Vt,Nt),Sr=qt(at,Vt,Nt),nr=1-qt(at,Ot,Nt),Lr=1-qt(He,Ot,Nt)):(Zi=qt(at,Xt,Ot),Qr=qt(He,Xt,Ot),ar=1-qt(He,Xt,Vt),or=1-qt(at,Xt,Vt),Rr=1-qt(at,Nt,Vt),Sr=1-qt(He,Nt,Vt),nr=qt(He,Nt,Ot),Lr=qt(at,Nt,Ot)),Li.push(oo[dt]),Li.push(co[dt]),Li.push(Fa[dt]),Li.push(la[dt])):dt===35?(ji===4?(Zi=1-qt(He,Ot,Xt),Qr=1-qt(at,Ot,Xt),ar=qt(at,Vt,Xt),or=qt(He,Vt,Xt),Rr=qt(He,Vt,Nt),Sr=qt(at,Vt,Nt),nr=1-qt(at,Ot,Nt),Lr=1-qt(He,Ot,Nt)):(Zi=qt(at,Xt,Ot),Qr=qt(He,Xt,Ot),ar=1-qt(He,Xt,Vt),or=1-qt(at,Xt,Vt),Rr=1-qt(at,Nt,Vt),Sr=1-qt(He,Nt,Vt),nr=qt(He,Nt,Ot),Lr=qt(at,Nt,Ot)),Li.push(oo[dt]),Li.push(co[dt]),Li.push(Po[dt]),Li.push(la[dt])):dt===136?(ji===0?(Zi=qt(at,Xt,Ot),Qr=qt(He,Xt,Ot),ar=1-qt(He,Xt,Vt),or=1-qt(at,Xt,Vt),Rr=1-qt(at,Nt,Vt),Sr=1-qt(He,Nt,Vt),nr=qt(He,Nt,Ot),Lr=qt(at,Nt,Ot)):(Zi=1-qt(He,Ot,Xt),Qr=1-qt(at,Ot,Xt),ar=qt(at,Vt,Xt),or=qt(He,Vt,Xt),Rr=qt(He,Vt,Nt),Sr=qt(at,Vt,Nt),nr=1-qt(at,Ot,Nt),Lr=1-qt(He,Ot,Nt)),Li.push(oo[dt]),Li.push(co[dt]),Li.push(Fa[dt]),Li.push(la[dt])):dt===153?(ji===0?(Zi=qt(He,Xt,Ot),or=1-qt(He,Xt,Vt),Rr=1-qt(He,Nt,Vt),Lr=qt(He,Nt,Ot)):(Zi=1-qt(at,Ot,Xt),or=qt(at,Vt,Xt),Rr=qt(at,Vt,Nt),Lr=1-qt(at,Ot,Nt)),Li.push(oo[dt]),Li.push(Po[dt])):dt===102?(ji===0?(Qr=1-qt(He,Ot,Xt),ar=qt(He,Vt,Xt),Sr=qt(He,Vt,Nt),nr=1-qt(He,Ot,Nt)):(Qr=qt(at,Xt,Ot),ar=1-qt(at,Xt,Vt),Sr=1-qt(at,Nt,Vt),nr=qt(at,Nt,Ot)),Li.push(co[dt]),Li.push(la[dt])):dt===155?(ji===4?(Zi=qt(He,Xt,Ot),or=1-qt(He,Xt,Vt),Rr=1-qt(He,Nt,Vt),Lr=qt(He,Nt,Ot)):(Zi=1-qt(at,Ot,Xt),or=qt(at,Vt,Xt),Rr=qt(at,Vt,Nt),Lr=1-qt(at,Ot,Nt)),Li.push(oo[dt]),Li.push(Fa[dt])):dt===103?(ji===4?(Qr=1-qt(He,Ot,Xt),ar=qt(He,Vt,Xt),Sr=qt(He,Vt,Nt),nr=1-qt(He,Ot,Nt)):(Qr=qt(at,Xt,Ot),ar=1-qt(at,Xt,Vt),Sr=1-qt(at,Nt,Vt),nr=qt(at,Nt,Ot)),Li.push(co[dt]),Li.push(oa[dt])):dt===152?(ji===0?(Zi=qt(He,Xt,Ot),ar=1-qt(He,Xt,Vt),or=1-qt(at,Xt,Vt),Rr=1-qt(at,Nt,Vt),Sr=1-qt(He,Nt,Vt),Lr=qt(He,Nt,Ot)):(Zi=1-qt(at,Ot,Xt),ar=qt(at,Vt,Xt),or=qt(He,Vt,Xt),Rr=qt(He,Vt,Nt),Sr=qt(at,Vt,Nt),Lr=1-qt(at,Ot,Nt)),Li.push(oo[dt]),Li.push(oa[dt]),Li.push(Po[dt])):dt===156?(ji===4?(Zi=qt(He,Xt,Ot),ar=1-qt(He,Xt,Vt),or=1-qt(at,Xt,Vt),Rr=1-qt(at,Nt,Vt),Sr=1-qt(He,Nt,Vt),Lr=qt(He,Nt,Ot)):(Zi=1-qt(at,Ot,Xt),ar=qt(at,Vt,Xt),or=qt(He,Vt,Xt),Rr=qt(He,Vt,Nt),Sr=qt(at,Vt,Nt),Lr=1-qt(at,Ot,Nt)),Li.push(oo[dt]),Li.push(Po[dt]),Li.push(la[dt])):dt===137?(ji===0?(Zi=qt(at,Xt,Ot),Qr=qt(He,Xt,Ot),or=1-qt(He,Xt,Vt),Rr=1-qt(He,Nt,Vt),nr=qt(He,Nt,Ot),Lr=qt(at,Nt,Ot)):(Zi=1-qt(He,Ot,Xt),Qr=1-qt(at,Ot,Xt),or=qt(at,Vt,Xt),Rr=qt(at,Vt,Nt),nr=1-qt(at,Ot,Nt),Lr=1-qt(He,Ot,Nt)),Li.push(oo[dt]),Li.push(co[dt]),Li.push(Po[dt])):dt===139?(ji===4?(Zi=qt(at,Xt,Ot),Qr=qt(He,Xt,Ot),or=1-qt(He,Xt,Vt),Rr=1-qt(He,Nt,Vt),nr=qt(He,Nt,Ot),Lr=qt(at,Nt,Ot)):(Zi=1-qt(He,Ot,Xt),Qr=1-qt(at,Ot,Xt),or=qt(at,Vt,Xt),Rr=qt(at,Vt,Nt),nr=1-qt(at,Ot,Nt),Lr=1-qt(He,Ot,Nt)),Li.push(oo[dt]),Li.push(co[dt]),Li.push(Fa[dt])):dt===98?(ji===0?(Zi=1-qt(He,Ot,Xt),Qr=1-qt(at,Ot,Xt),ar=qt(at,Vt,Xt),or=qt(He,Vt,Xt),Sr=qt(He,Vt,Nt),nr=1-qt(He,Ot,Nt)):(Zi=qt(at,Xt,Ot),Qr=qt(He,Xt,Ot),ar=1-qt(He,Xt,Vt),or=1-qt(at,Xt,Vt),Sr=1-qt(at,Nt,Vt),nr=qt(at,Nt,Ot)),Li.push(oo[dt]),Li.push(co[dt]),Li.push(la[dt])):dt===99?(ji===4?(Zi=1-qt(He,Ot,Xt),Qr=1-qt(at,Ot,Xt),ar=qt(at,Vt,Xt),or=qt(He,Vt,Xt),Sr=qt(He,Vt,Nt),nr=1-qt(He,Ot,Nt)):(Zi=qt(at,Xt,Ot),Qr=qt(He,Xt,Ot),ar=1-qt(He,Xt,Vt),or=1-qt(at,Xt,Vt),Sr=1-qt(at,Nt,Vt),nr=qt(at,Nt,Ot)),Li.push(oo[dt]),Li.push(co[dt]),Li.push(Po[dt])):dt===38?(ji===0?(Qr=1-qt(He,Ot,Xt),ar=qt(He,Vt,Xt),Rr=qt(He,Vt,Nt),Sr=qt(at,Vt,Nt),nr=1-qt(at,Ot,Nt),Lr=1-qt(He,Ot,Nt)):(Qr=qt(at,Xt,Ot),ar=1-qt(at,Xt,Vt),Rr=1-qt(at,Nt,Vt),Sr=1-qt(He,Nt,Vt),nr=qt(He,Nt,Ot),Lr=qt(at,Nt,Ot)),Li.push(co[dt]),Li.push(Fa[dt]),Li.push(la[dt])):dt===39?(ji===4?(Qr=1-qt(He,Ot,Xt),ar=qt(He,Vt,Xt),Rr=qt(He,Vt,Nt),Sr=qt(at,Vt,Nt),nr=1-qt(at,Ot,Nt),Lr=1-qt(He,Ot,Nt)):(Qr=qt(at,Xt,Ot),ar=1-qt(at,Xt,Vt),Rr=1-qt(at,Nt,Vt),Sr=1-qt(He,Nt,Vt),nr=qt(He,Nt,Ot),Lr=qt(at,Nt,Ot)),Li.push(co[dt]),Li.push(oa[dt]),Li.push(la[dt])):dt===85&&(Zi=1,Qr=0,ar=1,or=0,Rr=0,Sr=1,nr=0,Lr=1),(nr<0||nr>1||Lr<0||Lr>1||Zi<0||Zi>1||ar<0||ar>1||Rr<0||Rr>1||Sr<0||Sr>1)&&console.log("MarchingSquaresJS-isoBands: "+dt+" "+lr+" "+Nt+","+Ot+","+Xt+","+Vt+" "+ji+" "+nr+" "+Lr+" "+Zi+" "+Qr+" "+ar+" "+or+" "+Rr+" "+Sr),ft.cells[kt][ri]={cval:dt,cval_real:lr,flipped:ji,topleft:nr,topright:Lr,righttop:Zi,rightbottom:Qr,bottomright:ar,bottomleft:or,leftbottom:Rr,lefttop:Sr,edges:Li}}}}}return ft}(V,j,te);return rB.polygons?(rB.verbose&&console.log("MarchingSquaresJS-isoBands: returning single polygons for each grid cell"),Qe=function(Ye){var He=[],tt=0;return Ye.cells.forEach(function(At,st){At.forEach(function(ft,at){if(ft!==void 0){var kt=Xn[ft.cval](ft);typeof kt=="object"&&aS(kt)?typeof kt[0]=="object"&&aS(kt[0])?typeof kt[0][0]=="object"&&aS(kt[0][0])?kt.forEach(function(ri){ri.forEach(function(dt){dt[0]+=at,dt[1]+=st}),He[tt++]=ri}):(kt.forEach(function(ri){ri[0]+=at,ri[1]+=st}),He[tt++]=kt):console.log("MarchingSquaresJS-isoBands: bandcell polygon with malformed coordinates"):console.log("MarchingSquaresJS-isoBands: bandcell polygon with null coordinates")}})}),He}(Me)):(rB.verbose&&console.log("MarchingSquaresJS-isoBands: returning polygon paths for entire data grid"),Qe=function(Ye){for(var He=[],tt=Ye.rows,At=Ye.cols,st=[],ft=0;ft0){var kt=aB(Ye.cells[ft][at]),ri=null,dt=at,Nt=ft;kt!==null&&st.push([kt.p[0]+dt,kt.p[1]+Nt]);do{if((ri=hO(Ye.cells[Nt][dt],kt.x,kt.y,kt.o))===null)break;if(st.push([ri.p[0]+dt,ri.p[1]+Nt]),dt+=ri.x,kt=ri,(Nt+=ri.y)<0||Nt>=tt||dt<0||dt>=At||Ye.cells[Nt][dt]===void 0){var Ot=fM(Ye,dt-=ri.x,Nt-=ri.y,ri.x,ri.y,ri.o);if(Ot===null)break;Ot.path.forEach(function(Xt){st.push(Xt)}),dt=Ot.i,Nt=Ot.j,kt=Ot}}while(Ye.cells[Nt][dt]!==void 0&&Ye.cells[Nt][dt].edges.length>0);He.push(st),st=[],Ye.cells[ft][at].edges.length>0&&at--}return He}(Me)),typeof rB.successCallback=="function"&&rB.successCallback(Qe),Qe}var Ff=64,td=16,el=[],tl=[],il=[],rl=[],Os=[],xs=[],nl=[],ol=[],is=[],al=[],sl=[],ll=[],ul=[],Al=[],Ks=[],Ws=[],cl=[],hl=[],Us=[],Qs=[],Ts=[],dl=[],js=[],fl=[];nl[85]=al[85]=-1,ol[85]=sl[85]=0,is[85]=ll[85]=1,Us[85]=dl[85]=1,Qs[85]=js[85]=0,Ts[85]=fl[85]=1,el[85]=rl[85]=0,tl[85]=Os[85]=-1,il[85]=Ks[85]=0,Ws[85]=ul[85]=0,cl[85]=Al[85]=1,xs[85]=hl[85]=1,dl[1]=dl[169]=0,js[1]=js[169]=-1,fl[1]=fl[169]=0,ul[1]=ul[169]=-1,Al[1]=Al[169]=0,Ks[1]=Ks[169]=0,al[4]=al[166]=0,sl[4]=sl[166]=-1,ll[4]=ll[166]=1,Ws[4]=Ws[166]=1,cl[4]=cl[166]=0,hl[4]=hl[166]=0,nl[16]=nl[154]=0,ol[16]=ol[154]=1,is[16]=is[154]=1,rl[16]=rl[154]=1,Os[16]=Os[154]=0,xs[16]=xs[154]=1,Us[64]=Us[106]=0,Qs[64]=Qs[106]=1,Ts[64]=Ts[106]=0,el[64]=el[106]=-1,tl[64]=tl[106]=0,il[64]=il[106]=1,Us[2]=Us[168]=0,Qs[2]=Qs[168]=-1,Ts[2]=Ts[168]=1,dl[2]=dl[168]=0,js[2]=js[168]=-1,fl[2]=fl[168]=0,ul[2]=ul[168]=-1,Al[2]=Al[168]=0,Ks[2]=Ks[168]=0,Ws[2]=Ws[168]=-1,cl[2]=cl[168]=0,hl[2]=hl[168]=1,nl[8]=nl[162]=0,ol[8]=ol[162]=-1,is[8]=is[162]=0,al[8]=al[162]=0,sl[8]=sl[162]=-1,ll[8]=ll[162]=1,ul[8]=ul[162]=1,Al[8]=Al[162]=0,Ks[8]=Ks[162]=1,Ws[8]=Ws[162]=1,cl[8]=cl[162]=0,hl[8]=hl[162]=0,nl[32]=nl[138]=0,ol[32]=ol[138]=1,is[32]=is[138]=1,al[32]=al[138]=0,sl[32]=sl[138]=1,ll[32]=ll[138]=0,el[32]=el[138]=1,tl[32]=tl[138]=0,il[32]=il[138]=0,rl[32]=rl[138]=1,Os[32]=Os[138]=0,xs[32]=xs[138]=1,dl[128]=dl[42]=0,js[128]=js[42]=1,fl[128]=fl[42]=1,Us[128]=Us[42]=0,Qs[128]=Qs[42]=1,Ts[128]=Ts[42]=0,el[128]=el[42]=-1,tl[128]=tl[42]=0,il[128]=il[42]=1,rl[128]=rl[42]=-1,Os[128]=Os[42]=0,xs[128]=xs[42]=0,al[5]=al[165]=-1,sl[5]=sl[165]=0,ll[5]=ll[165]=0,dl[5]=dl[165]=1,js[5]=js[165]=0,fl[5]=fl[165]=0,Ws[20]=Ws[150]=0,cl[20]=cl[150]=1,hl[20]=hl[150]=1,rl[20]=rl[150]=0,Os[20]=Os[150]=-1,xs[20]=xs[150]=1,nl[80]=nl[90]=-1,ol[80]=ol[90]=0,is[80]=is[90]=1,Us[80]=Us[90]=1,Qs[80]=Qs[90]=0,Ts[80]=Ts[90]=1,ul[65]=ul[105]=0,Al[65]=Al[105]=1,Ks[65]=Ks[105]=0,el[65]=el[105]=0,tl[65]=tl[105]=-1,il[65]=il[105]=0,nl[160]=nl[10]=-1,ol[160]=ol[10]=0,is[160]=is[10]=1,al[160]=al[10]=-1,sl[160]=sl[10]=0,ll[160]=ll[10]=0,dl[160]=dl[10]=1,js[160]=js[10]=0,fl[160]=fl[10]=0,Us[160]=Us[10]=1,Qs[160]=Qs[10]=0,Ts[160]=Ts[10]=1,Ws[130]=Ws[40]=0,cl[130]=cl[40]=1,hl[130]=hl[40]=1,ul[130]=ul[40]=0,Al[130]=Al[40]=1,Ks[130]=Ks[40]=0,el[130]=el[40]=0,tl[130]=tl[40]=-1,il[130]=il[40]=0,rl[130]=rl[40]=0,Os[130]=Os[40]=-1,xs[130]=xs[40]=1,al[37]=al[133]=0,sl[37]=sl[133]=1,ll[37]=ll[133]=1,dl[37]=dl[133]=0,js[37]=js[133]=1,fl[37]=fl[133]=0,el[37]=el[133]=-1,tl[37]=tl[133]=0,il[37]=il[133]=0,rl[37]=rl[133]=1,Os[37]=Os[133]=0,xs[37]=xs[133]=0,Ws[148]=Ws[22]=-1,cl[148]=cl[22]=0,hl[148]=hl[22]=0,dl[148]=dl[22]=0,js[148]=js[22]=-1,fl[148]=fl[22]=1,Us[148]=Us[22]=0,Qs[148]=Qs[22]=1,Ts[148]=Ts[22]=1,rl[148]=rl[22]=-1,Os[148]=Os[22]=0,xs[148]=xs[22]=1,nl[82]=nl[88]=0,ol[82]=ol[88]=-1,is[82]=is[88]=1,Ws[82]=Ws[88]=1,cl[82]=cl[88]=0,hl[82]=hl[88]=1,ul[82]=ul[88]=-1,Al[82]=Al[88]=0,Ks[82]=Ks[88]=1,Us[82]=Us[88]=0,Qs[82]=Qs[88]=-1,Ts[82]=Ts[88]=0,nl[73]=nl[97]=0,ol[73]=ol[97]=1,is[73]=is[97]=0,al[73]=al[97]=0,sl[73]=sl[97]=-1,ll[73]=ll[97]=0,ul[73]=ul[97]=1,Al[73]=Al[97]=0,Ks[73]=Ks[97]=0,el[73]=el[97]=1,tl[73]=tl[97]=0,il[73]=il[97]=1,nl[145]=nl[25]=0,ol[145]=ol[25]=-1,is[145]=is[25]=0,ul[145]=ul[25]=1,Al[145]=Al[25]=0,Ks[145]=Ks[25]=1,dl[145]=dl[25]=0,js[145]=js[25]=1,fl[145]=fl[25]=1,rl[145]=rl[25]=-1,Os[145]=Os[25]=0,xs[145]=xs[25]=0,al[70]=al[100]=0,sl[70]=sl[100]=1,ll[70]=ll[100]=0,Ws[70]=Ws[100]=-1,cl[70]=cl[100]=0,hl[70]=hl[100]=1,Us[70]=Us[100]=0,Qs[70]=Qs[100]=-1,Ts[70]=Ts[100]=1,el[70]=el[100]=1,tl[70]=tl[100]=0,il[70]=il[100]=0,al[101]=al[69]=0,sl[101]=sl[69]=1,ll[101]=ll[69]=0,el[101]=el[69]=1,tl[101]=tl[69]=0,il[101]=il[69]=0,dl[149]=dl[21]=0,js[149]=js[21]=1,fl[149]=fl[21]=1,rl[149]=rl[21]=-1,Os[149]=Os[21]=0,xs[149]=xs[21]=0,Ws[86]=Ws[84]=-1,cl[86]=cl[84]=0,hl[86]=hl[84]=1,Us[86]=Us[84]=0,Qs[86]=Qs[84]=-1,Ts[86]=Ts[84]=1,nl[89]=nl[81]=0,ol[89]=ol[81]=-1,is[89]=is[81]=0,ul[89]=ul[81]=1,Al[89]=Al[81]=0,Ks[89]=Ks[81]=1,nl[96]=nl[74]=0,ol[96]=ol[74]=1,is[96]=is[74]=0,al[96]=al[74]=-1,sl[96]=sl[74]=0,ll[96]=ll[74]=1,Us[96]=Us[74]=1,Qs[96]=Qs[74]=0,Ts[96]=Ts[74]=0,el[96]=el[74]=1,tl[96]=tl[74]=0,il[96]=il[74]=1,nl[24]=nl[146]=0,ol[24]=ol[146]=-1,is[24]=is[146]=1,Ws[24]=Ws[146]=1,cl[24]=cl[146]=0,hl[24]=hl[146]=1,ul[24]=ul[146]=0,Al[24]=Al[146]=1,Ks[24]=Ks[146]=1,rl[24]=rl[146]=0,Os[24]=Os[146]=-1,xs[24]=xs[146]=0,al[6]=al[164]=-1,sl[6]=sl[164]=0,ll[6]=ll[164]=1,Ws[6]=Ws[164]=-1,cl[6]=cl[164]=0,hl[6]=hl[164]=0,dl[6]=dl[164]=0,js[6]=js[164]=-1,fl[6]=fl[164]=1,Us[6]=Us[164]=1,Qs[6]=Qs[164]=0,Ts[6]=Ts[164]=0,ul[129]=ul[41]=0,Al[129]=Al[41]=1,Ks[129]=Ks[41]=1,dl[129]=dl[41]=0,js[129]=js[41]=1,fl[129]=fl[41]=0,el[129]=el[41]=-1,tl[129]=tl[41]=0,il[129]=il[41]=0,rl[129]=rl[41]=0,Os[129]=Os[41]=-1,xs[129]=xs[41]=0,Ws[66]=Ws[104]=0,cl[66]=cl[104]=1,hl[66]=hl[104]=0,ul[66]=ul[104]=-1,Al[66]=Al[104]=0,Ks[66]=Ks[104]=1,Us[66]=Us[104]=0,Qs[66]=Qs[104]=-1,Ts[66]=Ts[104]=0,el[66]=el[104]=0,tl[66]=tl[104]=-1,il[66]=il[104]=1,nl[144]=nl[26]=-1,ol[144]=ol[26]=0,is[144]=is[26]=0,dl[144]=dl[26]=1,js[144]=js[26]=0,fl[144]=fl[26]=1,Us[144]=Us[26]=0,Qs[144]=Qs[26]=1,Ts[144]=Ts[26]=1,rl[144]=rl[26]=-1,Os[144]=Os[26]=0,xs[144]=xs[26]=1,al[36]=al[134]=0,sl[36]=sl[134]=1,ll[36]=ll[134]=1,Ws[36]=Ws[134]=0,cl[36]=cl[134]=1,hl[36]=hl[134]=0,el[36]=el[134]=0,tl[36]=tl[134]=-1,il[36]=il[134]=1,rl[36]=rl[134]=1,Os[36]=Os[134]=0,xs[36]=xs[134]=0,nl[9]=nl[161]=-1,ol[9]=ol[161]=0,is[9]=is[161]=0,al[9]=al[161]=0,sl[9]=sl[161]=-1,ll[9]=ll[161]=0,ul[9]=ul[161]=1,Al[9]=Al[161]=0,Ks[9]=Ks[161]=0,dl[9]=dl[161]=1,js[9]=js[161]=0,fl[9]=fl[161]=1,nl[136]=0,ol[136]=1,is[136]=1,al[136]=0,sl[136]=1,ll[136]=0,Ws[136]=-1,cl[136]=0,hl[136]=1,ul[136]=-1,Al[136]=0,Ks[136]=0,dl[136]=0,js[136]=-1,fl[136]=0,Us[136]=0,Qs[136]=-1,Ts[136]=1,el[136]=1,tl[136]=0,il[136]=0,rl[136]=1,Os[136]=0,xs[136]=1,nl[34]=0,ol[34]=-1,is[34]=0,al[34]=0,sl[34]=-1,ll[34]=1,Ws[34]=1,cl[34]=0,hl[34]=0,ul[34]=1,Al[34]=0,Ks[34]=1,dl[34]=0,js[34]=1,fl[34]=1,Us[34]=0,Qs[34]=1,Ts[34]=0,el[34]=-1,tl[34]=0,il[34]=1,rl[34]=-1,Os[34]=0,xs[34]=0,nl[35]=0,ol[35]=1,is[35]=1,al[35]=0,sl[35]=-1,ll[35]=1,Ws[35]=1,cl[35]=0,hl[35]=0,ul[35]=-1,Al[35]=0,Ks[35]=0,dl[35]=0,js[35]=-1,fl[35]=0,Us[35]=0,Qs[35]=1,Ts[35]=0,el[35]=-1,tl[35]=0,il[35]=1,rl[35]=1,Os[35]=0,xs[35]=1,nl[153]=0,ol[153]=1,is[153]=1,ul[153]=-1,Al[153]=0,Ks[153]=0,dl[153]=0,js[153]=-1,fl[153]=0,rl[153]=1,Os[153]=0,xs[153]=1,al[102]=0,sl[102]=-1,ll[102]=1,Ws[102]=1,cl[102]=0,hl[102]=0,Us[102]=0,Qs[102]=1,Ts[102]=0,el[102]=-1,tl[102]=0,il[102]=1,nl[155]=0,ol[155]=-1,is[155]=0,ul[155]=1,Al[155]=0,Ks[155]=1,dl[155]=0,js[155]=1,fl[155]=1,rl[155]=-1,Os[155]=0,xs[155]=0,al[103]=0,sl[103]=1,ll[103]=0,Ws[103]=-1,cl[103]=0,hl[103]=1,Us[103]=0,Qs[103]=-1,Ts[103]=1,el[103]=1,tl[103]=0,il[103]=0,nl[152]=0,ol[152]=1,is[152]=1,Ws[152]=-1,cl[152]=0,hl[152]=1,ul[152]=-1,Al[152]=0,Ks[152]=0,dl[152]=0,js[152]=-1,fl[152]=0,Us[152]=0,Qs[152]=-1,Ts[152]=1,rl[152]=1,Os[152]=0,xs[152]=1,nl[156]=0,ol[156]=-1,is[156]=1,Ws[156]=1,cl[156]=0,hl[156]=1,ul[156]=-1,Al[156]=0,Ks[156]=0,dl[156]=0,js[156]=-1,fl[156]=0,Us[156]=0,Qs[156]=1,Ts[156]=1,rl[156]=-1,Os[156]=0,xs[156]=1,nl[137]=0,ol[137]=1,is[137]=1,al[137]=0,sl[137]=1,ll[137]=0,ul[137]=-1,Al[137]=0,Ks[137]=0,dl[137]=0,js[137]=-1,fl[137]=0,el[137]=1,tl[137]=0,il[137]=0,rl[137]=1,Os[137]=0,xs[137]=1,nl[139]=0,ol[139]=1,is[139]=1,al[139]=0,sl[139]=-1,ll[139]=0,ul[139]=1,Al[139]=0,Ks[139]=0,dl[139]=0,js[139]=1,fl[139]=0,el[139]=-1,tl[139]=0,il[139]=0,rl[139]=1,Os[139]=0,xs[139]=1,nl[98]=0,ol[98]=-1,is[98]=0,al[98]=0,sl[98]=-1,ll[98]=1,Ws[98]=1,cl[98]=0,hl[98]=0,ul[98]=1,Al[98]=0,Ks[98]=1,Us[98]=0,Qs[98]=1,Ts[98]=0,el[98]=-1,tl[98]=0,il[98]=1,nl[99]=0,ol[99]=1,is[99]=0,al[99]=0,sl[99]=-1,ll[99]=1,Ws[99]=1,cl[99]=0,hl[99]=0,ul[99]=-1,Al[99]=0,Ks[99]=1,Us[99]=0,Qs[99]=-1,Ts[99]=0,el[99]=1,tl[99]=0,il[99]=1,al[38]=0,sl[38]=-1,ll[38]=1,Ws[38]=1,cl[38]=0,hl[38]=0,dl[38]=0,js[38]=1,fl[38]=1,Us[38]=0,Qs[38]=1,Ts[38]=0,el[38]=-1,tl[38]=0,il[38]=1,rl[38]=-1,Os[38]=0,xs[38]=0,al[39]=0,sl[39]=1,ll[39]=1,Ws[39]=-1,cl[39]=0,hl[39]=0,dl[39]=0,js[39]=-1,fl[39]=1,Us[39]=0,Qs[39]=1,Ts[39]=0,el[39]=-1,tl[39]=0,il[39]=1,rl[39]=1,Os[39]=0,xs[39]=0;var kC=function(V){return[[V.bottomleft,0],[0,0],[0,V.leftbottom]]},nB=function(V){return[[1,V.rightbottom],[1,0],[V.bottomright,0]]},UE=function(V){return[[V.topright,1],[1,1],[1,V.righttop]]},F0=function(V){return[[0,V.lefttop],[0,1],[V.topleft,1]]},uL=function(V){return[[V.bottomright,0],[V.bottomleft,0],[0,V.leftbottom],[0,V.lefttop]]},hM=function(V){return[[V.bottomright,0],[V.bottomleft,0],[1,V.righttop],[1,V.rightbottom]]},dM=function(V){return[[1,V.righttop],[1,V.rightbottom],[V.topleft,1],[V.topright,1]]},oB=function(V){return[[0,V.leftbottom],[0,V.lefttop],[V.topleft,1],[V.topright,1]]},oo=[],co=[],oa=[],Po=[],Fa=[],la=[],va=[],qs=[];Po[1]=Fa[1]=18,Po[169]=Fa[169]=18,oa[4]=co[4]=12,oa[166]=co[166]=12,oo[16]=qs[16]=4,oo[154]=qs[154]=4,la[64]=va[64]=22,la[106]=va[106]=22,oa[2]=la[2]=17,Po[2]=Fa[2]=18,oa[168]=la[168]=17,Po[168]=Fa[168]=18,oo[8]=Po[8]=9,co[8]=oa[8]=12,oo[162]=Po[162]=9,co[162]=oa[162]=12,oo[32]=qs[32]=4,co[32]=va[32]=1,oo[138]=qs[138]=4,co[138]=va[138]=1,Fa[128]=qs[128]=21,la[128]=va[128]=22,Fa[42]=qs[42]=21,la[42]=va[42]=22,co[5]=Fa[5]=14,co[165]=Fa[165]=14,oa[20]=qs[20]=6,oa[150]=qs[150]=6,oo[80]=la[80]=11,oo[90]=la[90]=11,Po[65]=va[65]=3,Po[105]=va[105]=3,oo[160]=la[160]=11,co[160]=Fa[160]=14,oo[10]=la[10]=11,co[10]=Fa[10]=14,oa[130]=qs[130]=6,Po[130]=va[130]=3,oa[40]=qs[40]=6,Po[40]=va[40]=3,co[101]=va[101]=1,co[69]=va[69]=1,Fa[149]=qs[149]=21,Fa[21]=qs[21]=21,oa[86]=la[86]=17,oa[84]=la[84]=17,oo[89]=Po[89]=9,oo[81]=Po[81]=9,oo[96]=va[96]=0,co[96]=la[96]=15,oo[74]=va[74]=0,co[74]=la[74]=15,oo[24]=oa[24]=8,Po[24]=qs[24]=7,oo[146]=oa[146]=8,Po[146]=qs[146]=7,co[6]=la[6]=15,oa[6]=Fa[6]=16,co[164]=la[164]=15,oa[164]=Fa[164]=16,Po[129]=qs[129]=7,Fa[129]=va[129]=20,Po[41]=qs[41]=7,Fa[41]=va[41]=20,oa[66]=va[66]=2,Po[66]=la[66]=19,oa[104]=va[104]=2,Po[104]=la[104]=19,oo[144]=Fa[144]=10,la[144]=qs[144]=23,oo[26]=Fa[26]=10,la[26]=qs[26]=23,co[36]=qs[36]=5,oa[36]=va[36]=2,co[134]=qs[134]=5,oa[134]=va[134]=2,oo[9]=Fa[9]=10,co[9]=Po[9]=13,oo[161]=Fa[161]=10,co[161]=Po[161]=13,co[37]=qs[37]=5,Fa[37]=va[37]=20,co[133]=qs[133]=5,Fa[133]=va[133]=20,oa[148]=Fa[148]=16,la[148]=qs[148]=23,oa[22]=Fa[22]=16,la[22]=qs[22]=23,oo[82]=oa[82]=8,Po[82]=la[82]=19,oo[88]=oa[88]=8,Po[88]=la[88]=19,oo[73]=va[73]=0,co[73]=Po[73]=13,oo[97]=va[97]=0,co[97]=Po[97]=13,oo[145]=Po[145]=9,Fa[145]=qs[145]=21,oo[25]=Po[25]=9,Fa[25]=qs[25]=21,co[70]=va[70]=1,oa[70]=la[70]=17,co[100]=va[100]=1,oa[100]=la[100]=17,oo[34]=Po[34]=9,co[34]=oa[34]=12,Fa[34]=qs[34]=21,la[34]=va[34]=22,oo[136]=qs[136]=4,co[136]=va[136]=1,oa[136]=la[136]=17,Po[136]=Fa[136]=18,oo[35]=qs[35]=4,co[35]=oa[35]=12,Po[35]=Fa[35]=18,la[35]=va[35]=22,oo[153]=qs[153]=4,Po[153]=Fa[153]=18,co[102]=oa[102]=12,la[102]=va[102]=22,oo[155]=Po[155]=9,Fa[155]=qs[155]=23,co[103]=va[103]=1,oa[103]=la[103]=17,oo[152]=qs[152]=4,oa[152]=la[152]=17,Po[152]=Fa[152]=18,oo[156]=oa[156]=8,Po[156]=Fa[156]=18,la[156]=qs[156]=23,oo[137]=qs[137]=4,co[137]=va[137]=1,Po[137]=Fa[137]=18,oo[139]=qs[139]=4,co[139]=Po[139]=13,Fa[139]=va[139]=20,oo[98]=Po[98]=9,co[98]=oa[98]=12,la[98]=va[98]=22,oo[99]=va[99]=0,co[99]=oa[99]=12,Po[99]=la[99]=19,co[38]=oa[38]=12,Fa[38]=qs[38]=21,la[38]=va[38]=22,co[39]=qs[39]=5,oa[39]=Fa[39]=16,la[39]=va[39]=22;var Xn=[];function qt(V,j,te){return(V-j)/(te-j)}function aS(V){return V.constructor.toString().indexOf("Array")>-1}function fM(V,j,te,ne,ce,pe){for(var Ee=V.cells[te][j],_e=Ee.cval_real,Qe=j+ne,Me=te+ce,Ye=[],He=!1;!He;){if(V.cells[Me]===void 0||V.cells[Me][Qe]===void 0)if(Me-=ce,Qe-=ne,_e=(Ee=V.cells[Me][Qe]).cval_real,ce===-1)if(pe===0)if(1&_e)Ye.push([Qe,Me]),ne=-1,ce=0,pe=0;else{if(!(4&_e)){Ye.push([Qe+Ee.bottomright,Me]),ne=0,ce=1,pe=1,He=!0;break}Ye.push([Qe+1,Me]),ne=1,ce=0,pe=0}else{if(!(1&_e)){if(4&_e){Ye.push([Qe+Ee.bottomright,Me]),ne=0,ce=1,pe=1,He=!0;break}Ye.push([Qe+Ee.bottomleft,Me]),ne=0,ce=1,pe=0,He=!0;break}Ye.push([Qe,Me]),ne=-1,ce=0,pe=0}else if(ce===1)if(pe===0){if(!(_e&td)){if(_e&Ff){Ye.push([Qe+Ee.topleft,Me+1]),ne=0,ce=-1,pe=0,He=!0;break}Ye.push([Qe+Ee.topright,Me+1]),ne=0,ce=-1,pe=1,He=!0;break}Ye.push([Qe+1,Me+1]),ne=1,ce=0,pe=1}else Ye.push([Qe+1,Me+1]),ne=1,ce=0,pe=1;else if(ne===-1)if(pe===0){if(!(_e&Ff)){if(1&_e){Ye.push([Qe,Me+Ee.leftbottom]),ne=1,ce=0,pe=0,He=!0;break}Ye.push([Qe,Me+Ee.lefttop]),ne=1,ce=0,pe=1,He=!0;break}Ye.push([Qe,Me+1]),ne=0,ce=1,pe=0}else{if(!(_e&Ff)){console.log("MarchingSquaresJS-isoBands: wtf");break}Ye.push([Qe,Me+1]),ne=0,ce=1,pe=0}else{if(ne!==1){console.log("MarchingSquaresJS-isoBands: we came from nowhere!");break}if(pe===0){if(!(4&_e)){Ye.push([Qe+1,Me+Ee.rightbottom]),ne=-1,ce=0,pe=0,He=!0;break}Ye.push([Qe+1,Me]),ne=0,ce=-1,pe=1}else{if(!(4&_e)){if(_e&td){Ye.push([Qe+1,Me+Ee.righttop]),ne=-1,ce=0,pe=1;break}Ye.push([Qe+1,Me+Ee.rightbottom]),ne=-1,ce=0,pe=0,He=!0;break}Ye.push([Qe+1,Me]),ne=0,ce=-1,pe=1}}else if(_e=(Ee=V.cells[Me][Qe]).cval_real,ne===-1)if(pe===0)if(V.cells[Me-1]!==void 0&&V.cells[Me-1][Qe]!==void 0)ne=0,ce=-1,pe=1;else{if(!(1&_e)){Ye.push([Qe+Ee.bottomright,Me]),ne=0,ce=1,pe=1,He=!0;break}Ye.push([Qe,Me])}else{if(!(_e&Ff)){console.log("MarchingSquaresJS-isoBands: found entry from top at "+Qe+","+Me);break}console.log("MarchingSquaresJS-isoBands: proceeding in x-direction!")}else if(ne===1){if(pe===0){console.log("MarchingSquaresJS-isoBands: wtf");break}if(V.cells[Me+1]!==void 0&&V.cells[Me+1][Qe]!==void 0)ne=0,ce=1,pe=0;else{if(!(_e&td)){Ye.push([Qe+Ee.topleft,Me+1]),ne=0,ce=-1,pe=0,He=!0;break}Ye.push([Qe+1,Me+1]),ne=1,ce=0,pe=1}}else if(ce===-1){if(pe!==1){console.log("MarchingSquaresJS-isoBands: wtf");break}if(V.cells[Me][Qe+1]!==void 0)ne=1,ce=0,pe=1;else{if(!(4&_e)){Ye.push([Qe+1,Me+Ee.righttop]),ne=-1,ce=0,pe=1,He=!0;break}Ye.push([Qe+1,Me]),ne=0,ce=-1,pe=1}}else{if(ce!==1){console.log("MarchingSquaresJS-isoBands: where did we came from???");break}if(pe!==0){console.log("MarchingSquaresJS-isoBands: wtf");break}if(V.cells[Me][Qe-1]!==void 0)ne=-1,ce=0,pe=0;else{if(!(_e&Ff)){Ye.push([Qe,Me+Ee.leftbottom]),ne=1,ce=0,pe=0,He=!0;break}Ye.push([Qe,Me+1]),ne=0,ce=1,pe=0}}if(Me+=ce,(Qe+=ne)===j&&Me===te)break}return{path:Ye,i:Qe,j:Me,x:ne,y:ce,o:pe}}function aB(V){if(V.edges.length>0){var j=V.edges[V.edges.length-1],te=V.cval_real;switch(j){case 0:return te&td?{p:[1,V.righttop],x:-1,y:0,o:1}:{p:[V.topleft,1],x:0,y:-1,o:0};case 1:return 4&te?{p:[V.topleft,1],x:0,y:-1,o:0}:{p:[1,V.rightbottom],x:-1,y:0,o:0};case 2:return 4&te?{p:[V.bottomright,0],x:0,y:1,o:1}:{p:[V.topleft,1],x:0,y:-1,o:0};case 3:return 1&te?{p:[V.topleft,1],x:0,y:-1,o:0}:{p:[V.bottomleft,0],x:0,y:1,o:0};case 4:return te&td?{p:[1,V.righttop],x:-1,y:0,o:1}:{p:[V.topright,1],x:0,y:-1,o:1};case 5:return 4&te?{p:[V.topright,1],x:0,y:-1,o:1}:{p:[1,V.rightbottom],x:-1,y:0,o:0};case 6:return 4&te?{p:[V.bottomright,0],x:0,y:1,o:1}:{p:[V.topright,1],x:0,y:-1,o:1};case 7:return 1&te?{p:[V.topright,1],x:0,y:-1,o:1}:{p:[V.bottomleft,0],x:0,y:1,o:0};case 8:return 4&te?{p:[V.bottomright,0],x:0,y:1,o:1}:{p:[1,V.righttop],x:-1,y:0,o:1};case 9:return 1&te?{p:[1,V.righttop],x:-1,y:0,o:1}:{p:[V.bottomleft,0],x:0,y:1,o:0};case 10:return 1&te?{p:[0,V.leftbottom],x:1,y:0,o:0}:{p:[1,V.righttop],x:-1,y:0,o:1};case 11:return te&Ff?{p:[1,V.righttop],x:-1,y:0,o:1}:{p:[0,V.lefttop],x:1,y:0,o:1};case 12:return 4&te?{p:[V.bottomright,0],x:0,y:1,o:1}:{p:[1,V.rightbottom],x:-1,y:0,o:0};case 13:return 1&te?{p:[1,V.rightbottom],x:-1,y:0,o:0}:{p:[V.bottomleft,0],x:0,y:1,o:0};case 14:return 1&te?{p:[0,V.leftbottom],x:1,y:0,o:0}:{p:[1,V.rightbottom],x:-1,y:0,o:0};case 15:return te&Ff?{p:[1,V.rightbottom],x:-1,y:0,o:0}:{p:[0,V.lefttop],x:1,y:0,o:1};case 16:return 4&te?{p:[V.bottomright,0],x:0,y:1,o:1}:{p:[0,V.leftbottom],x:1,y:0,o:0};case 17:return te&Ff?{p:[V.bottomright,0],x:0,y:1,o:1}:{p:[0,V.lefttop],x:1,y:0,o:1};case 18:return 1&te?{p:[0,V.leftbottom],x:1,y:0,o:0}:{p:[V.bottomleft,0],x:0,y:1,o:0};case 19:return te&Ff?{p:[V.bottomleft,0],x:0,y:1,o:0}:{p:[0,V.lefttop],x:1,y:0,o:1};case 20:return te&Ff?{p:[V.topleft,1],x:0,y:-1,o:0}:{p:[0,V.leftbottom],x:1,y:0,o:0};case 21:return te&td?{p:[0,V.leftbottom],x:1,y:0,o:0}:{p:[V.topright,1],x:0,y:-1,o:1};case 22:return te&Ff?{p:[V.topleft,1],x:0,y:-1,o:0}:{p:[0,V.lefttop],x:1,y:0,o:1};case 23:return te&td?{p:[0,V.lefttop],x:1,y:0,o:1}:{p:[V.topright,1],x:0,y:-1,o:1};default:console.log("MarchingSquaresJS-isoBands: edge index out of range!"),console.log(V)}}return null}function hO(V,j,te,ne){var ce,pe,Ee,_e,Qe,Me=V.cval;switch(j){case-1:switch(ne){case 0:ce=co[Me],Ee=al[Me],_e=sl[Me],Qe=ll[Me];break;default:ce=oo[Me],Ee=nl[Me],_e=ol[Me],Qe=is[Me]}break;case 1:switch(ne){case 0:ce=Fa[Me],Ee=dl[Me],_e=js[Me],Qe=fl[Me];break;default:ce=la[Me],Ee=Us[Me],_e=Qs[Me],Qe=Ts[Me]}break;default:switch(te){case-1:switch(ne){case 0:ce=va[Me],Ee=el[Me],_e=tl[Me],Qe=il[Me];break;default:ce=qs[Me],Ee=rl[Me],_e=Os[Me],Qe=xs[Me]}break;case 1:switch(ne){case 0:ce=Po[Me],Ee=ul[Me],_e=Al[Me],Qe=Ks[Me];break;default:ce=oa[Me],Ee=Ws[Me],_e=cl[Me],Qe=hl[Me]}}}if(pe=V.edges.indexOf(ce),V.edges[pe]===void 0)return null;switch(function(Ye,He){delete Ye.edges[He];for(var tt=He+1;tt0){var Ye=ne[Qe-1],He=gO(Me,Ye);He!==!1&&(Ye[1]=He,Me[0]=He),Ee.push(Ye[0]),Qe===pe.length-2&&(Ee.push(Me[0]),Ee.push(Me[1]))}pe.length===2&&(Ee.push(Me[0]),Ee.push(Me[1]))}var tt,At,st,ft,at,kt,ri,dt}),Q(Ee,V.properties)}function sB(V,j,te){var ne=j[0]-V[0],ce=j[1]-V[1],pe=te[0]-j[0];return function(Ee){return(Ee>0)-(Ee<0)||+Ee}(ne*(te[1]-j[1])-pe*ce)}function mO(V,j){return j.geometry.coordinates[0].every(function(te){return Or(y(te),V)})}Xn[1]=Xn[169]=kC,Xn[4]=Xn[166]=nB,Xn[16]=Xn[154]=UE,Xn[64]=Xn[106]=F0,Xn[168]=Xn[2]=uL,Xn[162]=Xn[8]=hM,Xn[138]=Xn[32]=dM,Xn[42]=Xn[128]=oB,Xn[5]=Xn[165]=function(V){return[[0,0],[0,V.leftbottom],[1,V.rightbottom],[1,0]]},Xn[20]=Xn[150]=function(V){return[[1,0],[V.bottomright,0],[V.topright,1],[1,1]]},Xn[80]=Xn[90]=function(V){return[[1,1],[1,V.righttop],[0,V.lefttop],[0,1]]},Xn[65]=Xn[105]=function(V){return[[V.bottomleft,0],[0,0],[0,1],[V.topleft,1]]},Xn[160]=Xn[10]=function(V){return[[1,V.righttop],[1,V.rightbottom],[0,V.leftbottom],[0,V.lefttop]]},Xn[130]=Xn[40]=function(V){return[[V.topleft,1],[V.topright,1],[V.bottomright,0],[V.bottomleft,0]]},Xn[85]=function(){return[[0,0],[0,1],[1,1],[1,0]]},Xn[101]=Xn[69]=function(V){return[[1,V.rightbottom],[1,0],[0,0],[0,1],[V.topleft,1]]},Xn[149]=Xn[21]=function(V){return[[V.topright,1],[1,1],[1,0],[0,0],[0,V.leftbottom]]},Xn[86]=Xn[84]=function(V){return[[1,0],[V.bottomright,0],[0,V.lefttop],[0,1],[1,1]]},Xn[89]=Xn[81]=function(V){return[[1,1],[1,V.righttop],[V.bottomleft,0],[0,0],[0,1]]},Xn[96]=Xn[74]=function(V){return[[1,V.righttop],[1,V.rightbottom],[0,V.lefttop],[0,1],[V.topleft,1]]},Xn[24]=Xn[146]=function(V){return[[1,1],[1,V.righttop],[V.bottomright,0],[V.bottomleft,0],[V.topright,1]]},Xn[6]=Xn[164]=function(V){return[[1,V.rightbottom],[1,0],[V.bottomright,0],[0,V.leftbottom],[0,V.lefttop]]},Xn[129]=Xn[41]=function(V){return[[V.topright,1],[V.bottomleft,0],[0,0],[0,V.leftbottom],[V.topleft,1]]},Xn[66]=Xn[104]=function(V){return[[V.bottomright,0],[V.bottomleft,0],[0,V.lefttop],[0,1],[V.topleft,1]]},Xn[144]=Xn[26]=function(V){return[[1,1],[1,V.righttop],[0,V.leftbottom],[0,V.lefttop],[V.topright,1]]},Xn[36]=Xn[134]=function(V){return[[1,V.rightbottom],[1,0],[V.bottomright,0],[V.topleft,1],[V.topright,1]]},Xn[9]=Xn[161]=function(V){return[[1,V.righttop],[1,V.rightbottom],[V.bottomleft,0],[0,0],[0,V.leftbottom]]},Xn[37]=Xn[133]=function(V){return[[1,V.rightbottom],[1,0],[0,0],[0,V.leftbottom],[V.topleft,1],[V.topright,1]]},Xn[148]=Xn[22]=function(V){return[[1,1],[1,0],[V.bottomright,0],[0,V.leftbottom],[0,V.lefttop],[V.topright,1]]},Xn[82]=Xn[88]=function(V){return[[1,1],[1,V.righttop],[V.bottomright,0],[V.bottomleft,0],[0,V.lefttop],[0,1]]},Xn[73]=Xn[97]=function(V){return[[1,V.righttop],[1,V.rightbottom],[V.bottomleft,0],[0,0],[0,1],[V.topleft,1]]},Xn[145]=Xn[25]=function(V){return[[1,1],[1,V.righttop],[V.bottomleft,0],[0,0],[0,V.leftbottom],[V.topright,1]]},Xn[70]=Xn[100]=function(V){return[[1,V.rightbottom],[1,0],[V.bottomright,0],[0,V.lefttop],[0,1],[V.topleft,1]]},Xn[34]=function(V){return[oB(V),hM(V)]},Xn[35]=function(V){return[[1,V.righttop],[1,V.rightbottom],[V.bottomright,0],[V.bottomleft,0],[0,V.leftbottom],[0,V.lefttop],[V.topleft,1],[V.topright,1]]},Xn[136]=function(V){return[dM(V),uL(V)]},Xn[153]=function(V){return[UE(V),kC(V)]},Xn[102]=function(V){return[nB(V),F0(V)]},Xn[155]=function(V){return[[1,1],[1,V.righttop],[V.bottomleft,0],[0,0],[0,V.leftbottom],[V.topright,1]]},Xn[103]=function(V){return[[1,V.rightbottom],[1,0],[V.bottomright,0],[0,V.lefttop],[0,1],[V.topleft,1]]},Xn[152]=function(V){return[UE(V),uL(V)]},Xn[156]=function(V){return[[1,1],[1,V.righttop],[V.bottomright,0],[V.bottomleft,0],[0,V.leftbottom],[0,V.lefttop],[V.topright,1]]},Xn[137]=function(V){return[dM(V),kC(V)]},Xn[139]=function(V){return[[1,V.righttop],[1,V.rightbottom],[V.bottomleft,0],[0,0],[0,V.leftbottom],[V.topleft,1],[V.topright,1]]},Xn[98]=function(V){return[hM(V),F0(V)]},Xn[99]=function(V){return[[1,V.righttop],[1,V.rightbottom],[V.bottomright,0],[V.bottomleft,0],[0,V.lefttop],[0,1],[V.topleft,1]]},Xn[38]=function(V){return[nB(V),oB(V)]},Xn[39]=function(V){return[[1,V.rightbottom],[1,0],[V.bottomright,0],[0,V.leftbottom],[0,V.lefttop],[V.topleft,1],[V.topright,1]]};var CO=function(){function V(j){this.id=V.buildId(j),this.coordinates=j,this.innerEdges=[],this.outerEdges=[],this.outerEdgesSorted=!1}return V.buildId=function(j){return j.join(",")},V.prototype.removeInnerEdge=function(j){this.innerEdges=this.innerEdges.filter(function(te){return te.from.id!==j.from.id})},V.prototype.removeOuterEdge=function(j){this.outerEdges=this.outerEdges.filter(function(te){return te.to.id!==j.to.id})},V.prototype.addOuterEdge=function(j){this.outerEdges.push(j),this.outerEdgesSorted=!1},V.prototype.sortOuterEdges=function(){var j=this;this.outerEdgesSorted||(this.outerEdges.sort(function(te,ne){var ce=te.to,pe=ne.to;if(ce.coordinates[0]-j.coordinates[0]>=0&&pe.coordinates[0]-j.coordinates[0]<0)return 1;if(ce.coordinates[0]-j.coordinates[0]<0&&pe.coordinates[0]-j.coordinates[0]>=0)return-1;if(ce.coordinates[0]-j.coordinates[0]==0&&pe.coordinates[0]-j.coordinates[0]==0)return ce.coordinates[1]-j.coordinates[1]>=0||pe.coordinates[1]-j.coordinates[1]>=0?ce.coordinates[1]-pe.coordinates[1]:pe.coordinates[1]-ce.coordinates[1];var Ee=sB(j.coordinates,ce.coordinates,pe.coordinates);return Ee<0?1:Ee>0?-1:Math.pow(ce.coordinates[0]-j.coordinates[0],2)+Math.pow(ce.coordinates[1]-j.coordinates[1],2)-(Math.pow(pe.coordinates[0]-j.coordinates[0],2)+Math.pow(pe.coordinates[1]-j.coordinates[1],2))}),this.outerEdgesSorted=!0)},V.prototype.getOuterEdges=function(){return this.sortOuterEdges(),this.outerEdges},V.prototype.getOuterEdge=function(j){return this.sortOuterEdges(),this.outerEdges[j]},V.prototype.addInnerEdge=function(j){this.innerEdges.push(j)},V}(),y1=function(){function V(j,te){this.from=j,this.to=te,this.next=void 0,this.label=void 0,this.symetric=void 0,this.ring=void 0,this.from.addOuterEdge(this),this.to.addInnerEdge(this)}return V.prototype.getSymetric=function(){return this.symetric||(this.symetric=new V(this.to,this.from),this.symetric.symetric=this),this.symetric},V.prototype.deleteEdge=function(){this.from.removeOuterEdge(this),this.to.removeInnerEdge(this)},V.prototype.isEqual=function(j){return this.from.id===j.from.id&&this.to.id===j.to.id},V.prototype.toString=function(){return"Edge { "+this.from.id+" -> "+this.to.id+" }"},V.prototype.toLineString=function(){return Q([this.from.coordinates,this.to.coordinates])},V.prototype.compareTo=function(j){return sB(j.from.coordinates,j.to.coordinates,this.to.coordinates)},V}(),cL=function(){function V(){this.edges=[],this.polygon=void 0,this.envelope=void 0}return V.prototype.push=function(j){this[this.edges.length]=j,this.edges.push(j),this.polygon=this.envelope=void 0},V.prototype.get=function(j){return this.edges[j]},Object.defineProperty(V.prototype,"length",{get:function(){return this.edges.length},enumerable:!0,configurable:!0}),V.prototype.forEach=function(j){this.edges.forEach(j)},V.prototype.map=function(j){return this.edges.map(j)},V.prototype.some=function(j){return this.edges.some(j)},V.prototype.isValid=function(){return!0},V.prototype.isHole=function(){var j=this,te=this.edges.reduce(function(Ee,_e,Qe){return _e.from.coordinates[1]>j.edges[Ee].from.coordinates[1]&&(Ee=Qe),Ee},0),ne=(te===0?this.length:te)-1,ce=(te+1)%this.length,pe=sB(this.edges[ne].from.coordinates,this.edges[te].from.coordinates,this.edges[ce].from.coordinates);return pe===0?this.edges[ne].from.coordinates[0]>this.edges[ce].from.coordinates[0]:pe>0},V.prototype.toMultiPoint=function(){return D(this.edges.map(function(j){return j.from.coordinates}))},V.prototype.toPolygon=function(){if(this.polygon)return this.polygon;var j=this.edges.map(function(te){return te.from.coordinates});return j.push(this.edges[0].from.coordinates),this.polygon=v([j])},V.prototype.getEnvelope=function(){return this.envelope?this.envelope:this.envelope=Uc(this.toPolygon())},V.findEdgeRingContaining=function(j,te){var ne,ce,pe=j.getEnvelope();return te.forEach(function(Ee){var _e,Qe,Me,Ye,He,tt,At=Ee.getEnvelope();if(ce&&(ne=ce.getEnvelope()),Qe=pe,Me=(_e=At).geometry.coordinates.map(function(ft){return ft[0]}),Ye=_e.geometry.coordinates.map(function(ft){return ft[1]}),He=Qe.geometry.coordinates.map(function(ft){return ft[0]}),tt=Qe.geometry.coordinates.map(function(ft){return ft[1]}),(Math.max(null,Me)!==Math.max(null,He)||Math.max(null,Ye)!==Math.max(null,tt)||Math.min(null,Me)!==Math.min(null,He)||Math.min(null,Ye)!==Math.min(null,tt))&&mO(At,pe)){var st=j.map(function(ft){return ft.from.coordinates}).find(function(ft){return!Ee.some(function(at){return kt=ft,ri=at.from.coordinates,kt[0]===ri[0]&&kt[1]===ri[1];var kt,ri})});st&&Ee.inside(y(st))&&(ce&&!mO(ne,At)||(ce=Ee))}}),ce},V.prototype.inside=function(j){return Or(j,this.toPolygon())},V}(),s6=function(){function V(){this.edges=[],this.nodes={}}return V.fromGeoJson=function(j){(function(ne){if(!ne)throw new Error("No geojson passed");if(ne.type!=="FeatureCollection"&&ne.type!=="GeometryCollection"&&ne.type!=="MultiLineString"&&ne.type!=="LineString"&&ne.type!=="Feature")throw new Error("Invalid input type '"+ne.type+"'. Geojson must be FeatureCollection, GeometryCollection, LineString, MultiLineString or Feature")})(j);var te=new V;return Ge(j,function(ne){fe(ne,"LineString","Graph::fromGeoJson"),re(ne,function(ce,pe){if(ce){var Ee=te.getNode(ce),_e=te.getNode(pe);te.addEdge(Ee,_e)}return pe})}),te},V.prototype.getNode=function(j){var te=CO.buildId(j),ne=this.nodes[te];return ne||(ne=this.nodes[te]=new CO(j)),ne},V.prototype.addEdge=function(j,te){var ne=new y1(j,te),ce=ne.getSymetric();this.edges.push(ne),this.edges.push(ce)},V.prototype.deleteDangles=function(){var j=this;Object.keys(this.nodes).map(function(te){return j.nodes[te]}).forEach(function(te){return j._removeIfDangle(te)})},V.prototype._removeIfDangle=function(j){var te=this;if(j.innerEdges.length<=1){var ne=j.getOuterEdges().map(function(ce){return ce.to});this.removeNode(j),ne.forEach(function(ce){return te._removeIfDangle(ce)})}},V.prototype.deleteCutEdges=function(){var j=this;this._computeNextCWEdges(),this._findLabeledEdgeRings(),this.edges.forEach(function(te){te.label===te.symetric.label&&(j.removeEdge(te.symetric),j.removeEdge(te))})},V.prototype._computeNextCWEdges=function(j){var te=this;j===void 0?Object.keys(this.nodes).forEach(function(ne){return te._computeNextCWEdges(te.nodes[ne])}):j.getOuterEdges().forEach(function(ne,ce){j.getOuterEdge((ce===0?j.getOuterEdges().length:ce)-1).symetric.next=ne})},V.prototype._computeNextCCWEdges=function(j,te){for(var ne,ce,pe=j.getOuterEdges(),Ee=pe.length-1;Ee>=0;--Ee){var _e=pe[Ee],Qe=_e.symetric,Me=void 0,Ye=void 0;_e.label===te&&(Me=_e),Qe.label===te&&(Ye=Qe),Me&&Ye&&(Ye&&(ce=Ye),Me&&(ce&&(ce.next=Me,ce=void 0),ne||(ne=Me)))}ce&&(ce.next=ne)},V.prototype._findLabeledEdgeRings=function(){var j=[],te=0;return this.edges.forEach(function(ne){if(!(ne.label>=0)){j.push(ne);var ce=ne;do ce.label=te,ce=ce.next;while(!ne.isEqual(ce));te++}}),j},V.prototype.getEdgeRings=function(){var j=this;this._computeNextCWEdges(),this.edges.forEach(function(ne){ne.label=void 0}),this._findLabeledEdgeRings().forEach(function(ne){j._findIntersectionNodes(ne).forEach(function(ce){j._computeNextCCWEdges(ce,ne.label)})});var te=[];return this.edges.forEach(function(ne){ne.ring||te.push(j._findEdgeRing(ne))}),te},V.prototype._findIntersectionNodes=function(j){var te=[],ne=j,ce=function(){var pe=0;ne.from.getOuterEdges().forEach(function(Ee){Ee.label===j.label&&++pe}),pe>1&&te.push(ne.from),ne=ne.next};do ce();while(!j.isEqual(ne));return te},V.prototype._findEdgeRing=function(j){var te=j,ne=new cL;do ne.push(te),te.ring=ne,te=te.next;while(!j.isEqual(te));return ne},V.prototype.removeNode=function(j){var te=this;j.getOuterEdges().forEach(function(ne){return te.removeEdge(ne)}),j.innerEdges.forEach(function(ne){return te.removeEdge(ne)}),delete this.nodes[j.id]},V.prototype.removeEdge=function(j){this.edges=this.edges.filter(function(te){return!te.isEqual(j)}),j.deleteEdge()},V}();function EO(V,j){var te=!0;return Ge(V,function(ne){Ge(j,function(ce){if(te===!1)return!1;te=function(pe,Ee){switch(pe.type){case"Point":switch(Ee.type){case"Point":return _e=pe.coordinates,Qe=Ee.coordinates,!(_e[0]===Qe[0]&&_e[1]===Qe[1]);case"LineString":return!xO(Ee,pe);case"Polygon":return!Or(pe,Ee)}break;case"LineString":switch(Ee.type){case"Point":return!xO(pe,Ee);case"LineString":return!function(Me,Ye){return Yg(Me,Ye).features.length>0}(pe,Ee);case"Polygon":return!hL(Ee,pe)}break;case"Polygon":switch(Ee.type){case"Point":return!Or(Ee,pe);case"LineString":return!hL(pe,Ee);case"Polygon":return!function(Me,Ye){for(var He=0,tt=Me.coordinates[0];He0}(Ee,pe)}}var _e,Qe;return!1}(ne.geometry,ce.geometry)})}),te}function xO(V,j){for(var te=0;te0}function dL(V,j,te){var ne=te[0]-V[0],ce=te[1]-V[1],pe=j[0]-V[0],Ee=j[1]-V[1];return ne*Ee-ce*pe==0&&(Math.abs(pe)>=Math.abs(Ee)?pe>0?V[0]<=te[0]&&te[0]<=j[0]:j[0]<=te[0]&&te[0]<=V[0]:Ee>0?V[1]<=te[1]&&te[1]<=j[1]:j[1]<=te[1]&&te[1]<=V[1])}function yO(V,j){return!(V[0]>j[0])&&!(V[2]j[1])&&!(V[3]0}function $I(V,j){for(var te=!1,ne=!1,ce=V.coordinates.length,pe=0;pe=Math.abs(_e)?Ee>0?V[0]<=te[0]&&te[0]<=j[0]:j[0]<=te[0]&&te[0]<=V[0]:_e>0?V[1]<=te[1]&&te[1]<=j[1]:j[1]<=te[1]&&te[1]<=V[1]:Math.abs(Ee)>=Math.abs(_e)?Ee>0?V[0]0?V[1]=0&&(te=[].concat(V.slice(ne,V.length),V.slice(1,ne+1))),te},ym.prototype.comparePath=function(V,j){var te=this;return V.every(function(ne,ce){return te.compareCoord(ne,this[ce])},j)},ym.prototype.comparePolygon=function(V,j){if(this.compareLine(V.coordinates[0],j.coordinates[0],1,!0)){var te=V.coordinates.slice(1,V.coordinates.length),ne=j.coordinates.slice(1,j.coordinates.length),ce=this;return te.every(function(pe){return this.some(function(Ee){return ce.compareLine(pe,Ee,1,!0)})},ne)}return!1},ym.prototype.compareFeature=function(V,j){return!(V.id!==j.id||!this.objectComparator(V.properties,j.properties)||!this.compareBBox(V,j))&&this.compare(V.geometry,j.geometry)},ym.prototype.compareBBox=function(V,j){return!!(!V.bbox&&!j.bbox||V.bbox&&j.bbox&&this.compareCoord(V.bbox,j.bbox))},ym.prototype.removePseudo=function(V){return V};var mL=ym;function uS(V,j){var te=U(V),ne=U(j),ce=te.type,pe=ne.type;if(ce==="MultiPoint"&&pe!=="MultiPoint"||(ce==="LineString"||ce==="MultiLineString")&&pe!=="LineString"&&pe!=="MultiLineString"||(ce==="Polygon"||ce==="MultiPolygon")&&pe!=="Polygon"&&pe!=="MultiPolygon")throw new Error("features must be of the same type");if(ce==="Point")throw new Error("Point geometry not supported");if(new mL({precision:6}).compare(V,j))return!1;var Ee=0;switch(ce){case"MultiPoint":for(var _e=0;_e0}function CM(V,j){var te=!1;return Ge(V,function(ne){Ge(j,function(ce){if(te===!0)return!0;te=!EO(ne.geometry,ce.geometry)})}),te}var CL=Ht(function(V){function j(te,ne,ce,pe){this.dataset=[],this.epsilon=1,this.minPts=2,this.distance=this._euclideanDistance,this.clusters=[],this.noise=[],this._visited=[],this._assigned=[],this._datasetLength=0,this._init(te,ne,ce,pe)}j.prototype.run=function(te,ne,ce,pe){this._init(te,ne,ce,pe);for(var Ee=0;Ee=this.minPts&&(ne=this._mergeArrays(ne,Ee))}this._assigned[pe]!==1&&this._addToCluster(pe,te)}},j.prototype._addToCluster=function(te,ne){this.clusters[ne].push(te),this._assigned[te]=1},j.prototype._regionQuery=function(te){for(var ne=[],ce=0;ce0){for(Ye=0;Ye=0);return te},j.prototype.assign=function(){for(var te,ne=!1,ce=this.dataset.length,pe=0;peEe&&(ce=pe):ne=this.minPts)return pe},te.prototype._regionQuery=function(ne,ce){ce=ce||this.epsilon;for(var pe=[],Ee=0,_e=this.dataset.length;Ee<_e;Ee++)this.distance(this.dataset[ne],this.dataset[Ee])0;ne.length0;){var _e=V[Math.floor(Math.random()*pe)],Qe=Ee?_e.join("_"):""+_e;te[Qe]||(te[Qe]=!0,ne.push(_e))}if(ne.length0,Ee=V[Math.floor(Math.random()*ce)];for(pe&&Ee.join("_"),ne.push(Ee);ne.length0,At=[];if(te)ce=te=="kmrand"?u6(V,j):te=="kmpp"?Im(V,j):te;else for(var st={};ce.length0;){var Qe=Ee.pop();if(Qe===te)return yL(Qe);Qe.closed=!0;for(var Me=V.neighbors(Qe),Ye=0,He=Me.length;Ye0)){if(pe/=tt,tt<0){if(pe0){if(pe>He)return;pe>Ye&&(Ye=pe)}if(pe=ne-Qe,tt||!(pe<0)){if(pe/=tt,tt<0){if(pe>He)return;pe>Ye&&(Ye=pe)}else if(tt>0){if(pe0)){if(pe/=At,At<0){if(pe0){if(pe>He)return;pe>Ye&&(Ye=pe)}if(pe=ce-Me,At||!(pe<0)){if(pe/=At,At<0){if(pe>He)return;pe>Ye&&(Ye=pe)}else if(At>0){if(pe0||He<1)||(Ye>0&&(V[0]=[Qe+Ye*tt,Me+Ye*At]),He<1&&(V[1]=[Qe+He*tt,Me+He*At]),!0)}}}}}function c6(V,j,te,ne,ce){var pe=V[1];if(pe)return!0;var Ee,_e,Qe=V[0],Me=V.left,Ye=V.right,He=Me[0],tt=Me[1],At=Ye[0],st=Ye[1],ft=(He+At)/2,at=(tt+st)/2;if(st===tt){if(ft=ne)return;if(He>At){if(Qe){if(Qe[1]>=ce)return}else Qe=[ft,te];pe=[ft,ce]}else{if(Qe){if(Qe[1]1)if(He>At){if(Qe){if(Qe[1]>=ce)return}else Qe=[(te-_e)/Ee,te];pe=[(ce-_e)/Ee,ce]}else{if(Qe){if(Qe[1]=ne)return}else Qe=[j,Ee*j+_e];pe=[ne,Ee*ne+_e]}else{if(Qe){if(Qe[0]0&&(this.content[0]=j,this.bubbleUp(0)),V},remove:function(V){var j=this.content.indexOf(V),te=this.content.pop();j!==this.content.length-1&&(this.content[j]=te,this.scoreFunction(te)0;){var te=(V+1>>1)-1,ne=this.content[te];if(!(this.scoreFunction(j)=-uB)){var At=Qe*Qe+Me*Me,st=Ye*Ye+He*He,ft=(He*At-Me*st)/tt,at=(Qe*st-Ye*At)/tt,kt=OC.pop()||new wL;kt.arc=V,kt.site=ce,kt.x=ft+Ee,kt.y=(kt.cy=at+_e)+Math.sqrt(ft*ft+at*at),V.circle=kt;for(var ri=null,dt=lB._;dt;)if(kt.yUu)_e=_e.L;else{if(!((ce=pe-MO(_e,Ee))>Uu)){ne>-Uu?(j=_e.P,te=_e):ce>-Uu?(j=_e,te=_e.N):j=te=_e;break}if(!_e.R){j=_e;break}_e=_e.R}(function(Ot){Mh[Ot.index]={site:Ot,halfedges:[]}})(V);var Qe=cS(V);if(Bm.insert(j,Qe),j||te){if(j===te)return Sl(j),te=cS(j.site),Bm.insert(Qe,te),Qe.edge=te.edge=_1(j.site,Qe.site),Ah(j),void Ah(te);if(te){Sl(j),Sl(te);var Me=j.site,Ye=Me[0],He=Me[1],tt=V[0]-Ye,At=V[1]-He,st=te.site,ft=st[0]-Ye,at=st[1]-He,kt=2*(tt*at-At*ft),ri=tt*tt+At*At,dt=ft*ft+at*at,Nt=[(at*ri-At*dt)/kt+Ye,(tt*dt-ft*ri)/kt+He];v1(te.edge,Me,st,Nt),Qe.edge=_1(Me,V,null,Nt),te.edge=_1(V,st,null,Nt),Ah(j),Ah(te)}else Qe.edge=_1(j.site,Qe.site)}}function TO(V,j){var te=V.site,ne=te[0],ce=te[1],pe=ce-j;if(!pe)return ne;var Ee=V.P;if(!Ee)return-1/0;var _e=(te=Ee.site)[0],Qe=te[1],Me=Qe-j;if(!Me)return _e;var Ye=_e-ne,He=1/pe-1/Me,tt=Ye/Me;return He?(-tt+Math.sqrt(tt*tt-2*He*(Ye*Ye/(-2*Me)-Qe+Me/2+ce-pe/2)))/He+ne:(ne+_e)/2}function MO(V,j){var te=V.N;if(te)return TO(te,j);var ne=V.site;return ne[1]===j?ne[0]:1/0}var Bm,Mh,lB,Nf,Uu=1e-6,uB=1e-12;function N0(V,j){return j[1]-V[1]||j[0]-V[0]}function UC(V,j){var te,ne,ce,pe=V.sort(N0).pop();for(Nf=[],Mh=new Array(V.length),Bm=new _m,lB=new _m;;)if(ce=BL,pe&&(!ce||pe[1]Uu||Math.abs(st[0][1]-st[1][1])>Uu)||delete Nf[ft]})(Ee,_e,Qe,Me),function(Ye,He,tt,At){var st,ft,at,kt,ri,dt,Nt,Ot,Xt,Vt,lr,ji,br=Mh.length,nr=!0;for(st=0;stUu||Math.abs(ji-Xt)>Uu)&&(ri.splice(kt,0,Nf.push(Rp(at,Vt,Math.abs(lr-Ye)Uu?[Ye,Math.abs(Ot-Ye)Uu?[Math.abs(Xt-At)Uu?[tt,Math.abs(Ot-tt)Uu?[Math.abs(Xt-He)=-270&&(st=-st),At<-180&&At>=-360&&(ft=-ft),pe==="degrees"){var at=st*Math.cos(Ye)+ft*Math.sin(Ye),kt=ft*Math.cos(Ye)-st*Math.sin(Ye);st=at,ft=kt}He.push([st+Me[0],ft+Me[1]])}return He.push(He[0]),pe==="degrees"?v([He],Qe):dO(v([He],Qe),Ee,{pivot:_e})}function PO(V){var j=V*Math.PI/180;return Math.tan(j)}function BM(V,j){j===void 0&&(j={});var te=0,ne=0,ce=0;return we(V,function(pe,Ee,_e){var Qe=j.weight?_e?.[j.weight]:void 0;if(!q(Qe=Qe??1))throw new Error("weight value must be a number for feature index "+Ee);(Qe=Number(Qe))>0&&z(pe,function(Me){te+=Me[0]*Qe,ne+=Me[1]*Qe,ce+=Qe})}),y([te/ce,ne/ce],j.properties,j)}function dS(V,j,te,ne,ce){var pe=ne.tolerance||.001,Ee=0,_e=0,Qe=0,Me=0;if(me(te,function(tt){var At,st=(At=tt.properties)===null||At===void 0?void 0:At.weight,ft=st??1;if(!q(ft=Number(ft)))throw new Error("weight value must be a number");if(ft>0){Me+=1;var at=ft*tn(tt,V);at===0&&(at=1);var kt=ft/at;Ee+=tt.geometry.coordinates[0]*kt,_e+=tt.geometry.coordinates[1]*kt,Qe+=kt}}),Me<1)throw new Error("no features to measure");var Ye=Ee/Qe,He=_e/Qe;return Me===1||ce===0||Math.abs(Ye-j[0])te&&(te=Qe,ne=pe,j.push([]));var Me=pe-ne,Ye=V.coordinates[Qe][Me+1],He=ce[0],tt=ce[1],At=Ye[0],st=Ye[1];j[Qe].push([.75*He+.25*At,.75*tt+.25*st]),j[Qe].push([.25*He+.75*At,.25*tt+.75*st])},!0),j.forEach(function(ce){ce.push(ce[0])})}function Gs(V,j){var te=0,ne=0,ce=0;z(V,function(pe,Ee,_e,Qe,Me){Qe>ce&&(ce=Qe,ne=Ee,j.push([[]])),Me>te&&(te=Me,ne=Ee,j[Qe].push([]));var Ye=Ee-ne,He=V.coordinates[Qe][Me][Ye+1],tt=pe[0],At=pe[1],st=He[0],ft=He[1];j[Qe][Me].push([.75*tt+.25*st,.75*At+.25*ft]),j[Qe][Me].push([.25*tt+.75*st,.25*At+.75*ft])},!0),j.forEach(function(pe){pe.forEach(function(Ee){Ee.push(Ee[0])})})}function QL(V,j,te){te===void 0&&(te=2);var ne=ue(V),ce=ue(j),pe=ne[0]-ce[0],Ee=ne[1]-ce[1];return te===1?Math.abs(pe)+Math.abs(Ee):Math.pow(Math.pow(pe,te)+Math.pow(Ee,te),1/te)}function Ph(V,j){var te=(j=j||{}).threshold||1e4,ne=j.p||2,ce=j.binary||!1,pe=j.alpha||-1,Ee=j.standardization||!1,_e=[];me(V,function(At){_e.push(Mf(At))});for(var Qe=[],Me=0;Me<_e.length;Me++)Qe[Me]=[];for(Me=0;Me<_e.length;Me++)for(var Ye=Me;Ye<_e.length;Ye++){Me===Ye&&(Qe[Me][Ye]=0);var He=QL(_e[Me],_e[Ye],ne);Qe[Me][Ye]=He,Qe[Ye][Me]=He}for(Me=0;Me<_e.length;Me++)for(Ye=0;Ye<_e.length;Ye++)(He=Qe[Me][Ye])!==0&&(Qe[Me][Ye]=ce?He<=te?1:0:He<=te?Math.pow(He,pe):0);if(Ee)for(Me=0;Me<_e.length;Me++){var tt=Qe[Me].reduce(function(At,st){return At+st},0);for(Ye=0;Ye<_e.length;Ye++)Qe[Me][Ye]=Qe[Me][Ye]/tt}return Qe}function bM(V){for(var j=0,te=0,ne=V;te0?1:0}(V[0]))*j,te*Math.log(Math.tan(.25*Math.PI+.5*V[1]*j))];return ce[0]>ne&&(ce[0]=ne),ce[0]<-ne&&(ce[0]=-ne),ce[1]>ne&&(ce[1]=ne),ce[1]<-ne&&(ce[1]=-ne),ce}function fS(V){var j=180/Math.PI,te=6378137;return[V[0]*j/te,(.5*Math.PI-2*Math.atan(Math.exp(-V[1]/te)))*j]}UC.prototype={constructor:UC,polygons:function(){var V=this.edges;return this.cells.map(function(j){var te=j.halfedges.map(function(ne){return vL(j,V[ne])});return te.data=j.site.data,te})},triangles:function(){var V=[],j=this.edges;return this.cells.forEach(function(te,ne){if(pe=(ce=te.halfedges).length)for(var ce,pe,Ee,_e,Qe,Me,Ye=te.site,He=-1,tt=j[ce[pe-1]],At=tt.left===Ye?tt.right:tt.left;++He=_e)return null;var Qe=V-ce.site[0],Me=j-ce.site[1],Ye=Qe*Qe+Me*Me;do ce=pe.cells[ne=Ee],Ee=null,ce.halfedges.forEach(function(He){var tt=pe.edges[He],At=tt.left;if(At!==ce.site&&At||(At=tt.right)){var st=V-At[0],ft=j-At[1],at=st*st+ft*ft;at0?Me+He[Ye-1]:Me}),Qe.forEach(function(Me){Me=2*Me*Math.PI/Qe[Qe.length-1];var Ye=Math.random();_e.push([Ye*(j.max_radial_length||10)*Math.sin(Me),Ye*(j.max_radial_length||10)*Math.cos(Me)])}),_e[_e.length-1]=_e[0],_e=_e.map((Ee=AB(j.bbox),function(Me){return[Me[0]+Ee[0],Me[1]+Ee[1]]})),te.push(v([_e]))},ce=0;ce * @license MIT * @preserve */function d6(V,j){return V>j?1:V0)||j.right===null||te(V,j.right.key)>0&&(_e=j.right,j.right=_e.left,_e.left=j,(j=_e).right===null))break;ce.right=j,ce=j,j=j.right}}return ce.right=j.left,pe.left=j.right,j.left=ne.right,j.right=ne.left,j}function rd(V,j,te,ne){var ce=new hy(V,j);if(te===null)return ce.left=ce.right=null,ce;var pe=ne(V,(te=dy(V,te,ne)).key);return pe<0?(ce.left=te.left,ce.right=te,te.left=null):pe>=0&&(ce.right=te.right,ce.left=te,te.right=null),ce}function qg(V,j,te){var ne=null,ce=null;if(j){var pe=te((j=dy(V,j,te)).key,V);pe===0?(ne=j.left,ce=j.right):pe<0?(ce=j.right,j.right=null,ne=j):(ne=j.left,j.left=null,ce=j)}return{left:ne,right:ce}}function PL(V,j,te,ne,ce){if(V){ne(j+(te?"\u2514\u2500\u2500 ":"\u251C\u2500\u2500 ")+ce(V)+` `);var pe=j+(te?" ":"\u2502 ");V.left&&PL(V.left,pe,!1,ne,ce),V.right&&PL(V.right,pe,!0,ne,ce)}}var HC=function(){function V(j){j===void 0&&(j=d6),this._root=null,this._size=0,this._comparator=j}return V.prototype.insert=function(j,te){return this._size++,this._root=rd(j,te,this._root,this._comparator)},V.prototype.add=function(j,te){var ne=new hy(j,te);this._root===null&&(ne.left=ne.right=null,this._size++,this._root=ne);var ce=this._comparator,pe=dy(j,this._root,ce),Ee=ce(j,pe.key);return Ee===0?this._root=pe:(Ee<0?(ne.left=pe.left,ne.right=pe,pe.left=null):Ee>0&&(ne.right=pe.right,ne.left=pe,pe.right=null),this._size++,this._root=ne),this._root},V.prototype.remove=function(j){this._root=this._remove(j,this._root,this._comparator)},V.prototype._remove=function(j,te,ne){var ce;return te===null?null:ne(j,(te=dy(j,te,ne)).key)===0?(te.left===null?ce=te.right:(ce=dy(j,te.left,ne)).right=te.right,this._size--,ce):te},V.prototype.pop=function(){var j=this._root;if(j){for(;j.left;)j=j.left;return this._root=dy(j.key,this._root,this._comparator),this._root=this._remove(j.key,this._root,this._comparator),{key:j.key,data:j.data}}return null},V.prototype.findStatic=function(j){for(var te=this._root,ne=this._comparator;te;){var ce=ne(j,te.key);if(ce===0)return te;te=ce<0?te.left:te.right}return null},V.prototype.find=function(j){return this._root&&(this._root=dy(j,this._root,this._comparator),this._comparator(j,this._root.key)!==0)?null:this._root},V.prototype.contains=function(j){for(var te=this._root,ne=this._comparator;te;){var ce=ne(j,te.key);if(ce===0)return!0;te=ce<0?te.left:te.right}return!1},V.prototype.forEach=function(j,te){for(var ne=this._root,ce=[],pe=!1;!pe;)ne!==null?(ce.push(ne),ne=ne.left):ce.length!==0?(ne=ce.pop(),j.call(te,ne),ne=ne.right):pe=!0;return this},V.prototype.range=function(j,te,ne,ce){for(var pe=[],Ee=this._comparator,_e=this._root;pe.length!==0||_e;)if(_e)pe.push(_e),_e=_e.left;else{if(Ee((_e=pe.pop()).key,te)>0)break;if(Ee(_e.key,j)>=0&&ne.call(ce,_e))return this;_e=_e.right}return this},V.prototype.keys=function(){var j=[];return this.forEach(function(te){var ne=te.key;return j.push(ne)}),j},V.prototype.values=function(){var j=[];return this.forEach(function(te){var ne=te.data;return j.push(ne)}),j},V.prototype.min=function(){return this._root?this.minNode(this._root).key:null},V.prototype.max=function(){return this._root?this.maxNode(this._root).key:null},V.prototype.minNode=function(j){if(j===void 0&&(j=this._root),j)for(;j.left;)j=j.left;return j},V.prototype.maxNode=function(j){if(j===void 0&&(j=this._root),j)for(;j.right;)j=j.right;return j},V.prototype.at=function(j){for(var te=this._root,ne=!1,ce=0,pe=[];!ne;)if(te)pe.push(te),te=te.left;else if(pe.length>0){if(te=pe.pop(),ce===j)return te;ce++,te=te.right}else ne=!0;return null},V.prototype.next=function(j){var te=this._root,ne=null;if(j.right){for(ne=j.right;ne.left;)ne=ne.left;return ne}for(var ce=this._comparator;te;){var pe=ce(j.key,te.key);if(pe===0)break;pe<0?(ne=te,te=te.left):te=te.right}return ne},V.prototype.prev=function(j){var te=this._root,ne=null;if(j.left!==null){for(ne=j.left;ne.right;)ne=ne.right;return ne}for(var ce=this._comparator;te;){var pe=ce(j.key,te.key);if(pe===0)break;pe<0?te=te.left:(ne=te,te=te.right)}return ne},V.prototype.clear=function(){return this._root=null,this._size=0,this},V.prototype.toList=function(){return function(j){for(var te=j,ne=[],ce=!1,pe=new hy(null,null),Ee=pe;!ce;)te?(ne.push(te),te=te.left):ne.length>0?te=(te=Ee=Ee.next=ne.pop()).right:ce=!0;return Ee.next=null,pe.next}(this._root)},V.prototype.load=function(j,te,ne){te===void 0&&(te=[]),ne===void 0&&(ne=!1);var ce=j.length,pe=this._comparator;if(ne&&RL(j,te,0,ce-1,pe),this._root===null)this._root=kf(j,te,0,ce),this._size=ce;else{var Ee=function(_e,Qe,Me){for(var Ye=new hy(null,null),He=Ye,tt=_e,At=Qe;tt!==null&&At!==null;)Me(tt.key,At.key)<0?(He.next=tt,tt=tt.next):(He.next=At,At=At.next),He=He.next;return tt!==null?He.next=tt:At!==null&&(He.next=At),Ye.next}(this.toList(),function(_e,Qe){for(var Me=new hy(null,null),Ye=Me,He=0;He<_e.length;He++)Ye=Ye.next=new hy(_e[He],Qe[He]);return Ye.next=null,Me.next}(j,te),pe);ce=this._size+ce,this._root=B1({head:Ee},0,ce)}return this},V.prototype.isEmpty=function(){return this._root===null},Object.defineProperty(V.prototype,"size",{get:function(){return this._size},enumerable:!0,configurable:!0}),Object.defineProperty(V.prototype,"root",{get:function(){return this._root},enumerable:!0,configurable:!0}),V.prototype.toString=function(j){j===void 0&&(j=function(ne){return String(ne.key)});var te=[];return PL(this._root,"",!0,function(ne){return te.push(ne)},j),te.join("")},V.prototype.update=function(j,te,ne){var ce=this._comparator,pe=qg(j,this._root,ce),Ee=pe.left,_e=pe.right;ce(j,te)<0?_e=rd(te,ne,_e,ce):Ee=rd(te,ne,Ee,ce),this._root=function(Qe,Me,Ye){return Me===null?Qe:(Qe===null||((Me=dy(Qe.key,Me,Ye)).left=Qe),Me)}(Ee,_e,ce)},V.prototype.split=function(j){return qg(j,this._root,this._comparator)},V}();function kf(V,j,te,ne){var ce=ne-te;if(ce>0){var pe=te+Math.floor(ce/2),Ee=V[pe],_e=j[pe],Qe=new hy(Ee,_e);return Qe.left=kf(V,j,te,pe),Qe.right=kf(V,j,pe+1,ne),Qe}return null}function B1(V,j,te){var ne=te-j;if(ne>0){var ce=j+Math.floor(ne/2),pe=B1(V,j,ce),Ee=V.head;return Ee.left=pe,V.head=V.head.next,Ee.right=B1(V,ce+1,te),Ee}return null}function RL(V,j,te,ne,ce){if(!(te>=ne)){for(var pe=V[te+ne>>1],Ee=te-1,_e=ne+1;;){do Ee++;while(ce(V[Ee],pe)<0);do _e--;while(ce(V[_e],pe)>0);if(Ee>=_e)break;var Qe=V[Ee];V[Ee]=V[_e],V[_e]=Qe,Qe=j[Ee],j[Ee]=j[_e],j[_e]=Qe}RL(V,j,te,_e,ce),RL(V,j,_e+1,ne,ce)}}function k0(V,j){if(!(V instanceof j))throw new TypeError("Cannot call a class as a function")}function FO(V,j){for(var te=0;tete.x?1:j.yte.y?1:0}}]),cg(V,[{key:"link",value:function(j){if(j.point===this.point)throw new Error("Tried to link already linked events");for(var te=j.point.events,ne=0,ce=te.length;ne=0&&He>=0?Mett?-1:0:Qe<0&&He<0?Mett?1:0:HeQe?1:0}}}]),V}(),xS=0,yS=function(){function V(j,te,ne,ce){k0(this,V),this.id=++xS,this.leftSE=j,j.segment=this,j.otherSE=te,this.rightSE=te,te.segment=this,te.otherSE=j,this.rings=ne,this.windings=ce}return cg(V,null,[{key:"compare",value:function(j,te){var ne=j.leftSE.point.x,ce=te.leftSE.point.x,pe=j.rightSE.point.x,Ee=te.rightSE.point.x;if(Ee_e&&Qe>Me)return-1;var He=j.comparePoint(te.leftSE.point);if(He<0)return 1;if(He>0)return-1;var tt=te.comparePoint(j.rightSE.point);return tt!==0?tt:-1}if(ne>ce){if(_eQe&&_e>Ye)return 1;var At=te.comparePoint(j.leftSE.point);if(At!==0)return At;var st=j.comparePoint(te.rightSE.point);return st<0?1:st>0?-1:1}if(_eQe)return 1;if(peEe){var at=j.comparePoint(te.rightSE.point);if(at<0)return 1;if(at>0)return-1}if(pe!==Ee){var kt=Me-_e,ri=pe-ne,dt=Ye-Qe,Nt=Ee-ce;if(kt>ri&&dtNt)return-1}return pe>Ee?1:peYe?1:j.idte.id?1:0}}]),cg(V,[{key:"replaceRightSE",value:function(j){this.rightSE=j,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}},{key:"bbox",value:function(){var j=this.leftSE.point.y,te=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:jte?j:te}}}},{key:"vector",value:function(){return{x:this.rightSE.point.x-this.leftSE.point.x,y:this.rightSE.point.y-this.leftSE.point.y}}},{key:"isAnEndpoint",value:function(j){return j.x===this.leftSE.point.x&&j.y===this.leftSE.point.y||j.x===this.rightSE.point.x&&j.y===this.rightSE.point.y}},{key:"comparePoint",value:function(j){if(this.isAnEndpoint(j))return 0;var te=this.leftSE.point,ne=this.rightSE.point,ce=this.vector();if(te.x===ne.x)return j.x===te.x?0:j.x0&&_e.swapEvents(),wm.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),ne&&(ce.checkForConsuming(),pe.checkForConsuming()),te}},{key:"swapEvents",value:function(){var j=this.rightSE;this.rightSE=this.leftSE,this.leftSE=j,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(var te=0,ne=this.windings.length;te0){var pe=te;te=ne,ne=pe}if(te.prev===ne){var Ee=te;te=ne,ne=Ee}for(var _e=0,Qe=ne.rings.length;_e0))throw new Error("Tried to create degenerate segment at [".concat(j.x,", ").concat(j.y,"]"));ce=te,pe=j,Ee=-1}return new V(new wm(ce,!0),new wm(pe,!1),[ne],[Ee])}}]),V}(),VC=function(){function V(j,te,ne){if(k0(this,V),!Array.isArray(j)||j.length===0)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=te,this.isExterior=ne,this.segments=[],typeof j[0][0]!="number"||typeof j[0][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");var ce=w1.round(j[0][0],j[0][1]);this.bbox={ll:{x:ce.x,y:ce.y},ur:{x:ce.x,y:ce.y}};for(var pe=ce,Ee=1,_e=j.length;Ee<_e;Ee++){if(typeof j[Ee][0]!="number"||typeof j[Ee][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");var Qe=w1.round(j[Ee][0],j[Ee][1]);Qe.x===pe.x&&Qe.y===pe.y||(this.segments.push(yS.fromRing(pe,Qe,this)),Qe.xthis.bbox.ur.x&&(this.bbox.ur.x=Qe.x),Qe.y>this.bbox.ur.y&&(this.bbox.ur.y=Qe.y),pe=Qe)}ce.x===pe.x&&ce.y===pe.y||this.segments.push(yS.fromRing(pe,ce,this))}return cg(V,[{key:"getSweepEvents",value:function(){for(var j=[],te=0,ne=this.segments.length;tethis.bbox.ur.x&&(this.bbox.ur.x=pe.bbox.ur.x),pe.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=pe.bbox.ur.y),this.interiorRings.push(pe)}this.multiPoly=te}return cg(V,[{key:"getSweepEvents",value:function(){for(var j=this.exteriorRing.getSweepEvents(),te=0,ne=this.interiorRings.length;tethis.bbox.ur.x&&(this.bbox.ur.x=pe.bbox.ur.x),pe.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=pe.bbox.ur.y),this.polys.push(pe)}this.isSubject=te}return cg(V,[{key:"getSweepEvents",value:function(){for(var j=[],te=0,ne=this.polys.length;te0&&(j=ce)}for(var pe=j.segment.prevInResult(),Ee=pe?pe.prevInResult():null;;){if(!pe)return null;if(!Ee)return pe.ringOut;if(Ee.ringOut!==pe.ringOut)return Ee.ringOut.enclosingRing()!==pe.ringOut?pe.ringOut:pe.ringOut.enclosingRing();pe=Ee.prevInResult(),Ee=pe?pe.prevInResult():null}}}]),V}(),GO=function(){function V(j){k0(this,V),this.exteriorRing=j,j.poly=this,this.interiorRings=[]}return cg(V,[{key:"addInterior",value:function(j){this.interiorRings.push(j),j.poly=this}},{key:"getGeom",value:function(){var j=[this.exteriorRing.getGeom()];if(j[0]===null)return null;for(var te=0,ne=this.interiorRings.length;te1&&arguments[1]!==void 0?arguments[1]:yS.compare;k0(this,V),this.queue=j,this.tree=new HC(te),this.segments=[]}return cg(V,[{key:"process",value:function(j){var te=j.segment,ne=[];if(j.consumedBy)return j.isLeft?this.queue.remove(j.otherSE):this.tree.remove(te),ne;var ce=j.isLeft?this.tree.insert(te):this.tree.find(te);if(!ce)throw new Error("Unable to find segment #".concat(te.id," ")+"[".concat(te.leftSE.point.x,", ").concat(te.leftSE.point.y,"] -> ")+"[".concat(te.rightSE.point.x,", ").concat(te.rightSE.point.y,"] ")+"in SweepLine tree. Please submit a bug report.");for(var pe=ce,Ee=ce,_e=void 0,Qe=void 0;_e===void 0;)(pe=this.tree.prev(pe))===null?_e=null:pe.key.consumedBy===void 0&&(_e=pe.key);for(;Qe===void 0;)(Ee=this.tree.next(Ee))===null?Qe=null:Ee.key.consumedBy===void 0&&(Qe=Ee.key);if(j.isLeft){var Me=null;if(_e){var Ye=_e.getIntersection(te);if(Ye!==null&&(te.isAnEndpoint(Ye)||(Me=Ye),!_e.isAnEndpoint(Ye)))for(var He=this._splitSafely(_e,Ye),tt=0,At=He.length;tt0?(this.tree.remove(te),ne.push(j)):(this.segments.push(te),te.prev=_e)}else{if(_e&&Qe){var Vt=_e.getIntersection(Qe);if(Vt!==null){if(!_e.isAnEndpoint(Vt))for(var lr=this._splitSafely(_e,Vt),ji=0,br=lr.length;jiHO)throw new Error("Infinite loop when putting segment endpoints in a priority queue (queue size too big). Please file a bug report.");for(var Nt=new p6(st),Ot=st.size,Xt=st.pop();Xt;){var Vt=Xt.key;if(st.size===Ot){var lr=Vt.segment;throw new Error("Unable to pop() ".concat(Vt.isLeft?"left":"right"," SweepEvent ")+"[".concat(Vt.point.x,", ").concat(Vt.point.y,"] from segment #").concat(lr.id," ")+"[".concat(lr.leftSE.point.x,", ").concat(lr.leftSE.point.y,"] -> ")+"[".concat(lr.rightSE.point.x,", ").concat(lr.rightSE.point.y,"] from queue. ")+"Please file a bug report.")}if(st.size>HO)throw new Error("Infinite loop when passing sweep line over endpoints (queue size too big). Please file a bug report.");if(Nt.segments.length>m6)throw new Error("Infinite loop when passing sweep line over endpoints (too many sweep line segments). Please file a bug report.");for(var ji=Nt.process(Vt),br=0,nr=ji.length;br1?j-1:0),ne=1;ne1?j-1:0),ne=1;ne1?j-1:0),ne=1;nej.x?1:this.yj.y?1:0},ir.prototype.clone=function(){},ir.prototype.copy=function(){return new ir(this)},ir.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},ir.prototype.distance3D=function(V){var j=this.x-V.x,te=this.y-V.y,ne=this.z-V.z;return Math.sqrt(j*j+te*te+ne*ne)},ir.prototype.distance=function(V){var j=this.x-V.x,te=this.y-V.y;return Math.sqrt(j*j+te*te)},ir.prototype.hashCode=function(){var V=17;return V=37*(V=37*V+ir.hashCode(this.x))+ir.hashCode(this.y)},ir.prototype.setCoordinate=function(V){this.x=V.x,this.y=V.y,this.z=V.z},ir.prototype.interfaces_=function(){return[Xg,FM,O0]},ir.prototype.getClass=function(){return ir},ir.hashCode=function(){if(arguments.length===1){var V=arguments[0],j=Na.doubleToLongBits(V);return Math.trunc((j^j)>>>32)}},gB.DimensionalComparator.get=function(){return py},gB.serialVersionUID.get=function(){return 6683108902428367e3},gB.NULL_ORDINATE.get=function(){return Na.NaN},gB.X.get=function(){return 0},gB.Y.get=function(){return 1},gB.Z.get=function(){return 2},Object.defineProperties(ir,gB);var py=function(V){if(this._dimensionsToTest=2,arguments.length!==0&&arguments.length===1){var j=arguments[0];if(j!==2&&j!==3)throw new fA("only 2 or 3 dimensions may be specified");this._dimensionsToTest=j}};py.prototype.compare=function(V,j){var te=V,ne=j,ce=py.compare(te.x,ne.x);if(ce!==0)return ce;var pe=py.compare(te.y,ne.y);return pe!==0?pe:this._dimensionsToTest<=2?0:py.compare(te.z,ne.z)},py.prototype.interfaces_=function(){return[Q1]},py.prototype.getClass=function(){return py},py.compare=function(V,j){return Vj?1:Na.isNaN(V)?Na.isNaN(j)?0:-1:Na.isNaN(j)?1:0};var t_=function(){};t_.prototype.create=function(){},t_.prototype.interfaces_=function(){return[]},t_.prototype.getClass=function(){return t_};var dr=function(){},S1={INTERIOR:{configurable:!0},BOUNDARY:{configurable:!0},EXTERIOR:{configurable:!0},NONE:{configurable:!0}};dr.prototype.interfaces_=function(){return[]},dr.prototype.getClass=function(){return dr},dr.toLocationSymbol=function(V){switch(V){case dr.EXTERIOR:return"e";case dr.BOUNDARY:return"b";case dr.INTERIOR:return"i";case dr.NONE:return"-"}throw new fA("Unknown location value: "+V)},S1.INTERIOR.get=function(){return 0},S1.BOUNDARY.get=function(){return 1},S1.EXTERIOR.get=function(){return 2},S1.NONE.get=function(){return-1},Object.defineProperties(dr,S1);var pa=function(V,j){return V.interfaces_&&V.interfaces_().indexOf(j)>-1},OA=function(){},VO={LOG_10:{configurable:!0}};OA.prototype.interfaces_=function(){return[]},OA.prototype.getClass=function(){return OA},OA.log10=function(V){var j=Math.log(V);return Na.isInfinite(j)||Na.isNaN(j)?j:j/OA.LOG_10},OA.min=function(V,j,te,ne){var ce=V;return jte?te:V}if(Number.isInteger(arguments[2])&&Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){var ne=arguments[0],ce=arguments[1],pe=arguments[2];return nepe?pe:ne}},OA.wrap=function(V,j){return V<0?j- -V%j:V%j},OA.max=function(){if(arguments.length===3){var V=arguments[0],j=arguments[1],te=arguments[2],ne=V;return j>ne&&(ne=j),te>ne&&(ne=te),ne}if(arguments.length===4){var ce=arguments[0],pe=arguments[1],Ee=arguments[2],_e=arguments[3],Qe=ce;return pe>Qe&&(Qe=pe),Ee>Qe&&(Qe=Ee),_e>Qe&&(Qe=_e),Qe}},OA.average=function(V,j){return(V+j)/2},VO.LOG_10.get=function(){return Math.log(10)},Object.defineProperties(OA,VO);var U0=function(V){this.str=V};U0.prototype.append=function(V){this.str+=V},U0.prototype.setCharAt=function(V,j){this.str=this.str.substr(0,V)+j+this.str.substr(V+1)},U0.prototype.toString=function(V){return this.str};var bm=function(V){this.value=V};bm.prototype.intValue=function(){return this.value},bm.prototype.compareTo=function(V){return this.valueV?1:0},bm.isNaN=function(V){return Number.isNaN(V)};var D1=function(){};D1.isWhitespace=function(V){return V<=32&&V>=0||V===127},D1.toUpperCase=function(V){return V.toUpperCase()};var Ir=function V(){if(this._hi=0,this._lo=0,arguments.length===0)this.init(0);else if(arguments.length===1){if(typeof arguments[0]=="number"){var j=arguments[0];this.init(j)}else if(arguments[0]instanceof V){var te=arguments[0];this.init(te)}else if(typeof arguments[0]=="string"){var ne=arguments[0];V.call(this,V.parse(ne))}}else if(arguments.length===2){var ce=arguments[0],pe=arguments[1];this.init(ce,pe)}},UA={PI:{configurable:!0},TWO_PI:{configurable:!0},PI_2:{configurable:!0},E:{configurable:!0},NaN:{configurable:!0},EPS:{configurable:!0},SPLIT:{configurable:!0},MAX_PRINT_DIGITS:{configurable:!0},TEN:{configurable:!0},ONE:{configurable:!0},SCI_NOT_EXPONENT_CHAR:{configurable:!0},SCI_NOT_ZERO:{configurable:!0}};Ir.prototype.le=function(V){return(this._hi9?(Ye=!0,He="9"):He="0"+Me,Ee.append(He),te=te.subtract(Ir.valueOf(Me)).multiply(Ir.TEN),Ye&&te.selfAdd(Ir.TEN);var tt=!0,At=Ir.magnitude(te._hi);if(At<0&&Math.abs(At)>=_e-Qe&&(tt=!1),!tt)break}return j[0]=ne,Ee.toString()},Ir.prototype.sqr=function(){return this.multiply(this)},Ir.prototype.doubleValue=function(){return this._hi+this._lo},Ir.prototype.subtract=function(){if(arguments[0]instanceof Ir){var V=arguments[0];return this.add(V.negate())}if(typeof arguments[0]=="number"){var j=arguments[0];return this.add(-j)}},Ir.prototype.equals=function(){if(arguments.length===1){var V=arguments[0];return this._hi===V._hi&&this._lo===V._lo}},Ir.prototype.isZero=function(){return this._hi===0&&this._lo===0},Ir.prototype.selfSubtract=function(){if(arguments[0]instanceof Ir){var V=arguments[0];return this.isNaN()?this:this.selfAdd(-V._hi,-V._lo)}if(typeof arguments[0]=="number"){var j=arguments[0];return this.isNaN()?this:this.selfAdd(-j,0)}},Ir.prototype.getSpecialNumberString=function(){return this.isZero()?"0.0":this.isNaN()?"NaN ":null},Ir.prototype.min=function(V){return this.le(V)?this:V},Ir.prototype.selfDivide=function(){if(arguments.length===1){if(arguments[0]instanceof Ir){var V=arguments[0];return this.selfDivide(V._hi,V._lo)}if(typeof arguments[0]=="number"){var j=arguments[0];return this.selfDivide(j,0)}}else if(arguments.length===2){var te=arguments[0],ne=arguments[1],ce=null,pe=null,Ee=null,_e=null,Qe=null,Me=null,Ye=null,He=null;return Qe=this._hi/te,He=(ce=(Me=Ir.SPLIT*Qe)-(ce=Me-Qe))*(Ee=(He=Ir.SPLIT*te)-(Ee=He-te))-(Ye=Qe*te)+ce*(_e=te-Ee)+(pe=Qe-ce)*Ee+pe*_e,He=Qe+(Me=(this._hi-Ye-He+this._lo-Qe*ne)/te),this._hi=He,this._lo=Qe-He+Me,this}},Ir.prototype.dump=function(){return"DD<"+this._hi+", "+this._lo+">"},Ir.prototype.divide=function(){if(arguments[0]instanceof Ir){var V=arguments[0],j=null,te=null,ne=null,ce=null,pe=null,Ee=null,_e=null,Qe=null;te=(pe=this._hi/V._hi)-(j=(Ee=Ir.SPLIT*pe)-(j=Ee-pe)),Qe=j*(ne=(Qe=Ir.SPLIT*V._hi)-(ne=Qe-V._hi))-(_e=pe*V._hi)+j*(ce=V._hi-ne)+te*ne+te*ce;var Me=Qe=pe+(Ee=(this._hi-_e-Qe+this._lo-pe*V._lo)/V._hi),Ye=pe-Qe+Ee;return new Ir(Me,Ye)}if(typeof arguments[0]=="number"){var He=arguments[0];return Na.isNaN(He)?Ir.createNaN():Ir.copy(this).selfDivide(He,0)}},Ir.prototype.ge=function(V){return(this._hi>V._hi||this._hi===V._hi)&&this._lo>=V._lo},Ir.prototype.pow=function(V){if(V===0)return Ir.valueOf(1);var j=new Ir(this),te=Ir.valueOf(1),ne=Math.abs(V);if(ne>1)for(;ne>0;)ne%2==1&&te.selfMultiply(j),(ne/=2)>0&&(j=j.sqr());else te=j;return V<0?te.reciprocal():te},Ir.prototype.ceil=function(){if(this.isNaN())return Ir.NaN;var V=Math.ceil(this._hi),j=0;return V===this._hi&&(j=Math.ceil(this._lo)),new Ir(V,j)},Ir.prototype.compareTo=function(V){var j=V;return this._hij._hi?1:this._loj._lo?1:0},Ir.prototype.rint=function(){return this.isNaN()?this:this.add(.5).floor()},Ir.prototype.setValue=function(){if(arguments[0]instanceof Ir){var V=arguments[0];return this.init(V),this}if(typeof arguments[0]=="number"){var j=arguments[0];return this.init(j),this}},Ir.prototype.max=function(V){return this.ge(V)?this:V},Ir.prototype.sqrt=function(){if(this.isZero())return Ir.valueOf(0);if(this.isNegative())return Ir.NaN;var V=1/Math.sqrt(this._hi),j=this._hi*V,te=Ir.valueOf(j),ne=this.subtract(te.sqr())._hi*(.5*V);return te.add(ne)},Ir.prototype.selfAdd=function(){if(arguments.length===1){if(arguments[0]instanceof Ir){var V=arguments[0];return this.selfAdd(V._hi,V._lo)}if(typeof arguments[0]=="number"){var j=arguments[0],te=null,ne=null,ce=null,pe=null,Ee=null,_e=null;return pe=(ce=this._hi+j)-(Ee=ce-this._hi),ne=(_e=(pe=j-Ee+(this._hi-pe))+this._lo)+(ce-(te=ce+_e)),this._hi=te+ne,this._lo=ne+(te-this._hi),this}}else if(arguments.length===2){var Qe=arguments[0],Me=arguments[1],Ye=null,He=null,tt=null,At=null,st=null,ft=null,at=null;At=this._hi+Qe,He=this._lo+Me,st=At-(ft=At-this._hi),tt=He-(at=He-this._lo);var kt=(Ye=At+(ft=(st=Qe-ft+(this._hi-st))+He))+(ft=(tt=Me-at+(this._lo-tt))+(ft+(At-Ye))),ri=ft+(Ye-kt);return this._hi=kt,this._lo=ri,this}},Ir.prototype.selfMultiply=function(){if(arguments.length===1){if(arguments[0]instanceof Ir){var V=arguments[0];return this.selfMultiply(V._hi,V._lo)}if(typeof arguments[0]=="number"){var j=arguments[0];return this.selfMultiply(j,0)}}else if(arguments.length===2){var te=arguments[0],ne=arguments[1],ce=null,pe=null,Ee=null,_e=null,Qe=null,Me=null;ce=(Qe=Ir.SPLIT*this._hi)-this._hi,Me=Ir.SPLIT*te,ce=Qe-ce,pe=this._hi-ce,Ee=Me-te;var Ye=(Qe=this._hi*te)+(Me=ce*(Ee=Me-Ee)-Qe+ce*(_e=te-Ee)+pe*Ee+pe*_e+(this._hi*ne+this._lo*te)),He=Me+(ce=Qe-Ye);return this._hi=Ye,this._lo=He,this}},Ir.prototype.selfSqr=function(){return this.selfMultiply(this)},Ir.prototype.floor=function(){if(this.isNaN())return Ir.NaN;var V=Math.floor(this._hi),j=0;return V===this._hi&&(j=Math.floor(this._lo)),new Ir(V,j)},Ir.prototype.negate=function(){return this.isNaN()?this:new Ir(-this._hi,-this._lo)},Ir.prototype.clone=function(){},Ir.prototype.multiply=function(){if(arguments[0]instanceof Ir){var V=arguments[0];return V.isNaN()?Ir.createNaN():Ir.copy(this).selfMultiply(V)}if(typeof arguments[0]=="number"){var j=arguments[0];return Na.isNaN(j)?Ir.createNaN():Ir.copy(this).selfMultiply(j,0)}},Ir.prototype.isNaN=function(){return Na.isNaN(this._hi)},Ir.prototype.intValue=function(){return Math.trunc(this._hi)},Ir.prototype.toString=function(){var V=Ir.magnitude(this._hi);return V>=-3&&V<=20?this.toStandardNotation():this.toSciNotation()},Ir.prototype.toStandardNotation=function(){var V=this.getSpecialNumberString();if(V!==null)return V;var j=new Array(1).fill(null),te=this.extractSignificantDigits(!0,j),ne=j[0]+1,ce=te;if(te.charAt(0)===".")ce="0"+te;else if(ne<0)ce="0."+Ir.stringOfChar("0",-ne)+te;else if(te.indexOf(".")===-1){var pe=ne-te.length;ce=te+Ir.stringOfChar("0",pe)+".0"}return this.isNegative()?"-"+ce:ce},Ir.prototype.reciprocal=function(){var V,j,te,ne,ce=null,pe=null,Ee=null,_e=null;V=(te=1/this._hi)-(ce=(Ee=Ir.SPLIT*te)-(ce=Ee-te)),pe=(_e=Ir.SPLIT*this._hi)-this._hi;var Qe=te+(Ee=(1-(ne=te*this._hi)-(_e=ce*(pe=_e-pe)-ne+ce*(j=this._hi-pe)+V*pe+V*j)-te*this._lo)/this._hi);return new Ir(Qe,te-Qe+Ee)},Ir.prototype.toSciNotation=function(){if(this.isZero())return Ir.SCI_NOT_ZERO;var V=this.getSpecialNumberString();if(V!==null)return V;var j=new Array(1).fill(null),te=this.extractSignificantDigits(!1,j),ne=Ir.SCI_NOT_EXPONENT_CHAR+j[0];if(te.charAt(0)==="0")throw new Error("Found leading zero: "+te);var ce="";te.length>1&&(ce=te.substring(1));var pe=te.charAt(0)+"."+ce;return this.isNegative()?"-"+pe+ne:pe+ne},Ir.prototype.abs=function(){return this.isNaN()?Ir.NaN:this.isNegative()?this.negate():new Ir(this)},Ir.prototype.isPositive=function(){return(this._hi>0||this._hi===0)&&this._lo>0},Ir.prototype.lt=function(V){return(this._hiV._hi||this._hi===V._hi)&&this._lo>V._lo},Ir.prototype.isNegative=function(){return(this._hi<0||this._hi===0)&&this._lo<0},Ir.prototype.trunc=function(){return this.isNaN()?Ir.NaN:this.isPositive()?this.floor():this.ceil()},Ir.prototype.signum=function(){return this._hi>0?1:this._hi<0?-1:this._lo>0?1:this._lo<0?-1:0},Ir.prototype.interfaces_=function(){return[O0,Xg,FM]},Ir.prototype.getClass=function(){return Ir},Ir.sqr=function(V){return Ir.valueOf(V).selfMultiply(V)},Ir.valueOf=function(){if(typeof arguments[0]=="string"){var V=arguments[0];return Ir.parse(V)}if(typeof arguments[0]=="number"){var j=arguments[0];return new Ir(j)}},Ir.sqrt=function(V){return Ir.valueOf(V).sqrt()},Ir.parse=function(V){for(var j=0,te=V.length;D1.isWhitespace(V.charAt(j));)j++;var ne=!1;if(j=te);){var Me=V.charAt(j);if(j++,D1.isDigit(Me)){var Ye=Me-"0";pe.selfMultiply(Ir.TEN),pe.selfAdd(Ye),Ee++}else{if(Me!=="."){if(Me==="e"||Me==="E"){var He=V.substring(j);try{Qe=bm.parseInt(He)}catch(at){throw at instanceof Error?new Error("Invalid exponent "+He+" in string "+V):at}break}throw new Error("Unexpected character '"+Me+"' at position "+j+" in string "+V)}_e=Ee}}var tt=pe,At=Ee-_e-Qe;if(At===0)tt=pe;else if(At>0){var st=Ir.TEN.pow(At);tt=pe.divide(st)}else if(At<0){var ft=Ir.TEN.pow(-At);tt=pe.multiply(ft)}return ne?tt.negate():tt},Ir.createNaN=function(){return new Ir(Na.NaN,Na.NaN)},Ir.copy=function(V){return new Ir(V)},Ir.magnitude=function(V){var j=Math.abs(V),te=Math.log(j)/Math.log(10),ne=Math.trunc(Math.floor(te));return 10*Math.pow(10,ne)<=j&&(ne+=1),ne},Ir.stringOfChar=function(V,j){for(var te=new U0,ne=0;ne0){if(pe<=0)return of.signum(Ee);ne=ce+pe}else{if(!(ce<0)||pe>=0)return of.signum(Ee);ne=-ce-pe}var _e=of.DP_SAFE_EPSILON*ne;return Ee>=_e||-Ee>=_e?of.signum(Ee):2},of.signum=function(V){return V>0?1:V<0?-1:0},zO.DP_SAFE_EPSILON.get=function(){return 1e-15},Object.defineProperties(of,zO);var Ps=function(){},IS={X:{configurable:!0},Y:{configurable:!0},Z:{configurable:!0},M:{configurable:!0}};IS.X.get=function(){return 0},IS.Y.get=function(){return 1},IS.Z.get=function(){return 2},IS.M.get=function(){return 3},Ps.prototype.setOrdinate=function(V,j,te){},Ps.prototype.size=function(){},Ps.prototype.getOrdinate=function(V,j){},Ps.prototype.getCoordinate=function(){},Ps.prototype.getCoordinateCopy=function(V){},Ps.prototype.getDimension=function(){},Ps.prototype.getX=function(V){},Ps.prototype.clone=function(){},Ps.prototype.expandEnvelope=function(V){},Ps.prototype.copy=function(){},Ps.prototype.getY=function(V){},Ps.prototype.toCoordinateArray=function(){},Ps.prototype.interfaces_=function(){return[FM]},Ps.prototype.getClass=function(){return Ps},Object.defineProperties(Ps,IS);var YO=function(){},i_=function(V){function j(){V.call(this,"Projective point not representable on the Cartesian plane.")}return V&&(j.__proto__=V),j.prototype=Object.create(V&&V.prototype),j.prototype.constructor=j,j.prototype.interfaces_=function(){return[]},j.prototype.getClass=function(){return j},j}(YO),nd=function(){};nd.arraycopy=function(V,j,te,ne,ce){for(var pe=0,Ee=j;EeV._minx?this._minx:V._minx,te=this._miny>V._miny?this._miny:V._miny,ne=this._maxx=this._minx&&j.getMaxX()<=this._maxx&&j.getMinY()>=this._miny&&j.getMaxY()<=this._maxy}}else if(arguments.length===2){var te=arguments[0],ne=arguments[1];return!this.isNull()&&te>=this._minx&&te<=this._maxx&&ne>=this._miny&&ne<=this._maxy}},No.prototype.intersects=function(){if(arguments.length===1){if(arguments[0]instanceof No){var V=arguments[0];return!this.isNull()&&!V.isNull()&&!(V._minx>this._maxx||V._maxxthis._maxy||V._maxythis._maxx||tethis._maxy||nethis._maxx&&(this._maxx=j._maxx),j._minythis._maxy&&(this._maxy=j._maxy))}}else if(arguments.length===2){var te=arguments[0],ne=arguments[1];this.isNull()?(this._minx=te,this._maxx=te,this._miny=ne,this._maxy=ne):(tethis._maxx&&(this._maxx=te),nethis._maxy&&(this._maxy=ne))}},No.prototype.minExtent=function(){if(this.isNull())return 0;var V=this.getWidth(),j=this.getHeight();return Vj._minx?1:this._minyj._miny?1:this._maxxj._maxx?1:this._maxyj._maxy?1:0},No.prototype.translate=function(V,j){if(this.isNull())return null;this.init(this.getMinX()+V,this.getMaxX()+V,this.getMinY()+j,this.getMaxY()+j)},No.prototype.toString=function(){return"Env["+this._minx+" : "+this._maxx+", "+this._miny+" : "+this._maxy+"]"},No.prototype.setToNull=function(){this._minx=0,this._maxx=-1,this._miny=0,this._maxy=-1},No.prototype.getHeight=function(){return this.isNull()?0:this._maxy-this._miny},No.prototype.maxExtent=function(){if(this.isNull())return 0;var V=this.getWidth(),j=this.getHeight();return V>j?V:j},No.prototype.expandBy=function(){if(arguments.length===1){var V=arguments[0];this.expandBy(V,V)}else if(arguments.length===2){var j=arguments[0],te=arguments[1];if(this.isNull())return null;this._minx-=j,this._maxx+=j,this._miny-=te,this._maxy+=te,(this._minx>this._maxx||this._miny>this._maxy)&&this.setToNull()}},No.prototype.contains=function(){if(arguments.length===1){if(arguments[0]instanceof No){var V=arguments[0];return this.covers(V)}if(arguments[0]instanceof ir){var j=arguments[0];return this.covers(j)}}else if(arguments.length===2){var te=arguments[0],ne=arguments[1];return this.covers(te,ne)}},No.prototype.centre=function(){return this.isNull()?null:new ir((this.getMinX()+this.getMaxX())/2,(this.getMinY()+this.getMaxY())/2)},No.prototype.init=function(){if(arguments.length===0)this.setToNull();else if(arguments.length===1){if(arguments[0]instanceof ir){var V=arguments[0];this.init(V.x,V.x,V.y,V.y)}else if(arguments[0]instanceof No){var j=arguments[0];this._minx=j._minx,this._maxx=j._maxx,this._miny=j._miny,this._maxy=j._maxy}}else if(arguments.length===2){var te=arguments[0],ne=arguments[1];this.init(te.x,ne.x,te.y,ne.y)}else if(arguments.length===4){var ce=arguments[0],pe=arguments[1],Ee=arguments[2],_e=arguments[3];ceV._maxx&&(j=this._minx-V._maxx);var te=0;return this._maxyV._maxy&&(te=this._miny-V._maxy),j===0?te:te===0?j:Math.sqrt(j*j+te*te)},No.prototype.hashCode=function(){var V=17;return V=37*(V=37*(V=37*(V=37*V+ir.hashCode(this._minx))+ir.hashCode(this._maxx))+ir.hashCode(this._miny))+ir.hashCode(this._maxy)},No.prototype.interfaces_=function(){return[Xg,O0]},No.prototype.getClass=function(){return No},No.intersects=function(){if(arguments.length===3){var V=arguments[0],j=arguments[1],te=arguments[2];return te.x>=(V.xj.x?V.x:j.x)&&te.y>=(V.yj.y?V.y:j.y)}if(arguments.length===4){var ne=arguments[0],ce=arguments[1],pe=arguments[2],Ee=arguments[3],_e=Math.min(pe.x,Ee.x),Qe=Math.max(pe.x,Ee.x),Me=Math.min(ne.x,ce.x),Ye=Math.max(ne.x,ce.x);return!(Me>Qe)&&!(Ye<_e)&&(_e=Math.min(pe.y,Ee.y),Qe=Math.max(pe.y,Ee.y),Me=Math.min(ne.y,ce.y),Ye=Math.max(ne.y,ce.y),!(Me>Qe)&&!(Ye<_e))}},JO.serialVersionUID.get=function(){return 5873921885273102e3},Object.defineProperties(No,JO);var Qm={typeStr:/^\s*(\w+)\s*\(\s*(.*)\s*\)\s*$/,emptyTypeStr:/^\s*(\w+)\s*EMPTY\s*$/,spaces:/\s+/,parenComma:/\)\s*,\s*\(/,doubleParenComma:/\)\s*\)\s*,\s*\(\s*\(/,trimParens:/^\s*\(?(.*?)\)?\s*$/},NM=function(V){this.geometryFactory=V||new Jn};NM.prototype.read=function(V){var j,te,ne;V=V.replace(/[\n\r]/g," ");var ce=Qm.typeStr.exec(V);if(V.search("EMPTY")!==-1&&((ce=Qm.emptyTypeStr.exec(V))[2]=void 0),ce&&(te=ce[1].toLowerCase(),ne=ce[2],T1[te]&&(j=T1[te].apply(this,[ne]))),j===void 0)throw new Error("Could not parse WKT "+V);return j},NM.prototype.write=function(V){return this.extractGeometry(V)},NM.prototype.extractGeometry=function(V){var j=V.getGeometryType().toLowerCase();if(!zC[j])return null;var te=j.toUpperCase();return V.isEmpty()?te+" EMPTY":te+"("+zC[j].apply(this,[V])+")"};var zC={coordinate:function(V){return V.x+" "+V.y},point:function(V){return zC.coordinate.call(this,V._coordinates._coordinates[0])},multipoint:function(V){for(var j=[],te=0,ne=V._geometries.length;tete?(this._intLineIndex[V][0]=0,this._intLineIndex[V][1]=1):(this._intLineIndex[V][0]=1,this._intLineIndex[V][1]=0)}},_A.prototype.isProper=function(){return this.hasIntersection()&&this._isProper},_A.prototype.setPrecisionModel=function(V){this._precisionModel=V},_A.prototype.isInteriorIntersection=function(){var V=this;if(arguments.length===0)return!!this.isInteriorIntersection(0)||!!this.isInteriorIntersection(1);if(arguments.length===1){for(var j=arguments[0],te=0;tece?ne:ce;else{var Ee=Math.abs(V.x-j.x),_e=Math.abs(V.y-j.y);(pe=ne>ce?Ee:_e)!==0||V.equals(j)||(pe=Math.max(Ee,_e))}return Ya.isTrue(!(pe===0&&!V.equals(j)),"Bad distance calculation"),pe},_A.nonRobustComputeEdgeDistance=function(V,j,te){var ne=V.x-j.x,ce=V.y-j.y,pe=Math.sqrt(ne*ne+ce*ce);return Ya.isTrue(!(pe===0&&!V.equals(j)),"Invalid distance calculation"),pe},pB.DONT_INTERSECT.get=function(){return 0},pB.DO_INTERSECT.get=function(){return 1},pB.COLLINEAR.get=function(){return 2},pB.NO_INTERSECTION.get=function(){return 0},pB.POINT_INTERSECTION.get=function(){return 1},pB.COLLINEAR_INTERSECTION.get=function(){return 2},Object.defineProperties(_A,pB);var r_=function(V){function j(){V.apply(this,arguments)}return V&&(j.__proto__=V),j.prototype=Object.create(V&&V.prototype),j.prototype.constructor=j,j.prototype.isInSegmentEnvelopes=function(te){var ne=new No(this._inputLines[0][0],this._inputLines[0][1]),ce=new No(this._inputLines[1][0],this._inputLines[1][1]);return ne.contains(te)&&ce.contains(te)},j.prototype.computeIntersection=function(){if(arguments.length!==3)return V.prototype.computeIntersection.apply(this,arguments);var te=arguments[0],ne=arguments[1],ce=arguments[2];if(this._isProper=!1,No.intersects(ne,ce,te)&&Gn.orientationIndex(ne,ce,te)===0&&Gn.orientationIndex(ce,ne,te)===0)return this._isProper=!0,(te.equals(ne)||te.equals(ce))&&(this._isProper=!1),this._result=V.POINT_INTERSECTION,null;this._result=V.NO_INTERSECTION},j.prototype.normalizeToMinimum=function(te,ne,ce,pe,Ee){Ee.x=this.smallestInAbsValue(te.x,ne.x,ce.x,pe.x),Ee.y=this.smallestInAbsValue(te.y,ne.y,ce.y,pe.y),te.x-=Ee.x,te.y-=Ee.y,ne.x-=Ee.x,ne.y-=Ee.y,ce.x-=Ee.x,ce.y-=Ee.y,pe.x-=Ee.x,pe.y-=Ee.y},j.prototype.safeHCoordinateIntersection=function(te,ne,ce,pe){var Ee=null;try{Ee=Zg.intersection(te,ne,ce,pe)}catch(_e){if(!(_e instanceof i_))throw _e;Ee=j.nearestEndpoint(te,ne,ce,pe)}return Ee},j.prototype.intersection=function(te,ne,ce,pe){var Ee=this.intersectionWithNormalization(te,ne,ce,pe);return this.isInSegmentEnvelopes(Ee)||(Ee=new ir(j.nearestEndpoint(te,ne,ce,pe))),this._precisionModel!==null&&this._precisionModel.makePrecise(Ee),Ee},j.prototype.smallestInAbsValue=function(te,ne,ce,pe){var Ee=te,_e=Math.abs(Ee);return Math.abs(ne)<_e&&(Ee=ne,_e=Math.abs(ne)),Math.abs(ce)<_e&&(Ee=ce,_e=Math.abs(ce)),Math.abs(pe)<_e&&(Ee=pe),Ee},j.prototype.checkDD=function(te,ne,ce,pe,Ee){var _e=of.intersection(te,ne,ce,pe),Qe=this.isInSegmentEnvelopes(_e);nd.out.println("DD in env = "+Qe+" --------------------- "+_e),Ee.distance(_e)>1e-4&&nd.out.println("Distance = "+Ee.distance(_e))},j.prototype.intersectionWithNormalization=function(te,ne,ce,pe){var Ee=new ir(te),_e=new ir(ne),Qe=new ir(ce),Me=new ir(pe),Ye=new ir;this.normalizeToEnvCentre(Ee,_e,Qe,Me,Ye);var He=this.safeHCoordinateIntersection(Ee,_e,Qe,Me);return He.x+=Ye.x,He.y+=Ye.y,He},j.prototype.computeCollinearIntersection=function(te,ne,ce,pe){var Ee=No.intersects(te,ne,ce),_e=No.intersects(te,ne,pe),Qe=No.intersects(ce,pe,te),Me=No.intersects(ce,pe,ne);return Ee&&_e?(this._intPt[0]=ce,this._intPt[1]=pe,V.COLLINEAR_INTERSECTION):Qe&&Me?(this._intPt[0]=te,this._intPt[1]=ne,V.COLLINEAR_INTERSECTION):Ee&&Qe?(this._intPt[0]=ce,this._intPt[1]=te,!ce.equals(te)||_e||Me?V.COLLINEAR_INTERSECTION:V.POINT_INTERSECTION):Ee&&Me?(this._intPt[0]=ce,this._intPt[1]=ne,!ce.equals(ne)||_e||Qe?V.COLLINEAR_INTERSECTION:V.POINT_INTERSECTION):_e&&Qe?(this._intPt[0]=pe,this._intPt[1]=te,!pe.equals(te)||Ee||Me?V.COLLINEAR_INTERSECTION:V.POINT_INTERSECTION):_e&&Me?(this._intPt[0]=pe,this._intPt[1]=ne,!pe.equals(ne)||Ee||Qe?V.COLLINEAR_INTERSECTION:V.POINT_INTERSECTION):V.NO_INTERSECTION},j.prototype.normalizeToEnvCentre=function(te,ne,ce,pe,Ee){var _e=te.xne.x?te.x:ne.x,Ye=te.y>ne.y?te.y:ne.y,He=ce.xpe.x?ce.x:pe.x,st=ce.y>pe.y?ce.y:pe.y,ft=((_e>He?_e:He)+(Mett?Qe:tt)+(Ye0&&_e>0||Ee<0&&_e<0)return V.NO_INTERSECTION;var Qe=Gn.orientationIndex(ce,pe,te),Me=Gn.orientationIndex(ce,pe,ne);return Qe>0&&Me>0||Qe<0&&Me<0?V.NO_INTERSECTION:Ee===0&&_e===0&&Qe===0&&Me===0?this.computeCollinearIntersection(te,ne,ce,pe):(Ee===0||_e===0||Qe===0||Me===0?(this._isProper=!1,te.equals2D(ce)||te.equals2D(pe)?this._intPt[0]=te:ne.equals2D(ce)||ne.equals2D(pe)?this._intPt[0]=ne:Ee===0?this._intPt[0]=new ir(ce):_e===0?this._intPt[0]=new ir(pe):Qe===0?this._intPt[0]=new ir(te):Me===0&&(this._intPt[0]=new ir(ne))):(this._isProper=!0,this._intPt[0]=this.intersection(te,ne,ce,pe)),V.POINT_INTERSECTION)},j.prototype.interfaces_=function(){return[]},j.prototype.getClass=function(){return j},j.nearestEndpoint=function(te,ne,ce,pe){var Ee=te,_e=Gn.distancePointLine(te,ce,pe),Qe=Gn.distancePointLine(ne,ce,pe);return Qe<_e&&(_e=Qe,Ee=ne),(Qe=Gn.distancePointLine(ce,te,ne))<_e&&(_e=Qe,Ee=ce),(Qe=Gn.distancePointLine(pe,te,ne))<_e&&(_e=Qe,Ee=pe),Ee},j}(_A),mB=function(){};mB.prototype.interfaces_=function(){return[]},mB.prototype.getClass=function(){return mB},mB.orientationIndex=function(V,j,te){var ne=j.x-V.x,ce=j.y-V.y,pe=te.x-j.x,Ee=te.y-j.y;return mB.signOfDet2x2(ne,ce,pe,Ee)},mB.signOfDet2x2=function(V,j,te,ne){var ce=null,pe=null,Ee=null;if(ce=1,V===0||ne===0)return j===0||te===0?0:j>0?te>0?-ce:ce:te>0?ce:-ce;if(j===0||te===0)return ne>0?V>0?ce:-ce:V>0?-ce:ce;if(j>0?ne>0?j<=ne||(ce=-ce,pe=V,V=te,te=pe,pe=j,j=ne,ne=pe):j<=-ne?(ce=-ce,te=-te,ne=-ne):(pe=V,V=-te,te=pe,pe=j,j=-ne,ne=pe):ne>0?-j<=ne?(ce=-ce,V=-V,j=-j):(pe=-V,V=te,te=pe,pe=-j,j=ne,ne=pe):j>=ne?(V=-V,j=-j,te=-te,ne=-ne):(ce=-ce,pe=-V,V=-te,te=pe,pe=-j,j=-ne,ne=pe),V>0){if(!(te>0)||!(V<=te))return ce}else{if(te>0||!(V>=te))return-ce;ce=-ce,V=-V,te=-te}for(;;){if((ne-=(Ee=Math.floor(te/V))*j)<0)return-ce;if(ne>j)return ce;if(V>(te-=Ee*V)+te){if(jne+ne)return-ce;te=V-te,ne=j-ne,ce=-ce}if(ne===0)return te===0?0:-ce;if(te===0||(j-=(Ee=Math.floor(V/te))*ne)<0)return ce;if(j>ne)return-ce;if(te>(V-=Ee*te)+V){if(nej+j)return ce;V=te-V,j=ne-j,ce=-ce}if(j===0)return V===0?0:ce;if(V===0)return-ce}};var Sm=function(){this._p=null,this._crossingCount=0,this._isPointOnSegment=!1;var V=arguments[0];this._p=V};Sm.prototype.countSegment=function(V,j){if(V.xne&&(te=j.x,ne=V.x),this._p.x>=te&&this._p.x<=ne&&(this._isPointOnSegment=!0),null}if(V.y>this._p.y&&j.y<=this._p.y||j.y>this._p.y&&V.y<=this._p.y){var ce=V.x-this._p.x,pe=V.y-this._p.y,Ee=j.x-this._p.x,_e=j.y-this._p.y,Qe=mB.signOfDet2x2(ce,pe,Ee,_e);if(Qe===0)return this._isPointOnSegment=!0,null;_e0&&this._crossingCount++}},Sm.prototype.isPointInPolygon=function(){return this.getLocation()!==dr.EXTERIOR},Sm.prototype.getLocation=function(){return this._isPointOnSegment?dr.BOUNDARY:this._crossingCount%2==1?dr.INTERIOR:dr.EXTERIOR},Sm.prototype.isOnSegment=function(){return this._isPointOnSegment},Sm.prototype.interfaces_=function(){return[]},Sm.prototype.getClass=function(){return Sm},Sm.locatePointInRing=function(){if(arguments[0]instanceof ir&&pa(arguments[1],Ps)){for(var V=arguments[0],j=arguments[1],te=new Sm(V),ne=new ir,ce=new ir,pe=1;pe1||_e<0||_e>1)&&(ce=!0)}}else ce=!0;return ce?OA.min(Gn.distancePointLine(V,te,ne),Gn.distancePointLine(j,te,ne),Gn.distancePointLine(te,V,j),Gn.distancePointLine(ne,V,j)):0},Gn.isPointInRing=function(V,j){return Gn.locatePointInRing(V,j)!==dr.EXTERIOR},Gn.computeLength=function(V){var j=V.size();if(j<=1)return 0;var te=0,ne=new ir;V.getCoordinate(0,ne);for(var ce=ne.x,pe=ne.y,Ee=1;Eete.y&&(te=pe,ne=ce)}var Ee=ne;do(Ee-=1)<0&&(Ee=j);while(V[Ee].equals2D(te)&&Ee!==ne);var _e=ne;do _e=(_e+1)%j;while(V[_e].equals2D(te)&&_e!==ne);var Qe=V[Ee],Me=V[_e];if(Qe.equals2D(te)||Me.equals2D(te)||Qe.equals2D(Me))return!1;var Ye=Gn.computeOrientation(Qe,te,Me),He=!1;return He=Ye===0?Qe.x>Me.x:Ye>0,He},Gn.locatePointInRing=function(V,j){return Sm.locatePointInRing(V,j)},Gn.distancePointLinePerpendicular=function(V,j,te){var ne=(te.x-j.x)*(te.x-j.x)+(te.y-j.y)*(te.y-j.y),ce=((j.y-V.y)*(te.x-j.x)-(j.x-V.x)*(te.y-j.y))/ne;return Math.abs(ce)*Math.sqrt(ne)},Gn.computeOrientation=function(V,j,te){return Gn.orientationIndex(V,j,te)},Gn.distancePointLine=function(){if(arguments.length===2){var V=arguments[0],j=arguments[1];if(j.length===0)throw new fA("Line array must contain at least one vertex");for(var te=V.distance(j[0]),ne=0;ne=1)return pe.distance(_e);var Ye=((Ee.y-pe.y)*(_e.x-Ee.x)-(Ee.x-pe.x)*(_e.y-Ee.y))/Qe;return Math.abs(Ye)*Math.sqrt(Qe)}},Gn.isOnLine=function(V,j){for(var te=new r_,ne=1;ne0},CB.prototype.interfaces_=function(){return[G0]},CB.prototype.getClass=function(){return CB};var R1=function(){};R1.prototype.isInBoundary=function(V){return V>1},R1.prototype.interfaces_=function(){return[G0]},R1.prototype.getClass=function(){return R1};var my=function(){};my.prototype.isInBoundary=function(V){return V===1},my.prototype.interfaces_=function(){return[G0]},my.prototype.getClass=function(){return my};var Vc=function(){};function kL(V){this.message=V||""}Vc.prototype.add=function(){},Vc.prototype.addAll=function(){},Vc.prototype.isEmpty=function(){},Vc.prototype.iterator=function(){},Vc.prototype.size=function(){},Vc.prototype.toArray=function(){},Vc.prototype.remove=function(){},kL.prototype=new Error,kL.prototype.name="IndexOutOfBoundsException";var L1=function(){};L1.prototype.hasNext=function(){},L1.prototype.next=function(){},L1.prototype.remove=function(){};var xe=function(V){function j(){V.apply(this,arguments)}return V&&(j.__proto__=V),j.prototype=Object.create(V&&V.prototype),j.prototype.constructor=j,j.prototype.get=function(){},j.prototype.set=function(){},j.prototype.isEmpty=function(){},j}(Vc);function Se(V){this.message=V||""}Se.prototype=new Error,Se.prototype.name="NoSuchElementException";var je=function(V){function j(){V.call(this),this.array_=[],arguments[0]instanceof Vc&&this.addAll(arguments[0])}return V&&(j.__proto__=V),j.prototype=Object.create(V&&V.prototype),j.prototype.constructor=j,j.prototype.ensureCapacity=function(){},j.prototype.interfaces_=function(){return[V,Vc]},j.prototype.add=function(te){return arguments.length===1?this.array_.push(te):this.array_.splice(arguments[0],arguments[1]),!0},j.prototype.clear=function(){this.array_=[]},j.prototype.addAll=function(te){for(var ne=te.iterator();ne.hasNext();)this.add(ne.next());return!0},j.prototype.set=function(te,ne){var ce=this.array_[te];return this.array_[te]=ne,ce},j.prototype.iterator=function(){return new mt(this)},j.prototype.get=function(te){if(te<0||te>=this.size())throw new kL;return this.array_[te]},j.prototype.isEmpty=function(){return this.array_.length===0},j.prototype.size=function(){return this.array_.length},j.prototype.toArray=function(){for(var te=[],ne=0,ce=this.array_.length;ne=1){var Me=this.get(this.size()-1);if(Me.equals2D(_e))return null}V.prototype.add.call(this,_e)}else if(arguments[0]instanceof Object&&typeof arguments[1]=="boolean"){var Ye=arguments[0],He=arguments[1];return this.add(Ye,He),!0}}else if(arguments.length===3){if(typeof arguments[2]=="boolean"&&arguments[0]instanceof Array&&typeof arguments[1]=="boolean"){var tt=arguments[0],At=arguments[1],st=arguments[2];if(st)for(var ft=0;ft=0;at--)ne.add(tt[at],At);return!0}if(typeof arguments[2]=="boolean"&&Number.isInteger(arguments[0])&&arguments[1]instanceof ir){var kt=arguments[0],ri=arguments[1],dt=arguments[2];if(!dt){var Nt=this.size();if(Nt>0){if(kt>0){var Ot=this.get(kt-1);if(Ot.equals2D(ri))return null}if(ktbr&&(nr=-1);for(var Lr=ji;Lr!==br;Lr+=nr)ne.add(Vt[Lr],lr);return!0}},j.prototype.closeRing=function(){this.size()>0&&this.add(new ir(this.get(0)),!1)},j.prototype.interfaces_=function(){return[]},j.prototype.getClass=function(){return j},Object.defineProperties(j,te),j}(je),$t=function(){},Pi={ForwardComparator:{configurable:!0},BidirectionalComparator:{configurable:!0},coordArrayType:{configurable:!0}};Pi.ForwardComparator.get=function(){return Vi},Pi.BidirectionalComparator.get=function(){return rr},Pi.coordArrayType.get=function(){return new Array(0).fill(null)},$t.prototype.interfaces_=function(){return[]},$t.prototype.getClass=function(){return $t},$t.isRing=function(V){return!(V.length<4)&&!!V[0].equals2D(V[V.length-1])},$t.ptNotInList=function(V,j){for(var te=0;te=V?j:[]},$t.indexOf=function(V,j){for(var te=0;te0)&&(j=V[te]);return j},$t.extract=function(V,j,te){j=OA.clamp(j,0,V.length);var ne=(te=OA.clamp(te,-1,V.length))-j+1;te<0&&(ne=0),j>=V.length&&(ne=0),tene.length)return 1;if(te.length===0)return 0;var ce=$t.compare(te,ne);return $t.isEqualReversed(te,ne)?0:ce},rr.prototype.OLDcompare=function(V,j){var te=V,ne=j;if(te.lengthne.length)return 1;if(te.length===0)return 0;for(var ce=$t.increasingDirection(te),pe=$t.increasingDirection(ne),Ee=ce>0?0:te.length-1,_e=pe>0?0:te.length-1,Qe=0;Qe0))return j.value;j=j.right}}return null},ou.prototype.put=function(V,j){if(this.root_===null)return this.root_={key:V,value:j,left:null,right:null,parent:null,color:0,getValue:function(){return this.value},getKey:function(){return this.key}},this.size_=1,null;var te,ne,ce=this.root_;do if(te=ce,(ne=V.compareTo(ce.key))<0)ce=ce.left;else{if(!(ne>0)){var pe=ce.value;return ce.value=j,pe}ce=ce.right}while(ce!==null);var Ee={key:V,left:null,right:null,value:j,parent:te,color:0,getValue:function(){return this.value},getKey:function(){return this.key}};return ne<0?te.left=Ee:te.right=Ee,this.fixAfterInsertion(Ee),this.size_++,null},ou.prototype.fixAfterInsertion=function(V){var j=this;for(V.color=1;V!=null&&V!==this.root_&&V.parent.color===1;)if(io(V)===Dl(io(io(V)))){var te=Of(io(io(V)));Hs(te)===1?(gs(io(V),0),gs(te,0),gs(io(io(V)),1),V=io(io(V))):(V===Of(io(V))&&(V=io(V),j.rotateLeft(V)),gs(io(V),0),gs(io(io(V)),1),j.rotateRight(io(io(V))))}else{var ne=Dl(io(io(V)));Hs(ne)===1?(gs(io(V),0),gs(ne,0),gs(io(io(V)),1),V=io(io(V))):(V===Dl(io(V))&&(V=io(V),j.rotateRight(V)),gs(io(V),0),gs(io(io(V)),1),j.rotateLeft(io(io(V))))}this.root_.color=0},ou.prototype.values=function(){var V=new je,j=this.getFirstEntry();if(j!==null)for(V.add(j.value);(j=ou.successor(j))!==null;)V.add(j.value);return V},ou.prototype.entrySet=function(){var V=new Yo,j=this.getFirstEntry();if(j!==null)for(V.add(j);(j=ou.successor(j))!==null;)V.add(j);return V},ou.prototype.rotateLeft=function(V){if(V!=null){var j=V.right;V.right=j.left,j.left!=null&&(j.left.parent=V),j.parent=V.parent,V.parent===null?this.root_=j:V.parent.left===V?V.parent.left=j:V.parent.right=j,j.left=V,V.parent=j}},ou.prototype.rotateRight=function(V){if(V!=null){var j=V.left;V.left=j.right,j.right!=null&&(j.right.parent=V),j.parent=V.parent,V.parent===null?this.root_=j:V.parent.right===V?V.parent.right=j:V.parent.left=j,j.right=V,V.parent=j}},ou.prototype.getFirstEntry=function(){var V=this.root_;if(V!=null)for(;V.left!=null;)V=V.left;return V},ou.successor=function(V){if(V===null)return null;if(V.right!==null){for(var j=V.right;j.left!==null;)j=j.left;return j}for(var te=V.parent,ne=V;te!==null&&ne===te.right;)ne=te,te=te.parent;return te},ou.prototype.size=function(){return this.size_};var Uf=function(){};function ch(){}function hh(){this.array_=[],arguments[0]instanceof Vc&&this.addAll(arguments[0])}Uf.prototype.interfaces_=function(){return[]},Uf.prototype.getClass=function(){return Uf},ch.prototype=new lo,hh.prototype=new ch,hh.prototype.contains=function(V){for(var j=0,te=this.array_.length;j=0;){var Ee=ce.substring(0,pe);ne.add(Ee),pe=(ce=ce.substring(pe+te)).indexOf(j)}ce.length>0&&ne.add(ce);for(var _e=new Array(ne.size()).fill(null),Qe=0;Qe<_e.length;Qe++)_e[Qe]=ne.get(Qe);return _e},Mm.toString=function(){if(arguments.length===1){var V=arguments[0];return Mm.SIMPLE_ORDINATE_FORMAT.format(V)}},Mm.spaces=function(V){return Mm.chars(" ",V)},I6.NEWLINE.get=function(){return nd.getProperty("line.separator")},I6.SIMPLE_ORDINATE_FORMAT.get=function(){return new WW("0.#")},Object.defineProperties(Mm,I6);var zc=function(){};zc.prototype.interfaces_=function(){return[]},zc.prototype.getClass=function(){return zc},zc.copyCoord=function(V,j,te,ne){for(var ce=Math.min(V.getDimension(),te.getDimension()),pe=0;pe0)for(var pe=ce;pe0&&ne.append(" ");for(var pe=0;pe0&&ne.append(","),ne.append(Mm.toString(V.getOrdinate(ce,pe)))}return ne.append(")"),ne.toString()}},zc.ensureValidRing=function(V,j){var te=j.size();return te===0?j:te<=3?zc.createClosedRing(V,j,4):j.getOrdinate(0,Ps.X)===j.getOrdinate(te-1,Ps.X)&&j.getOrdinate(0,Ps.Y)===j.getOrdinate(te-1,Ps.Y)?j:zc.createClosedRing(V,j,te+1)},zc.createClosedRing=function(V,j,te){var ne=V.create(te,j.getDimension()),ce=j.size();zc.copy(j,0,ne,0,ce);for(var pe=ce;pe0&&zc.reverse(ne._points),null}},j.prototype.getCoordinate=function(){return this.isEmpty()?null:this._points.getCoordinate(0)},j.prototype.getBoundaryDimension=function(){return this.isClosed()?Vl.FALSE:0},j.prototype.isClosed=function(){return!this.isEmpty()&&this.getCoordinateN(0).equals2D(this.getCoordinateN(this.getNumPoints()-1))},j.prototype.getEndPoint=function(){return this.isEmpty()?null:this.getPointN(this.getNumPoints()-1)},j.prototype.getDimension=function(){return 1},j.prototype.getLength=function(){return Gn.computeLength(this._points)},j.prototype.getNumPoints=function(){return this._points.size()},j.prototype.reverse=function(){var ne=this._points.copy();return zc.reverse(ne),this.getFactory().createLineString(ne)},j.prototype.compareToSameClass=function(){var ne=this;if(arguments.length===1){for(var ce=arguments[0],pe=ce,Ee=0,_e=0;Ee= 2)");this._points=ne},j.prototype.isCoordinate=function(ne){for(var ce=0;ce=1&&this.getCoordinateSequence().size()= 4)")},j.prototype.getGeometryType=function(){return"LinearRing"},j.prototype.copy=function(){return new j(this._points.copy(),this._factory)},j.prototype.interfaces_=function(){return[]},j.prototype.getClass=function(){return j},te.MINIMUM_VALID_SIZE.get=function(){return 4},te.serialVersionUID.get=function(){return-0x3b229e262367a600},Object.defineProperties(j,te),j}(vA),yy=function(V){function j(){V.apply(this,arguments)}V&&(j.__proto__=V),j.prototype=Object.create(V&&V.prototype),j.prototype.constructor=j;var te={serialVersionUID:{configurable:!0}};return j.prototype.getSortIndex=function(){return ua.SORTINDEX_MULTIPOLYGON},j.prototype.equalsExact=function(){if(arguments.length===2){var ne=arguments[0],ce=arguments[1];return!!this.isEquivalentClass(ne)&&V.prototype.equalsExact.call(this,ne,ce)}return V.prototype.equalsExact.apply(this,arguments)},j.prototype.getBoundaryDimension=function(){return 1},j.prototype.getDimension=function(){return 2},j.prototype.reverse=function(){for(var ne=this._geometries.length,ce=new Array(ne).fill(null),pe=0;pe0?j.createPoint(te[0]):j.createPoint():V},GL.prototype.interfaces_=function(){return[Pm.GeometryEditorOperation]},GL.prototype.getClass=function(){return GL};var HL=function(){};HL.prototype.edit=function(V,j){return V instanceof xy?j.createLinearRing(this.edit(V.getCoordinateSequence(),V)):V instanceof vA?j.createLineString(this.edit(V.getCoordinateSequence(),V)):V instanceof H0?j.createPoint(this.edit(V.getCoordinateSequence(),V)):V},HL.prototype.interfaces_=function(){return[Pm.GeometryEditorOperation]},HL.prototype.getClass=function(){return HL};var Jc=function(){var V=this;if(this._dimension=3,this._coordinates=null,arguments.length===1){if(arguments[0]instanceof Array)this._coordinates=arguments[0],this._dimension=3;else if(Number.isInteger(arguments[0])){var j=arguments[0];this._coordinates=new Array(j).fill(null);for(var te=0;te0){var V=new U0(17*this._coordinates.length);V.append("("),V.append(this._coordinates[0]);for(var j=1;j3&&(ne=3),ne<2?new Jc(te):new Jc(te,ne)}},Iy.prototype.interfaces_=function(){return[t_,O0]},Iy.prototype.getClass=function(){return Iy},Iy.instance=function(){return Iy.instanceObject},_6.serialVersionUID.get=function(){return-0x38e49fa6cf6f2e00},_6.instanceObject.get=function(){return new Iy},Object.defineProperties(Iy,_6);var $W=function(V){function j(){V.call(this),this.map_=new Map}return V&&(j.__proto__=V),j.prototype=Object.create(V&&V.prototype),j.prototype.constructor=j,j.prototype.get=function(te){return this.map_.get(te)||null},j.prototype.put=function(te,ne){return this.map_.set(te,ne),ne},j.prototype.values=function(){for(var te=new je,ne=this.map_.values(),ce=ne.next();!ce.done;)te.add(ce.value),ce=ne.next();return te},j.prototype.entrySet=function(){var te=new Yo;return this.map_.entries().forEach(function(ne){return te.add(ne)}),te},j.prototype.size=function(){return this.map_.size()},j}(qr),ys=function V(){if(this._modelType=null,this._scale=null,arguments.length===0)this._modelType=V.FLOATING;else if(arguments.length===1){if(arguments[0]instanceof JE){var j=arguments[0];this._modelType=j,j===V.FIXED&&this.setScale(1)}else if(typeof arguments[0]=="number"){var te=arguments[0];this._modelType=V.FIXED,this.setScale(te)}else if(arguments[0]instanceof V){var ne=arguments[0];this._modelType=ne._modelType,this._scale=ne._scale}}},v6={serialVersionUID:{configurable:!0},maximumPreciseValue:{configurable:!0}};ys.prototype.equals=function(V){if(!(V instanceof ys))return!1;var j=V;return this._modelType===j._modelType&&this._scale===j._scale},ys.prototype.compareTo=function(V){var j=V,te=this.getMaximumSignificantDigits(),ne=j.getMaximumSignificantDigits();return new bm(te).compareTo(new bm(ne))},ys.prototype.getScale=function(){return this._scale},ys.prototype.isFloating=function(){return this._modelType===ys.FLOATING||this._modelType===ys.FLOATING_SINGLE},ys.prototype.getType=function(){return this._modelType},ys.prototype.toString=function(){var V="UNKNOWN";return this._modelType===ys.FLOATING?V="Floating":this._modelType===ys.FLOATING_SINGLE?V="Floating-Single":this._modelType===ys.FIXED&&(V="Fixed (Scale="+this.getScale()+")"),V},ys.prototype.makePrecise=function(){if(typeof arguments[0]=="number"){var V=arguments[0];return Na.isNaN(V)||this._modelType===ys.FLOATING_SINGLE?V:this._modelType===ys.FIXED?Math.round(V*this._scale)/this._scale:V}if(arguments[0]instanceof ir){var j=arguments[0];if(this._modelType===ys.FLOATING)return null;j.x=this.makePrecise(j.x),j.y=this.makePrecise(j.y)}},ys.prototype.getMaximumSignificantDigits=function(){var V=16;return this._modelType===ys.FLOATING?V=16:this._modelType===ys.FLOATING_SINGLE?V=6:this._modelType===ys.FIXED&&(V=1+Math.trunc(Math.ceil(Math.log(this.getScale())/Math.log(10)))),V},ys.prototype.setScale=function(V){this._scale=Math.abs(V)},ys.prototype.interfaces_=function(){return[O0,Xg]},ys.prototype.getClass=function(){return ys},ys.mostPrecise=function(V,j){return V.compareTo(j)>=0?V:j},v6.serialVersionUID.get=function(){return 7777263578777804e3},v6.maximumPreciseValue.get=function(){return 9007199254740992},Object.defineProperties(ys,v6);var JE=function V(j){this._name=j||null,V.nameToTypeMap.put(j,this)},xB={serialVersionUID:{configurable:!0},nameToTypeMap:{configurable:!0}};JE.prototype.readResolve=function(){return JE.nameToTypeMap.get(this._name)},JE.prototype.toString=function(){return this._name},JE.prototype.interfaces_=function(){return[O0]},JE.prototype.getClass=function(){return JE},xB.serialVersionUID.get=function(){return-552860263173159e4},xB.nameToTypeMap.get=function(){return new $W},Object.defineProperties(JE,xB),ys.Type=JE,ys.FIXED=new JE("FIXED"),ys.FLOATING=new JE("FLOATING"),ys.FLOATING_SINGLE=new JE("FLOATING SINGLE");var Jn=function V(){this._precisionModel=new ys,this._SRID=0,this._coordinateSequenceFactory=V.getDefaultCoordinateSequenceFactory(),arguments.length===0||(arguments.length===1?pa(arguments[0],t_)?this._coordinateSequenceFactory=arguments[0]:arguments[0]instanceof ys&&(this._precisionModel=arguments[0]):arguments.length===2?(this._precisionModel=arguments[0],this._SRID=arguments[1]):arguments.length===3&&(this._precisionModel=arguments[0],this._SRID=arguments[1],this._coordinateSequenceFactory=arguments[2]))},ej={serialVersionUID:{configurable:!0}};Jn.prototype.toGeometry=function(V){return V.isNull()?this.createPoint(null):V.getMinX()===V.getMaxX()&&V.getMinY()===V.getMaxY()?this.createPoint(new ir(V.getMinX(),V.getMinY())):V.getMinX()===V.getMaxX()||V.getMinY()===V.getMaxY()?this.createLineString([new ir(V.getMinX(),V.getMinY()),new ir(V.getMaxX(),V.getMaxY())]):this.createPolygon(this.createLinearRing([new ir(V.getMinX(),V.getMinY()),new ir(V.getMinX(),V.getMaxY()),new ir(V.getMaxX(),V.getMaxY()),new ir(V.getMaxX(),V.getMinY()),new ir(V.getMinX(),V.getMinY())]),null)},Jn.prototype.createLineString=function(V){return V?V instanceof Array?new vA(this.getCoordinateSequenceFactory().create(V),this):pa(V,Ps)?new vA(V,this):void 0:new vA(this.getCoordinateSequenceFactory().create([]),this)},Jn.prototype.createMultiLineString=function(){if(arguments.length===0)return new Ey(null,this);if(arguments.length===1){var V=arguments[0];return new Ey(V,this)}},Jn.prototype.buildGeometry=function(V){for(var j=null,te=!1,ne=!1,ce=V.iterator();ce.hasNext();){var pe=ce.next(),Ee=pe.getClass();j===null&&(j=Ee),Ee!==j&&(te=!0),pe.isGeometryCollectionOrDerived()&&(ne=!0)}if(j===null)return this.createGeometryCollection();if(te||ne)return this.createGeometryCollection(Jn.toGeometryArray(V));var _e=V.iterator().next();if(V.size()>1){if(_e instanceof Yc)return this.createMultiPolygon(Jn.toPolygonArray(V));if(_e instanceof vA)return this.createMultiLineString(Jn.toLineStringArray(V));if(_e instanceof H0)return this.createMultiPoint(Jn.toPointArray(V));Ya.shouldNeverReachHere("Unhandled class: "+_e.getClass().getName())}return _e},Jn.prototype.createMultiPointFromCoords=function(V){return this.createMultiPoint(V!==null?this.getCoordinateSequenceFactory().create(V):null)},Jn.prototype.createPoint=function(){if(arguments.length===0)return this.createPoint(this.getCoordinateSequenceFactory().create([]));if(arguments.length===1){if(arguments[0]instanceof ir){var V=arguments[0];return this.createPoint(V!==null?this.getCoordinateSequenceFactory().create([V]):null)}if(pa(arguments[0],Ps)){var j=arguments[0];return new H0(j,this)}}},Jn.prototype.getCoordinateSequenceFactory=function(){return this._coordinateSequenceFactory},Jn.prototype.createPolygon=function(){if(arguments.length===0)return new Yc(null,null,this);if(arguments.length===1){if(pa(arguments[0],Ps)){var V=arguments[0];return this.createPolygon(this.createLinearRing(V))}if(arguments[0]instanceof Array){var j=arguments[0];return this.createPolygon(this.createLinearRing(j))}if(arguments[0]instanceof xy){var te=arguments[0];return this.createPolygon(te,null)}}else if(arguments.length===2){var ne=arguments[0],ce=arguments[1];return new Yc(ne,ce,this)}},Jn.prototype.getSRID=function(){return this._SRID},Jn.prototype.createGeometryCollection=function(){if(arguments.length===0)return new hg(null,this);if(arguments.length===1){var V=arguments[0];return new hg(V,this)}},Jn.prototype.createGeometry=function(V){return new Pm(this).edit(V,{edit:function(){if(arguments.length===2){var j=arguments[0];return this._coordinateSequenceFactory.create(j)}}})},Jn.prototype.getPrecisionModel=function(){return this._precisionModel},Jn.prototype.createLinearRing=function(){if(arguments.length===0)return this.createLinearRing(this.getCoordinateSequenceFactory().create([]));if(arguments.length===1){if(arguments[0]instanceof Array){var V=arguments[0];return this.createLinearRing(V!==null?this.getCoordinateSequenceFactory().create(V):null)}if(pa(arguments[0],Ps)){var j=arguments[0];return new xy(j,this)}}},Jn.prototype.createMultiPolygon=function(){if(arguments.length===0)return new yy(null,this);if(arguments.length===1){var V=arguments[0];return new yy(V,this)}},Jn.prototype.createMultiPoint=function(){var V=this;if(arguments.length===0)return new _S(null,this);if(arguments.length===1){if(arguments[0]instanceof Array){var j=arguments[0];return new _S(j,this)}if(arguments[0]instanceof Array){var te=arguments[0];return this.createMultiPoint(te!==null?this.getCoordinateSequenceFactory().create(te):null)}if(pa(arguments[0],Ps)){var ne=arguments[0];if(ne===null)return this.createMultiPoint(new Array(0).fill(null));for(var ce=new Array(ne.size()).fill(null),pe=0;pe=this.size())throw new Error;return this.array_[V]},Lm.prototype.push=function(V){return this.array_.push(V),V},Lm.prototype.pop=function(V){if(this.array_.length===0)throw new jO;return this.array_.pop()},Lm.prototype.peek=function(){if(this.array_.length===0)throw new jO;return this.array_[this.array_.length-1]},Lm.prototype.empty=function(){return this.array_.length===0},Lm.prototype.isEmpty=function(){return this.empty()},Lm.prototype.search=function(V){return this.array_.indexOf(V)},Lm.prototype.size=function(){return this.array_.length},Lm.prototype.toArray=function(){for(var V=[],j=0,te=this.array_.length;j0&&this._minIndexthis._minCoord.y&&te.y>this._minCoord.y&&ne===Gn.CLOCKWISE)&&(ce=!0),ce&&(this._minIndex=this._minIndex-1)},WE.prototype.getRightmostSideOfSegment=function(V,j){var te=V.getEdge().getCoordinates();if(j<0||j+1>=te.length||te[j].y===te[j+1].y)return-1;var ne=vn.LEFT;return te[j].yj._minCoord.x)&&(j._minDe=V,j._minIndex=ne,j._minCoord=te[ne])},WE.prototype.findRightmostEdgeAtNode=function(){var V=this._minDe.getNode().getEdges();this._minDe=V.getRightmostEdge(),this._minDe.isForward()||(this._minDe=this._minDe.getSym(),this._minIndex=this._minDe.getEdge().getCoordinates().length-1)},WE.prototype.findEdge=function(V){for(var j=V.iterator();j.hasNext();){var te=j.next();te.isForward()&&this.checkForRightmostCoordinate(te)}Ya.isTrue(this._minIndex!==0||this._minCoord.equals(this._minDe.getCoordinate()),"inconsistency in rightmost processing"),this._minIndex===0?this.findRightmostEdgeAtNode():this.findRightmostEdgeAtVertex(),this._orientedDe=this._minDe,this.getRightmostSide(this._minDe,this._minIndex)===vn.LEFT&&(this._orientedDe=this._minDe.getSym())},WE.prototype.interfaces_=function(){return[]},WE.prototype.getClass=function(){return WE};var dg=function(V){function j(te,ne){V.call(this,j.msgWithCoord(te,ne)),this.pt=ne?new ir(ne):null,this.name="TopologyException"}return V&&(j.__proto__=V),j.prototype=Object.create(V&&V.prototype),j.prototype.constructor=j,j.prototype.getCoordinate=function(){return this.pt},j.prototype.interfaces_=function(){return[]},j.prototype.getClass=function(){return j},j.msgWithCoord=function(te,ne){return ne?te:te+" [ "+ne+" ]"},j}(HE),VL=function(){this.array_=[]};VL.prototype.addLast=function(V){this.array_.push(V)},VL.prototype.removeFirst=function(){return this.array_.shift()},VL.prototype.isEmpty=function(){return this.array_.length===0};var Sd=function(){this._finder=null,this._dirEdgeList=new je,this._nodes=new je,this._rightMostCoord=null,this._env=null,this._finder=new WE};Sd.prototype.clearVisitedEdges=function(){for(var V=this._dirEdgeList.iterator();V.hasNext();)V.next().setVisited(!1)},Sd.prototype.getRightmostCoordinate=function(){return this._rightMostCoord},Sd.prototype.computeNodeDepth=function(V){for(var j=null,te=V.getEdges().iterator();te.hasNext();){var ne=te.next();if(ne.isVisited()||ne.getSym().isVisited()){j=ne;break}}if(j===null)throw new dg("unable to find edge to compute depths at "+V.getCoordinate());V.getEdges().computeDepths(j);for(var ce=V.getEdges().iterator();ce.hasNext();){var pe=ce.next();pe.setVisited(!0),this.copySymDepths(pe)}},Sd.prototype.computeDepth=function(V){this.clearVisitedEdges();var j=this._finder.getEdge();j.setEdgeDepths(vn.RIGHT,V),this.copySymDepths(j),this.computeDepths(j)},Sd.prototype.create=function(V){this.addReachable(V),this._finder.findEdge(this._dirEdgeList),this._rightMostCoord=this._finder.getCoordinate()},Sd.prototype.findResultEdges=function(){for(var V=this._dirEdgeList.iterator();V.hasNext();){var j=V.next();j.getDepth(vn.RIGHT)>=1&&j.getDepth(vn.LEFT)<=0&&!j.isInteriorAreaEdge()&&j.setInResult(!0)}},Sd.prototype.computeDepths=function(V){var j=new Yo,te=new VL,ne=V.getNode();for(te.addLast(ne),j.add(ne),V.setVisited(!0);!te.isEmpty();){var ce=te.removeFirst();j.add(ce),this.computeNodeDepth(ce);for(var pe=ce.getEdges().iterator();pe.hasNext();){var Ee=pe.next().getSym();if(!Ee.isVisited()){var _e=Ee.getNode();j.contains(_e)||(te.addLast(_e),j.add(_e))}}}},Sd.prototype.compareTo=function(V){var j=V;return this._rightMostCoord.xj._rightMostCoord.x?1:0},Sd.prototype.getEnvelope=function(){if(this._env===null){for(var V=new No,j=this._dirEdgeList.iterator();j.hasNext();)for(var te=j.next().getEdge().getCoordinates(),ne=0;nethis.location.length){var j=new Array(3).fill(null);j[vn.ON]=this.location[vn.ON],j[vn.LEFT]=dr.NONE,j[vn.RIGHT]=dr.NONE,this.location=j}for(var te=0;te1&&V.append(dr.toLocationSymbol(this.location[vn.LEFT])),V.append(dr.toLocationSymbol(this.location[vn.ON])),this.location.length>1&&V.append(dr.toLocationSymbol(this.location[vn.RIGHT])),V.toString()},Ka.prototype.setLocations=function(V,j,te){this.location[vn.ON]=V,this.location[vn.LEFT]=j,this.location[vn.RIGHT]=te},Ka.prototype.get=function(V){return V1},Ka.prototype.isAnyNull=function(){for(var V=0;VV._maxNodeDegree&&(V._maxNodeDegree=te),j=V.getNext(j)}while(j!==this._startDe);this._maxNodeDegree*=2},Kc.prototype.addPoints=function(V,j,te){var ne=V.getCoordinates();if(j){var ce=1;te&&(ce=0);for(var pe=ce;pe=0;_e--)this._pts.add(ne[_e])}},Kc.prototype.isHole=function(){return this._isHole},Kc.prototype.setInResult=function(){var V=this._startDe;do V.getEdge().setInResult(!0),V=V.getNext();while(V!==this._startDe)},Kc.prototype.containsPoint=function(V){var j=this.getLinearRing();if(!j.getEnvelopeInternal().contains(V)||!Gn.isPointInRing(V,j.getCoordinates()))return!1;for(var te=this._holes.iterator();te.hasNext();)if(te.next().containsPoint(V))return!1;return!0},Kc.prototype.addHole=function(V){this._holes.add(V)},Kc.prototype.isShell=function(){return this._shell===null},Kc.prototype.getLabel=function(){return this._label},Kc.prototype.getEdges=function(){return this._edges},Kc.prototype.getMaxNodeDegree=function(){return this._maxNodeDegree<0&&this.computeMaxNodeDegree(),this._maxNodeDegree},Kc.prototype.getShell=function(){return this._shell},Kc.prototype.mergeLabel=function(){if(arguments.length===1){var V=arguments[0];this.mergeLabel(V,0),this.mergeLabel(V,1)}else if(arguments.length===2){var j=arguments[0],te=arguments[1],ne=j.getLocation(te,vn.RIGHT);if(ne===dr.NONE)return null;if(this._label.getLocation(te)===dr.NONE)return this._label.setLocation(te,ne),null}},Kc.prototype.setShell=function(V){this._shell=V,V!==null&&V.addHole(this)},Kc.prototype.toPolygon=function(V){for(var j=new Array(this._holes.size()).fill(null),te=0;te=2,"found partial label"),this.computeIM(V)},Fp.prototype.isInResult=function(){return this._isInResult},Fp.prototype.isVisited=function(){return this._isVisited},Fp.prototype.interfaces_=function(){return[]},Fp.prototype.getClass=function(){return Fp};var qO=function(V){function j(){V.call(this),this._coord=null,this._edges=null;var te=arguments[0],ne=arguments[1];this._coord=te,this._edges=ne,this._label=new Pa(0,dr.NONE)}return V&&(j.__proto__=V),j.prototype=Object.create(V&&V.prototype),j.prototype.constructor=j,j.prototype.isIncidentEdgeInResult=function(){for(var te=this.getEdges().getEdges().iterator();te.hasNext();)if(te.next().getEdge().isInResult())return!0;return!1},j.prototype.isIsolated=function(){return this._label.getGeometryCount()===1},j.prototype.getCoordinate=function(){return this._coord},j.prototype.print=function(te){te.println("node "+this._coord+" lbl: "+this._label)},j.prototype.computeIM=function(te){},j.prototype.computeMergedLocation=function(te,ne){var ce=dr.NONE;if(ce=this._label.getLocation(ne),!te.isNull(ne)){var pe=te.getLocation(ne);ce!==dr.BOUNDARY&&(ce=pe)}return ce},j.prototype.setLabel=function(){if(arguments.length!==2)return V.prototype.setLabel.apply(this,arguments);var te=arguments[0],ne=arguments[1];this._label===null?this._label=new Pa(te,ne):this._label.setLocation(te,ne)},j.prototype.getEdges=function(){return this._edges},j.prototype.mergeLabel=function(){var te=this;if(arguments[0]instanceof j){var ne=arguments[0];this.mergeLabel(ne._label)}else if(arguments[0]instanceof Pa)for(var ce=arguments[0],pe=0;pe<2;pe++){var Ee=te.computeMergedLocation(ce,pe),_e=te._label.getLocation(pe);_e===dr.NONE&&te._label.setLocation(pe,Ee)}},j.prototype.add=function(te){this._edges.insert(te),te.setNode(this)},j.prototype.setLabelBoundary=function(te){if(this._label===null)return null;var ne=dr.NONE;this._label!==null&&(ne=this._label.getLocation(te));var ce=null;switch(ne){case dr.BOUNDARY:ce=dr.INTERIOR;break;case dr.INTERIOR:default:ce=dr.BOUNDARY}this._label.setLocation(te,ce)},j.prototype.interfaces_=function(){return[]},j.prototype.getClass=function(){return j},j}(Fp),jE=function(){this.nodeMap=new ou,this.nodeFact=null;var V=arguments[0];this.nodeFact=V};jE.prototype.find=function(V){return this.nodeMap.get(V)},jE.prototype.addNode=function(){if(arguments[0]instanceof ir){var V=arguments[0],j=this.nodeMap.get(V);return j===null&&(j=this.nodeFact.createNode(V),this.nodeMap.put(V,j)),j}if(arguments[0]instanceof qO){var te=arguments[0],ne=this.nodeMap.get(te.getCoordinate());return ne===null?(this.nodeMap.put(te.getCoordinate(),te),te):(ne.mergeLabel(te),ne)}},jE.prototype.print=function(V){for(var j=this.iterator();j.hasNext();)j.next().print(V)},jE.prototype.iterator=function(){return this.nodeMap.values().iterator()},jE.prototype.values=function(){return this.nodeMap.values()},jE.prototype.getBoundaryNodes=function(V){for(var j=new je,te=this.iterator();te.hasNext();){var ne=te.next();ne.getLabel().getLocation(V)===dr.BOUNDARY&&j.add(ne)}return j},jE.prototype.add=function(V){var j=V.getCoordinate();this.addNode(j).add(V)},jE.prototype.interfaces_=function(){return[]},jE.prototype.getClass=function(){return jE};var Tu=function(){},kM={NE:{configurable:!0},NW:{configurable:!0},SW:{configurable:!0},SE:{configurable:!0}};Tu.prototype.interfaces_=function(){return[]},Tu.prototype.getClass=function(){return Tu},Tu.isNorthern=function(V){return V===Tu.NE||V===Tu.NW},Tu.isOpposite=function(V,j){return V!==j&&(V-j+4)%4===2},Tu.commonHalfPlane=function(V,j){if(V===j)return V;if((V-j+4)%4===2)return-1;var te=Vj?V:j)===3?3:te},Tu.isInHalfPlane=function(V,j){return j===Tu.SE?V===Tu.SE||V===Tu.SW:V===j||V===j+1},Tu.quadrant=function(){if(typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var V=arguments[0],j=arguments[1];if(V===0&&j===0)throw new fA("Cannot compute the quadrant for point ( "+V+", "+j+" )");return V>=0?j>=0?Tu.NE:Tu.SE:j>=0?Tu.NW:Tu.SW}if(arguments[0]instanceof ir&&arguments[1]instanceof ir){var te=arguments[0],ne=arguments[1];if(ne.x===te.x&&ne.y===te.y)throw new fA("Cannot compute the quadrant for two identical points "+te);return ne.x>=te.x?ne.y>=te.y?Tu.NE:Tu.SE:ne.y>=te.y?Tu.NW:Tu.SW}},kM.NE.get=function(){return 0},kM.NW.get=function(){return 1},kM.SW.get=function(){return 2},kM.SE.get=function(){return 3},Object.defineProperties(Tu,kM);var Rh=function(){if(this._edge=null,this._label=null,this._node=null,this._p0=null,this._p1=null,this._dx=null,this._dy=null,this._quadrant=null,arguments.length===1){var V=arguments[0];this._edge=V}else if(arguments.length===3){var j=arguments[0],te=arguments[1],ne=arguments[2],ce=null;this._edge=j,this.init(te,ne),this._label=ce}else if(arguments.length===4){var pe=arguments[0],Ee=arguments[1],_e=arguments[2],Qe=arguments[3];this._edge=pe,this.init(Ee,_e),this._label=Qe}};Rh.prototype.compareDirection=function(V){return this._dx===V._dx&&this._dy===V._dy?0:this._quadrant>V._quadrant?1:this._quadrant2){pe.linkDirectedEdgesForMinimalEdgeRings();var Ee=pe.buildMinimalRings(),_e=this.findShell(Ee);_e!==null?(this.placePolygonHoles(_e,Ee),j.add(_e)):te.addAll(Ee)}else ne.add(pe)}return ne},Gf.prototype.containsPoint=function(V){for(var j=this._shellList.iterator();j.hasNext();)if(j.next().containsPoint(V))return!0;return!1},Gf.prototype.buildMaximalEdgeRings=function(V){for(var j=new je,te=V.iterator();te.hasNext();){var ne=te.next();if(ne.isInResult()&&ne.getLabel().isArea()&&ne.getEdgeRing()===null){var ce=new aue(ne,this._geometryFactory);j.add(ce),ce.setInResult()}}return j},Gf.prototype.placePolygonHoles=function(V,j){for(var te=j.iterator();te.hasNext();){var ne=te.next();ne.isHole()&&ne.setShell(V)}},Gf.prototype.getPolygons=function(){return this.computePolygons(this._shellList)},Gf.prototype.findEdgeRingContaining=function(V,j){for(var te=V.getLinearRing(),ne=te.getEnvelopeInternal(),ce=te.getCoordinateN(0),pe=null,Ee=null,_e=j.iterator();_e.hasNext();){var Qe=_e.next(),Me=Qe.getLinearRing(),Ye=Me.getEnvelopeInternal();pe!==null&&(Ee=pe.getLinearRing().getEnvelopeInternal());var He=!1;Ye.contains(ne)&&Gn.isPointInRing(ce,Me.getCoordinates())&&(He=!0),He&&(pe===null||Ee.contains(Ye))&&(pe=Qe)}return pe},Gf.prototype.findShell=function(V){for(var j=0,te=null,ne=V.iterator();ne.hasNext();){var ce=ne.next();ce.isHole()||(te=ce,j++)}return Ya.isTrue(j<=1,"found two shells in MinimalEdgeRing list"),te},Gf.prototype.add=function(){if(arguments.length===1){var V=arguments[0];this.add(V.getEdgeEnds(),V.getNodes())}else if(arguments.length===2){var j=arguments[0],te=arguments[1];GA.linkResultDirectedEdges(te);var ne=this.buildMaximalEdgeRings(j),ce=new je,pe=this.buildMinimalEdgeRings(ne,this._shellList,ce);this.sortShellsAndHoles(pe,this._shellList,ce),this.placeFreeHoles(this._shellList,ce)}},Gf.prototype.interfaces_=function(){return[]},Gf.prototype.getClass=function(){return Gf};var fg=function(){};fg.prototype.getBounds=function(){},fg.prototype.interfaces_=function(){return[]},fg.prototype.getClass=function(){return fg};var gg=function(){this._bounds=null,this._item=null;var V=arguments[0],j=arguments[1];this._bounds=V,this._item=j};gg.prototype.getItem=function(){return this._item},gg.prototype.getBounds=function(){return this._bounds},gg.prototype.interfaces_=function(){return[fg,O0]},gg.prototype.getClass=function(){return gg};var o_=function(){this._size=null,this._items=null,this._size=0,this._items=new je,this._items.add(null)};o_.prototype.poll=function(){if(this.isEmpty())return null;var V=this._items.get(1);return this._items.set(1,this._items.get(this._size)),this._size-=1,this.reorder(1),V},o_.prototype.size=function(){return this._size},o_.prototype.reorder=function(V){for(var j=this,te=null,ne=this._items.get(V);2*V<=this._size&&((te=2*V)!==j._size&&j._items.get(te+1).compareTo(j._items.get(te))<0&&te++,j._items.get(te).compareTo(ne)<0);V=te)j._items.set(V,j._items.get(te));this._items.set(V,ne)},o_.prototype.clear=function(){this._size=0,this._items.clear()},o_.prototype.isEmpty=function(){return this._size===0},o_.prototype.add=function(V){this._items.add(null),this._size+=1;var j=this._size;for(this._items.set(0,V);V.compareTo(this._items.get(Math.trunc(j/2)))<0;j/=2)this._items.set(j,this._items.get(Math.trunc(j/2)));this._items.set(j,V)},o_.prototype.interfaces_=function(){return[]},o_.prototype.getClass=function(){return o_};var yB=function(){};yB.prototype.visitItem=function(V){},yB.prototype.interfaces_=function(){return[]},yB.prototype.getClass=function(){return yB};var vS=function(){};vS.prototype.insert=function(V,j){},vS.prototype.remove=function(V,j){},vS.prototype.query=function(){},vS.prototype.interfaces_=function(){return[]},vS.prototype.getClass=function(){return vS};var Lh=function(){if(this._childBoundables=new je,this._bounds=null,this._level=null,arguments.length!==0&&arguments.length===1){var V=arguments[0];this._level=V}},ij={serialVersionUID:{configurable:!0}};Lh.prototype.getLevel=function(){return this._level},Lh.prototype.size=function(){return this._childBoundables.size()},Lh.prototype.getChildBoundables=function(){return this._childBoundables},Lh.prototype.addChildBoundable=function(V){Ya.isTrue(this._bounds===null),this._childBoundables.add(V)},Lh.prototype.isEmpty=function(){return this._childBoundables.isEmpty()},Lh.prototype.getBounds=function(){return this._bounds===null&&(this._bounds=this.computeBounds()),this._bounds},Lh.prototype.interfaces_=function(){return[fg,O0]},Lh.prototype.getClass=function(){return Lh},ij.serialVersionUID.get=function(){return 6493722185909574e3},Object.defineProperties(Lh,ij);var Fm=function(){};Fm.reverseOrder=function(){return{compare:function(V,j){return j.compareTo(V)}}},Fm.min=function(V){return Fm.sort(V),V.get(0)},Fm.sort=function(V,j){var te=V.toArray();j?Cy.sort(te,j):Cy.sort(te);for(var ne=V.iterator(),ce=0,pe=te.length;ceGu.area(this._boundable2)?(this.expand(this._boundable1,this._boundable2,V,j),null):(this.expand(this._boundable2,this._boundable1,V,j),null);if(te)return this.expand(this._boundable1,this._boundable2,V,j),null;if(ne)return this.expand(this._boundable2,this._boundable1,V,j),null;throw new fA("neither boundable is composite")},Gu.prototype.isLeaves=function(){return!(Gu.isComposite(this._boundable1)||Gu.isComposite(this._boundable2))},Gu.prototype.compareTo=function(V){var j=V;return this._distancej._distance?1:0},Gu.prototype.expand=function(V,j,te,ne){for(var ce=V.getChildBoundables().iterator();ce.hasNext();){var pe=ce.next(),Ee=new Gu(pe,j,this._itemDistance);Ee.getDistance()1,"Node capacity must be greater than 1"),this._nodeCapacity=te}},YL={IntersectsOp:{configurable:!0},serialVersionUID:{configurable:!0},DEFAULT_NODE_CAPACITY:{configurable:!0}};aa.prototype.getNodeCapacity=function(){return this._nodeCapacity},aa.prototype.lastNode=function(V){return V.get(V.size()-1)},aa.prototype.size=function(){var V=this;if(arguments.length===0)return this.isEmpty()?0:(this.build(),this.size(this._root));if(arguments.length===1){for(var j=arguments[0],te=0,ne=j.getChildBoundables().iterator();ne.hasNext();){var ce=ne.next();ce instanceof Lh?te+=V.size(ce):ce instanceof gg&&(te+=1)}return te}},aa.prototype.removeItem=function(V,j){for(var te=null,ne=V.getChildBoundables().iterator();ne.hasNext();){var ce=ne.next();ce instanceof gg&&ce.getItem()===j&&(te=ce)}return te!==null&&(V.getChildBoundables().remove(te),!0)},aa.prototype.itemsTree=function(){var V=this;if(arguments.length===0){this.build();var j=this.itemsTree(this._root);return j===null?new je:j}if(arguments.length===1){for(var te=arguments[0],ne=new je,ce=te.getChildBoundables().iterator();ce.hasNext();){var pe=ce.next();if(pe instanceof Lh){var Ee=V.itemsTree(pe);Ee!==null&&ne.add(Ee)}else pe instanceof gg?ne.add(pe.getItem()):Ya.shouldNeverReachHere()}return ne.size()<=0?null:ne}},aa.prototype.insert=function(V,j){Ya.isTrue(!this._built,"Cannot insert items into an STR packed R-tree after it has been built."),this._itemBoundables.add(new gg(V,j))},aa.prototype.boundablesAtLevel=function(){var V=this;if(arguments.length===1){var j=arguments[0],te=new je;return this.boundablesAtLevel(j,this._root,te),te}if(arguments.length===3){var ne=arguments[0],ce=arguments[1],pe=arguments[2];if(Ya.isTrue(ne>-2),ce.getLevel()===ne)return pe.add(ce),null;for(var Ee=ce.getChildBoundables().iterator();Ee.hasNext();){var _e=Ee.next();_e instanceof Lh?V.boundablesAtLevel(ne,_e,pe):(Ya.isTrue(_e instanceof gg),ne===-1&&pe.add(_e))}return null}},aa.prototype.query=function(){var V=this;if(arguments.length===1){var j=arguments[0];this.build();var te=new je;return this.isEmpty()||this.getIntersectsOp().intersects(this._root.getBounds(),j)&&this.query(j,this._root,te),te}if(arguments.length===2){var ne=arguments[0],ce=arguments[1];if(this.build(),this.isEmpty())return null;this.getIntersectsOp().intersects(this._root.getBounds(),ne)&&this.query(ne,this._root,ce)}else if(arguments.length===3){if(pa(arguments[2],yB)&&arguments[0]instanceof Object&&arguments[1]instanceof Lh)for(var pe=arguments[0],Ee=arguments[1],_e=arguments[2],Qe=Ee.getChildBoundables(),Me=0;Mete&&(te=pe)}}return te+1}},aa.prototype.createParentBoundables=function(V,j){var te=this;Ya.isTrue(!V.isEmpty());var ne=new je;ne.add(this.createNode(j));var ce=new je(V);Fm.sort(ce,this.getComparator());for(var pe=ce.iterator();pe.hasNext();){var Ee=pe.next();te.lastNode(ne).getChildBoundables().size()===te.getNodeCapacity()&&ne.add(te.createNode(j)),te.lastNode(ne).addChildBoundable(Ee)}return ne},aa.prototype.isEmpty=function(){return this._built?this._root.isEmpty():this._itemBoundables.isEmpty()},aa.prototype.interfaces_=function(){return[O0]},aa.prototype.getClass=function(){return aa},aa.compareDoubles=function(V,j){return V>j?1:V0);for(var pe=new je,Ee=0;Ee0;){var st=At.poll(),ft=st.getDistance();if(ft>=He)break;st.isLeaves()?(He=ft,tt=st):st.expandToQueue(At,He)}return[tt.getBoundable(0).getItem(),tt.getBoundable(1).getItem()]}}else if(arguments.length===3){var at=arguments[0],kt=arguments[1],ri=arguments[2],dt=new gg(at,kt),Nt=new Gu(this.getRoot(),dt,ri);return this.nearestNeighbour(Nt)[0]}},j.prototype.interfaces_=function(){return[vS,O0]},j.prototype.getClass=function(){return j},j.centreX=function(ne){return j.avg(ne.getMinX(),ne.getMaxX())},j.avg=function(ne,ce){return(ne+ce)/2},j.centreY=function(ne){return j.avg(ne.getMinY(),ne.getMaxY())},te.STRtreeNode.get=function(){return eA},te.serialVersionUID.get=function(){return 0x39920f7d5f261e0},te.xComparator.get=function(){return{interfaces_:function(){return[Q1]},compare:function(ne,ce){return V.compareDoubles(j.centreX(ne.getBounds()),j.centreX(ce.getBounds()))}}},te.yComparator.get=function(){return{interfaces_:function(){return[Q1]},compare:function(ne,ce){return V.compareDoubles(j.centreY(ne.getBounds()),j.centreY(ce.getBounds()))}}},te.intersectsOp.get=function(){return{interfaces_:function(){return[V.IntersectsOp]},intersects:function(ne,ce){return ne.intersects(ce)}}},te.DEFAULT_NODE_CAPACITY.get=function(){return 10},Object.defineProperties(j,te),j}(aa),eA=function(V){function j(){var te=arguments[0];V.call(this,te)}return V&&(j.__proto__=V),j.prototype=Object.create(V&&V.prototype),j.prototype.constructor=j,j.prototype.computeBounds=function(){for(var te=null,ne=this.getChildBoundables().iterator();ne.hasNext();){var ce=ne.next();te===null?te=new No(ce.getBounds()):te.expandToInclude(ce.getBounds())}return te},j.prototype.interfaces_=function(){return[]},j.prototype.getClass=function(){return j},j}(Lh),e0=function(){};e0.prototype.interfaces_=function(){return[]},e0.prototype.getClass=function(){return e0},e0.relativeSign=function(V,j){return Vj?1:0},e0.compare=function(V,j,te){if(j.equals2D(te))return 0;var ne=e0.relativeSign(j.x,te.x),ce=e0.relativeSign(j.y,te.y);switch(V){case 0:return e0.compareValue(ne,ce);case 1:return e0.compareValue(ce,ne);case 2:return e0.compareValue(ce,-ne);case 3:return e0.compareValue(-ne,ce);case 4:return e0.compareValue(-ne,-ce);case 5:return e0.compareValue(-ce,-ne);case 6:return e0.compareValue(-ce,ne);case 7:return e0.compareValue(ne,-ce)}return Ya.shouldNeverReachHere("invalid octant value"),0},e0.compareValue=function(V,j){return V<0?-1:V>0?1:j<0?-1:j>0?1:0};var a_=function(){this._segString=null,this.coord=null,this.segmentIndex=null,this._segmentOctant=null,this._isInterior=null;var V=arguments[0],j=arguments[1],te=arguments[2],ne=arguments[3];this._segString=V,this.coord=new ir(j),this.segmentIndex=te,this._segmentOctant=ne,this._isInterior=!j.equals2D(V.getCoordinate(te))};a_.prototype.getCoordinate=function(){return this.coord},a_.prototype.print=function(V){V.print(this.coord),V.print(" seg # = "+this.segmentIndex)},a_.prototype.compareTo=function(V){var j=V;return this.segmentIndexj.segmentIndex?1:this.coord.equals2D(j.coord)?0:e0.compare(this._segmentOctant,this.coord,j.coord)},a_.prototype.isEndPoint=function(V){return this.segmentIndex===0&&!this._isInterior||this.segmentIndex===V},a_.prototype.isInterior=function(){return this._isInterior},a_.prototype.interfaces_=function(){return[Xg]},a_.prototype.getClass=function(){return a_};var Dd=function(){this._nodeMap=new ou,this._edge=null;var V=arguments[0];this._edge=V};Dd.prototype.getSplitCoordinates=function(){var V=new Yt;this.addEndpoints();for(var j=this.iterator(),te=j.next();j.hasNext();){var ne=j.next();this.addEdgeCoordinates(te,ne,V),te=ne}return V.toCoordinateArray()},Dd.prototype.addCollapsedNodes=function(){var V=new je;this.findCollapsesFromInsertedNodes(V),this.findCollapsesFromExistingVertices(V);for(var j=V.iterator();j.hasNext();){var te=j.next().intValue();this.add(this._edge.getCoordinate(te),te)}},Dd.prototype.print=function(V){V.println("Intersections:");for(var j=this.iterator();j.hasNext();)j.next().print(V)},Dd.prototype.findCollapsesFromExistingVertices=function(V){for(var j=0;j=0?j>=0?te>=ne?0:1:te>=ne?7:6:j>=0?te>=ne?3:2:te>=ne?4:5}if(arguments[0]instanceof ir&&arguments[1]instanceof ir){var ce=arguments[0],pe=arguments[1],Ee=pe.x-ce.x,_e=pe.y-ce.y;if(Ee===0&&_e===0)throw new fA("Cannot compute the octant for two identical points "+ce);return wS.octant(Ee,_e)}};var _y=function(){};_y.prototype.getCoordinates=function(){},_y.prototype.size=function(){},_y.prototype.getCoordinate=function(V){},_y.prototype.isClosed=function(){},_y.prototype.setData=function(V){},_y.prototype.getData=function(){},_y.prototype.interfaces_=function(){return[]},_y.prototype.getClass=function(){return _y};var JL=function(){};JL.prototype.addIntersection=function(V,j){},JL.prototype.interfaces_=function(){return[_y]},JL.prototype.getClass=function(){return JL};var Wc=function(){this._nodeList=new Dd(this),this._pts=null,this._data=null;var V=arguments[0],j=arguments[1];this._pts=V,this._data=j};Wc.prototype.getCoordinates=function(){return this._pts},Wc.prototype.size=function(){return this._pts.length},Wc.prototype.getCoordinate=function(V){return this._pts[V]},Wc.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},Wc.prototype.getSegmentOctant=function(V){return V===this._pts.length-1?-1:this.safeOctant(this.getCoordinate(V),this.getCoordinate(V+1))},Wc.prototype.setData=function(V){this._data=V},Wc.prototype.safeOctant=function(V,j){return V.equals2D(j)?0:wS.octant(V,j)},Wc.prototype.getData=function(){return this._data},Wc.prototype.addIntersection=function(){if(arguments.length===2){var V=arguments[0],j=arguments[1];this.addIntersectionNode(V,j)}else if(arguments.length===4){var te=arguments[0],ne=arguments[1],ce=arguments[3],pe=new ir(te.getIntersection(ce));this.addIntersection(pe,ne)}},Wc.prototype.toString=function(){return Lp.toLineString(new Jc(this._pts))},Wc.prototype.getNodeList=function(){return this._nodeList},Wc.prototype.addIntersectionNode=function(V,j){var te=j,ne=te+1;if(ne=0&&te>=0||j<=0&&te<=0?Math.max(j,te):0}if(arguments[0]instanceof ir){var ne=arguments[0];return Gn.orientationIndex(this.p0,this.p1,ne)}},Jo.prototype.toGeometry=function(V){return V.createLineString([this.p0,this.p1])},Jo.prototype.isVertical=function(){return this.p0.x===this.p1.x},Jo.prototype.equals=function(V){if(!(V instanceof Jo))return!1;var j=V;return this.p0.equals(j.p0)&&this.p1.equals(j.p1)},Jo.prototype.intersection=function(V){var j=new r_;return j.computeIntersection(this.p0,this.p1,V.p0,V.p1),j.hasIntersection()?j.getIntersection(0):null},Jo.prototype.project=function(){if(arguments[0]instanceof ir){var V=arguments[0];if(V.equals(this.p0)||V.equals(this.p1))return new ir(V);var j=this.projectionFactor(V),te=new ir;return te.x=this.p0.x+j*(this.p1.x-this.p0.x),te.y=this.p0.y+j*(this.p1.y-this.p0.y),te}if(arguments[0]instanceof Jo){var ne=arguments[0],ce=this.projectionFactor(ne.p0),pe=this.projectionFactor(ne.p1);if(ce>=1&&pe>=1||ce<=0&&pe<=0)return null;var Ee=this.project(ne.p0);ce<0&&(Ee=this.p0),ce>1&&(Ee=this.p1);var _e=this.project(ne.p1);return pe<0&&(_e=this.p0),pe>1&&(_e=this.p1),new Jo(Ee,_e)}},Jo.prototype.normalize=function(){this.p1.compareTo(this.p0)<0&&this.reverse()},Jo.prototype.angle=function(){return Math.atan2(this.p1.y-this.p0.y,this.p1.x-this.p0.x)},Jo.prototype.getCoordinate=function(V){return V===0?this.p0:this.p1},Jo.prototype.distancePerpendicular=function(V){return Gn.distancePointLinePerpendicular(V,this.p0,this.p1)},Jo.prototype.minY=function(){return Math.min(this.p0.y,this.p1.y)},Jo.prototype.midPoint=function(){return Jo.midPoint(this.p0,this.p1)},Jo.prototype.projectionFactor=function(V){if(V.equals(this.p0))return 0;if(V.equals(this.p1))return 1;var j=this.p1.x-this.p0.x,te=this.p1.y-this.p0.y,ne=j*j+te*te;return ne<=0?Na.NaN:((V.x-this.p0.x)*j+(V.y-this.p0.y)*te)/ne},Jo.prototype.closestPoints=function(V){var j=this.intersection(V);if(j!==null)return[j,j];var te=new Array(2).fill(null),ne=Na.MAX_VALUE,ce=null,pe=this.closestPoint(V.p0);ne=pe.distance(V.p0),te[0]=pe,te[1]=V.p0;var Ee=this.closestPoint(V.p1);(ce=Ee.distance(V.p1))0&&j<1?this.project(V):this.p0.distance(V)1||Na.isNaN(j))&&(j=1),j},Jo.prototype.toString=function(){return"LINESTRING( "+this.p0.x+" "+this.p0.y+", "+this.p1.x+" "+this.p1.y+")"},Jo.prototype.isHorizontal=function(){return this.p0.y===this.p1.y},Jo.prototype.distance=function(){if(arguments[0]instanceof Jo){var V=arguments[0];return Gn.distanceLineLine(this.p0,this.p1,V.p0,V.p1)}if(arguments[0]instanceof ir){var j=arguments[0];return Gn.distancePointLine(j,this.p0,this.p1)}},Jo.prototype.pointAlong=function(V){var j=new ir;return j.x=this.p0.x+V*(this.p1.x-this.p0.x),j.y=this.p0.y+V*(this.p1.y-this.p0.y),j},Jo.prototype.hashCode=function(){var V=Na.doubleToLongBits(this.p0.x);V^=31*Na.doubleToLongBits(this.p0.y);var j=Math.trunc(V)^Math.trunc(V>>32),te=Na.doubleToLongBits(this.p1.x);return te^=31*Na.doubleToLongBits(this.p1.y),j^(Math.trunc(te)^Math.trunc(te>>32))},Jo.prototype.interfaces_=function(){return[Xg,O0]},Jo.prototype.getClass=function(){return Jo},Jo.midPoint=function(V,j){return new ir((V.x+j.x)/2,(V.y+j.y)/2)},nj.serialVersionUID.get=function(){return 0x2d2172135f411c00},Object.defineProperties(Jo,nj);var KL=function(){this.tempEnv1=new No,this.tempEnv2=new No,this._overlapSeg1=new Jo,this._overlapSeg2=new Jo};KL.prototype.overlap=function(){if(arguments.length!==2&&arguments.length===4){var V=arguments[0],j=arguments[1],te=arguments[2],ne=arguments[3];V.getLineSegment(j,this._overlapSeg1),te.getLineSegment(ne,this._overlapSeg2),this.overlap(this._overlapSeg1,this._overlapSeg2)}},KL.prototype.interfaces_=function(){return[]},KL.prototype.getClass=function(){return KL};var V0=function(){this._pts=null,this._start=null,this._end=null,this._env=null,this._context=null,this._id=null;var V=arguments[0],j=arguments[1],te=arguments[2],ne=arguments[3];this._pts=V,this._start=j,this._end=te,this._context=ne};V0.prototype.getLineSegment=function(V,j){j.p0=this._pts[V],j.p1=this._pts[V+1]},V0.prototype.computeSelect=function(V,j,te,ne){var ce=this._pts[j],pe=this._pts[te];if(ne.tempEnv1.init(ce,pe),te-j==1)return ne.select(this,j),null;if(!V.intersects(ne.tempEnv1))return null;var Ee=Math.trunc((j+te)/2);j=V.length-1)return V.length-1;for(var ne=Tu.quadrant(V[te],V[te+1]),ce=j+1;ceEe.getId()&&(Ee.computeOverlaps(Qe,ce),ne._nOverlaps++),ne._segInt.isDone())return null}},j.prototype.interfaces_=function(){return[]},j.prototype.getClass=function(){return j},te.SegmentOverlapAction.get=function(){return oj},Object.defineProperties(j,te),j}(WL),oj=function(V){function j(){V.call(this),this._si=null;var te=arguments[0];this._si=te}return V&&(j.__proto__=V),j.prototype=Object.create(V&&V.prototype),j.prototype.constructor=j,j.prototype.overlap=function(){if(arguments.length!==4)return V.prototype.overlap.apply(this,arguments);var te=arguments[0],ne=arguments[1],ce=arguments[2],pe=arguments[3],Ee=te.getContext(),_e=ce.getContext();this._si.processIntersections(Ee,ne,_e,pe)},j.prototype.interfaces_=function(){return[]},j.prototype.getClass=function(){return j},j}(KL),Tl=function V(){if(this._quadrantSegments=V.DEFAULT_QUADRANT_SEGMENTS,this._endCapStyle=V.CAP_ROUND,this._joinStyle=V.JOIN_ROUND,this._mitreLimit=V.DEFAULT_MITRE_LIMIT,this._isSingleSided=!1,this._simplifyFactor=V.DEFAULT_SIMPLIFY_FACTOR,arguments.length!==0){if(arguments.length===1){var j=arguments[0];this.setQuadrantSegments(j)}else if(arguments.length===2){var te=arguments[0],ne=arguments[1];this.setQuadrantSegments(te),this.setEndCapStyle(ne)}else if(arguments.length===4){var ce=arguments[0],pe=arguments[1],Ee=arguments[2],_e=arguments[3];this.setQuadrantSegments(ce),this.setEndCapStyle(pe),this.setJoinStyle(Ee),this.setMitreLimit(_e)}}},s_={CAP_ROUND:{configurable:!0},CAP_FLAT:{configurable:!0},CAP_SQUARE:{configurable:!0},JOIN_ROUND:{configurable:!0},JOIN_MITRE:{configurable:!0},JOIN_BEVEL:{configurable:!0},DEFAULT_QUADRANT_SEGMENTS:{configurable:!0},DEFAULT_MITRE_LIMIT:{configurable:!0},DEFAULT_SIMPLIFY_FACTOR:{configurable:!0}};Tl.prototype.getEndCapStyle=function(){return this._endCapStyle},Tl.prototype.isSingleSided=function(){return this._isSingleSided},Tl.prototype.setQuadrantSegments=function(V){this._quadrantSegments=V,this._quadrantSegments===0&&(this._joinStyle=Tl.JOIN_BEVEL),this._quadrantSegments<0&&(this._joinStyle=Tl.JOIN_MITRE,this._mitreLimit=Math.abs(this._quadrantSegments)),V<=0&&(this._quadrantSegments=1),this._joinStyle!==Tl.JOIN_ROUND&&(this._quadrantSegments=Tl.DEFAULT_QUADRANT_SEGMENTS)},Tl.prototype.getJoinStyle=function(){return this._joinStyle},Tl.prototype.setJoinStyle=function(V){this._joinStyle=V},Tl.prototype.setSimplifyFactor=function(V){this._simplifyFactor=V<0?0:V},Tl.prototype.getSimplifyFactor=function(){return this._simplifyFactor},Tl.prototype.getQuadrantSegments=function(){return this._quadrantSegments},Tl.prototype.setEndCapStyle=function(V){this._endCapStyle=V},Tl.prototype.getMitreLimit=function(){return this._mitreLimit},Tl.prototype.setMitreLimit=function(V){this._mitreLimit=V},Tl.prototype.setSingleSided=function(V){this._isSingleSided=V},Tl.prototype.interfaces_=function(){return[]},Tl.prototype.getClass=function(){return Tl},Tl.bufferDistanceError=function(V){var j=Math.PI/2/V;return 1-Math.cos(j/2)},s_.CAP_ROUND.get=function(){return 1},s_.CAP_FLAT.get=function(){return 2},s_.CAP_SQUARE.get=function(){return 3},s_.JOIN_ROUND.get=function(){return 1},s_.JOIN_MITRE.get=function(){return 2},s_.JOIN_BEVEL.get=function(){return 3},s_.DEFAULT_QUADRANT_SEGMENTS.get=function(){return 8},s_.DEFAULT_MITRE_LIMIT.get=function(){return 5},s_.DEFAULT_SIMPLIFY_FACTOR.get=function(){return .01},Object.defineProperties(Tl,s_);var HA=function(V){this._distanceTol=null,this._isDeleted=null,this._angleOrientation=Gn.COUNTERCLOCKWISE,this._inputLine=V||null},jL={INIT:{configurable:!0},DELETE:{configurable:!0},KEEP:{configurable:!0},NUM_PTS_TO_CHECK:{configurable:!0}};HA.prototype.isDeletable=function(V,j,te,ne){var ce=this._inputLine[V],pe=this._inputLine[j],Ee=this._inputLine[te];return!!this.isConcave(ce,pe,Ee)&&!!this.isShallow(ce,pe,Ee,ne)&&this.isShallowSampled(ce,pe,V,te,ne)},HA.prototype.deleteShallowConcavities=function(){for(var V=this,j=1,te=this.findNextNonDeletedIndex(j),ne=this.findNextNonDeletedIndex(te),ce=!1;ne=0;ne--)this.addPt(V[ne])},Np.prototype.isRedundant=function(V){if(this._ptList.size()<1)return!1;var j=this._ptList.get(this._ptList.size()-1);return V.distance(j)Math.PI;)V-=xa.PI_TIMES_2;for(;V<=-Math.PI;)V+=xa.PI_TIMES_2;return V},xa.angle=function(){if(arguments.length===1){var V=arguments[0];return Math.atan2(V.y,V.x)}if(arguments.length===2){var j=arguments[0],te=arguments[1],ne=te.x-j.x,ce=te.y-j.y;return Math.atan2(ce,ne)}},xa.isAcute=function(V,j,te){var ne=V.x-j.x,ce=V.y-j.y;return ne*(te.x-j.x)+ce*(te.y-j.y)>0},xa.isObtuse=function(V,j,te){var ne=V.x-j.x,ce=V.y-j.y;return ne*(te.x-j.x)+ce*(te.y-j.y)<0},xa.interiorAngle=function(V,j,te){var ne=xa.angle(j,V),ce=xa.angle(j,te);return Math.abs(ce-ne)},xa.normalizePositive=function(V){if(V<0){for(;V<0;)V+=xa.PI_TIMES_2;V>=xa.PI_TIMES_2&&(V=0)}else{for(;V>=xa.PI_TIMES_2;)V-=xa.PI_TIMES_2;V<0&&(V=0)}return V},xa.angleBetween=function(V,j,te){var ne=xa.angle(j,V),ce=xa.angle(j,te);return xa.diff(ne,ce)},xa.diff=function(V,j){var te=null;return(te=VMath.PI&&(te=2*Math.PI-te),te},xa.toRadians=function(V){return V*Math.PI/180},xa.getTurn=function(V,j){var te=Math.sin(j-V);return te>0?xa.COUNTERCLOCKWISE:te<0?xa.CLOCKWISE:xa.NONE},xa.angleBetweenOriented=function(V,j,te){var ne=xa.angle(j,V),ce=xa.angle(j,te)-ne;return ce<=-Math.PI?ce+xa.PI_TIMES_2:ce>Math.PI?ce-xa.PI_TIMES_2:ce},af.PI_TIMES_2.get=function(){return 2*Math.PI},af.PI_OVER_2.get=function(){return Math.PI/2},af.PI_OVER_4.get=function(){return Math.PI/4},af.COUNTERCLOCKWISE.get=function(){return Gn.COUNTERCLOCKWISE},af.CLOCKWISE.get=function(){return Gn.CLOCKWISE},af.NONE.get=function(){return Gn.COLLINEAR},Object.defineProperties(xa,af);var BA=function V(){this._maxCurveSegmentError=0,this._filletAngleQuantum=null,this._closingSegLengthFactor=1,this._segList=null,this._distance=0,this._precisionModel=null,this._bufParams=null,this._li=null,this._s0=null,this._s1=null,this._s2=null,this._seg0=new Jo,this._seg1=new Jo,this._offset0=new Jo,this._offset1=new Jo,this._side=0,this._hasNarrowConcaveAngle=!1;var j=arguments[0],te=arguments[1],ne=arguments[2];this._precisionModel=j,this._bufParams=te,this._li=new r_,this._filletAngleQuantum=Math.PI/2/te.getQuadrantSegments(),te.getQuadrantSegments()>=8&&te.getJoinStyle()===Tl.JOIN_ROUND&&(this._closingSegLengthFactor=V.MAX_CLOSING_SEG_LEN_FACTOR),this.init(ne)},qL={OFFSET_SEGMENT_SEPARATION_FACTOR:{configurable:!0},INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR:{configurable:!0},CURVE_VERTEX_SNAP_DISTANCE_FACTOR:{configurable:!0},MAX_CLOSING_SEG_LEN_FACTOR:{configurable:!0}};BA.prototype.addNextSegment=function(V,j){if(this._s0=this._s1,this._s1=this._s2,this._s2=V,this._seg0.setCoordinates(this._s0,this._s1),this.computeOffsetSegment(this._seg0,this._side,this._distance,this._offset0),this._seg1.setCoordinates(this._s1,this._s2),this.computeOffsetSegment(this._seg1,this._side,this._distance,this._offset1),this._s1.equals(this._s2))return null;var te=Gn.computeOrientation(this._s0,this._s1,this._s2),ne=te===Gn.CLOCKWISE&&this._side===vn.LEFT||te===Gn.COUNTERCLOCKWISE&&this._side===vn.RIGHT;te===0?this.addCollinear(j):ne?this.addOutsideTurn(te,j):this.addInsideTurn(te,j)},BA.prototype.addLineEndCap=function(V,j){var te=new Jo(V,j),ne=new Jo;this.computeOffsetSegment(te,vn.LEFT,this._distance,ne);var ce=new Jo;this.computeOffsetSegment(te,vn.RIGHT,this._distance,ce);var pe=j.x-V.x,Ee=j.y-V.y,_e=Math.atan2(Ee,pe);switch(this._bufParams.getEndCapStyle()){case Tl.CAP_ROUND:this._segList.addPt(ne.p1),this.addFilletArc(j,_e+Math.PI/2,_e-Math.PI/2,Gn.CLOCKWISE,this._distance),this._segList.addPt(ce.p1);break;case Tl.CAP_FLAT:this._segList.addPt(ne.p1),this._segList.addPt(ce.p1);break;case Tl.CAP_SQUARE:var Qe=new ir;Qe.x=Math.abs(this._distance)*Math.cos(_e),Qe.y=Math.abs(this._distance)*Math.sin(_e);var Me=new ir(ne.p1.x+Qe.x,ne.p1.y+Qe.y),Ye=new ir(ce.p1.x+Qe.x,ce.p1.y+Qe.y);this._segList.addPt(Me),this._segList.addPt(Ye)}},BA.prototype.getCoordinates=function(){return this._segList.getCoordinates()},BA.prototype.addMitreJoin=function(V,j,te,ne){var ce=!0,pe=null;try{pe=Zg.intersection(j.p0,j.p1,te.p0,te.p1),(ne<=0?1:pe.distance(V)/Math.abs(ne))>this._bufParams.getMitreLimit()&&(ce=!1)}catch(Ee){if(!(Ee instanceof i_))throw Ee;pe=new ir(0,0),ce=!1}ce?this._segList.addPt(pe):this.addLimitedMitreJoin(j,te,ne,this._bufParams.getMitreLimit())},BA.prototype.addFilletCorner=function(V,j,te,ne,ce){var pe=j.x-V.x,Ee=j.y-V.y,_e=Math.atan2(Ee,pe),Qe=te.x-V.x,Me=te.y-V.y,Ye=Math.atan2(Me,Qe);ne===Gn.CLOCKWISE?_e<=Ye&&(_e+=2*Math.PI):_e>=Ye&&(_e-=2*Math.PI),this._segList.addPt(j),this.addFilletArc(V,_e,Ye,ne,ce),this._segList.addPt(te)},BA.prototype.addOutsideTurn=function(V,j){if(this._offset0.p1.distance(this._offset1.p0)0){var te=new ir((this._closingSegLengthFactor*this._offset0.p1.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset0.p1.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(te);var ne=new ir((this._closingSegLengthFactor*this._offset1.p0.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset1.p0.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(ne)}else this._segList.addPt(this._s1);this._segList.addPt(this._offset1.p0)}},BA.prototype.createCircle=function(V){var j=new ir(V.x+this._distance,V.y);this._segList.addPt(j),this.addFilletArc(V,0,2*Math.PI,-1,this._distance),this._segList.closeRing()},BA.prototype.addBevelJoin=function(V,j){this._segList.addPt(V.p1),this._segList.addPt(j.p0)},BA.prototype.init=function(V){this._distance=V,this._maxCurveSegmentError=V*(1-Math.cos(this._filletAngleQuantum/2)),this._segList=new Np,this._segList.setPrecisionModel(this._precisionModel),this._segList.setMinimumVertexDistance(V*BA.CURVE_VERTEX_SNAP_DISTANCE_FACTOR)},BA.prototype.addCollinear=function(V){this._li.computeIntersection(this._s0,this._s1,this._s1,this._s2),this._li.getIntersectionNum()>=2&&(this._bufParams.getJoinStyle()===Tl.JOIN_BEVEL||this._bufParams.getJoinStyle()===Tl.JOIN_MITRE?(V&&this._segList.addPt(this._offset0.p1),this._segList.addPt(this._offset1.p0)):this.addFilletCorner(this._s1,this._offset0.p1,this._offset1.p0,Gn.CLOCKWISE,this._distance))},BA.prototype.closeRing=function(){this._segList.closeRing()},BA.prototype.hasNarrowConcaveAngle=function(){return this._hasNarrowConcaveAngle},BA.prototype.interfaces_=function(){return[]},BA.prototype.getClass=function(){return BA},qL.OFFSET_SEGMENT_SEPARATION_FACTOR.get=function(){return .001},qL.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return .001},qL.CURVE_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return 1e-6},qL.MAX_CLOSING_SEG_LEN_FACTOR.get=function(){return 80},Object.defineProperties(BA,qL);var t0=function(){this._distance=0,this._precisionModel=null,this._bufParams=null;var V=arguments[0],j=arguments[1];this._precisionModel=V,this._bufParams=j};t0.prototype.getOffsetCurve=function(V,j){if(this._distance=j,j===0)return null;var te=j<0,ne=Math.abs(j),ce=this.getSegGen(ne);V.length<=1?this.computePointCurve(V[0],ce):this.computeOffsetCurve(V,te,ce);var pe=ce.getCoordinates();return te&&$t.reverse(pe),pe},t0.prototype.computeSingleSidedBufferCurve=function(V,j,te){var ne=this.simplifyTolerance(this._distance);if(j){te.addSegments(V,!0);var ce=HA.simplify(V,-ne),pe=ce.length-1;te.initSideSegments(ce[pe],ce[pe-1],vn.LEFT),te.addFirstSegment();for(var Ee=pe-2;Ee>=0;Ee--)te.addNextSegment(ce[Ee],!0)}else{te.addSegments(V,!1);var _e=HA.simplify(V,ne),Qe=_e.length-1;te.initSideSegments(_e[0],_e[1],vn.LEFT),te.addFirstSegment();for(var Me=2;Me<=Qe;Me++)te.addNextSegment(_e[Me],!0)}te.addLastSegment(),te.closeRing()},t0.prototype.computeRingBufferCurve=function(V,j,te){var ne=this.simplifyTolerance(this._distance);j===vn.RIGHT&&(ne=-ne);var ce=HA.simplify(V,ne),pe=ce.length-1;te.initSideSegments(ce[pe-1],ce[0],j);for(var Ee=1;Ee<=pe;Ee++){var _e=Ee!==1;te.addNextSegment(ce[Ee],_e)}te.closeRing()},t0.prototype.computeLineBufferCurve=function(V,j){var te=this.simplifyTolerance(this._distance),ne=HA.simplify(V,te),ce=ne.length-1;j.initSideSegments(ne[0],ne[1],vn.LEFT);for(var pe=2;pe<=ce;pe++)j.addNextSegment(ne[pe],!0);j.addLastSegment(),j.addLineEndCap(ne[ce-1],ne[ce]);var Ee=HA.simplify(V,-te),_e=Ee.length-1;j.initSideSegments(Ee[_e],Ee[_e-1],vn.LEFT);for(var Qe=_e-2;Qe>=0;Qe--)j.addNextSegment(Ee[Qe],!0);j.addLastSegment(),j.addLineEndCap(Ee[1],Ee[0]),j.closeRing()},t0.prototype.computePointCurve=function(V,j){switch(this._bufParams.getEndCapStyle()){case Tl.CAP_ROUND:j.createCircle(V);break;case Tl.CAP_SQUARE:j.createSquare(V)}},t0.prototype.getLineCurve=function(V,j){if(this._distance=j,j<0&&!this._bufParams.isSingleSided()||j===0)return null;var te=Math.abs(j),ne=this.getSegGen(te);if(V.length<=1)this.computePointCurve(V[0],ne);else if(this._bufParams.isSingleSided()){var ce=j<0;this.computeSingleSidedBufferCurve(V,ce,ne)}else this.computeLineBufferCurve(V,ne);return ne.getCoordinates()},t0.prototype.getBufferParameters=function(){return this._bufParams},t0.prototype.simplifyTolerance=function(V){return V*this._bufParams.getSimplifyFactor()},t0.prototype.getRingCurve=function(V,j,te){if(this._distance=te,V.length<=2)return this.getLineCurve(V,te);if(te===0)return t0.copyCoordinates(V);var ne=this.getSegGen(te);return this.computeRingBufferCurve(V,j,ne),ne.getCoordinates()},t0.prototype.computeOffsetCurve=function(V,j,te){var ne=this.simplifyTolerance(this._distance);if(j){var ce=HA.simplify(V,-ne),pe=ce.length-1;te.initSideSegments(ce[pe],ce[pe-1],vn.LEFT),te.addFirstSegment();for(var Ee=pe-2;Ee>=0;Ee--)te.addNextSegment(ce[Ee],!0)}else{var _e=HA.simplify(V,ne),Qe=_e.length-1;te.initSideSegments(_e[0],_e[1],vn.LEFT),te.addFirstSegment();for(var Me=2;Me<=Qe;Me++)te.addNextSegment(_e[Me],!0)}te.addLastSegment()},t0.prototype.getSegGen=function(V){return new BA(this._precisionModel,this._bufParams,V)},t0.prototype.interfaces_=function(){return[]},t0.prototype.getClass=function(){return t0},t0.copyCoordinates=function(V){for(var j=new Array(V.length).fill(null),te=0;tepe.getMaxY()||V.findStabbedSegments(j,ce.getDirectedEdges(),te)}return te}if(arguments.length===3){if(pa(arguments[2],xe)&&arguments[0]instanceof ir&&arguments[1]instanceof zL)for(var Ee=arguments[0],_e=arguments[1],Qe=arguments[2],Me=_e.getEdge().getCoordinates(),Ye=0;YeV._seg.p1.y&&V._seg.reverse();var He=Math.max(V._seg.p0.x,V._seg.p1.x);if(!(HeV._seg.p1.y||Gn.computeOrientation(V._seg.p0,V._seg.p1,Ee)===Gn.RIGHT)){var tt=_e.getDepth(vn.LEFT);V._seg.p0.equals(Me[Ye])||(tt=_e.getDepth(vn.RIGHT));var At=new O1(V._seg,tt);Qe.add(At)}}else if(pa(arguments[2],xe)&&arguments[0]instanceof ir&&pa(arguments[1],xe))for(var st=arguments[0],ft=arguments[1],at=arguments[2],kt=ft.iterator();kt.hasNext();){var ri=kt.next();ri.isForward()&&V.findStabbedSegments(st,ri,at)}}},k1.prototype.getDepth=function(V){var j=this.findStabbedSegments(V);return j.size()===0?0:Fm.min(j)._leftDepth},k1.prototype.interfaces_=function(){return[]},k1.prototype.getClass=function(){return k1},sj.DepthSegment.get=function(){return O1},Object.defineProperties(k1,sj);var O1=function(){this._upwardSeg=null,this._leftDepth=null;var V=arguments[0],j=arguments[1];this._upwardSeg=new Jo(V),this._leftDepth=j};O1.prototype.compareTo=function(V){var j=V;if(this._upwardSeg.minX()>=j._upwardSeg.maxX())return 1;if(this._upwardSeg.maxX()<=j._upwardSeg.minX())return-1;var te=this._upwardSeg.orientationIndex(j._upwardSeg);return te!==0||(te=-1*j._upwardSeg.orientationIndex(this._upwardSeg))!==0?te:this._upwardSeg.compareTo(j._upwardSeg)},O1.prototype.compareX=function(V,j){var te=V.p0.compareTo(j.p0);return te!==0?te:V.p1.compareTo(j.p1)},O1.prototype.toString=function(){return this._upwardSeg.toString()},O1.prototype.interfaces_=function(){return[Xg]},O1.prototype.getClass=function(){return O1};var zl=function(V,j,te){this.p0=V||null,this.p1=j||null,this.p2=te||null};zl.prototype.area=function(){return zl.area(this.p0,this.p1,this.p2)},zl.prototype.signedArea=function(){return zl.signedArea(this.p0,this.p1,this.p2)},zl.prototype.interpolateZ=function(V){if(V===null)throw new fA("Supplied point is null.");return zl.interpolateZ(V,this.p0,this.p1,this.p2)},zl.prototype.longestSideLength=function(){return zl.longestSideLength(this.p0,this.p1,this.p2)},zl.prototype.isAcute=function(){return zl.isAcute(this.p0,this.p1,this.p2)},zl.prototype.circumcentre=function(){return zl.circumcentre(this.p0,this.p1,this.p2)},zl.prototype.area3D=function(){return zl.area3D(this.p0,this.p1,this.p2)},zl.prototype.centroid=function(){return zl.centroid(this.p0,this.p1,this.p2)},zl.prototype.inCentre=function(){return zl.inCentre(this.p0,this.p1,this.p2)},zl.prototype.interfaces_=function(){return[]},zl.prototype.getClass=function(){return zl},zl.area=function(V,j,te){return Math.abs(((te.x-V.x)*(j.y-V.y)-(j.x-V.x)*(te.y-V.y))/2)},zl.signedArea=function(V,j,te){return((te.x-V.x)*(j.y-V.y)-(j.x-V.x)*(te.y-V.y))/2},zl.det=function(V,j,te,ne){return V*ne-j*te},zl.interpolateZ=function(V,j,te,ne){var ce=j.x,pe=j.y,Ee=te.x-ce,_e=ne.x-ce,Qe=te.y-pe,Me=ne.y-pe,Ye=Ee*Me-_e*Qe,He=V.x-ce,tt=V.y-pe,At=(Me*He-_e*tt)/Ye,st=(-Qe*He+Ee*tt)/Ye;return j.z+At*(te.z-j.z)+st*(ne.z-j.z)},zl.longestSideLength=function(V,j,te){var ne=V.distance(j),ce=j.distance(te),pe=te.distance(V),Ee=ne;return ce>Ee&&(Ee=ce),pe>Ee&&(Ee=pe),Ee},zl.isAcute=function(V,j,te){return!!xa.isAcute(V,j,te)&&!!xa.isAcute(j,te,V)&&!!xa.isAcute(te,V,j)},zl.circumcentre=function(V,j,te){var ne=te.x,ce=te.y,pe=V.x-ne,Ee=V.y-ce,_e=j.x-ne,Qe=j.y-ce,Me=2*zl.det(pe,Ee,_e,Qe),Ye=zl.det(Ee,pe*pe+Ee*Ee,Qe,_e*_e+Qe*Qe),He=zl.det(pe,pe*pe+Ee*Ee,_e,_e*_e+Qe*Qe);return new ir(ne-Ye/Me,ce+He/Me)},zl.perpendicularBisector=function(V,j){var te=j.x-V.x,ne=j.y-V.y,ce=new Zg(V.x+te/2,V.y+ne/2,1),pe=new Zg(V.x-ne+te/2,V.y+te+ne/2,1);return new Zg(ce,pe)},zl.angleBisector=function(V,j,te){var ne=j.distance(V),ce=ne/(ne+j.distance(te)),pe=te.x-V.x,Ee=te.y-V.y;return new ir(V.x+ce*pe,V.y+ce*Ee)},zl.area3D=function(V,j,te){var ne=j.x-V.x,ce=j.y-V.y,pe=j.z-V.z,Ee=te.x-V.x,_e=te.y-V.y,Qe=te.z-V.z,Me=ce*Qe-pe*_e,Ye=pe*Ee-ne*Qe,He=ne*_e-ce*Ee,tt=Me*Me+Ye*Ye+He*He,At=Math.sqrt(tt)/2;return At},zl.centroid=function(V,j,te){var ne=(V.x+j.x+te.x)/3,ce=(V.y+j.y+te.y)/3;return new ir(ne,ce)},zl.inCentre=function(V,j,te){var ne=j.distance(te),ce=V.distance(te),pe=V.distance(j),Ee=ne+ce+pe,_e=(ne*V.x+ce*j.x+pe*te.x)/Ee,Qe=(ne*V.y+ce*j.y+pe*te.y)/Ee;return new ir(_e,Qe)};var kp=function(){this._inputGeom=null,this._distance=null,this._curveBuilder=null,this._curveList=new je;var V=arguments[0],j=arguments[1],te=arguments[2];this._inputGeom=V,this._distance=j,this._curveBuilder=te};kp.prototype.addPoint=function(V){if(this._distance<=0)return null;var j=V.getCoordinates(),te=this._curveBuilder.getLineCurve(j,this._distance);this.addCurve(te,dr.EXTERIOR,dr.INTERIOR)},kp.prototype.addPolygon=function(V){var j=this,te=this._distance,ne=vn.LEFT;this._distance<0&&(te=-this._distance,ne=vn.RIGHT);var ce=V.getExteriorRing(),pe=$t.removeRepeatedPoints(ce.getCoordinates());if(this._distance<0&&this.isErodedCompletely(ce,this._distance)||this._distance<=0&&pe.length<3)return null;this.addPolygonRing(pe,te,ne,dr.EXTERIOR,dr.INTERIOR);for(var Ee=0;Ee0&&j.isErodedCompletely(_e,-j._distance)||j.addPolygonRing(Qe,te,vn.opposite(ne),dr.INTERIOR,dr.EXTERIOR)}},kp.prototype.isTriangleErodedCompletely=function(V,j){var te=new zl(V[0],V[1],V[2]),ne=te.inCentre();return Gn.distancePointLine(ne,te.p0,te.p1)=xy.MINIMUM_VALID_SIZE&&Gn.isCCW(V)&&(pe=ce,Ee=ne,te=vn.opposite(te));var _e=this._curveBuilder.getRingCurve(V,te,j);this.addCurve(_e,pe,Ee)},kp.prototype.add=function(V){if(V.isEmpty())return null;V instanceof Yc?this.addPolygon(V):V instanceof vA?this.addLineString(V):V instanceof H0?this.addPoint(V):(V instanceof _S||V instanceof Ey||V instanceof yy||V instanceof hg)&&this.addCollection(V)},kp.prototype.isErodedCompletely=function(V,j){var te=V.getCoordinates();if(te.length<4)return j<0;if(te.length===4)return this.isTriangleErodedCompletely(te,j);var ne=V.getEnvelopeInternal(),ce=Math.min(ne.getHeight(),ne.getWidth());return j<0&&2*Math.abs(j)>ce},kp.prototype.addCollection=function(V){for(var j=0;j=this._max)throw new Se;var V=this._parent.getGeometryN(this._index++);return V instanceof hg?(this._subcollectionIterator=new vy(V),this._subcollectionIterator.next()):V},vy.prototype.remove=function(){throw new Error(this.getClass().getName())},vy.prototype.hasNext=function(){if(this._atStart)return!0;if(this._subcollectionIterator!==null){if(this._subcollectionIterator.hasNext())return!0;this._subcollectionIterator=null}return!(this._index>=this._max)},vy.prototype.interfaces_=function(){return[L1]},vy.prototype.getClass=function(){return vy},vy.isAtomic=function(V){return!(V instanceof hg)};var Op=function(){this._geom=null;var V=arguments[0];this._geom=V};Op.prototype.locate=function(V){return Op.locate(V,this._geom)},Op.prototype.interfaces_=function(){return[UM]},Op.prototype.getClass=function(){return Op},Op.isPointInRing=function(V,j){return!!j.getEnvelopeInternal().intersects(V)&&Gn.isPointInRing(V,j.getCoordinates())},Op.containsPointInPolygon=function(V,j){if(j.isEmpty())return!1;var te=j.getExteriorRing();if(!Op.isPointInRing(V,te))return!1;for(var ne=0;ne=0;ce--){var pe=this._edgeList.get(ce),Ee=pe.getSym();ne===null&&(ne=Ee),te!==null&&Ee.setNext(te),te=pe}ne.setNext(te)},j.prototype.computeDepths=function(){var te=this;if(arguments.length===1){var ne=arguments[0],ce=this.findIndex(ne),pe=ne.getDepth(vn.LEFT),Ee=ne.getDepth(vn.RIGHT),_e=this.computeDepths(ce+1,this._edgeList.size(),pe),Qe=this.computeDepths(0,ce,_e);if(Qe!==Ee)throw new dg("depth mismatch at "+ne.getCoordinate())}else if(arguments.length===3){for(var Me=arguments[0],Ye=arguments[1],He=arguments[2],tt=He,At=Me;At=0;_e--){var Qe=ne._resultAreaEdgeList.get(_e),Me=Qe.getSym();switch(ce===null&&Qe.getEdgeRing()===te&&(ce=Qe),Ee){case ne._SCANNING_FOR_INCOMING:if(Me.getEdgeRing()!==te)continue;pe=Me,Ee=ne._LINKING_TO_OUTGOING;break;case ne._LINKING_TO_OUTGOING:if(Qe.getEdgeRing()!==te)continue;pe.setNextMin(Qe),Ee=ne._SCANNING_FOR_INCOMING}}Ee===this._LINKING_TO_OUTGOING&&(Ya.isTrue(ce!==null,"found null for first outgoing dirEdge"),Ya.isTrue(ce.getEdgeRing()===te,"unable to link last incoming dirEdge"),pe.setNextMin(ce))},j.prototype.getOutgoingDegree=function(){if(arguments.length===0){for(var te=0,ne=this.iterator();ne.hasNext();){var ce=ne.next();ce.isInResult()&&te++}return te}if(arguments.length===1){for(var pe=arguments[0],Ee=0,_e=this.iterator();_e.hasNext();){var Qe=_e.next();Qe.getEdgeRing()===pe&&Ee++}return Ee}},j.prototype.getLabel=function(){return this._label},j.prototype.findCoveredLineEdges=function(){for(var te=dr.NONE,ne=this.iterator();ne.hasNext();){var ce=ne.next(),pe=ce.getSym();if(!ce.isLineEdge()){if(ce.isInResult()){te=dr.INTERIOR;break}if(pe.isInResult()){te=dr.EXTERIOR;break}}}if(te===dr.NONE)return null;for(var Ee=te,_e=this.iterator();_e.hasNext();){var Qe=_e.next(),Me=Qe.getSym();Qe.isLineEdge()?Qe.getEdge().setCovered(Ee===dr.INTERIOR):(Qe.isInResult()&&(Ee=dr.EXTERIOR),Me.isInResult()&&(Ee=dr.INTERIOR))}},j.prototype.computeLabelling=function(te){V.prototype.computeLabelling.call(this,te),this._label=new Pa(dr.NONE);for(var ne=this.iterator();ne.hasNext();)for(var ce=ne.next().getEdge().getLabel(),pe=0;pe<2;pe++){var Ee=ce.getLocation(pe);Ee!==dr.INTERIOR&&Ee!==dr.BOUNDARY||this._label.setLocation(pe,dr.INTERIOR)}},j.prototype.interfaces_=function(){return[]},j.prototype.getClass=function(){return j},j}(sf),uj=function(V){function j(){V.apply(this,arguments)}return V&&(j.__proto__=V),j.prototype=Object.create(V&&V.prototype),j.prototype.constructor=j,j.prototype.createNode=function(te){return new qO(te,new lj)},j.prototype.interfaces_=function(){return[]},j.prototype.getClass=function(){return j},j}(OM),IB=function V(){this._pts=null,this._orientation=null;var j=arguments[0];this._pts=j,this._orientation=V.orientation(j)};IB.prototype.compareTo=function(V){var j=V;return IB.compareOriented(this._pts,this._orientation,j._pts,j._orientation)},IB.prototype.interfaces_=function(){return[Xg]},IB.prototype.getClass=function(){return IB},IB.orientation=function(V){return $t.increasingDirection(V)===1},IB.compareOriented=function(V,j,te,ne){for(var ce=j?1:-1,pe=ne?1:-1,Ee=j?V.length:-1,_e=ne?te.length:-1,Qe=j?0:V.length-1,Me=ne?0:te.length-1;;){var Ye=V[Qe].compareTo(te[Me]);if(Ye!==0)return Ye;var He=(Qe+=ce)===Ee,tt=(Me+=pe)===_e;if(He&&!tt)return-1;if(!He&&tt)return 1;if(He&&tt)return 0}};var jC=function(){this._edges=new je,this._ocaMap=new ou};jC.prototype.print=function(V){V.print("MULTILINESTRING ( ");for(var j=0;j0&&V.print(","),V.print("(");for(var ne=te.getCoordinates(),ce=0;ce0&&V.print(","),V.print(ne[ce].x+" "+ne[ce].y);V.println(")")}V.print(") ")},jC.prototype.addAll=function(V){for(var j=V.iterator();j.hasNext();)this.add(j.next())},jC.prototype.findEdgeIndex=function(V){for(var j=0;j0||!j.coord.equals2D(ne);ce||te--;var pe=new Array(te).fill(null),Ee=0;pe[Ee++]=new ir(V.coord);for(var _e=V.segmentIndex+1;_e<=j.segmentIndex;_e++)pe[Ee++]=this.edge.pts[_e];return ce&&(pe[Ee]=j.coord),new XL(pe,new Pa(this.edge._label))},By.prototype.add=function(V,j,te){var ne=new ZE(V,j,te),ce=this._nodeMap.get(ne);return ce!==null?ce:(this._nodeMap.put(ne,ne),ne)},By.prototype.isIntersection=function(V){for(var j=this.iterator();j.hasNext();)if(j.next().coord.equals(V))return!0;return!1},By.prototype.interfaces_=function(){return[]},By.prototype.getClass=function(){return By};var G1=function(){};G1.prototype.getChainStartIndices=function(V){var j=0,te=new je;te.add(new bm(j));do{var ne=this.findChainEnd(V,j);te.add(new bm(ne)),j=ne}while(jte?j:te},l_.prototype.getMinX=function(V){var j=this.pts[this.startIndex[V]].x,te=this.pts[this.startIndex[V+1]].x;return jte&&(ce=1),V._depth[j][ne]=ce}}},uf.prototype.getDelta=function(V){return this._depth[V][vn.RIGHT]-this._depth[V][vn.LEFT]},uf.prototype.getLocation=function(V,j){return this._depth[V][j]<=0?dr.EXTERIOR:dr.INTERIOR},uf.prototype.toString=function(){return"A: "+this._depth[0][1]+","+this._depth[0][2]+" B: "+this._depth[1][1]+","+this._depth[1][2]},uf.prototype.add=function(){var V=this;if(arguments.length===1)for(var j=arguments[0],te=0;te<2;te++)for(var ne=1;ne<3;ne++){var ce=j.getLocation(te,ne);ce!==dr.EXTERIOR&&ce!==dr.INTERIOR||(V.isNull(te,ne)?V._depth[te][ne]=uf.depthAtLocation(ce):V._depth[te][ne]+=uf.depthAtLocation(ce))}else if(arguments.length===3){var pe=arguments[0],Ee=arguments[1],_e=arguments[2];_e===dr.INTERIOR&&this._depth[pe][Ee]++}},uf.prototype.interfaces_=function(){return[]},uf.prototype.getClass=function(){return uf},uf.depthAtLocation=function(V){return V===dr.EXTERIOR?0:V===dr.INTERIOR?1:uf.NULL_VALUE},b6.NULL_VALUE.get=function(){return-1},Object.defineProperties(uf,b6);var XL=function(V){function j(){if(V.call(this),this.pts=null,this._env=null,this.eiList=new By(this),this._name=null,this._mce=null,this._isIsolated=!0,this._depth=new uf,this._depthDelta=0,arguments.length===1){var te=arguments[0];j.call(this,te,null)}else if(arguments.length===2){var ne=arguments[0],ce=arguments[1];this.pts=ne,this._label=ce}}return V&&(j.__proto__=V),j.prototype=Object.create(V&&V.prototype),j.prototype.constructor=j,j.prototype.getDepth=function(){return this._depth},j.prototype.getCollapsedEdge=function(){var te=new Array(2).fill(null);return te[0]=this.pts[0],te[1]=this.pts[1],new j(te,Pa.toLineLabel(this._label))},j.prototype.isIsolated=function(){return this._isIsolated},j.prototype.getCoordinates=function(){return this.pts},j.prototype.setIsolated=function(te){this._isIsolated=te},j.prototype.setName=function(te){this._name=te},j.prototype.equals=function(te){if(!(te instanceof j))return!1;var ne=te;if(this.pts.length!==ne.pts.length)return!1;for(var ce=!0,pe=!0,Ee=this.pts.length,_e=0;_e0?this.pts[0]:null;if(arguments.length===1){var te=arguments[0];return this.pts[te]}},j.prototype.print=function(te){te.print("edge "+this._name+": "),te.print("LINESTRING (");for(var ne=0;ne0&&te.print(","),te.print(this.pts[ne].x+" "+this.pts[ne].y);te.print(") "+this._label+" "+this._depthDelta)},j.prototype.computeIM=function(te){j.updateIM(this._label,te)},j.prototype.isCollapsed=function(){return!!this._label.isArea()&&this.pts.length===3&&!!this.pts[0].equals(this.pts[2])},j.prototype.isClosed=function(){return this.pts[0].equals(this.pts[this.pts.length-1])},j.prototype.getMaximumSegmentIndex=function(){return this.pts.length-1},j.prototype.getDepthDelta=function(){return this._depthDelta},j.prototype.getNumPoints=function(){return this.pts.length},j.prototype.printReverse=function(te){te.print("edge "+this._name+": ");for(var ne=this.pts.length-1;ne>=0;ne--)te.print(this.pts[ne]+" ");te.println("")},j.prototype.getMonotoneChainEdge=function(){return this._mce===null&&(this._mce=new l_(this)),this._mce},j.prototype.getEnvelope=function(){if(this._env===null){this._env=new No;for(var te=0;te0&&te.append(","),te.append(this.pts[ne].x+" "+this.pts[ne].y);return te.append(") "+this._label+" "+this._depthDelta),te.toString()},j.prototype.isPointwiseEqual=function(te){if(this.pts.length!==te.pts.length)return!1;for(var ne=0;nene||this._maxype;if(Ee)return!1;var _e=this.intersectsToleranceSquare(V,j);return Ya.isTrue(!(Ee&&_e),"Found bad envelope test"),_e},i0.prototype.initCorners=function(V){var j=.5;this._minx=V.x-j,this._maxx=V.x+j,this._miny=V.y-j,this._maxy=V.y+j,this._corner[0]=new ir(this._maxx,this._maxy),this._corner[1]=new ir(this._minx,this._maxy),this._corner[2]=new ir(this._minx,this._miny),this._corner[3]=new ir(this._maxx,this._miny)},i0.prototype.intersects=function(V,j){return this._scaleFactor===1?this.intersectsScaled(V,j):(this.copyScaled(V,this._p0Scaled),this.copyScaled(j,this._p1Scaled),this.intersectsScaled(this._p0Scaled,this._p1Scaled))},i0.prototype.scale=function(V){return Math.round(V*this._scaleFactor)},i0.prototype.getCoordinate=function(){return this._originalPt},i0.prototype.copyScaled=function(V,j){j.x=this.scale(V.x),j.y=this.scale(V.y)},i0.prototype.getSafeEnvelope=function(){if(this._safeEnv===null){var V=i0.SAFE_ENV_EXPANSION_FACTOR/this._scaleFactor;this._safeEnv=new No(this._originalPt.x-V,this._originalPt.x+V,this._originalPt.y-V,this._originalPt.y+V)}return this._safeEnv},i0.prototype.intersectsPixelClosure=function(V,j){return this._li.computeIntersection(V,j,this._corner[0],this._corner[1]),!!this._li.hasIntersection()||(this._li.computeIntersection(V,j,this._corner[1],this._corner[2]),!!this._li.hasIntersection()||(this._li.computeIntersection(V,j,this._corner[2],this._corner[3]),!!this._li.hasIntersection()||(this._li.computeIntersection(V,j,this._corner[3],this._corner[0]),!!this._li.hasIntersection())))},i0.prototype.intersectsToleranceSquare=function(V,j){var te=!1,ne=!1;return this._li.computeIntersection(V,j,this._corner[0],this._corner[1]),!!this._li.isProper()||(this._li.computeIntersection(V,j,this._corner[1],this._corner[2]),!!this._li.isProper()||(this._li.hasIntersection()&&(te=!0),this._li.computeIntersection(V,j,this._corner[2],this._corner[3]),!!this._li.isProper()||(this._li.hasIntersection()&&(ne=!0),this._li.computeIntersection(V,j,this._corner[3],this._corner[0]),!!this._li.isProper()||!(!te||!ne)||!!V.equals(this._pt)||!!j.equals(this._pt))))},i0.prototype.addSnappedNode=function(V,j){var te=V.getCoordinate(j),ne=V.getCoordinate(j+1);return!!this.intersects(te,ne)&&(V.addIntersection(this.getCoordinate(),j),!0)},i0.prototype.interfaces_=function(){return[]},i0.prototype.getClass=function(){return i0},cj.SAFE_ENV_EXPANSION_FACTOR.get=function(){return .75},Object.defineProperties(i0,cj);var ZL=function(){this.tempEnv1=new No,this.selectedSegment=new Jo};ZL.prototype.select=function(){if(arguments.length!==1&&arguments.length===2){var V=arguments[0],j=arguments[1];V.getLineSegment(j,this.selectedSegment),this.select(this.selectedSegment)}},ZL.prototype.interfaces_=function(){return[]},ZL.prototype.getClass=function(){return ZL};var GM=function(){this._index=null;var V=arguments[0];this._index=V},hj={HotPixelSnapAction:{configurable:!0}};GM.prototype.snap=function(){if(arguments.length===1){var V=arguments[0];return this.snap(V,null,-1)}if(arguments.length===3){var j=arguments[0],te=arguments[1],ne=arguments[2],ce=j.getSafeEnvelope(),pe=new dj(j,te,ne);return this._index.query(ce,{interfaces_:function(){return[yB]},visitItem:function(Ee){Ee.select(ce,pe)}}),pe.isNodeAdded()}},GM.prototype.interfaces_=function(){return[]},GM.prototype.getClass=function(){return GM},hj.HotPixelSnapAction.get=function(){return dj},Object.defineProperties(GM,hj);var dj=function(V){function j(){V.call(this),this._hotPixel=null,this._parentEdge=null,this._hotPixelVertexIndex=null,this._isNodeAdded=!1;var te=arguments[0],ne=arguments[1],ce=arguments[2];this._hotPixel=te,this._parentEdge=ne,this._hotPixelVertexIndex=ce}return V&&(j.__proto__=V),j.prototype=Object.create(V&&V.prototype),j.prototype.constructor=j,j.prototype.isNodeAdded=function(){return this._isNodeAdded},j.prototype.select=function(){if(arguments.length!==2)return V.prototype.select.apply(this,arguments);var te=arguments[0],ne=arguments[1],ce=te.getContext();if(this._parentEdge!==null&&ce===this._parentEdge&&ne===this._hotPixelVertexIndex)return null;this._isNodeAdded=this._hotPixel.addSnappedNode(ce,ne)},j.prototype.interfaces_=function(){return[]},j.prototype.getClass=function(){return j},j}(ZL),bS=function(){this._li=null,this._interiorIntersections=null;var V=arguments[0];this._li=V,this._interiorIntersections=new je};bS.prototype.processIntersections=function(V,j,te,ne){if(V===te&&j===ne)return null;var ce=V.getCoordinates()[j],pe=V.getCoordinates()[j+1],Ee=te.getCoordinates()[ne],_e=te.getCoordinates()[ne+1];if(this._li.computeIntersection(ce,pe,Ee,_e),this._li.hasIntersection()&&this._li.isInteriorIntersection()){for(var Qe=0;Qe=0;j--){try{V.bufferReducedPrecision(j)}catch(pe){if(!(pe instanceof dg))throw pe;V._saveException=pe}if(V._resultGeometry!==null)return null}throw this._saveException}if(arguments.length===1){var te=arguments[0],ne=Af.precisionScaleFactor(this._argGeom,this._distance,te),ce=new ys(ne);this.bufferFixedPrecision(ce)}},Af.prototype.computeGeometry=function(){if(this.bufferOriginalPrecision(),this._resultGeometry!==null)return null;var V=this._argGeom.getFactory().getPrecisionModel();V.getType()===ys.FIXED?this.bufferFixedPrecision(V):this.bufferReducedPrecision()},Af.prototype.setQuadrantSegments=function(V){this._bufParams.setQuadrantSegments(V)},Af.prototype.bufferOriginalPrecision=function(){try{var V=new pg(this._bufParams);this._resultGeometry=V.buffer(this._argGeom,this._distance)}catch(j){if(!(j instanceof HE))throw j;this._saveException=j}},Af.prototype.getResultGeometry=function(V){return this._distance=V,this.computeGeometry(),this._resultGeometry},Af.prototype.setEndCapStyle=function(V){this._bufParams.setEndCapStyle(V)},Af.prototype.interfaces_=function(){return[]},Af.prototype.getClass=function(){return Af},Af.bufferOp=function(){if(arguments.length===2){var V=arguments[0],j=arguments[1],te=new Af(V),ne=te.getResultGeometry(j);return ne}if(arguments.length===3){if(Number.isInteger(arguments[2])&&arguments[0]instanceof ua&&typeof arguments[1]=="number"){var ce=arguments[0],pe=arguments[1],Ee=arguments[2],_e=new Af(ce);_e.setQuadrantSegments(Ee);var Qe=_e.getResultGeometry(pe);return Qe}if(arguments[2]instanceof Tl&&arguments[0]instanceof ua&&typeof arguments[1]=="number"){var Me=arguments[0],Ye=arguments[1],He=arguments[2],tt=new Af(Me,He),At=tt.getResultGeometry(Ye);return At}}else if(arguments.length===4){var st=arguments[0],ft=arguments[1],at=arguments[2],kt=arguments[3],ri=new Af(st);ri.setQuadrantSegments(at),ri.setEndCapStyle(kt);var dt=ri.getResultGeometry(ft);return dt}},Af.precisionScaleFactor=function(V,j,te){var ne=V.getEnvelopeInternal(),ce=OA.max(Math.abs(ne.getMaxX()),Math.abs(ne.getMaxY()),Math.abs(ne.getMinX()),Math.abs(ne.getMinY()))+2*(j>0?j:0),pe=te-Math.trunc(Math.log(ce)/Math.log(10)+1);return Math.pow(10,pe)},HM.CAP_ROUND.get=function(){return Tl.CAP_ROUND},HM.CAP_BUTT.get=function(){return Tl.CAP_FLAT},HM.CAP_FLAT.get=function(){return Tl.CAP_FLAT},HM.CAP_SQUARE.get=function(){return Tl.CAP_SQUARE},HM.MAX_PRECISION_DIGITS.get=function(){return 12},Object.defineProperties(Af,HM);var mg=function(){this._pt=[new ir,new ir],this._distance=Na.NaN,this._isNull=!0};mg.prototype.getCoordinates=function(){return this._pt},mg.prototype.getCoordinate=function(V){return this._pt[V]},mg.prototype.setMinimum=function(){if(arguments.length===1){var V=arguments[0];this.setMinimum(V._pt[0],V._pt[1])}else if(arguments.length===2){var j=arguments[0],te=arguments[1];if(this._isNull)return this.initialize(j,te),null;var ne=j.distance(te);nethis._distance&&this.initialize(j,te,ne)}},mg.prototype.interfaces_=function(){return[]},mg.prototype.getClass=function(){return mg};var by=function(){};by.prototype.interfaces_=function(){return[]},by.prototype.getClass=function(){return by},by.computeDistance=function(){if(arguments[2]instanceof mg&&arguments[0]instanceof vA&&arguments[1]instanceof ir)for(var V=arguments[0],j=arguments[1],te=arguments[2],ne=V.getCoordinates(),ce=new Jo,pe=0;pe0||this._isIn?dr.INTERIOR:dr.EXTERIOR)},qC.prototype.interfaces_=function(){return[]},qC.prototype.getClass=function(){return qC};var Cg=function V(){if(this._component=null,this._segIndex=null,this._pt=null,arguments.length===2){var j=arguments[0],te=arguments[1];V.call(this,j,V.INSIDE_AREA,te)}else if(arguments.length===3){var ne=arguments[0],ce=arguments[1],pe=arguments[2];this._component=ne,this._segIndex=ce,this._pt=pe}},fj={INSIDE_AREA:{configurable:!0}};Cg.prototype.isInsideArea=function(){return this._segIndex===Cg.INSIDE_AREA},Cg.prototype.getCoordinate=function(){return this._pt},Cg.prototype.getGeometryComponent=function(){return this._component},Cg.prototype.getSegmentIndex=function(){return this._segIndex},Cg.prototype.interfaces_=function(){return[]},Cg.prototype.getClass=function(){return Cg},fj.INSIDE_AREA.get=function(){return-1},Object.defineProperties(Cg,fj);var Qy=function(V){this._pts=V||null};Qy.prototype.filter=function(V){V instanceof H0&&this._pts.add(V)},Qy.prototype.interfaces_=function(){return[YE]},Qy.prototype.getClass=function(){return Qy},Qy.getPoints=function(){if(arguments.length===1){var V=arguments[0];return V instanceof H0?Fm.singletonList(V):Qy.getPoints(V,new je)}if(arguments.length===2){var j=arguments[0],te=arguments[1];return j instanceof H0?te.add(j):j instanceof hg&&j.apply(new Qy(te)),te}};var V1=function(){this._locations=null;var V=arguments[0];this._locations=V};V1.prototype.filter=function(V){(V instanceof H0||V instanceof vA||V instanceof Yc)&&this._locations.add(new Cg(V,0,V.getCoordinate()))},V1.prototype.interfaces_=function(){return[YE]},V1.prototype.getClass=function(){return V1},V1.getLocations=function(V){var j=new je;return V.apply(new V1(j)),j};var Td=function(){if(this._geom=null,this._terminateDistance=0,this._ptLocator=new qC,this._minDistanceLocation=null,this._minDistance=Na.MAX_VALUE,arguments.length===2){var V=arguments[0],j=arguments[1];this._geom=[V,j],this._terminateDistance=0}else if(arguments.length===3){var te=arguments[0],ne=arguments[1],ce=arguments[2];this._geom=new Array(2).fill(null),this._geom[0]=te,this._geom[1]=ne,this._terminateDistance=ce}};Td.prototype.computeContainmentDistance=function(){var V=this;if(arguments.length===0){var j=new Array(2).fill(null);if(this.computeContainmentDistance(0,j),this._minDistance<=this._terminateDistance)return null;this.computeContainmentDistance(1,j)}else if(arguments.length===2){var te=arguments[0],ne=arguments[1],ce=1-te,pe=u_.getPolygons(this._geom[te]);if(pe.size()>0){var Ee=V1.getLocations(this._geom[ce]);if(this.computeContainmentDistance(Ee,pe,ne),this._minDistance<=this._terminateDistance)return this._minDistanceLocation[ce]=ne[0],this._minDistanceLocation[te]=ne[1],null}}else if(arguments.length===3){if(arguments[2]instanceof Array&&pa(arguments[0],xe)&&pa(arguments[1],xe)){for(var _e=arguments[0],Qe=arguments[1],Me=arguments[2],Ye=0;Ye<_e.size();Ye++)for(var He=_e.get(Ye),tt=0;ttthis._minDistance)return null;for(var ce=j.getCoordinates(),pe=te.getCoordinate(),Ee=0;Eethis._minDistance)return null;for(var At=Ye.getCoordinates(),st=He.getCoordinates(),ft=0;ftthis._distance&&this.initialize(j,te,ne)}},Hf.prototype.interfaces_=function(){return[]},Hf.prototype.getClass=function(){return Hf};var ex=function(){};ex.prototype.interfaces_=function(){return[]},ex.prototype.getClass=function(){return ex},ex.computeDistance=function(){if(arguments[2]instanceof Hf&&arguments[0]instanceof vA&&arguments[1]instanceof ir)for(var V=arguments[0],j=arguments[1],te=arguments[2],ne=new Jo,ce=V.getCoordinates(),pe=0;pe1||V<=0)throw new fA("Fraction is not in range (0.0 - 1.0]");this._densifyFrac=V},Nm.prototype.compute=function(V,j){this.computeOrientedDistance(V,j,this._ptDist),this.computeOrientedDistance(j,V,this._ptDist)},Nm.prototype.distance=function(){return this.compute(this._g0,this._g1),this._ptDist.getDistance()},Nm.prototype.computeOrientedDistance=function(V,j,te){var ne=new SS(j);if(V.apply(ne),te.setMaximum(ne.getMaxPointDistance()),this._densifyFrac>0){var ce=new BB(j,this._densifyFrac);V.apply(ce),te.setMaximum(ce.getMaxPointDistance())}},Nm.prototype.orientedDistance=function(){return this.computeOrientedDistance(this._g0,this._g1,this._ptDist),this._ptDist.getDistance()},Nm.prototype.interfaces_=function(){return[]},Nm.prototype.getClass=function(){return Nm},Nm.distance=function(){if(arguments.length===2){var V=arguments[0],j=arguments[1],te=new Nm(V,j);return te.distance()}if(arguments.length===3){var ne=arguments[0],ce=arguments[1],pe=arguments[2],Ee=new Nm(ne,ce);return Ee.setDensifyFraction(pe),Ee.distance()}},$L.MaxPointDistanceFilter.get=function(){return SS},$L.MaxDensifiedByFractionDistanceFilter.get=function(){return BB},Object.defineProperties(Nm,$L);var SS=function(){this._maxPtDist=new Hf,this._minPtDist=new Hf,this._euclideanDist=new ex,this._geom=null;var V=arguments[0];this._geom=V};SS.prototype.filter=function(V){this._minPtDist.initialize(),ex.computeDistance(this._geom,V,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},SS.prototype.getMaxPointDistance=function(){return this._maxPtDist},SS.prototype.interfaces_=function(){return[JC]},SS.prototype.getClass=function(){return SS};var BB=function(){this._maxPtDist=new Hf,this._minPtDist=new Hf,this._geom=null,this._numSubSegs=0;var V=arguments[0],j=arguments[1];this._geom=V,this._numSubSegs=Math.trunc(Math.round(1/j))};BB.prototype.filter=function(V,j){var te=this;if(j===0)return null;for(var ne=V.getCoordinate(j-1),ce=V.getCoordinate(j),pe=(ce.x-ne.x)/this._numSubSegs,Ee=(ce.y-ne.y)/this._numSubSegs,_e=0;_ete){this._isValid=!1;var ce=ne.getCoordinates();this._errorLocation=ce[1],this._errorIndicator=V.getFactory().createLineString(ce),this._errMsg="Distance between buffer curve and input is too large ("+this._maxDistanceFound+" at "+Lp.toLineString(ce[0],ce[1])+")"}},z0.prototype.isValid=function(){var V=Math.abs(this._bufDistance),j=z0.MAX_DISTANCE_DIFF_FRAC*V;return this._minValidDistance=V-j,this._maxValidDistance=V+j,!(!this._input.isEmpty()&&!this._result.isEmpty())||(this._bufDistance>0?this.checkPositiveValid():this.checkNegativeValid(),z0.VERBOSE&&nd.out.println("Min Dist= "+this._minDistanceFound+" err= "+(1-this._minDistanceFound/this._bufDistance)+" Max Dist= "+this._maxDistanceFound+" err= "+(this._maxDistanceFound/this._bufDistance-1)),this._isValid)},z0.prototype.checkNegativeValid=function(){if(!(this._input instanceof Yc||this._input instanceof yy||this._input instanceof hg))return null;var V=this.getPolygonLines(this._input);if(this.checkMinimumDistance(V,this._result,this._minValidDistance),!this._isValid)return null;this.checkMaximumDistance(V,this._result,this._maxValidDistance)},z0.prototype.getErrorIndicator=function(){return this._errorIndicator},z0.prototype.checkMinimumDistance=function(V,j,te){var ne=new Td(V,j,te);if(this._minDistanceFound=ne.distance(),this._minDistanceFound0&&V>j&&(this._isValid=!1,this._errorMsg="Area of positive buffer is smaller than input",this._errorIndicator=this._result),this._distance<0&&V=2||this._distance>0?null:(this._result.isEmpty()||(this._isValid=!1,this._errorMsg="Result is non-empty",this._errorIndicator=this._result),void this.report("ExpectedEmpty"))},od.prototype.report=function(V){if(!od.VERBOSE)return null;nd.out.println("Check "+V+": "+(this._isValid?"passed":"FAILED"))},od.prototype.getErrorMessage=function(){return this._errorMsg},od.prototype.interfaces_=function(){return[]},od.prototype.getClass=function(){return od},od.isValidMsg=function(V,j,te){var ne=new od(V,j,te);return ne.isValid()?null:ne.getErrorMessage()},od.isValid=function(V,j,te){return!!new od(V,j,te).isValid()},S6.VERBOSE.get=function(){return!1},S6.MAX_ENV_DIFF_FRAC.get=function(){return .012},Object.defineProperties(od,S6);var tx=function(){this._pts=null,this._data=null;var V=arguments[0],j=arguments[1];this._pts=V,this._data=j};tx.prototype.getCoordinates=function(){return this._pts},tx.prototype.size=function(){return this._pts.length},tx.prototype.getCoordinate=function(V){return this._pts[V]},tx.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},tx.prototype.getSegmentOctant=function(V){return V===this._pts.length-1?-1:wS.octant(this.getCoordinate(V),this.getCoordinate(V+1))},tx.prototype.setData=function(V){this._data=V},tx.prototype.getData=function(){return this._data},tx.prototype.toString=function(){return Lp.toLineString(new Jc(this._pts))},tx.prototype.interfaces_=function(){return[_y]},tx.prototype.getClass=function(){return tx};var Md=function(){this._findAllIntersections=!1,this._isCheckEndSegmentsOnly=!1,this._li=null,this._interiorIntersection=null,this._intSegments=null,this._intersections=new je,this._intersectionCount=0,this._keepIntersections=!0;var V=arguments[0];this._li=V,this._interiorIntersection=null};Md.prototype.getInteriorIntersection=function(){return this._interiorIntersection},Md.prototype.setCheckEndSegmentsOnly=function(V){this._isCheckEndSegmentsOnly=V},Md.prototype.getIntersectionSegments=function(){return this._intSegments},Md.prototype.count=function(){return this._intersectionCount},Md.prototype.getIntersections=function(){return this._intersections},Md.prototype.setFindAllIntersections=function(V){this._findAllIntersections=V},Md.prototype.setKeepIntersections=function(V){this._keepIntersections=V},Md.prototype.processIntersections=function(V,j,te,ne){if(!this._findAllIntersections&&this.hasIntersection()||V===te&&j===ne||this._isCheckEndSegmentsOnly&&!(this.isEndSegment(V,j)||this.isEndSegment(te,ne)))return null;var ce=V.getCoordinates()[j],pe=V.getCoordinates()[j+1],Ee=te.getCoordinates()[ne],_e=te.getCoordinates()[ne+1];this._li.computeIntersection(ce,pe,Ee,_e),this._li.hasIntersection()&&this._li.isInteriorIntersection()&&(this._intSegments=new Array(4).fill(null),this._intSegments[0]=ce,this._intSegments[1]=pe,this._intSegments[2]=Ee,this._intSegments[3]=_e,this._interiorIntersection=this._li.getIntersection(0),this._keepIntersections&&this._intersections.add(this._interiorIntersection),this._intersectionCount++)},Md.prototype.isEndSegment=function(V,j){return j===0||j>=V.size()-2},Md.prototype.hasIntersection=function(){return this._interiorIntersection!==null},Md.prototype.isDone=function(){return!this._findAllIntersections&&this._interiorIntersection!==null},Md.prototype.interfaces_=function(){return[U1]},Md.prototype.getClass=function(){return Md},Md.createAllIntersectionsFinder=function(V){var j=new Md(V);return j.setFindAllIntersections(!0),j},Md.createAnyIntersectionFinder=function(V){return new Md(V)},Md.createIntersectionCounter=function(V){var j=new Md(V);return j.setFindAllIntersections(!0),j.setKeepIntersections(!1),j};var XC=function(){this._li=new r_,this._segStrings=null,this._findAllIntersections=!1,this._segInt=null,this._isValid=!0;var V=arguments[0];this._segStrings=V};XC.prototype.execute=function(){if(this._segInt!==null)return null;this.checkInteriorIntersections()},XC.prototype.getIntersections=function(){return this._segInt.getIntersections()},XC.prototype.isValid=function(){return this.execute(),this._isValid},XC.prototype.setFindAllIntersections=function(V){this._findAllIntersections=V},XC.prototype.checkInteriorIntersections=function(){this._isValid=!0,this._segInt=new Md(this._li),this._segInt.setFindAllIntersections(this._findAllIntersections);var V=new w6;if(V.setSegmentIntersector(this._segInt),V.computeNodes(this._segStrings),this._segInt.hasIntersection())return this._isValid=!1,null},XC.prototype.checkValid=function(){if(this.execute(),!this._isValid)throw new dg(this.getErrorMessage(),this._segInt.getInteriorIntersection())},XC.prototype.getErrorMessage=function(){if(this._isValid)return"no intersections found";var V=this._segInt.getIntersectionSegments();return"found non-noded intersection between "+Lp.toLineString(V[0],V[1])+" and "+Lp.toLineString(V[2],V[3])},XC.prototype.interfaces_=function(){return[]},XC.prototype.getClass=function(){return XC},XC.computeIntersections=function(V){var j=new XC(V);return j.setFindAllIntersections(!0),j.isValid(),j.getIntersections()};var A_=function V(){this._nv=null;var j=arguments[0];this._nv=new XC(V.toSegmentStrings(j))};A_.prototype.checkValid=function(){this._nv.checkValid()},A_.prototype.interfaces_=function(){return[]},A_.prototype.getClass=function(){return A_},A_.toSegmentStrings=function(V){for(var j=new je,te=V.iterator();te.hasNext();){var ne=te.next();j.add(new tx(ne.getCoordinates(),ne))}return j},A_.checkValid=function(V){new A_(V).checkValid()};var DS=function(V){this._mapOp=V};DS.prototype.map=function(V){for(var j=new je,te=0;te0&&ne<4&&!this._preserveType?this._factory.createLineString(te):this._factory.createLinearRing(te)},r0.prototype.interfaces_=function(){return[]},r0.prototype.getClass=function(){return r0};var Sy=function V(){if(this._snapTolerance=0,this._srcPts=null,this._seg=new Jo,this._allowSnappingToSourceVertices=!1,this._isClosed=!1,arguments[0]instanceof vA&&typeof arguments[1]=="number"){var j=arguments[0],te=arguments[1];V.call(this,j.getCoordinates(),te)}else if(arguments[0]instanceof Array&&typeof arguments[1]=="number"){var ne=arguments[0],ce=arguments[1];this._srcPts=ne,this._isClosed=V.isClosed(ne),this._snapTolerance=ce}};Sy.prototype.snapVertices=function(V,j){for(var te=this._isClosed?V.size()-1:V.size(),ne=0;ne=0&&V.add(pe+1,new ir(ce),!1)}},Sy.prototype.findSegmentIndexToSnap=function(V,j){for(var te=this,ne=Na.MAX_VALUE,ce=-1,pe=0;pej&&(j=ne)}return j}if(arguments.length===2){var ce=arguments[0],pe=arguments[1];return Math.min(jc.computeOverlaySnapTolerance(ce),jc.computeOverlaySnapTolerance(pe))}},jc.computeSizeBasedSnapTolerance=function(V){var j=V.getEnvelopeInternal();return Math.min(j.getHeight(),j.getWidth())*jc.SNAP_PRECISION_FACTOR},jc.snapToSelf=function(V,j,te){return new jc(V).snapToSelf(j,te)},D6.SNAP_PRECISION_FACTOR.get=function(){return 1e-9},Object.defineProperties(jc,D6);var gj=function(V){function j(te,ne,ce){V.call(this),this._snapTolerance=te||null,this._snapPts=ne||null,this._isSelfSnap=ce!==void 0&&ce}return V&&(j.__proto__=V),j.prototype=Object.create(V&&V.prototype),j.prototype.constructor=j,j.prototype.snapLine=function(te,ne){var ce=new Sy(te,this._snapTolerance);return ce.setAllowSnappingToSourceVertices(this._isSelfSnap),ce.snapTo(ne)},j.prototype.transformCoordinates=function(te,ne){var ce=te.toCoordinateArray(),pe=this.snapLine(ce,this._snapPts);return this._factory.getCoordinateSequenceFactory().create(pe)},j.prototype.interfaces_=function(){return[]},j.prototype.getClass=function(){return j},j}(r0),Eg=function(){this._isFirst=!0,this._commonMantissaBitsCount=53,this._commonBits=0,this._commonSignExp=null};Eg.prototype.getCommon=function(){return Na.longBitsToDouble(this._commonBits)},Eg.prototype.add=function(V){var j=Na.doubleToLongBits(V);return this._isFirst?(this._commonBits=j,this._commonSignExp=Eg.signExpBits(this._commonBits),this._isFirst=!1,null):Eg.signExpBits(j)!==this._commonSignExp?(this._commonBits=0,null):(this._commonMantissaBitsCount=Eg.numCommonMostSigMantissaBits(this._commonBits,j),void(this._commonBits=Eg.zeroLowerBits(this._commonBits,64-(12+this._commonMantissaBitsCount))))},Eg.prototype.toString=function(){if(arguments.length===1){var V=arguments[0],j=Na.longBitsToDouble(V),te=Na.toBinaryString(V),ne="0000000000000000000000000000000000000000000000000000000000000000"+te,ce=ne.substring(ne.length-64),pe=ce.substring(0,1)+" "+ce.substring(1,12)+"(exp) "+ce.substring(12)+" [ "+j+" ]";return pe}},Eg.prototype.interfaces_=function(){return[]},Eg.prototype.getClass=function(){return Eg},Eg.getBit=function(V,j){return V&1<>52},Eg.zeroLowerBits=function(V,j){return V&~((1<=0;ne--){if(Eg.getBit(V,ne)!==Eg.getBit(j,ne))return te;te++}return 52};var wB=function(){this._commonCoord=null,this._ccFilter=new bB},eF={CommonCoordinateFilter:{configurable:!0},Translater:{configurable:!0}};wB.prototype.addCommonBits=function(V){var j=new QB(this._commonCoord);V.apply(j),V.geometryChanged()},wB.prototype.removeCommonBits=function(V){if(this._commonCoord.x===0&&this._commonCoord.y===0)return V;var j=new ir(this._commonCoord);j.x=-j.x,j.y=-j.y;var te=new QB(j);return V.apply(te),V.geometryChanged(),V},wB.prototype.getCommonCoordinate=function(){return this._commonCoord},wB.prototype.add=function(V){V.apply(this._ccFilter),this._commonCoord=this._ccFilter.getCommonCoordinate()},wB.prototype.interfaces_=function(){return[]},wB.prototype.getClass=function(){return wB},eF.CommonCoordinateFilter.get=function(){return bB},eF.Translater.get=function(){return QB},Object.defineProperties(wB,eF);var bB=function(){this._commonBitsX=new Eg,this._commonBitsY=new Eg};bB.prototype.filter=function(V){this._commonBitsX.add(V.x),this._commonBitsY.add(V.y)},bB.prototype.getCommonCoordinate=function(){return new ir(this._commonBitsX.getCommon(),this._commonBitsY.getCommon())},bB.prototype.interfaces_=function(){return[JC]},bB.prototype.getClass=function(){return bB};var QB=function(){this.trans=null;var V=arguments[0];this.trans=V};QB.prototype.filter=function(V,j){var te=V.getOrdinate(j,0)+this.trans.x,ne=V.getOrdinate(j,1)+this.trans.y;V.setOrdinate(j,0,te),V.setOrdinate(j,1,ne)},QB.prototype.isDone=function(){return!1},QB.prototype.isGeometryChanged=function(){return!0},QB.prototype.interfaces_=function(){return[WC]},QB.prototype.getClass=function(){return QB};var Pd=function(V,j){this._geom=new Array(2).fill(null),this._snapTolerance=null,this._cbr=null,this._geom[0]=V,this._geom[1]=j,this.computeSnapTolerance()};Pd.prototype.selfSnap=function(V){return new jc(V).snapTo(V,this._snapTolerance)},Pd.prototype.removeCommonBits=function(V){this._cbr=new wB,this._cbr.add(V[0]),this._cbr.add(V[1]);var j=new Array(2).fill(null);return j[0]=this._cbr.removeCommonBits(V[0].copy()),j[1]=this._cbr.removeCommonBits(V[1].copy()),j},Pd.prototype.prepareResult=function(V){return this._cbr.addCommonBits(V),V},Pd.prototype.getResultGeometry=function(V){var j=this.snap(this._geom),te=qe.overlayOp(j[0],j[1],V);return this.prepareResult(te)},Pd.prototype.checkValid=function(V){V.isValid()||nd.out.println("Snapped geometry is invalid")},Pd.prototype.computeSnapTolerance=function(){this._snapTolerance=jc.computeOverlaySnapTolerance(this._geom[0],this._geom[1])},Pd.prototype.snap=function(V){var j=this.removeCommonBits(V);return jc.snap(j[0],j[1],this._snapTolerance)},Pd.prototype.interfaces_=function(){return[]},Pd.prototype.getClass=function(){return Pd},Pd.overlayOp=function(V,j,te){return new Pd(V,j).getResultGeometry(te)},Pd.union=function(V,j){return Pd.overlayOp(V,j,qe.UNION)},Pd.intersection=function(V,j){return Pd.overlayOp(V,j,qe.INTERSECTION)},Pd.symDifference=function(V,j){return Pd.overlayOp(V,j,qe.SYMDIFFERENCE)},Pd.difference=function(V,j){return Pd.overlayOp(V,j,qe.DIFFERENCE)};var xg=function(V,j){this._geom=new Array(2).fill(null),this._geom[0]=V,this._geom[1]=j};xg.prototype.getResultGeometry=function(V){var j=null,te=!1,ne=null;try{j=qe.overlayOp(this._geom[0],this._geom[1],V),te=!0}catch(ce){if(!(ce instanceof HE))throw ce;ne=ce}if(!te)try{j=Pd.overlayOp(this._geom[0],this._geom[1],V)}catch(ce){throw ce instanceof HE?ne:ce}return j},xg.prototype.interfaces_=function(){return[]},xg.prototype.getClass=function(){return xg},xg.overlayOp=function(V,j,te){return new xg(V,j).getResultGeometry(te)},xg.union=function(V,j){return xg.overlayOp(V,j,qe.UNION)},xg.intersection=function(V,j){return xg.overlayOp(V,j,qe.INTERSECTION)},xg.symDifference=function(V,j){return xg.overlayOp(V,j,qe.SYMDIFFERENCE)},xg.difference=function(V,j){return xg.overlayOp(V,j,qe.DIFFERENCE)};var tF=function(){this.mce=null,this.chainIndex=null;var V=arguments[0],j=arguments[1];this.mce=V,this.chainIndex=j};tF.prototype.computeIntersections=function(V,j){this.mce.computeIntersectsForChain(this.chainIndex,V.mce,V.chainIndex,j)},tF.prototype.interfaces_=function(){return[]},tF.prototype.getClass=function(){return tF};var J0=function V(){if(this._label=null,this._xValue=null,this._eventType=null,this._insertEvent=null,this._deleteEventIndex=null,this._obj=null,arguments.length===2){var j=arguments[0],te=arguments[1];this._eventType=V.DELETE,this._xValue=j,this._insertEvent=te}else if(arguments.length===3){var ne=arguments[0],ce=arguments[1],pe=arguments[2];this._eventType=V.INSERT,this._label=ne,this._xValue=ce,this._obj=pe}},T6={INSERT:{configurable:!0},DELETE:{configurable:!0}};J0.prototype.isDelete=function(){return this._eventType===J0.DELETE},J0.prototype.setDeleteEventIndex=function(V){this._deleteEventIndex=V},J0.prototype.getObject=function(){return this._obj},J0.prototype.compareTo=function(V){var j=V;return this._xValuej._xValue?1:this._eventTypej._eventType?1:0},J0.prototype.getInsertEvent=function(){return this._insertEvent},J0.prototype.isInsert=function(){return this._eventType===J0.INSERT},J0.prototype.isSameLabel=function(V){return this._label!==null&&this._label===V._label},J0.prototype.getDeleteEventIndex=function(){return this._deleteEventIndex},J0.prototype.interfaces_=function(){return[Xg]},J0.prototype.getClass=function(){return J0},T6.INSERT.get=function(){return 1},T6.DELETE.get=function(){return 2},Object.defineProperties(J0,T6);var XO=function(){};XO.prototype.interfaces_=function(){return[]},XO.prototype.getClass=function(){return XO};var hf=function(){this._hasIntersection=!1,this._hasProper=!1,this._hasProperInterior=!1,this._properIntersectionPoint=null,this._li=null,this._includeProper=null,this._recordIsolated=null,this._isSelfIntersection=null,this._numIntersections=0,this.numTests=0,this._bdyNodes=null,this._isDone=!1,this._isDoneWhenProperInt=!1;var V=arguments[0],j=arguments[1],te=arguments[2];this._li=V,this._includeProper=j,this._recordIsolated=te};hf.prototype.isTrivialIntersection=function(V,j,te,ne){if(V===te&&this._li.getIntersectionNum()===1){if(hf.isAdjacentSegments(j,ne))return!0;if(V.isClosed()){var ce=V.getNumPoints()-1;if(j===0&&ne===ce||ne===0&&j===ce)return!0}}return!1},hf.prototype.getProperIntersectionPoint=function(){return this._properIntersectionPoint},hf.prototype.setIsDoneIfProperInt=function(V){this._isDoneWhenProperInt=V},hf.prototype.hasProperInteriorIntersection=function(){return this._hasProperInterior},hf.prototype.isBoundaryPointInternal=function(V,j){for(var te=j.iterator();te.hasNext();){var ne=te.next().getCoordinate();if(V.isIntersection(ne))return!0}return!1},hf.prototype.hasProperIntersection=function(){return this._hasProper},hf.prototype.hasIntersection=function(){return this._hasIntersection},hf.prototype.isDone=function(){return this._isDone},hf.prototype.isBoundaryPoint=function(V,j){return j!==null&&(!!this.isBoundaryPointInternal(V,j[0])||!!this.isBoundaryPointInternal(V,j[1]))},hf.prototype.setBoundaryNodes=function(V,j){this._bdyNodes=new Array(2).fill(null),this._bdyNodes[0]=V,this._bdyNodes[1]=j},hf.prototype.addIntersections=function(V,j,te,ne){if(V===te&&j===ne)return null;this.numTests++;var ce=V.getCoordinates()[j],pe=V.getCoordinates()[j+1],Ee=te.getCoordinates()[ne],_e=te.getCoordinates()[ne+1];this._li.computeIntersection(ce,pe,Ee,_e),this._li.hasIntersection()&&(this._recordIsolated&&(V.setIsolated(!1),te.setIsolated(!1)),this._numIntersections++,this.isTrivialIntersection(V,j,te,ne)||(this._hasIntersection=!0,!this._includeProper&&this._li.isProper()||(V.addIntersections(this._li,j,0),te.addIntersections(this._li,ne,1)),this._li.isProper()&&(this._properIntersectionPoint=this._li.getIntersection(0).copy(),this._hasProper=!0,this._isDoneWhenProperInt&&(this._isDone=!0),this.isBoundaryPoint(this._li,this._bdyNodes)||(this._hasProperInterior=!0))))},hf.prototype.interfaces_=function(){return[]},hf.prototype.getClass=function(){return hf},hf.isAdjacentSegments=function(V,j){return Math.abs(V-j)===1};var sue=function(V){function j(){V.call(this),this.events=new je,this.nOverlaps=null}return V&&(j.__proto__=V),j.prototype=Object.create(V&&V.prototype),j.prototype.constructor=j,j.prototype.prepareEvents=function(){Fm.sort(this.events);for(var te=0;tej||this._maxpe?1:0},iF.prototype.interfaces_=function(){return[Q1]},iF.prototype.getClass=function(){return iF};var lue=function(V){function j(){V.call(this),this._item=null;var te=arguments[0],ne=arguments[1],ce=arguments[2];this._min=te,this._max=ne,this._item=ce}return V&&(j.__proto__=V),j.prototype=Object.create(V&&V.prototype),j.prototype.constructor=j,j.prototype.query=function(te,ne,ce){if(!this.intersects(te,ne))return null;ce.visitItem(this._item)},j.prototype.interfaces_=function(){return[]},j.prototype.getClass=function(){return j},j}(Dy),uue=function(V){function j(){V.call(this),this._node1=null,this._node2=null;var te=arguments[0],ne=arguments[1];this._node1=te,this._node2=ne,this.buildExtent(this._node1,this._node2)}return V&&(j.__proto__=V),j.prototype=Object.create(V&&V.prototype),j.prototype.constructor=j,j.prototype.buildExtent=function(te,ne){this._min=Math.min(te._min,ne._min),this._max=Math.max(te._max,ne._max)},j.prototype.query=function(te,ne,ce){if(!this.intersects(te,ne))return null;this._node1!==null&&this._node1.query(te,ne,ce),this._node2!==null&&this._node2.query(te,ne,ce)},j.prototype.interfaces_=function(){return[]},j.prototype.getClass=function(){return j},j}(Dy),Ty=function(){this._leaves=new je,this._root=null,this._level=0};Ty.prototype.buildTree=function(){Fm.sort(this._leaves,new Dy.NodeComparator);for(var V=this._leaves,j=null,te=new je;;){if(this.buildLevel(V,te),te.size()===1)return te.get(0);j=V,V=te,te=j}},Ty.prototype.insert=function(V,j,te){if(this._root!==null)throw new Error("Index cannot be added to once it has been queried");this._leaves.add(new lue(V,j,te))},Ty.prototype.query=function(V,j,te){this.init(),this._root.query(V,j,te)},Ty.prototype.buildRoot=function(){if(this._root!==null)return null;this._root=this.buildTree()},Ty.prototype.printNode=function(V){nd.out.println(Lp.toLineString(new ir(V._min,this._level),new ir(V._max,this._level)))},Ty.prototype.init=function(){if(this._root!==null)return null;this.buildRoot()},Ty.prototype.buildLevel=function(V,j){this._level++,j.clear();for(var te=0;te=2,"found LineString with single point"),this.insertBoundaryPoint(this._argIndex,ne[0]),this.insertBoundaryPoint(this._argIndex,ne[ne.length-1])},j.prototype.getInvalidPoint=function(){return this._invalidPoint},j.prototype.getBoundaryPoints=function(){for(var te=this.getBoundaryNodes(),ne=new Array(te.size()).fill(null),ce=0,pe=te.iterator();pe.hasNext();){var Ee=pe.next();ne[ce++]=Ee.getCoordinate().copy()}return ne},j.prototype.getBoundaryNodes=function(){return this._boundaryNodes===null&&(this._boundaryNodes=this._nodes.getBoundaryNodes(this._argIndex)),this._boundaryNodes},j.prototype.addSelfIntersectionNode=function(te,ne,ce){if(this.isBoundaryNode(te,ne))return null;ce===dr.BOUNDARY&&this._useBoundaryDeterminationRule?this.insertBoundaryPoint(te,ne):this.insertPoint(te,ne,ce)},j.prototype.addPolygonRing=function(te,ne,ce){if(te.isEmpty())return null;var pe=$t.removeRepeatedPoints(te.getCoordinates());if(pe.length<4)return this._hasTooFewPoints=!0,this._invalidPoint=pe[0],null;var Ee=ne,_e=ce;Gn.isCCW(pe)&&(Ee=ce,_e=ne);var Qe=new XL(pe,new Pa(this._argIndex,dr.BOUNDARY,Ee,_e));this._lineEdgeMap.put(te,Qe),this.insertEdge(Qe),this.insertPoint(this._argIndex,pe[0],dr.BOUNDARY)},j.prototype.insertPoint=function(te,ne,ce){var pe=this._nodes.addNode(ne),Ee=pe.getLabel();Ee===null?pe._label=new Pa(te,ce):Ee.setLocation(te,ce)},j.prototype.createEdgeSetIntersector=function(){return new sue},j.prototype.addSelfIntersectionNodes=function(te){for(var ne=this._edges.iterator();ne.hasNext();)for(var ce=ne.next(),pe=ce.getLabel().getLocation(te),Ee=ce.eiList.iterator();Ee.hasNext();){var _e=Ee.next();this.addSelfIntersectionNode(te,_e.coord,pe)}},j.prototype.add=function(){if(arguments.length!==1)return V.prototype.add.apply(this,arguments);var te=arguments[0];if(te.isEmpty())return null;if(te instanceof yy&&(this._useBoundaryDeterminationRule=!1),te instanceof Yc)this.addPolygon(te);else if(te instanceof vA)this.addLineString(te);else if(te instanceof H0)this.addPoint(te);else if(te instanceof _S)this.addCollection(te);else if(te instanceof Ey)this.addCollection(te);else if(te instanceof yy)this.addCollection(te);else{if(!(te instanceof hg))throw new Error(te.getClass().getName());this.addCollection(te)}},j.prototype.addCollection=function(te){for(var ne=0;ne50?(this._areaPtLocator===null&&(this._areaPtLocator=new zM(this._parentGeom)),this._areaPtLocator.locate(te)):this._ptLocator.locate(te,this._parentGeom)},j.prototype.findEdge=function(){if(arguments.length===1){var te=arguments[0];return this._lineEdgeMap.get(te)}return V.prototype.findEdge.apply(this,arguments)},j.prototype.interfaces_=function(){return[]},j.prototype.getClass=function(){return j},j.determineBoundary=function(te,ne){return te.isInBoundary(ne)?dr.BOUNDARY:dr.INTERIOR},j}(GA),ye=function(){if(this._li=new r_,this._resultPrecisionModel=null,this._arg=null,arguments.length===1){var V=arguments[0];this.setComputationPrecision(V.getPrecisionModel()),this._arg=new Array(1).fill(null),this._arg[0]=new rF(0,V)}else if(arguments.length===2){var j=arguments[0],te=arguments[1],ne=G0.OGC_SFS_BOUNDARY_RULE;j.getPrecisionModel().compareTo(te.getPrecisionModel())>=0?this.setComputationPrecision(j.getPrecisionModel()):this.setComputationPrecision(te.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new rF(0,j,ne),this._arg[1]=new rF(1,te,ne)}else if(arguments.length===3){var ce=arguments[0],pe=arguments[1],Ee=arguments[2];ce.getPrecisionModel().compareTo(pe.getPrecisionModel())>=0?this.setComputationPrecision(ce.getPrecisionModel()):this.setComputationPrecision(pe.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new rF(0,ce,Ee),this._arg[1]=new rF(1,pe,Ee)}};ye.prototype.getArgGeometry=function(V){return this._arg[V].getGeometry()},ye.prototype.setComputationPrecision=function(V){this._resultPrecisionModel=V,this._li.setPrecisionModel(this._resultPrecisionModel)},ye.prototype.interfaces_=function(){return[]},ye.prototype.getClass=function(){return ye};var De=function(){};De.prototype.interfaces_=function(){return[]},De.prototype.getClass=function(){return De},De.map=function(){if(arguments[0]instanceof ua&&pa(arguments[1],De.MapOp)){for(var V=arguments[0],j=arguments[1],te=new je,ne=0;ne=V.size()?null:V.get(j)},Nr.union=function(V){return new Nr(V).union()},sn.STRTREE_NODE_CAPACITY.get=function(){return 4},Object.defineProperties(Nr,sn);var gn=function(){};function ro(){return new ta}function ta(){this.reset()}gn.prototype.interfaces_=function(){return[]},gn.prototype.getClass=function(){return gn},gn.union=function(V,j){if(V.isEmpty()||j.isEmpty()){if(V.isEmpty()&&j.isEmpty())return qe.createEmptyResult(qe.UNION,V,j,V.getFactory());if(V.isEmpty())return j.copy();if(j.isEmpty())return V.copy()}return V.checkNotGeometryCollection(V),V.checkNotGeometryCollection(j),xg.overlayOp(V,j,qe.UNION)},ta.prototype={constructor:ta,reset:function(){this.s=this.t=0},add:function(V){gl(Wa,V,this.t),gl(this,Wa.s,this.s),this.s?this.t+=Wa.t:this.s=Wa.t},valueOf:function(){return this.s}};var Wa=new ta;function gl(V,j,te){var ne=V.s=j+te,ce=ne-j,pe=ne-ce;V.t=j-pe+(te-ce)}var mo=1e-6,Oo=Math.PI,Rs=Oo/2,Om=Oo/4,fh=2*Oo,df=180/Oo,Hu=Oo/180,VA=Math.abs,SB=Math.atan,MS=Math.atan2,Rd=Math.cos,Ld=Math.sin,P6=Math.sqrt;function dRe(V){return V>1?0:V<-1?Oo:Math.acos(V)}function ZO(V){return V>1?Rs:V<-1?-Rs:Math.asin(V)}function R6(){}function mj(V,j){V&&gRe.hasOwnProperty(V.type)&&gRe[V.type](V,j)}var fRe={Feature:function(V,j){mj(V.geometry,j)},FeatureCollection:function(V,j){for(var te=V.features,ne=-1,ce=te.length;++neOo?V-fh:V<-Oo?V+fh:V,j]}function CRe(V){return function(j,te){return[(j+=V)>Oo?j-fh:j<-Oo?j+fh:j,te]}}function ERe(V){var j=CRe(V);return j.invert=CRe(-V),j}function xRe(V,j){var te=Rd(V),ne=Ld(V),ce=Rd(j),pe=Ld(j);function Ee(_e,Qe){var Me=Rd(Qe),Ye=Rd(_e)*Me,He=Ld(_e)*Me,tt=Ld(Qe),At=tt*te+Ye*ne;return[MS(He*ce-At*pe,Ye*te-tt*ne),ZO(At*ce+He*pe)]}return Ee.invert=function(_e,Qe){var Me=Rd(Qe),Ye=Rd(_e)*Me,He=Ld(_e)*Me,tt=Ld(Qe),At=tt*ce-He*pe;return[MS(He*ce+tt*pe,Ye*te+At*ne),ZO(At*te-Ye*ne)]},Ee}function yRe(V,j){(j=$O(j))[0]-=V,due(j);var te=dRe(-j[1]);return((-j[2]<0?-te:te)+fh-mo)%fh}function IRe(){var V,j=[];return{point:function(te,ne){V.push([te,ne])},lineStart:function(){j.push(V=[])},lineEnd:R6,rejoin:function(){j.length>1&&j.push(j.pop().concat(j.shift()))},result:function(){var te=j;return j=[],V=null,te}}}function yj(V,j){return VA(V[0]-j[0])=0;--pe)ce.point((Ye=Me[pe])[0],Ye[1]);else ne(tt.x,tt.p.x,-1,ce);tt=tt.p}Me=(tt=tt.o).z,At=!At}while(!tt.v);ce.lineEnd()}}}function vRe(V){if(j=V.length){for(var j,te,ne=0,ce=V[0];++nej?1:V>=j?0:NaN}fue.invert=fue;var gue,wRe;(gue=BRe).length===1&&(wRe=gue,gue=function(V,j){return BRe(wRe(V),j)});function bRe(V){for(var j,te,ne,ce=V.length,pe=-1,Ee=0;++pe=0;)for(j=(ne=V[ce]).length;--j>=0;)te[--Ee]=ne[j];return te}var L6=1e9,_j=-L6;function Hgt(V,j,te,ne){function ce(Me,Ye){return V<=Me&&Me<=te&&j<=Ye&&Ye<=ne}function pe(Me,Ye,He,tt){var At=0,st=0;if(Me==null||(At=Ee(Me,He))!==(st=Ee(Ye,He))||Qe(Me,Ye)<0^He>0)do tt.point(At===0||At===3?V:te,At>1?ne:j);while((At=(At+He+4)%4)!==st);else tt.point(Ye[0],Ye[1])}function Ee(Me,Ye){return VA(Me[0]-V)0?0:3:VA(Me[0]-te)0?2:1:VA(Me[1]-j)0?1:0:Ye>0?3:2}function _e(Me,Ye){return Qe(Me.x,Ye.x)}function Qe(Me,Ye){var He=Ee(Me,1),tt=Ee(Ye,1);return He!==tt?He-tt:He===0?Ye[1]-Me[1]:He===1?Me[0]-Ye[0]:He===2?Me[1]-Ye[1]:Ye[0]-Me[0]}return function(Me){var Ye,He,tt,At,st,ft,at,kt,ri,dt,Nt,Ot=Me,Xt=IRe(),Vt={point:lr,lineStart:function(){Vt.point=ji,He&&He.push(tt=[]),dt=!0,ri=!1,at=kt=NaN},lineEnd:function(){Ye&&(ji(At,st),ft&&ri&&Xt.rejoin(),Ye.push(Xt.result())),Vt.point=lr,ri&&Ot.lineEnd()},polygonStart:function(){Ot=Xt,Ye=[],He=[],Nt=!0},polygonEnd:function(){var br=function(){for(var or=0,ar=0,Zi=He.length;arne&&(Ra-Qr)*(ne-Sr)>(ls-Sr)*(V-Qr)&&++or:ls<=ne&&(Ra-Qr)*(ne-Sr)<(ls-Sr)*(V-Qr)&&--or;return or}(),nr=Nt&&br,Lr=(Ye=bRe(Ye)).length;(nr||Lr)&&(Me.polygonStart(),nr&&(Me.lineStart(),pe(null,null,1,Me),Me.lineEnd()),Lr&&_Re(Ye,_e,br,pe,Me),Me.polygonEnd()),Ot=Me,Ye=He=tt=null}};function lr(br,nr){ce(br,nr)&&Ot.point(br,nr)}function ji(br,nr){var Lr=ce(br,nr);if(He&&tt.push([br,nr]),dt)At=br,st=nr,ft=Lr,dt=!1,Lr&&(Ot.lineStart(),Ot.point(br,nr));else if(Lr&&ri)Ot.point(br,nr);else{var or=[at=Math.max(_j,Math.min(L6,at)),kt=Math.max(_j,Math.min(L6,kt))],ar=[br=Math.max(_j,Math.min(L6,br)),nr=Math.max(_j,Math.min(L6,nr))];(function(Zi,Qr,Sr,Rr,Li,Hn){var Qn,Ra=Zi[0],ls=Zi[1],xu=0,zA=1,Il=Qr[0]-Ra,Ml=Qr[1]-ls;if(Qn=Sr-Ra,Il||!(Qn>0)){if(Qn/=Il,Il<0){if(Qn0){if(Qn>zA)return;Qn>xu&&(xu=Qn)}if(Qn=Li-Ra,Il||!(Qn<0)){if(Qn/=Il,Il<0){if(Qn>zA)return;Qn>xu&&(xu=Qn)}else if(Il>0){if(Qn0)){if(Qn/=Ml,Ml<0){if(Qn0){if(Qn>zA)return;Qn>xu&&(xu=Qn)}if(Qn=Hn-ls,Ml||!(Qn<0)){if(Qn/=Ml,Ml<0){if(Qn>zA)return;Qn>xu&&(xu=Qn)}else if(Ml>0){if(Qn0&&(Zi[0]=Ra+xu*Il,Zi[1]=ls+xu*Ml),zA<1&&(Qr[0]=Ra+zA*Il,Qr[1]=ls+zA*Ml),!0}}}}})(or,ar,V,j,te,ne)?(ri||(Ot.lineStart(),Ot.point(or[0],or[1])),Ot.point(ar[0],ar[1]),Lr||Ot.lineEnd(),Nt=!1):Lr&&(Ot.lineStart(),Ot.point(br,nr),Nt=!1)}at=br,kt=nr,ri=Lr}return Vt}}var pue=ro();ro();function QRe(V){return V}ro(),ro();var eU=1/0,vj=eU,F6=-eU,Bj=F6,SRe={point:function(V,j){VF6&&(F6=V),jBj&&(Bj=j)},lineStart:R6,lineEnd:R6,polygonStart:R6,polygonEnd:R6,result:function(){var V=[[eU,vj],[F6,Bj]];return F6=Bj=-(vj=eU=1/0),V}};ro();function DRe(V,j,te,ne){return function(ce,pe){var Ee,_e,Qe,Me=j(pe),Ye=ce.invert(ne[0],ne[1]),He=IRe(),tt=j(He),At=!1,st={point:ft,lineStart:kt,lineEnd:ri,polygonStart:function(){st.point=dt,st.lineStart=Nt,st.lineEnd=Ot,_e=[],Ee=[]},polygonEnd:function(){st.point=ft,st.lineStart=kt,st.lineEnd=ri,_e=bRe(_e);var Xt=function(Vt,lr){var ji=lr[0],br=lr[1],nr=[Ld(ji),-Rd(ji),0],Lr=0,or=0;pue.reset();for(var ar=0,Zi=Vt.length;ar=0?1:-1,k6=nF*Fd,tU=k6>Oo,bj=Qn*Ml;if(pue.add(MS(bj*nF*Ld(k6),Ra*Up+bj*Rd(k6))),Lr+=tU?Fd+nF*fh:Fd,tU^Li>=ji^zA>=ji){var iU=Ej($O(Rr),$O(xu));due(iU);var Qj=Ej(nr,iU);due(Qj);var Sj=(tU^Fd>=0?-1:1)*ZO(Qj[2]);(br>Sj||br===Sj&&(iU[0]||iU[1]))&&(or+=tU^Fd>=0?1:-1)}}return(Lr<-1e-6||Lr0){for(At||(pe.polygonStart(),At=!0),pe.lineStart(),Xt=0;Xt1&&2&br&&nr.push(nr.pop().concat(nr.shift())),_e.push(nr.filter(Vgt))}return st}}function Vgt(V){return V.length>1}function zgt(V,j){return((V=V.x)[0]<0?V[1]-Rs-mo:Rs-V[1])-((j=j.x)[0]<0?j[1]-Rs-mo:Rs-j[1])}var TRe=DRe(function(){return!0},function(V){var j,te=NaN,ne=NaN,ce=NaN;return{lineStart:function(){V.lineStart(),j=1},point:function(pe,Ee){var _e=pe>0?Oo:-Oo,Qe=VA(pe-te);VA(Qe-Oo)0?Rs:-Rs),V.point(ce,ne),V.lineEnd(),V.lineStart(),V.point(_e,ne),V.point(pe,ne),j=0):ce!==_e&&Qe>=Oo&&(VA(te-ce)mo?SB((Ld(Ye)*(st=Rd(tt))*Ld(He)-Ld(tt)*(At=Rd(Ye))*Ld(Me))/(At*st*ft)):(Ye+tt)/2}(te,ne,pe,Ee),V.point(ce,ne),V.lineEnd(),V.lineStart(),V.point(_e,ne),j=0),V.point(te=pe,ne=Ee),ce=_e},lineEnd:function(){V.lineEnd(),te=ne=NaN},clean:function(){return 2-j}}},function(V,j,te,ne){var ce;if(V==null)ce=te*Rs,ne.point(-Oo,ce),ne.point(0,ce),ne.point(Oo,ce),ne.point(Oo,0),ne.point(Oo,-ce),ne.point(0,-ce),ne.point(-Oo,-ce),ne.point(-Oo,0),ne.point(-Oo,ce);else if(VA(V[0]-j[0])>mo){var pe=V[0]0,ce=VA(te)>mo;function pe(Qe,Me){return Rd(Qe)*Rd(Me)>te}function Ee(Qe,Me,Ye){var He=[1,0,0],tt=Ej($O(Qe),$O(Me)),At=Cj(tt,tt),st=tt[0],ft=At-st*st;if(!ft)return!Ye&&Qe;var at=te*At/ft,kt=-te*st/ft,ri=Ej(He,tt),dt=xj(He,at);hue(dt,xj(tt,kt));var Nt=ri,Ot=Cj(dt,Nt),Xt=Cj(Nt,Nt),Vt=Ot*Ot-Xt*(Cj(dt,dt)-1);if(!(Vt<0)){var lr=P6(Vt),ji=xj(Nt,(-Ot-lr)/Xt);if(hue(ji,dt),ji=cue(ji),!Ye)return ji;var br,nr=Qe[0],Lr=Me[0],or=Qe[1],ar=Me[1];Lr0^ji[1]<(VA(ji[0]-nr)Oo^(nr<=ji[0]&&ji[0]<=Lr)){var Sr=xj(Nt,(-Ot+lr)/Xt);return hue(Sr,dt),[ji,cue(Sr)]}}}function _e(Qe,Me){var Ye=ne?V:Oo-V,He=0;return Qe<-Ye?He|=1:Qe>Ye&&(He|=2),Me<-Ye?He|=4:Me>Ye&&(He|=8),He}return DRe(pe,function(Qe){var Me,Ye,He,tt,At;return{lineStart:function(){tt=He=!1,At=1},point:function(st,ft){var at,kt=[st,ft],ri=pe(st,ft),dt=ne?ri?0:_e(st,ft):ri?_e(st+(st<0?Oo:-Oo),ft):0;if(!Me&&(tt=He=ri)&&Qe.lineStart(),ri!==He&&(!(at=Ee(Me,kt))||yj(Me,at)||yj(kt,at))&&(kt[0]+=mo,kt[1]+=mo,ri=pe(kt[0],kt[1])),ri!==He)At=0,ri?(Qe.lineStart(),at=Ee(kt,Me),Qe.point(at[0],at[1])):(at=Ee(Me,kt),Qe.point(at[0],at[1]),Qe.lineEnd()),Me=at;else if(ce&&Me&&ne^ri){var Nt;dt&Ye||!(Nt=Ee(kt,Me,!0))||(At=0,ne?(Qe.lineStart(),Qe.point(Nt[0][0],Nt[0][1]),Qe.point(Nt[1][0],Nt[1][1]),Qe.lineEnd()):(Qe.point(Nt[1][0],Nt[1][1]),Qe.lineEnd(),Qe.lineStart(),Qe.point(Nt[0][0],Nt[0][1])))}!ri||Me&&yj(Me,kt)||Qe.point(kt[0],kt[1]),Me=kt,He=ri,Ye=dt},lineEnd:function(){He&&Qe.lineEnd(),Me=null},clean:function(){return At|(tt&&He)<<1}}},function(Qe,Me,Ye,He){(function(tt,At,st,ft,at,kt){if(st){var ri=Rd(At),dt=Ld(At),Nt=ft*st;at==null?(at=At+ft*fh,kt=At-Nt/2):(at=yRe(ri,at),kt=yRe(ri,kt),(ft>0?atkt)&&(at+=ft*fh));for(var Ot,Xt=at;ft>0?Xt>kt:Xt4*ne&&kt--){var Xt=Qe+st,Vt=Me+ft,lr=Ye+at,ji=P6(Xt*Xt+Vt*Vt+lr*lr),br=ZO(lr/=ji),nr=VA(VA(lr)-1)ne||VA((dt*Zi+Nt*Qr)/Ot-.5)>.3||Qe*st+Me*ft+Ye*at2?Zi[2]%360*Hu:0,or()):[kt*df,ri*df,dt*df]},br.precision=function(Zi){return arguments.length?(ji=RRe(Lr,lr=Zi*Zi),ar()):P6(lr)},br.fitExtent=function(Zi,Qr){return PRe(br,Zi,Qr)},br.fitSize=function(Zi,Qr){return function(Sr,Rr,Li){return PRe(Sr,[[0,0],Rr],Li)}(br,Zi,Qr)},function(){return te=j.apply(this,arguments),br.invert=te.invert&&nr,or()}}(function(){return V})()}var LRe=function(V){return function(j,te){var ne=Rd(j),ce=Rd(te),pe=V(ne*ce);return[pe*ce*Ld(j),pe*Ld(te)]}}(function(V){return(V=dRe(V))&&V/Ld(V)});function jgt(){return Wgt(LRe).scale(79.4188).clipAngle(179.999)}function wj(V,j,te,ne){var ce=V.properties||{},pe=V.type==="Feature"?V.geometry:V;if(pe.type==="GeometryCollection"){var Ee=[];return we(V,function(tt){var At=wj(tt,j,te,ne);At&&Ee.push(At)}),w(Ee)}var _e=function(tt){var At=wd(tt).geometry.coordinates,st=[-At[0],-At[1]];return jgt().rotate(st).scale(A)}(pe),Qe={type:pe.type,coordinates:NRe(pe.coordinates,_e)},Me=new B6().read(Qe),Ye=L(F(j,te),"meters"),He=Af.bufferOp(Me,Ye,ne);if(!FRe((He=new tj().write(He)).coordinates))return E({type:He.type,coordinates:kRe(He.coordinates,_e)},ce)}function FRe(V){return Array.isArray(V[0])?FRe(V[0]):isNaN(V[0])}function NRe(V,j){return typeof V[0]!="object"?j(V):V.map(function(te){return NRe(te,j)})}function kRe(V,j){return typeof V[0]!="object"?j.invert(V):V.map(function(te){return kRe(te,j)})}function Cue(V,j,te){te===void 0&&(te={});var ne=U(V),ce=U(j),pe=C6(ne.coordinates,ce.coordinates);return pe.length===0?null:pe.length===1?v(pe[0],te.properties):R(pe,te.properties)}function N6(V,j,te){te===void 0&&(te={});var ne=U(V),ce=U(j),pe=E6(ne.coordinates,ce.coordinates);return pe.length===0?null:pe.length===1?v(pe[0],te.properties):R(pe,te.properties)}/** * @license get-closest https://github.com/cosmosio/get-closest * * The MIT License (MIT) * * Copyright (c) 2014-2017 Olivier Scherrer */function qgt(V,j){return function(te,ne,ce){var pe,Ee;if(!Array.isArray(ne))throw new Error("Get closest expects an array as second argument");return ne.forEach(function(_e,Qe){var Me=ce(_e,te);Me>=0&&(Ee===void 0||Me0}function ORe(V,j,te){te===void 0&&(te={});var ne=JSON.stringify(te.properties||{}),ce=V[0],pe=V[1],Ee=V[2],_e=V[3],Qe=(pe+_e)/2,Me=(ce+Ee)/2,Ye=2*j/tn([ce,Qe],[Ee,Qe],te)*(Ee-ce),He=2*j/tn([Me,pe],[Me,_e],te)*(_e-pe),tt=Ye/2,At=2*tt,st=Math.sqrt(3)/2*He,ft=Ee-ce,at=_e-pe,kt=3/4*At,ri=st,dt=(ft-At)/(At-tt/2),Nt=Math.floor(dt),Ot=(Nt*kt-tt/2-ft)/2-tt/2+kt/2,Xt=Math.floor((at-st)/st),Vt=(at-Xt*st)/2,lr=Xt*st-at>st/2;lr&&(Vt-=st/4);for(var ji=[],br=[],nr=0;nr<6;nr++){var Lr=2*Math.PI/6*nr;ji.push(Math.cos(Lr)),br.push(Math.sin(Lr))}for(var or=[],ar=0;ar<=Nt;ar++)for(var Zi=0;Zi<=Xt;Zi++){var Qr=ar%2==1;if((Zi!==0||!Qr)&&(Zi!==0||!lr)){var Sr=ar*kt+ce-Ot,Rr=Zi*ri+pe+Vt;if(Qr&&(Rr-=st/2),te.triangles===!0)$gt([Sr,Rr],Ye/2,He/2,JSON.parse(ne),ji,br).forEach(function(Hn){te.mask?N6(te.mask,Hn)&&or.push(Hn):or.push(Hn)});else{var Li=Zgt([Sr,Rr],Ye/2,He/2,JSON.parse(ne),ji,br);te.mask?N6(te.mask,Li)&&or.push(Li):or.push(Li)}}}return w(or)}function Zgt(V,j,te,ne,ce,pe){for(var Ee=[],_e=0;_e<6;_e++){var Qe=V[0]+j*ce[_e],Me=V[1]+te*pe[_e];Ee.push([Qe,Me])}return Ee.push(Ee[0].slice()),v([Ee],ne)}function $gt(V,j,te,ne,ce,pe){for(var Ee=[],_e=0;_e<6;_e++){var Qe=[];Qe.push(V),Qe.push([V[0]+j*ce[_e],V[1]+te*pe[_e]]),Qe.push([V[0]+j*ce[(_e+1)%6],V[1]+te*pe[(_e+1)%6]]),Qe.push(V),Ee.push(v([Qe],ne))}return Ee}function URe(V){if(V.features.length<=1)return V;var j=function(ce){var pe=It(),Ee=[];return Ge(ce,function(_e,Qe){var Me=Xe(_e);Ee.push({minX:Me[0],minY:Me[1],maxX:Me[2],maxY:Me[3],geojson:_e,index:Qe})}),pe.load(Ee),pe}(V),te=[],ne={};return Ge(V,function(ce,pe){if(ne[pe])return!0;for(j.remove({index:pe},GRe),ne[pe]=!0;;){var Ee=Xe(ce),_e=j.search({minX:Ee[0],minY:Ee[1],maxX:Ee[2],maxY:Ee[3]});if(_e.length>0)for(var Qe=_e.map(function(He){return ne[He.index]=!0,j.remove({index:He.index},GRe),He.geojson}),Me=0,Ye=Qe.length;Me=ce&&pe===ne.length-1);pe++){if(ce>=j){var Ee=j-ce;if(Ee){var _e=M0(ne[pe],ne[pe-1])-180;return lc(ne[pe],Ee,_e,te)}return y(ne[pe])}ce+=tn(ne[pe],ne[pe+1],te)}return y(ne[ne.length-1])},o.angle=function(V,j,te,ne){if(ne===void 0&&(ne={}),!ee(ne))throw new Error("options is invalid");if(!V)throw new Error("startPoint is required");if(!j)throw new Error("midPoint is required");if(!te)throw new Error("endPoint is required");var ce=V,pe=j,Ee=te,_e=N(ne.mercator!==!0?M0(ce,pe):qI(ce,pe)),Qe=N(ne.mercator!==!0?M0(Ee,pe):qI(Ee,pe)),Me=Math.abs(_e-Qe);return ne.explementary===!0?360-Me:Me},o.applyFilter=mS,o.area=oL,o.areaFactors=C,o.bbox=Xe,o.bboxClip=function(V,j){var te=U(V),ne=te.type,ce=V.type==="Feature"?V.properties:{},pe=te.coordinates;switch(ne){case"LineString":case"MultiLineString":var Ee=[];return ne==="LineString"&&(pe=[pe]),pe.forEach(function(_e){(function(Qe,Me,Ye){var He,tt,At,st,ft,at=Qe.length,kt=uy(Qe[0],Me),ri=[];for(Ye||(Ye=[]),He=1;He0)for(var Qe=0;Qete&&(j.numberOfClusters=te),j.mutate!==!0&&(V=Mo(V));var ne=Ie(V),ce=ne.slice(0,j.numberOfClusters),pe=IM(ne,j.numberOfClusters,ce),Ee={};return pe.centroids.forEach(function(_e,Qe){Ee[Qe]=_e}),me(V,function(_e,Qe){var Me=pe.idxs[Qe];_e.properties.cluster=Me,_e.properties.centroid=Ee[Me]}),V},o.collect=function(V,j,te,ne){var ce=It(6),pe=j.features.map(function(Ee){var _e;return{minX:Ee.geometry.coordinates[0],minY:Ee.geometry.coordinates[1],maxX:Ee.geometry.coordinates[0],maxY:Ee.geometry.coordinates[1],property:(_e=Ee.properties)===null||_e===void 0?void 0:_e[te]}});return ce.load(pe),V.features.forEach(function(Ee){Ee.properties||(Ee.properties={});var _e=Xe(Ee),Qe=ce.search({minX:_e[0],minY:_e[1],maxX:_e[2],maxY:_e[3]}),Me=[];Qe.forEach(function(Ye){Or([Ye.minX,Ye.minY],Ee)&&Me.push(Ye.property)}),Ee.properties[ne]=Me}),V},o.collectionOf=ae,o.combine=function(V){var j={MultiPoint:{coordinates:[],properties:[]},MultiLineString:{coordinates:[],properties:[]},MultiPolygon:{coordinates:[],properties:[]}};return me(V,function(te){var ne,ce,pe,Ee;switch((Ee=te.geometry)===null||Ee===void 0?void 0:Ee.type){case"Point":j.MultiPoint.coordinates.push(te.geometry.coordinates),j.MultiPoint.properties.push(te.properties);break;case"MultiPoint":(ne=j.MultiPoint.coordinates).push.apply(ne,te.geometry.coordinates),j.MultiPoint.properties.push(te.properties);break;case"LineString":j.MultiLineString.coordinates.push(te.geometry.coordinates),j.MultiLineString.properties.push(te.properties);break;case"MultiLineString":(ce=j.MultiLineString.coordinates).push.apply(ce,te.geometry.coordinates),j.MultiLineString.properties.push(te.properties);break;case"Polygon":j.MultiPolygon.coordinates.push(te.geometry.coordinates),j.MultiPolygon.properties.push(te.properties);break;case"MultiPolygon":(pe=j.MultiPolygon.coordinates).push.apply(pe,te.geometry.coordinates),j.MultiPolygon.properties.push(te.properties)}}),w(Object.keys(j).filter(function(te){return j[te].coordinates.length}).sort().map(function(te){return E({type:te,coordinates:j[te].coordinates},{collectedProperties:j[te].properties})}))},o.concave=function(V,j){j===void 0&&(j={});var te=j.maxEdge||1/0,ne=fo(function(pe){var Ee=[],_e={};return me(pe,function(Qe){if(Qe.geometry){var Me=Qe.geometry.coordinates.join("-");_e.hasOwnProperty(Me)||(Ee.push(Qe),_e[Me]=!0)}}),w(Ee)}(V));if(ne.features=ne.features.filter(function(pe){var Ee=pe.geometry.coordinates[0][0],_e=pe.geometry.coordinates[0][1],Qe=pe.geometry.coordinates[0][2],Me=tn(Ee,_e,j),Ye=tn(_e,Qe,j),He=tn(Ee,Qe,j);return Me<=te&&Ye<=te&&He<=te}),ne.features.length<1)return null;var ce=ai(ne);return ce.coordinates.length===1&&(ce.coordinates=ce.coordinates[0],ce.type="Polygon"),E(ce)},o.containsNumber=he,o.convertArea=X,o.convertDistance=K,o.convertLength=K,o.convex=en,o.coordAll=Ie,o.coordEach=z,o.coordReduce=re,o.createBins=pS,o.degrees2radians=J,o.degreesToRadians=J,o.destination=lc,o.difference=function(V,j){var te=U(V),ne=U(j),ce=V.properties||{},pe=x6(te.coordinates,ne.coordinates);return pe.length===0?null:pe.length===1?v(pe[0],ce):R(pe,ce)},o.dissolve=function(V,j){if(!ee(j=j||{}))throw new Error("options is invalid");var te=j.propertyName;ae(V,"Polygon","dissolve");var ne=Mo(V),ce=ne.features,pe=[];ce.forEach(function(Ye,He){Ye.properties.origIndexPosition=He});var Ee=VI();for(var _e in Ee.load(ne),ce){var Qe=ce[_e],Me=!1;if(Ee.search(Qe).features.forEach(function(Ye){Qe=ce[_e];var He=Ye.properties.origIndexPosition;if(pe.length>0&&He!==0)if(He>pe[pe.length-1])He-=pe.length;else{var tt=qgt(He,pe);tt!==0&&(He-=tt)}if(He!==+_e){var At=ce[He];At&&Qe&&(te!==void 0&&At.properties[te]!==Qe.properties[te]||uS(Qe,At)&&Xgt(Qe,At)&&(ce[_e]=Cue(Qe,At),pe.push(Ye.properties.origIndexPosition),pe.sort(function(st,ft){return st-ft}),Ee.remove(Ye),ce.splice(He,1),Qe.properties.origIndexPosition=_e,Ee.remove(Qe,function(st,ft){return st.properties.origIndexPosition===ft.properties.origIndexPosition}),Me=!0))}}),Me){if(!Qe)continue;Qe.properties.origIndexPosition=_e,Ee.insert(Qe),_e--}}return ce.forEach(function(Ye){delete Ye.properties.origIndexPosition,delete Ye.bbox}),ne},o.distance=tn,o.distanceToDegrees=k,o.distanceToRadians=F,o.distanceWeight=Ph,o.earthRadius=A,o.ellipse=hS,o.envelope=Uc,o.explode=FC,o.factors=f,o.feature=E,o.featureCollection=w,o.featureEach=me,o.featureOf=fe,o.featureReduce=Ce,o.filterProperties=LO,o.findPoint=ze,o.findSegment=Ue,o.flatten=function(V){if(!V)throw new Error("geojson is required");var j=[];return Ge(V,function(te){j.push(te)}),w(j)},o.flattenEach=Ge,o.flattenReduce=ke,o.flip=function(V,j){if(!ee(j=j||{}))throw new Error("options is invalid");var te=j.mutate;if(!V)throw new Error("geojson is required");return te!==!1&&te!==void 0||(V=Mo(V)),z(V,function(ne){var ce=ne[0],pe=ne[1];ne[0]=pe,ne[1]=ce}),V},o.geojsonType=ge,o.geomEach=we,o.geomReduce=Te,o.geometry=x,o.geometryCollection=P,o.getCluster=TM,o.getCoord=ue,o.getCoords=Ae,o.getGeom=U,o.getType=W,o.greatCircle=function(V,j,te){if(typeof(te=te||{})!="object")throw new Error("options is invalid");var ne=te.properties,ce=te.npoints,pe=te.offset;return V=ue(V),j=ue(j),ne=ne||{},ce=ce||100,pe=pe||10,new JI({x:V[0],y:V[1]},{x:j[0],y:j[1]},ne).Arc(ce,{offset:pe}).json()},o.helpers=le,o.hexGrid=ORe,o.inside=Or,o.interpolate=function(V,j,te){if(typeof(te=te||{})!="object")throw new Error("options is invalid");var ne=te.gridType,ce=te.property,pe=te.weight;if(!V)throw new Error("points is required");if(ae(V,"Point","input must contain Points"),!j)throw new Error("cellSize is required");if(pe!==void 0&&typeof pe!="number")throw new Error("weight must be a number");ce=ce||"elevation",ne=ne||"square",pe=pe||1;var Ee,_e=Xe(V);switch(ne){case"point":case"points":Ee=tB(_e,j,te);break;case"square":case"squares":Ee=HRe(_e,j,te);break;case"hex":case"hexes":Ee=ORe(_e,j,te);break;case"triangle":case"triangles":Ee=VRe(_e,j,te);break;default:throw new Error("invalid gridType")}var Qe=[];return me(Ee,function(Me){var Ye=0,He=0;me(V,function(At){var st,ft=tn(ne==="point"?Me:Mf(Me),At,te);if(ce!==void 0&&(st=At.properties[ce]),st===void 0&&(st=At.geometry.coordinates[2]),st===void 0)throw new Error("zValue is missing");ft===0&&(Ye=st);var at=1/Math.pow(ft,pe);He+=at,Ye+=at*st});var tt=Mo(Me);tt.properties[ce]=Ye/He,Qe.push(tt)}),w(Qe)},o.intersect=N6,o.invariant=Y,o.isNumber=q,o.isObject=ee,o.isobands=function(V,j,te){if(!ee(te=te||{}))throw new Error("options is invalid");var ne=te.zProperty||"elevation",ce=te.commonProperties||{},pe=te.breaksProperties||[];if(ae(V,"Point","Input must contain Points"),!j)throw new Error("breaks is required");if(!Array.isArray(j))throw new Error("breaks is not an Array");if(!ee(ce))throw new Error("commonProperties is not an Object");if(!Array.isArray(pe))throw new Error("breaksProperties is not an Array");var Ee=r6(V,{zProperty:ne,flip:!0}),_e=function(Qe,Me,Ye){for(var He=[],tt=1;tt0&&(Qe=v(_e).geometry),GC(Qe,Me),_e=Me.slice(0);te.push(v(_e,Ee));break;case"MultiPolygon":_e=[[[]]];for(var He=0;He0&&(Qe=R(_e).geometry),Gs(Qe,Me),_e=Me.slice(0);te.push(R(_e,Ee));break;default:throw new Error("geometry is invalid, must be Polygon or MultiPolygon")}}),w(te)},o.polygonTangents=function(V,j){var te,ne,ce,pe,Ee=Ae(V),_e=Ae(j),Qe=Xe(j),Me=0,Ye=null;switch(Ee[0]>Qe[0]&&Ee[0]Qe[1]&&Ee[1] is required");if(typeof te!="boolean")throw new Error(" must be a boolean");if(typeof ne!="boolean")throw new Error(" must be a boolean");ne===!1&&(V=Mo(V));var ce=[];switch(V.type){case"GeometryCollection":return we(V,function(pe){cM(pe,te)}),V;case"FeatureCollection":return me(V,function(pe){me(cM(pe,te),function(Ee){ce.push(Ee)})}),w(ce)}return cM(V,te)},o.rhumbBearing=qI,o.rhumbDestination=x1,o.rhumbDistance=ga,o.round=M,o.sample=function(V,j){if(!V)throw new Error("featurecollection is required");if(j==null)throw new Error("num is required");if(typeof j!="number")throw new Error("num must be a number");return w(function(te,ne){for(var ce,pe,Ee=te.slice(0),_e=te.length,Qe=_e-ne;_e-- >Qe;)ce=Ee[pe=Math.floor((_e+1)*Math.random())],Ee[pe]=Ee[_e],Ee[_e]=ce;return Ee.slice(Qe)}(V.features,j))},o.sector=function(V,j,te,ne,ce){if(!ee(ce=ce||{}))throw new Error("options is invalid");var pe=ce.properties;if(!V)throw new Error("center is required");if(te==null)throw new Error("bearing1 is required");if(ne==null)throw new Error("bearing2 is required");if(!j)throw new Error("radius is required");if(typeof ce!="object")throw new Error("options must be an object");if(yl(te)===yl(ne))return Bd(V,j,ce);var Ee=Ae(V),_e=WI(V,j,te,ne,ce),Qe=[[Ee]];return z(_e,function(Me){Qe[0].push(Me)}),Qe[0].push(Ee),v(Qe,pe)},o.segmentEach=Oe,o.segmentReduce=Le,o.shortestPath=function(V,j,te){if(!ee(te=te||{}))throw new Error("options is invalid");var ne=te.resolution,ce=te.minDistance,pe=te.obstacles||w([]);if(!V)throw new Error("start is required");if(!j)throw new Error("end is required");if(ne&&!q(ne)||ne<=0)throw new Error("options.resolution must be a number, greater than 0");if(ce)throw new Error("options.minDistance is not yet implemented");var Ee=ue(V),_e=ue(j);switch(V=y(Ee),j=y(_e),W(pe)){case"FeatureCollection":if(pe.features.length===0)return Q([Ee,_e]);break;case"Polygon":pe=w([E(U(pe))]);break;default:throw new Error("invalid obstacles")}var Qe=pe;Qe.features.push(V),Qe.features.push(j);var Me=Xe(gM(vd(Xe(Qe)),1.15));ne||(ne=tn([Me[0],Me[1]],[Me[2],Me[1]],te)/100),Qe.features.pop(),Qe.features.pop();for(var Ye=Me[0],He=Me[1],tt=Me[2],At=Me[3],st=ne/tn([Ye,He],[tt,He],te)*(tt-Ye),ft=ne/tn([Ye,He],[Ye,At],te)*(At-He),at=tt-Ye,kt=At-He,ri=Math.floor(at/st),dt=Math.floor(kt/ft),Nt=(at-ri*st)/2,Ot=[],Xt=[],Vt=[],lr=[],ji=1/0,br=1/0,nr=At-(kt-dt*ft)/2,Lr=0;nr>=He;){for(var or=[],ar=[],Zi=Ye+Nt,Qr=0;Zi<=tt;){var Sr=y([Zi,nr]),Rr=_M(Sr,pe);or.push(Rr?0:1),ar.push(Zi+"|"+nr);var Li=tn(Sr,V);!Rr&&List[Ml.isect].coord?-1:1}),He=[];Vt.length>0;){var Lr=Vt.pop(),or=Lr.isect,ar=Lr.parent,Zi=Lr.winding,Qr=He.length,Sr=[st[or].coord],Rr=or;if(st[or].ringAndEdge1Walkable)var Li=st[or].ringAndEdge1,Hn=st[or].nxtIsectAlongRingAndEdge1;else Li=st[or].ringAndEdge2,Hn=st[or].nxtIsectAlongRingAndEdge2;for(;!p1(st[or].coord,st[Hn].coord);){Sr.push(st[Hn].coord);var Qn=void 0;for(Ee=0;Ee1)for(Ml=0;Ml= shadowMap_lightPositionEC.w) { discard; } distance /= shadowMap_lightPositionEC.w; // radius out_FragColor = czm_packDepth(distance); `:f?v+=` out_FragColor = vec4(1.0); `:v+=` out_FragColor = czm_packDepth(gl_FragCoord.z); `,v+=`} `,E.push(v),new _r({defines:C,sources:E})};C3.getReceiveShaderKeyword=function(o,A,f,m){let C=o._usesDepthTexture,E=o._polygonOffsetSupported,x=o._isPointLight,y=o._isSpotLight,I=o._numberOfCascades>1,v=o.debugCascadeColors,B=o.softShadows;return`receivePerspectiveProjection ${C}${E}${x}${y}${I}${v}${B}${A}${f}${m}`};C3.createReceiveVertexShader=function(o,A,f){let m=o.defines.slice(0),C=o.sources.slice(0);return A&&(f?m.push("GENERATE_POSITION_AND_NORMAL"):m.push("GENERATE_POSITION")),new _r({defines:m,sources:C})};C3.createReceiveFragmentShader=function(o,A,f,m,C){let E=_r.findNormalVarying(o),x=!m&&O(E)||m&&C,y=_r.findPositionVarying(o),I=O(y),v=A._usesDepthTexture,B=A._polygonOffsetSupported,Q=A._isPointLight,T=A._isSpotLight,w=A._numberOfCascades>1,S=A.debugCascadeColors,D=A.softShadows,R=Q?A._pointBias:m?A._terrainBias:A._primitiveBias,P=o.defines.slice(0),M=o.sources.slice(0),L=M.length;for(let N=0;N0&&P.push("USE_NORMAL_SHADING_SMOOTH"));let F="";Q?F+=`uniform samplerCube shadowMap_textureCube; `:F+=`uniform sampler2D shadowMap_texture; `,F+="uniform sampler2D shadowMap_blendTextureArray[4];",F+=`uniform sampler2D shadowMap_projectionTextureArr[4]; `,F+=`uniform vec4 shadowMap_lightPositionECArr[4]; `,F+=`uniform mat4 shadowMap_matrixArr[4]; `,F+=`uniform mat4 shadowMap_calibrateParamArr[4]; `,F+=`uniform vec4 shadowMapCount; `;let k;return I?k=` return vec4(${y}, 1.0); `:k=`#ifndef LOG_DEPTH return czm_windowToEyeCoordinates(gl_FragCoord); #else return vec4(v_logPositionEC, 1.0); #endif `,F+=`uniform mat4 shadowMap_matrix; uniform vec3 shadowMap_lightDirectionEC; uniform vec4 shadowMap_lightPositionEC; uniform vec4 shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness; uniform vec4 shadowMap_texelSizeDepthBiasAndNormalShadingSmooth; uniform vec4 shadowMap_opacityArr; #ifdef LOG_DEPTH in vec3 v_logPositionEC; #endif vec4 getPositionEC() { ${k}} vec3 getNormalEC() { ${x?` return normalize(${E}); `:` return vec3(1.0); `}} void applyNormalOffset(inout vec4 positionEC, vec3 normalEC, float nDotL) { ${R.normalOffset&&x?` float normalOffset = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.x; float normalOffsetScale = 1.0 - nDotL; vec3 offset = normalOffset * normalOffsetScale * normalEC; positionEC.xyz += offset; `:""}} vec2 cameraDistortion(inout vec2 UV, mat4 calibParam) //imageSize, vec2 focalLength, vec2 opticalCenter, vec4 distortionCoeffs, vec2 tangentCoeffs) { vec2 imageSize = vec2(calibParam[0][0],calibParam[0][1]); vec2 focalLength = vec2(calibParam[0][2],calibParam[0][3]); vec2 opticalCenter = vec2(calibParam[1][0],calibParam[1][1]); vec2 tangentCoeffs = vec2(calibParam[1][2],calibParam[1][3]); vec4 distortionCoeffs = vec4(calibParam[2][0], calibParam[2][1],calibParam[2][2],calibParam[2][3]); vec2 opticalCenterUV = opticalCenter / imageSize; vec2 xy = (UV - opticalCenterUV ) * imageSize / focalLength; float x2 = xy.x * xy.x; float y2 = xy.y * xy.y; float r2 = x2 + y2; float _2xy = 2.0 * xy.x * xy.y; highp float kr = (1.0 + ((distortionCoeffs.z*r2 + distortionCoeffs.y)*r2 + distortionCoeffs.x)*r2); highp float dx = (xy.x*kr + tangentCoeffs.x*_2xy + tangentCoeffs.y*(r2 + 2.0*x2)); highp float dy = (xy.y*kr + tangentCoeffs.x*(r2 + 2.0*y2) + tangentCoeffs.y*_2xy); UV = vec2(dx,dy) * focalLength / imageSize + opticalCenterUV; return UV; } `,F+=`void main() { czm_shadow_receive_main(); vec4 positionEC = getPositionEC(); vec3 normalEC = getNormalEC(); float depth = -positionEC.z; `,T&&(F+=` for(int i = 0; i < 4; i++){ if(i < int(shadowMapCount.x)){ `),F+=` vec3 directionEC = normalize(positionEC.xyz - shadowMap_lightPositionECArr[i].xyz); float nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); applyNormalOffset(positionEC, normalEC, nDotL); vec4 shadowPosition = shadowMap_matrixArr[i] * positionEC; // Spot light uses a perspective projection, so perform the perspective divide shadowPosition /= shadowPosition.w; vec2 oldUV = shadowPosition.xy; if(shadowMap_calibrateParamArr[i][0].y > 0.0){ shadowPosition.xy = cameraDistortion(shadowPosition.xy, shadowMap_calibrateParamArr[i] ); //imageSize, focalLength, opticalCenter, distortionCoefficients, tangentCoeffs); } // Stop early if the fragment is not in the shadow bounds if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) { continue; } if(i == 0){ vec4 tempColor = texture(shadowMap_blendTextureArray[0], oldUV.xy); if(tempColor.a < 0.14 ) continue; tempColor = texture(shadowMap_projectionTextureArr[0], shadowPosition.xy) * tempColor; out_FragColor = mix(out_FragColor,tempColor, shadowMap_opacityArr.x * tempColor.a); }else if(i == 1){ vec4 tempColor = texture(shadowMap_blendTextureArray[1], oldUV.xy); if(tempColor.a < 0.14 ) continue; tempColor = texture(shadowMap_projectionTextureArr[1], shadowPosition.xy) * tempColor; out_FragColor = mix(out_FragColor,tempColor, shadowMap_opacityArr.y * tempColor.a); }else if(i == 2){ vec4 tempColor = texture(shadowMap_blendTextureArray[2], oldUV.xy); if(tempColor.a < 0.14 ) continue; tempColor = texture(shadowMap_projectionTextureArr[2], shadowPosition.xy) * tempColor; out_FragColor = mix(out_FragColor,tempColor, shadowMap_opacityArr.z * tempColor.a); }else { vec4 tempColor = texture(shadowMap_blendTextureArray[3], oldUV.xy); if(tempColor.a < 0.14 ) continue; tempColor = texture(shadowMap_projectionTextureArr[3], shadowPosition.xy) * tempColor; out_FragColor = mix(out_FragColor,tempColor, shadowMap_opacityArr.w * tempColor.a); } }else{ break; } } `,F+=`} `,M.push(F),new _r({defines:P,sources:M})};var T7=C3,Dq={gradient:!0,width:13,colorRamp:[{value:0,color:"rgba(255,255,255,0)"},{value:1,color:"rgba(255,255,255,1)"}]};function sQ(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.context;this._enabled=oe(o.enabled,!0),this._softShadows=oe(o.softShadows,!1),this._normalOffset=oe(o.normalOffset,!0),this.dirty=!0,this._name=o.name||"",this._matchMaterials=o.matchMaterials||[],this._type="perspective",this.fromLightSource=oe(o.fromLightSource,!0),this.darkness=oe(o.darkness,0),this._darkness=this.darkness,this.maximumDistance=oe(o.maximumDistance,2e3),this._outOfView=!1,this._outOfViewPrevious=!1,this._needsUpdate=!0,this._outOfAngle=!1,this._outOfAnglePrevious=!1,this._angleDiff=0;let f=!0;(wo.isInternetExplorer()||wo.isEdge()||(wo.isChrome()||wo.isFirefox())&&wo.isWindows()&&!A.depthTexture)&&(f=!0),this._polygonOffsetSupported=f,this._terrainBias={polygonOffset:f,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.5,normalShading:!0,normalShadingSmooth:.3,depthBias:1e-4},this._primitiveBias={polygonOffset:f,polygonOffsetFactor:-1.1,polygonOffsetUnits:-4,normalOffset:this._normalOffset,normalOffsetScale:.1,normalShading:!0,normalShadingSmooth:.05,depthBias:o.depthBias||-2e-5},this._pointBias={polygonOffset:!1,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:0,normalShading:!0,normalShadingSmooth:.1,depthBias:5e-4},this._depthAttachment=void 0,this._colorAttachment=void 0,this._shadowMapMatrix=new Re,this._shadowMapTexture=void 0,this._shadowMapProjectionTexture=void 0,this._castImage=void 0,this._lightDirectionEC=new Z,this._lightPositionEC=new zt,this._distance=0,this._lightCamera=o.lightCamera,this._shadowMapCamera=new Die,this._shadowMapCullingVolume=void 0,this._sceneCamera=void 0,this._boundingSphere=new hi,this._isPointLight=oe(o.isPointLight,!1),this._pointLightRadius=oe(o.pointLightRadius,100),this._cascadesEnabled=this._isPointLight?!1:oe(o.cascadesEnabled,!0),this._numberOfCascades=this._cascadesEnabled?oe(o.numberOfCascades,4):0,this._fitNearFar=!0,this._maximumCascadeDistances=[25,150,700,Number.MAX_VALUE],this._textureSize=new rt,this._isSpotLight=!1,this._cascadesEnabled?this._shadowMapCamera.frustum=new Xf:O(this._lightCamera.frustum.fov)&&(this._isSpotLight=!0),this._cascadeSplits=[new zt,new zt],this._cascadeMatrices=[new Re,new Re,new Re,new Re],this._cascadeDistances=new zt;let m;this._isPointLight?m=6:this._cascadesEnabled?m=this._numberOfCascades:m=1,this._passes=new Array(m);for(let x=0;x=A?A:Zn.maximumCubeMapSize,C.x=A,C.y=A;let E=new vr(0,0,A,A);f[0].passState.viewport=E,f[1].passState.viewport=E,f[2].passState.viewport=E,f[3].passState.viewport=E,f[4].passState.viewport=E,f[5].passState.viewport=E}else m===1?(A=Zn.maximumTextureSize>=A?A:Zn.maximumTextureSize,C.x=A,C.y=A,f[0].passState.viewport=new vr(0,0,A,A)):m===4&&(A=Zn.maximumTextureSize>=A*2?A:Zn.maximumTextureSize/2,C.x=A*2,C.y=A*2,f[0].passState.viewport=new vr(0,0,A,A),f[1].passState.viewport=new vr(A,0,A,A),f[2].passState.viewport=new vr(0,A,A,A),f[3].passState.viewport=new vr(A,A,A,A));o._clearPassState.viewport=new vr(0,0,C.x,C.y);for(let E=0;E=o.maximumDistance){o._outOfView=!0,o._needsUpdate=!1;return}let E=A.mapProjection.ellipsoid.geodeticSurfaceNormal(f.positionWC,qHt),x=Z.negate(m.directionWC,XHt),y=Z.dot(E,x),I=Be.clamp(y/.1,0,1);if(o._darkness=0,y<0){o._outOfView=!0,o._needsUpdate=!1;return}o._needsUpdate=!0,o._outOfView=!1}else if(o._isPointLight){if(C.center=m.positionWC,C.radius=o._pointLightRadius,o._outOfView=A.cullingVolume.computeVisibility(C)===sa.OUTSIDE,!o._outOfView){let E=Z.distance(m.positionWC,f.positionWC);o._outOfView=E>=o.maximumDistance}o._needsUpdate=!o._outOfView&&!o._boundingSphere.equals(C),hi.clone(C,o._boundingSphere)}else{let E=m.frustum.far/2,x=Z.add(m.positionWC,Z.multiplyByScalar(m.directionWC,E,Wke),Wke);if(C.center=x,C.radius=E,o._outOfView=A.cullingVolume.computeVisibility(C)===sa.OUTSIDE,!o._outOfView){let I=Z.distance(m.positionWC,f.positionWC);o._outOfView=I>=o.maximumDistance}o._needsUpdate=!o._outOfView&&!o._boundingSphere.equals(C),hi.clone(C,o._boundingSphere);let y=Math.acos(Z.dot(m.directionWC,f.direction));o._angleDiff=y,o._outOfAngle=y>o._maxDiffAngle}}function $Ht(o,A){let f=A.camera,m=o._lightCamera,C=o._sceneCamera,E=o._shadowMapCamera;o._cascadesEnabled?Z.clone(m.directionWC,E.directionWC):o._isPointLight?Z.clone(m.positionWC,E.positionWC):E.clone(m);let x=o._lightDirectionEC;Re.multiplyByPointAsVector(f.viewMatrix,E.directionWC,x),Z.normalize(x,x),Z.negate(x,x),Re.multiplyByPoint(f.viewMatrix,E.positionWC,o._lightPositionEC),o._lightPositionEC.w=o._pointLightRadius;let y,I;o._fitNearFar?(y=Math.min(A.shadowState.nearPlane,o.maximumDistance),I=Math.min(A.shadowState.farPlane,o.maximumDistance+1)):(y=f.frustum.near,I=o.maximumDistance),o._sceneCamera=Ls.clone(f,C),f.frustum.clone(o._sceneCamera.frustum),o._sceneCamera.frustum.near=y,o._sceneCamera.frustum.far=I,o._distance=I-y,ZHt(o,A);let v=A.frameNumber;!o._outOfViewPrevious&&o._outOfView&&(o._needsUpdate=!0),!o._outOfAnglePrevious&&o._outOfAngle?(BHt(o._linearSampler,v),o._outOfAnglePrevious=o._outOfAngle):o._outOfAnglePrevious&&!o._outOfAngle?(vHt(o._linearSampler,v),o._outOfAnglePrevious=o._outOfAngle):o._outOfAngle,aQ.getValueExp(o._linearSampler,v),o._outOfViewPrevious=o._outOfView}function e6t(o,A){if(o._outOfView||o._linearSampler[4]<.01||o._isCastTextureDirty===!1||!O(o._castImage))return;let f=A.context,m=o._shadowMapProjectionTexture,C=o._castImage;if(C instanceof HTMLVideoElement){if(C.readyState>=2){if(O(m)){let E=new Date().getTime();m._lastCreateTextureTime===void 0&&(m._lastCreateTextureTime=0);let x=m._lastCreateTextureTime;if(E-x1&&GHt(this,o)),this._isPointLight)this._shadowMapCullingVolume=Mg.fromBoundingSphere(this._boundingSphere);else{let A=this._shadowMapCamera,f=A.positionWC,m=A.directionWC,C=A.upWC;this._shadowMapCullingVolume=A.frustum.computeCullingVolume(f,m,C),this._passes.length===1&&this._passes[0].camera.clone(A)}if(this._passes.length===1){let A=this._sceneCamera.inverseViewMatrix;Re.multiply(this._shadowMapCamera.getViewProjection(),A,this._shadowMapMatrix)}this.debugShow&&FHt(this,o)};sQ.prototype.updatePass=function(o,A){QHt(this,o,A)};var t6t=new rt;function i6t(o,A,f,m){let C=o._isPointLight?o._pointBias:f?o._terrainBias:o._primitiveBias,E={shadowMap_texture:function(){return o._shadowMapTexture},shadowMap_blendTextureArray:function(){let x=[];for(let y=0;y<4;y++)x[y]=m._shadowMapProjectionTextureArr[y]._shadowMapBlendTexture;return x},shadowMap_textureCube:function(){return o._shadowMapTexture},shadowMap_matrix:function(){return o._shadowMapMatrix},shadowMap_cascadeSplits:function(){return o._cascadeSplits},shadowMap_cascadeMatrices:function(){return o._cascadeMatrices},shadowMap_lightDirectionEC:function(){return o._lightDirectionEC},shadowMap_lightPositionEC:function(){return o._lightPositionEC},shadowMap_cascadeDistances:function(){return o._cascadeDistances},shadowMap_projectionTextureArr:function(){let x=[];for(let y=0;y<4;y++)x[y]=m._shadowMapProjectionTextureArr[y]._shadowMapProjectionTexture;return x},shadowMap_lightPositionECArr:function(){return m._lightPositionECArr},shadowMap_opacityArr:function(){return zt.fromElements(m._opacityArr[0],m._opacityArr[1],m._opacityArr[2],m._opacityArr[3])},shadowMapCount:function(){return zt.fromElements(m._shadowMapCount,0,0,0)},shadowMap_matrixArr:function(){return m._shadowMapMatrixArr},shadowMap_calibrateParamArr:function(){return m._calibrateParamArr},shadowMap_texelSizeDepthBiasAndNormalShadingSmooth:function(){let x=t6t;return x.x=1/o._textureSize.x,x.y=1/o._textureSize.y,C.depthBias,zt.fromElements(x.x,x.y,C.depthBias,C.normalShadingSmooth,this.combinedUniforms1)},shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness:function(){return zt.fromElements(C.normalOffsetScale,o._distance,o.maximumDistance,o._darkness,this.combinedUniforms2)},combinedUniforms1:new zt,combinedUniforms2:new zt};return So(A,E,!1)}var r6t=function(){let o={};o._shadowMapProjectionTextureArr=new Array(4),o._shadowMapMatrixArr=new Array(4),o._lightPositionECArr=new Array(4),o._lightDirectionECArr=new Array(4),o._calibrateParamArr=new Array(4),o._opacityArr=[1,1,1,1];for(let A=0;A<4;A++)o._shadowMapMatrixArr[A]=new Re,o._calibrateParamArr[A]=new Re,o._lightPositionECArr[A]=new zt,o._lightDirectionECArr[A]=new Z;return o};function n6t(o,A,f){let m=!1;for(let C=0;C=0){I=!0;break}I&&(o.push(y),m=!0)}}}return o.sort(function(C,E){return C._angleDiff-E._angleDiff}),m}sQ.createDerivedCommands=function(o,A,f,m,C,E,x,y){O(y)||(y={});let I=o.length>0,v=f.shaderProgram,B=v.vertexShaderSource,Q=v.fragmentShaderSource,T=f.pass===Yi.GLOBE,w=!1;if(I&&O(f.receiveTextureProjectionList)&&f.receiveTextureProjectionList.length>0){let S=f.tpp;O(S)||(S=r6t(),f.tpp=S);let D=[];n6t(D,f.receiveTextureProjectionList,o);let R=Math.min(D.length,4);if(R===0)return;S.textureProjectionArray=D,S._shadowMapCount=R;let P,M;O(y.receiveCommand)&&(P=y.receiveCommand.shaderProgram,M=y.receiveCommand.uniformMap);let L=fn.shallowClone(f,y.receiveCommand);y.castShadows=!1,y.receiveShadows=!0;for(let F=0;F= shadowMap_lightPositionEC.w) { discard; } distance /= shadowMap_lightPositionEC.w; // radius out_FragColor = czm_packDepth(distance); `:f?v+=` out_FragColor = vec4(1.0); `:(v+=` czm_shadow_cast_main(); `,v+=` out_FragColor = czm_packDepth(gl_FragCoord.z); `),v+=`} `,E.push(v),new _r({defines:C,sources:E})};E3.getReceiveShaderKeyword=function(o,A,f,m){let C=o._usesDepthTexture,E=o._polygonOffsetSupported,x=o._isPointLight,y=o._isSpotLight,I=o._numberOfCascades>1,v=o.debugCascadeColors,B=o.softShadows;return`receivePerspectiveProjectionWithDepth ${C}${E}${x}${y}${I}${v}${B}${A}${f}${m}`};E3.createReceiveVertexShader=function(o,A,f){let m=o.defines.slice(0),C=o.sources.slice(0);return m.push("VIDEO_SHADOW_MAP"),A&&(f?m.push("GENERATE_POSITION_AND_NORMAL"):m.push("GENERATE_POSITION")),new _r({defines:m,sources:C})};function o6t(o,A){let f="";return o?f+=` if(i == 0){ `:f+=`else if(i == ${A}){ `,f+=` vec2 blendOrigin = blendTextureOriginArr[${A}]; vec2 blendSize = blendTextureSizeArr[${A}]; vec2 videoOrigin = videoTextureOriginArr[${A}]; vec2 videoSize = videoTextureSizeArr[${A}]; vec2 shadowOrigin = shadowTextureOriginArr[${A}]; vec2 shadowSize = shadowTextureSizeArr[${A}]; vec2 videoTextureOrigin = vec2(videoOrigin.x/totalTextureSize.x, videoOrigin.y/totalTextureSize.y); vec2 videoTextureSize = vec2(videoSize.x/totalTextureSize.x, videoSize.y/totalTextureSize.y); vec2 videoTextureUV = vec2((videoTextureOrigin.x + videoTextureSize.x*oldUV.x), (videoTextureOrigin.y+videoTextureSize.y*oldUV.y)); vec2 blendTextureOrigin = vec2(blendOrigin.x/totalTextureSize.z, blendOrigin.y/totalTextureSize.z); vec2 blendTextureSize = vec2(blendSize.x/totalTextureSize.z, blendSize.y/totalTextureSize.z); vec2 blendTextureUV = vec2((blendTextureOrigin.x + blendTextureSize.x*oldUV.x), (blendTextureOrigin.y+blendTextureSize.y*oldUV.y)); vec4 tempColor = texture(mergedBlendTexture, videoTextureUV.xy); if(tempColor.a < 0.14 ) continue; vec2 shadowTextureOrigin = vec2(shadowOrigin.x/totalTextureSize.w, shadowOrigin.y/totalTextureSize.w); vec2 shadowTextureSize = vec2(shadowSize.x/totalTextureSize.w, shadowSize.y/totalTextureSize.w); shadowParameters.texCoords = vec2((shadowTextureOrigin.x + shadowTextureSize.x*oldUV.x), (shadowTextureOrigin.y+shadowTextureSize.y*oldUV.y)); float visibility = czm_shadowVisibility(mergedShadowTexture, shadowParameters); tempColor = texture(mergedVideoTexture, blendTextureUV.xy) * tempColor * visibility; out_FragColor = mix(out_FragColor,tempColor, shadowMap_opacityArr[${A}] * tempColor.a); }`,f}E3.createReceiveFragmentShader=function(o,A,f,m,C,E){let x=_r.findNormalVarying(o),y=!m&&O(x)||m&&C,I=_r.findPositionVarying(o),v=O(I),B=A._usesDepthTexture,Q=A._polygonOffsetSupported,T=A._isPointLight,w=A._isSpotLight,S=A._numberOfCascades>1,D=A.debugCascadeColors,R=A.softShadows,P=T?A._pointBias:m?A._terrainBias:A._primitiveBias,M=o.defines.slice(0),L=o.sources.slice(0),F=L.length;for(let G=0;G0&&M.push("USE_NORMAL_SHADING_SMOOTH"));let k="";k+=`uniform sampler2D mergedVideoTexture; `,k+=`uniform sampler2D mergedBlendTexture; `,k+=`uniform sampler2D mergedShadowTexture; `,k+=`uniform vec4 totalTextureSize; `,k+=`uniform vec2 blendTextureOriginArr[${E}]; `,k+=`uniform vec2 blendTextureSizeArr[${E}]; `,k+=`uniform vec2 videoTextureOriginArr[${E}]; `,k+=`uniform vec2 videoTextureSizeArr[${E}]; `,k+=`uniform vec2 shadowTextureOriginArr[${E}]; `,k+=`uniform vec2 shadowTextureSizeArr[${E}]; `,k+=`uniform vec4 shadowMap_lightPositionECArr[${E}]; `,k+=`uniform mat4 shadowMap_matrixArr[${E}]; `,k+=`uniform mat4 shadowMap_calibrateParamArr[${E}]; `,k+=`uniform vec4 shadowMapCount; `;let N;v?N=` return vec4(${I}, 1.0); `:N=`#ifndef LOG_DEPTH return czm_windowToEyeCoordinates(gl_FragCoord); #else return vec4(v_logPositionEC, 1.0); #endif `,k+=`uniform mat4 shadowMap_matrix; uniform vec3 shadowMap_lightDirectionEC; uniform vec4 shadowMap_lightPositionEC; uniform vec4 shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness; uniform vec4 shadowMap_texelSizeDepthBiasAndNormalShadingSmooth; uniform float shadowMap_opacityArr[${E}]; #ifdef LOG_DEPTH in vec3 v_logPositionEC; #endif vec4 getPositionEC() { ${N}} vec3 getNormalEC() { ${y?` return normalize(${x}); `:` return vec3(1.0); `}} void applyNormalOffset(inout vec4 positionEC, vec3 normalEC, float nDotL) { ${P.normalOffset&&y?` float normalOffset = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.x; float normalOffsetScale = 1.0 - nDotL; vec3 offset = normalOffset * normalOffsetScale * normalEC; positionEC.xyz += offset; `:""}} vec2 cameraDistortion(inout vec2 UV, mat4 calibParam) //imageSize, vec2 focalLength, vec2 opticalCenter, vec4 distortionCoeffs, vec2 tangentCoeffs) { vec2 imageSize = vec2(calibParam[0][0],calibParam[0][1]); vec2 focalLength = vec2(calibParam[0][2],calibParam[0][3]); vec2 opticalCenter = vec2(calibParam[1][0],calibParam[1][1]); vec2 tangentCoeffs = vec2(calibParam[1][2],calibParam[1][3]); vec4 distortionCoeffs = vec4(calibParam[2][0], calibParam[2][1],calibParam[2][2],calibParam[2][3]); vec2 opticalCenterUV = opticalCenter / imageSize; vec2 xy = (UV - opticalCenterUV ) * imageSize / focalLength; float x2 = xy.x * xy.x; float y2 = xy.y * xy.y; float r2 = x2 + y2; float _2xy = 2.0 * xy.x * xy.y; highp float kr = (1.0 + ((distortionCoeffs.z*r2 + distortionCoeffs.y)*r2 + distortionCoeffs.x)*r2); highp float dx = (xy.x*kr + tangentCoeffs.x*_2xy + tangentCoeffs.y*(r2 + 2.0*x2)); highp float dy = (xy.y*kr + tangentCoeffs.x*(r2 + 2.0*y2) + tangentCoeffs.y*_2xy); UV = vec2(dx,dy) * focalLength / imageSize + opticalCenterUV; return UV; } `,k+=`void main() { vec4 diffuseColor = out_FragColor; czm_shadow_receive_main(); vec4 positionEC = getPositionEC(); vec3 normalEC = getNormalEC(); float depth = -positionEC.z; `,k+=` czm_shadowParameters shadowParameters; shadowParameters.texelStepSize = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.xy; shadowParameters.depthBias = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.z; shadowParameters.normalShadingSmooth = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.w; shadowParameters.darkness = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.w; `,w&&(k+=` for(int i = 0; i < ${E}; i++){ if(i < int(shadowMapCount.x)){ `),k+=` vec3 directionEC = normalize(positionEC.xyz - shadowMap_lightPositionECArr[i].xyz); float nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); applyNormalOffset(positionEC, normalEC, nDotL); vec4 shadowPosition = shadowMap_matrixArr[i] * positionEC; shadowPosition /= shadowPosition.w; shadowParameters.texCoords = shadowPosition.xy; shadowParameters.depth = shadowPosition.z; shadowParameters.nDotL = nDotL; // Spot light uses a perspective projection, so perform the perspective divide vec2 oldUV = shadowPosition.xy; if(shadowMap_calibrateParamArr[i][0].y > 0.0){ shadowPosition.xy = cameraDistortion(shadowPosition.xy, shadowMap_calibrateParamArr[i] ); //imageSize, focalLength, opticalCenter, distortionCoefficients, tangentCoeffs); } // Stop early if the fragment is not in the shadow bounds if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) { continue; } `;for(let G=0;G=A?A:Zn.maximumCubeMapSize,C.x=A,C.y=A;let E=new vr(0,0,A,A);f[0].passState.viewport=E,f[1].passState.viewport=E,f[2].passState.viewport=E,f[3].passState.viewport=E,f[4].passState.viewport=E,f[5].passState.viewport=E}else m===1?(A=Zn.maximumTextureSize>=A?A:Zn.maximumTextureSize,C.x=A,C.y=A,f[0].passState.viewport=new vr(0,0,A,A)):m===4&&(A=Zn.maximumTextureSize>=A*2?A:Zn.maximumTextureSize/2,C.x=A*2,C.y=A*2,f[0].passState.viewport=new vr(0,0,A,A),f[1].passState.viewport=new vr(A,0,A,A),f[2].passState.viewport=new vr(0,A,A,A),f[3].passState.viewport=new vr(A,A,A,A));o._clearPassState.viewport=new vr(0,0,C.x,C.y);for(let E=0;E=o.maximumDistance){o._outOfView=!0,o._needsUpdate=!1;return}let E=A.mapProjection.ellipsoid.geodeticSurfaceNormal(f.positionWC,L6t),x=Z.negate(m.directionWC,F6t),y=Z.dot(E,x),I=Be.clamp(y/.1,0,1);if(o._darkness=0,y<0){o._outOfView=!0,o._needsUpdate=!1;return}o._needsUpdate=!0,o._outOfView=!1}else if(o._isPointLight){if(C.center=m.positionWC,C.radius=o._pointLightRadius,o._outOfView=A.cullingVolume.computeVisibility(C)===sa.OUTSIDE,!o._outOfView){let E=Z.distance(m.positionWC,f.positionWC);o._outOfView=E>=o.maximumDistance}o._needsUpdate=!o._outOfView&&!o._boundingSphere.equals(C),hi.clone(C,o._boundingSphere)}else{let E=m.frustum.far/2,x=Z.add(m.positionWC,Z.multiplyByScalar(m.directionWC,E,Xke),Xke);if(C.center=x,C.radius=E,o._outOfView=A.cullingVolume.computeVisibility(C)===sa.OUTSIDE,!o._outOfView){let I=Z.distance(m.positionWC,f.positionWC);o._outOfView=I>=o.maximumDistance}o._needsUpdate=!o._outOfView&&!o._boundingSphere.equals(C),hi.clone(C,o._boundingSphere);let y=Math.acos(Z.dot(m.directionWC,f.direction));o._angleDiff=y,o._outOfAngle=y>o._maxDiffAngle}}function k6t(o,A){let f=A.camera,m=o._lightCamera,C=o._sceneCamera,E=o._shadowMapCamera;o._cascadesEnabled?Z.clone(m.directionWC,E.directionWC):o._isPointLight?Z.clone(m.positionWC,E.positionWC):E.clone(m);let x=o._lightDirectionEC;Re.multiplyByPointAsVector(f.viewMatrix,E.directionWC,x),Z.normalize(x,x),Z.negate(x,x),Re.multiplyByPoint(f.viewMatrix,E.positionWC,o._lightPositionEC),o._lightPositionEC.w=o._pointLightRadius;let y,I;o._fitNearFar?(y=Math.min(A.shadowState.nearPlane,o.maximumDistance),I=Math.min(A.shadowState.farPlane,o.maximumDistance+1)):(y=f.frustum.near,I=o.maximumDistance),o._sceneCamera=Ls.clone(f,C),f.frustum.clone(o._sceneCamera.frustum),o._sceneCamera.frustum.near=y,o._sceneCamera.frustum.far=I,o._distance=I-y,N6t(o,A);let v=A.frameNumber;!o._outOfViewPrevious&&o._outOfView&&(o._needsUpdate=!0),!o._outOfAnglePrevious&&o._outOfAngle?(s6t(o._linearSampler,v),o._outOfAnglePrevious=o._outOfAngle):o._outOfAnglePrevious&&!o._outOfAngle?(a6t(o._linearSampler,v),o._outOfAnglePrevious=o._outOfAngle):o._outOfAngle,aQ.getValueExp(o._linearSampler,v),o._outOfViewPrevious=o._outOfView}function O6t(o){let A=o._passes;if(A.length>0&&O(b5)){let f=A[0].framebuffer;f._bind(),b5.copyFromFramebuffer(o._shadowMapTextureOrigin.x,o._shadowMapTextureOrigin.y,0,0,o._shadowMapTextureSize.x,o._shadowMapTextureSize.y),f._unBind()}}function U6t(o){if(o._outOfView||o._linearSampler[4]<.01||!o._isCastTextureDirty||!O(o._castImage)||!KF)return;o._blendCanvasDirty&&(M7.copyFrom({source:o._blendCanvas,xOffset:o._blendTextureOrigin.x,yOffset:o._blendTextureOrigin.y}),o._blendCanvasDirty=!1);let A=new Date().getTime();O(o._lastCreateTextureTime)||(o._lastCreateTextureTime=0);let f=A-o._lastCreateTextureTime,m=o._castImage;m instanceof HTMLVideoElement&&m.readyState>=2&&f>o._videoFrameInterval&&(KF.copyFrom({source:m,xOffset:o._videoTextureOrigin.x,yOffset:o._videoTextureOrigin.y}),o._lastCreateTextureTime=new Date().getTime())}uQ.prototype.update=function(o){if(k6t(this,o),this._needsUpdate)if(d6t(this,o.context),this._isPointLight&&R6t(this,o),this._cascadesEnabled&&(D6t(this,o),this._numberOfCascades>1&&w6t(this,o)),this._isPointLight)this._shadowMapCullingVolume=Mg.fromBoundingSphere(this._boundingSphere);else{let A=this._shadowMapCamera,f=A.positionWC,m=A.directionWC,C=A.upWC;this._shadowMapCullingVolume=A.frustum.computeCullingVolume(f,m,C),this._passes.length===1&&this._passes[0].camera.clone(A)}if(this._passes.length===1){let A=this._sceneCamera.inverseViewMatrix;Re.multiply(this._shadowMapCamera.getViewProjection(),A,this._shadowMapMatrix)}this.debugShow&&y6t(this,o)};uQ.prototype.updatePass=function(o,A){kKe(this,o,A)};var G6t=new rt;function HKe(o,A,f,m,C){let E=o._isPointLight?o._pointBias:f?o._terrainBias:o._primitiveBias,x={blendTextureOriginArr:function(){let y=[];for(let I=0;I=0){I=!0;break}I&&(o.push(y),m=!0)}}}return o.sort(function(C,E){return C._angleDiff-E._angleDiff}),m}function Y6t(o,A,f){let m=A,C=f;if(jkey)throw new Ai("\u540C\u5C4F\u663E\u793A\u89C6\u9891\u6570\u91CF\u8D85\u8FC7\u673A\u5668\u627F\u8F7D\u4E0A\u9650\uFF0C\u8BF7\u8C03\u5C0F scene.maxProjectionCount \u7684\u503C");let I=Math.ceil(Math.sqrt(m)),v=Math.min(I,E,x);xU=new Map;for(let T=0;T=C)break;for(let S=0;S=C);S++){let D=A[w+S];O(D._castImage)&&(D._videoTextureOrigin.x=S*KS,D._videoTextureOrigin.y=T*WS,D._videoTextureSize.x=D._castImage.videoWidth,D._videoTextureSize.y=D._castImage.videoHeight,xU.set(D._id,{videoRowIdx:T,videoColIdx:S}))}}let B=v*v,Q=v;if(B=C)break;for(let S=0;S=C);S++){let D=A[w+S];O(D._castImage)&&(D._videoTextureOrigin.x=S*KS,D._videoTextureOrigin.y=T*WS,D._videoTextureSize.x=D._castImage.videoWidth,D._videoTextureSize.y=D._castImage.videoHeight,xU.set(D._id,{videoRowIdx:T,videoColIdx:S}))}Q++}QZ=v*KS,SZ=Q*WS,KF&&KF.destroy(),KF=new Nn({context:o,width:QZ,height:SZ}),e7=I*256;for(let T=0;T=C);T++)for(let w=0;w=C);w++){let S=A[T*I+w];S._blendTextureOrigin.x=w*256,S._blendTextureOrigin.y=T*256,S._blendTextureSize.x=S._blendCanvas.width,S._blendTextureSize.y=S._blendCanvas.height,S._blendCanvasDirty=!0,S._shadowMapTextureOrigin.x=w*S.size,S._shadowMapTextureOrigin.y=T*S.size,S._shadowMapTextureSize.x=S.size,S._shadowMapTextureSize.y=S.size;let D=xU.get(S._id);D.blendRowIdx=T,D.blendColIdx=w,D.shadowRowIdx=T,D.shadowColIdx=w}M7&&M7.destroy(),M7=new Nn({context:o,width:e7,height:e7}),t7=I*1024,b5&&b5.destroy(),b5=new Nn({context:o,width:t7,height:t7,pixelFormat:rn.RGBA,pixelDatatype:$r.UNSIGNED_BYTE,sampler:Oa.NEAREST})}else{let E=new Map,x=QZ/KS,y=SZ/WS,I=e7/256,v=t7/1024,B=new Array(x*y),Q=new Array(I*I),T=new Array(v*v),w=[];for(let D=0;D0){for(let D=0;D0,B=m.shaderProgram,Q=B.vertexShaderSource,T=B.fragmentShaderSource,w=m.pass===Yi.GLOBE,S=!1;if(m.castShadows){let D=I.castCommands;O(D)||(D=I.castCommands=[]);let R=I.castShaderProgramId,P=o.length;D.length=P;for(let M=0;M0)z6t(D,m.receiveTextureProjectionList,o);else for(let J in o){if(!o.hasOwnProperty(J))continue;let K=o[J];K._type==="perspective"&&!K._outOfView&&D.push(K)}let R=Math.min(o.length,y),P=m.tppd;O(P)||(P=V6t(y),m.tppd=P),D.length>R&&D.splice(R);let M=D.length;if(M===0)return;let L=Y6t(o,KS,WS),F=L.maxWidth!==KS||L.maxHeight!==WS;F&&(WS=L.maxHeight,KS=L.maxWidth),J6t(E,D,F,y),P.textureProjectionArray=D,P._shadowMapCount=M;let k,N;O(I.receiveCommand)&&(k=I.receiveCommand.shaderProgram,N=I.receiveCommand.uniformMap);let G=fn.shallowClone(m,I.receiveCommand);I.castShadows=!1,I.receiveShadows=!0;for(let J=0;J=YKe.RENDERED_AND_KICKED},originalResult:function(o){return o&3},kick:function(o){return o|4}},Xo=YKe;function nE(o){this._tilingScheme=o.tilingScheme,this._x=o.x,this._y=o.y,this._level=o.level,this._parent=o.parent,this._rectangle=this._tilingScheme.tileXYToRectangle(this._x,this._y,this._level),this._southwestChild=void 0,this._southeastChild=void 0,this._northwestChild=void 0,this._northeastChild=void 0,this.replacementPrevious=void 0,this.replacementNext=void 0,this._distance=0,this._loadPriority=0,this._customData=[],this._frameUpdated=void 0,this._lastSelectionResult=Xo.NONE,this._lastSelectionResultFrame=void 0,this._loadedCallbacks={},this.state=Hh.START,this.renderable=!1,this.upsampledFromParent=!1,this.data=void 0,this.datazh=void 0}nE.createLevelZeroTiles=function(o){let A=o.getNumberOfXTilesAtLevel(0),f=o.getNumberOfYTilesAtLevel(0),m=new Array(A*f),C=0;for(let E=0;E=m&&(A-=m),!(f<0||f>=this.tilingScheme.getNumberOfYTilesAtLevel(0)))return o.filter(function(C){return C.x===A&&C.y===f})[0]};nE.prototype.findTileToWest=function(o){let A=this.parent;if(A===void 0)return this.findLevelZeroTile(o,this.x-1,this.y);if(A.southeastChild===this)return A.southwestChild;if(A.northeastChild===this)return A.northwestChild;let f=A.findTileToWest(o);if(f!==void 0)return A.southwestChild===this?f.southeastChild:f.northeastChild};nE.prototype.findTileToEast=function(o){let A=this.parent;if(A===void 0)return this.findLevelZeroTile(o,this.x+1,this.y);if(A.southwestChild===this)return A.southeastChild;if(A.northwestChild===this)return A.northeastChild;let f=A.findTileToEast(o);if(f!==void 0)return A.southeastChild===this?f.southwestChild:f.northwestChild};nE.prototype.findTileToSouth=function(o){let A=this.parent;if(A===void 0)return this.findLevelZeroTile(o,this.x,this.y+1);if(A.northwestChild===this)return A.southwestChild;if(A.northeastChild===this)return A.southeastChild;let f=A.findTileToSouth(o);if(f!==void 0)return A.southwestChild===this?f.northwestChild:f.northeastChild};nE.prototype.findTileToNorth=function(o){let A=this.parent;if(A===void 0)return this.findLevelZeroTile(o,this.x,this.y-1);if(A.southwestChild===this)return A.northwestChild;if(A.southeastChild===this)return A.northeastChild;let f=A.findTileToNorth(o);if(f!==void 0)return A.northwestChild===this?f.southwestChild:f.southeastChild};nE.prototype.freeResources=function(){this.state=Hh.START,this.renderable=!1,this.upsampledFromParent=!1,O(this.data)&&O(this.data.freeResources)&&this.data.freeResources(),O(this.data)&&O(this.data.geometryPrimitive)&&(this.data.geometryPrimitive.destroy(),this.data.geometryPrimitive=void 0),Pq(this._southwestChild),this._southwestChild=void 0,Pq(this._southeastChild),this._southeastChild=void 0,Pq(this._northwestChild),this._northwestChild=void 0,Pq(this._northeastChild),this._northeastChild=void 0};function Pq(o){O(o)&&o.freeResources()}var EY=nE;function Pie(){this.head=void 0,this.tail=void 0,this.count=0,this._lastBeforeStartOfFrame=void 0}Pie.prototype.markStartOfRenderFrame=function(){this._lastBeforeStartOfFrame=this.head};Pie.prototype.trimTiles=function(o){let A=this.tail,f=!0;for(;f&&O(this._lastBeforeStartOfFrame)&&this.count>o&&O(A);){f=A!==this._lastBeforeStartOfFrame;let m=A.replacementPrevious;A.eligibleForUnloading&&(A.freeResources(),JKe(this,A)),A=m}};function JKe(o,A){let f=A.replacementPrevious,m=A.replacementNext;A===o._lastBeforeStartOfFrame&&(o._lastBeforeStartOfFrame=m),A===o.head?o.head=m:f.replacementNext=m,A===o.tail?o.tail=f:m.replacementPrevious=f,A.replacementPrevious=void 0,A.replacementNext=void 0,--o.count}Pie.prototype.markTileRendered=function(o){let A=this.head;if(A===o){o===this._lastBeforeStartOfFrame&&(this._lastBeforeStartOfFrame=o.replacementNext);return}if(++this.count,!O(A)){o.replacementPrevious=void 0,o.replacementNext=void 0,this.head=o,this.tail=o;return}(O(o.replacementPrevious)||O(o.replacementNext))&&JKe(this,o),o.replacementPrevious=void 0,o.replacementNext=A,A.replacementPrevious=o,this.head=o};var Rie=Pie;function fv(o){this._tileProvider=o.tileProvider,this._tileProvider.quadtree=this,this._debug={enableDebugOutput:!1,maxDepth:0,maxDepthVisited:0,tilesVisited:0,tilesCulled:0,tilesRendered:0,tilesWaitingForChildren:0,lastMaxDepth:-1,lastMaxDepthVisited:-1,lastTilesVisited:-1,lastTilesCulled:-1,lastTilesRendered:-1,lastTilesWaitingForChildren:-1,suspendLodUpdate:!1};let A=this._tileProvider.tilingScheme.ellipsoid;this._tilesToRender=[],this._tileLoadQueueHigh=[],this._tileLoadQueueMedium=[],this._tileLoadQueueLow=[],this._tileReplacementQueue=new Rie,this._levelZeroTiles=void 0,this._loadQueueTimeSlice=5,this._tilesInvalidated=!1,this._addHeightCallbacks=[],this._removeHeightCallbacks=[],this._tileToUpdateHeights=[],this._lastTileIndex=0,this._updateHeightsTimeSlice=2,this._cameraPositionCartographic=void 0,this._cameraReferenceFrameOriginCartographic=void 0,this.maximumScreenSpaceError=oe(o.maximumScreenSpaceError,2),this.tileCacheSize=oe(o.tileCacheSize,100),this.loadingDescendantLimit=20,this.preloadAncestors=!0,this.preloadSiblings=!1,this._occluders=new Mie({ellipsoid:A}),this._tileLoadProgressEvent=new ur,this._lastTileLoadQueueLength=0,this._lastSelectionFrameNumber=void 0}Object.defineProperties(fv.prototype,{tileProvider:{get:function(){return this._tileProvider}},tileLoadProgressEvent:{get:function(){return this._tileLoadProgressEvent}},occluders:{get:function(){return this._occluders}}});fv.prototype.invalidateAllTiles=function(){this._tilesInvalidated=!0};function Z6t(o){let A=o._tileReplacementQueue;A.head=void 0,A.tail=void 0,A.count=0,KKe(o);let f=o._levelZeroTiles;if(O(f))for(let m=0;m0)try{f.updateForPick(o)}catch(m){console.error(m)}};function $6t(o,A){let f=o._tileLoadQueueHigh.length+o._tileLoadQueueMedium.length+o._tileLoadQueueLow.length;(f!==o._lastTileLoadQueueLength||o._tilesInvalidated)&&(A.afterRender.push(ur.prototype.raiseEvent.bind(o._tileLoadProgressEvent,f)),o._lastTileLoadQueueLength=f);let m=o._debug;m.enableDebugOutput&&!m.suspendLodUpdate&&(m.maxDepth=o._tilesToRender.reduce(function(C,E){return Math.max(C,E.level)},-1),m.tilesRendered=o._tilesToRender.length,(m.tilesVisited!==m.lastTilesVisited||m.tilesRendered!==m.lastTilesRendered||m.tilesCulled!==m.lastTilesCulled||m.maxDepth!==m.lastMaxDepth||m.tilesWaitingForChildren!==m.lastTilesWaitingForChildren||m.maxDepthVisited!==m.lastMaxDepthVisited)&&(console.log(`Visited ${m.tilesVisited}, Rendered: ${m.tilesRendered}, Culled: ${m.tilesCulled}, Max Depth Rendered: ${m.maxDepth}, Max Depth Visited: ${m.maxDepthVisited}, Waiting for children: ${m.tilesWaitingForChildren}`),m.lastTilesVisited=m.tilesVisited,m.lastTilesRendered=m.tilesRendered,m.lastTilesCulled=m.tilesCulled,m.lastMaxDepth=m.maxDepth,m.lastTilesWaitingForChildren=m.tilesWaitingForChildren,m.lastMaxDepthVisited=m.maxDepthVisited))}fv.prototype.endFrame=function(o){!o.passes.render||o.mode===ni.MORPHING||(lVt(this,o),cVt(this,o),$6t(this,o))};var i7,eOe=new Rt;function eVt(o,A){let f=gi.center(o.rectangle,eOe),m=f.longitude-i7.longitude,C=f.latitude-i7.latitude;f=gi.center(A.rectangle,eOe);let E=f.longitude-i7.longitude,x=f.latitude-i7.latitude;return m*m+C*C-(E*E+x*x)}var tVt=new Z,dV=[];function iVt(o,A){let f=o._debug;if(f.suspendLodUpdate)return;let m=o._tilesToRender;m.length=0;let C,E=o._tileProvider;if(!O(o._levelZeroTiles))if(E.ready){let D=E.tilingScheme;o._levelZeroTiles=EY.createLevelZeroTiles(D);let R=o._levelZeroTiles.length;if(dV.length1?o._occluders:void 0;i7=A.camera.positionCartographic,y.sort(eVt);let v=o._addHeightCallbacks,B=o._removeHeightCallbacks,Q=A.frameNumber,T;if(v.length>0||B.length>0){for(C=0,T=y.length;CE.maxDepthVisited&&(E.maxDepthVisited=f.level);let x=aVt(o,A,f)o.loadingDescendantLimit&&(o._tileLoadQueueLow.length=D,o._tileLoadQueueMedium.length=R,o._tileLoadQueueHigh.length=P,jS(o,o._tileLoadQueueMedium,f,A),C.notYetRenderableCount=f.renderable?0:1,N=!0),C.allAreRenderable=f.renderable,C.anyWereRenderedLastFrame=J,J||o._tileToUpdateHeights.push(f),++E.tilesWaitingForChildren}o.preloadAncestors&&!N&&jS(o,o._tileLoadQueueLow,f,A)}return}f._lastSelectionResultFrame=A.frameNumber,f._lastSelectionResult=Xo.RENDERED,Rq(o,f),jS(o,o._tileLoadQueueHigh,f,A),C.allAreRenderable=f.renderable,C.anyWereRenderedLastFrame=T===Xo.RENDERED,C.notYetRenderableCount=f.renderable?0:1}function nVt(o,A,f,m,C,E,x,y){let I=E.camera.positionCartographic,v=o._tileProvider,B=o._occluders,Q=Yfe[A.level],T=Q.southwest,w=Q.southeast,S=Q.northwest,D=Q.northeast;I.longitude0;){let Q=m[0];if(!O(Q.data)||!O(Q.data.mesh)){let D=Q._lastSelectionResultFrame===o._lastSelectionFrameNumber?Q._lastSelectionResult:Xo.NONE;(D===Xo.RENDERED||D===Xo.CULLED_BUT_NEEDED)&&f.push(Q),m.shift(),o._lastTileIndex=0;continue}let T=Q.customData,w=T.length,S=!1;for(B=o._lastTileIndex;BD.level&&!P){if(O(D.positionOnEllipsoidSurface)||(D.positionOnEllipsoidSurface=Z.fromRadians(D.positionCartographic.longitude,D.positionCartographic.latitude,0,v)),y===ni.SCENE3D){let L=v.geodeticSurfaceNormal(D.positionOnEllipsoidSurface,yU.direction),F=v.getSurfaceNormalIntersectionWithZAxis(D.positionOnEllipsoidSurface,11500,yU.origin);if(!O(F)){let k;O(Q.data.tileBoundingRegion)&&(k=Q.data.tileBoundingRegion.minimumHeight);let N=Math.min(oe(k,0),-11500),G=Z.multiplyByScalar(L,Math.abs(N)+1,o2);Z.subtract(D.positionOnEllipsoidSurface,G,yU.origin)}}else Rt.clone(D.positionCartographic,Dce),Dce.height=-11500,I.project(Dce,o2),Z.fromElements(o2.z,o2.x,o2.y,o2),Z.clone(o2,yU.origin),Z.clone(Z.UNIT_X,yU.direction);let M=Q.data.pick(yU,y,I,!1,o2);O(M)&&(D.callback(M),D.level=Q.level)}if(oA()>=x){S=!0;break}}if(S){o._lastTileIndex=B;break}else o._lastTileIndex=0,m.shift()}for(B=0;B"),le.contentDocument.write(ue),le.contentDocument.close()})};var L=function(G,J,K,X,q){var ee,ie,H,le,ue,Ae,he,ge,fe,ae,U,W=Math.max(G.scrollWidth,G.clientWidth),Y=Math.max(G.scrollHeight,G.clientHeight);return J?(ee=(Ae=function(z,re){var se=z.querySelector(re);if(se)return se;if(z.ownerDocument.querySelector(re)===z)return z;throw{message:"Clipping selector not found"}}(G,J).getBoundingClientRect()).top,ie=Ae.left,H=Ae.width,le=Ae.height):(ie=ee=0,H=W,le=Y),ge={width:H,height:le},fe=K,ae=X,U=q,he={width:Math.max(ge.width*U,fe),height:Math.max(ge.height*U,ae)},ue=P.getComputedStyle(G.ownerDocument.documentElement).fontSize,{left:ie,top:ee,width:he.width,height:he.height,viewportWidth:W,viewportHeight:Y,rootFontSize:ue}};M.calculateDocumentContentSize=function(G,J){return new Promise(function(K,X){var q,ee,ie,H,le,ue,Ae,he,ge,fe,ae,U,W=J.zoom||1;ee=J.width,ie=J.height,H=W,ge=Math.floor(ee/H),fe=Math.floor(ie/H),le=P.document,ue=ge,Ae=fe,(he=le.createElement("iframe")).style.width=ue+"px",he.style.height=Ae+"px",he.style.visibility="hidden",he.style.position="absolute",he.style.top=-1e4-Ae+"px",he.style.left=-1e4-ue+"px",he.style.borderWidth=0,he.sandbox="allow-same-origin",he.scrolling="no",q=he,P.document.getElementsByTagName("body")[0].appendChild(q),q.onload=function(){var Y,z,re,se=q.contentDocument;try{Y=L((z=se,re=G.tagName,z.querySelector(re)),J.clip,J.width,J.height,W),K(Y)}catch(de){X(de)}finally{P.document.getElementsByTagName("body")[0].removeChild(q)}},q.contentDocument.open(),q.contentDocument.write(""),q.contentDocument.write((U=(ae=G).tagName.toLowerCase())==="html"||U==="body"?ae.outerHTML:''+ae.outerHTML+""),q.contentDocument.close()})},M.parseHtmlFragment=function(G){var J=P.document.implementation.createHTMLDocument("");J.documentElement.innerHTML=G;var K=J.querySelector("body").firstChild;if(!K)throw"Invalid source";return K},M.parseHTML=function(G){var J=P.document.implementation.createHTMLDocument("");return J.documentElement.innerHTML=G,function(K,X){var q,ee,ie,H,le=/]*)?)>/im.exec(X),ue=P.document.implementation.createHTMLDocument("");if(le)for(q="",ue.documentElement.innerHTML=q,ie=ue.querySelector("div"),ee=0;ee"],{type:"text/xml"}),!0}catch{}return!1})()&&S.URL?(K=P(L,!0),F(K).then(function(X){return M(K),!X&&F(P(L,!1)).then(function(q){return q})},function(){return!1})).then(function(X){G(!X)},function(){J()}):G(!1)})},N=function(G){return(D===void 0&&(D=k()),D).then(function(J){return P(G,J)})};return R.renderSvg=function(G){return new Promise(function(J,K){var X,q,ee=function(){X&&M(X)};(q=new Image).onload=function(){q.onload=null,q.onerror=null,ee(),J(q)},q.onerror=function(){ee(),K()},N(G).then(function(ie){X=ie,q.src=X},K)})},R}(window);return function(S,D,R){"use strict";var P={};P.drawDocument=function(){var L,F,k,N,G,J,K,X=arguments[0],q=Array.prototype.slice.call(arguments,1),ee=S.parseOptionalParameters(q),ie=X.documentElement?X.documentElement:X;return R.rasterize(ie,ee.canvas,(k=(L=ee).canvas,N=L.options,G=k?k.width:300,J=k?k.height:200,K={width:N.width!==void 0?N.width:G,height:N.height!==void 0?N.height:J},(F=S.clone(L.options)).width=K.width,F.height=K.height,F))},P.drawHTML=function(){var L,F,k,N,G=arguments[0],J=Array.prototype.slice.call(arguments,1),K=S.parseOptionalParameters(J);return L=G,F=K.canvas,k=K.options,N=D.parseHTML(L),P.drawDocument(N,F,k)};var M=function(L,F,k){return D.loadDocument(L,k).then(function(N){var G=function(J,K,X){var q=document.implementation.createHTMLDocument("");q.replaceChild(J.documentElement,q.documentElement);var ee=X?S.clone(X):{};return X.baseUrl||(ee.baseUrl=K),{document:q,options:ee}}(N,L,k);return P.drawDocument(G.document,F,G.options)})};return P.drawURL=function(){var L=arguments[0],F=Array.prototype.slice.call(arguments,1),k=S.parseOptionalParameters(F);return M(L,k.canvas,k.options)},P}(v,T,function(S,D,R,P,M,L){"use strict";var F={},k=function(J){return{message:"Error rendering page",originalError:J}},N=function(J){return M.renderSvg(J).then(function(K){return{image:K,svg:J}},function(K){throw k(K)})},G=function(J,K,X){return P.drawDocumentAsSvg(J,X).then(N).then(function(q){return K&&function(ee,ie){try{ie.getContext("2d").drawImage(ee,0,0)}catch(H){throw k(H)}}(q.image,K),q})};return F.rasterize=function(J,K,X){var q;return(q=S.clone(X)).inlineScripts=X.executeJs===!0,L.inlineReferences(J,q).then(function(ee){return X.executeJs?(ie=J,H=X,D.executeJavascript(ie,H).then(function(le){var ue=le.document;return R.persistInputValues(ue),{document:ue,errors:le.errors}})).then(function(le){return{element:le.document.documentElement,errors:ee.concat(le.errors)}}):{element:J,errors:ee};var ie,H}).then(function(ee){return G(ee.element,K,X).then(function(ie){return{image:ie.image,svg:ie.svg,errors:ee.errors}})})},F}(v,T,Q,function(S,D,R,P){"use strict";var M={},L=function(k){var N=Object.keys(k);return N.length?" "+N.map(function(G){return G+'="'+k[G]+'"'}).join(" "):""},F=function(k,N,G){var J=P.serializeToString(k);D.validateXHTML(J);var K,X,q,ee,ie,H,le,ue,Ae=(K=N,X=Math.round(K.viewportWidth),q=Math.round(K.viewportHeight),{x:-K.left,y:-K.top,width:X,height:q});return ie=(ee=Ae).style||"",ee.style=ie+"float: left;",Ae.externalResourcesRequired=!0,'"+J+""};return M.getSvgForDocument=function(k,N,G){return R.rewriteTagNameSelectorsToLowerCase(k),F(k,N,G)},M.drawDocumentAsSvg=function(k,N){return["hover","active","focus","target"].forEach(function(G){N[G]&&R.fakeUserAction(k,N[G],G)}),D.calculateDocumentContentSize(k,N).then(function(G){return M.getSvgForDocument(k,G,N.zoom)})},M}(0,T,Q,x),w,I))},(m=this)===void 0&&window!==void 0&&(m=window),typeof A=="object"&&A.exports?A.exports=C(o("url"),o("xmlserializer"),o("sane-domparser-error"),o("inlineresources")):m.rasterizeHTML=C(m.url,m.xmlserializer,m.sanedomparsererror,m.inlineresources)},{inlineresources:5,"sane-domparser-error":14,url:15,xmlserializer:17}],2:[function(o,A,f){(function(m){(function(C){typeof f=="object"&&A!==void 0?A.exports=C():(typeof window<"u"?window:m!==void 0?m:typeof self<"u"?self:this).cssFontFaceSrc=C()})(function(){return function C(E,x,y){function I(Q,T){if(!x[Q]){if(!E[Q]){var w=typeof o=="function"&&o;if(!T&&w)return w(Q,!0);if(v)return v(Q,!0);var S=new Error("Cannot find module '"+Q+"'");throw S.code="MODULE_NOT_FOUND",S}var D=x[Q]={exports:{}};E[Q][0].call(D.exports,function(R){var P=E[Q][1][R];return I(P||R)},D,D.exports,C,E,x,y)}return x[Q].exports}for(var v=typeof o=="function"&&o,B=0;B= 0x80 (not a basic code point)","invalid-input":"Invalid input"},G=Q-T,J=Math.floor,K=String.fromCharCode;function X(ge){throw RangeError(N[ge])}function q(ge,fe){for(var ae=ge.length,U=[];ae--;)U[ae]=fe(ge[ae]);return U}function ee(ge,fe){var ae=ge.split("@"),U="";return 1>>10&1023|55296),fe=56320|1023&fe),ae+=K(fe)}).join("")}function le(ge,fe){return ge+22+75*(ge<26)-((fe!=0)<<5)}function ue(ge,fe,ae){var U=0;for(ge=ae?J(ge/D):ge>>1,ge+=J(ge/fe);G*w>>1J((B-Te)/z))&&X("overflow"),Te+=se*z,!(se<(de=re<=ke?T:ke+w<=re?w:re-ke));re+=Q)z>J(B/(me=Q-de))&&X("overflow"),z*=me;ke=ue(Te-Y,fe=Ie.length+1,Y==0),J(Te/fe)>B-Ge&&X("overflow"),Ge+=J(Te/fe),Te%=fe,Ie.splice(Te++,0,Ge)}return H(Ie)}function he(ge){var fe,ae,U,W,Y,z,re,se,de,me,Ce,Ie,we,Te,Ge,ke=[];for(Ie=(ge=ie(ge)).length,fe=P,Y=R,z=ae=0;zJ((B-ae)/(we=U+1))&&X("overflow"),ae+=(re-fe)*we,fe=re,z=0;zB&&X("overflow"),Ce==fe){for(se=ae,de=Q;!(se<(me=de<=Y?T:Y+w<=de?w:de-Y));de+=Q)Ge=se-me,Te=Q-me,ke.push(K(le(me+Ge%Te,0))),se=J(Ge/Te);ke.push(K(le(se,0))),Y=ue(ae,we,U==W),ae=0,++U}++ae,++fe}return ke.join("")}if(I={version:"1.3.2",ucs2:{decode:ie,encode:H},decode:Ae,encode:he,toASCII:function(ge){return ee(ge,function(fe){return F.test(fe)?"xn--"+he(fe):fe})},toUnicode:function(ge){return ee(ge,function(fe){return L.test(fe)?Ae(fe.slice(4).toLowerCase()):fe})}},E&&x)if(A.exports==E)x.exports=I;else for(v in I)I.hasOwnProperty(v)&&(E[v]=I[v]);else C.punycode=I})(this)}).call(this,typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{})},{}],11:[function(o,A,f){"use strict";A.exports=function(C,E,x,y){E=E||"&",x=x||"=";var I={};if(typeof C!="string"||C.length===0)return I;var v=/\+/g;C=C.split(E);var B=1e3;y&&typeof y.maxKeys=="number"&&(B=y.maxKeys);var Q,T,w=C.length;0]*>This page contains the following errors:]*>(.+?) ?`),new RegExp(`^(.+) `)],C=function(E){var x,y,I,v,B=(x=E,y=new XMLSerializer,Array.prototype.map.call(x.childNodes,function(Q){return y.serializeToString(Q)}).join(""));for(I=0;I",'"',"`"," ","\r",` `," "]),B=["'"].concat(v),Q=["%","/","?",";","#"].concat(B),T=["/","?","#"],w=/^[+a-z0-9A-Z_-]{0,63}$/,S=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,D={javascript:!0,"javascript:":!0},R={javascript:!0,"javascript:":!0},P={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},M=o("querystring");function L(F,k,N){if(F&&C.isObject(F)&&F instanceof E)return F;var G=new E;return G.parse(F,k,N),G}E.prototype.parse=function(F,k,N){if(!C.isString(F))throw new TypeError("Parameter 'url' must be a string, not "+typeof F);var G=F.indexOf("?"),J=G!==-1&&G/g,">").replace(/"/g,""").replace(/'/g,"'")+'"')}),0",w+=x(v),w+=""):w+="/>",w},I=function(v,B){var Q,T=B&&B.rootNode;return v.nodeName==="#document"||v.nodeName==="#document-fragment"?x(v):v.tagName?y(v,T):v.nodeName==="#text"?((Q=v).nodeValue||Q.value||"").replace(/&/g,"&").replace(//g,">"):v.nodeName==="#comment"?"":v.nodeName==="#cdata-section"?"":void 0};return{serializeToString:function(v){return I(v,{rootNode:!0}).replace(/[\x00-\x08\x0B\x0C\x0E-\x1F]/g,"")}}},typeof A=="object"&&A.exports?A.exports=C():m.xmlserializer=C()},{}]},{},[1])(1)});var nye=qKe.rasterizeHTML,_G=nye,dVt=Ve.WHITE,fVt=Ve.BLACK,gVt=1;function d4(o){o=oe(o,oe.EMPTY_OBJECT),this._definitionChanged=new ur,this._color=void 0,this._colorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this.color=o.color,this.outlineColor=o.outlineColor,this.outlineWidth=o.outlineWidth}Object.defineProperties(d4.prototype,{isConstant:{get:function(){return Bt.isConstant(this._color)&&Bt.isConstant(this._outlineColor)&&Bt.isConstant(this._outlineWidth)}},definitionChanged:{get:function(){return this._definitionChanged}},color:fi("color"),outlineColor:fi("outlineColor"),outlineWidth:fi("outlineWidth")});d4.prototype.getType=function(o){return"PolylineOutline"};d4.prototype.getValue=function(o,A){return O(A)||(A={}),A.color=Bt.getValueOrClonedDefault(this._color,o,dVt,A.color),A.outlineColor=Bt.getValueOrClonedDefault(this._outlineColor,o,fVt,A.outlineColor),A.outlineWidth=Bt.getValueOrDefault(this._outlineWidth,o,gVt),A};d4.prototype.equals=function(o){return this===o||o instanceof d4&&Bt.equals(this._color,o._color)&&Bt.equals(this._outlineColor,o._outlineColor)&&Bt.equals(this._outlineWidth,o._outlineWidth)};var MD=d4,pVt=function(){function o(A,f){this.options={position:f.position,label:{text:f.labelText,font:"12pt monospace",style:Pu.FILL_AND_OUTLINE,outlineWidth:2,verticalOrigin:hn.BOTTOM,pixelOffset:new rt(0,-9),disableDepthTestDistance:Number.POSITIVE_INFINITY}},this.positions=f.positions,this.earthCtrl=A,this._init()}return o.prototype._init=function(){this.entity=this.earthCtrl.entities.add(this.options)},o.prototype.destory=function(){O(this.entity)&&this.earthCtrl.entities.remove(this.entity)},Object.defineProperties(o.prototype,{text:{get:function(){return this.entity.label.text},set:function(A){this.entity.label.text=A}},position:{get:function(){return this.entity.position},set:function(A){this.entity.position=A}}}),o}(),mVt=function(){function o(A,f){this.primitive=new Uz;for(let m in f.positions)f.positions.hasOwnProperty(m)&&this.primitive.add({show:!0,position:m,color:f.color,pixelSize:f.pixelSize,allowPicking:!1,disableDepthTestDistance:Number.POSITIVE_INFINITY,outlineColor:oe(f.outlineColor,Ve.WHITE),outlineWidth:oe(f.outlineWidth,2)});this.earthCtrl=A,this.options=f,this._init()}return o.prototype._init=function(){this.earthCtrl.coreMap.scene.primitives.add(this.primitive)},o.prototype.destory=function(){this.earthCtrl.coreMap.scene.primitives.remove(this.primitive)},o.prototype.add=function(A){this.primitive.add({show:!0,position:A,color:this.options.color,pixelSize:this.options.pixelSize,disableDepthTestDistance:Number.POSITIVE_INFINITY})},o.prototype.count=function(A){return this.primitive.length},o.prototype.get=function(A){return this.primitive.get(A)},o.prototype.set=function(A,f){this.primitive.get(A).position=f},o}(),CVt=function(){function o(A,f){this.options={polyline:{positions:[],arcType:Ia.NONE,material:f.color,width:f.width}},this.positions=f.positions,this.earthCtrl=A,this._init()}return o.prototype._init=function(){let A=this,f=function(){return A.positions};this.options.polyline.positions=new Hr(f,!1),this.entity=this.earthCtrl.entities.add(this.options)},o.prototype.destory=function(){O(this.entity)&&this.earthCtrl.entities.remove(this.entity)},o}(),EVt=function(){function o(A,f){this.options={polygon:{show:!0,hierarchy:{positions:f.positions},material:f.color,width:f.width,outline:!0,outlineColor:f.outlineColor,disableDepthTestDistance:1e4}},this.positions=f.positions,this.earthCtrl=A,this._init()}return o.prototype._init=function(){let A=this,f=function(){return{positions:A.positions}};this.options.polygon.hierarchy=new Hr(f,!1),this.entity=this.earthCtrl.entities.add(this.options)},o.prototype.destory=function(){this.entity!==null&&this.earthCtrl.entities.remove(this.entity)},o}(),vG=function(){};vG.createPointPrimitive=function(o,A){return o.entities.add(A)};vG.createLabelPrimitive=function(o,A){return new pVt(o,A)};vG.createPointsPrimitive=function(o,A){return new mVt(o,A)};vG.createPolylinePrimitive=function(o,A){return new CVt(o,A)};vG.createPolygonPrimitive=function(o,A){return new EVt(o,A)};var sA=vG;function XKe(o){o=oe(o,oe.EMPTY_OBJECT),this.vertexArray=o.vertexArray,this.fragmentShaderSource=o.fragmentShaderSource,this.shaderProgram=o.shaderProgram,this.uniformMap=o.uniformMap,this.outputTexture=o.outputTexture,this.preExecute=o.preExecute,this.postExecute=o.postExecute,this.canceled=o.canceled,this.persists=oe(o.persists,!1),this.pass=Yi.COMPUTE,this.owner=o.owner}XKe.prototype.execute=function(o){o.execute(this)};var TN=XKe,oye=`in vec2 v_textureCoordinates; uniform float originalSize; uniform sampler2D texture0; uniform sampler2D texture1; uniform sampler2D texture2; uniform sampler2D texture3; uniform sampler2D texture4; uniform sampler2D texture5; const float yMipLevel1 = 1.0 - (1.0 / pow(2.0, 1.0)); const float yMipLevel2 = 1.0 - (1.0 / pow(2.0, 2.0)); const float yMipLevel3 = 1.0 - (1.0 / pow(2.0, 3.0)); const float yMipLevel4 = 1.0 - (1.0 / pow(2.0, 4.0)); void main() { vec2 uv = v_textureCoordinates; vec2 textureSize = vec2(originalSize * 1.5 + 2.0, originalSize); vec2 pixel = 1.0 / textureSize; float mipLevel = 0.0; if (uv.x - pixel.x > (textureSize.y / textureSize.x)) { mipLevel = 1.0; if (uv.y - pixel.y > yMipLevel1) { mipLevel = 2.0; if (uv.y - pixel.y * 3.0 > yMipLevel2) { mipLevel = 3.0; if (uv.y - pixel.y * 5.0 > yMipLevel3) { mipLevel = 4.0; if (uv.y - pixel.y * 7.0 > yMipLevel4) { mipLevel = 5.0; } } } } } if (mipLevel > 0.0) { float scale = pow(2.0, mipLevel); uv.y -= (pixel.y * (mipLevel - 1.0) * 2.0); uv.x *= ((textureSize.x - 2.0) / textureSize.y); uv.x -= 1.0 + pixel.x; uv.y -= (1.0 - (1.0 / pow(2.0, mipLevel - 1.0))); uv *= scale; } else { uv.x *= (textureSize.x / textureSize.y); } if(mipLevel == 0.0) { out_FragColor = texture(texture0, uv); } else if(mipLevel == 1.0) { out_FragColor = texture(texture1, uv); } else if(mipLevel == 2.0) { out_FragColor = texture(texture2, uv); } else if(mipLevel == 3.0) { out_FragColor = texture(texture3, uv); } else if(mipLevel == 4.0) { out_FragColor = texture(texture4, uv); } else if(mipLevel == 5.0) { out_FragColor = texture(texture5, uv); } else { out_FragColor = vec4(0.0); } } `,aye=`in vec3 v_cubeMapCoordinates; uniform samplerCube cubeMap; void main() { vec4 rgba = czm_textureCube(cubeMap, v_cubeMapCoordinates); #ifdef RGBA_NORMALIZED out_FragColor = vec4(rgba.rgb, 1.0); #else float m = rgba.a * 16.0; vec3 r = rgba.rgb * m; out_FragColor = vec4(r * r, 1.0); #endif } `,sye=`in vec4 position; in vec3 cubeMapCoordinates; out vec3 v_cubeMapCoordinates; void main() { gl_Position = position; v_cubeMapCoordinates = cubeMapCoordinates; } `;function MN(o){this._url=o,this._cubeMapBuffers=void 0,this._cubeMaps=void 0,this._texture=void 0,this._mipTextures=void 0,this._va=void 0,this._sp=void 0,this._maximumMipmapLevel=void 0,this._loading=!1,this._ready=!1,this._errorEvent=new ur}Object.defineProperties(MN.prototype,{url:{get:function(){return this._url}},errorEvent:{get:function(){return this._errorEvent}},texture:{get:function(){return this._texture}},maximumMipmapLevel:{get:function(){return this._maximumMipmapLevel}},ready:{get:function(){return this._ready}}});MN.isSupported=function(o){return o.colorBufferHalfFloat&&o.halfFloatingPointTexture||o.floatingPointTexture&&o.colorBufferFloat};var xVt=new Z(1,0,0),yVt=new Z(0,0,1),IVt=new Z(-1,0,0),_Vt=new Z(0,0,-1),Lq=new Z(0,1,0),vVt=new Z(0,-1,0),ZKe=[Lq,IVt,yVt,vVt,xVt,Lq,_Vt,Lq,Lq],$Ke=ZKe.length,eWe=new Float32Array($Ke*3),tOe=0;for(let o=0;o<$Ke;++o,tOe+=3)Z.pack(ZKe[o],eWe,tOe);var BVt=new Float32Array([-1,1,-1,0,0,1,0,0,1,0,1,1,0,-1,-1,-1,1,-1]),wVt=new Uint16Array([0,1,2,2,3,1,7,6,1,3,6,1,2,5,4,3,4,2,4,8,6,3,4,6]);function bVt(o){let A=Wn.createVertexBuffer({context:o,typedArray:BVt,usage:Gr.STATIC_DRAW}),f=Wn.createVertexBuffer({context:o,typedArray:eWe,usage:Gr.STATIC_DRAW}),m=Wn.createIndexBuffer({context:o,typedArray:wVt,usage:Gr.STATIC_DRAW,indexDatatype:Bn.UNSIGNED_SHORT}),C=[{index:0,vertexBuffer:A,componentsPerAttribute:2,componentDatatype:Ft.FLOAT},{index:1,vertexBuffer:f,componentsPerAttribute:3,componentDatatype:Ft.FLOAT}];return new hu({context:o,attributes:C,indexBuffer:m})}function iOe(o){return function(){return o}}function Jfe(o){o._va=o._va&&o._va.destroy(),o._sp=o._sp&&o._sp.destroy();let A,f,m=o._cubeMaps;if(O(m))for(f=m.length,A=0;A0||this._imageBasedLightingFactor.y>0}},shouldRegenerateShaders:{get:function(){return this._shouldRegenerateShaders}},useDefaultSphericalHarmonics:{get:function(){return this._useDefaultSphericalHarmonics}},useSphericalHarmonicCoefficients:{get:function(){return O(this._sphericalHarmonicCoefficients)||this._useDefaultSphericalHarmonics}},specularEnvironmentMapAtlas:{get:function(){return this._specularEnvironmentMapAtlas}},useDefaultSpecularMaps:{get:function(){return this._useDefaultSpecularMaps}},useSpecularEnvironmentMaps:{get:function(){return O(this._specularEnvironmentMapAtlas)&&this._specularEnvironmentMapAtlas.ready||this._useDefaultSpecularMaps}}});function QVt(o,A){if(PN.isSupported(A)){if(o._specularEnvironmentMapAtlas=o._specularEnvironmentMapAtlas&&o._specularEnvironmentMapAtlas.destroy(),O(o._specularEnvironmentMaps)){let f=new PN(o._specularEnvironmentMaps);o._specularEnvironmentMapAtlas=f,o._removeErrorListener=f.errorEvent.addEventListener(m=>{console.error(`Error loading specularEnvironmentMaps: ${m}`)})}o._shouldRegenerateShaders=!0}}xY.prototype.update=function(o){if(o.frameNumber===this._previousFrameNumber)return;this._previousFrameNumber=o.frameNumber;let A=o.context;o.brdfLutGenerator.update(o),this._shouldRegenerateShaders=!1;let f=this._imageBasedLightingFactor,m=this._previousImageBasedLightingFactor;rt.equals(f,m)||(this._shouldRegenerateShaders=f.x>0&&m.x===0||f.x===0&&m.x>0,this._shouldRegenerateShaders=this._shouldRegenerateShaders||f.y>0&&m.y===0||f.y===0&&m.y>0,this._previousImageBasedLightingFactor=rt.clone(this._imageBasedLightingFactor,this._previousImageBasedLightingFactor)),this._luminanceAtZenith!==this._previousLuminanceAtZenith&&(this._shouldRegenerateShaders=this._shouldRegenerateShaders||O(this._luminanceAtZenith)!==O(this._previousLuminanceAtZenith),this._previousLuminanceAtZenith=this._luminanceAtZenith),this._previousSphericalHarmonicCoefficients!==this._sphericalHarmonicCoefficients&&(this._shouldRegenerateShaders=this._shouldRegenerateShaders||O(this._previousSphericalHarmonicCoefficients)!==O(this._sphericalHarmonicCoefficients),this._previousSphericalHarmonicCoefficients=this._sphericalHarmonicCoefficients),this._shouldRegenerateShaders=this._shouldRegenerateShaders||this._previousSpecularEnvironmentMapLoaded!==this._specularEnvironmentMapLoaded,this._previousSpecularEnvironmentMapLoaded=this._specularEnvironmentMapLoaded,this._specularEnvironmentMapAtlasDirty&&(QVt(this,A),this._specularEnvironmentMapAtlasDirty=!1),O(this._specularEnvironmentMapAtlas)&&(this._specularEnvironmentMapAtlas.update(o),this._specularEnvironmentMapAtlas.ready&&(this._specularEnvironmentMapLoaded=!0));let C=!O(this._specularEnvironmentMapAtlas)&&O(o.specularEnvironmentMaps)&&!this._useDefaultSpecularMaps,E=!O(o.specularEnvironmentMaps)&&this._useDefaultSpecularMaps,x=!O(this._sphericalHarmonicCoefficients)&&O(o.sphericalHarmonicCoefficients)&&!this._useDefaultSphericalHarmonics,y=!O(o.sphericalHarmonicCoefficients)&&this._useDefaultSphericalHarmonics;this._shouldRegenerateShaders=this._shouldRegenerateShaders||C||E||x||y,this._useDefaultSpecularMaps=!O(this._specularEnvironmentMapAtlas)&&O(o.specularEnvironmentMaps),this._useDefaultSphericalHarmonics=!O(this._sphericalHarmonicCoefficients)&&O(o.sphericalHarmonicCoefficients)};xY.prototype.isDestroyed=function(){return!1};xY.prototype.destroy=function(){return this._specularEnvironmentMapAtlas=this._specularEnvironmentMapAtlas&&this._specularEnvironmentMapAtlas.destroy(),this._removeErrorListener=this._removeErrorListener&&this._removeErrorListener(),Ar(this)};var Lie=xY,tWe=Dc(av(),1),Fq,iWe="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJmYmE2YWEzOS1lZDUyLTQ0YWMtOTlkNS0wN2VhZWI3NTc4MmEiLCJpZCI6MjU5LCJpYXQiOjE2ODU2MzQ0Njl9.AswCMxsN03WYwuZL-r183OZicN64Ks9aPExWhA3fuLY",Fie={};Fie.defaultAccessToken=iWe;Fie.defaultServer=new Cr({url:"https://api.cesium.com/"});Fie.getDefaultTokenCredit=function(o){if(o===iWe){if(!O(Fq)){let A=` This application is using Cesium's default ion access token. Please assign Cesium.Ion.defaultAccessToken with an access token from your ion account before making any Cesium API calls. You can sign up for a free ion account at https://cesium.com.`;Fq=new Qa(A,!0),Fq._isDefaultToken=!0}return Fq}};var Z2=Fie;function hE(o,A){let f,m=o.externalType,C=O(m);if(!C)f={url:o.url,retryAttempts:1,retryCallback:SVt};else if(m==="3DTILES"||m==="STK_TERRAIN_SERVER")f={url:o.options.url};else throw new ki("Ion.createResource does not support external imagery assets; use IonImageryProvider instead.");Cr.call(this,f),this._ionEndpoint=o,this._ionEndpointDomain=C?void 0:new tWe.default(o.url).authority(),this._ionEndpointResource=A,this._ionRoot=void 0,this._pendingPromise=void 0,this._credits=void 0,this._isExternal=C}O(Object.create)&&(hE.prototype=Object.create(Cr.prototype),hE.prototype.constructor=hE);hE.fromAssetId=function(o,A){let f=hE._createEndpointResource(o,A);return f.fetchJson().then(function(m){return new hE(m,f)})};Object.defineProperties(hE.prototype,{credits:{get:function(){return O(this._ionRoot)?this._ionRoot.credits:O(this._credits)?this._credits:(this._credits=hE.getCreditsFromEndpoint(this._ionEndpoint,this._ionEndpointResource),this._credits)}}});hE.getCreditsFromEndpoint=function(o,A){let f=o.attributions.map(Qa.getIonCredit),m=Z2.getDefaultTokenCredit(A.queryParameters.access_token);return O(m)&&f.push(Qa.clone(m)),f};hE.prototype.clone=function(o){let A=oe(this._ionRoot,this);return O(o)||(o=new hE(A._ionEndpoint,A._ionEndpointResource)),o=Cr.prototype.clone.call(this,o),o._ionRoot=A,o._isExternal=this._isExternal,o};hE.prototype.fetchImage=function(o){if(!this._isExternal){let A=o;o={preferBlob:!0},O(A)&&(o.flipY=A.flipY,o.preferImageBitmap=A.preferImageBitmap)}return Cr.prototype.fetchImage.call(this,o)};hE.prototype._makeRequest=function(o){return this._isExternal||new tWe.default(this.url).authority()!==this._ionEndpointDomain?Cr.prototype._makeRequest.call(this,o):(O(o.headers)||(o.headers={}),o.headers.Authorization=`Bearer ${this._ionEndpoint.accessToken}`,o.headers["X-Cesium-Client"]="CesiumJS",typeof CESIUM_VERSION<"u"&&(o.headers["X-Cesium-Client-Version"]=CESIUM_VERSION),Cr.prototype._makeRequest.call(this,o))};hE._createEndpointResource=function(o,A){A=oe(A,oe.EMPTY_OBJECT);let f=oe(A.server,Z2.defaultServer),m=oe(A.accessToken,Z2.defaultAccessToken);f=Cr.createIfNeeded(f);let C={url:`v1/assets/${o}/endpoint`};return O(m)&&(C.queryParameters={access_token:m}),f.getDerivedResource(C)};function SVt(o,A){let f=oe(o._ionRoot,o),m=f._ionEndpointResource,C=typeof Image<"u";return!O(A)||A.statusCode!==401&&!(C&&A.target instanceof Image)?Promise.resolve(!1):(O(f._pendingPromise)||(f._pendingPromise=m.fetchJson().then(function(E){return f._ionEndpoint=E,E}).finally(function(E){return f._pendingPromise=void 0,E})),f._pendingPromise.then(function(E){return o._ionEndpoint=E,!0}))}var H_=hE;function cQ(o){o=oe(o,0),this._array=new Array(o),this._length=o}Object.defineProperties(cQ.prototype,{length:{get:function(){return this._length},set:function(o){let A=this._array,f=this._length;if(oA.length&&(A.length=o);this._length=o}},values:{get:function(){return this._array}}});cQ.prototype.get=function(o){return this._array[o]};cQ.prototype.set=function(o,A){o>=this._length&&(this.length=o+1),this._array[o]=A};cQ.prototype.peek=function(){return this._array[this._length-1]};cQ.prototype.push=function(o){let A=this.length++;this._array[A]=o};cQ.prototype.pop=function(){if(this._length===0)return;let o=this._array[this._length-1];return--this.length,o};cQ.prototype.reserve=function(o){o>this._array.length&&(this._array.length=o)};cQ.prototype.resize=function(o){this.length=o};cQ.prototype.trim=function(o){o=oe(o,this._length),this._array.length=o};var Mb=cQ,PD={X:0,Y:1,Z:2};PD.Y_UP_TO_Z_UP=Re.fromRotationTranslation(Gt.fromRotationX(Be.PI_OVER_TWO));PD.Z_UP_TO_Y_UP=Re.fromRotationTranslation(Gt.fromRotationX(-Be.PI_OVER_TWO));PD.X_UP_TO_Z_UP=Re.fromRotationTranslation(Gt.fromRotationY(-Be.PI_OVER_TWO));PD.Z_UP_TO_X_UP=Re.fromRotationTranslation(Gt.fromRotationY(Be.PI_OVER_TWO));PD.X_UP_TO_Y_UP=Re.fromRotationTranslation(Gt.fromRotationZ(Be.PI_OVER_TWO));PD.Y_UP_TO_X_UP=Re.fromRotationTranslation(Gt.fromRotationZ(-Be.PI_OVER_TWO));PD.fromName=function(o){return PD[o]};var Ud=Object.freeze(PD);function rWe(o){o=oe(o,oe.EMPTY_OBJECT),this._metadata=o.metadata}Object.defineProperties(rWe.prototype,{metadata:{get:function(){return this._metadata}}});var Nie=rWe;function G2(o,A,f){return A=oe(A,0),f=oe(f,o.byteLength-A),o=o.subarray(A,A+f),G2.decode(o)}G2.decodeWithTextDecoder=function(o){return new TextDecoder("utf-8").decode(o)};G2.decodeWithFromCharCode=function(o){let A="",f=DVt(o),m=f.length;for(let C=0;C>10)+55296,(E&1023)+56320))}return A};function fV(o,A,f){return A<=o&&o<=f}function DVt(o){let A=0,f=0,m=0,C=128,E=191,x=[],y=o.length;for(let I=0;I{this._resolveContent=C})}Object.defineProperties(hw.prototype,{featurePropertiesDirty:{get:function(){let o=this._contents,A=o.length;for(let f=0;f0){let C=Math.min(A,Zn.maximumTextureSize),E=Math.ceil(A/Zn.maximumTextureSize),x=1/C,y=x*.5,I=1/E,v=I*.5;f=new rt(C,E),m=new zt(x,y,I,v)}this._translucentFeaturesLength=0,this._featuresLength=A,this._textureDimensions=f,this._textureStep=m,this._owner=o.owner,this._statistics=o.statistics,this._colorChangedCallback=o.colorChangedCallback}Object.defineProperties(fC.prototype,{translucentFeaturesLength:{get:function(){return this._translucentFeaturesLength}},byteLength:{get:function(){let o=0;return O(this._pickTexture)&&(o+=this._pickTexture.sizeInBytes),O(this._batchTexture)&&(o+=this._batchTexture.sizeInBytes),o}},textureDimensions:{get:function(){return this._textureDimensions}},textureStep:{get:function(){return this._textureStep}},batchTexture:{get:function(){return this._batchTexture}},defaultTexture:{get:function(){return this._defaultTexture}},pickTexture:{get:function(){return this._pickTexture}}});fC.DEFAULT_COLOR_VALUE=Ve.WHITE;fC.DEFAULT_SHOW_VALUE=!0;function nWe(o){let A=o._textureDimensions;return A.x*A.y*4}function oWe(o){if(!O(o._batchValues)){let A=nWe(o),f=new Uint8Array(A).fill(255);o._batchValues=f}return o._batchValues}function aWe(o){if(!O(o._showAlphaProperties)){let A=2*o._featuresLength,f=new Uint8Array(A).fill(255);o._showAlphaProperties=f}return o._showAlphaProperties}fC.prototype.setShow=function(o,A){if(A&&!O(this._showAlphaProperties))return;let f=aWe(this),m=o*2,C=A?255:0;if(f[m]!==C){f[m]=C;let E=oWe(this),x=o*4+3;E[x]=A?f[m+1]:0,this._batchValuesDirty=!0}};fC.prototype.setAllShow=function(o){let A=this._featuresLength;for(let f=0;f0){let m=o._pickIds,C=nWe(o),E=new Uint8Array(C),x=o._owner,y=o._statistics;for(let I=0;I0;){if(A=B.pop(),I[A]===v)continue;I[A]=v;let Q=f(o,A);if(O(Q))return Q;let T=C[A],w=x[A];for(let S=0;S0?(x="",o&&(x+=`uniform bool tile_translucentCommand; `),x+=`uniform sampler2D tile_batchTexture; out vec4 tile_featureColor; out vec2 tile_featureSt; out vec4 v_elevationPos;void main() { vec2 st = computeSt(${A}); vec4 featureProperties = texture(tile_batchTexture, st); tile_color(featureProperties); float show = ceil(featureProperties.a); gl_Position *= show; `,o&&(x+=` bool isStyleTranslucent = (featureProperties.a != 1.0); if (czm_pass == czm_passTranslucent) { if (!isStyleTranslucent && !tile_translucentCommand) { gl_Position *= 0.0; } } else { if (isStyleTranslucent) { gl_Position *= 0.0; } } `),x+=` tile_featureColor = featureProperties; tile_featureSt = st; v_elevationPos = czm_inverseModelViewProjection * gl_Position; }`):x=`out vec2 tile_featureSt; out vec4 v_elevationPos; void main() { tile_color(vec4(1.0)); tile_featureSt = computeSt(${A}); v_elevationPos = czm_inverseModelViewProjection * gl_Position; }`,`${E} ${i7t(m)}${x}`}};function rOe(o,A){return o=_r.replaceMain(o,"tile_main"),A?`${o}uniform float tile_colorBlend; void tile_color(vec4 tile_featureColor) { tile_main(); tile_featureColor = czm_gammaCorrect(tile_featureColor); out_FragColor.a *= tile_featureColor.a; float highlight = ceil(tile_colorBlend); out_FragColor.rgb *= mix(tile_featureColor.rgb, vec3(1.0), highlight); } `:`${o}void tile_color(vec4 tile_featureColor) { tile_main(); } `}function r7t(o,A){let f=`texture(${A}`,m=0,C=o.indexOf(f,m),E;for(;C>-1;){let x=0;for(let I=C;I0?(C+=`uniform sampler2D tile_pickTexture; in vec2 tile_featureSt; in vec4 tile_featureColor; in vec4 v_elevationPos;void main() { tile_color(tile_featureColor); `,O(m)&&(C+=m),f&&(C+=` out_FragColor.rgb *= out_FragColor.a; `),C+="}"):(o&&(C+=`uniform bool tile_translucentCommand; `),C+=`uniform sampler2D tile_pickTexture; uniform sampler2D tile_batchTexture; in vec2 tile_featureSt; void main() { vec4 featureProperties = texture(tile_batchTexture, tile_featureSt); if (featureProperties.a == 0.0) { discard; } `,o&&(C+=` bool isStyleTranslucent = (featureProperties.a != 1.0); if (czm_pass == czm_passTranslucent) { if (!isStyleTranslucent && !tile_translucentCommand) { discard; } } else { if (isStyleTranslucent) { discard; } } `),C+=` tile_color(featureProperties); `,f&&(C+=` out_FragColor.rgb *= out_FragColor.a; `),C+=`} `),C}};RA.prototype.getClassificationFragmentShaderCallback=function(){if(this.featuresLength!==0)return function(o){return o=_r.replaceMain(o,"tile_main"),Zn.maximumVertexTextureImageUnits>0?o+=`uniform sampler2D tile_pickTexture; in vec2 tile_featureSt; in vec4 tile_featureColor; void main() { tile_main(); out_FragColor = tile_featureColor; out_FragColor.rgb *= out_FragColor.a; }`:o+=`uniform sampler2D tile_batchTexture; uniform sampler2D tile_pickTexture; in vec2 tile_featureSt; void main() { tile_main(); vec4 featureProperties = texture(tile_batchTexture, tile_featureSt); if (featureProperties.a == 0.0) { discard; } out_FragColor = featureProperties; out_FragColor.rgb *= out_FragColor.a; } `,o}};function n7t(o){let A=o._content.tileset,f=A.colorBlendMode,m=A.colorBlendAmount;if(f===xb.HIGHLIGHT)return 0;if(f===xb.REPLACE)return 1;if(f===xb.MIX)return Be.clamp(m,Be.EPSILON4,1)}RA.prototype.getUniformMapCallback=function(){if(this.featuresLength===0)return;let o=this;return function(A){return So(A,{tile_batchTexture:function(){return oe(o._batchTexture.batchTexture,o._batchTexture.defaultTexture)},tile_textureDimensions:function(){return o._batchTexture.textureDimensions},tile_textureStep:function(){return o._batchTexture.textureStep},tile_colorBlend:function(){return n7t(o)},tile_pickTexture:function(){return o._batchTexture.pickTexture}})}};RA.prototype.getPickId=function(){return"texture(tile_pickTexture, tile_featureSt)"};var P2={ALL_OPAQUE:0,ALL_TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2};RA.prototype.addDerivedCommands=function(o,A){let f=o.commandList,m=f.length,C=this._content._tile,E=C._finalResolution,x=C.tileset,y=x.isSkippingLevelOfDetail&&x.hasMixedContent&&o.context.stencilBuffer,I=o7t(this);for(let v=A;v>>ia.SKIP_LOD_BIT_SHIFT}function d7t(o){let A=Sn(o,!0);return A.cull.enabled=!1,A.depthTest.enabled=!0,A.depthMask=!1,A.blending=Nl.ALPHA_BLEND,A.stencilTest=ia.setCesium3DTileBit(),A.stencilMask=ia.CESIUM_3D_TILE_MASK,Xr.fromCache(A)}function f7t(o){let A=Sn(o,!0);return A.stencilTest=ia.setCesium3DTileBit(),A.stencilMask=ia.CESIUM_3D_TILE_MASK,Xr.fromCache(A)}RA.prototype.update=function(o,A){this._batchTexture.update(o,A)};RA.prototype.isDestroyed=function(){return!1};RA.prototype.destroy=function(){return this._batchTexture=this._batchTexture&&this._batchTexture.destroy(),Ar(this)};var IY=RA;function g7t(o){this.offset=o.offset,this.count=o.count,this.color=o.color,this.batchIds=o.batchIds}var f4=g7t,P$=`in vec3 position; in float a_batchId; uniform mat4 u_modifiedModelViewProjection; void main() { gl_Position = czm_depthClamp(u_modifiedModelViewProjection * vec4(position, 1.0)); } `;function ev(o,A){this._content=o,this._batchId=A,this._color=void 0}Object.defineProperties(ev.prototype,{show:{get:function(){return this._content.batchTable.getShow(this._batchId)},set:function(o){this._content.batchTable.setShow(this._batchId,o)}},color:{get:function(){return O(this._color)||(this._color=new Ve),this._content.batchTable.getColor(this._batchId,this._color)},set:function(o){this._content.batchTable.setColor(this._batchId,o)}},polylinePositions:{get:function(){if(O(this._content.getPolylinePositions))return this._content.getPolylinePositions(this._batchId)}},content:{get:function(){return this._content}},tileset:{get:function(){return this._content.tileset}},primitive:{get:function(){return this._content.tileset}},featureId:{get:function(){return this._batchId}},pickId:{get:function(){return this._content.batchTable.getPickColor(this._batchId)}}});ev.prototype.hasProperty=function(o){return this._content.batchTable.hasProperty(this._batchId,o)};ev.prototype.getPropertyIds=function(o){return this._content.batchTable.getPropertyIds(this._batchId,o)};ev.prototype.getProperty=function(o){return this._content.batchTable.getProperty(this._batchId,o)};ev.getPropertyInherited=function(o,A,f){let m=o.batchTable;if(O(m)){if(m.hasPropertyBySemantic(A,f))return m.getPropertyBySemantic(A,f);if(m.hasProperty(A,f))return m.getProperty(A,f)}let C=o.metadata;if(O(C)){if(C.hasPropertyBySemantic(f))return C.getPropertyBySemantic(f);if(C.hasProperty(f))return C.getProperty(f)}let E=o.tile,x=E.metadata;if(O(x)){if(x.hasPropertyBySemantic(f))return x.getPropertyBySemantic(f);if(x.hasProperty(f))return x.getProperty(f)}let y;if(O(E.implicitSubtree)&&(y=E.implicitSubtree.metadata),O(y)){if(y.hasPropertyBySemantic(f))return y.getPropertyBySemantic(f);if(y.hasProperty(f))return y.getProperty(f)}let I=O(o.group)?o.group.metadata:void 0;if(O(I)){if(I.hasPropertyBySemantic(f))return I.getPropertyBySemantic(f);if(I.hasProperty(f))return I.getProperty(f)}let v=o.tileset.metadata;if(O(v)){if(v.hasPropertyBySemantic(f))return v.getPropertyBySemantic(f);if(v.hasProperty(f))return v.getProperty(f)}};ev.prototype.getPropertyInherited=function(o){return ev.getPropertyInherited(this._content,this._batchId,o)};ev.prototype.setProperty=function(o,A){this._content.batchTable.setProperty(this._batchId,o,A),this._content.featurePropertiesDirty=!0};ev.prototype.isExactClass=function(o){return this._content.batchTable.isExactClass(this._batchId,o)};ev.prototype.isClass=function(o){return this._content.batchTable.isClass(this._batchId,o)};ev.prototype.getExactClassName=function(){return this._content.batchTable.getExactClassName(this._batchId)};var ns=ev;function iT(o){o=oe(o,oe.EMPTY_OBJECT),this._batchTable=o.batchTable,this._batchIds=o.batchIds,this._positions=o.positions,this._vertexBatchIds=o.vertexBatchIds,this._indices=o.indices,this._indexCounts=o.indexCounts,this._indexOffsets=o.indexOffsets,this._batchedIndices=o.batchedIndices,this._boundingVolume=o.boundingVolume,this._boundingVolumes=o.boundingVolumes,this._center=oe(o.center,Z.ZERO),this._va=void 0,this._sp=void 0,this._spStencil=void 0,this._spPick=void 0,this._uniformMap=void 0,this._vaSwap=void 0,this._rsStencilDepthPass=void 0,this._rsStencilDepthPass3DTiles=void 0,this._rsColorPass=void 0,this._rsPickPass=void 0,this._rsWireframe=void 0,this._commands=[],this._commandsIgnoreShow=[],this._pickCommands=[],this._constantColor=Ve.clone(Ve.WHITE),this._highlightColor=this._constantColor,this._batchDirty=!0,this._pickCommandsDirty=!0,this._framesSinceLastRebatch=0,this._updatingAllCommands=!1,this._trianglesLength=this._indices.length/3,this._geometryByteLength=this._indices.byteLength+this._positions.byteLength+this._vertexBatchIds.byteLength,this.debugWireframe=!1,this._debugWireframe=this.debugWireframe,this._wireframeDirty=!1,this.forceRebatch=!1,this.classificationType=oe(o.classificationType,uu.BOTH),this._vertexShaderSource=o._vertexShaderSource,this._fragmentShaderSource=o._fragmentShaderSource,this._attributeLocations=o._attributeLocations,this._uniformMap=o._uniformMap,this._pickId=o._pickId,this._modelMatrix=o._modelMatrix,this._boundingSphere=o._boundingSphere,this._batchIdLookUp={};let A=this._batchIds.length;for(let f=0;f0;){let B=A.pop();if(Ve.equals(B.color,y.color))v=Pce(f,x,v,m,C,B.batchIds,E),y.batchIds=y.batchIds.concat(B.batchIds),y.count=v-y.offset;else{let Q=v;v=Pce(f,x,v,m,C,B.batchIds,E),B.offset=Q,B.count=v-Q,I.push(B),y=B}}o._va.indexBuffer.copyFromArrayView(x),o._indices=x,o._batchedIndices=I}function Rce(o,A,f,m,C,E,x){let y=o.bytesPerIndex,I=E.length;for(let v=0;v0;){let Q=A.pop();if(Ve.equals(Q.color,E.color))v=Rce(y,I,v,f,m,Q.batchIds,C),E.batchIds=E.batchIds.concat(Q.batchIds),E.count=v-E.offset;else{let T=v;v=Rce(y,I,v,f,m,Q.batchIds,C),Q.offset=T,Q.count=v-T,x.push(Q),E=Q}}let B=o._va;o._va=o._vaSwap,o._vaSwap=B,o._batchedIndices=x}function B7t(o,A){return A.color.toRgba()-o.color.toRgba()}function w7t(o,A){if(!o._batchDirty)return!1;let f=o._batchedIndices,m=f.length,C=!1,E={};for(let x=0;x=D&&x{o.isDestroyed()||(o._error=S)}):void 0}}function H7t(o){O(o._primitive)||(o._primitive=new Oie({batchTable:o._batchTable,positions:o._positions,batchIds:o._batchIds,vertexBatchIds:o._vertexBatchIds,indices:o._indices,indexOffsets:o._indexOffsets,indexCounts:o._indexCounts,batchedIndices:o._batchedIndices,boundingVolume:o._boundingVolume,boundingVolumes:o._boundingVolumes,center:o._center,pickObject:oe(o._pickObject,o)}),o._boxes=void 0,o._boxBatchIds=void 0,o._cylinders=void 0,o._cylinderBatchIds=void 0,o._ellipsoids=void 0,o._ellipsoidBatchIds=void 0,o._spheres=void 0,o._sphereBatchIds=void 0,o._center=void 0,o._modelMatrix=void 0,o._batchTable=void 0,o._boundingVolume=void 0,o._boundingVolumes=void 0,o._batchedIndices=void 0,o._indices=void 0,o._indexOffsets=void 0,o._indexCounts=void 0,o._positions=void 0,o._vertexBatchIds=void 0,o._batchIds=void 0,o._batchTableColors=void 0,o._packedBuffer=void 0,o._verticesPromise=void 0)}BI.prototype.createFeatures=function(o,A){this._primitive.createFeatures(o,A)};BI.prototype.applyDebugSettings=function(o,A){this._primitive.applyDebugSettings(o,A)};BI.prototype.applyStyle=function(o,A){this._primitive.applyStyle(o,A)};BI.prototype.updateCommands=function(o,A){this._primitive.updateCommands(o,A)};BI.prototype.update=function(o){if(!this._ready){if(O(this._promise)||(this._promise=G7t(this)),O(this._error)){let A=this._error;throw this._error=void 0,A}return}this._primitive.debugWireframe=this.debugWireframe,this._primitive.forceRebatch=this.forceRebatch,this._primitive.classificationType=this.classificationType,this._primitive.update(o)};BI.prototype.isDestroyed=function(){return!1};BI.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),Ar(this)};var OF=BI;function rT(o,A,f,m,C){this._tileset=o,this._tile=A,this._resource=f,this._geometries=void 0,this._metadata=void 0,this._batchTable=void 0,this._features=void 0,this.featurePropertiesDirty=!1,this._group=void 0,this._ready=!1,this._resolveContent=void 0,this._readyPromise=new Promise(E=>{this._resolveContent=E}),Y7t(this,m,C)}Object.defineProperties(rT.prototype,{featuresLength:{get:function(){return O(this._batchTable)?this._batchTable.featuresLength:0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return O(this._geometries)?this._geometries.trianglesLength:0}},geometryByteLength:{get:function(){return O(this._geometries)?this._geometries.geometryByteLength:0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return O(this._batchTable)?this._batchTable.batchTableByteLength:0}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return ii("Geometry3DTileContent.readyPromise","Geometry3DTileContent.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Wait for Geometry3DTileContent.ready to return true instead."),this._readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(o){this._metadata=o}},batchTable:{get:function(){return this._batchTable}},group:{get:function(){return this._group},set:function(o){this._group=o}}});function V7t(o){return function(A,f){O(o._geometries)&&o._geometries.updateCommands(A,f)}}function z7t(o,A){let f,m,C,E,x,y=oe(o.BOXES_LENGTH,0),I=oe(o.CYLINDERS_LENGTH,0),v=oe(o.ELLIPSOIDS_LENGTH,0),B=oe(o.SPHERES_LENGTH,0);if(y>0&&O(o.BOX_BATCH_IDS)){let w=A.byteOffset+o.BOX_BATCH_IDS.byteOffset;f=new Uint16Array(A.buffer,w,y)}if(I>0&&O(o.CYLINDER_BATCH_IDS)){let w=A.byteOffset+o.CYLINDER_BATCH_IDS.byteOffset;m=new Uint16Array(A.buffer,w,I)}if(v>0&&O(o.ELLIPSOID_BATCH_IDS)){let w=A.byteOffset+o.ELLIPSOID_BATCH_IDS.byteOffset;C=new Uint16Array(A.buffer,w,v)}if(B>0&&O(o.SPHERE_BATCH_IDS)){let w=A.byteOffset+o.SPHERE_BATCH_IDS.byteOffset;E=new Uint16Array(A.buffer,w,B)}let Q=O(f)||O(m)||O(C)||O(E),T=y>0&&!O(f)||I>0&&!O(m)||v>0&&!O(C)||B>0&&!O(E);if(Q&&T)throw new ki("If one group of batch ids is defined, then all batch ids must be defined");if(!O(f)&&!O(m)&&!O(C)&&!O(E)){let w=0;if(!O(f)&&y>0)for(f=new Uint16Array(y),x=0;x0)for(m=new Uint16Array(I),x=0;x0)for(C=new Uint16Array(v),x=0;x0)for(E=new Uint16Array(B),x=0;x0&&(w=em(m,f,v),f+=v,B>0&&(S=new Uint8Array(A,f,B),S=new Uint8Array(S)));let D=oe(Q.BOXES_LENGTH,0),R=oe(Q.CYLINDERS_LENGTH,0),P=oe(Q.ELLIPSOIDS_LENGTH,0),M=oe(Q.SPHERES_LENGTH,0),L=D+R+P+M,F=new IY(o,L,w,S,V7t(o));if(o._batchTable=F,L===0)return;let k=o.tile.computedTransform,N;O(Q.RTC_CENTER)&&(N=Z.unpack(Q.RTC_CENTER),Re.multiplyByPoint(k,N,N));let G=z7t(Q,T);if(D>0||R>0||P>0||M>0){let J,K,X,q;if(D>0){let ee=T.byteOffset+Q.BOXES.byteOffset;J=new Float32Array(T.buffer,ee,OF.packedBoxLength*D)}if(R>0){let ee=T.byteOffset+Q.CYLINDERS.byteOffset;K=new Float32Array(T.buffer,ee,OF.packedCylinderLength*R)}if(P>0){let ee=T.byteOffset+Q.ELLIPSOIDS.byteOffset;X=new Float32Array(T.buffer,ee,OF.packedEllipsoidLength*P)}if(M>0){let ee=T.byteOffset+Q.SPHERES.byteOffset;q=new Float32Array(T.buffer,ee,OF.packedSphereLength*M)}return o._geometries=new OF({boxes:J,boxBatchIds:G.boxes,cylinders:K,cylinderBatchIds:G.cylinders,ellipsoids:X,ellipsoidBatchIds:G.ellipsoids,spheres:q,sphereBatchIds:G.spheres,center:N,modelMatrix:k,batchTable:F,boundingVolume:o.tile.boundingVolume.boundingVolume}),o}return Promise.resolve(o)}function AWe(o){let A=o.featuresLength;if(!O(o._features)&&A>0){let f=new Array(A);O(o._geometries)&&o._geometries.createFeatures(o,f),o._features=f}}rT.prototype.hasProperty=function(o,A){return this._batchTable.hasProperty(o,A)};rT.prototype.getFeature=function(o){return AWe(this),this._features[o]};rT.prototype.applyDebugSettings=function(o,A){O(this._geometries)&&this._geometries.applyDebugSettings(o,A)};rT.prototype.applyStyle=function(o){AWe(this),O(this._geometries)&&this._geometries.applyStyle(o,this._features)};rT.prototype.update=function(o,A){O(this._geometries)&&(this._geometries.classificationType=this._tileset.classificationType,this._geometries.debugWireframe=this._tileset.debugWireframe,this._geometries.update(A)),O(this._batchTable)&&this._geometries.ready&&(this._batchTable.update(o,A),this._ready=!0,this._resolveContent(this))};rT.prototype.isDestroyed=function(){return!1};rT.prototype.destroy=function(){return this._geometries=this._geometries&&this._geometries.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),Ar(this)};var uye=rT,Aye={};Aye.encode2D=function(o,A,f){let m=Math.pow(2,o),C={x:A,y:f},E,x,y,I=BigInt(0);for(y=m/2;y>0;y/=2)E=(C.x&y)>0?1:0,x=(C.y&y)>0?1:0,I+=BigInt((3*E^x)*y*y),cWe(m,C,E,x);return I};Aye.decode2D=function(o,A){let f=Math.pow(2,o),m={x:0,y:0},C,E,x,y;for(x=1,y=A;x>>0,cye=2*x3+1,Q2=4,hWe=[],dWe=[],W7t=[[0,1,3,2],[0,2,3,1],[3,2,0,1],[3,1,0,2]],H2=1,h5=2,Nq=[H2,0,0,H2|h5];function Ef(o){if(!wo.supportsBigInt())throw new ki("S2 required BigInt support");this._cellId=o,this._level=Ef.getLevel(o)}Ef.fromToken=function(o){return new Ef(Ef.getIdFromToken(o))};Ef.isValidId=function(o){return!(o<=0||o>>BigInt(cye)>5||!(o&~o+BigInt(1)&BigInt("0x1555555555555555")))};Ef.isValidToken=function(o){return/^[0-9a-fA-F]{1,16}$/.test(o)?Ef.isValidId(Ef.getIdFromToken(o)):!1};Ef.getIdFromToken=function(o){return BigInt("0x"+o+"0".repeat(16-o.length))};Ef.getTokenFromId=function(o){let A=Math.floor(n9t(o)/4),f=o.toString(16).replace(/0*$/,"");return Array(17-A-f.length).join("0")+f};Ef.getLevel=function(o){let A=0;for(;o!==BigInt(0)&&!(o&BigInt(1));)A++,o=o>>BigInt(1);return x3-(A>>1)};Ef.prototype.getChild=function(o){let A=pWe(this._cellId)>>BigInt(2),f=this._cellId+BigInt(2*o+1-4)*A;return new Ef(f)};Ef.prototype.getParent=function(){let o=pWe(this._cellId)<>1&1;return gWe(m[0],C[0][E^f&1],C[1][E])}function X7t(o,A){let f=fWe(o),m=f[0],C=f[1],E=f[2],x=A===30,y=!x&&(BigInt(C)^o>>BigInt(2))&BigInt(1),I=x?1:y?2:0,v=(C<<1)+I,B=(E<<1)+I;return[m,v,B]}function fWe(o){hWe.length===0&&t9t();let A=Number(o>>BigInt(cye)),f=A&H2,m=(1<=0;x--){let y=(1<<2*(x===7?x3-7*Q2:Q2))-1;f+=Number(o>>BigInt(x*2*Q2+1)&BigInt(y))<<2,f=dWe[f];let I=x*Q2;C+=f>>Q2+2<>2&m)<=.5?1/3*(4*o*o-1):1/3*(1-4*(1-o)*(1-o))}function sOe(o){return 1/K7t*o}function $7t(o,A){let f=[[],[]],m=e9t(A);for(let C=0;C<2;++C){let E=o[C]&-m,x=E+m;f[C][0]=L$(lOe(E)),f[C][1]=L$(lOe(x))}return f}function e9t(o){return 1<>>0}function lOe(o){return 1/J7t*o}function V2(o,A,f,m,C,E){if(o===Q2){let x=(A<>1),f+(x[0]&1),m,C,E^Nq[0]),V2(o,A+(x[1]>>1),f+(x[1]&1),m,C+1,E^Nq[1]),V2(o,A+(x[2]>>1),f+(x[2]&1),m,C+2,E^Nq[2]),V2(o,A+(x[3]>>1),f+(x[3]&1),m,C+3,E^Nq[3])}}function t9t(){V2(0,0,0,0,0,0),V2(0,0,0,H2,0,H2),V2(0,0,0,h5,0,h5),V2(0,0,0,H2|h5,0,H2|h5)}function pWe(o){return o&~o+BigInt(1)}function i9t(o){return BigInt(1)<>3,E=m%8;f+=o[C]>>E&1}return f}Object.defineProperties(hye.prototype,{lengthBits:{get:function(){return this._lengthBits}},availableCount:{get:function(){return this._availableCount}}});hye.prototype.getBit=function(o){if(O(this._constant))return this._constant;let A=o>>3,f=o%8;return(this._bitstream[A]>>f&1)===1};var F$=hye;function nT(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.metadataTable,f=o.class,m=o.entityId,C=o.propertyTableJson;this._class=f,this._metadataTable=A,this._entityId=m,this._extensions=C.extensions,this._extras=C.extras}Object.defineProperties(nT.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});nT.prototype.hasProperty=function(o){return this._metadataTable.hasProperty(o)};nT.prototype.hasPropertyBySemantic=function(o){return this._metadataTable.hasPropertyBySemantic(o)};nT.prototype.getPropertyIds=function(o){return this._metadataTable.getPropertyIds(o)};nT.prototype.getProperty=function(o){return this._metadataTable.getProperty(this._entityId,o)};nT.prototype.setProperty=function(o,A){return this._metadataTable.setProperty(this._entityId,o,A)};nT.prototype.getPropertyBySemantic=function(o){return this._metadataTable.getPropertyBySemantic(this._entityId,o)};nT.prototype.setPropertyBySemantic=function(o,A){return this._metadataTable.setPropertyBySemantic(this._entityId,o,A)};var Uie=nT,DZ={QUADTREE:"QUADTREE",OCTREE:"OCTREE"};DZ.getBranchingFactor=function(o){switch(o){case DZ.OCTREE:return 8;case DZ.QUADTREE:return 4}};var sp=Object.freeze(DZ);function Ap(){}Object.defineProperties(Ap.prototype,{class:{get:function(){Ai.throwInstantiationError()}}});Ap.prototype.hasProperty=function(o){Ai.throwInstantiationError()};Ap.prototype.hasPropertyBySemantic=function(o){Ai.throwInstantiationError()};Ap.prototype.getPropertyIds=function(o){Ai.throwInstantiationError()};Ap.prototype.getProperty=function(o){Ai.throwInstantiationError()};Ap.prototype.setProperty=function(o,A){Ai.throwInstantiationError()};Ap.prototype.getPropertyBySemantic=function(o){Ai.throwInstantiationError()};Ap.prototype.setPropertyBySemantic=function(o,A){Ai.throwInstantiationError()};Ap.hasProperty=function(o,A,f){if(O(A[o]))return!0;let m=f.properties;if(!O(m))return!1;let C=m[o];return!!(O(C)&&O(C.default))};Ap.hasPropertyBySemantic=function(o,A,f){let m=f.propertiesBySemantic;if(!O(m))return!1;let C=m[o];return O(C)};Ap.getPropertyIds=function(o,A,f){f=O(f)?f:[],f.length=0;for(let C in o)o.hasOwnProperty(C)&&O(o[C])&&f.push(C);let m=A.properties;if(O(m))for(let C in m)m.hasOwnProperty(C)&&!O(o[C])&&O(m[C].default)&&f.push(C);return f};Ap.getProperty=function(o,A,f){let m=f.properties[o],C=A[o];Array.isArray(C)&&(C=C.slice());let E=!0;if(C=m.handleNoData(C),!O(C)&&O(m.default))return C=Sn(m.default,!0),m.unpackVectorAndMatrixTypes(C,E);if(O(C))return C=m.normalize(C),C=m.applyValueTransform(C),m.unpackVectorAndMatrixTypes(C,E)};Ap.setProperty=function(o,A,f,m){if(!O(f[o]))return!1;Array.isArray(A)&&(A=A.slice());let C,E=m.properties;O(E)&&(C=E[o]);let x=!0;return O(C)&&(A=C.packVectorAndMatrixTypes(A,x),A=C.unapplyValueTransform(A),A=C.unnormalize(A)),f[o]=A,!0};Ap.getPropertyBySemantic=function(o,A,f){let m=f.propertiesBySemantic;if(!O(m))return;let C=m[o];if(O(C))return Ap.getProperty(C.id,A,f)};Ap.setPropertyBySemantic=function(o,A,f,m){let C=m.propertiesBySemantic;if(!O(C))return!1;let E=m.propertiesBySemantic[o];return O(E)?Ap.setProperty(E.id,A,f,m):!1};var wl=Ap;function oT(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.subtreeMetadata,f=o.class,m=O(A.properties)?A.properties:{};this._class=f,this._properties=m,this._extras=A.extras,this._extensions=A.extensions}Object.defineProperties(oT.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});oT.prototype.hasProperty=function(o){return wl.hasProperty(o,this._properties,this._class)};oT.prototype.hasPropertyBySemantic=function(o){return wl.hasPropertyBySemantic(o,this._properties,this._class)};oT.prototype.getPropertyIds=function(o){return wl.getPropertyIds(this._properties,this._class,o)};oT.prototype.getProperty=function(o){return wl.getProperty(o,this._properties,this._class)};oT.prototype.setProperty=function(o,A){return wl.setProperty(o,A,this._properties,this._class)};oT.prototype.getPropertyBySemantic=function(o){return wl.getPropertyBySemantic(o,this._properties,this._class)};oT.prototype.setPropertyBySemantic=function(o,A){return wl.setPropertyBySemantic(o,A,this._properties,this._class)};var dye=oT,no={INT8:"INT8",UINT8:"UINT8",INT16:"INT16",UINT16:"UINT16",INT32:"INT32",UINT32:"UINT32",INT64:"INT64",UINT64:"UINT64",FLOAT32:"FLOAT32",FLOAT64:"FLOAT64"};no.getMinimum=function(o){switch(o){case no.INT8:return-128;case no.UINT8:return 0;case no.INT16:return-32768;case no.UINT16:return 0;case no.INT32:return-2147483648;case no.UINT32:return 0;case no.INT64:return wo.supportsBigInt()?BigInt("-9223372036854775808"):-Math.pow(2,63);case no.UINT64:return wo.supportsBigInt()?BigInt(0):0;case no.FLOAT32:return-34028234663852886e22;case no.FLOAT64:return-Number.MAX_VALUE}};no.getMaximum=function(o){switch(o){case no.INT8:return 127;case no.UINT8:return 255;case no.INT16:return 32767;case no.UINT16:return 65535;case no.INT32:return 2147483647;case no.UINT32:return 4294967295;case no.INT64:return wo.supportsBigInt()?BigInt("9223372036854775807"):Math.pow(2,63)-1;case no.UINT64:return wo.supportsBigInt()?BigInt("18446744073709551615"):Math.pow(2,64)-1;case no.FLOAT32:return 34028234663852886e22;case no.FLOAT64:return Number.MAX_VALUE}};no.isIntegerType=function(o){switch(o){case no.INT8:case no.UINT8:case no.INT16:case no.UINT16:case no.INT32:case no.UINT32:case no.INT64:case no.UINT64:return!0;default:return!1}};no.isUnsignedIntegerType=function(o){switch(o){case no.UINT8:case no.UINT16:case no.UINT32:case no.UINT64:return!0;default:return!1}};no.isVectorCompatible=function(o){switch(o){case no.INT8:case no.UINT8:case no.INT16:case no.UINT16:case no.INT32:case no.UINT32:case no.FLOAT32:case no.FLOAT64:return!0;default:return!1}};no.normalize=function(o,A){return Math.max(Number(o)/Number(no.getMaximum(A)),-1)};no.unnormalize=function(o,A){let f=no.getMaximum(A),m=no.isUnsignedIntegerType(A)?0:-f;return o=Be.sign(o)*Math.round(Math.abs(o)*Number(f)),(A===no.INT64||A===no.UINT64)&&wo.supportsBigInt()&&(o=BigInt(o)),o>f?f:o1;if(!f&&C===1)return o;if(!f)return new Array(C).fill(o);if(!E)return new Array(m).fill(o);if(!A)return new Array(this._arrayLength*C).fill(o);let x=new Array(C).fill(o);return new Array(this._arrayLength).fill(x)};tm.prototype.handleNoData=function(o){let A=this._noData;if(!O(A)||!mWe(o,A))return o};function mWe(o,A){if(!Array.isArray(o))return o===A;if(!Array.isArray(A)||o.length!==A.length)return!1;for(let f=0;f1;return O(f)?A&&E?o.map(function(x){return f.unpack(x)}):m?f.unpackArray(o):f.unpack(o):o};tm.prototype.packVectorAndMatrixTypes=function(o,A){A=oe(A,!1);let f=Zo.getMathType(this._type),m=this._isArray,C=Zo.getComponentCount(this._type),E=m&&C>1;return O(f)?A&&E?o.map(function(x){return f.pack(x,[])}):m?f.packArray(o,[]):f.pack(o,[]):o};tm.prototype.validate=function(o){if(!(!O(o)&&O(this._default)))return this._required&&!O(o)?"required property must have a value":this._isArray?u9t(this,o):CWe(this,o)};function u9t(o,A){if(!Array.isArray(A))return`value ${A} must be an array`;let f=A.length;if(!o._isVariableLengthArray&&f!==o._arrayLength)return"Array length does not match property.arrayLength";for(let m=0;mC?uOe(o,A,f):void 0}if(oya.getMaximum(A))return uOe(o,A,f)}function cOe(o,A){return`value ${o} of type ${A} must be finite`}function fye(o,A,f){if(!Array.isArray(o))return f(o,A);for(let m=0;m>3,m=o%8;return(A.typedArray[f]>>m&1)===1}function x9t(o,A,f){let m=o>>3,C=o%8;f?A.typedArray[m]|=1<0,x=!0;for(let y=0;y<8;++y){let I=f.getUint8(m+y);E&&(x?I!==0&&(I=~(I-1)&255,x=!1):I=~I&255),C+=I*Math.pow(256,y)}return E&&(C=-C),C}function I9t(o,A){let f=A.dataView,m=o*8,C=BigInt(0),E=(f.getUint8(m+7)&128)>0,x=!0;for(let y=0;y<8;++y){let I=f.getUint8(m+y);E&&(x?I!==0&&(I=~(I-1)&255,x=!1):I=~I&255),C+=BigInt(I)*(BigInt(1)<96?D-97:D>64?D-39:D+4}for(var R=0,S=0;S0&&S<=256),E(S%4==0);var D=f.exports.meshopt_encodeVertexBufferBound(w,S);return I(f.exports.meshopt_encodeVertexBuffer,D,T,w,S)},encodeIndexBuffer:function(T,w,S){E(S==2||S==4),E(w%3==0);var D=B(T,S),R=f.exports.meshopt_encodeIndexBufferBound(w,v(D)+1);return I(f.exports.meshopt_encodeIndexBuffer,R,D,w,4)},encodeIndexSequence:function(T,w,S){E(S==2||S==4);var D=B(T,S),R=f.exports.meshopt_encodeIndexSequenceBound(w,v(D)+1);return I(f.exports.meshopt_encodeIndexSequence,R,D,w,4)},encodeGltfBuffer:function(T,w,S,D){var R={ATTRIBUTES:this.encodeVertexBuffer,TRIANGLES:this.encodeIndexBuffer,INDICES:this.encodeIndexSequence};return E(R[D]),R[D](T,w,S)},encodeFilterOct:function(T,w,S,D){return E(S==4||S==8),E(D>=1&&D<=16),Q(f.exports.meshopt_encodeFilterOct,T,w,S,D,16)},encodeFilterQuat:function(T,w,S,D){return E(S==8),E(D>=4&&D<=16),Q(f.exports.meshopt_encodeFilterQuat,T,w,S,D,16)},encodeFilterExp:function(T,w,S,D,R){E(S>0&&S%4==0),E(D>=1&&D<=24);var P={Separate:0,SharedVector:1,SharedComponent:2};return Q(f.exports.meshopt_encodeFilterExp,T,w,S,D,S,R?P[R]:1)}}}(),P9t=function(){"use strict";var o="b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:78Yqdbk:qzezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhlaicefhodnadTmbalc;WFbGglcjdalcjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfglcl4cifcd4hxdndndndnalc9WGgmTmbcbhPcehsawcjdfhzaohHinaraH9Rax6midnaraHaxfgo9RcK6mbczhlinalgic9Wfglawcj;cbffhOdndndndndnaHalco4fRbbalci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOaoRblaoRbbgAco4glalciSgCE86bbawcj;cbfaifglcGfaoclfaCfgORbbaAcl4ciGgCaCciSgCE86bbalcVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbalc7faOaCfgORbbaAciGgAaAciSgAE86bbalctfaOaAfgARbbaoRbegOco4gCaCciSgCE86bbalc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc93faAaCfgARbbaOciGgOaOciSgOE86bbalc94faAaOfgARbbaoRbdgOco4gCaCciSgCE86bbalc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc97faAaCfgARbbaOciGgOaOciSgOE86bbalc98faAaOfgORbbaoRbigoco4gAaAciSgAE86bbalc99faOaAfgORbbaocl4ciGgAaAciSgAE86bbalc9:faOaAfgORbbaocd4ciGgAaAciSgAE86bbalcufaOaAfglRbbaociGgoaociSgoE86bbalaofhoxdkaOaoRbwaoRbbgAcl4glalcsSgCE86bbawcj;cbfaifglcGfaocwfaCfgORbbaAcsGgAaAcsSgAE86bbalcVfaOaAfgORbbaoRbegAcl4gCaCcsSgCE86bbalc7faOaCfgORbbaAcsGgAaAcsSgAE86bbalctfaOaAfgORbbaoRbdgAcl4gCaCcsSgCE86bbalc91faOaCfgORbbaAcsGgAaAcsSgAE86bbalc4faOaAfgORbbaoRbigAcl4gCaCcsSgCE86bbalc93faOaCfgORbbaAcsGgAaAcsSgAE86bbalc94faOaAfgORbbaoRblgAcl4gCaCcsSgCE86bbalc95faOaCfgORbbaAcsGgAaAcsSgAE86bbalc96faOaAfgORbbaoRbvgAcl4gCaCcsSgCE86bbalc97faOaCfgORbbaAcsGgAaAcsSgAE86bbalc98faOaAfgORbbaoRbogAcl4gCaCcsSgCE86bbalc99faOaCfgORbbaAcsGgAaAcsSgAE86bbalc9:faOaAfgORbbaoRbrgocl4gAaAcsSgAE86bbalcufaOaAfglRbbaocsGgoaocsSgoE86bbalaofhoxekaOao8Pbb83bbaOcwfaocwf8Pbb83bbaoczfhokdnaiam9pmbaiczfhlarao9RcL0mekkaiam6miaoTmidnakTmbawaPfRbbhOawcj;cbfhlazhiakhHinaialRbbgAce4cbaAceG9R7aOfgO86bbaiadfhialcefhlaHcufgHmbkkazcefhzaPcefgPad6hsaohHaPad9hmexvkkcbhoasceGmdxikaoaxad2fhPdnakTmbcbhmcehsawcjdfhCinarao9Rax6miaoTmdaoaxfhoawamfRbbhOawcj;cbfhlaChiakhHinaialRbbgAce4cbaAceG9R7aOfgO86bbaiadfhialcefhlaHcufgHmbkaCcefhCamcefgmad6hsamad9hmbkaPhoxikcbhlcehsinarao9Rax6mdaoTmeaoaxfhoalcefglad6hsadal9hmbkaPhoxdkcbhoasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqaombkc9:hoxekcbc99arao9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;xzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj;8ifcjjj98G::NUdbabclfhbadcufgdmbkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb",A="b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;a9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;d8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgAclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;tzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:wPliuo97eue978Jjjjjbca9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskdnalTmbcbhvabhdinadczfgxaxpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabalcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbadczfhdaeclfgeav6mbkkdnaval9pmbaialciGgecdtgdVcbc;abad9R;8kbaiabavcdtfgvad;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiad;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb",f=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),m=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var C=WebAssembly.validate(f)?A:o,E,x=WebAssembly.instantiate(y(C),{}).then(function(P){E=P.instance,E.exports.__wasm_call_ctors()});function y(P){for(var M=new Uint8Array(P.length),L=0;L96?F-97:F>64?F-39:F+4}for(var k=0,L=0;L0?D(P,M,L,B[F],v[k]):x.then(function(){var N=new Uint8Array(P*M);return I(E.exports[B[F]],N,P,M,L,E.exports[v[k]]),N})}}}(),o4i=function(){"use strict";var o="b9H79TebbbecD9Geueu9Geub9Gbb9Gquuuuuuu99uueu9Gvuuuuub9Gluuuue999Giuuue999Gluuuueu9Giuuueuimxdilvorbwwbewlve9Weiiviebeoweuecj;jekr7oo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bbz9TW79O9V9Wt9F79P9T9W29P9M95beX9TW79O9V9Wt9F79P9T9W29P9M959t9J9H2Wbla9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9Wbvl79IV9RboDwebcekdDqq:XJxdbkp8WiKuP99Hu8Jjjjjbcj;bb9Rgq8KjjjjbaqcKfcbc;Kbz1jjjb8AaqcualcdtgkalcFFFFi0Egxcbyd;S1jjbHjjjjbbgmBdKaqceBd94aqamBdwaqaxcbyd;S1jjbHjjjjbbgPBd3aqcdBd94aqaPBdxaqcuadcitadcFFFFe0Ecbyd;S1jjbHjjjjbbgsBdaaqciBd94aqasBdzaqcwfaeadalcbz:cjjjbaqaxcbyd;S1jjbHjjjjbbgzBd8KaqclBd94aqaxcbyd;S1jjbHjjjjbbgHBdyaqcvBd94alcd4alfhOcehAinaAgCcethAaCaO6mbkcbhXaqcuaCcdtgAaCcFFFFi0Ecbyd;S1jjbHjjjjbbgOBd8SaqcoBd94aOcFeaAz1jjjbhQdnalTmbavcd4hLaCcufhKinaiaXaL2cdtfgYydlgCcH4aC7c:F:b:DD2aYydbgCcH4aC7c;D;O:B8J27aYydwgCcH4aC7c:3F;N8N27hOcbhCdndninaQaOaKGgOcdtfg8AydbgAcuSmeaiaAaL2cdtfaYcxz:ljjjbTmdaCcefgCaOfhOaCaK9nmbxdkka8AaXBdbaXhAkazaXcdtfaABdbaXcefgXal9hmbkcbhCaHhAinaAaCBdbaAclfhAalaCcefgC9hmbkcbhCazhAaHhOindnaCaAydbgKSmbaOaHaKcdtfgKydbBdbaKaCBdbkaAclfhAaOclfhOalaCcefgC9hmbkkcbhOaqalcbyd;S1jjbHjjjjbbgYBd8WaqcrBd94aqaxcbyd;S1jjbHjjjjbbgCBd80aqcwBd94aqaxcbyd;S1jjbHjjjjbbgABdUaqcDBd94aCcFeakz1jjjbhEaAcFeakz1jjjbh3dnalTmbascwfh5indnamaOcdtgCfydbg8ETmbasaPaCfydbcitfh8Fa3aCfhaaEaCfhXcbhLindndna8FaLcitfydbgQaO9hmbaXaOBdbaaaOBdbxekdnamaQcdtgkfydbghTmbasaPakfydbcitgCfydbaOSmeahcufh8Aa5aCfhAcbhCina8AaCSmeaCcefhCaAydbhKaAcwfhAaKaO9hmbkaCah6meka3akfgCaOaQaCydbcuSEBdbaXaQaOaXydbcuSEBdbkaLcefgLa8E9hmbkkaOcefgOal9hmbkazhAaHhOa3hKaEhLcbhCindndnaCaAydbg8A9hmbdnaCaOydbg8A9hmbaLydbh8AdnaKydbgQcu9hmba8Acu9hmbaYaCfcb86bbxikaYaCfhXdnaCaQSmbaCa8ASmbaXce86bbxikaXcl86bbxdkdnaCaHa8AcdtgQfydb9hmbdnaKydbgXcuSmbaCaXSmbaLydbgkcuSmbaCakSmba3aQfydbg8EcuSmba8Ea8ASmbaEaQfydbgQcuSmbaQa8ASmbdnazaXcdtfydbazaQcdtfydb9hmbazakcdtfydbaza8Ecdtfydb9hmbaYaCfcd86bbxlkaYaCfcl86bbxikaYaCfcl86bbxdkaYaCfcl86bbxekaYaCfaYa8AfRbb86bbkaAclfhAaOclfhOaKclfhKaLclfhLalaCcefgC9hmbkawceGTmbaYhCalhAindnaCRbbce9hmbaCcl86bbkaCcefhCaAcufgAmbkkcbhLcualcx2alc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbhmaqcKfaqyd94gCcdtfamBdbaqaCcefgABd94amaialavz:djjjb8AaqcKfaAcdtfcualc8S2gAalc;D;O;f8U0Ecbyd;S1jjbHjjjjbbgOBdbaqaCcdfBd94aOcbaAz1jjjbhsdnadTmbaehAindnamaAclfydbg8Acx2fgCIdbamaAydbgQcx2fgOIdbgg:tg8JamaAcwfydbgXcx2fgKIdlaOIdlg8K:tg8LNaKIdbag:tg8MaCIdla8K:tg8NN:tgyayNa8NaKIdwaOIdwg8P:tgINa8LaCIdwa8P:tg8NN:tg8La8LNa8Na8MNaIa8JN:tg8Ja8JNMM:rg8MJbbbb9ETmbaya8M:vhya8Ja8M:vh8Ja8La8M:vh8LkasazaQcdtfydbc8S2fgCa8La8M:rg8Ma8LNNg8NaCIdbMUdbaCa8Ja8Ma8JNg8RNgIaCIdlMUdlaCaya8MayNg8SNgRaCIdwMUdwaCa8Ra8LNg8RaCIdxMUdxaCa8Sa8LNg8UaCIdzMUdzaCa8Sa8JNg8SaCIdCMUdCaCa8La8Maya8PNa8LagNa8Ka8JNMM:mg8KNggNg8LaCIdKMUdKaCa8JagNg8JaCId3MUd3aCayagNgyaCIdaMUdaaCaga8KNggaCId8KMUd8KaCa8MaCIdyMUdyasaza8Acdtfydbc8S2fgCa8NaCIdbMUdbaCaIaCIdlMUdlaCaRaCIdwMUdwaCa8RaCIdxMUdxaCa8UaCIdzMUdzaCa8SaCIdCMUdCaCa8LaCIdKMUdKaCa8JaCId3MUd3aCayaCIdaMUdaaCagaCId8KMUd8KaCa8MaCIdyMUdyasazaXcdtfydbc8S2fgCa8NaCIdbMUdbaCaIaCIdlMUdlaCaRaCIdwMUdwaCa8RaCIdxMUdxaCa8UaCIdzMUdzaCa8SaCIdCMUdCaCa8LaCIdKMUdKaCa8JaCId3MUd3aCayaCIdaMUdaaCagaCId8KMUd8KaCa8MaCIdyMUdyaAcxfhAaLcifgLad6mbkcbh8AaehXincbhAinaYaeaAc:81jjbfydbgQa8AfcdtfydbgOfRbbhCdndnaYaXaAfydbgKfRbbgLc99fcFeGcpe0mbaCceSmbaCcd9hmekdnaLcufcFeGce0mbaEaKcdtfydbaO9hmekdnaCcufcFeGce0mba3aOcdtfydbaK9hmekdnaLcv2aCfc:G1jjbfRbbTmbazaOcdtfydbazaKcdtfydb0mekJbbacJbbjZaCceSEh8MaLceShkamaeaQcdtc:81jjbfydba8Afcdtfydbcx2fhCdnamaOcx2fgLIdwamaKcx2fgQIdwg8K:tg8La8LNaLIdbaQIdbg8P:tg8Ja8JNaLIdlaQIdlg8N:tgyayNMM:rggJbbbb9ETmba8Lag:vh8Layag:vhya8Jag:vh8JkJbbaca8MakEh8SdnaCIdwa8K:tg8Ma8La8Ma8LNaCIdba8P:tgRa8JNayaCIdla8N:tg8RNMMgIN:tg8Ma8MNaRa8JaIN:tg8La8LNa8RayaIN:tg8Ja8JNMM:rgyJbbbb9ETmba8May:vh8Ma8Jay:vh8Ja8Lay:vh8LkasazaKcdtfydbc8S2fgCa8La8SagNgya8LNNgIaCIdbMUdbaCa8Jaya8JNg8SNgRaCIdlMUdlaCa8Maya8MNggNg8RaCIdwMUdwaCa8Sa8LNg8SaCIdxMUdxaCaga8LNg8UaCIdzMUdzaCaga8JNg8VaCIdCMUdCaCa8Laya8Ma8KNa8La8PNa8Na8JNMM:mg8KNggNg8LaCIdKMUdKaCa8JagNg8JaCId3MUd3aCa8MagNg8MaCIdaMUdaaCaga8KNggaCId8KMUd8KaCayaCIdyMUdyasazaOcdtfydbc8S2fgCaIaCIdbMUdbaCaRaCIdlMUdlaCa8RaCIdwMUdwaCa8SaCIdxMUdxaCa8UaCIdzMUdzaCa8VaCIdCMUdCaCa8LaCIdKMUdKaCa8JaCId3MUd3aCa8MaCIdaMUdaaCagaCId8KMUd8KaCayaCIdyMUdykaAclfgAcx9hmbkaXcxfhXa8Acifg8Aad6mbkkdnabaeSmbabaeadcdtz:hjjjb8Akcuadcx2adc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbhaaqcKfaqyd94gCcdtfaaBdbaqaCcefgABd94aqcKfaAcdtfcuadcdtadcFFFFi0Ecbyd;S1jjbHjjjjbbg5BdbaqaCcdfgABd94aqcKfaAcdtfaxcbyd;S1jjbHjjjjbbgiBdbaqaCcifgABd94aqcKfaAcdtfalcbyd;S1jjbHjjjjbbg8WBdbaqaCclfBd94JbbbbhRdnadao9nmbararNh8Saacwfh8Xaqydwh8Yaqydxh8Zaqydzh80JbbbbhRinaqcwfabadgPalazz:cjjjbcbhhabhXcbhkincbhCindnazaXaCfydbgOcdtgefydbgLazabaCc:81jjbfydbakfcdtfydbgAcdtfydbg8ASmbaYaAfRbbgQcv2aYaOfRbbgKfc;q1jjbfRbbg8FaKcv2aQfg8Ec;q1jjbfRbbgdVcFeGTmbdna8Ec:G1jjbfRbbTmba8AaL0mekdnaKaQ9hmbaKcufcFeGce0mbaEaefydbaA9hmekaaahcx2fgKaAaOadcFeGgLEBdlaKaOaAaLEBdbaKaLa8FGcb9hBdwahcefhhkaCclfgCcx9hmbkaXcxfhXakcifgkaP6mbkdndnahTmbaahAahh8AinaAcwfgQJbbbbJbbjZasazaAydbgOcdtfydbc8S2fgCIdyg8L:va8LJbbbb9BEaCIdwamaAclfgeydbgKcx2fgLIdwg8LNaCIdzaLIdbg8JNaCIdaMg8Ma8MMMa8LNaCIdlaLIdlg8MNaCIdCa8LNaCId3Mg8La8LMMa8MNaCIdba8JNaCIdxa8MNaCIdKMg8La8LMMa8JNaCId8KMMM:lNgyJbbbbJbbjZasazaKaOaQydbgLEgQcdtfydbc8S2fgCIdyg8L:va8LJbbbb9BEaCIdwamaOaKaLEgXcx2fgLIdwg8LNaCIdzaLIdbg8JNaCIdaMg8Ma8MMMa8LNaCIdlaLIdlg8MNaCIdCa8LNaCId3Mg8La8LMMa8MNaCIdba8JNaCIdxa8MNaCIdKMg8La8LMMa8JNaCId8KMMM:lNg8Laya8L9FgCEUdbaeaKaXaCEBdbaAaOaQaCEBdbaAcxfhAa8Acufg8Ambkaqcjefcbcj;abz1jjjb8Aa8XhCahhAinaqcjefaCydbcO4c;8ZGfgOaOydbcefBdbaCcxfhCaAcufgAmbkcbhCcbhAinaqcjefaCfgOydbhKaOaABdbaKaAfhAaCclfgCcj;ab9hmbkcbhCa8XhAinaqcjefaAydbcO4c;8ZGfgOaOydbgOcefBdba5aOcdtfaCBdbaAcxfhAahaCcefgC9hmbkaPao9RgOci9Uh81dnalTmbcbhCaihAinaAaCBdbaAclfhAalaCcefgC9hmbkkcbhBa8Wcbalz1jjjbh83aOcO9UhUa81ce4h85cbh86cbhkdninaaa5akcdtfydbcx2fgXIdwg8Ja8S9Emea86a819pmeJFFuuh8Ldna85ah9pmbaaa5a85cdtfydbcx2fIdwJbb;aZNh8Lkdna8Ja8L9ETmba86aU0mdkdna83azaXydlg87cdtg88fydbgOfg89Rbba83azaXydbgecdtg8:fydbgZfgnRbbVmbdna8YaZcdtgCfydbgKTmba80a8ZaCfydbcitfhCamaOcx2fg8Ecwfhda8EclfhxamaZcx2fg8Fcwfhva8FclfhwcbhAcehQdnindnaiaCydbcdtfydbgLaOSmbaiaCclfydbcdtfydbg8AaOSmbama8Acx2fg8AIdbamaLcx2fgLIdbg8M:tg8LawIdbaLIdlgy:tggNa8FIdba8M:tg8Ka8AIdlay:tg8JN:ta8LaxIdbay:tg8PNa8EIdba8M:tg8Na8JN:tNa8JavIdbaLIdwgy:tgINaga8AIdway:tg8MN:ta8JadIdbay:tgyNa8Pa8MN:tNa8Ma8KNaIa8LN:ta8Ma8NNaya8LN:tNMMJbbbb9DmdkaCcwfhCaAcefgAaK6hQaKaA9hmbkkaQceGTmba85cefh85xekaXcwfhKasaOc8S2fgCasaZc8S2fgAIdbaCIdbMUdbaCaAIdlaCIdlMUdlaCaAIdwaCIdwMUdwaCaAIdxaCIdxMUdxaCaAIdzaCIdzMUdzaCaAIdCaCIdCMUdCaCaAIdKaCIdKMUdKaCaAId3aCId3MUd3aCaAIdaaCIdaMUdaaCaAId8KaCId8KMUd8KaCaAIdyaCIdyMUdydndndndnaYaefgARbbc9:fPdebdkaehCinaiaCcdtgCfaOBdbaHaCfydbgCae9hmbxikkaHa88fydbhCaHa8:fydbheaia8:fa87BdbaCh87kaiaecdtfa87Bdbkance86bba89ce86bbaKIdbg8LaRaRa8L9DEhRaBcefhBcecdaARbbceSEa86fh86kakcefgkah9hmbkkaBTmbdnalTmbcbhAaEhCindnaCydbgOcuSmbdnaAaiaOcdtgKfydbgO9hmbaEaKfydbhOkaCaOBdbkaCclfhCalaAcefgA9hmbkcbhAa3hCindnaCydbgOcuSmbdnaAaiaOcdtgKfydbgO9hmba3aKfydbhOkaCaOBdbkaCclfhCalaAcefgA9hmbkkcbhdabhCcbhLindnaiaCydbcdtfydbgAaiaCclfydbcdtfydbgOSmbaAaiaCcwfydbcdtfydbgKSmbaOaKSmbabadcdtfg8AaABdba8AclfaOBdba8AcwfaKBdbadcifhdkaCcxfhCaLcifgLaP9pmdxbkkaPhdxdkadao0mbkkdnaDTmbaDaR:rUdbkaqyd94gCcdtaqcKffc98fhzdninaCTmeazydbcbyd;W1jjbH:bjjjbbazc98fhzaCcufhCxbkkaqcj;bbf8Kjjjjbadk;pleouabydbcbaicdtz1jjjb8Aadci9UhvdnadTmbabydbhodnalTmbaehradhwinaoalarydbcdtfydbcdtfgDaDydbcefBdbarclfhrawcufgwmbxdkkaehradhwinaoarydbcdtfgDaDydbcefBdbarclfhrawcufgwmbkkdnaiTmbabydbhrabydlhwcbhDaihoinawaDBdbawclfhwarydbaDfhDarclfhraocufgombkkdnadci6mbavceavce0EhqabydlhvabydwhrinaecwfydbhwaeclfydbhDaeydbhodnalTmbalawcdtfydbhwalaDcdtfydbhDalaocdtfydbhokaravaocdtfgdydbcitfaDBdbaradydbcitfawBdladadydbcefBdbaravaDcdtfgdydbcitfawBdbaradydbcitfaoBdladadydbcefBdbaravawcdtfgwydbcitfaoBdbarawydbcitfaDBdlawawydbcefBdbaecxfheaqcufgqmbkkdnaiTmbabydlhrabydbhwinararydbawydb9RBdbawclfhwarclfhraicufgimbkkk:3ldouv998Jjjjjbca9Rglczfcwfcbyd11jjbBdbalcb8Pdj1jjb83izalcwfcbydN1jjbBdbalcb8Pd:m1jjb83ibdnadTmbaicd4hvdnabTmbavcdthocbhraehwinabarcx2fgiaearav2cdtfgDIdbUdbaiaDIdlUdlaiaDIdwUdwcbhiinalczfaifgDawaifIdbgqaDIdbgkakaq9EEUdbalaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkawaofhwarcefgrad9hmbxdkkavcdthrcbhwincbhiinalczfaifgDaeaifIdbgqaDIdbgkakaq9EEUdbalaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkaearfheawcefgwad9hmbkkalIdbalIdzgk:tJbbbb:xgqalIdlalIdCgx:tgmamaq9DEgqalIdwalIdKgm:tgPaPaq9DEhPdnabTmbadTmbJbbbbJbbjZaP:vaPJbbbb9BEhqinabaqabIdbak:tNUdbabclfgiaqaiIdbax:tNUdbabcwfgiaqaiIdbam:tNUdbabcxfhbadcufgdmbkkaPk:Qdidui99ducbhi8Jjjjjbca9Rglczfcwfcbyd11jjbBdbalcb8Pdj1jjb83izalcwfcbydN1jjbBdbalcb8Pd:m1jjb83ibdndnaembJbbjFhvJbbjFhoJbbjFhrxekadcd4cdthwincbhdinalczfadfgDabadfIdbgoaDIdbgrarao9EEUdbaladfgDaoaDIdbgrarao9DEUdbadclfgdcx9hmbkabawfhbaicefgiae9hmbkalIdwalIdK:thralIdlalIdC:thoalIdbalIdz:thvkavJbbbb:xgvaoaoav9DEgoararao9DEk9DeeuabcFeaicdtz1jjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk9teiucbcbyd;01jjbgeabcifc98GfgbBd;01jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd;01jjbgeabcrfc94GfgbBd;01jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd;01jjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd;01jjbfgdBd;01jjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akk6eiucbhidnadTmbdninabRbbglaeRbbgv9hmeaecefheabcefhbadcufgdmbxdkkalav9Rhikaikk:cedbcjwk9PFFuuFFuuFFuuFFuFFFuFFFuFbbbbbbbbeeebeebebbeeebebbbbbebebbbbbebbbdbbbbbbbbbbbbbbbeeeeebebbbbbebbbbbeebbbbbbc;Swkxebbbdbbbj9Kbb",A=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var f,m=WebAssembly.instantiate(C(o),{}).then(function(T){f=T.instance,f.exports.__wasm_call_ctors()});function C(T){for(var w=new Uint8Array(T.length),S=0;S96?D-97:D>64?D-39:D+4}for(var R=0,S=0;S=3),E(D%3==0),E(R>=0&&R<=1);for(var M=0,L=0;L<(P?P.length:0);++L)M|=Q[P[L]];var F=T.BYTES_PER_ELEMENT==4?T:new Uint32Array(T),k=v(f.exports.meshopt_simplify,F,T.length,w,w.length/S,S*4,D,R,M);return k[0]=T instanceof Uint32Array?k[0]:new T.constructor(k[0]),k},getScale:function(T,w){return E(T instanceof Float32Array),E(T.length%w==0),B(f.exports.meshopt_simplifyScale,T,T.length/w,w*4)}}}();function aN(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.resourceCache,f=o.gltf,m=o.bufferViewId,C=o.gltfResource,E=o.baseResource,x=o.cacheKey,y=f.bufferViews[m],I=y.buffer,v=y.byteOffset,B=y.byteLength,Q=!1,T,w,S,D;if(rc(y,"EXT_meshopt_compression")){let P=y.extensions.EXT_meshopt_compression;I=P.buffer,v=oe(P.byteOffset,0),B=P.byteLength,Q=!0,T=P.byteStride,w=P.count,S=P.mode,D=oe(P.filter,"NONE")}let R=f.buffers[I];this._hasMeshopt=Q,this._meshoptByteStride=T,this._meshoptCount=w,this._meshoptMode=S,this._meshoptFilter=D,this._resourceCache=A,this._gltfResource=C,this._baseResource=E,this._buffer=R,this._bufferId=I,this._byteOffset=v,this._byteLength=B,this._cacheKey=x,this._bufferLoader=void 0,this._typedArray=void 0,this._state=xo.UNLOADED,this._promise=void 0}O(Object.create)&&(aN.prototype=Object.create(im.prototype),aN.prototype.constructor=aN);Object.defineProperties(aN.prototype,{cacheKey:{get:function(){return this._cacheKey}},typedArray:{get:function(){return this._typedArray}}});async function R9t(o){try{let A=L9t(o);if(o._bufferLoader=A,await A.load(),o.isDestroyed())return;let f=A.typedArray,m=new Uint8Array(f.buffer,f.byteOffset+o._byteOffset,o._byteLength);if(o.unload(),o._typedArray=m,o._hasMeshopt){let C=o._meshoptCount,E=o._meshoptByteStride,x=new Uint8Array(C*E);P9t.decodeGltfBuffer(x,C,E,o._typedArray,o._meshoptMode,o._meshoptFilter),o._typedArray=x}return o._state=xo.READY,o}catch(A){if(o.isDestroyed())return;o.unload(),o._state=xo.FAILED;let f="Failed to load buffer view";throw o.getError(f,A)}}aN.prototype.load=async function(){return O(this._promise)?this._promise:(this._state=xo.LOADING,this._promise=R9t(this),this._promise)};function L9t(o){let A=o._resourceCache,f=o._buffer;if(O(f.uri)){let m=o._baseResource.getDerivedResource({url:f.uri});return A.getExternalBufferLoader({resource:m})}return A.getEmbeddedBufferLoader({parentResource:o._gltfResource,bufferId:o._bufferId})}aN.prototype.unload=function(){O(this._bufferLoader)&&!this._bufferLoader.isDestroyed()&&this._resourceCache.unload(this._bufferLoader),this._bufferLoader=void 0,this._typedArray=void 0};var Gie=aN;function tC(){}tC._maxDecodingConcurrency=Math.max(wo.hardwareConcurrency-1,1);tC._decoderTaskProcessor=void 0;tC._taskProcessorReady=!1;tC._getDecoderTaskProcessor=function(){if(!O(tC._decoderTaskProcessor)){let o=new hd("decodeDraco",tC._maxDecodingConcurrency);o.initWebAssemblyModule({modulePath:"ThirdParty/Workers/draco_decoder_nodejs.js",wasmBinaryFile:"ThirdParty/draco_decoder.wasm"}).then(function(){tC._taskProcessorReady=!0}),tC._decoderTaskProcessor=o}return tC._decoderTaskProcessor};tC.decodePointCloud=function(o){let A=tC._getDecoderTaskProcessor();if(tC._taskProcessorReady)return A.scheduleTask(o,[o.buffer.buffer])};tC.decodeBufferView=function(o){let A=tC._getDecoderTaskProcessor();if(tC._taskProcessorReady)return A.scheduleTask(o,[o.array.buffer])};var wY=tC;function $2(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.resourceCache,f=o.gltf,m=o.draco,C=o.gltfResource,E=o.baseResource,x=o.cacheKey;this._resourceCache=A,this._gltfResource=C,this._baseResource=E,this._gltf=f,this._draco=m,this._cacheKey=x,this._bufferViewLoader=void 0,this._bufferViewTypedArray=void 0,this._decodePromise=void 0,this._decodedData=void 0,this._state=xo.UNLOADED,this._promise=void 0,this._dracoError=void 0}O(Object.create)&&($2.prototype=Object.create(im.prototype),$2.prototype.constructor=$2);Object.defineProperties($2.prototype,{cacheKey:{get:function(){return this._cacheKey}},decodedData:{get:function(){return this._decodedData}}});async function F9t(o){let A=o._resourceCache;try{let f=A.getBufferViewLoader({gltf:o._gltf,bufferViewId:o._draco.bufferView,gltfResource:o._gltfResource,baseResource:o._baseResource});return o._bufferViewLoader=f,await f.load(),o.isDestroyed()?void 0:(o._bufferViewTypedArray=f.typedArray,o._state=xo.PROCESSING,o)}catch(f){if(o.isDestroyed())return;IWe(o,f)}}$2.prototype.load=async function(){return O(this._promise)?this._promise:(this._state=xo.LOADING,this._promise=F9t(this),this._promise)};function IWe(o,A){o.unload(),o._state=xo.FAILED;let f="Failed to load Draco";throw o.getError(f,A)}async function N9t(o,A){try{let f=await A;return o.isDestroyed()?void 0:(o.unload(),o._decodedData={indices:f.indexArray,vertexAttributes:f.attributeData},o._state=xo.READY,o._baseResource)}catch(f){if(o.isDestroyed())return;o._dracoError=f}}$2.prototype.process=function(o){if(this._state===xo.READY)return!0;if(this._state!==xo.PROCESSING||(O(this._dracoError)&&IWe(this,this._dracoError),!O(this._bufferViewTypedArray))||O(this._decodePromise))return!1;let A=this._draco,f=this._gltf.bufferViews,m=A.bufferView,C=f[m],E=A.attributes,x={array:new Uint8Array(this._bufferViewTypedArray),bufferView:C,compressedAttributes:E,dequantizeInShader:!0},y=wY.decodeBufferView(x);if(!O(y))return!1;this._decodePromise=N9t(this,y)};$2.prototype.unload=function(){O(this._bufferViewLoader)&&this._resourceCache.unload(this._bufferViewLoader),this._bufferViewLoader=void 0,this._bufferViewTypedArray=void 0,this._decodedData=void 0,this._gltf=void 0};var Hie=$2;function k9t(o){let A=o.uint8Array,f=o.format,m=o.request,C=oe(o.flipY,!1),E=oe(o.skipColorSpaceConversion,!1),x=new Blob([A],{type:f}),y;return Cr.supportsImageBitmapOptions().then(function(I){return I?Promise.resolve(Cr.createImageBitmapFromBlob(x,{flipY:C,premultiplyAlpha:!1,skipColorSpaceConversion:E})):(y=window.URL.createObjectURL(x),new Cr({url:y,request:m}).fetchImage({flipY:C,skipColorSpaceConversion:E}))}).then(function(I){return O(y)&&window.URL.revokeObjectURL(y),I}).catch(function(I){return O(y)&&window.URL.revokeObjectURL(y),Promise.reject(I)})}var Vie=k9t;function dD(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.resourceCache,f=o.gltf,m=o.imageId,C=o.gltfResource,E=o.baseResource,x=o.cacheKey,y=f.images[m],I=y.bufferView,v=y.uri;this._resourceCache=A,this._gltfResource=C,this._baseResource=E,this._gltf=f,this._bufferViewId=I,this._uri=v,this._cacheKey=x,this._bufferViewLoader=void 0,this._image=void 0,this._mipLevels=void 0,this._state=xo.UNLOADED,this._promise=void 0}O(Object.create)&&(dD.prototype=Object.create(im.prototype),dD.prototype.constructor=dD);Object.defineProperties(dD.prototype,{cacheKey:{get:function(){return this._cacheKey}},image:{get:function(){return this._image}},mipLevels:{get:function(){return this._mipLevels}}});dD.prototype.load=function(){return O(this._promise)?this._promise:O(this._bufferViewId)?(this._promise=O9t(this),this._promise):(this._promise=U9t(this),this._promise)};function _We(o){let A;return Array.isArray(o)&&(A=o.slice(1,o.length).map(function(f){return f.bufferView}),o=o[0]),{image:o,mipLevels:A}}async function O9t(o){o._state=xo.LOADING;let A=o._resourceCache;try{let f=A.getBufferViewLoader({gltf:o._gltf,bufferViewId:o._bufferViewId,gltfResource:o._gltfResource,baseResource:o._baseResource});if(o._bufferViewLoader=f,await f.load(),o.isDestroyed())return;let m=f.typedArray,C=await H9t(m);if(o.isDestroyed())return;let E=_We(C);return o.unload(),o._image=E.image,o._mipLevels=E.mipLevels,o._state=xo.READY,o}catch(f){return o.isDestroyed()?void 0:vWe(o,f,"Failed to load embedded image")}}async function U9t(o){o._state=xo.LOADING;let A=o._baseResource,f=o._uri,m=A.getDerivedResource({url:f});try{let C=await z9t(m);if(o.isDestroyed())return;let E=_We(C);return o.unload(),o._image=E.image,o._mipLevels=E.mipLevels,o._state=xo.READY,o}catch(C){return o.isDestroyed()?void 0:vWe(o,C,`Failed to load image: ${f}`)}}function vWe(o,A,f){return o.unload(),o._state=xo.FAILED,Promise.reject(o.getError(f,A))}function G9t(o){let A=o.subarray(0,2),f=o.subarray(0,4),m=o.subarray(8,12);if(A[0]===255&&A[1]===216)return"image/jpeg";if(A[0]===137&&A[1]===80)return"image/png";if(A[0]===171&&A[1]===75)return"image/ktx2";if(f[0]===82&&f[1]===73&&f[2]===70&&f[3]===70&&m[0]===87&&m[1]===69&&m[2]===66&&m[3]===80)return"image/webp";throw new ki("Image format is not recognized")}async function H9t(o){let A=G9t(o);if(A==="image/ktx2"){let f=new Uint8Array(o);return $P(f)}return dD._loadImageFromTypedArray({uint8Array:o,format:A,flipY:!1,skipColorSpaceConversion:!0})}var V9t=/(^data:image\/ktx2)|(\.ktx2$)/i;function z9t(o){let A=o.getUrlComponent(!1,!0);return V9t.test(A)?$P(o):o.fetchImage({skipColorSpaceConversion:!0,preferImageBitmap:!0})}dD.prototype.unload=function(){O(this._bufferViewLoader)&&!this._bufferViewLoader.isDestroyed()&&this._resourceCache.unload(this._bufferViewLoader),this._bufferViewLoader=void 0,this._uri=void 0,this._image=void 0,this._mipLevels=void 0,this._gltf=void 0};dD._loadImageFromTypedArray=Vie;var zie=dD,Y9t={TEXTURE:0,PROGRAM:1,BUFFER:2,NUMBER_OF_JOB_TYPES:3},gx=Object.freeze(Y9t);function eP(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.resourceCache,f=o.gltf,m=o.accessorId,C=o.gltfResource,E=o.baseResource,x=o.draco,y=o.cacheKey,I=oe(o.asynchronous,!0),v=oe(o.loadBuffer,!1),B=oe(o.loadTypedArray,!1),Q=f.accessors[m].componentType;this._resourceCache=A,this._gltfResource=C,this._baseResource=E,this._gltf=f,this._accessorId=m,this._indexDatatype=Q,this._draco=x,this._cacheKey=y,this._asynchronous=I,this._loadBuffer=v,this._loadTypedArray=B,this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._state=xo.UNLOADED,this._promise=void 0}O(Object.create)&&(eP.prototype=Object.create(im.prototype),eP.prototype.constructor=eP);Object.defineProperties(eP.prototype,{cacheKey:{get:function(){return this._cacheKey}},buffer:{get:function(){return this._buffer}},typedArray:{get:function(){return this._typedArray}},indexDatatype:{get:function(){return this._indexDatatype}}});var J9t=new mye;eP.prototype.load=async function(){return O(this._promise)?this._promise:O(this._draco)?(this._promise=K9t(this),this._promise):(this._promise=W9t(this),this._promise)};async function K9t(o){o._state=xo.LOADING;let A=o._resourceCache;try{let f=A.getDracoLoader({gltf:o._gltf,draco:o._draco,gltfResource:o._gltfResource,baseResource:o._baseResource});return o._dracoLoader=f,await f.load(),o.isDestroyed()?void 0:(o._state=xo.LOADED,o)}catch(f){if(o.isDestroyed())return;pye(o,f)}}async function W9t(o){let A=o._gltf,f=o._accessorId,m=A.accessors[f].bufferView;o._state=xo.LOADING;let C=o._resourceCache;try{let E=C.getBufferViewLoader({gltf:A,bufferViewId:m,gltfResource:o._gltfResource,baseResource:o._baseResource});if(o._bufferViewLoader=E,await E.load(),o.isDestroyed())return;let x=E.typedArray;return o._typedArray=j9t(o,x),o._state=xo.PROCESSING,o}catch(E){if(o.isDestroyed())return;pye(o,E)}}function j9t(o,A){let f=o._gltf,m=o._accessorId,C=f.accessors[m],E=C.count,x=C.componentType,y=Bn.getSizeInBytes(x),I=A.buffer,v=A.byteOffset+C.byteOffset;if(v%y!==0){let Q=E*y,T=new Uint8Array(I,v,Q);I=new Uint8Array(T).buffer,v=0,ii("index-buffer-unaligned",`The index array is not aligned to a ${y}-byte boundary.`)}let B;return x===Bn.UNSIGNED_BYTE?B=new Uint8Array(I,v,E):x===Bn.UNSIGNED_SHORT?B=new Uint16Array(I,v,E):x===Bn.UNSIGNED_INT&&(B=new Uint32Array(I,v,E)),B}function pye(o,A){o.unload(),o._state=xo.FAILED;let f="Failed to load index buffer";throw o.getError(f,A)}function mye(){this.typedArray=void 0,this.indexDatatype=void 0,this.context=void 0,this.buffer=void 0}mye.prototype.set=function(o,A,f){this.typedArray=o,this.indexDatatype=A,this.context=f};mye.prototype.execute=function(){this.buffer=BWe(this.typedArray,this.indexDatatype,this.context)};function BWe(o,A,f){let m=Wn.createIndexBuffer({typedArray:o,context:f,usage:Gr.STATIC_DRAW,indexDatatype:A});return m.vertexArrayDestroyable=!1,m}eP.prototype.process=function(o){if(this._state===xo.READY)return!0;if(this._state!==xo.LOADED&&this._state!==xo.PROCESSING)return!1;let A=this._typedArray,f=this._indexDatatype;if(O(this._dracoLoader))try{this._dracoLoader.process(o)&&(A=this._dracoLoader.decodedData.indices.typedArray,this._typedArray=A,f=Ft.fromTypedArray(A),this._indexDatatype=f)}catch(C){pye(this,C)}if(!O(A))return!1;let m;if(this._loadBuffer&&this._asynchronous){let C=J9t;if(C.set(A,f,o.context),!o.jobScheduler.execute(C,gx.BUFFER))return!1;m=C.buffer}else this._loadBuffer&&(m=BWe(A,f,o.context));return this.unload(),this._buffer=m,this._typedArray=this._loadTypedArray?A:void 0,this._state=xo.READY,this._resourceCache.statistics.addGeometryLoader(this),!0};eP.prototype.unload=function(){O(this._buffer)&&this._buffer.destroy();let o=this._resourceCache;O(this._bufferViewLoader)&&!this._bufferViewLoader.isDestroyed()&&o.unload(this._bufferViewLoader),O(this._dracoLoader)&&o.unload(this._dracoLoader),this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._gltf=void 0};var Yie=eP;function q9t(o,A,f){if(f=oe(f,!1),f){let m=o.indexOf(A);if(m>-1)return m}return o.push(A),o.length-1}var $y=q9t;function X9t(o,A){return O(o.extensionsUsed)&&o.extensionsUsed.indexOf(A)>=0}var Tg=X9t;function vo(){}vo.objectLegacy=function(o,A){if(O(o)){for(let f in o)if(Object.prototype.hasOwnProperty.call(o,f)){let m=o[f],C=A(m,f);if(O(C))return C}}};vo.object=function(o,A){if(O(o)){let f=o.length;for(let m=0;m0)return m.byteStride}return Ft.getSizeInBytes(A.componentType)*y3(A.type)}var dR=$9t;function ezt(o){Dr.accessor(o,function(f){O(f.bufferView)&&(f.byteOffset=oe(f.byteOffset,0))}),Dr.bufferView(o,function(f){O(f.buffer)&&(f.byteOffset=oe(f.byteOffset,0))}),Dr.mesh(o,function(f){Dr.meshPrimitive(f,function(m){if(m.mode=oe(m.mode,li.TRIANGLES),!O(m.material)){O(o.materials)||(o.materials=[]);let C={name:"default"};m.material=$y(o.materials,C)}})}),Dr.accessorContainingVertexAttributeData(o,function(f){let m=o.accessors[f],C=m.bufferView;if(m.normalized=oe(m.normalized,!1),O(C)){let E=o.bufferViews[C];E.byteStride=dR(o,m),E.target=li.ARRAY_BUFFER}}),Dr.accessorContainingIndexData(o,function(f){let m=o.accessors[f].bufferView;if(O(m)){let C=o.bufferViews[m];C.target=li.ELEMENT_ARRAY_BUFFER}}),Dr.material(o,function(f){let m=oe(f.extensions,oe.EMPTY_OBJECT),C=m.KHR_materials_common;if(O(C)){let I=C.technique,v=O(C.values)?C.values:{};C.values=v,v.ambient=O(v.ambient)?v.ambient:[0,0,0,1],v.emission=O(v.emission)?v.emission:[0,0,0,1],v.transparency=oe(v.transparency,1),I!=="CONSTANT"&&(v.diffuse=O(v.diffuse)?v.diffuse:[0,0,0,1],I!=="LAMBERT"&&(v.specular=O(v.specular)?v.specular:[0,0,0,1],v.shininess=oe(v.shininess,0))),C.transparent=oe(C.transparent,!1),C.doubleSided=oe(C.doubleSided,!1);return}f.emissiveFactor=oe(f.emissiveFactor,[0,0,0]),f.alphaMode=oe(f.alphaMode,"OPAQUE"),f.doubleSided=oe(f.doubleSided,!1),f.alphaMode==="MASK"&&(f.alphaCutoff=oe(f.alphaCutoff,.5));let E=m.KHR_techniques_webgl;O(E)&&Dr.materialValue(f,function(I){O(I.index)&&yF(I)}),yF(f.emissiveTexture),yF(f.normalTexture),yF(f.occlusionTexture);let x=f.pbrMetallicRoughness;O(x)&&(x.baseColorFactor=oe(x.baseColorFactor,[1,1,1,1]),x.metallicFactor=oe(x.metallicFactor,1),x.roughnessFactor=oe(x.roughnessFactor,1),yF(x.baseColorTexture),yF(x.metallicRoughnessTexture));let y=m.KHR_materials_pbrSpecularGlossiness;O(y)&&(y.diffuseFactor=oe(y.diffuseFactor,[1,1,1,1]),y.specularFactor=oe(y.specularFactor,[1,1,1]),y.glossinessFactor=oe(y.glossinessFactor,1),yF(y.specularGlossinessTexture))}),Dr.animation(o,function(f){Dr.animationSampler(f,function(m){m.interpolation=oe(m.interpolation,"LINEAR")})});let A=tzt(o);return Dr.node(o,function(f,m){O(A[m])||O(f.translation)||O(f.rotation)||O(f.scale)?(f.translation=oe(f.translation,[0,0,0]),f.rotation=oe(f.rotation,[0,0,0,1]),f.scale=oe(f.scale,[1,1,1])):f.matrix=oe(f.matrix,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}),Dr.sampler(o,function(f){f.wrapS=oe(f.wrapS,li.REPEAT),f.wrapT=oe(f.wrapT,li.REPEAT)}),O(o.scenes)&&!O(o.scene)&&(o.scene=0),o}function tzt(o){let A={};return Dr.animation(o,function(f){Dr.animationChannel(f,function(m){let C=m.target,E=C.node,x=C.path;(x==="translation"||x==="rotation"||x==="scale")&&(A[E]=!0)})}),A}function yF(o){O(o)&&(o.texCoord=oe(o.texCoord,0))}var Cye=ezt;function izt(o){return Dr.shader(o,function(A){kq(A)}),Dr.buffer(o,function(A){kq(A)}),Dr.image(o,function(A){kq(A)}),kq(o),o}function kq(o){o.extras=O(o.extras)?o.extras:{},o.extras._pipeline=O(o.extras._pipeline)?o.extras._pipeline:{}}var bY=izt;function rzt(o,A){let f=o.extensionsRequired;if(O(f)){let m=f.indexOf(A);m>=0&&f.splice(m,1),f.length===0&&delete o.extensionsRequired}}var Eye=rzt;function nzt(o,A){let f=o.extensionsUsed;if(O(f)){let m=f.indexOf(A);m>=0&&f.splice(m,1),Eye(o,A),f.length===0&&delete o.extensionsUsed}}var Jie=nzt,ozt=4;function azt(o){if(BG(o)!=="glTF")throw new ki("File is not valid binary glTF");let A=wWe(o,0,5),f=A[1];if(f!==1&&f!==2)throw new ki("Binary glTF version is not 1 or 2");return f===1?szt(o,A):lzt(o,A)}function wWe(o,A,f){let m=new DataView(o.buffer),C=new Array(f);for(let E=0;E0){let B=oe(v.binary_glTF,v.KHR_binary_glTF);O(B)&&(B.extras._pipeline.source=I,delete B.uri)}return Jie(y,"KHR_binary_glTF"),y}function lzt(o,A){let f=A[2],m=12,C,E;for(;m0){let y=x[0];y.extras._pipeline.source=E}}return C}var xye=azt;function uzt(o){return Dr.shader(o,function(A){Oq(A)}),Dr.buffer(o,function(A){Oq(A)}),Dr.image(o,function(A){Oq(A)}),Oq(o),o}function Oq(o){O(o.extras)&&(O(o.extras._pipeline)&&delete o.extras._pipeline,Object.keys(o.extras).length===0&&delete o.extras)}var yye=uzt;function Azt(o,A){let f=o.extensionsUsed;O(f)||(f=[],o.extensionsUsed=f),$y(f,A,!0)}var I3=Azt;function czt(o){switch(o){case Ft.BYTE:return function(A,f,m,C,E){for(let x=0;x-1:!1}var gzt=[li.ZERO,li.ONE,li.SRC_COLOR,li.ONE_MINUS_SRC_COLOR,li.SRC_ALPHA,li.ONE_MINUS_SRC_ALPHA,li.DST_ALPHA,li.ONE_MINUS_DST_ALPHA,li.DST_COLOR,li.ONE_MINUS_DST_COLOR];function pzt(o,A){if(!O(o))return A;for(let f=0;f<4;f++)if(gzt.indexOf(o[f])===-1)return A;return o}function mzt(o){let A={},f={},m=o.techniques;return O(m)&&(Dr.technique(o,function(C,E){let x=C.states;if(O(x)){let y=f[E]={};if(dOe(x,li.BLEND)){y.alphaMode="BLEND";let I=x.functions;O(I)&&(O(I.blendEquationSeparate)||O(I.blendFuncSeparate))&&(A[E]={blendEquation:oe(I.blendEquationSeparate,dzt),blendFactors:pzt(I.blendFuncSeparate,fzt)})}dOe(x,li.CULL_FACE)||(y.doubleSided=!0),delete C.states}}),Object.keys(A).length>0&&(O(o.extensions)||(o.extensions={}),I3(o,"KHR_blend")),Dr.material(o,function(C){if(O(C.technique)){let E=f[C.technique];Dr.objectLegacy(E,function(y,I){C[I]=y});let x=A[C.technique];O(x)&&(O(C.extensions)||(C.extensions={}),C.extensions.KHR_blend=x)}})),o}var Iye=mzt;function Czt(o,A){let f=o.extensionsRequired;O(f)||(f=[],o.extensionsRequired=f),$y(f,A,!0),I3(o,A)}var _ye=Czt;function Ezt(o){let A=o.techniques,f={},m={},C={};if(O(A)){let E={programs:[],shaders:[],techniques:[]},x=o.glExtensionsUsed;delete o.glExtensionsUsed,Dr.technique(o,function(y,I){let v={name:y.name,program:void 0,attributes:{},uniforms:{}},B;if(Dr.techniqueAttribute(y,function(Q,T){B=y.parameters[Q],v.attributes[T]={semantic:B.semantic}}),Dr.techniqueUniform(y,function(Q,T){B=y.parameters[Q],v.uniforms[T]={count:B.count,node:B.node,type:B.type,semantic:B.semantic,value:B.value},O(f[I])||(f[I]={}),f[I][Q]=T}),O(C[y.program]))v.program=C[y.program];else{let Q=o.programs[y.program],T={name:Q.name,fragmentShader:void 0,vertexShader:void 0,glExtensions:x},w=o.shaders[Q.fragmentShader];T.fragmentShader=$y(E.shaders,w,!0);let S=o.shaders[Q.vertexShader];T.vertexShader=$y(E.shaders,S,!0),v.program=$y(E.programs,T),C[y.program]=v.program}m[I]=$y(E.techniques,v)}),E.techniques.length>0&&(O(o.extensions)||(o.extensions={}),o.extensions.KHR_techniques_webgl=E,I3(o,"KHR_techniques_webgl"),_ye(o,"KHR_techniques_webgl"))}return Dr.material(o,function(E){if(O(E.technique)){let x={technique:m[E.technique]};Dr.objectLegacy(E.values,function(y,I){O(x.values)||(x.values={});let v=f[E.technique][I];O(v)&&(x.values[v]=y)}),O(E.extensions)||(E.extensions={}),E.extensions.KHR_techniques_webgl=x}delete E.technique,delete E.values}),delete o.techniques,delete o.programs,delete o.shaders,o}var vye=Ezt;function xzt(o,A){XA.typeOf.object("material",o),XA.defined("handler",A);let f=o.pbrMetallicRoughness;if(O(f)){if(O(f.baseColorTexture)){let C=f.baseColorTexture,E=A(C.index,C);if(O(E))return E}if(O(f.metallicRoughnessTexture)){let C=f.metallicRoughnessTexture,E=A(C.index,C);if(O(E))return E}}if(O(o.extensions)){let C=o.extensions.KHR_materials_pbrSpecularGlossiness;if(O(C)){if(O(C.diffuseTexture)){let x=C.diffuseTexture,y=A(x.index,x);if(O(y))return y}if(O(C.specularGlossinessTexture)){let x=C.specularGlossinessTexture,y=A(x.index,x);if(O(y))return y}}let E=o.extensions.KHR_materials_common;if(O(E)&&O(E.values)){let x=E.values.diffuse,y=E.values.ambient,I=E.values.emission,v=E.values.specular;if(O(x)&&O(x.index)){let B=A(x.index,x);if(O(B))return B}if(O(y)&&O(y.index)){let B=A(y.index,y);if(O(B))return B}if(O(I)&&O(I.index)){let B=A(I.index,I);if(O(B))return B}if(O(v)&&O(v.index)){let B=A(v.index,v);if(O(B))return B}}}let m=Dr.materialValue(o,function(C){if(O(C.index)){let E=A(C.index,C);if(O(E))return E}});if(O(m))return m;if(O(o.emissiveTexture)){let C=o.emissiveTexture,E=A(C.index,C);if(O(E))return E}if(O(o.normalTexture)){let C=o.normalTexture,E=A(C.index,C);if(O(E))return E}if(O(o.occlusionTexture)){let C=o.occlusionTexture,E=A(C.index,C);if(O(E))return E}}var Kie=xzt,fOe=["mesh","node","material","accessor","bufferView","buffer","texture","sampler","image"];function yzt(o,A){return A=oe(A,fOe),fOe.forEach(function(f){A.indexOf(f)>-1&&_zt(o,f)}),o}var Izt={accessor:"accessors",buffer:"buffers",bufferView:"bufferViews",image:"images",node:"nodes",material:"materials",mesh:"meshes",sampler:"samplers",texture:"textures"};function _zt(o,A){let f=Izt[A],m=o[f];if(O(m)){let C=0,E=fQ[A](o),x=m.length;for(let y=0;yA&&m.attributes[x]--}),Dr.meshPrimitiveTarget(m,function(E){Dr.meshPrimitiveTargetAttribute(E,function(x,y){x>A&&E[y]--})});let C=m.indices;O(C)&&C>A&&m.indices--})}),Dr.skin(o,function(f){O(f.inverseBindMatrices)&&f.inverseBindMatrices>A&&f.inverseBindMatrices--}),Dr.animation(o,function(f){Dr.animationSampler(f,function(m){O(m.input)&&m.input>A&&m.input--,O(m.output)&&m.output>A&&m.output--})})};dQ.buffer=function(o,A){o.buffers.splice(A,1),Dr.bufferView(o,function(f){O(f.buffer)&&f.buffer>A&&f.buffer--,O(f.extensions)&&O(f.extensions.EXT_meshopt_compression)&&f.extensions.EXT_meshopt_compression.buffer--})};dQ.bufferView=function(o,A){if(o.bufferViews.splice(A,1),Dr.accessor(o,function(f){O(f.bufferView)&&f.bufferView>A&&f.bufferView--}),Dr.shader(o,function(f){O(f.bufferView)&&f.bufferView>A&&f.bufferView--}),Dr.image(o,function(f){O(f.bufferView)&&f.bufferView>A&&f.bufferView--}),Tg(o,"KHR_draco_mesh_compression")&&Dr.mesh(o,function(f){Dr.meshPrimitive(f,function(m){O(m.extensions)&&O(m.extensions.KHR_draco_mesh_compression)&&m.extensions.KHR_draco_mesh_compression.bufferView>A&&m.extensions.KHR_draco_mesh_compression.bufferView--})}),Tg(o,"EXT_feature_metadata")){let f=o.extensions.EXT_feature_metadata.featureTables;for(let m in f)if(f.hasOwnProperty(m)){let C=f[m].properties;if(O(C)){for(let E in C)if(C.hasOwnProperty(E)){let x=C[E];O(x.bufferView)&&x.bufferView>A&&x.bufferView--,O(x.arrayOffsetBufferView)&&x.arrayOffsetBufferView>A&&x.arrayOffsetBufferView--,O(x.stringOffsetBufferView)&&x.stringOffsetBufferView>A&&x.stringOffsetBufferView--}}}}if(Tg(o,"EXT_structural_metadata")){let f=o.extensions.EXT_structural_metadata.propertyTables;if(O(f)){let m=f.length;for(let C=0;CA&&y.values--,O(y.arrayOffsets)&&y.arrayOffsets>A&&y.arrayOffsets--,O(y.stringOffsets)&&y.stringOffsets>A&&y.stringOffsets--}}}}};dQ.image=function(o,A){o.images.splice(A,1),Dr.texture(o,function(f){O(f.source)&&f.source>A&&--f.source;let m=f.extensions;O(m)&&O(m.EXT_texture_webp)&&m.EXT_texture_webp.source>A?--f.extensions.EXT_texture_webp.source:O(m)&&O(m.KHR_texture_basisu)&&m.KHR_texture_basisu.source>A&&--f.extensions.KHR_texture_basisu.source})};dQ.mesh=function(o,A){o.meshes.splice(A,1),Dr.node(o,function(f){O(f.mesh)&&(f.mesh>A?f.mesh--:f.mesh===A&&delete f.mesh)})};dQ.node=function(o,A){o.nodes.splice(A,1),Dr.skin(o,function(f){O(f.skeleton)&&f.skeleton>A&&f.skeleton--,f.joints=f.joints.map(function(m){return m>A?m-1:m})}),Dr.animation(o,function(f){Dr.animationChannel(f,function(m){O(m.target)&&O(m.target.node)&&m.target.node>A&&m.target.node--})}),Dr.technique(o,function(f){Dr.techniqueUniform(f,function(m){O(m.node)&&m.node>A&&m.node--})}),Dr.node(o,function(f){O(f.children)&&(f.children=f.children.filter(function(m){return m!==A}).map(function(m){return m>A?m-1:m}))}),Dr.scene(o,function(f){f.nodes=f.nodes.filter(function(m){return m!==A}).map(function(m){return m>A?m-1:m})})};dQ.material=function(o,A){o.materials.splice(A,1),Dr.mesh(o,function(f){Dr.meshPrimitive(f,function(m){O(m.material)&&m.material>A&&m.material--})})};dQ.sampler=function(o,A){o.samplers.splice(A,1),Dr.texture(o,function(f){O(f.sampler)&&f.sampler>A&&--f.sampler})};dQ.texture=function(o,A){if(o.textures.splice(A,1),Dr.material(o,function(f){Kie(f,function(m,C){C.index>A&&--C.index})}),Tg(o,"EXT_feature_metadata")){Dr.mesh(o,function(m){Dr.meshPrimitive(m,function(C){let E=C.extensions;if(O(E)&&O(E.EXT_feature_metadata)){let x=E.EXT_feature_metadata.featureIdTextures;if(O(x)){let y=x.length;for(let I=0;IA&&--v.index}}}})});let f=o.extensions.EXT_feature_metadata.featureTextures;for(let m in f)if(f.hasOwnProperty(m)){let C=f[m].properties;if(O(C)){for(let E in C)if(C.hasOwnProperty(E)){let x=C[E].texture;x.index>A&&--x.index}}}}if(Tg(o,"EXT_mesh_features")&&Dr.mesh(o,function(f){Dr.meshPrimitive(f,function(m){let C=m.extensions;if(O(C)&&O(C.EXT_mesh_features)){let E=C.EXT_mesh_features.featureIds;if(O(E)){let x=E.length;for(let y=0;yA&&--I.texture.index}}}})}),Tg(o,"EXT_structural_metadata")){let f=o.extensions.EXT_structural_metadata.propertyTextures;if(O(f)){let m=f.length;for(let C=0;CA&&--y.index}}}}};function fQ(){}fQ.accessor=function(o){let A={};return Dr.mesh(o,function(f){Dr.meshPrimitive(f,function(m){Dr.meshPrimitiveAttribute(m,function(E){A[E]=!0}),Dr.meshPrimitiveTarget(m,function(E){Dr.meshPrimitiveTargetAttribute(E,function(x){A[x]=!0})});let C=m.indices;O(C)&&(A[C]=!0)})}),Dr.skin(o,function(f){O(f.inverseBindMatrices)&&(A[f.inverseBindMatrices]=!0)}),Dr.animation(o,function(f){Dr.animationSampler(f,function(m){O(m.input)&&(A[m.input]=!0),O(m.output)&&(A[m.output]=!0)})}),Tg(o,"EXT_mesh_gpu_instancing")&&Dr.node(o,function(f){O(f.extensions)&&O(f.extensions.EXT_mesh_gpu_instancing)&&Object.keys(f.extensions.EXT_mesh_gpu_instancing.attributes).forEach(function(m){let C=f.extensions.EXT_mesh_gpu_instancing.attributes[m];A[C]=!0})}),A};fQ.buffer=function(o){let A={};return Dr.bufferView(o,function(f){O(f.buffer)&&(A[f.buffer]=!0),O(f.extensions)&&O(f.extensions.EXT_meshopt_compression)&&(A[f.extensions.EXT_meshopt_compression.buffer]=!0)}),A};fQ.bufferView=function(o){let A={};if(Dr.accessor(o,function(f){O(f.bufferView)&&(A[f.bufferView]=!0)}),Dr.shader(o,function(f){O(f.bufferView)&&(A[f.bufferView]=!0)}),Dr.image(o,function(f){O(f.bufferView)&&(A[f.bufferView]=!0)}),Tg(o,"KHR_draco_mesh_compression")&&Dr.mesh(o,function(f){Dr.meshPrimitive(f,function(m){O(m.extensions)&&O(m.extensions.KHR_draco_mesh_compression)&&(A[m.extensions.KHR_draco_mesh_compression.bufferView]=!0)})}),Tg(o,"EXT_feature_metadata")){let f=o.extensions.EXT_feature_metadata.featureTables;for(let m in f)if(f.hasOwnProperty(m)){let C=f[m].properties;if(O(C)){for(let E in C)if(C.hasOwnProperty(E)){let x=C[E];O(x.bufferView)&&(A[x.bufferView]=!0),O(x.arrayOffsetBufferView)&&(A[x.arrayOffsetBufferView]=!0),O(x.stringOffsetBufferView)&&(A[x.stringOffsetBufferView]=!0)}}}}if(Tg(o,"EXT_structural_metadata")){let f=o.extensions.EXT_structural_metadata.propertyTables;if(O(f)){let m=f.length;for(let C=0;C0&&(A[f.mesh]=!0)}}),A};function bWe(o,A,f){let m=o.nodes[A];return O(m.mesh)||O(m.camera)||O(m.skin)||O(m.weights)||O(m.extras)||O(m.extensions)&&Object.keys(m.extensions).length!==0||O(f[A])?!1:!O(m.children)||m.children.filter(function(C){return!bWe(o,C,f)}).length===0}fQ.node=function(o){let A={};return Dr.skin(o,function(f){O(f.skeleton)&&(A[f.skeleton]=!0),Dr.skinJoint(f,function(m){A[m]=!0})}),Dr.animation(o,function(f){Dr.animationChannel(f,function(m){O(m.target)&&O(m.target.node)&&(A[m.target.node]=!0)})}),Dr.technique(o,function(f){Dr.techniqueUniform(f,function(m){O(m.node)&&(A[m.node]=!0)})}),Dr.node(o,function(f,m){bWe(o,m,A)||(A[m]=!0)}),A};fQ.material=function(o){let A={};return Dr.mesh(o,function(f){Dr.meshPrimitive(f,function(m){O(m.material)&&(A[m.material]=!0)})}),A};fQ.texture=function(o){let A={};if(Dr.material(o,function(f){Kie(f,function(m){A[m]=!0})}),Tg(o,"EXT_feature_metadata")){Dr.mesh(o,function(m){Dr.meshPrimitive(m,function(C){let E=C.extensions;if(O(E)&&O(E.EXT_feature_metadata)){let x=E.EXT_feature_metadata.featureIdTextures;if(O(x)){let y=x.length;for(let I=0;I0)for(x.mesh=f.meshes[I[0]],A=1;A0&&O(x.skin)){let v=o.skins[x.skin];v.skeleton=f.nodes[I[0]]}delete x.skeletons}O(x.jointName)&&delete x.jointName}),Dr.skin(o,function(x){O(x.inverseBindMatrices)&&(x.inverseBindMatrices=f.accessors[x.inverseBindMatrices]);let y=x.jointNames;if(O(y)){let I=[],v=y.length;for(A=0;A=0&&(y=E.substring(0,x),I=E.substring(x));let v,B=Jzt[y];O(B)?(v=B+I,A[E]=v):O(Yzt[y])||(v=`_${E}`,A[E]=v)}});for(let C in A)if(Object.prototype.hasOwnProperty.call(A,C)){let E=A[C],x=m.attributes[C];O(x)&&(delete m.attributes[C],m.attributes[E]=x)}})}),Dr.technique(o,function(f){Dr.techniqueParameter(f,function(m){let C=A[m.semantic];O(C)&&(m.semantic=C)})})}function Wzt(o){Dr.camera(o,function(A){let f=A.perspective;if(O(f)){let m=f.aspectRatio;O(m)&&m===0&&delete f.aspectRatio;let C=f.yfov;O(C)&&C===0&&(f.yfov=1)}})}function Wfe(o,A){return O(A.byteStride)&&A.byteStride!==0?A.byteStride:dR(o,A)}function jzt(o){Dr.buffer(o,function(A){O(A.byteLength)||(A.byteLength=A.extras._pipeline.source.length)}),Dr.accessor(o,function(A){let f=A.bufferView;if(O(f)){let m=o.bufferViews[f],C=Wfe(o,A),E=A.byteOffset+A.count*C;m.byteLength=Math.max(oe(m.byteLength,0),E)}})}function qzt(o){let A,f,m,C=o.bufferViews,E={};Dr.accessorContainingVertexAttributeData(o,function(y){let I=o.accessors[y];O(I.bufferView)&&(E[I.bufferView]=!0)});let x={};Dr.accessor(o,function(y){O(y.bufferView)&&(x[y.bufferView]=oe(x[y.bufferView],[]),x[y.bufferView].push(y))});for(let y in x)if(Object.prototype.hasOwnProperty.call(x,y)){m=C[y];let I=x[y];I.sort(function(T,w){return T.byteOffset-w.byteOffset});let v=0,B=0,Q=I.length;for(A=0;A=0;--E)if(m[E]===A){m.splice(E,1);return}}}),Dr.node(o,function(f,m){if(O(f.children)){let C=f.children.indexOf(A);C>-1&&(f.children.splice(C,1),SWe(f)&&DWe(o,m))}}),delete o.nodes[A]}function Zzt(o){return Dr.node(o,function(A,f){SWe(A)&&DWe(o,f)}),o}function $zt(o){Dr.animation(o,function(A){Dr.animationSampler(A,function(f){let m=o.accessors[f.input];if(!O(m.min)||!O(m.max)){let C=SY(o,m);m.min=C.min,m.max=C.max}})})}function eYt(o){Dr.accessor(o,function(A){if(O(A.min)||O(A.max)){let f=SY(o,A);O(A.min)&&(A.min=f.min),O(A.max)&&(A.max=f.max)}})}function tYt(o){o.asset=oe(o.asset,{}),o.asset.version="2.0",QWe(o),Lzt(o),Zzt(o),Fzt(o),Nzt(o),Ozt(o),Gzt(o),jzt(o),qzt(o),Xzt(o),$zt(o),eYt(o),Hzt(o),Vzt(o),zzt(o),Kzt(o),Qye(o),Wzt(o),Iye(o),vye(o),kzt(o)}var iYt=["u_tex","u_diffuse","u_emission"],rYt=["u_diffuse"];function jfe(o){o.pbrMetallicRoughness=O(o.pbrMetallicRoughness)?o.pbrMetallicRoughness:{},o.pbrMetallicRoughness.roughnessFactor=1,o.pbrMetallicRoughness.metallicFactor=0}function TZ(o){return O(o.index)}function MZ(o){return Array.isArray(o)&&o.length===4}function TWe(o){let A=new Array(4);A[3]=o[3];for(let f=0;f<3;f++){let m=o[f];m<=.04045?A[f]=o[f]*.07739938080495357:A[f]=Math.pow((m+.055)*.9478672985781991,2.4)}return A}function nYt(o){Dr.material(o,function(A){Dr.materialValue(A,function(f,m){iYt.indexOf(m)!==-1&&TZ(f)?(jfe(A),A.pbrMetallicRoughness.baseColorTexture=f):rYt.indexOf(m)!==-1&&MZ(f)&&(jfe(A),A.pbrMetallicRoughness.baseColorFactor=TWe(f))})}),k9(o,"KHR_techniques_webgl"),k9(o,"KHR_blend")}function oYt(o){Dr.material(o,function(A){let f=oe(A.extensions,oe.EMPTY_OBJECT).KHR_materials_common;if(O(f)){f.technique==="CONSTANT"&&(I3(o,"KHR_materials_unlit"),A.extensions=O(A.extensions)?A.extensions:{},A.extensions.KHR_materials_unlit={});let m=O(f.values)?f.values:{},C=m.ambient,E=m.diffuse,x=m.emission,y=m.transparency,I=f.doubleSided,v=f.transparent;jfe(A),O(C)&&(MZ(C)?A.emissiveFactor=C.slice(0,3):TZ(C)&&(A.emissiveTexture=C)),O(E)&&(MZ(E)?A.pbrMetallicRoughness.baseColorFactor=TWe(E):TZ(E)&&(A.pbrMetallicRoughness.baseColorTexture=E)),O(I)&&(A.doubleSided=I),O(x)&&(MZ(x)?A.emissiveFactor=x.slice(0,3):TZ(x)&&(A.emissiveTexture=x)),O(y)&&(O(A.pbrMetallicRoughness.baseColorFactor)?A.pbrMetallicRoughness.baseColorFactor[3]*=y:A.pbrMetallicRoughness.baseColorFactor=[1,1,1,y]),O(v)&&(A.alphaMode=v?"BLEND":"OPAQUE")}}),k9(o,"KHR_materials_common")}var Sye=Szt,vl={POSITION:"POSITION",NORMAL:"NORMAL",TANGENT:"TANGENT",TEXCOORD:"TEXCOORD",COLOR:"COLOR",JOINTS:"JOINTS",WEIGHTS:"WEIGHTS",FEATURE_ID:"_FEATURE_ID"};function aYt(o){switch(o){case vl.POSITION:return"positionMC";case vl.NORMAL:return"normalMC";case vl.TANGENT:return"tangentMC";case vl.TEXCOORD:return"texCoord";case vl.COLOR:return"color";case vl.JOINTS:return"joints";case vl.WEIGHTS:return"weights";case vl.FEATURE_ID:return"featureId"}}vl.hasSetIndex=function(o){switch(o){case vl.POSITION:case vl.NORMAL:case vl.TANGENT:return!1;case vl.TEXCOORD:case vl.COLOR:case vl.JOINTS:case vl.WEIGHTS:case vl.FEATURE_ID:return!0}};vl.fromGltfSemantic=function(o){let A=o,f=/^(\w+)_\d+$/.exec(o);switch(f!==null&&(A=f[1]),A){case"POSITION":return vl.POSITION;case"NORMAL":return vl.NORMAL;case"TANGENT":return vl.TANGENT;case"TEXCOORD":return vl.TEXCOORD;case"COLOR":return vl.COLOR;case"JOINTS":return vl.JOINTS;case"WEIGHTS":return vl.WEIGHTS;case"_FEATURE_ID":return vl.FEATURE_ID}};vl.fromPntsSemantic=function(o){switch(o){case"POSITION":case"POSITION_QUANTIZED":return vl.POSITION;case"RGBA":case"RGB":case"RGB565":return vl.COLOR;case"NORMAL":case"NORMAL_OCT16P":return vl.NORMAL;case"BATCH_ID":return vl.FEATURE_ID}};vl.getGlslType=function(o){switch(o){case vl.POSITION:case vl.NORMAL:case vl.TANGENT:return"vec3";case vl.TEXCOORD:return"vec2";case vl.COLOR:return"vec4";case vl.JOINTS:return"ivec4";case vl.WEIGHTS:return"vec4";case vl.FEATURE_ID:return"int"}};vl.getVariableName=function(o,A){let f=aYt(o);return O(A)&&(f+=`_${A}`),f};var Bo=Object.freeze(vl);function gC(){}gC.getError=function(o,A,f){let m=`Failed to load ${o}: ${A}`;O(f)&&O(f.message)&&(m+=` ${f.message}`);let C=new ki(m);return O(f)&&(C.stack=`Original stack: ${f.stack} Handler stack: ${C.stack}`),C};gC.getNodeTransform=function(o){return O(o.matrix)?o.matrix:Re.fromTranslationQuaternionRotationScale(O(o.translation)?o.translation:Z.ZERO,O(o.rotation)?o.rotation:fr.IDENTITY,O(o.scale)?o.scale:Z.ONE)};gC.getAttributeBySemantic=function(o,A,f){let m=o.attributes,C=m.length;for(let E=0;E>A};cp.fromSubtreeJson=async function(o,A,f,m,C){let E=new cp(o,m,C),x;O(A)?x={json:A,binary:void 0}:x=jYt(f);let y=x.json;E._subtreeJson=y;let I;if(rc(y,"3DTILES_metadata"))I=y.extensions["3DTILES_metadata"];else if(O(y.tileMetadata)){let M=y.tileMetadata;I=y.propertyTables[M]}let v=[];if(O(y.contentMetadata)){let M=y.contentMetadata.length;for(let L=0;L0;B=B||Q;for(let T=0;T>BigInt(61)),v=I%2===0?R$.encode2D(m,C,E):R$.encode2D(m,E,C),B=Q5.fromFacePositionLevel(I,BigInt(v),m),Q,T;if(O(x)){let w=(y.maximumHeight+y.minimumHeight)/2;Q=f<4?y.minimumHeight:w,T=f<4?w:y.maximumHeight}else Q=y.minimumHeight,T=y.maximumHeight;return{extensions:{"3DTILES_bounding_volume_S2":{token:Q5.getTokenFromId(B._cellId),minimumHeight:Q,maximumHeight:T}}}}var CJt=new Z,EJt=new Z,Nce=new Z,xJt=new Gt;function zWe(o,A,f,m,C){if(A===0)return o;let E=Z.unpack(o,0,EJt),x=Gt.unpack(o,3,xJt),y=Math.pow(2,-A),I=-1+(2*f+1)*y,v=-1+(2*m+1)*y,B=0,Q=Z.fromElements(y,y,1,CJt);O(C)&&(B=-1+(2*C+1)*y,Q.z=y);let T=Z.fromElements(I,v,B,Nce);T=Gt.multiplyByVector(x,T,Nce),T=Z.add(T,E,Nce);let w=Gt.clone(x);w=Gt.multiplyByScale(w,Q,w);let S=new Array(12);return Z.pack(T,S),Gt.pack(w,S,3),S}var yJt=new gi;function YWe(o,A,f,m,C){if(A===0)return o.slice();let E=gi.unpack(o,0,yJt),x=o[4],y=o[5],I=Math.pow(2,-A),v=I*E.width,B=Be.negativePiToPi(E.west+f*v),Q=Be.negativePiToPi(B+v),T=I*E.height,w=Be.negativePiToPi(E.south+m*T),S=Be.negativePiToPi(w+T),D=x,R=y;if(O(C)){let P=I*(y-x);D+=C*P,R=D+P}return[B,w,Q,S,D,R]}function IJt(o,A,f){let m=o._implicitTileset,C=A.implicitCoordinates.getChildCoordinates(f),E=HWe(m,C,f,!1,A),x=GWe(void 0,m,C),y=m.subtreeUriTemplate.getDerivedResource({templateValues:C.getTemplateValues()}).url,I={boundingVolume:E,geometricError:x,refine:m.refine,contents:[{uri:y}]},v=JWe(o,m.baseResource,I,A);return v.implicitTileset=m,v.implicitCoordinates=C,v}function JWe(o,A,f,m){let C=o._tile.constructor;return new C(o._tileset,A,f,m)}Lx.prototype.hasProperty=function(o,A){return!1};Lx.prototype.getFeature=function(o){};Lx.prototype.applyDebugSettings=function(o,A){};Lx.prototype.applyStyle=function(o){};Lx.prototype.update=function(o,A){};Lx.prototype.isDestroyed=function(){return!1};Lx.prototype.destroy=function(){return this._implicitSubtree=this._implicitSubtree&&this._implicitSubtree.destroy(),Ar(this)};Lx._deriveBoundingBox=zWe;Lx._deriveBoundingRegion=YWe;Lx._deriveBoundingVolumeS2=VWe;var H$=Lx,_Jt={NONE:0,REPEAT:1,MIRRORED_REPEAT:2},oD=Object.freeze(_Jt);function p4(o,A){this._distance=A,this._normal=new KWe(o,this),this.onChangeCallback=void 0,this.index=-1}Object.defineProperties(p4.prototype,{distance:{get:function(){return this._distance},set:function(o){O(this.onChangeCallback)&&o!==this._distance&&this.onChangeCallback(this.index),this._distance=o}},normal:{get:function(){return this._normal},set:function(o){O(this.onChangeCallback)&&!Z.equals(this._normal._cartesian3,o)&&this.onChangeCallback(this.index),Z.clone(o,this._normal._cartesian3)}}});p4.fromPlane=function(o,A){return O(A)?(A.normal=o.normal,A.distance=o.distance):A=new p4(o.normal,o.distance),A};p4.clone=function(o,A){return O(A)?(A.normal=o.normal,A.distance=o.distance,A):new p4(o.normal,o.distance)};function KWe(o,A){this._clippingPlane=A,this._cartesian3=Z.clone(o)}Object.defineProperties(KWe.prototype,{x:{get:function(){return this._cartesian3.x},set:function(o){O(this._clippingPlane.onChangeCallback)&&o!==this._cartesian3.x&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.x=o}},y:{get:function(){return this._cartesian3.y},set:function(o){O(this._clippingPlane.onChangeCallback)&&o!==this._cartesian3.y&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.y=o}},z:{get:function(){return this._cartesian3.z},set:function(o){O(this._clippingPlane.onChangeCallback)&&o!==this._cartesian3.z&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.z=o}}});var g0=p4;function pC(o){o=oe(o,oe.EMPTY_OBJECT),this._planes=[],this._dirtyIndex=-1,this._multipleDirtyPlanes=!1,this._enabled=oe(o.enabled,!0),this.modelMatrix=Re.clone(oe(o.modelMatrix,Re.IDENTITY)),this.edgeColor=Ve.clone(oe(o.edgeColor,Ve.WHITE)),this.edgeWidth=oe(o.edgeWidth,0),this.planeAdded=new ur,this.planeRemoved=new ur,this._owner=void 0;let A=oe(o.unionClippingRegions,!1);this._unionClippingRegions=A,this._testIntersection=A?WWe:jWe,this._uint8View=void 0,this._float32View=void 0,this._clippingPlanesTexture=void 0;let f=o.planes;if(O(f)){let m=f.length;for(let C=0;C0&&(E=sa.OUTSIDE);for(let x=0;x=E;)P=C[P-E];C.push(P),x[D]=R}R>qJt&&(A instanceof Uint16Array||A instanceof Uint8Array)?A=new Uint32Array(A):R>XJt&&A instanceof Uint8Array&&(A=new Uint16Array(A)),D===I?(I=R,A[y]=R):D===v?(v=R,A[y+1]=R):(B=R,A[y+2]=R),D=BOe(m,I,v,B,T,w,S)}}o._triangleIndices=A,o._outlineCoordinatesTypedArray=new Float32Array(m)}function BOe(o,A,f,m,C,E,x){let y=x?1:0,I=C?1:0,v=0,B=Oce(o,A,y,I,v);if(B===0)return A;let Q=0,T=C?1:0,w=E?1:0,S=Oce(o,f,Q,T,w);if(S===0)return f;let D=x?1:0,R=0,P=E?1:0,M=Oce(o,m,D,R,P);if(M===0)return m;let L=B&S&M,F,k,N;if(L&1)F=0,k=1,N=2;else if(L&2)F=0,N=1,k=2;else if(L&4)k=0,F=1,N=2;else if(L&8)k=0,N=1,F=2;else if(L&16)N=0,F=1,k=2;else if(L&32)N=0,k=1,F=2;else{let X=Uce(B),q=Uce(S),ee=Uce(M);return X>1&1)+(o>>2&1)+(o>>3&1)+(o>>4&1)+(o>>5&1)}nre.prototype.updateAttribute=function(o){let A=this._extraVertices,f=o.length,m=f/this._originalVertexCount,C=A.length,E=o.constructor,x=new E(o.length+C*m);x.set(o);for(let y=0;y1;)m>>=1,E.push(wOe(m));let x=new Nn({context:o,source:{arrayBufferView:C,mipLevels:E},width:f,height:1,pixelFormat:rn.LUMINANCE,sampler:new Oa({wrapS:Vo.CLAMP_TO_EDGE,wrapT:Vo.CLAMP_TO_EDGE,minificationFilter:Ba.LINEAR_MIPMAP_LINEAR,magnificationFilter:Wu.LINEAR})});return A.outlineTexture=x,x};function wOe(o){let A=new Uint8Array(o);return A[o-1]=192,o===8?A[o-1]=96:o===4?A[o-1]=48:o===2?A[o-1]=24:o===1&&(A[o-1]=12),A}function tje(o,A){this._originalVertexCount=A,this._edges=new Set;for(let f=0;f{this._resourcesLoaded=!0}).catch(C=>{this._processError=C})),O(this._processError)){this._state=Bc.FAILED;let C=this._processError;this._processError=void 0,PZ(this,C)}let A=this._textureErrors.pop();if(O(A)){let C=this.getError("Failed to load glTF texture",A);throw C.name="TextureError",C}if(this._state===Bc.FAILED)return!1;let f=!1;try{f=this._process(o)}catch(C){this._state=Bc.FAILED,PZ(this,C)}let m=!1;try{m=this._processTextures(o)}catch(C){this._textureState=Bc.FAILED,PZ(this,C)}return this._incrementallyLoadTextures?f:f&&m};function TKt(o,A,f,m,C,E,x,y){let I=A.accessors[f].bufferView;return gc.getVertexBufferLoader({gltf:A,gltfResource:o._gltfResource,baseResource:o._baseResource,frameState:y,bufferViewId:I,draco:C,attributeSemantic:m,accessorId:f,asynchronous:o._asynchronous,loadBuffer:E,loadTypedArray:x})}function MKt(o,A,f,m,C,E,x){return gc.getIndexBufferLoader({gltf:A,accessorId:f,gltfResource:o._gltfResource,baseResource:o._baseResource,frameState:x,draco:m,asynchronous:o._asynchronous,loadBuffer:C,loadTypedArray:E})}function PKt(o,A,f){let m=gc.getBufferViewLoader({gltf:A,bufferViewId:f,gltfResource:o._gltfResource,baseResource:o._baseResource});return o._bufferViewLoaders.push(m),m}function aje(o,A,f){let m=A.byteOffset,C=dR(o,A),E=A.count,x=y3(A.type),y=A.componentType,I=Ft.getSizeInBytes(y),v=I*x,B=E*x;if(C===v)return f=new Uint8Array(f),Ft.createArrayBufferView(y,f.buffer,f.byteOffset+m,B);let Q=Ft.createTypedArray(y,B),T=new DataView(f.buffer),w=new Array(x),S=QY(A.componentType);m=f.byteOffset+m;for(let D=0;D{O(C)&&O(C.attributes)&&O(C.attributes[B])?YKt(S,D,E,x):JKt(A,I,S,D,E,x)},S}function uje(o,A,f,m,C,E,x,y){let I=m.modelSemantic,v=I===Bo.POSITION,B=I===Bo.FEATURE_ID,Q=v&&!E&&o._loadAttributesFor2D&&!y.scene3DOnly,T=o._loadForClassification&&B,w=o._loadAttributesAsTypedArray,S=!w,D=w||Q||T,R=lje(o,A,f,m,C,x?!1:S,x?!0:D,y),P=new NY.AttributeLoadPlan(R);return P.loadBuffer=S,P.loadTypedArray=D,P}function KKt(o,A,f,m,C,E){let x=O(m.ROTATION),y=O(m.TRANSLATION)&&O(A.accessors[m.TRANSLATION].min)&&O(A.accessors[m.TRANSLATION].max),I=Wye(o,rp,C),v=I.modelSemantic,B=v===rp.TRANSLATION||v===rp.ROTATION||v===rp.SCALE,Q=v===rp.TRANSLATION,T=o._loadAttributesAsTypedArray||x&&B||!E.context.instancedArrays,w=!T,S=o._loadAttributesFor2D&&!E.scene3DOnly;return lje(o,A,f,I,void 0,w,T||Q&&(!y||S),E)}function WKt(o,A,f,m,C,E,x){let y=A.accessors[f],I=y.bufferView;if(!O(m)&&!O(I))return;let v=new sKt;v.count=y.count;let B=o._loadAttributesAsTypedArray,Q=o._loadIndicesForWireframe&&!x.context.webgl2,T=o._loadForClassification&&C,w=!B,S=B||Q||T,D=MKt(o,A,f,m,E?!1:w,E?!0:S,x),R=o._geometryLoaders.length;o._geometryLoaders.push(D);let P=D.load();o._loaderPromises.push(P),o._geometryCallbacks[R]=()=>{v.indexDatatype=D.indexDatatype,v.buffer=D.buffer,v.typedArray=D.typedArray};let M=new NY.IndicesLoadPlan(v);return M.loadBuffer=w,M.loadTypedArray=S,M}function YS(o,A,f,m,C,E){let x=RD.getImageIdFromTexture({gltf:A,textureId:f.index,supportedImageFormats:m});if(!O(x))return;let y=gc.getTextureLoader({gltf:A,textureInfo:f,gltfResource:o._gltfResource,baseResource:o._baseResource,supportedImageFormats:m,frameState:C,asynchronous:o._asynchronous}),I=RD.createModelTextureReader({textureInfo:f}),v=o._textureLoaders.length;o._textureLoaders.push(y);let B=y.load().catch(Q=>{if(!o.isDestroyed()){if(!o._incrementallyLoadTextures)throw Q;o._textureState=Bc.FAILED,o._textureErrors.push(Q)}});return o._texturesPromises.push(B),o._textureCallbacks[v]=()=>{I.texture=y.texture,O(E)&&(I.texture.sampler=E)},I}function jKt(o,A,f,m,C){let E=new BKt,x=oe(f.extensions,oe.EMPTY_OBJECT),y=x.KHR_materials_pbrSpecularGlossiness,I=f.pbrMetallicRoughness;if(E.unlit=O(x.KHR_materials_unlit),O(y)){let v=new vKt;E.specularGlossiness=v,O(y.diffuseTexture)&&(v.diffuseTexture=YS(o,A,y.diffuseTexture,m,C)),O(y.specularGlossinessTexture)&&O(y.specularGlossinessTexture)&&(v.specularGlossinessTexture=YS(o,A,y.specularGlossinessTexture,m,C)),v.diffuseFactor=k_(zt,y.diffuseFactor),v.specularFactor=k_(Z,y.specularFactor),v.glossinessFactor=y.glossinessFactor,E.pbrSpecularGlossiness=y}else if(O(I)){let v=new _Kt;O(I.baseColorTexture)&&(v.baseColorTexture=YS(o,A,I.baseColorTexture,m,C)),O(I.metallicRoughnessTexture)&&(v.metallicRoughnessTexture=YS(o,A,I.metallicRoughnessTexture,m,C)),v.baseColorFactor=k_(zt,I.baseColorFactor),v.metallicFactor=I.metallicFactor,v.roughnessFactor=I.roughnessFactor,E.metallicRoughness=v}return O(f.emissiveTexture)&&(E.emissiveTexture=YS(o,A,f.emissiveTexture,m,C)),O(f.normalTexture)&&!o._loadForClassification&&(E.normalTexture=YS(o,A,f.normalTexture,m,C)),O(f.occlusionTexture)&&(E.occlusionTexture=YS(o,A,f.occlusionTexture,m,C)),E.emissiveFactor=k_(Z,f.emissiveFactor),E.alphaMode=f.alphaMode,E.alphaCutoff=f.alphaCutoff,E.doubleSided=f.doubleSided,E}function Aje(o,A){let f=new rje;return f.featureCount=o.featureCount,f.nullFeatureId=o.nullFeatureId,f.propertyTableId=o.propertyTable,f.setIndex=o.attribute,f.label=o.label,f.positionalLabel=A,f}function cje(o,A,f,m){let C=new rje,E=o.featureIds;return C.featureCount=f,C.propertyTableId=A,C.setIndex=sje(E.attribute),C.positionalLabel=m,C}function hje(o,A){let f=new oje;return f.propertyTableId=o.propertyTable,f.featureCount=o.featureCount,f.nullFeatureId=o.nullFeatureId,f.label=o.label,f.positionalLabel=A,f.offset=0,f.repeat=1,f}function dje(o,A,f,m){let C=new oje,E=o.featureIds;C.propertyTableId=A,C.featureCount=f,C.offset=oe(E.constant,0);let x=oe(E.divisor,0);return C.repeat=x===0?void 0:x,C.positionalLabel=m,C}function qKt(o,A,f,m,C,E){let x=new nje;x.featureCount=f.featureCount,x.nullFeatureId=f.nullFeatureId,x.propertyTableId=f.propertyTable,x.label=f.label,x.positionalLabel=E;let y=f.texture;x.textureReader=YS(o,A,y,m,C,Oa.NEAREST);let I=(O(y.channels)?y.channels:[0]).map(function(v){return"rgba".charAt(v)}).join("");return x.textureReader.channels=I,x}function XKt(o,A,f,m,C,E,x,y){let I=new nje,v=f.featureIds,B=v.texture;return I.featureCount=x,I.propertyTableId=m,I.textureReader=YS(o,A,B,C,E,Oa.NEAREST),I.textureReader.channels=v.channels,I.positionalLabel=y,I}function ZKt(o,A,f,m,C,E){let x=new lKt,y,I=!1;for(let v in f)if(f.hasOwnProperty(v)){let B=f[v],Q=Wye(o,Bo,v),T=uje(o,A,B,Q,y,I,m,E);x.attributes.push(T.attribute),C.attributePlans.push(T)}return x}function $Kt(o,A,f,m,C,E){let x=new uKt,y=new NY(x);o._primitiveLoadPlans.push(y);let I=f.material;O(I)&&(x.material=jKt(o,A,A.materials[I],C,E));let v=oe(f.extensions,oe.EMPTY_OBJECT),B=!1,Q=v.CESIUM_primitive_outline;o._loadPrimitiveOutline&&O(Q)&&(B=!0,y.needsOutlines=!0,y.outlineIndices=eWt(o,A,Q,y));let T=o._loadForClassification,w=v.KHR_draco_mesh_compression,S=!1,D=f.attributes;if(O(D)){for(let G in D)if(D.hasOwnProperty(G)){let J=D[G],K=Wye(o,Bo,G),X=K.modelSemantic;if(T&&!zKt(X))continue;X===Bo.FEATURE_ID&&(S=!0);let q=uje(o,A,J,K,w,m,B,E);y.attributePlans.push(q),x.attributes.push(q.attribute)}}let R=f.targets;if(O(R)&&!T){let G=R.length;for(let J=0;J=0&&P.receiveTextureProjectionList.push(L.name)}}let w=oe(f.weights,B.weights),S=E.primitives[0].morphTargets.length;E.morphWeights=O(w)?w.slice():new Array(S).fill(0)}return E}function uWt(o,A,f,m){if(!O(A.nodes))return[];let C,E,x=A.nodes.length,y=new Array(x);for(C=0;C0&&(m|=f.COLOR_BUFFER_BIT),O(this._colorFramebuffer.depthStencilTexture)&&(m|=f.DEPTH_BUFFER_BIT|(A?f.STENCIL_BUFFER_BIT:0)),f.blitFramebuffer(0,0,this._width,this._height,0,0,this._width,this._height,m,f.NEAREST),f.bindFramebuffer(f.READ_FRAMEBUFFER,null),f.bindFramebuffer(f.DRAW_FRAMEBUFFER,null)};QG.prototype.isDestroyed=function(){return!1};QG.prototype.destroy=function(){return this._renderFramebuffer.destroy(),this._colorFramebuffer.destroy(),Ar(this)};var jye=QG;function Rg(o){o=oe(o,oe.EMPTY_OBJECT),this._numSamples=oe(o.numSamples,1),this._colorAttachmentsLength=oe(o.colorAttachmentsLength,1),this._color=oe(o.color,!0),this._depth=oe(o.depth,!1),this._depthStencil=oe(o.depthStencil,!1),this._supportsDepthTexture=oe(o.supportsDepthTexture,!1),this._createColorAttachments=oe(o.createColorAttachments,!0),this._createDepthAttachments=oe(o.createDepthAttachments,!0),this._pixelDatatype=o.pixelDatatype,this._pixelFormat=o.pixelFormat,this._width=void 0,this._height=void 0,this._framebuffer=void 0,this._multisampleFramebuffer=void 0,this._colorTextures=void 0,this._color&&(this._colorTextures=new Array(this._colorAttachmentsLength),this._colorRenderbuffers=new Array(this._colorAttachmentsLength)),this._colorRenderbuffer=void 0,this._depthStencilRenderbuffer=void 0,this._depthStencilTexture=void 0,this._depthRenderbuffer=void 0,this._depthTexture=void 0,this._attachmentsDirty=!1}Object.defineProperties(Rg.prototype,{framebuffer:{get:function(){return this._numSamples>1?this._multisampleFramebuffer.getRenderFramebuffer():this._framebuffer}},numSamples:{get:function(){return this._numSamples}},status:{get:function(){return this.framebuffer.status}}});Rg.prototype.isDirty=function(o,A,f,m,C){f=oe(f,1);let E=this._width!==o||this._height!==A,x=this._numSamples!==f,y=O(m)&&this._pixelDatatype!==m||O(C)&&this._pixelFormat!==C,I=O(f===1?this._framebuffer:this._multisampleFramebuffer);return this._attachmentsDirty||E||x||y||!I||this._color&&!O(this._colorTextures[0])};Rg.prototype.update=function(o,A,f,m,C,E){if(m=o.msaa?oe(m,1):1,C=oe(C,this._color?oe(this._pixelDatatype,$r.UNSIGNED_BYTE):void 0),E=oe(E,this._color?oe(this._pixelFormat,rn.RGBA):void 0),this.isDirty(A,f,m,C,E)){if(this.destroy(),this._width=A,this._height=f,this._numSamples=m,this._pixelDatatype=C,this._pixelFormat=E,this._attachmentsDirty=!1,this._color&&this._createColorAttachments){for(let x=0;x1){let y=_x.getColorFormat(C);this._colorRenderbuffers[x]=new Zy({context:o,width:A,height:f,format:y,numSamples:this._numSamples})}}this._depthStencil&&this._createDepthAttachments&&(this._supportsDepthTexture&&o.depthTexture?(this._depthStencilTexture=new Nn({context:o,width:A,height:f,pixelFormat:rn.DEPTH_STENCIL,pixelDatatype:$r.UNSIGNED_INT_24_8,sampler:Oa.NEAREST}),this._numSamples>1&&(this._depthStencilRenderbuffer=new Zy({context:o,width:A,height:f,format:_x.DEPTH24_STENCIL8,numSamples:this._numSamples}))):this._depthStencilRenderbuffer=new Zy({context:o,width:A,height:f,format:_x.DEPTH_STENCIL})),this._depth&&this._createDepthAttachments&&(this._supportsDepthTexture&&o.depthTexture?this._depthTexture=new Nn({context:o,width:A,height:f,pixelFormat:rn.DEPTH_COMPONENT,pixelDatatype:$r.UNSIGNED_INT,sampler:Oa.NEAREST}):this._depthRenderbuffer=new Zy({context:o,width:A,height:f,format:_x.DEPTH_COMPONENT16})),this._numSamples>1?this._multisampleFramebuffer=new jye({context:o,width:this._width,height:this._height,colorTextures:this._colorTextures,colorRenderbuffers:this._colorRenderbuffers,depthStencilTexture:this._depthStencilTexture,depthStencilRenderbuffer:this._depthStencilRenderbuffer,destroyAttachments:!1}):this._framebuffer=new Pg({context:o,colorTextures:this._colorTextures,depthTexture:this._depthTexture,depthRenderbuffer:this._depthRenderbuffer,depthStencilTexture:this._depthStencilTexture,depthStencilRenderbuffer:this._depthStencilRenderbuffer,destroyAttachments:!1})}};Rg.prototype.getColorTexture=function(o){return o=oe(o,0),this._colorTextures[o]};Rg.prototype.setColorTexture=function(o,A){A=oe(A,0),this._attachmentsDirty=o!==this._colorTextures[A],this._colorTextures[A]=o};Rg.prototype.getColorRenderbuffer=function(o){return o=oe(o,0),this._colorRenderbuffers[o]};Rg.prototype.setColorRenderbuffer=function(o,A){A=oe(A,0),this._attachmentsDirty=o!==this._colorRenderbuffers[A],this._colorRenderbuffers[A]=o};Rg.prototype.getDepthRenderbuffer=function(){return this._depthRenderbuffer};Rg.prototype.setDepthRenderbuffer=function(o){this._attachmentsDirty=o!==this._depthRenderbuffer,this._depthRenderbuffer=o};Rg.prototype.getDepthTexture=function(){return this._depthTexture};Rg.prototype.setDepthTexture=function(o){this._attachmentsDirty=o!==this._depthTexture,this._depthTexture=o};Rg.prototype.getDepthStencilRenderbuffer=function(){return this._depthStencilRenderbuffer};Rg.prototype.setDepthStencilRenderbuffer=function(o){this._attachmentsDirty=o!==this._depthStencilRenderbuffer,this._depthStencilRenderbuffer=o};Rg.prototype.getDepthStencilTexture=function(){return this._depthStencilTexture};Rg.prototype.setDepthStencilTexture=function(o){this._attachmentsDirty=o!==this._depthStencilTexture,this._depthStencilTexture=o};Rg.prototype.prepareTextures=function(o,A){this._numSamples>1&&this._multisampleFramebuffer.blitFramebuffers(o,A)};Rg.prototype.clear=function(o,A,f){let m=A.framebuffer;A.framebuffer=this.framebuffer,A.execute(o,f),A.framebuffer=m};Rg.prototype.destroyFramebuffer=function(){this._framebuffer=this._framebuffer&&this._framebuffer.destroy(),this._multisampleFramebuffer=this._multisampleFramebuffer&&this._multisampleFramebuffer.destroy()};Rg.prototype.destroy=function(){if(this._color){let o,A=this._colorTextures.length;for(o=0;o=570425344?(A-=OS*2,Q=y,v=I,B=0,y=0,I=0,d5._deprecationWarning("b3dm-legacy-header","This b3dm header is using the legacy format [batchLength] [batchTableByteLength]. The new format is [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength] from https://github.com/CesiumGS/3d-tiles/tree/main/specification/TileFormats/Batched3DModel.")):B>=570425344&&(A-=OS,Q=v,v=y,B=I,y=0,I=0,d5._deprecationWarning("b3dm-legacy-header","This b3dm header is using the legacy format [batchTableJsonByteLength] [batchTableBinaryByteLength] [batchLength]. The new format is [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength] from https://github.com/CesiumGS/3d-tiles/tree/main/specification/TileFormats/Batched3DModel."));let T;y===0?T={BATCH_LENGTH:oe(Q,0)}:(T=em(m,A,y),A+=y);let w=new Uint8Array(o,A,I);A+=I;let S,D;v>0&&(S=em(m,A,v),A+=v,B>0&&(D=new Uint8Array(o,A,B),D=new Uint8Array(D),A+=B));let R=f+x-A;if(R===0)throw new ki("glTF byte length must be greater than 0.");let P;return A%4===0?P=new Uint8Array(o,A,R):(d5._deprecationWarning("b3dm-glb-unaligned","The embedded glb is not aligned to a 4-byte boundary."),P=new Uint8Array(m.subarray(A,A+R))),{batchLength:Q,featureTableJson:T,featureTableBinary:w,batchTableJson:S,batchTableBinary:D,gltf:P}};var Xye=d5;function OY(o,A){this.json=o,this.buffer=A,this._cachedTypedArrays={},this.featuresLength=0}function mje(o,A,f,m,C,E){let x=o._cachedTypedArrays,y=x[A];return O(y)||(y=Ft.createArrayBufferView(f,o.buffer.buffer,o.buffer.byteOffset+E,C*m),x[A]=y),y}function RWt(o,A,f,m){let C=o._cachedTypedArrays,E=C[A];return O(E)||(E=Ft.createTypedArray(f,m),C[A]=E),E}OY.prototype.getGlobalProperty=function(o,A,f){let m=this.json[o];if(O(m))return O(m.byteOffset)?(A=oe(A,Ft.UNSIGNED_INT),f=oe(f,1),mje(this,o,A,f,1,m.byteOffset)):m};OY.prototype.hasProperty=function(o){return O(this.json[o])};OY.prototype.getPropertyArray=function(o,A,f){let m=this.json[o];if(O(m))return O(m.byteOffset)?(O(m.componentType)&&(A=Ft.fromName(m.componentType)),mje(this,o,A,f,this.featuresLength,m.byteOffset)):RWt(this,o,A,m)};OY.prototype.getProperty=function(o,A,f,m,C){let E=this.json[o];if(!O(E))return;let x=this.getPropertyArray(o,A,f);if(f===1)return x[m];for(let y=0;y0&&(S=em(m,A,v),A+=v,B>0&&(D=new Uint8Array(o,A,B),D=new Uint8Array(D),A+=B));let R=f+x-A;if(R===0)throw new ki("glTF byte length must be greater than 0.");let P;return A%4===0?P=new Uint8Array(o,A,R):(Y$._deprecationWarning("i3dm-glb-unaligned","The embedded glb is not aligned to a 4-byte boundary."),P=new Uint8Array(m.subarray(A,A+R))),{gltfFormat:Q,featureTableJson:T,featureTableBinary:w,batchTableJson:S,batchTableBinary:D,gltf:P}};var iIe=Y$,fD={NOT_LOADED:0,LOADING:1,PROCESSING:2,POST_PROCESSING:3,READY:4,FAILED:5,UNLOADED:6},Hq=jo.Attribute,tjt=jo.FeatureIdAttribute,Ije=jo.Instances;function gD(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.i3dmResource,f=o.arrayBuffer,m=o.baseResource,C=oe(o.byteOffset,0),E=oe(o.releaseGltfJson,!1),x=oe(o.asynchronous,!0),y=oe(o.incrementallyLoadTextures,!0),I=oe(o.upAxis,Ud.Y),v=oe(o.forwardAxis,Ud.X),B=oe(o.loadAttributesAsTypedArray,!1),Q=oe(o.loadIndicesForWireframe,!1),T=oe(o.loadPrimitiveOutline,!0);m=O(m)?m:A.clone(),this._i3dmResource=A,this._baseResource=m,this._arrayBuffer=f,this._byteOffset=C,this._releaseGltfJson=E,this._asynchronous=x,this._incrementallyLoadTextures=y,this._upAxis=I,this._forwardAxis=v,this._loadAttributesAsTypedArray=B,this._loadIndicesForWireframe=Q,this._loadPrimitiveOutline=T,this._state=fD.NOT_LOADED,this._promise=void 0,this._gltfLoader=void 0,this._buffers=[],this._components=void 0,this._transform=Re.IDENTITY,this._batchTable=void 0,this._featureTable=void 0,this._instancesLength=0}O(Object.create)&&(gD.prototype=Object.create(im.prototype),gD.prototype.constructor=gD);Object.defineProperties(gD.prototype,{texturesLoaded:{get:function(){return this._gltfLoader?.texturesLoaded}},cacheKey:{get:function(){}},components:{get:function(){return this._components}}});gD.prototype.load=function(){if(O(this._promise))return this._promise;let o=iIe.parse(this._arrayBuffer,this._byteOffset),A=o.featureTableJson,f=o.featureTableBinary,m=o.batchTableJson,C=o.batchTableBinary,E=o.gltfFormat,x=new TG(A,f);this._featureTable=x;let y=x.getGlobalProperty("INSTANCES_LENGTH");if(x.featuresLength=y,!O(y))throw new ki("Feature table global property: INSTANCES_LENGTH must be defined");this._instancesLength=y;let I=x.getGlobalProperty("RTC_CENTER",Ft.FLOAT,3);O(I)&&(this._transform=Re.fromTranslation(Z.fromArray(I))),this._batchTable={json:m,binary:C};let v={upAxis:this._upAxis,forwardAxis:this._forwardAxis,releaseGltfJson:this._releaseGltfJson,incrementallyLoadTextures:this._incrementallyLoadTextures,loadAttributesAsTypedArray:this._loadAttributesAsTypedArray,loadIndicesForWireframe:this._loadIndicesForWireframe,loadPrimitiveOutline:this._loadPrimitiveOutline};if(E===0){let Q=hQ(o.gltf);Q=Q.replace(/[\s\0]+$/,"");let T=this._baseResource.getDerivedResource({url:Q});v.gltfResource=T,v.baseResource=T}else v.gltfResource=this._i3dmResource,v.typedArray=o.gltf;let B=new bG(v);return this._gltfLoader=B,this._state=fD.LOADING,this._promise=B.load().then(()=>{if(!this.isDestroyed())return this._state=fD.PROCESSING,this}).catch(Q=>{if(!this.isDestroyed())throw ijt(this,Q)}),this._promise};function ijt(o,A){o.unload(),o._state=fD.FAILED;let f="Failed to load i3dm";return o.getError(f,A)}gD.prototype.process=function(o){if(this._state===fD.READY)return!0;let A=this._gltfLoader,f=!1;if(this._state===fD.PROCESSING&&(f=A.process(o)),!f)return!1;let m=A.components;return m.transform=Re.multiplyTransformation(this._transform,m.transform,m.transform),ojt(this,m,o),rjt(this,m),this._components=m,this._arrayBuffer=void 0,this._state=fD.READY,!0};function rjt(o,A){let f=o._batchTable,m=o._instancesLength;if(m===0)return;let C;if(O(f.json))C=GY({count:m,batchTable:f.json,binaryBody:f.binary});else{let E=new fR({name:wG.BATCH_TABLE_CLASS_NAME,count:m});C=new aT({schema:{},propertyTables:[E]})}A.structuralMetadata=C}var Vq=new Z,Xfe=new Array(4),njt=new Re;function ojt(o,A,f){let m,C=o._featureTable,E=o._instancesLength;if(E===0)return;let x=C.getGlobalProperty("RTC_CENTER",Ft.FLOAT,3),y=C.getGlobalProperty("EAST_NORTH_UP"),I=C.hasProperty("NORMAL_UP")||C.hasProperty("NORMAL_UP_OCT32P")||y,v=C.hasProperty("SCALE")||C.hasProperty("SCALE_NON_UNIFORM"),B=sjt(C,E),Q;I&&(Q=new Float32Array(4*E));let T;v&&(T=new Float32Array(3*E));let w=new Float32Array(E),S=Z.unpackArray(B),D=new Z,R=new Z,P=new Z,M=new Z,L=new Gt,F=new fr,k=new Array(4),N=new Z,G=new Array(3),J=new Re;if(!O(x)){let he=hi.fromPoints(S);for(m=0;m0&&(he.instances=Ae?ajt(K):K,Ae=!0)}}function ajt(o){let A=new Ije;A.transformInWorldSpace=o.transformInWorldSpace;let f=o.attributes,m=f.length;for(let C=0;C=f[A]){if(A+1=0&&o>=f[A-1])return A-1;let C;if(o>f[A])for(C=A;C=f[C]&&o=0&&!(o>=f[C]&&of&&(E=Math.floor((o-f)/C)+1,o-=E*C),o};MG.prototype.clampTime=function(o){let A=this.times;return Be.clamp(o,A[0],A[A.length-1])};var Yh=MG;function PG(o){this._value=o,this._valueType=Yh.getPointType(o)}Object.defineProperties(PG.prototype,{value:{get:function(){return this._value}}});PG.prototype.findTimeInterval=function(o){};PG.prototype.wrapTime=function(o){return 0};PG.prototype.clampTime=function(o){return 0};PG.prototype.evaluate=function(o,A){let f=this._value,m=this._valueType;return m===Number?f:m.clone(f,A)};var nIe=PG;function RG(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.points,f=o.times;this._times=f,this._points=A,this._pointType=Yh.getPointType(A[0]),this._lastTimeIndex=0}Object.defineProperties(RG.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}}});RG.prototype.findTimeInterval=Yh.prototype.findTimeInterval;RG.prototype.wrapTime=Yh.prototype.wrapTime;RG.prototype.clampTime=Yh.prototype.clampTime;RG.prototype.evaluate=function(o,A){let f=this.points,m=this.times,C=this._lastTimeIndex=this.findTimeInterval(o,this._lastTimeIndex),E=(o-m[C])/(m[C+1]-m[C]);return this._pointType===Number?(1-E)*f[C]+E*f[C+1]:(O(A)||(A=new Z),Z.lerp(f[C],f[C+1],E,A))};var HY=RG,_je={};_je.solve=function(o,A,f,m){let C=new Array(f.length),E=new Array(m.length),x=new Array(m.length),y;for(y=0;y=0;--y)x[y]=Z.subtract(E[y],Z.multiplyByScalar(x[y+1],C[y],x[y]),x[y]);return x};var sre=_je,vje=[],Bje=[],wje=[],bje=[];function hjt(o,A,f){let m=vje,C=wje,E=Bje,x=bje;m.length=C.length=o.length-1,E.length=x.length=o.length;let y;m[0]=E[0]=1,C[0]=0;let I=x[0];for(O(I)||(I=x[0]=new Z),Z.clone(A,I),y=1;y0&&o.afterRender.push(y._raiseStartEvent)),y.loop===oD.REPEAT)w=w-Math.floor(w);else if(y.loop===oD.MIRRORED_REPEAT){let P=Math.floor(w),M=w-P;w=P%2===1?1-M:M}y.reverse&&(w=1-w);let R=w*v*y.multiplier;R=Be.clamp(R,y.localStartTime,y.localStopTime),y.animate(R),y.update.numberOfListeners>0&&(y._updateEventTime=R,o.afterRender.push(y._raiseUpdateEvent)),m=!0,D||(y._state=R2.STOPPED,y.stop.numberOfListeners>0&&o.afterRender.push(y._raiseStopEvent),y.removeOnStop&&zq.push(y))}}f=zq.length;for(let x=0;xE||m<-E&&C>-E}function _U(o,A){if(!O(A))return;let f=qS.clone(A),m=fn.shallowClone(A.command);return m.modelMatrix=o._modelMatrix2D,m.boundingVolume=o._boundingVolume2D,f.command=m,f.updateShadows=!1,f.is2D=!0,A.derivedCommand2D=f,o._derivedCommands.push(f),f}function Rjt(o){_U(o,o._originalCommand),_U(o,o._translucentCommand),_U(o,o._skipLodBackfaceCommand),_U(o,o._skipLodStencilCommand),_U(o,o._silhouetteModelCommand),_U(o,o._silhouetteColorCommand)}function Ljt(o){let A=fn.shallowClone(o);A.pass=Yi.TRANSLUCENT;let f=Sn(o.renderState,!0);return f.cull.enabled=!1,f.depthMask=!1,f.blending=Nl.ALPHA_BLEND,A.renderState=Xr.fromCache(f),A}function Fjt(o,A){let f=A._silhouetteId%255,m=fn.shallowClone(o),C=Sn(o.renderState,!0);return C.stencilTest={enabled:!0,frontFunction:li.ALWAYS,backFunction:li.ALWAYS,reference:f,mask:-1,frontOperation:{fail:li.KEEP,zFail:li.KEEP,zPass:li.REPLACE},backOperation:{fail:li.KEEP,zFail:li.KEEP,zPass:li.REPLACE}},A.isInvisible()&&(C.colorMask={red:!1,green:!1,blue:!1,alpha:!1}),m.renderState=Xr.fromCache(C),m}function Njt(o,A){let f=A._silhouetteId%255,m=fn.shallowClone(o),C=Sn(o.renderState,!0);C.cull.enabled=!1,(o.pass===Yi.TRANSLUCENT||A.silhouetteColor.alpha<1)&&(m.pass=Yi.TRANSLUCENT,C.depthMask=!1,C.blending=Nl.ALPHA_BLEND),C.stencilTest={enabled:!0,frontFunction:li.NOTEQUAL,backFunction:li.NOTEQUAL,reference:f,mask:-1,frontOperation:{fail:li.KEEP,zFail:li.KEEP,zPass:li.KEEP},backOperation:{fail:li.KEEP,zFail:li.KEEP,zPass:li.KEEP}};let E=Sn(o.uniformMap);return E.model_silhouettePass=function(){return!0},m.renderState=Xr.fromCache(C),m.uniformMap=E,m.castShadows=!1,m.receiveShadows=!1,m}function kjt(o,A,f){let m=o._skipLodStencilCommand,C=m.command,E=A._selectionDepth,x=Ojt(C);if(E!==x){let y=Ujt(E),I=Sn(C.renderState,!0);I.stencilTest.reference=y,C.renderState=Xr.fromCache(I),f&&(m.derivedCommand2D.renderState=I)}}function Ojt(o){return(o.renderState.stencilTest.reference&ia.SKIP_LOD_MASK)>>>ia.SKIP_LOD_BIT_SHIFT}function Ujt(o){return ia.CESIUM_3D_TILE_MASK|o<= shadowMap_lightPositionEC.w) { discard; } distance /= shadowMap_lightPositionEC.w; // radius out_FragColor = czm_packDepth(distance); `:f?v+=` out_FragColor = vec4(1.0); `:v+=` out_FragColor = czm_packDepth(gl_FragCoord.z); `,v+=`} `,E.push(v),new _r({defines:C,sources:E})};B3.getShadowReceiveShaderKeyword=function(o,A,f,m){let C=o._usesDepthTexture,E=o._polygonOffsetSupported,x=o._isPointLight,y=o._isSpotLight,I=o._numberOfCascades>1,v=o.debugCascadeColors,B=o.softShadows;return`receiveShadow ${C}${E}${x}${y}${I}${v}${B}${A}${f}${m}`};B3.createShadowReceiveVertexShader=function(o,A,f){let m=o.defines.slice(0),C=o.sources.slice(0);return m.push("SHADOW_MAP"),A&&(f?m.push("GENERATE_POSITION_AND_NORMAL"):m.push("GENERATE_POSITION")),new _r({defines:m,sources:C})};B3.createShadowReceiveFragmentShader=function(o,A,f,m,C){let E=_r.findNormalVarying(o),x=!m&&O(E)||m&&C,y=_r.findPositionVarying(o),I=O(y),v=A._usesDepthTexture,B=A._polygonOffsetSupported,Q=A._isPointLight,T=A._isSpotLight,w=A._numberOfCascades>1,S=A.debugCascadeColors,D=A.softShadows,R=Q?A._pointBias:m?A._terrainBias:A._primitiveBias,P=o.defines.slice(0),M=o.sources.slice(0),L=M.length;for(let N=0;N0&&P.push("USE_NORMAL_SHADING_SMOOTH"));let F="";F+=`#ifdef GL_OES_standard_derivatives #extension GL_OES_standard_derivatives : enable #endif `,Q?F+=`uniform samplerCube shadowMap_textureCube; `:F+=`uniform sampler2D shadowMap_texture; `;let k;return I?k=` return vec4(${y}, 1.0); `:k=`#ifndef LOG_DEPTH return czm_windowToEyeCoordinates(gl_FragCoord); #else return vec4(v_logPositionEC, 1.0); #endif `,F+=`uniform bool u_isSun; uniform bool u_isVisible; uniform bool u_isB3dm; uniform bool u_isPreviewMode; uniform bool u_viewshedCalculateNormals; uniform float shadowMap_horizonCullingDistance; uniform bool u_isBelowGround; uniform mat4 shadowMap_matrix; uniform vec3 shadowMap_lightDirectionEC; uniform vec3 shadowMap_viewshed_Back; uniform vec3 shadowMap_viewshed_Fore; uniform vec3 shadowMap_color; uniform vec4 shadowMap_lightPositionEC; uniform vec4 shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness; uniform vec4 shadowMap_texelSizeDepthBiasAndNormalShadingSmooth; bool isTerrain = false; #ifdef LOG_DEPTH in vec3 v_logPositionEC; #endif vec4 getPositionEC() { ${k}} vec3 getNormalEC() { ${x?` return normalize(${E}); `:` return vec3(1.0); `}} void applyNormalOffset(inout vec4 positionEC, vec3 normalEC, float nDotL) { ${R.normalOffset&&x?` float normalOffset = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.x; float normalOffsetScale = 1.0 - nDotL; vec3 offset = normalOffset * normalOffsetScale * normalEC; positionEC.xyz += offset; `:""}} `,F+=`void main() { czm_shadow_receive_main(); vec4 positionEC = getPositionEC(); vec3 normalEC = getNormalEC(); float distanceFromLight = 0.; float maxDistanceForColoring = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.y; float depth = -positionEC.z; `,F+=` czm_shadowParameters shadowParameters; shadowParameters.texelStepSize = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.xy; shadowParameters.depthBias = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.z; shadowParameters.normalShadingSmooth = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.w; shadowParameters.darkness = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.w; `,m?(T?F+=` vec3 ffy = dFdy(positionEC.xyz); vec3 ffx = dFdx(positionEC.xyz); normalEC = normalize(cross(ffx,ffy)); distanceFromLight = length(positionEC.xyz - shadowMap_lightPositionEC.xyz); shadowParameters.depthBias *= max(distanceFromLight * 0.01, 1.0); `:F+=` shadowParameters.depthBias *= max(depth * 0.01, 1.0); `,F+=` shadowParameters.depthBias *= max(depth * 0.01, 1.0); `):B||(F+=` shadowParameters.depthBias *= mix(1.0, 100.0, depth * 0.0015); `),Q?F+=` vec3 directionEC = positionEC.xyz - shadowMap_lightPositionEC.xyz; float distance = length(directionEC); directionEC = normalize(directionEC); float radius = shadowMap_lightPositionEC.w; // Stop early if the fragment is beyond the point light radius if (distance > radius) { return; } vec3 directionWC = czm_inverseViewRotation * directionEC; shadowParameters.depth = distance / radius; shadowParameters.nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); shadowParameters.texCoords = directionWC; float visibility = czm_shadowVisibility(shadowMap_textureCube, shadowParameters); `:T?F+=` if (u_isB3dm && u_viewshedCalculateNormals){ vec3 nffy = dFdy(positionEC.xyz); vec3 nffx = dFdx(positionEC.xyz); normalEC = normalize(cross(nffx,nffy)); } vec3 directionEC = normalize(positionEC.xyz - shadowMap_lightPositionEC.xyz); float nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); applyNormalOffset(positionEC, normalEC, nDotL); vec4 shadowPosition = shadowMap_matrix * positionEC; // Spot light uses a perspective projection, so perform the perspective divide shadowPosition /= shadowPosition.w; // Stop early if the fragment is not in the shadow bounds if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) { return; } shadowParameters.texCoords = shadowPosition.xy; shadowParameters.depth = shadowPosition.z; shadowParameters.nDotL = nDotL; float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); `:w?F+=` float maxDepth = shadowMap_cascadeSplits[1].w; // Stop early if the eye depth exceeds the last cascade if (depth > maxDepth) { return; } // Get the cascade based on the eye-space depth vec4 weights = czm_cascadeWeights(depth); // Apply normal offset float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0); applyNormalOffset(positionEC, normalEC, nDotL); // Transform position into the cascade vec4 shadowPosition = czm_cascadeMatrix(weights) * positionEC; // Get visibility shadowParameters.texCoords = shadowPosition.xy; shadowParameters.depth = shadowPosition.z; shadowParameters.nDotL = nDotL; float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); // Fade out shadows that are far away float shadowMapMaximumDistance = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.z; float fade = max((depth - shadowMapMaximumDistance * 0.8) / (shadowMapMaximumDistance * 0.2), 0.0); visibility = mix(visibility, 1.0, fade); ${S?` // Draw cascade colors for debugging out_FragColor *= czm_cascadeColor(weights); `:""}`:F+=` float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0); applyNormalOffset(positionEC, normalEC, nDotL); vec4 shadowPosition = shadowMap_matrix * positionEC; // Stop early if the fragment is not in the shadow bounds if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) { return; } shadowParameters.texCoords = shadowPosition.xy; shadowParameters.depth = shadowPosition.z; shadowParameters.nDotL = nDotL; float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); `,F+=` if (u_isSun){ ; out_FragColor.rgb = mix(shadowMap_color,out_FragColor.rgb,visibility); } else if (!u_isVisible) { out_FragColor.rgba = vec4(out_FragColor.rgb,0.); } else if (u_isPreviewMode) { out_FragColor.rgba = vec4(out_FragColor.rgb * 0.85 + 0.15 * mix(vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), 1.-step(visibility,0.5)),1.); } else { out_FragColor.rgba = vec4(out_FragColor.rgb * 0.6 + 0.4 * mix(shadowMap_viewshed_Back, shadowMap_viewshed_Fore, 1.-step(visibility,0.5)),1.); } } `,M.push(F),new _r({defines:P,sources:M})};var uP=B3;function gQ(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.context;this._enabled=oe(o.enabled,!0),this._softShadows=oe(o.softShadows,!1),this._normalOffset=oe(o.normalOffset,!0),this.dirty=!0,this.fromLightSource=oe(o.fromLightSource,!0),this.darkness=oe(o.darkness,.3),this._darkness=this.darkness,this.fadingEnabled=oe(o.fadingEnabled,!0),this.maximumDistance=oe(o.maximumDistance,5e3),this._outOfView=!1,this._outOfViewPrevious=!1,this._needsUpdate=!0;let f=!0;(wo.isInternetExplorer()||wo.isEdge()||(wo.isChrome()||wo.isFirefox())&&wo.isWindows()&&!A.depthTexture)&&(f=!1),this._polygonOffsetSupported=f,this._terrainBias={polygonOffset:f,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.5,normalShading:!0,normalShadingSmooth:.3,depthBias:1e-4},this._primitiveBias={polygonOffset:f,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.1,normalShading:!0,normalShadingSmooth:.05,depthBias:2e-5},this._pointBias={polygonOffset:!1,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:0,normalShading:!0,normalShadingSmooth:.1,depthBias:5e-4},this._depthAttachment=void 0,this._colorAttachment=void 0,this._shadowMapMatrix=new Re,this._shadowMapTexture=void 0,this._lightDirectionEC=new Z,this._lightPositionEC=new zt,this._distance=0,this._lightCamera=o.lightCamera,this._shadowMapCamera=new Are,this._shadowMapCullingVolume=void 0,this._sceneCamera=void 0,this._boundingSphere=new hi,this._isPointLight=oe(o.isPointLight,!1),this._pointLightRadius=oe(o.pointLightRadius,100),this._cascadesEnabled=this._isPointLight?!1:oe(o.cascadesEnabled,!0),this._numberOfCascades=this._cascadesEnabled?oe(o.numberOfCascades,4):0,this._fitNearFar=!0,this._maximumCascadeDistances=[25,150,700,Number.MAX_VALUE],this._textureSize=new rt,this._isSpotLight=!1,this._cascadesEnabled?this._shadowMapCamera.frustum=new Xf:O(this._lightCamera.frustum.fov)&&(this._isSpotLight=!0),this._cascadeSplits=[new zt,new zt],this._cascadeMatrices=[new Re,new Re,new Re,new Re],this._cascadeDistances=new zt;let m;this._isPointLight?m=6:this._cascadesEnabled?m=this._numberOfCascades:m=1,this._passes=new Array(m);for(let C=0;C=A?A:Zn.maximumCubeMapSize,C.x=A,C.y=A;let E=new vr(0,0,A,A);f[0].passState.viewport=E,f[1].passState.viewport=E,f[2].passState.viewport=E,f[3].passState.viewport=E,f[4].passState.viewport=E,f[5].passState.viewport=E}else m===1?(A=Zn.maximumTextureSize>=A?A:Zn.maximumTextureSize,C.x=A,C.y=A,f[0].passState.viewport=new vr(0,0,A,A)):m===4&&(A=Zn.maximumTextureSize>=A*2?A:Zn.maximumTextureSize/2,C.x=A*2,C.y=A*2,f[0].passState.viewport=new vr(0,0,A,A),f[1].passState.viewport=new vr(A,0,A,A),f[2].passState.viewport=new vr(0,A,A,A),f[3].passState.viewport=new vr(A,A,A,A));o._clearPassState.viewport=new vr(0,0,C.x,C.y);for(let E=0;E=o.maximumDistance){o._outOfView=!0,o._needsUpdate=!1;return}let E=A.mapProjection.ellipsoid.geodeticSurfaceNormal(f.positionWC,pqt),x=Z.negate(m.directionWC,mqt),y=Z.dot(E,x);if(o.fadingEnabled){let I=Be.clamp(y/.1,0,1);o._darkness=Be.lerp(1,o.darkness,I)}else o._darkness=o.darkness;if(y<0){o._outOfView=!0,o._needsUpdate=!1;return}o._needsUpdate=!0,o._outOfView=!1}else if(o._isPointLight)C.center=m.positionWC,C.radius=o._pointLightRadius,o._outOfView=A.cullingVolume.computeVisibility(C)===sa.OUTSIDE,o._needsUpdate=!o._outOfView&&!o._boundingSphere.equals(C),hi.clone(C,o._boundingSphere);else{let E=m.frustum.far/2,x=Z.add(m.positionWC,Z.multiplyByScalar(m.directionWC,E,MOe),MOe);C.center=x,C.radius=E,o._outOfView=A.cullingVolume.computeVisibility(C)===sa.OUTSIDE,o._needsUpdate=!o._outOfView&&!o._boundingSphere.equals(C),hi.clone(C,o._boundingSphere)}}function Eqt(o,A){let f=A.camera,m=o._lightCamera,C=o._sceneCamera,E=o._shadowMapCamera;o._cascadesEnabled?m&&E&&Z.clone(m.directionWC,E.directionWC):o._isPointLight?m&&E&&Z.clone(m.positionWC,E.positionWC):E&&m&&E.clone(m);let x=o._lightDirectionEC;Re.multiplyByPointAsVector(f.viewMatrix,E.directionWC,x),Z.normalize(x,x),Z.negate(x,x),Re.multiplyByPoint(f.viewMatrix,E.positionWC,o._lightPositionEC),o._lightPositionEC.w=o._pointLightRadius;let y,I;o._fitNearFar?(y=Math.min(A.shadowState.nearPlane,o.maximumDistance),I=Math.min(A.shadowState.farPlane,o.maximumDistance),I=Math.max(I,y+1)):(y=f.frustum.near,I=o.maximumDistance),o._sceneCamera=Ls.clone(f,C),f.frustum.clone(o._sceneCamera.frustum),o._sceneCamera.frustum.near=y,o._sceneCamera.frustum.far=I,o._distance=I-y,Cqt(o,A),!o._outOfViewPrevious&&o._outOfView&&(o._needsUpdate=!0),o._outOfViewPrevious=o._outOfView}gQ.prototype.update=function(o){if(Eqt(this,o),this._needsUpdate)if(Wjt(this,o.context),this._isPointLight&&gqt(this,o),this._cascadesEnabled&&(cqt(this,o),this._numberOfCascades>1&&sqt(this,o)),this._isPointLight)this._shadowMapCullingVolume=Mg.fromBoundingSphere(this._boundingSphere);else{let A=this._shadowMapCamera,f=A.positionWC,m=A.directionWC,C=A.upWC;this._shadowMapCullingVolume=A.frustum.computeCullingVolume(f,m,C),this._passes.length===1&&this._passes[0].camera.clone(A)}if(this._passes.length===1){let A=this._sceneCamera.inverseViewMatrix;Re.multiply(this._shadowMapCamera.getViewProjection(),A,this._shadowMapMatrix)}this.debugShow&&iqt(this,o)};gQ.prototype.updatePass=function(o,A){Mje(this,o,A)};var xqt=new rt;function Fje(o,A,f){let m=o._isPointLight?o._pointBias:f?o._terrainBias:o._primitiveBias,C={shadowMap_texture:function(){return o._shadowMapTexture},shadowMap_textureCube:function(){return o._shadowMapTexture},shadowMap_matrix:function(){return o._shadowMapMatrix},shadowMap_cascadeSplits:function(){return o._cascadeSplits},shadowMap_cascadeMatrices:function(){return o._cascadeMatrices},shadowMap_lightDirectionEC:function(){return o._lightDirectionEC},shadowMap_lightPositionEC:function(){return o._lightPositionEC},shadowMap_cascadeDistances:function(){return o._cascadeDistances},shadowMap_texelSizeDepthBiasAndNormalShadingSmooth:function(){let E=xqt;return E.x=1/o._textureSize.x,E.y=1/o._textureSize.y,zt.fromElements(E.x,E.y,m.depthBias,m.normalShadingSmooth,this.combinedUniforms1)},shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness:function(){return zt.fromElements(m.normalOffsetScale,o._distance,o.maximumDistance,o._darkness,this.combinedUniforms2)},shadowMap_horizonCullingDistance:function(){return o.horizonCullingDistanceFromViewshed===void 0?6371010:o.horizonCullingDistanceFromViewshed},u_isSun:function(){return o.guid===void 0},u_isVisible:function(){return!!o.show},u_isPreviewMode:function(){return!!o.isPreviewMode},u_isBelowGround:function(){return!!o.isBelowGround},u_viewshedCalculateNormals:function(){return!1},shadowMap_viewshed_Back:function(){return o._viewshed_Back?o._viewshed_Back:new Z(1,0,0)},shadowMap_viewshed_Fore:function(){return o._viewshed_Fore?o._viewshed_Fore:new Z(0,1,0)},shadowMap_color:function(){return o._color?o._color:new Z(0,0,0)},combinedUniforms1:new zt,combinedUniforms2:new zt};return So(A,C,!1)}function yqt(o,A,f,m,C,E){let x,y,I;if(O(E)&&(x=E.shaderProgram,y=E.renderState,I=E.uniformMap),E=fn.shallowClone(f,E),E.castShadows=!0,E.receiveShadows=!1,!O(x)||C!==f.shaderProgram.id||A){let v=f.shaderProgram,B=f.pass===Yi.GLOBE,Q=f.pass!==Yi.TRANSLUCENT,T=o._isPointLight||o._isSpotLight,w=o._usesDepthTexture,S=uP.getShadowCastShaderKeyword(T,B,w,Q);if(x=m.shaderCache.getDerivedShaderProgram(v,S),!O(x)){let D=v.vertexShaderSource,R=v.fragmentShaderSource,P=uP.createShadowCastVertexShader(D,T,B),M=uP.createShadowCastFragmentShader(R,T,w,Q);x=m.shaderCache.createDerivedShaderProgram(v,S,{vertexShaderSource:P,fragmentShaderSource:M,attributeLocations:v._attributeLocations})}y=o._primitiveRenderState,T?y=o._pointRenderState:B&&(y=o._terrainRenderState),f.renderState.cull.enabled||(y=Sn(y,!1),y.cull=Sn(y.cull,!1),y.cull.enabled=!1,y=Xr.fromCache(y)),I=Fje(o,f.uniformMap,B)}return E.shaderProgram=x,E.renderState=y,E.uniformMap=I,E.uniformMap.u_isB3dm=function(){return f.pass===Yi.CESIUM_3D_TILE},E}gQ.createReceiveDerivedCommand=function(o,A,f,m,C){O(C)||(C={});let E=o.length>0,x=A.shaderProgram,y=x.vertexShaderSource,I=x.fragmentShaderSource,v=A.pass===Yi.GLOBE,B=!1;if(v&&(B=A.owner.data.renderedMesh.encoding.hasVertexNormals),A.receiveShadows&&E){let Q,T;O(C.receiveCommand)&&(Q=C.receiveCommand.shaderProgram,T=C.receiveCommand.uniformMap),C.receiveCommand=fn.shallowClone(A,C.receiveCommand),C.castShadows=!1,C.receiveShadows=!0;let w=C.receiveShaderCastShadows!==A.castShadows,S=C.receiveShaderProgramId!==A.shaderProgram.id;if(!O(Q)||S||f||w){let D=uP.getShadowReceiveShaderKeyword(o[0],A.castShadows,v,B);if(Q=m.shaderCache.getDerivedShaderProgram(x,D),!O(Q)){let R=uP.createShadowReceiveVertexShader(y,v,B),P=uP.createShadowReceiveFragmentShader(I,o[0],A.castShadows,v,B);Q=m.shaderCache.createDerivedShaderProgram(x,D,{vertexShaderSource:R,fragmentShaderSource:P,attributeLocations:x._attributeLocations})}T=Fje(o[0],A.uniformMap,v)}C.receiveCommand.shaderProgram=Q,C.receiveCommand.uniformMap=T,C.receiveCommand.uniformMap.u_isB3dm=function(){return A.pass===Yi.CESIUM_3D_TILE},C.receiveShaderProgramId=A.shaderProgram.id,C.receiveShaderCastShadows=A.castShadows}return C};gQ.createCastDerivedCommand=function(o,A,f,m,C){if(O(C)||(C={}),A.castShadows){let E=C.castCommands;O(E)||(E=C.castCommands=[]);let x=C.castShaderProgramId,y=o.length;E.length=y;for(let I=0;I0?(o._ready=!1,o._texturePromise=Promise.all(B).then(function(){o._ready=!0,o._texturePromise=void 0})):o._ready=!0}function Uje(o){O(o._command)&&(o._command.shaderProgram=o._command.shaderProgram&&o._command.shaderProgram.destroy(),o._command=void 0),o._selectedIdTexture=o._selectedIdTexture&&o._selectedIdTexture.destroy();let A=o._textureCache;if(!O(A))return;let f=o._uniforms,m=o._actualUniforms;for(let C in m)m.hasOwnProperty(C)&&m[C]instanceof Nn&&(O(A.getStageByName(f[C]))||m[C].destroy(),o._dirtyUniforms.push(C))}function kqt(o){let A=O(o._selected)?o._selected.length:0,f=O(o._parentSelected)?o._parentSelected:0,m=o._selected!==o._selectedShadow||A!==o._selectedLength;if(m=m||o._parentSelected!==o._parentSelectedShadow||f!==o._parentSelectedLength,O(o._selected)&&O(o._parentSelected)?o._combinedSelected=o._selected.concat(o._parentSelected):O(o._parentSelected)?o._combinedSelected=o._parentSelected:o._combinedSelected=o._selected,!m&&O(o._combinedSelected)){if(!O(o._combinedSelectedShadow))return!0;A=o._combinedSelected.length;for(let C=0;C0&&this.scissorRectangle.height>0?this._passState:void 0;O(C)&&(C.context=o),this._command.execute(o,C)};w3.prototype.isDestroyed=function(){return!1};w3.prototype.destroy=function(){return Uje(this),Ar(this)};var wa=w3,Uqt=`out vec3 v_elevationPos; out vec3 vtxf_a_position; uniform mat4 u_inverseElevationMatrix; void main(){ zhiu_height_main(); vtxf_a_position = a_position.xyz; vtxf_a_position = gltf_u_dec_position_min + vtxf_a_position * gltf_u_dec_position_normConstant; v_elevationPos = (u_inverseElevationMatrix * vec4(vtxf_a_position, 1.0)).xyz; vtxf_a_position = (vtxf_a_position - gltf_u_dec_position_min) / gltf_u_dec_position_normConstant; }`,Gje=Uqt,Gqt=`in vec3 v_elevationPos; void main(){ zhiu_clip_main(); float vtxf_a11 = fract(czm_frameNumber / 120.0) * 3.14159265 * 2.0; float vtxf_a12 = v_elevationPos.z / 60.0 + sin(vtxf_a11) * 0.1; out_FragColor *= vec4(vtxf_a12, vtxf_a12, vtxf_a12, 1.0); float vtxf_a13 = fract(czm_frameNumber / 360.0); float vtxf_h = clamp(v_elevationPos.z / 300.0, 0.0, 1.0); vtxf_a13 = abs(vtxf_a13 - 0.5) * 2.0; float vtxf_diff = step(0.005, abs(vtxf_h - vtxf_a13)); out_FragColor.rgb += out_FragColor.rgb * (1.0 - vtxf_diff); }`,Hje=Gqt,Hqt=`#define USE_CUBE_MAP_SHADOW true uniform sampler2D colorTexture; uniform sampler2D depthTexture; in vec2 v_textureCoordinates; uniform mat4 camera_projection_matrix; uniform mat4 camera_view_matrix; uniform float far; uniform samplerCube shadowMap_textureCube; uniform mat4 shadowMap_matrix; uniform vec4 shadowMap_lightPositionEC; uniform vec4 shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness; uniform vec4 shadowMap_texelSizeDepthBiasAndNormalShadingSmooth; struct zx_shadowParameters { vec3 texCoords; float depthBias; float depth; float nDotL; vec2 texelStepSize; float normalShadingSmooth; float darkness; }; float czm_shadowVisibility(samplerCube shadowMap, zx_shadowParameters shadowParameters) { float depthBias = shadowParameters.depthBias; float depth = shadowParameters.depth; float nDotL = shadowParameters.nDotL; float normalShadingSmooth = shadowParameters.normalShadingSmooth; float darkness = shadowParameters.darkness; vec3 uvw = shadowParameters.texCoords; depth -= depthBias; float visibility = czm_shadowDepthCompare(shadowMap, uvw, depth); return czm_private_shadowVisibility(visibility, nDotL, normalShadingSmooth, darkness); } vec4 getPositionEC(){ return czm_windowToEyeCoordinates(gl_FragCoord); } vec3 getNormalEC(){ return vec3(1.); } vec4 toEye(in vec2 uv,in float depth){ vec2 xy=vec2((uv.x*2.-1.),(uv.y*2.-1.)); vec4 posInCamera=czm_inverseProjection*vec4(xy,depth,1.); posInCamera=posInCamera/posInCamera.w; return posInCamera; } vec3 pointProjectOnPlane(in vec3 planeNormal,in vec3 planeOrigin,in vec3 point){ vec3 v01=point-planeOrigin; float d=dot(planeNormal,v01); return(point-planeNormal*d); } float getDepth(in vec4 depth){ float z_window=czm_unpackDepth(depth); z_window=czm_reverseLogDepth(z_window); float n_range=czm_depthRange.near; float f_range=czm_depthRange.far; return(2.*z_window-n_range-f_range)/(f_range-n_range); } float shadow( in vec4 positionEC ){ vec3 normalEC=getNormalEC(); zx_shadowParameters shadowParameters; shadowParameters.texelStepSize=shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.xy; shadowParameters.depthBias=shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.z; shadowParameters.normalShadingSmooth=shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.w; shadowParameters.darkness=shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.w; vec3 directionEC=positionEC.xyz-shadowMap_lightPositionEC.xyz; float distance=length(directionEC); directionEC=normalize(directionEC); float radius=shadowMap_lightPositionEC.w; if(distance>radius) { return 2.0; } vec3 directionWC=czm_inverseViewRotation*directionEC; shadowParameters.depth=distance/radius-0.0003; shadowParameters.nDotL=clamp(dot(normalEC,-directionEC),0.,1.); shadowParameters.texCoords=directionWC; float visibility=czm_shadowVisibility(shadowMap_textureCube,shadowParameters); return visibility; } bool visible(in vec4 result) { result.x/=result.w; result.y/=result.w; result.z/=result.w; return result.x>=-1.&&result.x<=1. &&result.y>=-1.&&result.y<=1. &&result.z>=-1.&&result.z<=1.; } void main(){ // \u5F97\u5230\u91C9\u8272=\u7ED3\u6784\u4E8C\u7EF4(\u5F69\u8272\u7EB9\u7406,\u7EB9\u7406\u5750\u6807) out_FragColor=texture(colorTexture,v_textureCoordinates); // \u6DF1\u5EA6=(\u91C9\u8272=\u7ED3\u6784\u4E8C\u7EF4(\u6DF1\u5EA6\u7EB9\u7406,\u7EB9\u7406\u5750\u6807)) float depth=getDepth(texture(depthTexture,v_textureCoordinates)); // \u89C6\u89D2=(\u7EB9\u7406\u5750\u6807,\u6DF1\u5EA6) vec4 viewPos=toEye(v_textureCoordinates,depth); // \u4E16\u754C\u5750\u6807 vec4 wordPos=czm_inverseView*viewPos; // \u865A\u62DF\u76F8\u673A\u4E2D\u5750\u6807 vec4 vcPos=camera_view_matrix*wordPos; float near=.001*far; float dis=length(vcPos.xyz); if(dis>near&&dis0.3){ out_FragColor=mix(out_FragColor,v_color,.5); } else{ out_FragColor=mix(out_FragColor,inv_color,.5); } } } }`,Vje=Hqt,Vqt={setflatUniformMap(o,A,f){let m=A._tileset;if(O(f._rtcCenter)&&O(m._flattenOriginPoint)){let E=new Z,x=new Z,y=new Re;Re.inverse(m.localViewMatrix,y),Re.multiplyByPoint(y,m._flattenOriginPoint,E),Re.multiplyByPoint(y,f._rtcCenter,x);let I=new Z;Z.subtract(x,E,I);let v=kr.eastNorthUpToFixedFrame(f._rtcCenter),B=new Re;Re.setTranslation(v,new Z(0,0,0),B);let Q=new Re;Re.inverse(B,Q);let T=new Z;Re.getTranslation(Q,T);let w=new Z;Z.add(T,I,w);let S=new Re;Re.setTranslation(Q,w,S);let D=new Re;Re.inverse(S,D)}let C={};C.u_polygonTexture=function(){return O(m._polygonDepth)?m._polygonDepth._colorTexture:m._defautTexture},C.u_polygonBounds=function(){return m._flattenBounds},C.u_bFlatten=function(){return m._needUpdateFlatten===!0&&O(m._polygonDepth)},C.u_eastNorthUpToFixedFrameA=function(){return m._matMW},C.u_r_eastNorthUpToFixedFrameA=function(){return Re.inverse(m._matMW,new Re)},C.u_clipPlaneOfFlatten=function(){return m.clipPlaneOfFlatten},C.u_ripple=function(){return m.ripple},C.u_regionSnow=function(){return m.snow},C.u_regionAlpha=function(){return m.regionAlpha},C.u_regionGradientDistance=function(){return m.regionGradientDistance},C.u_heightFog=function(){return m.heightFog},C.u_fogHeight=function(){return m.fogHeight},o.flatUniformMap=C},FlattenEXInit(o){o._needUpdateFlatten=!1,o._flattenPolygons=[],o._defautTexture=void 0,o._updateFlattenInternal=!1,o._flattenBounds=new zt,o._polygonDepth=void 0,o._matMW=Re.IDENTITY,o._flattenOriginPoint=void 0,o._clipPlaneOfFlatten=!1,o._ripple=!1,o._snow=!1,o._regionAlpha=.8,o._regionGradientDistance=10,o._heightFog=!1,o._fogHeight=100,o.initFlattenPolygon=function(A){if(o._flattenPolygons.length>0){O(o._polygonDepth)||(o._polygonDepth=new m4),o._polygonDepth._flattenPolygonDrawCommands=[];let f={position:0},m=new Re;Re.inverse(o._matMW,m);let C=new vr,E=[];for(let x=0;x0&&(o._updateFlattenInternal===!0&&(O(o._polygonDepth)&&(o._polygonDepth.destroy(),o._polygonDepth=void 0),o.initFlattenPolygon(A)),O(o._polygonDepth)&&o._polygonDepth.update(A),o._updateFlattenInternal=!1)}},VY=Vqt,POe=new Re;function zqt(o,A,f,m){let C=o.shaderBuilder;C.addVertexLines(gIe),C.addFragmentLines(fIe);let E=Yqt(o),x=new hu({context:A.context,indexBuffer:E,attributes:o.attributes}),y=o.model;y._pipelineResources.push(x);let I=C.buildShaderProgram(A.context);y._pipelineResources.push(I);let v=o.alphaOptions.pass,B=y.sceneGraph,Q=A.mode===ni.SCENE3D,T,w;if(!Q&&!A.scene3DOnly&&y._projectTo2D)T=Re.multiplyTransformation(B._computedModelMatrix,o.runtimeNode.computedTransform,new Re),w=o.runtimePrimitive.boundingSphere2D;else{let F=Q?B._computedModelMatrix:B._computedModelMatrix2D;T=Re.multiplyTransformation(F,o.runtimeNode.computedTransform,new Re),w=hi.transform(o.boundingSphere,T,o.boundingSphere)}let S=Sn(Xr.fromCache(o.renderStateOptions),!0);S.cull.face=Vs.getCullFace(T,o.primitiveType),S=Xr.fromCache(S);let D=O(y.classificationType),R=D?!1:Ns.castShadows(y.shadows),P=D?!1:Ns.receiveShadows(y.shadows),M=D?void 0:o.pickId;if(cd.is3DTiles(y.type)&&y.flattenEnabled){let F=Re.IDENTITY,k=Re.IDENTITY,N=m.root.boundingSphere.center;if(N){let J=A.scene.globe.ellipsoid,K=Rt.fromCartesian(N,J,new Rt),X=Z.fromRadians(K.longitude,K.latitude,0,J,new Z);F=kr.eastNorthUpToFixedFrame(X,J,new Re),k=Re.inverseTransformation(F,new Re)}let G={u_r_eastNorthUpToFixedFrame:function(){let J=y.flatUniformMap.u_r_eastNorthUpToFixedFrameA(),K=new Re;return Re.multiply(J,T,K),K},u_eastNorthUpToFixedFrame:function(){let J=new Re;Re.inverse(T,J);let K=y.flatUniformMap.u_eastNorthUpToFixedFrameA(),X=new Re;return Re.multiply(J,K,X),X}};o.uniformMap=So(o.uniformMap,G)}if(o.uniformMap.u_rtcNormalize){let F=new Z;Re.getTranslation(T,F);let k=new Z;Re.getScale(T,k);let N=new Z(0,0,0),G=F,J=A.mapProjection.ellipsoid;G=J.cartesianToCartographic(G),G.height=0,G=J.cartographicToCartesian(G),J.geodeticSurfaceNormal(G,N),o.uniformMap.u_rtcNormalize=function(){return N},o.uniformMap.u_rtcScale=function(){return k}}y.underGroundMode.enabled&&(o.uniformMap.u_underGroundModeMatrix=function(){let F=A.context.uniformState.view;return Re.multiply(F,y.referenceMatrix,POe),POe});let L=new fn({boundingVolume:w,modelMatrix:T,uniformMap:o.uniformMap,renderState:S,vertexArray:x,shaderProgram:I,cull:y.cull,pass:v,count:o.count,owner:y,pickId:M,instanceCount:o.instanceCount,primitiveType:o.primitiveType,debugShowBoundingVolume:y.debugShowBoundingVolume,castShadows:R,receiveShadows:P,receiveTextureProjectionList:f});return D?new mIe({primitiveRenderResources:o,command:L}):new CIe({primitiveRenderResources:o,command:L})}function Yqt(o){let A=o.wireframeIndexBuffer;if(O(A))return A;let f=o.indices;if(O(f))return f.buffer}var _Ie=zqt,AN={VERTEX:0,FRAGMENT:1,BOTH:2};AN.includesVertexShader=function(o){return o===AN.VERTEX||o===AN.BOTH};AN.includesFragmentShader=function(o){return o===AN.FRAGMENT||o===AN.BOTH};var Ki=Object.freeze(AN),zje={name:"TilesetPipelineStage"};zje.process=function(o,A,f){if(A.hasSkipLevelOfDetail(f)){o.shaderBuilder.addDefine("POLYGON_OFFSET",void 0,Ki.FRAGMENT);let C={u_polygonOffset:function(){return rt.ZERO}};o.uniformMap=So(C,o.uniformMap),o.hasSkipLevelOfDetail=!0}let m=o.renderStateOptions;m.stencilTest=ia.setCesium3DTileBit(),m.stencilMask=ia.CESIUM_3D_TILE_MASK};var vIe=zje,BIe=`vec3 proceduralIBL( vec3 positionEC, vec3 normalEC, vec3 lightDirectionEC, vec3 lightColorHdr, czm_pbrParameters pbrParameters ) { vec3 v = -positionEC; vec3 positionWC = vec3(czm_inverseView * vec4(positionEC, 1.0)); vec3 vWC = -normalize(positionWC); vec3 l = normalize(lightDirectionEC); vec3 n = normalEC; vec3 r = normalize(czm_inverseViewRotation * normalize(reflect(v, n))); float NdotL = clamp(dot(n, l), 0.001, 1.0); float NdotV = abs(dot(n, v)) + 0.001; // Figure out if the reflection vector hits the ellipsoid float vertexRadius = length(positionWC); float horizonDotNadir = 1.0 - min(1.0, czm_ellipsoidRadii.x / vertexRadius); float reflectionDotNadir = dot(r, normalize(positionWC)); // Flipping the X vector is a cheap way to get the inverse of czm_temeToPseudoFixed, since that's a rotation about Z. r.x = -r.x; r = -normalize(czm_temeToPseudoFixed * r); r.x = -r.x; vec3 diffuseColor = pbrParameters.diffuseColor; float roughness = pbrParameters.roughness; vec3 specularColor = pbrParameters.f0; float inverseRoughness = 1.04 - roughness; inverseRoughness *= inverseRoughness; vec3 sceneSkyBox = czm_textureCube(czm_environmentMap, r).rgb * inverseRoughness; float atmosphereHeight = 0.05; float blendRegionSize = 0.1 * ((1.0 - inverseRoughness) * 8.0 + 1.1 - horizonDotNadir); float blendRegionOffset = roughness * -1.0; float farAboveHorizon = clamp(horizonDotNadir - blendRegionSize * 0.5 + blendRegionOffset, 1.0e-10 - blendRegionSize, 0.99999); float aroundHorizon = clamp(horizonDotNadir + blendRegionSize * 0.5, 1.0e-10 - blendRegionSize, 0.99999); float farBelowHorizon = clamp(horizonDotNadir + blendRegionSize * 1.5, 1.0e-10 - blendRegionSize, 0.99999); float smoothstepHeight = smoothstep(0.0, atmosphereHeight, horizonDotNadir); vec3 belowHorizonColor = mix(vec3(0.1, 0.15, 0.25), vec3(0.4, 0.7, 0.9), smoothstepHeight); vec3 nadirColor = belowHorizonColor * 0.5; vec3 aboveHorizonColor = mix(vec3(0.9, 1.0, 1.2), belowHorizonColor, roughness * 0.5); vec3 blueSkyColor = mix(vec3(0.18, 0.26, 0.48), aboveHorizonColor, reflectionDotNadir * inverseRoughness * 0.5 + 0.75); vec3 zenithColor = mix(blueSkyColor, sceneSkyBox, smoothstepHeight); vec3 blueSkyDiffuseColor = vec3(0.7, 0.85, 0.9); float diffuseIrradianceFromEarth = (1.0 - horizonDotNadir) * (reflectionDotNadir * 0.25 + 0.75) * smoothstepHeight; float diffuseIrradianceFromSky = (1.0 - smoothstepHeight) * (1.0 - (reflectionDotNadir * 0.25 + 0.25)); vec3 diffuseIrradiance = blueSkyDiffuseColor * clamp(diffuseIrradianceFromEarth + diffuseIrradianceFromSky, 0.0, 1.0); float notDistantRough = (1.0 - horizonDotNadir * roughness * 0.8); vec3 specularIrradiance = mix(zenithColor, aboveHorizonColor, smoothstep(farAboveHorizon, aroundHorizon, reflectionDotNadir) * notDistantRough); specularIrradiance = mix(specularIrradiance, belowHorizonColor, smoothstep(aroundHorizon, farBelowHorizon, reflectionDotNadir) * inverseRoughness); specularIrradiance = mix(specularIrradiance, nadirColor, smoothstep(farBelowHorizon, 1.0, reflectionDotNadir) * inverseRoughness); // Luminance model from page 40 of http://silviojemma.com/public/papers/lighting/spherical-harmonic-lighting.pdf #ifdef USE_SUN_LUMINANCE // Angle between sun and zenith float LdotZenith = clamp(dot(normalize(czm_inverseViewRotation * l), vWC), 0.001, 1.0); float S = acos(LdotZenith); // Angle between zenith and current pixel float NdotZenith = clamp(dot(normalize(czm_inverseViewRotation * n), vWC), 0.001, 1.0); // Angle between sun and current pixel float gamma = acos(NdotL); float numerator = ((0.91 + 10.0 * exp(-3.0 * gamma) + 0.45 * pow(NdotL, 2.0)) * (1.0 - exp(-0.32 / NdotZenith))); float denominator = (0.91 + 10.0 * exp(-3.0 * S) + 0.45 * pow(LdotZenith,2.0)) * (1.0 - exp(-0.32)); float luminance = model_luminanceAtZenith * (numerator / denominator); #endif vec2 brdfLut = texture(czm_brdfLut, vec2(NdotV, roughness)).rg; vec3 iblColor = (diffuseIrradiance * diffuseColor * model_iblFactor.x) + (specularIrradiance * czm_srgbToLinear(specularColor * brdfLut.x + brdfLut.y) * model_iblFactor.y); float maximumComponent = max(max(lightColorHdr.x, lightColorHdr.y), lightColorHdr.z); vec3 lightColor = lightColorHdr / max(maximumComponent, 1.0); iblColor *= lightColor; #ifdef USE_SUN_LUMINANCE iblColor *= luminance; #endif return iblColor; } #if defined(DIFFUSE_IBL) || defined(SPECULAR_IBL) vec3 textureIBL( vec3 positionEC, vec3 normalEC, vec3 lightDirectionEC, czm_pbrParameters pbrParameters ) { vec3 diffuseColor = pbrParameters.diffuseColor; float roughness = pbrParameters.roughness; vec3 specularColor = pbrParameters.f0; vec3 v = -positionEC; vec3 n = normalEC; vec3 l = normalize(lightDirectionEC); vec3 h = normalize(v + l); float NdotV = abs(dot(n, v)) + 0.001; float VdotH = clamp(dot(v, h), 0.0, 1.0); const mat3 yUpToZUp = mat3( -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 1.0, 0.0 ); vec3 cubeDir = normalize(yUpToZUp * model_iblReferenceFrameMatrix * normalize(reflect(-v, n))); #ifdef DIFFUSE_IBL #ifdef CUSTOM_SPHERICAL_HARMONICS vec3 diffuseIrradiance = czm_sphericalHarmonics(cubeDir, model_sphericalHarmonicCoefficients); #else vec3 diffuseIrradiance = czm_sphericalHarmonics(cubeDir, czm_sphericalHarmonicCoefficients); #endif #else vec3 diffuseIrradiance = vec3(0.0); #endif #ifdef SPECULAR_IBL vec3 r0 = specularColor.rgb; float reflectance = max(max(r0.r, r0.g), r0.b); vec3 r90 = vec3(clamp(reflectance * 25.0, 0.0, 1.0)); vec3 F = fresnelSchlick2(r0, r90, VdotH); vec2 brdfLut = texture(czm_brdfLut, vec2(NdotV, roughness)).rg; #ifdef CUSTOM_SPECULAR_IBL vec3 specularIBL = czm_sampleOctahedralProjection(model_specularEnvironmentMaps, model_specularEnvironmentMapsSize, cubeDir, roughness * model_specularEnvironmentMapsMaximumLOD, model_specularEnvironmentMapsMaximumLOD); #else vec3 specularIBL = czm_sampleOctahedralProjection(czm_specularEnvironmentMaps, czm_specularEnvironmentMapSize, cubeDir, roughness * czm_specularEnvironmentMapsMaximumLOD, czm_specularEnvironmentMapsMaximumLOD); #endif specularIBL *= F * brdfLut.x + brdfLut.y; #else vec3 specularIBL = vec3(0.0); #endif return diffuseColor * diffuseIrradiance + specularColor * specularIBL; } #endif vec3 imageBasedLightingStage( vec3 positionEC, vec3 normalEC, vec3 lightDirectionEC, vec3 lightColorHdr, czm_pbrParameters pbrParameters ) { #if defined(DIFFUSE_IBL) || defined(SPECULAR_IBL) // Environment maps were provided, use them for IBL return textureIBL( positionEC, normalEC, lightDirectionEC, pbrParameters ); #else // Use the procedural IBL if there are no environment maps return proceduralIBL( positionEC, normalEC, lightDirectionEC, lightColorHdr, pbrParameters ); #endif }`,Yje={name:"ImageBasedLightingPipelineStage"};Yje.process=function(o,A,f){let m=A.imageBasedLighting,C=o.shaderBuilder;C.addDefine("USE_IBL_LIGHTING",void 0,Ki.FRAGMENT),C.addUniform("vec2","model_iblFactor",Ki.FRAGMENT),PN.isSupported(f.context)&&((m.useSphericalHarmonics||m.useSpecularEnvironmentMaps||m.enabled)&&C.addUniform("mat3","model_iblReferenceFrameMatrix",Ki.FRAGMENT),O(m.sphericalHarmonicCoefficients)?(C.addDefine("DIFFUSE_IBL",void 0,Ki.FRAGMENT),C.addDefine("CUSTOM_SPHERICAL_HARMONICS",void 0,Ki.FRAGMENT),C.addUniform("vec3","model_sphericalHarmonicCoefficients[9]",Ki.FRAGMENT)):m.useDefaultSphericalHarmonics&&C.addDefine("DIFFUSE_IBL",void 0,Ki.FRAGMENT),O(m.specularEnvironmentMapAtlas)&&m.specularEnvironmentMapAtlas.ready?(C.addDefine("SPECULAR_IBL",void 0,Ki.FRAGMENT),C.addDefine("CUSTOM_SPECULAR_IBL",void 0,Ki.FRAGMENT),C.addUniform("sampler2D","model_specularEnvironmentMaps",Ki.FRAGMENT),C.addUniform("vec2","model_specularEnvironmentMapsSize",Ki.FRAGMENT),C.addUniform("float","model_specularEnvironmentMapsMaximumLOD",Ki.FRAGMENT)):A.useDefaultSpecularMaps&&C.addDefine("SPECULAR_IBL",void 0,Ki.FRAGMENT)),O(m.luminanceAtZenith)&&(C.addDefine("USE_SUN_LUMINANCE",void 0,Ki.FRAGMENT),C.addUniform("float","model_luminanceAtZenith",Ki.FRAGMENT)),C.addFragmentLines(BIe);let E={model_iblFactor:function(){return m.imageBasedLightingFactor},model_iblReferenceFrameMatrix:function(){return A._iblReferenceFrameMatrix},model_luminanceAtZenith:function(){return m.luminanceAtZenith},model_sphericalHarmonicCoefficients:function(){return m.sphericalHarmonicCoefficients},model_specularEnvironmentMaps:function(){return m.specularEnvironmentMapAtlas.texture},model_specularEnvironmentMapsSize:function(){return m.specularEnvironmentMapAtlas.texture.dimensions},model_specularEnvironmentMapsMaximumLOD:function(){return m.specularEnvironmentMapAtlas.maximumMipmapLevel}};o.uniformMap=So(E,o.uniformMap)};var wIe=Yje,Jqt=Be.EPSILON16;function bIe(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.stage,f=o.runtimeArticulation;this._stage=A,this._runtimeArticulation=f,this._name=A.name,this._type=A.type,this._minimumValue=A.minimumValue,this._maximumValue=A.maximumValue,this._currentValue=A.initialValue}Object.defineProperties(bIe.prototype,{stage:{get:function(){return this._stage}},runtimeArticulation:{get:function(){return this._runtimeArticulation}},name:{get:function(){return this._name}},type:{get:function(){return this._type}},minimumValue:{get:function(){return this._minimumValue}},maximumValue:{get:function(){return this._maximumValue}},currentValue:{get:function(){return this._currentValue},set:function(o){o=Be.clamp(o,this.minimumValue,this.maximumValue),Be.equalsEpsilon(this._currentValue,o,Jqt)||(this._currentValue=o,this.runtimeArticulation._dirty=!0)}}});var Kqt=new Z,Vce=new Gt;bIe.prototype.applyStageToMatrix=function(o){let A=this.type,f=this.currentValue,m=Kqt,C;switch(A){case Oy.XROTATE:C=Gt.fromRotationX(Be.toRadians(f),Vce),o=Re.multiplyByMatrix3(o,C,o);break;case Oy.YROTATE:C=Gt.fromRotationY(Be.toRadians(f),Vce),o=Re.multiplyByMatrix3(o,C,o);break;case Oy.ZROTATE:C=Gt.fromRotationZ(Be.toRadians(f),Vce),o=Re.multiplyByMatrix3(o,C,o);break;case Oy.XTRANSLATE:m.x=f,m.y=0,m.z=0,o=Re.multiplyByTranslation(o,m,o);break;case Oy.YTRANSLATE:m.x=0,m.y=f,m.z=0,o=Re.multiplyByTranslation(o,m,o);break;case Oy.ZTRANSLATE:m.x=0,m.y=0,m.z=f,o=Re.multiplyByTranslation(o,m,o);break;case Oy.XSCALE:m.x=f,m.y=1,m.z=1,o=Re.multiplyByScale(o,m,o);break;case Oy.YSCALE:m.x=1,m.y=f,m.z=1,o=Re.multiplyByScale(o,m,o);break;case Oy.ZSCALE:m.x=1,m.y=1,m.z=f,o=Re.multiplyByScale(o,m,o);break;case Oy.UNIFORMSCALE:o=Re.multiplyByUniformScale(o,f,o);break;default:break}return o};var QIe=bIe;function dre(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.articulation,f=o.sceneGraph;this._articulation=A,this._sceneGraph=f,this._name=A.name,this._runtimeStages=[],this._runtimeStagesByName={},this._runtimeNodes=[],this._dirty=!0,Wqt(this)}Object.defineProperties(dre.prototype,{articulation:{get:function(){return this._articulation}},sceneGraph:{get:function(){return this._sceneGraph}},name:{get:function(){return this._name}},runtimeStages:{get:function(){return this._runtimeStages}},runtimeNodes:{get:function(){return this._runtimeNodes}}});function Wqt(o){let A=o.articulation.stages,f=A.length,m=o._runtimeStages,C=o._runtimeStagesByName;for(let E=0;E 0.0 && clipDistance < clippingPlanesEdgeWidth) { color = clippingPlanesEdgeColor; } } `,Jje={name:"ModelClippingPlanesPipelineStage"},Xqt=new rt;Jje.process=function(o,A,f){let m=A.clippingPlanes,C=f.context,E=o.shaderBuilder;E.addDefine("HAS_CLIPPING_PLANES",void 0,Ki.FRAGMENT),E.addDefine("CLIPPING_PLANES_LENGTH",m.length,Ki.FRAGMENT),m.unionClippingRegions&&E.addDefine("UNION_CLIPPING_REGIONS",void 0,Ki.FRAGMENT),Wf.useFloatTexture(C)&&E.addDefine("USE_CLIPPING_PLANES_FLOAT_TEXTURE",void 0,Ki.FRAGMENT);let x=Wf.getTextureResolution(m,C,Xqt);E.addDefine("CLIPPING_PLANES_TEXTURE_WIDTH",x.x,Ki.FRAGMENT),E.addDefine("CLIPPING_PLANES_TEXTURE_HEIGHT",x.y,Ki.FRAGMENT),E.addUniform("sampler2D","model_clippingPlanes",Ki.FRAGMENT),E.addUniform("vec4","model_clippingPlanesEdgeStyle",Ki.FRAGMENT),E.addUniform("mat4","model_clippingPlanesMatrix",Ki.FRAGMENT),E.addFragmentLines(TIe);let y={model_clippingPlanes:function(){return m.texture},model_clippingPlanesEdgeStyle:function(){let I=Ve.clone(m.edgeColor);return I.alpha=m.edgeWidth,I},model_clippingPlanesMatrix:function(){return A._clippingPlanesMatrix}};o.uniformMap=So(y,o.uniformMap)};var MIe=Jje;function Kje(o,A){this._model=o,this._runtimeNode=A}Object.defineProperties(Kje.prototype,{name:{get:function(){return this._runtimeNode._name}},id:{get:function(){return this._runtimeNode._id}},show:{get:function(){return this._runtimeNode.show},set:function(o){this._runtimeNode.show=o}},matrix:{get:function(){return this._runtimeNode.transform},set:function(o){O(o)?(this._runtimeNode.transform=o,this._runtimeNode.userAnimated=!0,this._model._userAnimationDirty=!0):(this._runtimeNode.transform=this.originalMatrix,this._runtimeNode.userAnimated=!1)}},originalMatrix:{get:function(){return this._runtimeNode.originalTransform}}});var PIe=Kje,RIe=`mat4 getInstancingTransform() { mat4 instancingTransform; #ifdef HAS_INSTANCE_MATRICES instancingTransform = mat4( a_instancingTransformRow0.x, a_instancingTransformRow1.x, a_instancingTransformRow2.x, 0.0, // Column 1 a_instancingTransformRow0.y, a_instancingTransformRow1.y, a_instancingTransformRow2.y, 0.0, // Column 2 a_instancingTransformRow0.z, a_instancingTransformRow1.z, a_instancingTransformRow2.z, 0.0, // Column 3 a_instancingTransformRow0.w, a_instancingTransformRow1.w, a_instancingTransformRow2.w, 1.0 // Column 4 ); #else vec3 translation = vec3(0.0, 0.0, 0.0); vec3 scale = vec3(1.0, 1.0, 1.0); #ifdef HAS_INSTANCE_TRANSLATION translation = a_instanceTranslation; #endif #ifdef HAS_INSTANCE_SCALE scale = a_instanceScale; #endif instancingTransform = mat4( scale.x, 0.0, 0.0, 0.0, 0.0, scale.y, 0.0, 0.0, 0.0, 0.0, scale.z, 0.0, translation.x, translation.y, translation.z, 1.0 ); #endif return instancingTransform; } #ifdef USE_2D_INSTANCING mat4 getInstancingTransform2D() { mat4 instancingTransform2D; #ifdef HAS_INSTANCE_MATRICES instancingTransform2D = mat4( a_instancingTransform2DRow0.x, a_instancingTransform2DRow1.x, a_instancingTransform2DRow2.x, 0.0, // Column 1 a_instancingTransform2DRow0.y, a_instancingTransform2DRow1.y, a_instancingTransform2DRow2.y, 0.0, // Column 2 a_instancingTransform2DRow0.z, a_instancingTransform2DRow1.z, a_instancingTransform2DRow2.z, 0.0, // Column 3 a_instancingTransform2DRow0.w, a_instancingTransform2DRow1.w, a_instancingTransform2DRow2.w, 1.0 // Column 4 ); #else vec3 translation2D = vec3(0.0, 0.0, 0.0); vec3 scale = vec3(1.0, 1.0, 1.0); #ifdef HAS_INSTANCE_TRANSLATION translation2D = a_instanceTranslation2D; #endif #ifdef HAS_INSTANCE_SCALE scale = a_instanceScale; #endif instancingTransform2D = mat4( scale.x, 0.0, 0.0, 0.0, 0.0, scale.y, 0.0, 0.0, 0.0, 0.0, scale.z, 0.0, translation2D.x, translation2D.y, translation2D.z, 1.0 ); #endif return instancingTransform2D; } #endif `,LIe=`void instancingStage(inout ProcessedAttributes attributes) { vec3 positionMC = attributes.positionMC; mat4 instancingTransform = getInstancingTransform(); attributes.positionMC = (instancingTransform * vec4(positionMC, 1.0)).xyz; #ifdef HAS_NORMALS vec3 normalMC = attributes.normalMC; attributes.normalMC = (instancingTransform * vec4(normalMC, 0.0)).xyz; #endif #ifdef USE_2D_INSTANCING mat4 instancingTransform2D = getInstancingTransform2D(); attributes.position2D = (instancingTransform2D * vec4(positionMC, 1.0)).xyz; #endif } `,FIe=`void legacyInstancingStage( inout ProcessedAttributes attributes, out mat4 instanceModelView, out mat3 instanceModelViewInverseTranspose) { vec3 positionMC = attributes.positionMC; mat4 instancingTransform = getInstancingTransform(); mat4 instanceModel = instancingTransform * u_instance_nodeTransform; instanceModelView = u_instance_modifiedModelView; instanceModelViewInverseTranspose = mat3(u_instance_modifiedModelView * instanceModel); attributes.positionMC = (instanceModel * vec4(positionMC, 1.0)).xyz; #ifdef USE_2D_INSTANCING mat4 instancingTransform2D = getInstancingTransform2D(); attributes.position2D = (instancingTransform2D * vec4(positionMC, 1.0)).xyz; #endif } `,Yq=new Re,Zqt=new Re,$qt=new Re,Wje={name:"InstancingPipelineStage",_getInstanceTransformsAsMatrices:$je,_transformsToTypedArray:tge};Wje.process=function(o,A,f){let m=A.instances,C=m.attributes[0].count,E=o.shaderBuilder;E.addDefine("HAS_INSTANCING"),E.addVertexLines(RIe);let x=o.model,y=x.sceneGraph,I=o.runtimeNode,v=f.mode!==ni.SCENE3D&&!f.scene3DOnly&&x._projectTo2D,B=[];fXt(o,f,m,B,v),mXt(o,f,m,B);let Q={};if(m.transformInWorldSpace?(E.addDefine("USE_LEGACY_INSTANCING",void 0,Ki.VERTEX),E.addUniform("mat4","u_instance_modifiedModelView",Ki.VERTEX),E.addUniform("mat4","u_instance_nodeTransform",Ki.VERTEX),Q.u_instance_modifiedModelView=function(){let T=Re.multiplyTransformation(x.modelMatrix,y.components.transform,Yq);return v?Re.multiplyTransformation(f.context.uniformState.view3D,T,Yq):(f.mode!==ni.SCENE3D&&(T=kr.basisTo2D(f.mapProjection,T,Yq)),Re.multiplyTransformation(f.context.uniformState.view,T,Yq))},Q.u_instance_nodeTransform=function(){return Re.multiplyTransformation(y.axisCorrectionMatrix,I.computedTransform,Zqt)},E.addVertexLines(FIe)):E.addVertexLines(LIe),v){E.addDefine("USE_2D_INSTANCING",void 0,Ki.VERTEX),E.addUniform("mat4","u_modelView2D",Ki.VERTEX);let T=f.context,w=Re.fromTranslation(I.instancingReferencePoint2D,new Re);Q.u_modelView2D=function(){return Re.multiplyTransformation(T.uniformState.view,w,$qt)}}o.uniformMap=So(Q,o.uniformMap),o.instanceCount=C,o.attributes.push.apply(o.attributes,B)};var R7=new Re,eXt=new Z;function tXt(o,A,f,m,C){let E=Re.multiplyTransformation(A,o,R7);return E=Re.multiplyTransformation(E,f,R7),C=kr.basisTo2D(m.mapProjection,E,C),C}function iXt(o,A,f,m,C){let E=Re.fromTranslation(o,R7),x=Re.multiplyTransformation(A,E,R7);x=Re.multiplyTransformation(x,f,R7);let y=Re.getTranslation(x,eXt);return C=ms.computeActualWgs84Position(m,y,C),C}function jje(o,A,f){let m=o.model,C=m.sceneGraph;o.runtimeNode.node.instances.transformInWorldSpace?(A=Re.multiplyTransformation(m.modelMatrix,C.components.transform,A),f=Re.multiplyTransformation(C.axisCorrectionMatrix,o.runtimeNode.computedTransform,f)):(A=Re.clone(C.computedModelMatrix,A),A=Re.multiplyTransformation(A,o.runtimeNode.computedTransform,A),f=Re.clone(Re.IDENTITY,f))}var qje=new Re,Xje=new Re,rXt=new Re,nXt=new Z;function oXt(o,A,f,m){let C=qje,E=Xje;jje(A,C,E);let x=A.runtimeNode.instancingReferencePoint2D,y=o.length;for(let I=0;I=o.featureIdVertexAttributeSetIndex&&(o.featureIdVertexAttributeSetIndex=y.setIndex+1),m.push({index:o.attributeIndex++,vertexBuffer:y.buffer,componentsPerAttribute:cs.getNumberOfComponents(y.type),componentDatatype:y.componentDatatype,normalize:!1,offsetInBytes:y.byteOffset,strideInBytes:y.byteStride,instanceDivisor:1}),E.addAttribute("float",`a_instanceFeatureId_${y.setIndex}`))}}var NIe=Wje,kIe={};kIe.name="ModelMatrixUpdateStage";kIe.update=function(o,A,f){let m=f.mode!==ni.SCENE3D;if(!(m&&A._model._projectTo2D)&&o._transformDirty){let C=m?A._computedModelMatrix2D:A._computedModelMatrix;eqe(o,A,C,o.transformToRoot),o._transformDirty=!1}};function eqe(o,A,f,m){let C;m=Re.multiplyTransformation(m,o.transform,new Re),o.updateComputedTransform();let E=o.runtimePrimitives.length;for(C=0;C1&&(m.addDefine("MULTILINE_BATCH_TEXTURE"),m.addUniform("vec2","model_textureDimensions"),C.model_textureDimensions=function(){return I.textureDimensions}),o.uniformMap=So(C,o.uniformMap)};var VIe=oqe,aqe={name:"ClassificationPipelineStage"};aqe.process=function(o,A,f){o.shaderBuilder.addDefine("HAS_CLASSIFICATION",void 0,Ki.BOTH);let m=o.runtimePrimitive;O(m.batchLengths)||EXt(A,m)};function EXt(o,A){let f=Vs.getAttributeBySemantic(o,Bo.POSITION);if(!O(f))throw new ki("Primitives must have a position attribute to be used for classification.");let m,C=o.indices,E=O(C);E&&(m=C.typedArray,C.typedArray=void 0);let x=E?C.count:f.count,y=Vs.getAttributeBySemantic(o,Bo.FEATURE_ID,0);if(!O(y)){A.batchLengths=[x],A.batchOffsets=[0];return}let I=y.typedArray;y.typedArray=void 0;let v=[],B=[0],Q=E?m[0]:0,T=I[Q],w=0;for(let D=1;DSXt(m,A,f)):[]}function SXt(o,A,f){let{getAttributeByName:m,getAttributeInfo:C,sanitizeGlslIdentifier:E}=Vs,x=o.class.id,y=f?.classes[x],I=Object.entries(o.properties),v=new Array(I.length);for(let B=0;BTXt(f,A)):[]}function TXt(o,A){let{sanitizeGlslIdentifier:f}=Vs,m=o.class.id,C=A?.classes[m],E=Object.entries(o.properties).filter(([y,I])=>I.isGpuCompatible()),x=new Array(E.length);for(let y=0;yB),f.addStructField(ql.STRUCT_ID_METADATA_FS,E,C);let T=`attributes.texCoord_${y}`,w=`texture(${Q}, ${T}).${I}`,S=x.unpackInShader(w),D=dqe({valueExpression:S,renderResources:o,glslType:E,metadataVariable:C,shaderDestination:Ki.FRAGMENT,property:x}),R=`metadata.${C} = ${D};`;f.addFunctionLines(ql.FUNCTION_ID_INITIALIZE_METADATA_FS,[R])}function Aqe(o,A){let{classProperty:f}=A.property,{metadataVariable:m,glslType:C,shaderDestination:E}=A,x=hqe(ql.METADATA_CLASS_FIELDS,f,`metadataClass.${m}`,C),y=`${C}MetadataClass`;o.addStructField(ql.STRUCT_ID_METADATA_CLASS_FS,y,m),o.addFunctionLines(ql.FUNCTION_ID_INITIALIZE_METADATA_FS,x),Ki.includesVertexShader(E)&&(o.addStructField(ql.STRUCT_ID_METADATA_CLASS_VS,y,m),o.addFunctionLines(ql.FUNCTION_ID_INITIALIZE_METADATA_VS,x))}function cqe(o,A){let{propertyStatistics:f}=A;if(!O(f))return;let{metadataVariable:m,type:C,glslType:E}=A;if(C===Zo.ENUM)return;let x=ql.METADATA_STATISTICS_FIELDS,y=`metadataStatistics.${m}`,I=hqe(x,f,y,E),v=`${E}MetadataStatistics`;o.addStructField(ql.STRUCT_ID_METADATA_STATISTICS_FS,v,m),o.addFunctionLines(ql.FUNCTION_ID_INITIALIZE_METADATA_FS,I),Ki.includesVertexShader(A.shaderDestination)&&(o.addStructField(ql.STRUCT_ID_METADATA_STATISTICS_VS,v,m),o.addFunctionLines(ql.FUNCTION_ID_INITIALIZE_METADATA_VS,I))}function hqe(o,A,f,m){function C(E){let x=A[E.specName];if(O(x))return`${f}.${E.shaderName} = ${m}(${x});`}return O(A)?o.map(C).filter(O):[]}function dqe(o){let{valueExpression:A,property:f}=o;if(!f.hasValueTransform)return A;let m=o.metadataVariable,C=`u_${m}_offset`,E=`u_${m}_scale`,{shaderBuilder:x,uniformMap:y}=o.renderResources,{glslType:I,shaderDestination:v}=o;x.addUniform(I,C,v),x.addUniform(I,E,v);let{offset:B,scale:Q}=f;return y[C]=()=>B,y[E]=()=>Q,`czm_valueTransform(${C}, ${E}, ${A})`}var pD=ql,ep={name:"CustomShaderPipelineStage",STRUCT_ID_ATTRIBUTES_VS:"AttributesVS",STRUCT_ID_ATTRIBUTES_FS:"AttributesFS",STRUCT_NAME_ATTRIBUTES:"Attributes",STRUCT_ID_VERTEX_INPUT:"VertexInput",STRUCT_NAME_VERTEX_INPUT:"VertexInput",STRUCT_ID_FRAGMENT_INPUT:"FragmentInput",STRUCT_NAME_FRAGMENT_INPUT:"FragmentInput",FUNCTION_ID_INITIALIZE_INPUT_STRUCT_VS:"initializeInputStructVS",FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_VS:"void initializeInputStruct(out VertexInput vsInput, ProcessedAttributes attributes)",FUNCTION_ID_INITIALIZE_INPUT_STRUCT_FS:"initializeInputStructFS",FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_FS:"void initializeInputStruct(out FragmentInput fsInput, ProcessedAttributes attributes)",_oneTimeWarning:$o};ep.process=function(o,A,f){let m=o.shaderBuilder,C=o.model.customShader;O(C.lightingModel)&&(o.lightingOptions.lightingModel=C.lightingModel);let E=o.alphaOptions;C.translucencyMode===yP.TRANSLUCENT?E.pass=Yi.TRANSLUCENT:C.translucencyMode===yP.OPAQUE&&(E.pass=void 0);let x=KXt(C,A);if(!x.customShaderEnabled)return;if(XXt(m,C,x),O(C.andStyle)&&m.addDefine("HAS_CUSTOM_FRAGMENT_SHADER_AND_STYLE",void 0,Ki.BOTH),x.shouldComputePositionWC&&m.addDefine("COMPUTE_POSITION_WC_CUSTOM_SHADER",void 0,Ki.BOTH),O(C.vertexShaderText)&&m.addDefine("HAS_CUSTOM_VERTEX_SHADER",void 0,Ki.VERTEX),O(C.fragmentShaderText)){m.addDefine("HAS_CUSTOM_FRAGMENT_SHADER",void 0,Ki.FRAGMENT);let v=Jz.getDefineName(C.mode);m.addDefine(v,void 0,Ki.FRAGMENT)}let y=C.uniforms;for(let v in y)if(y.hasOwnProperty(v)){let B=y[v];m.addUniform(B.type,v)}let I=C.varyings;for(let v in I)if(I.hasOwnProperty(v)){let B=I[v];m.addVarying(B,v)}o.uniformMap=So(o.uniformMap,C.uniformMap)};function UXt(o){let A={};for(let f=0;f1?(w=o.attributeIndex,o.attributeIndex+=Q):T&&!y?w=0:w=o.attributeIndex++,nZt(o,B,w,Q,E,x)}dZt(m,A.attributes),A.primitiveType===on.POINTS&&m.addDefine("PRIMITIVE_TYPE_POINTS"),m.addVertexLines(r_e),m.addFragmentLines(i_e)};function nZt(o,A,f,m,C,E){let x=o.shaderBuilder,y=Vs.getAttributeInfo(A),I=C&&!E;m>1?sZt(o,A,f,m):aZt(o,A,f,I),uZt(x,y,I),lZt(x,y),O(A.semantic)&&oZt(x,A),AZt(x,y,C),cZt(x,y,I),hZt(x,y)}function oZt(o,A){let f=A.semantic,m=A.setIndex;switch(f){case Bo.NORMAL:o.addDefine("HAS_NORMALS");break;case Bo.TANGENT:o.addDefine("HAS_TANGENTS");break;case Bo.FEATURE_ID:o.addDefine(`HAS${f}_${m}`);break;case Bo.TEXCOORD:case Bo.COLOR:o.addDefine(`HAS_${f}_${m}`)}}function aZt(o,A,f,m){let C=A.quantization,E,x;O(C)?(E=C.type,x=C.componentDatatype):(E=A.type,x=A.componentDatatype);let y=A.semantic,I=A.setIndex;y===Bo.FEATURE_ID&&I>=o.featureIdVertexAttributeSetIndex&&(o.featureIdVertexAttributeSetIndex=I+1);let v=y===Bo.POSITION,B=v?0:f,Q=cs.getNumberOfComponents(E),T={index:B,value:O(A.buffer)?void 0:A.constant,vertexBuffer:A.buffer,count:A.count,componentsPerAttribute:Q,componentDatatype:x,offsetInBytes:A.byteOffset,strideInBytes:A.byteStride,normalize:A.normalized};if(o.attributes.push(T),!v||!m)return;let w=o.runtimePrimitive.positionBuffer2D,S={index:f,vertexBuffer:w,count:A.count,componentsPerAttribute:Q,componentDatatype:Ft.FLOAT,offsetInBytes:0,strideInBytes:void 0,normalize:A.normalized};o.attributes.push(S)}function sZt(o,A,f,m){let C=A.quantization,E,x;O(C)?(E=C.type,x=C.componentDatatype):(E=A.type,x=A.componentDatatype);let y=A.normalized,I=cs.getNumberOfComponents(E)/m,v=Ft.getSizeInBytes(x),B=I*v,Q=A.byteStride;for(let T=0;T0,v=!O(y)&&I;if(O(E)&&!v){let D=MZt(y),R=PZt(E,D);RZt(m,R);let P=LZt(R).indexOf("normalMC")>=0,M=Vs.getAttributeBySemantic(A,Bo.NORMAL);if(P&&!M)throw new ki("Style references the NORMAL semantic but the point cloud does not have normals");m.addDefine("COMPUTE_POSITION_WC_STYLE",void 0,Ki.VERTEX),R.styleTranslucent&&(o.alphaOptions.pass=Yi.TRANSLUCENT)}let B=C.pointCloudShading;B.attenuation&&m.addDefine("HAS_POINT_CLOUD_ATTENUATION",void 0,Ki.VERTEX),B.backFaceCulling&&m.addDefine("HAS_POINT_CLOUD_BACK_FACE_CULLING",void 0,Ki.VERTEX);let Q,T,w;cd.is3DTiles(C.type)&&(T=!0,Q=C.content,w=Q.tile.refine===c0.ADD),m.addUniform("vec4","model_pointCloudParameters",Ki.VERTEX),m.addVertexLines(h_e);let S=o.uniformMap;S.model_pointCloudParameters=function(){let D=QZt,R=1;T&&(R=w?5:Q.tileset.maximumScreenSpaceError),D.x=oe(B.maximumAttenuation,R),D.x*=f.pixelRatio;let P=SZt(o,A,B,Q);D.y=P*B.geometricErrorScale;let M=f.context,L=f.camera.frustum,F;return f.mode===ni.SCENE2D||L instanceof us?F=Number.POSITIVE_INFINITY:F=M.drawingBufferHeight/f.camera.frustum.sseDenominator,D.z=F,T&&(D.w=Q.tileset.timeSinceLoad),D}};var kOe=new Z;function SZt(o,A,f,m){if(O(m)){let v=m.tile.geometricError;if(v>0)return v}if(O(f.baseResolution))return f.baseResolution;let C=Vs.getAttributeBySemantic(A,Bo.POSITION),E=C.count,x=o.runtimeNode.transform,y=Z.subtract(C.max,C.min,kOe);y=Re.multiplyByPointAsVector(x,y,kOe);let I=y.x*y.y*y.z;return Be.cbrt(I/E)}var DZt={colorStyleFunction:void 0,showStyleFunction:void 0,pointSizeStyleFunction:void 0,styleTranslucent:!1},TZt={POSITION:"attributes.positionMC",POSITION_ABSOLUTE:"v_positionWC",COLOR:"attributes.color_0",NORMAL:"attributes.normalMC"};function MZt(o){let A=Sn(TZt);if(!O(o))return A;for(let f=0;f0,B=O(m.skin),Q=O(E),T=!(Q&&O(E.fragmentShaderText))||E.mode!==Jz.REPLACE_MATERIAL,w=Vs.hasQuantizedAttributes(f.attributes),S=C.debugWireframe&&on.isTriangles(f.primitiveType)&&(C._enableDebugWireframe||y),D=C.pointCloudShading,R=O(D)&&D.attenuation,P=O(D)&&D.backFaceCulling,M=f.primitiveType===on.POINTS&&(O(x)||R||P),L=C._enableShowOutline&&O(f.outlineCoordinates),F=i$t(C,m,f),k=O(C.classificationType);I&&A.push(C_e),A.push(n_e),S&&A.push(I_e),k&&A.push(zIe),v&&A.push(A_e),B&&A.push(x_e),M&&A.push(d_e),w&&A.push(t_e),T&&A.push(l_e),A.push(zY),A.push(pD),F.hasPropertyTable&&(A.push(H9),A.push(VIe),A.push(KIe)),Q&&A.push(e_e),A.push(a_e),C.allowPicking&&A.push(c_e),L&&A.push(p_e),A.push(HIe),A.push(m_e)};function i$t(o,A,f){let m;return O(A.instances)&&(m=Vs.getFeatureIdsByLabel(A.instances.featureIds,o.instanceFeatureIdLabel),O(m))?{hasFeatureIds:!0,hasPropertyTable:O(m.propertyTableId)}:(m=Vs.getFeatureIdsByLabel(f.featureIds,o.featureIdLabel),O(m)?{hasFeatureIds:!0,hasPropertyTable:O(m.propertyTableId)}:{hasFeatureIds:!1,hasPropertyTable:!1})}var __e=Pqe;function v_e(o){o=oe(o,oe.EMPTY_OBJECT),this._sceneGraph=o.sceneGraph;let A=o.skin;this._skin=A,this._inverseBindMatrices=void 0,this._joints=[],this._jointMatrices=[],r$t(this)}Object.defineProperties(v_e.prototype,{skin:{get:function(){return this._skin}},sceneGraph:{get:function(){return this._sceneGraph}},inverseBindMatrices:{get:function(){return this._inverseBindMatrices}},joints:{get:function(){return this._joints}},jointMatrices:{get:function(){return this._jointMatrices}}});function r$t(o){let A=o.skin,f=A.inverseBindMatrices;o._inverseBindMatrices=f;let m=A.joints,C=m.length,E=o.sceneGraph._runtimeNodes,x=o.joints,y=o._jointMatrices;for(let I=0;I czm_splitPosition) discard; if (model_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard; #endif } `,RZ={name:"ModelSplitterPipelineStage",SPLIT_DIRECTION_UNIFORM_NAME:"model_splitDirection"};RZ.process=function(o,A,f){let m=o.shaderBuilder;m.addDefine("HAS_MODEL_SPLITTER",void 0,Ki.FRAGMENT),m.addFragmentLines(L_e);let C={};m.addUniform("float",RZ.SPLIT_DIRECTION_UNIFORM_NAME,Ki.FRAGMENT),C[RZ.SPLIT_DIRECTION_UNIFORM_NAME]=function(){return A.splitDirection},o.uniformMap=So(C,o.uniformMap)};var F_e=RZ;function u$t(o,A){this.model=o.model,this.shaderBuilder=o.shaderBuilder.clone(),this.uniformMap=Sn(o.uniformMap),this.alphaOptions=Sn(o.alphaOptions),this.renderStateOptions=Sn(o.renderStateOptions,!0),this.hasSilhouette=o.hasSilhouette,this.hasSkipLevelOfDetail=o.hasSkipLevelOfDetail,this.runtimeNode=A,this.attributes=[],this.attributeIndex=1,this.featureIdVertexAttributeSetIndex=0,this.instanceCount=0}var N_e=u$t;function A$t(o){o=oe(o,oe.EMPTY_OBJECT),this.lightingModel=oe(o.lightingModel,Mx.UNLIT)}var k_e=A$t;function c$t(o,A){this.model=o.model,this.runtimeNode=o.runtimeNode,this.attributes=o.attributes.slice(),this.attributeIndex=o.attributeIndex,this.featureIdVertexAttributeSetIndex=o.featureIdVertexAttributeSetIndex,this.uniformMap=Sn(o.uniformMap),this.alphaOptions=Sn(o.alphaOptions),this.renderStateOptions=Sn(o.renderStateOptions,!0),this.hasSilhouette=o.hasSilhouette,this.hasSkipLevelOfDetail=o.hasSkipLevelOfDetail,this.shaderBuilder=o.shaderBuilder.clone(),this.instanceCount=o.instanceCount,this.runtimePrimitive=A;let f=A.primitive;this.count=O(f.indices)?f.indices.count:Vs.getAttributeBySemantic(f,"POSITION").count,this.hasPropertyTable=!1,this.indices=f.indices,this.wireframeIndexBuffer=void 0,this.primitiveType=f.primitiveType;let m=Vs.getPositionMinMax(f,this.runtimeNode.instancingTranslationMin,this.runtimeNode.instancingTranslationMax);this.positionMin=Z.clone(m.min,new Z),this.positionMax=Z.clone(m.max,new Z),this.boundingSphere=hi.fromCornerPoints(this.positionMin,this.positionMax,new hi),this.lightingOptions=new k_e,this.pickId=void 0}var O_e=c$t,U_e=`#ifdef MODEL_FLATTEN // \u5728\u8303\u56F4\u5185 bool isPointInBound(vec4 point, vec4 bounds) { return (point.x>bounds.x && point.xbounds.w); } float unpackDepth(const in vec4 rgba_depth) { // \u89E3\u7801\u6DF1\u5EA6 const vec4 bitShifts = vec4(1.0, 1.0 / 255.0, 1.0 / (255.0 * 255.0), 1.0 / (255.0 * 255.0 * 255.0)); float depth=dot(rgba_depth, bitShifts); return depth; } void modelFlatten(vec3 vPosition, mat4 uProj, mat4 uMv) { if (u_bFlatten && !u_clipPlaneOfFlatten && !u_ripple && !u_regionSnow && !u_heightFog) { // \u53D8\u6362\u5230\u4E16\u754C\u4F4D\u7F6E\uFF0C\u7136\u540E\u53C8\u5230 vec4 m_position = u_r_eastNorthUpToFixedFrame * vec4(vPosition, 1.0); // \u662F\u5426\u5728\u8303\u56F4\u5185 if (isPointInBound(m_position, u_polygonBounds)) { vec2 texCoord; // texCoord.x = (m_position.x-u_polygonBounds.x)/(u_polygonBounds.z-u_polygonBounds.x); texCoord.y = (m_position.y-u_polygonBounds.w)/(u_polygonBounds.y-u_polygonBounds.w); // \u56FE\u7247\u5927\u5C0F\u662F float texelSize = 1.0/4096.0; // \u89E3\u7801\u6DF1\u5EA6 float depth0 = unpackDepth(texture(u_polygonTexture, texCoord.xy)); float depth1 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(-texelSize, 0.0))); float depth2 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(texelSize, 0.0))); float depth3 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(0.0, -texelSize))); float depth4 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(0.0, texelSize))); // \u83B7\u53D6\u6700\u5C0F\u7684\u6DF1\u5EA6 float minDepth = min(min(min(min(depth0, depth1), depth2), depth3), depth4); if (minDepth*5000.0 > 1.0) { float depth = max(max(max(max(depth0, depth1), depth2), depth3), depth4); m_position.z = depth*5000.0 + m_position.z * 0.01; } gl_Position = uProj * uMv * u_eastNorthUpToFixedFrame * m_position; vec3 weightedPosition = vPosition; //vec3 weightedNormal = a_normal; vec4 position = vec4(weightedPosition, 1.0); v_positionWC = (uMv * position).xyz; v_positionEC = position.xyz; } } if (u_bFlatten && u_clipPlaneOfFlatten) { v_position = vPosition; } if (u_bFlatten && (u_ripple || u_regionSnow || u_heightFog)) { v_position = vPosition ; } } #endif `,G_e=`#ifdef MODEL_FLATTEN // \u5728\u8303\u56F4\u5185 bool isPointInBound(vec4 point, vec4 bounds) { return (point.x>bounds.x && point.xbounds.w); } float unpackDepth(const in vec4 rgba_depth) { // \u89E3\u7801\u6DF1\u5EA6 const vec4 bitShifts = vec4(1.0, 1.0 / 255.0, 1.0 / (255.0 * 255.0), 1.0 / (255.0 * 255.0 * 255.0)); float depth=dot(rgba_depth, bitShifts); return depth; } float regionGradient(vec4 point, vec4 bounds, float distance) { float rate1 = min((point.x - bounds.x) / distance, (bounds.z - point.x) / distance); float rate2 = min((point.y - bounds.w) / distance, (bounds.y - point.y) / distance); float rate = smoothstep(0.0, 1.0, rate1 * rate2); return rate; } #define MAX_RADIUS 2 #define DOUBLE_HASH 0 #define HASHSCALE1 .1031 #define HASHSCALE3 vec3(.1031, .1030, .0973) float hash12(vec2 p) { vec3 p3 = fract(vec3(p.xyx) * HASHSCALE1); p3 += dot(p3, p3.yzx + 19.19); return fract((p3.x + p3.y) * p3.z); } vec2 hash22(vec2 p) { vec3 p3 = fract(vec3(p.xyx) * HASHSCALE3); p3 += dot(p3, p3.yzx+19.19); return fract((p3.xx+p3.yz)*p3.zy); } void rippleImage( out vec4 fragColor, in vec2 fragCoord ) { float iTime = czm_frameNumber / 30.0; vec2 uv = fragCoord.xy * 10.0; vec2 p0 = floor(uv); vec2 circles = vec2(0.); for (int j = -MAX_RADIUS; j <= MAX_RADIUS; ++j) { for (int i = -MAX_RADIUS; i <= MAX_RADIUS; ++i) { vec2 pi = p0 + vec2(i, j); #if DOUBLE_HASH vec2 hsh = hash22(pi); #else vec2 hsh = pi; #endif vec2 p = pi + hash22(hsh); float t = fract(0.8*iTime + hash12(hsh)); vec2 v = p - uv; float d = length(v) - (float(MAX_RADIUS) + 1.)*t; float h = 1e-3; float d1 = d - h; float d2 = d + h; float p1 = sin(31.*d1) * smoothstep(-0.6, -0.3, d1) * smoothstep(0., -0.3, d1); float p2 = sin(31.*d2) * smoothstep(-0.6, -0.3, d2) * smoothstep(0., -0.3, d2); circles += 0.5 * normalize(v) * ((p2 - p1) / (2. * h) * (1. - t) * (1. - t)); } } circles /= float((MAX_RADIUS*2+1)*(MAX_RADIUS*2+1)); float intensity = mix(0.01, 0.15, smoothstep(0.1, 0.6, abs(fract(0.05*iTime + 0.5)*2.-1.))); vec3 n = vec3(circles, sqrt(1. - dot(circles, circles))); vec3 color = vec3(0.0) + 5.*pow(clamp(dot(n, normalize(vec3(1., 0.7, 0.5))), 0., 1.), 6.); fragColor = vec4(color, 1.0); } vec4 modelFlatten(ProcessedAttributes attributes, czm_modelMaterial material){ vec4 rippleColor = vec4(0.0); if (u_bFlatten) { if(u_clipPlaneOfFlatten){ // \u53D8\u6362\u5230\u4E16\u754C\u4F4D\u7F6E\uFF0C\u7136\u540E\u53C8\u5230 vec4 m_position = u_r_eastNorthUpToFixedFrame *vec4(v_position, 1.0); // \u662F\u5426\u5728\u8303\u56F4\u5185 if (isPointInBound(m_position, u_polygonBounds)) { vec2 texCoord; texCoord.x = (m_position.x-u_polygonBounds.x)/(u_polygonBounds.z-u_polygonBounds.x); texCoord.y = (m_position.y-u_polygonBounds.w)/(u_polygonBounds.y-u_polygonBounds.w); // \u56FE\u7247\u5927\u5C0F\u662F float texelSize = 1.0/4096.0; // \u89E3\u7801\u6DF1\u5EA6 float depth0 = unpackDepth(texture(u_polygonTexture, texCoord.xy)); float depth1 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(-texelSize, 0.0))); float depth2 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(texelSize, 0.0))); float depth3 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(0.0, -texelSize))); float depth4 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(0.0, texelSize))); // \u83B7\u53D6\u6700\u5C0F\u7684\u6DF1\u5EA6 float minDepth = min(min(min(min(depth0, depth1), depth2), depth3), depth4); // if (minDepth*5000.0 > 1.0) { if(m_position.z > minDepth*5000.0) { discard; } } } } if(u_ripple || u_regionSnow || u_heightFog) { // \u53D8\u6362\u5230\u4E16\u754C\u4F4D\u7F6E\uFF0C\u7136\u540E\u53C8\u5230 vec4 m_position = u_r_eastNorthUpToFixedFrame *vec4(v_position, 1.0); // \u662F\u5426\u5728\u8303\u56F4\u5185 if (isPointInBound(m_position, u_polygonBounds)) { vec2 texCoord; texCoord.x = (m_position.x-u_polygonBounds.x)/(u_polygonBounds.z-u_polygonBounds.x); texCoord.y = (m_position.y-u_polygonBounds.w)/(u_polygonBounds.y-u_polygonBounds.w); // \u56FE\u7247\u5927\u5C0F\u662F float texelSize = 1.0/4096.0; // \u89E3\u7801\u6DF1\u5EA6 float depth0 = unpackDepth(texture(u_polygonTexture, texCoord.xy)); float depth1 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(-texelSize, 0.0))); float depth2 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(texelSize, 0.0))); float depth3 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(0.0, -texelSize))); float depth4 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(0.0, texelSize))); // \u83B7\u53D6\u6700\u5C0F\u7684\u6DF1\u5EA6 float minDepth = min(min(min(min(depth0, depth1), depth2), depth3), depth4); // if (minDepth*5000.0 > 1.0) { float rate = regionGradient(m_position, u_polygonBounds, u_regionGradientDistance); if(u_ripple || u_regionSnow){ vec3 surfaceNormal = vec3(0.0); #ifdef HAS_NORMALS surfaceNormal = material.normalEC; #else vec3 positionEC = attributes.positionEC; vec3 pos_dx = dFdx(positionEC); vec3 pos_dy = dFdy(positionEC); surfaceNormal = normalize(cross(normalize(pos_dx),normalize(pos_dy))); #endif //float angle = acos(dot(surfaceNormal, normalize((u_tilesetMatrix[1]).xyz))); float angle = dot(surfaceNormal, normalize(u_tilesetNormal)); if(u_ripple){ if(angle > 0.2) { vec4 enuPos = u_tilesetMatrix * vec4(attributes.positionEC, 1.0); vec4 fragColor; rippleImage(fragColor, enuPos.xy); rippleColor.rgb = fragColor.rgb; rippleColor.a = u_regionAlpha * rate; } } else { angle = pow(angle, 5.0); rippleColor = vec4(0.8,0.8,0.8,clamp(angle, 0.0, 1.0) * u_regionAlpha * rate); } } if(u_heightFog){ vec4 localPos = u_tilesetMatrix * vec4(attributes.positionEC, 1.0); if(localPos.z < u_fogHeight){ rippleColor = vec4(0.8,0.8,0.8, 1.0-clamp(localPos.z / u_fogHeight, 0.2, 1.0) * u_regionAlpha); } rippleColor.a *= rate; } } } } } return rippleColor; } vec3 blendWeather(in vec4 color, in vec4 rippleColor){ if (u_bFlatten && (u_ripple || u_regionSnow || u_heightFog)) { color.rgb = mix(color.rgb, rippleColor.rgb, rippleColor.a); } return color.rgb; } #endif `,Lqe={name:"ModelFlattenPipelineStage"};Lqe.process=function(o,A,f){let m=A._content.tileset,C=o.shaderBuilder;C.addDefine("MODEL_FLATTEN",void 0,Ki.BOTH),C.addVarying("vec3","v_position");let E=["mat4","u_eastNorthUpToFixedFrame","mat4","u_r_eastNorthUpToFixedFrame","bool","u_bFlatten","vec4","u_polygonBounds","sampler2D","u_polygonTexture","bool","u_clipPlaneOfFlatten","bool","u_ripple","bool","u_regionSnow","bool","u_heightFog","float","u_regionAlpha","float","u_regionGradientDistance","float","u_fogHeight","mat4","u_tilesetMatrix","vec3","u_tilesetNormal"];for(let B=0;B0&&(Q=em(f,A,y),A+=y,I>0&&(T=new Uint8Array(o,A,I),A+=I));let w=new TG(v,B),S=w.getGlobalProperty("POINTS_LENGTH");if(w.featuresLength=S,!O(S))throw new ki("Feature table global property: POINTS_LENGTH must be defined");let D=w.getGlobalProperty("RTC_CENTER",Ft.FLOAT,3);O(D)&&(D=Z.unpack(D));let R=Q$t(w,Q);if(R.rtcCenter=D,R.pointsLength=S,!R.hasPositions){let P=S$t(w);R.positions=P,R.hasPositions=R.hasPositions||O(P)}if(!R.hasPositions)throw new ki("Either POSITION or POSITION_QUANTIZED must be defined.");if(!R.hasNormals){let P=T$t(w);R.normals=P,R.hasNormals=R.hasNormals||O(P)}if(!R.hasColors){let P=D$t(w);R.colors=P,R.hasColors=R.hasColors||O(P),R.hasConstantColor=O(R.constantColor),R.isTranslucent=O(P)&&P.isTranslucent}if(!R.hasBatchIds){let P=M$t(w);R.batchIds=P,R.hasBatchIds=R.hasBatchIds||O(P)}if(R.hasBatchIds){let P=w.getGlobalProperty("BATCH_LENGTH");if(!O(P))throw new ki("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");R.batchLength=P}return O(T)&&(T=new Uint8Array(T),R.batchTableJson=Q,R.batchTableBinary=T),R};function Q$t(o,A){let f=o.json,m,C,E,x=O(f.extensions)?f.extensions["3DTILES_draco_point_compression"]:void 0,y=O(A)&&O(A.extensions)?A.extensions["3DTILES_draco_point_compression"]:void 0;O(y)&&(E=y.properties);let I,v,B,Q,T;if(O(x)){C=x.properties;let S=x.byteOffset,D=x.byteLength;if(!O(C)||!O(S)||!O(D))throw new ki("Draco properties, byteOffset, and byteLength must be defined");m=o.buffer.slice(S,S+D),I=O(C.POSITION),v=O(C.RGB)||O(C.RGBA),B=O(C.NORMAL),Q=O(C.BATCH_ID),T=O(C.RGBA)}let w;return O(m)&&(w={buffer:m,featureTableProperties:C,batchTableProperties:E,properties:So(C,E),dequantizeInShader:!0}),{draco:w,hasPositions:I,hasColors:v,isTranslucent:T,hasNormals:B,hasBatchIds:Q}}function S$t(o){let A=o.json,f;if(O(A.POSITION))return f=o.getPropertyArray("POSITION",Ft.FLOAT,3),{name:Bo.POSITION,semantic:Bo.POSITION,typedArray:f,isQuantized:!1,componentDatatype:Ft.FLOAT,type:cs.VEC3};if(O(A.POSITION_QUANTIZED)){f=o.getPropertyArray("POSITION_QUANTIZED",Ft.UNSIGNED_SHORT,3);let m=o.getGlobalProperty("QUANTIZED_VOLUME_SCALE",Ft.FLOAT,3);if(!O(m))throw new ki("Global property: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let C=65536-1,E=o.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",Ft.FLOAT,3);if(!O(E))throw new ki("Global property: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");return{name:Bo.POSITION,semantic:Bo.POSITION,typedArray:f,isQuantized:!0,componentDatatype:Ft.FLOAT,type:cs.VEC3,quantizedRange:C,quantizedVolumeOffset:Z.unpack(E),quantizedVolumeScale:Z.unpack(m),quantizedComponentDatatype:Ft.UNSIGNED_SHORT,quantizedType:cs.VEC3}}}function D$t(o){let A=o.json,f;if(O(A.RGBA))return f=o.getPropertyArray("RGBA",Ft.UNSIGNED_BYTE,4),{name:Bo.COLOR,semantic:Bo.COLOR,setIndex:0,typedArray:f,componentDatatype:Ft.UNSIGNED_BYTE,type:cs.VEC4,normalized:!0,isRGB565:!1,isTranslucent:!0};if(O(A.RGB))return f=o.getPropertyArray("RGB",Ft.UNSIGNED_BYTE,3),{name:"COLOR",semantic:Bo.COLOR,setIndex:0,typedArray:f,componentDatatype:Ft.UNSIGNED_BYTE,type:cs.VEC3,normalized:!0,isRGB565:!1,isTranslucent:!1};if(O(A.RGB565))return f=o.getPropertyArray("RGB565",Ft.UNSIGNED_SHORT,1),{name:"COLOR",semantic:Bo.COLOR,setIndex:0,typedArray:f,componentDatatype:Ft.FLOAT,type:cs.VEC3,normalized:!1,isRGB565:!0,isTranslucent:!1};if(O(A.CONSTANT_RGBA)){let m=o.getGlobalProperty("CONSTANT_RGBA",Ft.UNSIGNED_BYTE,4),C=m[3],E=Ve.fromBytes(m[0],m[1],m[2],C),x=C<255;return{name:Bo.COLOR,semantic:Bo.COLOR,setIndex:0,constantColor:E,componentDatatype:Ft.FLOAT,type:cs.VEC4,isQuantized:!1,isTranslucent:x}}}function T$t(o){let A=o.json,f;if(O(A.NORMAL))return f=o.getPropertyArray("NORMAL",Ft.FLOAT,3),{name:Bo.NORMAL,semantic:Bo.NORMAL,typedArray:f,octEncoded:!1,octEncodedZXY:!1,componentDatatype:Ft.FLOAT,type:cs.VEC3};if(O(A.NORMAL_OCT16P)){f=o.getPropertyArray("NORMAL_OCT16P",Ft.UNSIGNED_BYTE,2);let m=8;return{name:Bo.NORMAL,semantic:Bo.NORMAL,typedArray:f,octEncoded:!0,octEncodedZXY:!1,quantizedRange:(1<0&&eei(o,y,Q,A),O(f.rtcCenter)&&(B.transform=Re.multiplyByTranslation(B.transform,f.rtcCenter,B.transform));let T=f.positions;O(T)&&T.isQuantized&&(B.transform=Re.multiplyByTranslation(B.transform,T.quantizedVolumeOffset,B.transform)),o._components=B,o._parsedContent=void 0,o._arrayBuffer=void 0}function eei(o,A,f,m){let C=A.attributes,E=f.length;for(let x=0;x{this._completeLoad=()=>(I(this),!1),this._rejectLoad=B=>(v(B),!1)}),this._loader instanceof Cre?this._texturesLoadedPromise=Promise.resolve(this):this._texturesLoadedPromise=new Promise((I,v)=>{this._completeTexturesLoad=()=>(I(this),!1),this._rejectTexturesLoad=B=>(v(B),!1)}),this._loader.load().catch(I=>{this.isDestroyed()||!O(this._loader)||this._loader.isDestroyed()||(this._rejectLoad=this._rejectLoad(Vs.getError("model",this._resource,I)))})),this._errorEvent=new ur,this._readyEvent=new ur,this._texturesReadyEvent=new ur,this._sceneGraph=void 0,this._nodesByName={},this.pickObject=o.pickObject,this.underGroundMode={enabled:!1},this.flattenEnabled=!1}function Kq(o,A){if(o._errorEvent.numberOfListeners>0){o._errorEvent.raiseEvent(A);return}console.log(A)}function tei(o,A){let f=o._featureTables,m=A.propertyTables,C=m.length;for(let E=0;E0&&A===0||o===0&&A>0;this._silhouetteDirty=this._silhouetteDirty||f,this._backFaceCullingDirty=this._backFaceCullingDirty||f}this._silhouetteSize=o}},boundingSphere:{get:function(){let o=O(this._clampedModelMatrix)?this._clampedModelMatrix:this.modelMatrix;return Hqe(this,o),this._boundingSphere}},debugShowBoundingVolume:{get:function(){return this._debugShowBoundingVolume},set:function(o){this._debugShowBoundingVolume!==o&&(this._debugShowBoundingVolumeDirty=!0),this._debugShowBoundingVolume=o}},debugWireframe:{get:function(){return this._debugWireframe},set:function(o){this._debugWireframe!==o&&this.resetDrawCommands(),this._debugWireframe=o,this._debugWireframe===!0&&this._enableDebugWireframe===!1&&this.type===cd.GLTF&&$o("model-debug-wireframe-ignored","enableDebugWireframe must be set to true in Model.fromGltfAsync, otherwise debugWireframe will be ignored.")}},show:{get:function(){return this._show},set:function(o){this._show=o}},featureIdLabel:{get:function(){return this._featureIdLabel},set:function(o){typeof o=="number"&&(o=`featureId_${o}`),o!==this._featureIdLabel&&(this._featureTableIdDirty=!0),this._featureIdLabel=o}},instanceFeatureIdLabel:{get:function(){return this._instanceFeatureIdLabel},set:function(o){typeof o=="number"&&(o=`instanceFeatureId_${o}`),o!==this._instanceFeatureIdLabel&&(this._featureTableIdDirty=!0),this._instanceFeatureIdLabel=o}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(o){o!==this._clippingPlanes&&(Wf.setOwner(o,this,"_clippingPlanes"),this.resetDrawCommands())}},lightColor:{get:function(){return this._lightColor},set:function(o){O(o)!==O(this._lightColor)&&this.resetDrawCommands(),this._lightColor=Z.clone(o,this._lightColor)}},imageBasedLighting:{get:function(){return this._imageBasedLighting},set:function(o){o!==this._imageBasedLighting&&(this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=o,this._shouldDestroyImageBasedLighting=!1,this.resetDrawCommands())}},backFaceCulling:{get:function(){return this._backFaceCulling},set:function(o){o!==this._backFaceCulling&&(this._backFaceCullingDirty=!0),this._backFaceCulling=o}},scale:{get:function(){return this._scale},set:function(o){o!==this._scale&&(this._updateModelMatrix=!0),this._scale=o}},computedScale:{get:function(){return this._computedScale}},minimumPixelSize:{get:function(){return this._minimumPixelSize},set:function(o){o!==this._minimumPixelSize&&(this._updateModelMatrix=!0),this._minimumPixelSize=o}},maximumScale:{get:function(){return this._maximumScale},set:function(o){o!==this._maximumScale&&(this._updateModelMatrix=!0),this._maximumScale=o}},shadows:{get:function(){return this._shadows},set:function(o){o!==this._shadows&&(this._shadowsDirty=!0),this._shadows=o}},credit:{get:function(){return this._credit}},showCreditsOnScreen:{get:function(){return this._showCreditsOnScreen},set:function(o){this._showCreditsOnScreen!==o&&(this._showCreditsOnScreenDirty=!0),this._showCreditsOnScreen=o}},splitDirection:{get:function(){return this._splitDirection},set:function(o){this._splitDirection!==o&&this.resetDrawCommands(),this._splitDirection=o}},classificationType:{get:function(){return this._classificationType}},pickIds:{get:function(){return this._pickIds}},styleCommandsNeeded:{get:function(){return this._styleCommandsNeeded}}});PA.prototype.getNode=function(o){return this._nodesByName[o]};PA.prototype.setArticulationStage=function(o,A){this._sceneGraph.setArticulationStage(o,A)};PA.prototype.applyArticulations=function(){this._sceneGraph.applyArticulations()};PA.prototype.makeStyleDirty=function(){this._styleDirty=!0};PA.prototype.resetDrawCommands=function(){this._drawCommandsBuilt=!1};var rei=new Re,nei=new Gt,oei=new Re;PA.prototype.update=function(o){let A=!1;try{A=aei(this,o)}catch(f){if(this._loader.incrementallyLoadTextures)if(f.name==="TextureError")Kq(this,f),this._rejectTexturesLoad=this._rejectTexturesLoad&&this._rejectTexturesLoad(f);else{let m=Vs.getError("model",this._resource,f);Kq(this,m),this._rejectLoad=this._rejectLoad&&this._rejectLoad(m)}else{let m=Vs.getError("model",this._resource,f);Kq(this,m),this._rejectLoad=this._rejectLoad&&this._rejectLoad(m),this._rejectTexturesLoad=this._rejectTexturesLoad&&this._rejectTexturesLoad(m)}}if(sei(this,o),lei(this,o),!this._resourcesLoaded&&A){this._resourcesLoaded=!0;let f=this._loader.components;if(!O(f)){if(this._loader.isUnloaded())return;let E=Vs.getError("model",this._resource,new ki("Failed to load model."));Kq(E),this._rejectLoad=this._rejectLoad&&this._rejectLoad(E)}let m=f.structuralMetadata;O(m)&&m.propertyTableCount>0&&tei(this,m);let C=new V_e({model:this,modelComponents:f});this._sceneGraph=C,this._gltfCredits=C.components.asset.credits}if(!(!this._resourcesLoaded||o.mode===ni.MORPHING)){if(uei(this),Aei(this),cei(this,o),hei(this),dei(this,o),fei(this,o),gei(this,o),cd.is3DTiles(this.type)&&pei(this,o),mei(this,o),this._defaultTexture=o.context.defaultTexture,!cd.is3DTiles(this.type))GOe(this,o);else{let f=this._content.tileset;GOe(this,o,f)}if(Cei(this,o),Eei(this),xei(this,o),_ei(this,o),!this._ready){o.afterRender.push(()=>{this._ready=!0,this._readyEvent.raiseEvent(this),this._completeLoad=this._completeLoad&&this._completeLoad(),this._loader.incrementallyLoadTextures||(this._texturesLoaded=!0,this._texturesReadyEvent.raiseEvent(this),this._completeTexturesLoad=this._completeTexturesLoad&&this._completeTexturesLoad())});return}this._loader.incrementallyLoadTextures&&!this._texturesLoaded&&this._loader.texturesLoaded&&(this.resetDrawCommands(),this._texturesLoaded=!0,this._texturesReadyEvent.raiseEvent(this),this._completeTexturesLoad=this._completeTexturesLoad&&this._completeTexturesLoad()),Iei(this),vei(this,o),Bei(this),wei(this,o)}};function aei(o,A){return!o._resourcesLoaded||!o._texturesLoaded?(A.afterRender.push(()=>!0),o._loader.process(A)):!0}function sei(o,A){O(o._customShader)&&o._customShader.update(A)}function lei(o,A){o._imageBasedLighting.update(A),o._imageBasedLighting.shouldRegenerateShaders&&o.resetDrawCommands()}function uei(o){if(!o._featureTableIdDirty)return;o._featureTableIdDirty=!1;let A=o._sceneGraph.components,f=A.structuralMetadata;O(f)&&f.propertyTableCount>0&&(o.featureTableId=iei(A,o),o._styleDirty=!0,o.resetDrawCommands())}function Aei(o){o._styleDirty&&(o.applyStyle(o._style),o._styleDirty=!1)}function cei(o,A){let f=o._featureTables,m=f.length,C=!1;for(let E=0;E=m&&E<=C}function Dei(o,A){let f=A.creditDisplay,m=o._credit;O(m)&&f.addCreditToNextFrame(m);let C=o._resourceCredits,E=C.length;for(let I=0;I0&&o.alpha<1};PA.prototype.isInvisible=function(){let o=this.color;return O(o)&&o.alpha===0};function Vqe(o){return o.context.stencilBuffer}PA.prototype.hasSilhouette=function(o){return Vqe(o)&&this._silhouetteSize>0&&this._silhouetteColor.alpha>0&&!O(this._classificationType)};PA.prototype.hasSkipLevelOfDetail=function(o){if(!cd.is3DTiles(this.type))return!1;let A=o.context.stencilBuffer,f=this._content.tileset;return A&&f.isSkippingLevelOfDetail};PA.prototype.isClippingEnabled=function(){let o=this._clippingPlanes;return O(o)&&o.enabled&&o.length!==0};PA.prototype.isDestroyed=function(){return!1};PA.prototype.destroy=function(){let o=this._loader;O(o)&&o.destroy();let A=this._featureTables;if(O(A)){let m=A.length;for(let C=0;C0,m=O(this.structuralMetadata)?this.structuralMetadata.propertyAttributes:void 0,C=O(m)&&O(m[0]);if(A&&(!f||C)){this.resetDrawCommands();return}f?(this.featureTables[this.featureTableId].applyStyle(o),Gqe(this,o)):(this.applyColorAndShow(o),this._styleCommandsNeeded=void 0)};function OG(o,A,f){return{loader:o,type:A,resource:f.resource,show:f.show,modelMatrix:f.modelMatrix,scale:f.scale,minimumPixelSize:f.minimumPixelSize,maximumScale:f.maximumScale,id:f.id,allowPicking:f.allowPicking,clampAnimations:f.clampAnimations,shadows:f.shadows,debugShowBoundingVolume:f.debugShowBoundingVolume,enableDebugWireframe:f.enableDebugWireframe,debugWireframe:f.debugWireframe,cull:f.cull,opaquePass:f.opaquePass,customShader:f.customShader,content:f.content,heightReference:f.heightReference,scene:f.scene,distanceDisplayCondition:f.distanceDisplayCondition,color:f.color,colorBlendAmount:f.colorBlendAmount,colorBlendMode:f.colorBlendMode,silhouetteColor:f.silhouetteColor,silhouetteSize:f.silhouetteSize,enableShowOutline:f.enableShowOutline,showOutline:f.showOutline,outlineColor:f.outlineColor,clippingPlanes:f.clippingPlanes,lightColor:f.lightColor,imageBasedLighting:f.imageBasedLighting,backFaceCulling:f.backFaceCulling,credit:f.credit,showCreditsOnScreen:f.showCreditsOnScreen,splitDirection:f.splitDirection,projectTo2D:f.projectTo2D,featureIdLabel:f.featureIdLabel,instanceFeatureIdLabel:f.instanceFeatureIdLabel,pointCloudShading:f.pointCloudShading,classificationType:f.classificationType,pickObject:f.pickObject}}var mp=PA;function p0(o,A,f){this._tileset=o,this._tile=A,this._resource=f,this._model=void 0,this._metadata=void 0,this._group=void 0,this._ready=!1,this._resolveContent=void 0,this._readyPromise=void 0}Object.defineProperties(p0.prototype,{featuresLength:{get:function(){let o=this._model,A=o.featureTables,f=o.featureTableId;return O(A)&&O(A[f])?A[f].featuresLength:0}},pointsLength:{get:function(){return this._model.statistics.pointsLength}},trianglesLength:{get:function(){return this._model.statistics.trianglesLength}},geometryByteLength:{get:function(){return this._model.statistics.geometryByteLength}},texturesByteLength:{get:function(){return this._model.statistics.texturesByteLength}},batchTableByteLength:{get:function(){let o=this._model.statistics;return o.propertyTablesByteLength+o.batchTexturesByteLength}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return ii("Model3DTileContent.readyPromise","Model3DTileContent.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Wait for Model3DTileContent.ready to return true instead."),this._readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){let o=this._model,A=o.featureTables,f=o.featureTableId;if(O(A)&&O(A[f]))return A[f]}},metadata:{get:function(){return this._metadata},set:function(o){this._metadata=o}},group:{get:function(){return this._group},set:function(o){this._group=o}}});p0.prototype.getFeature=function(o){let A=this._model,f=A.featureTableId;return A.featureTables[f].getFeature(o)};p0.prototype.hasProperty=function(o,A){let f=this._model,m=f.featureTableId;return O(m)?f.featureTables[m].hasProperty(o,A):!1};p0.prototype.applyDebugSettings=function(o,A){A=o?A:Ve.WHITE,this.featuresLength===0?this._model.color=A:O(this.batchTable)&&this.batchTable.setAllColor(A)};p0.prototype.applyStyle=function(o){this._model.style=o};p0.prototype.update=function(o,A){let f=this._model,m=this._tile;f.colorBlendAmount=o.colorBlendAmount,f.colorBlendMode=o.colorBlendMode,f.modelMatrix=m.computedTransform,f.customShader=o.customShader,f.featureIdLabel=o.featureIdLabel,f.instanceFeatureIdLabel=o.instanceFeatureIdLabel,f.lightColor=o.lightColor,f.imageBasedLighting=o.imageBasedLighting,f.backFaceCulling=o.backFaceCulling,f.shadows=o.shadows,f.showCreditsOnScreen=o.showCreditsOnScreen,f.splitDirection=o.splitDirection,f.debugWireframe=o.debugWireframe,f.showOutline=o.showOutline,f.outlineColor=o.outlineColor,f.pointCloudShading=o.pointCloudShading;let C=o.clippingPlanes;f.referenceMatrix=o.clippingPlanesOriginMatrix,O(C)&&m.clippingPlanesDirty&&(f._clippingPlanes=C.enabled&&m._isClipped?C:void 0),O(f._clippingPlanes)&&f._clippingPlanes!==C&&(f._clippingPlanes=C,f._clippingPlanesState=0),f.update(A),!this._ready&&f.ready&&(f.activeAnimations.addAll({loop:oD.REPEAT}),this._ready=!0,this._resolveContent=this._resolveContent&&this._resolveContent(this))};p0.prototype.isDestroyed=function(){return!1};p0.prototype.destroy=function(){return this._model=this._model&&this._model.destroy(),Ar(this)};p0.fromGltf=async function(o,A,f,m){let C=new p0(o,A,f),E=YY(o,A,C,{gltf:m,basePath:f}),x=o.vectorClassificationOnly?void 0:o.classificationType;E.classificationType=x;let y=await mp.fromGltfAsync(E);return C._model=y,C._readyPromise=new Promise(I=>{C._resolveContent=I}),C};p0.fromB3dm=async function(o,A,f,m,C){let E=new p0(o,A,f),x=YY(o,A,E,{arrayBuffer:m,byteOffset:C,resource:f}),y=o.vectorClassificationOnly?void 0:o.classificationType;x.classificationType=y;let I=await mp.fromB3dm(x);return I.underGroundMode=o._underGroundMode,E._model=I,E._readyPromise=new Promise(v=>{E._resolveContent=v}),E};p0.fromI3dm=async function(o,A,f,m,C){let E=new p0(o,A,f),x=YY(o,A,E,{arrayBuffer:m,byteOffset:C,resource:f}),y=await mp.fromI3dm(x);return E._model=y,E._readyPromise=new Promise(I=>{E._resolveContent=I}),E};p0.fromPnts=async function(o,A,f,m,C){let E=new p0(o,A,f),x=YY(o,A,E,{arrayBuffer:m,byteOffset:C,resource:f}),y=await mp.fromPnts(x);return E._model=y,E._readyPromise=new Promise(I=>{E._resolveContent=I}),E};p0.fromGeoJson=async function(o,A,f,m){let C=new p0(o,A,f),E=YY(o,A,C,{geoJson:m,resource:f}),x=await mp.fromGeoJson(E);return C._model=x,C._readyPromise=new Promise(y=>{C._resolveContent=y}),C};function YY(o,A,f,m){let C={cull:!1,releaseGltfJson:!0,opaquePass:Yi.CESIUM_3D_TILE,modelMatrix:A.computedTransform,upAxis:o._modelUpAxis,forwardAxis:o._modelForwardAxis,incrementallyLoadTextures:!1,customShader:o.customShader,content:f,colorBlendMode:o.colorBlendMode,colorBlendAmount:o.colorBlendAmount,lightColor:o.lightColor,imageBasedLighting:o.imageBasedLighting,featureIdLabel:o.featureIdLabel,instanceFeatureIdLabel:o.instanceFeatureIdLabel,pointCloudShading:o.pointCloudShading,clippingPlanes:o.clippingPlanes,backFaceCulling:o.backFaceCulling,shadows:o.shadows,showCreditsOnScreen:o.showCreditsOnScreen,splitDirection:o.splitDirection,enableDebugWireframe:o._enableDebugWireframe,debugWireframe:o.debugWireframe,projectTo2D:o._projectTo2D,enableShowOutline:o._enableShowOutline,showOutline:o.showOutline,outlineColor:o.outlineColor};return So(m,C)}var S2=p0;function dw(o,A,f){this._tileset=o,this._tile=A,this._resource=f,this.featurePropertiesDirty=!1,this._metadata=void 0,this._group=void 0,this._ready=!1,this._readyPromise=Promise.resolve(this)}Object.defineProperties(dw.prototype,{featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return ii("Tileset3DTileContent.readyPromise","Tileset3DTileContent.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Wait for Tileset3DTileContent.ready to return true instead."),this._readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){}},metadata:{get:function(){return this._metadata},set:function(o){this._metadata=o}},group:{get:function(){return this._group},set:function(o){this._group=o}}});dw.fromJson=function(o,A,f,m){let C=new dw(o,A,f);return C._tileset.loadTileset(C._resource,m,C._tile),C._ready=!0,C};dw.prototype.hasProperty=function(o,A){return!1};dw.prototype.getFeature=function(o){};dw.prototype.applyDebugSettings=function(o,A){};dw.prototype.applyStyle=function(o){};dw.prototype.update=function(o,A){};dw.prototype.isDestroyed=function(){return!1};dw.prototype.destroy=function(){return Ar(this)};var Y_e=dw;function Tei(o,A,f,m,C){return function(){let E=document.createElement("canvas"),x=C+2*m;E.height=E.width=x;let y=E.getContext("2d");return y.clearRect(0,0,x,x),m!==0&&(y.beginPath(),y.arc(x/2,x/2,x/2,0,2*Math.PI,!0),y.closePath(),y.fillStyle=f,y.fill(),o<1&&(y.save(),y.globalCompositeOperation="destination-out",y.beginPath(),y.arc(x/2,x/2,C/2,0,2*Math.PI,!0),y.closePath(),y.fillStyle="black",y.fill(),y.restore())),y.beginPath(),y.arc(x/2,x/2,C/2,0,2*Math.PI,!0),y.closePath(),y.fillStyle=A,y.fill(),E}}var Ere=Tei;function op(o,A,f,m,C){this._content=o,this._billboard=f,this._label=m,this._polyline=C,this._batchId=A,this._billboardImage=void 0,this._billboardColor=void 0,this._billboardOutlineColor=void 0,this._billboardOutlineWidth=void 0,this._billboardSize=void 0,this._pointSize=void 0,this._color=void 0,this._pointSize=void 0,this._pointOutlineColor=void 0,this._pointOutlineWidth=void 0,this._heightOffset=void 0,this._pickIds=new Array(3),WU(this)}var Mei=new Rt;Object.defineProperties(op.prototype,{show:{get:function(){return this._label.show},set:function(o){this._label.show=o,this._billboard.show=o,this._polyline.show=o}},color:{get:function(){return this._color},set:function(o){this._color=Ve.clone(o,this._color),WU(this)}},pointSize:{get:function(){return this._pointSize},set:function(o){this._pointSize=o,WU(this)}},pointOutlineColor:{get:function(){return this._pointOutlineColor},set:function(o){this._pointOutlineColor=Ve.clone(o,this._pointOutlineColor),WU(this)}},pointOutlineWidth:{get:function(){return this._pointOutlineWidth},set:function(o){this._pointOutlineWidth=o,WU(this)}},labelColor:{get:function(){return this._label.fillColor},set:function(o){this._label.fillColor=o,this._polyline.show=this._label.show&&o.alpha>0}},labelOutlineColor:{get:function(){return this._label.outlineColor},set:function(o){this._label.outlineColor=o}},labelOutlineWidth:{get:function(){return this._label.outlineWidth},set:function(o){this._label.outlineWidth=o}},font:{get:function(){return this._label.font},set:function(o){this._label.font=o}},labelStyle:{get:function(){return this._label.style},set:function(o){this._label.style=o}},labelText:{get:function(){return this._label.text},set:function(o){O(o)||(o=""),this._label.text=o}},backgroundColor:{get:function(){return this._label.backgroundColor},set:function(o){this._label.backgroundColor=o}},backgroundPadding:{get:function(){return this._label.backgroundPadding},set:function(o){this._label.backgroundPadding=o}},backgroundEnabled:{get:function(){return this._label.showBackground},set:function(o){this._label.showBackground=o}},scaleByDistance:{get:function(){return this._label.scaleByDistance},set:function(o){this._label.scaleByDistance=o,this._billboard.scaleByDistance=o}},translucencyByDistance:{get:function(){return this._label.translucencyByDistance},set:function(o){this._label.translucencyByDistance=o,this._billboard.translucencyByDistance=o}},distanceDisplayCondition:{get:function(){return this._label.distanceDisplayCondition},set:function(o){this._label.distanceDisplayCondition=o,this._polyline.distanceDisplayCondition=o,this._billboard.distanceDisplayCondition=o}},heightOffset:{get:function(){return this._heightOffset},set:function(o){let A=oe(this._heightOffset,0),f=this._content.tileset.ellipsoid,m=f.cartesianToCartographic(this._billboard.position,Mei);m.height=m.height-A+o;let C=f.cartographicToCartesian(m);this._billboard.position=C,this._label.position=this._billboard.position,this._polyline.positions=[this._polyline.positions[0],C],this._heightOffset=o}},anchorLineEnabled:{get:function(){return this._polyline.show},set:function(o){this._polyline.show=o}},anchorLineColor:{get:function(){return this._polyline.material.uniforms.color},set:function(o){this._polyline.material.uniforms.color=Ve.clone(o,this._polyline.material.uniforms.color)}},image:{get:function(){return this._billboardImage},set:function(o){let A=this._billboardImage!==o;this._billboardImage=o,A&&WU(this)}},disableDepthTestDistance:{get:function(){return this._label.disableDepthTestDistance},set:function(o){this._label.disableDepthTestDistance=o,this._billboard.disableDepthTestDistance=o}},horizontalOrigin:{get:function(){return this._billboard.horizontalOrigin},set:function(o){this._billboard.horizontalOrigin=o}},verticalOrigin:{get:function(){return this._billboard.verticalOrigin},set:function(o){this._billboard.verticalOrigin=o}},labelHorizontalOrigin:{get:function(){return this._label.horizontalOrigin},set:function(o){this._label.horizontalOrigin=o}},labelVerticalOrigin:{get:function(){return this._label.verticalOrigin},set:function(o){this._label.verticalOrigin=o}},content:{get:function(){return this._content}},tileset:{get:function(){return this._content.tileset}},primitive:{get:function(){return this._content.tileset}},pickIds:{get:function(){let o=this._pickIds;return o[0]=this._billboard.pickId,o[1]=this._label.pickId,o[2]=this._polyline.pickId,o}}});op.defaultColor=Ve.WHITE;op.defaultPointOutlineColor=Ve.BLACK;op.defaultPointOutlineWidth=0;op.defaultPointSize=8;function WU(o){let A=o._billboard;if(O(o._billboardImage)&&o._billboardImage!==A.image){A.image=o._billboardImage;return}if(O(o._billboardImage))return;let f=oe(o._color,op.defaultColor),m=oe(o._pointOutlineColor,op.defaultPointOutlineColor),C=oe(o._pointOutlineWidth,op.defaultPointOutlineWidth),E=oe(o._pointSize,op.defaultPointSize),x=o._billboardColor,y=o._billboardOutlineColor,I=o._billboardOutlineWidth,v=o._billboardSize;if(Ve.equals(f,x)&&Ve.equals(m,y)&&C===I&&E===v)return;o._billboardColor=Ve.clone(f,o._billboardColor),o._billboardOutlineColor=Ve.clone(m,o._billboardOutlineColor),o._billboardOutlineWidth=C,o._billboardSize=E;let B=f.alpha,Q=f.toCssColorString(),T=m.toCssColorString(),w=JSON.stringify([Q,E,T,C]);A.setImage(w,Ere(B,Q,T,C,E))}op.prototype.hasProperty=function(o){return this._content.batchTable.hasProperty(this._batchId,o)};op.prototype.getPropertyIds=function(o){return this._content.batchTable.getPropertyIds(this._batchId,o)};op.prototype.getProperty=function(o){return this._content.batchTable.getProperty(this._batchId,o)};op.prototype.getPropertyInherited=function(o){return ns.getPropertyInherited(this._content,this._batchId,o)};op.prototype.setProperty=function(o,A){this._content.batchTable.setProperty(this._batchId,o,A),this._content.featurePropertiesDirty=!0};op.prototype.isExactClass=function(o){return this._content.batchTable.isExactClass(this._batchId,o)};op.prototype.isClass=function(o){return this._content.batchTable.isClass(this._batchId,o)};op.prototype.getExactClassName=function(){return this._content.batchTable.getExactClassName(this._batchId)};var jF=op;function gR(o){this._positions=o.positions,this._batchTable=o.batchTable,this._batchIds=o.batchIds,this._rectangle=o.rectangle,this._minHeight=o.minimumHeight,this._maxHeight=o.maximumHeight,this._billboardCollection=new Tx({batchTable:o.batchTable}),this._labelCollection=new jD({batchTable:o.batchTable}),this._polylineCollection=new lR,this._polylineCollection._useHighlightColor=!0,this._packedBuffer=void 0,this._ready=!1,this._promise=void 0,this._error=void 0}Object.defineProperties(gR.prototype,{ready:{get:function(){return this._ready}},pointsLength:{get:function(){return this._billboardCollection.length}},texturesByteLength:{get:function(){let o=this._billboardCollection.textureAtlas.texture.sizeInBytes,A=this._labelCollection._textureAtlas.texture.sizeInBytes;return o+A}}});function Pei(o,A){let f=o._rectangle,m=o._minHeight,C=o._maxHeight,E=2+gi.packedLength+Ci.packedLength,x=new Float64Array(E),y=0;return x[y++]=m,x[y++]=C,gi.pack(f,x,y),y+=gi.packedLength,Ci.pack(A,x,y),x}var Rei=new hd("createVectorTilePoints",5),Lei=new Z;function Fei(o,A){let f=o._positions,m=o._packedBuffer;O(m)||(f=o._positions=f.slice(),o._batchIds=o._batchIds.slice(),m=o._packedBuffer=Pei(o,A));let C=[f.buffer,m.buffer],E={positions:f.buffer,packedBuffer:m.buffer},x=Rei.scheduleTask(E,C);if(O(x))return x.then(y=>{if(o.isDestroyed())return;o._positions=new Float64Array(y.positions);let I=o._billboardCollection,v=o._labelCollection,B=o._polylineCollection;f=o._positions;let Q=o._batchIds,T=f.length/3;for(let w=0;w{o.isDestroyed()||(o._error=y)})}gR.prototype.createFeatures=function(o,A){let f=this._billboardCollection,m=this._labelCollection,C=this._polylineCollection,E=this._batchIds,x=E.length;for(let y=0;y{if(o.isDestroyed())return;o._positions=void 0,o._counts=void 0,o._polygonMinimumHeights=void 0,o._polygonMaximumHeights=void 0;let S=new Float64Array(w.packedBuffer),D=S[0];Yei(o,S),o._indices=Bn.getSizeInBytes(D)===2?new Uint16Array(w.indices):new Uint32Array(w.indices),o._indexOffsets=new Uint32Array(w.indexOffsets),o._indexCounts=new Uint32Array(w.indexCounts),o._batchedPositions=new Float32Array(w.positions),o._vertexBatchIds=new Uint16Array(w.batchIds),jei(o),o._ready=!0}).catch(w=>{o.isDestroyed()||(o._error=w)})}function jei(o){O(o._primitive)||(o._primitive=new Oie({batchTable:o._batchTable,positions:o._batchedPositions,batchIds:o._batchIds,vertexBatchIds:o._vertexBatchIds,indices:o._indices,indexOffsets:o._indexOffsets,indexCounts:o._indexCounts,batchedIndices:o._batchedIndices,boundingVolume:o._boundingVolume,boundingVolumes:o._boundingVolumes,center:o._center}),o._batchTable=void 0,o._batchIds=void 0,o._positions=void 0,o._counts=void 0,o._indices=void 0,o._indexCounts=void 0,o._indexOffsets=void 0,o._batchTableColors=void 0,o._packedBuffer=void 0,o._batchedPositions=void 0,o._transferrableBatchIds=void 0,o._vertexBatchIds=void 0,o._ellipsoid=void 0,o._minimumHeight=void 0,o._maximumHeight=void 0,o._polygonMinimumHeights=void 0,o._polygonMaximumHeights=void 0,o._center=void 0,o._rectangle=void 0,o._boundingVolume=void 0,o._boundingVolumes=void 0,o._batchedIndices=void 0)}AT.prototype.createFeatures=function(o,A){this._primitive.createFeatures(o,A)};AT.prototype.applyDebugSettings=function(o,A){this._primitive.applyDebugSettings(o,A)};AT.prototype.applyStyle=function(o,A){this._primitive.applyStyle(o,A)};AT.prototype.updateCommands=function(o,A){this._primitive.updateCommands(o,A)};AT.prototype.update=function(o){if(!this._ready){if(O(this._promise)||(this._promise=Wei(this)),O(this._error)){let A=this._error;throw this._error=void 0,A}return}this._primitive.debugWireframe=this.debugWireframe,this._primitive.forceRebatch=this.forceRebatch,this._primitive.classificationType=this.classificationType,this._primitive.update(o)};AT.prototype.isDestroyed=function(){return!1};AT.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),Ar(this)};var K_e=AT,W_e=`in vec4 currentPosition; in vec4 previousPosition; in vec4 nextPosition; in vec2 expandAndWidth; in float a_batchId; uniform mat4 u_modifiedModelView; void main() { float expandDir = expandAndWidth.x; float width = abs(expandAndWidth.y) + 0.5; bool usePrev = expandAndWidth.y < 0.0; vec4 p = u_modifiedModelView * currentPosition; vec4 prev = u_modifiedModelView * previousPosition; vec4 next = u_modifiedModelView * nextPosition; float angle; vec4 positionWC = getPolylineWindowCoordinatesEC(p, prev, next, expandDir, width, usePrev, angle); gl_Position = czm_viewportOrthographic * positionWC; } `;function fw(o){this._positions=o.positions,this._widths=o.widths,this._counts=o.counts,this._batchIds=o.batchIds,this._ellipsoid=oe(o.ellipsoid,Ci.WGS84),this._minimumHeight=o.minimumHeight,this._maximumHeight=o.maximumHeight,this._center=o.center,this._rectangle=o.rectangle,this._boundingVolume=o.boundingVolume,this._batchTable=o.batchTable,this._va=void 0,this._sp=void 0,this._rs=void 0,this._uniformMap=void 0,this._command=void 0,this._transferrableBatchIds=void 0,this._packedBuffer=void 0,this._keepDecodedPositions=o.keepDecodedPositions,this._decodedPositions=void 0,this._decodedPositionOffsets=void 0,this._currentPositions=void 0,this._previousPositions=void 0,this._nextPositions=void 0,this._expandAndWidth=void 0,this._vertexBatchIds=void 0,this._indices=void 0,this._constantColor=Ve.clone(Ve.WHITE),this._highlightColor=this._constantColor,this._trianglesLength=0,this._geometryByteLength=0,this._ready=!1,this._promise=void 0,this._error=void 0}Object.defineProperties(fw.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},ready:{get:function(){return this._ready}}});function qei(o){let A=o._rectangle,f=o._minimumHeight,m=o._maximumHeight,C=o._ellipsoid,E=o._center,x=2+gi.packedLength+Ci.packedLength+Z.packedLength,y=new Float64Array(x),I=0;return y[I++]=f,y[I++]=m,gi.pack(A,y,I),I+=gi.packedLength,Ci.pack(C,y,I),I+=Ci.packedLength,Z.pack(E,y,I),y}var Xei=new hd("createVectorTilePolylines",5),jU={previousPosition:0,currentPosition:1,nextPosition:2,expandAndWidth:3,a_batchId:4};function Zei(o,A){if(O(o._va))return;let f=o._positions,m=o._widths,C=o._counts,E=o._transferrableBatchIds,x=o._packedBuffer;O(x)||(f=o._positions=f.slice(),m=o._widths=m.slice(),C=o._counts=C.slice(),E=o._transferrableBatchIds=o._batchIds.slice(),x=o._packedBuffer=qei(o));let y=[f.buffer,m.buffer,C.buffer,E.buffer,x.buffer],I={positions:f.buffer,widths:m.buffer,counts:C.buffer,batchIds:E.buffer,packedBuffer:x.buffer,keepDecodedPositions:o._keepDecodedPositions},v=Xei.scheduleTask(I,y);if(O(v))return v.then(function(B){if(o.isDestroyed())return;o._keepDecodedPositions&&(o._decodedPositions=new Float64Array(B.decodedPositions),o._decodedPositionOffsets=new Uint32Array(B.decodedPositionOffsets)),o._currentPositions=new Float32Array(B.currentPositions),o._previousPositions=new Float32Array(B.previousPositions),o._nextPositions=new Float32Array(B.nextPositions),o._expandAndWidth=new Float32Array(B.expandAndWidth),o._vertexBatchIds=new Uint16Array(B.batchIds);let Q=B.indexDatatype;o._indices=Q===Bn.UNSIGNED_SHORT?new Uint16Array(B.indices):new Uint32Array(B.indices),$ei(o,A),o._ready=!0}).catch(B=>{o.isDestroyed()||(o._error=B)})}function $ei(o,A){if(!O(o._va)){let f=o._currentPositions,m=o._previousPositions,C=o._nextPositions,E=o._expandAndWidth,x=o._vertexBatchIds,y=o._indices,I=m.byteLength+f.byteLength+C.byteLength;I+=E.byteLength+x.byteLength+y.byteLength,o._trianglesLength=y.length/3,o._geometryByteLength=I;let v=Wn.createVertexBuffer({context:A,typedArray:m,usage:Gr.STATIC_DRAW}),B=Wn.createVertexBuffer({context:A,typedArray:f,usage:Gr.STATIC_DRAW}),Q=Wn.createVertexBuffer({context:A,typedArray:C,usage:Gr.STATIC_DRAW}),T=Wn.createVertexBuffer({context:A,typedArray:E,usage:Gr.STATIC_DRAW}),w=Wn.createVertexBuffer({context:A,typedArray:x,usage:Gr.STATIC_DRAW}),S=Wn.createIndexBuffer({context:A,typedArray:y,usage:Gr.STATIC_DRAW,indexDatatype:y.BYTES_PER_ELEMENT===2?Bn.UNSIGNED_SHORT:Bn.UNSIGNED_INT}),D=[{index:jU.previousPosition,vertexBuffer:v,componentDatatype:Ft.FLOAT,componentsPerAttribute:3},{index:jU.currentPosition,vertexBuffer:B,componentDatatype:Ft.FLOAT,componentsPerAttribute:3},{index:jU.nextPosition,vertexBuffer:Q,componentDatatype:Ft.FLOAT,componentsPerAttribute:3},{index:jU.expandAndWidth,vertexBuffer:T,componentDatatype:Ft.FLOAT,componentsPerAttribute:2},{index:jU.a_batchId,vertexBuffer:w,componentDatatype:Ft.UNSIGNED_SHORT,componentsPerAttribute:1}];o._va=new hu({context:A,attributes:D,indexBuffer:S}),o._positions=void 0,o._widths=void 0,o._counts=void 0,o._ellipsoid=void 0,o._minimumHeight=void 0,o._maximumHeight=void 0,o._rectangle=void 0,o._transferrableBatchIds=void 0,o._packedBuffer=void 0,o._currentPositions=void 0,o._previousPositions=void 0,o._nextPositions=void 0,o._expandAndWidth=void 0,o._vertexBatchIds=void 0,o._indices=void 0}}var EV=new Re,VOe=new Z;function eti(o,A){O(o._uniformMap)||(o._uniformMap={u_modifiedModelView:function(){let f=A.uniformState.view;return Re.clone(f,EV),Re.multiplyByPoint(EV,o._center,VOe),Re.setTranslation(EV,VOe,EV),EV},u_highlightColor:function(){return o._highlightColor}})}function tti(o){if(O(o._rs))return;let A={enabled:!0,factor:-5,units:-5};o._rs=Xr.fromCache({blending:Nl.ALPHA_BLEND,depthMask:!1,depthTest:{enabled:!0},polygonOffset:A})}var iti=`uniform vec4 u_highlightColor; void main() { out_FragColor = u_highlightColor; } `;function rti(o,A){if(O(o._sp))return;let f=o._batchTable,m=f.getVertexShaderCallback(!1,"a_batchId",void 0)(W_e),C=f.getFragmentShaderCallback(!1,void 0,!1)(iti),E=new _r({defines:["VECTOR_TILE",wo.isInternetExplorer()?"":"CLIP_POLYLINE"],sources:[c3,m]}),x=new _r({defines:["VECTOR_TILE"],sources:[C]});o._sp=qa.fromCache({context:A,vertexShaderSource:E,fragmentShaderSource:x,attributeLocations:jU})}function nti(o,A){if(!O(o._command)){let f=o._batchTable.getUniformMapCallback()(o._uniformMap);o._command=new fn({owner:o,vertexArray:o._va,renderState:o._rs,shaderProgram:o._sp,uniformMap:f,boundingVolume:o._boundingVolume,pass:Yi.TRANSLUCENT,pickId:o._batchTable.getPickId()})}A.commandList.push(o._command)}fw.getPolylinePositions=function(o,A){let f=o._batchIds,m=o._decodedPositions,C=o._decodedPositionOffsets;if(!O(f)||!O(m))return;let E,x,y=f.length,I=0,v=0;for(E=0;E // vec3 scratchNormal = mix(-startFaceNormalAndVertexCorner.xyz, endFaceNormalAndHalfWidth.xyz, isEnd); scratchNormal = cross(scratchNormal, mix(startEllipsoidNormal, endEllipsoidNormal, isEnd)); vec3 miterPushNormal = czm_normal * normalize(scratchNormal); offset = 2.0 * endFaceNormalAndHalfWidth.w * max(0.0, czm_metersPerPixel(position)); // offset = widthEC offset = offset / dot(miterPushNormal, right); position.xyz += miterPushNormal * (offset * sign(0.5 - mod(startFaceNormalAndVertexCorner.w, 2.0))); gl_Position = czm_depthClamp(czm_projection * position); position = u_modifiedModelView * vec4(startPositionAndHeight.xyz, 1.0); vec3 startNormalEC = czm_normal * startFaceNormalAndVertexCorner.xyz; v_startPlaneEC = vec4(startNormalEC, -dot(startNormalEC, position.xyz)); v_rightPlaneEC = vec4(right, -dot(right, position.xyz)); position = u_modifiedModelView * vec4(endPositionAndHeight.xyz, 1.0); vec3 endNormalEC = czm_normal * endFaceNormalAndHalfWidth.xyz; v_endPlaneEC = vec4(endNormalEC, -dot(endNormalEC, position.xyz)); v_halfWidth = endFaceNormalAndHalfWidth.w; } `,q_e=`in vec4 v_startPlaneEC; in vec4 v_endPlaneEC; in vec4 v_rightPlaneEC; in float v_halfWidth; in vec3 v_volumeUpEC; uniform vec4 u_highlightColor; void main() { float logDepthOrDepth = czm_branchFreeTernary(czm_sceneMode == czm_sceneMode2D, gl_FragCoord.z, czm_unpackDepth(texture(czm_globeDepthTexture, gl_FragCoord.xy / czm_viewport.zw))); // Discard for sky if (logDepthOrDepth == 0.0) { #ifdef DEBUG_SHOW_VOLUME out_FragColor = vec4(0.0, 0.0, 1.0, 0.5); return; #else // DEBUG_SHOW_VOLUME discard; #endif // DEBUG_SHOW_VOLUME } vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); eyeCoordinate /= eyeCoordinate.w; float halfMaxWidth = v_halfWidth * czm_metersPerPixel(eyeCoordinate); // Expand halfMaxWidth if direction to camera is almost perpendicular with the volume's up direction halfMaxWidth += halfMaxWidth * (1.0 - dot(-normalize(eyeCoordinate.xyz), v_volumeUpEC)); // Check distance of the eye coordinate against the right-facing plane float widthwiseDistance = czm_planeDistance(v_rightPlaneEC, eyeCoordinate.xyz); // Check eye coordinate against the mitering planes float distanceFromStart = czm_planeDistance(v_startPlaneEC, eyeCoordinate.xyz); float distanceFromEnd = czm_planeDistance(v_endPlaneEC, eyeCoordinate.xyz); if (abs(widthwiseDistance) > halfMaxWidth || distanceFromStart < 0.0 || distanceFromEnd < 0.0) { #ifdef DEBUG_SHOW_VOLUME out_FragColor = vec4(logDepthOrDepth, 0.0, 0.0, 0.5); return; #else // DEBUG_SHOW_VOLUME discard; #endif // DEBUG_SHOW_VOLUME } out_FragColor = u_highlightColor; czm_writeDepthClamp(); } `;function cT(o){this._positions=o.positions,this._widths=o.widths,this._counts=o.counts,this._batchIds=o.batchIds,this._ellipsoid=oe(o.ellipsoid,Ci.WGS84),this._minimumHeight=o.minimumHeight,this._maximumHeight=o.maximumHeight,this._center=o.center,this._rectangle=o.rectangle,this._batchTable=o.batchTable,this._va=void 0,this._sp=void 0,this._rs=void 0,this._uniformMap=void 0,this._command=void 0,this._transferrableBatchIds=void 0,this._packedBuffer=void 0,this._minimumMaximumVectorHeights=new rt($A._defaultMinTerrainHeight,$A._defaultMaxTerrainHeight),this._boundingVolume=Lu.fromRectangle(o.rectangle,$A._defaultMinTerrainHeight,$A._defaultMaxTerrainHeight,this._ellipsoid),this._classificationType=o.classificationType,this._keepDecodedPositions=o.keepDecodedPositions,this._decodedPositions=void 0,this._decodedPositionOffsets=void 0,this._startEllipsoidNormals=void 0,this._endEllipsoidNormals=void 0,this._startPositionAndHeights=void 0,this._startFaceNormalAndVertexCornerIds=void 0,this._endPositionAndHeights=void 0,this._endFaceNormalAndHalfWidths=void 0,this._vertexBatchIds=void 0,this._indices=void 0,this._constantColor=Ve.clone(Ve.WHITE),this._highlightColor=this._constantColor,this._trianglesLength=0,this._geometryByteLength=0,this._ready=!1,this._promise=void 0,this._error=void 0}Object.defineProperties(cT.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},ready:{get:function(){return this._ready}}});function uti(o,A,f){let m=$A.getMinimumMaximumHeights(A,f),C=m.minimumTerrainHeight,E=m.maximumTerrainHeight,x=o._minimumMaximumVectorHeights;x.x=C,x.y=E;let y=o._boundingVolume,I=o._rectangle;Lu.fromRectangle(I,C,E,f,y)}function Ati(o){let A=o._rectangle,f=o._minimumHeight,m=o._maximumHeight,C=o._ellipsoid,E=o._center,x=2+gi.packedLength+Ci.packedLength+Z.packedLength,y=new Float64Array(x),I=0;return y[I++]=f,y[I++]=m,gi.pack(A,y,I),I+=gi.packedLength,Ci.pack(C,y,I),I+=Ci.packedLength,Z.pack(E,y,I),y}var cti=new hd("createVectorTileClampedPolylines"),y2={startEllipsoidNormal:0,endEllipsoidNormal:1,startPositionAndHeight:2,endPositionAndHeight:3,startFaceNormalAndVertexCorner:4,endFaceNormalAndHalfWidth:5,a_batchId:6};function hti(o,A){if(O(o._va))return;let f=o._positions,m=o._widths,C=o._counts,E=o._transferrableBatchIds,x=o._packedBuffer;O(x)||(f=o._positions=f.slice(),m=o._widths=m.slice(),C=o._counts=C.slice(),E=o._transferrableBatchIds=o._batchIds.slice(),x=o._packedBuffer=Ati(o));let y=[f.buffer,m.buffer,C.buffer,E.buffer,x.buffer],I={positions:f.buffer,widths:m.buffer,counts:C.buffer,batchIds:E.buffer,packedBuffer:x.buffer,keepDecodedPositions:o._keepDecodedPositions},v=cti.scheduleTask(I,y);if(O(v))return v.then(function(B){if(o.isDestroyed())return;o._keepDecodedPositions&&(o._decodedPositions=new Float64Array(B.decodedPositions),o._decodedPositionOffsets=new Uint32Array(B.decodedPositionOffsets)),o._startEllipsoidNormals=new Float32Array(B.startEllipsoidNormals),o._endEllipsoidNormals=new Float32Array(B.endEllipsoidNormals),o._startPositionAndHeights=new Float32Array(B.startPositionAndHeights),o._startFaceNormalAndVertexCornerIds=new Float32Array(B.startFaceNormalAndVertexCornerIds),o._endPositionAndHeights=new Float32Array(B.endPositionAndHeights),o._endFaceNormalAndHalfWidths=new Float32Array(B.endFaceNormalAndHalfWidths),o._vertexBatchIds=new Uint16Array(B.vertexBatchIds);let Q=B.indexDatatype;o._indices=Q===Bn.UNSIGNED_SHORT?new Uint16Array(B.indices):new Uint32Array(B.indices),dti(o,A),o._ready=!0}).catch(B=>{o.isDestroyed()||(o._error=B)})}function dti(o,A){if(!O(o._va)){let f=o._startEllipsoidNormals,m=o._endEllipsoidNormals,C=o._startPositionAndHeights,E=o._endPositionAndHeights,x=o._startFaceNormalAndVertexCornerIds,y=o._endFaceNormalAndHalfWidths,I=o._vertexBatchIds,v=o._indices,B=f.byteLength+m.byteLength;B+=C.byteLength+E.byteLength,B+=x.byteLength+y.byteLength,B+=I.byteLength+v.byteLength,o._trianglesLength=v.length/3,o._geometryByteLength=B;let Q=Wn.createVertexBuffer({context:A,typedArray:f,usage:Gr.STATIC_DRAW}),T=Wn.createVertexBuffer({context:A,typedArray:m,usage:Gr.STATIC_DRAW}),w=Wn.createVertexBuffer({context:A,typedArray:C,usage:Gr.STATIC_DRAW}),S=Wn.createVertexBuffer({context:A,typedArray:E,usage:Gr.STATIC_DRAW}),D=Wn.createVertexBuffer({context:A,typedArray:x,usage:Gr.STATIC_DRAW}),R=Wn.createVertexBuffer({context:A,typedArray:y,usage:Gr.STATIC_DRAW}),P=Wn.createVertexBuffer({context:A,typedArray:I,usage:Gr.STATIC_DRAW}),M=Wn.createIndexBuffer({context:A,typedArray:v,usage:Gr.STATIC_DRAW,indexDatatype:v.BYTES_PER_ELEMENT===2?Bn.UNSIGNED_SHORT:Bn.UNSIGNED_INT}),L=[{index:y2.startEllipsoidNormal,vertexBuffer:Q,componentDatatype:Ft.FLOAT,componentsPerAttribute:3},{index:y2.endEllipsoidNormal,vertexBuffer:T,componentDatatype:Ft.FLOAT,componentsPerAttribute:3},{index:y2.startPositionAndHeight,vertexBuffer:w,componentDatatype:Ft.FLOAT,componentsPerAttribute:4},{index:y2.endPositionAndHeight,vertexBuffer:S,componentDatatype:Ft.FLOAT,componentsPerAttribute:4},{index:y2.startFaceNormalAndVertexCorner,vertexBuffer:D,componentDatatype:Ft.FLOAT,componentsPerAttribute:4},{index:y2.endFaceNormalAndHalfWidth,vertexBuffer:R,componentDatatype:Ft.FLOAT,componentsPerAttribute:4},{index:y2.a_batchId,vertexBuffer:P,componentDatatype:Ft.UNSIGNED_SHORT,componentsPerAttribute:1}];o._va=new hu({context:A,attributes:L,indexBuffer:M}),o._positions=void 0,o._widths=void 0,o._counts=void 0,o._ellipsoid=void 0,o._minimumHeight=void 0,o._maximumHeight=void 0,o._rectangle=void 0,o._transferrableBatchIds=void 0,o._packedBuffer=void 0,o._startEllipsoidNormals=void 0,o._endEllipsoidNormals=void 0,o._startPositionAndHeights=void 0,o._startFaceNormalAndVertexCornerIds=void 0,o._endPositionAndHeights=void 0,o._endFaceNormalAndHalfWidths=void 0,o._vertexBatchIds=void 0,o._indices=void 0}}var xV=new Re,zOe=new Z;function fti(o,A){O(o._uniformMap)||(o._uniformMap={u_modifiedModelView:function(){let f=A.uniformState.view;return Re.clone(f,xV),Re.multiplyByPoint(xV,o._center,zOe),Re.setTranslation(xV,zOe,xV),xV},u_highlightColor:function(){return o._highlightColor},u_minimumMaximumVectorHeights:function(){return o._minimumMaximumVectorHeights}})}function YOe(o){return Xr.fromCache({cull:{enabled:!0,face:pA.FRONT},blending:Nl.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1,stencilTest:{enabled:o,frontFunction:du.EQUAL,frontOperation:{fail:jn.KEEP,zFail:jn.KEEP,zPass:jn.KEEP},backFunction:du.EQUAL,backOperation:{fail:jn.KEEP,zFail:jn.KEEP,zPass:jn.KEEP},reference:ia.CESIUM_3D_TILE_MASK,mask:ia.CESIUM_3D_TILE_MASK}})}function gti(o){O(o._rs)||(o._rs=YOe(!1),o._rs3DTiles=YOe(!0))}function pti(o,A){if(O(o._sp))return;let f=o._batchTable,m=f.getVertexShaderCallback(!1,"a_batchId",void 0)(j_e),C=f.getFragmentShaderCallback(!1,void 0,!0)(q_e),E=new _r({defines:["VECTOR_TILE",wo.isInternetExplorer()?"":"CLIP_POLYLINE"],sources:[c3,m]}),x=new _r({defines:["VECTOR_TILE"],sources:[C]});o._sp=qa.fromCache({context:A,vertexShaderSource:E,fragmentShaderSource:x,attributeLocations:y2})}function mti(o,A){let f=o._command;if(!O(o._command)){let C=o._batchTable.getUniformMapCallback()(o._uniformMap);f=o._command=new fn({owner:o,vertexArray:o._va,renderState:o._rs,shaderProgram:o._sp,uniformMap:C,boundingVolume:o._boundingVolume,pass:Yi.TERRAIN_CLASSIFICATION,pickId:o._batchTable.getPickId()});let E=fn.shallowClone(f,f.derivedCommands.tileset);E.renderState=o._rs3DTiles,E.pass=Yi.CESIUM_3D_TILE_CLASSIFICATION,f.derivedCommands.tileset=E}let m=o._classificationType;(m===uu.TERRAIN||m===uu.BOTH)&&A.commandList.push(f),(m===uu.CESIUM_3D_TILE||m===uu.BOTH)&&A.commandList.push(f.derivedCommands.tileset)}cT.prototype.getPositions=function(o){return xre.getPolylinePositions(this,o)};cT.prototype.createFeatures=function(o,A){let f=this._batchIds,m=f.length;for(let C=0;C{o.isDestroyed()||(o._error=A)})}cT.prototype.update=function(o){let A=o.context;if(!this._ready){if(O(this._promise)||(this._promise=Iti(this).then(hti(this,A))),O(this._error)){let m=this._error;throw this._error=void 0,m}return}fti(this,A),pti(this,A),gti(this);let f=o.passes;(f.render||f.pick)&&mti(this,o)};cT.prototype.isDestroyed=function(){return!1};cT.prototype.destroy=function(){return this._va=this._va&&this._va.destroy(),this._sp=this._sp&&this._sp.destroy(),Ar(this)};var X_e=cT,Zce=32767,_ti=new Rt,vti=new Z;function Bti(o,A,f,m,C){let E=o.length/3,x=o.subarray(0,E),y=o.subarray(E,2*E),I=o.subarray(2*E,3*E);$l.zigZagDeltaDecode(x,y,I);let v=new Float64Array(o.length);for(let B=0;B{this._resolveContent=E}),Dti(this,m,C)}Object.defineProperties(mQ.prototype,{featuresLength:{get:function(){return O(this._batchTable)?this._batchTable.featuresLength:0}},pointsLength:{get:function(){return O(this._points)?this._points.pointsLength:0}},trianglesLength:{get:function(){let o=0;return O(this._polygons)&&(o+=this._polygons.trianglesLength),O(this._polylines)&&(o+=this._polylines.trianglesLength),o}},geometryByteLength:{get:function(){let o=0;return O(this._polygons)&&(o+=this._polygons.geometryByteLength),O(this._polylines)&&(o+=this._polylines.geometryByteLength),o}},texturesByteLength:{get:function(){return O(this._points)?this._points.texturesByteLength:0}},batchTableByteLength:{get:function(){return O(this._batchTable)?this._batchTable.batchTableByteLength:0}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return ii("Vector3DTileContent.readyPromise","Vector3DTileContent.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Wait for Vector3DTileContent.ready to return true instead."),this._readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(o){this._metadata=o}},batchTable:{get:function(){return this._batchTable}},group:{get:function(){return this._group},set:function(o){this._group=o}}});function wti(o){return function(A,f){O(o._polygons)&&o._polygons.updateCommands(A,f)}}function bti(o,A){let f,m,C,E,x=oe(o.POLYGONS_LENGTH,0),y=oe(o.POLYLINES_LENGTH,0),I=oe(o.POINTS_LENGTH,0);if(x>0&&O(o.POLYGON_BATCH_IDS)){let Q=A.byteOffset+o.POLYGON_BATCH_IDS.byteOffset;f=new Uint16Array(A.buffer,Q,x)}if(y>0&&O(o.POLYLINE_BATCH_IDS)){let Q=A.byteOffset+o.POLYLINE_BATCH_IDS.byteOffset;m=new Uint16Array(A.buffer,Q,y)}if(I>0&&O(o.POINT_BATCH_IDS)){let Q=A.byteOffset+o.POINT_BATCH_IDS.byteOffset;C=new Uint16Array(A.buffer,Q,I)}let v=O(f)||O(m)||O(C),B=x>0&&!O(f)||y>0&&!O(m)||I>0&&!O(C);if(v&&B)throw new ki("If one group of batch ids is defined, then all batch ids must be defined");if(!O(f)&&!O(m)&&!O(C)){let Q=0;if(!O(f)&&x>0)for(f=new Uint16Array(x),E=0;E0)for(m=new Uint16Array(y),E=0;E0)for(C=new Uint16Array(I),E=0;E0&&(P=em(m,f,v),f+=v,B>0&&(M=new Uint8Array(A,f,B),M=new Uint8Array(M),f+=B));let L=oe(D.POLYGONS_LENGTH,0),F=oe(D.POLYLINES_LENGTH,0),k=oe(D.POINTS_LENGTH,0),N=L+F+k,G=new IY(o,N,P,M,wti(o));if(o._batchTable=G,N===0)return;let J=new TG(D,R),K=J.getGlobalProperty("REGION");if(!O(K))throw new ki("Feature table global property: REGION must be defined");let X=gi.unpack(K),q=K[4],ee=K[5],ie=o._tile.computedTransform,H=J.getGlobalProperty("RTC_CENTER",Ft.FLOAT,3);O(H)?(H=Z.unpack(H),Re.multiplyByPoint(ie,H,H)):(H=gi.center(X),H.height=Be.lerp(q,ee,.5),H=Ci.WGS84.cartographicToCartesian(H));let le=bti(D,R);if(f+=(4-f%4)%4,L>0){J.featuresLength=L;let ue=oe(J.getPropertyArray("POLYGON_COUNTS",Ft.UNSIGNED_INT,1),J.getPropertyArray("POLYGON_COUNT",Ft.UNSIGNED_INT,1));if(!O(ue))throw new ki("Feature table property: POLYGON_COUNTS must be defined when POLYGONS_LENGTH is greater than 0");let Ae=oe(J.getPropertyArray("POLYGON_INDEX_COUNTS",Ft.UNSIGNED_INT,1),J.getPropertyArray("POLYGON_INDEX_COUNT",Ft.UNSIGNED_INT,1));if(!O(Ae))throw new ki("Feature table property: POLYGON_INDEX_COUNTS must be defined when POLYGONS_LENGTH is greater than 0");let he=ue.reduce(function(Y,z){return Y+z*2},0),ge=Ae.reduce(function(Y,z){return Y+z},0),fe=new Uint32Array(A,f,ge);f+=Q;let ae=new Uint16Array(A,f,he);f+=T;let U,W;O(D.POLYGON_MINIMUM_HEIGHTS)&&O(D.POLYGON_MAXIMUM_HEIGHTS)&&(U=J.getPropertyArray("POLYGON_MINIMUM_HEIGHTS",Ft.FLOAT,1),W=J.getPropertyArray("POLYGON_MAXIMUM_HEIGHTS",Ft.FLOAT,1)),o._polygons=new K_e({positions:ae,counts:ue,indexCounts:Ae,indices:fe,minimumHeight:q,maximumHeight:ee,polygonMinimumHeights:U,polygonMaximumHeights:W,center:H,rectangle:X,boundingVolume:o.tile.boundingVolume.boundingVolume,batchTable:G,batchIds:le.polygons,modelMatrix:ie})}if(F>0){J.featuresLength=F;let ue=oe(J.getPropertyArray("POLYLINE_COUNTS",Ft.UNSIGNED_INT,1),J.getPropertyArray("POLYLINE_COUNT",Ft.UNSIGNED_INT,1));if(!O(ue))throw new ki("Feature table property: POLYLINE_COUNTS must be defined when POLYLINES_LENGTH is greater than 0");let Ae=J.getPropertyArray("POLYLINE_WIDTHS",Ft.UNSIGNED_SHORT,1);if(!O(Ae)){Ae=new Uint16Array(F);for(let W=0;W0){let ue=new Uint16Array(A,f,k*3);f+=S,o._points=new J_e({positions:ue,batchIds:le.points,minimumHeight:q,maximumHeight:ee,rectangle:X,batchTable:G})}}function $_e(o){let A=o.featuresLength;if(!O(o._features)&&A>0){let f=new Array(A);O(o._polygons)&&o._polygons.createFeatures(o,f),O(o._polylines)&&o._polylines.createFeatures(o,f),O(o._points)&&o._points.createFeatures(o,f),o._features=f}}mQ.prototype.hasProperty=function(o,A){return this._batchTable.hasProperty(o,A)};mQ.prototype.getFeature=function(o){return O(this._features)||$_e(this),this._features[o]};mQ.prototype.applyDebugSettings=function(o,A){O(this._polygons)&&this._polygons.applyDebugSettings(o,A),O(this._polylines)&&this._polylines.applyDebugSettings(o,A),O(this._points)&&this._points.applyDebugSettings(o,A)};mQ.prototype.applyStyle=function(o){O(this._features)||$_e(this),O(this._polygons)&&this._polygons.applyStyle(o,this._features),O(this._polylines)&&this._polylines.applyStyle(o,this._features),O(this._points)&&this._points.applyStyle(o,this._features)};mQ.prototype.update=function(o,A){let f=!0;O(this._polygons)&&(this._polygons.classificationType=this._tileset.classificationType,this._polygons.debugWireframe=this._tileset.debugWireframe,this._polygons.update(A),f=f&&this._polygons.ready),O(this._polylines)&&(this._polylines.update(A),f=f&&this._polylines.ready),O(this._points)&&(this._points.update(A),f=f&&this._points.ready),O(this._batchTable)&&f&&(O(this._features)||$_e(this),this._batchTable.update(o,A),this._ready=!0,this._resolveContent(this))};mQ.prototype.getPolylinePositions=function(o){let A=this._polylines;if(O(A))return A.getPositions(o)};mQ.prototype.isDestroyed=function(){return!1};mQ.prototype.destroy=function(){return this._polygons=this._polygons&&this._polygons.destroy(),this._polylines=this._polylines&&this._polylines.destroy(),this._points=this._points&&this._points.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),Ar(this)};function Tti(o,A,f,m,C,E){let x=A.length,y=0;for(let I=0;I=0?m[E]:void 0}var _re=Rti;function gT(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.tile,f=o.class;this._class=f,this._properties=A.properties,this._extensions=A.extensions,this._extras=A.extras}Object.defineProperties(gT.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});gT.prototype.hasProperty=function(o){return wl.hasProperty(o,this._properties,this._class)};gT.prototype.hasPropertyBySemantic=function(o){return wl.hasPropertyBySemantic(o,this._properties,this._class)};gT.prototype.getPropertyIds=function(o){return wl.getPropertyIds(this._properties,this._class,o)};gT.prototype.getProperty=function(o){return wl.getProperty(o,this._properties,this._class)};gT.prototype.setProperty=function(o,A){return wl.setProperty(o,A,this._properties,this._class)};gT.prototype.getPropertyBySemantic=function(o){return wl.getPropertyBySemantic(o,this._properties,this._class)};gT.prototype.setPropertyBySemantic=function(o,A){return wl.setPropertyBySemantic(o,A,this._properties,this._class)};var rve=gT;function nve(o,A){let f=rc(A,"3DTILES_metadata")?A.extensions["3DTILES_metadata"]:A.metadata;if(!O(f))return;if(!O(o.schema)){nve._oneTimeWarning("findTileMetadata-missing-root-schema","Could not find a metadata schema for tile metadata. For tilesets that contain external tilesets, make sure the schema is added to the root tileset.json.");return}let m=oe(o.schema.classes,oe.EMPTY_OBJECT);if(O(f.class)){let C=m[f.class];return new rve({tile:f,class:C})}}nve._oneTimeWarning=$o;var ove=nve;function Lti(o){let A=new Uint8Array(o),f=BG(A);if(f==="glTF"&&(f="glb"),iC.isBinaryFormat(f))return{contentType:f,binaryPayload:A};let m=Fti(A);if(O(m.root))return{contentType:iC.EXTERNAL_TILESET,jsonPayload:m};if(O(m.asset))return{contentType:iC.GLTF,jsonPayload:m};if(O(m.tileAvailability))return{contentType:iC.IMPLICIT_SUBTREE_JSON,jsonPayload:m};if(O(m.type))return{contentType:iC.GEOJSON,jsonPayload:m};if(O(m.voxelTable))return{contentType:iC.VOXEL_JSON,jsonPayload:m};throw new ki("Invalid tile content.")}function Fti(o){let A;try{A=em(o)}catch{throw new ki("Invalid tile content.")}return A}var UG=Lti;function bw(o,A,f,m){this._tileset=o,this._tile=A,this._tilesetResource=f,this._contents=[],this._contentsCreated=!1;let C=O(m.contents)?m.contents:m.content;this._innerContentHeaders=C,this._requestsInFlight=0,this._cancelCount=0;let E=this._innerContentHeaders.length;this._arrayFetchPromises=new Array(E),this._requests=new Array(E),this._ready=!1,this._resolveContent=void 0,this._readyPromise=new Promise(x=>{this._resolveContent=x}),this._innerContentResources=new Array(E),this._serverKeys=new Array(E);for(let x=0;xUti(o,E,x)),C=await Promise.all(m);return o._contentsCreated=!0,o._contents=C.filter(O),C}async function Uti(o,A,f){if(O(A))try{let m=UG(A);if(m.contentType===iC.EXTERNAL_TILESET)throw new ki("External tilesets are disallowed inside multiple contents");o._disableSkipLevelOfDetail=o._disableSkipLevelOfDetail||m.contentType===iC.GEOMETRY||m.contentType===iC.VECTOR;let C=o._tileset,E=o._innerContentResources[f],x=o._tile,y,I=yre[m.contentType];O(m.binaryPayload)?y=await Promise.resolve(I(C,x,E,m.binaryPayload.buffer,0)):y=await Promise.resolve(I(C,x,E,m.jsonPayload));let v=o._innerContentHeaders[f];if(x.hasImplicitContentMetadata){let Q=x.implicitSubtree,T=x.implicitCoordinates;y.metadata=Q.getContentMetadataView(T,f)}else x.hasImplicitContent||(y.metadata=Ire(C,v));let B=_re(C,v);return O(B)&&(y.group=new Nie({metadata:B})),y}catch(m){Yqe(o,f,m)}}function Yqe(o,A,f){let m=o._tileset,C=o._innerContentResources[A].url,E=O(f.message)?f.message:f.toString();m.tileFailed.numberOfListeners>0?m.tileFailed.raiseEvent({url:C,message:E}):(console.log(`A content failed to load: ${C}`),console.log(`Error: ${E}`))}bw.prototype.cancelRequests=function(){for(let o=0;oy?w=Be.TWO_PI-I+y:w=y-I;let D=Math.ceil(w/A)+1,R=Math.ceil(S/A)+1,P=w/(D-1),M=S/(R-1),L=gi.northwest(o,E),F=gi.center(o,Vti);(f!==0||m!==0)&&(F.longitude=0;S--)Xp.computePosition(A,f,!1,w,S,D),Q[T++]=D.x,Q[T++]=D.y,Q[T++]=D.z;for(S=0,w=m-2;w>0;w--)Xp.computePosition(A,f,!1,w,S,D),Q[T++]=D.x,Q[T++]=D.y,Q[T++]=D.z;let R=Q.length/3*2,P=Bn.createTypedArray(Q.length/3,R),M=0;for(let F=0;F0){m_.longitude=(A.west+A.east)*.5,m_.latitude=v;let D=f.cartographicToCartesian(m_,BU.origin);Z.clone(I,BU.direction);let R=ca.fromPointNormal(o.southwestCornerCartesian,o.westNormal,ZOe);Sc.rayPlane(BU,R,o.southwestCornerCartesian),B=f.geodeticSurfaceNormal(D,Wq)}else B=f.geodeticSurfaceNormalCartographic(gi.southeast(A),Wq);let Q=Z.cross(B,y,XOe);Z.normalize(Q,o.southNormal);let T=A.north,w;if(T<0){m_.longitude=(A.west+A.east)*.5,m_.latitude=T;let D=f.cartographicToCartesian(m_,BU.origin);Z.negate(I,BU.direction);let R=ca.fromPointNormal(o.northeastCornerCartesian,o.eastNormal,ZOe);Sc.rayPlane(BU,R,o.northeastCornerCartesian),w=f.geodeticSurfaceNormal(D,Wq)}else w=f.geodeticSurfaceNormalCartographic(gi.northwest(A),Wq);let S=Z.cross(y,w,XOe);Z.normalize(S,o.northNormal)}var tii=new Z,iii=new Z,rii=new Z(0,-1,0),nii=new Z(0,0,-1),$Oe=new Z;function oii(o,A){let f=A.camera,m=f.positionWC,C=f.positionCartographic,E=0;if(!gi.contains(o.rectangle,C)){let v=o.southwestCornerCartesian,B=o.northeastCornerCartesian,Q=o.westNormal,T=o.southNormal,w=o.eastNormal,S=o.northNormal;A.mode!==ni.SCENE3D&&(v=A.mapProjection.project(gi.southwest(o.rectangle),tii),v.z=v.y,v.y=v.x,v.x=0,B=A.mapProjection.project(gi.northeast(o.rectangle),iii),B.z=B.y,B.y=B.x,B.x=0,Q=rii,w=Z.UNIT_Y,T=nii,S=Z.UNIT_Z);let D=Z.subtract(m,v,$Oe),R=Z.dot(D,Q),P=Z.dot(D,T),M=Z.subtract(m,B,$Oe),L=Z.dot(M,w),F=Z.dot(M,S);R>0?E+=R*R:L>0&&(E+=L*L),P>0?E+=P*P:F>0&&(E+=F*F)}let x,y,I;if(A.mode===ni.SCENE3D?(x=C.height,y=o.minimumHeight,I=o.maximumHeight):(x=m.x,y=0,I=0),x>I){let v=x-I;E+=v*v}else if(x0?(f.push(0),m.push(this._planeVertices[0]),C=this._edgeNormals[0]):ca.getPointDistance(this._boundingPlanes[1],A)>0&&(f.push(1),m.push(this._planeVertices[1]),C=this._edgeNormals[1]);let E,x;for(E=0;E<4;E++)x=2+E,ca.getPointDistance(this._boundingPlanes[x],A)>0&&(f.push(x),m.push(this._planeVertices[x]),C=this._edgeNormals[x]);if(f.length===0)return 0;let y,I;if(f.length===1)return I=this._boundingPlanes[f[0]],y=lhe(ca.projectPointOntoPlane(I,A,she),m[0],I,C),Z.distance(y,A);if(f.length===2){if(f[0]===0){let T=[this._vertices[4*f[0]+(f[1]-2)],this._vertices[4*f[0]+(f[1]-2+1)%4]];return y=eXe(A,T[0],T[1]),Z.distance(y,A)}let B=Number.MAX_VALUE,Q;for(E=0;E<2;E++)I=this._boundingPlanes[f[E]],y=lhe(ca.projectPointOntoPlane(I,A,she),m[E],I,this._edgeNormals[f[E]]),Q=Z.distanceSquared(y,A),Q3)return y=lhe(ca.projectPointOntoPlane(this._boundingPlanes[1],A,she),this._planeVertices[1],this._boundingPlanes[1],this._edgeNormals[1]),Z.distance(y,A);let v=f[1]===2&&f[2]===5?0:1;return f[0]===0?Z.distance(A,this._vertices[(f[1]-2+v)%4]):Z.distance(A,this._vertices[4+(f[1]-2+v)%4])};var Iii=new Z,_ii=new Z;function eXe(o,A,f){let m=Z.subtract(f,A,Iii),C=Z.subtract(o,A,_ii),E=Z.dot(m,C);if(E<=0)return A;let x=Z.dot(m,m);return E>=x?f:(E=E/x,new Z((1-E)*A.x+E*f.x,(1-E)*A.y+E*f.y,(1-E)*A.z+E*f.z))}var vii=new ca(Z.UNIT_X,0);function lhe(o,A,f,m){let C=Number.MAX_VALUE,E,x,y;for(let I=0;I1||rc(f,"3DTILES_multiple_contents"),x=C&&!E?f.contents[0]:f.content;this._contentHeader=x,this.transform=O(f.transform)?Re.unpack(f.transform):Re.clone(Re.IDENTITY);let y=O(m)?m.computedTransform:o.modelMatrix,I=Re.multiply(y,this.transform,new Re),v=O(m)?m._initialTransform:Re.IDENTITY;this._initialTransform=Re.multiply(v,this.transform,new Re),this.computedTransform=I,this._boundingVolume=this.createBoundingVolume(f.boundingVolume,I),this._boundingVolume2D=void 0;let B;this._contentBoundingVolume=B,this._contentBoundingVolume2D=void 0;let Q;O(f.viewerRequestVolume)&&(Q=this.createBoundingVolume(f.viewerRequestVolume,I)),this._viewerRequestVolume=Q,this.geometricError=f.geometricError,this._geometricError=f.geometricError,O(this._geometricError)||(this._geometricError=O(m)?m._geometricError:o._geometricError,Ih._deprecationWarning("geometricErrorUndefined","Required property geometricError is undefined for this tile. Using parent's geometric error instead.")),this.updateGeometricErrorScale();let T;O(f.refine)?((f.refine==="replace"||f.refine==="add")&&Ih._deprecationWarning("lowercase-refine",`This tile uses a lowercase refine "${f.refine}". Instead use "${f.refine.toUpperCase()}".`),T=f.refine.toUpperCase()==="REPLACE"?c0.REPLACE:c0.ADD):O(m)?T=m.refine:T=c0.REPLACE,this.refine=T,this.children=[],this.parent=m;let w,S=!1,D,R,P;if(A=Cr.createIfNeeded(A),E)D=bc.UNLOADED,R=A.clone();else if(O(x)){let k=x.uri;O(x.url)&&(Ih._deprecationWarning("contentUrl",'This tileset JSON uses the "content.url" property which has been deprecated. Use "content.uri" instead.'),k=x.url),k===""?(Ih._deprecationWarning("contentUriEmpty","content.uri property is an empty string, which creates a circular dependency, making this tileset invalid. Omit the content property instead"),w=new V9(o,this),S=!0,D=bc.READY):(D=bc.UNLOADED,R=A.getDerivedResource({url:k}),P=W_.getServerKey(R.getUrlComponent()))}else w=new V9(o,this),S=!0,D=bc.READY;this._content=w,this._contentResource=R,this._contentState=D,this._expiredContent=void 0,this._serverKey=P,this.hasEmptyContent=S,this.hasTilesetContent=!1,this.hasImplicitContent=!1,this.hasImplicitContentMetadata=!1,this.hasMultipleContents=E,this.metadata=ove(o,f),this.cacheNode=void 0;let M=f.expire,L,F;O(M)&&(L=M.duration,O(M.date)&&(F=Zt.fromIso8601(M.date))),this.expireDuration=L,this.expireDate=F,this.lastStyleTime=0,this._optimChildrenWithinParent=Y2.NOT_COMPUTED,this.clippingPlanesDirty=!1,this.priorityDeferred=!1,this.implicitTileset=void 0,this.implicitCoordinates=void 0,this.implicitSubtree=void 0,this._distanceToCamera=0,this._centerZDepth=0,this._screenSpaceError=0,this._screenSpaceErrorProgressiveResolution=0,this._visibilityPlaneMask=0,this._visible=!1,this._inRequestVolume=!1,this._finalResolution=!0,this._depth=0,this._stackLength=0,this._selectionDepth=0,this._updatedVisibilityFrame=0,this._touchedFrame=0,this._visitedFrame=0,this._selectedFrame=0,this._requestedFrame=0,this._ancestorWithContent=void 0,this._ancestorWithContentAvailable=void 0,this._refines=!1,this._shouldSelect=!1,this._isClipped=!0,this._clippingPlanesState=0,this._debugBoundingVolume=void 0,this._debugContentBoundingVolume=void 0,this._debugViewerRequestVolume=void 0,this._debugColor=Ve.fromRandom({alpha:1}),this._debugColorizeTiles=!1,this._priority=0,this._priorityHolder=this,this._priorityProgressiveResolution=!1,this._priorityProgressiveResolutionScreenSpaceErrorLeaf=!1,this._priorityReverseScreenSpaceError=0,this._foveatedFactor=0,this._wasMinPriorityChild=!1,this._loadTimestamp=new Zt,this._commandsLength=0,this._color=void 0,this._colorDirty=!1,this._request=void 0}Ih._deprecationWarning=ii;Object.defineProperties(Ih.prototype,{tileset:{get:function(){return this._tileset}},content:{get:function(){return this._content}},boundingVolume:{get:function(){return this._boundingVolume}},contentBoundingVolume:{get:function(){return oe(this._contentBoundingVolume,this._boundingVolume)}},boundingSphere:{get:function(){return this._boundingVolume.boundingSphere}},isVisible:{get:function(){return this._visible&&this._inRequestVolume}},extras:{get:function(){return this._header.extras}},color:{get:function(){return O(this._color)||(this._color=new Ve),Ve.clone(this._color)},set:function(o){this._color=Ve.clone(o,this._color),this._colorDirty=!0}},hasRenderableContent:{get:function(){return!this.hasEmptyContent&&!this.hasTilesetContent&&!this.hasImplicitContent}},contentAvailable:{get:function(){return this.contentReady&&this.hasRenderableContent||O(this._expiredContent)&&!this.contentFailed}},contentReady:{get:function(){return this._contentState===bc.READY}},contentUnloaded:{get:function(){return this._contentState===bc.UNLOADED}},hasUnloadedRenderableContent:{get:function(){return this.hasRenderableContent&&this.contentUnloaded}},contentExpired:{get:function(){return this._contentState===bc.EXPIRED}},contentFailed:{get:function(){return this._contentState===bc.FAILED}},commandsLength:{get:function(){return this._commandsLength}}});var l2=new Z;function Sii(o,A){let{tileset:f,boundingSphere:m}=o,{radius:C,center:E}=m,{camera:x}=A,y=Z.multiplyByScalar(x.directionWC,o._centerZDepth,l2),I=Z.add(x.positionWC,y,l2),v=Z.subtract(I,E,l2);if(Z.magnitude(v)>C){let M=Z.normalize(v,l2),L=Z.multiplyByScalar(M,C,l2),F=Z.add(E,L,l2),k=Z.subtract(F,x.positionWC,l2),N=Z.normalize(k,l2);o._foveatedFactor=1-Math.abs(Z.dot(x.directionWC,N))}else o._foveatedFactor=0;let B=o.refine===c0.REPLACE,Q=f.isSkippingLevelOfDetail;if(B&&!Q||!f.foveatedScreenSpaceError||f.foveatedConeSize===1||o._priorityProgressiveResolution&&B&&Q||f._pass===Ad.PRELOAD_FLIGHT||f._pass===Ad.PRELOAD)return!1;let T=1-Math.cos(x.frustum.fov*.5),w=f.foveatedConeSize*T;if(o._foveatedFactor<=w)return!1;let S=T-w,D=Be.clamp((o._foveatedFactor-w)/S,0,1),R=f.foveatedInterpolationCallback(f.foveatedMinimumScreenSpaceErrorRelaxation,f.maximumScreenSpaceError,D),P=o._screenSpaceError===0&&O(o.parent)?o.parent._screenSpaceError*.5:o._screenSpaceError;return f.maximumScreenSpaceError-R<=P}var iXe=new Zt;Ih.prototype.getScreenSpaceError=function(o,A,f){let m=this._tileset,C=oe(f,1),E=O(this.parent)?this.parent.geometricError:m._scaledGeometricError,x=A?E:this.geometricError;if(x===0)return 0;let{camera:y,context:I}=o,v=y.frustum,B=I.drawingBufferWidth,Q=I.drawingBufferHeight*C,T;if(o.mode===ni.SCENE2D||v instanceof us){let w=v.offCenterFrustum;O(w)&&(v=w);let S=Math.max(v.top-v.bottom,v.right-v.left)/Math.max(B,Q);T=x/S}else{let w=Math.max(this._distanceToCamera,Be.EPSILON7),S=v.sseDenominator;if(T=x*Q/(w*S),m.dynamicScreenSpaceError){let D=m._dynamicScreenSpaceErrorComputedDensity,R=m.dynamicScreenSpaceErrorFactor,P=Be.fog(w,D)*R;T-=P}}return T/=o.pixelRatio,T};function Dii(o,A){if(o.progressiveResolutionHeightFraction<=0||o.progressiveResolutionHeightFraction>.5)return!1;let f=A._screenSpaceErrorProgressiveResolution>o._maximumScreenSpaceError;A._priorityProgressiveResolutionScreenSpaceErrorLeaf=!1;let m=A.parent,C=o._maximumScreenSpaceError,E=A._screenSpaceErrorProgressiveResolution<=C,x=O(m)&&m._screenSpaceErrorProgressiveResolution>C;return E&&x&&(A._priorityProgressiveResolutionScreenSpaceErrorLeaf=!0,f=!0),f}function Tii(o,A){let f=A.parent,m=O(f)&&(!o.isSkippingLevelOfDetail||A._screenSpaceError===0||f.hasTilesetContent||f.hasImplicitContent)?f._screenSpaceError:A._screenSpaceError;return o.root._screenSpaceError-m}Ih.prototype.updateVisibility=function(o){let{parent:A,tileset:f}=this;if(this._updatedVisibilityFrame===f._updatedVisibilityFrame)return;let m=O(A)?A.computedTransform:f.modelMatrix,C=O(A)?A._visibilityPlaneMask:Mg.MASK_INDETERMINATE;this.updateTransform(m),this._distanceToCamera=this.distanceToTile(o),this._centerZDepth=this.distanceToTileCenter(o),this._screenSpaceError=this.getScreenSpaceError(o,!1),this._screenSpaceErrorProgressiveResolution=this.getScreenSpaceError(o,!1,f.progressiveResolutionHeightFraction),this._visibilityPlaneMask=this.visibility(o,C),this._visible=this._visibilityPlaneMask!==Mg.MASK_OUTSIDE,this._inRequestVolume=this.insideViewerRequestVolume(o),this._priorityReverseScreenSpaceError=Tii(f,this),this._priorityProgressiveResolution=Dii(f,this),this.priorityDeferred=Sii(this,o),this._updatedVisibilityFrame=f._updatedVisibilityFrame};Ih.prototype.updateExpiration=function(){if(O(this.expireDate)&&this.contentReady&&!this.hasEmptyContent&&!this.hasMultipleContents){let o=Zt.now(iXe);Zt.lessThan(this.expireDate,o)&&(this._contentState=bc.EXPIRED,this._expiredContent=this._content)}};function Mii(o){if(!O(o.expireDuration))return;let A=Zt.now(iXe);Zt.addSeconds(A,o.expireDuration,A),O(o.expireDate)?Zt.lessThan(o.expireDate,A)&&Zt.clone(A,o.expireDate):o.expireDate=Zt.clone(A)}function Pii(o){return function(){return o._priority}}Ih.prototype.requestContent=function(){if(!this.hasEmptyContent)return this.hasMultipleContents?Rii(this):Fii(this)};function Rii(o){let A=o._content,f=o._tileset;if(!O(A)){let C=rc(o._header,"3DTILES_multiple_contents")?o._header.extensions["3DTILES_multiple_contents"]:o._header;A=new ave(f,o,o._contentResource.clone(),C),o._content=A}let m=A.requestInnerContents();if(O(m))return o._contentState=bc.LOADING,m.then(C=>{if(!o.isDestroyed()&&O(C))return o._contentState=bc.PROCESSING,A}).catch(C=>{if(!o.isDestroyed())throw o._contentState=bc.FAILED,C})}async function Lii(o,A,f,m,C){let E=o._contentState;o._contentState=bc.LOADING,++A.statistics.numberOfPendingRequests;let x;try{x=await C}catch(y){if(--A.statistics.numberOfPendingRequests,o.isDestroyed())return;if(f.cancelled||f.state===Ju.CANCELLED){o._contentState=E,++A.statistics.numberOfAttemptedRequests;return}throw o._contentState=bc.FAILED,y}if(o.isDestroyed()){--A.statistics.numberOfPendingRequests;return}if(f.cancelled||f.state===Ju.CANCELLED){o._contentState=E,--A.statistics.numberOfPendingRequests,++A.statistics.numberOfAttemptedRequests;return}try{let y=await Nii(o,x);return--A.statistics.numberOfPendingRequests,o.isDestroyed()?void 0:(m&&(o.expireDate=void 0),o._content=y,o._contentState=bc.PROCESSING,y)}catch(y){if(--A.statistics.numberOfPendingRequests,o.isDestroyed())return;throw o._contentState=bc.FAILED,y}}function Fii(o){let A=o._contentResource.clone(),f=o.contentExpired;f&&A.setQueryParameters({expired:o.expireDate.toString()});let m=new lp({throttle:!0,throttleByServer:!0,type:II.TILES3D,priorityFunction:Pii(o),serverKey:o._serverKey});o._request=m,A.request=m;let C=o._tileset,E=A.fetchArrayBuffer();if(!O(E)){++C.statistics.numberOfAttemptedRequests;return}return Lii(o,C,m,f,E)}async function Nii(o,A){let f=UG(A),m=o._tileset;m._disableSkipLevelOfDetail=m._disableSkipLevelOfDetail||f.contentType===iC.GEOMETRY||f.contentType===iC.VECTOR,(f.contentType===iC.IMPLICIT_SUBTREE||f.contentType===iC.IMPLICIT_SUBTREE_JSON)&&(o.hasImplicitContent=!0),f.contentType===iC.EXTERNAL_TILESET&&(o.hasTilesetContent=!0);let C,E=yre[f.contentType];if(o.isDestroyed())return;O(f.binaryPayload)?C=await Promise.resolve(E(m,o,o._contentResource,f.binaryPayload.buffer,0)):C=await Promise.resolve(E(m,o,o._contentResource,f.jsonPayload));let x=o._contentHeader;if(o.hasImplicitContentMetadata){let I=o.implicitSubtree,v=o.implicitCoordinates;C.metadata=I.getContentMetadataView(v,0)}else o.hasImplicitContent||(C.metadata=Ire(m,x));let y=_re(m,x);return O(y)&&(C.group=new Nie({metadata:y})),C}Ih.prototype.cancelRequests=function(){this.hasMultipleContents?this._content.cancelRequests():this._request.cancel()};Ih.prototype.unloadContent=function(){this.hasRenderableContent&&(this._content=this._content&&this._content.destroy(),this._contentState=bc.UNLOADED,this.lastStyleTime=0,this.clippingPlanesDirty=this._clippingPlanesState===0,this._clippingPlanesState=0,this._debugColorizeTiles=!1,this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy())};var rXe=new hi;function uve(o,A){if(A.mode!==ni.SCENE3D&&!O(o._boundingVolume2D)){let f=o._boundingVolume.boundingSphere,m=hi.projectTo2D(f,A.mapProjection,rXe);o._boundingVolume2D=new pT(m.center,m.radius)}return A.mode!==ni.SCENE3D?o._boundingVolume2D:o._boundingVolume}function kii(o,A){if(A.mode!==ni.SCENE3D&&!O(o._contentBoundingVolume2D)){let f=o._contentBoundingVolume.boundingSphere,m=hi.projectTo2D(f,A.mapProjection,rXe);o._contentBoundingVolume2D=new pT(m.center,m.radius)}return A.mode!==ni.SCENE3D?o._contentBoundingVolume2D:o._contentBoundingVolume}Ih.prototype.visibility=function(o,A){let f=o.cullingVolume,m=uve(this,o),C=this._tileset,E=C.clippingPlanes;if(O(E)&&E.enabled){let x=E.computeIntersectionWithBoundingVolume(m,C.clippingPlanesOriginMatrix);if(this._isClipped=x!==sa.INSIDE,x===sa.OUTSIDE)return Mg.MASK_OUTSIDE}return f.computeVisibilityWithPlaneMask(m,A)};Ih.prototype.contentVisibility=function(o){if(!O(this._contentBoundingVolume)||this._visibilityPlaneMask===Mg.MASK_INSIDE)return sa.INSIDE;let A=o.cullingVolume,f=kii(this,o),m=this._tileset,C=m.clippingPlanes;if(O(C)&&C.enabled){let E=C.computeIntersectionWithBoundingVolume(f,m.clippingPlanesOriginMatrix);if(this._isClipped=E!==sa.INSIDE,E===sa.OUTSIDE)return sa.OUTSIDE}return A.computeVisibility(f)};Ih.prototype.distanceToTile=function(o){return uve(this,o).distanceToCamera(o)};var Oii=new Z;Ih.prototype.distanceToTileCenter=function(o){let A=uve(this,o).boundingVolume,f=Z.subtract(A.center,o.camera.positionWC,Oii);return Z.dot(o.camera.directionWC,f)};Ih.prototype.insideViewerRequestVolume=function(o){let A=this._viewerRequestVolume;return!O(A)||A.distanceToCamera(o)===0};var nXe=new Gt,oXe=new Z,Uii=new Gt,aXe=new Z,sXe=new gi,Gii=new Lu,age=new Re;function Hii(o,A,f){let m=Z.fromElements(o[0],o[1],o[2],aXe),C=Gt.fromArray(o,3,Uii);m=Re.multiplyByPoint(A,m,m);let E=Re.getMatrix3(A,nXe);return C=Gt.multiply(E,C,C),O(f)?(f.update(m,C),f):new DP(m,C)}function Vii(o,A,f,m){let C=gi.unpack(o,0,sXe),E=o[4],x=o[5],y=Lu.fromRectangle(C,E,x,Ci.WGS84,Gii),I=y.center,v=y.halfAxes;A=Re.multiplyTransformation(A,Re.inverseTransformation(f,age),age),I=Re.multiplyByPoint(A,I,I);let B=Re.getMatrix3(A,nXe);return v=Gt.multiply(B,v,v),O(m)&&m instanceof DP?(m.update(I,v),m):new DP(I,v)}function zii(o,A,f,m){if(!Re.equalsEpsilon(A,f,Be.EPSILON8))return Vii(o,A,f,m);if(O(m))return m;let C=gi.unpack(o,0,sXe);return new LD({rectangle:C,minimumHeight:o[4],maximumHeight:o[5]})}function Yii(o,A,f){let m=Z.fromElements(o[0],o[1],o[2],aXe),C=o[3];m=Re.multiplyByPoint(A,m,m);let E=Re.getScale(A,oXe),x=Z.maximumComponent(E);return C*=x,O(f)?(f.update(m,C),f):new pT(m,C)}Ih.prototype.createBoundingVolume=function(o,A,f){if(!O(o))throw new ki("boundingVolume must be defined");if(rc(o,"3DTILES_bounding_volume_S2"))return new lve(o.extensions["3DTILES_bounding_volume_S2"]);let{box:m,region:C,sphere:E}=o;if(O(m))return Hii(m,A,f);if(O(C))return zii(o.region,A,this._initialTransform,f);if(O(E))return Yii(E,A,f);throw new ki("boundingVolume must contain a sphere, region, or box")};Ih.prototype.updateTransform=function(o){o=oe(o,Re.IDENTITY);let A=Re.multiplyTransformation(o,this.transform,age);if(Re.equals(A,this.computedTransform))return;Re.clone(A,this.computedTransform);let f=this._header,m=this._contentHeader;this._boundingVolume=this.createBoundingVolume(f.boundingVolume,this.computedTransform,this._boundingVolume),O(this._contentBoundingVolume)&&(this._contentBoundingVolume=this.createBoundingVolume(m.boundingVolume,this.computedTransform,this._contentBoundingVolume)),O(this._viewerRequestVolume)&&(this._viewerRequestVolume=this.createBoundingVolume(f.viewerRequestVolume,this.computedTransform,this._viewerRequestVolume)),this.updateGeometricErrorScale(),this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy()};Ih.prototype.updateGeometricErrorScale=function(){let o=Re.getScale(this.computedTransform,oXe),A=Z.maximumComponent(o);if(this.geometricError=this._geometricError*A,!O(this.parent)){let f=this._tileset;f._scaledGeometricError=f._geometricError*A}};function Jii(o,A,f,m){if(!m.isRender)return;let C=O(o._contentHeader)&&O(o._contentHeader.boundingVolume),E=A.debugShowBoundingVolume||A.debugShowContentBoundingVolume&&!C;if(E){let I;o._finalResolution?o.hasRenderableContent?I=Ve.WHITE:I=Ve.DARKGRAY:I=Ve.YELLOW,O(o._debugBoundingVolume)||(o._debugBoundingVolume=o._boundingVolume.createDebugVolume(I)),o._debugBoundingVolume.update(f);let v=o._debugBoundingVolume.getGeometryInstanceAttributes("outline");v.color=_o.toValue(I,v.color)}else!E&&O(o._debugBoundingVolume)&&(o._debugBoundingVolume=o._debugBoundingVolume.destroy());A.debugShowContentBoundingVolume&&C?(O(o._debugContentBoundingVolume)||(o._debugContentBoundingVolume=o._contentBoundingVolume.createDebugVolume(Ve.BLUE)),o._debugContentBoundingVolume.update(f)):!A.debugShowContentBoundingVolume&&O(o._debugContentBoundingVolume)&&(o._debugContentBoundingVolume=o._debugContentBoundingVolume.destroy()),A.debugShowViewerRequestVolume&&O(o._viewerRequestVolume)?(O(o._debugViewerRequestVolume)||(o._debugViewerRequestVolume=o._viewerRequestVolume.createDebugVolume(Ve.YELLOW)),o._debugViewerRequestVolume.update(f)):!A.debugShowViewerRequestVolume&&O(o._debugViewerRequestVolume)&&(o._debugViewerRequestVolume=o._debugViewerRequestVolume.destroy());let x=A.debugColorizeTiles&&!o._debugColorizeTiles||O(A._heatmap.tilePropertyName),y=!A.debugColorizeTiles&&o._debugColorizeTiles;x?(A._heatmap.colorize(o,f),o._debugColorizeTiles=!0,o.color=o._debugColor):y&&(o._debugColorizeTiles=!1,o.color=Ve.WHITE),o._colorDirty&&(o._colorDirty=!1,o._content.applyDebugSettings(!0,o._color)),y&&A.makeStyleDirty()}function Kii(o,A,f){let m=o._expiredContent;if(!o.hasMultipleContents&&O(m)){if(!o.contentReady){try{m.update(A,f)}catch{}return}o._expiredContent.destroy(),o._expiredContent=void 0}if(O(o.content))try{o.content.update(A,f)}catch(C){throw o._contentState=bc.FAILED,C}}function Wii(o,A){let f=A.clippingPlanes,m=0;O(f)&&o._isClipped&&f.enabled&&(m=f.clippingPlanesState),m!==o._clippingPlanesState&&(o._clippingPlanesState=m,o.clippingPlanesDirty=!0)}Ih.prototype.update=function(o,A,f){let{commandList:m}=A,C=m.length;Wii(this,o),Jii(this,o,A,f),Kii(this,o,A);let E=m.length;this._commandsLength=E-C;for(let x=C;xC||f);){let y=x.item;x=x.next,this.unloadTile(o,y,A)}};b3.prototype.trim=function(){this._trimTiles=!0};var hve=b3;function wre(o){this.tilePropertyName=o,this._minimum=Number.MAX_VALUE,this._maximum=-Number.MAX_VALUE,this._previousMinimum=Number.MAX_VALUE,this._previousMaximum=-Number.MAX_VALUE,this._referenceMinimum={},this._referenceMaximum={}}function sge(o,A){let f;return A==="_loadTimestamp"?f=Zt.toDate(o).getTime():f=o,f}wre.prototype.setReferenceMinimumMaximum=function(o,A,f){this._referenceMinimum[f]=sge(o,f),this._referenceMaximum[f]=sge(A,f)};function Xii(o,A){let f=o.tilePropertyName;if(O(f)){let m=sge(A[f],f);return O(m)?(o._maximum=Math.max(m,o._maximum),o._minimum=Math.min(m,o._minimum),m):(o.tilePropertyName=void 0,m)}}var Ahe=[new Ve(.1,.1,.1,1),new Ve(.153,.278,.878,1),new Ve(.827,.231,.49,1),new Ve(.827,.188,.22,1),new Ve(1,.592,.259,1),new Ve(1,.843,0,1)];wre.prototype.colorize=function(o,A){let f=this.tilePropertyName;if(!O(f)||!o.contentAvailable||o._selectedFrame!==A.frameNumber)return;let m=Xii(this,o),C=this._previousMinimum,E=this._previousMaximum;if(C===Number.MAX_VALUE||E===-Number.MAX_VALUE)return;let x=E-C+Be.EPSILON7,y=Be.clamp(m-C,0,x)/x,I=Ahe.length-1,v=y*I,B=Math.floor(v),Q=Math.ceil(v),T=v-B,w=Ahe[B],S=Ahe[Q],D=Ve.clone(Ve.WHITE);D.red=Be.lerp(w.red,S.red,T),D.green=Be.lerp(w.green,S.green,T),D.blue=Be.lerp(w.blue,S.blue,T),o._debugColor=D};wre.prototype.resetMinimumMaximum=function(){let o=this.tilePropertyName;if(O(o)){let A=this._referenceMinimum[o],f=this._referenceMaximum[o],m=O(A)&&O(f);this._previousMinimum=m?A:this._minimum,this._previousMaximum=m?f:this._maximum,this._minimum=Number.MAX_VALUE,this._maximum=-Number.MAX_VALUE}};var dve=wre;function zG(){this.selected=0,this.visited=0,this.numberOfCommands=0,this.numberOfAttemptedRequests=0,this.numberOfPendingRequests=0,this.numberOfTilesProcessing=0,this.numberOfTilesWithContentReady=0,this.numberOfTilesTotal=0,this.numberOfLoadedTilesTotal=0,this.numberOfFeaturesSelected=0,this.numberOfFeaturesLoaded=0,this.numberOfPointsSelected=0,this.numberOfPointsLoaded=0,this.numberOfTrianglesSelected=0,this.numberOfTilesStyled=0,this.numberOfFeaturesStyled=0,this.numberOfTilesCulledWithChildrenUnion=0,this.geometryByteLength=0,this.texturesByteLength=0,this.batchTableByteLength=0}zG.prototype.clear=function(){this.selected=0,this.visited=0,this.numberOfCommands=0,this.numberOfAttemptedRequests=0,this.numberOfFeaturesSelected=0,this.numberOfPointsSelected=0,this.numberOfTrianglesSelected=0,this.numberOfTilesStyled=0,this.numberOfFeaturesStyled=0,this.numberOfTilesCulledWithChildrenUnion=0};function bre(o,A,f,m){let C=A.innerContents,E=A.pointsLength,x=A.trianglesLength,y=A.featuresLength,I=A.geometryByteLength,v=A.texturesByteLength,B=A.batchTableByteLength;if(m?(o.numberOfFeaturesLoaded+=f?-y:y,o.numberOfPointsLoaded+=f?-E:E,o.geometryByteLength+=f?-I:I,o.texturesByteLength+=f?-v:v,o.batchTableByteLength+=f?-B:B):(o.numberOfFeaturesSelected+=f?-y:y,o.numberOfPointsSelected+=f?-E:E,o.numberOfTrianglesSelected+=f?-x:x),O(C)){let Q=C.length;for(let T=0;T>1)&858993459,o=(o^o>>2)&252645135,o=(o^o>>4)&16711935,o=(o^o>>8)&65535,o}function hhe(o){return o&=153391689,o=(o^o>>2)&51130563,o=(o^o>>4)&50393103,o=(o^o>>8)&4278190335,o=(o^o>>16)&1023,o}ZY.encode2D=function(o,A){return(rUe(o)|rUe(A)<<1)>>>0};ZY.decode2D=function(o,A){return O(A)||(A=new Array(2)),A[0]=nUe(o),A[1]=nUe(o>>1),A};ZY.encode3D=function(o,A,f){return che(o)|che(A)<<1|che(f)<<2};ZY.decode3D=function(o,A){return O(A)||(A=new Array(3)),A[0]=hhe(o),A[1]=hhe(o>>1),A[2]=hhe(o>>2),A};var E4=ZY;function eh(o){this.subdivisionScheme=o.subdivisionScheme,this.subtreeLevels=o.subtreeLevels,this.level=o.level,this.x=o.x,this.y=o.y,this.z=void 0,o.subdivisionScheme===sp.OCTREE&&(this.z=o.z)}Object.defineProperties(eh.prototype,{childIndex:{get:function(){let o=0;return o|=this.x&1,o|=(this.y&1)<<1,this.subdivisionScheme===sp.OCTREE&&(o|=(this.z&1)<<2),o}},mortonIndex:{get:function(){return this.subdivisionScheme===sp.OCTREE?E4.encode3D(this.x,this.y,this.z):E4.encode2D(this.x,this.y)}},tileIndex:{get:function(){let o=this.subdivisionScheme===sp.OCTREE?((1<<3*this.level)-1)/7:((1<<2*this.level)-1)/3,A=this.mortonIndex;return o+A}}});eh.prototype.getDescendantCoordinates=function(o){let A=this.level+o.level,f=(this.x<>A,m=o.y>>A,C=this.x===f,E=this.y===m;if(this.subdivisionScheme===sp.OCTREE){let x=o.z>>A,y=this.z===x;return C&&E&&y}return C&&E};eh.prototype.isEqual=function(o){return this.subdivisionScheme===o.subdivisionScheme&&this.subtreeLevels===o.subtreeLevels&&this.level===o.level&&this.x===o.x&&this.y===o.y&&(this.subdivisionScheme===sp.OCTREE?this.z===o.z:!0)};eh.prototype.isImplicitTilesetRoot=function(){return this.level===0};eh.prototype.isSubtreeRoot=function(){return this.level%this.subtreeLevels===0};eh.prototype.isBottomOfSubtree=function(){return this.level%this.subtreeLevels===this.subtreeLevels-1};eh.prototype.getTemplateValues=function(){let o={level:this.level,x:this.x,y:this.y};return this.subdivisionScheme===sp.OCTREE&&(o.z=this.z),o};var oUe=[0,0,0];eh.fromMortonIndex=function(o,A,f,m){let C;return o===sp.OCTREE?(C=E4.decode3D(m,oUe),new eh({subdivisionScheme:o,subtreeLevels:A,level:f,x:C[0],y:C[1],z:C[2]})):(C=E4.decode2D(m,oUe),new eh({subdivisionScheme:o,subtreeLevels:A,level:f,x:C[0],y:C[1]}))};eh.fromTileIndex=function(o,A,f){let m,C,E;return o===sp.OCTREE?(m=Math.floor(Be.log2(7*f+1)/3),C=((1<<3*m)-1)/7,E=f-C):(m=Math.floor(Be.log2(3*f+1)/2),C=((1<<2*m)-1)/3,E=f-C),eh.fromMortonIndex(o,A,m,E)};var Qre=eh;function ET(){}ET.selectTiles=function(o,A){Ai.throwInstantiationError()};ET.sortChildrenByDistanceToCamera=function(o,A){return A._distanceToCamera===0&&o._distanceToCamera===0?A._centerZDepth-o._centerZDepth:A._distanceToCamera-o._distanceToCamera};ET.canTraverse=function(o){return o.children.length===0?!1:o.hasTilesetContent||o.hasImplicitContent?!o.contentExpired:o._screenSpaceError>o.tileset._maximumScreenSpaceError};ET.selectTile=function(o,A){if(o.contentVisibility(A)===sa.OUTSIDE)return;let{content:f,tileset:m}=o;f.featurePropertiesDirty?(f.featurePropertiesDirty=!1,o.lastStyleTime=0,m._selectedTilesToStyle.push(o)):o._selectedFrame0;if((o.hasTilesetContent||o.hasImplicitContent)&&f){let E=o.children[0];cXe(E,A),o._visible=E._visible;return}if(iri(o,A)){o._visible=!1;return}let m=o.refine===c0.REPLACE,C=o._optimChildrenWithinParent===Y2.USE_OPTIMIZATION;if(m&&C&&f&&!rri(o,A)){++o.tileset._statistics.numberOfTilesCulledWithChildrenUnion,o._visible=!1;return}}function iri(o,A){let{parent:f,tileset:m}=o;return!O(f)||f.hasTilesetContent||f.hasImplicitContent||f.refine!==c0.ADD?!1:o.getScreenSpaceError(A,!0)<=m._maximumScreenSpaceError}function rri(o,A){let f=!1,m=o.children;for(let C=0;C0;){yV.stackMaximumLength=Math.max(yV.stackMaximumLength,x.length);let y=x.pop(),I=y.refine===c0.ADD,v=y.refine===c0.REPLACE,B=ori(y);B&&ari(y,x,A),(I||v&&!B)&&(sri(o,y),C(y,A),lri(y,A),y.hasRenderableContent&&!y.contentAvailable&&(f=!1)),E(y,A)}return yV.stack.trim(yV.stackMaximumLength),f};function ori(o){return o.children.length===0?!1:o.hasTilesetContent||o.hasImplicitContent?!o.contentExpired:(o.hasEmptyContent,!0)}function ari(o,A,f){let{children:m}=o;for(let C=0;C0;){N7.stackMaximumLength=Math.max(N7.stackMaximumLength,y.length);let I=y.pop(),v=I.parent,B=!O(v)||v._refines;I._refines=m(I)?uri(I,y,A)&&B:!1;let Q=!I._refines&&B;I.hasRenderableContent?I.refine===c0.ADD?(dhe(I,A),C(I,A)):I.refine===c0.REPLACE&&(C(I,A),Q&&dhe(I,A)):(f._emptyTiles.push(I),C(I,A),Q&&dhe(I,A)),E(I,A),x(I,A)}}function cri(o,A){let{canTraverse:f,updateTile:m,loadTile:C,touchTile:E}=CE,x=!0,y=k7.stack;for(y.push(o);y.length>0;){k7.stackMaximumLength=Math.max(k7.stackMaximumLength,y.length);let I=y.pop(),v=I.children,B=v.length,Q=!I.hasRenderableContent&&f(I),T=!I.hasRenderableContent&&I.children.length===0;if(!Q&&!I.contentAvailable&&!T&&(x=!1),m(I,A),I.isVisible||(C(I,A),E(I,A)),Q)for(let w=0;w0;){U7.stackMaximumLength=Math.max(U7.stackMaximumLength,E.length);let x=E.pop().children;for(let y=0;yf._depth+o.skipLevels)}function pri(o,A,f){let{tileset:m,children:C}=o,{updateTile:E,loadTile:x,touchTile:y}=CE;for(let v=0;vA:o._screenSpaceError>A:!0}function Cri(o,A){let{tileset:f}=o,m=f.immediatelyLoadDesiredLevelOfDetail?Number.MAX_VALUE:Math.max(f.baseScreenSpaceError,f.maximumScreenSpaceError),{canTraverse:C,loadTile:E,visitTile:x,touchTile:y}=CE,I=O7.stack;for(I.push(o);I.length>0;){O7.stackMaximumLength=Math.max(O7.stackMaximumLength,I.length);let v=I.pop();fri(v,A);let B=v.parent,Q=!O(B)||B._refines;v._refines=C(v)?pri(v,I,A)&&Q:!1;let T=!v._refines&&Q;v.hasRenderableContent?v.refine===c0.ADD?(Xq(v,A),E(v,A)):v.refine===c0.REPLACE&&(mri(v,m)?(E(v,A),T&&Xq(v,A)):T?(Xq(v,A),E(v,A)):gri(f,v)&&E(v,A)):(f._emptyTiles.push(v),E(v,A),T&&Xq(v,A)),x(v,A),y(v,A)}}function Eri(o,A){let{selectTile:f,canTraverse:m}=CE,{stack:C,ancestorStack:E}=eD,x;for(C.push(o);C.length>0||E.length>0;){if(eD.stackMaximumLength=Math.max(eD.stackMaximumLength,C.length),eD.ancestorStackMaximumLength=Math.max(eD.ancestorStackMaximumLength,E.length),E.length>0){let v=E.peek();if(v._stackLength===C.length){E.pop(),v!==x&&(v._finalResolution=!1),f(v,A);continue}}let y=C.pop();if(!O(y))continue;let I=m(y);if(y._shouldSelect)if(y.refine===c0.ADD)f(y,A);else{if(y._selectionDepth=E.length,y._selectionDepth>0&&(y.tileset.hasMixedContent=!0),x=y,!I){f(y,A);continue}E.push(y),y._stackLength=C.length}if(I){let v=y.children;for(let B=0;B(m._metadataExtension=x,E))}).then(function(E){if(m.isDestroyed())return;m._geometricError=E.geometricError,m._scaledGeometricError=E.geometricError,m._root=m.loadTileset(C,E);let x=O(E.asset.gltfUpAxis)?Ud.fromName(E.asset.gltfUpAxis):Ud.Y,y=oe(o.modelUpAxis,x),I=oe(o.modelForwardAxis,Ud.X),v=E.asset;m._asset=v,m._properties=E.properties,m._extensionsUsed=E.extensionsUsed,m._extensions=E.extensions,m._modelUpAxis=y,m._modelForwardAxis=I,m._extras=E.extras;let B=v.extras;if(O(B)&&O(B.cesium)&&O(B.cesium.credits)){let D=B.cesium.credits,R=m._credits;O(R)||(R=[],m._credits=R);for(let P=0;P$A._defaultMinTerrainHeight&&(m._initialClippingPlanesOriginMatrix=kr.eastNorthUpToFixedFrame(Q)),m._clippingPlanesOriginMatrix=Re.clone(m._initialClippingPlanesOriginMatrix);let w=Rt.fromCartesian(m.boundingSphere.center),S=Z.fromRadians(w.longitude,w.latitude,0);return m._matMW=kr.eastNorthUpToFixedFrame(S),m._flattenOriginPoint=S,m._ready=!0,m}),VY.FlattenEXInit(this)}}DA.prototype.isAvailable=function(o){let A=this._availability;return!O(A)||A.contains(o)};Object.defineProperties(DA.prototype,{availability:zy("availability"),definitionChanged:{get:function(){return this._definitionChanged}},isCesium3DTileset:{get:function(){return!0}},asset:{get:function(){return this._asset}},extensions:{get:function(){return this._extensions}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(o){Wf.setOwner(o,this,"_clippingPlanes")}},properties:{get:function(){return this._properties}},ready:{get:function(){return ii("Cesium3DTileset.ready","Cesium3DTileset.ready was deprecated in CesiumJS 1.104. It will be removed in 1.107. Use Cesium3DTileset.fromUrl instead."),O(this._root)}},readyPromise:{get:function(){return ii("Cesium3DTileset.readyPromise","Cesium3DTileset.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Use Cesium3DTileset.fromUrl instead."),this._readyPromise}},tilesLoaded:{get:function(){return this._tilesLoaded}},resource:{get:function(){return this._resource}},basePath:{get:function(){return ii("Cesium3DTileset.basePath","Cesium3DTileset.basePath has been deprecated. All tiles are relative to the url of the tileset JSON file that contains them. Use the url property instead."),this._basePath}},style:{get:function(){return this._styleEngine.style},set:function(o){this._styleEngine.style=o}},customShader:{get:function(){return this._customShader},set:function(o){this._customShader=o}},hasMixedContent:{get:function(){return this._hasMixedContent},set:function(o){this._hasMixedContent=o}},isSkippingLevelOfDetail:{get:function(){return this.skipLevelOfDetail&&!O(this._classificationType)&&!this._disableSkipLevelOfDetail&&!this._allTilesAdditive}},metadataExtension:{get:function(){return this._metadataExtension}},metadata:{get:function(){if(O(this._metadataExtension))return this._metadataExtension.tileset}},schema:{get:function(){if(O(this._metadataExtension))return this._metadataExtension.schema}},maximumScreenSpaceError:{get:function(){return this._maximumScreenSpaceError},set:function(o){this._maximumScreenSpaceError=o}},maximumMemoryUsage:{get:function(){return this._maximumMemoryUsage},set:function(o){this._maximumMemoryUsage=o}},pointCloudShading:{get:function(){return this._pointCloudShading},set:function(o){this._pointCloudShading=o}},root:{get:function(){return this._root}},boundingSphere:{get:function(){return this._root.updateTransform(this._modelMatrix),this._root.boundingSphere}},modelMatrix:{get:function(){return this._modelMatrix},set:function(o){this._modelMatrix=Re.clone(o,this._modelMatrix)}},timeSinceLoad:{get:function(){return this._timeSinceLoad}},totalMemoryUsageInBytes:{get:function(){let o=this._statistics;return o.texturesByteLength+o.geometryByteLength+o.batchTableByteLength}},clippingPlanesOriginMatrix:{get:function(){return O(this._clippingPlanesOriginMatrix)?(this._clippingPlanesOriginMatrixDirty&&(Re.multiply(this.root.computedTransform,this._initialClippingPlanesOriginMatrix,this._clippingPlanesOriginMatrix),this._clippingPlanesOriginMatrixDirty=!1),this._clippingPlanesOriginMatrix):Re.IDENTITY}},styleEngine:{get:function(){return this._styleEngine}},statistics:{get:function(){return this._statistics}},classificationType:{get:function(){return this._classificationType}},ellipsoid:{get:function(){return this._ellipsoid}},foveatedConeSize:{get:function(){return this._foveatedConeSize},set:function(o){this._foveatedConeSize=o}},foveatedMinimumScreenSpaceErrorRelaxation:{get:function(){return this._foveatedMinimumScreenSpaceErrorRelaxation},set:function(o){this._foveatedMinimumScreenSpaceErrorRelaxation=o}},extras:{get:function(){return this._extras}},imageBasedLighting:{get:function(){return this._imageBasedLighting},set:function(o){o!==this._imageBasedLighting&&(this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=o,this._shouldDestroyImageBasedLighting=!1)}},vectorClassificationOnly:{get:function(){return this._vectorClassificationOnly}},vectorKeepDecodedPositions:{get:function(){return this._vectorKeepDecodedPositions}},showCreditsOnScreen:{get:function(){return this._showCreditsOnScreen},set:function(o){this._showCreditsOnScreen=o}},featureIdLabel:{get:function(){return this._featureIdLabel},set:function(o){typeof o=="number"&&(o=`featureId_${o}`),this._featureIdLabel=o}},instanceFeatureIdLabel:{get:function(){return this._instanceFeatureIdLabel},set:function(o){typeof o=="number"&&(o=`instanceFeatureId_${o}`),this._instanceFeatureIdLabel=o}},underGroundMode:{get:function(){return this._underGroundMode.enabled},set:function(o){this._underGroundMode.enabled=o,O(this._underGroundCustomShader)||(this._underGroundCustomShader=DA.createUnderGroundCustomShader()),o?(this._otherCustomShader=this.customShader,this.customShader=this._underGroundCustomShader):this.customShader=this._otherCustomShader,this._underGroundCustomShader&&this._underGroundCustomShader.uniforms&&this._underGroundCustomShader.uniforms.u_underGroundModel&&(this._underGroundCustomShader.uniforms.u_underGroundModel.value=o)}},underGroundModeAlpha:{get:function(){O(this._underGroundCustomShader)||(this._underGroundCustomShader=DA.createUnderGroundCustomShader());let o=this._underGroundCustomShader;return o&&o.uniforms&&o.uniforms.u_underGroundModelAlpha?o.uniforms.u_underGroundModelAlpha.value:0},set:function(o){O(this._underGroundCustomShader)||(this._underGroundCustomShader=DA.createUnderGroundCustomShader());let A=this._underGroundCustomShader;A&&A.uniforms&&A.uniforms.u_underGroundModelAlpha&&(A.uniforms.u_underGroundModelAlpha.value=o)}},underGroundModePosition:{get:function(){O(this._underGroundCustomShader)||(this._underGroundCustomShader=DA.createUnderGroundCustomShader());let o=this._underGroundCustomShader;return o&&o.uniforms&&o.uniforms.u_underGroundModelPosition?o.uniforms.u_underGroundModelPosition.value:new Z(0,-0,0)},set:function(o){let A=this._underGroundCustomShader;A&&A.uniforms&&A.uniforms.u_underGroundModelPosition&&(A.uniforms.u_underGroundModelPosition.value=o)}},underGroundModeNormal:{get:function(){O(this._underGroundCustomShader)||(this._underGroundCustomShader=DA.createUnderGroundCustomShader());let o=this._underGroundCustomShader;return o&&o.uniforms&&o.uniforms.u_underGroundModelNormal?o.uniforms.u_underGroundModelNormal.value:new Z(0,-0,0)},set:function(o){let A=this._underGroundCustomShader;A&&A.uniforms&&A.uniforms.u_underGroundModelNormal&&(A.uniforms.u_underGroundModelNormal.value=o)}},useCustomCullingVolume:{get:function(){return this._useCustomCullingVolume},set:function(o){this._useCustomCullingVolume=o}},cullingDistance:{get:function(){return this._cullingDistance},set:function(o){this._cullingDistance=o}},useCameraHeightRangeLimit:{get:function(){return this._useCameraHeightRangeLimit},set:function(o){this._useCameraHeightRangeLimit=o}},cameraHeightRange:{get:function(){return this._cameraHeightRange},set:function(o){this._cameraHeightRange=o}}});DA.createUnderGroundCustomShader=function(){return new cv({uniforms:{u_underGroundModel:{type:Ko.BOOL,value:!0},u_underGroundModelAlpha:{type:Ko.FLOAT,value:.8},u_underGroundModelPosition:{type:Ko.VEC3,value:new Z(0,0,20)},u_underGroundModelNormal:{type:Ko.VEC3,value:new Z(0,0,1)}},fragmentShaderText:` uniform mat4 u_underGroundModeMatrix; void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) { if(!u_underGroundModel) return; vec3 transNor = (u_underGroundModeMatrix * vec4(u_underGroundModelNormal, 0.0)).xyz; vec3 transPos = (u_underGroundModeMatrix * vec4(u_underGroundModelPosition, 1.0)).xyz; vec3 relectPos = fsInput.attributes.positionEC - transPos; float d = dot(transNor, relectPos); #ifdef TRANSLUCENT_PLANES if(d < 0.0) discard; material.alpha *= u_underGroundModelAlpha; #else if(d > 0.0) discard; #endif }`})};DA.fromIonAssetId=async function(o,A){let f=await H_.fromAssetId(o);return DA.fromUrl(f,A)};DA.fromUrl=async function(o,A){A=oe(A,oe.EMPTY_OBJECT);let f=Cr.createIfNeeded(o),m;f.extension==="json"?m=f.getBaseUri(!0):f.isDataUri&&(m="");let C=await DA.loadJson(f),E=await gXe(f,C),x=new DA(A);x._resource=f,x._url=f.url,x._basePath=m,x._metadataExtension=E,x._geometricError=C.geometricError,x._scaledGeometricError=C.geometricError;let y=C.asset;x._asset=y,x._extras=C.extras;let I=f.credits;O(I)||(I=[]);let v=y.extras;if(O(v)&&O(v.cesium)&&O(v.cesium.credits)){let D=v.cesium.credits;for(let R=0;R$A._defaultMinTerrainHeight&&(x._initialClippingPlanesOriginMatrix=kr.eastNorthUpToFixedFrame(w)),x._clippingPlanesOriginMatrix=Re.clone(x._initialClippingPlanesOriginMatrix),x._readyPromise=Promise.resolve(x),x._ready=!0,x};DA.loadJson=function(o){return Cr.createIfNeeded(o).fetchJson()};DA.prototype.makeStyleDirty=function(){this._styleEngine.makeDirty()};DA.prototype.loadTileset=function(o,A,f){let m=A.asset;if(!O(m))throw new ki("Tileset must have an asset property.");if(m.version!=="0.0"&&m.version!=="1.0"&&m.version!=="1.1")throw new ki("The tileset must be 3D Tiles version 0.0, 1.0, or 1.1");O(A.extensionsRequired)&&DA.checkSupportedExtensions(A.extensionsRequired);let C=this._statistics,E=m.tilesetVersion;O(E)&&(this._basePath+=`?v=${E}`,o=o.clone(),o.setQueryParameters({v:E}));let x=aUe(this,o,A.root,f);O(f)&&(f.children.push(x),x._depth=f._depth+1);let y=[];for(y.push(x);y.length>0;){let I=y.pop();++C.numberOfTilesTotal,this._allTilesAdditive=this._allTilesAdditive&&I.refine===c0.ADD;let v=I._header.children;if(O(v))for(let B=0;BR.minimumRadius){let L=Rt.fromCartesian(M,R,xri);f=Z.normalize(y.positionWC,sUe),m=y.directionWC,C=y.positionCartographic.height,E=0,x=L.height*2}else{let L=Re.multiplyByPoint(D,y.positionWC,_ri);if(f=Z.UNIT_Z,m=Re.multiplyByPointAsVector(D,y.directionWC,vri),m=Z.normalize(m,m),C=L.z,v instanceof DP){let F=I._header.boundingVolume.box[11];E=M.z-F,x=M.z+F}else if(v instanceof pT){let F=P.radius;E=M.z-F,x=M.z+F}}}let B=o.dynamicScreenSpaceErrorHeightFalloff,Q=E+(x-E)*B,T=x,w=Be.clamp((C-Q)/(T-Q),0,1),S=1-Math.abs(Z.dot(m,f));S=S*(1-w),o._dynamicScreenSpaceErrorComputedDensity=o.dynamicScreenSpaceErrorDensity*S}function wri(o,A){if(A.hasEmptyContent)return;let{statistics:f}=o,m=A.contentExpired,C=A.requestContent();O(C)&&(C.then(E=>{!O(E)||A.isDestroyed()||o.isDestroyed()||(o._processingQueue.push(A),++f.numberOfTilesProcessing)}).catch(E=>{pXe(E,o,A)}),m&&(A.hasTilesetContent||A.hasImplicitContent?Lri(o,A):(f.decrementLoadCounts(A.content),--f.numberOfTilesWithContentReady)),o._requestedTilesInFlight.push(A))}function bri(o,A){return o._priority-A._priority}DA.prototype.postPassesUpdate=function(o){O(this._root)&&(Qri(this,o),Nri(this,o),this._cache.unloadTiles(this,CXe),this._styleApplied&&this._styleEngine.resetDirty(),this._styleApplied=!1)};DA.prototype.prePassesUpdate=function(o){if(!O(this._root))return;Tri(this,o);let A=this._clippingPlanes;this._clippingPlanesOriginMatrixDirty=!0,O(A)&&A.enabled&&A.update(o),O(this._loadTimestamp)||(this._loadTimestamp=Zt.clone(o.time)),this._timeSinceLoad=Math.max(Zt.secondsDifference(o.time,this._loadTimestamp)*1e3,0),this.dynamicScreenSpaceError&&Bri(this,o),o.newFrame&&this._cache.reset()};function Qri(o,A){let f=o._requestedTilesInFlight,m=0;for(let C=0;C=1;if(E._contentState!==bc.LOADING){++m;continue}else if(x){E.cancelRequests(),++m;continue}m>0&&(f[C-m]=E)}f.length-=m}function Sri(o){let A=o._requestedTiles;A.sort(bri);for(let f=0;f0?A.tileFailed.raiseEvent({url:m,message:C}):(console.log(`A 3D tile failed to load: ${m}`),console.log(`Error: ${C}`))}function Dri(o){let A=o._processingQueue,f=0;for(let m=0;m0&&(A[m-f]=C)}A.length-=f}function Tri(o,A){Dri(o);let f=o._processingQueue,m=o._statistics,C;for(let E=0;E0&&(m+=` Points: ${o.content.pointsLength}`,C++),o.content.trianglesLength>0&&(m+=` Triangles: ${o.content.trianglesLength}`,C++),m+=` Features: ${o.content.featuresLength}`,C++),A.debugShowMemoryUsage&&(m+=` Texture Memory: ${lUe(o.content.texturesByteLength)}`,m+=` Geometry Memory: ${lUe(o.content.geometryByteLength)}`,C+=2),A.debugShowUrl)if(o.hasMultipleContents){m+=` Urls:`;let x=o.content.innerContentUrls;for(let y=0;y0;o._backfaceCommands.length=0,y&&(O(o._stencilClearCommand)||(o._stencilClearCommand=new Yu({stencil:0,pass:Yi.CESIUM_3D_TILE,renderState:Xr.fromCache({stencilMask:ia.SKIP_LOD_MASK})})),m.push(o._stencilClearCommand));let{statistics:I,tileVisible:v}=o,B=f.isRender,Q=m.length;for(let S=0;S=0;--R)m[Q+D+R]=m[Q+R];for(let R=0;R0&&o._pointCloudEyeDomeLighting.update(A,E,o.pointCloudShading,o.boundingSphere),o.debugShowGeometricError||o.debugShowRenderingStatistics||o.debugShowMemoryUsage||o.debugShowUrl?(O(o._tileDebugLabels)||(o._tileDebugLabels=new jD),Pri(o,A)):o._tileDebugLabels=o._tileDebugLabels&&o._tileDebugLabels.destroy())}var mXe=[];function Lri(o,A){let f=A,m=mXe;for(m.push(A);m.length>0;){A=m.pop();let C=A.children;for(let E=0;Ethis._cameraHeightRange.y)return}this.updateForPass(o,o.tilesetPassState)};DA.prototype.updateForPass=function(o,A){let f=A.pass;if(f===Ad.PRELOAD&&(!this.preloadWhenHidden||this.show)||f===Ad.PRELOAD_FLIGHT&&(!this.preloadFlightDestinations||!this.show&&!this.preloadWhenHidden)||f===Ad.REQUEST_RENDER_MODE_DEFER_CHECK&&(!this._cullRequestsWhileMoving&&this.foveatedTimeDelay<=0||!this.show))return;let m=o.commandList,C=o.camera,E=o.cullingVolume;A.ready=!1;let x=Ad.getPassOptions(f),y=x.ignoreCommands,I=oe(A.commandList,m),v=I.length;o.commandList=I,o.camera=oe(A.camera,C),o.cullingVolume=oe(A.cullingVolume,E),C.frustum.farForTileset=this._cullingDistance,this._useCustomCullingVolume&&(o.cullingVolume=o.cullingVolumeForTileset);let B=this._statisticsPerPass[f];(this.show||y)&&(this._pass=f,A.ready=Uri(this,o,B,x)),y&&(I.length=v),o.commandList=m,o.camera=C,o.cullingVolume=E};DA.prototype.hasExtension=function(o){return O(this._extensionsUsed)?this._extensionsUsed.indexOf(o)>-1:!1};DA.prototype.isDestroyed=function(){return!1};DA.prototype.destroy=function(){if(this._tileDebugLabels=this._tileDebugLabels&&this._tileDebugLabels.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),O(this._root)){let o=mXe;for(o.push(this._root);o.length>0;){let A=o.pop();A.destroy();let f=A.children;for(let m=0;m{if(!D._childrenAreLoaded){let R=D._tileset._baseResource,P="./data/path/"+D._header.content.uri,M=R.getDerivedResource({url:P});for(let L=0;L> 11) & 0x1f; let green = (value >> 5) & 0x3f; let blue = value & 0x1f; colour[offset + 0] = ( red << 3 ) | ( red >> 2 ); colour[offset + 1] = ( green << 2 ) | ( green >> 4 ); colour[offset + 2] = ( blue << 3 ) | ( blue >> 2 ); colour[offset + 3] = 255; return value; } function DecompressColour(rgba, block, nOffset, isDxt1) { let codes = new Uint8Array(16); let a = Unpack565(block[nOffset + 0], block[nOffset + 1], codes, 0); let b = Unpack565(block[nOffset + 2], block[nOffset + 3], codes, 4); for (let i = 0; i < 3; i++) { let c = codes[i]; let d = codes[4 + i]; if (isDxt1 && a <= b) { codes[8 + i] = ( c + d ) / 2; codes[12 + i] = 0; } else { codes[8 + i] = ( 2 * c + d ) / 3; codes[12 + i] = ( c + 2 * d ) / 3; } } codes[8 + 3] = 255; codes[12 + 3] = ( isDxt1 && a <= b ) ? 0 : 255; let indices = new Uint8Array(16); for (let i = 0; i < 4; ++i) { let packed = block[nOffset + 4 + i]; indices[4 * i + 0] = packed & 0x3; indices[4 * i + 1] = ( packed >> 2 ) & 0x3; indices[4 * i + 2] = ( packed >> 4 ) & 0x3; indices[4 * i + 3] = ( packed >> 6 ) & 0x3; } for (let i = 0; i < 16; ++i) { let offset = 4 * indices[i]; for (let j = 0; j < 4; ++j) rgba[4 * i + j] = codes[offset + j]; } } function DecompressAlphaDxt3(rgba, block, nOffset) { // unpack the alpha values pairwise for (let i = 0; i < 8; ++i) { // quantise down to 4 bits let quant = bytes[nOffset + i]; // unpack the values let lo = quant & 0x0f; let hi = quant & 0xf0; // convert back up to bytes rgba[8 * i + 3] = lo | ( lo << 4 ); rgba[8 * i + 7] = hi | ( hi >> 4 ); } } function DecompressAlphaDxt5(rgba, block, nOffset) { let alpha0 = block[nOffset + 0]; let alpha1 = block[nOffset + 1]; let codes = new Uint8Array(8); codes[0] = alpha0; codes[1] = alpha1; if (alpha0 <= alpha1) { // use 5-alpha codebook for (let i = 1; i < 5; ++i) codes[1 + i] = ( ( 5 - i ) * alpha0 + i * alpha1 ) / 5; codes[6] = 0; codes[7] = 255; } else { // use 7-alpha codebook for (let i = 1; i < 7; ++i) codes[1 + i] = ( ( 7 - i ) * alpha0 + i * alpha1 ) / 7; } let indices = new Uint8Array(16); nOffset = nOffset + 2; let nBegin = 0; for (let i = 0; i < 2; ++i) { // grab 3 bytes let value = 0; for (let j = 0; j < 3; ++j) { let byte = block[nOffset++]; value |= ( byte << 8 * j ); } // unpack 8 3-bit values from it for (let j = 0; j < 8; ++j) { let index = ( value >> 3 * j ) & 0x7; indices[nBegin++] = index; } } for (let i = 0; i < 16; ++i) rgba[4 * i + 3] = codes[indices[i]]; } function Decompress(rgba, block, nOffset, flags) { let nOffset2 = 0; if (( flags & ( kDxt3 | kDxt5 ) ) != 0) nOffset2 = 8; DecompressColour(rgba, block, nOffset + nOffset2, ( flags & kDxt1 ) != 0); if (( flags & kDxt3 ) != 0) { DecompressAlphaDxt3(rgba, block, nOffset); } else if (( flags & kDxt5 ) != 0) { DecompressAlphaDxt5(rgba, block, nOffset); } } function DecompressImage565(rgb565, width, height, blocks) { let c = new Uint16Array(4); let dst = rgb565; let m = 0; let dstI = 0; let i = 0; let r0 = 0, g0 = 0, b0 = 0, r1 = 0, g1 = 0, b1 = 0; let blockWidth = width / 4; let blockHeight = height / 4; for (let blockY = 0; blockY < blockHeight; blockY++) { for (let blockX = 0; blockX < blockWidth; blockX++) { // flip Y i = 4 * ((blockHeight - blockY) * blockWidth + blockX); c[0] = blocks[i]; c[1] = blocks[i + 1]; r0 = c[0] & 0x1f; g0 = c[0] & 0x7e0; b0 = c[0] & 0xf800; r1 = c[1] & 0x1f; g1 = c[1] & 0x7e0; b1 = c[1] & 0xf800; // Interpolate between c0 and c1 to get c2 and c3. ~ // Note that we approximate 1/3 as 3/8 and 2/3 as 5/8 for // speed. This also appears to be what the hardware DXT // decoder in many GPUs does :) c[2] = ((5 * r0 + 3 * r1) >> 3) | (((5 * g0 + 3 * g1) >> 3) & 0x7e0) | (((5 * b0 + 3 * b1) >> 3) & 0xf800); c[3] = ((5 * r1 + 3 * r0) >> 3) | (((5 * g1 + 3 * g0) >> 3) & 0x7e0) | (((5 * b1 + 3 * b0) >> 3) & 0xf800); m = blocks[i + 2]; dstI = (blockY * 4) * width + blockX * 4; dst[dstI+2] = c[m & 0x3]; dst[dstI + 1] = c[(m >> 2) & 0x3]; dst[dstI + 0] = c[(m >> 4) & 0x3]; dst[dstI + 3] = c[(m >> 6) & 0x3]; dstI += width; dst[dstI+2] = c[(m >> 8) & 0x3]; dst[dstI + 1] = c[(m >> 10) & 0x3]; dst[dstI + 0] = c[(m >> 12) & 0x3]; dst[dstI + 3] = c[(m >> 14)]; m = blocks[i + 3]; dstI += width; dst[dstI+2] = c[m & 0x3]; dst[dstI + 1] = c[(m >> 2) & 0x3]; dst[dstI + 0] = c[(m >> 4) & 0x3]; dst[dstI + 3] = c[(m >> 6) & 0x3]; dstI += width; dst[dstI+2] = c[(m >> 8) & 0x3]; dst[dstI + 1] = c[(m >> 10) & 0x3]; dst[dstI + 0] = c[(m >> 12) & 0x3]; dst[dstI + 3] = c[(m >> 14)]; } } return dst; } function DecompressImage(rgba, width, height, blocks, flags) { let bytesPerBlock = ( ( flags & kDxt1 ) != 0 ) ? 8 : 16; let nOffset = 0; for (let y = 0; y < height; y += 4) { for (let x = 0; x < width; x += 4) { let targetRgba = new Uint8Array(4 * 16); Decompress(targetRgba, blocks, nOffset, flags); let nOffsetTarget = 0; for (let py = 0; py < 4; ++py) { for (let px = 0; px < 4; ++px) { let sx = x + px; let sy = y + py; if (sx < width && sy < height) { // flip Y let nBegin = 4 * ( width * (height - sy) + sx ); rgba[nBegin+2] = targetRgba[nOffsetTarget++] rgba[nBegin+1] = targetRgba[nOffsetTarget++] rgba[nBegin+0] = targetRgba[nOffsetTarget++] rgba[nBegin+3] = targetRgba[nOffsetTarget++] } else { nOffsetTarget += 4; } } } // advance nOffset += bytesPerBlock; } } } function DXTTextureDecode(options){ } DXTTextureDecode.decode = function(out, width, height, block, format){ if (out == null || block == null || height == 0 || width == 0) { return; } let flags = 0; //\u6709alpha\u901A\u9053,\u8F6C\u4E3ARGBA\uFF0C\u5426\u5219\u8F6C\u4E3Argb565 if (format > S3MPixelFormat.BGR || format === S3MPixelFormat.LUMINANCE_ALPHA) { flags = kDxt5; } else { flags = kDxt1 | krgb565; } if ((flags & kDxt1) && (flags & krgb565)) { DecompressImage565(out, width, height, block); } else { DecompressImage(out, width, height, block, flags); } }; // --------------------- DXT decode S3MModelParser.prototype.parseString = function(buffer, view, bytesOffset) { let length = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let stringBufferView = new Uint8Array(buffer, bytesOffset, length); let string = this.getStringFromTypedArray(stringBufferView); bytesOffset += length; return { string: string, bytesOffset: bytesOffset } }; S3MModelParser.prototype.parseGeode = function(buffer, view, bytesOffset, geodes) { let geode = {}; let skeletonNames = []; let geoMatrix = new Array(16); for(let i = 0; i < 16; i++) { geoMatrix[i] = view.getFloat64(bytesOffset, true); bytesOffset += Float64Array.BYTES_PER_ELEMENT; } geode.matrix = geoMatrix; geode.skeletonNames = skeletonNames; let skeletonCount = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; for(let i = 0; i < skeletonCount; i++) { let res = this.parseString(buffer, view, bytesOffset); skeletonNames.push(res.string); bytesOffset = res.bytesOffset; } geodes.push(geode); return bytesOffset; }; S3MModelParser.prototype.parsePageLOD = function(buffer, view, bytesOffset, pageLods) { let pageLOD = {}; pageLOD.rangeList = view.getFloat32(bytesOffset, true); bytesOffset += Float32Array.BYTES_PER_ELEMENT; pageLOD.rangeMode = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let center = {}; center.x = view.getFloat64(bytesOffset, true); bytesOffset += Float64Array.BYTES_PER_ELEMENT; center.y = view.getFloat64(bytesOffset, true); bytesOffset += Float64Array.BYTES_PER_ELEMENT; center.z = view.getFloat64(bytesOffset, true); bytesOffset += Float64Array.BYTES_PER_ELEMENT; let radius = view.getFloat64(bytesOffset, true); bytesOffset += Float64Array.BYTES_PER_ELEMENT; pageLOD.boundingSphere = { center: center, radius: radius }; let res = this.parseString(buffer, view, bytesOffset); let strChildTile = res.string; bytesOffset = res.bytesOffset; let index = strChildTile.indexOf('Geometry'); if(index !== -1) { let ignoreString = strChildTile.substring(index); strChildTile = strChildTile.replace(ignoreString, ''); } pageLOD.childTile = strChildTile; pageLOD.geodes = []; let geodeCount = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; for(let i = 0; i < geodeCount; i++) { bytesOffset = this.parseGeode(buffer, view, bytesOffset, pageLOD.geodes); } pageLods.push(pageLOD); return bytesOffset; }; S3MModelParser.prototype.parseGroupNode = function(buffer, view, bytesOffset, result) { let groupNode = {}; let pageLods = []; bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let count = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; for(let i = 0; i < count; i++) { bytesOffset = this.parsePageLOD(buffer, view, bytesOffset, pageLods); } groupNode.pageLods = pageLods; let align = bytesOffset % 4; if(align !== 0) { bytesOffset += (4 - align); } result.groupNode = groupNode; return bytesOffset; }; S3MModelParser.prototype.parseVertex = function(buffer, view, bytesOffset, vertexPackage) { let verticesCount = view.getUint32(bytesOffset, true); vertexPackage.verticesCount = verticesCount; bytesOffset += Uint32Array.BYTES_PER_ELEMENT; if(bytesOffset <= 0) { return bytesOffset; } let vertexDimension = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let vertexStride = view.getUint16(bytesOffset, true); vertexStride = vertexDimension * Float32Array.BYTES_PER_ELEMENT; bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let byteLength = verticesCount * vertexDimension * Float32Array.BYTES_PER_ELEMENT; let attributes = vertexPackage.vertexAttributes; let attrLocation = vertexPackage.attrLocation; attrLocation['aPosition'] = attributes.length; let vertexBuffer = new Uint8Array(buffer).subarray(bytesOffset, bytesOffset + byteLength); attributes.push({ index: attrLocation['aPosition'], componentsPerAttribute: vertexDimension, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, offsetInBytes: bytesOffset, strideInBytes: vertexStride, byteLength: byteLength, normalize: false, typedArray: vertexBuffer }); bytesOffset += byteLength; return bytesOffset; }; S3MModelParser.prototype.parseNormal = function(buffer, view, bytesOffset, vertexPackage) { let normalCount = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; if(normalCount <= 0) { return bytesOffset; } let normalDimension = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let normalStride = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let byteLength = normalCount * normalDimension * Float32Array.BYTES_PER_ELEMENT; let attributes = vertexPackage.vertexAttributes; let attrLocation = vertexPackage.attrLocation; attrLocation['aNormal'] = attributes.length; attributes.push({ index: attrLocation['aNormal'], componentsPerAttribute: normalDimension, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, offsetInBytes: bytesOffset, strideInBytes: normalStride, byteLength: byteLength, normalize: false }); bytesOffset += byteLength; return bytesOffset; }; S3MModelParser.prototype.parseVertexColor = function(buffer, view, bytesOffset, vertexPackage) { let colorCount = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let verticesCount = vertexPackage.verticesCount; let vertexColor; if(colorCount > 0) { let colorStride = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; bytesOffset += Uint8Array.BYTES_PER_ELEMENT * 2; let byteLength = colorCount * Uint8Array.BYTES_PER_ELEMENT * 4; let attributes = vertexPackage.vertexAttributes; let attrLocation = vertexPackage.attrLocation; attrLocation['aColor'] = attributes.length; attributes.push({ index: attrLocation['aColor'], typedArray: vertexColor, componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.UNSIGNED_BYTE, offsetInBytes: bytesOffset, strideInBytes: 4, byteLength: byteLength, normalize: true }); bytesOffset += byteLength; } return bytesOffset; }; S3MModelParser.prototype.parseSecondColor = function(buffer, view, bytesOffset, vertexPackage) { let secondColorCount = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; if(secondColorCount <= 0) { return bytesOffset; } let secondColorStride = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; bytesOffset += Uint8Array.BYTES_PER_ELEMENT * 2; let byteLength = secondColorCount * Uint8Array.BYTES_PER_ELEMENT * 4; bytesOffset += byteLength; return bytesOffset; }; S3MModelParser.prototype.parseTexCoord = function(buffer, view, bytesOffset, vertexPackage) { let count = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; bytesOffset += Uint16Array.BYTES_PER_ELEMENT; for(let i = 0; i < count; i++) { let texCoordCount = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let dimension = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let texCoordStride = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let byteLength = texCoordCount * dimension * Float32Array.BYTES_PER_ELEMENT; let str = 'aTexCoord' + i; let attributes = vertexPackage.vertexAttributes; let attrLocation = vertexPackage.attrLocation; attrLocation[str] = attributes.length; attributes.push({ index: attrLocation[str], componentsPerAttribute: dimension, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, offsetInBytes: bytesOffset, strideInBytes: dimension * Float32Array.BYTES_PER_ELEMENT, byteLength: byteLength, normalize: false }); bytesOffset += byteLength; } return bytesOffset; }; S3MModelParser.prototype.parseInstanceInfo = function(buffer, view, bytesOffset, vertexPackage) { let count = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let attributes = vertexPackage.vertexAttributes; let attrLocation = vertexPackage.attrLocation; for(let i = 0; i < count; i++) { let texCoordCount = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let texDimensions = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let texCoordStride = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let byteLength = texCoordCount * texDimensions * Float32Array.BYTES_PER_ELEMENT; if(texDimensions === 17 || texDimensions === 29) { let instanceBuffer = new Uint8Array(buffer, bytesOffset, byteLength); vertexPackage.instanceCount = texCoordCount; vertexPackage.instanceMode = texDimensions; vertexPackage.instanceBuffer = instanceBuffer; vertexPackage.instanceIndex = 1; let len = texDimensions * texCoordCount * 4; let vertexColorInstance = instanceBuffer.slice(0, len); vertexPackage.vertexColorInstance = vertexColorInstance; let byteStride; if(texDimensions === 17) { byteStride = Float32Array.BYTES_PER_ELEMENT * 17; attrLocation['uv2'] = attributes.length; attributes.push({ index: attrLocation['uv2'], componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, normalize: false, offsetInBytes: 0, strideInBytes: byteStride, instanceDivisor: 1 }); attrLocation['uv3'] = attributes.length; attributes.push({ index: attrLocation['uv3'], componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, normalize: false, offsetInBytes: 4 * Float32Array.BYTES_PER_ELEMENT, strideInBytes: byteStride, instanceDivisor: 1 }); attrLocation['uv4'] = attributes.length; attributes.push({ index: attrLocation['uv4'], componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, normalize: false, offsetInBytes: 8 * Float32Array.BYTES_PER_ELEMENT, strideInBytes: byteStride, instanceDivisor: 1 }); attrLocation['secondary_colour'] = attributes.length; attributes.push({ index: attrLocation['secondary_colour'], componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, normalize: false, offsetInBytes: 12 * Float32Array.BYTES_PER_ELEMENT, strideInBytes: byteStride, instanceDivisor: 1 }); attrLocation['uv6'] = attributes.length; attributes.push({ index: attrLocation['uv6'], componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.UNSIGNED_BYTE, normalize: true, offsetInBytes: 16 * Float32Array.BYTES_PER_ELEMENT, strideInBytes: byteStride, instanceDivisor: 1 }); } else if(texDimensions === 29) { byteStride = Float32Array.BYTES_PER_ELEMENT * 29; attrLocation['uv1'] = attributes.length; attributes.push({ index: attrLocation['uv1'], componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, normalize: false, offsetInBytes: 0, strideInBytes: byteStride, instanceDivisor: 1, byteLength: byteLength }); attrLocation['uv2'] = attributes.length; attributes.push({ index: attrLocation['uv2'], componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, normalize: false, offsetInBytes: 4 * Float32Array.BYTES_PER_ELEMENT, strideInBytes: byteStride, instanceDivisor: 1 }); attrLocation['uv3'] = attributes.length; attributes.push({ index: attrLocation['uv3'], componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, normalize: false, offsetInBytes: 8 * Float32Array.BYTES_PER_ELEMENT, strideInBytes: byteStride, instanceDivisor: 1 }); attrLocation['uv4'] = attributes.length; attributes.push({ index: attrLocation['uv4'], componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, normalize: false, offsetInBytes: 12 * Float32Array.BYTES_PER_ELEMENT, strideInBytes: byteStride, instanceDivisor: 1 }); attrLocation['uv5'] = attributes.length; attributes.push({ index: attrLocation['uv5'], componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, normalize: false, offsetInBytes: 16 * Float32Array.BYTES_PER_ELEMENT, strideInBytes: byteStride, instanceDivisor: 1 }); attrLocation['uv6'] = attributes.length; attributes.push({ index: attrLocation['uv6'], componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, normalize: false, offsetInBytes: 20 * Float32Array.BYTES_PER_ELEMENT, strideInBytes: byteStride, instanceDivisor: 1 }); attrLocation['uv7'] = attributes.length; attributes.push({ index: attrLocation['uv7'], componentsPerAttribute: 3, componentDatatype: S3MModelParser.ComponentDatatype.FLOAT, normalize: false, offsetInBytes: 24 * Float32Array.BYTES_PER_ELEMENT, strideInBytes: byteStride, instanceDivisor: 1 }); attrLocation['secondary_colour'] = attributes.length; attributes.push({ index: attrLocation['secondary_colour'], componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.UNSIGNED_BYTE, normalize: true, offsetInBytes: 27 * Float32Array.BYTES_PER_ELEMENT, strideInBytes: byteStride, instanceDivisor: 1 }); attrLocation['uv9'] = attributes.length; attributes.push({ index: attrLocation['uv9'], componentsPerAttribute: 4, componentDatatype: S3MModelParser.ComponentDatatype.UNSIGNED_BYTE, normalize: true, offsetInBytes: 28 * Float32Array.BYTES_PER_ELEMENT, strideInBytes: byteStride, instanceDivisor: 1 }); } } else { let len = texCoordCount * texDimensions; vertexPackage.instanceBounds = new Float32Array(len); for(let k = 0; k < len; k++) { vertexPackage.instanceBounds[k] = view.getFloat32(bytesOffset + k * Float32Array.BYTES_PER_ELEMENT, true); } } bytesOffset += byteLength; } return bytesOffset; }; S3MModelParser.prototype.parseCompressVertex = function(buffer, view, bytesOffset, vertexPackage) { let verticesCount = view.getUint32(bytesOffset, true); vertexPackage.verticesCount = verticesCount; bytesOffset += Uint32Array.BYTES_PER_ELEMENT; if(bytesOffset <= 0) { return bytesOffset; } let vertexDimension = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let vertexStride = view.getUint16(bytesOffset, true); vertexStride = vertexDimension * Int16Array.BYTES_PER_ELEMENT; bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let vertCompressConstant = view.getFloat32(bytesOffset, true); bytesOffset += Float32Array.BYTES_PER_ELEMENT; let minVerticesValue = {}; minVerticesValue.x = view.getFloat32(bytesOffset, true); bytesOffset += Float32Array.BYTES_PER_ELEMENT; minVerticesValue.y = view.getFloat32(bytesOffset, true); bytesOffset += Float32Array.BYTES_PER_ELEMENT; minVerticesValue.z = view.getFloat32(bytesOffset, true); bytesOffset += Float32Array.BYTES_PER_ELEMENT; minVerticesValue.w = view.getFloat32(bytesOffset, true); bytesOffset += Float32Array.BYTES_PER_ELEMENT; vertexPackage.vertCompressConstant = vertCompressConstant; vertexPackage.minVerticesValue = minVerticesValue; let byteLength = verticesCount * vertexDimension * Int16Array.BYTES_PER_ELEMENT; let vertexBuffer = new Uint8Array(buffer, bytesOffset, byteLength); bytesOffset += byteLength; let attributes = vertexPackage.vertexAttributes; let attrLocation = vertexPackage.attrLocation; attrLocation['aPosition'] = attributes.length; attributes.push({ index: attrLocation['aPosition'], typedArray: vertexBuffer, componentsPerAttribute: vertexDimension, componentDatatype: ComponentDatatype.SHORT, offsetInBytes: 0, strideInBytes: vertexStride, normalize: false }); return bytesOffset; }; S3MModelParser.prototype.parseCompressNormal = function(buffer, view, bytesOffset, vertexPackage) { let normalCount = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; if(normalCount <= 0) { return bytesOffset; } let normalDimension = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let normalStride = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let byteLength = normalCount * 2 * Int16Array.BYTES_PER_ELEMENT; let normalBuffer = new Uint8Array(buffer, bytesOffset, byteLength); bytesOffset += byteLength; let attributes = vertexPackage.vertexAttributes; let attrLocation = vertexPackage.attrLocation; attrLocation['aNormal'] = attributes.length; attributes.push({ index: attrLocation['aNormal'], typedArray: normalBuffer, componentsPerAttribute: 2, componentDatatype: ComponentDatatype.SHORT, offsetInBytes: 0, strideInBytes: normalStride, normalize: false }); return bytesOffset; }; S3MModelParser.prototype.parseCompressTexCoord = function(buffer, view, bytesOffset, vertexPackage) { vertexPackage.texCoordCompressConstant = []; vertexPackage.minTexCoordValue = []; let count = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; bytesOffset += Uint16Array.BYTES_PER_ELEMENT; for(let i = 0; i < count; i++) { let bNeedTexCoordZ = view.getUint8(bytesOffset, true); bytesOffset += Uint8Array.BYTES_PER_ELEMENT; bytesOffset += Uint8Array.BYTES_PER_ELEMENT * 3; let texCoordCount = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let dimension = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let texCoordStride = view.getUint16(bytesOffset, true); bytesOffset += Uint16Array.BYTES_PER_ELEMENT; let texCoordCompressConstant = view.getFloat32(bytesOffset, true); bytesOffset += Float32Array.BYTES_PER_ELEMENT; vertexPackage.texCoordCompressConstant.push(texCoordCompressConstant); let minTexCoordValue = {}; minTexCoordValue.x = view.getFloat32(bytesOffset, true); bytesOffset += Float32Array.BYTES_PER_ELEMENT; minTexCoordValue.y = view.getFloat32(bytesOffset, true); bytesOffset += Float32Array.BYTES_PER_ELEMENT; minTexCoordValue.z = view.getFloat32(bytesOffset, true); bytesOffset += Float32Array.BYTES_PER_ELEMENT; minTexCoordValue.w = view.getFloat32(bytesOffset, true); bytesOffset += Float32Array.BYTES_PER_ELEMENT; vertexPackage.minTexCoordValue.push(minTexCoordValue); let byteLength = texCoordCount * dimension * Int16Array.BYTES_PER_ELEMENT; let texCoordBuffer = new Uint8Array(buffer, bytesOffset, byteLength); bytesOffset += byteLength; let align = bytesOffset % 4; if(align !== 0) { bytesOffset += (4 - align); } let str = 'aTexCoord' + i; let attributes = vertexPackage.vertexAttributes; let attrLocation = vertexPackage.attrLocation; attrLocation[str] = attributes.length; attributes.push({ index: attrLocation[str], typedArray: texCoordBuffer, componentsPerAttribute: dimension, componentDatatype: ComponentDatatype.SHORT, offsetInBytes: 0, strideInBytes: dimension * Int16Array.BYTES_PER_ELEMENT, normalize: false }); if(bNeedTexCoordZ) { byteLength = texCoordCount * Float32Array.BYTES_PER_ELEMENT; let texCoordZBuffer = new Uint8Array(buffer, bytesOffset, byteLength); bytesOffset += byteLength; vertexPackage.texCoordZMatrix = true; str = 'aTexCoordZ' + i; attrLocation[str] = attributes.length; attributes.push({ index: attrLocation[str], typedArray: texCoordZBuffer, componentsPerAttribute: 1, componentDatatype: ComponentDatatype.FLOAT, offsetInBytes: 0, strideInBytes: Float32Array.BYTES_PER_ELEMENT, normalize: false }); } } return bytesOffset; }; S3MModelParser.prototype.parseStandardSkeleton = function(buffer, view, bytesOffset, vertexPackage) { bytesOffset = this.parseVertex(buffer, view, bytesOffset, vertexPackage); bytesOffset = this.parseNormal(buffer, view, bytesOffset, vertexPackage); bytesOffset = this.parseVertexColor(buffer, view, bytesOffset, vertexPackage); bytesOffset = this.parseSecondColor(buffer, view, bytesOffset, vertexPackage); bytesOffset = this.parseTexCoord(buffer, view, bytesOffset, vertexPackage); bytesOffset = this.parseInstanceInfo(buffer, view, bytesOffset, vertexPackage); return bytesOffset; }; S3MModelParser.prototype.parseCompressSkeleton = function(buffer, view, bytesOffset, vertexPackage) { let compressOptions = view.getUint32(bytesOffset, true); vertexPackage.compressOptions = compressOptions; bytesOffset += Uint32Array.BYTES_PER_ELEMENT; if((compressOptions & S3MModelParser.VertexCompressOption.SVC_Vertex) === S3MModelParser.VertexCompressOption.SVC_Vertex) { bytesOffset = this.parseCompressVertex(buffer, view, bytesOffset, vertexPackage); } else { bytesOffset = this.parseVertex(buffer, view, bytesOffset, vertexPackage); } if((compressOptions & S3MModelParser.VertexCompressOption.SVC_Normal) === S3MModelParser.VertexCompressOption.SVC_Normal) { bytesOffset = this.parseCompressNormal(buffer, view, bytesOffset, vertexPackage); } else { bytesOffset = this.parseNormal(buffer, view, bytesOffset, vertexPackage); } bytesOffset = this.parseVertexColor(buffer, view, bytesOffset, vertexPackage); bytesOffset = this.parseSecondColor(buffer, view, bytesOffset, vertexPackage); if((compressOptions & S3MModelParser.VertexCompressOption.SVC_TexutreCoord) === S3MModelParser.VertexCompressOption.SVC_TexutreCoord) { bytesOffset = this.parseCompressTexCoord(buffer, view, bytesOffset, vertexPackage); } else { bytesOffset = this.parseTexCoord(buffer, view, bytesOffset, vertexPackage); } if((compressOptions & S3MModelParser.VertexCompressOption.SVC_TexutreCoordIsW) === S3MModelParser.VertexCompressOption.SVC_TexutreCoordIsW) { vertexPackage.textureCoordIsW = true; } bytesOffset = this.parseInstanceInfo(buffer, view, bytesOffset, vertexPackage); return bytesOffset; }; S3MModelParser.prototype.parseIndexPackage = function(buffer, view, bytesOffset, arrIndexPackage) { let count = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; for(let i = 0; i < count; i++) { let indexPackage = {}; let indexCount = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let indexType = view.getUint8(bytesOffset, true); bytesOffset += Uint8Array.BYTES_PER_ELEMENT; let bUseIndex = view.getUint8(bytesOffset, true); bytesOffset += Uint8Array.BYTES_PER_ELEMENT; let primitiveType = view.getUint8(bytesOffset, true); bytesOffset += Uint8Array.BYTES_PER_ELEMENT; bytesOffset += Uint8Array.BYTES_PER_ELEMENT; if(indexCount > 0) { let byteLength; if(indexType === 1 || indexType === 3) { byteLength = indexCount * Uint32Array.BYTES_PER_ELEMENT; indexPackage.bytesOffset = bytesOffset; indexPackage.byteLength = byteLength; } else { byteLength = indexCount * Uint16Array.BYTES_PER_ELEMENT; indexPackage.bytesOffset = bytesOffset; indexPackage.byteLength = byteLength; if(indexCount % 2 !== 0) { byteLength += 2; } } bytesOffset += byteLength; } indexPackage.indicesCount = indexCount; indexPackage.indexType = indexType; indexPackage.primitiveType = primitiveType; let arrPassName = []; let passNameCount = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; for(let j = 0; j < passNameCount; j++) { let res = this.parseString(buffer, view, bytesOffset); let passName = res.string; bytesOffset = res.bytesOffset; arrPassName.push(passName); indexPackage.materialCode = passName; } let align = bytesOffset % 4; if(align !== 0) { let nReserved = 4 - bytesOffset % 4; bytesOffset += nReserved; } arrIndexPackage.push(indexPackage); } return bytesOffset; }; S3MModelParser.prototype.parseSkeleton = function(buffer, view, bytesOffset, geoPackage) { let size = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let count = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; for(let i = 0; i < count; i++) { let res = this.parseString(buffer, view, bytesOffset); let geometryName = res.string; bytesOffset = res.bytesOffset; let align = bytesOffset % 4; if(align !== 0) { bytesOffset += (4 - align); } let tag = view.getUint32(bytesOffset, true); bytesOffset += Int32Array.BYTES_PER_ELEMENT; let vertexPackage = { vertexAttributes: [], attrLocation: {}, instanceCount: 0, instanceMode: 0, instanceIndex: -1 }; if(tag === S3MModelParser.S3MBVertexTag.SV_Standard) { bytesOffset = this.parseStandardSkeleton(buffer, view, bytesOffset, vertexPackage); } else if(tag === S3MModelParser.S3MBVertexTag.SV_Compressed) { bytesOffset = this.parseCompressSkeleton(buffer, view, bytesOffset, vertexPackage); } let arrIndexPackage = []; bytesOffset = this.parseIndexPackage(buffer, view, bytesOffset, arrIndexPackage); geoPackage[geometryName] = { vertexPackage: vertexPackage, arrIndexPackage: arrIndexPackage }; } let secColorSize = view.getUint32(bytesOffset, true); bytesOffset += secColorSize; bytesOffset += Uint32Array.BYTES_PER_ELEMENT; return bytesOffset; }; S3MModelParser.prototype.parseTexturePackage = function(buffer, view, bytesOffset, texturePackage) { let size = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let count = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; for(let i = 0; i < count; i++) { let res = this.parseString(buffer, view, bytesOffset); let textureCode = res.string; bytesOffset = res.bytesOffset; let align = bytesOffset % 4; if(align !== 0) { bytesOffset += (4 - align); } let level = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let width = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let height = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let compressType = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let size = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let pixelFormat = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let textureData = new Uint8Array(buffer, bytesOffset, size); bytesOffset += size; texturePackage[textureCode] = { id: textureCode, width: width, height: height, compressType: compressType, nFormat: pixelFormat, internalFormat: S3MModelParser.PixelFormat.RGBA_DXT5, imageBuffer: textureData }; } return bytesOffset; }; S3MModelParser.prototype.parseMaterial = function(buffer, view, bytesOffset, result) { let byteLength = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; let materialBuffer = new Uint8Array(buffer, bytesOffset, byteLength); let strMaterials = this.getStringFromTypedArray(materialBuffer); bytesOffset += byteLength; result.materials = JSON.parse(strMaterials); return bytesOffset; }; S3MModelParser.prototype.parseBuffer = function(unzipBuffer, bytesOffset) { let result = { version: undefined, groupNode: undefined, geoPackage: {}, matrials: undefined, texturePackage: {} }; result.byteLength = unzipBuffer.byteLength; result.buffer = unzipBuffer; view = new DataView(unzipBuffer); bytesOffset = 0; let nOptions = view.getUint32(bytesOffset, true); bytesOffset += Uint32Array.BYTES_PER_ELEMENT; bytesOffset = this.parseGroupNode(unzipBuffer, view, bytesOffset, result); bytesOffset = this.parseSkeleton(unzipBuffer, view, bytesOffset, result.geoPackage); bytesOffset = this.parseTexturePackage(unzipBuffer, view, bytesOffset, result.texturePackage); bytesOffset = this.parseMaterial(unzipBuffer, view, bytesOffset, result); return result; }; function _fillBMPHeader(buffer,width,height){ let extraBytes = width%4; let rgbSize = height * (4 * width + extraBytes); let headerInfoSize = 108; /******************header***********************/ let flag = "BM"; let reserved = 0; let offset_header = 122; let fileSize = rgbSize + offset; let planes = 1; let bitPP = 32; let compress = 3; let hr = 2835; let vr = 2835; let colors = 0; let importantColors = 0; let view = new DataView(buffer); let offset = 0; view.setUint16(offset, 0x4d42, true);offset += 2; view.setUint32(offset, fileSize, true);offset += 4; view.setUint32(offset, reserved, true);offset += 4; view.setUint32(offset, offset_header, true);offset += 4; view.setUint32(offset, headerInfoSize, true);offset += 4; view.setUint32(offset, width, true);offset += 4; view.setUint32(offset, height, true);offset += 4; view.setUint16(offset, planes, true);offset += 2; view.setUint16(offset, bitPP, true);offset += 2; view.setUint32(offset, this.compress, true);offset += 4; view.setUint32(offset, rgbSize, true);offset += 4; view.setUint32(offset, hr, true);offset += 4; view.setUint32(offset, vr, true);offset += 4; view.setUint8(offset, colors, true);offset += 4; view.setUint32(offset, importantColors, true);offset += 4; view.setUint32(offset, 0xff0000, true);offset += 4; view.setUint32(offset, 0xff00, true);offset += 4; view.setUint32(offset, 0xff, true);offset += 4; view.setUint32(offset, 0xff000000, true);offset += 4; view.setUint32(offset, 0x57696e20, true);offset += 4; }; S3MModelParser.prototype.generateGLTFBuffer = function( vertexCount, indicesArr, positionsArr, normalsArr, uv0sArr, colorsArr, texturePackage, geoMat, min, max, textureCodes, materialArr ) { return new Promise(function(resolve, reject) { (function(vertexCount, indicesArr, positionsArr, normalsArr, uv0sArr, colorsArr, texturePackage, geoMat, min, max, textureCodes, materialArr) { if( vertexCount === 0 || positionsArr === undefined || positionsArr.length === 0 ) { return { buffers: [], bufferViews: [], accessors: [], meshes: [], nodes: [], nodesInScene: [], }; } let buffers = []; let bufferViews = []; let accessors = []; let meshes = []; let nodes = []; let nodesInScene = []; let posIndex = 0; let normalIndex = 0; let uv0Index = 0; let colorIndex = 0; let indicesIndex = 0; let currentIndex = posIndex; for(let meshIndex = 0; meshIndex < positionsArr.length; meshIndex++) { let indices = indicesArr ? indicesArr[meshIndex] : undefined; let positions = positionsArr ? positionsArr[meshIndex] : undefined; let normals = normalsArr ? normalsArr[meshIndex] : undefined; let uv0s = uv0sArr ? uv0sArr[meshIndex] : undefined; let colors = colorsArr ? colorsArr[meshIndex] : undefined; // if we provide indices, then the vertex count is the length // of that array, otherwise we assume non-indexed triangle if(indices) { vertexCount = indices.length; } // allocate array let indexArray = new Uint32Array(vertexCount); if(indices) { // set the indices for(let vertexIndex = 0; vertexIndex < vertexCount; ++vertexIndex) { indexArray[vertexIndex] = indices[vertexIndex]; } } else { // generate indices for(let vertexIndex = 0; vertexIndex < vertexCount; ++vertexIndex) { indexArray[vertexIndex] = vertexIndex; } } // push to the buffers, bufferViews and accessors let indicesBlob = new Blob([indexArray], { type: "application/binary" }); let indicesURL = URL.createObjectURL(indicesBlob); let endIndex = vertexCount; // POSITIONS let meshPositions = positions.subarray(0, endIndex * 3); let positionsBlob = new Blob([meshPositions], { type: "application/binary", }); let positionsURL = URL.createObjectURL(positionsBlob); // NORMALS let meshNormals = normals ? normals.subarray(0, endIndex * 3) : null; let normalsURL = null; if(meshNormals) { let normalsBlob = new Blob([meshNormals], { type: "application/binary", }); normalsURL = URL.createObjectURL(normalsBlob); } // UV0s let meshUv0s = uv0s ? uv0s.subarray(0, endIndex * 2) : null; let uv0URL = null; if(meshUv0s) { let uv0Blob = new Blob([meshUv0s], { type: "application/binary" }); uv0URL = URL.createObjectURL(uv0Blob); } // Colors // @TODO: check we can directly import vertex colors as bytes instead // of having to convert to float let meshColorsInBytes = colors ? colors.subarray(0, endIndex * 4) : null; let meshColors = null; let colorsURL = null; if(meshColorsInBytes) { let colorCount = meshColorsInBytes.length; meshColors = new Float32Array(colorCount); for(let i = 0; i < colorCount; ++i) { meshColors[i] = meshColorsInBytes[i] / 255.0; } let colorsBlob = new Blob([meshColors], { type: "application/binary" }); colorsURL = URL.createObjectURL(colorsBlob); } let attributes = {}; // POSITIONS attributes.POSITION = currentIndex; buffers.push({ uri: positionsURL, byteLength: meshPositions.byteLength, }); bufferViews.push({ buffer: currentIndex, byteOffset: 0, byteLength: meshPositions.byteLength, target: 34962, }); accessors.push({ bufferView: currentIndex, byteOffset: 0, componentType: 5126, count: vertexCount, type: "VEC3", max: max, min: min }); // NORMALS if(normalsURL) { ++currentIndex; normalIndex = currentIndex; attributes.NORMAL = normalIndex; buffers.push({ uri: normalsURL, byteLength: meshNormals.byteLength, }); bufferViews.push({ buffer: normalIndex, byteOffset: 0, byteLength: meshNormals.byteLength, target: 34962, }); accessors.push({ bufferView: normalIndex, byteOffset: 0, componentType: 5126, count: vertexCount, type: "VEC3", max: [0, 0, 0], min: [0, 0, 0], }); } // UV0 if(uv0URL) { ++currentIndex; uv0Index = currentIndex; attributes.TEXCOORD_0 = uv0Index; buffers.push({ uri: uv0URL, byteLength: meshUv0s.byteLength, }); bufferViews.push({ buffer: uv0Index, byteOffset: 0, byteLength: meshUv0s.byteLength, target: 34962, }); accessors.push({ bufferView: uv0Index, byteOffset: 0, componentType: 5126, count: vertexCount, type: "VEC2", max: [0, 0], min: [0, 0], }); } // COLORS if(colorsURL) { ++currentIndex; colorIndex = currentIndex; attributes.COLOR_0 = colorIndex; buffers.push({ uri: colorsURL, byteLength: meshColors.byteLength, }); bufferViews.push({ buffer: colorIndex, byteOffset: 0, byteLength: meshColors.byteLength, target: 34962, }); accessors.push({ bufferView: colorIndex, byteOffset: 0, componentType: 5126, count: vertexCount, type: "VEC4", max: [0, 0, 0, 0], min: [0, 0, 0, 0], }); } // INDICES ++currentIndex; indicesIndex = currentIndex; buffers.push({ uri: indicesURL, byteLength: indexArray.byteLength, }); bufferViews.push({ buffer: indicesIndex, byteOffset: 0, byteLength: indexArray.byteLength, target: 34963, }); accessors.push({ bufferView: indicesIndex, byteOffset: 0, componentType: 5125, count: vertexCount, type: "SCALAR", max: [0], min: [0], }); // create a new mesh for this page meshes.push({ primitives: [{ attributes: attributes, indices: indicesIndex, material: meshIndex, }, ], }); nodesInScene.push(meshIndex); nodes.push({ mesh: meshIndex, }); currentIndex++; } let gltfTextures = []; let gltfImages = []; let gltfSamplers = [{ magFilter: 9729, minFilter: 9729, wrapS: 10497, wrapT: 10497, }]; let gltfMaterials = new Array(textureCodes.length); let imageIndex = 0; let materialIndex = 0; let textureCount = 0; let blobs = []; let materialDefer = new Promise(function(subResolve, subReject) { for(let k = 0; k < materialArr.length; k++) { (function(k) { let hasTexture = materialArr[k].textureunitstates[0]; if(hasTexture) { textureCount++; let textureId = materialArr[k].textureunitstates[0].textureunitstate.id; let textureObj = texturePackage[textureId]; let imageBuffer = textureObj.imageBuffer; let imageTypedArray = null; let pixelFormat = textureObj.nFormat; let bmpHeaderLength = 122; if (pixelFormat > S3MPixelFormat.BGR || pixelFormat === S3MPixelFormat.LUMINANCE_ALPHA) { imageTypedArray = new Uint8Array(bmpHeaderLength + textureObj.width * textureObj.height * 4); } else { imageTypedArray = new Uint16Array(bmpHeaderLength / 2 + textureObj.width * textureObj.height); } DXTTextureDecode.decode(imageTypedArray.subarray(bmpHeaderLength), textureObj.width, textureObj.height, imageBuffer, pixelFormat); _fillBMPHeader(imageTypedArray.buffer, textureObj.width, textureObj.height); let bmpblob = new Blob([imageTypedArray],{type:"image/bmp"}); let textureURL = URL.createObjectURL(bmpblob); buffers.push({ uri: textureURL, byteLength: imageTypedArray.byteLength, }); bufferViews.push({ buffer: buffers.length - 1, byteOffset: 0, byteLength: imageTypedArray.byteLength, target: 34962, }); gltfImages.push({ "mimeType": "image/bmp", "bufferView": bufferViews.length - 1 }); gltfTextures.push({ sampler: 0, source: imageIndex++, }); blobs.push(bmpblob); if(blobs.length === textureCount) { // materialDefer.resolve(); subResolve(); } } gltfMaterials.push({ pbrMetallicRoughness: { metallicFactor: 0.0, baseColorTexture: hasTexture ? { index: materialIndex++, texCoord: 0 } : undefined }, doubleSided: true, name: textureId, }); })(k); } }); let rawGLTF = { scene: 0, scenes: [{ nodes: nodesInScene, }, ], nodes: nodes, meshes: meshes, buffers: buffers, bufferViews: bufferViews, accessors: accessors, materials: gltfMaterials, textures: gltfTextures, images: gltfImages, samplers: gltfSamplers, asset: { version: "2.0", }, }; if(textureCount === 0) { resolve(rawGLTF); } materialDefer.then(function() { resolve(rawGLTF); }); })(vertexCount, indicesArr, positionsArr, normalsArr, uv0sArr, colorsArr, texturePackage, geoMat, min, max, textureCodes, materialArr); }); }; S3MModelParser.prototype._binarizeGLTF = function(rawGLTF) { let encoder = new TextEncoder(); let rawGLTFData = encoder.encode(JSON.stringify(rawGLTF)); let binaryGLTFData = new Uint8Array(rawGLTFData.byteLength + 20); let binaryGLTF = { magic: new Uint8Array(binaryGLTFData.buffer, 0, 4), version: new Uint32Array(binaryGLTFData.buffer, 4, 1), length: new Uint32Array(binaryGLTFData.buffer, 8, 1), chunkLength: new Uint32Array(binaryGLTFData.buffer, 12, 1), chunkType: new Uint32Array(binaryGLTFData.buffer, 16, 1), chunkData: new Uint8Array( binaryGLTFData.buffer, 20, rawGLTFData.byteLength ), }; binaryGLTF.magic[0] = "g".charCodeAt(); binaryGLTF.magic[1] = "l".charCodeAt(); binaryGLTF.magic[2] = "T".charCodeAt(); binaryGLTF.magic[3] = "F".charCodeAt(); binaryGLTF.version[0] = 2; binaryGLTF.length[0] = binaryGLTFData.byteLength; binaryGLTF.chunkLength[0] = rawGLTFData.byteLength; binaryGLTF.chunkType[0] = 0x4e4f534a; // JSON binaryGLTF.chunkData.set(rawGLTFData); return binaryGLTFData; }; S3MModelParser.prototype._binarizeB3DM = function(featureTableJSON, batchTabelJSON, binaryGLTFData) { let encoder = new TextEncoder(); // Feature Table let featureTableOffset = 28; let featureTableJSONData = encoder.encode(featureTableJSON); let featureTableLength = featureTableJSONData.byteLength; // Batch Table let batchTableOffset = featureTableOffset + featureTableLength; let batchTableJSONData = encoder.encode(batchTabelJSON); // Calculate alignment buffer by padding the remainder of the batch table let paddingCount = (batchTableOffset + batchTableJSONData.byteLength) % 8; let batchTableLength = batchTableJSONData.byteLength + paddingCount; let paddingStart = batchTableJSONData.byteLength; let paddingStop = batchTableLength; // Binary GLTF let binaryGLTFOffset = batchTableOffset + batchTableLength; let binaryGLTFLength = binaryGLTFData.byteLength; let dataSize = featureTableLength + batchTableLength + binaryGLTFLength; let b3dmRawData = new Uint8Array(28 + dataSize); let b3dmData = { magic: new Uint8Array(b3dmRawData.buffer, 0, 4), version: new Uint32Array(b3dmRawData.buffer, 4, 1), byteLength: new Uint32Array(b3dmRawData.buffer, 8, 1), featureTableJSONByteLength: new Uint32Array(b3dmRawData.buffer, 12, 1), featureTableBinaryByteLength: new Uint32Array(b3dmRawData.buffer, 16, 1), batchTableJSONByteLength: new Uint32Array(b3dmRawData.buffer, 20, 1), batchTableBinaryByteLength: new Uint32Array(b3dmRawData.buffer, 24, 1), featureTable: new Uint8Array( b3dmRawData.buffer, featureTableOffset, featureTableLength ), batchTable: new Uint8Array( b3dmRawData.buffer, batchTableOffset, batchTableLength ), binaryGLTF: new Uint8Array( b3dmRawData.buffer, binaryGLTFOffset, binaryGLTFLength ), }; b3dmData.magic[0] = "b".charCodeAt(); b3dmData.magic[1] = "3".charCodeAt(); b3dmData.magic[2] = "d".charCodeAt(); b3dmData.magic[3] = "m".charCodeAt(); b3dmData.version[0] = 1; b3dmData.byteLength[0] = b3dmRawData.byteLength; b3dmData.featureTable.set(featureTableJSONData); b3dmData.featureTableJSONByteLength[0] = featureTableLength; b3dmData.featureTableBinaryByteLength[0] = 0; b3dmData.batchTable.set(batchTableJSONData); for(let index = paddingStart; index < paddingStop; ++index) { b3dmData.batchTable[index] = 0x20; } b3dmData.batchTableJSONByteLength[0] = batchTableLength; b3dmData.batchTableBinaryByteLength[0] = 0; b3dmData.binaryGLTF.set(binaryGLTFData); return b3dmRawData; }; let modelParser = new S3MModelParser(); onmessage = function (e) { let buffer = e.data.buffer; let bytesOffset = e.data.bytesOffset; let result = modelParser.parseBuffer(buffer, bytesOffset); let geoPackage = result.geoPackage; let pageLods = result.groupNode.pageLods; let verticesCount; let indices; let positionsArr = []; let positions_4; let positions; let indexArr = []; let uvArr = []; let colorArr = []; let materialArr = []; let totalVerticesCount = 0; let mat = pageLods[0].geodes[0].matrix; let textureCodes = []; let materialsMap = {} for(let i = 0; i < result.materials.material.length; i++) { materialsMap[result.materials.material[i].material.id] = result.materials.material[i].material; } let scratchCartesian = { x: 0, y: 0, z: 0 }; let indicesCount = 0; let minX = Number.MAX_VALUE, minY = Number.MAX_VALUE, minZ = Number.MAX_VALUE; let maxX = Number.MIN_VALUE, maxY = Number.MIN_VALUE, maxZ = Number.MIN_VALUE; for(let geoName in geoPackage) { let vertexPackage = geoPackage[geoName].vertexPackage; verticesCount = vertexPackage.verticesCount; let buffer = vertexPackage.vertexAttributes[0].typedArray.buffer; let componentsPerAttribute = vertexPackage.vertexAttributes[0].componentsPerAttribute; positions_4 = new Float32Array(buffer, vertexPackage.vertexAttributes[0].offsetInBytes, verticesCount * componentsPerAttribute); positions = new Float32Array(verticesCount * 3); for(let i = 0; i < verticesCount; i++) { let x = positions_4[i * componentsPerAttribute]; let y = positions_4[i * componentsPerAttribute + 1]; let z = positions_4[i * componentsPerAttribute + 2]; S3MModelParser.multiplyByPoint(mat, {x: x, y: y, z: z}, scratchCartesian); positions[i * 3] = scratchCartesian.x; positions[i * 3 + 1] = scratchCartesian.y; positions[i * 3 + 2] = scratchCartesian.z; minX = Math.min(minX, positions[i * 3]); minY = Math.min(minY, positions[i * 3 + 1]); minZ = Math.min(minZ, positions[i * 3 + 2]); maxX = Math.max(maxX, positions[i * 3]); maxY = Math.max(maxY, positions[i * 3 + 1]); maxZ = Math.max(maxZ, positions[i * 3 + 2]); } positionsArr.push(positions); let attrLocation = vertexPackage.attrLocation['aTexCoord0']; if(attrLocation) { let uvNum = vertexPackage.vertexAttributes[attrLocation].componentsPerAttribute; let uvsOri = new Float32Array(buffer, vertexPackage.vertexAttributes[attrLocation].offsetInBytes, verticesCount * uvNum ); let uvs = new Float32Array(verticesCount * 2); for(let i = 0; i < verticesCount; i++) { uvs[i * 2] = uvsOri[i * uvNum]; uvs[i * 2 + 1] = uvsOri[i * uvNum + 1]; } uvArr.push(uvs); } else { uvArr.push(undefined); } indices = new Uint16Array(result.buffer, geoPackage[geoName].arrIndexPackage[0].bytesOffset, geoPackage[geoName].arrIndexPackage[0].byteLength / 2); indexArr.push(indices); indicesCount += indices.length; totalVerticesCount += verticesCount; let materialCode = geoPackage[geoName].arrIndexPackage[0].materialCode; materialArr.push(materialsMap[materialCode]); } let min = [minX, minY, minZ]; let max = [maxX, maxY, maxZ]; let rawGLTFPromise = modelParser.generateGLTFBuffer(totalVerticesCount, indexArr, positionsArr, null, uvArr, null, result.texturePackage, mat, min, max, textureCodes, materialArr); rawGLTFPromise.then(function(rawGLTF) { let binaryGLTFData = modelParser._binarizeGLTF(rawGLTF); let featureTableJSON = JSON.stringify({ BATCH_LENGTH: 0 }); let batchTableJSON = JSON.stringify({}); let b3dmBuffer = modelParser._binarizeB3DM( featureTableJSON, batchTableJSON, binaryGLTFData ); postMessage({ b3dmBuffer: b3dmBuffer, pageLods: pageLods }); }); }; `;function xXe(o){this._ownerTile=o,this._dataSource=o._tileset._s3mDataSource,this._ready=!1,this._relativePath="",o._depth<=1?this._relativePath=o._header.content.uri.substring(0,o._header.content.uri.lastIndexOf("/")+1):this._relativePath=o.parent._s3mTile._relativePath}function zri(o){return function(){return o.priority}}xXe.prototype.requestContent=function(){let o=this._ownerTile,A=o._tileset._baseResource,f=o._header.content.uri,m="./data/path/"+f;if(f===""){o._contentState=bc.UNLOADED,this._ready=!0,o._content=new V9(o.tileset,o),o.hasEmptyContent=!0;return}let C=A.getDerivedResource({url:m}),E=new lp({throttle:!0,throttleByServer:!0,type:II.TILES3D,priorityFunction:zri(o),serverKey:o._serverKey});o._request=E,C.request=E;let x=C.fetchArrayBuffer();if(!O(x))return!1;o._contentState=bc.LOADING;let y=this;return x.then(function(I){y._dataSource._GLTFProcessingQueue.addTask(I).then(function(v){let B=v.gltfData,Q=new Blob([B],{type:"application/binary"});o._pageLods=v.pageLods,o._contentResource._url=URL.createObjectURL(Q),o._contentState=bc.UNLOADED,y._ready=!0,o._resolveHookedObject()})}).catch(function(I){o._contentState=bc.UNLOADED}),!1};Nx.prototype._resolveHookedObject=function(){let o=this._contentReadyToProcessPromise,A=this._contentReadyPromise;this._S3MhookedRequestContent(),o&&this._contentReadyToProcessPromise.then(()=>{o.resolve()}),A&&this._contentReadyPromise.then(()=>{this._isLoading=!1,this._content._contentReadyPromise.resolve()})};Nx.prototype._S3MhookedRequestContent=Nx.prototype.requestContent;Nx.prototype.requestContent=function(){if(!this.tileset._isS3MTileSet)return this._S3MhookedRequestContent();O(this._s3mTile)||(this._s3mTile=new xXe(this),this._contentReadyToProcessPromise=Promise.resolve(!0),this._contentReadyPromise=Promise.resolve(!0)),this._s3mTile.requestContent()};function Sre(){this._queue=[],this._processing=!1,this._createWorkers(()=>{this._process()})}Sre.prototype._process=function(){for(let o of this._workers)o.isReadyToWork&&this._queue.length>0&&this._queue.shift().execute(o);setTimeout(()=>{this._process()},100)};Sre.prototype._createWorkers=function(o){let A=Vri,f=[],m="",C=[];for(let y=0;y{I=B});C.push(v),fetch(f[y]).then(B=>{B.text().then(Q=>{m+=Q,I()})})}let E=Promise.all(C),x=this;E.then(function(){let y=new Blob([m+A],{type:"test/javascript"}),I=1;x._workers=[];for(let v=0;v=2){let M=D.getUint32(w,!0);w+=Uint32Array.BYTES_PER_ELEMENT}let R=D.getUint32(w,!0);w+=Uint32Array.BYTES_PER_ELEMENT;let P=Hri(T,w);B.postMessage({buffer:P,bytesOffset:w})},B.onmessage=function(Q){let T=B._task,w=Q.data.b3dmBuffer,S=Q.data.pageLods;B._task=null,B.isReadyToWork=!0,T.resolve({gltfData:w,pageLods:S})},B.isReadyToWork=!0,x._workers.push(B)})();o()})};Sre.prototype.addTask=function(o){let A={_data:o,execute:function(f){f.setTask(this)}};return new Promise((f,m)=>{A.resolve=f,A.reject=m,this._queue.push(A)})};var yXe=EXe,uUe=new zt;function Yri(o,A,f){let m=o.length,C,E,x;if(f){C=rn.LUMINANCE,E=$r.FLOAT,x=new Float32Array(m);for(let y=0;y distanceLimit ? 0.0: 1.0; vec3 vl = normalize(positionEC - spotPosition.xyz); float theta = dot(spotDirection, vl); float epsilon = cutOff - outerCutOff; float factor = clamp((theta - outerCutOff) / epsilon, 0.0, 1.0); sumSpotColor += vec3(colorX * factor * distanceFactor, colorY * factor * distanceFactor, colorZ * factor * distanceFactor); //float distance = length(positionEC - spotPosition.xyz); //attenuation += 1.0 / (constant + distance * linear + distance * distance * quadratic); } attenuation = 1.0; diffuse = diffuse * sumSpotColor * attenuation; color = color * u_backgroundBrightness + diffuse; return color; }`,uniforms:{u_spotmodelViewMatrix:q$,u_spotPointTexture:"123",u_backgroundBrightness:m}},translucent:!1});return C._textures.u_spotPointTexture=o,C.uniforms.u_spotPointTextureDimensions.x=A.length,C.uniforms.u_spotPointTextureDimensions.y=1,C}var Kri=new Re;function IXe(o,A,f,m,C){return new cv({lightingModel:C,uniforms:{u_spotPointTextureDimensions:{type:Ko.INT_VEC2,value:new rt(A.length,1)},u_spotPointTexture:{type:Ko.SAMPLER_2D,value:o},u_spotmodelViewMatrix:{type:Ko.MAT4,value:Kri},u_backgroundBrightness:{type:Ko.FLOAT,value:m}},fragmentShaderText:` #define Spot_Texture_Width ${A.length} ${f?"#define use_texture_float":""} float getPointComponent(int idx, float invTexSize) { vec2 uv = vec2((float(idx) + 0.5) * invTexSize, 0.5); #ifdef use_texture_float return texture(u_spotPointTexture, uv).x; #else return czm_unpackFloat(texture(u_spotPointTexture, uv)); #endif } void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) { if(u_spotPointTextureDimensions.x == 1) { material.diffuse *= 1.0; } vec3 diffuse = material.diffuse; vec3 positionEC = fsInput.attributes.positionEC.xyz; float constant = 1.0; float linear = 0.022; float quadratic = 0.0019; float attenuation = 0.0; vec3 sumSpotColor = vec3(0.0); float invTexSize = 1.0 / float(u_spotPointTextureDimensions.x); for(int idx = 0; idx distanceLimit ? 0.0: 1.0; vec3 vl = normalize(positionEC - spotPosition.xyz); float theta = dot(spotDirection, vl); float epsilon = cutOff - outerCutOff; float factor = clamp((theta - outerCutOff) / epsilon, 0.0, 1.0); sumSpotColor += vec3(colorX * factor * distanceFactor, colorY * factor * distanceFactor, colorZ * factor * distanceFactor); //float distance = length(positionEC - spotPosition.xyz); //attenuation += 1.0 / (constant + distance * linear + distance * distance * quadratic); } attenuation = 1.0; diffuse = diffuse * sumSpotColor * attenuation; material.diffuse = material.diffuse * u_backgroundBrightness + diffuse; }`})}function Wri(o,A,f,m,C,E,x){let y=Jri(A,f,E,x);o.spotMaterial=y,m.preUpdate.addEventListener(function(){let I=m.camera.viewMatrix,v=new Re;Re.multiply(I,C,v),Re.toArray(v,q$),y&&(y.uniforms.u_spotmodelViewMatrix=q$)})}function jri(o,A,f,m,C,E,x,y){let I=IXe(A,f,E,x,y);o.customShader=I,m.preUpdate.addEventListener(function(){let v=m.camera.viewMatrix,B=new Re;Re.multiply(v,C,B),I.setUniform("u_spotmodelViewMatrix",B)})}function qri(o,A,f,m,C,E,x){let y=IXe(A,f,E,x);o.customShader=y,m.preUpdate.addEventListener(function(){let I=m.camera.viewMatrix,v=new Re;Re.multiply(I,C,v),y.setUniform("u_spotmodelViewMatrix",v)})}function Dre(o,A={},f=[]){O(o)&&(this._viewer=o,this._texture=void 0,!(!O(A)&&!(O(A.globe)&&O(A.tileset)&&O(A.gltf)))&&this.initialize(o,A,f))}Dre.prototype.reSet=function(o={},A=[]){this._texture&&(this._texture.destroy(),this._texture=void 0),this.initialize(this._viewer,o,A)};Dre.prototype.destroy=function(o){!O(o)&&!(O(o.globe)&&O(o.tileset)&&O(o.gltf))||(O(o.globe)&&o.globe.spotMaterial&&(o.globe.spotMaterial=void 0),O(o.tileset)&&o.tileset.customShader&&(o.tileset.customShader=null),O(o.gltf)&&o.gltf.customShader&&(o.gltf.customShader=null),this._texture&&(this._texture.destroy(),this._texture=void 0))};Dre.prototype.initialize=function(o,A,f){if(!O(A)&&!(O(A.globe)&&O(A.tileset)&&O(A.gltf)))return;let m=oe(A.globeBrightness,.2),C=oe(A.gltfBrightness,.2),E=oe(A.tilesetBrightness,.2),x=oe(A.gltfLightModel,Mx.PBR),y=oe(A.tilesetLightModel,Mx.PBR);if(!Array.isArray(f)||f.length===0)return;let I=o.scene,v=kr.eastNorthUpToFixedFrame(f[0].position),B=new Re;Re.inverseTransformation(v,B);let Q=[],T=new Z;for(let D=0;D0?A._subdomains=A._subdomains.split(""):A._subdomains=["a","b","c"],A._tileWidth=oe(f.tileWidth,256),A._tileHeight=oe(f.tileHeight,256),A._minimumLevel=oe(f.minimumLevel,0),A._maximumLevel=f.maximumLevel,A._tilingScheme=oe(f.tilingScheme,new Zf({ellipsoid:f.ellipsoid})),A._rectangle=oe(f.rectangle,A._tilingScheme.rectangle),A._rectangle=gi.intersection(A._rectangle,A._tilingScheme.rectangle),A._hasAlphaChannel=oe(f.hasAlphaChannel,!0);let I=f.credit;return typeof I=="string"&&(I=new Qa(I)),A._credit=I,A._resource=x,A._tags=C,A._pickFeaturesResource=y,A._pickFeaturesTags=E,!0})};Q3.prototype.getTileCredits=function(o,A,f){};Q3.prototype.requestImage=function(o,A,f,m){let C=Zri(this,o,A,f,m),E=oQ.loadImage(this,C);return typeof this.loadtitle=="function"&&this.loadtitle(C),E};Q3.prototype.loadtitle=function(o){};Q3.prototype.pickFeatures=function(o,A,f,m,C){if(!this.enablePickFeatures||!O(this._pickFeaturesResource)||this._getFeatureInfoFormats.length===0)return;let E=0,x=this;function y(v,B){return v.callback(B)}function I(){if(E>=x._getFeatureInfoFormats.length)return Promise.resolve([]);let v=x._getFeatureInfoFormats[E],B=$ri(x,o,A,f,m,C,v.format);return++E,v.type==="json"?B.fetchJson().then(v.callback).otherwise(I):v.type==="xml"?B.fetchXML().then(v.callback).otherwise(I):v.type==="text"||v.type==="html"?B.fetchText().then(v.callback).otherwise(I):B.fetch({responseType:v.format}).then(y.bind(void 0,v)).otherwise(I)}return I()};var X$=!1,Uy=new gi,Z$=!1,$Y=new gi;function Zri(o,A,f,m,C){X$=!1,Z$=!1;let E=o._resource,x=E.getUrlComponent(!0),y=o._tags,I={},v=x.match(vXe);return O(v)&&v.forEach(function(B){let Q=B.substring(1,B.length-1);O(y[Q])&&(I[Q]=y[Q](o,A,f,m))}),E.getDerivedResource({request:C,templateValues:I})}var lge=!1,x4=new rt,uge=!1;function $ri(o,A,f,m,C,E,x){X$=!1,Z$=!1,lge=!1,uge=!1;let y=o._pickFeaturesResource,I=y.getUrlComponent(!0),v=o._pickFeaturesTags,B={},Q=I.match(vXe);return O(Q)&&Q.forEach(function(T){let w=T.substring(1,T.length-1);O(v[w])&&(B[w]=v[w](o,A,f,m,C,E,x))}),y.getDerivedResource({templateValues:B})}function YG(o,A,f){if(o&&o.urlSchemeZeroPadding&&o.urlSchemeZeroPadding.hasOwnProperty(A)){let m=o.urlSchemeZeroPadding[A];if(typeof m=="string"){let C=m.length;C>1&&(f=f.length>=C?f:new Array(C-f.toString().length+1).join("0")+f)}}return f}function eni(o,A,f,m){return YG(o,"{x}",A)}function tni(o,A,f,m){let C=o.tilingScheme.getNumberOfXTilesAtLevel(m)-A-1;return YG(o,"{reverseX}",C)}function ini(o,A,f,m){return YG(o,"{y}",f)}function rni(o,A,f,m){let C=o.tilingScheme.getNumberOfYTilesAtLevel(m)-f-1;return YG(o,"{reverseY}",C)}function nni(o,A,f,m){let C=o.maximumLevel,E=O(C)&&m= shadowMap_lightPositionEC.w) { discard; } distance /= shadowMap_lightPositionEC.w; // radius out_FragColor = czm_packDepth(distance); `:f?v+=` out_FragColor = vec4(1.0); `:v+=` out_FragColor = czm_packDepth(gl_FragCoord.z); `,v+=`} `,E.push(v),new _r({defines:C,sources:E})};S3.getShadowReceiveShaderKeyword=function(o,A,f,m){let C=o._usesDepthTexture,E=o._polygonOffsetSupported,x=o._isPointLight,y=o._isSpotLight,I=o._numberOfCascades>1,v=o.debugCascadeColors,B=o.softShadows;return`receiveViewShed ${C}${E}${x}${y}${I}${v}${B}${A}${f}${m}`};S3.createShadowReceiveVertexShader=function(o,A,f){let m=o.defines.slice(0),C=o.sources.slice(0);return m.push("SHADOW_MAP"),A&&(f?m.push("GENERATE_POSITION_AND_NORMAL"):m.push("GENERATE_POSITION")),new _r({defines:m,sources:C})};S3.createShadowReceiveFragmentShader=function(o,A,f,m,C){let E=_r.findNormalVarying(o),x=!m&&O(E)||m&&C,y=_r.findPositionVarying(o),I=O(y),v=A._usesDepthTexture,B=A._polygonOffsetSupported,Q=A._isPointLight,T=A._isSpotLight,w=A._numberOfCascades>1,S=A.debugCascadeColors,D=A.softShadows,R=Q?A._pointBias:m?A._terrainBias:A._primitiveBias,P=o.defines.slice(0),M=o.sources.slice(0),L=M.length;for(let N=0;N0&&P.push("USE_NORMAL_SHADING_SMOOTH"));let F="";Q?F+=`uniform samplerCube shadowMap_textureCube; `:F+=`uniform sampler2D shadowMap_texture; `;let k;return I?k=` return vec4(${y}, 1.0); `:k=`#ifndef LOG_DEPTH return czm_windowToEyeCoordinates(gl_FragCoord); #else return vec4(v_logPositionEC, 1.0); #endif `,F+=`uniform mat4 shadowMap_matrix; uniform vec3 shadowMap_lightDirectionEC; uniform vec4 shadowMap_lightPositionEC; uniform vec4 shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness; uniform vec4 shadowMap_texelSizeDepthBiasAndNormalShadingSmooth; uniform mat4 camera_projection_matrix; uniform mat4 camera_view_matrix; uniform float far; uniform vec4 u_visibleColor; uniform vec4 u_invisibleColor; #ifdef LOG_DEPTH in vec3 v_logPositionEC; #endif vec4 getPositionEC() { ${k}} vec3 getNormalEC() { ${x?` return normalize(${E}); `:` return vec3(1.0); `} return vec3(1.0); } void applyNormalOffset(inout vec4 positionEC, vec3 normalEC, float nDotL) { ${R.normalOffset&&x?` float normalOffset = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.x; float normalOffsetScale = 1.0 - nDotL; vec3 offset = normalOffset * normalOffsetScale * normalEC; positionEC.xyz += offset; `:""}} `,F+=` bool visible(in vec4 result) { result.x/=result.w; result.y/=result.w; result.z/=result.w; return result.x>=-1.&&result.x<=1.&&result.y>=-1.&&result.y<=1.&&result.z>=-1.&&result.z<=1.; } `,F+=`void main() { czm_shadow_receive_main(); vec4 positionEC = getPositionEC(); vec4 wordPos = czm_inverseView * positionEC; vec4 vcPos = camera_view_matrix * wordPos; vec3 normalEC = getNormalEC(); float depth = -positionEC.z; `,F+=` czm_shadowParameters shadowParameters; shadowParameters.texelStepSize = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.xy; shadowParameters.depthBias = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.z; shadowParameters.normalShadingSmooth = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.w; shadowParameters.darkness = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.w; `,m?F+=` shadowParameters.depthBias *= max(depth * 0.01, 1.0); `:B||(F+=` shadowParameters.depthBias *= mix(1.0, 100.0, depth * 0.0015); `),Q?F+=` vec4 posInEye = camera_projection_matrix * vcPos; if(!visible(posInEye)) { return; } vec3 directionEC = positionEC.xyz - shadowMap_lightPositionEC.xyz; float distance = length(directionEC); directionEC = normalize(directionEC); float radius = shadowMap_lightPositionEC.w; // Stop early if the fragment is beyond the point light radius if (distance > radius) { return; } vec3 directionWC = czm_inverseViewRotation * directionEC; shadowParameters.depth = distance / radius - 0.0003; shadowParameters.nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); shadowParameters.texCoords = directionWC; float visibility = czm_shadowVisibility(shadowMap_textureCube, shadowParameters); `:T?F+=` vec3 directionEC = normalize(positionEC.xyz - shadowMap_lightPositionEC.xyz); float nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); applyNormalOffset(positionEC, normalEC, nDotL); vec4 shadowPosition = shadowMap_matrix * positionEC; // Spot light uses a perspective projection, so perform the perspective divide shadowPosition /= shadowPosition.w; // Stop early if the fragment is not in the shadow bounds if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) { return; } shadowParameters.texCoords = shadowPosition.xy; shadowParameters.depth = shadowPosition.z; shadowParameters.nDotL = nDotL; float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); `:w?F+=` float maxDepth = shadowMap_cascadeSplits[1].w; // Stop early if the eye depth exceeds the last cascade if (depth > maxDepth) { return; } // Get the cascade based on the eye-space depth vec4 weights = czm_cascadeWeights(depth); // Apply normal offset float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0); applyNormalOffset(positionEC, normalEC, nDotL); // Transform position into the cascade vec4 shadowPosition = czm_cascadeMatrix(weights) * positionEC; // Get visibility shadowParameters.texCoords = shadowPosition.xy; shadowParameters.depth = shadowPosition.z; shadowParameters.nDotL = nDotL; float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); // Fade out shadows that are far away float shadowMapMaximumDistance = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.z; float fade = max((depth - shadowMapMaximumDistance * 0.8) / (shadowMapMaximumDistance * 0.2), 0.0); visibility = mix(visibility, 1.0, fade); ${S?` // Draw cascade colors for debugging out_FragColor *= czm_cascadeColor(weights); `:""}`:F+=` float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0); applyNormalOffset(positionEC, normalEC, nDotL); vec4 shadowPosition = shadowMap_matrix * positionEC; // Stop early if the fragment is not in the shadow bounds if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) { return; } shadowParameters.texCoords = shadowPosition.xy; shadowParameters.depth = shadowPosition.z; shadowParameters.nDotL = nDotL; float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); `,F+=` if(visibility > 0.3){ out_FragColor = mix(out_FragColor, u_visibleColor, .5); } else { out_FragColor = mix(out_FragColor, u_invisibleColor, .5); } } `,M.push(F),new _r({defines:P,sources:M})};var hP=S3;function CQ(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.context;this._enabled=oe(o.enabled,!0),this._softShadows=oe(o.softShadows,!1),this._normalOffset=oe(o.normalOffset,!0),this.dirty=!0,this.fromLightSource=oe(o.fromLightSource,!0),this.darkness=oe(o.darkness,.3),this._darkness=this.darkness,this.maximumDistance=oe(o.maximumDistance,5e3),this._outOfView=!1,this._outOfViewPrevious=!1,this._needsUpdate=!0;let f=!0;(wo.isInternetExplorer()||wo.isEdge()||(wo.isChrome()||wo.isFirefox())&&wo.isWindows()&&!A.depthTexture)&&(f=!1),this._polygonOffsetSupported=f,this._terrainBias={polygonOffset:f,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.5,normalShading:!0,normalShadingSmooth:.3,depthBias:1e-4},this._primitiveBias={polygonOffset:f,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.1,normalShading:!0,normalShadingSmooth:.05,depthBias:2e-5},this._pointBias={polygonOffset:!1,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:0,normalShading:!0,normalShadingSmooth:.1,depthBias:5e-4},this._depthAttachment=void 0,this._colorAttachment=void 0,this._shadowMapMatrix=new Re,this._shadowMapTexture=void 0,this._lightDirectionEC=new Z,this._lightPositionEC=new zt,this._distance=0,this._lightCamera=o.lightCamera,this._shadowMapCamera=new Rre,this._shadowMapCullingVolume=void 0,this._sceneCamera=void 0,this._boundingSphere=new hi,this._isPointLight=oe(o.isPointLight,!1),this._pointLightRadius=oe(o.pointLightRadius,100),this._cascadesEnabled=this._isPointLight?!1:oe(o.cascadesEnabled,!0),this._numberOfCascades=this._cascadesEnabled?oe(o.numberOfCascades,4):0,this._fitNearFar=!1,this._maximumCascadeDistances=[25,150,700,Number.MAX_VALUE],this._textureSize=new rt,this._isSpotLight=!1,this._cascadesEnabled?this._shadowMapCamera.frustum=new Xf:O(this._lightCamera.frustum.fov)&&(this._isSpotLight=!0),this._cascadeSplits=[new zt,new zt],this._cascadeMatrices=[new Re,new Re,new Re,new Re],this._cascadeDistances=new zt;let m;this._isPointLight?m=6:this._cascadesEnabled?m=this._numberOfCascades:m=1,this._passes=new Array(m);for(let C=0;C=A?A:Zn.maximumCubeMapSize,C.x=A,C.y=A;let E=new vr(0,0,A,A);f[0].passState.viewport=E,f[1].passState.viewport=E,f[2].passState.viewport=E,f[3].passState.viewport=E,f[4].passState.viewport=E,f[5].passState.viewport=E}else m===1?(A=Zn.maximumTextureSize>=A?A:Zn.maximumTextureSize,C.x=A,C.y=A,f[0].passState.viewport=new vr(0,0,A,A)):m===4&&(A=Zn.maximumTextureSize>=A*2?A:Zn.maximumTextureSize/2,C.x=A*2,C.y=A*2,f[0].passState.viewport=new vr(0,0,A,A),f[1].passState.viewport=new vr(A,0,A,A),f[2].passState.viewport=new vr(0,A,A,A),f[3].passState.viewport=new vr(A,A,A,A));o._clearPassState.viewport=new vr(0,0,C.x,C.y);for(let E=0;E=o.maximumDistance){o._outOfView=!0,o._needsUpdate=!1;return}let E=A.mapProjection.ellipsoid.geodeticSurfaceNormal(f.positionWC,toi),x=Z.negate(m.directionWC,ioi),y=Z.dot(E,x),I=Be.clamp(y/.1,0,1);if(o._darkness=Be.lerp(1,o.darkness,I),y<0){o._outOfView=!0,o._needsUpdate=!1;return}o._needsUpdate=!0,o._outOfView=!1}else if(o._isPointLight)C.center=m.positionWC,C.radius=o._pointLightRadius,o._outOfView=A.cullingVolume.computeVisibility(C)===sa.OUTSIDE,o._needsUpdate=!o._outOfView&&!o._boundingSphere.equals(C),hi.clone(C,o._boundingSphere);else{let E=m.frustum.far/2,x=Z.add(m.positionWC,Z.multiplyByScalar(m.directionWC,E,cUe),cUe);C.center=x,C.radius=E,o._outOfView=A.cullingVolume.computeVisibility(C)===sa.OUTSIDE,o._needsUpdate=!o._outOfView&&!o._boundingSphere.equals(C),hi.clone(C,o._boundingSphere)}}function noi(o,A){let f=A.camera,m=o._lightCamera,C=o._sceneCamera,E=o._shadowMapCamera;o._cascadesEnabled?Z.clone(m.directionWC,E.directionWC):o._isPointLight?Z.clone(m.positionWC,E.positionWC):E.clone(m);let x=o._lightDirectionEC;Re.multiplyByPointAsVector(f.viewMatrix,E.directionWC,x),Z.normalize(x,x),Z.negate(x,x),Re.multiplyByPoint(f.viewMatrix,E.positionWC,o._lightPositionEC),o._lightPositionEC.w=o._pointLightRadius;let y,I;o._fitNearFar?(y=Math.min(A.viewShedState.nearPlane,o.maximumDistance),I=Math.min(A.viewShedState.farPlane,o.maximumDistance+1)):(y=f.frustum.near,I=o.maximumDistance),o._sceneCamera=Ls.clone(f,C),f.frustum.clone(o._sceneCamera.frustum),o._sceneCamera.frustum.near=y,o._sceneCamera.frustum.far=I,o._distance=I-y,roi(o,A),!o._outOfViewPrevious&&o._outOfView&&(o._needsUpdate=!0),o._outOfViewPrevious=o._outOfView}CQ.prototype.update=function(o){if(noi(this,o),this._needsUpdate)if(Pni(this,o.context),this._isPointLight&&eoi(this,o),this._cascadesEnabled&&(qni(this,o),this._numberOfCascades>1&&Jni(this,o)),this._isPointLight)this._shadowMapCullingVolume=Mg.fromBoundingSphere(this._boundingSphere);else{let A=this._shadowMapCamera,f=A.positionWC,m=A.directionWC,C=A.upWC;this._shadowMapCullingVolume=A.frustum.computeCullingVolume(f,m,C),this._passes.length===1&&this._passes[0].camera.clone(A)}if(this._passes.length===1){let A=this._sceneCamera.inverseViewMatrix;Re.multiply(this._shadowMapCamera.getViewProjection(),A,this._shadowMapMatrix)}this.debugShow&&Gni(this,o)};CQ.prototype.updatePass=function(o,A){QXe(this,o,A)};var ooi=new rt;function MXe(o,A,f){let m=o._isPointLight?o._pointBias:f?o._terrainBias:o._primitiveBias,C={shadowMap_texture:function(){return o._shadowMapTexture},shadowMap_textureCube:function(){return o._shadowMapTexture},shadowMap_matrix:function(){return o._shadowMapMatrix},shadowMap_cascadeSplits:function(){return o._cascadeSplits},shadowMap_cascadeMatrices:function(){return o._cascadeMatrices},shadowMap_lightDirectionEC:function(){return o._lightDirectionEC},shadowMap_lightPositionEC:function(){return o._lightPositionEC},shadowMap_cascadeDistances:function(){return o._cascadeDistances},shadowMap_texelSizeDepthBiasAndNormalShadingSmooth:function(){let E=ooi;return E.x=1/o._textureSize.x,E.y=1/o._textureSize.y,zt.fromElements(E.x,E.y,m.depthBias,m.normalShadingSmooth,this.combinedUniforms1)},shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness:function(){return zt.fromElements(m.normalOffsetScale,o._distance,o.maximumDistance,o._darkness,this.combinedUniforms2)},camera_projection_matrix:function(){return o._lightCamera.frustum.projectionMatrix},camera_view_matrix:function(){return o._lightCamera.viewMatrix},far:function(){return o._pointLightRadius},u_visibleColor:function(){return o.visibleColor},u_invisibleColor:function(){return o.invisibleColor},combinedUniforms1:new zt,combinedUniforms2:new zt};return So(A,C,!1)}function aoi(o,A,f,m,C,E){let x,y,I;if(O(E)&&(x=E.shaderProgram,y=E.renderState,I=E.uniformMap),E=fn.shallowClone(f,E),E.castShadows=!0,E.receiveShadows=!1,!O(x)||C!==f.shaderProgram.id||A){let v=f.shaderProgram,B=f.pass===Yi.GLOBE,Q=f.pass!==Yi.TRANSLUCENT,T=o._isPointLight,w=o._usesDepthTexture,S=hP.getShadowCastShaderKeyword(T,B,w,Q);if(x=m.shaderCache.getDerivedShaderProgram(v,S),!O(x)){let D=v.vertexShaderSource,R=v.fragmentShaderSource,P=hP.createShadowCastVertexShader(D,T,B),M=hP.createShadowCastFragmentShader(R,T,w,Q);x=m.shaderCache.createDerivedShaderProgram(v,S,{vertexShaderSource:P,fragmentShaderSource:M,attributeLocations:v._attributeLocations})}y=o._primitiveRenderState,T?y=o._pointRenderState:B&&(y=o._terrainRenderState),f.renderState.cull.enabled||(y=Sn(y,!1),y.cull=Sn(y.cull,!1),y.cull.enabled=!1,y=Xr.fromCache(y)),I=MXe(o,f.uniformMap,B)}return E.shaderProgram=x,E.renderState=y,E.uniformMap=I,E}CQ.createReceiveDerivedCommand=function(o,A,f,m,C){O(C)||(C={});let E=o.length>0,x=A.shaderProgram,y=x.vertexShaderSource,I=x.fragmentShaderSource,v=A.pass===Yi.GLOBE,B=!1;if(v&&(B=A.owner.data.renderedMesh.encoding.hasVertexNormals),A.receiveShadows&&E){let Q,T;O(C.receiveCommand)&&(Q=C.receiveCommand.shaderProgram,T=C.receiveCommand.uniformMap),C.receiveCommand=fn.shallowClone(A,C.receiveCommand),C.castShadows=!1,C.receiveShadows=!0;let w=C.receiveShaderCastShadows!==A.castShadows,S=C.receiveShaderProgramId!==A.shaderProgram.id;if(!O(Q)||S||f||w){let D=hP.getShadowReceiveShaderKeyword(o[0],A.castShadows,v,B);if(Q=m.shaderCache.getDerivedShaderProgram(x,D),!O(Q)){let R=hP.createShadowReceiveVertexShader(y,v,B),P=hP.createShadowReceiveFragmentShader(I,o[0],A.castShadows,v,B);Q=m.shaderCache.createDerivedShaderProgram(x,D,{vertexShaderSource:R,fragmentShaderSource:P,attributeLocations:x._attributeLocations})}T=MXe(o[0],A.uniformMap,v)}C.receiveCommand.shaderProgram=Q,C.receiveCommand.uniformMap=T,C.receiveShaderProgramId=A.shaderProgram.id,C.receiveShaderCastShadows=A.castShadows}return C};CQ.createCastDerivedCommand=function(o,A,f,m,C){if(O(C)||(C={}),A.castShadows){let E=C.castCommands;O(E)||(E=C.castCommands=[]);let x=C.castShaderProgramId,y=o.length;E.length=y;for(let I=0;I-1&&m.derivedKeywords.splice(x,1)}return this.createDerivedShaderProgram(o,A,f)};Qw.prototype.getDerivedShaderProgram=function(o,A){let f=o._cachedShader,m=A+f.keyword,C=this._shaders[m];if(O(C))return C.shaderProgram};Qw.prototype.createDerivedShaderProgram=function(o,A,f){let m=o._cachedShader,C=A+m.keyword,E=f.vertexShaderSource,x=f.fragmentShaderSource,y=f.attributeLocations;typeof E=="string"&&(E=new _r({sources:[E]})),typeof x=="string"&&(x=new _r({sources:[x]}));let I=this._context,v=E.createCombinedVertexShader(I),B=x.createCombinedFragmentShader(I),Q=new qa({gl:I._gl,logShaderCompilation:I.logShaderCompilation,debugShaders:I.debugShaders,vertexShaderSource:E,vertexShaderText:v,fragmentShaderSource:x,fragmentShaderText:B,attributeLocations:y}),T={cache:this,shaderProgram:Q,keyword:C,derivedKeywords:[],count:0};return m.derivedKeywords.push(A),Q._cachedShader=T,this._shaders[C]=T,Q};function _ve(o,A){let f=A.derivedKeywords,m=f.length;for(let C=0;Cxoi;++E){C=m;let x=C-A*Math.sin(C)-o,y=1-A*Math.cos(C);m=C-x/y}return C=m+f*Be.TWO_PI,C}function Ioi(o,A){let f=Math.floor(o/Be.TWO_PI);o-=f*Be.TWO_PI;let m=Math.cos(o)-A,C=Math.sin(o)*Math.sqrt(1-A*A),E=Math.atan2(C,m);return E=Be.zeroToTwoPi(E),o<0&&(E-=Be.TWO_PI),E+=f*Be.TWO_PI,E}function _oi(o,A,f,m){let C=Math.cos(o),E=Math.sin(o),x=Math.cos(A),y=Math.sin(A),I=Math.cos(f),v=Math.sin(f);return O(m)?(m[0]=I*C-v*E*x,m[1]=v*C+I*E*x,m[2]=E*y,m[3]=-I*E-v*C*x,m[4]=-v*E+I*C*x,m[5]=C*y,m[6]=v*y,m[7]=-I*y,m[8]=x):m=new Gt(I*C-v*E*x,-I*E-v*C*x,v*y,v*C+I*E*x,-v*E+I*C*x,-I*y,E*y,C*y,x),m}var voi=1.0000010178*rm,Boi=100.46645683*__,woi=129597742283429e-5*Gy,dUe=16002,fUe=21863,gUe=32004,pUe=10931,mUe=14529,CUe=16368,EUe=15318,xUe=32794,boi=64*1e-7*rm,Qoi=-152*1e-7*rm,Soi=62*1e-7*rm,Doi=-8*1e-7*rm,Toi=32*1e-7*rm,Moi=-41*1e-7*rm,Poi=19*1e-7*rm,Roi=-11*1e-7*rm,Loi=-150*1e-7*rm,Foi=-46*1e-7*rm,Noi=68*1e-7*rm,koi=54*1e-7*rm,Ooi=14*1e-7*rm,Uoi=24*1e-7*rm,Goi=-28*1e-7*rm,Hoi=22*1e-7*rm,yUe=10,IUe=16002,_Ue=21863,vUe=10931,BUe=1473,wUe=32004,bUe=4387,QUe=73,Voi=-325*1e-7,zoi=-322*1e-7,Yoi=-79*1e-7,Joi=232*1e-7,Koi=-52*1e-7,Woi=97*1e-7,joi=55*1e-7,qoi=-41*1e-7,Xoi=-105*1e-7,Zoi=-137*1e-7,$oi=258*1e-7,eai=35*1e-7,tai=-116*1e-7,iai=-88*1e-7,rai=-112*1e-7,nai=-80*1e-7,T5=new Zt(0,0,_l.TAI);function oai(o,A){RXe(o,T5);let f=(T5.dayNumber-$$.dayNumber+(T5.secondsOfDay-$$.secondsOfDay)/lu.SECONDS_PER_DAY)/(lu.DAYS_PER_JULIAN_CENTURY*10),m=.3595362*f,C=voi+boi*Math.cos(dUe*m)+Loi*Math.sin(dUe*m)+Qoi*Math.cos(fUe*m)+Foi*Math.sin(fUe*m)+Soi*Math.cos(gUe*m)+Noi*Math.sin(gUe*m)+Doi*Math.cos(pUe*m)+koi*Math.sin(pUe*m)+Toi*Math.cos(mUe*m)+Ooi*Math.sin(mUe*m)+Moi*Math.cos(CUe*m)+Uoi*Math.sin(CUe*m)+Poi*Math.cos(EUe*m)+Goi*Math.sin(EUe*m)+Roi*Math.cos(xUe*m)+Hoi*Math.sin(xUe*m),E=Boi+woi*f+Voi*Math.cos(yUe*m)+Xoi*Math.sin(yUe*m)+zoi*Math.cos(IUe*m)+Zoi*Math.sin(IUe*m)+Yoi*Math.cos(_Ue*m)+$oi*Math.sin(_Ue*m)+Joi*Math.cos(vUe*m)+eai*Math.sin(vUe*m)+Koi*Math.cos(BUe*m)+tai*Math.sin(BUe*m)+Woi*Math.cos(wUe*m)+iai*Math.sin(wUe*m)+joi*Math.cos(bUe*m)+rai*Math.sin(bUe*m)+qoi*Math.cos(QUe*m)+nai*Math.sin(QUe*m),x=.0167086342-.0004203654*f,y=102.93734808*__+11612.3529*Gy*f,I=469.97289*Gy*f,v=174.87317577*__-8679.27034*Gy*f;return LXe(C,x,I,y,v,E,A)}function FXe(o,A){RXe(o,T5);let f=(T5.dayNumber-$$.dayNumber+(T5.secondsOfDay-$$.secondsOfDay)/lu.SECONDS_PER_DAY)/lu.DAYS_PER_JULIAN_CENTURY,m=f*f,C=m*f,E=C*f,x=383397.7725+.004*f,y=.055545526-16e-9*f,I=5.15668983*__,v=-8e-5*f+.02966*m-42e-6*C-13e-8*E,B=83.35324312*__,Q=146434202669e-4*f-38.2702*m-.045047*C+21301e-8*E,T=125.04455501*__,w=-69679193631e-4*f+6.3602*m+.007625*C-3586e-8*E,S=218.31664563*__,D=17325593434847e-4*f-6.391*m+.006588*C-3169e-8*E,R=297.85019547*__+Gy*(1602961601209e-3*f-6.3706*m+.006593*C-3169e-8*E),P=93.27209062*__+Gy*(17395272628478e-4*f-12.7512*m-.001037*C+417e-8*E),M=134.96340251*__+Gy*(17179159232178e-4*f+31.8792*m+.051635*C-2447e-7*E),L=357.52910918*__+Gy*(1295965810481e-4*f-.5532*m+136e-6*C-1149e-8*E),F=310.17137918*__-Gy*(6967051436e-3*f+6.2068*m+.007618*C-3219e-8*E),k=2*R,N=4*R,G=6*R,J=2*M,K=3*M,X=4*M,q=2*P;x+=3400.4*Math.cos(k)-635.6*Math.cos(k-M)-235.6*Math.cos(M)+218.1*Math.cos(k-L)+181*Math.cos(k+M),y+=.014216*Math.cos(k-M)+.008551*Math.cos(k-J)-.001383*Math.cos(M)+.001356*Math.cos(k+M)-.001147*Math.cos(N-K)-914e-6*Math.cos(N-J)+869e-6*Math.cos(k-L-M)-627e-6*Math.cos(k)-394e-6*Math.cos(N-X)+282e-6*Math.cos(k-L-J)-279e-6*Math.cos(R-M)-236e-6*Math.cos(J)+231e-6*Math.cos(N)+229e-6*Math.cos(G-X)-201e-6*Math.cos(J-q),v+=486.26*Math.cos(k-q)-40.13*Math.cos(k)+37.51*Math.cos(q)+25.73*Math.cos(J-q)+19.97*Math.cos(k-L-q),Q+=-55609*Math.sin(k-M)-34711*Math.sin(k-J)-9792*Math.sin(M)+9385*Math.sin(N-K)+7505*Math.sin(N-J)+5318*Math.sin(k+M)+3484*Math.sin(N-X)-3417*Math.sin(k-L-M)-2530*Math.sin(G-X)-2376*Math.sin(k)-2075*Math.sin(k-K)-1883*Math.sin(J)-1736*Math.sin(G-5*M)+1626*Math.sin(L)-1370*Math.sin(G-K),w+=-5392*Math.sin(k-q)-540*Math.sin(L)-441*Math.sin(k)+423*Math.sin(q)-288*Math.sin(J-q),D+=-3332.9*Math.sin(k)+1197.4*Math.sin(k-M)-662.5*Math.sin(L)+396.3*Math.sin(M)-218*Math.sin(k-L);let ee=2*F,ie=3*F;v+=46.997*Math.cos(F)*f-.614*Math.cos(k-q+F)*f+.614*Math.cos(k-q-F)*f-.0297*Math.cos(ee)*m-.0335*Math.cos(F)*m+.0012*Math.cos(k-q+ee)*m-16e-5*Math.cos(F)*C+4e-5*Math.cos(ie)*C+4e-5*Math.cos(ee)*C;let H=2.116*Math.sin(F)*f-.111*Math.sin(k-q-F)*f-.0015*Math.sin(F)*m;Q+=H,D+=H,w+=-520.77*Math.sin(F)*f+13.66*Math.sin(k-q+F)*f+1.12*Math.sin(k-F)*f-1.06*Math.sin(q-F)*f+.66*Math.sin(ee)*m+.371*Math.sin(F)*m-.035*Math.sin(k-q+ee)*m-.015*Math.sin(k-q+F)*m+.0014*Math.sin(F)*C-.0011*Math.sin(ie)*C-9e-4*Math.sin(ee)*C,x*=poi;let le=I+v*Gy,ue=B+Q*Gy,Ae=S+D*Gy,he=T+w*Gy;return LXe(x,y,le,ue,he,Ae,A)}var SUe=.012300034,aai=SUe/(SUe+1)*-1;function sai(o,A){return A=FXe(o,A),Z.multiplyByScalar(A,aai,A)}var NXe=new Gt(1.0000000000000002,5619723173785822e-31,4690511510146299e-34,-5154129427414611e-31,.9174820620691819,-.39777715593191376,-223970096136568e-30,.39777715593191376,.9174820620691819),_V=new Z;wve.computeSunPositionInEarthInertialFrame=function(o,A){return O(o)||(o=Zt.now()),O(A)||(A=new Z),_V=oai(o,_V),A=Z.negate(_V,A),sai(o,_V),Z.subtract(A,_V,A),Gt.multiplyByVector(NXe,A,A),A};wve.computeMoonPositionInEarthInertialFrame=function(o,A){return O(o)||(o=Zt.now()),A=FXe(o,A),Gt.multiplyByVector(NXe,A,A),A};var z9=wve;function lai(o){o=oe(o,oe.EMPTY_OBJECT),this.color=Ve.clone(oe(o.color,Ve.WHITE)),this.intensity=oe(o.intensity,2)}var KG=lai;function WG(){this.globeDepthTexture=void 0,this.gamma=void 0,this._viewport=new vr,this._viewportCartesian4=new zt,this._viewportDirty=!1,this._viewportOrthographicMatrix=Re.clone(Re.IDENTITY),this._viewportTransformation=Re.clone(Re.IDENTITY),this._model=Re.clone(Re.IDENTITY),this._view=Re.clone(Re.IDENTITY),this._inverseView=Re.clone(Re.IDENTITY),this._projection=Re.clone(Re.IDENTITY),this._infiniteProjection=Re.clone(Re.IDENTITY),this._entireFrustum=new rt,this._currentFrustum=new rt,this._frustumPlanes=new zt,this._farDepthFromNearPlusOne=void 0,this._log2FarDepthFromNearPlusOne=void 0,this._oneOverLog2FarDepthFromNearPlusOne=void 0,this._frameState=void 0,this._temeToPseudoFixed=Gt.clone(Re.IDENTITY),this._view3DDirty=!0,this._view3D=new Re,this._inverseView3DDirty=!0,this._inverseView3D=new Re,this._inverseModelDirty=!0,this._inverseModel=new Re,this._inverseTransposeModelDirty=!0,this._inverseTransposeModel=new Gt,this._viewRotation=new Gt,this._inverseViewRotation=new Gt,this._viewRotation3D=new Gt,this._inverseViewRotation3D=new Gt,this._inverseProjectionDirty=!0,this._inverseProjection=new Re,this._modelViewDirty=!0,this._modelView=new Re,this._modelView3DDirty=!0,this._modelView3D=new Re,this._modelViewRelativeToEyeDirty=!0,this._modelViewRelativeToEye=new Re,this._inverseModelViewDirty=!0,this._inverseModelView=new Re,this._inverseModelView3DDirty=!0,this._inverseModelView3D=new Re,this._viewProjectionDirty=!0,this._viewProjection=new Re,this._inverseViewProjectionDirty=!0,this._inverseViewProjection=new Re,this._modelViewProjectionDirty=!0,this._modelViewProjection=new Re,this._inverseModelViewProjectionDirty=!0,this._inverseModelViewProjection=new Re,this._modelViewProjectionRelativeToEyeDirty=!0,this._modelViewProjectionRelativeToEye=new Re,this._modelViewInfiniteProjectionDirty=!0,this._modelViewInfiniteProjection=new Re,this._normalDirty=!0,this._normal=new Gt,this._normal3DDirty=!0,this._normal3D=new Gt,this._inverseNormalDirty=!0,this._inverseNormal=new Gt,this._inverseNormal3DDirty=!0,this._inverseNormal3D=new Gt,this._encodedCameraPositionMCDirty=!0,this._encodedCameraPositionMC=new eu,this._cameraPosition=new Z,this._sunPositionWC=new Z,this._sunPositionColumbusView=new Z,this._sunDirectionWC=new Z,this._sunDirectionEC=new Z,this._moonDirectionEC=new Z,this._lightDirectionWC=new Z,this._lightDirectionEC=new Z,this._lightColor=new Z,this._lightColorHdr=new Z,this._pass=void 0,this._mode=void 0,this._mapProjection=void 0,this._ellipsoid=void 0,this._cameraDirection=new Z,this._cameraRight=new Z,this._cameraUp=new Z,this._frustum2DWidth=0,this._eyeHeight=0,this._eyeHeight2D=new rt,this._pixelRatio=1,this._orthographicIn3D=!1,this._backgroundColor=new Ve,this._brdfLut=void 0,this._environmentMap=void 0,this._sphericalHarmonicCoefficients=void 0,this._specularEnvironmentMaps=void 0,this._specularEnvironmentMapsDimensions=new rt,this._specularEnvironmentMapsMaximumLOD=void 0,this._fogDensity=void 0,this._invertClassificationColor=void 0,this._splitPosition=0,this._pixelSizePerMeter=void 0,this._geometricToleranceOverMeter=void 0,this._minimumDisableDepthTestDistance=void 0}Object.defineProperties(WG.prototype,{frameState:{get:function(){return this._frameState}},viewport:{get:function(){return this._viewport},set:function(o){if(!vr.equals(o,this._viewport)){vr.clone(o,this._viewport);let A=this._viewport,f=this._viewportCartesian4;f.x=A.x,f.y=A.y,f.z=A.width,f.w=A.height,this._viewportDirty=!0}}},viewportCartesian4:{get:function(){return this._viewportCartesian4}},viewportOrthographic:{get:function(){return MUe(this),this._viewportOrthographicMatrix}},viewportTransformation:{get:function(){return MUe(this),this._viewportTransformation}},model:{get:function(){return this._model},set:function(o){Re.clone(o,this._model),this._modelView3DDirty=!0,this._inverseModelView3DDirty=!0,this._inverseModelDirty=!0,this._inverseTransposeModelDirty=!0,this._modelViewDirty=!0,this._inverseModelViewDirty=!0,this._modelViewRelativeToEyeDirty=!0,this._inverseModelViewDirty=!0,this._modelViewProjectionDirty=!0,this._inverseModelViewProjectionDirty=!0,this._modelViewProjectionRelativeToEyeDirty=!0,this._modelViewInfiniteProjectionDirty=!0,this._normalDirty=!0,this._inverseNormalDirty=!0,this._normal3DDirty=!0,this._inverseNormal3DDirty=!0,this._encodedCameraPositionMCDirty=!0}},inverseModel:{get:function(){return this._inverseModelDirty&&(this._inverseModelDirty=!1,Re.inverse(this._model,this._inverseModel)),this._inverseModel}},inverseTransposeModel:{get:function(){let o=this._inverseTransposeModel;return this._inverseTransposeModelDirty&&(this._inverseTransposeModelDirty=!1,Re.getMatrix3(this.inverseModel,o),Gt.transpose(o,o)),o}},view:{get:function(){return this._view}},view3D:{get:function(){return mhe(this),this._view3D}},viewRotation:{get:function(){return mhe(this),this._viewRotation}},viewRotation3D:{get:function(){return mhe(this),this._viewRotation3D}},inverseView:{get:function(){return this._inverseView}},inverseView3D:{get:function(){return LUe(this),this._inverseView3D}},inverseViewRotation:{get:function(){return this._inverseViewRotation}},inverseViewRotation3D:{get:function(){return LUe(this),this._inverseViewRotation3D}},projection:{get:function(){return this._projection}},inverseProjection:{get:function(){return Cai(this),this._inverseProjection}},infiniteProjection:{get:function(){return this._infiniteProjection}},modelView:{get:function(){return Eai(this),this._modelView}},modelView3D:{get:function(){return xai(this),this._modelView3D}},modelViewRelativeToEye:{get:function(){return wai(this),this._modelViewRelativeToEye}},inverseModelView:{get:function(){return yai(this),this._inverseModelView}},inverseModelView3D:{get:function(){return Iai(this),this._inverseModelView3D}},viewProjection:{get:function(){return _ai(this),this._viewProjection}},inverseViewProjection:{get:function(){return vai(this),this._inverseViewProjection}},modelViewProjection:{get:function(){return Bai(this),this._modelViewProjection}},inverseModelViewProjection:{get:function(){return bai(this),this._inverseModelViewProjection}},modelViewProjectionRelativeToEye:{get:function(){return Qai(this),this._modelViewProjectionRelativeToEye}},modelViewInfiniteProjection:{get:function(){return Sai(this),this._modelViewInfiniteProjection}},normal:{get:function(){return Dai(this),this._normal}},normal3D:{get:function(){return Tai(this),this._normal3D}},inverseNormal:{get:function(){return Mai(this),this._inverseNormal}},inverseNormal3D:{get:function(){return Pai(this),this._inverseNormal3D}},entireFrustum:{get:function(){return this._entireFrustum}},currentFrustum:{get:function(){return this._currentFrustum}},frustumPlanes:{get:function(){return this._frustumPlanes}},farDepthFromNearPlusOne:{get:function(){return this._farDepthFromNearPlusOne}},log2FarDepthFromNearPlusOne:{get:function(){return this._log2FarDepthFromNearPlusOne}},oneOverLog2FarDepthFromNearPlusOne:{get:function(){return this._oneOverLog2FarDepthFromNearPlusOne}},eyeHeight:{get:function(){return this._eyeHeight}},eyeHeight2D:{get:function(){return this._eyeHeight2D}},sunPositionWC:{get:function(){return this._sunPositionWC}},sunPositionColumbusView:{get:function(){return this._sunPositionColumbusView}},sunDirectionWC:{get:function(){return this._sunDirectionWC}},sunDirectionEC:{get:function(){return this._sunDirectionEC}},moonDirectionEC:{get:function(){return this._moonDirectionEC}},lightDirectionWC:{get:function(){return this._lightDirectionWC}},lightDirectionEC:{get:function(){return this._lightDirectionEC}},lightColor:{get:function(){return this._lightColor}},lightColorHdr:{get:function(){return this._lightColorHdr}},encodedCameraPositionMCHigh:{get:function(){return RUe(this),this._encodedCameraPositionMC.high}},encodedCameraPositionMCLow:{get:function(){return RUe(this),this._encodedCameraPositionMC.low}},temeToPseudoFixedMatrix:{get:function(){return this._temeToPseudoFixed}},pixelRatio:{get:function(){return this._pixelRatio}},fogDensity:{get:function(){return this._fogDensity}},geometricToleranceOverMeter:{get:function(){return this._geometricToleranceOverMeter}},pass:{get:function(){return this._pass}},backgroundColor:{get:function(){return this._backgroundColor}},brdfLut:{get:function(){return this._brdfLut}},environmentMap:{get:function(){return this._environmentMap}},sphericalHarmonicCoefficients:{get:function(){return this._sphericalHarmonicCoefficients}},specularEnvironmentMaps:{get:function(){return this._specularEnvironmentMaps}},specularEnvironmentMapsDimensions:{get:function(){return this._specularEnvironmentMapsDimensions}},specularEnvironmentMapsMaximumLOD:{get:function(){return this._specularEnvironmentMapsMaximumLOD}},splitPosition:{get:function(){return this._splitPosition}},minimumDisableDepthTestDistance:{get:function(){return this._minimumDisableDepthTestDistance}},invertClassificationColor:{get:function(){return this._invertClassificationColor}},orthographicIn3D:{get:function(){return this._orthographicIn3D}},ellipsoid:{get:function(){return oe(this._ellipsoid,Ci.WGS84)}}});function uai(o,A){Re.clone(A,o._view),Re.getMatrix3(A,o._viewRotation),o._view3DDirty=!0,o._inverseView3DDirty=!0,o._modelViewDirty=!0,o._modelView3DDirty=!0,o._modelViewRelativeToEyeDirty=!0,o._inverseModelViewDirty=!0,o._inverseModelView3DDirty=!0,o._viewProjectionDirty=!0,o._inverseViewProjectionDirty=!0,o._modelViewProjectionDirty=!0,o._modelViewProjectionRelativeToEyeDirty=!0,o._modelViewInfiniteProjectionDirty=!0,o._normalDirty=!0,o._inverseNormalDirty=!0,o._normal3DDirty=!0,o._inverseNormal3DDirty=!0}function Aai(o,A){Re.clone(A,o._inverseView),Re.getMatrix3(A,o._inverseViewRotation)}function cai(o,A){Re.clone(A,o._projection),o._inverseProjectionDirty=!0,o._viewProjectionDirty=!0,o._inverseViewProjectionDirty=!0,o._modelViewProjectionDirty=!0,o._modelViewProjectionRelativeToEyeDirty=!0}function hai(o,A){Re.clone(A,o._infiniteProjection),o._modelViewInfiniteProjectionDirty=!0}function dai(o,A){Z.clone(A.positionWC,o._cameraPosition),Z.clone(A.directionWC,o._cameraDirection),Z.clone(A.rightWC,o._cameraRight),Z.clone(A.upWC,o._cameraUp);let f=A.positionCartographic;O(f)?o._eyeHeight=f.height:o._eyeHeight=-o._ellipsoid.maximumRadius,o._encodedCameraPositionMCDirty=!0}var vV=new Gt,fai=new Rt,DUe=new Z,TUe=new Z;function gai(o,A){O(kr.computeIcrfToFixedMatrix(A.time,vV))||(vV=kr.computeTemeToPseudoFixedMatrix(A.time,vV));let f=z9.computeSunPositionInEarthInertialFrame(A.time,o._sunPositionWC);if(Gt.multiplyByVector(vV,f,f),Z.normalize(f,o._sunDirectionWC),cE.isMoon()&&Z.clone(o._sunPositionWC,DUe),f=Gt.multiplyByVector(o.viewRotation3D,f,o._sunDirectionEC),Z.normalize(f,f),f=z9.computeMoonPositionInEarthInertialFrame(A.time,o._moonDirectionEC),Gt.multiplyByVector(vV,f,f),cE.isMoon()){Z.clone(f,TUe);let E=Z.subtract(DUe,TUe,new Z),x=Gt.multiplyByVector(o.viewRotation3D,E,o._sunDirectionEC);Z.normalize(x,x)}Gt.multiplyByVector(o.viewRotation3D,f,f),Z.normalize(f,f);let m=A.mapProjection,C=m.ellipsoid.cartesianToCartographic(o._sunPositionWC,fai);m.project(C,o._sunPositionColumbusView)}WG.prototype.updateCamera=function(o){uai(this,o.viewMatrix),Aai(this,o.inverseViewMatrix),dai(this,o),this._entireFrustum.x=o.frustum.near,this._entireFrustum.y=o.frustum.far,this.updateFrustum(o.frustum),this._orthographicIn3D=this._mode!==ni.SCENE2D&&o.frustum instanceof us};WG.prototype.updateFrustum=function(o){cai(this,o.projectionMatrix),O(o.infiniteProjectionMatrix)&&hai(this,o.infiniteProjectionMatrix),this._currentFrustum.x=o.near,this._currentFrustum.y=o.far,this._farDepthFromNearPlusOne=o.far-o.near+1,this._log2FarDepthFromNearPlusOne=Be.log2(this._farDepthFromNearPlusOne),this._oneOverLog2FarDepthFromNearPlusOne=1/this._log2FarDepthFromNearPlusOne;let A=o.offCenterFrustum;O(A)&&(o=A),this._frustumPlanes.x=o.top,this._frustumPlanes.y=o.bottom,this._frustumPlanes.z=o.left,this._frustumPlanes.w=o.right};WG.prototype.updatePass=function(o){this._pass=o};var pai=[],mai=new KG;WG.prototype.update=function(o){this._mode=o.mode,this._mapProjection=o.mapProjection,this._ellipsoid=o.mapProjection.ellipsoid,this._pixelRatio=o.pixelRatio;let A=o.camera;this.updateCamera(A),o.mode===ni.SCENE2D?(this._frustum2DWidth=A.frustum.right-A.frustum.left,this._eyeHeight2D.x=this._frustum2DWidth*.5,this._eyeHeight2D.y=this._eyeHeight2D.x*this._eyeHeight2D.x):(this._frustum2DWidth=0,this._eyeHeight2D.x=0,this._eyeHeight2D.y=0),gai(this,o);let f=oe(o.light,mai);f instanceof KG?(this._lightDirectionWC=Z.clone(this._sunDirectionWC,this._lightDirectionWC),this._lightDirectionEC=Z.clone(this._sunDirectionEC,this._lightDirectionEC)):(this._lightDirectionWC=Z.normalize(Z.negate(f.direction,this._lightDirectionWC),this._lightDirectionWC),this._lightDirectionEC=Gt.multiplyByVector(this.viewRotation3D,this._lightDirectionWC,this._lightDirectionEC));let m=f.color,C=Z.fromElements(m.red,m.green,m.blue,this._lightColorHdr);C=Z.multiplyByScalar(C,f.intensity,C);let E=Z.maximumComponent(C);E>1?Z.divideByScalar(C,E,this._lightColor):Z.clone(C,this._lightColor);let x=o.brdfLutGenerator,y=O(x)?x.colorTexture:void 0;this._brdfLut=y,this._environmentMap=oe(o.environmentMap,o.context.defaultCubeMap),this._sphericalHarmonicCoefficients=oe(o.sphericalHarmonicCoefficients,pai),this._specularEnvironmentMaps=o.specularEnvironmentMaps,this._specularEnvironmentMapsMaximumLOD=o.specularEnvironmentMapsMaximumLOD,O(this._specularEnvironmentMaps)&&rt.clone(this._specularEnvironmentMaps.dimensions,this._specularEnvironmentMapsDimensions),this._fogDensity=o.fog.density,this._invertClassificationColor=o.invertClassificationColor,this._frameState=o,this._temeToPseudoFixed=kr.computeTemeToPseudoFixedMatrix(o.time,this._temeToPseudoFixed),this._splitPosition=o.splitPosition*o.context.drawingBufferWidth;let I=A.frustum.fov,v=this._viewport,B;O(I)?v.height>v.width?B=Math.tan(.5*I)*2/v.height:B=Math.tan(.5*I)*2/v.width:B=1/Math.max(v.width,v.height),this._geometricToleranceOverMeter=B*o.maximumScreenSpaceError,Ve.clone(o.backgroundColor,this._backgroundColor),this._minimumDisableDepthTestDistance=o.minimumDisableDepthTestDistance,this._minimumDisableDepthTestDistance*=this._minimumDisableDepthTestDistance,this._minimumDisableDepthTestDistance===Number.POSITIVE_INFINITY&&(this._minimumDisableDepthTestDistance=-1)};function MUe(o){if(o._viewportDirty){let A=o._viewport;Re.computeOrthographicOffCenter(A.x,A.x+A.width,A.y,A.y+A.height,0,1,o._viewportOrthographicMatrix),Re.computeViewportTransformation(A,0,1,o._viewportTransformation),o._viewportDirty=!1}}function Cai(o){o._inverseProjectionDirty&&(o._inverseProjectionDirty=!1,o._mode!==ni.SCENE2D&&o._mode!==ni.MORPHING&&!o._orthographicIn3D?Re.inverse(o._projection,o._inverseProjection):Re.clone(Re.ZERO,o._inverseProjection))}function Eai(o){o._modelViewDirty&&(o._modelViewDirty=!1,Re.multiplyTransformation(o._view,o._model,o._modelView))}function xai(o){o._modelView3DDirty&&(o._modelView3DDirty=!1,Re.multiplyTransformation(o.view3D,o._model,o._modelView3D))}function yai(o){o._inverseModelViewDirty&&(o._inverseModelViewDirty=!1,Re.inverse(o.modelView,o._inverseModelView))}function Iai(o){o._inverseModelView3DDirty&&(o._inverseModelView3DDirty=!1,Re.inverse(o.modelView3D,o._inverseModelView3D))}function _ai(o){o._viewProjectionDirty&&(o._viewProjectionDirty=!1,Re.multiply(o._projection,o._view,o._viewProjection))}function vai(o){o._inverseViewProjectionDirty&&(o._inverseViewProjectionDirty=!1,Re.inverse(o.viewProjection,o._inverseViewProjection))}function Bai(o){o._modelViewProjectionDirty&&(o._modelViewProjectionDirty=!1,Re.multiply(o._projection,o.modelView,o._modelViewProjection))}function wai(o){if(o._modelViewRelativeToEyeDirty){o._modelViewRelativeToEyeDirty=!1;let A=o.modelView,f=o._modelViewRelativeToEye;f[0]=A[0],f[1]=A[1],f[2]=A[2],f[3]=A[3],f[4]=A[4],f[5]=A[5],f[6]=A[6],f[7]=A[7],f[8]=A[8],f[9]=A[9],f[10]=A[10],f[11]=A[11],f[12]=0,f[13]=0,f[14]=0,f[15]=A[15]}}function bai(o){o._inverseModelViewProjectionDirty&&(o._inverseModelViewProjectionDirty=!1,Re.inverse(o.modelViewProjection,o._inverseModelViewProjection))}function Qai(o){o._modelViewProjectionRelativeToEyeDirty&&(o._modelViewProjectionRelativeToEyeDirty=!1,Re.multiply(o._projection,o.modelViewRelativeToEye,o._modelViewProjectionRelativeToEye))}function Sai(o){o._modelViewInfiniteProjectionDirty&&(o._modelViewInfiniteProjectionDirty=!1,Re.multiply(o._infiniteProjection,o.modelView,o._modelViewInfiniteProjection))}function Dai(o){if(o._normalDirty){o._normalDirty=!1;let A=o._normal;Re.getMatrix3(o.inverseModelView,A),Gt.getRotation(A,A),Gt.transpose(A,A)}}function Tai(o){if(o._normal3DDirty){o._normal3DDirty=!1;let A=o._normal3D;Re.getMatrix3(o.inverseModelView3D,A),Gt.getRotation(A,A),Gt.transpose(A,A)}}function Mai(o){o._inverseNormalDirty&&(o._inverseNormalDirty=!1,Re.getMatrix3(o.inverseModelView,o._inverseNormal),Gt.getRotation(o._inverseNormal,o._inverseNormal))}function Pai(o){o._inverseNormal3DDirty&&(o._inverseNormal3DDirty=!1,Re.getMatrix3(o.inverseModelView3D,o._inverseNormal3D),Gt.getRotation(o._inverseNormal3D,o._inverseNormal3D))}var PUe=new Z;function RUe(o){o._encodedCameraPositionMCDirty&&(o._encodedCameraPositionMCDirty=!1,Re.multiplyByPoint(o.inverseModel,o._cameraPosition,PUe),eu.fromCartesian(PUe,o._encodedCameraPositionMC))}var Rai=new Z,Lai=new Z,Fai=new Z,Nai=new Z,kai=new Rt,Oai=new Z,Uai=new Re;function Gai(o,A,f,m,C,E,x,y){let I=Rai;I.x=o.y,I.y=o.z,I.z=o.x;let v=Lai;v.x=f.y,v.y=f.z,v.z=f.x;let B=Fai;B.x=m.y,B.y=m.z,B.z=m.x;let Q=Nai;Q.x=A.y,Q.y=A.z,Q.z=A.x,E===ni.SCENE2D&&(I.z=C*.5);let T=x.unproject(I,kai);T.longitude=Be.clamp(T.longitude,-Math.PI,Math.PI),T.latitude=Be.clamp(T.latitude,-Be.PI_OVER_TWO,Be.PI_OVER_TWO);let w=x.ellipsoid,S=w.cartographicToCartesian(T,Oai),D=kr.eastNorthUpToFixedFrame(S,w,Uai);return Re.multiplyByPointAsVector(D,v,v),Re.multiplyByPointAsVector(D,B,B),Re.multiplyByPointAsVector(D,Q,Q),O(y)||(y=new Re),y[0]=v.x,y[1]=B.x,y[2]=-Q.x,y[3]=0,y[4]=v.y,y[5]=B.y,y[6]=-Q.y,y[7]=0,y[8]=v.z,y[9]=B.z,y[10]=-Q.z,y[11]=0,y[12]=-Z.dot(v,S),y[13]=-Z.dot(B,S),y[14]=Z.dot(Q,S),y[15]=1,y}function mhe(o){o._view3DDirty&&(o._mode===ni.SCENE3D?Re.clone(o._view,o._view3D):Gai(o._cameraPosition,o._cameraDirection,o._cameraRight,o._cameraUp,o._frustum2DWidth,o._mode,o._mapProjection,o._view3D),Re.getMatrix3(o._view3D,o._viewRotation3D),o._view3DDirty=!1)}function LUe(o){o._inverseView3DDirty&&(Re.inverseTransformation(o.view3D,o._inverseView3D),Re.getMatrix3(o._inverseView3D,o._inverseViewRotation3D),o._inverseView3DDirty=!1)}var bve=WG;function bI(o,A){let{getWebGLStub:f,requestWebgl1:m,webgl:C={},allowTextureFilterAnisotropic:E=!0}=oe(A,{});C.alpha=oe(C.alpha,!1),C.stencil=oe(C.stencil,!0),C.powerPreference=oe(C.powerPreference,"high-performance");let x=O(f)?f(o,C):Hai(o,C,m),y=typeof WebGL2RenderingContext<"u"&&x instanceof WebGL2RenderingContext;this._canvas=o,this._originalGLContext=x,this._gl=x,this._webgl2=y,this._id=Rl(),this.validateFramebuffer=!1,this.validateShaderProgram=!1,this.logShaderCompilation=!1,this._throwOnWebGLError=!1,this._shaderCache=new vve(this),this._textureCache=new Bve;let I=x;this._stencilBits=I.getParameter(I.STENCIL_BITS),Zn._maximumCombinedTextureImageUnits=I.getParameter(I.MAX_COMBINED_TEXTURE_IMAGE_UNITS),Zn._maximumCubeMapSize=I.getParameter(I.MAX_CUBE_MAP_TEXTURE_SIZE),Zn._maximumFragmentUniformVectors=I.getParameter(I.MAX_FRAGMENT_UNIFORM_VECTORS),Zn._maximumTextureImageUnits=I.getParameter(I.MAX_TEXTURE_IMAGE_UNITS),Zn._maximumRenderbufferSize=I.getParameter(I.MAX_RENDERBUFFER_SIZE),Zn._maximumTextureSize=I.getParameter(I.MAX_TEXTURE_SIZE),Zn._maximumVaryingVectors=I.getParameter(I.MAX_VARYING_VECTORS),Zn._maximumVertexAttributes=I.getParameter(I.MAX_VERTEX_ATTRIBS),Zn._maximumVertexTextureImageUnits=I.getParameter(I.MAX_VERTEX_TEXTURE_IMAGE_UNITS),Zn._maximumVertexUniformVectors=I.getParameter(I.MAX_VERTEX_UNIFORM_VECTORS),Zn._maximumSamples=this._webgl2?I.getParameter(I.MAX_SAMPLES):0;let v=I.getParameter(I.ALIASED_LINE_WIDTH_RANGE);Zn._minimumAliasedLineWidth=v[0],Zn._maximumAliasedLineWidth=v[1];let B=I.getParameter(I.ALIASED_POINT_SIZE_RANGE);Zn._minimumAliasedPointSize=B[0],Zn._maximumAliasedPointSize=B[1];let Q=I.getParameter(I.MAX_VIEWPORT_DIMS);Zn._maximumViewportWidth=Q[0],Zn._maximumViewportHeight=Q[1];let T=I.getShaderPrecisionFormat(I.FRAGMENT_SHADER,I.HIGH_FLOAT);Zn._highpFloatSupported=T.precision!==0;let w=I.getShaderPrecisionFormat(I.FRAGMENT_SHADER,I.HIGH_INT);Zn._highpIntSupported=w.rangeMax!==0,this._antialias=I.getContextAttributes().antialias,this._standardDerivatives=!!Nd(I,["OES_standard_derivatives"]),this._blendMinmax=!!Nd(I,["EXT_blend_minmax"]),this._elementIndexUint=!!Nd(I,["OES_element_index_uint"]),this._depthTexture=!!Nd(I,["WEBGL_depth_texture","WEBKIT_WEBGL_depth_texture"]),this._fragDepth=!!Nd(I,["EXT_frag_depth"]),this._debugShaders=Nd(I,["WEBGL_debug_shaders"]),this._textureFloat=!!Nd(I,["OES_texture_float"]),this._textureHalfFloat=!!Nd(I,["OES_texture_half_float"]),this._textureFloatLinear=!!Nd(I,["OES_texture_float_linear"]),this._textureHalfFloatLinear=!!Nd(I,["OES_texture_half_float_linear"]),this._colorBufferFloat=!!Nd(I,["EXT_color_buffer_float","WEBGL_color_buffer_float"]),this._floatBlend=!!Nd(I,["EXT_float_blend"]),this._colorBufferHalfFloat=!!Nd(I,["EXT_color_buffer_half_float"]),this._s3tc=!!Nd(I,["WEBGL_compressed_texture_s3tc","MOZ_WEBGL_compressed_texture_s3tc","WEBKIT_WEBGL_compressed_texture_s3tc"]),this._pvrtc=!!Nd(I,["WEBGL_compressed_texture_pvrtc","WEBKIT_WEBGL_compressed_texture_pvrtc"]),this._astc=!!Nd(I,["WEBGL_compressed_texture_astc"]),this._etc=!!Nd(I,["WEBG_compressed_texture_etc"]),this._etc1=!!Nd(I,["WEBGL_compressed_texture_etc1"]),this._bc7=!!Nd(I,["EXT_texture_compression_bptc"]),$P.setKTX2SupportedFormats(this._s3tc,this._pvrtc,this._astc,this._etc,this._etc1,this._bc7);let S=E?Nd(I,["EXT_texture_filter_anisotropic","WEBKIT_EXT_texture_filter_anisotropic"]):void 0;this._textureFilterAnisotropic=S,Zn._maximumTextureFilterAnisotropy=O(S)?I.getParameter(S.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1;let D,R,P,M,L,F,k,N,G,J;if(y){let ee=this;D=function(){return ee._gl.createVertexArray()},R=function(ie){ee._gl.bindVertexArray(ie)},P=function(ie){ee._gl.deleteVertexArray(ie)},M=function(ie,H,le,ue,Ae){I.drawElementsInstanced(ie,H,le,ue,Ae)},L=function(ie,H,le,ue){I.drawArraysInstanced(ie,H,le,ue)},F=function(ie,H){I.vertexAttribDivisor(ie,H)},k=function(ie){I.drawBuffers(ie)}}else N=Nd(I,["OES_vertex_array_object"]),O(N)&&(D=function(){return N.createVertexArrayOES()},R=function(ee){N.bindVertexArrayOES(ee)},P=function(ee){N.deleteVertexArrayOES(ee)}),G=Nd(I,["ANGLE_instanced_arrays"]),O(G)&&(M=function(ee,ie,H,le,ue){G.drawElementsInstancedANGLE(ee,ie,H,le,ue)},L=function(ee,ie,H,le){G.drawArraysInstancedANGLE(ee,ie,H,le)},F=function(ee,ie){G.vertexAttribDivisorANGLE(ee,ie)}),J=Nd(I,["WEBGL_draw_buffers"]),O(J)&&(k=function(ee){J.drawBuffersWEBGL(ee)});this.glCreateVertexArray=D,this.glBindVertexArray=R,this.glDeleteVertexArray=P,this.glDrawElementsInstanced=M,this.glDrawArraysInstanced=L,this.glVertexAttribDivisor=F,this.glDrawBuffers=k,this._vertexArrayObject=!!N,this._instancedArrays=!!G,this._drawBuffers=!!J,Zn._maximumDrawBuffers=this.drawBuffers?I.getParameter(li.MAX_DRAW_BUFFERS):1,Zn._maximumColorAttachments=this.drawBuffers?I.getParameter(li.MAX_COLOR_ATTACHMENTS):1,this._clearColor=new Ve(0,0,0,0),this._clearDepth=1,this._clearStencil=0;let K=new bve,X=new x0(this),q=Xr.fromCache();this._defaultPassState=X,this._defaultRenderState=q,this._defaultTexture=void 0,this._defaultEmissiveTexture=void 0,this._defaultNormalTexture=void 0,this._defaultCubeMap=void 0,this._us=K,this._currentRenderState=q,this._currentPassState=X,this._currentFramebuffer=void 0,this._maxFrameTextureUnitIndex=0,this._vertexAttribDivisors=[],this._previousDrawInstanced=!1;for(let ee=0;ee"u")throw new ki("The browser does not support WebGL. Visit http://get.webgl.org.");!f&&!(typeof WebGL2RenderingContext<"u")&&(f=!0);let m=f?"webgl":"webgl2",C=o.getContext(m,A);if(!O(C))throw new ki("The browser supports WebGL, but initialization failed.");return C}function Vai(o,A){let f="WebGL Error: ";switch(A){case o.INVALID_ENUM:f+="INVALID_ENUM";break;case o.INVALID_VALUE:f+="INVALID_VALUE";break;case o.INVALID_OPERATION:f+="INVALID_OPERATION";break;case o.OUT_OF_MEMORY:f+="OUT_OF_MEMORY";break;case o.CONTEXT_LOST_WEBGL:f+="CONTEXT_LOST_WEBGL lost";break;default:f+=`Unknown (${A})`}return f}function zai(o,A,f,m){let C=`${Vai(o,m)}: ${A.name}(`;for(let E=0;E=8}},antialias:{get:function(){return this._antialias}},msaa:{get:function(){return this._webgl2}},standardDerivatives:{get:function(){return this._standardDerivatives||this._webgl2}},floatBlend:{get:function(){return this._floatBlend}},blendMinmax:{get:function(){return this._blendMinmax||this._webgl2}},elementIndexUint:{get:function(){return this._elementIndexUint||this._webgl2}},depthTexture:{get:function(){return this._depthTexture||this._webgl2}},floatingPointTexture:{get:function(){return this._webgl2||this._textureFloat}},halfFloatingPointTexture:{get:function(){return this._webgl2||this._textureHalfFloat}},textureFloatLinear:{get:function(){return this._textureFloatLinear}},textureHalfFloatLinear:{get:function(){return this._webgl2&&this._textureFloatLinear||!this._webgl2&&this._textureHalfFloatLinear}},textureFilterAnisotropic:{get:function(){return!!this._textureFilterAnisotropic}},s3tc:{get:function(){return this._s3tc}},pvrtc:{get:function(){return this._pvrtc}},astc:{get:function(){return this._astc}},etc:{get:function(){return this._etc}},etc1:{get:function(){return this._etc1}},bc7:{get:function(){return this._bc7}},supportsBasis:{get:function(){return this._s3tc||this._pvrtc||this._astc||this._etc||this._etc1||this._bc7}},vertexArrayObject:{get:function(){return this._vertexArrayObject||this._webgl2}},fragmentDepth:{get:function(){return this._fragDepth||this._webgl2}},instancedArrays:{get:function(){return this._instancedArrays||this._webgl2}},colorBufferFloat:{get:function(){return this._colorBufferFloat}},colorBufferHalfFloat:{get:function(){return this._webgl2&&this._colorBufferFloat||!this._webgl2&&this._colorBufferHalfFloat}},drawBuffers:{get:function(){return this._drawBuffers||this._webgl2}},debugShaders:{get:function(){return this._debugShaders}},throwOnWebGLError:{get:function(){return this._throwOnWebGLError},set:function(o){this._throwOnWebGLError=o,this._gl=Kai(this._originalGLContext,o?Yai:void 0)}},defaultTexture:{get:function(){return this._defaultTexture===void 0&&(this._defaultTexture=new Nn({context:this,source:{width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])},flipY:!1})),this._defaultTexture}},defaultEmissiveTexture:{get:function(){return this._defaultEmissiveTexture===void 0&&(this._defaultEmissiveTexture=new Nn({context:this,pixelFormat:rn.RGB,source:{width:1,height:1,arrayBufferView:new Uint8Array([0,0,0])},flipY:!1})),this._defaultEmissiveTexture}},defaultNormalTexture:{get:function(){return this._defaultNormalTexture===void 0&&(this._defaultNormalTexture=new Nn({context:this,pixelFormat:rn.RGB,source:{width:1,height:1,arrayBufferView:new Uint8Array([128,128,255])},flipY:!1})),this._defaultNormalTexture}},defaultCubeMap:{get:function(){if(this._defaultCubeMap===void 0){let o={width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])};this._defaultCubeMap=new Ew({context:this,source:{positiveX:o,negativeX:o,positiveY:o,negativeY:o,positiveZ:o,negativeZ:o},flipY:!1})}return this._defaultCubeMap}},drawingBufferHeight:{get:function(){return this._gl.drawingBufferHeight}},drawingBufferWidth:{get:function(){return this._gl.drawingBufferWidth}},defaultFramebuffer:{get:function(){return Wai}}});function kXe(o,A,f,m){let C=o._currentRenderState,E=o._currentPassState;o._currentRenderState=A,o._currentPassState=f,Xr.partialApply(o._gl,C,A,E,f,m)}var Qve;typeof WebGLRenderingContext<"u"&&(Qve=[li.BACK]);function Y9(o,A){if(A!==o._currentFramebuffer){o._currentFramebuffer=A;let f=Qve;if(O(A))A._bind(),f=A._getActiveColorAttachments();else{let m=o._gl;m.bindFramebuffer(m.FRAMEBUFFER,null)}o.drawBuffers&&o.glDrawBuffers(f)}}var jai=new Yu;bI.prototype.clear=function(o,A){o=oe(o,jai),A=oe(A,this._defaultPassState);let f=this._gl,m=0,C=o.color,E=o.depth,x=o.stencil;O(C)&&(Ve.equals(this._clearColor,C)||(Ve.clone(C,this._clearColor),f.clearColor(C.red,C.green,C.blue,C.alpha)),m|=f.COLOR_BUFFER_BIT),O(E)&&(E!==this._clearDepth&&(this._clearDepth=E,f.clearDepth(E)),m|=f.DEPTH_BUFFER_BIT),O(x)&&(x!==this._clearStencil&&(this._clearStencil=x,f.clearStencil(x)),m|=f.STENCIL_BUFFER_BIT);let y=oe(o.renderState,this._defaultRenderState);kXe(this,y,A,!0);let I=oe(o.framebuffer,A.framebuffer);Y9(this,I),f.clear(m)};function qai(o,A,f,m,C){Y9(o,A),kXe(o,C,f,!1),m._bind(),o._maxFrameTextureUnitIndex=Math.max(o._maxFrameTextureUnitIndex,m.maximumTextureUnitIndex)}function Xai(o,A,f,m){let C=A._primitiveType,E=A._vertexArray,x=A._offset,y=A._count,I=A.instanceCount;o._us.model=oe(A._modelMatrix,Re.IDENTITY),f._setUniforms(m,o._us,o.validateShaderProgram),E._bind();let v=E.indexBuffer;O(v)?(x=x*v.bytesPerIndex,y=oe(y,v.numberOfIndices),I===0?o._gl.drawElements(C,y,v.indexDatatype,x):o.glDrawElementsInstanced(C,y,v.indexDatatype,x,I)):(y=oe(y,E.numberOfVertices),I===0?o._gl.drawArrays(C,x,y):o.glDrawArraysInstanced(C,x,y,I)),E._unBind()}bI.prototype.draw=function(o,A,f,m){A=oe(A,this._defaultPassState);let C=oe(o._framebuffer,A.framebuffer);O(A.framebuffer)&&O(o._framebuffer)&&o._framebuffer._externalDepthStencil&&(o._framebuffer.depthStencilTexture=A.framebuffer.depthStencilTexture);let E=oe(o._renderState,this._defaultRenderState);f=oe(f,o._shaderProgram),m=oe(m,o._uniformMap),qai(this,C,A,f,E),Xai(this,o,f,m)};bI.prototype.endFrame=function(){let o=this._gl;o.useProgram(null),this._currentFramebuffer=void 0,o.bindFramebuffer(o.FRAMEBUFFER,null);let A=Qve;this.drawBuffers&&this.glDrawBuffers(A);let f=this._maxFrameTextureUnitIndex;this._maxFrameTextureUnitIndex=0;for(let m=0;m0&&(y=x.getColorTexture(0).pixelDatatype);let I=rn.createTypedArray(rn.RGBA,y,C,E);return Y9(this,x),A.readPixels(f,m,C,E,rn.RGBA,$r.toWebGLConstant(y,this),I),I};var OXe={position:0,textureCoordinates:1};bI.prototype.getViewportQuadVertexArray=function(){let o=this.cache.viewportQuad_vertexArray;if(!O(o)){let A=new Uo({attributes:{position:new wr({componentDatatype:Ft.FLOAT,componentsPerAttribute:2,values:[-1,-1,1,-1,1,1,-1,1]}),textureCoordinates:new wr({componentDatatype:Ft.FLOAT,componentsPerAttribute:2,values:[0,0,1,0,1,1,0,1]})},indices:new Uint16Array([0,1,2,0,2,3]),primitiveType:on.TRIANGLES});o=hu.fromGeometry({context:this,geometry:A,attributeLocations:OXe,bufferUsage:Gr.STATIC_DRAW,interleave:!0}),this.cache.viewportQuad_vertexArray=o}return o};bI.prototype.createViewportQuadCommand=function(o,A){return A=oe(A,oe.EMPTY_OBJECT),new fn({vertexArray:this.getViewportQuadVertexArray(),primitiveType:on.TRIANGLES,renderState:A.renderState,shaderProgram:qa.fromCache({context:this,vertexShaderSource:Lre,fragmentShaderSource:o,attributeLocations:OXe}),uniformMap:A.uniformMap,owner:A.owner,framebuffer:A.framebuffer,pass:A.pass})};bI.prototype.getObjectByPickColor=function(o){return this._pickObjects[o.toRgba()]};function Sve(o,A,f){this._pickObjects=o,this.key=A,this.color=f}Object.defineProperties(Sve.prototype,{object:{get:function(){return this._pickObjects[this.key]},set:function(o){this._pickObjects[this.key]=o}}});Sve.prototype.destroy=function(){delete this._pickObjects[this.key]};bI.prototype.createPickId=function(o){++this._nextPickColor[0];let A=this._nextPickColor[0];if(A===0)throw new ki("Out of unique Pick IDs.");return this._pickObjects[A]=o,new Sve(this._pickObjects,A,Ve.fromRgba(A))};bI.prototype.isDestroyed=function(){return!1};bI.prototype.destroy=function(){let o=this.cache;for(let A in o)if(o.hasOwnProperty(A)){let f=o[A];O(f.destroy)&&f.destroy()}return this._shaderCache=this._shaderCache.destroy(),this._textureCache=this._textureCache.destroy(),this._defaultTexture=this._defaultTexture&&this._defaultTexture.destroy(),this._defaultEmissiveTexture=this._defaultEmissiveTexture&&this._defaultEmissiveTexture.destroy(),this._defaultNormalTexture=this._defaultNormalTexture&&this._defaultNormalTexture.destroy(),this._defaultCubeMap=this._defaultCubeMap&&this._defaultCubeMap.destroy(),Ar(this)};bI.prototype.clearFrameBuffer=function(o){let A=this._gl;A.clearColor(0,0,0,0,0),Y9(this,o),A.clear(A.COLOR_BUFFER_BIT),A.clearColor(this._clearColor.red,this._clearColor.green,this._clearColor.blue,this._clearColor.alpha),Y9(this,this._currentFramebuffer)};var Dve=bI;function Zai(o,A,f){let m={flipY:!0,skipColorSpaceConversion:f,preferImageBitmap:!0},C=[Cr.createIfNeeded(A.positiveX).fetchImage(m),Cr.createIfNeeded(A.negativeX).fetchImage(m),Cr.createIfNeeded(A.positiveY).fetchImage(m),Cr.createIfNeeded(A.negativeY).fetchImage(m),Cr.createIfNeeded(A.positiveZ).fetchImage(m),Cr.createIfNeeded(A.negativeZ).fetchImage(m)];return Promise.all(C).then(function(E){return new Ew({context:o,source:{positiveX:E[0],negativeX:E[1],positiveY:E[2],negativeY:E[3],positiveZ:E[4],negativeZ:E[5]}})})}var Tve=Zai;function y4(o){o=oe(o,oe.EMPTY_OBJECT),XA.defined("options.context",o.context);let A=o.context,f=o.width,m=o.height,C=o.depth,E=o.source,x=oe(o.pixelFormat,rn.RGBA),y=oe(o.pixelDataType,$r.UNSIGNED_BYTE),I=rn.toInternalFormat(x,y,A);if(!O(f)||!O(m)||!O(C))throw new Ai("options requires a source field to create an 3d texture. width or height or dimension fileds");if(XA.typeOf.number.greaterThan("width",f,0),f>Zn.maximumTextureSize)throw new Ai("width must be less than or equal to the maximum texture size");if(XA.typeOf.number.greaterThan("height",m,0),m>Zn.maximumTextureSize)throw new Ai("height must be less than or equal to the maximum texture size");if(XA.typeOf.number.greaterThan("dimensions",C,0),C>Zn.maximumTextureSize)throw new Ai("dimension must be less than or equal to the maximum texture size");if(!rn.validate(x))throw new Ai("Invalid options.pixelFormat.");if(!$r.validate(y))throw new Ai("Invalid options.pixelDatatype.");let v=!0,B=A._gl,Q=B.TEXTURE_3D,T=B.createTexture();B.activeTexture(B.TEXTURE0),B.bindTexture(Q,T);let w=4;if(O(E)&&O(E.arrayBufferView)&&(w=rn.alignmentInBytes(x,y,f)),B.pixelStorei(B.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),B.pixelStorei(B.UNPACK_FLIP_Y_WEBGL,!1),B.pixelStorei(B.UNPACK_ALIGNMENT,w),B.pixelStorei(B.UNPACK_COLORSPACE_CONVERSION_WEBGL,B.BROWSER_DEFAULT_WEBGL),O(E)&&O(E.arrayBufferView)){let S=E.arrayBufferView;B.texImage3D(Q,0,I,f,m,C,0,x,$r.toWebGLConstant(y,A),S),v=!0}B.bindTexture(Q,null),this._id=Rl(),this._context=A,this._textureFilterAnisotropic=A._textureFilterAnisotropic,this._textureTarget=Q,this._texture=T,this._internalFormat=I,this._pixelFormat=x,this._pixelDatatype=y,this._width=f,this._height=m,this._depth=C,this._dimensions=new Z(f,m,C),this._hasMinmap=!1,this._sizeInBytes=4,this._preMultiplyAlpha=!1,this._flipY=!1,this._initialized=v,this._sampler=void 0,this.sampler=O(o.sampler)?o.sampler:new Oa}y4.fromFramebuffer=function(o){o=oe(o,oe.EMPTY_OBJECT),XA.defined("options.context",o.context);let A=o.context,f=A._gl,m=oe(o.pixelFormat,rn.RGB),C=oe(o.width,f.drawingBufferWidth),E=oe(o.height,f.drawingBufferHeight),x=oe(o.depth,128),y=o.framebuffer;return new y4({context:A,width:C,height:E,pixelFormat:m,source:{framebuffer:O(y)?y:A.defaultFramebuffer,width:C,height:E,depth:x}})};Object.defineProperties(y4.prototype,{id:{get:function(){return this._id}},sampler:{get:function(){return this._sampler},set:function(o){let A=o.minificationFilter,f=o.magnificationFilter,m=this._context._gl,C=this._textureTarget;m.activeTexture(m.TEXTURE0),m.bindTexture(C,this._texture),m.texParameteri(C,m.TEXTURE_MIN_FILTER,A),m.texParameteri(C,m.TEXTURE_MAG_FILTER,f),m.texParameteri(C,m.TEXTURE_WRAP_R,o.wrapR),m.texParameteri(C,m.TEXTURE_WRAP_S,o.wrapS),m.texParameteri(C,m.TEXTURE_WRAP_T,o.wrapT),m.bindTexture(C,null),this._sampler=o}},dimensions:{get:function(){return this._dimensions}},width:{get:function(){return this._width}},height:{get:function(){return this._height}},depth:{get:function(){return this._depth}},_target:{get:function(){return this._textureTarget}}});y4.prototype.isDestroyed=function(){return!1};y4.prototype.destory=function(){return this._context._gl.deleteTexture(this._texture),Ar(this)};var Mve=y4,eee=`#ifdef MRT layout (location = 0) out vec4 out_FragData_0; layout (location = 1) out vec4 out_FragData_1; #else layout (location = 0) out vec4 out_FragColor; #endif uniform vec4 u_bgColor; uniform sampler2D u_depthTexture; in vec2 v_textureCoordinates; void main() { if (texture(u_depthTexture, v_textureCoordinates).r < 1.0) { #ifdef MRT out_FragData_0 = u_bgColor; out_FragData_1 = vec4(u_bgColor.a); #else out_FragColor = u_bgColor; #endif return; } discard; } `,I4=`uniform vec3 u_radiiAndDynamicAtmosphereColor; uniform float u_atmosphereLightIntensity; uniform float u_atmosphereRayleighScaleHeight; uniform float u_atmosphereMieScaleHeight; uniform float u_atmosphereMieAnisotropy; uniform vec3 u_atmosphereRayleighCoefficient; uniform vec3 u_atmosphereMieCoefficient; const float ATMOSPHERE_THICKNESS = 111e3; // The thickness of the atmosphere in meters. const int PRIMARY_STEPS_MAX = 16; // Maximum number of times the ray from the camera to the world position (primary ray) is sampled. const int LIGHT_STEPS_MAX = 4; // Maximum number of times the light is sampled from the light source's intersection with the atmosphere to a sample position on the primary ray. /** * Rational approximation to tanh(x) */ float approximateTanh(float x) { float x2 = x * x; return max(-1.0, min(+1.0, x * (27.0 + x2) / (27.0 + 9.0 * x2))); } /** * This function computes the colors contributed by Rayliegh and Mie scattering on a given ray, as well as * the transmittance value for the ray. * * @param {czm_ray} primaryRay The ray from the camera to the position. * @param {float} primaryRayLength The length of the primary ray. * @param {vec3} lightDirection The direction of the light to calculate the scattering from. * @param {vec3} rayleighColor The variable the Rayleigh scattering will be written to. * @param {vec3} mieColor The variable the Mie scattering will be written to. * @param {float} opacity The variable the transmittance will be written to. * @glslFunction */ void computeScattering( czm_ray primaryRay, float primaryRayLength, vec3 lightDirection, float atmosphereInnerRadius, out vec3 rayleighColor, out vec3 mieColor, out float opacity ) { // Initialize the default scattering amounts to 0. rayleighColor = vec3(0.0); mieColor = vec3(0.0); opacity = 0.0; float atmosphereOuterRadius = atmosphereInnerRadius + ATMOSPHERE_THICKNESS; vec3 origin = vec3(0.0); // Calculate intersection from the camera to the outer ring of the atmosphere. czm_raySegment primaryRayAtmosphereIntersect = czm_raySphereIntersectionInterval(primaryRay, origin, atmosphereOuterRadius); // Return empty colors if no intersection with the atmosphere geometry. if (primaryRayAtmosphereIntersect == czm_emptyRaySegment) { return; } // To deal with smaller values of PRIMARY_STEPS (e.g. 4) // we implement a split strategy: sky or horizon. // For performance reasons, instead of a if/else branch // a soft choice is implemented through a weight 0.0 <= w_stop_gt_lprl <= 1.0 float x = 1e-7 * primaryRayAtmosphereIntersect.stop / length(primaryRayLength); // Value close to 0.0: close to the horizon // Value close to 1.0: above in the sky float w_stop_gt_lprl = 0.5 * (1.0 + approximateTanh(x)); // The ray should start from the first intersection with the outer atmopshere, or from the camera position, if it is inside the atmosphere. float start_0 = primaryRayAtmosphereIntersect.start; primaryRayAtmosphereIntersect.start = max(primaryRayAtmosphereIntersect.start, 0.0); // The ray should end at the exit from the atmosphere or at the distance to the vertex, whichever is smaller. primaryRayAtmosphereIntersect.stop = min(primaryRayAtmosphereIntersect.stop, length(primaryRayLength)); // For the number of ray steps, distinguish inside or outside atmosphere (outer space) // (1) from outer space we have to use more ray steps to get a realistic rendering // (2) within atmosphere we need fewer steps for faster rendering float x_o_a = start_0 - ATMOSPHERE_THICKNESS; // ATMOSPHERE_THICKNESS used as an ad-hoc constant, no precise meaning here, only the order of magnitude matters float w_inside_atmosphere = 1.0 - 0.5 * (1.0 + approximateTanh(x_o_a)); int PRIMARY_STEPS = PRIMARY_STEPS_MAX - int(w_inside_atmosphere * 12.0); // Number of times the ray from the camera to the world position (primary ray) is sampled. int LIGHT_STEPS = LIGHT_STEPS_MAX - int(w_inside_atmosphere * 2.0); // Number of times the light is sampled from the light source's intersection with the atmosphere to a sample position on the primary ray. // Setup for sampling positions along the ray - starting from the intersection with the outer ring of the atmosphere. float rayPositionLength = primaryRayAtmosphereIntersect.start; // (1) Outside the atmosphere: constant rayStepLength // (2) Inside atmosphere: variable rayStepLength to compensate the rough rendering of the smaller number of ray steps float totalRayLength = primaryRayAtmosphereIntersect.stop - rayPositionLength; float rayStepLengthIncrease = w_inside_atmosphere * ((1.0 - w_stop_gt_lprl) * totalRayLength / (float(PRIMARY_STEPS * (PRIMARY_STEPS + 1)) / 2.0)); float rayStepLength = max(1.0 - w_inside_atmosphere, w_stop_gt_lprl) * totalRayLength / max(7.0 * w_inside_atmosphere, float(PRIMARY_STEPS)); vec3 rayleighAccumulation = vec3(0.0); vec3 mieAccumulation = vec3(0.0); vec2 opticalDepth = vec2(0.0); vec2 heightScale = vec2(u_atmosphereRayleighScaleHeight, u_atmosphereMieScaleHeight); // Sample positions on the primary ray. for (int i = 0; i < PRIMARY_STEPS_MAX; ++i) { // The loop should be: for (int i = 0; i < PRIMARY_STEPS; ++i) {...} but WebGL1 cannot // loop with non-constant condition, so it has to break early instead if (i >= PRIMARY_STEPS) { break; } // Calculate sample position along viewpoint ray. vec3 samplePosition = primaryRay.origin + primaryRay.direction * (rayPositionLength + rayStepLength); // Calculate height of sample position above ellipsoid. float sampleHeight = length(samplePosition) - atmosphereInnerRadius; // Calculate and accumulate density of particles at the sample position. vec2 sampleDensity = exp(-sampleHeight / heightScale) * rayStepLength; opticalDepth += sampleDensity; // Generate ray from the sample position segment to the light source, up to the outer ring of the atmosphere. czm_ray lightRay = czm_ray(samplePosition, lightDirection); czm_raySegment lightRayAtmosphereIntersect = czm_raySphereIntersectionInterval(lightRay, origin, atmosphereOuterRadius); float lightStepLength = lightRayAtmosphereIntersect.stop / float(LIGHT_STEPS); float lightPositionLength = 0.0; vec2 lightOpticalDepth = vec2(0.0); // Sample positions along the light ray, to accumulate incidence of light on the latest sample segment. for (int j = 0; j < LIGHT_STEPS_MAX; ++j) { // The loop should be: for (int j = 0; i < LIGHT_STEPS; ++j) {...} but WebGL1 cannot // loop with non-constant condition, so it has to break early instead if (j >= LIGHT_STEPS) { break; } // Calculate sample position along light ray. vec3 lightPosition = samplePosition + lightDirection * (lightPositionLength + lightStepLength * 0.5); // Calculate height of the light sample position above ellipsoid. float lightHeight = length(lightPosition) - atmosphereInnerRadius; // Calculate density of photons at the light sample position. lightOpticalDepth += exp(-lightHeight / heightScale) * lightStepLength; // Increment distance on light ray. lightPositionLength += lightStepLength; } // Compute attenuation via the primary ray and the light ray. vec3 attenuation = exp(-((u_atmosphereMieCoefficient * (opticalDepth.y + lightOpticalDepth.y)) + (u_atmosphereRayleighCoefficient * (opticalDepth.x + lightOpticalDepth.x)))); // Accumulate the scattering. rayleighAccumulation += sampleDensity.x * attenuation; mieAccumulation += sampleDensity.y * attenuation; // Increment distance on primary ray. rayPositionLength += (rayStepLength += rayStepLengthIncrease); } // Compute the scattering amount. rayleighColor = u_atmosphereRayleighCoefficient * rayleighAccumulation; mieColor = u_atmosphereMieCoefficient * mieAccumulation; // Compute the transmittance i.e. how much light is passing through the atmosphere. opacity = length(exp(-((u_atmosphereMieCoefficient * opticalDepth.y) + (u_atmosphereRayleighCoefficient * opticalDepth.x)))); } vec4 computeAtmosphereColor( vec3 positionWC, vec3 lightDirection, vec3 rayleighColor, vec3 mieColor, float opacity ) { // Setup the primary ray: from the camera position to the vertex position. vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC; vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC); float cosAngle = dot(cameraToPositionWCDirection, lightDirection); float cosAngleSq = cosAngle * cosAngle; float G = u_atmosphereMieAnisotropy; float GSq = G * G; // The Rayleigh phase function. float rayleighPhase = 3.0 / (50.2654824574) * (1.0 + cosAngleSq); // The Mie phase function. float miePhase = 3.0 / (25.1327412287) * ((1.0 - GSq) * (cosAngleSq + 1.0)) / (pow(1.0 + GSq - 2.0 * cosAngle * G, 1.5) * (2.0 + GSq)); // The final color is generated by combining the effects of the Rayleigh and Mie scattering. vec3 rayleigh = rayleighPhase * rayleighColor; vec3 mie = miePhase * mieColor; vec3 color = (rayleigh + mie) * u_atmosphereLightIntensity; return vec4(color, opacity); } `,Pve=`in vec2 v_textureCoordinates; const float M_PI = 3.141592653589793; float vdcRadicalInverse(int i) { float r; float base = 2.0; float value = 0.0; float invBase = 1.0 / base; float invBi = invBase; for (int x = 0; x < 100; x++) { if (i <= 0) { break; } r = mod(float(i), base); value += r * invBi; invBi *= invBase; i = int(float(i) * invBase); } return value; } vec2 hammersley2D(int i, int N) { return vec2(float(i) / float(N), vdcRadicalInverse(i)); } vec3 importanceSampleGGX(vec2 xi, float roughness, vec3 N) { float a = roughness * roughness; float phi = 2.0 * M_PI * xi.x; float cosTheta = sqrt((1.0 - xi.y) / (1.0 + (a * a - 1.0) * xi.y)); float sinTheta = sqrt(1.0 - cosTheta * cosTheta); vec3 H = vec3(sinTheta * cos(phi), sinTheta * sin(phi), cosTheta); vec3 upVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0); vec3 tangentX = normalize(cross(upVector, N)); vec3 tangentY = cross(N, tangentX); return tangentX * H.x + tangentY * H.y + N * H.z; } float G1_Smith(float NdotV, float k) { return NdotV / (NdotV * (1.0 - k) + k); } float G_Smith(float roughness, float NdotV, float NdotL) { float k = roughness * roughness / 2.0; return G1_Smith(NdotV, k) * G1_Smith(NdotL, k); } vec2 integrateBrdf(float roughness, float NdotV) { vec3 V = vec3(sqrt(1.0 - NdotV * NdotV), 0.0, NdotV); float A = 0.0; float B = 0.0; const int NumSamples = 1024; for (int i = 0; i < NumSamples; i++) { vec2 xi = hammersley2D(i, NumSamples); vec3 H = importanceSampleGGX(xi, roughness, vec3(0.0, 0.0, 1.0)); vec3 L = 2.0 * dot(V, H) * H - V; float NdotL = clamp(L.z, 0.0, 1.0); float NdotH = clamp(H.z, 0.0, 1.0); float VdotH = clamp(dot(V, H), 0.0, 1.0); if (NdotL > 0.0) { float G = G_Smith(roughness, NdotV, NdotL); float G_Vis = G * VdotH / (NdotH * NdotV); float Fc = pow(1.0 - VdotH, 5.0); A += (1.0 - Fc) * G_Vis; B += Fc * G_Vis; } } return vec2(A, B) / float(NumSamples); } void main() { out_FragColor = vec4(integrateBrdf(v_textureCoordinates.y, v_textureCoordinates.x), 0.0, 1.0); } `,UXe=`uniform sampler2D u_floatTexture; void main() { float actual = texture(u_floatTexture, vec2(0.5, 0.5)).r; float expected = 123456.0; out_FragColor = vec4(abs(actual - expected), 0.0, 0.0, 1.0); } `,Rve=`uniform sampler2D u_noiseTexture; uniform vec3 u_noiseTextureDimensions; uniform float u_noiseDetail; in vec2 v_offset; in vec3 v_maximumSize; in vec4 v_color; in float v_slice; in float v_brightness; float wrap(float value, float rangeLength) { if(value < 0.0) { float absValue = abs(value); float modValue = mod(absValue, rangeLength); return mod(rangeLength - modValue, rangeLength); } return mod(value, rangeLength); } vec3 wrapVec(vec3 value, float rangeLength) { return vec3(wrap(value.x, rangeLength), wrap(value.y, rangeLength), wrap(value.z, rangeLength)); } vec2 voxelToUV(vec3 voxelIndex) { float textureSliceWidth = u_noiseTextureDimensions.x; float noiseTextureRows = u_noiseTextureDimensions.y; float inverseNoiseTextureRows = u_noiseTextureDimensions.z; float textureSliceWidthSquared = textureSliceWidth * textureSliceWidth; vec2 inverseNoiseTextureDimensions = vec2(noiseTextureRows / textureSliceWidthSquared, inverseNoiseTextureRows / textureSliceWidth); vec3 wrappedIndex = wrapVec(voxelIndex, textureSliceWidth); float column = mod(wrappedIndex.z, textureSliceWidth * inverseNoiseTextureRows); float row = floor(wrappedIndex.z / textureSliceWidth * noiseTextureRows); float xPixelCoord = wrappedIndex.x + column * textureSliceWidth; float yPixelCoord = wrappedIndex.y + row * textureSliceWidth; return vec2(xPixelCoord, yPixelCoord) * inverseNoiseTextureDimensions; } // Interpolate a voxel with its neighbor (along the positive X-axis) vec4 lerpSamplesX(vec3 voxelIndex, float x) { vec2 uv0 = voxelToUV(voxelIndex); vec2 uv1 = voxelToUV(voxelIndex + vec3(1.0, 0.0, 0.0)); vec4 sample0 = texture(u_noiseTexture, uv0); vec4 sample1 = texture(u_noiseTexture, uv1); return mix(sample0, sample1, x); } vec4 sampleNoiseTexture(vec3 position) { float textureSliceWidth = u_noiseTextureDimensions.x; vec3 recenteredPos = position + vec3(textureSliceWidth / 2.0); vec3 lerpValue = fract(recenteredPos); vec3 voxelIndex = floor(recenteredPos); vec4 xLerp00 = lerpSamplesX(voxelIndex, lerpValue.x); vec4 xLerp01 = lerpSamplesX(voxelIndex + vec3(0.0, 0.0, 1.0), lerpValue.x); vec4 xLerp10 = lerpSamplesX(voxelIndex + vec3(0.0, 1.0, 0.0), lerpValue.x); vec4 xLerp11 = lerpSamplesX(voxelIndex + vec3(0.0, 1.0, 1.0), lerpValue.x); vec4 yLerp0 = mix(xLerp00, xLerp10, lerpValue.y); vec4 yLerp1 = mix(xLerp01, xLerp11, lerpValue.y); return mix(yLerp0, yLerp1, lerpValue.z); } // Intersection with a unit sphere with radius 0.5 at center (0, 0, 0). bool intersectSphere(vec3 origin, vec3 dir, float slice, out vec3 point, out vec3 normal) { float A = dot(dir, dir); float B = dot(origin, dir); float C = dot(origin, origin) - 0.25; float discriminant = (B * B) - (A * C); if(discriminant < 0.0) { return false; } float root = sqrt(discriminant); float t = (-B - root) / A; if(t < 0.0) { t = (-B + root) / A; } point = origin + t * dir; if(slice >= 0.0) { point.z = (slice / 2.0) - 0.5; if(length(point) > 0.5) { return false; } } normal = normalize(point); point -= czm_epsilon2 * normal; return true; } // Transforms the ray origin and direction into unit sphere space, // then transforms the result back into the ellipsoid's space. bool intersectEllipsoid(vec3 origin, vec3 dir, vec3 center, vec3 scale, float slice, out vec3 point, out vec3 normal) { if(scale.x <= 0.01 || scale.y < 0.01 || scale.z < 0.01) { return false; } vec3 o = (origin - center) / scale; vec3 d = dir / scale; vec3 p, n; bool intersected = intersectSphere(o, d, slice, p, n); if(intersected) { point = (p * scale) + center; normal = n; } return intersected; } // Assume that if phase shift is being called for octave i, // the frequency is of i - 1. This saves us from doing extra // division / multiplication operations. vec2 phaseShift2D(vec2 p, vec2 freq) { return (czm_pi / 2.0) * sin(freq.yx * p.yx); } vec2 phaseShift3D(vec3 p, vec2 freq) { return phaseShift2D(p.xy, freq) + czm_pi * vec2(sin(freq.x * p.z)); } // The cloud texture function derived from Gardner's 1985 paper, // "Visual Simulation of Clouds." // https://www.cs.drexel.edu/~david/Classes/Papers/p297-gardner.pdf const float T0 = 0.6; // contrast of the texture pattern const float k = 0.1; // computed to produce a maximum value of 1 const float C0 = 0.8; // coefficient const float FX0 = 0.6; // frequency X const float FY0 = 0.6; // frequency Y const int octaves = 5; float T(vec3 point) { vec2 sum = vec2(0.0); float Ci = C0; vec2 FXY = vec2(FX0, FY0); vec2 PXY = vec2(0.0); for(int i = 1; i <= octaves; i++) { PXY = phaseShift3D(point, FXY); Ci *= 0.707; FXY *= 2.0; vec2 sinTerm = sin(FXY * point.xy + PXY); sum += Ci * sinTerm + vec2(T0); } return k * sum.x * sum.y; } const float a = 0.5; // fraction of surface reflection due to ambient or scattered light, const float t = 0.4; // fraction of texture shading const float s = 0.25; // fraction of specular reflection float I(float Id, float Is, float It) { return (1.0 - a) * ((1.0 - t) * ((1.0 - s) * Id + s * Is) + t * It) + a; } const vec3 lightDir = normalize(vec3(0.2, -1.0, 0.7)); vec4 drawCloud(vec3 rayOrigin, vec3 rayDir, vec3 cloudCenter, vec3 cloudScale, float cloudSlice, float brightness) { vec3 cloudPoint, cloudNormal; if(!intersectEllipsoid(rayOrigin, rayDir, cloudCenter, cloudScale, cloudSlice, cloudPoint, cloudNormal)) { return vec4(0.0); } float Id = clamp(dot(cloudNormal, -lightDir), 0.0, 1.0); // diffuse reflection float Is = max(pow(dot(-lightDir, -rayDir), 2.0), 0.0); // specular reflection float It = T(cloudPoint); // texture function float intensity = I(Id, Is, It); vec3 color = vec3(intensity * clamp(brightness, 0.1, 1.0)); vec4 noise = sampleNoiseTexture(u_noiseDetail * cloudPoint); float W = noise.x; float W2 = noise.y; float W3 = noise.z; // The dot product between the cloud's normal and the ray's direction is greatest // in the center of the ellipsoid's surface. It decreases towards the edge. // Thus, it is used to blur the areas leading to the edges of the ellipsoid, // so that no harsh lines appear. // The first (and biggest) layer of worley noise is then subtracted from this. // The final result is scaled up so that the base cloud is not too translucent. float ndDot = clamp(dot(cloudNormal, -rayDir), 0.0, 1.0); float TR = pow(ndDot, 3.0) - W; // translucency TR *= 1.3; // Subtracting the second and third layers of worley noise is more complicated. // If these layers of noise were simply subtracted from the current translucency, // the shape derived from the first layer of noise would be completely deleted. // The erosion of this noise should thus be constricted to the edges of the cloud. // However, because the edges of the ellipsoid were already blurred away, mapping // the noise to (1.0 - ndDot) will have no impact on most of the cloud's appearance. // The value of (0.5 - ndDot) provides the best compromise. float minusDot = 0.5 - ndDot; // Even with the previous calculation, subtracting the second layer of wnoise // erode too much of the cloud. The addition of it, however, will detailed // volume to the cloud. As long as the noise is only added and not subtracted, // the results are aesthetically pleasing. // The minusDot product is mapped in a way that it is larger at the edges of // the ellipsoid, so a subtraction and min operation are used instead of // an addition and max one. TR -= min(minusDot * W2, 0.0); // The third level of worley noise is subtracted from the result, with some // modifications. First, a scalar is added to minusDot so that the noise // starts affecting the shape farther away from the center of the ellipsoid's // surface. Then, it is scaled down so its impact is not too intense. TR -= 0.8 * (minusDot + 0.25) * W3; // The texture function's shading does not correlate with the shape of the cloud // produced by the layers of noise, so an extra shading scalar is calculated. // The darkest areas of the cloud are assigned to be where the noise erodes // the cloud the most. This is then interpolated based on the translucency // and the diffuse shading term of that point in the cloud. float shading = mix(1.0 - 0.8 * W * W, 1.0, Id * TR); // To avoid values that are too dark, this scalar is increased by a small amount // and clamped so it never goes to zero. shading = clamp(shading + 0.2, 0.3, 1.0); // Finally, the contrast of the cloud's color is increased. vec3 finalColor = mix(vec3(0.5), shading * color, 1.15); return vec4(finalColor, clamp(TR, 0.0, 1.0)) * v_color; } void main() { #ifdef DEBUG_BILLBOARDS out_FragColor = vec4(0.0, 0.5, 0.5, 1.0); #endif // To avoid calculations with high values, // we raycast from an arbitrarily smaller space. vec2 coordinate = v_maximumSize.xy * v_offset; vec3 ellipsoidScale = 0.82 * v_maximumSize; vec3 ellipsoidCenter = vec3(0.0); float zOffset = max(ellipsoidScale.z - 10.0, 0.0); vec3 eye = vec3(0, 0, -10.0 - zOffset); vec3 rayDir = normalize(vec3(coordinate, 1.0) - eye); vec3 rayOrigin = eye; #ifdef DEBUG_ELLIPSOIDS vec3 point, normal; if(intersectEllipsoid(rayOrigin, rayDir, ellipsoidCenter, ellipsoidScale, v_slice, point, normal)) { out_FragColor = v_brightness * v_color; } #else #ifndef DEBUG_BILLBOARDS vec4 cloud = drawCloud(rayOrigin, rayDir, ellipsoidCenter, ellipsoidScale, v_slice, v_brightness); if(cloud.w < 0.01) { discard; } out_FragColor = cloud; #endif #endif } `,Lve=`#ifdef INSTANCED in vec2 direction; #endif in vec4 positionHighAndScaleX; in vec4 positionLowAndScaleY; in vec4 packedAttribute0; in vec4 packedAttribute1; in vec4 color; out vec2 v_offset; out vec3 v_maximumSize; out vec4 v_color; out float v_slice; out float v_brightness; void main() { // Unpack attributes. vec3 positionHigh = positionHighAndScaleX.xyz; vec3 positionLow = positionLowAndScaleY.xyz; vec2 scale = vec2(positionHighAndScaleX.w, positionLowAndScaleY.w); float show = packedAttribute0.x; float brightness = packedAttribute0.y; vec2 coordinates = packedAttribute0.wz; vec3 maximumSize = packedAttribute1.xyz; float slice = packedAttribute1.w; #ifdef INSTANCED vec2 dir = direction; #else vec2 dir = coordinates; #endif vec2 offset = dir - vec2(0.5, 0.5); vec2 scaledOffset = scale * offset; vec4 p = czm_translateRelativeToEye(positionHigh, positionLow); vec4 positionEC = czm_modelViewRelativeToEye * p; positionEC.xy += scaledOffset; positionEC.xyz *= show; gl_Position = czm_projection * positionEC; v_offset = offset; v_maximumSize = maximumSize; v_color = color; v_slice = slice; v_brightness = brightness; } `,Fve=`uniform vec3 u_noiseTextureDimensions; uniform float u_noiseDetail; uniform vec3 u_noiseOffset; in vec2 v_position; float wrap(float value, float rangeLength) { if(value < 0.0) { float absValue = abs(value); float modValue = mod(absValue, rangeLength); return mod(rangeLength - modValue, rangeLength); } return mod(value, rangeLength); } vec3 wrapVec(vec3 value, float rangeLength) { return vec3(wrap(value.x, rangeLength), wrap(value.y, rangeLength), wrap(value.z, rangeLength)); } vec3 random3(vec3 p) { float dot1 = dot(p, vec3(127.1, 311.7, 932.8)); float dot2 = dot(p, vec3(269.5, 183.3, 421.4)); return fract(vec3(sin(dot1 - dot2), cos(dot1 * dot2), dot1 * dot2)); } // Frequency corresponds to cell size. // The higher the frequency, the smaller the cell size. vec3 getWorleyCellPoint(vec3 centerCell, vec3 offset, float freq) { float textureSliceWidth = u_noiseTextureDimensions.x; vec3 cell = centerCell + offset; cell = wrapVec(cell, textureSliceWidth / u_noiseDetail); cell += floor(u_noiseOffset / u_noiseDetail); vec3 p = offset + random3(cell); return p; } float worleyNoise(vec3 p, float freq) { vec3 centerCell = floor(p * freq); vec3 pointInCell = fract(p * freq); float shortestDistance = 1000.0; for(float z = -1.0; z <= 1.0; z++) { for(float y = -1.0; y <= 1.0; y++) { for(float x = -1.0; x <= 1.0; x++) { vec3 offset = vec3(x, y, z); vec3 point = getWorleyCellPoint(centerCell, offset, freq); float distance = length(pointInCell - point); if(distance < shortestDistance) { shortestDistance = distance; } } } } return shortestDistance; } const float MAX_FBM_ITERATIONS = 10.0; float worleyFBMNoise(vec3 p, float octaves, float scale) { float noise = 0.0; float freq = 1.0; float persistence = 0.625; for(float i = 0.0; i < MAX_FBM_ITERATIONS; i++) { if(i >= octaves) { break; } noise += worleyNoise(p * scale, freq * scale) * persistence; persistence *= 0.5; freq *= 2.0; } return noise; } void main() { float textureSliceWidth = u_noiseTextureDimensions.x; float inverseNoiseTextureRows = u_noiseTextureDimensions.z; float x = mod(v_position.x, textureSliceWidth); float y = mod(v_position.y, textureSliceWidth); float sliceRow = floor(v_position.y / textureSliceWidth); float z = floor(v_position.x / textureSliceWidth) + sliceRow * inverseNoiseTextureRows * textureSliceWidth; vec3 position = vec3(x, y, z); position /= u_noiseDetail; float worley0 = clamp(worleyFBMNoise(position, 3.0, 1.0), 0.0, 1.0); float worley1 = clamp(worleyFBMNoise(position, 3.0, 2.0), 0.0, 1.0); float worley2 = clamp(worleyFBMNoise(position, 3.0, 3.0), 0.0, 1.0); out_FragColor = vec4(worley0, worley1, worley2, 1.0); } `,Nve=`uniform vec3 u_noiseTextureDimensions; in vec2 position; out vec2 v_position; void main() { gl_Position = vec4(position, 0.1, 1.0); float textureSliceWidth = u_noiseTextureDimensions.x; float noiseTextureRows = u_noiseTextureDimensions.y; float inverseNoiseTextureRows = u_noiseTextureDimensions.z; vec2 transformedPos = (position * 0.5) + vec2(0.5); transformedPos *= textureSliceWidth; transformedPos.x *= textureSliceWidth * inverseNoiseTextureRows; transformedPos.y *= noiseTextureRows; v_position = transformedPos; } `,kve=`uniform sampler2D u_opaqueDepthTexture; uniform sampler2D u_translucentDepthTexture; in vec2 v_textureCoordinates; void main() { float opaqueDepth = texture(u_opaqueDepthTexture, v_textureCoordinates).r; float translucentDepth = texture(u_translucentDepthTexture, v_textureCoordinates).r; translucentDepth = czm_branchFreeTernary(translucentDepth > opaqueDepth, 1.0, translucentDepth); out_FragColor = czm_packDepth(translucentDepth); } `,Ove=`/** * Compositing for Weighted Blended Order-Independent Transparency. See: * - http://jcgt.org/published/0002/02/09/ * - http://casual-effects.blogspot.com/2014/03/weighted-blended-order-independent.html */ uniform sampler2D u_opaque; uniform sampler2D u_accumulation; uniform sampler2D u_revealage; in vec2 v_textureCoordinates; void main() { vec4 opaque = texture(u_opaque, v_textureCoordinates); vec4 accum = texture(u_accumulation, v_textureCoordinates); float r = texture(u_revealage, v_textureCoordinates).r; #ifdef MRT vec4 transparent = vec4(accum.rgb / clamp(r, 1e-4, 5e4), accum.a); #else vec4 transparent = vec4(accum.rgb / clamp(accum.a, 1e-4, 5e4), r); #endif out_FragColor = (1.0 - transparent.a) * transparent + transparent.a * opaque; if (opaque != czm_backgroundColor) { out_FragColor.a = 1.0; } } `,Uve=`in vec4 positionEC; void main() { vec3 position; vec3 direction; if (czm_orthographicIn3D == 1.0) { vec2 uv = (gl_FragCoord.xy - czm_viewport.xy) / czm_viewport.zw; vec2 minPlane = vec2(czm_frustumPlanes.z, czm_frustumPlanes.y); // left, bottom vec2 maxPlane = vec2(czm_frustumPlanes.w, czm_frustumPlanes.x); // right, top position = vec3(mix(minPlane, maxPlane, uv), 0.0); direction = vec3(0.0, 0.0, -1.0); } else { position = vec3(0.0); direction = normalize(positionEC.xyz); } czm_ray ray = czm_ray(position, direction); vec3 ellipsoid_center = czm_view[3].xyz; czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid_center, czm_ellipsoidInverseRadii); if (!czm_isEmpty(intersection)) { out_FragColor = vec4(1.0, 1.0, 0.0, 1.0); } else { discard; } czm_writeLogDepth(); } `,Gve=`in vec4 position; out vec4 positionEC; void main() { positionEC = czm_modelView * position; gl_Position = czm_projection * positionEC; czm_vertexLogDepth(); } `,tee=`uniform vec3 u_radii; uniform vec3 u_oneOverEllipsoidRadiiSquared; in vec3 v_positionEC; vec4 computeEllipsoidColor(czm_ray ray, float intersection, float side) { vec3 positionEC = czm_pointAlongRay(ray, intersection); vec3 positionMC = (czm_inverseModelView * vec4(positionEC, 1.0)).xyz; vec3 geodeticNormal = normalize(czm_geodeticSurfaceNormal(positionMC, vec3(0.0), u_oneOverEllipsoidRadiiSquared)); vec3 sphericalNormal = normalize(positionMC / u_radii); vec3 normalMC = geodeticNormal * side; // normalized surface normal (always facing the viewer) in model coordinates vec3 normalEC = normalize(czm_normal * normalMC); // normalized surface normal in eye coordiantes vec2 st = czm_ellipsoidWgs84TextureCoordinates(sphericalNormal); vec3 positionToEyeEC = -positionEC; czm_materialInput materialInput; materialInput.s = st.s; materialInput.st = st; materialInput.str = (positionMC + u_radii) / u_radii; materialInput.normalEC = normalEC; materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(positionMC, normalEC); materialInput.positionToEyeEC = positionToEyeEC; czm_material material = czm_getMaterial(materialInput); #ifdef ONLY_SUN_LIGHTING return czm_private_phong(normalize(positionToEyeEC), material, czm_sunDirectionEC); #else return czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); #endif } void main() { // PERFORMANCE_TODO: When dynamic branching is available, compute ratio of maximum and minimum radii // in the vertex shader. Only when it is larger than some constant, march along the ray. // Otherwise perform one intersection test which will be the common case. // Test if the ray intersects a sphere with the ellipsoid's maximum radius. // For very oblate ellipsoids, using the ellipsoid's radii for an intersection test // may cause false negatives. This will discard fragments before marching the ray forward. float maxRadius = max(u_radii.x, max(u_radii.y, u_radii.z)) * 1.5; vec3 direction = normalize(v_positionEC); vec3 ellipsoidCenter = czm_modelView[3].xyz; float t1 = -1.0; float t2 = -1.0; float b = -2.0 * dot(direction, ellipsoidCenter); float c = dot(ellipsoidCenter, ellipsoidCenter) - maxRadius * maxRadius; float discriminant = b * b - 4.0 * c; if (discriminant >= 0.0) { t1 = (-b - sqrt(discriminant)) * 0.5; t2 = (-b + sqrt(discriminant)) * 0.5; } if (t1 < 0.0 && t2 < 0.0) { discard; } float t = min(t1, t2); if (t < 0.0) { t = 0.0; } // March ray forward to intersection with larger sphere and find czm_ray ray = czm_ray(t * direction, direction); vec3 ellipsoid_inverseRadii = vec3(1.0 / u_radii.x, 1.0 / u_radii.y, 1.0 / u_radii.z); czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoidCenter, ellipsoid_inverseRadii); if (czm_isEmpty(intersection)) { discard; } // If the viewer is outside, compute outsideFaceColor, with normals facing outward. vec4 outsideFaceColor = (intersection.start != 0.0) ? computeEllipsoidColor(ray, intersection.start, 1.0) : vec4(0.0); // If the viewer either is inside or can see inside, compute insideFaceColor, with normals facing inward. vec4 insideFaceColor = (outsideFaceColor.a < 1.0) ? computeEllipsoidColor(ray, intersection.stop, -1.0) : vec4(0.0); out_FragColor = mix(insideFaceColor, outsideFaceColor, outsideFaceColor.a); out_FragColor.a = 1.0 - (1.0 - insideFaceColor.a) * (1.0 - outsideFaceColor.a); #if (defined(WRITE_DEPTH) && (__VERSION__ == 300 || defined(GL_EXT_frag_depth))) t = (intersection.start != 0.0) ? intersection.start : intersection.stop; vec3 positionEC = czm_pointAlongRay(ray, t); vec4 positionCC = czm_projection * vec4(positionEC, 1.0); #ifdef LOG_DEPTH czm_writeLogDepth(1.0 + positionCC.w); #else float z = positionCC.z / positionCC.w; float n = czm_depthRange.near; float f = czm_depthRange.far; gl_FragDepth = (z * (f - n) + f + n) * 0.5; #endif #endif } `,iee=`in vec3 position; uniform vec3 u_radii; out vec3 v_positionEC; void main() { // In the vertex data, the cube goes from (-1.0, -1.0, -1.0) to (1.0, 1.0, 1.0) in model coordinates. // Scale to consider the radii. We could also do this once on the CPU when using the BoxGeometry, // but doing it here allows us to change the radii without rewriting the vertex data, and // allows all ellipsoids to reuse the same vertex data. vec4 p = vec4(u_radii * position, 1.0); v_positionEC = (czm_modelView * p).xyz; // position in eye coordinates gl_Position = czm_modelViewProjection * p; // position in clip coordinates // With multi-frustum, when the ellipsoid primitive is positioned on the intersection of two frustums // and close to terrain, the terrain (writes depth) in the closest frustum can overwrite part of the // ellipsoid (does not write depth) that was rendered in the farther frustum. // // Here, we clamp the depth in the vertex shader to avoid being overwritten; however, this creates // artifacts since some fragments can be alpha blended twice. This is solved by only rendering // the ellipsoid in the closest frustum to the viewer. gl_Position.z = clamp(gl_Position.z, czm_depthRange.near, czm_depthRange.far); czm_vertexLogDepth(); } `;/** * @license * Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * Neither the name of NVIDIA CORPORATION nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */var Hve=`/** * @license * Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * Neither the name of NVIDIA CORPORATION nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS \`\`AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ // NVIDIA GameWorks Graphics Samples GitHub link: https://github.com/NVIDIAGameWorks/GraphicsSamples // Original FXAA 3.11 shader link: https://github.com/NVIDIAGameWorks/GraphicsSamples/blob/master/samples/es3-kepler/FXAA/FXAA3_11.h // Steps used to integrate into Cesium: // * The following defines are set: // #define FXAA_PC 1 // #define FXAA_WEBGL_1 1 // #define FXAA_GREEN_AS_LUMA 1 // #define FXAA_EARLY_EXIT 1 // #define FXAA_GLSL_120 1 // * All other preprocessor directives besides the FXAA_QUALITY__P* directives were removed. // * Double underscores are invalid for preprocessor directives so replace them with a single underscore. Replace // /FXAA_QUALITY__P(.*)/g with /FXAA_QUALITY__P$1/. // * There are no implicit conversions from ivec* to vec* so replace: // #define FxaaInt2 ivec2 // with // #define FxaaInt2 vec2 // * The texture2DLod function is only available in vertex shaders so replace: // #define FxaaTexTop(t, p) texture2DLod(t, p, 0.0) // #define FxaaTexOff(t, p, o, r) texture2DLod(t, p + (o * r), 0.0) // with // #define FxaaTexTop(t, p) texture(t, p) // #define FxaaTexOff(t, p, o, r) texture(t, p + (o * r)) // * FXAA_QUALITY_PRESET is prepended in the javascript code. We may want to expose that setting in the future. // * The following parameters to FxaaPixelShader are unused and can be removed: // fxaaConsolePosPos // fxaaConsoleRcpFrameOpt // fxaaConsoleRcpFrameOpt2 // fxaaConsole360RcpFrameOpt2 // fxaaConsoleEdgeSharpness // fxaaConsoleEdgeThreshold // fxaaConsoleEdgeThresholdMi // fxaaConsole360ConstDir // // Choose the quality preset. // This needs to be compiled into the shader as it effects code. // Best option to include multiple presets is to // in each shader define the preset, then include this file. // // OPTIONS // ----------------------------------------------------------------------- // 10 to 15 - default medium dither (10=fastest, 15=highest quality) // 20 to 29 - less dither, more expensive (20=fastest, 29=highest quality) // 39 - no dither, very expensive // // NOTES // ----------------------------------------------------------------------- // 12 = slightly faster then FXAA 3.9 and higher edge quality (default) // 13 = about same speed as FXAA 3.9 and better than 12 // 23 = closest to FXAA 3.9 visually and performance wise // _ = the lowest digit is directly related to performance // _ = the highest digit is directly related to style // //#define FXAA_QUALITY_PRESET 12 #if (FXAA_QUALITY_PRESET == 10) #define FXAA_QUALITY_PS 3 #define FXAA_QUALITY_P0 1.5 #define FXAA_QUALITY_P1 3.0 #define FXAA_QUALITY_P2 12.0 #endif #if (FXAA_QUALITY_PRESET == 11) #define FXAA_QUALITY_PS 4 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 3.0 #define FXAA_QUALITY_P3 12.0 #endif #if (FXAA_QUALITY_PRESET == 12) #define FXAA_QUALITY_PS 5 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 2.0 #define FXAA_QUALITY_P3 4.0 #define FXAA_QUALITY_P4 12.0 #endif #if (FXAA_QUALITY_PRESET == 13) #define FXAA_QUALITY_PS 6 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 2.0 #define FXAA_QUALITY_P3 2.0 #define FXAA_QUALITY_P4 4.0 #define FXAA_QUALITY_P5 12.0 #endif #if (FXAA_QUALITY_PRESET == 14) #define FXAA_QUALITY_PS 7 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 2.0 #define FXAA_QUALITY_P3 2.0 #define FXAA_QUALITY_P4 2.0 #define FXAA_QUALITY_P5 4.0 #define FXAA_QUALITY_P6 12.0 #endif #if (FXAA_QUALITY_PRESET == 15) #define FXAA_QUALITY_PS 8 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 2.0 #define FXAA_QUALITY_P3 2.0 #define FXAA_QUALITY_P4 2.0 #define FXAA_QUALITY_P5 2.0 #define FXAA_QUALITY_P6 4.0 #define FXAA_QUALITY_P7 12.0 #endif #if (FXAA_QUALITY_PRESET == 20) #define FXAA_QUALITY_PS 3 #define FXAA_QUALITY_P0 1.5 #define FXAA_QUALITY_P1 2.0 #define FXAA_QUALITY_P2 8.0 #endif #if (FXAA_QUALITY_PRESET == 21) #define FXAA_QUALITY_PS 4 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 2.0 #define FXAA_QUALITY_P3 8.0 #endif #if (FXAA_QUALITY_PRESET == 22) #define FXAA_QUALITY_PS 5 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 2.0 #define FXAA_QUALITY_P3 2.0 #define FXAA_QUALITY_P4 8.0 #endif #if (FXAA_QUALITY_PRESET == 23) #define FXAA_QUALITY_PS 6 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 2.0 #define FXAA_QUALITY_P3 2.0 #define FXAA_QUALITY_P4 2.0 #define FXAA_QUALITY_P5 8.0 #endif #if (FXAA_QUALITY_PRESET == 24) #define FXAA_QUALITY_PS 7 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 2.0 #define FXAA_QUALITY_P3 2.0 #define FXAA_QUALITY_P4 2.0 #define FXAA_QUALITY_P5 3.0 #define FXAA_QUALITY_P6 8.0 #endif #if (FXAA_QUALITY_PRESET == 25) #define FXAA_QUALITY_PS 8 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 2.0 #define FXAA_QUALITY_P3 2.0 #define FXAA_QUALITY_P4 2.0 #define FXAA_QUALITY_P5 2.0 #define FXAA_QUALITY_P6 4.0 #define FXAA_QUALITY_P7 8.0 #endif #if (FXAA_QUALITY_PRESET == 26) #define FXAA_QUALITY_PS 9 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 2.0 #define FXAA_QUALITY_P3 2.0 #define FXAA_QUALITY_P4 2.0 #define FXAA_QUALITY_P5 2.0 #define FXAA_QUALITY_P6 2.0 #define FXAA_QUALITY_P7 4.0 #define FXAA_QUALITY_P8 8.0 #endif #if (FXAA_QUALITY_PRESET == 27) #define FXAA_QUALITY_PS 10 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 2.0 #define FXAA_QUALITY_P3 2.0 #define FXAA_QUALITY_P4 2.0 #define FXAA_QUALITY_P5 2.0 #define FXAA_QUALITY_P6 2.0 #define FXAA_QUALITY_P7 2.0 #define FXAA_QUALITY_P8 4.0 #define FXAA_QUALITY_P9 8.0 #endif #if (FXAA_QUALITY_PRESET == 28) #define FXAA_QUALITY_PS 11 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 2.0 #define FXAA_QUALITY_P3 2.0 #define FXAA_QUALITY_P4 2.0 #define FXAA_QUALITY_P5 2.0 #define FXAA_QUALITY_P6 2.0 #define FXAA_QUALITY_P7 2.0 #define FXAA_QUALITY_P8 2.0 #define FXAA_QUALITY_P9 4.0 #define FXAA_QUALITY_P10 8.0 #endif #if (FXAA_QUALITY_PRESET == 29) #define FXAA_QUALITY_PS 12 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.5 #define FXAA_QUALITY_P2 2.0 #define FXAA_QUALITY_P3 2.0 #define FXAA_QUALITY_P4 2.0 #define FXAA_QUALITY_P5 2.0 #define FXAA_QUALITY_P6 2.0 #define FXAA_QUALITY_P7 2.0 #define FXAA_QUALITY_P8 2.0 #define FXAA_QUALITY_P9 2.0 #define FXAA_QUALITY_P10 4.0 #define FXAA_QUALITY_P11 8.0 #endif #if (FXAA_QUALITY_PRESET == 39) #define FXAA_QUALITY_PS 12 #define FXAA_QUALITY_P0 1.0 #define FXAA_QUALITY_P1 1.0 #define FXAA_QUALITY_P2 1.0 #define FXAA_QUALITY_P3 1.0 #define FXAA_QUALITY_P4 1.0 #define FXAA_QUALITY_P5 1.5 #define FXAA_QUALITY_P6 2.0 #define FXAA_QUALITY_P7 2.0 #define FXAA_QUALITY_P8 2.0 #define FXAA_QUALITY_P9 2.0 #define FXAA_QUALITY_P10 4.0 #define FXAA_QUALITY_P11 8.0 #endif #define FxaaBool bool #define FxaaFloat float #define FxaaFloat2 vec2 #define FxaaFloat3 vec3 #define FxaaFloat4 vec4 #define FxaaHalf float #define FxaaHalf2 vec2 #define FxaaHalf3 vec3 #define FxaaHalf4 vec4 #define FxaaInt2 vec2 #define FxaaTex sampler2D #define FxaaSat(x) clamp(x, 0.0, 1.0) #define FxaaTexTop(t, p) texture(t, p) #define FxaaTexOff(t, p, o, r) texture(t, p + (o * r)) FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.y; } FxaaFloat4 FxaaPixelShader( // // Use noperspective interpolation here (turn off perspective interpolation). // {xy} = center of pixel FxaaFloat2 pos, // // Input color texture. // {rgb_} = color in linear or perceptual color space // if (FXAA_GREEN_AS_LUMA == 0) // {___a} = luma in perceptual color space (not linear) FxaaTex tex, // // Only used on FXAA Quality. // This must be from a constant/uniform. // {x_} = 1.0/screenWidthInPixels // {_y} = 1.0/screenHeightInPixels FxaaFloat2 fxaaQualityRcpFrame, // // Only used on FXAA Quality. // This used to be the FXAA_QUALITY_SUBPIX define. // It is here now to allow easier tuning. // Choose the amount of sub-pixel aliasing removal. // This can effect sharpness. // 1.00 - upper limit (softer) // 0.75 - default amount of filtering // 0.50 - lower limit (sharper, less sub-pixel aliasing removal) // 0.25 - almost off // 0.00 - completely off FxaaFloat fxaaQualitySubpix, // // Only used on FXAA Quality. // This used to be the FXAA_QUALITY_EDGE_THRESHOLD define. // It is here now to allow easier tuning. // The minimum amount of local contrast required to apply algorithm. // 0.333 - too little (faster) // 0.250 - low quality // 0.166 - default // 0.125 - high quality // 0.063 - overkill (slower) FxaaFloat fxaaQualityEdgeThreshold, // // Only used on FXAA Quality. // This used to be the FXAA_QUALITY_EDGE_THRESHOLD_MIN define. // It is here now to allow easier tuning. // Trims the algorithm from processing darks. // 0.0833 - upper limit (default, the start of visible unfiltered edges) // 0.0625 - high quality (faster) // 0.0312 - visible limit (slower) // Special notes when using FXAA_GREEN_AS_LUMA, // Likely want to set this to zero. // As colors that are mostly not-green // will appear very dark in the green channel! // Tune by looking at mostly non-green content, // then start at zero and increase until aliasing is a problem. FxaaFloat fxaaQualityEdgeThresholdMin ) { /*--------------------------------------------------------------------------*/ FxaaFloat2 posM; posM.x = pos.x; posM.y = pos.y; FxaaFloat4 rgbyM = FxaaTexTop(tex, posM); #define lumaM rgbyM.y FxaaFloat lumaS = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 0, 1), fxaaQualityRcpFrame.xy)); FxaaFloat lumaE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1, 0), fxaaQualityRcpFrame.xy)); FxaaFloat lumaN = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 0,-1), fxaaQualityRcpFrame.xy)); FxaaFloat lumaW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 0), fxaaQualityRcpFrame.xy)); /*--------------------------------------------------------------------------*/ FxaaFloat maxSM = max(lumaS, lumaM); FxaaFloat minSM = min(lumaS, lumaM); FxaaFloat maxESM = max(lumaE, maxSM); FxaaFloat minESM = min(lumaE, minSM); FxaaFloat maxWN = max(lumaN, lumaW); FxaaFloat minWN = min(lumaN, lumaW); FxaaFloat rangeMax = max(maxWN, maxESM); FxaaFloat rangeMin = min(minWN, minESM); FxaaFloat rangeMaxScaled = rangeMax * fxaaQualityEdgeThreshold; FxaaFloat range = rangeMax - rangeMin; FxaaFloat rangeMaxClamped = max(fxaaQualityEdgeThresholdMin, rangeMaxScaled); FxaaBool earlyExit = range < rangeMaxClamped; /*--------------------------------------------------------------------------*/ if(earlyExit) return rgbyM; /*--------------------------------------------------------------------------*/ FxaaFloat lumaNW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1,-1), fxaaQualityRcpFrame.xy)); FxaaFloat lumaSE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1, 1), fxaaQualityRcpFrame.xy)); FxaaFloat lumaNE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1,-1), fxaaQualityRcpFrame.xy)); FxaaFloat lumaSW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 1), fxaaQualityRcpFrame.xy)); /*--------------------------------------------------------------------------*/ FxaaFloat lumaNS = lumaN + lumaS; FxaaFloat lumaWE = lumaW + lumaE; FxaaFloat subpixRcpRange = 1.0/range; FxaaFloat subpixNSWE = lumaNS + lumaWE; FxaaFloat edgeHorz1 = (-2.0 * lumaM) + lumaNS; FxaaFloat edgeVert1 = (-2.0 * lumaM) + lumaWE; /*--------------------------------------------------------------------------*/ FxaaFloat lumaNESE = lumaNE + lumaSE; FxaaFloat lumaNWNE = lumaNW + lumaNE; FxaaFloat edgeHorz2 = (-2.0 * lumaE) + lumaNESE; FxaaFloat edgeVert2 = (-2.0 * lumaN) + lumaNWNE; /*--------------------------------------------------------------------------*/ FxaaFloat lumaNWSW = lumaNW + lumaSW; FxaaFloat lumaSWSE = lumaSW + lumaSE; FxaaFloat edgeHorz4 = (abs(edgeHorz1) * 2.0) + abs(edgeHorz2); FxaaFloat edgeVert4 = (abs(edgeVert1) * 2.0) + abs(edgeVert2); FxaaFloat edgeHorz3 = (-2.0 * lumaW) + lumaNWSW; FxaaFloat edgeVert3 = (-2.0 * lumaS) + lumaSWSE; FxaaFloat edgeHorz = abs(edgeHorz3) + edgeHorz4; FxaaFloat edgeVert = abs(edgeVert3) + edgeVert4; /*--------------------------------------------------------------------------*/ FxaaFloat subpixNWSWNESE = lumaNWSW + lumaNESE; FxaaFloat lengthSign = fxaaQualityRcpFrame.x; FxaaBool horzSpan = edgeHorz >= edgeVert; FxaaFloat subpixA = subpixNSWE * 2.0 + subpixNWSWNESE; /*--------------------------------------------------------------------------*/ if(!horzSpan) lumaN = lumaW; if(!horzSpan) lumaS = lumaE; if(horzSpan) lengthSign = fxaaQualityRcpFrame.y; FxaaFloat subpixB = (subpixA * (1.0/12.0)) - lumaM; /*--------------------------------------------------------------------------*/ FxaaFloat gradientN = lumaN - lumaM; FxaaFloat gradientS = lumaS - lumaM; FxaaFloat lumaNN = lumaN + lumaM; FxaaFloat lumaSS = lumaS + lumaM; FxaaBool pairN = abs(gradientN) >= abs(gradientS); FxaaFloat gradient = max(abs(gradientN), abs(gradientS)); if(pairN) lengthSign = -lengthSign; FxaaFloat subpixC = FxaaSat(abs(subpixB) * subpixRcpRange); /*--------------------------------------------------------------------------*/ FxaaFloat2 posB; posB.x = posM.x; posB.y = posM.y; FxaaFloat2 offNP; offNP.x = (!horzSpan) ? 0.0 : fxaaQualityRcpFrame.x; offNP.y = ( horzSpan) ? 0.0 : fxaaQualityRcpFrame.y; if(!horzSpan) posB.x += lengthSign * 0.5; if( horzSpan) posB.y += lengthSign * 0.5; /*--------------------------------------------------------------------------*/ FxaaFloat2 posN; posN.x = posB.x - offNP.x * FXAA_QUALITY_P0; posN.y = posB.y - offNP.y * FXAA_QUALITY_P0; FxaaFloat2 posP; posP.x = posB.x + offNP.x * FXAA_QUALITY_P0; posP.y = posB.y + offNP.y * FXAA_QUALITY_P0; FxaaFloat subpixD = ((-2.0)*subpixC) + 3.0; FxaaFloat lumaEndN = FxaaLuma(FxaaTexTop(tex, posN)); FxaaFloat subpixE = subpixC * subpixC; FxaaFloat lumaEndP = FxaaLuma(FxaaTexTop(tex, posP)); /*--------------------------------------------------------------------------*/ if(!pairN) lumaNN = lumaSS; FxaaFloat gradientScaled = gradient * 1.0/4.0; FxaaFloat lumaMM = lumaM - lumaNN * 0.5; FxaaFloat subpixF = subpixD * subpixE; FxaaBool lumaMLTZero = lumaMM < 0.0; /*--------------------------------------------------------------------------*/ lumaEndN -= lumaNN * 0.5; lumaEndP -= lumaNN * 0.5; FxaaBool doneN = abs(lumaEndN) >= gradientScaled; FxaaBool doneP = abs(lumaEndP) >= gradientScaled; if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P1; if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P1; FxaaBool doneNP = (!doneN) || (!doneP); if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P1; if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P1; /*--------------------------------------------------------------------------*/ if(doneNP) { if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; doneN = abs(lumaEndN) >= gradientScaled; doneP = abs(lumaEndP) >= gradientScaled; if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P2; if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P2; doneNP = (!doneN) || (!doneP); if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P2; if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P2; /*--------------------------------------------------------------------------*/ #if (FXAA_QUALITY_PS > 3) if(doneNP) { if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; doneN = abs(lumaEndN) >= gradientScaled; doneP = abs(lumaEndP) >= gradientScaled; if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P3; if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P3; doneNP = (!doneN) || (!doneP); if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P3; if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P3; /*--------------------------------------------------------------------------*/ #if (FXAA_QUALITY_PS > 4) if(doneNP) { if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; doneN = abs(lumaEndN) >= gradientScaled; doneP = abs(lumaEndP) >= gradientScaled; if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P4; if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P4; doneNP = (!doneN) || (!doneP); if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P4; if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P4; /*--------------------------------------------------------------------------*/ #if (FXAA_QUALITY_PS > 5) if(doneNP) { if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; doneN = abs(lumaEndN) >= gradientScaled; doneP = abs(lumaEndP) >= gradientScaled; if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P5; if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P5; doneNP = (!doneN) || (!doneP); if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P5; if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P5; /*--------------------------------------------------------------------------*/ #if (FXAA_QUALITY_PS > 6) if(doneNP) { if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; doneN = abs(lumaEndN) >= gradientScaled; doneP = abs(lumaEndP) >= gradientScaled; if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P6; if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P6; doneNP = (!doneN) || (!doneP); if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P6; if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P6; /*--------------------------------------------------------------------------*/ #if (FXAA_QUALITY_PS > 7) if(doneNP) { if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; doneN = abs(lumaEndN) >= gradientScaled; doneP = abs(lumaEndP) >= gradientScaled; if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P7; if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P7; doneNP = (!doneN) || (!doneP); if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P7; if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P7; /*--------------------------------------------------------------------------*/ #if (FXAA_QUALITY_PS > 8) if(doneNP) { if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; doneN = abs(lumaEndN) >= gradientScaled; doneP = abs(lumaEndP) >= gradientScaled; if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P8; if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P8; doneNP = (!doneN) || (!doneP); if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P8; if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P8; /*--------------------------------------------------------------------------*/ #if (FXAA_QUALITY_PS > 9) if(doneNP) { if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; doneN = abs(lumaEndN) >= gradientScaled; doneP = abs(lumaEndP) >= gradientScaled; if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P9; if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P9; doneNP = (!doneN) || (!doneP); if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P9; if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P9; /*--------------------------------------------------------------------------*/ #if (FXAA_QUALITY_PS > 10) if(doneNP) { if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; doneN = abs(lumaEndN) >= gradientScaled; doneP = abs(lumaEndP) >= gradientScaled; if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P10; if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P10; doneNP = (!doneN) || (!doneP); if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P10; if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P10; /*--------------------------------------------------------------------------*/ #if (FXAA_QUALITY_PS > 11) if(doneNP) { if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; doneN = abs(lumaEndN) >= gradientScaled; doneP = abs(lumaEndP) >= gradientScaled; if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P11; if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P11; doneNP = (!doneN) || (!doneP); if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P11; if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P11; /*--------------------------------------------------------------------------*/ #if (FXAA_QUALITY_PS > 12) if(doneNP) { if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; doneN = abs(lumaEndN) >= gradientScaled; doneP = abs(lumaEndP) >= gradientScaled; if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P12; if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P12; doneNP = (!doneN) || (!doneP); if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P12; if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P12; /*--------------------------------------------------------------------------*/ } #endif /*--------------------------------------------------------------------------*/ } #endif /*--------------------------------------------------------------------------*/ } #endif /*--------------------------------------------------------------------------*/ } #endif /*--------------------------------------------------------------------------*/ } #endif /*--------------------------------------------------------------------------*/ } #endif /*--------------------------------------------------------------------------*/ } #endif /*--------------------------------------------------------------------------*/ } #endif /*--------------------------------------------------------------------------*/ } #endif /*--------------------------------------------------------------------------*/ } #endif /*--------------------------------------------------------------------------*/ } /*--------------------------------------------------------------------------*/ FxaaFloat dstN = posM.x - posN.x; FxaaFloat dstP = posP.x - posM.x; if(!horzSpan) dstN = posM.y - posN.y; if(!horzSpan) dstP = posP.y - posM.y; /*--------------------------------------------------------------------------*/ FxaaBool goodSpanN = (lumaEndN < 0.0) != lumaMLTZero; FxaaFloat spanLength = (dstP + dstN); FxaaBool goodSpanP = (lumaEndP < 0.0) != lumaMLTZero; FxaaFloat spanLengthRcp = 1.0/spanLength; /*--------------------------------------------------------------------------*/ FxaaBool directionN = dstN < dstP; FxaaFloat dst = min(dstN, dstP); FxaaBool goodSpan = directionN ? goodSpanN : goodSpanP; FxaaFloat subpixG = subpixF * subpixF; FxaaFloat pixelOffset = (dst * (-spanLengthRcp)) + 0.5; FxaaFloat subpixH = subpixG * fxaaQualitySubpix; /*--------------------------------------------------------------------------*/ FxaaFloat pixelOffsetGood = goodSpan ? pixelOffset : 0.0; FxaaFloat pixelOffsetSubpix = max(pixelOffsetGood, subpixH); if(!horzSpan) posM.x += pixelOffsetSubpix * lengthSign; if( horzSpan) posM.y += pixelOffsetSubpix * lengthSign; return FxaaFloat4(FxaaTexTop(tex, posM).xyz, lumaM); } `,Vve=`uniform vec4 u_initialColor; #if TEXTURE_UNITS > 0 uniform sampler2D u_dayTextures[TEXTURE_UNITS]; uniform vec4 u_dayTextureTranslationAndScale[TEXTURE_UNITS]; uniform bool u_dayTextureUseWebMercatorT[TEXTURE_UNITS]; #ifdef APPLY_ALPHA uniform float u_dayTextureAlpha[TEXTURE_UNITS]; #endif #ifdef APPLY_DAY_NIGHT_ALPHA uniform float u_dayTextureNightAlpha[TEXTURE_UNITS]; uniform float u_dayTextureDayAlpha[TEXTURE_UNITS]; #endif #ifdef APPLY_SPLIT uniform float u_dayTextureSplit[TEXTURE_UNITS]; #endif #ifdef APPLY_BRIGHTNESS uniform float u_dayTextureBrightness[TEXTURE_UNITS]; #endif #ifdef APPLY_CONTRAST uniform float u_dayTextureContrast[TEXTURE_UNITS]; #endif #ifdef APPLY_HUE uniform float u_dayTextureHue[TEXTURE_UNITS]; #endif #ifdef APPLY_SATURATION uniform float u_dayTextureSaturation[TEXTURE_UNITS]; #endif #ifdef APPLY_GAMMA uniform float u_dayTextureOneOverGamma[TEXTURE_UNITS]; #endif #ifdef APPLY_IMAGERY_CUTOUT uniform vec4 u_dayTextureCutoutRectangles[TEXTURE_UNITS]; #endif #ifdef APPLY_COLOR_TO_ALPHA uniform vec4 u_colorsToAlpha[TEXTURE_UNITS]; #endif uniform vec4 u_dayTextureTexCoordsRectangle[TEXTURE_UNITS]; #endif #ifdef SHOW_REFLECTIVE_OCEAN uniform sampler2D u_waterMask; uniform vec4 u_waterMaskTranslationAndScale; uniform float u_zoomedOutOceanSpecularIntensity; #endif #ifdef SHOW_OCEAN_WAVES uniform sampler2D u_oceanNormalMap; #endif #if defined(ENABLE_DAYNIGHT_SHADING) || defined(GROUND_ATMOSPHERE) uniform vec2 u_lightingFadeDistance; #endif #ifdef TILE_LIMIT_RECTANGLE uniform vec4 u_cartographicLimitRectangle; #endif #ifdef GROUND_ATMOSPHERE uniform vec2 u_nightFadeDistance; #endif #ifdef ENABLE_SLOPE_MAP uniform sampler2D u_slopeColorsTexture; #endif #ifdef ENABLE_CLIPPING_PLANES uniform highp sampler2D u_clippingPlanes; uniform mat4 u_clippingPlanesMatrix; uniform vec4 u_clippingPlanesEdgeStyle; #endif #ifdef SHOW_CONTOUR_LINE uniform sampler2D u_contourLineTexture; uniform vec4 u_contourLineTranslationAndScale; #endif #if defined(GROUND_ATMOSPHERE) || defined(FOG) && defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING)) uniform float u_minimumBrightness; #endif #ifdef COLOR_CORRECT uniform vec3 u_hsbShift; // Hue, saturation, brightness #endif #ifdef HIGHLIGHT_FILL_TILE uniform vec4 u_fillHighlightColor; #endif #ifdef TRANSLUCENT uniform vec4 u_frontFaceAlphaByDistance; uniform vec4 u_backFaceAlphaByDistance; uniform vec4 u_translucencyRectangle; #endif #ifdef UNDERGROUND_COLOR uniform vec4 u_undergroundColor; uniform vec4 u_undergroundColorAlphaByDistance; #endif #ifdef ENABLE_VERTEX_LIGHTING uniform float u_lambertDiffuseMultiplier; uniform float u_vertexShadowDarkness; #endif #ifdef SHOW_GRATICULES uniform vec4 u_graticuleTranslationAndScale; uniform float u_widthHeight; uniform vec4 u_graticulesColor; #endif in vec3 v_positionMC; in vec3 v_positionEC; in vec3 v_textureCoordinates; in vec3 v_normalMC; in vec3 v_normalEC; #ifdef APPLY_MATERIAL in float v_slope; in float v_aspect; #endif #if defined(APPLY_MATERIAL) || defined(APPLY_FLATTEN) in float v_height; #endif #ifdef APPLY_FLATTEN uniform mat4 u_eastNorthUpToFixedFrame; uniform mat4 u_eastNorthUpToFixedFrameA; uniform mat4 u_r_eastNorthUpToFixedFrame; uniform mat4 u_r_eastNorthUpToFixedFrameA; uniform bool u_bFlatten; uniform vec4 u_polygonBounds; uniform sampler2D u_polygonTexture; uniform float u_minFlattenHeight; uniform bool u_clipPlaneOfFlatten; uniform bool u_ripple; uniform bool u_regionSnow; uniform float u_regionAlpha; uniform float u_regionGradientDistance; uniform bool u_heightFog; uniform float u_fogHeight; in vec3 v_scopePosition; #endif uniform float u_tileLevel; #if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) in float v_distance; #endif #if defined(GROUND_ATMOSPHERE) || defined(FOG) in vec3 v_atmosphereRayleighColor; in vec3 v_atmosphereMieColor; in float v_atmosphereOpacity; #endif #if defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) float interpolateByDistance(vec4 nearFarScalar, float distance) { float startDistance = nearFarScalar.x; float startValue = nearFarScalar.y; float endDistance = nearFarScalar.z; float endValue = nearFarScalar.w; float t = clamp((distance - startDistance) / (endDistance - startDistance), 0.0, 1.0); return mix(startValue, endValue, t); } #endif #if defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) || defined(APPLY_MATERIAL) vec4 alphaBlend(vec4 sourceColor, vec4 destinationColor) { return sourceColor * vec4(sourceColor.aaa, 1.0) + destinationColor * (1.0 - sourceColor.a); } #endif #ifdef TRANSLUCENT bool inTranslucencyRectangle() { return v_textureCoordinates.x > u_translucencyRectangle.x && v_textureCoordinates.x < u_translucencyRectangle.z && v_textureCoordinates.y > u_translucencyRectangle.y && v_textureCoordinates.y < u_translucencyRectangle.w; } #endif vec4 sampleAndBlend( vec4 previousColor, sampler2D textureToSample, vec2 tileTextureCoordinates, vec4 textureCoordinateRectangle, vec4 textureCoordinateTranslationAndScale, float textureAlpha, float textureNightAlpha, float textureDayAlpha, float textureBrightness, float textureContrast, float textureHue, float textureSaturation, float textureOneOverGamma, float split, vec4 colorToAlpha, float nightBlend) { // This crazy step stuff sets the alpha to 0.0 if this following condition is true: // tileTextureCoordinates.s < textureCoordinateRectangle.s || // tileTextureCoordinates.s > textureCoordinateRectangle.p || // tileTextureCoordinates.t < textureCoordinateRectangle.t || // tileTextureCoordinates.t > textureCoordinateRectangle.q // In other words, the alpha is zero if the fragment is outside the rectangle // covered by this texture. Would an actual 'if' yield better performance? vec2 alphaMultiplier = step(textureCoordinateRectangle.st, tileTextureCoordinates); textureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y; alphaMultiplier = step(vec2(0.0), textureCoordinateRectangle.pq - tileTextureCoordinates); textureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y; #if defined(APPLY_DAY_NIGHT_ALPHA) && defined(ENABLE_DAYNIGHT_SHADING) textureAlpha *= mix(textureDayAlpha, textureNightAlpha, nightBlend); #endif vec2 translation = textureCoordinateTranslationAndScale.xy; vec2 scale = textureCoordinateTranslationAndScale.zw; vec2 textureCoordinates = tileTextureCoordinates * scale + translation; vec4 value = texture(textureToSample, textureCoordinates); vec3 color = value.rgb; float alpha = value.a; #ifdef APPLY_COLOR_TO_ALPHA vec3 colorDiff = abs(color.rgb - colorToAlpha.rgb); colorDiff.r = max(max(colorDiff.r, colorDiff.g), colorDiff.b); alpha = czm_branchFreeTernary(colorDiff.r < colorToAlpha.a, 0.0, alpha); #endif #if !defined(APPLY_GAMMA) vec4 tempColor = czm_gammaCorrect(vec4(color, alpha)); color = tempColor.rgb; alpha = tempColor.a; #else color = pow(color, vec3(textureOneOverGamma)); #endif #ifdef APPLY_SPLIT float splitPosition = czm_splitPosition; // Split to the left if (split < 0.0 && gl_FragCoord.x > splitPosition) { alpha = 0.0; } // Split to the right else if (split > 0.0 && gl_FragCoord.x < splitPosition) { alpha = 0.0; } #endif #ifdef APPLY_BRIGHTNESS color = mix(vec3(0.0), color, textureBrightness); #endif #ifdef APPLY_CONTRAST color = mix(vec3(0.5), color, textureContrast); #endif #ifdef APPLY_HUE color = czm_hue(color, textureHue); #endif #ifdef APPLY_SATURATION color = czm_saturation(color, textureSaturation); #endif float sourceAlpha = alpha * textureAlpha; float outAlpha = mix(previousColor.a, 1.0, sourceAlpha); outAlpha += sign(outAlpha) - 1.0; vec3 outColor = mix(previousColor.rgb * previousColor.a, color, sourceAlpha) / outAlpha; // When rendering imagery for a tile in multiple passes, // some GPU/WebGL implementation combinations will not blend fragments in // additional passes correctly if their computation includes an unmasked // divide-by-zero operation, // even if it's not in the output or if the output has alpha zero. // // For example, without sanitization for outAlpha, // this renders without artifacts: // if (outAlpha == 0.0) { outColor = vec3(0.0); } // // but using czm_branchFreeTernary will cause portions of the tile that are // alpha-zero in the additional pass to render as black instead of blending // with the previous pass: // outColor = czm_branchFreeTernary(outAlpha == 0.0, vec3(0.0), outColor); // // So instead, sanitize against divide-by-zero, // store this state on the sign of outAlpha, and correct on return. return vec4(outColor, max(outAlpha, 0.0)); } vec3 colorCorrect(vec3 rgb) { #ifdef COLOR_CORRECT // Convert rgb color to hsb vec3 hsb = czm_RGBToHSB(rgb); // Perform hsb shift hsb.x += u_hsbShift.x; // hue hsb.y = clamp(hsb.y + u_hsbShift.y, 0.0, 1.0); // saturation hsb.z = hsb.z > czm_epsilon7 ? hsb.z + u_hsbShift.z : 0.0; // brightness // Convert shifted hsb back to rgb rgb = czm_HSBToRGB(hsb); #endif return rgb; } vec4 computeDayColor(vec4 initialColor, vec3 textureCoordinates, float nightBlend); vec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec4 imageryColor, float specularMapValue, float fade); const float fExposure = 2.0; vec3 computeEllipsoidPosition() { float mpp = czm_metersPerPixel(vec4(0.0, 0.0, -czm_currentFrustum.x, 1.0), 1.0); vec2 xy = gl_FragCoord.xy / czm_viewport.zw * 2.0 - vec2(1.0); xy *= czm_viewport.zw * mpp * 0.5; vec3 direction = normalize(vec3(xy, -czm_currentFrustum.x)); czm_ray ray = czm_ray(vec3(0.0), direction); vec3 ellipsoid_center = czm_view[3].xyz; czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid_center, czm_ellipsoidInverseRadii); vec3 ellipsoidPosition = czm_pointAlongRay(ray, intersection.start); return (czm_inverseView * vec4(ellipsoidPosition, 1.0)).xyz; } #ifdef APPLY_FLATTEN // \u5728\u8303\u56F4\u5185 bool isPointInBound(vec4 point, vec4 bounds) { return (point.x>bounds.x && point.xbounds.w); } float unpackDepth(const in vec4 rgba_depth) { // \u89E3\u7801\u6DF1\u5EA6 const vec4 bitShifts = vec4(1.0, 1.0 / 255.0, 1.0 / (255.0 * 255.0), 1.0 / (255.0 * 255.0 * 255.0)); float depth=dot(rgba_depth, bitShifts); return depth; } float regionGradient(vec4 point, vec4 bounds, float distance) { float rate1 = min((point.x - bounds.x) / distance, (bounds.z - point.x) / distance); float rate2 = min((point.y - bounds.w) / distance, (bounds.y - point.y) / distance); float rate = smoothstep(0.0, 1.0, rate1 * rate2); return rate; } #endif #define MAX_RADIUS 2 #define DOUBLE_HASH 0 #define HASHSCALE1 .1031 #define HASHSCALE3 vec3(.1031, .1030, .0973) float hash12(vec2 p) { vec3 p3 = fract(vec3(p.xyx) * HASHSCALE1); p3 += dot(p3, p3.yzx + 19.19); return fract((p3.x + p3.y) * p3.z); } vec2 hash22(vec2 p) { vec3 p3 = fract(vec3(p.xyx) * HASHSCALE3); p3 += dot(p3, p3.yzx+19.19); return fract((p3.xx+p3.yz)*p3.zy); } void rippleImage( out vec4 fragColor, in vec2 fragCoord, float tileLevel ) { float iTime = czm_frameNumber / 30.0; vec2 uv = fragCoord.xy * 10.0 * tileLevel; vec2 p0 = floor(uv); vec2 circles = vec2(0.); for (int j = -MAX_RADIUS; j <= MAX_RADIUS; ++j) { for (int i = -MAX_RADIUS; i <= MAX_RADIUS; ++i) { vec2 pi = p0 + vec2(i, j); #if DOUBLE_HASH vec2 hsh = hash22(pi); #else vec2 hsh = pi; #endif vec2 p = pi + hash22(hsh); float t = fract(0.8*iTime + hash12(hsh)); vec2 v = p - uv; float d = length(v) - (float(MAX_RADIUS) + 1.)*t; float h = 1e-3; float d1 = d - h; float d2 = d + h; float p1 = sin(31.*d1) * smoothstep(-0.6, -0.3, d1) * smoothstep(0., -0.3, d1); float p2 = sin(31.*d2) * smoothstep(-0.6, -0.3, d2) * smoothstep(0., -0.3, d2); circles += 0.5 * normalize(v) * ((p2 - p1) / (2. * h) * (1. - t) * (1. - t)); } } circles /= float((MAX_RADIUS*2+1)*(MAX_RADIUS*2+1)); float intensity = mix(0.01, 0.15, smoothstep(0.1, 0.6, abs(fract(0.05*iTime + 0.5)*2.-1.))); vec3 n = vec3(circles, sqrt(1. - dot(circles, circles))); vec3 color = vec3(0.0) + 5.*pow(clamp(dot(n, normalize(vec3(1., 0.7, 0.5))), 0., 1.), 6.); fragColor = vec4(color, 1.0); } void main() { #ifdef TILE_LIMIT_RECTANGLE if (v_textureCoordinates.x < u_cartographicLimitRectangle.x || u_cartographicLimitRectangle.z < v_textureCoordinates.x || v_textureCoordinates.y < u_cartographicLimitRectangle.y || u_cartographicLimitRectangle.w < v_textureCoordinates.y) { discard; } #endif #ifdef ENABLE_CLIPPING_PLANES float clipDistance = clip(gl_FragCoord, u_clippingPlanes, u_clippingPlanesMatrix); #endif #if defined(SHOW_REFLECTIVE_OCEAN) || defined(ENABLE_DAYNIGHT_SHADING) || defined(HDR) vec3 normalMC = czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0)); // normalized surface normal in model coordinates vec3 normalEC = czm_normal3D * normalMC; // normalized surface normal in eye coordiantes #endif #if defined(APPLY_DAY_NIGHT_ALPHA) && defined(ENABLE_DAYNIGHT_SHADING) float nightBlend = 1.0 - clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * 5.0, 0.0, 1.0); #else float nightBlend = 0.0; #endif // The clamp below works around an apparent bug in Chrome Canary v23.0.1241.0 // where the fragment shader sees textures coordinates < 0.0 and > 1.0 for the // fragments on the edges of tiles even though the vertex shader is outputting // coordinates strictly in the 0-1 range. vec4 color = computeDayColor(u_initialColor, clamp(v_textureCoordinates, 0.0, 1.0), nightBlend); #ifdef SHOW_TILE_BOUNDARIES if (v_textureCoordinates.x < (1.0/256.0) || v_textureCoordinates.x > (255.0/256.0) || v_textureCoordinates.y < (1.0/256.0) || v_textureCoordinates.y > (255.0/256.0)) { color = vec4(1.0, 0.0, 0.0, 1.0); } #endif #if defined(ENABLE_DAYNIGHT_SHADING) || defined(GROUND_ATMOSPHERE) float cameraDist; if (czm_sceneMode == czm_sceneMode2D) { cameraDist = max(czm_frustumPlanes.x - czm_frustumPlanes.y, czm_frustumPlanes.w - czm_frustumPlanes.z) * 0.5; } else if (czm_sceneMode == czm_sceneModeColumbusView) { cameraDist = -czm_view[3].z; } else { cameraDist = length(czm_view[3]); } float fadeOutDist = u_lightingFadeDistance.x; float fadeInDist = u_lightingFadeDistance.y; if (czm_sceneMode != czm_sceneMode3D) { vec3 radii = czm_ellipsoidRadii; float maxRadii = max(radii.x, max(radii.y, radii.z)); fadeOutDist -= maxRadii; fadeInDist -= maxRadii; } float fade = clamp((cameraDist - fadeOutDist) / (fadeInDist - fadeOutDist), 0.0, 1.0); #else float fade = 0.0; #endif #ifdef SHOW_REFLECTIVE_OCEAN vec2 waterMaskTranslation = u_waterMaskTranslationAndScale.xy; vec2 waterMaskScale = u_waterMaskTranslationAndScale.zw; vec2 waterMaskTextureCoordinates = v_textureCoordinates.xy * waterMaskScale + waterMaskTranslation; waterMaskTextureCoordinates.y = 1.0 - waterMaskTextureCoordinates.y; float mask = texture(u_waterMask, waterMaskTextureCoordinates).r; if (mask > 0.0) { mat3 enuToEye = czm_eastNorthUpToEyeCoordinates(v_positionMC, normalEC); vec2 ellipsoidTextureCoordinates = czm_ellipsoidWgs84TextureCoordinates(normalMC); vec2 ellipsoidFlippedTextureCoordinates = czm_ellipsoidWgs84TextureCoordinates(normalMC.zyx); vec2 textureCoordinates = mix(ellipsoidTextureCoordinates, ellipsoidFlippedTextureCoordinates, czm_morphTime * smoothstep(0.9, 0.95, normalMC.z)); color = computeWaterColor(v_positionEC, textureCoordinates, enuToEye, color, mask, fade); } #endif #ifdef SHOW_CONTOUR_LINE vec2 contourLineTranslation = u_contourLineTranslationAndScale.xy; vec2 contourLineScale = u_contourLineTranslationAndScale.zw; vec2 contourLineTextureCoordinates = v_textureCoordinates.xy * contourLineScale + contourLineTranslation; //contourLineTextureCoordinates.y = 1.0 - contourLineTextureCoordinates.y; vec4 contourLineColor = texture(u_contourLineTexture, contourLineTextureCoordinates); if( (contourLineColor.r > 0.0 && contourLineColor.r < 1.0) && (contourLineColor.g > 0.0 && contourLineColor.g < 1.0) && (contourLineColor.b > 0.0 && contourLineColor.b < 1.0) ){ color = contourLineColor; } #endif #ifdef SHOW_GRATICULES vec2 graticuleTranslation = u_graticuleTranslationAndScale.xy; vec2 graticuleScale = u_graticuleTranslationAndScale.zw; vec2 graticuleCoordinates = v_textureCoordinates.xy * graticuleScale + graticuleTranslation; vec4 position = czm_windowToEyeCoordinates(gl_FragCoord); float pixelWidth = czm_metersPerPixel(position); bool flag = false; int sizeX = int(graticuleTranslation.x + graticuleScale.x) + 1; for(int ii=0; ii 1.0) { discard; } } } if(u_ripple || u_regionSnow || u_heightFog) { // \u53D8\u6362\u5230\u4E16\u754C\u4F4D\u7F6E\uFF0C\u7136\u540E\u53C8\u5230 vec4 m_position = u_r_eastNorthUpToFixedFrameA *vec4(v_scopePosition, 1.0); // \u662F\u5426\u5728\u8303\u56F4\u5185 if (isPointInBound(m_position, u_polygonBounds)) { vec2 texCoord; texCoord.x = (m_position.x-u_polygonBounds.x)/(u_polygonBounds.z-u_polygonBounds.x); texCoord.y = (m_position.y-u_polygonBounds.w)/(u_polygonBounds.y-u_polygonBounds.w); // \u56FE\u7247\u5927\u5C0F\u662F float texelSize = 1.0/4096.0; // \u89E3\u7801\u6DF1\u5EA6 float depth0 = unpackDepth(texture(u_polygonTexture, texCoord.xy)); float depth1 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(-texelSize, 0.0))); float depth2 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(texelSize, 0.0))); float depth3 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(0.0, -texelSize))); float depth4 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(0.0, texelSize))); // \u83B7\u53D6\u6700\u5C0F\u7684\u6DF1\u5EA6 float minDepth = min(min(min(min(depth0, depth1), depth2), depth3), depth4); // if (minDepth*5000.0 > 1.0) { float rate = regionGradient(m_position, u_polygonBounds, u_regionGradientDistance); if(u_ripple){ vec4 fragColor; rippleImage(fragColor, v_textureCoordinates.xy, u_tileLevel); rippleColor.rgb = fragColor.rgb; rippleColor.a = u_regionAlpha * rate; } else if(u_regionSnow){ rippleColor = vec4(vec3(0.8), u_regionAlpha * rate); } else if(u_heightFog){ if(v_height < u_fogHeight){ rippleColor = vec4(vec3(0.8), clamp(v_height / u_fogHeight, 0.2, 1.0) * u_regionAlpha); } rippleColor.a *= rate; } } } } } #endif // \u805A\u5149\u706F --begin #ifdef APPLY_SPOT vec3 spotMaterialColor = czm_getMaterial_spot(v_positionEC, color.rgb); color = vec4(spotMaterialColor.xyz, color.a); #endif // \u805A\u5149\u706F --end // \u70B9\u5149\u6E90 --begin #ifdef APPLY_POINT vec3 spotMaterialColor = czm_getMaterial_point(v_positionEC, color.rgb); color = vec4(spotMaterialColor.xyz, color.a); #endif // \u70B9\u5149\u6E90 --end #ifdef ENABLE_VERTEX_LIGHTING float diffuseIntensity = clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalize(v_normalEC)) * u_lambertDiffuseMultiplier + u_vertexShadowDarkness, 0.0, 1.0); vec4 finalColor = vec4(color.rgb * czm_lightColor * diffuseIntensity, color.a); #elif defined(ENABLE_DAYNIGHT_SHADING) float diffuseIntensity = clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * 5.0 + 0.3, 0.0, 1.0); diffuseIntensity = mix(1.0, diffuseIntensity, fade); vec4 finalColor = vec4(color.rgb * czm_lightColor * diffuseIntensity, color.a); #else vec4 finalColor = color; #endif // SmartEarth \u4FEE\u6539 \u5761\u5EA6\u5206\u6790 #ifdef ENABLE_SLOPE_MAP #ifdef SMOOTH_SLOPE_AT_HIGHER_ALT finalColor = vec4(texture(u_slopeColorsTexture, vec2(0., 1.)).rgb * 0.5 + color.rgb * 0.5, 1.); #else vec3 ellipsoidNormal = normalize(v_positionMC.xyz); float n; if(v_normalMC.r >= 123.456 - 1.0 && v_normalMC.r <= 123.456 + 1.0){ out_FragColor = vec4(vec3(0.66) * 0.5 + finalColor.rgb * 0.5, 1.0); return; }else{ n = abs(dot(v_normalMC, ellipsoidNormal)); } vec3 texColor = texture(u_slopeColorsTexture, vec2(0., n)).rgb; finalColor = vec4(texColor * 0.5 + color.rgb * 0.5, 1.); #endif #endif // SmartEarth \u4FEE\u6539 \u5761\u5EA6\u5206\u6790 #ifdef ENABLE_CLIPPING_PLANES vec4 clippingPlanesEdgeColor = vec4(1.0); clippingPlanesEdgeColor.rgb = u_clippingPlanesEdgeStyle.rgb; float clippingPlanesEdgeWidth = u_clippingPlanesEdgeStyle.a; if (clipDistance < clippingPlanesEdgeWidth) { finalColor = clippingPlanesEdgeColor; } #endif #ifdef HIGHLIGHT_FILL_TILE finalColor = vec4(mix(finalColor.rgb, u_fillHighlightColor.rgb, u_fillHighlightColor.a), finalColor.a); #endif #if defined(DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN) vec3 atmosphereLightDirection = czm_sunDirectionWC; #else vec3 atmosphereLightDirection = czm_lightDirectionWC; #endif #if defined(GROUND_ATMOSPHERE) || defined(FOG) if (!czm_backFacing()) { bool dynamicLighting = false; #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_DAYNIGHT_SHADING) || defined(ENABLE_VERTEX_LIGHTING)) dynamicLighting = true; #endif vec3 rayleighColor; vec3 mieColor; float opacity; vec3 positionWC; vec3 lightDirection; // When the camera is far away (camera distance > nightFadeOutDistance), the scattering is computed in the fragment shader. // Otherwise, the scattering is computed in the vertex shader. #ifdef PER_FRAGMENT_GROUND_ATMOSPHERE positionWC = computeEllipsoidPosition(); lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(positionWC)); computeAtmosphereScattering( positionWC, lightDirection, rayleighColor, mieColor, opacity ); #else positionWC = v_positionMC; lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(positionWC)); rayleighColor = v_atmosphereRayleighColor; mieColor = v_atmosphereMieColor; opacity = v_atmosphereOpacity; #endif rayleighColor = colorCorrect(rayleighColor); mieColor = colorCorrect(mieColor); vec4 groundAtmosphereColor = computeAtmosphereColor(positionWC, lightDirection, rayleighColor, mieColor, opacity); // Fog is applied to tiles selected for fog, close to the Earth. #ifdef FOG vec3 fogColor = groundAtmosphereColor.rgb; // If there is lighting, apply that to the fog. #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING)) float darken = clamp(dot(normalize(czm_viewerPositionWC), atmosphereLightDirection), u_minimumBrightness, 1.0); fogColor *= darken; #endif #ifndef HDR fogColor.rgb = czm_acesTonemapping(fogColor.rgb); fogColor.rgb = czm_inverseGamma(fogColor.rgb); #endif const float modifier = 0.15; finalColor = vec4(czm_fog(v_distance, finalColor.rgb, fogColor.rgb, modifier), finalColor.a); #else // The transmittance is based on optical depth i.e. the length of segment of the ray inside the atmosphere. // This value is larger near the "circumference", as it is further away from the camera. We use it to // brighten up that area of the ground atmosphere. const float transmittanceModifier = 0.5; float transmittance = transmittanceModifier + clamp(1.0 - groundAtmosphereColor.a, 0.0, 1.0); vec3 finalAtmosphereColor = finalColor.rgb + groundAtmosphereColor.rgb * transmittance; #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING)) float fadeInDist = u_nightFadeDistance.x; float fadeOutDist = u_nightFadeDistance.y; float sunlitAtmosphereIntensity = clamp((cameraDist - fadeOutDist) / (fadeInDist - fadeOutDist), 0.05, 1.0); float darken = clamp(dot(normalize(positionWC), atmosphereLightDirection), 0.0, 1.0); vec3 darkenendGroundAtmosphereColor = mix(groundAtmosphereColor.rgb, finalAtmosphereColor.rgb, darken); finalAtmosphereColor = mix(darkenendGroundAtmosphereColor, finalAtmosphereColor, sunlitAtmosphereIntensity); #endif #ifndef HDR finalAtmosphereColor.rgb = vec3(1.0) - exp(-fExposure * finalAtmosphereColor.rgb); #else finalAtmosphereColor.rgb = czm_saturation(finalAtmosphereColor.rgb, 1.6); #endif finalColor.rgb = mix(finalColor.rgb, finalAtmosphereColor.rgb, fade); #endif } #endif #ifdef UNDERGROUND_COLOR if (czm_backFacing()) { float distanceFromEllipsoid = max(czm_eyeHeight, 0.0); float distance = max(v_distance - distanceFromEllipsoid, 0.0); float blendAmount = interpolateByDistance(u_undergroundColorAlphaByDistance, distance); vec4 undergroundColor = vec4(u_undergroundColor.rgb, u_undergroundColor.a * blendAmount); finalColor = alphaBlend(undergroundColor, finalColor); } #endif #ifdef TRANSLUCENT if (inTranslucencyRectangle()) { vec4 alphaByDistance = gl_FrontFacing ? u_frontFaceAlphaByDistance : u_backFaceAlphaByDistance; finalColor.a *= interpolateByDistance(alphaByDistance, v_distance); } #endif finalColor.rgb = mix(finalColor.rgb, rippleColor.rgb, rippleColor.a); out_FragColor = finalColor; } #ifdef SHOW_REFLECTIVE_OCEAN float waveFade(float edge0, float edge1, float x) { float y = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0); return pow(1.0 - y, 5.0); } float linearFade(float edge0, float edge1, float x) { return clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0); } // Based on water rendering by Jonas Wagner: // http://29a.ch/2012/7/19/webgl-terrain-rendering-water-fog // low altitude wave settings const float oceanFrequencyLowAltitude = 825000.0; const float oceanAnimationSpeedLowAltitude = 0.004; const float oceanOneOverAmplitudeLowAltitude = 1.0 / 2.0; const float oceanSpecularIntensity = 0.5; // high altitude wave settings const float oceanFrequencyHighAltitude = 125000.0; const float oceanAnimationSpeedHighAltitude = 0.008; const float oceanOneOverAmplitudeHighAltitude = 1.0 / 2.0; vec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec4 imageryColor, float maskValue, float fade) { vec3 positionToEyeEC = -positionEyeCoordinates; float positionToEyeECLength = length(positionToEyeEC); // The double normalize below works around a bug in Firefox on Android devices. vec3 normalizedPositionToEyeEC = normalize(normalize(positionToEyeEC)); // Fade out the waves as the camera moves far from the surface. float waveIntensity = waveFade(70000.0, 1000000.0, positionToEyeECLength); #ifdef SHOW_OCEAN_WAVES // high altitude waves float time = czm_frameNumber * oceanAnimationSpeedHighAltitude; vec4 noise = czm_getWaterNoise(u_oceanNormalMap, textureCoordinates * oceanFrequencyHighAltitude, time, 0.0); vec3 normalTangentSpaceHighAltitude = vec3(noise.xy, noise.z * oceanOneOverAmplitudeHighAltitude); // low altitude waves time = czm_frameNumber * oceanAnimationSpeedLowAltitude; noise = czm_getWaterNoise(u_oceanNormalMap, textureCoordinates * oceanFrequencyLowAltitude, time, 0.0); vec3 normalTangentSpaceLowAltitude = vec3(noise.xy, noise.z * oceanOneOverAmplitudeLowAltitude); // blend the 2 wave layers based on distance to surface float highAltitudeFade = linearFade(0.0, 60000.0, positionToEyeECLength); float lowAltitudeFade = 1.0 - linearFade(20000.0, 60000.0, positionToEyeECLength); vec3 normalTangentSpace = (highAltitudeFade * normalTangentSpaceHighAltitude) + (lowAltitudeFade * normalTangentSpaceLowAltitude); normalTangentSpace = normalize(normalTangentSpace); // fade out the normal perturbation as we move farther from the water surface normalTangentSpace.xy *= waveIntensity; normalTangentSpace = normalize(normalTangentSpace); #else vec3 normalTangentSpace = vec3(0.0, 0.0, 1.0); #endif vec3 normalEC = enuToEye * normalTangentSpace; const vec3 waveHighlightColor = vec3(0.3, 0.45, 0.6); // Use diffuse light to highlight the waves float diffuseIntensity = czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * maskValue; vec3 diffuseHighlight = waveHighlightColor * diffuseIntensity * (1.0 - fade); #ifdef SHOW_OCEAN_WAVES // Where diffuse light is low or non-existent, use wave highlights based solely on // the wave bumpiness and no particular light direction. float tsPerturbationRatio = normalTangentSpace.z; vec3 nonDiffuseHighlight = mix(waveHighlightColor * 5.0 * (1.0 - tsPerturbationRatio), vec3(0.0), diffuseIntensity); #else vec3 nonDiffuseHighlight = vec3(0.0); #endif // Add specular highlights in 3D, and in all modes when zoomed in. float specularIntensity = czm_getSpecular(czm_lightDirectionEC, normalizedPositionToEyeEC, normalEC, 10.0); float surfaceReflectance = mix(0.0, mix(u_zoomedOutOceanSpecularIntensity, oceanSpecularIntensity, waveIntensity), maskValue); float specular = specularIntensity * surfaceReflectance; #ifdef HDR specular *= 1.4; float e = 0.2; float d = 3.3; float c = 1.7; vec3 color = imageryColor.rgb + (c * (vec3(e) + imageryColor.rgb * d) * (diffuseHighlight + nonDiffuseHighlight + specular)); #else vec3 color = imageryColor.rgb + diffuseHighlight + nonDiffuseHighlight + specular; #endif return vec4(color, imageryColor.a); } #endif // #ifdef SHOW_REFLECTIVE_OCEAN `,zve=`#ifdef QUANTIZATION_BITS12 in vec4 compressed0; in float compressed1; #else in vec4 position3DAndHeight; in vec4 textureCoordAndEncodedNormals; #endif in float skirt; #ifdef GEODETIC_SURFACE_NORMALS in vec3 geodeticSurfaceNormal; #endif #ifdef EXAGGERATION uniform vec2 u_terrainExaggerationAndRelativeHeight; #endif #ifdef APPLY_FLATTEN uniform mat4 u_eastNorthUpToFixedFrame; uniform mat4 u_eastNorthUpToFixedFrameA; uniform mat4 u_r_eastNorthUpToFixedFrame; uniform mat4 u_r_eastNorthUpToFixedFrameA; uniform bool u_bFlatten; uniform vec4 u_polygonBounds; uniform sampler2D u_polygonTexture; uniform float u_minFlattenHeight; uniform bool u_clipPlaneOfFlatten; uniform bool u_ripple; uniform bool u_regionSnow; uniform bool u_heightFog; #endif // \u5730\u5FC3\u4F4D\u7F6E uniform vec3 u_center3D; uniform mat4 u_modifiedModelView; uniform mat4 u_modifiedModelViewProjection; uniform vec4 u_tileRectangle; // Uniforms for 2D Mercator projection uniform vec2 u_southAndNorthLatitude; uniform vec2 u_southMercatorYAndOneOverHeight; out vec3 v_positionMC; out vec3 v_positionEC; out vec3 v_textureCoordinates; out vec3 v_normalMC; out vec3 v_normalEC; #if defined(APPLY_MATERIAL) out float v_slope; out float v_aspect; #endif #ifdef APPLY_FLATTEN out vec3 v_scopePosition; #endif #if defined(APPLY_MATERIAL) || defined(APPLY_FLATTEN) out float v_height; #endif #if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) out float v_distance; #endif #if defined(FOG) || defined(GROUND_ATMOSPHERE) out vec3 v_atmosphereRayleighColor; out vec3 v_atmosphereMieColor; out float v_atmosphereOpacity; #endif // These functions are generated at runtime. vec4 getPosition(vec3 position, float height, vec2 textureCoordinates); float get2DYPositionFraction(vec2 textureCoordinates); vec4 getPosition3DMode(vec3 position, float height, vec2 textureCoordinates) { return u_modifiedModelViewProjection * vec4(position, 1.0); } float get2DMercatorYPositionFraction(vec2 textureCoordinates) { // The width of a tile at level 11, in radians and assuming a single root tile, is // 2.0 * czm_pi / pow(2.0, 11.0) // We want to just linearly interpolate the 2D position from the texture coordinates // when we're at this level or higher. The constant below is the expression // above evaluated and then rounded up at the 4th significant digit. const float maxTileWidth = 0.003068; float positionFraction = textureCoordinates.y; float southLatitude = u_southAndNorthLatitude.x; float northLatitude = u_southAndNorthLatitude.y; if (northLatitude - southLatitude > maxTileWidth) { float southMercatorY = u_southMercatorYAndOneOverHeight.x; float oneOverMercatorHeight = u_southMercatorYAndOneOverHeight.y; float currentLatitude = mix(southLatitude, northLatitude, textureCoordinates.y); currentLatitude = clamp(currentLatitude, -czm_webMercatorMaxLatitude, czm_webMercatorMaxLatitude); positionFraction = czm_latitudeToWebMercatorFraction(currentLatitude, southMercatorY, oneOverMercatorHeight); } return positionFraction; } float get2DGeographicYPositionFraction(vec2 textureCoordinates) { return textureCoordinates.y; } vec4 getPositionPlanarEarth(vec3 position, float height, vec2 textureCoordinates) { float yPositionFraction = get2DYPositionFraction(textureCoordinates); vec4 rtcPosition2D = vec4(height, mix(u_tileRectangle.st, u_tileRectangle.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0); return u_modifiedModelViewProjection * rtcPosition2D; } vec4 getPosition2DMode(vec3 position, float height, vec2 textureCoordinates) { return getPositionPlanarEarth(position, 0.0, textureCoordinates); } vec4 getPositionColumbusViewMode(vec3 position, float height, vec2 textureCoordinates) { return getPositionPlanarEarth(position, height, textureCoordinates); } vec4 getPositionMorphingMode(vec3 position, float height, vec2 textureCoordinates) { // We do not do RTC while morphing, so there is potential for jitter. // This is unlikely to be noticeable, though. vec3 position3DWC = position + u_center3D; float yPositionFraction = get2DYPositionFraction(textureCoordinates); vec4 position2DWC = vec4(height, mix(u_tileRectangle.st, u_tileRectangle.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0); vec4 morphPosition = czm_columbusViewMorph(position2DWC, vec4(position3DWC, 1.0), czm_morphTime); return czm_modelViewProjection * morphPosition; } // \u5728\u8303\u56F4\u5185 bool isPointInBound(vec4 point, vec4 bounds) { return (point.x>bounds.x && point.xbounds.w); } float unpackDepth(const in vec4 rgba_depth) { // \u89E3\u7801\u6DF1\u5EA6 const vec4 bitShifts = vec4(1.0, 1.0 / 255.0, 1.0 / (255.0 * 255.0), 1.0 / (255.0 * 255.0 * 255.0)); float depth=dot(rgba_depth, bitShifts); return depth; } #ifdef QUANTIZATION_BITS12 uniform vec2 u_minMaxHeight; uniform mat4 u_scaleAndBias; #endif void main() { #ifdef QUANTIZATION_BITS12 vec2 xy = czm_decompressTextureCoordinates(compressed0.x); vec2 zh = czm_decompressTextureCoordinates(compressed0.y); vec3 position = vec3(xy, zh.x); float height = zh.y; vec2 textureCoordinates = czm_decompressTextureCoordinates(compressed0.z); height = height * (u_minMaxHeight.y - u_minMaxHeight.x) + u_minMaxHeight.x; position = (u_scaleAndBias * vec4(position, 1.0)).xyz; #if defined(ENABLE_SLOPE_MAP) || ((defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL)) && defined(INCLUDE_WEB_MERCATOR_Y)) float webMercatorT = czm_decompressTextureCoordinates(compressed0.w).x; float encodedNormal = compressed1; #elif defined(INCLUDE_WEB_MERCATOR_Y) float webMercatorT = czm_decompressTextureCoordinates(compressed0.w).x; float encodedNormal = 0.0; #elif defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) float webMercatorT = textureCoordinates.y; float encodedNormal = compressed0.w; #else float webMercatorT = textureCoordinates.y; float encodedNormal = 0.0; #endif #else // A single float per element vec3 position = position3DAndHeight.xyz; float height = position3DAndHeight.w; vec2 textureCoordinates = textureCoordAndEncodedNormals.xy; #if defined(ENABLE_SLOPE_MAP) || ((defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL)) && defined(INCLUDE_WEB_MERCATOR_Y)) float webMercatorT = textureCoordAndEncodedNormals.z; float encodedNormal = textureCoordAndEncodedNormals.w; #elif defined(ENABLE_SLOPE_MAP) || defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL) float webMercatorT = textureCoordinates.y; float encodedNormal = textureCoordAndEncodedNormals.z; #elif defined(INCLUDE_WEB_MERCATOR_Y) float webMercatorT = textureCoordAndEncodedNormals.z; float encodedNormal = 0.0; #else float webMercatorT = textureCoordinates.y; float encodedNormal = 0.0; #endif #endif vec3 position3DWC = position + u_center3D; #ifdef GEODETIC_SURFACE_NORMALS vec3 ellipsoidNormal = geodeticSurfaceNormal; #else vec3 ellipsoidNormal = normalize(position3DWC); #endif // \u5904\u7406\u5730\u5F62\u5938\u5F20 #if defined(EXAGGERATION) && defined(GEODETIC_SURFACE_NORMALS) // \u5938\u5F20\u6BD4\u4F8B float exaggeration = u_terrainExaggerationAndRelativeHeight.x; // \u5938\u5F20\u76F8\u5BF9\u9AD8\u5EA6 float relativeHeight = u_terrainExaggerationAndRelativeHeight.y; // \u5728\u6B64\u76F8\u5BF9\u9AD8\u5EA6\u5904\u8FDB\u884C\u5938\u5F20 float newHeight = (height - relativeHeight) * exaggeration + relativeHeight; // stop from going through center of earth // \u6700\u5C0F\u534A\u5F84 float minRadius = min(min(czm_ellipsoidRadii.x, czm_ellipsoidRadii.y), czm_ellipsoidRadii.z); // \u5938\u5F20\u9AD8\u5EA6\u4E0D\u80FD\u7A7F\u8D8A\u6700\u5C0F\u5730\u7403\u534A\u5F84 newHeight = max(newHeight, -minRadius); // \u8BA1\u7B97\u504F\u79FB vec3 offset = ellipsoidNormal * (newHeight - height); // \u5F53\u524D\u4F4D\u7F6E\u589E\u52A0\u504F\u79FB position += offset; // \u5F53\u524D\u4F4D\u7F6E\u4E16\u754C\u5750\u6807\u589E\u52A0\u504F\u79FB position3DWC += offset; // \u65B0\u7684\u9AD8\u5EA6 height = newHeight; #endif #ifdef APPLY_FLATTEN if (u_bFlatten && !u_clipPlaneOfFlatten && !u_ripple && !u_regionSnow && !u_heightFog ) { // \u53D8\u6362\u5230\u4E16\u754C\u4F4D\u7F6E\uFF0C\u7136\u540E\u53C8\u5230 vec4 m_position = u_r_eastNorthUpToFixedFrameA *vec4(position, 1.0); // \u662F\u5426\u5728\u8303\u56F4\u5185 if (isPointInBound(m_position, u_polygonBounds)) { vec2 texCoord; // texCoord.x = (m_position.x-u_polygonBounds.x)/(u_polygonBounds.z-u_polygonBounds.x); texCoord.y = (m_position.y-u_polygonBounds.w)/(u_polygonBounds.y-u_polygonBounds.w); // \u56FE\u7247\u5927\u5C0F\u662F float texelSize = 1.0/4096.0; // \u89E3\u7801\u6DF1\u5EA6 float depth0 = unpackDepth(texture(u_polygonTexture, texCoord.xy)); float depth1 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(-texelSize, 0.0))); float depth2 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(texelSize, 0.0))); float depth3 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(0.0, -texelSize))); float depth4 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(0.0, texelSize))); // \u83B7\u53D6\u6700\u5C0F\u7684\u6DF1\u5EA6 float minDepth = min(min(min(min(depth0, depth1), depth2), depth3), depth4); if (minDepth*5000.0 > 1.0) { float depth = max(max(max(max(depth0, depth1), depth2), depth3), depth4); m_position.z = depth*5000.0 + m_position.z * 0.00001; } vec4 offset_Position = u_eastNorthUpToFixedFrameA * m_position - vec4(position, 1.0); position += offset_Position.xyz; position3DWC += offset_Position.xyz; if(skirt > 0.0) { position += ellipsoidNormal * u_minFlattenHeight; position3DWC += ellipsoidNormal * u_minFlattenHeight; } } } else { if (u_bFlatten && (u_clipPlaneOfFlatten || u_ripple || u_regionSnow || u_heightFog)) { v_scopePosition = position ; } } #endif // \u8BA1\u7B97\u4F4D\u7F6E gl_Position = getPosition(position, height, textureCoordinates); v_positionEC = (u_modifiedModelView * vec4(position, 1.0)).xyz; v_positionMC = position3DWC; // position in model coordinates v_textureCoordinates = vec3(textureCoordinates, webMercatorT); // SmartEarth \u6539 \u5761\u5EA6\u5206\u6790 #if defined(ENABLE_SLOPE_MAP) || defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL) v_positionEC = (u_modifiedModelView * vec4(position, 1.0)).xyz; v_positionMC = position3DWC; // SmartEarth \u6539 end vec3 normalMC = czm_octDecode(encodedNormal); #if defined(EXAGGERATION) && defined(GEODETIC_SURFACE_NORMALS) vec3 projection = dot(normalMC, ellipsoidNormal) * ellipsoidNormal; vec3 rejection = normalMC - projection; normalMC = normalize(projection + rejection * exaggeration); #endif v_normalMC = normalMC; v_normalEC = czm_normal3D * v_normalMC; #endif #if defined(FOG) || (defined(GROUND_ATMOSPHERE) && !defined(PER_FRAGMENT_GROUND_ATMOSPHERE)) bool dynamicLighting = false; #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_DAYNIGHT_SHADING) || defined(ENABLE_VERTEX_LIGHTING)) dynamicLighting = true; #endif #if defined(DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN) vec3 atmosphereLightDirection = czm_sunDirectionWC; #else vec3 atmosphereLightDirection = czm_lightDirectionWC; #endif vec3 lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(position3DWC)); computeAtmosphereScattering( position3DWC, lightDirection, v_atmosphereRayleighColor, v_atmosphereMieColor, v_atmosphereOpacity ); #endif #if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) v_distance = length((czm_modelView3D * vec4(position3DWC, 1.0)).xyz); #endif #ifdef APPLY_MATERIAL float northPoleZ = czm_ellipsoidRadii.z; vec3 northPolePositionMC = vec3(0.0, 0.0, northPoleZ); vec3 vectorEastMC = normalize(cross(northPolePositionMC - v_positionMC, ellipsoidNormal)); float dotProd = abs(dot(ellipsoidNormal, v_normalMC)); v_slope = acos(dotProd); vec3 normalRejected = ellipsoidNormal * dotProd; vec3 normalProjected = v_normalMC - normalRejected; vec3 aspectVector = normalize(normalProjected); v_aspect = acos(dot(aspectVector, vectorEastMC)); float determ = dot(cross(vectorEastMC, aspectVector), ellipsoidNormal); v_aspect = czm_branchFreeTernary(determ < 0.0, 2.0 * czm_pi - v_aspect, v_aspect); #endif #if defined(APPLY_MATERIAL) || defined(APPLY_FLATTEN) v_height = height; #endif } `,ree=`void computeAtmosphereScattering(vec3 positionWC, vec3 lightDirection, out vec3 rayleighColor, out vec3 mieColor, out float opacity) { vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC; vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC); czm_ray primaryRay = czm_ray(czm_viewerPositionWC, cameraToPositionWCDirection); float atmosphereInnerRadius = length(positionWC); computeScattering( primaryRay, length(cameraToPositionWC), lightDirection, atmosphereInnerRadius, rayleighColor, mieColor, opacity ); } `,Yve=`uniform sampler2D u_texture; in vec2 v_textureCoordinates; void main() { out_FragColor = texture(u_texture, v_textureCoordinates); } `,Jve=`in vec4 position; in float webMercatorT; uniform vec2 u_textureDimensions; out vec2 v_textureCoordinates; void main() { v_textureCoordinates = vec2(position.x, webMercatorT); gl_Position = czm_viewportOrthographic * (position * vec4(u_textureDimensions, 1.0, 1.0)); } `,nee=`float interpolateByDistance(vec4 nearFarScalar, float distance) { float startDistance = nearFarScalar.x; float startValue = nearFarScalar.y; float endDistance = nearFarScalar.z; float endValue = nearFarScalar.w; float t = clamp((distance - startDistance) / (endDistance - startDistance), 0.0, 1.0); return mix(startValue, endValue, t); } vec3 getLightDirection(vec3 positionWC) { float lightEnum = u_radiiAndDynamicAtmosphereColor.z; vec3 lightDirection = positionWC * float(lightEnum == 0.0) + czm_lightDirectionWC * float(lightEnum == 1.0) + czm_sunDirectionWC * float(lightEnum == 2.0); return normalize(lightDirection); } void computeAtmosphereScattering(vec3 positionWC, vec3 lightDirection, out vec3 rayleighColor, out vec3 mieColor, out float opacity, out float underTranslucentGlobe) { float ellipsoidRadiiDifference = czm_ellipsoidRadii.x - czm_ellipsoidRadii.z; // Adjustment to the atmosphere radius applied based on the camera height. float distanceAdjustMin = czm_ellipsoidRadii.x / 4.0; float distanceAdjustMax = czm_ellipsoidRadii.x; float distanceAdjustModifier = ellipsoidRadiiDifference / 2.0; float distanceAdjust = distanceAdjustModifier * clamp((czm_eyeHeight - distanceAdjustMin) / (distanceAdjustMax - distanceAdjustMin), 0.0, 1.0); // Since atmosphere scattering assumes the atmosphere is a spherical shell, we compute an inner radius of the atmosphere best fit // for the position on the ellipsoid. float radiusAdjust = (ellipsoidRadiiDifference / 4.0) + distanceAdjust; float atmosphereInnerRadius = (length(czm_viewerPositionWC) - czm_eyeHeight) - radiusAdjust; // Setup the primary ray: from the camera position to the vertex position. vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC; vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC); czm_ray primaryRay = czm_ray(czm_viewerPositionWC, cameraToPositionWCDirection); underTranslucentGlobe = 0.0; // Brighten the sky atmosphere under the Earth's atmosphere when translucency is enabled. #if defined(GLOBE_TRANSLUCENT) // Check for intersection with the inner radius of the atmopshere. czm_raySegment primaryRayEarthIntersect = czm_raySphereIntersectionInterval(primaryRay, vec3(0.0), atmosphereInnerRadius + radiusAdjust); if (primaryRayEarthIntersect.start > 0.0 && primaryRayEarthIntersect.stop > 0.0) { // Compute position on globe. vec3 direction = normalize(positionWC); czm_ray ellipsoidRay = czm_ray(positionWC, -direction); czm_raySegment ellipsoidIntersection = czm_rayEllipsoidIntersectionInterval(ellipsoidRay, vec3(0.0), czm_ellipsoidInverseRadii); vec3 onEarth = positionWC - (direction * ellipsoidIntersection.start); // Control the color using the camera angle. float angle = dot(normalize(czm_viewerPositionWC), normalize(onEarth)); // Control the opacity using the distance from Earth. opacity = interpolateByDistance(vec4(0.0, 1.0, czm_ellipsoidRadii.x, 0.0), length(czm_viewerPositionWC - onEarth)); vec3 horizonColor = vec3(0.1, 0.2, 0.3); vec3 nearColor = vec3(0.0); rayleighColor = mix(nearColor, horizonColor, exp(-angle) * opacity); // Set the traslucent flag to avoid alpha adjustment in computeFinalColor funciton. underTranslucentGlobe = 1.0; return; } #endif computeScattering( primaryRay, length(cameraToPositionWC), lightDirection, atmosphereInnerRadius, rayleighColor, mieColor, opacity ); // Alter the opacity based on how close the viewer is to the ground. // (0.0 = At edge of atmosphere, 1.0 = On ground) float cameraHeight = czm_eyeHeight + atmosphereInnerRadius; float atmosphereOuterRadius = atmosphereInnerRadius + ATMOSPHERE_THICKNESS; opacity = clamp((atmosphereOuterRadius - cameraHeight) / (atmosphereOuterRadius - atmosphereInnerRadius), 0.0, 1.0); // Alter alpha based on time of day (0.0 = night , 1.0 = day) float nightAlpha = (u_radiiAndDynamicAtmosphereColor.z != 0.0) ? clamp(dot(normalize(positionWC), lightDirection), 0.0, 1.0) : 1.0; opacity *= pow(nightAlpha, 0.5); } `,Kve=`in vec3 v_outerPositionWC; uniform vec3 u_hsbShift; #ifndef PER_FRAGMENT_ATMOSPHERE in vec3 v_mieColor; in vec3 v_rayleighColor; in float v_opacity; in float v_translucent; #endif void main (void) { vec3 lightDirection = getLightDirection(v_outerPositionWC); vec3 mieColor; vec3 rayleighColor; float opacity; float translucent; #ifdef PER_FRAGMENT_ATMOSPHERE computeAtmosphereScattering( v_outerPositionWC, lightDirection, rayleighColor, mieColor, opacity, translucent ); #else mieColor = v_mieColor; rayleighColor = v_rayleighColor; opacity = v_opacity; translucent = v_translucent; #endif vec4 color = computeAtmosphereColor(v_outerPositionWC, lightDirection, rayleighColor, mieColor, opacity); #ifndef HDR color.rgb = czm_acesTonemapping(color.rgb); color.rgb = czm_inverseGamma(color.rgb); #endif #ifdef COLOR_CORRECT // Convert rgb color to hsb vec3 hsb = czm_RGBToHSB(color.rgb); // Perform hsb shift hsb.x += u_hsbShift.x; // hue hsb.y = clamp(hsb.y + u_hsbShift.y, 0.0, 1.0); // saturation hsb.z = hsb.z > czm_epsilon7 ? hsb.z + u_hsbShift.z : 0.0; // brightness // Convert shifted hsb back to rgb color.rgb = czm_HSBToRGB(hsb); #endif // For the parts of the sky atmosphere that are not behind a translucent globe, // we mix in the default opacity so that the sky atmosphere still appears at distance. // This is needed because the opacity in the sky atmosphere is initially adjusted based // on the camera height. if (translucent == 0.0) { color.a = mix(color.b, 1.0, color.a) * smoothstep(0.0, 1.0, czm_morphTime); } out_FragColor = color; } `,Wve=`in vec4 position; out vec3 v_outerPositionWC; #ifndef PER_FRAGMENT_ATMOSPHERE out vec3 v_mieColor; out vec3 v_rayleighColor; out float v_opacity; out float v_translucent; #endif void main(void) { vec4 positionWC = czm_model * position; vec3 lightDirection = getLightDirection(positionWC.xyz); #ifndef PER_FRAGMENT_ATMOSPHERE computeAtmosphereScattering( positionWC.xyz, lightDirection, v_rayleighColor, v_mieColor, v_opacity, v_translucent ); #endif v_outerPositionWC = positionWC.xyz; gl_Position = czm_modelViewProjection * position; } `,jve=`uniform samplerCube u_cubeMap; in vec3 v_texCoord; void main() { vec4 color = czm_textureCube(u_cubeMap, normalize(v_texCoord)); out_FragColor = vec4(czm_gammaCorrect(color).rgb, czm_morphTime); } `,qve=`in vec3 position; out vec3 v_texCoord; void main() { vec3 p = czm_viewRotation * (czm_temeToPseudoFixed * (czm_entireFrustum.y * position)); gl_Position = czm_projection * vec4(p, 1.0); v_texCoord = position.xyz; } `,Xve=`uniform sampler2D u_texture; in vec2 v_textureCoordinates; void main() { vec4 color = texture(u_texture, v_textureCoordinates); out_FragColor = czm_gammaCorrect(color); } `,Zve=`uniform float u_radiusTS; in vec2 v_textureCoordinates; vec2 rotate(vec2 p, vec2 direction) { return vec2(p.x * direction.x - p.y * direction.y, p.x * direction.y + p.y * direction.x); } vec4 addBurst(vec2 position, vec2 direction, float lengthScalar) { vec2 rotatedPosition = rotate(position, direction) * vec2(25.0, 0.75); float radius = length(rotatedPosition) * lengthScalar; float burst = 1.0 - smoothstep(0.0, 0.55, radius); return vec4(burst); } void main() { float lengthScalar = 2.0 / sqrt(2.0); vec2 position = v_textureCoordinates - vec2(0.5); float radius = length(position) * lengthScalar; float surface = step(radius, u_radiusTS); vec4 color = vec4(vec2(1.0), surface + 0.2, surface); float glow = 1.0 - smoothstep(0.0, 0.55, radius); color.ba += mix(vec2(0.0), vec2(1.0), glow) * 0.75; vec4 burst = vec4(0.0); // The following loop has been manually unrolled for speed, to // avoid sin() and cos(). // //for (float i = 0.4; i < 3.2; i += 1.047) { // vec2 direction = vec2(sin(i), cos(i)); // burst += 0.4 * addBurst(position, direction, lengthScalar); // // direction = vec2(sin(i - 0.08), cos(i - 0.08)); // burst += 0.3 * addBurst(position, direction, lengthScalar); //} burst += 0.4 * addBurst(position, vec2(0.38942, 0.92106), lengthScalar); // angle == 0.4 burst += 0.4 * addBurst(position, vec2(0.99235, 0.12348), lengthScalar); // angle == 0.4 + 1.047 burst += 0.4 * addBurst(position, vec2(0.60327, -0.79754), lengthScalar); // angle == 0.4 + 1.047 * 2.0 burst += 0.3 * addBurst(position, vec2(0.31457, 0.94924), lengthScalar); // angle == 0.4 - 0.08 burst += 0.3 * addBurst(position, vec2(0.97931, 0.20239), lengthScalar); // angle == 0.4 + 1.047 - 0.08 burst += 0.3 * addBurst(position, vec2(0.66507, -0.74678), lengthScalar); // angle == 0.4 + 1.047 * 2.0 - 0.08 // End of manual loop unrolling. color += clamp(burst, vec4(0.0), vec4(1.0)) * 0.15; out_FragColor = clamp(color, vec4(0.0), vec4(1.0)); } `,GXe=`//created by zq uniform float u_radiusTS; in vec2 v_textureCoordinates; const float _BlurRadius = 0.3;//0.05; const int _Iteration = 30;//10; vec4 getColor(vec2 p) { float lengthScalar = 2.0 / sqrt(2.0); //float lengthScalar = 5.0 / sqrt(5.0); vec2 position = p - vec2(0.5); float radius = length(position) * lengthScalar; float surface = step(radius, u_radiusTS); vec4 color = vec4(vec2(1.0), surface + 0.2, surface); float glow = 1.0 - smoothstep(0.0, 0.55, radius); //float glow = 1.0 - smoothstep(0.0, 1.0, radius); color.ba += mix(vec2(0.0), vec2(1.0), glow) * 0.75; return color; } void main() { //vec2 blurVector = (vec2(0.5) - v_textureCoordinates) * _BlurRadius; vec2 blurVector = (v_textureCoordinates - vec2(0.5)) * _BlurRadius; vec4 acumulateColor = vec4(0, 0, 0, 0); vec2 texcoord = v_textureCoordinates; //out_FragColor = vec4(1.0, 1.0, 0.0, 1.0); out_FragColor = getColor(texcoord); } `,$ve=`uniform sampler2D depthTexture; uniform sampler2D colorTexture; //uniform sampler2D u_texture; in vec2 v_textureCoordinates; const float threshold = 0.95;//0.5;//1.0; const float exposure = 1.0; const float gamma = 2.2; void main(void) { float depth = czm_readDepth(depthTexture, v_textureCoordinates); //float depth = czm_readDepth(colorTexture, v_textureCoordinates); //float sunDepth = gl_FragCoord.z / gl_FragCoord.w; //if(sunDepth > depth) if(depth < 1.0) //if(gl_FragCoord.z < 0.7) { out_FragColor = vec4(vec3(0.0), 1.0); //out_FragColor = vec4(0.0, 0.0, 1.0, 1.0); } else { vec4 color = texture(colorTexture, v_textureCoordinates); color = czm_gammaCorrect(color); float brightness = dot(color.rgb, vec3(0.2126, 0.7152, 0.0722)); out_FragColor = brightness > threshold ? vec4(color.rgb * 1.1, 1.0) : vec4(0.0, 0.0, 0.0, 1.0); //color = brightness > threshold ? vec4(color.rgb * 1.5, 1.0) : vec4(0.0, 0.0, 0.0, 1.0); // tone mapping //vec3 result = vec3(1.0) - exp(-color.rgb * exposure); // also gamma correct while we're at it //result = pow(result, vec3(1.0 / gamma)); //out_FragColor = vec4(result, 1.0); //out_FragColor = color; //out_FragColor = vec4(1.0, 0.0, 0.0, 1.0); } //out_FragColor = vec4(1.0, 0.0, 1.0, 1.0); //out_FragColor = vec4(v_textureCoordinates, 0.0, 1.0); } `,eBe=`in vec2 direction; uniform float u_size; out vec2 v_textureCoordinates; void main() { vec4 position; if (czm_morphTime == 1.0) { position = vec4(czm_sunPositionWC, 1.0); } else { position = vec4(czm_sunPositionColumbusView.zxy, 1.0); } vec4 positionEC = czm_view * position; vec4 positionWC = czm_eyeToWindowCoordinates(positionEC); vec2 halfSize = vec2(u_size * 0.5); halfSize *= ((direction * 2.0) - 1.0); gl_Position = czm_viewportOrthographic * vec4(positionWC.xy + halfSize, -positionWC.z, 1.0); v_textureCoordinates = direction; } `,tBe=` in vec2 v_textureCoordinates; void main() { czm_materialInput materialInput; materialInput.s = v_textureCoordinates.s; materialInput.st = v_textureCoordinates; materialInput.str = vec3(v_textureCoordinates, 0.0); materialInput.normalEC = vec3(0.0, 0.0, -1.0); czm_material material = czm_getMaterial(materialInput); out_FragColor = vec4(material.diffuse + material.emission, material.alpha); } `,$ai=function(){var o=import.meta.url;return function(A){return A=A||{},A.ready}}(),FZ={};FZ.onRuntimeInitialized||(FZ.onRuntimeInitialized=function(){},$ai(FZ));var HXe=FZ,BV=Dc(K6e(),1),VXe={};(function(o,A){o.FlowEcharts=A(BV.default,o.Geoworld)})(VXe,function(o,A){return function(f){var m={};function C(E){if(m[E])return m[E].exports;var x=m[E]={i:E,l:!1,exports:{}};return f[E].call(x.exports,x,x.exports,C),x.l=!0,x.exports}return C.m=f,C.c=m,C.d=function(E,x,y){C.o(E,x)||Object.defineProperty(E,x,{enumerable:!0,get:y})},C.r=function(E){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(E,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(E,"__esModule",{value:!0})},C.t=function(E,x){if(x&1&&(E=C(E)),x&8||x&4&&typeof E=="object"&&E&&E.__esModule)return E;var y=Object.create(null);if(C.r(y),Object.defineProperty(y,"default",{enumerable:!0,value:E}),x&2&&typeof E!="string")for(var I in E)C.d(y,I,function(v){return E[v]}.bind(null,I));return y},C.n=function(E){var x=E&&E.__esModule?function(){return E.default}:function(){return E};return C.d(x,"a",x),x},C.o=function(E,x){return Object.prototype.hasOwnProperty.call(E,x)},C.p="",C(C.s=0)}([function(f,m,C){C(1);var E=C(7);f.exports=E},function(f,m,C){var E;E=function(x){return C(2).registerCoordinateSystem("GLMap",C(3)),C(5),C(6),C(2).registerAction({type:"GLMapRoam",event:"GLMapRoam",update:"updateLayout"},function(y,I){}),{version:"1.0.0"}}.call(m,C,m,f),E!==void 0&&(f.exports=E)},function(f,m){f.exports=o},function(f,m,C){var E;E=function(x){var y=C(2);function I(v,B){this._GLMap=v,this.dimensions=["lng","lat"],this._mapOffset=[0,0],this._api=B}return I.prototype.dimensions=["lng","lat"],I.prototype.setMapOffset=function(v){this._mapOffset=v},I.prototype.getBMap=function(){return this._GLMap},I.prototype.dataToPoint=function(v){var B=Be.toRadians(80),Q=[99999,99999],T=Z.fromDegrees(v[0],v[1]);if(!T)return Q;var w=this._GLMap.cartesianToCanvasCoordinates(T);if(!w)return Q;var S=this._GLMap;return S.mode===ni.SCENE3D&&Z.angleBetween(S.camera.position,T)>B?!1:[w.x-this._mapOffset[0],w.y-this._mapOffset[1]]},I.prototype.pointToData=function(Q){var B=this._mapOffset,Q=this._bmap.project([Q[0]+B[0],Q[1]+B[1]]);return[Q.lng,Q.lat]},I.prototype.getViewRect=function(){var v=this._api;return new y.graphic.BoundingRect(0,0,v.getWidth(),v.getHeight())},I.prototype.getRoamTransform=function(){return y.matrix.create()},I.dimensions=I.prototype.dimensions,I.create=function(v,B){var Q;v.eachComponent("GLMap",function(T){var w=B.getZr().painter.getViewportRoot(),S=y.glMap;Q=new I(S,B),Q.setMapOffset(T.__mapOffset||[0,0]),T.coordinateSystem=Q}),v.eachSeries(function(T){T.get("coordinateSystem")==="GLMap"&&(T.coordinateSystem=Q)})},I}.call(m,C,m,f),E!==void 0&&(f.exports=E)},function(f,m){f.exports=A},function(f,m,C){var E;E=function(x){return C(2).extendComponentModel({type:"GLMap",getBMap:function(){return this.__GLMap},defaultOption:{roam:!1}})}.call(m,C,m,f),E!==void 0&&(f.exports=E)},function(f,m,C){var E;E=function(x){return C(2).extendComponentView({type:"GLMap",init:function(y,I){this.api=I,BV.default.glMap.postRender.addEventListener(this.moveHandler,this)},moveHandler:function(){this.api.dispatchAction({type:"GLMapRoam"})},render:function(y,I,v){},dispose:function(y,I){BV.default.glMap.postRender.removeEventListener(this.moveHandler,this)}})}.call(m,C,m,f),E!==void 0&&(f.exports=E)},function(f,m){function C(E,x){this._mapContainer=E,this._overlay=this._createChartOverlay(),this._overlay.setOption(x)}C.prototype._createChartOverlay=function(){var E=this._mapContainer.scene;E.canvas.setAttribute("tabIndex",0);var x=document.createElement("div");return x.style.position="absolute",x.style.top="0px",x.style.left="0px",x.style.width=E.canvas.width+"px",x.style.height=E.canvas.height+"px",x.style.pointerEvents="none",x.setAttribute("id","echarts"),x.setAttribute("class","echartMap"),this._mapContainer.container.appendChild(x),this._echartsContainer=x,BV.default.glMap=E,BV.default.init(x)},C.prototype.dispose=function(){this._echartsContainer&&(this._mapContainer.container.removeChild(this._echartsContainer),this._echartsContainer=null),this._overlay&&(this._overlay.dispose(),this._overlay=null)},C.prototype.destroy=function(){this.dispose()},C.prototype.updateOverlay=function(E){this._overlay&&this._overlay.setOption(E)},C.prototype.getMap=function(){return this._mapContainer},C.prototype.getOverlay=function(){return this._overlay},f.exports=C}])});var Nre=VXe.FlowEcharts,esi={DONE:0,PENDING:1,FAILED:2},eo=Object.freeze(esi),tsi=Ve.WHITE,isi=Z.ZERO,rsi=An.NONE,nsi=rt.ZERO,osi=1,asi=0,ssi=Z.ZERO,lsi=Ru.CENTER,usi=hn.CENTER,Asi=!1,csi=new Z,hsi=new Ve,dsi=new Z,fsi=new rt,gsi=new Eo,psi=new Eo,msi=new Eo,Csi=new vr,Esi=new po;function FUe(o){this.entity=o,this.billboard=void 0,this.textureValue=void 0}function MP(o,A){A.collectionChanged.addEventListener(MP.prototype._onCollectionChanged,this),this._cluster=o,this._entityCollection=A,this._items=new Ro,this._onCollectionChanged(A,A.values,[],[])}MP.prototype.update=function(o){let A=this._items.values,f=this._cluster;for(let m=0,C=A.length;m-1;C--)E=A[C],O(E._billboard)&&O(E._position)&&x.set(E.id,new FUe(E));for(C=m.length-1;C>-1;C--)E=m[C],O(E._billboard)&&O(E._position)?x.contains(E.id)||x.set(E.id,new FUe(E)):(Age(x.get(E.id),E,y),x.remove(E.id));for(C=f.length-1;C>-1;C--)E=f[C],Age(x.get(E.id),E,y),x.remove(E.id)};function Age(o,A,f){O(o)&&(o.billboard=void 0,f.removeBillboard(A))}var iBe=MP,xsi=new Z;function rI(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.minimum,f=o.maximum,m=oe(o.vertexFormat,Pr.DEFAULT);this._minimum=Z.clone(A),this._maximum=Z.clone(f),this._vertexFormat=m,this._offsetAttribute=o.offsetAttribute,this._workerName="createBoxGeometry"}rI.fromDimensions=function(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.dimensions,f=Z.multiplyByScalar(A,.5,new Z);return new rI({minimum:Z.negate(f,new Z),maximum:f,vertexFormat:o.vertexFormat,offsetAttribute:o.offsetAttribute})};rI.fromAxisAlignedBoundingBox=function(o){return new rI({minimum:o.minimum,maximum:o.maximum})};rI.packedLength=2*Z.packedLength+Pr.packedLength+1;rI.pack=function(o,A,f){return f=oe(f,0),Z.pack(o._minimum,A,f),Z.pack(o._maximum,A,f+Z.packedLength),Pr.pack(o._vertexFormat,A,f+2*Z.packedLength),A[f+2*Z.packedLength+Pr.packedLength]=oe(o._offsetAttribute,-1),A};var zXe=new Z,YXe=new Z,JXe=new Pr,NUe={minimum:zXe,maximum:YXe,vertexFormat:JXe,offsetAttribute:void 0};rI.unpack=function(o,A,f){A=oe(A,0);let m=Z.unpack(o,A,zXe),C=Z.unpack(o,A+Z.packedLength,YXe),E=Pr.unpack(o,A+2*Z.packedLength,JXe),x=o[A+2*Z.packedLength+Pr.packedLength];return O(f)?(f._minimum=Z.clone(m,f._minimum),f._maximum=Z.clone(C,f._maximum),f._vertexFormat=Pr.clone(E,f._vertexFormat),f._offsetAttribute=x===-1?void 0:x,f):(NUe.offsetAttribute=x===-1?void 0:x,new rI(NUe))};rI.createGeometry=function(o){let A=o._minimum,f=o._maximum,m=o._vertexFormat;if(Z.equals(A,f))return;let C=new Fu,E,x;if(m.position&&(m.st||m.normal||m.tangent||m.bitangent)){if(m.position&&(x=new Float64Array(6*4*3),x[0]=A.x,x[1]=A.y,x[2]=f.z,x[3]=f.x,x[4]=A.y,x[5]=f.z,x[6]=f.x,x[7]=f.y,x[8]=f.z,x[9]=A.x,x[10]=f.y,x[11]=f.z,x[12]=A.x,x[13]=A.y,x[14]=A.z,x[15]=f.x,x[16]=A.y,x[17]=A.z,x[18]=f.x,x[19]=f.y,x[20]=A.z,x[21]=A.x,x[22]=f.y,x[23]=A.z,x[24]=f.x,x[25]=A.y,x[26]=A.z,x[27]=f.x,x[28]=f.y,x[29]=A.z,x[30]=f.x,x[31]=f.y,x[32]=f.z,x[33]=f.x,x[34]=A.y,x[35]=f.z,x[36]=A.x,x[37]=A.y,x[38]=A.z,x[39]=A.x,x[40]=f.y,x[41]=A.z,x[42]=A.x,x[43]=f.y,x[44]=f.z,x[45]=A.x,x[46]=A.y,x[47]=f.z,x[48]=A.x,x[49]=f.y,x[50]=A.z,x[51]=f.x,x[52]=f.y,x[53]=A.z,x[54]=f.x,x[55]=f.y,x[56]=f.z,x[57]=A.x,x[58]=f.y,x[59]=f.z,x[60]=A.x,x[61]=A.y,x[62]=A.z,x[63]=f.x,x[64]=A.y,x[65]=A.z,x[66]=f.x,x[67]=A.y,x[68]=f.z,x[69]=A.x,x[70]=A.y,x[71]=f.z,C.position=new wr({componentDatatype:Ft.DOUBLE,componentsPerAttribute:3,values:x})),m.normal){let v=new Float32Array(72);v[0]=0,v[1]=0,v[2]=1,v[3]=0,v[4]=0,v[5]=1,v[6]=0,v[7]=0,v[8]=1,v[9]=0,v[10]=0,v[11]=1,v[12]=0,v[13]=0,v[14]=-1,v[15]=0,v[16]=0,v[17]=-1,v[18]=0,v[19]=0,v[20]=-1,v[21]=0,v[22]=0,v[23]=-1,v[24]=1,v[25]=0,v[26]=0,v[27]=1,v[28]=0,v[29]=0,v[30]=1,v[31]=0,v[32]=0,v[33]=1,v[34]=0,v[35]=0,v[36]=-1,v[37]=0,v[38]=0,v[39]=-1,v[40]=0,v[41]=0,v[42]=-1,v[43]=0,v[44]=0,v[45]=-1,v[46]=0,v[47]=0,v[48]=0,v[49]=1,v[50]=0,v[51]=0,v[52]=1,v[53]=0,v[54]=0,v[55]=1,v[56]=0,v[57]=0,v[58]=1,v[59]=0,v[60]=0,v[61]=-1,v[62]=0,v[63]=0,v[64]=-1,v[65]=0,v[66]=0,v[67]=-1,v[68]=0,v[69]=0,v[70]=-1,v[71]=0,C.normal=new wr({componentDatatype:Ft.FLOAT,componentsPerAttribute:3,values:v})}if(m.st){let v=new Float32Array(48);v[0]=0,v[1]=0,v[2]=1,v[3]=0,v[4]=1,v[5]=1,v[6]=0,v[7]=1,v[8]=1,v[9]=0,v[10]=0,v[11]=0,v[12]=0,v[13]=1,v[14]=1,v[15]=1,v[16]=0,v[17]=0,v[18]=1,v[19]=0,v[20]=1,v[21]=1,v[22]=0,v[23]=1,v[24]=1,v[25]=0,v[26]=0,v[27]=0,v[28]=0,v[29]=1,v[30]=1,v[31]=1,v[32]=1,v[33]=0,v[34]=0,v[35]=0,v[36]=0,v[37]=1,v[38]=1,v[39]=1,v[40]=0,v[41]=0,v[42]=1,v[43]=0,v[44]=1,v[45]=1,v[46]=0,v[47]=1,C.st=new wr({componentDatatype:Ft.FLOAT,componentsPerAttribute:2,values:v})}if(m.tangent){let v=new Float32Array(72);v[0]=1,v[1]=0,v[2]=0,v[3]=1,v[4]=0,v[5]=0,v[6]=1,v[7]=0,v[8]=0,v[9]=1,v[10]=0,v[11]=0,v[12]=-1,v[13]=0,v[14]=0,v[15]=-1,v[16]=0,v[17]=0,v[18]=-1,v[19]=0,v[20]=0,v[21]=-1,v[22]=0,v[23]=0,v[24]=0,v[25]=1,v[26]=0,v[27]=0,v[28]=1,v[29]=0,v[30]=0,v[31]=1,v[32]=0,v[33]=0,v[34]=1,v[35]=0,v[36]=0,v[37]=-1,v[38]=0,v[39]=0,v[40]=-1,v[41]=0,v[42]=0,v[43]=-1,v[44]=0,v[45]=0,v[46]=-1,v[47]=0,v[48]=-1,v[49]=0,v[50]=0,v[51]=-1,v[52]=0,v[53]=0,v[54]=-1,v[55]=0,v[56]=0,v[57]=-1,v[58]=0,v[59]=0,v[60]=1,v[61]=0,v[62]=0,v[63]=1,v[64]=0,v[65]=0,v[66]=1,v[67]=0,v[68]=0,v[69]=1,v[70]=0,v[71]=0,C.tangent=new wr({componentDatatype:Ft.FLOAT,componentsPerAttribute:3,values:v})}if(m.bitangent){let v=new Float32Array(72);v[0]=0,v[1]=1,v[2]=0,v[3]=0,v[4]=1,v[5]=0,v[6]=0,v[7]=1,v[8]=0,v[9]=0,v[10]=1,v[11]=0,v[12]=0,v[13]=1,v[14]=0,v[15]=0,v[16]=1,v[17]=0,v[18]=0,v[19]=1,v[20]=0,v[21]=0,v[22]=1,v[23]=0,v[24]=0,v[25]=0,v[26]=1,v[27]=0,v[28]=0,v[29]=1,v[30]=0,v[31]=0,v[32]=1,v[33]=0,v[34]=0,v[35]=1,v[36]=0,v[37]=0,v[38]=1,v[39]=0,v[40]=0,v[41]=1,v[42]=0,v[43]=0,v[44]=1,v[45]=0,v[46]=0,v[47]=1,v[48]=0,v[49]=0,v[50]=1,v[51]=0,v[52]=0,v[53]=1,v[54]=0,v[55]=0,v[56]=1,v[57]=0,v[58]=0,v[59]=1,v[60]=0,v[61]=0,v[62]=1,v[63]=0,v[64]=0,v[65]=1,v[66]=0,v[67]=0,v[68]=1,v[69]=0,v[70]=0,v[71]=1,C.bitangent=new wr({componentDatatype:Ft.FLOAT,componentsPerAttribute:3,values:v})}E=new Uint16Array(6*2*3),E[0]=0,E[1]=1,E[2]=2,E[3]=0,E[4]=2,E[5]=3,E[6]=4+2,E[7]=4+1,E[8]=4+0,E[9]=4+3,E[10]=4+2,E[11]=4+0,E[12]=8+0,E[13]=8+1,E[14]=8+2,E[15]=8+0,E[16]=8+2,E[17]=8+3,E[18]=12+2,E[19]=12+1,E[20]=12+0,E[21]=12+3,E[22]=12+2,E[23]=12+0,E[24]=16+2,E[25]=16+1,E[26]=16+0,E[27]=16+3,E[28]=16+2,E[29]=16+0,E[30]=20+0,E[31]=20+1,E[32]=20+2,E[33]=20+0,E[34]=20+2,E[35]=20+3}else x=new Float64Array(8*3),x[0]=A.x,x[1]=A.y,x[2]=A.z,x[3]=f.x,x[4]=A.y,x[5]=A.z,x[6]=f.x,x[7]=f.y,x[8]=A.z,x[9]=A.x,x[10]=f.y,x[11]=A.z,x[12]=A.x,x[13]=A.y,x[14]=f.z,x[15]=f.x,x[16]=A.y,x[17]=f.z,x[18]=f.x,x[19]=f.y,x[20]=f.z,x[21]=A.x,x[22]=f.y,x[23]=f.z,C.position=new wr({componentDatatype:Ft.DOUBLE,componentsPerAttribute:3,values:x}),E=new Uint16Array(6*2*3),E[0]=4,E[1]=5,E[2]=6,E[3]=4,E[4]=6,E[5]=7,E[6]=1,E[7]=0,E[8]=3,E[9]=1,E[10]=3,E[11]=2,E[12]=1,E[13]=6,E[14]=5,E[15]=1,E[16]=2,E[17]=6,E[18]=2,E[19]=3,E[20]=7,E[21]=2,E[22]=7,E[23]=6,E[24]=3,E[25]=0,E[26]=4,E[27]=3,E[28]=4,E[29]=7,E[30]=0,E[31]=1,E[32]=5,E[33]=0,E[34]=5,E[35]=4;let y=Z.subtract(f,A,xsi),I=Z.magnitude(y)*.5;if(O(o._offsetAttribute)){let v=x.length,B=o._offsetAttribute===Fs.NONE?0:1,Q=new Uint8Array(v/3).fill(B);C.applyOffset=new wr({componentDatatype:Ft.UNSIGNED_BYTE,componentsPerAttribute:1,values:Q})}return new Uo({attributes:C,indices:E,primitiveType:on.TRIANGLES,boundingSphere:new hi(Z.ZERO,I),offsetAttribute:o._offsetAttribute})};var Che;rI.getUnitBox=function(){return O(Che)||(Che=rI.createGeometry(rI.fromDimensions({dimensions:new Z(1,1,1),vertexFormat:Pr.POSITION_ONLY}))),Che};var FD=rI;function J9(o,A){o=oe(o,0),A=oe(A,Number.MAX_VALUE),this.value=new Float32Array([o,A])}Object.defineProperties(J9.prototype,{componentDatatype:{get:function(){return Ft.FLOAT}},componentsPerAttribute:{get:function(){return 2}},normalize:{get:function(){return!1}}});J9.fromDistanceDisplayCondition=function(o){return new J9(o.near,o.far)};J9.toValue=function(o,A){return O(A)?(A[0]=o.near,A[1]=o.far,A):new Float32Array([o.near,o.far])};var aA=J9;function jG(){Ai.throwInstantiationError()}Object.defineProperties(jG.prototype,{isConstant:{get:Ai.throwInstantiationError},definitionChanged:{get:Ai.throwInstantiationError}});jG.prototype.getType=Ai.throwInstantiationError;jG.prototype.getValue=Ai.throwInstantiationError;jG.prototype.equals=Ai.throwInstantiationError;jG.getValue=function(o,A,f){let m;return O(A)&&(m=A.getType(o),O(m))?((!O(f)||f.type!==m)&&(f=go.fromType(m)),A.getValue(o,f.uniforms),f):((!O(f)||f.type!==go.ColorType)&&(f=go.fromType(go.ColorType)),Ve.clone(Ve.WHITE,f.uniforms.color),f)};var ap=jG;function T3(o,A,f){this._primitives=A,this._orderedGroundPrimitives=f,this._primitive=void 0,this._outlinePrimitive=void 0,this._geometryUpdater=o,this._options=o._options,this._entity=o._entity,this._material=void 0}T3.prototype._isHidden=function(o,A,f){return!o.isShowing||!o.isAvailable(f)||!Bt.getValueOrDefault(A.show,f,!0)};T3.prototype._setOptions=Ai.throwInstantiationError;T3.prototype.update=function(o){let A=this._geometryUpdater,f=A._onTerrain,m=this._primitives,C=this._orderedGroundPrimitives;f?C.remove(this._primitive):(m.removeAndDestroy(this._primitive),m.removeAndDestroy(this._outlinePrimitive),this._outlinePrimitive=void 0),this._primitive=void 0;let E=this._entity,x=E[this._geometryUpdater._geometryPropertyName];if(this._setOptions(E,x,o),this._isHidden(E,x,o))return;let y=this._geometryUpdater.shadowsProperty.getValue(o),I=this._options;if(!O(x.fill)||x.fill.getValue(o)){let v=A.fillMaterialProperty,B=v instanceof ba,Q,T=A._getIsClosed(I);if(B)Q=new La({closed:T,flat:f&&!A._supportsMaterialsforEntitiesOnTerrain});else{let w=ap.getValue(o,v,this._material);this._material=w,Q=new $c({material:w,translucent:w.isTranslucent(),closed:T})}if(f)I.vertexFormat=La.VERTEX_FORMAT,this._primitive=C.add(new Xb({geometryInstances:this._geometryUpdater.createFillGeometryInstance(o),appearance:Q,asynchronous:!1,shadows:y,classificationType:this._geometryUpdater.classificationTypeProperty.getValue(o)}),Bt.getValueOrUndefined(this._geometryUpdater.zIndex,o));else{I.vertexFormat=Q.vertexFormat;let w=this._geometryUpdater.createFillGeometryInstance(o);B&&(Q.translucent=w.attributes.color.value[3]!==255),this._primitive=m.add(new ra({geometryInstances:w,appearance:Q,asynchronous:!1,shadows:y}))}}if(!f&&O(x.outline)&&x.outline.getValue(o)){let v=this._geometryUpdater.createOutlineGeometryInstance(o),B=Bt.getValueOrDefault(x.outlineWidth,o,1);this._outlinePrimitive=m.add(new ra({geometryInstances:v,appearance:new La({flat:!0,translucent:v.attributes.color.value[3]!==255,renderState:{lineWidth:A._scene.clampLineWidth(B)}}),asynchronous:!1,shadows:y}))}};T3.prototype.getBoundingSphere=function(o){let A=this._entity,f=this._primitive,m=this._outlinePrimitive,C;return O(f)&&f.show&&f.ready&&(C=f.getGeometryInstanceAttributes(A),O(C)&&O(C.boundingSphere))||O(m)&&m.show&&m.ready&&(C=m.getGeometryInstanceAttributes(A),O(C)&&O(C.boundingSphere))?(hi.clone(C.boundingSphere,o),eo.DONE):O(f)&&!f.ready||O(m)&&!m.ready?eo.PENDING:eo.FAILED};T3.prototype.isDestroyed=function(){return!1};T3.prototype.destroy=function(){let o=this._primitives,A=this._orderedGroundPrimitives;this._geometryUpdater._onTerrain?A.remove(this._primitive):o.removeAndDestroy(this._primitive),o.removeAndDestroy(this._outlinePrimitive),Ar(this)};var LA=T3,ysi=new ba(Ve.WHITE),Isi=new zu(!0),_si=new zu(!0),vsi=new zu(!1),Bsi=new zu(Ve.BLACK),wsi=new zu(Ns.DISABLED),bsi=new zu(new po),Qsi=new zu(uu.BOTH);function vE(o){let A=o.entity,f=o.geometryPropertyName;this._entity=A,this._scene=o.scene,this._fillEnabled=!1,this._isClosed=!1,this._onTerrain=!1,this._dynamic=!1,this._outlineEnabled=!1,this._geometryChanged=new ur,this._showProperty=void 0,this._materialProperty=void 0,this._showOutlineProperty=void 0,this._outlineColorProperty=void 0,this._outlineWidth=1,this._shadowsProperty=void 0,this._distanceDisplayConditionProperty=void 0,this._classificationTypeProperty=void 0,this._options=o.geometryOptions,this._geometryPropertyName=f,this._id=`${f}-${A.id}`,this._observedPropertyNames=o.observedPropertyNames,this._supportsMaterialsforEntitiesOnTerrain=nc.supportsMaterialsforEntitiesOnTerrain(o.scene)}Object.defineProperties(vE.prototype,{id:{get:function(){return this._id}},entity:{get:function(){return this._entity}},fillEnabled:{get:function(){return this._fillEnabled}},hasConstantFill:{get:function(){return!this._fillEnabled||!O(this._entity.availability)&&Bt.isConstant(this._showProperty)&&Bt.isConstant(this._fillProperty)}},fillMaterialProperty:{get:function(){return this._materialProperty}},outlineEnabled:{get:function(){return this._outlineEnabled}},hasConstantOutline:{get:function(){return!this._outlineEnabled||!O(this._entity.availability)&&Bt.isConstant(this._showProperty)&&Bt.isConstant(this._showOutlineProperty)}},outlineColorProperty:{get:function(){return this._outlineColorProperty}},outlineWidth:{get:function(){return this._outlineWidth}},shadowsProperty:{get:function(){return this._shadowsProperty}},distanceDisplayConditionProperty:{get:function(){return this._distanceDisplayConditionProperty}},classificationTypeProperty:{get:function(){return this._classificationTypeProperty}},isDynamic:{get:function(){return this._dynamic}},isClosed:{get:function(){return this._isClosed}},onTerrain:{get:function(){return this._onTerrain}},geometryChanged:{get:function(){return this._geometryChanged}}});vE.prototype.isOutlineVisible=function(o){let A=this._entity,f=this._outlineEnabled&&A.isAvailable(o)&&this._showProperty.getValue(o)&&this._showOutlineProperty.getValue(o);return oe(f,!1)};vE.prototype.isFilled=function(o){let A=this._entity,f=this._fillEnabled&&A.isAvailable(o)&&this._showProperty.getValue(o)&&this._fillProperty.getValue(o);return oe(f,!1)};vE.prototype.createFillGeometryInstance=Ai.throwInstantiationError;vE.prototype.createOutlineGeometryInstance=Ai.throwInstantiationError;vE.prototype.isDestroyed=function(){return!1};vE.prototype.destroy=function(){Ar(this)};vE.prototype._isHidden=function(o,A){let f=A.show;return O(f)&&f.isConstant&&!f.getValue(un.MINIMUM_VALUE)};vE.prototype._isOnTerrain=function(o,A){return!1};vE.prototype._getIsClosed=function(o){return!0};vE.prototype._isDynamic=Ai.throwInstantiationError;vE.prototype._setStaticOptions=Ai.throwInstantiationError;vE.prototype._onEntityPropertyChanged=function(o,A,f,m){if(this._observedPropertyNames.indexOf(A)===-1)return;let C=this._entity[this._geometryPropertyName];if(!O(C)){(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this));return}let E=C.fill,x=O(E)&&E.isConstant?E.getValue(un.MINIMUM_VALUE):!0,y=C.outline,I=O(y);if(I&&y.isConstant&&(I=y.getValue(un.MINIMUM_VALUE)),!x&&!I){(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this));return}let v=C.show;if(this._isHidden(o,C)){(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this));return}this._materialProperty=oe(C.material,ysi),this._fillProperty=oe(E,_si),this._showProperty=oe(v,Isi),this._showOutlineProperty=oe(C.outline,vsi),this._outlineColorProperty=I?oe(C.outlineColor,Bsi):void 0,this._shadowsProperty=oe(C.shadows,wsi),this._distanceDisplayConditionProperty=oe(C.distanceDisplayCondition,bsi),this._classificationTypeProperty=oe(C.classificationType,Qsi),this._fillEnabled=x;let B=this._isOnTerrain(o,C)&&(this._supportsMaterialsforEntitiesOnTerrain||this._materialProperty instanceof ba);if(I&&B&&($o($o.geometryOutlines),I=!1),this._onTerrain=B,this._outlineEnabled=I,this._isDynamic(o,C))this._dynamic||(this._dynamic=!0,this._geometryChanged.raiseEvent(this));else{this._setStaticOptions(o,C),this._isClosed=this._getIsClosed(this._options);let Q=C.outlineWidth;this._outlineWidth=O(Q)?Q.getValue(un.MINIMUM_VALUE):1,this._dynamic=!1,this._geometryChanged.raiseEvent(this)}};vE.prototype.createDynamicUpdater=function(o,A){return new this.constructor.DynamicGeometryUpdater(this,o,A)};var mc=vE,KXe=new Z,Ssi=new Rt;function qG(o,A,f,m){this._scene=o,this._heightReference=f,this._extrudedHeightReference=m,this._positionProperty=A,this._position=new Z,this._cartographicPosition=new Rt,this._normal=new Z,this._definitionChanged=new ur,this._terrainHeight=0,this._removeCallbackFunc=void 0,this._removeEventListener=void 0,this._removeModeListener=void 0;let C=this;if(O(o.globe)&&(this._removeEventListener=o.terrainProviderChanged.addEventListener(function(){C._updateClamping()}),this._removeModeListener=o.morphComplete.addEventListener(function(){C._updateClamping()})),A.isConstant){let E=A.getValue(un.MINIMUM_VALUE,KXe);if(!O(E)||Z.equals(E,Z.ZERO)||!O(o.globe))return;this._position=Z.clone(E,this._position),this._updateClamping(),this._normal=o.globe.ellipsoid.geodeticSurfaceNormal(E,this._normal)}}Object.defineProperties(qG.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}}});qG.prototype._updateClamping=function(){O(this._removeCallbackFunc)&&this._removeCallbackFunc();let o=this._scene,A=o.globe,f=this._position;if(!O(A)||Z.equals(f,Z.ZERO)){this._terrainHeight=0;return}let m=A.ellipsoid,C=A._surface,E=this,x=m.cartesianToCartographic(f,this._cartographicPosition),y=A.getHeight(x);O(y)?this._terrainHeight=y:this._terrainHeight=0;function I(v){if(o.mode===ni.SCENE3D){let B=m.cartesianToCartographic(v,Ssi);E._terrainHeight=B.height}else E._terrainHeight=v.x;E.definitionChanged.raiseEvent()}this._removeCallbackFunc=C.updateHeight(x,I)};qG.prototype.getValue=function(o,A){let f=Bt.getValueOrDefault(this._heightReference,o,An.NONE),m=Bt.getValueOrDefault(this._extrudedHeightReference,o,An.NONE);if(f===An.NONE&&m!==An.RELATIVE_TO_GROUND)return this._position=Z.clone(Z.ZERO,this._position),Z.clone(Z.ZERO,A);if(this._positionProperty.isConstant)return Z.multiplyByScalar(this._normal,this._terrainHeight,A);let C=this._scene,E=this._positionProperty.getValue(o,KXe);if(!O(E)||Z.equals(E,Z.ZERO)||!O(C.globe))return Z.clone(Z.ZERO,A);if(Z.equalsEpsilon(this._position,E,Be.EPSILON10))return Z.multiplyByScalar(this._normal,this._terrainHeight,A);this._position=Z.clone(E,this._position),this._updateClamping();let x=C.globe.ellipsoid.geodeticSurfaceNormal(E,this._normal);return Z.multiplyByScalar(x,this._terrainHeight,A)};qG.prototype.isDestroyed=function(){return!1};qG.prototype.destroy=function(){return O(this._removeEventListener)&&this._removeEventListener(),O(this._removeModeListener)&&this._removeModeListener(),O(this._removeCallbackFunc)&&this._removeCallbackFunc(),Ar(this)};var kre=qG;function Dsi(o,A,f,m){if(mc.prototype._onEntityPropertyChanged.call(this,o,A,f,m),this._observedPropertyNames.indexOf(A)===-1)return;let C=this._entity[this._geometryPropertyName];if(!O(C))return;O(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0);let E=C.heightReference;if(O(E)){let x=new Hr(this._computeCenter.bind(this),!this._dynamic);this._terrainOffsetProperty=new kre(this._scene,x,E)}}var eJ=Dsi,WXe=Z.ZERO,jXe=new Z,Tsi=new Z,qXe=new Ve;function Msi(o){this.id=o,this.vertexFormat=void 0,this.dimensions=void 0,this.offsetAttribute=void 0}function nI(o,A){mc.call(this,{entity:o,scene:A,geometryOptions:new Msi(o),geometryPropertyName:"box",observedPropertyNames:["availability","position","orientation","box"]}),this._onEntityPropertyChanged(o,"box",o.box,void 0)}O(Object.create)&&(nI.prototype=Object.create(mc.prototype),nI.prototype.constructor=nI);Object.defineProperties(nI.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});nI.prototype.createFillGeometryInstance=function(o){let A=this._entity,f=A.isAvailable(o),m=new Yl(f&&A.isShowing&&this._showProperty.getValue(o)&&this._fillProperty.getValue(o)),C=this._distanceDisplayConditionProperty.getValue(o),E=aA.fromDistanceDisplayCondition(C),x={show:m,distanceDisplayCondition:E,color:void 0,offset:void 0};if(this._materialProperty instanceof ba){let y;O(this._materialProperty.color)&&(this._materialProperty.color.isConstant||f)&&(y=this._materialProperty.color.getValue(o,qXe)),O(y)||(y=Ve.WHITE),x.color=_o.fromColor(y)}return O(this._options.offsetAttribute)&&(x.offset=xf.fromCartesian3(Bt.getValueOrDefault(this._terrainOffsetProperty,o,WXe,jXe))),new kn({id:A,geometry:FD.fromDimensions(this._options),modelMatrix:A.computeModelMatrixForHeightReference(o,A.box.heightReference,this._options.dimensions.z*.5,this._scene.mapProjection.ellipsoid),attributes:x})};nI.prototype.createOutlineGeometryInstance=function(o){let A=this._entity,f=A.isAvailable(o),m=Bt.getValueOrDefault(this._outlineColorProperty,o,Ve.BLACK,qXe),C=this._distanceDisplayConditionProperty.getValue(o),E={show:new Yl(f&&A.isShowing&&this._showProperty.getValue(o)&&this._showOutlineProperty.getValue(o)),color:_o.fromColor(m),distanceDisplayCondition:aA.fromDistanceDisplayCondition(C),offset:void 0};return O(this._options.offsetAttribute)&&(E.offset=xf.fromCartesian3(Bt.getValueOrDefault(this._terrainOffsetProperty,o,WXe,jXe))),new kn({id:A,geometry:iQ.fromDimensions(this._options),modelMatrix:A.computeModelMatrixForHeightReference(o,A.box.heightReference,this._options.dimensions.z*.5,this._scene.mapProjection.ellipsoid),attributes:E})};nI.prototype._computeCenter=function(o,A){return Bt.getValueOrUndefined(this._entity.position,o,A)};nI.prototype._isHidden=function(o,A){return!O(A.dimensions)||!O(o.position)||mc.prototype._isHidden.call(this,o,A)};nI.prototype._isDynamic=function(o,A){return!o.position.isConstant||!Bt.isConstant(o.orientation)||!A.dimensions.isConstant||!Bt.isConstant(A.outlineWidth)};nI.prototype._setStaticOptions=function(o,A){let f=Bt.getValueOrDefault(A.heightReference,un.MINIMUM_VALUE,An.NONE),m=this._options;m.vertexFormat=this._materialProperty instanceof ba?La.VERTEX_FORMAT:$c.MaterialSupport.TEXTURED.vertexFormat,m.dimensions=A.dimensions.getValue(un.MINIMUM_VALUE,m.dimensions),m.offsetAttribute=f!==An.NONE?Fs.ALL:void 0};nI.prototype._onEntityPropertyChanged=eJ;nI.DynamicGeometryUpdater=M5;function M5(o,A,f){LA.call(this,o,A,f)}O(Object.create)&&(M5.prototype=Object.create(LA.prototype),M5.prototype.constructor=M5);M5.prototype._isHidden=function(o,A,f){let m=Bt.getValueOrUndefined(o.position,f,Tsi),C=this._options.dimensions;return!O(m)||!O(C)||LA.prototype._isHidden.call(this,o,A,f)};M5.prototype._setOptions=function(o,A,f){let m=Bt.getValueOrDefault(A.heightReference,f,An.NONE),C=this._options;C.dimensions=Bt.getValueOrUndefined(A.dimensions,f,C.dimensions),C.offsetAttribute=m!==An.NONE?Fs.ALL:void 0};var rBe=nI,Psi=new Re;function PP(o,A){A.collectionChanged.addEventListener(PP.prototype._onCollectionChanged,this),this._scene=o,this._primitives=o.primitives,this._entityCollection=A,this._tilesetHash={},this._entitiesToVisualize=new Ro,this._onCollectionChanged(A,A.values,[],[])}PP.prototype.update=function(o){let A=this._entitiesToVisualize.values,f=this._tilesetHash,m=this._primitives;for(let C=0,E=A.length;C-1;m--)cge(this,o[m],A,f);return Ar(this)};PP.prototype.getBoundingSphere=function(o,A){let f=this._tilesetHash[o.id];if(!O(f)||f.loadFail)return eo.FAILED;let m=f.tilesetPrimitive;return O(m)?m.show?(hi.clone(m.boundingSphere,A),eo.DONE):eo.FAILED:eo.PENDING};PP.prototype._onCollectionChanged=function(o,A,f,m){let C,E,x=this._entitiesToVisualize,y=this._tilesetHash,I=this._primitives;for(C=A.length-1;C>-1;C--)E=A[C],O(E._tileset)&&x.set(E.id,E);for(C=m.length-1;C>-1;C--)E=m[C],O(E._tileset)?x.set(E.id,E):(cge(this,E,y,I),x.remove(E.id));for(C=f.length-1;C>-1;C--)E=f[C],cge(this,E,y,I),x.remove(E.id)};function cge(o,A,f,m){let C=f[A.id];O(C)&&(O(C.tilesetPrimitive)&&m.removeAndDestroy(C.tilesetPrimitive),delete f[A.id])}async function Rsi(o,A,f,m){A[f.id]={url:o.url,loadFail:!1};try{let C=await _f.fromUrl(o);if(C.id=f,m.add(C),!O(A[f.id]))return;A[f.id].tilesetPrimitive=C}catch(C){console.error(C),A[f.id].loadFail=!0}}var nBe=PP,Lsi=Ve.WHITE,Fsi=Ve.BLACK,Nsi=new rt(2,2);function _4(o){o=oe(o,oe.EMPTY_OBJECT),this._definitionChanged=new ur,this._evenColor=void 0,this._evenColorSubscription=void 0,this._oddColor=void 0,this._oddColorSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this.evenColor=o.evenColor,this.oddColor=o.oddColor,this.repeat=o.repeat}Object.defineProperties(_4.prototype,{isConstant:{get:function(){return Bt.isConstant(this._evenColor)&&Bt.isConstant(this._oddColor)&&Bt.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},evenColor:fi("evenColor"),oddColor:fi("oddColor"),repeat:fi("repeat")});_4.prototype.getType=function(o){return"Checkerboard"};_4.prototype.getValue=function(o,A){return O(A)||(A={}),A.lightColor=Bt.getValueOrClonedDefault(this._evenColor,o,Lsi,A.lightColor),A.darkColor=Bt.getValueOrClonedDefault(this._oddColor,o,Fsi,A.darkColor),A.repeat=Bt.getValueOrDefault(this._repeat,o,Nsi),A};_4.prototype.equals=function(o){return this===o||o instanceof _4&&Bt.equals(this._evenColor,o._evenColor)&&Bt.equals(this._oddColor,o._oddColor)&&Bt.equals(this._repeat,o._repeat)};var oee=_4,aee={id:void 0},P5=new Array(2);function hge(o){let A=o.propertyNames,f=A.length;for(let m=0;m-1;I--)x=y[I],ZXe(o,T,w,x);for(E=f-1;E>=0;E--)for(v=A[E],v.collectionChanged.addEventListener(Jd.prototype._onCollectionChanged,o),y=v.values,w=v.id,I=y.length-1;I>-1;I--){x=y[I],XXe(o,T,w,x);let D=Q.getById(x.id);O(D)||(D=B.getById(x.id),O(D)?hge(D):(aee.id=x.id,D=new nc(aee)),Q.add(D)),D.merge(x)}o._collectionsCopy=A.slice(0),B.suspendEvents(),B.removeAll();let S=Q.values;for(E=0;E=0;y--)I=m[y].getById(D),O(I)&&(O(v)||(v=E.getById(D),hge(v)),v.merge(I));O(v)||E.removeById(D),v=void 0}let w=A.length;for(x=0;x=0;y--)I=m[y].getById(D),O(I)&&(O(v)||(v=E.getById(D),O(v)?hge(v):(aee.id=D,v=new nc(aee),E.add(v))),v.merge(I));v=void 0}E.resumeEvents()};Jd.prototype._onDefinitionChanged=function(o,A,f,m){let C=this._collections,E=this._composite,x=C.length,y=o.id,I=E.getById(y),v=I[A],B=!O(v),Q=!0;for(let T=x-1;T>=0;T--){let w=C[T].getById(o.id);if(O(w)){let S=w[A];if(O(S)){if(Q)if(Q=!1,O(S.merge)&&O(S.clone))v=S.clone(v);else{v=S;break}v.merge(S)}}}B&&I.propertyNames.indexOf(A)===-1&&I.addProperty(A),I[A]=v};var eZe=Jd;function RP(){this._definitionChanged=new ur,this._composite=new F_,this._composite.definitionChanged.addEventListener(RP.prototype._raiseDefinitionChanged,this)}Object.defineProperties(RP.prototype,{isConstant:{get:function(){return this._composite.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._composite._intervals}}});RP.prototype.getType=function(o){let A=this._composite._intervals.findDataForIntervalContainingDate(o);if(O(A))return A.getType(o)};RP.prototype.getValue=function(o,A){let f=this._composite._intervals.findDataForIntervalContainingDate(o);if(O(f))return f.getValue(o,A)};RP.prototype.equals=function(o){return this===o||o instanceof RP&&this._composite.equals(o._composite,Bt.equals)};RP.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var see=RP,ksi={ROUNDED:0,MITERED:1,BEVELED:2},dc=Object.freeze(ksi),W0=[new Z,new Z],Osi=new Z,Usi=new Z,Gsi=new Z,Hsi=new Z,Vsi=new Z,zsi=new Z,Ysi=new Z,Jsi=new Z,Ksi=new Z,qU=new Z,$q=new Z,K9={},Ehe=new Rt;function Wsi(o,A){let f=new Array(o.length);for(let m=0;m=0?-y:y}var qsi=new Z(-1,0,0),wF=new Re,Xsi=new Re,yhe=new Gt,Zsi=Gt.IDENTITY.clone(),$si=new Z,eli=new zt,kUe=new Z;function tD(o,A,f,m,C,E,x,y){let I=$si,v=eli;wF=kr.eastNorthUpToFixedFrame(o,C,wF),I=Re.multiplyByPointAsVector(wF,qsi,I),I=Z.normalize(I,I);let B=jsi(I,A,o,C);yhe=Gt.fromRotationZ(B,yhe),kUe.z=E,wF=Re.multiplyTransformation(wF,Re.fromRotationTranslation(yhe,kUe,Xsi),wF);let Q=Zsi;Q[0]=x;for(let T=0;T0){let D=v?2:1;for(let R=0;R=0};var rli=new Z,nli=new Z;K9.computePositions=function(o,A,f,m,C){let E=m._ellipsoid,x=Wsi(o,E),y=m._granularity,I=m._cornerType,v=C?ili(A,f):OUe(A,f),B=C?OUe(A,f):void 0,Q=f.height/2,T=f.width/2,w=o.length,S=[],D=C?[]:void 0,R=Osi,P=Usi,M=Gsi,L=Hsi,F=Vsi,k=zsi,N=Ysi,G=Jsi,J=Ksi,K=o[0],X=o[1];L=E.geodeticSurfaceNormal(K,L),R=Z.subtract(X,K,R),R=Z.normalize(R,R),G=Z.cross(L,R,G),G=Z.normalize(G,G);let q=x[0],ee=x[1];C&&(D=tD(K,G,B,D,E,q+Q,1,1)),J=Z.clone(K,J),K=X,P=Z.negate(R,P);let ie,H;for(let Ae=1;Aewe;T--)Ie=Be.PI_OVER_TWO-T*Ce,re[me++]=1-se*(1+Math.cos(Ie)),re[me++]=.5*(1+Math.sin(Ie));for(T=we;T>0;T--)Ie=Be.PI_OVER_TWO-Ce*T,re[me++]=1-de*(1+Math.cos(Ie)),re[me++]=.5*(1+Math.sin(Ie));for(T=B-R;T>0;T--)re[me++]=T*de,re[me++]=1;for(T=1;T0;T--)re[me++]=(T-1)*de,re[me++]=1}I.st=new wr({componentDatatype:Ft.FLOAT,componentsPerAttribute:2,values:re})}return A.normal&&(I.normal=new wr({componentDatatype:Ft.FLOAT,componentsPerAttribute:3,values:N.normals})),A.tangent&&(I.tangent=new wr({componentDatatype:Ft.FLOAT,componentsPerAttribute:3,values:N.tangents})),A.bitangent&&(I.bitangent=new wr({componentDatatype:Ft.FLOAT,componentsPerAttribute:3,values:N.bitangents})),{attributes:I,indices:he}}function mli(o,A){if(!A.normal&&!A.tangent&&!A.bitangent&&!A.st)return o;let f=o.position.values,m,C;(A.normal||A.bitangent)&&(m=o.normal.values,C=o.bitangent.values);let E=o.position.values.length/18,x=E*3,y=E*2,I=x*2,v;if(A.normal||A.bitangent||A.tangent){let B=A.normal?new Float32Array(x*6):void 0,Q=A.tangent?new Float32Array(x*6):void 0,T=A.bitangent?new Float32Array(x*6):void 0,w=oZe,S=aZe,D=NZ,R=kZ,P=pli,M=sZe,L=I;for(v=0;v0){let D=Math.min(E,C);v=Math.round(C/D),I+=D}let B=Bn.createTypedArray(x,I*2),Q=0,T;for(T=0;T0)for(T=0;T0){for(I=0;II&&o!==Object}let S=typeof o.unpack=="function"&&o!==Rb;if(!w&&!T){Q?A[f]=new zu(S?o.unpack(v,0):v):A[f]=i5e(o,x,m);return}let D=A[f],R,P=m.epoch;if(O(P)&&(R=Zt.fromIso8601(P)),w&&!T){D instanceof rD||(A[f]=D=new rD(o)),D.addSamplesPackedArray(v,R),fee(m,D);return}let M;if(!w&&T){y=y.clone(),Q?y.data=S?o.unpack(v,0):v:y.data=i5e(o,x,m),O(D)||(A[f]=D=Q?new l4:new F_),Q&&D instanceof l4?D.intervals.addInterval(y):D instanceof F_?(Q&&(y.data=new zu(y.data)),D.intervals.addInterval(y)):(A[f]=D=l5e(D),Q&&(y.data=new zu(y.data)),D.intervals.addInterval(y));return}O(D)||(A[f]=D=new F_),D instanceof F_||(A[f]=D=l5e(D));let L=D.intervals;M=L.findInterval(y),(!O(M)||!(M.data instanceof rD))&&(M=y.clone(),M.data=new rD(o),L.addInterval(M)),M.data.addSamplesPackedArray(v,R),fee(m,M.data)}function vZe(o,A){if(o instanceof rD){o.removeSamples(A);return}else if(o instanceof l4){o.intervals.removeInterval(A);return}else if(o instanceof F_){let f=o.intervals;for(let m=0;mI),!S&&!T){Q?o[A]=new Cb(Z.unpack(v),w):o[A]=q9(E,f.reference);return}let D=o[A],R,P=f.epoch;if(O(P)&&(R=Zt.fromIso8601(P)),S&&!T){(!(D instanceof N_)||O(w)&&D.referenceFrame!==w)&&(o[A]=D=new N_(w,y)),D.addSamplesPackedArray(v,R),fee(f,D);return}let M;if(!S&&T){x=x.clone(),Q?x.data=Z.unpack(v):x.data=q9(E,f.reference),O(D)||(Q?D=new S4(w):D=new Xy(w),o[A]=D),Q&&D instanceof S4&&O(w)&&D.referenceFrame===w?D.intervals.addInterval(x):D instanceof Xy?(Q&&(x.data=new Cb(x.data,w)),D.intervals.addInterval(x)):(o[A]=D=u5e(D),Q&&(x.data=new Cb(x.data,w)),D.intervals.addInterval(x));return}O(D)?D instanceof Xy||(o[A]=D=u5e(D)):o[A]=D=new Xy(w);let L=D.intervals;M=L.findInterval(x),(!O(M)||!(M.data instanceof N_)||O(w)&&M.data.referenceFrame!==w)&&(M=x.clone(),M.data=new N_(w,y),L.addInterval(M)),M.data.addSamplesPackedArray(v,R),fee(f,M.data)}function BZe(o,A){if(o instanceof N_){o.removeSamples(A);return}else if(o instanceof S4){o.intervals.removeInterval(A);return}else if(o instanceof Xy){let f=o.intervals;for(let m=0;m. version format.");let m=A._documentPacket;O(o.name)&&(m.name=o.name);let C=o.clock;if(O(C)){let E=m.clock;O(E)?(E.interval=oe(C.interval,E.interval),E.currentTime=oe(C.currentTime,E.currentTime),E.range=oe(C.range,E.range),E.step=oe(C.step,E.step),E.multiplier=oe(C.multiplier,E.multiplier)):m.clock={interval:C.interval,currentTime:C.currentTime,range:C.range,step:C.step,multiplier:C.multiplier}}}function Sui(o,A,f,m){let C=A.ellipse;if(!O(C))return;let E=Vh(C.interval),x=o.ellipse;O(x)||(o.ellipse=x=new Xte),Si(Boolean,x,"show",C.show,E,m,f),Si(Number,x,"semiMajorAxis",C.semiMajorAxis,E,m,f),Si(Number,x,"semiMinorAxis",C.semiMinorAxis,E,m,f),Si(Number,x,"height",C.height,E,m,f),Si(An,x,"heightReference",C.heightReference,E,m,f),Si(Number,x,"extrudedHeight",C.extrudedHeight,E,m,f),Si(An,x,"extrudedHeightReference",C.extrudedHeightReference,E,m,f),Si(Rb,x,"rotation",C.rotation,E,m,f),Si(Rb,x,"stRotation",C.stRotation,E,m,f),Si(Number,x,"granularity",C.granularity,E,m,f),Si(Boolean,x,"fill",C.fill,E,m,f),mI(x,"material",C.material,E,m,f),Si(Boolean,x,"outline",C.outline,E,m,f),Si(Ve,x,"outlineColor",C.outlineColor,E,m,f),Si(Number,x,"outlineWidth",C.outlineWidth,E,m,f),Si(Number,x,"numberOfVerticalLines",C.numberOfVerticalLines,E,m,f),Si(Ns,x,"shadows",C.shadows,E,m,f),Si(po,x,"distanceDisplayCondition",C.distanceDisplayCondition,E,m,f),Si(uu,x,"classificationType",C.classificationType,E,m,f),Si(Number,x,"zIndex",C.zIndex,E,m,f)}function Dui(o,A,f,m){let C=A.ellipsoid;if(!O(C))return;let E=Vh(C.interval),x=o.ellipsoid;O(x)||(o.ellipsoid=x=new dG),Si(Boolean,x,"show",C.show,E,m,f),Si(Z,x,"radii",C.radii,E,m,f),Si(Z,x,"innerRadii",C.innerRadii,E,m,f),Si(Number,x,"minimumClock",C.minimumClock,E,m,f),Si(Number,x,"maximumClock",C.maximumClock,E,m,f),Si(Number,x,"minimumCone",C.minimumCone,E,m,f),Si(Number,x,"maximumCone",C.maximumCone,E,m,f),Si(An,x,"heightReference",C.heightReference,E,m,f),Si(Boolean,x,"fill",C.fill,E,m,f),mI(x,"material",C.material,E,m,f),Si(Boolean,x,"outline",C.outline,E,m,f),Si(Ve,x,"outlineColor",C.outlineColor,E,m,f),Si(Number,x,"outlineWidth",C.outlineWidth,E,m,f),Si(Number,x,"stackPartitions",C.stackPartitions,E,m,f),Si(Number,x,"slicePartitions",C.slicePartitions,E,m,f),Si(Number,x,"subdivisions",C.subdivisions,E,m,f),Si(Ns,x,"shadows",C.shadows,E,m,f),Si(po,x,"distanceDisplayCondition",C.distanceDisplayCondition,E,m,f)}function Tui(o,A,f,m){let C=A.label;if(!O(C))return;let E=Vh(C.interval),x=o.label;O(x)||(o.label=x=new fG),Si(Boolean,x,"show",C.show,E,m,f),Si(String,x,"text",C.text,E,m,f),Si(String,x,"font",C.font,E,m,f),Si(Pu,x,"style",C.style,E,m,f),Si(Number,x,"scale",C.scale,E,m,f),Si(Boolean,x,"showBackground",C.showBackground,E,m,f),Si(Ve,x,"backgroundColor",C.backgroundColor,E,m,f),Si(rt,x,"backgroundPadding",C.backgroundPadding,E,m,f),Si(rt,x,"pixelOffset",C.pixelOffset,E,m,f),Si(Z,x,"eyeOffset",C.eyeOffset,E,m,f),Si(Ru,x,"horizontalOrigin",C.horizontalOrigin,E,m,f),Si(hn,x,"verticalOrigin",C.verticalOrigin,E,m,f),Si(An,x,"heightReference",C.heightReference,E,m,f),Si(Ve,x,"fillColor",C.fillColor,E,m,f),Si(Ve,x,"outlineColor",C.outlineColor,E,m,f),Si(Number,x,"outlineWidth",C.outlineWidth,E,m,f),Si(Eo,x,"translucencyByDistance",C.translucencyByDistance,E,m,f),Si(Eo,x,"pixelOffsetScaleByDistance",C.pixelOffsetScaleByDistance,E,m,f),Si(Eo,x,"scaleByDistance",C.scaleByDistance,E,m,f),Si(po,x,"distanceDisplayCondition",C.distanceDisplayCondition,E,m,f),Si(Number,x,"disableDepthTestDistance",C.disableDepthTestDistance,E,m,f)}function Mui(o,A,f,m){let C=A.model;if(!O(C))return;let E=Vh(C.interval),x=o.model;O(x)||(o.model=x=new eY),Si(Boolean,x,"show",C.show,E,m,f),Si(Hre.default,x,"uri",C.gltf,E,m,f),Si(Number,x,"scale",C.scale,E,m,f),Si(Number,x,"minimumPixelSize",C.minimumPixelSize,E,m,f),Si(Number,x,"maximumScale",C.maximumScale,E,m,f),Si(Boolean,x,"incrementallyLoadTextures",C.incrementallyLoadTextures,E,m,f),Si(Boolean,x,"runAnimations",C.runAnimations,E,m,f),Si(Boolean,x,"clampAnimations",C.clampAnimations,E,m,f),Si(Ns,x,"shadows",C.shadows,E,m,f),Si(An,x,"heightReference",C.heightReference,E,m,f),Si(Ve,x,"silhouetteColor",C.silhouetteColor,E,m,f),Si(Number,x,"silhouetteSize",C.silhouetteSize,E,m,f),Si(Ve,x,"color",C.color,E,m,f),Si(Pb,x,"colorBlendMode",C.colorBlendMode,E,m,f),Si(Number,x,"colorBlendAmount",C.colorBlendAmount,E,m,f),Si(po,x,"distanceDisplayCondition",C.distanceDisplayCondition,E,m,f);let y,I,v=C.nodeTransformations;if(O(v))if(Array.isArray(v))for(y=0,I=v.length;y-1;I--)f[I](x,o,A,m)}dge=void 0}function Hui(o){let A,f=o._documentPacket.clock;if(!O(f)){if(!O(o._clock)){let C=o._entityCollection.computeAvailability();if(!C.start.equals(un.MINIMUM_VALUE)){let E=C.start,x=C.stop,y=Zt.secondsDifference(x,E),I=Math.round(y/120);return A=new BN,A.startTime=Zt.clone(E),A.stopTime=Zt.clone(x),A.clockRange=np.LOOP_STOP,A.multiplier=I,A.currentTime=Zt.clone(E),A.clockStep=Zc.SYSTEM_CLOCK_MULTIPLIER,o._clock=A,!0}}return!1}O(o._clock)?A=o._clock.clone():(A=new BN,A.startTime=un.MINIMUM_VALUE.clone(),A.stopTime=un.MAXIMUM_VALUE.clone(),A.currentTime=un.MINIMUM_VALUE.clone(),A.clockRange=np.LOOP_STOP,A.clockStep=Zc.SYSTEM_CLOCK_MULTIPLIER,A.multiplier=1);let m=Vh(f.interval);return O(m)&&(A.startTime=m.start,A.stopTime=m.stop),O(f.currentTime)&&(A.currentTime=Zt.fromIso8601(f.currentTime)),O(f.range)&&(A.clockRange=oe(np[f.range],np.LOOP_STOP)),O(f.step)&&(A.clockStep=oe(Zc[f.step],Zc.SYSTEM_CLOCK_MULTIPLIER)),O(f.multiplier)&&(A.multiplier=f.multiplier),A.equals(o._clock)?!1:(o._clock=A.clone(o._clock),!0)}function bZe(o,A,f,m){f=oe(f,oe.EMPTY_OBJECT);let C=A,E=f.sourceUri,x=f.credit;if(typeof x=="string"&&(x=new Qa(x)),o._credit=x,typeof A=="string"||A instanceof Cr){A=Cr.createIfNeeded(A),C=A.fetchJson(),E=oe(E,A.clone());let y=o._resourceCredits,I=A.credits;if(O(I)){let v=I.length;for(let B=0;B1;--q){if(P=Be.PI_OVER_TWO-(q-1)*R,k=FF(-P,E,S,w,I,B,v,Q,T,k),N=FF(P+Math.PI,E,S,w,I,B,v,Q,T,N),A){for(L[F++]=k.x,L[F++]=k.y,L[F++]=k.z,ie=2*(q-1)+2,ee=1;ee1;--x){for(A[f++]=m++,A[f++]=m,A[f++]=E,C=2*x,y=0;yBe.PI&&(B.north=B.north>0?Be.PI_OVER_TWO-Be.EPSILON7:B.north,B.south=B.south<0?Be.EPSILON7-Be.PI_OVER_TWO:B.south,B.east=Be.PI,B.west=-Be.PI),B}function Lb(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.center,f=oe(o.ellipsoid,Ci.WGS84),m=o.semiMajorAxis,C=o.semiMinorAxis,E=oe(o.granularity,Be.RADIANS_PER_DEGREE),x=oe(o.vertexFormat,Pr.DEFAULT),y=oe(o.height,0),I=oe(o.extrudedHeight,y);this._center=Z.clone(A),this._semiMajorAxis=m,this._semiMinorAxis=C,this._ellipsoid=Ci.clone(f),this._rotation=oe(o.rotation,0),this._stRotation=oe(o.stRotation,0),this._height=Math.max(I,y),this._granularity=E,this._vertexFormat=Pr.clone(x),this._extrudedHeight=Math.min(I,y),this._shadowVolume=oe(o.shadowVolume,!1),this._workerName="createEllipseGeometry",this._offsetAttribute=o.offsetAttribute,this._rectangle=void 0,this._textureCoordinateRotationPoints=void 0}Lb.packedLength=Z.packedLength+Ci.packedLength+Pr.packedLength+9;Lb.pack=function(o,A,f){return f=oe(f,0),Z.pack(o._center,A,f),f+=Z.packedLength,Ci.pack(o._ellipsoid,A,f),f+=Ci.packedLength,Pr.pack(o._vertexFormat,A,f),f+=Pr.packedLength,A[f++]=o._semiMajorAxis,A[f++]=o._semiMinorAxis,A[f++]=o._rotation,A[f++]=o._stRotation,A[f++]=o._height,A[f++]=o._granularity,A[f++]=o._extrudedHeight,A[f++]=o._shadowVolume?1:0,A[f]=oe(o._offsetAttribute,-1),A};var HZe=new Z,VZe=new Ci,zZe=new Pr,X1={center:HZe,ellipsoid:VZe,vertexFormat:zZe,semiMajorAxis:void 0,semiMinorAxis:void 0,rotation:void 0,stRotation:void 0,height:void 0,granularity:void 0,extrudedHeight:void 0,shadowVolume:void 0,offsetAttribute:void 0};Lb.unpack=function(o,A,f){A=oe(A,0);let m=Z.unpack(o,A,HZe);A+=Z.packedLength;let C=Ci.unpack(o,A,VZe);A+=Ci.packedLength;let E=Pr.unpack(o,A,zZe);A+=Pr.packedLength;let x=o[A++],y=o[A++],I=o[A++],v=o[A++],B=o[A++],Q=o[A++],T=o[A++],w=o[A++]===1,S=o[A];return O(f)?(f._center=Z.clone(m,f._center),f._ellipsoid=Ci.clone(C,f._ellipsoid),f._vertexFormat=Pr.clone(E,f._vertexFormat),f._semiMajorAxis=x,f._semiMinorAxis=y,f._rotation=I,f._stRotation=v,f._height=B,f._granularity=Q,f._extrudedHeight=T,f._shadowVolume=w,f._offsetAttribute=S===-1?void 0:S,f):(X1.height=B,X1.extrudedHeight=T,X1.granularity=Q,X1.stRotation=v,X1.rotation=I,X1.semiMajorAxis=x,X1.semiMinorAxis=y,X1.shadowVolume=w,X1.offsetAttribute=S===-1?void 0:S,new Lb(X1))};Lb.computeRectangle=function(o,A){o=oe(o,oe.EMPTY_OBJECT);let f=o.center,m=oe(o.ellipsoid,Ci.WGS84),C=o.semiMajorAxis,E=o.semiMinorAxis,x=oe(o.granularity,Be.RADIANS_PER_DEGREE),y=oe(o.rotation,0);return GZe(f,C,E,y,x,m,A)};Lb.createGeometry=function(o){if(o._semiMajorAxis<=0||o._semiMinorAxis<=0)return;let A=o._height,f=o._extrudedHeight,m=!Be.equalsEpsilon(A,f,0,Be.EPSILON2);o._center=o._ellipsoid.scaleToGeodeticSurface(o._center,o._center);let C={center:o._center,semiMajorAxis:o._semiMajorAxis,semiMinorAxis:o._semiMinorAxis,ellipsoid:o._ellipsoid,rotation:o._rotation,height:A,granularity:o._granularity,vertexFormat:o._vertexFormat,stRotation:o._stRotation},E;if(m)C.extrudedHeight=f,C.shadowVolume=o._shadowVolume,C.offsetAttribute=o._offsetAttribute,E=Zui(C);else if(E=jui(C),O(o._offsetAttribute)){let x=E.attributes.position.values.length,y=o._offsetAttribute===Fs.NONE?0:1,I=new Uint8Array(x/3).fill(y);E.attributes.applyOffset=new wr({componentDatatype:Ft.UNSIGNED_BYTE,componentsPerAttribute:1,values:I})}return new Uo({attributes:E.attributes,indices:E.indices,primitiveType:on.TRIANGLES,boundingSphere:E.boundingSphere,offsetAttribute:o._offsetAttribute})};Lb.createShadowVolume=function(o,A,f){let m=o._granularity,C=o._ellipsoid,E=A(m,C),x=f(m,C);return new Lb({center:o._center,semiMajorAxis:o._semiMajorAxis,semiMinorAxis:o._semiMinorAxis,ellipsoid:C,rotation:o._rotation,stRotation:o._stRotation,granularity:m,extrudedHeight:E,height:x,vertexFormat:Pr.POSITION_ONLY,shadowVolume:!0})};function $ui(o){let A=-o._stRotation;if(A===0)return[0,0,0,1,1,0];let f=CI.computeEllipsePositions({center:o._center,semiMajorAxis:o._semiMajorAxis,semiMinorAxis:o._semiMinorAxis,rotation:o._rotation,granularity:o._granularity},!1,!0).outerPositions,m=f.length/3,C=new Array(m);for(let y=0;y0){let S=Math.min(v,I);w=Math.round(I/S);let D=Math.min(w*v,I);for(T=0;T0&&(F=!0,P+=I-1),x0&&B!==D-1&&Q!==0&&Q!==R-1&&(X[U]=!0),U++;T=0;let W,Y;for(B=1;B=Ne&&B1||k>1))for(let ee=0;ee0;B-=v)Ie=B*3,ae=SU(ae,re,Ie,T,R),re+=6,C.st&&(Y=DU(Y,se,B*2,k),se+=4),f&&(de+=3,U[de++]=N[Ie],U[de++]=N[Ie+1],U[de++]=N[Ie+2]),z&&(W[me++]=1,me+=1);if(ie){let Ne=Ce;for(Ie=Ne*3,B=0;B<2;B++)ae=SU(ae,re,Ie,T,R),re+=6,C.st&&(Y=DU(Y,se,Ne*2,k),se+=4),f&&(de+=3,U[de++]=N[Ie],U[de++]=N[Ie+1],U[de++]=N[Ie+2]),z&&(W[me++]=1,me+=1)}else for(B=v-1;B>=0;B--)Ie=B*3,ae=SU(ae,re,Ie,T,R),re+=6,C.st&&(Y=DU(Y,se,B*2,k),se+=4),f&&(de+=3,U[de++]=N[Ie],U[de++]=N[Ie+1],U[de++]=N[Ie+2]),z&&(W[me++]=1,me+=1);let we=ici(ae,C,y);C.st&&(we.attributes.st=new wr({componentDatatype:Ft.FLOAT,componentsPerAttribute:2,values:Y})),f&&(we.attributes.extrudeDirection=new wr({componentDatatype:Ft.FLOAT,componentsPerAttribute:3,values:U})),J&&(we.attributes.applyOffset=new wr({componentDatatype:Ft.UNSIGNED_BYTE,componentsPerAttribute:1,values:W}));let Te=Bn.createTypedArray(fe,Ae*6),Ge,ke,Oe,Le;w=ae.length/3;let be=0;for(B=0;B0){O(m)&&(O(this.oldPrimitive)?C.remove(m):this.oldPrimitive=m);let y;O(this.depthFailAppearanceType)&&(O(this.depthFailMaterialProperty)&&(this.depthFailMaterial=ap.getValue(o,this.depthFailMaterialProperty,this.depthFailMaterial)),y=new this.depthFailAppearanceType({material:this.depthFailMaterial,translucent:this.translucent,closed:this.closed})),m=new ra({show:!1,asynchronous:!0,geometryInstances:x.slice(),appearance:new this.appearanceType({translucent:this.translucent,closed:this.closed}),depthFailAppearance:y,shadows:this.shadows}),C.add(m),A=!1}else{O(m)&&(C.remove(m),m=void 0);let y=this.oldPrimitive;O(y)&&(C.remove(y),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=m,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(O(m)&&m.ready){m.show=!0,O(this.oldPrimitive)&&(C.remove(this.oldPrimitive),this.oldPrimitive=void 0),O(this.depthFailAppearanceType)&&!(this.depthFailMaterialProperty instanceof ba)&&(this.depthFailMaterial=ap.getValue(o,this.depthFailMaterialProperty,this.depthFailMaterial),this.primitive.depthFailAppearance.material=this.depthFailMaterial);let x=this.updatersWithAttributes.values,y=x.length,I=this.waitingOnCreate;for(E=0;E=0;m--){let C=o[m];if(C.remove(A))return C.updaters.length===0&&(o.splice(m,1),C.destroy()),!0}return!1}ZG.prototype.remove=function(o){T5e(this._solidItems,o)||T5e(this._translucentItems,o)};function M5e(o,A,f){let m=!1,C=A.length;for(let E=0;E0)for(E=0;E=0;E--){let x=A[E];if(x.invalidated){A.splice(E,1);let y=x.updaters.values,I=y.length;for(let v=0;v0){O(f)&&(O(this.oldPrimitive)?m.remove(f):this.oldPrimitive=f),this.material=ap.getValue(o,this.materialProperty,this.material);let x;O(this.depthFailMaterialProperty)&&(this.depthFailMaterial=ap.getValue(o,this.depthFailMaterialProperty,this.depthFailMaterial),x=new this.depthFailAppearanceType({material:this.depthFailMaterial,translucent:this.depthFailMaterial.isTranslucent(),closed:this.closed})),f=new ra({show:!1,asynchronous:!0,geometryInstances:C.slice(),appearance:new this.appearanceType({material:this.material,translucent:this.material.isTranslucent(),closed:this.closed}),depthFailAppearance:x,shadows:this.shadows}),m.add(f),A=!1}else{O(f)&&(m.remove(f),f=void 0);let x=this.oldPrimitive;O(x)&&(m.remove(x),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=f,this.createPrimitive=!1}else if(O(f)&&f.ready){f.show=!0,O(this.oldPrimitive)&&(m.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.material=ap.getValue(o,this.materialProperty,this.material),this.primitive.appearance.material=this.material,O(this.depthFailAppearanceType)&&!(this.depthFailMaterialProperty instanceof ba)&&(this.depthFailMaterial=ap.getValue(o,this.depthFailMaterialProperty,this.depthFailMaterial),this.primitive.depthFailAppearance.material=this.depthFailMaterial);let x=this.updatersWithAttributes.values,y=x.length;for(E=0;E=0;m--){let C=A[m];if(C.remove(o)){C.updaters.length===0&&(A.splice(m,1),C.destroy());break}}};$G.prototype.update=function(o){let A,f=this._items,m=f.length;for(A=m-1;A>=0;A--){let E=f[A];if(E.invalidated){f.splice(A,1);let x=E.updaters.values,y=x.length;for(let I=0;I0)O(m)&&(O(this.oldPrimitive)?C.remove(m):this.oldPrimitive=m),m=new Xb({show:!1,asynchronous:!0,geometryInstances:x.slice(),classificationType:this.classificationType}),C.add(m,this.zIndex),A=!1;else{O(m)&&(C.remove(m),m=void 0);let y=this.oldPrimitive;O(y)&&(C.remove(y),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=m,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(O(m)&&m.ready){m.show=!0,O(this.oldPrimitive)&&(C.remove(this.oldPrimitive),this.oldPrimitive=void 0);let x=this.updatersWithAttributes.values,y=x.length,I=this.waitingOnCreate;for(E=0;E=0;--A){let x=C[A];x.isDirty&&(m=C[A].update(o)&&m,x.isDirty=!1),x.geometry.length===0&&C.splice(A,1)}return m};e8.prototype.getBoundingSphere=function(o,A){let f=this._batches,m=f.length;for(let C=0;C0)O(f)&&(O(this.oldPrimitive)?m.remove(f):this.oldPrimitive=f),this.material=ap.getValue(o,this.materialProperty,this.material),f=new Xb({show:!1,asynchronous:!0,geometryInstances:C.slice(),appearance:new this.appearanceType({material:this.material}),classificationType:this.classificationType}),m.add(f,this.zIndex),A=!1;else{O(f)&&(m.remove(f),f=void 0);let x=this.oldPrimitive;O(x)&&(m.remove(x),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=f,this.createPrimitive=!1}else if(O(f)&&f.ready){f.show=!0,O(this.oldPrimitive)&&(m.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.material=ap.getValue(o,this.materialProperty,this.material),this.primitive.appearance.material=this.material;let x=this.updatersWithAttributes.values,y=x.length;for(E=0;E=0;m--){let C=A[m];if(C.remove(o)){C.updaters.length===0&&(A.splice(m,1),C.destroy());break}}};t8.prototype.update=function(o){let A,f=this._items,m=f.length;for(A=m-1;A>=0;A--){let E=f[A];if(E.invalidated){f.splice(A,1);let x=E.updaters.values,y=x.length;for(let I=0;I0)O(m)&&(O(this.oldPrimitive)?C.remove(m):this.oldPrimitive=m),m=new ra({show:!1,asynchronous:!0,geometryInstances:x.slice(),appearance:new La({flat:!0,translucent:this.translucent,renderState:{lineWidth:this.width}}),shadows:this.shadows}),C.add(m),A=!1;else{O(m)&&(C.remove(m),m=void 0);let y=this.oldPrimitive;O(y)&&(C.remove(y),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=m,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(O(m)&&m.ready){m.show=!0,O(this.oldPrimitive)&&(C.remove(this.oldPrimitive),this.oldPrimitive=void 0);let x=this.updatersWithAttributes.values,y=x.length,I=this.waitingOnCreate;for(E=0;E0)for(Q=!0,A=0;A0)for(Q=!0,A=0;A0)for(x=new Array(C),m=0;m0)for(y=new Array(C),m=0;m0)for(x=new Array(C),m=0;m0)for(y=new Array(C),m=0;m-1;y--)I=x[y],v=I.id,B=this._updaterSets.get(v),B.entity===I?B.forEach(function(D){Q._removeUpdater(D),Q._insertUpdaterIntoBatch(o,D)}):(C.push(I),f.push(I));for(y=C.length-1;y>-1;y--)I=C[y],v=I.id,B=this._updaterSets.get(v),B.forEach(this._removeUpdater.bind(this)),B.destroy(),this._updaterSets.remove(v),this._subscriptions.get(v)(),this._subscriptions.remove(v);for(y=f.length-1;y>-1;y--)I=f[y],v=I.id,B=new aJ(I,this._scene),this._updaterSets.set(v,B),B.forEach(function(D){Q._insertUpdaterIntoBatch(o,D)}),this._subscriptions.set(v,B.geometryChanged.addEventListener(iv._onGeometryChanged,this));A.removeAll(),m.removeAll(),E.removeAll();let T=!0,w=this._batches,S=w.length;for(y=0;y-1;x--)I=f[x],y=I.id,m.remove(y)||(C.set(y,I),E.remove(y));for(x=A.length-1;x>-1;x--)I=A[x],y=I.id,C.remove(y)?E.set(y,I):m.set(y,I)};var zBe=iv,$ci=1,ehi="30px sans-serif",thi=Pu.FILL,ihi=Ve.WHITE,rhi=Ve.BLACK,nhi=1,ohi=!1,ahi=new Ve(.165,.165,.165,.8),shi=new rt(7,5),lhi=rt.ZERO,uhi=Z.ZERO,Ahi=An.NONE,chi=Ru.CENTER,hhi=hn.CENTER,dhi=new Z,fhi=new Ve,ghi=new Ve,phi=new Ve,mhi=new rt,Chi=new Z,Ehi=new rt,xhi=new Eo,yhi=new Eo,Ihi=new Eo,_hi=new po;function O5e(o){this.entity=o,this.label=void 0,this.index=void 0}function OP(o,A){A.collectionChanged.addEventListener(OP.prototype._onCollectionChanged,this),this._cluster=o,this._entityCollection=A,this._items=new Ro,this._onCollectionChanged(A,A.values,[],[])}OP.prototype.update=function(o){let A=this._items.values,f=this._cluster;for(let m=0,C=A.length;m-1;C--)E=A[C],O(E._label)&&O(E._position)&&x.set(E.id,new O5e(E));for(C=m.length-1;C>-1;C--)E=m[C],O(E._label)&&O(E._position)?x.contains(E.id)||x.set(E.id,new O5e(E)):(Cge(x.get(E.id),E,y),x.remove(E.id));for(C=f.length-1;C>-1;C--)E=f[C],Cge(x.get(E.id),E,y),x.remove(E.id)};function Cge(o,A,f){O(o)&&(o.label=void 0,f.removeLabel(A))}var YBe=OP;async function vhi(o,A,f){return O(o._readyPromise)?await o._readyPromise:O(o.readyPromise)&&await o.readyPromise,bhi(o,A,f)}function Bhi(o,A){let f=o[0],m=f.terrainProvider.requestTileGeometry(f.x,f.y,f.level);if(!m)return!1;let C=m.then(Qhi(f)).catch(Shi(f));return o.shift(),A.push(C),!0}function whi(o){return new Promise(function(A){setTimeout(A,o)})}function Ege(o,A){return o.length?Bhi(o,A)?Ege(o,A):whi(100).then(()=>Ege(o,A)):Promise.resolve()}function bhi(o,A,f){let m=o.tilingScheme,C,E=[],x={};for(C=0;C0&&await M$e(o,x),A}var Tw=M$e,Dhi=1,Thi=0,Mhi=!0,Phi=!0,Rhi=Ns.ENABLED,Lhi=An.NONE,Fhi=Ve.RED,Nhi=0,khi=Ve.WHITE,Ohi=Pb.HIGHLIGHT,Uhi=.5,Ghi=new rt(1,1),Hhi=new Re,Vhi=new Re,G5e=new Ve,H5e=new Array(4),zhi=new Z;function kb(o,A){A.collectionChanged.addEventListener(kb.prototype._onCollectionChanged,this),this._scene=o,this._primitives=o.primitives,this._entityCollection=A,this._modelHash={},this._entitiesToVisualize=new Ro,this._onCollectionChanged(A,A.values,[],[])}async function Yhi(o,A,f,m){let C=o._primitives,E=o._modelHash;try{let x=await mp.fromGltfAsync({url:f,incrementallyLoadTextures:m,scene:o._scene});if(o.isDestroyed()||!O(E[A.id]))return;x.id=A,C.add(x),E[A.id].modelPrimitive=x,x.errorEvent.addEventListener(y=>{O(E[A.id])&&(console.log(y),y.name!=="TextureError"&&x.incrementallyLoadTextures&&(E[A.id].loadFailed=!0))})}catch(x){if(o.isDestroyed()||!O(E[A.id]))return;console.log(x),E[A.id].loadFailed=!0}}kb.prototype.update=function(o){let A=this._entitiesToVisualize.values,f=this._modelHash,m=this._primitives;for(let C=0,E=A.length;C-1;m--)xge(this,o[m],A,f);return Ar(this)};kb._sampleTerrainMostDetailed=Tw;var TU=new Z,V5e=new Rt;kb.prototype.getBoundingSphere=function(o,A){let f=this._modelHash[o.id];if(!O(f)||f.loadFailed)return eo.FAILED;let m=f.modelPrimitive;if(!O(m)||!m.show||!m.ready||!f.modelUpdated)return eo.PENDING;let C=this._scene.globe,E=O(C)?C.terrainProvider:void 0,x=m.heightReference!==An.NONE;if(O(C)&&x){let y=C.ellipsoid;if(O(E)&&(O(E._ready)?!E._ready:O(E.ready)&&!E.ready))return eo.PENDING;let I=m.modelMatrix;TU.x=I[12],TU.y=I[13],TU.z=I[14];let v=y.cartesianToCartographic(TU);if(!O(E.availability)){m.heightReference===An.CLAMP_TO_GROUND&&(v.height=0);let Q=y.cartographicToCartesian(v);return hi.clone(m.boundingSphere,A),A.center=Q,eo.DONE}let B=this._modelHash[o.id].clampedBoundingSphere;return this._modelHash[o.id].sampleTerrainFailed?(this._modelHash[o.id].sampleTerrainFailed=!1,eo.FAILED):O(B)?(hi.clone(B,A),this._modelHash[o.id].clampedBoundingSphere=void 0,eo.DONE):(B=new hi,this._modelHash[o.id].awaitingSampleTerrain||(Rt.clone(v,V5e),this._modelHash[o.id].awaitingSampleTerrain=!0,kb._sampleTerrainMostDetailed(E,[V5e]).then(Q=>{if(this.isDestroyed())return;this._modelHash[o.id].awaitingSampleTerrain=!1;let T=Q[0];m.heightReference===An.RELATIVE_TO_GROUND&&(T.height+=v.height),y.cartographicToCartesian(T,TU),hi.clone(m.boundingSphere,B),B.center=TU,this._modelHash[o.id].clampedBoundingSphere=hi.clone(B)}).catch(Q=>{this.isDestroyed()||(this._modelHash[o.id].sampleTerrainFailed=!0,this._modelHash[o.id].awaitingSampleTerrain=!1)})),eo.PENDING)}return hi.clone(m.boundingSphere,A),eo.DONE};kb.prototype._onCollectionChanged=function(o,A,f,m){let C,E,x=this._entitiesToVisualize,y=this._modelHash,I=this._primitives;for(C=A.length-1;C>-1;C--)E=A[C],O(E._model)&&O(E._position)&&x.set(E.id,E);for(C=m.length-1;C>-1;C--)E=m[C],O(E._model)&&O(E._position)?(Jhi(E,y),x.set(E.id,E)):(xge(this,E,y,I),x.remove(E.id));for(C=f.length-1;C>-1;C--)E=f[C],xge(this,E,y,I),x.remove(E.id)};function xge(o,A,f,m){let C=f[A.id];O(C)&&(m.removeAndDestroy(C.modelPrimitive),delete f[A.id])}function Jhi(o,A){let f=A[o.id];O(f)&&(f.nodeTransformationsScratch={},f.articulationsScratch={})}var JBe=kb,Khi=60,Whi=1,P$e=new ws,Mhe=new ws,Phe=new ws;function z5e(o){this.entity=o,this.polyline=void 0,this.index=void 0,this.updater=void 0}function jhi(o,A,f,m,C,E,x,y,I){let v=y,B;B=o.getValueInReferenceFrame(A,E,I[v]),O(B)&&(I[v++]=B);let Q=!O(C)||Zt.lessThanOrEquals(C,A)||Zt.greaterThanOrEquals(C,f),T=0,w=m.length,S=m[T],D=f,R=!1,P,M,L;for(;T0&&!R){let F=m[T+1],k=Zt.secondsDifference(F,S);R=k>x,R&&(P=Math.ceil(k/x),M=0,L=k/Math.max(P,2),P=Math.max(P-1,1))}if(R&&M0){let T=Q.pop();I=this._polylineCollection.get(T),A.index=T}else A.index=this._polylineCollection.length,I=this._polylineCollection.add();I.id=f,A.polyline=I}let B=Bt.getValueOrDefault(m._resolution,o,Khi);I.show=!0,I.positions=L$e(C,E,x,o,this._referenceFrame,B,I.positions.slice()),I.material=ap.getValue(o,m._material,I.material),I.width=Bt.getValueOrDefault(m._width,o,Whi),I.distanceDisplayCondition=Bt.getValueOrUndefined(m._distanceDisplayCondition,o,I.distanceDisplayCondition)};lJ.prototype.removeObject=function(o){let A=o.polyline;O(A)&&(this._unusedIndexes.push(o.index),o.polyline=void 0,A.show=!1,A.id=void 0,o.index=void 0)};lJ.prototype.destroy=function(){return this._scene.primitives.remove(this._polylineCollection),Ar(this)};function UP(o,A){A.collectionChanged.addEventListener(UP.prototype._onCollectionChanged,this),this._scene=o,this._updaters={},this._entityCollection=A,this._items=new Ro,this._onCollectionChanged(A,A.values,[],[])}UP.prototype.update=function(o){let A=this._updaters;for(let m in A)A.hasOwnProperty(m)&&A[m].update(o);let f=this._items.values;if(f.length===0&&O(this._updaters)&&Object.keys(this._updaters).length>0){for(let m in A)A.hasOwnProperty(m)&&A[m].destroy();this._updaters={}}for(let m=0,C=f.length;m-1;C--)E=A[C],O(E._path)&&O(E._position)&&y.set(E.id,new z5e(E));for(C=m.length-1;C>-1;C--)E=m[C],O(E._path)&&O(E._position)?y.contains(E.id)||y.set(E.id,new z5e(E)):(x=y.get(E.id),O(x)&&(O(x.updater)&&x.updater.removeObject(x),y.remove(E.id)));for(C=f.length-1;C>-1;C--)E=f[C],x=y.get(E.id),O(x)&&(O(x.updater)&&x.updater.removeObject(x),y.remove(E.id))};UP._subSample=L$e;var KBe=UP,J5e=Ve.WHITE,K5e=Ve.BLACK,W5e=0,j5e=1,q5e=0,X5e=new Ve,edi=new Z,Z5e=new Ve,$5e=new Eo,e4e=new Eo,t4e=new po;function i4e(o){this.entity=o,this.pointPrimitive=void 0,this.billboard=void 0,this.color=void 0,this.outlineColor=void 0,this.pixelSize=void 0,this.outlineWidth=void 0}function GP(o,A){A.collectionChanged.addEventListener(GP.prototype._onCollectionChanged,this),this._cluster=o,this._entityCollection=A,this._items=new Ro,this._onCollectionChanged(A,A.values,[],[])}GP.prototype.update=function(o){let A=this._items.values,f=this._cluster;for(let m=0,C=A.length;m0?(v.scale=1,w=w||P!==E.outlineWidth||M!==E.pixelSize||!Ve.equals(D,E.color)||!Ve.equals(R,E.outlineColor)):(v.scale=M/50,M=50,w=w||P!==E.outlineWidth||!Ve.equals(D,E.color)||!Ve.equals(R,E.outlineColor)),w){E.color=Ve.clone(D,E.color),E.outlineColor=Ve.clone(R,E.outlineColor),E.pixelSize=M,E.outlineWidth=P;let L=D.alpha,F=D.toCssColorString(),k=R.toCssColorString(),N=JSON.stringify([F,M,k,P]);v.setImage(N,Ere(L,F,k,P,M))}S&&v._updateClamping()}}return!0};GP.prototype.getBoundingSphere=function(o,A){let f=this._items.get(o.id);if(!O(f)||!(O(f.pointPrimitive)||O(f.billboard)))return eo.FAILED;if(O(f.pointPrimitive))A.center=Z.clone(f.pointPrimitive.position,A.center);else{let m=f.billboard;if(!O(m._clampedPosition))return eo.PENDING;A.center=Z.clone(m._clampedPosition,A.center)}return A.radius=0,eo.DONE};GP.prototype.isDestroyed=function(){return!1};GP.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(GP.prototype._onCollectionChanged,this);let o=this._entityCollection.values;for(let A=0;A-1;C--)E=A[C],O(E._point)&&O(E._position)&&x.set(E.id,new i4e(E));for(C=m.length-1;C>-1;C--)E=m[C],O(E._point)&&O(E._position)?x.contains(E.id)||x.set(E.id,new i4e(E)):(H7(x.get(E.id),E,y),x.remove(E.id));for(C=f.length-1;C>-1;C--)E=f[C],H7(x.get(E.id),E,y),x.remove(E.id)};function H7(o,A,f){if(O(o)){let m=o.pointPrimitive;if(O(m)){o.pointPrimitive=void 0,f.removePoint(A);return}let C=o.billboard;O(C)&&(o.billboard=void 0,f.removeBillboard(A))}}var WBe=GP,tdi=new zu(0),xee={},r4e=new Ve,idi=new ba(Ve.WHITE),rdi=new zu(!0),ndi=new zu(Ns.DISABLED),odi=new zu(new po),adi=new zu(uu.BOTH);function sdi(){this.vertexFormat=void 0,this.positions=void 0,this.width=void 0,this.arcType=void 0,this.granularity=void 0}function ldi(){this.positions=void 0,this.width=void 0,this.arcType=void 0,this.granularity=void 0}function Mw(o,A){this._entity=o,this._scene=A,this._entitySubscription=o.definitionChanged.addEventListener(Mw.prototype._onEntityPropertyChanged,this),this._fillEnabled=!1,this._dynamic=!1,this._geometryChanged=new ur,this._showProperty=void 0,this._materialProperty=void 0,this._shadowsProperty=void 0,this._distanceDisplayConditionProperty=void 0,this._classificationTypeProperty=void 0,this._depthFailMaterialProperty=void 0,this._geometryOptions=new sdi,this._groundGeometryOptions=new ldi,this._id=`polyline-${o.id}`,this._clampToGround=!1,this._supportsPolylinesOnTerrain=nc.supportsPolylinesOnTerrain(A),this._zIndex=0,this._onEntityPropertyChanged(o,"polyline",o.polyline,void 0)}Object.defineProperties(Mw.prototype,{id:{get:function(){return this._id}},entity:{get:function(){return this._entity}},fillEnabled:{get:function(){return this._fillEnabled}},hasConstantFill:{get:function(){return!this._fillEnabled||!O(this._entity.availability)&&Bt.isConstant(this._showProperty)}},fillMaterialProperty:{get:function(){return this._materialProperty}},depthFailMaterialProperty:{get:function(){return this._depthFailMaterialProperty}},outlineEnabled:{value:!1},hasConstantOutline:{value:!0},outlineColorProperty:{value:void 0},shadowsProperty:{get:function(){return this._shadowsProperty}},distanceDisplayConditionProperty:{get:function(){return this._distanceDisplayConditionProperty}},classificationTypeProperty:{get:function(){return this._classificationTypeProperty}},isDynamic:{get:function(){return this._dynamic}},isClosed:{value:!1},geometryChanged:{get:function(){return this._geometryChanged}},arcType:{get:function(){return this._arcType}},clampToGround:{get:function(){return this._clampToGround&&this._supportsPolylinesOnTerrain}},zIndex:{get:function(){return this._zIndex}}});Mw.prototype.isOutlineVisible=function(o){return!1};Mw.prototype.isFilled=function(o){let A=this._entity,f=this._fillEnabled&&A.isAvailable(o)&&this._showProperty.getValue(o);return oe(f,!1)};Mw.prototype.createFillGeometryInstance=function(o){let A=this._entity,f=A.isAvailable(o),m=new Yl(f&&A.isShowing&&this._showProperty.getValue(o)),C=this._distanceDisplayConditionProperty.getValue(o),E=aA.fromDistanceDisplayCondition(C),x={show:m,distanceDisplayCondition:E},y;return this._materialProperty instanceof ba&&(O(this._materialProperty.color)&&(this._materialProperty.color.isConstant||f)&&(y=this._materialProperty.color.getValue(o,r4e)),O(y)||(y=Ve.WHITE),x.color=_o.fromColor(y)),this.clampToGround?new kn({id:A,geometry:new uG(this._groundGeometryOptions),attributes:x}):(O(this._depthFailMaterialProperty)&&this._depthFailMaterialProperty instanceof ba&&(O(this._depthFailMaterialProperty.color)&&(this._depthFailMaterialProperty.color.isConstant||f)&&(y=this._depthFailMaterialProperty.color.getValue(o,r4e)),O(y)||(y=Ve.WHITE),x.depthFailColor=_o.fromColor(y)),new kn({id:A,geometry:new iI(this._geometryOptions),attributes:x}))};Mw.prototype.createOutlineGeometryInstance=function(o){};Mw.prototype.isDestroyed=function(){return!1};Mw.prototype.destroy=function(){this._entitySubscription(),Ar(this)};Mw.prototype._onEntityPropertyChanged=function(o,A,f,m){if(!(A==="availability"||A==="polyline"))return;let C=this._entity.polyline;if(!O(C)){this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this));return}let E=C.positions,x=C.show;if(O(x)&&x.isConstant&&!x.getValue(un.MINIMUM_VALUE)||!O(E)){this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this));return}let y=C.zIndex,I=oe(C.material,idi),v=I instanceof ba;this._materialProperty=I,this._depthFailMaterialProperty=C.depthFailMaterial,this._showProperty=oe(x,rdi),this._shadowsProperty=oe(C.shadows,ndi),this._distanceDisplayConditionProperty=oe(C.distanceDisplayCondition,odi),this._classificationTypeProperty=oe(C.classificationType,adi),this._fillEnabled=!0,this._zIndex=oe(y,tdi);let B=C.width,Q=C.arcType,T=C.clampToGround,w=C.granularity;if(!E.isConstant||!Bt.isConstant(B)||!Bt.isConstant(Q)||!Bt.isConstant(w)||!Bt.isConstant(T)||!Bt.isConstant(y))this._dynamic||(this._dynamic=!0,this._geometryChanged.raiseEvent(this));else{let S=this._geometryOptions,D=E.getValue(un.MINIMUM_VALUE,S.positions);if(!O(D)||D.length<2){this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this));return}let R;v&&(!O(this._depthFailMaterialProperty)||this._depthFailMaterialProperty instanceof ba)?R=l0.VERTEX_FORMAT:R=ip.VERTEX_FORMAT,S.vertexFormat=R,S.positions=D,S.width=O(B)?B.getValue(un.MINIMUM_VALUE):void 0,S.arcType=O(Q)?Q.getValue(un.MINIMUM_VALUE):void 0,S.granularity=O(w)?w.getValue(un.MINIMUM_VALUE):void 0;let P=this._groundGeometryOptions;P.positions=D,P.width=S.width,P.arcType=S.arcType,P.granularity=S.granularity,this._clampToGround=O(T)?T.getValue(un.MINIMUM_VALUE):!1,!this._clampToGround&&O(y)&&$o("Entity polylines must have clampToGround: true when using zIndex. zIndex will be ignored."),this._dynamic=!1,this._geometryChanged.raiseEvent(this)}};Mw.prototype.createDynamicUpdater=function(o,A){return new uJ(o,A,this)};var MU={positions:void 0,granularity:void 0,height:void 0,ellipsoid:void 0};function uJ(o,A,f){this._line=void 0,this._primitives=o,this._groundPrimitives=A,this._groundPolylinePrimitive=void 0,this._material=void 0,this._geometryUpdater=f,this._positions=[]}function F$e(o){if(O(o._line))return o._line;let A=o._geometryUpdater._scene.id,f=xee[A],m=o._primitives;!O(f)||f.isDestroyed()?(f=new lR,xee[A]=f,m.add(f)):m.contains(f)||m.add(f);let C=f.add();return C.id=o._geometryUpdater._entity,o._line=C,C}uJ.prototype.update=function(o){let A=this._geometryUpdater,f=A._entity,m=f.polyline,C=m.positions,E=Bt.getValueOrUndefined(C,o,this._positions);A._clampToGround=Bt.getValueOrDefault(m._clampToGround,o,!1),A._groundGeometryOptions.positions=E,A._groundGeometryOptions.width=Bt.getValueOrDefault(m._width,o,1),A._groundGeometryOptions.arcType=Bt.getValueOrDefault(m._arcType,o,Ia.GEODESIC),A._groundGeometryOptions.granularity=Bt.getValueOrDefault(m._granularity,o,9999);let x=this._groundPrimitives;if(O(this._groundPolylinePrimitive)&&(x.remove(this._groundPolylinePrimitive),this._groundPolylinePrimitive=void 0),A.clampToGround){if(!f.isShowing||!f.isAvailable(o)||!Bt.getValueOrDefault(m._show,o,!0)||!O(E)||E.length<2)return;let B=A.fillMaterialProperty,Q;if(B instanceof ba)Q=new l0;else{let T=ap.getValue(o,B,this._material);Q=new ip({material:T,translucent:T.isTranslucent()}),this._material=T}this._groundPolylinePrimitive=x.add(new aR({geometryInstances:A.createFillGeometryInstance(o),appearance:Q,classificationType:A.classificationTypeProperty.getValue(o),asynchronous:!1}),Bt.getValueOrUndefined(A.zIndex,o)),O(this._line)&&(this._line.show=!1);return}let y=F$e(this);if(!f.isShowing||!f.isAvailable(o)||!Bt.getValueOrDefault(m._show,o,!0)){y.show=!1;return}if(!O(E)||E.length<2){y.show=!1;return}let I=Ia.GEODESIC;I=Bt.getValueOrDefault(m._arcType,o,I);let v=A._scene.globe;I!==Ia.NONE&&O(v)&&(MU.ellipsoid=v.ellipsoid,MU.positions=E,MU.granularity=Bt.getValueOrUndefined(m._granularity,o),MU.height=cc.extractHeights(E,v.ellipsoid),I===Ia.GEODESIC?E=cc.generateCartesianArc(MU):E=cc.generateCartesianRhumbArc(MU)),y.show=!0,y.positions=E.slice(),y.material=ap.getValue(o,A.fillMaterialProperty,y.material),y.width=Bt.getValueOrDefault(m._width,o,1),y.distanceDisplayCondition=Bt.getValueOrUndefined(m._distanceDisplayCondition,o,y.distanceDisplayCondition)};uJ.prototype.getBoundingSphere=function(o){if(this._geometryUpdater.clampToGround){let A=this._groundPolylinePrimitive;if(O(A)&&A.show&&A.ready){let f=A.getGeometryInstanceAttributes(this._geometryUpdater._entity);if(O(f)&&O(f.boundingSphere))return hi.clone(f.boundingSphere,o),eo.DONE}return O(A)&&!A.ready?eo.PENDING:eo.DONE}else{let A=F$e(this);if(A.show&&A.positions.length>0)return hi.fromPoints(A.positions,o),eo.DONE}return eo.FAILED};uJ.prototype.isDestroyed=function(){return!1};uJ.prototype.destroy=function(){let o=this._geometryUpdater._scene.id,A=xee[o];O(A)&&(A.remove(this._line),A.length===0&&(this._primitives.removeAndDestroy(A),delete xee[o])),O(this._groundPolylinePrimitive)&&this._groundPrimitives.remove(this._groundPolylinePrimitive),Ar(this)};var jBe=Mw,udi=new Ve,Adi=new po,cdi=new po;function Pw(o,A,f,m,C){let E;f instanceof ba?E=l0:E=ip,this.orderedGroundPrimitives=o,this.classificationType=A,this.appearanceType=E,this.materialProperty=f,this.updaters=new Ro,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new Ro,this.material=void 0,this.updatersWithAttributes=new Ro,this.attributes=new Ro,this.invalidated=!1,this.removeMaterialSubscription=f.definitionChanged.addEventListener(Pw.prototype.onMaterialChanged,this),this.subscriptions=new Ro,this.showsUpdated=new Ro,this.zIndex=m,this._asynchronous=C}Pw.prototype.onMaterialChanged=function(){this.invalidated=!0};Pw.prototype.isMaterial=function(o){let A=this.materialProperty,f=o.fillMaterialProperty;return f===A||f instanceof ba&&A instanceof ba?!0:O(A)&&A.equals(f)};Pw.prototype.add=function(o,A,f){let m=A.id;if(this.updaters.set(m,A),this.geometry.set(m,f),!A.hasConstantFill||!A.fillMaterialProperty.isConstant||!Bt.isConstant(A.distanceDisplayConditionProperty))this.updatersWithAttributes.set(m,A);else{let C=this;this.subscriptions.set(m,A.entity.definitionChanged.addEventListener(function(E,x,y,I){x==="isShowing"&&C.showsUpdated.set(A.id,A)}))}this.createPrimitive=!0};Pw.prototype.remove=function(o){let A=o.id;if(this.createPrimitive=this.geometry.remove(A)||this.createPrimitive,this.updaters.remove(A)){this.updatersWithAttributes.remove(A);let f=this.subscriptions.get(A);return O(f)&&(f(),this.subscriptions.remove(A)),!0}return!1};Pw.prototype.update=function(o){let A=!0,f=this.primitive,m=this.orderedGroundPrimitives,C=this.geometry.values,E;if(this.createPrimitive){if(C.length>0)O(f)&&(O(this.oldPrimitive)?m.remove(f):this.oldPrimitive=f),f=new aR({show:!1,asynchronous:this._asynchronous,geometryInstances:C.slice(),appearance:new this.appearanceType,classificationType:this.classificationType}),this.appearanceType===ip&&(this.material=ap.getValue(o,this.materialProperty,this.material),f.appearance.material=this.material),m.add(f,this.zIndex),A=!1;else{O(f)&&(m.remove(f),f=void 0);let x=this.oldPrimitive;O(x)&&(m.remove(x),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=f,this.createPrimitive=!1}else if(O(f)&&f.ready){f.show=!0,O(this.oldPrimitive)&&(m.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.appearanceType===ip&&(this.material=ap.getValue(o,this.materialProperty,this.material),this.primitive.appearance.material=this.material);let x=this.updatersWithAttributes.values,y=x.length;for(E=0;E=0;m--){let C=A[m];if(C.remove(o)){C.updaters.length===0&&(A.splice(m,1),C.destroy());break}}};r8.prototype.update=function(o){let A,f=this._items,m=f.length;for(A=m-1;A>=0;A--){let E=f[A];if(E.invalidated){f.splice(A,1);let x=E.updaters.values,y=x.length;for(let I=0;I-1;y--)I=x[y],v=I.id,B=this._updaters.get(v),B.entity===I?(n4e(this,B),o4e(this,o,B)):(C.push(I),f.push(I));for(y=C.length-1;y>-1;y--)I=C[y],v=I.id,B=this._updaters.get(v),n4e(this,B),B.destroy(),this._updaters.remove(v),this._subscriptions.get(v)(),this._subscriptions.remove(v);for(y=f.length-1;y>-1;y--)I=f[y],v=I.id,B=new jBe(I,this._scene),this._updaters.set(v,B),o4e(this,o,B),this._subscriptions.set(v,B.geometryChanged.addEventListener(Ob._onGeometryChanged,this));A.removeAll(),m.removeAll(),E.removeAll();let Q=!0,T=this._batches,w=T.length;for(y=0;y-1;x--)I=f[x],y=I.id,m.remove(y)||(C.set(y,I),E.remove(y));for(x=A.length-1;x>-1;x--)I=A[x],y=I.id,C.remove(y)?E.set(y,I):m.set(y,I)};var XBe=Ob;function mv(o){Xb.initializeTerrainHeights(),aR.initializeTerrainHeights();let A=o.scene,f=o.dataSourceCollection;this._eventHelper=new Gx,this._eventHelper.add(f.dataSourceAdded,this._onDataSourceAdded,this),this._eventHelper.add(f.dataSourceRemoved,this._onDataSourceRemoved,this),this._eventHelper.add(f.dataSourceMoved,this._onDataSourceMoved,this),this._eventHelper.add(A.postRender,this._postRender,this),this._dataSourceCollection=f,this._scene=A,this._visualizersCallback=oe(o.visualizersCallback,mv.defaultVisualizersCallback);let m=!1,C=new X_,E=new X_;f.length>0&&(A.primitives.add(C),A.groundPrimitives.add(E),m=!0),this._primitives=C,this._groundPrimitives=E;for(let v=0,B=f.length;vCdi*x.maximumRadius?(Q=u4e,Z.normalize(I,Q),Z.negate(Q,Q),w=Z.clone(Z.UNIT_Z,Rhe),T=Z.cross(w,Q,cX),Z.magnitude(T)>Be.EPSILON7&&(Z.normalize(Q,Q),Z.normalize(T,T),w=Z.cross(Q,T,Rhe),Z.normalize(w,w),v=!0)):Z.equalsEpsilon(I,M,Be.EPSILON7)||(w=u4e,Z.normalize(N,w),Z.normalize(G,G),T=Z.cross(w,G,Rhe),B&&(T=Z.multiplyByScalar(T,-1,T)),Z.equalsEpsilon(T,Z.ZERO,Be.EPSILON7)||(Q=Z.cross(T,w,cX),Gt.multiplyByVector(k,Q,Q),Gt.multiplyByVector(k,T,T),Gt.multiplyByVector(k,w,w),Z.normalize(Q,Q),Z.normalize(T,T),Z.normalize(w,w),v=!0))}}O(o.boundingSphere)&&(I=o.boundingSphere.center);let S,D,R;m&&(S=Z.clone(A.position,Lhe),D=Z.clone(A.direction,A4e),R=Z.clone(A.up,c4e));let P=mdi;v?(P[0]=Q.x,P[1]=Q.y,P[2]=Q.z,P[3]=0,P[4]=T.x,P[5]=T.y,P[6]=T.z,P[7]=0,P[8]=w.x,P[9]=w.y,P[10]=w.z,P[11]=0,P[12]=I.x,P[13]=I.y,P[14]=I.z,P[15]=0):kr.eastNorthUpToFixedFrame(I,x,P),A._setTransform(P),m&&(Z.clone(S,A.position),Z.clone(D,A.direction),Z.clone(R,A.up),Z.cross(D,R,A.right))}if(f){let v=y===ni.SCENE2D||Z.equals(o._offset3D,Z.ZERO)?void 0:o._offset3D;A.lookAtTransform(A.transform,v)}}function ez(o,A,f){this.entity=o,this.scene=A,this.ellipsoid=oe(f,Ci.WGS84),this.boundingSphere=void 0,this._lastEntity=void 0,this._mode=void 0,this._lastCartesian=new Z,this._defaultOffset3D=void 0,this._offset3D=new Z}Object.defineProperties(ez,{defaultOffset3D:{get:function(){return this._defaultOffset3D},set:function(o){this._defaultOffset3D=Z.clone(o,new Z)}}});ez.defaultOffset3D=new Z(-14e3,3500,3500);var hX=new Rx,xdi=new Z;ez.prototype.update=function(o,A){let f=this.scene,m=this.ellipsoid,C=f.mode;if(C===ni.MORPHING)return;let E=this.entity,x=E.position;if(!O(x))return;let y=E!==this._lastEntity,I=C!==this._mode,v=f.camera,B=y||I,Q=!0;if(y){let T=E.viewFrom,w=O(T);if(!w&&O(A)){hX.pitch=-Be.PI_OVER_FOUR,hX.range=0;let S=x.getValue(o,xdi);if(O(S)){let D=2-1/Math.max(1,Z.magnitude(S)/m.maximumRadius);hX.pitch*=D}v.viewBoundingSphere(A,hX),this.boundingSphere=A,B=!1,Q=!1}else(!w||!O(T.getValue(o,this._offset3D)))&&Z.clone(ez._defaultOffset3D,this._offset3D)}else!I&&this._mode!==ni.SCENE2D&&Z.clone(v.position,this._offset3D);this._lastEntity=E,this._mode=C,Edi(this,v,B,Q,x,o,m)};var ZBe=ez,yge=32,ydi="http://www.opengis.net/kml/2.2",WB="http://www.google.com/kml/ext/2.2",Idi="http://www.w3.org/2000/xmlns/";function Zre(o){this._files={},this._promises=[],this._count=0,this._modelCallback=o}var _di=/^data:image\/([^,;]+)/;Zre.prototype.texture=function(o){let A=this,f;if(typeof o=="string"||o instanceof Cr){if(o=Cr.createIfNeeded(o),!o.isDataUri)return o.url;let m=o.url.match(_di);f=`texture_${++this._count}`,O(m)&&(f+=`.${m[1]}`);let C=o.fetchBlob().then(function(E){A._files[f]=E});return this._promises.push(C),f}if(o instanceof HTMLCanvasElement){f=`texture_${++this._count}.png`;let m=new Promise(C=>{o.toBlob(function(E){A._files[f]=E,C()})});return this._promises.push(m),f}return""};function vdi(o,A){return function(f){o._files[A]=f}}Zre.prototype.model=function(o,A){let f=this._modelCallback;if(!O(f))throw new ki("Encountered a model entity while exporting to KML, but no model callback was supplied.");let m={},C=f(o,A,m);for(let E in m)if(m.hasOwnProperty(E)){let x=Promise.resolve(m[E]);this._promises.push(x),x.then(vdi(this,E))}return C};Object.defineProperties(Zre.prototype,{promise:{get:function(){return Promise.all(this._promises)}},files:{get:function(){return this._files}}});function $re(o){this._time=o}$re.prototype.get=function(o,A,f){let m;return O(o)&&(m=O(o.getValue)?o.getValue(this._time,f):o),oe(m,A)};$re.prototype.getColor=function(o,A){let f=this.get(o,A);if(O(f))return HF(f)};$re.prototype.getMaterialType=function(o){if(O(o))return o.getType(this._time)};function $Be(){this._ids={},this._styles={},this._count=0}$Be.prototype.get=function(o){let A=this._ids,f=o.innerHTML;if(O(A[f]))return A[f];let m=`style-${++this._count}`;return o.setAttribute("id",m),m=`#${m}`,A[f]=m,this._styles[f]=o,m};$Be.prototype.save=function(o){let A=this._styles,f=o.childNodes[0];for(let m in A)A.hasOwnProperty(m)&&o.insertBefore(A[m],f)};function N$e(){this._ids={}}N$e.prototype.get=function(o){if(!O(o))return this.get(Rl());let A=this._ids;return O(A[o])?`${o.toString()}-${++A[o]}`:(A[o]=0,o)};function ewe(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.entities,f=oe(o.kmz,!1),m=ewe._createState(o),C=A.values.filter(function(v){return!O(v.parent)}),E=m.kmlDoc,x=E.documentElement;x.setAttributeNS(Idi,"xmlns:gx",WB);let y=E.createElement("Document");x.appendChild(y),O$e(m,y,C),m.styleCache.save(y);let I=m.externalFileHandler;return I.promise.then(function(){let v=new XMLSerializer().serializeToString(m.kmlDoc);return f?Bdi(v,I.files):{kml:v,externalFiles:I.files}})}function Bdi(o,A){let f=ja("ThirdParty/Workers/z-worker-pako.js");ZEe({workerScripts:{deflate:[f,"./pako_deflate.min.js"],inflate:[f,"./pako_inflate.min.js"]}});let m=new rJe,C=new OOt(m);return C.add("doc.kml",new lOt(o)).then(function(){let E=Object.keys(A);return k$e(C,E,A,0)}).then(function(){return C.close()}).then(function(E){return{kmz:E}})}function k$e(o,A,f,m){if(A.length===m)return;let C=A[m];return o.add(C,new rxe(f[C])).then(function(){return k$e(o,A,f,m+1)})}ewe._createState=function(o){let A=o.entities,f=new $Be,m=A.computeAvailability(),C=O(o.time)?o.time:m.start,E=oe(o.defaultAvailability,m),x=oe(o.sampleDuration,60);E.start===un.MINIMUM_VALUE?E.stop===un.MAXIMUM_VALUE?E=new ws:Zt.addSeconds(E.stop,-10*x,E.start):E.stop===un.MAXIMUM_VALUE&&Zt.addSeconds(E.start,10*x,E.stop);let y=new Zre(o.modelCallback);return{kmlDoc:document.implementation.createDocument(ydi,"kml"),ellipsoid:oe(o.ellipsoid,Ci.WGS84),idManager:new N$e,styleCache:f,externalFileHandler:y,time:C,valueGetter:new $re(C),sampleDuration:x,defaultAvailability:new lC([E])}};function O$e(o,A,f){let m=o.kmlDoc,C=o.styleCache,E=o.valueGetter,x=o.idManager,y=f.length,I,v,B;for(let Q=0;Q0){let P=m.createElement("Placemark");P.setAttribute("id",x.get(T.id));let M=T.name,L=T.label;if(O(L)){let k=m.createElement("LabelStyle"),N=E.get(L.text);M=O(N)&&N.length>0?N:M;let G=E.getColor(L.fillColor);O(G)&&(k.appendChild(Aa(m,"color",G)),k.appendChild(Aa(m,"colorMode","normal")));let J=E.get(L.scale);O(J)&&k.appendChild(Aa(m,"scale",J)),B.push(k)}P.appendChild(Aa(m,"name",M)),P.appendChild(Aa(m,"visibility",T.show)),P.appendChild(Aa(m,"description",T.description)),O(w)&&P.appendChild(w),A.appendChild(P);let F=B.length;if(F>0){let k=m.createElement("Style");for(let N=0;N1){let k=m.createElement("MultiGeometry");for(let N=0;N0){let P=m.createElement("Folder");P.setAttribute("id",x.get(T.id)),P.appendChild(Aa(m,"name",T.name)),P.appendChild(Aa(m,"visibility",T.show)),P.appendChild(Aa(m,"description",T.description)),A.appendChild(P),O$e(o,P,R)}}}var cx=new Z,AE=new Rt,FB=new Zt;function wdi(o,A,f,m){let C=o.kmlDoc,E=o.ellipsoid,x=o.valueGetter,y=oe(A.billboard,A.point);if(!O(y)&&!O(A.path))return;let I=A.position;if(!I.isConstant){U$e(o,A,y,f,m);return}x.get(I,void 0,cx);let v=Aa(C,"coordinates",GF(cx,E)),B=C.createElement("Point"),Q=C.createElement("altitudeMode");Q.appendChild(hN(o,y.heightReference)),B.appendChild(Q),B.appendChild(v),f.push(B);let T=y instanceof ZD?H$e(o,y):G$e(o,y);m.push(T)}function U$e(o,A,f,m,C){let E=o.kmlDoc,x=o.ellipsoid,y=o.valueGetter,I,v=A.position,B=!0;v instanceof Xy?(I=v.intervals,B=!1):I=oe(A.availability,o.defaultAvailability);let Q=f instanceof eY,T,w,S,D=[];for(T=0;T1){let P=E.createElementNS(WB,"MultiTrack");for(T=0;T0&&(E=f);let x=A.coordinates,y=C.get(x),I=[],v=[gi.northeast,gi.southeast,gi.southwest,gi.northwest];for(let w=0;w<4;++w)v[w](y,AE),I.push(`${Be.toDegrees(AE.longitude)},${Be.toDegrees(AE.latitude)},${E}`);let B=Aa(m,"coordinates",I.join(" ")),Q=m.createElement("outerBoundaryIs"),T=m.createElement("LinearRing");return T.appendChild(B),Q.appendChild(T),[Q]}function h4e(o,A,f,m){let C=o.kmlDoc,E=o.ellipsoid,x=[],y=A.length;for(let B=0;B0&&(E=f);let y=[],I=A.hierarchy,v=C.get(I),B=Array.isArray(v)?v:v.positions,Q=m.createElement("outerBoundaryIs");Q.appendChild(h4e(o,B,E,x)),y.push(Q);let T=v.holes;if(O(T)){let w=T.length;for(let S=0;S0&&I.appendChild(Aa(E,"extrude",!0));let B=y?Qdi(o,A,v):Sdi(o,A,v),Q=B.length;for(let R=0;R=0;--m)A+=f[m]<16?`0${f[m].toString(16)}`:f[m].toString(16);return A}var z$e=ewe,Y$e;typeof DOMParser<"u"&&(Y$e=new DOMParser);var Mdi=new SYe({stripPrefix:!1,email:!1,replaceFn:function(o,A){return A.urlMatchType==="scheme"||A.urlMatchType==="www"}}),yee=32,f4e=2414016,g4e=1,p4e=16093e3,m4e=.1,Pdi=[null,void 0,"http://www.topografix.com/GPX/1/1"],fc={gpx:Pdi};function Rdi(o){return new Promise((A,f)=>{let m=new FileReader;m.addEventListener("load",function(){A(m.result)}),m.addEventListener("error",function(){f(m.error)}),m.readAsText(o)})}function iwe(o,A){let f=tz(o,"id");return f=O(f)?f:Rl(),A.getOrCreateEntity(f)}function rwe(o){let A=C4e(o,"lon"),f=C4e(o,"lat"),m=a7(o,"ele",fc.gpx);return Z.fromDegrees(A,f,m)}function C4e(o,A){if(!O(o))return;let f=o.getAttribute(A);if(f!==null){let m=parseFloat(f);return isNaN(m)?void 0:m}}function tz(o,A){if(!O(o))return;let f=o.getAttribute(A);return f!==null?f:void 0}function mR(o,A,f){if(!O(o))return;let m=o.childNodes,C=m.length;for(let E=0;E${Q.text}: ${Q.value}

`)}if(!O(m)||m==="")return;m=Mdi.link(m),s7.innerHTML=m;let x=s7.querySelectorAll("a");for(f=0;f',v+=`${s7.innerHTML}`,s7.innerHTML="",v}function W$e(o,A,f,m){let C=rwe(A),E=iwe(A,f);E.position=C;let x=O(m.waypointImage)?m.waypointImage:o._pinBuilder.fromMakiIconId("marker",Ve.RED,yee);E.billboard=J$e(x);let y=vx(A,"name",fc.gpx);E.name=y,E.label=Ldi(),E.label.text=y,E.description=owe(A,E),m.clampToGround&&(E.billboard.heightReference=An.CLAMP_TO_GROUND,E.label.heightReference=An.CLAMP_TO_GROUND)}function Fdi(o,A,f,m){let C=iwe(A,f);C.description=owe(A,C);let E=nwe(A,"rtept",fc.gpx),x=new Array(E.length);for(let y=0;y0?(y=y.concat(I.times),B.addSamples(y,x),v=v&&!0):v=!1;if(v){let Q=O(m.waypointImage)?m.waypointImage:o._pinBuilder.fromMakiIconId("marker",Ve.RED,yee);C.billboard=J$e(Q),C.position=B,m.clampToGround&&(C.billboard.heightReference=An.CLAMP_TO_GROUND),C.availability=new lC,C.availability.addInterval(new ws({start:y[0],stop:y[y.length-1]}))}C.polyline=K$e(m.trackColor),C.polyline.positions=x,m.clampToGround&&(C.polyline.clampToGround=!0)}function kdi(o){let A={positions:[],times:[]},f=nwe(o,"trkpt",fc.gpx),m;for(let C=0;CMath.min(E[0],x[0])&&o[0]<=Math.max(E[0],x[0])&&o[1]<=Math.max(E[1],x[1])&&E[0]!==x[0]&&(C=(o[0]-E[0])*(x[1]-E[1])/(x[0]-E[0])+E[1],(E[1]===x[1]||o[1]<=C)&&f++),E=x;return f%2!==0}eb.DEFAULT_STRUCTURE=Object.freeze({heightScale:1,heightOffset:0,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1});var Fhe=new Z,tfi=new Re,ifi=new Z,rfi=new Z;eb.computeVertices=function(o){let A=o.flattenPolygonHeight||[1],f=o.flattenPolygon||[],m=o.VTN,C=Math.cos,E=Math.sin,x=Math.sqrt,y=Math.atan,I=Math.exp,v=Be.PI_OVER_TWO,B=Be.toRadians,Q=o.heightmap,T=o.width,w=o.height,S=o.skirtHeight,D=S>0,R=oe(o.isGeographic,!0),P=oe(o.ellipsoid,Ci.WGS84),M=1/P.maximumRadius,L=gi.clone(o.nativeRectangle),F=gi.clone(o.rectangle),k,N,G,J;O(F)?(k=F.west,N=F.south,G=F.east,J=F.north):R?(k=B(L.west),N=B(L.south),G=B(L.east),J=B(L.north)):(k=L.west*M,N=v-2*y(I(-L.south*M)),G=L.east*M,J=v-2*y(I(-L.north*M)));let K=o.relativeToCenter,X=O(K);K=X?K:Z.ZERO;let q=oe(o.includeWebMercatorT,!1),ee=oe(o.exaggeration,1),ie=oe(o.exaggerationRelativeHeight,0),H=ee!==1,le=oe(o.structure,eb.DEFAULT_STRUCTURE),ue=oe(le.heightScale,eb.DEFAULT_STRUCTURE.heightScale),Ae=oe(le.heightOffset,eb.DEFAULT_STRUCTURE.heightOffset),he=oe(le.elementsPerHeight,eb.DEFAULT_STRUCTURE.elementsPerHeight),ge=oe(le.stride,eb.DEFAULT_STRUCTURE.stride),fe=oe(le.elementMultiplier,eb.DEFAULT_STRUCTURE.elementMultiplier),ae=oe(le.isBigEndian,eb.DEFAULT_STRUCTURE.isBigEndian),U=gi.computeWidth(L),W=gi.computeHeight(L),Y=U/(T-1),z=W/(w-1);R||(U*=M,W*=M);let re=P.radiiSquared,se=re.x,de=re.y,me=re.z,Ce=65536,Ie=-65536,we=kr.eastNorthUpToFixedFrame(K,P),Te=Re.inverseTransformation(we,tfi),Ge,ke;q&&(Ge=ec.geodeticLatitudeToMercatorAngle(N),ke=1/(ec.geodeticLatitudeToMercatorAngle(J)-Ge));let Oe=ifi;Oe.x=Number.POSITIVE_INFINITY,Oe.y=Number.POSITIVE_INFINITY,Oe.z=Number.POSITIVE_INFINITY;let Le=rfi;Le.x=Number.NEGATIVE_INFINITY,Le.y=Number.NEGATIVE_INFINITY,Le.z=Number.NEGATIVE_INFINITY;let be=Number.POSITIVE_INFINITY,Ne=T*w,Ue=S>0?T*2+w*2:0,ze=Ne+Ue,Je=new Array(ze),Xe=new Array(ze),et=new Array(ze),ot=q?new Array(ze):[],Et=H?new Array(ze):[],Ct=new Array(ze),ct=0,yt=w,Qt=0,Ze=T;D&&(--ct,++yt,--Qt,++Ze);let ut=1e-5;for(let bt=ct;bt=w&&(Pt=w-1);let It=L.north-z*Pt;R?It=B(It):It=v-2*y(I(-It*M));let Mi=(It-N)/(J-N);Mi=Be.clamp(Mi,0,1);let er=bt===ct,di=bt===yt-1;S>0&&(er?It+=ut*W:di&&(It-=ut*W));let wi=C(It),Ri=E(It),Ei=me*Ri,Wt;q&&(Wt=(ec.geodeticLatitudeToMercatorAngle(It)-Ge)*ke);for(let jt=Qt;jt=T&&(pi=T-1);let mi=Pt*(T*ge)+pi*ge,Kt;if(he===1)Kt=Q[mi];else{Kt=0;let Go;if(ae)for(Go=0;Go=0;--Go)Kt=Kt*fe+Q[mi+Go]}Kt=Kt*ue+Ae,Ie=Math.max(Ie,Kt),Ce=Math.min(Ce,Kt);let xi=L.west+Y*pi;R?xi=B(xi):xi=xi*M;let _t=(xi-k)/(G-k);_t=Be.clamp(_t,0,1);let Mt=Pt*T+pi;if(Ct[Mt]=0,S>0){let Go=jt===Qt,bl=jt===Ze-1,nu=er||di||Go||bl;if((er||di)&&(Go||bl))continue;nu&&(Kt-=S,Go?(Mt=Ne+(w-Pt-1),xi-=ut*U):di?Mt=Ne+w+(T-pi-1):bl?(Mt=Ne+w+T+Pt,xi+=ut*U):er&&(Mt=Ne+w+T+w+pi),Ct[Mt]=1)}let Ht=wi*C(xi),ti=wi*E(xi),Wi=se*Ht,yi=de*ti,uo=1/x(Wi*Ht+yi*ti+Ei*Ri),wn=Wi*uo,Un=yi*uo,Ta=Ei*uo;for(let Go=0;Go0){let bt=0;for(let Pt=0;Pt=w-1&&(Mi=0);for(let er=0;er=T-1&&(wi=0),bt=Pt*T+er;try{let Ri=Je[(Pt+It)*T+er],Ei=Je[(Pt+Mi)*T+er],Wt=Je[Pt*T+(er+di)],jt=Je[Pt*T+(er+wi)],pi=Z.subtract(Wt,jt,new Z),mi=Z.subtract(Ri,Ei,new Z),Kt=Z.cross(pi,mi,new Z),xi=Z.normalize(Kt,new Z);St[bt]=$l.octEncodeFloat(xi)}catch{St[bt]=0}}}}let gt=hi.fromPoints(Je),xt;O(F)&&(xt=Lu.fromRectangle(F,Ce,Ie,P));let Lt;X&&(Lt=new a3(P).computeHorizonCullingPointPossiblyUnderEllipsoid(K,Je,Ce));let nt=new Zz(Oe,Le,K),Pe=new OD(K,nt,be,Ie,we,m?S>0:!1,q,H,ee,ie),ve=new Float32Array(ze*Pe.stride),We=0;for(let bt=0;bt0?St[bt]:void 0,ot[bt],Et[bt],S>0||void 0,void 0,Ct[bt]);return{vertices:ve,maximumHeight:Ie,minimumHeight:Ce,encoding:Pe,boundingSphere3D:gt,orientedBoundingBox:xt,occludeePointInScaledSpace:Lt}};var ene=eb;function CR(){Ai.throwInstantiationError()}Object.defineProperties(CR.prototype,{credits:{get:Ai.throwInstantiationError},waterMask:{get:Ai.throwInstantiationError}});CR.prototype.interpolateHeight=Ai.throwInstantiationError;CR.prototype.isChildAvailable=Ai.throwInstantiationError;CR.prototype.createMesh=Ai.throwInstantiationError;CR.prototype.upsample=Ai.throwInstantiationError;CR.prototype.wasCreatedByUpsampling=Ai.throwInstantiationError;CR.maximumAsynchronousTasks=5;var P3=CR;function nfi(o,A,f,m,C,E,x,y,I,v,B,Q,T,w,S,D){this.center=o,this.vertices=A,this.stride=oe(v,6),this.indices=f,this.indexCountWithoutSkirts=m,this.vertexCountWithoutSkirts=C,this.minimumHeight=E,this.maximumHeight=x,this.boundingSphere3D=y,this.occludeePointInScaledSpace=I,this.orientedBoundingBox=B,this.encoding=Q,this.westIndicesSouthToNorth=T,this.southIndicesEastToWest=w,this.eastIndicesNorthToSouth=S,this.northIndicesWestToEast=D}var R3=nfi;function EE(){Ai.throwInstantiationError()}Object.defineProperties(EE.prototype,{errorEvent:{get:Ai.throwInstantiationError},credit:{get:Ai.throwInstantiationError},tilingScheme:{get:Ai.throwInstantiationError},ready:{get:Ai.throwInstantiationError},readyPromise:{get:Ai.throwInstantiationError},hasWaterMask:{get:Ai.throwInstantiationError},hasVertexNormals:{get:Ai.throwInstantiationError},availability:{get:Ai.throwInstantiationError}});var I4e=[];EE.getRegularGridIndices=function(o,A){let f=I4e[o];O(f)||(I4e[o]=f=[]);let m=f[A];return O(m)||(o*A0?P=uC.getRegularGridAndSkirtIndicesAndEdgeIndices(R.gridWidth,R.gridHeight):P=uC.getRegularGridIndicesAndEdgeIndices(R.gridWidth,R.gridHeight);let M=R.gridWidth*R.gridHeight;return D._mesh=new R3(Q,new Float32Array(R.vertices),P.indices,P.indexCountWithoutSkirts,M,R.minimumHeight,R.maximumHeight,hi.clone(R.boundingSphere3D),Z.clone(R.occludeePointInScaledSpace),R.numberOfAttributes,Lu.clone(R.orientedBoundingBox),OD.clone(R.encoding),P.westIndicesSouthToNorth,P.southIndicesEastToWest,P.eastIndicesNorthToSouth,P.northIndicesWestToEast),D._buffer=void 0,D._mesh})};UD.prototype._createMeshSync=function(o){let A=o.tilingScheme,f=o.x,m=o.y,C=o.level,E=oe(o.exaggeration,1),x=oe(o.exaggerationRelativeHeight,0),y=A.ellipsoid,I=A.tileXYToNativeRectangle(f,m,C),v=A.tileXYToRectangle(f,m,C),B=y.cartographicToCartesian(gi.center(v)),Q=this._structure,T=uC.getEstimatedLevelZeroGeometricErrorForAHeightmap(y,this._width,A.getNumberOfXTilesAtLevel(0))/(1<0?S=uC.getRegularGridAndSkirtIndicesAndEdgeIndices(this._width,this._height):S=uC.getRegularGridIndicesAndEdgeIndices(this._width,this._height);let D=w.gridWidth*w.gridHeight;return this._mesh=new R3(B,w.vertices,S.indices,S.indexCountWithoutSkirts,D,w.minimumHeight,w.maximumHeight,w.boundingSphere3D,w.occludeePointInScaledSpace,w.encoding.stride,w.orientedBoundingBox,w.encoding,S.westIndicesSouthToNorth,S.southIndicesEastToWest,S.eastIndicesNorthToSouth,S.northIndicesWestToEast),this._mesh};UD.prototype.interpolateHeight=function(o,A,f){let m=this._width,C=this._height,E=this._structure,x=E.stride,y=E.elementsPerHeight,I=E.elementMultiplier,v=E.isBigEndian,B=E.heightOffset,Q=E.heightScale,T=O(this._mesh),w=this._encoding===HP.LERC;if(!T&&w)return;let S;if(T){let D=this._mesh.vertices,R=this._mesh.encoding;S=tet(D,R,B,Q,o,m,C,A,f)}else S=sfi(this._buffer,y,I,x,v,o,m,C,A,f),S=S*Q+B;return S};UD.prototype.upsample=function(o,A,f,m,C,E,x){let y=this._mesh;if(!O(y))return;let I=this._width,v=this._height,B=this._structure,Q=B.stride,T=new this._bufferType(I*v*Q),w=y.vertices,S=y.encoding,D=o.tileXYToRectangle(A,f,m),R=o.tileXYToRectangle(C,E,x),P=B.heightOffset,M=B.heightScale,L=B.elementsPerHeight,F=B.elementMultiplier,k=B.isBigEndian,N=Math.pow(F,L-1);for(let G=0;GB.highestEncodedHeight?B.highestEncodedHeight:q,lfi(T,L,F,N,Q,k,G*I+K,q)}}return Promise.resolve(new UD({buffer:T,width:I,height:v,childTileMask:0,structure:this._structure,createdByUpsampling:!0,flattenPolygonHeight:this._flattenPolygonHeight,flattenPolygon:this._flattenPolygon}))};UD.prototype.isChildAvailable=function(o,A,f,m){let C=2;return f!==o*2&&++C,m!==A*2&&(C-=2),(this._childTileMask&1<=x&&(w=x-1,T=x-2);let S=Q|0,D=S+1;D>=y&&(D=y-1,S=y-2);let R=B-T,P=Q-S;S=y-1-S,D=y-1-D;let M=gX(o,A,f,m,C,S*x+T),L=gX(o,A,f,m,C,S*x+w),F=gX(o,A,f,m,C,D*x+T),k=gX(o,A,f,m,C,D*x+w);return iet(R,P,M,L,F,k)}function tet(o,A,f,m,C,E,x,y,I){let v=(y-C.west)*(E-1)/(C.east-C.west),B=(I-C.south)*(x-1)/(C.north-C.south),Q=v|0,T=Q+1;T>=E&&(T=E-1,Q=E-2);let w=B|0,S=w+1;S>=x&&(S=x-1,w=x-2);let D=v-Q,R=B-w;w=x-1-w,S=x-1-S;let P=(A.decodeHeight(o,w*E+Q)-f)/m,M=(A.decodeHeight(o,w*E+T)-f)/m,L=(A.decodeHeight(o,S*E+Q)-f)/m,F=(A.decodeHeight(o,S*E+T)-f)/m;return iet(D,R,P,M,L,F)}function iet(o,A,f,m,C,E){return A=0;--y)x=x*f+o[E+y];return x}function lfi(o,A,f,m,C,E,x,y){x*=C;let I;if(E)for(I=0;I0;--I)o[x+I]=y/m|0,y-=o[x+I]*m,m/=f;o[x+I]=y}var Rw=UD;function n8(o){o=oe(o,oe.EMPTY_OBJECT),this._tilingScheme=o.tilingScheme,O(this._tilingScheme)||(this._tilingScheme=new th({ellipsoid:oe(o.ellipsoid,Ci.WGS84)})),this._levelZeroMaximumGeometricError=uC.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,64,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._errorEvent=new ur,this._ready=!0,this._readyPromise=Promise.resolve(!0)}Object.defineProperties(n8.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return ii("EllipsoidTerrainProvider.ready","EllipsoidTerrainProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),!0}},readyPromise:{get:function(){return ii("EllipsoidTerrainProvider.readyPromise","EllipsoidTerrainProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._readyPromise}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});n8.prototype.requestTileGeometry=function(o,A,f,m){return Promise.resolve(new Rw({buffer:new Uint8Array(16*16),width:16,height:16}))};n8.prototype.getLevelMaximumGeometricError=function(o){return this._levelZeroMaximumGeometricError/(1<0&&(Ce=N?G.clippingPlanesState:0);let Ie=f.surfaceShader;if(O(Ie)&&Ie.numberOfDayTextures===m&&Ie.flags===me&&Ie.material===this.material&&Ie.clippingShaderState===Ce&&Ie.enableFlatten===Ae)return Ie.shaderProgram;let we=this._shadersByTexturesFlags[m];if(O(we)||(we=this._shadersByTexturesFlags[m]=[]),Ie=we[me],!O(Ie)||Ie.material!==this.material||Ie.clippingShaderState!==Ce||Ie.enableFlatten!==Ae){let Te=this.baseVertexShaderSource.clone(),Ge=this.baseFragmentShaderSource.clone();Ce!==0&&Ge.sources.unshift(hJ(G,A.context)),Te.defines.push(U),Ge.defines.push(`TEXTURE_UNITS ${m}`,z,se),C&&Ge.defines.push("APPLY_BRIGHTNESS"),E&&Ge.defines.push("APPLY_CONTRAST"),x&&Ge.defines.push("APPLY_HUE"),y&&Ge.defines.push("APPLY_SATURATION"),I&&Ge.defines.push("APPLY_GAMMA"),v&&Ge.defines.push("APPLY_ALPHA"),B&&Ge.defines.push("APPLY_DAY_NIGHT_ALPHA"),T&&(Ge.defines.push("SHOW_REFLECTIVE_OCEAN"),Te.defines.push("SHOW_REFLECTIVE_OCEAN")),w&&Ge.defines.push("SHOW_OCEAN_WAVES"),ge&&(Te.defines.push("ENABLE_SLOPE_MAP"),Ge.defines.push("ENABLE_SLOPE_MAP")),fe&&Ge.defines.push("SMOOTH_SLOPE_AT_HIGHER_ALT"),ee&&Ge.defines.push("APPLY_COLOR_TO_ALPHA"),le&&(Te.defines.push("UNDERGROUND_COLOR"),Ge.defines.push("UNDERGROUND_COLOR")),ue&&(Te.defines.push("TRANSLUCENT"),Ge.defines.push("TRANSLUCENT")),S&&(L?(Te.defines.push("ENABLE_VERTEX_LIGHTING"),Ge.defines.push("ENABLE_VERTEX_LIGHTING")):(Te.defines.push("ENABLE_DAYNIGHT_SHADING"),Ge.defines.push("ENABLE_DAYNIGHT_SHADING"))),D&&(Te.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING"),Ge.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING"),R&&(Te.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN"),Ge.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN"))),P&&(Te.defines.push("GROUND_ATMOSPHERE"),Ge.defines.push("GROUND_ATMOSPHERE"),M&&(Te.defines.push("PER_FRAGMENT_GROUND_ATMOSPHERE"),Ge.defines.push("PER_FRAGMENT_GROUND_ATMOSPHERE"))),Te.defines.push("INCLUDE_WEB_MERCATOR_Y"),Ge.defines.push("INCLUDE_WEB_MERCATOR_Y"),k&&(Te.defines.push("FOG"),Ge.defines.push("FOG")),Q&&Ge.defines.push("APPLY_SPLIT"),N&&Ge.defines.push("ENABLE_CLIPPING_PLANES"),X&&Ge.defines.push("COLOR_CORRECT"),q&&Ge.defines.push("HIGHLIGHT_FILL_TILE"),ie&&Te.defines.push("GEODETIC_SURFACE_NORMALS"),H&&Te.defines.push("EXAGGERATION"),he&&Ge.defines.push("SHOW_GRATICULES");let ke=` vec4 computeDayColor(vec4 initialColor, vec3 textureCoordinates, float nightBlend) { vec4 color = initialColor; `;K&&(ke+=` vec4 cutoutAndColorResult; bool texelUnclipped; `);for(let Le=0;Le0?f.raiseEvent(I):O(A)&&console.log(`An error occurred in "${A.constructor.name}": ${F4(m)}`),I};Iee.reportSuccess=function(o){O(o)&&(o.timesRetried=-1)};var yh=Iee,Cfi={UNLOADED:0,TRANSITIONING:1,RECEIVED:2,TEXTURE_LOADED:3,READY:4,FAILED:5,INVALID:6,PLACEHOLDER:7},_u=Object.freeze(Cfi),Efi={FAILED:0,UNLOADED:1,RECEIVING:2,RECEIVED:3,TRANSFORMING:4,TRANSFORMED:5,READY:6},wc=Object.freeze(Efi);function qA(){this.imagery=[],this.waterMaskTexture=void 0,this.waterMaskTranslationAndScale=new zt(0,0,1,1),this.terrainData=void 0,this.vertexArray=void 0,this.tileBoundingRegion=void 0,this.occludeePointInScaledSpace=new Z,this.boundingVolumeSourceTile=void 0,this.boundingVolumeIsFromMesh=!1,this.terrainState=wc.UNLOADED,this.mesh=void 0,this.fill=void 0,this.pickBoundingSphere=new hi,this.surfaceShader=void 0,this.isClipped=!0,this.clippedByBoundaries=!1,this.contourLineTexture=void 0,this.contourLineTranslationAndScale=new zt(0,0,1,1)}Object.defineProperties(qA.prototype,{eligibleForUnloading:{get:function(){let o=this.terrainState,A=!(o===wc.RECEIVING||o===wc.TRANSFORMING),f=this.imagery;for(let m=0,C=f.length;A&&m=0&&(B=M)}return B!==Number.MAX_VALUE?Ua.getPoint(o,B,C):void 0};qA.prototype.findNextSegment=function(o,A,f,m,C){for(let E=0;E0;){let E=[],x=m.shift();E.push(x),this.findNextSegment(x,m,E,0,1),this.findNextSegment(x,m,E,0,1),this.findNextSegment(x,m,E,1,0),this.findNextSegment(x,m,E,1,1),C.push(E)}}};function _fi(o,A,f){let m=new rt(A.x-o.x,A.y-o.y);if(m.x===0&&m.y===0)return 0;rt.normalize(m,m);let C=new rt((A.x+o.x)*.5,(A.y+o.y)*.5),E=new rt(f.x-C.x,f.y-C.y);rt.normalize(E,E);let x=new rt(-m.y,m.x),y=rt.angleBetween(x,E);y>Be.PI_OVER_TWO&&(x=new rt(m.y,-m.x));let I=new rt(0,1);return y=rt.angleBetween(x,I),rt.cross(I,x)<0&&(y=-y),y}qA.prototype.createContourLineTexture=function(o,A,f){let m=document.createElement("canvas");m.width=256,m.height=256;let C=m.getContext("2d");for(let y=0;yo.level)return;let E=this.mesh;if(!O(E)||O(this.contourLineTexture))return;let x=[],y=new Z,I=E.orientedBoundingBox.halfAxes;Gt.getScale(I,y);let v=E.vertices,B=E.indices,Q=E.encoding,T=E.indexCountWithoutSkirts,w=E.minimumHeight,S=E.maximumHeight,D=o.tilingScheme.ellipsoid,R=D.cartesianToCartographic(E.center,new Z);R.height=0;let P=D.cartographicToCartesian(R,new Z),M=kr.eastNorthUpToFixedFrame(P,D),L=Re.inverseTransformation(M,new Re),F=new Array(T);for(let k=0;kue.z?le.z>Ae.z?le:Ae:ue.z>Ae.z?ue:Ae,ge=new Z;if(he.clone(ge),Sc.lineSegmentPlane(le,ue,G,B4e)){let fe=new Z;B4e.clone(fe),H.push({insertPosition:fe,start:X,end:q,maxVv:ge}),ie++}if(Sc.lineSegmentPlane(ue,Ae,G,w4e)){let fe=new Z;w4e.clone(fe),H.push({insertPosition:fe,start:q,end:ee,maxVv:ge}),ie++}if(Sc.lineSegmentPlane(Ae,le,G,b4e)){let fe=new Z;b4e.clone(fe),H.push({insertPosition:fe,start:ee,end:X,maxVv:ge}),ie++}ie===2&&J.positions.push(H)}x.push(J)}this.contourLineTopy(x),this.createContourLineTexture(x,C,o.level)};qA.prototype.freeResources=function(){O(this.waterMaskTexture)&&(--this.waterMaskTexture.referenceCount,this.waterMaskTexture.referenceCount===0&&this.waterMaskTexture.destroy(),this.waterMaskTexture=void 0),O(this.contourLineTexture)&&(--this.contourLineTexture.referenceCount,this.contourLineTexture.referenceCount===0&&this.contourLineTexture.destroy(),this.contourLineTexture=void 0),this.terrainData=void 0,this.terrainState=wc.UNLOADED,this.mesh=void 0,this.fill=this.fill&&this.fill.destroy();let o=this.imagery;for(let A=0,f=o.length;A=wc.RECEIVED&&x.waterMaskTexture===void 0&&f.hasWaterMask)if(x.terrainData.waterMask!==void 0)Mfi(A.context,x);else{let I=x._findAncestorTileWithTerrainData(o);O(I)&&O(I.data.waterMaskTexture)&&(x.waterMaskTexture=I.data.waterMaskTexture,++x.waterMaskTexture.referenceCount,x._computeWaterMaskTranslationAndScale(o,I,x.waterMaskTranslationAndScale))}}function wfi(o,A,f,m,C,E,x){let y=A.parent;if(!y){A.state=Hh.FAILED;return}let I=y.data.terrainData,v=y.x,B=y.y,Q=y.level;if(!O(I))return;let T=I.upsample(m.tilingScheme,v,B,Q,C,E,x);O(T)&&(o.terrainState=wc.RECEIVING,Promise.resolve(T).then(function(w){o.terrainData=w,o.terrainState=wc.RECEIVED}).catch(function(){o.terrainState=wc.FAILED}))}function bfi(o,A,f,m,C){function E(I){o.terrainData=I,o.terrainState=wc.RECEIVED,o.request=void 0}function x(I){if(o.request.state===Ju.CANCELLED){o.terrainData=void 0,o.terrainState=wc.UNLOADED,o.request=void 0;return}o.terrainState=wc.FAILED,o.request=void 0;let v=`Failed to obtain terrain tile X: ${f} Y: ${m} Level: ${C}. Error message: "${I}"`;A._requestError=yh.reportError(A._requestError,A,A.errorEvent,v,f,m,C),A._requestError.retry&&y()}function y(){let I=new lp({throttle:!1,throttleByServer:!0,type:II.TERRAIN});o.request=I;let v=A.requestTileGeometry(f,m,C,I);O(v)?(o.terrainState=wc.RECEIVING,Promise.resolve(v).then(function(B){E(B)}).catch(function(B){x(B)})):(o.terrainState=wc.UNLOADED,o.request=void 0)}y()}var Qfi={tilingScheme:void 0,x:0,y:0,level:0,exaggeration:1,exaggerationRelativeHeight:0,throttle:!0};function Sfi(o,A,f,m,C,E){let x=f.tilingScheme,y=Qfi;y.tilingScheme=x,y.x=m,y.y=C,y.level=E,y.exaggeration=A.terrainExaggeration,y.exaggerationRelativeHeight=A.terrainExaggerationRelativeHeight,y.throttle=!0;let I=o.terrainData.createMesh(y);O(I)&&(o.terrainState=wc.TRANSFORMING,Promise.resolve(I).then(function(v){o.mesh=v,o.terrainState=wc.TRANSFORMED}).catch(function(){o.terrainState=wc.FAILED}))}qA._createVertexArrayForMesh=function(o,A){let f=A.vertices,m=Wn.createVertexBuffer({context:o,typedArray:f,usage:Gr.STATIC_DRAW}),C=A.encoding.getAttributes(m),E=A.indices.indexBuffers||{},x=E[o.id];if(!O(x)||x.isDestroyed()){let y=A.indices;x=Wn.createIndexBuffer({context:o,typedArray:y,usage:Gr.STATIC_DRAW,indexDatatype:Bn.fromSizeInBytes(y.BYTES_PER_ELEMENT)}),x.vertexArrayDestroyable=!1,x.referenceCount=1,E[o.id]=x,A.indices.indexBuffers=E}else++x.referenceCount;return new hu({context:o,attributes:C,indexBuffer:x})};qA._freeVertexArray=function(o){if(O(o)){let A=o.indexBuffer;o.isDestroyed()||o.destroy(),O(A)&&!A.isDestroyed()&&O(A.referenceCount)&&(--A.referenceCount,A.referenceCount===0&&A.destroy())}};function Dfi(o,A,f,m,C,E,x){o.vertexArray=qA._createVertexArrayForMesh(A,o.mesh),o.terrainState=wc.READY,o.fill=o.fill&&o.fill.destroy(x)}function Tfi(o){let A=o.cache.tile_waterMaskData;if(!O(A)){let f=Nn.create({context:o,pixelFormat:rn.LUMINANCE,pixelDatatype:$r.UNSIGNED_BYTE,source:{arrayBufferView:new Uint8Array([255]),width:1,height:1}});f.referenceCount=1;let m=new Oa({wrapS:Vo.CLAMP_TO_EDGE,wrapT:Vo.CLAMP_TO_EDGE,minificationFilter:Ba.LINEAR,magnificationFilter:Wu.LINEAR});A={allWaterTexture:f,sampler:m,destroy:function(){this.allWaterTexture.destroy()}},o.cache.tile_waterMaskData=A}return A}function Mfi(o,A){let f=A.terrainData.waterMask,m=Tfi(o),C,E=f.length;if(E===1)if(f[0]!==0)C=m.allWaterTexture;else return;else{let x=Math.sqrt(E);C=Nn.create({context:o,pixelFormat:rn.LUMINANCE,pixelDatatype:$r.UNSIGNED_BYTE,source:{width:x,height:x,arrayBufferView:f},sampler:m.sampler,flipY:!1}),C.referenceCount=0}++C.referenceCount,A.waterMaskTexture=C,zt.fromElements(0,0,1,1,A.waterMaskTranslationAndScale)}qA.prototype._findAncestorTileWithTerrainData=function(o){let A=o.parent;for(;O(A)&&(!O(A.data)||!O(A.data.terrainData)||A.data.terrainData.wasCreatedByUpsampling());)A=A.parent;return A};qA.prototype._computeWaterMaskTranslationAndScale=function(o,A,f){let m=A.rectangle,C=o.rectangle,E=C.width,x=C.height,y=E/m.width,I=x/m.height;return f.x=y*(C.west-m.west)/E,f.y=I*(C.south-m.south)/x,f.z=y,f.w=I,f};var GD=qA,pX,aet="AAPKac82a6d80f1340a4aa9587f789d07e96a_Jj1a4fbA59cggYHArDizxxA2U4QDofLUm36VivpUsSRyK7O1JjRPwy916Y-7ld",o8={};o8.defaultAccessToken=aet;o8.defaultWorldImageryServer=new Cr({url:"https://ibasemaps-api.arcgis.com/arcgis/rest/services/World_Imagery/MapServer"});o8.defaultWorldHillshadeServer=new Cr({url:"https://ibasemaps-api.arcgis.com/arcgis/rest/services/Elevation/World_Hillshade/MapServer"});o8.defaultWorldOceanServer=new Cr({url:"https://ibasemaps-api.arcgis.com/arcgis/rest/services/Ocean/World_Ocean_Base/MapServer"});o8.getDefaultTokenCredit=function(o){if(o===aet){if(!O(pX)){let A=' This application is using a default ArcGIS access token. Please assign Cesium.ArcGisMapService.defaultAccessToken with an API key from your ArcGIS Developer account before using the ArcGIS tile services. You can sign up for a free ArcGIS Developer account at https://developers.arcgis.com/.';pX=new Qa(A,!0),pX._isDefaultToken=!0}return pX}};var UB=o8;function uwe(o){o=oe(o,oe.EMPTY_OBJECT),this._pixelsToCheck=o.pixelsToCheck,this._missingImagePixels=void 0,this._missingImageByteLength=void 0,this._isReady=!1;let A=Cr.createIfNeeded(o.missingImageUrl),f=this;function m(E){O(E.blob)&&(f._missingImageByteLength=E.blob.size);let x=mN(E);if(o.disableCheckIfAllPixelsAreTransparent){let y=!0,I=E.width,v=o.pixelsToCheck;for(let B=0,Q=v.length;y&&B0&&(y=!1)}y&&(x=void 0)}f._missingImagePixels=x,f._isReady=!0}function C(){f._missingImagePixels=void 0,f._isReady=!0}A.fetchImage({preferBlob:!0,preferImageBitmap:!0,flipY:!0}).then(m).catch(C)}uwe.prototype.isReady=function(){return this._isReady};uwe.prototype.shouldDiscardImage=function(o){let A=this._pixelsToCheck,f=this._missingImagePixels;if(!O(f)||O(o.blob)&&o.blob.size!==this._missingImageByteLength)return!1;let m=mN(o),C=o.width;for(let E=0,x=A.length;E1&&C==="name"?(A=1,f=m):A>2&&C==="title"?(A=2,f=m):A>3&&/name/i.test(m)?(A=3,f=m):A>4&&/title/i.test(m)&&(A=4,f=m)}O(f)&&(this.name=o[f])};cwe.prototype.configureDescriptionFromProperties=function(o){function A(f){let m='';for(let C in f)if(f.hasOwnProperty(C)){let E=f[C];O(E)&&(typeof E=="object"?m+=``:m+=``)}return m+="
${C}${A(E)}
${C}${E}
",m}this.description=A(o)};var ER=cwe,Pfi={SATELLITE:1,OCEANS:2,HILLSHADE:3},dP=Object.freeze(Pfi);function hwe(o){this.useTiles=oe(o.usePreCachedTilesIfAvailable,!0);let A=o.ellipsoid;this.tilingScheme=oe(o.tilingScheme,new th({ellipsoid:A})),this.rectangle=oe(o.rectangle,this.tilingScheme.rectangle),this.ellipsoid=A;let f=o.credit;typeof f=="string"&&(f=new Qa(f)),this.credit=f,this.tileCredits=void 0,this.tileDiscardPolicy=o.tileDiscardPolicy,this.tileWidth=oe(o.tileWidth,256),this.tileHeight=oe(o.tileHeight,256),this.maximumLevel=o.maximumLevel}hwe.prototype.build=function(o){o._useTiles=this.useTiles,o._tilingScheme=this.tilingScheme,o._rectangle=this.rectangle,o._credit=this.credit,o._tileCredits=this.tileCredits,o._tileDiscardPolicy=this.tileDiscardPolicy,o._tileWidth=this.tileWidth,o._tileHeight=this.tileHeight,o._maximumLevel=this.maximumLevel,this.useTiles&&!O(this.tileDiscardPolicy)&&(o._tileDiscardPolicy=new Awe({missingImageUrl:uet(o,0,0,this.maximumLevel).url,pixelsToCheck:[new rt(0,0),new rt(200,20),new rt(20,200),new rt(80,110),new rt(160,130)],disableCheckIfAllPixelsAreTransparent:!0})),o._ready=!0};var Q4e=void 0;function Rfi(o,A){let f=o.tileInfo;if(!O(f))A.useTiles=!1;else{if(A.tileWidth=f.rows,A.tileHeight=f.cols,f.spatialReference.wkid===102100||f.spatialReference.wkid===102113)A.tilingScheme=new Zf({ellipsoid:A.ellipsoid});else if(o.tileInfo.spatialReference.wkid===4326)A.tilingScheme=new th({ellipsoid:A.ellipsoid});else if(o.fullExtent.spatialReference.wkid===4490)Q4e._tilingScheme=new th({ellipsoid:A.ellipsoid,tileInfo:o.tileInfo});else{let m=`Tile spatial reference WKID ${o.tileInfo.spatialReference.wkid} is not supported.`;throw new ki(m)}if(A.maximumLevel=o.tileInfo.lods.length-1,O(o.fullExtent)){if(O(o.fullExtent.spatialReference)&&O(o.fullExtent.spatialReference.wkid))if(o.fullExtent.spatialReference.wkid===102100||o.fullExtent.spatialReference.wkid===102113){let m=new ec,C=o.fullExtent,E=m.unproject(new Z(Math.max(C.xmin,-A.tilingScheme.ellipsoid.maximumRadius*Math.PI),Math.max(C.ymin,-A.tilingScheme.ellipsoid.maximumRadius*Math.PI),0)),x=m.unproject(new Z(Math.min(C.xmax,A.tilingScheme.ellipsoid.maximumRadius*Math.PI),Math.min(C.ymax,A.tilingScheme.ellipsoid.maximumRadius*Math.PI),0));A.rectangle=new gi(E.longitude,E.latitude,x.longitude,x.latitude)}else if(o.fullExtent.spatialReference.wkid===4326)A.rectangle=gi.fromDegrees(o.fullExtent.xmin,o.fullExtent.ymin,o.fullExtent.xmax,o.fullExtent.ymax);else if(o.fullExtent.spatialReference.wkid===4490)Q4e._rectangle=gi.fromDegrees(o.fullExtent.xmin,o.fullExtent.ymin,o.fullExtent.xmax,o.fullExtent.ymax);else{let m=`fullExtent.spatialReference WKID ${o.fullExtent.spatialReference.wkid} is not supported.`;throw new ki(m)}}else A.rectangle=A.tilingScheme.rectangle;A.useTiles=!0}O(o.copyrightText)&&o.copyrightText.length>0&&(O(A.credit)?A.tileCredits=[new Qa(o.copyrightText)]:A.credit=new Qa(o.copyrightText))}function Lfi(o,A,f){let m=`An error occurred while accessing ${o.url}`;throw O(A)&&O(A.message)&&(m+=`: ${A.message}`),yh.reportError(void 0,f,O(f)?f._errorEvent:void 0,m,void 0,void 0,void 0,A),new ki(m)}async function set(o,A,f){let m=o.getDerivedResource({queryParameters:{f:"json"}});try{let C=await m.fetchJson();Rfi(C,A)}catch(C){Lfi(o,C,f)}}function Ub(o){o=oe(o,oe.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tileDiscardPolicy=o.tileDiscardPolicy,this._tileWidth=oe(o.tileWidth,256),this._tileHeight=oe(o.tileHeight,256),this._maximumLevel=o.maximumLevel,this._tilingScheme=oe(o.tilingScheme,new th({ellipsoid:o.ellipsoid})),this._useTiles=oe(o.usePreCachedTilesIfAvailable,!0),this._rectangle=oe(o.rectangle,this._tilingScheme.rectangle),this._layers=o.layers,this._credit=o.credit,this._tileCredits=void 0;let A=o.credit;if(typeof A=="string"&&(A=new Qa(A)),this.enablePickFeatures=oe(o.enablePickFeatures,!0),this._errorEvent=new ur,this._ready=!1,O(o.url)){ii("ArcGisMapServerImageryProvider options.url","options.url was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ArcGisMapServerImageryProvider.fromUrl instead.");let f=Cr.createIfNeeded(o.url);f.appendForwardSlash(),this._tileDiscardPolicy=o.tileDiscardPolicy,O(o.token)&&f.setQueryParameters({token:o.token}),this._resource=f;let m=new hwe(o);m.useTiles?this._readyPromise=set(f,m,this).then(()=>(m.build(this),!0)):(m.build(this),this._readyPromise=Promise.resolve(!0))}}Ub.fromBasemapType=async function(o,A){A=oe(A,oe.EMPTY_OBJECT);let f,m,C;switch(o){case dP.SATELLITE:{f=oe(A.token,UB.defaultAccessToken),m=Cr.createIfNeeded(oe(A.url,UB.defaultWorldImageryServer)),m.appendForwardSlash();let E=UB.getDefaultTokenCredit(f);O(E)&&(C=Qa.clone(E))}break;case dP.OCEANS:{f=oe(A.token,UB.defaultAccessToken),m=Cr.createIfNeeded(oe(A.url,UB.defaultWorldOceanServer)),m.appendForwardSlash();let E=UB.getDefaultTokenCredit(f);O(E)&&(C=Qa.clone(E))}break;case dP.HILLSHADE:{f=oe(A.token,UB.defaultAccessToken),m=Cr.createIfNeeded(oe(A.url,UB.defaultWorldHillshadeServer)),m.appendForwardSlash();let E=UB.getDefaultTokenCredit(f);O(E)&&(C=Qa.clone(E))}break;default:}return Ub.fromUrl(m,{...A,token:f,credit:C,usePreCachedTilesIfAvailable:!0})};function uet(o,A,f,m,C){let E;if(o._useTiles)E=o._resource.getDerivedResource({url:`tile/${m}/${f}/${A}`,request:C});else{let x=o._tilingScheme.tileXYToNativeRectangle(A,f,m),y={bbox:`${x.west},${x.south},${x.east},${x.north}`,size:`${o._tileWidth},${o._tileHeight}`,format:"png32",transparent:!0,f:"image"};o._tilingScheme.projection instanceof Kd?(y.bboxSR=4326,y.imageSR=4326):(y.bboxSR=3857,y.imageSR=3857),o.layers&&(y.layers=`show:${o.layers}`),E=o._resource.getDerivedResource({url:"export",request:C,queryParameters:y})}return E}Object.defineProperties(Ub.prototype,{url:{get:function(){return this._resource._url}},token:{get:function(){return this._resource.queryParameters.token}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return ii("ArcGisMapServerImageryProvider.ready","ArcGisMapServerImageryProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ArcGisMapServerImageryProvider.fromUrl instead."),this._ready}},readyPromise:{get:function(){return ii("ArcGisMapServerImageryProvider.readyPromise","ArcGisMapServerImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ArcGisMapServerImageryProvider.fromUrl instead."),this._readyPromise}},credit:{get:function(){return this._credit}},usingPrecachedTiles:{get:function(){return this._useTiles}},hasAlphaChannel:{get:function(){return!0}},layers:{get:function(){return this._layers}},defaultAlpha:{get:function(){return ii("ArcGisMapServerImageryProvider.defaultAlpha","ArcGisMapServerImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha},set:function(o){ii("ArcGisMapServerImageryProvider.defaultAlpha","ArcGisMapServerImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha=o}},defaultNightAlpha:{get:function(){return ii("ArcGisMapServerImageryProvider.defaultNightAlpha","ArcGisMapServerImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha},set:function(o){ii("ArcGisMapServerImageryProvider.defaultNightAlpha","ArcGisMapServerImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha=o}},defaultDayAlpha:{get:function(){return ii("ArcGisMapServerImageryProvider.defaultDayAlpha","ArcGisMapServerImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha},set:function(o){ii("ArcGisMapServerImageryProvider.defaultDayAlpha","ArcGisMapServerImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha=o}},defaultBrightness:{get:function(){return ii("ArcGisMapServerImageryProvider.defaultBrightness","ArcGisMapServerImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness},set:function(o){ii("ArcGisMapServerImageryProvider.defaultBrightness","ArcGisMapServerImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness=o}},defaultContrast:{get:function(){return ii("ArcGisMapServerImageryProvider.defaultContrast","ArcGisMapServerImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast},set:function(o){ii("ArcGisMapServerImageryProvider.defaultContrast","ArcGisMapServerImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast=o}},defaultHue:{get:function(){return ii("ArcGisMapServerImageryProvider.defaultHue","ArcGisMapServerImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue},set:function(o){ii("ArcGisMapServerImageryProvider.defaultHue","ArcGisMapServerImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue=o}},defaultSaturation:{get:function(){return ii("ArcGisMapServerImageryProvider.defaultSaturation","ArcGisMapServerImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation},set:function(o){ii("ArcGisMapServerImageryProvider.defaultSaturation","ArcGisMapServerImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation=o}},defaultGamma:{get:function(){return ii("ArcGisMapServerImageryProvider.defaultGamma","ArcGisMapServerImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma},set:function(o){ii("ArcGisMapServerImageryProvider.defaultGamma","ArcGisMapServerImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma=o}},defaultMinificationFilter:{get:function(){return ii("ArcGisMapServerImageryProvider.defaultMinificationFilter","ArcGisMapServerImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter},set:function(o){ii("ArcGisMapServerImageryProvider.defaultMinificationFilter","ArcGisMapServerImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter=o}},defaultMagnificationFilter:{get:function(){return ii("ArcGisMapServerImageryProvider.defaultMagnificationFilter","ArcGisMapServerImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter},set:function(o){ii("ArcGisMapServerImageryProvider.defaultMagnificationFilter","ArcGisMapServerImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter=o}}});Ub.fromUrl=async function(o,A){A=oe(A,oe.EMPTY_OBJECT);let f=Cr.createIfNeeded(o);f.appendForwardSlash(),O(A.token)&&f.setQueryParameters({token:A.token});let m=new Ub(A);m._resource=f;let C=new hwe(A);return oe(A.usePreCachedTilesIfAvailable,!0)&&await set(f,C),C.build(m),m._readyPromise=Promise.resolve(!0),m};Ub.prototype.getTileCredits=function(o,A,f){return this._tileCredits};Ub.prototype.requestImage=function(o,A,f,m){return oQ.loadImage(this,uet(this,o,A,f,m))};Ub.prototype.pickFeatures=function(o,A,f,m,C){if(!this.enablePickFeatures)return;let E=this._tilingScheme.tileXYToNativeRectangle(o,A,f),x,y,I;if(this._tilingScheme.projection instanceof Kd)x=Be.toDegrees(m),y=Be.toDegrees(C),I="4326";else{let Q=this._tilingScheme.projection.project(new Rt(m,C,0));x=Q.x,y=Q.y,I="3857"}let v="visible";O(this._layers)&&(v+=`:${this._layers}`);let B={f:"json",tolerance:2,geometryType:"esriGeometryPoint",geometry:`${x},${y}`,mapExtent:`${E.west},${E.south},${E.east},${E.north}`,imageDisplay:`${this._tileWidth},${this._tileHeight},96`,sr:I,layers:v};return this._resource.getDerivedResource({url:"identify",queryParameters:B}).fetchJson().then(function(Q){let T=[],w=Q.results;if(!O(w))return T;for(let S=0;S`),this._tilingScheme=new Zf({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,ellipsoid:o.ellipsoid}),this._tileWidth=void 0,this._tileHeight=void 0,this._maximumLevel=void 0,this._imageUrlTemplate=void 0,this._imageUrlSubdomains=void 0,this._attributionList=void 0,this._errorEvent=new ur,this._ready=!1,O(o.url)){ii("BingMapsImageryProvider options.url","options.url was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use BingMapsImageryProvider.fromUrl instead.");let A=o.tileProtocol;O(A)?A.length>0&&A[A.length-1]===":"&&(A=A.substr(0,A.length-1)):A=document.location.protocol==="http:"?"http":"https";let f=Cr.createIfNeeded(o.url);this._resource=f,f.appendForwardSlash();let m=f.getDerivedResource({url:`REST/v1/Imagery/Metadata/${this._mapStyle}`,queryParameters:{incl:"ImageryProviders",key:o.key,uriScheme:A}}),C=new dwe(o);this._readyPromise=Aet(m,C,this).then(()=>(C.build(this),!0))}}Object.defineProperties(Sg.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},key:{get:function(){return this._key}},mapStyle:{get:function(){return this._mapStyle}},culture:{get:function(){return this._culture}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return ii("BingMapsImageryProvider.ready","BingMapsImageryProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use BingMapsImageryProvider.fromUrl instead."),this._ready}},readyPromise:{get:function(){return ii("BingMapsImageryProvider.readyPromise","BingMapsImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use BingMapsImageryProvider.fromUrl instead."),this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!1}},defaultAlpha:{get:function(){return ii("BingMapsImageryProvider.defaultAlpha","BingMapsImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha},set:function(o){ii("BingMapsImageryProvider.defaultAlpha","BingMapsImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha=o}},defaultNightAlpha:{get:function(){return ii("BingMapsImageryProvider.defaultNightAlpha","BingMapsImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this.defaultNightAlpha},set:function(o){ii("BingMapsImageryProvider.defaultNightAlpha","BingMapsImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this.defaultNightAlpha=o}},defaultDayAlpha:{get:function(){return ii("BingMapsImageryProvider.defaultDayAlpha","BingMapsImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha},set:function(o){ii("BingMapsImageryProvider.defaultDayAlpha","BingMapsImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha=o}},defaultBrightness:{get:function(){return ii("BingMapsImageryProvider.defaultBrightness","BingMapsImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness},set:function(o){ii("BingMapsImageryProvider.defaultBrightness","BingMapsImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness=o}},defaultContrast:{get:function(){return ii("BingMapsImageryProvider.defaultContrast","BingMapsImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast},set:function(o){ii("BingMapsImageryProvider.defaultContrast","BingMapsImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast=o}},defaultHue:{get:function(){return ii("BingMapsImageryProvider.defaultHue","BingMapsImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue},set:function(o){ii("BingMapsImageryProvider.defaultHue","BingMapsImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue=o}},defaultSaturation:{get:function(){return ii("BingMapsImageryProvider.defaultSaturation","BingMapsImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation},set:function(o){ii("BingMapsImageryProvider.defaultSaturation","BingMapsImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation=o}},defaultGamma:{get:function(){return ii("BingMapsImageryProvider.defaultGamma","BingMapsImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma},set:function(o){ii("BingMapsImageryProvider.defaultGamma","BingMapsImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma=o}},defaultMinificationFilter:{get:function(){return ii("BingMapsImageryProvider.defaultMinificationFilter","BingMapsImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter},set:function(o){ii("BingMapsImageryProvider.defaultMinificationFilter","BingMapsImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter=o}},defaultMagnificationFilter:{get:function(){return ii("BingMapsImageryProvider.defaultMagnificationFilter","BingMapsImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter},set:function(o){ii("BingMapsImageryProvider.defaultMagnificationFilter","BingMapsImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter=o}}});Sg.fromUrl=async function(o,A){A=oe(A,oe.EMPTY_OBJECT);let f=A.tileProtocol;O(f)?f.length>0&&f[f.length-1]===":"&&(f=f.substr(0,f.length-1)):f=document.location.protocol==="http:"?"http":"https";let m=oe(A.mapStyle,tne.AERIAL),C=Cr.createIfNeeded(o);C.appendForwardSlash();let E=C.getDerivedResource({url:`REST/v1/Imagery/Metadata/${m}`,queryParameters:{incl:"ImageryProviders",key:A.key,uriScheme:f}}),x=new Sg(A);x._resource=C;let y=new dwe(A);return await Aet(E,y),y.build(x),x._readyPromise=Promise.resolve(!0),x};var Ofi=new gi;Sg.prototype.getTileCredits=function(o,A,f){let m=this._tilingScheme.tileXYToRectangle(o,A,f,Ofi);return Hfi(this._attributionList,f,m)};Sg.prototype.requestImage=function(o,A,f,m){let C=oQ.loadImage(this,Ufi(this,o,A,f,m));if(O(C))return C.catch(function(E){return O(E.blob)&&E.blob.size===0?ine.EMPTY_IMAGE:Promise.reject(E)})};Sg.prototype.pickFeatures=function(o,A,f,m,C){};Sg.tileXYToQuadKey=function(o,A,f){let m="";for(let C=f;C>=0;--C){let E=1<=0;--C){let E=1<=Q.zoomMin&&A<=Q.zoomMax){let T=gi.intersection(f,Q.bbox,Gfi);O(T)&&(I=!0)}}I&&m.push(x.credit)}return m}Sg._metadataCache={};var a8=Sg,cet=/{[^}]+}/g,fwe={x:Yfi,y:Kfi,z:qfi,s:Xfi,reverseX:Jfi,reverseY:Wfi,reverseZ:jfi,westDegrees:Zfi,southDegrees:$fi,eastDegrees:egi,northDegrees:tgi,westProjected:igi,southProjected:rgi,eastProjected:ngi,northProjected:ogi,width:agi,height:sgi},het=So(fwe,{i:lgi,j:ugi,reverseI:Agi,reverseJ:cgi,longitudeDegrees:dgi,latitudeDegrees:fgi,longitudeProjected:ggi,latitudeProjected:pgi,format:Cgi});function L3(o){if(o=oe(o,oe.EMPTY_OBJECT),this._errorEvent=new ur,O(o.then)){this._reinitialize(o);return}let A=Cr.createIfNeeded(o.url),f=Cr.createIfNeeded(o.pickFeaturesUrl);this._resource=A,this._urlSchemeZeroPadding=o.urlSchemeZeroPadding,this._getFeatureInfoFormats=o.getFeatureInfoFormats,this._pickFeaturesResource=f;let m=o.subdomains;Array.isArray(m)?m=m.slice():O(m)&&m.length>0?m=m.split(""):m=["a","b","c"],this._subdomains=m,this._tileWidth=oe(o.tileWidth,256),this._tileHeight=oe(o.tileHeight,256),this._minimumLevel=oe(o.minimumLevel,0),this._maximumLevel=o.maximumLevel,this._tilingScheme=oe(o.tilingScheme,new Zf({ellipsoid:o.ellipsoid})),this._rectangle=oe(o.rectangle,this._tilingScheme.rectangle),this._rectangle=gi.intersection(this._rectangle,this._tilingScheme.rectangle),this._tileDiscardPolicy=o.tileDiscardPolicy;let C=o.credit;typeof C=="string"&&(C=new Qa(C)),this._credit=C,this._hasAlphaChannel=oe(o.hasAlphaChannel,!0);let E=o.customTags,x=So(fwe,E),y=So(het,E);this._tags=x,this._pickFeaturesTags=y,this._readyPromise=Promise.resolve(!0),this._ready=!0,this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this.enablePickFeatures=oe(o.enablePickFeatures,!0)}Object.defineProperties(L3.prototype,{url:{get:function(){return this._resource.url}},urlSchemeZeroPadding:{get:function(){return this._urlSchemeZeroPadding}},pickFeaturesUrl:{get:function(){return this._pickFeaturesResource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return this._minimumLevel}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return ii("UrlTemplateImageryProvider.ready","UrlTemplateImageryProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._ready&&O(this._resource)}},readyPromise:{get:function(){return ii("UrlTemplateImageryProvider.readyPromise","UrlTemplateImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return this._hasAlphaChannel}},defaultAlpha:{get:function(){return ii("UrlTemplateImageryProvider.defaultAlpha","UrlTemplateImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha},set:function(o){ii("UrlTemplateImageryProvider.defaultAlpha","UrlTemplateImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha=o}},defaultNightAlpha:{get:function(){return ii("UrlTemplateImageryProvider.defaultNightAlpha","UrlTemplateImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha},set:function(o){ii("UrlTemplateImageryProvider.defaultNightAlpha","UrlTemplateImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha=o}},defaultDayAlpha:{get:function(){return ii("UrlTemplateImageryProvider.defaultDayAlpha","UrlTemplateImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha},set:function(o){ii("UrlTemplateImageryProvider.defaultDayAlpha","UrlTemplateImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha=o}},defaultBrightness:{get:function(){return ii("UrlTemplateImageryProvider.defaultBrightness","UrlTemplateImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness},set:function(o){ii("UrlTemplateImageryProvider.defaultBrightness","UrlTemplateImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness=o}},defaultContrast:{get:function(){return ii("UrlTemplateImageryProvider.defaultContrast","UrlTemplateImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast},set:function(o){ii("UrlTemplateImageryProvider.defaultContrast","UrlTemplateImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast=o}},defaultHue:{get:function(){return ii("UrlTemplateImageryProvider.defaultHue","UrlTemplateImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue},set:function(o){ii("UrlTemplateImageryProvider.defaultHue","UrlTemplateImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue=o}},defaultSaturation:{get:function(){return ii("UrlTemplateImageryProvider.defaultSaturation","UrlTemplateImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation},set:function(o){ii("UrlTemplateImageryProvider.defaultSaturation","UrlTemplateImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation=o}},defaultGamma:{get:function(){return ii("UrlTemplateImageryProvider.defaultGamma","UrlTemplateImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma},set:function(o){ii("UrlTemplateImageryProvider.defaultGamma","UrlTemplateImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma=o}},defaultMinificationFilter:{get:function(){return ii("UrlTemplateImageryProvider.defaultMinificationFilter","UrlTemplateImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter},set:function(o){ii("UrlTemplateImageryProvider.defaultMinificationFilter","UrlTemplateImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter=o}},defaultMagnificationFilter:{get:function(){return ii("UrlTemplateImageryProvider.defaultMagnificationFilter","UrlTemplateImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter},set:function(o){ii("UrlTemplateImageryProvider.defaultMagnificationFilter","UrlTemplateImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter=o}}});L3.prototype.reinitialize=function(o){return ii("UrlTemplateImageryProvider.reinitialize","UrlTemplateImageryProvider.reinitialize was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._reinitialize(o)};L3.prototype._reinitialize=function(o){let A=this;A._readyPromise=Promise.resolve(o).then(function(f){let m=f.customTags,C=So(fwe,m),E=So(het,m),x=Cr.createIfNeeded(f.url),y=Cr.createIfNeeded(f.pickFeaturesUrl);A.enablePickFeatures=oe(f.enablePickFeatures,A.enablePickFeatures),A._urlSchemeZeroPadding=oe(f.urlSchemeZeroPadding,A.urlSchemeZeroPadding),A._tileDiscardPolicy=f.tileDiscardPolicy,A._getFeatureInfoFormats=f.getFeatureInfoFormats,A._subdomains=f.subdomains,Array.isArray(A._subdomains)?A._subdomains=A._subdomains.slice():O(A._subdomains)&&A._subdomains.length>0?A._subdomains=A._subdomains.split(""):A._subdomains=["a","b","c"],A._tileWidth=oe(f.tileWidth,256),A._tileHeight=oe(f.tileHeight,256),A._minimumLevel=oe(f.minimumLevel,0),A._maximumLevel=f.maximumLevel,A._tilingScheme=oe(f.tilingScheme,new Zf({ellipsoid:f.ellipsoid})),A._rectangle=oe(f.rectangle,A._tilingScheme.rectangle),A._rectangle=gi.intersection(A._rectangle,A._tilingScheme.rectangle),A._hasAlphaChannel=oe(f.hasAlphaChannel,!0);let I=f.credit;return typeof I=="string"&&(I=new Qa(I)),A._credit=I,A._resource=x,A._tags=C,A._pickFeaturesResource=y,A._pickFeaturesTags=E,A._ready=!0,!0})};L3.prototype.getTileCredits=function(o,A,f){};L3.prototype.requestImage=function(o,A,f,m){return oQ.loadImage(this,Vfi(this,o,A,f,m))};L3.prototype.pickFeatures=function(o,A,f,m,C){if(!this.enablePickFeatures||!O(this._pickFeaturesResource)||this._getFeatureInfoFormats.length===0)return;let E=0,x=this;function y(v,B){return v.callback(B)}function I(){if(E>=x._getFeatureInfoFormats.length)return Promise.resolve([]);let v=x._getFeatureInfoFormats[E],B=zfi(x,o,A,f,m,C,v.format);return++E,v.type==="json"?B.fetchJson().then(v.callback).catch(I):v.type==="xml"?B.fetchXML().then(v.callback).catch(I):v.type==="text"||v.type==="html"?B.fetchText().then(v.callback).catch(I):B.fetch({responseType:v.format}).then(y.bind(void 0,v)).catch(I)}return I()};var _ee=!1,Hy=new gi,vee=!1,dJ=new gi;function Vfi(o,A,f,m,C){_ee=!1,vee=!1;let E=o._resource,x=E.getUrlComponent(!0),y=o._tags,I={},v=x.match(cet);return O(v)&&v.forEach(function(B){let Q=B.substring(1,B.length-1);O(y[Q])&&(I[Q]=y[Q](o,A,f,m))}),E.getDerivedResource({request:C,templateValues:I})}var Ige=!1,N4=new rt,_ge=!1;function zfi(o,A,f,m,C,E,x){_ee=!1,vee=!1,Ige=!1,_ge=!1;let y=o._pickFeaturesResource,I=y.getUrlComponent(!0),v=o._pickFeaturesTags,B={},Q=I.match(cet);return O(Q)&&Q.forEach(function(T){let w=T.substring(1,T.length-1);O(v[w])&&(B[w]=v[w](o,A,f,m,C,E,x))}),y.getDerivedResource({templateValues:B})}function s8(o,A,f){if(o&&o.urlSchemeZeroPadding&&o.urlSchemeZeroPadding.hasOwnProperty(A)){let m=o.urlSchemeZeroPadding[A];if(typeof m=="string"){let C=m.length;C>1&&(f=f.length>=C?f:new Array(C-f.toString().length+1).join("0")+f)}}return f}function Yfi(o,A,f,m){return s8(o,"{x}",A)}function Jfi(o,A,f,m){let C=o.tilingScheme.getNumberOfXTilesAtLevel(m)-A-1;return s8(o,"{reverseX}",C)}function Kfi(o,A,f,m){return s8(o,"{y}",f)}function Wfi(o,A,f,m){let C=o.tilingScheme.getNumberOfYTilesAtLevel(m)-f-1;return s8(o,"{reverseY}",C)}function jfi(o,A,f,m){let C=o.maximumLevel,E=O(C)&&mPromise.reject(C));Hx.call(this,m),this._promise=m}}lI._requestMetadata=async function(o,A,f,m){try{let C=await f.fetchXML();return lI._metadataSuccess(C,o,A,f,m)}catch(C){if(C instanceof CN)return lI._metadataFailure(o,A);throw C}};lI.fromUrl=async function(o,A){let f=Cr.createIfNeeded(o);f.appendForwardSlash();let m=f,C=f.getDerivedResource({url:"tilemapresource.xml"});A=oe(A,oe.EMPTY_OBJECT);let E=await lI._requestMetadata(A,m,C),x=new lI;return Hx.call(x,E),x};O(Object.create)&&(lI.prototype=Object.create(Hx.prototype),lI.prototype.constructor=lI);function det(o,A){return o.westA.rectangle.east&&(o.east=A.rectangle.east),o.southA.rectangle.north&&(o.north=A.rectangle.north),o}function fet(o,A,f){let m=o.positionToTileXY(gi.southwest(A),f),C=o.positionToTileXY(gi.northeast(A),f);return(Math.abs(C.x-m.x)+1)*(Math.abs(C.y-m.y)+1)>4?0:f}lI._metadataSuccess=function(o,A,f,m,C){let E=/tileformat/i,x=/tileset/i,y=/tilesets/i,I=/boundingbox/i,v,B,Q,T=[],w=o.childNodes[0].childNodes;for(let G=0;G`),this._tilingScheme=void 0,this._version=void 0,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=o.maximumLevel,this._errorEvent=new ur,O(o.url)||O(o.channel)){ii("GoogleEarthEnterpriseMapsProvider.url","GoogleEarthEnterpriseMapsProvider.url and GoogleEarthEnterpriseMapsProvider.channel were deprecated in CesiumJS 1.104. They will be in CesiumJS 1.107. Use GoogleEarthEnterpriseMapsProvider.fromUrl instead.");let A=o.url,f=oe(o.path,"/default_map"),m=Cr.createIfNeeded(A).getDerivedResource({url:f[0]==="/"?f.substring(1):f});m.appendForwardSlash(),this._resource=m,this._url=A,this._path=f,this._ready=!1;let C=m.getDerivedResource({url:"query",queryParameters:{request:"Json",vars:"geeServerDefs",is2d:"t"}}),E=new pwe(o);this._readyPromise=get(C,E,this).then(()=>(E.build(this),this._ready=!0,!0))}}Object.defineProperties(Ex.prototype,{url:{get:function(){return this._url}},path:{get:function(){return this._path}},proxy:{get:function(){return this._resource.proxy}},channel:{get:function(){return this._channel}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},version:{get:function(){return this._version}},requestType:{get:function(){return this._requestType}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return ii("GoogleEarthEnterpriseMapsProvider.ready","GoogleEarthEnterpriseMapsProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use GoogleEarthEnterpriseMapsProvider.fromUrl instead."),this._ready}},readyPromise:{get:function(){return ii("GoogleEarthEnterpriseMapsProvider.readyPromise","GoogleEarthEnterpriseMapsProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use GoogleEarthEnterpriseMapsProvider.fromUrl instead."),this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}},defaultAlpha:{get:function(){return ii("GoogleEarthEnterpriseMapsProvider.defaultAlpha","GoogleEarthEnterpriseMapsProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha},set:function(o){ii("GoogleEarthEnterpriseMapsProvider.defaultAlpha","GoogleEarthEnterpriseMapsProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha=o}},defaultNightAlpha:{get:function(){return ii("GoogleEarthEnterpriseMapsProvider.defaultNightAlpha","GoogleEarthEnterpriseMapsProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this.defaultNightAlpha},set:function(o){ii("GoogleEarthEnterpriseMapsProvider.defaultNightAlpha","GoogleEarthEnterpriseMapsProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this.defaultNightAlpha=o}},defaultDayAlpha:{get:function(){return ii("GoogleEarthEnterpriseMapsProvider.defaultDayAlpha","GoogleEarthEnterpriseMapsProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha},set:function(o){ii("GoogleEarthEnterpriseMapsProvider.defaultDayAlpha","GoogleEarthEnterpriseMapsProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha=o}},defaultBrightness:{get:function(){return ii("GoogleEarthEnterpriseMapsProvider.defaultBrightness","GoogleEarthEnterpriseMapsProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness},set:function(o){ii("GoogleEarthEnterpriseMapsProvider.defaultBrightness","GoogleEarthEnterpriseMapsProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness=o}},defaultContrast:{get:function(){return ii("GoogleEarthEnterpriseMapsProvider.defaultContrast","GoogleEarthEnterpriseMapsProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast},set:function(o){ii("GoogleEarthEnterpriseMapsProvider.defaultContrast","GoogleEarthEnterpriseMapsProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast=o}},defaultHue:{get:function(){return ii("GoogleEarthEnterpriseMapsProvider.defaultHue","GoogleEarthEnterpriseMapsProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue},set:function(o){ii("GoogleEarthEnterpriseMapsProvider.defaultHue","GoogleEarthEnterpriseMapsProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue=o}},defaultSaturation:{get:function(){return ii("GoogleEarthEnterpriseMapsProvider.defaultSaturation","GoogleEarthEnterpriseMapsProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation},set:function(o){ii("GoogleEarthEnterpriseMapsProvider.defaultSaturation","GoogleEarthEnterpriseMapsProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation=o}},defaultGamma:{get:function(){return ii("GoogleEarthEnterpriseMapsProvider.defaultGamma","GoogleEarthEnterpriseMapsProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma},set:function(o){ii("GoogleEarthEnterpriseMapsProvider.defaultGamma","GoogleEarthEnterpriseMapsProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma=o}},defaultMinificationFilter:{get:function(){return ii("GoogleEarthEnterpriseMapsProvider.defaultMinificationFilter","GoogleEarthEnterpriseMapsProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter},set:function(o){ii("GoogleEarthEnterpriseMapsProvider.defaultMinificationFilter","GoogleEarthEnterpriseMapsProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter=o}},defaultMagnificationFilter:{get:function(){return ii("GoogleEarthEnterpriseMapsProvider.defaultMagnificationFilter","GoogleEarthEnterpriseMapsProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter},set:function(o){ii("GoogleEarthEnterpriseMapsProvider.defaultMagnificationFilter","GoogleEarthEnterpriseMapsProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter=o}}});Ex.fromUrl=async function(o,A,f){f=oe(f,{});let m=oe(f.path,"/default_map"),C=Cr.createIfNeeded(o).getDerivedResource({url:m[0]==="/"?m.substring(1):m});C.appendForwardSlash();let E=C.getDerivedResource({url:"query",queryParameters:{request:"Json",vars:"geeServerDefs",is2d:"t"}}),x=new pwe(f);x.channel=A,await get(E,x);let y=new Ex(f);return x.build(y),y._readyPromise=Promise.resolve(!0),y._ready=!0,y._resource=C,y._url=o,y._path=m,y};Ex.prototype.getTileCredits=function(o,A,f){};Ex.prototype.requestImage=function(o,A,f,m){let C=this._resource.getDerivedResource({url:"query",request:m,queryParameters:{request:this._requestType,channel:this._channel,version:this._version,x:o,y:A,z:f+1}});return oQ.loadImage(this,C)};Ex.prototype.pickFeatures=function(o,A,f,m,C){};Ex._logoUrl=void 0;Object.defineProperties(Ex,{logoUrl:{get:function(){return O(Ex._logoUrl)||(Ex._logoUrl=ja("Assets/Images/google_earth_credit.png")),Ex._logoUrl},set:function(o){Ex._logoUrl=o}}});var ane=Ex,ygi=/\/$/,pet=new Qa('© Mapbox © OpenStreetMap Improve this map');function l8(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.mapId,f=o.accessToken;this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let m=Cr.createIfNeeded(oe(o.url,"https://{s}.tiles.mapbox.com/v4/"));this._mapId=A,this._accessToken=f;let C=oe(o.format,"png");/\./.test(C)||(C=`.${C}`),this._format=C;let E=m.getUrlComponent();ygi.test(E)||(E+="/"),E+=`${A}/{z}/{x}/{y}${this._format}`,m.url=E,m.setQueryParameters({access_token:f});let x;O(o.credit)?(x=o.credit,typeof x=="string"&&(x=new Qa(x))):x=pet,this._resource=m,this._imageryProvider=new Hx({url:m,credit:x,ellipsoid:o.ellipsoid,minimumLevel:o.minimumLevel,maximumLevel:o.maximumLevel,rectangle:o.rectangle}),this._ready=!0,this._readyPromise=Promise.resolve(!0)}Object.defineProperties(l8.prototype,{url:{get:function(){return this._imageryProvider.url}},ready:{get:function(){return ii("MapboxImageryProvider.ready","MapboxImageryProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._imageryProvider.ready}},readyPromise:{get:function(){return ii("MapboxImageryProvider.readyPromise","MapboxImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._imageryProvider._readyPromise}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._imageryProvider.errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},proxy:{get:function(){return this._imageryProvider.proxy}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}},defaultAlpha:{get:function(){return ii("MapboxImageryProvider.defaultAlpha","MapboxImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha},set:function(o){ii("MapboxImageryProvider.defaultAlpha","MapboxImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha=o}},defaultNightAlpha:{get:function(){return ii("MapboxImageryProvider.defaultNightAlpha","MapboxImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this.defaultNightAlpha},set:function(o){ii("MapboxImageryProvider.defaultNightAlpha","MapboxImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this.defaultNightAlpha=o}},defaultDayAlpha:{get:function(){return ii("MapboxImageryProvider.defaultDayAlpha","MapboxImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha},set:function(o){ii("MapboxImageryProvider.defaultDayAlpha","MapboxImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha=o}},defaultBrightness:{get:function(){return ii("MapboxImageryProvider.defaultBrightness","MapboxImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness},set:function(o){ii("MapboxImageryProvider.defaultBrightness","MapboxImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness=o}},defaultContrast:{get:function(){return ii("MapboxImageryProvider.defaultContrast","MapboxImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast},set:function(o){ii("MapboxImageryProvider.defaultContrast","MapboxImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast=o}},defaultHue:{get:function(){return ii("MapboxImageryProvider.defaultHue","MapboxImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue},set:function(o){ii("MapboxImageryProvider.defaultHue","MapboxImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue=o}},defaultSaturation:{get:function(){return ii("MapboxImageryProvider.defaultSaturation","MapboxImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation},set:function(o){ii("MapboxImageryProvider.defaultSaturation","MapboxImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation=o}},defaultGamma:{get:function(){return ii("MapboxImageryProvider.defaultGamma","MapboxImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma},set:function(o){ii("MapboxImageryProvider.defaultGamma","MapboxImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma=o}},defaultMinificationFilter:{get:function(){return ii("MapboxImageryProvider.defaultMinificationFilter","MapboxImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter},set:function(o){ii("MapboxImageryProvider.defaultMinificationFilter","MapboxImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter=o}},defaultMagnificationFilter:{get:function(){return ii("MapboxImageryProvider.defaultMagnificationFilter","MapboxImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter},set:function(o){ii("MapboxImageryProvider.defaultMagnificationFilter","MapboxImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter=o}}});l8.prototype.getTileCredits=function(o,A,f){};l8.prototype.requestImage=function(o,A,f,m){return this._imageryProvider.requestImage(o,A,f,m)};l8.prototype.pickFeatures=function(o,A,f,m,C){return this._imageryProvider.pickFeatures(o,A,f,m,C)};l8._defaultCredit=pet;var u8=l8;function HN(o){o=oe(o,oe.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let A=oe(o.rectangle,gi.MAX_VALUE),f=new th({rectangle:A,numberOfLevelZeroTilesX:1,numberOfLevelZeroTilesY:1,ellipsoid:o.ellipsoid});this._tilingScheme=f,this._image=void 0,this._texture=void 0,this._hasError=!1,this._errorEvent=new ur,this._ready=!1;let m=o.credit;typeof m=="string"&&(m=new Qa(m)),this._credit=m;let C=Cr.createIfNeeded(o.url);if(this._resource=C,O(o.tileWidth)||O(o.tileHeight)){this._tileWidth=o.tileWidth,this._tileHeight=o.tileHeight,this._ready=!0,this._readyPromise=Promise.resolve(!0);return}ii("SingleTileImageryProvider options","options.tileHeight and options.tileWidth became required in CesiumJS 1.104. Omitting these properties will result in an error in 1.107. Provide options.tileHeight and options.tileWidth, or use SingleTileImageryProvider.fromUrl instead."),this._tileWidth=0,this._tileHeight=0,this._readyPromise=sne(C,this).then(E=>(yh.reportSuccess(this._errorEvent),this._image=E,this._tileWidth=E.width,this._tileHeight=E.height,this._ready=!0,!0))}Object.defineProperties(HN.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return 0}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return ii("SingleTileImageryProvider.ready","SingleTileImageryProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use SingleTileImageryProvider.fromUrl instead."),this._ready}},readyPromise:{get:function(){return ii("SingleTileImageryProvider.readyPromise","SingleTileImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use SingleTileImageryProvider.fromUrl instead."),this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}},defaultAlpha:{get:function(){return ii("SingleTileImageryProvider.defaultAlpha","SingleTileImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha},set:function(o){ii("SingleTileImageryProvider.defaultAlpha","SingleTileImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha=o}},defaultNightAlpha:{get:function(){return ii("SingleTileImageryProvider.defaultNightAlpha","SingleTileImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha},set:function(o){ii("SingleTileImageryProvider.defaultNightAlpha","SingleTileImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha=o}},defaultDayAlpha:{get:function(){return ii("SingleTileImageryProvider.defaultDayAlpha","SingleTileImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha},set:function(o){ii("SingleTileImageryProvider.defaultDayAlpha","SingleTileImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha=o}},defaultBrightness:{get:function(){return ii("SingleTileImageryProvider.defaultBrightness","SingleTileImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness},set:function(o){ii("SingleTileImageryProvider.defaultBrightness","SingleTileImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness=o}},defaultContrast:{get:function(){return ii("SingleTileImageryProvider.defaultContrast","SingleTileImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast},set:function(o){ii("SingleTileImageryProvider.defaultContrast","SingleTileImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast=o}},defaultHue:{get:function(){return ii("SingleTileImageryProvider.defaultHue","SingleTileImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue},set:function(o){ii("SingleTileImageryProvider.defaultHue","SingleTileImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue=o}},defaultSaturation:{get:function(){return ii("SingleTileImageryProvider.defaultSaturation","SingleTileImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation},set:function(o){ii("SingleTileImageryProvider.defaultSaturation","SingleTileImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation=o}},defaultGamma:{get:function(){return ii("SingleTileImageryProvider.defaultGamma","SingleTileImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma},set:function(o){ii("SingleTileImageryProvider.defaultGamma","SingleTileImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma=o}},defaultMinificationFilter:{get:function(){return ii("SingleTileImageryProvider.defaultMinificationFilter","SingleTileImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter},set:function(o){ii("SingleTileImageryProvider.defaultMinificationFilter","SingleTileImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter=o}},defaultMagnificationFilter:{get:function(){return ii("SingleTileImageryProvider.defaultMagnificationFilter","SingleTileImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter},set:function(o){ii("SingleTileImageryProvider.defaultMagnificationFilter","SingleTileImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter=o}}});function Igi(o,A,f,m){let C=`Failed to load image ${o.url}`;O(A)&&O(A.message)&&(C+=`: ${A.message}`);let E=yh.reportError(m,f,O(f)?f._errorEvent:void 0,C,0,0,0,A);if(E.retry)return sne(o,f,E);throw O(f)&&(f._hasError=!0),new ki(C)}async function sne(o,A,f){try{return await oQ.loadImage(null,o)}catch(m){return Igi(o,m,A,f)}}HN.fromUrl=async function(o,A){let f=Cr.createIfNeeded(o),m=await sne(f);A=oe(A,oe.EMPTY_OBJECT);let C=new HN({...A,url:o,tileWidth:m.width,tileHeight:m.height});return C._image=m,C};HN.prototype.getTileCredits=function(o,A,f){};HN.prototype.requestImage=async function(o,A,f,m){if(!this._hasError&&!O(this._image)){let C=await sne(this._resource,this);return this._image=C,yh.reportSuccess(this._errorEvent),C}return this._image};HN.prototype.pickFeatures=function(o,A,f,m,C){};var Cv=HN;function _gi(o,A,f){this.type=o,O(A)||(o==="json"?A="application/json":o==="xml"?A="text/xml":o==="html"?A="text/html":o==="text"&&(A="text/plain")),this.format=A,O(f)||(o==="json"?f=vgi:o==="xml"?f=Qgi:(o==="html"||o==="text")&&(f=Ngi)),this.callback=f}function vgi(o){let A=[],f=o.features;for(let m=0;m0)for(let E=0;E\s*<\/body>/im,Lgi=//im,Fgi=/([\s\S]*)<\/title>/im;function Ngi(o){if(Rgi.test(o)||Lgi.test(o))return;let A,f=Fgi.exec(o);f&&f.length>1&&(A=f[1]);let m=new ER;return m.name=A,m.description=o,m.data=o,[m]}var V7=_gi;function fJ(o){o=oe(o,oe.EMPTY_OBJECT),this._tileCache={},this._tilesRequestedForInterval=[];let A=this._clock=o.clock;this._times=o.times,this._requestImageFunction=o.requestImageFunction,this._reloadFunction=o.reloadFunction,this._currentIntervalIndex=-1,A.onTick.addEventListener(this._clockOnTick,this),this._clockOnTick(A)}Object.defineProperties(fJ.prototype,{clock:{get:function(){return this._clock},set:function(o){this._clock!==o&&(this._clock=o,this._clockOnTick(o),this._reloadFunction())}},times:{get:function(){return this._times},set:function(o){this._times!==o&&(this._times=o,this._clockOnTick(this._clock),this._reloadFunction())}},currentInterval:{get:function(){return this._times.get(this._currentIntervalIndex)}}});fJ.prototype.getFromCache=function(o,A,f,m){let C=met(o,A,f),E,x=this._tileCache[this._currentIntervalIndex];if(O(x)&&O(x[C])){let y=x[C];E=y.promise.catch(function(I){throw m.state=y.request.state,I}),delete x[C]}return E};fJ.prototype.checkApproachingInterval=function(o,A,f,m){let C=met(o,A,f),E=this._tilesRequestedForInterval,x=Cet(this),y={key:C,priorityFunction:m.priorityFunction};(!O(x)||!Eet(this,y,x))&&E.push(y),E.length>=512&&E.splice(0,256)};fJ.prototype._clockOnTick=function(o){let A=o.currentTime,f=this._times.indexOf(A),m=this._currentIntervalIndex;if(f!==m){let E=this._tileCache[m];for(let x in E)E.hasOwnProperty(x)&&E[x].request.cancel();delete this._tileCache[m],this._tilesRequestedForInterval=[],this._currentIntervalIndex=f,this._reloadFunction();return}let C=Cet(this);if(O(C)){let E=this._tilesRequestedForInterval,x=!0;for(;x&&E.length!==0;){let y=E.pop();x=Eet(this,y,C),x||E.push(y)}}};function met(o,A,f){return`${o}-${A}-${f}`}function kgi(o){let A=o.split("-");if(A.length===3)return{x:Number(A[0]),y:Number(A[1]),level:Number(A[2])}}function Cet(o){let A=o._times;if(!O(A))return;let f=o._clock,m=f.currentTime,C=f.canAnimate&&f.shouldAnimate,E=f.multiplier;if(!C&&E!==0)return;let x,y=A.indexOf(m);if(y<0)return;let I=A.get(y);return E>0?(x=Zt.secondsDifference(I.stop,m),++y):(x=Zt.secondsDifference(I.start,m),--y),x/=E,y>=0&&x<=5?A.get(y):void 0}function Eet(o,A,f){let m=o._times.indexOf(f.start),C=o._tileCache,E=C[m];O(E)||(E=C[m]={});let x=A.key;if(O(E[x]))return!0;let y=kgi(x),I=new lp({throttle:!1,throttleByServer:!0,type:II.IMAGERY,priorityFunction:A.priorityFunction}),v=o._requestImageFunction(y.x,y.y,y.level,I,f);return O(v)?(E[x]={promise:v,request:I},!0):!1}var lne=fJ,Ogi=[3034,3035,3042,3043,3044],Ugi=[4471,4559,4544];function nw(o){if(o=oe(o,oe.EMPTY_OBJECT),O(o.times)&&!O(o.clock))throw new Ai("options.times was specified, so options.clock is required.");this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._getFeatureInfoUrl=oe(o.getFeatureInfoUrl,o.url);let A=Cr.createIfNeeded(o.url),f=Cr.createIfNeeded(this._getFeatureInfoUrl);A.setQueryParameters(nw.DefaultParameters,!0),f.setQueryParameters(nw.GetFeatureInfoDefaultParameters,!0),O(o.parameters)&&A.setQueryParameters(S4e(o.parameters)),O(o.getFeatureInfoParameters)&&f.setQueryParameters(S4e(o.getFeatureInfoParameters));let m=this;this._reload=void 0,O(o.times)&&(this._timeDynamicImagery=new lne({clock:o.clock,times:o.times,requestImageFunction:function(x,y,I,v,B){return xet(m,x,y,I,v,B)},reloadFunction:function(){O(m._reload)&&m._reload()}}));let C={};if(C.layers=o.layers,C.bbox="{westProjected},{southProjected},{eastProjected},{northProjected}",C.width="{width}",C.height="{height}",parseFloat(A.queryParameters.version)>=1.3){C.crs=oe(o.crs,o.tilingScheme&&o.tilingScheme.projection instanceof ec?"EPSG:3857":"CRS:84");let x=C.crs.split(":");if(x[0]==="EPSG"&&x.length===2){let y=Number(x[1]),I=oe(o.reverseAxis,!0);(y>=4e3&&y<5e3&&!Ugi.includes(y)&&I||Ogi.includes(y))&&(C.bbox="{southProjected},{westProjected},{northProjected},{eastProjected}")}}else C.srs=oe(o.srs,o.tilingScheme&&o.tilingScheme.projection instanceof ec?"EPSG:3857":"EPSG:4326");A.setQueryParameters(C,!0),f.setQueryParameters(C,!0);let E={query_layers:o.layers,info_format:"{format}"};parseFloat(f.queryParameters.version)>=1.3?(E.i="{i}",E.j="{j}"):(E.x="{i}",E.y="{j}"),f.setQueryParameters(E,!0),this._resource=A,this._pickFeaturesResource=f,this._layers=o.layers,this._tileProvider=new Hx({url:A,pickFeaturesUrl:f,tilingScheme:oe(o.tilingScheme,new th({ellipsoid:o.ellipsoid})),rectangle:o.rectangle,tileWidth:o.tileWidth,tileHeight:o.tileHeight,minimumLevel:o.minimumLevel,maximumLevel:o.maximumLevel,subdomains:o.subdomains,tileDiscardPolicy:o.tileDiscardPolicy,credit:o.credit,getFeatureInfoFormats:oe(o.getFeatureInfoFormats,nw.DefaultGetFeatureInfoFormats),enablePickFeatures:o.enablePickFeatures}),this._ready=!0,this._readyPromise=Promise.resolve(!0)}function xet(o,A,f,m,C,E){let x=O(E)?E.data:void 0,y=o._tileProvider;return O(x)&&y._resource.setQueryParameters(x),y.requestImage(A,f,m,C)}function Ggi(o,A,f,m,C,E,x){let y=O(x)?x.data:void 0,I=o._tileProvider;return O(y)&&I._pickFeaturesResource.setQueryParameters(y),I.pickFeatures(A,f,m,C,E)}Object.defineProperties(nw.prototype,{url:{get:function(){return this._resource._url}},proxy:{get:function(){return this._resource.proxy}},layers:{get:function(){return this._layers}},tileWidth:{get:function(){return this._tileProvider.tileWidth}},tileHeight:{get:function(){return this._tileProvider.tileHeight}},maximumLevel:{get:function(){return this._tileProvider.maximumLevel}},minimumLevel:{get:function(){return this._tileProvider.minimumLevel}},tilingScheme:{get:function(){return this._tileProvider.tilingScheme}},rectangle:{get:function(){return this._tileProvider.rectangle}},tileDiscardPolicy:{get:function(){return this._tileProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._tileProvider.errorEvent}},ready:{get:function(){return ii("WebMapServiceImageryProvider.ready","WebMapServiceImageryProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._tileProvider.ready}},readyPromise:{get:function(){return ii("WebMapServiceImageryProvider.readyPromise","WebMapServiceImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._tileProvider.readyPromise}},credit:{get:function(){return this._tileProvider.credit}},hasAlphaChannel:{get:function(){return this._tileProvider.hasAlphaChannel}},enablePickFeatures:{get:function(){return this._tileProvider.enablePickFeatures},set:function(o){this._tileProvider.enablePickFeatures=o}},clock:{get:function(){return this._timeDynamicImagery.clock},set:function(o){this._timeDynamicImagery.clock=o}},times:{get:function(){return this._timeDynamicImagery.times},set:function(o){this._timeDynamicImagery.times=o}},getFeatureInfoUrl:{get:function(){return this._getFeatureInfoUrl}},defaultAlpha:{get:function(){return ii("WebMapServiceImageryProvider.defaultAlpha","WebMapServiceImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha},set:function(o){ii("WebMapServiceImageryProvider.defaultAlpha","WebMapServiceImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha=o}},defaultNightAlpha:{get:function(){return ii("WebMapServiceImageryProvider.defaultNightAlpha","WebMapServiceImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha},set:function(o){ii("WebMapServiceImageryProvider.defaultNightAlpha","WebMapServiceImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha=o}},defaultDayAlpha:{get:function(){return ii("WebMapServiceImageryProvider.defaultDayAlpha","WebMapServiceImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha},set:function(o){ii("WebMapServiceImageryProvider.defaultDayAlpha","WebMapServiceImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha=o}},defaultBrightness:{get:function(){return ii("WebMapServiceImageryProvider.defaultBrightness","WebMapServiceImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness},set:function(o){ii("WebMapServiceImageryProvider.defaultBrightness","WebMapServiceImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness=o}},defaultContrast:{get:function(){return ii("WebMapServiceImageryProvider.defaultContrast","WebMapServiceImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast},set:function(o){ii("WebMapServiceImageryProvider.defaultContrast","WebMapServiceImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast=o}},defaultHue:{get:function(){return ii("WebMapServiceImageryProvider.defaultHue","WebMapServiceImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue},set:function(o){ii("WebMapServiceImageryProvider.defaultHue","WebMapServiceImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue=o}},defaultSaturation:{get:function(){return ii("WebMapServiceImageryProvider.defaultSaturation","WebMapServiceImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation},set:function(o){ii("WebMapServiceImageryProvider.defaultSaturation","WebMapServiceImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation=o}},defaultGamma:{get:function(){return ii("WebMapServiceImageryProvider.defaultGamma","WebMapServiceImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma},set:function(o){ii("WebMapServiceImageryProvider.defaultGamma","WebMapServiceImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma=o}},defaultMinificationFilter:{get:function(){return ii("WebMapServiceImageryProvider.defaultMinificationFilter","WebMapServiceImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter},set:function(o){ii("WebMapServiceImageryProvider.defaultMinificationFilter","WebMapServiceImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter=o}},defaultMagnificationFilter:{get:function(){return ii("WebMapServiceImageryProvider.defaultMagnificationFilter","WebMapServiceImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter},set:function(o){ii("WebMapServiceImageryProvider.defaultMagnificationFilter","WebMapServiceImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter=o}}});nw.prototype.getTileCredits=function(o,A,f){return this._tileProvider.getTileCredits(o,A,f)};nw.prototype.requestImage=function(o,A,f,m){let C,E=this._timeDynamicImagery,x;return O(E)&&(x=E.currentInterval,C=E.getFromCache(o,A,f,m)),O(C)||(C=xet(this,o,A,f,m,x)),O(C)&&O(E)&&E.checkApproachingInterval(o,A,f,m),C};nw.prototype.pickFeatures=function(o,A,f,m,C){let E=this._timeDynamicImagery,x=O(E)?E.currentInterval:void 0;return Ggi(this,o,A,f,m,C,x)};nw.DefaultParameters=Object.freeze({service:"WMS",version:"1.1.1",request:"GetMap",styles:"",format:"image/jpeg"});nw.GetFeatureInfoDefaultParameters=Object.freeze({service:"WMS",version:"1.1.1",request:"GetFeatureInfo"});nw.DefaultGetFeatureInfoFormats=Object.freeze([Object.freeze(new V7("json","application/json")),Object.freeze(new V7("xml","text/xml")),Object.freeze(new V7("text","text/html"))]);function S4e(o){let A={};for(let f in o)o.hasOwnProperty(f)&&(A[f.toLowerCase()]=o[f]);return A}var A8=nw,Hgi=Object.freeze({service:"WMTS",version:"1.0.0",request:"GetTile"});function gJ(o){o=oe(o,oe.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let A=Cr.createIfNeeded(o.url),f=o.style,m=o.tileMatrixSetID,C=A.url,E=C.match(/{/g);if(!O(E)||E.length===1&&/{s}/.test(C))A.setQueryParameters(Hgi),this._useKvp=!0;else{let Q={style:f,Style:f,TileMatrixSet:m};A.setTemplateValues(Q),this._useKvp=!1}this._resource=A,this._layer=o.layer,this._style=f,this._tileMatrixSetID=m,this._tileMatrixLabels=o.tileMatrixLabels,this._format=oe(o.format,"image/jpeg"),this._tileDiscardPolicy=o.tileDiscardPolicy,this._tilingScheme=O(o.tilingScheme)?o.tilingScheme:new Zf({ellipsoid:o.ellipsoid}),this._tileWidth=oe(o.tileWidth,256),this._tileHeight=oe(o.tileHeight,256),this._minimumLevel=oe(o.minimumLevel,0),this._maximumLevel=o.maximumLevel,this._rectangle=oe(o.rectangle,this._tilingScheme.rectangle),this._dimensions=o.dimensions;let x=this;this._reload=void 0,O(o.times)&&(this._timeDynamicImagery=new lne({clock:o.clock,times:o.times,requestImageFunction:function(Q,T,w,S,D){return yet(x,Q,T,w,S,D)},reloadFunction:function(){O(x._reload)&&x._reload()}})),this._readyPromise=Promise.resolve(!0),this._ready=!0;let y=this._tilingScheme.positionToTileXY(gi.southwest(this._rectangle),this._minimumLevel),I=this._tilingScheme.positionToTileXY(gi.northeast(this._rectangle),this._minimumLevel),v=(Math.abs(I.x-y.x)+1)*(Math.abs(I.y-y.y)+1);this._errorEvent=new ur;let B=o.credit;this._credit=typeof B=="string"?new Qa(B):B,this._subdomains=o.subdomains,Array.isArray(this._subdomains)?this._subdomains=this._subdomains.slice():O(this._subdomains)&&this._subdomains.length>0?this._subdomains=this._subdomains.split(""):this._subdomains=["a","b","c"]}function yet(o,A,f,m,C,E){let x=o._tileMatrixLabels,y=O(x)?x[m]:m.toString(),I=o._subdomains,v=o._dimensions,B=O(E)?E.data:void 0,Q,T;if(!o._useKvp)T={TileMatrix:y,TileRow:f.toString(),TileCol:A.toString(),s:I[(A+f+m)%I.length]},Q=o._resource.getDerivedResource({request:C}),Q.setTemplateValues(T),O(v)&&Q.setTemplateValues(v),O(B)&&Q.setTemplateValues(B);else{let w={};w.tilematrix=y,w.layer=o._layer,w.style=o._style,w.tilerow=f,w.tilecol=A,w.tilematrixset=o._tileMatrixSetID,w.format=o._format,O(v)&&(w=So(w,v)),O(B)&&(w=So(w,B)),T={s:I[(A+f+m)%I.length]},Q=o._resource.getDerivedResource({queryParameters:w,request:C}),Q.setTemplateValues(T)}return oQ.loadImage(o,Q)}Object.defineProperties(gJ.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return this._minimumLevel}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},format:{get:function(){return this._format}},ready:{get:function(){return ii("WebMapTileServiceImageryProvider.ready","WebMapTileServiceImageryProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),!0}},readyPromise:{get:function(){return ii("WebMapTileServiceImageryProvider.readyPromise","WebMapTileServiceImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}},clock:{get:function(){return this._timeDynamicImagery.clock},set:function(o){this._timeDynamicImagery.clock=o}},times:{get:function(){return this._timeDynamicImagery.times},set:function(o){this._timeDynamicImagery.times=o}},dimensions:{get:function(){return this._dimensions},set:function(o){this._dimensions!==o&&(this._dimensions=o,O(this._reload)&&this._reload())}},defaultAlpha:{get:function(){return ii("WebMapTileServiceImageryProvider.defaultAlpha","WebMapTileServiceImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha},set:function(o){ii("WebMapTileServiceImageryProvider.defaultAlpha","WebMapTileServiceImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha=o}},defaultNightAlpha:{get:function(){return ii("WebMapTileServiceImageryProvider.defaultNightAlpha","WebMapTileServiceImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha},set:function(o){ii("WebMapTileServiceImageryProvider.defaultNightAlpha","WebMapTileServiceImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha=o}},defaultDayAlpha:{get:function(){return ii("WebMapTileServiceImageryProvider.defaultDayAlpha","WebMapTileServiceImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha},set:function(o){ii("WebMapTileServiceImageryProvider.defaultDayAlpha","WebMapTileServiceImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha=o}},defaultBrightness:{get:function(){return ii("WebMapTileServiceImageryProvider.defaultBrightness","WebMapTileServiceImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness},set:function(o){ii("WebMapTileServiceImageryProvider.defaultBrightness","WebMapTileServiceImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness=o}},defaultContrast:{get:function(){return ii("WebMapTileServiceImageryProvider.defaultContrast","WebMapTileServiceImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast},set:function(o){ii("WebMapTileServiceImageryProvider.defaultContrast","WebMapTileServiceImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast=o}},defaultHue:{get:function(){return ii("WebMapTileServiceImageryProvider.defaultHue","WebMapTileServiceImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue},set:function(o){ii("WebMapTileServiceImageryProvider.defaultHue","WebMapTileServiceImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue=o}},defaultSaturation:{get:function(){return ii("WebMapTileServiceImageryProvider.defaultSaturation","WebMapTileServiceImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation},set:function(o){ii("WebMapTileServiceImageryProvider.defaultSaturation","WebMapTileServiceImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation=o}},defaultGamma:{get:function(){return ii("WebMapTileServiceImageryProvider.defaultGamma","WebMapTileServiceImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma},set:function(o){ii("WebMapTileServiceImageryProvider.defaultGamma","WebMapTileServiceImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma=o}},defaultMinificationFilter:{get:function(){return ii("WebMapTileServiceImageryProvider.defaultMinificationFilter","WebMapTileServiceImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter},set:function(o){ii("WebMapTileServiceImageryProvider.defaultMinificationFilter","WebMapTileServiceImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter=o}},defaultMagnificationFilter:{get:function(){return ii("WebMapTileServiceImageryProvider.defaultMagnificationFilter","WebMapTileServiceImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter},set:function(o){ii("WebMapTileServiceImageryProvider.defaultMagnificationFilter","WebMapTileServiceImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter=o}}});gJ.prototype.getTileCredits=function(o,A,f){};gJ.prototype.requestImage=function(o,A,f,m){let C,E=this._timeDynamicImagery,x;return O(E)&&(x=E.currentInterval,C=E.getFromCache(o,A,f,m)),O(C)||(C=yet(this,o,A,f,m,x)),O(C)&&O(E)&&E.checkApproachingInterval(o,A,f,m),C};gJ.prototype.pickFeatures=function(o,A,f,m,C){};var F3=gJ;function HS(o){return function(A){return new o(A)}}var Vgi={ARCGIS_MAPSERVER:HS(z_),BING:HS(a8),GOOGLE_EARTH:HS(ane),MAPBOX:HS(u8),SINGLE_TILE:HS(Cv),TMS:HS(Lw),URL_TEMPLATE:HS(Hx),WMS:HS(A8),WMTS:HS(F3)},zgi={ARCGIS_MAPSERVER:z_.fromUrl,BING:async(o,A)=>a8.fromUrl(o,A),GOOGLE_EARTH:async(o,A)=>{let f=A.channel;return delete A.channel,ane.fromUrl(o,f,A)},MAPBOX:(o,A)=>new u8({url:o,...A}),SINGLE_TILE:Cv.fromUrl,TMS:Lw.fromUrl,URL_TEMPLATE:(o,A)=>new Hx({url:o,...A}),WMS:(o,A)=>new A8({url:o,...A}),WMTS:(o,A)=>new F3({url:o,...A})};function Bx(o){o=oe(o,oe.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._ready=!1,this._tileCredits=void 0,this._errorEvent=new ur;let A=o.assetId;O(A)&&(ii("IonImageryProvider options.assetId","options.assetId was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use IonImageryProvider.fromAssetId instead."),Bx._initialize(this,A,o))}Object.defineProperties(Bx.prototype,{ready:{get:function(){return ii("IonImageryProvider.ready","IonImageryProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use IonImageryProvider.fromAssetId instead."),this._ready}},readyPromise:{get:function(){return ii("IonImageryProvider.readyPromise","IonImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use IonImageryProvider.fromAssetId instead."),this._readyPromise}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}},proxy:{get:function(){}},defaultAlpha:{get:function(){return ii("IonImageryProvider.defaultAlpha","IonImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha},set:function(o){ii("IonImageryProvider.defaultAlpha","IonImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha=o}},defaultNightAlpha:{get:function(){return ii("IonImageryProvider.defaultNightAlpha","IonImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this.defaultNightAlpha},set:function(o){ii("IonImageryProvider.defaultNightAlpha","IonImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this.defaultNightAlpha=o}},defaultDayAlpha:{get:function(){return ii("IonImageryProvider.defaultDayAlpha","IonImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha},set:function(o){ii("IonImageryProvider.defaultDayAlpha","IonImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha=o}},defaultBrightness:{get:function(){return ii("IonImageryProvider.defaultBrightness","IonImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness},set:function(o){ii("IonImageryProvider.defaultBrightness","IonImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness=o}},defaultContrast:{get:function(){return ii("IonImageryProvider.defaultContrast","IonImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast},set:function(o){ii("IonImageryProvider.defaultContrast","IonImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast=o}},defaultHue:{get:function(){return ii("IonImageryProvider.defaultHue","IonImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue},set:function(o){ii("IonImageryProvider.defaultHue","IonImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue=o}},defaultSaturation:{get:function(){return ii("IonImageryProvider.defaultSaturation","IonImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation},set:function(o){ii("IonImageryProvider.defaultSaturation","IonImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation=o}},defaultGamma:{get:function(){return ii("IonImageryProvider.defaultGamma","IonImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma},set:function(o){ii("IonImageryProvider.defaultGamma","IonImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma=o}},defaultMinificationFilter:{get:function(){return ii("IonImageryProvider.defaultMinificationFilter","IonImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter},set:function(o){ii("IonImageryProvider.defaultMinificationFilter","IonImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter=o}},defaultMagnificationFilter:{get:function(){return ii("IonImageryProvider.defaultMagnificationFilter","IonImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter},set:function(o){ii("IonImageryProvider.defaultMagnificationFilter","IonImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter=o}}});Bx._initialize=function(o,A,f){let m=H_._createEndpointResource(A,f),C=A.toString()+f.accessToken+f.server,E=Bx._endpointCache[C];O(E)||(E=m.fetchJson(),Bx._endpointCache[C]=E),o._readyPromise=E.then(function(x){if(x.type!=="IMAGERY")return Promise.reject(new ki(`Cesium ion asset ${A} is not an imagery asset.`));let y,I=x.externalType;if(!O(I))y=new Lw({url:new H_(x,m)});else{let v=Vgi[I];if(!O(v))return Promise.reject(new ki(`Unrecognized Cesium ion imagery type: ${I}`));y=v(x.options)}return o._tileCredits=H_.getCreditsFromEndpoint(x,m),y.errorEvent.addEventListener(function(v){v.provider=o,o._errorEvent.raiseEvent(v)}),o._imageryProvider=y,Promise.resolve(y._readyPromise).then(function(){return o._ready=!0,!0})})};Bx.fromAssetId=async function(o,A){A=oe(A,oe.EMPTY_OBJECT);let f=H_._createEndpointResource(o,A),m=o.toString()+A.accessToken+A.server,C=Bx._endpointCache[m];O(C)||(C=f.fetchJson(),Bx._endpointCache[m]=C);let E=await C;if(E.type!=="IMAGERY")throw new ki(`Cesium ion asset ${o} is not an imagery asset.`);let x,y=E.externalType;if(!O(y))x=await Lw.fromUrl(new H_(E,f));else{let v=zgi[y];if(!O(v))throw new ki(`Unrecognized Cesium ion imagery type: ${y}`);let B={...E.options},Q=B.url;delete B.url,x=await v(Q,B)}let I=new Bx(A);return x.errorEvent.addEventListener(function(v){v.provider=I,I._errorEvent.raiseEvent(v)}),I._tileCredits=H_.getCreditsFromEndpoint(E,f),I._imageryProvider=x,I._ready=!0,I._readyPromise=Promise.resolve(!0),I};Bx.prototype.getTileCredits=function(o,A,f){let m=this._imageryProvider.getTileCredits(o,A,f);return O(m)?this._tileCredits.concat(m):this._tileCredits};Bx.prototype.requestImage=function(o,A,f,m){return this._imageryProvider.requestImage(o,A,f,m)};Bx.prototype.pickFeatures=function(o,A,f,m,C){return this._imageryProvider.pickFeatures(o,A,f,m,C)};Bx._endpointCache={};var Ib=Bx,Ygi={AERIAL:2,AERIAL_WITH_LABELS:3,ROAD:4},dN=Object.freeze(Ygi);function Jgi(o){o=oe(o,oe.EMPTY_OBJECT);let A=oe(o.style,dN.AERIAL);return Ib.fromAssetId(A)}var z5=Jgi;function k4(o,A,f,m,C){if(this.imageryLayer=o,this.x=A,this.y=f,this.level=m,this.request=void 0,m!==0){let x=A/2|0,y=f/2|0,I=m-1;this.parent=o.getImageryFromCache(x,y,I)}this.state=_u.UNLOADED,this.imageUrl=void 0,this.image=void 0,this.texture=void 0,this.textureWebMercator=void 0,this.credits=void 0,this.referenceCount=0;let E=o.imageryProvider;!O(C)&&o.ready&&(O(E._ready)?E._ready:!O(E.ready)||E.ready)&&(C=o.imageryProvider.tilingScheme.tileXYToRectangle(A,f,m)),this.rectangle=C}k4.createPlaceholder=function(o){let A=new k4(o,0,0,0);return A.addReference(),A.state=_u.PLACEHOLDER,A};k4.prototype.addReference=function(){++this.referenceCount};k4.prototype.releaseReference=function(){return--this.referenceCount,this.referenceCount===0?(this.imageryLayer.removeImageryFromCache(this),O(this.parent)&&this.parent.releaseReference(),O(this.image)&&O(this.image.destroy)&&this.image.destroy(),O(this.texture)&&this.texture.destroy(),O(this.textureWebMercator)&&this.texture!==this.textureWebMercator&&this.textureWebMercator.destroy(),Ar(this),0):this.referenceCount};k4.prototype.processStateMachine=function(o,A,f){this.state===_u.UNLOADED&&!f&&(this.state=_u.TRANSITIONING,this.imageryLayer._requestImagery(this)),this.state===_u.RECEIVED&&(this.state=_u.TRANSITIONING,this.imageryLayer._createTexture(o.context,this));let m=this.state===_u.READY&&A&&!this.texture;(this.state===_u.TEXTURE_LOADED||m)&&(this.state=_u.TRANSITIONING,this.imageryLayer._reprojectTexture(o,this,A))};var une=k4;function Cwe(o,A,f){this.readyImagery=void 0,this.loadingImagery=o,this.textureCoordinateRectangle=A,this.textureTranslationAndScale=void 0,this.useWebMercatorT=f}Cwe.prototype.freeResources=function(){O(this.readyImagery)&&this.readyImagery.releaseReference(),O(this.loadingImagery)&&this.loadingImagery.releaseReference()};Cwe.prototype.processStateMachine=function(o,A,f){let m=this.loadingImagery,C=m.imageryLayer;if(m.processStateMachine(A,!this.useWebMercatorT,f),m.state===_u.READY)return O(this.readyImagery)&&this.readyImagery.releaseReference(),this.readyImagery=this.loadingImagery,this.loadingImagery=void 0,this.textureTranslationAndScale=C._calculateTextureTranslationAndScale(o,this),!0;let E=m.parent,x;for(;O(E)&&(E.state!==_u.READY||!this.useWebMercatorT&&!O(E.texture));)E.state!==_u.FAILED&&E.state!==_u.INVALID&&(x=x||E),E=E.parent;return this.readyImagery!==E&&(O(this.readyImagery)&&this.readyImagery.releaseReference(),this.readyImagery=E,O(E)&&(E.addReference(),this.textureTranslationAndScale=C._calculateTextureTranslationAndScale(o,this))),m.state===_u.FAILED||m.state===_u.INVALID?O(x)?(x.processStateMachine(A,!this.useWebMercatorT,f),!1):!0:!1};var Ane=Cwe;function Pl(o,A){this._imageryProvider=o,this._readyEvent=new ur,this._errorEvent=new ur,A=oe(A,oe.EMPTY_OBJECT),o=oe(o,oe.EMPTY_OBJECT),this._availability=void 0,this._definitionChanged=new ur,this.availability=oe(this.availability,A.availability),this.alpha=oe(A.alpha,oe(o._defaultAlpha,1)),this.nightAlpha=oe(A.nightAlpha,oe(o._defaultNightAlpha,1)),this.dayAlpha=oe(A.dayAlpha,oe(o._defaultDayAlpha,1)),this.brightness=oe(A.brightness,oe(o._defaultBrightness,Pl.DEFAULT_BRIGHTNESS)),this.contrast=oe(A.contrast,oe(o._defaultContrast,Pl.DEFAULT_CONTRAST)),this.hue=oe(A.hue,oe(o._defaultHue,Pl.DEFAULT_HUE)),this.saturation=oe(A.saturation,oe(o._defaultSaturation,Pl.DEFAULT_SATURATION)),this.gamma=oe(A.gamma,oe(o._defaultGamma,Pl.DEFAULT_GAMMA)),this.splitDirection=oe(A.splitDirection,Pl.DEFAULT_SPLIT),this.minificationFilter=oe(A.minificationFilter,oe(o._defaultMinificationFilter,Pl.DEFAULT_MINIFICATION_FILTER)),this.magnificationFilter=oe(A.magnificationFilter,oe(o._defaultMagnificationFilter,Pl.DEFAULT_MAGNIFICATION_FILTER)),this.show=oe(A.show,!0),this._minimumTerrainLevel=A.minimumTerrainLevel,this._maximumTerrainLevel=A.maximumTerrainLevel,this._rectangle=oe(A.rectangle,gi.MAX_VALUE),this._maximumAnisotropy=A.maximumAnisotropy,this._imageryCache={},this._imageryCacheAdd={},this._skeletonPlaceholder=new Ane(une.createPlaceholder(this)),this._show=!0,this._layerIndex=-1,this._isBaseLayer=!1,this._requestImageError=void 0,this._reprojectComputeCommands=[],this.cutoutRectangle=A.cutoutRectangle,this.colorToAlpha=A.colorToAlpha,this.colorToAlphaThreshold=oe(A.colorToAlphaThreshold,Pl.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD)}Object.defineProperties(Pl.prototype,{availability:zy("availability"),definitionChanged:{get:function(){return this._definitionChanged}},imageryProvider:{get:function(){return this._imageryProvider}},ready:{get:function(){return O(this._imageryProvider)}},errorEvent:{get:function(){return this._errorEvent}},readyEvent:{get:function(){return this._readyEvent}},rectangle:{get:function(){return this._rectangle}}});Pl.DEFAULT_BRIGHTNESS=1;Pl.DEFAULT_CONTRAST=1;Pl.DEFAULT_HUE=0;Pl.DEFAULT_SATURATION=1;Pl.DEFAULT_GAMMA=1;Pl.DEFAULT_SPLIT=sT.NONE;Pl.DEFAULT_MINIFICATION_FILTER=Ba.LINEAR;Pl.DEFAULT_MAGNIFICATION_FILTER=Wu.LINEAR;Pl.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD=.004;Pl.fromProviderAsync=function(o,A){let f=new Pl(void 0,A);return Xgi(f,Promise.resolve(o)),f};Pl.fromWorldImagery=function(o){return o=oe(o,oe.EMPTY_OBJECT),Pl.fromProviderAsync(z5({style:o.style}),o)};Pl.prototype.isBaseLayer=function(){return this._isBaseLayer};Pl.prototype.isDestroyed=function(){return!1};Pl.prototype.destroy=function(){return Ar(this)};var Iet=new gi,D4e=new gi,Nhe=new gi,_et=new gi;Pl.prototype.getViewableRectangle=async function(){ii("ImageryLayer.getViewableRectangle","ImageryLayer.getViewableRectangle was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.getImageryRectangle instead.");let o=this._imageryProvider,A=this._rectangle;return O(o._readyPromise)?await o._readyPromise:O(o.readyPromise)&&await o.readyPromise,gi.intersection(o.rectangle,A)};Pl.prototype.getImageryRectangle=function(){let o=this._imageryProvider,A=this._rectangle;return gi.intersection(o.rectangle,A)};Pl.prototype._createTileImagerySkeletons=function(o,A,f){let m=o.data;if(!O(A)||O(this._minimumTerrainLevel)&&o.level<this._minimumTerrainLevel||O(this._maximumTerrainLevel)&&o.level>this._maximumTerrainLevel)return!1;O(f)||(f=m.imagery.length);let C=this._imageryProvider;if(!this.ready||(O(C._ready)?!C._ready:O(C.ready)&&!C.ready))return this._skeletonPlaceholder.loadingImagery.addReference(),m.imagery.splice(f,0,this._skeletonPlaceholder),!0;let E=(C.tilingScheme.projection instanceof ec||C.tilingScheme.projection instanceof oG)&&o.rectangle.north<ec.MaximumLatitude&&o.rectangle.south>-ec.MaximumLatitude,x=gi.intersection(C.rectangle,this._rectangle,Iet),y=gi.intersection(o.rectangle,x,D4e);if(!O(y)){if(!this.isBaseLayer())return!1;let ee=x,ie=o.rectangle;y=D4e,ie.south>=ee.north?y.north=y.south=ee.north:ie.north<=ee.south?y.north=y.south=ee.south:(y.south=Math.max(ie.south,ee.south),y.north=Math.min(ie.north,ee.north)),ie.west>=ee.east?y.west=y.east=ee.east:ie.east<=ee.west?y.west=y.east=ee.west:(y.west=Math.max(ie.west,ee.west),y.east=Math.min(ie.east,ee.east))}let I=0;y.south>0?I=y.south:y.north<0&&(I=y.north);let v=1*A.getLevelMaximumGeometricError(o.level),B=jgi(this,v,I);B=Math.max(0,B);let Q=C.maximumLevel;if(B>Q&&(B=Q),O(C.minimumLevel)){let ee=C.minimumLevel;B<ee&&(B=ee)}let T=C.tilingScheme,w=T.positionToTileXY(gi.northwest(y),B),S=T.positionToTileXY(gi.southeast(y),B),D=o.rectangle.width/512,R=o.rectangle.height/512,P=T.tileXYToRectangle(w.x,w.y,B);Math.abs(P.south-o.rectangle.north)<R&&w.y<S.y&&++w.y,Math.abs(P.east-o.rectangle.west)<D&&w.x<S.x&&++w.x;let M=T.tileXYToRectangle(S.x,S.y,B);Math.abs(M.north-o.rectangle.south)<R&&S.y>w.y&&--S.y,Math.abs(M.west-o.rectangle.east)<D&&S.x>w.x&&--S.x;let L=gi.clone(o.rectangle,_et),F=T.tileXYToRectangle(w.x,w.y,B),k=gi.intersection(F,x,Nhe),N;E?(T.rectangleToNativeRectangle(L,L),T.rectangleToNativeRectangle(F,F),T.rectangleToNativeRectangle(k,k),T.rectangleToNativeRectangle(x,x),N=T.tileXYToNativeRectangle.bind(T),D=L.width/512,R=L.height/512):N=T.tileXYToRectangle.bind(T);let G,J=0,K=1,X;!this.isBaseLayer()&&Math.abs(k.west-L.west)>=D&&(J=Math.min(1,(k.west-L.west)/L.width)),!this.isBaseLayer()&&Math.abs(k.north-L.north)>=R&&(K=Math.max(0,(k.north-L.south)/L.height));let q=K;for(let ee=w.x;ee<=S.x;ee++)if(G=J,F=N(ee,w.y,B),k=gi.simpleIntersection(F,x,Nhe),!!O(k)){J=Math.min(1,(k.east-L.west)/L.width),ee===S.x&&(this.isBaseLayer()||Math.abs(k.east-L.east)<D)&&(J=1),K=q;for(let ie=w.y;ie<=S.y;ie++){if(X=K,F=N(ee,ie,B),k=gi.simpleIntersection(F,x,Nhe),!O(k))continue;K=Math.max(0,(k.south-L.south)/L.height),ie===S.y&&(this.isBaseLayer()||Math.abs(k.south-L.south)<R)&&(K=0);let H=new zt(G,K,J,X),le=this.getImageryFromCache(ee,ie,B);m.imagery.splice(f,0,new Ane(le,H,E)),++f}}return!0};Pl.prototype._calculateTextureTranslationAndScale=function(o,A){let f=A.readyImagery.rectangle,m=o.rectangle;if(A.useWebMercatorT){let I=A.readyImagery.imageryLayer.imageryProvider.tilingScheme;f=I.rectangleToNativeRectangle(f,Iet),m=I.rectangleToNativeRectangle(m,_et)}let C=m.width,E=m.height,x=C/f.width,y=E/f.height;return new zt(x*(m.west-f.west)/C,y*(m.south-f.south)/E,x,y)};Pl.prototype._requestImagery=function(o){let A=this._imageryProvider,f=this,m=O4(o.x,o.y,o.level);A.addLevel&&this._imageryCache[m]&&(delete this._imageryCache[m],o.level+=A.addLevel,m=O4(o.x,o.y,o.level),this._imageryCacheAdd[m]=o);function C(y){if(!O(y))return E();o.image=y,o.state=_u.RECEIVED,o.request=void 0,yh.reportSuccess(f._requestImageError)}function E(y){if(o.request.state===Ju.CANCELLED){o.state=_u.UNLOADED,o.request=void 0;return}o.state=_u.FAILED,o.request=void 0;let I=`Failed to obtain image tile X: ${o.x} Y: ${o.y} Level: ${o.level}.`;f._requestImageError=yh.reportError(f._requestImageError,A,A.errorEvent,I,o.x,o.y,o.level,y),f._requestImageError.retry&&x()}function x(){let y=new lp({throttle:!1,throttleByServer:!0,type:II.IMAGERY});o.request=y,o.state=_u.TRANSITIONING;let I=A.requestImage(o.x,o.y,o.level,y);if(!O(I)){o.state=_u.UNLOADED,o.request=void 0;return}O(A.getTileCredits)&&(o.credits=A.getTileCredits(o.x,o.y,o.level)),I.then(function(v){C(v)}).catch(function(v){E(v)})}x()};Pl.prototype._createTextureWebGL=function(o,A){let f=new Oa({minificationFilter:this.minificationFilter,magnificationFilter:this.magnificationFilter}),m=A.image;return O(m.internalFormat)?new Nn({context:o,pixelFormat:m.internalFormat,width:m.width,height:m.height,source:{arrayBufferView:m.bufferView},sampler:f}):new Nn({context:o,source:m,pixelFormat:this._imageryProvider.hasAlphaChannel?rn.RGBA:rn.RGB,sampler:f})};Pl.prototype._createTexture=function(o,A){let f=this._imageryProvider,m=A.image;if(O(f.tileDiscardPolicy)){let E=f.tileDiscardPolicy;if(O(E)){if(!E.isReady()){A.state=_u.RECEIVED;return}if(E.shouldDiscardImage(m)){A.state=_u.INVALID;return}}}let C=this._createTextureWebGL(o,A);f.tilingScheme.projection instanceof ec||f.tilingScheme.projection instanceof oG?A.textureWebMercator=C:A.texture=C,A.image=void 0,A.state=_u.TEXTURE_LOADED};function T4e(o,A,f){return`${o}:${A}:${f}`}Pl.prototype._finalizeReprojectTexture=function(o,A){let f=this.minificationFilter,m=this.magnificationFilter;if(f===Ba.LINEAR&&m===Wu.LINEAR&&!rn.isCompressedFormat(A.pixelFormat)&&Be.isPowerOfTwo(A.width)&&Be.isPowerOfTwo(A.height)){f=Ba.LINEAR_MIPMAP_LINEAR;let C=Zn.maximumTextureFilterAnisotropy,E=Math.min(C,oe(this._maximumAnisotropy,C)),x=T4e(f,m,E),y=o.cache.imageryLayerMipmapSamplers;O(y)||(y={},o.cache.imageryLayerMipmapSamplers=y);let I=y[x];O(I)||(I=y[x]=new Oa({minificationFilter:f,magnificationFilter:m,maximumAnisotropy:E})),A.generateMipmap(eG.NICEST),A.sampler=I}else{let C=T4e(f,m,0),E=o.cache.imageryLayerNonMipmapSamplers;O(E)||(E={},o.cache.imageryLayerNonMipmapSamplers=E);let x=E[C];O(x)||(x=E[C]=new Oa({minificationFilter:f,magnificationFilter:m})),A.sampler=x}};Pl.prototype._reprojectTexture=function(o,A,f){let m=A.textureWebMercator||A.texture,C=A.rectangle,E=o.context;if(f=oe(f,!0),f&&!(this._imageryProvider.tilingScheme.projection instanceof Kd)&&C.width/m.width>1e-5){let x=this;A.addReference();let y=new TN({persists:!0,owner:this,preExecute:function(I){Wgi(I,E,m,A.rectangle)},postExecute:function(I){A.texture=I,x._finalizeReprojectTexture(E,I),A.state=_u.READY,A.releaseReference()},canceled:function(){A.state=_u.TEXTURE_LOADED,A.releaseReference()}});this._reprojectComputeCommands.push(y)}else f&&(A.texture=m),this._finalizeReprojectTexture(E,m),A.state=_u.READY};Pl.prototype.queueReprojectionCommands=function(o){let A=this._reprojectComputeCommands,f=A.length;for(let m=0;m<f;++m)o.commandList.push(A[m]);A.length=0};Pl.prototype.cancelReprojections=function(){this._reprojectComputeCommands.forEach(function(o){O(o.canceled)&&o.canceled()}),this._reprojectComputeCommands.length=0};Pl.prototype.getImageryFromCache=function(o,A,f,m){let C=O4(o,A,f),E=this._imageryCache[C];if(this._imageryProvider.addLevel){let x=O4(o,A,f+this._imageryProvider.addLevel);E||(E=this._imageryCacheAdd[x])}return O(E)||(E=new une(this,o,A,f,m),this._imageryCache[C]=E),E.addReference(),E};Pl.prototype.removeImageryFromCache=function(o){let A=O4(o.x,o.y,o.level);if(this._imageryProvider.addLevel){this._imageryCacheAdd[A]&&delete this._imageryCacheAdd[A],this._imageryCache[A]&&delete this._imageryCache[A];let f=O4(o.x,o.y,o.level+this._imageryProvider.addLevel);this._imageryCacheAdd[f]&&delete this._imageryCacheAdd[f];return}delete this._imageryCache[A]};Pl.prototype.isAvailable=function(o){let A=this._availability;return!O(A)||A.contains(o)};function O4(o,A,f){return JSON.stringify([o,A,f])}var CX={u_textureDimensions:function(){return this.textureDimensions},u_texture:function(){return this.texture},textureDimensions:new rt,texture:void 0},Kgi=wo.supportsTypedArrays()?new Float32Array(2*64):void 0;function Wgi(o,A,f,m){let C=A.cache.imageryLayer_reproject;if(!O(C)){C=A.cache.imageryLayer_reproject={vertexArray:void 0,shaderProgram:void 0,sampler:void 0,destroy:function(){O(this.framebuffer)&&this.framebuffer.destroy(),O(this.vertexArray)&&this.vertexArray.destroy(),O(this.shaderProgram)&&this.shaderProgram.destroy()}};let D=new Float32Array(2*64*2),R=0;for(let k=0;k<64;++k){let N=k/63;D[R++]=0,D[R++]=N,D[R++]=1,D[R++]=N}let P={position:0,webMercatorT:1},M=uC.getRegularGridIndices(2,64),L=Wn.createIndexBuffer({context:A,typedArray:M,usage:Gr.STATIC_DRAW,indexDatatype:Bn.UNSIGNED_SHORT});C.vertexArray=new hu({context:A,attributes:[{index:P.position,vertexBuffer:Wn.createVertexBuffer({context:A,typedArray:D,usage:Gr.STATIC_DRAW}),componentsPerAttribute:2},{index:P.webMercatorT,vertexBuffer:Wn.createVertexBuffer({context:A,sizeInBytes:64*2*4,usage:Gr.STREAM_DRAW}),componentsPerAttribute:1}],indexBuffer:L});let F=new _r({sources:[Jve]});C.shaderProgram=qa.fromCache({context:A,vertexShaderSource:F,fragmentShaderSource:Yve,attributeLocations:P}),C.sampler=new Oa({wrapS:Vo.CLAMP_TO_EDGE,wrapT:Vo.CLAMP_TO_EDGE,minificationFilter:Ba.LINEAR,magnificationFilter:Wu.LINEAR})}f.sampler=C.sampler;let E=f.width,x=f.height;CX.textureDimensions.x=E,CX.textureDimensions.y=x,CX.texture=f;let y=Math.sin(m.south),I=.5*Math.log((1+y)/(1-y));y=Math.sin(m.north);let v=1/(.5*Math.log((1+y)/(1-y))-I),B=new Nn({context:A,width:E,height:x,pixelFormat:f.pixelFormat,pixelDatatype:f.pixelDatatype,preMultiplyAlpha:f.preMultiplyAlpha});Be.isPowerOfTwo(E)&&Be.isPowerOfTwo(x)&&B.generateMipmap(eG.NICEST);let Q=m.south,T=m.north,w=Kgi,S=0;for(let D=0;D<64;++D){let R=D/63,P=Be.lerp(Q,T,R);y=Math.sin(P);let M=(.5*Math.log((1+y)/(1-y))-I)*v;w[S++]=M,w[S++]=M}C.vertexArray.getAttribute(1).vertexBuffer.copyFromArrayView(w),o.shaderProgram=C.shaderProgram,o.outputTexture=B,o.uniformMap=CX,o.vertexArray=C.vertexArray}function jgi(o,A,f){let m=o._imageryProvider,C=m.tilingScheme,E=C.ellipsoid,x=o._imageryProvider.tilingScheme.projection instanceof Kd?1:Math.cos(f),y=C.rectangle,I=E.maximumRadius*y.width*x/(m.tileWidth*C.getNumberOfXTilesAtLevel(0))/A,v=Math.log(I)/Math.log(2);return Math.round(v)|0}function qgi(o,A){o.numberOfListeners>0?o.raiseEvent(A):console.error(A)}async function Xgi(o,A){let f;try{if(f=await Promise.resolve(A),o.isDestroyed())return;o._imageryProvider=f,o._readyEvent.raiseEvent(f)}catch(m){qgi(o._errorEvent,m)}}var oE=Pl,Zgi={WEST:0,NORTH:1,EAST:2,SOUTH:3,NORTHWEST:4,NORTHEAST:5,SOUTHWEST:6,SOUTHEAST:7},ka=Zgi;function c8(o){this.tile=o,this.frameLastUpdated=void 0,this.westMeshes=[],this.westTiles=[],this.southMeshes=[],this.southTiles=[],this.eastMeshes=[],this.eastTiles=[],this.northMeshes=[],this.northTiles=[],this.southwestMesh=void 0,this.southwestTile=void 0,this.southeastMesh=void 0,this.southeastTile=void 0,this.northwestMesh=void 0,this.northwestTile=void 0,this.northeastMesh=void 0,this.northeastTile=void 0,this.changedThisFrame=!0,this.visitedFrame=void 0,this.enqueuedFrame=void 0,this.mesh=void 0,this.vertexArray=void 0,this.waterMaskTexture=void 0,this.waterMaskTranslationAndScale=new zt}c8.prototype.update=function(o,A,f){this.changedThisFrame&&(vet(o,A,this.tile,f),this.changedThisFrame=!1)};c8.prototype.destroy=function(o){this._destroyVertexArray(o),O(this.waterMaskTexture)&&(--this.waterMaskTexture.referenceCount,this.waterMaskTexture.referenceCount===0&&this.waterMaskTexture.destroy(),this.waterMaskTexture=void 0)};c8.prototype._destroyVertexArray=function(o){O(this.vertexArray)&&(O(o)?o.push(this.vertexArray):GD._freeVertexArray(this.vertexArray),this.vertexArray=void 0)};var $gi=new bN;c8.updateFillTiles=function(o,A,f,m){let C=o._quadtree,E=C._levelZeroTiles,x=C._lastSelectionFrameNumber,y=$gi;y.clear();for(let v=0;v<A.length;++v){let B=A[v];O(B.data.vertexArray)&&y.enqueue(A[v])}let I=y.dequeue();for(;I!==void 0;){let v=I.findTileToWest(E),B=I.findTileToSouth(E),Q=I.findTileToEast(E),T=I.findTileToNorth(E);_g(o,f,I,v,x,ka.EAST,!1,y,m),_g(o,f,I,B,x,ka.NORTH,!1,y,m),_g(o,f,I,Q,x,ka.WEST,!1,y,m),_g(o,f,I,T,x,ka.SOUTH,!1,y,m);let w=v.findTileToNorth(E),S=v.findTileToSouth(E),D=Q.findTileToNorth(E),R=Q.findTileToSouth(E);_g(o,f,I,w,x,ka.SOUTHEAST,!1,y,m),_g(o,f,I,D,x,ka.SOUTHWEST,!1,y,m),_g(o,f,I,S,x,ka.NORTHEAST,!1,y,m),_g(o,f,I,R,x,ka.NORTHWEST,!1,y,m),I=y.dequeue()}};function _g(o,A,f,m,C,E,x,y,I){if(m===void 0)return;let v=m;for(;v&&(v._lastSelectionResultFrame!==C||Xo.wasKicked(v._lastSelectionResult)||Xo.originalResult(v._lastSelectionResult)===Xo.CULLED);){if(x)return;let B=v.parent;if(E>=ka.NORTHWEST&&B!==void 0)switch(E){case ka.NORTHWEST:v=v===B.northwestChild?B:void 0;break;case ka.NORTHEAST:v=v===B.northeastChild?B:void 0;break;case ka.SOUTHWEST:v=v===B.southwestChild?B:void 0;break;case ka.SOUTHEAST:v=v===B.southeastChild?B:void 0;break}else v=B}if(v!==void 0){if(v._lastSelectionResult===Xo.RENDERED){if(O(v.data.vertexArray))return;e0i(o,A,f,v,E,C,y,I);return}if(Xo.originalResult(m._lastSelectionResult)!==Xo.CULLED)switch(E){case ka.WEST:_g(o,A,f,m.northwestChild,C,E,!0,y,I),_g(o,A,f,m.southwestChild,C,E,!0,y,I);break;case ka.EAST:_g(o,A,f,m.southeastChild,C,E,!0,y,I),_g(o,A,f,m.northeastChild,C,E,!0,y,I);break;case ka.SOUTH:_g(o,A,f,m.southwestChild,C,E,!0,y,I),_g(o,A,f,m.southeastChild,C,E,!0,y,I);break;case ka.NORTH:_g(o,A,f,m.northeastChild,C,E,!0,y,I),_g(o,A,f,m.northwestChild,C,E,!0,y,I);break;case ka.NORTHWEST:_g(o,A,f,m.northwestChild,C,E,!0,y,I);break;case ka.NORTHEAST:_g(o,A,f,m.northeastChild,C,E,!0,y,I);break;case ka.SOUTHWEST:_g(o,A,f,m.southwestChild,C,E,!0,y,I);break;case ka.SOUTHEAST:_g(o,A,f,m.southeastChild,C,E,!0,y,I);break;default:throw new Ai("Invalid edge")}}}function e0i(o,A,f,m,C,E,x,y){let I=m.data;if(I.fill===void 0)I.fill=new c8(m);else if(I.fill.visitedFrame===E)return;I.fill.enqueuedFrame!==E&&(I.fill.enqueuedFrame=E,I.fill.changedThisFrame=!1,x.enqueue(m)),t0i(o,A,f,m,C,y)}function t0i(o,A,f,m,C,E){let x=m.data.fill,y,I=f.data.fill;O(I)?(I.visitedFrame=A.frameNumber,I.changedThisFrame&&(vet(o,A,f,E),I.changedThisFrame=!1),y=f.data.fill.mesh):y=f.data.mesh;let v,B;switch(C){case ka.WEST:v=x.westMeshes,B=x.westTiles;break;case ka.SOUTH:v=x.southMeshes,B=x.southTiles;break;case ka.EAST:v=x.eastMeshes,B=x.eastTiles;break;case ka.NORTH:v=x.northMeshes,B=x.northTiles;break;case ka.NORTHWEST:x.changedThisFrame=x.changedThisFrame||x.northwestMesh!==y,x.northwestMesh=y,x.northwestTile=f;return;case ka.NORTHEAST:x.changedThisFrame=x.changedThisFrame||x.northeastMesh!==y,x.northeastMesh=y,x.northeastTile=f;return;case ka.SOUTHWEST:x.changedThisFrame=x.changedThisFrame||x.southwestMesh!==y,x.southwestMesh=y,x.southwestTile=f;return;case ka.SOUTHEAST:x.changedThisFrame=x.changedThisFrame||x.southeastMesh!==y,x.southeastMesh=y,x.southeastTile=f;return}if(f.level<=m.level){x.changedThisFrame=x.changedThisFrame||v[0]!==y||v.length!==1,v[0]=y,B[0]=f,v.length=1,B.length=1;return}let Q,T,w,S,D=f.rectangle,R,P=m.rectangle;switch(C){case ka.WEST:for(R=(P.north-P.south)*Be.EPSILON5,Q=0;Q<B.length&&(w=B[Q],S=w.rectangle,!Be.greaterThan(D.north,S.south,R));++Q);for(T=Q;T<B.length&&(w=B[T],S=w.rectangle,!Be.greaterThanOrEquals(D.south,S.north,R));++T);break;case ka.SOUTH:for(R=(P.east-P.west)*Be.EPSILON5,Q=0;Q<B.length&&(w=B[Q],S=w.rectangle,!Be.lessThan(D.west,S.east,R));++Q);for(T=Q;T<B.length&&(w=B[T],S=w.rectangle,!Be.lessThanOrEquals(D.east,S.west,R));++T);break;case ka.EAST:for(R=(P.north-P.south)*Be.EPSILON5,Q=0;Q<B.length&&(w=B[Q],S=w.rectangle,!Be.lessThan(D.south,S.north,R));++Q);for(T=Q;T<B.length&&(w=B[T],S=w.rectangle,!Be.lessThanOrEquals(D.north,S.south,R));++T);break;case ka.NORTH:for(R=(P.east-P.west)*Be.EPSILON5,Q=0;Q<B.length&&(w=B[Q],S=w.rectangle,!Be.greaterThan(D.east,S.west,R));++Q);for(T=Q;T<B.length&&(w=B[T],S=w.rectangle,!Be.greaterThanOrEquals(D.west,S.east,R));++T);break}T-Q===1?(x.changedThisFrame=x.changedThisFrame||v[Q]!==y,v[Q]=y,B[Q]=f):(x.changedThisFrame=!0,v.splice(Q,T-Q,y),B.splice(Q,T-Q,f))}var qF=new Rt,i0i=new Rt,Y5=new Z,Ewe=new Z,Bge=new rt,wge=new rt,Yy=new rt;function cne(){this.height=0,this.encodedNormal=new rt}function EX(o,A,f,m,C,E,x,y,I){if(O(C))return C;let v;if(O(E)&&O(x))v=(E.height+x.height)*.5;else if(O(E))v=E.height;else if(O(x))v=x.height;else if(O(y))v=y.height;else{let B=o.tile.data.tileBoundingRegion,Q=0,T=0;O(B)&&(Q=B.minimumHeight,T=B.maximumHeight),v=(Q+T)*.5}return Bet(o,A,f,m,v,I),I}var r0i={minimumHeight:0,maximumHeight:0},n0i=new Z,M4e=new cne,P4e=new cne,R4e=new cne,L4e=new cne,o0i=typeof Uint8Array<"u"?new Uint8Array(9*9):void 0,a0i={tilingScheme:void 0,x:0,y:0,level:0,exaggeration:1,exaggerationRelativeHeight:0};function vet(o,A,f,m){GD.initialize(f,o.terrainProvider,o._imageryLayers);let C=f.data,E=C.fill,x=f.rectangle,y=A.terrainExaggeration,I=A.terrainExaggerationRelativeHeight,v=y!==1,B=f.tilingScheme.ellipsoid,Q=yX(E,B,0,1,E.northwestTile,E.northwestMesh,E.northTiles,E.northMeshes,E.westTiles,E.westMeshes,R4e),T=yX(E,B,0,0,E.southwestTile,E.southwestMesh,E.westTiles,E.westMeshes,E.southTiles,E.southMeshes,M4e),w=yX(E,B,1,0,E.southeastTile,E.southeastMesh,E.southTiles,E.southMeshes,E.eastTiles,E.eastMeshes,P4e),S=yX(E,B,1,1,E.northeastTile,E.northeastMesh,E.eastTiles,E.eastMeshes,E.northTiles,E.northMeshes,L4e);Q=EX(E,B,0,1,Q,T,S,w,R4e),T=EX(E,B,0,0,T,Q,w,S,M4e),w=EX(E,B,1,1,w,T,S,Q,P4e),S=EX(E,B,1,1,S,w,Q,T,L4e);let D=T.height,R=w.height,P=Q.height,M=S.height,L=Math.min(D,R,P,M),F=Math.max(D,R,P,M),k=(L+F)*.5,N,G,J=o.getLevelMaximumGeometricError(f.level),K=B.maximumRadius-J,X=Math.acos(K/B.maximumRadius)*4;if(X*=1.5,x.width>X&&F-L<=J){let ie=new Rw({width:9,height:9,buffer:o0i,structure:{heightOffset:F},flattenPolygonHeight:[1],flattenPolygon:[]}),H=a0i;H.tilingScheme=f.tilingScheme,H.x=f.x,H.y=f.y,H.level=f.level,H.exaggeration=y,H.exaggerationRelativeHeight=I,E.mesh=ie._createMeshSync(H)}else{let ie=v,H=gi.center(x,i0i);H.height=k;let le=B.cartographicToCartesian(H,n0i),ue=new OD(le,void 0,void 0,void 0,void 0,!0,!0,ie,y,I),Ae=5,he;for(he=E.westMeshes,N=0,G=he.length;N<G;++N)Ae+=he[N].eastIndicesNorthToSouth.length;for(he=E.southMeshes,N=0,G=he.length;N<G;++N)Ae+=he[N].northIndicesWestToEast.length;for(he=E.eastMeshes,N=0,G=he.length;N<G;++N)Ae+=he[N].westIndicesSouthToNorth.length;for(he=E.northMeshes,N=0,G=he.length;N<G;++N)Ae+=he[N].southIndicesEastToWest.length;let ge=r0i;ge.minimumHeight=L,ge.maximumHeight=F;let fe=ue.stride,ae=new Float32Array(Ae*fe),U=0,W=U;U=xX(B,x,ue,ae,U,0,1,Q.height,Q.encodedNormal,1,ge),U=_X(E,B,ue,ae,U,E.westTiles,E.westMeshes,ka.EAST,ge);let Y=U;U=xX(B,x,ue,ae,U,0,0,T.height,T.encodedNormal,0,ge),U=_X(E,B,ue,ae,U,E.southTiles,E.southMeshes,ka.NORTH,ge);let z=U;U=xX(B,x,ue,ae,U,1,0,w.height,w.encodedNormal,0,ge),U=_X(E,B,ue,ae,U,E.eastTiles,E.eastMeshes,ka.WEST,ge);let re=U;U=xX(B,x,ue,ae,U,1,1,S.height,S.encodedNormal,1,ge),U=_X(E,B,ue,ae,U,E.northTiles,E.northMeshes,ka.SOUTH,ge),L=ge.minimumHeight,F=ge.maximumHeight;let se=Lu.fromRectangle(x,L,F,f.tilingScheme.ellipsoid),de=ec.geodeticLatitudeToMercatorAngle(x.south),me=1/(ec.geodeticLatitudeToMercatorAngle(x.north)-de),Ce=(ec.geodeticLatitudeToMercatorAngle(H.latitude)-de)*me,Ie=B.geodeticSurfaceNormalCartographic(qF,Ewe),we=$l.octEncode(Ie,Bge),Te=U;ue.encode(ae,U*fe,se.center,rt.fromElements(.5,.5,Yy),k,we,Ce,Ie),++U;let Ge=U,ke=Ge<256?1:2,Oe=(Ge-1)*3,Le=Oe*ke,be=(ae.length-Ge*fe)*Float32Array.BYTES_PER_ELEMENT,Ne;if(be>=Le){let ot=Ge*fe*Float32Array.BYTES_PER_ELEMENT;Ne=Ge<256?new Uint8Array(ae.buffer,ot,Oe):new Uint16Array(ae.buffer,ot,Oe)}else Ne=Ge<256?new Uint8Array(Oe):new Uint16Array(Oe);ae=new Float32Array(ae.buffer,0,Ge*fe);let Ue=0;for(N=0;N<Ge-2;++N)Ne[Ue++]=Te,Ne[Ue++]=N,Ne[Ue++]=N+1;Ne[Ue++]=Te,Ne[Ue++]=N,Ne[Ue++]=0;let ze=[];for(N=Y;N>=W;--N)ze.push(N);let Je=[];for(N=z;N>=Y;--N)Je.push(N);let Xe=[];for(N=re;N>=z;--N)Xe.push(N);let et=[];for(et.push(0),N=Te-1;N>=re;--N)et.push(N);E.mesh=new R3(ue.center,ae,Ne,Oe,Ge,L,F,hi.fromOrientedBoundingBox(se),d0i(o,se.center,x,L,F),ue.stride,se,ue,ze,Je,Xe,et)}let q=A.context;E._destroyVertexArray(m),E.vertexArray=GD._createVertexArrayForMesh(q,E.mesh),C.processImagery(f,o.terrainProvider,A,!0);let ee=E.waterMaskTexture;if(E.waterMaskTexture=void 0,o.terrainProvider.hasWaterMask){let ie=C._findAncestorTileWithTerrainData(f);O(ie)&&O(ie.data.waterMaskTexture)&&(E.waterMaskTexture=ie.data.waterMaskTexture,++E.waterMaskTexture.referenceCount,C._computeWaterMaskTranslationAndScale(f,ie,E.waterMaskTranslationAndScale))}O(ee)&&(--ee.referenceCount,ee.referenceCount===0&&ee.destroy())}function xX(o,A,f,m,C,E,x,y,I,v,B){let Q=qF;Q.longitude=Be.lerp(A.west,A.east,E),Q.latitude=Be.lerp(A.south,A.north,x),Q.height=y;let T=o.cartographicToCartesian(Q,Y5),w;f.hasGeodeticSurfaceNormals&&(w=o.geodeticSurfaceNormal(T,Ewe));let S=wge;return S.x=E,S.y=x,f.encode(m,C*f.stride,T,S,y,I,v,w),B.minimumHeight=Math.min(B.minimumHeight,y),B.maximumHeight=Math.max(B.maximumHeight,y),C+1}var wee=new gi;function rz(o,A,f,m){let C=o.rectangle,E=A.rectangle;A.x===0&&f.x===1&&o.x===o.tilingScheme.getNumberOfXTilesAtLevel(o.level)-1?(C=gi.clone(o.rectangle,wee),C.west-=Be.TWO_PI,C.east-=Be.TWO_PI):o.x===0&&f.x===0&&A.x===A.tilingScheme.getNumberOfXTilesAtLevel(A.level)-1&&(C=gi.clone(o.rectangle,wee),C.west+=Be.TWO_PI,C.east+=Be.TWO_PI);let x=C.east-C.west,y=(E.west-C.west)/x,I=(E.east-C.west)/x,v=C.north-C.south,B=(E.south-C.south)/v,Q=(E.north-C.south)/v,T=(f.x-y)/(I-y),w=(f.y-B)/(Q-B);return Math.abs(T)<Math.EPSILON5?T=0:Math.abs(T-1)<Math.EPSILON5&&(T=1),Math.abs(w)<Math.EPSILON5?w=0:Math.abs(w-1)<Math.EPSILON5&&(w=1),m.x=T,m.y=w,m}var s0i=new rt;function bge(o,A,f,m,C){let E=o.encoding,x=o.vertices;if(C.height=E.decodeHeight(x,A),E.hasVertexNormals)E.getOctEncodedNormal(x,A,C.encodedNormal);else{let y=C.encodedNormal;y.x=0,y.y=0}}var l0i=new rt,u0i=new Z;function A0i(o,A,f,m,C,E,x,y,I,v){let B=m.encoding,Q=m.vertices,T=rz(A,f,B.decodeTextureCoordinates(Q,C,Yy),Yy),w=rz(A,f,B.decodeTextureCoordinates(Q,E,wge),wge),S;I?S=(x-T.x)/(w.x-T.x):S=(y-T.y)/(w.y-T.y);let D=B.decodeHeight(Q,C),R=B.decodeHeight(Q,E),P=f.rectangle;qF.longitude=Be.lerp(P.west,P.east,x),qF.latitude=Be.lerp(P.south,P.north,y),v.height=qF.height=Be.lerp(D,R,S);let M;if(B.hasVertexNormals){let L=B.getOctEncodedNormal(Q,C,s0i),F=B.getOctEncodedNormal(Q,E,l0i),k=$l.octDecode(L.x,L.y,Y5),N=$l.octDecode(F.x,F.y,u0i);M=Z.lerp(k,N,S,Y5),Z.normalize(M,M),$l.octEncode(M,v.encodedNormal)}else M=o.geodeticSurfaceNormalCartographic(qF,Y5),$l.octEncode(M,v.encodedNormal)}function Bet(o,A,f,m,C,E){E.height=C;let x=A.geodeticSurfaceNormalCartographic(qF,Y5);$l.octEncode(x,E.encodedNormal)}function yX(o,A,f,m,C,E,x,y,I,v,B){if(N4e(o,A,y,x,!1,f,m,B)||N4e(o,A,v,I,!0,f,m,B))return B;let Q;if(xwe(C,E))return f===0?m===0?Q=E.eastIndicesNorthToSouth[0]:Q=E.southIndicesEastToWest[0]:m===0?Q=E.northIndicesWestToEast[0]:Q=E.westIndicesSouthToNorth[0],bge(E,Q,f,m,B),B;let T;if(f===0?m===0?T=IX(o.westMeshes,o.westTiles,ka.EAST,o.southMeshes,o.southTiles,ka.NORTH,f,m):T=IX(o.northMeshes,o.northTiles,ka.SOUTH,o.westMeshes,o.westTiles,ka.EAST,f,m):m===0?T=IX(o.southMeshes,o.southTiles,ka.NORTH,o.eastMeshes,o.eastTiles,ka.WEST,f,m):T=IX(o.eastMeshes,o.eastTiles,ka.WEST,o.northMeshes,o.northTiles,ka.SOUTH,f,m),O(T))return Bet(o,A,f,m,T,B),B}function IX(o,A,f,m,C,E,x,y){let I=F4e(o,A,!1,f,x,y),v=F4e(m,C,!0,E,x,y);return O(I)&&O(v)?(I+v)*.5:O(I)?I:v}function _X(o,A,f,m,C,E,x,y,I){for(let v=0;v<E.length;++v)C=c0i(o,A,f,m,C,E[v],x[v],y,I);return C}function c0i(o,A,f,m,C,E,x,y,I){let v=E.rectangle;y===ka.EAST&&o.tile.x===0?(v=gi.clone(E.rectangle,wee),v.west-=Be.TWO_PI,v.east-=Be.TWO_PI):y===ka.WEST&&E.x===0&&(v=gi.clone(E.rectangle,wee),v.west+=Be.TWO_PI,v.east+=Be.TWO_PI);let B=o.tile.rectangle,Q,T;C>0&&(f.decodeTextureCoordinates(m,C-1,Yy),Q=Yy.x,T=Yy.y);let w,S;switch(y){case ka.WEST:w=x.westIndicesSouthToNorth,S=!1;break;case ka.NORTH:w=x.northIndicesWestToEast,S=!0;break;case ka.EAST:w=x.eastIndicesNorthToSouth,S=!1;break;case ka.SOUTH:w=x.southIndicesEastToWest,S=!0;break}let D=E,R=o.tile,P=x.encoding,M=x.vertices,L=f.stride,F,k;P.hasWebMercatorT&&(F=ec.geodeticLatitudeToMercatorAngle(B.south),k=1/(ec.geodeticLatitudeToMercatorAngle(B.north)-F));for(let N=0;N<w.length;++N){let G=w[N],J=P.decodeTextureCoordinates(M,G,Yy);rz(D,R,J,J);let K=J.x,X=J.y,q=S?K:X;if(q<0||q>1||Math.abs(K-Q)<Be.EPSILON5&&Math.abs(X-T)<Be.EPSILON5)continue;let ee=Math.abs(K)<Be.EPSILON5||Math.abs(K-1)<Be.EPSILON5,ie=Math.abs(X)<Be.EPSILON5||Math.abs(X-1)<Be.EPSILON5;if(ee&&ie)continue;let H=P.decodePosition(M,G,Y5),le=P.decodeHeight(M,G),ue;P.hasVertexNormals?ue=P.getOctEncodedNormal(M,G,Bge):(ue=Bge,ue.x=0,ue.y=0);let Ae=X;if(P.hasWebMercatorT){let ge=Be.lerp(B.south,B.north,X);Ae=(ec.geodeticLatitudeToMercatorAngle(ge)-F)*k}let he;f.hasGeodeticSurfaceNormals&&(he=A.geodeticSurfaceNormal(H,Ewe)),f.encode(m,C*L,H,J,le,ue,Ae,he),I.minimumHeight=Math.min(I.minimumHeight,le),I.maximumHeight=Math.max(I.maximumHeight,le),++C}return C}function F4e(o,A,f,m,C,E){let x,y,I;f?(x=0,y=o.length,I=1):(x=o.length-1,y=-1,I=-1);for(let v=x;v!==y;v+=I){let B=o[v],Q=A[v];if(!xwe(Q,B))continue;let T;switch(m){case ka.WEST:T=B.westIndicesSouthToNorth;break;case ka.SOUTH:T=B.southIndicesEastToWest;break;case ka.EAST:T=B.eastIndicesNorthToSouth;break;case ka.NORTH:T=B.northIndicesWestToEast;break}let w=T[f?0:T.length-1];if(O(w))return B.encoding.decodeHeight(B.vertices,w)}}function xwe(o,A){return O(A)&&(!O(o.data.fill)||!o.data.fill.changedThisFrame)}function N4e(o,A,f,m,C,E,x,y){let I,v,B,Q,T,w=m[C?0:f.length-1],S=f[C?0:f.length-1];if(xwe(w,S)&&(E===0?x===0?(I=C?S.northIndicesWestToEast:S.eastIndicesNorthToSouth,v=C,B=C):(I=C?S.eastIndicesNorthToSouth:S.southIndicesEastToWest,v=!C,B=!1):x===0?(I=C?S.westIndicesSouthToNorth:S.northIndicesWestToEast,v=!C,B=!0):(I=C?S.southIndicesEastToWest:S.westIndicesSouthToNorth,v=C,B=!C),I.length>0)){Q=C?0:I.length-1,T=I[Q],S.encoding.decodeTextureCoordinates(S.vertices,T,Yy);let D=rz(w,o.tile,Yy,Yy);if(D.x===E&&D.y===x)return bge(S,T,E,x,y),!0;if(Q=d0(I,v?E:x,function(R,P){S.encoding.decodeTextureCoordinates(S.vertices,R,Yy);let M=rz(w,o.tile,Yy,Yy);return B?v?M.x-E:M.y-x:v?E-M.x:x-M.y}),Q<0){if(Q=~Q,Q>0&&Q<I.length)return A0i(A,w,o.tile,S,I[Q-1],I[Q],E,x,v,y),!0}else return bge(S,I[Q],E,x,y),!0}return!1}var h0i=[new Z,new Z,new Z,new Z];function d0i(o,A,f,m,C,E){let x=o.quadtree._occluders.ellipsoid,y=x.ellipsoid,I=h0i;return Z.fromRadians(f.west,f.south,C,y,I[0]),Z.fromRadians(f.east,f.south,C,y,I[1]),Z.fromRadians(f.west,f.north,C,y,I[2]),Z.fromRadians(f.east,f.north,C,y,I[3]),x.computeHorizonCullingPointPossiblyUnderEllipsoid(A,I,m,E)}var hne=c8;function _h(o){this.lightingFadeOutDistance=65e5,this.lightingFadeInDistance=9e6,this.hasWaterMask=!1,this.oceanNormalMap=void 0,this.zoomedOutOceanSpecularIntensity=.5,this.enableLighting=!1,this.dynamicAtmosphereLighting=!1,this.dynamicAtmosphereLightingFromSun=!1,this.showGroundAtmosphere=!1,this.shadows=Ns.RECEIVE_ONLY,this.vertexShadowDarkness=.3,this.fillHighlightColor=void 0,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this.showSkirts=!0,this.backFaceCulling=!0,this.undergroundColor=void 0,this.undergroundColorAlphaByDistance=void 0,this.lambertDiffuseMultiplier=0,this.materialUniformMap=void 0,this._materialUniformMap=void 0,this._quadtree=void 0,this._terrainProvider=o.terrainProvider,this._imageryLayers=o.imageryLayers,this._surfaceShaderSet=o.surfaceShaderSet,this._renderState=void 0,this._blendRenderState=void 0,this._disableCullingRenderState=void 0,this._disableCullingBlendRenderState=void 0,this._errorEvent=new ur,this._removeLayerAddedListener=this._imageryLayers.layerAdded.addEventListener(_h.prototype._onLayerAdded,this),this._removeLayerRemovedListener=this._imageryLayers.layerRemoved.addEventListener(_h.prototype._onLayerRemoved,this),this._removeLayerMovedListener=this._imageryLayers.layerMoved.addEventListener(_h.prototype._onLayerMoved,this),this._removeLayerShownListener=this._imageryLayers.layerShownOrHidden.addEventListener(_h.prototype._onLayerShownOrHidden,this),this._imageryLayersUpdatedEvent=new ur,this._layerOrderChanged=!1,this._tilesToRenderByTextureCount=[],this._drawCommands=[],this._uniformMaps=[],this._usedDrawCommands=0,this._vertexArraysToDestroy=[],this._debug={wireframe:!1,boundingSphereTile:void 0},this._baseColor=void 0,this._firstPassInitialColor=void 0,this.baseColor=new Ve(0,0,.5,1),this._clippingPlanes=void 0,this._multiClippingPlanes=void 0,this.cartographicLimitRectangle=gi.clone(gi.MAX_VALUE),this._hasLoadedTilesThisFrame=!1,this._hasFillTilesThisFrame=!1,this._oldTerrainExaggeration=void 0,this._oldTerrainExaggerationRelativeHeight=void 0,this._flattenPolygonRegion={},this.clipPlanes=[],this._clipPlanes=[],this.graticulesLevel=1,this.graticulesEnable=!1,this.graticulesColor=null}Object.defineProperties(_h.prototype,{baseColor:{get:function(){return this._baseColor},set:function(o){this._baseColor=o,this._firstPassInitialColor=zt.fromColor(o,this._firstPassInitialColor)}},quadtree:{get:function(){return this._quadtree},set:function(o){this._quadtree=o}},ready:{get:function(){let o=this._terrainProvider;if(!O(o)||(O(o._ready)?!o._ready:O(o.ready)&&!o.ready))return!1;if(this._imageryLayers.length===0)return!0;let A=this._imageryLayers.get(0);if(!A.ready)return!1;let f=A.imageryProvider;return O(f._ready)?f._ready:!O(f.ready)||f.ready}},tilingScheme:{get:function(){return this._terrainProvider.tilingScheme}},errorEvent:{get:function(){return this._errorEvent}},imageryLayersUpdatedEvent:{get:function(){return this._imageryLayersUpdatedEvent}},terrainProvider:{get:function(){return this._terrainProvider},set:function(o){this._terrainProvider!==o&&(this._terrainProvider=o,O(this._quadtree)&&this._quadtree.invalidateAllTiles())}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(o){Wf.setOwner(o,this,"_clippingPlanes")}},multiClippingPlanes:{get:function(){return this._multiClippingPlanes},set:function(o){O(o)?this._multiClippingPlanes=o:this._multiClippingPlanes=void 0}}});function f0i(o,A){let f=o.loadingImagery;O(f)||(f=o.readyImagery);let m=A.loadingImagery;return O(m)||(m=A.readyImagery),f.imageryLayer._layerIndex-m.imageryLayer._layerIndex}_h.prototype.update=function(o){this._imageryLayers._update()};function g0i(o,A){let f=A.creditDisplay,m=o._terrainProvider;O(m)&&(O(m._ready)?m._ready:!O(m.ready)||m.ready)&&O(m.credit)&&f.addCreditToNextFrame(m.credit);let C=o._imageryLayers;for(let E=0,x=C.length;E<x;++E){let y=C.get(E);if(y.ready){let I=y.imageryProvider;(O(I._ready)?I._ready:!O(I.ready)||I.ready)&&O(y.imageryProvider.credit)&&f.addCreditToNextFrame(y.imageryProvider.credit)}}}_h.prototype.initialize=function(o){this._imageryLayers.queueReprojectionCommands(o),this._layerOrderChanged&&(this._layerOrderChanged=!1,this._quadtree.forEachLoadedTile(function(m){m.data.imagery.sort(f0i)})),g0i(this,o);let A=this._vertexArraysToDestroy,f=A.length;for(let m=0;m<f;++m)GD._freeVertexArray(A[m]);A.length=0};_h.prototype.beginUpdate=function(o){let A=this._tilesToRenderByTextureCount;for(let C=0,E=A.length;C<E;++C){let x=A[C];O(x)&&(x.length=0)}let f=this._clippingPlanes;O(f)&&f.enabled&&f.update(o);let m=this._multiClippingPlanes;O(m)&&m.update(o),this._usedDrawCommands=0,this._hasLoadedTilesThisFrame=!1,this._hasFillTilesThisFrame=!1};_h.prototype.endUpdate=function(o){if(!O(this._renderState)){this._renderState=Xr.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:Px.LESS}}),this._blendRenderState=Xr.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:Px.LESS_OR_EQUAL},blending:Nl.ALPHA_BLEND});let x=Sn(this._renderState,!0);x.cull.enabled=!1,this._disableCullingRenderState=Xr.fromCache(x),x=Sn(this._blendRenderState,!0),x.cull.enabled=!1,this._disableCullingBlendRenderState=Xr.fromCache(x)}this._hasFillTilesThisFrame&&this._hasLoadedTilesThisFrame&&hne.updateFillTiles(this,this._quadtree._tilesToRender,o,this._vertexArraysToDestroy);let A=this.quadtree,f=o.terrainExaggeration,m=o.terrainExaggerationRelativeHeight,C=this._oldTerrainExaggeration!==f||this._oldTerrainExaggerationRelativeHeight!==m;this._oldTerrainExaggeration=f,this._oldTerrainExaggerationRelativeHeight=m,C&&A.forEachLoadedTile(function(x){x.data.updateExaggeration(x,o,A)});let E=this._tilesToRenderByTextureCount;for(let x=0,y=E.length;x<y;++x){let I=E[x];if(O(I))for(let v=0,B=I.length;v<B;++v){let Q=I[v],T=Q.data.tileBoundingRegion;G0i(this,Q,o),o.minimumTerrainHeight=Math.min(o.minimumTerrainHeight,T.minimumHeight)}}};function wet(o,A){let f=A.globeTranslucencyState;if(f.translucent){let m=o.renderState.blending.enabled;f.pushDerivedCommands(o,m,A)}else A.commandList.push(o)}_h.prototype.updateForPick=function(o){let A=this._drawCommands;for(let f=0,m=this._usedDrawCommands;f<m;++f)wet(A[f],o)};_h.prototype.cancelReprojections=function(){this._imageryLayers.cancelReprojections()};_h.prototype.getLevelMaximumGeometricError=function(o){return O(this._terrainProvider)?this._terrainProvider.getLevelMaximumGeometricError(o):0};_h.prototype.loadTile=function(o,A){let f=A.data,m=!0,C;O(f)&&(m=f.boundingVolumeSourceTile!==A||A._lastSelectionResult===Xo.CULLED_BUT_NEEDED,C=f.terrainState),GD.processStateMachine(A,o,this.terrainProvider,this._imageryLayers,this.quadtree,this._vertexArraysToDestroy,m),f=A.data,m&&C!==A.data.terrainState&&this.computeTileVisibility(A,o,this.quadtree.occluders)!==rA.NONE&&f.boundingVolumeSourceTile===A&&(m=!1,GD.processStateMachine(A,o,this.terrainProvider,this._imageryLayers,this.quadtree,this._vertexArraysToDestroy,m))};var p0i=new hi,bet=new gi,m0i=new gi,C0i=new Rt;function UZ(o,A){if(A.west<A.east)return A;let f=gi.clone(A,m0i);return gi.center(o,C0i).longitude>0?f.east=Be.PI:f.west=-Be.PI,f}function Qet(o,A){if(A.cameraUnderground||A.globeTranslucencyState.translucent)return!0;if(o.backFaceCulling)return!1;let f=o._clippingPlanes;return!!(O(f)&&f.enabled||O(o._multiClippingPlanes)||!gi.equals(o.cartographicLimitRectangle,gi.MAX_VALUE))}_h.prototype.computeTileVisibility=function(o,A,f){let m=this.computeDistanceToTile(o,A);o._distance=m;let C=Qet(this,A);if(A.fog.enabled&&!C&&Be.fog(m,A.fog.density)>=1)return rA.NONE;let E=o.data,x=E.tileBoundingRegion;if(E.boundingVolumeSourceTile===void 0)return rA.PARTIAL;let y=A.cullingVolume,I=x.boundingVolume;O(I)||(I=x.boundingSphere),E.clippedByBoundaries=!1;let v=UZ(o.rectangle,this.cartographicLimitRectangle),B=gi.simpleIntersection(v,o.rectangle,bet);if(!O(B))return rA.NONE;if(gi.equals(B,o.rectangle)||(E.clippedByBoundaries=!0),A.mode!==ni.SCENE3D&&(I=p0i,hi.fromRectangleWithHeights2D(o.rectangle,A.mapProjection,x.minimumHeight,x.maximumHeight,I),Z.fromElements(I.center.z,I.center.x,I.center.y,I.center),A.mode===ni.MORPHING&&O(E.renderedMesh)&&(I=hi.union(x.boundingSphere,I,I))),!O(I))return rA.PARTIAL;let Q=this._clippingPlanes;if(O(Q)&&Q.enabled){let R=Q.computeIntersectionWithBoundingVolume(I);if(o.isClipped=R!==sa.INSIDE,R===sa.OUTSIDE)return rA.NONE}let T=this._multiClippingPlanes;if(O(T)&&T.enabled)for(let R=0;T.length;R++){let P=T[R].computeIntersectionWithBoundingVolume(I);if(o.isClipped=P!==sa.INSIDE,P===sa.OUTSIDE)return rA.NONE}let w,S=y.computeVisibility(I);if(S===sa.OUTSIDE?w=rA.NONE:S===sa.INTERSECTING?w=rA.PARTIAL:S===sa.INSIDE&&(w=rA.FULL),w===rA.NONE)return w;let D=A.mode===ni.SCENE3D&&A.camera.frustum instanceof us;if(A.mode===ni.SCENE3D&&!D&&O(f)&&!C){let R=E.occludeePointInScaledSpace;return!O(R)||f.ellipsoid.isScaledSpacePointVisiblePossiblyUnderEllipsoid(R,x.minimumHeight)?w:rA.NONE}return w};_h.prototype.canRefine=function(o){return O(o.data.terrainData)?!0:this.terrainProvider.getTileDataAvailable(o.x*2,o.y*2,o.level+1)!==void 0};var E0i=[],x0i=[];_h.prototype.canRenderWithoutLosingDetail=function(o,A){let f=o.data,m=E0i;m.length=this._imageryLayers.length;let C=!1,E=!1,x;O(f)&&(C=f.terrainState===wc.READY,E=!0,x=f.imagery);let y,I;for(y=0,I=m.length;y<I;++y)m[y]=E;if(O(x))for(y=0,I=x.length;y<I;++y){let Q=x[y],T=Q.loadingImagery,w=!O(T)||T.state===_u.FAILED||T.state===_u.INVALID,S=(Q.loadingImagery||Q.readyImagery).imageryLayer._layerIndex;m[S]=w&&m[S]}let v=this.quadtree._lastSelectionFrameNumber,B=x0i;for(B.length=0,B.push(o.southwestChild,o.southeastChild,o.northwestChild,o.northeastChild);B.length>0;){let Q=B.pop(),T=Q._lastSelectionResultFrame===v?Q._lastSelectionResult:Xo.NONE;if(T===Xo.RENDERED){let w=Q.data;if(!O(w))continue;if(!C&&Q.data.terrainState===wc.READY)return!1;let S=Q.data.imagery;for(y=0,I=S.length;y<I;++y){let D=S[y],R=D.loadingImagery,P=!O(R)||R.state===_u.FAILED||R.state===_u.INVALID,M=(D.loadingImagery||D.readyImagery).imageryLayer._layerIndex;if(P&&!m[M])return!1}}else T===Xo.REFINED&&B.push(Q.southwestChild,Q.southeastChild,Q.northwestChild,Q.northeastChild)}return!0};var y0i=new Z;_h.prototype.computeTileLoadPriority=function(o,A){let f=o.data;if(f===void 0)return 0;let m=f.tileBoundingRegion.boundingVolume;if(m===void 0)return 0;let C=A.camera.positionWC,E=A.camera.directionWC,x=Z.subtract(m.center,C,y0i),y=Z.magnitude(x);return y<Be.EPSILON5?0:(Z.divideByScalar(x,y,x),(1-Z.dot(x,E))*o._distance)};var k4e=new Re,vX=new Re,I0i=new zt,_0i=new zt,v0i=new zt,B0i=new Z,O4e=new Z,w0i=new Z,b0i=new Z;_h.prototype.showTileThisFrame=function(o,A){let f=0,m=o.data.imagery;for(let y=0,I=m.length;y<I;++y){let v=m[y];O(v.readyImagery)&&v.readyImagery.imageryLayer.alpha!==0&&++f}let C=this._tilesToRenderByTextureCount[f];O(C)||(C=[],this._tilesToRenderByTextureCount[f]=C),C.push(o);let E=o.data;O(E.vertexArray)?this._hasLoadedTilesThisFrame=!0:this._hasFillTilesThisFrame=!0;let x=this._debug;++x.tilesRendered,x.texturesRendered+=f};var Q0i=[new Z,new Z,new Z,new Z];function U4e(o,A,f,m,C,E){let x=o.quadtree._occluders.ellipsoid,y=x.ellipsoid,I=Q0i;return Z.fromRadians(f.west,f.south,C,y,I[0]),Z.fromRadians(f.east,f.south,C,y,I[1]),Z.fromRadians(f.west,f.north,C,y,I[2]),Z.fromRadians(f.east,f.north,C,y,I[3]),x.computeHorizonCullingPointPossiblyUnderEllipsoid(A,I,m,E)}_h.prototype.computeDistanceToTile=function(o,A){M0i(o,this,A);let f=o.data;if(f.boundingVolumeSourceTile===void 0)return 9999999999;let m=f.tileBoundingRegion,C=m.minimumHeight,E=m.maximumHeight;if(f.boundingVolumeSourceTile!==o){let y=A.camera.positionCartographic.height,I=Math.abs(y-C),v=Math.abs(y-E);I>v?(m.minimumHeight=C,m.maximumHeight=C):(m.minimumHeight=E,m.maximumHeight=E)}let x=m.distanceToCamera(A);return m.minimumHeight=C,m.maximumHeight=E,x};function S0i(o,A){let f=0,m,C,E,x,y=A.length;for(E=A[0],m=1;m<=y;m++)x=A[m%y],o[0]>Math.min(E[0],x[0])&&o[0]<=Math.max(E[0],x[0])&&o[1]<=Math.max(E[1],x[1])&&E[0]!==x[0]&&(C=(o[0]-E[0])*(x[1]-E[1])/(x[0]-E[0])+E[1],(E[1]===x[1]||o[1]<=C)&&f++),E=x;return f%2!==0}function D0i(o,A,f,m){let C=(o.x-f.x)*(A.y-f.y)-(o.y-f.y)*(A.x-f.x),E=(o.x-m.x)*(A.y-m.y)-(o.y-m.y)*(A.x-m.x);if(C*E>=0)return!1;let x=(f.x-o.x)*(m.y-o.y)-(f.y-o.y)*(m.x-o.x),y=x+C-E;if(x*y>=0)return!1;let I=x/(E-C),v=I*(A.x-o.x),B=I*(A.y-o.y);return{x:o.x+v,y:o.y+B}}var BX=new Rt,PV=[],wX=[];function T0i(o,A,f){if(!O(o._flattenPolygonRegion.flattenPolygons))return!1;let m=o._flattenPolygonRegion.flattenPolygons,C=o._flattenPolygonRegion.flattenPolygonHeights,E=f.rectangle,x=E.west,y=E.south,I=E.east,v=E.north;PV.length=0,wX.length=0;let B=!1,Q=[[x,y],[I,y],[I,v],[x,v]];for(let T=0;T<C.length;T++){B=!1;for(let w=0;w<m[T].length;w++){let S=m[T][w];if(BX.longitude=S[0],BX.latitude=S[1],BX.height=0,gi.contains(E,BX)){PV.push(C[T]),wX.push(m[T]),B=!0;break}}if(!B){for(let w=0;w<Q.length;w++)if(S0i(Q[w],m[T])){PV.push(C[T]),wX.push(m[T]),B=!0;break}}if(!B)for(let w=0;w<m[T].length-1;w++){for(let S=0;S<Q.length-1;S++){let D={x:Q[S][0],y:Q[S][1]},R={x:Q[S+1][0],y:Q[S+1][1]},P={x:m[T][w][0],y:m[T][w][1]},M={x:m[T][w+1][0],y:m[T][w+1][1]};if(D0i(D,R,P,M)){PV.push(C[T]),wX.push(m[T]),B=!0;break}}if(B)break}if(B){let w=PV[0],S=w.maxHeight,D=w.minHeight,R=f.maximumHeight,P=f.minimumHeight;D>P&&S<R,S>=R&&(R=S),D<=P&&(P=D),f.maximumHeight=R,f.minimumHeight=P}}return!0}function M0i(o,A,f){let m=o.data;m===void 0&&(m=o.data=new GD);let C=o.tilingScheme.ellipsoid;m.tileBoundingRegion===void 0&&(m.tileBoundingRegion=new LD({computeBoundingVolumes:!1,rectangle:o.rectangle,ellipsoid:C,minimumHeight:0,maximumHeight:0}));let E=m.tileBoundingRegion,x=E.minimumHeight,y=E.maximumHeight,I=!1,v=o,B=m.mesh,Q=m.terrainData;if(B!==void 0&&B.minimumHeight!==void 0&&B.maximumHeight!==void 0)E.minimumHeight=B.minimumHeight,E.maximumHeight=B.maximumHeight,I=!0;else if(Q!==void 0&&Q._minimumHeight!==void 0&&Q._maximumHeight!==void 0)E.minimumHeight=Q._minimumHeight,E.maximumHeight=Q._maximumHeight;else{E.minimumHeight=Number.NaN,E.maximumHeight=Number.NaN;let T=o.parent;for(;T!==void 0;){let w=T.data;if(w!==void 0){let S=w.mesh,D=w.terrainData;if(S!==void 0&&S.minimumHeight!==void 0&&S.maximumHeight!==void 0){E.minimumHeight=S.minimumHeight,E.maximumHeight=S.maximumHeight;break}else if(D!==void 0&&D._minimumHeight!==void 0&&D._maximumHeight!==void 0){E.minimumHeight=D._minimumHeight,E.maximumHeight=D._maximumHeight;break}}T=T.parent}v=T}if(v!==void 0){let T=f.terrainExaggeration,w=f.terrainExaggerationRelativeHeight;if(T!==1&&(I=!1,E.minimumHeight=mb.getHeight(E.minimumHeight,T,w),E.maximumHeight=mb.getHeight(E.maximumHeight,T,w)),T0i(A,C,E)&&(I=!1),I)m.boundingVolumeIsFromMesh||(E._orientedBoundingBox=Lu.clone(B.orientedBoundingBox,E._orientedBoundingBox),E._boundingSphere=hi.clone(B.boundingSphere3D,E._boundingSphere),m.occludeePointInScaledSpace=Z.clone(B.occludeePointInScaledSpace,m.occludeePointInScaledSpace),O(m.occludeePointInScaledSpace)||(m.occludeePointInScaledSpace=U4e(A,E._orientedBoundingBox.center,o.rectangle,E.minimumHeight,E.maximumHeight,m.occludeePointInScaledSpace)));else{let S=E._orientedBoundingBox===void 0||E._boundingSphere===void 0;(E.minimumHeight!==x||E.maximumHeight!==y||S)&&(E.computeBoundingVolumes(C),m.occludeePointInScaledSpace=U4e(A,E._orientedBoundingBox.center,o.rectangle,E.minimumHeight,E.maximumHeight,m.occludeePointInScaledSpace))}m.boundingVolumeSourceTile=v,m.boundingVolumeIsFromMesh=I}else m.boundingVolumeSourceTile=void 0,m.boundingVolumeIsFromMesh=!1}_h.prototype.isDestroyed=function(){return!1};_h.prototype.destroy=function(){return this._tileProvider=this._tileProvider&&this._tileProvider.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),O(this._multiClippingPlanes)&&(this._multiClippingPlanes.destroy(),this._multiClippingPlanes=void 0),this._removeLayerAddedListener=this._removeLayerAddedListener&&this._removeLayerAddedListener(),this._removeLayerRemovedListener=this._removeLayerRemovedListener&&this._removeLayerRemovedListener(),this._removeLayerMovedListener=this._removeLayerMovedListener&&this._removeLayerMovedListener(),this._removeLayerShownListener=this._removeLayerShownListener&&this._removeLayerShownListener(),Ar(this)};function P0i(o,A,f){return function(m){let C,E,x=-1,y=m.data.imagery,I=y.length,v;for(v=0;v<I;++v)if(C=y[v],E=oe(C.readyImagery,C.loadingImagery),E.imageryLayer===A){x=v;break}if(x!==-1){let B=x+o;if(C=y[B],E=O(C)?oe(C.readyImagery,C.loadingImagery):void 0,!O(E)||E.imageryLayer!==A)return!A._createTileImagerySkeletons(m,f,B);for(v=x;v<B;++v)y[v].freeResources();y.splice(x,o)}return!0}}_h.prototype._onLayerAdded=function(o,A){if(!this.isDestroyed()&&o.show){let f=this._terrainProvider,m=this,C=this._imageryLayersUpdatedEvent,E=function(){o._imageryCache={},m._quadtree.forEachLoadedTile(function(x){if(O(x._loadedCallbacks[o._layerIndex]))return;let y,I=x.data.imagery,v=I.length,B=-1,Q=0;for(y=0;y<v;++y){let w=I[y];if(oe(w.readyImagery,w.loadingImagery).imageryLayer===o)B===-1&&(B=y),++Q;else if(B!==-1)break}if(B===-1)return;let T=B+Q;o._createTileImagerySkeletons(x,f,T)&&(x._loadedCallbacks[o._layerIndex]=P0i(Q,o,f),x.state=Hh.LOADING)})};if(o.ready){let x=o.imageryProvider;x._reload=E}this._quadtree.forEachLoadedTile(function(x){o._createTileImagerySkeletons(x,f)&&(x.state=Hh.LOADING,x.level!==0&&(x._lastSelectionResultFrame!==m.quadtree._lastSelectionFrameNumber||x._lastSelectionResult!==Xo.RENDERED)&&(x.renderable=!1))}),this._layerOrderChanged=!0,C.raiseEvent()}};_h.prototype._onLayerRemoved=function(o,A){this._quadtree.forEachLoadedTile(function(f){let m=f.data.imagery,C=-1,E=0;for(let x=0,y=m.length;x<y;++x){let I=m[x],v=I.loadingImagery;if(O(v)||(v=I.readyImagery),v.imageryLayer===o)C===-1&&(C=x),I.freeResources(),++E;else if(C!==-1)break}C!==-1&&m.splice(C,E)}),O(o.imageryProvider)&&(o.imageryProvider._reload=void 0),this._imageryLayersUpdatedEvent.raiseEvent()};_h.prototype._onLayerMoved=function(o,A,f){this._layerOrderChanged=!0,this._imageryLayersUpdatedEvent.raiseEvent()};_h.prototype._onLayerShownOrHidden=function(o,A,f){f?this._onLayerAdded(o,A):this._onLayerRemoved(o,A)};var G4e=new Re,H4e=new Re;function V4e(o,A){let f={u_initialColor:function(){return this.properties.initialColor},u_fillHighlightColor:function(){return this.properties.fillHighlightColor},u_zoomedOutOceanSpecularIntensity:function(){return this.properties.zoomedOutOceanSpecularIntensity},u_oceanNormalMap:function(){return this.properties.oceanNormalMap},u_atmosphereLightIntensity:function(){return this.properties.atmosphereLightIntensity},u_atmosphereRayleighCoefficient:function(){return this.properties.atmosphereRayleighCoefficient},u_atmosphereMieCoefficient:function(){return this.properties.atmosphereMieCoefficient},u_atmosphereRayleighScaleHeight:function(){return this.properties.atmosphereRayleighScaleHeight},u_atmosphereMieScaleHeight:function(){return this.properties.atmosphereMieScaleHeight},u_atmosphereMieAnisotropy:function(){return this.properties.atmosphereMieAnisotropy},u_lightingFadeDistance:function(){return this.properties.lightingFadeDistance},u_nightFadeDistance:function(){return this.properties.nightFadeDistance},u_center3D:function(){return this.properties.center3D},u_terrainExaggerationAndRelativeHeight:function(){return this.properties.terrainExaggerationAndRelativeHeight},u_tileRectangle:function(){return this.properties.tileRectangle},u_modifiedModelView:function(){let C=o.context.uniformState.view,E=Re.multiplyByPoint(C,this.properties.rtc,O4e);return Re.setTranslation(C,E,k4e),k4e},u_modifiedModelViewProjection:function(){let C=o.context.uniformState.view,E=o.context.uniformState.projection,x=Re.multiplyByPoint(C,this.properties.rtc,O4e);return Re.setTranslation(C,x,vX),Re.multiply(E,vX,vX),vX},u_dayTextures:function(){return this.properties.dayTextures},u_dayTextureTranslationAndScale:function(){return this.properties.dayTextureTranslationAndScale},u_dayTextureTexCoordsRectangle:function(){return this.properties.dayTextureTexCoordsRectangle},u_dayTextureUseWebMercatorT:function(){return this.properties.dayTextureUseWebMercatorT},u_dayTextureAlpha:function(){return this.properties.dayTextureAlpha},u_dayTextureNightAlpha:function(){return this.properties.dayTextureNightAlpha},u_dayTextureDayAlpha:function(){return this.properties.dayTextureDayAlpha},u_dayTextureBrightness:function(){return this.properties.dayTextureBrightness},u_dayTextureContrast:function(){return this.properties.dayTextureContrast},u_dayTextureHue:function(){return this.properties.dayTextureHue},u_dayTextureSaturation:function(){return this.properties.dayTextureSaturation},u_dayTextureOneOverGamma:function(){return this.properties.dayTextureOneOverGamma},u_dayIntensity:function(){return this.properties.dayIntensity},u_southAndNorthLatitude:function(){return this.properties.southAndNorthLatitude},u_southMercatorYAndOneOverHeight:function(){return this.properties.southMercatorYAndOneOverHeight},u_waterMask:function(){return this.properties.waterMask},u_waterMaskTranslationAndScale:function(){return this.properties.waterMaskTranslationAndScale},u_minMaxHeight:function(){return this.properties.minMaxHeight},u_scaleAndBias:function(){return this.properties.scaleAndBias},u_dayTextureSplit:function(){return this.properties.dayTextureSplit},u_dayTextureCutoutRectangles:function(){return this.properties.dayTextureCutoutRectangles},u_slopeColorsTexture:function(){return Ax.isSlopeDirty&&(Ax._slopeTex=Ax.createElevationTextureFromPallete(Ax.SlopeMapPallete,o),this.properties.slopeColorsTexture2=Ax._slopeTex,Ax.isSlopeDirty=!1),Ax._slopeTex},u_clippingPlanes:function(){let C=A._multiClippingPlanes;if(O(C)&&O(C.dataTexture))return C.dataTexture;let E=A._clippingPlanes;return O(E)&&O(E.texture)?E.texture:o.context.defaultTexture},u_cartographicLimitRectangle:function(){return this.properties.localizedCartographicLimitRectangle},u_clippingPlanesMatrix:function(){let C=A._multiClippingPlanes;if(O(C)){let y=Re.multiply(o.context.uniformState.view,C.modelMatrix,G4e);return Re.inverseTranspose(y,H4e)}let E=A._clippingPlanes,x=O(E)?Re.multiply(o.context.uniformState.view,E.modelMatrix,G4e):Re.IDENTITY;return Re.inverseTranspose(x,H4e)},u_clippingPlanesEdgeStyle:function(){let C=A._multiClippingPlanes;if(O(C)){let x=C.edgeColor.clone();return x.alpha=C.edgeWidth,x}let E=this.properties.clippingPlanesEdgeColor;return E.alpha=this.properties.clippingPlanesEdgeWidth,E},u_multiClippingPlanesLength:function(){let C=A._multiClippingPlanes;if(O(C)){let E=C.lengthTexture;if(O(E))return E}return O(C)?C:o.context.defaultTexture},u_minimumBrightness:function(){return o.fog.minimumBrightness},u_hsbShift:function(){return this.properties.hsbShift},u_colorsToAlpha:function(){return this.properties.colorsToAlpha},u_frontFaceAlphaByDistance:function(){return this.properties.frontFaceAlphaByDistance},u_backFaceAlphaByDistance:function(){return this.properties.backFaceAlphaByDistance},u_translucencyRectangle:function(){return this.properties.localizedTranslucencyRectangle},u_undergroundColor:function(){return this.properties.undergroundColor},u_undergroundColorAlphaByDistance:function(){return this.properties.undergroundColorAlphaByDistance},u_lambertDiffuseMultiplier:function(){return this.properties.lambertDiffuseMultiplier},u_vertexShadowDarkness:function(){return this.properties.vertexShadowDarkness},u_tileLevel:function(){return this.properties.tileLevel},u_graticuleTranslationAndScale:function(){return this.properties.graticuleTranslationAndScale},u_widthHeight:function(){return this.properties.widthHeight},u_graticulesColor:function(){return this.properties.graticulesColor},properties:{initialColor:new zt(0,0,.5,1),fillHighlightColor:new Ve(0,0,0,0),zoomedOutOceanSpecularIntensity:.5,oceanNormalMap:void 0,lightingFadeDistance:new rt(65e5,9e6),nightFadeDistance:new rt(1e7,4e7),atmosphereLightIntensity:10,atmosphereRayleighCoefficient:new Z(55e-7,13e-6,284e-7),atmosphereMieCoefficient:new Z(21e-6,21e-6,21e-6),atmosphereRayleighScaleHeight:1e4,atmosphereMieScaleHeight:3200,atmosphereMieAnisotropy:.9,hsbShift:new Z,center3D:void 0,rtc:new Z,modifiedModelView:new Re,tileRectangle:new zt,terrainExaggerationAndRelativeHeight:new rt(1,0),dayTextures:[],dayTextureTranslationAndScale:[],dayTextureTexCoordsRectangle:[],dayTextureUseWebMercatorT:[],dayTextureAlpha:[],dayTextureNightAlpha:[],dayTextureDayAlpha:[],dayTextureBrightness:[],dayTextureContrast:[],dayTextureHue:[],dayTextureSaturation:[],dayTextureOneOverGamma:[],dayTextureSplit:[],dayTextureCutoutRectangles:[],dayIntensity:0,colorsToAlpha:[],southAndNorthLatitude:new rt,southMercatorYAndOneOverHeight:new rt,waterMask:void 0,waterMaskTranslationAndScale:new zt,minMaxHeight:new rt,scaleAndBias:new Re,clippingPlanesEdgeColor:Ve.clone(Ve.WHITE),clippingPlanesEdgeWidth:0,localizedCartographicLimitRectangle:new zt,frontFaceAlphaByDistance:new zt,backFaceAlphaByDistance:new zt,localizedTranslucencyRectangle:new zt,undergroundColor:Ve.clone(Ve.TRANSPARENT),undergroundColorAlphaByDistance:new zt,lambertDiffuseMultiplier:0,slopeColorsTexture2:O(Ax._slopeTex)?Ax._slopeTex:Ax.createElevationTextureFromPallete(Ax.SlopeMapPallete,o),vertexShadowDarkness:0,tileLevel:1,graticuleTranslationAndScale:new zt,graticulesColor:Ve.clone(Ve.SNOW),widthHeight:1}};if(A.clipPlanes.length>0&&(f.properties.contourLineTexture=null,f.u_contourLineTexture=function(){return f.properties.contourLineTexture},f.properties.contourLineTranslationAndScale=new zt,f.u_contourLineTranslationAndScale=function(){return this.properties.contourLineTranslationAndScale}),O(A.cutPolygonUniformMap))return So(f,A.cutPolygonUniformMap);let m=A.materialUniformMap;if(O(m)){let C=m.u_bFlatten;if(O(C)&&C()){let E=m.u_r_eastNorthUpToFixedFrame(),x=m.u_eastNorthUpToFixedFrame(),y=function(){let v=new Re;return Re.fromTranslation(f.properties.rtc,v),v},I=function(){let v=new Re;Re.fromTranslation(f.properties.rtc,v);let B=new Re;return Re.inverse(v,B),B};f=So(f,{u_eastNorthUpToFixedFrameA:function(){let v=I(),B=new Re;return Re.multiply(v,x,B),B},u_r_eastNorthUpToFixedFrameA:function(){let v=y(),B=new Re;return Re.multiply(E,v,B),B}})}return So(f,m)}return f}function R0i(o,A,f){let m=f.data,C,E;if(O(m.vertexArray)?(C=m.mesh,E=m.vertexArray):O(m.fill)&&O(m.fill.vertexArray)&&(C=m.fill.mesh,E=m.fill.vertexArray),!(!O(C)||!O(E))){if(O(m.wireframeVertexArray)){if(m.wireframeVertexArray.mesh===C)return;m.wireframeVertexArray.destroy(),m.wireframeVertexArray=void 0}m.wireframeVertexArray=L0i(o,E,C),m.wireframeVertexArray.mesh=C}}function L0i(o,A,f){let m={indices:f.indices,primitiveType:on.TRIANGLES};Zl.toWireframe(m);let C=m.indices,E=Wn.createIndexBuffer({context:o,typedArray:C,usage:Gr.STATIC_DRAW,indexDatatype:Bn.fromSizeInBytes(C.BYTES_PER_ELEMENT)});return new hu({context:o,attributes:A._attributes,indexBuffer:E})}var Det,Tet,GZ;(function(){let o=new kn({geometry:iQ.fromDimensions({dimensions:new Z(2,2,2)})}),A=new kn({geometry:new $D({radius:1})}),f=new Re,m,C;function E(x){return new ra({geometryInstances:x,appearance:new La({translucent:!1,flat:!0}),asynchronous:!1})}Det=function(x,y){return x===m||(GZ(),m=x,f=Re.fromRotationTranslation(x.halfAxes,x.center,f),o.modelMatrix=f,o.attributes.color=_o.fromColor(y),C=E(o)),C},Tet=function(x,y){return x===m||(GZ(),m=x,f=Re.fromTranslation(x.center,f),f=Re.multiplyByUniformScale(f,x.radius,f),A.modelMatrix=f,A.attributes.color=_o.fromColor(y),C=E(A)),C},GZ=function(){O(C)&&(C.destroy(),C=void 0,m=void 0)}})();var F0i=new zt(0,0,0,0),N0i={frameState:void 0,surfaceTile:void 0,numberOfDayTextures:void 0,applyBrightness:void 0,applyContrast:void 0,applyHue:void 0,applySaturation:void 0,applyGamma:void 0,applyAlpha:void 0,applyDayNightAlpha:void 0,applySplit:void 0,showReflectiveOcean:void 0,showOceanWaves:void 0,enableLighting:void 0,dynamicAtmosphereLighting:void 0,dynamicAtmosphereLightingFromSun:void 0,showGroundAtmosphere:void 0,perFragmentGroundAtmosphere:void 0,hasVertexNormals:void 0,useWebMercatorProjection:void 0,enableFog:void 0,enableClippingPlanes:void 0,clippingPlanes:void 0,clippedByBoundaries:void 0,hasImageryLayerCutout:void 0,colorCorrect:void 0,colorToAlpha:void 0,hasGeodeticSurfaceNormals:void 0,hasExaggeration:void 0},k0i=Ve.TRANSPARENT,O0i=new Eo;function U0i(o,A){let f=new zt,m=o.graticulesLevel,C=A._rectangle,E=A.tilingScheme,x=Math.pow(2,m)*36,y=Math.pow(2,m)*18,I=Be.TWO_PI/x,v=Be.PI/y,B=C.west+Be.PI,Q=(B-Math.floor(B/I)*I)/I,T=(C.east+Be.PI-B)/I,w=C.south+Be.PI_OVER_TWO,S=(w-Math.floor(w/v)*v)/v,D=(C.north+Be.PI_OVER_TWO-w)/v;return f.x=Q,f.y=S,f.z=T,f.w=D,f}function G0i(o,A,f){let m=A.data;O(m.vertexArray)||(m.fill===void 0&&(m.fill=new hne(A)),m.fill.update(o,f));let C=f.creditDisplay,E=m.terrainData;if(O(E)&&O(E.credits)){let et=E.credits;for(let ot=0,Et=et.length;ot<Et;++ot)C.addCreditToNextFrame(et[ot])}let x=Zn.maximumTextureImageUnits,y=m.waterMaskTexture,I=m.waterMaskTranslationAndScale;!O(y)&&O(m.fill)&&(y=m.fill.waterMaskTexture,I=m.fill.waterMaskTranslationAndScale);let v=f.cameraUnderground,B=f.globeTranslucencyState,Q=B.translucent,T=B.frontFaceAlphaByDistance,w=B.backFaceAlphaByDistance,S=B.rectangle,D=oe(o.undergroundColor,k0i),R=oe(o.undergroundColorAlphaByDistance,O0i),P=Qet(o,f)&&f.mode===ni.SCENE3D&&D.alpha>0&&(R.nearValue>0||R.farValue>0),M=o.lambertDiffuseMultiplier,L=o.vertexShadowDarkness,F=o.hasWaterMask&&O(y),k=o.oceanNormalMap,N=F&&O(k),G=o.terrainProvider,J=O(G)&&(O(G._ready)?G._ready:!O(G.ready)||G.ready)&&o.terrainProvider.hasVertexNormals,K=f.fog.enabled&&f.fog.renderable&&!v,X=o.showGroundAtmosphere&&f.mode===ni.SCENE3D,q=Ns.castShadows(o.shadows)&&!Q,ee=Ns.receiveShadows(o.shadows)&&!Q,ie=o.hueShift,H=o.saturationShift,le=o.brightnessShift,ue=o.graticulesEnable,Ae=!(Be.equalsEpsilon(ie,0,Be.EPSILON7)&&Be.equalsEpsilon(H,0,Be.EPSILON7)&&Be.equalsEpsilon(le,0,Be.EPSILON7)),he=!1;if(X){let et=Z.magnitude(f.camera.positionWC),ot=o.nightFadeOutDistance;he=et>ot}F&&--x,N&&--x,O(f.shadowState)&&f.shadowState.shadowsEnabled&&--x,O(o.clippingPlanes)&&o.clippingPlanes.enabled&&--x,x-=B.numberOfTextureUniforms;let ge=m.renderedMesh,fe=ge.center,ae=ge.encoding,U=m.tileBoundingRegion,W=f.terrainExaggeration,Y=f.terrainExaggerationRelativeHeight,z=W!==1,re=ae.hasGeodeticSurfaceNormals,se=I0i,de=0,me=0,Ce=0,Ie=0,we=!1;if(f.mode!==ni.SCENE3D){let et=f.mapProjection,ot=et.project(gi.southwest(A.rectangle),w0i),Et=et.project(gi.northeast(A.rectangle),b0i);if(se.x=ot.x,se.y=ot.y,se.z=Et.x,se.w=Et.y,f.mode!==ni.MORPHING&&(fe=B0i,fe.x=0,fe.y=(se.z+se.x)*.5,fe.z=(se.w+se.y)*.5,se.x-=fe.y,se.y-=fe.z,se.z-=fe.y,se.w-=fe.z),f.mode===ni.SCENE2D&&ae.quantization===fE.BITS12){let Ct=1/(Math.pow(2,12)-1)*.5,ct=(se.z-se.x)*Ct,yt=(se.w-se.y)*Ct;se.x-=ct,se.y-=yt,se.z+=ct,se.w+=yt}(et instanceof ec||et instanceof oG)&&(de=A.rectangle.south,me=A.rectangle.north,Ce=ec.geodeticLatitudeToMercatorAngle(de),Ie=1/(ec.geodeticLatitudeToMercatorAngle(me)-Ce),we=!0)}let Te=N0i;Te.frameState=f,Te.surfaceTile=m,Te.showReflectiveOcean=F,Te.showOceanWaves=N,Te.enableLighting=o.enableLighting,Te.dynamicAtmosphereLighting=o.dynamicAtmosphereLighting,Te.dynamicAtmosphereLightingFromSun=o.dynamicAtmosphereLightingFromSun,Te.showGroundAtmosphere=X,Te.atmosphereLightIntensity=o.atmosphereLightIntensity,Te.atmosphereRayleighCoefficient=o.atmosphereRayleighCoefficient,Te.atmosphereMieCoefficient=o.atmosphereMieCoefficient,Te.atmosphereRayleighScaleHeight=o.atmosphereRayleighScaleHeight,Te.atmosphereMieScaleHeight=o.atmosphereMieScaleHeight,Te.atmosphereMieAnisotropy=o.atmosphereMieAnisotropy,Te.perFragmentGroundAtmosphere=he,Te.hasVertexNormals=J,Te.useWebMercatorProjection=we,Te.clippedByBoundaries=m.clippedByBoundaries,Te.hasGeodeticSurfaceNormals=re,Te.hasExaggeration=z;let Ge=m.imagery,ke=0,Oe=Ge.length,Le=o.showSkirts&&!v&&!Q,be=o.backFaceCulling&&!v&&!Q,Ne=be?o._renderState:o._disableCullingRenderState,Ue=be?o._blendRenderState:o._disableCullingBlendRenderState,ze=Ne,Je=o._firstPassInitialColor,Xe=f.context;if(O(o._debug.boundingSphereTile)||GZ(),o._materialUniformMap!==o.materialUniformMap||o.clipPlanes.length!==o._clipPlanes.length||o._heightFog!==o.heightFog){o._materialUniformMap=o.materialUniformMap;let et=o._drawCommands.length;for(let ot=0;ot<et;++ot)o._uniformMaps[ot]=V4e(f,o);o.clipPlanes.length!==o._clipPlanes.length&&(o._clipPlanes=o.clipPlanes),o._heightFog!==o.heightFog&&(o._heightFog=o.heightFog)}do{let et=0,ot,Et;if(o._drawCommands.length<=o._usedDrawCommands?(ot=new fn,ot.owner=A,ot.cull=!1,ot.boundingVolume=new hi,ot.orientedBoundingBox=void 0,Et=V4e(f,o),o._drawCommands.push(ot),o._uniformMaps.push(Et)):(ot=o._drawCommands[o._usedDrawCommands],Et=o._uniformMaps[o._usedDrawCommands]),ot.owner=A,++o._usedDrawCommands,A===o._debug.boundingSphereTile){let Kt=U.boundingVolume,xi=U.boundingSphere;O(Kt)?Det(Kt,Ve.RED).update(f):O(xi)&&Tet(xi,Ve.RED).update(f)}let Ct=Et.properties;zt.clone(Je,Ct.initialColor),Ct.oceanNormalMap=k,Ct.lightingFadeDistance.x=o.lightingFadeOutDistance,Ct.lightingFadeDistance.y=o.lightingFadeInDistance,Ct.nightFadeDistance.x=o.nightFadeOutDistance,Ct.nightFadeDistance.y=o.nightFadeInDistance,Ct.atmosphereLightIntensity=o.atmosphereLightIntensity,Ct.atmosphereRayleighCoefficient=o.atmosphereRayleighCoefficient,Ct.atmosphereMieCoefficient=o.atmosphereMieCoefficient,Ct.atmosphereRayleighScaleHeight=o.atmosphereRayleighScaleHeight,Ct.atmosphereMieScaleHeight=o.atmosphereMieScaleHeight,Ct.atmosphereMieAnisotropy=o.atmosphereMieAnisotropy,Ct.zoomedOutOceanSpecularIntensity=o.zoomedOutOceanSpecularIntensity;let ct=v?w:T,yt=v?T:w;O(ct)&&(zt.fromElements(ct.near,ct.nearValue,ct.far,ct.farValue,Ct.frontFaceAlphaByDistance),zt.fromElements(yt.near,yt.nearValue,yt.far,yt.farValue,Ct.backFaceAlphaByDistance)),zt.fromElements(R.near,R.nearValue,R.far,R.farValue,Ct.undergroundColorAlphaByDistance),Ve.clone(D,Ct.undergroundColor),Ct.lambertDiffuseMultiplier=M,Ct.vertexShadowDarkness=L;let Qt=!O(m.vertexArray)&&O(o.fillHighlightColor)&&o.fillHighlightColor.alpha>0;Qt&&Ve.clone(o.fillHighlightColor,Ct.fillHighlightColor),Ct.terrainExaggerationAndRelativeHeight.x=W,Ct.terrainExaggerationAndRelativeHeight.y=Y,Ct.center3D=ge.center,Z.clone(fe,Ct.rtc),zt.clone(se,Ct.tileRectangle),Ct.southAndNorthLatitude.x=de,Ct.southAndNorthLatitude.y=me,Ct.southMercatorYAndOneOverHeight.x=Ce,Ct.southMercatorYAndOneOverHeight.y=Ie;let Ze=_0i,ut=UZ(A.rectangle,o.cartographicLimitRectangle),St=v0i,gt=UZ(A.rectangle,S);Z.fromElements(ie,H,le,Ct.hsbShift);let xt=A.rectangle,Lt=1/xt.width,nt=1/xt.height;Ze.x=(ut.west-xt.west)*Lt,Ze.y=(ut.south-xt.south)*nt,Ze.z=(ut.east-xt.west)*Lt,Ze.w=(ut.north-xt.south)*nt,zt.clone(Ze,Ct.localizedCartographicLimitRectangle),St.x=(gt.west-xt.west)*Lt,St.y=(gt.south-xt.south)*nt,St.z=(gt.east-xt.west)*Lt,St.w=(gt.north-xt.south)*nt,zt.clone(St,Ct.localizedTranslucencyRectangle);let Pe=K&&Be.fog(A._distance,f.fog.density)>Be.EPSILON3;Ae=Ae&&(Pe||X);let ve=!1,We=!1,bt=!1,Pt=!1,It=!1,Mi=!1,er=!1,di=!1,wi=!1,Ri=!1;for(;et<x&&ke<Oe;){let Kt=Ge[ke],xi=Kt.readyImagery;if(++ke,!O(xi)||xi.imageryLayer.alpha===0)continue;let _t=Kt.useWebMercatorT?xi.textureWebMercator:xi.texture,Mt=xi.imageryLayer;O(Kt.textureTranslationAndScale)||(Kt.textureTranslationAndScale=Mt._calculateTextureTranslationAndScale(A,Kt)),Ct.dayTextures[et]=_t,Ct.dayTextureTranslationAndScale[et]=Kt.textureTranslationAndScale,Ct.dayTextureTexCoordsRectangle[et]=Kt.textureCoordinateRectangle,Ct.dayTextureUseWebMercatorT[et]=Kt.useWebMercatorT,Ct.dayTextureAlpha[et]=Mt.alpha,Mi=Mi||Ct.dayTextureAlpha[et]!==1,Ct.dayTextureNightAlpha[et]=Mt.nightAlpha,er=er||Ct.dayTextureNightAlpha[et]!==1,Ct.dayTextureDayAlpha[et]=Mt.dayAlpha,er=er||Ct.dayTextureDayAlpha[et]!==1,Ct.dayTextureBrightness[et]=Mt.brightness,ve=ve||Ct.dayTextureBrightness[et]!==oE.DEFAULT_BRIGHTNESS,Ct.dayTextureContrast[et]=Mt.contrast,We=We||Ct.dayTextureContrast[et]!==oE.DEFAULT_CONTRAST,Ct.dayTextureHue[et]=Mt.hue,bt=bt||Ct.dayTextureHue[et]!==oE.DEFAULT_HUE,Ct.dayTextureSaturation[et]=Mt.saturation,Pt=Pt||Ct.dayTextureSaturation[et]!==oE.DEFAULT_SATURATION,Ct.dayTextureOneOverGamma[et]=1/Mt.gamma,It=It||Ct.dayTextureOneOverGamma[et]!==1/oE.DEFAULT_GAMMA,Ct.dayTextureSplit[et]=Mt.splitDirection,di=di||Ct.dayTextureSplit[et]!==0;let Ht=Ct.dayTextureCutoutRectangles[et];if(O(Ht)||(Ht=Ct.dayTextureCutoutRectangles[et]=new zt),zt.clone(zt.ZERO,Ht),O(Mt.cutoutRectangle)){let yi=UZ(xt,Mt.cutoutRectangle),uo=gi.simpleIntersection(yi,xt,bet);wi=O(uo)||wi,Ht.x=(yi.west-xt.west)*Lt,Ht.y=(yi.south-xt.south)*nt,Ht.z=(yi.east-xt.west)*Lt,Ht.w=(yi.north-xt.south)*nt}let ti=Ct.colorsToAlpha[et];O(ti)||(ti=Ct.colorsToAlpha[et]=new zt);let Wi=O(Mt.colorToAlpha)&&Mt.colorToAlphaThreshold>0;if(Ri=Ri||Wi,Wi){let yi=Mt.colorToAlpha;ti.x=yi.red,ti.y=yi.green,ti.z=yi.blue,ti.w=Mt.colorToAlphaThreshold}else ti.w=-1;if(O(xi.credits)){let yi=xi.credits;for(let uo=0,wn=yi.length;uo<wn;++uo)C.addCreditToNextFrame(yi[uo])}++et}if(Ct.dayTextures.length=et,Ct.waterMask=y,zt.clone(I,Ct.waterMaskTranslationAndScale),o.clipPlanes.length>0){let Kt=m.contourLineTexture?m.contourLineTexture:f.context.defaultTexture;Ct.contourLineTexture=Kt,zt.clone(m.contourLineTranslationAndScale,Ct.contourLineTranslationAndScale)}if(Ct.tileLevel=A.level,ue){let Kt=U0i(o,A);Ct.graticuleTranslationAndScale=Kt;let xi=Gt.getScale(U.boundingVolume.halfAxes,new Z);Ct.widthHeight=xi.x/Kt.z,Ct.graticulesColor=o.graticulesColor}Ct.minMaxHeight.x=ae.minimumHeight,Ct.minMaxHeight.y=ae.maximumHeight,Re.clone(ae.matrix,Ct.scaleAndBias);let Ei=o._clippingPlanes,Wt=O(Ei)&&Ei.enabled&&A.isClipped;Wt&&(Ct.clippingPlanesEdgeColor=Ve.clone(Ei.edgeColor,Ct.clippingPlanesEdgeColor),Ct.clippingPlanesEdgeWidth=Ei.edgeWidth),Te.numberOfDayTextures=et,Te.applyBrightness=ve,Te.applyContrast=We,Te.applyHue=bt,Te.applySaturation=Pt,Te.applyGamma=It,Te.applyAlpha=Mi,Te.applyDayNightAlpha=er,Te.applySplit=di,Te.enableFog=Pe,Te.enableClippingPlanes=Wt,Te.clippingPlanes=Ei,Te.hasImageryLayerCutout=wi,Te.colorCorrect=Ae,Te.highlightFillTile=Qt,Te.colorToAlpha=Ri,Te.showUndergroundColor=P,Te.translucent=Q,Te.enableFlatten=o._flattenPolygonRegion.enableFlatten,Te.graticulesEnable=ue,Te.showSlopeMap=Ax.displaySlopeMap,Te.smoothSlopeAtHigherAlt=!1,Te.multiClippingPlanes=o._multiClippingPlanes;let jt=m.renderedMesh.indices.length;Le||(jt=m.renderedMesh.indexCountWithoutSkirts),ot.shaderProgram=o._surfaceShaderSet.getShaderProgram(Te),ot.castShadows=q,ot.receiveShadows=ee,ot.renderState=ze,ot.primitiveType=on.TRIANGLES,ot.vertexArray=m.vertexArray||m.fill.vertexArray,ot.count=jt,ot.uniformMap=Et,ot.pass=Yi.GLOBE,o._debug.wireframe&&(R0i(Xe,o,A),O(m.wireframeVertexArray)&&(ot.vertexArray=m.wireframeVertexArray,ot.primitiveType=on.LINES,ot.count=jt*2));let pi=ot.boundingVolume,mi=ot.orientedBoundingBox;f.mode!==ni.SCENE3D?(hi.fromRectangleWithHeights2D(A.rectangle,f.mapProjection,U.minimumHeight,U.maximumHeight,pi),Z.fromElements(pi.center.z,pi.center.x,pi.center.y,pi.center),f.mode===ni.MORPHING&&(pi=hi.union(U.boundingSphere,pi,pi))):(ot.boundingVolume=hi.clone(U.boundingSphere,pi),ot.orientedBoundingBox=Lu.clone(U.boundingVolume,mi)),ot.dirty=!0,Q&&B.updateDerivedCommands(ot,f),wet(ot,f),ze=Ue,Je=F0i}while(ke<Oe)}var ywe=_h;function Met(){this._enabled=!1,this._frontFaceAlpha=1,this._frontFaceAlphaByDistance=void 0,this._backFaceAlpha=1,this._backFaceAlphaByDistance=void 0,this._rectangle=gi.clone(gi.MAX_VALUE)}Object.defineProperties(Met.prototype,{enabled:{get:function(){return this._enabled},set:function(o){this._enabled=o}},frontFaceAlpha:{get:function(){return this._frontFaceAlpha},set:function(o){this._frontFaceAlpha=o}},frontFaceAlphaByDistance:{get:function(){return this._frontFaceAlphaByDistance},set:function(o){this._frontFaceAlphaByDistance=Eo.clone(o,this._frontFaceAlphaByDistance)}},backFaceAlpha:{get:function(){return this._backFaceAlpha},set:function(o){this._backFaceAlpha=o}},backFaceAlphaByDistance:{get:function(){return this._backFaceAlphaByDistance},set:function(o){this._backFaceAlphaByDistance=Eo.clone(o,this._backFaceAlphaByDistance)}},rectangle:{get:function(){return this._rectangle},set:function(o){O(o)||(o=gi.clone(gi.MAX_VALUE)),gi.clone(o,this._rectangle)}}});var pJ=Met;function Lg(){this._layers=[],this.layerAdded=new ur,this.layerRemoved=new ur,this.layerMoved=new ur,this.layerShownOrHidden=new ur}Object.defineProperties(Lg.prototype,{length:{get:function(){return this._layers.length}}});Lg.prototype.add=function(o,A){O(A)?this._layers.splice(A,0,o):(A=this._layers.length,this._layers.push(o)),this._update(),this.layerAdded.raiseEvent(o,A);let f=o.readyEvent.addEventListener(()=>{this.layerShownOrHidden.raiseEvent(o,o._layerIndex,o.show),f()})};Lg.prototype.addImageryProvider=function(o,A){let f=new oE(o);return this.add(f,A),f};Lg.prototype.remove=function(o,A){A=oe(A,!0);let f=this._layers.indexOf(o);return f!==-1?(this._layers.splice(f,1),this._update(),this.layerRemoved.raiseEvent(o,f),A&&o.destroy(),!0):!1};Lg.prototype.removeAll=function(o){o=oe(o,!0);let A=this._layers;for(let f=0,m=A.length;f<m;f++){let C=A[f];this.layerRemoved.raiseEvent(C,f),o&&C.destroy()}this._layers=[]};Lg.prototype.contains=function(o){return this.indexOf(o)!==-1};Lg.prototype.indexOf=function(o){return this._layers.indexOf(o)};Lg.prototype.get=function(o){return this._layers[o]};function dne(o,A){return o.indexOf(A)}function Pet(o,A,f){let m=o._layers;if(A=Be.clamp(A,0,m.length-1),f=Be.clamp(f,0,m.length-1),A===f)return;let C=m[A];m[A]=m[f],m[f]=C,o._update(),o.layerMoved.raiseEvent(C,f,A)}Lg.prototype.raise=function(o){let A=dne(this._layers,o);Pet(this,A,A+1)};Lg.prototype.lower=function(o){let A=dne(this._layers,o);Pet(this,A,A-1)};Lg.prototype.raiseToTop=function(o){let A=dne(this._layers,o);A!==this._layers.length-1&&(this._layers.splice(A,1),this._layers.push(o),this._update(),this.layerMoved.raiseEvent(o,this._layers.length-1,A))};Lg.prototype.lowerToBottom=function(o){let A=dne(this._layers,o);A!==0&&(this._layers.splice(A,1),this._layers.splice(0,0,o),this._update(),this.layerMoved.raiseEvent(o,0,A))};var H0i=new gi;function Ret(o,A,f,m){let C=o.globe._surface._tilesToRender,E;for(let y=0;!O(E)&&y<C.length;++y){let I=C[y];gi.contains(I.rectangle,A)&&(E=I)}if(!O(E))return;let x=E.data.imagery;for(let y=x.length-1;y>=0;--y){let I=x[y],v=I.readyImagery;if(!O(v)||!v.imageryLayer.ready)continue;let B=v.imageryLayer.imageryProvider;if(f&&!O(B.pickFeatures)||!gi.contains(v.rectangle,A))continue;let Q=H0i,T=1/1024;Q.west=Be.lerp(E.rectangle.west,E.rectangle.east,I.textureCoordinateRectangle.x-T),Q.east=Be.lerp(E.rectangle.west,E.rectangle.east,I.textureCoordinateRectangle.z+T),Q.south=Be.lerp(E.rectangle.south,E.rectangle.north,I.textureCoordinateRectangle.y-T),Q.north=Be.lerp(E.rectangle.south,E.rectangle.north,I.textureCoordinateRectangle.w+T),gi.contains(Q,A)&&m(v)}}Lg.prototype.pickImageryLayers=function(o,A){let f=A.globe.pick(o,A);if(!O(f))return;let m=A.globe.ellipsoid.cartesianToCartographic(f),C=[];if(Ret(A,m,!1,function(E){C.push(E.imageryLayer)}),C.length!==0)return C};Lg.prototype.pickImageryLayerFeatures=function(o,A){let f=A.globe.pick(o,A);if(!O(f))return;let m=A.globe.ellipsoid.cartesianToCartographic(f),C=[],E=[];if(Ret(A,m,!0,function(x){if(!x.imageryLayer.ready)return;let y=x.imageryLayer.imageryProvider.pickFeatures(x.x,x.y,x.level,m.longitude,m.latitude);O(y)&&(C.push(y),E.push(x.imageryLayer))}),C.length!==0)return Promise.all(C).then(function(x){let y=[];for(let I=0;I<x.length;++I){let v=x[I],B=E[I];if(O(v)&&v.length>0)for(let Q=0;Q<v.length;++Q){let T=v[Q];T.imageryLayer=B,O(T.position)||(T.position=m),y.push(T)}}return y})};Lg.prototype.queueReprojectionCommands=function(o){let A=this._layers;for(let f=0,m=A.length;f<m;++f)A[f].queueReprojectionCommands(o)};Lg.prototype.cancelReprojections=function(){let o=this._layers;for(let A=0,f=o.length;A<f;++A)o[A].cancelReprojections()};Lg.prototype.isDestroyed=function(){return!1};Lg.prototype.destroy=function(){return this.removeAll(!0),Ar(this)};Lg.prototype._update=function(){let o=!0,A=this._layers,f,m,C,E;for(C=0,E=A.length;C<E;++C)m=A[C],m._layerIndex=C,m.show?(m._isBaseLayer=o,o=!1):m._isBaseLayer=!1,m.show!==m._show&&(O(m._show)&&(O(f)||(f=[]),f.push(m)),m._show=m.show);if(O(f))for(C=0,E=f.length;C<E;++C)m=f[C],this.layerShownOrHidden.raiseEvent(m,m._layerIndex,m.show)};var Iwe=Lg;function Ev(o){this._tileProvider=o.tileProvider,this._tileProvider.quadtree=this,this._debug={enableDebugOutput:!1,maxDepth:0,maxDepthVisited:0,tilesVisited:0,tilesCulled:0,tilesRendered:0,tilesWaitingForChildren:0,lastMaxDepth:-1,lastMaxDepthVisited:-1,lastTilesVisited:-1,lastTilesCulled:-1,lastTilesRendered:-1,lastTilesWaitingForChildren:-1,suspendLodUpdate:!1};let A=this._tileProvider.tilingScheme.ellipsoid;this._tilesToRender=[],this._tileLoadQueueHigh=[],this._tileLoadQueueMedium=[],this._tileLoadQueueLow=[],this._tileReplacementQueue=new Rie,this._levelZeroTiles=void 0,this._loadQueueTimeSlice=5,this._tilesInvalidated=!1,this._addHeightCallbacks=[],this._removeHeightCallbacks=[],this._tileToUpdateHeights=[],this._lastTileIndex=0,this._updateHeightsTimeSlice=2,this._cameraPositionCartographic=void 0,this._cameraReferenceFrameOriginCartographic=void 0,this.maximumScreenSpaceError=oe(o.maximumScreenSpaceError,2),this.tileCacheSize=oe(o.tileCacheSize,100),this.loadingDescendantLimit=20,this.preloadAncestors=!0,this.preloadSiblings=!1,this._occluders=new Mie({ellipsoid:A}),this._tileLoadProgressEvent=new ur,this._lastTileLoadQueueLength=0,this._lastSelectionFrameNumber=void 0}Object.defineProperties(Ev.prototype,{tileProvider:{get:function(){return this._tileProvider}},tileLoadProgressEvent:{get:function(){return this._tileLoadProgressEvent}},occluders:{get:function(){return this._occluders}}});Ev.prototype.invalidateAllTiles=function(){this._tilesInvalidated=!0};function V0i(o){let A=o._tileReplacementQueue;A.head=void 0,A.tail=void 0,A.count=0,Let(o);let f=o._levelZeroTiles;if(O(f))for(let m=0;m<f.length;++m){let C=f[m].customData,E=C.length;for(let x=0;x<E;++x){let y=C[x];y.level=0,o._addHeightCallbacks.push(y)}f[m].freeResources()}o._levelZeroTiles=void 0,o._tileProvider.cancelReprojections()}Ev.prototype.forEachLoadedTile=function(o){let A=this._tileReplacementQueue.head;for(;O(A);)A.state!==Hh.START&&o(A),A=A.replacementNext};Ev.prototype.forEachRenderedTile=function(o){let A=this._tilesToRender;for(let f=0,m=A.length;f<m;++f)o(A[f])};Ev.prototype.updateHeight=function(o,A){let f=this,m={positionOnEllipsoidSurface:void 0,positionCartographic:o,level:-1,callback:A};return m.removeFunc=function(){let C=f._addHeightCallbacks,E=C.length;for(let x=0;x<E;++x)if(C[x]===m){C.splice(x,1);break}f._removeHeightCallbacks.push(m),m.callback&&(m.callback=void 0)},f._addHeightCallbacks.push(m),m.removeFunc};Ev.prototype.update=function(o){O(this._tileProvider.update)&&this._tileProvider.update(o)};function Let(o){let A=o._debug;A.maxDepth=0,A.maxDepthVisited=0,A.tilesVisited=0,A.tilesCulled=0,A.tilesRendered=0,A.tilesWaitingForChildren=0,o._tileLoadQueueHigh.length=0,o._tileLoadQueueMedium.length=0,o._tileLoadQueueLow.length=0}Ev.prototype.beginFrame=function(o){o.passes.render&&(this._tilesInvalidated&&(V0i(this),this._tilesInvalidated=!1),this._tileProvider.initialize(o),Let(this),!this._debug.suspendLodUpdate&&this._tileReplacementQueue.markStartOfRenderFrame())};Ev.prototype.render=function(o){let A=o.passes,f=this._tileProvider;A.render&&(f.beginUpdate(o),K0i(this,o),rpi(this,o),f.endUpdate(o)),A.pick&&this._tilesToRender.length>0&&f.updateForPick(o)};function z0i(o,A){let f=o._tileLoadQueueHigh.length+o._tileLoadQueueMedium.length+o._tileLoadQueueLow.length;if(f!==o._lastTileLoadQueueLength||o._tilesInvalidated){let C=ur.prototype.raiseEvent.bind(o._tileLoadProgressEvent,f);A.afterRender.push(()=>(C(),!0)),o._lastTileLoadQueueLength=f}let m=o._debug;m.enableDebugOutput&&!m.suspendLodUpdate&&(m.maxDepth=o._tilesToRender.reduce(function(C,E){return Math.max(C,E.level)},-1),m.tilesRendered=o._tilesToRender.length,(m.tilesVisited!==m.lastTilesVisited||m.tilesRendered!==m.lastTilesRendered||m.tilesCulled!==m.lastTilesCulled||m.maxDepth!==m.lastMaxDepth||m.tilesWaitingForChildren!==m.lastTilesWaitingForChildren||m.maxDepthVisited!==m.lastMaxDepthVisited)&&(console.log(`Visited ${m.tilesVisited}, Rendered: ${m.tilesRendered}, Culled: ${m.tilesCulled}, Max Depth Rendered: ${m.maxDepth}, Max Depth Visited: ${m.maxDepthVisited}, Waiting for children: ${m.tilesWaitingForChildren}`),m.lastTilesVisited=m.tilesVisited,m.lastTilesRendered=m.tilesRendered,m.lastTilesCulled=m.tilesCulled,m.lastMaxDepth=m.maxDepth,m.lastTilesWaitingForChildren=m.tilesWaitingForChildren,m.lastMaxDepthVisited=m.maxDepthVisited))}Ev.prototype.endFrame=function(o){!o.passes.render||o.mode===ni.MORPHING||($0i(this,o),ipi(this,o),z0i(this,o))};Ev.prototype.isDestroyed=function(){return!1};Ev.prototype.destroy=function(){this._tileProvider=this._tileProvider&&this._tileProvider.destroy()};var A7,z4e=new Rt;function Y0i(o,A){let f=gi.center(o.rectangle,z4e),m=f.longitude-A7.longitude,C=f.latitude-A7.latitude;f=gi.center(A.rectangle,z4e);let E=f.longitude-A7.longitude,x=f.latitude-A7.latitude;return m*m+C*C-(E*E+x*x)}var J0i=new Z,RV=[];function K0i(o,A){let f=o._debug;if(f.suspendLodUpdate)return;let m=o._tilesToRender;m.length=0;let C,E=o._tileProvider;if(!O(o._levelZeroTiles))if(E.ready){let D=E.tilingScheme;o._levelZeroTiles=EY.createLevelZeroTiles(D);let R=o._levelZeroTiles.length;if(RV.length<R)for(RV=new Array(R),C=0;C<R;++C)RV[C]===void 0&&(RV[C]=new c7)}else return;o._occluders.ellipsoid.cameraPosition=A.camera.positionWC;let x,y=o._levelZeroTiles,I=y.length>1?o._occluders:void 0;A7=A.camera.positionCartographic,y.sort(Y0i);let v=o._addHeightCallbacks,B=o._removeHeightCallbacks,Q=A.frameNumber,T;if(v.length>0||B.length>0){for(C=0,T=y.length;C<T;++C)x=y[C],x._updateCustomData(Q,v,B);v.length=0,B.length=0}let w=A.camera;o._cameraPositionCartographic=w.positionCartographic;let S=Re.getTranslation(w.transform,J0i);for(o._cameraReferenceFrameOriginCartographic=o.tileProvider.tilingScheme.ellipsoid.cartesianToCartographic(S,o._cameraReferenceFrameOriginCartographic),C=0,T=y.length;C<T;++C)x=y[C],o._tileReplacementQueue.markTileRendered(x),x.renderable?zp(o,x,E,A,I,!1,RV[C]):(ZS(o,o._tileLoadQueueHigh,x,A),++f.tilesWaitingForChildren);o._lastSelectionFrameNumber=Q}function ZS(o,A,f,m){f.needsLoading&&(o.tileProvider.computeTileLoadPriority!==void 0&&(f._loadPriority=o.tileProvider.computeTileLoadPriority(f,m)),A.push(f))}function c7(){this.allAreRenderable=!0,this.anyWereRenderedLastFrame=!1,this.notYetRenderableCount=0}function Fet(){this.southwest=new c7,this.southeast=new c7,this.northwest=new c7,this.northeast=new c7}Fet.prototype.combine=function(o){let A=this.southwest,f=this.southeast,m=this.northwest,C=this.northeast;o.allAreRenderable=A.allAreRenderable&&f.allAreRenderable&&m.allAreRenderable&&C.allAreRenderable,o.anyWereRenderedLastFrame=A.anyWereRenderedLastFrame||f.anyWereRenderedLastFrame||m.anyWereRenderedLastFrame||C.anyWereRenderedLastFrame,o.notYetRenderableCount=A.notYetRenderableCount+f.notYetRenderableCount+m.notYetRenderableCount+C.notYetRenderableCount};var Qge=new Array(31);for(let o=0;o<Qge.length;++o)Qge[o]=new Fet;function W0i(o,A,f,m,C){let E=o._debug;++E.tilesVisited,o._tileReplacementQueue.markTileRendered(f),f._updateCustomData(A.frameNumber),f.level>E.maxDepthVisited&&(E.maxDepthVisited=f.level);let x=X0i(o,A,f)<o.maximumScreenSpaceError,y=f.southwestChild,I=f.southeastChild,v=f.northwestChild,B=f.northeastChild,Q=o._lastSelectionFrameNumber,T=f._lastSelectionResultFrame===Q?f._lastSelectionResult:Xo.NONE,w=o.tileProvider;if(x||m){let S=Xo.originalResult(T)===Xo.RENDERED,D=Xo.originalResult(T)===Xo.CULLED||T===Xo.NONE,R=f.state===Hh.DONE,P=S||D||R;if(P||O(w.canRenderWithoutLosingDetail)&&(P=w.canRenderWithoutLosingDetail(f)),P){x&&ZS(o,o._tileLoadQueueMedium,f,A),bX(o,f),C.allAreRenderable=f.renderable,C.anyWereRenderedLastFrame=T===Xo.RENDERED,C.notYetRenderableCount=f.renderable?0:1,f._lastSelectionResultFrame=A.frameNumber,f._lastSelectionResult=Xo.RENDERED,C.anyWereRenderedLastFrame||o._tileToUpdateHeights.push(f);return}m=!0,x&&ZS(o,o._tileLoadQueueHigh,f,A)}if(w.canRefine(f)){if(y.upsampledFromParent&&I.upsampledFromParent&&v.upsampledFromParent&&B.upsampledFromParent){bX(o,f),ZS(o,o._tileLoadQueueMedium,f,A),o._tileReplacementQueue.markTileRendered(y),o._tileReplacementQueue.markTileRendered(I),o._tileReplacementQueue.markTileRendered(v),o._tileReplacementQueue.markTileRendered(B),C.allAreRenderable=f.renderable,C.anyWereRenderedLastFrame=T===Xo.RENDERED,C.notYetRenderableCount=f.renderable?0:1,f._lastSelectionResultFrame=A.frameNumber,f._lastSelectionResult=Xo.RENDERED,C.anyWereRenderedLastFrame||o._tileToUpdateHeights.push(f);return}f._lastSelectionResultFrame=A.frameNumber,f._lastSelectionResult=Xo.REFINED;let S=o._tilesToRender.length,D=o._tileLoadQueueLow.length,R=o._tileLoadQueueMedium.length,P=o._tileLoadQueueHigh.length,M=o._tileToUpdateHeights.length;if(j0i(o,y,I,v,B,A,m,C),S!==o._tilesToRender.length){let L=C.allAreRenderable,F=C.anyWereRenderedLastFrame,k=C.notYetRenderableCount,N=!1;if(!L&&!F){let G=o._tilesToRender;for(let K=S;K<G.length;++K){let X=G[K];for(;X!==void 0&&X._lastSelectionResult!==Xo.KICKED&&X!==f;)X._lastSelectionResult=Xo.kick(X._lastSelectionResult),X=X.parent}o._tilesToRender.length=S,o._tileToUpdateHeights.length=M,bX(o,f),f._lastSelectionResult=Xo.RENDERED;let J=T===Xo.RENDERED;!J&&k>o.loadingDescendantLimit&&(o._tileLoadQueueLow.length=D,o._tileLoadQueueMedium.length=R,o._tileLoadQueueHigh.length=P,ZS(o,o._tileLoadQueueMedium,f,A),C.notYetRenderableCount=f.renderable?0:1,N=!0),C.allAreRenderable=f.renderable,C.anyWereRenderedLastFrame=J,J||o._tileToUpdateHeights.push(f),++E.tilesWaitingForChildren}o.preloadAncestors&&!N&&ZS(o,o._tileLoadQueueLow,f,A)}return}f._lastSelectionResultFrame=A.frameNumber,f._lastSelectionResult=Xo.RENDERED,bX(o,f),ZS(o,o._tileLoadQueueHigh,f,A),C.allAreRenderable=f.renderable,C.anyWereRenderedLastFrame=T===Xo.RENDERED,C.notYetRenderableCount=f.renderable?0:1}function j0i(o,A,f,m,C,E,x,y){let I=E.camera.positionCartographic,v=o._tileProvider,B=o._occluders,Q=Qge[A.level],T=Q.southwest,w=Q.southeast,S=Q.northwest,D=Q.northeast;I.longitude<A.rectangle.east?I.latitude<A.rectangle.north?(zp(o,A,v,E,B,x,T),zp(o,f,v,E,B,x,w),zp(o,m,v,E,B,x,S),zp(o,C,v,E,B,x,D)):(zp(o,m,v,E,B,x,S),zp(o,A,v,E,B,x,T),zp(o,C,v,E,B,x,D),zp(o,f,v,E,B,x,w)):I.latitude<A.rectangle.north?(zp(o,f,v,E,B,x,w),zp(o,A,v,E,B,x,T),zp(o,C,v,E,B,x,D),zp(o,m,v,E,B,x,S)):(zp(o,C,v,E,B,x,D),zp(o,m,v,E,B,x,S),zp(o,f,v,E,B,x,w),zp(o,A,v,E,B,x,T)),Q.combine(y)}function q0i(o,A){let f=A.rectangle;return O(o._cameraPositionCartographic)&&gi.contains(f,o._cameraPositionCartographic)||O(o._cameraReferenceFrameOriginCartographic)&&gi.contains(f,o._cameraReferenceFrameOriginCartographic)}function zp(o,A,f,m,C,E,x){if(f.computeTileVisibility(A,m,C)!==rA.NONE)return W0i(o,m,A,E,x);if(++o._debug.tilesCulled,o._tileReplacementQueue.markTileRendered(A),x.allAreRenderable=!0,x.anyWereRenderedLastFrame=!1,x.notYetRenderableCount=0,q0i(o,A)){(!O(A.data)||!O(A.data.vertexArray))&&ZS(o,o._tileLoadQueueMedium,A,m);let y=o._lastSelectionFrameNumber,I=A._lastSelectionResultFrame===y?A._lastSelectionResult:Xo.NONE;I!==Xo.CULLED_BUT_NEEDED&&I!==Xo.RENDERED&&o._tileToUpdateHeights.push(A),A._lastSelectionResult=Xo.CULLED_BUT_NEEDED}else(o.preloadSiblings||A.level===0)&&ZS(o,o._tileLoadQueueLow,A,m),A._lastSelectionResult=Xo.CULLED;A._lastSelectionResultFrame=m.frameNumber}function X0i(o,A,f){if(A.mode===ni.SCENE2D||A.camera.frustum instanceof us||A.camera.frustum instanceof Xf)return Z0i(o,A,f);let m=o._tileProvider.getLevelMaximumGeometricError(f.level),C=f._distance,E=A.context.drawingBufferHeight,x=A.camera.frustum.sseDenominator,y=m*E/(C*x);return A.fog.enabled&&(y-=Be.fog(C,A.fog.density)*A.fog.sse),y/=A.pixelRatio,y}function Z0i(o,A,f){let m=A.camera.frustum,C=m.offCenterFrustum;O(C)&&(m=C);let E=A.context,x=E.drawingBufferWidth,y=E.drawingBufferHeight,I=o._tileProvider.getLevelMaximumGeometricError(f.level),v=Math.max(m.top-m.bottom,m.right-m.left)/Math.max(x,y),B=I/v;return A.fog.enabled&&A.mode!==ni.SCENE2D&&(B-=Be.fog(f._distance,A.fog.density)*A.fog.sse),B/=A.pixelRatio,B}function bX(o,A){o._tilesToRender.push(A)}function $0i(o,A){let f=o._tileLoadQueueHigh,m=o._tileLoadQueueMedium,C=o._tileLoadQueueLow;if(f.length===0&&m.length===0&&C.length===0)return;o._tileReplacementQueue.trimTiles(o.tileCacheSize);let E=oA()+o._loadQueueTimeSlice,x=o._tileProvider,y=khe(o,A,x,E,f,!1);y=khe(o,A,x,E,m,y),khe(o,A,x,E,C,y)}function epi(o,A){return o._loadPriority-A._loadPriority}function khe(o,A,f,m,C,E){f.computeTileLoadPriority!==void 0&&C.sort(epi);for(let x=0,y=C.length;x<y&&(oA()<m||!E);++x){let I=C[x];o._tileReplacementQueue.markTileRendered(I),f.loadTile(A,I),E=!0}return E}var RU=new Ua,Ohe=new Rt,d2=new Z,tpi=[];function ipi(o,A){if(!o.tileProvider.ready)return;let f=tpi;f.length=0;let m=o._tileToUpdateHeights,C=oA(),E=o._updateHeightsTimeSlice,x=C+E,y=A.mode,I=A.mapProjection,v=o.tileProvider.tilingScheme.ellipsoid,B;for(;m.length>0;){let Q=m[0];if(!O(Q.data)||!O(Q.data.mesh)){let D=Q._lastSelectionResultFrame===o._lastSelectionFrameNumber?Q._lastSelectionResult:Xo.NONE;(D===Xo.RENDERED||D===Xo.CULLED_BUT_NEEDED)&&f.push(Q),m.shift(),o._lastTileIndex=0;continue}let T=Q.customData,w=T.length,S=!1;for(B=o._lastTileIndex;B<w;++B){let D=T[B],R=Q.data.terrainData,P=O(R)&&R.wasCreatedByUpsampling();if(Q.level>D.level&&!P){if(O(D.positionOnEllipsoidSurface)||(D.positionOnEllipsoidSurface=Z.fromRadians(D.positionCartographic.longitude,D.positionCartographic.latitude,0,v)),y===ni.SCENE3D){let L=v.geodeticSurfaceNormal(D.positionOnEllipsoidSurface,RU.direction),F=v.getSurfaceNormalIntersectionWithZAxis(D.positionOnEllipsoidSurface,11500,RU.origin);if(!O(F)){let k=0;O(Q.data.tileBoundingRegion)&&(k=Q.data.tileBoundingRegion.minimumHeight);let N=Math.min(k,-11500),G=Z.multiplyByScalar(L,Math.abs(N)+1,d2);Z.subtract(D.positionOnEllipsoidSurface,G,RU.origin)}}else Rt.clone(D.positionCartographic,Ohe),Ohe.height=-11500,I.project(Ohe,d2),Z.fromElements(d2.z,d2.x,d2.y,d2),Z.clone(d2,RU.origin),Z.clone(Z.UNIT_X,RU.direction);let M=Q.data.pick(RU,y,I,!1,d2);O(M)&&(O(D.callback)&&D.callback(M),D.level=Q.level)}if(oA()>=x){S=!0;break}}if(S){o._lastTileIndex=B;break}else o._lastTileIndex=0,m.shift()}for(B=0;B<f.length;B++)m.push(f[B])}function rpi(o,A){let f=o._tileProvider,m=o._tilesToRender;for(let C=0,E=m.length;C<E;++C){let x=m[C];f.showTileThisFrame(x,A)}}var Fw=Ev;function xv(o,A){this._scene=A,o=oe(o,Ci.WGS84);let f=new yT({ellipsoid:o}),m=new Iwe;this._ellipsoid=o,this._imageryLayerCollection=m,this._spotMaterial=void 0,this._pointMaterial=void 0,this._surfaceShaderSet=new lwe,this._material=void 0,this._surface=new Fw({tileProvider:new ywe({terrainProvider:f,imageryLayers:m,surfaceShaderSet:this._surfaceShaderSet})}),this._terrainProvider=f,this._terrainProviderChanged=new ur,this._undergroundColor=Ve.clone(Ve.BLACK),this._undergroundColorAlphaByDistance=new Eo(o.maximumRadius/1e3,0,o.maximumRadius/5,1),this._translucency=new pJ,this._clipPlanes=[],I2(this),this.show=!0,this._oceanNormalMapResourceDirty=!0,this._oceanNormalMapResource=new Cr({url:ja("Assets/Textures/waterNormalsSmall.jpg")}),this.maximumScreenSpaceError=2,this.tileCacheSize=100,this.loadingDescendantLimit=20,this.preloadAncestors=!0,this.preloadSiblings=!1,this.fillHighlightColor=void 0,this.enableLighting=!1,this.lambertDiffuseMultiplier=.9,this.dynamicAtmosphereLighting=!0,this.dynamicAtmosphereLightingFromSun=!1,this.showGroundAtmosphere=!0,this.atmosphereLightIntensity=10,this.atmosphereRayleighCoefficient=new Z(55e-7,13e-6,284e-7),this.atmosphereMieCoefficient=new Z(21e-6,21e-6,21e-6),this.atmosphereRayleighScaleHeight=1e4,this.atmosphereMieScaleHeight=3200,this.atmosphereMieAnisotropy=.9,this.lightingFadeOutDistance=1e7,this.lightingFadeInDistance=2e7,this.nightFadeOutDistance=1e7,this.nightFadeInDistance=5e7,this.showWaterEffect=!0,this.depthTestAgainstTerrain=!0,this.shadows=Ns.RECEIVE_ONLY,this.atmosphereHueShift=0,this.atmosphereSaturationShift=0,this.atmosphereBrightnessShift=0,this.terrainExaggeration=1,this.terrainExaggerationRelativeHeight=0,this.showSkirts=!0,this.backFaceCulling=!0,this._oceanNormalMap=void 0,this._zoomedOutOceanSpecularIntensity=void 0,this.vertexShadowDarkness=.3,this._flattenPolygonRegion={},this._flattenUniforms=void 0,this._graticulesEnable=!1,this._graticulesLevel=1,this._graticulesColor=new Ve(0,1,0,1)}Object.defineProperties(xv.prototype,{flattenPolygonRegion:{get:function(){return this._flattenPolygonRegion},set:function(o){this._flattenPolygonRegion=o}},flattenUniforms:{get:function(){return this._flattenUniforms},set:function(o){this._flattenUniforms!==o&&(this._flattenUniforms=o,I2(this))}},ellipsoid:{get:function(){return this._ellipsoid}},imageryLayers:{get:function(){return this._imageryLayerCollection}},imageryLayersUpdatedEvent:{get:function(){return this._surface.tileProvider.imageryLayersUpdatedEvent}},tilesLoaded:{get:function(){return O(this._surface)?this._surface.tileProvider.ready&&this._surface._tileLoadQueueHigh.length===0&&this._surface._tileLoadQueueMedium.length===0&&this._surface._tileLoadQueueLow.length===0:!0}},baseColor:{get:function(){return this._surface.tileProvider.baseColor},set:function(o){this._surface.tileProvider.baseColor=o}},clippingPlanes:{get:function(){return this._surface.tileProvider.clippingPlanes},set:function(o){this._surface.tileProvider.clippingPlanes=o}},cartographicLimitRectangle:{get:function(){return this._surface.tileProvider.cartographicLimitRectangle},set:function(o){O(o)||(o=gi.clone(gi.MAX_VALUE)),this._surface.tileProvider.cartographicLimitRectangle=o}},oceanNormalMapUrl:{get:function(){return this._oceanNormalMapResource.url},set:function(o){this._oceanNormalMapResource.url=o,this._oceanNormalMapResourceDirty=!0}},terrainProvider:{get:function(){return this._terrainProvider},set:function(o){o!==this._terrainProvider&&(this._terrainProvider=o,this._terrainProviderChanged.raiseEvent(o),O(this._material)&&I2(this))}},terrainProviderChanged:{get:function(){return this._terrainProviderChanged}},tileLoadProgressEvent:{get:function(){return this._surface.tileLoadProgressEvent}},material:{get:function(){return this._material},set:function(o){this._material!==o&&(this._material=o,I2(this))}},undergroundColor:{get:function(){return this._undergroundColor},set:function(o){this._undergroundColor=Ve.clone(o,this._undergroundColor)}},spotMaterial:{get:function(){return this._spotMaterial},set:function(o){this._spotMaterial!==o&&(this._spotMaterial=o,I2(this))}},pointMaterial:{get:function(){return this._pointMaterial},set:function(o){this._pointMaterial!==o&&(this._pointMaterial=o,I2(this))}},undergroundColorAlphaByDistance:{get:function(){return this._undergroundColorAlphaByDistance},set:function(o){this._undergroundColorAlphaByDistance=Eo.clone(o,this._undergroundColorAlphaByDistance)}},translucency:{get:function(){return this._translucency}},clipPlanes:{get:function(){return this._clipPlanes},set:function(o){this._clipPlanes=o,I2(this)}},heightFog:{get:function(){return this._heightFog},set:function(o){this._heightFog!==o&&(this._heightFog=o,I2(this))}},graticulesLevel:{get:function(){return this._graticulesLevel},set:function(o){this._graticulesLevel!==o&&(this._graticulesLevel=o)}},graticulesEnable:{get:function(){return this._graticulesEnable},set:function(o){this._graticulesEnable=o}},graticulesColor:{get:function(){return this._graticulesColor},set:function(o){this._graticulesColor=o}}});function I2(o){let A=[],f=O(o._material)&&(o._material.shaderSource.match(/slope/)||o._material.shaderSource.match("normalEC")),m=[I4,ree];O(o._material)&&(!f||o._terrainProvider.requestVertexNormals)?(m.push(o._material.shaderSource),A.push("APPLY_MATERIAL"),o._surface._tileProvider.materialUniformMap=o._material._uniforms):O(o._spotMaterial)?(m.push(o._spotMaterial.shaderSource),A.push("APPLY_SPOT"),o._surface._tileProvider.materialUniformMap=o._spotMaterial._uniforms):O(o._pointMaterial)?(m.push(o._pointMaterial.shaderSource),A.push("APPLY_POINT"),o._surface._tileProvider.materialUniformMap=o._pointMaterial._uniforms):o.flattenUniforms?(o._surface._tileProvider.materialUniformMap=o.flattenUniforms,A.push("APPLY_FLATTEN")):o._surface._tileProvider.materialUniformMap=void 0,m.push(Vve),o._clipPlanes.length>0&&A.push("SHOW_CONTOUR_LINE"),o._surfaceShaderSet.baseVertexShaderSource=new _r({sources:[I4,ree,zve],defines:A}),o._surfaceShaderSet.baseFragmentShaderSource=new _r({sources:m,defines:A}),o._material?o._surfaceShaderSet.material=o._material:o._spotMaterial?o._surfaceShaderSet.material=o._spotMaterial:o._surfaceShaderSet.material=void 0}function npi(o){return function(A,f){let m=hi.distanceSquaredTo(A.pickBoundingSphere,o),C=hi.distanceSquaredTo(f.pickBoundingSphere,o);return m-C}}var Net=[],opi={start:0,stop:0};xv.prototype.pickWorldCoordinates=function(o,A,f,m){f=oe(f,!0);let C=A.mode,E=A.mapProjection,x=Net;x.length=0;let y=this._surface._tilesToRender,I=y.length,v,B;for(B=0;B<I;++B){v=y[B];let T=v.data;if(!O(T))continue;let w=T.pickBoundingSphere;if(C!==ni.SCENE3D)T.pickBoundingSphere=w=hi.fromRectangleWithHeights2D(v.rectangle,E,T.tileBoundingRegion.minimumHeight,T.tileBoundingRegion.maximumHeight,w),Z.fromElements(w.center.z,w.center.x,w.center.y,w.center);else if(O(T.renderedMesh))hi.clone(T.tileBoundingRegion.boundingSphere,w);else continue;let S=Sc.raySphere(o,w,opi);O(S)&&x.push(T)}x.sort(npi(o.origin));let Q;for(I=x.length,B=0;B<I&&(Q=x[B].pick(o,A.mode,A.mapProjection,f,m),!O(Q));++B);return Q};xv.prototype.drawTileContourLine=function(o,A,f){let m=Net;m.length=0;let C=this._surface._tilesToRender,E=C.length;for(let x=0;x<E;++x){let y=C[x],I=y.data;O(I)&&I.drawContourLine(y,o,A.mode,A.mapProjection,f)}};var api=new Rt;xv.prototype.pick=function(o,A,f){if(f=this.pickWorldCoordinates(o,A,!0,f),O(f)&&A.mode!==ni.SCENE3D){f=Z.fromElements(f.y,f.z,f.x,f);let m=A.mapProjection.unproject(f,api);f=A.globe.ellipsoid.cartographicToCartesian(m,f)}return f};var spi=new Z,Y4e=new Z,lpi=new Rt,upi=new Ua;function Uhe(o,A){return O(o)&&gi.contains(o.rectangle,A)?o:void 0}xv.prototype.getHeight=function(o){let A=this._surface._levelZeroTiles;if(!O(A))return;let f,m,C=A.length;for(m=0;m<C&&(f=A[m],!gi.contains(f.rectangle,o));++m);if(m>=C)return;let E=f;for(;O(f);)f=Uhe(f._southwestChild,o)||Uhe(f._southeastChild,o)||Uhe(f._northwestChild,o)||f._northeastChild,O(f)&&O(f.data)&&O(f.data.renderedMesh)&&(E=f);if(f=E,!O(f)||!O(f.data)||!O(f.data.renderedMesh))return;let x=this._surface._tileProvider.tilingScheme.projection,y=this._surface._tileProvider.tilingScheme.ellipsoid,I=Z.fromRadians(o.longitude,o.latitude,0,y,spi),v=upi,B=y.geodeticSurfaceNormal(I,v.direction),Q=y.getSurfaceNormalIntersectionWithZAxis(I,11500,v.origin);if(!O(Q)){let w;O(f.data.tileBoundingRegion)&&(w=f.data.tileBoundingRegion.minimumHeight);let S=Math.min(oe(w,0),-11500),D=Z.multiplyByScalar(B,Math.abs(S)+1,Y4e);Z.subtract(I,D,v.origin)}let T=f.data.pick(v,void 0,x,!1,Y4e);if(O(T))return y.cartesianToCartographic(T,lpi).height};xv.prototype.update=function(o){this.show&&o.passes.render&&this._surface.update(o)};xv.prototype.beginFrame=function(o){let A=this._surface,f=A.tileProvider,m=this.terrainProvider,C=O(m)&&(O(m._ready)?m._ready:!O(m.ready)||m.ready),E=this.showWaterEffect&&C&&m.hasWaterMask&&m.hasWaterMask;if(E&&this._oceanNormalMapResourceDirty){this._oceanNormalMapResourceDirty=!1;let I=this._oceanNormalMapResource,v=I.url;if(O(v)){let B=this;I.fetchImage().then(function(Q){v===B._oceanNormalMapResource.url&&(B._oceanNormalMap=B._oceanNormalMap&&B._oceanNormalMap.destroy(),B._oceanNormalMap=new Nn({context:o.context,source:Q}))})}else this._oceanNormalMap=this._oceanNormalMap&&this._oceanNormalMap.destroy()}let x=o.passes,y=o.mode;x.render&&(this.showGroundAtmosphere?this._zoomedOutOceanSpecularIntensity=.4:this._zoomedOutOceanSpecularIntensity=.5,A.maximumScreenSpaceError=this.maximumScreenSpaceError,A.tileCacheSize=this.tileCacheSize,A.loadingDescendantLimit=this.loadingDescendantLimit,A.preloadAncestors=this.preloadAncestors,A.preloadSiblings=this.preloadSiblings,f.terrainProvider=this.terrainProvider,f.lightingFadeOutDistance=this.lightingFadeOutDistance,f.lightingFadeInDistance=this.lightingFadeInDistance,f.nightFadeOutDistance=this.nightFadeOutDistance,f.nightFadeInDistance=this.nightFadeInDistance,f.zoomedOutOceanSpecularIntensity=y===ni.SCENE3D?this._zoomedOutOceanSpecularIntensity:0,f.hasWaterMask=E,f.oceanNormalMap=this._oceanNormalMap,f.enableLighting=this.enableLighting,f.dynamicAtmosphereLighting=this.dynamicAtmosphereLighting,f.dynamicAtmosphereLightingFromSun=this.dynamicAtmosphereLightingFromSun,f.showGroundAtmosphere=this.showGroundAtmosphere,f.atmosphereLightIntensity=this.atmosphereLightIntensity,f.atmosphereRayleighCoefficient=this.atmosphereRayleighCoefficient,f.atmosphereMieCoefficient=this.atmosphereMieCoefficient,f.atmosphereRayleighScaleHeight=this.atmosphereRayleighScaleHeight,f.atmosphereMieScaleHeight=this.atmosphereMieScaleHeight,f.atmosphereMieAnisotropy=this.atmosphereMieAnisotropy,f.shadows=this.shadows,f.hueShift=this.atmosphereHueShift,f.saturationShift=this.atmosphereSaturationShift,f.brightnessShift=this.atmosphereBrightnessShift,f.fillHighlightColor=this.fillHighlightColor,f.showSkirts=this.showSkirts,f.backFaceCulling=this.backFaceCulling,f.vertexShadowDarkness=this.vertexShadowDarkness,f.undergroundColor=this._undergroundColor,f.undergroundColorAlphaByDistance=this._undergroundColorAlphaByDistance,f.lambertDiffuseMultiplier=this.lambertDiffuseMultiplier,f._flattenPolygonRegion=this._flattenPolygonRegion,f.clipPlanes=this._clipPlanes,f.graticulesLevel=this._graticulesLevel,f.graticulesEnable=this._graticulesEnable,f.graticulesColor=this._graticulesColor,A.beginFrame(o))};xv.prototype.render=function(o){this.show&&(O(this._material)&&this._material.update(o.context),this.drawTileContourLine(this._clipPlanes,this._scene,o),this._surface.render(o))};xv.prototype.endFrame=function(o){this.show&&o.passes.render&&this._surface.endFrame(o)};xv.prototype.isDestroyed=function(){return!1};xv.prototype.destroy=function(){return this._surfaceShaderSet=this._surfaceShaderSet&&this._surfaceShaderSet.destroy(),this._surface=this._surface&&this._surface.destroy(),this._oceanNormalMap=this._oceanNormalMap&&this._oceanNormalMap.destroy(),Ar(this)};var _we=xv;function Api(o,A,f,m){this.rightAscension=o,this.declination=A,this.rotation=f,this.rotationRate=m}var vwe=Api,ket={},cpi=32.184,hpi=2451545,J4e=-.0529921,K4e=-.1059842,W4e=13.0120009,j4e=13.3407154,q4e=.9856003,X4e=26.4057084,Z4e=13.064993,$4e=.3287146,eGe=1.7484877,tGe=-.1589763,iGe=.0036096,rGe=.1643573,nGe=12.9590088,Ghe=new Zt;ket.ComputeMoon=function(o,A){O(o)||(o=Zt.now()),Ghe=Zt.addSeconds(o,cpi,Ghe);let f=Zt.totalDays(Ghe)-hpi,m=f/lu.DAYS_PER_JULIAN_CENTURY,C=(125.045+J4e*f)*Be.RADIANS_PER_DEGREE,E=(250.089+K4e*f)*Be.RADIANS_PER_DEGREE,x=(260.008+W4e*f)*Be.RADIANS_PER_DEGREE,y=(176.625+j4e*f)*Be.RADIANS_PER_DEGREE,I=(357.529+q4e*f)*Be.RADIANS_PER_DEGREE,v=(311.589+X4e*f)*Be.RADIANS_PER_DEGREE,B=(134.963+Z4e*f)*Be.RADIANS_PER_DEGREE,Q=(276.617+$4e*f)*Be.RADIANS_PER_DEGREE,T=(34.226+eGe*f)*Be.RADIANS_PER_DEGREE,w=(15.134+tGe*f)*Be.RADIANS_PER_DEGREE,S=(119.743+iGe*f)*Be.RADIANS_PER_DEGREE,D=(239.961+rGe*f)*Be.RADIANS_PER_DEGREE,R=(25.053+nGe*f)*Be.RADIANS_PER_DEGREE,P=Math.sin(C),M=Math.sin(E),L=Math.sin(x),F=Math.sin(y),k=Math.sin(I),N=Math.sin(v),G=Math.sin(B),J=Math.sin(Q),K=Math.sin(T),X=Math.sin(w),q=Math.sin(S),ee=Math.sin(D),ie=Math.sin(R),H=Math.cos(C),le=Math.cos(E),ue=Math.cos(x),Ae=Math.cos(y),he=Math.cos(I),ge=Math.cos(v),fe=Math.cos(B),ae=Math.cos(Q),U=Math.cos(T),W=Math.cos(w),Y=Math.cos(S),z=Math.cos(D),re=Math.cos(R),se=(269.9949+.0031*m-3.8787*P-.1204*M+.07*L-.0172*F+.0072*N-.0052*X+.0043*ie)*Be.RADIANS_PER_DEGREE,de=(66.5392+.013*m+1.5419*H+.0239*le-.0278*ue+.0068*Ae-.0029*ge+9e-4*fe+8e-4*W-9e-4*re)*Be.RADIANS_PER_DEGREE,me=(38.3213+13.17635815*f-14e-13*f*f+3.561*P+.1208*M-.0642*L+.0158*F+.0252*k-.0066*N-.0047*G-.0046*J+.0028*K+.0052*X+.004*q+.0019*ee-.0044*ie)*Be.RADIANS_PER_DEGREE,Ce=(13.17635815-14e-13*(2*f)+3.561*H*J4e+.1208*le*K4e-.0642*ue*W4e+.0158*Ae*j4e+.0252*he*q4e-.0066*ge*X4e-.0047*fe*Z4e-.0046*ae*$4e+.0028*U*eGe+.0052*W*tGe+.004*Y*iGe+.0019*z*rGe-.0044*re*nGe)/86400*Be.RADIANS_PER_DEGREE;return O(A)||(A=new vwe),A.rightAscension=se,A.declination=de,A.rotation=me,A.rotationRate=Ce,A};var Bwe=ket;function Oet(o){(!O(o)||typeof o!="function")&&(o=Bwe.ComputeMoon),this._computeFunction=o}var dpi=new Z,fpi=new Z,gpi=new Z;function ppi(o,A,f){let m=dpi;m.x=Math.cos(o+Be.PI_OVER_TWO),m.y=Math.sin(o+Be.PI_OVER_TWO),m.z=0;let C=Math.cos(A),E=gpi;E.x=C*Math.cos(o),E.y=C*Math.sin(o),E.z=Math.sin(A);let x=Z.cross(E,m,fpi);return O(f)||(f=new Gt),f[0]=m.x,f[1]=x.x,f[2]=E.x,f[3]=m.y,f[4]=x.y,f[5]=E.y,f[6]=m.z,f[7]=x.z,f[8]=E.z,f}var mpi=new Gt,Cpi=new fr;Oet.prototype.evaluate=function(o,A){O(o)||(o=Zt.now());let f=this._computeFunction(o),m=ppi(f.rightAscension,f.declination,A),C=Be.zeroToTwoPi(f.rotation),E=fr.fromAxisAngle(Z.UNIT_Z,C,Cpi),x=Gt.fromQuaternion(fr.conjugate(E,E),mpi);return Gt.multiply(x,m,m)};var wwe=Oet,Sge={position:0};function fne(o){o=oe(o,oe.EMPTY_OBJECT),this.center=Z.clone(oe(o.center,Z.ZERO)),this._center=new Z,this.radii=Z.clone(o.radii),this._radii=new Z,this._oneOverEllipsoidRadiiSquared=new Z,this._boundingSphere=new hi,this.modelMatrix=Re.clone(oe(o.modelMatrix,Re.IDENTITY)),this._modelMatrix=new Re,this._computedModelMatrix=new Re,this.show=oe(o.show,!0),this.material=oe(o.material,go.fromType(go.ColorType)),this._material=void 0,this._translucent=void 0,this.id=o.id,this._id=void 0,this.debugShowBoundingVolume=oe(o.debugShowBoundingVolume,!1),this.onlySunLighting=oe(o.onlySunLighting,!1),this._onlySunLighting=!1,this._depthTestEnabled=oe(o.depthTestEnabled,!0),this._useLogDepth=!1,this._sp=void 0,this._rs=void 0,this._va=void 0,this._pickSP=void 0,this._pickId=void 0,this._colorCommand=new fn({owner:oe(o._owner,this)}),this._pickCommand=new fn({owner:oe(o._owner,this),pickOnly:!0});let A=this;this._uniforms={u_radii:function(){return A.radii},u_oneOverEllipsoidRadiiSquared:function(){return A._oneOverEllipsoidRadiiSquared}},this._pickUniforms={czm_pickColor:function(){return A._pickId.color}}}function Epi(o){let A=o.cache.ellipsoidPrimitive_vertexArray;if(O(A))return A;let f=FD.createGeometry(FD.fromDimensions({dimensions:new Z(2,2,2),vertexFormat:Pr.POSITION_ONLY}));return A=hu.fromGeometry({context:o,geometry:f,attributeLocations:Sge,bufferUsage:Gr.STATIC_DRAW,interleave:!0}),o.cache.ellipsoidPrimitive_vertexArray=A,A}fne.prototype.update=function(o){if(!this.show||o.mode!==ni.SCENE3D||!O(this.center)||!O(this.radii))return;let A=o.context,f=this.material.isTranslucent(),m=this._translucent!==f;(!O(this._rs)||m)&&(this._translucent=f,this._rs=Xr.fromCache({cull:{enabled:!0,face:pA.FRONT},depthTest:{enabled:this._depthTestEnabled},depthMask:!f&&A.fragmentDepth,blending:f?Nl.ALPHA_BLEND:void 0})),O(this._va)||(this._va=Epi(A));let C=!1,E=this.radii;if(!Z.equals(this._radii,E)){Z.clone(E,this._radii);let D=this._oneOverEllipsoidRadiiSquared;D.x=1/(E.x*E.x),D.y=1/(E.y*E.y),D.z=1/(E.z*E.z),C=!0}(!Re.equals(this.modelMatrix,this._modelMatrix)||!Z.equals(this.center,this._center))&&(Re.clone(this.modelMatrix,this._modelMatrix),Z.clone(this.center,this._center),Re.multiplyByTranslation(this.modelMatrix,this.center,this._computedModelMatrix),C=!0),C&&(Z.clone(Z.ZERO,this._boundingSphere.center),this._boundingSphere.radius=Z.maximumComponent(E),hi.transform(this._boundingSphere,this._computedModelMatrix,this._boundingSphere));let x=this._material!==this.material;this._material=this.material,this._material.update(A);let y=this.onlySunLighting!==this._onlySunLighting;this._onlySunLighting=this.onlySunLighting;let I=o.useLogDepth,v=this._useLogDepth!==I;this._useLogDepth=I;let B=this._colorCommand,Q,T;(x||y||m||v)&&(Q=new _r({sources:[iee]}),T=new _r({sources:[this.material.shaderSource,tee]}),this.onlySunLighting&&T.defines.push("ONLY_SUN_LIGHTING"),!f&&A.fragmentDepth&&T.defines.push("WRITE_DEPTH"),this._useLogDepth&&(Q.defines.push("LOG_DEPTH"),T.defines.push("LOG_DEPTH")),this._sp=qa.replaceCache({context:A,shaderProgram:this._sp,vertexShaderSource:Q,fragmentShaderSource:T,attributeLocations:Sge}),B.vertexArray=this._va,B.renderState=this._rs,B.shaderProgram=this._sp,B.uniformMap=So(this._uniforms,this.material._uniforms),B.executeInClosestFrustum=f);let w=o.commandList,S=o.passes;if(S.render&&(B.boundingVolume=this._boundingSphere,B.debugShowBoundingVolume=this.debugShowBoundingVolume,B.modelMatrix=this._computedModelMatrix,B.pass=f?Yi.TRANSLUCENT:Yi.OPAQUE,w.push(B)),S.pick){let D=this._pickCommand;(!O(this._pickId)||this._id!==this.id)&&(this._id=this.id,this._pickId=this._pickId&&this._pickId.destroy(),this._pickId=A.createPickId({primitive:this,id:this.id})),(x||y||!O(this._pickSP)||v)&&(Q=new _r({sources:[iee]}),T=new _r({sources:[this.material.shaderSource,tee],pickColorQualifier:"uniform"}),this.onlySunLighting&&T.defines.push("ONLY_SUN_LIGHTING"),!f&&A.fragmentDepth&&T.defines.push("WRITE_DEPTH"),this._useLogDepth&&(Q.defines.push("LOG_DEPTH"),T.defines.push("LOG_DEPTH")),this._pickSP=qa.replaceCache({context:A,shaderProgram:this._pickSP,vertexShaderSource:Q,fragmentShaderSource:T,attributeLocations:Sge}),D.vertexArray=this._va,D.renderState=this._rs,D.shaderProgram=this._pickSP,D.uniformMap=So(So(this._uniforms,this._pickUniforms),this.material._uniforms),D.executeInClosestFrustum=f),D.boundingVolume=this._boundingSphere,D.modelMatrix=this._computedModelMatrix,D.pass=f?Yi.TRANSLUCENT:Yi.OPAQUE,w.push(D)}};fne.prototype.isDestroyed=function(){return!1};fne.prototype.destroy=function(){return this._sp=this._sp&&this._sp.destroy(),this._pickSP=this._pickSP&&this._pickSP.destroy(),this._pickId=this._pickId&&this._pickId.destroy(),Ar(this)};var bwe=fne;function mJ(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.textureUrl;O(A)||(A=ja("Assets/Textures/moonSmall.jpg")),this.show=oe(o.show,!0),this.textureUrl=A,this._ellipsoid=oe(o.ellipsoid,Ci.MOON),this.onlySunLighting=oe(o.onlySunLighting,!0),this._ellipsoidPrimitive=new bwe({radii:this.ellipsoid.radii,material:go.fromType(go.ImageType),depthTestEnabled:!1,_owner:this}),this._ellipsoidPrimitive.material.translucent=!1,this._axes=new wwe}Object.defineProperties(mJ.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});var QX=new Gt,xpi=new Gt,ypi=new Z,SX=[];mJ.prototype.update=function(o){if(!this.show)return;let A=this._ellipsoidPrimitive;A.material.uniforms.image=this.textureUrl,A.onlySunLighting=this.onlySunLighting;let f=o.time;O(kr.computeIcrfToFixedMatrix(f,QX))||kr.computeTemeToPseudoFixedMatrix(f,QX);let m=this._axes.evaluate(f,xpi);Gt.transpose(m,m),Gt.multiply(QX,m,m);let C=z9.computeMoonPositionInEarthInertialFrame(f,ypi);Gt.multiplyByVector(QX,C,C),Re.fromRotationTranslation(m,C,A.modelMatrix);let E=o.commandList;return o.commandList=SX,SX.length=0,A.update(o),o.commandList=E,SX.length===1?SX[0]:void 0};mJ.prototype.isDestroyed=function(){return!1};mJ.prototype.destroy=function(){return this._ellipsoidPrimitive=this._ellipsoidPrimitive&&this._ellipsoidPrimitive.destroy(),Ar(this)};var Qwe=mJ,Dge=[],Tge=[];function Ipi(o,A,f,m,C,E){let x=C-m+1,y=E-C,I=Dge,v=Tge,B,Q;for(B=0;B<x;++B)I[B]=o[m+B];for(Q=0;Q<y;++Q)v[Q]=o[C+Q+1];B=0,Q=0;for(let T=m;T<=E;++T){let w=I[B],S=v[Q];B<x&&(Q>=y||A(w,S,f)<=0)?(o[T]=w,++B):Q<y&&(o[T]=S,++Q)}}function Mge(o,A,f,m,C){if(m>=C)return;let E=Math.floor((m+C)*.5);Mge(o,A,f,m,E),Mge(o,A,f,E+1,C),Ipi(o,A,f,m,E,C)}function _pi(o,A,f){let m=o.length,C=Math.ceil(m*.5);Dge.length=C,Tge.length=C,Mge(o,A,f,0,m-1),Dge.length=0,Tge.length=0}var h8=_pi;function CJ(){this._colorTexture=void 0,this._drawCommand=void 0}Object.defineProperties(CJ.prototype,{colorTexture:{get:function(){return this._colorTexture}}});function vpi(o,A,f){let m=A.createViewportQuadCommand(Pve,{framebuffer:f,renderState:Xr.fromCache({viewport:new vr(0,0,256,256)})});o._drawCommand=m}CJ.prototype.update=function(o){if(!O(this._colorTexture)){let A=o.context,f=new Nn({context:A,width:256,height:256,pixelFormat:rn.RGBA,pixelDatatype:$r.UNSIGNED_BYTE,sampler:Oa.NEAREST});this._colorTexture=f;let m=new Pg({context:A,colorTextures:[f],destroyAttachments:!1});vpi(this,A,m),this._drawCommand.execute(A),m.destroy(),this._drawCommand.shaderProgram=this._drawCommand.shaderProgram&&this._drawCommand.shaderProgram.destroy()}};CJ.prototype.isDestroyed=function(){return!1};CJ.prototype.destroy=function(){return this._colorTexture=this._colorTexture&&this._colorTexture.destroy(),Ar(this)};var Swe=CJ;function Bpi(o){this.pass=o.pass,this.commandList=o.commandList,this.camera=o.camera,this.cullingVolume=o.cullingVolume,this.ready=!1}var Nw=Bpi,wpi=Dc(av(),1),oGe=576,bpi=100,LV="#ffffff",Hhe="#48b";function Uet(o,A){this.credit=o,this.count=oe(A,1)}function Get(o,A){let f=o.length;for(let m=0;m<f;m++){let C=o[m];if(Qa.equals(C,A))return!0}return!1}function Qpi(o){let A=o._previousCesiumCredit,f=o._currentCesiumCredit;Qa.equals(f,A)||(O(A)&&o._cesiumCreditContainer.removeChild(A.element),O(f)&&o._cesiumCreditContainer.appendChild(f.element),o._previousCesiumCredit=f)}var Het="cesium-credit-delimiter";function aGe(o){let A=document.createElement("span");return A.textContent=o,A.className=Het,A}function sGe(o,A){if(O(A)){let f=document.createElement(A);f._creditId=o._creditId,f.appendChild(o),o=f}return o}function lGe(o,A,f,m){let C=o.childNodes,E=-1;A.sort(function(x,y){return y.count-x.count});for(let x=0;x<A.length;++x){let y=A[x].credit;if(O(y)){if(E=x,O(f)&&(E*=2,x>0)){let v=E-1;if(C.length<=v)o.appendChild(aGe(f));else{let B=C[v];B.className!==Het&&o.replaceChild(aGe(f),B)}}let I=y.element;if(C.length<=E)o.appendChild(sGe(I,m));else{let v=C[E];v._creditId!==y._id&&o.replaceChild(sGe(I,m),v)}}}for(++E;E<C.length;)o.removeChild(C[E])}function Spi(o){let A=o._lightboxCredits,f=o.viewport.clientWidth,m=o.viewport.clientHeight;f!==o._lastViewportWidth&&(f<oGe?(A.className="cesium-credit-lightbox cesium-credit-lightbox-mobile",A.style.marginTop="0"):(A.className="cesium-credit-lightbox cesium-credit-lightbox-expanded",A.style.marginTop=`${Math.floor((m-A.clientHeight)*.5)}px`),o._lastViewportWidth=f),f>=oGe&&m!==o._lastViewportHeight&&(A.style.marginTop=`${Math.floor((m-A.clientHeight)*.5)}px`,o._lastViewportHeight=m)}function Ym(o,A){let f=`${o} {`;for(let m in A)A.hasOwnProperty(m)&&(f+=`${m}: ${A[m]}; `);return f+=` } `,f}function Dpi(o){let A="";A+=Ym(".cesium-credit-lightbox-overlay",{display:"none","z-index":"1",position:"absolute",top:"0",left:"0",width:"100%",height:"100%","background-color":"rgba(80, 80, 80, 0.8)"}),A+=Ym(".cesium-credit-lightbox",{"background-color":"#303336",color:LV,position:"relative","min-height":`${bpi}px`,margin:"auto"}),A+=Ym(".cesium-credit-lightbox > ul > li a, .cesium-credit-lightbox > ul > li a:visited",{color:LV}),A+=Ym(".cesium-credit-lightbox > ul > li a:hover",{color:Hhe}),A+=Ym(".cesium-credit-lightbox.cesium-credit-lightbox-expanded",{border:"1px solid #444","border-radius":"5px","max-width":"370px"}),A+=Ym(".cesium-credit-lightbox.cesium-credit-lightbox-mobile",{height:"100%",width:"100%"}),A+=Ym(".cesium-credit-lightbox-title",{padding:"20px 20px 0 20px"}),A+=Ym(".cesium-credit-lightbox-close",{"font-size":"18pt",cursor:"pointer",position:"absolute",top:"0",right:"6px",color:LV}),A+=Ym(".cesium-credit-lightbox-close:hover",{color:Hhe}),A+=Ym(".cesium-credit-lightbox > ul",{margin:"0",padding:"12px 20px 12px 40px","font-size":"13px"}),A+=Ym(".cesium-credit-lightbox > ul > li",{"padding-bottom":"6px"}),A+=Ym(".cesium-credit-lightbox > ul > li *",{padding:"0",margin:"0"}),A+=Ym(".cesium-credit-expand-link",{"padding-left":"5px",cursor:"pointer","text-decoration":"underline",color:LV}),A+=Ym(".cesium-credit-expand-link:hover",{color:Hhe}),A+=Ym(".cesium-credit-text",{color:LV}),A+=Ym(".cesium-credit-textContainer *, .cesium-credit-logoContainer *",{display:"inline"});function f(E){if(E.shadowRoot)return E.shadowRoot;if(E.getRootNode){let x=E.getRootNode();if(x instanceof ShadowRoot)return x}}let m=oe(f(o),document.head),C=document.createElement("style");C.innerHTML=A,m.appendChild(C)}function Qc(o,A,f){let m=this;f=oe(f,document.body);let C=document.createElement("div");C.className="cesium-credit-lightbox-overlay",f.appendChild(C);let E=document.createElement("div");E.className="cesium-credit-lightbox",C.appendChild(E);function x(S){E.contains(S.target)||m.hideLightbox()}C.addEventListener("click",x,!1);let y=document.createElement("div");y.className="cesium-credit-lightbox-title",y.textContent="Data provided by:",E.appendChild(y);let I=document.createElement("a");I.onclick=this.hideLightbox.bind(this),I.innerHTML="×",I.className="cesium-credit-lightbox-close",E.appendChild(I);let v=document.createElement("ul");E.appendChild(v);let B=document.createElement("div");B.className="cesium-credit-logoContainer",B.style.display="inline",o.appendChild(B);let Q=document.createElement("div");Q.className="cesium-credit-textContainer",Q.style.display="inline",o.appendChild(Q);let T=document.createElement("a");T.className="cesium-credit-expand-link",T.onclick=this.showLightbox.bind(this),T.textContent="Data attribution",o.appendChild(T),Dpi(o);let w=Qa.clone(Qc.cesiumCredit);this._delimiter=oe(A," \u2022 "),this._screenContainer=Q,this._cesiumCreditContainer=B,this._lastViewportHeight=void 0,this._lastViewportWidth=void 0,this._lightboxCredits=E,this._creditList=v,this._lightbox=C,this._hideLightbox=x,this._expandLink=T,this._expanded=!1,this._staticCredits=[],this._cesiumCredit=w,this._previousCesiumCredit=void 0,this._currentCesiumCredit=w,this._creditDisplayElementPool=[],this._creditDisplayElementIndex=0,this._currentFrameCredits={screenCredits:new Ro,lightboxCredits:new Ro},this._defaultCredit=void 0,this.viewport=f,this.container=o}function Vet(o,A,f,m){m=oe(m,1);let C=A.get(f.id);if(O(C))C.count<Number.MAX_VALUE&&(C.count+=m);else{let E=o._creditDisplayElementPool,x=o._creditDisplayElementPoolIndex;x<E.length?(C=E[x],C.credit=f,C.count=m):(C=new Uet(f,m),E.push(C)),++o._creditDisplayElementPoolIndex,A.set(f.id,C)}}Qc.prototype.addCredit=function(o){ii("CreditDisplay.addCredit","CreditDisplay.addCredit was deprecated in CesiumJS 1.105. It will be removed in CesiumJS 1.107. Use CreditDisplay.addCreditToNextFrame instead."),this.addCreditToNextFrame(o)};Qc.prototype.addCreditToNextFrame=function(o){if(o._isIon){O(this._defaultCredit)||(this._defaultCredit=Qa.clone(zet())),this._currentCesiumCredit=this._defaultCredit;return}let A;o.showOnScreen?A=this._currentFrameCredits.screenCredits:A=this._currentFrameCredits.lightboxCredits,Vet(this,A,o)};Qc.prototype.addDefaultCredit=function(o){ii("CreditDisplay.addDefaultCredit","CreditDisplay.addDefaultCredit was deprecated in CesiumJS 1.105. It will be removed in CesiumJS 1.107. Use CreditDisplay.addStaticCredit instead.");let A=this._staticCredits;Get(A,o)||(o.showOnScreen=!0,A.push(o))};Qc.prototype.addStaticCredit=function(o){let A=this._staticCredits;Get(A,o)||A.push(o)};Qc.prototype.removeStaticCredit=function(o){let A=this._staticCredits,f=A.indexOf(o);f!==-1&&A.splice(f,1)};Qc.prototype.removeDefaultCredit=function(o){ii("CreditDisplay.removeDefaultCredit","CreditDisplay.removeDefaultCredit was deprecated in CesiumJS 1.105. It will be removed in CesiumJS 1.107. Use CreditDisplay.addStaticCredit instead."),this.removeStaticCredit(o)};Qc.prototype.showLightbox=function(){this._lightbox.style.display="block",this._expanded=!0};Qc.prototype.hideLightbox=function(){this._lightbox.style.display="none",this._expanded=!1};Qc.prototype.update=function(){this._expanded&&Spi(this)};Qc.prototype.beginFrame=function(){let o=this._currentFrameCredits;this._creditDisplayElementPoolIndex=0;let A=o.screenCredits,f=o.lightboxCredits;A.removeAll(),f.removeAll();let m=this._staticCredits;for(let C=0;C<m.length;++C){let E=m[C],x=E.showOnScreen?A:f;E._isIon&&Qa.equals(Qc.cesiumCredit,this._cesiumCredit)||Vet(this,x,E,Number.MAX_VALUE)}Qa.equals(Qc.cesiumCredit,this._cesiumCredit)||(this._cesiumCredit=Qa.clone(Qc.cesiumCredit)),this._currentCesiumCredit=this._cesiumCredit};Qc.prototype.endFrame=function(){let o=this._currentFrameCredits.screenCredits.values;lGe(this._screenContainer,o,this._delimiter,void 0);let A=this._currentFrameCredits.lightboxCredits.values;this._expandLink.style.display=A.length>0?"inline":"none",lGe(this._creditList,A,void 0,"li"),Qpi(this)};Qc.prototype.destroy=function(){return this._lightbox.removeEventListener("click",this._hideLightbox,!1),this.container.removeChild(this._cesiumCreditContainer),this.container.removeChild(this._screenContainer),this.container.removeChild(this._expandLink),this.viewport.removeChild(this._lightbox),Ar(this)};Qc.prototype.isDestroyed=function(){return!1};Qc._cesiumCredit=void 0;Qc._cesiumCreditInitialized=!1;var DX;function zet(){if(!O(DX)){let o=ja("Assets/Images/ion-credit.png");o.indexOf("http://")!==0&&o.indexOf("https://")!==0&&o.indexOf("data:")!==0&&(o=new wpi.default(o).path()),DX=new Qa(`<a href="https://cesium.com/" target="_blank"><img src="${o}" title="Cesium ion"/></a>`,!0)}return Qc._cesiumCreditInitialized||(Qc._cesiumCredit=DX,Qc._cesiumCreditInitialized=!0),DX}Object.defineProperties(Qc,{cesiumCredit:{get:function(){return zet(),Qc._cesiumCredit},set:function(o){Qc._cesiumCredit=o,Qc._cesiumCreditInitialized=!0}}});Qc.CreditDisplayElement=Uet;var Dwe=Qc;function EJ(o){this._rs=void 0,this._sp=void 0,this._va=void 0,this._command=void 0,this._mode=void 0,this._useLogDepth=!1,this._ellipsoidOffset=oe(o,0)}var FV=wo.supportsTypedArrays()?new Float32Array(12):[],uGe=new Z,AGe=new Z,Vhe=new Z,cGe=new Z,TX=new Z;function Tpi(o,A){let f=o.radii,m=A.camera,C,E,x;if(m.frustum instanceof us)C=Z.ZERO,E=m.rightWC,x=m.upWC;else{let Q=m.positionWC,T=Z.multiplyComponents(o.oneOverRadii,Q,uGe),w=Z.normalize(T,AGe),S=Z.normalize(Z.cross(Z.UNIT_Z,T,Vhe),Vhe),D=Z.normalize(Z.cross(w,S,cGe),cGe),R=Z.magnitude(T),P=Math.sqrt(R*R-1);C=Z.multiplyByScalar(w,1/R,uGe);let M=P/R;E=Z.multiplyByScalar(S,M,AGe),x=Z.multiplyByScalar(D,M,Vhe)}let y=Z.add(C,x,TX);Z.subtract(y,E,y),Z.multiplyComponents(f,y,y),Z.pack(y,FV,0);let I=Z.subtract(C,x,TX);Z.subtract(I,E,I),Z.multiplyComponents(f,I,I),Z.pack(I,FV,3);let v=Z.add(C,x,TX);Z.add(v,E,v),Z.multiplyComponents(f,v,v),Z.pack(v,FV,6);let B=Z.subtract(C,x,TX);return Z.add(B,E,B),Z.multiplyComponents(f,B,B),Z.pack(B,FV,9),FV}EJ.prototype.update=function(o){if(this._mode=o.mode,o.mode!==ni.SCENE3D)return;let A=o.context,f=o.mapProjection.ellipsoid.radii,m=new Ci(f.x+this._ellipsoidOffset,f.y+this._ellipsoidOffset,f.z+this._ellipsoidOffset),C=o.useLogDepth;if(O(this._command)||(this._rs=Xr.fromCache({cull:{enabled:!0},depthTest:{enabled:!0},colorMask:{red:!1,green:!1,blue:!1,alpha:!1}}),this._command=new fn({renderState:this._rs,boundingVolume:new hi(Z.ZERO,m.maximumRadius),pass:Yi.OPAQUE,owner:this})),!O(this._sp)||this._useLogDepth!==C){this._useLogDepth=C;let x=new _r({sources:[Gve]}),y=new _r({sources:[Uve]});C&&(y.defines.push("LOG_DEPTH"),x.defines.push("LOG_DEPTH")),this._sp=qa.replaceCache({shaderProgram:this._sp,context:A,vertexShaderSource:x,fragmentShaderSource:y,attributeLocations:{position:0}}),this._command.shaderProgram=this._sp}let E=Tpi(m,o);if(O(this._va))this._va.getAttribute(0).vertexBuffer.copyFromArrayView(E);else{let x=new Uo({attributes:{position:new wr({componentDatatype:Ft.FLOAT,componentsPerAttribute:3,values:E})},indices:[0,1,2,2,1,3],primitiveType:on.TRIANGLES});this._va=hu.fromGeometry({context:A,geometry:x,attributeLocations:{position:0},bufferUsage:Gr.DYNAMIC_DRAW}),this._command.vertexArray=this._va}};EJ.prototype.execute=function(o,A){this._mode===ni.SCENE3D&&this._command.execute(o,A)};EJ.prototype.isDestroyed=function(){return!1};EJ.prototype.destroy=function(){this._sp=this._sp&&this._sp.destroy(),this._va=this._va&&this._va.destroy()};var Twe=EJ;function xJ(){}var Mpi=/\bgl_FragDepth\b/,Ppi=/\bdiscard\b/;function Rpi(o,A){let f=o.shaderCache.getDerivedShaderProgram(A,"depthOnly");if(!O(f)){let m=A._attributeLocations,C=A.fragmentShaderSource,E,x=!1,y=C.sources,I=y.length;for(E=0;E<I;++E)if(Mpi.test(y[E])||Ppi.test(y[E])){x=!0;break}let v=!1,B=C.defines;for(I=B.length,E=0;E<I;++E)if(B[E]==="LOG_DEPTH"){v=!0;break}let Q;!x&&!v?(Q=`void main() { out_FragColor = vec4(1.0); } `,C=new _r({sources:[Q]})):!x&&v&&(Q=`void main() { out_FragColor = vec4(1.0); czm_writeLogDepth(); } `,C=new _r({defines:["LOG_DEPTH"],sources:[Q]})),f=o.shaderCache.createDerivedShaderProgram(A,"depthOnly",{vertexShaderSource:A.vertexShaderSource,fragmentShaderSource:C,attributeLocations:m})}return f}function Lpi(o,A){let f=o._depthOnlyRenderStateCache,m=f[A.id];if(!O(m)){let C=Xr.getState(A);C.depthMask=!0,C.colorMask={red:!1,green:!1,blue:!1,alpha:!1},m=Xr.fromCache(C),f[A.id]=m}return m}xJ.createDepthOnlyDerivedCommand=function(o,A,f,m){O(m)||(m={});let C,E;return O(m.depthOnlyCommand)&&(C=m.depthOnlyCommand.shaderProgram,E=m.depthOnlyCommand.renderState),m.depthOnlyCommand=fn.shallowClone(A,m.depthOnlyCommand),!O(C)||m.shaderProgramId!==A.shaderProgram.id?(m.depthOnlyCommand.shaderProgram=Rpi(f,A.shaderProgram),m.depthOnlyCommand.renderState=Lpi(o,A.renderState),m.shaderProgramId=A.shaderProgram.id):(m.depthOnlyCommand.shaderProgram=C,m.depthOnlyCommand.renderState=E),m};var Fpi=/\s+czm_writeLogDepth\(/,Npi=/\s+czm_vertexLogDepth\(/;function kpi(o,A){if(A.fragmentShaderSource.defines.indexOf("LOG_DEPTH_READ_ONLY")>=0)return A;let f=o.shaderCache.getDerivedShaderProgram(A,"logDepth");if(!O(f)){let m=A._attributeLocations,C=A.vertexShaderSource.clone(),E=A.fragmentShaderSource.clone();C.defines=O(C.defines)?C.defines.slice(0):[],C.defines.push("LOG_DEPTH"),E.defines=O(E.defines)?E.defines.slice(0):[],E.defines.push("LOG_DEPTH");let x,y,I=!1,v=C.sources,B=v.length;for(x=0;x<B;++x)if(Npi.test(v[x])){I=!0;break}if(!I){for(x=0;x<B;++x)v[x]=_r.replaceMain(v[x],"czm_log_depth_main");y=` void main() { czm_log_depth_main(); czm_vertexLogDepth(); } `,v.push(y)}for(v=E.sources,B=v.length,I=!1,x=0;x<B;++x)Fpi.test(v[x])&&(I=!0);E.defines.indexOf("LOG_DEPTH_WRITE")!==-1&&(I=!0);let Q="";if(!I){for(x=0;x<B;x++)v[x]=_r.replaceMain(v[x],"czm_log_depth_main");Q+=` void main() { czm_log_depth_main(); czm_writeLogDepth(); } `}v.push(Q),f=o.shaderCache.createDerivedShaderProgram(A,"logDepth",{vertexShaderSource:C,fragmentShaderSource:E,attributeLocations:m})}return f}xJ.createLogDepthCommand=function(o,A,f){O(f)||(f={});let m;return O(f.command)&&(m=f.command.shaderProgram),f.command=fn.shallowClone(o,f.command),!O(m)||f.shaderProgramId!==o.shaderProgram.id?(f.command.shaderProgram=kpi(A,o.shaderProgram),f.shaderProgramId=o.shaderProgram.id):f.command.shaderProgram=m,f};function Opi(o,A,f){let m=o.shaderCache.getDerivedShaderProgram(A,"pick");if(!O(m)){let C=A._attributeLocations,E=A.fragmentShaderSource,x=E.sources,y=x.length,I=`void main() { czm_non_pick_main(); if (out_FragColor.a == 0.0) { discard; } out_FragColor = ${f}; } `,v=new Array(y+1);for(let B=0;B<y;++B)v[B]=_r.replaceMain(x[B],"czm_non_pick_main");v[y]=I,E=new _r({sources:v,defines:E.defines}),m=o.shaderCache.createDerivedShaderProgram(A,"pick",{vertexShaderSource:A.vertexShaderSource,fragmentShaderSource:E,attributeLocations:C})}return m}function Upi(o,A){let f=o.picking.pickRenderStateCache,m=f[A.id];if(!O(m)){let C=Xr.getState(A);C.blending.enabled=!1,C.depthMask=!0,m=Xr.fromCache(C),f[A.id]=m}return m}xJ.createPickDerivedCommand=function(o,A,f,m){O(m)||(m={});let C,E;return O(m.pickCommand)&&(C=m.pickCommand.shaderProgram,E=m.pickCommand.renderState),m.pickCommand=fn.shallowClone(A,m.pickCommand),!O(C)||m.shaderProgramId!==A.shaderProgram.id?(m.pickCommand.shaderProgram=Opi(f,A.shaderProgram,A.pickId),m.pickCommand.renderState=Upi(o,A.renderState),m.shaderProgramId=A.shaderProgram.id):(m.pickCommand.shaderProgram=C,m.pickCommand.renderState=E),m};function Gpi(o,A){let f=o.shaderCache.getDerivedShaderProgram(A,"HDR");if(!O(f)){let m=A._attributeLocations,C=A.vertexShaderSource.clone(),E=A.fragmentShaderSource.clone();C.defines=O(C.defines)?C.defines.slice(0):[],C.defines.push("HDR"),E.defines=O(E.defines)?E.defines.slice(0):[],E.defines.push("HDR"),f=o.shaderCache.createDerivedShaderProgram(A,"HDR",{vertexShaderSource:C,fragmentShaderSource:E,attributeLocations:m})}return f}xJ.createHdrCommand=function(o,A,f){O(f)||(f={});let m;return O(f.command)&&(m=f.command.shaderProgram),f.command=fn.shallowClone(o,f.command),!O(m)||f.shaderProgramId!==o.shaderProgram.id?(f.command.shaderProgram=Gpi(A,o.shaderProgram),f.shaderProgramId=o.shaderProgram.id):f.command.shaderProgram=m,f};var aC=xJ;function gne(o){this._scene=o,this._lastAlpha=void 0,this._lastBeta=void 0,this._lastGamma=void 0,this._alpha=void 0,this._beta=void 0,this._gamma=void 0;let A=this;function f(m){let C=m.alpha;if(!O(C)){A._alpha=void 0,A._beta=void 0,A._gamma=void 0;return}A._alpha=Be.toRadians(C),A._beta=Be.toRadians(m.beta),A._gamma=Be.toRadians(m.gamma)}window.addEventListener("deviceorientation",f,!1),this._removeListener=function(){window.removeEventListener("deviceorientation",f,!1)}}var Hpi=new fr,hGe=new fr,Vpi=new Gt;function zpi(o,A,f,m){let C=o.direction,E=o.right,x=o.up,y=fr.fromAxisAngle(C,f,hGe),I=fr.fromAxisAngle(E,m,Hpi),v=fr.multiply(I,y,I),B=fr.fromAxisAngle(x,A,hGe);fr.multiply(B,v,v);let Q=Gt.fromQuaternion(v,Vpi);Gt.multiplyByVector(Q,E,E),Gt.multiplyByVector(Q,x,x),Gt.multiplyByVector(Q,C,C)}gne.prototype.update=function(){if(!O(this._alpha))return;O(this._lastAlpha)||(this._lastAlpha=this._alpha,this._lastBeta=this._beta,this._lastGamma=this._gamma);let o=this._lastAlpha-this._alpha,A=this._lastBeta-this._beta,f=this._lastGamma-this._gamma;zpi(this._scene.camera,-o,A,f),this._lastAlpha=this._alpha,this._lastBeta=this._beta,this._lastGamma=this._gamma};gne.prototype.isDestroyed=function(){return!1};gne.prototype.destroy=function(){return this._removeListener(),Ar(this)};var Mwe=gne;function Yet(){this.enabled=!0,this.renderable=!0,this.density=2e-4,this.screenSpaceErrorFactor=2,this.minimumBrightness=.03}var HZ=[359.393,800.749,1275.6501,2151.1192,3141.7763,4777.5198,6281.2493,12364.307,15900.765,49889.0549,78026.8259,99260.7344,120036.3873,151011.0158,156091.1953,203849.3112,274866.9803,319916.3149,493552.0528,628733.5874],_b=[2e-5,2e-4,1e-4,7e-5,5e-5,4e-5,3e-5,19e-6,1e-5,85e-7,62e-7,58e-7,53e-7,52e-7,51e-7,42e-7,4e-6,34e-7,26e-7,22e-7];for(let o=0;o<_b.length;++o)_b[o]*=1e6;var Jet=_b[1],Pge=_b[_b.length-1];for(let o=0;o<_b.length;++o)_b[o]=(_b[o]-Pge)/(Jet-Pge);var j0=0;function Ypi(o){let A=HZ,f=A.length;if(o<A[0])return j0=0,j0;if(o>A[f-1])return j0=f-2,j0;if(o>=A[j0]){if(j0+1<f&&o<A[j0+1])return j0;if(j0+2<f&&o<A[j0+2])return++j0,j0}else if(j0-1>=0&&o>=A[j0-1])return--j0,j0;let m;for(m=0;m<f-2&&!(o>=A[m]&&o<A[m+1]);++m);return j0=m,j0}var Jpi=new Z;Yet.prototype.update=function(o){if(!(o.fog.enabled=this.enabled))return;o.fog.renderable=this.renderable;let A=o.camera,f=A.positionCartographic;if(!O(f)||f.height>8e5||o.mode!==ni.SCENE3D){o.fog.enabled=!1;return}let m=f.height,C=Ypi(m),E=Be.clamp((m-HZ[C])/(HZ[C+1]-HZ[C]),0,1),x=Be.lerp(_b[C],_b[C+1],E),y=this.density*1e6,I=y/Jet*Pge;x=x*(y-I)*1e-6;let v=Z.normalize(A.positionWC,Jpi),B=Math.abs(Z.dot(A.directionWC,v));x*=1-B,o.fog.density=x,o.fog.sse=this.screenSpaceErrorFactor,o.fog.minimumBrightness=this.minimumBrightness};var Pwe=Yet;function Kpi(o,A,f){this.context=o,this.commandList=[],this.shadowMaps=[],this.textureProjectionMaps=[],this.viewShedMaps=[],this.brdfLutGenerator=void 0,this.environmentMap=void 0,this.sphericalHarmonicCoefficients=void 0,this.specularEnvironmentMaps=void 0,this.specularEnvironmentMapsMaximumLOD=void 0,this.mode=ni.SCENE3D,this.morphTime=ni.getMorphTime(ni.SCENE3D),this.frameNumber=0,this.newFrame=!1,this.time=void 0,this.jobScheduler=f,this.mapProjection=void 0,this.camera=void 0,this.cameraUnderground=!1,this.globeTranslucencyState=void 0,this.cullingVolume=void 0,this.cullingVolumeForTileset=void 0,this.occluder=void 0,this.maximumScreenSpaceError=void 0,this.pixelRatio=1,this.passes={render:!1,pick:!1,depth:!1,postProcess:!1,offscreen:!1},this.creditDisplay=A,this.afterRender=[],this.scene3DOnly=!1,this.fog={enabled:!1,density:void 0,sse:void 0,minimumBrightness:void 0},this.terrainExaggeration=1,this.terrainExaggerationRelativeHeight=0,this.shadowState={shadowsEnabled:!0,shadowMaps:[],lightShadowMaps:[],nearPlane:1,farPlane:5e3,closestObjectSize:1e3,lastDirtyTime:0,outOfView:!0},this.textureProjecitonHints={shadowsEnabled:!0,shadowMaps:[],lightShadowMaps:[],nearPlane:1,farPlane:5e3,closestObjectSize:1e3,lastDirtyTime:0,outOfView:!0},this.viewShedState={shadowsEnabled:!0,lightShadowsEnabled:!0,shadowMaps:[],lightShadowMaps:[],nearPlane:1,farPlane:5e3,closestObjectSize:1e3,lastDirtyTime:0,outOfView:!0},this.splitPosition=0,this.frustumSplits=[],this.backgroundColor=void 0,this.light=void 0,this.minimumDisableDepthTestDistance=void 0,this.invertClassification=!1,this.invertClassificationColor=void 0,this.useLogDepth=!1,this.tilesetPassState=void 0,this.minimumTerrainHeight=0}var Rwe=Kpi,X0={OPAQUE_FRONT_FACE:0,OPAQUE_BACK_FACE:1,DEPTH_ONLY_FRONT_FACE:2,DEPTH_ONLY_BACK_FACE:3,DEPTH_ONLY_FRONT_AND_BACK_FACE:4,TRANSLUCENT_FRONT_FACE:5,TRANSLUCENT_BACK_FACE:6,TRANSLUCENT_FRONT_FACE_MANUAL_DEPTH_TEST:7,TRANSLUCENT_BACK_FACE_MANUAL_DEPTH_TEST:8,PICK_FRONT_FACE:9,PICK_BACK_FACE:10,DERIVED_COMMANDS_MAXIMUM_LENGTH:11},XF=X0.DERIVED_COMMANDS_MAXIMUM_LENGTH,Ket=["opaqueFrontFaceCommand","opaqueBackFaceCommand","depthOnlyFrontFaceCommand","depthOnlyBackFaceCommand","depthOnlyFrontAndBackFaceCommand","translucentFrontFaceCommand","translucentBackFaceCommand","translucentFrontFaceManualDepthTestCommand","translucentBackFaceManualDepthTestCommand","pickFrontFaceCommand","pickBackFaceCommand"];function N3(){this._frontFaceAlphaByDistance=new Eo(0,1,0,1),this._backFaceAlphaByDistance=new Eo(0,1,0,1),this._frontFaceTranslucent=!1,this._backFaceTranslucent=!1,this._requiresManualDepthTest=!1,this._sunVisibleThroughGlobe=!1,this._environmentVisible=!1,this._useDepthPlane=!1,this._numberOfTextureUniforms=0,this._globeTranslucencyFramebuffer=void 0,this._rectangle=gi.clone(gi.MAX_VALUE),this._derivedCommandKey=0,this._derivedCommandsDirty=!1,this._derivedCommandPacks=void 0,this._derivedCommandTypes=new Array(XF),this._derivedBlendCommandTypes=new Array(XF),this._derivedPickCommandTypes=new Array(XF),this._derivedCommandTypesToUpdate=new Array(XF),this._derivedCommandsLength=0,this._derivedBlendCommandsLength=0,this._derivedPickCommandsLength=0,this._derivedCommandsToUpdateLength=0}Object.defineProperties(N3.prototype,{frontFaceAlphaByDistance:{get:function(){return this._frontFaceAlphaByDistance}},backFaceAlphaByDistance:{get:function(){return this._backFaceAlphaByDistance}},translucent:{get:function(){return this._frontFaceTranslucent}},sunVisibleThroughGlobe:{get:function(){return this._sunVisibleThroughGlobe}},environmentVisible:{get:function(){return this._environmentVisible}},useDepthPlane:{get:function(){return this._useDepthPlane}},numberOfTextureUniforms:{get:function(){return this._numberOfTextureUniforms}},rectangle:{get:function(){return this._rectangle}}});N3.prototype.update=function(o){let A=o.globe;if(!O(A)||!A.show){this._frontFaceTranslucent=!1,this._backFaceTranslucent=!1,this._sunVisibleThroughGlobe=!0,this._environmentVisible=!0,this._useDepthPlane=!1;return}this._frontFaceAlphaByDistance=dGe(A.translucency.enabled,A.translucency.frontFaceAlpha,A.translucency.frontFaceAlphaByDistance,this._frontFaceAlphaByDistance),this._backFaceAlphaByDistance=dGe(A.translucency.enabled,A.translucency.backFaceAlpha,A.translucency.backFaceAlphaByDistance,this._backFaceAlphaByDistance),this._frontFaceTranslucent=fGe(A.translucency.enabled,this._frontFaceAlphaByDistance,A),this._backFaceTranslucent=fGe(A.translucency.enabled,this._backFaceAlphaByDistance,A),this._requiresManualDepthTest=Xpi(this,o,A),this._sunVisibleThroughGlobe=Wpi(this,o),this._environmentVisible=jpi(this,o),this._useDepthPlane=qpi(this,o),this._numberOfTextureUniforms=Zpi(this),this._rectangle=gi.clone(A.translucency.rectangle,this._rectangle),$pi(this,o)};function dGe(o,A,f,m){return o?O(f)?(Eo.clone(f,m),m.nearValue*=A,m.farValue*=A,m):(m.nearValue=A,m.farValue=A,m):(m.nearValue=1,m.farValue=1,m)}function fGe(o,A,f){return o&&(f.baseColor.alpha<1||A.nearValue<1||A.farValue<1)}function Wpi(o,A){let f=o._frontFaceTranslucent,m=o._backFaceTranslucent;return f&&(A.cameraUnderground||m)}function jpi(o,A){return!A.cameraUnderground||o._frontFaceTranslucent}function qpi(o,A){return!A.cameraUnderground&&!o._frontFaceTranslucent}function Xpi(o,A,f){return o._frontFaceTranslucent&&!o._backFaceTranslucent&&!f.depthTestAgainstTerrain&&A.mode!==ni.SCENE2D&&A.context.depthTexture}function Zpi(o){let A=0;return o._frontFaceTranslucent&&++A,o._requiresManualDepthTest&&++A,A}function $pi(o,A){o._derivedCommandsLength=zhe(o,A,!1,!1,o._derivedCommandTypes),o._derivedBlendCommandsLength=zhe(o,A,!0,!1,o._derivedBlendCommandTypes),o._derivedPickCommandsLength=zhe(o,A,!1,!0,o._derivedPickCommandTypes);let f,m=0;for(f=0;f<o._derivedCommandsLength;++f)m|=1<<o._derivedCommandTypes[f];for(f=0;f<o._derivedBlendCommandsLength;++f)m|=1<<o._derivedBlendCommandTypes[f];for(f=0;f<o._derivedPickCommandsLength;++f)m|=1<<o._derivedPickCommandTypes[f];let C=0;for(f=0;f<XF;++f)(m&1<<f)>0&&(o._derivedCommandTypesToUpdate[C++]=f);o._derivedCommandsToUpdateLength=C;let E=m!==o._derivedCommandKey;o._derivedCommandKey=m,o._derivedCommandsDirty=E,!O(o._derivedCommandPacks)&&o._frontFaceTranslucent&&(o._derivedCommandPacks=fmi())}function zhe(o,A,f,m,C){let E=0,x=o._frontFaceTranslucent,y=o._backFaceTranslucent;if(!x)return E;let I=A.cameraUnderground,v=o._requiresManualDepthTest,B=m?X0.PICK_FRONT_FACE:v?X0.TRANSLUCENT_FRONT_FACE_MANUAL_DEPTH_TEST:X0.TRANSLUCENT_FRONT_FACE,Q=m?X0.PICK_BACK_FACE:v?X0.TRANSLUCENT_BACK_FACE_MANUAL_DEPTH_TEST:X0.TRANSLUCENT_BACK_FACE;return A.mode===ni.SCENE2D?(C[E++]=X0.DEPTH_ONLY_FRONT_FACE,C[E++]=B,E):(y?(f||(C[E++]=X0.DEPTH_ONLY_FRONT_AND_BACK_FACE),I?(C[E++]=B,C[E++]=Q):(C[E++]=Q,C[E++]=B)):I?(f||(C[E++]=X0.DEPTH_ONLY_BACK_FACE),C[E++]=X0.OPAQUE_FRONT_FACE,C[E++]=Q):(f||(C[E++]=X0.DEPTH_ONLY_FRONT_FACE),C[E++]=X0.OPAQUE_BACK_FACE,C[E++]=B),E)}function T_(o,A){let f=o.indexOf(A);f>-1&&o.splice(f,1)}function gGe(o,A){return o.indexOf(A)>-1}function emi(o,A){T_(o.defines,"TRANSLUCENT"),T_(A.defines,"TRANSLUCENT")}function tmi(o,A){T_(o.defines,"GROUND_ATMOSPHERE"),T_(A.defines,"GROUND_ATMOSPHERE"),T_(o.defines,"FOG"),T_(A.defines,"FOG"),T_(o.defines,"TRANSLUCENT"),T_(A.defines,"TRANSLUCENT")}function Yhe(o,A){if(gGe(A.defines,"TILE_LIMIT_RECTANGLE")||gGe(A.defines,"ENABLE_CLIPPING_PLANES"))return;let f=`void main() { out_FragColor = vec4(1.0); } `;A.sources=[f]}function Lwe(o,A){let f=A.sources,m=f.length;for(let E=0;E<m;++E)f[E]=_r.replaceMain(f[E],"czm_globe_translucency_main");let C=` uniform sampler2D u_classificationTexture; void main() { vec2 st = gl_FragCoord.xy / czm_viewport.zw; #ifdef MANUAL_DEPTH_TEST float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, st)); if (logDepthOrDepth != 0.0) { vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); float depthEC = eyeCoordinate.z / eyeCoordinate.w; if (v_positionEC.z < depthEC) { discard; } } #endif czm_globe_translucency_main(); vec4 classificationColor = texture(u_classificationTexture, st); if (classificationColor.a > 0.0) { // Reverse premultiplication process to get the correct composited result of the classification primitives classificationColor.rgb /= classificationColor.a; } out_FragColor = classificationColor * vec4(classificationColor.aaa, 1.0) + out_FragColor * (1.0 - classificationColor.a); } `;f.push(C)}function Wet(o,A){Lwe(o,A),T_(o.defines,"GROUND_ATMOSPHERE"),T_(A.defines,"GROUND_ATMOSPHERE"),T_(o.defines,"FOG"),T_(A.defines,"FOG")}function imi(o,A){Lwe(o,A),o.defines.push("GENERATE_POSITION"),A.defines.push("MANUAL_DEPTH_TEST")}function rmi(o,A){Wet(o,A),o.defines.push("GENERATE_POSITION"),A.defines.push("MANUAL_DEPTH_TEST")}function pGe(o,A){let f=`uniform sampler2D u_classificationTexture; void main() { vec2 st = gl_FragCoord.xy / czm_viewport.zw; vec4 pickColor = texture(u_classificationTexture, st); if (pickColor == vec4(0.0)) { discard; } out_FragColor = pickColor; } `;A.sources=[f]}function nmi(o,A,f,m,C,E){if(!O(C))return A;if(!m&&O(f))return f;let x=o.shaderCache.getDerivedShaderProgram(A,E);if(!O(x)){let y=A._attributeLocations,I=A.vertexShaderSource.clone(),v=A.fragmentShaderSource.clone();I.defines=O(I.defines)?I.defines.slice(0):[],v.defines=O(v.defines)?v.defines.slice(0):[],C(I,v),x=o.shaderCache.createDerivedShaderProgram(A,E,{vertexShaderSource:I,fragmentShaderSource:v,attributeLocations:y})}return x}function omi(o){o.cull.face=pA.BACK,o.cull.enabled=!0}function ami(o){o.cull.face=pA.FRONT,o.cull.enabled=!0}function smi(o){o.cull.face=pA.BACK,o.cull.enabled=!0,o.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function lmi(o){o.cull.face=pA.FRONT,o.cull.enabled=!0,o.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function umi(o){o.cull.enabled=!1,o.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function mGe(o){o.cull.face=pA.BACK,o.cull.enabled=!0,o.depthMask=!1,o.blending=Nl.ALPHA_BLEND}function CGe(o){o.cull.face=pA.FRONT,o.cull.enabled=!0,o.depthMask=!1,o.blending=Nl.ALPHA_BLEND}function Ami(o){o.cull.face=pA.BACK,o.cull.enabled=!0,o.blending.enabled=!1}function cmi(o){o.cull.face=pA.FRONT,o.cull.enabled=!0,o.blending.enabled=!1}function hmi(o,A,f,m,C){if(!O(m))return o;if(!f&&O(A))return A;let E=C[o.id];if(!O(E)){let x=Xr.getState(o);m(x),E=Xr.fromCache(x),C[o.id]=E}return E}function LU(o){return{u_classificationTexture:function(){return o._globeTranslucencyFramebuffer.classificationTexture}}}function dmi(o,A,f,m,C){return O(C)?!m&&O(f)?f:So(A,C(o),!1):A}function NB(o){this.pass=o.pass,this.pickOnly=o.pickOnly,this.getShaderProgramFunction=o.getShaderProgramFunction,this.getRenderStateFunction=o.getRenderStateFunction,this.getUniformMapFunction=o.getUniformMapFunction,this.renderStateCache={}}function fmi(){return[new NB({pass:Yi.GLOBE,pickOnly:!1,getShaderProgramFunction:emi,getRenderStateFunction:omi,getUniformMapFunction:void 0}),new NB({pass:Yi.GLOBE,pickOnly:!1,getShaderProgramFunction:tmi,getRenderStateFunction:ami,getUniformMapFunction:void 0}),new NB({pass:Yi.GLOBE,pickOnly:!1,getShaderProgramFunction:Yhe,getRenderStateFunction:smi,getUniformMapFunction:void 0}),new NB({pass:Yi.GLOBE,pickOnly:!1,getShaderProgramFunction:Yhe,getRenderStateFunction:lmi,getUniformMapFunction:void 0}),new NB({pass:Yi.GLOBE,pickOnly:!1,getShaderProgramFunction:Yhe,getRenderStateFunction:umi,getUniformMapFunction:void 0}),new NB({pass:Yi.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:Lwe,getRenderStateFunction:mGe,getUniformMapFunction:LU}),new NB({pass:Yi.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:Wet,getRenderStateFunction:CGe,getUniformMapFunction:LU}),new NB({pass:Yi.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:imi,getRenderStateFunction:mGe,getUniformMapFunction:LU}),new NB({pass:Yi.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:rmi,getRenderStateFunction:CGe,getUniformMapFunction:LU}),new NB({pass:Yi.TRANSLUCENT,pickOnly:!0,getShaderProgramFunction:pGe,getRenderStateFunction:Ami,getUniformMapFunction:LU}),new NB({pass:Yi.TRANSLUCENT,pickOnly:!0,getShaderProgramFunction:pGe,getRenderStateFunction:cmi,getUniformMapFunction:LU})]}var EGe=new Array(XF),xGe=new Array(XF);N3.prototype.updateDerivedCommands=function(o,A){let f=this._derivedCommandTypesToUpdate,m=this._derivedCommandsToUpdateLength;if(m!==0){for(let C=0;C<m;++C)xGe[C]=this._derivedCommandPacks[f[C]],EGe[C]=Ket[f[C]];gmi(this,o,m,f,EGe,xGe,A)}};function gmi(o,A,f,m,C,E,x){let y=A.derivedCommands.globeTranslucency,I=o._derivedCommandsDirty;if(A.dirty||!O(y)||I){A.dirty=!1,O(y)||(y={},A.derivedCommands.globeTranslucency=y);let v=x.frameNumber,B=oe(y.uniformMapDirtyFrame,0),Q=oe(y.shaderProgramDirtyFrame,0),T=oe(y.renderStateDirtyFrame,0),w=y.uniformMap!==A.uniformMap,S=y.shaderProgramId!==A.shaderProgram.id,D=y.renderStateId!==A.renderState.id;w&&(y.uniformMapDirtyFrame=v),S&&(y.shaderProgramDirtyFrame=v),D&&(y.renderStateDirtyFrame=v),y.uniformMap=A.uniformMap,y.shaderProgramId=A.shaderProgram.id,y.renderStateId=A.renderState.id;for(let R=0;R<f;++R){let P=E[R],M=m[R],L=C[R],F=y[L],k,N,G;O(F)?(k=F.uniformMap,N=F.shaderProgram,G=F.renderState):(k=void 0,N=void 0,G=void 0),F=fn.shallowClone(A,F),y[L]=F;let J=oe(F.derivedCommands.uniformMapDirtyFrame,0),K=oe(F.derivedCommands.shaderProgramDirtyFrame,0),X=oe(F.derivedCommands.renderStateDirtyFrame,0),q=w||J<B,ee=S||K<Q,ie=D||X<T;q&&(F.derivedCommands.uniformMapDirtyFrame=v),ee&&(F.derivedCommands.shaderProgramDirtyFrame=v),ie&&(F.derivedCommands.renderStateDirtyFrame=v),F.derivedCommands.type=M,F.pass=P.pass,F.pickOnly=P.pickOnly,F.uniformMap=dmi(o,A.uniformMap,k,q,P.getUniformMapFunction),F.shaderProgram=nmi(x.context,A.shaderProgram,N,ee,P.getShaderProgramFunction,L),F.renderState=hmi(A.renderState,G,ie,P.getRenderStateFunction,P.renderStateCache)}}}N3.prototype.pushDerivedCommands=function(o,A,f){let m=f.passes.pick;if(m&&A)return;let C=this._derivedCommandTypes,E=this._derivedCommandsLength;if(m?(C=this._derivedPickCommandTypes,E=this._derivedPickCommandsLength):A&&(C=this._derivedBlendCommandTypes,E=this._derivedBlendCommandsLength),E===0){f.commandList.push(o);return}let x=o.derivedCommands.globeTranslucency;for(let y=0;y<E;++y){let I=Ket[C[y]];f.commandList.push(x[I])}};function jet(o,A,f,m,C,E,x){for(let y=0;y<A;++y){let I=o[y],v=I.derivedCommands.type;(!O(x)||x.indexOf(v)>-1)&&f(I,m,C,E)}}function yGe(o,A,f,m,C,E){for(let x=0;x<A;++x)f(o[x],m,C,E)}var pmi=[X0.OPAQUE_FRONT_FACE,X0.OPAQUE_BACK_FACE],mmi=[X0.DEPTH_ONLY_FRONT_FACE,X0.DEPTH_ONLY_BACK_FACE,X0.DEPTH_ONLY_FRONT_AND_BACK_FACE];N3.prototype.executeGlobeCommands=function(o,A,f,m,C){let E=m.context,x=o.commands[Yi.GLOBE],y=o.indices[Yi.GLOBE];y!==0&&(this._globeTranslucencyFramebuffer=f,f.clearClassification(E,C),jet(x,y,A,m,E,C,pmi))};N3.prototype.executeGlobeClassificationCommands=function(o,A,f,m,C){let E=m.context,x=o.commands[Yi.GLOBE],y=o.indices[Yi.GLOBE],I=o.commands[Yi.TERRAIN_CLASSIFICATION],v=o.indices[Yi.TERRAIN_CLASSIFICATION];if(y===0||v===0)return;let B=this._frontFaceTranslucent,Q=this._backFaceTranslucent;if((!B||!Q)&&yGe(I,v,A,m,E,C),!B&&!Q)return;this._globeTranslucencyFramebuffer=f;let T=E.uniformState.globeDepthTexture,w=C.framebuffer;if(C.framebuffer=f.classificationFramebuffer,jet(x,y,A,m,E,C,mmi),E.depthTexture){let S=f.packDepth(E,C);E.uniformState.globeDepthTexture=S}yGe(I,v,A,m,E,C),E.uniformState.globeDepthTexture=T,C.framebuffer=w};var Fwe=N3,HD=`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; void main() { out_FragColor = texture(colorTexture, v_textureCoordinates); } `;function yQ(){this._numSamples=1,this.previousFramebuffer=void 0,this._previousFramebuffer=void 0,this._depthStencilTexture=void 0,this._depthStencilRenderbuffer=void 0,this._fbo=new hc({depthStencil:!0,createDepthAttachments:!1}),this._fboClassified=new hc({depthStencil:!0,createDepthAttachments:!1}),this._rsUnclassified=void 0,this._rsClassified=void 0,this._unclassifiedCommand=void 0,this._classifiedCommand=void 0,this._translucentCommand=void 0,this._clearColorCommand=new Yu({color:new Ve(0,0,0,0),owner:this}),this._clearCommand=new Yu({color:new Ve(0,0,0,0),depth:1,stencil:0});let o=this;this._uniformMap={colorTexture:function(){return o._fbo.getColorTexture()},depthTexture:function(){return o._depthStencilTexture},classifiedTexture:function(){return o._fboClassified.getColorTexture()}}}Object.defineProperties(yQ.prototype,{unclassifiedCommand:{get:function(){return this._unclassifiedCommand}}});yQ.isTranslucencySupported=function(o){return o.depthTexture&&o.fragmentDepth};var Cmi={depthMask:!1,stencilTest:{enabled:!0,frontFunction:du.EQUAL,frontOperation:{fail:jn.KEEP,zFail:jn.KEEP,zPass:jn.KEEP},backFunction:du.NEVER,reference:0,mask:ia.CLASSIFICATION_MASK},blending:Nl.ALPHA_BLEND},Emi={depthMask:!1,stencilTest:{enabled:!0,frontFunction:du.NOT_EQUAL,frontOperation:{fail:jn.KEEP,zFail:jn.KEEP,zPass:jn.KEEP},backFunction:du.NEVER,reference:0,mask:ia.CLASSIFICATION_MASK},blending:Nl.ALPHA_BLEND},xmi={depthMask:!0,depthTest:{enabled:!0},stencilTest:ia.setCesium3DTileBit(),stencilMask:ia.CESIUM_3D_TILE_MASK,blending:Nl.ALPHA_BLEND},ymi=`uniform sampler2D colorTexture; uniform sampler2D depthTexture; uniform sampler2D classifiedTexture; in vec2 v_textureCoordinates; void main() { vec4 color = texture(colorTexture, v_textureCoordinates); if (color.a == 0.0) { discard; } bool isClassified = all(equal(texture(classifiedTexture, v_textureCoordinates), vec4(0.0))); #ifdef UNCLASSIFIED vec4 highlightColor = czm_invertClassificationColor; if (isClassified) { discard; } #else vec4 highlightColor = vec4(1.0); if (!isClassified) { discard; } #endif out_FragColor = color * highlightColor; gl_FragDepth = texture(depthTexture, v_textureCoordinates).r; } `,Imi=`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; void main() { vec4 color = texture(colorTexture, v_textureCoordinates); if (color.a == 0.0) { discard; } #ifdef UNCLASSIFIED out_FragColor = color * czm_invertClassificationColor; #else out_FragColor = color; #endif } `;yQ.prototype.update=function(o,A,f){let m=this._fbo.getColorTexture(),C=this.previousFramebuffer!==this._previousFramebuffer;this._previousFramebuffer=this.previousFramebuffer;let E=this._numSamples!==A,x=o.drawingBufferWidth,y=o.drawingBufferHeight,I=!O(m)||m.width!==x||m.height!==y;if((I||C||E)&&(this._numSamples=A,this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy(),O(this._previousFramebuffer)||(this._depthStencilTexture=new Nn({context:o,width:x,height:y,pixelFormat:rn.DEPTH_STENCIL,pixelDatatype:$r.UNSIGNED_INT_24_8}),A>1&&(this._depthStencilRenderbuffer=new Zy({context:o,width:x,height:y,format:_x.DEPTH24_STENCIL8,numSamples:A})))),!O(this._fbo.framebuffer)||I||C||E){this._fbo.destroy(),this._fboClassified.destroy();let v,B;O(this._previousFramebuffer)?(v=f.getDepthStencilTexture(),B=f.getDepthStencilRenderbuffer()):(v=this._depthStencilTexture,B=this._depthStencilRenderbuffer),this._fbo.setDepthStencilTexture(v),O(B)&&this._fbo.setDepthStencilRenderbuffer(B),this._fbo.update(o,x,y,A),O(this._previousFramebuffer)||(this._fboClassified.setDepthStencilTexture(v),this._fboClassified.update(o,x,y))}if(O(this._rsUnclassified)||(this._rsUnclassified=Xr.fromCache(Cmi),this._rsClassified=Xr.fromCache(Emi),this._rsDefault=Xr.fromCache(xmi)),!O(this._unclassifiedCommand)||C||E){O(this._unclassifiedCommand)&&(this._unclassifiedCommand.shaderProgram=this._unclassifiedCommand.shaderProgram&&this._unclassifiedCommand.shaderProgram.destroy(),this._classifiedCommand.shaderProgram=this._classifiedCommand.shaderProgram&&this._classifiedCommand.shaderProgram.destroy());let v=O(this._previousFramebuffer)?Imi:ymi,B=new _r({defines:["UNCLASSIFIED"],sources:[v]}),Q=new _r({sources:[v]});this._unclassifiedCommand=o.createViewportQuadCommand(B,{renderState:O(this._previousFramebuffer)?this._rsUnclassified:this._rsDefault,uniformMap:this._uniformMap,owner:this}),this._classifiedCommand=o.createViewportQuadCommand(Q,{renderState:O(this._previousFramebuffer)?this._rsClassified:this._rsDefault,uniformMap:this._uniformMap,owner:this}),O(this._translucentCommand)&&(this._translucentCommand.shaderProgram=this._translucentCommand.shaderProgram&&this._translucentCommand.shaderProgram.destroy()),O(this._previousFramebuffer)||(this._translucentCommand=o.createViewportQuadCommand(HD,{renderState:this._rsUnclassified,uniformMap:this._uniformMap,owner:this}))}};yQ.prototype.prepareTextures=function(o,A){this._fbo._numSamples>1&&this._fbo.prepareTextures(o,A)};yQ.prototype.clear=function(o,A){O(this._previousFramebuffer)?this._fbo.clear(o,this._clearColorCommand,A):(this._fbo.clear(o,this._clearCommand,A),this._fboClassified.clear(o,this._clearCommand,A))};yQ.prototype.executeClassified=function(o,A){if(!O(this._previousFramebuffer)){let f=A.framebuffer;this.prepareTextures(o,!0),A.framebuffer=this._fboClassified.framebuffer,this._translucentCommand.execute(o,A),A.framebuffer=f}this._classifiedCommand.execute(o,A)};yQ.prototype.executeUnclassified=function(o,A){this._unclassifiedCommand.execute(o,A)};yQ.prototype.isDestroyed=function(){return!1};yQ.prototype.destroy=function(){return this._fbo.destroy(),this._fboClassified.destroy(),this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy(),O(this._unclassifiedCommand)&&(this._unclassifiedCommand.shaderProgram=this._unclassifiedCommand.shaderProgram&&this._unclassifiedCommand.shaderProgram.destroy(),this._classifiedCommand.shaderProgram=this._classifiedCommand.shaderProgram&&this._classifiedCommand.shaderProgram.destroy()),Ar(this)};var pne=yQ;function VZ(o){this._total=o,this.usedThisFrame=0,this.stolenFromMeThisFrame=0,this.starvedThisFrame=!1,this.starvedLastFrame=!1}Object.defineProperties(VZ.prototype,{total:{get:function(){return this._total}}});function fP(o){let A=new Array(gx.NUMBER_OF_JOB_TYPES);A[gx.TEXTURE]=new VZ(O(o)?o[gx.TEXTURE]:10),A[gx.PROGRAM]=new VZ(O(o)?o[gx.PROGRAM]:10),A[gx.BUFFER]=new VZ(O(o)?o[gx.BUFFER]:30);let f=A.length,m,C=0;for(m=0;m<f;++m)C+=A[m].total;let E=new Array(f);for(m=0;m<f;++m)E[m]=!1;this._totalBudget=C,this._totalUsedThisFrame=0,this._budgets=A,this._executedThisFrame=E}fP.getTimestamp=oA;Object.defineProperties(fP.prototype,{totalBudget:{get:function(){return this._totalBudget}}});fP.prototype.disableThisFrame=function(){this._totalUsedThisFrame=this._totalBudget};fP.prototype.resetBudgets=function(){let o=this._budgets,A=o.length;for(let f=0;f<A;++f){let m=o[f];m.starvedLastFrame=m.starvedThisFrame,m.starvedThisFrame=!1,m.usedThisFrame=0,m.stolenFromMeThisFrame=0}this._totalUsedThisFrame=0};fP.prototype.execute=function(o,A){let f=this._budgets,m=f[A],C=this._executedThisFrame[A];if(this._totalUsedThisFrame>=this._totalBudget&&C)return m.starvedThisFrame=!0,!1;let E;if(m.usedThisFrame+m.stolenFromMeThisFrame>=m.total){let I=f.length,v;for(v=0;v<I&&(E=f[v],!(E.usedThisFrame+E.stolenFromMeThisFrame<E.total&&!E.starvedLastFrame));++v);if(v===I&&C)return!1;C&&(m.starvedThisFrame=!0)}let x=fP.getTimestamp();o.execute();let y=fP.getTimestamp()-x;return this._totalUsedThisFrame+=y,E?E.stolenFromMeThisFrame+=y:m.usedThisFrame+=y,this._executedThisFrame[A]=!0,!0};var Nwe=fP;function mne(o){o=oe(o,oe.EMPTY_OBJECT);let A=tc(o.container);this._container=A;let f=document.createElement("div");f.className="cesium-performanceDisplay";let m=document.createElement("div");m.className="cesium-performanceDisplay-fps",this._fpsText=document.createTextNode(""),m.appendChild(this._fpsText);let C=document.createElement("div");C.className="cesium-performanceDisplay-ms",this._msText=document.createTextNode(""),C.appendChild(this._msText),f.appendChild(C),f.appendChild(m),this._container.appendChild(f),this._lastFpsSampleTime=oA(),this._lastMsSampleTime=oA(),this._fpsFrameCount=0,this._msFrameCount=0,this._throttled=!1;let E=document.createElement("div");E.className="cesium-performanceDisplay-throttled",this._throttledText=document.createTextNode(""),E.appendChild(this._throttledText),f.appendChild(E)}Object.defineProperties(mne.prototype,{throttled:{get:function(){return this._throttled},set:function(o){this._throttled!==o&&(o?this._throttledText.nodeValue="(throttled)":this._throttledText.nodeValue="",this._throttled=o)}}});mne.prototype.update=function(o){let A=oA(),f=oe(o,!0);this._fpsFrameCount++;let m=A-this._lastFpsSampleTime;if(m>1e3){let E="N/A";f&&(E=this._fpsFrameCount*1e3/m|0),this._fpsText.nodeValue=`${E} FPS`,this._lastFpsSampleTime=A,this._fpsFrameCount=0}this._msFrameCount++;let C=A-this._lastMsSampleTime;if(C>200){let E="N/A";f&&(E=(C/this._msFrameCount).toFixed(2)),this._msText.nodeValue=`${E} MS`,this._lastMsSampleTime=A,this._msFrameCount=0}};mne.prototype.destroy=function(){return Ar(this)};var yJ=mne;function k3(){this._framebuffer=new hc,this._textureToCopy=void 0,this._copyDepthCommand=void 0}Object.defineProperties(k3.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}}});function _mi(o,A,f){let m=f.width,C=f.height;o._framebuffer.update(A,m,C)}function vmi(o,A,f){if(!O(o._copyDepthCommand)){let m=`uniform highp sampler2D u_texture; in vec2 v_textureCoordinates; void main() { out_FragColor = czm_packDepth(texture(u_texture, v_textureCoordinates).r); } `;o._copyDepthCommand=A.createViewportQuadCommand(m,{renderState:Xr.fromCache(),uniformMap:{u_texture:function(){return o._textureToCopy}},owner:o})}o._textureToCopy=f,o._copyDepthCommand.framebuffer=o.framebuffer}k3.prototype.update=function(o,A){_mi(this,o,A),vmi(this,o,A)};var Bmi=new zt,wmi=new zt(1,1/255,1/65025,1/16581375);k3.prototype.getDepth=function(o,A,f){if(!O(this.framebuffer))return;let m=o.readPixels({x:A,y:f,width:1,height:1,framebuffer:this.framebuffer}),C=zt.unpack(m,0,Bmi);return zt.divideByScalar(C,255,C),zt.dot(C,wmi)};k3.prototype.executeCopyDepth=function(o,A){this._copyDepthCommand.execute(o,A)};k3.prototype.isDestroyed=function(){return!1};k3.prototype.destroy=function(){return this._framebuffer.destroy(),O(this._copyDepthCommand)&&(this._copyDepthCommand.shaderProgram=O(this._copyDepthCommand.shaderProgram)&&this._copyDepthCommand.shaderProgram.destroy()),Ar(this)};var kwe=k3;function bmi(o,A){this.near=oe(o,0),this.far=oe(A,0);let f=Yi.NUMBER_OF_PASSES,m=new Array(f),C=new Array(f);for(let E=0;E<f;++E)m[E]=[],C[E]=0;this.commands=m,this.indices=C}var Owe=bmi,nz=`uniform highp sampler2D u_depthTexture; in vec2 v_textureCoordinates; void main() { out_FragColor = czm_packDepth(texture(u_depthTexture, v_textureCoordinates).r); } `;function IQ(){this._picking=!1,this._numSamples=1,this._tempCopyDepthTexture=void 0,this._pickColorFramebuffer=new hc({depthStencil:!0,supportsDepthTexture:!0}),this._outputFramebuffer=new hc({depthStencil:!0,supportsDepthTexture:!0}),this._copyDepthFramebuffer=new hc,this._tempCopyDepthFramebuffer=new hc,this._updateDepthFramebuffer=new hc({createColorAttachments:!1,createDepthAttachments:!1,depthStencil:!0}),this._clearGlobeColorCommand=void 0,this._copyColorCommand=void 0,this._copyDepthCommand=void 0,this._tempCopyDepthCommand=void 0,this._updateDepthCommand=void 0,this._viewport=new vr,this._rs=void 0,this._rsBlend=void 0,this._rsUpdate=void 0,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHdr=void 0,this._clearGlobeDepth=void 0}Object.defineProperties(IQ.prototype,{colorFramebufferManager:{get:function(){return this._picking?this._pickColorFramebuffer:this._outputFramebuffer}},framebuffer:{get:function(){return this.colorFramebufferManager.framebuffer}},depthStencilTexture:{get:function(){return this.colorFramebufferManager.getDepthStencilTexture()}},picking:{get:function(){return this._picking},set:function(o){this._picking=o}}});function Qmi(o){o._pickColorFramebuffer.destroy(),o._outputFramebuffer.destroy(),o._copyDepthFramebuffer.destroy(),o._tempCopyDepthFramebuffer.destroy(),o._updateDepthFramebuffer.destroy()}function qet(o,A,f,m,C){o._viewport.width=f,o._viewport.height=m;let E=!vr.equals(o._viewport,C.viewport),x=E!==o._useScissorTest;o._useScissorTest=E,vr.equals(o._scissorRectangle,C.viewport)||(o._scissorRectangle=vr.clone(C.viewport,o._scissorRectangle),x=!0),(!O(o._rs)||!vr.equals(o._viewport,o._rs.viewport)||x)&&(o._rs=Xr.fromCache({viewport:o._viewport,scissorTest:{enabled:o._useScissorTest,rectangle:o._scissorRectangle}}),o._rsBlend=Xr.fromCache({viewport:o._viewport,scissorTest:{enabled:o._useScissorTest,rectangle:o._scissorRectangle},blending:Nl.ALPHA_BLEND}),o._rsUpdate=Xr.fromCache({viewport:o._viewport,scissorTest:{enabled:o._useScissorTest,rectangle:o._scissorRectangle},stencilTest:{enabled:!0,frontFunction:du.EQUAL,frontOperation:{fail:jn.KEEP,zFail:jn.KEEP,zPass:jn.KEEP},backFunction:du.NEVER,reference:ia.CESIUM_3D_TILE_MASK,mask:ia.CESIUM_3D_TILE_MASK}})),O(o._copyDepthCommand)||(o._copyDepthCommand=A.createViewportQuadCommand(nz,{uniformMap:{u_depthTexture:function(){return o.colorFramebufferManager.getDepthStencilTexture()}},owner:o})),o._copyDepthCommand.framebuffer=o._copyDepthFramebuffer.framebuffer,o._copyDepthCommand.renderState=o._rs,O(o._copyColorCommand)||(o._copyColorCommand=A.createViewportQuadCommand(HD,{uniformMap:{colorTexture:function(){return o.colorFramebufferManager.getColorTexture()}},owner:o})),o._copyColorCommand.renderState=o._rs,O(o._tempCopyDepthCommand)||(o._tempCopyDepthCommand=A.createViewportQuadCommand(nz,{uniformMap:{u_depthTexture:function(){return o._tempCopyDepthTexture}},owner:o})),o._tempCopyDepthCommand.framebuffer=o._tempCopyDepthFramebuffer.framebuffer,o._tempCopyDepthCommand.renderState=o._rs,O(o._updateDepthCommand)||(o._updateDepthCommand=A.createViewportQuadCommand(HD,{uniformMap:{colorTexture:function(){return o._tempCopyDepthFramebuffer.getColorTexture()}},owner:o})),o._updateDepthCommand.framebuffer=o._updateDepthFramebuffer.framebuffer,o._updateDepthCommand.renderState=o._rsUpdate,O(o._clearGlobeColorCommand)||(o._clearGlobeColorCommand=new Yu({color:new Ve(0,0,0,0),stencil:0,owner:o})),o._clearGlobeColorCommand.framebuffer=o.framebuffer}IQ.prototype.update=function(o,A,f,m,C,E){let x=f.width,y=f.height,I=C?o.halfFloatingPointTexture?$r.HALF_FLOAT:$r.FLOAT:$r.UNSIGNED_BYTE;this._numSamples=m,this.picking?this._pickColorFramebuffer.update(o,x,y):this._outputFramebuffer.update(o,x,y,m,I),this._copyDepthFramebuffer.update(o,x,y),qet(this,o,x,y,A),o.uniformState.globeDepthTexture=void 0,this._useHdr=C,this._clearGlobeDepth=E};IQ.prototype.prepareColorTextures=function(o,A){!this.picking&&this._numSamples>1&&this._outputFramebuffer.prepareTextures(o,A)};IQ.prototype.executeCopyDepth=function(o,A){O(this._copyDepthCommand)&&(this.prepareColorTextures(o),this._copyDepthCommand.execute(o,A),o.uniformState.globeDepthTexture=this._copyDepthFramebuffer.getColorTexture())};IQ.prototype.executeUpdateDepth=function(o,A,f,m){let C=O(m)?m:A.framebuffer.depthStencilTexture;if(f||C!==this.colorFramebufferManager.getDepthStencilTexture()){if(O(this._updateDepthCommand)){if(!O(this._updateDepthFramebuffer.framebuffer)||this._updateDepthFramebuffer.getDepthStencilTexture()!==C||this._updateDepthFramebuffer.getColorTexture()!==this._copyDepthFramebuffer.getColorTexture()){let E=this._copyDepthFramebuffer.getColorTexture().width,x=this._copyDepthFramebuffer.getColorTexture().height;this._tempCopyDepthFramebuffer.destroy(),this._tempCopyDepthFramebuffer.update(o,E,x);let y=this._copyDepthFramebuffer.getColorTexture();this._updateDepthFramebuffer.setColorTexture(y,0),this._updateDepthFramebuffer.setDepthStencilTexture(C),this._updateDepthFramebuffer.update(o,E,x),qet(this,o,E,x,A)}this._tempCopyDepthTexture=C,this._tempCopyDepthCommand.execute(o,A),this._updateDepthCommand.execute(o,A)}return}O(this._copyDepthCommand)&&this._copyDepthCommand.execute(o,A)};IQ.prototype.executeCopyColor=function(o,A){O(this._copyColorCommand)&&this._copyColorCommand.execute(o,A)};IQ.prototype.clear=function(o,A,f){let m=this._clearGlobeColorCommand;O(m)&&(Ve.clone(f,m.color),this.colorFramebufferManager.clear(o,m,A))};IQ.prototype.isDestroyed=function(){return!1};IQ.prototype.destroy=function(){return Qmi(this),O(this._copyColorCommand)&&(this._copyColorCommand.shaderProgram=this._copyColorCommand.shaderProgram.destroy()),O(this._copyDepthCommand)&&(this._copyDepthCommand.shaderProgram=this._copyDepthCommand.shaderProgram.destroy()),O(this._tempCopyDepthCommand)&&(this._tempCopyDepthCommand.shaderProgram=this._tempCopyDepthCommand.shaderProgram.destroy()),O(this._updateDepthCommand)&&(this._updateDepthCommand.shaderProgram=this._updateDepthCommand.shaderProgram.destroy()),Ar(this)};var Uwe=IQ;function O3(){this._framebuffer=new hc({depthStencil:!0,supportsDepthTexture:!0}),this._packedDepthFramebuffer=new hc,this._renderState=void 0,this._packedDepthCommand=void 0,this._clearCommand=void 0,this._viewport=new vr,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHdr=void 0}Object.defineProperties(O3.prototype,{classificationTexture:{get:function(){return this._framebuffer.getColorTexture()}},classificationFramebuffer:{get:function(){return this._framebuffer.framebuffer}},packedDepthFramebuffer:{get:function(){return this._packedDepthFramebuffer.framebuffer}},depthStencilTexture:{get:function(){return this._framebuffer.getDepthStencilTexture()}},depthStencilRenderbuffer:{get:function(){return this._framebuffer.getDepthStencilRenderbuffer()}},packedDepthTexture:{get:function(){return this._packedDepthFramebuffer.getColorTexture()}}});function Smi(o){o._framebuffer.destroy(),o._packedDepthFramebuffer.destroy()}function Dmi(o,A,f,m,C){let E=C?A.halfFloatingPointTexture?$r.HALF_FLOAT:$r.FLOAT:$r.UNSIGNED_BYTE;o._framebuffer.update(A,f,m,1,E),o._packedDepthFramebuffer.update(A,f,m)}function Tmi(o,A,f,m,C){o._viewport.width=f,o._viewport.height=m;let E=!vr.equals(o._viewport,C.viewport),x=E!==o._useScissorTest;o._useScissorTest=E,vr.equals(o._scissorRectangle,C.viewport)||(o._scissorRectangle=vr.clone(C.viewport,o._scissorRectangle),x=!0),(!O(o._renderState)||!vr.equals(o._viewport,o._renderState.viewport)||x)&&(o._renderState=Xr.fromCache({viewport:o._viewport,scissorTest:{enabled:o._useScissorTest,rectangle:o._scissorRectangle}})),O(o._packedDepthCommand)||(o._packedDepthCommand=A.createViewportQuadCommand(nz,{uniformMap:{u_depthTexture:function(){return o.depthStencilTexture}},owner:o})),O(o._clearCommand)||(o._clearCommand=new Yu({color:new Ve(0,0,0,0),depth:1,stencil:0,owner:o})),o._packedDepthCommand.framebuffer=o._packedDepthFramebuffer.framebuffer,o._packedDepthCommand.renderState=o._renderState,o._clearCommand.framebuffer=o.classificationFramebuffer,o._clearCommand.renderState=o._renderState}O3.prototype.updateAndClear=function(o,A,f,m){let C=A.width,E=A.height;Dmi(this,f,C,E,o),Tmi(this,f,C,E,m),this._useHdr=o};O3.prototype.clearClassification=function(o,A){this._clearCommand.execute(o,A)};O3.prototype.packDepth=function(o,A){return this._packedDepthCommand.execute(o,A),this.packedDepthTexture};O3.prototype.isDestroyed=function(){return!1};O3.prototype.destroy=function(){return Smi(this),Ar(this)};var Gwe=O3;function IT(o){this._numSamples=1,this._translucentMultipassSupport=!1,this._translucentMRTSupport=!1;let A=o.colorBufferFloat&&o.depthTexture&&o.floatBlend;this._translucentMRTSupport=o.drawBuffers&&A,this._translucentMultipassSupport=!this._translucentMRTSupport&&A,this._opaqueFBO=void 0,this._opaqueTexture=void 0,this._depthStencilTexture=void 0,this._accumulationTexture=void 0,this._translucentFBO=new hc({colorAttachmentsLength:this._translucentMRTSupport?2:1,createColorAttachments:!1,createDepthAttachments:!1,depth:!0}),this._alphaFBO=new hc({createColorAttachments:!1,createDepthAttachments:!1,depth:!0}),this._adjustTranslucentFBO=new hc({colorAttachmentsLength:this._translucentMRTSupport?2:1,createColorAttachments:!1}),this._adjustAlphaFBO=new hc({createColorAttachments:!1}),this._opaqueClearCommand=new Yu({color:new Ve(0,0,0,0),owner:this}),this._translucentMRTClearCommand=new Yu({color:new Ve(0,0,0,1),owner:this}),this._translucentMultipassClearCommand=new Yu({color:new Ve(0,0,0,0),owner:this}),this._alphaClearCommand=new Yu({color:new Ve(1,1,1,1),owner:this}),this._translucentRenderStateCache={},this._alphaRenderStateCache={},this._compositeCommand=void 0,this._adjustTranslucentCommand=void 0,this._adjustAlphaCommand=void 0,this._viewport=new vr,this._rs=void 0,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHDR=!1}function Xet(o){o._accumulationTexture=o._accumulationTexture&&!o._accumulationTexture.isDestroyed()&&o._accumulationTexture.destroy(),o._revealageTexture=o._revealageTexture&&!o._revealageTexture.isDestroyed()&&o._revealageTexture.destroy()}function Rge(o){o._translucentFBO.destroy(),o._alphaFBO.destroy(),o._adjustTranslucentFBO.destroy(),o._adjustAlphaFBO.destroy()}function Zet(o){Xet(o),Rge(o)}function Mmi(o,A,f,m){Xet(o),o._accumulationTexture=new Nn({context:A,width:f,height:m,pixelFormat:rn.RGBA,pixelDatatype:$r.FLOAT});let C=new Float32Array(f*m*4);o._revealageTexture=new Nn({context:A,pixelFormat:rn.RGBA,pixelDatatype:$r.FLOAT,source:{arrayBufferView:C,width:f,height:m},flipY:!1})}function Pmi(o,A){Rge(o);let f=li.FRAMEBUFFER_COMPLETE,m=!0,{width:C,height:E}=o._accumulationTexture;if(o._translucentMRTSupport&&(o._translucentFBO.setColorTexture(o._accumulationTexture,0),o._translucentFBO.setColorTexture(o._revealageTexture,1),o._translucentFBO.setDepthStencilTexture(o._depthStencilTexture),o._translucentFBO.update(A,C,E),o._adjustTranslucentFBO.setColorTexture(o._accumulationTexture,0),o._adjustTranslucentFBO.setColorTexture(o._revealageTexture,1),o._adjustTranslucentFBO.update(A,C,E),(o._translucentFBO.status!==f||o._adjustTranslucentFBO.status!==f)&&(Rge(o),o._translucentMRTSupport=!1)),!o._translucentMRTSupport){o._translucentFBO.setColorTexture(o._accumulationTexture),o._translucentFBO.setDepthStencilTexture(o._depthStencilTexture),o._translucentFBO.update(A,C,E),o._alphaFBO.setColorTexture(o._revealageTexture),o._alphaFBO.setDepthStencilTexture(o._depthStencilTexture),o._alphaFBO.update(A,C,E),o._adjustTranslucentFBO.setColorTexture(o._accumulationTexture),o._adjustTranslucentFBO.update(A,C,E),o._adjustAlphaFBO.setColorTexture(o._revealageTexture),o._adjustAlphaFBO.update(A,C,E);let x=o._translucentFBO.status===f,y=o._alphaFBO.status===f,I=o._adjustTranslucentFBO.status===f,v=o._adjustAlphaFBO.status===f;(!x||!y||!I||!v)&&(Zet(o),o._translucentMultipassSupport=!1,m=!1)}return m}IT.prototype.update=function(o,A,f,m,C){if(!this.isSupported())return;this._opaqueFBO=f,this._opaqueTexture=f.getColorTexture(0),this._depthStencilTexture=f.getDepthStencilTexture();let{width:E,height:x}=this._opaqueTexture,y=this._accumulationTexture,I=!O(y)||y.width!==E||y.height!==x||m!==this._useHDR,v=this._numSamples!==C;if((I||v)&&(this._numSamples=C,Mmi(this,o,E,x)),(!O(this._translucentFBO.framebuffer)||I||v)&&!Pmi(this,o))return;this._useHDR=m;let B=this,Q,T;O(this._compositeCommand)||(Q=new _r({sources:[Ove]}),this._translucentMRTSupport&&Q.defines.push("MRT"),T={u_opaque:function(){return B._opaqueTexture},u_accumulation:function(){return B._accumulationTexture},u_revealage:function(){return B._revealageTexture}},this._compositeCommand=o.createViewportQuadCommand(Q,{uniformMap:T,owner:this})),O(this._adjustTranslucentCommand)||(this._translucentMRTSupport?(Q=new _r({defines:["MRT"],sources:[eee]}),T={u_bgColor:function(){return B._translucentMRTClearCommand.color},u_depthTexture:function(){return B._depthStencilTexture}},this._adjustTranslucentCommand=o.createViewportQuadCommand(Q,{uniformMap:T,owner:this})):this._translucentMultipassSupport&&(Q=new _r({sources:[eee]}),T={u_bgColor:function(){return B._translucentMultipassClearCommand.color},u_depthTexture:function(){return B._depthStencilTexture}},this._adjustTranslucentCommand=o.createViewportQuadCommand(Q,{uniformMap:T,owner:this}),T={u_bgColor:function(){return B._alphaClearCommand.color},u_depthTexture:function(){return B._depthStencilTexture}},this._adjustAlphaCommand=o.createViewportQuadCommand(Q,{uniformMap:T,owner:this}))),this._viewport.width=E,this._viewport.height=x;let w=!vr.equals(this._viewport,A.viewport),S=w!==this._useScissorTest;this._useScissorTest=w,vr.equals(this._scissorRectangle,A.viewport)||(this._scissorRectangle=vr.clone(A.viewport,this._scissorRectangle),S=!0),(!O(this._rs)||!vr.equals(this._viewport,this._rs.viewport)||S)&&(this._rs=Xr.fromCache({viewport:this._viewport,scissorTest:{enabled:this._useScissorTest,rectangle:this._scissorRectangle}})),O(this._compositeCommand)&&(this._compositeCommand.renderState=this._rs),this._adjustTranslucentCommand&&(this._adjustTranslucentCommand.renderState=this._rs),O(this._adjustAlphaCommand)&&(this._adjustAlphaCommand.renderState=this._rs)};var Rmi={enabled:!0,color:new Ve(0,0,0,0),equationRgb:Zm.ADD,equationAlpha:Zm.ADD,functionSourceRgb:jA.ONE,functionDestinationRgb:jA.ONE,functionSourceAlpha:jA.ZERO,functionDestinationAlpha:jA.ONE_MINUS_SOURCE_ALPHA},Lmi={enabled:!0,color:new Ve(0,0,0,0),equationRgb:Zm.ADD,equationAlpha:Zm.ADD,functionSourceRgb:jA.ONE,functionDestinationRgb:jA.ONE,functionSourceAlpha:jA.ONE,functionDestinationAlpha:jA.ONE},Fmi={enabled:!0,color:new Ve(0,0,0,0),equationRgb:Zm.ADD,equationAlpha:Zm.ADD,functionSourceRgb:jA.ZERO,functionDestinationRgb:jA.ONE_MINUS_SOURCE_ALPHA,functionSourceAlpha:jA.ZERO,functionDestinationAlpha:jA.ONE_MINUS_SOURCE_ALPHA};function Hwe(o,A,f,m){let C=f[m.id];if(!O(C)){let E=Xr.getState(m);E.depthMask=!1,E.blending=A,C=Xr.fromCache(E),f[m.id]=C}return C}function Nmi(o,A,f){return Hwe(A,Rmi,o._translucentRenderStateCache,f)}function kmi(o,A,f){return Hwe(A,Lmi,o._translucentRenderStateCache,f)}function Omi(o,A,f){return Hwe(A,Fmi,o._alphaRenderStateCache,f)}var Umi=` vec3 Ci = czm_out_FragColor.rgb * czm_out_FragColor.a; float ai = czm_out_FragColor.a; float wzi = czm_alphaWeight(ai); out_FragData_0 = vec4(Ci * wzi, ai); out_FragData_1 = vec4(ai * wzi); `,Gmi=` vec3 Ci = czm_out_FragColor.rgb * czm_out_FragColor.a; float ai = czm_out_FragColor.a; float wzi = czm_alphaWeight(ai); out_FragColor = vec4(Ci, ai) * wzi; `,Hmi=` float ai = czm_out_FragColor.a; out_FragColor = vec4(ai); `;function Vwe(o,A,f,m){let{shaderCache:C}=o,E=C.getDerivedShaderProgram(A,f);if(O(E))return E;let x=A._attributeLocations,y=A.fragmentShaderSource.clone();y.sources=y.sources.map(function(B){return _r.replaceMain(B,"czm_translucent_main").replace(/out_FragColor/g,"czm_out_FragColor").replace(/layout\s*\(location\s*=\s*0\)\s*out\s+vec4\s+out_FragColor;/g,"").replace(/\bdiscard\b/g,"czm_discard = true").replace(/czm_phong/g,"czm_translucentPhong")}),y.defines.push("TRANSLUCENT_PLANES"),y.sources.splice(0,0,`vec4 czm_out_FragColor; bool czm_discard = false; `);let I=[...m.matchAll(/out_FragData_(\d+)/g)],v="";for(let B=0;B<I.length;B++){let Q=I[B];v=`layout (location = ${Q[1]}) out vec4 ${Q[0]}; ${v}`}return y.sources.push(v),y.sources.push(`void main() { czm_translucent_main(); if (czm_discard) { discard; } ${m}} `),C.createDerivedShaderProgram(A,f,{vertexShaderSource:A.vertexShaderSource,fragmentShaderSource:y,attributeLocations:x})}function Vmi(o,A){return Vwe(o,A,"translucentMRT",Umi)}function zmi(o,A){return Vwe(o,A,"translucentMultipass",Gmi)}function Ymi(o,A){return Vwe(o,A,"alphaMultipass",Hmi)}IT.prototype.createDerivedCommands=function(o,A,f){if(O(f)||(f={}),this._translucentMRTSupport){let y,I;return O(f.translucentCommand)&&(y=f.translucentCommand.shaderProgram,I=f.translucentCommand.renderState),f.translucentCommand=fn.shallowClone(o,f.translucentCommand),!O(y)||f.shaderProgramId!==o.shaderProgram.id?(f.translucentCommand.shaderProgram=Vmi(A,o.shaderProgram),f.translucentCommand.renderState=Nmi(this,A,o.renderState),f.shaderProgramId=o.shaderProgram.id):(f.translucentCommand.shaderProgram=y,f.translucentCommand.renderState=I),f}let m,C,E,x;return O(f.translucentCommand)&&(m=f.translucentCommand.shaderProgram,C=f.translucentCommand.renderState,E=f.alphaCommand.shaderProgram,x=f.alphaCommand.renderState),f.translucentCommand=fn.shallowClone(o,f.translucentCommand),f.alphaCommand=fn.shallowClone(o,f.alphaCommand),!O(m)||f.shaderProgramId!==o.shaderProgram.id?(f.translucentCommand.shaderProgram=zmi(A,o.shaderProgram),f.translucentCommand.renderState=kmi(this,A,o.renderState),f.alphaCommand.shaderProgram=Ymi(A,o.shaderProgram),f.alphaCommand.renderState=Omi(this,A,o.renderState),f.shaderProgramId=o.shaderProgram.id):(f.translucentCommand.shaderProgram=m,f.translucentCommand.renderState=C,f.alphaCommand.shaderProgram=E,f.alphaCommand.renderState=x),f};function Jmi(o,A,f,m,C,E){let x,y,I,{context:v,frameState:B}=A,{useLogDepth:Q,shadowState:T}=B,w=A._hdr,S=m.framebuffer,D=T.lightShadowsEnabled;m.framebuffer=o._adjustTranslucentFBO.framebuffer,o._adjustTranslucentCommand.execute(v,m),m.framebuffer=o._adjustAlphaFBO.framebuffer,o._adjustAlphaCommand.execute(v,m);let R=o._opaqueFBO.framebuffer;for(m.framebuffer=o._translucentFBO.framebuffer,I=0;I<C.length;++I)x=C[I],x=Q?x.derivedCommands.logDepth.command:x,x=w?x.derivedCommands.hdr.command:x,y=D&&x.receiveShadows?x.derivedCommands.oit.shadows.translucentCommand:x.derivedCommands.oit.translucentCommand,f(y,A,v,m,R);for(O(E)&&(x=E.unclassifiedCommand,y=D&&x.receiveShadows?x.derivedCommands.oit.shadows.translucentCommand:x.derivedCommands.oit.translucentCommand,f(y,A,v,m,R)),m.framebuffer=o._alphaFBO.framebuffer,I=0;I<C.length;++I)x=C[I],x=Q?x.derivedCommands.logDepth.command:x,x=w?x.derivedCommands.hdr.command:x,y=D&&x.receiveShadows?x.derivedCommands.oit.shadows.alphaCommand:x.derivedCommands.oit.alphaCommand,f(y,A,v,m,R);O(E)&&(x=E.unclassifiedCommand,y=D&&x.receiveShadows?x.derivedCommands.oit.shadows.alphaCommand:x.derivedCommands.oit.alphaCommand,f(y,A,v,m,R)),m.framebuffer=S}function Kmi(o,A,f,m,C,E){let{context:x,frameState:y}=A,{useLogDepth:I,shadowState:v,textureProjecitonHints:B}=y,Q=A._hdr,T=m.framebuffer,w=v.lightShadowsEnabled;m.framebuffer=o._adjustTranslucentFBO.framebuffer,o._adjustTranslucentCommand.execute(x,m);let S=o._opaqueFBO.framebuffer;m.framebuffer=o._translucentFBO.framebuffer;let D,R;for(let P=0;P<C.length;++P)D=C[P],D=I?D.derivedCommands.logDepth.command:D,D=Q?D.derivedCommands.hdr.command:D,R=w&&D.receiveShadows?D.derivedCommands.oit.shadows.translucentCommand:D.derivedCommands.oit.translucentCommand,f(R,A,x,m,S),D.derivedCommands.oit.perspectivesWithDepth&&B.lightShadowsEnabled&&D.receiveShadows&&(R=D.derivedCommands.oit.perspectivesWithDepth.translucentCommand,f(R,A,x,m,S));O(E)&&(D=E.unclassifiedCommand,R=w&&D.receiveShadows?D.derivedCommands.oit.shadows.translucentCommand:D.derivedCommands.oit.translucentCommand,f(R,A,x,m,S),D.derivedCommands.oit.perspectivesWithDepth&&B.lightShadowsEnabled&&D.receiveShadows&&(R=D.derivedCommands.oit.perspectivesWithDepth.translucentCommand,f(R,A,x,m,S))),m.framebuffer=T}IT.prototype.executeCommands=function(o,A,f,m,C){if(this._translucentMRTSupport){Kmi(this,o,A,f,m,C);return}Jmi(this,o,A,f,m,C)};IT.prototype.execute=function(o,A){this._compositeCommand.execute(o,A)};IT.prototype.clear=function(o,A,f){let m=A.framebuffer;A.framebuffer=this._opaqueFBO.framebuffer,Ve.clone(f,this._opaqueClearCommand.color),this._opaqueClearCommand.execute(o,A),A.framebuffer=this._translucentFBO.framebuffer,(this._translucentMRTSupport?this._translucentMRTClearCommand:this._translucentMultipassClearCommand).execute(o,A),this._translucentMultipassSupport&&(A.framebuffer=this._alphaFBO.framebuffer,this._alphaClearCommand.execute(o,A)),A.framebuffer=m};IT.prototype.isSupported=function(){return this._translucentMRTSupport||this._translucentMultipassSupport};IT.prototype.isDestroyed=function(){return!1};IT.prototype.destroy=function(){return Zet(this),O(this._compositeCommand)&&(this._compositeCommand.shaderProgram=this._compositeCommand.shaderProgram&&this._compositeCommand.shaderProgram.destroy()),O(this._adjustTranslucentCommand)&&(this._adjustTranslucentCommand.shaderProgram=this._adjustTranslucentCommand.shaderProgram&&this._adjustTranslucentCommand.shaderProgram.destroy()),O(this._adjustAlphaCommand)&&(this._adjustAlphaCommand.shaderProgram=this._adjustAlphaCommand.shaderProgram&&this._adjustAlphaCommand.shaderProgram.destroy()),Ar(this)};var zwe=IT;function IJ(){this._framebuffer=new hc({color:!1,depthStencil:!0,supportsDepthTexture:!0}),this._passState=void 0}Object.defineProperties(IJ.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}}});function Wmi(o){o._framebuffer.destroy()}function jmi(o,A){let f=A.drawingBufferWidth,m=A.drawingBufferHeight;o._framebuffer.update(A,f,m);let C=new x0(A);C.blendingEnabled=!1,C.scissorTest={enabled:!0,rectangle:new vr},C.viewport=new vr,o._passState=C}IJ.prototype.update=function(o,A,f){let m=f.width,C=f.height;this._framebuffer.isDirty(m,C)&&jmi(this,o);let E=this.framebuffer,x=this._passState;return x.framebuffer=E,x.viewport.width=m,x.viewport.height=C,x.scissorTest.rectangle.x=A.x,x.scissorTest.rectangle.y=C-A.y,x.scissorTest.rectangle.width=1,x.scissorTest.rectangle.height=1,x};IJ.prototype.isDestroyed=function(){return!1};IJ.prototype.destroy=function(){return Wmi(this),Ar(this)};var Ywe=IJ;function _J(o){let A=new x0(o);A.blendingEnabled=!1,A.scissorTest={enabled:!0,rectangle:new vr},A.viewport=new vr,this._context=o,this._fb=new hc({depthStencil:!0}),this._passState=A,this._width=0,this._height=0}_J.prototype.begin=function(o,A){let f=this._context,m=A.width,C=A.height;return vr.clone(o,this._passState.scissorTest.rectangle),this._width=m,this._height=C,this._fb.update(f,m,C),this._passState.framebuffer=this._fb.framebuffer,this._passState.viewport.width=m,this._passState.viewport.height=C,this._passState};var NV=new Ve;_J.prototype.end=function(o){let A=oe(o.width,1),f=oe(o.height,1),m=this._context,C=m.readPixels({x:o.x,y:o.y,width:A,height:f,framebuffer:this._fb.framebuffer}),E=Math.max(A,f),x=E*E,y=Math.floor(A*.5),I=Math.floor(f*.5),v=0,B=0,Q=0,T=-1;for(let w=0;w<x;++w){if(-y<=v&&v<=y&&-I<=B&&B<=I){let S=4*((I-B)*A+v+y);NV.red=Ve.byteToFloat(C[S]),NV.green=Ve.byteToFloat(C[S+1]),NV.blue=Ve.byteToFloat(C[S+2]),NV.alpha=Ve.byteToFloat(C[S+3]);let D=m.getObjectByPickColor(NV);if(O(D))return D}if(v===B||v<0&&-v===B||v>0&&v===1-B){let S=Q;Q=-T,T=S}v+=Q,B+=T}};_J.prototype.isDestroyed=function(){return!1};_J.prototype.destroy=function(){return this._fb.destroy(),Ar(this)};var Jwe=_J;function _T(){this._numSamples=1,this._colorFramebuffer=new hc({depthStencil:!0,supportsDepthTexture:!0}),this._idFramebuffer=new hc({depthStencil:!0,supportsDepthTexture:!0}),this._idClearColor=new Ve(0,0,0,0),this._clearCommand=new Yu({color:new Ve(0,0,0,0),depth:1,owner:this})}function qmi(o){o._colorFramebuffer.destroy(),o._idFramebuffer.destroy()}Object.defineProperties(_T.prototype,{framebuffer:{get:function(){return this._colorFramebuffer.framebuffer}},idFramebuffer:{get:function(){return this._idFramebuffer.framebuffer}},depthStencilTexture:{get:function(){return this._colorFramebuffer.getDepthStencilTexture()}}});_T.prototype.update=function(o,A,f,m){let C=A.width,E=A.height,x=f?o.halfFloatingPointTexture?$r.HALF_FLOAT:$r.FLOAT:$r.UNSIGNED_BYTE;this._numSamples=m,this._colorFramebuffer.update(o,C,E,m,x),this._idFramebuffer.update(o,C,E)};_T.prototype.clear=function(o,A,f){Ve.clone(f,this._clearCommand.color),Ve.clone(this._idClearColor,this._clearCommand.color),this._colorFramebuffer.clear(o,this._clearCommand,A),this._idFramebuffer.clear(o,this._clearCommand,A)};_T.prototype.getFramebuffer=function(){return this._colorFramebuffer.framebuffer};_T.prototype.getIdFramebuffer=function(){return this._idFramebuffer.framebuffer};_T.prototype.prepareColorTextures=function(o){this._numSamples>1&&this._colorFramebuffer.prepareTextures(o)};_T.prototype.isDestroyed=function(){return!1};_T.prototype.destroy=function(){return qmi(this),Ar(this)};var Cne=_T,z7=`uniform sampler2D colorTexture; #ifdef DEBUG_SHOW_DEPTH uniform sampler2D u_packedTranslucentDepth; #endif in vec2 v_textureCoordinates; void main() { #ifdef DEBUG_SHOW_DEPTH if (v_textureCoordinates.x < 0.5) { out_FragColor.rgb = vec3(czm_unpackDepth(texture(u_packedTranslucentDepth, v_textureCoordinates))); out_FragColor.a = 1.0; } #else vec4 color = texture(colorTexture, v_textureCoordinates); #ifdef PICK if (color == vec4(0.0)) { discard; } #else // Reverse premultiplication process to get the correct composited result of the classification primitives color.rgb /= color.a; #endif out_FragColor = color; #endif } `,Xmi=!1;function xR(o){this._drawClassificationFBO=new hc({createDepthAttachments:!1}),this._accumulationFBO=new hc({createDepthAttachments:!1}),this._packFBO=new hc,this._opaqueDepthStencilTexture=void 0,this._textureToComposite=void 0,this._translucentDepthStencilTexture=void 0,this._packDepthCommand=void 0,this._accumulateCommand=void 0,this._compositeCommand=void 0,this._copyCommand=void 0,this._clearColorCommand=new Yu({color:new Ve(0,0,0,0),owner:this}),this._clearDepthStencilCommand=new Yu({depth:1,stencil:0,owner:this}),this._supported=o.depthTexture,this._viewport=new vr,this._rsDepth=void 0,this._rsAccumulate=void 0,this._rsComp=void 0,this._useScissorTest=void 0,this._scissorRectangle=void 0,this._hasTranslucentDepth=!1,this._frustumsDrawn=0}Object.defineProperties(xR.prototype,{hasTranslucentDepth:{get:function(){return this._hasTranslucentDepth}}});function $et(o){o._textureToComposite=void 0,o._translucentDepthStencilTexture=o._translucentDepthStencilTexture&&!o._translucentDepthStencilTexture.isDestroyed()&&o._translucentDepthStencilTexture.destroy()}function ett(o){o._drawClassificationFBO.destroy(),o._accumulationFBO.destroy(),o._packFBO.destroy()}function Zmi(o,A,f,m){$et(o),o._translucentDepthStencilTexture=new Nn({context:A,width:f,height:m,pixelFormat:rn.DEPTH_STENCIL,pixelDatatype:$r.UNSIGNED_INT_24_8,sampler:Oa.NEAREST})}function $mi(o,A,f,m){ett(o),o._drawClassificationFBO.setDepthStencilTexture(o._translucentDepthStencilTexture),o._drawClassificationFBO.update(A,f,m),o._accumulationFBO.setDepthStencilTexture(o._translucentDepthStencilTexture),o._accumulationFBO.update(A,f,m),o._packFBO.update(A,f,m)}function eCi(o,A,f,m){if(!o.isSupported())return;o._opaqueDepthStencilTexture=m;let C=o._opaqueDepthStencilTexture.width,E=o._opaqueDepthStencilTexture.height;o._drawClassificationFBO.isDirty(C,E)&&(Zmi(o,A,C,E),$mi(o,A,C,E));let x,y;if(O(o._packDepthCommand)||(x=new _r({sources:[kve]}),y={u_opaqueDepthTexture:function(){return o._opaqueDepthStencilTexture},u_translucentDepthTexture:function(){return o._translucentDepthStencilTexture}},o._packDepthCommand=A.createViewportQuadCommand(x,{uniformMap:y,owner:o})),!O(o._compositeCommand)){x=new _r({sources:[z7]}),y={colorTexture:function(){return o._textureToComposite}},Xmi&&(x.defines=["DEBUG_SHOW_DEPTH"],y.u_packedTranslucentDepth=function(){return o._packFBO.getColorTexture()}),o._compositeCommand=A.createViewportQuadCommand(x,{uniformMap:y,owner:o});let B=o._compositeCommand,Q=B.shaderProgram,T=A.shaderCache.createDerivedShaderProgram(Q,"pick",{vertexShaderSource:Q.vertexShaderSource,fragmentShaderSource:new _r({sources:x.sources,defines:["PICK"]}),attributeLocations:Q._attributeLocations}),w=fn.shallowClone(B);w.shaderProgram=T,B.derivedCommands.pick=w}O(o._copyCommand)||(x=new _r({sources:[z7]}),y={colorTexture:function(){return o._drawClassificationFBO.getColorTexture()}},o._copyCommand=A.createViewportQuadCommand(x,{uniformMap:y,owner:o})),O(o._accumulateCommand)||(x=new _r({sources:[z7]}),y={colorTexture:function(){return o._drawClassificationFBO.getColorTexture()}},o._accumulateCommand=A.createViewportQuadCommand(x,{uniformMap:y,owner:o})),o._viewport.width=C,o._viewport.height=E;let I=!vr.equals(o._viewport,f.viewport),v=I!==o._useScissorTest;o._useScissorTest=I,vr.equals(o._scissorRectangle,f.viewport)||(o._scissorRectangle=vr.clone(f.viewport,o._scissorRectangle),v=!0),(!O(o._rsDepth)||!vr.equals(o._viewport,o._rsDepth.viewport)||v)&&(o._rsDepth=Xr.fromCache({viewport:o._viewport,scissorTest:{enabled:o._useScissorTest,rectangle:o._scissorRectangle}})),O(o._packDepthCommand)&&(o._packDepthCommand.renderState=o._rsDepth),(!O(o._rsAccumulate)||!vr.equals(o._viewport,o._rsAccumulate.viewport)||v)&&(o._rsAccumulate=Xr.fromCache({viewport:o._viewport,scissorTest:{enabled:o._useScissorTest,rectangle:o._scissorRectangle},stencilTest:{enabled:!0,frontFunction:du.EQUAL,reference:ia.CESIUM_3D_TILE_MASK}})),O(o._accumulateCommand)&&(o._accumulateCommand.renderState=o._rsAccumulate),(!O(o._rsComp)||!vr.equals(o._viewport,o._rsComp.viewport)||v)&&(o._rsComp=Xr.fromCache({viewport:o._viewport,scissorTest:{enabled:o._useScissorTest,rectangle:o._scissorRectangle},blending:Nl.ALPHA_BLEND})),O(o._compositeCommand)&&(o._compositeCommand.renderState=o._rsComp,o._compositeCommand.derivedCommands.pick.renderState=o._rsComp)}xR.prototype.executeTranslucentCommands=function(o,A,f,m,C){let E=m.length,x,y,I=o.frameState.useLogDepth,v=o.context,B=f.framebuffer;for(y=0;y<E;++y)if(x=m[y],x=I?x.derivedCommands.logDepth.command:x,x.depthForTranslucentClassification){this._hasTranslucentDepth=!0;break}if(this._hasTranslucentDepth){for(eCi(this,v,f,C),f.framebuffer=this._drawClassificationFBO.framebuffer,this._clearDepthStencilCommand.execute(v,f),y=0;y<E;++y){if(x=m[y],x=I?x.derivedCommands.logDepth.command:x,!x.depthForTranslucentClassification)continue;let Q=x.derivedCommands.depth.depthOnlyCommand;A(Q,o,v,f)}this._frustumsDrawn+=this._hasTranslucentDepth?1:0,this._hasTranslucentDepth&&(f.framebuffer=this._packFBO.framebuffer,this._packDepthCommand.execute(v,f)),f.framebuffer=B}};xR.prototype.executeClassificationCommands=function(o,A,f,m){if(!this._hasTranslucentDepth)return;let C=o.context,E=C.uniformState,x=f.framebuffer;this._frustumsDrawn===2&&(f.framebuffer=this._accumulationFBO.framebuffer,this._copyCommand.execute(C,f)),f.framebuffer=this._drawClassificationFBO.framebuffer,this._frustumsDrawn>1&&this._clearColorCommand.execute(C,f),E.updatePass(Yi.CESIUM_3D_TILE_CLASSIFICATION);let y=E.globeDepthTexture;E.globeDepthTexture=this._packFBO.getColorTexture();let I=m.commands[Yi.CESIUM_3D_TILE_CLASSIFICATION],v=m.indices[Yi.CESIUM_3D_TILE_CLASSIFICATION];for(let B=0;B<v;++B)A(I[B],o,C,f);E.globeDepthTexture=y,f.framebuffer=x,this._frustumsDrawn!==1&&(f.framebuffer=this._accumulationFBO.framebuffer,this._accumulateCommand.execute(C,f),f.framebuffer=x)};xR.prototype.execute=function(o,A){!this._hasTranslucentDepth||(this._frustumsDrawn===1?this._textureToComposite=this._drawClassificationFBO.getColorTexture():this._textureToComposite=this._accumulationFBO.getColorTexture(),(o.frameState.passes.pick?this._compositeCommand.derivedCommands.pick:this._compositeCommand).execute(o.context,A),tCi(this,o,A))};function tCi(o,A,f){if(!o._hasTranslucentDepth)return;let m=f.framebuffer;f.framebuffer=o._drawClassificationFBO.framebuffer,o._clearColorCommand.execute(A._context,f),f.framebuffer=m,o._frustumsDrawn>1&&(f.framebuffer=o._accumulationFBO.framebuffer,o._clearColorCommand.execute(A._context,f)),o._hasTranslucentDepth=!1,o._frustumsDrawn=0}xR.prototype.isSupported=function(){return this._supported};xR.prototype.isDestroyed=function(){return!1};xR.prototype.destroy=function(){return $et(this),ett(this),O(this._compositeCommand)&&(this._compositeCommand.shaderProgram=this._compositeCommand.shaderProgram&&this._compositeCommand.shaderProgram.destroy()),O(this._packDepthCommand)&&(this._packDepthCommand.shaderProgram=this._packDepthCommand.shaderProgram&&this._packDepthCommand.shaderProgram.destroy()),Ar(this)};var Kwe=xR;function iCi(){this.command=void 0,this.near=void 0,this.far=void 0}function Ene(o,A,f){let m=o.context,C;m.depthTexture&&(C=new Uwe);let E;o._useOIT&&m.depthTexture&&(E=new zwe(m));let x=new x0(m);x.viewport=vr.clone(f),this.camera=A,this._cameraClone=Ls.clone(A),this._cameraStartFired=!1,this._cameraMovedTime=void 0,this.viewport=f,this.passState=x,this.pickFramebuffer=new Jwe(m),this.pickDepthFramebuffer=new Ywe,this.sceneFramebuffer=new Cne,this.globeDepth=C,this.globeTranslucencyFramebuffer=new Gwe,this.oit=E,this.translucentTileClassification=new Kwe(m),this.pickDepths=[],this.frustumCommandsList=[],this.debugFrustumStatistics=void 0,this._commandExtents=[]}var IGe=new Z,_Ge=new Z;function rCi(o,A){let f=Math.max(Math.abs(o.x),Math.abs(A.x)),m=Math.max(Math.abs(o.y),Math.abs(A.y)),C=Math.max(Math.abs(o.z),Math.abs(A.z));return Math.max(Math.max(f,m),C)}function nCi(o,A,f){let m=1/Math.max(1,rCi(o.position,A.position));return Z.multiplyByScalar(o.position,m,IGe),Z.multiplyByScalar(A.position,m,_Ge),Z.equalsEpsilon(IGe,_Ge,f)&&Z.equalsEpsilon(o.direction,A.direction,f)&&Z.equalsEpsilon(o.up,A.up,f)&&Z.equalsEpsilon(o.right,A.right,f)&&Re.equalsEpsilon(o.transform,A.transform,f)&&o.frustum.equalsEpsilon(A.frustum,f)}Ene.prototype.checkForCameraUpdates=function(o){let A=this.camera,f=this._cameraClone;return nCi(A,f,Be.EPSILON15)?(this._cameraStartFired&&oA()-this._cameraMovedTime>o.cameraEventWaitTime&&(A.moveEnd.raiseEvent(),this._cameraStartFired=!1),!1):(this._cameraStartFired||(A.moveStart.raiseEvent(),this._cameraStartFired=!0),this._cameraMovedTime=oA(),Ls.clone(A,f),!0)};function oCi(o,A,f,m){let C=A.frameState,E=C.camera,x=C.useLogDepth?A.logarithmicDepthFarToNearRatio:A.farToNearRatio,y=A.mode===ni.SCENE2D,I=A.nearToFarDistance2D;m*=1+Be.EPSILON2,f=Math.min(Math.max(f,E.frustum.near),E.frustum.far),m=Math.max(Math.min(m,E.frustum.far),f);let v;y?(m=Math.min(m,E.position.z+A.nearToFarDistance2D),f=Math.min(f,m),v=Math.ceil(Math.max(1,m-f)/A.nearToFarDistance2D)):v=Math.ceil(Math.log(m/f)/Math.log(x));let B=o.frustumCommandsList;B.length=v;for(let Q=0;Q<v;++Q){let T,w;y?(T=Math.min(m-I,f+Q*I),w=Math.min(m,T+I)):(T=Math.max(f,Math.pow(x,Q)*f),w=Math.min(m,x*T));let S=B[Q];O(S)?(S.near=T,S.far=w):S=B[Q]=new Owe(T,w)}}function aCi(o,A,f,m,C){A.debugShowFrustums&&(f.debugOverlappingFrustums=0);let E=o.frustumCommandsList,x=E.length;for(let y=0;y<x;++y){let I=E[y],v=I.near,B=I.far;if(m>B)continue;if(C<v)break;let Q=f.pass,T=I.indices[Q]++;if(I.commands[Q][T]=f,A.debugShowFrustums&&(f.debugOverlappingFrustums|=1<<y),f.executeInClosestFrustum)break}if(A.debugShowFrustums){let y=o.debugFrustumStatistics.commandsInFrustums;y[f.debugOverlappingFrustums]=O(y[f.debugOverlappingFrustums])?y[f.debugOverlappingFrustums]+1:1,++o.debugFrustumStatistics.totalCommands}A.updateDerivedCommands(f)}var vGe=new Mg,sCi=new lb;Ene.prototype.createPotentiallyVisibleSet=function(o){let A=o.frameState,f=A.camera,m=f.directionWC,C=f.positionWC,E=o._computeCommandList,x=o._overlayCommandList,y=A.commandList;o.debugShowFrustums&&(this.debugFrustumStatistics={totalCommands:0,commandsInFrustums:{}});let I=this.frustumCommandsList,v=I.length,B=Yi.NUMBER_OF_PASSES;for(let ee=0;ee<v;++ee)for(let ie=0;ie<B;++ie)I[ee].indices[ie]=0;E.length=0,x.length=0;let Q=this._commandExtents,T=Q.length,w=0,S=+Number.MAX_VALUE,D=-Number.MAX_VALUE,R=A.shadowState.shadowsEnabled,P=+Number.MAX_VALUE,M=-Number.MAX_VALUE,L=Number.MAX_VALUE,F=A.mode===ni.SCENE3D?A.occluder:void 0,k=A.cullingVolume,N=vGe.planes;for(let ee=0;ee<5;++ee)N[ee]=k.planes[ee];k=vGe;let G=y.length;for(let ee=0;ee<G;++ee){let ie=y[ee],H=ie.pass;if(H===Yi.COMPUTE)E.push(ie);else if(H===Yi.OVERLAY)x.push(ie);else{let le,ue,Ae=ie.boundingVolume;if(O(Ae)){if(!o.isVisible(ie,k,F))continue;let ge=Ae.computePlaneDistances(C,m,sCi);if(le=ge.start,ue=ge.stop,S=Math.min(S,le),D=Math.max(D,ue),R&&ie.receiveShadows&&le<uT.MAXIMUM_DISTANCE&&!(H===Yi.GLOBE&&le<-100&&ue>100)){let fe=ue-le;H!==Yi.GLOBE&&le<100&&(L=Math.min(L,fe)),P=Math.min(P,le),M=Math.max(M,ue)}}else ie instanceof Yu?(le=f.frustum.near,ue=f.frustum.far):(le=f.frustum.near,ue=f.frustum.far,S=Math.min(S,le),D=Math.max(D,ue));let he=Q[w];O(he)||(he=Q[w]=new iCi),he.command=ie,he.near=le,he.far=ue,w++}}R&&(P=Math.min(Math.max(P,f.frustum.near),f.frustum.far),M=Math.max(Math.min(M,f.frustum.far),P)),R&&(A.shadowState.nearPlane=P,A.shadowState.farPlane=M,A.shadowState.closestObjectSize=L),oCi(this,o,S,D);let J,K;for(J=0;J<w;J++)K=Q[J],aCi(this,o,K.command,K.near,K.far);if(w<T)for(J=w;J<T&&(K=Q[J],!!O(K.command));J++)K.command=void 0;let X=I.length,q=A.frustumSplits;q.length=X+1;for(let ee=0;ee<X;++ee)q[ee]=I[ee].near,ee===X-1&&(q[ee+1]=I[ee].far)};Ene.prototype.destroy=function(){this.pickFramebuffer=this.pickFramebuffer&&this.pickFramebuffer.destroy(),this.pickDepthFramebuffer=this.pickDepthFramebuffer&&this.pickDepthFramebuffer.destroy(),this.sceneFramebuffer=this.sceneFramebuffer&&this.sceneFramebuffer.destroy(),this.globeDepth=this.globeDepth&&this.globeDepth.destroy(),this.oit=this.oit&&this.oit.destroy(),this.translucentTileClassification=this.translucentTileClassification&&this.translucentTileClassification.destroy(),this.globeTranslucencyFramebuffer=this.globeTranslucencyFramebuffer&&this.globeTranslucencyFramebuffer.destroy();let o,A=this.pickDepths,f=A.length;for(o=0;o<f;++o)A[o].destroy()};var d8=Ene,ttt=.1,lCi=new Nw({pass:Ad.MOST_DETAILED_PRELOAD}),uCi=new Nw({pass:Ad.MOST_DETAILED_PICK}),Wwe=new Nw({pass:Ad.PICK});function nm(o){this._mostDetailedRayPicks=[],this.pickRenderStateCache={},this._pickPositionCache={},this._pickPositionCacheDirty=!1;let A=new vr(0,0,1,1),f=new Ls(o);f.frustum=new us({width:ttt,aspectRatio:1,near:.1}),this._pickOffscreenView=new d8(o,f,A)}nm.prototype.update=function(){this._pickPositionCacheDirty=!0};nm.prototype.getPickDepth=function(o,A){let f=o.view.pickDepths,m=f[A];return O(m)||(m=new kwe,f[A]=m),m};var ACi=new Xf,cCi=new Z,MX=new Z,hCi=new rt,dCi=new Re;function fCi(o,A,f,m,C){let E=o.camera,x=E.frustum,y=x.offCenterFrustum;O(y)&&(x=y);let I=2*(A.x-C.x)/C.width-1;I*=(x.right-x.left)*.5;let v=2*(C.height-A.y-C.y)/C.height-1;v*=(x.top-x.bottom)*.5;let B=Re.clone(E.transform,dCi);E._setTransform(Re.IDENTITY);let Q=Z.clone(E.position,cCi);Z.multiplyByScalar(E.right,I,MX),Z.add(MX,Q,Q),Z.multiplyByScalar(E.up,v,MX),Z.add(MX,Q,Q),E._setTransform(B),o.mode===ni.SCENE2D&&Z.fromElements(Q.z,Q.x,Q.y,Q);let T=x.getPixelDimensions(C.width,C.height,1,1,hCi),w=ACi;return w.right=T.x*.5,w.left=-w.right,w.top=T.y*.5,w.bottom=-w.top,w.near=x.near,w.far=x.far,w.computeCullingVolume(Q,E.directionWC,E.upWC)}var gCi=new rQ,pCi=new rt;function mCi(o,A,f,m,C){let E=o.camera,x=E.frustum,y=x.near,I=Math.tan(x.fovy*.5),v=x.aspectRatio*I,B=2*(A.x-C.x)/C.width-1,Q=2*(C.height-A.y-C.y)/C.height-1,T=B*y*v,w=Q*y*I,S=x.getPixelDimensions(C.width,C.height,1,1,pCi),D=S.x*f*.5,R=S.y*m*.5,P=gCi;return P.top=w+R,P.bottom=w-R,P.right=T+D,P.left=T-D,P.near=y,P.far=x.far,P.computeCullingVolume(E.positionWC,E.directionWC,E.upWC)}function itt(o,A,f,m,C){let E=o.camera.frustum;return E instanceof us||E instanceof Xf?fCi(o,A,f,m,C):mCi(o,A,f,m,C)}var XU=3,h7=3,rb=new vr(0,0,XU,h7),rtt=new rt,jwe=new Ve(0,0,0,0);nm.prototype.pick=function(o,A,f,m){XU=oe(f,3),h7=oe(m,XU);let C=o.context,E=C.uniformState,x=o.frameState,y=o.defaultView;o.view=y;let I=y.viewport;I.x=0,I.y=0,I.width=C.drawingBufferWidth,I.height=C.drawingBufferHeight;let v=y.passState;v.viewport=vr.clone(I,v.viewport);let B=ms.transformWindowToDrawingBuffer(o,A,rtt);o.jobScheduler.disableThisFrame(),o.updateFrameState(),x.cullingVolume=itt(o,B,XU,h7,I),x.invertClassification=!1,x.passes.pick=!0,x.tilesetPassState=Wwe,E.update(x),o.updateEnvironment(),rb.x=B.x-(XU-1)*.5,rb.y=o.drawingBufferHeight-B.y-(h7-1)*.5,rb.width=XU,rb.height=h7,v=y.pickFramebuffer.begin(rb,y.viewport),o.updateAndExecuteCommandszh(v,jwe),o.resolveFramebuffers(v);let Q=y.pickFramebuffer.end(rb);return C.endFrame(),Q};function CCi(o,A){let f=o.context,m=o.frameState,C=o.environmentState,E=o.defaultView;o.view=E;let x=E.viewport;x.x=0,x.y=0,x.width=f.drawingBufferWidth,x.height=f.drawingBufferHeight;let y=E.passState;y.viewport=vr.clone(x,y.viewport),o.clearPasses(m.passes),m.passes.pick=!0,m.passes.depth=!0,m.cullingVolume=itt(o,A,1,1,x),m.tilesetPassState=Wwe,o.updateEnvironment(),C.renderTranslucentDepthForPick=!0,y=E.pickDepthFramebuffer.update(f,A,x),o.updateAndExecuteCommands(y,jwe),o.resolveFramebuffers(y),f.endFrame()}var ECi=new fu,xCi=new rQ,yCi=new us,ICi=new Xf;nm.prototype.pickPositionWorldCoordinates=function(o,A,f){if(!o.useDepthPicking)return;let m=A.toString();if(this._pickPositionCacheDirty)this._pickPositionCache={},this._pickPositionCacheDirty=!1;else if(this._pickPositionCache.hasOwnProperty(m))return Z.clone(this._pickPositionCache[m],f);let C=o.frameState,E=o.context,x=E.uniformState,y=o.defaultView;o.view=y;let I=ms.transformWindowToDrawingBuffer(o,A,rtt);o.pickTranslucentDepth?CCi(o,I):(o.updateFrameState(),x.update(C),o.updateEnvironment()),I.y=o.drawingBufferHeight-I.y;let v=o.camera,B;O(v.frustum.fov)?B=v.frustum.clone(ECi):O(v.frustum.infiniteProjectionMatrix)?B=v.frustum.clone(xCi):O(v.frustum.width)?B=v.frustum.clone(yCi):B=v.frustum.clone(ICi);let Q=y.frustumCommandsList,T=Q.length;for(let w=0;w<T;++w){let S=this.getPickDepth(o,w).getDepth(E,I.x,I.y);if(O(S)&&S>0&&S<1){let D=Q[w],R;return o.mode===ni.SCENE2D?(R=v.position.z,v.position.z=R-D.near+1,B.far=Math.max(1,D.far-D.near),B.near=1,x.update(C),x.updateFrustum(B)):(B.near=D.near*(w!==0?o.opaqueFrustumNearOffset:1),B.far=D.far,x.updateFrustum(B)),f=ms.drawingBufferToWgs84Coordinates(o,I,S,f),o.mode===ni.SCENE2D&&(v.position.z=R,x.update(C)),this._pickPositionCache[m]=Z.clone(f),f}}this._pickPositionCache[m]=void 0};var _Ci=new Rt;nm.prototype.pickPosition=function(o,A,f){if(f=this.pickPositionWorldCoordinates(o,A,f),O(f)&&o.mode!==ni.SCENE3D){Z.fromElements(f.y,f.z,f.x,f);let m=o.mapProjection,C=m.ellipsoid,E=m.unproject(f,_Ci);C.cartographicToCartesian(E,f)}return f};function ntt(o,A){let f,m,C=[],E=[],x=[],y=[];O(o)||(o=Number.MAX_VALUE);let I=A();for(;O(I);){let v=I.object,B=I.position,Q=I.exclude;if(O(B)&&!O(v)){C.push(I);break}if(!O(v)||!O(v.primitive)||!Q&&(C.push(I),0>=--o))break;let T=v.primitive,w=!1;typeof T.getGeometryInstanceAttributes=="function"&&O(v.id)&&(m=T.getGeometryInstanceAttributes(v.id),O(m)&&O(m.show)&&(w=!0,m.show=Yl.toValue(!1,m.show),x.push(m))),v instanceof ns&&(w=!0,v.show=!1,y.push(v)),w||(T.show=!1,E.push(T)),I=A()}for(f=0;f<E.length;++f)E[f].show=!0;for(f=0;f<x.length;++f)m=x[f],m.show=Yl.toValue(!0,m.show);for(f=0;f<y.length;++f)y[f].show=!0;return C}nm.prototype.drillPick=function(o,A,f,m,C){let E=this;return ntt(f,function(){let x=E.pick(o,A,m,C);if(O(x))return{object:x,position:void 0,exclude:!1}}).map(function(x){return x.object})};var BGe=new Z,vCi=new Z;function BCi(o,A,f){this.ray=o,this.width=A,this.tilesets=f,this.ready=!1;let m=this;this.promise=new Promise(C=>{m._completePick=()=>{C()}})}function ott(o,A,f,m){let C=A.direction,E=Z.mostOrthogonalAxis(C,BGe),x=Z.cross(C,E,BGe),y=Z.cross(C,x,vCi);return m.position=A.origin,m.direction=C,m.up=y,m.right=x,m.frustum.width=oe(f,ttt),m.frustum.computeCullingVolume(m.positionWC,m.directionWC,m.upWC)}function wCi(o,A,f){let m=A.frameState,C=f.ray,E=f.width,x=f.tilesets,y=o._pickOffscreenView.camera,I=ott(o,C,E,y),v=lCi;v.camera=y,v.cullingVolume=I;let B=!0,Q=x.length;for(let T=0;T<Q;++T){let w=x[T];w.show&&A.primitives.contains(w)&&(w.updateForPass(m,v),B=B&&v.ready)}return B&&f._completePick(),B}nm.prototype.updateMostDetailedRayPicks=function(o){let A=this._mostDetailedRayPicks;for(let f=0;f<A.length;++f)wCi(this,o,A[f])&&A.splice(f--,1)};function att(o,A,f){let m=o.length;for(let C=0;C<m;++C){let E=o.get(C);E.show&&(O(E.isCesium3DTileset)?(!O(A)||A.indexOf(E)===-1)&&f.push(E):E instanceof X_&&att(E,A,f))}}function xne(o,A,f,m,C,E){let x=[];if(att(A.primitives,m,x),x.length===0)return Promise.resolve(E());let y=new BCi(f,C,x);return o._mostDetailedRayPicks.push(y),y.promise.then(function(){return E()})}function bCi(o,A){return!O(o)||!O(A)||A.length===0?!1:A.indexOf(o)>-1||A.indexOf(o.primitive)>-1||A.indexOf(o.id)>-1}function QCi(o,A,f,m,C,E,x){let y=A.context,I=y.uniformState,v=A.frameState,B=o._pickOffscreenView;A.view=B,ott(o,f,C,B.camera),rb=vr.clone(B.viewport,rb);let Q=B.pickFramebuffer.begin(rb,B.viewport);A.jobScheduler.disableThisFrame(),A.updateFrameState(),v.invertClassification=!1,v.passes.pick=!0,v.passes.offscreen=!0,x?v.tilesetPassState=uCi:v.tilesetPassState=Wwe,I.update(v),A.updateEnvironment(),A.updateAndExecuteCommands(Q,jwe),A.resolveFramebuffers(Q);let T,w=B.pickFramebuffer.end(rb);if(A.context.depthTexture){let S=B.frustumCommandsList.length;for(let D=0;D<S;++D){let R=o.getPickDepth(A,D).getDepth(y,0,0);if(O(R)&&R>0&&R<1){let P=B.frustumCommandsList[D],M=P.near*(D!==0?A.opaqueFrustumNearOffset:1),L=P.far,F=M+R*(L-M);T=Ua.getPoint(f,F);break}}}if(A.view=A.defaultView,y.endFrame(),O(w)||O(T))return{object:w,position:T,exclude:!O(T)&&E||bCi(w,m)}}function stt(o,A,f,m,C,E,x,y){return ntt(m,function(){return QCi(o,A,f,C,E,x,y)})}function f8(o,A,f,m,C,E,x){let y=stt(o,A,f,1,m,C,E,x);if(y.length>0)return y[0]}function ltt(o,A,f,m,C,E,x,y){return stt(o,A,f,m,C,E,x,y)}function yne(o,A){return new Promise((f,m)=>{A.then(function(C){let E=o.postRender.addEventListener(function(){E(),f(C)});o.requestRender()}).catch(function(C){m(C)})})}nm.prototype.pickFromRay=function(o,A,f,m){return f8(this,o,A,f,m,!1,!1)};nm.prototype.drillPickFromRay=function(o,A,f,m,C){return ltt(this,o,A,f,m,C,!1,!1)};nm.prototype.pickFromRayMostDetailed=function(o,A,f,m){let C=this;return A=Ua.clone(A),f=O(f)?f.slice():f,yne(o,xne(C,o,A,f,m,function(){return f8(C,o,A,f,m,!1,!0)}))};nm.prototype.drillPickFromRayMostDetailed=function(o,A,f,m,C){let E=this;return A=Ua.clone(A),m=O(m)?m.slice():m,yne(o,xne(E,o,A,m,C,function(){return ltt(E,o,A,f,m,C,!1,!0)}))};var SCi=new Z,DCi=new Z,TCi=new Ua,utt=new Rt;function qwe(o,A){let f=o.globe,m=O(f)?f.ellipsoid:o.mapProjection.ellipsoid,C=$A._defaultMaxTerrainHeight,E=m.geodeticSurfaceNormalCartographic(A,DCi),x=Rt.toCartesian(A,m,SCi),y=TCi;y.origin=x,y.direction=E;let I=new Ua;return Ua.getPoint(y,C,I.origin),Z.negate(E,I.direction),I}function Att(o,A){let f=o.globe,m=O(f)?f.ellipsoid:o.mapProjection.ellipsoid,C=Rt.fromCartesian(A,m,utt);return qwe(o,C)}function ctt(o,A){let f=o.globe,m=O(f)?f.ellipsoid:o.mapProjection.ellipsoid;return Rt.fromCartesian(A,m,utt).height}function MCi(o,A,f,m,C){let E=qwe(A,f);return xne(o,A,E,m,C,function(){let x=f8(o,A,E,m,C,!0,!0);if(O(x))return ctt(A,x.position)})}function PCi(o,A,f,m,C,E){let x=Att(A,f);return xne(o,A,x,m,C,function(){let y=f8(o,A,x,m,C,!0,!0);if(O(y))return Z.clone(y.position,E)})}nm.prototype.sampleHeight=function(o,A,f,m){let C=qwe(o,A),E=f8(this,o,C,f,m,!0,!1);if(O(E))return ctt(o,E.position)};nm.prototype.clampToHeight=function(o,A,f,m,C){let E=Att(o,A),x=f8(this,o,E,f,m,!0,!1);if(O(x))return Z.clone(x.position,C)};nm.prototype.sampleHeightMostDetailed=function(o,A,f,m){f=O(f)?f.slice():f;let C=A.length,E=new Array(C);for(let x=0;x<C;++x)E[x]=MCi(this,o,A[x],f,m);return yne(o,Promise.all(E).then(function(x){let y=x.length;for(let I=0;I<y;++I)A[I].height=x[I];return A}))};nm.prototype.clampToHeightMostDetailed=function(o,A,f,m){f=O(f)?f.slice():f;let C=A.length,E=new Array(C);for(let x=0;x<C;++x)E[x]=PCi(this,o,A[x],f,m,A[x]);return yne(o,Promise.all(E).then(function(x){let y=x.length;for(let I=0;I<y;++I)A[I]=x[I];return A}))};nm.prototype.destroy=function(){this._pickOffscreenView=this._pickOffscreenView&&this._pickOffscreenView.destroy()};var Xwe=nm,Zwe=`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; #ifdef AUTO_EXPOSURE uniform sampler2D autoExposure; #endif void main() { vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); vec3 color = fragmentColor.rgb; #ifdef AUTO_EXPOSURE color /= texture(autoExposure, vec2(0.5)).r; #endif color = czm_acesTonemapping(color); color = czm_inverseGamma(color); out_FragColor = vec4(color, fragmentColor.a); } `,$we=`uniform sampler2D randomTexture; uniform sampler2D depthTexture; uniform float intensity; uniform float bias; uniform float lengthCap; uniform float stepSize; uniform float frustumLength; in vec2 v_textureCoordinates; vec4 clipToEye(vec2 uv, float depth) { vec2 xy = vec2((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0)); vec4 posEC = czm_inverseProjection * vec4(xy, depth, 1.0); posEC = posEC / posEC.w; return posEC; } //Reconstruct Normal Without Edge Removation vec3 getNormalXEdge(vec3 posInCamera, float depthU, float depthD, float depthL, float depthR, vec2 pixelSize) { vec4 posInCameraUp = clipToEye(v_textureCoordinates - vec2(0.0, pixelSize.y), depthU); vec4 posInCameraDown = clipToEye(v_textureCoordinates + vec2(0.0, pixelSize.y), depthD); vec4 posInCameraLeft = clipToEye(v_textureCoordinates - vec2(pixelSize.x, 0.0), depthL); vec4 posInCameraRight = clipToEye(v_textureCoordinates + vec2(pixelSize.x, 0.0), depthR); vec3 up = posInCamera.xyz - posInCameraUp.xyz; vec3 down = posInCameraDown.xyz - posInCamera.xyz; vec3 left = posInCamera.xyz - posInCameraLeft.xyz; vec3 right = posInCameraRight.xyz - posInCamera.xyz; vec3 DX = length(left) < length(right) ? left : right; vec3 DY = length(up) < length(down) ? up : down; return normalize(cross(DY, DX)); } void main(void) { float depth = czm_readDepth(depthTexture, v_textureCoordinates); vec4 posInCamera = clipToEye(v_textureCoordinates, depth); if (posInCamera.z > frustumLength) { out_FragColor = vec4(1.0); return; } vec2 pixelSize = czm_pixelRatio / czm_viewport.zw; float depthU = czm_readDepth(depthTexture, v_textureCoordinates - vec2(0.0, pixelSize.y)); float depthD = czm_readDepth(depthTexture, v_textureCoordinates + vec2(0.0, pixelSize.y)); float depthL = czm_readDepth(depthTexture, v_textureCoordinates - vec2(pixelSize.x, 0.0)); float depthR = czm_readDepth(depthTexture, v_textureCoordinates + vec2(pixelSize.x, 0.0)); vec3 normalInCamera = getNormalXEdge(posInCamera.xyz, depthU, depthD, depthL, depthR, pixelSize); float ao = 0.0; vec2 sampleDirection = vec2(1.0, 0.0); float gapAngle = 90.0 * czm_radiansPerDegree; // RandomNoise float randomVal = texture(randomTexture, v_textureCoordinates / pixelSize / 255.0).x; //Loop for each direction for (int i = 0; i < 4; i++) { float newGapAngle = gapAngle * (float(i) + randomVal); float cosVal = cos(newGapAngle); float sinVal = sin(newGapAngle); //Rotate Sampling Direction vec2 rotatedSampleDirection = vec2(cosVal * sampleDirection.x - sinVal * sampleDirection.y, sinVal * sampleDirection.x + cosVal * sampleDirection.y); float localAO = 0.0; float localStepSize = stepSize; //Loop for each step for (int j = 0; j < 6; j++) { vec2 newCoords = v_textureCoordinates + rotatedSampleDirection * localStepSize * pixelSize; //Exception Handling if(newCoords.x > 1.0 || newCoords.y > 1.0 || newCoords.x < 0.0 || newCoords.y < 0.0) { break; } float stepDepthInfo = czm_readDepth(depthTexture, newCoords); vec4 stepPosInCamera = clipToEye(newCoords, stepDepthInfo); vec3 diffVec = stepPosInCamera.xyz - posInCamera.xyz; float len = length(diffVec); if (len > lengthCap) { break; } float dotVal = clamp(dot(normalInCamera, normalize(diffVec)), 0.0, 1.0 ); float weight = len / lengthCap; weight = 1.0 - weight * weight; if (dotVal < bias) { dotVal = 0.0; } localAO = max(localAO, dotVal * weight); localStepSize += stepSize; } ao += localAO; } ao /= 4.0; ao = 1.0 - clamp(ao, 0.0, 1.0); ao = pow(ao, intensity); out_FragColor = vec4(vec3(ao), 1.0); } `,e1e=`uniform sampler2D colorTexture; uniform sampler2D ambientOcclusionTexture; uniform bool ambientOcclusionOnly; in vec2 v_textureCoordinates; void main(void) { vec4 color = texture(colorTexture, v_textureCoordinates); vec4 ao = texture(ambientOcclusionTexture, v_textureCoordinates); out_FragColor = ambientOcclusionOnly ? ao : ao * color; } `,t1e=`uniform sampler2D colorTexture; uniform float gradations; in vec2 v_textureCoordinates; void main(void) { vec3 rgb = texture(colorTexture, v_textureCoordinates).rgb; #ifdef CZM_SELECTED_FEATURE if (czm_selected()) { out_FragColor = vec4(rgb, 1.0); return; } #endif float luminance = czm_luminance(rgb); float darkness = luminance * gradations; darkness = (darkness - fract(darkness)) / gradations; out_FragColor = vec4(vec3(darkness), 1.0); } `,i1e=`uniform sampler2D colorTexture; uniform sampler2D bloomTexture; uniform bool glowOnly; in vec2 v_textureCoordinates; void main(void) { vec4 color = texture(colorTexture, v_textureCoordinates); #ifdef CZM_SELECTED_FEATURE if (czm_selected()) { out_FragColor = color; return; } #endif vec4 bloom = texture(bloomTexture, v_textureCoordinates); out_FragColor = glowOnly ? bloom : bloom + color; } `,r1e=`uniform sampler2D colorTexture; uniform float brightness; in vec2 v_textureCoordinates; void main(void) { vec3 rgb = texture(colorTexture, v_textureCoordinates).rgb; vec3 target = vec3(0.0); out_FragColor = vec4(mix(target, rgb, brightness), 1.0); } `,n1e=`uniform sampler2D colorTexture; uniform float contrast; uniform float brightness; in vec2 v_textureCoordinates; void main(void) { vec3 sceneColor = texture(colorTexture, v_textureCoordinates).xyz; sceneColor = czm_RGBToHSB(sceneColor); sceneColor.z += brightness; sceneColor = czm_HSBToRGB(sceneColor); float factor = (259.0 * (contrast + 255.0)) / (255.0 * (259.0 - contrast)); sceneColor = factor * (sceneColor - vec3(0.5)) + vec3(0.5); out_FragColor = vec4(sceneColor, 1.0); } `,o1e=`uniform sampler2D colorTexture; uniform sampler2D blurTexture; uniform sampler2D depthTexture; uniform float focalDistance; in vec2 v_textureCoordinates; vec4 toEye(vec2 uv, float depth) { vec2 xy = vec2((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0)); vec4 posInCamera = czm_inverseProjection * vec4(xy, depth, 1.0); posInCamera = posInCamera / posInCamera.w; return posInCamera; } float computeDepthBlur(float depth) { float f; if (depth < focalDistance) { f = (focalDistance - depth) / (focalDistance - czm_currentFrustum.x); } else { f = (depth - focalDistance) / (czm_currentFrustum.y - focalDistance); f = pow(f, 0.1); } f *= f; f = clamp(f, 0.0, 1.0); return pow(f, 0.5); } void main(void) { float depth = czm_readDepth(depthTexture, v_textureCoordinates); vec4 posInCamera = toEye(v_textureCoordinates, depth); float d = computeDepthBlur(-posInCamera.z); out_FragColor = mix(texture(colorTexture, v_textureCoordinates), texture(blurTexture, v_textureCoordinates), d); } `,a1e=`uniform sampler2D depthTexture; in vec2 v_textureCoordinates; void main(void) { float depth = czm_readDepth(depthTexture, v_textureCoordinates); out_FragColor = vec4(vec3(depth), 1.0); } `,s1e=`uniform sampler2D depthTexture; uniform float length; uniform float width; uniform vec4 color; in vec2 v_textureCoordinates; void main(void) { float directions[3]; directions[0] = -1.0; directions[1] = 0.0; directions[2] = 1.0; float scalars[3]; scalars[0] = 3.0; scalars[1] = 10.0; scalars[2] = 3.0; float padx = czm_pixelRatio / czm_viewport.z; float pady = width / czm_viewport.w; // Geoworld add \u5929\u9645\u7EBF\u5BBD\u5EA6 #ifdef CZM_SELECTED_FEATURE bool selected = false; for (int i = 0; i < 3; ++i) { float dir = directions[i]; selected = selected || czm_selected(vec2(-padx, dir * pady)); selected = selected || czm_selected(vec2(padx, dir * pady)); selected = selected || czm_selected(vec2(dir * padx, -pady)); selected = selected || czm_selected(vec2(dir * padx, pady)); if (selected) { break; } } if (!selected) { out_FragColor = vec4(color.rgb, 0.0); return; } #endif float horizEdge = 0.0; float vertEdge = 0.0; for (int i = 0; i < 3; ++i) { float dir = directions[i]; float scale = scalars[i]; horizEdge -= texture(depthTexture, v_textureCoordinates + vec2(-padx, dir * pady)).x * scale; horizEdge += texture(depthTexture, v_textureCoordinates + vec2(padx, dir * pady)).x * scale; vertEdge -= texture(depthTexture, v_textureCoordinates + vec2(dir * padx, -pady)).x * scale; vertEdge += texture(depthTexture, v_textureCoordinates + vec2(dir * padx, pady)).x * scale; } float len = sqrt(horizEdge * horizEdge + vertEdge * vertEdge); out_FragColor = vec4(color.rgb, len > length ? color.a : 0.0); } `,l1e=`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; #ifdef AUTO_EXPOSURE uniform sampler2D autoExposure; #endif // See slides 142 and 143: // http://www.gdcvault.com/play/1012459/Uncharted_2__HDR_Lighting void main() { vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); vec3 color = fragmentColor.rgb; #ifdef AUTO_EXPOSURE float exposure = texture(autoExposure, vec2(0.5)).r; color /= exposure; #endif const float A = 0.22; // shoulder strength const float B = 0.30; // linear strength const float C = 0.10; // linear angle const float D = 0.20; // toe strength const float E = 0.01; // toe numerator const float F = 0.30; // toe denominator const float white = 11.2; // linear white point value vec3 c = ((color * (A * color + C * B) + D * E) / (color * ( A * color + B) + D * F)) - E / F; float w = ((white * (A * white + C * B) + D * E) / (white * ( A * white + B) + D * F)) - E / F; c = czm_inverseGamma(c / w); out_FragColor = vec4(c, fragmentColor.a); } `,u1e=`in vec2 v_textureCoordinates; uniform sampler2D colorTexture; const float fxaaQualitySubpix = 0.5; const float fxaaQualityEdgeThreshold = 0.125; const float fxaaQualityEdgeThresholdMin = 0.0833; void main() { vec2 fxaaQualityRcpFrame = vec2(1.0) / czm_viewport.zw; vec4 color = FxaaPixelShader( v_textureCoordinates, colorTexture, fxaaQualityRcpFrame, fxaaQualitySubpix, fxaaQualityEdgeThreshold, fxaaQualityEdgeThresholdMin); float alpha = texture(colorTexture, v_textureCoordinates).a; out_FragColor = vec4(color.rgb, alpha); } `,oz=`#define SAMPLES 8 uniform float delta; uniform float sigma; uniform float direction; // 0.0 for x direction, 1.0 for y direction uniform sampler2D colorTexture; #ifdef USE_STEP_SIZE uniform float stepSize; #else uniform vec2 step; #endif in vec2 v_textureCoordinates; // Incremental Computation of the Gaussian: // https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch40.html void main() { vec2 st = v_textureCoordinates; vec2 dir = vec2(1.0 - direction, direction); #ifdef USE_STEP_SIZE vec2 step = vec2(stepSize * (czm_pixelRatio / czm_viewport.zw)); #else vec2 step = step; #endif vec3 g; g.x = 1.0 / (sqrt(czm_twoPi) * sigma); g.y = exp((-0.5 * delta * delta) / (sigma * sigma)); g.z = g.y * g.y; vec4 result = texture(colorTexture, st) * g.x; for (int i = 1; i < SAMPLES; ++i) { g.xy *= g.yz; vec2 offset = float(i) * dir * step; result += texture(colorTexture, st - offset) * g.x; result += texture(colorTexture, st + offset) * g.x; } out_FragColor = result; } `,A1e=`uniform sampler2D colorTexture; uniform sampler2D dirtTexture; uniform sampler2D starTexture; uniform vec2 dirtTextureDimensions; uniform float distortion; uniform float ghostDispersal; uniform float haloWidth; uniform float dirtAmount; uniform float earthRadius; uniform float intensity; in vec2 v_textureCoordinates; // whether it is in space or not // 6500000.0 is empirical value #define DISTANCE_TO_SPACE 6500000.0 // return ndc from world coordinate biased earthRadius vec4 getNDCFromWC(vec3 WC, float earthRadius) { vec4 positionEC = czm_view * vec4(WC, 1.0); positionEC = vec4(positionEC.x + earthRadius, positionEC.y, positionEC.z, 1.0); vec4 positionWC = czm_eyeToWindowCoordinates(positionEC); return czm_viewportOrthographic * vec4(positionWC.xy, -positionWC.z, 1.0); } // Check if current pixel is included Earth // if then mask it gradually float isInEarth(vec2 texcoord, vec2 sceneSize) { vec2 NDC = texcoord * 2.0 - 1.0; vec4 earthPosSC = getNDCFromWC(vec3(0.0), 0.0); vec4 earthPosSCEdge = getNDCFromWC(vec3(0.0), earthRadius * 1.5); NDC.xy -= earthPosSC.xy; float X = abs(NDC.x) * sceneSize.x; float Y = abs(NDC.y) * sceneSize.y; return clamp(0.0, 1.0, max(sqrt(X * X + Y * Y) / max(abs(earthPosSCEdge.x * sceneSize.x), 1.0) - 0.8 , 0.0)); } // For Chromatic effect vec4 textureDistorted(sampler2D tex, vec2 texcoord, vec2 direction, vec3 distortion, bool isSpace) { vec2 sceneSize = czm_viewport.zw; vec3 color; if(isSpace) { color.r = isInEarth(texcoord + direction * distortion.r, sceneSize) * texture(tex, texcoord + direction * distortion.r).r; color.g = isInEarth(texcoord + direction * distortion.g, sceneSize) * texture(tex, texcoord + direction * distortion.g).g; color.b = isInEarth(texcoord + direction * distortion.b, sceneSize) * texture(tex, texcoord + direction * distortion.b).b; } else { color.r = texture(tex, texcoord + direction * distortion.r).r; color.g = texture(tex, texcoord + direction * distortion.g).g; color.b = texture(tex, texcoord + direction * distortion.b).b; } return vec4(clamp(color, 0.0, 1.0), 0.0); } void main(void) { vec4 originalColor = texture(colorTexture, v_textureCoordinates); vec3 rgb = originalColor.rgb; bool isSpace = length(czm_viewerPositionWC.xyz) > DISTANCE_TO_SPACE; // Sun position vec4 sunPos = czm_morphTime == 1.0 ? vec4(czm_sunPositionWC, 1.0) : vec4(czm_sunPositionColumbusView.zxy, 1.0); vec4 sunPositionEC = czm_view * sunPos; vec4 sunPositionWC = czm_eyeToWindowCoordinates(sunPositionEC); sunPos = czm_viewportOrthographic * vec4(sunPositionWC.xy, -sunPositionWC.z, 1.0); // If sun is not in the screen space, use original color. if(!isSpace || !((sunPos.x >= -1.1 && sunPos.x <= 1.1) && (sunPos.y >= -1.1 && sunPos.y <= 1.1))) { // Lens flare is disabled when not in space until #5932 is fixed. // https://github.com/CesiumGS/cesium/issues/5932 out_FragColor = originalColor; return; } vec2 texcoord = vec2(1.0) - v_textureCoordinates; vec2 pixelSize = czm_pixelRatio / czm_viewport.zw; vec2 invPixelSize = 1.0 / pixelSize; vec3 distortionVec = pixelSize.x * vec3(-distortion, 0.0, distortion); // ghost vector to image centre: vec2 ghostVec = (vec2(0.5) - texcoord) * ghostDispersal; vec3 direction = normalize(vec3(ghostVec, 0.0)); // sample ghosts: vec4 result = vec4(0.0); vec4 ghost = vec4(0.0); for (int i = 0; i < 4; ++i) { vec2 offset = fract(texcoord + ghostVec * float(i)); // Only bright spots from the centre of the source image ghost += textureDistorted(colorTexture, offset, direction.xy, distortionVec, isSpace); } result += ghost; // sample halo vec2 haloVec = normalize(ghostVec) * haloWidth; float weightForHalo = length(vec2(0.5) - fract(texcoord + haloVec)) / length(vec2(0.5)); weightForHalo = pow(1.0 - weightForHalo, 5.0); result += textureDistorted(colorTexture, texcoord + haloVec, direction.xy, distortionVec, isSpace) * weightForHalo * 1.5; // dirt on lens vec2 dirtTexCoords = (v_textureCoordinates * invPixelSize) / dirtTextureDimensions; if (dirtTexCoords.x > 1.0) { dirtTexCoords.x = mod(floor(dirtTexCoords.x), 2.0) == 1.0 ? 1.0 - fract(dirtTexCoords.x) : fract(dirtTexCoords.x); } if (dirtTexCoords.y > 1.0) { dirtTexCoords.y = mod(floor(dirtTexCoords.y), 2.0) == 1.0 ? 1.0 - fract(dirtTexCoords.y) : fract(dirtTexCoords.y); } result += dirtAmount * texture(dirtTexture, dirtTexCoords); // Rotating starburst texture's coordinate // dot(czm_view[0].xyz, vec3(0.0, 0.0, 1.0)) + dot(czm_view[1].xyz, vec3(0.0, 1.0, 0.0)) float camrot = czm_view[0].z + czm_view[1].y; float cosValue = cos(camrot); float sinValue = sin(camrot); mat3 rotation = mat3( cosValue, -sinValue, 0.0, sinValue, cosValue, 0.0, 0.0, 0.0, 1.0 ); vec3 st1 = vec3(v_textureCoordinates * 2.0 - vec2(1.0), 1.0); vec3 st2 = vec3((rotation * st1).xy, 1.0); vec3 st3 = st2 * 0.5 + vec3(0.5); vec2 lensStarTexcoord = st3.xy; float weightForLensFlare = length(vec3(sunPos.xy, 0.0)); float oneMinusWeightForLensFlare = max(1.0 - weightForLensFlare, 0.0); if (!isSpace) { result *= oneMinusWeightForLensFlare * intensity * 0.2; } else { result *= oneMinusWeightForLensFlare * intensity; result *= texture(starTexture, lensStarTexcoord) * pow(weightForLensFlare, 1.0) * max((1.0 - length(vec3(st1.xy, 0.0))), 0.0) * 2.0; } result += texture(colorTexture, v_textureCoordinates); out_FragColor = result; } `,c1e=`uniform sampler2D colorTexture; uniform vec3 white; in vec2 v_textureCoordinates; #ifdef AUTO_EXPOSURE uniform sampler2D autoExposure; #endif // See equation 4: // http://www.cs.utah.edu/~reinhard/cdrom/tonemap.pdf void main() { vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); vec3 color = fragmentColor.rgb; #ifdef AUTO_EXPOSURE float exposure = texture(autoExposure, vec2(0.5)).r; color /= exposure; #endif color = (color * (1.0 + color / white)) / (1.0 + color); color = czm_inverseGamma(color); out_FragColor = vec4(color, fragmentColor.a); } `,h1e=`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; float rand(vec2 co) { return fract(sin(dot(co.xy ,vec2(12.9898, 78.233))) * 43758.5453); } void main(void) { float noiseValue = rand(v_textureCoordinates + sin(czm_frameNumber)) * 0.1; vec3 rgb = texture(colorTexture, v_textureCoordinates).rgb; vec3 green = vec3(0.0, 1.0, 0.0); out_FragColor = vec4((noiseValue + rgb) * green, 1.0); } `,d1e=`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; #ifdef AUTO_EXPOSURE uniform sampler2D autoExposure; #endif // See equation 3: // http://www.cs.utah.edu/~reinhard/cdrom/tonemap.pdf void main() { vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); vec3 color = fragmentColor.rgb; #ifdef AUTO_EXPOSURE float exposure = texture(autoExposure, vec2(0.5)).r; color /= exposure; #endif color = color / (1.0 + color); color = czm_inverseGamma(color); out_FragColor = vec4(color, fragmentColor.a); } `,f1e=`uniform sampler2D colorTexture; uniform sampler2D silhouetteTexture; in vec2 v_textureCoordinates; void main(void) { vec4 silhouetteColor = texture(silhouetteTexture, v_textureCoordinates); vec4 color = texture(colorTexture, v_textureCoordinates); out_FragColor = mix(color, silhouetteColor, silhouetteColor.a); } `;function U3(){this._uniformMap=void 0,this._command=void 0,this._colorTexture=void 0,this._depthTexture=void 0,this._ready=!1,this._name="czm_autoexposure",this._logDepthChanged=void 0,this._useLogDepth=void 0,this._framebuffers=void 0,this._previousLuminance=new hc,this._commands=void 0,this._clearCommand=void 0,this._minMaxLuminance=new rt,this.enabled=!0,this._enabled=!0,this.minimumLuminance=.1,this.maximumLuminance=10}Object.defineProperties(U3.prototype,{ready:{get:function(){return this._ready}},name:{get:function(){return this._name}},outputTexture:{get:function(){let o=this._framebuffers;if(O(o))return o[o.length-1].getColorTexture(0)}}});function htt(o){let A=o._framebuffers;if(!O(A))return;let f=A.length;for(let m=0;m<f;++m)A[m].destroy();o._framebuffers=void 0,o._previousLuminance.destroy(),o._previousLuminance=void 0}function RCi(o,A){htt(o);let f=o._width,m=o._height,C=A.halfFloatingPointTexture?$r.HALF_FLOAT:$r.FLOAT,E=Math.ceil(Math.log(Math.max(f,m))/Math.log(3)),x=new Array(E);for(let I=0;I<E;++I)f=Math.max(Math.ceil(f/3),1),m=Math.max(Math.ceil(m/3),1),x[I]=new hc,x[I].update(A,f,m,1,C);let y=x[E-1].getColorTexture(0);o._previousLuminance.update(A,y.width,y.height,1,C),o._framebuffers=x}function dtt(o){let A=o._commands;if(!O(A))return;let f=A.length;for(let m=0;m<f;++m)A[m].shaderProgram.destroy();o._commands=void 0}function LCi(o,A){let f;if(A===0)f={colorTexture:function(){return o._colorTexture},colorTextureDimensions:function(){return o._colorTexture.dimensions}};else{let m=o._framebuffers[A-1].getColorTexture(0);f={colorTexture:function(){return m},colorTextureDimensions:function(){return m.dimensions}}}return f.minMaxLuminance=function(){return o._minMaxLuminance},f.previousLuminance=function(){return o._previousLuminance.getColorTexture(0)},f}function FCi(o,A){let f=`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; float sampleTexture(vec2 offset) { `;return o===0?f+=` vec4 color = texture(colorTexture, v_textureCoordinates + offset); return czm_luminance(color.rgb); `:f+=` return texture(colorTexture, v_textureCoordinates + offset).r; `,f+=`} `,f+=`uniform vec2 colorTextureDimensions; uniform vec2 minMaxLuminance; uniform sampler2D previousLuminance; void main() { float color = 0.0; float xStep = 1.0 / colorTextureDimensions.x; float yStep = 1.0 / colorTextureDimensions.y; int count = 0; for (int i = 0; i < 3; ++i) { for (int j = 0; j < 3; ++j) { vec2 offset; offset.x = -xStep + float(i) * xStep; offset.y = -yStep + float(j) * yStep; if (offset.x < 0.0 || offset.x > 1.0 || offset.y < 0.0 || offset.y > 1.0) { continue; } color += sampleTexture(offset); ++count; } } if (count > 0) { color /= float(count); } `,o===A-1&&(f+=` float previous = texture(previousLuminance, vec2(0.5)).r; color = clamp(color, minMaxLuminance.x, minMaxLuminance.y); color = previous + (color - previous) / (60.0 * 1.5); color = clamp(color, minMaxLuminance.x, minMaxLuminance.y); `),f+=` out_FragColor = vec4(color); } `,f}function NCi(o,A){dtt(o);let f=o._framebuffers,m=f.length,C=new Array(m);for(let E=0;E<m;++E)C[E]=A.createViewportQuadCommand(FCi(E,m),{framebuffer:f[E].framebuffer,uniformMap:LCi(o,E)});o._commands=C}U3.prototype.clear=function(o){let A=this._framebuffers;if(!O(A))return;let f=this._clearCommand;O(f)||(f=this._clearCommand=new Yu({color:new Ve(0,0,0,0),framebuffer:void 0}));let m=A.length;for(let C=0;C<m;++C)A[C].clear(o,f)};U3.prototype.update=function(o){let A=o.drawingBufferWidth,f=o.drawingBufferHeight;(A!==this._width||f!==this._height)&&(this._width=A,this._height=f,RCi(this,o),NCi(this,o),this._ready||(this._ready=!0)),this._minMaxLuminance.x=this.minimumLuminance,this._minMaxLuminance.y=this.maximumLuminance;let m=this._framebuffers,C=m[m.length-1];m[m.length-1]=this._previousLuminance,this._commands[this._commands.length-1].framebuffer=this._previousLuminance.framebuffer,this._previousLuminance=C};U3.prototype.execute=function(o,A){this._colorTexture=A;let f=this._commands;if(!O(f))return;let m=f.length;for(let C=0;C<m;++C)f[C].execute(o)};U3.prototype.isDestroyed=function(){return!1};U3.prototype.destroy=function(){return htt(this),dtt(this),Ar(this)};var g1e=U3;function G3(o){o=oe(o,oe.EMPTY_OBJECT),this._stages=o.stages,this._inputPreviousStageTexture=oe(o.inputPreviousStageTexture,!0);let A=o.name;O(A)||(A=Rl()),this._name=A,this._uniforms=o.uniforms,this._textureCache=void 0,this._index=void 0,this._selected=void 0,this._selectedShadow=void 0,this._parentSelected=void 0,this._parentSelectedShadow=void 0,this._combinedSelected=void 0,this._combinedSelectedShadow=void 0,this._selectedLength=0,this._parentSelectedLength=0,this._selectedDirty=!0}Object.defineProperties(G3.prototype,{ready:{get:function(){let o=this._stages,A=o.length;for(let f=0;f<A;++f)if(!o[f].ready)return!1;return!0}},name:{get:function(){return this._name}},enabled:{get:function(){return this._stages[0].enabled},set:function(o){let A=this._stages,f=A.length;for(let m=0;m<f;++m)A[m].enabled=o}},uniforms:{get:function(){return this._uniforms}},inputPreviousStageTexture:{get:function(){return this._inputPreviousStageTexture}},length:{get:function(){return this._stages.length}},selected:{get:function(){return this._selected},set:function(o){this._selected=o}},parentSelected:{get:function(){return this._parentSelected},set:function(o){this._parentSelected=o}}});G3.prototype._isSupported=function(o){let A=this._stages,f=A.length;for(let m=0;m<f;++m)if(!A[m]._isSupported(o))return!1;return!0};G3.prototype.get=function(o){return this._stages[o]};function kCi(o){let A=O(o._selected)?o._selected.length:0,f=O(o._parentSelected)?o._parentSelected:0,m=o._selected!==o._selectedShadow||A!==o._selectedLength;if(m=m||o._parentSelected!==o._parentSelectedShadow||f!==o._parentSelectedLength,O(o._selected)&&O(o._parentSelected)?o._combinedSelected=o._selected.concat(o._parentSelected):O(o._parentSelected)?o._combinedSelected=o._parentSelected:o._combinedSelected=o._selected,!m&&O(o._combinedSelected)){if(!O(o._combinedSelectedShadow))return!0;A=o._combinedSelected.length;for(let C=0;C<A;++C)if(o._combinedSelected[C]!==o._combinedSelectedShadow[C])return!0}return m}G3.prototype.update=function(o,A){this._selectedDirty=kCi(this),this._selectedShadow=this._selected,this._parentSelectedShadow=this._parentSelected,this._combinedSelectedShadow=this._combinedSelected,this._selectedLength=O(this._selected)?this._selected.length:0,this._parentSelectedLength=O(this._parentSelected)?this._parentSelected.length:0;let f=this._stages,m=f.length;for(let C=0;C<m;++C){let E=f[C];this._selectedDirty&&(E.parentSelected=this._combinedSelected),E.update(o,A)}};G3.prototype.isDestroyed=function(){return!1};G3.prototype.destroy=function(){let o=this._stages,A=o.length;for(let f=0;f<A;++f)o[f].destroy();return Ar(this)};var dp=G3,p1e=`varying vec2 v_textureCoordinates; uniform sampler2D sunShaftTexture; uniform sampler2D colorTexture; //uniform float exposure = 1.0; const float exposure = 1.0; void main() { const float gamma = 2.2; vec3 hdrColor = texture(colorTexture, v_textureCoordinates).rgb; vec3 bloomColor = texture(sunShaftTexture, v_textureCoordinates).rgb; //vec3 bloomColor = texture(colorTexture, v_textureCoordinates).rgb; hdrColor += bloomColor; // additive blending // tone mapping //vec3 result = vec3(1.0) - exp(-hdrColor * exposure); // also gamma correct while we're at it //result = pow(result, vec3(1.0 / gamma)); //out_FragColor = vec4(result, 1.0); out_FragColor = vec4(hdrColor, 1.0); } `,m1e=`#define SAMPLES 8 uniform float delta; uniform float sigma; uniform float direction; // 0.0 for x direction, 1.0 for y direction uniform sampler2D sunTexture; #ifdef USE_STEP_SIZE uniform float stepSize; #else uniform vec2 step; #endif in vec2 v_textureCoordinates; // Incremental Computation of the Gaussian: // https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch40.html void main() { vec2 st = v_textureCoordinates; vec2 dir = vec2(1.0 - direction, direction); #ifdef USE_STEP_SIZE vec2 step = vec2(stepSize / czm_viewport.zw); #else vec2 step = step; #endif vec3 g; g.x = 1.0 / (sqrt(czm_twoPi) * sigma); g.y = exp((-0.5 * delta * delta) / (sigma * sigma)); g.z = g.y * g.y; vec4 result = texture(sunTexture, st) * g.x; for (int i = 1; i < SAMPLES; ++i) { g.xy *= g.yz; vec2 offset = float(i) * dir * step; result += texture(sunTexture, st - offset) * g.x; result += texture(sunTexture, st + offset) * g.x; } out_FragColor = result; } `,C1e=`in vec2 v_textureCoordinates; uniform sampler2D colorTexture; uniform sampler2D sunVisibleTexture; const float _BlurRadius = 0.04;//0.0293;//0.05;//0.06;//0.3; const float _Iteration = 26.0;//27.0;//30.0;//30; const float nFrag = 1.0 / 30.0; const float _SunScreenRadius = 0.1; const float exposure = 1.0; const float gamma = 2.2; const float strength = 0.1; float rnd(vec3 scale, float seed) { return fract(sin(dot(gl_FragCoord.stp + seed, scale)) * 43758.5453 + seed); } vec4 fragRadialBlur(vec2 p, vec2 sunCoord) { vec2 fc = p; vec2 fcc = fc - sunCoord; vec3 destColor = vec3(0.0); float random = rnd(vec3(12.9898, 78.233, 151.7182), 0.0); float totalWeight = 0.0; for (float i = 0.0; i <= _Iteration; i++) { float percent = (i + random) * nFrag; float weight = percent - percent * percent; vec2 t = fc - fcc * percent * strength * nFrag; destColor += texture(sunVisibleTexture, t).rgb * weight; totalWeight += weight; } return vec4(destColor / totalWeight, 1.0); } vec2 getCenter(vec2 sunCoord) { vec4 sunColor = texture(sunVisibleTexture, sunCoord); if(sunColor.x > 0.0) { return sunCoord; } vec2 step = vec2(0.0, 0.02); vec2 tmp = vec2(0.0, 0.0); for(float i = 0.0; i < 1.0; i += 0.02) { tmp = vec2(sunCoord.x, sunCoord.y + i); if(texture(sunVisibleTexture, tmp).r > 0.0 || tmp.y >= 1.0) { break; } } vec2 low = vec2(0.0, 0.0); if(texture(sunVisibleTexture, tmp).r > 0.0) { low = tmp; } else { return sunCoord; } for(float i = 0.0; i < 1.0; i += 0.02) { tmp = vec2(low.x, low.y + i); if(texture(sunVisibleTexture, tmp).r > 0.0 || tmp.y >= 1.0) { break; } } vec2 high; if(texture(sunVisibleTexture, tmp).r > 0.0) { high = tmp; } else { return sunCoord; } return (low + high) / 2.0; } vec4 getColor(vec2 p, vec2 sunCoord) { vec2 blurVector = (sunCoord - p) * _BlurRadius; //vec2 blurVector = (p - sunCoord) * _BlurRadius; vec4 acumulateColor = vec4(0, 0, 0, 0); vec2 texcoord = p; for (int j = 0; j < int(_Iteration); j ++) { acumulateColor += texture(sunVisibleTexture, texcoord); //acumulateColor += texture(colorTexture, texcoord); texcoord += blurVector; } vec4 color = acumulateColor / float(_Iteration); return color; } void main() { // Sun position vec4 sunPos = czm_morphTime == 1.0 ? vec4(czm_sunPositionWC, 1.0) : vec4(czm_sunPositionColumbusView.zxy, 1.0); vec4 sunPositionEC = czm_view * sunPos; vec4 sunPositionWC = czm_eyeToWindowCoordinates(sunPositionEC); sunPos = czm_viewportOrthographic * vec4(sunPositionWC.xy, -sunPositionWC.z, 1.0); //sunPos = sunPositionWC; vec2 sunTexcoord = sunPos.xy * 0.5 + vec2(0.5); //out_FragColor = length(sunTexcoord - v_textureCoordinates) > _SunScreenRadius // ? texture(sunVisibleTexture, v_textureCoordinates): getColor(v_textureCoordinates, sunTexcoord); vec2 center = getCenter(sunTexcoord); out_FragColor = getColor(v_textureCoordinates, center); //out_FragColor = fragRadialBlur(v_textureCoordinates, center); //vec4 color = getColor(v_textureCoordinates, center); // tone mapping //vec3 result = vec3(1.0) - exp(-color.rgb * exposure); // also gamma correct while we're at it //result = pow(result, vec3(1.0 / gamma)); //out_FragColor = vec4(result, 1.0); } `,fd={};function vJ(o){let A=`#define USE_STEP_SIZE ${oz}`,f=new wa({name:`${o}_x_direction`,fragmentShader:A,uniforms:{delta:1,sigma:2,stepSize:1,direction:0},sampleMode:uE.LINEAR}),m=new wa({name:`${o}_y_direction`,fragmentShader:A,uniforms:{delta:1,sigma:2,stepSize:1,direction:1},sampleMode:uE.LINEAR}),C={};return Object.defineProperties(C,{delta:{get:function(){return f.uniforms.delta},set:function(E){let x=f.uniforms,y=m.uniforms;x.delta=y.delta=E}},sigma:{get:function(){return f.uniforms.sigma},set:function(E){let x=f.uniforms,y=m.uniforms;x.sigma=y.sigma=E}},stepSize:{get:function(){return f.uniforms.stepSize},set:function(E){let x=f.uniforms,y=m.uniforms;x.stepSize=y.stepSize=E}}}),new dp({name:o,stages:[f,m],uniforms:C})}fd.createBlurStage=function(){return vJ("czm_blur")};fd.createDepthOfFieldStage=function(){let o=vJ("czm_depth_of_field_blur"),A=new wa({name:"czm_depth_of_field_composite",fragmentShader:o1e,uniforms:{focalDistance:5,blurTexture:o.name}}),f={};return Object.defineProperties(f,{focalDistance:{get:function(){return A.uniforms.focalDistance},set:function(m){A.uniforms.focalDistance=m}},delta:{get:function(){return o.uniforms.delta},set:function(m){o.uniforms.delta=m}},sigma:{get:function(){return o.uniforms.sigma},set:function(m){o.uniforms.sigma=m}},stepSize:{get:function(){return o.uniforms.stepSize},set:function(m){o.uniforms.stepSize=m}}}),new dp({name:"czm_depth_of_field",stages:[o,A],inputPreviousStageTexture:!1,uniforms:f})};fd.isDepthOfFieldSupported=function(o){return o.context.depthTexture};fd.createEdgeDetectionStage=function(o){let A=Rl();return new wa({name:`czm_edge_detection_${A}`,fragmentShader:s1e,uniforms:{length:.25,color:Ve.clone(Ve.BLACK),width:oe(o.width,1)}})};fd.isEdgeDetectionSupported=function(o){return o.context.depthTexture};function OCi(o){if(!O(o))return fd.createEdgeDetectionStage();let A=new dp({name:"czm_edge_detection_multiple",stages:o,inputPreviousStageTexture:!1}),f={},m="",C="";for(let y=0;y<o.length;++y)m+=`uniform sampler2D edgeTexture${y}; `,C+=` vec4 edge${y} = texture(edgeTexture${y}, v_textureCoordinates); if (edge${y}.a > 0.0) { color = edge${y}; break; } `,f[`edgeTexture${y}`]=o[y].name;let E=`${m}in vec2 v_textureCoordinates; void main() { vec4 color = vec4(0.0); for (int i = 0; i < ${o.length}; i++) { ${C} } out_FragColor = color; } `,x=new wa({name:"czm_edge_detection_combine",fragmentShader:E,uniforms:f});return new dp({name:"czm_edge_detection_composite",stages:[A,x]})}fd.createSilhouetteStage=function(o){let A=OCi(o),f=new wa({name:"czm_silhouette_color_edges",fragmentShader:f1e,uniforms:{silhouetteTexture:A.name}});return new dp({name:"czm_silhouette",stages:[A,f],inputPreviousStageTexture:!1,uniforms:A.uniforms})};fd.isSilhouetteSupported=function(o){return o.context.depthTexture};fd.createBloomStage=function(){let o=new wa({name:"czm_bloom_contrast_bias",fragmentShader:n1e,uniforms:{contrast:128,brightness:-.3}}),A=vJ("czm_bloom_blur"),f=new dp({name:"czm_bloom_contrast_bias_blur",stages:[o,A]}),m=new wa({name:"czm_bloom_generate_composite",fragmentShader:i1e,uniforms:{glowOnly:!1,bloomTexture:f.name}}),C={};return Object.defineProperties(C,{glowOnly:{get:function(){return m.uniforms.glowOnly},set:function(E){m.uniforms.glowOnly=E}},contrast:{get:function(){return o.uniforms.contrast},set:function(E){o.uniforms.contrast=E}},brightness:{get:function(){return o.uniforms.brightness},set:function(E){o.uniforms.brightness=E}},delta:{get:function(){return A.uniforms.delta},set:function(E){A.uniforms.delta=E}},sigma:{get:function(){return A.uniforms.sigma},set:function(E){A.uniforms.sigma=E}},stepSize:{get:function(){return A.uniforms.stepSize},set:function(E){A.uniforms.stepSize=E}}}),new dp({name:"czm_bloom",stages:[f,m],inputPreviousStageTexture:!1,uniforms:C})};fd.createAmbientOcclusionStage=function(){let o=new wa({name:"czm_ambient_occlusion_generate",fragmentShader:$we,uniforms:{intensity:3,bias:.1,lengthCap:.26,stepSize:1.95,frustumLength:1e3,randomTexture:void 0}}),A=vJ("czm_ambient_occlusion_blur");A.uniforms.stepSize=.86;let f=new dp({name:"czm_ambient_occlusion_generate_blur",stages:[o,A]}),m=new wa({name:"czm_ambient_occlusion_composite",fragmentShader:e1e,uniforms:{ambientOcclusionOnly:!1,ambientOcclusionTexture:f.name}}),C={};return Object.defineProperties(C,{intensity:{get:function(){return o.uniforms.intensity},set:function(E){o.uniforms.intensity=E}},bias:{get:function(){return o.uniforms.bias},set:function(E){o.uniforms.bias=E}},lengthCap:{get:function(){return o.uniforms.lengthCap},set:function(E){o.uniforms.lengthCap=E}},stepSize:{get:function(){return o.uniforms.stepSize},set:function(E){o.uniforms.stepSize=E}},frustumLength:{get:function(){return o.uniforms.frustumLength},set:function(E){o.uniforms.frustumLength=E}},randomTexture:{get:function(){return o.uniforms.randomTexture},set:function(E){o.uniforms.randomTexture=E}},delta:{get:function(){return A.uniforms.delta},set:function(E){A.uniforms.delta=E}},sigma:{get:function(){return A.uniforms.sigma},set:function(E){A.uniforms.sigma=E}},blurStepSize:{get:function(){return A.uniforms.stepSize},set:function(E){A.uniforms.stepSize=E}},ambientOcclusionOnly:{get:function(){return m.uniforms.ambientOcclusionOnly},set:function(E){m.uniforms.ambientOcclusionOnly=E}}}),new dp({name:"czm_ambient_occlusion",stages:[f,m],inputPreviousStageTexture:!1,uniforms:C})};fd.isAmbientOcclusionSupported=function(o){return o.context.depthTexture};var UCi=`#define FXAA_QUALITY_PRESET 39 ${Hve} ${u1e}`;fd.createFXAAStage=function(){return new wa({name:"czm_FXAA",fragmentShader:UCi,sampleMode:uE.LINEAR})};fd.createAcesTonemappingStage=function(o){let A=o?`#define AUTO_EXPOSURE `:"";return A+=Zwe,new wa({name:"czm_aces",fragmentShader:A,uniforms:{autoExposure:void 0}})};fd.createFilmicTonemappingStage=function(o){let A=o?`#define AUTO_EXPOSURE `:"";return A+=l1e,new wa({name:"czm_filmic",fragmentShader:A,uniforms:{autoExposure:void 0}})};fd.createReinhardTonemappingStage=function(o){let A=o?`#define AUTO_EXPOSURE `:"";return A+=d1e,new wa({name:"czm_reinhard",fragmentShader:A,uniforms:{autoExposure:void 0}})};fd.createModifiedReinhardTonemappingStage=function(o){let A=o?`#define AUTO_EXPOSURE `:"";return A+=c1e,new wa({name:"czm_modified_reinhard",fragmentShader:A,uniforms:{white:Ve.WHITE,autoExposure:void 0}})};fd.createAutoExposureStage=function(){return new g1e};fd.createBlackAndWhiteStage=function(){return new wa({name:"czm_black_and_white",fragmentShader:t1e,uniforms:{gradations:5}})};fd.createBrightnessStage=function(){return new wa({name:"czm_brightness",fragmentShader:r1e,uniforms:{brightness:.5}})};fd.createNightVisionStage=function(){return new wa({name:"czm_night_vision",fragmentShader:h1e})};fd.createDepthViewStage=function(){return new wa({name:"czm_depth_view",fragmentShader:a1e})};fd.createLensFlareStage=function(){return new wa({name:"czm_lens_flare",fragmentShader:A1e,uniforms:{dirtTexture:ja("Assets/Textures/LensFlare/DirtMask.jpg"),starTexture:ja("Assets/Textures/LensFlare/StarBurst.jpg"),intensity:2,distortion:10,ghostDispersal:.4,haloWidth:.4,dirtAmount:.4,earthRadius:Ci.WGS84.maximumRadius}})};fd.createSunShaftStage=function(){let o=new wa({name:"czm_SunVisible",fragmentShader:$ve,isShaft:!0,sampleMode:uE.LINEAR,uniforms:{u_size:210}}),A=new wa({name:"czm_SunVisibleShaft",fragmentShader:C1e,sampleMode:uE.LINEAR,uniforms:{sunVisibleTexture:o.name}}),f=vJ("czm_sun_shaft_blur"),m=1,C=2,E=1,x=`#define USE_STEP_SIZE ${m1e}`,y=new wa({name:"czm_sun_shaft_x_direction",fragmentShader:x,uniforms:{delta:m,sigma:C,stepSize:E,direction:0,sunTexture:A.name},sampleMode:uE.LINEAR}),I=new wa({name:"czm_sun_shaft_y_direction",fragmentShader:x,uniforms:{delta:m,sigma:C,stepSize:E,direction:1,sunTexture:y.name},sampleMode:uE.LINEAR}),v=new wa({name:"czm_SunShaft_Modulate",fragmentShader:p1e,uniforms:{exposure:1,sunShaftTexture:I.name}}),B={};return Object.defineProperties(B,{exposure:{get:function(){return v.uniforms.exposure},set:function(Q){v.uniforms.exposure=Q}},u_size:{get:function(){return o.uniforms.u_size},set:function(Q){o.uniforms.u_size=Q}},delta:{get:function(){return y.uniforms.delta},set:function(Q){let T=y.uniforms,w=I.uniforms;T.delta=w.delta=Q}},sigma:{get:function(){return y.uniforms.sigma},set:function(Q){let T=y.uniforms,w=I.uniforms;T.sigma=w.sigma=Q}},stepSize:{get:function(){return y.uniforms.stepSize},set:function(Q){let T=y.uniforms,w=I.uniforms;T.stepSize=w.stepSize=Q}}}),new dp({name:"czm_SunShaft_All",inputPreviousStageTexture:!1,stages:[o,A,y,I,v],uniforms:B})};var aE=fd;function vT(o){this._collection=o,this._framebuffers=[],this._stageNameToFramebuffer={},this._width=void 0,this._height=void 0,this._updateDependencies=!1}function Y7(o){for(;O(o.length);)o=o.get(o.length-1);return o.name}function Lge(o,A,f,m,C){if(!m.enabled||!m._isSupported(A))return C;let E=f[m.name]={};if(O(C)){let y=o.getStageByName(C);E[Y7(y)]=!0}let x=m.uniforms;if(O(x)){let y=Object.getOwnPropertyNames(x),I=y.length;for(let v=0;v<I;++v){let B=x[y[v]];if(typeof B=="string"){let Q=o.getStageByName(B);O(Q)&&(E[Y7(Q)]=!0)}}}return m.name}function ZU(o,A,f,m,C){if(O(m.enabled)&&!m.enabled||O(m._isSupported)&&!m._isSupported(A))return C;let E=C,x=!O(m.inputPreviousStageTexture)||m.inputPreviousStageTexture,y=C,I=m.length;for(let Q=0;Q<I;++Q){let T=m.get(Q);O(T.length)?y=ZU(o,A,f,T,C):y=Lge(o,A,f,T,C),x&&(C=y)}let v,B;if(x)for(v=1;v<I;++v)B=Y7(m.get(v)),O(f[B])||(f[B]={}),f[B][E]=!0;else for(v=1;v<I;++v){B=Y7(m.get(v));let Q=f[B];for(let T=0;T<v;++T)Q[Y7(m.get(T))]=!0}return y}function GCi(o,A){let f={};if(O(o.ambientOcclusion)){let m=o.ambientOcclusion,C=o.bloom,E=o._tonemapping,x=o.fxaa,y=ZU(o,A,f,m,void 0);y=ZU(o,A,f,C,y),y=Lge(o,A,f,E,y),y=ZU(o,A,f,o,y);let I=o.sunShaft;y=ZU(o,A,f,I,y),Lge(o,A,f,x,y)}else ZU(o,A,f,o,void 0);return f}function HCi(o,A,f){let m=o._collection.getStageByName(A),C=m._textureScale,E=m._forcePowerOfTwo,x=m._pixelFormat,y=m._pixelDatatype,I=m._clearColor,v,B,Q=o._framebuffers,T=Q.length;for(v=0;v<T;++v){if(B=Q[v],C!==B.textureScale||E!==B.forcePowerOfTwo||x!==B.pixelFormat||y!==B.pixelDatatype||!Ve.equals(I,B.clearColor))continue;let w=B.stages,S=w.length,D=!1;for(let R=0;R<S;++R)if(f[w[R]]){D=!0;break}if(!D)break}return O(B)&&v<T?(B.stages.push(A),B):(B={textureScale:C,forcePowerOfTwo:E,pixelFormat:x,pixelDatatype:y,clearColor:I,stages:[A],buffer:new hc({pixelFormat:x,pixelDatatype:y}),clear:void 0},Q.push(B),B)}function VCi(o,A){let f=GCi(o._collection,A);for(let m in f)f.hasOwnProperty(m)&&(o._stageNameToFramebuffer[m]=HCi(o,m,f[m]))}function Fge(o){let A=o._framebuffers,f=A.length;for(let m=0;m<f;++m)A[m].buffer.destroy()}function zCi(o,A){let f=o._width,m=o._height,C=o._framebuffers,E=C.length;for(let x=0;x<E;++x){let y=C[x],I=y.textureScale,v=Math.ceil(f*I),B=Math.ceil(m*I),Q=Math.min(v,B);y.forcePowerOfTwo&&(Be.isPowerOfTwo(Q)||(Q=Be.nextPowerOfTwo(Q)),v=Q,B=Q),y.buffer.update(A,v,B),y.clear=new Yu({color:y.clearColor,framebuffer:y.buffer.framebuffer})}}vT.prototype.updateDependencies=function(){this._updateDependencies=!0};vT.prototype.update=function(o){let A=this._collection,f=this._updateDependencies,m=O(A.ambientOcclusion)&&A.ambientOcclusion.enabled&&A.ambientOcclusion._isSupported(o),C=O(A.bloom)&&A.bloom.enabled&&A.bloom._isSupported(o),E=O(A._tonemapping)&&A._tonemapping.enabled&&A._tonemapping._isSupported(o),x=O(A.fxaa)&&A.fxaa.enabled&&A.fxaa._isSupported(o),y=!O(A._activeStages)||A._activeStages.length>0||m||C||E||x,I=O(A.sunShaft)&&A.sunShaft.enabled&&A.sunShaft._isSupported(o);if(y=!O(A._activeStages)||A._activeStages.length>0||m||C||E||x||I,(f||!y&&this._framebuffers.length>0)&&(Fge(this),this._framebuffers.length=0,this._stageNameToFramebuffer={},this._width=void 0,this._height=void 0),!f&&!y)return;this._framebuffers.length===0&&VCi(this,o);let v=o.drawingBufferWidth,B=o.drawingBufferHeight,Q=this._width!==v||this._height!==B;!f&&!Q||(this._width=v,this._height=B,this._updateDependencies=!1,Fge(this),zCi(this,o))};vT.prototype.clear=function(o){let A=this._framebuffers;for(let f=0;f<A.length;++f)A[f].clear.execute(o)};vT.prototype.getStageByName=function(o){return this._collection.getStageByName(o)};vT.prototype.getOutputTexture=function(o){return this._collection.getOutputTexture(o)};vT.prototype.getFramebuffer=function(o){let A=this._stageNameToFramebuffer[o];if(O(A))return A.buffer.framebuffer};vT.prototype.isDestroyed=function(){return!1};vT.prototype.destroy=function(){return Fge(this),Ar(this)};var Ine=vT,d7={REINHARD:0,MODIFIED_REINHARD:1,FILMIC:2,ACES:3,validate:function(o){return o===d7.REINHARD||o===d7.MODIFIED_REINHARD||o===d7.FILMIC||o===d7.ACES}},J5=Object.freeze(d7),E1e=[];function wE(){let o=aE.createFXAAStage(),A=aE.createAmbientOcclusionStage(),f=aE.createBloomStage(),m=aE.createSunShaftStage();this._autoExposureEnabled=!1,this._autoExposure=aE.createAutoExposureStage(),this._tonemapping=void 0,this._tonemapper=void 0,this.tonemapper=J5.ACES;let C=this._tonemapping;o.enabled=!1,A.enabled=!1,f.enabled=!1,C.enabled=!1,m.enabled=!1;let E=new Ine(this),x={},y=E1e;for(y.push(o,A,f,C,m);y.length>0;){let v=y.pop();x[v.name]=v,v._textureCache=E;let B=v.length;if(O(B))for(let Q=0;Q<B;++Q)y.push(v.get(Q))}this._stages=[],this._activeStages=[],this._previousActiveStages=[],this._randomTexture=void 0;let I=this;A.uniforms.randomTexture=function(){return I._randomTexture},this._ao=A,this._bloom=f,this._fxaa=o,this._sunShaft=m,this._aoEnabled=void 0,this._bloomEnabled=void 0,this._tonemappingEnabled=void 0,this._fxaaEnabled=void 0,this._sunShaftEnabled=void 0,this._activeStagesChanged=!1,this._stagesRemoved=!1,this._textureCacheDirty=!1,this._stageNames=x,this._textureCache=E}Object.defineProperties(wE.prototype,{ready:{get:function(){let o=!1,A=this._stages,f=A.length;for(let I=f-1;I>=0;--I){let v=A[I];o=o||v.ready&&v.enabled}let m=this._fxaa,C=this._ao,E=this._bloom,x=this._tonemapping,y=this._sunShaft;return o=o||m.ready&&m.enabled,o=o||C.ready&&C.enabled,o=o||E.ready&&E.enabled,o=o||x.ready&&x.enabled,o=o||y.ready&&y.enabled,o}},fxaa:{get:function(){return this._fxaa}},sunShaft:{get:function(){return this._sunShaft}},ambientOcclusion:{get:function(){return this._ao}},bloom:{get:function(){return this._bloom}},length:{get:function(){return x1e(this),this._stages.length}},outputTexture:{get:function(){let o=this._fxaa;if(o.enabled&&o.ready)return this.getOutputTexture(o.name);let A=this._stages,f=A.length;for(let y=f-1;y>=0;--y){let I=A[y];if(O(I)&&I.ready&&I.enabled)return this.getOutputTexture(I.name)}let m=this._tonemapping;if(m.enabled&&m.ready)return this.getOutputTexture(m.name);let C=this._bloom;if(C.enabled&&C.ready)return this.getOutputTexture(C.name);let E=this._ao;if(E.enabled&&E.ready)return this.getOutputTexture(E.name);let x=this._sunShaft;if(x.enabled&&x.ready)return this.getOutputTexture(x.name)}},hasSelected:{get:function(){let o=this._stages.slice();for(;o.length>0;){let A=o.pop();if(!O(A))continue;if(O(A.selected))return!0;let f=A.length;if(O(f))for(let m=0;m<f;++m)o.push(A.get(m))}return!1}},tonemapper:{get:function(){return this._tonemapper},set:function(o){if(this._tonemapper===o)return;O(this._tonemapping)&&(delete this._stageNames[this._tonemapping.name],this._tonemapping.destroy());let A=this._autoExposureEnabled,f;switch(o){case J5.REINHARD:f=aE.createReinhardTonemappingStage(A);break;case J5.MODIFIED_REINHARD:f=aE.createModifiedReinhardTonemappingStage(A);break;case J5.FILMIC:f=aE.createFilmicTonemappingStage(A);break;default:f=aE.createAcesTonemappingStage(A);break}if(A){let m=this._autoExposure;f.uniforms.autoExposure=function(){return m.outputTexture}}this._tonemapper=o,this._tonemapping=f,O(this._stageNames)&&(this._stageNames[f.name]=f,f._textureCache=this._textureCache),this._textureCacheDirty=!0}}});function x1e(o){if(!o._stagesRemoved)return;o._stagesRemoved=!1;let A=[],f=o._stages,m=f.length;for(let C=0,E=0;C<m;++C){let x=f[C];x&&(x._index=E++,A.push(x))}o._stages=A}wE.prototype.add=function(o){let A=this._stageNames,f=E1e;for(f.push(o);f.length>0;){let C=f.pop();A[C.name]=C,C._textureCache=this._textureCache;let E=C.length;if(O(E))for(let x=0;x<E;++x)f.push(C.get(x))}let m=this._stages;return o._index=m.length,m.push(o),this._textureCacheDirty=!0,o};wE.prototype.remove=function(o){if(!this.contains(o))return!1;let A=this._stageNames,f=E1e;for(f.push(o);f.length>0;){let m=f.pop();delete A[m.name];let C=m.length;if(O(C))for(let E=0;E<C;++E)f.push(m.get(E))}return this._stages[o._index]=void 0,this._stagesRemoved=!0,this._textureCacheDirty=!0,o._index=void 0,o._textureCache=void 0,o.destroy(),!0};wE.prototype.contains=function(o){return O(o)&&O(o._index)&&o._textureCache===this._textureCache};wE.prototype.get=function(o){return x1e(this),this._stages[o]};wE.prototype.removeAll=function(){let o=this._stages,A=o.length;for(let f=0;f<A;++f)this.remove(o[f]);o.length=0};wE.prototype.getStageByName=function(o){return this._stageNames[o]};wE.prototype.update=function(o,A,f){x1e(this);let m=this._activeStages,C=this._activeStages=this._previousActiveStages;this._previousActiveStages=m;let E=this._stages,x=C.length=E.length,y,I,v=0;for(y=0;y<x;++y)I=E[y],I.ready&&I.enabled&&I._isSupported(o)&&(C[v++]=I);C.length=v;let B=v!==m.length;if(!B){for(y=0;y<v;++y)if(C[y]!==m[y]){B=!0;break}}let Q=this._ao,T=this._bloom,w=this._autoExposure,S=this._tonemapping,D=this._fxaa,R=this._sunShaft;S.enabled=f;let P=Q.enabled&&Q._isSupported(o),M=T.enabled&&T._isSupported(o),L=S.enabled&&S._isSupported(o),F=D.enabled&&D._isSupported(o),k=R.enabled&&R._isSupported(o);if((B||this._textureCacheDirty||P!==this._aoEnabled||M!==this._bloomEnabled||L!==this._tonemappingEnabled||F!==this._fxaaEnabled)&&(this._textureCache.updateDependencies(),this._aoEnabled=P,this._bloomEnabled=M,this._tonemappingEnabled=L,this._fxaaEnabled=F,this._sunShaftEnabled=k,this._textureCacheDirty=!1),O(this._randomTexture)&&!P&&(this._randomTexture.destroy(),this._randomTexture=void 0),!O(this._randomTexture)&&P){x=256*256*3;let N=new Uint8Array(x);for(y=0;y<x;y+=3)N[y]=Math.floor(Math.random()*255);this._randomTexture=new Nn({context:o,pixelFormat:rn.RGB,pixelDatatype:$r.UNSIGNED_BYTE,source:{arrayBufferView:N,width:256,height:256},sampler:new Oa({wrapS:Vo.REPEAT,wrapT:Vo.REPEAT,minificationFilter:Ba.NEAREST,magnificationFilter:Wu.NEAREST})})}for(this._textureCache.update(o),D.update(o,A),k&&R.update(o,A),Q.update(o,A),T.update(o,A),S.update(o,A),this._autoExposureEnabled&&w.update(o,A),x=E.length,y=0;y<x;++y)E[y].update(o,A);for(v=0,y=0;y<x;++y)I=E[y],I.ready&&I.enabled&&I._isSupported(o)&&v++;B=v!==C.length,B&&this.update(o,A,f)};wE.prototype.clear=function(o){this._textureCache.clear(o),this._autoExposureEnabled&&this._autoExposure.clear(o)};function T2(o){for(;O(o.length);)o=o.get(o.length-1);return o.outputTexture}wE.prototype.getOutputTexture=function(o){let A=this.getStageByName(o);if(O(A))return T2(A)};function VB(o,A,f,m,C){if(O(o.execute)){o.execute(A,f,m,C);return}let E=o.length,x;if(o.inputPreviousStageTexture)for(VB(o.get(0),A,f,m,C),x=1;x<E;++x)VB(o.get(x),A,T2(o.get(x-1)),m,C);else for(x=0;x<E;++x)VB(o.get(x),A,f,m,C)}wE.prototype.execute=function(o,A,f,m){let C=this._activeStages,E=C.length,x=this._fxaa,y=this._ao,I=this._bloom,v=this._autoExposure,B=this._tonemapping,Q=this._sunShaft,T=y.enabled&&y._isSupported(o),w=I.enabled&&I._isSupported(o),S=this._autoExposureEnabled,D=B.enabled&&B._isSupported(o),R=x.enabled&&x._isSupported(o),P=Q.enabled&&Q._isSupported(o);if(!P&&!R&&!T&&!w&&!D&&E===0)return;let M=A;P&&Q.ready&&(VB(Q,o,M,f,m),M=T2(Q)),T&&y.ready&&(VB(y,o,M,f,m),M=T2(y)),w&&I.ready&&(VB(I,o,M,f,m),M=T2(I)),S&&v.ready&&VB(v,o,M,f,m),D&&B.ready&&(VB(B,o,M,f,m),M=T2(B));let L=M;if(E>0){VB(C[0],o,M,f,m);for(let F=1;F<E;++F)VB(C[F],o,T2(C[F-1]),f,m);L=T2(C[E-1])}R&&x.ready&&VB(x,o,L,f,m)};wE.prototype.copy=function(o,A){if(!O(this._copyColorCommand)){let f=this;this._copyColorCommand=o.createViewportQuadCommand(HD,{uniformMap:{colorTexture:function(){return f.outputTexture}},owner:this})}this._copyColorCommand.framebuffer=A,this._copyColorCommand.execute(o)};wE.prototype.isDestroyed=function(){return!1};wE.prototype.destroy=function(){return this._fxaa.destroy(),this._sunShaft.destroy(),this._ao.destroy(),this._bloom.destroy(),this._autoExposure.destroy(),this._tonemapping.destroy(),this.removeAll(),this._textureCache=this._textureCache&&this._textureCache.destroy(),Ar(this)};var y1e=wE,YCi={SHIFT:0,CTRL:1,ALT:2},Sx=Object.freeze(YCi),JCi={LEFT_DOWN:0,LEFT_UP:1,LEFT_CLICK:2,LEFT_DOUBLE_CLICK:3,RIGHT_DOWN:5,RIGHT_UP:6,RIGHT_CLICK:7,MIDDLE_DOWN:10,MIDDLE_UP:11,MIDDLE_CLICK:12,MOUSE_MOVE:15,WHEEL:16,PINCH_START:17,PINCH_END:18,PINCH_MOVE:19},si=Object.freeze(JCi);function yR(o,A,f){let m=o._element;if(m===document)return f.x=A.clientX,f.y=A.clientY,f;let C=m.getBoundingClientRect();return f.x=A.clientX-C.left,f.y=A.clientY-C.top,f}function I1e(o,A){let f=o;return O(A)&&(f+=`+${A}`),f}function H3(o){if(o.shiftKey)return Sx.SHIFT;if(o.ctrlKey)return Sx.CTRL;if(o.altKey)return Sx.ALT}var wg={LEFT:0,MIDDLE:1,RIGHT:2};function Fy(o,A,f,m){function C(E){m(o,E)}wo.isInternetExplorer()?f.addEventListener(A,C,!1):f.addEventListener(A,C,{capture:!1,passive:!1}),o._removalFunctions.push(function(){f.removeEventListener(A,C,!1)})}function KCi(o){let A=o._element,f=O(A.disableRootEvents)?A:document;wo.supportsPointerEvents()?(Fy(o,"pointerdown",A,$Ci),Fy(o,"pointerup",A,LGe),Fy(o,"pointermove",A,eEi),Fy(o,"pointercancel",A,LGe)):(Fy(o,"mousedown",A,ftt),Fy(o,"mouseup",f,gtt),Fy(o,"mousemove",f,ptt),Fy(o,"touchstart",A,XCi),Fy(o,"touchend",f,DGe),Fy(o,"touchmove",f,ZCi),Fy(o,"touchcancel",f,DGe)),Fy(o,"dblclick",A,jCi);let m;"onwheel"in A?m="wheel":document.onmousewheel!==void 0?m="mousewheel":m="DOMMouseScroll",Fy(o,m,A,qCi)}function WCi(o){let A=o._removalFunctions;for(let f=0;f<A.length;++f)A[f]()}var wGe={position:new rt};function _1e(o){o._lastSeenTouchEvent=oA()}function v1e(o){return oA()-o._lastSeenTouchEvent>kw.mouseEmulationIgnoreMilliseconds}function Nge(o,A,f){let m=o.x-A.x,C=o.y-A.y;return Math.sqrt(m*m+C*C)<f}function ftt(o,A){if(!v1e(o))return;let f=A.button;o._buttonDown[f]=!0;let m;if(f===wg.LEFT)m=si.LEFT_DOWN;else if(f===wg.MIDDLE)m=si.MIDDLE_DOWN;else if(f===wg.RIGHT)m=si.RIGHT_DOWN;else return;let C=yR(o,A,o._primaryPosition);rt.clone(C,o._primaryStartPosition),rt.clone(C,o._primaryPreviousPosition);let E=H3(A),x=o.getInputAction(m,E);O(x)&&(rt.clone(C,wGe.position),x(wGe),A.preventDefault())}var bGe={position:new rt},QGe={position:new rt};function Jhe(o,A,f,m){let C=H3(m),E=o.getInputAction(A,C),x=o.getInputAction(f,C);if(O(E)||O(x)){let y=yR(o,m,o._primaryPosition);if(O(E)&&(rt.clone(y,bGe.position),E(bGe)),O(x)){let I=o._primaryStartPosition;Nge(I,y,o._clickPixelTolerance)&&(rt.clone(y,QGe.position),x(QGe))}}}function gtt(o,A){if(!v1e(o))return;let f=A.button;f!==wg.LEFT&&f!==wg.MIDDLE&&f!==wg.RIGHT||(o._buttonDown[wg.LEFT]&&(Jhe(o,si.LEFT_UP,si.LEFT_CLICK,A),o._buttonDown[wg.LEFT]=!1),o._buttonDown[wg.MIDDLE]&&(Jhe(o,si.MIDDLE_UP,si.MIDDLE_CLICK,A),o._buttonDown[wg.MIDDLE]=!1),o._buttonDown[wg.RIGHT]&&(Jhe(o,si.RIGHT_UP,si.RIGHT_CLICK,A),o._buttonDown[wg.RIGHT]=!1))}var Khe={startPosition:new rt,endPosition:new rt};function ptt(o,A){if(!v1e(o))return;let f=H3(A),m=yR(o,A,o._primaryPosition),C=o._primaryPreviousPosition,E=o.getInputAction(si.MOUSE_MOVE,f);O(E)&&(rt.clone(C,Khe.startPosition),rt.clone(m,Khe.endPosition),E(Khe)),rt.clone(m,C),(o._buttonDown[wg.LEFT]||o._buttonDown[wg.MIDDLE]||o._buttonDown[wg.RIGHT])&&A.preventDefault()}var SGe={position:new rt};function jCi(o,A){let f=A.button,m;if(f===wg.LEFT)m=si.LEFT_DOUBLE_CLICK;else return;let C=H3(A),E=o.getInputAction(m,C);O(E)&&(yR(o,A,SGe.position),E(SGe))}function qCi(o,A){let f;if(O(A.deltaY)){let E=A.deltaMode;E===A.DOM_DELTA_PIXEL?f=-A.deltaY:E===A.DOM_DELTA_LINE?f=-A.deltaY*40:f=-A.deltaY*120}else A.detail>0?f=A.detail*-120:f=A.wheelDelta;if(!O(f))return;let m=H3(A),C=o.getInputAction(si.WHEEL,m);O(C)&&(C(f),A.preventDefault())}function XCi(o,A){_1e(o);let f=A.changedTouches,m,C=f.length,E,x,y=o._positions;for(m=0;m<C;++m)E=f[m],x=E.identifier,y.set(x,yR(o,E,new rt));_ne(o,A);let I=o._previousPositions;for(m=0;m<C;++m)E=f[m],x=E.identifier,I.set(x,rt.clone(y.get(x)))}function DGe(o,A){_1e(o);let f=A.changedTouches,m,C=f.length,E,x,y=o._positions;for(m=0;m<C;++m)E=f[m],x=E.identifier,y.remove(x);_ne(o,A);let I=o._previousPositions;for(m=0;m<C;++m)E=f[m],x=E.identifier,I.remove(x)}var TGe={position:new rt},Whe={position1:new rt,position2:new rt},MGe={position:new rt},PGe={position:new rt},RGe={position:new rt};function _ne(o,A){let f=H3(A),m=o._positions,C=m.length,E,x,y=o._isPinching;if(C!==1&&o._buttonDown[wg.LEFT]){if(o._buttonDown[wg.LEFT]=!1,O(o._touchHoldTimer)&&(clearTimeout(o._touchHoldTimer),o._touchHoldTimer=void 0),E=o.getInputAction(si.LEFT_UP,f),O(E)&&(rt.clone(o._primaryPosition,MGe.position),E(MGe)),C===0&&!o._isTouchHolding&&(x=o.getInputAction(si.LEFT_CLICK,f),O(x))){let I=o._primaryStartPosition,v=o._previousPositions.values[0];Nge(I,v,o._clickPixelTolerance)&&(rt.clone(o._primaryPosition,PGe.position),x(PGe))}o._isTouchHolding=!1}if(C===0&&y&&(o._isPinching=!1,E=o.getInputAction(si.PINCH_END,f),O(E)&&E()),C===1&&!y){let I=m.values[0];rt.clone(I,o._primaryPosition),rt.clone(I,o._primaryStartPosition),rt.clone(I,o._primaryPreviousPosition),o._buttonDown[wg.LEFT]=!0,E=o.getInputAction(si.LEFT_DOWN,f),O(E)&&(rt.clone(I,TGe.position),E(TGe)),o._touchHoldTimer=setTimeout(function(){if(!o.isDestroyed()&&(o._touchHoldTimer=void 0,o._isTouchHolding=!0,x=o.getInputAction(si.RIGHT_CLICK,f),O(x))){let v=o._primaryStartPosition,B=o._previousPositions.values[0];Nge(v,B,o._holdPixelTolerance)&&(rt.clone(o._primaryPosition,RGe.position),x(RGe))}},kw.touchHoldDelayMilliseconds),A.preventDefault()}C===2&&!y&&(o._isPinching=!0,E=o.getInputAction(si.PINCH_START,f),O(E)&&(rt.clone(m.values[0],Whe.position1),rt.clone(m.values[1],Whe.position2),E(Whe),A.preventDefault()))}function ZCi(o,A){_1e(o);let f=A.changedTouches,m,C=f.length,E,x,y=o._positions;for(m=0;m<C;++m){E=f[m],x=E.identifier;let v=y.get(x);O(v)&&yR(o,E,v)}mtt(o,A);let I=o._previousPositions;for(m=0;m<C;++m)E=f[m],x=E.identifier,rt.clone(y.get(x),I.get(x))}var jhe={startPosition:new rt,endPosition:new rt},kV={distance:{startPosition:new rt,endPosition:new rt},angleAndHeight:{startPosition:new rt,endPosition:new rt}};function mtt(o,A){let f=H3(A),m=o._positions,C=o._previousPositions,E=m.length,x;if(E===1&&o._buttonDown[wg.LEFT]){let y=m.values[0];rt.clone(y,o._primaryPosition);let I=o._primaryPreviousPosition;x=o.getInputAction(si.MOUSE_MOVE,f),O(x)&&(rt.clone(I,jhe.startPosition),rt.clone(y,jhe.endPosition),x(jhe)),rt.clone(y,I),A.preventDefault()}else if(E===2&&o._isPinching&&(x=o.getInputAction(si.PINCH_MOVE,f),O(x))){let y=m.values[0],I=m.values[1],v=C.values[0],B=C.values[1],Q=I.x-y.x,T=I.y-y.y,w=Math.sqrt(Q*Q+T*T)*.25,S=B.x-v.x,D=B.y-v.y,R=Math.sqrt(S*S+D*D)*.25,P=(I.y+y.y)*.125,M=(B.y+v.y)*.125,L=Math.atan2(T,Q),F=Math.atan2(D,S);rt.fromElements(0,R,kV.distance.startPosition),rt.fromElements(0,w,kV.distance.endPosition),rt.fromElements(F,M,kV.angleAndHeight.startPosition),rt.fromElements(L,P,kV.angleAndHeight.endPosition),x(kV)}}function $Ci(o,A){if(A.target.setPointerCapture(A.pointerId),A.pointerType==="touch"){let f=o._positions,m=A.pointerId;f.set(m,yR(o,A,new rt)),_ne(o,A),o._previousPositions.set(m,rt.clone(f.get(m)))}else ftt(o,A)}function LGe(o,A){if(A.pointerType==="touch"){let f=o._positions,m=A.pointerId;f.remove(m),_ne(o,A),o._previousPositions.remove(m)}else gtt(o,A)}function eEi(o,A){if(A.pointerType==="touch"){let f=o._positions,m=A.pointerId,C=f.get(m);if(!O(C))return;yR(o,A,C),mtt(o,A);let E=o._previousPositions;rt.clone(f.get(m),E.get(m))}else ptt(o,A)}function kw(o){this._inputEvents={},this._buttonDown={LEFT:!1,MIDDLE:!1,RIGHT:!1},this._isPinching=!1,this._isTouchHolding=!1,this._lastSeenTouchEvent=-kw.mouseEmulationIgnoreMilliseconds,this._primaryStartPosition=new rt,this._primaryPosition=new rt,this._primaryPreviousPosition=new rt,this._positions=new Ro,this._previousPositions=new Ro,this._removalFunctions=[],this._touchHoldTimer=void 0,this._clickPixelTolerance=5,this._holdPixelTolerance=25,this._element=oe(o,document),KCi(this)}kw.prototype.setInputAction=function(o,A,f){let m=I1e(A,f);this._inputEvents[m]=o};kw.prototype.getInputAction=function(o,A){let f=I1e(o,A);return this._inputEvents[f]};kw.prototype.removeInputAction=function(o,A){let f=I1e(o,A);delete this._inputEvents[f]};kw.prototype.isDestroyed=function(){return!1};kw.prototype.destroy=function(){return WCi(this),Ar(this)};kw.mouseEmulationIgnoreMilliseconds=800;kw.touchHoldDelayMilliseconds=1500;var cr=kw;function V3(o){this._scene=o,this._currentTweens=[],this._morphHandler=void 0,this._morphCancelled=!1,this._completeMorph=void 0,this._morphToOrthographic=!1}V3.prototype.completeMorph=function(){O(this._completeMorph)&&this._completeMorph()};V3.prototype.morphTo2D=function(o,A){O(this._completeMorph)&&this._completeMorph();let f=this._scene;this._previousMode=f.mode,this._morphToOrthographic=f.camera.frustum instanceof us,!(this._previousMode===ni.SCENE2D||this._previousMode===ni.MORPHING)&&(this._scene.morphStart.raiseEvent(this,this._previousMode,ni.SCENE2D,!0),f._mode=ni.MORPHING,f.camera._setTransform(Re.IDENTITY),this._previousMode===ni.COLUMBUS_VIEW?PEi(this,o):UEi(this,o,A),o===0&&O(this._completeMorph)&&this._completeMorph())};var tEi=new Z,iEi=new Z,rEi=new Z,nEi=new Z,oEi=new Z,aEi=new Z,sEi=new Z,lEi=new Rt,uEi=new Re,AEi=new fu,cEi=new us,hEi={position:void 0,direction:void 0,up:void 0,position2D:void 0,direction2D:void 0,up2D:void 0,frustum:void 0};V3.prototype.morphToColumbusView=function(o,A){O(this._completeMorph)&&this._completeMorph();let f=this._scene;if(this._previousMode=f.mode,this._previousMode===ni.COLUMBUS_VIEW||this._previousMode===ni.MORPHING)return;this._scene.morphStart.raiseEvent(this,this._previousMode,ni.COLUMBUS_VIEW,!0),f.camera._setTransform(Re.IDENTITY);let m=tEi,C=iEi,E=rEi;if(o>0)m.x=0,m.y=-1,m.z=1,m=Z.multiplyByScalar(Z.normalize(m,m),5*A.maximumRadius,m),Z.negate(Z.normalize(m,C),C),Z.cross(Z.UNIT_X,C,E);else{let v=f.camera;if(this._previousMode===ni.SCENE2D)Z.clone(v.position,m),m.z=v.frustum.right-v.frustum.left,Z.negate(Z.UNIT_Z,C),Z.clone(Z.UNIT_Y,E);else{Z.clone(v.positionWC,m),Z.clone(v.directionWC,C),Z.clone(v.upWC,E);let B=A.scaleToGeodeticSurface(m,sEi),Q=kr.eastNorthUpToFixedFrame(B,A,uEi);Re.inverseTransformation(Q,Q),f.mapProjection.project(A.cartesianToCartographic(m,lEi),m),Re.multiplyByPointAsVector(Q,C,C),Re.multiplyByPointAsVector(Q,E,E)}}let x;this._morphToOrthographic?(x=cEi,x.width=f.camera.frustum.right-f.camera.frustum.left,x.aspectRatio=f.drawingBufferWidth/f.drawingBufferHeight):(x=AEi,x.aspectRatio=f.drawingBufferWidth/f.drawingBufferHeight,x.fov=Be.toRadians(60));let y=hEi;y.position=m,y.direction=C,y.up=E,y.frustum=x;let I=HEi(y);BJ(this,I),this._previousMode===ni.SCENE2D?GEi(this,o,y,I):(y.position2D=Re.multiplyByPoint(Ls.TRANSFORM_2D,m,nEi),y.direction2D=Re.multiplyByPointAsVector(Ls.TRANSFORM_2D,C,oEi),y.up2D=Re.multiplyByPointAsVector(Ls.TRANSFORM_2D,E,aEi),f._mode=ni.MORPHING,btt(this,o,y,I)),o===0&&O(this._completeMorph)&&this._completeMorph()};var B1e={position:new Z,direction:new Z,up:new Z,frustum:void 0},Ctt=new fu;V3.prototype.morphTo3D=function(o,A){O(this._completeMorph)&&this._completeMorph();let f=this._scene;if(this._previousMode=f.mode,!(this._previousMode===ni.SCENE3D||this._previousMode===ni.MORPHING)){if(this._scene.morphStart.raiseEvent(this,this._previousMode,ni.SCENE3D,!0),f._mode=ni.MORPHING,f.camera._setTransform(Re.IDENTITY),this._previousMode===ni.SCENE2D)_Ei(this,o,A);else{let m;o>0?(m=B1e,Z.fromDegrees(0,0,5*A.maximumRadius,A,m.position),Z.negate(m.position,m.direction),Z.normalize(m.direction,m.direction),Z.clone(Z.UNIT_Z,m.up)):m=Ett(this,A);let C,E=f.camera;E.frustum instanceof us?C=E.frustum.clone():(C=Ctt,C.aspectRatio=f.drawingBufferWidth/f.drawingBufferHeight,C.fov=Be.toRadians(60)),m.frustum=C;let x=Stt(m);BJ(this,x),kge(this,o,m,x)}o===0&&O(this._completeMorph)&&this._completeMorph()}};V3.prototype.isDestroyed=function(){return!1};V3.prototype.destroy=function(){return vne(this),Ar(this)};function BJ(o,A){if(o._scene.completeMorphOnUserInput){o._morphHandler=new cr(o._scene.canvas);let f=function(){o._morphCancelled=!0,o._scene.camera.cancelFlight(),A(o)};o._completeMorph=f,o._morphHandler.setInputAction(f,si.LEFT_DOWN),o._morphHandler.setInputAction(f,si.MIDDLE_DOWN),o._morphHandler.setInputAction(f,si.RIGHT_DOWN),o._morphHandler.setInputAction(f,si.WHEEL)}}function vne(o){let A=o._currentTweens;for(let f=0;f<A.length;++f)A[f].cancelTween();o._currentTweens.length=0,o._morphHandler=o._morphHandler&&o._morphHandler.destroy()}var dEi=new Rt,fEi=new Z,gEi=new Re;function Ett(o,A){let f=o._scene,m=f.camera,C=B1e,E=C.position,x=C.direction,y=C.up,I=f.mapProjection.unproject(m.position,dEi);A.cartographicToCartesian(I,E);let v=A.scaleToGeodeticSurface(E,fEi),B=kr.eastNorthUpToFixedFrame(v,A,gEi);return Re.multiplyByPointAsVector(B,m.direction,x),Re.multiplyByPointAsVector(B,m.up,y),C}var pEi=new Z,mEi=new Z,CEi=new Z,EEi=new Z,xEi=new Z,yEi=new Z;function kge(o,A,f,m){A*=.5;let C=o._scene,E=C.camera,x=Z.clone(E.position,pEi),y=Z.clone(E.direction,mEi),I=Z.clone(E.up,CEi),v=Re.multiplyByPoint(Ls.TRANSFORM_2D_INVERSE,f.position,EEi),B=Re.multiplyByPointAsVector(Ls.TRANSFORM_2D_INVERSE,f.direction,xEi),Q=Re.multiplyByPointAsVector(Ls.TRANSFORM_2D_INVERSE,f.up,yEi);function T(S){Y_(x,v,S.time,E.position),Y_(y,B,S.time,E.direction),Y_(I,Q,S.time,E.up),Z.cross(E.direction,E.up,E.right),Z.normalize(E.right,E.right)}let w=C.tweens.add({duration:A,easingFunction:dC.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:T,complete:function(){Qtt(o,C,0,1,A,m)}});o._currentTweens.push(w)}var IEi=new us,xtt=new Z,ytt=new Z,Itt=new Z,w1e=new Z,_tt=new Z,vtt=new Z;function _Ei(o,A,f){A/=3;let m=o._scene,C=m.camera,E;A>0?(E=B1e,Z.fromDegrees(0,0,5*f.maximumRadius,f,E.position),Z.negate(E.position,E.direction),Z.normalize(E.direction,E.direction),Z.clone(Z.UNIT_Z,E.up)):(C.position.z=C.frustum.right-C.frustum.left,E=Ett(o,f));let x;o._morphToOrthographic?(x=IEi,x.aspectRatio=m.drawingBufferWidth/m.drawingBufferHeight,x.width=C.frustum.right-C.frustum.left):(x=Ctt,x.aspectRatio=m.drawingBufferWidth/m.drawingBufferHeight,x.fov=Be.toRadians(60)),E.frustum=x;let y=Stt(E);BJ(o,y);let I;o._morphToOrthographic?I=function(){kge(o,A,E,y)}:I=function(){wtt(o,A,E,function(){kge(o,A,E,y)})},A>0?(m._mode=ni.SCENE2D,C.flyTo({duration:A,destination:Z.fromDegrees(0,0,5*f.maximumRadius,f,w1e),complete:function(){m._mode=ni.MORPHING,I()}})):I()}function Y_(o,A,f,m){return Z.lerp(o,A,f,m)}function Btt(o,A,f,m,C){let E=o._scene,x=E.camera;if(x.frustum instanceof us)return;let y=x.frustum.fov,I=Be.RADIANS_PER_DEGREE*.5,v=f.position.z*Math.tan(y*.5);x.frustum.far=v/Math.tan(I*.5)+1e7;function B(T){x.frustum.fov=Be.lerp(y,I,T.time);let w=v/Math.tan(x.frustum.fov*.5);m(x,w)}let Q=E.tweens.add({duration:A,easingFunction:dC.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:B,complete:function(){x.frustum=f.frustum.clone(),C(o)}});o._currentTweens.push(Q)}var vEi=new Z,BEi=new Z,wEi=new Z,qhe=new Z,bEi=new Z,QEi=new Z,SEi=new Xf,DEi=new Ua,TEi=new Z,MEi={position:void 0,direction:void 0,up:void 0,frustum:void 0};function PEi(o,A){A*=.5;let f=o._scene,m=f.camera,C=Z.clone(m.position,vEi),E=Z.clone(m.direction,BEi),x=Z.clone(m.up,wEi),y=Z.negate(Z.UNIT_Z,bEi),I=Z.clone(Z.UNIT_Y,QEi),v=qhe;if(A>0)Z.clone(Z.ZERO,qhe),v.z=5*f.mapProjection.ellipsoid.maximumRadius;else{Z.clone(C,qhe);let R=DEi;Re.multiplyByPoint(Ls.TRANSFORM_2D,C,R.origin),Re.multiplyByPointAsVector(Ls.TRANSFORM_2D,E,R.direction);let P=f.globe;if(O(P)){let M=P.pickWorldCoordinates(R,f,!0,TEi);O(M)&&(Re.multiplyByPoint(Ls.TRANSFORM_2D_INVERSE,M,v),v.z+=Z.distance(C,v))}}let B=SEi;B.right=v.z*.5,B.left=-B.right,B.top=B.right*(f.drawingBufferHeight/f.drawingBufferWidth),B.bottom=-B.top;let Q=MEi;Q.position=v,Q.direction=y,Q.up=I,Q.frustum=B;let T=Dtt(Q);BJ(o,T);function w(R){Y_(C,v,R.time,m.position),Y_(E,y,R.time,m.direction),Y_(x,I,R.time,m.up),Z.cross(m.direction,m.up,m.right),Z.normalize(m.right,m.right),m._adjustOrthographicFrustum(!0)}function S(R,P){R.position.z=P}let D=f.tweens.add({duration:A,easingFunction:dC.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:w,complete:function(){Btt(o,A,Q,S,T)}});o._currentTweens.push(D)}var FGe=new Rt,REi={position:new Z,direction:new Z,up:new Z,position2D:new Z,direction2D:new Z,up2D:new Z,frustum:new Xf},LEi={position:new Z,direction:new Z,up:new Z,frustum:void 0},FEi=new Z,NEi=new Ua,kEi=new Re,OEi=new Z;function UEi(o,A,f){A*=.5;let m=o._scene,C=m.camera,E=REi;if(A>0)Z.clone(Z.ZERO,E.position),E.position.z=5*f.maximumRadius,Z.negate(Z.UNIT_Z,E.direction),Z.clone(Z.UNIT_Y,E.up);else{f.cartesianToCartographic(C.positionWC,FGe),m.mapProjection.project(FGe,E.position),Z.negate(Z.UNIT_Z,E.direction),Z.clone(Z.UNIT_Y,E.up);let Q=NEi;Z.clone(E.position2D,Q.origin);let T=Z.clone(C.directionWC,Q.direction),w=f.scaleToGeodeticSurface(C.positionWC,OEi),S=kr.eastNorthUpToFixedFrame(w,f,kEi);Re.inverseTransformation(S,S),Re.multiplyByPointAsVector(S,T,T),Re.multiplyByPointAsVector(Ls.TRANSFORM_2D,T,T);let D=m.globe;if(O(D)){let R=D.pickWorldCoordinates(Q,m,!0,FEi);if(O(R)){let P=Z.distance(E.position2D,R);R.x+=P,Z.clone(R,E.position2D)}}}function x(Q,T){Q.position.x=T}Re.multiplyByPoint(Ls.TRANSFORM_2D,E.position,E.position2D),Re.multiplyByPointAsVector(Ls.TRANSFORM_2D,E.direction,E.direction2D),Re.multiplyByPointAsVector(Ls.TRANSFORM_2D,E.up,E.up2D);let y=E.frustum;y.right=E.position.z*.5,y.left=-y.right,y.top=y.right*(m.drawingBufferHeight/m.drawingBufferWidth),y.bottom=-y.top;let I=LEi;Re.multiplyByPoint(Ls.TRANSFORM_2D_INVERSE,E.position2D,I.position),Z.clone(E.direction,I.direction),Z.clone(E.up,I.up),I.frustum=y;let v=Dtt(I);BJ(o,v);function B(){Btt(o,A,E,x,v)}btt(o,A,E,B)}function wtt(o,A,f,m){let C=o._scene,E=C.camera,x=E.frustum.right-E.frustum.left;E.frustum=f.frustum.clone();let y=E.frustum.fov,I=Be.RADIANS_PER_DEGREE*.5,v=x*Math.tan(y*.5);E.frustum.far=v/Math.tan(I*.5)+1e7,E.frustum.fov=I;function B(T){E.frustum.fov=Be.lerp(I,y,T.time),E.position.z=v/Math.tan(E.frustum.fov*.5)}let Q=C.tweens.add({duration:A,easingFunction:dC.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:B,complete:function(){m(o)}});o._currentTweens.push(Q)}function GEi(o,A,f,m){A*=.5;let C=o._scene,E=C.camera,x=Z.clone(f.position,w1e),y=Z.clone(f.direction,_tt),I=Z.clone(f.up,vtt);C._mode=ni.MORPHING;function v(){E.frustum=f.frustum.clone();let B=Z.clone(E.position,xtt),Q=Z.clone(E.direction,ytt),T=Z.clone(E.up,Itt);B.z=x.z;function w(D){Y_(B,x,D.time,E.position),Y_(Q,y,D.time,E.direction),Y_(T,I,D.time,E.up),Z.cross(E.direction,E.up,E.right),Z.normalize(E.right,E.right)}let S=C.tweens.add({duration:A,easingFunction:dC.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:w,complete:function(){m(o)}});o._currentTweens.push(S)}o._morphToOrthographic?v():wtt(o,0,f,v)}function btt(o,A,f,m){let C=o._scene,E=C.camera,x=Z.clone(E.position,xtt),y=Z.clone(E.direction,ytt),I=Z.clone(E.up,Itt),v=Z.clone(f.position2D,w1e),B=Z.clone(f.direction2D,_tt),Q=Z.clone(f.up2D,vtt);function T(S){Y_(x,v,S.time,E.position),Y_(y,B,S.time,E.direction),Y_(I,Q,S.time,E.up),Z.cross(E.direction,E.up,E.right),Z.normalize(E.right,E.right),E._adjustOrthographicFrustum(!0)}let w=C.tweens.add({duration:A,easingFunction:dC.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:T,complete:function(){Qtt(o,C,1,0,A,m)}});o._currentTweens.push(w)}function Qtt(o,A,f,m,C,E){let x={object:A,property:"morphTime",startValue:f,stopValue:m,duration:C,easingFunction:dC.QUARTIC_OUT};O(E)&&(x.complete=function(){E(o)});let y=A.tweens.addProperty(x);o._currentTweens.push(y)}function Stt(o){return function(A){let f=A._scene;f._mode=ni.SCENE3D,f.morphTime=ni.getMorphTime(ni.SCENE3D),vne(A);let m=f.camera;(A._previousMode!==ni.MORPHING||A._morphCancelled)&&(A._morphCancelled=!1,Z.clone(o.position,m.position),Z.clone(o.direction,m.direction),Z.clone(o.up,m.up),Z.cross(m.direction,m.up,m.right),Z.normalize(m.right,m.right),m.frustum=o.frustum.clone());let C=m.frustum;f.frameState.useLogDepth&&(C.near=.1,C.far=1e10);let E=O(A._completeMorph);A._completeMorph=void 0,f.camera.update(f.mode),A._scene.morphComplete.raiseEvent(A,A._previousMode,ni.SCENE3D,E)}}function Dtt(o){return function(A){let f=A._scene;f._mode=ni.SCENE2D,f.morphTime=ni.getMorphTime(ni.SCENE2D),vne(A);let m=f.camera;Z.clone(o.position,m.position),m.position.z=f.mapProjection.ellipsoid.maximumRadius*2,Z.clone(o.direction,m.direction),Z.clone(o.up,m.up),Z.cross(m.direction,m.up,m.right),Z.normalize(m.right,m.right),m.frustum=o.frustum.clone();let C=O(A._completeMorph);A._completeMorph=void 0,f.camera.update(f.mode),A._scene.morphComplete.raiseEvent(A,A._previousMode,ni.SCENE2D,C)}}function HEi(o){return function(A){let f=A._scene;f._mode=ni.COLUMBUS_VIEW,f.morphTime=ni.getMorphTime(ni.COLUMBUS_VIEW),vne(A);let m=f.camera;(A._previousModeMode!==ni.MORPHING||A._morphCancelled)&&(A._morphCancelled=!1,Z.clone(o.position,m.position),Z.clone(o.direction,m.direction),Z.clone(o.up,m.up),Z.cross(m.direction,m.up,m.right),Z.normalize(m.right,m.right));let C=m.frustum;f.frameState.useLogDepth&&(C.near=.1,C.far=1e10);let E=O(A._completeMorph);A._completeMorph=void 0,f.camera.update(f.mode),A._scene.morphComplete.raiseEvent(A,A._previousMode,ni.COLUMBUS_VIEW,E)}}var b1e=V3,VEi={LEFT_DRAG:0,RIGHT_DRAG:1,MIDDLE_DRAG:2,WHEEL:3,PINCH:4},Vu=Object.freeze(VEi);function sC(o,A){let f=o;return O(A)&&(f+=`+${A}`),f}function zEi(o,A){rt.clone(o.distance.startPosition,A.distance.startPosition),rt.clone(o.distance.endPosition,A.distance.endPosition),rt.clone(o.angleAndHeight.startPosition,A.angleAndHeight.startPosition),rt.clone(o.angleAndHeight.endPosition,A.angleAndHeight.endPosition)}function NGe(o,A,f){let m=sC(Vu.PINCH,A),C=o._update,E=o._isDown,x=o._eventStartPosition,y=o._pressTime,I=o._releaseTime;C[m]=!0,E[m]=!1,x[m]=new rt;let v=o._movement[m];O(v)||(v=o._movement[m]={}),v.distance={startPosition:new rt,endPosition:new rt},v.angleAndHeight={startPosition:new rt,endPosition:new rt},v.prevAngle=0,o._eventHandler.setInputAction(function(B){o._buttonsDown++,E[m]=!0,y[m]=new Date,rt.lerp(B.position1,B.position2,.5,x[m])},si.PINCH_START,A),o._eventHandler.setInputAction(function(){o._buttonsDown=Math.max(o._buttonsDown-1,0),E[m]=!1,I[m]=new Date},si.PINCH_END,A),o._eventHandler.setInputAction(function(B){if(E[m]){C[m]?(zEi(B,v),C[m]=!1,v.prevAngle=v.angleAndHeight.startPosition.x):(rt.clone(B.distance.endPosition,v.distance.endPosition),rt.clone(B.angleAndHeight.endPosition,v.angleAndHeight.endPosition));let Q=v.angleAndHeight.endPosition.x,T=v.prevAngle,w=Math.PI*2;for(;Q>=T+Math.PI;)Q-=w;for(;Q<T-Math.PI;)Q+=w;v.angleAndHeight.endPosition.x=-Q*f.clientWidth/12,v.angleAndHeight.startPosition.x=-T*f.clientWidth/12}},si.PINCH_MOVE,A)}function kGe(o,A){let f=sC(Vu.WHEEL,A),m=o._pressTime,C=o._releaseTime,E=o._update;E[f]=!0;let x=o._movement[f];O(x)||(x=o._movement[f]={});let y=o._lastMovement[f];O(y)||(y=o._lastMovement[f]={startPosition:new rt,endPosition:new rt,valid:!1}),x.startPosition=new rt,rt.clone(rt.ZERO,x.startPosition),x.endPosition=new rt,o._eventHandler.setInputAction(function(I){let v=7.5*Be.toRadians(I);m[f]=C[f]=new Date,x.endPosition.x=0,x.endPosition.y=v,rt.clone(x.endPosition,y.endPosition),y.valid=!0,E[f]=!1},si.WHEEL,A)}function FU(o,A,f){let m=sC(f,A),C=o._isDown,E=o._eventStartPosition,x=o._pressTime,y=o._releaseTime;C[m]=!1,E[m]=new rt;let I=o._lastMovement[m];O(I)||(I=o._lastMovement[m]={startPosition:new rt,endPosition:new rt,valid:!1});let v,B;f===Vu.LEFT_DRAG?(v=si.LEFT_DOWN,B=si.LEFT_UP):f===Vu.RIGHT_DRAG?(v=si.RIGHT_DOWN,B=si.RIGHT_UP):f===Vu.MIDDLE_DRAG&&(v=si.MIDDLE_DOWN,B=si.MIDDLE_UP),o._eventHandler.setInputAction(function(Q){o._buttonsDown++,I.valid=!1,C[m]=!0,x[m]=new Date,rt.clone(Q.position,E[m])},v,A),o._eventHandler.setInputAction(function(){o._buttonsDown=Math.max(o._buttonsDown-1,0),C[m]=!1,y[m]=new Date},B,A)}function OGe(o,A){rt.clone(o.startPosition,A.startPosition),rt.clone(o.endPosition,A.endPosition)}function UGe(o,A){let f=o._update,m=o._movement,C=o._lastMovement,E=o._isDown;for(let x in Vu)if(Vu.hasOwnProperty(x)){let y=Vu[x];if(O(y)){let I=sC(y,A);f[I]=!0,O(o._lastMovement[I])||(o._lastMovement[I]={startPosition:new rt,endPosition:new rt,valid:!1}),O(o._movement[I])||(o._movement[I]={startPosition:new rt,endPosition:new rt})}}o._eventHandler.setInputAction(function(x){for(let y in Vu)if(Vu.hasOwnProperty(y)){let I=Vu[y];if(O(I)){let v=sC(I,A);E[v]&&(f[v]?(OGe(m[v],C[v]),C[v].valid=!0,OGe(x,m[v]),f[v]=!1):rt.clone(x.endPosition,m[v].endPosition))}}rt.clone(x.endPosition,o._currentMousePosition)},si.MOUSE_MOVE,A)}function yv(o){this._eventHandler=new cr(o),this._update={},this._movement={},this._lastMovement={},this._isDown={},this._eventStartPosition={},this._pressTime={},this._releaseTime={},this._buttonsDown=0,this._currentMousePosition=new rt,kGe(this,void 0),NGe(this,void 0,o),FU(this,void 0,Vu.LEFT_DRAG),FU(this,void 0,Vu.RIGHT_DRAG),FU(this,void 0,Vu.MIDDLE_DRAG),UGe(this,void 0);for(let A in Sx)if(Sx.hasOwnProperty(A)){let f=Sx[A];O(f)&&(kGe(this,f),NGe(this,f,o),FU(this,f,Vu.LEFT_DRAG),FU(this,f,Vu.RIGHT_DRAG),FU(this,f,Vu.MIDDLE_DRAG),UGe(this,f))}}Object.defineProperties(yv.prototype,{currentMousePosition:{get:function(){return this._currentMousePosition}},anyButtonDown:{get:function(){let o=!this._update[sC(Vu.WHEEL)]||!this._update[sC(Vu.WHEEL,Sx.SHIFT)]||!this._update[sC(Vu.WHEEL,Sx.CTRL)]||!this._update[sC(Vu.WHEEL,Sx.ALT)];return this._buttonsDown>0||o}}});yv.prototype.isMoving=function(o,A){let f=sC(o,A);return!this._update[f]};yv.prototype.getMovement=function(o,A){let f=sC(o,A);return this._movement[f]};yv.prototype.getLastMovement=function(o,A){let f=sC(o,A),m=this._lastMovement[f];if(m.valid)return m};yv.prototype.isButtonDown=function(o,A){let f=sC(o,A);return this._isDown[f]};yv.prototype.getStartMousePosition=function(o,A){if(o===Vu.WHEEL)return this._currentMousePosition;let f=sC(o,A);return this._eventStartPosition[f]};yv.prototype.getButtonPressTime=function(o,A){let f=sC(o,A);return this._pressTime[f]};yv.prototype.getButtonReleaseTime=function(o,A){let f=sC(o,A);return this._releaseTime[f]};yv.prototype.reset=function(){for(let o in this._update)this._update.hasOwnProperty(o)&&(this._update[o]=!0)};yv.prototype.isDestroyed=function(){return!1};yv.prototype.destroy=function(){return this._eventHandler=this._eventHandler&&this._eventHandler.destroy(),Ar(this)};var Q1e=yv;function bee(o,A,f,m,C,E,x,y,I,v){this._tweens=o,this._tweenjs=A,this._startObject=Sn(f),this._stopObject=Sn(m),this._duration=C,this._delay=E,this._easingFunction=x,this._update=y,this._complete=I,this.cancel=v,this.needsStart=!0}Object.defineProperties(bee.prototype,{startObject:{get:function(){return this._startObject}},stopObject:{get:function(){return this._stopObject}},duration:{get:function(){return this._duration}},delay:{get:function(){return this._delay}},easingFunction:{get:function(){return this._easingFunction}},update:{get:function(){return this._update}},complete:{get:function(){return this._complete}},tweenjs:{get:function(){return this._tweenjs}}});bee.prototype.cancelTween=function(){this._tweens.remove(this)};function Ow(){this._tweens=[]}Object.defineProperties(Ow.prototype,{length:{get:function(){return this._tweens.length}}});Ow.prototype.add=function(o){if(o=oe(o,oe.EMPTY_OBJECT),o.duration===0)return O(o.complete)&&o.complete(),new bee(this);let A=o.duration/lu.SECONDS_PER_MILLISECOND,f=oe(o.delay,0),m=f/lu.SECONDS_PER_MILLISECOND,C=oe(o.easingFunction,dC.LINEAR_NONE),E=o.startObject,x=new ZOt(E);x.to(Sn(o.stopObject),A),x.delay(m),x.easing(C),O(o.update)&&x.onUpdate(function(){o.update(E)}),x.onComplete(oe(o.complete,null)),x.repeat(oe(o._repeat,0));let y=new bee(this,x,o.startObject,o.stopObject,o.duration,f,C,o.update,o.complete,o.cancel);return this._tweens.push(y),y};Ow.prototype.addProperty=function(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.object,f=o.property,m=o.startValue,C=o.stopValue;function E(x){A[f]=x.value}return this.add({startObject:{value:m},stopObject:{value:C},duration:oe(o.duration,3),delay:o.delay,easingFunction:o.easingFunction,update:E,complete:o.complete,cancel:o.cancel,_repeat:o._repeat})};Ow.prototype.addAlpha=function(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.material,f=[];for(let C in A.uniforms)A.uniforms.hasOwnProperty(C)&&O(A.uniforms[C])&&O(A.uniforms[C].alpha)&&f.push(C);function m(C){let E=f.length;for(let x=0;x<E;++x)A.uniforms[f[x]].alpha=C.alpha}return this.add({startObject:{alpha:oe(o.startValue,0)},stopObject:{alpha:oe(o.stopValue,1)},duration:oe(o.duration,3),delay:o.delay,easingFunction:o.easingFunction,update:m,complete:o.complete,cancel:o.cancel})};Ow.prototype.addOffsetIncrement=function(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.material.uniforms;return this.addProperty({object:A,property:"offset",startValue:A.offset,stopValue:A.offset+1,duration:o.duration,delay:o.delay,easingFunction:o.easingFunction,update:o.update,cancel:o.cancel,_repeat:1/0})};Ow.prototype.remove=function(o){if(!O(o))return!1;let A=this._tweens.indexOf(o);return A!==-1?(o.tweenjs.stop(),O(o.cancel)&&o.cancel(),this._tweens.splice(A,1),!0):!1};Ow.prototype.removeAll=function(){let o=this._tweens;for(let A=0;A<o.length;++A){let f=o[A];f.tweenjs.stop(),O(f.cancel)&&f.cancel()}o.length=0};Ow.prototype.contains=function(o){return O(o)&&this._tweens.indexOf(o)!==-1};Ow.prototype.get=function(o){return this._tweens[o]};Ow.prototype.update=function(o){let A=this._tweens,f=0;for(o=O(o)?o/lu.SECONDS_PER_MILLISECOND:oA();f<A.length;){let m=A[f],C=m.tweenjs;m.needsStart?(m.needsStart=!1,C.start(o)):C.update(o)?f++:(C.stop(),A.splice(f,1))}};var Bne=Ow;function wJ(o){this.enableInputs=!0,this.enableTranslate=!0,this.enableZoom=!0,this.enableRotate=!0,this.enableTilt=!0,this.enableLook=!0,this.inertiaSpin=.9,this.inertiaTranslate=.9,this.inertiaZoom=.8,this.maximumMovementRatio=.1,this.bounceAnimationTime=3,this.minimumZoomDistance=1,this.maximumZoomDistance=Number.POSITIVE_INFINITY,this.translateEventTypes=Vu.LEFT_DRAG,this.zoomEventTypes=[Vu.RIGHT_DRAG,Vu.WHEEL,Vu.PINCH],this.rotateEventTypes=Vu.LEFT_DRAG,this.tiltEventTypes=[Vu.MIDDLE_DRAG,Vu.PINCH,{eventType:Vu.LEFT_DRAG,modifier:Sx.CTRL},{eventType:Vu.RIGHT_DRAG,modifier:Sx.CTRL}],this.lookEventTypes={eventType:Vu.LEFT_DRAG,modifier:Sx.SHIFT},this.minimumPickingTerrainHeight=15e4,this._minimumPickingTerrainHeight=this.minimumPickingTerrainHeight,this.minimumPickingTerrainDistanceWithInertia=4e3,this.minimumCollisionTerrainHeight=15e3,this._minimumCollisionTerrainHeight=this.minimumCollisionTerrainHeight,this.minimumTrackBallHeight=75e5,this._minimumTrackBallHeight=this.minimumTrackBallHeight,this.enableCollisionDetection=!0,this.enableModelCollisionDetection=!1,this.enableGroundRoaming=!1,this.enableModelGroundCollisionDetection=!1,this.defaultGroundRoamingHeight=1.8,this.defaultCollisionRayWidth=.5,this._scene=o,this._globe=void 0,this._ellipsoid=void 0,this._aggregator=new Q1e(o.canvas),this._lastInertiaSpinMovement=void 0,this._lastInertiaZoomMovement=void 0,this._lastInertiaTranslateMovement=void 0,this._lastInertiaTiltMovement=void 0,this._inertiaDisablers={_lastInertiaZoomMovement:["_lastInertiaSpinMovement","_lastInertiaTranslateMovement","_lastInertiaTiltMovement"],_lastInertiaTiltMovement:["_lastInertiaSpinMovement","_lastInertiaTranslateMovement"]},this._tweens=new Bne,this._tween=void 0,this._horizontalRotationAxis=void 0,this._tiltCenterMousePosition=new rt(-1,-1),this._tiltCenter=new Z,this._rotateMousePosition=new rt(-1,-1),this._rotateStartPosition=new Z,this._strafeStartPosition=new Z,this._strafeMousePosition=new rt,this._strafeEndMousePosition=new rt,this._zoomMouseStart=new rt(-1,-1),this._zoomWorldPosition=new Z,this._useZoomWorldPosition=!1,this._panLastMousePosition=new rt,this._panLastWorldPosition=new Z,this._tiltCVOffMap=!1,this._looking=!1,this._rotating=!1,this._strafing=!1,this._zoomingOnVector=!1,this._zoomingUnderground=!1,this._rotatingZoom=!1,this._adjustedHeightForTerrain=!1,this._cameraUnderground=!1;let A=o.mapProjection;this._maxCoord=A.project(new Rt(Math.PI,Be.PI_OVER_TWO)),this._zoomFactor=5,this._rotateFactor=void 0,this._rotateRateRangeAdjustment=void 0,this._maximumRotateRate=1.77,this._minimumRotateRate=1/5e3,this._minimumZoomRate=20,this._maximumZoomRate=5906376272e3,this._minimumUndergroundPickDistance=2e3,this._maximumUndergroundPickDistance=1e4}function YEi(o,A){if(o<0)return 0;let f=(1-A)*25;return Math.exp(-f*o)}function JEi(o){return rt.equalsEpsilon(o.startPosition,o.endPosition,Be.EPSILON14)}var KEi=.4;function WEi(o,A,f,m,C,E,x){let y=E[x];O(y)||(y=E[x]={startPosition:new rt,endPosition:new rt,motion:new rt,inertiaEnabled:!0});let I=o.getButtonPressTime(A,f),v=o.getButtonReleaseTime(A,f),B=I&&v&&(v.getTime()-I.getTime())/1e3,Q=v&&(new Date().getTime()-v.getTime())/1e3;if(I&&v&&B<KEi){let T=YEi(Q,m),w=o.getLastMovement(A,f);if(!O(w)||JEi(w)||!y.inertiaEnabled||(y.motion.x=(w.endPosition.x-w.startPosition.x)*.5,y.motion.y=(w.endPosition.y-w.startPosition.y)*.5,y.startPosition=rt.clone(w.startPosition,y.startPosition),y.endPosition=rt.multiplyByScalar(y.motion,T,y.endPosition),y.endPosition=rt.add(y.startPosition,y.endPosition,y.endPosition),isNaN(y.endPosition.x)||isNaN(y.endPosition.y)||rt.distance(y.startPosition,y.endPosition)<.5))return;if(!o.isButtonDown(A,f)){let S=o.getStartMousePosition(A,f);C(E,S,y)}}}function jEi(o,A){if(O(A)){let f=o[A];O(f)&&(f.inertiaEnabled=!0);let m=o._inertiaDisablers[A];if(O(m)){let C=m.length;for(let E=0;E<C;++E)f=o[m[E]],O(f)&&(f.inertiaEnabled=!1)}}}var GGe=[];function iE(o,A,f,m,C,E){if(!O(f))return;let x=o._aggregator;Array.isArray(f)||(GGe[0]=f,f=GGe);let y=f.length;for(let I=0;I<y;++I){let v=f[I],B=O(v.eventType)?v.eventType:v,Q=v.modifier,T=x.isMoving(B,Q)&&x.getMovement(B,Q),w=x.getStartMousePosition(B,Q);o.enableInputs&&A&&(T?(m(o,w,T),jEi(o,E)):C<1&&WEi(x,B,Q,C,m,o,E))}}var PX=new Ua,qEi=new Z,XEi=new rt,ZEi=new Z,$Ei=new rt,exi=new Z,txi=new Z,ixi=new Z,rxi=new Z,Ttt=new Z,nxi=new Z,oxi=new Z,axi=new Z,sxi=new Z,lxi=new Z,uxi=new Z,Axi=new Z,cxi=new Z,hxi=new Z,dxi=new Z,DF=new Z,HGe=new Z,VGe=new Z,Xhe={orientation:new bs};function S1e(o,A,f,m,C,E){let x=1;O(E)&&(x=Be.clamp(Math.abs(E),.25,1));let y=f.endPosition.y-f.startPosition.y,I=y>0?o.minimumZoomDistance*x:0,v=o.maximumZoomDistance,B=C-I,Q=m*B;Q=Be.clamp(Q,o._minimumZoomRate,o._maximumZoomRate);let T=y/o._scene.canvas.clientHeight;T=Math.min(T,o.maximumMovementRatio);let w=Q*T;if(o.enableCollisionDetection||o.minimumZoomDistance===0||!O(o._globe)){if(w>0&&Math.abs(C-I)<1||w<0&&Math.abs(C-v)<1)return;C-w<I?w=C-I-1:C-w>v&&(w=C-v)}let S=o._scene,D=S.camera,R=S.mode,P=Xhe.orientation;if(P.heading=D.heading,P.pitch=D.pitch,P.roll=D.roll,D.frustum instanceof us){Math.abs(w)>0&&(D.zoomIn(w),D._adjustOrthographicFrustum(!0));return}let M=oe(f.inertiaEnabled,rt.equals(A,o._zoomMouseStart)),L=o._zoomingOnVector,F=o._rotatingZoom,k;if(M||(o._zoomMouseStart=rt.clone(A,o._zoomMouseStart),O(o._globe)&&R===ni.SCENE2D?(k=D.getPickRay(A,PX).origin,k=Z.fromElements(k.y,k.z,k.x)):O(o._globe)&&(k=VD(o,A,qEi,!0)),O(k)?(o._useZoomWorldPosition=!0,o._zoomWorldPosition=Z.clone(k,o._zoomWorldPosition)):o._useZoomWorldPosition=!1,L=o._zoomingOnVector=!1,F=o._rotatingZoom=!1,o._zoomingUnderground=o._cameraUnderground),!o._useZoomWorldPosition){D.zoomIn(w);return}let N=R===ni.COLUMBUS_VIEW;if(D.positionCartographic.height<2e6&&(F=!0),!M||F){if(R===ni.SCENE2D){let G=o._zoomWorldPosition,J=D.position;if(!Z.equals(G,J)&&D.positionCartographic.height<o._maxCoord.x*2){let K=D.position.x,X=Z.subtract(G,J,ZEi);Z.normalize(X,X);let q=Z.distance(G,J)*w/(D.getMagnitude()*.5);D.move(X,q*.5),(D.position.x<0&&K>0||D.position.x>0&&K<0)&&(k=D.getPickRay(A,PX).origin,k=Z.fromElements(k.y,k.z,k.x),o._zoomWorldPosition=Z.clone(k,o._zoomWorldPosition))}}else if(R===ni.SCENE3D){let G=Z.normalize(D.position,Ttt);if(o._cameraUnderground||o._zoomingUnderground||D.positionCartographic.height<3e3&&Math.abs(Z.dot(D.direction,G))<.6)N=!0;else{let J=S.canvas,K=$Ei;K.x=J.clientWidth/2,K.y=J.clientHeight/2;let X=VD(o,K,exi,!0);if(!O(X))N=!0;else if(D.positionCartographic.height<1e6)if(Z.dot(D.direction,G)>=-.5)N=!0;else{let q=oxi;Z.clone(D.position,q);let ee=o._zoomWorldPosition,ie=nxi;if(ie=Z.normalize(ee,ie),Z.dot(ie,G)<0)return;let H=dxi,le=lxi;Z.clone(D.direction,le),Z.add(q,Z.multiplyByScalar(le,1e3,DF),H);let ue=uxi,Ae=Axi;Z.subtract(ee,q,ue),Z.normalize(ue,Ae);let he=Z.dot(G,Ae);if(he>=0){o._zoomMouseStart.x=-1;return}let ge=Math.acos(-he),fe=Z.magnitude(q),ae=Z.magnitude(ee),U=fe-w,W=Z.magnitude(ue),Y=Math.asin(Be.clamp(W/ae*Math.sin(ge),-1,1)),z=Math.asin(Be.clamp(U/ae*Math.sin(ge),-1,1)),re=Y-z+ge,se=axi;Z.normalize(q,se);let de=sxi;de=Z.cross(Ae,se,de),de=Z.normalize(de,de),Z.normalize(Z.cross(se,de,DF),le),Z.multiplyByScalar(Z.normalize(H,DF),Z.magnitude(H)-w,H),Z.normalize(q,q),Z.multiplyByScalar(q,U,q);let me=cxi;Z.multiplyByScalar(Z.add(Z.multiplyByScalar(se,Math.cos(re)-1,HGe),Z.multiplyByScalar(le,Math.sin(re),VGe),DF),U,me),Z.add(q,me,q),Z.normalize(H,se),Z.normalize(Z.cross(se,de,DF),le);let Ce=hxi;Z.multiplyByScalar(Z.add(Z.multiplyByScalar(se,Math.cos(re)-1,HGe),Z.multiplyByScalar(le,Math.sin(re),VGe),DF),Z.magnitude(H),Ce),Z.add(H,Ce,H),Z.clone(q,D.position),Z.normalize(Z.subtract(H,q,DF),D.direction),Z.clone(D.direction,D.direction),Z.cross(D.direction,D.up,D.right),Z.cross(D.right,D.direction,D.up),D.setView(Xhe);return}else{let q=Z.normalize(X,txi),ee=Z.normalize(o._zoomWorldPosition,ixi),ie=Z.dot(ee,q);if(ie>0&&ie<1){let H=Be.acosClamped(ie),le=Z.cross(ee,q,rxi),ue=Math.abs(H)>Be.toRadians(20)?D.positionCartographic.height*.75:D.positionCartographic.height-w,Ae=w/ue;D.rotate(le,H*Ae)}}}}o._rotatingZoom=!N}if(!M&&N||L){let G,J=ms.wgs84ToWindowCoordinates(S,o._zoomWorldPosition,XEi);R!==ni.COLUMBUS_VIEW&&rt.equals(A,o._zoomMouseStart)&&O(J)?G=D.getPickRay(J,PX):G=D.getPickRay(A,PX);let K=G.direction;(R===ni.COLUMBUS_VIEW||R===ni.SCENE2D)&&Z.fromElements(K.y,K.z,K.x,K),D.move(K,w),o._zoomingOnVector=!0}else D.zoomIn(w);o._cameraUnderground||D.setView(Xhe)}var fxi=new Ua,gxi=new Ua,pxi=new Z;function mxi(o,A,f){let m=o._scene.camera,C=m.getPickRay(f.startPosition,fxi).origin,E=m.getPickRay(f.endPosition,gxi).origin;C=Z.fromElements(C.y,C.z,C.x,C),E=Z.fromElements(E.y,E.z,E.x,E);let x=Z.subtract(C,E,pxi),y=Z.magnitude(x);y>0&&(Z.normalize(x,x),m.move(x,y))}function zGe(o,A,f){O(f.distance)&&(f=f.distance);let m=o._scene.camera;S1e(o,A,f,o._zoomFactor,m.getMagnitude())}var Cxi=new rt,Exi=new rt;function YGe(o,A,f){if(O(f.angleAndHeight)){xxi(o,A,f.angleAndHeight);return}let m=o._scene,C=m.camera,E=m.canvas,x=E.clientWidth,y=E.clientHeight,I=Cxi;I.x=2/x*f.startPosition.x-1,I.y=2/y*(y-f.startPosition.y)-1,I=rt.normalize(I,I);let v=Exi;v.x=2/x*f.endPosition.x-1,v.y=2/y*(y-f.endPosition.y)-1,v=rt.normalize(v,v);let B=Be.acosClamped(I.x);I.y<0&&(B=Be.TWO_PI-B);let Q=Be.acosClamped(v.x);v.y<0&&(Q=Be.TWO_PI-Q);let T=Q-B;C.twistRight(T)}function xxi(o,A,f){let m=o._rotateFactor*o._rotateRateRangeAdjustment;m>o._maximumRotateRate&&(m=o._maximumRotateRate),m<o._minimumRotateRate&&(m=o._minimumRotateRate);let C=o._scene,E=C.camera,x=C.canvas,y=(f.endPosition.x-f.startPosition.x)/x.clientWidth;y=Math.min(y,o.maximumMovementRatio);let I=m*y*Math.PI*4;E.twistRight(I)}function yxi(o){let A=o._scene.mapMode2D===cw.ROTATE;Re.equals(Re.IDENTITY,o._scene.camera.transform)?(iE(o,o.enableTranslate,o.translateEventTypes,mxi,o.inertiaTranslate,"_lastInertiaTranslateMovement"),iE(o,o.enableZoom,o.zoomEventTypes,zGe,o.inertiaZoom,"_lastInertiaZoomMovement"),A&&iE(o,o.enableRotate,o.tiltEventTypes,YGe,o.inertiaSpin,"_lastInertiaTiltMovement")):(iE(o,o.enableZoom,o.zoomEventTypes,zGe,o.inertiaZoom,"_lastInertiaZoomMovement"),A&&iE(o,o.enableRotate,o.translateEventTypes,YGe,o.inertiaSpin,"_lastInertiaSpinMovement"))}var Mtt=new Ua,JGe=new Z,Ixi=new Z;function VD(o,A,f,m){let C=o._scene,E=o._globe,x=C.camera,y;if(C.pickPositionSupported)if(C.bim&&!m){let w=C.bim.PickWorldPositionSync(A.x,A.y);w[0]===0?y=C.pickPositionWorldCoordinates(A,JGe):y=new Z(w[0],w[1],w[2])}else y=C.pickPositionWorldCoordinates(A,JGe);if(!O(E))return Z.clone(y,f);let I=!o._cameraUnderground,v=x.getPickRay(A,Mtt),B=E.pickWorldCoordinates(v,C,I,Ixi),Q=O(y)?Z.distance(y,x.positionWC):Number.POSITIVE_INFINITY,T=O(B)?Z.distance(B,x.positionWC):Number.POSITIVE_INFINITY;return Q<T?Z.clone(y,f):Z.clone(B,f)}var _xi=new Rt;function Qee(o){let A=o._ellipsoid,f=o._scene,m=f.camera,C=f.mode,E=0;if(C===ni.SCENE3D){let y=A.cartesianToCartographic(m.position,_xi);O(y)&&(E=y.height)}else E=m.position.z;let x=oe(o._scene.globeHeight,0);return Math.abs(x-E)}var vxi=new Z;function Ptt(o,A){let f=A.origin,m=A.direction,C=Qee(o),E=Z.normalize(f,vxi),x=Math.abs(Z.dot(E,m));return x=Math.max(x,.5)*2,C*x}function Rtt(o,A,f,m){let C=Z.distance(A.origin,f),E=Qee(o),x=Be.clamp(E*5,o._minimumUndergroundPickDistance,o._maximumUndergroundPickDistance);return C>x&&(C=Math.min(C,E/5),C=Math.max(C,100)),Ua.getPoint(A,C,m)}function Ltt(o,A,f,m){let C;return O(f)?(C=Z.distance(A.origin,f),C>o._maximumUndergroundPickDistance&&(C=Qee(o))):C=Qee(o),Ua.getPoint(A,C,m)}var Bxi=new rt;function Ftt(o,A){let f=A.endPosition,m=rt.subtract(A.endPosition,A.startPosition,Bxi),C=o._strafeEndMousePosition;rt.add(C,m,C),A.endPosition=C,D1e(o,A,o._strafeStartPosition),A.endPosition=f}var KGe=new Ua,wxi=new Ua,Zhe=new Z,bxi=new Z,Qxi=new Z,Sxi=new Z,Dxi=new ca(Z.UNIT_X,0),Txi=new rt,Mxi=new rt;function Pxi(o,A,f){if(Z.equals(A,o._translateMousePosition)||(o._looking=!1),Z.equals(A,o._strafeMousePosition)||(o._strafing=!1),o._looking){AI(o,A,f);return}if(o._strafing){Ftt(o,f);return}let m=o._scene.camera,C=o._cameraUnderground,E=rt.clone(f.startPosition,Txi),x=rt.clone(f.endPosition,Mxi),y=m.getPickRay(E,KGe),I=Z.clone(Z.ZERO,Sxi),v=Z.UNIT_X,B;if(m.position.z<o._minimumPickingTerrainHeight&&(B=VD(o,E,Zhe),O(B)&&(I.x=B.x)),C||I.x>m.position.z&&O(B)){let M=B;C&&(M=Ltt(o,y,B,Zhe)),rt.clone(A,o._strafeMousePosition),rt.clone(A,o._strafeEndMousePosition),Z.clone(M,o._strafeStartPosition),o._strafing=!0,D1e(o,f,o._strafeStartPosition);return}let Q=ca.fromPointNormal(I,v,Dxi);y=m.getPickRay(E,KGe);let T=Sc.rayPlane(y,Q,Zhe),w=m.getPickRay(x,wxi),S=Sc.rayPlane(w,Q,bxi);if(!O(T)||!O(S)){o._looking=!0,AI(o,A,f),rt.clone(A,o._translateMousePosition);return}let D=Z.subtract(T,S,Qxi),R=D.x;D.x=D.y,D.y=D.z,D.z=R;let P=Z.magnitude(D);P>Be.EPSILON6&&(Z.normalize(D,D),m.move(D,P))}var Ntt=new rt,zZ=new Ua,YZ=new Z,Rxi=new Z,ktt=new Re,Lxi=new Re,Fxi=new Z,Nxi=new ca(Z.UNIT_X,0),$he=new Z,Oge=new Rt,Ott=new Re,kxi=new fr,Oxi=new Gt,JZ=new Z;function Uxi(o,A,f){if(O(f.angleAndHeight)&&(f=f.angleAndHeight),rt.equals(A,o._tiltCenterMousePosition)||(o._tiltCVOffMap=!1,o._looking=!1),o._looking){AI(o,A,f);return}let m=o._scene.camera;o._tiltCVOffMap||!o.onMap()||Math.abs(m.position.z)>o._minimumPickingTerrainHeight?(o._tiltCVOffMap=!0,Gxi(o,A,f)):Hxi(o,A,f)}function Gxi(o,A,f){let m=o._scene,C=m.camera,E=m.canvas,x=Ntt;x.x=E.clientWidth/2,x.y=E.clientHeight/2;let y=C.getPickRay(x,zZ),I=Z.UNIT_X,v=y.origin,B=y.direction,Q,T=Z.dot(I,B);if(Math.abs(T)>Be.EPSILON6&&(Q=-Z.dot(I,v)/T),!O(Q)||Q<=0){o._looking=!0,AI(o,A,f),rt.clone(A,o._tiltCenterMousePosition);return}let w=Z.multiplyByScalar(B,Q,YZ);Z.add(v,w,w);let S=m.mapProjection,D=S.ellipsoid;Z.fromElements(w.y,w.z,w.x,w);let R=S.unproject(w,Oge);D.cartographicToCartesian(R,w);let P=kr.eastNorthUpToFixedFrame(w,D,ktt),M=o._globe,L=o._ellipsoid;o._globe=void 0,o._ellipsoid=Ci.UNIT_SPHERE,o._rotateFactor=1,o._rotateRateRangeAdjustment=1;let F=Re.clone(C.transform,Ott);C._setTransform(P),uI(o,A,f,Z.UNIT_Z),C._setTransform(F),o._globe=M,o._ellipsoid=L;let k=L.maximumRadius;o._rotateFactor=1/k,o._rotateRateRangeAdjustment=k}function Hxi(o,A,f){let m=o._scene,C=m.camera,E=o._cameraUnderground,x,y,I=Z.UNIT_X;if(rt.equals(A,o._tiltCenterMousePosition))x=Z.clone(o._tiltCenter,YZ);else{if(C.position.z<o._minimumPickingTerrainHeight&&(x=VD(o,A,YZ)),!O(x)){y=C.getPickRay(A,zZ);let q=y.origin,ee=y.direction,ie,H=Z.dot(I,ee);if(Math.abs(H)>Be.EPSILON6&&(ie=-Z.dot(I,q)/H),!O(ie)||ie<=0){o._looking=!0,AI(o,A,f),rt.clone(A,o._tiltCenterMousePosition);return}x=Z.multiplyByScalar(ee,ie,YZ),Z.add(q,x,x)}E&&(O(y)||(y=C.getPickRay(A,zZ)),Rtt(o,y,x,x)),rt.clone(A,o._tiltCenterMousePosition),Z.clone(x,o._tiltCenter)}let v=m.canvas,B=Ntt;B.x=v.clientWidth/2,B.y=o._tiltCenterMousePosition.y,y=C.getPickRay(B,zZ);let Q=Z.clone(Z.ZERO,Fxi);Q.x=x.x;let T=ca.fromPointNormal(Q,I,Nxi),w=Sc.rayPlane(y,T,Rxi),S=C._projection,D=S.ellipsoid;Z.fromElements(x.y,x.z,x.x,x);let R=S.unproject(x,Oge);D.cartographicToCartesian(R,x);let P=kr.eastNorthUpToFixedFrame(x,D,ktt),M;O(w)?(Z.fromElements(w.y,w.z,w.x,w),R=S.unproject(w,Oge),D.cartographicToCartesian(R,w),M=kr.eastNorthUpToFixedFrame(w,D,Lxi)):M=P;let L=o._globe,F=o._ellipsoid;o._globe=void 0,o._ellipsoid=Ci.UNIT_SPHERE,o._rotateFactor=1,o._rotateRateRangeAdjustment=1;let k=Z.UNIT_Z,N=Re.clone(C.transform,Ott);C._setTransform(P);let G=Z.cross(Z.UNIT_Z,Z.normalize(C.position,$he),$he),J=Z.dot(C.right,G);if(uI(o,A,f,k,!1,!0),C._setTransform(M),J<0){let q=f.startPosition.y-f.endPosition.y;(E&&q<0||!E&&q>0)&&(k=void 0);let ee=C.constrainedAxis;C.constrainedAxis=void 0,uI(o,A,f,k,!0,!1),C.constrainedAxis=ee}else uI(o,A,f,k,!0,!1);if(O(C.constrainedAxis)){let q=Z.cross(C.direction,C.constrainedAxis,JZ);Z.equalsEpsilon(q,Z.ZERO,Be.EPSILON6)||(Z.dot(q,C.right)<0&&Z.negate(q,q),Z.cross(q,C.direction,C.up),Z.cross(C.direction,C.up,C.right),Z.normalize(C.up,C.up),Z.normalize(C.right,C.right))}C._setTransform(N),o._globe=L,o._ellipsoid=F;let K=F.maximumRadius;o._rotateFactor=1/K,o._rotateRateRangeAdjustment=K;let X=Z.clone(C.positionWC,$he);if(o.enableCollisionDetection&&P1e(o),!Z.equals(C.positionWC,X)){C._setTransform(M),C.worldToCameraCoordinatesPoint(X,X);let q=Z.magnitudeSquared(X);Z.magnitudeSquared(C.position)>q&&(Z.normalize(C.position,C.position),Z.multiplyByScalar(C.position,Math.sqrt(q),C.position));let ee=Z.angleBetween(X,C.position),ie=Z.cross(X,C.position,X);Z.normalize(ie,ie);let H=fr.fromAxisAngle(ie,ee,kxi),le=Gt.fromQuaternion(H,Oxi);Gt.multiplyByVector(le,C.direction,C.direction),Gt.multiplyByVector(le,C.up,C.up),Z.cross(C.direction,C.up,C.right),Z.cross(C.right,C.direction,C.up),C._setTransform(N)}}var Utt=new rt,Gtt=new Ua,Htt=new Z;function Vxi(o,A,f){O(f.distance)&&(f=f.distance);let m=o._scene,C=m.camera,E=m.canvas,x=o._cameraUnderground,y;x?y=A:(y=Utt,y.x=E.clientWidth/2,y.y=E.clientHeight/2);let I=C.getPickRay(y,Gtt),v=I.origin,B=I.direction,Q=C.position.z,T;Q<o._minimumPickingTerrainHeight&&(T=VD(o,y,Htt));let w;if(O(T)&&(w=Z.distance(v,T)),x){let S=Ptt(o,I,Q);O(w)?w=Math.min(w,S):w=S}if(!O(w)){let S=Z.UNIT_X;w=-Z.dot(S,v)/Z.dot(S,B)}S1e(o,A,f,o._zoomFactor,w)}function zxi(o){let A=o._scene.camera;if(!Re.equals(Re.IDENTITY,A.transform))iE(o,o.enableRotate,o.rotateEventTypes,uI,o.inertiaSpin,"_lastInertiaSpinMovement"),iE(o,o.enableZoom,o.zoomEventTypes,ztt,o.inertiaZoom,"_lastInertiaZoomMovement");else{let f=o._tweens;if(o._aggregator.anyButtonDown&&f.removeAll(),iE(o,o.enableTilt,o.tiltEventTypes,Uxi,o.inertiaSpin,"_lastInertiaTiltMovement"),iE(o,o.enableTranslate,o.translateEventTypes,Pxi,o.inertiaTranslate,"_lastInertiaTranslateMovement"),iE(o,o.enableZoom,o.zoomEventTypes,Vxi,o.inertiaZoom,"_lastInertiaZoomMovement"),iE(o,o.enableLook,o.lookEventTypes,AI),!o._aggregator.anyButtonDown&&!f.contains(o._tween)){let m=A.createCorrectPositionTween(o.bounceAnimationTime);O(m)&&(o._tween=f.add(m))}f.update()}}var Yxi=new Ua,Jxi=new ca(Z.UNIT_X,0),Kxi=new Z,Wxi=new Z;function D1e(o,A,f){let m=o._scene,C=m.camera,E=C.getPickRay(A.endPosition,Yxi),x=Z.clone(C.direction,Wxi);m.mode===ni.COLUMBUS_VIEW&&Z.fromElements(x.z,x.x,x.y,x);let y=ca.fromPointNormal(f,x,Jxi),I=Sc.rayPlane(E,y,Kxi);O(I)&&(x=Z.subtract(f,I,x),m.mode===ni.COLUMBUS_VIEW&&Z.fromElements(x.y,x.z,x.x,x),Z.add(C.position,x,C.position))}var WGe=new Z,Vtt=new Rt,Uge=new Z,Gge=new Ci,jxi=new Z,qxi=new Z,Xxi=new Z;function Zxi(o,A,f){let m=o._scene.camera,C=o._cameraUnderground,E=o._ellipsoid;if(!Re.equals(m.transform,Re.IDENTITY)){uI(o,A,f);return}let x,y,I=E.geodeticSurfaceNormal(m.position,jxi);if(rt.equals(A,o._rotateMousePosition)){if(o._looking)AI(o,A,f,I);else if(o._rotating)uI(o,A,f);else if(o._strafing)Ftt(o,f);else{if(Z.magnitude(m.position)<Z.magnitude(o._rotateStartPosition))return;x=Z.magnitude(o._rotateStartPosition),y=Uge,y.x=y.y=y.z=x,E=Ci.fromCartesian3(y,Gge),tde(o,A,f,E)}return}o._looking=!1,o._rotating=!1,o._strafing=!1;let v=E.cartesianToCartographic(m.positionWC,Vtt).height,B=o._globe;if(O(B)&&v<o._minimumPickingTerrainHeight){let Q=VD(o,f.startPosition,Xxi);if(O(Q)){let T=!1,w=m.getPickRay(f.startPosition,Mtt);if(C)T=!0,Ltt(o,w,Q,Q);else{let S=E.geodeticSurfaceNormal(Q,qxi);Math.abs(Z.dot(w.direction,S))<.05?T=!0:T=Z.magnitude(m.position)<Z.magnitude(Q)}T?(rt.clone(A,o._strafeEndMousePosition),Z.clone(Q,o._strafeStartPosition),o._strafing=!0,D1e(o,f,o._strafeStartPosition)):(x=Z.magnitude(Q),y=Uge,y.x=y.y=y.z=x,E=Ci.fromCartesian3(y,Gge),tde(o,A,f,E),Z.clone(Q,o._rotateStartPosition))}else o._looking=!0,AI(o,A,f,I)}else O(m.pickEllipsoid(f.startPosition,o._ellipsoid,WGe))?(tde(o,A,f,o._ellipsoid),Z.clone(WGe,o._rotateStartPosition)):v>o._minimumTrackBallHeight?(o._rotating=!0,uI(o,A,f)):(o._looking=!0,AI(o,A,f,I));rt.clone(A,o._rotateMousePosition)}function uI(o,A,f,m,C,E){C=oe(C,!1),E=oe(E,!1);let x=o._scene,y=x.camera,I=x.canvas,v=y.constrainedAxis;O(m)&&(y.constrainedAxis=m);let B=Z.magnitude(y.position),Q=o._rotateFactor*(B-o._rotateRateRangeAdjustment);Q>o._maximumRotateRate&&(Q=o._maximumRotateRate),Q<o._minimumRotateRate&&(Q=o._minimumRotateRate);let T=(f.startPosition.x-f.endPosition.x)/I.clientWidth,w=(f.startPosition.y-f.endPosition.y)/I.clientHeight;T=Math.min(T,o.maximumMovementRatio),w=Math.min(w,o.maximumMovementRatio);let S=Q*T*Math.PI*2,D=Q*w*Math.PI;C||y.rotateRight(S),E||y.rotateUp(D),y.constrainedAxis=v}var ede=zt.clone(zt.UNIT_W),jGe=zt.clone(zt.UNIT_W),RX=new Z,NU=new Z,LX=new Z,qGe=new Z,$xi=new rt,eyi=new rt,tyi=new rt,iyi=new rt,ryi=new Ua;function tde(o,A,f,m){let C=o._scene,E=C.camera,x=rt.clone(f.startPosition,$xi),y=rt.clone(f.endPosition,eyi),I=m.cartesianToCartographic(E.positionWC,Vtt).height,v,B;if(!f.inertiaEnabled&&I<o._minimumPickingTerrainHeight&&(v=Z.clone(o._panLastWorldPosition,ede),!O(o._globe)&&!rt.equalsEpsilon(x,o._panLastMousePosition)&&(v=VD(o,x,ede)),!O(o._globe)&&O(v))){let Q=Z.subtract(v,E.positionWC,NU),T=Z.multiplyByScalar(E.directionWC,Z.dot(E.directionWC,Q),NU),w=Z.magnitude(T),S=E.frustum.getPixelDimensions(C.drawingBufferWidth,C.drawingBufferHeight,w,C.pixelRatio,iyi),D=rt.subtract(y,x,tyi),R=Z.multiplyByScalar(E.rightWC,D.x*S.x,NU),P=Z.normalize(E.positionWC,Ttt),M=E.getPickRay(y,ryi).direction,L=Z.subtract(M,Z.projectVector(M,E.rightWC,LX),LX),F=Z.angleBetween(L,E.directionWC),k=1;O(E.frustum.fov)&&(k=Math.max(Math.tan(F),.1));let N=Math.abs(Z.dot(E.directionWC,P)),G=-D.y*S.y*2/Math.sqrt(k)*(1-N),J=Z.multiplyByScalar(M,G,LX);N=Math.abs(Z.dot(E.upWC,P));let K=Z.multiplyByScalar(E.upWC,-D.y*(1-N)*S.y,qGe);B=Z.add(v,R,jGe),B=Z.add(B,J,B),B=Z.add(B,K,B),Z.clone(B,o._panLastWorldPosition),rt.clone(y,o._panLastMousePosition)}if((!O(v)||!O(B))&&(v=E.pickEllipsoid(x,m,ede),B=E.pickEllipsoid(y,m,jGe)),!O(v)||!O(B)){o._rotating=!0,uI(o,A,f);return}if(v=E.worldToCameraCoordinates(v,v),B=E.worldToCameraCoordinates(B,B),O(E.constrainedAxis)){let Q=E.constrainedAxis,T=Z.mostOrthogonalAxis(Q,RX);Z.cross(T,Q,T),Z.normalize(T,T);let w=Z.cross(Q,T,NU),S=Z.magnitude(v),D=Z.dot(Q,v),R=Math.acos(D/S),P=Z.multiplyByScalar(Q,D,LX);Z.subtract(v,P,P),Z.normalize(P,P);let M=Z.magnitude(B),L=Z.dot(Q,B),F=Math.acos(L/M),k=Z.multiplyByScalar(Q,L,qGe);Z.subtract(B,k,k),Z.normalize(k,k);let N=Math.acos(Z.dot(P,T));Z.dot(P,w)<0&&(N=Be.TWO_PI-N);let G=Math.acos(Z.dot(k,T));Z.dot(k,w)<0&&(G=Be.TWO_PI-G);let J=N-G,K;Z.equalsEpsilon(Q,E.position,Be.EPSILON2)?K=E.right:K=Z.cross(Q,E.position,RX);let X=Z.cross(Q,K,RX),q=Z.dot(X,Z.subtract(v,Q,NU)),ee=Z.dot(X,Z.subtract(B,Q,NU)),ie;q>0&&ee>0?ie=F-R:q>0&&ee<=0?Z.dot(E.position,Q)>0?ie=-R-F:ie=R+F:ie=R-F,E.rotateRight(J),E.rotateUp(ie)}else{Z.normalize(v,v),Z.normalize(B,B);let Q=Z.dot(v,B),T=Z.cross(v,B,RX);if(Q<1&&!Z.equalsEpsilon(T,Z.ZERO,Be.EPSILON14)){let w=Math.acos(Q);E.rotate(T,w)}}}var nyi=new Z,oyi=new Rt,XGe=0;function ztt(o,A,f){O(f.distance)&&(f=f.distance);let m=f.inertiaEnabled,C=o._ellipsoid,E=o._scene,x=E.camera,y=E.canvas,I=o._cameraUnderground,v;I?v=A:(v=Utt,v.x=y.clientWidth/2,v.y=y.clientHeight/2);let B=x.getPickRay(v,Gtt),Q,T=C.cartesianToCartographic(x.position,oyi).height,w=Math.abs(XGe)<o.minimumPickingTerrainDistanceWithInertia;(m?w:T<o._minimumPickingTerrainHeight)&&(Q=VD(o,v,Htt,!0));let S;if(O(Q)&&(S=Z.distance(B.origin,Q),XGe=S),I){let R=Ptt(o,B,T);O(S)?S=Math.min(S,R):S=R}O(S)||(S=T);let D=Z.normalize(x.position,nyi);S1e(o,A,f,o._zoomFactor,S,Z.dot(D,x.direction))}var Ytt=new rt,KZ=new Ua,J7=new Z,ayi=new Z,Jtt=new Re,syi=new Re,Ktt=new Re,lyi=new fr,uyi=new Gt,T1e=new Rt,M1e=new Z;function Ayi(o,A,f){let m=o._scene.camera;if(!Re.equals(m.transform,Re.IDENTITY))return;if(O(f.angleAndHeight)&&(f=f.angleAndHeight),rt.equals(A,o._tiltCenterMousePosition)||(o._tiltOnEllipsoid=!1,o._looking=!1),o._looking){let E=o._ellipsoid.geodeticSurfaceNormal(m.position,M1e);AI(o,A,f,E);return}let C=o._ellipsoid.cartesianToCartographic(m.position,T1e);o._tiltOnEllipsoid||C.height>o._minimumCollisionTerrainHeight?(o._tiltOnEllipsoid=!0,hyi(o,A,f)):dyi(o,A,f)}var cyi=new Rt;function hyi(o,A,f){let m=o._ellipsoid,C=o._scene,E=C.camera,x=o.minimumZoomDistance*.25,y=m.cartesianToCartographic(E.positionWC,cyi).height;if(y-x-1<Be.EPSILON3&&f.endPosition.y-f.startPosition.y<0)return;let I=C.canvas,v=Ytt;v.x=I.clientWidth/2,v.y=I.clientHeight/2;let B=E.getPickRay(v,KZ),Q,T=Sc.rayEllipsoid(B,m);if(O(T))Q=Ua.getPoint(B,T.start,J7);else if(y>o._minimumTrackBallHeight){let M=Sc.grazingAltitudeLocation(B,m);if(!O(M))return;let L=m.cartesianToCartographic(M,T1e);L.height=0,Q=m.cartographicToCartesian(L,J7)}else{o._looking=!0;let M=o._ellipsoid.geodeticSurfaceNormal(E.position,M1e);AI(o,A,f,M),rt.clone(A,o._tiltCenterMousePosition);return}let w=kr.eastNorthUpToFixedFrame(Q,m,Jtt),S=o._globe,D=o._ellipsoid;o._globe=void 0,o._ellipsoid=Ci.UNIT_SPHERE,o._rotateFactor=1,o._rotateRateRangeAdjustment=1;let R=Re.clone(E.transform,Ktt);E._setTransform(w),uI(o,A,f,Z.UNIT_Z),E._setTransform(R),o._globe=S,o._ellipsoid=D;let P=D.maximumRadius;o._rotateFactor=1/P,o._rotateRateRangeAdjustment=P}function dyi(o,A,f){let m=o._ellipsoid,C=o._scene,E=C.camera,x=o._cameraUnderground,y,I,v;if(rt.equals(A,o._tiltCenterMousePosition))y=Z.clone(o._tiltCenter,J7);else{if(y=VD(o,A,J7),!O(y)){if(I=E.getPickRay(A,KZ),v=Sc.rayEllipsoid(I,m),!O(v)){if(m.cartesianToCartographic(E.position,T1e).height<=o._minimumTrackBallHeight){o._looking=!0;let X=o._ellipsoid.geodeticSurfaceNormal(E.position,M1e);AI(o,A,f,X),rt.clone(A,o._tiltCenterMousePosition)}return}y=Ua.getPoint(I,v.start,J7)}x&&(O(I)||(I=E.getPickRay(A,KZ)),Rtt(o,I,y,y)),rt.clone(A,o._tiltCenterMousePosition),Z.clone(y,o._tiltCenter)}let B=C.canvas,Q=Ytt;Q.x=B.clientWidth/2,Q.y=o._tiltCenterMousePosition.y,I=E.getPickRay(Q,KZ);let T=Z.magnitude(y),w=Z.fromElements(T,T,T,Uge),S=Ci.fromCartesian3(w,Gge);if(v=Sc.rayEllipsoid(I,S),!O(v))return;let D=Z.magnitude(I.origin)>T?v.start:v.stop,R=Ua.getPoint(I,D,ayi),P=kr.eastNorthUpToFixedFrame(y,m,Jtt),M=kr.eastNorthUpToFixedFrame(R,S,syi),L=o._globe,F=o._ellipsoid;o._globe=void 0,o._ellipsoid=Ci.UNIT_SPHERE,o._rotateFactor=1,o._rotateRateRangeAdjustment=1;let k=Z.UNIT_Z,N=Re.clone(E.transform,Ktt);E._setTransform(M);let G=Z.cross(R,E.positionWC,JZ);if(Z.dot(E.rightWC,G)<0){let X=f.startPosition.y-f.endPosition.y;(x&&X<0||!x&&X>0)&&(k=void 0);let q=E.constrainedAxis;E.constrainedAxis=void 0,uI(o,A,f,k,!0,!1),E.constrainedAxis=q}else uI(o,A,f,k,!0,!1);if(E._setTransform(P),uI(o,A,f,k,!1,!0),O(E.constrainedAxis)){let X=Z.cross(E.direction,E.constrainedAxis,JZ);Z.equalsEpsilon(X,Z.ZERO,Be.EPSILON6)||(Z.dot(X,E.right)<0&&Z.negate(X,X),Z.cross(X,E.direction,E.up),Z.cross(E.direction,E.up,E.right),Z.normalize(E.up,E.up),Z.normalize(E.right,E.right))}E._setTransform(N),o._globe=L,o._ellipsoid=F;let J=F.maximumRadius;o._rotateFactor=1/J,o._rotateRateRangeAdjustment=J;let K=Z.clone(E.positionWC,JZ);if(o.enableCollisionDetection&&P1e(o),!Z.equals(E.positionWC,K)){E._setTransform(M),E.worldToCameraCoordinatesPoint(K,K);let X=Z.magnitudeSquared(K);Z.magnitudeSquared(E.position)>X&&(Z.normalize(E.position,E.position),Z.multiplyByScalar(E.position,Math.sqrt(X),E.position));let q=Z.angleBetween(K,E.position),ee=Z.cross(K,E.position,K);Z.normalize(ee,ee);let ie=fr.fromAxisAngle(ee,q,lyi),H=Gt.fromQuaternion(ie,uyi);Gt.multiplyByVector(H,E.direction,E.direction),Gt.multiplyByVector(H,E.up,E.up),Z.cross(E.direction,E.up,E.right),Z.cross(E.right,E.direction,E.up),E._setTransform(N)}}var fyi=new rt,gyi=new rt,ZGe=new Ua,$Ge=new Ua,pyi=new Z,myi=new Z;function AI(o,A,f,m){let C=o._scene.camera,E=fyi;E.x=f.startPosition.x,E.y=0;let x=gyi;x.x=f.endPosition.x,x.y=0;let y=C.getPickRay(E,ZGe),I=C.getPickRay(x,$Ge),v=0,B,Q;C.frustum instanceof us?(B=y.origin,Q=I.origin,Z.add(C.direction,B,B),Z.add(C.direction,Q,Q),Z.subtract(B,C.position,B),Z.subtract(Q,C.position,Q),Z.normalize(B,B),Z.normalize(Q,Q)):(B=y.direction,Q=I.direction);let T=Z.dot(B,Q);T<1&&(v=Math.acos(T)),v=f.startPosition.x>f.endPosition.x?-v:v;let w=o._horizontalRotationAxis;if(O(m)?C.look(m,-v):O(w)?C.look(w,-v):C.lookLeft(v),E.x=0,E.y=f.startPosition.y,x.x=0,x.y=f.endPosition.y,y=C.getPickRay(E,ZGe),I=C.getPickRay(x,$Ge),v=0,C.frustum instanceof us?(B=y.origin,Q=I.origin,Z.add(C.direction,B,B),Z.add(C.direction,Q,Q),Z.subtract(B,C.position,B),Z.subtract(Q,C.position,Q),Z.normalize(B,B),Z.normalize(Q,Q)):(B=y.direction,Q=I.direction),T=Z.dot(B,Q),T<1&&(v=Math.acos(T)),v=f.startPosition.y>f.endPosition.y?-v:v,m=oe(m,w),O(m)){let S=C.direction,D=Z.negate(m,pyi),R=Z.equalsEpsilon(S,m,Be.EPSILON2),P=Z.equalsEpsilon(S,D,Be.EPSILON2);if(!R&&!P){T=Z.dot(S,m);let M=Be.acosClamped(T);v>0&&v>M&&(v=M-Be.EPSILON4),T=Z.dot(S,D),M=Be.acosClamped(T),v<0&&-v>M&&(v=-M+Be.EPSILON4);let L=Z.cross(m,S,myi);C.look(L,v)}else(R&&v<0||P&&v>0)&&C.look(C.right,-v)}else C.lookUp(v)}function Cyi(o){iE(o,o.enableRotate,o.rotateEventTypes,Zxi,o.inertiaSpin,"_lastInertiaSpinMovement"),iE(o,o.enableZoom,o.zoomEventTypes,ztt,o.inertiaZoom,"_lastInertiaZoomMovement"),iE(o,o.enableTilt,o.tiltEventTypes,Ayi,o.inertiaSpin,"_lastInertiaTiltMovement"),iE(o,o.enableLook,o.lookEventTypes,AI)}var Eyi=new Re,xyi=new Rt;function P1e(o){o._adjustedHeightForTerrain=!0;let A=o._scene,f=A.mode,m=A.globe;if(!O(m)||f===ni.SCENE2D||f===ni.MORPHING)return;let C=A.camera,E=m.ellipsoid,x=A.mapProjection,y,I;Re.equals(C.transform,Re.IDENTITY)||(y=Re.clone(C.transform,Eyi),I=Z.magnitude(C.position),C._setTransform(Re.IDENTITY));let v=xyi;f===ni.SCENE3D?E.cartesianToCartographic(C.position,v):x.unproject(C.position,v);let B=!1;if(v.height<o._minimumCollisionTerrainHeight){let Q=o._scene.globeHeight;if(O(Q)){let T=Q+o.minimumZoomDistance;v.height<T&&(v.height=T,f===ni.SCENE3D?E.cartographicToCartesian(v,C.position):x.project(v,C.position),B=!0)}}O(y)&&(C._setTransform(y),B&&(Z.normalize(C.position,C.position),Z.negate(C.position,C.direction),Z.multiplyByScalar(C.position,Math.max(I,o.minimumZoomDistance),C.position),Z.normalize(C.direction,C.direction),Z.cross(C.direction,C.up,C.right),Z.cross(C.right,C.direction,C.up)))}wJ.prototype.onMap=function(){let o=this._scene,A=o.mode,f=o.camera;return A===ni.COLUMBUS_VIEW?Math.abs(f.position.x)-this._maxCoord.x<0&&Math.abs(f.position.y)-this._maxCoord.y<0:!0};var yyi=new Z,Iyi=new Z;wJ.prototype.update=function(){let o=this._scene,A=o.camera,f=o.globe,m=o.mode;Re.equals(A.transform,Re.IDENTITY)?(this._globe=f,this._ellipsoid=O(this._globe)?this._globe.ellipsoid:o.mapProjection.ellipsoid):(this._globe=void 0,this._ellipsoid=Ci.UNIT_SPHERE);let C=O(this._globe)?this._globe.terrainExaggeration:1,E=O(this._globe)?this._globe.terrainExaggerationRelativeHeight:0;this._minimumCollisionTerrainHeight=mb.getHeight(this.minimumCollisionTerrainHeight,C,E),this._minimumPickingTerrainHeight=mb.getHeight(this.minimumPickingTerrainHeight,C,E),this._minimumTrackBallHeight=mb.getHeight(this.minimumTrackBallHeight,C,E),this._cameraUnderground=o.cameraUnderground&&O(this._globe);let x=this._ellipsoid.maximumRadius;this._rotateFactor=1/x,this._rotateRateRangeAdjustment=x,this._adjustedHeightForTerrain=!1;let y=Z.clone(A.positionWC,yyi),I=Z.clone(A.directionWC,Iyi);m===ni.SCENE2D?yxi(this):m===ni.COLUMBUS_VIEW?(this._horizontalRotationAxis=Z.UNIT_Z,zxi(this)):m===ni.SCENE3D&&(this._horizontalRotationAxis=void 0,Cyi(this)),this.enableCollisionDetection&&!this._adjustedHeightForTerrain&&(!Z.equals(y,A.positionWC)||!Z.equals(I,A.directionWC))&&P1e(this),this._aggregator.reset()};wJ.prototype.isDestroyed=function(){return!1};wJ.prototype.destroy=function(){return this._tweens.removeAll(),this._aggregator=this._aggregator&&this._aggregator.destroy(),Ar(this)};var R1e=wJ,L1e=`uniform sampler2D colorTexture; uniform sampler2D colorTexture2; uniform vec2 center; uniform float radius; in vec2 v_textureCoordinates; void main() { vec4 color0 = texture(colorTexture, v_textureCoordinates); vec4 color1 = texture(colorTexture2, v_textureCoordinates); float x = length(gl_FragCoord.xy - center) / radius; float t = smoothstep(0.5, 0.8, x); out_FragColor = mix(color0 + color1, color1, t); } `,F1e=`uniform sampler2D colorTexture; uniform float avgLuminance; uniform float threshold; uniform float offset; in vec2 v_textureCoordinates; float key(float avg) { float guess = 1.5 - (1.5 / (avg * 0.1 + 1.0)); return max(0.0, guess) + 0.1; } // See section 9. "The bright-pass filter" of Realtime HDR Rendering // http://www.cg.tuwien.ac.at/research/publications/2007/Luksch_2007_RHR/Luksch_2007_RHR-RealtimeHDR%20.pdf void main() { vec4 color = texture(colorTexture, v_textureCoordinates); vec3 xyz = czm_RGBToXYZ(color.rgb); float luminance = xyz.r; float scaledLum = key(avgLuminance) * luminance / avgLuminance; float brightLum = max(scaledLum - threshold, 0.0); float brightness = brightLum / (offset + brightLum); xyz.r = brightness; out_FragColor = vec4(czm_XYZToRGB(xyz), 1.0); } `;function BT(){this._sceneFramebuffer=new Cne;let o=.25,A=new Array(6);A[0]=new wa({fragmentShader:HD,textureScale:o,forcePowerOfTwo:!0,sampleMode:uE.LINEAR});let f=A[1]=new wa({fragmentShader:F1e,uniforms:{avgLuminance:.5,threshold:.25,offset:.1},textureScale:o,forcePowerOfTwo:!0}),m=this;this._delta=1,this._sigma=2,this._blurStep=new rt,A[2]=new wa({fragmentShader:oz,uniforms:{step:function(){return m._blurStep.x=m._blurStep.y=1/f.outputTexture.width,m._blurStep},delta:function(){return m._delta},sigma:function(){return m._sigma},direction:0},textureScale:o,forcePowerOfTwo:!0}),A[3]=new wa({fragmentShader:oz,uniforms:{step:function(){return m._blurStep.x=m._blurStep.y=1/f.outputTexture.width,m._blurStep},delta:function(){return m._delta},sigma:function(){return m._sigma},direction:1},textureScale:o,forcePowerOfTwo:!0}),A[4]=new wa({fragmentShader:HD,sampleMode:uE.LINEAR}),this._uCenter=new rt,this._uRadius=void 0,A[5]=new wa({fragmentShader:L1e,uniforms:{center:function(){return m._uCenter},radius:function(){return m._uRadius},colorTexture2:function(){return m._sceneFramebuffer.framebuffer.getColorTexture(0)}}}),this._stages=new dp({stages:A});let C=new Ine(this),E=A.length;for(let x=0;x<E;++x)A[x]._textureCache=C;this._textureCache=C,this.length=A.length}BT.prototype.get=function(o){return this._stages.get(o)};BT.prototype.getStageByName=function(o){let A=this._stages.length;for(let f=0;f<A;++f){let m=this._stages.get(f);if(m.name===o)return m}};var _yi=new zt,e8e=new rt,vyi=new rt,t8e=new Re;function Byi(o,A,f){let m=A.uniformState,C=m.sunPositionWC,E=m.view,x=m.viewProjection,y=m.projection,I=Re.computeViewportTransformation(f,0,1,t8e),v=Re.multiplyByPoint(E,C,_yi),B=kr.pointToGLWindowCoordinates(x,I,C,e8e);v.x+=Be.SOLAR_RADIUS;let Q=kr.pointToGLWindowCoordinates(y,I,v,v),T=rt.magnitude(rt.subtract(Q,B,Q))*30*2,w=vyi;w.x=T,w.y=T,o._uCenter=rt.clone(B,o._uCenter),o._uRadius=Math.max(w.x,w.y)*.15;let S=A.drawingBufferWidth,D=A.drawingBufferHeight,R=o._stages,P=R.get(0),M=P.outputTexture.width,L=P.outputTexture.height,F=new vr;F.width=M,F.height=L,I=Re.computeViewportTransformation(F,0,1,t8e),B=kr.pointToGLWindowCoordinates(x,I,C,e8e),w.x*=M/S,w.y*=L/D;let k=P.scissorRectangle;k.x=Math.max(B.x-w.x*.5,0),k.y=Math.max(B.y-w.y*.5,0),k.width=Math.min(w.x,S),k.height=Math.min(w.y,D);for(let N=1;N<4;++N)vr.clone(k,R.get(N).scissorRectangle)}BT.prototype.clear=function(o,A,f){this._sceneFramebuffer.clear(o,A,f),this._textureCache.clear(o)};BT.prototype.update=function(o){let A=o.context,f=o.viewport,m=this._sceneFramebuffer;m.update(A,f);let C=m.framebuffer;return this._textureCache.update(A),this._stages.update(A,!1),Byi(this,A,f),C};BT.prototype.execute=function(o){let A=this._sceneFramebuffer.framebuffer.getColorTexture(0),f=this._stages,m=f.length;f.get(0).execute(o,A);for(let C=1;C<m;++C)f.get(C).execute(o,f.get(C-1).outputTexture)};BT.prototype.copy=function(o,A){if(!O(this._copyColorCommand)){let f=this;this._copyColorCommand=o.createViewportQuadCommand(HD,{uniformMap:{colorTexture:function(){return f._stages.get(f._stages.length-1).outputTexture}},owner:this})}this._copyColorCommand.framebuffer=A,this._copyColorCommand.execute(o)};BT.prototype.isDestroyed=function(){return!1};BT.prototype.destroy=function(){return this._textureCache.destroy(),this._stages.destroy(),Ar(this)};var N1e=BT;function Wtt(){this._cachedShowFrustumsShaders={}}function wyi(o){let A={},f=o.vertexAttributes;for(let m in f)f.hasOwnProperty(m)&&(A[m]=f[m].index);return A}function byi(o,A){let f=o.context,m=A,C=m.fragmentShaderSource.clone(),E=[];C.sources=C.sources.map(function(B){B=_r.replaceMain(B,"czm_Debug_main");let Q=/out_FragData_(\d+)/g,T;for(;(T=Q.exec(B))!==null;)E.indexOf(T[1])===-1&&E.push(T[1]);return B});let x=E.length,y="";y+=`uniform vec3 debugShowCommandsColor; `,y+=`uniform vec3 debugShowFrustumsColor; `,y+=`void main() { czm_Debug_main(); `;let I;if(x>0)for(I=0;I<x;++I)y+=` out_FragData_${E[I]}.rgb *= debugShowCommandsColor; `,y+=` out_FragData_${E[I]}.rgb *= debugShowFrustumsColor; `;else y+=` out_FragColor.rgb *= debugShowCommandsColor; `,y+=` out_FragColor.rgb *= debugShowFrustumsColor; `;y+="}",C.sources.push(y);let v=wyi(m);return qa.fromCache({context:f,vertexShaderSource:m.vertexShaderSource,fragmentShaderSource:C,attributeLocations:v})}var OV=new Ve;function Qyi(o,A){let f;return O(A.uniformMap)?f=A.uniformMap:f={},O(f.debugShowCommandsColor)||O(f.debugShowFrustumsColor)||(f.debugShowCommandsColor=function(){return o.debugShowCommands?(O(A._debugColor)||(A._debugColor=Ve.fromRandom()),A._debugColor):Ve.WHITE},f.debugShowFrustumsColor=function(){return o.debugShowFrustums?(OV.red=A.debugOverlappingFrustums&1?1:0,OV.green=A.debugOverlappingFrustums&2?1:0,OV.blue=A.debugOverlappingFrustums&4?1:0,OV.alpha=1,OV):Ve.WHITE}),f}var Syi=new fn;Wtt.prototype.executeDebugShowFrustumsCommand=function(o,A,f){let m=A.shaderProgram.id,C=this._cachedShowFrustumsShaders[m];O(C)||(C=byi(o,A.shaderProgram),this._cachedShowFrustumsShaders[m]=C);let E=fn.shallowClone(A,Syi);E.shaderProgram=C,E.uniformMap=Qyi(o,A),E.execute(o.context,f)};var k1e=Wtt,O1e=`in vec4 aPosition; in vec4 aTexCoord0; #ifdef TexCoord2 in vec4 aTexCoord1; #endif out vec4 vTexCoord; in vec4 aColor; out vec4 vColor; void main() { vTexCoord.xy = aTexCoord0.xy; #ifdef TexCoord2 vTexCoord.zw = aTexCoord1.xy; #endif vColor = aColor; gl_Position = czm_modelViewProjection * vec4(aPosition.xyz, 1.0); } `,U1e=`uniform sampler2D uTexture; #ifdef TexCoord2 uniform sampler2D uTexture2; #endif uniform vec4 uDiffuseColor; uniform vec4 uAmbientColor; in vec4 vColor; in vec4 vTexCoord; void main() { vec4 color = vColor * texture(uTexture, vTexCoord.xy); #ifdef TexCoord2 color *= texture(uTexture2, vTexCoord.zw); #endif out_FragColor = czm_gammaCorrect(color); } `;function G1e(){this.context=void 0,this.model=void 0,this.index=void 0}G1e.prototype.set=function(o,A,f){this.context=o,this.model=A,this.index=f};G1e.prototype.execute=function(){let o=this.context,A=this.index,f=this.model.vertexPackage,m=f.vertexAttributes[A];if(!O(m))throw new Ai("attribute is null");if(f.instanceIndex!==-1&&!O(this.model._instanceBuffer)){if(!O(f.instanceBuffer))throw new Ai("instance buffer is null");this.model.instanceBuffer=Wn.createVertexBuffer({context:o,typedArray:f.instanceBuffer,usage:Gr.STATIC_DRAW})}if(m.instanceDivisor===1){m.vertexBuffer=this.model.instanceBuffer;return}O(m.vertexBuffer)||(m.vertexBuffer=Wn.createVertexBuffer({context:o,typedArray:m.typedArray,usage:Gr.STATIC_DRAW}),m.typedArray=null,delete m.typedArray)};var H1e=G1e;function V1e(){this.model=void 0,this.context=void 0,this.index=0}V1e.prototype.set=function(o,A,f){this.model=A,this.context=o,this.index=f};V1e.prototype.execute=function(){let o=this.context,A=this.model.arrIndexPackage[this.index],f=this.model.vertexPackage.verticesCount;if(!O(A))throw new Ai("index package is null");if(O(A.indexBuffer))return;if(!O(A.indicesTypedArray))throw new Ai("index buffer is null");let m=Bn.UNSIGNED_SHORT;(A.indexType===1||f>=Be.SIXTY_FOUR_KILOBYTES)&&o.elementIndexUint&&(m=Bn.UNSIGNED_INT),A.indexBuffer=Wn.createIndexBuffer({context:o,typedArray:A.indicesTypedArray,usage:Gr.STATIC_DRAW,indexDatatype:m}),A.indicesTypedArray=null,delete A.indicesTypedArray};var z1e=V1e;function g8(o){this.layer=o.layer,this.vertexPackage=o.vertexPackage,this.arrIndexPackage=o.arrIndexPackage,this.vertexBufferToCreate=new bN,this.indexBufferToCreate=new bN;let A,f;for(A=0,f=this.vertexPackage.vertexAttributes.length;A<f;A++)this.vertexBufferToCreate.enqueue(A);for(A=0,f=this.arrIndexPackage.length;A<f;A++)this.indexBufferToCreate.enqueue(A);this.boundingVolume=o.boundingVolume,this.material=o.material,this.modelMatrix=o.modelMatrix,this.shaderProgram=void 0,this.vertexArray=void 0,this.colorCommand=void 0,this.ready=!1}var i8e=new H1e,r8e=new z1e;function Dyi(o,A){let f=o.layer.context,m=o.vertexBufferToCreate;for(;m.length;){let C=m.peek();if(i8e.set(f,o,C),!A.jobScheduler.execute(i8e,gx.BUFFER))break;m.dequeue()}}function Tyi(o,A){let f=o.layer.context,m=o.indexBufferToCreate;for(;m.length;){let C=m.peek();if(r8e.set(f,o,C),!A.jobScheduler.execute(r8e,gx.BUFFER))break;m.dequeue()}}g8.prototype.createBuffers=function(o){Dyi(this,o),Tyi(this,o)};g8.prototype.createCommand=Ai.throwInstantiationError;g8.prototype.update=Ai.throwInstantiationError;g8.prototype.isDestroyed=Ai.throwInstantiationError;g8.prototype.destroy=Ai.throwInstantiationError;var bJ=g8;function z3(o){bJ.call(this,o)}z3.prototype=Object.create(bJ.prototype);z3.prototype.constructor=bJ;function Myi(o,A,f){let m=new _r({sources:[O1e]}),C=new _r({sources:[U1e]});return O(A.aNormal)&&(m.defines.push("VertexNormal"),C.defines.push("VertexNormal")),f.textures.length>0&&(m.defines.push("TexCoord"),C.defines.push("TexCoord")),f.textures.length===2&&(m.defines.push("TexCoord2"),C.defines.push("TexCoord2")),qa.fromCache({context:o,vertexShaderSource:m,fragmentShaderSource:C,attributeLocations:A})}function Pyi(){return Xr.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:Px.LESS_OR_EQUAL}})}function Ryi(){return Xr.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:Px.LESS_OR_EQUAL},blending:Nl.ALPHA_BLEND})}function Lyi(o){return{uTexture:function(){return o.textures[0]},uTextureWidth:function(){return o.textures[0]._width},uTexture2:function(){return o.textures[1]},uTexture2Width:function(){return o.textures[1]._width},uDiffuseColor:function(){return o.diffuseColor},uAmbientColor:function(){return o.ambientColor}}}z3.prototype.createCommand=function(){if(O(this.colorCommand))return;let o=this.layer.context,A=this.vertexPackage,f=this.arrIndexPackage,m=A.vertexAttributes,C=A.attrLocation;if(f.length<1)return;let E=f[0],x=this.material;this.shaderProgram=Myi(o,C,x),this.vertexArray=new hu({context:o,attributes:m,indexBuffer:E.indexBuffer}),this.colorCommand=new fn({owner:this,primitiveType:E.primitiveType,modelMatrix:this.modelMatrix,boundingVolume:hi.clone(this.boundingVolume),pickId:"vSecondColor",vertexArray:this.vertexArray,shaderProgram:this.shaderProgram,pass:x.bTransparentSorting?Yi.TRANSLUCENT:Yi.CESIUM_3D_TILE,renderState:x.bTransparentSorting?Ryi():Pyi()}),this.colorCommand.uniformMap=Lyi(x),this.vertexPackage=null,this.arrIndexPackage=null,this.ready=!0};z3.prototype.update=function(o){if(!this.ready){this.createBuffers(o),this.createCommand(o);return}o.commandList.push(this.colorCommand)};z3.prototype.isDestroyed=function(){return!1};z3.prototype.destroy=function(){return this.shaderProgram=this.shaderProgram&&!this.shaderProgram.isDestroyed()&&this.shaderProgram.destroy(),this.vertexArray=this.vertexArray&&!this.vertexArray.isDestroyed()&&this.vertexArray.destroy(),this.colorCommand=void 0,this.vertexPackage=null,this.arrIndexPackage=null,Ar(this)};var az=z3,See=function(o){return function(){o.frameState.afterRender.push(function(){o.requestRender()})}};function Jl(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.canvas,f=o.creditContainer,m=o.creditViewport,C=Sn(o.contextOptions),E=O(f),x=new Dve(A,C);E||(f=document.createElement("div"),f.style.position="absolute",f.style.bottom="0",f.style["text-shadow"]="0 0 2px #000000",f.style.color="#ffffff",f.style["font-size"]="10px",f.style["padding-right"]="5px",A.parentNode.appendChild(f)),O(m)||(m=A.parentNode),this._id=Rl(),this._jobScheduler=new Nwe,this._frameState=new Rwe(x,new Dwe(f," \u2022 ",m),this._jobScheduler),this._frameState.scene3DOnly=oe(o.scene3DOnly,!1),this._removeCreditContainer=!E,this._creditContainer=f,this._canvas=A,this._context=x,this._computeEngine=new Ive(x),this._globe=void 0,this._globeTranslucencyState=new Fwe,this._primitives=new X_,this._primitivesQuadTrees=[],this._groundPrimitives=new X_,this._globeHeight=void 0,this._cameraUnderground=!1,this._logDepthBuffer=x.fragmentDepth,this._logDepthBufferDirty=!0,this._tweens=new Bne,this._shaderFrameCount=0,this._sunPostProcess=void 0,this._computeCommandList=[],this._overlayCommandList=[],this._useOIT=oe(o.orderIndependentTranslucency,!0),this._executeOITFunction=void 0,this._depthPlane=new Twe(o.depthPlaneEllipsoidOffset),this._clearColorCommand=new Yu({color:new Ve,stencil:0,owner:this}),this._depthClearCommand=new Yu({depth:1,owner:this}),this._stencilClearCommand=new Yu({stencil:0}),this._classificationStencilClearCommand=new Yu({stencil:0,renderState:Xr.fromCache({stencilMask:ia.CLASSIFICATION_MASK})}),this._depthOnlyRenderStateCache={},this._transitioner=new b1e(this),this._preUpdate=new ur,this._postUpdate=new ur,this._renderError=new ur,this._preRender=new ur,this._postRender=new ur,this._minimumDisableDepthTestDistance=0,this._debugInspector=new k1e,this._sunShaftEnabled=!1,this._msaaSamples=oe(o.msaaSamples,1),this.rethrowRenderErrors=!1,this.completeMorphOnUserInput=!0,this.morphStart=new ur,this.morphComplete=new ur,this.skyBox=void 0,this.skyAtmosphere=void 0,this.sun=void 0,this.sunBloom=!0,this._sunBloom=void 0,this.moon=void 0,this.backgroundColor=Ve.clone(Ve.BLACK),this._mode=ni.SCENE3D,this._mapProjection=O(o.mapProjection)?o.mapProjection:new Kd,this.morphTime=1,this.farToNearRatio=1e3,this.logarithmicDepthFarToNearRatio=1e9,this.nearToFarDistance2D=175e4,this.debugCommandFilter=void 0,this.debugShowCommands=!1,this.debugShowFrustums=!1,this.debugShowFramesPerSecond=!1,this.debugShowDepthFrustum=1,this.debugShowFrustumPlanes=!1,this._debugShowFrustumPlanes=!1,this._debugFrustumPlanes=void 0,this.useDepthPicking=!0,this.pickTranslucentDepth=!1,this.cameraEventWaitTime=500,this.fog=new Pwe,this._shadowMapCamera=new Ls(this),this.shadowMap=new uT({context:x,lightCamera:this._shadowMapCamera,enabled:oe(o.shadows,!1)}),this.textureProjectionMapList=new Array,this.viewShedMapList=[],this.invertClassification=!1,this.invertClassificationColor=Ve.clone(Ve.WHITE),this._actualInvertClassificationColor=Ve.clone(this._invertClassificationColor),this._invertClassification=new pne,this.focalLength=void 0,this.eyeSeparation=void 0,this.postProcessStages=new y1e,this._brdfLutGenerator=new Swe,this._performanceDisplay=void 0,this._debugVolume=void 0,this._screenSpaceCameraController=new R1e(this),this._cameraUnderground=!1,this._mapMode2D=oe(o.mapMode2D,cw.INFINITE_SCROLL),this._environmentState={skyBoxCommand:void 0,skyAtmosphereCommand:void 0,sunDrawCommand:void 0,sunComputeCommand:void 0,moonCommand:void 0,isSunVisible:!1,isMoonVisible:!1,isReadyForAtmosphere:!1,isSkyAtmosphereVisible:!1,clearGlobeDepth:!1,useDepthPlane:!1,renderTranslucentDepthForPick:!1,originalFramebuffer:void 0,useGlobeDepthFramebuffer:!1,useOIT:!1,useInvertClassification:!1,usePostProcess:!1,usePostProcessSelected:!1,useWebVR:!1},this._useWebVR=!1,this._cameraVR=void 0,this._aspectRatioVR=void 0,this.requestRenderMode=oe(o.requestRenderMode,!1),this._renderRequested=!0,this.maximumRenderTimeChange=oe(o.maximumRenderTimeChange,0),this._lastRenderTime=void 0,this._frameRateMonitor=void 0,this._removeRequestListenerCallback=W_.requestCompletedEvent.addEventListener(See(this)),this._removeTaskProcessorListenerCallback=hd.taskCompletedEvent.addEventListener(See(this)),this._removeGlobeCallbacks=[],this._removeTerrainProviderReadyListener=void 0;let y=new vr(0,0,x.drawingBufferWidth,x.drawingBufferHeight),I=new Ls(this);this._logDepthBuffer&&(I.frustum.near=.1,I.frustum.far=1e10),this.preloadFlightCamera=new Ls(this),this.preloadFlightCullingVolume=void 0,this._picking=new Xwe(this),this._defaultView=new d8(this,I,y),this._view=this._defaultView,this._hdr=void 0,this._hdrDirty=void 0,this.highDynamicRange=!1,this.gamma=2.2,this._sunColor=new Z(2.3,2.35,2.5),this.sphericalHarmonicCoefficients=void 0,this.specularEnvironmentMaps=void 0,this._specularEnvironmentMapAtlas=void 0,this.light=new KG,this._loadPrimitiveFirst=!1,this._maxProjectionCount=4,jtt(this,0,Zt.now()),this.updateFrameState(),this.initializeFrame()}function Fyi(o,A){for(let m=0;m<o._removeGlobeCallbacks.length;++m)o._removeGlobeCallbacks[m]();o._removeGlobeCallbacks.length=0;let f=[];O(A)&&(f.push(A.imageryLayersUpdatedEvent.addEventListener(See(o))),f.push(A.terrainProviderChanged.addEventListener(See(o)))),o._removeGlobeCallbacks=f}Object.defineProperties(Jl.prototype,{canvas:{get:function(){return this._canvas}},drawingBufferHeight:{get:function(){return this._context.drawingBufferHeight}},drawingBufferWidth:{get:function(){return this._context.drawingBufferWidth}},maximumAliasedLineWidth:{get:function(){return Zn.maximumAliasedLineWidth}},maximumCubeMapSize:{get:function(){return Zn.maximumCubeMapSize}},pickPositionSupported:{get:function(){return this._context.depthTexture}},sampleHeightSupported:{get:function(){return this._context.depthTexture}},clampToHeightSupported:{get:function(){return this._context.depthTexture}},invertClassificationSupported:{get:function(){return this._context.depthTexture}},specularEnvironmentMapsSupported:{get:function(){return PN.isSupported(this._context)}},globe:{get:function(){return this._globe},set:function(o){this._globe=this._globe&&this._globe.destroy(),this._globe=o,Fyi(this,o)}},primitives:{get:function(){return this._primitives}},primitivesQuadTrees:{get:function(){return this._primitivesQuadTrees}},groundPrimitives:{get:function(){return this._groundPrimitives}},camera:{get:function(){return this._view.camera},set:function(o){this._view.camera=o}},view:{get:function(){return this._view},set:function(o){this._view=o}},defaultView:{get:function(){return this._defaultView}},picking:{get:function(){return this._picking}},screenSpaceCameraController:{get:function(){return this._screenSpaceCameraController}},mapProjection:{get:function(){return this._mapProjection}},jobScheduler:{get:function(){return this._jobScheduler}},frameState:{get:function(){return this._frameState}},environmentState:{get:function(){return this._environmentState}},tweens:{get:function(){return this._tweens}},imageryLayers:{get:function(){if(O(this.globe))return this.globe.imageryLayers}},terrainProvider:{get:function(){if(O(this.globe))return this.globe.terrainProvider},set:function(o){this._removeTerrainProviderReadyListener=this._removeTerrainProviderReadyListener&&this._removeTerrainProviderReadyListener(),O(this.globe)&&(this.globe.terrainProvider=o)}},terrainProviderChanged:{get:function(){if(O(this.globe))return this.globe.terrainProviderChanged}},preUpdate:{get:function(){return this._preUpdate}},postUpdate:{get:function(){return this._postUpdate}},renderError:{get:function(){return this._renderError}},preRender:{get:function(){return this._preRender}},postRender:{get:function(){return this._postRender}},lastRenderTime:{get:function(){return this._lastRenderTime}},context:{get:function(){return this._context}},debugFrustumStatistics:{get:function(){return this._view.debugFrustumStatistics}},scene3DOnly:{get:function(){return this._frameState.scene3DOnly}},orderIndependentTranslucency:{get:function(){return this._useOIT}},id:{get:function(){return this._id}},mode:{get:function(){return this._mode},set:function(o){o===ni.SCENE2D?this.morphTo2D(0):o===ni.SCENE3D?this.morphTo3D(0):o===ni.COLUMBUS_VIEW&&this.morphToColumbusView(0),this._mode=o}},frustumCommandsList:{get:function(){return this._view.frustumCommandsList}},numberOfFrustums:{get:function(){return this._view.frustumCommandsList.length}},useWebVR:{get:function(){return this._useWebVR},set:function(o){this._useWebVR=o,this._useWebVR?(this._frameState.creditDisplay.container.style.visibility="hidden",this._cameraVR=new Ls(this),O(this._deviceOrientationCameraController)||(this._deviceOrientationCameraController=new Mwe(this)),this._aspectRatioVR=this.camera.frustum.aspectRatio):(this._frameState.creditDisplay.container.style.visibility="visible",this._cameraVR=void 0,this._deviceOrientationCameraController=this._deviceOrientationCameraController&&!this._deviceOrientationCameraController.isDestroyed()&&this._deviceOrientationCameraController.destroy(),this.camera.frustum.aspectRatio=this._aspectRatioVR,this.camera.frustum.xOffset=0)}},mapMode2D:{get:function(){return this._mapMode2D}},splitPosition:{get:function(){return this._frameState.splitPosition},set:function(o){this._frameState.splitPosition=o}},minimumDisableDepthTestDistance:{get:function(){return this._minimumDisableDepthTestDistance},set:function(o){this._minimumDisableDepthTestDistance=o}},logarithmicDepthBuffer:{get:function(){return this._logDepthBuffer},set:function(o){o=this._context.fragmentDepth&&o,this._logDepthBuffer!==o&&(this._logDepthBuffer=o,this._logDepthBufferDirty=!0)}},gamma:{get:function(){return this._context.uniformState.gamma},set:function(o){this._context.uniformState.gamma=o}},highDynamicRange:{get:function(){return this._hdr},set:function(o){let A=this._context,f=o&&A.depthTexture&&(A.colorBufferFloat||A.colorBufferHalfFloat);this._hdrDirty=f!==this._hdr,this._hdr=f}},highDynamicRangeSupported:{get:function(){let o=this._context;return o.depthTexture&&(o.colorBufferFloat||o.colorBufferHalfFloat)}},cameraUnderground:{get:function(){return this._cameraUnderground}},msaaSamples:{get:function(){return this._msaaSamples},set:function(o){o=Math.min(o,Zn.maximumSamples),this._msaaSamples=o}},msaaSupported:{get:function(){return this._context.msaa}},pixelRatio:{get:function(){return this._frameState.pixelRatio},set:function(o){this._frameState.pixelRatio=o}},opaqueFrustumNearOffset:{get:function(){return .9999}},sunShaftEnabled:{get:function(){return this._sunShaftEnabled},set:function(o){this._sunShaftEnabled=o}},loadPrimitiveFirst:{get:function(){return this._loadPrimitiveFirst},set:function(o){this._loadPrimitiveFirst=o}},globeHeight:{get:function(){return this._globeHeight}},maxProjectionCount:{get:function(){return this._maxProjectionCount},set:function(o){o<=1?o=1:o>100&&(o=100),this._maxProjectionCount=o}}});Jl.prototype.getCompressedTextureFormatSupported=function(o){let A=this.context;return(o==="WEBGL_compressed_texture_s3tc"||o==="s3tc")&&A.s3tc||(o==="WEBGL_compressed_texture_pvrtc"||o==="pvrtc")&&A.pvrtc||(o==="WEBGL_compressed_texture_etc"||o==="etc")&&A.etc||(o==="WEBGL_compressed_texture_etc1"||o==="etc1")&&A.etc1||(o==="WEBGL_compressed_texture_astc"||o==="astc")&&A.astc||(o==="EXT_texture_compression_bptc"||o==="bc7")&&A.bc7};function n8e(o,A,f,m,C,E,x,y,I,v){A?o.perspectivesWithDepth=mY.createDerivedCommands(f,A,m,C,E,x,y,I,o.perspectivesWithDepth):(o.perspectives=pY.createDerivedCommands(f,m,C,E,x,y,I,o.perspectives),o.fisheyes=gY.createDerivedCommands(f,m,C,E,x,I,o.fisheyes))}function o8e(o,A,f,m,C,E){let x=o._frameState,y=o._context,I=o._view.oit,v=x.textureProjecitonHints.lightShadowMaps,B=x.textureProjecitonHints.lightShadowsEnabled,Q=A.derivedCommands;O(A.pickId)&&(Q.picking=aC.createPickDerivedCommand(o,A,y,Q.picking)),A.pickOnly||(Q.depth=aC.createDepthOnlyDerivedCommand(o,A,y,Q.depth)),Q.originalCommand=A,o._hdr&&(Q.hdr=aC.createHdrCommand(A,y,Q.hdr),A=Q.hdr.command,Q=A.derivedCommands),B&&A.receiveShadows&&(Q.shadows=uT.createReceiveDerivedCommand(v,A,f,y,Q.shadows)),A.pass===Yi.TRANSLUCENT&&O(I)&&I.isSupported()&&(B&&A.receiveShadows?(O(Q.oit)||(Q.oit=I.createDerivedCommands(A,y,Q.oit)),Q.perspectivesWithDepth&&(Q.oit.perspectivesWithDepth=I.createDerivedCommands(Q.perspectivesWithDepth.receiveCommand,y,Q.oit.perspectivesWithDepth))):Q.oit=I.createDerivedCommands(A,y,Q.oit))}function a8e(o,A,f){let m=o._frameState,C=o._context,E=o._view.oit,x=m.viewShedState.lightShadowMaps,y=m.viewShedState.lightShadowsEnabled,I=A.derivedCommands;O(A.pickId)&&(I.picking=aC.createPickDerivedCommand(o,A,C,I.picking)),A.pickOnly||(I.depth=aC.createDepthOnlyDerivedCommand(o,A,C,I.depth)),I.originalCommand=A,o._hdr&&(I.hdr=aC.createHdrCommand(A,C,I.hdr),A=I.hdr.command,I=A.derivedCommands),y&&A.receiveShadows&&(I.viewShedMaps=JG.createReceiveDerivedCommand(x,A,f,C,I.viewShedMaps)),A.pass===Yi.TRANSLUCENT&&O(E)&&E.isSupported()&&(y&&A.receiveShadows?I.oit=O(I.oit)?I.oit:{}:I.oit=E.createDerivedCommands(A,C,I.oit))}function s8e(o,A,f){let m=o._frameState,C=o._context,E=o._view.oit,x=m.shadowState.lightShadowMaps,y=m.shadowState.lightShadowsEnabled,I=A.derivedCommands;O(A.pickId)&&(I.picking=aC.createPickDerivedCommand(o,A,C,I.picking)),A.pickOnly||(I.depth=aC.createDepthOnlyDerivedCommand(o,A,C,I.depth)),I.originalCommand=A,o._hdr&&(I.hdr=aC.createHdrCommand(A,C,I.hdr),A=I.hdr.command,I=A.derivedCommands),y&&A.receiveShadows&&(I.shadows=uT.createReceiveDerivedCommand(x,A,f,C,I.shadows)),A.pass===Yi.TRANSLUCENT&&O(E)&&E.isSupported()&&(y&&A.receiveShadows?(I.oit=O(I.oit)?I.oit:{},I.oit.shadows=E.createDerivedCommands(I.shadows.receiveCommand,C,I.oit.shadows)):I.oit=E.createDerivedCommands(A,C,I.oit))}Jl.prototype.updateDerivedCommands=function(o){if(!O(o.derivedCommands))return;let A=this._frameState,f=this._context,m=o.derivedCommands,C=!1,E=A.shadowState.lastDirtyTime;o.lastDirtyTime!==E&&(o.lastDirtyTime=E,o.dirty=!0,C=!0);let x=A.useLogDepth,y=O(m.logDepth),I=x&&!y,v=A.textureProjecitonHints.shadowsEnabled,B=A.textureProjecitonHints.shadowMaps,Q=A.textureProjecitonHints.lightShadowMaps,T=o.owner&&(o.owner instanceof mp||o.owner instanceof EY||o.owner instanceof az);if(v&&T){let F=[],k=[];for(let G in B){let J=B[G];J._useDepth?k.push(J):F.push(J)}let N=!1;if(F.length>0&&O(o.receiveTextureProjectionList)&&o.receiveTextureProjectionList.length>0&&((y||I)&&(m.logDepth=aC.createLogDepthCommand(o,f,m.logDepth),n8e(m.logDepth.command.derivedCommands,!1,F,Q,m.logDepth.command,C,f,this._camera,this.maxProjectionCount),o8e(this,m.logDepth.command,C,!1,F,Q)),N=!0),k.length>0&&((y||I)&&(m.logDepth=aC.createLogDepthCommand(o,f,m.logDepth),n8e(m.logDepth.command.derivedCommands,!0,k,Q,m.logDepth.command,C,f,this._camera,this.maxProjectionCount),o.castShadows&&(m.perspectivesWithDepth=m.logDepth.command.derivedCommands.perspectivesWithDepth),o8e(this,m.logDepth.command,C,!0,k,Q)),N=!0),N)return}let w=!1,S=A.viewShedState.lastDirtyTime;o.lastDirtyTime!==S&&(o.lastDirtyTime=S,o.dirty=!0,w=!0);let D=this._hdr,R=O(m.hdr),P=O(m.originalCommand),M=D&&!R,L=(!x||!D)&&!P;if(o.dirty=o.dirty||I||M||L,o.dirty){o.dirty=!1;let F=A.viewShedState.shadowMaps;A.viewShedState.shadowsEnabled&&o.castShadows&&(m.viewShedMaps=JG.createCastDerivedCommand(F,o,w,f,m.viewShedMaps)),(y||I)&&(m.logDepth=aC.createLogDepthCommand(o,f,m.logDepth),a8e(this,m.logDepth.command,w)),(P||L)&&a8e(this,o,w)}if(C=!1,o.lastDirtyTime!==E&&(o.lastDirtyTime=E,o.dirty=!0,C=!0),o.dirty=o.dirty||I||M||L,o.dirty){o.dirty=!1;let F=A.shadowState.shadowMaps;A.shadowState.shadowsEnabled&&o.castShadows&&(m.shadows=uT.createCastDerivedCommand(F,o,C,f,m.shadows)),(y||I)&&(m.logDepth=aC.createLogDepthCommand(o,f,m.logDepth),s8e(this,m.logDepth.command,C)),(P||L)&&s8e(this,o,C)}};var Nyi=new Nw({pass:Ad.RENDER}),ide=new Nw({pass:Ad.PRELOAD}),rde=new Nw({pass:Ad.PRELOAD_FLIGHT}),kyi=new Nw({pass:Ad.REQUEST_RENDER_MODE_DEFER_CHECK}),l8e=new hi,nde;function Oyi(o){let A=o.globe;if(o._mode===ni.SCENE3D&&O(A)&&A.show&&!o._cameraUnderground&&!o._globeTranslucencyState.translucent){let f=A.ellipsoid,m=o.frameState.minimumTerrainHeight;return l8e.radius=f.minimumRadius+m,nde=_ie.fromBoundingSphere(l8e,o.camera.positionWC,nde),nde}}Jl.prototype.clearPasses=function(o){o.render=!1,o.pick=!1,o.depth=!1,o.postProcess=!1,o.offscreen=!1};function jtt(o,A,f){let m=o._frameState;m.frameNumber=A,m.time=Zt.clone(f,m.time)}Jl.prototype.updateFrameState=function(){let o=this.camera,A=this._frameState;A.commandList.length=0,A.shadowMaps.length=0,A.textureProjectionMaps.length=0,A.viewShedMaps.length=0,A.brdfLutGenerator=this._brdfLutGenerator,A.environmentMap=this.skyBox&&this.skyBox._cubeMap,A.mode=this._mode,A.morphTime=this.morphTime,A.mapProjection=this.mapProjection,A.camera=o,A.cullingVolume=o.frustum.computeCullingVolume(o.positionWC,o.directionWC,o.upWC),O(o.frustum.computeCullingVolumeForTileset)&&(A.cullingVolumeForTileset=o.frustum.computeCullingVolumeForTileset(o.positionWC,o.directionWC,o.upWC)),A.occluder=Oyi(this),A.minimumTerrainHeight=0,A.minimumDisableDepthTestDistance=this._minimumDisableDepthTestDistance,A.invertClassification=this.invertClassification,A.sunColor=this._sunColor,A.light=this.light,A.useLogDepth=this._logDepthBuffer&&!(this.camera.frustum instanceof us||this.camera.frustum instanceof Xf),A.light=this.light,A.cameraUnderground=this._cameraUnderground,A.globeTranslucencyState=this._globeTranslucencyState,O(this.globe)&&(A.terrainExaggeration=this.globe.terrainExaggeration,A.terrainExaggerationRelativeHeight=this.globe.terrainExaggerationRelativeHeight),O(this._specularEnvironmentMapAtlas)&&this._specularEnvironmentMapAtlas.ready?(A.specularEnvironmentMaps=this._specularEnvironmentMapAtlas.texture,A.specularEnvironmentMapsMaximumLOD=this._specularEnvironmentMapAtlas.maximumMipmapLevel):(A.specularEnvironmentMaps=void 0,A.specularEnvironmentMapsMaximumLOD=void 0),A.sphericalHarmonicCoefficients=this.sphericalHarmonicCoefficients,this._actualInvertClassificationColor=Ve.clone(this.invertClassificationColor,this._actualInvertClassificationColor),pne.isTranslucencySupported(this._context)||(this._actualInvertClassificationColor.alpha=1),A.invertClassificationColor=this._actualInvertClassificationColor,O(this.globe)?A.maximumScreenSpaceError=this.globe.maximumScreenSpaceError:A.maximumScreenSpaceError=2,this.clearPasses(A.passes),A.tilesetPassState=void 0};Jl.prototype.isVisible=function(o,A,f){return O(o)&&(!O(o.boundingVolume)||!o.cull||A.computeVisibility(o.boundingVolume)!==sa.OUTSIDE&&(!O(f)||!o.occlude||!o.boundingVolume.isOccluded(f)))};var WZ=new Re(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);WZ=Re.inverseTransformation(WZ,WZ);function Uyi(o,A,f,m){let C=A._frameState,E=C.context,x=o.boundingVolume;O(A._debugVolume)&&A._debugVolume.destroy();let y,I=Z.clone(x.center);if(C.mode!==ni.SCENE3D){I=Re.multiplyByPoint(WZ,I,I);let T=C.mapProjection,w=T.unproject(I);I=T.ellipsoid.cartographicToCartesian(w)}if(O(x.radius)){let T=x.radius;y=Zl.toWireframe(hp.createGeometry(new hp({radii:new Z(T,T,T),vertexFormat:La.FLAT_VERTEX_FORMAT}))),A._debugVolume=new ra({geometryInstances:new kn({geometry:y,modelMatrix:Re.fromTranslation(I),attributes:{color:new _o(1,0,0,1)}}),appearance:new La({flat:!0,translucent:!1}),asynchronous:!1})}else{let T=x.halfAxes;y=Zl.toWireframe(FD.createGeometry(FD.fromDimensions({dimensions:new Z(2,2,2),vertexFormat:La.FLAT_VERTEX_FORMAT}))),A._debugVolume=new ra({geometryInstances:new kn({geometry:y,modelMatrix:Re.fromRotationTranslation(T,I,new Re),attributes:{color:new _o(1,0,0,1)}}),appearance:new La({flat:!0,translucent:!1}),asynchronous:!1})}let v=C.commandList,B=C.commandList=[];A._debugVolume.update(C),o=B[0],C.useLogDepth&&(o=aC.createLogDepthCommand(o,E).command);let Q;O(m)&&(Q=f.framebuffer,f.framebuffer=m),o.execute(E,f),O(Q)&&(f.framebuffer=Q),C.commandList=v}function o0(o,A,f,m,C){let E=A._frameState;if(O(A.debugCommandFilter)&&!A.debugCommandFilter(o))return;if(o instanceof Yu){o.execute(f,m);return}o.debugShowBoundingVolume&&O(o.boundingVolume)&&Uyi(o,A,m,C),E.useLogDepth&&O(o.derivedCommands.logDepth)&&(o=o.derivedCommands.logDepth.command);let x=E.passes;if(!x.pick&&!x.depth&&A._hdr&&O(o.derivedCommands)&&O(o.derivedCommands.hdr)&&(o=o.derivedCommands.hdr.command),x.pick||x.depth){if(x.pick&&!x.depth&&O(o.derivedCommands.picking)){o=o.derivedCommands.picking.pickCommand,o.execute(f,m);return}else if(O(o.derivedCommands.depth)){o=o.derivedCommands.depth.depthOnlyCommand,o.execute(f,m);return}}if(A.debugShowCommands||A.debugShowFrustums){A._debugInspector.executeDebugShowFrustumsCommand(A,o,m);return}let y=A.frameState.textureProjecitonHints.shadowsEnabled&&A.frameState.textureProjecitonHints.lightShadowMaps.length>0,I=O(o.derivedCommands.fisheyes),v=O(o.derivedCommands.perspectives),B=O(o.derivedCommands.perspectivesWithDepth);y&&(I||v||B)?(v&&o.derivedCommands.perspectives.receiveCommand.execute(f,m),B&&o.derivedCommands.perspectivesWithDepth.receiveCommand.execute(f,m),I&&o.derivedCommands.fisheyes.receiveCommand.execute(f,m)):E.viewShedState.lightShadowsEnabled&&O(o.derivedCommands.viewShedMaps)?o.derivedCommands.viewShedMaps.receiveCommand.execute(f,m):E.shadowState.lightShadowsEnabled&&o.receiveShadows&&O(o.derivedCommands.shadows)?o.derivedCommands.shadows.receiveCommand.execute(f,m):o.execute(f,m)}function UV(o,A,f,m){let C=A._frameState,E=o.derivedCommands;O(E)&&(C.useLogDepth&&O(E.logDepth)&&(o=E.logDepth.command),E=o.derivedCommands,O(E.picking)?(o=E.picking.pickCommand,o.execute(f,m)):O(E.depth)&&(o=E.depth.depthOnlyCommand,o.execute(f,m)))}function qtt(o,A,f){return A.boundingVolume.distanceSquaredTo(f)-o.boundingVolume.distanceSquaredTo(f)}function Gyi(o,A,f){return o.boundingVolume.distanceSquaredTo(f)-A.boundingVolume.distanceSquaredTo(f)+Be.EPSILON12}function Hyi(o,A,f,m,C){let E=o.context;h8(m,qtt,o.camera.positionWC),O(C)&&A(C.unclassifiedCommand,o,E,f);let x=m.length;for(let y=0;y<x;++y)A(m[y],o,E,f)}function Vyi(o,A,f,m,C){let E=o.context;h8(m,Gyi,o.camera.positionWC),O(C)&&A(C.unclassifiedCommand,o,E,f);let x=m.length;for(let y=0;y<x;++y)A(m[y],o,E,f)}function zyi(o,A,f,m){let C=o.context;h8(m,qtt,o.camera.positionWC);let E=m.length;for(let x=0;x<E;++x)A(m[x],o,C,f)}var Xtt=new fu,Ztt=new rQ,$tt=new us,eit=new Xf;function Dee(o,A){let f=o.camera,m=o.context,C=o.frameState,E=m.uniformState;E.updateCamera(f);let x;O(f.frustum.fov)?x=f.frustum.clone(Xtt):O(f.frustum.infiniteProjectionMatrix)?x=f.frustum.clone(Ztt):O(f.frustum.width)?x=f.frustum.clone($tt):x=f.frustum.clone(eit),x.near=f.frustum.near,x.far=f.frustum.far,E.updateFrustum(x),E.updatePass(Yi.ENVIRONMENT);let y=C.passes,I=y.pick,v=o._environmentState,B=o._view,Q=v.renderTranslucentDepthForPick,T=v.useWebVR;if(!I){let ee=v.skyBoxCommand;if(O(ee)&&o0(ee,o,m,A),v.isSkyAtmosphereVisible&&o0(v.skyAtmosphereCommand,o,m,A),v.isSunVisible&&(v.sunDrawCommand.execute(m,A),o.sunBloom&&!T)){let ie;v.useGlobeDepthFramebuffer?ie=B.globeDepth.framebuffer:v.usePostProcess?ie=B.sceneFramebuffer.framebuffer:ie=v.originalFramebuffer,o._sunPostProcess.execute(m),o._sunPostProcess.copy(m,ie),A.framebuffer=ie}v.isMoonVisible&&v.moonCommand.execute(m,A)}let w;v.useOIT?(O(o._executeOITFunction)||(o._executeOITFunction=function(ee,ie,H,le,ue){B.globeDepth.prepareColorTextures(m),B.oit.executeCommands(ee,ie,H,le,ue)}),w=o._executeOITFunction):y.render?w=Hyi:w=Vyi;let S=B.frustumCommandsList,D=S.length,R=v.clearGlobeDepth,P=v.useDepthPlane,M=o._globeTranslucencyState,L=M.translucent,F=o._view.globeTranslucencyFramebuffer,k=o._depthClearCommand,N=o._stencilClearCommand,G=o._classificationStencilClearCommand,J=o._depthPlane,K=v.usePostProcessSelected,X=f.position.z,q;for(let ee=0;ee<D;++ee){let ie=D-ee-1,H=S[ie];o.mode===ni.SCENE2D?(f.position.z=X-H.near+1,x.far=Math.max(1,H.far-H.near),x.near=1,E.update(C),E.updateFrustum(x)):(x.near=ie!==0?H.near*o.opaqueFrustumNearOffset:H.near,x.far=H.far,E.updateFrustum(x)),k.execute(m,A),m.stencilBuffer&&N.execute(m,A),E.updatePass(Yi.GLOBE);let le=H.commands[Yi.GLOBE],ue=H.indices[Yi.GLOBE];if(L)M.executeGlobeCommands(H,o0,F,o,A);else for(q=0;q<ue;++q)o0(le[q],o,m,A);let Ae=B.globeDepth;if(O(Ae)&&v.useGlobeDepthFramebuffer&&Ae.executeCopyDepth(m,A),!v.renderTranslucentDepthForPick)if(E.updatePass(Yi.TERRAIN_CLASSIFICATION),le=H.commands[Yi.TERRAIN_CLASSIFICATION],ue=H.indices[Yi.TERRAIN_CLASSIFICATION],L)M.executeGlobeClassificationCommands(H,o0,F,o,A);else for(q=0;q<ue;++q)o0(le[q],o,m,A);if(R&&(k.execute(m,A),P&&J.execute(m,A)),!v.useInvertClassification||I||v.renderTranslucentDepthForPick){for(E.updatePass(Yi.CESIUM_3D_TILE),le=H.commands[Yi.CESIUM_3D_TILE],ue=H.indices[Yi.CESIUM_3D_TILE],q=0;q<ue;++q)o0(le[q],o,m,A);if(ue>0&&(O(Ae)&&v.useGlobeDepthFramebuffer&&(Ae.prepareColorTextures(m,R),Ae.executeUpdateDepth(m,A,R,Ae.depthStencilTexture)),!v.renderTranslucentDepthForPick))for(E.updatePass(Yi.CESIUM_3D_TILE_CLASSIFICATION),le=H.commands[Yi.CESIUM_3D_TILE_CLASSIFICATION],ue=H.indices[Yi.CESIUM_3D_TILE_CLASSIFICATION],q=0;q<ue;++q)o0(le[q],o,m,A)}else{o._invertClassification.clear(m,A);let fe=A.framebuffer;for(A.framebuffer=o._invertClassification._fbo.framebuffer,E.updatePass(Yi.CESIUM_3D_TILE),le=H.commands[Yi.CESIUM_3D_TILE],ue=H.indices[Yi.CESIUM_3D_TILE],q=0;q<ue;++q)o0(le[q],o,m,A);for(O(Ae)&&v.useGlobeDepthFramebuffer&&(o._invertClassification.prepareTextures(m),Ae.executeUpdateDepth(m,A,R,o._invertClassification._fbo.getDepthStencilTexture())),E.updatePass(Yi.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW),le=H.commands[Yi.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW],ue=H.indices[Yi.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW],q=0;q<ue;++q)o0(le[q],o,m,A);for(A.framebuffer=fe,o._invertClassification.executeClassified(m,A),C.invertClassificationColor.alpha===1&&o._invertClassification.executeUnclassified(m,A),ue>0&&m.stencilBuffer&&G.execute(m,A),E.updatePass(Yi.CESIUM_3D_TILE_CLASSIFICATION),le=H.commands[Yi.CESIUM_3D_TILE_CLASSIFICATION],ue=H.indices[Yi.CESIUM_3D_TILE_CLASSIFICATION],q=0;q<ue;++q)o0(le[q],o,m,A)}for(ue>0&&m.stencilBuffer&&N.execute(m,A),E.updatePass(Yi.VOXELS),le=H.commands[Yi.VOXELS],ue=H.indices[Yi.VOXELS],le.length=ue,zyi(o,o0,A,le),E.updatePass(Yi.OPAQUE),le=H.commands[Yi.OPAQUE],ue=H.indices[Yi.OPAQUE],q=0;q<ue;++q)o0(le[q],o,m,A);ie!==0&&o.mode!==ni.SCENE2D&&(x.near=H.near,E.updateFrustum(x));let he;if(!I&&v.useInvertClassification&&C.invertClassificationColor.alpha<1&&(he=o._invertClassification),E.updatePass(Yi.TRANSLUCENT),le=H.commands[Yi.TRANSLUCENT],le.length=H.indices[Yi.TRANSLUCENT],w(o,o0,A,le,he),H.indices[Yi.CESIUM_3D_TILE_CLASSIFICATION]>0&&B.translucentTileClassification.isSupported()&&(B.translucentTileClassification.executeTranslucentCommands(o,o0,A,le,Ae.depthStencilTexture),B.translucentTileClassification.executeClassificationCommands(o,o0,A,H)),m.depthTexture&&o.useDepthPicking&&(v.useGlobeDepthFramebuffer||Q)){let fe=Ae.depthStencilTexture,ae=o._picking.getPickDepth(o,ie);ae.update(m,fe),ae.executeCopyDepth(m,A)}if(I||!K)continue;let ge=A.framebuffer;if(A.framebuffer=B.sceneFramebuffer.getIdFramebuffer(),x.near=ie!==0?H.near*o.opaqueFrustumNearOffset:H.near,x.far=H.far,E.updateFrustum(x),E.updatePass(Yi.GLOBE),le=H.commands[Yi.GLOBE],ue=H.indices[Yi.GLOBE],L)M.executeGlobeCommands(H,UV,F,o,A);else for(q=0;q<ue;++q)UV(le[q],o,m,A);for(R&&(k.framebuffer=A.framebuffer,k.execute(m,A),k.framebuffer=void 0),R&&P&&J.execute(m,A),E.updatePass(Yi.CESIUM_3D_TILE),le=H.commands[Yi.CESIUM_3D_TILE],ue=H.indices[Yi.CESIUM_3D_TILE],q=0;q<ue;++q)UV(le[q],o,m,A);for(E.updatePass(Yi.OPAQUE),le=H.commands[Yi.OPAQUE],ue=H.indices[Yi.OPAQUE],q=0;q<ue;++q)UV(le[q],o,m,A);for(E.updatePass(Yi.TRANSLUCENT),le=H.commands[Yi.TRANSLUCENT],ue=H.indices[Yi.TRANSLUCENT],q=0;q<ue;++q)UV(le[q],o,m,A);A.framebuffer=ge}}function Y1e(o){o.context.uniformState.updatePass(Yi.COMPUTE);let A=o._environmentState.sunComputeCommand;O(A)&&A.execute(o._computeEngine);let f=o._computeCommandList,m=f.length;for(let C=0;C<m;++C)f[C].execute(o._computeEngine)}function Yyi(o,A){o.context.uniformState.updatePass(Yi.OVERLAY);let f=o.context,m=o._overlayCommandList,C=m.length;for(let E=0;E<C;++E)m[E].execute(f,A)}function J1e(o,A,f,m){m=oe(m,!0);let C=f.shadowMapCullingVolume,E=f.isPointLight,x=f.passes,y=x.length,I=A.length;for(let v=0;v<I;++v){let B=A[v];if(m&&o.updateDerivedCommands(B),B.castShadows&&(B.pass===Yi.GLOBE||B.pass===Yi.CESIUM_3D_TILE||B.pass===Yi.OPAQUE||B.pass===Yi.TRANSLUCENT)&&o.isVisible(B,C))if(E)for(let Q=0;Q<y;++Q)x[Q].commandList.push(B);else if(y===1)x[0].commandList.push(B);else{let Q=!1;for(let T=y-1;T>=0;--T){let w=x[T].cullingVolume;if(o.isVisible(B,w))x[T].commandList.push(B),Q=!0;else if(Q)break}}}}function K1e(o){let A=o.frameState,f=A.shadowState.shadowMaps,m=f.length;if(!A.shadowState.shadowsEnabled)return;let C=o.context,E=C.uniformState;for(let x=0;x<m;++x){let y=f[x];if(y.outOfView)continue;let I=y.passes,v=I.length;for(let Q=0;Q<v;++Q)I[Q].commandList.length=0;let B=o.frameState.commandList;J1e(o,B,y);for(let Q=0;Q<v;++Q){let T=y.passes[Q];E.updateCamera(T.camera),y.updatePass(C,Q);let w=T.commandList.length;for(let S=0;S<w;++S){let D=T.commandList[S];E.updatePass(D.pass),o0(D.derivedCommands.shadows.castCommands[x],o,C,T.passState)}}}}function tit(o){let A=o.frameState,f=[];for(let x in A.viewShedState.shadowMaps){let y=A.viewShedState.shadowMaps[x];f.push(y)}let m=f.length;if(!A.viewShedState.shadowsEnabled)return;let C=o.context,E=C.uniformState;for(let x=0;x<m;++x){let y=f[x];if(y.outOfView)continue;let I,v=y.passes,B=v.length;for(I=0;I<B;++I)v[I].commandList.length=0;let Q=o.frameState.commandList;for(J1e(o,Q,y),I=0;I<B;++I){let T=y.passes[I];E.updateCamera(T.camera),y.updatePass(C,I);let w=T.commandList.length;for(let S=0;S<w;++S){let D=T.commandList[S];O(D.derivedCommands.viewShedMaps)&&(D.derivedCommands.viewShedMaps.castCommands.length<m||(E.updatePass(D.pass),o0(D.derivedCommands.viewShedMaps.castCommands[x],o,C,T.passState)))}}}}function iit(o){let A=o.frameState;if(!A.textureProjecitonHints.shadowsEnabled)return;let f=[];for(let x in A.textureProjecitonHints.shadowMaps){let y=A.textureProjecitonHints.shadowMaps[x];y._useDepth&&!y.outOfView&&f.push(y)}let m=f.length,C=o.context,E=C.uniformState;for(let x=0;x<m;++x){let y=f[x],I,v=y.passes,B=v.length;for(I=0;I<B;++I)v[I].commandList.length=0;let Q=o.frameState.commandList;for(J1e(o,Q,y,!1),I=0;I<B;++I){let T=y.passes[I];E.updateCamera(T.camera),y.updatePass(C,I);let w=T.commandList.length;for(let S=0;S<w;++S){let D=T.commandList[S];O(D.derivedCommands.perspectivesWithDepth)&&(D.derivedCommands.perspectivesWithDepth.castCommands.length<m||(E.updatePass(D.pass),o0(D.derivedCommands.perspectivesWithDepth.castCommands[x],o,C,T.passState)))}}}}var Jyi=new Z;Jl.prototype.updateAndExecuteCommands=function(o,A){let f=this._frameState.mode;this._environmentState.useWebVR?rit(this,o,A):f!==ni.SCENE2D||this._mapMode2D===cw.ROTATE?_2(!0,this,o,A):(QJ(this,o,A),nit(this,o))};Jl.prototype.updateAndExecuteCommandszh=function(o,A){let f=this._frameState.mode;this._environmentState.useWebVR?rit(this,o,A):f!==ni.SCENE2D||this._mapMode2D===cw.ROTATE?tIi(!0,this,o,A):(QJ(this,o,A),nit(this,o))};function rit(o,A,f){let m=o._view,C=m.camera,E=o._environmentState.renderTranslucentDepthForPick;QJ(o,A,f),sit(o),m.createPotentiallyVisibleSet(o),Y1e(o),E||(K1e(o),iit(o),tit(o));let x=A.viewport;x.x=0,x.y=0,x.width=x.width*.5;let y=Ls.clone(C,o._cameraVR);y.frustum=C.frustum;let I=C.frustum.near,v=I*oe(o.focalLength,5),B=oe(o.eyeSeparation,v/30),Q=Z.multiplyByScalar(y.right,B*.5,Jyi);C.frustum.aspectRatio=x.width/x.height;let T=.5*B*I/v;Z.add(y.position,Q,C.position),C.frustum.xOffset=T,Dee(o,A),x.x=x.width,Z.subtract(y.position,Q,C.position),C.frustum.xOffset=-T,Dee(o,A),Ls.clone(y,C)}var Kyi=new Rt(Math.PI,Be.PI_OVER_TWO),Wyi=new Z,jyi=new Z,qyi=new Re,Xyi=new Re,Zyi=new Z,$yi=new Z,eIi=new vr;function nit(o,A){let f=o.context,m=o.frameState,C=o.camera,E=A.viewport,x=vr.clone(E,eIi);A.viewport=x;let y=Kyi,I=Wyi;o.mapProjection.project(y,I);let v=Z.clone(C.position,jyi),B=Re.clone(C.transform,Xyi),Q=C.frustum.clone();C._setTransform(Re.IDENTITY);let T=Re.computeViewportTransformation(x,0,1,qyi),w=C.frustum.projectionMatrix,S=C.positionWC.y,D=Z.fromElements(Be.sign(S)*I.x-S,0,-C.positionWC.x,Zyi),R=kr.pointToGLWindowCoordinates(w,T,D,$yi);R.x=Math.floor(R.x);let P=x.x,M=x.width;if(S===0||R.x<=P||R.x>=P+M)_2(!0,o,A);else if(Math.abs(P+M*.5-R.x)<1)x.width=R.x-x.x,C.position.x*=Be.sign(C.position.x),C.frustum.right=0,m.cullingVolume=C.frustum.computeCullingVolume(C.positionWC,C.directionWC,C.upWC),f.uniformState.update(m),_2(!0,o,A),x.x=R.x,C.position.x=-C.position.x,C.frustum.right=-C.frustum.left,C.frustum.left=0,m.cullingVolume=C.frustum.computeCullingVolume(C.positionWC,C.directionWC,C.upWC),f.uniformState.update(m),_2(!1,o,A);else if(R.x>P+M*.5){x.width=R.x-P;let L=C.frustum.right;C.frustum.right=I.x-S,m.cullingVolume=C.frustum.computeCullingVolume(C.positionWC,C.directionWC,C.upWC),f.uniformState.update(m),_2(!0,o,A),x.x=R.x,x.width=P+M-R.x,C.position.x=-C.position.x,C.frustum.left=-C.frustum.right,C.frustum.right=L-C.frustum.right*2,m.cullingVolume=C.frustum.computeCullingVolume(C.positionWC,C.directionWC,C.upWC),f.uniformState.update(m),_2(!1,o,A)}else{x.x=R.x,x.width=P+M-R.x;let L=C.frustum.left;C.frustum.left=-I.x-S,m.cullingVolume=C.frustum.computeCullingVolume(C.positionWC,C.directionWC,C.upWC),f.uniformState.update(m),_2(!0,o,A),x.x=P,x.width=R.x-P,C.position.x=-C.position.x,C.frustum.right=-C.frustum.left,C.frustum.left=L-C.frustum.left*2,m.cullingVolume=C.frustum.computeCullingVolume(C.positionWC,C.directionWC,C.upWC),f.uniformState.update(m),_2(!1,o,A)}C._setTransform(B),Z.clone(v,C.position),C.frustum=Q.clone(),A.viewport=E}function _2(o,A,f,m){let C=A._environmentState,E=A._view,x=C.renderTranslucentDepthForPick;o||(A.frameState.commandList.length=0),sit(A),E.createPotentiallyVisibleSet(A),o&&(O(m)&&QJ(A,f,m),Y1e(A),x||(K1e(A),iit(A),tit(A))),Dee(A,f)}function tIi(o,A,f,m){let C=A._environmentState,E=A._view,x=C.renderTranslucentDepthForPick;!o&&!x&&(A.frameState.commandList.length=0),x||nIi(A),E.createPotentiallyVisibleSet(A),o&&(O(m)&&QJ(A,f,m),x||(Y1e(A),K1e(A))),Dee(A,f)}var u8e=new Mg;Jl.prototype.updateEnvironment=function(){let o=this._frameState,A=this._view,f=this._environmentState,m=o.passes.render,C=o.passes.offscreen,E=this.skyAtmosphere,x=this.globe,y=this._globeTranslucencyState;if(!m||this._mode!==ni.SCENE2D&&A.camera.frustum instanceof us||!y.environmentVisible)f.skyAtmosphereCommand=void 0,f.skyBoxCommand=void 0,f.sunDrawCommand=void 0,f.sunComputeCommand=void 0,f.moonCommand=void 0;else{O(E)?(O(x)&&(E.setDynamicAtmosphereColor(x.enableLighting&&x.dynamicAtmosphereLighting,x.dynamicAtmosphereLightingFromSun),f.isReadyForAtmosphere=f.isReadyForAtmosphere||x._surface._tilesToRender.length>0),f.skyAtmosphereCommand=E.update(o,x)):f.skyAtmosphereCommand=void 0,f.skyBoxCommand=O(this.skyBox)?this.skyBox.update(o,this._hdr):void 0;let S=O(this.sun)?this.sun.update(o,A.passState,this._hdr):void 0;f.sunDrawCommand=O(S)?S.drawCommand:void 0,f.sunComputeCommand=O(S)?S.computeCommand:void 0,f.moonCommand=O(this.moon)?this.moon.update(o):void 0}let I=f.clearGlobeDepth=O(x)&&x.show&&(!x.depthTestAgainstTerrain||this.mode===ni.SCENE2D);(f.useDepthPlane=I&&this.mode===ni.SCENE3D&&y.useDepthPlane)&&this._depthPlane.update(o),f.renderTranslucentDepthForPick=!1,f.useWebVR=this._useWebVR&&this.mode!==ni.SCENE2D&&!C;let v=o.mode===ni.SCENE3D&&!y.sunVisibleThroughGlobe?o.occluder:void 0,B=o.cullingVolume,Q=u8e.planes;for(let S=0;S<5;++S)Q[S]=B.planes[S];B=u8e,f.isSkyAtmosphereVisible=O(f.skyAtmosphereCommand)&&f.isReadyForAtmosphere,f.isSunVisible=this.isVisible(f.sunDrawCommand,B,v),f.isMoonVisible=this.isVisible(f.moonCommand,B,v);let T=this.specularEnvironmentMaps,w=this._specularEnvironmentMapAtlas;O(T)&&(!O(w)||w.url!==T)?(w=w&&w.destroy(),this._specularEnvironmentMapAtlas=new PN(T)):!O(T)&&O(w)&&(w.destroy(),this._specularEnvironmentMapAtlas=void 0),O(this._specularEnvironmentMapAtlas)&&this._specularEnvironmentMapAtlas.update(o)};function oit(o){let A=o._frameState;o.debugShowFrustumPlanes!==o._debugShowFrustumPlanes&&(o.debugShowFrustumPlanes?o._debugFrustumPlanes=new Gd({camera:o.camera,updateOnChange:!1,frustumSplits:A.frustumSplits}):o._debugFrustumPlanes=o._debugFrustumPlanes&&o._debugFrustumPlanes.destroy(),o._debugShowFrustumPlanes=o.debugShowFrustumPlanes),O(o._debugFrustumPlanes)&&o._debugFrustumPlanes.update(A)}function ait(o){let A=o._frameState,f=A.shadowMaps,m=f.length,C=m>0&&!A.passes.pick&&o.mode===ni.SCENE3D;if(C!==A.shadowState.shadowsEnabled&&(++A.shadowState.lastDirtyTime,A.shadowState.shadowsEnabled=C),A.shadowState.lightShadowsEnabled=!1,!!C){for(let E=0;E<m;++E)if(f[E]!==A.shadowState.shadowMaps[E]){++A.shadowState.lastDirtyTime;break}A.shadowState.shadowMaps.length=0,A.shadowState.lightShadowMaps.length=0;for(let E=0;E<m;++E){let x=f[E];x.update(A),A.shadowState.shadowMaps.push(x),x.fromLightSource&&(A.shadowState.lightShadowMaps.push(x),A.shadowState.lightShadowsEnabled=!0),x.dirty&&(++A.shadowState.lastDirtyTime,x.dirty=!1)}}}function iIi(o){let A=o._frameState,f=A.textureProjectionMaps,m=f.length,C=m>0&&!A.passes.pick&&o.mode===ni.SCENE3D;if(C!==A.textureProjecitonHints.shadowsEnabled&&(++A.textureProjecitonHints.lastDirtyTime,A.textureProjecitonHints.shadowsEnabled=C),A.textureProjecitonHints.lightShadowsEnabled=!1,!!C){for(let E=0;E<m;++E)if(f[E]!==A.textureProjecitonHints.shadowMaps[E]){++A.textureProjecitonHints.lastDirtyTime;break}A.textureProjecitonHints.shadowMaps.length=0,A.textureProjecitonHints.lightShadowMaps.length=0;for(let E=0;E<m;++E){let x=f[E];x.update(A),A.textureProjecitonHints.shadowMaps.push(x),x.fromLightSource&&(A.textureProjecitonHints.lightShadowMaps.push(x),A.textureProjecitonHints.lightShadowsEnabled=!0),x.dirty&&(++A.textureProjecitonHints.lastDirtyTime,x.dirty=!1)}}}function rIi(o){let A=o._frameState,f=A.viewShedMaps,m=f.length,C=m>0&&!A.passes.pick&&o.mode===ni.SCENE3D;if(C!==A.viewShedState.shadowsEnabled&&(++A.viewShedState.lastDirtyTime,A.viewShedState.shadowsEnabled=C),A.viewShedState.lightShadowsEnabled=!1,!!C){for(let E=0;E<m;++E)if(f[E]!==A.viewShedState.shadowMaps[E]){++A.viewShedState.lastDirtyTime;break}A.viewShedState.shadowMaps.length=0,A.viewShedState.lightShadowMaps.length=0;for(let E=0;E<m;++E){let x=f[E];x.update(A),A.viewShedState.shadowMaps.push(x),A.viewShedState.lightShadowMaps.push(x),A.viewShedState.lightShadowsEnabled=!0,x.dirty&&(++A.viewShedState.lastDirtyTime,x.dirty=!1)}}}function sit(o){let A=o._frameState;A.scene=o,o.loadPrimitiveFirst?(o._primitives.update(A),o._groundPrimitives.update(A)):(o._groundPrimitives.update(A),o._primitives.update(A)),oit(o),ait(o),iIi(o),rIi(o),o._globe&&o._globe.render(A)}function nIi(o){let A=o._frameState;o._groundPrimitives.update(A),o._primitives.update(A),o.UpdateQuad(A),oit(o),ait(o),o._globe&&o._globe.render(A)}function QJ(o,A,f){let m=o._context,C=o._frameState,E=o._environmentState,x=o._view,y=o._frameState.passes.pick;O(x.globeDepth)&&(x.globeDepth.picking=y);let I=E.useWebVR;E.originalFramebuffer=A.framebuffer,O(o.sun)&&o.sunBloom!==o._sunBloom?(o.sunBloom&&!I?o._sunPostProcess=new N1e:O(o._sunPostProcess)&&(o._sunPostProcess=o._sunPostProcess.destroy()),o._sunBloom=o.sunBloom):!O(o.sun)&&O(o._sunPostProcess)&&(o._sunPostProcess=o._sunPostProcess.destroy(),o._sunBloom=!1);let v=o._clearColorCommand;Ve.clone(f,v.color),v.execute(m,A);let B=E.useGlobeDepthFramebuffer=O(x.globeDepth);B&&(x.globeDepth.update(m,A,x.viewport,o.msaaSamples,o._hdr,E.clearGlobeDepth),x.globeDepth.clear(m,A,f));let Q=x.oit,T=E.useOIT=!y&&O(Q)&&Q.isSupported();T&&(Q.update(m,A,x.globeDepth.colorFramebufferManager,o._hdr,o.msaaSamples),Q.clear(m,A,f),E.useOIT=Q.isSupported());let w=o.postProcessStages;o._sunShaftEnabled&&E.isSunVisible?w.sunShaft.enabled=!0:w.sunShaft.enabled=!1;let S=E.usePostProcess=!y&&(o._hdr||w.length>0||w.ambientOcclusion.enabled||w.fxaa.enabled||w.bloom.enabled);if(E.usePostProcessSelected=!1,S){if(x.sceneFramebuffer.update(m,x.viewport,o._hdr,o.msaaSamples),x.sceneFramebuffer.clear(m,A,f),w.sunShaft.enabled){w.sunShaft.uniforms.u_size=o.sun._size;let D=C.mode;D===ni.SCENE3D?hi.clone(o.sun._boundingVolume,w.sunShaft._sunBoundingVolume):D===ni.COLUMBUS_VIEW&&hi.clone(o.sun._boundingVolume2D,w.sunShaft._sunBoundingVolume)}w.update(m,C.useLogDepth,o._hdr),w.clear(m),S=E.usePostProcess=w.ready,E.usePostProcessSelected=S&&w.hasSelected}if(E.isSunVisible&&o.sunBloom&&!I?(A.framebuffer=o._sunPostProcess.update(A),o._sunPostProcess.clear(m,A,f)):B?A.framebuffer=x.globeDepth.framebuffer:S&&(A.framebuffer=x.sceneFramebuffer.framebuffer),O(A.framebuffer)&&v.execute(m,A),E.useInvertClassification=!y&&O(A.framebuffer)&&o.invertClassification){let D;if(o.frameState.invertClassificationColor.alpha===1&&E.useGlobeDepthFramebuffer&&(D=x.globeDepth.framebuffer),O(D)||m.depthTexture){if(o._invertClassification.previousFramebuffer=D,o._invertClassification.update(m,o.msaaSamples,x.globeDepth.colorFramebufferManager),o._invertClassification.clear(m,A),o.frameState.invertClassificationColor.alpha<1&&T){let R=o._invertClassification.unclassifiedCommand,P=R.derivedCommands;P.oit=Q.createDerivedCommands(R,m,P.oit)}}else E.useInvertClassification=!1}o._globeTranslucencyState.translucent&&x.globeTranslucencyFramebuffer.updateAndClear(o._hdr,x.viewport,m,A)}Jl.prototype.resolveFramebuffers=function(o){let A=this._context,f=this._environmentState,m=this._view,C=m.globeDepth;O(C)&&C.prepareColorTextures(A);let E=f.useOIT,x=f.useGlobeDepthFramebuffer,y=f.usePostProcess,I=f.originalFramebuffer,v=x?C.colorFramebufferManager:void 0,B=m.sceneFramebuffer._colorFramebuffer,Q=m.sceneFramebuffer.idFramebuffer;if(E&&(o.framebuffer=y?B.framebuffer:I,m.oit.execute(A,o)),f.isSunVisible){let w=this.camera,S=A.uniformState;S.updateCamera(w);let D;O(w.frustum.fov)?D=w.frustum.clone(Xtt):O(w.frustum.infiniteProjectionMatrix)?D=w.frustum.clone(Ztt):O(w.frustum.width)?D=w.frustum.clone($tt):D=w.frustum.clone(eit),D.near=w.frustum.near,D.far=w.frustum.far,S.updateFrustum(D)}let T=m.translucentTileClassification;if(T.hasTranslucentDepth&&T.isSupported()&&T.execute(this,o),y){m.sceneFramebuffer.prepareColorTextures(A);let w=B;x&&!E&&(w=v);let S=this.postProcessStages,D=w.getColorTexture(0),R=Q.getColorTexture(0),P=oe(v,B).getDepthStencilTexture();S.execute(A,D,P,R),S.copy(A,I)}!E&&!y&&x&&(o.framebuffer=I,C.executeCopyColor(A,o))};function oIi(o){let A=o._frameState.afterRender;for(let f=0,m=A.length;f<m;++f)A[f]()&&o.requestRender();A.length=0}function lit(o){let A=o._globe,f=o.camera.positionCartographic;if(O(A)&&A.show&&O(f))return A.getHeight(f)}function uit(o){let A=o.camera,f=o._mode,m=o.globe,C=o._screenSpaceCameraController,E=A.positionCartographic;if(!O(E))return!1;if(!C.onMap()&&E.height<0)return!0;if(!O(m)||!m.show||f===ni.SCENE2D||f===ni.MORPHING)return!1;let x=o._globeHeight;return O(x)&&E.height<x}Jl.prototype.initializeOffScreenFrame=function(){this._globeHeight=lit(this),this._cameraUnderground=uit(this)};Jl.prototype.initializeFrame=function(){this._shaderFrameCount++===120&&(this._shaderFrameCount=0,this._context.shaderCache.destroyReleasedShaderPrograms(),this._context.textureCache.destroyReleasedTextures()),this._tweens.update(),this._globeHeight=lit(this),this._cameraUnderground=uit(this),this._globeTranslucencyState.update(this),this._screenSpaceCameraController.update(),O(this._deviceOrientationCameraController)&&this._deviceOrientationCameraController.update(),this.camera.update(this._mode),this.camera._updateCameraChanged()};function aIi(o,A){if(o.debugShowFramesPerSecond){if(!O(o._performanceDisplay)){let f=document.createElement("div");f.className="cesium-performanceDisplay-defaultContainer",o._canvas.parentNode.appendChild(f);let m=new yJ({container:f});o._performanceDisplay=m,o._performanceContainer=f}o._performanceDisplay.throttled=o.requestRenderMode,o._performanceDisplay.update(A)}else O(o._performanceDisplay)&&(o._performanceDisplay=o._performanceDisplay&&o._performanceDisplay.destroy(),o._performanceContainer.parentNode.removeChild(o._performanceContainer))}function sIi(o){o._jobScheduler.resetBudgets();let A=o._frameState;o.primitives.prePassesUpdate(A),O(o.globe)&&o.globe.update(A),o._picking.update(),A.creditDisplay.update()}function lIi(o){let A=o._frameState;o.primitives.postPassesUpdate(A),W_.update()}var uIi=new Ve;function AIi(o){let A=o._frameState,f=o.context,m=f.uniformState,C=o._defaultView;o._view=C,o.updateFrameState(),A.passes.render=!0,A.passes.postProcess=o.postProcessStages.hasSelected,A.tilesetPassState=Nyi;let E=oe(o.backgroundColor,Ve.BLACK);o._hdr&&(E=Ve.clone(E,uIi),E.red=Math.pow(E.red,o.gamma),E.green=Math.pow(E.green,o.gamma),E.blue=Math.pow(E.blue,o.gamma)),A.backgroundColor=E,o.fog.update(A),m.update(A);let x=o.shadowMap;O(x)&&x.enabled&&(!O(o.light)||o.light instanceof KG?Z.negate(m.sunDirectionWC,o._shadowMapCamera.direction):Z.clone(o.light.direction,o._shadowMapCamera.direction),A.shadowMaps.push(x));let y=o.textureProjectionMapList;if(y.length>0)for(let Q=0;Q<y.length;Q++){let T=y[Q];T.enabled&&A.textureProjectionMaps.push(T)}let I=o.viewShedMapList;for(let Q=0;Q<I.length;Q++){let T=I[Q];T.enabled&&A.viewShedMaps.push(T)}o._computeCommandList.length=0,o._overlayCommandList.length=0;let v=C.viewport;v.x=0,v.y=0,v.width=f.drawingBufferWidth,v.height=f.drawingBufferHeight;let B=C.passState;B.framebuffer=void 0,B.blendingEnabled=void 0,B.scissorTest=void 0,B.viewport=vr.clone(v,B.viewport),O(o.globe)&&o.globe.beginFrame(A),o.updateEnvironment(),o.updateAndExecuteCommands(B,E),o.resolveFramebuffers(B),B.framebuffer=void 0,Yyi(o,B),O(o.globe)&&(o.globe.endFrame(A),o.globe.tilesLoaded||(o._renderRequested=!0)),f.endFrame()}function TF(o,A){try{A(o)}catch(f){if(o._renderError.raiseEvent(o,f),o.rethrowRenderErrors)throw f}}function cIi(o){return o._picking.updateMostDetailedRayPicks(o)}Jl.prototype.render=function(o){this._preUpdate.raiseEvent(this,o);let A=this._frameState;A.newFrame=!1,O(o)||(o=Zt.now());let f=this._view.checkForCameraUpdates(this),m=!this.requestRenderMode||this._renderRequested||f||this._logDepthBufferDirty||this._hdrDirty||this.mode===ni.MORPHING;if(!m&&O(this.maximumRenderTimeChange)&&O(this._lastRenderTime)){let C=Math.abs(Zt.secondsDifference(this._lastRenderTime,o));m=m||C>this.maximumRenderTimeChange}if(m){this._lastRenderTime=Zt.clone(o,this._lastRenderTime),this._renderRequested=!1,this._logDepthBufferDirty=!1,this._hdrDirty=!1;let C=Be.incrementWrap(A.frameNumber,15e6,1);jtt(this,C,o),A.newFrame=!0}TF(this,sIi),this.primitives.show&&(TF(this,cIi),TF(this,hIi),TF(this,dIi),m||TF(this,fIi)),this._postUpdate.raiseEvent(this,o),m&&(this._preRender.raiseEvent(this,o),TF(this,AIi)),aIi(this,m),TF(this,lIi),oIi(this),m&&this._postRender.raiseEvent(this,o)};Jl.prototype.forceRender=function(o){this._renderRequested=!0,this.render(o)};Jl.prototype.requestRender=function(){this._renderRequested=!0};Jl.prototype.clampLineWidth=function(o){return Math.max(Zn.minimumAliasedLineWidth,Math.min(o,Zn.maximumAliasedLineWidth))};Jl.prototype.pick=function(o,A,f){return this._picking.pick(this,o,A,f)};Jl.prototype.UpdateQuad=function(o){for(let A=0,f=this._primitivesQuadTrees.length;A<f;A++){let m=this._primitivesQuadTrees[A]._tilesToRender;if(m)for(let C=0,E=m.length;C<E;C++){let x=m[C];x.data&&x.data.geometryPrimitive&&x.data.geometryPrimitive.update(o)}}};Jl.prototype.pickPositionWorldCoordinates=function(o,A){return this._picking.pickPositionWorldCoordinates(this,o,A)};Jl.prototype.pickPosition=function(o,A){return this._picking.pickPosition(this,o,A)};Jl.prototype.drillPick=function(o,A,f,m){return this._picking.drillPick(this,o,A,f,m)};function hIi(o){let A=o._frameState;ide.camera=A.camera,ide.cullingVolume=A.cullingVolume,o.primitives.updateForPass(A,ide)}function dIi(o){let A=o._frameState;!A.camera.canPreloadFlight()||(rde.camera=o.preloadFlightCamera,rde.cullingVolume=o.preloadFlightCullingVolume,o.primitives.updateForPass(A,rde))}function fIi(o){o.primitives.updateForPass(o._frameState,kyi)}Jl.prototype.pickFromRay=function(o,A,f){return this._picking.pickFromRay(this,o,A,f)};Jl.prototype.drillPickFromRay=function(o,A,f,m){return this._picking.drillPickFromRay(this,o,A,f,m)};Jl.prototype.pickFromRayMostDetailed=function(o,A,f){return this._picking.pickFromRayMostDetailed(this,o,A,f)};Jl.prototype.drillPickFromRayMostDetailed=function(o,A,f,m){return this._picking.drillPickFromRayMostDetailed(this,o,A,f,m)};Jl.prototype.sampleHeight=function(o,A,f){return this._picking.sampleHeight(this,o,A,f)};Jl.prototype.clampToHeight=function(o,A,f,m){return this._picking.clampToHeight(this,o,A,f,m)};Jl.prototype.sampleHeightMostDetailed=function(o,A,f){return this._picking.sampleHeightMostDetailed(this,o,A,f)};Jl.prototype.clampToHeightMostDetailed=function(o,A,f){return this._picking.clampToHeightMostDetailed(this,o,A,f)};Jl.prototype.cartesianToCanvasCoordinates=function(o,A){return ms.wgs84ToWindowCoordinates(this,o,A)};Jl.prototype.completeMorph=function(){this._transitioner.completeMorph()};Jl.prototype.morphTo2D=function(o){let A,f=this.globe;O(f)?A=f.ellipsoid:A=this.mapProjection.ellipsoid,o=oe(o,2),this._transitioner.morphTo2D(o,A)};Jl.prototype.morphToColumbusView=function(o){let A,f=this.globe;O(f)?A=f.ellipsoid:A=this.mapProjection.ellipsoid,o=oe(o,2),this._transitioner.morphToColumbusView(o,A)};Jl.prototype.morphTo3D=function(o){let A,f=this.globe;O(f)?A=f.ellipsoid:A=this.mapProjection.ellipsoid,o=oe(o,2),this._transitioner.morphTo3D(o,A)};function gIi(o,A){if(o._removeTerrainProviderReadyListener=o._removeTerrainProviderReadyListener&&o._removeTerrainProviderReadyListener(),A.ready){O(o.globe)&&(o.globe.terrainProvider=A.provider);return}o.globe.terrainProvider=void 0,o._removeTerrainProviderReadyListener=A.readyEvent.addEventListener(f=>{O(o)&&O(o.globe)&&(o.globe.terrainProvider=f),o._removeTerrainProviderReadyListener()})}Jl.prototype.setTerrain=function(o){return gIi(this,o),o};Jl.prototype.isDestroyed=function(){return!1};Jl.prototype.destroy=function(){this._tweens.removeAll(),this._computeEngine=this._computeEngine&&this._computeEngine.destroy(),this._screenSpaceCameraController=this._screenSpaceCameraController&&this._screenSpaceCameraController.destroy(),this._deviceOrientationCameraController=this._deviceOrientationCameraController&&!this._deviceOrientationCameraController.isDestroyed()&&this._deviceOrientationCameraController.destroy(),this._primitives=this._primitives&&this._primitives.destroy(),this._groundPrimitives=this._groundPrimitives&&this._groundPrimitives.destroy(),this._globe=this._globe&&this._globe.destroy(),this._removeTerrainProviderReadyListener=this._removeTerrainProviderReadyListener&&this._removeTerrainProviderReadyListener(),this.skyBox=this.skyBox&&this.skyBox.destroy(),this.skyAtmosphere=this.skyAtmosphere&&this.skyAtmosphere.destroy(),this._debugSphere=this._debugSphere&&this._debugSphere.destroy(),this.sun=this.sun&&this.sun.destroy(),this._sunPostProcess=this._sunPostProcess&&this._sunPostProcess.destroy(),this._depthPlane=this._depthPlane&&this._depthPlane.destroy(),this._transitioner=this._transitioner&&this._transitioner.destroy(),this._debugFrustumPlanes=this._debugFrustumPlanes&&this._debugFrustumPlanes.destroy(),this._brdfLutGenerator=this._brdfLutGenerator&&this._brdfLutGenerator.destroy(),this._picking=this._picking&&this._picking.destroy(),this._defaultView=this._defaultView&&this._defaultView.destroy(),this._view=void 0,this._removeCreditContainer&&this._canvas.parentNode.removeChild(this._creditContainer),this.postProcessStages=this.postProcessStages&&this.postProcessStages.destroy(),this._context=this._context&&this._context.destroy(),this._frameState.creditDisplay=this._frameState.creditDisplay&&this._frameState.creditDisplay.destroy(),O(this._performanceDisplay)&&(this._performanceDisplay=this._performanceDisplay&&this._performanceDisplay.destroy(),this._performanceContainer.parentNode.removeChild(this._performanceContainer)),this._removeRequestListenerCallback(),this._removeTaskProcessorListenerCallback();for(let o=0;o<this._removeGlobeCallbacks.length;++o)this._removeGlobeCallbacks[o]();return this._removeGlobeCallbacks.length=0,Ar(this)};Jl.prototype.clickVideoProjection=function(o){if(O(o)){let A=this.textureProjectionMapList,f=A.length;for(let m=0;m<f;m++){let C=A[m];if(O(C._id)&&C._id===o){A[m]=A[f-1],A[f-1]=C;break}}}};var W1e=Jl;function p8(o){o=oe(o,Ci.WGS84),this.show=!0,this.perFragmentAtmosphere=!1,this._ellipsoid=o;let A=1.025,f=Z.multiplyByScalar(o.radii,A,new Z);this._scaleMatrix=Re.fromScale(f),this._modelMatrix=new Re,this._command=new fn({owner:this,modelMatrix:this._modelMatrix}),this._spSkyFromSpace=void 0,this._spSkyFromAtmosphere=void 0,this._flags=void 0,this.atmosphereLightIntensity=50,this.atmosphereRayleighCoefficient=new Z(55e-7,13e-6,284e-7),this.atmosphereMieCoefficient=new Z(21e-6,21e-6,21e-6),this.atmosphereRayleighScaleHeight=1e4,this.atmosphereMieScaleHeight=3200,this.atmosphereMieAnisotropy=.9,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this._hueSaturationBrightness=new Z;let m=new Z;m.x=o.maximumRadius*A,m.y=o.maximumRadius,m.z=0,this._radiiAndDynamicAtmosphereColor=m;let C=this;this._command.uniformMap={u_radiiAndDynamicAtmosphereColor:function(){return C._radiiAndDynamicAtmosphereColor},u_hsbShift:function(){return C._hueSaturationBrightness.x=C.hueShift,C._hueSaturationBrightness.y=C.saturationShift,C._hueSaturationBrightness.z=C.brightnessShift,C._hueSaturationBrightness},u_atmosphereLightIntensity:function(){return C.atmosphereLightIntensity},u_atmosphereRayleighCoefficient:function(){return C.atmosphereRayleighCoefficient},u_atmosphereMieCoefficient:function(){return C.atmosphereMieCoefficient},u_atmosphereRayleighScaleHeight:function(){return C.atmosphereRayleighScaleHeight},u_atmosphereMieScaleHeight:function(){return C.atmosphereMieScaleHeight},u_atmosphereMieAnisotropy:function(){return C.atmosphereMieAnisotropy}}}Object.defineProperties(p8.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});p8.prototype.setDynamicAtmosphereColor=function(o,A){let f=o?A?2:1:0;this._radiiAndDynamicAtmosphereColor.z=f};var ode=new Re;p8.prototype.update=function(o,A){if(!this.show)return;let f=o.mode;if(f!==ni.SCENE3D&&f!==ni.MORPHING||!o.passes.render)return;let m=Re.fromRotationTranslation(o.context.uniformState.inverseViewRotation,Z.ZERO,ode),C=Re.multiplyTransformation(m,Ud.Y_UP_TO_Z_UP,ode),E=Re.multiply(this._scaleMatrix,C,ode);Re.clone(E,this._modelMatrix);let x=o.context,y=pIi(this),I=o.globeTranslucencyState.translucent,v=this.perFragmentAtmosphere||I||!O(A)||!A.show,B=this._command;if(!O(B.vertexArray)){let T=hp.createGeometry(new hp({radii:new Z(1,1,1),slicePartitions:256,stackPartitions:256,vertexFormat:Pr.POSITION_ONLY}));B.vertexArray=hu.fromGeometry({context:x,geometry:T,attributeLocations:Zl.createAttributeLocations(T),bufferUsage:Gr.STATIC_DRAW}),B.renderState=Xr.fromCache({cull:{enabled:!0,face:pA.FRONT},blending:Nl.ALPHA_BLEND,depthMask:!1})}let Q=y|v<<2|I<<3;if(Q!==this._flags){this._flags=Q;let T=[];y&&T.push("COLOR_CORRECT"),v&&T.push("PER_FRAGMENT_ATMOSPHERE"),I&&T.push("GLOBE_TRANSLUCENT");let w=new _r({defines:T,sources:[I4,nee,Wve]}),S=new _r({defines:T,sources:[I4,nee,Kve]});this._spSkyAtmosphere=qa.fromCache({context:x,vertexShaderSource:w,fragmentShaderSource:S}),B.shaderProgram=this._spSkyAtmosphere}return B};function pIi(o){return!(Be.equalsEpsilon(o.hueShift,0,Be.EPSILON7)&&Be.equalsEpsilon(o.saturationShift,0,Be.EPSILON7)&&Be.equalsEpsilon(o.brightnessShift,0,Be.EPSILON7))}p8.prototype.isDestroyed=function(){return!1};p8.prototype.destroy=function(){let o=this._command;return o.vertexArray=o.vertexArray&&o.vertexArray.destroy(),this._spSkyAtmosphere=this._spSkyAtmosphere&&this._spSkyAtmosphere.destroy(),Ar(this)};var SJ=p8;function wne(o){this.sources=o.sources,this._sources=void 0,this.show=oe(o.show,!0),this._command=new fn({modelMatrix:Re.clone(Re.IDENTITY),owner:this}),this._cubeMap=void 0,this._attributeLocations=void 0,this._useHdr=void 0}wne.prototype.update=function(o,A){let f=this;if(!this.show||o.mode!==ni.SCENE3D&&o.mode!==ni.MORPHING||!o.passes.render)return;let m=o.context;if(this._sources!==this.sources){this._sources=this.sources;let E=this.sources;typeof E.positiveX=="string"?Tve(m,this._sources).then(function(x){f._cubeMap=f._cubeMap&&f._cubeMap.destroy(),f._cubeMap=x}):(this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),this._cubeMap=new Ew({context:m,source:E}))}let C=this._command;if(!O(C.vertexArray)){C.uniformMap={u_cubeMap:function(){return f._cubeMap}};let E=FD.createGeometry(FD.fromDimensions({dimensions:new Z(2,2,2),vertexFormat:Pr.POSITION_ONLY})),x=this._attributeLocations=Zl.createAttributeLocations(E);C.vertexArray=hu.fromGeometry({context:m,geometry:E,attributeLocations:x,bufferUsage:Gr.STATIC_DRAW}),C.renderState=Xr.fromCache({blending:Nl.ALPHA_BLEND})}if(!O(C.shaderProgram)||this._useHdr!==A){let E=new _r({defines:[A?"HDR":""],sources:[jve]});C.shaderProgram=qa.fromCache({context:m,vertexShaderSource:qve,fragmentShaderSource:E,attributeLocations:this._attributeLocations}),this._useHdr=A}if(O(this._cubeMap))return C};wne.prototype.isDestroyed=function(){return!1};wne.prototype.destroy=function(){let o=this._command;return o.vertexArray=o.vertexArray&&o.vertexArray.destroy(),o.shaderProgram=o.shaderProgram&&o.shaderProgram.destroy(),this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),Ar(this)};var Y3=wne;function DJ(){this.show=!0,this._drawCommand=new fn({primitiveType:on.TRIANGLES,boundingVolume:new hi,owner:this}),this._commands={drawCommand:this._drawCommand,computeCommand:void 0},this._boundingVolume=new hi,this._boundingVolume2D=new hi,this._texture=void 0,this._drawingBufferWidth=void 0,this._drawingBufferHeight=void 0,this._radiusTS=void 0,this._size=void 0,this.glowFactor=1,this._glowFactorDirty=!1,this._useHdr=void 0;let o=this;this._uniformMap={u_texture:function(){return o._texture},u_size:function(){return o._size}}}Object.defineProperties(DJ.prototype,{glowFactor:{get:function(){return this._glowFactor},set:function(o){o=Math.max(o,0),this._glowFactor=o,this._glowFactorDirty=!0}}});var mIi=new rt,CIi=new rt,EIi=new zt,GV=new zt;DJ.prototype.update=function(o,A,f){if(!this.show)return;let m=o.mode;if(m===ni.SCENE2D||m===ni.MORPHING||!o.passes.render)return;let C=o.context,E=A.viewport.width,x=A.viewport.height;if(!O(this._texture)||E!==this._drawingBufferWidth||x!==this._drawingBufferHeight||this._glowFactorDirty||f!==this._useHdr){this._texture=this._texture&&this._texture.destroy(),this._drawingBufferWidth=E,this._drawingBufferHeight=x,this._glowFactorDirty=!1,this._useHdr=f;let F=Math.max(E,x);F=Math.pow(2,Math.ceil(Math.log(F)/Math.log(2))-2),F=Math.max(1,F);let k=f?C.halfFloatingPointTexture?$r.HALF_FLOAT:$r.FLOAT:$r.UNSIGNED_BYTE;this._texture=new Nn({context:C,width:F,height:F,pixelFormat:rn.RGBA,pixelDatatype:k}),this._glowLengthTS=this._glowFactor*5,this._radiusTS=1/(1+2*this._glowLengthTS)*.5;let N=this,G={u_radiusTS:function(){return N._radiusTS}};this._commands.computeCommand=new TN({fragmentShaderSource:Zve,outputTexture:this._texture,uniformMap:G,persists:!1,owner:this,postExecute:function(){N._commands.computeCommand=void 0}})}let y=this._drawCommand;if(!O(y.vertexArray)){let F={direction:0},k=new Uint8Array(4*2);k[0]=0,k[1]=0,k[2]=255,k[3]=0,k[4]=255,k[5]=255,k[6]=0,k[7]=255;let N=Wn.createVertexBuffer({context:C,typedArray:k,usage:Gr.STATIC_DRAW}),G=[{index:F.direction,vertexBuffer:N,componentsPerAttribute:2,normalize:!0,componentDatatype:Ft.UNSIGNED_BYTE}],J=Wn.createIndexBuffer({context:C,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:Gr.STATIC_DRAW,indexDatatype:Bn.UNSIGNED_SHORT});y.vertexArray=new hu({context:C,attributes:G,indexBuffer:J}),y.shaderProgram=qa.fromCache({context:C,vertexShaderSource:eBe,fragmentShaderSource:Xve,attributeLocations:F}),y.renderState=Xr.fromCache({blending:Nl.ALPHA_BLEND}),y.uniformMap=this._uniformMap}let I=C.uniformState.sunPositionWC,v=C.uniformState.sunPositionColumbusView,B=this._boundingVolume,Q=this._boundingVolume2D;Z.clone(I,B.center),Q.center.x=v.z,Q.center.y=v.x,Q.center.z=v.y,B.radius=Be.SOLAR_RADIUS+Be.SOLAR_RADIUS*this._glowLengthTS,Q.radius=B.radius,m===ni.SCENE3D?hi.clone(B,y.boundingVolume):m===ni.COLUMBUS_VIEW&&hi.clone(Q,y.boundingVolume);let T=ms.computeActualWgs84Position(o,I,GV),w=Z.magnitude(Z.subtract(T,o.camera.position,GV)),S=C.uniformState.projection,D=EIi;D.x=0,D.y=0,D.z=-w,D.w=1;let R=Re.multiplyByVector(S,D,GV),P=ms.clipToGLWindowCoordinates(A.viewport,R,mIi);D.x=Be.SOLAR_RADIUS;let M=Re.multiplyByVector(S,D,GV),L=ms.clipToGLWindowCoordinates(A.viewport,M,CIi);return this._size=rt.magnitude(rt.subtract(L,P,GV)),this._size=2*this._size*(1+2*this._glowLengthTS),this._size=Math.ceil(this._size),this._commands};DJ.prototype.isDestroyed=function(){return!1};DJ.prototype.destroy=function(){let o=this._drawCommand;return o.vertexArray=o.vertexArray&&o.vertexArray.destroy(),o.shaderProgram=o.shaderProgram&&o.shaderProgram.destroy(),this._texture=this._texture&&this._texture.destroy(),Ar(this)};var j1e=DJ;function kU(o){return ja(`Assets/Textures/SkyBox/skyBox_${o}.jpg`)}function xIi(o){o._renderLoopRunning=!0;let A=0;function f(m){if(!o.isDestroyed())if(o._useDefaultRenderLoop)try{let C=o._targetFrameRate;if(!O(C))o.resize(),o.render(),requestAnimationFrame(f);else{let E=1e3/C,x=m-A;x>E&&(o.resize(),o.render(),A=m-x%E),requestAnimationFrame(f)}}catch(C){if(o._useDefaultRenderLoop=!1,o._renderLoopRunning=!1,o._showRenderLoopErrors){let E="An error occurred while rendering. Rendering has stopped.";o.showErrorPanel(E,void 0,C)}}else o._renderLoopRunning=!1}requestAnimationFrame(f)}function Ait(o){let A=o._useBrowserRecommendedResolution?1:window.devicePixelRatio;return A*=o._resolutionScale,O(o._scene)&&(o._scene.pixelRatio=A),A}function cit(o){let A=o._canvas,f=A.clientWidth,m=A.clientHeight,C=Ait(o);o._canvasClientWidth=f,o._canvasClientHeight=m,f*=C,m*=C,A.width=f,A.height=m,o._canRender=f!==0&&m!==0,o._lastDevicePixelRatio=window.devicePixelRatio}function hit(o){let A=o._canvas,f=A.width,m=A.height;if(f!==0&&m!==0){let C=o._scene.camera.frustum;O(C.aspectRatio)?C.aspectRatio=f/m:(C.top=C.right*(m/f),C.bottom=-C.top)}}function J3(o,A){o=tc(o),A=oe(A,oe.EMPTY_OBJECT);let f=document.createElement("div");f.className="map-widget",o.appendChild(f);let m=document.createElement("canvas");m.setAttribute("id","mapRenderCanvas");let C=wo.supportsImageRenderingPixelated();this._supportsImageRenderingPixelated=C,C&&(m.style.imageRendering=wo.imageRenderingValue()),m.oncontextmenu=function(){return!1},m.onselectstart=function(){return!1};function E(){m!==m.ownerDocument.activeElement&&m.ownerDocument.activeElement.blur()}oe(A.blurActiveElementOnCanvasFocus,!0)&&(m.addEventListener("mousedown",E),m.addEventListener("pointerdown",E)),f.appendChild(m);let x=document.createElement("div");x.className="map-widget-credits";let y=O(A.creditContainer)?tc(A.creditContainer):f;y.appendChild(x);let I=O(A.creditViewport)?tc(A.creditViewport):f,v=oe(A.showRenderLoopErrors,!0),B=oe(A.useBrowserRecommendedResolution,!0);this._element=f,this._container=o,this._canvas=m,this._canvasClientWidth=0,this._canvasClientHeight=0,this._lastDevicePixelRatio=0,this._creditViewport=I,this._creditContainer=y,this._innerCreditContainer=x,this._canRender=!1,this._renderLoopRunning=!1,this._showRenderLoopErrors=v,this._resolutionScale=1,this._useBrowserRecommendedResolution=B,this._forceResize=!1,this._clock=O(A.clock)?A.clock:new mG,cit(this);try{let Q=new W1e({canvas:m,contextOptions:A.contextOptions,creditContainer:x,creditViewport:I,mapProjection:A.mapProjection,orderIndependentTranslucency:A.orderIndependentTranslucency,scene3DOnly:oe(A.scene3DOnly,!1),shadows:A.shadows,mapMode2D:A.mapMode2D,requestRenderMode:A.requestRenderMode,maximumRenderTimeChange:A.maximumRenderTimeChange,depthPlaneEllipsoidOffset:A.depthPlaneEllipsoidOffset,msaaSamples:A.msaaSamples});this._scene=Q,Q.camera.constrainedAxis=Z.UNIT_Z,Ait(this),hit(this);let T=null;A.contextOptions&&(A.contextOptions.ellipsoidCoordinates==="CGCS2000"?T=Ci.CGCS2000:A.contextOptions.ellipsoidCoordinates==="MOON"||A.contextOptions.ellipsoidCoordinates==="MOON2000"?T=Ci.MOON2000:T=oe(Q.mapProjection.ellipsoid,Ci.WGS84),cE.ellipsoidCoordinates=A.contextOptions.ellipsoidCoordinates);let w=A.globe;O(w)||(w=new _we(T,Q)),w!==!1&&(Q.globe=w,Q.globe.shadows=oe(A.terrainShadows,Ns.RECEIVE_ONLY));let S=A.skyBox;O(S)||(S=new Y3({sources:{positiveX:kU("px"),negativeX:kU("mx"),positiveY:kU("py"),negativeY:kU("my"),positiveZ:kU("pz"),negativeZ:kU("mz")}})),S!==!1&&(Q.skyBox=S,Q.sun=new j1e,Q.moon=new Qwe);let D=A.skyAtmosphere;O(D)||(D=new SJ(T)),D!==!1&&(Q.skyAtmosphere=D),O(A.imageryProvider)&&ii("CesiumWidget options.imageryProvider","options.imageryProvider was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use options.baseLayer instead.");let R=A.baseLayer;A.globe!==!1&&R!==!1&&A.imageryProvider!==!1&&(O(A.imageryProvider)&&!O(R)&&(R=new oE(A.imageryProvider)),O(R)||(R=oE.fromWorldImagery()),Q.imageryLayers.add(R)),O(A.terrainProvider)&&A.globe!==!1&&(Q.terrainProvider=A.terrainProvider),O(A.terrain)&&A.globe!==!1&&Q.setTerrain(A.terrain),this._screenSpaceEventHandler=new cr(m),O(A.sceneMode)&&(A.sceneMode===ni.SCENE2D&&this._scene.morphTo2D(0),A.sceneMode===ni.COLUMBUS_VIEW&&this._scene.morphToColumbusView(0)),this._useDefaultRenderLoop=void 0,this.useDefaultRenderLoop=oe(A.useDefaultRenderLoop,!0),this._targetFrameRate=void 0,this.targetFrameRate=A.targetFrameRate;let P=this;this._onRenderError=function(M,L){if(P._useDefaultRenderLoop=!1,P._renderLoopRunning=!1,P._showRenderLoopErrors){let F="An error occurred while rendering. Rendering has stopped.";P.showErrorPanel(F,void 0,L)}},Q.renderError.addEventListener(this._onRenderError)}catch(Q){if(v){let T="Error constructing CesiumWidget.",w='Visit <a href="http://get.webgl.org">http://get.webgl.org</a> to verify that your web browser and hardware support WebGL. Consider trying a different web browser or updating your video drivers. Detailed error information is below:';this.showErrorPanel(T,w,Q)}throw Q}}Object.defineProperties(J3.prototype,{container:{get:function(){return this._container}},canvas:{get:function(){return this._canvas}},creditContainer:{get:function(){return this._creditContainer}},creditViewport:{get:function(){return this._creditViewport}},scene:{get:function(){return this._scene}},imageryLayers:{get:function(){return this._scene.imageryLayers}},terrainProvider:{get:function(){return this._scene.terrainProvider},set:function(o){this._scene.terrainProvider=o}},creditDisplay:{get:function(){return this._scene.frameState.creditDisplay}},camera:{get:function(){return this._scene.camera}},clock:{get:function(){return this._clock}},screenSpaceEventHandler:{get:function(){return this._screenSpaceEventHandler}},targetFrameRate:{get:function(){return this._targetFrameRate},set:function(o){this._targetFrameRate=o}},useDefaultRenderLoop:{get:function(){return this._useDefaultRenderLoop},set:function(o){this._useDefaultRenderLoop!==o&&(this._useDefaultRenderLoop=o,o&&!this._renderLoopRunning&&xIi(this))}},resolutionScale:{get:function(){return this._resolutionScale},set:function(o){this._resolutionScale!==o&&(this._resolutionScale=o,this._forceResize=!0)}},useBrowserRecommendedResolution:{get:function(){return this._useBrowserRecommendedResolution},set:function(o){this._useBrowserRecommendedResolution!==o&&(this._useBrowserRecommendedResolution=o,this._forceResize=!0)}}});J3.prototype.showErrorPanel=function(o,A,f){let m=this._element,C=document.createElement("div");C.className="map-widget-errorPanel";let E=document.createElement("div");E.className="map-widget-errorPanel-content",C.appendChild(E);let x=document.createElement("div");x.className="map-widget-errorPanel-header",x.appendChild(document.createTextNode(o)),E.appendChild(x);let y=document.createElement("div");y.className="map-widget-errorPanel-scroll",E.appendChild(y);function I(){y.style.maxHeight=`${Math.max(Math.round(m.clientHeight*.9-100),30)}px`}I(),O(window.addEventListener)&&window.addEventListener("resize",I,!1);let v=O(A),B=O(f);if(v||B){let w=document.createElement("div");if(w.className="map-widget-errorPanel-message",y.appendChild(w),B){let S=F4(f);v||(typeof f=="string"&&(f=new Error(f)),A=F4({name:f.name,message:f.message}),S=f.stack),typeof console<"u"&&console.error(`${o} ${A} ${S}`);let D=document.createElement("div");D.className="map-widget-errorPanel-message-details collapsed";let R=document.createElement("span");R.className="map-widget-errorPanel-more-details",R.appendChild(document.createTextNode("See more...")),D.appendChild(R),D.onclick=function(P){D.removeChild(R),D.appendChild(document.createTextNode(S)),D.className="map-widget-errorPanel-message-details",E.className="map-widget-errorPanel-content expanded",D.onclick=void 0},y.appendChild(D)}w.innerHTML=`<p>${A}</p>`}let Q=document.createElement("div");Q.className="map-widget-errorPanel-buttonPanel",E.appendChild(Q);let T=document.createElement("button");T.setAttribute("type","button"),T.className="map-button",T.appendChild(document.createTextNode("OK")),T.onclick=function(){O(I)&&O(window.removeEventListener)&&window.removeEventListener("resize",I,!1),m.removeChild(C)},Q.appendChild(T),m.appendChild(C)};J3.prototype.isDestroyed=function(){return!1};J3.prototype.destroy=function(){O(this._scene)&&(this._scene.renderError.removeEventListener(this._onRenderError),this._scene=this._scene.destroy()),this._container.removeChild(this._element),this._creditContainer.removeChild(this._innerCreditContainer),Ar(this)};J3.prototype.resize=function(){let o=this._canvas;!this._forceResize&&this._canvasClientWidth===o.clientWidth&&this._canvasClientHeight===o.clientHeight&&this._lastDevicePixelRatio===window.devicePixelRatio||(this._forceResize=!1,cit(this),hit(this),this._scene.requestRender())};J3.prototype.render=function(){if(this._canRender){this._scene.initializeFrame();let o=this._clock.tick();this._scene.render(o)}else this._clock.tick()};var TJ=J3;function wT(){this._flattenPolygons=[],this._needUpdateFlatten=!1,this._updateFlattenInternal=!1,this._defautTexture=void 0,this._flattenBounds=new zt,this._polygonDepth=void 0,this._matMW=Re.IDENTITY,this._flattenOriginPoint=void 0}Object.defineProperties(wT.prototype,{needUpdateFlatten:{get:function(){return this._needUpdateFlatten},set:function(o){this._needUpdateFlatten=o}},flattenPolygons:{get:function(){return this._flattenPolygons},set:function(o){!O(o)||!O(o.length)?this._flattenPolygons=[]:this._flattenPolygons=o,this._updateFlattenInternal=!0}},localViewMatrix:{get:function(){return this._matMW},set:function(o){this._matMW=o}}});wT.prototype.initailize=function(o){if(this._flattenPolygons.length>0){O(this._polygonDepth)||(this._polygonDepth=new m4),this._polygonDepth._flattenPolygonDrawCommands=[];let A={position:0},f=new Re;Re.inverse(this._matMW,f);let m=new vr,C=[];for(let E=0;E<this._flattenPolygons.length;E++){let x=o.context,y=this._flattenPolygons[E],I=nJ.createGeometry(y),v=I.attributes.position.values;for(let R=0;R<v.length/3;R++){let P=new Z(0,0,0);P.x=v[3*R],P.y=v[3*R+1],P.z=v[3*R+2],Re.multiplyByPoint(f,P,P),C.push(P),I.attributes.position.values[3*R]=P.x,I.attributes.position.values[3*R+1]=P.y,I.attributes.position.values[3*R+2]=P.z}let B=hi.transform(I.boundingSphere,f);I.boundingSphere=B;let Q=hu.fromGeometry({context:x,geometry:I,attributeLocations:A,bufferUsage:Gr.STATIC_DRAW,interleave:!0}),T=qa.fromCache({context:x,vertexShaderSource:hre,fragmentShaderSource:cre}),w=new Xr;w.depthTest.enabled=!0,w.cull.enabled=!0,w.cull.face=li.BACK;let S={},D=new fn({boundingVolume:B,modelMatrix:new Re,primitiveType:on.TRIANGLES,vertexArray:Q,shaderProgram:T,uniformMap:S,renderState:w,pass:Yi.GLOBE});this._polygonDepth._flattenPolygonDrawCommands.push(D)}vr.fromPoints(C,m),this._flattenBounds.x=m.x,this._flattenBounds.y=m.y+m.height,this._flattenBounds.z=m.x+m.width,this._flattenBounds.w=m.y,this._polygonDepth.updateFrustum(this._flattenBounds.x,this._flattenBounds.y,this._flattenBounds.z,this._flattenBounds.w)}};wT.prototype.addFlattenPolygon=function(o){this._flattenPolygons.push(o),this._updateFlattenInternal=!0,this._needUpdateFlatten=!0};wT.prototype.removeFlattenPolygon=function(o){for(let A=0;A<this._flattenPolygons.length;A++)if(this._flattenPolygons[A]===o){this._flattenPolygons.splice(A,1),this._updateFlattenInternal=!0,O(this._polygonDepth)||(this._polygonDepth=new m4),this._polygonDepth.destroy(),this._polygonDepth=void 0;break}};wT.prototype.clearFlattenPolygon=function(){O(this._polygonDepth)&&(this._polygonDepth._flattenPolygonDrawCommands=[],this._polygonDepth.destroy(),this._polygonDepth=void 0),this._flattenPolygons=[],this._needUpdateFlatten=!1,this._updateFlattenInternal=!1};wT.prototype.update=function(o,A,f){this._frameState=o,O(this._defautTexture)||(this._defautTexture=new Nn({context:this._frameState.context,width:2,height:2})),this._needUpdateFlatten===!0&&O(this._flattenPolygons)&&this._flattenPolygons.length>0&&(this._updateFlattenInternal===!0&&(O(this._polygonDepth)?(this._polygonDepth.destroy(),this._polygonDepth=void 0,this.initailize(o)):this.initailize(o)),O(this._polygonDepth)&&this._polygonDepth.update(o),this._updateFlattenInternal=!1)};wT.getShader=function(o){};wT.prototype.getUniformMap=function(){let o=this,A={};return A.u_polygonTexture=function(){return O(o._polygonDepth)?o._polygonDepth._colorTexture:o._defautTexture},A.u_polygonBounds=function(){return o._flattenBounds},A.u_bFlatten=function(){return!!(o._needUpdateFlatten===!0&&O(o._polygonDepth))},A.u_eastNorthUpToFixedFrame=function(){return o.localViewMatrix},A.u_r_eastNorthUpToFixedFrame=function(){let f=new Re;return Re.inverse(o.localViewMatrix,f),f},A};var yIi=wT,q1e=yIi;function m8(o){this._scene=o,this._flattenPolygons=[],this._polygonTexture=new q1e,this._clipPlaneOfFlatten=!1,this._ripple=!1,this._snow=!1,this._regionAlpha=.8,this._regionGradientDistance=10,this._heightFog=!1,this._fogheight=100}Object.defineProperties(m8.prototype,{clipPlaneOfFlatten:{get:function(){return this._clipPlaneOfFlatten},set:function(o){this._clipPlaneOfFlatten=o}},ripple:{get:function(){return this._ripple},set:function(o){this._ripple=o}},snow:{get:function(){return this._snow},set:function(o){this._snow=o}},heightFog:{get:function(){return this._heightFog},set:function(o){this._heightFog=o}},disabled:{set:function(o){this.ripple=o,this.snow=o,this.heightFog=o}}});m8.prototype.addPolygon=function(o){this._flattenPolygons.push(o)};m8.prototype.clearPolygon=function(){this._flattenPolygons=[];let o=this._polygonTexture,A=this._scene,f={flattenBounds:[],flattenPolygons:[],flattenPolygonHeights:[]};A.globe.flattenPolygonRegion=f,A.globe.flattenUniforms=void 0,o.clearFlattenPolygon()};function dit(o){let A=null,f=[];for(let C=0;C<o.length;C+=3){let E=o[C];if(E instanceof Array)A=dit(E);else{let x=o[C],y=o[C+1],I=o[C+2];f.push(x,y,I)}}let m=null;return A?m={positions:Z.fromDegreesArrayHeights(f),holes:[A]}:m={positions:Z.fromDegreesArrayHeights(f)},m}m8.prototype.generatePolygonTexture=function(){let o=this._scene,A=this._polygonTexture,f=this._flattenPolygons;if(f.length<1)return;for(let y=0;y<f.length;y++){let I=f[y],v=dit(I),B=new nJ({polygonHierarchy:v,extrudedHeight:10,perPositionHeight:!0});A.addFlattenPolygon(B)}let m=f[0][0],C=f[0][1],E=new Z.fromDegrees(m,C,-2e3),x=kr.eastNorthUpToFixedFrame(E);A.localViewMatrix=x,A.update(o._frameState)};m8.prototype.update=function(){let o=this._scene,A=this._polygonTexture,f=this._flattenPolygons;if(f.length<1)return;this.generatePolygonTexture();let m={flattenBounds:[],flattenPolygons:[],flattenPolygonHeights:[],enableFlatten:!1},C=-100;for(let y=0;y<f.length;y++){let I=f[y],v=new vr,B=[],Q=[],T=0,w=0;for(let D=0;D<I.length/3;D++){let R=I[3*D];if(R instanceof Array)console.log("");else{let P=I[3*D+1],M=new Z(R,P,0);B.push(M),Q.push([Be.toRadians(R),Be.toRadians(P)]),T=Math.max(I[3*D+2],T),w=Math.min(I[3*D+2],w),C=Math.min(C,w)}}vr.fromPoints(B,v);let S=new zt(v.x,v.y+v.height,v.x+v.width,v.y);m.flattenBounds.push(S),m.flattenPolygons.push(Q),m.flattenPolygonHeights.push({maxHeight:T+2,minHeight:w-2}),m.enableFlatten=!0}o.globe.flattenPolygonRegion=m;let E=A.getUniformMap();E.u_minFlattenHeight=function(){return C};let x=this;E.u_clipPlaneOfFlatten=function(){return x.clipPlaneOfFlatten},E.u_ripple=function(){return x.ripple},E.u_regionSnow=function(){return x.snow},E.u_regionAlpha=function(){return x.regionAlpha},E.u_regionGradientDistance=function(){return x.regionGradientDistance},E.u_heightFog=function(){return x.heightFog},E.u_fogHeight=function(){return x.fogHeight},o.globe.flattenUniforms=E,o.requestRender()};var bT=m8;function C8(o,A){this._tilingScheme=o,this._maximumLevel=A,this._rootNodes=[]}var NF=new gi;function IIi(o,A,f,m){let C=m.length;for(let E=0;E<C;++E){let x=m[E];if(x.x===A&&x.y===f&&x.level===o)return!0}return!1}C8.prototype.addAvailableTileRange=function(o,A,f,m,C){let E=this._tilingScheme,x=this._rootNodes;if(o===0)for(let T=f;T<=C;++T)for(let w=A;w<=m;++w)IIi(o,w,T,x)||x.push(new $U(E,void 0,0,w,T));E.tileXYToRectangle(A,f,o,NF);let y=NF.west,I=NF.north;E.tileXYToRectangle(m,C,o,NF);let v=NF.east,B=NF.south,Q=new bIi(o,y,B,v,I);for(let T=0;T<x.length;++T){let w=x[T];X1e(w.extent,Q)&&QIi(this._maximumLevel,w,Q)}};C8.prototype.computeMaximumLevelAtPosition=function(o){let A;for(let f=0;f<this._rootNodes.length;++f){let m=this._rootNodes[f];if(e5(m.extent,o)){A=m;break}}return O(A)?f7(void 0,A,o):-1};var _Ii=[],vIi=[],BIi=new gi,wIi=new gi;C8.prototype.computeBestAvailableLevelOverRectangle=function(o){let A=_Ii;A.length=0,o.east<o.west?(A.push(gi.fromRadians(-Math.PI,o.south,o.east,o.north,BIi)),A.push(gi.fromRadians(o.west,o.south,Math.PI,o.north,wIi))):A.push(o);let f=vIi;f.length=0;let m;for(m=0;m<this._rootNodes.length;++m)g7(f,this._rootNodes[m],A);for(m=f.length-1;m>=0;--m)if(O(f[m])&&f[m].length===0)return m;return 0};var A8e=new Rt;C8.prototype.isTileAvailable=function(o,A,f){let m=this._tilingScheme.tileXYToRectangle(A,f,o,NF);return gi.center(m,A8e),this.computeMaximumLevelAtPosition(A8e)>=o};C8.prototype.computeChildMaskForTile=function(o,A,f){let m=o+1;if(m>=this._maximumLevel)return 0;let C=0;return C|=this.isTileAvailable(m,2*A,2*f+1)?1:0,C|=this.isTileAvailable(m,2*A+1,2*f+1)?2:0,C|=this.isTileAvailable(m,2*A,2*f)?4:0,C|=this.isTileAvailable(m,2*A+1,2*f)?8:0,C};function $U(o,A,f,m,C){this.tilingScheme=o,this.parent=A,this.level=f,this.x=m,this.y=C,this.extent=o.tileXYToRectangle(m,C,f),this.rectangles=[],this._sw=void 0,this._se=void 0,this._nw=void 0,this._ne=void 0}Object.defineProperties($U.prototype,{nw:{get:function(){return this._nw||(this._nw=new $U(this.tilingScheme,this,this.level+1,this.x*2,this.y*2)),this._nw}},ne:{get:function(){return this._ne||(this._ne=new $U(this.tilingScheme,this,this.level+1,this.x*2+1,this.y*2)),this._ne}},sw:{get:function(){return this._sw||(this._sw=new $U(this.tilingScheme,this,this.level+1,this.x*2,this.y*2+1)),this._sw}},se:{get:function(){return this._se||(this._se=new $U(this.tilingScheme,this,this.level+1,this.x*2+1,this.y*2+1)),this._se}}});function bIi(o,A,f,m,C){this.level=o,this.west=A,this.south=f,this.east=m,this.north=C}function X1e(o,A){let f=Math.max(o.west,A.west),m=Math.max(o.south,A.south),C=Math.min(o.east,A.east),E=Math.min(o.north,A.north);return m<E&&f<C}function QIi(o,A,f){for(;A.level<o;)if(FX(A.nw.extent,f))A=A.nw;else if(FX(A.ne.extent,f))A=A.ne;else if(FX(A.sw.extent,f))A=A.sw;else if(FX(A.se.extent,f))A=A.se;else break;if(A.rectangles.length===0||A.rectangles[A.rectangles.length-1].level<=f.level)A.rectangles.push(f);else{let m=d0(A.rectangles,f.level,SIi);m<0&&(m=~m),A.rectangles.splice(m,0,f)}}function SIi(o,A){return o.level-A}function FX(o,A){return A.west>=o.west&&A.east<=o.east&&A.south>=o.south&&A.north<=o.north}function e5(o,A){return A.longitude>=o.west&&A.longitude<=o.east&&A.latitude>=o.south&&A.latitude<=o.north}function f7(o,A,f){let m=0,C=!1;for(;!C;){let E=A._nw&&e5(A._nw.extent,f),x=A._ne&&e5(A._ne.extent,f),y=A._sw&&e5(A._sw.extent,f),I=A._se&&e5(A._se.extent,f);if(E+x+y+I>1){E&&(m=Math.max(m,f7(A,A._nw,f))),x&&(m=Math.max(m,f7(A,A._ne,f))),y&&(m=Math.max(m,f7(A,A._sw,f))),I&&(m=Math.max(m,f7(A,A._se,f)));break}else E?A=A._nw:x?A=A._ne:y?A=A._sw:I?A=A._se:C=!0}for(;A!==o;){let E=A.rectangles;for(let x=E.length-1;x>=0&&E[x].level>m;--x){let y=E[x];e5(y,f)&&(m=y.level)}A=A.parent}return m}function g7(o,A,f){if(!A)return;let m,C=!1;for(m=0;m<f.length;++m)C=C||X1e(A.extent,f[m]);if(!C)return;let E=A.rectangles;for(m=0;m<E.length;++m){let x=E[m];o[x.level]||(o[x.level]=f),o[x.level]=DIi(o[x.level],x)}g7(o,A._nw,f),g7(o,A._ne,f),g7(o,A._sw,f),g7(o,A._se,f)}function DIi(o,A){let f=[];for(let m=0;m<o.length;++m){let C=o[m];X1e(C,A)?(C.west<A.west&&f.push(new gi(C.west,C.south,A.west,C.north)),C.east>A.east&&f.push(new gi(A.east,C.south,C.east,C.north)),C.south<A.south&&f.push(new gi(Math.max(A.west,C.west),C.south,Math.min(A.east,C.east),A.south)),C.north>A.north&&f.push(new gi(Math.max(A.west,C.west),A.north,Math.min(A.east,C.east),C.north))):f.push(C)}return f}var gP=C8,TIi=15;function Z1e(o){this.ellipsoid=oe(o.ellipsoid,Ci.WGS84),this.credit=void 0,this.tilingScheme=void 0,this.height=void 0,this.width=void 0,this.encoding=void 0,this.lodCount=void 0,this.hasAvailability=!1,this.tilesAvailable=void 0,this.tilesAvailabilityLoaded=void 0,this.levelZeroMaximumGeometricError=void 0,this.terrainDataStructure=void 0}Z1e.prototype.build=function(o){o._credit=this.credit,o._tilingScheme=this.tilingScheme,o._height=this.height,o._width=this.width,o._encoding=this.encoding,o._lodCount=this.lodCount,o._hasAvailability=this.hasAvailability,o._tilesAvailable=this.tilesAvailable,o._tilesAvailabilityLoaded=this.tilesAvailabilityLoaded,o._levelZeroMaximumGeometricError=this.levelZeroMaximumGeometricError,o._terrainDataStructure=this.terrainDataStructure,o._ready=!0};function MIi(o,A){let f=A.copyrightText;O(f)&&(o.credit=new Qa(f));let m=A.spatialReference,C=oe(m.latestWkid,m.wkid),E=A.extent,x={ellipsoid:o.ellipsoid};if(C===4326)x.rectangle=gi.fromDegrees(E.xmin,E.ymin,E.xmax,E.ymax),o.tilingScheme=new th(x),o.tilingScheme.bounds=[E.xmin,E.ymin,E.xmax,E.ymax];else if(C===3857){let I=Math.PI*o.ellipsoid.maximumRadius;A.extent.xmax>I&&(A.extent.xmax=I),A.extent.ymax>I&&(A.extent.ymax=I),A.extent.xmin<-I&&(A.extent.xmin=-I),A.extent.ymin<-I&&(A.extent.ymin=-I),x.rectangleSouthwestInMeters=new rt(E.xmin,E.ymin),x.rectangleNortheastInMeters=new rt(E.xmax,E.ymax),o.tilingScheme=new Zf(x),o.tilingScheme.bounds=[E.xmin,E.ymin,E.xmax,E.ymax]}else throw new ki("Invalid spatial reference");let y=A.tileInfo;if(!O(y))throw new ki("tileInfo is required");o.width=y.rows+1,o.height=y.cols+1,o.encoding=y.format==="LERC"?HP.LERC:HP.NONE,o.lodCount=y.lods.length-1,(o.hasAvailability=A.capabilities.indexOf("Tilemap")!==-1)&&(o.tilesAvailable=new gP(o.tilingScheme,o.lodCount),o.tilesAvailable.addAvailableTileRange(0,0,0,o.tilingScheme.getNumberOfXTilesAtLevel(0),o.tilingScheme.getNumberOfYTilesAtLevel(0)),o.tilesAvailabilityLoaded=new gP(o.tilingScheme,o.lodCount)),o.levelZeroMaximumGeometricError=uC.getEstimatedLevelZeroGeometricErrorForAHeightmap(o.tilingScheme.ellipsoid,o.width,o.tilingScheme.getNumberOfXTilesAtLevel(0)),A.bandCount>1&&console.log("ArcGISTiledElevationTerrainProvider: Terrain data has more than 1 band. Using the first one."),O(A.minValues)&&O(A.maxValues)?o.terrainDataStructure={elementMultiplier:1,lowestEncodedHeight:A.minValues[0],highestEncodedHeight:A.maxValues[0]}:o.terrainDataStructure={elementMultiplier:1}}async function fit(o,A,f){try{let m=await A.fetchJson();MIi(o,m)}catch(m){let C=`An error occurred while accessing ${A}.`;throw yh.reportError(void 0,f,O(f)?f._errorEvent:void 0,C),m}}function VP(o){o=oe(o,oe.EMPTY_OBJECT),this._resource=void 0,this._credit=void 0,this._tilingScheme=void 0,this._levelZeroMaximumGeometricError=void 0,this._maxLevel=void 0,this._terrainDataStructure=void 0,this._width=void 0,this._height=void 0,this._encoding=void 0,this._lodCount=void 0;let A=o.token;if(this._hasAvailability=!1,this._tilesAvailable=void 0,this._tilesAvailabilityLoaded=void 0,this._availableCache={},this._ready=!1,this._errorEvent=new ur,O(o.url)){ii("ArcGISTiledElevationTerrainProvider options.url","options.url was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ArcGISTiledElevationTerrainProvider.fromUrl instead.");let f=this,m=new Z1e(o);this._readyPromise=Promise.resolve(o.url).then(async function(C){let E=Cr.createIfNeeded(C);E.appendForwardSlash(),O(A)&&(E=E.getDerivedResource({queryParameters:{token:A}})),f._resource=E;let x=E.getDerivedResource({queryParameters:{f:"pjson"}});return await fit(m,x,f),m.build(f),!0})}}Object.defineProperties(VP.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return ii("ArcGISTiledElevationTerrainProvider.ready","ArcGISTiledElevationTerrainProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ArcGISTiledElevationTerrainProvider.fromUrl instead."),this._ready}},readyPromise:{get:function(){return ii("ArcGISTiledElevationTerrainProvider.readyPromise","ArcGISTiledElevationTerrainProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ArcGISTiledElevationTerrainProvider.fromUrl instead."),this._readyPromise}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){return this._tilesAvailable}}});VP.fromUrl=async function(o,A){A=oe(A,oe.EMPTY_OBJECT),o=await Promise.resolve(o);let f=Cr.createIfNeeded(o);f.appendForwardSlash(),O(A.token)&&(f=f.getDerivedResource({queryParameters:{token:A.token}}));let m=f.getDerivedResource({queryParameters:{f:"pjson"}}),C=new Z1e(A);await fit(C,m);let E=new VP(A);return C.build(E),E._resource=f,E};VP.prototype.requestTileGeometry=function(o,A,f,m){let C=this._resource.getDerivedResource({url:`tile/${f}/${A}/${o}`,request:m}),E=this._hasAvailability,x=Promise.resolve(!0),y;if(E&&!O($1e(this,f+1,o*2,A*2))){let Q=git(this,f+1,o*2,A*2);x=Q.promise,y=Q.request}let I=C.fetchArrayBuffer();if(!O(I)||!O(x))return;let v=this,B=this._tilesAvailable;return Promise.all([I,x]).then(function(Q){return new Rw({buffer:Q[0],width:v._width,height:v._height,childTileMask:E?B.computeChildMaskForTile(f,o,A):TIi,structure:v._terrainDataStructure,encoding:v._encoding})}).catch(function(Q){return O(y)&&y.state===Ju.CANCELLED?(m.cancel(),m.deferred.promise.finally(function(){return m.state=Ju.CANCELLED,Promise.reject(Q)})):Promise.reject(Q)})};function $1e(o,A,f,m){if(!o._hasAvailability)return;let C=o._tilesAvailabilityLoaded,E=o._tilesAvailable;if(A>o._lodCount)return!1;if(E.isTileAvailable(A,f,m))return!0;if(C.isTileAvailable(A,f,m))return!1}VP.prototype.getLevelMaximumGeometricError=function(o){return this._levelZeroMaximumGeometricError/(1<<o)};VP.prototype.getTileDataAvailable=function(o,A,f){if(!this._hasAvailability)return;let m=$1e(this,f,o,A);if(O(m))return m;git(this,f,o,A)};VP.prototype.loadTileDataAvailability=function(o,A,f){};function PIi(o,A,f,m){let C=A-1,E=f-1,x=m[o.y*A+o.x],y=[],I={startX:o.x,startY:o.y,endX:0,endY:0},v=new rt(o.x+1,o.y+1),B=!1,Q=!1;for(;!(B&&Q);){let T=v.x,w=Q?v.y+1:v.y;if(!B){for(let S=o.y;S<w;++S)if(m[S*A+v.x]!==x){B=!0;break}B?(y.push(new rt(v.x,o.y)),--v.x,--T,I.endX=v.x):v.x===C?(I.endX=v.x,B=!0):++v.x}if(!Q){let S=v.y*A;for(let D=o.x;D<=T;++D)if(m[S+D]!==x){Q=!0;break}Q?(y.push(new rt(o.x,v.y)),--v.y,I.endY=v.y):v.y===E?(I.endY=v.y,Q=!0):++v.y}}return{endingIndices:y,range:I,value:x}}function RIi(o,A,f,m,C){let E=[];if(C.every(function(y){return y===C[0]}))return C[0]===1&&E.push({startX:o,startY:A,endX:o+f-1,endY:A+m-1}),E;let x=[new rt(0,0)];for(;x.length>0;){let y=x.pop(),I=PIi(y,f,m,C);if(I.value===1){let B=I.range;B.startX+=o,B.endX+=o,B.startY+=A,B.endY+=A,E.push(B)}let v=I.endingIndices;v.length>0&&(x=x.concat(v))}return E}function git(o,A,f,m){if(!o._hasAvailability)return{};let C=Math.floor(f/128)*128,E=Math.floor(m/128)*128,x=Math.min(1<<A,128),y=`tilemap/${A}/${E}/${C}/${x}/${x}`,I=o._availableCache;if(O(I[y]))return I[y];let v=new lp({throttle:!1,throttleByServer:!0,type:II.TERRAIN}),B=o._resource.getDerivedResource({url:y,request:v}).fetchJson();return O(B)?(B=B.then(function(Q){let T=RIi(C,E,x,x,Q.data);o._tilesAvailabilityLoaded.addAvailableTileRange(A,C,E,C+x,E+x);let w=o._tilesAvailable;for(let S=0;S<T.length;++S){let D=T[S];w.addAvailableTileRange(A,D.startX,D.startY,D.endX,D.endY)}return $1e(o,A,f,m)}),I[y]={promise:B,request:v},B=B.finally(function(Q){return delete I[y],Q}),{promise:B,request:v}):{}}var bne=VP,pit="https://dev.virtualearth.net/REST/v1/Locations";function ebe(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.key;this._key=A;let f={key:A};O(o.culture)&&(f.culture=o.culture),this._resource=new Cr({url:pit,queryParameters:f}),this._credit=new Qa('<img src="http://dev.virtualearth.net/Branding/logo_powered_by.png"/>',!1)}Object.defineProperties(ebe.prototype,{url:{get:function(){return pit}},key:{get:function(){return this._key}},credit:{get:function(){return this._credit}}});ebe.prototype.geocode=async function(o){return this._resource.getDerivedResource({queryParameters:{query:o}}).fetchJsonp("jsonp").then(function(A){return A.resourceSets.length===0?[]:A.resourceSets[0].resources.map(function(f){let m=f.bbox,C=m[0],E=m[1],x=m[2],y=m[3];return{displayName:f.name,destination:gi.fromDegrees(E,C,y,x)}})})};var mit=ebe;function tbe(){}Object.defineProperties(tbe.prototype,{credit:{get:function(){}}});tbe.prototype.geocode=function(o){let A=o.match(/[^\s,\n]+/g);if(A.length===2||A.length===3){let f=+A[0],m=+A[1],C=A.length===3?+A[2]:300;if(isNaN(f)&&isNaN(m)){let E=/^(\d+.?\d*)([nsew])/i;for(let x=0;x<A.length;++x){let y=A[x].match(E);E.test(A[x])&&y.length===3&&(/^[ns]/i.test(y[2])?m=/^[n]/i.test(y[2])?+y[1]:-y[1]:/^[ew]/i.test(y[2])&&(f=/^[e]/i.test(y[2])?+y[1]:-y[1]))}}if(!isNaN(f)&&!isNaN(m)&&!isNaN(C)){let E={displayName:o,destination:Z.fromDegrees(f,m,C)};return Promise.resolve([E])}}return Promise.resolve([])};var ibe=tbe,LIi=new zt,c8e=new Z,OU=new Z;function FIi(o){let A=o.points,f=o.times;if(A.length<3){let m=f[0],C=1/(f[1]-m),E=A[0],x=A[1];return function(y,I){O(I)||(I=new Z);let v=(y-m)*C;return Z.lerp(E,x,v,I)}}return function(m,C){O(C)||(C=new Z);let E=o._lastTimeIndex=o.findTimeInterval(m,o._lastTimeIndex),x=(m-f[E])/(f[E+1]-f[E]),y=LIi;y.z=x,y.y=x*x,y.x=y.y*x,y.w=1;let I,v,B,Q,T;return E===0?(I=A[0],v=A[1],B=o.firstTangent,Q=Z.subtract(A[2],I,c8e),Z.multiplyByScalar(Q,.5,Q),T=Re.multiplyByVector(U9.hermiteCoefficientMatrix,y,y)):E===A.length-2?(I=A[E],v=A[E+1],Q=o.lastTangent,B=Z.subtract(v,A[E-1],c8e),Z.multiplyByScalar(B,.5,B),T=Re.multiplyByVector(U9.hermiteCoefficientMatrix,y,y)):(I=A[E-1],v=A[E],B=A[E+1],Q=A[E+2],T=Re.multiplyByVector(IR.catmullRomCoefficientMatrix,y,y)),C=Z.multiplyByScalar(I,T.x,C),Z.multiplyByScalar(v,T.y,OU),Z.add(C,OU,C),Z.multiplyByScalar(B,T.z,OU),Z.add(C,OU,C),Z.multiplyByScalar(Q,T.w,OU),Z.add(C,OU,C)}}var NIi=new Z,kIi=new Z;function IR(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.points,f=o.times,m=o.firstTangent,C=o.lastTangent;if(A.length>2&&(O(m)||(m=NIi,Z.multiplyByScalar(A[1],2,m),Z.subtract(m,A[2],m),Z.subtract(m,A[0],m),Z.multiplyByScalar(m,.5,m)),!O(C))){let E=A.length-1;C=kIi,Z.multiplyByScalar(A[E-1],2,C),Z.subtract(A[E],C,C),Z.add(C,A[E-2],C),Z.multiplyByScalar(C,.5,C)}this._times=f,this._points=A,this._firstTangent=Z.clone(m),this._lastTangent=Z.clone(C),this._evaluateFunction=FIi(this),this._lastTimeIndex=0}Object.defineProperties(IR.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}},firstTangent:{get:function(){return this._firstTangent}},lastTangent:{get:function(){return this._lastTangent}}});IR.catmullRomCoefficientMatrix=new Re(-.5,1,-.5,0,1.5,-2.5,0,1,-1.5,2,.5,0,.5,-.5,0,0);IR.prototype.findTimeInterval=Yh.prototype.findTimeInterval;IR.prototype.wrapTime=Yh.prototype.wrapTime;IR.prototype.clampTime=Yh.prototype.clampTime;IR.prototype.evaluate=function(o,A){return this._evaluateFunction(o,A)};var Cit=IR,Qne={};Qne.clipTriangleAtAxisAlignedThreshold=function(o,A,f,m,C,E){O(E)?E.length=0:E=[];let x,y,I;A?(x=f<o,y=m<o,I=C<o):(x=f>o,y=m>o,I=C>o);let v=x+y+I,B,Q,T,w,S,D;return v===1?x?(B=(o-f)/(m-f),Q=(o-f)/(C-f),E.push(1),E.push(2),Q!==1&&(E.push(-1),E.push(0),E.push(2),E.push(Q)),B!==1&&(E.push(-1),E.push(0),E.push(1),E.push(B))):y?(T=(o-m)/(C-m),w=(o-m)/(f-m),E.push(2),E.push(0),w!==1&&(E.push(-1),E.push(1),E.push(0),E.push(w)),T!==1&&(E.push(-1),E.push(1),E.push(2),E.push(T))):I&&(S=(o-C)/(f-C),D=(o-C)/(m-C),E.push(0),E.push(1),D!==1&&(E.push(-1),E.push(2),E.push(1),E.push(D)),S!==1&&(E.push(-1),E.push(2),E.push(0),E.push(S))):v===2?!x&&f!==o?(w=(o-m)/(f-m),S=(o-C)/(f-C),E.push(0),E.push(-1),E.push(1),E.push(0),E.push(w),E.push(-1),E.push(2),E.push(0),E.push(S)):!y&&m!==o?(D=(o-C)/(m-C),B=(o-f)/(m-f),E.push(1),E.push(-1),E.push(2),E.push(1),E.push(D),E.push(-1),E.push(0),E.push(1),E.push(B)):!I&&C!==o&&(Q=(o-f)/(C-f),T=(o-m)/(C-m),E.push(2),E.push(-1),E.push(0),E.push(2),E.push(Q),E.push(-1),E.push(1),E.push(2),E.push(T)):v!==3&&(E.push(0),E.push(1),E.push(2)),E};Qne.computeBarycentricCoordinates=function(o,A,f,m,C,E,x,y,I){let v=f-x,B=x-C,Q=E-y,T=m-y,w=1/(Q*v+B*T),S=A-y,D=o-x,R=(Q*D+B*S)*w,P=(-T*D+v*S)*w,M=1-R-P;return O(I)?(I.x=R,I.y=P,I.z=M,I):new Z(R,P,M)};Qne.computeLineSegmentLineSegmentIntersection=function(o,A,f,m,C,E,x,y,I){let v=(x-C)*(A-E)-(y-E)*(o-C),B=(f-o)*(A-E)-(m-A)*(o-C),Q=(y-E)*(f-o)-(x-C)*(m-A);if(Q===0)return;let T=v/Q,w=B/Q;if(T>=0&&T<=1&&w>=0&&w<=1)return O(I)||(I=new rt),I.x=o+T*(f-o),I.y=A+T*(m-A),I};var E8=Qne;function zP(o){this._flattenPolygonHeight=o.flattenPolygonHeight||[1],this._flattenPolygon=o.flattenPolygon||[],this._flattenRectangle=o.flattenRectangle,this._quantizedVertices=o.quantizedVertices,this._encodedNormals=o.encodedNormals,this._indices=o.indices,this._minimumHeight=o.minimumHeight,this._maximumHeight=o.maximumHeight,this._boundingSphere=o.boundingSphere,this._orientedBoundingBox=o.orientedBoundingBox,this._horizonOcclusionPoint=o.horizonOcclusionPoint,this._credits=o.credits;let A=this._quantizedVertices.length/3,f=this._uValues=this._quantizedVertices.subarray(0,A),m=this._vValues=this._quantizedVertices.subarray(A,2*A);this._heightValues=this._quantizedVertices.subarray(2*A,3*A);function C(x,y){return m[x]-m[y]}function E(x,y){return f[x]-f[y]}this._westIndices=kX(o.westIndices,C,A),this._southIndices=kX(o.southIndices,E,A),this._eastIndices=kX(o.eastIndices,C,A),this._northIndices=kX(o.northIndices,E,A),this._westSkirtHeight=o.westSkirtHeight,this._southSkirtHeight=o.southSkirtHeight,this._eastSkirtHeight=o.eastSkirtHeight,this._northSkirtHeight=o.northSkirtHeight,this._childTileMask=oe(o.childTileMask,15),this._createdByUpsampling=oe(o.createdByUpsampling,!1),this._waterMask=o.waterMask,this._mesh=void 0}Object.defineProperties(zP.prototype,{credits:{get:function(){return this._credits}},waterMask:{get:function(){return this._waterMask}},childTileMask:{get:function(){return this._childTileMask}},canUpsample:{get:function(){return O(this._mesh)}}});var NX=[];function kX(o,A,f){NX.length=o.length;let m=!1;for(let C=0,E=o.length;C<E;++C)NX[C]=o[C],m=m||C>0&&A(o[C-1],o[C])>0;return m?(NX.sort(A),Bn.createTypedArray(f,NX)):o}var Eit="createVerticesFromQuantizedTerrainMesh",OIi=new hd(Eit),UIi=new hd(Eit,P3.maximumAsynchronousTasks);zP.prototype.createMesh=function(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.tilingScheme,f=o.x,m=o.y,C=o.level,E=oe(o.exaggeration,1),x=oe(o.exaggerationRelativeHeight,0),y=oe(o.throttle,!0),I=A.ellipsoid,v=A.tileXYToRectangle(f,m,C),B=(y?UIi:OIi).scheduleTask({minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,quantizedVertices:this._quantizedVertices,octEncodedNormals:this._encodedNormals,includeWebMercatorT:!0,indices:this._indices,westIndices:this._westIndices,southIndices:this._southIndices,eastIndices:this._eastIndices,northIndices:this._northIndices,westSkirtHeight:this._westSkirtHeight,southSkirtHeight:this._southSkirtHeight,eastSkirtHeight:this._eastSkirtHeight,northSkirtHeight:this._northSkirtHeight,rectangle:v,relativeToCenter:this._boundingSphere.center,ellipsoid:I,exaggeration:E,exaggerationRelativeHeight:x,flattenPolygonHeight:this._flattenPolygonHeight,flattenPolygon:this._flattenPolygon});if(!O(B))return;let Q=this;return Promise.resolve(B).then(function(T){let w=Q._quantizedVertices.length/3,S=w+Q._westIndices.length+Q._southIndices.length+Q._eastIndices.length+Q._northIndices.length,D=Bn.createTypedArray(S,T.indices),R=new Float32Array(T.vertices),P=T.center,M=T.minimumHeight,L=T.maximumHeight,F=Q._boundingSphere,k=Q._orientedBoundingBox,N=oe(Z.clone(T.occludeePointInScaledSpace),Q._horizonOcclusionPoint),G=T.vertexStride,J=OD.clone(T.encoding);return Q._mesh=new R3(P,R,D,T.indexCountWithoutSkirts,w,M,L,F,N,G,k,J,T.westIndicesSouthToNorth,T.southIndicesEastToWest,T.eastIndicesNorthToSouth,T.northIndicesWestToEast),Q._quantizedVertices=void 0,Q._encodedNormals=void 0,Q._indices=void 0,Q._uValues=void 0,Q._vValues=void 0,Q._heightValues=void 0,Q._westIndices=void 0,Q._southIndices=void 0,Q._eastIndices=void 0,Q._northIndices=void 0,Q._mesh})};var GIi=new hd("upsampleQuantizedTerrainMesh",P3.maximumAsynchronousTasks);zP.prototype.upsample=function(o,A,f,m,C,E,x){let y=this._mesh;if(!O(this._mesh))return;let I=A*2!==C,v=f*2===E,B=o.ellipsoid,Q=o.tileXYToRectangle(C,E,x),T=GIi.scheduleTask({vertices:y.vertices,vertexCountWithoutSkirts:y.vertexCountWithoutSkirts,indices:y.indices,indexCountWithoutSkirts:y.indexCountWithoutSkirts,encoding:y.encoding,minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,isEastChild:I,isNorthChild:v,childRectangle:Q,ellipsoid:B});if(!O(T))return;let w=Math.min(this._westSkirtHeight,this._eastSkirtHeight);w=Math.min(w,this._southSkirtHeight),w=Math.min(w,this._northSkirtHeight);let S=I?w*.5:this._westSkirtHeight,D=v?w*.5:this._southSkirtHeight,R=I?this._eastSkirtHeight:w*.5,P=v?this._northSkirtHeight:w*.5,M=this._credits,L=this;return Promise.resolve(T).then(function(F){let k=new Uint16Array(F.vertices),N=Bn.createTypedArray(k.length/3,F.indices),G;return O(F.encodedNormals)&&(G=new Uint8Array(F.encodedNormals)),new zP({quantizedVertices:k,indices:N,encodedNormals:G,minimumHeight:F.minimumHeight,maximumHeight:F.maximumHeight,boundingSphere:hi.clone(F.boundingSphere),orientedBoundingBox:Lu.clone(F.orientedBoundingBox),horizonOcclusionPoint:Z.clone(F.horizonOcclusionPoint),westIndices:F.westIndices,southIndices:F.southIndices,eastIndices:F.eastIndices,northIndices:F.northIndices,westSkirtHeight:S,southSkirtHeight:D,eastSkirtHeight:R,northSkirtHeight:P,childTileMask:0,credits:M,createdByUpsampling:!0,flattenPolygonHeight:L._flattenPolygonHeight,flattenPolygon:L._flattenPolygon,flattenRectangle:L._flattenRectangle})})};var Hge=32767,xit=new Z;zP.prototype.interpolateHeight=function(o,A,f){let m=Be.clamp((A-o.west)/o.width,0,1);m*=Hge;let C=Be.clamp((f-o.south)/o.height,0,1);return C*=Hge,O(this._mesh)?YIi(this,m,C):JIi(this,m,C)};function yit(o,A,f,m,C,E,x,y){let I=Math.min(f,C,x),v=Math.max(f,C,x),B=Math.min(m,E,y),Q=Math.max(m,E,y);return o>=I&&o<=v&&A>=B&&A<=Q}var HIi=new rt,VIi=new rt,zIi=new rt;function YIi(o,A,f){let m=o._mesh,C=m.vertices,E=m.encoding,x=m.indices;for(let y=0,I=x.length;y<I;y+=3){let v=x[y],B=x[y+1],Q=x[y+2],T=E.decodeTextureCoordinates(C,v,HIi),w=E.decodeTextureCoordinates(C,B,VIi),S=E.decodeTextureCoordinates(C,Q,zIi);if(yit(A,f,T.x,T.y,w.x,w.y,S.x,S.y)){let D=E8.computeBarycentricCoordinates(A,f,T.x,T.y,w.x,w.y,S.x,S.y,xit);if(D.x>=-1e-15&&D.y>=-1e-15&&D.z>=-1e-15){let R=E.decodeHeight(C,v),P=E.decodeHeight(C,B),M=E.decodeHeight(C,Q);return D.x*R+D.y*P+D.z*M}}}}function JIi(o,A,f){let m=o._uValues,C=o._vValues,E=o._heightValues,x=o._indices;for(let y=0,I=x.length;y<I;y+=3){let v=x[y],B=x[y+1],Q=x[y+2],T=m[v],w=m[B],S=m[Q],D=C[v],R=C[B],P=C[Q];if(yit(A,f,T,D,w,R,S,P)){let M=E8.computeBarycentricCoordinates(A,f,T,D,w,R,S,P,xit);if(M.x>=-1e-15&&M.y>=-1e-15&&M.z>=-1e-15){let L=M.x*E[v]+M.y*E[B]+M.z*E[Q];return Be.lerp(o._minimumHeight,o._maximumHeight,L/Hge)}}}}zP.prototype.isChildAvailable=function(o,A,f,m){let C=2;return f!==o*2&&++C,m!==A*2&&(C-=2),(this._childTileMask&1<<C)!==0};zP.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};var Sne=zP;function KIi(o){this.resource=o.resource,this.version=o.version,this.isHeightmap=o.isHeightmap,this.tileUrlTemplates=o.tileUrlTemplates,this.availability=o.availability,this.hasVertexNormals=o.hasVertexNormals,this.hasWaterMask=o.hasWaterMask,this.hasMetadata=o.hasMetadata,this.availabilityLevels=o.availabilityLevels,this.availabilityTilesLoaded=o.availabilityTilesLoaded,this.littleEndianExtensionSize=o.littleEndianExtensionSize,this.availabilityPromiseCache={}}function rbe(o){this.requestVertexNormals=oe(o.requestVertexNormals,!1),this.requestWaterMask=oe(o.requestWaterMask,!1),this.requestMetadata=oe(o.requestMetadata,!0),this.ellipsoid=o.ellipsoid,this.heightmapWidth=65,this.heightmapStructure=void 0,this.hasWaterMask=!1,this.hasMetadata=!1,this.hasVertexNormals=!1,this.scheme=void 0,this._flattenPolygonHeight=o.flattenPolygonHeight,this._flattenPolygon=o.flattenPolygon,this.lastResource=void 0,this.layerJsonResource=void 0,this.previousError=void 0,this.availability=void 0,this.tilingScheme=void 0,this.levelZeroMaximumGeometricError=void 0,this.heightmapStructure=void 0,this.layers=[],this.attribution="",this.overallAvailability=[],this.overallMaxZoom=0,this.tileCredits=[]}rbe.prototype.build=function(o){o._heightmapWidth=this.heightmapWidth,o._scheme=this.scheme;let A=O(this.lastResource.credits)?this.lastResource.credits:[];o._tileCredits=A.concat(this.tileCredits),o._availability=this.availability,o._tilingScheme=this.tilingScheme,o._requestWaterMask=this.requestWaterMask,o._levelZeroMaximumGeometricError=this.levelZeroMaximumGeometricError,o._heightmapStructure=this.heightmapStructure,o._layers=this.layers,o._hasWaterMask=this.hasWaterMask,o._hasVertexNormals=this.hasVertexNormals,o._hasMetadata=this.hasMetadata,o._ready=!0};async function Iit(o,A,f){if(!A.format){let D="The tile format is not specified in the layer.json file.";throw o.previousError=yh.reportError(o.previousError,f,O(f)?f._errorEvent:void 0,D),new ki(D)}if(!A.tiles||A.tiles.length===0){let D="The layer.json file does not specify any tile URL templates.";throw o.previousError=yh.reportError(o.previousError,f,O(f)?f._errorEvent:void 0,D),new ki(D)}let m=!1,C=!1,E=!1,x=!0,y=!1;if(A.format==="heightmap-1.0")y=!0,O(o.heightmapStructure)||(o.heightmapStructure={heightScale:1/5,heightOffset:-1e3,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1,lowestEncodedHeight:0,highestEncodedHeight:256*256-1}),C=!0,o.requestWaterMask=!0;else if(A.format.indexOf("quantized-mesh-1.")!==0){let D=`The tile format "${A.format}" is invalid or not supported.`;throw o.previousError=yh.reportError(o.previousError,f,O(f)?f._errorEvent:void 0,D),new ki(D)}let I=A.tiles,v=A.maxzoom;if(o.overallMaxZoom=Math.max(o.overallMaxZoom,v),!A.projection||A.projection==="EPSG:4326")o.tilingScheme=new th({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:1,ellipsoid:o.ellipsoid}),o.tilingScheme.bounds=A.bounds;else if(A.projection==="EPSG:3857")o.tilingScheme=new Zf({numberOfLevelZeroTilesX:1,numberOfLevelZeroTilesY:1,ellipsoid:o.ellipsoid}),o.tilingScheme.bounds=A.bounds;else{let D=`The projection "${A.projection}" is invalid or not supported.`;throw o.previousError=yh.reportError(o.previousError,f,O(f)?f._errorEvent:void 0,D),new ki(D)}if(o.levelZeroMaximumGeometricError=uC.getEstimatedLevelZeroGeometricErrorForAHeightmap(o.tilingScheme.ellipsoid,o.heightmapWidth,o.tilingScheme.getNumberOfXTilesAtLevel(0)),!A.scheme||A.scheme==="tms"||A.scheme==="slippyMap")o.scheme=A.scheme;else{let D=`The scheme "${A.scheme}" is invalid or not supported.`;throw o.previousError=yh.reportError(o.previousError,f,O(f)?f._errorEvent:void 0,D),new ki(D)}let B;O(A.extensions)&&A.extensions.indexOf("octvertexnormals")!==-1?m=!0:O(A.extensions)&&A.extensions.indexOf("vertexnormals")!==-1&&(m=!0,x=!1),O(A.extensions)&&A.extensions.indexOf("watermask")!==-1&&(C=!0),O(A.extensions)&&A.extensions.indexOf("metadata")!==-1&&(E=!0);let Q=A.metadataAvailability,T=A.available,w;if(O(T)&&!O(Q)){w=new gP(o.tilingScheme,T.length);for(let D=0;D<T.length;++D){let R=T[D],P=o.tilingScheme.getNumberOfYTilesAtLevel(D);O(o.overallAvailability[D])||(o.overallAvailability[D]=[]);for(let M=0;M<R.length;++M){let L=R[M],F=P-L.endY-1,k=P-L.startY-1;o.overallAvailability[D].push([L.startX,F,L.endX,k]),w.addAvailableTileRange(D,L.startX,F,L.endX,k)}}}else O(Q)&&(B=new gP(o.tilingScheme,v),w=new gP(o.tilingScheme,v),o.overallAvailability[0]=[[0,0,1,0]],w.addAvailableTileRange(0,0,0,1,0));o.hasWaterMask=o.hasWaterMask||C,o.hasVertexNormals=o.hasVertexNormals||m,o.hasMetadata=o.hasMetadata||E,O(A.attribution)&&(o.attribution.length>0&&(o.attribution+=" "),o.attribution+=A.attribution),o.layers.push(new KIi({resource:o.lastResource,version:A.version,isHeightmap:y,tileUrlTemplates:I,availability:w,hasVertexNormals:m,hasWaterMask:C,hasMetadata:E,availabilityLevels:Q,availabilityTilesLoaded:B,littleEndianExtensionSize:x}));let S=A.parentUrl;return O(S)?O(w)?(o.lastResource=o.lastResource.getDerivedResource({url:S}),o.lastResource.appendForwardSlash(),o.layerJsonResource=o.lastResource.getDerivedResource({url:"layer.json"}),await Dne(o),!0):(console.log("A layer.json can't have a parentUrl if it does't have an available array."),!0):!0}function WIi(o,A,f){let m=`An error occurred while accessing ${o.layerJsonResource.url}.`;if(O(A)&&(m+=` ${A.message}`),o.previousError=yh.reportError(o.previousError,f,O(f)?f._errorEvent:void 0,m),o.previousError.retry)return Dne(o,f);throw new ki(m)}async function jIi(o,A,f){await Iit(o,A,f);let m=o.overallAvailability.length;if(m>0){let C=o.availability=new gP(o.tilingScheme,o.overallMaxZoom);for(let E=0;E<m;++E){let x=o.overallAvailability[E];for(let y=0;y<x.length;++y){let I=x[y];C.addAvailableTileRange(E,I[0],I[1],I[2],I[3])}}}if(o.attribution.length>0){let C=new Qa(o.attribution);o.tileCredits.push(C)}return!0}async function Dne(o,A){try{let f=await o.layerJsonResource.fetchJson();return jIi(o,f,A)}catch(f){return O(f)&&f.statusCode===404?(await Iit(o,{tilejson:"2.1.0",format:"heightmap-1.0",version:"1.0.0",scheme:"tms",tiles:["{z}/{x}/{y}.terrain?v={version}"]},A),!0):WIi(o,f,A)}}function EI(o){o=oe(o,oe.EMPTY_OBJECT),this._heightmapWidth=void 0,this._heightmapStructure=void 0,this._hasWaterMask=!1,this._hasVertexNormals=!1,this._hasMetadata=!1,this._scheme=void 0,this._ellipsoid=o.ellipsoid,this._requestVertexNormals=oe(o.requestVertexNormals,!1),this._requestWaterMask=oe(o.requestWaterMask,!1),this._requestMetadata=oe(o.requestMetadata,!0),this._errorEvent=new ur;let A=o.credit;typeof A=="string"&&(A=new Qa(A)),this._credit=A,this._availability=void 0,this._tilingScheme=void 0,this._levelZeroMaximumGeometricError=void 0,this._layers=void 0,this._ready=!1,this._tileCredits=void 0,this._readyPromise=Promise.resolve(!0),O(o.url)&&(ii("CesiumTerrainProvider options.url","options.url was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use CesiumTerrainProvider.fromIonAssetId or CesiumTerrainProvider.fromUrl instead."),this._readyPromise=EI._initializeReadyPromise(o,this))}EI._initializeReadyPromise=async function(o,A){let f=await Promise.resolve(o.url),m=new rbe(o),C=Cr.createIfNeeded(f);return C.appendForwardSlash(),m.lastResource=C,m.layerJsonResource=m.lastResource.getDerivedResource({url:"layer.json"}),await Dne(m,A),m.build(A),!0};var ade={OCT_VERTEX_NORMALS:1,WATER_MASK:2,METADATA:4};function h8e(o){return!O(o)||o.length===0?{Accept:"application/vnd.quantized-mesh,application/octet-stream;q=0.9,*/*;q=0.01"}:{Accept:`application/vnd.quantized-mesh;extensions=${o.join("-")},application/octet-stream;q=0.9,*/*;q=0.01`}}function qIi(o,A,f,m,C){let E=new Uint16Array(A,0,o._heightmapWidth*o._heightmapWidth);return new Rw({buffer:E,childTileMask:new Uint8Array(A,E.byteLength,1)[0],waterMask:new Uint8Array(A,E.byteLength+1,A.byteLength-E.byteLength-1),width:o._heightmapWidth,height:o._heightmapWidth,structure:o._heightmapStructure,credits:o._tileCredits,flattenPolygonHeight:o._flattenPolygonHeight,flattenPolygon:o._flattenPolygon})}function XIi(o,A,f,m,C,E){let x=E.littleEndianExtensionSize,y=0,I=3,v=I+1,B=Float64Array.BYTES_PER_ELEMENT*I,Q=Float64Array.BYTES_PER_ELEMENT*v,T=3,w=Uint16Array.BYTES_PER_ELEMENT*T,S=3,D=Uint16Array.BYTES_PER_ELEMENT,R=D*S,P=new DataView(A),M=new Z(P.getFloat64(y,!0),P.getFloat64(y+8,!0),P.getFloat64(y+16,!0));y+=B;let L=P.getFloat32(y,!0);y+=Float32Array.BYTES_PER_ELEMENT;let F=P.getFloat32(y,!0);y+=Float32Array.BYTES_PER_ELEMENT;let k=new hi(new Z(P.getFloat64(y,!0),P.getFloat64(y+8,!0),P.getFloat64(y+16,!0)),P.getFloat64(y+B,!0));y+=Q;let N=new Z(P.getFloat64(y,!0),P.getFloat64(y+8,!0),P.getFloat64(y+16,!0));y+=B;let G=P.getUint32(y,!0);y+=Uint32Array.BYTES_PER_ELEMENT;let J=new Uint16Array(A,y,G*3);y+=G*w,G>64*1024&&(D=Uint32Array.BYTES_PER_ELEMENT,R=D*S);let K=J.subarray(0,G),X=J.subarray(G,2*G),q=J.subarray(G*2,3*G);$l.zigZagDeltaDecode(K,X,q),y%D!==0&&(y+=D-y%D);let ee=P.getUint32(y,!0);y+=Uint32Array.BYTES_PER_ELEMENT;let ie=Bn.createTypedArrayFromArrayBuffer(G,A,y,ee*S);y+=ee*R;let H=0,le=ie.length;for(let me=0;me<le;++me){let Ce=ie[me];ie[me]=H-Ce,Ce===0&&++H}let ue=P.getUint32(y,!0);y+=Uint32Array.BYTES_PER_ELEMENT;let Ae=Bn.createTypedArrayFromArrayBuffer(G,A,y,ue);y+=ue*D;let he=P.getUint32(y,!0);y+=Uint32Array.BYTES_PER_ELEMENT;let ge=Bn.createTypedArrayFromArrayBuffer(G,A,y,he);y+=he*D;let fe=P.getUint32(y,!0);y+=Uint32Array.BYTES_PER_ELEMENT;let ae=Bn.createTypedArrayFromArrayBuffer(G,A,y,fe);y+=fe*D;let U=P.getUint32(y,!0);y+=Uint32Array.BYTES_PER_ELEMENT;let W=Bn.createTypedArrayFromArrayBuffer(G,A,y,U);y+=U*D;let Y,z;for(;y<P.byteLength;){let me=P.getUint8(y,!0);y+=Uint8Array.BYTES_PER_ELEMENT;let Ce=P.getUint32(y,x);if(y+=Uint32Array.BYTES_PER_ELEMENT,me===ade.OCT_VERTEX_NORMALS&&o._requestVertexNormals)Y=new Uint8Array(A,y,G*2);else if(me===ade.WATER_MASK&&o._requestWaterMask)z=new Uint8Array(A,y,Ce);else if(me===ade.METADATA&&o._requestMetadata){let Ie=P.getUint32(y,!0);if(Ie>0){let we=em(new Uint8Array(A),y+Uint32Array.BYTES_PER_ELEMENT,Ie).available;if(O(we))for(let Te=0;Te<we.length;++Te){let Ge=f+Te+1,ke=we[Te],Oe=o._tilingScheme.getNumberOfYTilesAtLevel(Ge);for(let Le=0;Le<ke.length;++Le){let be=ke[Le],Ne=Oe-be.endY-1,Ue=Oe-be.startY-1;o.availability.addAvailableTileRange(Ge,be.startX,Ne,be.endX,Ue),E.availability.addAvailableTileRange(Ge,be.startX,Ne,be.endX,Ue)}}}E.availabilityTilesLoaded.addAvailableTileRange(f,m,C,m,C)}y+=Ce}let re=o.getLevelMaximumGeometricError(f)*5,se=o._tilingScheme.tileXYToRectangle(m,C,f),de=Lu.fromRectangle(se,L,F,o._tilingScheme.ellipsoid);return new Sne({center:M,minimumHeight:L,maximumHeight:F,boundingSphere:k,orientedBoundingBox:de,horizonOcclusionPoint:N,quantizedVertices:J,encodedNormals:Y,indices:ie,westIndices:Ae,southIndices:ge,eastIndices:ae,northIndices:W,westSkirtHeight:re,southSkirtHeight:re,eastSkirtHeight:re,northSkirtHeight:re,childTileMask:o.availability.computeChildMaskForTile(f,m,C),waterMask:z,credits:o._tileCredits,flattenPolygonHeight:o._flattenPolygonHeight,flattenPolygon:o._flattenPolygon,flattenRectangle:{rectangle:se,minimumHeight:L,maximumHeight:F,ellipsoid:o._tilingScheme.ellipsoid}})}EI.prototype.requestTileGeometry=function(o,A,f,m){let C=this._layers,E,x=C.length,y=!1,I=Promise.resolve();if(x===1)E=C[0];else for(let v=0;v<x;++v){let B=C[v];if(!O(B.availability)||B.availability.isTileAvailable(f,o,A)){E=B;break}let Q=nbe(this,o,A,f,B,v===0);Q.result&&(y=!0,I=I.then(()=>Q.promise))}return!O(E)&&y?I.then(()=>this.requestTileGeometry(o,A,f,m)):_it(this,o,A,f,E,m)};function _it(o,A,f,m,C,E){if(!O(C))return Promise.reject(new ki("Terrain tile doesn't exist"));let x=C.tileUrlTemplates;if(x.length===0)return;let y;!o._scheme||o._scheme==="tms"?y=o._tilingScheme.getNumberOfYTilesAtLevel(m)-f-1:y=f;let I=[];o._requestVertexNormals&&C.hasVertexNormals&&I.push(C.littleEndianExtensionSize?"octvertexnormals":"vertexnormals"),o._requestWaterMask&&C.hasWaterMask&&I.push("watermask"),o._requestMetadata&&C.hasMetadata&&I.push("metadata");let v,B,Q=x[(A+y+m)%x.length],T=C.resource;O(T._ionEndpoint)&&!O(T._ionEndpoint.externalType)?(I.length!==0&&(B={extensions:I.join("-")}),v=h8e(void 0)):v=h8e(I);let w=T.getDerivedResource({url:Q,templateValues:{version:C.version,z:m,x:A,y},queryParameters:B,headers:v,request:E}).fetchArrayBuffer();if(O(w))return w.then(function(S){return O(S)?O(o._heightmapStructure)?qIi(o,S,m,A,f):XIi(o,S,m,A,f,C):Promise.reject(new ki("Mesh buffer doesn't exist."))})}Object.defineProperties(EI.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return ii("CesiumTerrainProvider.ready","CesiumTerrainProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use CesiumTerrainProvider.fromIonAssetId or CesiumTerrainProvider.fromUrl instead."),this._ready}},readyPromise:{get:function(){return ii("CesiumTerrainProvider.readyPromise","CesiumTerrainProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use CesiumTerrainProvider.fromIonAssetId or CesiumTerrainProvider.fromUrl instead."),this._readyPromise}},hasWaterMask:{get:function(){return this._hasWaterMask&&this._requestWaterMask}},hasVertexNormals:{get:function(){return this._hasVertexNormals&&this._requestVertexNormals}},hasMetadata:{get:function(){return this._hasMetadata&&this._requestMetadata}},requestVertexNormals:{get:function(){return this._requestVertexNormals}},requestWaterMask:{get:function(){return this._requestWaterMask}},requestMetadata:{get:function(){return this._requestMetadata}},availability:{get:function(){return this._availability}}});EI.prototype.getLevelMaximumGeometricError=function(o){return this._levelZeroMaximumGeometricError/(1<<o)};EI.fromIonAssetId=async function(o,A){let f=await H_.fromAssetId(o);return EI.fromUrl(f,A)};EI.fromUrl=async function(o,A){A=oe(A,oe.EMPTY_OBJECT),o=await Promise.resolve(o);let f=Cr.createIfNeeded(o);f.appendForwardSlash();let m=new rbe(A);m.lastResource=f,m.layerJsonResource=m.lastResource.getDerivedResource({url:"layer.json"}),await Dne(m);let C=new EI(A);return m.build(C),C};EI.prototype.getTileDataAvailable=function(o,A,f){if(!O(this._availability))return;if(f>this._availability._maximumLevel)return!1;if(this._availability.isTileAvailable(f,o,A))return!0;if(!this._hasMetadata)return!1;let m=this._layers,C=m.length;for(let E=0;E<C;++E)if(nbe(this,o,A,f,m[E],E===0).result)return;return!1};EI.prototype.loadTileDataAvailability=function(o,A,f){if(!O(this._availability)||f>this._availability._maximumLevel||this._availability.isTileAvailable(f,o,A)||!this._hasMetadata)return;let m=this._layers,C=m.length;for(let E=0;E<C;++E){let x=nbe(this,o,A,f,m[E],E===0);if(O(x.promise))return x.promise}};function Vge(o,A,f,m){if(m===0)return;let C=o.availabilityLevels,E=m%C===0?m-C:(m/C|0)*C,x=1<<m-E,y=A/x|0,I=f/x|0;return{level:E,x:y,y:I}}function nbe(o,A,f,m,C,E){if(!O(C.availabilityLevels))return{result:!1};let x,y=function(){delete C.availabilityPromiseCache[x]},I=C.availabilityTilesLoaded,v=C.availability,B=Vge(C,A,f,m);for(;O(B);){if(v.isTileAvailable(B.level,B.x,B.y)&&!I.isTileAvailable(B.level,B.x,B.y)){let Q;if(!E&&(x=`${B.level}-${B.x}-${B.y}`,Q=C.availabilityPromiseCache[x],!O(Q))){let T=new lp({throttle:!1,throttleByServer:!0,type:II.TERRAIN});Q=_it(o,B.x,B.y,B.level,C,T),O(Q)&&(C.availabilityPromiseCache[x]=Q,Q.then(y))}return{result:!0,promise:Q}}B=Vge(C,B.x,B.y,B.level)}return{result:!1}}EI._getAvailabilityTile=Vge;var VN=EI;function zD(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.radius,f={center:o.center,semiMajorAxis:A,semiMinorAxis:A,ellipsoid:o.ellipsoid,height:o.height,extrudedHeight:o.extrudedHeight,granularity:o.granularity,vertexFormat:o.vertexFormat,stRotation:o.stRotation,shadowVolume:o.shadowVolume};this._ellipseGeometry=new tv(f),this._workerName="createCircleGeometry"}zD.packedLength=tv.packedLength;zD.pack=function(o,A,f){return tv.pack(o._ellipseGeometry,A,f)};var ZIi=new tv({center:new Z,semiMajorAxis:1,semiMinorAxis:1}),Jm={center:new Z,radius:void 0,ellipsoid:Ci.clone(Ci.UNIT_SPHERE),height:void 0,extrudedHeight:void 0,granularity:void 0,vertexFormat:new Pr,stRotation:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0,shadowVolume:void 0};zD.unpack=function(o,A,f){let m=tv.unpack(o,A,ZIi);return Jm.center=Z.clone(m._center,Jm.center),Jm.ellipsoid=Ci.clone(m._ellipsoid,Jm.ellipsoid),Jm.height=m._height,Jm.extrudedHeight=m._extrudedHeight,Jm.granularity=m._granularity,Jm.vertexFormat=Pr.clone(m._vertexFormat,Jm.vertexFormat),Jm.stRotation=m._stRotation,Jm.shadowVolume=m._shadowVolume,O(f)?(Jm.semiMajorAxis=m._semiMajorAxis,Jm.semiMinorAxis=m._semiMinorAxis,f._ellipseGeometry=new tv(Jm),f):(Jm.radius=m._semiMajorAxis,new zD(Jm))};zD.createGeometry=function(o){return tv.createGeometry(o._ellipseGeometry)};zD.createShadowVolume=function(o,A,f){let m=o._ellipseGeometry._granularity,C=o._ellipseGeometry._ellipsoid,E=A(m,C),x=f(m,C);return new zD({center:o._ellipseGeometry._center,radius:o._ellipseGeometry._semiMajorAxis,ellipsoid:C,stRotation:o._ellipseGeometry._stRotation,granularity:m,extrudedHeight:E,height:x,vertexFormat:Pr.POSITION_ONLY,shadowVolume:!0})};Object.defineProperties(zD.prototype,{rectangle:{get:function(){return this._ellipseGeometry.rectangle}},textureCoordinateRotationPoints:{get:function(){return this._ellipseGeometry.textureCoordinateRotationPoints}}});var vit=zD;function U4(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.radius,f={center:o.center,semiMajorAxis:A,semiMinorAxis:A,ellipsoid:o.ellipsoid,height:o.height,extrudedHeight:o.extrudedHeight,granularity:o.granularity,numberOfVerticalLines:o.numberOfVerticalLines};this._ellipseGeometry=new Fb(f),this._workerName="createCircleOutlineGeometry"}U4.packedLength=Fb.packedLength;U4.pack=function(o,A,f){return Fb.pack(o._ellipseGeometry,A,f)};var $Ii=new Fb({center:new Z,semiMajorAxis:1,semiMinorAxis:1}),Ny={center:new Z,radius:void 0,ellipsoid:Ci.clone(Ci.UNIT_SPHERE),height:void 0,extrudedHeight:void 0,granularity:void 0,numberOfVerticalLines:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0};U4.unpack=function(o,A,f){let m=Fb.unpack(o,A,$Ii);return Ny.center=Z.clone(m._center,Ny.center),Ny.ellipsoid=Ci.clone(m._ellipsoid,Ny.ellipsoid),Ny.height=m._height,Ny.extrudedHeight=m._extrudedHeight,Ny.granularity=m._granularity,Ny.numberOfVerticalLines=m._numberOfVerticalLines,O(f)?(Ny.semiMajorAxis=m._semiMajorAxis,Ny.semiMinorAxis=m._semiMinorAxis,f._ellipseGeometry=new Fb(Ny),f):(Ny.radius=m._semiMajorAxis,new U4(Ny))};U4.createGeometry=function(o){return Fb.createGeometry(o._ellipseGeometry)};var Bit=U4;function e_i(o){ii("createWorldTerrain","createWorldTerrain was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use createWorldTerrainAsync instead."),o=oe(o,oe.EMPTY_OBJECT);let A=new VN({requestVertexNormals:oe(o.requestVertexNormals,!1),requestWaterMask:oe(o.requestWaterMask,!1)});return A._readyPromise=VN._initializeReadyPromise({url:H_.fromAssetId(1),requestVertexNormals:oe(o.requestVertexNormals,!1),requestWaterMask:oe(o.requestWaterMask,!1)},A),A}var wit=e_i;function t_i(o){return o=oe(o,oe.EMPTY_OBJECT),VN.fromIonAssetId(1,{requestVertexNormals:oe(o.requestVertexNormals,!1),requestWaterMask:oe(o.requestWaterMask,!1)})}var Tne=t_i;function x8(o){o=oe(o,oe.EMPTY_OBJECT),this._callback=o.callback,this._tilingScheme=o.tilingScheme,O(this._tilingScheme)||(this._tilingScheme=new th({ellipsoid:oe(o.ellipsoid,Ci.WGS84)})),this._width=o.width,this._height=o.height;let A=Math.max(this._width,this._height);this._levelZeroMaximumGeometricError=uC.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,A,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._errorEvent=new ur;let f=o.credit;typeof f=="string"&&(f=new Qa(f)),this._credit=f,this._ready=!0,this._readyPromise=Promise.resolve(!0)}Object.defineProperties(x8.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return ii("CustomHeightmapTerrainProvider.ready","CustomHeightmapTerrainProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),!0}},readyPromise:{get:function(){return ii("CustomHeightmapTerrainProvider.readyPromise","CustomHeightmapTerrainProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._readyPromise}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},width:{get:function(){return this._width}},height:{get:function(){return this._height}}});x8.prototype.requestTileGeometry=function(o,A,f,m){let C=this._callback(o,A,f);if(!O(C))return;let E=this._width,x=this._height;return Promise.resolve(C).then(function(y){let I=y;return Array.isArray(I)&&(I=new Float64Array(I)),new Rw({buffer:I,width:E,height:x})})};x8.prototype.getLevelMaximumGeometricError=function(o){return this._levelZeroMaximumGeometricError/(1<<o)};x8.prototype.getTileDataAvailable=function(o,A,f){};x8.prototype.loadTileDataAvailability=function(o,A,f){};var bit=x8,i_i=1953029805,r_i=2917034100;function obe(o,A){if(obe.passThroughDataForTesting)return A;let f=o.byteLength;if(f===0||f%4!==0)throw new ki("The length of key must be greater than 0 and a multiple of 4.");let m=new DataView(A),C=m.getUint32(0,!0);if(C===i_i||C===r_i)return A;let E=new DataView(o),x=0,y=A.byteLength,I=y-y%8,v=f,B,Q=8;for(;x<I;)for(Q=(Q+8)%24,B=Q;x<I&&B<v;)m.setUint32(x,m.getUint32(x,!0)^E.getUint32(B,!0),!0),m.setUint32(x+4,m.getUint32(x+4,!0)^E.getUint32(B+4,!0),!0),x+=8,B+=24;if(x<y)for(B>=v&&(Q=(Q+8)%24,B=Q);x<y;)m.setUint8(x,m.getUint8(x)^E.getUint8(B)),x++,B++}obe.passThroughDataForTesting=!1;var abe=obe;function Qit(o){this.proxy=o}Qit.prototype.getURL=function(o){let A=this.proxy.indexOf("?")===-1?"?":"";return this.proxy+A+encodeURIComponent(o)};var Sit=Qit;function gw(o){this._comparator=o.comparator,this._maximumLength=o.maximumLength,this._array=O(o.maximumLength)?new Array(o.maximumLength):[],this._length=0}Object.defineProperties(gw.prototype,{length:{get:function(){return this._length}},maximumLength:{get:function(){return this._maximumLength},set:function(o){if(O(o)){for(;this._length>o;)this.removeMinimum();this._array.length=o}this._maximumLength=o}},internalArray:{get:function(){return this._array}},comparator:{get:function(){return this._comparator}}});gw.prototype.clone=function(){let o=this._maximumLength,A=this._comparator,f=this._array,m=this._length,C=new gw({comparator:A,maximumLength:o});C._length=m;for(let E=0;E<m;E++)C._array[E]=f[E];return C};gw.prototype.reset=function(){this._length=0;let o=this._maximumLength;if(O(o))for(let A=0;A<o;A++)this._array[A]=void 0;else this._array.length=0};gw.prototype.resort=function(){let o=this._length;for(let A=0;A<o;A++)Dit(this,A)};gw.prototype.insert=function(o){let A,f=this._maximumLength;if(O(f)){if(f===0)return;if(this._length===f){let C=this._array[0];if(this._comparator(o,C)<=0)return o;A=this.removeMinimum()}}let m=this._length;return this._array[m]=o,this._length++,Dit(this,m),A};gw.prototype.removeMinimum=function(){let o=this._length;if(o===0)return;this._length--;let A=this._array[0];return o>=2&&(this._array[0]=this._array[o-1],Tit(this,0)),this._array[o-1]=void 0,A};gw.prototype.removeMaximum=function(){let o=this._length;if(o===0)return;this._length--;let A;if(o<=2)A=this._array[o-1];else{let f=sbe(this,1,2)?1:2;A=this._array[f],this._array[f]=this._array[o-1],o>=4&&Tit(this,f)}return this._array[o-1]=void 0,A};gw.prototype.getMinimum=function(){if(this._length!==0)return this._array[0]};gw.prototype.getMaximum=function(){let o=this._length;if(o!==0)return o<=2?this._array[o-1]:this._array[sbe(this,1,2)?1:2]};function Tee(o,A,f){let m=o._array,C=m[A];m[A]=m[f],m[f]=C}function K7(o,A,f){return o._comparator(o._array[A],o._array[f])<0}function sbe(o,A,f){return o._comparator(o._array[A],o._array[f])>0}function Dit(o,A){if(A===0)return;let f=Math.floor(Be.log2(A+1))%2===0,m=Math.floor((A-1)/2),C=K7(o,A,m);for(C!==f&&(Tee(o,A,m),A=m);A>=3;){let E=Math.floor((A-3)/4);if(K7(o,A,E)!==C)break;Tee(o,A,E),A=E}}function Tit(o,A){let f=o._length,m=Math.floor(Be.log2(A+1))%2===0,C;for(;(C=2*A+1)<f;){let E=C,x=C+1;if(x<f){K7(o,x,E)===m&&(E=x);let y=2*C+1,I=Math.max(Math.min(f-y,4),0);for(let v=0;v<I;v++){let B=y+v;K7(o,B,E)===m&&(E=B)}}if(K7(o,E,A)===m&&(Tee(o,E,A),E!==C&&E!==x)){let y=Math.floor((E-1)/2);sbe(o,E,y)===m&&Tee(o,E,y)}A=E}}var Mne=gw;function Pne(){Ai.throwInstantiationError()}Object.defineProperties(Pne.prototype,{credit:{get:Ai.throwInstantiationError}});Pne.getCreditsFromResult=function(o){if(O(o.attributions))return o.attributions.map(Qa.getIonCredit)};Pne.prototype.geocode=Ai.throwInstantiationError;var Rne=Pne,n_i={SEARCH:0,AUTOCOMPLETE:1},MJ=Object.freeze(n_i);function Mit(){Ai.throwInstantiationError()}Mit.createGeometry=function(o){Ai.throwInstantiationError()};var Pit=Mit,o_i=Dc(j6e(),1);function a_i(o,A){return(o&A)!==0}var cI=a_i,s_i=[1,2,4,8],Rit=15,l_i=16,u_i=64,A_i=128;function Gb(o,A,f,m,C,E){this._bits=o,this.cnodeVersion=A,this.imageryVersion=f,this.terrainVersion=m,this.imageryProvider=C,this.terrainProvider=E,this.ancestorHasTerrain=!1,this.terrainState=void 0}Gb.clone=function(o,A){return O(A)?(A._bits=o._bits,A.cnodeVersion=o.cnodeVersion,A.imageryVersion=o.imageryVersion,A.terrainVersion=o.terrainVersion,A.imageryProvider=o.imageryProvider,A.terrainProvider=o.terrainProvider):A=new Gb(o._bits,o.cnodeVersion,o.imageryVersion,o.terrainVersion,o.imageryProvider,o.terrainProvider),A.ancestorHasTerrain=o.ancestorHasTerrain,A.terrainState=o.terrainState,A};Gb.prototype.setParent=function(o){this.ancestorHasTerrain=o.ancestorHasTerrain||this.hasTerrain()};Gb.prototype.hasSubtree=function(){return cI(this._bits,l_i)};Gb.prototype.hasImagery=function(){return cI(this._bits,u_i)};Gb.prototype.hasTerrain=function(){return cI(this._bits,A_i)};Gb.prototype.hasChildren=function(){return cI(this._bits,Rit)};Gb.prototype.hasChild=function(o){return cI(this._bits,s_i[o])};Gb.prototype.getChildBitmask=function(){return this._bits&Rit};var lbe=Gb;function c_i(o){let A=o.length,f=new ArrayBuffer(A),m=new Uint8Array(f);for(let C=0;C<A;++C)m[C]=o.charCodeAt(C);return f}var h_i=c_i(`E\xF4\xBD\vy\xE2jE"\x92,\xCDq\xF8IFgQ\0B%\xC6\xE8a,f)\b\xC64\xDCjb%y wmi\xD6\xF0\x9Ck\x93\xA1\xBDNu\xE0A[\xDF@V\f\xD9\xBBr\x9B\x81|3S\xEEOl\xD4q\xB0{\xC0\x7FEVZ\xADwUe\v3\x92*\xACl5\xC50s\xF83>mF8J\xB4\xDD\xF0.\xDDu\xDA\x8CDt"\xFAa"\f3"So\xAF9D\v\x8C9\xD99L\xB9\xBF\x7F\xAB\\\x8CP_\x9F"ux\xE9\x07q\x91h;\xC1\xC4\x9B\x7F\xF0<VqH\x82'UfYNe\x98u\xA3aF}a?A\0\x9F\xD7\xB44M\xCE\x87F\xB0\xD5\xB8\x8A'{\x8B\xDC+\xBBMg0\xC8\xD1\xF6\\\x8FP\xFA[/F\x9Bn5/'C.\xEB \f^\xA5s\x1Be4\xE5l.jC'c#U\xA9?q{gC}:\xAF\xCD\xE2TU\x9C\xFDK\xC6\xE2\x9F/(\xED\xCB\\\xC6-f\x07\x88\xA7;/*"N\xB0k.\xDD\r\x95}}G\xBAC\xB2\xB2+>M\xAA>}\xE6\xCEI\x89\xC6\xE6x\fa1-\xA4O\xA5~q \x88\xEC\r1\xE8N\v\0nPh}=\b\r\x95\xA6n\xA3h\x97$[k\xF3#\xF3\xB6s\xB3\r\v@\xC0\x9F\xD8Q]\xFA".j\xDFI\0\xB9\xA0wU\xC6\xEFj\xBF{GL\x7F\x83\xEE\xDC\xDCF\x85\xA9\xADS\x07+S4\x07\xFF\x94Y\xE48\xE81\x83N\xB9XFk\xCB-#\x86\x92p\x005\x88"\xCF1\xB2&/\xE7\xC3u-6,rt\xB0#G\xB7\xD3\xD1&\x857r\xE2\0\x8CD\xCF\xDA3-\xDE\`\x86i#i*|\xCDKQ\r\x95T9w.)\xEA\x1B\xA6P\xA2j\x8FoP\x99\\>T\xFB\xEFP[\v\x07E\x89m(w7\xDB\x8EJfJo\x99 \xE5p\xE2\xB9q~\fmI-z\xFEr\xC7\xF2Y0\x8F\xBB]s\xE5\xC9 \xEAx\xEC \x90\xF0\x8A\x7FB|G\`\xB0\xBD&\xB7q\xB6\xC7\x9F\xD13\x82=\xD3\xAB\xEEc\x99\xC8+S\xA0D\\q\xC6\xCCD2O<\xCA\xC0)=R\xD3aX\xA9}e\xB4\xDC\xCF\r\xF4=\xF1\b\xA9B\xDA# \xD8\xBF^PI\xF8M\xC0\xCBGLO\xF7{+\xD8\xC51\x92;\xB5o\xDCl\r\x92\x88\xD1\x9E\xDB?\xE2\xE9\xDA_\xD4\x84\xE2FaZ\xDEU\xCF\xA4\0\xBE\xFD\xCEg\xF1Ji\x97\xE6 H\xD8]\x7F~\xAEq N\xAE\xC0V\xA9\x91<\x82r\xE7v\xEC)I\xD6]-\x83\xE3\xDB6\xA9;f\x97\x87j\xD5\xB6=P^R\xB9K\xC7sWx\xC9\xF4.Y\x07\x95\x93o\xD0KW>''\xC7\`\xDB;\xED\x9ASD>?\x8D\x92mw\xA2 \xEB?R\xA8\xC6U^1I7\x85\xF4\xC5&-\xA9\xBF\x8B'T\xDA\xC3j \xE5*x\xB0\xD6\x90pr\xAA\x8Bh\xBD\x88\xF7_H\xB1~\xC0XL?f\xF9>\xE1e\xC0p\xA7\xCF8i\xAF\xF0VldI\x9C'\xADxtO\xC2\x87\xDEV9\0\xDAw\v\xCB-\x1B\x89\xFB5O\xF5\bQ\`\xC1 ZGM&30x\xDA\xC0\x9CFG\xE2[y\`In7gS >\xE9\xECF9\xB2\xF14\r\xC6\x84Sun\xE1\fY\xD9\xDE)\x85{II\xA5wy\xBEIV.6\xE7\v:\xBBOb{\xD2M1\x95/\xBD8{\xA8O!\xE1\xECFpv\x95})"x\x88 \x90\xDD\x9D\\\xDA\xDEQ\xCF\xF0\xFCYRe|3\xDF\xF3H\xDA\xBB*u\xDB\`\xB2\xD4\xFC\xED\x1B\xEC\x7F5\xA8\xFF(1\x07-\xC8\xDC\x88F|\x8A["`);function xI(o){if(this.imageryPresent=!0,this.protoImagery=void 0,this.terrainPresent=!0,this.negativeAltitudeExponentBias=32,this.negativeAltitudeThreshold=Be.EPSILON12,this.providers={},this.key=void 0,this._resource=void 0,this._quadPacketVersion=1,this._tileInfo={},this._subtreePromises={},this._readyPromise=Promise.resolve(!0),O(o)){ii("GoogleEarthEnterpriseMetadata options.url","GoogleEarthEnterpriseMetadata constructor parmeter resourceOrUrl was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use GoogleEarthEnterpriseMetadata.fromUrl instead.");let A=o;typeof A!="string"&&!(A instanceof Cr)&&(A=o.url);let f=Cr.createIfNeeded(A);f.appendForwardSlash(),this._resource=f;let m=this;this._readyPromise=Fit(this).then(function(){return m.getQuadTreePacket("",m._quadPacketVersion)}).then(function(){return!0}).catch(function(C){let E=`An error occurred while accessing ${ube(m,"",1).url}.`;return Promise.reject(new ki(E))})}}Object.defineProperties(xI.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},resource:{get:function(){return this._resource}},readyPromise:{get:function(){return ii("GoogleEarthEnterpriseMetadata.readyPromise","GoogleEarthEnterpriseMetadata.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use GoogleEarthEnterpriseMetadata.fromUrl instead."),this._readyPromise}}});xI.fromUrl=async function(o){let A=o;typeof A!="string"&&!(A instanceof Cr)&&(A=o.url);let f=Cr.createIfNeeded(A);f.appendForwardSlash();let m=new xI;m._resource=f;try{await Fit(m),await m.getQuadTreePacket("",m._quadPacketVersion)}catch(C){let E=`An error occurred while accessing ${ube(m,"",1).url}: ${C}`;throw new ki(E)}return m};xI.tileXYToQuadKey=function(o,A,f){let m="";for(let C=f;C>=0;--C){let E=1<<C,x=0;cI(A,E)?cI(o,E)&&(x|=1):(x|=2,cI(o,E)||(x|=1)),m+=x}return m};xI.quadKeyToTileXY=function(o){let A=0,f=0,m=o.length-1;for(let C=m;C>=0;--C){let E=1<<C,x=+o[m-C];cI(x,2)?cI(x,1)||(A|=E):(f|=E,cI(x,1)&&(A|=E))}return{x:A,y:f,level:m}};xI.prototype.isValid=function(o){let A=this.getTileInformationFromQuadKey(o);if(O(A))return A!==null;let f=!0,m=o,C;for(;m.length>1;)if(C=m.substring(m.length-1),m=m.substring(0,m.length-1),A=this.getTileInformationFromQuadKey(m),O(A)){!A.hasSubtree()&&!A.hasChild(parseInt(C))&&(f=!1);break}else if(A===null){f=!1;break}return f};var Lit=new hd("decodeGoogleEarthEnterprisePacket");xI.prototype.getQuadTreePacket=function(o,A,f){A=oe(A,1),o=oe(o,"");let m=ube(this,o,A,f).fetchArrayBuffer();if(!O(m))return;let C=this._tileInfo,E=this.key;return m.then(function(x){return Lit.scheduleTask({buffer:x,quadKey:o,type:"Metadata",key:E},[x]).then(function(y){let I,v=-1;if(o!==""){v=o.length+1;let T=y[o];I=C[o],I._bits|=T._bits,delete y[o]}let B=Object.keys(y);B.sort(function(T,w){return T.length-w.length});let Q=B.length;for(let T=0;T<Q;++T){let w=B[T];if(y[w]!==null){let S=lbe.clone(y[w]),D=w.length;if(D===v)S.setParent(I);else if(D>1){let R=C[w.substring(0,w.length-1)];S.setParent(R)}C[w]=S}else C[w]=null}})})};xI.prototype.populateSubtree=function(o,A,f,m){let C=xI.tileXYToQuadKey(o,A,f);return zge(this,C,m)};function zge(o,A,f){let m=o._tileInfo,C=A,E=m[C];if(O(E)&&(!E.hasSubtree()||E.hasChildren()))return E;for(;E===void 0&&C.length>1;)C=C.substring(0,C.length-1),E=m[C];let x,y=o._subtreePromises,I=y[C];if(O(I))return I.then(function(){return x=new lp({throttle:f.throttle,throttleByServer:f.throttleByServer,type:f.type,priorityFunction:f.priorityFunction}),zge(o,A,x)});if(!O(E)||!E.hasSubtree())return Promise.reject(new ki(`Couldn't load metadata for tile ${A}`));if(I=o.getQuadTreePacket(C,E.cnodeVersion,f),!!O(I))return y[C]=I,I.then(function(){return x=new lp({throttle:f.throttle,throttleByServer:f.throttleByServer,type:f.type,priorityFunction:f.priorityFunction}),zge(o,A,x)}).finally(function(){delete y[C]})}xI.prototype.getTileInformation=function(o,A,f){let m=xI.tileXYToQuadKey(o,A,f);return this._tileInfo[m]};xI.prototype.getTileInformationFromQuadKey=function(o){return this._tileInfo[o]};function ube(o,A,f,m){return o._resource.getDerivedResource({url:`flatfile?q2-0${A}-q.${f.toString()}`,request:m})}var sde,lde;function Fit(o){let A=o._resource.getDerivedResource({url:"dbRoot.v5",queryParameters:{output:"proto"}});if(!O(lde)){let f=ja("ThirdParty/google-earth-dbroot-parser.js"),m=window.cesiumGoogleEarthDbRootParser;lde=yte(f).then(function(){sde=window.cesiumGoogleEarthDbRootParser(o_i),O(m)?window.cesiumGoogleEarthDbRootParser=m:delete window.cesiumGoogleEarthDbRootParser})}return lde.then(function(){return A.fetchArrayBuffer()}).then(function(f){let m=sde.EncryptedDbRootProto.decode(new Uint8Array(f)),C=m.encryptionData,E=C.byteOffset,x=E+C.byteLength,y=o.key=C.buffer.slice(E,x);C=m.dbrootData,E=C.byteOffset,x=E+C.byteLength;let I=C.buffer.slice(E,x);return Lit.scheduleTask({buffer:I,type:"DbRoot",key:y},[I])}).then(function(f){let m=sde.DbRootProto.decode(new Uint8Array(f.buffer));if(o.imageryPresent=oe(m.imageryPresent,o.imageryPresent),o.protoImagery=m.protoImagery,o.terrainPresent=oe(m.terrainPresent,o.terrainPresent),O(m.endSnippet)&&O(m.endSnippet.model)){let y=m.endSnippet.model;o.negativeAltitudeExponentBias=oe(y.negativeAltitudeExponentBias,o.negativeAltitudeExponentBias),o.negativeAltitudeThreshold=oe(y.compressedNegativeAltitudeThreshold,o.negativeAltitudeThreshold)}O(m.databaseVersion)&&(o._quadPacketVersion=oe(m.databaseVersion.quadtreeVersion,o._quadPacketVersion));let C=o.providers,E=oe(m.providerInfo,[]),x=E.length;for(let y=0;y<x;++y){let I=E[y],v=I.copyrightString;O(v)&&(C[I.providerId]=new Qa(v.value))}}).catch(function(){console.log(`Failed to retrieve ${A.url}. Using defaults.`),o.key=h_i})}var _R=xI;function K3(o){o=oe(o,oe.EMPTY_OBJECT),this._buffer=o.buffer,this._credits=o.credits,this._negativeAltitudeExponentBias=o.negativeAltitudeExponentBias,this._negativeElevationThreshold=o.negativeElevationThreshold;let A=oe(o.childTileMask,15),f=A&3;f|=A&4?8:0,f|=A&8?4:0,this._childTileMask=f,this._createdByUpsampling=oe(o.createdByUpsampling,!1),this._skirtHeight=void 0,this._bufferType=this._buffer.constructor,this._mesh=void 0,this._minimumHeight=void 0,this._maximumHeight=void 0}Object.defineProperties(K3.prototype,{credits:{get:function(){return this._credits}},waterMask:{get:function(){}}});var Nit="createVerticesFromGoogleEarthEnterpriseBuffer",d_i=new hd(Nit),f_i=new hd(Nit,P3.maximumAsynchronousTasks),d8e=new gi,ude=new gi;K3.prototype.createMesh=function(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.tilingScheme,f=o.x,m=o.y,C=o.level,E=oe(o.exaggeration,1),x=oe(o.exaggerationRelativeHeight,0),y=oe(o.throttle,!0),I=A.ellipsoid;A.tileXYToNativeRectangle(f,m,C,d8e),A.tileXYToRectangle(f,m,C,ude);let v=I.cartographicToCartesian(gi.center(ude)),B=40075.16/(1<<C);this._skirtHeight=Math.min(B*8,1e3);let Q=(y?f_i:d_i).scheduleTask({buffer:this._buffer,nativeRectangle:d8e,rectangle:ude,relativeToCenter:v,ellipsoid:I,skirtHeight:this._skirtHeight,exaggeration:E,exaggerationRelativeHeight:x,includeWebMercatorT:!0,negativeAltitudeExponentBias:this._negativeAltitudeExponentBias,negativeElevationThreshold:this._negativeElevationThreshold});if(!O(Q))return;let T=this;return Q.then(function(w){return T._mesh=new R3(v,new Float32Array(w.vertices),new Uint16Array(w.indices),w.indexCountWithoutSkirts,w.vertexCountWithoutSkirts,w.minimumHeight,w.maximumHeight,hi.clone(w.boundingSphere3D),Z.clone(w.occludeePointInScaledSpace),w.numberOfAttributes,Lu.clone(w.orientedBoundingBox),OD.clone(w.encoding),w.westIndicesSouthToNorth,w.southIndicesEastToWest,w.eastIndicesNorthToSouth,w.northIndicesWestToEast),T._minimumHeight=w.minimumHeight,T._maximumHeight=w.maximumHeight,T._buffer=void 0,T._mesh})};K3.prototype.interpolateHeight=function(o,A,f){let m=Be.clamp((A-o.west)/o.width,0,1),C=Be.clamp((f-o.south)/o.height,0,1);return O(this._mesh)?E_i(this,m,C):I_i(this,m,C,o)};var g_i=new hd("upsampleQuantizedTerrainMesh",P3.maximumAsynchronousTasks);K3.prototype.upsample=function(o,A,f,m,C,E,x){let y=this._mesh;if(!O(this._mesh))return;let I=A*2!==C,v=f*2===E,B=o.ellipsoid,Q=o.tileXYToRectangle(C,E,x),T=g_i.scheduleTask({vertices:y.vertices,indices:y.indices,indexCountWithoutSkirts:y.indexCountWithoutSkirts,vertexCountWithoutSkirts:y.vertexCountWithoutSkirts,encoding:y.encoding,minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,isEastChild:I,isNorthChild:v,childRectangle:Q,ellipsoid:B});if(!O(T))return;let w=this;return T.then(function(S){let D=new Uint16Array(S.vertices),R=Bn.createTypedArray(D.length/3,S.indices),P=w._skirtHeight;return new Sne({quantizedVertices:D,indices:R,minimumHeight:S.minimumHeight,maximumHeight:S.maximumHeight,boundingSphere:hi.clone(S.boundingSphere),orientedBoundingBox:Lu.clone(S.orientedBoundingBox),horizonOcclusionPoint:Z.clone(S.horizonOcclusionPoint),westIndices:S.westIndices,southIndices:S.southIndices,eastIndices:S.eastIndices,northIndices:S.northIndices,westSkirtHeight:P,southSkirtHeight:P,eastSkirtHeight:P,northSkirtHeight:P,childTileMask:0,createdByUpsampling:!0,credits:w._credits})})};K3.prototype.isChildAvailable=function(o,A,f,m){let C=2;return f!==o*2&&++C,m!==A*2&&(C-=2),(this._childTileMask&1<<C)!==0};K3.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};var p_i=new rt,m_i=new rt,C_i=new rt,kit=new Z;function E_i(o,A,f){let m=o._mesh,C=m.vertices,E=m.encoding,x=m.indices;for(let y=0,I=x.length;y<I;y+=3){let v=x[y],B=x[y+1],Q=x[y+2],T=E.decodeTextureCoordinates(C,v,p_i),w=E.decodeTextureCoordinates(C,B,m_i),S=E.decodeTextureCoordinates(C,Q,C_i),D=E8.computeBarycentricCoordinates(A,f,T.x,T.y,w.x,w.y,S.x,S.y,kit);if(D.x>=-1e-15&&D.y>=-1e-15&&D.z>=-1e-15){let R=E.decodeHeight(C,v),P=E.decodeHeight(C,B),M=E.decodeHeight(C,Q);return D.x*R+D.y*P+D.z*M}}}var x_i=Uint16Array.BYTES_PER_ELEMENT,f8e=Uint32Array.BYTES_PER_ELEMENT,Ade=Int32Array.BYTES_PER_ELEMENT,y_i=Float32Array.BYTES_PER_ELEMENT,cde=Float64Array.BYTES_PER_ELEMENT;function I_i(o,A,f,m){let C=o._buffer,E=0,x=0,y=0;f>.5?(A>.5?(E=2,x=.5):E=3,y=.5):A>.5&&(E=1,x=.5);let I=new DataView(C),v=0;for(let k=0;k<E;++k)v+=I.getUint32(v,!0),v+=f8e;v+=f8e,v+=2*cde;let B=Be.toRadians(I.getFloat64(v,!0)*180);v+=cde;let Q=Be.toRadians(I.getFloat64(v,!0)*180);v+=cde;let T=m.width/B/2,w=m.height/Q/2,S=I.getInt32(v,!0);v+=Ade;let D=I.getInt32(v,!0)*3;v+=Ade,v+=Ade;let R=new Array(S),P=new Array(S),M=new Array(S),L;for(L=0;L<S;++L)R[L]=x+I.getUint8(v++)*T,P[L]=y+I.getUint8(v++)*w,M[L]=I.getFloat32(v,!0)*6371010,v+=y_i;let F=new Array(D);for(L=0;L<D;++L)F[L]=I.getUint16(v,!0),v+=x_i;for(L=0;L<D;L+=3){let k=F[L],N=F[L+1],G=F[L+2],J=R[k],K=R[N],X=R[G],q=P[k],ee=P[N],ie=P[G],H=E8.computeBarycentricCoordinates(A,f,J,q,K,ee,X,ie,kit);if(H.x>=-1e-15&&H.y>=-1e-15&&H.z>=-1e-15)return H.x*M[k]+H.y*M[N]+H.z*M[G]}}var Mee=K3,B_={UNKNOWN:0,NONE:1,SELF:2,PARENT:3},OX=new Zt;function Lne(){this._terrainCache={},this._lastTidy=Zt.now()}Lne.prototype.add=function(o,A){this._terrainCache[o]={buffer:A,timestamp:Zt.now()}};Lne.prototype.get=function(o){let A=this._terrainCache[o];if(O(A))return delete this._terrainCache[o],A.buffer};Lne.prototype.tidy=function(){if(Zt.now(OX),Zt.secondsDifference(OX,this._lastTidy)>10){let o=this._terrainCache,A=Object.keys(o),f=A.length;for(let m=0;m<f;++m){let C=A[m],E=o[C];Zt.secondsDifference(OX,E.timestamp)>10&&delete o[C]}Zt.clone(OX,this._lastTidy)}};function YP(o){o=oe(o,oe.EMPTY_OBJECT),this._tilingScheme=new th({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new gi(-Be.PI,-Be.PI,Be.PI,Be.PI),ellipsoid:o.ellipsoid});let A=o.credit;if(typeof A=="string"&&(A=new Qa(A)),this._credit=A,this._levelZeroMaximumGeometricError=40075.16,this._terrainCache=new Lne,this._terrainPromises={},this._terrainRequests={},this._errorEvent=new ur,this._ready=!1,O(o.url)){ii("GoogleEarthEnterpriseTerrainProvider options.url","options.url was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use GoogleEarthEnterpriseTerrainProvider.fromMetadata instead.");let f=Cr.createIfNeeded(o.url),m=this,C;this._readyPromise=_R.fromUrl(f).then(E=>{if(!E.terrainPresent){let x=new ki(`The server ${E.url} doesn't have terrain`);return Promise.reject(x)}return yh.reportSuccess(C),m._metadata=E,m._ready=!0,!0}).catch(E=>{throw C=yh.reportError(C,m,m._errorEvent,E.message,void 0,void 0,void 0,E),E})}else if(O(o.metadata)){ii("GoogleEarthEnterpriseTerrainProvider options.metadata","options.metadata was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use GoogleEarthEnterpriseTerrainProvider.fromMetadata instead.");let f=o.metadata;this._metadata=f;let m=this;this._readyPromise=Promise.resolve(this._metadata._readyPromise).then(()=>{if(!f.terrainPresent)throw new ki(`The server ${f.url} doesn't have terrain`);m._ready=!0})}}Object.defineProperties(YP.prototype,{url:{get:function(){return this._metadata.url}},proxy:{get:function(){return this._metadata.proxy}},tilingScheme:{get:function(){return this._tilingScheme}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return ii("GoogleEarthEnterpriseTerrainProvider.ready","GoogleEarthEnterpriseTerrainProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._ready}},readyPromise:{get:function(){return ii("GoogleEarthEnterpriseTerrainProvider.readyPromise","GoogleEarthEnterpriseTerrainProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._readyPromise}},credit:{get:function(){return this._credit}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});YP.fromMetadata=function(o,A){if(!o.terrainPresent)throw new ki(`The server ${o.url} doesn't have terrain`);let f=new YP(A);return f._metadata=o,f._readyPromise=Promise.resolve(!0),f._ready=!0,f};var __i=new hd("decodeGoogleEarthEnterprisePacket");function g8e(o,A,f){let m=A.getChildBitmask();if(A.terrainState===B_.PARENT){m=0;for(let C=0;C<4;++C){let E=f.getTileInformationFromQuadKey(o+C.toString());O(E)&&E.hasTerrain()&&(m|=1<<C)}}return m}YP.prototype.requestTileGeometry=function(o,A,f,m){let C=_R.tileXYToQuadKey(o,A,f),E=this._terrainCache,x=this._metadata,y=x.getTileInformationFromQuadKey(C);if(!O(y))return Promise.reject(new ki("Terrain tile doesn't exist"));let I=y.terrainState;O(I)||(I=y.terrainState=B_.UNKNOWN);let v=E.get(C);if(O(v)){let P=x.providers[y.terrainProvider];return Promise.resolve(new Mee({buffer:v,childTileMask:g8e(C,y,x),credits:O(P)?[P]:void 0,negativeAltitudeExponentBias:x.negativeAltitudeExponentBias,negativeElevationThreshold:x.negativeAltitudeThreshold}))}if(E.tidy(),y.ancestorHasTerrain){if(I===B_.NONE)return Promise.reject(new ki("Terrain tile doesn't exist"))}else return Promise.resolve(new Rw({buffer:new Uint8Array(16*16),width:16,height:16}));let B,Q=C,T=-1;switch(I){case B_.SELF:T=y.terrainVersion;break;case B_.PARENT:Q=Q.substring(0,Q.length-1),B=x.getTileInformationFromQuadKey(Q),T=B.terrainVersion;break;case B_.UNKNOWN:y.hasTerrain()?T=y.terrainVersion:(Q=Q.substring(0,Q.length-1),B=x.getTileInformationFromQuadKey(Q),O(B)&&B.hasTerrain()&&(T=B.terrainVersion));break}if(T<0)return Promise.reject(new ki("Terrain tile doesn't exist"));let w=this._terrainPromises,S=this._terrainRequests,D,R;if(O(w[Q]))D=w[Q],R=S[Q];else{R=m;let P=v_i(this,Q,T,R).fetchArrayBuffer();if(!O(P))return;D=P.then(function(M){return O(M)?__i.scheduleTask({buffer:M,type:"Terrain",key:x.key},[M]).then(function(L){let F=x.getTileInformationFromQuadKey(Q);F.terrainState=B_.SELF,E.add(Q,L[0]);let k=F.terrainProvider,N=L.length-1;for(let G=0;G<N;++G){let J=Q+G.toString(),K=x.getTileInformationFromQuadKey(J);O(K)&&(E.add(J,L[G+1]),K.terrainState=B_.PARENT,K.terrainProvider===0&&(K.terrainProvider=k))}}):Promise.reject(new ki("Failed to load terrain."))}),w[Q]=D,S[Q]=R,D=D.finally(function(){delete w[Q],delete S[Q]})}return D.then(function(){let P=E.get(C);if(O(P)){let M=x.providers[y.terrainProvider];return new Mee({buffer:P,childTileMask:g8e(C,y,x),credits:O(M)?[M]:void 0,negativeAltitudeExponentBias:x.negativeAltitudeExponentBias,negativeElevationThreshold:x.negativeAltitudeThreshold})}return Promise.reject(new ki("Failed to load terrain."))}).catch(function(P){return R.state===Ju.CANCELLED?(m.state=R.state,Promise.reject(P)):(y.terrainState=B_.NONE,Promise.reject(P))})};YP.prototype.getLevelMaximumGeometricError=function(o){return this._levelZeroMaximumGeometricError/(1<<o)};YP.prototype.getTileDataAvailable=function(o,A,f){let m=this._metadata,C=_R.tileXYToQuadKey(o,A,f),E=m.getTileInformation(o,A,f);if(E===null)return!1;if(O(E)){if(!E.ancestorHasTerrain)return!0;let x=E.terrainState;if(x===B_.NONE)return!1;if((!O(x)||x===B_.UNKNOWN)&&(E.terrainState=B_.UNKNOWN,!E.hasTerrain())){C=C.substring(0,C.length-1);let y=m.getTileInformationFromQuadKey(C);if(!O(y)||!y.hasTerrain())return!1}return!0}if(m.isValid(C)){let x=new lp({throttle:!1,throttleByServer:!0,type:II.TERRAIN});m.populateSubtree(o,A,f,x)}return!1};YP.prototype.loadTileDataAvailability=function(o,A,f){};function v_i(o,A,f,m){return f=O(f)&&f>0?f:1,o._metadata.resource.getDerivedResource({url:`flatfile?f1c-0${A}-t.${f.toString()}`,request:m})}var Oit=YP,UX,Uit="AIzaSyBqCv5lozjjhtIQ_pZuj2obyAL9bTJdY28",Fne={};Fne.defaultApiKey=Uit;Fne.mapTilesApiEndpoint=new Cr({url:"https://tile.googleapis.com/v1/"});Fne.getDefaultApiKeyCredit=function(o){if(o===Uit){if(!O(UX)){let A=`<b> This application is using CesiumJS's default Google Maps API key. Please assign <i>Cesium.GoogleMaps.defaultApiKey</i> with <a href="https://developers.google.com/maps/documentation/embed/get-api-key">your API key for the Google Maps Platform</a>.</b>`;UX=new Qa(A,!0),UX._isDefaultToken=!0}return UX}};var W7=Fne,PJ={};PJ.type=void 0;PJ.getRequiredDataPoints=Ai.throwInstantiationError;PJ.interpolateOrderZero=Ai.throwInstantiationError;PJ.interpolate=Ai.throwInstantiationError;var Git=PJ;function Abe(o){this._url=Cr.createIfNeeded(o),this._url.appendForwardSlash()}Object.defineProperties(Abe.prototype,{url:{get:function(){return this._url}},credit:{get:function(){}}});Abe.prototype.geocode=async function(o,A){return this._url.getDerivedResource({url:A===MJ.AUTOCOMPLETE?"autocomplete":"search",queryParameters:{text:o}}).fetchJson().then(function(f){return f.features.map(function(m){let C,E=m.bbox;if(O(E))C=gi.fromDegrees(E[0],E[1],E[2],E[3]);else{let x=m.geometry.coordinates[0],y=m.geometry.coordinates[1];C=Z.fromDegrees(x,y)}return{displayName:m.properties.label,destination:C,attributions:f.attributions}})})};var cbe=Abe;function hbe(o){o=oe(o,oe.EMPTY_OBJECT);let A=oe(o.accessToken,Z2.defaultAccessToken),f=Cr.createIfNeeded(oe(o.server,Z2.defaultServer));f.appendForwardSlash();let m=Z2.getDefaultTokenCredit(A);O(m)&&o.scene.frameState.creditDisplay.addStaticCredit(Qa.clone(m));let C=f.getDerivedResource({url:"v1/geocode"});O(A)&&C.appendQueryParameters({access_token:A}),this._accessToken=A,this._server=f,this._pelias=new cbe(C)}Object.defineProperties(hbe.prototype,{credit:{get:function(){}}});hbe.prototype.geocode=async function(o,A){return this._pelias.geocode(o,A)};var dbe=hbe,B_i=new hd("transcodeCRNToDXT",Number.POSITIVE_INFINITY);function w_i(o){let A;if(o instanceof ArrayBuffer||ArrayBuffer.isView(o)?A=Promise.resolve(o):A=Cr.createIfNeeded(o).fetchArrayBuffer(),!!O(A))return A.then(function(f){if(!O(f))return;let m=[];return f instanceof ArrayBuffer?m.push(f):(f.byteOffset===0&&f.byteLength===f.buffer.byteLength||(f=f.slice(0,f.length)),m.push(f.buffer)),B_i.scheduleTask(f,m)}).then(function(f){return Fz.clone(f)})}var Hit=w_i;function Nne(){Ai.throwInstantiationError()}Object.defineProperties(Nne.prototype,{ellipsoid:{get:Ai.throwInstantiationError}});Nne.prototype.project=Ai.throwInstantiationError;Nne.prototype.unproject=Ai.throwInstantiationError;var Vit=Nne;function y8(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.weights,f=o.times;this._times=f,this._weights=A,this._count=A.length/f.length,this._lastTimeIndex=0}Object.defineProperties(y8.prototype,{times:{get:function(){return this._times}},weights:{get:function(){return this._weights}}});y8.prototype.findTimeInterval=Yh.prototype.findTimeInterval;y8.prototype.wrapTime=Yh.prototype.wrapTime;y8.prototype.clampTime=Yh.prototype.clampTime;y8.prototype.evaluate=function(o,A){let f=this.weights,m=this.times,C=this._lastTimeIndex=this.findTimeInterval(o,this._lastTimeIndex),E=(o-m[C])/(m[C+1]-m[C]);O(A)||(A=new Array(this._count));for(let x=0;x<this._count;x++){let y=C*this._count+x;A[x]=f[y]*(1-E)+f[y+this._count]*E}return A};var zit=y8;function fbe(o,A,f){o=Cr.createIfNeeded(o),o.appendForwardSlash(),o.setQueryParameters({key:A}),this._url=o,this._params=oe(f,{}),this._credit=new Qa('Geodata copyright <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors',!1)}Object.defineProperties(fbe.prototype,{url:{get:function(){return this._url}},params:{get:function(){return this._params}},credit:{get:function(){return this._credit}}});fbe.prototype.geocode=async function(o){return this._url.getDerivedResource({url:"json",queryParameters:So(this._params,{q:o})}).fetchJson().then(function(A){return A.results.map(function(f){let m,C=f.bounds;if(O(C))m=gi.fromDegrees(C.southwest.lng,C.southwest.lat,C.northeast.lng,C.northeast.lat);else{let E=f.geometry.lat,x=f.geometry.lng;m=Z.fromDegrees(E,x)}return{displayName:f.formatted,destination:m}})})};var Yit=fbe,b_i={packedLength:void 0,pack:Ai.throwInstantiationError,unpack:Ai.throwInstantiationError},Jit=b_i,Q_i={packedInterpolationLength:void 0,convertPackedArrayForInterpolation:Ai.throwInstantiationError,unpackInterpolationResult:Ai.throwInstantiationError},Kit=Q_i,S_i=new Z;function D_i(o,A,f,m){let C=Jte(o,A,f,m,S_i);return O(C)?C.x>0&&C.y>0&&C.z>0:!1}var Wit=D_i;function jit(){Ai.throwInstantiationError()}jit.prototype.getURL=Ai.throwInstantiationError;var qit=jit;function T_i(o,A,f,m,C,E,x){let y=cc.numberOfPoints(o,A,C),I,v=f.red,B=f.green,Q=f.blue,T=f.alpha,w=m.red,S=m.green,D=m.blue,R=m.alpha;if(Ve.equals(f,m)){for(I=0;I<y;I++)E[x++]=Ve.floatToByte(v),E[x++]=Ve.floatToByte(B),E[x++]=Ve.floatToByte(Q),E[x++]=Ve.floatToByte(T);return x}let P=(w-v)/y,M=(S-B)/y,L=(D-Q)/y,F=(R-T)/y,k=x;for(I=0;I<y;I++)E[k++]=Ve.floatToByte(v+I*P),E[k++]=Ve.floatToByte(B+I*M),E[k++]=Ve.floatToByte(Q+I*L),E[k++]=Ve.floatToByte(T+I*F);return k}function sz(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.positions,f=o.colors,m=oe(o.colorsPerVertex,!1);this._positions=A,this._colors=f,this._colorsPerVertex=m,this._arcType=oe(o.arcType,Ia.GEODESIC),this._granularity=oe(o.granularity,Be.RADIANS_PER_DEGREE),this._ellipsoid=oe(o.ellipsoid,Ci.WGS84),this._workerName="createSimplePolylineGeometry";let C=1+A.length*Z.packedLength;C+=O(f)?1+f.length*Ve.packedLength:1,this.packedLength=C+Ci.packedLength+3}sz.pack=function(o,A,f){f=oe(f,0);let m,C=o._positions,E=C.length;for(A[f++]=E,m=0;m<E;++m,f+=Z.packedLength)Z.pack(C[m],A,f);let x=o._colors;for(E=O(x)?x.length:0,A[f++]=E,m=0;m<E;++m,f+=Ve.packedLength)Ve.pack(x[m],A,f);return Ci.pack(o._ellipsoid,A,f),f+=Ci.packedLength,A[f++]=o._colorsPerVertex?1:0,A[f++]=o._arcType,A[f]=o._granularity,A};sz.unpack=function(o,A,f){A=oe(A,0);let m,C=o[A++],E=new Array(C);for(m=0;m<C;++m,A+=Z.packedLength)E[m]=Z.unpack(o,A);C=o[A++];let x=C>0?new Array(C):void 0;for(m=0;m<C;++m,A+=Ve.packedLength)x[m]=Ve.unpack(o,A);let y=Ci.unpack(o,A);A+=Ci.packedLength;let I=o[A++]===1,v=o[A++],B=o[A];return O(f)?(f._positions=E,f._colors=x,f._ellipsoid=y,f._colorsPerVertex=I,f._arcType=v,f._granularity=B,f):new sz({positions:E,colors:x,ellipsoid:y,colorsPerVertex:I,arcType:v,granularity:B})};var jZ=new Array(2),qZ=new Array(2),M_i={positions:jZ,height:qZ,ellipsoid:void 0,minDistance:void 0,granularity:void 0};sz.createGeometry=function(o){let A=o._positions,f=o._colors,m=o._colorsPerVertex,C=o._arcType,E=o._granularity,x=o._ellipsoid,y=Be.chordLength(E,x.maximumRadius),I=O(f)&&!m,v,B=A.length,Q,T,w,S,D=0;if(C===Ia.GEODESIC||C===Ia.RHUMB){let F,k,N;C===Ia.GEODESIC?(F=Be.chordLength(E,x.maximumRadius),k=cc.numberOfPoints,N=cc.generateArc):(F=E,k=cc.numberOfPointsRhumbLine,N=cc.generateRhumbArc);let G=cc.extractHeights(A,x),J=M_i;if(C===Ia.GEODESIC?J.minDistance=y:J.granularity=E,J.ellipsoid=x,I){let K=0;for(v=0;v<B-1;v++)K+=k(A[v],A[v+1],F)+1;Q=new Float64Array(K*3),w=new Uint8Array(K*4),J.positions=jZ,J.height=qZ;let X=0;for(v=0;v<B-1;++v){jZ[0]=A[v],jZ[1]=A[v+1],qZ[0]=G[v],qZ[1]=G[v+1];let q=N(J);if(O(f)){let ee=q.length/3;S=f[v];for(let ie=0;ie<ee;++ie)w[X++]=Ve.floatToByte(S.red),w[X++]=Ve.floatToByte(S.green),w[X++]=Ve.floatToByte(S.blue),w[X++]=Ve.floatToByte(S.alpha)}Q.set(q,D),D+=q.length}}else if(J.positions=A,J.height=G,Q=new Float64Array(N(J)),O(f)){for(w=new Uint8Array(Q.length/3*4),v=0;v<B-1;++v){let X=A[v],q=A[v+1],ee=f[v],ie=f[v+1];D=T_i(X,q,ee,ie,y,w,D)}let K=f[B-1];w[D++]=Ve.floatToByte(K.red),w[D++]=Ve.floatToByte(K.green),w[D++]=Ve.floatToByte(K.blue),w[D++]=Ve.floatToByte(K.alpha)}}else{T=I?B*2-2:B,Q=new Float64Array(T*3),w=O(f)?new Uint8Array(T*4):void 0;let F=0,k=0;for(v=0;v<B;++v){let N=A[v];if(I&&v>0&&(Z.pack(N,Q,F),F+=3,S=f[v-1],w[k++]=Ve.floatToByte(S.red),w[k++]=Ve.floatToByte(S.green),w[k++]=Ve.floatToByte(S.blue),w[k++]=Ve.floatToByte(S.alpha)),I&&v===B-1)break;Z.pack(N,Q,F),F+=3,O(f)&&(S=f[v],w[k++]=Ve.floatToByte(S.red),w[k++]=Ve.floatToByte(S.green),w[k++]=Ve.floatToByte(S.blue),w[k++]=Ve.floatToByte(S.alpha))}}let R=new Fu;R.position=new wr({componentDatatype:Ft.DOUBLE,componentsPerAttribute:3,values:Q}),O(f)&&(R.color=new wr({componentDatatype:Ft.UNSIGNED_BYTE,componentsPerAttribute:4,values:w,normalize:!0})),T=Q.length/3;let P=(T-1)*2,M=Bn.createTypedArray(T,P),L=0;for(v=0;v<T-1;++v)M[L++]=v,M[L++]=v+1;return new Uo({attributes:R,indices:M,primitiveType:on.LINES,boundingSphere:hi.fromPoints(A)})};var Xit=sz;function G4(o){let A=oe(o.radius,1),f={radii:new Z(A,A,A),stackPartitions:o.stackPartitions,slicePartitions:o.slicePartitions,vertexFormat:o.vertexFormat};this._ellipsoidGeometry=new hp(f),this._workerName="createSphereGeometry"}G4.packedLength=hp.packedLength;G4.pack=function(o,A,f){return hp.pack(o._ellipsoidGeometry,A,f)};var P_i=new hp,f2={radius:void 0,radii:new Z,vertexFormat:new Pr,stackPartitions:void 0,slicePartitions:void 0};G4.unpack=function(o,A,f){let m=hp.unpack(o,A,P_i);return f2.vertexFormat=Pr.clone(m._vertexFormat,f2.vertexFormat),f2.stackPartitions=m._stackPartitions,f2.slicePartitions=m._slicePartitions,O(f)?(Z.clone(m._radii,f2.radii),f._ellipsoidGeometry=new hp(f2),f):(f2.radius=m._radii.x,new G4(f2))};G4.createGeometry=function(o){return hp.createGeometry(o._ellipsoidGeometry)};var Zit=G4;function vR(o){}Object.defineProperties(vR.prototype,{ellipsoid:{get:Ai.throwInstantiationError},rectangle:{get:Ai.throwInstantiationError},projection:{get:Ai.throwInstantiationError}});vR.prototype.getNumberOfXTilesAtLevel=Ai.throwInstantiationError;vR.prototype.getNumberOfYTilesAtLevel=Ai.throwInstantiationError;vR.prototype.rectangleToNativeRectangle=Ai.throwInstantiationError;vR.prototype.tileXYToNativeRectangle=Ai.throwInstantiationError;vR.prototype.tileXYToRectangle=Ai.throwInstantiationError;vR.prototype.positionToTileXY=Ai.throwInstantiationError;var $it=vR;function zN(o){o=oe(o,oe.EMPTY_OBJECT),this._clock=void 0,this._element=void 0,this._clockSubscription=void 0,this._seekFunction=void 0,this._lastPlaybackRate=void 0,this.clock=o.clock,this.element=o.element,this.epoch=oe(o.epoch,un.MINIMUM_VALUE),this.tolerance=oe(o.tolerance,1),this._seeking=!1,this._seekFunction=void 0,this._firstTickAfterSeek=!1}Object.defineProperties(zN.prototype,{clock:{get:function(){return this._clock},set:function(o){let A=this._clock;A!==o&&(O(A)&&(this._clockSubscription(),this._clockSubscription=void 0),O(o)&&(this._clockSubscription=o.onTick.addEventListener(zN.prototype._onTick,this)),this._clock=o)}},element:{get:function(){return this._element},set:function(o){let A=this._element;A!==o&&(O(A)&&A.removeEventListener("seeked",this._seekFunction,!1),O(o)&&(this._seeking=!1,this._seekFunction=R_i(this),o.addEventListener("seeked",this._seekFunction,!1)),this._element=o,this._seeking=!1,this._firstTickAfterSeek=!1)}}});zN.prototype.destroy=function(){return this.element=void 0,this.clock=void 0,Ar(this)};zN.prototype.isDestroyed=function(){return!1};zN.prototype._trySetPlaybackRate=function(o){if(this._lastPlaybackRate===o.multiplier)return;let A=this._element;try{A.playbackRate=o.multiplier}catch{A.playbackRate=0}this._lastPlaybackRate=o.multiplier};zN.prototype._onTick=function(o){let A=this._element;if(!O(A)||A.readyState<2)return;let f=A.paused,m=o.shouldAnimate;if(m===f&&(m?A.play():A.pause()),this._seeking||this._firstTickAfterSeek){this._firstTickAfterSeek=!1;return}this._trySetPlaybackRate(o);let C=o.currentTime,E=oe(this.epoch,un.MINIMUM_VALUE),x=Zt.secondsDifference(C,E),y=A.duration,I,v=A.currentTime;A.loop?(x=x%y,x<0&&(x=y-x),I=x):x>y?I=y:x<0?I=0:I=x;let B=m?oe(this.tolerance,1):.001;Math.abs(I-v)>B&&(this._seeking=!0,A.currentTime=I)};function R_i(o){return function(){o._seeking=!1,o._firstTickAfterSeek=!0}}var ert=zN;function L_i(o,A){this.rectangle=o,this.maxLevel=A}function gbe(o){this.ellipsoid=oe(o.ellipsoid,Ci.WGS84),this.tilingScheme=void 0,this.heightmapWidth=void 0,this.heightmapHeight=void 0,this.levelZeroMaximumGeometricError=void 0,this.rectangles=[]}gbe.prototype.build=function(o){o._tilingScheme=this.tilingScheme,o._heightmapWidth=this.heightmapWidth,o._heightmapHeight=this.heightmapHeight,o._levelZeroMaximumGeometricError=this.levelZeroMaximumGeometricError,o._rectangles=this.rectangles,o._ready=!0};function F_i(o,A){let f=A.getElementsByTagName("SRS")[0].textContent;if(f==="EPSG:4326")o.tilingScheme=new th({ellipsoid:o.ellipsoid});else throw new ki(`SRS ${f} is not supported`);let m=A.getElementsByTagName("TileFormat")[0];o.heightmapWidth=parseInt(m.getAttribute("width"),10),o.heightmapHeight=parseInt(m.getAttribute("height"),10),o.levelZeroMaximumGeometricError=uC.getEstimatedLevelZeroGeometricErrorForAHeightmap(o.ellipsoid,Math.min(o.heightmapWidth,o.heightmapHeight),o.tilingScheme.getNumberOfXTilesAtLevel(0));let C=A.getElementsByTagName("DataExtent");for(let E=0;E<C.length;++E){let x=C[E],y=Be.toRadians(parseFloat(x.getAttribute("minx"))),I=Be.toRadians(parseFloat(x.getAttribute("miny"))),v=Be.toRadians(parseFloat(x.getAttribute("maxx"))),B=Be.toRadians(parseFloat(x.getAttribute("maxy"))),Q=parseInt(x.getAttribute("maxlevel"),10);o.rectangles.push(new L_i(new gi(y,I,v,B),Q))}}function N_i(o,A,f){let m=`An error occurred while accessing ${o.url}`;throw O(A)&&O(A.message)&&(m=`${m}: ${A.message}`),yh.reportError(void 0,f,O(f)?f._errorEvent:void 0,m),new ki(m)}async function trt(o,A,f){try{let m=await A.fetchXML();F_i(o,m)}catch(m){N_i(A,m,f)}}function JP(o){o=oe(o,oe.EMPTY_OBJECT),this._errorEvent=new ur,this._ready=!1,this._terrainDataStructure={heightScale:1/1e3,heightOffset:-1e3,elementsPerHeight:3,stride:4,elementMultiplier:256,isBigEndian:!0,lowestEncodedHeight:0,highestEncodedHeight:256*256*256-1};let A=o.credit;if(typeof A=="string"&&(A=new Qa(A)),this._credit=A,this._tilingScheme=void 0,this._rectangles=[],O(o.url)){ii("VRTheWorldTerrainProvider options.url","options.url was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. VRTheWorldTerrainProvider.fromUrl instead.");let f=this,m=new gbe(o),C=Cr.createIfNeeded(o.url);this._resource=C,this._readyPromise=trt(m,C,f).then(()=>(m.build(f),!0))}}Object.defineProperties(JP.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return ii("VRTheWorldTerrainProvider.ready","VRTheWorldTerrainProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use VRTheWorldTerrainProvider.fromUrl instead."),this._ready}},readyPromise:{get:function(){return ii("VRTheWorldTerrainProvider.readyPromise","VRTheWorldTerrainProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use VRTheWorldTerrainProvider.fromUrl instead."),this._readyPromise}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});JP.fromUrl=async function(o,A){A=oe(A,oe.EMPTY_OBJECT);let f=new gbe(A),m=Cr.createIfNeeded(o);await trt(f,m);let C=new JP(A);return f.build(C),C._resource=m,C};JP.prototype.requestTileGeometry=function(o,A,f,m){let C=this._tilingScheme.getNumberOfYTilesAtLevel(f),E=this._resource.getDerivedResource({url:`${f}/${o}/${C-A-1}.tif`,queryParameters:{cesium:!0},request:m}).fetchImage({preferImageBitmap:!0});if(!O(E))return;let x=this;return Promise.resolve(E).then(function(y){return new Rw({buffer:mN(y),width:x._heightmapWidth,height:x._heightmapHeight,childTileMask:k_i(x,o,A,f),structure:x._terrainDataStructure})})};JP.prototype.getLevelMaximumGeometricError=function(o){return this._levelZeroMaximumGeometricError/(1<<o)};var irt=new gi;function k_i(o,A,f,m){let C=o._tilingScheme,E=o._rectangles,x=C.tileXYToRectangle(A,f,m),y=0;for(let I=0;I<E.length&&y!==15;++I){let v=E[I];if(v.maxLevel<=m)continue;let B=v.rectangle,Q=gi.intersection(B,x,irt);O(Q)&&(GX(C,B,A*2,f*2,m+1)&&(y|=4),GX(C,B,A*2+1,f*2,m+1)&&(y|=8),GX(C,B,A*2,f*2+1,m+1)&&(y|=1),GX(C,B,A*2+1,f*2+1,m+1)&&(y|=2))}return y}function GX(o,A,f,m,C){let E=o.tileXYToRectangle(f,m,C);return O(gi.intersection(E,A,irt))}JP.prototype.getTileDataAvailable=function(o,A,f){};JP.prototype.loadTileDataAvailability=function(o,A,f){};var rrt=JP,O_i={VK_FORMAT_UNDEFINED:0,VK_FORMAT_R4G4_UNORM_PACK8:1,VK_FORMAT_R4G4B4A4_UNORM_PACK16:2,VK_FORMAT_B4G4R4A4_UNORM_PACK16:3,VK_FORMAT_R5G6B5_UNORM_PACK16:4,VK_FORMAT_B5G6R5_UNORM_PACK16:5,VK_FORMAT_R5G5B5A1_UNORM_PACK16:6,VK_FORMAT_B5G5R5A1_UNORM_PACK16:7,VK_FORMAT_A1R5G5B5_UNORM_PACK16:8,VK_FORMAT_R8_UNORM:9,VK_FORMAT_R8_SNORM:10,VK_FORMAT_R8_USCALED:11,VK_FORMAT_R8_SSCALED:12,VK_FORMAT_R8_UINT:13,VK_FORMAT_R8_SINT:14,VK_FORMAT_R8_SRGB:15,VK_FORMAT_R8G8_UNORM:16,VK_FORMAT_R8G8_SNORM:17,VK_FORMAT_R8G8_USCALED:18,VK_FORMAT_R8G8_SSCALED:19,VK_FORMAT_R8G8_UINT:20,VK_FORMAT_R8G8_SINT:21,VK_FORMAT_R8G8_SRGB:22,VK_FORMAT_R8G8B8_UNORM:23,VK_FORMAT_R8G8B8_SNORM:24,VK_FORMAT_R8G8B8_USCALED:25,VK_FORMAT_R8G8B8_SSCALED:26,VK_FORMAT_R8G8B8_UINT:27,VK_FORMAT_R8G8B8_SINT:28,VK_FORMAT_R8G8B8_SRGB:29,VK_FORMAT_B8G8R8_UNORM:30,VK_FORMAT_B8G8R8_SNORM:31,VK_FORMAT_B8G8R8_USCALED:32,VK_FORMAT_B8G8R8_SSCALED:33,VK_FORMAT_B8G8R8_UINT:34,VK_FORMAT_B8G8R8_SINT:35,VK_FORMAT_B8G8R8_SRGB:36,VK_FORMAT_R8G8B8A8_UNORM:37,VK_FORMAT_R8G8B8A8_SNORM:38,VK_FORMAT_R8G8B8A8_USCALED:39,VK_FORMAT_R8G8B8A8_SSCALED:40,VK_FORMAT_R8G8B8A8_UINT:41,VK_FORMAT_R8G8B8A8_SINT:42,VK_FORMAT_R8G8B8A8_SRGB:43,VK_FORMAT_B8G8R8A8_UNORM:44,VK_FORMAT_B8G8R8A8_SNORM:45,VK_FORMAT_B8G8R8A8_USCALED:46,VK_FORMAT_B8G8R8A8_SSCALED:47,VK_FORMAT_B8G8R8A8_UINT:48,VK_FORMAT_B8G8R8A8_SINT:49,VK_FORMAT_B8G8R8A8_SRGB:50,VK_FORMAT_A8B8G8R8_UNORM_PACK32:51,VK_FORMAT_A8B8G8R8_SNORM_PACK32:52,VK_FORMAT_A8B8G8R8_USCALED_PACK32:53,VK_FORMAT_A8B8G8R8_SSCALED_PACK32:54,VK_FORMAT_A8B8G8R8_UINT_PACK32:55,VK_FORMAT_A8B8G8R8_SINT_PACK32:56,VK_FORMAT_A8B8G8R8_SRGB_PACK32:57,VK_FORMAT_A2R10G10B10_UNORM_PACK32:58,VK_FORMAT_A2R10G10B10_SNORM_PACK32:59,VK_FORMAT_A2R10G10B10_USCALED_PACK32:60,VK_FORMAT_A2R10G10B10_SSCALED_PACK32:61,VK_FORMAT_A2R10G10B10_UINT_PACK32:62,VK_FORMAT_A2R10G10B10_SINT_PACK32:63,VK_FORMAT_A2B10G10R10_UNORM_PACK32:64,VK_FORMAT_A2B10G10R10_SNORM_PACK32:65,VK_FORMAT_A2B10G10R10_USCALED_PACK32:66,VK_FORMAT_A2B10G10R10_SSCALED_PACK32:67,VK_FORMAT_A2B10G10R10_UINT_PACK32:68,VK_FORMAT_A2B10G10R10_SINT_PACK32:69,VK_FORMAT_R16_UNORM:70,VK_FORMAT_R16_SNORM:71,VK_FORMAT_R16_USCALED:72,VK_FORMAT_R16_SSCALED:73,VK_FORMAT_R16_UINT:74,VK_FORMAT_R16_SINT:75,VK_FORMAT_R16_SFLOAT:76,VK_FORMAT_R16G16_UNORM:77,VK_FORMAT_R16G16_SNORM:78,VK_FORMAT_R16G16_USCALED:79,VK_FORMAT_R16G16_SSCALED:80,VK_FORMAT_R16G16_UINT:81,VK_FORMAT_R16G16_SINT:82,VK_FORMAT_R16G16_SFLOAT:83,VK_FORMAT_R16G16B16_UNORM:84,VK_FORMAT_R16G16B16_SNORM:85,VK_FORMAT_R16G16B16_USCALED:86,VK_FORMAT_R16G16B16_SSCALED:87,VK_FORMAT_R16G16B16_UINT:88,VK_FORMAT_R16G16B16_SINT:89,VK_FORMAT_R16G16B16_SFLOAT:90,VK_FORMAT_R16G16B16A16_UNORM:91,VK_FORMAT_R16G16B16A16_SNORM:92,VK_FORMAT_R16G16B16A16_USCALED:93,VK_FORMAT_R16G16B16A16_SSCALED:94,VK_FORMAT_R16G16B16A16_UINT:95,VK_FORMAT_R16G16B16A16_SINT:96,VK_FORMAT_R16G16B16A16_SFLOAT:97,VK_FORMAT_R32_UINT:98,VK_FORMAT_R32_SINT:99,VK_FORMAT_R32_SFLOAT:100,VK_FORMAT_R32G32_UINT:101,VK_FORMAT_R32G32_SINT:102,VK_FORMAT_R32G32_SFLOAT:103,VK_FORMAT_R32G32B32_UINT:104,VK_FORMAT_R32G32B32_SINT:105,VK_FORMAT_R32G32B32_SFLOAT:106,VK_FORMAT_R32G32B32A32_UINT:107,VK_FORMAT_R32G32B32A32_SINT:108,VK_FORMAT_R32G32B32A32_SFLOAT:109,VK_FORMAT_R64_UINT:110,VK_FORMAT_R64_SINT:111,VK_FORMAT_R64_SFLOAT:112,VK_FORMAT_R64G64_UINT:113,VK_FORMAT_R64G64_SINT:114,VK_FORMAT_R64G64_SFLOAT:115,VK_FORMAT_R64G64B64_UINT:116,VK_FORMAT_R64G64B64_SINT:117,VK_FORMAT_R64G64B64_SFLOAT:118,VK_FORMAT_R64G64B64A64_UINT:119,VK_FORMAT_R64G64B64A64_SINT:120,VK_FORMAT_R64G64B64A64_SFLOAT:121,VK_FORMAT_B10G11R11_UFLOAT_PACK32:122,VK_FORMAT_E5B9G9R9_UFLOAT_PACK32:123,VK_FORMAT_D16_UNORM:124,VK_FORMAT_X8_D24_UNORM_PACK32:125,VK_FORMAT_D32_SFLOAT:126,VK_FORMAT_S8_UINT:127,VK_FORMAT_D16_UNORM_S8_UINT:128,VK_FORMAT_D24_UNORM_S8_UINT:129,VK_FORMAT_D32_SFLOAT_S8_UINT:130,VK_FORMAT_BC1_RGB_UNORM_BLOCK:131,VK_FORMAT_BC1_RGB_SRGB_BLOCK:132,VK_FORMAT_BC1_RGBA_UNORM_BLOCK:133,VK_FORMAT_BC1_RGBA_SRGB_BLOCK:134,VK_FORMAT_BC2_UNORM_BLOCK:135,VK_FORMAT_BC2_SRGB_BLOCK:136,VK_FORMAT_BC3_UNORM_BLOCK:137,VK_FORMAT_BC3_SRGB_BLOCK:138,VK_FORMAT_BC4_UNORM_BLOCK:139,VK_FORMAT_BC4_SNORM_BLOCK:140,VK_FORMAT_BC5_UNORM_BLOCK:141,VK_FORMAT_BC5_SNORM_BLOCK:142,VK_FORMAT_BC6H_UFLOAT_BLOCK:143,VK_FORMAT_BC6H_SFLOAT_BLOCK:144,VK_FORMAT_BC7_UNORM_BLOCK:145,VK_FORMAT_BC7_SRGB_BLOCK:146,VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK:147,VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK:148,VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK:149,VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK:150,VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK:151,VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK:152,VK_FORMAT_EAC_R11_UNORM_BLOCK:153,VK_FORMAT_EAC_R11_SNORM_BLOCK:154,VK_FORMAT_EAC_R11G11_UNORM_BLOCK:155,VK_FORMAT_EAC_R11G11_SNORM_BLOCK:156,VK_FORMAT_ASTC_4x4_UNORM_BLOCK:157,VK_FORMAT_ASTC_4x4_SRGB_BLOCK:158,VK_FORMAT_ASTC_5x4_UNORM_BLOCK:159,VK_FORMAT_ASTC_5x4_SRGB_BLOCK:160,VK_FORMAT_ASTC_5x5_UNORM_BLOCK:161,VK_FORMAT_ASTC_5x5_SRGB_BLOCK:162,VK_FORMAT_ASTC_6x5_UNORM_BLOCK:163,VK_FORMAT_ASTC_6x5_SRGB_BLOCK:164,VK_FORMAT_ASTC_6x6_UNORM_BLOCK:165,VK_FORMAT_ASTC_6x6_SRGB_BLOCK:166,VK_FORMAT_ASTC_8x5_UNORM_BLOCK:167,VK_FORMAT_ASTC_8x5_SRGB_BLOCK:168,VK_FORMAT_ASTC_8x6_UNORM_BLOCK:169,VK_FORMAT_ASTC_8x6_SRGB_BLOCK:170,VK_FORMAT_ASTC_8x8_UNORM_BLOCK:171,VK_FORMAT_ASTC_8x8_SRGB_BLOCK:172,VK_FORMAT_ASTC_10x5_UNORM_BLOCK:173,VK_FORMAT_ASTC_10x5_SRGB_BLOCK:174,VK_FORMAT_ASTC_10x6_UNORM_BLOCK:175,VK_FORMAT_ASTC_10x6_SRGB_BLOCK:176,VK_FORMAT_ASTC_10x8_UNORM_BLOCK:177,VK_FORMAT_ASTC_10x8_SRGB_BLOCK:178,VK_FORMAT_ASTC_10x10_UNORM_BLOCK:179,VK_FORMAT_ASTC_10x10_SRGB_BLOCK:180,VK_FORMAT_ASTC_12x10_UNORM_BLOCK:181,VK_FORMAT_ASTC_12x10_SRGB_BLOCK:182,VK_FORMAT_ASTC_12x12_UNORM_BLOCK:183,VK_FORMAT_ASTC_12x12_SRGB_BLOCK:184,VK_FORMAT_G8B8G8R8_422_UNORM:1000156e3,VK_FORMAT_B8G8R8G8_422_UNORM:1000156001,VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM:1000156002,VK_FORMAT_G8_B8R8_2PLANE_420_UNORM:1000156003,VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM:1000156004,VK_FORMAT_G8_B8R8_2PLANE_422_UNORM:1000156005,VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM:1000156006,VK_FORMAT_R10X6_UNORM_PACK16:1000156007,VK_FORMAT_R10X6G10X6_UNORM_2PACK16:1000156008,VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16:1000156009,VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16:1000156010,VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16:1000156011,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16:1000156012,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16:1000156013,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16:1000156014,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16:1000156015,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16:1000156016,VK_FORMAT_R12X4_UNORM_PACK16:1000156017,VK_FORMAT_R12X4G12X4_UNORM_2PACK16:1000156018,VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16:1000156019,VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16:1000156020,VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16:1000156021,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16:1000156022,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16:1000156023,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16:1000156024,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16:1000156025,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16:1000156026,VK_FORMAT_G16B16G16R16_422_UNORM:1000156027,VK_FORMAT_B16G16R16G16_422_UNORM:1000156028,VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM:1000156029,VK_FORMAT_G16_B16R16_2PLANE_420_UNORM:1000156030,VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM:1000156031,VK_FORMAT_G16_B16R16_2PLANE_422_UNORM:1000156032,VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM:1000156033,VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG:1000054e3,VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG:1000054001,VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG:1000054002,VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG:1000054003,VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG:1000054004,VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG:1000054005,VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG:1000054006,VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG:1000054007,VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT:1000066e3,VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT:1000066001,VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT:1000066002,VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT:1000066003,VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT:1000066004,VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT:1000066005,VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT:1000066006,VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT:1000066007,VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT:1000066008,VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT:1000066009,VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT:1000066010,VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT:1000066011,VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT:1000066012,VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT:1000066013,VK_FORMAT_G8B8G8R8_422_UNORM_KHR:1000156e3,VK_FORMAT_B8G8R8G8_422_UNORM_KHR:1000156001,VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR:1000156002,VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR:1000156003,VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR:1000156004,VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR:1000156005,VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR:1000156006,VK_FORMAT_R10X6_UNORM_PACK16_KHR:1000156007,VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR:1000156008,VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR:1000156009,VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR:1000156010,VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR:1000156011,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR:1000156012,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR:1000156013,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR:1000156014,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR:1000156015,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR:1000156016,VK_FORMAT_R12X4_UNORM_PACK16_KHR:1000156017,VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR:1000156018,VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR:1000156019,VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR:1000156020,VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR:1000156021,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR:1000156022,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR:1000156023,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR:1000156024,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR:1000156025,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR:1000156026,VK_FORMAT_G16B16G16R16_422_UNORM_KHR:1000156027,VK_FORMAT_B16G16R16G16_422_UNORM_KHR:1000156028,VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR:1000156029,VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR:1000156030,VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR:1000156031,VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR:1000156032,VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR:1000156033},nrt=Object.freeze(O_i);function U_i(o){switch(o){case li.FLOAT:return"float";case li.FLOAT_VEC2:return"vec2";case li.FLOAT_VEC3:return"vec3";case li.FLOAT_VEC4:return"vec4";case li.FLOAT_MAT2:return"mat2";case li.FLOAT_MAT3:return"mat3";case li.FLOAT_MAT4:return"mat4";case li.SAMPLER_2D:return"sampler2D";case li.BOOL:return"bool"}}var ort=U_i;function G_i(o,A,f){return function(){f.apply(o,arguments),A.apply(o,arguments)}}var pbe=G_i,H_i=class{constructor(o,A,f){this.loadMap=!1,this.USE_raytrace=A._raytrace,this.parent=A,this.model=o,this.model.modelGroups=[],this.sceneIndex=f,this.model.receiveShadows=A._castShadows,this.model.castShadows=A._castShadows}parse(){let o=this.model;if(!o.modelMatrix){let A=o.positionBuffer.length,f=0;if(o.userData&&o.userData.transformData&&o.userData.transformData.translation){let m=o.userData.transformData.translation[0],C=o.userData.transformData.translation[2],E=o.userData.transformData.translation[1];for(let x=0;x<A;x+=3){o.positionBuffer[x]=o.positionBuffer[x]+m,o.positionBuffer[x+1]=o.positionBuffer[x+1]-C,o.positionBuffer[x+2]=o.positionBuffer[x+2]+E;let y=Z.distanceSquared({x:0,y:0,z:0},{x:o.positionBuffer[x],y:o.positionBuffer[x+1],z:o.positionBuffer[x+2]});f=y>f?y:f}f=Math.sqrt(f)*this.parent._scale,o.boundingSphere=new hi(this.parent._originPosition,f)}else{for(let m=0;m<A;m+=3){let C=Z.distanceSquared({x:0,y:0,z:0},{x:o.positionBuffer[m],y:o.positionBuffer[m+1],z:o.positionBuffer[m+2]});f=C>f?C:f}f=Math.sqrt(f)*this.parent._scale,o.boundingSphere=new hi(this.parent._originPosition,f)}o.modelMatrix=this.parent._modelMatrix.clone()}if(this.parent._boundingSphere?this.parent._boundingSphere&&o.boundingSphere.radius>this.parent._boundingSphere.radius&&(this.parent._boundingSphere=new hi(this.parent._originPosition,o.boundingSphere.radius)):this.parent._boundingSphere=new hi(this.parent._originPosition,o.boundingSphere.radius),this.model.groups.length>0){for(let A=0;A<this.model.groups.length;A++){let f=this.model.groups[A][0],m=f+this.model.groups[A][1],C={positionBuffer:this.model.positionBuffer.slice(f*3,m*3),normal:this.model.normal.slice(f*3,m*3),uvs:[this.model.uvs[0].slice(f*2,m*2)],materialIndex:this.model.groups[A][2]};this.model.modelGroups.push(C)}this.model.positionBuffer=null,this.model.normal=null,this.model.uvs=null}if(Array.isArray(this.model.material))for(let A=0;A<this.model.material.length;A++)this.loadShader(this.model.material[A]);else this.loadShader(this.model.material);return this}loadShader(o){o.fragmentShaderText=` struct Material{ vec3 diffuse; vec3 specular; vec3 emissive;//\u81EA\u53D1\u5149 float shininess;//\u5149\u6CFD\u5EA6 float alpha; }; uniform Material objMaterial; //\u57FA\u7840\u6750\u8D28 uniform sampler2D diffuseMap; //\u6F2B\u53CD\u5C04\u8D34\u56FE uniform vec2 diffuseMapRepeat; uniform vec2 diffuseMapOffset; uniform sampler2D specularMap; //\u53CD\u5C04\u8D34\u56FE uniform vec2 specularMapRepeat; uniform vec2 specularMapOffset; uniform sampler2D bumpMap;//\u6CD5\u7EBF\u8D34\u56FE uniform vec2 bumpMapRepeat; uniform vec2 bumpMapOffset; uniform sampler2D alphaMap; //\u900F\u660E\u8D34\u56FE uniform vec2 alphaMapRepeat; uniform vec2 alphaMapOffset; uniform sampler2D emissiveMap; //\u53D1\u5149\u8D34\u56FE uniform vec2 emissiveMapRepeat; uniform vec2 emissiveMapOffset; uniform vec3 ambientColor; // \u73AF\u5883\u5149 uniform vec3 lightDir; // \u592A\u9633\u65B9\u5411 uniform vec3 lightColor; // \u5149\u7167\u989C\u8272 uniform vec4 color; //\u53E0\u52A0\u989C\u8272 ${this.pickId?"uniform vec4 czm_pickId;":""} uniform vec3 viewDir; // \u89C6\u89D2\u65B9\u5411 in vec2 fragTexCoord; // \u6A21\u578B\u7EB9\u7406 in vec3 fragNormal; // \u6A21\u578B\u6CD5\u7EBF in vec3 fragPosition; // \u6A21\u578B\u9876\u70B9 void main(){ ${this.USE_raytrace?`vec3 lightDir = normalize(lightDir); ${o.USE_bumpMap?`vec3 normal = texture(bumpMap, fragTexCoord * bumpMapRepeat + bumpMapOffset).rgb * 2.0 - 1.0; normal.yz *= -1.0; normal= normalize(normal); `:"vec3 normal = normalize(fragNormal);"} //\u6F2B\u53CD\u5C04---\u5170\u4F2F\u7279\u5149\u7167\u6A21\u578B float diff = max(dot(normal, lightDir),0.0); vec3 diffuse = diff * lightColor; //\u53CD\u5C04 vec3 reflectDir = reflect(-lightDir, normal); vec3 viewDirection = normalize(-viewDir); float spec = pow(max(dot(viewDirection, reflectDir), 0.0),1.0); vec3 specular = spec * vec3(1.0,1.0,1.0); vec3 ambient = vec3(ambientColor); `:` vec3 diffuse = vec3(1.0,1.0,1.0); vec3 specular = vec3(0.0,0.0,0.0); vec3 ambient = vec3(0.0,0.0,0.0); `} ${o.USE_diffuseMap?"vec3 diffuseColor = vec3(texture(diffuseMap, fragTexCoord * diffuseMapRepeat + diffuseMapOffset));":"vec3 diffuseColor = objMaterial.diffuse;"} ${o.USE_specularMap?"vec3 specularColor = vec3(texture(specularMap, fragTexCoord * specularMapRepeat + specularMapOffset));":"vec3 specularColor = objMaterial.specular;"} diffuse = diffuseColor * diffuse; specular = specularColor * specular; ${o.USE_emissiveMap?"vec3 emissive = vec3(texture(emissiveMap, fragTexCoord * emissiveMapRepeat + emissiveMapOffset));":"vec3 emissive = objMaterial.emissive;"} //\u6700\u7EC8\u989C\u8272 vec3 finalColor = diffuse + specular + ambient * diffuseColor + emissive; ${o.USE_alphaMap?"out_FragColor = vec4(finalColor, texture(alphaMap, fragTexCoord * alphaMapRepeat + alphaMapOffset).r);":"out_FragColor = vec4(finalColor, objMaterial.alpha);"} out_FragColor *=color; }`}loadPickId(o){let A=o.createPickId({sceneIndex:this.sceneIndex,primitive:this.parent,model:this.model});if(this.pickId=A,Array.isArray(this.model.material))for(let f=0;f<this.model.material.length;f++)this.loadShader(this.model.material[f]);else this.loadShader(this.model.material)}loadingMap(o){let A=this.model,f=this,m=(E,x,y,I)=>{E&&E[x]&&(E[x].img.onload=function(){E.texture[y]||(E[x].offset?E.texture[y+"offset"]=new rt(E[x].offset.x,E[x].offset.y):E.texture[y+"offset"]=new rt(0,0),E[x].repeat?E.texture[y+"repeat"]=new rt(E[x].repeat.x,E[x].repeat.y):E.texture[y+"repeat"]=new rt(1,1),E.texture[y]=new Nn({context:o,source:E[x].img,width:E[x].img.naturalWidth||512,height:E[x].img.naturalHeight||512,sampler:new Oa({wrapS:E[x].wrapS,wrapT:E[x].wrapT})})),E[I]=!0,f.loadShader(E)})},C=A.material;if(Array.isArray(C))for(let E=0;E<C.length;E++)m(C[E],"map","mapTexture","USE_diffuseMap"),m(C[E],"specularMap","specularTexture","USE_specularMap"),m(C[E],"alphaMap","alphaTexture","USE_alphaMap"),m(C[E],"bumpMap","bumpTexture","USE_bumpMap");else m(C,"map","mapTexture","USE_diffuseMap"),m(C,"specularMap","specularTexture","USE_specularMap"),m(C,"alphaMap","alphaTexture","USE_alphaMap"),m(C,"bumpMap","bumpTexture","USE_bumpMap"),m(C,"emissiveMap","emissiveTexture","USE_emissiveMap")}},mbe=H_i;/*! fflate - fast JavaScript compression/decompression <https://101arrowz.github.io/fflate> Licensed under MIT. https://github.com/101arrowz/fflate/blob/master/LICENSE version 0.6.9 */var p8e=function(o){return URL.createObjectURL(new Blob([o],{type:"text/javascript"}))},V_i=function(o){return new Worker(o)};try{URL.revokeObjectURL(p8e(""))}catch{p8e=function(o){return"data:application/javascript;charset=UTF-8,"+encodeURI(o)},V_i=function(o){return new Worker(o,{type:"module"})}}var L_=Uint8Array,K2=Uint16Array,Yge=Uint32Array,art=new L_([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),srt=new L_([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),z_i=new L_([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),lrt=function(o,A){for(var f=new K2(31),m=0;m<31;++m)f[m]=A+=1<<o[m-1];for(var C=new Yge(f[30]),m=1;m<30;++m)for(var E=f[m];E<f[m+1];++E)C[E]=E-f[m]<<5|m;return[f,C]},urt=lrt(art,2),Art=urt[0],Y_i=urt[1];Art[28]=258,Y_i[258]=28;var crt=lrt(srt,0),J_i=crt[0],a4i=crt[1],Jge=new K2(32768);for(TA=0;TA<32768;++TA)VS=(TA&43690)>>>1|(TA&21845)<<1,VS=(VS&52428)>>>2|(VS&13107)<<2,VS=(VS&61680)>>>4|(VS&3855)<<4,Jge[TA]=((VS&65280)>>>8|(VS&255)<<8)>>>1;var VS,TA,j7=function(o,A,f){for(var m=o.length,C=0,E=new K2(A);C<m;++C)++E[o[C]-1];var x=new K2(A);for(C=0;C<A;++C)x[C]=x[C-1]+E[C-1]<<1;var y;if(f){y=new K2(1<<A);var I=15-A;for(C=0;C<m;++C)if(o[C])for(var v=C<<4|o[C],B=A-o[C],Q=x[o[C]-1]++<<B,T=Q|(1<<B)-1;Q<=T;++Q)y[Jge[Q]>>>I]=v}else for(y=new K2(m),C=0;C<m;++C)o[C]&&(y[C]=Jge[x[o[C]-1]++]>>>15-o[C]);return y},RJ=new L_(288);for(TA=0;TA<144;++TA)RJ[TA]=8;var TA;for(TA=144;TA<256;++TA)RJ[TA]=9;var TA;for(TA=256;TA<280;++TA)RJ[TA]=7;var TA;for(TA=280;TA<288;++TA)RJ[TA]=8;var TA,hrt=new L_(32);for(TA=0;TA<32;++TA)hrt[TA]=5;var TA,K_i=j7(RJ,9,1),W_i=j7(hrt,5,1),hde=function(o){for(var A=o[0],f=1;f<o.length;++f)o[f]>A&&(A=o[f]);return A},kB=function(o,A,f){var m=A/8|0;return(o[m]|o[m+1]<<8)>>(A&7)&f},dde=function(o,A){var f=A/8|0;return(o[f]|o[f+1]<<8|o[f+2]<<16)>>(A&7)},j_i=function(o){return(o/8|0)+(o&7&&1)},q_i=function(o,A,f){(A==null||A<0)&&(A=0),(f==null||f>o.length)&&(f=o.length);var m=new(o instanceof K2?K2:o instanceof Yge?Yge:L_)(f-A);return m.set(o.subarray(A,f)),m},X_i=function(o,A,f){var m=o.length;if(!m||f&&!f.l&&m<5)return A||new L_(0);var C=!A||f,E=!f||f.i;f||(f={}),A||(A=new L_(m*3));var x=function(re){var se=A.length;if(re>se){var de=new L_(Math.max(se*2,re));de.set(A),A=de}},y=f.f||0,I=f.p||0,v=f.b||0,B=f.l,Q=f.d,T=f.m,w=f.n,S=m*8;do{if(!B){f.f=y=kB(o,I,1);var D=kB(o,I+1,3);if(I+=3,D)if(D==1)B=K_i,Q=W_i,T=9,w=5;else if(D==2){var R=kB(o,I,31)+257,P=kB(o,I+10,15)+4,M=R+kB(o,I+5,31)+1;I+=14;for(var L=new L_(M),F=new L_(19),k=0;k<P;++k)F[z_i[k]]=kB(o,I+k*3,7);I+=P*3;for(var N=hde(F),G=(1<<N)-1,J=j7(F,N,1),k=0;k<M;){var K=J[kB(o,I,G)];I+=K&15;var X=K>>>4;if(X<16)L[k++]=X;else{var q=0,ee=0;for(X==16?(ee=3+kB(o,I,3),I+=2,q=L[k-1]):X==17?(ee=3+kB(o,I,7),I+=3):X==18&&(ee=11+kB(o,I,127),I+=7);ee--;)L[k++]=q}}var ie=L.subarray(0,R),H=L.subarray(R);T=hde(ie),w=hde(H),B=j7(ie,T,1),Q=j7(H,w,1)}else throw"invalid block type";else{var X=j_i(I)+4,le=o[X-4]|o[X-3]<<8,ue=X+le;if(ue>m){if(E)throw"unexpected EOF";break}C&&x(v+le),A.set(o.subarray(X,ue),v),f.b=v+=le,f.p=I=ue*8;continue}if(I>S){if(E)throw"unexpected EOF";break}}C&&x(v+131072);for(var Ae=(1<<T)-1,he=(1<<w)-1,ge=I;;ge=I){var q=B[dde(o,I)&Ae],fe=q>>>4;if(I+=q&15,I>S){if(E)throw"unexpected EOF";break}if(!q)throw"invalid length/literal";if(fe<256)A[v++]=fe;else if(fe==256){ge=I,B=null;break}else{var ae=fe-254;if(fe>264){var k=fe-257,U=art[k];ae=kB(o,I,(1<<U)-1)+Art[k],I+=U}var W=Q[dde(o,I)&he],Y=W>>>4;if(!W)throw"invalid distance";I+=W&15;var H=J_i[Y];if(Y>3){var U=srt[Y];H+=dde(o,I)&(1<<U)-1,I+=U}if(I>S){if(E)throw"unexpected EOF";break}C&&x(v+131072);for(var z=v+ae;v<z;v+=4)A[v]=A[v-H],A[v+1]=A[v+1-H],A[v+2]=A[v+2-H],A[v+3]=A[v+3-H];v=z}}f.l=B,f.p=ge,f.b=v,B&&(y=1,f.m=T,f.d=Q,f.n=w)}while(!y);return v==A.length?A:q_i(A,0,v)},Z_i=new L_(0),$_i=function(o){if((o[0]&15)!=8||o[0]>>>4>7||(o[0]<<8|o[1])%31)throw"invalid zlib data";if(o[1]&32)throw"invalid zlib data: preset dictionaries not supported"},evi=function(o,A){return X_i(($_i(o),o.subarray(2,-4)),A)},tvi=typeof TextDecoder<"u"&&new TextDecoder,ivi=0;try{tvi.decode(Z_i,{stream:!0}),ivi=1}catch{}var Cbe=evi,rvi=class{constructor(o){this.isMaterial=!0,this.isMeshPhongMaterial=!0,this.name="",this.type="MeshPhongMaterial",this.uuid=Rl(),this.color=Ve.fromRgba("0xffffff"),this.vertexColors=!1,this.map=null,this.specular=Ve.fromRgba("0x111111"),this.specularMap=null,this.shininess=30,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=Ve.fromRgba("0x000000"),this.emissiveIntensity=0,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new rt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.opacity=1,this.transparent=!1,this.alphaHash=!1,this.alphaMap=null,this.envMap=null,this.combine=0,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.texture={},this.setValues(o)}copy(o){return super.copy(o),this.color.copy(o.color),this.specular.copy(o.specular),this.shininess=o.shininess,this.map=o.map,this.lightMap=o.lightMap,this.lightMapIntensity=o.lightMapIntensity,this.aoMap=o.aoMap,this.aoMapIntensity=o.aoMapIntensity,this.emissive.copy(o.emissive),this.emissiveMap=o.emissiveMap,this.emissiveIntensity=o.emissiveIntensity,this.bumpMap=o.bumpMap,this.bumpScale=o.bumpScale,this.normalMap=o.normalMap,this.normalMapType=o.normalMapType,this.normalScale.copy(o.normalScale),this.displacementMap=o.displacementMap,this.displacementScale=o.displacementScale,this.displacementBias=o.displacementBias,this.specularMap=o.specularMap,this.alphaMap=o.alphaMap,this.envMap=o.envMap,this.combine=o.combine,this.reflectivity=o.reflectivity,this.refractionRatio=o.refractionRatio,this.wireframe=o.wireframe,this.wireframeLinewidth=o.wireframeLinewidth,this.wireframeLinecap=o.wireframeLinecap,this.wireframeLinejoin=o.wireframeLinejoin,this.flatShading=o.flatShading,this.fog=o.fog,this}setValues(o){if(o!==void 0)for(let A in o){let f=o[A];if(f===void 0){console.warn(`Material: parameter '${A}' has value of undefined.`);continue}let m=this[A];if(m===void 0){console.warn(`Material: '${A}' is not a property of ${this.type}.`);continue}m&&m.isColor?m.set(f):m&&m.isVector3&&f&&f.isVector3?m.copy(f):this[A]=f}}},q7=rvi,nvi=class{constructor(){this.uuid=Rl(),this.name="",this.positionBuffer=new Float32Array,this.groups=[],this.uvs=[],this.userData={},this.type="mesh"}parse(){}setAttribute(o,A){switch(o){case"position":this.positionBuffer=A;break;case"preTransform":this.preTransform=A;break;case"color":this.color=A;break;case"normal":this.normal=A;break;case"uv":this.uv=A;break;case"skinIndex":this.skinIndex=A;break;case"skinWeight":this.skinWeight=A;break;default:console.warn('MeshParser: type "'+o+'" is not supported.');return}}addGroup(o,A,f){this.groups.push([o,A,f])}},Ebe=nvi,yg,Z1,HX={scene:[]},m8e="",ovi=class{constructor(){}parse(o,A){yg=o,m8e=A,Z1=this.parseConnections();let f=this.parseImages(),m=this.parseTextures(f),C=this.parseMaterials(m),E=this.parseDeformers(),x=new avi().parse(E);return this.parseScene(E,x,C),HX}parseConnections(){let o=new Map;return"Connections"in yg&&yg.Connections.connections.forEach(function(A){let f=A[0],m=A[1],C=A[2];o.has(f)||o.set(f,{parents:[],children:[]});let E={ID:m,relationship:C};o.get(f).parents.push(E),o.has(m)||o.set(m,{parents:[],children:[]});let x={ID:f,relationship:C};o.get(m).children.push(x)}),o}parseImages(){let o={},A={};if("Video"in yg.Objects){let f=yg.Objects.Video;for(let m in f){let C=f[m],E=parseInt(m);if(o[E]=C.RelativeFilename||C.Filename,"Content"in C){let x=C.Content instanceof ArrayBuffer&&C.Content.byteLength>0,y=typeof C.Content=="string"&&C.Content!=="";if(x||y){let I=this.parseImage(f[m]);A[C.RelativeFilename||C.Filename]=I}}}}for(let f in o){let m=o[f];A[m]!==void 0?o[f]=A[m]:o[f]=o[f].split("\\").pop()}return o}parseImage(o){let A=o.Content,f=o.RelativeFilename||o.Filename,m=f.slice(f.lastIndexOf(".")+1).toLowerCase(),C;switch(m){case"bmp":C="image/bmp";break;case"jpg":case"jpeg":C="image/jpeg";break;case"png":C="image/png";break;case"tif":C="image/tiff";break;case"tga":C="image/tga";break;default:console.warn('FBXLoader: Image type "'+m+'" is not supported.');return}if(typeof A=="string")return"data:"+C+";base64,"+A;{let E=new Uint8Array(A);return window.URL.createObjectURL(new Blob([E],{type:C}))}}parseTextures(o){let A=new Map;if("Texture"in yg.Objects){let f=yg.Objects.Texture;for(let m in f){let C=this.parseTexture(f[m],o);A.set(parseInt(m),C)}}return A}parseTexture(o,A){let f=this.loadTexture(o,A);f.ID=o.id,f.name=o.attrName;let m=o.WrapModeU,C=o.WrapModeV,E=m!==void 0?m.value:0,x=C!==void 0?C.value:0;if(f.wrapS=E===0?Vo.REPEAT:Vo.CLAMP_TO_EDGE,f.wrapT=x===0?Vo.REPEAT:Vo.CLAMP_TO_EDGE,"Scaling"in o){let y=o.Scaling.value;f.repeat={},f.repeat.x=y[0],f.repeat.y=y[1]}if("Translation"in o){let y=o.Translation.value;f.offset={},f.offset.x=y[0],f.offset.y=y[1]}return f}loadTexture(o,A){let f,m,C=Z1.get(o.id).children;C!==void 0&&C.length>0&&A[C[0].ID]!==void 0&&(f=A[C[0].ID],f.indexOf("blob:")===0||f.indexOf("data:")===0?m=f:(m=o.RelativeFilename.replace(/\\/g,"/"),m=new URL(m,m8e).href));let E,x=o.FileName.slice(-3).toLowerCase();return x==="tga"||x==="psd"?console.warn("FBXLoader: PSD textures are not supported, creating placeholder texture for",o.RelativeFilename):(E={img:new Image},E.img.src=m),E}parseMaterials(o){let A=new Map;if("Material"in yg.Objects){let f=yg.Objects.Material;for(let m in f){let C=this.parseMaterial(f[m],o);C!==null&&A.set(parseInt(m),C)}}return A}parseMaterial(o,A){let f=o.id,m=o.attrName,C=o.ShadingModel;if(typeof C=="object"&&(C=C.value),!Z1.has(f))return null;let E=this.parseParameters(o,A,f),x;switch(C.toLowerCase()){case"phong":x=new q7;break;case"lambert":x=new MeshLambertMaterial;break;default:console.warn('FBXLoader: unknown material type "%s". Defaulting to MeshPhongMaterial.',C),x=new q7;break}return x.setValues(E),x.name=m,x}parseParameters(o,A,f){let m={};if(o.BumpFactor&&(m.bumpScale=o.BumpFactor.value),o.Diffuse){let E=o.Diffuse.value;m.color=new Ve(E[0],E[1],E[2])}else if(o.DiffuseColor&&(o.DiffuseColor.type==="Color"||o.DiffuseColor.type==="ColorRGB")){let E=o.DiffuseColor.value;m.color=new Ve(E[0],E[1],E[2])}if(o.DisplacementFactor&&(m.displacementScale=o.DisplacementFactor.value),o.Emissive){let E=o.Emissive.value;m.emissive=new Ve(E[0],E[1],E[2])}else o.EmissiveColor&&(o.EmissiveColor.type==="Color"||o.EmissiveColor.type==="ColorRGB")&&(m.emissive=new Ve().fromArray(o.EmissiveColor.value).convertSRGBToLinear());if(o.EmissiveFactor&&(m.emissiveIntensity=parseFloat(o.EmissiveFactor.value)),o.Opacity&&(m.opacity=parseFloat(o.Opacity.value)),m.opacity<1&&(m.transparent=!0),o.ReflectionFactor&&(m.reflectivity=o.ReflectionFactor.value),o.Shininess&&(m.shininess=o.Shininess.value),o.Specular){let E=o.Specular.value;m.specular=new Ve(E[0],E[1],E[2])}else o.SpecularColor&&o.SpecularColor.type;let C=this;return Z1.get(f).children.forEach(function(E){let x=E.relationship;switch(x){case"Bump":m.bumpMap=C.getTexture(A,E.ID);break;case"Maya|TEX_ao_map":m.aoMap=C.getTexture(A,E.ID);break;case"DiffuseColor":case"Maya|TEX_color_map":m.map=C.getTexture(A,E.ID),m.map!==void 0&&(m.map.colorSpace="srgb");break;case"DisplacementColor":m.displacementMap=C.getTexture(A,E.ID);break;case"EmissiveColor":m.emissiveMap=C.getTexture(A,E.ID);break;case"NormalMap":case"Maya|TEX_normal_map":m.normalMap=C.getTexture(A,E.ID);break;case"ReflectionColor":m.envMap=C.getTexture(A,E.ID);break;case"SpecularColor":m.specularMap=C.getTexture(A,E.ID);break;case"TransparentColor":case"TransparencyFactor":m.alphaMap=C.getTexture(A,E.ID),m.transparent=!0;break;case"AmbientColor":case"ShininessExponent":case"SpecularFactor":case"VectorDisplacementColor":default:console.warn("FBXLoader: %s map is not supported in it, skipping texture.",x);break}}),m}getTexture(o,A){return"LayeredTexture"in yg.Objects&&A in yg.Objects.LayeredTexture&&(console.warn("FBXLoader: layered textures are not supported in it. Discarding all but first layer."),A=Z1.get(A).children[0].ID),o.get(A)}parseDeformers(){let o={},A={};if("Deformer"in yg.Objects){let f=yg.Objects.Deformer;for(let m in f){let C=f[m],E=Z1.get(parseInt(m));if(C.attrType==="Skin"){let x=this.parseSkeleton(E,f);x.ID=m,E.parents.length>1&&console.warn("FBXLoader: skeleton attached to more than one geometry is not supported."),x.geometryID=E.parents[0].ID,o[m]=x}else if(C.attrType==="BlendShape"){let x={id:m};x.rawTargets=this.parseMorphTargets(E,f),x.id=m,E.parents.length>1&&console.warn("FBXLoader: morph target attached to more than one geometry is not supported."),A[m]=x}}}return{skeletons:o,morphTargets:A}}parseSkeleton(o,A){let f=[];return o.children.forEach(function(m){let C=A[m.ID];if(C.attrType!=="Cluster")return;let E={ID:m.ID,indices:[],weights:[],transformLink:Re.fromArray(C.TransformLink.a,new Re)};"Indexes"in C&&(E.indices=C.Indexes.a,E.weights=C.Weights.a),f.push(E)}),{rawBones:f,bones:[]}}parseMorphTargets(o,A){let f=[];for(let m=0;m<o.children.length;m++){let C=o.children[m],E=A[C.ID],x={name:E.attrName,initialWeight:E.DeformPercent,id:E.id,fullWeights:E.FullWeights.a};if(E.attrType!=="BlendShapeChannel")return;x.geoID=Z1.get(parseInt(C.ID)).children.filter(function(y){return y.relationship===void 0})[0].ID,f.push(x)}return f}parseScene(o,A,f){this.parseModels(o.skeletons,A,f).forEach(function(C){HX.scene.push(C)});let m=null;HX.animations=m}parseModels(o,A,f){let m=new Map,C=yg.Objects.Model;for(let E in C){let x=parseInt(E),y=C[E],I=Z1.get(x),v=null;if(!v){switch(y.attrType){case"Camera":v=this.createCamera(I);break;case"Light":v=null;break;case"Mesh":v=this.createMesh(I,A,f);break;case"NurbsCurve":v=this.createCurve(I,A);break;case"LimbNode":case"Root":v=new Bone;break;case"Null":default:v=y,y.userData={};break}v.name=y.attrName?y.attrName:"",v.userData.originalName=y.attrName,v.ID=x}this.getTransformData(v,y),m.set(x,v)}return m}buildSkeleton(o,A,f,m){let C=null;return o.parents.forEach(function(E){for(let x in A){let y=A[x];y.rawBones.forEach(function(I,v){if(I.ID===E.ID){let B=C;C=new Bone,C.matrixWorld.copy(I.transformLink),C.name=m?PropertyBinding.sanitizeNodeName(m):"",C.userData.originalName=m,C.ID=f,y.bones[v]=C,B!==null&&C.add(B)}})}}),C}createCamera(o){let A,f;if(o.children.forEach(function(m){let C=yg.Objects.NodeAttribute[m.ID];C!==void 0&&(f=C)}),f===void 0)A=new Object3D;else{let m=0;f.CameraProjectionType!==void 0&&f.CameraProjectionType.value===1&&(m=1);let C=1;f.NearPlane!==void 0&&(C=f.NearPlane.value/1e3);let E=1e3;f.FarPlane!==void 0&&(E=f.FarPlane.value/1e3);let x=window.innerWidth,y=window.innerHeight;f.AspectWidth!==void 0&&f.AspectHeight!==void 0&&(x=f.AspectWidth.value,y=f.AspectHeight.value);let I=x/y,v=45;f.FieldOfView!==void 0&&(v=f.FieldOfView.value);let B=f.FocalLength?f.FocalLength.value:null;switch(m){case 0:A={type:"PerspectiveFrustum",fov:v,aspect:I,near:C,far:E,userData:{}},B!==null&&(A.focalLength=B);break;case 1:A=new OrthographicCamera(-x/2,x/2,y/2,-y/2,C,E);break;default:console.warn("FBXLoader: Unknown camera type "+m+"."),A=new Object3D;break}}return A}createMesh(o,A,f){let m,C=null,E=null,x=[];return o.children.forEach(function(y){A.has(y.ID)&&(C=A.get(y.ID)),f.has(y.ID)&&x.push(f.get(y.ID))}),x.length>1?E=x:x.length>0?E=x[0]:(E=new q7({name:"default_MeshPhongMaterial",color:Ve.fromRgba("0xcccccc")}),x.push(E)),C.color&&x.forEach(function(y){y.vertexColors=!0}),C.FBX_Deformer||(C.material=E,m=C),m}createCurve(o,A){let f=o.children.reduce(function(C,E){return A.has(E.ID)&&(C=A.get(E.ID)),C},null),m=new LineBasicMaterial({name:Loader.DEFAULT_MATERIAL_NAME,color:3342591,linewidth:1});return new Line(f,m)}getTransformData(o,A){let f={};if("InheritType"in A&&(f.inheritType=parseInt(A.InheritType.value)),"RotationOrder"in A?f.eulerOrder=drt(A.RotationOrder.value):f.eulerOrder="ZYX","Lcl_Translation"in A&&(f.translation=A.Lcl_Translation.value),"PreRotation"in A&&(f.preRotation=A.PreRotation.value),"Lcl_Rotation"in A&&(f.rotation=A.Lcl_Rotation.value),"PostRotation"in A&&(f.postRotation=A.PostRotation.value),"Lcl_Scaling"in A&&(f.scale=A.Lcl_Scaling.value),"ScalingOffset"in A&&(f.scalingOffset=A.ScalingOffset.value),"ScalingPivot"in A&&(f.scalingPivot=A.ScalingPivot.value),"RotationOffset"in A&&(f.rotationOffset=A.RotationOffset.value),"RotationPivot"in A&&(f.rotationPivot=A.RotationPivot.value),o.userData.transformData=f,f.scale&&o.positionBuffer)for(let m=0;m<o.positionBuffer.length;m=m+3)o.positionBuffer[m]*=f.scale[0],o.positionBuffer[m+1]*=f.scale[1],o.positionBuffer[m+2]*=f.scale[2];if(f.rotation&&o.positionBuffer)for(let m=0;m<o.positionBuffer.length;m=m+3){let C=frt(f,o.positionBuffer,m);o.positionBuffer[m]=C.x,o.positionBuffer[m+1]=C.y,o.positionBuffer[m+2]=C.z}}setLookAtProperties(o,A){"LookAtProperty"in A&&Z1.get(o.ID).children.forEach(function(f){if(f.relationship==="LookAtProperty"){let m=yg.Objects.Model[f.ID];if("Lcl_Translation"in m){let C=m.Lcl_Translation.value;o.target!==void 0?(o.target.position.fromArray(C),HX.add(o.target)):o.lookAt(new Vector3().fromArray(C))}}})}},avi=class{constructor(){this.negativeMaterialIndices=!1}parse(o){let A=new Map;if("Geometry"in yg.Objects){let f=yg.Objects.Geometry;for(let m in f){let C=Z1.get(parseInt(m)),E=this.parseGeometry(C,f[m],o);A.set(parseInt(m),E)}}return this.negativeMaterialIndices===!0&&console.warn("FBXLoader: The FBX file contains invalid (negative) material indices. The asset might not render as expected."),A}parseGeometry(o,A,f){switch(A.attrType){case"Mesh":return this.parseMeshGeometry(o,A,f);case"NurbsCurve":return this.parseNurbsGeometry(A)}}parseMeshGeometry(o,A,f){let m=f.skeletons,C=[],E=o.parents.map(function(B){return yg.Objects.Model[B.ID]});if(E.length===0)return;let x=o.children.reduce(function(B,Q){return m[Q.ID]!==void 0&&(B=m[Q.ID]),B},null);o.children.forEach(function(B){f.morphTargets[B.ID]!==void 0&&C.push(f.morphTargets[B.ID])});let y=E[0],I={};"RotationOrder"in y&&(I.eulerOrder=drt(y.RotationOrder.value)),"InheritType"in y&&(I.inheritType=parseInt(y.InheritType.value)),"GeometricTranslation"in y&&(I.translation=y.GeometricTranslation.value),"GeometricRotation"in y&&(I.rotation=y.GeometricRotation.value),"GeometricScaling"in y&&(I.scale=y.GeometricScaling.value);let v=I;return this.genGeometry(A,x,C,v)}genGeometry(o,A,f,m){let C=this.parseGeoNode(o,A),E=this.genBuffers(C),x=new Ebe;o.attrName&&(x.name=o.attrName);let y=new Float32Array(E.vertex);if(m&&m.rotation){let I=y.length;for(let v=0;v<I;v+=3){let B=frt(m,y,v);y[v]=B.x,y[v+1]=B.y,y[v+2]=B.z}x.setAttribute("preTransform",m)}if(m&&m.translation){let I=y.length,v=m.translation[0],B=m.translation[1],Q=m.translation[2];for(let T=0;T<I;T+=3)y[T]=y[T]+v,y[T+1]=y[T+1]+B,y[T+2]=y[T+2]+Q;x.setAttribute("preTransform",m)}if(x.setAttribute("position",y),E.colors.length>0&&x.setAttribute("color",new Float32Array(E.colors)),A&&(x.setAttribute("skinIndex",new Uint16Array(E.weightsIndices)),x.setAttribute("skinWeight",new Float32Array(E.vertexWeights)),x.FBX_Deformer=A),E.normal.length>0){let I=new Float32Array(E.normal);x.setAttribute("normal",I)}if(E.uvs.forEach(function(I,v){x.uvs.push(new Float32Array(E.uvs[v]))}),C.material&&C.material.mappingType!=="AllSame"){let I=E.materialIndex[0],v=0;if(E.materialIndex.forEach(function(B,Q){B!==I&&(x.addGroup(v,Q-v,I),I=B,v=Q)}),x.groups.length>0){let B=x.groups[x.groups.length-1],Q=B[0]+B[1];Q!==E.materialIndex.length&&x.addGroup(Q,E.materialIndex.length-Q,I)}x.groups.length===0&&x.addGroup(0,E.materialIndex.length,E.materialIndex[0])}return x}parseGeoNode(o,A){let f={};if(f.vertexPositions=o.Vertices!==void 0?o.Vertices.a:[],f.vertexIndices=o.PolygonVertexIndex!==void 0?o.PolygonVertexIndex.a:[],o.LayerElementColor&&(f.color=this.parseVertexColors(o.LayerElementColor[0])),o.LayerElementMaterial&&(f.material=this.parseMaterialIndices(o.LayerElementMaterial[0])),o.LayerElementNormal&&(f.normal=this.parseNormals(o.LayerElementNormal[0])),o.LayerElementUV){f.uv=[];let m=0;for(;o.LayerElementUV[m];)o.LayerElementUV[m].UV&&f.uv.push(this.parseUVs(o.LayerElementUV[m])),m++}return f.weightTable={},A!==null&&(f.skeleton=A,A.rawBones.forEach(function(m,C){m.indices.forEach(function(E,x){f.weightTable[E]===void 0&&(f.weightTable[E]=[]),f.weightTable[E].push({id:C,weight:m.weights[x]})})})),f}genBuffers(o){let A={vertex:[],normal:[],colors:[],uvs:[],materialIndex:[],vertexWeights:[],weightsIndices:[]},f=0,m=0,C=!1,E=[],x=[],y=[],I=[],v=[],B=[],Q=this;return o.vertexIndices.forEach(function(T,w){let S,D=!1;T<0&&(T=T^-1,D=!0);let R=[],P=[];if(E.push(T*3,T*3+1,T*3+2),o.color){let M=VX(w,f,T,o.color);y.push(M[0],M[1],M[2])}if(o.skeleton){if(o.weightTable[T]!==void 0&&o.weightTable[T].forEach(function(M){P.push(M.weight),R.push(M.id)}),P.length>4){C||(console.warn("FBXLoader: Vertex has more than 4 skinning weights assigned to vertex. Deleting additional weights."),C=!0);let M=[0,0,0,0],L=[0,0,0,0];P.forEach(function(F,k){let N=F,G=R[k];L.forEach(function(J,K,X){if(N>J){X[K]=N,N=J;let q=M[K];M[K]=G,G=q}})}),R=M,P=L}for(;P.length<4;)P.push(0),R.push(0);for(let M=0;M<4;++M)v.push(P[M]),B.push(R[M])}if(o.normal){let M=VX(w,f,T,o.normal);x.push(M[0],M[1],M[2])}o.material&&o.material.mappingType!=="AllSame"&&(S=VX(w,f,T,o.material)[0],S<0&&(Q.negativeMaterialIndices=!0,S=0)),o.uv&&o.uv.forEach(function(M,L){let F=VX(w,f,T,M);I[L]===void 0&&(I[L]=[]),I[L].push(F[0]),I[L].push(F[1])}),m++,D&&(m>4&&console.warn("FBXLoader: Polygons with more than four sides are not supported. Make sure to triangulate the geometry during export."),Q.genFace(A,o,E,S,x,y,I,v,B,m),f++,m=0,E=[],x=[],y=[],I=[],v=[],B=[])}),A}genFace(o,A,f,m,C,E,x,y,I,v){for(let B=2;B<v;B++)o.vertex.push(A.vertexPositions[f[0]]),o.vertex.push(A.vertexPositions[f[1]]),o.vertex.push(A.vertexPositions[f[2]]),o.vertex.push(A.vertexPositions[f[(B-1)*3]]),o.vertex.push(A.vertexPositions[f[(B-1)*3+1]]),o.vertex.push(A.vertexPositions[f[(B-1)*3+2]]),o.vertex.push(A.vertexPositions[f[B*3]]),o.vertex.push(A.vertexPositions[f[B*3+1]]),o.vertex.push(A.vertexPositions[f[B*3+2]]),A.skeleton&&(o.vertexWeights.push(y[0]),o.vertexWeights.push(y[1]),o.vertexWeights.push(y[2]),o.vertexWeights.push(y[3]),o.vertexWeights.push(y[(B-1)*4]),o.vertexWeights.push(y[(B-1)*4+1]),o.vertexWeights.push(y[(B-1)*4+2]),o.vertexWeights.push(y[(B-1)*4+3]),o.vertexWeights.push(y[B*4]),o.vertexWeights.push(y[B*4+1]),o.vertexWeights.push(y[B*4+2]),o.vertexWeights.push(y[B*4+3]),o.weightsIndices.push(I[0]),o.weightsIndices.push(I[1]),o.weightsIndices.push(I[2]),o.weightsIndices.push(I[3]),o.weightsIndices.push(I[(B-1)*4]),o.weightsIndices.push(I[(B-1)*4+1]),o.weightsIndices.push(I[(B-1)*4+2]),o.weightsIndices.push(I[(B-1)*4+3]),o.weightsIndices.push(I[B*4]),o.weightsIndices.push(I[B*4+1]),o.weightsIndices.push(I[B*4+2]),o.weightsIndices.push(I[B*4+3])),A.color&&(o.colors.push(E[0]),o.colors.push(E[1]),o.colors.push(E[2]),o.colors.push(E[(B-1)*3]),o.colors.push(E[(B-1)*3+1]),o.colors.push(E[(B-1)*3+2]),o.colors.push(E[B*3]),o.colors.push(E[B*3+1]),o.colors.push(E[B*3+2])),A.material&&A.material.mappingType!=="AllSame"&&(o.materialIndex.push(m),o.materialIndex.push(m),o.materialIndex.push(m)),A.normal&&(o.normal.push(C[0]),o.normal.push(C[1]),o.normal.push(C[2]),o.normal.push(C[(B-1)*3]),o.normal.push(C[(B-1)*3+1]),o.normal.push(C[(B-1)*3+2]),o.normal.push(C[B*3]),o.normal.push(C[B*3+1]),o.normal.push(C[B*3+2])),A.uv&&A.uv.forEach(function(Q,T){o.uvs[T]===void 0&&(o.uvs[T]=[]),o.uvs[T].push(x[T][0]),o.uvs[T].push(x[T][1]),o.uvs[T].push(x[T][(B-1)*2]),o.uvs[T].push(x[T][(B-1)*2+1]),o.uvs[T].push(x[T][B*2]),o.uvs[T].push(x[T][B*2+1])})}addMorphTargets(o,A,f,m){if(f.length===0)return;o.morphTargetsRelative=!0,o.morphAttributes.position=[];let C=this;f.forEach(function(E){E.rawTargets.forEach(function(x){let y=yg.Objects.Geometry[x.geoID];y!==void 0&&C.genMorphGeometry(o,A,y,m,x.name)})})}genMorphGeometry(o,A,f,m,C){let E=A.PolygonVertexIndex!==void 0?A.PolygonVertexIndex.a:[],x=f.Vertices!==void 0?f.Vertices.a:[],y=f.Indexes!==void 0?f.Indexes.a:[],I=o.attributes.position.count*3,v=new Float32Array(I);for(let w=0;w<y.length;w++){let S=y[w]*3;v[S]=x[w*3],v[S+1]=x[w*3+1],v[S+2]=x[w*3+2]}let B={vertexIndices:E,vertexPositions:v},Q=this.genBuffers(B),T=new Float32Array(Q.vertex);T.name=C||f.attrName,T.applyMatrix4(m),o.morphAttributes.position.push(T)}parseNormals(o){let A=o.MappingInformationType,f=o.ReferenceInformationType,m=o.Normals.a,C=[];return f==="IndexToDirect"&&("NormalIndex"in o?C=o.NormalIndex.a:"NormalsIndex"in o&&(C=o.NormalsIndex.a)),{dataSize:3,buffer:m,indices:C,mappingType:A,referenceType:f}}parseUVs(o){let A=o.MappingInformationType,f=o.ReferenceInformationType,m=o.UV.a,C=[];return f==="IndexToDirect"&&(C=o.UVIndex.a),{dataSize:2,buffer:m,indices:C,mappingType:A,referenceType:f}}parseVertexColors(o){let A=o.MappingInformationType,f=o.ReferenceInformationType,m=o.Colors.a,C=[];return f==="IndexToDirect"&&(C=o.ColorIndex.a),{dataSize:4,buffer:m,indices:C,mappingType:A,referenceType:f}}parseMaterialIndices(o){let A=o.MappingInformationType,f=o.ReferenceInformationType;if(A==="NoMappingInformation")return{dataSize:1,buffer:[0],indices:[0],mappingType:"AllSame",referenceType:f};let m=o.Materials.a,C=[];for(let E=0;E<m.length;++E)C.push(E);return{dataSize:1,buffer:m,indices:C,mappingType:A,referenceType:f}}parseNurbsGeometry(o){let A=parseInt(o.Order);if(isNaN(A))return console.error("FBXLoader: Invalid Order %s given for geometry ID: %s",o.Order,o.id),new BufferGeometry;let f=A-1,m=o.KnotVector.a,C=[],E=o.Points.a;for(let v=0,B=E.length;v<B;v+=4)C.push(new Vector4().fromArray(E,v));let x,y;if(o.Form==="Closed")C.push(C[0]);else if(o.Form==="Periodic"){x=f,y=m.length-1-x;for(let v=0;v<f;++v)C.push(C[v])}let I=new NURBSCurve(f,m,C,x,y).getPoints(C.length*12);return new BufferGeometry().setFromPoints(I)}},svi=[];function VX(o,A,f,m){let C;switch(m.mappingType){case"ByPolygonVertex":C=o;break;case"ByPolygon":C=A;break;case"ByVertice":C=f;break;case"AllSame":C=m.indices[0];break;default:console.warn("FBXLoader: unknown attribute mapping type "+m.mappingType)}m.referenceType==="IndexToDirect"&&(C=m.indices[C]);let E=C*m.dataSize,x=E+m.dataSize;return lvi(svi,m.buffer,E,x)}function drt(o){o=o||0;let A=["ZYX","YZX","XZY","ZXY","YXZ","XYZ"];return o===6?(console.warn("FBXLoader: unsupported Euler Order: Spherical XYZ. Animations and rotations may be incorrect."),A[0]):A[o]}function lvi(o,A,f,m){for(let C=f,E=0;C<m;C++,E++)o[E]=A[C];return o}function frt(o,A,f){let m=new Z(0,0,0),C=oe(o.rotation,[0,0,0]);A&&(m=new Z(A[f],A[f+1],A[f+2]));let E=Be.toRadians(C[0]),x=Be.toRadians(C[1]),y=Be.toRadians(C[2]),I=Re.fromTranslation(new Z(0,0,0)),v=Re.fromRotationTranslation(Gt.fromRotationX(E));I=Re.multiply(v,I,new Re);let B=Re.fromRotationTranslation(Gt.fromRotationY(x));I=Re.multiply(B,I,new Re);let Q=Re.fromRotationTranslation(Gt.fromRotationZ(y));return I=Re.multiply(Q,I,new Re),Re.multiplyByPoint(I,m,new Z)}var xbe=ovi,fde,uvi=class{constructor(){this.successLoad=null}load(o,A,f,m){this._url=o;let C=this;this.successLoad=A,Cr.fetchArrayBuffer({url:o}).then(E=>{this.path=o,C.parse(E,o)})}parse(o,A){if(hvi(o))fde=new Avi().parse(o);else{let m=prt(o);if(!dvi(m))throw new Error(".FBXLoader: Unknown format.");if(E8e(m)<7e3)throw new Error(".FBXLoader: FBX version not supported, FileVersion: "+E8e(m));fde=new cvi().parse(m)}let f=new xbe().parse(fde,this._url);return this.successLoad(f),f}},grt=class{add(o,A){this[o]=A}},Avi=class{parse(o){let A=new C8e(o);A.skip(23);let f=A.getUint32();if(f<6400)throw new Error(".FBXLoader: FBX version not supported, FileVersion: "+f);let m=new grt;for(;!this.endOfContent(A);){let C=this.parseNode(A,f);C!==null&&m.add(C.name,C)}return m}endOfContent(o){return o.size()%16===0?(o.getOffset()+160+16&-16)>=o.size():o.getOffset()+160+16>=o.size()}parseNode(o,A){let f={},m=A>=7500?o.getUint64():o.getUint32(),C=A>=7500?o.getUint64():o.getUint32();A>=7500?o.getUint64():o.getUint32();let E=o.getUint8(),x=o.getString(E);if(m===0)return null;let y=[];for(let Q=0;Q<C;Q++)y.push(this.parseProperty(o));let I=y.length>0?y[0]:"",v=y.length>1?y[1]:"",B=y.length>2?y[2]:"";for(f.singleProperty=C===1&&o.getOffset()===m;m>o.getOffset();){let Q=this.parseNode(o,A);Q!==null&&this.parseSubNode(x,f,Q)}return f.propertyList=y,typeof I=="number"&&(f.id=I),v!==""&&(f.attrName=v),B!==""&&(f.attrType=B),x!==""&&(f.name=x),f}parseSubNode(o,A,f){if(f.singleProperty===!0){let m=f.propertyList[0];Array.isArray(m)?(A[f.name]=f,f.a=m):A[f.name]=m}else if(o==="Connections"&&f.name==="C"){let m=[];f.propertyList.forEach(function(C,E){E!==0&&m.push(C)}),A.connections===void 0&&(A.connections=[]),A.connections.push(m)}else if(f.name==="Properties70")Object.keys(f).forEach(function(m){A[m]=f[m]});else if(o==="Properties70"&&f.name==="P"){let m=f.propertyList[0],C=f.propertyList[1],E=f.propertyList[2],x=f.propertyList[3],y;m.indexOf("Lcl ")===0&&(m=m.replace("Lcl ","Lcl_")),C.indexOf("Lcl ")===0&&(C=C.replace("Lcl ","Lcl_")),C==="Color"||C==="ColorRGB"||C==="Vector"||C==="Vector3D"||C.indexOf("Lcl_")===0?y=[f.propertyList[4],f.propertyList[5],f.propertyList[6]]:y=f.propertyList[4],A[m]={type:C,type2:E,flag:x,value:y}}else A[f.name]===void 0?typeof f.id=="number"?(A[f.name]={},A[f.name][f.id]=f):A[f.name]=f:f.name==="PoseNode"?(Array.isArray(A[f.name])||(A[f.name]=[A[f.name]]),A[f.name].push(f)):A[f.name][f.id]===void 0&&(A[f.name][f.id]=f)}parseProperty(o){let A=o.getString(1),f;switch(A){case"C":return o.getBoolean();case"D":return o.getFloat64();case"F":return o.getFloat32();case"I":return o.getInt32();case"L":return o.getInt64();case"R":return f=o.getUint32(),o.getArrayBuffer(f);case"S":return f=o.getUint32(),o.getString(f);case"Y":return o.getInt16();case"b":case"c":case"d":case"f":case"i":case"l":let m=o.getUint32(),C=o.getUint32(),E=o.getUint32();if(C===0)switch(A){case"b":case"c":return o.getBooleanArray(m);case"d":return o.getFloat64Array(m);case"f":return o.getFloat32Array(m);case"i":return o.getInt32Array(m);case"l":return o.getInt64Array(m)}let x=Cbe(new Uint8Array(o.getArrayBuffer(E))),y=new C8e(x.buffer);switch(A){case"b":case"c":return y.getBooleanArray(m);case"d":return y.getFloat64Array(m);case"f":return y.getFloat32Array(m);case"i":return y.getInt32Array(m);case"l":return y.getInt64Array(m)}break;default:throw new Error(".FBXLoader: Unknown property type "+A)}}},C8e=class{constructor(o,A){this.dv=new DataView(o),this.offset=0,this.littleEndian=A!==void 0?A:!0,this._textDecoder=new TextDecoder}getOffset(){return this.offset}size(){return this.dv.buffer.byteLength}skip(o){this.offset+=o}getBoolean(){return(this.getUint8()&1)===1}getBooleanArray(o){let A=[];for(let f=0;f<o;f++)A.push(this.getBoolean());return A}getUint8(){let o=this.dv.getUint8(this.offset);return this.offset+=1,o}getInt16(){let o=this.dv.getInt16(this.offset,this.littleEndian);return this.offset+=2,o}getInt32(){let o=this.dv.getInt32(this.offset,this.littleEndian);return this.offset+=4,o}getInt32Array(o){let A=[];for(let f=0;f<o;f++)A.push(this.getInt32());return A}getUint32(){let o=this.dv.getUint32(this.offset,this.littleEndian);return this.offset+=4,o}getInt64(){let o,A;return this.littleEndian?(o=this.getUint32(),A=this.getUint32()):(A=this.getUint32(),o=this.getUint32()),A&2147483648?(A=~A&4294967295,o=~o&4294967295,o===4294967295&&(A=A+1&4294967295),o=o+1&4294967295,-(A*4294967296+o)):A*4294967296+o}getInt64Array(o){let A=[];for(let f=0;f<o;f++)A.push(this.getInt64());return A}getUint64(){let o,A;return this.littleEndian?(o=this.getUint32(),A=this.getUint32()):(A=this.getUint32(),o=this.getUint32()),A*4294967296+o}getFloat32(){let o=this.dv.getFloat32(this.offset,this.littleEndian);return this.offset+=4,o}getFloat32Array(o){let A=[];for(let f=0;f<o;f++)A.push(this.getFloat32());return A}getFloat64(){let o=this.dv.getFloat64(this.offset,this.littleEndian);return this.offset+=8,o}getFloat64Array(o){let A=[];for(let f=0;f<o;f++)A.push(this.getFloat64());return A}getArrayBuffer(o){let A=this.dv.buffer.slice(this.offset,this.offset+o);return this.offset+=o,A}getString(o){let A=this.offset,f=new Uint8Array(this.dv.buffer,A,o);this.skip(o);let m=f.indexOf(0);return m>=0&&(f=new Uint8Array(this.dv.buffer,A,m)),this._textDecoder.decode(f)}},cvi=class{getPrevNode(){return this.nodeStack[this.currentIndent-2]}getCurrentNode(){return this.nodeStack[this.currentIndent-1]}getCurrentProp(){return this.currentProp}pushStack(o){this.nodeStack.push(o),this.currentIndent+=1}popStack(){this.nodeStack.pop(),this.currentIndent-=1}setCurrentProp(o,A){this.currentProp=o,this.currentPropName=A}parse(o){this.currentIndent=0,this.allNodes=new grt,this.nodeStack=[],this.currentProp=[],this.currentPropName="";let A=this,f=o.split(/[\r\n]+/);return f.forEach(function(m,C){let E=m.match(/^[\s\t]*;/),x=m.match(/^[\s\t]*$/);if(E||x)return;let y=m.match("^\\t{"+A.currentIndent+"}(\\w+):(.*){",""),I=m.match("^\\t{"+A.currentIndent+"}(\\w+):[\\s\\t\\r\\n](.*)"),v=m.match("^\\t{"+(A.currentIndent-1)+"}}");y?A.parseNodeBegin(m,y):I?A.parseNodeProperty(m,I,f[++C]):v?A.popStack():m.match(/^[^\s\t}]/)&&A.parseNodePropertyContinued(m)}),this.allNodes}parseNodeBegin(o,A){let f=A[1].trim().replace(/^"/,"").replace(/"$/,""),m=A[2].split(",").map(function(y){return y.trim().replace(/^"/,"").replace(/"$/,"")}),C={name:f},E=this.parseNodeAttr(m),x=this.getCurrentNode();this.currentIndent===0?this.allNodes.add(f,C):f in x?(f==="PoseNode"?x.PoseNode.push(C):x[f].id!==void 0&&(x[f]={},x[f][x[f].id]=x[f]),E.id!==""&&(x[f][E.id]=C)):typeof E.id=="number"?(x[f]={},x[f][E.id]=C):f!=="Properties70"&&(f==="PoseNode"?x[f]=[C]:x[f]=C),typeof E.id=="number"&&(C.id=E.id),E.name!==""&&(C.attrName=E.name),E.type!==""&&(C.attrType=E.type),this.pushStack(C)}parseNodeAttr(o){let A=o[0];o[0]!==""&&(A=parseInt(o[0]),isNaN(A)&&(A=o[0]));let f="",m="";return o.length>1&&(f=o[1].replace(/^(\w+)::/,""),m=o[2]),{id:A,name:f,type:m}}parseNodeProperty(o,A,f){let m=A[1].replace(/^"/,"").replace(/"$/,"").trim(),C=A[2].replace(/^"/,"").replace(/"$/,"").trim();m==="Content"&&C===","&&(C=f.replace(/"/g,"").replace(/,$/,"").trim());let E=this.getCurrentNode();if(E.name==="Properties70"){this.parseNodeSpecialProperty(o,m,C);return}if(m==="C"){let x=C.split(",").slice(1),y=parseInt(x[0]),I=parseInt(x[1]),v=C.split(",").slice(3);v=v.map(function(B){return B.trim().replace(/^"/,"")}),m="connections",C=[y,I],append(C,v),E[m]===void 0&&(E[m]=[])}m==="Node"&&(E.id=C),m in E&&Array.isArray(E[m])?E[m].push(C):m!=="a"?E[m]=C:E.a=C,this.setCurrentProp(E,m),m==="a"&&C.slice(-1)!==","&&(E.a=gde(C))}parseNodePropertyContinued(o){let A=this.getCurrentNode();A.a+=o,o.slice(-1)!==","&&(A.a=gde(A.a))}parseNodeSpecialProperty(o,A,f){let m=f.split('",').map(function(v){return v.trim().replace(/^\"/,"").replace(/\s/,"_")}),C=m[0],E=m[1],x=m[2],y=m[3],I=m[4];switch(E){case"int":case"enum":case"bool":case"ULongLong":case"double":case"Number":case"FieldOfView":I=parseFloat(I);break;case"Color":case"ColorRGB":case"Vector3D":case"Lcl_Translation":case"Lcl_Rotation":case"Lcl_Scaling":I=gde(I);break}this.getPrevNode()[C]={type:E,type2:x,flag:y,value:I},this.setCurrentProp(this.getPrevNode(),C)}};function hvi(o){let A="Kaydara FBX Binary \0";return o.byteLength>=A.length&&A===prt(o,0,A.length)}function dvi(o){let A=["K","a","y","d","a","r","a","\\","F","B","X","\\","B","i","n","a","r","y","\\","\\"],f=0;function m(C){let E=o[C-1];return o=o.slice(f+C),f++,E}for(let C=0;C<A.length;++C)if(m(1)===A[C])return!1;return!0}function E8e(o){let A=/FBXVersion: (\d+)/,f=o.match(A);if(f)return parseInt(f[1]);throw new Error(".FBXLoader: Cannot find the version number for the file given.")}function gde(o){return o.split(",").map(function(A){return parseFloat(A)})}function prt(o,A,f){return A===void 0&&(A=0),f===void 0&&(f=o.byteLength),new TextDecoder().decode(new Uint8Array(o,A,f))}var ybe=uvi,x8e=function(o,A,f,m,C){f.loadContext||(f.loadContext=!0,f.loadPickId(o.context),f.loadingMap(o.context));let E={"objMaterial.diffuse"(){return C.color},"objMaterial.specular"(){return C.specular},"objMaterial.shininess"(){return C.shininess},"objMaterial.emissive"(){return C.emissive},"objMaterial.alpha"(){return C.opacity},diffuseMap(){return C.texture.mapTexture},diffuseMapRepeat(){return C.texture.mapTexturerepeat},diffuseMapOffset(){return C.texture.mapTextureoffset},specularMap(){return C.texture.specularTexture},specularMapRepeat(){return C.texture.specularTexturerepeat},specularMapOffset(){return C.texture.specularTextureoffset},bumpMap(){return C.texture.bumpTexture},bumpMapRepeat(){return C.texture.bumpTexturerepeat},bumpMapOffset(){return C.texture.bumpTextureoffset},emissiveMap(){return C.texture.emissiveTexture},emissiveMapRepeat(){return C.texture.emissiveTexturerepeat},emissiveMapOffset(){return C.texture.emissiveTextureoffset},alphaMap(){return C.texture.alphaTexture},alphaMapRepeat(){return C.texture.alphaTexturerepeat},alphaMapOffset(){return C.texture.alphaTextureoffset},ambientColor(){return A._ambientColor},lightDir(){return A._realTimeLighting?o.context.uniformState.sunPositionWC:A._lightDirection},lightColor(){return new Ve(1,1,1,1)},viewDir(){return o.context.uniformState._cameraDirection},czm_pickId(){return f.pickId.color},color(){return new Ve(1,1,1,1)}},x=Wn.createVertexBuffer({usage:Gr.STATIC_DRAW,typedArray:m.positionBuffer,context:o.context}),y=Wn.createVertexBuffer({usage:Gr.STATIC_DRAW,typedArray:m.normal,context:o.context}),I=Wn.createVertexBuffer({usage:Gr.STATIC_DRAW,typedArray:m.uvs[0],context:o.context}),v=new hu({context:o.context,attributes:[{index:0,enabled:!0,vertexBuffer:x,componentsPerAttribute:3,normalize:!0,componentDatatype:Ft.FLOAT},{index:1,enabled:!0,vertexBuffer:y,componentsPerAttribute:3,componentDatatype:Ft.FLOAT},{index:2,enabled:!0,componentDatatype:Ft.FLOAT,componentsPerAttribute:2,vertexBuffer:I}]}),B=` layout(location = 0) in vec3 inPosition; layout(location = 1) in vec3 inNormal; layout(location = 2) in vec2 inTexCoord; out vec3 fragPosition; out vec2 fragTexCoord; out vec3 fragNormal; void main() { fragTexCoord = inTexCoord; fragPosition = vec3(czm_model * vec4(inPosition, 1.0)); gl_Position = czm_projection * czm_modelView * vec4( inPosition , 1.0 ); fragNormal = mat3( transpose( inverse(czm_model) ) ) * inNormal; }`,Q=qa.fromCache({context:o.context,vertexShaderSource:B,fragmentShaderSource:C.fragmentShaderText,attributeLocations:{position:0,normal:1,uv:2}}),T=Xr.fromCache({depthTest:{enabled:!0}}),w=Yi.OPAQUE;return C&&C.transparent&&(w=Yi.TRANSLUCENT),new fn({modelMatrix:f.model.modelMatrix,vertexArray:v,shaderProgram:Q,uniformMap:E,renderState:T,pass:w,receiveShadows:f.model.receiveShadows,castShadows:f.model.castShadows,pickId:"czm_pickId",boundingVolume:f.model.boundingSphere})},mrt=class{constructor(o,A){this._viewer=A.viewer,this._render=[],this._id=oe(A.id,Rl()),this._url=A.url,this._type="fbx",this._originPosition=A.originPosition,this._modelMatrix=null,this._loadFBX=!1,this._fbx=null,this._scale=oe(A.scale,1),this._heading=oe(A.heading,0),this._pitch=oe(A.pitch,0),this._roll=oe(A.roll,0),this._ambientColor=oe(A.ambientColor,new Ve(.2,.2,.2,1)),this._sunlightIntensity=1,this._lightDirection=oe(A.lightDirection,new Z(-1,.5,1)),this._realTimeLighting=oe(A.realTimeLighting,!1),this._show=oe(A.show,!0),this._raytrace=oe(A.raytrace,!0),this._castShadows=oe(A.castShadows,!1),this._receiveShadows=oe(A.receiveShadows,!1),this._selectColor=new Ve(1,1,1,1),this._callback=A.callback,this.initialize()}update(o){if(this._show&&this._loadFBX)for(let A=0;A<this._render.length;A++){let f=this._render[A];if(f.model.groups.length>0)for(let m=0;m<f.model.modelGroups.length;m++){let C=f.model.modelGroups[m],E=x8e(o,this,f,C,f.model.material[C.materialIndex]);o.commandList.push(E)}else{let m=x8e(o,this,f,f.model,f.model.material);o.commandList.push(m)}}}destroy(){this._loadFBX=!1;for(let o=0;o<this._render.length;o++)this._render[o].pickId&&(this._render[o].pickId.destroy(),this._render[o].pickId=null),this._render[o]=null;this._fbx=null}initialize(){let o=this;if(!this._url||!this._originPosition)return;let A=new bs(Be.toRadians(this._heading),Be.toRadians(this._pitch),Be.toRadians(this._roll));if(this._modelMatrix=kr.headingPitchRollToFixedFrame(this._originPosition,A),this._modelMatrix=Re.multiplyByScale(this._modelMatrix,new Z(this._scale,this._scale,this._scale),this._modelMatrix),this._fullURL=new URL(this._url,window.location.href),this._fullURL.href){let f=function(m){o._fbx=m;for(let C=0;C<m.scene.length;C++)if(m.scene[C].type&&m.scene[C].type=="mesh"){let E=new mbe(m.scene[C],o,C).parse();o._render.push(E)}o._loadFBX=!0,o._callback&&typeof o._callback&&o._callback(o)};new ybe().load(this._fullURL.href,f)}}};Object.defineProperties(mrt.prototype,{show:{get:function(){return this._show},set:function(o){this._show=o}}});var kne=mrt,fvi=class{constructor(){this._type="mtl"}load(o,A,f,m){let C=this;this.onLoad=A,this.onProgress=f,Cr.fetch({url:o}).then(E=>{this.path=o,C.parse(E,o)})}parse(o,A){let f=o.split(` `),m={},C=/\s+/,E={};for(let y=0;y<f.length;y++){let I=f[y];if(I=I.trim(),I.length===0||I.charAt(0)==="#")continue;let v=I.indexOf(" "),B=v>=0?I.substring(0,v):I;B=B.toLowerCase();let Q=v>=0?I.substring(v+1):"";if(Q=Q.trim(),B==="newmtl")m={name:Q},E[Q]=m;else if(B==="ka"||B==="kd"||B==="ks"||B==="ke"){let T=Q.split(C,3);m[B]=[parseFloat(T[0]),parseFloat(T[1]),parseFloat(T[2])]}else m[B]=Q}let x=new gvi(A,this.materialOptions);x.setMaterials(E),this.onLoad(x.preload())}},gvi=class{constructor(o="",A={}){this.baseUrl=o,this.options=A,this.materialsInfo={},this.materials={},this.crossOrigin="anonymous",this.side=this.options.side!==void 0?this.options.side:"FrontSide"}setMaterials(o){this.materialsInfo=o,this.materials={}}preload(){for(let o in this.materialsInfo)this.create(o);return this}create(o){return this.materials[o]===void 0&&this.createMaterial_(o),this.materials[o]}createMaterial_(o){let A=this,f=this.materialsInfo[o],m={name:o,side:this.side,transparent:!1};function C(x,y){if(typeof y!="string"||y==="")return"";try{return new URL(y),y}catch{return new URL(y,x).href.replace(/\\/g,"/")}}function E(x,y){if(m[x])return;let I=A.getTextureParams(y,m),v=A.loadTexture(C(A.baseUrl,I.url));m[x+"offset"]=I.offset,m[x+"scale"]=I.scale,m[x]=v}for(let x in f){let y=f[x],I;if(y!=="")switch(x.toLowerCase()){case"kd":m.color=new Z(y[0],y[1],y[2]);break;case"ks":m.specular=new Z(y[0],y[1],y[2]);break;case"ke":m.emissive=new Z(y[0],y[1],y[2]);break;case"map_kd":E("map",y);break;case"map_ks":E("specularMap",y);break;case"map_ke":E("emissiveMap",y);break;case"norm":E("normalMap",y);break;case"map_bump":case"bump":E("bumpMap",y);break;case"map_d":E("alphaMap",y),m.transparent=!0;break;case"ns":m.shininess=parseFloat(y);break;case"d":I=parseFloat(y),I<1&&(m.opacity=I,m.transparent=!0);break;case"tr":I=parseFloat(y),this.options&&this.options.invertTrProperty&&(I=1-I),I>0&&(m.opacity=1-I,m.transparent=!0);break;default:break}}return this.materials[o]=m,this.materials[o]}getTextureParams(o,A){let f={scale:new rt(1,1),offset:new rt(0,0)},m=o.split(/\s+/),C;return C=m.indexOf("-bm"),C>=0&&(A.bumpScale=parseFloat(m[C+1]),m.splice(C,2)),C=m.indexOf("-s"),C>=0&&(f.scale=new rt(parseFloat(m[C+1]),parseFloat(m[C+2])),m.splice(C,4)),C=m.indexOf("-o"),C>=0&&(f.offset=new rt(parseFloat(m[C+1]),parseFloat(m[C+2])),m.splice(C,4)),f.url=m.join(" ").trim(),f}loadTexture(o,A,f,m,C){let E=new Image;return E.src=o,E}},Ibe=fvi,pvi=/^[og]\s*(.+)?/,mvi=/^mtllib /,Cvi=/^usemtl /,Evi=/^usemap /,y8e=/\s+/;function xvi(){let o={objects:[],object:{},vertices:[],normals:[],colors:[],uvs:[],materials:{},materialLibraries:[],startObject:function(A,f){if(this.object&&this.object.fromDeclaration===!1){this.object.name=A,this.object.fromDeclaration=f!==!1;return}let m=this.object&&typeof this.object.currentMaterial=="function"?this.object.currentMaterial():void 0;if(this.object&&typeof this.object._finalize=="function"&&this.object._finalize(!0),this.object={name:A||"",fromDeclaration:f!==!1,geometry:{vertices:[],normals:[],colors:[],uvs:[],hasUVIndices:!1},materials:[],smooth:!0,startMaterial:function(C,E){let x=this._finalize(!1);x&&(x.inherited||x.groupCount<=0)&&this.materials.splice(x.index,1);let y={index:this.materials.length,name:C||"",mtllib:Array.isArray(E)&&E.length>0?E[E.length-1]:"",smooth:x!==void 0?x.smooth:this.smooth,groupStart:x!==void 0?x.groupEnd:0,groupEnd:-1,groupCount:-1,inherited:!1,clone:function(I){let v={index:typeof I=="number"?I:this.index,name:this.name,mtllib:this.mtllib,smooth:this.smooth,groupStart:0,groupEnd:-1,groupCount:-1,inherited:!1};return v.clone=this.clone.bind(v),v}};return this.materials.push(y),y},currentMaterial:function(){if(this.materials.length>0)return this.materials[this.materials.length-1]},_finalize:function(C){let E=this.currentMaterial();if(E&&E.groupEnd===-1&&(E.groupEnd=this.geometry.vertices.length/3,E.groupCount=E.groupEnd-E.groupStart,E.inherited=!1),C&&this.materials.length>1)for(let x=this.materials.length-1;x>=0;x--)this.materials[x].groupCount<=0&&this.materials.splice(x,1);return C&&this.materials.length===0&&this.materials.push({name:"",smooth:this.smooth}),E}},m&&m.name&&typeof m.clone=="function"){let C=m.clone(0);C.inherited=!0,this.object.materials.push(C)}this.objects.push(this.object)},finalize:function(){this.object&&typeof this.object._finalize=="function"&&this.object._finalize(!0)},parseVertexIndex:function(A,f){let m=parseInt(A,10);return(m>=0?m-1:m+f/3)*3},parseNormalIndex:function(A,f){let m=parseInt(A,10);return(m>=0?m-1:m+f/3)*3},parseUVIndex:function(A,f){let m=parseInt(A,10);return(m>=0?m-1:m+f/2)*2},addVertex:function(A,f,m){let C=this.vertices,E=this.object.geometry.vertices;E.push(C[A+0],C[A+1],C[A+2]),E.push(C[f+0],C[f+1],C[f+2]),E.push(C[m+0],C[m+1],C[m+2])},addVertexPoint:function(A){let f=this.vertices;this.object.geometry.vertices.push(f[A+0],f[A+1],f[A+2])},addVertexLine:function(A){let f=this.vertices;this.object.geometry.vertices.push(f[A+0],f[A+1],f[A+2])},addNormal:function(A,f,m){let C=this.normals,E=this.object.geometry.normals;E.push(C[A+0],C[A+1],C[A+2]),E.push(C[f+0],C[f+1],C[f+2]),E.push(C[m+0],C[m+1],C[m+2])},addFaceNormal:function(A,f,m){let C=this.vertices,E=this.object.geometry.normals;_vA.fromArray(C,A),_vB.fromArray(C,f),_vC.fromArray(C,m),_cb.subVectors(_vC,_vB),_ab.subVectors(_vA,_vB),_cb.cross(_ab),_cb.normalize(),E.push(_cb.x,_cb.y,_cb.z),E.push(_cb.x,_cb.y,_cb.z),E.push(_cb.x,_cb.y,_cb.z)},addColor:function(A,f,m){let C=this.colors,E=this.object.geometry.colors;C[A]!==void 0&&E.push(C[A+0],C[A+1],C[A+2]),C[f]!==void 0&&E.push(C[f+0],C[f+1],C[f+2]),C[m]!==void 0&&E.push(C[m+0],C[m+1],C[m+2])},addUV:function(A,f,m){let C=this.uvs,E=this.object.geometry.uvs;E.push(C[A+0],C[A+1]),E.push(C[f+0],C[f+1]),E.push(C[m+0],C[m+1])},addDefaultUV:function(){let A=this.object.geometry.uvs;A.push(0,0),A.push(0,0),A.push(0,0)},addUVLine:function(A){let f=this.uvs;this.object.geometry.uvs.push(f[A+0],f[A+1])},addFace:function(A,f,m,C,E,x,y,I,v){let B=this.vertices.length,Q=this.parseVertexIndex(A,B),T=this.parseVertexIndex(f,B),w=this.parseVertexIndex(m,B);if(this.addVertex(Q,T,w),this.addColor(Q,T,w),y!==void 0&&y!==""){let S=this.normals.length;Q=this.parseNormalIndex(y,S),T=this.parseNormalIndex(I,S),w=this.parseNormalIndex(v,S),this.addNormal(Q,T,w)}else this.addFaceNormal(Q,T,w);if(C!==void 0&&C!==""){let S=this.uvs.length;Q=this.parseUVIndex(C,S),T=this.parseUVIndex(E,S),w=this.parseUVIndex(x,S),this.addUV(Q,T,w),this.object.geometry.hasUVIndices=!0}else this.addDefaultUV()},addPointGeometry:function(A){this.object.geometry.type="Points";let f=this.vertices.length;for(let m=0,C=A.length;m<C;m++){let E=this.parseVertexIndex(A[m],f);this.addVertexPoint(E),this.addColor(E)}},addLineGeometry:function(A,f){this.object.geometry.type="Line";let m=this.vertices.length,C=this.uvs.length;for(let E=0,x=A.length;E<x;E++)this.addVertexLine(this.parseVertexIndex(A[E],m));for(let E=0,x=f.length;E<x;E++)this.addUVLine(this.parseUVIndex(f[E],C))}};return o.startObject("",!1),o}var yvi=class{constructor(){this.updateModel=null,this.successLoad=null,this.materials=null}load(o,A,f,m){this._url=o;let C=this;this.updateModel=A,this.successLoad=f,this.updateMTL=m,Cr.fetch({url:o}).then(E=>{this.path=o,C.parse(E)})}setMaterials(o){return this.materials=o,this}parse(o){let A=new xvi,f=this;o.indexOf(`\r `)!==-1&&(o=o.replace(/\r\n/g,` `)),o.indexOf(`\\ `)!==-1&&(o=o.replace(/\\\n/g,""));let m=o.split(` `),C=[];for(let x=0,y=m.length;x<y;x++){let I=m[x].trimStart();if(I.length===0)continue;let v=I.charAt(0);if(v!=="#"){if(v==="v"){let B=I.split(y8e);switch(B[0]){case"v":A.vertices.push(parseFloat(B[1]),parseFloat(B[2]),parseFloat(B[3])),B.length>=7?(_color.setRGB(parseFloat(B[4]),parseFloat(B[5]),parseFloat(B[6])).convertSRGBToLinear(),A.colors.push(_color.r,_color.g,_color.b)):A.colors.push(void 0,void 0,void 0);break;case"vn":A.normals.push(parseFloat(B[1]),parseFloat(B[2]),parseFloat(B[3]));break;case"vt":A.uvs.push(parseFloat(B[1]),parseFloat(B[2]));break}}else if(v==="f"){let B=I.slice(1).trim().split(y8e),Q=[];for(let w=0,S=B.length;w<S;w++){let D=B[w];if(D.length>0){let R=D.split("/");Q.push(R)}}let T=Q[0];for(let w=1,S=Q.length-1;w<S;w++){let D=Q[w],R=Q[w+1];A.addFace(T[0],D[0],R[0],T[1],D[1],R[1],T[2],D[2],R[2])}}else if(v==="l"){let B=I.substring(1).trim().split(" "),Q=[],T=[];if(I.indexOf("/")===-1)Q=B;else for(let w=0,S=B.length;w<S;w++){let D=B[w].split("/");D[0]!==""&&Q.push(D[0]),D[1]!==""&&T.push(D[1])}A.addLineGeometry(Q,T)}else if(v==="p"){let B=I.slice(1).trim().split(" ");A.addPointGeometry(B)}else if((C=pvi.exec(I))!==null){let B=(" "+C[0].slice(1).trim()).slice(1);A.startObject(B)}else if(Cvi.test(I))A.startObject(I.substring(7).trim()),A.object.startMaterial(I.substring(7).trim(),A.materialLibraries);else if(mvi.test(I)){let B=function(R){f.updateMTL(R.materials)},Q=I.substring(7).trim();A.materialLibraries.push(Q);let T=this._url.split("/");T.pop();let w="";for(var E=0;E<T.length;E++)w+=T[E]+"/";let S=new Ibe,D=`${w+Q}`;S.load(D,B)}else if(Evi.test(I))console.warn('.OBJLoader: Rendering identifier "usemap" not supported. Textures must be defined in MTL files.');else if(v==="s"){if(C=I.split(" "),C.length>1){let Q=C[1].trim().toLowerCase();A.object.smooth=Q!=="0"&&Q!=="off"}else A.object.smooth=!0;let B=A.object.currentMaterial();B&&(B.smooth=A.object.smooth)}}}if(A.finalize(),!(A.objects.length===1&&A.objects[0].geometry.vertices.length===0))for(let x=0,y=A.objects.length;x<y;x++){let I=A.objects[x],v=I.geometry,B=I.materials,Q=v.type==="Line",T=v.type==="Points",w=!1;if(v.vertices.length===0)continue;let S=[];for(let R=0,P=B.length;R<P;R++){let M=B[R],L=A.materials[M.name];L===void 0&&(Q||T||(L={}),L.name=M.name,L.flatShading=!M.smooth,L.vertexColors=w,A.materials[M.name]=L),S.push(L)}x==A.objects.length-1?(f.updateModel({name:I.name,position:v.vertices,normal:v.normals,uv:v.uvs,color:v.colors,materials:S}),A.materialLibraries.length>0?f.successLoad(!0):f.successLoad(!1)):f.updateModel({name:I.name,position:v.vertices,normal:v.normals,uv:v.uvs,color:v.colors,materials:S});let D;if(S.length>1)for(let R=0,P=B.length;R<P;R++){let M=B[R]}}return A}},_be=yvi,Ivi=function(o,A,f){let m=A._raytrace,C=!1,E=!1,x=!1,y=!1,I=!1;var v=A.objects[f]._pickId;v||(v=o.context.createPickId({objectIndex:f,primitive:A,object:A.objects[f]}),A.objects[f]._pickId=v);let B="czm_pickColor";var Q=v.color;if(!A.objects[f].maxRadius){let J=A.objects[f].position,K=0;for(let X=0;X<J.length;X+=3){let q=Z.distanceSquared({x:0,y:0,z:0},{x:J[X],y:J[X+1],z:J[X+2]});K=q>K?q:K}A.objects[f].maxRadius=Math.sqrt(K)*A._scale,A.objects[f]._boundingSphere=new hi(A._originPosition,A.objects[f].maxRadius),A.objects[f].maxRadius>A._maxRadius&&(A._maxRadius=A.objects[f].maxRadius,A._boundingSphere=new hi(A._originPosition,A._maxRadius))}A.objects[f]._modelMatrix||(A.objects[f]._modelMatrix=A._modelMatrix.clone());let T=A.objects[f].materials[0].name,w=(J,K,X,q,ee)=>{J[X]&&(J[q]?ee.value=!0:J[X].onload=function(){J[q]=new Nn({context:o.context,source:J[X],width:J[X].naturalWidth||512,height:J[X].naturalHeight||512,sampler:new Oa({wrapS:Vo.REPEAT,wrapT:Vo.REPEAT})})})};if(A._materials&&A._materials[T]){let J=A._materials[T],K={value:!1},X={value:!1},q={value:!1},ee={value:!1};w(J,"map","map","mapTexture",K),w(J,"specularMap","specularMap","specularTexture",X),w(J,"alphaMap","alphaMap","alphaTexture",q),w(J,"bumpMap","bumpMap","bumpTexture",ee),C=K.value,E=X.value,y=q.value,x=ee.value,J.emissive&&(J.emissive.x>0||J.emissive.y>0||J.emissive.z>0)&&(I=!0)}let S={"objMaterial.diffuse"(){return A._materials&&A._materials[T]&&A._materials[T].color?A._materials[T].color:new Ve(1,1,1)},"objMaterial.specular"(){return A._materials&&A._materials[T]&&A._materials[T].specular?A._materials[T].specular:new Ve(0,0,0)},"objMaterial.shininess"(){return A._materials&&A._materials[T]&&A._materials[T].shininess?A._materials[T].shininess:1},"objMaterial.emissive"(){return A._materials&&A._materials[T]&&A._materials[T].emissive?A._materials[T].emissive:new Ve(0,0,0)},"objMaterial.alpha"(){return A._materials&&A._materials[T]&&A._materials[T].opacity?A._materials[T].opacity:1},diffuseMap(){return A._materials[T].mapTexture},specularMap(){return A._materials[T].specularTexture},bumpMap(){return A._materials[T].bumpTexture},bumpScale(){return A._materials[T].bumpScale},alphaMap(){return A._materials[T].alphaTexture},ambientColor(){return A._ambientColor},sunLightDir(){return A._realTimeLighting?o.context.uniformState.sunPositionWC:A._lightDirection},sunlightColor(){return new Ve(1.5,1.5,1.5,1)},viewDir(){return o.context.uniformState._cameraDirection},[B](){return Q},color(){return A.objects[f]._selectColor?A.objects[f]._selectColor:A._selectColor}},D=Wn.createVertexBuffer({usage:Gr.STATIC_DRAW,typedArray:new Float32Array(A.objects[f].position),context:o.context}),R=Wn.createVertexBuffer({usage:Gr.STATIC_DRAW,typedArray:new Float32Array(A.objects[f].normal),context:o.context}),P=Wn.createVertexBuffer({usage:Gr.STATIC_DRAW,typedArray:new Float32Array(A.objects[f].uv),context:o.context}),M=new hu({context:o.context,attributes:[{index:0,enabled:!0,vertexBuffer:D,componentsPerAttribute:3,normalize:!0,componentDatatype:Ft.FLOAT},{index:1,enabled:!0,vertexBuffer:R,componentsPerAttribute:3,componentDatatype:Ft.FLOAT},{index:2,enabled:!0,componentDatatype:Ft.FLOAT,componentsPerAttribute:2,vertexBuffer:P}]}),L=` layout(location = 0) in vec3 inPosition; layout(location = 1) in vec3 inNormal; layout(location = 2) in vec2 inTexCoord; out vec3 fragPosition; out vec2 fragTexCoord; out vec3 fragNormal; void main() { fragTexCoord = inTexCoord; fragPosition = vec3(czm_model * vec4(inPosition, 1.0)); gl_Position = czm_projection * czm_modelView * vec4( inPosition , 1.0 ); fragNormal = mat3( transpose( inverse(czm_model) ) ) * inNormal; }`,F=` struct Material{ vec3 diffuse; vec3 specular; vec3 emissive;//\u81EA\u53D1\u5149 float shininess;//\u5149\u6CFD\u5EA6 float alpha; }; uniform Material objMaterial; //\u57FA\u7840\u6750\u8D28 uniform sampler2D diffuseMap; //\u6F2B\u53CD\u5C04\u8D34\u56FE uniform sampler2D specularMap; //\u53CD\u5C04\u8D34\u56FE uniform sampler2D bumpMap;//\u6CD5\u7EBF\u8D34\u56FE uniform float bumpScale;//\u6CD5\u7EBF\u500D\u589E uniform sampler2D alphaMap; //\u900F\u660E\u8D34\u56FE uniform vec3 ambientColor; // \u73AF\u5883\u5149 uniform vec3 sunLightDir; // \u592A\u9633\u65B9\u5411 uniform vec3 sunlightColor; // \u592A\u9633\u989C\u8272 uniform vec4 color; //\u53E0\u52A0\u989C\u8272 uniform vec3 viewDir; // \u89C6\u89D2\u65B9\u5411 uniform vec4 ${B}; in vec2 fragTexCoord; // \u6A21\u578B\u7EB9\u7406 in vec3 fragNormal; // \u6A21\u578B\u6CD5\u7EBF in vec3 fragPosition; // \u6A21\u578B\u9876\u70B9 void main(){ ${m?`vec3 lightDir = normalize(sunLightDir); //\u6CD5\u7EBF\u8D34\u56FE ${x?`vec3 normal = texture(bumpMap, fragTexCoord).rgb * 2.0 - 1.0; normal.yz *= -1.0; normal= normalize(normal); `:"vec3 normal = normalize(fragNormal);"} //\u6F2B\u53CD\u5C04---\u5170\u4F2F\u7279\u5149\u7167\u6A21\u578B float diff = max(dot(normal, lightDir),0.0); vec3 diffuse = diff * sunlightColor; //\u53CD\u5C04 vec3 reflectDir = reflect(-lightDir, normal); vec3 viewDirection = normalize(-viewDir); float spec = pow(max(dot(viewDirection, reflectDir), 0.0), 1.0); vec3 specular = sunlightColor * spec; vec3 ambient = vec3(ambientColor); `:` vec3 diffuse = vec3(1.0,1.0,1.0); vec3 specular = vec3(0.0,0.0,0.0); vec3 ambient = vec3(0.0,0.0,0.0); `} ${C?"vec3 diffuseColor = vec3(texture(diffuseMap, fragTexCoord));":"vec3 diffuseColor = objMaterial.diffuse;"} ${E?" specular = specular * vec3(texture(specularMap, fragTexCoord));":"specular = specular * objMaterial.specular;"} diffuse = diffuseColor * diffuse; //\u6700\u7EC8\u989C\u8272 vec3 finalColor = diffuse + specular + ambient * diffuseColor; //finalColor = strPickId; //\u81EA\u53D1\u5149 ${I?"finalColor = objMaterial.emissive;":""} //\u900F\u660E\u8D34\u56FE ${y?"out_FragColor = vec4(finalColor, texture(alphaMap, fragTexCoord).r);":"out_FragColor = vec4(finalColor, objMaterial.alpha);"} out_FragColor *= color; }`,k=qa.fromCache({context:o.context,vertexShaderSource:L,fragmentShaderSource:F,attributeLocations:{position:0,normal:1,uv:2}}),N=Xr.fromCache({depthTest:{enabled:!0}}),G=Yi.OPAQUE;return A._materials&&A._materials[T]&&A._materials[T].transparent===!0&&(G=Yi.TRANSLUCENT),new fn({modelMatrix:A.objects[f]._modelMatrix,vertexArray:M,shaderProgram:k,uniformMap:S,renderState:N,pass:G,receiveShadows:A._receiveShadows,castShadows:A._castShadows,pickId:B,boundingVolume:A.objects[f]._boundingSphere})},Crt=class{constructor(o,A){return this._viewer=A.viewer,this._id=A.id,this._url=A.url,this._type="obj",this._originPosition=A.originPosition,this._modelMatrix=null,this._loadModel=!1,this.objects=[],this._maxRadius=0,this._scale=oe(A.scale,1),this._heading=oe(A.heading,0),this._pitch=oe(A.pitch,0),this._roll=oe(A.roll,0),this._ambientColor=oe(A.ambientColor,new Ve(.2,.2,.2,1)),this._lightDirection=oe(A.lightDirection,new Z(1,1,1)),this._realTimeLighting=oe(A.realTimeLighting,!1),this._show=oe(A.show,!0),this._raytrace=oe(A.raytrace,!0),this._castShadows=oe(A.castShadows,!1),this._receiveShadows=oe(A.receiveShadows,!1),this._selectColor=new Ve(1,1,1,1),this.initialize(),this}update(o){if(this._show&&this._loadModel)for(let A=0;A<this.objects.length;A++){let f=Ivi(o,this,A);o.commandList.push(f)}}destroy(){for(let o=0;o<this.objects.length;o++)this.objects[o].pickId&&(this.objects[o].pickId.destroy(),this.objects[o].pickId=null);this.objects=[],this._materials=null}initialize(){let o=this;if(!this._url||!this._originPosition)return;if(this._fullURL=new URL(this._url,window.location.href),this._fullURL.href){let f=function(E){o.objects.push(E)},m=function(E){E||(o._loadModel=!0)},C=function(E){o._materials=E,o._loadModel=!0};new _be().load(this._fullURL.href,f,m,C)}let A=new bs(Be.toRadians(this._heading),Be.toRadians(this._pitch),Be.toRadians(this._roll+90));this._modelMatrix=kr.headingPitchRollToFixedFrame(this._originPosition,A),this._modelMatrix=Re.multiplyByScale(this._modelMatrix,new Z(this._scale,this._scale,this._scale),this._modelMatrix)}};Object.defineProperties(Crt.prototype,{show:{get:function(){return this._show},set:function(o){this._show=o}}});var One=Crt,p7;typeof ko<"u"&&(p7=ko);(function(){/*! * Knockout JavaScript library v3.5.1 * (c) The Knockout.js team - http://knockoutjs.com/ * License: MIT (http://www.opensource.org/licenses/mit-license.php) */(function(){(function(o){var A=this||(0,eval)("this"),f=A.document,m=A.navigator,C=A.jQuery,E=A.JSON;C||typeof jQuery>"u"||(C=jQuery),function(x){x(A.ko={})}(function(x,y){function I(q,ee){return q===null||typeof q in D?q===ee:!1}function v(q,ee){var ie;return function(){ie||(ie=S.a.setTimeout(function(){ie=o,q()},ee))}}function B(q,ee){var ie;return function(){clearTimeout(ie),ie=S.a.setTimeout(q,ee)}}function Q(q,ee){ee&&ee!=="change"?ee==="beforeChange"?this.pc(q):this.gb(q,ee):this.qc(q)}function T(q,ee){ee!==null&&ee.s&&ee.s()}function w(q,ee){var ie=this.qd,H=ie[F];H.ra||(this.Qb&&this.mb[ee]?(ie.uc(ee,q,this.mb[ee]),this.mb[ee]=null,--this.Qb):H.I[ee]||ie.uc(ee,q,H.J?{da:q}:ie.$c(q)),q.Ja&&q.gd())}var S=typeof x<"u"?x:{};S.b=function(q,ee){for(var ie=q.split("."),H=S,le=0;le<ie.length-1;le++)H=H[ie[le]];H[ie[ie.length-1]]=ee},S.L=function(q,ee,ie){q[ee]=ie},S.version="3.5.1",S.b("version",S.version),S.options={deferUpdates:!1,useOnlyNativeEvents:!1,foreachHidesDestroyed:!1},S.a=function(){function q(Y,z){for(var re in Y)le.call(Y,re)&&z(re,Y[re])}function ee(Y,z){if(z)for(var re in z)le.call(z,re)&&(Y[re]=z[re]);return Y}function ie(Y,z){return Y.__proto__=z,Y}function H(Y,z,re,se){var de=Y[z].match(U)||[];S.a.D(re.match(U),function(me){S.a.Na(de,me,se)}),Y[z]=de.join(" ")}var le=Object.prototype.hasOwnProperty,ue={__proto__:[]}instanceof Array,Ae=typeof Symbol=="function",he={},ge={};he[m&&/Firefox\/2/i.test(m.userAgent)?"KeyboardEvent":"UIEvents"]=["keyup","keydown","keypress"],he.MouseEvents="click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave".split(" "),q(he,function(Y,z){if(z.length)for(var re=0,se=z.length;re<se;re++)ge[z[re]]=Y});var fe={propertychange:!0},ae=f&&function(){for(var Y=3,z=f.createElement("div"),re=z.getElementsByTagName("i");z.innerHTML="<!--[if gt IE "+ ++Y+"]><i></i><![endif]-->",re[0];);return 4<Y?Y:o}(),U=/\S+/g,W;return{Jc:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],D:function(Y,z,re){for(var se=0,de=Y.length;se<de;se++)z.call(re,Y[se],se,Y)},A:typeof Array.prototype.indexOf=="function"?function(Y,z){return Array.prototype.indexOf.call(Y,z)}:function(Y,z){for(var re=0,se=Y.length;re<se;re++)if(Y[re]===z)return re;return-1},Lb:function(Y,z,re){for(var se=0,de=Y.length;se<de;se++)if(z.call(re,Y[se],se,Y))return Y[se];return o},Pa:function(Y,z){var re=S.a.A(Y,z);0<re?Y.splice(re,1):re===0&&Y.shift()},wc:function(Y){var z=[];return Y&&S.a.D(Y,function(re){0>S.a.A(z,re)&&z.push(re)}),z},Mb:function(Y,z,re){var se=[];if(Y)for(var de=0,me=Y.length;de<me;de++)se.push(z.call(re,Y[de],de));return se},jb:function(Y,z,re){var se=[];if(Y)for(var de=0,me=Y.length;de<me;de++)z.call(re,Y[de],de)&&se.push(Y[de]);return se},Nb:function(Y,z){if(z instanceof Array)Y.push.apply(Y,z);else for(var re=0,se=z.length;re<se;re++)Y.push(z[re]);return Y},Na:function(Y,z,re){var se=S.a.A(S.a.bc(Y),z);0>se?re&&Y.push(z):re||Y.splice(se,1)},Ba:ue,extend:ee,setPrototypeOf:ie,Ab:ue?ie:ee,P:q,Ga:function(Y,z,re){if(!Y)return Y;var se={},de;for(de in Y)le.call(Y,de)&&(se[de]=z.call(re,Y[de],de,Y));return se},Tb:function(Y){for(;Y.firstChild;)S.removeNode(Y.firstChild)},Yb:function(Y){Y=S.a.la(Y);for(var z=(Y[0]&&Y[0].ownerDocument||f).createElement("div"),re=0,se=Y.length;re<se;re++)z.appendChild(S.oa(Y[re]));return z},Ca:function(Y,z){for(var re=0,se=Y.length,de=[];re<se;re++){var me=Y[re].cloneNode(!0);de.push(z?S.oa(me):me)}return de},va:function(Y,z){if(S.a.Tb(Y),z)for(var re=0,se=z.length;re<se;re++)Y.appendChild(z[re])},Xc:function(Y,z){var re=Y.nodeType?[Y]:Y;if(0<re.length){for(var se=re[0],de=se.parentNode,me=0,Ce=z.length;me<Ce;me++)de.insertBefore(z[me],se);for(me=0,Ce=re.length;me<Ce;me++)S.removeNode(re[me])}},Ua:function(Y,z){if(Y.length){for(z=z.nodeType===8&&z.parentNode||z;Y.length&&Y[0].parentNode!==z;)Y.splice(0,1);for(;1<Y.length&&Y[Y.length-1].parentNode!==z;)Y.length--;if(1<Y.length){var re=Y[0],se=Y[Y.length-1];for(Y.length=0;re!==se;)Y.push(re),re=re.nextSibling;Y.push(se)}}return Y},Zc:function(Y,z){7>ae?Y.setAttribute("selected",z):Y.selected=z},Db:function(Y){return Y===null||Y===o?"":Y.trim?Y.trim():Y.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},Ud:function(Y,z){return Y=Y||"",z.length>Y.length?!1:Y.substring(0,z.length)===z},vd:function(Y,z){if(Y===z)return!0;if(Y.nodeType===11)return!1;if(z.contains)return z.contains(Y.nodeType!==1?Y.parentNode:Y);if(z.compareDocumentPosition)return(z.compareDocumentPosition(Y)&16)==16;for(;Y&&Y!=z;)Y=Y.parentNode;return!!Y},Sb:function(Y){return S.a.vd(Y,Y.ownerDocument.documentElement)},kd:function(Y){return!!S.a.Lb(Y,S.a.Sb)},R:function(Y){return Y&&Y.tagName&&Y.tagName.toLowerCase()},Ac:function(Y){return S.onError?function(){try{return Y.apply(this,arguments)}catch(z){throw S.onError&&S.onError(z),z}}:Y},setTimeout:function(Y,z){return setTimeout(S.a.Ac(Y),z)},Gc:function(Y){setTimeout(function(){throw S.onError&&S.onError(Y),Y},0)},B:function(Y,z,re){var se=S.a.Ac(re);if(re=fe[z],S.options.useOnlyNativeEvents||re||!C)if(re||typeof Y.addEventListener!="function")if(typeof Y.attachEvent<"u"){var de=function(Ce){se.call(Y,Ce)},me="on"+z;Y.attachEvent(me,de),S.a.K.za(Y,function(){Y.detachEvent(me,de)})}else throw Error("Browser doesn't support addEventListener or attachEvent");else Y.addEventListener(z,se,!1);else W||(W=typeof C(Y).on=="function"?"on":"bind"),C(Y)[W](z,se)},Fb:function(Y,z){if(!Y||!Y.nodeType)throw Error("element must be a DOM node when calling triggerEvent");var re;if(S.a.R(Y)==="input"&&Y.type&&z.toLowerCase()=="click"?(re=Y.type,re=re=="checkbox"||re=="radio"):re=!1,S.options.useOnlyNativeEvents||!C||re)if(typeof f.createEvent=="function")if(typeof Y.dispatchEvent=="function")re=f.createEvent(ge[z]||"HTMLEvents"),re.initEvent(z,!0,!0,A,0,0,0,0,0,!1,!1,!1,!1,0,Y),Y.dispatchEvent(re);else throw Error("The supplied element doesn't support dispatchEvent");else if(re&&Y.click)Y.click();else if(typeof Y.fireEvent<"u")Y.fireEvent("on"+z);else throw Error("Browser doesn't support triggering events");else C(Y).trigger(z)},f:function(Y){return S.O(Y)?Y():Y},bc:function(Y){return S.O(Y)?Y.v():Y},Eb:function(Y,z,re){var se;z&&(typeof Y.classList=="object"?(se=Y.classList[re?"add":"remove"],S.a.D(z.match(U),function(de){se.call(Y.classList,de)})):typeof Y.className.baseVal=="string"?H(Y.className,"baseVal",z,re):H(Y,"className",z,re))},Bb:function(Y,z){var re=S.a.f(z);(re===null||re===o)&&(re="");var se=S.h.firstChild(Y);!se||se.nodeType!=3||S.h.nextSibling(se)?S.h.va(Y,[Y.ownerDocument.createTextNode(re)]):se.data=re,S.a.Ad(Y)},Yc:function(Y,z){if(Y.name=z,7>=ae)try{var re=Y.name.replace(/[&<>'"]/g,function(se){return"&#"+se.charCodeAt(0)+";"});Y.mergeAttributes(f.createElement("<input name='"+re+"'/>"),!1)}catch{}},Ad:function(Y){9<=ae&&(Y=Y.nodeType==1?Y:Y.parentNode,Y.style&&(Y.style.zoom=Y.style.zoom))},wd:function(Y){if(ae){var z=Y.style.width;Y.style.width=0,Y.style.width=z}},Pd:function(Y,z){Y=S.a.f(Y),z=S.a.f(z);for(var re=[],se=Y;se<=z;se++)re.push(se);return re},la:function(Y){for(var z=[],re=0,se=Y.length;re<se;re++)z.push(Y[re]);return z},Da:function(Y){return Ae?Symbol(Y):Y},Zd:ae===6,$d:ae===7,W:ae,Lc:function(Y,z){for(var re=S.a.la(Y.getElementsByTagName("input")).concat(S.a.la(Y.getElementsByTagName("textarea"))),se=typeof z=="string"?function(Ce){return Ce.name===z}:function(Ce){return z.test(Ce.name)},de=[],me=re.length-1;0<=me;me--)se(re[me])&&de.push(re[me]);return de},Nd:function(Y){return typeof Y=="string"&&(Y=S.a.Db(Y))?E&&E.parse?E.parse(Y):new Function("return "+Y)():null},hc:function(Y,z,re){if(!E||!E.stringify)throw Error("Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js");return E.stringify(S.a.f(Y),z,re)},Od:function(Y,z,re){re=re||{};var se=re.params||{},de=re.includeFields||this.Jc,me=Y;if(typeof Y=="object"&&S.a.R(Y)==="form")for(var me=Y.action,Ce=de.length-1;0<=Ce;Ce--)for(var Ie=S.a.Lc(Y,de[Ce]),we=Ie.length-1;0<=we;we--)se[Ie[we].name]=Ie[we].value;z=S.a.f(z);var Te=f.createElement("form");Te.style.display="none",Te.action=me,Te.method="post";for(var Ge in z)Y=f.createElement("input"),Y.type="hidden",Y.name=Ge,Y.value=S.a.hc(S.a.f(z[Ge])),Te.appendChild(Y);q(se,function(ke,Oe){var Le=f.createElement("input");Le.type="hidden",Le.name=ke,Le.value=Oe,Te.appendChild(Le)}),f.body.appendChild(Te),re.submitter?re.submitter(Te):Te.submit(),setTimeout(function(){Te.parentNode.removeChild(Te)},0)}}}(),S.b("utils",S.a),S.b("utils.arrayForEach",S.a.D),S.b("utils.arrayFirst",S.a.Lb),S.b("utils.arrayFilter",S.a.jb),S.b("utils.arrayGetDistinctValues",S.a.wc),S.b("utils.arrayIndexOf",S.a.A),S.b("utils.arrayMap",S.a.Mb),S.b("utils.arrayPushAll",S.a.Nb),S.b("utils.arrayRemoveItem",S.a.Pa),S.b("utils.cloneNodes",S.a.Ca),S.b("utils.createSymbolOrString",S.a.Da),S.b("utils.extend",S.a.extend),S.b("utils.fieldsIncludedWithJsonPost",S.a.Jc),S.b("utils.getFormFields",S.a.Lc),S.b("utils.objectMap",S.a.Ga),S.b("utils.peekObservable",S.a.bc),S.b("utils.postJson",S.a.Od),S.b("utils.parseJson",S.a.Nd),S.b("utils.registerEventHandler",S.a.B),S.b("utils.stringifyJson",S.a.hc),S.b("utils.range",S.a.Pd),S.b("utils.toggleDomNodeCssClass",S.a.Eb),S.b("utils.triggerEvent",S.a.Fb),S.b("utils.unwrapObservable",S.a.f),S.b("utils.objectForEach",S.a.P),S.b("utils.addOrRemoveItem",S.a.Na),S.b("utils.setTextContent",S.a.Bb),S.b("unwrap",S.a.f),Function.prototype.bind||(Function.prototype.bind=function(q){var ee=this;if(arguments.length===1)return function(){return ee.apply(q,arguments)};var ie=Array.prototype.slice.call(arguments,1);return function(){var H=ie.slice(0);return H.push.apply(H,arguments),ee.apply(q,H)}}),S.a.g=new function(){var q=0,ee="__ko__"+new Date().getTime(),ie={},H,le;return S.a.W?(H=function(ue,Ae){var he=ue[ee];if(!he||he==="null"||!ie[he]){if(!Ae)return o;he=ue[ee]="ko"+q++,ie[he]={}}return ie[he]},le=function(ue){var Ae=ue[ee];return Ae?(delete ie[Ae],ue[ee]=null,!0):!1}):(H=function(ue,Ae){var he=ue[ee];return!he&&Ae&&(he=ue[ee]={}),he},le=function(ue){return ue[ee]?(delete ue[ee],!0):!1}),{get:function(ue,Ae){var he=H(ue,!1);return he&&he[Ae]},set:function(ue,Ae,he){(ue=H(ue,he!==o))&&(ue[Ae]=he)},Ub:function(ue,Ae,he){return ue=H(ue,!0),ue[Ae]||(ue[Ae]=he)},clear:le,Z:function(){return q+++ee}}},S.b("utils.domData",S.a.g),S.b("utils.domData.clear",S.a.g.clear),S.a.K=new function(){function q(Ae,he){var ge=S.a.g.get(Ae,H);return ge===o&&he&&(ge=[],S.a.g.set(Ae,H,ge)),ge}function ee(Ae){var he=q(Ae,!1);if(he)for(var he=he.slice(0),ge=0;ge<he.length;ge++)he[ge](Ae);S.a.g.clear(Ae),S.a.K.cleanExternalData(Ae),ue[Ae.nodeType]&&ie(Ae.childNodes,!0)}function ie(Ae,he){for(var ge=[],fe,ae=0;ae<Ae.length;ae++)if((!he||Ae[ae].nodeType===8)&&(ee(ge[ge.length]=fe=Ae[ae]),Ae[ae]!==fe))for(;ae--&&S.a.A(ge,Ae[ae])==-1;);}var H=S.a.g.Z(),le={1:!0,8:!0,9:!0},ue={1:!0,9:!0};return{za:function(Ae,he){if(typeof he!="function")throw Error("Callback must be a function");q(Ae,!0).push(he)},yb:function(Ae,he){var ge=q(Ae,!1);ge&&(S.a.Pa(ge,he),ge.length==0&&S.a.g.set(Ae,H,o))},oa:function(Ae){return S.u.G(function(){le[Ae.nodeType]&&(ee(Ae),ue[Ae.nodeType]&&ie(Ae.getElementsByTagName("*")))}),Ae},removeNode:function(Ae){S.oa(Ae),Ae.parentNode&&Ae.parentNode.removeChild(Ae)},cleanExternalData:function(Ae){C&&typeof C.cleanData=="function"&&C.cleanData([Ae])}}},S.oa=S.a.K.oa,S.removeNode=S.a.K.removeNode,S.b("cleanNode",S.oa),S.b("removeNode",S.removeNode),S.b("utils.domNodeDisposal",S.a.K),S.b("utils.domNodeDisposal.addDisposeCallback",S.a.K.za),S.b("utils.domNodeDisposal.removeDisposeCallback",S.a.K.yb),function(){var q=[0,"",""],ee=[1,"<table>","</table>"],ie=[3,"<table><tbody><tr>","</tr></tbody></table>"],H=[1,"<select multiple='multiple'>","</select>"],le={thead:ee,tbody:ee,tfoot:ee,tr:[2,"<table><tbody>","</tbody></table>"],td:ie,th:ie,option:H,optgroup:H},ue=8>=S.a.W;S.a.ua=function(Ae,he){var ge;if(C){if(C.parseHTML)ge=C.parseHTML(Ae,he)||[];else if((ge=C.clean([Ae],he))&&ge[0]){for(var fe=ge[0];fe.parentNode&&fe.parentNode.nodeType!==11;)fe=fe.parentNode;fe.parentNode&&fe.parentNode.removeChild(fe)}}else{(ge=he)||(ge=f);var fe=ge.parentWindow||ge.defaultView||A,ae=S.a.Db(Ae).toLowerCase(),U=ge.createElement("div"),W;for(W=(ae=ae.match(/^(?:\x3c!--.*?--\x3e\s*?)*?<([a-z]+)[\s>]/))&&le[ae[1]]||q,ae=W[0],W="ignored<div>"+W[1]+Ae+W[2]+"</div>",typeof fe.innerShiv=="function"?U.appendChild(fe.innerShiv(W)):(ue&&ge.body.appendChild(U),U.innerHTML=W,ue&&U.parentNode.removeChild(U));ae--;)U=U.lastChild;ge=S.a.la(U.lastChild.childNodes)}return ge},S.a.Md=function(Ae,he){var ge=S.a.ua(Ae,he);return ge.length&&ge[0].parentElement||S.a.Yb(ge)},S.a.fc=function(Ae,he){if(S.a.Tb(Ae),he=S.a.f(he),he!==null&&he!==o)if(typeof he!="string"&&(he=he.toString()),C)C(Ae).html(he);else for(var ge=S.a.ua(he,Ae.ownerDocument),fe=0;fe<ge.length;fe++)Ae.appendChild(ge[fe])}}(),S.b("utils.parseHtmlFragment",S.a.ua),S.b("utils.setHtml",S.a.fc),S.aa=function(){function q(ie,H){if(ie){if(ie.nodeType==8){var le=S.aa.Uc(ie.nodeValue);le!=null&&H.push({ud:ie,Kd:le})}else if(ie.nodeType==1)for(var le=0,ue=ie.childNodes,Ae=ue.length;le<Ae;le++)q(ue[le],H)}}var ee={};return{Xb:function(ie){if(typeof ie!="function")throw Error("You can only pass a function to ko.memoization.memoize()");var H=(4294967296*(1+Math.random())|0).toString(16).substring(1)+(4294967296*(1+Math.random())|0).toString(16).substring(1);return ee[H]=ie,"<!--[ko_memo:"+H+"]-->"},bd:function(ie,H){var le=ee[ie];if(le===o)throw Error("Couldn't find any memo with ID "+ie+". Perhaps it's already been unmemoized.");try{return le.apply(null,H||[]),!0}finally{delete ee[ie]}},cd:function(ie,H){var le=[];q(ie,le);for(var ue=0,Ae=le.length;ue<Ae;ue++){var he=le[ue].ud,ge=[he];H&&S.a.Nb(ge,H),S.aa.bd(le[ue].Kd,ge),he.nodeValue="",he.parentNode&&he.parentNode.removeChild(he)}},Uc:function(ie){return(ie=ie.match(/^\[ko_memo\:(.*?)\]$/))?ie[1]:null}}}(),S.b("memoization",S.aa),S.b("memoization.memoize",S.aa.Xb),S.b("memoization.unmemoize",S.aa.bd),S.b("memoization.parseMemoText",S.aa.Uc),S.b("memoization.unmemoizeDomNodeAndDescendants",S.aa.cd),S.na=function(){function q(){if(le){for(var he=le,ge=0,fe;Ae<le;)if(fe=H[Ae++]){if(Ae>he){if(5e3<=++ge){Ae=le,S.a.Gc(Error("'Too much recursion' after processing "+ge+" task groups."));break}he=le}try{fe()}catch(ae){S.a.Gc(ae)}}}}function ee(){q(),Ae=le=H.length=0}var ie,H=[],le=0,ue=1,Ae=0;return A.MutationObserver?ie=function(he){var ge=f.createElement("div");return new MutationObserver(he).observe(ge,{attributes:!0}),function(){ge.classList.toggle("foo")}}(ee):ie=f&&"onreadystatechange"in f.createElement("script")?function(he){var ge=f.createElement("script");ge.onreadystatechange=function(){ge.onreadystatechange=null,f.documentElement.removeChild(ge),ge=null,he()},f.documentElement.appendChild(ge)}:function(he){setTimeout(he,0)},{scheduler:ie,zb:function(he){return le||S.na.scheduler(ee),H[le++]=he,ue++},cancel:function(he){he=he-(ue-le),he>=Ae&&he<le&&(H[he]=null)},resetForTesting:function(){var he=le-Ae;return Ae=le=H.length=0,he},Sd:q}}(),S.b("tasks",S.na),S.b("tasks.schedule",S.na.zb),S.b("tasks.runEarly",S.na.Sd),S.Ta={throttle:function(q,ee){q.throttleEvaluation=ee;var ie=null;return S.$({read:q,write:function(H){clearTimeout(ie),ie=S.a.setTimeout(function(){q(H)},ee)}})},rateLimit:function(q,ee){var ie,H,le;typeof ee=="number"?ie=ee:(ie=ee.timeout,H=ee.method),q.Hb=!1,le=typeof H=="function"?H:H=="notifyWhenChangesStop"?B:v,q.ub(function(ue){return le(ue,ie,ee)})},deferred:function(q,ee){if(ee!==!0)throw Error("The 'deferred' extender only accepts the value 'true', because it is not supported to turn deferral off once enabled.");q.Hb||(q.Hb=!0,q.ub(function(ie){var H,le=!1;return function(){if(!le){S.na.cancel(H),H=S.na.zb(ie);try{le=!0,q.notifySubscribers(o,"dirty")}finally{le=!1}}}}))},notify:function(q,ee){q.equalityComparer=ee=="always"?null:I}};var D={undefined:1,boolean:1,number:1,string:1};S.b("extenders",S.Ta),S.ic=function(q,ee,ie){this.da=q,this.lc=ee,this.mc=ie,this.Ib=!1,this.fb=this.Jb=null,S.L(this,"dispose",this.s),S.L(this,"disposeWhenNodeIsRemoved",this.l)},S.ic.prototype.s=function(){this.Ib||(this.fb&&S.a.K.yb(this.Jb,this.fb),this.Ib=!0,this.mc(),this.da=this.lc=this.mc=this.Jb=this.fb=null)},S.ic.prototype.l=function(q){this.Jb=q,S.a.K.za(q,this.fb=this.s.bind(this))},S.T=function(){S.a.Ab(this,R),R.qb(this)};var R={qb:function(q){q.U={change:[]},q.sc=1},subscribe:function(q,ee,ie){var H=this;ie=ie||"change";var le=new S.ic(H,ee?q.bind(ee):q,function(){S.a.Pa(H.U[ie],le),H.hb&&H.hb(ie)});return H.Qa&&H.Qa(ie),H.U[ie]||(H.U[ie]=[]),H.U[ie].push(le),le},notifySubscribers:function(q,ee){if(ee=ee||"change",ee==="change"&&this.Gb(),this.Wa(ee)){var ie=ee==="change"&&this.ed||this.U[ee].slice(0);try{S.u.xc();for(var H=0,le;le=ie[H];++H)le.Ib||le.lc(q)}finally{S.u.end()}}},ob:function(){return this.sc},Dd:function(q){return this.ob()!==q},Gb:function(){++this.sc},ub:function(q){var ee=this,ie=S.O(ee),H,le,ue,Ae,he;ee.gb||(ee.gb=ee.notifySubscribers,ee.notifySubscribers=Q);var ge=q(function(){ee.Ja=!1,ie&&Ae===ee&&(Ae=ee.nc?ee.nc():ee());var fe=le||he&&ee.sb(ue,Ae);he=le=H=!1,fe&&ee.gb(ue=Ae)});ee.qc=function(fe,ae){ae&&ee.Ja||(he=!ae),ee.ed=ee.U.change.slice(0),ee.Ja=H=!0,Ae=fe,ge()},ee.pc=function(fe){H||(ue=fe,ee.gb(fe,"beforeChange"))},ee.rc=function(){he=!0},ee.gd=function(){ee.sb(ue,ee.v(!0))&&(le=!0)}},Wa:function(q){return this.U[q]&&this.U[q].length},Bd:function(q){if(q)return this.U[q]&&this.U[q].length||0;var ee=0;return S.a.P(this.U,function(ie,H){ie!=="dirty"&&(ee+=H.length)}),ee},sb:function(q,ee){return!this.equalityComparer||!this.equalityComparer(q,ee)},toString:function(){return"[object Object]"},extend:function(q){var ee=this;return q&&S.a.P(q,function(ie,H){var le=S.Ta[ie];typeof le=="function"&&(ee=le(ee,H)||ee)}),ee}};S.L(R,"init",R.qb),S.L(R,"subscribe",R.subscribe),S.L(R,"extend",R.extend),S.L(R,"getSubscriptionsCount",R.Bd),S.a.Ba&&S.a.setPrototypeOf(R,Function.prototype),S.T.fn=R,S.Qc=function(q){return q!=null&&typeof q.subscribe=="function"&&typeof q.notifySubscribers=="function"},S.b("subscribable",S.T),S.b("isSubscribable",S.Qc),S.S=S.u=function(){function q(ue){ie.push(H),H=ue}function ee(){H=ie.pop()}var ie=[],H,le=0;return{xc:q,end:ee,cc:function(ue){if(H){if(!S.Qc(ue))throw Error("Only subscribable things can act as dependencies");H.od.call(H.pd,ue,ue.fd||(ue.fd=++le))}},G:function(ue,Ae,he){try{return q(),ue.apply(Ae,he||[])}finally{ee()}},qa:function(){if(H)return H.o.qa()},Va:function(){if(H)return H.o.Va()},Ya:function(){if(H)return H.Ya},o:function(){if(H)return H.o}}}(),S.b("computedContext",S.S),S.b("computedContext.getDependenciesCount",S.S.qa),S.b("computedContext.getDependencies",S.S.Va),S.b("computedContext.isInitial",S.S.Ya),S.b("computedContext.registerDependency",S.S.cc),S.b("ignoreDependencies",S.Yd=S.u.G);var P=S.a.Da("_latestValue");S.ta=function(q){function ee(){return 0<arguments.length?(ee.sb(ee[P],arguments[0])&&(ee.ya(),ee[P]=arguments[0],ee.xa()),this):(S.u.cc(ee),ee[P])}return ee[P]=q,S.a.Ba||S.a.extend(ee,S.T.fn),S.T.fn.qb(ee),S.a.Ab(ee,M),S.options.deferUpdates&&S.Ta.deferred(ee,!0),ee};var M={equalityComparer:I,v:function(){return this[P]},xa:function(){this.notifySubscribers(this[P],"spectate"),this.notifySubscribers(this[P])},ya:function(){this.notifySubscribers(this[P],"beforeChange")}};S.a.Ba&&S.a.setPrototypeOf(M,S.T.fn);var L=S.ta.Ma="__ko_proto__";M[L]=S.ta,S.O=function(q){if((q=typeof q=="function"&&q[L])&&q!==M[L]&&q!==S.o.fn[L])throw Error("Invalid object that looks like an observable; possibly from another Knockout instance");return!!q},S.Za=function(q){return typeof q=="function"&&(q[L]===M[L]||q[L]===S.o.fn[L]&&q.Nc)},S.b("observable",S.ta),S.b("isObservable",S.O),S.b("isWriteableObservable",S.Za),S.b("isWritableObservable",S.Za),S.b("observable.fn",M),S.L(M,"peek",M.v),S.L(M,"valueHasMutated",M.xa),S.L(M,"valueWillMutate",M.ya),S.Ha=function(q){if(q=q||[],typeof q!="object"||!("length"in q))throw Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");return q=S.ta(q),S.a.Ab(q,S.Ha.fn),q.extend({trackArrayChanges:!0})},S.Ha.fn={remove:function(q){for(var ee=this.v(),ie=[],H=typeof q!="function"||S.O(q)?function(Ae){return Ae===q}:q,le=0;le<ee.length;le++){var ue=ee[le];if(H(ue)){if(ie.length===0&&this.ya(),ee[le]!==ue)throw Error("Array modified during remove; cannot remove item");ie.push(ue),ee.splice(le,1),le--}}return ie.length&&this.xa(),ie},removeAll:function(q){if(q===o){var ee=this.v(),ie=ee.slice(0);return this.ya(),ee.splice(0,ee.length),this.xa(),ie}return q?this.remove(function(H){return 0<=S.a.A(q,H)}):[]},destroy:function(q){var ee=this.v(),ie=typeof q!="function"||S.O(q)?function(ue){return ue===q}:q;this.ya();for(var H=ee.length-1;0<=H;H--){var le=ee[H];ie(le)&&(le._destroy=!0)}this.xa()},destroyAll:function(q){return q===o?this.destroy(function(){return!0}):q?this.destroy(function(ee){return 0<=S.a.A(q,ee)}):[]},indexOf:function(q){var ee=this();return S.a.A(ee,q)},replace:function(q,ee){var ie=this.indexOf(q);0<=ie&&(this.ya(),this.v()[ie]=ee,this.xa())},sorted:function(q){var ee=this().slice(0);return q?ee.sort(q):ee.sort()},reversed:function(){return this().slice(0).reverse()}},S.a.Ba&&S.a.setPrototypeOf(S.Ha.fn,S.ta.fn),S.a.D("pop push reverse shift sort splice unshift".split(" "),function(q){S.Ha.fn[q]=function(){var ee=this.v();this.ya(),this.zc(ee,q,arguments);var ie=ee[q].apply(ee,arguments);return this.xa(),ie===ee?this:ie}}),S.a.D(["slice"],function(q){S.Ha.fn[q]=function(){var ee=this();return ee[q].apply(ee,arguments)}}),S.Pc=function(q){return S.O(q)&&typeof q.remove=="function"&&typeof q.push=="function"},S.b("observableArray",S.Ha),S.b("isObservableArray",S.Pc),S.Ta.trackArrayChanges=function(q,ee){function ie(){function U(){if(he){var W=[].concat(q.v()||[]),Y;q.Wa("arrayChange")&&((!le||1<he)&&(le=S.a.Pb(ge,W,q.Ob)),Y=le),ge=W,le=null,he=0,Y&&Y.length&&q.notifySubscribers(Y,"arrayChange")}}H?U():(H=!0,Ae=q.subscribe(function(){++he},null,"spectate"),ge=[].concat(q.v()||[]),le=null,ue=q.subscribe(U))}if(q.Ob={},ee&&typeof ee=="object"&&S.a.extend(q.Ob,ee),q.Ob.sparse=!0,!q.zc){var H=!1,le=null,ue,Ae,he=0,ge,fe=q.Qa,ae=q.hb;q.Qa=function(U){fe&&fe.call(q,U),U==="arrayChange"&&ie()},q.hb=function(U){ae&&ae.call(q,U),U!=="arrayChange"||q.Wa("arrayChange")||(ue&&ue.s(),Ae&&Ae.s(),Ae=ue=null,H=!1,ge=o)},q.zc=function(U,W,Y){function z(Te,Ge,ke){return re[re.length]={status:Te,value:Ge,index:ke}}if(H&&!he){var re=[],se=U.length,de=Y.length,me=0;switch(W){case"push":me=se;case"unshift":for(W=0;W<de;W++)z("added",Y[W],me+W);break;case"pop":me=se-1;case"shift":se&&z("deleted",U[me],me);break;case"splice":W=Math.min(Math.max(0,0>Y[0]?se+Y[0]:Y[0]),se);for(var se=de===1?se:Math.min(W+(Y[1]||0),se),de=W+de-2,me=Math.max(se,de),Ce=[],Ie=[],we=2;W<me;++W,++we)W<se&&Ie.push(z("deleted",U[W],W)),W<de&&Ce.push(z("added",Y[we],W));S.a.Kc(Ie,Ce);break;default:return}le=re}}}};var F=S.a.Da("_state");S.o=S.$=function(q,ee,ie){function H(){if(0<arguments.length){if(typeof le=="function")le.apply(ue.nb,arguments);else throw Error("Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.");return this}return ue.ra||S.u.cc(H),(ue.ka||ue.J&&H.Xa())&&H.ha(),ue.X}if(typeof q=="object"?ie=q:(ie=ie||{},q&&(ie.read=q)),typeof ie.read!="function")throw Error("Pass a function that returns the value of the ko.computed");var le=ie.write,ue={X:o,sa:!0,ka:!0,rb:!1,jc:!1,ra:!1,wb:!1,J:!1,Wc:ie.read,nb:ee||ie.owner,l:ie.disposeWhenNodeIsRemoved||ie.l||null,Sa:ie.disposeWhen||ie.Sa,Rb:null,I:{},V:0,Ic:null};return H[F]=ue,H.Nc=typeof le=="function",S.a.Ba||S.a.extend(H,S.T.fn),S.T.fn.qb(H),S.a.Ab(H,k),ie.pure?(ue.wb=!0,ue.J=!0,S.a.extend(H,N)):ie.deferEvaluation&&S.a.extend(H,G),S.options.deferUpdates&&S.Ta.deferred(H,!0),ue.l&&(ue.jc=!0,ue.l.nodeType||(ue.l=null)),ue.J||ie.deferEvaluation||H.ha(),ue.l&&H.ja()&&S.a.K.za(ue.l,ue.Rb=function(){H.s()}),H};var k={equalityComparer:I,qa:function(){return this[F].V},Va:function(){var q=[];return S.a.P(this[F].I,function(ee,ie){q[ie.Ka]=ie.da}),q},Vb:function(q){if(!this[F].V)return!1;var ee=this.Va();return S.a.A(ee,q)!==-1?!0:!!S.a.Lb(ee,function(ie){return ie.Vb&&ie.Vb(q)})},uc:function(q,ee,ie){if(this[F].wb&&ee===this)throw Error("A 'pure' computed must not be called recursively");this[F].I[q]=ie,ie.Ka=this[F].V++,ie.La=ee.ob()},Xa:function(){var q,ee,ie=this[F].I;for(q in ie)if(Object.prototype.hasOwnProperty.call(ie,q)&&(ee=ie[q],this.Ia&&ee.da.Ja||ee.da.Dd(ee.La)))return!0},Jd:function(){this.Ia&&!this[F].rb&&this.Ia(!1)},ja:function(){var q=this[F];return q.ka||0<q.V},Rd:function(){this.Ja?this[F].ka&&(this[F].sa=!0):this.Hc()},$c:function(q){if(q.Hb){var ee=q.subscribe(this.Jd,this,"dirty"),ie=q.subscribe(this.Rd,this);return{da:q,s:function(){ee.s(),ie.s()}}}return q.subscribe(this.Hc,this)},Hc:function(){var q=this,ee=q.throttleEvaluation;ee&&0<=ee?(clearTimeout(this[F].Ic),this[F].Ic=S.a.setTimeout(function(){q.ha(!0)},ee)):q.Ia?q.Ia(!0):q.ha(!0)},ha:function(q){var ee=this[F],ie=ee.Sa,H=!1;if(!ee.rb&&!ee.ra){if(ee.l&&!S.a.Sb(ee.l)||ie&&ie()){if(!ee.jc){this.s();return}}else ee.jc=!1;ee.rb=!0;try{H=this.zd(q)}finally{ee.rb=!1}return H}},zd:function(q){var ee=this[F],H=!1,ie=ee.wb?o:!ee.V,H={qd:this,mb:ee.I,Qb:ee.V};S.u.xc({pd:H,od:w,o:this,Ya:ie}),ee.I={},ee.V=0;var le=this.yd(ee,H);return ee.V?H=this.sb(ee.X,le):(this.s(),H=!0),H&&(ee.J?this.Gb():this.notifySubscribers(ee.X,"beforeChange"),ee.X=le,this.notifySubscribers(ee.X,"spectate"),!ee.J&&q&&this.notifySubscribers(ee.X),this.rc&&this.rc()),ie&&this.notifySubscribers(ee.X,"awake"),H},yd:function(q,ee){try{var ie=q.Wc;return q.nb?ie.call(q.nb):ie()}finally{S.u.end(),ee.Qb&&!q.J&&S.a.P(ee.mb,T),q.sa=q.ka=!1}},v:function(q){var ee=this[F];return(ee.ka&&(q||!ee.V)||ee.J&&this.Xa())&&this.ha(),ee.X},ub:function(q){S.T.fn.ub.call(this,q),this.nc=function(){return this[F].J||(this[F].sa?this.ha():this[F].ka=!1),this[F].X},this.Ia=function(ee){this.pc(this[F].X),this[F].ka=!0,ee&&(this[F].sa=!0),this.qc(this,!ee)}},s:function(){var q=this[F];!q.J&&q.I&&S.a.P(q.I,function(ee,ie){ie.s&&ie.s()}),q.l&&q.Rb&&S.a.K.yb(q.l,q.Rb),q.I=o,q.V=0,q.ra=!0,q.sa=!1,q.ka=!1,q.J=!1,q.l=o,q.Sa=o,q.Wc=o,this.Nc||(q.nb=o)}},N={Qa:function(q){var ee=this,ie=ee[F];if(!ie.ra&&ie.J&&q=="change"){if(ie.J=!1,ie.sa||ee.Xa())ie.I=null,ie.V=0,ee.ha()&&ee.Gb();else{var H=[];S.a.P(ie.I,function(le,ue){H[ue.Ka]=le}),S.a.D(H,function(le,ue){var Ae=ie.I[le],he=ee.$c(Ae.da);he.Ka=ue,he.La=Ae.La,ie.I[le]=he}),ee.Xa()&&ee.ha()&&ee.Gb()}ie.ra||ee.notifySubscribers(ie.X,"awake")}},hb:function(q){var ee=this[F];ee.ra||q!="change"||this.Wa("change")||(S.a.P(ee.I,function(ie,H){H.s&&(ee.I[ie]={da:H.da,Ka:H.Ka,La:H.La},H.s())}),ee.J=!0,this.notifySubscribers(o,"asleep"))},ob:function(){var q=this[F];return q.J&&(q.sa||this.Xa())&&this.ha(),S.T.fn.ob.call(this)}},G={Qa:function(q){q!="change"&&q!="beforeChange"||this.v()}};S.a.Ba&&S.a.setPrototypeOf(k,S.T.fn);var J=S.ta.Ma;k[J]=S.o,S.Oc=function(q){return typeof q=="function"&&q[J]===k[J]},S.Fd=function(q){return S.Oc(q)&&q[F]&&q[F].wb},S.b("computed",S.o),S.b("dependentObservable",S.o),S.b("isComputed",S.Oc),S.b("isPureComputed",S.Fd),S.b("computed.fn",k),S.L(k,"peek",k.v),S.L(k,"dispose",k.s),S.L(k,"isActive",k.ja),S.L(k,"getDependenciesCount",k.qa),S.L(k,"getDependencies",k.Va),S.xb=function(q,ee){return typeof q=="function"?S.o(q,ee,{pure:!0}):(q=S.a.extend({},q),q.pure=!0,S.o(q,ee))},S.b("pureComputed",S.xb),function(){function q(H,le,ue){if(ue=ue||new ie,H=le(H),typeof H!="object"||H===null||H===o||H instanceof RegExp||H instanceof Date||H instanceof String||H instanceof Number||H instanceof Boolean)return H;var Ae=H instanceof Array?[]:{};return ue.save(H,Ae),ee(H,function(he){var ge=le(H[he]);switch(typeof ge){case"boolean":case"number":case"string":case"function":Ae[he]=ge;break;case"object":case"undefined":var fe=ue.get(ge);Ae[he]=fe!==o?fe:q(ge,le,ue)}}),Ae}function ee(H,le){if(H instanceof Array){for(var ue=0;ue<H.length;ue++)le(ue);typeof H.toJSON=="function"&&le("toJSON")}else for(ue in H)le(ue)}function ie(){this.keys=[],this.values=[]}S.ad=function(H){if(arguments.length==0)throw Error("When calling ko.toJS, pass the object you want to convert.");return q(H,function(le){for(var ue=0;S.O(le)&&10>ue;ue++)le=le();return le})},S.toJSON=function(H,le,ue){return H=S.ad(H),S.a.hc(H,le,ue)},ie.prototype={constructor:ie,save:function(H,le){var ue=S.a.A(this.keys,H);0<=ue?this.values[ue]=le:(this.keys.push(H),this.values.push(le))},get:function(H){return H=S.a.A(this.keys,H),0<=H?this.values[H]:o}}}(),S.b("toJS",S.ad),S.b("toJSON",S.toJSON),S.Wd=function(q,ee,ie){function H(le){var ue=S.xb(q,ie).extend({ma:"always"}),Ae=ue.subscribe(function(he){he&&(Ae.s(),le(he))});return ue.notifySubscribers(ue.v()),Ae}return typeof Promise!="function"||ee?H(ee.bind(ie)):new Promise(H)},S.b("when",S.Wd),function(){S.w={M:function(q){switch(S.a.R(q)){case"option":return q.__ko__hasDomDataOptionValue__===!0?S.a.g.get(q,S.c.options.$b):7>=S.a.W?q.getAttributeNode("value")&&q.getAttributeNode("value").specified?q.value:q.text:q.value;case"select":return 0<=q.selectedIndex?S.w.M(q.options[q.selectedIndex]):o;default:return q.value}},cb:function(q,ee,ie){switch(S.a.R(q)){case"option":typeof ee=="string"?(S.a.g.set(q,S.c.options.$b,o),"__ko__hasDomDataOptionValue__"in q&&delete q.__ko__hasDomDataOptionValue__,q.value=ee):(S.a.g.set(q,S.c.options.$b,ee),q.__ko__hasDomDataOptionValue__=!0,q.value=typeof ee=="number"?ee:"");break;case"select":(ee===""||ee===null)&&(ee=o);for(var H=-1,le=0,ue=q.options.length,Ae;le<ue;++le)if(Ae=S.w.M(q.options[le]),Ae==ee||Ae===""&&ee===o){H=le;break}(ie||0<=H||ee===o&&1<q.size)&&(q.selectedIndex=H,S.a.W===6&&S.a.setTimeout(function(){q.selectedIndex=H},0));break;default:(ee===null||ee===o)&&(ee=""),q.value=ee}}}}(),S.b("selectExtensions",S.w),S.b("selectExtensions.readValue",S.w.M),S.b("selectExtensions.writeValue",S.w.cb),S.m=function(){function q(he){he=S.a.Db(he),he.charCodeAt(0)===123&&(he=he.slice(1,-1)),he+=` ,`;var ge=[],fe=he.match(H),ae,U=[],W=0;if(1<fe.length){for(var Y=0,z;z=fe[Y];++Y){var re=z.charCodeAt(0);if(re===44){if(0>=W){ge.push(ae&&U.length?{key:ae,value:U.join("")}:{unknown:ae||U.join("")}),ae=W=0,U=[];continue}}else if(re===58){if(!W&&!ae&&U.length===1){ae=U.pop();continue}}else{if(re===47&&1<z.length&&(z.charCodeAt(1)===47||z.charCodeAt(1)===42))continue;re===47&&Y&&1<z.length?(re=fe[Y-1].match(le))&&!ue[re[0]]&&(he=he.substr(he.indexOf(z)+1),fe=he.match(H),Y=-1,z="/"):re===40||re===123||re===91?++W:re===41||re===125||re===93?--W:ae||U.length||re!==34&&re!==39||(z=z.slice(1,-1))}U.push(z)}if(0<W)throw Error("Unbalanced parentheses, braces, or brackets")}return ge}var ee=["true","false","null","undefined"],ie=/^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i,H=RegExp(`"(?:\\\\.|[^"])*"|'(?:\\\\.|[^'])*'|\`(?:\\\\.|[^\`])*\`|/\\*(?:[^*]|\\*+[^*/])*\\*+/|//.* |/(?:\\\\.|[^/])+/w*|[^\\s:,/][^,"'\`{}()/:[\\]]*[^\\s,"'\`{}()/:[\\]]|[^\\s]`,"g"),le=/[\])"'A-Za-z0-9_$]+$/,ue={in:1,return:1,typeof:1},Ae={};return{Ra:[],wa:Ae,ac:q,vb:function(he,ge){function fe(re,se){var de;if(!Y){var me=S.getBindingHandler(re);if(me&&me.preprocess&&!(se=me.preprocess(se,re,fe)))return;(me=Ae[re])&&(de=se,0<=S.a.A(ee,de)?de=!1:(me=de.match(ie),de=me===null?!1:me[1]?"Object("+me[1]+")"+me[2]:de),me=de),me&&U.push("'"+(typeof Ae[re]=="string"?Ae[re]:re)+"':function(_z){"+de+"=_z}")}W&&(se="function(){return "+se+" }"),ae.push("'"+re+"':"+se)}ge=ge||{};var ae=[],U=[],W=ge.valueAccessors,Y=ge.bindingParams,z=typeof he=="string"?q(he):he;return S.a.D(z,function(re){fe(re.key||re.unknown,re.value)}),U.length&&fe("_ko_property_writers","{"+U.join(",")+" }"),ae.join(",")},Id:function(he,ge){for(var fe=0;fe<he.length;fe++)if(he[fe].key==ge)return!0;return!1},eb:function(he,ge,fe,ae,U){he&&S.O(he)?!S.Za(he)||U&&he.v()===ae||he(ae):(he=ge.get("_ko_property_writers"))&&he[fe]&&he[fe](ae)}}}(),S.b("expressionRewriting",S.m),S.b("expressionRewriting.bindingRewriteValidators",S.m.Ra),S.b("expressionRewriting.parseObjectLiteral",S.m.ac),S.b("expressionRewriting.preProcessBindings",S.m.vb),S.b("expressionRewriting._twoWayBindings",S.m.wa),S.b("jsonExpressionRewriting",S.m),S.b("jsonExpressionRewriting.insertPropertyAccessorsIntoJson",S.m.vb),function(){function q(fe){return fe.nodeType==8&&ue.test(le?fe.text:fe.nodeValue)}function ee(fe){return fe.nodeType==8&&Ae.test(le?fe.text:fe.nodeValue)}function ie(fe,ae){for(var U=fe,W=1,Y=[];U=U.nextSibling;){if(ee(U)&&(S.a.g.set(U,ge,!0),W--,W===0))return Y;Y.push(U),q(U)&&W++}if(!ae)throw Error("Cannot find closing comment tag to match: "+fe.nodeValue);return null}function H(fe,ae){var U=ie(fe,ae);return U?0<U.length?U[U.length-1].nextSibling:fe.nextSibling:null}var le=f&&f.createComment("test").text==="<!--test-->",ue=le?/^\x3c!--\s*ko(?:\s+([\s\S]+))?\s*--\x3e$/:/^\s*ko(?:\s+([\s\S]+))?\s*$/,Ae=le?/^\x3c!--\s*\/ko\s*--\x3e$/:/^\s*\/ko\s*$/,he={ul:!0,ol:!0},ge="__ko_matchedEndComment__";S.h={ea:{},childNodes:function(fe){return q(fe)?ie(fe):fe.childNodes},Ea:function(fe){if(q(fe)){fe=S.h.childNodes(fe);for(var ae=0,U=fe.length;ae<U;ae++)S.removeNode(fe[ae])}else S.a.Tb(fe)},va:function(fe,ae){if(q(fe)){S.h.Ea(fe);for(var U=fe.nextSibling,W=0,Y=ae.length;W<Y;W++)U.parentNode.insertBefore(ae[W],U)}else S.a.va(fe,ae)},Vc:function(fe,ae){var U;q(fe)?(U=fe.nextSibling,fe=fe.parentNode):U=fe.firstChild,U?ae!==U&&fe.insertBefore(ae,U):fe.appendChild(ae)},Wb:function(fe,ae,U){U?(U=U.nextSibling,q(fe)&&(fe=fe.parentNode),U?ae!==U&&fe.insertBefore(ae,U):fe.appendChild(ae)):S.h.Vc(fe,ae)},firstChild:function(fe){if(q(fe))return!fe.nextSibling||ee(fe.nextSibling)?null:fe.nextSibling;if(fe.firstChild&&ee(fe.firstChild))throw Error("Found invalid end comment, as the first child of "+fe);return fe.firstChild},nextSibling:function(fe){if(q(fe)&&(fe=H(fe)),fe.nextSibling&&ee(fe.nextSibling)){var ae=fe.nextSibling;if(ee(ae)&&!S.a.g.get(ae,ge))throw Error("Found end comment without a matching opening comment, as child of "+fe);return null}return fe.nextSibling},Cd:q,Vd:function(fe){return(fe=(le?fe.text:fe.nodeValue).match(ue))?fe[1]:null},Sc:function(fe){if(he[S.a.R(fe)]){var ae=fe.firstChild;if(ae)do if(ae.nodeType===1){var U;U=ae.firstChild;var W=null;if(U)do if(W)W.push(U);else if(q(U)){var Y=H(U,!0);Y?U=Y:W=[U]}else ee(U)&&(W=[U]);while(U=U.nextSibling);if(U=W)for(W=ae.nextSibling,Y=0;Y<U.length;Y++)W?fe.insertBefore(U[Y],W):fe.appendChild(U[Y])}while(ae=ae.nextSibling)}}}}(),S.b("virtualElements",S.h),S.b("virtualElements.allowedBindings",S.h.ea),S.b("virtualElements.emptyNode",S.h.Ea),S.b("virtualElements.insertAfter",S.h.Wb),S.b("virtualElements.prepend",S.h.Vc),S.b("virtualElements.setDomNodeChildren",S.h.va),function(){S.ga=function(){this.nd={}},S.a.extend(S.ga.prototype,{nodeHasBindings:function(q){switch(q.nodeType){case 1:return q.getAttribute("data-bind")!=null||S.j.getComponentNameForNode(q);case 8:return S.h.Cd(q);default:return!1}},getBindings:function(q,ee){var ie=this.getBindingsString(q,ee),ie=ie?this.parseBindingsString(ie,ee,q):null;return S.j.tc(ie,q,ee,!1)},getBindingAccessors:function(q,ee){var ie=this.getBindingsString(q,ee),ie=ie?this.parseBindingsString(ie,ee,q,{valueAccessors:!0}):null;return S.j.tc(ie,q,ee,!0)},getBindingsString:function(q){switch(q.nodeType){case 1:return q.getAttribute("data-bind");case 8:return S.h.Vd(q);default:return null}},parseBindingsString:function(q,ee,ie,H){try{var le=this.nd,ue=q+(H&&H.valueAccessors||""),Ae;if(!(Ae=le[ue])){var he,ge="with($context){with($data||{}){return{"+S.m.vb(q,H)+"}}}";he=new Function("$context","$element",ge),Ae=le[ue]=he}return Ae(ee,ie)}catch(fe){throw fe.message=`Unable to parse bindings. Bindings value: `+q+` Message: `+fe.message,fe}}}),S.ga.instance=new S.ga}(),S.b("bindingProvider",S.ga),function(){function q(me){var Ce=(me=S.a.g.get(me,de))&&me.N;Ce&&(me.N=null,Ce.Tc())}function ee(me,Ce,Ie){this.node=me,this.yc=Ce,this.kb=[],this.H=!1,Ce.N||S.a.K.za(me,q),Ie&&Ie.N&&(Ie.N.kb.push(me),this.Kb=Ie)}function ie(me){return function(){return me}}function H(me){return me()}function le(me){return S.a.Ga(S.u.G(me),function(Ce,Ie){return function(){return me()[Ie]}})}function ue(me,Ce,Ie){return typeof me=="function"?le(me.bind(null,Ce,Ie)):S.a.Ga(me,ie)}function Ae(me,Ce){return le(this.getBindings.bind(this,me,Ce))}function he(me,Ce){var Ie=S.h.firstChild(Ce);if(Ie){var we,Te=S.ga.instance,Ge=Te.preprocessNode;if(Ge){for(;we=Ie;)Ie=S.h.nextSibling(we),Ge.call(Te,we);Ie=S.h.firstChild(Ce)}for(;we=Ie;)Ie=S.h.nextSibling(we),ge(me,we)}S.i.ma(Ce,S.i.H)}function ge(me,Ce){var Ie=me,we=Ce.nodeType===1;we&&S.h.Sc(Ce),(we||S.ga.instance.nodeHasBindings(Ce))&&(Ie=ae(Ce,null,me).bindingContextForDescendants),Ie&&!re[S.a.R(Ce)]&&he(Ie,Ce)}function fe(me){var Ce=[],Ie={},we=[];return S.a.P(me,function Te(Ge){if(!Ie[Ge]){var ke=S.getBindingHandler(Ge);ke&&(ke.after&&(we.push(Ge),S.a.D(ke.after,function(Oe){if(me[Oe]){if(S.a.A(we,Oe)!==-1)throw Error("Cannot combine the following bindings, because they have a cyclic dependency: "+we.join(", "));Te(Oe)}}),we.length--),Ce.push({key:Ge,Mc:ke})),Ie[Ge]=!0}}),Ce}function ae(me,Ce,Ie){var we=S.a.g.Ub(me,de,{}),Te=we.hd;if(!Ce){if(Te)throw Error("You cannot apply bindings multiple times to the same element.");we.hd=!0}Te||(we.context=Ie),we.Zb||(we.Zb={});var Ge;if(Ce&&typeof Ce!="function")Ge=Ce;else{var ke=S.ga.instance,Oe=ke.getBindingAccessors||Ae,Le=S.$(function(){return(Ge=Ce?Ce(Ie,me):Oe.call(ke,me,Ie))&&(Ie[W]&&Ie[W](),Ie[z]&&Ie[z]()),Ge},null,{l:me});Ge&&Le.ja()||(Le=null)}var be=Ie,Ne;if(Ge){var Ue=function(){return S.a.Ga(Le?Le():Ge,H)},ze=Le?function(Je){return function(){return H(Le()[Je])}}:function(Je){return Ge[Je]};Ue.get=function(Je){return Ge[Je]&&H(ze(Je))},Ue.has=function(Je){return Je in Ge},S.i.H in Ge&&S.i.subscribe(me,S.i.H,function(){var Je=(0,Ge[S.i.H])();if(Je){var Xe=S.h.childNodes(me);Xe.length&&Je(Xe,S.Ec(Xe[0]))}}),S.i.pa in Ge&&(be=S.i.Cb(me,Ie),S.i.subscribe(me,S.i.pa,function(){var Je=(0,Ge[S.i.pa])();Je&&S.h.firstChild(me)&&Je(me)})),we=fe(Ge),S.a.D(we,function(Je){var Xe=Je.Mc.init,et=Je.Mc.update,ot=Je.key;if(me.nodeType===8&&!S.h.ea[ot])throw Error("The binding '"+ot+"' cannot be used with virtual elements");try{typeof Xe=="function"&&S.u.G(function(){var Et=Xe(me,ze(ot),Ue,be.$data,be);if(Et&&Et.controlsDescendantBindings){if(Ne!==o)throw Error("Multiple bindings ("+Ne+" and "+ot+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.");Ne=ot}}),typeof et=="function"&&S.$(function(){et(me,ze(ot),Ue,be.$data,be)},null,{l:me})}catch(Et){throw Et.message='Unable to process binding "'+ot+": "+Ge[ot]+`" Message: `+Et.message,Et}})}return we=Ne===o,{shouldBindDescendants:we,bindingContextForDescendants:we&&be}}function U(me,Ce){return me&&me instanceof S.fa?me:new S.fa(me,o,o,Ce)}var W=S.a.Da("_subscribable"),Y=S.a.Da("_ancestorBindingInfo"),z=S.a.Da("_dataDependency");S.c={};var re={script:!0,textarea:!0,template:!0};S.getBindingHandler=function(me){return S.c[me]};var se={};S.fa=function(me,Ce,Ie,we,Te){function Ge(){var ze=be?Le():Le,Je=S.a.f(ze);return Ce?(S.a.extend(ke,Ce),Y in Ce&&(ke[Y]=Ce[Y])):(ke.$parents=[],ke.$root=Je,ke.ko=S),ke[W]=Ne,Oe?Je=ke.$data:(ke.$rawData=ze,ke.$data=Je),Ie&&(ke[Ie]=Je),we&&we(ke,Ce,Je),Ce&&Ce[W]&&!S.S.o().Vb(Ce[W])&&Ce[W](),Ue&&(ke[z]=Ue),ke.$data}var ke=this,Oe=me===se,Le=Oe?o:me,be=typeof Le=="function"&&!S.O(Le),Ne,Ue=Te&&Te.dataDependency;Te&&Te.exportDependencies?Ge():(Ne=S.xb(Ge),Ne.v(),Ne.ja()?Ne.equalityComparer=null:ke[W]=o)},S.fa.prototype.createChildContext=function(me,Ce,Ie,we){if(!we&&Ce&&typeof Ce=="object"&&(we=Ce,Ce=we.as,Ie=we.extend),Ce&&we&&we.noChildContext){var Te=typeof me=="function"&&!S.O(me);return new S.fa(se,this,null,function(Ge){Ie&&Ie(Ge),Ge[Ce]=Te?me():me},we)}return new S.fa(me,this,Ce,function(Ge,ke){Ge.$parentContext=ke,Ge.$parent=ke.$data,Ge.$parents=(ke.$parents||[]).slice(0),Ge.$parents.unshift(Ge.$parent),Ie&&Ie(Ge)},we)},S.fa.prototype.extend=function(me,Ce){return new S.fa(se,this,null,function(Ie){S.a.extend(Ie,typeof me=="function"?me(Ie):me)},Ce)};var de=S.a.g.Z();ee.prototype.Tc=function(){this.Kb&&this.Kb.N&&this.Kb.N.sd(this.node)},ee.prototype.sd=function(me){S.a.Pa(this.kb,me),!this.kb.length&&this.H&&this.Cc()},ee.prototype.Cc=function(){this.H=!0,this.yc.N&&!this.kb.length&&(this.yc.N=null,S.a.K.yb(this.node,q),S.i.ma(this.node,S.i.pa),this.Tc())},S.i={H:"childrenComplete",pa:"descendantsComplete",subscribe:function(me,Ce,Ie,we,Te){var Ge=S.a.g.Ub(me,de,{});return Ge.Fa||(Ge.Fa=new S.T),Te&&Te.notifyImmediately&&Ge.Zb[Ce]&&S.u.G(Ie,we,[me]),Ge.Fa.subscribe(Ie,we,Ce)},ma:function(me,Ce){var Ie=S.a.g.get(me,de);if(Ie&&(Ie.Zb[Ce]=!0,Ie.Fa&&Ie.Fa.notifySubscribers(me,Ce),Ce==S.i.H)){if(Ie.N)Ie.N.Cc();else if(Ie.N===o&&Ie.Fa&&Ie.Fa.Wa(S.i.pa))throw Error("descendantsComplete event not supported for bindings on this node")}},Cb:function(me,Ce){var Ie=S.a.g.Ub(me,de,{});return Ie.N||(Ie.N=new ee(me,Ie,Ce[Y])),Ce[Y]==Ie?Ce:Ce.extend(function(we){we[Y]=Ie})}},S.Td=function(me){return(me=S.a.g.get(me,de))&&me.context},S.ib=function(me,Ce,Ie){return me.nodeType===1&&S.h.Sc(me),ae(me,Ce,U(Ie))},S.ld=function(me,Ce,Ie){return Ie=U(Ie),S.ib(me,ue(Ce,Ie,me),Ie)},S.Oa=function(me,Ce){Ce.nodeType!==1&&Ce.nodeType!==8||he(U(me),Ce)},S.vc=function(me,Ce,Ie){if(!C&&A.jQuery&&(C=A.jQuery),2>arguments.length){if(Ce=f.body,!Ce)throw Error("ko.applyBindings: could not find document.body; has the document been loaded?")}else if(!Ce||Ce.nodeType!==1&&Ce.nodeType!==8)throw Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node");ge(U(me,Ie),Ce)},S.Dc=function(me){return!me||me.nodeType!==1&&me.nodeType!==8?o:S.Td(me)},S.Ec=function(me){return(me=S.Dc(me))?me.$data:o},S.b("bindingHandlers",S.c),S.b("bindingEvent",S.i),S.b("bindingEvent.subscribe",S.i.subscribe),S.b("bindingEvent.startPossiblyAsyncContentBinding",S.i.Cb),S.b("applyBindings",S.vc),S.b("applyBindingsToDescendants",S.Oa),S.b("applyBindingAccessorsToNode",S.ib),S.b("applyBindingsToNode",S.ld),S.b("contextFor",S.Dc),S.b("dataFor",S.Ec)}(),function(q){function ee(Ae,he){var ge=Object.prototype.hasOwnProperty.call(le,Ae)?le[Ae]:q,fe;ge?ge.subscribe(he):(ge=le[Ae]=new S.T,ge.subscribe(he),ie(Ae,function(ae,U){var W=!(!U||!U.synchronous);ue[Ae]={definition:ae,Gd:W},delete le[Ae],fe||W?ge.notifySubscribers(ae):S.na.zb(function(){ge.notifySubscribers(ae)})}),fe=!0)}function ie(Ae,he){H("getConfig",[Ae],function(ge){ge?H("loadComponent",[Ae,ge],function(fe){he(fe,ge)}):he(null,null)})}function H(Ae,he,ge,fe){fe||(fe=S.j.loaders.slice(0));var ae=fe.shift();if(ae){var U=ae[Ae];if(U){var W=!1;if(U.apply(ae,he.concat(function(Y){W?ge(null):Y!==null?ge(Y):H(Ae,he,ge,fe)}))!==q&&(W=!0,!ae.suppressLoaderExceptions))throw Error("Component loaders must supply values by invoking the callback, not by returning values synchronously.")}else H(Ae,he,ge,fe)}else ge(null)}var le={},ue={};S.j={get:function(Ae,he){var ge=Object.prototype.hasOwnProperty.call(ue,Ae)?ue[Ae]:q;ge?ge.Gd?S.u.G(function(){he(ge.definition)}):S.na.zb(function(){he(ge.definition)}):ee(Ae,he)},Bc:function(Ae){delete ue[Ae]},oc:H},S.j.loaders=[],S.b("components",S.j),S.b("components.get",S.j.get),S.b("components.clearCachedDefinition",S.j.Bc)}(),function(){function q(ge,fe,ae,U){function W(){--z===0&&U(Y)}var Y={},z=2,re=ae.template;ae=ae.viewModel,re?le(fe,re,function(se){S.j.oc("loadTemplate",[ge,se],function(de){Y.template=de,W()})}):W(),ae?le(fe,ae,function(se){S.j.oc("loadViewModel",[ge,se],function(de){Y[he]=de,W()})}):W()}function ee(ge,fe,ae){if(typeof fe=="function")ae(function(W){return new fe(W)});else if(typeof fe[he]=="function")ae(fe[he]);else if("instance"in fe){var U=fe.instance;ae(function(){return U})}else"viewModel"in fe?ee(ge,fe.viewModel,ae):ge("Unknown viewModel value: "+fe)}function ie(ge){switch(S.a.R(ge)){case"script":return S.a.ua(ge.text);case"textarea":return S.a.ua(ge.value);case"template":if(H(ge.content))return S.a.Ca(ge.content.childNodes)}return S.a.Ca(ge.childNodes)}function H(ge){return A.DocumentFragment?ge instanceof DocumentFragment:ge&&ge.nodeType===11}function le(ge,fe,ae){typeof fe.require=="string"?y||A.require?(y||A.require)([fe.require],function(U){U&&typeof U=="object"&&U.Xd&&U.default&&(U=U.default),ae(U)}):ge("Uses require, but no AMD loader is present"):ae(fe)}function ue(ge){return function(fe){throw Error("Component '"+ge+"': "+fe)}}var Ae={};S.j.register=function(ge,fe){if(!fe)throw Error("Invalid configuration for "+ge);if(S.j.tb(ge))throw Error("Component "+ge+" is already registered");Ae[ge]=fe},S.j.tb=function(ge){return Object.prototype.hasOwnProperty.call(Ae,ge)},S.j.unregister=function(ge){delete Ae[ge],S.j.Bc(ge)},S.j.Fc={getConfig:function(ge,fe){fe(S.j.tb(ge)?Ae[ge]:null)},loadComponent:function(ge,fe,ae){var U=ue(ge);le(U,fe,function(W){q(ge,U,W,ae)})},loadTemplate:function(ge,fe,ae){if(ge=ue(ge),typeof fe=="string")ae(S.a.ua(fe));else if(fe instanceof Array)ae(fe);else if(H(fe))ae(S.a.la(fe.childNodes));else if(fe.element)if(fe=fe.element,A.HTMLElement?fe instanceof HTMLElement:fe&&fe.tagName&&fe.nodeType===1)ae(ie(fe));else if(typeof fe=="string"){var U=f.getElementById(fe);U?ae(ie(U)):ge("Cannot find element with ID "+fe)}else ge("Unknown element type: "+fe);else ge("Unknown template value: "+fe)},loadViewModel:function(ge,fe,ae){ee(ue(ge),fe,ae)}};var he="createViewModel";S.b("components.register",S.j.register),S.b("components.isRegistered",S.j.tb),S.b("components.unregister",S.j.unregister),S.b("components.defaultLoader",S.j.Fc),S.j.loaders.push(S.j.Fc),S.j.dd=Ae}(),function(){function q(ie,H){var le=ie.getAttribute("params");if(le){var le=ee.parseBindingsString(le,H,ie,{valueAccessors:!0,bindingParams:!0}),le=S.a.Ga(le,function(he){return S.o(he,null,{l:ie})}),ue=S.a.Ga(le,function(he){var ge=he.v();return he.ja()?S.o({read:function(){return S.a.f(he())},write:S.Za(ge)&&function(fe){he()(fe)},l:ie}):ge});return Object.prototype.hasOwnProperty.call(ue,"$raw")||(ue.$raw=le),ue}return{$raw:{}}}S.j.getComponentNameForNode=function(ie){var H=S.a.R(ie);if(S.j.tb(H)&&(H.indexOf("-")!=-1||""+ie=="[object HTMLUnknownElement]"||8>=S.a.W&&ie.tagName===H))return H},S.j.tc=function(ie,H,le,ue){if(H.nodeType===1){var Ae=S.j.getComponentNameForNode(H);if(Ae){if(ie=ie||{},ie.component)throw Error('Cannot use the "component" binding on a custom element matching a component');var he={name:Ae,params:q(H,le)};ie.component=ue?function(){return he}:he}}return ie};var ee=new S.ga;9>S.a.W&&(S.j.register=function(ie){return function(H){return ie.apply(this,arguments)}}(S.j.register),f.createDocumentFragment=function(ie){return function(){var H=ie(),le=S.j.dd,ue;for(ue in le);return H}}(f.createDocumentFragment))}(),function(){function q(H,le,ue){if(le=le.template,!le)throw Error("Component '"+H+"' has no template");H=S.a.Ca(le),S.h.va(ue,H)}function ee(H,le,ue){var Ae=H.createViewModel;return Ae?Ae.call(H,le,ue):le}var ie=0;S.c.component={init:function(H,le,ue,Ae,he){function ge(){var Y=fe&&fe.dispose;typeof Y=="function"&&Y.call(fe),U&&U.s(),ae=fe=U=null}var fe,ae,U,W=S.a.la(S.h.childNodes(H));return S.h.Ea(H),S.a.K.za(H,ge),S.o(function(){var Y=S.a.f(le()),z,re;if(typeof Y=="string"?z=Y:(z=S.a.f(Y.name),re=S.a.f(Y.params)),!z)throw Error("No component name specified");var se=S.i.Cb(H,he),de=ae=++ie;S.j.get(z,function(me){if(ae===de){if(ge(),!me)throw Error("Unknown component '"+z+"'");q(z,me,H);var Ce=ee(me,re,{element:H,templateNodes:W});me=se.createChildContext(Ce,{extend:function(Ie){Ie.$component=Ce,Ie.$componentTemplateNodes=W}}),Ce&&Ce.koDescendantsComplete&&(U=S.i.subscribe(H,S.i.pa,Ce.koDescendantsComplete,Ce)),fe=Ce,S.Oa(me,H)}})},null,{l:H}),{controlsDescendantBindings:!0}}},S.h.ea.component=!0}();var K={class:"className",for:"htmlFor"};S.c.attr={update:function(q,ee){var ie=S.a.f(ee())||{};S.a.P(ie,function(H,le){le=S.a.f(le);var ue=H.indexOf(":"),ue="lookupNamespaceURI"in q&&0<ue&&q.lookupNamespaceURI(H.substr(0,ue)),Ae=le===!1||le===null||le===o;Ae?ue?q.removeAttributeNS(ue,H):q.removeAttribute(H):le=le.toString(),8>=S.a.W&&H in K?(H=K[H],Ae?q.removeAttribute(H):q[H]=le):Ae||(ue?q.setAttributeNS(ue,H,le):q.setAttribute(H,le)),H==="name"&&S.a.Yc(q,Ae?"":le)})}},function(){S.c.checked={after:["value","attr"],init:function(q,ee,ie){function H(){var Y=q.checked,z=ue();if(!S.S.Ya()&&(Y||!he&&!S.S.qa())){var re=S.u.G(ee);if(fe){var se=ae?re.v():re,de=W;W=z,de!==z?Y&&(S.a.Na(se,z,!0),S.a.Na(se,de,!1)):S.a.Na(se,z,Y),ae&&S.Za(re)&&re(se)}else Ae&&(z===o?z=Y:Y||(z=o)),S.m.eb(re,ie,"checked",z,!0)}}function le(){var Y=S.a.f(ee()),z=ue();fe?(q.checked=0<=S.a.A(Y,z),W=z):q.checked=Ae&&z===o?!!Y:ue()===Y}var ue=S.xb(function(){if(ie.has("checkedValue"))return S.a.f(ie.get("checkedValue"));if(U)return ie.has("value")?S.a.f(ie.get("value")):q.value}),Ae=q.type=="checkbox",he=q.type=="radio";if(Ae||he){var ge=ee(),fe=Ae&&S.a.f(ge)instanceof Array,ae=!(fe&&ge.push&&ge.splice),U=he||fe,W=fe?ue():o;he&&!q.name&&S.c.uniqueName.init(q,function(){return!0}),S.o(H,null,{l:q}),S.a.B(q,"click",H),S.o(le,null,{l:q}),ge=o}}},S.m.wa.checked=!0,S.c.checkedValue={update:function(q,ee){q.value=S.a.f(ee())}}}(),S.c.class={update:function(q,ee){var ie=S.a.Db(S.a.f(ee()));S.a.Eb(q,q.__ko__cssValue,!1),q.__ko__cssValue=ie,S.a.Eb(q,ie,!0)}},S.c.css={update:function(q,ee){var ie=S.a.f(ee());ie!==null&&typeof ie=="object"?S.a.P(ie,function(H,le){le=S.a.f(le),S.a.Eb(q,H,le)}):S.c.class.update(q,ee)}},S.c.enable={update:function(q,ee){var ie=S.a.f(ee());ie&&q.disabled?q.removeAttribute("disabled"):ie||q.disabled||(q.disabled=!0)}},S.c.disable={update:function(q,ee){S.c.enable.update(q,function(){return!S.a.f(ee())})}},S.c.event={init:function(q,ee,ie,H,le){var ue=ee()||{};S.a.P(ue,function(Ae){typeof Ae=="string"&&S.a.B(q,Ae,function(he){var ge,fe=ee()[Ae];if(fe){try{var ae=S.a.la(arguments);H=le.$data,ae.unshift(H),ge=fe.apply(H,ae)}finally{ge!==!0&&(he.preventDefault?he.preventDefault():he.returnValue=!1)}ie.get(Ae+"Bubble")===!1&&(he.cancelBubble=!0,he.stopPropagation&&he.stopPropagation())}})})}},S.c.foreach={Rc:function(q){return function(){var ee=q(),ie=S.a.bc(ee);return!ie||typeof ie.length=="number"?{foreach:ee,templateEngine:S.ba.Ma}:(S.a.f(ee),{foreach:ie.data,as:ie.as,noChildContext:ie.noChildContext,includeDestroyed:ie.includeDestroyed,afterAdd:ie.afterAdd,beforeRemove:ie.beforeRemove,afterRender:ie.afterRender,beforeMove:ie.beforeMove,afterMove:ie.afterMove,templateEngine:S.ba.Ma})}},init:function(q,ee){return S.c.template.init(q,S.c.foreach.Rc(ee))},update:function(q,ee,ie,H,le){return S.c.template.update(q,S.c.foreach.Rc(ee),ie,H,le)}},S.m.Ra.foreach=!1,S.h.ea.foreach=!0,S.c.hasfocus={init:function(q,ee,ie){function H(Ae){q.__ko_hasfocusUpdating=!0;var he=q.ownerDocument;if("activeElement"in he){var ge;try{ge=he.activeElement}catch{ge=he.body}Ae=ge===q}he=ee(),S.m.eb(he,ie,"hasfocus",Ae,!0),q.__ko_hasfocusLastValue=Ae,q.__ko_hasfocusUpdating=!1}var le=H.bind(null,!0),ue=H.bind(null,!1);S.a.B(q,"focus",le),S.a.B(q,"focusin",le),S.a.B(q,"blur",ue),S.a.B(q,"focusout",ue),q.__ko_hasfocusLastValue=!1},update:function(q,ee){var ie=!!S.a.f(ee());q.__ko_hasfocusUpdating||q.__ko_hasfocusLastValue===ie||(ie?q.focus():q.blur(),!ie&&q.__ko_hasfocusLastValue&&q.ownerDocument.body.focus(),S.u.G(S.a.Fb,null,[q,ie?"focusin":"focusout"]))}},S.m.wa.hasfocus=!0,S.c.hasFocus=S.c.hasfocus,S.m.wa.hasFocus="hasfocus",S.c.html={init:function(){return{controlsDescendantBindings:!0}},update:function(q,ee){S.a.fc(q,ee())}},function(){function q(ee,ie,H){S.c[ee]={init:function(le,ue,Ae,he,ge){var fe,ae,U={},W,Y,z;if(ie){he=Ae.get("as");var re=Ae.get("noChildContext");z=!(he&&re),U={as:he,noChildContext:re,exportDependencies:z}}return Y=(W=Ae.get("completeOn")=="render")||Ae.has(S.i.pa),S.o(function(){var se=S.a.f(ue()),de=!H!=!se,me=!ae,Ce;(z||de!==fe)&&(Y&&(ge=S.i.Cb(le,ge)),de&&((!ie||z)&&(U.dataDependency=S.S.o()),Ce=ie?ge.createChildContext(typeof se=="function"?se:ue,U):S.S.qa()?ge.extend(null,U):ge),me&&S.S.qa()&&(ae=S.a.Ca(S.h.childNodes(le),!0)),de?(me||S.h.va(le,S.a.Ca(ae)),S.Oa(Ce,le)):(S.h.Ea(le),W||S.i.ma(le,S.i.H)),fe=de)},null,{l:le}),{controlsDescendantBindings:!0}}},S.m.Ra[ee]=!1,S.h.ea[ee]=!0}q("if"),q("ifnot",!1,!0),q("with",!0)}(),S.c.let={init:function(q,ee,ie,H,le){return ee=le.extend(ee),S.Oa(ee,q),{controlsDescendantBindings:!0}}},S.h.ea.let=!0;var X={};S.c.options={init:function(q){if(S.a.R(q)!=="select")throw Error("options binding applies only to SELECT elements");for(;0<q.length;)q.remove(0);return{controlsDescendantBindings:!0}},update:function(q,ee,ie){function H(){return S.a.jb(q.options,function(re){return re.selected})}function le(re,se,de){var me=typeof se;return me=="function"?se(re):me=="string"?re[se]:de}function ue(re,se){if(Y&&fe)S.i.ma(q,S.i.H);else if(W.length){var de=0<=S.a.A(W,S.w.M(se[0]));S.a.Zc(se[0],de),Y&&!de&&S.u.G(S.a.Fb,null,[q,"change"])}}var Ae=q.multiple,he=q.length!=0&&Ae?q.scrollTop:null,ge=S.a.f(ee()),fe=ie.get("valueAllowUnset")&&ie.has("value"),ae=ie.get("optionsIncludeDestroyed");ee={};var U,W=[];fe||(Ae?W=S.a.Mb(H(),S.w.M):0<=q.selectedIndex&&W.push(S.w.M(q.options[q.selectedIndex]))),ge&&(typeof ge.length>"u"&&(ge=[ge]),U=S.a.jb(ge,function(re){return ae||re===o||re===null||!S.a.f(re._destroy)}),ie.has("optionsCaption")&&(ge=S.a.f(ie.get("optionsCaption")),ge!==null&&ge!==o&&U.unshift(X)));var Y=!1;if(ee.beforeRemove=function(re){q.removeChild(re)},ge=ue,ie.has("optionsAfterRender")&&typeof ie.get("optionsAfterRender")=="function"&&(ge=function(re,se){ue(0,se),S.u.G(ie.get("optionsAfterRender"),null,[se[0],re!==X?re:o])}),S.a.ec(q,U,function(re,se,de){return de.length&&(W=!fe&&de[0].selected?[S.w.M(de[0])]:[],Y=!0),se=q.ownerDocument.createElement("option"),re===X?(S.a.Bb(se,ie.get("optionsCaption")),S.w.cb(se,o)):(de=le(re,ie.get("optionsValue"),re),S.w.cb(se,S.a.f(de)),re=le(re,ie.get("optionsText"),de),S.a.Bb(se,re)),[se]},ee,ge),!fe){var z;Ae?z=W.length&&H().length<W.length:z=W.length&&0<=q.selectedIndex?S.w.M(q.options[q.selectedIndex])!==W[0]:W.length||0<=q.selectedIndex,z&&S.u.G(S.a.Fb,null,[q,"change"])}(fe||S.S.Ya())&&S.i.ma(q,S.i.H),S.a.wd(q),he&&20<Math.abs(he-q.scrollTop)&&(q.scrollTop=he)}},S.c.options.$b=S.a.g.Z(),S.c.selectedOptions={init:function(q,ee,ie){function H(){var Ae=ee(),he=[];S.a.D(q.getElementsByTagName("option"),function(ge){ge.selected&&he.push(S.w.M(ge))}),S.m.eb(Ae,ie,"selectedOptions",he)}function le(){var Ae=S.a.f(ee()),he=q.scrollTop;Ae&&typeof Ae.length=="number"&&S.a.D(q.getElementsByTagName("option"),function(ge){var fe=0<=S.a.A(Ae,S.w.M(ge));ge.selected!=fe&&S.a.Zc(ge,fe)}),q.scrollTop=he}if(S.a.R(q)!="select")throw Error("selectedOptions binding applies only to SELECT elements");var ue;S.i.subscribe(q,S.i.H,function(){ue?H():(S.a.B(q,"change",H),ue=S.o(le,null,{l:q}))},null,{notifyImmediately:!0})},update:function(){}},S.m.wa.selectedOptions=!0,S.c.style={update:function(q,ee){var ie=S.a.f(ee()||{});S.a.P(ie,function(H,le){if(le=S.a.f(le),(le===null||le===o||le===!1)&&(le=""),C)C(q).css(H,le);else if(/^--/.test(H))q.style.setProperty(H,le);else{H=H.replace(/-(\w)/g,function(Ae,he){return he.toUpperCase()});var ue=q.style[H];q.style[H]=le,le===ue||q.style[H]!=ue||isNaN(le)||(q.style[H]=le+"px")}})}},S.c.submit={init:function(q,ee,ie,H,le){if(typeof ee()!="function")throw Error("The value for a submit binding must be a function");S.a.B(q,"submit",function(ue){var Ae,he=ee();try{Ae=he.call(le.$data,q)}finally{Ae!==!0&&(ue.preventDefault?ue.preventDefault():ue.returnValue=!1)}})}},S.c.text={init:function(){return{controlsDescendantBindings:!0}},update:function(q,ee){S.a.Bb(q,ee())}},S.h.ea.text=!0,function(){if(A&&A.navigator){var q=function(U){if(U)return parseFloat(U[1])},ee=A.navigator.userAgent,ie,H,le,ue,Ae;(ie=A.opera&&A.opera.version&&parseInt(A.opera.version()))||(Ae=q(ee.match(/Edge\/([^ ]+)$/)))||q(ee.match(/Chrome\/([^ ]+)/))||(H=q(ee.match(/Version\/([^ ]+) Safari/)))||(le=q(ee.match(/Firefox\/([^ ]+)/)))||(ue=S.a.W||q(ee.match(/MSIE ([^ ]+)/)))||(ue=q(ee.match(/rv:([^ )]+)/)))}if(8<=ue&&10>ue)var he=S.a.g.Z(),ge=S.a.g.Z(),fe=function(U){var W=this.activeElement;(W=W&&S.a.g.get(W,ge))&&W(U)},ae=function(U,W){var Y=U.ownerDocument;S.a.g.get(Y,he)||(S.a.g.set(Y,he,!0),S.a.B(Y,"selectionchange",fe)),S.a.g.set(U,ge,W)};S.c.textInput={init:function(U,W,Y){function z(Ge,ke){S.a.B(U,Ge,ke)}function re(){var Ge=S.a.f(W());(Ge===null||Ge===o)&&(Ge=""),Ie!==o&&Ge===Ie?S.a.setTimeout(re,4):U.value!==Ge&&(Te=!0,U.value=Ge,Te=!1,me=U.value)}function se(){Ce||(Ie=U.value,Ce=S.a.setTimeout(de,4))}function de(){clearTimeout(Ce),Ie=Ce=o;var Ge=U.value;me!==Ge&&(me=Ge,S.m.eb(W(),Y,"textInput",Ge))}var me=U.value,Ce,Ie,we=S.a.W==9?se:de,Te=!1;ue&&z("keypress",de),11>ue&&z("propertychange",function(Ge){Te||Ge.propertyName!=="value"||we(Ge)}),ue==8&&(z("keyup",de),z("keydown",de)),ae&&(ae(U,we),z("dragend",se)),(!ue||9<=ue)&&z("input",we),5>H&&S.a.R(U)==="textarea"?(z("keydown",se),z("paste",se),z("cut",se)):11>ie?z("keydown",se):4>le?(z("DOMAutoComplete",de),z("dragdrop",de),z("drop",de)):Ae&&U.type==="number"&&z("keydown",se),z("change",de),z("blur",de),S.o(re,null,{l:U})}},S.m.wa.textInput=!0,S.c.textinput={preprocess:function(U,W,Y){Y("textInput",U)}}}(),S.c.uniqueName={init:function(q,ee){if(ee()){var ie="ko_unique_"+ ++S.c.uniqueName.rd;S.a.Yc(q,ie)}}},S.c.uniqueName.rd=0,S.c.using={init:function(q,ee,ie,H,le){var ue;return ie.has("as")&&(ue={as:ie.get("as"),noChildContext:ie.get("noChildContext")}),ee=le.createChildContext(ee,ue),S.Oa(ee,q),{controlsDescendantBindings:!0}}},S.h.ea.using=!0,S.c.value={init:function(q,ee,ie){var H=S.a.R(q),le=H=="input";if(!le||q.type!="checkbox"&&q.type!="radio"){var ue=[],Ae=ie.get("valueUpdate"),he=!1,ge=null;Ae&&(typeof Ae=="string"?ue=[Ae]:ue=S.a.wc(Ae),S.a.Pa(ue,"change"));var fe=function(){ge=null,he=!1;var W=ee(),Y=S.w.M(q);S.m.eb(W,ie,"value",Y)};!S.a.W||!le||q.type!="text"||q.autocomplete=="off"||q.form&&q.form.autocomplete=="off"||S.a.A(ue,"propertychange")!=-1||(S.a.B(q,"propertychange",function(){he=!0}),S.a.B(q,"focus",function(){he=!1}),S.a.B(q,"blur",function(){he&&fe()})),S.a.D(ue,function(W){var Y=fe;S.a.Ud(W,"after")&&(Y=function(){ge=S.w.M(q),S.a.setTimeout(fe,0)},W=W.substring(5)),S.a.B(q,W,Y)});var ae;if(ae=le&&q.type=="file"?function(){var W=S.a.f(ee());W===null||W===o||W===""?q.value="":S.u.G(fe)}:function(){var W=S.a.f(ee()),Y=S.w.M(q);ge!==null&&W===ge?S.a.setTimeout(ae,0):(W!==Y||Y===o)&&(H==="select"?(Y=ie.get("valueAllowUnset"),S.w.cb(q,W,Y),Y||W===S.w.M(q)||S.u.G(fe)):S.w.cb(q,W))},H==="select"){var U;S.i.subscribe(q,S.i.H,function(){U?ie.get("valueAllowUnset")?ae():fe():(S.a.B(q,"change",fe),U=S.o(ae,null,{l:q}))},null,{notifyImmediately:!0})}else S.a.B(q,"change",fe),S.o(ae,null,{l:q})}else S.ib(q,{checkedValue:ee})},update:function(){}},S.m.wa.value=!0,S.c.visible={update:function(q,ee){var ie=S.a.f(ee()),H=q.style.display!="none";ie&&!H?q.style.display="":!ie&&H&&(q.style.display="none")}},S.c.hidden={update:function(q,ee){S.c.visible.update(q,function(){return!S.a.f(ee())})}},function(q){S.c[q]={init:function(ee,ie,H,le,ue){return S.c.event.init.call(this,ee,function(){var Ae={};return Ae[q]=ie(),Ae},H,le,ue)}}}("click"),S.ca=function(){},S.ca.prototype.renderTemplateSource=function(){throw Error("Override renderTemplateSource")},S.ca.prototype.createJavaScriptEvaluatorBlock=function(){throw Error("Override createJavaScriptEvaluatorBlock")},S.ca.prototype.makeTemplateSource=function(q,ee){if(typeof q=="string"){ee=ee||f;var ie=ee.getElementById(q);if(!ie)throw Error("Cannot find template with ID "+q);return new S.C.F(ie)}if(q.nodeType==1||q.nodeType==8)return new S.C.ia(q);throw Error("Unknown template type: "+q)},S.ca.prototype.renderTemplate=function(q,ee,ie,H){return q=this.makeTemplateSource(q,H),this.renderTemplateSource(q,ee,ie,H)},S.ca.prototype.isTemplateRewritten=function(q,ee){return this.allowTemplateRewriting===!1?!0:this.makeTemplateSource(q,ee).data("isRewritten")},S.ca.prototype.rewriteTemplate=function(q,ee,ie){q=this.makeTemplateSource(q,ie),ee=ee(q.text()),q.text(ee),q.data("isRewritten",!0)},S.b("templateEngine",S.ca),S.kc=function(){function q(H,le,ue,Ae){H=S.m.ac(H);for(var he=S.m.Ra,ge=0;ge<H.length;ge++){var fe=H[ge].key;if(Object.prototype.hasOwnProperty.call(he,fe)){var ae=he[fe];if(typeof ae=="function"){if(fe=ae(H[ge].value))throw Error(fe)}else if(!ae)throw Error("This template engine does not support the '"+fe+"' binding within its templates")}}return ue="ko.__tr_ambtns(function($context,$element){return(function(){return{ "+S.m.vb(H,{valueAccessors:!0})+" } })()},'"+ue.toLowerCase()+"')",Ae.createJavaScriptEvaluatorBlock(ue)+le}var ee=/(<([a-z]+\d*)(?:\s+(?!data-bind\s*=\s*)[a-z0-9\-]+(?:=(?:\"[^\"]*\"|\'[^\']*\'|[^>]*))?)*\s+)data-bind\s*=\s*(["'])([\s\S]*?)\3/gi,ie=/\x3c!--\s*ko\b\s*([\s\S]*?)\s*--\x3e/g;return{xd:function(H,le,ue){le.isTemplateRewritten(H,ue)||le.rewriteTemplate(H,function(Ae){return S.kc.Ld(Ae,le)},ue)},Ld:function(H,le){return H.replace(ee,function(ue,Ae,he,ge,fe){return q(fe,Ae,he,le)}).replace(ie,function(ue,Ae){return q(Ae,"<!-- ko -->","#comment",le)})},md:function(H,le){return S.aa.Xb(function(ue,Ae){var he=ue.nextSibling;he&&he.nodeName.toLowerCase()===le&&S.ib(he,H,Ae)})}}}(),S.b("__tr_ambtns",S.kc.md),function(){S.C={},S.C.F=function(ie){if(this.F=ie){var H=S.a.R(ie);this.ab=H==="script"?1:H==="textarea"?2:H=="template"&&ie.content&&ie.content.nodeType===11?3:4}},S.C.F.prototype.text=function(){var ie=this.ab===1?"text":this.ab===2?"value":"innerHTML";if(arguments.length==0)return this.F[ie];var H=arguments[0];ie==="innerHTML"?S.a.fc(this.F,H):this.F[ie]=H};var q=S.a.g.Z()+"_";S.C.F.prototype.data=function(ie){if(arguments.length===1)return S.a.g.get(this.F,q+ie);S.a.g.set(this.F,q+ie,arguments[1])};var ee=S.a.g.Z();S.C.F.prototype.nodes=function(){var ie=this.F;if(arguments.length==0){var H=S.a.g.get(ie,ee)||{},le=H.lb||(this.ab===3?ie.content:this.ab===4?ie:o);if(!le||H.jd){var ue=this.text();ue&&ue!==H.bb&&(le=S.a.Md(ue,ie.ownerDocument),S.a.g.set(ie,ee,{lb:le,bb:ue,jd:!0}))}return le}H=arguments[0],this.ab!==o&&this.text(""),S.a.g.set(ie,ee,{lb:H})},S.C.ia=function(ie){this.F=ie},S.C.ia.prototype=new S.C.F,S.C.ia.prototype.constructor=S.C.ia,S.C.ia.prototype.text=function(){if(arguments.length==0){var ie=S.a.g.get(this.F,ee)||{};return ie.bb===o&&ie.lb&&(ie.bb=ie.lb.innerHTML),ie.bb}S.a.g.set(this.F,ee,{bb:arguments[0]})},S.b("templateSources",S.C),S.b("templateSources.domElement",S.C.F),S.b("templateSources.anonymousTemplate",S.C.ia)}(),function(){function q(ge,fe,ae){var U;for(fe=S.h.nextSibling(fe);ge&&(U=ge)!==fe;)ge=S.h.nextSibling(U),ae(U,ge)}function ee(ge,fe){if(ge.length){var ae=ge[0],U=ge[ge.length-1],W=ae.parentNode,Y=S.ga.instance,z=Y.preprocessNode;if(z){if(q(ae,U,function(re,se){var de=re.previousSibling,me=z.call(Y,re);me&&(re===ae&&(ae=me[0]||se),re===U&&(U=me[me.length-1]||de))}),ge.length=0,!ae)return;ae===U?ge.push(ae):(ge.push(ae,U),S.a.Ua(ge,W))}q(ae,U,function(re){re.nodeType!==1&&re.nodeType!==8||S.vc(fe,re)}),q(ae,U,function(re){re.nodeType!==1&&re.nodeType!==8||S.aa.cd(re,[fe])}),S.a.Ua(ge,W)}}function ie(ge){return ge.nodeType?ge:0<ge.length?ge[0]:null}function H(ge,fe,ae,U,W){W=W||{};var Y=(ge&&ie(ge)||ae||{}).ownerDocument,z=W.templateEngine||ue;if(S.kc.xd(ae,z,Y),ae=z.renderTemplate(ae,U,W,Y),typeof ae.length!="number"||0<ae.length&&typeof ae[0].nodeType!="number")throw Error("Template engine must return an array of DOM nodes");switch(Y=!1,fe){case"replaceChildren":S.h.va(ge,ae),Y=!0;break;case"replaceNode":S.a.Xc(ge,ae),Y=!0;break;case"ignoreTargetNode":break;default:throw Error("Unknown renderMode: "+fe)}return Y&&(ee(ae,U),W.afterRender&&S.u.G(W.afterRender,null,[ae,U[W.as||"$data"]]),fe=="replaceChildren"&&S.i.ma(ge,S.i.H)),ae}function le(ge,fe,ae){return S.O(ge)?ge():typeof ge=="function"?ge(fe,ae):ge}var ue;S.gc=function(ge){if(ge!=o&&!(ge instanceof S.ca))throw Error("templateEngine must inherit from ko.templateEngine");ue=ge},S.dc=function(ge,fe,ae,U,W){if(ae=ae||{},(ae.templateEngine||ue)==o)throw Error("Set a template engine before calling renderTemplate");if(W=W||"replaceChildren",U){var Y=ie(U);return S.$(function(){var re=fe&&fe instanceof S.fa?fe:new S.fa(fe,null,null,null,{exportDependencies:!0}),z=le(ge,re.$data,re),re=H(U,W,z,re,ae);W=="replaceNode"&&(U=re,Y=ie(U))},null,{Sa:function(){return!Y||!S.a.Sb(Y)},l:Y&&W=="replaceNode"?Y.parentNode:Y})}return S.aa.Xb(function(z){S.dc(ge,fe,ae,z,"replaceNode")})},S.Qd=function(ge,fe,ae,U,W){function Y(Ie,we){S.u.G(S.a.ec,null,[U,Ie,re,ae,z,we]),S.i.ma(U,S.i.H)}function z(Ie,we){ee(we,se),ae.afterRender&&ae.afterRender(we,Ie),se=null}function re(Ie,we){se=W.createChildContext(Ie,{as:de,noChildContext:ae.noChildContext,extend:function(Ge){Ge.$index=we,de&&(Ge[de+"Index"]=we)}});var Te=le(ge,Ie,se);return H(U,"ignoreTargetNode",Te,se,ae)}var se,de=ae.as,me=ae.includeDestroyed===!1||S.options.foreachHidesDestroyed&&!ae.includeDestroyed;if(me||ae.beforeRemove||!S.Pc(fe))return S.$(function(){var Ie=S.a.f(fe)||[];typeof Ie.length>"u"&&(Ie=[Ie]),me&&(Ie=S.a.jb(Ie,function(we){return we===o||we===null||!S.a.f(we._destroy)})),Y(Ie)},null,{l:U});Y(fe.v());var Ce=fe.subscribe(function(Ie){Y(fe(),Ie)},null,"arrayChange");return Ce.l(U),Ce};var Ae=S.a.g.Z(),he=S.a.g.Z();S.c.template={init:function(ge,fe){var ae=S.a.f(fe());if(typeof ae=="string"||"name"in ae)S.h.Ea(ge);else if("nodes"in ae){if(ae=ae.nodes||[],S.O(ae))throw Error('The "nodes" option must be a plain, non-observable array.');var U=ae[0]&&ae[0].parentNode;U&&S.a.g.get(U,he)||(U=S.a.Yb(ae),S.a.g.set(U,he,!0)),new S.C.ia(ge).nodes(U)}else if(ae=S.h.childNodes(ge),0<ae.length)U=S.a.Yb(ae),new S.C.ia(ge).nodes(U);else throw Error("Anonymous template defined, but no template content was provided");return{controlsDescendantBindings:!0}},update:function(ge,fe,ae,U,W){var Y=fe();fe=S.a.f(Y),ae=!0,U=null,typeof fe=="string"?fe={}:(Y="name"in fe?fe.name:ge,"if"in fe&&(ae=S.a.f(fe.if)),ae&&"ifnot"in fe&&(ae=!S.a.f(fe.ifnot)),ae&&!Y&&(ae=!1)),"foreach"in fe?U=S.Qd(Y,ae&&fe.foreach||[],fe,ge,W):ae?(ae=W,"data"in fe&&(ae=W.createChildContext(fe.data,{as:fe.as,noChildContext:fe.noChildContext,exportDependencies:!0})),U=S.dc(Y,ae,fe,ge)):S.h.Ea(ge),W=U,(fe=S.a.g.get(ge,Ae))&&typeof fe.s=="function"&&fe.s(),S.a.g.set(ge,Ae,!W||W.ja&&!W.ja()?o:W)}},S.m.Ra.template=function(ge){return ge=S.m.ac(ge),ge.length==1&&ge[0].unknown||S.m.Id(ge,"name")?null:"This template engine does not support anonymous templates nested within its templates"},S.h.ea.template=!0}(),S.b("setTemplateEngine",S.gc),S.b("renderTemplate",S.dc),S.a.Kc=function(q,ee,ie){if(q.length&&ee.length){var H,le,ue,Ae,he;for(H=le=0;(!ie||H<ie)&&(Ae=q[le]);++le){for(ue=0;he=ee[ue];++ue)if(Ae.value===he.value){Ae.moved=he.index,he.moved=Ae.index,ee.splice(ue,1),H=ue=0;break}H+=ue}}},S.a.Pb=function(){function q(ee,ie,H,le,ue){var Ae=Math.min,he=Math.max,ge=[],fe,ae=ee.length,U,W=ie.length,Y=W-ae||1,z=ae+W+1,re,se,de;for(fe=0;fe<=ae;fe++)for(se=re,ge.push(re=[]),de=Ae(W,fe+Y),U=he(0,fe-1);U<=de;U++)re[U]=U?fe?ee[fe-1]===ie[U-1]?se[U-1]:Ae(se[U]||z,re[U-1]||z)+1:U+1:fe+1;for(Ae=[],he=[],Y=[],fe=ae,U=W;fe||U;)W=ge[fe][U]-1,U&&W===ge[fe][U-1]?he.push(Ae[Ae.length]={status:H,value:ie[--U],index:U}):fe&&W===ge[fe-1][U]?Y.push(Ae[Ae.length]={status:le,value:ee[--fe],index:fe}):(--U,--fe,ue.sparse||Ae.push({status:"retained",value:ie[U]}));return S.a.Kc(Y,he,!ue.dontLimitMoves&&10*ae),Ae.reverse()}return function(ee,ie,H){return H=typeof H=="boolean"?{dontLimitMoves:H}:H||{},ee=ee||[],ie=ie||[],ee.length<ie.length?q(ee,ie,"added","deleted",H):q(ie,ee,"deleted","added",H)}}(),S.b("utils.compareArrays",S.a.Pb),function(){function q(H,le,ue,Ae,he){var ge=[],fe=S.$(function(){var ae=le(ue,he,S.a.Ua(ge,H))||[];0<ge.length&&(S.a.Xc(ge,ae),Ae&&S.u.G(Ae,null,[ue,ae,he])),ge.length=0,S.a.Nb(ge,ae)},null,{l:H,Sa:function(){return!S.a.kd(ge)}});return{Y:ge,$:fe.ja()?fe:o}}var ee=S.a.g.Z(),ie=S.a.g.Z();S.a.ec=function(H,le,ue,Ae,he,ge){function fe(Je){Te={Aa:Je,pb:S.ta(se++)},z.push(Te),Y||we.push(Te)}function ae(Je){Te=W[Je],se!==Te.pb.v()&&Ie.push(Te),Te.pb(se++),S.a.Ua(Te.Y,H),z.push(Te)}function U(Je,Xe){if(Je)for(var et=0,ot=Xe.length;et<ot;et++)S.a.D(Xe[et].Y,function(Et){Je(Et,et,Xe[et].Aa)})}le=le||[],typeof le.length>"u"&&(le=[le]),Ae=Ae||{};var W=S.a.g.get(H,ee),Y=!W,z=[],re=0,se=0,de=[],me=[],Ce=[],Ie=[],we=[],Te,Ge=0;if(Y)S.a.D(le,fe);else{if(!ge||W&&W._countWaitingForRemove){var ke=S.a.Mb(W,function(Je){return Je.Aa});ge=S.a.Pb(ke,le,{dontLimitMoves:Ae.dontLimitMoves,sparse:!0})}for(var ke=0,Oe,Le,be;Oe=ge[ke];ke++)switch(Le=Oe.moved,be=Oe.index,Oe.status){case"deleted":for(;re<be;)ae(re++);Le===o&&(Te=W[re],Te.$&&(Te.$.s(),Te.$=o),S.a.Ua(Te.Y,H).length&&(Ae.beforeRemove&&(z.push(Te),Ge++,Te.Aa===ie?Te=null:Ce.push(Te)),Te&&de.push.apply(de,Te.Y))),re++;break;case"added":for(;se<be;)ae(re++);Le!==o?(me.push(z.length),ae(Le)):fe(Oe.value)}for(;se<le.length;)ae(re++);z._countWaitingForRemove=Ge}S.a.g.set(H,ee,z),U(Ae.beforeMove,Ie),S.a.D(de,Ae.beforeRemove?S.oa:S.removeNode);var Ne,Ue,ze;try{ze=H.ownerDocument.activeElement}catch{}if(me.length)for(;(ke=me.shift())!=o;){for(Te=z[ke],Ne=o;ke;)if((Ue=z[--ke].Y)&&Ue.length){Ne=Ue[Ue.length-1];break}for(le=0;re=Te.Y[le];Ne=re,le++)S.h.Wb(H,re,Ne)}for(ke=0;Te=z[ke];ke++){for(Te.Y||S.a.extend(Te,q(H,ue,Te.Aa,he,Te.pb)),le=0;re=Te.Y[le];Ne=re,le++)S.h.Wb(H,re,Ne);!Te.Ed&&he&&(he(Te.Aa,Te.Y,Te.pb),Te.Ed=!0,Ne=Te.Y[Te.Y.length-1])}for(ze&&H.ownerDocument.activeElement!=ze&&ze.focus(),U(Ae.beforeRemove,Ce),ke=0;ke<Ce.length;++ke)Ce[ke].Aa=ie;U(Ae.afterMove,Ie),U(Ae.afterAdd,we)}}(),S.b("utils.setDomNodeChildrenFromArrayMapping",S.a.ec),S.ba=function(){this.allowTemplateRewriting=!1},S.ba.prototype=new S.ca,S.ba.prototype.constructor=S.ba,S.ba.prototype.renderTemplateSource=function(q,ee,ie,H){return(ee=!(9>S.a.W)&&q.nodes?q.nodes():null)?S.a.la(ee.cloneNode(!0).childNodes):(q=q.text(),S.a.ua(q,H))},S.ba.Ma=new S.ba,S.gc(S.ba.Ma),S.b("nativeTemplateEngine",S.ba),function(){S.$a=function(){var ee=this.Hd=function(){if(!C||!C.tmpl)return 0;try{if(0<=C.tmpl.tag.tmpl.open.toString().indexOf("__"))return 2}catch{}return 1}();this.renderTemplateSource=function(ie,H,le,ue){if(ue=ue||f,le=le||{},2>ee)throw Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.");var Ae=ie.data("precompiled");return Ae||(Ae=ie.text()||"",Ae=C.template(null,"{{ko_with $item.koBindingContext}}"+Ae+"{{/ko_with}}"),ie.data("precompiled",Ae)),ie=[H.$data],H=C.extend({koBindingContext:H},le.templateOptions),H=C.tmpl(Ae,ie,H),H.appendTo(ue.createElement("div")),C.fragments={},H},this.createJavaScriptEvaluatorBlock=function(ie){return"{{ko_code ((function() { return "+ie+" })()) }}"},this.addTemplate=function(ie,H){f.write("<script type='text/html' id='"+ie+"'>"+H+"<\/script>")},0<ee&&(C.tmpl.tag.ko_code={open:"__.push($1 || '');"},C.tmpl.tag.ko_with={open:"with($1) {",close:"} "})},S.$a.prototype=new S.ca,S.$a.prototype.constructor=S.$a;var q=new S.$a;0<q.Hd&&S.gc(q),S.b("jqueryTmplTemplateEngine",S.$a)}()})})()})()})();var _vi=ko;typeof window<"u"?(ko=window.ko,typeof p7<"u"?window.ko=p7:delete window.ko):(ko=global.ko,typeof p7<"u"?global.ko=p7:delete global.ko);var QT=_vi,vvi=function(o){let A=document.createElement("div");A.innerHTML=o;let f=document.createDocumentFragment();for(;A.firstChild;)f.appendChild(A.firstChild);return f},vbe=vvi,Bvi=QT,wvi=function(o,A,f){A=tc(A);let m=vbe(o),C=[],E;for(E=0;E<m.childNodes.length;++E)C.push(m.childNodes[E]);for(A.appendChild(m),E=0;E<C.length;++E){let x=C[E];(x.nodeType===1||x.nodeType===8)&&Bvi.applyBindings(f,x)}return C},Une=wvi,bvi=QT,lz=function(o){if(!O(o)||!O(o.terria))throw new Ai("options.terria is required.");this.terria=o.terria,this._removeSubscription=void 0,this._lastLegendUpdate=void 0,this.eventHelper=new Gx,this.distanceLabel=void 0,this.barWidth=void 0,this.enableDistanceLegend=O(o.enableDistanceLegend)?o.enableDistanceLegend:!0,bvi.track(this,["distanceLabel","barWidth"]),this.eventHelper.add(this.terria.afterWidgetChanged,function(){O(this._removeSubscription)&&(this._removeSubscription(),this._removeSubscription=void 0)},this);let A=this;function f(){if(O(A.terria)){let m=A.terria.scene;A._removeSubscription=m.postRender.addEventListener(function(){Qvi(this,m)},A)}}f(),this.eventHelper.add(this.terria.afterWidgetChanged,function(){f()},this)};lz.prototype.destroy=function(){this.eventHelper.removeAll()};lz.prototype.show=function(o){let A;this.enableDistanceLegend?A=`<div class="distance-legend" data-bind="visible: distanceLabel && barWidth"><div class="distance-legend-label" data-bind="text: distanceLabel"></div><div class="distance-legend-scale-bar" data-bind="style: { width: barWidth + 'px', left: (5 + (125 - barWidth) / 2) + 'px' }"></div></div>`:A=`<div class="distance-legend" style="display: none;" data-bind="visible: distanceLabel && barWidth"><div class="distance-legend-label" data-bind="text: distanceLabel"></div><div class="distance-legend-scale-bar" data-bind="style: { width: barWidth + 'px', left: (5 + (125 - barWidth) / 2) + 'px' }"></div></div>`,Une(A,o,this)};lz.create=function(o){let A=new lz(o);return A.show(o.container),A};var I8e=new dd,pde=[1,2,3,5,10,20,30,50,100,200,300,500,1e3,2e3,3e3,5e3,1e4,2e4,3e4,5e4,1e5,2e5,3e5,5e5,1e6,2e6,3e6,5e6,1e7,2e7,3e7,5e7];function Qvi(o,A){if(!o.enableDistanceLegend){o.barWidth=void 0,o.distanceLabel=void 0;return}let f=oA();if(f<o._lastLegendUpdate+250)return;o._lastLegendUpdate=f;let m=A.canvas.clientWidth,C=A.canvas.clientHeight,E=A.camera.getPickRay(new rt(m/2|0,C-1)),x=A.camera.getPickRay(new rt(1+m/2|0,C-1)),y=A.globe,I=y.pick(E,A),v=y.pick(x,A);if(!O(I)||!O(v)){o.barWidth=void 0,o.distanceLabel=void 0;return}let B=y.ellipsoid.cartesianToCartographic(I),Q=y.ellipsoid.cartesianToCartographic(v);I8e.setEndPoints(B,Q);let T=I8e.surfaceDistance,w=100,S;for(let D=pde.length-1;!O(S)&&D>=0;--D)pde[D]/T<w&&(S=pde[D]);if(O(S)){let D;S>=1e3?D=(S/1e3).toString()+" km":D=S.toString()+" m",o.barWidth=S/T|0,o.distanceLabel=D}else o.barWidth=void 0,o.distanceLabel=void 0}var Bbe=lz,Svi="M 7.5,0 C 3.375,0 0,3.375 0,7.5 0,11.625 3.375,15 7.5,15 c 3.46875,0 6.375,-2.4375 7.21875,-5.625 l -1.96875,0 C 12,11.53125 9.9375,13.125 7.5,13.125 4.40625,13.125 1.875,10.59375 1.875,7.5 1.875,4.40625 4.40625,1.875 7.5,1.875 c 1.59375,0 2.90625,0.65625 3.9375,1.6875 l -3,3 6.5625,0 L 15,0 12.75,2.25 C 11.4375,0.84375 9.5625,0 7.5,0 z",wbe=Svi,Dvi=QT,bbe=function(o){if(!O(o))throw new Ai("terria is required");this._terria=o,this.name="Unnamed Control",this.text=void 0,this.svgIcon=void 0,this.svgHeight=void 0,this.svgWidth=void 0,this.cssClass=void 0,this.isActive=!1,Dvi.track(this,["name","svgIcon","svgHeight","svgWidth","cssClass","isActive"])};Object.defineProperties(bbe.prototype,{terria:{get:function(){return this._terria}},hasText:{get:function(){return O(this.text)&&typeof this.text=="string"}}});bbe.prototype.activate=function(){throw new Ai("activate must be implemented in the derived class.")};var Gne=bbe,Ert=function(o){Gne.apply(this,arguments)};Ert.prototype=Object.create(Gne.prototype);var I8=Ert,LJ=function(o){I8.apply(this,arguments),this.name="\u91CD\u7F6E\u89C6\u56FE",this.navigationLocked=!1,this.svgIcon=wbe,this.svgHeight=15,this.svgWidth=15,this.cssClass="navigation-control-icon-reset"};LJ.prototype=Object.create(I8.prototype);LJ.prototype.setNavigationLocked=function(o){this.navigationLocked=o};LJ.prototype.resetView=function(){if(this.navigationLocked)return;let o=this.terria.scene;if(!o.screenSpaceCameraController.enableInputs)return;this.isActive=!0;let A=o.camera;if(O(this.terria.trackedEntity)){let f=this.terria.trackedEntity;this.terria.trackedEntity=void 0,this.terria.trackedEntity=f}else if(this.terria.options.defaultResetView){if(this.terria.options.defaultResetView&&this.terria.options.defaultResetView instanceof Rt)A.flyTo({destination:o.globe.ellipsoid.cartographicToCartesian(this.terria.options.defaultResetView)});else if(this.terria.options.defaultResetView&&this.terria.options.defaultResetView instanceof gi)try{gi.validate(this.terria.options.defaultResetView),A.flyTo({destination:this.terria.options.defaultResetView})}catch{console.log("Cesium-navigation/ResetViewNavigationControl: options.defaultResetView Cesium rectangle is invalid!")}}else typeof A.flyHome=="function"?A.flyHome(1):A.flyTo({destination:Ls.DEFAULT_VIEW_RECTANGLE,duration:1});this.isActive=!1};LJ.prototype.activate=function(){this.resetView()};var Qbe=LJ,xrt={},Tvi=new Rt,mde=new Ua;xrt.getCameraFocus=function(o,A,f){let m=o.scene,C=m.camera;if(m.mode!==ni.MORPHING&&(O(f)||(f=new Z),O(o.trackedEntity)?f=o.trackedEntity.position.getValue(o.clock.currentTime,f):(mde.origin=C.positionWC,mde.direction=C.directionWC,f=m.globe.pick(mde,m,f)),!!O(f)))return m.mode===ni.SCENE2D||m.mode===ni.COLUMBUS_VIEW?(f=C.worldToCameraCoordinatesPoint(f,f),A&&(f=m.globe.ellipsoid.cartographicToCartesian(m.mapProjection.unproject(f,Tvi),f))):A||(f=C.worldToCameraCoordinatesPoint(f,f)),f};var _8=xrt,FJ=function(o,A){I8.apply(this,arguments),this.name="Zoom "+(A?"In":"Out"),this.text=A?"+":"-",this.cssClass="navigation-control-icon-zoom-"+(A?"in":"out"),this.relativeAmount=2,A&&(this.relativeAmount=1/this.relativeAmount)};FJ.prototype.relativeAmount=1;FJ.prototype=Object.create(I8.prototype);FJ.prototype.activate=function(){this.zoom(this.relativeAmount)};var Mvi=new Z;FJ.prototype.zoom=function(o){if(this.isActive=!0,O(this.terria)){let A=this.terria.scene,f=A.screenSpaceCameraController;if(!f.enableInputs||!f.enableZoom)return;let m=A.camera,C;switch(A.mode){case ni.MORPHING:break;case ni.SCENE2D:m.zoomIn(m.positionCartographic.height*(1-this.relativeAmount));break;default:let E;if(O(this.terria.trackedEntity)?E=new Z:E=_8.getCameraFocus(this.terria,!1),O(E))C={direction:m.direction,up:m.up};else{let v=new Ua(m.worldToCameraCoordinatesPoint(A.globe.ellipsoid.cartographicToCartesian(m.positionCartographic)),m.directionWC);E=Sc.grazingAltitudeLocation(v,A.globe.ellipsoid),C={heading:m.heading,pitch:m.pitch,roll:m.roll}}let x=Z.subtract(m.position,E,Mvi),y=Z.multiplyByScalar(x,o,x),I=Z.add(E,y,E);if(O(this.terria.trackedEntity)||A.mode===ni.COLUMBUS_VIEW)m.position=I;else{if(o===.5&&oe(m.undergroundMode,!1)===!1&&m.positionCartographic.height<1)return;m.flyTo({destination:I,orientation:C,duration:.5,convert:!1})}}}this.isActive=!1};var Pee=FJ,Pvi="m 66.5625,0 0,15.15625 3.71875,0 0,-10.40625 5.5,10.40625 4.375,0 0,-15.15625 -3.71875,0 0,10.40625 L 70.9375,0 66.5625,0 z M 72.5,20.21875 c -28.867432,0 -52.28125,23.407738 -52.28125,52.28125 0,28.87351 23.413818,52.3125 52.28125,52.3125 28.86743,0 52.28125,-23.43899 52.28125,-52.3125 0,-28.873512 -23.41382,-52.28125 -52.28125,-52.28125 z m 0,1.75 c 13.842515,0 26.368948,5.558092 35.5,14.5625 l -11.03125,11 0.625,0.625 11.03125,-11 c 8.9199,9.108762 14.4375,21.579143 14.4375,35.34375 0,13.764606 -5.5176,26.22729 -14.4375,35.34375 l -11.03125,-11 -0.625,0.625 11.03125,11 c -9.130866,9.01087 -21.658601,14.59375 -35.5,14.59375 -13.801622,0 -26.321058,-5.53481 -35.4375,-14.5 l 11.125,-11.09375 c 6.277989,6.12179 14.857796,9.90625 24.3125,9.90625 19.241896,0 34.875,-15.629154 34.875,-34.875 0,-19.245847 -15.633104,-34.84375 -34.875,-34.84375 -9.454704,0 -18.034511,3.760884 -24.3125,9.875 L 37.0625,36.4375 C 46.179178,27.478444 58.696991,21.96875 72.5,21.96875 z m -0.875,0.84375 0,13.9375 1.75,0 0,-13.9375 -1.75,0 z M 36.46875,37.0625 47.5625,48.15625 C 41.429794,54.436565 37.65625,63.027539 37.65625,72.5 c 0,9.472461 3.773544,18.055746 9.90625,24.34375 L 36.46875,107.9375 c -8.96721,-9.1247 -14.5,-21.624886 -14.5,-35.4375 0,-13.812615 5.53279,-26.320526 14.5,-35.4375 z M 72.5,39.40625 c 18.297686,0 33.125,14.791695 33.125,33.09375 0,18.302054 -14.827314,33.125 -33.125,33.125 -18.297687,0 -33.09375,-14.822946 -33.09375,-33.125 0,-18.302056 14.796063,-33.09375 33.09375,-33.09375 z M 22.84375,71.625 l 0,1.75 13.96875,0 0,-1.75 -13.96875,0 z m 85.5625,0 0,1.75 14,0 0,-1.75 -14,0 z M 71.75,108.25 l 0,13.9375 1.71875,0 0,-13.9375 -1.71875,0 z",Sbe=Pvi,Rvi="m 72.71875,54.375 c -0.476702,0 -0.908208,0.245402 -1.21875,0.5625 -0.310542,0.317098 -0.551189,0.701933 -0.78125,1.1875 -0.172018,0.363062 -0.319101,0.791709 -0.46875,1.25 -6.91615,1.075544 -12.313231,6.656514 -13,13.625 -0.327516,0.117495 -0.661877,0.244642 -0.9375,0.375 -0.485434,0.22959 -0.901634,0.471239 -1.21875,0.78125 -0.317116,0.310011 -0.5625,0.742111 -0.5625,1.21875 l 0.03125,0 c 0,0.476639 0.245384,0.877489 0.5625,1.1875 0.317116,0.310011 0.702066,0.58291 1.1875,0.8125 0.35554,0.168155 0.771616,0.32165 1.21875,0.46875 1.370803,6.10004 6.420817,10.834127 12.71875,11.8125 0.146999,0.447079 0.30025,0.863113 0.46875,1.21875 0.230061,0.485567 0.470708,0.870402 0.78125,1.1875 0.310542,0.317098 0.742048,0.5625 1.21875,0.5625 0.476702,0 0.876958,-0.245402 1.1875,-0.5625 0.310542,-0.317098 0.582439,-0.701933 0.8125,-1.1875 0.172018,-0.363062 0.319101,-0.791709 0.46875,-1.25 6.249045,-1.017063 11.256351,-5.7184 12.625,-11.78125 0.447134,-0.1471 0.86321,-0.300595 1.21875,-0.46875 0.485434,-0.22959 0.901633,-0.502489 1.21875,-0.8125 0.317117,-0.310011 0.5625,-0.710861 0.5625,-1.1875 l -0.03125,0 c 0,-0.476639 -0.245383,-0.908739 -0.5625,-1.21875 C 89.901633,71.846239 89.516684,71.60459 89.03125,71.375 88.755626,71.244642 88.456123,71.117495 88.125,71 87.439949,64.078341 82.072807,58.503735 75.21875,57.375 c -0.15044,-0.461669 -0.326927,-0.884711 -0.5,-1.25 -0.230061,-0.485567 -0.501958,-0.870402 -0.8125,-1.1875 -0.310542,-0.317098 -0.710798,-0.5625 -1.1875,-0.5625 z m -0.0625,1.40625 c 0.03595,-0.01283 0.05968,0 0.0625,0 0.0056,0 0.04321,-0.02233 0.1875,0.125 0.144288,0.147334 0.34336,0.447188 0.53125,0.84375 0.06385,0.134761 0.123901,0.309578 0.1875,0.46875 -0.320353,-0.01957 -0.643524,-0.0625 -0.96875,-0.0625 -0.289073,0 -0.558569,0.04702 -0.84375,0.0625 C 71.8761,57.059578 71.936151,56.884761 72,56.75 c 0.18789,-0.396562 0.355712,-0.696416 0.5,-0.84375 0.07214,-0.07367 0.120304,-0.112167 0.15625,-0.125 z m 0,2.40625 c 0.448007,0 0.906196,0.05436 1.34375,0.09375 0.177011,0.592256 0.347655,1.271044 0.5,2.03125 0.475097,2.370753 0.807525,5.463852 0.9375,8.9375 -0.906869,-0.02852 -1.834463,-0.0625 -2.78125,-0.0625 -0.92298,0 -1.802327,0.03537 -2.6875,0.0625 0.138529,-3.473648 0.493653,-6.566747 0.96875,-8.9375 0.154684,-0.771878 0.320019,-1.463985 0.5,-2.0625 0.405568,-0.03377 0.804291,-0.0625 1.21875,-0.0625 z m -2.71875,0.28125 c -0.129732,0.498888 -0.259782,0.987558 -0.375,1.5625 -0.498513,2.487595 -0.838088,5.693299 -0.96875,9.25 -3.21363,0.15162 -6.119596,0.480068 -8.40625,0.9375 -0.682394,0.136509 -1.275579,0.279657 -1.84375,0.4375 0.799068,-6.135482 5.504716,-11.036454 11.59375,-12.1875 z M 75.5,58.5 c 6.043169,1.18408 10.705093,6.052712 11.5,12.15625 -0.569435,-0.155806 -1.200273,-0.302525 -1.875,-0.4375 -2.262525,-0.452605 -5.108535,-0.783809 -8.28125,-0.9375 -0.130662,-3.556701 -0.470237,-6.762405 -0.96875,-9.25 C 75.761959,59.467174 75.626981,58.990925 75.5,58.5 z m -2.84375,12.09375 c 0.959338,0 1.895843,0.03282 2.8125,0.0625 C 75.48165,71.267751 75.5,71.871028 75.5,72.5 c 0,1.228616 -0.01449,2.438313 -0.0625,3.59375 -0.897358,0.0284 -1.811972,0.0625 -2.75,0.0625 -0.927373,0 -1.831062,-0.03473 -2.71875,-0.0625 -0.05109,-1.155437 -0.0625,-2.365134 -0.0625,-3.59375 0,-0.628972 0.01741,-1.232249 0.03125,-1.84375 0.895269,-0.02827 1.783025,-0.0625 2.71875,-0.0625 z M 68.5625,70.6875 c -0.01243,0.60601 -0.03125,1.189946 -0.03125,1.8125 0,1.22431 0.01541,2.407837 0.0625,3.5625 -3.125243,-0.150329 -5.92077,-0.471558 -8.09375,-0.90625 -0.784983,-0.157031 -1.511491,-0.316471 -2.125,-0.5 -0.107878,-0.704096 -0.1875,-1.422089 -0.1875,-2.15625 0,-0.115714 0.02849,-0.228688 0.03125,-0.34375 0.643106,-0.20284 1.389577,-0.390377 2.25,-0.5625 2.166953,-0.433487 4.97905,-0.75541 8.09375,-0.90625 z m 8.3125,0.03125 c 3.075121,0.15271 5.824455,0.446046 7.96875,0.875 0.857478,0.171534 1.630962,0.360416 2.28125,0.5625 0.0027,0.114659 0,0.228443 0,0.34375 0,0.735827 -0.07914,1.450633 -0.1875,2.15625 -0.598568,0.180148 -1.29077,0.34562 -2.0625,0.5 -2.158064,0.431708 -4.932088,0.754666 -8.03125,0.90625 0.04709,-1.154663 0.0625,-2.33819 0.0625,-3.5625 0,-0.611824 -0.01924,-1.185379 -0.03125,-1.78125 z M 57.15625,72.5625 c 0.0023,0.572772 0.06082,1.131112 0.125,1.6875 -0.125327,-0.05123 -0.266577,-0.10497 -0.375,-0.15625 -0.396499,-0.187528 -0.665288,-0.387337 -0.8125,-0.53125 -0.147212,-0.143913 -0.15625,-0.182756 -0.15625,-0.1875 0,-0.0047 -0.02221,-0.07484 0.125,-0.21875 0.147212,-0.143913 0.447251,-0.312472 0.84375,-0.5 0.07123,-0.03369 0.171867,-0.06006 0.25,-0.09375 z m 31.03125,0 c 0.08201,0.03503 0.175941,0.05872 0.25,0.09375 0.396499,0.187528 0.665288,0.356087 0.8125,0.5 0.14725,0.14391 0.15625,0.21405 0.15625,0.21875 0,0.0047 -0.009,0.04359 -0.15625,0.1875 -0.147212,0.143913 -0.416001,0.343722 -0.8125,0.53125 -0.09755,0.04613 -0.233314,0.07889 -0.34375,0.125 0.06214,-0.546289 0.09144,-1.094215 0.09375,-1.65625 z m -29.5,3.625 c 0.479308,0.123125 0.983064,0.234089 1.53125,0.34375 2.301781,0.460458 5.229421,0.787224 8.46875,0.9375 0.167006,2.84339 0.46081,5.433176 0.875,7.5 0.115218,0.574942 0.245268,1.063612 0.375,1.5625 -5.463677,-1.028179 -9.833074,-5.091831 -11.25,-10.34375 z m 27.96875,0 C 85.247546,81.408945 80.919274,85.442932 75.5,86.5 c 0.126981,-0.490925 0.261959,-0.967174 0.375,-1.53125 0.41419,-2.066824 0.707994,-4.65661 0.875,-7.5 3.204493,-0.15162 6.088346,-0.480068 8.375,-0.9375 0.548186,-0.109661 1.051942,-0.220625 1.53125,-0.34375 z M 70.0625,77.53125 c 0.865391,0.02589 1.723666,0.03125 2.625,0.03125 0.912062,0 1.782843,-0.0048 2.65625,-0.03125 -0.165173,2.736408 -0.453252,5.207651 -0.84375,7.15625 -0.152345,0.760206 -0.322989,1.438994 -0.5,2.03125 -0.437447,0.03919 -0.895856,0.0625 -1.34375,0.0625 -0.414943,0 -0.812719,-0.02881 -1.21875,-0.0625 -0.177011,-0.592256 -0.347655,-1.271044 -0.5,-2.03125 -0.390498,-1.948599 -0.700644,-4.419842 -0.875,-7.15625 z m 1.75,10.28125 c 0.284911,0.01545 0.554954,0.03125 0.84375,0.03125 0.325029,0 0.648588,-0.01171 0.96875,-0.03125 -0.05999,0.148763 -0.127309,0.31046 -0.1875,0.4375 -0.18789,0.396562 -0.386962,0.696416 -0.53125,0.84375 -0.144288,0.147334 -0.181857,0.125 -0.1875,0.125 -0.0056,0 -0.07446,0.02233 -0.21875,-0.125 C 72.355712,88.946416 72.18789,88.646562 72,88.25 71.939809,88.12296 71.872486,87.961263 71.8125,87.8125 z",Dbe=Rvi,Lvi="M 72.46875,22.03125 C 59.505873,22.050338 46.521615,27.004287 36.6875,36.875 L 47.84375,47.96875 C 61.521556,34.240041 83.442603,34.227389 97.125,47.90625 l 11.125,-11.125 C 98.401629,26.935424 85.431627,22.012162 72.46875,22.03125 z",Tbe=Lvi,Fvi=QT,pw=function(o){this.terria=o.terria,this.eventHelper=new Gx,this.enableZoomControls=O(o.enableZoomControls)?o.enableZoomControls:!0,this.enableCompass=O(o.enableCompass)?o.enableCompass:!0,this.navigationLocked=!1,this.controls=o.controls,O(this.controls)||(this.controls=[new Pee(this.terria,!0),new Qbe(this.terria),new Pee(this.terria,!1)]),this.svgCompassOuterRing=Sbe,this.svgCompassGyro=Dbe,this.svgCompassRotationMarker=Tbe,this.showCompass=O(this.terria)&&this.enableCompass,this.heading=this.showCompass?this.terria.scene.camera.heading:0,this.isOrbiting=!1,this.orbitCursorAngle=0,this.orbitCursorOpacity=0,this.orbitLastTimestamp=0,this.orbitFrame=void 0,this.orbitIsLook=!1,this.orbitMouseMoveFunction=void 0,this.orbitMouseUpFunction=void 0,this.isRotating=!1,this.rotateInitialCursorAngle=void 0,this.rotateFrame=void 0,this.rotateIsLook=!1,this.rotateMouseMoveFunction=void 0,this.rotateMouseUpFunction=void 0,this._unsubcribeFromPostRender=void 0,Fvi.track(this,["controls","showCompass","heading","isOrbiting","orbitCursorAngle","isRotating"]);let A=this;pw.prototype.setNavigationLocked=function(m){this.navigationLocked=m,this.controls&&this.controls.length>1&&this.controls[1].setNavigationLocked(this.navigationLocked)};function f(){O(A.terria)?(A._unsubcribeFromPostRender&&(A._unsubcribeFromPostRender(),A._unsubcribeFromPostRender=void 0),A.showCompass=A.enableCompass,A._unsubcribeFromPostRender=A.terria.scene.postRender.addEventListener(function(){A.heading=A.terria.scene.camera.heading})):(A._unsubcribeFromPostRender&&(A._unsubcribeFromPostRender(),A._unsubcribeFromPostRender=void 0),A.showCompass=!1)}this.eventHelper.add(this.terria.afterWidgetChanged,f,this),f()};pw.prototype.destroy=function(){this.eventHelper.removeAll()};pw.prototype.show=function(o){let A;this.enableZoomControls&&this.enableCompass?A=`<div class="compass" title="" data-bind="visible: showCompass, event: { mousedown: handleMouseDown, dblclick: handleDoubleClick }"><div class="compass-outer-ring-background"></div> <div class="compass-rotation-marker" data-bind="visible: isOrbiting, style: { transform: 'rotate(-' + orbitCursorAngle + 'rad)', '-webkit-transform': 'rotate(-' + orbitCursorAngle + 'rad)', opacity: orbitCursorOpacity }, cesiumSvgPath: { path: svgCompassRotationMarker, width: 145, height: 145 }"></div> <div class="compass-outer-ring" title="" data-bind="style: { transform: 'rotate(-' + heading + 'rad)', '-webkit-transform': 'rotate(-' + heading + 'rad)' }, cesiumSvgPath: { path: svgCompassOuterRing, width: 145, height: 145 }"></div> <div class="compass-gyro-background"></div> <div class="compass-gyro" data-bind="cesiumSvgPath: { path: svgCompassGyro, width: 145, height: 145 }, css: { 'compass-gyro-active': isOrbiting }"></div></div><div class="navigation-controls"><!-- ko foreach: controls --><div data-bind="click: activate, attr: { title: $data.name }, css: $root.isLastControl($data) ? 'navigation-control-last' : 'navigation-control' "> <!-- ko if: $data.hasText --> <div data-bind="text: $data.text, css: $data.isActive ? 'navigation-control-icon-active ' + $data.cssClass : $data.cssClass"></div> <!-- /ko --> <!-- ko ifnot: $data.hasText --> <div data-bind="cesiumSvgPath: { path: $data.svgIcon, width: $data.svgWidth, height: $data.svgHeight }, css: $data.isActive ? 'navigation-control-icon-active ' + $data.cssClass : $data.cssClass"></div> <!-- /ko --> </div> <!-- /ko --></div>`:!this.enableZoomControls&&this.enableCompass?A=`<div class="compass" title="" data-bind="visible: showCompass, event: { mousedown: handleMouseDown, dblclick: handleDoubleClick }"><div class="compass-outer-ring-background"></div> <div class="compass-rotation-marker" data-bind="visible: isOrbiting, style: { transform: 'rotate(-' + orbitCursorAngle + 'rad)', '-webkit-transform': 'rotate(-' + orbitCursorAngle + 'rad)', opacity: orbitCursorOpacity }, cesiumSvgPath: { path: svgCompassRotationMarker, width: 145, height: 145 }"></div> <div class="compass-outer-ring" title="" data-bind="style: { transform: 'rotate(-' + heading + 'rad)', '-webkit-transform': 'rotate(-' + heading + 'rad)' }, cesiumSvgPath: { path: svgCompassOuterRing, width: 145, height: 145 }"></div> <div class="compass-gyro-background"></div> <div class="compass-gyro" data-bind="cesiumSvgPath: { path: svgCompassGyro, width: 145, height: 145 }, css: { 'compass-gyro-active': isOrbiting }"></div></div><div class="navigation-controls" style="display: none;" ><!-- ko foreach: controls --><div data-bind="click: activate, attr: { title: $data.name }, css: $root.isLastControl($data) ? 'navigation-control-last' : 'navigation-control' "> <!-- ko if: $data.hasText --> <div data-bind="text: $data.text, css: $data.isActive ? 'navigation-control-icon-active ' + $data.cssClass : $data.cssClass"></div> <!-- /ko --> <!-- ko ifnot: $data.hasText --> <div data-bind="cesiumSvgPath: { path: $data.svgIcon, width: $data.svgWidth, height: $data.svgHeight }, css: $data.isActive ? 'navigation-control-icon-active ' + $data.cssClass : $data.cssClass"></div> <!-- /ko --> </div> <!-- /ko --></div>`:this.enableZoomControls&&!this.enableCompass?A=`<div class="compass" style="display: none;" title="" data-bind="visible: showCompass, event: { mousedown: handleMouseDown, dblclick: handleDoubleClick }"><div class="compass-outer-ring-background"></div> <div class="compass-rotation-marker" data-bind="visible: isOrbiting, style: { transform: 'rotate(-' + orbitCursorAngle + 'rad)', '-webkit-transform': 'rotate(-' + orbitCursorAngle + 'rad)', opacity: orbitCursorOpacity }, cesiumSvgPath: { path: svgCompassRotationMarker, width: 145, height: 145 }"></div> <div class="compass-outer-ring" title="" data-bind="style: { transform: 'rotate(-' + heading + 'rad)', '-webkit-transform': 'rotate(-' + heading + 'rad)' }, cesiumSvgPath: { path: svgCompassOuterRing, width: 145, height: 145 }"></div> <div class="compass-gyro-background"></div> <div class="compass-gyro" data-bind="cesiumSvgPath: { path: svgCompassGyro, width: 145, height: 145 }, css: { 'compass-gyro-active': isOrbiting }"></div></div><div class="navigation-controls" ><!-- ko foreach: controls --><div data-bind="click: activate, attr: { title: $data.name }, css: $root.isLastControl($data) ? 'navigation-control-last' : 'navigation-control' "> <!-- ko if: $data.hasText --> <div data-bind="text: $data.text, css: $data.isActive ? 'navigation-control-icon-active ' + $data.cssClass : $data.cssClass"></div> <!-- /ko --> <!-- ko ifnot: $data.hasText --> <div data-bind="cesiumSvgPath: { path: $data.svgIcon, width: $data.svgWidth, height: $data.svgHeight }, css: $data.isActive ? 'navigation-control-icon-active ' + $data.cssClass : $data.cssClass"></div> <!-- /ko --> </div> <!-- /ko --></div>`:!this.enableZoomControls&&!this.enableCompass&&(A=`<div class="compass" style="display: none;" title="" data-bind="visible: showCompass, event: { mousedown: handleMouseDown, dblclick: handleDoubleClick }"><div class="compass-outer-ring-background"></div> <div class="compass-rotation-marker" data-bind="visible: isOrbiting, style: { transform: 'rotate(-' + orbitCursorAngle + 'rad)', '-webkit-transform': 'rotate(-' + orbitCursorAngle + 'rad)', opacity: orbitCursorOpacity }, cesiumSvgPath: { path: svgCompassRotationMarker, width: 145, height: 145 }"></div> <div class="compass-outer-ring" title="" data-bind="style: { transform: 'rotate(-' + heading + 'rad)', '-webkit-transform': 'rotate(-' + heading + 'rad)' }, cesiumSvgPath: { path: svgCompassOuterRing, width: 145, height: 145 }"></div> <div class="compass-gyro-background"></div> <div class="compass-gyro" data-bind="cesiumSvgPath: { path: svgCompassGyro, width: 145, height: 145 }, css: { 'compass-gyro-active': isOrbiting }"></div></div><div class="navigation-controls" style="display: none;" ><!-- ko foreach: controls --><div data-bind="click: activate, attr: { title: $data.name }, css: $root.isLastControl($data) ? 'navigation-control-last' : 'navigation-control' "> <!-- ko if: $data.hasText --> <div data-bind="text: $data.text, css: $data.isActive ? 'navigation-control-icon-active ' + $data.cssClass : $data.cssClass"></div> <!-- /ko --> <!-- ko ifnot: $data.hasText --> <div data-bind="cesiumSvgPath: { path: $data.svgIcon, width: $data.svgWidth, height: $data.svgHeight }, css: $data.isActive ? 'navigation-control-icon-active ' + $data.cssClass : $data.cssClass"></div> <!-- /ko --> </div> <!-- /ko --></div>`),Une(A,o,this)};pw.prototype.add=function(o){this.controls.push(o)};pw.prototype.remove=function(o){this.controls.remove(o)};pw.prototype.isLastControl=function(o){return o===this.controls[this.controls.length-1]};var Mbe=new rt;pw.prototype.handleMouseDown=function(o,A){if(this.terria.scene.mode===ni.MORPHING||o.navigationLocked)return!0;let f=A.currentTarget,m=A.currentTarget.getBoundingClientRect(),C=m.width/2,E=new rt((m.right-m.left)/2,(m.bottom-m.top)/2),x=new rt(A.clientX-m.left,A.clientY-m.top),y=rt.subtract(x,E,Mbe),I=rt.magnitude(y)/C;if(I<50/145)Nvi(this,f,y);else if(I<1)kvi(this,f,y);else return!0};var Kge=new Re,Ree=new Re,Pbe=new Z;pw.prototype.handleDoubleClick=function(o,A){let f=o.terria.scene,m=f.camera,C=f.screenSpaceCameraController;if(f.mode===ni.MORPHING||!C.enableInputs||o.navigationLocked)return!0;if(f.mode===ni.COLUMBUS_VIEW&&!C.enableTranslate||(f.mode===ni.SCENE3D||f.mode===ni.COLUMBUS_VIEW)&&(!C.enableLook||f.mode===ni.SCENE3D&&!C.enableRotate))return;let E=_8.getCameraFocus(o.terria,!0,Pbe);if(!O(E)){this.controls[1].resetView();return}let x=f.globe.ellipsoid.cartographicToCartesian(m.positionCartographic,new Z),y=f.globe.ellipsoid.geodeticSurfaceNormal(E),I=new hi(E,0);m.flyToBoundingSphere(I,{offset:new Rx(0,Be.PI_OVER_TWO-Z.angleBetween(y,m.directionWC),Z.distance(x,E)),duration:1.5})};pw.create=function(o){let A=new pw(o);return A.show(o.container),A};function Nvi(o,A,f){let m=o.terria.scene,C=m.screenSpaceCameraController;if(m.mode===ni.MORPHING||!C.enableInputs)return;if(o.navigationLocked)return!0;switch(m.mode){case ni.COLUMBUS_VIEW:if(C.enableLook)break;if(!C.enableTranslate||!C.enableTilt)return;break;case ni.SCENE3D:if(C.enableLook)break;if(!C.enableTilt||!C.enableRotate)return;break;case ni.SCENE2D:if(!C.enableTranslate)return;break}document.removeEventListener("mousemove",o.orbitMouseMoveFunction,!1),document.removeEventListener("mouseup",o.orbitMouseUpFunction,!1),O(o.orbitTickFunction)&&o.terria.clock.onTick.removeEventListener(o.orbitTickFunction),o.orbitMouseMoveFunction=void 0,o.orbitMouseUpFunction=void 0,o.orbitTickFunction=void 0,o.isOrbiting=!0,o.orbitLastTimestamp=oA();let E=m.camera;if(O(o.terria.trackedEntity))o.orbitFrame=void 0,o.orbitIsLook=!1;else{let y=_8.getCameraFocus(o.terria,!0,Pbe);O(y)?(o.orbitFrame=kr.eastNorthUpToFixedFrame(y,m.globe.ellipsoid,Ree),o.orbitIsLook=!1):(o.orbitFrame=kr.eastNorthUpToFixedFrame(E.positionWC,m.globe.ellipsoid,Ree),o.orbitIsLook=!0)}o.orbitTickFunction=function(y){let I=oA(),v=I-o.orbitLastTimestamp,B=(o.orbitCursorOpacity-.5)*2.5/1e3,Q=v*B,T=o.orbitCursorAngle+Be.PI_OVER_TWO,w=Math.cos(T)*Q,S=Math.sin(T)*Q,D;if(o.navigationLocked)return!0;O(o.orbitFrame)&&(D=Re.clone(E.transform,Kge),E.lookAtTransform(o.orbitFrame)),m.mode===ni.SCENE2D?E.move(new Z(w,S,0),Math.max(m.canvas.clientWidth,m.canvas.clientHeight)/100*E.positionCartographic.height*Q):o.orbitIsLook?(E.look(Z.UNIT_Z,-w),E.look(E.right,-S)):(E.rotateLeft(w),E.rotateUp(S)),O(o.orbitFrame)&&E.lookAtTransform(D),o.orbitLastTimestamp=I};function x(y,I){let v=Math.atan2(-y.y,y.x);o.orbitCursorAngle=Be.zeroToTwoPi(v-Be.PI_OVER_TWO);let B=rt.magnitude(y),Q=I/2,T=Math.min(B/Q,1),w=.5*T*T+.5;o.orbitCursorOpacity=w}o.orbitMouseMoveFunction=function(y){let I=A.getBoundingClientRect(),v=new rt((I.right-I.left)/2,(I.bottom-I.top)/2),B=new rt(y.clientX-I.left,y.clientY-I.top),Q=rt.subtract(B,v,Mbe);x(Q,I.width)},o.orbitMouseUpFunction=function(y){o.isOrbiting=!1,document.removeEventListener("mousemove",o.orbitMouseMoveFunction,!1),document.removeEventListener("mouseup",o.orbitMouseUpFunction,!1),O(o.orbitTickFunction)&&o.terria.clock.onTick.removeEventListener(o.orbitTickFunction),o.orbitMouseMoveFunction=void 0,o.orbitMouseUpFunction=void 0,o.orbitTickFunction=void 0},document.addEventListener("mousemove",o.orbitMouseMoveFunction,!1),document.addEventListener("mouseup",o.orbitMouseUpFunction,!1),o.terria.clock.onTick.addEventListener(o.orbitTickFunction),x(f,A.getBoundingClientRect().width)}function kvi(o,A,f){let m=o.terria.scene,C=m.camera,E=m.screenSpaceCameraController;if(m.mode===ni.MORPHING||m.mode===ni.SCENE2D||!E.enableInputs)return;if(o.navigationLocked)return!0;if(!E.enableLook&&(m.mode===ni.COLUMBUS_VIEW||m.mode===ni.SCENE3D&&!E.enableRotate))return;if(document.removeEventListener("mousemove",o.rotateMouseMoveFunction,!1),document.removeEventListener("mouseup",o.rotateMouseUpFunction,!1),o.rotateMouseMoveFunction=void 0,o.rotateMouseUpFunction=void 0,o.isRotating=!0,o.rotateInitialCursorAngle=Math.atan2(-f.y,f.x),O(o.terria.trackedEntity))o.rotateFrame=void 0,o.rotateIsLook=!1;else{let y=_8.getCameraFocus(o.terria,!0,Pbe);!O(y)||m.mode===ni.COLUMBUS_VIEW&&!E.enableLook&&!E.enableTranslate?(o.rotateFrame=kr.eastNorthUpToFixedFrame(C.positionWC,m.globe.ellipsoid,Ree),o.rotateIsLook=!0):(o.rotateFrame=kr.eastNorthUpToFixedFrame(y,m.globe.ellipsoid,Ree),o.rotateIsLook=!1)}let x;O(o.rotateFrame)&&(x=Re.clone(C.transform,Kge),C.lookAtTransform(o.rotateFrame)),o.rotateInitialCameraAngle=-C.heading,O(o.rotateFrame)&&C.lookAtTransform(x),o.rotateMouseMoveFunction=function(y){let I=A.getBoundingClientRect(),v=new rt((I.right-I.left)/2,(I.bottom-I.top)/2),B=new rt(y.clientX-I.left,y.clientY-I.top),Q=rt.subtract(B,v,Mbe),T=Math.atan2(-Q.y,Q.x)-o.rotateInitialCursorAngle,w=Be.zeroToTwoPi(o.rotateInitialCameraAngle-T),S=o.terria.scene.camera,D;O(o.rotateFrame)&&(D=Re.clone(S.transform,Kge),S.lookAtTransform(o.rotateFrame));let R=-S.heading;S.rotateRight(w-R),O(o.rotateFrame)&&S.lookAtTransform(D)},o.rotateMouseUpFunction=function(y){o.isRotating=!1,document.removeEventListener("mousemove",o.rotateMouseMoveFunction,!1),document.removeEventListener("mouseup",o.rotateMouseUpFunction,!1),o.rotateMouseMoveFunction=void 0,o.rotateMouseUpFunction=void 0},document.addEventListener("mousemove",o.rotateMouseMoveFunction,!1),document.addEventListener("mouseup",o.rotateMouseUpFunction,!1)}var X7=pw,_8e=ur,QI=function(o){Ovi.apply(this,arguments),this._onDestroyListeners=[]};QI.prototype.distanceLegendViewModel=void 0;QI.prototype.navigationViewModel=void 0;QI.prototype.navigationDiv=void 0;QI.prototype.distanceLegendDiv=void 0;QI.prototype.terria=void 0;QI.prototype.container=void 0;QI.prototype._onDestroyListeners=void 0;QI.prototype._navigationLocked=!1;QI.prototype.setNavigationLocked=function(o){this._navigationLocked=o,this.navigationViewModel.setNavigationLocked(this._navigationLocked)};QI.prototype.getNavigationLocked=function(){return this._navigationLocked};QI.prototype.destroy=function(){O(this.navigationViewModel)&&this.navigationViewModel.destroy(),O(this.distanceLegendViewModel)&&this.distanceLegendViewModel.destroy(),O(this.navigationDiv)&&this.navigationDiv.parentNode.removeChild(this.navigationDiv),delete this.navigationDiv,O(this.distanceLegendDiv)&&this.distanceLegendDiv.parentNode.removeChild(this.distanceLegendDiv),delete this.distanceLegendDiv,O(this.container)&&this.container.parentNode.removeChild(this.container),delete this.container;for(let o=0;o<this._onDestroyListeners.length;o++)this._onDestroyListeners[o]()};QI.prototype.addOnDestroyListener=function(o){typeof o=="function"&&this._onDestroyListeners.push(o)};function Ovi(o,A){if(!O(o))throw new Ai("CesiumWidget or Viewer is required.");let f=O(o.cesiumWidget)?o.cesiumWidget:o,m=document.createElement("div");m.className="Geoworld-widget-GeoworldNavigationContainer",f.container.appendChild(m),this.terria=o,this.terria.options=O(A)?A:{},this.terria.afterWidgetChanged=new _8e,this.terria.beforeWidgetChanged=new _8e,this.container=m,(!O(this.terria.options.enableDistanceLegend)||this.terria.options.enableDistanceLegend)&&(this.distanceLegendDiv=document.createElement("div"),m.appendChild(this.distanceLegendDiv),this.distanceLegendDiv.setAttribute("id","distanceLegendDiv"),this.distanceLegendViewModel=Bbe.create({container:this.distanceLegendDiv,terria:this.terria,mapElement:m,enableDistanceLegend:!0})),(!O(this.terria.options.enableZoomControls)||this.terria.options.enableZoomControls)&&(!O(this.terria.options.enableCompass)||this.terria.options.enableCompass)?(this.navigationDiv=document.createElement("div"),this.navigationDiv.setAttribute("id","navigationDiv"),m.appendChild(this.navigationDiv),this.navigationViewModel=X7.create({container:this.navigationDiv,terria:this.terria,enableZoomControls:!0,enableCompass:!0})):O(this.terria.options.enableZoomControls)&&!this.terria.options.enableZoomControls&&(!O(this.terria.options.enableCompass)||this.terria.options.enableCompass)?(this.navigationDiv=document.createElement("div"),this.navigationDiv.setAttribute("id","navigationDiv"),m.appendChild(this.navigationDiv),this.navigationViewModel=X7.create({container:this.navigationDiv,terria:this.terria,enableZoomControls:!1,enableCompass:!0})):(!O(this.terria.options.enableZoomControls)||this.terria.options.enableZoomControls)&&O(this.terria.options.enableCompass)&&!this.terria.options.enableCompass?(this.navigationDiv=document.createElement("div"),this.navigationDiv.setAttribute("id","navigationDiv"),m.appendChild(this.navigationDiv),this.navigationViewModel=X7.create({container:this.navigationDiv,terria:this.terria,enableZoomControls:!0,enableCompass:!1})):O(this.terria.options.enableZoomControls)&&!this.terria.options.enableZoomControls&&O(this.terria.options.enableCompass)&&this.terria.options.enableCompass}var Rbe=QI;function yrt(o,A){if(!O(o))throw new Ai("viewer is required.");Irt(o,A).addOnDestroyListener(function(f){return function(){delete f.cesiumNavigation}}(o)),Object.defineProperties(o,{cesiumNavigation:{configurable:!0,get:function(){return o.cesiumWidget.cesiumNavigation}}})}yrt.mixinWidget=function(o,A){return Irt.apply(void 0,arguments)};var Irt=function(o,A){let f=new Rbe(o,A),m=O(o.cesiumWidget)?o.cesiumWidget:o;return Object.defineProperties(m,{cesiumNavigation:{configurable:!0,get:function(){return f}}}),f.addOnDestroyListener(function(C){return function(){delete C.cesiumNavigation}}(m)),f},_rt=yrt;function Uvi(o,A,f,m,C,E){let x=m._frameState,y=o.derivedCommands;O(y)&&(x.useLogDepth&&O(y.logDepth)&&(o=y.logDepth.command),y=o.derivedCommands,O(y[A])&&(o=y[A][f],o.execute(C,E)))}var Cde,Ede,xde,yde;function v8e(o,A,f,m,C,E){Cde=Cde||new fu,Ede=Ede||new rQ,xde=xde||new us,yde=yde||new Xf;let x=o._us,y=x._frameState,I=y.camera,v=I._scene,B=v._view,Q=B.frustumCommandsList,T=Q.length,w=v._globeTranslucencyState,S=w.translucent,D;O(I.frustum.fov)?D=I.frustum.clone(Cde):O(I.frustum.infiniteProjectionMatrix)?D=I.frustum.clone(Ede):O(I.frustum.width)?D=I.frustum.clone(xde):D=I.frustum.clone(yde);function R(F,k,N,G){(!E||E(F,k))&&(m&&C?Uvi(F,m,C,k,N,G):F.execute(N,G))}let P,M,L;for(let F=0;F<T;++F){let k=T-F-1,N=Q[k],G=f.framebuffer;f.framebuffer=A,D.near=k!==0?N.near*v.opaqueFrustumNearOffset:N.near,D.far=N.far,x.updateFrustum(D),x.updatePass(Yi.GLOBE),L=N.commands[Yi.GLOBE],M=N.indices[Yi.GLOBE];let J=v._view.globeTranslucencyFramebuffer;if(S)w.executeGlobeCommands(N,R,J,v,f);else for(P=0;P<M;++P)R(L[P],v,o,f);for(x.updatePass(Yi.CESIUM_3D_TILE),L=N.commands[Yi.CESIUM_3D_TILE],M=N.indices[Yi.CESIUM_3D_TILE],P=0;P<M;++P)R(L[P],v,o,f);for(x.updatePass(Yi.OPAQUE),L=N.commands[Yi.OPAQUE],M=N.indices[Yi.OPAQUE],P=0;P<M;++P)R(L[P],v,o,f);for(x.updatePass(Yi.TRANSLUCENT),L=N.commands[Yi.TRANSLUCENT],M=N.indices[Yi.TRANSLUCENT],P=0;P<M;++P)R(L[P],v,o,f);f.framebuffer=G}}var B8e=` vec3 packNormalToRGB( const in vec3 normal ) { return normalize( normal ) * 0.5 + 0.5; } vec3 unpackRGBToNormal( const in vec3 rgb ) { return 2.0 * rgb.xyz - 1.0; } const float PackUpscale = 256. / 255.; // fraction -> 0..1 (including 1) const float UnpackDownscale = 255. / 256.; // 0..1 -> fraction (excluding 1) const vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. ); const vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. ); const float ShiftRight8 = 1. / 256.; vec4 packDepthToRGBA( const in float v ) { vec4 r = vec4( fract( v * PackFactors ), v ); r.yzw -= r.xyz * ShiftRight8; // tidy overflow return r * PackUpscale; } float unpackRGBAToDepth( const in vec4 v ) { return dot( v, UnpackFactors ); } vec4 pack2HalfToRGBA( vec2 v ) { vec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 )); return vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w); } vec2 unpackRGBATo2Half( vec4 v ) { return vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) ); } // NOTE: viewZ/eyeZ is < 0 when in front of the camera per OpenGL conventions float viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) { return ( viewZ + near ) / ( near - far ); } float orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) { return linearClipZ * ( near - far ) - near; } // NOTE: https://twitter.com/gonnavis/status/1377183786949959682 float viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) { return (( near + viewZ ) * far ) / (( far - near ) * viewZ ); } float perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) { return ( near * far ) / ( ( far - near ) * invClipZ - far ); } `,w8e=`uniform sampler2D czm_selectedIdTexture; uniform float czm_selectedIdTextureStep; uniform float czm_selectedIdTextureWidth; bool czm_selected(vec4 id) { bool selected = false; for (int i = 0; i < 1024000; i++) { vec4 selectedId = texture(czm_selectedIdTexture, vec2((float(i) + 0.5) * czm_selectedIdTextureStep, 0.5)); if (all(equal(id, selectedId))) { return true; } if(float(i)>czm_selectedIdTextureWidth)break; } return false; } `;function Lbe(o){this._selectedIdTexture=null;let{name:A,vertexShader:f,fragmentShader:m,uniforms:C,renderStateProcess:E,beforeUpdate:x,viewportScale:y,overrideViewport:I,enableEntitySelect:v}=o,{renderType:B,textureScale:Q,shaderRedefine:T}=o,w=`renderPass_${A.replace(/[\.\\\/\-]/g,"_")}`,S=`czm_non_${w}_main`,D=`czm_${w}_main`,R=`_cache_${w}`,P=`${w}Command`,M=null,L=null,F=null,k=null,N=null,G,J=new Yu({color:Ve.TRANSPARENT,depth:1}),K=new vr,X=this;if(I&&vr.clone(I,K),T=T||"add",B=B||"all",Q=Q||1,Q<0||Q>8)throw new Ai("CesiumRenderPass\uFF1AtextureScale\u5FC5\u987B\u5927\u4E8E0\u5C0F\u4E8E\u7B49\u4E8E8");function q(re,se,de,me){let Ce=re.shaderCache.getDerivedShaderProgram(se,w);if(!O(Ce)){let Ie=se._attributeLocations,we=se.fragmentShaderSource,Te=se.vertexShaderSource,Ge=se._vertexShaderText,ke=we.sources,Oe=ke.length,Le=!!N&&U(),be=w8e,Ne=/texture\s?\(\s?tile_pickTexture\s?,\s?tile_featureSt\s?\)/.test(de);me==="in"&&!Ne?be+=` //in float me_isSelected; bool czm_selected(){ //bool isSelected=false; //if(!isSelected){ // isSelected= czm_selected(${de}); //} if(${v}) { return czm_selected(${de}); } return true; } `:be+=` bool czm_selected(){ return czm_selected(${de}); }`;let Ue=w8e,ze=!1,Je=!1;if(/in\s?vec3\s?normal\s?;/.test(Ge)||/\n\s?vec3\s?normal\s?;/.test(Ge)?ze=!0:/out\s?vec3\s?v_normal\s?;/.test(Ge)&&(Je=!0),m){let Xe=!1;for(let Ct=0;Ct<Oe;++Ct)if(/vec4\s?packDepthToRGBA\s?\(/.test(ke[Ct])){Xe=!0;break}let et=Xe?"":B8e;et+=Le?be:"",et+=_r.replaceMain(m,D);let ot=`${S}();`;et+=`void main() { ${T!=="replace"?ot:""} ${D}(); } `;let Et=new Array(Oe+1);for(let Ct=0;Ct<Oe;++Ct)Et[Ct]=_r.replaceMain(ke[Ct],S);Et[Oe]=et,ze?we.defines.push("HAS_NORMAL"):Je&&we.defines.push("HAS_V_NORMAL"),we.defines.push("MRT"),we=new _r({sources:Et,defines:we.defines})}if(f||m){ke=Te.sources,Oe=ke.length;let Xe=!1;for(let Et=0;Et<Oe;++Et)if(/vec4\s?packDepthToRGBA\s?\(/.test(ke[Et])){Xe=!0;break}Le=Le&&me==="in"&&!Ne,ze?Te.defines.push("HAS_NORMAL"):Je&&Te.defines.push("HAS_V_NORMAL");let et=`${Xe?"":B8e} ${Le?Ue:""} ${_r.replaceMain(f||"void main(){}",D)} void main() { ${T!=="replace"?` ${S}();`:""} //${Le?" me_isSelected=czm_selected()?1.:0.;":""} ${D}(); }`,ot=new Array(Oe+1);for(let Et=0;Et<Oe;++Et)ot[Et]=_r.replaceMain(ke[Et],S);ot[Oe]=et,Te=new _r({sources:ot,defines:Te.defines})}Ce=re.shaderCache.createDerivedShaderProgram(se,w,{vertexShaderSource:Te,fragmentShaderSource:we,attributeLocations:Ie})}return Ce}function ee(re,se){re._renderPassCache=re._renderPassCache||{},re._renderPassCache[R]=re._renderPassCache[R]||{};let de=re._renderPassCache[R],me=de[se.id];if(!O(me)){let Ce=Xr.getState(se);typeof E=="function"&&E.call(X,Ce),me=Xr.fromCache(Ce),de[se.id]=me}return me}function ie(re,se,de){let me=re,Ce=se._frameState,Ie=re.derivedCommands;if(!O(Ie))return;Ce.useLogDepth&&O(Ie.logDepth)&&(re=Ie.logDepth.command),Ie=re.derivedCommands;let we=Ie.renderPass;O(Ie.renderPass)||(we=Ie.renderPass={});let Te,Ge;if(O(we[P])&&(Te=we[P].shaderProgram,Ge=we[P].renderState),we[P]=fn.shallowClone(re,we[P]),!O(Te)||we.shaderProgramId!==re.shaderProgram.id){let Oe=re.shaderProgram,Le=me._pickIdQualifier=new RegExp(`uniform\\s?vec4\\s?${re.pickId}`,"g").test(Oe._fragmentShaderText)?"uniform":"in";we[P].shaderProgram=q(de,Oe,re.pickId,Le),we[P].renderState=ee(se,re.renderState),we.shaderProgramId=re.shaderProgram.id}else we[P].shaderProgram=Te,we[P].renderState=Ge;let ke=we[P].uniformMap;ue(ke)}function H(re){return function(){let se=C[re];return typeof se=="function"?se():se}}function le(re,se){return function(){let de=re[se]();if(O(de))return de.dimensions}}function ue(re){if(!re.__created&&(re.czm_selectedIdTexture=function(){return N._selectedIdTexture},re.czm_selectedIdTextureWidth=function(){return N._selectedIdTexture?N._selectedIdTexture.width:0},re.czm_selectedIdTextureStep=function(){return N._selectedIdTexture?1/N._selectedIdTexture.width:-1},!!C)){re.__created=!0;for(let se in C)if(C.hasOwnProperty(se)){typeof C[se]!="function"?re[se]=H(se):re[se]=C[se];let de=re[se]();(typeof de=="string"||de instanceof Nn||de instanceof HTMLImageElement||de instanceof HTMLCanvasElement||de instanceof HTMLVideoElement)&&(re[`${se}Dimensions`]=le(re,se))}}}function Ae(re){let se=re._view,de=se.frustumCommandsList,me=de.length,Ce,Ie,we;for(let Te=0;Te<me;++Te){let Ge=me-Te-1,ke=de[Ge];for(Ie=0;Ie<ke.commands.length;Ie++){let Oe=ke.commands[Ie];if(we=ke.indices[Ie],!(N&&Ie===Yi.GLOBE))for(Ce=0;Ce<we;++Ce){let Le=Oe[Ce];ie(Le,re,re._context)}}}}function he(){F&&(F.destroy(),F=void 0),L&&(L.destroy(),L=void 0),k&&(k.destroy(),k=void 0),M&&(M.destroy(),M=void 0)}function ge(re,se,de,me){let Ce=se.width,Ie=se.height;F&&F.width===Ce&&F.height===Ie&&de===G||(G=de,he(),F=new Nn({context:re,width:Ce,height:Ie,pixelFormat:rn.RGBA,pixelDatatype:$r.UNSIGNED_BYTE}),L=new Nn({context:re,width:Ce,height:Ie,pixelFormat:rn.RGBA,pixelDatatype:$r.UNSIGNED_BYTE}),k=new Nn({context:re,width:Ce,height:Ie,pixelFormat:rn.DEPTH_COMPONENT,pixelDatatype:$r.UNSIGNED_SHORT,sampler:Oa.NEAREST}),M=new Pg({colorTextures:[F,L],context:re,destroyAttachments:!1,depthTexture:k}))}function fe(re){I||(K=vr.clone(re.viewport,K),y?(K.x=K.width*y.x,K.y=K.height*y.y,K.width*=y.width,K.height*=y.height):(K.width*=Q,K.height*=Q));let se=Object.assign({},re.passState);return se.viewport=K,se}function ae(re,se){let de=re._us._frameState,me=de.camera,Ce=me._scene,Ie=Ce._view;try{if(!f&&!m){let we=fe(Ie);typeof x=="function"&&x.call(X,Ce,se),ge(re,K,Ce.hdr,Ie.sceneFramebuffer),v8e(re,M,we)}else{let we=fe(Ie);typeof x=="function"&&x.call(X,Ce,se),ge(re,K,Ce.hdr,Ie.sceneFramebuffer),Ae(Ce),v8e(re,M,we,"renderPass",P,B==="all"||!N||!N._selectedIdTexture?null:W)}}catch(we){console.error(we)}}function U(){if(!N)return;let re=N.selected||N.parentSelected;if(re.length)return re}function W(re,se){let de=N&&(N.selected||N.parentSelected);if(re.pass===Yi.TRANSLUCENT||!N||!de||!de.length)return!1;if(!re.pickId||re._pickIdQualifier!=="uniform")return!0;let me=!0,Ce=re.owner,Ie=B==="selected";if(Ce&&Ce.isObject3D){for(let Te=0;Te<de.length;Te++)if(de[Te]===Ce)return Ie;return!Ie}let we=re.uniformMap;if(we[re.pickId]){let Te=we[re.pickId]();me=!Ie;for(let Ge=0;Ge<de.length;Ge++){let ke=de[Ge],Oe=ke.pickId?[ke.pickId]:ke.pickIds||ke._pickIds;for(let Le=0;Le<Oe.length;Le++){let be=Oe[Le];if(be.color===Te||Ve.equals(be.color,Te))return Ie}}}return me}function Y(re){if(M){let se=re._us._frameState.camera._scene._view;J.framebuffer=M,J.execute(re,se.passState),J.framebuffer=void 0}}function z(re){if(N&&X.prevStageUpdate&&(N.update=X.prevStageUpdate,X.prevStageUpdate=null,X.prevStageExecute=null),N=re,!N)return;let se=N.update;X.prevStageUpdate=se,N.update=function(de,me){if(Y(de),F&&se.call(N,de,me),!!N.enabled)if(!f&&!m)ae(de,me);else{let Ce=N.selected||N.parentSelected;Ce&&Ce.length&&ae(de,me)}}}this.update=ae,this.clear=Y,Object.defineProperties(this,{texture:{get(){return F}},depthTexture:{get(){return k}},planeDepthTexture:{get(){return L}},stage:{get(){return N},set(re){N!==re&&z(re)}}})}function Fbe(o){let A=[];for(let f in o.defines)if(o.defines.hasOwnProperty(f)){let m=o.defines[f];A.push(`#define ${f} ${m}`)}return A=`${A.join(` `)} `,o.fragmentShader&&(o.fragmentShader=A+o.fragmentShader),o.vertexShader&&(o.vertexShader=A+o.vertexShader),o}var Gvi=` in vec2 v_textureCoordinates; uniform sampler2D colorTexture; uniform vec2 colorTextureDimensions; uniform vec2 direction; uniform float kernelRadius; float gaussianPdf(in float x, in float sigma) { return 0.39894 * exp( -0.5 * x * x/( sigma * sigma))/sigma; } void main() { vec2 vUv=v_textureCoordinates; vec2 invSize = 1.0 / colorTextureDimensions; float weightSum = gaussianPdf(0.0, kernelRadius); vec4 diffuseSum = texture( colorTexture, vUv) * weightSum; vec2 delta = direction * invSize * kernelRadius/float(MAX_RADIUS); vec2 uvOffset = delta; for( int i = 1; i <= MAX_RADIUS; i ++ ) { float w = gaussianPdf(uvOffset.x, kernelRadius); vec4 sample1 = texture( colorTexture, vUv + uvOffset); vec4 sample2 = texture( colorTexture, vUv - uvOffset); diffuseSum += ((sample1 + sample2) * w); weightSum += (2.0 * w); uvOffset += delta; } out_FragColor = diffuseSum/weightSum;}`;function Lee(o,A,f,m){let C=new rt(1,0),E=new rt(0,1),x={defines:{MAX_RADIUS:A},fragmentShader:Gvi};Fbe(x);let y=new wa({name:`${o}_x_direction`,fragmentShader:x.fragmentShader,textureScale:m,forcePowerOfTwo:!0,uniforms:{kernelRadius:f,direction:C},sampleMode:uE.LINEAR}),I=new wa({name:`${o}_y_direction`,fragmentShader:x.fragmentShader,textureScale:m,forcePowerOfTwo:!0,uniforms:{kernelRadius:f,direction:E},sampleMode:uE.LINEAR});return new dp({name:o,stages:[y,I],inputPreviousStageTexture:!0})}function v8(o,A){A=A||"OutlineEffect";let f=2,m=12*Math.PI/180,C=!1,E=!1,x=Ve.WHITE.clone(),y=Ve.RED.clone(),I=!1,v=1,B=3,Q=!1,T=oe(o,!1),w=new Lbe({name:`${A}Pass`,vertexShader:` //out vec3 vOutlineNormal; void main(){ // #ifdef HAS_NORMALS // vOutlineNormal = a_normalMC; // #else // #ifdef HAS_V_NORMAL // vOutlineNormal = v_normal; // #else // vOutlineNormal=vec3(0.); // #endif // #endif } `,fragmentShader:` //#extension GL_EXT_draw_buffers : enable //in vec3 vOutlineNormal; vec4 packDepth(float depth) { const vec4 bias = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0); float r = depth; float g = fract(r * 255.0); float b = fract(g * 255.0); float a = fract(b * 255.0); vec4 color = vec4(r, g, b, a); return color - (color.yzww * bias); } vec3 limitVec3(vec3 direct){ return (direct + vec3(1.0)) * 0.5; } void main(){ if(!czm_selected())discard; #ifdef HAS_NORMALS vec3 normalEC = v_normalEC; #else vec3 pos_dx = dFdx(v_positionEC); vec3 pos_dy = dFdy(v_positionEC); pos_dx = normalize(pos_dx); pos_dy = normalize(pos_dy); vec3 normalEC = cross(pos_dx, pos_dy); #endif if(length(normalEC)>0.) { vec3 vNormalEC = normalize(normalEC); out_FragColor=vec4(limitVec3(vNormalEC), out_FragColor.a); float planeDepth = abs(dot(v_positionEC, vNormalEC)); out_FragData_1 = packDepth(planeDepth/100000.0); } else { out_FragColor=vec4( 0.0 ); out_FragData_1=vec4( 0.0 ); } } `,sampler:new Oa({minificationFilter:Ba.LINEAR,magnificationFilter:Wu.LINEAR}),enableEntitySelect:T}),S=new wa({name:`${A}Mask`,uniforms:{outlineWidth(){return f},devicePixelRatio,thresholdAngle:function(){return m},useSingleColor:function(){return C},showOutlineOnly:function(){return E},visibleEdgeColor:function(){return x},hiddenEdgeColor:function(){return y},maskTexture(){return w.texture},maskDepthTexture(){return w.depthTexture},maskPlaneDepthTexture(){return w.planeDepthTexture}},fragmentShader:` uniform sampler2D colorTexture; uniform vec2 colorTextureDimensions; uniform sampler2D depthTexture; uniform sampler2D maskPlaneDepthTexture; uniform sampler2D maskTexture; uniform sampler2D maskDepthTexture; uniform float thresholdAngle; uniform bool showOutlineOnly; uniform float outlineWidth; uniform float devicePixelRatio; uniform vec3 visibleEdgeColor; uniform vec3 hiddenEdgeColor; uniform bool useSingleColor; in vec2 v_textureCoordinates; float lengthSq(vec3 v){ return v.x * v.x + v.y * v.y + v.z * v.z; } float normal_angleTo(vec3 a,vec3 b){ float denominator = sqrt( lengthSq(a) * lengthSq(b) ); if ( denominator == 0. ) return czm_pi / 2.; float theta = dot(a, b ) / denominator; // clamp, to handle numerical problems return acos( clamp( theta, - 1., 1. ) ); } float compareNormal(vec4 n1,vec4 n2){ float l1 = length( n1.xyz ); float l2 = length( n2.xyz ); if(l1 == 0.0 && l2 == 0.0) return 0.0; if( abs ( normal_angleTo( n1.xyz , n2.xyz ) ) < thresholdAngle ){ return 0.; }else{ return 1.; } } vec3 upLimitVec3(vec3 direct){ return direct * 2.0 - vec3(1.0); } const float UnpackDownscale = 255. / 256.; const vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. ); const vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. ); float unpackRGBAToDepth( const in vec4 v ) { return dot( v, UnpackFactors ); } float unpackDepth(const in vec4 rgba_depth) { const vec4 bitShifts = vec4(1.0, 1.0 / 255.0, 1.0 / (255.0 * 255.0), 1.0 / (255.0 * 255.0 * 255.0)); float depth = dot(rgba_depth, bitShifts); return depth; } float compareDepth(const in vec2 uv){ float maskDepth = czm_readDepth( maskDepthTexture, uv); float nonDepth = czm_readDepth( depthTexture, uv); return maskDepth>nonDepth?1.:0.; } void main(){ vec2 vUv=v_textureCoordinates; // vec4 color = texture( colorTexture, vUv); vec4 maskColor = texture( maskTexture, vUv); if( maskColor.a < 0.0001){ // out_FragColor =color; discard; return; } vec2 invSize = outlineWidth / colorTextureDimensions; vec4 uvOffset = vec4(1.0, 0.0, 0.0, 1.0) * vec4(invSize, invSize); vec4 c1 = texture( maskTexture, vUv + uvOffset.xy); //c1.xyz = upLimitVec3(c1.xyz); vec4 c2 = texture( maskTexture, vUv - uvOffset.xy); //c2.xyz = upLimitVec3(c2.xyz); vec4 c3 = texture( maskTexture, vUv + uvOffset.yw); //c3.xyz = upLimitVec3(c3.xyz); vec4 c4 = texture( maskTexture, vUv - uvOffset.yw); //c4.xyz = upLimitVec3(c4.xyz); float d; if(showOutlineOnly){ float diff1 = (c1.a - c2.a)*0.5; float diff2 = (c3.a - c4.a)*0.5; d = length( vec2(diff1, diff2) ); } else{ float diff1 = compareNormal(c1,c2)*0.5; float diff2 = compareNormal(c3,c4)*0.5; d = length( vec2(diff1, diff2) ); } // \u9762\u6DF1\u5EA6 vec4 pd1 = texture( maskPlaneDepthTexture, vUv + uvOffset.xy); vec4 pd2 = texture( maskPlaneDepthTexture, vUv - uvOffset.xy); vec4 pd3 = texture( maskPlaneDepthTexture, vUv + uvOffset.yw); vec4 pd4 = texture( maskPlaneDepthTexture, vUv - uvOffset.yw); float pdf1 = unpackDepth(pd1); float pdf2 = unpackDepth(pd2); float pdf3 = unpackDepth(pd3); float pdf4 = unpackDepth(pd4); bool fPdf = (abs(pdf1 - pdf2) > 0.00001 || abs(pdf3 - pdf4) > 0.00001); if(d < 0.0000001 && fPdf) { d = 0.5; } if(useSingleColor==false){ float dp1 = compareDepth( vUv + uvOffset.xy); float dp2 = compareDepth( vUv - uvOffset.xy); float dp3 = compareDepth( vUv + uvOffset.yw); float dp4 = compareDepth( vUv - uvOffset.yw); float a1 = min(dp1, dp2); float a2 = min(dp3, dp4); float visibilityFactor = min(a1, a2); vec3 edgeColor = 1.0 - visibilityFactor > 0.001 ? vec3(visibleEdgeColor) + vec3(0.01) : hiddenEdgeColor; // out_FragColor =color+ vec4( edgeColor , 1. ) * vec4(d); out_FragColor = vec4( edgeColor , 1. ) * vec4(d); }else{ // out_FragColor =color+ vec4( visibleEdgeColor , 1. ) * vec4(d); out_FragColor = vec4( visibleEdgeColor + vec3(0.01) , 1. ) * vec4(d); } } `});w.stage=S;let D=Lee(`${A}Blur1`,4,1,.75),R=Lee(`${A}Blur2`,4,4,.5),P=new dp({name:`${A}BlurComposite`,stages:[S,D,R],inputPreviousStageTexture:!0}),M=new wa({name:`${A}Additive`,uniforms:{showGlow:function(){return I},edgeGlow:function(){return v},edgeStrength:function(){return B},edgeOnly(){return Q},maskTexture(){return w.texture},lineTexture:S.name,edgeTexture1:D.name,edgeTexture2:P.name},fragmentShader:` uniform sampler2D colorTexture; uniform sampler2D edgeTexture1; uniform sampler2D edgeTexture2; uniform sampler2D lineTexture; uniform sampler2D maskTexture; uniform bool showGlow; uniform float edgeGlow; uniform bool edgeOnly; uniform float edgeStrength; in vec2 v_textureCoordinates; void main(){ vec2 vUv =v_textureCoordinates; vec4 edgeColor=texture( lineTexture, vUv); vec4 color=texture( colorTexture, vUv); float opacity=1.; if(edgeOnly){ vec4 maskColor=texture( maskTexture, vUv); opacity=1.-maskColor.a; out_FragColor = maskColor; return; } if(showGlow){ float visFactor= czm_selected()?1.:0.; vec4 edgeValue1 = texture(edgeTexture1, vUv); vec4 edgeValue2 = texture(edgeTexture2, vUv); vec4 glowColor = edgeValue1 + edgeValue2 * edgeGlow; out_FragColor = opacity * color + edgeColor + edgeStrength * (1. - edgeColor.r) * glowColor; } else{ if(edgeColor.r>0.0 && edgeColor.g>0.0 &&edgeColor.b>0.0 ) { out_FragColor = edgeColor; } else{ out_FragColor = opacity * color + edgeColor; } } } `}),L=new dp({name:`${A}Composite`,stages:[P,M],inputPreviousStageTexture:!1});function F(k){Object.defineProperties(k,{showGlow:{get(){return I},set(N){I=N}},edgeGlow:{get(){return v},set(N){v=N}},edgeStrength:{get(){return B},set(N){B=N}},thresholdAngle:{get(){return m},set(N){m=N}},showOutlineOnly:{get(){return E},set(N){E=N}},edgeOnly:{get(){return Q},set(N){Q=N}},useSingleColor:{get(){return C},set(N){C=N}},outlineWidth:{get(){return f},set(N){f=N}},visibleEdgeColor:{get(){return x},set(N){x=N}},hiddenEdgeColor:{get(){return y},set(N){y=N}}})}return F(L),L._uniforms=L._uniforms||{},F(L._uniforms),L}function Nbe(o){o=oe(o,1),this._radius=oe(o,1)}Object.defineProperties(Nbe.prototype,{radius:{get:function(){return this._radius},set:function(o){this._radius=o}}});Nbe.prototype.emit=function(o){let A=Be.randomBetween(0,Be.TWO_PI),f=Be.randomBetween(0,this._radius),m=f*Math.cos(A),C=f*Math.sin(A),E=0;o.position=Z.fromElements(m,C,E,o.position),o.velocity=Z.clone(Z.UNIT_Z,o.velocity)};var kbe=Nbe,Hvi=new rt(1,1);function Obe(o){o=oe(o,oe.EMPTY_OBJECT),this.mass=oe(o.mass,1),this.position=Z.clone(oe(o.position,Z.ZERO)),this.velocity=Z.clone(oe(o.velocity,Z.ZERO)),this.life=oe(o.life,Number.MAX_VALUE),this.image=o.image,this.startColor=Ve.clone(oe(o.startColor,Ve.WHITE)),this.endColor=Ve.clone(oe(o.endColor,Ve.WHITE)),this.startScale=oe(o.startScale,1),this.endScale=oe(o.endScale,1),this.imageSize=rt.clone(oe(o.imageSize,Hvi)),this._age=0,this._normalizedAge=0,this._billboard=void 0}Object.defineProperties(Obe.prototype,{age:{get:function(){return this._age}},normalizedAge:{get:function(){return this._normalizedAge}}});var b8e=new Z;Obe.prototype.update=function(o,A){return Z.multiplyByScalar(this.velocity,o,b8e),Z.add(this.position,b8e,this.position),O(A)&&A(this,o),this._age+=o,this.life===Number.MAX_VALUE?this._normalizedAge=0:this._normalizedAge=this._age/this.life,this._age<=this.life};var Hne=Obe,Q8e=new rt(1,1);function NJ(o){o=oe(o,oe.EMPTY_OBJECT),this.show=oe(o.show,!0),this.updateCallback=o.updateCallback,this.loop=oe(o.loop,!0),this.image=oe(o.image,void 0);let A=o.emitter;O(A)||(A=new kbe(.5)),this._emitter=A,this._bursts=o.bursts,this._modelMatrix=Re.clone(oe(o.modelMatrix,Re.IDENTITY)),this._emitterModelMatrix=Re.clone(oe(o.emitterModelMatrix,Re.IDENTITY)),this._matrixDirty=!0,this._combinedMatrix=new Re,this._startColor=Ve.clone(oe(o.color,oe(o.startColor,Ve.WHITE))),this._endColor=Ve.clone(oe(o.color,oe(o.endColor,Ve.WHITE))),this._startScale=oe(o.scale,oe(o.startScale,1)),this._endScale=oe(o.scale,oe(o.endScale,1)),this._emissionRate=oe(o.emissionRate,5),this._minimumSpeed=oe(o.speed,oe(o.minimumSpeed,1)),this._maximumSpeed=oe(o.speed,oe(o.maximumSpeed,1)),this._minimumParticleLife=oe(o.particleLife,oe(o.minimumParticleLife,5)),this._maximumParticleLife=oe(o.particleLife,oe(o.maximumParticleLife,5)),this._minimumMass=oe(o.mass,oe(o.minimumMass,1)),this._maximumMass=oe(o.mass,oe(o.maximumMass,1)),this._minimumImageSize=rt.clone(oe(o.imageSize,oe(o.minimumImageSize,Q8e))),this._maximumImageSize=rt.clone(oe(o.imageSize,oe(o.maximumImageSize,Q8e))),this._sizeInMeters=oe(o.sizeInMeters,!1),this._lifetime=oe(o.lifetime,Number.MAX_VALUE),this._billboardCollection=void 0,this._particles=[],this._particlePool=[],this._previousTime=void 0,this._currentTime=0,this._carryOver=0,this._complete=new ur,this._isComplete=!1,this._updateParticlePool=!0,this._particleEstimate=0}Object.defineProperties(NJ.prototype,{emitter:{get:function(){return this._emitter},set:function(o){this._emitter=o}},bursts:{get:function(){return this._bursts},set:function(o){this._bursts=o,this._updateParticlePool=!0}},modelMatrix:{get:function(){return this._modelMatrix},set:function(o){this._matrixDirty=this._matrixDirty||!Re.equals(this._modelMatrix,o),Re.clone(o,this._modelMatrix)}},emitterModelMatrix:{get:function(){return this._emitterModelMatrix},set:function(o){this._matrixDirty=this._matrixDirty||!Re.equals(this._emitterModelMatrix,o),Re.clone(o,this._emitterModelMatrix)}},startColor:{get:function(){return this._startColor},set:function(o){Ve.clone(o,this._startColor)}},endColor:{get:function(){return this._endColor},set:function(o){Ve.clone(o,this._endColor)}},startScale:{get:function(){return this._startScale},set:function(o){this._startScale=o}},endScale:{get:function(){return this._endScale},set:function(o){this._endScale=o}},emissionRate:{get:function(){return this._emissionRate},set:function(o){this._emissionRate=o,this._updateParticlePool=!0}},minimumSpeed:{get:function(){return this._minimumSpeed},set:function(o){this._minimumSpeed=o}},maximumSpeed:{get:function(){return this._maximumSpeed},set:function(o){this._maximumSpeed=o}},minimumParticleLife:{get:function(){return this._minimumParticleLife},set:function(o){this._minimumParticleLife=o}},maximumParticleLife:{get:function(){return this._maximumParticleLife},set:function(o){this._maximumParticleLife=o,this._updateParticlePool=!0}},minimumMass:{get:function(){return this._minimumMass},set:function(o){this._minimumMass=o}},maximumMass:{get:function(){return this._maximumMass},set:function(o){this._maximumMass=o}},minimumImageSize:{get:function(){return this._minimumImageSize},set:function(o){this._minimumImageSize=o}},maximumImageSize:{get:function(){return this._maximumImageSize},set:function(o){this._maximumImageSize=o}},sizeInMeters:{get:function(){return this._sizeInMeters},set:function(o){this._sizeInMeters=o}},lifetime:{get:function(){return this._lifetime},set:function(o){this._lifetime=o}},complete:{get:function(){return this._complete}},isComplete:{get:function(){return this._isComplete}}});function Vvi(o){let A=o._emissionRate,f=o._maximumParticleLife,m=0,C=o._bursts;if(O(C)){let Q=C.length;for(let T=0;T<Q;++T)m+=C[T].maximum}let E=o._billboardCollection,x=o.image,y=Math.ceil(A*f+m),I=o._particles,v=o._particlePool,B=Math.max(y-I.length-v.length,0);for(let Q=0;Q<B;++Q){let T=new Hne;T._billboard=E.add({image:x,show:!1}),v.push(T)}o._particleEstimate=y}function zvi(o){let A=o._particlePool.pop();return O(A)||(A=new Hne),A}function Yvi(o,A){o._particlePool.push(A)}function Jvi(o){let A=o._particles,f=o._particlePool,m=o._billboardCollection,C=A.length,E=f.length,x=o._particleEstimate,y=E-Math.max(x-C-E,0);for(let I=y;I<E;++I){let v=f[I];m.remove(v._billboard)}f.length=y}function Kvi(o){O(o._billboard)&&(o._billboard.show=!1)}function S8e(o,A){let f=A._billboard;O(f)||(f=A._billboard=o._billboardCollection.add({image:A.image})),f.width=A.imageSize.x,f.height=A.imageSize.y,f.position=A.position,f.sizeInMeters=o.sizeInMeters,f.show=!0;let m=Be.lerp(A.startColor.red,A.endColor.red,A.normalizedAge),C=Be.lerp(A.startColor.green,A.endColor.green,A.normalizedAge),E=Be.lerp(A.startColor.blue,A.endColor.blue,A.normalizedAge),x=Be.lerp(A.startColor.alpha,A.endColor.alpha,A.normalizedAge);f.color=new Ve(m,C,E,x),f.scale=Be.lerp(A.startScale,A.endScale,A.normalizedAge)}function Wvi(o,A){A.startColor=Ve.clone(o._startColor,A.startColor),A.endColor=Ve.clone(o._endColor,A.endColor),A.startScale=o._startScale,A.endScale=o._endScale,A.image=o.image,A.life=Be.randomBetween(o._minimumParticleLife,o._maximumParticleLife),A.mass=Be.randomBetween(o._minimumMass,o._maximumMass),A.imageSize.x=Be.randomBetween(o._minimumImageSize.x,o._maximumImageSize.x),A.imageSize.y=Be.randomBetween(o._minimumImageSize.y,o._maximumImageSize.y),A._normalizedAge=0,A._age=0;let f=Be.randomBetween(o._minimumSpeed,o._maximumSpeed);Z.multiplyByScalar(A.velocity,f,A.velocity),o._particles.push(A)}function jvi(o,A){if(o._isComplete)return 0;A=Be.mod(A,o._lifetime);let f=A*o._emissionRate,m=Math.floor(f);if(o._carryOver+=f-m,o._carryOver>1&&(m++,o._carryOver-=1),O(o.bursts)){let C=o.bursts.length;for(let E=0;E<C;E++){let x=o.bursts[E],y=o._currentTime;O(x)&&!x._complete&&y>x.time&&(m+=Be.randomBetween(x.minimum,x.maximum),x._complete=!0)}}return m}var zX=new Z;NJ.prototype.update=function(o){if(!this.show)return;O(this._billboardCollection)||(this._billboardCollection=new Tx),this._updateParticlePool&&(Vvi(this),this._updateParticlePool=!1);let A=0;this._previousTime&&(A=Zt.secondsDifference(o.time,this._previousTime)),A<0&&(A=0);let f=this._particles,m=this._emitter,C=this.updateCallback,E,x,y=f.length;for(E=0;E<y;++E)x=f[E],x.update(A,C)?S8e(this,x):(Kvi(x),Yvi(this,x),f[E]=f[y-1],--E,--y);f.length=y;let I=jvi(this,A);if(I>0&&O(m)){this._matrixDirty&&(this._combinedMatrix=Re.multiply(this.modelMatrix,this.emitterModelMatrix,this._combinedMatrix),this._matrixDirty=!1);let v=this._combinedMatrix;for(E=0;E<I;E++)x=zvi(this),this._emitter.emit(x),Z.add(x.position,x.velocity,zX),Re.multiplyByPoint(v,zX,zX),x.position=Re.multiplyByPoint(v,x.position,x.position),Z.subtract(zX,x.position,x.velocity),Z.normalize(x.velocity,x.velocity),Wvi(this,x),S8e(this,x)}if(this._billboardCollection.update(o),this._previousTime=Zt.clone(o.time,this._previousTime),this._currentTime+=A,this._lifetime!==Number.MAX_VALUE&&this._currentTime>this._lifetime)if(this.loop){if(this._currentTime=Be.mod(this._currentTime,this._lifetime),this.bursts){let v=this.bursts.length;for(E=0;E<v;E++)this.bursts[E]._complete=!1}}else this._isComplete=!0,this._complete.raiseEvent(this);o.frameNumber%120===0&&Jvi(this)};NJ.prototype.isDestroyed=function(){return!1};NJ.prototype.destroy=function(){return this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),Ar(this)};var Iv=NJ,qvi=new Z(1,1,1);function Ube(o){o=oe(o,qvi),this._dimensions=Z.clone(o)}Object.defineProperties(Ube.prototype,{dimensions:{get:function(){return this._dimensions},set:function(o){Z.clone(o,this._dimensions)}}});var Xvi=new Z;Ube.prototype.emit=function(o){let A=this._dimensions,f=Z.multiplyByScalar(A,.5,Xvi),m=Be.randomBetween(-f.x,f.x),C=Be.randomBetween(-f.y,f.y),E=Be.randomBetween(-f.z,f.z);o.position=Z.fromElements(m,C,E,o.position),o.velocity=Z.normalize(o.position,o.velocity)};var Vne=Ube;function kJ(o){this._primitive=o,this._primitive.ripple=!1,this._primitive.snow=!1,this._primitive.heightFog=!1,this._primitive.fogHeight=100,this._primitive.regionAlpha=1,this._primitive.regionGradientDistance=1,this._ripple=!1,this._snow=!1,this._heightFog=!1}Object.defineProperties(kJ.prototype,{ripple:{set:function(o){this._ripple!==o&&(this._primitive.snow=!1,this._primitive.heightFog=!1),this._primitive.ripple=o,this._ripple=o}},snow:{set:function(o){this._snow!==o&&(this._primitive.ripple=!1,this._primitive.heightFog=!1),this._primitive.snow=o,this._snow=o}},heightFog:{set:function(o){this._heightFog!==o&&(this._primitive.snow=!1,this._primitive.ripple=!1),this._primitive.heightFog=o,this._heightFog=o}},fogHeight:{set:function(o){this._primitive.fogHeight=o}},regionAlpha:{set:function(o){this._primitive.regionAlpha=o}},regionGradientDistance:{set:function(o){this._primitive.regionGradientDistance=o}},disabled:{set:function(o){this.ripple=o,this.snow=o,this.heightFog=o,this._primitive.ripple=!1,this._primitive.snow=!1,this._primitive.heightFog=!1}}});kJ.prototype.addPolygon=function(o){this._primitive.addFlattenPolygon(o)};kJ.prototype.clearPolygon=function(){this._primitive.clearFlattenPolygon()};kJ.prototype.update=function(){this._primitive.update()};var Gbe=kJ;function OJ(o){this._terrainFlatten=new bT(o),this._terrainFlatten.ripple=!1,this._terrainFlatten.snow=!1,this._terrainFlatten.heightFog=!1,this._terrainFlatten.fogHeight=100,this._terrainFlatten.regionAlpha=1,this._terrainFlatten.regionGradientDistance=10,this._ripple=!1,this._snow=!1,this._heightFog=!1}Object.defineProperties(OJ.prototype,{ripple:{set:function(o){this._ripple!==o&&(this._terrainFlatten.snow=!1,this._terrainFlatten.heightFog=!1),this._terrainFlatten.ripple=o,this._ripple=o}},snow:{set:function(o){this._snow!==o&&(this._terrainFlatten.ripple=!1,this._terrainFlatten.heightFog=!1),this._terrainFlatten.snow=o,this._snow=o}},heightFog:{set:function(o){this._heightFog!==o&&(this._terrainFlatten.snow=!1,this._terrainFlatten.ripple=!1),this._terrainFlatten.heightFog=o,this._heightFog=o}},fogHeight:{set:function(o){this._terrainFlatten.fogHeight=o}},regionAlpha:{set:function(o){this._terrainFlatten.regionAlpha=o}},regionGradientDistance:{set:function(o){this._terrainFlatten.regionGradientDistance=o}},disabled:{set:function(o){this.ripple=o,this.snow=o,this.heightFog=o,this._terrainFlatten.ripple=!1,this._terrainFlatten.snow=!1,this._terrainFlatten.heightFog=!1}}});OJ.prototype.addPolygon=function(o){this._terrainFlatten.addPolygon(o)};OJ.prototype.clearPolygon=function(){this._terrainFlatten.clearPolygon()};OJ.prototype.update=function(){this._terrainFlatten.update()};var Hbe=OJ;function Zvi(o,A,f){let m=new rt(15,30),C=new Z,E=function(x,y){C=Z.normalize(x.position,C),C=Z.multiplyByScalar(C,-1050,C),x.position=Z.add(x.position,C,x.position);let I=Z.distance(o.camera.position,x.position),v=1;f<1e5&&(v=.1/(f/1e5));let B=f*v;I>B?x.endColor.alpha=0:x.endColor.alpha=Ve.BLUE.alpha/(I/B+.1)};return new Iv({modelMatrix:new Re.fromTranslation(A),speed:-1,lifetime:15,emitter:new Vne(new Z(f,f,f)),startScale:5,endScale:0,image:`${globalThis.GEOWORLD_BASE_URL}Assets/Textures/littleRain.png`,emissionRate:9e3,startColor:new Ve(.8,.8,.8,0),endColor:new Ve(.8,.8,.8,.9),imageSize:m,updateCallback:E})}function $vi(o,A,f){let m=new rt(12,12),C=new rt(12*2,12*2),E=new Z,x=function(y,I){E=Z.normalize(y.position,E),Z.multiplyByScalar(E,Be.randomBetween(-30,-300),E),y.velocity=Z.add(y.velocity,E,y.velocity);let v=Z.distance(o.camera.position,y.position);v>f?y.endColor.alpha=0:y.endColor.alpha=1/(v/f+.1)};return new Iv({modelMatrix:new Re.fromTranslation(A),minimumSpeed:-1,maximumSpeed:0,lifetime:15,emitter:new Vne(new Z(f,f,f)),startScale:.5,endScale:1,image:`${globalThis.GEOWORLD_BASE_URL}Assets/Textures/snow.png`,emissionRate:7e3,startColor:Ve.WHITE.withAlpha(0),endColor:Ve.WHITE.withAlpha(1),minimumImageSize:m,maximumImageSize:C,updateCallback:x})}function eBi(o,A){let f=kr.eastNorthUpToFixedFrame(o),m=Re.multiplyByPoint(f,new Z(A*.5,A*.5,0),new Z),C=Re.multiplyByPoint(f,new Z(A*.5,-A*.5,0),new Z),E=Re.multiplyByPoint(f,new Z(-A*.5,-A*.5,0),new Z),x=Re.multiplyByPoint(f,new Z(-A*.5,A*.5,0),new Z),y=Rt.fromCartesian(m),I=Rt.fromCartesian(C),v=Rt.fromCartesian(E),B=Rt.fromCartesian(x);return[Be.toDegrees(y.longitude),Be.toDegrees(y.latitude),-1e4,Be.toDegrees(I.longitude),Be.toDegrees(I.latitude),-1e4,Be.toDegrees(v.longitude),Be.toDegrees(v.latitude),-1e4,Be.toDegrees(B.longitude),Be.toDegrees(B.latitude),-1e4]}function Xl(o,A,f,m){this._scene=o,this._primitive=A,this._position=f,this._radius=m,A&&(this._tilesetWeather=new Gbe(A)),o&&(this._terrainWeather=new Hbe(o)),this._enableWeatherType=Xl.TYPE_NONE,this._region=eBi(f,m),this._skyAtmosphereHueShift=o.skyAtmosphere.hueShift,this._skyAtmosphereSaturationShift=o.skyAtmosphere.saturationShift,this._skyAtmosphereBrightnessShift=o.skyAtmosphere.brightnessShift,this._fogDensity=o.fog.density,this._fogMinimumBrightness=o.fog.minimumBrightness}Object.defineProperties(Xl.prototype,{enableWeatherType:{get:function(){return this._enableWeatherType},set:function(o){this._enableWeatherType!==o&&(this._enableWeatherType!==Xl.TYPE_RAIN&&this._enableWeatherType!==Xl.TYPE_SNOW&&this._enableWeatherType!==Xl.TYPE_HEIGHT_FOG&&(o===Xl.TYPE_RAIN||o===Xl.TYPE_SNOW||o===Xl.TYPE_HEIGHT_FOG)&&(this.addPolygon(this._region),this.update()),(this._enableWeatherType===Xl.TYPE_RAIN||this._enableWeatherType===Xl.TYPE_SNOW||this._enableWeatherType===Xl.TYPE_HEIGHT_FOG)&&o!==Xl.TYPE_RAIN&&o!==Xl.TYPE_SNOW&&o!==Xl.TYPE_HEIGHT_FOG&&this.clearPolygon(),o===Xl.TYPE_RAIN?this.enableRainSnowFog(o):o===Xl.TYPE_SNOW?this.enableRainSnowFog(o):o===Xl.TYPE_HEIGHT_FOG?this.enableRainSnowFog(o):o===Xl.TYPE_NONE&&this.disableRainSnowFog(),this._enableWeatherType=o)}},fogHeight:{set:function(o){this._tilesetWeather&&(this._tilesetWeather.fogHeight=o),this._terrainWeather&&(this._terrainWeather.fogHeight=o)}},regionAlpha:{set:function(o){this._tilesetWeather&&(this._tilesetWeather.regionAlpha=o),this._terrainWeather&&(this._terrainWeather.regionAlpha=o)}},regionGradientDistance:{set:function(o){this._tilesetWeather&&(this._tilesetWeather.regionGradientDistance=o),this._terrainWeather&&(this._terrainWeather.regionGradientDistance=o)}}});Xl.prototype.enableRainSnowFog=function(o){let A=this._scene,f=this._position,m=this._radius;A.skyAtmosphere.hueShift=-.97,A.skyAtmosphere.saturationShift=.25,A.skyAtmosphere.brightnessShift=-.4,A.fog.density=25e-5,A.fog.minimumBrightness=.005,this._weatherParticle&&A.primitives.remove(this._weatherParticle),o===Xl.TYPE_RAIN?(this._weatherParticle=Zvi(A,f,m),A.primitives.add(this._weatherParticle)):o===Xl.TYPE_SNOW&&(this._weatherParticle=$vi(A,f,m),A.primitives.add(this._weatherParticle)),this._terrainWeather.disabled=!0,this._terrainWeather&&(o===Xl.TYPE_RAIN?this._terrainWeather.ripple=!0:o===Xl.TYPE_SNOW?this._terrainWeather.snow=!0:o===Xl.TYPE_HEIGHT_FOG?this._terrainWeather.heightFog=!0:o===Xl.TYPE_NONE&&(this._terrainWeather.disabled=!0)),this._tilesetWeather.disabled=!0,this._tilesetWeather&&(o===Xl.TYPE_RAIN?this._tilesetWeather.ripple=!0:o===Xl.TYPE_SNOW?this._tilesetWeather.snow=!0:o===Xl.TYPE_HEIGHT_FOG?this._tilesetWeather.heightFog=!0:o===Xl.TYPE_NONE&&(this._tilesetWeather.disabled=!0))};Xl.prototype.disableRainSnowFog=function(){let o=this._scene;o.skyAtmosphere.hueShift=this._skyAtmosphereHueShift,o.skyAtmosphere.saturationShift=this._skyAtmosphereSaturationShift,o.skyAtmosphere.brightnessShift=this._skyAtmosphereBrightnessShift,o.fog.density=this._fogDensity,o.fog.minimumBrightness=this._fogMinimumBrightness,this._weatherParticle&&o.primitives.remove(this._weatherParticle)};Xl.prototype.addPolygon=function(){if(this._terrainWeather&&this._terrainWeather.addPolygon(this._region),this._tilesetWeather){let o=mA.fromPositions({positions:Z.fromDegreesArrayHeights(this._region),perPositionHeight:!0});this._tilesetWeather.addPolygon(o)}};Xl.prototype.clearPolygon=function(){this._terrainWeather&&this._terrainWeather.clearPolygon(),this._tilesetWeather&&this._tilesetWeather.clearPolygon()};Xl.prototype.update=function(){this._terrainWeather&&this._terrainWeather.update(),this._tilesetWeather};Xl.TYPE_RAIN=0;Xl.TYPE_SNOW=1;Xl.TYPE_HEIGHT_FOG=2;Xl.TYPE_NONE=3;var zne=Xl;function uz(o,A,f){let m=A[o.id];if(O(m)){let C=m.primitive;f.remove(C),C.isDestroyed()||C.destroy(),delete A[o.id]}}var Yne=`in vec4 position; in vec3 normal; out vec3 v_position; out vec3 v_positionWC; out vec3 v_positionEC; out vec3 v_normalEC; void main() { gl_Position = czm_modelViewProjection * position; v_position = vec3(position); v_positionWC = (czm_model * position).xyz; v_positionEC = (czm_modelView * position).xyz; v_normalEC = czm_normal * normal; } `,Fee=`#ifdef GL_OES_standard_derivatives #extension GL_OES_standard_derivatives : enable #endif uniform bool u_showIntersection; uniform bool u_showThroughEllipsoid; uniform float u_radius; uniform float u_xHalfAngle; uniform float u_yHalfAngle; uniform float u_normalDirection; uniform float u_type; in vec3 v_position; in vec3 v_positionWC; in vec3 v_positionEC; in vec3 v_normalEC; vec4 getColor(float sensorRadius, vec3 pointEC) { czm_materialInput materialInput; vec3 pointMC = (czm_inverseModelView * vec4(pointEC, 1.0)).xyz; materialInput.st = sensor2dTextureCoordinates(sensorRadius, pointMC); materialInput.str = pointMC / sensorRadius; vec3 positionToEyeEC = -v_positionEC; materialInput.positionToEyeEC = positionToEyeEC; vec3 normalEC = normalize(v_normalEC); materialInput.normalEC = u_normalDirection * normalEC; czm_material material = czm_getMaterial(materialInput); return mix(czm_phong(normalize(positionToEyeEC), material,czm_lightDirectionEC), vec4(material.diffuse, material.alpha), 0.4); } bool isOnBoundary(float value, float epsilon) { float width = getIntersectionWidth(); float tolerance = width * epsilon; #ifdef GL_OES_standard_derivatives float delta = max(abs(dFdx(value)), abs(dFdy(value))); float pixels = width * delta; float temp = abs(value); // There are a couple things going on here. // First we test the value at the current fragment to see if it is within the tolerance. // We also want to check if the value of an adjacent pixel is within the tolerance, // but we don't want to admit points that are obviously not on the surface. // For example, if we are looking for "value" to be close to 0, but value is 1 and the adjacent value is 2, // then the delta would be 1 and "temp - delta" would be "1 - 1" which is zero even though neither of // the points is close to zero. return temp < tolerance && temp < pixels || (delta < 10.0 * tolerance && temp - delta < tolerance && temp < pixels); #else return abs(value) < tolerance; #endif } vec4 shade(bool isOnBoundary) { if (u_showIntersection && isOnBoundary) { return getIntersectionColor(); } if(u_type == 1.0){ return getLineColor(); } return getColor(u_radius, v_positionEC); } float ellipsoidSurfaceFunction(vec3 point) { vec3 scaled = czm_ellipsoidInverseRadii * point; return dot(scaled, scaled) - 1.0; } void main() { vec3 sensorVertexWC = czm_model[3].xyz; // (0.0, 0.0, 0.0) in model coordinates vec3 sensorVertexEC = czm_modelView[3].xyz; // (0.0, 0.0, 0.0) in model coordinates //vec3 pixDir = normalize(v_position); float positionX = v_position.x; float positionY = v_position.y; float positionZ = v_position.z; vec3 zDir = vec3(0.0, 0.0, 1.0); vec3 lineX = vec3(positionX, 0 ,positionZ); vec3 lineY = vec3(0, positionY, positionZ); float resX = dot(normalize(lineX), zDir); if(resX < cos(u_xHalfAngle)-0.00001){ discard; } float resY = dot(normalize(lineY), zDir); if(resY < cos(u_yHalfAngle)-0.00001){ discard; } // czm_ellipsoid ellipsoid = czm_getWgs84EllipsoidEC(); float ellipsoidValue = ellipsoidSurfaceFunction(v_positionWC); // Occluded by the ellipsoid? if (!u_showThroughEllipsoid) { // Discard if in the ellipsoid // PERFORMANCE_IDEA: A coarse check for ellipsoid intersection could be done on the CPU first. if (ellipsoidValue < 0.0) { discard; } // Discard if in the sensor's shadow if (inSensorShadow(sensorVertexWC, v_positionWC)) { discard; } } // Notes: Each surface functions should have an associated tolerance based on the floating point error. bool isOnEllipsoid = isOnBoundary(ellipsoidValue, czm_epsilon3); //isOnEllipsoid = false; //if((resX >= 0.8 && resX <= 0.81)||(resY >= 0.8 && resY <= 0.81)){ /*if(false){ out_FragColor = vec4(1.0,0.0,0.0,1.0); }else{ out_FragColor = shade(isOnEllipsoid); } */ out_FragColor = shade(isOnEllipsoid); } `,Az=`uniform vec4 u_intersectionColor; uniform float u_intersectionWidth; uniform vec4 u_lineColor; bool inSensorShadow(vec3 coneVertexWC, vec3 pointWC) { // Diagonal matrix from the unscaled ellipsoid space to the scaled space. vec3 D = czm_ellipsoidInverseRadii; // Sensor vertex in the scaled ellipsoid space vec3 q = D * coneVertexWC; float qMagnitudeSquared = dot(q, q); float test = qMagnitudeSquared - 1.0; // Sensor vertex to fragment vector in the ellipsoid's scaled space vec3 temp = D * pointWC - q; float d = dot(temp, q); // Behind silhouette plane and inside silhouette cone return (d < -test) && (d / length(temp) < -sqrt(test)); } /////////////////////////////////////////////////////////////////////////////// vec4 getLineColor() { return u_lineColor; } vec4 getIntersectionColor() { return u_intersectionColor; } float getIntersectionWidth() { return u_intersectionWidth; } vec2 sensor2dTextureCoordinates(float sensorRadius, vec3 pointMC) { // (s, t) both in the range [0, 1] float t = pointMC.z / sensorRadius; float s = 1.0 + (atan(pointMC.y, pointMC.x) / czm_twoPi); s = s - floor(s); return vec2(s, t); } `,Vbe=`#ifdef GL_OES_standard_derivatives #extension GL_OES_standard_derivatives : enable #endif uniform bool u_showIntersection; uniform bool u_showThroughEllipsoid; uniform float u_radius; uniform float u_xHalfAngle; uniform float u_yHalfAngle; uniform float u_normalDirection; uniform vec4 u_color; in vec3 v_position; in vec3 v_positionWC; in vec3 v_positionEC; in vec3 v_normalEC; vec4 getColor(float sensorRadius, vec3 pointEC) { czm_materialInput materialInput; vec3 pointMC = (czm_inverseModelView * vec4(pointEC, 1.0)).xyz; materialInput.st = sensor2dTextureCoordinates(sensorRadius, pointMC); materialInput.str = pointMC / sensorRadius; vec3 positionToEyeEC = -v_positionEC; materialInput.positionToEyeEC = positionToEyeEC; vec3 normalEC = normalize(v_normalEC); materialInput.normalEC = u_normalDirection * normalEC; czm_material material = czm_getMaterial(materialInput); material.diffuse = u_color.rgb; material.alpha = u_color.a; return mix(czm_phong(normalize(positionToEyeEC), material,czm_lightDirectionEC), vec4(material.diffuse, material.alpha), 0.4); } bool isOnBoundary(float value, float epsilon) { float width = getIntersectionWidth(); float tolerance = width * epsilon; #ifdef GL_OES_standard_derivatives float delta = max(abs(dFdx(value)), abs(dFdy(value))); float pixels = width * delta; float temp = abs(value); // There are a couple things going on here. // First we test the value at the current fragment to see if it is within the tolerance. // We also want to check if the value of an adjacent pixel is within the tolerance, // but we don't want to admit points that are obviously not on the surface. // For example, if we are looking for "value" to be close to 0, but value is 1 and the adjacent value is 2, // then the delta would be 1 and "temp - delta" would be "1 - 1" which is zero even though neither of // the points is close to zero. return temp < tolerance && temp < pixels || (delta < 10.0 * tolerance && temp - delta < tolerance && temp < pixels); #else return abs(value) < tolerance; #endif } vec4 shade(bool isOnBoundary) { if (u_showIntersection && isOnBoundary) { return getIntersectionColor(); } return getColor(u_radius, v_positionEC); } float ellipsoidSurfaceFunction(vec3 point) { vec3 scaled = czm_ellipsoidInverseRadii * point; return dot(scaled, scaled) - 1.0; } void main() { vec3 sensorVertexWC = czm_model[3].xyz; // (0.0, 0.0, 0.0) in model coordinates vec3 sensorVertexEC = czm_modelView[3].xyz; // (0.0, 0.0, 0.0) in model coordinates //vec3 pixDir = normalize(v_position); float positionX = v_position.x; float positionY = v_position.y; float positionZ = v_position.z; vec3 zDir = vec3(0.0, 0.0, 1.0); vec3 lineX = vec3(positionX, 0 ,positionZ); vec3 lineY = vec3(0, positionY, positionZ); float resX = dot(normalize(lineX), zDir); if(resX < cos(u_xHalfAngle) - 0.0001){ discard; } float resY = dot(normalize(lineY), zDir); if(resY < cos(u_yHalfAngle)- 0.0001){ discard; } // czm_ellipsoid ellipsoid = czm_getWgs84EllipsoidEC(); float ellipsoidValue = ellipsoidSurfaceFunction(v_positionWC); // Occluded by the ellipsoid? if (!u_showThroughEllipsoid) { // Discard if in the ellipsoid // PERFORMANCE_IDEA: A coare check for ellipsoid intersection could be done on the CPU first. if (ellipsoidValue < 0.0) { discard; } // Discard if in the sensor's shadow if (inSensorShadow(sensorVertexWC, v_positionWC)) { discard; } } // Notes: Each surface functions should have an associated tolerane based on the floating point error. bool isOnEllipsoid = isOnBoundary(ellipsoidValue, czm_epsilon3); out_FragColor = shade(isOnEllipsoid); } `,D8e=Math.sin,f5=Math.cos,Nee=Math.tan,kee=Math.atan,Hb={position:0,normal:1};function vrt(o){let A=this;o=oe(o,oe.EMPTY_OBJECT),this.show=oe(o.show,!0),this.slice=oe(o.slice,32),this.modelMatrix=Re.clone(o.modelMatrix,new Re),this._modelMatrix=new Re,this._computedModelMatrix=new Re,this._computedScanPlaneModelMatrix=new Re,this.radius=oe(o.radius,Number.POSITIVE_INFINITY),this._radius=void 0,this.xHalfAngle=oe(o.xHalfAngle,0),this._xHalfAngle=void 0,this.yHalfAngle=oe(o.yHalfAngle,0),this._yHalfAngle=void 0,this.lineColor=oe(o.lineColor,Ve.WHITE),this.showSectorLines=oe(o.showSectorLines,!0),this.showSectorSegmentLines=oe(o.showSectorSegmentLines,!0),this.showLateralSurfaces=oe(o.showLateralSurfaces,!0),this.material=O(o.material)?o.material:go.fromType(go.ColorType),this._material=void 0,this._translucent=void 0,this.lateralSurfaceMaterial=O(o.lateralSurfaceMaterial)?o.lateralSurfaceMaterial:go.fromType(go.ColorType),this._lateralSurfaceMaterial=void 0,this._lateralSurfaceTranslucent=void 0,this.showDomeSurfaces=oe(o.showDomeSurfaces,!0),this.domeSurfaceMaterial=O(o.domeSurfaceMaterial)?o.domeSurfaceMaterial:go.fromType(go.ColorType),this._domeSurfaceMaterial=void 0,this.showDomeLines=oe(o.showDomeLines,!0),this.showIntersection=oe(o.showIntersection,!0),this.intersectionColor=oe(o.intersectionColor,Ve.WHITE),this.intersectionWidth=oe(o.intersectionWidth,5),this.showThroughEllipsoid=oe(o.showThroughEllipsoid,!1),this._showThroughEllipsoid=void 0,this.showScanPlane=oe(o.showScanPlane,!0),this.scanPlaneColor=oe(o.scanPlaneColor,Ve.WHITE),this.scanPlaneMode=oe(o.scanPlaneMode,"horizontal"),this.scanPlaneRate=oe(o.scanPlaneRate,10),this._scanePlaneXHalfAngle=0,this._scanePlaneYHalfAngle=0,this._time=Zt.now(),this._boundingSphere=new hi,this._boundingSphereWC=new hi,this._sectorFrontCommand=new fn({owner:this,primitiveType:on.TRIANGLES,boundingVolume:this._boundingSphereWC}),this._sectorBackCommand=new fn({owner:this,primitiveType:on.TRIANGLES,boundingVolume:this._boundingSphereWC}),this._sectorVA=void 0,this._sectorLineCommand=new fn({owner:this,primitiveType:on.LINES,boundingVolume:this._boundingSphereWC}),this._sectorLineVA=void 0,this._sectorSegmentLineCommand=new fn({owner:this,primitiveType:on.LINES,boundingVolume:this._boundingSphereWC}),this._sectorSegmentLineVA=void 0,this._domeFrontCommand=new fn({owner:this,primitiveType:on.TRIANGLES,boundingVolume:this._boundingSphereWC}),this._domeBackCommand=new fn({owner:this,primitiveType:on.TRIANGLES,boundingVolume:this._boundingSphereWC}),this._domeVA=void 0,this._domeLineCommand=new fn({owner:this,primitiveType:on.LINES,boundingVolume:this._boundingSphereWC}),this._domeLineVA=void 0,this._scanPlaneFrontCommand=new fn({owner:this,primitiveType:on.TRIANGLES,boundingVolume:this._boundingSphereWC}),this._scanPlaneBackCommand=new fn({owner:this,primitiveType:on.TRIANGLES,boundingVolume:this._boundingSphereWC}),this._scanRadialCommand=void 0,this._colorCommands=[],this._frontFaceRS=void 0,this._backFaceRS=void 0,this._sp=void 0,this._uniforms={u_type:function(){return 0},u_xHalfAngle:function(){return A.xHalfAngle},u_yHalfAngle:function(){return A.yHalfAngle},u_radius:function(){return A.radius},u_showThroughEllipsoid:function(){return A.showThroughEllipsoid},u_showIntersection:function(){return A.showIntersection},u_intersectionColor:function(){return A.intersectionColor},u_intersectionWidth:function(){return A.intersectionWidth},u_normalDirection:function(){return 1},u_lineColor:function(){return A.lineColor}},this._scanUniforms={u_xHalfAngle:function(){return A._scanePlaneXHalfAngle},u_yHalfAngle:function(){return A._scanePlaneYHalfAngle},u_radius:function(){return A.radius},u_color:function(){return A.scanPlaneColor},u_showThroughEllipsoid:function(){return A.showThroughEllipsoid},u_showIntersection:function(){return A.showIntersection},u_intersectionColor:function(){return A.intersectionColor},u_intersectionWidth:function(){return A.intersectionWidth},u_normalDirection:function(){return 1},u_lineColor:function(){return A.lineColor}}}vrt.prototype.update=function(o){let A=o.mode;if(!this.show||A!==ni.SCENE3D)return;let f=!1,m=!1,C=!1,E=this.xHalfAngle,x=this.yHalfAngle;if(E<0||x<0)throw new Ai("halfAngle must be greater than or equal to zero.");if(E===0||x===0)return;(this._xHalfAngle!==E||this._yHalfAngle!==x)&&(this._xHalfAngle=E,this._yHalfAngle=x,f=!0);let y=this.radius;if(y<0)throw new Ai("this.radius must be greater than or equal to zero.");let I=!1;this._radius!==y&&(I=!0,this._radius=y,this._boundingSphere=new hi(Z.ZERO,this.radius)),(!Re.equals(this.modelMatrix,this._modelMatrix)||I)&&(Re.clone(this.modelMatrix,this._modelMatrix),Re.multiplyByUniformScale(this.modelMatrix,this.radius,this._computedModelMatrix),hi.transform(this._boundingSphere,this.modelMatrix,this._boundingSphereWC));let v=this.showThroughEllipsoid;this._showThroughEllipsoid!==this.showThroughEllipsoid&&(this._showThroughEllipsoid=v,m=!0);let B=this.material;this._material!==B&&(this._material=B,m=!0,C=!0);let Q=B.isTranslucent();if(this._translucent!==Q&&(this._translucent=Q,m=!0),this.showScanPlane){let D=o.time,R=Zt.secondsDifference(D,this._time);R<0&&(this._time=Zt.clone(D,this._time));let P=Math.max(R%this.scanPlaneRate/this.scanPlaneRate,0),M;if(this.scanPlaneMode==="horizontal"){M=2*x*P-x;let L=f5(M),F=Nee(E),k=kee(L*F);this._scanePlaneXHalfAngle=k,this._scanePlaneYHalfAngle=M,Gt.fromRotationX(this._scanePlaneYHalfAngle,ZF)}else{M=2*E*P-E;let L=Nee(x),F=f5(M),k=kee(F*L);this._scanePlaneXHalfAngle=M,this._scanePlaneYHalfAngle=k,Gt.fromRotationY(this._scanePlaneXHalfAngle,ZF)}Re.multiplyByMatrix3(this.modelMatrix,ZF,this._computedScanPlaneModelMatrix),Re.multiplyByUniformScale(this._computedScanPlaneModelMatrix,this.radius,this._computedScanPlaneModelMatrix)}f&&sBi(this,o),m&&cBi(this,v,Q),C&&ABi(this,o,B),(m||C)&&hBi(this,Q);let T=o.commandList,w=o.passes,S=this._colorCommands;if(w.render)for(let D=0,R=S.length;D<R;D++){let P=S[D];T.push(P)}};var ZF=new Gt,T8e=new Z;function Ide(o,A,f){let m=o.slice,C=f5(f),E=Nee(f),x=f5(A),y=Nee(A),I=kee(x*E),v=kee(C*y),B=[];for(let T=0;T<m;T++){let w=2*I*T/(m-1)-I;B.push(new Z(0,D8e(w),f5(w)))}let Q=[];for(let T=0;T<m;T++){let w=2*v*T/(m-1)-v;Q.push(new Z(D8e(w),0,f5(w)))}return{zoy:B,zox:Q}}function tBi(o,A){let f=o.xHalfAngle,m=o.yHalfAngle,C=A.zoy,E=A.zox,x=[],y=Gt.fromRotationY(f,ZF);return x.push(C.map(function(I){return Gt.multiplyByVector(y,I,new Z)})),y=Gt.fromRotationX(-m,ZF),x.push(E.map(function(I){return Gt.multiplyByVector(y,I,new Z)}).reverse()),y=Gt.fromRotationY(-f,ZF),x.push(C.map(function(I){return Gt.multiplyByVector(y,I,new Z)}).reverse()),y=Gt.fromRotationX(m,ZF),x.push(E.map(function(I){return Gt.multiplyByVector(y,I,new Z)})),x}function iBi(o,A){let f=Array.prototype.concat.apply([],A).length-A.length,m=new Float32Array(2*3*3*f),C=0;for(let I=0,v=A.length;I<v;I++){let B=A[I],Q=Z.normalize(Z.cross(B[0],B[B.length-1],T8e),T8e);for(let T=0,w=B.length-1;T<w;T++)m[C++]=0,m[C++]=0,m[C++]=0,m[C++]=-Q.x,m[C++]=-Q.y,m[C++]=-Q.z,m[C++]=B[T].x,m[C++]=B[T].y,m[C++]=B[T].z,m[C++]=-Q.x,m[C++]=-Q.y,m[C++]=-Q.z,m[C++]=B[T+1].x,m[C++]=B[T+1].y,m[C++]=B[T+1].z,m[C++]=-Q.x,m[C++]=-Q.y,m[C++]=-Q.z}let E=Wn.createVertexBuffer({context:o,typedArray:m,usage:Gr.STATIC_DRAW}),x=2*3*Float32Array.BYTES_PER_ELEMENT,y=[{index:Hb.position,vertexBuffer:E,componentsPerAttribute:3,componentDatatype:Ft.FLOAT,offsetInBytes:0,strideInBytes:x},{index:Hb.normal,vertexBuffer:E,componentsPerAttribute:3,componentDatatype:Ft.FLOAT,offsetInBytes:3*Float32Array.BYTES_PER_ELEMENT,strideInBytes:x}];return new hu({context:o,attributes:y})}function rBi(o,A){let f=A.length,m=new Float32Array(3*3*f),C=0;for(let I=0,v=A.length;I<v;I++){let B=A[I];m[C++]=0,m[C++]=0,m[C++]=0,m[C++]=B[0].x,m[C++]=B[0].y,m[C++]=B[0].z}let E=Wn.createVertexBuffer({context:o,typedArray:m,usage:Gr.STATIC_DRAW}),x=3*Float32Array.BYTES_PER_ELEMENT,y=[{index:Hb.position,vertexBuffer:E,componentsPerAttribute:3,componentDatatype:Ft.FLOAT,offsetInBytes:0,strideInBytes:x}];return new hu({context:o,attributes:y})}function nBi(o,A){let f=Array.prototype.concat.apply([],A).length-A.length,m=new Float32Array(3*3*f),C=0;for(let I=0,v=A.length;I<v;I++){let B=A[I];for(let Q=0,T=B.length-1;Q<T;Q++)m[C++]=B[Q].x,m[C++]=B[Q].y,m[C++]=B[Q].z,m[C++]=B[Q+1].x,m[C++]=B[Q+1].y,m[C++]=B[Q+1].z}let E=Wn.createVertexBuffer({context:o,typedArray:m,usage:Gr.STATIC_DRAW}),x=3*Float32Array.BYTES_PER_ELEMENT,y=[{index:Hb.position,vertexBuffer:E,componentsPerAttribute:3,componentDatatype:Ft.FLOAT,offsetInBytes:0,strideInBytes:x}];return new hu({context:o,attributes:y})}function oBi(o){let A=hp.createGeometry(new hp({vertexFormat:Pr.POSITION_ONLY,stackPartitions:32,slicePartitions:32}));return hu.fromGeometry({context:o,geometry:A,attributeLocations:Hb,bufferUsage:Gr.STATIC_DRAW,interleave:!1})}function aBi(o){let A=$_.createGeometry(new $_({vertexFormat:Pr.POSITION_ONLY,stackPartitions:32,slicePartitions:32}));return hu.fromGeometry({context:o,geometry:A,attributeLocations:Hb,bufferUsage:Gr.STATIC_DRAW,interleave:!1})}function M8e(o,A){let f=A.length-1,m=new Float32Array(3*3*f),C=0;for(let I=0;I<f;I++)m[C++]=0,m[C++]=0,m[C++]=0,m[C++]=A[I].x,m[C++]=A[I].y,m[C++]=A[I].z,m[C++]=A[I+1].x,m[C++]=A[I+1].y,m[C++]=A[I+1].z;let E=Wn.createVertexBuffer({context:o,typedArray:m,usage:Gr.STATIC_DRAW}),x=3*Float32Array.BYTES_PER_ELEMENT,y=[{index:Hb.position,vertexBuffer:E,componentsPerAttribute:3,componentDatatype:Ft.FLOAT,offsetInBytes:0,strideInBytes:x}];return new hu({context:o,attributes:y})}function sBi(o,A){let f=A.context,m=Ide(o,o.xHalfAngle,o.yHalfAngle),C=tBi(o,m);if(o.showLateralSurfaces&&(o._sectorVA=iBi(f,C)),o.showSectorLines&&(o._sectorLineVA=rBi(f,C)),o.showSectorSegmentLines&&(o._sectorSegmentLineVA=nBi(f,C)),o.showDomeSurfaces&&(o._domeVA=oBi(f)),o.showDomeLines&&(o._domeLineVA=aBi(f)),o.showScanPlane)if(o.scanPlaneMode==="horizontal"){let E=Ide(o,Be.PI_OVER_TWO,0);o._scanPlaneVA=M8e(f,E.zox)}else{let E=Ide(o,0,Be.PI_OVER_TWO);o._scanPlaneVA=M8e(f,E.zoy)}}function lBi(o,A,f){let m=A.context,C=Yne,E=new _r({sources:[Az,f.shaderSource,Fee]});o._sp=qa.replaceCache({context:m,shaderProgram:o._sp,vertexShaderSource:C,fragmentShaderSource:E,attributeLocations:Hb});let x=new _r({sources:[Az,f.shaderSource,Fee],pickColorQualifier:"uniform"});o._pickSP=qa.replaceCache({context:m,shaderProgram:o._pickSP,vertexShaderSource:C,fragmentShaderSource:x,attributeLocations:Hb})}function uBi(o,A,f){let m=A.context,C=Yne,E=new _r({sources:[Az,f.shaderSource,Vbe]});o._scanePlaneSP=qa.replaceCache({context:m,shaderProgram:o._scanePlaneSP,vertexShaderSource:C,fragmentShaderSource:E,attributeLocations:Hb})}function ABi(o,A,f){lBi(o,A,f),o.showScanPlane&&uBi(o,A,f)}function cBi(o,A,f){f?(o._frontFaceRS=Xr.fromCache({depthTest:{enabled:!A},depthMask:!1,blending:Nl.ALPHA_BLEND,cull:{enabled:!0,face:pA.BACK}}),o._backFaceRS=Xr.fromCache({depthTest:{enabled:!A},depthMask:!1,blending:Nl.ALPHA_BLEND,cull:{enabled:!0,face:pA.FRONT}}),o._pickRS=Xr.fromCache({depthTest:{enabled:!A},depthMask:!1,blending:Nl.ALPHA_BLEND})):(o._frontFaceRS=Xr.fromCache({depthTest:{enabled:!A},depthMask:!0}),o._pickRS=Xr.fromCache({depthTest:{enabled:!0},depthMask:!0}))}function UU(o,A,f,m,C,E,x,y,I,v,B,Q){v&&f&&(f.vertexArray=x,f.renderState=C,f.shaderProgram=E,f.uniformMap=So(y,o._material._uniforms),f.uniformMap.u_normalDirection=function(){return-1},f.pass=B,f.modelMatrix=I,o._colorCommands.push(f)),A.vertexArray=x,A.renderState=m,A.shaderProgram=E,A.uniformMap=So(y,o._material._uniforms),Q&&(A.uniformMap.u_type=function(){return 1}),A.pass=B,A.modelMatrix=I,o._colorCommands.push(A)}function hBi(o,A){o._colorCommands.length=0;let f=A?Yi.TRANSLUCENT:Yi.OPAQUE;o.showLateralSurfaces&&UU(o,o._sectorFrontCommand,o._sectorBackCommand,o._frontFaceRS,o._backFaceRS,o._sp,o._sectorVA,o._uniforms,o._computedModelMatrix,A,f),o.showSectorLines&&UU(o,o._sectorLineCommand,void 0,o._frontFaceRS,o._backFaceRS,o._sp,o._sectorLineVA,o._uniforms,o._computedModelMatrix,A,f,!0),o.showSectorSegmentLines&&UU(o,o._sectorSegmentLineCommand,void 0,o._frontFaceRS,o._backFaceRS,o._sp,o._sectorSegmentLineVA,o._uniforms,o._computedModelMatrix,A,f,!0),o.showDomeSurfaces&&UU(o,o._domeFrontCommand,o._domeBackCommand,o._frontFaceRS,o._backFaceRS,o._sp,o._domeVA,o._uniforms,o._computedModelMatrix,A,f),o.showDomeLines&&UU(o,o._domeLineCommand,void 0,o._frontFaceRS,o._backFaceRS,o._sp,o._domeLineVA,o._uniforms,o._computedModelMatrix,A,f,!0),o.showScanPlane&&UU(o,o._scanPlaneFrontCommand,o._scanPlaneBackCommand,o._frontFaceRS,o._backFaceRS,o._scanePlaneSP,o._scanPlaneVA,o._scanUniforms,o._computedScanPlaneModelMatrix,A,f)}var zbe=vrt,P8e=new Gt,dBi=new Z,fBi=new Z,gBi=new fr,R8e=new Z,pBi=new fr,B8=function(o,A){if(!O(o))throw new Ai("scene is required.");if(!O(A))throw new Ai("entityCollection is required.");A.collectionChanged.addEventListener(B8.prototype._onCollectionChanged,this),this._scene=o,this._primitives=o.primitives,this._entityCollection=A,this._hash={},this._entitiesToVisualize=new Ro,this._onCollectionChanged(A,A.values,[],[])};B8.prototype.update=function(o){if(!O(o))throw new Ai("time is required.");let A=this._entitiesToVisualize.values,f=this._hash,m=this._primitives;for(let C=0,E=A.length;C<E;C++){let x=A[C],y=x._rectangularSensor,I,v,B,Q,T,w=f[x.id],S=x.isShowing&&x.isAvailable(o)&&Bt.getValueOrDefault(y._show,o,!0);if(S&&(I=Bt.getValueOrUndefined(x._position,o,dBi),v=Bt.getValueOrUndefined(x._orientation,o,gBi),B=Bt.getValueOrUndefined(y._radius,o),Q=Bt.getValueOrUndefined(y._xHalfAngle,o),T=Bt.getValueOrUndefined(y._yHalfAngle,o),S=O(I)&&O(Q)&&O(T)),!S){O(w)&&(w.primitive.show=!1);continue}let D=O(w)?w.primitive:void 0;O(D)||(D=new zbe,D.id=x,m.add(D),w={primitive:D,position:void 0,orientation:void 0},f[x.id]=w);let R=Bt.getValueOrUndefined(y._gaze,o);if(O(R)){let P=Bt.getValueOrUndefined(R._position,o,fBi);if(!O(I)||!O(P))continue;let M=Z.subtract(I,P,R8e),L=Z.angleBetween(Z.UNIT_Z,M),F=Z.cross(Z.UNIT_Z,M,R8e),k=fr.fromAxisAngle(F,L-Math.PI,pBi);B=Z.distance(I,P),D.modelMatrix=Re.fromRotationTranslation(Gt.fromQuaternion(k,P8e),I,D.modelMatrix)}else(!Z.equals(I,w.position)||!fr.equals(v,w.orientation))&&(O(v)?(D.modelMatrix=Re.fromRotationTranslation(Gt.fromQuaternion(v,P8e),I,D.modelMatrix),w.position=Z.clone(I,w.position),w.orientation=fr.clone(v,w.orientation)):(D.modelMatrix=kr.eastNorthUpToFixedFrame(I),w.position=Z.clone(I,w.position)));D.show=!0,D.gaze=R,D.radius=B,D.xHalfAngle=Q,D.yHalfAngle=T,D.lineColor=Bt.getValueOrDefault(y._lineColor,o,Ve.WHITE),D.showSectorLines=Bt.getValueOrDefault(y._showSectorLines,o,!0),D.showSectorSegmentLines=Bt.getValueOrDefault(y._showSectorSegmentLines,o,!0),D.showLateralSurfaces=Bt.getValueOrDefault(y._showLateralSurfaces,o,!0),D.material=ap.getValue(o,y._material,D.material),D.showDomeSurfaces=Bt.getValueOrDefault(y._showDomeSurfaces,o,!0),D.showDomeLines=Bt.getValueOrDefault(y._showDomeLines,o,!0),D.showIntersection=Bt.getValueOrDefault(y._showIntersection,o,!0),D.intersectionColor=Bt.getValueOrDefault(y._intersectionColor,o,Ve.WHITE),D.intersectionWidth=Bt.getValueOrDefault(y._intersectionWidth,o,1),D.showThroughEllipsoid=Bt.getValueOrDefault(y._showThroughEllipsoid,o,!0),D.scanPlaneMode=Bt.getValueOrDefault(y._scanPlaneMode,o),D.scanPlaneColor=Bt.getValueOrDefault(y._scanPlaneColor,o,Ve.WHITE),D.showScanPlane=Bt.getValueOrDefault(y._showScanPlane,o,!0),D.scanPlaneRate=Bt.getValueOrDefault(y._scanPlaneRate,o,1)}return!0};B8.prototype.isDestroyed=function(){return!1};B8.prototype.destroy=function(){let o=this._entitiesToVisualize.values,A=this._hash,f=this._primitives;for(let m=o.length-1;m>-1;m--)uz(o[m],A,f);return Ar(this)};B8.prototype._onCollectionChanged=function(o,A,f,m){let C,E,x=this._entitiesToVisualize,y=this._hash,I=this._primitives;for(C=A.length-1;C>-1;C--)E=A[C],O(E._rectangularSensor)&&O(E._position)&&x.set(E.id,E);for(C=m.length-1;C>-1;C--)E=m[C],O(E._rectangularSensor)&&O(E._position)?x.set(E.id,E):(uz(E,y,I),x.remove(E.id));for(C=f.length-1;C>-1;C--)E=f[C],uz(E,y,I),x.remove(E.id)};var Ybe=B8,mBi={},CBi=AJ.defaultVisualizersCallback;AJ.defaultVisualizersCallback=function(o,A,f){let m=f.entities;return CBi(o,A,f).concat([new Ybe(o,m)])};var Brt=mBi;function UJ(o,A,f){let m=o._gl;this.id=A,this._size=f.imageBuffer.length,this._context=o,this._width=f.width,this._height=f.height,this._texture=null,this._internalFormat=f.internalFormat,this._wrapS=oe(f.wrapS,Vo.CLAMP_TO_EDGE),this._wrapT=oe(f.wrapT,Vo.CLAMP_TO_EDGE),this.id=A,this._target=m.TEXTURE_2D,this._texture=m.createTexture(),m.bindTexture(m.TEXTURE_2D,this._texture);let C=0,E=0,x=EBi(f.imageBuffer,this._internalFormat,this._width,this._height),y=this._width,I=this._height;do{let v=rn.compressedTextureSizeInBytes(this._internalFormat,y,I),B=new Uint8Array(f.imageBuffer.buffer,f.imageBuffer.byteOffset+C,v);m.compressedTexImage2D(m.TEXTURE_2D,E++,this._internalFormat,y,I,0,B),y=Math.max(y>>1,1),I=Math.max(I>>1,1),C+=v}while(C<f.imageBuffer.length&&x);E>1?(m.texParameteri(m.TEXTURE_2D,m.TEXTURE_MAG_FILTER,m.LINEAR),m.texParameteri(m.TEXTURE_2D,m.TEXTURE_MIN_FILTER,m.LINEAR_MIPMAP_LINEAR)):(m.texParameteri(m.TEXTURE_2D,m.TEXTURE_MAG_FILTER,m.LINEAR),m.texParameteri(m.TEXTURE_2D,m.TEXTURE_MIN_FILTER,m.LINEAR)),m.texParameteri(m.TEXTURE_2D,m.TEXTURE_WRAP_S,this._wrapS),m.texParameteri(m.TEXTURE_2D,m.TEXTURE_WRAP_T,this._wrapT),m.bindTexture(m.TEXTURE_2D,null)}function EBi(o,A,f,m){let C=o.length,E=f,x=m,y=0;for(;;){let I=rn.compressedTextureSizeInBytes(A,E,x);if(y+=I,E=E>>1,x=x>>1,E===0&&x===0)break;E=Math.max(E,1),x=Math.max(x,1)}return y===C}UJ.prototype.enable=function(){let o=this._context._gl;o.activeTexture(this._gl.TEXTURE0),o.bindTexture(this._target,this._texture)};UJ.prototype.disable=function(){this._context._gl.bindTexture(this._target,null)};UJ.prototype.isDestroyed=function(){return!1};UJ.prototype.destroy=function(){this._context._gl.deleteTexture(this._texture),this._texture=null,this.id=0,Ar(this)};var Jbe=UJ;function Kbe(){this.ambientColor=new Ve,this.diffuseColor=new Ve,this.specularColor=new Ve(0,0,0,0),this.shininess=50,this.bTransparentSorting=!1,this.textures=[]}Kbe.prototype.isDestroyed=function(){return!1};Kbe.prototype.destroy=function(){return Ar(this)};var Wbe=Kbe,xBi={OSGBFile:function(o){return new az(o)},OSGBCacheFile:function(o){return new az(o)}},jbe=xBi,yBi={SVC_Vertex:1,SVC_Normal:2,SVC_VertexColor:4,SVC_SecondColor:8,SVC_TexutreCoord:16,SVC_TexutreCoordIsW:32},w_=Object.freeze(yBi);function wrt(){}function IBi(o,A){let f={},m=A.materials.material;for(let C=0,E=m.length;C<E;C++){let x=m[C].material,y=x.id,I=new Wbe;f[y]=I;let v=x.ambient;I.ambientColor=new Ve(v.r,v.g,v.b,v.a);let B=x.diffuse;I.diffuseColor=new Ve(B.r,B.g,B.b,B.a);let Q=x.specular;I.specularColor=new Ve(Q.r,Q.g,Q.b,Q.a),I.shininess=x.shininess,I.bTransparentSorting=x.transparentsorting;let T=x.textureunitstates,w=T.length;for(let S=0;S<w;S++){let D=T[S].textureunitstate,R=D.id,P=D.addressmode.u===0?Vo.REPEAT:Vo.CLAMP_TO_EDGE,M=D.addressmode.v===0?Vo.REPEAT:Vo.CLAMP_TO_EDGE;I.texMatrix=Re.unpack(D.texmodmatrix);let L=A.texturePackage[R];if(O(L)&&L.imageBuffer.byteLength>0){L.wrapS=P,L.wrapT=M;let F=new Jbe(o,R,L);I.textures.push(F)}}}return f}function _Bi(o,A){let f=new hi,m=new Z,C=o.vertexAttributes[0],E=C.componentsPerAttribute,x=O(o.nCompressOptions)&&(o.nCompressOptions&w_.SVC_Vertex)===w_.SVC_Vertex,y=1,I,v;x?(y=o.vertCompressConstant,I=new Z(o.minVerticesValue.x,o.minVerticesValue.y,o.minVerticesValue.z),v=new Uint16Array(C.typedArray.buffer,C.typedArray.byteOffset,C.typedArray.byteLength/2)):v=new Float32Array(C.typedArray.buffer,C.typedArray.byteOffset,C.typedArray.byteLength/4);let B=[];for(let Q=0;Q<o.verticesCount;Q++)Z.fromArray(v,E*Q,m),x&&(m=Z.multiplyByScalar(m,y,m),m=Z.add(m,I,m)),B.push(Z.clone(m));return hi.fromPoints(B,f),hi.transform(f,A,f),B.length=0,f}function vBi(o,A,f,m,C){let E={},x=m.geodes;for(let y=0,I=x.length;y<I;y++){let v=x[y],B=v.matrix,Q=Re.multiply(o.modelMatrix,B,new Re),T;O(C.boundingVolume)&&(T=new hi(C.boundingVolume.sphere.center,C.boundingVolume.sphere.radius),hi.transform(T,o.modelMatrix,T));let w=v.skeletonNames;for(let S=0,D=w.length;S<D;S++){let R=w[S],P=A.geoPackage[R],M=P.vertexPackage,L=P.arrIndexPackage,F=P.pickInfo,k;L.length>0&&(k=f[L[0].materialCode]);let N=O(T)?T:_Bi(M,Q);E[R]=jbe[o.fileType]({layer:o,vertexPackage:M,arrIndexPackage:L,pickInfo:F,modelMatrix:Q,boundingVolume:N,material:k})}}if(!O(C.boundingVolume)){let y=[];for(let I in E)E.hasOwnProperty(I)&&y.push(E[I].boundingVolume);C.boundingVolume=hi.fromBoundingSpheres(y)}C.geoMap=E}function BBi(o,A,f){let m=A.groupNode,C=[];for(let E=0,x=m.pageLods.length;E<x;E++){let y={},I=m.pageLods[E];y.rangeMode=I.rangeMode,y.rangeDataList=I.childTile,y.rangeList=I.rangeList;let v=I.boundingSphere.center,B=I.boundingSphere.radius;y.rangeDataList!==""?y.boundingVolume={sphere:{center:new Z(v.x,v.y,v.z),radius:B}}:y.isLeafTile=!0,vBi(o,A,f,I,y),C.push(y)}return C}wrt.parse=function(o,A){if(!O(A))return;let f=IBi(o.context,A);return BBi(o,A,f)};var qbe=wrt;function W3(){this._list=new Bre,this._sentinel=this._list.add(),this._trimTiles=!1}W3.prototype.reset=function(){this._list.splice(this._list.tail,this._sentinel)};W3.prototype.touch=function(o){let A=o.cacheNode;O(A)&&this._list.splice(this._sentinel,A)};W3.prototype.add=function(o){O(o.cacheNode)||(o.cacheNode=this._list.add(o))};W3.prototype.unloadTile=function(o,A,f){let m=A.cacheNode;O(m)&&(this._list.remove(m),A.cacheNode=void 0,f(o,A))};W3.prototype.unloadTiles=function(o,A){let f=this._trimTiles;this._trimTiles=!1;let m=this._list,C=o.maximumMemoryUsage*1024*1024,E=this._sentinel,x=m.head;for(;x!==E&&(o.totalMemoryUsageInBytes>C||f);){let y=x.item;x=x.next,y.isDestroyed()&&console.log(y),this.unloadTile(o,y,A)}};W3.prototype.trim=function(){this._trimTiles=!0};var Xbe=W3,wBi={UNLOADED:0,LOADING:1,PARSING:2,READY:3,FAILED:4},db=Object.freeze(wBi);function brt(){this._stack=[]}function bBi(o,A,f){A.length=0;for(let m=0,C=o._rootTiles.length;m<C;m++){let E=o._rootTiles[m];E.updateVisibility(f),E.visible&&A.push(E)}}function QBi(o,A){return o.distanceToCamera-A.distanceToCamera}function SBi(o,A,f,m){let C,E=A.children,x=E.length;for(C=0;C<x;++C)E[C].updateVisibility(m);for(E.sort(QBi),C=0;C<x;++C){let y=E[C];y.visible&&f.push(y)}}function DBi(o,A,f){A.renderable&&(o._selectedTiles.push(A),A.selectedFrame=f.frameNumber)}function TBi(o,A,f){A.requestedFrame===f.frameNumber||A.contentState!==db.UNLOADED||A.isLeafTile||(o._requestTiles.push(A),A.requestedFrame=f.frameNumber)}function MBi(o,A,f){A.touchedFrame!==f.frameNumber&&(o._cache.touch(A),A.touchedFrame=f.frameNumber)}function PBi(o,A,f){for(;A.length;){let m=A.pop();if(m.visible){if(MBi(o,m,f),m.canTraverse()){SBi(o,m,A,f);continue}DBi(o,m,f),TBi(o,m,f)}}}brt.prototype.scheduler=function(o,A){o._requestTiles.length=0,o._selectedTiles.length=0;let f=this._stack;bBi(o,f,A),PBi(o,f,A)};var Zbe=brt,RBi=Dc(W6e(),1);function Qrt(){}var L8e={SV_Unkown:0,SV_Standard:1,SV_Compressed:2};function LBi(o,A){let f=new Uint8Array(o,A);return RBi.default.inflate(f).buffer}function w8(o,A,f){let m=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let C=new Uint8Array(o,f,m),E=hQ(C);return f+=m,{string:E,bytesOffset:f}}function FBi(o,A,f,m){let C={},E=[],x=new Array(16);for(let I=0;I<16;I++)x[I]=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT;C.matrix=x,C.skeletonNames=E;let y=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let I=0;I<y;I++){let v=w8(o,A,f);E.push(v.string),f=v.bytesOffset}return m.push(C),f}function NBi(o,A,f,m){let C={};C.rangeList=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,C.rangeMode=A.getUint16(f,!0),f+=Uint16Array.BYTES_PER_ELEMENT;let E={};E.x=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,E.y=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,E.z=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT;let x=A.getFloat64(f,!0);f+=Float64Array.BYTES_PER_ELEMENT,C.boundingSphere={center:E,radius:x};let y=w8(o,A,f),I=y.string;f=y.bytesOffset;let v=I.indexOf("Geometry");if(v!==-1){let Q=I.substring(v);I=I.replace(Q,"")}C.childTile=I,C.geodes=[];let B=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let Q=0;Q<B;Q++)f=FBi(o,A,f,C.geodes);return m.push(C),f}function kBi(o,A,f,m){let C={},E=[],x=[],y=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let I=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let B=0;B<I;B++)f=NBi(o,A,f,x);C.pageLods=x;let v=f%4;return v!==0&&(f+=4-v),m.groupNode=C,f}function Srt(o,A,f,m){let C=A.getUint32(f,!0);if(m.verticesCount=C,f+=Uint32Array.BYTES_PER_ELEMENT,f<=0)return f;let E=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let x=A.getUint16(f,!0);x=E*Float32Array.BYTES_PER_ELEMENT,f+=Uint16Array.BYTES_PER_ELEMENT;let y=C*E*Float32Array.BYTES_PER_ELEMENT,I=new Uint8Array(o,f,y);f+=y;let v=m.vertexAttributes,B=m.attrLocation;return B.aPosition=v.length,v.push({index:B.aPosition,typedArray:I,componentsPerAttribute:E,componentDatatype:Ft.FLOAT,offsetInBytes:0,strideInBytes:x,normalize:!1}),f}function Drt(o,A,f,m){let C=A.getUint32(f,!0);if(f+=Uint32Array.BYTES_PER_ELEMENT,C<=0)return f;let E=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let x=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let y=C*E*Float32Array.BYTES_PER_ELEMENT,I=new Uint8Array(o,f,y);f+=y;let v=m.vertexAttributes,B=m.attrLocation;return B.aNormal=v.length,v.push({index:B.aNormal,typedArray:I,componentsPerAttribute:E,componentDatatype:Ft.FLOAT,offsetInBytes:0,strideInBytes:x,normalize:!1}),f}function Trt(o,A,f,m){let C=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let E=m.verticesCount,x;if(C>0){let v=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT,f+=Uint8Array.BYTES_PER_ELEMENT*2;let B=C*Uint8Array.BYTES_PER_ELEMENT*4;x=new Uint8Array(o,f,B).slice(0,B),f+=B}else{x=new Uint8Array(4*E);for(let v=0;v<E;v++)x[v*4]=255,x[v*4+1]=255,x[v*4+2]=255,x[v*4+3]=255}let y=m.vertexAttributes,I=m.attrLocation;return I.aColor=y.length,y.push({index:I.aColor,typedArray:x,componentsPerAttribute:4,componentDatatype:Ft.UNSIGNED_BYTE,offsetInBytes:0,strideInBytes:4,normalize:!0}),m.vertexColor=x,f}function Mrt(o,A,f,m){let C=A.getUint32(f,!0);if(f+=Uint32Array.BYTES_PER_ELEMENT,C<=0)return f;let E=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT,f+=Uint8Array.BYTES_PER_ELEMENT*2;let x=C*Uint8Array.BYTES_PER_ELEMENT*4,y=new Uint8Array(o,f,x);f+=x;let I=m.vertexAttributes,v=m.attrLocation;return v.aSecondColor=I.length,I.push({index:v.aSecondColor,typedArray:y,componentsPerAttribute:4,componentDatatype:Ft.UNSIGNED_BYTE,offsetInBytes:0,strideInBytes:4,normalize:!0}),f}function Prt(o,A,f,m){let C=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT,f+=Uint16Array.BYTES_PER_ELEMENT;for(let E=0;E<C;E++){let x=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let y=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let I=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let v=x*y*Float32Array.BYTES_PER_ELEMENT,B=new Uint8Array(o,f,v);f+=v;let Q="aTexCoord"+E,T=m.vertexAttributes,w=m.attrLocation;w[Q]=T.length,T.push({index:w[Q],typedArray:B,componentsPerAttribute:y,componentDatatype:Ft.FLOAT,offsetInBytes:0,strideInBytes:y*Float32Array.BYTES_PER_ELEMENT,normalize:!1})}return f}function Rrt(o,A,f,m){let C=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT,f+=Uint16Array.BYTES_PER_ELEMENT;let E=m.vertexAttributes,x=m.attrLocation;for(let y=0;y<C;y++){let I=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let v=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let B=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let Q=I*v*Float32Array.BYTES_PER_ELEMENT;if(v===17||v===29){let T=new Uint8Array(o,f,Q);m.instanceCount=I,m.instanceMode=v,m.instanceBuffer=T,m.instanceIndex=1;let w=v*I*4,S=T.slice(0,w);m.vertexColorInstance=S;let D;v===17?(D=Float32Array.BYTES_PER_ELEMENT*17,x.uv2=E.length,E.push({index:x.uv2,componentsPerAttribute:4,componentDatatype:Ft.FLOAT,normalize:!1,offsetInBytes:0,strideInBytes:D,instanceDivisor:1}),x.uv3=E.length,E.push({index:x.uv3,componentsPerAttribute:4,componentDatatype:Ft.FLOAT,normalize:!1,offsetInBytes:4*Float32Array.BYTES_PER_ELEMENT,strideInBytes:D,instanceDivisor:1}),x.uv4=E.length,E.push({index:x.uv4,componentsPerAttribute:4,componentDatatype:Ft.FLOAT,normalize:!1,offsetInBytes:8*Float32Array.BYTES_PER_ELEMENT,strideInBytes:D,instanceDivisor:1}),x.uv5=E.length,E.push({index:x.uv5,componentsPerAttribute:4,componentDatatype:Ft.FLOAT,normalize:!1,offsetInBytes:12*Float32Array.BYTES_PER_ELEMENT,strideInBytes:D,instanceDivisor:1}),x.uv6=E.length,E.push({index:x.uv6,componentsPerAttribute:4,componentDatatype:Ft.UNSIGNED_BYTE,normalize:!0,offsetInBytes:16*Float32Array.BYTES_PER_ELEMENT,strideInBytes:D,instanceDivisor:1})):v===29&&(D=Float32Array.BYTES_PER_ELEMENT*29,x.uv1=E.length,E.push({index:x.uv1,componentsPerAttribute:4,componentDatatype:Ft.FLOAT,normalize:!1,offsetInBytes:0,strideInBytes:D,instanceDivisor:1,byteLength:Q}),x.uv2=E.length,E.push({index:x.uv2,componentsPerAttribute:4,componentDatatype:Ft.FLOAT,normalize:!1,offsetInBytes:4*Float32Array.BYTES_PER_ELEMENT,strideInBytes:D,instanceDivisor:1}),x.uv3=E.length,E.push({index:x.uv3,componentsPerAttribute:4,componentDatatype:Ft.FLOAT,normalize:!1,offsetInBytes:8*Float32Array.BYTES_PER_ELEMENT,strideInBytes:D,instanceDivisor:1}),x.uv4=E.length,E.push({index:x.uv4,componentsPerAttribute:4,componentDatatype:Ft.FLOAT,normalize:!1,offsetInBytes:12*Float32Array.BYTES_PER_ELEMENT,strideInBytes:D,instanceDivisor:1}),x.uv5=E.length,E.push({index:x.uv5,componentsPerAttribute:4,componentDatatype:Ft.FLOAT,normalize:!1,offsetInBytes:16*Float32Array.BYTES_PER_ELEMENT,strideInBytes:D,instanceDivisor:1}),x.uv6=E.length,E.push({index:x.uv6,componentsPerAttribute:4,componentDatatype:Ft.FLOAT,normalize:!1,offsetInBytes:20*Float32Array.BYTES_PER_ELEMENT,strideInBytes:D,instanceDivisor:1}),x.uv7=E.length,E.push({index:x.uv7,componentsPerAttribute:3,componentDatatype:Ft.FLOAT,normalize:!1,offsetInBytes:24*Float32Array.BYTES_PER_ELEMENT,strideInBytes:D,instanceDivisor:1}),x.uv8=E.length,E.push({index:x.uv8,componentsPerAttribute:4,componentDatatype:Ft.UNSIGNED_BYTE,normalize:!0,offsetInBytes:27*Float32Array.BYTES_PER_ELEMENT,strideInBytes:D,instanceDivisor:1}),x.uv9=E.length,E.push({index:x.uv9,componentsPerAttribute:4,componentDatatype:Ft.UNSIGNED_BYTE,normalize:!0,offsetInBytes:28*Float32Array.BYTES_PER_ELEMENT,strideInBytes:D,instanceDivisor:1}))}else{let T=I*v;m.instanceBounds=new Float32Array(T);for(let w=0;w<T;w++)m.instanceBounds[w]=A.getFloat32(f,!0)}f+=Q}return f}function OBi(o,A,f,m){let C=A.getUint32(f,!0);if(m.verticesCount=C,f+=Uint32Array.BYTES_PER_ELEMENT,f<=0)return f;let E=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let x=A.getUint16(f,!0);x=E*Int16Array.BYTES_PER_ELEMENT,f+=Uint16Array.BYTES_PER_ELEMENT;let y=A.getFloat32(f,!0);f+=Float32Array.BYTES_PER_ELEMENT;let I={};I.x=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,I.y=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,I.z=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,I.w=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,m.vertCompressConstant=y,m.minVerticesValue=I;let v=C*E*Int16Array.BYTES_PER_ELEMENT,B=new Uint8Array(o,f,v);f+=v;let Q=m.vertexAttributes,T=m.attrLocation;return T.aPosition=Q.length,Q.push({index:T.aPosition,typedArray:B,componentsPerAttribute:E,componentDatatype:Ft.SHORT,offsetInBytes:0,strideInBytes:x,normalize:!1}),f}function UBi(o,A,f,m){let C=A.getUint32(f,!0);if(f+=Uint32Array.BYTES_PER_ELEMENT,C<=0)return f;let E=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let x=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let y=C*2*Int16Array.BYTES_PER_ELEMENT,I=new Uint8Array(o,f,y);f+=y;let v=m.vertexAttributes,B=m.attrLocation;return B.aNormal=v.length,v.push({index:B.aNormal,typedArray:I,componentsPerAttribute:2,componentDatatype:Ft.SHORT,offsetInBytes:0,strideInBytes:x,normalize:!1}),f}function GBi(o,A,f,m){m.texCoordCompressConstant=[],m.minTexCoordValue=[];let C=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT,f+=Uint16Array.BYTES_PER_ELEMENT;for(let E=0;E<C;E++){let x=A.getUint8(f,!0);f+=Uint8Array.BYTES_PER_ELEMENT,f+=Uint8Array.BYTES_PER_ELEMENT*3;let y=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let I=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let v=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let B=A.getFloat32(f,!0);f+=Float32Array.BYTES_PER_ELEMENT,m.texCoordCompressConstant.push(B);let Q={};Q.x=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,Q.y=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,Q.z=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,Q.w=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,m.minTexCoordValue.push(Q);let T=y*I*Int16Array.BYTES_PER_ELEMENT,w=new Uint8Array(o,f,T);f+=T;let S=f%4;S!==0&&(f+=4-S);let D="aTexCoord"+E,R=m.vertexAttributes,P=m.attrLocation;if(P[D]=R.length,R.push({index:P[D],typedArray:w,componentsPerAttribute:I,componentDatatype:Ft.SHORT,offsetInBytes:0,strideInBytes:I*Int16Array.BYTES_PER_ELEMENT,normalize:!1}),x){T=y*Float32Array.BYTES_PER_ELEMENT;let M=new Uint8Array(o,f,T);f+=T,m.texCoordZMatrix=!0,D="aTexCoordZ"+E,P[D]=R.length,R.push({index:P[D],typedArray:M,componentsPerAttribute:1,componentDatatype:Ft.FLOAT,offsetInBytes:0,strideInBytes:Float32Array.BYTES_PER_ELEMENT,normalize:!1})}}return f}function HBi(o,A,f,m){return f=Srt(o,A,f,m),f=Drt(o,A,f,m),f=Trt(o,A,f,m),f=Mrt(o,A,f,m),f=Prt(o,A,f,m),f=Rrt(o,A,f,m),f}function VBi(o,A,f,m){let C=A.getUint32(f,!0);return m.compressOptions=C,f+=Uint32Array.BYTES_PER_ELEMENT,(C&w_.SVC_Vertex)===w_.SVC_Vertex?f=OBi(o,A,f,m):f=Srt(o,A,f,m),(C&w_.SVC_Normal)===w_.SVC_Normal?f=UBi(o,A,f,m):f=Drt(o,A,f,m),f=Trt(o,A,f,m),f=Mrt(o,A,f,m),(C&w_.SVC_TexutreCoord)===w_.SVC_TexutreCoord?f=GBi(o,A,f,m):f=Prt(o,A,f,m),(C&w_.SVC_TexutreCoordIsW)===w_.SVC_TexutreCoordIsW&&(m.textureCoordIsW=!0),f=Rrt(o,A,f,m),f}function zBi(o,A,f,m){let C=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let E=0;E<C;E++){let x={},y=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let I=A.getUint8(f,!0);f+=Uint8Array.BYTES_PER_ELEMENT;let v=A.getUint8(f,!0);f+=Uint8Array.BYTES_PER_ELEMENT;let B=A.getUint8(f,!0);if(f+=Uint8Array.BYTES_PER_ELEMENT,f+=Uint8Array.BYTES_PER_ELEMENT,y>0){let w=null,S;I===1||I===3?(S=y*Uint32Array.BYTES_PER_ELEMENT,w=new Uint8Array(o,f,S)):(S=y*Uint16Array.BYTES_PER_ELEMENT,w=new Uint8Array(o,f,S),y%2!==0&&(S+=2)),x.indicesTypedArray=w,f+=S}x.indicesCount=y,x.indexType=I,x.primitiveType=B;let Q=[],T=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let w=0;w<T;w++){let S=w8(o,A,f),D=S.string;f=S.bytesOffset,Q.push(D),x.materialCode=D}if(f%4!==0){let w=4-f%4;f+=w}m.push(x)}return f}function YBi(o,A,f,m){let C=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let E=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let y=0;y<E;y++){let I=w8(o,A,f),v=I.string;f=I.bytesOffset;let B=f%4;B!==0&&(f+=4-B);let Q=A.getUint32(f,!0);f+=Int32Array.BYTES_PER_ELEMENT;let T={vertexAttributes:[],attrLocation:{},instanceCount:0,instanceMode:0,instanceIndex:-1};Q===L8e.SV_Standard?f=HBi(o,A,f,T):Q===L8e.SV_Compressed&&(f=VBi(o,A,f,T));let w=[];f=zBi(o,A,f,w),m[v]={vertexPackage:T,arrIndexPackage:w}}let x=A.getUint32(f,!0);return f+=x,f+=Uint32Array.BYTES_PER_ELEMENT,f}function JBi(o,A,f,m){let C=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let E=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let x=0;x<E;x++){let y=w8(o,A,f),I=y.string;f=y.bytesOffset;let v=f%4;v!==0&&(f+=4-v);let B=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let Q=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let T=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let w=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let S=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let D=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let R=new Uint8Array(o,f,S);f+=S,m[I]={id:I,width:Q,height:T,compressType:w,nFormat:D,internalFormat:rn.RGBA_DXT5,imageBuffer:R}}return f}function KBi(o,A,f,m){let C=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let E=new Uint8Array(o,f,C),x=hQ(E);return f+=C,m.materials=JSON.parse(x),f}function WBi(o,A,f,m,C){if((m&1)===1){let E=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let x=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let y=0;y<x;y++){let I=w8(o,A,f),v=I.string;f=I.bytesOffset;let B=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let Q={};C[v].pickInfo=Q;let T=C[v].vertexPackage.instanceIndex;for(let w=0;w<B;w++){let S=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let D=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let R=[];for(let P=0;P<D;P++){let M=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let L=1;T===-1&&(L=A.getUint32(f,!0),f+=Uint32Array.BYTES_PER_ELEMENT),R.push({vertexColorOffset:M,vertexColorCount:L})}Q[S]=R}}}return f}Qrt.parseBuffer=function(o){let A=0,f={version:void 0,groupNode:void 0,geoPackage:{},matrials:void 0,texturePackage:{}},m=new DataView(o);f.version=m.getFloat32(A,!0),A+=Float32Array.BYTES_PER_ELEMENT;let C=m.getUint32(A,!0);A+=Uint32Array.BYTES_PER_ELEMENT;let E=LBi(o,A);m=new DataView(E),A=0;let x=m.getUint32(A,!0);return A+=Uint32Array.BYTES_PER_ELEMENT,A=kBi(E,m,A,f),A=YBi(E,m,A,f.geoPackage),A=JBi(E,m,A,f.texturePackage),A=KBi(E,m,A,f),WBi(E,m,A,x,f.geoPackage),f};var $be=Qrt;function Vx(o,A,f,m,C,E,x){this.layer=o,this.parent=A,this.fileName=m,this.isLeafTile=oe(x,!1),this.boundingVolume=this.createBoundingVolume(f,o.modelMatrix);let y=Cr.createIfNeeded(o._baseResource);if(O(A))this.baseUri=A.baseUri;else{let I=new Cr(m);this.baseUri=I.getBaseUri()}this.contentResource=y.getDerivedResource({url:m}),this.serverKey=W_.getServerKey(this.contentResource.getUrlComponent()),this.request=void 0,this.cacheNode=void 0,this.distanceToCamera=0,this.pixel=0,this.visibilityPlaneMask=0,this.visible=!1,this.children=[],this.lodRangeData=C,this.renderEntityMap=E,this.contentState=db.UNLOADED,this.readerable=!1,this.touchedFrame=0,this.requestedFrame=0,this.selectedFrame=0,this.priority=0}Object.defineProperties(Vx.prototype,{renderable:{get:function(){return O(this.renderEntityMap)}}});var Lrt=new Z;function jBi(o,A){let f=Z.clone(o.center),m=o.radius;f=Re.multiplyByPoint(A,f,f);let C=Re.getScale(A,Lrt),E=Z.maximumComponent(C);return m*=E,new pT(f,m)}function qBi(o,A){let f=new Z(o.min.x,o.min.y,o.min.z);Re.multiplyByPoint(A,f,f);let m=new Z(o.max.x,o.max.y,o.max.z);Re.multiplyByPoint(A,m,m);let C=hi.fromCornerPoints(f,m,new hi),E=C.center,x=C.radius,y=Re.getScale(A,Lrt),I=Z.maximumComponent(y);return x*=I,new pT(E,x)}Vx.prototype.createBoundingVolume=function(o,A){if(this.isLeafTile)return new pT(o.center,o.radius);if(O(o.sphere))return jBi(o.sphere,A);if(O(o.box))return qBi(o.box,A)};Vx.prototype.canTraverse=function(){return this.children.length===0||this.isLeafTile?!1:O(this.lodRangeData)?this.pixel>this.lodRangeData:!0};function Frt(o,A){return o.boundingVolume}Vx.prototype.getPixel=function(o){let A=this.boundingVolume,f=A.radius,m=A.center,C=Z.distance(o.camera.positionWC,m),E=o.context.drawingBufferHeight,x=o.camera.frustum._fovy*.5;return E*.5/Math.tan(x)*f/C};Vx.prototype.distanceToTile=function(o){return Frt(this,o).distanceToCamera(o)};Vx.prototype.visibility=function(o,A){let f=Frt(this,o);return o.cullingVolume.computeVisibilityWithPlaneMask(f,A)};Vx.prototype.updateVisibility=function(o){let A=this.parent,f=O(A)?A.visibilityPlaneMask:Mg.MASK_INDETERMINATE;this.distanceToCamera=this.distanceToTile(o),this.pixel=this.getPixel(o),this.visibilityPlaneMask=this.visibility(o,f),this.visible=this.visibilityPlaneMask!==Mg.MASK_OUTSIDE};function XBi(o){return function(){return o.priority}}function ZBi(o){return function(A){o.contentState=db.FAILED,o.contentReadyPromise.reject(A)}}function $Bi(o,A){let f=o.layer,m=A.length;for(let C=0;C<m;C++){let E=A[C],x=E.boundingVolume,y=E.rangeDataList;y=o.baseUri+y;let I=E.rangeList,v=E.geoMap,B=new Vx(f,o,x,y,I,v,E.isLeafTile);o.children.push(B),o.layer._cache.add(B)}}Vx.prototype.requestContent=function(){let o=this,A=this.layer,f=this.contentResource.clone(),m=new lp({throttle:!0,throttleByServer:!0,type:II.TILES3D,priorityFunction:XBi(this),serverKey:this.serverKey});this.request=m,f.request=m;let C=f.fetchArrayBuffer();if(!O(C))return!1;this.contentState=db.LOADING,this.contentReadyPromise=Mc();let E=ZBi(this);return C.then(function(x){if(o.isDestroyed()){E();return}let y=$be.parseBuffer(x),I=qbe.parse(o.layer,y);$Bi(o,I),o.selectedFrame=0,o.contentState=db.READY,o.contentReadyPromise.resolve(y)}).catch(function(x){if(m.state===Ju.CANCELLED){o.contentState=db.UNLOADED;return}o.contentState=db.FAILED}),!0};Vx.prototype.update=function(o){let A=this.renderEntityMap;for(let f in A)A.hasOwnProperty(f)&&A[f].update(o)};Vx.prototype.free=function(){for(let o=0,A=this.children.length;o<A;o++)this.children[o].destroy();this.children.length=0,this.contentState=db.UNLOADED};Vx.prototype.isDestroyed=function(){return!1};Vx.prototype.destroy=function(){for(let o in this.renderEntityMap)this.renderEntityMap.hasOwnProperty(o)&&this.renderEntityMap[o].destroy();this.renderEntityMap=void 0;for(let o=0,A=this.children.length;o<A;o++)this.children[o].destroy();return this.children.length=0,Ar(this)};var eQe=Vx;function GJ(o){o=oe(o,oe.EMPTY_OBJECT),XA.defined("options.url",o.url),XA.defined("options.context",o.context),this.context=o.context,this._show=oe(o.show,!0),this._url=void 0,this._basePath=void 0,this._baseResource=void 0,this.modelMatrix=void 0,this.fileType=void 0,this._position=void 0,this._rectangle=void 0,this._rootTiles=[],this._schuduler=new Zbe,this._requestTiles=[],this._selectedTiles=[],this._cache=new Xbe,this._maximumMemoryUsage=-1,this._totalMemoryUsageInBytes=0,this.loadConfig(o.url)}Object.defineProperties(GJ.prototype,{ready:{get:function(){return this._rootTiles.length>0}},readyPromise:{get:function(){return this._readyPromise}},rectangle:{get:function(){return this._rectangle}},totalMemoryUsageInBytes:{get:function(){return this._totalMemoryUsageInBytes},set:function(o){this._totalMemoryUsageInBytes=o}},maximumMemoryUsage:{get:function(){return this._maximumMemoryUsage},set:function(o){this._maximumMemoryUsage=o}},show:{get:function(){return this._show},set:function(o){this._show=o}}});GJ.prototype.loadConfig=function(o){let A=this;this._readyPromise=Promise.resolve(o).then(function(f){let m,C=Cr.createIfNeeded(f);return m=C.getBaseUri(!0),A._url=C.url,A._basePath=m,A._baseResource=C,C.fetchJson()}).then(function(f){let m=f.extensions;A.fileType=m["s3m:FileType"];let C=f.position.x,E=f.position.y,x=f.position.z;A._position=Z.fromDegrees(C,E,x),A.modelMatrix=kr.eastNorthUpToFixedFrame(A._position),A._rectangle=gi.fromDegrees(f.geoBounds.left,f.geoBounds.bottom,f.geoBounds.right,f.geoBounds.top);for(let y=0,I=f.tiles.length;y<I;y++){let v=f.tiles[y].url,B={box:f.tiles[y].boundingbox},Q=new eQe(A,void 0,B,v);A._cache.add(Q),A._rootTiles.push(Q)}return A}).catch(function(f){return f})};function ewi(o,A){return o.priority-A.priority}function twi(o){let A=o._requestTiles,f=A.length;A.sort(ewi);for(let m=0;m<f;++m)A[m].requestContent()}function iwi(o,A){let f=o._selectedTiles,m=f.length;for(let C=0;C<m;C++)f[C].update(A)}function rwi(o,A){}function nwi(o){o._cache.unloadTiles(o,rwi)}GJ.prototype.prePassesUpdate=function(o){this.ready&&o.newFrame&&this._cache.reset()};GJ.prototype.update=function(o){this.ready&&this._show&&(this._schuduler.scheduler(this,o),twi(this),iwi(this,o),nwi(this))};var Jne=GJ,tQe=`// See Intersection.glsl for the definition of intersectScene // See IntersectionUtils.glsl for the definition of nextIntersection // See convertUvToBox.glsl, convertUvToCylinder.glsl, or convertUvToEllipsoid.glsl // for the definition of convertUvToShapeUvSpace. The appropriate function is // selected based on the VoxelPrimitive shape type, and added to the shader in // Scene/VoxelRenderResources.js. // See Octree.glsl for the definitions of TraversalData, SampleData, // traverseOctreeFromBeginning, and traverseOctreeFromExisting // See Megatexture.glsl for the definition of accumulatePropertiesFromMegatexture #define STEP_COUNT_MAX 1000 // Harcoded value because GLSL doesn't like variable length loops #define ALPHA_ACCUM_MAX 0.98 // Must be > 0.0 and <= 1.0 uniform mat3 u_transformDirectionViewToLocal; uniform vec3 u_cameraPositionUv; uniform float u_stepSize; #if defined(PICKING) uniform vec4 u_pickColor; #endif #if defined(JITTER) float hash(vec2 p) { vec3 p3 = fract(vec3(p.xyx) * 50.0); // magic number = hashscale p3 += dot(p3, p3.yzx + 19.19); return fract((p3.x + p3.y) * p3.z); } #endif vec4 getStepSize(in SampleData sampleData, in Ray viewRay, in RayShapeIntersection shapeIntersection) { #if defined(SHAPE_BOX) Box voxelBox = constructVoxelBox(sampleData.tileCoords, sampleData.tileUv); RayShapeIntersection voxelIntersection = intersectBox(viewRay, voxelBox); vec4 entry = shapeIntersection.entry.w >= voxelIntersection.entry.w ? shapeIntersection.entry : voxelIntersection.entry; float exit = min(voxelIntersection.exit.w, shapeIntersection.exit.w); float dt = (exit - entry.w) * RAY_SCALE; return vec4(normalize(entry.xyz), dt); #else float dimAtLevel = pow(2.0, float(sampleData.tileCoords.w)); return vec4(viewRay.dir, u_stepSize / dimAtLevel); #endif } void main() { vec4 fragCoord = gl_FragCoord; vec2 screenCoord = (fragCoord.xy - czm_viewport.xy) / czm_viewport.zw; // [0,1] vec3 eyeDirection = normalize(czm_windowToEyeCoordinates(fragCoord).xyz); vec3 viewDirWorld = normalize(czm_inverseViewRotation * eyeDirection); // normalize again just in case vec3 viewDirUv = normalize(u_transformDirectionViewToLocal * eyeDirection); // normalize again just in case vec3 viewPosUv = u_cameraPositionUv; #if defined(SHAPE_BOX) vec3 dInv = 1.0 / viewDirUv; Ray viewRayUv = Ray(viewPosUv, viewDirUv, dInv); #else Ray viewRayUv = Ray(viewPosUv, viewDirUv); #endif Intersections ix; RayShapeIntersection shapeIntersection = intersectScene(screenCoord, viewRayUv, ix); // Exit early if the scene was completely missed. if (shapeIntersection.entry.w == NO_HIT) { discard; } float currT = shapeIntersection.entry.w * RAY_SCALE; float endT = shapeIntersection.exit.w; vec3 positionUv = viewPosUv + currT * viewDirUv; vec3 positionUvShapeSpace = convertUvToShapeUvSpace(positionUv); // Traverse the tree from the start position TraversalData traversalData; SampleData sampleDatas[SAMPLE_COUNT]; traverseOctreeFromBeginning(positionUvShapeSpace, traversalData, sampleDatas); vec4 step = getStepSize(sampleDatas[0], viewRayUv, shapeIntersection); #if defined(JITTER) float noise = hash(screenCoord); // [0,1] currT += noise * step.w; positionUv += noise * step.w * viewDirUv; #endif FragmentInput fragmentInput; #if defined(STATISTICS) setStatistics(fragmentInput.metadata.statistics); #endif vec4 colorAccum =vec4(0.0); for (int stepCount = 0; stepCount < STEP_COUNT_MAX; ++stepCount) { // Read properties from the megatexture based on the traversal state Properties properties = accumulatePropertiesFromMegatexture(sampleDatas); // Prepare the custom shader inputs copyPropertiesToMetadata(properties, fragmentInput.metadata); fragmentInput.voxel.positionUv = positionUv; fragmentInput.voxel.positionShapeUv = positionUvShapeSpace; fragmentInput.voxel.positionUvLocal = sampleDatas[0].tileUv; fragmentInput.voxel.viewDirUv = viewDirUv; fragmentInput.voxel.viewDirWorld = viewDirWorld; fragmentInput.voxel.surfaceNormal = step.xyz; fragmentInput.voxel.travelDistance = step.w; // Run the custom shader czm_modelMaterial materialOutput; fragmentMain(fragmentInput, materialOutput); // Sanitize the custom shader output vec4 color = vec4(materialOutput.diffuse, materialOutput.alpha); color.rgb = max(color.rgb, vec3(0.0)); color.a = clamp(color.a, 0.0, 1.0); // Pre-multiplied alpha blend colorAccum += (1.0 - colorAccum.a) * vec4(color.rgb * color.a, color.a); // Stop traversing if the alpha has been fully saturated if (colorAccum.a > ALPHA_ACCUM_MAX) { colorAccum.a = ALPHA_ACCUM_MAX; break; } if (step.w == 0.0) { // Shape is infinitely thin. The ray may have hit the edge of a // foreground voxel. Step ahead slightly to check for more voxels step.w == 0.00001; } // Keep raymarching currT += step.w; positionUv += step.w * viewDirUv; // Check if there's more intersections. if (currT > endT) { #if (INTERSECTION_COUNT == 1) break; #else shapeIntersection = nextIntersection(ix); if (shapeIntersection.entry.w == NO_HIT) { break; } else { // Found another intersection. Resume raymarching there currT = shapeIntersection.entry.w * RAY_SCALE; endT = shapeIntersection.exit.w; positionUv = viewPosUv + currT * viewDirUv; } #endif } // Traverse the tree from the current ray position. // This is similar to traverseOctreeFromBeginning but is faster when the ray is in the same tile as the previous step. positionUvShapeSpace = convertUvToShapeUvSpace(positionUv); traverseOctreeFromExisting(positionUvShapeSpace, traversalData, sampleDatas); step = getStepSize(sampleDatas[0], viewRayUv, shapeIntersection); } // Convert the alpha from [0,ALPHA_ACCUM_MAX] to [0,1] colorAccum.a /= ALPHA_ACCUM_MAX; #if defined(PICKING) // If alpha is 0.0 there is nothing to pick if (colorAccum.a == 0.0) { discard; } out_FragColor = u_pickColor; #else out_FragColor = colorAccum; #endif } `,iQe=`in vec2 position; uniform vec4 u_ndcSpaceAxisAlignedBoundingBox; void main() { vec2 aabbMin = u_ndcSpaceAxisAlignedBoundingBox.xy; vec2 aabbMax = u_ndcSpaceAxisAlignedBoundingBox.zw; vec2 translation = 0.5 * (aabbMax + aabbMin); vec2 scale = 0.5 * (aabbMax - aabbMin); gl_Position = vec4(position * scale + translation, 0.0, 1.0); } `,rQe=`/* Intersection defines #define INTERSECTION_COUNT ### */ #define NO_HIT (-czm_infinity) #define INF_HIT (czm_infinity * 0.5) #define RAY_SHIFT (0.000003163) #define RAY_SCALE (1.003163) struct Ray { vec3 pos; vec3 dir; #if defined(SHAPE_BOX) vec3 dInv; #endif }; struct RayShapeIntersection { vec4 entry; vec4 exit; }; struct Intersections { // Don't access these member variables directly - call the functions instead. // Store an array of ray-surface intersections. Each intersection is composed of: // .xyz for the surface normal at the intersection point // .w for the T value // The scale of the normal encodes the shape intersection type: // length(intersection.xyz) = 1: positive shape entry // length(intersection.xyz) = 2: positive shape exit // length(intersection.xyz) = 3: negative shape entry // length(intersection.xyz) = 4: negative shape exit // INTERSECTION_COUNT is the number of ray-*shape* (volume) intersections, // so we need twice as many to track ray-*surface* intersections vec4 intersections[INTERSECTION_COUNT * 2]; #if (INTERSECTION_COUNT > 1) // Maintain state for future nextIntersection calls int index; int surroundCount; bool surroundIsPositive; #endif }; RayShapeIntersection getFirstIntersection(in Intersections ix) { return RayShapeIntersection(ix.intersections[0], ix.intersections[1]); } vec4 encodeIntersectionType(vec4 intersection, int index, bool entry) { float scale = float(index > 0) * 2.0 + float(!entry) + 1.0; return vec4(intersection.xyz * scale, intersection.w); } // Use defines instead of real functions because WebGL1 cannot access array with non-constant index. #define setIntersection(/*inout Intersections*/ ix, /*int*/ index, /*float*/ t, /*bool*/ positive, /*bool*/ enter) (ix).intersections[(index)] = vec4(0.0, float(!positive) * 2.0 + float(!enter) + 1.0, 0.0, (t)) #define setIntersectionPair(/*inout Intersections*/ ix, /*int*/ index, /*vec2*/ entryExit) (ix).intersections[(index) * 2 + 0] = vec4(0.0, float((index) > 0) * 2.0 + 1.0, 0.0, (entryExit).x); (ix).intersections[(index) * 2 + 1] = vec4(0.0, float((index) > 0) * 2.0 + 2.0, 0.0, (entryExit).y) #define setSurfaceIntersection(/*inout Intersections*/ ix, /*int*/ index, /*vec4*/ intersection) (ix).intersections[(index)] = intersection; #define setShapeIntersection(/*inout Intersections*/ ix, /*int*/ index, /*RayShapeIntersection*/ intersection) (ix).intersections[(index) * 2 + 0] = encodeIntersectionType((intersection).entry, (index), true); (ix).intersections[(index) * 2 + 1] = encodeIntersectionType((intersection).exit, (index), false) #if (INTERSECTION_COUNT > 1) void initializeIntersections(inout Intersections ix) { // Sort the intersections from min T to max T with bubble sort. // Note: If this sorting function changes, some of the intersection test may // need to be updated. Search for "bubble sort" to find those areas. const int sortPasses = INTERSECTION_COUNT * 2 - 1; for (int n = sortPasses; n > 0; --n) { for (int i = 0; i < sortPasses; ++i) { // The loop should be: for (i = 0; i < n; ++i) {...} but WebGL1 cannot // loop with non-constant condition, so it has to break early instead if (i >= n) { break; } vec4 intersect0 = ix.intersections[i + 0]; vec4 intersect1 = ix.intersections[i + 1]; bool inOrder = intersect0.w <= intersect1.w; ix.intersections[i + 0] = inOrder ? intersect0 : intersect1; ix.intersections[i + 1] = inOrder ? intersect1 : intersect0; } } // Prepare initial state for nextIntersection ix.index = 0; ix.surroundCount = 0; ix.surroundIsPositive = false; } #endif #if (INTERSECTION_COUNT > 1) RayShapeIntersection nextIntersection(inout Intersections ix) { vec4 surfaceIntersection = vec4(0.0, 0.0, 0.0, NO_HIT); RayShapeIntersection shapeIntersection = RayShapeIntersection(surfaceIntersection, surfaceIntersection); const int passCount = INTERSECTION_COUNT * 2; if (ix.index == passCount) { return shapeIntersection; } for (int i = 0; i < passCount; ++i) { // The loop should be: for (i = ix.index; i < passCount; ++i) {...} but WebGL1 cannot // loop with non-constant condition, so it has to continue instead. if (i < ix.index) { continue; } ix.index = i + 1; surfaceIntersection = ix.intersections[i]; int intersectionType = int(length(surfaceIntersection.xyz) - 0.5); bool currShapeIsPositive = intersectionType < 2; bool enter = intMod(intersectionType, 2) == 0; ix.surroundCount += enter ? +1 : -1; ix.surroundIsPositive = currShapeIsPositive ? enter : ix.surroundIsPositive; // entering positive or exiting negative if (ix.surroundCount == 1 && ix.surroundIsPositive && enter == currShapeIsPositive) { shapeIntersection.entry = surfaceIntersection; } // exiting positive or entering negative after being inside positive bool exitPositive = !enter && currShapeIsPositive && ix.surroundCount == 0; bool enterNegativeFromPositive = enter && !currShapeIsPositive && ix.surroundCount == 2 && ix.surroundIsPositive; if (exitPositive || enterNegativeFromPositive) { shapeIntersection.exit = surfaceIntersection; // entry and exit have been found, so the loop can stop if (exitPositive) { // After exiting positive shape there is nothing left to intersect, so jump to the end index. ix.index = passCount; } break; } } return shapeIntersection; } #endif // NOTE: initializeIntersections, nextIntersection aren't even declared unless INTERSECTION_COUNT > 1 `,nQe=`// See IntersectionUtils.glsl for the definitions of Ray, Intersections, // setIntersectionPair, INF_HIT, NO_HIT /* intersectDepth defines (set in Scene/VoxelRenderResources.js) #define DEPTH_INTERSECTION_INDEX ### */ uniform mat4 u_transformPositionViewToUv; void intersectDepth(in vec2 screenCoord, in Ray ray, inout Intersections ix) { float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, screenCoord)); if (logDepthOrDepth != 0.0) { // Calculate how far the ray must travel before it hits the depth buffer. vec4 eyeCoordinateDepth = czm_screenToEyeCoordinates(screenCoord, logDepthOrDepth); eyeCoordinateDepth /= eyeCoordinateDepth.w; vec3 depthPositionUv = vec3(u_transformPositionViewToUv * eyeCoordinateDepth); float t = dot(depthPositionUv - ray.pos, ray.dir); setIntersectionPair(ix, DEPTH_INTERSECTION_INDEX, vec2(t, +INF_HIT)); } else { // There's no depth at this location. setIntersectionPair(ix, DEPTH_INTERSECTION_INDEX, vec2(NO_HIT)); } } `,oQe=`// See IntersectionUtils.glsl for the definitions of Ray, Intersections, INF_HIT, // NO_HIT, setIntersectionPair /* Clipping plane defines (set in Scene/VoxelRenderResources.js) #define CLIPPING_PLANES_UNION #define CLIPPING_PLANES_COUNT #define CLIPPING_PLANES_INTERSECTION_INDEX */ uniform sampler2D u_clippingPlanesTexture; uniform mat4 u_clippingPlanesMatrix; // Plane is in Hessian Normal Form vec4 intersectPlane(in Ray ray, in vec4 plane) { vec3 n = plane.xyz; // normal float w = plane.w; // -dot(pointOnPlane, normal) float a = dot(ray.pos, n); float b = dot(ray.dir, n); float t = -(w + a) / b; return vec4(n, t); } void intersectClippingPlanes(in Ray ray, inout Intersections ix) { vec4 backSide = vec4(-ray.dir, -INF_HIT); vec4 farSide = vec4(ray.dir, +INF_HIT); RayShapeIntersection clippingVolume; #if (CLIPPING_PLANES_COUNT == 1) // Union and intersection are the same when there's one clipping plane, and the code // is more simplified. vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, 0, u_clippingPlanesMatrix); vec4 intersection = intersectPlane(ray, planeUv); bool reflects = dot(ray.dir, intersection.xyz) < 0.0; clippingVolume.entry = reflects ? backSide : intersection; clippingVolume.exit = reflects ? intersection : farSide; setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX, clippingVolume); #elif defined(CLIPPING_PLANES_UNION) vec4 firstTransmission = vec4(ray.dir, +INF_HIT); vec4 lastReflection = vec4(-ray.dir, -INF_HIT); for (int i = 0; i < CLIPPING_PLANES_COUNT; i++) { vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, i, u_clippingPlanesMatrix); vec4 intersection = intersectPlane(ray, planeUv); if (dot(ray.dir, planeUv.xyz) > 0.0) { firstTransmission = intersection.w <= firstTransmission.w ? intersection : firstTransmission; } else { lastReflection = intersection.w >= lastReflection.w ? intersection : lastReflection; } } clippingVolume.entry = backSide; clippingVolume.exit = lastReflection; setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX + 0, clippingVolume); clippingVolume.entry = firstTransmission; clippingVolume.exit = farSide; setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX + 1, clippingVolume); #else // intersection vec4 lastTransmission = vec4(ray.dir, -INF_HIT); vec4 firstReflection = vec4(-ray.dir, +INF_HIT); for (int i = 0; i < CLIPPING_PLANES_COUNT; i++) { vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, i, u_clippingPlanesMatrix); vec4 intersection = intersectPlane(ray, planeUv); if (dot(ray.dir, planeUv.xyz) > 0.0) { lastTransmission = intersection.w > lastTransmission.w ? intersection : lastTransmission; } else { firstReflection = intersection.w < firstReflection.w ? intersection: firstReflection; } } if (lastTransmission.w < firstReflection.w) { clippingVolume.entry = lastTransmission; clippingVolume.exit = firstReflection; } else { clippingVolume.entry = vec4(-ray.dir, NO_HIT); clippingVolume.exit = vec4(ray.dir, NO_HIT); } setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX, clippingVolume); #endif } `,aQe=`// See IntersectionUtils.glsl for the definitions of Ray and NO_HIT // See convertUvToBox.glsl for the definition of convertShapeUvToUvSpace /* Box defines (set in Scene/VoxelBoxShape.js) #define BOX_INTERSECTION_INDEX ### // always 0 */ uniform vec3 u_renderMinBounds; uniform vec3 u_renderMaxBounds; struct Box { vec3 p0; vec3 p1; }; Box constructVoxelBox(in ivec4 octreeCoords, in vec3 tileUv) { // Find the min/max cornerpoints of the voxel in tile coordinates vec3 tileOrigin = vec3(octreeCoords.xyz); vec3 numSamples = vec3(u_dimensions); vec3 voxelSize = 1.0 / numSamples; vec3 coordP0 = floor(tileUv * numSamples) * voxelSize + tileOrigin; vec3 coordP1 = coordP0 + voxelSize; // Transform to the UV coordinates of the scaled tileset float tileSize = 1.0 / pow(2.0, float(octreeCoords.w)); vec3 p0 = convertShapeUvToUvSpace(coordP0 * tileSize); vec3 p1 = convertShapeUvToUvSpace(coordP1 * tileSize); return Box(p0, p1); } vec3 getBoxNormal(in Box box, in Ray ray, in float t) { vec3 hitPoint = ray.pos + t * ray.dir; vec3 lower = step(hitPoint, box.p0); vec3 upper = step(box.p1, hitPoint); return normalize(upper - lower); } // Find the distances along a ray at which the ray intersects an axis-aligned box // See https://tavianator.com/2011/ray_box.html RayShapeIntersection intersectBox(in Ray ray, in Box box) { // Consider the box as the intersection of the space between 3 pairs of parallel planes // Compute the distance along the ray to each plane vec3 t0 = (box.p0 - ray.pos) * ray.dInv; vec3 t1 = (box.p1 - ray.pos) * ray.dInv; // Identify candidate entries/exits based on distance from ray.pos vec3 entries = min(t0, t1); vec3 exits = max(t0, t1); // The actual box intersection points are the furthest entry and the closest exit float entryT = max(max(entries.x, entries.y), entries.z); float exitT = min(min(exits.x, exits.y), exits.z); vec3 entryNormal = getBoxNormal(box, ray, entryT - RAY_SHIFT); vec3 exitNormal = getBoxNormal(box, ray, exitT + RAY_SHIFT); if (entryT > exitT) { entryT = NO_HIT; exitT = NO_HIT; } return RayShapeIntersection(vec4(entryNormal, entryT), vec4(exitNormal, exitT)); } void intersectShape(in Ray ray, inout Intersections ix) { RayShapeIntersection intersection = intersectBox(ray, Box(u_renderMinBounds, u_renderMaxBounds)); setShapeIntersection(ix, BOX_INTERSECTION_INDEX, intersection); } `,sQe=`// See IntersectionUtils.glsl for the definitions of Ray, setIntersection, // setIntersectionPair /* Cylinder defines (set in Scene/VoxelCylinderShape.js) #define CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN #define CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MAX #define CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT #define CYLINDER_HAS_RENDER_BOUNDS_HEIGHT #define CYLINDER_HAS_RENDER_BOUNDS_HEIGHT_FLAT #define CYLINDER_HAS_RENDER_BOUNDS_ANGLE #define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF #define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF #define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_HALF #define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO #define CYLINDER_HAS_SHAPE_BOUNDS_RADIUS #define CYLINDER_HAS_SHAPE_BOUNDS_RADIUS_FLAT #define CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT #define CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT_FLAT #define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE #define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_RANGE_EQUAL_ZERO #define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY #define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY #define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED #define CYLINDER_INTERSECTION_INDEX_RADIUS_MAX #define CYLINDER_INTERSECTION_INDEX_RADIUS_MIN #define CYLINDER_INTERSECTION_INDEX_ANGLE */ // Cylinder uniforms #if defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MAX) || defined(CYLINDER_HAS_RENDER_BOUNDS_HEIGHT) uniform vec3 u_cylinderUvToRenderBoundsScale; uniform vec3 u_cylinderUvToRenderBoundsTranslate; #endif #if defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN) && !defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT) uniform float u_cylinderUvToRenderRadiusMin; #endif #if defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE) uniform vec2 u_cylinderRenderAngleMinMax; #endif vec4 intersectHalfPlane(Ray ray, float angle) { vec2 o = ray.pos.xy; vec2 d = ray.dir.xy; vec2 planeDirection = vec2(cos(angle), sin(angle)); vec2 planeNormal = vec2(planeDirection.y, -planeDirection.x); float a = dot(o, planeNormal); float b = dot(d, planeNormal); float t = -a / b; vec2 p = o + t * d; bool outside = dot(p, planeDirection) < 0.0; if (outside) return vec4(-INF_HIT, +INF_HIT, NO_HIT, NO_HIT); return vec4(-INF_HIT, t, t, +INF_HIT); } #define POSITIVE_HIT vec2(t, +INF_HIT); #define NEGATIVE_HIT vec2(-INF_HIT, t); vec2 intersectHalfSpace(Ray ray, float angle) { vec2 o = ray.pos.xy; vec2 d = ray.dir.xy; vec2 n = vec2(sin(angle), -cos(angle)); float a = dot(o, n); float b = dot(d, n); float t = -a / b; float s = sign(a); // Half space cuts right through the camera, pick the side to intersect if (a == 0.0) { if (b >= 0.0) { return POSITIVE_HIT; } else { return NEGATIVE_HIT; } } if (t >= 0.0 != s >= 0.0) { return POSITIVE_HIT; } else { return NEGATIVE_HIT; } } vec2 intersectRegularWedge(Ray ray, float minAngle, float maxAngle) { vec2 o = ray.pos.xy; vec2 d = ray.dir.xy; vec2 n1 = vec2(sin(minAngle), -cos(minAngle)); vec2 n2 = vec2(-sin(maxAngle), cos(maxAngle)); float a1 = dot(o, n1); float a2 = dot(o, n2); float b1 = dot(d, n1); float b2 = dot(d, n2); float t1 = -a1 / b1; float t2 = -a2 / b2; float s1 = sign(a1); float s2 = sign(a2); float tmin = min(t1, t2); float tmax = max(t1, t2); float smin = tmin == t1 ? s1 : s2; float smax = tmin == t1 ? s2 : s1; bool e = tmin >= 0.0; bool f = tmax >= 0.0; bool g = smin >= 0.0; bool h = smax >= 0.0; if (e != g && f == h) return vec2(tmin, tmax); else if (e == g && f == h) return vec2(-INF_HIT, tmin); else if (e != g && f != h) return vec2(tmax, +INF_HIT); else return vec2(NO_HIT); } vec4 intersectFlippedWedge(Ray ray, float minAngle, float maxAngle) { vec2 planeIntersectMin = intersectHalfSpace(ray, minAngle); vec2 planeIntersectMax = intersectHalfSpace(ray, maxAngle + czm_pi); return vec4(planeIntersectMin, planeIntersectMax); } vec2 intersectUnitCylinder(Ray ray) { vec3 o = ray.pos; vec3 d = ray.dir; float a = dot(d.xy, d.xy); float b = dot(o.xy, d.xy); float c = dot(o.xy, o.xy) - 1.0; float det = b * b - a * c; if (det < 0.0) { return vec2(NO_HIT); } det = sqrt(det); float ta = (-b - det) / a; float tb = (-b + det) / a; float t1 = min(ta, tb); float t2 = max(ta, tb); float z1 = o.z + t1 * d.z; float z2 = o.z + t2 * d.z; if (abs(z1) >= 1.0) { float tCap = (sign(z1) - o.z) / d.z; t1 = abs(b + a * tCap) < det ? tCap : NO_HIT; } if (abs(z2) >= 1.0) { float tCap = (sign(z2) - o.z) / d.z; t2 = abs(b + a * tCap) < det ? tCap : NO_HIT; } return vec2(t1, t2); } vec2 intersectUnitCircle(Ray ray) { vec3 o = ray.pos; vec3 d = ray.dir; float t = -o.z / d.z; vec2 zPlanePos = o.xy + d.xy * t; float distSqr = dot(zPlanePos, zPlanePos); if (distSqr > 1.0) { return vec2(NO_HIT); } return vec2(t, t); } vec2 intersectInfiniteUnitCylinder(Ray ray) { vec3 o = ray.pos; vec3 d = ray.dir; float a = dot(d.xy, d.xy); float b = dot(o.xy, d.xy); float c = dot(o.xy, o.xy) - 1.0; float det = b * b - a * c; if (det < 0.0) { return vec2(NO_HIT); } det = sqrt(det); float t1 = (-b - det) / a; float t2 = (-b + det) / a; float tmin = min(t1, t2); float tmax = max(t1, t2); return vec2(tmin, tmax); } void intersectShape(Ray ray, inout Intersections ix) { #if defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MAX) || defined(CYLINDER_HAS_RENDER_BOUNDS_HEIGHT) ray.pos = ray.pos * u_cylinderUvToRenderBoundsScale + u_cylinderUvToRenderBoundsTranslate; ray.dir *= u_cylinderUvToRenderBoundsScale; #else // Position is converted from [0,1] to [-1,+1] because shape intersections assume unit space is [-1,+1]. // Direction is scaled as well to be in sync with position. ray.pos = ray.pos * 2.0 - 1.0; ray.dir *= 2.0; #endif #if defined(CYLINDER_HAS_RENDER_BOUNDS_HEIGHT_FLAT) vec2 outerIntersect = intersectUnitCircle(ray); #else vec2 outerIntersect = intersectUnitCylinder(ray); #endif setIntersectionPair(ix, CYLINDER_INTERSECTION_INDEX_RADIUS_MAX, outerIntersect); if (outerIntersect.x == NO_HIT) { return; } #if defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT) // When the cylinder is perfectly thin it's necessary to sandwich the // inner cylinder intersection inside the outer cylinder intersection. // Without this special case, // [outerMin, outerMax, innerMin, innerMax] will bubble sort to // [outerMin, innerMin, outerMax, innerMax] which will cause the back // side of the cylinder to be invisible because it will think the ray // is still inside the inner (negative) cylinder after exiting the // outer (positive) cylinder. // With this special case, // [outerMin, innerMin, innerMax, outerMax] will bubble sort to // [outerMin, innerMin, innerMax, outerMax] which will work correctly. // Note: If initializeIntersections() changes its sorting function // from bubble sort to something else, this code may need to change. vec2 innerIntersect = intersectInfiniteUnitCylinder(ray); setIntersection(ix, 0, outerIntersect.x, true, true); // positive, enter setIntersection(ix, 1, innerIntersect.x, false, true); // negative, enter setIntersection(ix, 2, innerIntersect.y, false, false); // negative, exit setIntersection(ix, 3, outerIntersect.y, true, false); // positive, exit #elif defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN) Ray innerRay = Ray(ray.pos * u_cylinderUvToRenderRadiusMin, ray.dir * u_cylinderUvToRenderRadiusMin); vec2 innerIntersect = intersectInfiniteUnitCylinder(innerRay); setIntersectionPair(ix, CYLINDER_INTERSECTION_INDEX_RADIUS_MIN, innerIntersect); #endif #if defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF) vec2 wedgeIntersect = intersectRegularWedge(ray, u_cylinderRenderAngleMinMax.x, u_cylinderRenderAngleMinMax.y); setIntersectionPair(ix, CYLINDER_INTERSECTION_INDEX_ANGLE, wedgeIntersect); #elif defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF) vec4 wedgeIntersect = intersectFlippedWedge(ray, u_cylinderRenderAngleMinMax.x, u_cylinderRenderAngleMinMax.y); setIntersectionPair(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 0, wedgeIntersect.xy); setIntersectionPair(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 1, wedgeIntersect.zw); #elif defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_HALF) vec2 wedgeIntersect = intersectHalfSpace(ray, u_cylinderRenderAngleMinMax.x); setIntersectionPair(ix, CYLINDER_INTERSECTION_INDEX_ANGLE, wedgeIntersect); #elif defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO) vec4 wedgeIntersect = intersectHalfPlane(ray, u_cylinderRenderAngleMinMax.x); setIntersectionPair(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 0, wedgeIntersect.xy); setIntersectionPair(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 1, wedgeIntersect.zw); #endif } `,lQe=`// See IntersectionUtils.glsl for the definitions of Ray, Intersections, // setIntersection, setIntersectionPair, INF_HIT, NO_HIT /* Ellipsoid defines (set in Scene/VoxelEllipsoidShape.js) #define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE #define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO #define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF #define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_HALF #define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF #define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE #define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF #define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF #define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF #define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF #define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF #define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF #define ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MAX #define ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MIN #define ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_FLAT #define ELLIPSOID_INTERSECTION_INDEX_LONGITUDE #define ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX #define ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN #define ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX #define ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN */ #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE) uniform vec2 u_ellipsoidRenderLongitudeMinMax; #endif #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF) uniform vec2 u_ellipsoidRenderLatitudeCosSqrHalfMinMax; #endif #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MAX) uniform float u_ellipsoidInverseOuterScaleUv; #endif #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MIN) uniform float u_ellipsoidInverseInnerScaleUv; #endif vec2 intersectZPlane(Ray ray) { float o = ray.pos.z; float d = ray.dir.z; float t = -o / d; float s = sign(o); if (t >= 0.0 != s >= 0.0) return vec2(t, +INF_HIT); else return vec2(-INF_HIT, t); } vec4 intersectHalfPlane(Ray ray, float angle) { vec2 o = ray.pos.xy; vec2 d = ray.dir.xy; vec2 planeDirection = vec2(cos(angle), sin(angle)); vec2 planeNormal = vec2(planeDirection.y, -planeDirection.x); float a = dot(o, planeNormal); float b = dot(d, planeNormal); float t = -a / b; vec2 p = o + t * d; bool outside = dot(p, planeDirection) < 0.0; if (outside) return vec4(-INF_HIT, +INF_HIT, NO_HIT, NO_HIT); return vec4(-INF_HIT, t, t, +INF_HIT); } vec2 intersectHalfSpace(Ray ray, float angle) { vec2 o = ray.pos.xy; vec2 d = ray.dir.xy; vec2 n = vec2(sin(angle), -cos(angle)); float a = dot(o, n); float b = dot(d, n); float t = -a / b; float s = sign(a); if (t >= 0.0 != s >= 0.0) return vec2(t, +INF_HIT); else return vec2(-INF_HIT, t); } vec2 intersectRegularWedge(Ray ray, float minAngle, float maxAngle) { vec2 o = ray.pos.xy; vec2 d = ray.dir.xy; vec2 n1 = vec2(sin(minAngle), -cos(minAngle)); vec2 n2 = vec2(-sin(maxAngle), cos(maxAngle)); float a1 = dot(o, n1); float a2 = dot(o, n2); float b1 = dot(d, n1); float b2 = dot(d, n2); float t1 = -a1 / b1; float t2 = -a2 / b2; float s1 = sign(a1); float s2 = sign(a2); float tmin = min(t1, t2); float tmax = max(t1, t2); float smin = tmin == t1 ? s1 : s2; float smax = tmin == t1 ? s2 : s1; bool e = tmin >= 0.0; bool f = tmax >= 0.0; bool g = smin >= 0.0; bool h = smax >= 0.0; if (e != g && f == h) return vec2(tmin, tmax); else if (e == g && f == h) return vec2(-INF_HIT, tmin); else if (e != g && f != h) return vec2(tmax, +INF_HIT); else return vec2(NO_HIT); } vec4 intersectFlippedWedge(Ray ray, float minAngle, float maxAngle) { vec2 planeIntersectMin = intersectHalfSpace(ray, minAngle); vec2 planeIntersectMax = intersectHalfSpace(ray, maxAngle + czm_pi); return vec4(planeIntersectMin, planeIntersectMax); } vec2 intersectUnitSphere(Ray ray) { vec3 o = ray.pos; vec3 d = ray.dir; float b = dot(d, o); float c = dot(o, o) - 1.0; float det = b * b - c; if (det < 0.0) { return vec2(NO_HIT); } det = sqrt(det); float t1 = -b - det; float t2 = -b + det; float tmin = min(t1, t2); float tmax = max(t1, t2); return vec2(tmin, tmax); } vec2 intersectUnitSphereUnnormalizedDirection(Ray ray) { vec3 o = ray.pos; vec3 d = ray.dir; float a = dot(d, d); float b = dot(d, o); float c = dot(o, o) - 1.0; float det = b * b - a * c; if (det < 0.0) { return vec2(NO_HIT); } det = sqrt(det); float t1 = (-b - det) / a; float t2 = (-b + det) / a; float tmin = min(t1, t2); float tmax = max(t1, t2); return vec2(tmin, tmax); } vec2 intersectDoubleEndedCone(Ray ray, float cosSqrHalfAngle) { vec3 o = ray.pos; vec3 d = ray.dir; float a = d.z * d.z - dot(d, d) * cosSqrHalfAngle; float b = d.z * o.z - dot(o, d) * cosSqrHalfAngle; float c = o.z * o.z - dot(o, o) * cosSqrHalfAngle; float det = b * b - a * c; if (det < 0.0) { return vec2(NO_HIT); } det = sqrt(det); float t1 = (-b - det) / a; float t2 = (-b + det) / a; float tmin = min(t1, t2); float tmax = max(t1, t2); return vec2(tmin, tmax); } vec4 intersectFlippedCone(Ray ray, float cosSqrHalfAngle) { vec2 intersect = intersectDoubleEndedCone(ray, cosSqrHalfAngle); if (intersect.x == NO_HIT) { return vec4(-INF_HIT, +INF_HIT, NO_HIT, NO_HIT); } vec3 o = ray.pos; vec3 d = ray.dir; float tmin = intersect.x; float tmax = intersect.y; float zmin = o.z + tmin * d.z; float zmax = o.z + tmax * d.z; // One interval if (zmin < 0.0 && zmax < 0.0) return vec4(-INF_HIT, +INF_HIT, NO_HIT, NO_HIT); else if (zmin < 0.0) return vec4(-INF_HIT, tmax, NO_HIT, NO_HIT); else if (zmax < 0.0) return vec4(tmin, +INF_HIT, NO_HIT, NO_HIT); // Two intervals else return vec4(-INF_HIT, tmin, tmax, +INF_HIT); } vec2 intersectRegularCone(Ray ray, float cosSqrHalfAngle) { vec2 intersect = intersectDoubleEndedCone(ray, cosSqrHalfAngle); if (intersect.x == NO_HIT) { return vec2(NO_HIT); } vec3 o = ray.pos; vec3 d = ray.dir; float tmin = intersect.x; float tmax = intersect.y; float zmin = o.z + tmin * d.z; float zmax = o.z + tmax * d.z; if (zmin < 0.0 && zmax < 0.0) return vec2(NO_HIT); else if (zmin < 0.0) return vec2(tmax, +INF_HIT); else if (zmax < 0.0) return vec2(-INF_HIT, tmin); else return vec2(tmin, tmax); } void intersectShape(in Ray ray, inout Intersections ix) { // Position is converted from [0,1] to [-1,+1] because shape intersections assume unit space is [-1,+1]. // Direction is scaled as well to be in sync with position. ray.pos = ray.pos * 2.0 - 1.0; ray.dir *= 2.0; #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MAX) Ray outerRay = Ray(ray.pos * u_ellipsoidInverseOuterScaleUv, ray.dir * u_ellipsoidInverseOuterScaleUv); #else Ray outerRay = ray; #endif // Outer ellipsoid vec2 outerIntersect = intersectUnitSphereUnnormalizedDirection(outerRay); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX, outerIntersect); // Exit early if the outer ellipsoid was missed. if (outerIntersect.x == NO_HIT) { return; } // Inner ellipsoid #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_FLAT) // When the ellipsoid is perfectly thin it's necessary to sandwich the // inner ellipsoid intersection inside the outer ellipsoid intersection. // Without this special case, // [outerMin, outerMax, innerMin, innerMax] will bubble sort to // [outerMin, innerMin, outerMax, innerMax] which will cause the back // side of the ellipsoid to be invisible because it will think the ray // is still inside the inner (negative) ellipsoid after exiting the // outer (positive) ellipsoid. // With this special case, // [outerMin, innerMin, innerMax, outerMax] will bubble sort to // [outerMin, innerMin, innerMax, outerMax] which will work correctly. // Note: If initializeIntersections() changes its sorting function // from bubble sort to something else, this code may need to change. setIntersection(ix, 0, outerIntersect.x, true, true); // positive, enter setIntersection(ix, 1, outerIntersect.x, false, true); // negative, enter setIntersection(ix, 2, outerIntersect.y, false, false); // negative, exit setIntersection(ix, 3, outerIntersect.y, true, false); // positive, exit #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MIN) Ray innerRay = Ray(ray.pos * u_ellipsoidInverseInnerScaleUv, ray.dir * u_ellipsoidInverseInnerScaleUv); vec2 innerIntersect = intersectUnitSphereUnnormalizedDirection(innerRay); if (innerIntersect == vec2(NO_HIT)) { setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN, innerIntersect); } else { // When the ellipsoid is very large and thin it's possible for floating // point math to cause the ray to intersect the inner ellipsoid before // the outer ellipsoid. To prevent this from happening, clamp innerIntersect // to outerIntersect and sandwhich the intersections like described above. // // In theory a similar fix is needed for cylinders, however it's more // complicated to implement because the inner shape is allowed to be // intersected first. innerIntersect.x = max(innerIntersect.x, outerIntersect.x); innerIntersect.y = min(innerIntersect.y, outerIntersect.y); setIntersection(ix, 0, outerIntersect.x, true, true); // positive, enter setIntersection(ix, 1, innerIntersect.x, false, true); // negative, enter setIntersection(ix, 2, innerIntersect.y, false, false); // negative, exit setIntersection(ix, 3, outerIntersect.y, true, false); // positive, exit } #endif // Flip the ray because the intersection function expects a cone growing towards +Z. #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF) Ray flippedRay = outerRay; flippedRay.dir.z *= -1.0; flippedRay.pos.z *= -1.0; #endif // Bottom cone #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF) vec2 bottomConeIntersection = intersectRegularCone(flippedRay, u_ellipsoidRenderLatitudeCosSqrHalfMinMax.x); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN, bottomConeIntersection); #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF) vec2 bottomConeIntersection = intersectZPlane(flippedRay); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN, bottomConeIntersection); #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF) vec4 bottomConeIntersection = intersectFlippedCone(ray, u_ellipsoidRenderLatitudeCosSqrHalfMinMax.x); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN + 0, bottomConeIntersection.xy); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN + 1, bottomConeIntersection.zw); #endif // Top cone #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF) vec4 topConeIntersection = intersectFlippedCone(flippedRay, u_ellipsoidRenderLatitudeCosSqrHalfMinMax.y); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX + 0, topConeIntersection.xy); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX + 1, topConeIntersection.zw); #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF) vec2 topConeIntersection = intersectZPlane(ray); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX, topConeIntersection); #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF) vec2 topConeIntersection = intersectRegularCone(ray, u_ellipsoidRenderLatitudeCosSqrHalfMinMax.y); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX, topConeIntersection); #endif // Wedge #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO) vec4 wedgeIntersect = intersectHalfPlane(ray, u_ellipsoidRenderLongitudeMinMax.x); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 0, wedgeIntersect.xy); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 1, wedgeIntersect.zw); #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF) vec2 wedgeIntersect = intersectRegularWedge(ray, u_ellipsoidRenderLongitudeMinMax.x, u_ellipsoidRenderLongitudeMinMax.y); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE, wedgeIntersect); #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_HALF) vec2 wedgeIntersect = intersectHalfSpace(ray, u_ellipsoidRenderLongitudeMinMax.x); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE, wedgeIntersect); #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF) vec4 wedgeIntersect = intersectFlippedWedge(ray, u_ellipsoidRenderLongitudeMinMax.x, u_ellipsoidRenderLongitudeMinMax.y); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 0, wedgeIntersect.xy); setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 1, wedgeIntersect.zw); #endif } `,Z7=`// Main intersection function for Voxel scenes. // See IntersectBox.glsl, IntersectCylinder.glsl, or IntersectEllipsoid.glsl // for the definition of intersectShape. The appropriate function is selected // based on the VoxelPrimitive shape type, and added to the shader in // Scene/VoxelRenderResources.js. // See also IntersectClippingPlane.glsl and IntersectDepth.glsl. // See IntersectionUtils.glsl for the definitions of Ray, NO_HIT, // getFirstIntersection, initializeIntersections, nextIntersection. /* Intersection defines (set in Scene/VoxelRenderResources.js) #define INTERSECTION_COUNT ### */ RayShapeIntersection intersectScene(in vec2 screenCoord, in Ray ray, out Intersections ix) { // Do a ray-shape intersection to find the exact starting and ending points. intersectShape(ray, ix); // Exit early if the positive shape was completely missed or behind the ray. RayShapeIntersection intersection = getFirstIntersection(ix); if (intersection.entry.w == NO_HIT) { // Positive shape was completely missed - so exit early. return intersection; } // Clipping planes #if defined(CLIPPING_PLANES) intersectClippingPlanes(ray, ix); #endif // Depth #if defined(DEPTH_TEST) intersectDepth(screenCoord, ray, ix); #endif // Find the first intersection that's in front of the ray #if (INTERSECTION_COUNT > 1) initializeIntersections(ix); for (int i = 0; i < INTERSECTION_COUNT; ++i) { intersection = nextIntersection(ix); if (intersection.exit.w > 0.0) { // Set start to 0.0 when ray is inside the shape. intersection.entry.w = max(intersection.entry.w, 0.0); break; } } #else // Set start to 0.0 when ray is inside the shape. intersection.entry.w = max(intersection.entry.w, 0.0); #endif return intersection; } `,uQe=`/* Box defines (set in Scene/VoxelBoxShape.js) #define BOX_HAS_SHAPE_BOUNDS */ #if defined(BOX_HAS_SHAPE_BOUNDS) uniform vec3 u_boxUvToShapeUvScale; uniform vec3 u_boxUvToShapeUvTranslate; #endif vec3 convertUvToShapeUvSpace(in vec3 positionUv) { #if defined(BOX_HAS_SHAPE_BOUNDS) return positionUv * u_boxUvToShapeUvScale + u_boxUvToShapeUvTranslate; #else return positionUv; #endif } vec3 convertShapeUvToUvSpace(in vec3 shapeUv) { #if defined(BOX_HAS_SHAPE_BOUNDS) return (shapeUv - u_boxUvToShapeUvTranslate) / u_boxUvToShapeUvScale; #else return shapeUv; #endif } `,AQe=`/* Cylinder defines (set in Scene/VoxelCylinderShape.js) #define CYLINDER_HAS_SHAPE_BOUNDS_RADIUS #define CYLINDER_HAS_SHAPE_BOUNDS_RADIUS_FLAT #define CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT #define CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT_FLAT #define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE #define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_RANGE_EQUAL_ZERO #define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY #define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY #define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED */ #if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS) uniform vec2 u_cylinderUvToShapeUvRadius; // x = scale, y = offset #endif #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT) uniform vec2 u_cylinderUvToShapeUvHeight; // x = scale, y = offset #endif #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE) uniform vec2 u_cylinderUvToShapeUvAngle; // x = scale, y = offset #endif #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY) || defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY) uniform vec2 u_cylinderShapeUvAngleMinMax; #endif #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY) || defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY) || defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED) uniform float u_cylinderShapeUvAngleRangeZeroMid; #endif vec3 convertUvToShapeUvSpace(in vec3 positionUv) { vec3 positionLocal = positionUv * 2.0 - 1.0; // [-1,+1] // Compute radius #if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS_FLAT) float radius = 1.0; #else float radius = length(positionLocal.xy); // [0,1] #if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS) radius = radius * u_cylinderUvToShapeUvRadius.x + u_cylinderUvToShapeUvRadius.y; // x = scale, y = offset #endif #endif // Compute height #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT_FLAT) float height = 1.0; #else float height = positionUv.z; // [0,1] #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT) height = height * u_cylinderUvToShapeUvHeight.x + u_cylinderUvToShapeUvHeight.y; // x = scale, y = offset #endif #endif // Compute angle #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_RANGE_EQUAL_ZERO) float angle = 1.0; #else float angle = (atan(positionLocal.y, positionLocal.x) + czm_pi) / czm_twoPi; // [0,1] #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE) #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED) // Comparing against u_cylinderShapeUvAngleMinMax has precision problems. u_cylinderShapeUvAngleRangeZeroMid is more conservative. angle += float(angle < u_cylinderShapeUvAngleRangeZeroMid); #endif // Avoid flickering from reading voxels from both sides of the -pi/+pi discontinuity. #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY) angle = angle > u_cylinderShapeUvAngleRangeZeroMid ? u_cylinderShapeUvAngleMinMax.x : angle; #elif defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY) angle = angle < u_cylinderShapeUvAngleRangeZeroMid ? u_cylinderShapeUvAngleMinMax.y : angle; #endif angle = angle * u_cylinderUvToShapeUvAngle.x + u_cylinderUvToShapeUvAngle.y; // x = scale, y = offset #endif #endif return vec3(radius, height, angle); } `,cQe=`/* Ellipsoid defines (set in Scene/VoxelEllipsoidShape.js) #define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY #define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY #define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE #define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO #define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED #define ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE #define ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE_RANGE_EQUAL_ZERO #define ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_MIN #define ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_FLAT #define ELLIPSOID_IS_SPHERE */ uniform vec3 u_ellipsoidRadiiUv; // [0,1] #if !defined(ELLIPSOID_IS_SPHERE) uniform vec3 u_ellipsoidInverseRadiiSquaredUv; #endif #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY) || defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED) uniform vec3 u_ellipsoidShapeUvLongitudeMinMaxMid; #endif #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE) uniform vec2 u_ellipsoidUvToShapeUvLongitude; // x = scale, y = offset #endif #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE) uniform vec2 u_ellipsoidUvToShapeUvLatitude; // x = scale, y = offset #endif #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_MIN) && !defined(ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_FLAT) uniform float u_ellipsoidInverseHeightDifferenceUv; uniform vec2 u_ellipseInnerRadiiUv; // [0,1] #endif // robust iterative solution without trig functions // https://github.com/0xfaded/ellipse_demo/issues/1 // https://stackoverflow.com/questions/22959698/distance-from-given-point-to-given-ellipse // Pro: Good when radii.x ~= radii.y // Con: Breaks at pos.x ~= 0.0, especially inside the ellipse // Con: Inaccurate with exterior points and thin ellipses float ellipseDistanceIterative (vec2 pos, vec2 radii) { vec2 p = abs(pos); vec2 invRadii = 1.0 / radii; vec2 a = vec2(1.0, -1.0) * (radii.x * radii.x - radii.y * radii.y) * invRadii; vec2 t = vec2(0.70710678118); // sqrt(2) / 2 vec2 v = radii * t; const int iterations = 3; for (int i = 0; i < iterations; ++i) { vec2 e = a * pow(t, vec2(3.0)); vec2 q = normalize(p - e) * length(v - e); t = normalize((q + e) * invRadii); v = radii * t; } return length(v * sign(pos) - pos) * sign(p.y - v.y); } vec3 convertUvToShapeUvSpace(in vec3 positionUv) { // Compute position and normal. // Convert positionUv [0,1] to local space [-1,+1] to "normalized" cartesian space [-a,+a] where a = (radii + height) / (max(radii) + height). // A point on the largest ellipsoid axis would be [-1,+1] and everything else would be smaller. vec3 positionLocal = positionUv * 2.0 - 1.0; #if defined(ELLIPSOID_IS_SPHERE) vec3 posEllipsoid = positionLocal * u_ellipsoidRadiiUv.x; vec3 normal = normalize(posEllipsoid); #else vec3 posEllipsoid = positionLocal * u_ellipsoidRadiiUv; vec3 normal = normalize(posEllipsoid * u_ellipsoidInverseRadiiSquaredUv); // geodetic surface normal #endif // Compute longitude #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO) float longitude = 1.0; #else float longitude = (atan(normal.y, normal.x) + czm_pi) / czm_twoPi; // Correct the angle when max < min // Technically this should compare against min longitude - but it has precision problems so compare against the middle of empty space. #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED) longitude += float(longitude < u_ellipsoidShapeUvLongitudeMinMaxMid.z); #endif // Avoid flickering from reading voxels from both sides of the -pi/+pi discontinuity. #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY) longitude = longitude > u_ellipsoidShapeUvLongitudeMinMaxMid.z ? u_ellipsoidShapeUvLongitudeMinMaxMid.x : longitude; #endif #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY) longitude = longitude < u_ellipsoidShapeUvLongitudeMinMaxMid.z ? u_ellipsoidShapeUvLongitudeMinMaxMid.y : longitude; #endif #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE) longitude = longitude * u_ellipsoidUvToShapeUvLongitude.x + u_ellipsoidUvToShapeUvLongitude.y; #endif #endif // Compute latitude #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE_RANGE_EQUAL_ZERO) float latitude = 1.0; #else float latitude = (asin(normal.z) + czm_piOverTwo) / czm_pi; #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE) latitude = latitude * u_ellipsoidUvToShapeUvLatitude.x + u_ellipsoidUvToShapeUvLatitude.y; #endif #endif // Compute height #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_FLAT) // TODO: This breaks down when minBounds == maxBounds. To fix it, this // function would have to know if ray is intersecting the front or back of the shape // and set the shape space position to 1 (front) or 0 (back) accordingly. float height = 1.0; #else #if defined(ELLIPSOID_IS_SPHERE) #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_MIN) float height = (length(posEllipsoid) - u_ellipseInnerRadiiUv.x) * u_ellipsoidInverseHeightDifferenceUv; #else float height = length(posEllipsoid); #endif #else #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_MIN) // Convert the 3D position to a 2D position relative to the ellipse (radii.x, radii.z) (assuming radii.x == radii.y which is true for WGS84). // This is an optimization so that math can be done with ellipses instead of ellipsoids. vec2 posEllipse = vec2(length(posEllipsoid.xy), posEllipsoid.z); float height = ellipseDistanceIterative(posEllipse, u_ellipseInnerRadiiUv) * u_ellipsoidInverseHeightDifferenceUv; #else // TODO: this is probably not correct float height = length(posEllipsoid); #endif #endif #endif return vec3(longitude, latitude, height); } `,hQe=`// These octree flags must be in sync with GpuOctreeFlag in VoxelTraversal.js #define OCTREE_FLAG_INTERNAL 0 #define OCTREE_FLAG_LEAF 1 #define OCTREE_FLAG_PACKED_LEAF_FROM_PARENT 2 #define OCTREE_MAX_LEVELS 32 // Harcoded value because GLSL doesn't like variable length loops uniform sampler2D u_octreeInternalNodeTexture; uniform vec2 u_octreeInternalNodeTexelSizeUv; uniform int u_octreeInternalNodeTilesPerRow; #if (SAMPLE_COUNT > 1) uniform sampler2D u_octreeLeafNodeTexture; uniform vec2 u_octreeLeafNodeTexelSizeUv; uniform int u_octreeLeafNodeTilesPerRow; #endif struct OctreeNodeData { int data; int flag; }; struct TraversalData { ivec4 octreeCoords; int parentOctreeIndex; }; struct SampleData { int megatextureIndex; ivec4 tileCoords; vec3 tileUv; #if (SAMPLE_COUNT > 1) float weight; #endif }; // Integer mod: For WebGL1 only int intMod(in int a, in int b) { return a - (b * (a / b)); } int normU8_toInt(in float value) { return int(value * 255.0); } int normU8x2_toInt(in vec2 value) { return int(value.x * 255.0) + 256 * int(value.y * 255.0); } float normU8x2_toFloat(in vec2 value) { return float(normU8x2_toInt(value)) / 65535.0; } OctreeNodeData getOctreeNodeData(in vec2 octreeUv) { vec4 texData = texture(u_octreeInternalNodeTexture, octreeUv); OctreeNodeData data; data.data = normU8x2_toInt(texData.xy); data.flag = normU8x2_toInt(texData.zw); return data; } OctreeNodeData getOctreeChildData(in int parentOctreeIndex, in ivec3 childCoord) { int childIndex = childCoord.z * 4 + childCoord.y * 2 + childCoord.x; int octreeCoordX = intMod(parentOctreeIndex, u_octreeInternalNodeTilesPerRow) * 9 + 1 + childIndex; int octreeCoordY = parentOctreeIndex / u_octreeInternalNodeTilesPerRow; vec2 octreeUv = u_octreeInternalNodeTexelSizeUv * vec2(float(octreeCoordX) + 0.5, float(octreeCoordY) + 0.5); return getOctreeNodeData(octreeUv); } int getOctreeParentIndex(in int octreeIndex) { int octreeCoordX = intMod(octreeIndex, u_octreeInternalNodeTilesPerRow) * 9; int octreeCoordY = octreeIndex / u_octreeInternalNodeTilesPerRow; vec2 octreeUv = u_octreeInternalNodeTexelSizeUv * vec2(float(octreeCoordX) + 0.5, float(octreeCoordY) + 0.5); vec4 parentData = texture(u_octreeInternalNodeTexture, octreeUv); int parentOctreeIndex = normU8x2_toInt(parentData.xy); return parentOctreeIndex; } /** * Convert a position in the uv-space of the tileset bounding shape * into the uv-space of a tile within the tileset */ vec3 getTileUv(in vec3 shapePosition, in ivec4 octreeCoords) { // PERFORMANCE_IDEA: use bit-shifting (only in WebGL2) float dimAtLevel = pow(2.0, float(octreeCoords.w)); return shapePosition * dimAtLevel - vec3(octreeCoords.xyz); } void getOctreeLeafSampleData(in OctreeNodeData data, in ivec4 octreeCoords, out SampleData sampleData) { sampleData.megatextureIndex = data.data; sampleData.tileCoords = (data.flag == OCTREE_FLAG_PACKED_LEAF_FROM_PARENT) ? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1) : octreeCoords; } #if (SAMPLE_COUNT > 1) void getOctreeLeafSampleDatas(in OctreeNodeData data, in ivec4 octreeCoords, out SampleData sampleDatas[SAMPLE_COUNT]) { int leafIndex = data.data; int leafNodeTexelCount = 2; // Adding 0.5 moves to the center of the texel float leafCoordXStart = float(intMod(leafIndex, u_octreeLeafNodeTilesPerRow) * leafNodeTexelCount) + 0.5; float leafCoordY = float(leafIndex / u_octreeLeafNodeTilesPerRow) + 0.5; // Get an interpolation weight and a flag to determine whether to read the parent texture vec2 leafUv0 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 0.0, leafCoordY); vec4 leafData0 = texture(u_octreeLeafNodeTexture, leafUv0); float lerp = normU8x2_toFloat(leafData0.xy); sampleDatas[0].weight = 1.0 - lerp; sampleDatas[1].weight = lerp; // TODO: this looks wrong? Should be comparing to OCTREE_FLAG_PACKED_LEAF_FROM_PARENT sampleDatas[0].tileCoords = (normU8_toInt(leafData0.z) == 1) ? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1) : octreeCoords; sampleDatas[1].tileCoords = (normU8_toInt(leafData0.w) == 1) ? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1) : octreeCoords; // Get megatexture indices for both samples vec2 leafUv1 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 1.0, leafCoordY); vec4 leafData1 = texture(u_octreeLeafNodeTexture, leafUv1); sampleDatas[0].megatextureIndex = normU8x2_toInt(leafData1.xy); sampleDatas[1].megatextureIndex = normU8x2_toInt(leafData1.zw); } #endif OctreeNodeData traverseOctreeDownwards(in vec3 shapePosition, inout TraversalData traversalData) { float sizeAtLevel = 1.0 / pow(2.0, float(traversalData.octreeCoords.w)); vec3 start = vec3(traversalData.octreeCoords.xyz) * sizeAtLevel; vec3 end = start + vec3(sizeAtLevel); OctreeNodeData childData; for (int i = 0; i < OCTREE_MAX_LEVELS; ++i) { // Find out which octree child contains the position // 0 if before center, 1 if after vec3 center = 0.5 * (start + end); vec3 childCoord = step(center, shapePosition); // Get octree coords for the next level down ivec4 octreeCoords = traversalData.octreeCoords; traversalData.octreeCoords = ivec4(octreeCoords.xyz * 2 + ivec3(childCoord), octreeCoords.w + 1); childData = getOctreeChildData(traversalData.parentOctreeIndex, ivec3(childCoord)); if (childData.flag != OCTREE_FLAG_INTERNAL) { // leaf tile - stop traversing break; } // interior tile - keep going deeper start = mix(start, center, childCoord); end = mix(center, end, childCoord); traversalData.parentOctreeIndex = childData.data; } return childData; } /** * Transform a given position to an octree tile coordinate and a position within that tile, * and find the corresponding megatexture index and texture coordinates */ void traverseOctreeFromBeginning(in vec3 shapePosition, out TraversalData traversalData, out SampleData sampleDatas[SAMPLE_COUNT]) { traversalData.octreeCoords = ivec4(0); traversalData.parentOctreeIndex = 0; OctreeNodeData nodeData = getOctreeNodeData(vec2(0.0)); if (nodeData.flag != OCTREE_FLAG_LEAF) { nodeData = traverseOctreeDownwards(shapePosition, traversalData); } #if (SAMPLE_COUNT == 1) getOctreeLeafSampleData(nodeData, traversalData.octreeCoords, sampleDatas[0]); sampleDatas[0].tileUv = getTileUv(shapePosition, sampleDatas[0].tileCoords); #else getOctreeLeafSampleDatas(nodeData, traversalData.octreeCoords, sampleDatas); sampleDatas[0].tileUv = getTileUv(shapePosition, sampleDatas[0].tileCoords); sampleDatas[1].tileUv = getTileUv(shapePosition, sampleDatas[1].tileCoords); #endif } bool inRange(in vec3 v, in vec3 minVal, in vec3 maxVal) { return clamp(v, minVal, maxVal) == v; } bool insideTile(in vec3 shapePosition, in ivec4 octreeCoords) { vec3 tileUv = getTileUv(shapePosition, octreeCoords); bool inside = inRange(tileUv, vec3(0.0), vec3(1.0)); // Assume (!) the position is always inside the root tile. return inside || octreeCoords.w == 0; } void traverseOctreeFromExisting(in vec3 shapePosition, inout TraversalData traversalData, inout SampleData sampleDatas[SAMPLE_COUNT]) { if (insideTile(shapePosition, traversalData.octreeCoords)) { for (int i = 0; i < SAMPLE_COUNT; i++) { sampleDatas[0].tileUv = getTileUv(shapePosition, sampleDatas[0].tileCoords); } return; } // Go up tree until we find a parent tile containing shapePosition for (int i = 0; i < OCTREE_MAX_LEVELS; ++i) { traversalData.octreeCoords.xyz /= 2; traversalData.octreeCoords.w -= 1; if (insideTile(shapePosition, traversalData.octreeCoords)) { break; } traversalData.parentOctreeIndex = getOctreeParentIndex(traversalData.parentOctreeIndex); } // Go down tree OctreeNodeData nodeData = traverseOctreeDownwards(shapePosition, traversalData); #if (SAMPLE_COUNT == 1) getOctreeLeafSampleData(nodeData, traversalData.octreeCoords, sampleDatas[0]); sampleDatas[0].tileUv = getTileUv(shapePosition, sampleDatas[0].tileCoords); #else getOctreeLeafSampleDatas(nodeData, traversalData.octreeCoords, sampleDatas); sampleDatas[0].tileUv = getTileUv(shapePosition, sampleDatas[0].tileCoords); sampleDatas[1].tileUv = getTileUv(shapePosition, sampleDatas[1].tileCoords); #endif } `,dQe=`// See Octree.glsl for the definitions of SampleData and intMod /* Megatexture defines (set in Scene/VoxelRenderResources.js) #define SAMPLE_COUNT ### #define NEAREST_SAMPLING #define PADDING */ uniform ivec2 u_megatextureSliceDimensions; // number of slices per tile, in two dimensions uniform ivec2 u_megatextureTileDimensions; // number of tiles per megatexture, in two dimensions uniform vec2 u_megatextureVoxelSizeUv; uniform vec2 u_megatextureSliceSizeUv; uniform vec2 u_megatextureTileSizeUv; uniform ivec3 u_dimensions; // does not include padding #if defined(PADDING) uniform ivec3 u_paddingBefore; uniform ivec3 u_paddingAfter; #endif // Integer min, max, clamp: For WebGL1 only int intMin(int a, int b) { return a <= b ? a : b; } int intMax(int a, int b) { return a >= b ? a : b; } int intClamp(int v, int minVal, int maxVal) { return intMin(intMax(v, minVal), maxVal); } vec2 index1DTo2DTexcoord(int index, ivec2 dimensions, vec2 uvScale) { int indexX = intMod(index, dimensions.x); int indexY = index / dimensions.x; return vec2(indexX, indexY) * uvScale; } /* How is 3D data stored in a 2D megatexture? In this example there is only one loaded tile and it has 2x2x2 voxels (8 voxels total). The data is sliced by Z. The data at Z = 0 is placed in texels (0,0), (0,1), (1,0), (1,1) and the data at Z = 1 is placed in texels (2,0), (2,1), (3,0), (3,1). Note that there could be empty space in the megatexture because it's a power of two. 0 1 2 3 +---+---+---+---+ | | | | | 3 +---+---+---+---+ | | | | | 2 +-------+-------+ |010|110|011|111| 1 |--- ---|--- ---| |000|100|001|101| 0 +-------+-------+ When doing linear interpolation the megatexture needs to be sampled twice: once for the Z slice above the voxel coordinate and once for the slice below. The two slices are interpolated with fract(coord.z - 0.5). For example, a Z coordinate of 1.0 is halfway between two Z slices so the interpolation factor is 0.5. Below is a side view of the 3D voxel grid with voxel coordinates on the left side. 2 +---+ |001| 1 +-z-+ |000| 0 +---+ When doing nearest neighbor the megatexture only needs to be sampled once at the closest Z slice. */ Properties getPropertiesFromMegatexture(in SampleData sampleData) { vec3 tileUv = clamp(sampleData.tileUv, vec3(0.0), vec3(1.0)); // TODO is the clamp necessary? int tileIndex = sampleData.megatextureIndex; vec3 voxelCoord = tileUv * vec3(u_dimensions); ivec3 voxelDimensions = u_dimensions; #if defined(PADDING) voxelDimensions += u_paddingBefore + u_paddingAfter; voxelCoord += vec3(u_paddingBefore); #endif #if defined(NEAREST_SAMPLING) // Round to the center of the nearest voxel voxelCoord = floor(voxelCoord) + vec3(0.5); #endif // Tile location vec2 tileUvOffset = index1DTo2DTexcoord(tileIndex, u_megatextureTileDimensions, u_megatextureTileSizeUv); // Slice location float slice = voxelCoord.z - 0.5; int sliceIndex = int(floor(slice)); int sliceIndex0 = intClamp(sliceIndex, 0, voxelDimensions.z - 1); vec2 sliceUvOffset0 = index1DTo2DTexcoord(sliceIndex0, u_megatextureSliceDimensions, u_megatextureSliceSizeUv); // Voxel location vec2 voxelUvOffset = clamp(voxelCoord.xy, vec2(0.5), vec2(voxelDimensions.xy) - vec2(0.5)) * u_megatextureVoxelSizeUv; // Final location in the megatexture vec2 uv0 = tileUvOffset + sliceUvOffset0 + voxelUvOffset; #if defined(NEAREST_SAMPLING) return getPropertiesFromMegatextureAtUv(uv0); #else float sliceLerp = fract(slice); int sliceIndex1 = intMin(sliceIndex + 1, voxelDimensions.z - 1); vec2 sliceUvOffset1 = index1DTo2DTexcoord(sliceIndex1, u_megatextureSliceDimensions, u_megatextureSliceSizeUv); vec2 uv1 = tileUvOffset + sliceUvOffset1 + voxelUvOffset; Properties properties0 = getPropertiesFromMegatextureAtUv(uv0); Properties properties1 = getPropertiesFromMegatextureAtUv(uv1); return mixProperties(properties0, properties1, sliceLerp); #endif } // Convert an array of sample datas to a final weighted properties. Properties accumulatePropertiesFromMegatexture(in SampleData sampleDatas[SAMPLE_COUNT]) { #if (SAMPLE_COUNT == 1) return getPropertiesFromMegatexture(sampleDatas[0]); #else // When more than one sample is taken the accumulator needs to start at 0 Properties properties = clearProperties(); for (int i = 0; i < SAMPLE_COUNT; ++i) { float weight = sampleDatas[i].weight; // Avoid reading the megatexture when the weight is 0 as it can be costly. if (weight > 0.0) { Properties tempProperties = getPropertiesFromMegatexture(sampleDatas[i]); tempProperties = scaleProperties(tempProperties, weight); properties = sumProperties(properties, tempProperties); } } return properties; #endif } `;function owi(o){let A=new gre;this.shaderBuilder=A;let f=o._customShader,m=So(o._uniformMap,f.uniformMap);o._uniformMap=m;let C=f.uniforms;for(let T in C)if(C.hasOwnProperty(T)){let w=C[T];A.addUniform(w.type,T,Ki.FRAGMENT)}A.addUniform("sampler2D","u_megatextureTextures[METADATA_COUNT]",Ki.FRAGMENT),this.uniformMap=m;let E=o._clippingPlanes,x=O(E)&&E.enabled?E.length:0;this.clippingPlanes=E,this.clippingPlanesLength=x,A.addVertexLines([iQe]),A.addFragmentLines([f.fragmentShaderText,"#line 0",hQe,rQe,dQe]),x>0&&(A.addDefine("CLIPPING_PLANES",void 0,Ki.FRAGMENT),A.addDefine("CLIPPING_PLANES_COUNT",x,Ki.FRAGMENT),E.unionClippingRegions&&A.addDefine("CLIPPING_PLANES_UNION",void 0,Ki.FRAGMENT),A.addFragmentLines([oQe])),o._depthTest&&(A.addDefine("DEPTH_TEST",void 0,Ki.FRAGMENT),A.addFragmentLines([nQe]));let y=o._provider.shape;y==="BOX"?(A.addDefine("SHAPE_BOX",void 0,Ki.FRAGMENT),A.addFragmentLines([uQe,aQe,Z7])):y==="CYLINDER"?A.addFragmentLines([sQe,Z7,AQe]):y==="ELLIPSOID"&&A.addFragmentLines([lQe,Z7,cQe]),A.addFragmentLines([tQe]);let I=o._shape,v=I.shaderDefines;for(let T in v)if(v.hasOwnProperty(T)){let w=v[T];O(w)&&(w=w===!0?void 0:w,A.addDefine(T,w,Ki.FRAGMENT))}let B=I.shaderMaximumIntersectionsLength;x>0&&(A.addDefine("CLIPPING_PLANES_INTERSECTION_INDEX",B,Ki.FRAGMENT),x===1?B+=1:E.unionClippingRegions?B+=2:B+=1),o._depthTest&&(A.addDefine("DEPTH_INTERSECTION_INDEX",B,Ki.FRAGMENT),B+=1),A.addDefine("INTERSECTION_COUNT",B,Ki.FRAGMENT),(!Z.equals(o.paddingBefore,Z.ZERO)||!Z.equals(o.paddingAfter,Z.ZERO))&&A.addDefine("PADDING",void 0,Ki.FRAGMENT),o._useLogDepth&&A.addDefine("LOG_DEPTH_READ_ONLY",void 0,Ki.FRAGMENT),o._jitter&&A.addDefine("JITTER",void 0,Ki.FRAGMENT),o._nearestSampling&&A.addDefine("NEAREST_SAMPLING",void 0,Ki.FRAGMENT);let Q=o._traversal;A.addDefine("SAMPLE_COUNT",`${Q._sampleCount}`,Ki.FRAGMENT)}var fQe=owi;function awi(o,A){let{shaderBuilder:f}=o,{names:m,types:C,componentTypes:E,minimumValues:x,maximumValues:y}=A._provider,I=C.length,v=O(x)&&O(y);f.addDefine("METADATA_COUNT",I,Ki.FRAGMENT),v&&f.addDefine("STATISTICS",void 0,Ki.FRAGMENT);for(let J=0;J<I;J++){let K=m[J],X=C[J],q=`PropertyStatistics_${K}`,ee=`PropertyStatistics_${K}`;f.addStruct(q,ee,Ki.FRAGMENT);let ie=YX(X);f.addStructField(q,ie,"min"),f.addStructField(q,ie,"max")}let B="Statistics",Q="Statistics",T="statistics";f.addStruct(B,Q,Ki.FRAGMENT);for(let J=0;J<I;J++){let K=m[J],X=`PropertyStatistics_${K}`,q=K;f.addStructField(B,X,q)}let w="Metadata",S="Metadata",D="metadata";f.addStruct(w,S,Ki.FRAGMENT),f.addStructField(w,Q,T);for(let J=0;J<I;J++){let K=m[J],X=C[J],q=YX(X);f.addStructField(w,q,K)}for(let J=0;J<I;J++){let K=m[J],X=C[J],q=lwi(X),ee=`VoxelProperty_${K}`,ie=`VoxelProperty_${K}`;f.addStruct(ee,ie,Ki.FRAGMENT),f.addStructField(ee,q,"partialDerivativeLocal"),f.addStructField(ee,q,"partialDerivativeWorld"),f.addStructField(ee,q,"partialDerivativeView"),f.addStructField(ee,q,"partialDerivativeValid")}let R="Voxel",P="Voxel",M="voxel";f.addStruct(R,P,Ki.FRAGMENT);for(let J=0;J<I;J++){let K=m[J],X=`VoxelProperty_${K}`;f.addStructField(R,X,K)}f.addStructField(R,"vec3","positionEC"),f.addStructField(R,"vec3","positionUv"),f.addStructField(R,"vec3","positionShapeUv"),f.addStructField(R,"vec3","positionUvLocal"),f.addStructField(R,"vec3","viewDirUv"),f.addStructField(R,"vec3","viewDirWorld"),f.addStructField(R,"vec3","surfaceNormal"),f.addStructField(R,"float","travelDistance");let L="FragmentInput",F="FragmentInput";f.addStruct(L,F,Ki.FRAGMENT),f.addStructField(L,S,D),f.addStructField(L,P,M);let k="Properties",N="Properties",G="properties";f.addStruct(k,N,Ki.FRAGMENT);for(let J=0;J<I;J++){let K=m[J],X=C[J],q=YX(X);f.addStructField(k,q,K)}{let J="clearProperties";f.addFunction(J,`${N} clearProperties()`,Ki.FRAGMENT),f.addFunctionLines(J,[`${N} ${G};`]);for(let K=0;K<I;K++){let X=m[K],q=C[K],ee=E[K],ie=YX(q,ee);f.addFunctionLines(J,[`${G}.${X} = ${ie}(0.0);`])}f.addFunctionLines(J,[`return ${G};`])}{let J="sumProperties";f.addFunction(J,`${N} sumProperties(${N} propertiesA, ${N} propertiesB)`,Ki.FRAGMENT),f.addFunctionLines(J,[`${N} ${G};`]);for(let K=0;K<I;K++){let X=m[K];f.addFunctionLines(J,[`${G}.${X} = propertiesA.${X} + propertiesB.${X};`])}f.addFunctionLines(J,[`return ${G};`])}{let J="scaleProperties";f.addFunction(J,`${N} scaleProperties(${N} ${G}, float scale)`,Ki.FRAGMENT),f.addFunctionLines(J,[`${N} scaledProperties = ${G};`]);for(let K=0;K<I;K++){let X=m[K];f.addFunctionLines(J,[`scaledProperties.${X} *= scale;`])}f.addFunctionLines(J,["return scaledProperties;"])}{let J="mixProperties";f.addFunction(J,`${N} mixProperties(${N} propertiesA, ${N} propertiesB, float mixFactor)`,Ki.FRAGMENT),f.addFunctionLines(J,[`${N} ${G};`]);for(let K=0;K<I;K++){let X=m[K];f.addFunctionLines(J,[`${G}.${X} = mix(propertiesA.${X}, propertiesB.${X}, mixFactor);`])}f.addFunctionLines(J,[`return ${G};`])}{let J="copyPropertiesToMetadata";f.addFunction(J,`void copyPropertiesToMetadata(in ${N} ${G}, inout ${S} ${D})`,Ki.FRAGMENT);for(let K=0;K<I;K++){let X=m[K];f.addFunctionLines(J,[`${D}.${X} = ${G}.${X};`])}}if(v){let J="setStatistics";f.addFunction(J,`void setStatistics(inout ${Q} ${T})`,Ki.FRAGMENT);for(let K=0;K<I;K++){let X=m[K],q=C[K],ee=Zo.getComponentCount(q);for(let ie=0;ie<ee;ie++){let H=uwi(q,ie),le=x[K][ie],ue=y[K][ie];f.addFunctionLines(J,[`${T}.${X}.min${H} = ${F8e(le)};`,`${T}.${X}.max${H} = ${F8e(ue)};`])}}}{let J="getPropertiesFromMegatextureAtUv";f.addFunction(J,`${N} getPropertiesFromMegatextureAtUv(vec2 texcoord)`,Ki.FRAGMENT),f.addFunctionLines(J,[`${N} ${G};`]);for(let K=0;K<I;K++){let X=m[K],q=C[K],ee=E[K],ie=swi(q,ee);f.addFunctionLines(J,[`properties.${X} = texture(u_megatextureTextures[${K}], texcoord)${ie};`])}f.addFunctionLines(J,[`return ${G};`])}}function YX(o){if(o===Zo.SCALAR)return"float";if(o===Zo.VEC2)return"vec2";if(o===Zo.VEC3)return"vec3";if(o===Zo.VEC4)return"vec4"}function swi(o){if(o===Zo.SCALAR)return".r";if(o===Zo.VEC2)return".ra";if(o===Zo.VEC3)return".rgb";if(o===Zo.VEC4)return""}function lwi(o){if(o===Zo.SCALAR)return"vec3";if(o===Zo.VEC2)return"mat2";if(o===Zo.VEC3)return"mat3";if(o===Zo.VEC4)return"mat4"}function F8e(o){let A=o.toString();return A.indexOf(".")===-1&&(A=`${o}.0`),A}function uwi(o,A){return o===Zo.SCALAR?"":`[${A}]`}var gQe=awi;function Awi(o,A){let f=new fQe(o);gQe(f,o);let{shaderBuilder:m,clippingPlanes:C,clippingPlanesLength:E}=f;if(E>0){let S="getClippingPlane",D=hJ(C,A),R=0,P=D.indexOf(")")+1,M=D.indexOf("{",P)+1,L=D.indexOf("}",M),F=D.slice(R,P),k=D.slice(M,L);m.addFunction(S,F,Ki.FRAGMENT),m.addFunctionLines(S,[k])}let x=m.clone();x.addDefine("PICKING",void 0,Ki.FRAGMENT);let y=m.buildShaderProgram(A),I=x.buildShaderProgram(A),v=Xr.fromCache({cull:{enabled:!0,face:pA.BACK},depthTest:{enabled:!1},depthMask:!1,blending:Nl.PRE_MULTIPLIED_ALPHA_BLEND}),B=A.getViewportQuadVertexArray(),Q=o._depthTest,T=new fn({vertexArray:B,primitiveType:on.TRIANGLES,renderState:v,shaderProgram:y,uniformMap:f.uniformMap,modelMatrix:o._compoundModelMatrix,pass:Yi.VOXELS,executeInClosestFrustum:!0,owner:this,cull:Q,occlude:Q}),w=fn.shallowClone(T,new fn);if(w.shaderProgram=I,w.pickOnly=!0,O(o._drawCommand)){let S=o._drawCommand;S.shaderProgram=S.shaderProgram&&S.shaderProgram.destroy()}if(O(o._drawCommandPick)){let S=o._drawCommandPick;S.shaderProgram=S.shaderProgram&&S.shaderProgram.destroy()}o._drawCommand=T,o._drawCommandPick=w}var pQe=Awi;function ST(){this.featurePropertiesDirty=!1}Object.defineProperties(ST.prototype,{featuresLength:{get:function(){Ai.throwInstantiationError()}},pointsLength:{get:function(){Ai.throwInstantiationError()}},trianglesLength:{get:function(){Ai.throwInstantiationError()}},geometryByteLength:{get:function(){Ai.throwInstantiationError()}},texturesByteLength:{get:function(){Ai.throwInstantiationError()}},batchTableByteLength:{get:function(){Ai.throwInstantiationError()}},innerContents:{get:function(){Ai.throwInstantiationError()}},ready:{get:function(){Ai.throwInstantiationError()}},readyPromise:{get:function(){Ai.throwInstantiationError()}},tileset:{get:function(){Ai.throwInstantiationError()}},tile:{get:function(){Ai.throwInstantiationError()}},url:{get:function(){Ai.throwInstantiationError()}},batchTable:{get:function(){Ai.throwInstantiationError()}},metadata:{get:function(){Ai.throwInstantiationError()},set:function(o){Ai.throwInstantiationError()}},group:{get:function(){Ai.throwInstantiationError()},set:function(o){Ai.throwInstantiationError()}}});ST.prototype.hasProperty=function(o,A){Ai.throwInstantiationError()};ST.prototype.getFeature=function(o){Ai.throwInstantiationError()};ST.prototype.applyDebugSettings=function(o,A){Ai.throwInstantiationError()};ST.prototype.applyStyle=function(o){Ai.throwInstantiationError()};ST.prototype.update=function(o,A){Ai.throwInstantiationError()};ST.prototype.isDestroyed=function(){Ai.throwInstantiationError()};ST.prototype.destroy=function(){Ai.throwInstantiationError()};var Nrt=ST;function HJ(o){o=oe(o,oe.EMPTY_OBJECT),this._maximumSubtreeCount=oe(o.maximumSubtreeCount,0),this._subtreeRequestCounter=0,this._queue=new Mne({comparator:HJ.comparator})}HJ.prototype.addSubtree=function(o){let A=new cwi(o,this._subtreeRequestCounter);this._subtreeRequestCounter++,this._queue.insert(A);let f=o.implicitCoordinates;if(f.level>0){let m=f.getParentSubtreeCoordinates(),C=this.find(m)}if(this._maximumSubtreeCount>0)for(;this._queue.length>this._maximumSubtreeCount&&this._queue.getMinimum()!==A;)this._queue.removeMinimum()};HJ.prototype.find=function(o){let A=this._queue,f=A.internalArray,m=A.length;for(let C=0;C<m;C++){let E=f[C],x=E.subtree.implicitCoordinates;if(o.isEqual(x))return E.subtree}};HJ.comparator=function(o,A){let f=o.subtree.implicitCoordinates,m=A.subtree.implicitCoordinates;return f.isAncestor(m)?1:m.isAncestor(f)?-1:o.stamp-A.stamp};function cwi(o,A){this.subtree=o,this.stamp=A}var mQe=HJ;function xx(){this.orientedBoundingBox=new Lu,this.boundingSphere=new hi,this.boundTransform=new Re,this.shapeTransform=new Re,this._minBounds=Z.clone(xx.DefaultMinBounds,new Z),this._maxBounds=Z.clone(xx.DefaultMaxBounds,new Z),this.shaderUniforms={renderMinBounds:new Z,renderMaxBounds:new Z,boxUvToShapeUvScale:new Z,boxUvToShapeUvTranslate:new Z},this.shaderDefines={BOX_INTERSECTION_INDEX:void 0,BOX_HAS_SHAPE_BOUNDS:void 0},this.shaderMaximumIntersectionsLength=0}var hwi=new Z,Wge=new Z,dwi=new Gt,fwi=new Z,gwi=new Z,pwi=new Z,mwi=new Z,N8e=Re.fromRotationTranslation(Gt.fromUniformScale(.5,new Gt),new Z(.5,.5,.5),new Re);xx.prototype.update=function(o,A,f,m,C){m=oe(m,xx.DefaultMinBounds),C=oe(C,xx.DefaultMaxBounds);let E=xx.DefaultMinBounds,x=xx.DefaultMaxBounds;A=this._minBounds=Z.clamp(A,E,x,this._minBounds),f=this._maxBounds=Z.clamp(f,E,x,this._maxBounds),m=Z.clamp(m,E,x,fwi),C=Z.clamp(C,E,x,gwi);let y=Z.clamp(A,m,C,pwi),I=Z.clamp(f,m,C,mwi),v=Re.getScale(o,Wge);if(y.x>I.x||y.y>I.y||y.z>I.z||(y.x===I.x)+(y.y===I.y)+(y.z===I.z)>=2||m.x>C.x||m.y>C.y||m.z>C.z||v.x===0||v.y===0||v.z===0)return!1;this.shapeTransform=Re.clone(o,this.shapeTransform),this.orientedBoundingBox=krt(y,I,this.shapeTransform,this.orientedBoundingBox),this.boundTransform=Re.fromRotationTranslation(this.orientedBoundingBox.halfAxes,this.orientedBoundingBox.center,this.boundTransform),this.boundingSphere=hi.fromOrientedBoundingBox(this.orientedBoundingBox,this.boundingSphere);let{shaderUniforms:B,shaderDefines:Q}=this;for(let S in Q)Q.hasOwnProperty(S)&&(Q[S]=void 0);let T=!Z.equals(A,E)||!Z.equals(f,x),w=0;if(Q.BOX_INTERSECTION_INDEX=w,w+=1,B.renderMinBounds=Re.multiplyByPoint(N8e,y,B.renderMinBounds),B.renderMaxBounds=Re.multiplyByPoint(N8e,I,B.renderMaxBounds),T){Q.BOX_HAS_SHAPE_BOUNDS=!0;let S=A,D=f;B.boxUvToShapeUvScale=Z.fromElements(2/(S.x===D.x?1:D.x-S.x),2/(S.y===D.y?1:D.y-S.y),2/(S.z===D.z?1:D.z-S.z),B.boxUvToShapeUvScale),B.boxUvToShapeUvTranslate=Z.fromElements(-B.boxUvToShapeUvScale.x*(S.x*.5+.5),-B.boxUvToShapeUvScale.y*(S.y*.5+.5),-B.boxUvToShapeUvScale.z*(S.z*.5+.5),B.boxUvToShapeUvTranslate)}return this.shaderMaximumIntersectionsLength=w,!0};var Cwi=new Z,Ewi=new Z;xx.prototype.computeOrientedBoundingBoxForTile=function(o,A,f,m,C){let E=this._minBounds,x=this._maxBounds,y=1/Math.pow(2,o),I=Z.fromElements(Be.lerp(E.x,x.x,y*A),Be.lerp(E.y,x.y,y*f),Be.lerp(E.z,x.z,y*m),Cwi),v=Z.fromElements(Be.lerp(E.x,x.x,y*(A+1)),Be.lerp(E.y,x.y,y*(f+1)),Be.lerp(E.z,x.z,y*(m+1)),Ewi);return krt(I,v,this.shapeTransform,C)};xx.prototype.computeApproximateStepSize=function(o){return 1/Z.maximumComponent(o)};xx.DefaultMinBounds=Object.freeze(new Z(-1,-1,-1));xx.DefaultMaxBounds=Object.freeze(new Z(1,1,1));function krt(o,A,f,m){let C=xx.DefaultMinBounds,E=xx.DefaultMaxBounds;if(Z.equals(o,C)&&Z.equals(A,E))m.center=Re.getTranslation(f,m.center),m.halfAxes=Re.getMatrix3(f,m.halfAxes);else{let x=Re.getScale(f,Wge),y=Z.midpoint(o,A,hwi);m.center=Re.multiplyByPoint(f,y,m.center),x=Z.fromElements(x.x*.5*(A.x-o.x),x.y*.5*(A.y-o.y),x.z*.5*(A.z-o.z),Wge);let I=Re.getRotation(f,dwi);m.halfAxes=Gt.setScale(I,x,m.halfAxes)}return m}var YN=xx;function Oee(o){this._resource=o,this._metadataTable=void 0}Object.defineProperties(Oee.prototype,{metadataTable:{get:function(){return this._metadataTable}}});Oee.fromJson=async function(o,A,f,m){let C;O(A)?C={json:A,binary:void 0}:C=ywi(f);let E=await xwi(o,C.json,C.binary),x={},y=C.json.bufferViews.length;for(let Q=0;Q<y;++Q){let T=C.json.bufferViews[Q],w=T.byteOffset,S=w+T.byteLength,D=E[T.buffer].subarray(w,S);x[Q]=D}let I=C.json.voxelTable,v=C.json.propertyTables[I],B=new Oee(o);return B._metadataTable=new cR({count:v.count,properties:v.properties,class:m.classes[v.class],bufferViews:x}),B};function xwi(o,A,f){let m=A.buffers.length,C=new Array(m);for(let E=0;E<m;E++){let x=A.buffers[E];if(O(x.uri)){let y=o.getDerivedResource({url:x.uri});C[E]=y.fetchArrayBuffer().then(function(I){return new Uint8Array(I)})}else C[E]=Promise.resolve(f)}return Promise.all(C)}function ywi(o){let A=new DataView(o.buffer,o.byteOffset),f=8,m=A.getUint32(f,!0);f+=8;let C=A.getUint32(f,!0);f+=8;let E=em(o,f,m);f+=m;let x=o.subarray(f,f+C);return{json:E,binary:x}}var CQe=Oee;function pf(){this.orientedBoundingBox=new Lu,this.boundingSphere=new hi,this.boundTransform=new Re,this.shapeTransform=new Re,this._minimumRadius=pf.DefaultMinBounds.x,this._maximumRadius=pf.DefaultMaxBounds.x,this._minimumHeight=pf.DefaultMinBounds.y,this._maximumHeight=pf.DefaultMaxBounds.y,this._minimumAngle=pf.DefaultMinBounds.z,this._maximumAngle=pf.DefaultMaxBounds.z,this.shaderUniforms={cylinderUvToRenderBoundsScale:new Z,cylinderUvToRenderBoundsTranslate:new Z,cylinderUvToRenderRadiusMin:0,cylinderRenderAngleMinMax:new rt,cylinderUvToShapeUvRadius:new rt,cylinderUvToShapeUvHeight:new rt,cylinderUvToShapeUvAngle:new rt,cylinderShapeUvAngleMinMax:new rt,cylinderShapeUvAngleRangeZeroMid:0},this.shaderDefines={CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN:void 0,CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MAX:void 0,CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT:void 0,CYLINDER_HAS_RENDER_BOUNDS_HEIGHT:void 0,CYLINDER_HAS_RENDER_BOUNDS_HEIGHT_FLAT:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_HALF:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF:void 0,CYLINDER_HAS_SHAPE_BOUNDS_RADIUS:void 0,CYLINDER_HAS_SHAPE_BOUNDS_RADIUS_FLAT:void 0,CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT:void 0,CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT_FLAT:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_RANGE_EQUAL_ZERO:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED:void 0,CYLINDER_INTERSECTION_INDEX_RADIUS_MAX:void 0,CYLINDER_INTERSECTION_INDEX_RADIUS_MIN:void 0,CYLINDER_INTERSECTION_INDEX_ANGLE:void 0},this.shaderMaximumIntersectionsLength=0}var Ort=new Z,Iwi=new Z,_wi=new Z,vwi=new Gt,Bwi=new Re,wwi=new Re,bwi=Re.fromRotationTranslation(Gt.fromUniformScale(2,new Gt),new Z(-1,-1,-1),new Re);pf.prototype.update=function(o,A,f,m,C){m=oe(m,pf.DefaultMinBounds),C=oe(C,pf.DefaultMaxBounds);let E=pf.DefaultMinBounds.x,x=pf.DefaultMaxBounds.x,y=pf.DefaultMinBounds.y,I=pf.DefaultMaxBounds.y,v=pf.DefaultMinBounds.z,B=pf.DefaultMaxBounds.z,Q=B-v,T=.5*Q,w=Be.EPSILON10,S=Be.EPSILON3,D=Be.EPSILON10,R=Be.clamp(A.x,E,x),P=Be.clamp(f.x,E,x),M=Be.clamp(m.x,E,x),L=Be.clamp(C.x,E,x),F=Math.max(R,M),k=Math.min(P,L),N=Be.clamp(A.y,y,I),G=Be.clamp(f.y,y,I),J=Be.clamp(m.y,y,I),K=Be.clamp(C.y,y,I),X=Math.max(N,J),q=Math.min(G,K),ee=Be.negativePiToPi(A.z),ie=Be.negativePiToPi(f.z),H=Be.negativePiToPi(m.z),le=Be.negativePiToPi(C.z),ue=Math.max(ee,H),Ae=Math.min(ie,le),he=Re.getScale(o,Ort);if(k===0||F>k||X>q||Be.equalsEpsilon(he.x,0,void 0,w)||Be.equalsEpsilon(he.y,0,void 0,w)||Be.equalsEpsilon(he.z,0,void 0,w))return!1;this._minimumRadius=R,this._maximumRadius=P,this._minimumHeight=N,this._maximumHeight=G,this._minimumAngle=ee,this._maximumAngle=ie,this.shapeTransform=Re.clone(o,this.shapeTransform),this.orientedBoundingBox=EQe(F,k,X,q,ue,Ae,this.shapeTransform,this.orientedBoundingBox),this.boundTransform=Re.fromRotationTranslation(this.orientedBoundingBox.halfAxes,this.orientedBoundingBox.center,this.boundTransform),this.boundingSphere=hi.fromOrientedBoundingBox(this.orientedBoundingBox,this.boundingSphere);let ge=R===E&&P===x,fe=N===y&&G===I,ae=ie<ee,U=ie-ee+ae*Q,W=U>T+D&&U<Q-D,Y=U>D&&U<T-D,z=U>=T-D&&U<=T+D,re=U<=D,se=W||Y||z||re,de=Be.equalsEpsilon(ee,v,void 0,S),me=Be.equalsEpsilon(ie,B,void 0,S),Ce=k===x,Ie=F===E,we=X===y&&q===I,Te=Ae<ue,Ge=Ae-ue+Te*Q,ke=Ge>T+D&&Ge<Q-D,Oe=Ge>D&&Ge<T-D,Le=Ge>=T-D&&Ge<=T+D,be=Ge<=D,Ne=ke||Oe||Le||be,Ue=this.shaderUniforms,ze=this.shaderDefines;for(let Xe in ze)ze.hasOwnProperty(Xe)&&(ze[Xe]=void 0);let Je=0;if(ze.CYLINDER_INTERSECTION_INDEX_RADIUS_MAX=Je,Je+=1,Ie||(ze.CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN=!0,ze.CYLINDER_INTERSECTION_INDEX_RADIUS_MIN=Je,Je+=1,Ue.cylinderUvToRenderRadiusMin=k/F),Ce||(ze.CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MAX=!0),F===k&&(ze.CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT=!0),we||(ze.CYLINDER_HAS_RENDER_BOUNDS_HEIGHT=!0),X===q&&(ze.CYLINDER_HAS_RENDER_BOUNDS_HEIGHT_FLAT=!0),N===G&&(ze.CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT_FLAT=!0),R===P&&(ze.CYLINDER_HAS_SHAPE_BOUNDS_RADIUS_FLAT=!0),!ge){ze.CYLINDER_HAS_SHAPE_BOUNDS_RADIUS=!0;let Xe=1/(P-R),et=R/(R-P);Ue.cylinderUvToShapeUvRadius=rt.fromElements(Xe,et,Ue.cylinderUvToShapeUvRadius)}if(!fe){ze.CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT=!0;let Xe=2/(G-N),et=(N+1)/(N-G);Ue.cylinderUvToShapeUvHeight=rt.fromElements(Xe,et,Ue.cylinderUvToShapeUvHeight)}if(!Ce||!we){let Xe=.5*(q-X),et=Z.fromElements(1/k,1/k,1/(Xe===0?1:Xe),_wi),ot=Z.fromElements(0,0,-et.z*.5*(X+q),Iwi),Et=Re.fromRotationTranslation(Gt.fromScale(et,vwi),ot,Bwi),Ct=Re.multiplyTransformation(Et,bwi,wwi);Ue.cylinderUvToRenderBoundsScale=Re.getScale(Ct,Ue.cylinderUvToRenderBoundsScale),Ue.cylinderUvToRenderBoundsTranslate=Re.getTranslation(Ct,Ue.cylinderUvToRenderBoundsTranslate)}if(ae&&(ze.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED=!0),Ne&&(ze.CYLINDER_HAS_RENDER_BOUNDS_ANGLE=!0,ze.CYLINDER_INTERSECTION_INDEX_ANGLE=Je,ke?(ze.CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF=!0,Je+=1):Oe?(ze.CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF=!0,Je+=2):Le?(ze.CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_HALF=!0,Je+=1):be&&(ze.CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO=!0,Je+=2),Ue.cylinderRenderAngleMinMax=rt.fromElements(ue,Ae,Ue.cylinderAngleMinMax)),se){ze.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE=!0,re&&(ze.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_RANGE_EQUAL_ZERO=!0),de&&(ze.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY=!0),me&&(ze.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY=!0);let Xe=(ee-v)/Q,et=(ie-v)/Q,ot=1-U/Q;Ue.cylinderShapeUvAngleMinMax=rt.fromElements(Xe,et,Ue.cylinderShapeUvAngleMinMax),Ue.cylinderShapeUvAngleRangeZeroMid=(et+.5*ot)%1;let Et=Q/U,Ct=-(ee-v)/U;Ue.cylinderUvToShapeUvAngle=rt.fromElements(Et,Ct,Ue.cylinderUvToShapeUvAngle)}return this.shaderMaximumIntersectionsLength=Je,!0};pf.prototype.computeOrientedBoundingBoxForTile=function(o,A,f,m,C){let E=this._minimumRadius,x=this._maximumRadius,y=this._minimumHeight,I=this._maximumHeight,v=this._minimumAngle,B=this._maximumAngle,Q=1/Math.pow(2,o),T=Be.lerp(E,x,A*Q),w=Be.lerp(E,x,(A+1)*Q),S=Be.lerp(y,I,f*Q),D=Be.lerp(y,I,(f+1)*Q),R=Be.lerp(v,B,m*Q),P=Be.lerp(v,B,(m+1)*Q);return EQe(T,w,S,D,R,P,this.shapeTransform,C)};var Qwi=new Lu,Swi=new Z,Dwi=new Z,Twi=new Z;pf.prototype.computeApproximateStepSize=function(o){let A=this.shapeTransform,f=this._minimumRadius,m=this._maximumRadius,C=this._minimumHeight,E=this._maximumHeight,x=this._minimumAngle,y=this._maximumAngle,I=1-1/o.x,v=1-1/o.y,B=1-1/o.z,Q=Be.lerp(f,m,I),T=Be.lerp(C,E,v),w=Be.lerp(x,y,B),S=EQe(Q,m,T,E,w,y,A,Qwi),D=Gt.getScale(S.halfAxes,Swi),R=Re.getScale(A,Dwi),P=Z.divideComponents(D,R,Twi);return Z.minimumComponent(P)};pf.DefaultMinBounds=Object.freeze(new Z(0,-1,-Be.PI));pf.DefaultMaxBounds=Object.freeze(new Z(1,1,+Be.PI));var Mwi=5,Pwi=new Array(Mwi),Rwi=new Z,Lwi=new Gt,Fwi=new Re,Nwi=new Re,kwi=new Re,_de=new Re,Owi=new Z,Uwi=new Z,Gwi=new Z,Urt=new Array(8);for(let o=0;o<8;o++)Urt[o]=new Z;function k8e(o,A,f){return Math.abs(zt.dot(o,A))<f}function Hwi(o){let A=Re.getColumn(o,0,Owi),f=Re.getColumn(o,1,Uwi),m=Re.getColumn(o,2,Gwi),C=Be.EPSILON4;return k8e(A,f,C)&&k8e(f,m,C)}function Vwi(o,A){let f=Urt;Z.fromElements(-.5,-.5,-.5,f[0]),Z.fromElements(-.5,-.5,.5,f[1]),Z.fromElements(-.5,.5,-.5,f[2]),Z.fromElements(-.5,.5,.5,f[3]),Z.fromElements(.5,-.5,-.5,f[4]),Z.fromElements(.5,-.5,.5,f[5]),Z.fromElements(.5,.5,-.5,f[6]),Z.fromElements(.5,.5,.5,f[7]);for(let m=0;m<8;++m)Re.multiplyByPoint(o,f[m],f[m]);return Lu.fromPoints(f,A)}function EQe(o,A,f,m,C,E,x,y){let I=pf.DefaultMinBounds,v=pf.DefaultMaxBounds,B=I.x,Q=v.x,T=I.y,w=v.y,S=I.z,D=v.z;if(o===B&&A===Q&&f===T&&m===w&&C===S&&E===D)return y.center=Re.getTranslation(x,y.center),y.halfAxes=Re.getMatrix3(x,y.halfAxes),y;E<C&&(E+=Be.TWO_PI);let R=E-C,P=C+R*.5,M=Pwi,L=0;M[L++]=C,M[L++]=E,M[L++]=P,R>Be.PI&&(M[L++]=P-Be.PI_OVER_TWO,M[L++]=P+Be.PI_OVER_TWO);let F=1,k=1,N=-1,G=-1;for(let U=0;U<L;++U){let W=M[U]-P,Y=Math.cos(W),z=Math.sin(W),re=Y*o,se=z*o,de=Y*A,me=z*A;F=Math.min(F,re),k=Math.min(k,se),F=Math.min(F,de),k=Math.min(k,me),N=Math.max(N,re),G=Math.max(G,se),N=Math.max(N,de),G=Math.max(G,me)}let J=N-F,K=G-k,X=m-f,q=(F+N)*.5,ee=(k+G)*.5,ie=(f+m)*.5,H=Z.fromElements(q,ee,ie,Rwi),le=Gt.fromRotationZ(P,Lwi),ue=Z.fromElements(J,K,X,Ort),Ae=Re.fromScale(ue,kwi),he=Re.fromRotation(le,Nwi),ge=Re.fromTranslation(H,Fwi),fe=Re.multiplyTransformation(he,Re.multiplyTransformation(ge,Ae,_de),_de),ae=Re.multiplyTransformation(x,fe,_de);return Hwi(ae)?Lu.fromTransformation(ae,y):Vwi(ae,y)}var JN=pf;function px(){this.orientedBoundingBox=new Lu,this.boundingSphere=new hi,this.boundTransform=new Re,this.shapeTransform=new Re,this._rectangle=new gi,this._minimumHeight=px.DefaultMinBounds.z,this._maximumHeight=px.DefaultMaxBounds.z,this._ellipsoid=new Ci,this._translation=new Z,this._rotation=new Gt,this.shaderUniforms={ellipsoidRadiiUv:new Z,ellipsoidInverseRadiiSquaredUv:new Z,ellipsoidRenderLongitudeMinMax:new rt,ellipsoidShapeUvLongitudeMinMaxMid:new Z,ellipsoidUvToShapeUvLongitude:new rt,ellipsoidUvToShapeUvLatitude:new rt,ellipsoidRenderLatitudeCosSqrHalfMinMax:new rt,ellipsoidInverseHeightDifferenceUv:0,ellipseInnerRadiiUv:new rt,ellipsoidInverseInnerScaleUv:0,ellipsoidInverseOuterScaleUv:0},this.shaderDefines={ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_RANGE_EQUAL_ZERO:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE_RANGE_EQUAL_ZERO:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MAX:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MIN:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_FLAT:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_MIN:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_FLAT:void 0,ELLIPSOID_IS_SPHERE:void 0,ELLIPSOID_INTERSECTION_INDEX_LONGITUDE:void 0,ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX:void 0,ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN:void 0,ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX:void 0,ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN:void 0},this.shaderMaximumIntersectionsLength=0}var zwi=new Z,Ywi=new Gt,O8e=new Z,U8e=new Z,G8e=new Z,H8e=new Z,Jwi=new gi;px.prototype.update=function(o,A,f,m,C){m=oe(m,px.DefaultMinBounds),C=oe(C,px.DefaultMaxBounds);let E=px.DefaultMinBounds.x,x=px.DefaultMaxBounds.x,y=x-E,I=.5*y,v=px.DefaultMinBounds.y,B=px.DefaultMaxBounds.y,Q=B-v,T=Be.EPSILON10,w=Be.EPSILON3,S=Be.EPSILON10,D=Be.EPSILON10,R=Be.EPSILON3,P=Be.clamp(A.x,E,x),M=Be.clamp(f.x,E,x),L=Be.clamp(m.x,E,x),F=Be.clamp(C.x,E,x),k=Math.max(P,L),N=Math.min(M,F),G=Be.clamp(A.y,v,B),J=Be.clamp(f.y,v,B),K=Be.clamp(m.y,v,B),X=Be.clamp(C.y,v,B),q=Math.max(G,K),ee=Math.min(J,X),ie=Re.getScale(o,zwi),H=ie.x===ie.y&&ie.y===ie.z,le=Z.minimumComponent(ie),ue=Math.max(A.z,-le),Ae=Math.max(f.z,-le),he=Math.max(m.z,-le),ge=Math.max(C.z,-le),fe=Math.max(ue,he),ae=Math.min(Ae,ge),U=Z.add(ie,Z.fromElements(ue,ue,ue,U8e),U8e),W=Z.add(ie,Z.fromElements(Ae,Ae,Ae,O8e),O8e),Y=Z.maximumComponent(W),z=Z.add(ie,Z.fromElements(fe,fe,fe,H8e),H8e),re=Z.add(ie,Z.fromElements(ae,ae,ae,G8e),G8e);if(q>ee||q===B||ee===v||fe>ae||Be.equalsEpsilon(re,Z.ZERO,void 0,T))return!1;this._rectangle=gi.fromRadians(P,G,M,J),this._translation=Re.getTranslation(o,this._translation),this._rotation=Re.getRotation(o,this._rotation),this._ellipsoid=Ci.fromCartesian3(ie,this._ellipsoid),this._minimumHeight=ue,this._maximumHeight=Ae;let se=gi.fromRadians(k,q,N,ee,Jwi);this.orientedBoundingBox=Grt(se,fe,ae,this._ellipsoid,this._translation,this._rotation,this.orientedBoundingBox),this.shapeTransform=Re.fromRotationTranslation(Gt.setScale(this._rotation,W,Ywi),this._translation,this.shapeTransform),this.boundTransform=Re.fromRotationTranslation(this.orientedBoundingBox.halfAxes,this.orientedBoundingBox.center,this.boundTransform),this.boundingSphere=hi.fromOrientedBoundingBox(this.orientedBoundingBox,this.boundingSphere);let de=N<k,me=N-k+de*y,Ce=me<=S,Ie=me>I+S&&me<y-S,we=me>=I-S&&me<=I+S,Te=me>S&&me<I-S,Ge=Ce||Ie||we||Te,ke=M<P,Oe=M-P+ke*y,Le=Oe<=S,be=Oe>I+S&&Oe<y-S,Ne=Oe>=I-S&&Oe<=I+S,Ue=Oe>S&&Oe<I-S,ze=Le||be||Ne||Ue,Je=ee<-R,Xe=ee>=-R&&ee<=+R,et=ee>+R&&ee<B-D,ot=Je||Xe||et,Et=q>v+D&&q<-R,Ct=q>=-R&&q<=+R,ct=q>+R,yt=Et||Ct||ct,Qt=ot||yt,Ze=J-G,ut=J<-R,St=J>=-R&&J<=+R,gt=J>+R&&J<B-D,xt=ut||St||gt,Lt=G>v+D&&G<-R,nt=G>=-R&&G<=+R,Pe=G>+R,ve=xt||Lt||nt||Pe,We=!Z.equals(z,Z.ZERO),bt=!Z.equals(re,Z.ZERO),Pt=We||bt,It=ae-fe,Mi=!Z.equals(U,Z.ZERO),er=!Z.equals(W,Z.ZERO),di=Mi||er,wi=this.shaderUniforms,Ri=this.shaderDefines;for(let Wt in Ri)Ri.hasOwnProperty(Wt)&&(Ri[Wt]=void 0);wi.ellipsoidRadiiUv=Z.divideByScalar(W,Y,wi.ellipsoidRadiiUv),wi.ellipsoidInverseRadiiSquaredUv=Z.divideComponents(Z.ONE,Z.multiplyComponents(wi.ellipsoidRadiiUv,wi.ellipsoidRadiiUv,wi.ellipsoidInverseRadiiSquaredUv),wi.ellipsoidInverseRadiiSquaredUv);let Ei=0;if(Ri.ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX=Ei,Ei+=1,Pt&&(It===0&&(Ri.ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_FLAT=!0),We&&(Ri.ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MIN=!0,Ri.ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN=Ei,Ei+=1,wi.ellipsoidInverseInnerScaleUv=Y/(Y-(Ae-fe))),bt&&(Ri.ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MAX=!0,wi.ellipsoidInverseOuterScaleUv=Y/(Y-(Ae-ae)))),di){if(Mi){Ri.ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_MIN=!0;let Wt=(Ae-ue)/Y;wi.ellipsoidInverseHeightDifferenceUv=1/Wt,wi.ellipseInnerRadiiUv=rt.fromElements(wi.ellipsoidRadiiUv.x*(1-Wt),wi.ellipsoidRadiiUv.z*(1-Wt),wi.ellipseInnerRadiiUv)}ue===Ae&&(Ri.ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_FLAT=!0)}if(Ge&&(Ri.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE=!0,Ri.ELLIPSOID_INTERSECTION_INDEX_LONGITUDE=Ei,Ie?(Ri.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF=!0,Ei+=1):Te?(Ri.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF=!0,Ei+=2):we?(Ri.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_HALF=!0,Ei+=1):Ce&&(Ri.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO=!0,Ei+=2),wi.ellipsoidRenderLongitudeMinMax=rt.fromElements(k,N,wi.ellipsoidRenderLongitudeMinMax)),ze){Ri.ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE=!0,M<P&&(Ri.ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED=!0);let Wt=y/Oe,jt=-(P-E)/Oe;wi.ellipsoidUvToShapeUvLongitude=rt.fromElements(Wt,jt,wi.ellipsoidUvToShapeUvLongitude)}if(Ge){let Wt=Be.equalsEpsilon(k,E,void 0,w),jt=Be.equalsEpsilon(N,x,void 0,w);Wt&&(Ri.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY=!0),jt&&(Ri.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY=!0);let pi=(P-E)/y,mi=(M-E)/y,Kt=(N-E)/y,xi=1-me/y,_t=(Kt+.5*xi)%1;wi.ellipsoidShapeUvLongitudeMinMaxMid=Z.fromElements(pi,mi,_t,wi.ellipsoidShapeUvLongitudeMinMaxMid)}if(Qt){Ri.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE=!0,yt&&(Ri.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN=!0,Ri.ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN=Ei,Et?(Ri.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF=!0,Ei+=1):Ct?(Ri.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF=!0,Ei+=1):ct&&(Ri.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF=!0,Ei+=2)),ot&&(Ri.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX=!0,Ri.ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX=Ei,Je?(Ri.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF=!0,Ei+=2):Xe?(Ri.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF=!0,Ei+=1):et&&(Ri.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF=!0,Ei+=1)),q===ee&&(Ri.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_RANGE_EQUAL_ZERO=!0);let Wt=Math.pow(Math.cos(Be.PI_OVER_TWO-Math.abs(q)),2),jt=Math.pow(Math.cos(Be.PI_OVER_TWO-Math.abs(ee)),2);wi.ellipsoidRenderLatitudeCosSqrHalfMinMax=rt.fromElements(Wt,jt,wi.ellipsoidRenderLatitudeCosSqrHalfMinMax)}if(ve){Ri.ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE=!0,G===J&&(Ri.ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE_RANGE_EQUAL_ZERO=!0);let Wt=Q/Ze,jt=(v-G)/Ze;wi.ellipsoidUvToShapeUvLatitude=rt.fromElements(Wt,jt,wi.ellipsoidUvToShapeUvLatitude)}return H&&(Ri.ELLIPSOID_IS_SPHERE=!0),this.shaderMaximumIntersectionsLength=Ei,!0};var Kwi=new gi;px.prototype.computeOrientedBoundingBoxForTile=function(o,A,f,m,C){let E=1/Math.pow(2,o),x=A*E,y=(A+1)*E,I=f*E,v=(f+1)*E,B=m*E,Q=(m+1)*E,T=gi.subsection(this._rectangle,x,I,y,v,Kwi),w=Be.lerp(this._minimumHeight,this._maximumHeight,B),S=Be.lerp(this._minimumHeight,this._maximumHeight,Q);return Grt(T,w,S,this._ellipsoid,this._translation,this._rotation,C)};px.prototype.computeApproximateStepSize=function(o){let A=this._ellipsoid.maximumRadius,f=this._minimumHeight,m=this._maximumHeight;return .5*((m-f)/(A+m))/o.z};function Grt(o,A,f,m,C,E,x){return x=Lu.fromRectangle(o,A,f,m,x),x.center=Z.add(x.center,C,x.center),x.halfAxes=Gt.multiply(x.halfAxes,E,x.halfAxes),x}px.DefaultMinBounds=Object.freeze(new Z(-Be.PI,-Be.PI_OVER_TWO,-Number.MAX_VALUE));px.DefaultMaxBounds=Object.freeze(new Z(+Be.PI,+Be.PI_OVER_TWO,+Number.MAX_VALUE));var VJ=px,eI={BOX:"BOX",ELLIPSOID:"ELLIPSOID",CYLINDER:"CYLINDER"};eI.getMinBounds=function(o){switch(o){case eI.BOX:return YN.DefaultMinBounds;case eI.ELLIPSOID:return VJ.DefaultMinBounds;case eI.CYLINDER:return JN.DefaultMinBounds}};eI.getMaxBounds=function(o){switch(o){case eI.BOX:return YN.DefaultMaxBounds;case eI.ELLIPSOID:return VJ.DefaultMaxBounds;case eI.CYLINDER:return JN.DefaultMaxBounds}};eI.getShapeConstructor=function(o){switch(o){case eI.BOX:return YN;case eI.ELLIPSOID:return VJ;case eI.CYLINDER:return JN}};var YA=Object.freeze(eI);function cz(o){o=oe(o,oe.EMPTY_OBJECT),this._ready=!1,this.shapeTransform=void 0,this.globalTransform=void 0,this.shape=void 0,this.minBounds=void 0,this.maxBounds=void 0,this.dimensions=void 0,this.paddingBefore=void 0,this.paddingAfter=void 0,this.names=void 0,this.types=void 0,this.componentTypes=void 0,this.minimumValues=void 0,this.maximumValues=void 0,this.maximumTileCount=void 0,this._implicitTileset=void 0,this._subtreeCache=new mQe;let A=this,f;O(o.url)&&(ii("Cesium3DTilesVoxelProvider options.url","Cesium3DTilesVoxelProvider constructor parameter options.url was deprecated in CesiumJS 1.104. It will be removed in 1.107. Use Cesium3DTilesVoxelProvider.fromUrl instead."),this._readyPromise=Promise.resolve(o.url).then(function(m){let C=Cr.createIfNeeded(m);return C.fetchJson().then(function(E){return f=E,Vrt(f),Yrt(f,C).load()}).then(function(E){let x=f.root,y=x.content.extensions["3DTILES_content_voxels"],I=y.class,v=rc(f,"3DTILES_metadata")?f.extensions["3DTILES_metadata"]:f,B=E.schema,Q=new WY({metadataJson:v,schema:B});Jrt(A,Q,I);let T=new XY(C,x,B),{shape:w,minBounds:S,maxBounds:D,shapeTransform:R,globalTransform:P}=zrt(x);A.shape=w,A.minBounds=S,A.maxBounds=D,A.dimensions=Z.unpack(y.dimensions),A.shapeTransform=R,A.globalTransform=P,A.maximumTileCount=Hrt(Q);let M,L;return O(y.padding)&&(M=Z.unpack(y.padding.before),L=Z.unpack(y.padding.after)),A.paddingBefore=M,A.paddingAfter=L,A._implicitTileset=T,gc.unload(E),A._ready=!0,A})}))}Object.defineProperties(cz.prototype,{readyPromise:{get:function(){return ii("Cesium3DTilesVoxelProvider.readyPromise","Cesium3DTilesVoxelProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Use Cesium3DTilesVoxelProvider.fromUrl instead."),this._readyPromise}},ready:{get:function(){return ii("Cesium3DTilesVoxelProvider.ready","Cesium3DTilesVoxelProvider.ready was deprecated in CesiumJS 1.104. It will be removed in 1.107. Use Cesium3DTilesVoxelProvider.fromUrl instead."),this._ready}}});cz.fromUrl=async function(o){let A=Cr.createIfNeeded(o),f=await A.fetchJson();Vrt(f);let m=Yrt(f,A);await m.load();let C=f.root,E=C.content.extensions["3DTILES_content_voxels"],x=E.class,y=rc(f,"3DTILES_metadata")?f.extensions["3DTILES_metadata"]:f,I=m.schema,v=new WY({metadataJson:y,schema:I}),B=new cz;Jrt(B,v,x);let Q=new XY(A,C,I),{shape:T,minBounds:w,maxBounds:S,shapeTransform:D,globalTransform:R}=zrt(C);B.shape=T,B.minBounds=w,B.maxBounds=S,B.dimensions=Z.unpack(E.dimensions),B.shapeTransform=D,B.globalTransform=R,B.maximumTileCount=Hrt(v);let P,M;return O(E.padding)&&(P=Z.unpack(E.padding.before),M=Z.unpack(E.padding.after)),B.paddingBefore=P,B.paddingAfter=M,B._implicitTileset=Q,gc.unload(m),B._ready=!0,B._readyPromise=Promise.resolve(B),B};function Hrt(o){if(O(o.tileset))return o.tileset.getPropertyBySemantic(tre.TILESET_TILE_COUNT)}function Vrt(o){let A=o.root;if(!O(A.content))throw new ki("Root must have content");if(!rc(A.content,"3DTILES_content_voxels"))throw new ki("Root tile content must have 3DTILES_content_voxels extension");if(!rc(A,"3DTILES_implicit_tiling")&&!O(A.implicitTiling))throw new ki("Root tile must have implicit tiling");if(!O(o.schema)&&!O(o.schemaUri)&&!rc(o,"3DTILES_metadata"))throw new ki("Tileset must have a metadata schema")}function zrt(o){let A=o.boundingVolume,f;if(O(o.transform)?f=Re.unpack(o.transform):f=Re.clone(Re.IDENTITY),O(A.box))return jwi(A.box,f);if(O(A.region))return Wwi(A.region);if(rc(A,"3DTILES_bounding_volume_cylinder"))return qwi(A.extensions["3DTILES_bounding_volume_cylinder"].cylinder,f);throw new ki("Only box, region and 3DTILES_bounding_volume_cylinder are supported in Cesium3DTilesVoxelProvider")}function Wwi(o){let A=o[0],f=o[1],m=o[2],C=o[3],E=o[4],x=o[5],y=Re.fromScale(Ci.WGS84.radii),I=A,v=m,B=f,Q=C,T=E,w=x,S=new Z(I,B,T),D=new Z(v,Q,w);return{shape:YA.ELLIPSOID,minBounds:S,maxBounds:D,shapeTransform:y,globalTransform:Re.clone(Re.IDENTITY)}}function jwi(o,A){let f=Lu.unpack(o),m=Re.fromRotationTranslation(f.halfAxes,f.center);return{shape:YA.BOX,minBounds:Z.clone(YN.DefaultMinBounds),maxBounds:Z.clone(YN.DefaultMaxBounds),shapeTransform:m,globalTransform:A}}function qwi(o,A){let f=Lu.unpack(o),m=Re.fromRotationTranslation(f.halfAxes,f.center);return{shape:YA.CYLINDER,minBounds:Z.clone(JN.DefaultMinBounds),maxBounds:Z.clone(JN.DefaultMaxBounds),shapeTransform:m,globalTransform:A}}function Yrt(o,A){let{schemaUri:f,schema:m}=o;return O(f)?gc.getSchemaLoader({resource:A.getDerivedResource({url:f})}):gc.getSchemaLoader({schema:m})}function Jrt(o,A,f){let{schema:m,statistics:C}=A,E=C?.classes[f],x=m.classes[f].properties,y=Object.entries(x).map(([Q,T])=>{let{type:w,componentType:S}=T,D=E?.properties[Q].min,R=E?.properties[Q].max,P=Zo.getComponentCount(w),M=V8e(D,P),L=V8e(R,P);return{id:Q,type:w,componentType:S,minValue:M,maxValue:L}});o.names=y.map(Q=>Q.id),o.types=y.map(Q=>Q.type),o.componentTypes=y.map(Q=>Q.componentType);let I=y.map(Q=>Q.minValue),v=y.map(Q=>Q.maxValue),B=I.some(O);o.minimumValues=B?I:void 0,o.maximumValues=B?v:void 0}function V8e(o,A){if(!O(o))return;let f=Array.isArray(o)?o:[o];return Array.from({length:A},(m,C)=>f[C])}async function Xwi(o,A){let f=o.contentUriTemplates[0].getDerivedResource({templateValues:A.getTemplateValues()}),m=o.baseResource.getDerivedResource({url:f.url}),C=await m.fetchArrayBuffer(),E=UG(C);return await CQe.fromJson(m,E.jsonPayload,E.binaryPayload,o.metadataSchema)}async function Zwi(o,A){let f=o._implicitTileset,m=o._subtreeCache,C=m.find(A);if(O(C))return C;let E=f.subtreeUriTemplate.getDerivedResource({templateValues:A.getTemplateValues()}),x=f.baseResource.getDerivedResource({url:E.url}),y=await x.fetchArrayBuffer();if(C=m.find(A),O(C))return C;let I=UG(y);return C=await ere.fromSubtreeJson(x,I.jsonPayload,I.binaryPayload,f,A),m.addSubtree(C),C}cz.prototype.requestData=function(o){o=oe(o,oe.EMPTY_OBJECT);let A=oe(o.tileLevel,0),f=oe(o.tileX,0),m=oe(o.tileY,0),C=oe(o.tileZ,0);if(oe(o.keyframe,0)!==0)return;let E=this._implicitTileset,x=this.names,y=new Qre({subdivisionScheme:E.subdivisionScheme,subtreeLevels:E.subtreeLevels,level:A,x:f,y:m,z:C}),I=y.isSubtreeRoot()&&y.level>0,v=I?y.getParentSubtreeCoordinates():y.getSubtreeCoordinates();return Zwi(this,v).then(function(B){return(I?B.childSubtreeIsAvailableAtCoordinates(y):B.tileIsAvailableAtCoordinates(y))?Xwi(E,y):Promise.reject("Tile is not available")}).then(function(B){return x.map(function(Q){return B.metadataTable.getPropertyTypedArray(Q)})})};var Krt=cz,jge={CUMULUS:0};jge.validate=function(o){return o===jge.CUMULUS};var Uee=Object.freeze(jge);function Uw(o,A){if(o=oe(o,oe.EMPTY_OBJECT),this._show=oe(o.show,!0),this._position=Z.clone(oe(o.position,Z.ZERO)),!O(o.scale)&&O(o.maximumSize))this._maximumSize=Z.clone(o.maximumSize),this._scale=new rt(this._maximumSize.x,this._maximumSize.y);else{this._scale=rt.clone(oe(o.scale,new rt(20,12)));let f=new Z(this._scale.x,this._scale.y,Math.min(this._scale.x,this._scale.y)/1.5);this._maximumSize=Z.clone(oe(o.maximumSize,f))}this._slice=oe(o.slice,-1),this._color=Ve.clone(oe(o.color,Ve.WHITE)),this._brightness=oe(o.brightness,1),this._cloudCollection=A,this._index=-1}var $wi=Uw.SHOW_INDEX=0,e1i=Uw.POSITION_INDEX=1,t1i=Uw.SCALE_INDEX=2,i1i=Uw.MAXIMUM_SIZE_INDEX=3,r1i=Uw.SLICE_INDEX=4,n1i=Uw.BRIGHTNESS_INDEX=5,o1i=Uw.COLOR_INDEX=6;Uw.NUMBER_OF_PROPERTIES=7;function MF(o,A){let f=o._cloudCollection;O(f)&&(f._updateCloud(o,A),o._dirty=!0)}Object.defineProperties(Uw.prototype,{show:{get:function(){return this._show},set:function(o){this._show!==o&&(this._show=o,MF(this,$wi))}},position:{get:function(){return this._position},set:function(o){let A=this._position;Z.equals(A,o)||(Z.clone(o,A),MF(this,e1i))}},scale:{get:function(){return this._scale},set:function(o){let A=this._scale;rt.equals(A,o)||(rt.clone(o,A),MF(this,t1i))}},maximumSize:{get:function(){return this._maximumSize},set:function(o){let A=this._maximumSize;Z.equals(A,o)||(Z.clone(o,A),MF(this,i1i))}},color:{get:function(){return this._color},set:function(o){let A=this._color;Ve.equals(A,o)||(Ve.clone(o,A),MF(this,o1i))}},slice:{get:function(){return this._slice},set:function(o){this._slice!==o&&(this._slice=o,MF(this,r1i))}},brightness:{get:function(){return this._brightness},set:function(o){this._brightness!==o&&(this._brightness=o,MF(this,n1i))}}});Uw.prototype._destroy=function(){this._cloudCollection=void 0};var Gw=Uw,Jy,JX=new Z,a1i={positionHighAndScaleX:0,positionLowAndScaleY:1,packedAttribute0:2,packedAttribute1:3,color:4},s1i={direction:0,positionHighAndScaleX:1,positionLowAndScaleY:2,packedAttribute0:3,packedAttribute1:4,color:5},l1i=Gw.SHOW_INDEX,u1i=Gw.POSITION_INDEX,A1i=Gw.SCALE_INDEX,c1i=Gw.MAXIMUM_SIZE_INDEX,h1i=Gw.SLICE_INDEX,d1i=Gw.BRIGHTNESS_INDEX,f1i=Gw.NUMBER_OF_PROPERTIES,g1i=Gw.COLOR_INDEX;function Hw(o){o=oe(o,oe.EMPTY_OBJECT),this._clouds=[],this._cloudsToUpdate=[],this._cloudsToUpdateIndex=0,this._cloudsRemoved=!1,this._createVertexArray=!1,this._propertiesChanged=new Uint32Array(f1i),this._noiseTexture=void 0,this._textureSliceWidth=128,this._noiseTextureRows=4,this.noiseDetail=oe(o.noiseDetail,16),this.noiseOffset=Z.clone(oe(o.noiseOffset,Z.ZERO)),this._loading=!1,this._ready=!1;let A=this;this._uniforms={u_noiseTexture:function(){return A._noiseTexture},u_noiseTextureDimensions:Wrt(A),u_noiseDetail:function(){return A.noiseDetail}},this._vaNoise=void 0,this._spNoise=void 0,this._spCreated=!1,this._sp=void 0,this._rs=void 0,this.show=oe(o.show,!0),this._colorCommands=[],this.debugBillboards=oe(o.debugBillboards,!1),this._compiledDebugBillboards=!1,this.debugEllipsoids=oe(o.debugEllipsoids,!1),this._compiledDebugEllipsoids=!1}function Wrt(o){return function(){return JX.x=o._textureSliceWidth,JX.y=o._noiseTextureRows,JX.z=1/o._noiseTextureRows,JX}}Object.defineProperties(Hw.prototype,{length:{get:function(){return xQe(this),this._clouds.length}}});function jrt(o){let A=o.length;for(let f=0;f<A;++f)o[f]&&o[f]._destroy()}Hw.prototype.add=function(o){o=oe(o,oe.EMPTY_OBJECT);let A=oe(o.cloudType,Uee.CUMULUS),f;return A===Uee.CUMULUS&&(f=new Gw(o,this),f._index=this._clouds.length,this._clouds.push(f),this._createVertexArray=!0),f};Hw.prototype.remove=function(o){return this.contains(o)?(this._clouds[o._index]=void 0,this._cloudsRemoved=!0,this._createVertexArray=!0,o._destroy(),!0):!1};Hw.prototype.removeAll=function(){jrt(this._clouds),this._clouds=[],this._cloudsToUpdate=[],this._cloudsToUpdateIndex=0,this._cloudsRemoved=!1,this._createVertexArray=!0};function xQe(o){if(o._cloudsRemoved){o._cloudsRemoved=!1;let A=[],f=o._clouds,m=f.length;for(let C=0,E=0;C<m;++C){let x=f[C];O(x)&&(f._index=E++,A.push(x))}o._clouds=A}}Hw.prototype._updateCloud=function(o,A){o._dirty||(this._cloudsToUpdate[this._cloudsToUpdateIndex++]=o),++this._propertiesChanged[A]};Hw.prototype.contains=function(o){return O(o)&&o._cloudCollection===this};Hw.prototype.get=function(o){return xQe(this),this._clouds[o]};var p1i=new Float32Array([-1,-1,1,-1,1,1,-1,1]),m1i=new Uint16Array([0,1,2,0,2,3]);function C1i(o){let A=Wn.createVertexBuffer({context:o,typedArray:p1i,usage:Gr.STATIC_DRAW}),f=Wn.createIndexBuffer({context:o,typedArray:m1i,usage:Gr.STATIC_DRAW,indexDatatype:Bn.UNSIGNED_SHORT}),m=[{index:0,vertexBuffer:A,componentsPerAttribute:2,componentDatatype:Ft.FLOAT}];return new hu({context:o,attributes:m,indexBuffer:f})}var yQe;function E1i(o){let A=o.cache.cloudCollection_indexBufferBatched;if(O(A))return A;let f=16384*6-6,m=new Uint16Array(f);for(let C=0,E=0;C<f;C+=6,E+=4)m[C]=E,m[C+1]=E+1,m[C+2]=E+2,m[C+3]=E,m[C+4]=E+2,m[C+5]=E+3;return A=Wn.createIndexBuffer({context:o,typedArray:m,usage:Gr.STATIC_DRAW,indexDatatype:Bn.UNSIGNED_SHORT}),A.vertexArrayDestroyable=!1,o.cache.cloudCollection_indexBufferBatched=A,A}function x1i(o){let A=o.cache.cloudCollection_indexBufferInstanced;return O(A)||(A=Wn.createIndexBuffer({context:o,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:Gr.STATIC_DRAW,indexDatatype:Bn.UNSIGNED_SHORT}),A.vertexArrayDestroyable=!1,o.cache.cloudCollection_indexBufferInstanced=A),A}function y1i(o){let A=o.cache.cloudCollection_vertexBufferInstanced;return O(A)||(A=Wn.createVertexBuffer({context:o,typedArray:new Float32Array([0,0,1,0,1,1,0,1]),usage:Gr.STATIC_DRAW}),A.vertexArrayDestroyable=!1,o.cache.cloudCollection_vertexBufferInstanced=A),A}function I1i(o,A,f){let m=[{index:Jy.positionHighAndScaleX,componentsPerAttribute:4,componentDatatype:Ft.FLOAT,usage:Gr.STATIC_DRAW},{index:Jy.positionLowAndScaleY,componentsPerAttribute:4,componentDatatype:Ft.FLOAT,usage:Gr.STATIC_DRAW},{index:Jy.packedAttribute0,componentsPerAttribute:4,componentDatatype:Ft.FLOAT,usage:Gr.STATIC_DRAW},{index:Jy.packedAttribute1,componentsPerAttribute:4,componentDatatype:Ft.FLOAT,usage:Gr.STATIC_DRAW},{index:Jy.color,componentsPerAttribute:4,componentDatatype:Ft.UNSIGNED_BYTE,normalize:!0,usage:Gr.STATIC_DRAW}];f&&m.push({index:Jy.direction,componentsPerAttribute:2,componentDatatype:Ft.FLOAT,vertexBuffer:y1i(o)});let C=f?A:4*A;return new Oz(o,m,C,f)}var vde=new eu;function qrt(o,A,f,m){let C,E=f[Jy.positionHighAndScaleX],x=f[Jy.positionLowAndScaleY],y=m.position;eu.fromCartesian(y,vde);let I=m.scale,v=vde.high,B=vde.low;o._instanced?(C=m._index,E(C,v.x,v.y,v.z,I.x),x(C,B.x,B.y,B.z,I.y)):(C=m._index*4,E(C+0,v.x,v.y,v.z,I.x),E(C+1,v.x,v.y,v.z,I.x),E(C+2,v.x,v.y,v.z,I.x),E(C+3,v.x,v.y,v.z,I.x),x(C+0,B.x,B.y,B.z,I.y),x(C+1,B.x,B.y,B.z,I.y),x(C+2,B.x,B.y,B.z,I.y),x(C+3,B.x,B.y,B.z,I.y))}function Xrt(o,A,f,m){let C,E=f[Jy.packedAttribute0],x=m.show,y=m.brightness;o._instanced?(C=m._index,E(C,x,y,0,0)):(C=m._index*4,E(C+0,x,y,0,0),E(C+1,x,y,1,0),E(C+2,x,y,1,1),E(C+3,x,y,0,1))}function Zrt(o,A,f,m){let C,E=f[Jy.packedAttribute1],x=m.maximumSize,y=m.slice;o._instanced?(C=m._index,E(C,x.x,x.y,x.z,y)):(C=m._index*4,E(C+0,x.x,x.y,x.z,y),E(C+1,x.x,x.y,x.z,y),E(C+2,x.x,x.y,x.z,y),E(C+3,x.x,x.y,x.z,y))}function $rt(o,A,f,m){let C,E=f[Jy.color],x=m.color,y=Ve.floatToByte(x.red),I=Ve.floatToByte(x.green),v=Ve.floatToByte(x.blue),B=Ve.floatToByte(x.alpha);o._instanced?(C=m._index,E(C,y,I,v,B)):(C=m._index*4,E(C+0,y,I,v,B),E(C+1,y,I,v,B),E(C+2,y,I,v,B),E(C+3,y,I,v,B))}function _1i(o,A,f,m){qrt(o,A,f,m),Xrt(o,A,f,m),Zrt(o,A,f,m),$rt(o,A,f,m)}function v1i(o,A,f,m){let C=o,E=C._textureSliceWidth,x=C._noiseTextureRows,y=A.context;C._vaNoise=C1i(y),C._spNoise=qa.fromCache({context:y,vertexShaderSource:f,fragmentShaderSource:m,attributeLocations:{position:0}});let I=C.noiseDetail,v=C.noiseOffset;C._noiseTexture=new Nn({context:y,width:E*E/x,height:E*x,pixelDatatype:$r.UNSIGNED_BYTE,pixelFormat:rn.RGBA,sampler:new Oa({wrapS:Vo.REPEAT,wrapT:Vo.REPEAT,minificationFilter:Ba.NEAREST,magnificationFilter:Wu.NEAREST})});let B=new TN({vertexArray:C._vaNoise,shaderProgram:C._spNoise,outputTexture:C._noiseTexture,uniformMap:{u_noiseTextureDimensions:Wrt(C),u_noiseDetail:function(){return I},u_noiseOffset:function(){return v}},persists:!1,owner:o,postExecute:function(Q){C._ready=!0,C._loading=!1}});A.commandList.push(B),C._loading=!0}function B1i(o,A){let f=o,m=A.context;f._createVertexArray=!1,f._vaf=f._vaf&&f._vaf.destroy();let C=o._clouds,E=C.length;if(E>0){f._vaf=I1i(m,E,f._instanced);let x=f._vaf.writers,y;for(y=0;y<E;++y){let I=C[y];_1i(o,A,x,I)}f._vaf.commit(yQe(m))}}var w1i=[];function b1i(o,A){let f=A.context,m=o,C=m._clouds.length,E=m._cloudsToUpdate,x=m._cloudsToUpdateIndex,y=m._propertiesChanged,I=w1i;I.length=0,(y[u1i]||y[A1i])&&I.push(qrt),(y[l1i]||y[d1i])&&I.push(Xrt),(y[c1i]||y[h1i])&&I.push(Zrt),y[g1i]&&I.push($rt);let v=I.length,B=m._vaf.writers,Q,T,w;if(x/C>.1){for(Q=0;Q<x;++Q)for(T=E[Q],T._dirty=!1,w=0;w<v;++w)I[w](o,A,B,T);m._vaf.commit(yQe(f))}else{for(Q=0;Q<x;++Q){for(T=E[Q],T._dirty=!1,w=0;w<v;++w)I[w](o,A,B,T);m._instanced?m._vaf.subCommit(T._index,1):m._vaf.subCommit(T._index*4,4)}m._vaf.endSubCommits()}m._cloudsToUpdateIndex=0}function Q1i(o,A,f,m){let C=A.context,E=o,x=new _r({defines:[],sources:[f]});E._instanced&&x.defines.push("INSTANCED");let y=new _r({defines:[],sources:[m]});E.debugBillboards&&y.defines.push("DEBUG_BILLBOARDS"),E.debugEllipsoids&&y.defines.push("DEBUG_ELLIPSOIDS"),E._sp=qa.replaceCache({context:C,shaderProgram:E._sp,vertexShaderSource:x,fragmentShaderSource:y,attributeLocations:Jy}),E._rs=Xr.fromCache({depthTest:{enabled:!0,func:li.LESS},depthMask:!1,blending:Nl.ALPHA_BLEND}),E._spCreated=!0,E._compiledDebugBillboards=E.debugBillboards,E._compiledDebugEllipsoids=E.debugEllipsoids}function S1i(o,A){let f=o,m=A.passes,C=f._uniforms,E=A.commandList;if(m.render){let x=f._colorCommands,y=f._vaf.va,I=y.length;x.length=I;for(let v=0;v<I;v++){let B=x[v];O(B)||(B=x[v]=new fn),B.pass=Yi.TRANSLUCENT,B.owner=o,B.uniformMap=C,B.count=y[v].indicesCount,B.vertexArray=y[v].va,B.shaderProgram=f._sp,B.renderState=f._rs,f._instanced&&(B.count=6,B.instanceCount=f._clouds.length),E.push(B)}}}Hw.prototype.update=function(o){if(xQe(this),!this.show)return;let A=this.debugBillboards||this.debugEllipsoids;this._ready=A?!0:O(this._noiseTexture),!this._ready&&!this._loading&&!A&&v1i(this,o,Nve,Fve),this._instanced=o.context.instancedArrays,Jy=this._instanced?s1i:a1i,yQe=this._instanced?x1i:E1i;let f=this._clouds.length,m=this._cloudsToUpdate,C=this._cloudsToUpdateIndex;this._createVertexArray?B1i(this,o):C>0&&b1i(this,o),C>f*1.5&&(m.length=f),!(!O(this._vaf)||!O(this._vaf.va)||!this._ready&!A)&&((!this._spCreated||this.debugBillboards!==this._compiledDebugBillboards||this.debugEllipsoids!==this._compiledDebugEllipsoids)&&Q1i(this,o,Lve,Rve),S1i(this,o))};Hw.prototype.isDestroyed=function(){return!1};Hw.prototype.destroy=function(){return this._noiseTexture=this._noiseTexture&&this._noiseTexture.destroy(),this._sp=this._sp&&this._sp.destroy(),this._vaf=this._vaf&&this._vaf.destroy(),jrt(this._clouds),Ar(this)};var ent=Hw;async function IQe(o,A){let f=A.terrainProvider,m=A.mapProjection,C=m.ellipsoid,E,x=A.camera.getRectangleCameraCoordinates(o);if(A.mode===ni.SCENE3D?E=C.cartesianToCartographic(x):E=m.unproject(x),!O(f))return E;O(f._readyPromise)?await f._readyPromise:O(f.readyPromise)&&await f.readyPromise;let y=f.availability;if(!O(y)||A.mode===ni.SCENE2D)return E;let I=[gi.center(o),gi.southeast(o),gi.southwest(o),gi.northeast(o),gi.northwest(o)],v=await IQe._sampleTerrainMostDetailed(f,I),B=!1,Q=v.reduce(function(w,S){return O(S.height)?(B=!0,Math.max(S.height,w)):w},-Number.MAX_VALUE),T=E;return B&&(T.height+=Q),T}IQe._sampleTerrainMostDetailed=Tw;var Kne=IQe,D1i=Be.toRadians(30);function _Qe(o){this._angle=oe(o,D1i)}Object.defineProperties(_Qe.prototype,{angle:{get:function(){return this._angle},set:function(o){this._angle=o}}});_Qe.prototype.emit=function(o){let A=Math.tan(this._angle),f=Be.randomBetween(0,Be.TWO_PI),m=Be.randomBetween(0,A),C=m*Math.cos(f),E=m*Math.sin(f),x=1;o.velocity=Z.fromElements(C,E,x,o.velocity),Z.normalize(o.velocity,o.velocity),o.position=Z.clone(Z.ZERO,o.position)};var b8=_Qe,T1i=new Ve,M1i=new Ve,P1i=new Ve,R1i=new Ve,z8e=new zt,HV=new Uint8Array(4);function Y8e(o,A,f,m){let C=A.height===f.height?0:(o-A.height)/(f.height-A.height);return Ve.lerp(A.color,f.color,C,m)}function XZ(o,A){return{height:o,color:Ve.clone(A)}}function tnt(o){return o=o.filter(function(A,f,m){let C=f>0,E=f<m.length-1,x=C?A.height===m[f-1].height:!0,y=E?A.height===m[f+1].height:!0;return!x||!y}),o=o.filter(function(A,f,m){let C=f>0,E=f<m.length-1,x=C?Ve.equals(A.color,m[f-1].color):!1,y=E?Ve.equals(A.color,m[f+1].color):!1;return!x||!y}),o=o.filter(function(A,f,m){let C=f>0,E=C?Ve.equals(A.color,m[f-1].color):!1,x=C?A.height===m[f-1].height:!0;return!E||!x}),o}function L1i(o){let A,f,m=[],C=o.length;for(A=0;A<C;A++){let E=o[A],x=E.entries,y=x.length,I=[];for(f=0;f<y;f++){let w=x[f],S=Be.clamp(w.height,bx._minimumHeight,bx._maximumHeight),D=Ve.clone(w.color,T1i);D.red*=D.alpha,D.green*=D.alpha,D.blue*=D.alpha,I.push(XZ(S,D))}let v=!0,B=!0;for(f=0;f<y-1;f++){let w=I[f+0],S=I[f+1];v=v&&w.height<=S.height,B=B&&w.height>=S.height}B?I=I.reverse():v||h8(I,function(w,S){return Be.sign(w.height-S.height)});let Q=oe(E.extendDownwards,!1),T=oe(E.extendUpwards,!1);I.length===1&&!Q&&!T&&(Q=!0,T=!0),Q&&I.splice(0,0,XZ(bx._minimumHeight,I[0].color)),T&&I.splice(I.length,0,XZ(bx._maximumHeight,I[I.length-1].color)),I=tnt(I),m.push(I)}return m}function F1i(o){let A=L1i(o),f=[],m=[],C;function E(I,v){f.push(XZ(I,v))}function x(I,v,B){let Q=Ve.multiplyByScalar(B,1-v.alpha,R1i);Q=Ve.add(Q,v,Q),E(I,Q)}let y=A.length;for(C=0;C<y;C++){let I=A[C],v=0,B=0;m=f,f=[];let Q=I.length,T=m.length;for(;v<Q||B<T;){let w=v<Q?I[v]:void 0,S=v>0?I[v-1]:void 0,D=v<Q-1?I[v+1]:void 0,R=B<T?m[B]:void 0,P=B>0?m[B-1]:void 0,M=B<T-1?m[B+1]:void 0;if(O(w)&&O(R)&&w.height===R.height){let L=O(M)&&R.height===M.height,F=!O(P),k=!O(M),N=O(D)&&w.height===D.height,G=!O(S),J=!O(D);L?N?(x(w.height,w.color,R.color),x(w.height,D.color,M.color)):G?(E(w.height,R.color),x(w.height,w.color,M.color)):J?(x(w.height,w.color,R.color),E(w.height,M.color)):(x(w.height,w.color,R.color),x(w.height,w.color,M.color)):F?N?(E(w.height,w.color),x(w.height,D.color,R.color)):J?(E(w.height,w.color),E(w.height,R.color)):(G||E(w.height,w.color),x(w.height,w.color,R.color)):k?N?(x(w.height,w.color,R.color),E(w.height,D.color)):G?(E(w.height,R.color),E(w.height,w.color)):J?x(w.height,w.color,R.color):(x(w.height,w.color,R.color),E(w.height,w.color)):N?(x(w.height,w.color,R.color),x(w.height,D.color,R.color)):G?(E(w.height,R.color),x(w.height,w.color,R.color)):J?(x(w.height,w.color,R.color),E(w.height,R.color)):x(w.height,w.color,R.color),v+=N?2:1,B+=L?2:1}else if(O(w)&&O(R)&&O(P)&&w.height<R.height){let L=Y8e(w.height,P,R,P1i);O(S)?O(D)?x(w.height,w.color,L):(x(w.height,w.color,L),E(w.height,L)):(E(w.height,L),x(w.height,w.color,L)),v++}else if(O(R)&&O(w)&&O(S)&&R.height<w.height){let L=Y8e(R.height,S,w,M1i);O(P)?O(M)?x(R.height,L,R.color):(x(R.height,L,R.color),E(R.height,L)):(E(R.height,L),x(R.height,L,R.color)),B++}else O(w)&&(!O(R)||w.height<R.height)?(O(R)&&!O(P)&&!O(D)?(E(w.height,w.color),E(w.height,bx._emptyColor),E(R.height,bx._emptyColor)):(!O(R)&&O(P)&&!O(S)&&(E(P.height,bx._emptyColor),E(w.height,bx._emptyColor)),E(w.height,w.color)),v++):O(R)&&(!O(w)||R.height<w.height)&&(E(R.height,R.color),B++)}}return tnt(f)}function bx(o){let{scene:A,layers:f}=oe(o,oe.EMPTY_OBJECT),{context:m}=A,C=F1i(f),E=C.length,x,y,I;if(bx._useFloatTexture(m)){y=$r.FLOAT,I=m.webgl2?rn.RED:rn.LUMINANCE,x=new Float32Array(E);for(let T=0;T<E;T++)x[T]=C[T].height}else{y=$r.UNSIGNED_BYTE,I=rn.RGBA,x=new Uint8Array(E*4);for(let T=0;T<E;T++)zt.packFloat(C[T].height,z8e),zt.pack(z8e,x,T*4)}let v=Nn.create({context:m,pixelFormat:I,pixelDatatype:y,source:{arrayBufferView:x,width:E,height:1},sampler:new Oa({wrapS:Vo.CLAMP_TO_EDGE,wrapT:Vo.CLAMP_TO_EDGE,minificationFilter:Ba.NEAREST,magnificationFilter:Wu.NEAREST})}),B=new Uint8Array(E*4);for(let T=0;T<E;T++)C[T].color.toBytes(HV),B[T*4+0]=HV[0],B[T*4+1]=HV[1],B[T*4+2]=HV[2],B[T*4+3]=HV[3];let Q=Nn.create({context:m,pixelFormat:rn.RGBA,pixelDatatype:$r.UNSIGNED_BYTE,source:{arrayBufferView:B,width:E,height:1},sampler:new Oa({wrapS:Vo.CLAMP_TO_EDGE,wrapT:Vo.CLAMP_TO_EDGE,minificationFilter:Ba.LINEAR,magnificationFilter:Wu.LINEAR})});return go.fromType("ElevationBand",{heights:v,colors:Q})}bx._useFloatTexture=function(o){return o.floatingPointTexture};bx._maximumHeight=5906376425472;bx._minimumHeight=-5906376425472;bx._emptyColor=new Ve(0,0,0,0);var int=bx;async function N1i(o,A){o=oe(o,W7.defaultApiKey);let f,m=W7.getDefaultApiKeyCredit(o);O(m)&&(f=[m]),A=oe(A,{}),A.showCreditsOnScreen=!0;let C=new Cr({url:`${W7.mapTilesApiEndpoint}3dtiles/root.json`,queryParameters:{key:o},credits:f});return _f.fromUrl(C,A)}var rnt=N1i;function k1i(o){ii("createOsmBuildings","createOsmBuildings was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use createOsmBuildingsAsync instead."),o=So(o,{url:H_.fromAssetId(96188)});let A=new _f(o),f=o.style;if(!O(f)){let m=oe(o.defaultColor,Ve.WHITE).toCssColorString();f=new qb({color:`Boolean(\${feature['cesium#color']}) ? color(\${feature['cesium#color']}) : ${m}`})}return A.style=f,A}var nnt=k1i;async function O1i(o){let A=await _f.fromIonAssetId(96188,o);o=oe(o,oe.EMPTY_OBJECT);let f=o.style;if(!O(f)){let m=oe(o.defaultColor,Ve.WHITE).toCssColorString();f=new qb({color:`Boolean(\${feature['cesium#color']}) ? color(\${feature['cesium#color']}) : ${m}`})}return A.style=f,A}var ont=O1i;function U1i(o){o=oe(o,oe.EMPTY_OBJECT);let A=[],f=o.geometry;(!O(f.attributes)||!O(f.primitiveType))&&(f=f.constructor.createGeometry(f));let m=f.attributes,C=Re.clone(oe(o.modelMatrix,Re.IDENTITY)),E=oe(o.length,1e4);if(O(m.normal)&&A.push(new kn({geometry:Zl.createLineSegmentsForVectors(f,"normal",E),attributes:{color:new _o(1,0,0,1)},modelMatrix:C})),O(m.tangent)&&A.push(new kn({geometry:Zl.createLineSegmentsForVectors(f,"tangent",E),attributes:{color:new _o(0,1,0,1)},modelMatrix:C})),O(m.bitangent)&&A.push(new kn({geometry:Zl.createLineSegmentsForVectors(f,"bitangent",E),attributes:{color:new _o(0,0,1,1)},modelMatrix:C})),A.length>0)return new ra({asynchronous:!1,geometryInstances:A,appearance:new La({flat:!0,translucent:!1})})}var ant=U1i;function G1i(o){ii("createWorldImagery","createWorldImagery was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use createWorldImageryAsync instead."),o=oe(o,oe.EMPTY_OBJECT);let A=oe(o.style,dN.AERIAL),f=new Ib;return Ib._initialize(f,A,o),f}var snt=G1i;function zJ(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.attributeName,f=o.perInstanceAttribute;O(f)||(f=!1);let m=oe(o.glslDatatype,"vec3"),C=`v_${A}`,E;if(A==="normal"||A==="tangent"||A==="bitangent")E=`vec4 getColor() { return vec4((${C} + vec3(1.0)) * 0.5, 1.0); } `;else switch(A==="st"&&(m="vec2"),m){case"float":E=`vec4 getColor() { return vec4(vec3(${C}), 1.0); } `;break;case"vec2":E=`vec4 getColor() { return vec4(${C}, 0.0, 1.0); } `;break;case"vec3":E=`vec4 getColor() { return vec4(${C}, 1.0); } `;break;case"vec4":E=`vec4 getColor() { return ${C}; } `;break}let x=`in vec3 position3DHigh; in vec3 position3DLow; in float batchId; ${f?"":`in ${m} ${A}; `}out ${m} ${C}; void main() { vec4 p = czm_translateRelativeToEye(position3DHigh, position3DLow); ${f?`${C} = czm_batchTable_${A}(batchId); `:`${C} = ${A}; `}gl_Position = czm_modelViewProjectionRelativeToEye * p; }`,y=`in ${m} ${C}; ${E} void main() { out_FragColor = getColor(); }`;this.material=void 0,this.translucent=oe(o.translucent,!1),this._vertexShaderSource=oe(o.vertexShaderSource,x),this._fragmentShaderSource=oe(o.fragmentShaderSource,y),this._renderState=Bh.getDefaultRenderState(!1,!1,o.renderState),this._closed=oe(o.closed,!1),this._attributeName=A,this._glslDatatype=m}Object.defineProperties(zJ.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},attributeName:{get:function(){return this._attributeName}},glslDatatype:{get:function(){return this._glslDatatype}}});zJ.prototype.getFragmentShaderSource=Bh.prototype.getFragmentShaderSource;zJ.prototype.isTranslucent=Bh.prototype.isTranslucent;zJ.prototype.getRenderState=Bh.prototype.getRenderState;var lnt=zJ;function Wne(o){o=oe(o,oe.EMPTY_OBJECT),this.length=oe(o.length,1e7),this._length=void 0,this.width=oe(o.width,2),this._width=void 0,this.show=oe(o.show,!0),this.modelMatrix=Re.clone(oe(o.modelMatrix,Re.IDENTITY)),this._modelMatrix=new Re,this.id=o.id,this._id=void 0,this._primitive=void 0}Wne.prototype.update=function(o){if(this.show){if(!O(this._primitive)||!Re.equals(this._modelMatrix,this.modelMatrix)||this._length!==this.length||this._width!==this.width||this._id!==this.id){this._modelMatrix=Re.clone(this.modelMatrix,this._modelMatrix),this._length=this.length,this._width=this.width,this._id=this.id,O(this._primitive)&&this._primitive.destroy(),this.modelMatrix[12]===0&&this.modelMatrix[13]===0&&this.modelMatrix[14]===0&&(this.modelMatrix[14]=.01);let A=new kn({geometry:new iI({positions:[Z.ZERO,Z.UNIT_X],width:this.width,vertexFormat:l0.VERTEX_FORMAT,colors:[Ve.RED,Ve.RED],arcType:Ia.NONE}),modelMatrix:Re.multiplyByUniformScale(this.modelMatrix,this.length,new Re),id:this.id,pickPrimitive:this}),f=new kn({geometry:new iI({positions:[Z.ZERO,Z.UNIT_Y],width:this.width,vertexFormat:l0.VERTEX_FORMAT,colors:[Ve.GREEN,Ve.GREEN],arcType:Ia.NONE}),modelMatrix:Re.multiplyByUniformScale(this.modelMatrix,this.length,new Re),id:this.id,pickPrimitive:this}),m=new kn({geometry:new iI({positions:[Z.ZERO,Z.UNIT_Z],width:this.width,vertexFormat:l0.VERTEX_FORMAT,colors:[Ve.BLUE,Ve.BLUE],arcType:Ia.NONE}),modelMatrix:Re.multiplyByUniformScale(this.modelMatrix,this.length,new Re),id:this.id,pickPrimitive:this});this._primitive=new ra({geometryInstances:[A,f,m],appearance:new l0,asynchronous:!1})}this._primitive.update(o)}};Wne.prototype.isDestroyed=function(){return!1};Wne.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),Ar(this)};var vQe=Wne;function H1i(o){this.direction=Z.clone(o.direction),this.color=Ve.clone(oe(o.color,Ve.WHITE)),this.intensity=oe(o.intensity,1)}var jne=H1i;function yx(o){this._scene=o.scene,this.samplingWindow=oe(o.samplingWindow,yx.defaultSettings.samplingWindow),this.quietPeriod=oe(o.quietPeriod,yx.defaultSettings.quietPeriod),this.warmupPeriod=oe(o.warmupPeriod,yx.defaultSettings.warmupPeriod),this.minimumFrameRateDuringWarmup=oe(o.minimumFrameRateDuringWarmup,yx.defaultSettings.minimumFrameRateDuringWarmup),this.minimumFrameRateAfterWarmup=oe(o.minimumFrameRateAfterWarmup,yx.defaultSettings.minimumFrameRateAfterWarmup),this._lowFrameRate=new ur,this._nominalFrameRate=new ur,this._frameTimes=[],this._needsQuietPeriod=!0,this._quietPeriodEndTime=0,this._warmupPeriodEndTime=0,this._frameRateIsLow=!1,this._lastFramesPerSecond=void 0,this._pauseCount=0;let A=this;this._preUpdateRemoveListener=this._scene.preUpdate.addEventListener(function(C,E){V1i(A,E)}),this._hiddenPropertyName=document.hidden!==void 0?"hidden":document.mozHidden!==void 0?"mozHidden":document.msHidden!==void 0?"msHidden":document.webkitHidden!==void 0?"webkitHidden":void 0;let f=document.hidden!==void 0?"visibilitychange":document.mozHidden!==void 0?"mozvisibilitychange":document.msHidden!==void 0?"msvisibilitychange":document.webkitHidden!==void 0?"webkitvisibilitychange":void 0;function m(){z1i(A)}this._visibilityChangeRemoveListener=void 0,O(f)&&(document.addEventListener(f,m,!1),this._visibilityChangeRemoveListener=function(){document.removeEventListener(f,m,!1)})}yx.defaultSettings={samplingWindow:5,quietPeriod:2,warmupPeriod:5,minimumFrameRateDuringWarmup:4,minimumFrameRateAfterWarmup:8};yx.fromScene=function(o){return(!O(o._frameRateMonitor)||o._frameRateMonitor.isDestroyed())&&(o._frameRateMonitor=new yx({scene:o})),o._frameRateMonitor};Object.defineProperties(yx.prototype,{scene:{get:function(){return this._scene}},lowFrameRate:{get:function(){return this._lowFrameRate}},nominalFrameRate:{get:function(){return this._nominalFrameRate}},lastFramesPerSecond:{get:function(){return this._lastFramesPerSecond}}});yx.prototype.pause=function(){++this._pauseCount,this._pauseCount===1&&(this._frameTimes.length=0,this._lastFramesPerSecond=void 0)};yx.prototype.unpause=function(){--this._pauseCount,this._pauseCount<=0&&(this._pauseCount=0,this._needsQuietPeriod=!0)};yx.prototype.isDestroyed=function(){return!1};yx.prototype.destroy=function(){return this._preUpdateRemoveListener(),O(this._visibilityChangeRemoveListener)&&this._visibilityChangeRemoveListener(),Ar(this)};function V1i(o,A){if(o._pauseCount>0)return;let f=oA();if(o._needsQuietPeriod)o._needsQuietPeriod=!1,o._frameTimes.length=0,o._quietPeriodEndTime=f+o.quietPeriod/lu.SECONDS_PER_MILLISECOND,o._warmupPeriodEndTime=o._quietPeriodEndTime+(o.warmupPeriod+o.samplingWindow)/lu.SECONDS_PER_MILLISECOND;else if(f>=o._quietPeriodEndTime){o._frameTimes.push(f);let m=f-o.samplingWindow/lu.SECONDS_PER_MILLISECOND;if(o._frameTimes.length>=2&&o._frameTimes[0]<=m){for(;o._frameTimes.length>=2&&o._frameTimes[1]<m;)o._frameTimes.shift();let C=(f-o._frameTimes[0])/(o._frameTimes.length-1);o._lastFramesPerSecond=1e3/C;let E=1e3/(f>o._warmupPeriodEndTime?o.minimumFrameRateAfterWarmup:o.minimumFrameRateDuringWarmup);C>E?o._frameRateIsLow||(o._frameRateIsLow=!0,o._needsQuietPeriod=!0,o.lowFrameRate.raiseEvent(o.scene,o._lastFramesPerSecond)):o._frameRateIsLow&&(o._frameRateIsLow=!1,o._needsQuietPeriod=!0,o.nominalFrameRate.raiseEvent(o.scene,o._lastFramesPerSecond))}}}function z1i(o){document[o._hiddenPropertyName]?o.pause():o.unpause()}var BQe=yx;function Y1i(o,A,f){return` float clipDistance = clip(gl_FragCoord, ${o}, ${A}); vec4 clippingPlanesEdgeColor = vec4(1.0); clippingPlanesEdgeColor.rgb = ${f}.rgb; float clippingPlanesEdgeWidth = ${f}.a; if (clipDistance > 0.0 && clipDistance < clippingPlanesEdgeWidth) { out_FragColor = clippingPlanesEdgeColor; } `}var wQe=Y1i,J1i=Dc(j6e(),1);function bQe(){this._image=new Image}bQe.prototype.isReady=function(){return!0};bQe.prototype.shouldDiscardImage=function(o){return o===this._image};function KN(o){o=oe(o,oe.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tileDiscardPolicy=o.tileDiscardPolicy,this._tilingScheme=new th({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new gi(-Be.PI,-Be.PI,Be.PI,Be.PI),ellipsoid:o.ellipsoid});let A=o.credit;typeof A=="string"&&(A=new Qa(A)),this._credit=A,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=23,O(this._tileDiscardPolicy)||(this._tileDiscardPolicy=new bQe),this._errorEvent=new ur,this._ready=!1;let f=this,m,C;if(O(o.url)){ii("GoogleEarthEnterpriseImageryProvider options.url","options.url was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use GoogleEarthEnterpriseImageryProvider.fromMetadata instead.");let E=Cr.createIfNeeded(o.url);C=new _R(E)}O(o.metadata)&&(ii("GoogleEarthEnterpriseImageryProvider options.metadata","options.metadata was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use GoogleEarthEnterpriseImageryProvider.fromMetadata instead."),C=o.metadata),this._metadata=C,O(C)&&(this._readyPromise=C.readyPromise.then(function(E){if(!C.imageryPresent){let x=new ki(`The server ${C.url} doesn't have imagery`);return m=yh.reportError(m,f,f._errorEvent,x.message,void 0,void 0,void 0,x),Promise.reject(x)}return yh.reportSuccess(m),f._ready=E,E}).catch(function(E){return m=yh.reportError(m,f,f._errorEvent,E.message,void 0,void 0,void 0,E),Promise.reject(E)}))}Object.defineProperties(KN.prototype,{url:{get:function(){return this._metadata.url}},proxy:{get:function(){return this._metadata.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return ii("GoogleEarthEnterpriseImageryProvider.ready","GoogleEarthEnterpriseImageryProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use GoogleEarthEnterpriseImageryProvider.fromMetadata instead."),this._ready}},readyPromise:{get:function(){return ii("GoogleEarthEnterpriseImageryProvider.readyPromise","GoogleEarthEnterpriseImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use GoogleEarthEnterpriseImageryProvider.fromMetadata instead."),this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!1}},defaultAlpha:{get:function(){return ii("GoogleEarthEnterpriseImageryProvider.defaultAlpha","GoogleEarthEnterpriseImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha},set:function(o){ii("GoogleEarthEnterpriseImageryProvider.defaultAlpha","GoogleEarthEnterpriseImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha=o}},defaultNightAlpha:{get:function(){return ii("GoogleEarthEnterpriseImageryProvider.defaultNightAlpha","GoogleEarthEnterpriseImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this.defaultNightAlpha},set:function(o){ii("GoogleEarthEnterpriseImageryProvider.defaultNightAlpha","GoogleEarthEnterpriseImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this.defaultNightAlpha=o}},defaultDayAlpha:{get:function(){return ii("GoogleEarthEnterpriseImageryProvider.defaultDayAlpha","GoogleEarthEnterpriseImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha},set:function(o){ii("GoogleEarthEnterpriseImageryProvider.defaultDayAlpha","GoogleEarthEnterpriseImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha=o}},defaultBrightness:{get:function(){return ii("GoogleEarthEnterpriseImageryProvider.defaultBrightness","GoogleEarthEnterpriseImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness},set:function(o){ii("GoogleEarthEnterpriseImageryProvider.defaultBrightness","GoogleEarthEnterpriseImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness=o}},defaultContrast:{get:function(){return ii("GoogleEarthEnterpriseImageryProvider.defaultContrast","GoogleEarthEnterpriseImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast},set:function(o){ii("GoogleEarthEnterpriseImageryProvider.defaultContrast","GoogleEarthEnterpriseImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast=o}},defaultHue:{get:function(){return ii("GoogleEarthEnterpriseImageryProvider.defaultHue","GoogleEarthEnterpriseImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue},set:function(o){ii("GoogleEarthEnterpriseImageryProvider.defaultHue","GoogleEarthEnterpriseImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue=o}},defaultSaturation:{get:function(){return ii("GoogleEarthEnterpriseImageryProvider.defaultSaturation","GoogleEarthEnterpriseImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation},set:function(o){ii("GoogleEarthEnterpriseImageryProvider.defaultSaturation","GoogleEarthEnterpriseImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation=o}},defaultGamma:{get:function(){return ii("GoogleEarthEnterpriseImageryProvider.defaultGamma","GoogleEarthEnterpriseImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma},set:function(o){ii("GoogleEarthEnterpriseImageryProvider.defaultGamma","GoogleEarthEnterpriseImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma=o}},defaultMinificationFilter:{get:function(){return ii("GoogleEarthEnterpriseImageryProvider.defaultMinificationFilter","GoogleEarthEnterpriseImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter},set:function(o){ii("GoogleEarthEnterpriseImageryProvider.defaultMinificationFilter","GoogleEarthEnterpriseImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter=o}},defaultMagnificationFilter:{get:function(){return ii("GoogleEarthEnterpriseImageryProvider.defaultMagnificationFilter","GoogleEarthEnterpriseImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter},set:function(o){ii("GoogleEarthEnterpriseImageryProvider.defaultMagnificationFilter","GoogleEarthEnterpriseImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter=o}}});KN.fromMetadata=function(o,A){if(!o.imageryPresent)throw new ki(`The server ${o.url} doesn't have imagery`);let f=new KN(A);return f._metadata=o,f._ready=!0,f._readyPromise=Promise.resolve(!0),f};KN.prototype.getTileCredits=function(o,A,f){let m=this._metadata,C=m.getTileInformation(o,A,f);if(O(C)){let E=m.providers[C.imageryProvider];if(O(E))return[E]}};KN.prototype.requestImage=function(o,A,f,m){let C=this._tileDiscardPolicy._image,E=this._metadata,x=_R.tileXYToQuadKey(o,A,f),y=E.getTileInformation(o,A,f);if(!O(y)){if(E.isValid(x)){let v=new lp({throttle:m.throttle,throttleByServer:m.throttleByServer,type:m.type,priorityFunction:m.priorityFunction});E.populateSubtree(o,A,f,v);return}return Promise.resolve(C)}if(!y.hasImagery())return Promise.resolve(C);let I=K1i(this,y,o,A,f,m).fetchArrayBuffer();if(O(I))return I.then(function(v){abe(E.key,v);let B=new Uint8Array(v),Q,T=E.protoImagery;if((!O(T)||!T)&&(Q=W1i(B)),!O(Q)&&(!O(T)||T)){let w=j1i(B);Q=w.imageType,B=w.imageData}return!O(Q)||!O(B)?C:Vie({uint8Array:B,format:Q,flipY:!0})})};KN.prototype.pickFeatures=function(o,A,f,m,C){};function K1i(o,A,f,m,C,E){let x=_R.tileXYToQuadKey(f,m,C),y=A.imageryVersion;return y=O(y)&&y>0?y:1,o._metadata.resource.getDerivedResource({url:`flatfile?f1-0${x}-i.${y.toString()}`,request:E})}function W1i(o){let A="JFIF";if(o[6]===A.charCodeAt(0)&&o[7]===A.charCodeAt(1)&&o[8]===A.charCodeAt(2)&&o[9]===A.charCodeAt(3))return"image/jpeg";let f="PNG";if(o[1]===f.charCodeAt(0)&&o[2]===f.charCodeAt(1)&&o[3]===f.charCodeAt(2))return"image/png"}function j1i(o){let A=J1i.Reader.create(o),f=A.len,m={};for(;A.pos<f;){let x=A.uint32(),y;switch(x>>>3){case 1:m.imageType=A.uint32();break;case 2:m.imageData=A.bytes();break;case 3:m.alphaType=A.uint32();break;case 4:m.imageAlpha=A.bytes();break;case 5:if(y=m.copyrightIds,O(y)||(y=m.copyrightIds=[]),(x&7)===2){let I=A.uint32()+A.pos;for(;A.pos<I;)y.push(A.uint32())}else y.push(A.uint32());break;default:A.skipType(x&7);break}}let C=m.imageType;if(O(C))switch(C){case 0:m.imageType="image/jpeg";break;case 4:m.imageType="image/png";break;default:throw new ki("GoogleEarthEnterpriseImageryProvider: Unsupported image type.")}let E=m.alphaType;return O(E)&&E!==0&&(console.log("GoogleEarthEnterpriseImageryProvider: External alpha not supported."),delete m.alphaType,delete m.imageAlpha),m}var unt=KN,q1i=new Ve(1,1,1,.4),X1i=new Ve(0,1,0,.05),Z1i=new Ve(0,.5,0,.2);function j3(o){o=oe(o,oe.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tilingScheme=O(o.tilingScheme)?o.tilingScheme:new th({ellipsoid:o.ellipsoid}),this._cells=oe(o.cells,8),this._color=oe(o.color,q1i),this._glowColor=oe(o.glowColor,X1i),this._glowWidth=oe(o.glowWidth,6),this._backgroundColor=oe(o.backgroundColor,Z1i),this._errorEvent=new ur,this._tileWidth=oe(o.tileWidth,256),this._tileHeight=oe(o.tileHeight,256),this._canvasSize=oe(o.canvasSize,256),this._canvas=this._createGridCanvas(),this._ready=!0,this._readyPromise=Promise.resolve(!0)}Object.defineProperties(j3.prototype,{proxy:{get:function(){}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){}},minimumLevel:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return ii("GridImageryProvider.ready","GridImageryProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),!0}},readyPromise:{get:function(){return ii("GridImageryProvider.readyPromise","GridImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._readyPromise}},credit:{get:function(){}},hasAlphaChannel:{get:function(){return!0}},defaultAlpha:{get:function(){return ii("GridImageryProvider.defaultAlpha","GridImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha},set:function(o){ii("GridImageryProvider.defaultAlpha","GridImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha=o}},defaultNightAlpha:{get:function(){return ii("GridImageryProvider.defaultNightAlpha","GridImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this.defaultNightAlpha},set:function(o){ii("GridImageryProvider.defaultNightAlpha","GridImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this.defaultNightAlpha=o}},defaultDayAlpha:{get:function(){return ii("GridImageryProvider.defaultDayAlpha","GridImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha},set:function(o){ii("GridImageryProvider.defaultDayAlpha","GridImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha=o}},defaultBrightness:{get:function(){return ii("GridImageryProvider.defaultBrightness","GridImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness},set:function(o){ii("GridImageryProvider.defaultBrightness","GridImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness=o}},defaultContrast:{get:function(){return ii("GridImageryProvider.defaultContrast","GridImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast},set:function(o){ii("GridImageryProvider.defaultContrast","GridImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast=o}},defaultHue:{get:function(){return ii("GridImageryProvider.defaultHue","GridImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue},set:function(o){ii("GridImageryProvider.defaultHue","GridImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue=o}},defaultSaturation:{get:function(){return ii("GridImageryProvider.defaultSaturation","GridImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation},set:function(o){ii("GridImageryProvider.defaultSaturation","GridImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation=o}},defaultGamma:{get:function(){return ii("GridImageryProvider.defaultGamma","GridImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma},set:function(o){ii("GridImageryProvider.defaultGamma","GridImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma=o}},defaultMinificationFilter:{get:function(){return ii("GridImageryProvider.defaultMinificationFilter","GridImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter},set:function(o){ii("GridImageryProvider.defaultMinificationFilter","GridImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter=o}},defaultMagnificationFilter:{get:function(){return ii("GridImageryProvider.defaultMagnificationFilter","GridImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter},set:function(o){ii("GridImageryProvider.defaultMagnificationFilter","GridImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter=o}}});j3.prototype._drawGrid=function(o){let A=this._canvasSize;for(let f=0;f<=this._cells;++f){let m=1+f/this._cells*(A-1);o.moveTo(m,0),o.lineTo(m,A),o.moveTo(0,m),o.lineTo(A,m)}o.stroke()};j3.prototype._createGridCanvas=function(){let o=document.createElement("canvas");o.width=this._canvasSize,o.height=this._canvasSize;let A=0,f=this._canvasSize,m=o.getContext("2d"),C=this._backgroundColor.toCssColorString();m.fillStyle=C,m.fillRect(A,A,f,f);let E=this._glowColor.toCssColorString();m.strokeStyle=E,m.lineWidth=this._glowWidth,m.strokeRect(A,A,f,f),this._drawGrid(m),m.lineWidth=this._glowWidth*.5,m.strokeRect(A,A,f,f),this._drawGrid(m);let x=this._color.toCssColorString();return m.strokeStyle=x,m.lineWidth=2,m.strokeRect(A,A,f,f),m.lineWidth=1,this._drawGrid(m),o};j3.prototype.getTileCredits=function(o,A,f){};j3.prototype.requestImage=function(o,A,f,m){return Promise.resolve(this._canvas)};j3.prototype.pickFeatures=function(o,A,f,m,C){};var Ant=j3;function QQe(o,A){this._parent=o,this._dataProvider=o._dataProvider,this._layer=o._layer,O(this._parent._nodeIndex)?this._resource=this._parent._layer.resource.getDerivedResource({url:`nodes/${this._parent._data.mesh.attribute.resource}/${A}`}):this._resource=this._parent.resource.getDerivedResource({url:A})}Object.defineProperties(QQe.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}}});QQe.prototype.load=async function(){return this._data=await qne.loadJson(this._resource,this._dataProvider._traceFetches),this._data};var SQe=QQe;function Q8(o,A){this._storageInfo=A,this._parent=o,this._dataProvider=o._dataProvider;let f=`attributes/${A.key}/0`;O(this._parent._nodeIndex)?this._resource=this._parent._layer.resource.getDerivedResource({url:`nodes/${this._parent._data.mesh.attribute.resource}/${f}`}):this._resource=this._parent.resource.getDerivedResource({url:f})}Object.defineProperties(Q8.prototype,{resource:{get:function(){return this._resource}},header:{get:function(){return this._header}},values:{get:function(){return O(this._values)&&O(this._values.attributeValues)?this._values.attributeValues:[]}},name:{get:function(){return this._storageInfo.name}}});function $1i(o){return o==="UInt8"||o==="Int8"?1:o==="UInt16"||o==="Int16"?2:o==="UInt32"||o==="Int32"||o==="Oid32"||o==="Float32"?4:o==="UInt64"||o==="Int64"||o==="Float64"?8:0}Q8.prototype.load=function(){let o=this;return this._dataProvider._loadBinary(this._resource).then(function(A){let f=new DataView(A),m=!0;if(f.getUint8(0)==="{".charCodeAt(0)&&new TextDecoder().decode(A).includes("404")&&(m=!1,console.error(`Failed to load: ${o.resource.url}`)),m){o._data=A;let C=o._parseHeader(f),E=$1i(o._storageInfo.attributeValues.valueType);E>0&&(C=Math.ceil(C/E)*E),o._parseBody(f,C)}})};Q8.prototype._parseValue=function(o,A,f){let m;if(A==="UInt8")m=o.getUint8(f),f+=1;else if(A==="Int8")m=o.getInt8(f),f+=1;else if(A==="UInt16")m=o.getUint16(f,!0),f+=2;else if(A==="Int16")m=o.getInt16(f,!0),f+=2;else if(A==="UInt32")m=o.getUint32(f,!0),f+=4;else if(A==="Oid32")m=o.getUint32(f,!0),f+=4;else if(A==="Int32")m=o.getInt32(f,!0),f+=4;else if(A==="UInt64"){let C=o.getUint32(f,!0),E=o.getUint32(f+4,!0);m=C+Math.pow(2,32)*E,f+=8}else if(A==="Int64"){let C=o.getUint32(f,!0),E=o.getUint32(f+4,!0);E<Math.pow(2,31)?m=C+Math.pow(2,32)*E:m=C+Math.pow(2,32)*(E-Math.pow(2,32)),f+=8}else A==="Float32"?(m=o.getFloat32(f,!0),f+=4):A==="Float64"?(m=o.getFloat64(f,!0),f+=8):A==="String"&&(m=String.fromCharCode(o.getUint8(f)),f+=1);return{value:m,offset:f}};Q8.prototype._parseHeader=function(o){let A=0;this._header={};for(let f=0;f<this._storageInfo.header.length;f++){let m=this._storageInfo.header[f],C=this._parseValue(o,m.valueType,A);this._header[m.property]=C.value,A=C.offset}return A};Q8.prototype._parseBody=function(o,A){this._values={};for(let f=0;f<this._storageInfo.ordering.length;f++){let m=this._storageInfo.ordering[f],C=this._storageInfo[m];if(O(C)){this._values[m]=[];for(let E=0;E<this._header.count;++E)if(C.valueType!=="String"){let x=this._parseValue(o,C.valueType,A);this._values[m].push(x.value),A=x.offset}else{let x=this._values.attributeByteCounts[E],y="";for(let I=0;I<x;++I){let v=this._parseValue(o,C.valueType,A);v.value.charCodeAt(0)!==0&&(y+=v.value),A=v.offset}this._values[m].push(y)}}}};var DQe=Q8;function YJ(o,A){let f=o._dataProvider,m=o._layer,C;O(o._nodeIndex)?C=m.resource.getDerivedResource({url:`nodes/${o._data.mesh.geometry.resource}/${A}`}):C=o.resource.getDerivedResource({url:A}),this._parent=o,this._dataProvider=f,this._layer=m,this._resource=C,this._customAttributes=void 0}Object.defineProperties(YJ.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}},customAttributes:{get:function(){return this._customAttributes}}});YJ.prototype.load=function(){let o=this;return this._dataProvider._loadBinary(this._resource).then(function(A){return o._data=A,A})};var ebi=new Z,tbi=new Z,ibi=new Z,rbi=new Z,nbi=new Z;function Bde(o,A,f,m){let C=Z.subtract(m,f,ebi),E=Z.cross(C,Z.subtract(o,f,tbi),rbi),x=Z.cross(C,Z.subtract(A,f,ibi),nbi);return Z.dot(E,x)>=0}var obi=new Z,abi=new Z,sbi=new Z,lbi=new Z,ubi=new Z,Abi=new Z,cbi=new Z,hbi=new Z,dbi=new Z,fbi=new Z;YJ.prototype.getClosestPointIndexOnTriangle=function(o,A,f){if(O(this._customAttributes)&&O(this._customAttributes.positions)){let m=new Z(o,A,f);m.x-=this._customAttributes.cartesianCenter.x,m.y-=this._customAttributes.cartesianCenter.y,m.z-=this._customAttributes.cartesianCenter.z,Gt.multiplyByVector(this._customAttributes.parentRotation,m,m);let C=Number.MAX_VALUE,E,x,y,I,v=this._customAttributes.positions,B=this._customAttributes.indices,Q;O(B)?Q=B.length:Q=v.length/3;for(let T=0;T<Q;T++){let w,S,D;O(B)?(w=B[T],S=B[T+1],D=B[T+2]):(w=T*3,S=T*3+1,D=T*3+2);let R=Z.fromElements(v[w*3],v[w*3+1],v[w*3+2],obi),P=Z.fromElements(v[S*3],v[S*3+1],v[S*3+2],abi),M=new Z(v[D*3],v[D*3+1],v[D*3+2],sbi);if(!Bde(m,R,P,M)||!Bde(m,P,R,M)||!Bde(m,M,R,P))continue;let L=Z.subtract(P,R,lbi),F=Z.subtract(M,R,ubi),k=Z.cross(L,F,Abi);if(Z.magnitude(k)===0)continue;let N=Z.normalize(k,cbi),G=Z.subtract(m,R,hbi),J=Math.abs(Z.dot(G,N));if(J<C){C=J,E=T;let K=Z.magnitudeSquared(Z.subtract(m,R,G)),X=Z.magnitudeSquared(Z.subtract(m,P,dbi)),q=Z.magnitudeSquared(Z.subtract(m,M,fbi));K<X&&K<q?(y=w,I=R,x=K):X<q?(y=S,I=P,x=X):(y=D,I=M,x=q)}}if(O(E))return{index:y,distanceSquared:x,distance:Math.sqrt(x),queriedPosition:m,closestPosition:Z.clone(I)}}return{index:-1,distanceSquared:Number.Infinity,distance:Number.Infinity}};YJ.prototype._generateGltf=function(o,A,f,m,C,E){let x={pbrMetallicRoughness:{metallicFactor:0},doubleSided:!0,name:"Material"},y=!1,I,v="";if(O(this._parent._data.mesh)&&O(this._layer._data.materialDefinitions)){let w=this._parent._data.mesh.material.definition;if(w>=0&&w<this._layer._data.materialDefinitions.length&&(I=this._layer._data.materialDefinitions[w],x=I,O(x.pbrMetallicRoughness)&&O(x.pbrMetallicRoughness.baseColorTexture))){y=!0,x.pbrMetallicRoughness.baseColorTexture.index=0;let S="0";if(O(this._layer._data.textureSetDefinitions))for(let D=0;D<this._layer._data.textureSetDefinitions.length;D++){let R=this._layer._data.textureSetDefinitions[D];for(let P=0;P<R.formats.length;P++){let M=R.formats[P];if(M.format==="jpg"){S=M.name;break}}}O(this._parent._data.mesh)&&this._parent._data.mesh.material.resource>=0&&(v=this._layer.resource.getDerivedResource({url:`nodes/${this._parent._data.mesh.material.resource}/textures/${S}`}).url)}}else O(this._parent._data.textureData)&&(y=!0,v=this._parent.resource.getDerivedResource({url:`${this._parent._data.textureData[0].href}`}).url,x.pbrMetallicRoughness.baseColorTexture={index:0});let B=[],Q=[],T=[];return y&&(B=[{sampler:0,source:0}],Q=[{uri:v}],T=[{magFilter:9729,minFilter:9986,wrapS:10497,wrapT:10497}]),{scene:0,scenes:[{nodes:o}],nodes:A,meshes:f,buffers:m,bufferViews:C,accessors:E,materials:[x],textures:B,images:Q,samplers:T,asset:{version:"2.0"}}};var Gee=YJ;function Ox(o,A,f){let m,C,E,x;f?(m=0,C=o):(m=o._level+1,C=o._layer),typeof A=="number"?E=A:x=o.resource.getDerivedResource({url:`${A}/`}),this._parent=o,this._dataProvider=o._dataProvider,this._isRoot=f,this._level=m,this._layer=C,this._nodeIndex=E,this._resource=x,this._isLoading=!1,this._tile=void 0,this._data=void 0,this._geometryData=[],this._featureData=[],this._fields={},this._children=[],this._childrenReadyPromise=void 0,this._globalTransform=void 0,this._inverseGlobalTransform=void 0,this._inverseRotationMatrix=void 0}Object.defineProperties(Ox.prototype,{resource:{get:function(){return this._resource}},layer:{get:function(){return this._layer}},parent:{get:function(){return this._parent}},children:{get:function(){return this._children}},geometryData:{get:function(){return this._geometryData}},featureData:{get:function(){return this._featureData}},fields:{get:function(){return this._fields}},tile:{get:function(){return this._tile}},data:{get:function(){return this._data}}});Ox.prototype.load=async function(){let o=this;function A(){if(!o._isRoot){let C=o._create3DTileDefinition();o._tile=new Nx(o._layer._tileset,o._dataProvider.resource,C,o._parent._tile),o._tile._i3sNode=o}}if(!O(this._nodeIndex)){let C=await qne.loadJson(this._resource,this._dataProvider._traceFetches);o._data=C,A();return}let f=await this._layer._getNodeInNodePages(this._nodeIndex);o._data=f;let m;o._isRoot?m="nodes/root/":O(f.mesh)&&(m=`../${f.mesh.geometry.resource}/`),O(m)&&(o._resource=o._parent.resource.getDerivedResource({url:m})),A()};Ox.prototype.loadFields=function(){let o=this._layer._data.attributeStorageInfo,A=this;function f(C,E){let x=new DQe(A,C[E]);return A._fields[x._storageInfo.name]=x,x.load()}let m=[];if(O(o))for(let C=0;C<o.length;C++)m.push(f(o,C));return Promise.all(m)};Ox.prototype.getFieldsForPickedPosition=function(o){let A=this.geometryData[0];if(!O(A.customAttributes.featureIndex))return{};let f=A.getClosestPointIndexOnTriangle(o.x,o.y,o.z);if(f.index===-1||f.index>A.customAttributes.featureIndex.length)return{};let m=A.customAttributes.featureIndex[f.index];return this.getFieldsForFeature(m)};Ox.prototype.getFieldsForFeature=function(o){let A={};for(let f in this.fields)if(this.fields.hasOwnProperty(f)){let m=this.fields[f];o>=0&&o<m.values.length&&(A[m.name]=m.values[o])}return A};Ox.prototype._loadChildren=function(){let o=this;if(O(this._childrenReadyPromise))return this._childrenReadyPromise;let A=[];if(O(o._data.children))for(let f=0;f<o._data.children.length;f++){let m=o._data.children[f],C=new Ox(o,oe(m.href,m),!1);o._children.push(C),A.push(C.load())}return this._childrenReadyPromise=Promise.all(A).then(function(){for(let f=0;f<o._children.length;f++)o._tile.children.push(o._children[f]._tile)}),this._childrenReadyPromise};Ox.prototype._loadGeometryData=function(){let o=[];if(O(this._data.geometryData))for(let A=0;A<this._data.geometryData.length;A++){let f=new Gee(this,this._data.geometryData[A].href);this._geometryData.push(f),o.push(f.load())}else if(O(this._data.mesh)){let A=this._layer._findBestGeometryBuffers(this._data.mesh.geometry.definition,["position","uv0"]),f=`./geometries/${A.bufferIndex}/`,m=new Gee(this,f);m._geometryDefinitions=A.definition,m._geometryBufferInfo=A.geometryBufferInfo,this._geometryData.push(m),o.push(m.load())}return Promise.all(o)};Ox.prototype._loadFeatureData=function(){let o=[];if(O(this._data.featureData))for(let A=0;A<this._data.featureData.length;A++){let f=new SQe(this,this._data.featureData[A].href);this._featureData.push(f),o.push(f.load())}return Promise.all(o)};Ox.prototype._clearGeometryData=function(){this._geometryData=[]};Ox.prototype._create3DTileDefinition=function(){let o=this._data.obb,A=this._data.mbs;if(!O(o)&&!O(A)){console.error("Failed to load I3S node. Bounding volume is required.");return}let f;if(O(o)?f=Rt.fromDegrees(o.center[0],o.center[1],o.center[2]):f=Rt.fromDegrees(A[0],A[1],A[2]),O(this._dataProvider._geoidDataList)&&O(f))for(let R=0;R<this._dataProvider._geoidDataList.length;R++){let P=this._dataProvider._geoidDataList[R],M=P.projection.project(f);if(M.x>P.nativeExtent.west&&M.x<P.nativeExtent.east&&M.y>P.nativeExtent.south&&M.y<P.nativeExtent.north){f.height+=pbi(M.x,M.y,P);break}}let m={},C,E=0;O(o)?(m={box:[0,0,0,o.halfSize[0],0,0,0,o.halfSize[1],0,0,0,o.halfSize[2]]},E=Math.max(Math.max(this._data.obb.halfSize[0],this._data.obb.halfSize[1]),this._data.obb.halfSize[2]),C=Ci.WGS84.cartographicToCartesian(f)):(m={sphere:[0,0,0,A[3]]},C=Ci.WGS84.cartographicToCartesian(f),E=this._data.mbs[3]),E*=2;let x=1/0;if(O(this._data.lodThreshold))if(this._layer._data.nodePages.lodSelectionMetricType==="maxScreenThresholdSQ"){let R=Math.sqrt(this._data.lodThreshold/(Math.PI*.25));x=E/R}else if(this._layer._data.nodePages.lodSelectionMetricType==="maxScreenThreshold"){let R=this._data.lodThreshold;x=E/R}else console.error("Invalid lodSelectionMetricType in Layer");else if(O(this._data.lodSelection))for(let R=0;R<this._data.lodSelection.length;R++)this._data.lodSelection[R].metricType==="maxScreenThreshold"&&(x=E/this._data.lodSelection[R].maxError);x===1/0&&(x=1e5);let y=x*16,I=new bs(0,0,0),v=kr.headingPitchRollQuaternion(C,I);O(this._data.obb)&&(v=new fr(this._data.obb.quaternion[0],this._data.obb.quaternion[1],this._data.obb.quaternion[2],this._data.obb.quaternion[3]));let B=Gt.fromQuaternion(v),Q=Gt.inverse(B,new Gt),T=new Re(B[0],B[1],B[2],0,B[3],B[4],B[5],0,B[6],B[7],B[8],0,C.x,C.y,C.z,1),w=Re.inverse(T,new Re),S=Re.clone(T);O(this._parent._globalTransform)&&Re.multiply(T,this._parent._inverseGlobalTransform,S),this._globalTransform=T,this._inverseGlobalTransform=w,this._inverseRotationMatrix=Q;let D=[];for(let R=0;R<this._children.length;R++)D.push(this._children[R]._create3DTileDefinition());return{children:D,refine:"REPLACE",boundingVolume:m,transform:[S[0],S[4],S[8],S[12],S[1],S[5],S[9],S[13],S[2],S[6],S[10],S[14],S[3],S[7],S[11],S[15]],content:{uri:O(this._resource)?this._resource.url:void 0},geometricError:y}};Ox.prototype._createI3SDecoderTask=async function(o,A){let f=A.geometryData._parent._data,m=A.geometryData._parent._inverseRotationMatrix,C=0,E=0,x=0;O(f.obb)?(C=f.obb.center[0],E=f.obb.center[1],x=f.obb.center[2]):O(f.mbs)&&(C=f.mbs[0],E=f.mbs[1],x=f.mbs[2]);let y=Gt.fromRotationX(-Be.PI_OVER_TWO),I=new Gt;Gt.multiply(y,m,I);let v=Rt.fromDegrees(C,E,x),B=Ci.WGS84.cartographicToCartesian(v),Q={binaryData:A.geometryData._data,featureData:O(A.featureData)&&O(A.featureData[0])?A.featureData[0].data:void 0,schema:A.defaultGeometrySchema,bufferInfo:A.geometryData._geometryBufferInfo,ellipsoidRadiiSquare:Ci.WGS84.radiiSquared,url:A.url,geoidDataList:A.geometryData._dataProvider._geoidDataList,cartographicCenter:v,cartesianCenter:B,parentRotation:I},T=[];return o.scheduleTask(Q,T)};Ox.prototype._createContentURL=async function(){let o={scene:0,scenes:[{nodes:[0]}],nodes:[{name:"singleNode"}],meshes:[],buffers:[],bufferViews:[],accessors:[],materials:[],textures:[],images:[],samplers:[],asset:{version:"2.0"}},A=await this._dataProvider.getDecoderTaskProcessor(),f=[this._loadGeometryData()];this._dataProvider.legacyVersion16&&f.push(this._loadFeatureData());let m=this;return Promise.all(f).then(function(){let C=Promise.resolve();if(O(m._geometryData)&&m._geometryData.length>0){let E={geometryData:m._geometryData[0],featureData:m._featureData,defaultGeometrySchema:m._layer._data.store.defaultGeometrySchema,url:m._geometryData[0].resource.url,tile:m._tile},x=m._createI3SDecoderTask(A,E);if(!O(x))return;C=x.then(function(y){o=E.geometryData._generateGltf(y.meshData.nodesInScene,y.meshData.nodes,y.meshData.meshes,y.meshData.buffers,y.meshData.bufferViews,y.meshData.accessors),m._geometryData[0]._customAttributes=y.meshData._customAttributes})}return C.then(function(){let E=m._dataProvider._binarizeGltf(o),x=new Blob([E],{type:"application/binary"});return URL.createObjectURL(x)})})};Nx.prototype._hookedRequestContent=Nx.prototype.requestContent;Nx.prototype.requestContent=function(){if(!this.tileset._isI3STileSet)return this._hookedRequestContent();if(!this._isLoading)return this._isLoading=!0,this._i3sNode._createContentURL().then(o=>{if(!O(o)){this._isLoading=!1;return}return this._contentResource=new Cr({url:o}),this._hookedRequestContent()}).then(o=>(this._isLoading=!1,o))};function gbi(o,A,f,m,C,E){let x=f*(1-o)+m*o,y=C*(1-o)+E*o;return x*(1-A)+y*A}function KX(o,A,f,m){let C=o+A*f;return m[C]}function pbi(o,A,f){let m=f.nativeExtent,C=(o-m.west)/(m.east-m.west)*(f.width-1),E=(A-m.south)/(m.north-m.south)*(f.height-1),x=Math.floor(C),y=Math.floor(E);C-=x,E-=y;let I=x<f.width?x+1:x,v=y<f.height?y+1:y;y=f.height-1-y,v=f.height-1-v;let B=KX(x,y,f.width,f.buffer),Q=KX(I,y,f.width,f.buffer),T=KX(x,v,f.width,f.buffer),w=KX(I,v,f.width,f.buffer),S=gbi(C,E,B,Q,T,w);return S=S*f.scale+f.offset,S}Object.defineProperties(Nx.prototype,{i3sNode:{get:function(){return this._i3sNode}}});var Hee=Ox;function rv(o,A,f){this._dataProvider=o,O(A.href)||(A.href=`./layers/${f}`);let m=this._dataProvider.resource.getUrlComponent(),C="";m.match(/layers\/\d/)?C=`${m}`.replace(/\/+$/,""):C=`${m}`.replace(/\/?$/,"/").concat(`${A.href}`),this._version=A.store.version;let E=this._version.split(".");this._majorVersion=parseInt(E[0]),this._minorVersion=E.length>1?parseInt(E[1]):0,this._resource=new Cr({url:C}),this._resource.setQueryParameters(this._dataProvider.resource.queryParameters),this._resource.appendForwardSlash(),this._data=A,this._rootNode=void 0,this._nodePages={},this._nodePageFetches={},this._extent=void 0,this._tileset=void 0,this._geometryDefinitions=void 0,this._computeGeometryDefinitions(!0),this._computeExtent()}Object.defineProperties(rv.prototype,{resource:{get:function(){return this._resource}},rootNode:{get:function(){return this._rootNode}},tileset:{get:function(){return this._tileset}},data:{get:function(){return this._data}},version:{get:function(){return this._version}},majorVersion:{get:function(){return this._majorVersion}},minorVersion:{get:function(){return this._minorVersion}},legacyVersion16:{get:function(){if(O(this.version))return this.majorVersion<1||this.majorVersion===1&&this.minorVersion<=6}}});rv.prototype.load=async function(){if(this._data.spatialReference.wkid!==4326&&this._data.spatialReference.wkid!==4490)throw new ki(`Unsupported spatial reference: ${this._data.spatialReference.wkid}`);if(await this._dataProvider.loadGeoidData(),await this._loadRootNode(),await this._create3DTileset(),this._rootNode._tile=this._tileset._root,this._tileset._root._i3sNode=this._rootNode,this.legacyVersion16)return this._rootNode._loadChildren()};rv.prototype._computeGeometryDefinitions=function(o){if(this._geometryDefinitions=[],O(this._data.geometryDefinitions))for(let A=0;A<this._data.geometryDefinitions.length;A++){let f=[],m=this._data.geometryDefinitions[A].geometryBuffers;for(let C=0;C<m.length;C++){let E=m[C],x=[],y=!1;if(O(E.compressedAttributes)&&o){y=!0;let I=E.compressedAttributes.attributes;for(let v=0;v<I.length;v++)x.push(I[v])}else for(let I in E)I!=="offset"&&x.push(I);f.push({compressed:y,attributes:x,index:m.indexOf(E)})}f.sort(function(C,E){return C.compressed&&!E.compressed?-1:!C.compressed&&E.compressed?1:C.attributes.length-E.attributes.length}),this._geometryDefinitions.push(f)}};rv.prototype._findBestGeometryBuffers=function(o,A){let f=this._geometryDefinitions[o];if(O(f))for(let m=0;m<f.length;++m){let C=f[m],E=!1,x=C.attributes;for(let y=0;y<A.length;y++)if(!x.includes(A[y])){E=!0;break}if(!E)return{bufferIndex:C.index,definition:f,geometryBufferInfo:C}}return 0};rv.prototype._loadRootNode=function(){if(O(this._data.nodePages)){let o=0;O(this._data.nodePages.rootIndex)&&(o=this._data.nodePages.rootIndex),this._rootNode=new Hee(this,o,!0)}else this._rootNode=new Hee(this,this._data.store.rootNode,!0);return this._rootNode.load()};rv.prototype._getNodeInNodePages=function(o){let A=Math.floor(o/this._data.nodePages.nodesPerPage),f=o%this._data.nodePages.nodesPerPage,m=this;return this._loadNodePage(A).then(function(){return m._nodePages[A][f]})};rv._fetchJson=function(o){return o.fetchJson()};rv.prototype._loadNodePage=function(o){let A=this;if(!O(this._nodePageFetches[o])){let f=this.resource.getDerivedResource({url:`nodepages/${o}/`}),m=rv._fetchJson(f).then(function(C){return O(C.error)&&C.error.code!==200?Promise.reject(C.error):(A._nodePages[o]=C.nodes,C)});this._nodePageFetches[o]=m}return this._nodePageFetches[o]};rv.prototype._computeExtent=function(){O(this._data.fullExtent)?this._extent=gi.fromDegrees(this._data.fullExtent.xmin,this._data.fullExtent.ymin,this._data.fullExtent.xmax,this._data.fullExtent.ymax):O(this._data.store.extent)&&(this._extent=gi.fromDegrees(this._data.store.extent[0],this._data.store.extent[1],this._data.store.extent[2],this._data.store.extent[3]))};rv.prototype._create3DTileset=async function(){let o={asset:{version:"1.0"},geometricError:Number.MAX_VALUE,root:this._rootNode._create3DTileDefinition()},A=new Blob([JSON.stringify(o)],{type:"application/json"}),f=URL.createObjectURL(A),m={};if(O(this._dataProvider._cesium3dTilesetOptions))for(let C in this._dataProvider._cesium3dTilesetOptions)this._dataProvider._cesium3dTilesetOptions.hasOwnProperty(C)&&(m[C]=this._dataProvider._cesium3dTilesetOptions[C]);this._tileset=await _f.fromUrl(f,m),this._tileset.show=this._dataProvider.show,this._tileset._isI3STileSet=!0,this._tileset.tileUnload.addEventListener(function(C){C._i3sNode._clearGeometryData(),URL.revokeObjectURL(C._contentResource._url),C._contentResource=C._i3sNode.resource}),this._tileset.tileVisible.addEventListener(function(C){O(C._i3sNode)&&C._i3sNode._loadChildren()})};var H4=rv,mbi=Dc(ayt(),1);function Yf(o){o=oe(o,oe.EMPTY_OBJECT),this._name=o.name,this._show=oe(o.show,!0),this._geoidTiledTerrainProvider=o.geoidTiledTerrainProvider,this._traceFetches=oe(o.traceFetches,!1),this._cesium3dTilesetOptions=oe(o.cesium3dTilesetOptions,oe.EMPTY_OBJECT),this._layers=[],this._data=void 0,this._extent=void 0,this._geoidDataPromise=void 0,this._geoidDataList=void 0,this._decoderTaskProcessor=void 0,this._taskProcessorReadyPromise=void 0,O(o.url)&&(ii("I3SDataProvider options.url","I3SDataProvider constructor parameter options.url was deprecated in CesiumJS 1.104. It will be removed in 1.107. Use I3SDataProvider.fromUrl instead."),this._readyPromise=void 0,this._ready=!1,this._resource=Cr.createIfNeeded(o.url),this._load())}Object.defineProperties(Yf.prototype,{name:{get:function(){return this._name}},show:{get:function(){return this._show},set:function(o){this._show=o;for(let A=0;A<this._layers.length;A++)O(this._layers[A]._tileset)&&(this._layers[A]._tileset.show=this._show)}},traceFetches:{get:function(){return this._traceFetches},set:function(o){this._traceFetches=o}},geoidTiledTerrainProvider:{get:function(){return this._geoidTiledTerrainProvider}},layers:{get:function(){return this._layers}},data:{get:function(){return this._data}},extent:{get:function(){return this._extent}},readyPromise:{get:function(){return ii("I3SDataProvider.readyPromise","I3SDataProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Use I3SDataProvider.fromUrl instead."),this._readyPromise}},ready:{get:function(){return ii("I3SDataProvider.ready","I3SDataProvider.ready was deprecated in CesiumJS 1.104. It will be removed in 1.107. Use I3SDataProvider.fromUrl instead."),this._ready}},resource:{get:function(){return this._resource}}});Yf.prototype.destroy=function(){for(let o=0;o<this._layers.length;o++)O(this._layers[o]._tileset)&&this._layers[o]._tileset.destroy();return Ar(this)};Yf.prototype.isDestroyed=function(){return!1};Yf.prototype.update=function(o){for(let A=0;A<this._layers.length;A++)O(this._layers[A]._tileset)&&this._layers[A]._tileset.update(o)};Yf.prototype.prePassesUpdate=function(o){for(let A=0;A<this._layers.length;A++)O(this._layers[A]._tileset)&&this._layers[A]._tileset.prePassesUpdate(o)};Yf.prototype.postPassesUpdate=function(o){for(let A=0;A<this._layers.length;A++)O(this._layers[A]._tileset)&&this._layers[A]._tileset.postPassesUpdate(o)};Yf.prototype.updateForPass=function(o,A){for(let f=0;f<this._layers.length;f++)O(this._layers[f]._tileset)&&this._layers[f]._tileset.updateForPass(o,A)};Yf.fromUrl=async function(o,A){A=oe(A,oe.EMPTY_OBJECT);let f=Cr.createIfNeeded(o),m=await Yf.loadJson(f),C=new Yf(A);if(C._resource=f,C._data=m,O(m.layers))for(let x=0;x<m.layers.length;x++){let y=new H4(C,m.layers[x],x);C._layers.push(y)}else{let x=new H4(C,m,m.id);C._layers.push(x)}C._computeExtent();let E=[];for(let x=0;x<C._layers.length;x++)E.push(C._layers[x].load());return await Promise.all(E),C._ready=!0,C._readyPromise=Promise.resolve(C),C};Yf.prototype._load=function(){let o=this;return this._readyPromise=Yf.loadJson(this._resource,this._traceFetches).then(function(A){if(o._data=A,O(A.layers))for(let m=0;m<A.layers.length;m++){let C=new H4(o,A.layers[m],m);o._layers.push(C)}else{let m=new H4(o,A,A.id);o._layers.push(m)}o._computeExtent();let f=[];for(let m=0;m<o._layers.length;m++)f.push(o._layers[m].load());return Promise.all(f).then(function(){return o._ready=!0,o})}),this._readyPromise};Yf._fetchJson=function(o){return o.fetchJson()};Yf.loadJson=async function(o,A){A&&console.log("I3S FETCH:",o.url);let f=await Yf._fetchJson(o);if(O(f.error)){if(console.error("Failed to fetch I3S ",o.url),O(f.error.message)&&console.error(f.error.message),O(f.error.details))for(let m=0;m<f.error.details.length;m++)console.log(f.error.details[m]);throw new ki(f.error)}return f};Yf.prototype._loadBinary=function(o){return this._traceFetches&&console.log("I3S FETCH:",o.url),o.fetchArrayBuffer()};Yf.prototype._binarizeGltf=function(o){let A=new TextEncoder().encode(JSON.stringify(o)),f=new Uint8Array(A.byteLength+20),m={magic:new Uint8Array(f.buffer,0,4),version:new Uint32Array(f.buffer,4,1),length:new Uint32Array(f.buffer,8,1),chunkLength:new Uint32Array(f.buffer,12,1),chunkType:new Uint32Array(f.buffer,16,1),chunkData:new Uint8Array(f.buffer,20,A.byteLength)};return m.magic[0]="g".charCodeAt(),m.magic[1]="l".charCodeAt(),m.magic[2]="T".charCodeAt(),m.magic[3]="F".charCodeAt(),m.version[0]=2,m.length[0]=f.byteLength,m.chunkLength[0]=A.byteLength,m.chunkType[0]=1313821514,m.chunkData.set(A),f};Yf.prototype.getDecoderTaskProcessor=function(){if(O(this._taskProcessorReadyPromise))return this._taskProcessorReadyPromise;if(!O(this._decoderTaskProcessor)){let o=new hd("decodeI3S");this._taskProcessorReadyPromise=o.initWebAssemblyModule({modulePath:"ThirdParty/Workers/draco_decoder_nodejs.js",wasmBinaryFile:"ThirdParty/draco_decoder.wasm"}).then(()=>o),this._decoderTaskProcessor=o}return this._taskProcessorReadyPromise};function Cbi(o,A){return xbi(o,A)}var Ebi=new rt;function xbi(o,A){let f=o.tilingScheme,m=[],C={},E=o._lodCount,x=Rt.fromRadians(A.west,A.north),y=Rt.fromRadians(A.east,A.south),I=f.positionToTileXY(x,E),v=f.positionToTileXY(y,E);for(let Q=I.x;Q<=v.x;Q++)for(let T=I.y;T<=v.y;T++){let w=rt.fromElements(Q,T,Ebi),S=w.toString();if(!C.hasOwnProperty(S)){let D={x:w.x,y:w.y,level:E,tilingScheme:f,terrainProvider:o,positions:[]};C[S]=D,m.push(D)}}let B=[];for(let Q=0;Q<m.length;++Q){let T=m[Q],w=T.terrainProvider.requestTileGeometry(T.x,T.y,T.level);B.push(w)}return Promise.all(B).then(function(Q){let T=[];for(let w=0;w<Q.length;w++){let S={tilingScheme:f,x:m[w].x,y:m[w].y,level:m[w].level},D=Q[w],R="Geographic";f._projection instanceof ec&&(R="WebMercator");let P={projectionType:R,projection:f._projection,nativeExtent:f.tileXYToNativeRectangle(S.x,S.y,S.level),height:D._height,width:D._width,scale:D._structure.heightScale,offset:D._structure.heightOffset};if(D._encoding===HP.LERC){let M=mbi.default.decode(D._buffer);P.buffer=M.pixels[0]}else P.buffer=D._buffer;T.push(P)}return T})}async function ybi(o){let A=o._geoidTiledTerrainProvider;if(!O(A)){console.log("No Geoid Terrain service provided - no geoid conversion will be performed.");return}try{let f=await Cbi(A,o._extent);o._geoidDataList=f}catch{console.log("Error retrieving Geoid Terrain tiles - no geoid conversion will be performed.")}}Yf.prototype.loadGeoidData=async function(){return O(this._geoidDataPromise)?this._geoidDataPromise:(this._geoidDataPromise=ybi(this),this._geoidDataPromise)};Yf.prototype._computeExtent=function(){let o;for(let A=0;A<this._layers.length;A++)if(O(this._layers[A]._extent)){let f=this._layers[A]._extent;O(o)?gi.union(o,f,o):o=gi.clone(f)}this._extent=o};var qne=Yf,cnt=Object.freeze({UNLOADED:0,RECEIVING:1,RECEIVED:2,LOADED:3,FAILED:4,UNAVAILABLE:5});function Xne(o,A){this.spatialNode=o,this.keyframe=A,this.state=cnt.UNLOADED,this.metadatas=[],this.megatextureIndex=-1,this.priority=-Number.MAX_VALUE,this.highPriorityFrameNumber=-1}Xne.priorityComparator=function(o,A){return o.priority-A.priority};Xne.searchComparator=function(o,A){return o.keyframe-A.keyframe};Xne.LoadState=cnt;var SA=Xne;function hnt(){}Object.defineProperties(hnt.prototype,{color:{get:Ai.throwInstantiationError},intensity:{get:Ai.throwInstantiationError}});var dnt=hnt,Ibi=/\/$/,fnt=new Qa('© <a href="https://www.mapbox.com/about/maps/">Mapbox</a> © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> <strong><a href="https://www.mapbox.com/map-feedback/">Improve this map</a></strong>');function S8(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.styleId,f=o.accessToken;this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let m=Cr.createIfNeeded(oe(o.url,"https://api.mapbox.com/styles/v1/"));this._styleId=A,this._accessToken=f;let C=oe(o.tilesize,512);this._tilesize=C;let E=oe(o.username,"mapbox");this._username=E;let x=O(o.scaleFactor)?"@2x":"",y=m.getUrlComponent();Ibi.test(y)||(y+="/"),y+=`${this._username}/${A}/tiles/${this._tilesize}/{z}/{x}/{y}${x}`,m.url=y,m.setQueryParameters({access_token:f});let I;O(o.credit)?(I=o.credit,typeof I=="string"&&(I=new Qa(I))):I=fnt,this._resource=m,this._imageryProvider=new Hx({url:m,credit:I,ellipsoid:o.ellipsoid,minimumLevel:o.minimumLevel,maximumLevel:o.maximumLevel,rectangle:o.rectangle}),this._ready=!0,this._readyPromise=Promise.resolve(!0)}Object.defineProperties(S8.prototype,{url:{get:function(){return this._imageryProvider.url}},ready:{get:function(){return ii("MapboxStyleImageryProvider.ready","MapboxStyleImageryProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._imageryProvider.ready}},readyPromise:{get:function(){return ii("MapboxStyleImageryProvider.readyPromise","MapboxStyleImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._imageryProvider.readyPromise}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._imageryProvider.errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},proxy:{get:function(){return this._imageryProvider.proxy}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}},defaultAlpha:{get:function(){return ii("MapboxStyleImageryProvider.defaultAlpha","MapboxStyleImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha},set:function(o){ii("MapboxStyleImageryProvider.defaultAlpha","MapboxStyleImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha=o}},defaultNightAlpha:{get:function(){return ii("MapboxStyleImageryProvider.defaultNightAlpha","MapboxStyleImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha},set:function(o){ii("MapboxStyleImageryProvider.defaultNightAlpha","MapboxStyleImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha=o}},defaultDayAlpha:{get:function(){return ii("MapboxStyleImageryProvider.defaultDayAlpha","MapboxStyleImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha},set:function(o){ii("MapboxStyleImageryProvider.defaultDayAlpha","MapboxStyleImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha=o}},defaultBrightness:{get:function(){return ii("MapboxStyleImageryProvider.defaultBrightness","MapboxStyleImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness},set:function(o){ii("MapboxStyleImageryProvider.defaultBrightness","MapboxStyleImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness=o}},defaultContrast:{get:function(){return ii("MapboxStyleImageryProvider.defaultContrast","MapboxStyleImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast},set:function(o){ii("MapboxStyleImageryProvider.defaultContrast","MapboxStyleImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast=o}},defaultHue:{get:function(){return ii("MapboxStyleImageryProvider.defaultHue","MapboxStyleImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue},set:function(o){ii("MapboxStyleImageryProvider.defaultHue","MapboxStyleImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue=o}},defaultSaturation:{get:function(){return ii("MapboxStyleImageryProvider.defaultSaturation","MapboxStyleImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation},set:function(o){ii("MapboxStyleImageryProvider.defaultSaturation","MapboxStyleImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation=o}},defaultGamma:{get:function(){return ii("MapboxStyleImageryProvider.defaultGamma","MapboxStyleImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma},set:function(o){ii("MapboxStyleImageryProvider.defaultGamma","MapboxStyleImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma=o}},defaultMinificationFilter:{get:function(){return ii("MapboxStyleImageryProvider.defaultMinificationFilter","MapboxStyleImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter},set:function(o){ii("MapboxStyleImageryProvider.defaultMinificationFilter","MapboxStyleImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter=o}},defaultMagnificationFilter:{get:function(){return ii("MapboxStyleImageryProvider.defaultMagnificationFilter","MapboxStyleImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter},set:function(o){ii("MapboxStyleImageryProvider.defaultMagnificationFilter","MapboxStyleImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter=o}}});S8.prototype.getTileCredits=function(o,A,f){};S8.prototype.requestImage=function(o,A,f,m){return this._imageryProvider.requestImage(o,A,f,m)};S8.prototype.pickFeatures=function(o,A,f,m,C){return this._imageryProvider.pickFeatures(o,A,f,m,C)};S8._defaultCredit=fnt;var gnt=S8;function BR(o,A,f,m,C){m===ya.UNSIGNED_SHORT&&(m=ya.FLOAT32);let E=o.floatingPointTexture;if(m===ya.FLOAT32&&!E)throw new ki("Floating point texture not supported");let x;m===ya.FLOAT32||m===ya.FLOAT64?x=$r.FLOAT:m===ya.UINT8&&(x=$r.UNSIGNED_BYTE);let y;f===1?y=o.webgl2?rn.RED:rn.LUMINANCE:f===2?y=o.webgl2?rn.RG:rn.LUMINANCE_ALPHA:f===3?y=rn.RGB:f===4&&(y=rn.RGBA);let I=512*1024*1024,v=128*1024*1024;C=Math.min(oe(C,v),I);let B=Zn.maximumTextureSize,Q=ya.getSizeInBytes(m),T=Math.floor(C/(f*Q)),w=Math.min(B,Be.previousPowerOfTwo(Math.floor(Math.sqrt(T)))),S=Math.ceil(Math.sqrt(A.x)),D=Math.ceil(A.z/S),R=S*A.x,P=D*A.y,M=Math.floor(w/R),L=Math.floor(w/P);if(M===0||L===0)throw new ki("Tileset is too large to fit into megatexture");this.channelCount=f,this.componentType=m,this.voxelCountPerTile=Z.clone(A,new Z),this.maximumTileCount=M*L,this.regionCountPerMegatexture=new rt(M,L),this.voxelCountPerRegion=new rt(R,P),this.sliceCountPerRegion=new rt(S,D),this.voxelSizeUv=new rt(1/w,1/w),this.sliceSizeUv=new rt(A.x/w,A.y/w),this.regionSizeUv=new rt(R/w,P/w),this.texture=new Nn({context:o,pixelFormat:y,pixelDatatype:x,flipY:!1,width:w,height:w,sampler:new Oa({wrapS:Vo.CLAMP_TO_EDGE,wrapT:Vo.CLAMP_TO_EDGE,minificationFilter:Ba.LINEAR,magnificationFilter:Wu.LINEAR})});let F=ya.toComponentDatatype(m);this.tileVoxelDataTemp=Ft.createTypedArray(F,R*P*f),this.nodes=new Array(this.maximumTileCount);for(let k=0;k<this.maximumTileCount;k++)this.nodes[k]=new _bi(k);for(let k=0;k<this.maximumTileCount;k++){let N=this.nodes[k];N.previousNode=k>0?this.nodes[k-1]:void 0,N.nextNode=k<this.maximumTileCount-1?this.nodes[k+1]:void 0}this.occupiedList=void 0,this.emptyList=this.nodes[0],this.occupiedCount=0}function _bi(o){this.index=o,this.nextNode=void 0,this.previousNode=void 0}BR.prototype.add=function(o){if(this.isFull())throw new Ai("Trying to add when there are no empty spots");let A=this.emptyList;this.emptyList=this.emptyList.nextNode,O(this.emptyList)&&(this.emptyList.previousNode=void 0),A.nextNode=this.occupiedList,O(A.nextNode)&&(A.nextNode.previousNode=A),this.occupiedList=A;let f=A.index;return this.writeDataToTexture(f,o),this.occupiedCount++,f};BR.prototype.remove=function(o){if(o<0||o>=this.maximumTileCount)throw new Ai("Megatexture index out of bounds");let A=this.nodes[o];O(A.previousNode)&&(A.previousNode.nextNode=A.nextNode),O(A.nextNode)&&(A.nextNode.previousNode=A.previousNode),A.nextNode=this.emptyList,O(A.nextNode)&&(A.nextNode.previousNode=A),A.previousNode=void 0,this.emptyList=A,this.occupiedCount--};BR.prototype.isFull=function(){return this.emptyList===void 0};BR.getApproximateTextureMemoryByteLength=function(o,A,f,m){m===ya.UNSIGNED_SHORT&&(m=ya.FLOAT32);let C=ya.getSizeInBytes(m),E=o*A.x*A.y*A.z,x=Math.ceil(Math.sqrt(A.z)),y=Math.ceil(A.z/x),I=x*A.x,v=y*A.y,B=Be.previousPowerOfTwo(Math.floor(Math.sqrt(E)));for(;;){let Q=Math.floor(B/I),T=Math.floor(B/v);if(Q*T>=o)break;B*=2}return B*B*f*C};BR.prototype.writeDataToTexture=function(o,A){let f=A.constructor===Uint16Array?new Float32Array(A):A,m=this.voxelCountPerTile,C=this.sliceCountPerRegion,E=this.voxelCountPerRegion,x=this.channelCount,y=this.tileVoxelDataTemp;for(let S=0;S<m.z;S++){let D=S%C.x*m.x,R=Math.floor(S/C.x)*m.y;for(let P=0;P<m.y;P++)for(let M=0;M<m.x;M++){let L=S*m.y*m.x+P*m.x+M,F=(R+P)*E.x+(D+M);for(let k=0;k<x;k++)y[F*x+k]=f[L*x+k]}}let I=this.regionCountPerMegatexture,v=E.x,B=E.y,Q=o%I.x*E.x,T=Math.floor(o/I.x)*E.y,w={source:{arrayBufferView:y,width:v,height:B},xOffset:Q,yOffset:T};this.texture.copyFrom(w)};BR.prototype.isDestroyed=function(){return!1};BR.prototype.destroy=function(){return this.texture=this.texture&&this.texture.destroy(),Ar(this)};var Zne=BR;function TQe(o){}TQe.prototype.isReady=function(){return!0};TQe.prototype.shouldDiscardImage=function(o){return!1};var pnt=TQe,vbi=new Qa("MapQuest, Open Street Map and contributors, CC-BY-SA");function ZZ(o){o=oe(o,oe.EMPTY_OBJECT);let A=Cr.createIfNeeded(oe(o.url,"https://a.tile.openstreetmap.org/"));A.appendForwardSlash(),A.url+=`{z}/{x}/{y}.${oe(o.fileExtension,"png")}`;let f=new Zf({ellipsoid:o.ellipsoid}),m=256,C=256,E=oe(o.minimumLevel,0),x=o.maximumLevel,y=oe(o.rectangle,f.rectangle),I=f.positionToTileXY(gi.southwest(y),E),v=f.positionToTileXY(gi.northeast(y),E),B=(Math.abs(v.x-I.x)+1)*(Math.abs(v.y-I.y)+1),Q=oe(o.credit,vbi);typeof Q=="string"&&(Q=new Qa(Q)),Hx.call(this,{url:A,credit:Q,tilingScheme:f,tileWidth:m,tileHeight:C,minimumLevel:E,maximumLevel:x,rectangle:y})}O(Object.create)&&(ZZ.prototype=Object.create(Hx.prototype),ZZ.prototype.constructor=ZZ);var fN=ZZ;function mnt(o){o=oe(o,oe.EMPTY_OBJECT),this.time=oe(o.time,0),this.minimum=oe(o.minimum,0),this.maximum=oe(o.maximum,50),this._complete=!1}Object.defineProperties(mnt.prototype,{complete:{get:function(){return this._complete}}});var D8=mnt;function Cnt(o){}Cnt.prototype.emit=function(o){Ai.throwInstantiationError()};var Ent=Cnt,Bbi=Dc(r0e(),1),wbi={modifyFragmentShader:function(o){return o=_r.replaceMain(o,"czm_splitter_main"),o+=`uniform float czm_splitDirection; void main() { #ifndef SHADOW_MAP if (czm_splitDirection < 0.0 && gl_FragCoord.x > czm_splitPosition) discard; if (czm_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard; #endif czm_splitter_main(); } `,o},addUniforms:function(o,A){A.czm_splitDirection=function(){return o.splitDirection}}},$ne=wbi,zF={NEEDS_DECODE:0,DECODING:1,READY:2,FAILED:3};function JJ(o){this._parsedContent=void 0,this._drawCommand=void 0,this._isTranslucent=!1,this._styleTranslucent=!1,this._constantColor=Ve.clone(Ve.DARKGRAY),this._highlightColor=Ve.clone(Ve.WHITE),this._pointSize=1,this._rtcCenter=void 0,this._quantizedVolumeScale=void 0,this._quantizedVolumeOffset=void 0,this._styleableShaderAttributes=void 0,this._isQuantized=!1,this._isOctEncoded16P=!1,this._isRGB565=!1,this._hasColors=!1,this._hasNormals=!1,this._hasBatchIds=!1,this._decodingState=zF.READY,this._dequantizeInShader=!0,this._isQuantizedDraco=!1,this._isOctEncodedDraco=!1,this._quantizedRange=0,this._octEncodedRange=0,this.backFaceCulling=!1,this._backFaceCulling=!1,this.normalShading=!0,this._normalShading=!0,this._opaqueRenderState=void 0,this._translucentRenderState=void 0,this._mode=void 0,this._ready=!1,this._pointsLength=0,this._geometryByteLength=0,this._vertexShaderLoaded=o.vertexShaderLoaded,this._fragmentShaderLoaded=o.fragmentShaderLoaded,this._uniformMapLoaded=o.uniformMapLoaded,this._batchTableLoaded=o.batchTableLoaded,this._pickIdLoaded=o.pickIdLoaded,this._opaquePass=oe(o.opaquePass,Yi.OPAQUE),this._cull=oe(o.cull,!0),this.style=void 0,this._style=void 0,this.styleDirty=!1,this.modelMatrix=Re.clone(Re.IDENTITY),this._modelMatrix=Re.clone(Re.IDENTITY),this.time=0,this.shadows=Ns.ENABLED,this._boundingSphere=void 0,this.clippingPlanes=void 0,this.isClipped=!1,this.clippingPlanesDirty=!1,this.clippingPlanesOriginMatrix=void 0,this.attenuation=!1,this._attenuation=!1,this.geometricError=0,this.geometricErrorScale=1,this.maximumAttenuation=this._pointSize,this.splitDirection=oe(o.splitDirection,sT.NONE),this._splittingEnabled=!1,this._error=void 0,bbi(this,o)}Object.defineProperties(JJ.prototype,{pointsLength:{get:function(){return this._pointsLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},ready:{get:function(){return this._ready}},color:{get:function(){return Ve.clone(this._highlightColor)},set:function(o){this._highlightColor=Ve.clone(o,this._highlightColor)}},boundingSphere:{get:function(){if(O(this._drawCommand))return this._drawCommand.boundingVolume},set:function(o){this._boundingSphere=hi.clone(o,this._boundingSphere)}}});function bbi(o,A){let f=mre.parse(A.arrayBuffer,A.byteOffset);if(o._parsedContent=f,o._rtcCenter=f.rtcCenter,o._hasNormals=f.hasNormals,o._hasColors=f.hasColors,o._hasBatchIds=f.hasBatchIds,o._isTranslucent=f.isTranslucent,!f.hasBatchIds&&O(f.batchTableBinary)&&(f.styleableProperties=IY.getBinaryProperties(f.pointsLength,f.batchTableJson,f.batchTableBinary)),O(f.draco)){let y=f.draco;o._decodingState=zF.NEEDS_DECODE,y.dequantizeInShader=o._dequantizeInShader}let m=f.positions;O(m)&&(o._isQuantized=m.isQuantized,o._quantizedVolumeScale=m.quantizedVolumeScale,o._quantizedVolumeOffset=m.quantizedVolumeOffset,o._quantizedRange=m.quantizedRange);let C=f.normals;O(C)&&(o._isOctEncoded16P=C.octEncoded);let E=f.colors;O(E)&&(O(E.constantColor)&&(o._constantColor=Ve.clone(E.constantColor,o._constantColor),o._hasColors=!1),o._isRGB565=E.isRGB565);let x=f.batchIds;O(f.batchIds)&&(x.name="BATCH_ID",x.semantic="BATCH_ID",x.setIndex=void 0),f.hasBatchIds&&o._batchTableLoaded(f.batchLength,f.batchTableJson,f.batchTableBinary),o._pointsLength=f.pointsLength}var Qbi=new Z,Sbi=new Z,Dbi=new Z,J8e,WX;function Tbi(o){if(!O(WX)){J8e=new Bbi.default(0),WX=new Array(o);for(let A=0;A<o;++A)WX[A]=J8e.random()}return WX}function Mbi(o){let A=o.length/3,f=Math.min(A,20),m=Tbi(20),C=Number.MAX_VALUE,E=-Number.MAX_VALUE,x=Z.fromElements(C,C,C,Qbi),y=Z.fromElements(E,E,E,Sbi);for(let v=0;v<f;++v){let B=Math.floor(m[v]*A),Q=Z.unpack(o,B*3,Dbi);Z.minimumByComponent(x,Q,x),Z.maximumByComponent(y,Q,y)}let I=hi.fromCornerPoints(x,y);return I.radius+=Be.EPSILON2,I}function K8e(o,A){let f=Ft.fromTypedArray(o);return f===Ft.INT||f===Ft.UNSIGNED_INT||f===Ft.DOUBLE?($o("Cast pnts property to floats",`Point cloud property "${A}" will be cast to a float array because INT, UNSIGNED_INT, and DOUBLE are not valid WebGL vertex attribute types. Some precision may be lost.`),new Float32Array(o)):o}var Pbi=new zt,Rbi=new zt,Lbi=new Ve,xnt=0,Vee=1,qge=2,ynt=3,Fbi=4,wde=new Re,Nbi=new Re;function kbi(o,A){let f=A.context,m=o._parsedContent,C=o._pointsLength,E=m.positions,x=m.colors,y=m.normals,I=m.batchIds,v=m.styleableProperties,B=O(v),Q=o._isQuantized,T=o._isQuantizedDraco,w=o._isOctEncoded16P,S=o._isOctEncodedDraco,D=o._quantizedRange,R=o._octEncodedRange,P=o._isRGB565,M=o._isTranslucent,L=o._hasColors,F=o._hasNormals,k=o._hasBatchIds,N,G,J=[],K={};if(o._styleableShaderAttributes=K,B){let he=Fbi;for(let ge in v)if(v.hasOwnProperty(ge)){let fe=v[ge],ae=K8e(fe.typedArray,ge);N=fe.componentCount,G=Ft.fromTypedArray(ae);let U=Wn.createVertexBuffer({context:f,typedArray:ae,usage:Gr.STATIC_DRAW});o._geometryByteLength+=U.sizeInBytes;let W={index:he,vertexBuffer:U,componentsPerAttribute:N,componentDatatype:G,normalize:!1,offsetInBytes:0,strideInBytes:0};J.push(W),K[ge]={location:he,componentCount:N},++he}}let X=Wn.createVertexBuffer({context:f,typedArray:E.typedArray,usage:Gr.STATIC_DRAW});o._geometryByteLength+=X.sizeInBytes;let q;L&&(q=Wn.createVertexBuffer({context:f,typedArray:x.typedArray,usage:Gr.STATIC_DRAW}),o._geometryByteLength+=q.sizeInBytes);let ee;F&&(ee=Wn.createVertexBuffer({context:f,typedArray:y.typedArray,usage:Gr.STATIC_DRAW}),o._geometryByteLength+=ee.sizeInBytes);let ie;k&&(I.typedArray=K8e(I.typedArray,"batchIds"),ie=Wn.createVertexBuffer({context:f,typedArray:I.typedArray,usage:Gr.STATIC_DRAW}),o._geometryByteLength+=ie.sizeInBytes);let H=[];if(Q?G=Ft.UNSIGNED_SHORT:T?G=D<=255?Ft.UNSIGNED_BYTE:Ft.UNSIGNED_SHORT:G=Ft.FLOAT,H.push({index:xnt,vertexBuffer:X,componentsPerAttribute:3,componentDatatype:G,normalize:!1,offsetInBytes:0,strideInBytes:0}),o._cull&&(Q||T?o._boundingSphere=hi.fromCornerPoints(Z.ZERO,o._quantizedVolumeScale):o._boundingSphere=Mbi(E.typedArray)),L)if(P)H.push({index:Vee,vertexBuffer:q,componentsPerAttribute:1,componentDatatype:Ft.UNSIGNED_SHORT,normalize:!1,offsetInBytes:0,strideInBytes:0});else{let he=M?4:3;H.push({index:Vee,vertexBuffer:q,componentsPerAttribute:he,componentDatatype:Ft.UNSIGNED_BYTE,normalize:!0,offsetInBytes:0,strideInBytes:0})}F&&(w?(N=2,G=Ft.UNSIGNED_BYTE):S?(N=2,G=R<=255?Ft.UNSIGNED_BYTE:Ft.UNSIGNED_SHORT):(N=3,G=Ft.FLOAT),H.push({index:qge,vertexBuffer:ee,componentsPerAttribute:N,componentDatatype:G,normalize:!1,offsetInBytes:0,strideInBytes:0})),k&&H.push({index:ynt,vertexBuffer:ie,componentsPerAttribute:1,componentDatatype:Ft.fromTypedArray(I.typedArray),normalize:!1,offsetInBytes:0,strideInBytes:0}),B&&(H=H.concat(J));let le=new hu({context:f,attributes:H}),ue={depthTest:{enabled:!0}},Ae={depthTest:{enabled:!0},depthMask:!1,blending:Nl.ALPHA_BLEND};o._opaquePass===Yi.CESIUM_3D_TILE&&(ue.stencilTest=ia.setCesium3DTileBit(),ue.stencilMask=ia.CESIUM_3D_TILE_MASK,Ae.stencilTest=ia.setCesium3DTileBit(),Ae.stencilMask=ia.CESIUM_3D_TILE_MASK),o._opaqueRenderState=Xr.fromCache(ue),o._translucentRenderState=Xr.fromCache(Ae),o._drawCommand=new fn({boundingVolume:new hi,cull:o._cull,modelMatrix:new Re,primitiveType:on.POINTS,vertexArray:le,count:C,shaderProgram:void 0,uniformMap:void 0,renderState:M?o._translucentRenderState:o._opaqueRenderState,pass:M?Yi.TRANSLUCENT:o._opaquePass,owner:o,castShadows:!1,receiveShadows:!1,pickId:o._pickIdLoaded()})}function Obi(o,A){let f=A.context,m=o._isQuantized,C=o._isQuantizedDraco,E=o._isOctEncodedDraco,x={u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier:function(){let y=Pbi;if(y.x=o._attenuation?o.maximumAttenuation:o._pointSize,y.x*=A.pixelRatio,y.y=o.time,o._attenuation){let I=A.camera.frustum,v;A.mode===ni.SCENE2D||I instanceof us?v=Number.POSITIVE_INFINITY:v=f.drawingBufferHeight/A.camera.frustum.sseDenominator,y.z=o.geometricError*o.geometricErrorScale,y.w=v}return y},u_highlightColor:function(){return o._highlightColor},u_constantColor:function(){return o._constantColor},u_clippingPlanes:function(){let y=o.clippingPlanes;return o.isClipped?y.texture:f.defaultTexture},u_clippingPlanesEdgeStyle:function(){let y=o.clippingPlanes;if(!O(y))return Ve.TRANSPARENT;let I=Ve.clone(y.edgeColor,Lbi);return I.alpha=y.edgeWidth,I},u_clippingPlanesMatrix:function(){let y=o.clippingPlanes;if(!O(y))return Re.IDENTITY;let I=oe(o.clippingPlanesOriginMatrix,o._modelMatrix);Re.multiply(f.uniformState.view3D,I,wde);let v=Re.multiply(wde,y.modelMatrix,wde);return Re.inverseTranspose(v,Nbi)}};$ne.addUniforms(o,x),(m||C||E)&&(x=So(x,{u_quantizedVolumeScaleAndOctEncodedRange:function(){let y=Rbi;if(O(o._quantizedVolumeScale)){let I=Z.clone(o._quantizedVolumeScale,y);Z.divideByScalar(I,o._quantizedRange,y)}return y.w=o._octEncodedRange,y}})),O(o._uniformMapLoaded)&&(x=o._uniformMapLoaded(x)),o._drawCommand.uniformMap=x}function bde(o,A){let f=/czm_3dtiles_property_(\d+)/g,m=f.exec(o);for(;m!==null;){let C=parseInt(m[1]);A.indexOf(C)===-1&&A.push(C),m=f.exec(o)}}function Qde(o,A){o=o.slice(o.indexOf(` `));let f=/czm_3dtiles_builtin_property_(\w+)/g,m=f.exec(o);for(;m!==null;){let C=m[1];A.indexOf(C)===-1&&A.push(C),m=f.exec(o)}}function Sde(o,A){let f=o.numberOfAttributes;for(let m=0;m<f;++m){let C=o.getAttribute(m);if(C.index===A)return C}}var Ubi={POSITION:"czm_3dtiles_builtin_property_POSITION",POSITION_ABSOLUTE:"czm_3dtiles_builtin_property_POSITION_ABSOLUTE",COLOR:"czm_3dtiles_builtin_property_COLOR",NORMAL:"czm_3dtiles_builtin_property_NORMAL"};function Gbi(o,A,f){let m,C,E,x=A.context,y=O(f),I=o._isQuantized,v=o._isQuantizedDraco,B=o._isOctEncoded16P,Q=o._isOctEncodedDraco,T=o._isRGB565,w=o._isTranslucent,S=o._hasColors,D=o._hasNormals,R=o._hasBatchIds,P=o._backFaceCulling,M=o._normalShading,L=o._drawCommand.vertexArray,F=o.clippingPlanes,k=o._attenuation,N,G,J,K=w,X=Sn(Ubi),q={},ee=o._styleableShaderAttributes;for(C in ee)ee.hasOwnProperty(C)&&(E=ee[C],X[C]=`czm_3dtiles_property_${E.location}`,q[E.location]=E);if(y){let me={translucent:!1},Ce="(vec3 czm_3dtiles_builtin_property_POSITION, vec3 czm_3dtiles_builtin_property_POSITION_ABSOLUTE, vec4 czm_3dtiles_builtin_property_COLOR, vec3 czm_3dtiles_builtin_property_NORMAL)";N=f.getColorShaderFunction(`getColorFromStyle${Ce}`,X,me),G=f.getShowShaderFunction(`getShowFromStyle${Ce}`,X,me),J=f.getPointSizeShaderFunction(`getPointSizeFromStyle${Ce}`,X,me),O(N)&&me.translucent&&(K=!0)}o._styleTranslucent=K;let ie=O(N),H=O(G),le=O(J),ue=o.isClipped,Ae=[],he=[];ie&&(bde(N,Ae),Qde(N,he)),H&&(bde(G,Ae),Qde(G,he)),le&&(bde(J,Ae),Qde(J,he));let ge=he.indexOf("COLOR")>=0,fe=he.indexOf("NORMAL")>=0;if(fe&&!D)throw new ki("Style references the NORMAL semantic but the point cloud does not have normals");for(C in ee)if(ee.hasOwnProperty(C)){E=ee[C];let me=Ae.indexOf(E.location)>=0,Ce=Sde(L,E.location);Ce.enabled=me}let ae=S&&(!ie||ge);if(S){let me=Sde(L,Vee);me.enabled=ae}let U=D&&(M||P||fe);if(D){let me=Sde(L,qge);me.enabled=U}let W={a_position:xnt};ae&&(W.a_color=Vee),U&&(W.a_normal=qge),R&&(W.a_batchId=ynt);let Y="",z=Ae.length;for(m=0;m<z;++m){let me=Ae[m];E=q[me];let Ce=E.componentCount,Ie=`czm_3dtiles_property_${me}`,we;Ce===1?we="float":we=`vec${Ce}`,Y+=`in ${we} ${Ie}; `,W[Ie]=E.location}Obi(o,A);let re=`in vec3 a_position; out vec4 v_color; uniform vec4 u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier; uniform vec4 u_constantColor; uniform vec4 u_highlightColor; `;re+=`float u_pointSize; float tiles3d_tileset_time; `,k&&(re+=`float u_geometricError; float u_depthMultiplier; `),re+=Y,ae&&(w?re+=`in vec4 a_color; `:T?re+=`in float a_color; const float SHIFT_RIGHT_11 = 1.0 / 2048.0; const float SHIFT_RIGHT_5 = 1.0 / 32.0; const float SHIFT_LEFT_11 = 2048.0; const float SHIFT_LEFT_5 = 32.0; const float NORMALIZE_6 = 1.0 / 64.0; const float NORMALIZE_5 = 1.0 / 32.0; `:re+=`in vec3 a_color; `),U&&(B||Q?re+=`in vec2 a_normal; `:re+=`in vec3 a_normal; `),R&&(re+=`in float a_batchId; `),(I||v||Q)&&(re+=`uniform vec4 u_quantizedVolumeScaleAndOctEncodedRange; `),ie&&(re+=N),H&&(re+=G),le&&(re+=J),re+=`void main() { u_pointSize = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.x; tiles3d_tileset_time = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.y; `,k&&(re+=` u_geometricError = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.z; u_depthMultiplier = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.w; `),ae?w?re+=` vec4 color = a_color; `:T?re+=` float compressed = a_color; float r = floor(compressed * SHIFT_RIGHT_11); compressed -= r * SHIFT_LEFT_11; float g = floor(compressed * SHIFT_RIGHT_5); compressed -= g * SHIFT_LEFT_5; float b = compressed; vec3 rgb = vec3(r * NORMALIZE_5, g * NORMALIZE_6, b * NORMALIZE_5); vec4 color = vec4(rgb, 1.0); `:re+=` vec4 color = vec4(a_color, 1.0); `:re+=` vec4 color = u_constantColor; `,I||v?re+=` vec3 position = a_position * u_quantizedVolumeScaleAndOctEncodedRange.xyz; `:re+=` vec3 position = a_position; `,re+=` vec3 position_absolute = vec3(czm_model * vec4(position, 1.0)); `,U?(B?re+=` vec3 normal = czm_octDecode(a_normal); `:Q?re+=` vec3 normal = czm_octDecode(a_normal, u_quantizedVolumeScaleAndOctEncodedRange.w).zxy; `:re+=` vec3 normal = a_normal; `,re+=` vec3 normalEC = czm_normal * normal; `):re+=` vec3 normal = vec3(1.0); `,ie&&(re+=` color = getColorFromStyle(position, position_absolute, color, normal); `),H&&(re+=` float show = float(getShowFromStyle(position, position_absolute, color, normal)); `),le?re+=` gl_PointSize = getPointSizeFromStyle(position, position_absolute, color, normal) * czm_pixelRatio; `:k?re+=` vec4 positionEC = czm_modelView * vec4(position, 1.0); float depth = -positionEC.z; gl_PointSize = min((u_geometricError / depth) * u_depthMultiplier, u_pointSize); `:re+=` gl_PointSize = u_pointSize; `,re+=` color = color * u_highlightColor; `,U&&M&&(re+=` float diffuseStrength = czm_getLambertDiffuse(czm_lightDirectionEC, normalEC); diffuseStrength = max(diffuseStrength, 0.4); color.xyz *= diffuseStrength * czm_lightColor; `),re+=` v_color = color; gl_Position = czm_modelViewProjection * vec4(position, 1.0); `,U&&P&&(re+=` float visible = step(-normalEC.z, 0.0); gl_Position *= visible; gl_PointSize *= visible; `),H&&(re+=` gl_Position.w *= float(show); gl_PointSize *= float(show); `),re+=`} `;let se=`in vec4 v_color; `;ue&&(se+=`uniform highp sampler2D u_clippingPlanes; uniform mat4 u_clippingPlanesMatrix; uniform vec4 u_clippingPlanesEdgeStyle; `,se+=` `,se+=hJ(F,x),se+=` `),se+=`void main() { out_FragColor = czm_gammaCorrect(v_color); `,ue&&(se+=wQe("u_clippingPlanes","u_clippingPlanesMatrix","u_clippingPlanesEdgeStyle")),se+=`} `,o.splitDirection!==sT.NONE&&(se=$ne.modifyFragmentShader(se)),O(o._vertexShaderLoaded)&&(re=o._vertexShaderLoaded(re)),O(o._fragmentShaderLoaded)&&(se=o._fragmentShaderLoaded(se));let de=o._drawCommand;O(de.shaderProgram)&&de.shaderProgram.destroy(),de.shaderProgram=qa.fromCache({context:x,vertexShaderSource:re,fragmentShaderSource:se,attributeLocations:W});try{de.shaderProgram._bind()}catch{throw new ki("Error generating style shader: this may be caused by a type mismatch, index out-of-bounds, or other syntax error.")}}function Hbi(o,A){if(o._decodingState===zF.READY)return!1;if(o._decodingState===zF.NEEDS_DECODE){let f=o._parsedContent,m=f.draco,C=wY.decodePointCloud(m,A);O(C)&&(o._decodingState=zF.DECODING,C.then(function(E){o._decodingState=zF.READY;let x=O(E.POSITION)?E.POSITION.array:void 0,y=O(E.RGB)?E.RGB.array:void 0,I=O(E.RGBA)?E.RGBA.array:void 0,v=O(E.NORMAL)?E.NORMAL.array:void 0,B=O(E.BATCH_ID)?E.BATCH_ID.array:void 0,Q=O(x)&&O(E.POSITION.data.quantization),T=O(v)&&O(E.NORMAL.data.quantization);if(Q){let R=E.POSITION.data.quantization,P=R.range;o._quantizedVolumeScale=Z.fromElements(P,P,P),o._quantizedVolumeOffset=Z.unpack(R.minValues),o._quantizedRange=(1<<R.quantizationBits)-1,o._isQuantizedDraco=!0}T&&(o._octEncodedRange=(1<<E.NORMAL.data.quantization.quantizationBits)-1,o._isOctEncodedDraco=!0);let w=f.styleableProperties,S=m.batchTableProperties;for(let R in S)if(S.hasOwnProperty(R)){let P=E[R];O(w)||(w={}),w[R]={typedArray:P.array,componentCount:P.data.componentsPerAttribute}}O(x)&&(f.positions={typedArray:x});let D=oe(I,y);O(D)&&(f.colors={typedArray:D}),O(v)&&(f.normals={typedArray:v}),O(B)&&(f.batchIds={typedArray:B}),f.styleableProperties=w}).catch(function(E){o._decodingState=zF.FAILED,o._error=E}))}return!0}var Vbi=new zt,zbi=new Z;JJ.prototype.update=function(o){let A=o.context;if(O(this._error)){let I=this._error;throw this._error=void 0,I}if(Hbi(this,A))return;let f=!1,m=!Re.equals(this._modelMatrix,this.modelMatrix);if(this._mode!==o.mode&&(this._mode=o.mode,m=!0),O(this._drawCommand)||(kbi(this,o),m=!0,f=!0,this._ready=!0,this._parsedContent=void 0),m){Re.clone(this.modelMatrix,this._modelMatrix);let I=this._drawCommand.modelMatrix;if(Re.clone(this._modelMatrix,I),O(this._rtcCenter)&&Re.multiplyByTranslation(I,this._rtcCenter,I),O(this._quantizedVolumeOffset)&&Re.multiplyByTranslation(I,this._quantizedVolumeOffset,I),o.mode!==ni.SCENE3D){let B=o.mapProjection,Q=Re.getColumn(I,3,Vbi);zt.equals(Q,zt.UNIT_W)||kr.basisTo2D(B,I,I)}let v=this._drawCommand.boundingVolume;if(hi.clone(this._boundingSphere,v),this._cull){let B=v.center;Re.multiplyByPoint(I,B,B);let Q=Re.getScale(I,zbi);v.radius*=Z.maximumComponent(Q)}}this.clippingPlanesDirty&&(this.clippingPlanesDirty=!1,f=!0),this._attenuation!==this.attenuation&&(this._attenuation=this.attenuation,f=!0),this.backFaceCulling!==this._backFaceCulling&&(this._backFaceCulling=this.backFaceCulling,f=!0),this.normalShading!==this._normalShading&&(this._normalShading=this.normalShading,f=!0),(this._style!==this.style||this.styleDirty)&&(this._style=this.style,this.styleDirty=!1,f=!0);let C=this.splitDirection!==sT.NONE;this._splittingEnabled!==C&&(this._splittingEnabled=C,f=!0),f&&Gbi(this,o,this._style),this._drawCommand.castShadows=Ns.castShadows(this.shadows),this._drawCommand.receiveShadows=Ns.receiveShadows(this.shadows);let E=this._highlightColor.alpha<1||this._constantColor.alpha<1||this._styleTranslucent;this._drawCommand.renderState=E?this._translucentRenderState:this._opaqueRenderState,this._drawCommand.pass=E?Yi.TRANSLUCENT:this._opaquePass;let x=o.commandList,y=o.passes;(y.render||y.pick)&&x.push(this._drawCommand)};JJ.prototype.isDestroyed=function(){return!1};JJ.prototype.destroy=function(){let o=this._drawCommand;return O(o)&&(o.vertexArray=o.vertexArray&&o.vertexArray.destroy(),o.shaderProgram=o.shaderProgram&&o.shaderProgram.destroy()),Ar(this)};var MQe=JJ;function SI(){Ai.throwInstantiationError()}SI.computeDefaultLevelZeroMaximumGeometricError=function(o){return o.ellipsoid.maximumRadius*2*Math.PI*.25/(65*o.getNumberOfXTilesAtLevel(0))};Object.defineProperties(SI.prototype,{quadtree:{get:Ai.throwInstantiationError,set:Ai.throwInstantiationError},ready:{get:Ai.throwInstantiationError},tilingScheme:{get:Ai.throwInstantiationError},errorEvent:{get:Ai.throwInstantiationError}});SI.prototype.update=Ai.throwInstantiationError;SI.prototype.beginUpdate=Ai.throwInstantiationError;SI.prototype.endUpdate=Ai.throwInstantiationError;SI.prototype.getLevelMaximumGeometricError=Ai.throwInstantiationError;SI.prototype.loadTile=Ai.throwInstantiationError;SI.prototype.computeTileVisibility=Ai.throwInstantiationError;SI.prototype.showTileThisFrame=Ai.throwInstantiationError;SI.prototype.computeDistanceToTile=Ai.throwInstantiationError;SI.prototype.isDestroyed=Ai.throwInstantiationError;SI.prototype.destroy=Ai.throwInstantiationError;var KJ=SI;function nv(o,A,f,m,C,E,x){this.children=void 0,this.parent=C,this.level=o,this.x=A,this.y=f,this.z=m,this.keyframeNodes=[],this.renderableKeyframeNodes=[],this.renderableKeyframeNodeLerp=0,this.renderableKeyframeNodePrevious=void 0,this.renderableKeyframeNodeNext=void 0,this.orientedBoundingBox=new Lu,this.approximateVoxelSize=0,this.screenSpaceError=0,this.visitedFrameNumber=-1,this.computeBoundingVolumes(E,x)}var Ybi=new Z;nv.prototype.computeBoundingVolumes=function(o,A){this.orientedBoundingBox=o.computeOrientedBoundingBoxForTile(this.level,this.x,this.y,this.z,this.orientedBoundingBox);let f=Gt.getScale(this.orientedBoundingBox.halfAxes,Ybi),m=2*Z.maximumComponent(f);this.approximateVoxelSize=m/Z.minimumComponent(A)};nv.prototype.constructChildNodes=function(o,A){let{level:f,x:m,y:C,z:E}=this,x=m*2,y=C*2,I=E*2,v=y+1,B=x+1,Q=I+1,T=f+1,w=[[T,x,y,I],[T,B,y,I],[T,x,v,I],[T,B,v,I],[T,x,y,Q],[T,B,y,Q],[T,x,v,Q],[T,B,v,Q]];this.children=w.map(([S,D,R,P])=>new nv(S,D,R,P,this,o,A))};nv.prototype.visibility=function(o,A){let f=this.orientedBoundingBox;return o.cullingVolume.computeVisibilityWithPlaneMask(f,A)};nv.prototype.computeScreenSpaceError=function(o,A){let f=this.orientedBoundingBox,m=Math.sqrt(f.distanceSquaredTo(o));m=Math.max(m,Be.EPSILON7);let C=this.approximateVoxelSize,E=A*(C/m);this.screenSpaceError=E};var W8e={keyframe:0};function hz(o,A){return W8e.keyframe=o,d0(A,W8e,SA.searchComparator)}nv.prototype.computeSurroundingRenderableKeyframeNodes=function(o){let A=this,f=A.level,m=Math.floor(o),C=Math.ceil(o),E,x,y=+Number.MAX_VALUE,I=+Number.MAX_VALUE;for(;O(A);){let{renderableKeyframeNodes:Q}=A;if(Q.length>=1){let T=Jbi(m,Q),w=Q[T],S=C===m||m<w.keyframe?T:Math.min(T+1,Q.length-1),D=Q[S],R=m-w.keyframe,P=j8e(f-A.level,R);P<y&&(y=P,E=w);let M=D.keyframe-C,L=j8e(f-A.level,M);if(L<I&&(I=L,x=D),R===0&&M===0)break}A=A.parent}if(this.renderableKeyframeNodePrevious=E,this.renderableKeyframeNodeNext=x,!O(E)||!O(x))return;let v=E.keyframe,B=x.keyframe;this.renderableKeyframeNodeLerp=v===B?0:Be.clamp((o-v)/(B-v),0,1)};function Jbi(o,A){let f=hz(o,A);return f<0?Be.clamp(~f-1,0,A.length-1):f}function j8e(o,A){let f=Math.exp(o*4),m=A>=0?1:-200;return o*f+A*m}nv.prototype.isVisited=function(o){return this.visitedFrameNumber===o};nv.prototype.createKeyframeNode=function(o){let A=hz(o,this.keyframeNodes);if(A<0){A=~A;let f=new SA(this,o);this.keyframeNodes.splice(A,0,f)}};nv.prototype.destroyKeyframeNode=function(o,A){let f=o.keyframe,m=hz(f,this.keyframeNodes);if(m<0)throw new Ai("Keyframe node does not exist.");if(this.keyframeNodes.splice(m,1),o.megatextureIndex!==-1){for(let E=0;E<A.length;E++)A[E].remove(o.megatextureIndex);let C=hz(f,this.renderableKeyframeNodes);if(C<0)throw new Ai("Renderable keyframe node does not exist.");this.renderableKeyframeNodes.splice(C,1)}o.spatialNode=void 0,o.state=SA.LoadState.UNLOADED,o.metadatas={},o.megatextureIndex=-1,o.priority=-Number.MAX_VALUE,o.highPriorityFrameNumber=-1};nv.prototype.addKeyframeNodeToMegatextures=function(o,A){if(o.state!==SA.LoadState.RECEIVED||o.megatextureIndex!==-1||o.metadatas.length!==A.length)throw new Ai("Keyframe node cannot be added to megatexture");for(let C=0;C<A.length;C++){let E=A[C];o.megatextureIndex=E.add(o.metadatas[C]),o.metadatas[C]=void 0}o.state=SA.LoadState.LOADED;let f=this.renderableKeyframeNodes,m=hz(o.keyframe,f);if(m>=0)throw new Ai("Keyframe already renderable");m=~m,f.splice(m,0,o)};nv.prototype.isRenderable=function(o){let A=this.renderableKeyframeNodePrevious,f=this.renderableKeyframeNodeNext,m=this.level;return O(A)&&O(f)&&(A.spatialNode.level===m||f.spatialNode.level===m)&&this.visitedFrameNumber===o};var PQe=nv;function RQe(o){o=oe(o,1),this._radius=oe(o,1)}Object.defineProperties(RQe.prototype,{radius:{get:function(){return this._radius},set:function(o){this._radius=o}}});RQe.prototype.emit=function(o){let A=Be.randomBetween(0,Be.TWO_PI),f=Be.randomBetween(0,Be.PI),m=Be.randomBetween(0,this._radius),C=m*Math.cos(A)*Math.sin(f),E=m*Math.sin(A)*Math.sin(f),x=m*Math.cos(f);o.position=Z.fromElements(C,E,x,o.position),o.velocity=Z.normalize(o.position,o.velocity)};var T8=RQe;function WJ(){}WJ.prototype.evaluate=function(o,A){Ai.throwInstantiationError()};WJ.prototype.evaluateColor=function(o,A){Ai.throwInstantiationError()};WJ.prototype.getShaderFunction=function(o,A,f,m){Ai.throwInstantiationError()};WJ.prototype.getVariables=function(){Ai.throwInstantiationError()};var Int=WJ;function zee(o){this._ready=!1,this._provider=void 0,this._errorEvent=new ur,this._readyEvent=new ur,Wbi(this,o)}Object.defineProperties(zee.prototype,{errorEvent:{get:function(){return this._errorEvent}},readyEvent:{get:function(){return this._readyEvent}},ready:{get:function(){return this._ready}},provider:{get:function(){return this._provider}}});zee.fromWorldTerrain=function(o){return new zee(Tne(o))};function Kbi(o,A){o.numberOfListeners>0?o.raiseEvent(A):console.error(A)}async function Wbi(o,A){let f;try{f=await Promise.resolve(A),o._provider=f,o._ready=!0,o._readyEvent.raiseEvent(f)}catch(m){Kbi(o._errorEvent,m)}}var LQe=zee;function M8(){}M8.prototype.boundingVolume=void 0;M8.prototype.boundingSphere=void 0;M8.prototype.distanceToCamera=function(o){Ai.throwInstantiationError()};M8.prototype.intersectPlane=function(o){Ai.throwInstantiationError()};M8.prototype.createDebugVolume=function(o){Ai.throwInstantiationError()};var _nt=M8;function jJ(o){o=oe(o,oe.EMPTY_OBJECT),this._tilingScheme=O(o.tilingScheme)?o.tilingScheme:new th({ellipsoid:o.ellipsoid}),this._color=oe(o.color,Ve.YELLOW),this._errorEvent=new ur,this._tileWidth=oe(o.tileWidth,256),this._tileHeight=oe(o.tileHeight,256),this._ready=!0,this._readyPromise=Promise.resolve(!0),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0}Object.defineProperties(jJ.prototype,{proxy:{get:function(){}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){}},minimumLevel:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return ii("TileCoordinatesImageryProvider.ready","TileCoordinatesImageryProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),!0}},readyPromise:{get:function(){return ii("TileCoordinatesImageryProvider.readyPromise","TileCoordinatesImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107."),this._readyPromise}},credit:{get:function(){}},hasAlphaChannel:{get:function(){return!0}},defaultAlpha:{get:function(){return ii("TileCoordinatesImageryProvider.defaultAlpha","TileCoordinatesImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha},set:function(o){ii("TileCoordinatesImageryProvider.defaultAlpha","TileCoordinatesImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."),this._defaultAlpha=o}},defaultNightAlpha:{get:function(){return ii("TileCoordinatesImageryProvider.defaultNightAlpha","TileCoordinatesImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha},set:function(o){ii("TileCoordinatesImageryProvider.defaultNightAlpha","TileCoordinatesImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."),this._defaultNightAlpha=o}},defaultDayAlpha:{get:function(){return ii("TileCoordinatesImageryProvider.defaultDayAlpha","TileCoordinatesImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha},set:function(o){ii("TileCoordinatesImageryProvider.defaultDayAlpha","TileCoordinatesImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."),this._defaultDayAlpha=o}},defaultBrightness:{get:function(){return ii("TileCoordinatesImageryProvider.defaultBrightness","TileCoordinatesImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness},set:function(o){ii("TileCoordinatesImageryProvider.defaultBrightness","TileCoordinatesImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."),this._defaultBrightness=o}},defaultContrast:{get:function(){return ii("TileCoordinatesImageryProvider.defaultContrast","TileCoordinatesImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast},set:function(o){ii("TileCoordinatesImageryProvider.defaultContrast","TileCoordinatesImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."),this._defaultContrast=o}},defaultHue:{get:function(){return ii("TileCoordinatesImageryProvider.defaultHue","TileCoordinatesImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue},set:function(o){ii("TileCoordinatesImageryProvider.defaultHue","TileCoordinatesImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."),this._defaultHue=o}},defaultSaturation:{get:function(){return ii("TileCoordinatesImageryProvider.defaultSaturation","TileCoordinatesImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation},set:function(o){ii("TileCoordinatesImageryProvider.defaultSaturation","TileCoordinatesImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."),this._defaultSaturation=o}},defaultGamma:{get:function(){return ii("TileCoordinatesImageryProvider.defaultGamma","TileCoordinatesImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma},set:function(o){ii("TileCoordinatesImageryProvider.defaultGamma","TileCoordinatesImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."),this._defaultGamma=o}},defaultMinificationFilter:{get:function(){return ii("TileCoordinatesImageryProvider.defaultMinificationFilter","TileCoordinatesImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter},set:function(o){ii("TileCoordinatesImageryProvider.defaultMinificationFilter","TileCoordinatesImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."),this._defaultMinificationFilter=o}},defaultMagnificationFilter:{get:function(){return ii("TileCoordinatesImageryProvider.defaultMagnificationFilter","TileCoordinatesImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter},set:function(o){ii("TileCoordinatesImageryProvider.defaultMagnificationFilter","TileCoordinatesImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."),this._defaultMagnificationFilter=o}}});jJ.prototype.getTileCredits=function(o,A,f){};jJ.prototype.requestImage=function(o,A,f,m){let C=document.createElement("canvas");C.width=256,C.height=256;let E=C.getContext("2d"),x=this._color.toCssColorString();return E.strokeStyle=x,E.lineWidth=2,E.strokeRect(1,1,255,255),E.font="bold 25px Arial",E.textAlign="center",E.fillStyle=x,E.fillText(`L: ${f}`,124,86),E.fillText(`X: ${o}`,124,136),E.fillText(`Y: ${A}`,124,186),Promise.resolve(C)};jJ.prototype.pickFeatures=function(o,A,f,m,C){};var FQe=jJ;function NQe(o){Ai.throwInstantiationError()}NQe.prototype.isReady=Ai.throwInstantiationError;NQe.prototype.shouldDiscardImage=Ai.throwInstantiationError;var vnt=NQe,jbi={START:0,LOADING:1,READY:2,UPSAMPLED_ONLY:3},Bnt=Object.freeze(jbi);function q3(o){o=oe(o,oe.EMPTY_OBJECT),this.show=oe(o.show,!0),this.modelMatrix=Re.clone(oe(o.modelMatrix,Re.IDENTITY)),this.shadows=oe(o.shadows,Ns.ENABLED),this.maximumMemoryUsage=oe(o.maximumMemoryUsage,256),this.shading=new DG(o.shading),this.style=o.style,this.frameFailed=new ur,this.frameChanged=new ur,this._clock=o.clock,this._intervals=o.intervals,this._clippingPlanes=void 0,this.clippingPlanes=o.clippingPlanes,this._pointCloudEyeDomeLighting=new kY,this._loadTimestamp=void 0,this._clippingPlanesState=0,this._styleDirty=!1,this._pickId=void 0,this._totalMemoryUsageInBytes=0,this._frames=[],this._previousInterval=void 0,this._nextInterval=void 0,this._lastRenderedFrame=void 0,this._clockMultiplier=0,this._resolveReadyPromise=void 0;let A=this;this._readyPromise=new Promise(function(f){A._resolveReadyPromise=f}),this._runningSum=0,this._runningLength=0,this._runningIndex=0,this._runningSamples=new Array(5).fill(0),this._runningAverage=0}Object.defineProperties(q3.prototype,{clippingPlanes:{get:function(){return this._clippingPlanes},set:function(o){Wf.setOwner(o,this,"_clippingPlanes")}},totalMemoryUsageInBytes:{get:function(){return this._totalMemoryUsageInBytes}},boundingSphere:{get:function(){if(O(this._lastRenderedFrame))return this._lastRenderedFrame.pointCloud.boundingSphere}},readyPromise:{get:function(){return ii("TimeDynamicPointCloud.readyPromise","TimeDynamicPointCloud.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Use TimeDynamicPointCloud.frameFailed instead."),this._readyPromise}}});function qbi(o){return`uniform vec4 czm_pickColor; ${o}`}function Xbi(o){return function(A){return So(A,{czm_pickColor:function(){return o._pickId.color}})}}function Zbi(){return"czm_pickColor"}q3.prototype.makeStyleDirty=function(){this._styleDirty=!0};q3.prototype._getAverageLoadTime=function(){return this._runningLength===0?.05:this._runningAverage};var $bi=new Zt;function kQe(o){let A=o._clock,f=A.canAnimate&&A.shouldAnimate,m=A.multiplier;return f?m:0}function WN(o,A){return o._intervals.indexOf(A.start)}function eQi(o,A){let f=o._intervals,m=o._clock,C=kQe(o);if(C===0)return;let E=o._getAverageLoadTime(),x=Zt.addSeconds(m.currentTime,E*C,$bi),y=f.indexOf(x),I=WN(o,A);return y===I&&(C>=0?++y:--y),f.get(y)}function tQi(o){let A=o._intervals,f=o._clock.currentTime,m=A.indexOf(f);return A.get(m)}function iQi(o,A,f){let m=kQe(o),C=WN(o,A),E=WN(o,f);return m>=0?C>=E:C<=E}function wnt(o,A){return function(f){let m=O(f.message)?f.message:f.toString();o.frameFailed.numberOfListeners>0?o.frameFailed.raiseEvent({uri:A,message:m}):(console.log(`A frame failed to load: ${A}`),console.log(`Error: ${m}`))}}function rQi(o,A,f){let m=WN(o,A),C=o._frames,E=C[m];if(!O(E)){let x=A.data.transform,y=O(x)?Re.fromArray(x):void 0,I=A.data.uri;E={pointCloud:void 0,transform:y,timestamp:oA(),sequential:!0,ready:!1,touchedFrameNumber:f.frameNumber,uri:I},C[m]=E,Cr.fetchArrayBuffer({url:I}).then(function(v){E.pointCloud=new MQe({arrayBuffer:v,cull:!0,fragmentShaderLoaded:qbi,uniformMapLoaded:Xbi(o),pickIdLoaded:Zbi})}).catch(wnt(o,I))}return E}function nQi(o,A){o._runningSum+=A,o._runningSum-=o._runningSamples[o._runningIndex],o._runningSamples[o._runningIndex]=A,o._runningLength=Math.min(o._runningLength+1,o._runningSamples.length),o._runningIndex=(o._runningIndex+1)%o._runningSamples.length,o._runningAverage=o._runningSum/o._runningLength}function oQi(o,A,f,m){A.touchedFrameNumber<m.frameNumber-1&&(A.sequential=!1);let C=A.pointCloud;if(O(C)&&!A.ready){let E=m.commandList,x=E.length;if(bnt(o,A,f,m),C.ready&&(A.ready=!0,o._totalMemoryUsageInBytes+=C.geometryByteLength,E.length=x,A.sequential)){let y=(oA()-A.timestamp)/1e3;nQi(o,y)}}A.touchedFrameNumber=m.frameNumber}var aQi=new Re;function sQi(o,A){let f=o.shading;return O(f)&&O(f.baseResolution)?f.baseResolution:O(A.boundingSphere)?Be.cbrt(A.boundingSphere.volume()/A.pointsLength):0}function lQi(o){let A=o.shading;return O(A)&&O(A.maximumAttenuation)?A.maximumAttenuation:10}var uQi=new DG;function bnt(o,A,f,m){let C=oe(o.shading,uQi),E=A.pointCloud,x=oe(A.transform,Re.IDENTITY);E.modelMatrix=Re.multiplyTransformation(o.modelMatrix,x,aQi),E.style=o.style,E.time=f.timeSinceLoad,E.shadows=o.shadows,E.clippingPlanes=o._clippingPlanes,E.isClipped=f.isClipped,E.attenuation=C.attenuation,E.backFaceCulling=C.backFaceCulling,E.normalShading=C.normalShading,E.geometricError=sQi(o,E),E.geometricErrorScale=C.geometricErrorScale,E.maximumAttenuation=lQi(o);try{E.update(m)}catch(y){wnt(o,A.uri)(y)}A.touchedFrameNumber=m.frameNumber}function Xge(o,A,f,m){let C=rQi(o,A,m);oQi(o,C,f,m)}function AQi(o){return function(A){return A.touchedFrameNumber<o.frameNumber}}function Qnt(o,A){let f=o._frames,m=f.length;for(let C=0;C<m;++C){let E=f[C];if(O(E)&&(!O(A)||A(E))){let x=E.pointCloud;E.ready&&(o._totalMemoryUsageInBytes-=x.geometryByteLength),O(x)&&x.destroy(),E===o._lastRenderedFrame&&(o._lastRenderedFrame=void 0),f[C]=void 0}}}function cQi(o,A){let f=WN(o,A),m=o._frames[f];if(O(m)&&m.ready)return m}function q8e(o,A,f,m,C){return O(f)?f.ready?!0:(Xge(o,A,m,C),f.ready):!1}function hQi(o,A,f,m,C){let E,x,y,I=o._intervals,v=o._frames,B=WN(o,f),Q=WN(o,A);if(B>=Q){for(E=B;E>=Q;--E)if(x=I.get(E),y=v[E],q8e(o,x,y,m,C))return x}else for(E=B;E<=Q;++E)if(x=I.get(E),y=v[E],q8e(o,x,y,m,C))return x;return A}function dQi(o,A,f){let m=o._frames,C=m.length;for(let E=0;E<C;++E){let x=m[E];O(x)&&O(x.pointCloud)&&(x.pointCloud.clippingPlanesDirty=A,x.pointCloud.styleDirty=f)}}var GU={timeSinceLoad:0,isClipped:!1,clippingPlanesDirty:!1};q3.prototype.update=function(o){if(o.mode===ni.MORPHING||!this.show)return;O(this._pickId)||(this._pickId=o.context.createPickId({primitive:this})),O(this._loadTimestamp)||(this._loadTimestamp=Zt.clone(o.time));let A=Math.max(Zt.secondsDifference(o.time,this._loadTimestamp)*1e3,0),f=this._clippingPlanes,m=0,C=!1,E=O(f)&&f.enabled;E&&(f.update(o),m=f.clippingPlanesState),this._clippingPlanesState!==m&&(this._clippingPlanesState=m,C=!0);let x=this._styleDirty;this._styleDirty=!1,(C||x)&&dQi(this,C,x),GU.timeSinceLoad=A,GU.isClipped=E;let y=this.shading,I=this._pointCloudEyeDomeLighting,v=o.commandList,B=v.length,Q=this._previousInterval,T=this._nextInterval,w=tQi(this);if(!O(w))return;let S=!1,D=kQe(this),R=D===0;D!==this._clockMultiplier&&(S=!0,this._clockMultiplier=D),(!O(Q)||R)&&(Q=w),(!O(T)||S||iQi(this,w,T))&&(T=eQi(this,w)),Q=hQi(this,Q,w,GU,o);let P=cQi(this,Q);O(P)||(Xge(this,Q,GU,o),P=this._lastRenderedFrame),O(P)&&bnt(this,P,GU,o),O(T)&&Xge(this,T,GU,o);let M=this;O(P)&&!O(this._lastRenderedFrame)&&o.afterRender.push(function(){return M._resolveReadyPromise(M),!0}),O(P)&&P!==this._lastRenderedFrame&&M.frameChanged.numberOfListeners>0&&o.afterRender.push(function(){return M.frameChanged.raiseEvent(M),!0}),this._previousInterval=Q,this._nextInterval=T,this._lastRenderedFrame=P;let L=this._totalMemoryUsageInBytes,F=this.maximumMemoryUsage*1024*1024;L>F&&Qnt(this,AQi(o));let k=v.length-B;O(y)&&y.attenuation&&y.eyeDomeLighting&&k>0&&I.update(o,B,y,this.boundingSphere)};q3.prototype.isDestroyed=function(){return!1};q3.prototype.destroy=function(){return Qnt(this),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),this._pickId=this._pickId&&this._pickId.destroy(),Ar(this)};var eoe=q3;function toe(o,A){this.show=!0,O(o)||(o=new vr),this.rectangle=vr.clone(o),O(A)||(A=go.fromType(go.ColorType,{color:new Ve(1,1,1,1)})),this.material=A,this._material=void 0,this._overlayCommand=void 0,this._rs=void 0}toe.prototype.update=function(o){if(!this.show)return;let A=this._rs;if((!O(A)||!vr.equals(A.viewport,this.rectangle))&&(this._rs=Xr.fromCache({blending:Nl.ALPHA_BLEND,viewport:this.rectangle})),o.passes.render){let f=o.context;if(this._material!==this.material||!O(this._overlayCommand)){this._material=this.material,O(this._overlayCommand)&&this._overlayCommand.shaderProgram.destroy();let m=new _r({sources:[this._material.shaderSource,tBe]});this._overlayCommand=f.createViewportQuadCommand(m,{renderState:this._rs,uniformMap:this._material._uniforms,owner:this}),this._overlayCommand.pass=Yi.OVERLAY}this._material.update(f),this._overlayCommand.renderState=this._rs,this._overlayCommand.uniformMap=this._material._uniforms,o.commandList.push(this._overlayCommand)}};toe.prototype.isDestroyed=function(){return!1};toe.prototype.destroy=function(){return O(this._overlayCommand)&&(this._overlayCommand.shaderProgram=this._overlayCommand.shaderProgram&&this._overlayCommand.shaderProgram.destroy()),Ar(this)};var ioe=toe;function wR(o,A,f,m,C,E,x){this._primitive=o;let y=m.length;this.megatextures=new Array(y);for(let D=0;D<y;D++){let R=m[D],P=Zo.getComponentCount(R),M=C[D];this.megatextures[D]=new Zne(A,f,P,M,x)}let I=this.megatextures[0].maximumTileCount;this._simultaneousRequestCount=0,this._debugPrint=!1,this._frameNumber=0;let v=o._shape;this.rootNode=new PQe(0,0,0,0,void 0,v,f),this._priorityQueue=new Mne({maximumLength:I,comparator:SA.priorityComparator}),this._highPriorityKeyframeNodes=new Array(I),this._keyframeNodesInMegatexture=new Array(I),this._keyframeCount=E,this._sampleCount=void 0,this._keyframeLocation=0,this._binaryTreeKeyframeWeighting=new Array(E);let B=this._binaryTreeKeyframeWeighting;B[0]=0,B[E-1]=0,Zge(B,1,E-2,0);let Q=9,T=2048,w=Math.floor(T/Q),S=Math.ceil(I/w);this.internalNodeTexture=new Nn({context:A,pixelFormat:rn.RGBA,pixelDatatype:$r.UNSIGNED_BYTE,flipY:!1,width:T,height:S,sampler:new Oa({minificationFilter:Ba.NEAREST,magnificationFilter:Wu.NEAREST})}),this.internalNodeTilesPerRow=w,this.internalNodeTexelSizeUv=new rt(1/T,1/S),this.leafNodeTexture=void 0,this.leafNodeTilesPerRow=void 0,this.leafNodeTexelSizeUv=new rt}function Zge(o,A,f,m){if(A>f)return;let C=Math.floor((A+f)/2);o[C]=m,Zge(o,A,C-1,m+1),Zge(o,C+1,f,m+1)}wR.simultaneousRequestCountMaximum=50;wR.prototype.update=function(o,A,f,m){let C=this._primitive,E=o.context,x=this.megatextures[0].maximumTileCount,y=this._keyframeCount,I=C._levelBlendFactor,v=I>0,B=y>1,Q=(v?2:1)*(B?2:1);this._sampleCount=Q;let T=Q>=2;if(T&&!O(this.leafNodeTexture)){let R=Math.floor(512),P=Math.ceil(x/R);this.leafNodeTexture=new Nn({context:E,pixelFormat:rn.RGBA,pixelDatatype:$r.UNSIGNED_BYTE,flipY:!1,width:1024,height:P,sampler:new Oa({minificationFilter:Ba.NEAREST,magnificationFilter:Wu.NEAREST})}),this.leafNodeTexelSizeUv=rt.fromElements(1/1024,1/P,this.leafNodeTexelSizeUv),this.leafNodeTilesPerRow=R}else!T&&O(this.leafNodeTexture)&&(this.leafNodeTexture=this.leafNodeTexture.destroy());if(this._keyframeLocation=Be.clamp(A,0,y-1),f&&Snt(this,this.rootNode),m)return;this._frameNumber=o.frameNumber;let w=oA();pQi(this,o);let S=oA();CQi(this,Q,I);let D=oA();if(this._debugPrint){let R=S-w,P=D-S,M=D-w;mQi(this,R,P,M)}};wR.prototype.isRenderable=function(o){return o.isRenderable(this._frameNumber)};wR.prototype.isDestroyed=function(){return!1};wR.prototype.destroy=function(){let o=this.megatextures,A=o.length;for(let f=0;f<A;f++)o[f]=o[f]&&o[f].destroy();return this.internalNodeTexture=this.internalNodeTexture&&this.internalNodeTexture.destroy(),this.leafNodeTexture=this.leafNodeTexture&&this.leafNodeTexture.destroy(),Ar(this)};function Snt(o,A){let f=o._primitive,m=f._shape,C=f._provider.dimensions;if(A.computeBoundingVolumes(m,C),O(A.children))for(let E=0;E<8;E++){let x=A.children[E];Snt(o,x)}}function fQi(o,A){if(o._simultaneousRequestCount>=wR.simultaneousRequestCountMaximum)return;let f=o._primitive,m=f._provider;function C(v){o._simultaneousRequestCount--;let B=f._provider.types.length;if(!O(v))A.state=SA.LoadState.UNAVAILABLE;else if(v===SA.LoadState.FAILED)A.state=SA.LoadState.FAILED;else if(!Array.isArray(v)||v.length!==B)A.state=SA.LoadState.FAILED;else{let Q=o.megatextures;for(let T=0;T<B;T++){let{voxelCountPerTile:w,channelCount:S}=Q[T],{x:D,y:R,z:P}=w,M=D*R*P,L=v[T],F=M*S;if(L.length===F)A.metadatas[T]=L,A.state=SA.LoadState.RECEIVED;else{A.state=SA.LoadState.FAILED;break}}}}function E(){o._simultaneousRequestCount--,A.state=SA.LoadState.FAILED}let{keyframe:x,spatialNode:y}=A,I=m.requestData({tileLevel:y.level,tileX:y.x,tileY:y.y,tileZ:y.z,keyframe:x});O(I)?(o._simultaneousRequestCount++,A.state=SA.LoadState.RECEIVING,I.then(C).catch(E)):A.state=SA.LoadState.FAILED}function gQi(o){return o/(1+o)}function pQi(o,A){let f=o._frameNumber,m=o._primitive,C=m._shape,{dimensions:E}=m,x=m.screenSpaceError,y=o._priorityQueue,I=o._keyframeLocation,v=o._keyframeCount,B=o.rootNode,{camera:Q,context:T,pixelRatio:w}=A,{positionWC:S,frustum:D}=Q,R=T.drawingBufferHeight/w/D.sseDenominator;function P(q,ee,ie){let H=Math.min(Math.abs(ee-q),Math.abs(ee-ie)),le=Math.max(q,v-ie-1,1),ue=Math.pow(1-H/le,4),Ae=Math.exp(-o._binaryTreeKeyframeWeighting[ee]);return Be.lerp(Ae,ue,.15+.85*ue)}function M(q,ee){if(q.computeScreenSpaceError(S,R),ee=q.visibility(A,ee),ee===Mg.MASK_OUTSIDE)return;q.visitedFrameNumber=f;let ie=Be.clamp(Math.floor(I),0,v-2),H=ie+1;if(v===1)q.createKeyframeNode(0);else if(q.keyframeNodes.length!==v)for(let he=0;he<v;he++)q.createKeyframeNode(he);let le=gQi(q.screenSpaceError),ue=!1,Ae=q.keyframeNodes;for(let he=0;he<Ae.length;he++){let ge=Ae[he];ge.priority=10*le+P(ie,ge.keyframe,H),ge.state!==SA.LoadState.UNAVAILABLE&&ge.state!==SA.LoadState.FAILED&&ge.priority!==-Number.MAX_VALUE&&y.insert(ge),ge.state===SA.LoadState.LOADED&&(ue=!0)}if(q.screenSpaceError<x||!ue){q.children=void 0;return}O(q.children)||q.constructChildNodes(C,E);for(let he=0;he<8;he++){let ge=q.children[he];M(ge,ee)}}y.reset(),M(B,Mg.MASK_INDETERMINATE);let L=o._highPriorityKeyframeNodes,F=0,k;for(;y.length>0;)k=y.removeMaximum(),k.highPriorityFrameNumber=f,L[F]=k,F++;let N=o._keyframeNodesInMegatexture,G=o.megatextures[0],J=G.occupiedCount;N.length=J,N.sort(function(q,ee){return q.highPriorityFrameNumber===ee.highPriorityFrameNumber?ee.priority-q.priority:ee.highPriorityFrameNumber-q.highPriorityFrameNumber});let K=0,X=0;for(let q=0;q<F;q++)if(k=L[q],!(k.state===SA.LoadState.LOADED||k.spatialNode===void 0)&&(k.state===SA.LoadState.UNLOADED&&fQi(o,k),k.state===SA.LoadState.RECEIVED)){let ee=0;if(G.isFull()){ee=J-1-K,K++;let ie=N[ee];ie.spatialNode.destroyKeyframeNode(ie,o.megatextures)}else ee=J+X,X++;k.spatialNode.addKeyframeNodeToMegatextures(k,o.megatextures),N[ee]=k}}function mQi(o,A,f,m){let C=o._keyframeCount,E=o.rootNode,x=Object.keys(SA.LoadState).length,y=new Array(x),I=new Array(x),v=0;for(let P=0;P<x;P++){let M=new Array(C);y[P]=M;for(let L=0;L<C;L++)M[L]=0;I[P]=0}function B(P){let M=P.keyframeNodes;for(let L=0;L<M.length;L++){let F=M[L],k=F.keyframe,N=F.state;y[N][k]+=1,I[N]+=1,v++}if(O(P.children))for(let L=0;L<8;L++){let F=P.children[L];B(F)}}B(E);let Q=`KEYFRAMES: ${y[SA.LoadState.LOADED]}`,T=`UNLOADED: ${I[SA.LoadState.UNLOADED]} | RECEIVING: ${I[SA.LoadState.RECEIVING]} | RECEIVED: ${I[SA.LoadState.RECEIVED]} | LOADED: ${I[SA.LoadState.LOADED]} | FAILED: ${I[SA.LoadState.FAILED]} | UNAVAILABLE: ${I[SA.LoadState.UNAVAILABLE]} | TOTAL: ${v}`,w=Math.round(A*100)/100,S=Math.round(f*100)/100,D=Math.round(m*100)/100,R=`LOAD: ${w} | OCT: ${S} | ALL: ${D}`;console.log(`${Q} || ${T} || ${R}`)}var jX={INTERNAL:0,LEAF:1,PACKED_LEAF_FROM_PARENT:2};function CQi(o,A,f){let m=o._primitive._screenSpaceError,C=o._keyframeLocation,E=o._frameNumber,x=A>=2,y=0,I=0,v=[],B=[];function Q(w,S,D,R,P){let M=!1;if(O(w.children))for(let L=0;L<8;L++){let F=w.children[L];F.computeSurroundingRenderableKeyframeNodes(C),F.isRenderable(E)&&(M=!0)}if(M){v[P]=jX.INTERNAL<<16|S,v[D]=R,y++,R=S,P=R*9+1;for(let L=0;L<8;L++){let F=w.children[L];S=y,D=S*9+0,Q(F,S,D,R,P+L)}}else{if(x){let L=I*5,F=w.renderableKeyframeNodePrevious,k=w.level-F.spatialNode.level,N=F.spatialNode.parent,G=O(N)?N.renderableKeyframeNodePrevious:F,J=EQi(w,m,f),K=k,X=1,q=F.megatextureIndex,ee=G.megatextureIndex;B[L+0]=J,B[L+1]=K,B[L+2]=X,B[L+3]=q,B[L+4]=ee,v[P]=jX.LEAF<<16|I}else{let L=w.renderableKeyframeNodePrevious,F=w.level-L.spatialNode.level===0?jX.LEAF:jX.PACKED_LEAF_FROM_PARENT;v[P]=F<<16|L.megatextureIndex}I++}}let T=o.rootNode;T.computeSurroundingRenderableKeyframeNodes(C),T.isRenderable(E)&&Q(T,0,0,0,0),xQi(v,9,o.internalNodeTilesPerRow,o.internalNodeTexture),x&&yQi(B,2,o.leafNodeTilesPerRow,o.leafNodeTexture)}function EQi(o,A,f){if(o.parent===void 0)return 0;let m=o.screenSpaceError,C=o.parent.screenSpaceError,E=((A-m)/(C-m)+f-1)/f;return Be.clamp(E,0,1)}function xQi(o,A,f,m){let C=rn.componentsLength(m.pixelFormat),E=Math.ceil(o.length/A),x=Math.max(1,A*Math.min(E,f)),y=Math.max(1,Math.ceil(E/f)),I=new Uint8Array(x*y*C);for(let B=0;B<o.length;B++){let Q=o[B],T=B*C;for(let w=0;w<C;w++)I[T+w]=Q>>>w*8&255}let v={source:{arrayBufferView:I,width:x,height:y},xOffset:0,yOffset:0};m.copyFrom(v)}function yQi(o,A,f,m){let C=rn.componentsLength(m.pixelFormat),E=5,x=Math.ceil(o.length/E),y=Math.max(1,A*Math.min(x,f)),I=Math.max(1,Math.ceil(x/f)),v=new Uint8Array(y*I*C);for(let Q=0;Q<x;Q++){let T=o[Q*E+0],w=o[Q*E+1],S=o[Q*E+2],D=o[Q*E+3],R=o[Q*E+4],P=Be.clamp(Math.floor(65536*T),0,65535);v[Q*8+0]=P>>>0&255,v[Q*8+1]=P>>>8&255,v[Q*8+2]=w&255,v[Q*8+3]=S&255,v[Q*8+4]=D>>>0&255,v[Q*8+5]=D>>>8&255,v[Q*8+6]=R>>>0&255,v[Q*8+7]=R>>>8&255}let B={source:{arrayBufferView:v,width:y,height:I},xOffset:0,yOffset:0};m.copyFrom(B)}wR.getApproximateTextureMemoryByteLength=function(o,A,f,m){let C=0,E=f.length;for(let x=0;x<E;x++){let y=f[x],I=m[x],v=Zo.getComponentCount(y);C+=Zne.getApproximateTextureMemoryByteLength(o,A,v,I)}return C};var Yee=wR;function Vb(o){o=oe(o,oe.EMPTY_OBJECT),this._ready=!1,this._provider=oe(o.provider,Vb.DefaultProvider),this._traversal=void 0,this._shape=void 0,this._shapeVisible=!1,this._paddingBefore=new Z,this._paddingAfter=new Z,this._minBounds=new Z,this._minBoundsOld=new Z,this._maxBounds=new Z,this._maxBoundsOld=new Z,this._minClippingBounds=new Z,this._minClippingBoundsOld=new Z,this._maxClippingBounds=new Z,this._maxClippingBoundsOld=new Z,this._clippingPlanes=void 0,this._clippingPlanesState=0,this._clippingPlanesEnabled=!1,this._modelMatrix=Re.clone(oe(o.modelMatrix,Re.IDENTITY)),this._compoundModelMatrix=new Re,this._compoundModelMatrixOld=new Re,this._customShader=oe(o.customShader,Vb.DefaultCustomShader),this._customShaderCompilationEvent=new ur,this._shaderDirty=!0,this._drawCommand=void 0,this._drawCommandPick=void 0,this._pickId=void 0,this._clock=o.clock,this._transformPositionWorldToUv=new Re,this._transformPositionUvToWorld=new Re,this._transformDirectionWorldToLocal=new Gt,this._transformNormalLocalToWorld=new Gt,this._stepSizeUv=1,this._jitter=!0,this._nearestSampling=!1,this._levelBlendFactor=0,this._stepSizeMultiplier=1,this._depthTest=!0,this._useLogDepth=void 0,this._screenSpaceError=4,this._debugPolylines=new lR,this._debugDraw=!1,this._disableRender=!1,this._disableUpdate=!1,this._uniforms={octreeInternalNodeTexture:void 0,octreeInternalNodeTilesPerRow:0,octreeInternalNodeTexelSizeUv:new rt,octreeLeafNodeTexture:void 0,octreeLeafNodeTilesPerRow:0,octreeLeafNodeTexelSizeUv:new rt,megatextureTextures:[],megatextureSliceDimensions:new rt,megatextureTileDimensions:new rt,megatextureVoxelSizeUv:new rt,megatextureSliceSizeUv:new rt,megatextureTileSizeUv:new rt,dimensions:new Z,paddingBefore:new Z,paddingAfter:new Z,transformPositionViewToUv:new Re,transformPositionUvToView:new Re,transformDirectionViewToLocal:new Gt,transformNormalLocalToWorld:new Gt,cameraPositionUv:new Z,ndcSpaceAxisAlignedBoundingBox:new zt,clippingPlanesTexture:void 0,clippingPlanesMatrix:new Re,stepSize:0,pickColor:new Ve},this._shapeDefinesOld={},this._uniformMap={};let A=this._uniforms,f=this._uniformMap;for(let C in A)if(A.hasOwnProperty(C)){let E=`u_${C}`;f[E]=function(){return A[C]}}let m=this._provider;this._completeLoad=function(C,E){},this._readyPromise=IQi(this,m)}async function IQi(o,A){let f=new Promise(function(y){o._completeLoad=function(I,v){v.afterRender.push(function(){return I._ready=!0,y(I),!0})}});O(A._readyPromise)&&!A._ready&&await A._readyPromise;let{shape:m,minBounds:C=YA.getMinBounds(m),maxBounds:E=YA.getMaxBounds(m)}=A;o.minBounds=C,o.maxBounds=E,o.minClippingBounds=YA.getMinBounds(m),o.maxClippingBounds=YA.getMaxBounds(m),Dnt(o,A);let x=YA.getShapeConstructor(m);return o._shape=new x,o._shapeVisible=Tnt(o,o._shape,A),f}Object.defineProperties(Vb.prototype,{ready:{get:function(){return this._ready}},readyPromise:{get:function(){return ii("VoxelPrimitive.readyPromise","VoxelPrimitive.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Wait for VoxelPrimitive.ready to return true instead."),this._readyPromise}},provider:{get:function(){return this._provider}},boundingSphere:{get:function(){return this._shape.boundingSphere}},orientedBoundingBox:{get:function(){return this.shape.orientedBoundingBox}},modelMatrix:{get:function(){return this._modelMatrix},set:function(o){this._modelMatrix=Re.clone(o,this._modelMatrix)}},shape:{get:function(){return this._provider.shape}},dimensions:{get:function(){return this._provider.dimensions}},minimumValues:{get:function(){return this._provider.minimumValues}},maximumValues:{get:function(){return this._provider.maximumValues}},show:{get:function(){return!this._disableRender},set:function(o){this._disableRender=!o}},disableUpdate:{get:function(){return this._disableUpdate},set:function(o){this._disableUpdate=o}},debugDraw:{get:function(){return this._debugDraw},set:function(o){this._debugDraw=o}},depthTest:{get:function(){return this._depthTest},set:function(o){this._depthTest!==o&&(this._depthTest=o,this._shaderDirty=!0)}},jitter:{get:function(){return this._jitter},set:function(o){this._jitter!==o&&(this._jitter=o,this._shaderDirty=!0)}},nearestSampling:{get:function(){return this._nearestSampling},set:function(o){this._nearestSampling!==o&&(this._nearestSampling=o,this._shaderDirty=!0)}},levelBlendFactor:{get:function(){return this._levelBlendFactor},set:function(o){this._levelBlendFactor=Be.clamp(o,0,1)}},screenSpaceError:{get:function(){return this._screenSpaceError},set:function(o){this._screenSpaceError=o}},stepSize:{get:function(){return this._stepSizeMultiplier},set:function(o){this._stepSizeMultiplier=o}},minBounds:{get:function(){return this._minBounds},set:function(o){this._minBounds=Z.clone(o,this._minBounds)}},maxBounds:{get:function(){return this._maxBounds},set:function(o){this._maxBounds=Z.clone(o,this._maxBounds)}},minClippingBounds:{get:function(){return this._minClippingBounds},set:function(o){this._minClippingBounds=Z.clone(o,this._minClippingBounds)}},maxClippingBounds:{get:function(){return this._maxClippingBounds},set:function(o){this._maxClippingBounds=Z.clone(o,this._maxClippingBounds)}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(o){Wf.setOwner(o,this,"_clippingPlanes")}},customShader:{get:function(){return this._customShader},set:function(o){if(this._customShader!==o){let A=this._uniformMap,f=this._customShader.uniformMap;for(let m in f)f.hasOwnProperty(m)&&delete A[m];O(o)?this._customShader=o:this._customShader=Vb.DefaultCustomShader,this._shaderDirty=!0}}},customShaderCompilationEvent:{get:function(){return this._customShaderCompilationEvent}}});var _Qi=new Z,vQi=new zt,BQi=new zt,wQi=new Z,bQi=new Z,QQi=new Gt,SQi=new Gt,DQi=new Re,TQi=new Re,MQi=new Re,PQi=Re.fromRotationTranslation(Gt.fromUniformScale(.5,new Gt),new Z(.5,.5,.5),new Re),RQi=Re.fromRotationTranslation(Gt.fromUniformScale(2,new Gt),new Z(-1,-1,-1),new Re);Vb.prototype.update=function(o){let A=this._provider;if(this._customShader.update(o),O(A._ready)&&!A._ready||!O(this._shape))return;let f=o.context;if(!this._ready){LQi(this,A,f),this._completeLoad(this,o);return}let m=Dnt(this,A),C=this._shape;if(m&&(this._shapeVisible=Tnt(this,C,A),kQi(this,C)&&(this._shaderDirty=!0)),!this._shapeVisible)return;let E=OQi(A.timeIntervalCollection,this._clock),x=this._traversal,y=x._sampleCount;if(x.update(o,E,m,this._disableUpdate),y!==x._sampleCount&&(this._shaderDirty=!0),!x.isRenderable(x.rootNode)||(this._debugDraw&&KQi(this,o),this._disableRender))return;this._useLogDepth!==o.useLogDepth&&(this._useLogDepth=o.useLogDepth,this._shaderDirty=!0),UQi(this,o)&&(this._shaderDirty=!0);let I=x.leafNodeTexture,v=this._uniforms;O(I)&&(v.octreeLeafNodeTexture=x.leafNodeTexture,v.octreeLeafNodeTexelSizeUv=rt.clone(x.leafNodeTexelSizeUv,v.octreeLeafNodeTexelSizeUv),v.octreeLeafNodeTilesPerRow=x.leafNodeTilesPerRow),this._shaderDirty&&(pQe(this,f),this._shaderDirty=!1);let B=f.uniformState.viewProjection,Q=C.orientedBoundingBox,T=VQi(Q,B,BQi);if(T.x===1||T.y===1||T.z===-1||T.w===-1)return;v.ndcSpaceAxisAlignedBoundingBox=zt.clone(T,v.ndcSpaceAxisAlignedBoundingBox);let w=f.uniformState.inverseView;v.transformPositionViewToUv=Re.multiplyTransformation(this._transformPositionWorldToUv,w,v.transformPositionViewToUv);let S=f.uniformState.view;v.transformPositionUvToView=Re.multiplyTransformation(S,this._transformPositionUvToWorld,v.transformPositionUvToView);let D=f.uniformState.inverseViewRotation;v.transformDirectionViewToLocal=Gt.multiply(this._transformDirectionWorldToLocal,D,v.transformDirectionViewToLocal),v.transformNormalLocalToWorld=Gt.clone(this._transformNormalLocalToWorld,v.transformNormalLocalToWorld);let R=o.camera.positionWC;v.cameraPositionUv=Re.multiplyByPoint(this._transformPositionWorldToUv,R,v.cameraPositionUv),v.stepSize=this._stepSizeUv*this._stepSizeMultiplier;let P=o.passes.pick?this._drawCommandPick:this._drawCommand;P.boundingVolume=C.boundingSphere,o.commandList.push(P)};function LQi(o,A,f){let m=o._uniforms;o._pickId=f.createPickId({primitive:o}),m.pickColor=Ve.clone(o._pickId.color,m.pickColor);let{shaderDefines:C,shaderUniforms:E}=o._shape;o._shapeDefinesOld=Sn(C,!0);let x=o._uniformMap;for(let y in E)if(E.hasOwnProperty(y)){let I=`u_${y}`;x[I]=function(){return E[y]}}m.dimensions=Z.clone(A.dimensions,m.dimensions),o._paddingBefore=Z.clone(oe(A.paddingBefore,Z.ZERO),o._paddingBefore),m.paddingBefore=Z.clone(o._paddingBefore,m.paddingBefore),o._paddingAfter=Z.clone(oe(A.paddingAfter,Z.ZERO),o._paddingBefore),m.paddingAfter=Z.clone(o._paddingAfter,m.paddingAfter),o._traversal=FQi(o,A,f),NQi(o._traversal,m)}function Dnt(o,A){let f=oe(A.shapeTransform,Re.IDENTITY),m=oe(A.globalTransform,Re.IDENTITY);return Re.multiplyTransformation(m,o._modelMatrix,o._compoundModelMatrix),Re.multiplyTransformation(o._compoundModelMatrix,f,o._compoundModelMatrix),VV(o,"_compoundModelMatrix","_compoundModelMatrixOld")+VV(o,"_minBounds","_minBoundsOld")+VV(o,"_maxBounds","_maxBoundsOld")+VV(o,"_minClippingBounds","_minClippingBoundsOld")+VV(o,"_maxClippingBounds","_maxClippingBoundsOld")>0}function VV(o,A,f){let m=o[A],C=o[f],E=!m.equals(C);return E&&m.clone(C),E?1:0}function Tnt(o,A,f){if(!A.update(o._compoundModelMatrix,o.minBounds,o.maxBounds,o.minClippingBounds,o.maxClippingBounds))return!1;let m=A.shapeTransform,C=Re.inverse(m,DQi),E=Re.getRotation(m,QQi),x=Re.getScale(m,wQi),y=Z.maximumComponent(x),I=Z.divideByScalar(x,y,bQi),v=Gt.multiplyByScale(E,I,SQi),B=f.dimensions;return o._stepSizeUv=A.computeApproximateStepSize(B),o._transformPositionWorldToUv=Re.multiplyTransformation(PQi,C,o._transformPositionWorldToUv),o._transformPositionUvToWorld=Re.multiplyTransformation(m,RQi,o._transformPositionUvToWorld),o._transformDirectionWorldToLocal=Re.getMatrix3(C,o._transformDirectionWorldToLocal),o._transformNormalLocalToWorld=Gt.inverseTranspose(v,o._transformNormalLocalToWorld),!0}function FQi(o,A,f){let m=Z.clone(A.dimensions,_Qi);Z.add(m,o._paddingBefore,m),Z.add(m,o._paddingAfter,m);let C=A.maximumTileCount,E=O(C)?Yee.getApproximateTextureMemoryByteLength(C,m,A.types,A.componentTypes):void 0,x=oe(A.keyframeCount,1);return new Yee(o,f,m,A.types,A.componentTypes,x,E)}function NQi(o,A){A.octreeInternalNodeTexture=o.internalNodeTexture,A.octreeInternalNodeTexelSizeUv=rt.clone(o.internalNodeTexelSizeUv,A.octreeInternalNodeTexelSizeUv),A.octreeInternalNodeTilesPerRow=o.internalNodeTilesPerRow;let f=o.megatextures,m=f[0],C=f.length;A.megatextureTextures=new Array(C);for(let E=0;E<C;E++)A.megatextureTextures[E]=f[E].texture;A.megatextureSliceDimensions=rt.clone(m.sliceCountPerRegion,A.megatextureSliceDimensions),A.megatextureTileDimensions=rt.clone(m.regionCountPerMegatexture,A.megatextureTileDimensions),A.megatextureVoxelSizeUv=rt.clone(m.voxelSizeUv,A.megatextureVoxelSizeUv),A.megatextureSliceSizeUv=rt.clone(m.sliceSizeUv,A.megatextureSliceSizeUv),A.megatextureTileSizeUv=rt.clone(m.regionSizeUv,A.megatextureTileSizeUv)}function kQi(o,A){let f=A.shaderDefines,m=Object.keys(f).some(C=>f[C]!==o._shapeDefinesOld[C]);return m&&(o._shapeDefinesOld=Sn(f,!0)),m}function OQi(o,A){if(!O(o)||!O(A))return 0;let f=A.currentTime,m,C=o.indexOf(f);C>=0?m=o.get(C):(C=~C,C===o.length?(C=o.length-1,m=o.get(C),f=m.stop):(m=o.get(C),f=m.start));let E=Zt.secondsDifference(m.stop,m.start),x=Zt.secondsDifference(f,m.start)/E;return C+x}function UQi(o,A){let f=o.clippingPlanes;if(!O(f))return!1;f.update(A);let{clippingPlanesState:m,enabled:C}=f;if(C){let E=o._uniforms;E.clippingPlanesTexture=f.texture,E.clippingPlanesMatrix=Re.transpose(Re.multiplyTransformation(Re.inverse(f.modelMatrix,E.clippingPlanesMatrix),o._transformPositionUvToWorld,E.clippingPlanesMatrix),E.clippingPlanesMatrix)}return o._clippingPlanesState===m&&o._clippingPlanesEnabled===C?!1:(o._clippingPlanesState=m,o._clippingPlanesEnabled=C,!0)}Vb.prototype.isDestroyed=function(){return!1};Vb.prototype.destroy=function(){let o=this._drawCommand;O(o)&&(o.shaderProgram=o.shaderProgram&&o.shaderProgram.destroy());let A=this._drawCommandPick;return O(A)&&(A.shaderProgram=A.shaderProgram&&A.shaderProgram.destroy()),this._pickId=this._pickId&&this._pickId.destroy(),this._traversal=this._traversal&&this._traversal.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),Ar(this)};var X8e=new Array(new zt(-1,-1,-1,1),new zt(1,-1,-1,1),new zt(-1,1,-1,1),new zt(1,1,-1,1),new zt(-1,-1,1,1),new zt(1,-1,1,1),new zt(-1,1,1,1),new zt(1,1,1,1)),GQi=new Array(1,2,4,0,3,5,0,3,6,1,2,7,0,5,6,1,4,7,2,4,7,3,5,6),HQi=new Array(new zt,new zt,new zt,new zt,new zt,new zt,new zt,new zt);function VQi(o,A,f){let m=Re.fromRotationTranslation(o.halfAxes,o.center,TQi),C=Re.multiply(A,m,MQi),E=+Number.MAX_VALUE,x=-Number.MAX_VALUE,y=+Number.MAX_VALUE,I=-Number.MAX_VALUE,v,B=HQi,Q=X8e.length;for(v=0;v<Q;v++)Re.multiplyByVector(C,X8e[v],B[v]);for(v=0;v<Q;v++){let T=B[v];if(T.z>=-T.w){let w=T.x/T.w,S=T.y/T.w;E=Math.min(E,w),x=Math.max(x,w),y=Math.min(y,S),I=Math.max(I,S)}else for(let w=0;w<3;w++){let S=GQi[v*3+w],D=B[S];if(D.z>=-D.w){let R=T.z+T.w,P=D.z+D.w,M=R/(R-P),L=zt.lerp(T,D,M,vQi),F=L.x/L.w,k=L.y/L.w;E=Math.min(E,F),x=Math.max(x,F),y=Math.min(y,k),I=Math.max(I,k)}}}return E=Be.clamp(E,-1,1),y=Be.clamp(y,-1,1),x=Be.clamp(x,-1,1),I=Be.clamp(I,-1,1),f=zt.fromElements(E,y,x,I,f),f}var OQe=3e7,zQi=new Z(OQe,0,0),YQi=new Z(0,OQe,0),JQi=new Z(0,0,OQe);function KQi(o,A){let f=o._traversal,m=o._debugPolylines;m.removeAll();function C(I,v,B,Q){m.add({positions:[I,v],width:Q,material:go.fromType("Color",{color:B})})}function E(I,v,B){let Q=I.computeCorners();C(Q[0],Q[1],v,B),C(Q[2],Q[3],v,B),C(Q[4],Q[5],v,B),C(Q[6],Q[7],v,B),C(Q[0],Q[2],v,B),C(Q[4],Q[6],v,B),C(Q[1],Q[3],v,B),C(Q[5],Q[7],v,B),C(Q[0],Q[4],v,B),C(Q[2],Q[6],v,B),C(Q[1],Q[5],v,B),C(Q[3],Q[7],v,B)}function x(I){if(!f.isRenderable(I))return;let v=I.level,B=Math.max(1,5/Math.pow(2,v)),Q=[Ve.RED,Ve.LIME,Ve.BLUE][v%3];if(E(I.orientedBoundingBox,Q,B),O(I.children))for(let T=0;T<8;T++)x(I.children[T])}E(o._shape.orientedBoundingBox,Ve.WHITE,5),x(f.rootNode);let y=10;C(Z.ZERO,zQi,Ve.RED,y),C(Z.ZERO,YQi,Ve.LIME,y),C(Z.ZERO,JQi,Ve.BLUE,y),m.update(A)}Vb.DefaultCustomShader=new cv({fragmentShaderText:`void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) { material.diffuse = vec3(1.0); material.alpha = 1.0; }`});function Mnt(){this.ready=!0,this.shape=YA.BOX,this.dimensions=new Z(1,1,1),this.names=["data"],this.types=[Zo.SCALAR],this.componentTypes=[ya.FLOAT32],this.maximumTileCount=1}Mnt.prototype.requestData=function(o){if(!((O(o)?oe(o.tileLevel,0):0)>=1))return Promise.resolve([new Float32Array(1)])};Vb.DefaultProvider=new Mnt;var roe=Vb;function UQe(){Ai.throwInstantiationError()}Object.defineProperties(UQe.prototype,{ready:{get:Ai.throwInstantiationError},readyPromise:{get:Ai.throwInstantiationError},globalTransform:{get:Ai.throwInstantiationError},shapeTransform:{get:Ai.throwInstantiationError},shape:{get:Ai.throwInstantiationError},minBounds:{get:Ai.throwInstantiationError},maxBounds:{get:Ai.throwInstantiationError},dimensions:{get:Ai.throwInstantiationError},paddingBefore:{get:Ai.throwInstantiationError},paddingAfter:{get:Ai.throwInstantiationError},names:{get:Ai.throwInstantiationError},types:{get:Ai.throwInstantiationError},componentTypes:{get:Ai.throwInstantiationError},minimumValues:{get:Ai.throwInstantiationError},maximumValues:{get:Ai.throwInstantiationError},maximumTileCount:{get:Ai.throwInstantiationError},keyframeCount:{get:Ai.throwInstantiationError},timeIntervalCollection:{get:Ai.throwInstantiationError}});UQe.prototype.requestData=Ai.throwInstantiationError;var Pnt=UQe;function X3(){Ai.throwInstantiationError()}Object.defineProperties(X3.prototype,{orientedBoundingBox:{get:Ai.throwInstantiationError},boundingSphere:{get:Ai.throwInstantiationError},boundTransform:{get:Ai.throwInstantiationError},shapeTransform:{get:Ai.throwInstantiationError},shaderUniforms:{get:Ai.throwInstantiationError},shaderDefines:{get:Ai.throwInstantiationError},shaderMaximumIntersectionsLength:{get:Ai.throwInstantiationError}});X3.prototype.update=Ai.throwInstantiationError;X3.prototype.computeOrientedBoundingBoxForTile=Ai.throwInstantiationError;X3.prototype.computeApproximateStepSize=Ai.throwInstantiationError;X3.DefaultMinBounds=Ai.throwInstantiationError;X3.DefaultMaxBounds=Ai.throwInstantiationError;var Rnt=X3,WQi=` precision highp sampler3D; uniform sampler2D colorTexture; uniform sampler2D depthTexture; in vec2 v_textureCoordinates; uniform mat4 u_inversModelView; uniform mat4 u_inversModelMatrix; #define EPSILON 0.0001 #define PI 3.14159 #define MAX_ITERATION 256 // \u6700\u5927\u5FAA\u73AF\u6B21\u6570 #define SUN_STEPS 1 precision highp sampler2D; precision highp sampler3D; precision highp float; uniform sampler3D detail_map; uniform sampler3D detail_map_high; uniform sampler2D weather_map; uniform sampler2D blue_noise; uniform sampler2D mark_noise; vec3 skyMin = vec3( -0.5, -0.5, -0.5 ); // \u5929\u7A7A\u7684\u6700\u5C0F\u4F4D\u7F6E\uFF0C\u5DE6\u4E0B\u89D2 vec3 skyMax = vec3( 0.5, 0.5, 0.5 ); // \u5929\u7A7A\u7684\u6700\u5927\u4F4D\u7F6E\uFF0C\u53F3\u4E0A\u89D2 uniform float u_time; vec3 u_sunPosition; uniform bool wind_animation; uniform float wind_speed; uniform vec3 wind_direction; uniform vec3 sun_color; uniform float global_coverage; uniform float global_density; uniform float global_lightAbsorption; uniform float cloud_in_scatter; uniform float cloud_out_scatter; uniform float cloud_scatter_ratio; uniform float cloud_silver_intensity; uniform float cloud_silver_exponent; uniform float cloud_out_scatter_ambient; uniform float highlightScale; uniform float backScale; uniform float attenuationScale; bool use_blue_noise = true; bool use_quarter_update = false; float uvScale = 1.0; float getDistance(sampler2D depthTexture, vec2 texCoords) { float depth = czm_unpackDepth(texture(depthTexture, texCoords)); if (depth == 0.0) { return czm_infinity; } vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, depth); return -eyeCoordinate.z / eyeCoordinate.w; } vec2 rayIntersectsBox(vec3 rayOrigin, vec3 rayDirection, vec3 boxMin, vec3 boxMax) { vec3 invRayDir = 1.0 / rayDirection; vec3 tMin = (boxMin - rayOrigin) * invRayDir; vec3 tMax = (boxMax - rayOrigin) * invRayDir; vec3 t1 = min(tMin, tMax); vec3 t2 = max(tMin, tMax); float tNear = max(max(t1.x, t1.y), t1.z); float tFar = min(min(t2.x, t2.y), t2.z); if (tFar < 0.0 || tNear > tFar) { return vec2(-1.0, -1.0); // no intersection } return vec2(tNear, tFar); // intersection } // \u91CD\u6620\u5C04,\u5C06v\u4ECElo\u6620\u5C04\u5230ho float R(float v, float lo, float ho, float ln, float hn) { return ln + (v - lo) * (hn - ln) / (ho - lo); } // \u5C06v\u9650\u5236\u57280.0~1.0\u4E4B\u95F4 float SAT(float v) { return clamp(v, 0.0, 1.0); } // \u7EBF\u6027\u5DEE\u503C float LERP(float v0, float v1, float i) { return (1.0 - i) * v0 + i * v1; } // \u968F\u7740\u9AD8\u5EA6\u53D8\u5316\uFF0C\u786E\u5B9A\u4E91\u603B\u4F53\u5F62\u72B6,SRb\u4F7F\u5E95\u90E8\u6241\u5E73,SRt\u4F7F\u9876\u90E8\u6E10\u6DE1 float HeightAlter(float ph, vec4 map) { // round bottom SRb\u4F7F\u5E95\u90E8\u6241\u5E73 float SRb = SAT(R(ph, 0.0 , 0.4, 0.0, 1.0)); // round top SRt\u4F7F\u9876\u90E8\u6E10\u6DE1 float w_h = SAT(map.b + 0.12); // \u6700\u9AD8\u4E91\u9AD8 float SRt = SAT(R(ph, w_h * 0.2, w_h, 1.0, 0.1)); return SRb * SRt; } // \u968F\u7740\u9AD8\u5EA6\u53D8\u5316,\u786E\u5B9A\u4E91\u6574\u4F53\u5BC6\u5EA6: DRb\u964D\u4F4E\u5E95\u90E8\u5BC6\u5EA6, DRt\u9876\u90E8\u5BC6\u5EA6\u6DE1\u51FA float DensityAlter(float p_h, vec4 map) { float g_d = global_density; // reduce density as base float DRb = p_h * SAT(R(p_h, 0.0, 0.2, 0.0, 1.0)); // reduce density at top float DRt = SAT(R(p_h, 0.9, 1.0, 1.0, 0.0)); // apply weather_map density float DA = g_d * DRb * DRt * map.a * 2.0; return DA; } // \u5728\u70B9\u7684\u4F4D\u7F6E\u5904\u91C7\u6837\u5BC6\u5EA6 float SampleDensity(vec3 p) { float density = 0.0; // \u5728\u5929\u7A7A\u4E2D\uFF0C\u4E91\u5C42\u7684\u9AD8\u5EA6 if(p.x > skyMin.x && p.x < skyMax.x && p.y > skyMin.y && p.y < skyMax.y && p.z > skyMin.z && p.z < skyMax.z) { // \u5750\u6807\u7531\u5929\u7A7A\u7684\u6700\u5C0F\u6700\u5927\u4F4D\u7F6E\u8F6C\u6362\u52300.0~1.0\u4E4B\u95F4 float u = R(p.x, skyMin.x, skyMax.x, 0.0, 1.0); float v = R(p.y, skyMin.y, skyMax.y, 0.0, 1.0); // \u4EE3\u8868\u9AD8\u5EA6 float w = R(p.z, skyMin.z, skyMax.z, 0.0, 1.0); // weather_map \u5929\u6C14\u56FE\u4FE1\u606F[r:\u4E91\u7684\u4F4E\u9891\u8986\u76D6\u7387\uFF0C g:\u4E91\u7684\u9AD8\u9891\u80A1\u6982\u7387,b\u7528\u4E8E\u8BA1\u7B97\u6700\u9AD8\u4E91\u9AD8,a:\u4E91\u7684\u5BC6\u5EA6] vec4 map = texture(weather_map, vec2(u + sin(u_time * 0.2), w + cos(u_time * 0.2)) * uvScale) ; //vec4 map = texture(weather_map, vec2(u, w)); // \u4E91\u51FA\u73B0\u7684\u6982\u7387 float g_c = global_coverage; float WM = SAT(max(map.r, SAT(g_c) * map.g * 2.0)); WM = WM < 0.2 ? WM : WM * 2.0; // \u786E\u5B9A\u4E91\u6574\u4F53\u5F62\u72B6 float SA = HeightAlter(v, map); //float SA = 0.4; // \u786E\u5B9A\u4E91\u6574\u4F53\u5BC6\u5EA6 float DA = DensityAlter(v, map); // detail_map \u7EC6\u8282\u566A\u58F0\u56FEPerlin-Worley[r:\u4F4E\u9891, g:\u4E2D\u9891, b: \u9AD8\u9891, a:\u66F4\u9AD8\u9891] // \u901A\u8FC7\u91C7\u6837,\u5E76\u8FDB\u884C\u52A0\u6743\u5E73\u5747,\u540E\u9762\u4F7F\u7528SN_sample\u503C\u53BB\u548C\u4E2D\u4F53\u5F62\u72B6\u53C2\u6570SA\u53BB\u4E58\u79EF,\u83B7\u5F97\u6700\u540E\u7684\u884C\u72B6\u503C, vec4 sn = texture(detail_map, 0.5 + 0.3 * vec3(p.x, p.y, p.z) * uvScale); float SN_sample = R(sn.r, (sn.g * 0.625 + sn.b * 0.25 + sn.a * 0.125) - 1.0, 1.0, 0.0, 1.0); vec4 dn = texture(detail_map_high, (wind_animation ? u_time * wind_speed * normalize(wind_direction): vec3(0.0)) + 0.75 * vec3(p.x, p.y, p.z) * uvScale); // \u5206\u578B\u5E03\u6717\u52A0\u6743\u5E73\u5747 float DN_fbm = dn.r * 0.625 + dn.g * 0.25 + dn.b * 0.125; density = SAT(R(SN_sample * SA * DN_fbm, 1.0 - WM, 1.0, 0.0, 1.0)) * DA; } return density; } float HG(float cosTheta, float g) { float g2 = g * g; return ((1.0 - g2) / pow(1.0 + g2 - 2.0 * g * cosTheta, 1.5)) / 4.0 * PI; } // \u6563\u5C04 float InOutScatter(float cosTheta, float exponent) { float hg1 = HG(cosTheta, cloud_in_scatter); float hg2 = cloud_silver_intensity * pow(SAT(cosTheta), exponent); float in_scatter_hg = max(hg1, hg2); float out_scatter_hg = HG(cosTheta, -cloud_out_scatter); return LERP(in_scatter_hg, out_scatter_hg, cloud_scatter_ratio); } // \u8870\u51CF float Attenuation(float densityToSun, float cosTheta) { float horizonFactor = pow(1.0 - abs(dot(normalize(u_sunPosition), vec3(0, 1, 0))), 2.0); float absorption = mix(0.2, global_lightAbsorption, horizonFactor); float prim = exp(-absorption * densityToSun); float scnd = exp(-absorption * 0.2) * 0.7; float checkval = R(cosTheta, 0.0, 1.0, scnd, scnd * 0.5); return max(checkval, prim); } float OutScatterAmbient(float density, float ph) { float depth = cloud_out_scatter_ambient * pow(density, R(ph, 0.3, 0.9, 0.5, 1.0)); float vertical = pow(SAT(R(ph, 0.0, 0.3, 0.8, 1.0)), 0.8); float out_scatter = depth * vertical; return 1.0 - SAT(out_scatter); } // \u706F\u5149\u6B65\u8FDB float LightMarch(vec3 p, float cosTheta) { // \u592A\u9633\u65B9\u5411 vec3 direction = normalize(u_sunPosition); // \u6B65\u957F1\u6B21 float stepSize = 0.25 * (skyMax.y - skyMin.y) / float(SUN_STEPS); float totalDensity = 0.0; for(int step = 0; step < SUN_STEPS; ++step) { // \u8BA1\u7B97\u65B9\u5411 p += direction * stepSize; // \u91C7\u6837\u5BC6\u5EA6 totalDensity += max(0.0, SampleDensity(p) * stepSize); } // \u8870\u51CF float transmittance = Attenuation(totalDensity, cosTheta); return transmittance; } void getColor(){ vec4 sceneColor = texture(colorTexture, v_textureCoordinates); // \u91C7\u6837\u80CC\u666F\u8272 vec4 out_color = sceneColor; // \u8BE5\u70B9\u7684\u5C04\u7EBF vec3 rayDir = czm_windowToEyeCoordinates(gl_FragCoord.xy, -1.0).xyz; rayDir = (u_inversModelView * vec4(rayDir, 0.0)).xyz; vec3 vOrigin = vec3(0.0,0.0,0.0); vOrigin = (u_inversModelView * vec4(vOrigin, 1.0)).xyz; // \u592A\u9633\u8F6C\u6362\u5230\u6A21\u578B\u7A7A\u95F4\u4E2D u_sunPosition = (u_inversModelMatrix * vec4(czm_sunDirectionWC, 0.0)).xzy; vec2 bounds = rayIntersectsBox(vOrigin, rayDir, skyMin, skyMax); if ( bounds.y > 0.0 ) { bounds.x = max( bounds.x, 0.0 ); // \u6DF1\u5EA6\u6BD4\u8F83 float distance = getDistance(depthTexture, v_textureCoordinates); if(distance > bounds.x){ // update pixel // \u4F7F\u7528\u56DB\u5206\u4E4B\u4E00\u66F4\u65B0\uFF1F\uFF1F //if (use_quarter_update && int(gl_FragCoord.y * 4.0 + gl_FragCoord.x) % 16 != updatePixel) { // return; //} // get ray direction into the scene \u83B7\u53D6\u5C04\u7EBF // \u8F6C\u6362\u5230-1~1\u7684\u4F4D\u7F6E //vec2 uv = (2.0 * gl_FragCoord.xy - resolution.xy) / resolution.xy; // \u76F8\u673A\u4F4D\u7F6E vec3 rayOrigin = vOrigin + bounds.x * rayDir; // \u5C04\u7EBF\u65B9\u5411 vec3 rayDirection = rayDir; rayOrigin = rayOrigin.xzy; rayDirection = rayDirection.xzy; // \u592A\u9633\u65B9\u5411 vec3 sunDirection = normalize(u_sunPosition); // \u592A\u9633\u4E0E\u5C04\u7EBF\u65B9\u5411 float cosTheta = dot(sunDirection, rayDirection); // ray march along the ray direction \u6CBF\u7740\u5C04\u7EBF\u65B9\u5411\u6B65\u8FDB float stepSize = 2.0; float dist_start = 0.0; // \u4F7F\u7528\u84DD\u566A\u58F0\uFF1F\uFF1F //if(use_blue_noise) // dist_start += (texture(blue_noise, uv).r - 0.5) * 2.0 * stepSize; float attenuation = 1.0; // \u8870\u51CF float totalDensity = 0.0; // \u603B\u7684\u5BC6\u5EA6 float distanceTravelled = dist_start; vec3 firstHit = vec3(1000); // far clipping plane \u8FDC\u88C1\u5207\u9762 // \u6700\u5927\u5FAA\u73AF\u6B21\u6570 for(float i = bounds.x; i < bounds.y; i += stepSize ) { // \u5C04\u7EBF\u65B9\u5411\u7684\u4F4D\u7F6E vec3 rayPosition = rayOrigin + rayDirection * distanceTravelled; // \u906E\u7F69 float rAlpha = 1.0-texture(mark_noise, rayPosition.xz + 0.5).r; rAlpha = rAlpha < 0.01 ? 0.0 : rAlpha; if(rayPosition.x < -0.499 || rayPosition.x > 0.499 || rayPosition.z < -0.499 || rayPosition.z > 0.499) { rAlpha = rAlpha * 0.1; } // \u7B80\u5355\u91C7\u6837 float density = SampleDensity(rayPosition) * rAlpha / stepSize; if(rayOrigin.y > 0.499) { density = sin(density) * 0.2; } // \u5BC6\u5EA6\u7D2F\u52A0 totalDensity += density; // \u5BC6\u5EA6\u9650\u5236 if(totalDensity >= 1.0) { totalDensity = 1.0; break; } if(density > 0.0) { // \u5BC6\u5EA6>0 // \u51FB\u4E2Dbox\u6700\u540E\u4E00\u4E2A\u70B9 if(firstHit == vec3(1000)) firstHit = rayPosition - rayDirection * dist_start; // \u706F\u5149\u6B65\u8FDB float transmittance = LightMarch(rayPosition, cosTheta); // \u5927\u6C14\u6563\u5C04 float scatter = OutScatterAmbient(density, R(rayPosition.y, skyMin.y, skyMax.y, 0.0, 1.0)); // \u8BA1\u7B97\u8870\u51CF attenuation *= transmittance * scatter * attenuationScale; } // \u6B65\u8FDB distanceTravelled += stepSize; } // calculate final color \u8BA1\u7B97\u6700\u540E\u7684\u989C\u8272 float horizonFactor = pow(1.0 - SAT(dot(sunDirection, vec3(0, 1, 0))), 2.0); vec3 sunColor = mix(vec3(0.83, 0.87, 0.9), vec3(0.89, 0.76, 0.59), horizonFactor); // \u6307\u6570 float exponent = mix(1.5, 2.3, horizonFactor); float highlight = LERP(1.0, InOutScatter(cosTheta, exponent), horizonFactor); vec3 color = sunColor * attenuation * highlight * pow(SAT(1.2 - horizonFactor), 0.5) * highlightScale; // gamma //color = pow( clamp(color*1.1-0.02,0.0,1.0), vec3(0.4545) ); // contrast \u5BF9\u6BD4\u5EA6 //color = color*color*(3.0-2.0*color); // \u6DF7\u5408\u6700\u7EC8\u7684\u989C\u8272 vec3 finalColor = mix(sceneColor.rgb, color, totalDensity * backScale ); // \u6700\u7EC8\u7684\u989C\u8272 out_color = vec4(finalColor, 1.0); } } float exposure = 2.0; out_color.rgb = vec3(1.0) - exp(-out_color.rgb * exposure); out_FragColor = out_color; } void main() { getColor(); } `;function Z8e(o,A,f,m){let C=new Uint8Array(A),E=Math.ceil(Math.sqrt(C.length));return new Mve({width:f,height:f,depth:f,context:o,pixelFormat:m?rn.RGBA:rn.RGB,pixelDataType:$r.UNSIGNED_BYTE,source:{width:E,height:E,arrayBufferView:C},sampler:new Oa({wrapR:Vo.MIRRORED_REPEAT,wrapS:Vo.MIRRORED_REPEAT,wrapT:Vo.MIRRORED_REPEAT,minificationFilter:Ba.LINEAR,magnificationFilter:Wu.LINEAR})})}function $8e(o,A,f){let m=A;return new Nn({context:o,source:m,sampler:new Oa({wrapS:Vo.MIRRORED_REPEAT,wrapT:Vo.MIRRORED_REPEAT,minificationFilter:Ba.LINEAR,magnificationFilter:Wu.LINEAR})})}function jQi(o){let A=[],f=o.detail_noise_high,m=new Cr({url:f,queryParameters:{format:"bin"}});A.push(m.fetchArrayBuffer());let C=o.detail_noise,E=new Cr({url:C,queryParameters:{format:"bin"}});A.push(E.fetchArrayBuffer());let x=o.weather,y=new Cr({url:x,queryParameters:{format:"png"}});A.push(y.fetchImage());let I=o.mark_noise,v=new Cr({url:I,queryParameters:{format:"png"}});return A.push(v.fetchImage()),Promise.all(A)}function qJ(o){this._coordinate=o.coordinate,this._modelMatrix=null,this._modelMatrixDirty=!0,this._cloudParam=o.cloudParam;let A=o.urls,f=o.viewer;this._viewer=f;let m=f.scene.camera.viewMatrix;this._enable=!0,this._postProcess=null;let C=this;jQi(A).then(function(E){let x=C.getUniforms(m,f.scene.context,E);C._postProcess=f.scene.postProcessStages.add(new wa({fragmentShader:WQi,uniforms:x}))}).catch(function(E){console.log(E)})}qJ.prototype.getModelMatrix=function(o){if(this._modelMatrixDirty){let A=o.cartographicPosition,f=o.height,m=o.size,C=Re.fromScale(m),E=kr.eastNorthUpToFixedFrame(Z.fromDegrees(A.x,A.y));Re.multiply(E,C,C);let x=Re.fromTranslation(new Z(0,0,f));Re.multiply(x,C,C),this._modelMatrixDirty=!1,this._modelMatrix=C}return this._modelMatrix};qJ.prototype.getUniforms=function(o,A,f){let m=new Re,C=new Re,E=new Re,x=0,y=null,I=null,v=null,B=null,Q=this;return{u_inversModelView:function(){let T=Q.getModelMatrix(Q._coordinate);return Re.multiply(o,T,m),Re.inverse(m,C),C},u_inversModelMatrix:function(){let T=Q.getModelMatrix(Q._coordinate);return Re.inverse(T,E),E},u_time:function(){return x+=.001,x},detail_map_high:function(){return I||(I=Z8e(A,f[0],32,!1)),I},detail_map:function(){return y||(y=Z8e(A,f[1],128,!0)),y},weather_map:function(){return v||(v=$8e(A,f[2],512)),v},mark_noise:function(){return B||(B=$8e(A,f[3],512)),B},wind_speed:function(){return Q._cloudParam.wind_speed},wind_direction:function(){let T=new rt;return T.x=Q._cloudParam.wind_direction_x,T.z=Q._cloudParam.wind_direction_z,T},global_coverage:function(){return Q._cloudParam.global_coverage},global_density:function(){return Q._cloudParam.global_density},global_lightAbsorption:function(){return Q._cloudParam.global_lightAbsorption},cloud_in_scatter:function(){return Q._cloudParam.cloud_in_scatter},cloud_out_scatter:function(){return Q._cloudParam.cloud_out_scatter},cloud_scatter_ratio:function(){return Q._cloudParam.cloud_scatter_ratio},cloud_silver_intensity:function(){return Q._cloudParam.cloud_silver_intensity},cloud_silver_exponent:function(){return Q._cloudParam.cloud_silver_exponent},cloud_out_scatter_ambient:function(){return Q._cloudParam.cloud_out_scatter_ambient},wind_animation:function(){return Q._cloudParam.wind_animation},use_blue_noise:function(){return Q._cloudParam.use_blue_noise},use_quarter_update:function(){return Q._cloudParam.use_quarter_update},highlightScale:function(){return Q._cloudParam.highlightScale},backScale:function(){return Q._cloudParam.backScale},attenuationScale:function(){return Q._cloudParam.attenuationScale}}};Object.defineProperties(qJ.prototype,{enable:{set:function(o){this._enable=o,this._postProcess.enabled=o},get:function(){return this._enable}},coordinate:{get:function(){return this._coordinate}},cloudParam:{get:function(){return this._cloudParam}}});qJ.prototype.update=function(){O(this._postProcess)&&this._enable&&(this._viewer.camera.positionCartographic.height>5e5?this._postProcess.enabled=!1:this._postProcess.enabled=!0)};var noe=qJ,Lnt=`uniform sampler2D u_depthTexture; in vec2 v_textureCoordinates; void main() { float z_window = czm_unpackDepth(texture(u_depthTexture, v_textureCoordinates)); z_window = czm_reverseLogDepth(z_window); float n_range = czm_depthRange.near; float f_range = czm_depthRange.far; float z_ndc = (2.0 * z_window - n_range - f_range) / (f_range - n_range); float scale = pow(z_ndc * 0.5 + 0.5, 8.0); out_FragColor = vec4(mix(vec3(0.0), vec3(1.0), scale), 1.0); } `,Fnt=` uniform sampler2D colorTexture;//\u8F93\u5165\u7684\u573A\u666F\u6E32\u67D3\u7167\u7247 in vec2 v_textureCoordinates; float hash(float x) { return fract(sin(x*133.3)*13.13); } void main(void) { float time = czm_frameNumber / 60.0; vec2 resolution = czm_viewport.zw; vec2 uv=(gl_FragCoord.xy*2.-resolution.xy)/min(resolution.x,resolution.y); vec3 c=vec3(.6,.7,.8); float a=-.4; float si=sin(a),co=cos(a); uv*=mat2(co,-si,si,co); uv*=length(uv+vec2(0,4.9))*.3+1.; float v=1.-sin(hash(floor(uv.x*100.))*2.); float b=clamp(abs(sin(20.*time*v+uv.y*(5./(2.+v))))-.95,0.,1.)*20.; c*=v*b; //\u5C4F\u5E55\u4E0A\u96E8\u7684\u989C\u8272 out_FragColor = mix(texture(colorTexture, v_textureCoordinates), vec4(c,1), 0.5); //\u5C06\u96E8\u548C\u4E09\u7EF4\u573A\u666F\u878D\u5408 } `,Nnt=`uniform sampler2D colorTexture; //\u8F93\u5165\u7684\u573A\u666F\u6E32\u67D3\u7167\u7247 in vec2 v_textureCoordinates; float snow(vec2 uv,float scale) { float time = czm_frameNumber / 60.0; float w=smoothstep(1.,0.,-uv.y*(scale/10.));if(w<.1)return 0.; uv+=time/scale;uv.y+=time*2./scale;uv.x+=sin(uv.y+time*.5)/scale; uv*=scale;vec2 s=floor(uv),f=fract(uv),p;float k=3.,d; p=.5+.35*sin(11.*fract(sin((s+p+scale)*mat2(7,3,6,5))*5.))-f;d=length(p);k=min(d,k); k=smoothstep(0.,k,sin(f.x+f.y)*0.01); return k*w; } void main(void) { vec2 resolution = czm_viewport.zw; vec2 uv=(gl_FragCoord.xy*2.-resolution.xy)/min(resolution.x,resolution.y); vec3 finalColor=vec3(0); //float c=smoothstep(1.,0.3,clamp(uv.y*.3+.8,0.,.75)); float c = 0.0; c+=snow(uv,30.)*.0; c+=snow(uv,20.)*.0; c+=snow(uv,15.)*.0; c+=snow(uv,10.); c+=snow(uv,8.); c+=snow(uv,6.); c+=snow(uv,5.); finalColor=(vec3(c)); //\u5C4F\u5E55\u4E0A\u96EA\u7684\u989C\u8272 out_FragColor = mix(texture(colorTexture, v_textureCoordinates), vec4(finalColor,1), 0.5); //\u5C06\u96EA\u548C\u4E09\u7EF4\u573A\u666F\u878D\u5408 } `,knt=`in vec2 v_textureCoordinates; uniform sampler2D colorTexture; const float _BlurRadius = 5.0;//0.3; const int _Iteration = 30; const float _SunScreenRadius = 0.3;//0.1; const float exposure = 1.0; const float gamma = 2.2; vec4 getColor(vec2 p, vec2 sunCoord) { //vec2 blurVector = (sunCoord - p) * _BlurRadius; vec2 blurVector = (p - sunCoord) * _BlurRadius; vec4 acumulateColor = vec4(0, 0, 0, 0); vec2 texcoord = p; for (int j = 0; j < _Iteration; j ++) { acumulateColor += texture(colorTexture, texcoord); texcoord += blurVector; } vec4 color = acumulateColor / float(_Iteration); return color; } void main() { // Sun position vec4 sunPos = czm_morphTime == 1.0 ? vec4(czm_sunPositionWC, 1.0) : vec4(czm_sunPositionColumbusView.zxy, 1.0); vec4 sunPositionEC = czm_view * sunPos; vec4 sunPositionWC = czm_eyeToWindowCoordinates(sunPositionEC); sunPos = czm_viewportOrthographic * vec4(sunPositionWC.xy, -sunPositionWC.z, 1.0); //sunPos = sunPositionWC; vec2 sunTexcoord = sunPos.xy * 0.5 + vec2(0.5); //out_FragColor = length(sunTexcoord - v_textureCoordinates) > _SunScreenRadius // ? texture(colorTexture, v_textureCoordinates): getColor(v_textureCoordinates, sunTexcoord); out_FragColor = getColor(v_textureCoordinates, sunTexcoord); } `,Ont=`in vec2 v_textureCoordinates; uniform sampler2D colorTexture; const float threshold = 0.5;//0.99;//0.8;//0.5;//1.0; void main() { vec4 fragColor = texture(colorTexture, v_textureCoordinates); // Check whether fragment output is higher than threshold, if so output as brightness color float brightness = dot(fragColor.rgb, vec3(0.2126, 0.7152, 0.0722)); out_FragColor = brightness > threshold ? vec4(fragColor.rgb, 1.0) : vec4(0.0, 0.0, 0.0, 1.0); } `,qQi=` uniform mat4 u_eastNorthUpToFixedFrame; uniform mat4 u_r_eastNorthUpToFixedFrame; uniform bool u_bFlatten; uniform vec4 u_polygonBounds; uniform sampler2D u_polygonTexture; uniform bool u_clipPlaneOfFlatten; uniform bool u_ripple; uniform bool u_regionSnow; uniform bool u_heightFog; //out vec3 v_positionWC; //FlattenVS_v_positionEC //FlattenVS_v_normal //FlattenVS_a_normal // \u5728\u8303\u56F4\u5185 bool isPointInBound(vec4 point, vec4 bounds) { return (point.x>bounds.x && point.x<bounds.z && point.y<bounds.y && point.y>bounds.w); } float unpackDepth(const in vec4 rgba_depth) { // \u89E3\u7801\u6DF1\u5EA6 const vec4 bitShifts = vec4(1.0, 1.0 / 255.0, 1.0 / (255.0 * 255.0), 1.0 / (255.0 * 255.0 * 255.0)); float depth=dot(rgba_depth, bitShifts); return depth; } void main(void) { // \u4E4B\u524D\u7684\u529F\u80FD zhiu_flatten_main(); if (u_bFlatten && !u_clipPlaneOfFlatten && !u_ripple && !u_regionSnow && !u_heightFog) { // \u53D8\u6362\u5230\u4E16\u754C\u4F4D\u7F6E\uFF0C\u7136\u540E\u53C8\u5230 vec4 m_position = u_r_eastNorthUpToFixedFrame * vec4(FlattenVS_a_pos, 1.0); // \u662F\u5426\u5728\u8303\u56F4\u5185 if (isPointInBound(m_position, u_polygonBounds)) { vec2 texCoord; // texCoord.x = (m_position.x-u_polygonBounds.x)/(u_polygonBounds.z-u_polygonBounds.x); texCoord.y = (m_position.y-u_polygonBounds.w)/(u_polygonBounds.y-u_polygonBounds.w); // \u56FE\u7247\u5927\u5C0F\u662F float texelSize = 1.0/4096.0; // \u89E3\u7801\u6DF1\u5EA6 float depth0 = unpackDepth(texture(u_polygonTexture, texCoord.xy)); float depth1 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(-texelSize, 0.0))); float depth2 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(texelSize, 0.0))); float depth3 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(0.0, -texelSize))); float depth4 = unpackDepth(texture(u_polygonTexture, texCoord.xy + vec2(0.0, texelSize))); // \u83B7\u53D6\u6700\u5C0F\u7684\u6DF1\u5EA6 float minDepth = min(min(min(min(depth0, depth1), depth2), depth3), depth4); if (minDepth*5000.0 > 1.0) { float depth = max(max(max(max(depth0, depth1), depth2), depth3), depth4); m_position.z = depth*5000.0 + m_position.z * 0.01; } gl_Position = FlattenVS_u_proj * FlattenVS_u_mv * u_eastNorthUpToFixedFrame * m_position; vec3 weightedPosition = FlattenVS_a_pos; //vec3 weightedNormal = a_normal; vec4 position = vec4(weightedPosition, 1.0); v_positionWC = (czm_model * position).xyz; v_positionEC = position.xyz; } } if (u_bFlatten && u_clipPlaneOfFlatten) { v_position = FlattenVS_a_pos; } if (u_bFlatten && (u_ripple || u_regionSnow || u_heightFog)) { v_position = FlattenVS_a_pos ; } }`,Unt=qQi;function dz(o){this._angle=void 0,this._angleSubscription=void 0,this._radius=void 0,this._radiusSubscription=void 0,this._stack=void 0,this._stackSubscription=void 0,this._slice=void 0,this._sliceSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._show=void 0,this._showSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._definitionChanged=new ur,this._gaze=void 0,this._gazeSubscription=void 0,this.merge(oe(o,oe.EMPTY_OBJECT))}Object.defineProperties(dz.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:fi("show"),material:$p("material"),fill:fi("fill"),shadows:fi("shadows"),distanceDisplayCondition:fi("distanceDisplayCondition")});dz.prototype.clone=function(o){return O(o)?(o.angle=this.angle,o.radius=this.radius,o.stack=this.stack,o.slice=this.slice,o.show=this.show,o.material=this.material,o.color=this.color,o.fill=this.fill,o.outline=this.outline,o.outlineColor=this.outlineColor,o.outlineWidth=this.outlineWidth,o.shadows=this.shadows,o.distanceDisplayCondition=this.distanceDisplayCondition,o.gaze=this.gaze,o):new dz(this)};dz.prototype.merge=function(o){this.angle=oe(this.angle,o.angle),this.radius=oe(this.radius,o.radius),this.stack=oe(this.stack,o.stack),this.slice=oe(this.slice,o.slice),this.show=oe(this.show,o.show),this.color=oe(this.color,o.color),this.material=oe(this.material,o.material),this.fill=oe(this.fill,o.fill),this.outline=oe(this.outline,o.outline),this.outlineColor=oe(this.outlineColor,o.outlineColor),this.outlineWidth=oe(this.outlineWidth,o.outlineWidth),this.shadows=oe(this.shadows,o.shadows),this.distanceDisplayCondition=oe(this.distanceDisplayCondition,o.distanceDisplayCondition),this.gaze=oe(this.gaze,o.gaze)};var Jee=dz;function XQi(o){return new Cb(o)}function ZQi(o){return fi(o,void 0,XQi)}function ooe(o){o=o||{},this._position=void 0,this._orientation=void 0,this._show=void 0;let A=o.conicArcSensor;A instanceof Jee||(A=new Jee(A)),this._conicArcSensor=A,this._distanceDisplayCondition=new po,this._geometry=void 0,this._outlineGeometry=void 0,this._definitionChanged=new ur,this.merge(o)}Object.defineProperties(ooe.prototype,{position:ZQi("position"),orientation:fi("orientation"),show:fi("show")});ooe.prototype.merge=function(o){this.position=o.position,this.orientation=o.orientation,this.show=o.show};ooe.prototype.gazeAt=function(o){o instanceof nc&&(this._conicArcSensor.gaze=o)};var Kee=ooe,eHe=Math.cos,tHe=Math.sin;function Wee(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.angle,f=o.radius,m=Math.round(oe(o.stackPartitions,12)),C=Math.round(oe(o.slicePartitions,64)),E=oe(o.vertexFormat,Pr.DEFAULT);this._angle=A,this._radius=f,this._stackPartitions=m,this._slicePartitions=C,this._vertexFormat=E}Wee.fromDimensions=function(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.angle,f=o.radius,m=o.height,C=o.stackPartitions,E=o.slicePartitions;return new Wee({angle:A,radius:f,stackPartitions:C,slicePartitions:E,vertexFormat:o.vertexFormat})};Wee.createGeometry=function(o){console.time("createGeometry");let A=o._angle,f=o._radius,m=o._stackPartitions+1,C=o._slicePartitions+1,E=o._vertexFormat,x=new Fu,y,I=3*(C-1)+6*(C-1)*(m-2)+(C-1)*1*3,v=m*C,B=Bn.createTypedArray(v,I),Q=new Float64Array(v*3+(C-1)*3*3);if(E.position){let R=0,P=new Array(C),M=new Array(C);for(let L=0;L<C;L++){let F=Be.TWO_PI*L/(C-1);P[L]=eHe(F),M[L]=tHe(F),Q[R++]=0,Q[R++]=0,Q[R++]=-f}for(i=1;i<m;i++){let L=A*i/(m-1),F=tHe(L),k=f*F,N=f*F,G=f*eHe(L);for(let J=0;J<C;J++)Q[R++]=P[J]*k,Q[R++]=M[J]*N,Q[R++]=-G}y=R;for(let L=0;L<C-1;L++)Q[R++]=0,Q[R++]=0,Q[R++]=0,Q[R++]=Q[y-(C-L-1)*3],Q[R++]=Q[y-(C-L-1)*3+1],Q[R++]=Q[y-(C-L-1)*3+2],Q[R++]=Q[y-(C-L)*3],Q[R++]=Q[y-(C-L)*3+1],Q[R++]=Q[y-(C-L)*3+2];x.position=new wr({componentDatatype:Ft.DOUBLE,componentsPerAttribute:3,values:Q})}let T=0;for(let R=0;R<C-1;R++)B[T++]=C+R,B[T++]=C+R+1,B[T++]=R+1;let w,S;for(let R=1;R<m-1;R++){w=R*C,S=(R+1)*C;for(let P=0;P<C-1;P++)B[T++]=S+P,B[T++]=S+P+1,B[T++]=w+P+1,B[T++]=S+P,B[T++]=w+P+1,B[T++]=w+P}for(let R=0,P=(C-1)*3;R<P;R++)B[T++]=R+y/3;let D=new Uo({attributes:x,indices:B,primitiveType:on.TRIANGLES,boundingSphere:new hi(Z.ZERO,f)});return D=Zl.computeNormal(D),console.timeEnd("createGeometry"),D};var jee=Wee,qX=Math.cos,XX=Math.sin;function Gnt(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.angle,f=o.radius,m=Math.round(oe(o.stackPartitions,10)),C=Math.round(oe(o.slicePartitions,8)),E=Math.round(oe(o.subdivisions,128));this._angle=A,this._radius=f,this._stackPartitions=m,this._slicePartitions=C,this._subdivisions=E}Gnt.createGeometry=function(o){let A=o._angle,f=o._radius;if(f<=0||A<=0)return;let m=o._stackPartitions,C=o._slicePartitions,E=o._subdivisions,x=E*(m+C-1),y=x-C+2,I=new Float64Array(y*3),v=Bn.createTypedArray(y,x*2),B,Q,T,w,S,D,R=0,P=new Array(E),M=new Array(E);for(B=0;B<E;B++)T=Be.TWO_PI*B/E,P[B]=qX(T),M[B]=XX(T);for(B=1;B<m;B++)for(w=A*B/(m-1),S=qX(w),D=XX(w),Q=0;Q<E;Q++)I[R++]=f*P[Q]*D,I[R++]=f*M[Q]*D,I[R++]=-f*S;for(P.length=C,M.length=C,B=0;B<C;B++)T=Be.TWO_PI*B/C,P[B]=qX(T),M[B]=XX(T);for(I[R++]=0,I[R++]=0,I[R++]=-f,B=1;B<E;B++)for(w=A*B/E,S=qX(w),D=XX(w),Q=0;Q<C;Q++)I[R++]=f*P[Q]*D,I[R++]=f*M[Q]*D,I[R++]=-f*S;for(R=0,B=0;B<m-1;++B){let k=B*E;for(Q=0;Q<E-1;++Q)v[R++]=k+Q,v[R++]=k+Q+1;v[R++]=k+E-1,v[R++]=k}let L=E*(m-1);for(Q=1;Q<C+1;++Q)v[R++]=L,v[R++]=L+Q;for(B=0;B<E-2;++B){let k=B*C+1+L,N=(B+1)*C+1+L;for(Q=0;Q<C-1;++Q)v[R++]=N+Q,v[R++]=k+Q;v[R++]=N+C-1,v[R++]=k+C-1}let F=new Fu({position:new wr({componentDatatype:Ft.DOUBLE,componentsPerAttribute:3,values:I})});return new Uo({attributes:F,indices:v,primitiveType:on.LINES,boundingSphere:new hi(Z.ZERO,f)})};var qee=Gnt;function XJ(o){let A=this;if(!O(o))throw new Ai("viewer is required.");this._earthCtrl=o;let f=o.coreMap.scene;this._scene=f;let m=o.coreMap.clock;this._clock=m,this._primitives=f.primitives,this._primitive=void 0,this._outlinePrimitive=void 0,this._conicArcSensorCollection=[],m.onTick.addEventListener(function(){A.update()})}var Dde=new Gt,Tde=new Re,$Qi=new Z,eSi=new Z,iHe=new Z,rHe=new fr;XJ.prototype.add=function(o){return o instanceof Kee||(o=new Kee(o)),this._conicArcSensorCollection.push(o),o};XJ.prototype.remove=function(o){let A=this._conicArcSensorCollection.indexOf(o);A!==-1&&this._conicArcSensorCollection.splice(A,1)};XJ.prototype.removeAll=function(){this._conicArcSensorCollection.length=0};XJ.prototype.update=function(){let o=this._clock.currentTime,A=this._conicArcSensorCollection,f=this._primitives,m=this._primitive,C=this._outlinePrimitive,E=[],x=[];O(m)&&f.removeAndDestroy(m),O(C)&&f.removeAndDestroy(C);for(let y=0,I=A.length;y<I;y++){let v=A[y],B=v._conicArcSensor;if(!Bt.getValueOrDefault(B.show,o,!0))continue;let Q=B.angle,T=B.radius,w=B.stack,S=B.slice;if(!O(Q)||!Bt.getValueOrDefault(v.show,o,!0))continue;let D=Bt.getValueOrUndefined(v.position,o,$Qi);if(!O(D))continue;let R,P=B.gaze;if(O(P)){let J=Bt.getValueOrUndefined(P.position,o,eSi);if(!O(D)||!O(J))continue;let K=Z.subtract(D,J,iHe),X=Z.angleBetween(Z.UNIT_Z,K),q=Z.cross(Z.UNIT_Z,K,iHe),ee=fr.fromAxisAngle(q,X,rHe),ie=Z.distance(D,J);T=1,R=Re.fromRotationTranslation(Gt.multiplyByScalar(Gt.fromQuaternion(ee,Dde),ie,Dde),D,Tde)}else{let J=Bt.getValueOrUndefined(v.orientation,o,rHe);O(J)?R=Re.fromRotationTranslation(Gt.fromQuaternion(J,Dde),D,Tde):R=kr.eastNorthUpToFixedFrame(D,void 0,Tde)}if(!O(R))continue;let M=v._geometry;if(!O(M)){let J;J=new jee({vertexFormat:Pr.POSITION_AND_NORMAL,angle:Q,radius:T,stackPartitions:w,slicePartitions:S}),v._geometry=jee.createGeometry(J),M=v._geometry}let L=B.color,F=B.outline,k=B.outlineWidth;O(k)||(k=1);let N=B.outlineColor;O(N)||(N=Ve.WHITE);let G=new kn({geometry:M,modelMatrix:R,attributes:{color:_o.fromColor(L)}});if(E.push(G),F){let J=v._outlineGeometry;if(!O(J)){let X;X=new qee({vertexFormat:Pr.POSITION_ONLY,angle:Q,radius:T}),v._outlineGeometry=qee.createGeometry(X),J=v._outlineGeometry}let K=new kn({geometry:J,modelMatrix:R,attributes:{color:_o.fromColor(N)}});x.push(K)}}E.length>0&&(this._primitive=this._primitives.add(new ra({asynchronous:!1,geometryInstances:E,appearance:new La({flat:!1,translucent:!0,closed:!0})}))),x.length>0&&(this._outlinePrimitive=this._primitives.add(new ra({asynchronous:!1,geometryInstances:x,appearance:new La({flat:!0,translucent:!0,renderState:{lineWidth:this._scene.clampLineWidth(outlineWidth)}})})))};var Hnt=XJ;function fz(o){this._show=void 0,this._radius=void 0,this._xHalfAngle=void 0,this._yHalfAngle=void 0,this._lineColor=void 0,this._showSectorLines=void 0,this._showSectorSegmentLines=void 0,this._showLateralSurfaces=void 0,this._material=void 0,this._showDomeSurfaces=void 0,this._showDomeLines=void 0,this._showIntersection=void 0,this._intersectionColor=void 0,this._intersectionWidth=void 0,this._showThroughEllipsoid=void 0,this._gaze=void 0,this._showScanPlane=void 0,this._scanPlaneColor=void 0,this._scanPlaneMode=void 0,this._scanPlaneRate=void 0,this._definitionChanged=new ur,this.merge(oe(o,oe.EMPTY_OBJECT))}Object.defineProperties(fz.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:fi("show"),radius:fi("radius"),xHalfAngle:fi("xHalfAngle"),yHalfAngle:fi("yHalfAngle"),lineColor:fi("lineColor"),showSectorLines:fi("showSectorLines"),showSectorSegmentLines:fi("showSectorSegmentLines"),showLateralSurfaces:fi("showLateralSurfaces"),material:$p("material"),showDomeSurfaces:fi("showDomeSurfaces"),showDomeLines:fi("showDomeLines "),showIntersection:fi("showIntersection"),intersectionColor:fi("intersectionColor"),intersectionWidth:fi("intersectionWidth"),showThroughEllipsoid:fi("showThroughEllipsoid"),gaze:fi("gaze"),showScanPlane:fi("showScanPlane"),scanPlaneColor:fi("scanPlaneColor"),scanPlaneMode:fi("scanPlaneMode"),scanPlaneRate:fi("scanPlaneRate")});fz.prototype.clone=function(o){return O(o)||(o=new fz),o.show=this.show,o.radius=this.radius,o.xHalfAngle=this.xHalfAngle,o.yHalfAngle=this.yHalfAngle,o.lineColor=this.lineColor,o.showSectorLines=this.showSectorLines,o.showSectorSegmentLines=this.showSectorSegmentLines,o.showLateralSurfaces=this.showLateralSurfaces,o.material=this.material,o.showDomeSurfaces=this.showDomeSurfaces,o.showDomeLines=this.showDomeLines,o.showIntersection=this.showIntersection,o.intersectionColor=this.intersectionColor,o.intersectionWidth=this.intersectionWidth,o.showThroughEllipsoid=this.showThroughEllipsoid,o.gaze=this.gaze,o.showScanPlane=this.showScanPlane,o.scanPlaneColor=this.scanPlaneColor,o.scanPlaneMode=this.scanPlaneMode,o.scanPlaneRate=this.scanPlaneRate,o};fz.prototype.merge=function(o){if(!O(o))throw new Ai("source is required.");this.show=oe(this.show,o.show),this.radius=oe(this.radius,o.radius),this.xHalfAngle=oe(this.xHalfAngle,o.xHalfAngle),this.yHalfAngle=oe(this.yHalfAngle,o.yHalfAngle),this.lineColor=oe(this.lineColor,o.lineColor),this.showSectorLines=oe(this.showSectorLines,o.showSectorLines),this.showSectorSegmentLines=oe(this.showSectorSegmentLines,o.showSectorSegmentLines),this.showLateralSurfaces=oe(this.showLateralSurfaces,o.showLateralSurfaces),this.material=oe(this.material,o.material),this.showDomeSurfaces=oe(this.showDomeSurfaces,o.showDomeSurfaces),this.showDomeLines=oe(this.showDomeLines,o.showDomeLines),this.showIntersection=oe(this.showIntersection,o.showIntersection),this.intersectionColor=oe(this.intersectionColor,o.intersectionColor),this.intersectionWidth=oe(this.intersectionWidth,o.intersectionWidth),this.showThroughEllipsoid=oe(this.showThroughEllipsoid,o.showThroughEllipsoid),this.gaze=oe(this.gaze,o.gaze),this.showScanPlane=oe(this.showScanPlane,o.showScanPlane),this.scanPlaneColor=oe(this.scanPlaneColor,o.scanPlaneColor),this.scanPlaneMode=oe(this.scanPlaneMode,o.scanPlaneMode),this.scanPlaneRate=oe(this.scanPlaneRate,o.scanPlaneRate)};var Vnt=fz,tSi={encNONE:0,enrS3TCDXTN:14,enrPVRTPF_PVRTC2:19,enrPVRTPF_PVRTC:20,enrPVRTPF_PVRTC_4bpp:21,enrPVRTPF_ETC1:22},znt=Object.freeze(tSi),iSi={LUMINANCE_8:1,LUMINANCE_16:2,ALPHA:3,ALPHA_4_LUMINANCE_4:4,LUMINANCE_ALPHA:5,RGB_565:6,BGR565:7,RGB:10,BGR:11,ARGB:12,ABGR:13,BGRA:14,WEBP:25,RGBA:28,DXT1:17,DXT2:18,DXT3:19,DXT4:20,DXT5:21},Ynt=Object.freeze(iSi);function rSi(o,A,f){let m;try{return m=o(A,f),m}catch(C){return Promise.reject(C)}}function nSi(o){let A;return function(f){let m=f.data,C=[],E={id:m.id,result:void 0,error:void 0};return Promise.resolve(rSi(o,m.parameters,C)).then(function(x){E.result=x}).catch(function(x){x instanceof Error?E.error={name:x.name,message:x.message,stack:x.stack}:E.error=x}).finally(function(){O(A)||(A=oe(self.webkitPostMessage,self.postMessage)),m.canTransferArrayBuffer||(C.length=0);try{A(E,C)}catch(x){E.result=void 0,E.error=`postMessage failed with error: ${F4(x)} with responseMessage: ${JSON.stringify(E)}`,A(E)}})}}var Jnt=nSi;globalThis.CESIUM_VERSION="1.106";/** * @license * Knockout ES5 plugin - https://github.com/SteveSanderson/knockout-es5 * Copyright (c) Steve Sanderson * MIT license */var $ge="__knockoutObservables",e0e="__knockoutSubscribable";function Knt(o,A){if(!o)throw new Error("When calling ko.track, you must pass an object as the first parameter.");var f=this,m=Wnt(o,!0);return A=A||Object.getOwnPropertyNames(o),A.forEach(function(C){if(!(C===$ge||C===e0e)&&!(C in m)){var E=o[C],x=E instanceof Array,y=f.isObservable(E)?E:x?f.observableArray(E):f.observable(E);Object.defineProperty(o,C,{configurable:!0,enumerable:!0,get:y,set:f.isWriteableObservable(y)?y:void 0}),m[C]=y,x&&aSi(f,y)}}),o}function Wnt(o,A){var f=o[$ge];return!f&&A&&(f={},Object.defineProperty(o,$ge,{value:f})),f}function oSi(o,A,f){var m=this,C={owner:o,deferEvaluation:!0};if(typeof f=="function")C.read=f;else{if("value"in f)throw new Error('For ko.defineProperty, you must not specify a "value" for the property. You must provide a "get" function.');if(typeof f.get!="function")throw new Error('For ko.defineProperty, the third parameter must be either an evaluator function, or an options object containing a function called "get".');C.read=f.get,C.write=f.set}return o[A]=m.computed(C),Knt.call(m,o,[A]),o}function aSi(o,A){var f=null;o.computed(function(){f&&(f.dispose(),f=null);var m=A();m instanceof Array&&(f=sSi(o,A,m))})}function sSi(o,A,f){var m=lSi(o,f);return m.subscribe(A)}function lSi(o,A){var f=A[e0e];if(!f){f=new o.subscribable,Object.defineProperty(A,e0e,{value:f});var m={};uSi(A,f,m),ASi(o,A,f,m)}return f}function uSi(o,A,f){["pop","push","reverse","shift","sort","splice","unshift"].forEach(function(m){var C=o[m];o[m]=function(){var E=C.apply(this,arguments);return f.pause!==!0&&A.notifySubscribers(this),E}})}function ASi(o,A,f,m){["remove","removeAll","destroy","destroyAll","replace"].forEach(function(C){Object.defineProperty(A,C,{enumerable:!1,value:function(){var E;m.pause=!0;try{E=o.observableArray.fn[C].apply(o.observableArray(A),arguments)}finally{m.pause=!1}return f.notifySubscribers(A),E}})})}function jnt(o,A){if(!o)return null;var f=Wnt(o,!1);return f&&f[A]||null}function cSi(o,A){var f=jnt(o,A);f&&f.valueHasMutated()}function hSi(o){o.track=Knt,o.getObservable=jnt,o.valueHasMutated=cSi,o.defineProperty=oSi}var GQe={attachToKo:hSi},nHe="http://www.w3.org/2000/svg",oHe="cesium-svgPath-svg",dSi={register:function(o){o.bindingHandlers.cesiumSvgPath={init:function(A,f){let m=document.createElementNS(nHe,"svg:svg");m.setAttribute("class",oHe);let C=document.createElementNS(nHe,"path");return m.appendChild(C),o.virtualElements.setDomNodeChildren(A,[m]),o.computed({read:function(){let E=o.unwrap(f());C.setAttribute("d",o.unwrap(E.path));let x=o.unwrap(E.width),y=o.unwrap(E.height);m.setAttribute("width",x),m.setAttribute("height",y),m.setAttribute("viewBox",`0 0 ${x} ${y}`),E.css&&m.setAttribute("class",`${oHe} ${o.unwrap(E.css)}`)},disposeWhenNodeIsRemoved:A}),{controlsDescendantBindings:!0}}},o.virtualElements.allowedBindings.cesiumSvgPath=!0}},HQe=dSi;GQe.attachToKo(QT);HQe.register(QT);var qi=QT;function ZJ(o){O(o)||(o=new mG),this._clock=o,this._eventHelper=new Gx,this._eventHelper.add(o.onTick,this.synchronize,this),this.systemTime=qi.observable(Zt.now()),this.systemTime.equalityComparer=Zt.equals,this.startTime=qi.observable(o.startTime),this.startTime.equalityComparer=Zt.equals,this.startTime.subscribe(function(A){o.startTime=A,this.synchronize()},this),this.stopTime=qi.observable(o.stopTime),this.stopTime.equalityComparer=Zt.equals,this.stopTime.subscribe(function(A){o.stopTime=A,this.synchronize()},this),this.currentTime=qi.observable(o.currentTime),this.currentTime.equalityComparer=Zt.equals,this.currentTime.subscribe(function(A){o.currentTime=A,this.synchronize()},this),this.multiplier=qi.observable(o.multiplier),this.multiplier.subscribe(function(A){o.multiplier=A,this.synchronize()},this),this.clockStep=qi.observable(o.clockStep),this.clockStep.subscribe(function(A){o.clockStep=A,this.synchronize()},this),this.clockRange=qi.observable(o.clockRange),this.clockRange.subscribe(function(A){o.clockRange=A,this.synchronize()},this),this.canAnimate=qi.observable(o.canAnimate),this.canAnimate.subscribe(function(A){o.canAnimate=A,this.synchronize()},this),this.shouldAnimate=qi.observable(o.shouldAnimate),this.shouldAnimate.subscribe(function(A){o.shouldAnimate=A,this.synchronize()},this),qi.track(this,["systemTime","startTime","stopTime","currentTime","multiplier","clockStep","clockRange","canAnimate","shouldAnimate"])}Object.defineProperties(ZJ.prototype,{clock:{get:function(){return this._clock}}});ZJ.prototype.synchronize=function(){let o=this._clock;this.systemTime=Zt.now(),this.startTime=o.startTime,this.stopTime=o.stopTime,this.currentTime=o.currentTime,this.multiplier=o.multiplier,this.clockStep=o.clockStep,this.clockRange=o.clockRange,this.canAnimate=o.canAnimate,this.shouldAnimate=o.shouldAnimate};ZJ.prototype.isDestroyed=function(){return!1};ZJ.prototype.destroy=function(){this._eventHelper.removeAll(),Ar(this)};var VQe=ZJ;function fSi(){this.canExecute=void 0,this.beforeExecute=void 0,this.afterExecute=void 0,Ai.throwInstantiationError()}var qnt=fSi;function gSi(o,A){A=oe(A,!0);let f=new ur,m=new ur;function C(){let E={args:arguments,cancel:!1},x;return f.raiseEvent(E),E.cancel||(x=o.apply(null,arguments),m.raiseEvent(x)),x}return C.canExecute=A,qi.track(C,["canExecute"]),Object.defineProperties(C,{beforeExecute:{value:f},afterExecute:{value:m}}),C}var Xs=gSi,$J={};$J.createCheckbox=function(o,A,f){let m=document.createElement("div"),C=document.createElement("label"),E=document.createElement("input");E.type="checkbox";let x=`checked: ${A}`;return O(f)&&(x+=`, enable: ${f}`),E.setAttribute("data-bind",x),C.appendChild(E),C.appendChild(document.createTextNode(o)),m.appendChild(C),m};$J.createSection=function(o,A,f,m){let C=document.createElement("div");C.className="cesium-cesiumInspector-section",C.setAttribute("data-bind",`css: { "cesium-cesiumInspector-section-collapsed": !${f} }`),o.appendChild(C);let E=document.createElement("h3");E.className="cesium-cesiumInspector-sectionHeader",E.appendChild(document.createTextNode(A)),E.setAttribute("data-bind",`click: ${m}`),C.appendChild(E);let x=document.createElement("div");return x.className="cesium-cesiumInspector-sectionContent",C.appendChild(x),x};$J.createRangeInput=function(o,A,f,m,C,E){E=oe(E,A);let x=document.createElement("input");x.setAttribute("data-bind",`value: ${E}`),x.type="number";let y=document.createElement("input");y.type="range",y.min=f,y.max=m,y.step=oe(C,"any"),y.setAttribute("data-bind",`valueUpdate: "input", value: ${A}`);let I=document.createElement("div");I.appendChild(y);let v=document.createElement("div");return v.className="cesium-cesiumInspector-slider",v.appendChild(document.createTextNode(o)),v.appendChild(x),v.appendChild(I),v};$J.createButton=function(o,A,f){let m=document.createElement("button");m.type="button",m.textContent=o,m.className="cesium-cesiumInspector-pickButton";let C=`click: ${A}`;return O(f)&&(C+=`, css: {"cesium-cesiumInspector-pickButtonHighlight" : ${f}}`),m.setAttribute("data-bind",C),m};var tI=$J;function pSi(o,A,f,m,C){return f.call(m,o[A]),qi.getObservable(o,A).subscribe(f,m,C)}var Ix=pSi;function Xnt(o,A){this._command=o,A=oe(A,oe.EMPTY_OBJECT),this.toggled=oe(A.toggled,!1),this.tooltip=oe(A.tooltip,""),qi.track(this,["toggled","tooltip"])}Object.defineProperties(Xnt.prototype,{command:{get:function(){return this._command}}});var g5=Xnt,$F="http://www.w3.org/2000/svg",Znt="http://www.w3.org/1999/xlink",ZX,zV=Ve.fromCssColorString("rgba(247,250,255,0.384)"),$X=Ve.fromCssColorString("rgba(143,191,255,0.216)"),Mde=Ve.fromCssColorString("rgba(153,197,255,0.098)"),eZ=Ve.fromCssColorString("rgba(255,255,255,0.086)"),mSi=Ve.fromCssColorString("rgba(255,255,255,0.267)"),CSi=Ve.fromCssColorString("rgba(255,255,255,0)"),aHe=Ve.fromCssColorString("rgba(66,67,68,0.3)"),sHe=Ve.fromCssColorString("rgba(0,0,0,0.5)");function g2(o){return Ve.fromCssColorString(window.getComputedStyle(o).getPropertyValue("color"))}var gz={animation_pathReset:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M24.316,5.318,9.833,13.682,9.833,5.5,5.5,5.5,5.5,25.5,9.833,25.5,9.833,17.318,24.316,25.682z"},animation_pathPause:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M13,5.5,7.5,5.5,7.5,25.5,13,25.5zM24.5,5.5,19,5.5,19,25.5,24.5,25.5z"},animation_pathPlay:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M6.684,25.682L24.316,15.5L6.684,5.318V25.682z"},animation_pathPlayReverse:{tagName:"path",transform:"translate(16,16) scale(-0.85,0.85) translate(-16,-16)",d:"M6.684,25.682L24.316,15.5L6.684,5.318V25.682z"},animation_pathLoop:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M24.249,15.499c-0.009,4.832-3.918,8.741-8.75,8.75c-2.515,0-4.768-1.064-6.365-2.763l2.068-1.442l-7.901-3.703l0.744,8.694l2.193-1.529c2.244,2.594,5.562,4.242,9.26,4.242c6.767,0,12.249-5.482,12.249-12.249H24.249zM15.499,6.75c2.516,0,4.769,1.065,6.367,2.764l-2.068,1.443l7.901,3.701l-0.746-8.693l-2.192,1.529c-2.245-2.594-5.562-4.245-9.262-4.245C8.734,3.25,3.25,8.734,3.249,15.499H6.75C6.758,10.668,10.668,6.758,15.499,6.75z"},animation_pathClock:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-15.5)",d:"M15.5,2.374C8.251,2.375,2.376,8.251,2.374,15.5C2.376,22.748,8.251,28.623,15.5,28.627c7.249-0.004,13.124-5.879,13.125-13.127C28.624,8.251,22.749,2.375,15.5,2.374zM15.5,25.623C9.909,25.615,5.385,21.09,5.375,15.5C5.385,9.909,9.909,5.384,15.5,5.374c5.59,0.01,10.115,4.535,10.124,10.125C25.615,21.09,21.091,25.615,15.5,25.623zM8.625,15.5c-0.001-0.552-0.448-0.999-1.001-1c-0.553,0-1,0.448-1,1c0,0.553,0.449,1,1,1C8.176,16.5,8.624,16.053,8.625,15.5zM8.179,18.572c-0.478,0.277-0.642,0.889-0.365,1.367c0.275,0.479,0.889,0.641,1.365,0.365c0.479-0.275,0.643-0.887,0.367-1.367C9.27,18.461,8.658,18.297,8.179,18.572zM9.18,10.696c-0.479-0.276-1.09-0.112-1.366,0.366s-0.111,1.09,0.365,1.366c0.479,0.276,1.09,0.113,1.367-0.366C9.821,11.584,9.657,10.973,9.18,10.696zM22.822,12.428c0.478-0.275,0.643-0.888,0.366-1.366c-0.275-0.478-0.89-0.642-1.366-0.366c-0.479,0.278-0.642,0.89-0.366,1.367C21.732,12.54,22.344,12.705,22.822,12.428zM12.062,21.455c-0.478-0.275-1.089-0.111-1.366,0.367c-0.275,0.479-0.111,1.09,0.366,1.365c0.478,0.277,1.091,0.111,1.365-0.365C12.704,22.344,12.54,21.732,12.062,21.455zM12.062,9.545c0.479-0.276,0.642-0.888,0.366-1.366c-0.276-0.478-0.888-0.642-1.366-0.366s-0.642,0.888-0.366,1.366C10.973,9.658,11.584,9.822,12.062,9.545zM22.823,18.572c-0.48-0.275-1.092-0.111-1.367,0.365c-0.275,0.479-0.112,1.092,0.367,1.367c0.477,0.275,1.089,0.113,1.365-0.365C23.464,19.461,23.3,18.848,22.823,18.572zM19.938,7.813c-0.477-0.276-1.091-0.111-1.365,0.366c-0.275,0.48-0.111,1.091,0.366,1.367s1.089,0.112,1.366-0.366C20.581,8.702,20.418,8.089,19.938,7.813zM23.378,14.5c-0.554,0.002-1.001,0.45-1.001,1c0.001,0.552,0.448,1,1.001,1c0.551,0,1-0.447,1-1C24.378,14.949,23.929,14.5,23.378,14.5zM15.501,6.624c-0.552,0-1,0.448-1,1l-0.466,7.343l-3.004,1.96c-0.478,0.277-0.642,0.889-0.365,1.365c0.275,0.479,0.889,0.643,1.365,0.367l3.305-1.676C15.39,16.99,15.444,17,15.501,17c0.828,0,1.5-0.671,1.5-1.5l-0.5-7.876C16.501,7.072,16.053,6.624,15.501,6.624zM15.501,22.377c-0.552,0-1,0.447-1,1s0.448,1,1,1s1-0.447,1-1S16.053,22.377,15.501,22.377zM18.939,21.455c-0.479,0.277-0.643,0.889-0.366,1.367c0.275,0.477,0.888,0.643,1.366,0.365c0.478-0.275,0.642-0.889,0.366-1.365C20.028,21.344,19.417,21.18,18.939,21.455z"},animation_pathWingButton:{tagName:"path",d:"m 4.5,0.5 c -2.216,0 -4,1.784 -4,4 l 0,24 c 0,2.216 1.784,4 4,4 l 13.71875,0 C 22.478584,27.272785 27.273681,22.511272 32.5,18.25 l 0,-13.75 c 0,-2.216 -1.784,-4 -4,-4 l -24,0 z"},animation_pathPointer:{tagName:"path",d:"M-15,-65,-15,-55,15,-55,15,-65,0,-95z"},animation_pathSwooshFX:{tagName:"path",d:"m 85,0 c 0,16.617 -4.813944,35.356 -13.131081,48.4508 h 6.099803 c 8.317138,-13.0948 13.13322,-28.5955 13.13322,-45.2124 0,-46.94483 -38.402714,-85.00262 -85.7743869,-85.00262 -1.0218522,0 -2.0373001,0.0241 -3.0506131,0.0589 45.958443,1.59437 82.723058,35.77285 82.723058,81.70532 z"}};function JB(o){let A=document.createElementNS($F,o.tagName);for(let f in o)if(o.hasOwnProperty(f)&&f!=="tagName")if(f==="children"){let m=o.children.length;for(let C=0;C<m;++C)A.appendChild(JB(o.children[C]))}else f.indexOf("xlink:")===0?A.setAttributeNS(Znt,f.substring(6),o[f]):f==="textContent"?A.textContent=o[f]:A.setAttribute(f,o[f]);return A}function Pde(o,A,f){let m=document.createElementNS($F,"text");m.setAttribute("x",o),m.setAttribute("y",A),m.setAttribute("class","cesium-animation-svgText");let C=document.createElementNS($F,"tspan");return C.textContent=f,m.appendChild(C),m}function ESi(o,A,f){o.setAttribute("transform",`translate(100,100) rotate(${f})`),A.setAttribute("transform",`rotate(${f})`)}var tZ=new Ve;function ff(o,A){let f=A.alpha,m=1-f;return tZ.red=o.red*m+A.red*f,tZ.green=o.green*m+A.green*f,tZ.blue=o.blue*m+A.blue*f,tZ.toCssColorString()}function Rde(o,A,f){let m=gz[f],C={tagName:"g",class:"cesium-animation-rectButton",transform:`translate(${o},${A})`,children:[{tagName:"rect",class:"cesium-animation-buttonGlow",width:32,height:32,rx:2,ry:2},{tagName:"rect",class:"cesium-animation-buttonMain",width:32,height:32,rx:4,ry:4},{class:"cesium-animation-buttonPath",id:f,tagName:m.tagName,transform:m.transform,d:m.d},{tagName:"title",textContent:""}]};return JB(C)}function xSi(o,A,f){let m=gz[f],C=gz.animation_pathWingButton,E={tagName:"g",class:"cesium-animation-rectButton",transform:`translate(${o},${A})`,children:[{class:"cesium-animation-buttonGlow",id:"animation_pathWingButton",tagName:C.tagName,d:C.d},{class:"cesium-animation-buttonMain",id:"animation_pathWingButton",tagName:C.tagName,d:C.d},{class:"cesium-animation-buttonPath",id:f,tagName:m.tagName,transform:m.transform,d:m.d},{tagName:"title",textContent:""}]};return JB(E)}function ySi(o,A){let f=o._viewModel,m=f.shuttleRingDragging;if(!(m&&ZX!==o))if(A.type==="mousedown"||m&&A.type==="mousemove"||A.type==="touchstart"&&A.touches.length===1||m&&A.type==="touchmove"&&A.touches.length===1){let C=o._centerX,E=o._centerY,x=o._svgNode.getBoundingClientRect(),y,I;if(A.type==="touchstart"||A.type==="touchmove"?(y=A.touches[0].clientX,I=A.touches[0].clientY):(y=A.clientX,I=A.clientY),!m&&(y>x.right||y<x.left||I<x.top||I>x.bottom))return;let v=o._shuttleRingPointer.getBoundingClientRect(),B=y-C-x.left,Q=I-E-x.top,T=Math.atan2(Q,B)*180/Math.PI+90;T>180&&(T-=360);let w=f.shuttleRingAngle;m||y<v.right&&y>v.left&&I>v.top&&I<v.bottom?(ZX=o,f.shuttleRingDragging=!0,f.shuttleRingAngle=T):T<w?f.slower():T>w&&f.faster(),A.preventDefault()}else o===ZX&&(ZX=void 0),f.shuttleRingDragging=!1}function lD(o,A){this._viewModel=A,this.svgElement=o,this._enabled=void 0,this._toggled=void 0;let f=this;this._clickFunction=function(){let m=f._viewModel.command;m.canExecute&&m()},o.addEventListener("click",this._clickFunction,!0),this._subscriptions=[Ix(A,"toggled",this.setToggled,this),Ix(A,"tooltip",this.setTooltip,this),Ix(A.command,"canExecute",this.setEnabled,this)]}lD.prototype.destroy=function(){this.svgElement.removeEventListener("click",this._clickFunction,!0);let o=this._subscriptions;for(let A=0,f=o.length;A<f;A++)o[A].dispose();Ar(this)};lD.prototype.isDestroyed=function(){return!1};lD.prototype.setEnabled=function(o){if(this._enabled!==o){if(this._enabled=o,!o){this.svgElement.setAttribute("class","cesium-animation-buttonDisabled");return}if(this._toggled){this.svgElement.setAttribute("class","cesium-animation-rectButton cesium-animation-buttonToggled");return}this.svgElement.setAttribute("class","cesium-animation-rectButton")}};lD.prototype.setToggled=function(o){this._toggled!==o&&(this._toggled=o,this._enabled&&(o?this.svgElement.setAttribute("class","cesium-animation-rectButton cesium-animation-buttonToggled"):this.svgElement.setAttribute("class","cesium-animation-rectButton")))};lD.prototype.setTooltip=function(o){this.svgElement.getElementsByTagName("title")[0].textContent=o};function P8(o,A){o=tc(o),this._viewModel=A,this._container=o,this._centerX=0,this._centerY=0,this._defsElement=void 0,this._svgNode=void 0,this._topG=void 0,this._lastHeight=void 0,this._lastWidth=void 0;let f=o.ownerDocument,m=document.createElement("style");m.textContent=".cesium-animation-rectButton .cesium-animation-buttonGlow { filter: url(#animation_blurred); }.cesium-animation-rectButton .cesium-animation-buttonMain { fill: url(#animation_buttonNormal); }.cesium-animation-buttonToggled .cesium-animation-buttonMain { fill: url(#animation_buttonToggled); }.cesium-animation-rectButton:hover .cesium-animation-buttonMain { fill: url(#animation_buttonHovered); }.cesium-animation-buttonDisabled .cesium-animation-buttonMain { fill: url(#animation_buttonDisabled); }.cesium-animation-shuttleRingG .cesium-animation-shuttleRingSwoosh { fill: url(#animation_shuttleRingSwooshGradient); }.cesium-animation-shuttleRingG:hover .cesium-animation-shuttleRingSwoosh { fill: url(#animation_shuttleRingSwooshHovered); }.cesium-animation-shuttleRingPointer { fill: url(#animation_shuttleRingPointerGradient); }.cesium-animation-shuttleRingPausePointer { fill: url(#animation_shuttleRingPointerPaused); }.cesium-animation-knobOuter { fill: url(#animation_knobOuter); }.cesium-animation-knobInner { fill: url(#animation_knobInner); }",f.head.insertBefore(m,f.head.childNodes[0]);let C=document.createElement("div");C.className="cesium-animation-theme",C.innerHTML='<div class="cesium-animation-themeNormal"></div><div class="cesium-animation-themeHover"></div><div class="cesium-animation-themeSelect"></div><div class="cesium-animation-themeDisabled"></div><div class="cesium-animation-themeKnob"></div><div class="cesium-animation-themePointer"></div><div class="cesium-animation-themeSwoosh"></div><div class="cesium-animation-themeSwooshHover"></div>',this._theme=C,this._themeNormal=C.childNodes[0],this._themeHover=C.childNodes[1],this._themeSelect=C.childNodes[2],this._themeDisabled=C.childNodes[3],this._themeKnob=C.childNodes[4],this._themePointer=C.childNodes[5],this._themeSwoosh=C.childNodes[6],this._themeSwooshHover=C.childNodes[7];let E=document.createElementNS($F,"svg:svg");this._svgNode=E,E.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink",Znt);let x=document.createElementNS($F,"g");this._topG=x,this._realtimeSVG=new lD(xSi(3,4,"animation_pathClock"),A.playRealtimeViewModel),this._playReverseSVG=new lD(Rde(44,99,"animation_pathPlayReverse"),A.playReverseViewModel),this._playForwardSVG=new lD(Rde(124,99,"animation_pathPlay"),A.playForwardViewModel),this._pauseSVG=new lD(Rde(84,99,"animation_pathPause"),A.pauseViewModel);let y=document.createElementNS($F,"g");y.appendChild(this._realtimeSVG.svgElement),y.appendChild(this._playReverseSVG.svgElement),y.appendChild(this._playForwardSVG.svgElement),y.appendChild(this._pauseSVG.svgElement);let I=JB({tagName:"circle",class:"cesium-animation-shuttleRingBack",cx:100,cy:100,r:99});this._shuttleRingBackPanel=I;let v=gz.animation_pathSwooshFX,B=gz.animation_pathPointer,Q=JB({tagName:"g",class:"cesium-animation-shuttleRingSwoosh",children:[{tagName:v.tagName,transform:"translate(100,97) scale(-1,1)",id:"animation_pathSwooshFX",d:v.d},{tagName:v.tagName,transform:"translate(100,97)",id:"animation_pathSwooshFX",d:v.d},{tagName:"line",x1:100,y1:8,x2:100,y2:22}]});this._shuttleRingSwooshG=Q,this._shuttleRingPointer=JB({class:"cesium-animation-shuttleRingPointer",id:"animation_pathPointer",tagName:B.tagName,d:B.d});let T=JB({tagName:"g",transform:"translate(100,100)"});this._knobOuter=JB({tagName:"circle",class:"cesium-animation-knobOuter",cx:0,cy:0,r:71});let w=61,S=JB({tagName:"circle",class:"cesium-animation-knobInner",cx:0,cy:0,r:w});this._knobDate=Pde(0,-24,""),this._knobTime=Pde(0,-7,""),this._knobStatus=Pde(0,-41,"");let D=JB({tagName:"circle",class:"cesium-animation-blank",cx:0,cy:0,r:w}),R=document.createElementNS($F,"g");R.setAttribute("class","cesium-animation-shuttleRingG"),o.appendChild(C),x.appendChild(R),x.appendChild(T),x.appendChild(y),R.appendChild(I),R.appendChild(Q),R.appendChild(this._shuttleRingPointer),T.appendChild(this._knobOuter),T.appendChild(S),T.appendChild(this._knobDate),T.appendChild(this._knobTime),T.appendChild(this._knobStatus),T.appendChild(D),E.appendChild(x),o.appendChild(E);let P=this;function M(G){ySi(P,G)}this._mouseCallback=M,I.addEventListener("mousedown",M,!0),I.addEventListener("touchstart",M,!0),Q.addEventListener("mousedown",M,!0),Q.addEventListener("touchstart",M,!0),f.addEventListener("mousemove",M,!0),f.addEventListener("touchmove",M,!0),f.addEventListener("mouseup",M,!0),f.addEventListener("touchend",M,!0),f.addEventListener("touchcancel",M,!0),this._shuttleRingPointer.addEventListener("mousedown",M,!0),this._shuttleRingPointer.addEventListener("touchstart",M,!0),this._knobOuter.addEventListener("mousedown",M,!0),this._knobOuter.addEventListener("touchstart",M,!0);let L=this._knobTime.childNodes[0],F=this._knobDate.childNodes[0],k=this._knobStatus.childNodes[0],N;this._subscriptions=[Ix(A.pauseViewModel,"toggled",function(G){N!==G&&(N=G,N?P._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPausePointer"):P._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPointer"))}),Ix(A,"shuttleRingAngle",function(G){ESi(P._shuttleRingPointer,P._knobOuter,G)}),Ix(A,"dateLabel",function(G){F.textContent!==G&&(F.textContent=G)}),Ix(A,"timeLabel",function(G){L.textContent!==G&&(L.textContent=G)}),Ix(A,"multiplierLabel",function(G){k.textContent!==G&&(k.textContent=G)})],this.applyThemeChanges(),this.resize()}Object.defineProperties(P8.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});P8.prototype.isDestroyed=function(){return!1};P8.prototype.destroy=function(){O(this._observer)&&(this._observer.disconnect(),this._observer=void 0);let o=this._container.ownerDocument,A=this._mouseCallback;this._shuttleRingBackPanel.removeEventListener("mousedown",A,!0),this._shuttleRingBackPanel.removeEventListener("touchstart",A,!0),this._shuttleRingSwooshG.removeEventListener("mousedown",A,!0),this._shuttleRingSwooshG.removeEventListener("touchstart",A,!0),o.removeEventListener("mousemove",A,!0),o.removeEventListener("touchmove",A,!0),o.removeEventListener("mouseup",A,!0),o.removeEventListener("touchend",A,!0),o.removeEventListener("touchcancel",A,!0),this._shuttleRingPointer.removeEventListener("mousedown",A,!0),this._shuttleRingPointer.removeEventListener("touchstart",A,!0),this._knobOuter.removeEventListener("mousedown",A,!0),this._knobOuter.removeEventListener("touchstart",A,!0),this._container.removeChild(this._svgNode),this._container.removeChild(this._theme),this._realtimeSVG.destroy(),this._playReverseSVG.destroy(),this._playForwardSVG.destroy(),this._pauseSVG.destroy();let f=this._subscriptions;for(let m=0,C=f.length;m<C;m++)f[m].dispose();return Ar(this)};P8.prototype.resize=function(){let o=this._container.clientWidth,A=this._container.clientHeight;if(o===this._lastWidth&&A===this._lastHeight)return;let f=this._svgNode,m=200,C=132,E=o,x=A;o===0&&A===0?(E=m,x=C):o===0?(x=A,E=m*(A/C)):A===0&&(E=o,x=C*(o/m));let y=E/m,I=x/C;f.style.cssText=`width: ${E}px; height: ${x}px; position: absolute; bottom: 0; left: 0; overflow: hidden;`,f.setAttribute("width",E),f.setAttribute("height",x),f.setAttribute("viewBox",`0 0 ${E} ${x}`),this._topG.setAttribute("transform",`scale(${y},${I})`),this._centerX=Math.max(1,100*y),this._centerY=Math.max(1,100*I),this._lastHeight=o,this._lastWidth=A};P8.prototype.applyThemeChanges=function(){let o=this._container.ownerDocument;if(!o.body.contains(this._container)){if(O(this._observer))return;let B=this;B._observer=new MutationObserver(function(){o.body.contains(B._container)&&(B._observer.disconnect(),B._observer=void 0,B.applyThemeChanges())}),B._observer.observe(o,{childList:!0,subtree:!0});return}let A=g2(this._themeNormal),f=g2(this._themeHover),m=g2(this._themeSelect),C=g2(this._themeDisabled),E=g2(this._themeKnob),x=g2(this._themePointer),y=g2(this._themeSwoosh),I=g2(this._themeSwooshHover),v=JB({tagName:"defs",children:[{id:"animation_buttonNormal",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":ff(A,zV)},{tagName:"stop",offset:"12%","stop-color":ff(A,$X)},{tagName:"stop",offset:"46%","stop-color":ff(A,Mde)},{tagName:"stop",offset:"81%","stop-color":ff(A,eZ)}]},{id:"animation_buttonHovered",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":ff(f,zV)},{tagName:"stop",offset:"12%","stop-color":ff(f,$X)},{tagName:"stop",offset:"46%","stop-color":ff(f,Mde)},{tagName:"stop",offset:"81%","stop-color":ff(f,eZ)}]},{id:"animation_buttonToggled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":ff(m,zV)},{tagName:"stop",offset:"12%","stop-color":ff(m,$X)},{tagName:"stop",offset:"46%","stop-color":ff(m,Mde)},{tagName:"stop",offset:"81%","stop-color":ff(m,eZ)}]},{id:"animation_buttonDisabled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":ff(C,mSi)},{tagName:"stop",offset:"75%","stop-color":ff(C,CSi)}]},{id:"animation_blurred",tagName:"filter",width:"200%",height:"200%",x:"-50%",y:"-50%",children:[{tagName:"feGaussianBlur",stdDeviation:4,in:"SourceGraphic"}]},{id:"animation_shuttleRingSwooshGradient",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-opacity":.2,"stop-color":y.toCssColorString()},{tagName:"stop",offset:"85%","stop-opacity":.85,"stop-color":y.toCssColorString()},{tagName:"stop",offset:"95%","stop-opacity":.05,"stop-color":y.toCssColorString()}]},{id:"animation_shuttleRingSwooshHovered",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-opacity":.2,"stop-color":I.toCssColorString()},{tagName:"stop",offset:"85%","stop-opacity":.85,"stop-color":I.toCssColorString()},{tagName:"stop",offset:"95%","stop-opacity":.05,"stop-color":I.toCssColorString()}]},{id:"animation_shuttleRingPointerGradient",tagName:"linearGradient",x1:"0%",y1:"50%",x2:"100%",y2:"50%",children:[{tagName:"stop",offset:"0%","stop-color":x.toCssColorString()},{tagName:"stop",offset:"40%","stop-color":x.toCssColorString()},{tagName:"stop",offset:"60%","stop-color":ff(x,sHe)},{tagName:"stop",offset:"100%","stop-color":ff(x,sHe)}]},{id:"animation_shuttleRingPointerPaused",tagName:"linearGradient",x1:"0%",y1:"50%",x2:"100%",y2:"50%",children:[{tagName:"stop",offset:"0%","stop-color":"#CCC"},{tagName:"stop",offset:"40%","stop-color":"#CCC"},{tagName:"stop",offset:"60%","stop-color":"#555"},{tagName:"stop",offset:"100%","stop-color":"#555"}]},{id:"animation_knobOuter",tagName:"linearGradient",x1:"20%",y1:"0%",x2:"90%",y2:"100%",children:[{tagName:"stop",offset:"5%","stop-color":ff(E,zV)},{tagName:"stop",offset:"60%","stop-color":ff(E,aHe)},{tagName:"stop",offset:"85%","stop-color":ff(E,$X)}]},{id:"animation_knobInner",tagName:"linearGradient",x1:"20%",y1:"0%",x2:"90%",y2:"100%",children:[{tagName:"stop",offset:"5%","stop-color":ff(E,aHe)},{tagName:"stop",offset:"60%","stop-color":ff(E,zV)},{tagName:"stop",offset:"85%","stop-color":ff(E,eZ)}]}]});O(this._defsElement)?this._svgNode.replaceChild(v,this._defsElement):this._svgNode.appendChild(v),this._defsElement=v};var zQe=P8,pP=15,K5=105;function $nt(o,A){return o-A}function Lde(o,A){let f=d0(A,o,$nt);return f<0?~f:f}function ISi(o,A){if(Math.abs(o)<=pP)return o/pP;let f=pP,m=K5,C,E=0,x;return o>0?(C=Math.log(A[A.length-1]),x=(C-E)/(m-f),Math.exp(E+x*(o-f))):(C=Math.log(-A[0]),x=(C-E)/(m-f),-Math.exp(E+x*(Math.abs(o)-f)))}function _Si(o,A,f){if(f.clockStep===Zc.SYSTEM_CLOCK)return pP;if(Math.abs(o)<=1)return o*pP;let m=A[A.length-1];o>m?o=m:o<-m&&(o=-m);let C=pP,E=K5,x,y=0,I;return o>0?(x=Math.log(m),I=(x-y)/(E-C),(Math.log(o)-y)/I+C):(x=Math.log(-A[0]),I=(x-y)/(E-C),-((Math.log(Math.abs(o))-y)/I+C))}function J_(o){let A=this;this._clockViewModel=o,this._allShuttleRingTicks=[],this._dateFormatter=J_.defaultDateFormatter,this._timeFormatter=J_.defaultTimeFormatter,this.shuttleRingDragging=!1,this.snapToTicks=!1,qi.track(this,["_allShuttleRingTicks","_dateFormatter","_timeFormatter","shuttleRingDragging","snapToTicks"]),this._sortedFilteredPositiveTicks=[],this.setShuttleRingTicks(J_.defaultTicks),this.timeLabel=void 0,qi.defineProperty(this,"timeLabel",function(){return A._timeFormatter(A._clockViewModel.currentTime,A)}),this.dateLabel=void 0,qi.defineProperty(this,"dateLabel",function(){return A._dateFormatter(A._clockViewModel.currentTime,A)}),this.multiplierLabel=void 0,qi.defineProperty(this,"multiplierLabel",function(){let x=A._clockViewModel;if(x.clockStep===Zc.SYSTEM_CLOCK)return"Today";let y=x.multiplier;return y%1===0?`${y.toFixed(0)}x`:`${y.toFixed(3).replace(/0{0,3}$/,"")}x`}),this.shuttleRingAngle=void 0,qi.defineProperty(this,"shuttleRingAngle",{get:function(){return _Si(o.multiplier,A._allShuttleRingTicks,o)},set:function(x){x=Math.max(Math.min(x,K5),-K5);let y=A._allShuttleRingTicks,I=A._clockViewModel;if(I.clockStep=Zc.SYSTEM_CLOCK_MULTIPLIER,Math.abs(x)===K5){I.multiplier=x>0?y[y.length-1]:y[0];return}let v=ISi(x,y);if(A.snapToTicks)v=y[Lde(v,y)];else if(v!==0){let B=Math.abs(v);if(B>100){let Q=B.toFixed(0).length-2,T=Math.pow(10,Q);v=Math.round(v/T)*T|0}else B>pP?v=Math.round(v):B>1?v=+v.toFixed(1):B>0&&(v=+v.toFixed(2))}I.multiplier=v}}),this._canAnimate=void 0,qi.defineProperty(this,"_canAnimate",function(){let x=A._clockViewModel,y=x.clockRange;if(A.shuttleRingDragging||y===np.UNBOUNDED)return!0;let I=x.multiplier,v=x.currentTime,B=x.startTime,Q=!1;if(y===np.LOOP_STOP)Q=Zt.greaterThan(v,B)||v.equals(B)&&I>0;else{let T=x.stopTime;Q=Zt.greaterThan(v,B)&&Zt.lessThan(v,T)||v.equals(B)&&I>0||v.equals(T)&&I<0}return Q||(x.shouldAnimate=!1),Q}),this._isSystemTimeAvailable=void 0,qi.defineProperty(this,"_isSystemTimeAvailable",function(){let x=A._clockViewModel;if(x.clockRange===np.UNBOUNDED)return!0;let y=x.systemTime;return Zt.greaterThanOrEquals(y,x.startTime)&&Zt.lessThanOrEquals(y,x.stopTime)}),this._isAnimating=void 0,qi.defineProperty(this,"_isAnimating",function(){return A._clockViewModel.shouldAnimate&&(A._canAnimate||A.shuttleRingDragging)});let f=Xs(function(){let x=A._clockViewModel;x.shouldAnimate?x.shouldAnimate=!1:A._canAnimate&&(x.shouldAnimate=!0)});this._pauseViewModel=new g5(f,{toggled:qi.computed(function(){return!A._isAnimating}),tooltip:"Pause"});let m=Xs(function(){let x=A._clockViewModel,y=x.multiplier;y>0&&(x.multiplier=-y),x.shouldAnimate=!0});this._playReverseViewModel=new g5(m,{toggled:qi.computed(function(){return A._isAnimating&&o.multiplier<0}),tooltip:"Play Reverse"});let C=Xs(function(){let x=A._clockViewModel,y=x.multiplier;y<0&&(x.multiplier=-y),x.shouldAnimate=!0});this._playForwardViewModel=new g5(C,{toggled:qi.computed(function(){return A._isAnimating&&o.multiplier>0&&o.clockStep!==Zc.SYSTEM_CLOCK}),tooltip:"Play Forward"});let E=Xs(function(){A._clockViewModel.clockStep=Zc.SYSTEM_CLOCK},qi.getObservable(this,"_isSystemTimeAvailable"));this._playRealtimeViewModel=new g5(E,{toggled:qi.computed(function(){return o.clockStep===Zc.SYSTEM_CLOCK}),tooltip:qi.computed(function(){return A._isSystemTimeAvailable?"Today (real-time)":"Current time not in range"})}),this._slower=Xs(function(){let x=A._clockViewModel,y=A._allShuttleRingTicks,I=x.multiplier,v=Lde(I,y)-1;v>=0&&(x.multiplier=y[v])}),this._faster=Xs(function(){let x=A._clockViewModel,y=A._allShuttleRingTicks,I=x.multiplier,v=Lde(I,y)+1;v<y.length&&(x.multiplier=y[v])})}J_.defaultDateFormatter=function(o,A){let f=Zt.addHours(o,8,new Zt),m=Zt.toGregorianDate(f);return m.year+"/"+m.month+"/"+m.day};J_.defaultTicks=[.001,.002,.005,.01,.02,.05,.1,.25,.5,1,2,5,10,15,30,60,120,300,600,900,1800,3600,7200,14400,21600,43200,86400,172800,345600,604800];J_.defaultTimeFormatter=function(o,A){let f=Zt.addHours(o,8,new Zt),m=Zt.toGregorianDate(f),C=Math.round(m.millisecond);return Math.abs(A._clockViewModel.multiplier)<1?`${m.hour.toString().padStart(2,"0")}:${m.minute.toString().padStart(2,"0")}:${m.second.toString().padStart(2,"0")}.${C.toString().padStart(3,"0")}`:`${m.hour.toString().padStart(2,"0")}:${m.minute.toString().padStart(2,"0")}:${m.second.toString().padStart(2,"0")} UTC`};J_.prototype.getShuttleRingTicks=function(){return this._sortedFilteredPositiveTicks.slice(0)};J_.prototype.setShuttleRingTicks=function(o){let A,f,m,C={},E=this._sortedFilteredPositiveTicks;for(E.length=0,A=0,f=o.length;A<f;++A)m=o[A],C.hasOwnProperty(m)||(C[m]=!0,E.push(m));E.sort($nt);let x=[];for(f=E.length,A=f-1;A>=0;--A)m=E[A],m!==0&&x.push(-m);Array.prototype.push.apply(x,E),this._allShuttleRingTicks=x};Object.defineProperties(J_.prototype,{slower:{get:function(){return this._slower}},faster:{get:function(){return this._faster}},clockViewModel:{get:function(){return this._clockViewModel}},pauseViewModel:{get:function(){return this._pauseViewModel}},playReverseViewModel:{get:function(){return this._playReverseViewModel}},playForwardViewModel:{get:function(){return this._playForwardViewModel}},playRealtimeViewModel:{get:function(){return this._playRealtimeViewModel}},dateFormatter:{get:function(){return this._dateFormatter},set:function(o){this._dateFormatter=o}},timeFormatter:{get:function(){return this._timeFormatter},set:function(o){this._timeFormatter=o}}});J_._maxShuttleRingAngle=K5;J_._realtimeShuttleRingAngle=pP;var YQe=J_;function vSi(o){return function(A){let f=o._scene.pick(A.position);O(f)&&f.primitive instanceof _f&&(o.tileset=f.primitive),o.pickActive=!1}}function eot(o,A){A?o._eventHandler.setInputAction(function(f){let m=o._scene.pick(f.endPosition);O(m)&&m.primitive instanceof _f&&(o.tileset=m.primitive)},si.MOUSE_MOVE):(o._eventHandler.removeInputAction(si.MOUSE_MOVE),o.picking=o.picking)}var BSi={maximumFractionDigits:3};function $7(o){let A=o/1048576;return A<1?A.toLocaleString(void 0,BSi):Math.round(A).toLocaleString()}function pz(o,A){if(!O(o))return"";let f=A?o._statisticsPerPass[Ad.PICK]:o._statisticsPerPass[Ad.RENDER],m='<ul class="cesium-cesiumInspector-statistics">';return m+=`<li><strong>\u8BBF\u95EE: </strong>${f.visited.toLocaleString()}</li><li><strong>\u9009\u62E9: </strong>${f.selected.toLocaleString()}</li><li><strong>\u7ED8\u5236\u547D\u4EE4: </strong>${f.numberOfCommands.toLocaleString()}</li>`,m+="</ul>",A||(m+='<ul class="cesium-cesiumInspector-statistics">',m+=`<li><strong>\u8BF7\u6C42: </strong>${f.numberOfPendingRequests.toLocaleString()}</li><li><strong>\u5C1D\u8BD5: </strong>${f.numberOfAttemptedRequests.toLocaleString()}</li><li><strong>\u5904\u7406\u4E2D: </strong>${f.numberOfTilesProcessing.toLocaleString()}</li><li><strong>\u5185\u5BB9\u5C31\u7EEA: </strong>${f.numberOfTilesWithContentReady.toLocaleString()}</li><li><strong>\u603B\u5171: </strong>${f.numberOfTilesTotal.toLocaleString()}</li>`,m+="</ul>",m+='<ul class="cesium-cesiumInspector-statistics">',m+=`<li><strong>\u7279\u5F81\u9009\u62E9: </strong>${f.numberOfFeaturesSelected.toLocaleString()}</li><li><strong>\u7279\u5F81\u52A0\u8F7D: </strong>${f.numberOfFeaturesLoaded.toLocaleString()}</li><li><strong>\u70B9\u4E91\u9009\u62E9: </strong>${f.numberOfPointsSelected.toLocaleString()}</li><li><strong>\u70B9\u4E91\u52A0\u8F7D: </strong>${f.numberOfPointsLoaded.toLocaleString()}</li><li><strong>\u4E09\u89D2\u5F62\u6570: </strong>${f.numberOfTrianglesSelected.toLocaleString()}</li>`,m+="</ul>",m+='<ul class="cesium-cesiumInspector-statistics">',m+=`<li><strong>\u6837\u5F0F\u6E32\u67D3\u74E6\u7247\u6570: </strong>${f.numberOfTilesStyled.toLocaleString()}</li><li><strong>\u6837\u5F0F\u6E32\u67D3\u7279\u5F81\u6570: </strong>${f.numberOfFeaturesStyled.toLocaleString()}</li>`,m+="</ul>",m+='<ul class="cesium-cesiumInspector-statistics">',m+=`<li><strong>\u5B50\u8282\u70B9\u5254\u9664\u6570: </strong>${f.numberOfTilesCulledWithChildrenUnion.toLocaleString()}</li>`,m+="</ul>",m+='<ul class="cesium-cesiumInspector-statistics">',m+=`<li><strong>\u51E0\u4F55\u5360\u5185\u5B58 (MB): </strong>${$7(f.geometryByteLength)}</li><li><strong>\u7EB9\u7406\u5360\u5185\u5B58 (MB): </strong>${$7(f.texturesByteLength)}</li><li><strong>\u5C5E\u6027\u5360\u5185\u5B58 (MB): </strong>${$7(f.batchTableByteLength)}</li>`,m+="</ul>"),m}function tot(){let o=gc.statistics;return` <ul class="cesium-cesiumInspector-statistics"> <li><strong>\u51E0\u4F55\u5360\u5185\u5B58 (MB): </strong>${$7(o.geometryByteLength)}</li> <li><strong>\u7EB9\u7406\u5360\u5185\u5B58 (MB): </strong>${$7(o.texturesByteLength)}</li> </ul> `}var wSi=[{text:"\u9AD8\u4EAE",value:xb.HIGHLIGHT},{text:"\u66FF\u6362",value:xb.REPLACE},{text:"\u6DF7\u5408",value:xb.MIX}],lHe=new Ve(1,1,0,.4),bSi=new Ve,iZ=new Ve;function Cp(o,A){let f=this,m=o.canvas;this._eventHandler=new cr(m),this._scene=o,this._performanceContainer=A,this._canvas=m,this._performanceDisplay=new yJ({container:A}),this._statisticsText="",this._pickStatisticsText="",this._resourceCacheStatisticsText="",this._editorError="",this.performance=!1,this.showStatistics=!0,this.showPickStatistics=!0,this.showResourceCacheStatistics=!1,this.inspectorVisible=!0,this.tilesetVisible=!1,this.displayVisible=!1,this.updateVisible=!1,this.loggingVisible=!1,this.styleVisible=!1,this.tileDebugLabelsVisible=!1,this.optimizationVisible=!1,this.styleString="{}",this.hasEnabledWireframe=!1,this._tileset=void 0,this._feature=void 0,this._tile=void 0,qi.track(this,["performance","inspectorVisible","_statisticsText","_pickStatisticsText","_resourceCacheStatisticsText","_editorError","showPickStatistics","showStatistics","showResourceCacheStatistics","tilesetVisible","displayVisible","updateVisible","loggingVisible","styleVisible","optimizationVisible","tileDebugLabelsVisible","styleString","_feature","_tile","_tileset","hasEnabledWireframe"]),this._properties=qi.observable({}),this.properties=[],qi.defineProperty(this,"properties",function(){let fe=[],ae=f._properties();for(let U in ae)ae.hasOwnProperty(U)&&fe.push(U);return fe});let C=qi.observable();qi.defineProperty(this,"dynamicScreenSpaceError",{get:function(){return C()},set:function(fe){C(fe),O(f._tileset)&&(f._tileset.dynamicScreenSpaceError=fe)}}),this.dynamicScreenSpaceError=!1;let E=qi.observable();qi.defineProperty(this,"colorBlendMode",{get:function(){return E()},set:function(fe){E(fe),O(f._tileset)&&(f._tileset.colorBlendMode=fe,f._scene.requestRender())}}),this.colorBlendMode=xb.HIGHLIGHT;let x=qi.observable(),y=qi.observable();qi.defineProperty(this,"picking",{get:function(){return y()},set:function(fe){y(fe),fe?f._eventHandler.setInputAction(function(ae){let U=o.pick(ae.endPosition);if(U instanceof ns?(f.feature=U,f.tile=U.content.tile):O(U)&&O(U.content)?(f.feature=void 0,f.tile=U.content.tile):(f.feature=void 0,f.tile=void 0),!!O(f._tileset)){if(x&&O(U)&&O(U.content)){let W;o.pickPositionSupported&&(W=o.pickPosition(ae.endPosition),O(W)&&(f._tileset.debugPickPosition=W)),f._tileset.debugPickedTile=U.content.tile}else f._tileset.debugPickedTile=void 0;f._scene.requestRender()}},si.MOUSE_MOVE):(f.feature=void 0,f.tile=void 0,f._eventHandler.removeInputAction(si.MOUSE_MOVE))}}),this.picking=!0;let I=qi.observable();qi.defineProperty(this,"colorize",{get:function(){return I()},set:function(fe){I(fe),O(f._tileset)&&(f._tileset.debugColorizeTiles=fe,f._scene.requestRender())}}),this.colorize=!1;let v=qi.observable();qi.defineProperty(this,"wireframe",{get:function(){return v()},set:function(fe){v(fe),O(f._tileset)&&(f._tileset.debugWireframe=fe,f._scene.requestRender())}}),this.wireframe=!1;let B=qi.observable();qi.defineProperty(this,"showBoundingVolumes",{get:function(){return B()},set:function(fe){B(fe),O(f._tileset)&&(f._tileset.debugShowBoundingVolume=fe,f._scene.requestRender())}}),this.showBoundingVolumes=!1;let Q=qi.observable();qi.defineProperty(this,"showContentBoundingVolumes",{get:function(){return Q()},set:function(fe){Q(fe),O(f._tileset)&&(f._tileset.debugShowContentBoundingVolume=fe,f._scene.requestRender())}}),this.showContentBoundingVolumes=!1;let T=qi.observable();qi.defineProperty(this,"showRequestVolumes",{get:function(){return T()},set:function(fe){T(fe),O(f._tileset)&&(f._tileset.debugShowViewerRequestVolume=fe,f._scene.requestRender())}}),this.showRequestVolumes=!1;let w=qi.observable();qi.defineProperty(this,"freezeFrame",{get:function(){return w()},set:function(fe){w(fe),O(f._tileset)&&(f._tileset.debugFreezeFrame=fe,f._scene.debugShowFrustumPlanes=fe,f._scene.requestRender())}}),this.freezeFrame=!1,qi.defineProperty(this,"showOnlyPickedTileDebugLabel",{get:function(){return x()},set:function(fe){x(fe),O(f._tileset)&&(f._tileset.debugPickedTileLabelOnly=fe,f._scene.requestRender())}}),this.showOnlyPickedTileDebugLabel=!1;let S=qi.observable();qi.defineProperty(this,"showGeometricError",{get:function(){return S()},set:function(fe){S(fe),O(f._tileset)&&(f._tileset.debugShowGeometricError=fe,f._scene.requestRender())}}),this.showGeometricError=!1;let D=qi.observable();qi.defineProperty(this,"showRenderingStatistics",{get:function(){return D()},set:function(fe){D(fe),O(f._tileset)&&(f._tileset.debugShowRenderingStatistics=fe,f._scene.requestRender())}}),this.showRenderingStatistics=!1;let R=qi.observable();qi.defineProperty(this,"showMemoryUsage",{get:function(){return R()},set:function(fe){R(fe),O(f._tileset)&&(f._tileset.debugShowMemoryUsage=fe,f._scene.requestRender())}}),this.showMemoryUsage=!1;let P=qi.observable();qi.defineProperty(this,"showUrl",{get:function(){return P()},set:function(fe){P(fe),O(f._tileset)&&(f._tileset.debugShowUrl=fe,f._scene.requestRender())}}),this.showUrl=!1;let M=qi.observable();qi.defineProperty(this,"maximumScreenSpaceError",{get:function(){return M()},set:function(fe){fe=Number(fe),isNaN(fe)||(M(fe),O(f._tileset)&&(f._tileset.maximumScreenSpaceError=fe))}}),this.maximumScreenSpaceError=16;let L=qi.observable();qi.defineProperty(this,"dynamicScreenSpaceErrorDensity",{get:function(){return L()},set:function(fe){fe=Number(fe),isNaN(fe)||(L(fe),O(f._tileset)&&(f._tileset.dynamicScreenSpaceErrorDensity=fe))}}),this.dynamicScreenSpaceErrorDensity=.00278,this.dynamicScreenSpaceErrorDensitySliderValue=void 0,qi.defineProperty(this,"dynamicScreenSpaceErrorDensitySliderValue",{get:function(){return Math.pow(L(),1/6)},set:function(fe){L(Math.pow(fe,6))}});let F=qi.observable();qi.defineProperty(this,"dynamicScreenSpaceErrorFactor",{get:function(){return F()},set:function(fe){fe=Number(fe),isNaN(fe)||(F(fe),O(f._tileset)&&(f._tileset.dynamicScreenSpaceErrorFactor=fe))}}),this.dynamicScreenSpaceErrorFactor=4;let k=vSi(this),N=qi.observable();qi.defineProperty(this,"pickActive",{get:function(){return N()},set:function(fe){N(fe),fe?f._eventHandler.setInputAction(k,si.LEFT_CLICK):f._eventHandler.removeInputAction(si.LEFT_CLICK)}});let G=qi.observable();qi.defineProperty(this,"pointCloudShading",{get:function(){return G()},set:function(fe){G(fe),O(f._tileset)&&(f._tileset.pointCloudShading.attenuation=fe)}}),this.pointCloudShading=!1;let J=qi.observable();qi.defineProperty(this,"geometricErrorScale",{get:function(){return J()},set:function(fe){fe=Number(fe),isNaN(fe)||(J(fe),O(f._tileset)&&(f._tileset.pointCloudShading.geometricErrorScale=fe))}}),this.geometricErrorScale=1;let K=qi.observable();qi.defineProperty(this,"maximumAttenuation",{get:function(){return K()},set:function(fe){fe=Number(fe),isNaN(fe)||(K(fe),O(f._tileset)&&(f._tileset.pointCloudShading.maximumAttenuation=fe===0?void 0:fe))}}),this.maximumAttenuation=0;let X=qi.observable();qi.defineProperty(this,"baseResolution",{get:function(){return X()},set:function(fe){fe=Number(fe),isNaN(fe)||(X(fe),O(f._tileset)&&(f._tileset.pointCloudShading.baseResolution=fe===0?void 0:fe))}}),this.baseResolution=0;let q=qi.observable();qi.defineProperty(this,"eyeDomeLighting",{get:function(){return q()},set:function(fe){q(fe),O(f._tileset)&&(f._tileset.pointCloudShading.eyeDomeLighting=fe)}}),this.eyeDomeLighting=!1;let ee=qi.observable();qi.defineProperty(this,"eyeDomeLightingStrength",{get:function(){return ee()},set:function(fe){fe=Number(fe),isNaN(fe)||(ee(fe),O(f._tileset)&&(f._tileset.pointCloudShading.eyeDomeLightingStrength=fe))}}),this.eyeDomeLightingStrength=1;let ie=qi.observable();qi.defineProperty(this,"eyeDomeLightingRadius",{get:function(){return ie()},set:function(fe){fe=Number(fe),isNaN(fe)||(ie(fe),O(f._tileset)&&(f._tileset.pointCloudShading.eyeDomeLightingRadius=fe))}}),this.eyeDomeLightingRadius=1,this.pickActive=!1;let H=qi.observable();qi.defineProperty(this,"skipLevelOfDetail",{get:function(){return H()},set:function(fe){H(fe),O(f._tileset)&&(f._tileset.skipLevelOfDetail=fe)}}),this.skipLevelOfDetail=!0;let le=qi.observable();qi.defineProperty(this,"skipScreenSpaceErrorFactor",{get:function(){return le()},set:function(fe){fe=Number(fe),isNaN(fe)||(le(fe),O(f._tileset)&&(f._tileset.skipScreenSpaceErrorFactor=fe))}}),this.skipScreenSpaceErrorFactor=16;let ue=qi.observable();qi.defineProperty(this,"baseScreenSpaceError",{get:function(){return ue()},set:function(fe){fe=Number(fe),isNaN(fe)||(ue(fe),O(f._tileset)&&(f._tileset.baseScreenSpaceError=fe))}}),this.baseScreenSpaceError=1024;let Ae=qi.observable();qi.defineProperty(this,"skipLevels",{get:function(){return Ae()},set:function(fe){fe=Number(fe),isNaN(fe)||(Ae(fe),O(f._tileset)&&(f._tileset.skipLevels=fe))}}),this.skipLevels=1;let he=qi.observable();qi.defineProperty(this,"immediatelyLoadDesiredLevelOfDetail",{get:function(){return he()},set:function(fe){he(fe),O(f._tileset)&&(f._tileset.immediatelyLoadDesiredLevelOfDetail=fe)}}),this.immediatelyLoadDesiredLevelOfDetail=!1;let ge=qi.observable();qi.defineProperty(this,"loadSiblings",{get:function(){return ge()},set:function(fe){ge(fe),O(f._tileset)&&(f._tileset.loadSiblings=fe)}}),this.loadSiblings=!1,this._style=void 0,this._shouldStyle=!1,this._definedProperties=["properties","dynamicScreenSpaceError","colorBlendMode","picking","colorize","wireframe","showBoundingVolumes","showContentBoundingVolumes","showRequestVolumes","freezeFrame","maximumScreenSpaceError","dynamicScreenSpaceErrorDensity","baseScreenSpaceError","skipScreenSpaceErrorFactor","skipLevelOfDetail","skipLevels","immediatelyLoadDesiredLevelOfDetail","loadSiblings","dynamicScreenSpaceErrorDensitySliderValue","dynamicScreenSpaceErrorFactor","pickActive","showOnlyPickedTileDebugLabel","showGeometricError","showRenderingStatistics","showMemoryUsage","showUrl","pointCloudShading","geometricErrorScale","maximumAttenuation","baseResolution","eyeDomeLighting","eyeDomeLightingStrength","eyeDomeLightingRadius"],this._removePostRenderEvent=o.postRender.addEventListener(function(){f._update()}),O(this._tileset)||eot(this,!0)}Object.defineProperties(Cp.prototype,{scene:{get:function(){return this._scene}},performanceContainer:{get:function(){return this._performanceContainer}},statisticsText:{get:function(){return this._statisticsText}},pickStatisticsText:{get:function(){return this._pickStatisticsText}},resourceCacheStatisticsText:{get:function(){return this._resourceCacheStatisticsText}},colorBlendModes:{get:function(){return wSi}},editorError:{get:function(){return this._editorError}},tileset:{get:function(){return this._tileset},set:function(o){if(this._tileset=o,this._style=void 0,this.styleString="{}",this.feature=void 0,this.tile=void 0,O(o)){let A=this;o._readyPromise.then(function(E){A.isDestroyed()||A._properties(E.properties)});let f=["colorize","wireframe","showBoundingVolumes","showContentBoundingVolumes","showRequestVolumes","freezeFrame","showOnlyPickedTileDebugLabel","showGeometricError","showRenderingStatistics","showMemoryUsage","showUrl"],m=f.length;for(let E=0;E<m;++E){let x=f[E];this[x]=this[x]}this.maximumScreenSpaceError=o.maximumScreenSpaceError,this.dynamicScreenSpaceError=o.dynamicScreenSpaceError,this.dynamicScreenSpaceErrorDensity=o.dynamicScreenSpaceErrorDensity,this.dynamicScreenSpaceErrorFactor=o.dynamicScreenSpaceErrorFactor,this.colorBlendMode=o.colorBlendMode,this.skipLevelOfDetail=o.skipLevelOfDetail,this.skipScreenSpaceErrorFactor=o.skipScreenSpaceErrorFactor,this.baseScreenSpaceError=o.baseScreenSpaceError,this.skipLevels=o.skipLevels,this.immediatelyLoadDesiredLevelOfDetail=o.immediatelyLoadDesiredLevelOfDetail,this.loadSiblings=o.loadSiblings,this.hasEnabledWireframe=o._enableDebugWireframe;let C=o.pointCloudShading;this.pointCloudShading=C.attenuation,this.geometricErrorScale=C.geometricErrorScale,this.maximumAttenuation=C.maximumAttenuation?C.maximumAttenuation:0,this.baseResolution=C.baseResolution?C.baseResolution:0,this.eyeDomeLighting=C.eyeDomeLighting,this.eyeDomeLightingStrength=C.eyeDomeLightingStrength,this.eyeDomeLightingRadius=C.eyeDomeLightingRadius,this._scene.requestRender()}else this._properties({});this._statisticsText=pz(o,!1),this._pickStatisticsText=pz(o,!0),this._resourceCacheStatisticsText=tot(),eot(this,!1)}},feature:{get:function(){return this._feature},set:function(o){if(this._feature===o)return;let A=this._feature;O(A)&&!A.content.isDestroyed()&&(!this.colorize&&O(this._style)?A.color=O(this._style.color)?this._style.color.evaluateColor(A,bSi):Ve.WHITE:A.color=iZ,this._scene.requestRender()),O(o)&&(Ve.clone(o.color,iZ),o.color=lHe,this._scene.requestRender()),this._feature=o}},tile:{get:function(){return this._tile},set:function(o){if(this._tile===o)return;let A=this._tile;O(A)&&!A.isDestroyed()&&!t0e(A.content)&&(A.color=iZ,this._scene.requestRender()),O(o)&&!t0e(o.content)&&(Ve.clone(o.color,iZ),o.color=lHe,this._scene.requestRender()),this._tile=o}}});function t0e(o){if(!O(o))return!1;if(o.featuresLength>0)return!0;let A=o.innerContents;if(O(A)){let f=A.length;for(let m=0;m<f;++m)if(!t0e(A[m]))return!1;return!0}return!1}Cp.prototype.togglePickTileset=function(){this.pickActive=!this.pickActive};Cp.prototype.toggleInspector=function(){this.inspectorVisible=!this.inspectorVisible};Cp.prototype.toggleTileset=function(){this.tilesetVisible=!this.tilesetVisible};Cp.prototype.toggleDisplay=function(){this.displayVisible=!this.displayVisible};Cp.prototype.toggleUpdate=function(){this.updateVisible=!this.updateVisible};Cp.prototype.toggleLogging=function(){this.loggingVisible=!this.loggingVisible};Cp.prototype.toggleStyle=function(){this.styleVisible=!this.styleVisible};Cp.prototype.toggleTileDebugLabels=function(){this.tileDebugLabelsVisible=!this.tileDebugLabelsVisible};Cp.prototype.toggleOptimization=function(){this.optimizationVisible=!this.optimizationVisible};Cp.prototype.trimTilesCache=function(){O(this._tileset)&&this._tileset.trimLoadedTiles()};Cp.prototype.compileStyle=function(){let o=this._tileset;if(!(!O(o)||this.styleString===JSON.stringify(o.style))){this._editorError="";try{this.styleString.length===0&&(this.styleString="{}"),this._style=new qb(JSON.parse(this.styleString)),this._shouldStyle=!0,this._scene.requestRender()}catch(A){this._editorError=A.toString()}this.feature=this._feature,this.tile=this._tile}};Cp.prototype.styleEditorKeyPress=function(o,A){if(A.keyCode===9){A.preventDefault();let f=A.target,m=f.selectionStart,C=f.selectionEnd,E=C,x=f.value.slice(m,C).split(` `),y=x.length,I;if(A.shiftKey)for(I=0;I<y;++I)x[I][0]===" "&&(x[I][1]===" "?(x[I]=x[I].substr(2),E-=2):(x[I]=x[I].substr(1),E-=1));else for(I=0;I<y;++I)x[I]=` ${x[I]}`,E+=2;let v=x.join(` `);f.value=f.value.slice(0,m)+v+f.value.slice(C),f.selectionStart=m!==C?m:E,f.selectionEnd=E}else A.ctrlKey&&(A.keyCode===10||A.keyCode===13)&&this.compileStyle();return!0};Cp.prototype._update=function(){let o=this._tileset;if(this.performance&&this._performanceDisplay.update(),O(o)){if(o.isDestroyed()){this.tile=void 0,this.feature=void 0,this.tileset=void 0;return}let A=o.style;this._style!==o.style&&(this._shouldStyle?(o.style=this._style,this._shouldStyle=!1):(this._style=A,this.styleString=JSON.stringify(A.style,null," ")))}this.showStatistics&&(this._statisticsText=pz(o,!1),this._pickStatisticsText=pz(o,!0),this._resourceCacheStatisticsText=tot())};Cp.prototype.isDestroyed=function(){return!1};Cp.prototype.destroy=function(){this._eventHandler.destroy(),this._removePostRenderEvent();let o=this;return this._definedProperties.forEach(function(A){qi.getObservable(o,A).dispose()}),Ar(this)};Cp.getStatistics=pz;var JQe=Cp;function aoe(o,A){o=tc(o);let f=document.createElement("div"),m=document.createElement("div");m.setAttribute("data-bind","visible: performance");let C=new JQe(A,m);this._viewModel=C,this._container=o,this._element=f;let E=document.createElement("div");E.textContent="3D Tiles Inspector",E.className="cesium-cesiumInspector-button",E.setAttribute("data-bind","click: toggleInspector"),f.appendChild(E),f.className="cesium-cesiumInspector cesium-3DTilesInspector",f.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : inspectorVisible, "cesium-cesiumInspector-hidden" : !inspectorVisible}'),o.appendChild(f);let x=document.createElement("div");x.className="cesium-cesiumInspector-dropDown",f.appendChild(x);let y=tI.createSection,I=tI.createCheckbox,v=tI.createRangeInput,B=tI.createButton,Q=y(x,"\u74E6\u7247","tilesetVisible","toggleTileset"),T=y(x,"\u663E\u793A","displayVisible","toggleDisplay"),w=y(x,"\u66F4\u65B0","updateVisible","toggleUpdate"),S=y(x,"\u8BB0\u5F55","loggingVisible","toggleLogging"),D=y(x,"\u74E6\u7247\u8C03\u8BD5\u6807\u7B7E","tileDebugLabelsVisible","toggleTileDebugLabels"),R=y(x,"\u6837\u5F0F","styleVisible","toggleStyle"),P=y(x,"\u4F18\u5316","optimizationVisible","toggleOptimization"),M=document.createElement("div");M.className="field-group";let L=document.createElement("label");L.className="field-label",L.appendChild(document.createTextNode("\u5C5E\u6027: "));let F=document.createElement("div");F.setAttribute("data-bind","text: properties"),M.appendChild(L),M.appendChild(F),Q.appendChild(M),Q.appendChild(B("\u62FE\u53D6\u74E6\u7247","togglePickTileset","pickActive")),Q.appendChild(B("\u6E05\u7406\u74E6\u7247\u7F13\u5B58","trimTilesCache")),Q.appendChild(I("\u53EF\u62FE\u53D6","picking")),T.appendChild(I("\u7740\u8272","colorize"));let k=T.appendChild(I("\u7EBF\u6846","wireframe","_tileset === undefined || hasEnabledWireframe")),N=document.createElement("p");N.setAttribute("data-bind","visible: _tileset !== undefined && !hasEnabledWireframe"),N.setAttribute("class","cesium-3DTilesInspector-disabledElementsInfo"),N.innerText="Set enableDebugWireframe to true in the tileset constructor to enable this option.",T.lastChild.appendChild(N),T.appendChild(I("\u5305\u56F4\u76D2","showBoundingVolumes")),T.appendChild(I("\u5185\u90E8\u5305\u56F4\u76D2","showContentBoundingVolumes")),T.appendChild(I("\u8BF7\u6C42\u5305\u56F4\u76D2","showRequestVolumes")),T.appendChild(I("\u70B9\u4E91\u7740\u8272","pointCloudShading"));let G=document.createElement("div");G.setAttribute("data-bind","visible: pointCloudShading"),G.appendChild(v("\u51E0\u4F55\u8BEF\u5DEE\u5C3A\u5EA6","geometricErrorScale",0,2,.01)),G.appendChild(v("\u6700\u5927\u8870\u51CF","maximumAttenuation",0,32,1)),G.appendChild(v("\u57FA\u672C\u5206\u8FA8\u7387","baseResolution",0,1,.01)),G.appendChild(I("\u9E70\u773C\u7A79\u9876\u5149\u7167 (EDL)","eyeDomeLighting")),T.appendChild(G);let J=document.createElement("div");J.setAttribute("data-bind","visible: eyeDomeLighting"),J.appendChild(v("EDL \u5F3A\u5EA6","eyeDomeLightingStrength",0,2,.1)),J.appendChild(v("EDL \u534A\u5F84","eyeDomeLightingRadius",0,4,.1)),G.appendChild(J),w.appendChild(I("\u51BB\u7ED3\u5E27","freezeFrame")),w.appendChild(I("\u52A8\u6001\u5C4F\u5E55\u7A7A\u95F4\u8BEF\u5DEE","dynamicScreenSpaceError"));let K=document.createElement("div");K.appendChild(v("\u6700\u5927\u5C4F\u5E55\u7A7A\u95F4\u8BEF\u5DEE","maximumScreenSpaceError",0,128,1)),w.appendChild(K);let X=document.createElement("div");X.setAttribute("data-bind","visible: dynamicScreenSpaceError"),X.appendChild(v("\u5C4F\u5E55\u7A7A\u95F4\u8BEF\u5DEE\u5BC6\u5EA6","dynamicScreenSpaceErrorDensitySliderValue",0,1,.005,"dynamicScreenSpaceErrorDensity")),X.appendChild(v("\u5C4F\u5E55\u7A7A\u95F4\u8BEF\u5DEE\u56E0\u5B50","dynamicScreenSpaceErrorFactor",1,10,.1)),w.appendChild(X),S.appendChild(I("\u5E27\u7387","performance")),S.appendChild(m),S.appendChild(I("\u7EDF\u8BA1\u4FE1\u606F","showStatistics"));let q=document.createElement("div");q.className="cesium-3dTilesInspector-statistics",q.setAttribute("data-bind","html: statisticsText, visible: showStatistics"),S.appendChild(q),S.appendChild(I("\u62FE\u53D6\u7EDF\u8BA1","showPickStatistics"));let ee=document.createElement("div");ee.className="cesium-3dTilesInspector-statistics",ee.setAttribute("data-bind","html: pickStatisticsText, visible: showPickStatistics"),S.appendChild(ee),S.appendChild(I("\u8D44\u6E90\u7F13\u5B58\u7EDF\u8BA1","showResourceCacheStatistics"));let ie=document.createElement("div");ie.className="cesium-3dTilesInspector-statistics",ie.setAttribute("data-bind","html: resourceCacheStatisticsText, visible: showResourceCacheStatistics"),S.appendChild(ie);let H=document.createElement("div");R.appendChild(H),H.appendChild(document.createTextNode("\u989C\u8272\u6DF7\u5408\u6A21\u5F0F: "));let le=document.createElement("select");le.setAttribute("data-bind",'options: colorBlendModes, optionsText: "text", optionsValue: "value", value: colorBlendMode'),H.appendChild(le);let ue=document.createElement("textarea");ue.setAttribute("data-bind","textInput: styleString, event: { keydown: styleEditorKeyPress }"),H.className="cesium-cesiumInspector-styleEditor",H.appendChild(ue);let Ae=B("\u7F16\u8BD1 (Ctrl+Enter)","compileStyle");H.appendChild(Ae);let he=document.createElement("div");he.className="cesium-cesiumInspector-error",he.setAttribute("data-bind","text: editorError"),H.appendChild(he),D.appendChild(I("\u4EC5\u663E\u793A\u62FE\u53D6\u74E6\u7247","showOnlyPickedTileDebugLabel")),D.appendChild(I("\u51E0\u4F55\u8BEF\u5DEE","showGeometricError")),D.appendChild(I("\u6E32\u67D3\u7EDF\u8BA1","showRenderingStatistics")),D.appendChild(I("\u5185\u5B58\u4F7F\u7528 (MB)","showMemoryUsage")),D.appendChild(I("\u74E6\u7247\u8DEF\u5F84","showUrl")),P.appendChild(I("\u8DF3\u8FC7\u74E6\u7247\u5C42\u7EA7","skipLevelOfDetail"));let ge=document.createElement("div");ge.appendChild(v("\u8DF3\u8FC7\u5C4F\u5E55\u8BEF\u5DEE\u56E0\u5B50","skipScreenSpaceErrorFactor",1,50,1)),P.appendChild(ge);let fe=document.createElement("div");fe.appendChild(v("\u57FA\u7840\u5C4F\u5E55\u7A7A\u95F4\u8BEF\u5DEE","baseScreenSpaceError",0,4096,1)),P.appendChild(fe);let ae=document.createElement("div");ae.appendChild(v("\u8DF3\u8FC7\u5C42\u7EA7\u6570","skipLevels",0,10,1)),P.appendChild(ae),P.appendChild(I("\u4EC5\u52A0\u8F7D\u6EE1\u8DB3\u6700\u5927\u5C4F\u5E55\u8BEF\u5DEE\u7684\u74E6\u7247","immediatelyLoadDesiredLevelOfDetail")),P.appendChild(I("\u52A0\u8F7D\u53EF\u89C1\u74E6\u7247\u9644\u8FD1\u7684\u74E6\u7247","loadSiblings")),qi.applyBindings(C,f)}Object.defineProperties(aoe.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});aoe.prototype.isDestroyed=function(){return!1};aoe.prototype.destroy=function(){return qi.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),Ar(this)};var KQe=aoe;function QSi(o){let A;if(O(o)){A="Command Statistics";let f=o.commandsInFrustums;for(let m in f)if(f.hasOwnProperty(m)){let C=parseInt(m,10),E;if(C===7)E="1, 2 and 3";else{let x=[];for(let y=2;y>=0;y--){let I=Math.pow(2,y);C>=I&&(x.push(y+1),C-=I)}E=x.reverse().join(" and ")}A+=`<br>    ${f[m]} in frustum ${E}`}A+=`<br>Total: ${o.totalCommands}`}return A}function i0e(o,A,f){let m=Math.min(f,A);return m=Math.max(m,o),m}var SSi=new Ua,DSi=new Z;function eK(o,A){let f=this,m=o.canvas,C=new cr(m);this._eventHandler=C,this._scene=o,this._canvas=m,this._primitive=void 0,this._tile=void 0,this._modelMatrixPrimitive=void 0,this._performanceDisplay=void 0,this._performanceContainer=A;let E=this._scene.globe;E.depthTestAgainstTerrain=!0,this.frustums=!1,this.frustumPlanes=!1,this.performance=!1,this.shaderCacheText="",this.primitiveBoundingSphere=!1,this.primitiveReferenceFrame=!1,this.filterPrimitive=!1,this.tileBoundingSphere=!1,this.filterTile=!1,this.wireframe=!1,this.depthFrustum=1,this._numberOfFrustums=1,this.suspendUpdates=!1,this.tileCoordinates=!1,this.frustumStatisticText=!1,this.tileText="",this.hasPickedPrimitive=!1,this.hasPickedTile=!1,this.pickPrimitiveActive=!1,this.pickTileActive=!1,this.dropDownVisible=!0,this.generalVisible=!0,this.primitivesVisible=!1,this.terrainVisible=!1,this.depthFrustumText="",qi.track(this,["frustums","frustumPlanes","performance","shaderCacheText","primitiveBoundingSphere","primitiveReferenceFrame","filterPrimitive","tileBoundingSphere","filterTile","wireframe","depthFrustum","suspendUpdates","tileCoordinates","frustumStatisticText","tileText","hasPickedPrimitive","hasPickedTile","pickPrimitiveActive","pickTileActive","dropDownVisible","generalVisible","primitivesVisible","terrainVisible","depthFrustumText"]),this._toggleDropDown=Xs(function(){f.dropDownVisible=!f.dropDownVisible}),this._toggleGeneral=Xs(function(){f.generalVisible=!f.generalVisible}),this._togglePrimitives=Xs(function(){f.primitivesVisible=!f.primitivesVisible}),this._toggleTerrain=Xs(function(){f.terrainVisible=!f.terrainVisible}),this._frustumsSubscription=qi.getObservable(this,"frustums").subscribe(function(v){f._scene.debugShowFrustums=v,f._scene.requestRender()}),this._frustumPlanesSubscription=qi.getObservable(this,"frustumPlanes").subscribe(function(v){f._scene.debugShowFrustumPlanes=v,f._scene.requestRender()}),this._performanceSubscription=qi.getObservable(this,"performance").subscribe(function(v){v?f._performanceDisplay=new yJ({container:f._performanceContainer}):f._performanceContainer.innerHTML=""}),this._showPrimitiveBoundingSphere=Xs(function(){return f._primitive.debugShowBoundingVolume=f.primitiveBoundingSphere,f._scene.requestRender(),!0}),this._primitiveBoundingSphereSubscription=qi.getObservable(this,"primitiveBoundingSphere").subscribe(function(){f._showPrimitiveBoundingSphere()}),this._showPrimitiveReferenceFrame=Xs(function(){if(f.primitiveReferenceFrame){let v=f._primitive.modelMatrix;f._modelMatrixPrimitive=new vQe({modelMatrix:v}),f._scene.primitives.add(f._modelMatrixPrimitive)}else O(f._modelMatrixPrimitive)&&(f._scene.primitives.remove(f._modelMatrixPrimitive),f._modelMatrixPrimitive=void 0);return f._scene.requestRender(),!0}),this._primitiveReferenceFrameSubscription=qi.getObservable(this,"primitiveReferenceFrame").subscribe(function(){f._showPrimitiveReferenceFrame()}),this._doFilterPrimitive=Xs(function(){return f.filterPrimitive?f._scene.debugCommandFilter=function(v){return O(f._modelMatrixPrimitive)&&v.owner===f._modelMatrixPrimitive._primitive?!0:O(f._primitive)?v.owner===f._primitive||v.owner===f._primitive._billboardCollection||v.owner.primitive===f._primitive:!1}:f._scene.debugCommandFilter=void 0,!0}),this._filterPrimitiveSubscription=qi.getObservable(this,"filterPrimitive").subscribe(function(){f._doFilterPrimitive(),f._scene.requestRender()}),this._wireframeSubscription=qi.getObservable(this,"wireframe").subscribe(function(v){E._surface.tileProvider._debug.wireframe=v,f._scene.requestRender()}),this._depthFrustumSubscription=qi.getObservable(this,"depthFrustum").subscribe(function(v){f._scene.debugShowDepthFrustum=v,f._scene.requestRender()}),this._incrementDepthFrustum=Xs(function(){let v=f.depthFrustum+1;return f.depthFrustum=i0e(1,f._numberOfFrustums,v),f._scene.requestRender(),!0}),this._decrementDepthFrustum=Xs(function(){let v=f.depthFrustum-1;return f.depthFrustum=i0e(1,f._numberOfFrustums,v),f._scene.requestRender(),!0}),this._suspendUpdatesSubscription=qi.getObservable(this,"suspendUpdates").subscribe(function(v){E._surface._debug.suspendLodUpdate=v,v||(f.filterTile=!1)});let x;this._showTileCoordinates=Xs(function(){return f.tileCoordinates&&!O(x)?x=o.imageryLayers.addImageryProvider(new FQe({tilingScheme:o.terrainProvider.tilingScheme})):!f.tileCoordinates&&O(x)&&(o.imageryLayers.remove(x),x=void 0),!0}),this._tileCoordinatesSubscription=qi.getObservable(this,"tileCoordinates").subscribe(function(){f._showTileCoordinates(),f._scene.requestRender()}),this._tileBoundingSphereSubscription=qi.getObservable(this,"tileBoundingSphere").subscribe(function(){f._showTileBoundingSphere(),f._scene.requestRender()}),this._showTileBoundingSphere=Xs(function(){return f.tileBoundingSphere?E._surface.tileProvider._debug.boundingSphereTile=f._tile:E._surface.tileProvider._debug.boundingSphereTile=void 0,f._scene.requestRender(),!0}),this._doFilterTile=Xs(function(){return f.filterTile?(f.suspendUpdates=!0,E._surface._tilesToRender=[],O(f._tile)&&f._tile.renderable&&E._surface._tilesToRender.push(f._tile)):f.suspendUpdates=!1,!0}),this._filterTileSubscription=qi.getObservable(this,"filterTile").subscribe(function(){f.doFilterTile(),f._scene.requestRender()});function y(v){let B=f._scene.pick({x:v.position.x,y:v.position.y});O(B)&&(f.primitive=O(B.collection)?B.collection:B.primitive),f._scene.requestRender(),f.pickPrimitiveActive=!1}this._pickPrimitive=Xs(function(){f.pickPrimitiveActive=!f.pickPrimitiveActive}),this._pickPrimitiveActiveSubscription=qi.getObservable(this,"pickPrimitiveActive").subscribe(function(v){v?C.setInputAction(y,si.LEFT_CLICK):C.removeInputAction(si.LEFT_CLICK)});function I(v){let B,Q=E.ellipsoid,T=f._scene.camera.getPickRay(v.position,SSi),w=E.pick(T,f._scene,DSi);if(O(w)){let S=Q.cartesianToCartographic(w),D=E._surface.tileProvider._tilesToRenderByTextureCount;for(let R=0;!B&&R<D.length;++R){let P=D[R];if(O(P))for(let M=0;!B&&M<P.length;++M){let L=P[M];gi.contains(L.rectangle,S)&&(B=L)}}}f.tile=B,f.pickTileActive=!1}this._pickTile=Xs(function(){f.pickTileActive=!f.pickTileActive}),this._pickTileActiveSubscription=qi.getObservable(this,"pickTileActive").subscribe(function(v){v?C.setInputAction(I,si.LEFT_CLICK):C.removeInputAction(si.LEFT_CLICK)}),this._removePostRenderEvent=o.postRender.addEventListener(function(){f._update()})}Object.defineProperties(eK.prototype,{scene:{get:function(){return this._scene}},performanceContainer:{get:function(){return this._performanceContainer}},toggleDropDown:{get:function(){return this._toggleDropDown}},showPrimitiveBoundingSphere:{get:function(){return this._showPrimitiveBoundingSphere}},showPrimitiveReferenceFrame:{get:function(){return this._showPrimitiveReferenceFrame}},doFilterPrimitive:{get:function(){return this._doFilterPrimitive}},incrementDepthFrustum:{get:function(){return this._incrementDepthFrustum}},decrementDepthFrustum:{get:function(){return this._decrementDepthFrustum}},showTileCoordinates:{get:function(){return this._showTileCoordinates}},showTileBoundingSphere:{get:function(){return this._showTileBoundingSphere}},doFilterTile:{get:function(){return this._doFilterTile}},toggleGeneral:{get:function(){return this._toggleGeneral}},togglePrimitives:{get:function(){return this._togglePrimitives}},toggleTerrain:{get:function(){return this._toggleTerrain}},pickPrimitive:{get:function(){return this._pickPrimitive}},pickTile:{get:function(){return this._pickTile}},selectParent:{get:function(){let o=this;return Xs(function(){o.tile=o.tile.parent})}},selectNW:{get:function(){let o=this;return Xs(function(){o.tile=o.tile.northwestChild})}},selectNE:{get:function(){let o=this;return Xs(function(){o.tile=o.tile.northeastChild})}},selectSW:{get:function(){let o=this;return Xs(function(){o.tile=o.tile.southwestChild})}},selectSE:{get:function(){let o=this;return Xs(function(){o.tile=o.tile.southeastChild})}},primitive:{get:function(){return this._primitive},set:function(o){let A=this._primitive;o!==A&&(this.hasPickedPrimitive=!0,O(A)&&(A.debugShowBoundingVolume=!1),this._scene.debugCommandFilter=void 0,O(this._modelMatrixPrimitive)&&(this._scene.primitives.remove(this._modelMatrixPrimitive),this._modelMatrixPrimitive=void 0),this._primitive=o,o.show=!1,setTimeout(function(){o.show=!0},50),this.showPrimitiveBoundingSphere(),this.showPrimitiveReferenceFrame(),this.doFilterPrimitive())}},tile:{get:function(){return this._tile},set:function(o){if(O(o)){this.hasPickedTile=!0;let A=this._tile;if(o!==A){this.tileText=`L: ${o.level} X: ${o.x} Y: ${o.y}`,this.tileText+=`<br>SW corner: ${o.rectangle.west}, ${o.rectangle.south}`,this.tileText+=`<br>NE corner: ${o.rectangle.east}, ${o.rectangle.north}`;let f=o.data;O(f)&&O(f.tileBoundingRegion)?this.tileText+=`<br>Min: ${f.tileBoundingRegion.minimumHeight} Max: ${f.tileBoundingRegion.maximumHeight}`:this.tileText+="<br>(Tile is not loaded)"}this._tile=o,this.showTileBoundingSphere(),this.doFilterTile()}else this.hasPickedTile=!1,this._tile=void 0}}});eK.prototype._update=function(){this.frustums&&(this.frustumStatisticText=QSi(this._scene.debugFrustumStatistics));let o=this._scene.numberOfFrustums;this._numberOfFrustums=o,this.depthFrustum=i0e(1,o,this.depthFrustum),this.depthFrustumText=`${this.depthFrustum} of ${o}`,this.performance&&this._performanceDisplay.update(),this.primitiveReferenceFrame&&(this._modelMatrixPrimitive.modelMatrix=this._primitive.modelMatrix),this.shaderCacheText=`Cached shaders: ${this._scene.context.shaderCache.numberOfShaders}`};eK.prototype.isDestroyed=function(){return!1};eK.prototype.destroy=function(){return this._eventHandler.destroy(),this._removePostRenderEvent(),this._frustumsSubscription.dispose(),this._frustumPlanesSubscription.dispose(),this._performanceSubscription.dispose(),this._primitiveBoundingSphereSubscription.dispose(),this._primitiveReferenceFrameSubscription.dispose(),this._filterPrimitiveSubscription.dispose(),this._wireframeSubscription.dispose(),this._depthFrustumSubscription.dispose(),this._suspendUpdatesSubscription.dispose(),this._tileCoordinatesSubscription.dispose(),this._tileBoundingSphereSubscription.dispose(),this._filterTileSubscription.dispose(),this._pickPrimitiveActiveSubscription.dispose(),this._pickTileActiveSubscription.dispose(),Ar(this)};var WQe=eK;function soe(o,A){o=tc(o);let f=document.createElement("div"),m=new WQe(A,f);this._viewModel=m,this._container=o;let C=document.createElement("div");this._element=C;let E=document.createElement("div");E.textContent="Cesium Inspector",E.className="cesium-cesiumInspector-button",E.setAttribute("data-bind","click: toggleDropDown"),C.appendChild(E),C.className="cesium-cesiumInspector",C.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : dropDownVisible, "cesium-cesiumInspector-hidden" : !dropDownVisible }'),o.appendChild(this._element);let x=document.createElement("div");x.className="cesium-cesiumInspector-dropDown",C.appendChild(x);let y=tI.createSection,I=tI.createCheckbox,v=y(x,"General","generalVisible","toggleGeneral"),B=I("Show Frustums","frustums"),Q=document.createElement("div");Q.className="cesium-cesiumInspector-frustumStatistics",Q.setAttribute("data-bind","visible: frustums, html: frustumStatisticText"),B.appendChild(Q),v.appendChild(B),v.appendChild(I("Show Frustum Planes","frustumPlanes")),v.appendChild(I("Performance Display","performance")),f.className="cesium-cesiumInspector-performanceDisplay",v.appendChild(f);let T=document.createElement("div");T.className="cesium-cesiumInspector-shaderCache",T.setAttribute("data-bind","html: shaderCacheText"),v.appendChild(T);let w=document.createElement("div");v.appendChild(w);let S=document.createElement("span");S.setAttribute("data-bind",'html: "     Frustum:"'),w.appendChild(S);let D=document.createElement("span");D.setAttribute("data-bind","text: depthFrustumText"),w.appendChild(D);let R=document.createElement("input");R.type="button",R.value="-",R.className="cesium-cesiumInspector-pickButton",R.setAttribute("data-bind","click: decrementDepthFrustum"),w.appendChild(R);let P=document.createElement("input");P.type="button",P.value="+",P.className="cesium-cesiumInspector-pickButton",P.setAttribute("data-bind","click: incrementDepthFrustum"),w.appendChild(P);let M=y(x,"Primitives","primitivesVisible","togglePrimitives"),L=document.createElement("div");L.className="cesium-cesiumInspector-pickSection",M.appendChild(L);let F=document.createElement("input");F.type="button",F.value="Pick a primitive",F.className="cesium-cesiumInspector-pickButton",F.setAttribute("data-bind",'css: {"cesium-cesiumInspector-pickButtonHighlight" : pickPrimitiveActive}, click: pickPrimitive');let k=document.createElement("div");k.className="cesium-cesiumInspector-center",k.appendChild(F),L.appendChild(k),L.appendChild(I("Show bounding sphere","primitiveBoundingSphere","hasPickedPrimitive")),L.appendChild(I("Show reference frame","primitiveReferenceFrame","hasPickedPrimitive")),this._primitiveOnly=I("Show only selected","filterPrimitive","hasPickedPrimitive"),L.appendChild(this._primitiveOnly);let N=y(x,"Terrain","terrainVisible","toggleTerrain"),G=document.createElement("div");G.className="cesium-cesiumInspector-pickSection",N.appendChild(G);let J=document.createElement("input");J.type="button",J.value="Pick a tile",J.className="cesium-cesiumInspector-pickButton",J.setAttribute("data-bind",'css: {"cesium-cesiumInspector-pickButtonHighlight" : pickTileActive}, click: pickTile'),k=document.createElement("div"),k.appendChild(J),k.className="cesium-cesiumInspector-center",G.appendChild(k);let K=document.createElement("div");G.appendChild(K);let X=document.createElement("input");X.type="button",X.value="Parent",X.className="cesium-cesiumInspector-pickButton",X.setAttribute("data-bind","click: selectParent");let q=document.createElement("input");q.type="button",q.value="NW",q.className="cesium-cesiumInspector-pickButton",q.setAttribute("data-bind","click: selectNW");let ee=document.createElement("input");ee.type="button",ee.value="NE",ee.className="cesium-cesiumInspector-pickButton",ee.setAttribute("data-bind","click: selectNE");let ie=document.createElement("input");ie.type="button",ie.value="SW",ie.className="cesium-cesiumInspector-pickButton",ie.setAttribute("data-bind","click: selectSW");let H=document.createElement("input");H.type="button",H.value="SE",H.className="cesium-cesiumInspector-pickButton",H.setAttribute("data-bind","click: selectSE");let le=document.createElement("div");le.className="cesium-cesiumInspector-tileText",K.className="cesium-cesiumInspector-frustumStatistics",K.appendChild(le),K.setAttribute("data-bind","visible: hasPickedTile"),le.setAttribute("data-bind","html: tileText");let ue=document.createElement("div");ue.className="cesium-cesiumInspector-relativeText",ue.textContent="Select relative:",K.appendChild(ue);let Ae=document.createElement("table"),he=document.createElement("tr"),ge=document.createElement("tr"),fe=document.createElement("td");fe.appendChild(X);let ae=document.createElement("td");ae.appendChild(q);let U=document.createElement("td");U.appendChild(ee),he.appendChild(fe),he.appendChild(ae),he.appendChild(U);let W=document.createElement("td"),Y=document.createElement("td");Y.appendChild(ie);let z=document.createElement("td");z.appendChild(H),ge.appendChild(W),ge.appendChild(Y),ge.appendChild(z),Ae.appendChild(he),Ae.appendChild(ge),K.appendChild(Ae),G.appendChild(I("Show bounding volume","tileBoundingSphere","hasPickedTile")),G.appendChild(I("Show only selected","filterTile","hasPickedTile")),N.appendChild(I("Wireframe","wireframe")),N.appendChild(I("Suspend LOD update","suspendUpdates")),N.appendChild(I("Show tile coordinates","tileCoordinates")),qi.applyBindings(m,this._element)}Object.defineProperties(soe.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});soe.prototype.isDestroyed=function(){return!1};soe.prototype.destroy=function(){return qi.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),Ar(this)};var jQe=soe;function iot(o){o=oe(o,oe.EMPTY_OBJECT);let A=o.globe,f=oe(o.imageryProviderViewModels,[]),m=oe(o.terrainProviderViewModels,[]);this._globe=A,this.imageryProviderViewModels=f.slice(0),this.terrainProviderViewModels=m.slice(0),this.dropDownVisible=!1,qi.track(this,["imageryProviderViewModels","terrainProviderViewModels","dropDownVisible"]);let C=qi.getObservable(this,"imageryProviderViewModels"),E=qi.pureComputed(function(){let Q=C(),T={},w;for(w=0;w<Q.length;w++){let R=Q[w],P=R.category;O(T[P])?T[P].push(R):T[P]=[R]}let S=Object.keys(T),D=[];for(w=0;w<S.length;w++){let R=S[w];D.push({name:R,providers:T[R]})}return D});this._imageryProviders=E;let x=qi.getObservable(this,"terrainProviderViewModels"),y=qi.pureComputed(function(){let Q=x(),T={},w;for(w=0;w<Q.length;w++){let R=Q[w],P=R.category;O(T[P])?T[P].push(R):T[P]=[R]}let S=Object.keys(T),D=[];for(w=0;w<S.length;w++){let R=S[w];D.push({name:R,providers:T[R]})}return D});this._terrainProviders=y,this.buttonTooltip=void 0,qi.defineProperty(this,"buttonTooltip",function(){let Q=this.selectedImagery,T=this.selectedTerrain,w=O(Q)?Q.name:void 0,S=O(T)?T.name:void 0;return O(w)&&O(S)?`${w} ${S}`:O(w)?w:S}),this.buttonImageUrl=void 0,qi.defineProperty(this,"buttonImageUrl",function(){let Q=this.selectedImagery;if(O(Q))return Q.iconUrl}),this.selectedImagery=void 0;let I=qi.observable();this._currentImageryLayers=[],qi.defineProperty(this,"selectedImagery",{get:function(){return I()},set:function(Q){if(I()===Q){this.dropDownVisible=!1;return}let T,w=this._currentImageryLayers,S=w.length,D=this._globe.imageryLayers,R=!1;for(T=0;T<S;T++){let P=D.length;for(let M=0;M<P;M++){let L=D.get(M);if(L===w[T]){D.remove(L),R=!0;break}}}if(O(Q)){let P=Q.creationCommand();if(Array.isArray(P)){let M=P.length;for(this._currentImageryLayers=[],T=M-1;T>=0;T--){let L=oE.fromProviderAsync(P[T]);D.add(L,0),this._currentImageryLayers.push(L)}}else{this._currentImageryLayers=[];let M=oE.fromProviderAsync(P);if(M.name=Q.name,R)D.add(M,0);else{let L=D.get(0);O(L)&&D.remove(L),D.add(M,0)}this._currentImageryLayers.push(M)}}I(Q),this.dropDownVisible=!1}}),this.selectedTerrain=void 0;let v=qi.observable();qi.defineProperty(this,"selectedTerrain",{get:function(){return v()},set:function(Q){if(v()===Q){this.dropDownVisible=!1;return}let T;O(Q)&&(T=Q.creationCommand());let w=!1,S=this._globe.terrainProviderChanged.addEventListener(()=>{w=!0,S()}),D=new LQe(Promise.resolve(T)).readyEvent.addEventListener(R=>{w||(this._globe.depthTestAgainstTerrain=!(R instanceof yT),this._globe.terrainProvider=R,D())});v(Q),this.dropDownVisible=!1}});let B=this;this._toggleDropDown=Xs(function(){B.dropDownVisible=!B.dropDownVisible}),this.selectedImagery=oe(o.selectedImageryProviderViewModel,f[0]),this.selectedTerrain=oe(o.selectedTerrainProviderViewModel,m[0])}Object.defineProperties(iot.prototype,{toggleDropDown:{get:function(){return this._toggleDropDown}},globe:{get:function(){return this._globe}}});var qQe=iot;function loe(o,A){o=tc(o);let f=new qQe(A),m=document.createElement("button");m.type="button",m.className="cesium-button cesium-toolbar-button",m.setAttribute("data-bind","attr: { title: buttonTooltip },click: toggleDropDown"),o.appendChild(m);let C=document.createElement("img");C.setAttribute("draggable","false"),C.className="cesium-baseLayerPicker-selected",C.setAttribute("data-bind","attr: { src: buttonImageUrl }, visible: !!buttonImageUrl"),m.appendChild(C);let E=document.createElement("div");E.className="cesium-baseLayerPicker-dropDown",E.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-dropDown-visible" : dropDownVisible }'),o.appendChild(E);let x=document.createElement("div");x.className="cesium-baseLayerPicker-sectionTitle",x.setAttribute("data-bind","visible: imageryProviderViewModels.length > 0"),x.innerHTML="Imagery",E.appendChild(x);let y=document.createElement("div");y.className="cesium-baseLayerPicker-section",y.setAttribute("data-bind","foreach: _imageryProviders"),E.appendChild(y);let I=document.createElement("div");I.className="cesium-baseLayerPicker-category",y.appendChild(I);let v=document.createElement("div");v.className="cesium-baseLayerPicker-categoryTitle",v.setAttribute("data-bind","text: name"),I.appendChild(v);let B=document.createElement("div");B.className="cesium-baseLayerPicker-choices",B.setAttribute("data-bind","foreach: providers"),I.appendChild(B);let Q=document.createElement("div");Q.className="cesium-baseLayerPicker-item",Q.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-selectedItem" : $data === $parents[1].selectedImagery },attr: { title: tooltip },visible: creationCommand.canExecute,click: function($data) { $parents[1].selectedImagery = $data; }'),B.appendChild(Q);let T=document.createElement("img");T.className="cesium-baseLayerPicker-itemIcon",T.setAttribute("data-bind","attr: { src: iconUrl }"),T.setAttribute("draggable","false"),Q.appendChild(T);let w=document.createElement("div");w.className="cesium-baseLayerPicker-itemLabel",w.setAttribute("data-bind","text: name"),Q.appendChild(w);let S=document.createElement("div");S.className="cesium-baseLayerPicker-sectionTitle",S.setAttribute("data-bind","visible: terrainProviderViewModels.length > 0"),S.innerHTML="Terrain",E.appendChild(S);let D=document.createElement("div");D.className="cesium-baseLayerPicker-section",D.setAttribute("data-bind","foreach: _terrainProviders"),E.appendChild(D);let R=document.createElement("div");R.className="cesium-baseLayerPicker-category",D.appendChild(R);let P=document.createElement("div");P.className="cesium-baseLayerPicker-categoryTitle",P.setAttribute("data-bind","text: name"),R.appendChild(P);let M=document.createElement("div");M.className="cesium-baseLayerPicker-choices",M.setAttribute("data-bind","foreach: providers"),R.appendChild(M);let L=document.createElement("div");L.className="cesium-baseLayerPicker-item",L.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-selectedItem" : $data === $parents[1].selectedTerrain },attr: { title: tooltip },visible: creationCommand.canExecute,click: function($data) { $parents[1].selectedTerrain = $data; }'),M.appendChild(L);let F=document.createElement("img");F.className="cesium-baseLayerPicker-itemIcon",F.setAttribute("data-bind","attr: { src: iconUrl }"),F.setAttribute("draggable","false"),L.appendChild(F);let k=document.createElement("div");k.className="cesium-baseLayerPicker-itemLabel",k.setAttribute("data-bind","text: name"),L.appendChild(k),qi.applyBindings(f,m),qi.applyBindings(f,E),this._viewModel=f,this._container=o,this._element=m,this._dropPanel=E,this._closeDropDown=function(N){m.contains(N.target)||E.contains(N.target)||(f.dropDownVisible=!1)},wo.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(loe.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});loe.prototype.isDestroyed=function(){return!1};loe.prototype.destroy=function(){return wo.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),qi.cleanNode(this._element),qi.cleanNode(this._dropPanel),this._container.removeChild(this._element),this._container.removeChild(this._dropPanel),Ar(this)};var XQe=loe;function rot(o){let A=o.creationFunction;O(A.canExecute)||(A=Xs(A)),this._creationCommand=A,this.name=o.name,this.tooltip=o.tooltip,this.iconUrl=o.iconUrl,this._category=oe(o.category,""),qi.track(this,["name","tooltip","iconUrl"])}Object.defineProperties(rot.prototype,{creationCommand:{get:function(){return this._creationCommand}},category:{get:function(){return this._category}}});var Ig=rot;function TSi(){let o=[];return o.push(new Ig({name:"Bing Maps Aerial",iconUrl:ja("Widgets/Images/ImageryProviders/bingAerial.png"),tooltip:"Bing Maps aerial imagery, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return z5({style:dN.AERIAL})}})),o.push(new Ig({name:"Bing Maps Aerial with Labels",iconUrl:ja("Widgets/Images/ImageryProviders/bingAerialLabels.png"),tooltip:"Bing Maps aerial imagery with labels, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return z5({style:dN.AERIAL_WITH_LABELS})}})),o.push(new Ig({name:"Bing Maps Roads",iconUrl:ja("Widgets/Images/ImageryProviders/bingRoads.png"),tooltip:"Bing Maps standard road maps, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return z5({style:dN.ROAD})}})),o.push(new Ig({name:"ArcGIS World Imagery",iconUrl:ja("Widgets/Images/ImageryProviders/ArcGisMapServiceWorldImagery.png"),tooltip:`ArcGIS World Imagery provides one meter or better satellite and aerial imagery in many parts of the world and lower resolution satellite imagery worldwide. The map includes 15m TerraColor imagery at small and mid-scales (~1:591M down to ~1:288k) for the world. The map features Maxar imagery at 0.3m resolution for select metropolitan areas around the world, 0.5m resolution across the United States and parts of Western Europe, and 1m resolution imagery across the rest of the world. In addition to commercial sources, the World Imagery map features high-resolution aerial photography contributed by the GIS User Community. This imagery ranges from 0.3m to 0.03m resolution (down to ~1:280 nin select communities). For more information on this map, including the terms of use, visit us online at https://www.arcgis.com/home/item.html?id=10df2279f9684e4a9f6a7f08febac2a9`,category:"Other",creationFunction:function(){return z_.fromBasemapType(dP.SATELLITE,{enablePickFeatures:!1})}})),o.push(new Ig({name:"ArcGIS World Hillshade",iconUrl:ja("Widgets/Images/ImageryProviders/ArcGisMapServiceWorldHillshade.png"),tooltip:`ArcGIS World Hillshade map portrays elevation as an artistic hillshade. This map is designed to be used as a backdrop for topographical, soil, hydro, landcover or other outdoor recreational maps. The map was compiled from a variety of sources from several data providers. The basemap has global coverage down to a scale of ~1:72k. In select areas of the United States and Europe, coverage is available down to ~1:9k. For more information on this map, including the terms of use, visit us online at https://www.arcgis.com/home/item.html?id=1b243539f4514b6ba35e7d995890db1d`,category:"Other",creationFunction:function(){return z_.fromBasemapType(dP.HILLSHADE,{enablePickFeatures:!1})}})),o.push(new Ig({name:"Esri World Ocean",iconUrl:ja("Widgets/Images/ImageryProviders/ArcGisMapServiceWorldOcean.png"),tooltip:`ArcGIS World Ocean map is designed to be used as a base map by marine GIS professionals and as a reference map by anyone interested in ocean data. The base map features marine bathymetry. Land features include inland waters and roads overlaid on land cover and shaded relief imagery. The map was compiled from a variety of best available sources from several data providers, including General Bathymetric Chart of the Oceans GEBCO_08 Grid, National Oceanic and Atmospheric Administration (NOAA), and National Geographic, Garmin, HERE, Geonames.org, and Esri, and various other contributors. The base map currently provides coverage for the world down to a scale of ~1:577k, and coverage down to 1:72k in US coastal areas, and various other areas. Coverage down to ~ 1:9k is available limited areas based on regional hydrographic survey data. The base map was designed and developed by Esri. For more information on this map, including our terms of use, visit us online at https://www.arcgis.com/home/item.html?id=1e126e7520f9466c9ca28b8f28b5e500`,category:"Other",creationFunction:function(){return z_.fromBasemapType(dP.OCEANS,{enablePickFeatures:!1})}})),o.push(new Ig({name:"Open\xADStreet\xADMap",iconUrl:ja("Widgets/Images/ImageryProviders/openStreetMap.png"),tooltip:`OpenStreetMap (OSM) is a collaborative project to create a free editable map of the world. http://www.openstreetmap.org`,category:"Other",creationFunction:function(){return new fN({url:"https://a.tile.openstreetmap.org/"})}})),o.push(new Ig({name:"Stamen Watercolor",iconUrl:ja("Widgets/Images/ImageryProviders/stamenWatercolor.png"),tooltip:`Reminiscent of hand drawn maps, Stamen watercolor maps apply raster effect area washes and organic edges over a paper texture to add warm pop to any map. http://maps.stamen.com`,category:"Other",creationFunction:function(){return new fN({url:"https://stamen-tiles.a.ssl.fastly.net/watercolor/",credit:"Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA."})}})),o.push(new Ig({name:"Stamen Toner",iconUrl:ja("Widgets/Images/ImageryProviders/stamenToner.png"),tooltip:`A high contrast black and white map. http://maps.stamen.com`,category:"Other",creationFunction:function(){return new fN({url:"https://stamen-tiles.a.ssl.fastly.net/toner/",credit:"Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA."})}})),o.push(new Ig({name:"Sentinel-2",iconUrl:ja("Widgets/Images/ImageryProviders/sentinel-2.png"),tooltip:"Sentinel-2 cloudless by EOX IT Services GmbH (Contains modified Copernicus Sentinel data 2016 and 2017).",category:"Cesium ion",creationFunction:function(){return Ib.fromAssetId(3954)}})),o.push(new Ig({name:"Blue Marble",iconUrl:ja("Widgets/Images/ImageryProviders/blueMarble.png"),tooltip:"Blue Marble Next Generation July, 2004 imagery from NASA.",category:"Cesium ion",creationFunction:function(){return Ib.fromAssetId(3845)}})),o.push(new Ig({name:"Earth at night",iconUrl:ja("Widgets/Images/ImageryProviders/earthAtNight.png"),tooltip:"The Earth at night, also known as The Black Marble, is a 500 meter resolution global composite imagery layer released by NASA.",category:"Cesium ion",creationFunction:function(){return Ib.fromAssetId(3812)}})),o.push(new Ig({name:"Natural Earth\xA0II",iconUrl:ja("Widgets/Images/ImageryProviders/naturalEarthII.png"),tooltip:`Natural Earth II, darkened for contrast. http://www.naturalearthdata.com/`,category:"Cesium ion",creationFunction:function(){return Lw.fromUrl(ja("Assets/Textures/NaturalEarthII"))}})),o}var ZQe=TSi;function MSi(){let o=[];return o.push(new Ig({name:"WGS84 Ellipsoid",iconUrl:ja("Widgets/Images/TerrainProviders/Ellipsoid.png"),tooltip:"WGS84 standard ellipsoid, also known as EPSG:4326",category:"Cesium ion",creationFunction:function(){return new yT}})),o.push(new Ig({name:"Cesium World Terrain",iconUrl:ja("Widgets/Images/TerrainProviders/CesiumWorldTerrain.png"),tooltip:"High-resolution global terrain tileset curated from several datasources and hosted by Cesium ion",category:"Cesium ion",creationFunction:function(){return Tne({requestWaterMask:!0,requestVertexNormals:!0})}})),o}var $Qe=MSi;function uoe(o,A){O(A)||(A=document.body),A=tc(A);let f=this,m=qi.observable(bg.fullscreen),C=qi.observable(bg.enabled),E=A.ownerDocument;this.isFullscreen=void 0,qi.defineProperty(this,"isFullscreen",{get:function(){return m()}}),this.isFullscreenEnabled=void 0,qi.defineProperty(this,"isFullscreenEnabled",{get:function(){return C()},set:function(x){C(x&&bg.enabled)}}),this.tooltip=void 0,qi.defineProperty(this,"tooltip",function(){return this.isFullscreenEnabled?m()?"Exit full screen":"Full screen":"Full screen unavailable"}),this._command=Xs(function(){bg.fullscreen?bg.exitFullscreen():bg.requestFullscreen(f._fullscreenElement)},qi.getObservable(this,"isFullscreenEnabled")),this._fullscreenElement=oe(tc(o),E.body),this._callback=function(){m(bg.fullscreen)},E.addEventListener(bg.changeEventName,this._callback)}Object.defineProperties(uoe.prototype,{fullscreenElement:{get:function(){return this._fullscreenElement},set:function(o){this._fullscreenElement=o}},command:{get:function(){return this._command}}});uoe.prototype.isDestroyed=function(){return!1};uoe.prototype.destroy=function(){document.removeEventListener(bg.changeEventName,this._callback),Ar(this)};var eSe=uoe,PSi="M 83.96875 17.5625 L 83.96875 17.59375 L 76.65625 24.875 L 97.09375 24.96875 L 76.09375 45.96875 L 81.9375 51.8125 L 102.78125 30.9375 L 102.875 51.15625 L 110.15625 43.875 L 110.1875 17.59375 L 83.96875 17.5625 z M 44.125 17.59375 L 17.90625 17.625 L 17.9375 43.90625 L 25.21875 51.1875 L 25.3125 30.96875 L 46.15625 51.8125 L 52 45.96875 L 31 25 L 51.4375 24.90625 L 44.125 17.59375 z M 46.0625 76.03125 L 25.1875 96.875 L 25.09375 76.65625 L 17.8125 83.9375 L 17.8125 110.21875 L 44 110.25 L 51.3125 102.9375 L 30.90625 102.84375 L 51.875 81.875 L 46.0625 76.03125 z M 82 76.15625 L 76.15625 82 L 97.15625 103 L 76.71875 103.0625 L 84.03125 110.375 L 110.25 110.34375 L 110.21875 84.0625 L 102.9375 76.8125 L 102.84375 97 L 82 76.15625 z",RSi="M 104.34375 17.5625 L 83.5 38.4375 L 83.40625 18.21875 L 76.125 25.5 L 76.09375 51.78125 L 102.3125 51.8125 L 102.3125 51.78125 L 109.625 44.5 L 89.1875 44.40625 L 110.1875 23.40625 L 104.34375 17.5625 z M 23.75 17.59375 L 17.90625 23.4375 L 38.90625 44.4375 L 18.5 44.53125 L 25.78125 51.8125 L 52 51.78125 L 51.96875 25.53125 L 44.6875 18.25 L 44.625 38.46875 L 23.75 17.59375 z M 25.6875 76.03125 L 18.375 83.3125 L 38.78125 83.40625 L 17.8125 104.40625 L 23.625 110.25 L 44.5 89.375 L 44.59375 109.59375 L 51.875 102.3125 L 51.875 76.0625 L 25.6875 76.03125 z M 102.375 76.15625 L 76.15625 76.1875 L 76.1875 102.4375 L 83.46875 109.71875 L 83.5625 89.53125 L 104.40625 110.375 L 110.25 104.53125 L 89.25 83.53125 L 109.6875 83.46875 L 102.375 76.15625 z";function Aoe(o,A){o=tc(o);let f=new eSe(A,o);f._exitFullScreenPath=RSi,f._enterFullScreenPath=PSi;let m=document.createElement("button");m.type="button",m.className="cesium-button cesium-fullscreenButton",m.setAttribute("data-bind","attr: { title: tooltip },click: command,enable: isFullscreenEnabled,cesiumSvgPath: { path: isFullscreen ? _exitFullScreenPath : _enterFullScreenPath, width: 128, height: 128 }"),o.appendChild(m),qi.applyBindings(f,m),this._container=o,this._viewModel=f,this._element=m}Object.defineProperties(Aoe.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});Aoe.prototype.isDestroyed=function(){return!1};Aoe.prototype.destroy=function(){return this._viewModel.destroy(),qi.cleanNode(this._element),this._container.removeChild(this._element),Ar(this)};var tSe=Aoe,uHe=1e3;function ov(o){O(o.geocoderServices)?this._geocoderServices=o.geocoderServices:this._geocoderServices=[new ibe,new dbe({scene:o.scene})],this._viewContainer=o.container,this._scene=o.scene,this._flightDuration=o.flightDuration,this._searchText="",this._isSearchInProgress=!1,this._wasGeocodeCancelled=!1,this._previousCredits=[],this._complete=new ur,this._suggestions=[],this._selectedSuggestion=void 0,this._showSuggestions=!0,this._handleArrowDown=cHe,this._handleArrowUp=AHe;let A=this;this._suggestionsVisible=qi.pureComputed(function(){let m=qi.getObservable(A,"_suggestions")().length>0,C=qi.getObservable(A,"_showSuggestions")();return m&&C}),this._searchCommand=Xs(function(m){if(m=oe(m,MJ.SEARCH),A._focusTextbox=!1,O(A._selectedSuggestion))return A.activateSuggestion(A._selectedSuggestion),!1;if(A.hideSuggestions(),A.isSearchInProgress)USi(A);else return kSi(A,A._geocoderServices,m)}),this.deselectSuggestion=function(){A._selectedSuggestion=void 0},this.handleKeyDown=function(m,C){let E=C.key==="ArrowDown"||C.key==="Down"||C.keyCode===40,x=C.key==="ArrowUp"||C.key==="Up"||C.keyCode===38;return(E||x)&&C.preventDefault(),!0},this.handleKeyUp=function(m,C){let E=C.key==="ArrowDown"||C.key==="Down"||C.keyCode===40,x=C.key==="ArrowUp"||C.key==="Up"||C.keyCode===38,y=C.key==="Enter"||C.keyCode===13;return x?AHe(A):E?cHe(A):y&&A._searchCommand(),!0},this.activateSuggestion=function(m){A.hideSuggestions(),A._searchText=m.displayName;let C=m.destination;aot(A),A.destinationFound(A,C)},this.hideSuggestions=function(){A._showSuggestions=!1,A._selectedSuggestion=void 0},this.showSuggestions=function(){A._showSuggestions=!0},this.handleMouseover=function(m,C){m!==A._selectedSuggestion&&(A._selectedSuggestion=m)},this.keepExpanded=!1,this.autoComplete=oe(o.autocomplete,!0),this.destinationFound=oe(o.destinationFound,ov.flyToDestination),this._focusTextbox=!1,qi.track(this,["_searchText","_isSearchInProgress","keepExpanded","_suggestions","_selectedSuggestion","_showSuggestions","_focusTextbox"]);let f=qi.getObservable(this,"_searchText");f.extend({rateLimit:{timeout:500}}),this._suggestionSubscription=f.subscribe(function(){ov._updateSearchSuggestions(A)}),this.isSearchInProgress=void 0,qi.defineProperty(this,"isSearchInProgress",{get:function(){return this._isSearchInProgress}}),this.searchText=void 0,qi.defineProperty(this,"searchText",{get:function(){return this.isSearchInProgress?"Searching...":this._searchText},set:function(m){this._searchText=m}}),this.flightDuration=void 0,qi.defineProperty(this,"flightDuration",{get:function(){return this._flightDuration},set:function(m){this._flightDuration=m}})}Object.defineProperties(ov.prototype,{complete:{get:function(){return this._complete}},scene:{get:function(){return this._scene}},search:{get:function(){return this._searchCommand}},selectedSuggestion:{get:function(){return this._selectedSuggestion}},suggestions:{get:function(){return this._suggestions}}});ov.prototype.destroy=function(){this._suggestionSubscription.dispose()};function AHe(o){if(o._suggestions.length===0)return;let A=o._suggestions.indexOf(o._selectedSuggestion);if(A===-1||A===0){o._selectedSuggestion=void 0;return}let f=A-1;o._selectedSuggestion=o._suggestions[f],ov._adjustSuggestionsScroll(o,f)}function cHe(o){if(o._suggestions.length===0)return;let A=o._suggestions.length,f=(o._suggestions.indexOf(o._selectedSuggestion)+1)%A;o._selectedSuggestion=o._suggestions[f],ov._adjustSuggestionsScroll(o,f)}function LSi(o,A){let f=O(A)?A.availability:void 0;return O(f)?Tw(A,[o]).then(function(m){return o=m[0],o.height+=uHe,o}):(o.height+=uHe,Promise.resolve(o))}function FSi(o,A){let f=o._scene,m=f.mapProjection.ellipsoid,C=f.camera,E=f.terrainProvider,x=A,y;return A instanceof gi?Be.equalsEpsilon(A.south,A.north,Be.EPSILON7)&&Be.equalsEpsilon(A.east,A.west,Be.EPSILON7)?A=gi.center(A):y=Kne(A,f):A=m.cartesianToCartographic(A),O(y)||(y=LSi(A,E)),y.then(function(I){x=m.cartographicToCartesian(I)}).finally(function(){C.flyTo({destination:x,complete:function(){o._complete.raiseEvent()},duration:o._flightDuration,endTransform:Re.IDENTITY})})}async function NSi(o,A,f){try{return{state:"fulfilled",value:await o.geocode(A,f),credits:o.credit}}catch(m){return{state:"rejected",reason:m}}}async function kSi(o,A,f){let m=o._searchText;if(oot(m)){o.showSuggestions();return}o._isSearchInProgress=!0,o._wasGeocodeCancelled=!1;let C,E;for(C=0;C<A.length;C++){if(o._wasGeocodeCancelled)return;if(E=await NSi(A[C],m,f),O(E)&&E.state==="fulfilled"&&E.value.length>0)break}if(o._wasGeocodeCancelled)return;o._isSearchInProgress=!1,rSe(o);let x=E.value;if(E.state==="fulfilled"&&O(x)&&x.length>0){o._searchText=x[0].displayName,o.destinationFound(o,x[0].destination);let y=not(o,Rne.getCreditsFromResult(x[0]));O(y)||iSe(o,A[C].credit);return}o._searchText=`${m} (not found)`}function iSe(o,A){O(A)&&!o._scene.isDestroyed()&&!o._scene.frameState.creditDisplay.isDestroyed()&&(o._scene.frameState.creditDisplay.addStaticCredit(A),o._previousCredits.push(A))}function not(o,A){return O(A)&&A.forEach(f=>iSe(o,f)),A}function rSe(o){!o._scene.isDestroyed()&&!o._scene.frameState.creditDisplay.isDestroyed()&&o._previousCredits.forEach(A=>{o._scene.frameState.creditDisplay.removeStaticCredit(A)}),o._previousCredits.length=0}function OSi(o,A){let f=tc(o._viewContainer),m=f.getElementsByClassName("search-results")[0],C=f.getElementsByTagName("li")[A];if(A===0){m.scrollTop=0;return}let E=C.offsetTop;E+C.clientHeight>m.clientHeight?m.scrollTop=E+C.clientHeight:E<m.scrollTop&&(m.scrollTop=E)}function USi(o){o._isSearchInProgress&&(o._isSearchInProgress=!1,o._wasGeocodeCancelled=!0)}function oot(o){return/^\s*$/.test(o)}function aot(o){qi.getObservable(o,"_suggestions").removeAll()}async function GSi(o){if(!o.autoComplete)return;let A=o._searchText;if(aot(o),rSe(o),!oot(A))for(let f of o._geocoderServices){let m=await f.geocode(A,MJ.AUTOCOMPLETE);if(o._suggestions=o._suggestions.concat(m),m.length>0){let C=!0;m.forEach(E=>{let x=Rne.getCreditsFromResult(E);C=C&&!O(x),not(o,x)}),C&&iSe(o,f.credit)}if(o._suggestions.length>=5)return}}ov.flyToDestination=FSi;ov._updateSearchSuggestions=GSi;ov._adjustSuggestionsScroll=OSi;ov.prototype.isDestroyed=function(){return!1};ov.prototype.destroy=function(){return rSe(this),Ar(this)};var nSe=ov,HSi="M29.772,26.433l-7.126-7.126c0.96-1.583,1.523-3.435,1.524-5.421C24.169,8.093,19.478,3.401,13.688,3.399C7.897,3.401,3.204,8.093,3.204,13.885c0,5.789,4.693,10.481,10.484,10.481c1.987,0,3.839-0.563,5.422-1.523l7.128,7.127L29.772,26.433zM7.203,13.885c0.006-3.582,2.903-6.478,6.484-6.486c3.579,0.008,6.478,2.904,6.484,6.486c-0.007,3.58-2.905,6.476-6.484,6.484C10.106,20.361,7.209,17.465,7.203,13.885z",VSi="M24.778,21.419 19.276,15.917 24.777,10.415 21.949,7.585 16.447,13.087 10.945,7.585 8.117,10.415 13.618,15.917 8.116,21.419 10.946,24.248 16.447,18.746 21.948,24.248z";function coe(o){let A=tc(o.container),f=new nSe(o);f._startSearchPath=HSi,f._stopSearchPath=VSi;let m=document.createElement("form");m.setAttribute("data-bind","submit: search");let C=document.createElement("input");C.type="search",C.className="cesium-geocoder-input",C.setAttribute("placeholder","Enter an address or landmark..."),C.setAttribute("data-bind",'textInput: searchText,disable: isSearchInProgress,event: { keyup: handleKeyUp, keydown: handleKeyDown, mouseover: deselectSuggestion },css: { "cesium-geocoder-input-wide" : keepExpanded || searchText.length > 0 },hasFocus: _focusTextbox'),this._onTextBoxFocus=function(){setTimeout(function(){C.select()},0)},C.addEventListener("focus",this._onTextBoxFocus,!1),m.appendChild(C),this._textBox=C;let E=document.createElement("span");E.className="cesium-geocoder-searchButton",E.setAttribute("data-bind","click: search,cesiumSvgPath: { path: isSearchInProgress ? _stopSearchPath : _startSearchPath, width: 32, height: 32 }"),m.appendChild(E),A.appendChild(m);let x=document.createElement("div");x.className="search-results",x.setAttribute("data-bind","visible: _suggestionsVisible");let y=document.createElement("ul");y.setAttribute("data-bind","foreach: _suggestions");let I=document.createElement("li");y.appendChild(I),I.setAttribute("data-bind","text: $data.displayName, click: $parent.activateSuggestion, event: { mouseover: $parent.handleMouseover}, css: { active: $data === $parent._selectedSuggestion }"),x.appendChild(y),A.appendChild(x),qi.applyBindings(f,m),qi.applyBindings(f,x),this._container=A,this._searchSuggestionsContainer=x,this._viewModel=f,this._form=m,this._onInputBegin=function(v){let B=v.target;typeof v.composedPath=="function"&&(B=v.composedPath()[0]),A.contains(B)||(f._focusTextbox=!1,f.hideSuggestions())},this._onInputEnd=function(v){f._focusTextbox=!0,f.showSuggestions()},wo.supportsPointerEvents()?(document.addEventListener("pointerdown",this._onInputBegin,!0),A.addEventListener("pointerup",this._onInputEnd,!0),A.addEventListener("pointercancel",this._onInputEnd,!0)):(document.addEventListener("mousedown",this._onInputBegin,!0),A.addEventListener("mouseup",this._onInputEnd,!0),document.addEventListener("touchstart",this._onInputBegin,!0),A.addEventListener("touchend",this._onInputEnd,!0),A.addEventListener("touchcancel",this._onInputEnd,!0))}Object.defineProperties(coe.prototype,{container:{get:function(){return this._container}},searchSuggestionsContainer:{get:function(){return this._searchSuggestionsContainer}},viewModel:{get:function(){return this._viewModel}}});coe.prototype.isDestroyed=function(){return!1};coe.prototype.destroy=function(){let o=this._container;return wo.supportsPointerEvents()?(document.removeEventListener("pointerdown",this._onInputBegin,!0),o.removeEventListener("pointerup",this._onInputEnd,!0)):(document.removeEventListener("mousedown",this._onInputBegin,!0),o.removeEventListener("mouseup",this._onInputEnd,!0),document.removeEventListener("touchstart",this._onInputBegin,!0),o.removeEventListener("touchend",this._onInputEnd,!0)),this._viewModel.destroy(),qi.cleanNode(this._form),qi.cleanNode(this._searchSuggestionsContainer),o.removeChild(this._form),o.removeChild(this._searchSuggestionsContainer),this._textBox.removeEventListener("focus",this._onTextBoxFocus,!1),Ar(this)};var oSe=coe;function sot(o,A){this._scene=o,this._duration=A;let f=this;this._command=Xs(function(){f._scene.camera.flyHome(f._duration)}),this.tooltip="View Home",qi.track(this,["tooltip"])}Object.defineProperties(sot.prototype,{scene:{get:function(){return this._scene}},command:{get:function(){return this._command}},duration:{get:function(){return this._duration},set:function(o){this._duration=o}}});var aSe=sot;function hoe(o,A,f){o=tc(o);let m=new aSe(A,f);m._svgPath="M14,4l-10,8.75h20l-4.25-3.7188v-4.6562h-2.812v2.1875l-2.938-2.5625zm-7.0938,9.906v10.094h14.094v-10.094h-14.094zm2.1876,2.313h3.3122v4.25h-3.3122v-4.25zm5.8442,1.281h3.406v6.438h-3.406v-6.438z";let C=document.createElement("button");C.type="button",C.className="cesium-button cesium-toolbar-button cesium-home-button",C.setAttribute("data-bind","attr: { title: tooltip },click: command,cesiumSvgPath: { path: _svgPath, width: 28, height: 28 }"),o.appendChild(C),qi.applyBindings(m,C),this._container=o,this._viewModel=m,this._element=C}Object.defineProperties(hoe.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});hoe.prototype.isDestroyed=function(){return!1};hoe.prototype.destroy=function(){return qi.cleanNode(this._element),this._container.removeChild(this._element),Ar(this)};var sSe=hoe,zSi="M 13.84375 7.03125 C 11.412798 7.03125 9.46875 8.975298 9.46875 11.40625 L 9.46875 11.59375 L 2.53125 7.21875 L 2.53125 24.0625 L 9.46875 19.6875 C 9.4853444 22.104033 11.423165 24.0625 13.84375 24.0625 L 25.875 24.0625 C 28.305952 24.0625 30.28125 22.087202 30.28125 19.65625 L 30.28125 11.40625 C 30.28125 8.975298 28.305952 7.03125 25.875 7.03125 L 13.84375 7.03125 z",YSi="M 27.34375 1.65625 L 5.28125 27.9375 L 8.09375 30.3125 L 30.15625 4.03125 L 27.34375 1.65625 z M 13.84375 7.03125 C 11.412798 7.03125 9.46875 8.975298 9.46875 11.40625 L 9.46875 11.59375 L 2.53125 7.21875 L 2.53125 24.0625 L 9.46875 19.6875 C 9.4724893 20.232036 9.5676108 20.7379 9.75 21.21875 L 21.65625 7.03125 L 13.84375 7.03125 z M 28.21875 7.71875 L 14.53125 24.0625 L 25.875 24.0625 C 28.305952 24.0625 30.28125 22.087202 30.28125 19.65625 L 30.28125 11.40625 C 30.28125 9.8371439 29.456025 8.4902779 28.21875 7.71875 z";function lSe(){this._cameraClicked=new ur,this._closeClicked=new ur,this.maxHeight=500,this.enableCamera=!1,this.isCameraTracking=!1,this.showInfo=!1,this.titleText="",this.description="",qi.track(this,["showInfo","titleText","description","maxHeight","enableCamera","isCameraTracking"]),this._loadingIndicatorHtml='<div class="cesium-infoBox-loadingContainer"><span class="cesium-infoBox-loading"></span></div>',this.cameraIconPath=void 0,qi.defineProperty(this,"cameraIconPath",{get:function(){return!this.enableCamera||this.isCameraTracking?YSi:zSi}}),qi.defineProperty(this,"_bodyless",{get:function(){return!O(this.description)||this.description.length===0}})}lSe.prototype.maxHeightOffset=function(o){return`${this.maxHeight-o}px`};Object.defineProperties(lSe.prototype,{cameraClicked:{get:function(){return this._cameraClicked}},closeClicked:{get:function(){return this._closeClicked}}});var uSe=lSe;function doe(o){o=tc(o);let A=document.createElement("div");A.className="cesium-infoBox",A.setAttribute("data-bind",'css: { "cesium-infoBox-visible" : showInfo, "cesium-infoBox-bodyless" : _bodyless }'),o.appendChild(A);let f=document.createElement("div");f.className="cesium-infoBox-title",f.setAttribute("data-bind","text: titleText"),A.appendChild(f);let m=document.createElement("button");m.type="button",m.className="cesium-button cesium-infoBox-camera",m.setAttribute("data-bind",'attr: { title: "Focus camera on object" },click: function () { cameraClicked.raiseEvent(this); },enable: enableCamera,cesiumSvgPath: { path: cameraIconPath, width: 32, height: 32 }'),A.appendChild(m);let C=document.createElement("button");C.type="button",C.className="cesium-infoBox-close",C.setAttribute("data-bind","click: function () { closeClicked.raiseEvent(this); }"),C.innerHTML="×",A.appendChild(C);let E=document.createElement("iframe");E.className="cesium-infoBox-iframe",E.setAttribute("sandbox","allow-same-origin allow-popups allow-forms"),E.setAttribute("data-bind","style : { maxHeight : maxHeightOffset(40) }"),E.setAttribute("allowfullscreen",!0),A.appendChild(E);let x=new uSe;qi.applyBindings(x,A),this._container=o,this._element=A,this._frame=E,this._viewModel=x,this._descriptionSubscription=void 0;let y=this;E.addEventListener("load",function(){let I=E.contentDocument,v=I.createElement("link");v.href=ja("Widgets/InfoBox/InfoBoxDescription.css"),v.rel="stylesheet",v.type="text/css";let B=I.createElement("div");B.className="cesium-infoBox-description",I.head.appendChild(v),I.body.appendChild(B),y._descriptionSubscription=Ix(x,"description",function(Q){E.style.height="5px",B.innerHTML=Q;let T=null,w=B.firstElementChild;if(w!==null&&B.childNodes.length===1){let D=window.getComputedStyle(w);if(D!==null){let R=D["background-color"],P=Ve.fromCssColorString(R);O(P)&&P.alpha!==0&&(T=D["background-color"])}}A.style["background-color"]=T;let S=B.getBoundingClientRect().height;E.style.height=`${S}px`})}),E.setAttribute("src","about:blank")}Object.defineProperties(doe.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}},frame:{get:function(){return this._frame}}});doe.prototype.isDestroyed=function(){return!1};doe.prototype.destroy=function(){let o=this._container;return qi.cleanNode(this._element),o.removeChild(this._element),O(this._descriptionSubscription)&&this._descriptionSubscription.dispose(),Ar(this)};var ASe=doe;function lot(){this.showInstructions=!1;let o=this;this._command=Xs(function(){o.showInstructions=!o.showInstructions}),this._showClick=Xs(function(){o._touch=!1}),this._showTouch=Xs(function(){o._touch=!0}),this._touch=!1,this.tooltip="Navigation Instructions",qi.track(this,["tooltip","showInstructions","_touch"])}Object.defineProperties(lot.prototype,{command:{get:function(){return this._command}},showClick:{get:function(){return this._showClick}},showTouch:{get:function(){return this._showTouch}}});var cSe=lot;function foe(o){let A=tc(o.container),f=new cSe,m=oe(o.instructionsInitiallyVisible,!1);f.showInstructions=m,f._svgPath="M16,1.466C7.973,1.466,1.466,7.973,1.466,16c0,8.027,6.507,14.534,14.534,14.534c8.027,0,14.534-6.507,14.534-14.534C30.534,7.973,24.027,1.466,16,1.466z M17.328,24.371h-2.707v-2.596h2.707V24.371zM17.328,19.003v0.858h-2.707v-1.057c0-3.19,3.63-3.696,3.63-5.963c0-1.034-0.924-1.826-2.134-1.826c-1.254,0-2.354,0.924-2.354,0.924l-1.541-1.915c0,0,1.519-1.584,4.137-1.584c2.487,0,4.796,1.54,4.796,4.136C21.156,16.208,17.328,16.627,17.328,19.003z";let C=document.createElement("span");C.className="cesium-navigationHelpButton-wrapper",A.appendChild(C);let E=document.createElement("button");E.type="button",E.className="cesium-button cesium-toolbar-button cesium-navigation-help-button",E.setAttribute("data-bind","attr: { title: tooltip },click: command,cesiumSvgPath: { path: _svgPath, width: 32, height: 32 }"),C.appendChild(E);let x=document.createElement("div");x.className="cesium-navigation-help",x.setAttribute("data-bind",'css: { "cesium-navigation-help-visible" : showInstructions}'),C.appendChild(x);let y=document.createElement("button");y.type="button",y.className="cesium-navigation-button cesium-navigation-button-left",y.setAttribute("data-bind",'click: showClick, css: {"cesium-navigation-button-selected": !_touch, "cesium-navigation-button-unselected": _touch}');let I=document.createElement("img");I.src=ja("Widgets/Images/NavigationHelp/Mouse.svg"),I.className="cesium-navigation-button-icon",I.style.width="25px",I.style.height="25px",y.appendChild(I),y.appendChild(document.createTextNode("Mouse"));let v=document.createElement("button");v.type="button",v.className="cesium-navigation-button cesium-navigation-button-right",v.setAttribute("data-bind",'click: showTouch, css: {"cesium-navigation-button-selected": _touch, "cesium-navigation-button-unselected": !_touch}');let B=document.createElement("img");B.src=ja("Widgets/Images/NavigationHelp/Touch.svg"),B.className="cesium-navigation-button-icon",B.style.width="25px",B.style.height="25px",v.appendChild(B),v.appendChild(document.createTextNode("Touch")),x.appendChild(y),x.appendChild(v);let Q=document.createElement("div");Q.className="cesium-click-navigation-help cesium-navigation-help-instructions",Q.setAttribute("data-bind",'css: { "cesium-click-navigation-help-visible" : !_touch}'),Q.innerHTML=` <table> <tr> <td><img src="${ja("Widgets/Images/NavigationHelp/MouseLeft.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-pan">Pan view</div> <div class="cesium-navigation-help-details">Left click + drag</div> </td> </tr> <tr> <td><img src="${ja("Widgets/Images/NavigationHelp/MouseRight.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-zoom">Zoom view</div> <div class="cesium-navigation-help-details">Right click + drag, or</div> <div class="cesium-navigation-help-details">Mouse wheel scroll</div> </td> </tr> <tr> <td><img src="${ja("Widgets/Images/NavigationHelp/MouseMiddle.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-rotate">Rotate view</div> <div class="cesium-navigation-help-details">Middle click + drag, or</div> <div class="cesium-navigation-help-details">CTRL + Left/Right click + drag</div> </td> </tr> </table>`,x.appendChild(Q);let T=document.createElement("div");T.className="cesium-touch-navigation-help cesium-navigation-help-instructions",T.setAttribute("data-bind",'css: { "cesium-touch-navigation-help-visible" : _touch}'),T.innerHTML=` <table> <tr> <td><img src="${ja("Widgets/Images/NavigationHelp/TouchDrag.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-pan">Pan view</div> <div class="cesium-navigation-help-details">One finger drag</div> </td> </tr> <tr> <td><img src="${ja("Widgets/Images/NavigationHelp/TouchZoom.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-zoom">Zoom view</div> <div class="cesium-navigation-help-details">Two finger pinch</div> </td> </tr> <tr> <td><img src="${ja("Widgets/Images/NavigationHelp/TouchTilt.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-rotate">Tilt view</div> <div class="cesium-navigation-help-details">Two finger drag, same direction</div> </td> </tr> <tr> <td><img src="${ja("Widgets/Images/NavigationHelp/TouchRotate.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-tilt">Rotate view</div> <div class="cesium-navigation-help-details">Two finger drag, opposite direction</div> </td> </tr> </table>`,x.appendChild(T),qi.applyBindings(f,C),this._container=A,this._viewModel=f,this._wrapper=C,this._closeInstructions=function(w){C.contains(w.target)||(f.showInstructions=!1)},wo.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeInstructions,!0):(document.addEventListener("mousedown",this._closeInstructions,!0),document.addEventListener("touchstart",this._closeInstructions,!0))}Object.defineProperties(foe.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});foe.prototype.isDestroyed=function(){return!1};foe.prototype.destroy=function(){return wo.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeInstructions,!0):(document.removeEventListener("mousedown",this._closeInstructions,!0),document.removeEventListener("touchstart",this._closeInstructions,!0)),qi.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),Ar(this)};var hSe=foe;function dSe(o){this._scene=o.scene,this.lowFrameRateMessage=oe(o.lowFrameRateMessage,"This application appears to be performing poorly on your system. Please try using a different web browser or updating your video drivers."),this.lowFrameRateMessageDismissed=!1,this.showingLowFrameRateMessage=!1,qi.track(this,["lowFrameRateMessage","lowFrameRateMessageDismissed","showingLowFrameRateMessage"]);let A=this;this._dismissMessage=Xs(function(){A.showingLowFrameRateMessage=!1,A.lowFrameRateMessageDismissed=!0});let f=BQe.fromScene(o.scene);this._unsubscribeLowFrameRate=f.lowFrameRate.addEventListener(function(){A.lowFrameRateMessageDismissed||(A.showingLowFrameRateMessage=!0)}),this._unsubscribeNominalFrameRate=f.nominalFrameRate.addEventListener(function(){A.showingLowFrameRateMessage=!1})}Object.defineProperties(dSe.prototype,{scene:{get:function(){return this._scene}},dismissMessage:{get:function(){return this._dismissMessage}}});dSe.prototype.destroy=function(){return this._unsubscribeLowFrameRate(),this._unsubscribeNominalFrameRate(),Ar(this)};var fSe=dSe;function goe(o){let A=tc(o.container),f=new fSe(o),m=document.createElement("div");m.className="cesium-performance-watchdog-message-area",m.setAttribute("data-bind","visible: showingLowFrameRateMessage");let C=document.createElement("button");C.setAttribute("type","button"),C.className="cesium-performance-watchdog-message-dismiss",C.innerHTML="×",C.setAttribute("data-bind","click: dismissMessage"),m.appendChild(C);let E=document.createElement("div");E.className="cesium-performance-watchdog-message",E.setAttribute("data-bind","html: lowFrameRateMessage"),m.appendChild(E),A.appendChild(m),qi.applyBindings(f,m),this._container=A,this._viewModel=f,this._element=m}Object.defineProperties(goe.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});goe.prototype.isDestroyed=function(){return!1};goe.prototype.destroy=function(){return this._viewModel.destroy(),qi.cleanNode(this._element),this._container.removeChild(this._element),Ar(this)};var gSe=goe;function poe(o){this._scene=o,this._orthographic=o.camera.frustum instanceof us,this._flightInProgress=!1,this.dropDownVisible=!1,this.tooltipPerspective="Perspective Projection",this.tooltipOrthographic="Orthographic Projection",this.selectedTooltip=void 0,this.sceneMode=o.mode,qi.track(this,["_orthographic","_flightInProgress","sceneMode","dropDownVisible","tooltipPerspective","tooltipOrthographic"]);let A=this;qi.defineProperty(this,"selectedTooltip",function(){return A._orthographic?A.tooltipOrthographic:A.tooltipPerspective}),this._toggleDropDown=Xs(function(){A.sceneMode===ni.SCENE2D||A._flightInProgress||(A.dropDownVisible=!A.dropDownVisible)}),this._eventHelper=new Gx,this._eventHelper.add(o.morphComplete,function(f,m,C,E){A.sceneMode=C,A._orthographic=C===ni.SCENE2D||A._scene.camera.frustum instanceof us}),this._eventHelper.add(o.preRender,function(){A._flightInProgress=O(o.camera._currentFlight)}),this._switchToPerspective=Xs(function(){A.sceneMode!==ni.SCENE2D&&(A._scene.camera.switchToPerspectiveFrustum(),A._orthographic=!1,A.dropDownVisible=!1)}),this._switchToOrthographic=Xs(function(){A.sceneMode!==ni.SCENE2D&&(A._scene.camera.switchToOrthographicFrustum(),A._orthographic=!0,A.dropDownVisible=!1)}),this._sceneMode=ni}Object.defineProperties(poe.prototype,{scene:{get:function(){return this._scene}},toggleDropDown:{get:function(){return this._toggleDropDown}},switchToPerspective:{get:function(){return this._switchToPerspective}},switchToOrthographic:{get:function(){return this._switchToOrthographic}},isOrthographicProjection:{get:function(){return this._orthographic}}});poe.prototype.isDestroyed=function(){return!1};poe.prototype.destroy=function(){this._eventHelper.removeAll(),Ar(this)};var pSe=poe,JSi="M 28.15625,10.4375 9.125,13.21875 13.75,43.25 41.75,55.09375 50.8125,37 54.5,11.9375 z m 0.125,3 19.976451,0.394265 L 43.03125,16.875 22.6875,14.28125 z M 50.971746,15.705477 47.90625,36.03125 42.53125,46 44.84375,19.3125 z M 12.625,16.03125 l 29.15625,3.6875 -2.65625,31 L 16.4375,41.125 z",KSi="m 31.560594,6.5254438 -20.75,12.4687502 0.1875,24.5625 22.28125,11.8125 19.5,-12 0.65625,-0.375 0,-0.75 0.0312,-23.21875 z m 0.0625,3.125 16.65625,9.5000002 -16.125,10.28125 -17.34375,-9.71875 z m 18.96875,11.1875002 0.15625,20.65625 -17.46875,10.59375 0.15625,-20.28125 z m -37.0625,1.25 17.21875,9.625 -0.15625,19.21875 -16.9375,-9 z";function moe(o,A){o=tc(o);let f=new pSe(A);f._perspectivePath=JSi,f._orthographicPath=KSi;let m=document.createElement("span");m.className="cesium-projectionPicker-wrapper cesium-toolbar-button",o.appendChild(m);let C=document.createElement("button");C.type="button",C.className="cesium-button cesium-toolbar-button",C.setAttribute("data-bind",'css: { "cesium-projectionPicker-buttonPerspective": !_orthographic, "cesium-projectionPicker-buttonOrthographic": _orthographic, "cesium-button-disabled" : sceneMode === _sceneMode.SCENE2D || _flightInProgress, "cesium-projectionPicker-selected": dropDownVisible },attr: { title: selectedTooltip },click: toggleDropDown'),C.innerHTML='<!-- ko cesiumSvgPath: { path: _perspectivePath, width: 64, height: 64, css: "cesium-projectionPicker-iconPerspective" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _orthographicPath, width: 64, height: 64, css: "cesium-projectionPicker-iconOrthographic" } --><!-- /ko -->',m.appendChild(C);let E=document.createElement("button");E.type="button",E.className="cesium-button cesium-toolbar-button cesium-projectionPicker-dropDown-icon",E.setAttribute("data-bind",'css: { "cesium-projectionPicker-visible" : (dropDownVisible && _orthographic), "cesium-projectionPicker-none" : !_orthographic, "cesium-projectionPicker-hidden" : !dropDownVisible },attr: { title: tooltipPerspective },click: switchToPerspective,cesiumSvgPath: { path: _perspectivePath, width: 64, height: 64 }'),m.appendChild(E);let x=document.createElement("button");x.type="button",x.className="cesium-button cesium-toolbar-button cesium-projectionPicker-dropDown-icon",x.setAttribute("data-bind",'css: { "cesium-projectionPicker-visible" : (dropDownVisible && !_orthographic), "cesium-projectionPicker-none" : _orthographic, "cesium-projectionPicker-hidden" : !dropDownVisible},attr: { title: tooltipOrthographic },click: switchToOrthographic,cesiumSvgPath: { path: _orthographicPath, width: 64, height: 64 }'),m.appendChild(x),qi.applyBindings(f,m),this._viewModel=f,this._container=o,this._wrapper=m,this._closeDropDown=function(y){m.contains(y.target)||(f.dropDownVisible=!1)},wo.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(moe.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});moe.prototype.isDestroyed=function(){return!1};moe.prototype.destroy=function(){return this._viewModel.destroy(),wo.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),qi.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),Ar(this)};var mSe=moe;function Coe(o,A){this._scene=o;let f=this,m=function(C,E,x,y){f.sceneMode=x,f.dropDownVisible=!1};this._eventHelper=new Gx,this._eventHelper.add(o.morphStart,m),this._duration=oe(A,2),this.sceneMode=o.mode,this.dropDownVisible=!1,this.tooltip2D="2D",this.tooltip3D="3D",this.tooltipColumbusView="Columbus View",qi.track(this,["sceneMode","dropDownVisible","tooltip2D","tooltip3D","tooltipColumbusView"]),this.selectedTooltip=void 0,qi.defineProperty(this,"selectedTooltip",function(){let C=f.sceneMode;return C===ni.SCENE2D?f.tooltip2D:C===ni.SCENE3D?f.tooltip3D:f.tooltipColumbusView}),this._toggleDropDown=Xs(function(){f.dropDownVisible=!f.dropDownVisible}),this._morphTo2D=Xs(function(){o.morphTo2D(f._duration)}),this._morphTo3D=Xs(function(){o.morphTo3D(f._duration)}),this._morphToColumbusView=Xs(function(){o.morphToColumbusView(f._duration)}),this._sceneMode=ni}Object.defineProperties(Coe.prototype,{scene:{get:function(){return this._scene}},duration:{get:function(){return this._duration},set:function(o){this._duration=o}},toggleDropDown:{get:function(){return this._toggleDropDown}},morphTo2D:{get:function(){return this._morphTo2D}},morphTo3D:{get:function(){return this._morphTo3D}},morphToColumbusView:{get:function(){return this._morphToColumbusView}}});Coe.prototype.isDestroyed=function(){return!1};Coe.prototype.destroy=function(){this._eventHelper.removeAll(),Ar(this)};var CSe=Coe,WSi="m 32.401392,4.9330437 c -7.087603,0 -14.096095,2.884602 -19.10793,7.8946843 -5.0118352,5.010083 -7.9296167,11.987468 -7.9296167,19.072999 0,7.085531 2.9177815,14.097848 7.9296167,19.107931 4.837653,4.835961 11.541408,7.631372 18.374354,7.82482 0.05712,0.01231 0.454119,0.139729 0.454119,0.139729 l 0.03493,-0.104797 c 0.08246,7.84e-4 0.162033,0.03493 0.244525,0.03493 0.08304,0 0.161515,-0.03414 0.244526,-0.03493 l 0.03493,0.104797 c 0,0 0.309474,-0.129487 0.349323,-0.139729 6.867765,-0.168094 13.582903,-2.965206 18.444218,-7.82482 2.558195,-2.5573 4.551081,-5.638134 5.903547,-8.977584 1.297191,-3.202966 2.02607,-6.661489 2.02607,-10.130347 0,-6.237309 -2.366261,-12.31219 -6.322734,-17.116794 -0.0034,-0.02316 0.0049,-0.04488 0,-0.06986 -0.01733,-0.08745 -0.104529,-0.278855 -0.104797,-0.279458 -5.31e-4,-0.0012 -0.522988,-0.628147 -0.523984,-0.62878 -3.47e-4,-2.2e-4 -0.133444,-0.03532 -0.244525,-0.06987 C 51.944299,13.447603 51.751076,13.104317 51.474391,12.827728 46.462556,7.8176457 39.488996,4.9330437 32.401392,4.9330437 z m -2.130866,3.5281554 0.104797,9.6762289 c -4.111695,-0.08361 -7.109829,-0.423664 -9.257041,-0.943171 1.198093,-2.269271 2.524531,-4.124404 3.91241,-5.414496 2.167498,-2.0147811 3.950145,-2.8540169 5.239834,-3.3185619 z m 2.794579,0 c 1.280302,0.4754953 3.022186,1.3285948 5.065173,3.2486979 1.424667,1.338973 2.788862,3.303645 3.982275,5.728886 -2.29082,0.403367 -5.381258,0.621049 -8.942651,0.698645 L 33.065105,8.4611991 z m 5.728886,0.2445256 c 4.004072,1.1230822 7.793098,3.1481363 10.724195,6.0782083 0.03468,0.03466 0.07033,0.06991 0.104797,0.104797 -0.45375,0.313891 -0.923054,0.663002 -1.956205,1.082899 -0.647388,0.263114 -1.906242,0.477396 -2.829511,0.733577 -1.382296,-2.988132 -3.027146,-5.368585 -4.785716,-7.0213781 -0.422866,-0.397432 -0.835818,-0.6453247 -1.25756,-0.9781032 z m -15.33525,0.7685092 c -0.106753,0.09503 -0.207753,0.145402 -0.31439,0.244526 -1.684973,1.5662541 -3.298068,3.8232211 -4.680919,6.5672591 -0.343797,-0.14942 -1.035052,-0.273198 -1.292493,-0.419186 -0.956528,-0.542427 -1.362964,-1.022024 -1.537018,-1.292493 -0.0241,-0.03745 -0.01868,-0.0401 -0.03493,-0.06986 2.250095,-2.163342 4.948824,-3.869984 7.859752,-5.0302421 z m -9.641296,7.0912431 c 0.464973,0.571618 0.937729,1.169056 1.956205,1.746612 0.349907,0.198425 1.107143,0.335404 1.537018,0.523983 -1.20166,3.172984 -1.998037,7.051901 -2.165798,11.772162 C 14.256557,30.361384 12.934823,30.161483 12.280427,29.90959 10.644437,29.279855 9.6888882,28.674891 9.1714586,28.267775 8.6540289,27.860658 8.6474751,27.778724 8.6474751,27.778724 l -0.069864,0.03493 C 9.3100294,23.691285 11.163248,19.798527 13.817445,16.565477 z m 37.552149,0.523984 c 2.548924,3.289983 4.265057,7.202594 4.890513,11.318043 -0.650428,0.410896 -1.756876,1.001936 -3.563088,1.606882 -1.171552,0.392383 -3.163859,0.759153 -4.960377,1.117832 -0.04367,-4.752703 -0.784809,-8.591423 -1.88634,-11.807094 0.917574,-0.263678 2.170552,-0.486495 2.864443,-0.76851 1.274693,-0.518066 2.003942,-1.001558 2.654849,-1.467153 z m -31.439008,2.619917 c 2.487341,0.672766 5.775813,1.137775 10.479669,1.222628 l 0.104797,10.689263 0,0.03493 0,0.733577 c -5.435005,-0.09059 -9.512219,-0.519044 -12.610536,-1.117831 0.106127,-4.776683 0.879334,-8.55791 2.02607,-11.562569 z m 23.264866,0.31439 c 1.073459,3.067541 1.833795,6.821314 1.816476,11.702298 -3.054474,0.423245 -7.062018,0.648559 -11.702298,0.698644 l 0,-0.838373 -0.104796,-10.654331 c 4.082416,-0.0864 7.404468,-0.403886 9.990618,-0.908238 z M 8.2632205,30.922625 c 0.7558676,0.510548 1.5529563,1.013339 3.0041715,1.57195 0.937518,0.360875 2.612202,0.647642 3.91241,0.978102 0.112814,3.85566 0.703989,7.107756 1.606883,9.920754 -1.147172,-0.324262 -2.644553,-0.640648 -3.423359,-0.978102 -1.516688,-0.657177 -2.386627,-1.287332 -2.864443,-1.71168 -0.477816,-0.424347 -0.489051,-0.489051 -0.489051,-0.489051 L 9.8002387,40.319395 C 8.791691,37.621767 8.1584238,34.769583 8.1584238,31.900727 c 0,-0.330153 0.090589,-0.648169 0.1047967,-0.978102 z m 48.2763445,0.419186 c 0.0047,0.188973 0.06986,0.36991 0.06986,0.558916 0,2.938869 -0.620228,5.873558 -1.676747,8.628261 -0.07435,0.07583 -0.06552,0.07411 -0.454119,0.349323 -0.606965,0.429857 -1.631665,1.042044 -3.318562,1.676747 -1.208528,0.454713 -3.204964,0.850894 -5.135038,1.25756 0.84593,-2.765726 1.41808,-6.005357 1.606883,-9.815957 2.232369,-0.413371 4.483758,-0.840201 5.938479,-1.327425 1.410632,-0.472457 2.153108,-0.89469 2.96924,-1.327425 z m -38.530252,2.864443 c 3.208141,0.56697 7.372279,0.898588 12.575603,0.978103 l 0.174662,9.885821 c -4.392517,-0.06139 -8.106722,-0.320566 -10.863925,-0.803441 -1.051954,-2.664695 -1.692909,-6.043794 -1.88634,-10.060483 z m 26.793022,0.31439 c -0.246298,3.923551 -0.877762,7.263679 -1.816476,9.885822 -2.561957,0.361954 -5.766249,0.560708 -9.431703,0.62878 l -0.174661,-9.815957 c 4.491734,-0.04969 8.334769,-0.293032 11.42284,-0.698645 z M 12.035901,44.860585 c 0.09977,0.04523 0.105535,0.09465 0.209594,0.139729 1.337656,0.579602 3.441099,1.058072 5.589157,1.537018 1.545042,3.399208 3.548524,5.969402 5.589157,7.789888 -3.034411,-1.215537 -5.871615,-3.007978 -8.174142,-5.309699 -1.245911,-1.245475 -2.271794,-2.662961 -3.213766,-4.156936 z m 40.69605,0 c -0.941972,1.493975 -1.967855,2.911461 -3.213765,4.156936 -2.74253,2.741571 -6.244106,4.696717 -9.955686,5.868615 0.261347,-0.241079 0.507495,-0.394491 0.768509,-0.663713 1.674841,-1.727516 3.320792,-4.181056 4.645987,-7.265904 2.962447,-0.503021 5.408965,-1.122293 7.161107,-1.781544 0.284034,-0.106865 0.337297,-0.207323 0.593848,-0.31439 z m -31.404076,2.305527 c 2.645807,0.376448 5.701178,0.649995 9.466635,0.698645 l 0.139729,7.789888 c -1.38739,-0.480844 -3.316218,-1.29837 -5.659022,-3.388427 -1.388822,-1.238993 -2.743668,-3.0113 -3.947342,-5.100106 z m 20.365491,0.104797 c -1.04872,2.041937 -2.174337,3.779068 -3.353494,4.995309 -1.853177,1.911459 -3.425515,2.82679 -4.611055,3.353494 l -0.139729,-7.789887 c 3.13091,-0.05714 5.728238,-0.278725 8.104278,-0.558916 z",jSi="m 2.9825053,17.550598 0,1.368113 0,26.267766 0,1.368113 1.36811,0 54.9981397,0 1.36811,0 0,-1.368113 0,-26.267766 0,-1.368113 -1.36811,0 -54.9981397,0 -1.36811,0 z m 2.73623,2.736226 10.3292497,0 0,10.466063 -10.3292497,0 0,-10.466063 z m 13.0654697,0 11.69737,0 0,10.466063 -11.69737,0 0,-10.466063 z m 14.43359,0 11.69737,0 0,10.466063 -11.69737,0 0,-10.466063 z m 14.43359,0 10.32926,0 0,10.466063 -10.32926,0 0,-10.466063 z m -41.9326497,13.202288 10.3292497,0 0,10.329252 -10.3292497,0 0,-10.329252 z m 13.0654697,0 11.69737,0 0,10.329252 -11.69737,0 0,-10.329252 z m 14.43359,0 11.69737,0 0,10.329252 -11.69737,0 0,-10.329252 z m 14.43359,0 10.32926,0 0,10.329252 -10.32926,0 0,-10.329252 z",qSi="m 14.723969,17.675598 -0.340489,0.817175 -11.1680536,26.183638 -0.817175,1.872692 2.076986,0 54.7506996,0 2.07698,0 -0.81717,-1.872692 -11.16805,-26.183638 -0.34049,-0.817175 -0.91933,0 -32.414586,0 -0.919322,0 z m 1.838643,2.723916 6.196908,0 -2.928209,10.418977 -7.729111,0 4.460412,-10.418977 z m 9.02297,0 4.903049,0 0,10.418977 -7.831258,0 2.928209,-10.418977 z m 7.626964,0 5.584031,0 2.62176,10.418977 -8.205791,0 0,-10.418977 z m 8.410081,0 5.51593,0 4.46042,10.418977 -7.38863,0 -2.58772,-10.418977 z m -30.678091,13.142892 8.103649,0 -2.89416,10.282782 -9.6018026,0 4.3923136,-10.282782 z m 10.929711,0 8.614384,0 0,10.282782 -11.508544,0 2.89416,-10.282782 z m 11.338299,0 8.852721,0 2.58772,10.282782 -11.440441,0 0,-10.282782 z m 11.678781,0 7.86531,0 4.39231,10.282782 -9.6699,0 -2.58772,-10.282782 z";function Eoe(o,A,f){o=tc(o);let m=new CSe(A,f);m._globePath=WSi,m._flatMapPath=jSi,m._columbusViewPath=qSi;let C=document.createElement("span");C.className="cesium-sceneModePicker-wrapper cesium-toolbar-button",o.appendChild(C);let E=document.createElement("button");E.type="button",E.className="cesium-button cesium-toolbar-button",E.setAttribute("data-bind",'css: { "cesium-sceneModePicker-button2D": sceneMode === _sceneMode.SCENE2D, "cesium-sceneModePicker-button3D": sceneMode === _sceneMode.SCENE3D, "cesium-sceneModePicker-buttonColumbusView": sceneMode === _sceneMode.COLUMBUS_VIEW, "cesium-sceneModePicker-selected": dropDownVisible },attr: { title: selectedTooltip },click: toggleDropDown'),E.innerHTML='<!-- ko cesiumSvgPath: { path: _globePath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-icon3D" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _flatMapPath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-icon2D" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _columbusViewPath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-iconColumbusView" } --><!-- /ko -->',C.appendChild(E);let x=document.createElement("button");x.type="button",x.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",x.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.SCENE3D)) || (!dropDownVisible && (sceneMode === _sceneMode.SCENE3D)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.SCENE3D, "cesium-sceneModePicker-hidden" : !dropDownVisible },attr: { title: tooltip3D },click: morphTo3D,cesiumSvgPath: { path: _globePath, width: 64, height: 64 }'),C.appendChild(x);let y=document.createElement("button");y.type="button",y.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",y.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.SCENE2D)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.SCENE2D, "cesium-sceneModePicker-hidden" : !dropDownVisible },attr: { title: tooltip2D },click: morphTo2D,cesiumSvgPath: { path: _flatMapPath, width: 64, height: 64 }'),C.appendChild(y);let I=document.createElement("button");I.type="button",I.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",I.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.COLUMBUS_VIEW)) || (!dropDownVisible && (sceneMode === _sceneMode.COLUMBUS_VIEW)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.COLUMBUS_VIEW, "cesium-sceneModePicker-hidden" : !dropDownVisible},attr: { title: tooltipColumbusView },click: morphToColumbusView,cesiumSvgPath: { path: _columbusViewPath, width: 64, height: 64 }'),C.appendChild(I),qi.applyBindings(m,C),this._viewModel=m,this._container=o,this._wrapper=C,this._closeDropDown=function(v){C.contains(v.target)||(m.dropDownVisible=!1)},wo.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(Eoe.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});Eoe.prototype.isDestroyed=function(){return!1};Eoe.prototype.destroy=function(){return this._viewModel.destroy(),wo.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),qi.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),Ar(this)};var ESe=Eoe,XSi=new rt,Xee="-1000px";function tK(o,A,f){this._scene=o,this._screenPositionX=Xee,this._screenPositionY=Xee,this._tweens=o.tweens,this._container=oe(f,document.body),this._selectionIndicatorElement=A,this._scale=1,this.position=void 0,this.showSelection=!1,qi.track(this,["position","_screenPositionX","_screenPositionY","_scale","showSelection"]),this.isVisible=void 0,qi.defineProperty(this,"isVisible",{get:function(){return this.showSelection&&O(this.position)}}),qi.defineProperty(this,"_transform",{get:function(){return`scale(${this._scale})`}}),this.computeScreenSpacePosition=function(m,C){return ms.wgs84ToWindowCoordinates(o,m,C)}}tK.prototype.update=function(){if(this.showSelection&&O(this.position)){let o=this.computeScreenSpacePosition(this.position,XSi);if(!O(o))this._screenPositionX=Xee,this._screenPositionY=Xee;else{let A=this._container,f=A.parentNode.clientWidth,m=A.parentNode.clientHeight,C=this._selectionIndicatorElement.clientWidth,E=C*.5;o.x=Math.min(Math.max(o.x,-C),f+C)-E,o.y=Math.min(Math.max(o.y,-C),m+C)-E,this._screenPositionX=`${Math.floor(o.x+.25)}px`,this._screenPositionY=`${Math.floor(o.y+.25)}px`}}};tK.prototype.animateAppear=function(){this._tweens.addProperty({object:this,property:"_scale",startValue:2,stopValue:1,duration:.8,easingFunction:dC.EXPONENTIAL_OUT})};tK.prototype.animateDepart=function(){this._tweens.addProperty({object:this,property:"_scale",startValue:this._scale,stopValue:1.5,duration:.8,easingFunction:dC.EXPONENTIAL_OUT})};Object.defineProperties(tK.prototype,{container:{get:function(){return this._container}},selectionIndicatorElement:{get:function(){return this._selectionIndicatorElement}},scene:{get:function(){return this._scene}}});var xSe=tK;function xoe(o,A){o=tc(o),this._container=o;let f=document.createElement("div");f.className="cesium-selection-wrapper",f.setAttribute("data-bind",'style: { "top" : _screenPositionY, "left" : _screenPositionX },css: { "cesium-selection-wrapper-visible" : isVisible }'),o.appendChild(f),this._element=f;let m="http://www.w3.org/2000/svg",C="M -34 -34 L -34 -11.25 L -30 -15.25 L -30 -30 L -15.25 -30 L -11.25 -34 L -34 -34 z M 11.25 -34 L 15.25 -30 L 30 -30 L 30 -15.25 L 34 -11.25 L 34 -34 L 11.25 -34 z M -34 11.25 L -34 34 L -11.25 34 L -15.25 30 L -30 30 L -30 15.25 L -34 11.25 z M 34 11.25 L 30 15.25 L 30 30 L 15.25 30 L 11.25 34 L 34 34 L 34 11.25 z",E=document.createElementNS(m,"svg:svg");E.setAttribute("width",160),E.setAttribute("height",160),E.setAttribute("viewBox","0 0 160 160");let x=document.createElementNS(m,"g");x.setAttribute("transform","translate(80,80)"),E.appendChild(x);let y=document.createElementNS(m,"path");y.setAttribute("data-bind","attr: { transform: _transform }"),y.setAttribute("d",C),x.appendChild(y),f.appendChild(E);let I=new xSe(A,this._element,this._container);this._viewModel=I,qi.applyBindings(this._viewModel,this._element)}Object.defineProperties(xoe.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});xoe.prototype.isDestroyed=function(){return!1};xoe.prototype.destroy=function(){let o=this._container;return qi.cleanNode(this._element),o.removeChild(this._element),Ar(this)};var ySe=xoe;function Z3(o,A,f){this._color=o,this._height=A,this._base=oe(f,0)}Z3.prototype.getHeight=function(){return this._height};Z3.prototype.getBase=function(){return this._base};Z3.prototype.getStartTime=function(){return this._start};Z3.prototype.getStopTime=function(){return this._stop};Z3.prototype.setRange=function(o,A){this._start=o,this._stop=A};Z3.prototype.render=function(o){let A="";if(this._start&&this._stop&&this._color){let f=Zt.secondsDifference(this._start,o.epochJulian),m=Math.round(o.timeBarWidth*o.getAlpha(f)),C=Zt.secondsDifference(this._stop,o.epochJulian),E=Math.round(o.timeBarWidth*o.getAlpha(C))-m;m<0&&(E+=m,m=0),m+E>o.timeBarWidth&&(E=o.timeBarWidth-m),E>0&&(A=`<span class="cesium-timeline-highlight" style="left: ${m.toString()}px; width: ${E.toString()}px; bottom: ${this._base.toString()}px; height: ${this._height}px; background-color: ${this._color};"></span>`)}return A};var ISe=Z3;function uot(o,A,f,m){this.interval=o,this.height=A,this.color=f||new Ve(.5,.5,.5,1),this.backgroundColor=m||new Ve(0,0,0,0)}uot.prototype.render=function(o,A){let f=this.interval.start,m=this.interval.stop,C=A.startJulian,E=Zt.addSeconds(A.startJulian,A.duration,new Zt);if(Zt.lessThan(f,C)&&Zt.greaterThan(m,E))o.fillStyle=this.color.toCssColorString(),o.fillRect(0,A.y,A.timeBarWidth,this.height);else if(Zt.lessThanOrEquals(f,E)&&Zt.greaterThanOrEquals(m,C)){let x,y,I;for(x=0;x<A.timeBarWidth;++x){let v=Zt.addSeconds(A.startJulian,x/A.timeBarWidth*A.duration,new Zt);!O(y)&&Zt.greaterThanOrEquals(v,f)?y=x:!O(I)&&Zt.greaterThanOrEquals(v,m)&&(I=x)}o.fillStyle=this.backgroundColor.toCssColorString(),o.fillRect(0,A.y,A.timeBarWidth,this.height),O(y)&&(O(I)||(I=A.timeBarWidth),o.fillStyle=this.color.toCssColorString(),o.fillRect(y,A.y,Math.max(I-y,1),this.height))}};var _Se=uot,Fde=1e12,O_={none:0,scrub:1,slide:2,zoom:3,touchOnly:4},rE={none:0,scrub:1,slideZoom:2,singleTap:3,ignore:4},p2=[.001,.002,.005,.01,.02,.05,.1,.25,.5,1,2,5,10,15,30,60,120,300,600,900,1800,3600,7200,14400,21600,43200,86400,172800,345600,604800,1296e3,2592e3,5184e3,7776e3,15552e3,31536e3,63072e3,126144e3,15768e4,31536e4,63072e4,126144e4,15768e5,31536e5,63072e5,126144e5,15768e6,31536e6];function bE(o,A){o=tc(o);let f=o.ownerDocument;this.container=o;let m=f.createElement("div");m.className="cesium-timeline-main",o.appendChild(m),this._topDiv=m,this._endJulian=void 0,this._epochJulian=void 0,this._lastXPos=void 0,this._scrubElement=void 0,this._startJulian=void 0,this._timeBarSecondsSpan=void 0,this._clock=A,this._scrubJulian=A.currentTime,this._mainTicSpan=-1,this._mouseMode=O_.none,this._touchMode=rE.none,this._touchState={centerX:0,spanX:0},this._mouseX=0,this._timelineDrag=0,this._timelineDragLocation=void 0,this._lastHeight=void 0,this._lastWidth=void 0,this._topDiv.innerHTML='<div class="cesium-timeline-bar"></div><div class="cesium-timeline-trackContainer"><canvas class="cesium-timeline-tracks" width="10" height="1"></canvas></div><div class="cesium-timeline-needle"></div><span class="cesium-timeline-ruler"></span>',this._timeBarEle=this._topDiv.childNodes[0],this._trackContainer=this._topDiv.childNodes[1],this._trackListEle=this._topDiv.childNodes[1].childNodes[0],this._needleEle=this._topDiv.childNodes[2],this._rulerEle=this._topDiv.childNodes[3],this._context=this._trackListEle.getContext("2d"),this._trackList=[],this._highlightRanges=[],this.zoomTo(A.startTime,A.stopTime),this._onMouseDown=ZSi(this),this._onMouseUp=$Si(this),this._onMouseMove=eDi(this),this._onMouseWheel=tDi(this),this._onTouchStart=iDi(this),this._onTouchMove=nDi(this),this._onTouchEnd=rDi(this);let C=this._timeBarEle;f.addEventListener("mouseup",this._onMouseUp,!1),f.addEventListener("mousemove",this._onMouseMove,!1),C.addEventListener("mousedown",this._onMouseDown,!1),C.addEventListener("DOMMouseScroll",this._onMouseWheel,!1),C.addEventListener("mousewheel",this._onMouseWheel,!1),C.addEventListener("touchstart",this._onTouchStart,!1),C.addEventListener("touchmove",this._onTouchMove,!1),C.addEventListener("touchend",this._onTouchEnd,!1),C.addEventListener("touchcancel",this._onTouchEnd,!1),this._topDiv.oncontextmenu=function(){return!1},A.onTick.addEventListener(this.updateFromClock,this),this.updateFromClock()}bE.prototype.addEventListener=function(o,A,f){this._topDiv.addEventListener(o,A,f)};bE.prototype.removeEventListener=function(o,A,f){this._topDiv.removeEventListener(o,A,f)};bE.prototype.isDestroyed=function(){return!1};bE.prototype.destroy=function(){this._clock.onTick.removeEventListener(this.updateFromClock,this);let o=this.container.ownerDocument;o.removeEventListener("mouseup",this._onMouseUp,!1),o.removeEventListener("mousemove",this._onMouseMove,!1);let A=this._timeBarEle;A.removeEventListener("mousedown",this._onMouseDown,!1),A.removeEventListener("DOMMouseScroll",this._onMouseWheel,!1),A.removeEventListener("mousewheel",this._onMouseWheel,!1),A.removeEventListener("touchstart",this._onTouchStart,!1),A.removeEventListener("touchmove",this._onTouchMove,!1),A.removeEventListener("touchend",this._onTouchEnd,!1),A.removeEventListener("touchcancel",this._onTouchEnd,!1),this.container.removeChild(this._topDiv),Ar(this)};bE.prototype.addHighlightRange=function(o,A,f){let m=new ISe(o,A,f);return this._highlightRanges.push(m),this.resize(),m};bE.prototype.addTrack=function(o,A,f,m){let C=new _Se(o,A,f,m);return this._trackList.push(C),this._lastHeight=void 0,this.resize(),C};bE.prototype.zoomTo=function(o,A){if(this._startJulian=o,this._endJulian=A,this._timeBarSecondsSpan=Zt.secondsDifference(A,o),this._clock&&this._clock.clockRange!==np.UNBOUNDED){let m=this._clock.startTime,C=this._clock.stopTime,E=Zt.secondsDifference(C,m),x=Zt.secondsDifference(m,this._startJulian),y=Zt.secondsDifference(C,this._endJulian);this._timeBarSecondsSpan>=E?(this._timeBarSecondsSpan=E,this._startJulian=this._clock.startTime,this._endJulian=this._clock.stopTime):x>0?(this._endJulian=Zt.addSeconds(this._endJulian,x,new Zt),this._startJulian=m,this._timeBarSecondsSpan=Zt.secondsDifference(this._endJulian,this._startJulian)):y<0&&(this._startJulian=Zt.addSeconds(this._startJulian,y,new Zt),this._endJulian=C,this._timeBarSecondsSpan=Zt.secondsDifference(this._endJulian,this._startJulian))}this._makeTics();let f=document.createEvent("Event");f.initEvent("setzoom",!0,!0),f.startJulian=this._startJulian,f.endJulian=this._endJulian,f.epochJulian=this._epochJulian,f.totalSpan=this._timeBarSecondsSpan,f.mainTicSpan=this._mainTicSpan,this._topDiv.dispatchEvent(f)};bE.prototype.zoomFrom=function(o){let A=Zt.secondsDifference(this._scrubJulian,this._startJulian);o>1||A<0||A>this._timeBarSecondsSpan?A=this._timeBarSecondsSpan*.5:A+=A-this._timeBarSecondsSpan*.5;let f=this._timeBarSecondsSpan-A;this.zoomTo(Zt.addSeconds(this._startJulian,A-A*o,new Zt),Zt.addSeconds(this._endJulian,f*o-f,new Zt))};bE.prototype.makeLabel=function(o){let A=new Date(o);return`${A.getFullYear()} ${A.getMonth()+1} ${A.getDate()-1} ${A.getHours()}:${A.getMinutes()}:${A.getSeconds()}`};bE.prototype.smallestTicInPixels=7;bE.prototype._makeTics=function(){let o=this._timeBarEle,A=Zt.secondsDifference(this._scrubJulian,this._startJulian),f=Math.round(A*this._topDiv.clientWidth/this._timeBarSecondsSpan),m=f-8,C,E=this;this._needleEle.style.left=`${f.toString()}px`;let x="",y=.01,I=31536e6,v=1e-10,B=0,Q=this._timeBarSecondsSpan;Q<y?(Q=y,this._timeBarSecondsSpan=y,this._endJulian=Zt.addSeconds(this._startJulian,y,new Zt)):Q>I&&(Q=I,this._timeBarSecondsSpan=I,this._endJulian=Zt.addSeconds(this._startJulian,I,new Zt));let T=this._timeBarEle.clientWidth;T<10&&(T=10);let w=this._startJulian,S=Math.min(Q/T*1e-5,.4),D,R=Zt.toGregorianDate(w);Q>31536e4?D=Zt.fromDate(new Date(Date.UTC(Math.floor(R.year/100)*100,0))):Q>31536e3?D=Zt.fromDate(new Date(Date.UTC(Math.floor(R.year/10)*10,0))):Q>86400?D=Zt.fromDate(new Date(Date.UTC(R.year,0))):D=Zt.fromDate(new Date(Date.UTC(R.year,R.month,R.day)));let P=Zt.secondsDifference(this._startJulian,Zt.addSeconds(D,S,new Zt)),M=P+Q;this._epochJulian=D;function L(fe){return Math.floor(P/fe)*fe}function F(fe,ae){return Math.ceil(fe/ae+.5)*ae}function k(fe){return(fe-P)/Q}function N(fe,ae){return fe-ae*Math.round(fe/ae)}this._rulerEle.innerHTML=this.makeLabel(Zt.addSeconds(this._endJulian,-y,new Zt));let G=this._rulerEle.offsetWidth+20;G<30&&(G=180);let J=B;B-=v;let K={startTime:P,startJulian:w,epochJulian:D,duration:Q,timeBarWidth:T,getAlpha:k};this._highlightRanges.forEach(function(fe){x+=fe.render(K)});let X=0,q=0,ee=0,ie=G/T;ie>1&&(ie=1),ie*=this._timeBarSecondsSpan;let H=-1,le=-1,ue=p2.length,Ae;for(Ae=0;Ae<ue;++Ae){let fe=p2[Ae];if(++H,X=fe,fe>ie&&fe>B)break;le<0&&T*(fe/this._timeBarSecondsSpan)>=this.smallestTicInPixels&&(le=H)}if(H>0){for(;H>0;)if(--H,Math.abs(N(X,p2[H]))<1e-5){p2[H]>=B&&(q=p2[H]);break}if(le>=0)for(;le<H;){if(Math.abs(N(q,p2[le]))<1e-5&&p2[le]>=B){ee=p2[le];break}++le}}B=J,B>v&&ee<1e-5&&Math.abs(B-X)>v&&(ee=B,B<=X+v&&(q=0));let he=-999999,ge;if(T*(ee/this._timeBarSecondsSpan)>=3)for(C=L(ee);C<=M;C=F(C,ee))x+=`<span class="cesium-timeline-ticTiny" style="left: ${Math.round(T*k(C)).toString()}px;"></span>`;if(T*(q/this._timeBarSecondsSpan)>=3)for(C=L(q);C<=M;C=F(C,q))x+=`<span class="cesium-timeline-ticSub" style="left: ${Math.round(T*k(C)).toString()}px;"></span>`;if(T*(X/this._timeBarSecondsSpan)>=2){this._mainTicSpan=X,M+=X,C=L(X);let fe=Zt.computeTaiMinusUtc(D);for(;C<=M;){let ae=Zt.addSeconds(w,C-P,new Zt);if(X>2.1){let z=Zt.computeTaiMinusUtc(ae);Math.abs(z-fe)>.1&&(C+=z-fe,ae=Zt.addSeconds(w,C-P,new Zt))}let U=Math.round(T*k(C)),W=this.makeLabel(ae);this._rulerEle.innerHTML=W,ge=this._rulerEle.offsetWidth,ge<10&&(ge=G);let Y=U-(ge/2-1);Y>he?(he=Y+ge+5,x+=`<span class="cesium-timeline-ticMain" style="left: ${U.toString()}px;"></span><span class="cesium-timeline-ticLabel" style="left: ${Y.toString()}px;">${W}</span>`):x+=`<span class="cesium-timeline-ticSub" style="left: ${U.toString()}px;"></span>`,C=F(C,X)}}else this._mainTicSpan=-1;x+=`<span class="cesium-timeline-icon16" style="left:${m}px;bottom:0;background-position: 0 0;"></span>`,o.innerHTML=x,this._scrubElement=o.lastChild,this._context.clearRect(0,0,this._trackListEle.width,this._trackListEle.height),K.y=0,this._trackList.forEach(function(fe){fe.render(E._context,K),K.y+=fe.height})};bE.prototype.updateFromClock=function(){this._scrubJulian=this._clock.currentTime;let o=this._scrubElement;if(O(this._scrubElement)){let A=Zt.secondsDifference(this._scrubJulian,this._startJulian),f=Math.round(A*this._topDiv.clientWidth/this._timeBarSecondsSpan);this._lastXPos!==f&&(this._lastXPos=f,o.style.left=`${f-8}px`,this._needleEle.style.left=`${f}px`)}O(this._timelineDragLocation)&&(this._setTimeBarTime(this._timelineDragLocation,this._timelineDragLocation*this._timeBarSecondsSpan/this._topDiv.clientWidth),this.zoomTo(Zt.addSeconds(this._startJulian,this._timelineDrag,new Zt),Zt.addSeconds(this._endJulian,this._timelineDrag,new Zt)))};bE.prototype._setTimeBarTime=function(o,A){if(o=Math.round(o),this._scrubJulian=Zt.addSeconds(this._startJulian,A,new Zt),this._scrubElement){let m=o-8;this._scrubElement.style.left=`${m.toString()}px`,this._needleEle.style.left=`${o.toString()}px`}let f=document.createEvent("Event");f.initEvent("settime",!0,!0),f.clientX=o,f.timeSeconds=A,f.timeJulian=this._scrubJulian,f.clock=this._clock,this._topDiv.dispatchEvent(f)};function ZSi(o){return function(A){o._mouseMode!==O_.touchOnly&&(A.button===0?(o._mouseMode=O_.scrub,o._scrubElement&&(o._scrubElement.style.backgroundPosition="-16px 0"),o._onMouseMove(A)):(o._mouseX=A.clientX,A.button===2?o._mouseMode=O_.zoom:o._mouseMode=O_.slide)),A.preventDefault()}}function $Si(o){return function(A){o._mouseMode=O_.none,o._scrubElement&&(o._scrubElement.style.backgroundPosition="0 0"),o._timelineDrag=0,o._timelineDragLocation=void 0}}function eDi(o){return function(A){let f;if(o._mouseMode===O_.scrub){A.preventDefault();let m=A.clientX-o._topDiv.getBoundingClientRect().left;m<0?(o._timelineDragLocation=0,o._timelineDrag=-.01*o._timeBarSecondsSpan):m>o._topDiv.clientWidth?(o._timelineDragLocation=o._topDiv.clientWidth,o._timelineDrag=.01*o._timeBarSecondsSpan):(o._timelineDragLocation=void 0,o._setTimeBarTime(m,m*o._timeBarSecondsSpan/o._topDiv.clientWidth))}else if(o._mouseMode===O_.slide){if(f=o._mouseX-A.clientX,o._mouseX=A.clientX,f!==0){let m=f*o._timeBarSecondsSpan/o._topDiv.clientWidth;o.zoomTo(Zt.addSeconds(o._startJulian,m,new Zt),Zt.addSeconds(o._endJulian,m,new Zt))}}else o._mouseMode===O_.zoom&&(f=o._mouseX-A.clientX,o._mouseX=A.clientX,f!==0&&o.zoomFrom(Math.pow(1.01,f)))}}function tDi(o){return function(A){let f=A.wheelDeltaY||A.wheelDelta||-A.detail;Fde=Math.max(Math.min(Math.abs(f),Fde),1),f/=Fde,o.zoomFrom(Math.pow(1.05,-f))}}function iDi(o){return function(A){let f=A.touches.length,m,C,E=o._topDiv.getBoundingClientRect().left;A.preventDefault(),o._mouseMode=O_.touchOnly,f===1?(m=Zt.secondsDifference(o._scrubJulian,o._startJulian),C=Math.round(m*o._topDiv.clientWidth/o._timeBarSecondsSpan+E),Math.abs(A.touches[0].clientX-C)<50?(o._touchMode=rE.scrub,o._scrubElement&&(o._scrubElement.style.backgroundPosition=f===1?"-16px 0":"0 0")):(o._touchMode=rE.singleTap,o._touchState.centerX=A.touches[0].clientX-E)):f===2?(o._touchMode=rE.slideZoom,o._touchState.centerX=(A.touches[0].clientX+A.touches[1].clientX)*.5-E,o._touchState.spanX=Math.abs(A.touches[0].clientX-A.touches[1].clientX)):o._touchMode=rE.ignore}}function rDi(o){return function(A){let f=A.touches.length,m=o._topDiv.getBoundingClientRect().left;o._touchMode===rE.singleTap?(o._touchMode=rE.scrub,o._onTouchMove(A)):o._touchMode===rE.scrub&&o._onTouchMove(A),o._mouseMode=O_.touchOnly,f!==1?o._touchMode=f>0?rE.ignore:rE.none:o._touchMode===rE.slideZoom&&(o._touchState.centerX=A.touches[0].clientX-m),o._scrubElement&&(o._scrubElement.style.backgroundPosition="0 0")}}function nDi(o){return function(A){let f,m,C,E,x,y,I=1,v=o._topDiv.getBoundingClientRect().left;o._touchMode===rE.singleTap&&(o._touchMode=rE.slideZoom),o._mouseMode=O_.touchOnly,o._touchMode===rE.scrub?(A.preventDefault(),A.changedTouches.length===1&&(m=A.changedTouches[0].clientX-v,m>=0&&m<=o._topDiv.clientWidth&&o._setTimeBarTime(m,m*o._timeBarSecondsSpan/o._topDiv.clientWidth))):o._touchMode===rE.slideZoom&&(C=A.touches.length,C===2?(E=(A.touches[0].clientX+A.touches[1].clientX)*.5-v,x=Math.abs(A.touches[0].clientX-A.touches[1].clientX)):C===1&&(E=A.touches[0].clientX-v,x=0),O(E)&&(x>0&&o._touchState.spanX>0?(I=o._touchState.spanX/x,y=Zt.addSeconds(o._startJulian,(o._touchState.centerX*o._timeBarSecondsSpan-E*o._timeBarSecondsSpan*I)/o._topDiv.clientWidth,new Zt)):(f=o._touchState.centerX-E,y=Zt.addSeconds(o._startJulian,f*o._timeBarSecondsSpan/o._topDiv.clientWidth,new Zt)),o.zoomTo(y,Zt.addSeconds(y,o._timeBarSecondsSpan*I,new Zt)),o._touchState.centerX=E,o._touchState.spanX=x))}}bE.prototype.resize=function(){let o=this.container.clientWidth,A=this.container.clientHeight;if(o===this._lastWidth&&A===this._lastHeight)return;this._trackContainer.style.height=`${A}px`;let f=1;this._trackList.forEach(function(m){f+=m.height}),this._trackListEle.style.height=`${f.toString()}px`,this._trackListEle.width=this._trackListEle.clientWidth,this._trackListEle.height=f,this._makeTics(),this._lastXPos=void 0,this._lastWidth=o,this._lastHeight=A};var vSe=bE,oDi=Dc(lyt(),1);function aDi(o){let A=!1,f=window.screen;return O(f)&&(O(f.lockOrientation)?A=f.lockOrientation(o):O(f.mozLockOrientation)?A=f.mozLockOrientation(o):O(f.msLockOrientation)?A=f.msLockOrientation(o):O(f.orientation&&f.orientation.lock)&&(A=f.orientation.lock(o))),A}function Aot(){let o=window.screen;O(o)&&(O(o.unlockOrientation)?o.unlockOrientation():O(o.mozUnlockOrientation)?o.mozUnlockOrientation():O(o.msUnlockOrientation)?o.msUnlockOrientation():O(o.orientation&&o.orientation.unlock)&&o.orientation.unlock())}function sDi(o,A,f,m){m()||(f()?(A.useWebVR=!1,o._locked&&(Aot(),o._locked=!1),o._noSleep.disable(),bg.exitFullscreen(),f(!1)):(bg.fullscreen||bg.requestFullscreen(o._vrElement),o._noSleep.enable(),o._locked||(o._locked=aDi("landscape")),A.useWebVR=!0,f(!0)))}function yoe(o,A){let f=this,m=qi.observable(bg.enabled),C=qi.observable(!1);this.isVRMode=void 0,qi.defineProperty(this,"isVRMode",{get:function(){return C()}}),this.isVREnabled=void 0,qi.defineProperty(this,"isVREnabled",{get:function(){return m()},set:function(x){m(x&&bg.enabled)}}),this.tooltip=void 0,qi.defineProperty(this,"tooltip",function(){return m()?C()?"Exit VR mode":"Enter VR mode":"VR mode is unavailable"});let E=qi.observable(!1);this._isOrthographic=void 0,qi.defineProperty(this,"_isOrthographic",{get:function(){return E()}}),this._eventHelper=new Gx,this._eventHelper.add(o.preRender,function(){E(o.camera.frustum instanceof us)}),this._locked=!1,this._noSleep=new oDi.default,this._command=Xs(function(){sDi(f,o,C,E)},qi.getObservable(this,"isVREnabled")),this._vrElement=oe(tc(A),document.body),this._callback=function(){!bg.fullscreen&&C()&&(o.useWebVR=!1,f._locked&&(Aot(),f._locked=!1),f._noSleep.disable(),C(!1))},document.addEventListener(bg.changeEventName,this._callback)}Object.defineProperties(yoe.prototype,{vrElement:{get:function(){return this._vrElement},set:function(o){this._vrElement=o}},command:{get:function(){return this._command}}});yoe.prototype.isDestroyed=function(){return!1};yoe.prototype.destroy=function(){this._eventHelper.removeAll(),document.removeEventListener(bg.changeEventName,this._callback),Ar(this)};var BSe=yoe,lDi="M 5.3125 6.375 C 4.008126 6.375 2.96875 7.4141499 2.96875 8.71875 L 2.96875 19.5 C 2.96875 20.8043 4.008126 21.875 5.3125 21.875 L 13.65625 21.875 C 13.71832 20.0547 14.845166 18.59375 16.21875 18.59375 C 17.592088 18.59375 18.71881 20.0552 18.78125 21.875 L 27.09375 21.875 C 28.398125 21.875 29.4375 20.8043 29.4375 19.5 L 29.4375 8.71875 C 29.4375 7.4141499 28.398125 6.375 27.09375 6.375 L 5.3125 6.375 z M 9.625 10.4375 C 11.55989 10.4375 13.125 12.03385 13.125 13.96875 C 13.125 15.90365 11.55989 17.46875 9.625 17.46875 C 7.69011 17.46875 6.125 15.90365 6.125 13.96875 C 6.125 12.03385 7.69011 10.4375 9.625 10.4375 z M 22.46875 10.4375 C 24.40364 10.4375 25.96875 12.03385 25.96875 13.96875 C 25.96875 15.90365 24.40364 17.46875 22.46875 17.46875 C 20.53386 17.46875 18.96875 15.90365 18.96875 13.96875 C 18.96875 12.03385 20.53386 10.4375 22.46875 10.4375 z",uDi="M 25.770585,2.4552065 C 15.72282,13.962707 10.699956,19.704407 8.1768352,22.580207 c -1.261561,1.4379 -1.902282,2.1427 -2.21875,2.5 -0.141624,0.1599 -0.208984,0.2355 -0.25,0.2813 l 0.6875,0.75 c 10e-5,-10e-5 0.679191,0.727 0.6875,0.7187 0.01662,-0.016 0.02451,-0.024 0.03125,-0.031 0.01348,-0.014 0.04013,-0.038 0.0625,-0.062 0.04474,-0.05 0.120921,-0.1315 0.28125,-0.3126 0.320657,-0.3619 0.956139,-1.0921 2.2187499,-2.5312 2.5252219,-2.8781 7.5454589,-8.6169 17.5937499,-20.1250005 l -1.5,-1.3125 z m -20.5624998,3.9063 c -1.304375,0 -2.34375,1.0391 -2.34375,2.3437 l 0,10.8125005 c 0,1.3043 1.039375,2.375 2.34375,2.375 l 2.25,0 c 1.9518039,-2.2246 7.4710958,-8.5584 13.5624998,-15.5312005 l -15.8124998,0 z m 21.1249998,0 c -1.855467,2.1245 -2.114296,2.4005 -3.59375,4.0936995 1.767282,0.1815 3.15625,1.685301 3.15625,3.500001 0,1.9349 -1.56511,3.5 -3.5,3.5 -1.658043,0 -3.043426,-1.1411 -3.40625,-2.6875 -1.089617,1.2461 -2.647139,2.9988 -3.46875,3.9375 0.191501,-0.062 0.388502,-0.094 0.59375,-0.094 1.373338,0 2.50006,1.4614 2.5625,3.2812 l 8.3125,0 c 1.304375,0 2.34375,-1.0707 2.34375,-2.375 l 0,-10.8125005 c 0,-1.3046 -1.039375,-2.3437 -2.34375,-2.3437 l -0.65625,0 z M 9.5518351,10.423906 c 1.9348899,0 3.4999999,1.596401 3.4999999,3.531301 0,1.9349 -1.56511,3.5 -3.4999999,3.5 -1.9348899,0 -3.4999999,-1.5651 -3.4999999,-3.5 0,-1.9349 1.56511,-3.531301 3.4999999,-3.531301 z m 4.2187499,10.312601 c -0.206517,0.2356 -0.844218,0.9428 -1.03125,1.1562 l 0.8125,0 c 0.01392,-0.4081 0.107026,-0.7968 0.21875,-1.1562 z";function Ioe(o,A,f){o=tc(o);let m=new BSe(A,f);m._exitVRPath=uDi,m._enterVRPath=lDi;let C=document.createElement("button");C.type="button",C.className="cesium-button cesium-vrButton",C.setAttribute("data-bind",'css: { "cesium-button-disabled" : _isOrthographic }, attr: { title: tooltip },click: command,enable: isVREnabled,cesiumSvgPath: { path: isVRMode ? _exitVRPath : _enterVRPath, width: 32, height: 32 }'),o.appendChild(C),qi.applyBindings(m,C),this._container=o,this._viewModel=m,this._element=C}Object.defineProperties(Ioe.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});Ioe.prototype.isDestroyed=function(){return!1};Ioe.prototype.destroy=function(){return this._viewModel.destroy(),qi.cleanNode(this._element),this._container.removeChild(this._element),Ar(this)};var wSe=Ioe,W2=new hi;function cot(o){let A=o.clock;A.currentTime=o.timeJulian,A.shouldAnimate=!1}function ADi(o){let A=o.getPropertyIds(),f="";return A.forEach(function(m){let C=o.getProperty(m);O(C)&&(f+=`<tr><th>${m}</th><td>${C}</td></tr>`)}),f.length>0&&(f=`<table class="cesium-infoBox-defaultTable"><tbody>${f}</tbody></table>`),f}function cDi(o){let A,f=[],m=o.getPropertyIds();for(A=0;A<m.length;A++){let E=m[A];/^name$/i.test(E)?f[0]=o.getProperty(E):/name/i.test(E)?f[1]=o.getProperty(E):/^title$/i.test(E)?f[2]=o.getProperty(E):/^(id|identifier)$/i.test(E)?f[3]=o.getProperty(E):/element/i.test(E)?f[4]=o.getProperty(E):/(id|identifier)$/i.test(E)&&(f[5]=o.getProperty(E))}let C=f.length;for(A=0;A<C;A++){let E=f[A];if(O(E)&&E!=="")return E}return"Unnamed Feature"}function hHe(o,A){let f=o.scene.pick(A.position);if(O(f)){let m=oe(f.id,f.primitive.id);if(m instanceof nc)return m;if(f instanceof ns)return new nc({name:cDi(f),description:ADi(f),feature:f})}if(O(o.scene.globe))return fDi(o,A.position)}var hDi=new Zt;function hot(o,A,f){if(O(f)){let m=f.clock;if(O(m)&&(m.getValue(A),O(o))){let C=m.startTime,E=m.stopTime;Zt.equals(C,E)&&(E=Zt.addSeconds(C,Be.EPSILON2,hDi)),o.updateFromClock(),o.zoomTo(C,E)}}}var dDi=new Z;function fDi(o,A){let f=o.scene,m=f.camera.getPickRay(A),C=f.imageryLayers.pickImageryLayerFeatures(m,f);if(!O(C))return;let E=new nc({id:"Loading...",description:"Loading feature information..."});return C.then(function(x){if(o.selectedEntity!==E)return;if(!O(x)||x.length===0){o.selectedEntity=dHe();return}let y=x[0],I=new nc({id:y.name,description:y.description});if(O(y.position)){let v=o.scene.globe.ellipsoid.cartographicToCartesian(y.position,dDi);I.position=new Cb(v)}o.selectedEntity=I},function(){o.selectedEntity===E&&(o.selectedEntity=dHe())}),E}function dHe(){return new nc({id:"None",description:"No features found."})}function gDi(o,A){let f=o._geocoder,m=o._homeButton,C=o._sceneModePicker,E=o._projectionPicker,x=o._baseLayerPicker,y=o._animation,I=o._timeline,v=o._fullscreenButton,B=o._infoBox,Q=o._selectionIndicator,T=A?"hidden":"visible";if(O(f)&&(f.container.style.visibility=T),O(m)&&(m.container.style.visibility=T),O(C)&&(C.container.style.visibility=T),O(E)&&(E.container.style.visibility=T),O(x)&&(x.container.style.visibility=T),O(y)&&(y.container.style.visibility=T),O(I)&&(I.container.style.visibility=T),O(v)&&v.viewModel.isFullscreenEnabled&&(v.container.style.visibility=T),O(B)&&(B.container.style.visibility=T),O(Q)&&(Q.container.style.visibility=T),o._container){let w=A||!O(v)?0:v.container.clientWidth;o._vrButton.container.style.right=`${w}px`,o.forceResize()}}function au(o,A){o=tc(o),A=oe(A,oe.EMPTY_OBJECT);let f=(!O(A.globe)||A.globe!==!1)&&(!O(A.baseLayerPicker)||A.baseLayerPicker!==!1),m=this,C=document.createElement("div");C.className="cesium-viewer",o.appendChild(C);let E=document.createElement("div");E.className="cesium-viewer-cesiumWidgetContainer",C.appendChild(E);let x=document.createElement("div");x.className="cesium-viewer-bottom",C.appendChild(x);let y=oe(A.scene3DOnly,!1),I,v,B=!1;O(A.clockViewModel)?(v=A.clockViewModel,I=v.clock):(I=new mG,v=new VQe(I),B=!0),O(A.shouldAnimate)&&(I.shouldAnimate=A.shouldAnimate);let Q=new TJ(E,{baseLayer:f||O(A.baseLayer)||O(A.imageryProvider)?!1:void 0,clock:I,skyBox:A.skyBox,skyAtmosphere:A.skyAtmosphere,sceneMode:A.sceneMode,mapProjection:A.mapProjection,globe:A.globe,orderIndependentTranslucency:A.orderIndependentTranslucency,contextOptions:A.contextOptions,useDefaultRenderLoop:A.useDefaultRenderLoop,targetFrameRate:A.targetFrameRate,showRenderLoopErrors:A.showRenderLoopErrors,useBrowserRecommendedResolution:A.useBrowserRecommendedResolution,creditContainer:O(A.creditContainer)?A.creditContainer:x,creditViewport:A.creditViewport,scene3DOnly:y,shadows:A.shadows,terrainShadows:A.terrainShadows,mapMode2D:A.mapMode2D,blurActiveElementOnCanvasFocus:A.blurActiveElementOnCanvasFocus,requestRenderMode:A.requestRenderMode,maximumRenderTimeChange:A.maximumRenderTimeChange,depthPlaneEllipsoidOffset:A.depthPlaneEllipsoidOffset,msaaSamples:A.msaaSamples}),T=A.dataSources,w=!1;O(T)||(T=new EBe,w=!0);let S=Q.scene,D=new AJ({scene:S,dataSourceCollection:T}),R=new Gx;R.add(I.onTick,au.prototype._onTick,this),R.add(S.morphStart,au.prototype._clearTrackedObject,this);let P;if(!O(A.selectionIndicator)||A.selectionIndicator!==!1){let U=document.createElement("div");U.className="cesium-viewer-selectionIndicatorContainer",C.appendChild(U),P=new ySe(U,S)}let M;if(!O(A.infoBox)||A.infoBox!==!1){let U=document.createElement("div");U.className="cesium-viewer-infoBoxContainer",C.appendChild(U),M=new ASe(U);let W=M.viewModel;R.add(W.cameraClicked,au.prototype._onInfoBoxCameraClicked,this),R.add(W.closeClicked,au.prototype._onInfoBoxClockClicked,this)}let L=document.createElement("div");L.className="cesium-viewer-toolbar",C.appendChild(L);let F;if(!O(A.geocoder)||A.geocoder!==!1){let U=document.createElement("div");U.className="cesium-viewer-geocoderContainer",L.appendChild(U);let W;O(A.geocoder)&&typeof A.geocoder!="boolean"&&(W=Array.isArray(A.geocoder)?A.geocoder:[A.geocoder]),F=new oSe({container:U,geocoderServices:W,scene:S}),R.add(F.viewModel.search.beforeExecute,au.prototype._clearObjects,this)}let k;(!O(A.homeButton)||A.homeButton!==!1)&&(k=new sSe(L,S),O(F)&&R.add(k.viewModel.command.afterExecute,function(){let U=F.viewModel;U.searchText="",U.isSearchInProgress&&U.search()}),R.add(k.viewModel.command.beforeExecute,au.prototype._clearTrackedObject,this));let N;!y&&(!O(A.sceneModePicker)||A.sceneModePicker!==!1)&&(N=new ESe(L,S));let G;A.projectionPicker&&(G=new mSe(L,S));let J,K;if(f){let U=oe(A.imageryProviderViewModels,ZQe()),W=oe(A.terrainProviderViewModels,$Qe());J=new XQe(L,{globe:S.globe,imageryProviderViewModels:U,selectedImageryProviderViewModel:A.selectedImageryProviderViewModel,terrainProviderViewModels:W,selectedTerrainProviderViewModel:A.selectedTerrainProviderViewModel}),K=L.getElementsByClassName("cesium-baseLayerPicker-dropDown")[0]}O(A.imageryProvider)&&A.imageryProvider!==!1&&(ii("Viewer options.imageryProvider","options.imageryProvider was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use options.baseLayer instead."),f&&(J.viewModel.selectedImagery=void 0),S.imageryLayers.removeAll(),S.imageryLayers.addImageryProvider(A.imageryProvider)),O(A.baseLayer)&&A.baseLayer!==!1&&(f&&(J.viewModel.selectedImagery=void 0),S.imageryLayers.removeAll(),S.imageryLayers.add(A.baseLayer)),O(A.terrainProvider)&&(f&&(J.viewModel.selectedTerrain=void 0),S.terrainProvider=A.terrainProvider),O(A.terrain)&&(f&&(J.viewModel.selectedTerrain=void 0,S.globe.depthTestAgainstTerrain=!0),S.setTerrain(A.terrain));let X;if(!O(A.navigationHelpButton)||A.navigationHelpButton!==!1){let U=!0;try{if(O(window.localStorage)){let W=window.localStorage.getItem("cesium-hasSeenNavHelp");O(W)&&W?U=!1:window.localStorage.setItem("cesium-hasSeenNavHelp","true")}}catch{}X=new hSe({container:L,instructionsInitiallyVisible:oe(A.navigationInstructionsInitiallyVisible,U)})}let q;if(!O(A.animation)||A.animation!==!1){let U=document.createElement("div");U.className="cesium-viewer-animationContainer",C.appendChild(U),q=new zQe(U,new YQe(v))}let ee;if(!O(A.timeline)||A.timeline!==!1){let U=document.createElement("div");U.className="cesium-viewer-timelineContainer",C.appendChild(U),ee=new vSe(U,I),ee.addEventListener("settime",cot,!1),ee.zoomTo(I.startTime,I.stopTime)}let ie,H,le;(!O(A.fullscreenButton)||A.fullscreenButton!==!1)&&(le=document.createElement("div"),le.className="cesium-viewer-fullscreenContainer",C.appendChild(le),ie=new tSe(le,A.fullscreenElement),H=Ix(ie.viewModel,"isFullscreenEnabled",function(U){le.style.display=U?"block":"none",O(ee)&&(ee.container.style.right=`${le.clientWidth}px`,ee.resize())}));let ue,Ae,he;if(A.vrButton){let U=document.createElement("div");U.className="cesium-viewer-vrContainer",C.appendChild(U),ue=new wSe(U,S,A.fullScreenElement),Ae=Ix(ue.viewModel,"isVREnabled",function(W){U.style.display=W?"block":"none",O(ie)&&(U.style.right=`${le.clientWidth}px`),O(ee)&&(ee.container.style.right=`${U.clientWidth}px`,ee.resize())}),he=Ix(ue.viewModel,"isVRMode",function(W){gDi(m,W)})}this._baseLayerPickerDropDown=K,this._fullscreenSubscription=H,this._vrSubscription=Ae,this._vrModeSubscription=he,this._dataSourceChangedListeners={},this._automaticallyTrackDataSourceClocks=oe(A.automaticallyTrackDataSourceClocks,!0),this._container=o,this._bottomContainer=x,this._element=C,this._cesiumWidget=Q,this._selectionIndicator=P,this._infoBox=M,this._dataSourceCollection=T,this._destroyDataSourceCollection=w,this._dataSourceDisplay=D,this._clockViewModel=v,this._destroyClockViewModel=B,this._toolbar=L,this._homeButton=k,this._sceneModePicker=N,this._projectionPicker=G,this._baseLayerPicker=J,this._navigationHelpButton=X,this._animation=q,this._timeline=ee,this._fullscreenButton=ie,this._vrButton=ue,this._geocoder=F,this._eventHelper=R,this._lastWidth=0,this._lastHeight=0,this._allowDataSourcesToSuspendAnimation=!0,this._entityView=void 0,this._enableInfoOrSelection=O(M)||O(P),this._clockTrackedDataSource=void 0,this._trackedEntity=void 0,this._needTrackedEntityUpdate=!1,this._selectedEntity=void 0,this._zoomIsFlight=!1,this._zoomTarget=void 0,this._zoomPromise=void 0,this._zoomOptions=void 0,this._selectedEntityChanged=new ur,this._trackedEntityChanged=new ur,qi.track(this,["_trackedEntity","_selectedEntity","_clockTrackedDataSource"]),R.add(T.dataSourceAdded,au.prototype._onDataSourceAdded,this),R.add(T.dataSourceRemoved,au.prototype._onDataSourceRemoved,this),R.add(S.postUpdate,au.prototype.resize,this),R.add(S.postRender,au.prototype._postRender,this);let ge=T.length;for(let U=0;U<ge;U++)this._dataSourceAdded(T,T.get(U));this._dataSourceAdded(void 0,D.defaultDataSource),R.add(T.dataSourceAdded,au.prototype._dataSourceAdded,this),R.add(T.dataSourceRemoved,au.prototype._dataSourceRemoved,this);function fe(U){let W=hHe(m,U);O(W)?Bt.getValueOrUndefined(W.position,m.clock.currentTime)?m.trackedEntity=W:m.zoomTo(W):O(m.trackedEntity)&&(m.trackedEntity=void 0)}function ae(U){m.selectedEntity=hHe(m,U)}Q.screenSpaceEventHandler.setInputAction(ae,si.LEFT_CLICK),Q.screenSpaceEventHandler.setInputAction(fe,si.LEFT_DOUBLE_CLICK)}Object.defineProperties(au.prototype,{container:{get:function(){return this._container}},creditDisplay:{get:function(){return this._cesiumWidget.creditDisplay}},bottomContainer:{get:function(){return this._bottomContainer}},cesiumWidget:{get:function(){return this._cesiumWidget}},selectionIndicator:{get:function(){return this._selectionIndicator}},infoBox:{get:function(){return this._infoBox}},geocoder:{get:function(){return this._geocoder}},homeButton:{get:function(){return this._homeButton}},sceneModePicker:{get:function(){return this._sceneModePicker}},projectionPicker:{get:function(){return this._projectionPicker}},baseLayerPicker:{get:function(){return this._baseLayerPicker}},navigationHelpButton:{get:function(){return this._navigationHelpButton}},animation:{get:function(){return this._animation}},timeline:{get:function(){return this._timeline}},fullscreenButton:{get:function(){return this._fullscreenButton}},vrButton:{get:function(){return this._vrButton}},dataSourceDisplay:{get:function(){return this._dataSourceDisplay}},entities:{get:function(){return this._dataSourceDisplay.defaultDataSource.entities}},dataSources:{get:function(){return this._dataSourceCollection}},canvas:{get:function(){return this._cesiumWidget.canvas}},scene:{get:function(){return this._cesiumWidget.scene}},shadows:{get:function(){return this.scene.shadowMap.enabled},set:function(o){this.scene.shadowMap.enabled=o}},terrainShadows:{get:function(){return this.scene.globe.shadows},set:function(o){this.scene.globe.shadows=o}},shadowMap:{get:function(){return this.scene.shadowMap}},imageryLayers:{get:function(){return this.scene.imageryLayers}},terrainProvider:{get:function(){return this.scene.terrainProvider},set:function(o){this.scene.terrainProvider=o}},camera:{get:function(){return this.scene.camera}},postProcessStages:{get:function(){return this.scene.postProcessStages}},clock:{get:function(){return this._clockViewModel.clock}},clockViewModel:{get:function(){return this._clockViewModel}},screenSpaceEventHandler:{get:function(){return this._cesiumWidget.screenSpaceEventHandler}},targetFrameRate:{get:function(){return this._cesiumWidget.targetFrameRate},set:function(o){this._cesiumWidget.targetFrameRate=o}},useDefaultRenderLoop:{get:function(){return this._cesiumWidget.useDefaultRenderLoop},set:function(o){this._cesiumWidget.useDefaultRenderLoop=o}},resolutionScale:{get:function(){return this._cesiumWidget.resolutionScale},set:function(o){this._cesiumWidget.resolutionScale=o}},useBrowserRecommendedResolution:{get:function(){return this._cesiumWidget.useBrowserRecommendedResolution},set:function(o){this._cesiumWidget.useBrowserRecommendedResolution=o}},allowDataSourcesToSuspendAnimation:{get:function(){return this._allowDataSourcesToSuspendAnimation},set:function(o){this._allowDataSourcesToSuspendAnimation=o}},trackedEntity:{get:function(){return this._trackedEntity},set:function(o){if(this._trackedEntity!==o){this._trackedEntity=o,Zee(this);let A=this.scene,f=A.mode;!O(o)||!O(o.position)?(this._needTrackedEntityUpdate=!1,(f===ni.COLUMBUS_VIEW||f===ni.SCENE2D)&&(A.screenSpaceCameraController.enableTranslate=!0),(f===ni.COLUMBUS_VIEW||f===ni.SCENE3D)&&(A.screenSpaceCameraController.enableTilt=!0),this._entityView=void 0,this.camera.lookAtTransform(Re.IDENTITY)):this._needTrackedEntityUpdate=!0,this._trackedEntityChanged.raiseEvent(o),this.scene.requestRender()}}},selectedEntity:{get:function(){return this._selectedEntity},set:function(o){if(this._selectedEntity!==o){this._selectedEntity=o;let A=O(this._selectionIndicator)?this._selectionIndicator.viewModel:void 0;O(o)?O(A)&&A.animateAppear():O(A)&&A.animateDepart(),this._selectedEntityChanged.raiseEvent(o)}}},selectedEntityChanged:{get:function(){return this._selectedEntityChanged}},trackedEntityChanged:{get:function(){return this._trackedEntityChanged}},clockTrackedDataSource:{get:function(){return this._clockTrackedDataSource},set:function(o){this._clockTrackedDataSource!==o&&(this._clockTrackedDataSource=o,hot(this._timeline,this.clock,o))}}});au.prototype.extend=function(o,A){o(this,A)};au.prototype.resize=function(){let o=this._cesiumWidget,A=this._container,f=A.clientWidth,m=A.clientHeight,C=O(this._animation),E=O(this._timeline);if(o.resize(),f===this._lastWidth&&m===this._lastHeight)return;let x=m-125,y=this._baseLayerPickerDropDown;if(O(y)&&(y.style.maxHeight=`${x}px`),O(this._geocoder)){let w=this._geocoder.searchSuggestionsContainer;w.style.maxHeight=`${x}px`}O(this._infoBox)&&(this._infoBox.viewModel.maxHeight=x);let I=this._timeline,v,B=0,Q=0,T=0;if(C&&window.getComputedStyle(this._animation.container).visibility!=="hidden"){let w=this._lastWidth;v=this._animation.container,f>900?(B=169,w<=900&&(v.style.width="169px",v.style.height="112px",this._animation.resize())):f>=600?(B=136,(w<600||w>900)&&(v.style.width="136px",v.style.height="90px",this._animation.resize())):(B=106,(w>600||w===0)&&(v.style.width="106px",v.style.height="70px",this._animation.resize())),Q=B+5}if(E&&window.getComputedStyle(this._timeline.container).visibility!=="hidden"){let w=this._fullscreenButton,S=this._vrButton,D=I.container,R=D.style;T=D.clientHeight+3,R.left=`${B}px`;let P=0;O(w)&&(P+=w.container.clientWidth),O(S)&&(P+=S.container.clientWidth),R.right=`${P}px`,I.resize()}this._bottomContainer.style.left=`${Q}px`,this._bottomContainer.style.bottom=`${T}px`,this._lastWidth=f,this._lastHeight=m};au.prototype.forceResize=function(){this._lastWidth=0,this.resize()};au.prototype.render=function(){this._cesiumWidget.render()};au.prototype.isDestroyed=function(){return!1};au.prototype.destroy=function(){let o;this.screenSpaceEventHandler.removeInputAction(si.LEFT_CLICK),this.screenSpaceEventHandler.removeInputAction(si.LEFT_DOUBLE_CLICK);let A=this.dataSources,f=A.length;for(o=0;o<f;o++)this._dataSourceRemoved(A,A.get(o));return this._dataSourceRemoved(void 0,this._dataSourceDisplay.defaultDataSource),this._container.removeChild(this._element),this._element.removeChild(this._toolbar),this._eventHelper.removeAll(),O(this._geocoder)&&(this._geocoder=this._geocoder.destroy()),O(this._homeButton)&&(this._homeButton=this._homeButton.destroy()),O(this._sceneModePicker)&&(this._sceneModePicker=this._sceneModePicker.destroy()),O(this._projectionPicker)&&(this._projectionPicker=this._projectionPicker.destroy()),O(this._baseLayerPicker)&&(this._baseLayerPicker=this._baseLayerPicker.destroy()),O(this._animation)&&(this._element.removeChild(this._animation.container),this._animation=this._animation.destroy()),O(this._timeline)&&(this._timeline.removeEventListener("settime",cot,!1),this._element.removeChild(this._timeline.container),this._timeline=this._timeline.destroy()),O(this._fullscreenButton)&&(this._fullscreenSubscription.dispose(),this._element.removeChild(this._fullscreenButton.container),this._fullscreenButton=this._fullscreenButton.destroy()),O(this._vrButton)&&(this._vrSubscription.dispose(),this._vrModeSubscription.dispose(),this._element.removeChild(this._vrButton.container),this._vrButton=this._vrButton.destroy()),O(this._infoBox)&&(this._element.removeChild(this._infoBox.container),this._infoBox=this._infoBox.destroy()),O(this._selectionIndicator)&&(this._element.removeChild(this._selectionIndicator.container),this._selectionIndicator=this._selectionIndicator.destroy()),this._destroyClockViewModel&&(this._clockViewModel=this._clockViewModel.destroy()),this._dataSourceDisplay=this._dataSourceDisplay.destroy(),this._cesiumWidget=this._cesiumWidget.destroy(),this._destroyDataSourceCollection&&(this._dataSourceCollection=this._dataSourceCollection.destroy()),Ar(this)};au.prototype._dataSourceAdded=function(o,A){A.entities.collectionChanged.addEventListener(au.prototype._onEntityCollectionChanged,this)};au.prototype._dataSourceRemoved=function(o,A){let f=A.entities;f.collectionChanged.removeEventListener(au.prototype._onEntityCollectionChanged,this),O(this.trackedEntity)&&f.getById(this.trackedEntity.id)===this.trackedEntity&&(this.trackedEntity=void 0),O(this.selectedEntity)&&f.getById(this.selectedEntity.id)===this.selectedEntity&&(this.selectedEntity=void 0)};au.prototype._onTick=function(o){let A=o.currentTime,f=this._dataSourceDisplay.update(A);this._allowDataSourcesToSuspendAnimation&&(this._clockViewModel.canAnimate=f);let m=this._entityView;if(O(m)){let w=this._trackedEntity;this._dataSourceDisplay.getBoundingSphere(w,!1,W2)===eo.DONE&&m.update(A,W2)}let C,E=!1,x=this.selectedEntity,y=O(x)&&this._enableInfoOrSelection;y&&x.isShowing&&x.isAvailable(A)&&(this._dataSourceDisplay.getBoundingSphere(x,!0,W2)!==eo.FAILED?C=W2.center:O(x.position)&&(C=x.position.getValue(A,C)),E=O(C));let I=this.imageryLayers,v,B;for(B=0;B<I.length;B++)v=I.get(B),v&&v._availability&&(v.show=v.isAvailable(A));let Q=O(this._selectionIndicator)?this._selectionIndicator.viewModel:void 0;O(Q)&&(Q.position=Z.clone(C,Q.position),Q.showSelection=y&&E,Q.update());let T=O(this._infoBox)?this._infoBox.viewModel:void 0;O(T)&&(T.showInfo=y,T.enableCamera=E,T.isCameraTracking=this.trackedEntity===this.selectedEntity,y?(T.titleText=oe(x.name,x.id),T.description=Bt.getValueOrDefault(x.description,A,"")):(T.titleText="",T.description=""))};au.prototype._onEntityCollectionChanged=function(o,A,f){let m=f.length;for(let C=0;C<m;C++){let E=f[C];this.trackedEntity===E&&(this.trackedEntity=void 0),this.selectedEntity===E&&(this.selectedEntity=void 0)}};au.prototype._onInfoBoxCameraClicked=function(o){if(o.isCameraTracking&&this.trackedEntity===this.selectedEntity)this.trackedEntity=void 0;else{let A=this.selectedEntity.position;O(A)?this.trackedEntity=this.selectedEntity:this.zoomTo(this.selectedEntity)}};au.prototype._clearTrackedObject=function(){this.trackedEntity=void 0};au.prototype._onInfoBoxClockClicked=function(o){this.selectedEntity=void 0};au.prototype._clearObjects=function(){this.trackedEntity=void 0,this.selectedEntity=void 0};au.prototype._onDataSourceChanged=function(o){this.clockTrackedDataSource===o&&hot(this.timeline,this.clock,o)};au.prototype._onDataSourceAdded=function(o,A){this._automaticallyTrackDataSourceClocks&&(this.clockTrackedDataSource=A);let f=A.entities.id,m=this._eventHelper.add(A.changedEvent,au.prototype._onDataSourceChanged,this);this._dataSourceChangedListeners[f]=m};au.prototype._onDataSourceRemoved=function(o,A){let f=this.clockTrackedDataSource===A,m=A.entities.id;if(this._dataSourceChangedListeners[m](),this._dataSourceChangedListeners[m]=void 0,f){let C=o.length;this._automaticallyTrackDataSourceClocks&&C>0?this.clockTrackedDataSource=o.get(C-1):this.clockTrackedDataSource=void 0}};au.prototype.zoomTo=function(o,A){return dot(this,o,{offset:A},!1)};au.prototype.flyTo=function(o,A){return dot(this,o,A,!0)};function dot(o,A,f,m){Zee(o);let C=new Promise(E=>{o._completeZoom=function(x){E(x)}});return o._zoomPromise=C,o._zoomIsFlight=m,o._zoomOptions=f,Promise.resolve(A).then(function(E){if(o._zoomPromise===C){if(E instanceof oE){let x;if(O(E.imageryProvider)){let y=Promise.resolve();O(E.imageryProvider._readyPromise)?y=E.imageryProvider._readyPromise:O(E.imageryProvider.readyPromise)&&(y=E.imageryProvider.readyPromise),x=y.then(()=>E.getImageryRectangle())}else x=new Promise(y=>{let I=E.readyEvent.addEventListener(()=>{I(),y(E.getImageryRectangle())})});x.then(function(y){return Kne(y,o.scene)}).then(function(y){o._zoomPromise===C&&(o._zoomTarget=y)});return}if(E instanceof _f||E instanceof eoe||E instanceof roe){o._zoomTarget=E;return}if(E.isLoading&&O(E.loadingEvent)){let x=E.loadingEvent.addEventListener(function(){x(),o._zoomPromise===C&&(o._zoomTarget=E.entities.values.slice(0))});return}if(Array.isArray(E)){o._zoomTarget=E.slice(0);return}E=oe(E.values,E),O(E.entities)&&(E=E.entities.values),Array.isArray(E)?o._zoomTarget=E.slice(0):o._zoomTarget=[E]}}),o.scene.requestRender(),C}function t5(o){o._zoomPromise=void 0,o._zoomTarget=void 0,o._zoomOptions=void 0}function Zee(o){let A=o._zoomPromise;O(A)&&(t5(o),o._completeZoom(!1))}au.prototype._postRender=function(){pDi(this),mDi(this)};function pDi(o){let A=o._zoomTarget;if(!O(A)||o.scene.mode===ni.MORPHING)return;let f=o.scene,m=f.camera,C=oe(o._zoomOptions,{}),E;if(A instanceof _f||A instanceof roe)return A._readyPromise.then(function(){let v=A.boundingSphere;O(C.offset)||(C.offset=new Rx(0,-.5,v.radius)),E={offset:C.offset,duration:C.duration,maximumHeight:C.maximumHeight,complete:function(){o._completeZoom(!0)},cancel:function(){o._completeZoom(!1)}},o._zoomIsFlight?m.flyToBoundingSphere(A.boundingSphere,E):(m.viewBoundingSphere(v,C.offset),m.lookAtTransform(Re.IDENTITY),o._completeZoom(!0)),t5(o)}).catch(()=>{Zee(o)});if(A instanceof eoe)return A._readyPromise.then(function(){let v=A.boundingSphere;O(C.offset)||(C.offset=new Rx(0,-.5,v.radius)),E={offset:C.offset,duration:C.duration,maximumHeight:C.maximumHeight,complete:function(){o._completeZoom(!0)},cancel:function(){o._completeZoom(!1)}},o._zoomIsFlight?m.flyToBoundingSphere(v,E):(m.viewBoundingSphere(v,C.offset),m.lookAtTransform(Re.IDENTITY),o._completeZoom(!0)),t5(o)});if(A instanceof Rt){E={destination:f.mapProjection.ellipsoid.cartographicToCartesian(A),duration:C.duration,maximumHeight:C.maximumHeight,complete:function(){o._completeZoom(!0)},cancel:function(){o._completeZoom(!1)}},o._zoomIsFlight?m.flyTo(E):(m.setView(E),o._completeZoom(!0)),t5(o);return}let x=A,y=[];for(let v=0,B=x.length;v<B;v++){let Q=o._dataSourceDisplay.getBoundingSphere(x[v],!1,W2);if(Q===eo.PENDING)return;Q!==eo.FAILED&&y.push(hi.clone(W2))}if(y.length===0){Zee(o);return}o.trackedEntity=void 0;let I=hi.fromBoundingSpheres(y);o._zoomIsFlight?(t5(o),m.flyToBoundingSphere(I,{duration:C.duration,maximumHeight:C.maximumHeight,complete:function(){o._completeZoom(!0)},cancel:function(){o._completeZoom(!1)},offset:C.offset})):(m.viewBoundingSphere(I,C.offset),m.lookAtTransform(Re.IDENTITY),t5(o),o._completeZoom(!0))}function mDi(o){if(!o._needTrackedEntityUpdate)return;let A=o._trackedEntity,f=o.clock.currentTime,m=Bt.getValueOrUndefined(A.position,f);if(!O(m))return;let C=o.scene,E=o._dataSourceDisplay.getBoundingSphere(A,!1,W2);if(E===eo.PENDING)return;let x=C.mode;(x===ni.COLUMBUS_VIEW||x===ni.SCENE2D)&&(C.screenSpaceCameraController.enableTranslate=!1),(x===ni.COLUMBUS_VIEW||x===ni.SCENE3D)&&(C.screenSpaceCameraController.enableTilt=!1);let y=E!==eo.FAILED?W2:void 0;o._entityView=new ZBe(A,C,C.mapProjection.ellipsoid),o._entityView.update(f,y),o._needTrackedEntityUpdate=!1}var _oe=au;function CDi(o){let A=document.createElement("div");A.className="cesium-viewer-cesium3DTilesInspectorContainer",o.container.appendChild(A);let f=new KQe(A,o.scene);Object.defineProperties(o,{cesium3DTilesInspector:{get:function(){return f}}})}var fot=CDi;function EDi(o){let A=document.createElement("div");A.className="cesium-viewer-cesiumInspectorContainer",o.container.appendChild(A);let f=new jQe(A,o.scene);Object.defineProperties(o,{cesiumInspector:{get:function(){return f}}})}var got=EDi;function xDi(o,A){A=oe(A,oe.EMPTY_OBJECT);let f=!0,m=oe(A.flyToOnDrop,!0),C=new ur,E=oe(A.clearOnDrop,!0),x=oe(A.dropTarget,o.container),y=oe(A.clampToGround,!0),I=A.proxy;x=tc(x),Object.defineProperties(o,{dropTarget:{get:function(){return x},set:function(B){fHe(x,v),x=B,Nde(x,v)}},dropEnabled:{get:function(){return f},set:function(B){B!==f&&(B?Nde(x,v):fHe(x,v),f=B)}},dropError:{get:function(){return C}},clearOnDrop:{get:function(){return E},set:function(B){E=B}},flyToOnDrop:{get:function(){return m},set:function(B){m=B}},proxy:{get:function(){return I},set:function(B){I=B}},clampToGround:{get:function(){return y},set:function(B){y=B}}});function v(B){gN(B),E&&(o.entities.removeAll(),o.dataSources.removeAll());let Q=B.dataTransfer.files,T=Q.length;for(let w=0;w<T;w++){let S=Q[w],D=new FileReader;D.onload=yDi(o,S,I,y),D.onerror=IDi(o,S),D.readAsText(S)}}Nde(x,v),o.destroy=pbe(o,o.destroy,function(){o.dropEnabled=!1}),o._handleDrop=v}function gN(o){o.stopPropagation(),o.preventDefault()}function fHe(o,A){let f=o;O(f)&&(f.removeEventListener("drop",A,!1),f.removeEventListener("dragenter",gN,!1),f.removeEventListener("dragover",gN,!1),f.removeEventListener("dragexit",gN,!1))}function Nde(o,A){o.addEventListener("drop",A,!1),o.addEventListener("dragenter",gN,!1),o.addEventListener("dragover",gN,!1),o.addEventListener("dragexit",gN,!1)}function yDi(o,A,f,m){let C=o.scene;return function(E){let x=A.name;try{let y;if(/\.czml$/i.test(x))y=rJ.load(JSON.parse(E.target.result),{sourceUri:x});else if(/\.geojson$/i.test(x)||/\.json$/i.test(x)||/\.topojson$/i.test(x))y=M9.load(JSON.parse(E.target.result),{sourceUri:x,clampToGround:m});else if(/\.(kml|kmz)$/i.test(x))y=gie.load(A,{sourceUri:x,proxy:f,camera:C.camera,canvas:C.canvas,clampToGround:m,screenOverlayContainer:o.container});else if(/\.gpx$/i.test(x))y=awe.load(A,{sourceUri:x,proxy:f});else{o.dropError.raiseEvent(o,x,`Unrecognized file: ${x}`);return}O(y)&&o.dataSources.add(y).then(function(I){o.flyToOnDrop&&o.flyTo(I)}).catch(function(I){o.dropError.raiseEvent(o,x,I)})}catch(y){o.dropError.raiseEvent(o,x,y)}}}function IDi(o,A){return function(f){o.dropError.raiseEvent(o,A.name,f.target.error)}}var pot=xDi;function _Di(o,A){A=oe(A,oe.EMPTY_OBJECT);let f=new gSe({scene:o.scene,container:o.bottomContainer,lowFrameRateMessage:A.lowFrameRateMessage});Object.defineProperties(o,{performanceWatchdog:{get:function(){return f}}})}var mot=_Di;function Cot(o){let A=o.split(` `),f;for(f=0;f<A.length&&!A[f].match(/\S/);f++);if(f===A.length)return"";let m="",C=/^\s*/,E=A[f].match(C)[0].length;for(let x=f;x<A.length;x++){let y=A[x];y.match(C)[0].length>=E&&(y=y.slice(E)),m+=`${y} `}return m}function _v(o){this._scene=o,this._voxelPrimitive=void 0,this._customShaderCompilationRemoveCallback=void 0,this._definedProperties=[],this._getPrimitiveFunctions=[],this._modelMatrixReady=!1;let A=this;function f(C){let{name:E,initialValue:x}=C;A._definedProperties.push(E);let y=C.setPrimitiveFunction;y===!0&&(y=function(B){A._voxelPrimitive[E]=B});let I=C.getPrimitiveFunction;I===!0&&(I=function(){A[E]=A._voxelPrimitive[E]}),O(I)&&A._getPrimitiveFunctions.push(I);let v=qi.observable();return qi.defineProperty(A,E,{get:function(){return v()},set:function(B){typeof x=="number"&&typeof B=="string"&&(B=Number(B),isNaN(B)&&(B=x)),typeof x=="boolean"&&typeof B=="number"&&(B=B===1),v(B),O(y)&&O(A._voxelPrimitive)&&(y(B),o.requestRender())}}),A[E]=x,v}function m(C,E){return function(x){let y=A._voxelPrimitive[C].clone();y[E]=x,A._voxelPrimitive[C]=y}}f({name:"inspectorVisible",initialValue:!0}),f({name:"displayVisible",initialValue:!1}),f({name:"transformVisible",initialValue:!1}),f({name:"boundsVisible",initialValue:!1}),f({name:"clippingVisible",initialValue:!1}),f({name:"shaderVisible",initialValue:!1}),f({name:"shaderString",initialValue:"",getPrimitiveFunction:function(){let C=A._voxelPrimitive.customShader.fragmentShaderText;A.shaderString=Cot(C)}}),f({name:"shaderCompilationMessage",initialValue:""}),f({name:"shaderCompilationSuccess",initialValue:!0}),f({name:"depthTest",initialValue:!1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),f({name:"show",initialValue:!0,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),f({name:"disableUpdate",initialValue:!1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),f({name:"debugDraw",initialValue:!1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),f({name:"jitter",initialValue:!0,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),f({name:"nearestSampling",initialValue:!0,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),f({name:"screenSpaceError",initialValue:4,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),f({name:"stepSize",initialValue:1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),f({name:"shapeIsBox",getPrimitiveFunction:function(){let C=A._voxelPrimitive.shape;A.shapeIsBox=C===YA.BOX}}),f({name:"shapeIsEllipsoid",getPrimitiveFunction:function(){let C=A._voxelPrimitive.shape;A.shapeIsEllipsoid=C===YA.ELLIPSOID}}),f({name:"shapeIsCylinder",getPrimitiveFunction:function(){let C=A._voxelPrimitive.shape;A.shapeIsCylinder=C===YA.CYLINDER}}),f({name:"boundsBoxMaxX",initialValue:0,setPrimitiveFunction:m("maxBounds","x"),getPrimitiveFunction:function(){A.boundsBoxMaxX=A._voxelPrimitive.maxBounds.x}}),f({name:"boundsBoxMinX",initialValue:0,setPrimitiveFunction:m("minBounds","x"),getPrimitiveFunction:function(){A.boundsBoxMinX=A._voxelPrimitive.minBounds.x}}),f({name:"boundsBoxMaxY",initialValue:0,setPrimitiveFunction:m("maxBounds","y"),getPrimitiveFunction:function(){A.boundsBoxMaxY=A._voxelPrimitive.maxBounds.y}}),f({name:"boundsBoxMinY",initialValue:0,setPrimitiveFunction:m("minBounds","y"),getPrimitiveFunction:function(){A.boundsBoxMinY=A._voxelPrimitive.minBounds.y}}),f({name:"boundsBoxMaxZ",initialValue:0,setPrimitiveFunction:m("maxBounds","z"),getPrimitiveFunction:function(){A.boundsBoxMaxZ=A._voxelPrimitive.maxBounds.z}}),f({name:"boundsBoxMinZ",initialValue:0,setPrimitiveFunction:m("minBounds","z"),getPrimitiveFunction:function(){A.boundsBoxMinZ=A._voxelPrimitive.minBounds.z}}),f({name:"boundsEllipsoidMaxLongitude",initialValue:0,setPrimitiveFunction:m("maxBounds","x"),getPrimitiveFunction:function(){A.boundsEllipsoidMaxLongitude=A._voxelPrimitive.maxBounds.x}}),f({name:"boundsEllipsoidMinLongitude",initialValue:0,setPrimitiveFunction:m("minBounds","x"),getPrimitiveFunction:function(){A.boundsEllipsoidMinLongitude=A._voxelPrimitive.minBounds.x}}),f({name:"boundsEllipsoidMaxLatitude",initialValue:0,setPrimitiveFunction:m("maxBounds","y"),getPrimitiveFunction:function(){A.boundsEllipsoidMaxLatitude=A._voxelPrimitive.maxBounds.y}}),f({name:"boundsEllipsoidMinLatitude",initialValue:0,setPrimitiveFunction:m("minBounds","y"),getPrimitiveFunction:function(){A.boundsEllipsoidMinLatitude=A._voxelPrimitive.minBounds.y}}),f({name:"boundsEllipsoidMaxHeight",initialValue:0,setPrimitiveFunction:m("maxBounds","z"),getPrimitiveFunction:function(){A.boundsEllipsoidMaxHeight=A._voxelPrimitive.maxBounds.z}}),f({name:"boundsEllipsoidMinHeight",initialValue:0,setPrimitiveFunction:m("minBounds","z"),getPrimitiveFunction:function(){A.boundsEllipsoidMinHeight=A._voxelPrimitive.minBounds.z}}),f({name:"boundsCylinderMaxRadius",initialValue:0,setPrimitiveFunction:m("maxBounds","x"),getPrimitiveFunction:function(){A.boundsCylinderMaxRadius=A._voxelPrimitive.maxBounds.x}}),f({name:"boundsCylinderMinRadius",initialValue:0,setPrimitiveFunction:m("minBounds","x"),getPrimitiveFunction:function(){A.boundsCylinderMinRadius=A._voxelPrimitive.minBounds.x}}),f({name:"boundsCylinderMaxHeight",initialValue:0,setPrimitiveFunction:m("maxBounds","y"),getPrimitiveFunction:function(){A.boundsCylinderMaxHeight=A._voxelPrimitive.maxBounds.y}}),f({name:"boundsCylinderMinHeight",initialValue:0,setPrimitiveFunction:m("minBounds","y"),getPrimitiveFunction:function(){A.boundsCylinderMinHeight=A._voxelPrimitive.minBounds.y}}),f({name:"boundsCylinderMaxAngle",initialValue:0,setPrimitiveFunction:m("maxBounds","z"),getPrimitiveFunction:function(){A.boundsCylinderMaxAngle=A._voxelPrimitive.maxBounds.z}}),f({name:"boundsCylinderMinAngle",initialValue:0,setPrimitiveFunction:m("minBounds","z"),getPrimitiveFunction:function(){A.boundsCylinderMinAngle=A._voxelPrimitive.minBounds.z}}),f({name:"clippingBoxMaxX",initialValue:0,setPrimitiveFunction:m("maxClippingBounds","x"),getPrimitiveFunction:function(){A.clippingBoxMaxX=A._voxelPrimitive.maxClippingBounds.x}}),f({name:"clippingBoxMinX",initialValue:0,setPrimitiveFunction:m("minClippingBounds","x"),getPrimitiveFunction:function(){A.clippingBoxMinX=A._voxelPrimitive.minClippingBounds.x}}),f({name:"clippingBoxMaxY",initialValue:0,setPrimitiveFunction:m("maxClippingBounds","y"),getPrimitiveFunction:function(){A.clippingBoxMaxY=A._voxelPrimitive.maxClippingBounds.y}}),f({name:"clippingBoxMinY",initialValue:0,setPrimitiveFunction:m("minClippingBounds","y"),getPrimitiveFunction:function(){A.clippingBoxMinY=A._voxelPrimitive.minClippingBounds.y}}),f({name:"clippingBoxMaxZ",initialValue:0,setPrimitiveFunction:m("maxClippingBounds","z"),getPrimitiveFunction:function(){A.clippingBoxMaxZ=A._voxelPrimitive.maxClippingBounds.z}}),f({name:"clippingBoxMinZ",initialValue:0,setPrimitiveFunction:m("minClippingBounds","z"),getPrimitiveFunction:function(){A.clippingBoxMinZ=A._voxelPrimitive.minClippingBounds.z}}),f({name:"clippingEllipsoidMaxLongitude",initialValue:0,setPrimitiveFunction:m("maxClippingBounds","x"),getPrimitiveFunction:function(){A.clippingEllipsoidMaxLongitude=A._voxelPrimitive.maxClippingBounds.x}}),f({name:"clippingEllipsoidMinLongitude",initialValue:0,setPrimitiveFunction:m("minClippingBounds","x"),getPrimitiveFunction:function(){A.clippingEllipsoidMinLongitude=A._voxelPrimitive.minClippingBounds.x}}),f({name:"clippingEllipsoidMaxLatitude",initialValue:0,setPrimitiveFunction:m("maxClippingBounds","y"),getPrimitiveFunction:function(){A.clippingEllipsoidMaxLatitude=A._voxelPrimitive.maxClippingBounds.y}}),f({name:"clippingEllipsoidMinLatitude",initialValue:0,setPrimitiveFunction:m("minClippingBounds","y"),getPrimitiveFunction:function(){A.clippingEllipsoidMinLatitude=A._voxelPrimitive.minClippingBounds.y}}),f({name:"clippingEllipsoidMaxHeight",initialValue:0,setPrimitiveFunction:m("maxClippingBounds","z"),getPrimitiveFunction:function(){A.clippingEllipsoidMaxHeight=A._voxelPrimitive.maxClippingBounds.z}}),f({name:"clippingEllipsoidMinHeight",initialValue:0,setPrimitiveFunction:m("minClippingBounds","z"),getPrimitiveFunction:function(){A.clippingEllipsoidMinHeight=A._voxelPrimitive.minClippingBounds.z}}),f({name:"clippingCylinderMaxRadius",initialValue:0,setPrimitiveFunction:m("maxClippingBounds","x"),getPrimitiveFunction:function(){A.clippingCylinderMaxRadius=A._voxelPrimitive.maxClippingBounds.x}}),f({name:"clippingCylinderMinRadius",initialValue:0,setPrimitiveFunction:m("minClippingBounds","x"),getPrimitiveFunction:function(){A.clippingCylinderMinRadius=A._voxelPrimitive.minClippingBounds.x}}),f({name:"clippingCylinderMaxHeight",initialValue:0,setPrimitiveFunction:m("maxClippingBounds","y"),getPrimitiveFunction:function(){A.clippingCylinderMaxHeight=A._voxelPrimitive.maxClippingBounds.y}}),f({name:"clippingCylinderMinHeight",initialValue:0,setPrimitiveFunction:m("minClippingBounds","y"),getPrimitiveFunction:function(){A.clippingCylinderMinHeight=A._voxelPrimitive.minClippingBounds.y}}),f({name:"clippingCylinderMaxAngle",initialValue:0,setPrimitiveFunction:m("maxClippingBounds","z"),getPrimitiveFunction:function(){A.clippingCylinderMaxAngle=A._voxelPrimitive.maxClippingBounds.z}}),f({name:"clippingCylinderMinAngle",initialValue:0,setPrimitiveFunction:m("minClippingBounds","z"),getPrimitiveFunction:function(){A.clippingCylinderMinAngle=A._voxelPrimitive.minClippingBounds.z}}),f({name:"translationX",initialValue:0,setPrimitiveFunction:function(){A._modelMatrixReady&&$1(A)},getPrimitiveFunction:function(){A.translationX=Re.getTranslation(A._voxelPrimitive.modelMatrix,new Z).x}}),f({name:"translationY",initialValue:0,setPrimitiveFunction:function(){A._modelMatrixReady&&$1(A)},getPrimitiveFunction:function(){A.translationY=Re.getTranslation(A._voxelPrimitive.modelMatrix,new Z).y}}),f({name:"translationZ",initialValue:0,setPrimitiveFunction:function(){A._modelMatrixReady&&$1(A)},getPrimitiveFunction:function(){A.translationZ=Re.getTranslation(A._voxelPrimitive.modelMatrix,new Z).z}}),f({name:"scaleX",initialValue:1,setPrimitiveFunction:function(){A._modelMatrixReady&&$1(A)},getPrimitiveFunction:function(){A.scaleX=Re.getScale(A._voxelPrimitive.modelMatrix,new Z).x}}),f({name:"scaleY",initialValue:1,setPrimitiveFunction:function(){A._modelMatrixReady&&$1(A)},getPrimitiveFunction:function(){A.scaleY=Re.getScale(A._voxelPrimitive.modelMatrix,new Z).y}}),f({name:"scaleZ",initialValue:1,setPrimitiveFunction:function(){A._modelMatrixReady&&$1(A)},getPrimitiveFunction:function(){A.scaleZ=Re.getScale(A._voxelPrimitive.modelMatrix,new Z).z}}),f({name:"angleX",initialValue:0,setPrimitiveFunction:function(){A._modelMatrixReady&&$1(A)}}),f({name:"angleY",initialValue:0,setPrimitiveFunction:function(){A._modelMatrixReady&&$1(A)}}),f({name:"angleZ",initialValue:0,setPrimitiveFunction:function(){A._modelMatrixReady&&$1(A)}})}var vDi=new Z,BDi=new Z,wDi=new bs,bDi=new Gt;function $1(o){let A=Z.fromElements(o.translationX,o.translationY,o.translationZ,vDi),f=Z.fromElements(o.scaleX,o.scaleY,o.scaleZ,BDi),m=wDi;m.heading=o.angleX,m.pitch=o.angleY,m.roll=o.angleZ;let C=Gt.fromHeadingPitchRoll(m,bDi),E=Gt.multiplyByScale(C,f,C);o._voxelPrimitive.modelMatrix=Re.fromRotationTranslation(E,A,o._voxelPrimitive.modelMatrix)}Object.defineProperties(_v.prototype,{scene:{get:function(){return this._scene}},voxelPrimitive:{get:function(){return this._voxelPrimitive},set:function(o){if(O(this._customShaderCompilationRemoveCallback)&&this._customShaderCompilationRemoveCallback(),O(o)){this._voxelPrimitive=o;let A=this;A._voxelPrimitive._readyPromise.then(function(){A._customShaderCompilationRemoveCallback=A._voxelPrimitive.customShaderCompilationEvent.addEventListener(function(f){let m=A._voxelPrimitive.customShader.fragmentShaderText;A.shaderString=Cot(m),O(f)?(A.shaderCompilationMessage=f.message,A.shaderCompilationSuccess=!1):(A.shaderCompilationMessage="Shader compiled successfully!",A.shaderCompilationSuccess=!0)}),A._modelMatrixReady=!1;for(let f=0;f<A._getPrimitiveFunctions.length;f++)A._getPrimitiveFunctions[f]();A._modelMatrixReady=!0,$1(A)})}}}});_v.prototype.toggleInspector=function(){this.inspectorVisible=!this.inspectorVisible};_v.prototype.toggleDisplay=function(){this.displayVisible=!this.displayVisible};_v.prototype.toggleTransform=function(){this.transformVisible=!this.transformVisible};_v.prototype.toggleBounds=function(){this.boundsVisible=!this.boundsVisible};_v.prototype.toggleClipping=function(){this.clippingVisible=!this.clippingVisible};_v.prototype.toggleShader=function(){this.shaderVisible=!this.shaderVisible};_v.prototype.compileShader=function(){O(this._voxelPrimitive)&&(this._voxelPrimitive.customShader=new cv({fragmentShaderText:this.shaderString,uniforms:this._voxelPrimitive.customShader.uniforms}))};_v.prototype.shaderEditorKeyPress=function(o,A){if(A.keyCode===9){A.preventDefault();let f=A.target,m=f.selectionStart,C=f.selectionEnd,E=C,x=f.value.slice(m,C).split(` `),y=x.length,I;if(A.shiftKey)for(I=0;I<y;++I)x[I][0]===" "&&(x[I][1]===" "?(x[I]=x[I].substr(2),E-=2):(x[I]=x[I].substr(1),E-=1));else for(I=0;I<y;++I)x[I]=` ${x[I]}`,E+=2;let v=x.join(` `);f.value=f.value.slice(0,m)+v+f.value.slice(C),f.selectionStart=m!==C?m:E,f.selectionEnd=E}else A.ctrlKey&&(A.keyCode===10||A.keyCode===13)&&this.compileShader();return!0};_v.prototype.isDestroyed=function(){return!1};_v.prototype.destroy=function(){let o=this;return this._definedProperties.forEach(function(A){qi.getObservable(o,A).dispose()}),Ar(this)};var bSe=_v;function voe(o,A){o=tc(o);let f=document.createElement("div"),m=new bSe(A);this._viewModel=m,this._container=o,this._element=f;let C=document.createElement("div");C.textContent="Voxel Inspector",C.className="cesium-cesiumInspector-button",C.setAttribute("data-bind","click: toggleInspector"),f.appendChild(C),f.className="cesium-cesiumInspector cesium-VoxelInspector",f.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : inspectorVisible, "cesium-cesiumInspector-hidden" : !inspectorVisible}'),o.appendChild(f);let E=document.createElement("div");E.className="cesium-cesiumInspector-dropDown",f.appendChild(E);let x=tI.createSection,y=tI.createCheckbox,I=tI.createRangeInput,v=tI.createButton,B=x(E,"Display","displayVisible","toggleDisplay"),Q=x(E,"Transform","transformVisible","toggleTransform"),T=x(E,"Bounds","boundsVisible","toggleBounds"),w=x(E,"Clipping","clippingVisible","toggleClipping"),S=x(E,"Shader","shaderVisible","toggleShader");B.appendChild(y("Depth Test","depthTest")),B.appendChild(y("Show","show")),B.appendChild(y("Disable Update","disableUpdate")),B.appendChild(y("Debug Draw","debugDraw")),B.appendChild(y("Jitter","jitter")),B.appendChild(y("Nearest Sampling","nearestSampling")),B.appendChild(I("Screen Space Error","screenSpaceError",0,128)),B.appendChild(I("Step Size","stepSize",0,2));let D=10,R=10,P=Be.PI;Q.appendChild(I("Translation X","translationX",-D,+D)),Q.appendChild(I("Translation Y","translationY",-D,+D)),Q.appendChild(I("Translation Z","translationZ",-D,+D)),Q.appendChild(I("Scale X","scaleX",0,+R)),Q.appendChild(I("Scale Y","scaleY",0,+R)),Q.appendChild(I("Scale Z","scaleZ",0,+R)),Q.appendChild(I("Heading","angleX",-P,+P)),Q.appendChild(I("Pitch","angleY",-P,+P)),Q.appendChild(I("Roll","angleZ",-P,+P));let M=YA.getMinBounds(YA.BOX),L=YA.getMaxBounds(YA.BOX),F=Z.fromElements(YA.getMinBounds(YA.ELLIPSOID).x,YA.getMinBounds(YA.ELLIPSOID).y,-Ci.WGS84.maximumRadius,new Z),k=Z.fromElements(YA.getMaxBounds(YA.ELLIPSOID).x,YA.getMaxBounds(YA.ELLIPSOID).y,1e7,new Z),N=YA.getMinBounds(YA.CYLINDER),G=YA.getMaxBounds(YA.CYLINDER);HU("Max X","Min X","Max Y","Min Y","Max Z","Min Z","boundsBoxMaxX","boundsBoxMinX","boundsBoxMaxY","boundsBoxMinY","boundsBoxMaxZ","boundsBoxMinZ",M,L,"shapeIsBox",T),HU("Max Longitude","Min Longitude","Max Latitude","Min Latitude","Max Height","Min Height","boundsEllipsoidMaxLongitude","boundsEllipsoidMinLongitude","boundsEllipsoidMaxLatitude","boundsEllipsoidMinLatitude","boundsEllipsoidMaxHeight","boundsEllipsoidMinHeight",F,k,"shapeIsEllipsoid",T),HU("Max Radius","Min Radius","Max Height","Min Height","Max Angle","Min Angle","boundsCylinderMaxRadius","boundsCylinderMinRadius","boundsCylinderMaxHeight","boundsCylinderMinHeight","boundsCylinderMaxAngle","boundsCylinderMinAngle",N,G,"shapeIsCylinder",T),HU("Max X","Min X","Max Y","Min Y","Max Z","Min Z","clippingBoxMaxX","clippingBoxMinX","clippingBoxMaxY","clippingBoxMinY","clippingBoxMaxZ","clippingBoxMinZ",M,L,"shapeIsBox",w),HU("Max Longitude","Min Longitude","Max Latitude","Min Latitude","Max Height","Min Height","clippingEllipsoidMaxLongitude","clippingEllipsoidMinLongitude","clippingEllipsoidMaxLatitude","clippingEllipsoidMinLatitude","clippingEllipsoidMaxHeight","clippingEllipsoidMinHeight",F,k,"shapeIsEllipsoid",w),HU("Max Radius","Min Radius","Max Height","Min Height","Max Angle","Min Angle","clippingCylinderMaxRadius","clippingCylinderMinRadius","clippingCylinderMaxHeight","clippingCylinderMinHeight","clippingCylinderMaxAngle","clippingCylinderMinAngle",N,G,"shapeIsCylinder",w);let J=document.createElement("div");S.appendChild(J);let K=document.createElement("textarea");K.setAttribute("data-bind","textInput: shaderString, event: { keydown: shaderEditorKeyPress }"),J.className="cesium-cesiumInspector-styleEditor",J.appendChild(K);let X=v("Compile (Ctrl+Enter)","compileShader");J.appendChild(X);let q=document.createElement("label");q.style.display="block",q.setAttribute("data-bind","text: shaderCompilationMessage, style: {color: shaderCompilationSuccess ? 'green' : 'red'}"),J.appendChild(q),qi.applyBindings(m,f)}Object.defineProperties(voe.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});voe.prototype.isDestroyed=function(){return!1};voe.prototype.destroy=function(){return qi.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),Ar(this)};function HU(o,A,f,m,C,E,x,y,I,v,B,Q,T,w,S,D){let R=tI.createRangeInput,P=T,M=w,L=D.appendChild(document.createElement("div"));L.setAttribute("data-bind",`if: ${S}`),L.appendChild(R(o,x,P.x,M.x)),L.appendChild(R(A,y,P.x,M.x)),L.appendChild(R(f,I,P.y,M.y)),L.appendChild(R(m,v,P.y,M.y)),L.appendChild(R(C,B,P.z,M.z)),L.appendChild(R(E,Q,P.z,M.z))}var QSe=voe;function QDi(o){let A=document.createElement("div");A.className="cesium-viewer-voxelInspectorContainer",o.container.appendChild(A);let f=new QSe(A,o.scene);Object.defineProperties(o,{voxelInspector:{get:function(){return f}}})}var Eot=QDi;globalThis.CESIUM_VERSION="1.106";var xot="3.2.5";var Di={};Eue(Di,{AlphaMode:()=>g4,AlphaPipelineStage:()=>HIe,Animation:()=>zQe,AnimationViewModel:()=>YQe,Appearance:()=>Bh,ApproximateTerrainHeights:()=>$A,ArcGISTiledElevationTerrainProvider:()=>bne,ArcGisBaseMapType:()=>dP,ArcGisMapServerImageryProvider:()=>z_,ArcGisMapService:()=>UB,ArcType:()=>Ia,ArticulationStageType:()=>Oy,AssociativeArray:()=>Ro,AttributeCompression:()=>$l,AttributeType:()=>cs,AutoExposure:()=>g1e,AutomaticUniforms:()=>C5,Axis:()=>Ud,AxisAlignedBoundingBox:()=>Zz,B3dmLoader:()=>Zye,B3dmParser:()=>Xye,Base64Encoder:()=>$Z,BaseLayerPicker:()=>XQe,BaseLayerPickerViewModel:()=>qQe,BatchTable:()=>Yte,BatchTableHierarchy:()=>kie,BatchTexture:()=>S_,BatchTexturePipelineStage:()=>VIe,Billboard:()=>ih,BillboardCollection:()=>Tx,BillboardGraphics:()=>ZD,BillboardVisualizer:()=>iBe,BingMapsGeocoderService:()=>mit,BingMapsImageryProvider:()=>a8,BingMapsStyle:()=>tne,BlendEquation:()=>Zm,BlendFunction:()=>jA,BlendOption:()=>Uh,BlendTexture:()=>tG,BlendingState:()=>Nl,BoundingRectangle:()=>vr,BoundingSphere:()=>hi,BoundingSphereState:()=>eo,BoxEmitter:()=>Vne,BoxGeometry:()=>FD,BoxGeometryUpdater:()=>rBe,BoxGraphics:()=>Wte,BoxOutlineGeometry:()=>iQ,BrdfLutGenerator:()=>Swe,Buffer:()=>Wn,BufferLoader:()=>BY,BufferUsage:()=>Gr,CPUStylingPipelineStage:()=>KIe,CallbackProperty:()=>Hr,Camera:()=>Ls,CameraEventAggregator:()=>Q1e,CameraEventType:()=>Vu,CameraFlightPath:()=>Gxe,Cartesian2:()=>rt,Cartesian3:()=>Z,Cartesian4:()=>zt,Cartographic:()=>Rt,CartographicGeocoderService:()=>ibe,CatmullRomSpline:()=>Cit,Cesium3DContentGroup:()=>Nie,Cesium3DTile:()=>Nx,Cesium3DTileBatchTable:()=>IY,Cesium3DTileColorBlendMode:()=>xb,Cesium3DTileContent:()=>Nrt,Cesium3DTileContentFactory:()=>yre,Cesium3DTileContentState:()=>bc,Cesium3DTileContentType:()=>iC,Cesium3DTileFeature:()=>ns,Cesium3DTileFeatureTable:()=>TG,Cesium3DTileOptimizationHint:()=>Y2,Cesium3DTileOptimizations:()=>cve,Cesium3DTilePass:()=>Ad,Cesium3DTilePassState:()=>Nw,Cesium3DTilePointFeature:()=>jF,Cesium3DTileRefine:()=>c0,Cesium3DTileStyle:()=>qb,Cesium3DTileStyleEngine:()=>fve,Cesium3DTilesInspector:()=>KQe,Cesium3DTilesInspectorViewModel:()=>JQe,Cesium3DTilesVoxelProvider:()=>Krt,Cesium3DTileset:()=>_f,Cesium3DTilesetBaseTraversal:()=>pve,Cesium3DTilesetCache:()=>hve,Cesium3DTilesetGraphics:()=>$te,Cesium3DTilesetHeatmap:()=>dve,Cesium3DTilesetMetadata:()=>WY,Cesium3DTilesetMostDetailedTraversal:()=>gve,Cesium3DTilesetSkipTraversal:()=>mve,Cesium3DTilesetStatistics:()=>cN,Cesium3DTilesetTraversal:()=>CE,Cesium3DTilesetVisualizer:()=>nBe,CesiumInspector:()=>jQe,CesiumInspectorViewModel:()=>WQe,CesiumNavigation:()=>Rbe,CesiumRenderPass:()=>Lbe,CesiumTerrainProvider:()=>VN,CesiumWidget:()=>TJ,Check:()=>XA,CheckerboardMaterialProperty:()=>oee,CircleEmitter:()=>kbe,CircleGeometry:()=>vit,CircleOutlineGeometry:()=>Bit,CircleWaveMaterialProperty:()=>iG,ClassificationModelDrawCommand:()=>mIe,ClassificationPipelineStage:()=>zIe,ClassificationPrimitive:()=>cG,ClassificationType:()=>uu,ClearCommand:()=>Yu,ClippingPlane:()=>g0,ClippingPlaneCollection:()=>Wf,Clock:()=>mG,ClockRange:()=>np,ClockStep:()=>Zc,ClockViewModel:()=>VQe,CloudCollection:()=>ent,CloudType:()=>Uee,CollectionSource:()=>T9e,Color:()=>Ve,ColorBlendMode:()=>Pb,ColorGeometryInstanceAttribute:()=>_o,ColorMaterialProperty:()=>ba,Command:()=>qnt,CommandLoader:()=>mbe,ComponentDatatype:()=>Ft,Composite3DTileContent:()=>lye,CompositeEntityCollection:()=>eZe,CompositeMaterialProperty:()=>see,CompositePositionProperty:()=>Xy,CompositeProperty:()=>F_,CompressedTextureBuffer:()=>Fz,ComputeCommand:()=>TN,ComputeEngine:()=>Ive,ComputeRegionBox:()=>HXe,ConditionsExpression:()=>QEe,ConeEmitter:()=>b8,ConicArcSensor:()=>Kee,ConicArcSensorCollection:()=>Hnt,ConicArcSensorGeometry:()=>jee,ConicArcSensorGraphics:()=>Jee,ConicArcSensorOutlineGeometry:()=>qee,ConstantPositionProperty:()=>Cb,ConstantProperty:()=>zu,ConstantSpline:()=>nIe,ConstructionWorker:()=>P9e,ContentMetadata:()=>tve,ContentState:()=>db,Context:()=>Dve,ContextLimits:()=>Zn,CoplanarPolygonGeometry:()=>nJ,CoplanarPolygonGeometryLibrary:()=>S5,CoplanarPolygonOutlineGeometry:()=>XS,CornerType:()=>dc,CorridorGeometry:()=>tJ,CorridorGeometryLibrary:()=>iA,CorridorGeometryUpdater:()=>sBe,CorridorGraphics:()=>jte,CorridorOutlineGeometry:()=>aBe,Credit:()=>Qa,CreditDisplay:()=>Dwe,CubeMap:()=>Ew,CubeMapFace:()=>v2,CubicRealPolynomial:()=>Xz,CullFace:()=>pA,CullingVolume:()=>Mg,CumulusCloud:()=>Gw,CustomDataSource:()=>iie,CustomHeightmapTerrainProvider:()=>bit,CustomMercatorProjection:()=>oG,CustomShader:()=>cv,CustomShaderManagerEx:()=>Gte,CustomShaderMode:()=>Jz,CustomShaderPipelineStage:()=>e_e,CustomShaderTranslucencyMode:()=>yP,CustomTilingScheme:()=>fze,CylinderGeometry:()=>lBe,CylinderGeometryLibrary:()=>Ure,CylinderGeometryUpdater:()=>ABe,CylinderGraphics:()=>qte,CylinderOutlineGeometry:()=>uBe,CzmlDataSource:()=>rJ,DDSTexture:()=>Jbe,DataSource:()=>Zp,DataSourceClock:()=>BN,DataSourceCollection:()=>EBe,DataSourceDisplay:()=>AJ,DebugAppearance:()=>lnt,DebugCameraPrimitive:()=>Gd,DebugInspector:()=>k1e,DebugModelMatrixPrimitive:()=>vQe,DefaultProxy:()=>Sit,DepthFunction:()=>Px,DepthPlane:()=>Twe,DequantizationPipelineStage:()=>t_e,DerivedCommand:()=>aC,DeveloperError:()=>Ai,DeviceOrientationCameraController:()=>Mwe,DirectionalLight:()=>jne,DiscardEmptyTileImagePolicy:()=>ine,DiscardMissingTileImagePolicy:()=>Awe,DistanceDisplayCondition:()=>po,DistanceDisplayConditionGeometryInstanceAttribute:()=>aA,DistanceLegendViewModel:()=>Bbe,DoubleEndedPriorityQueue:()=>Mne,DoublyLinkedList:()=>Bre,DracoLoader:()=>wY,DrawCommand:()=>fn,DynamicGeometryBatch:()=>Kre,DynamicGeometryUpdater:()=>LA,ECharts:()=>Wz,EarthOrientationParameters:()=>Spe,EarthOrientationParametersSample:()=>kz,EasingFunction:()=>dC,EllipseGeometry:()=>tv,EllipseGeometryLibrary:()=>CI,EllipseGeometryUpdater:()=>yBe,EllipseGraphics:()=>Xte,EllipseOutlineGeometry:()=>Fb,Ellipsoid:()=>Ci,EllipsoidGeodesic:()=>dd,EllipsoidGeometry:()=>hp,EllipsoidGeometryUpdater:()=>BBe,EllipsoidGraphics:()=>dG,EllipsoidOutlineGeometry:()=>$_,EllipsoidPrimitive:()=>bwe,EllipsoidRhumbLine:()=>G_,EllipsoidSurfaceAppearance:()=>cY,EllipsoidTangentPlane:()=>lw,EllipsoidTerrainProvider:()=>yT,EllipsoidalOccluder:()=>a3,Empty3DTileContent:()=>V9,EncodedCartesian3:()=>eu,Entity:()=>nc,EntityCluster:()=>iR,EntityCollection:()=>dv,EntityView:()=>ZBe,Event:()=>ur,EventHelper:()=>Gx,ExpandBySmartEarth:()=>Ax,ExpandByTerra:()=>gze,Expression:()=>IP,ExpressionNodeType:()=>Rn,ExternalParameter:()=>cE,ExtrapolationType:()=>cb,FBXLoader:()=>ybe,FBXPrimitive:()=>kne,FBXTreeParser:()=>xbe,FeatureDataProvider:()=>pie,FeatureDetection:()=>wo,FeatureIdPipelineStage:()=>zY,FeatureJsonData:()=>xG,FisheyeProjectionMap:()=>gY,FisheyeProjectionMapShader:()=>D7,FlattenVS:()=>Unt,FlowEcharts:()=>Nre,Fog:()=>Pwe,ForEach:()=>Dr,FrameRateMonitor:()=>BQe,FrameState:()=>Rwe,Framebuffer:()=>Pg,FramebufferManager:()=>hc,FrustumCommands:()=>Owe,FrustumGeometry:()=>yG,FrustumOutlineGeometry:()=>fY,Fullscreen:()=>bg,FullscreenButton:()=>tSe,FullscreenButtonViewModel:()=>eSe,GWBaiduImageryProvider:()=>Bie,GeoJsonDataSource:()=>M9,GeoJsonLoader:()=>tIe,GeocodeType:()=>MJ,Geocoder:()=>oSe,GeocoderService:()=>Rne,GeocoderViewModel:()=>nSe,GeographicProjection:()=>Kd,GeographicTilingScheme:()=>th,Geometry:()=>Uo,Geometry3DTileContent:()=>uye,GeometryAttribute:()=>wr,GeometryAttributes:()=>Fu,GeometryFactory:()=>Pit,GeometryInstance:()=>kn,GeometryInstanceAttribute:()=>jy,GeometryOffsetAttribute:()=>Fs,GeometryPipeline:()=>Zl,GeometryPipelineStage:()=>n_e,GeometryType:()=>L2,GeometryUpdater:()=>mc,GeometryVisualizer:()=>zBe,GetFeatureInfoFormat:()=>V7,GifImageProperty:()=>QKe,Globe:()=>_we,GlobeDepth:()=>Uwe,GlobeSurfaceShaderSet:()=>lwe,GlobeSurfaceTile:()=>GD,GlobeSurfaceTileProvider:()=>ywe,GlobeTranslucency:()=>pJ,GlobeTranslucencyFramebuffer:()=>Gwe,GlobeTranslucencyState:()=>Fwe,GltfBufferViewLoader:()=>Gie,GltfDracoLoader:()=>Hie,GltfImageLoader:()=>zie,GltfIndexBufferLoader:()=>Yie,GltfJsonLoader:()=>Wie,GltfLoader:()=>bG,GltfLoaderUtil:()=>RD,GltfStructuralMetadataLoader:()=>Jye,GltfTextureLoader:()=>qie,GltfVertexBufferLoader:()=>Xie,GoogleEarthEnterpriseImageryProvider:()=>unt,GoogleEarthEnterpriseMapsProvider:()=>ane,GoogleEarthEnterpriseMetadata:()=>_R,GoogleEarthEnterpriseTerrainData:()=>Mee,GoogleEarthEnterpriseTerrainProvider:()=>Oit,GoogleEarthEnterpriseTileInformation:()=>lbe,GoogleMaps:()=>W7,GpxDataSource:()=>awe,Graticules:()=>vie,GregorianDate:()=>rG,GridImageryProvider:()=>Ant,GridMaterialProperty:()=>cee,GroundGeometryUpdater:()=>Cl,GroundPolylineGeometry:()=>uG,GroundPolylinePrimitive:()=>aR,GroundPrimitive:()=>Xb,GroupMetadata:()=>j$,GwBufferAnalysis:()=>wie,HeadingPitchRange:()=>Rx,HeadingPitchRoll:()=>bs,Heap:()=>J0e,HeightReference:()=>An,HeightmapEncoding:()=>HP,HeightmapTerrainData:()=>Rw,HeightmapTessellator:()=>ene,HermitePolynomialApproximation:()=>hBe,HermiteSpline:()=>U9,HilbertOrder:()=>R$,HomeButton:()=>sSe,HomeButtonViewModel:()=>aSe,HorizontalOrigin:()=>Ru,HugeAdapter:()=>VY,I3SDataProvider:()=>qne,I3SFeature:()=>SQe,I3SField:()=>DQe,I3SGeometry:()=>Gee,I3SLayer:()=>H4,I3SNode:()=>Hee,I3dmLoader:()=>rIe,I3dmParser:()=>iIe,Iau2000Orientation:()=>Bwe,Iau2006XysData:()=>Tpe,Iau2006XysSample:()=>Dte,IauOrientationAxes:()=>wwe,IauOrientationParameters:()=>vwe,ImageBasedLighting:()=>Lie,ImageBasedLightingPipelineStage:()=>wIe,ImageCombine:()=>kte,ImageMaterialProperty:()=>Yd,Imagery:()=>une,ImageryLayer:()=>oE,ImageryLayerCollection:()=>Iwe,ImageryLayerFeatureInfo:()=>ER,ImageryProvider:()=>oQ,ImageryState:()=>_u,Implicit3DTileContent:()=>H$,ImplicitAvailabilityBitstream:()=>F$,ImplicitMetadataView:()=>Uie,ImplicitSubdivisionScheme:()=>sp,ImplicitSubtree:()=>ere,ImplicitSubtreeCache:()=>mQe,ImplicitSubtreeMetadata:()=>dye,ImplicitTileCoordinates:()=>Qre,ImplicitTileset:()=>XY,IndexDatatype:()=>Bn,InfoBox:()=>ASe,InfoBoxViewModel:()=>uSe,InspectorShared:()=>tI,InstanceAttributeSemantic:()=>rp,InstancingPipelineStage:()=>NIe,InterpolationAlgorithm:()=>Git,InterpolationType:()=>oP,Intersect:()=>sa,IntersectionTests:()=>Sc,Intersections2D:()=>E8,Interval:()=>lb,InvertClassification:()=>pne,Ion:()=>Z2,IonGeocoderService:()=>dbe,IonImageryProvider:()=>Ib,IonResource:()=>H_,IonWorldImageryStyle:()=>dN,Iso8601:()=>un,JobScheduler:()=>Nwe,JobType:()=>gx,JsonMetadataTable:()=>RY,JulianDate:()=>Zt,KTX2Transcoder:()=>W0e,KeyboardEventModifier:()=>Sx,KeyframeNode:()=>SA,KmlCamera:()=>sxe,KmlDataSource:()=>gie,KmlLookAt:()=>lxe,KmlTour:()=>uxe,KmlTourFlyTo:()=>Axe,KmlTourWait:()=>hxe,Label:()=>a9,LabelCollection:()=>jD,LabelGraphics:()=>fG,LabelStyle:()=>Pu,LabelVisualizer:()=>YBe,LagrangePolynomialApproximation:()=>fBe,LeapSecond:()=>gA,Light:()=>dnt,LightingModel:()=>Mx,LightingPipelineStage:()=>a_e,LinearApproximation:()=>Aie,LinearSampler:()=>aQ,LinearSpline:()=>HY,MTLLoader:()=>Ibe,ManagedArray:()=>Mb,MapMode2D:()=>cw,MapProjection:()=>Vit,MapboxImageryProvider:()=>u8,MapboxStyleImageryProvider:()=>gnt,Material:()=>go,MaterialAppearance:()=>$c,MaterialPass:()=>Wbe,MaterialPipelineStage:()=>l_e,MaterialProperty:()=>ap,Math:()=>Be,Matrix2:()=>Cf,Matrix3:()=>Gt,Matrix4:()=>Re,Megatexture:()=>Zne,MeshParser:()=>Ebe,MeshPhongMaterial:()=>q7,MetadataClass:()=>wG,MetadataClassProperty:()=>_Y,MetadataComponentType:()=>ya,MetadataEntity:()=>wl,MetadataEnum:()=>Fye,MetadataEnumValue:()=>Lye,MetadataPipelineStage:()=>pD,MetadataSchema:()=>_3,MetadataSchemaLoader:()=>Zie,MetadataSemantic:()=>tre,MetadataTable:()=>cR,MetadataTableProperty:()=>gye,MetadataType:()=>Zo,MipmapHint:()=>eG,Model:()=>mp,Model3DTileContent:()=>S2,ModelAlphaOptions:()=>w_e,ModelAnimation:()=>AIe,ModelAnimationChannel:()=>lIe,ModelAnimationCollection:()=>cIe,ModelAnimationLoop:()=>oD,ModelAnimationState:()=>R2,ModelArticulation:()=>SIe,ModelArticulationStage:()=>QIe,ModelClippingPlanesPipelineStage:()=>MIe,ModelColorPipelineStage:()=>G9,ModelComponents:()=>jo,ModelDrawCommand:()=>CIe,ModelFeature:()=>hIe,ModelFeatureTable:()=>dIe,ModelFlattenPipelineStage:()=>H_e,ModelGraphics:()=>eY,ModelLightingOptions:()=>k_e,ModelMatrixUpdateStage:()=>OIe,ModelNode:()=>PIe,ModelRenderResources:()=>T_e,ModelRuntimeNode:()=>GIe,ModelRuntimePrimitive:()=>__e,ModelSceneGraph:()=>V_e,ModelSilhouettePipelineStage:()=>R_e,ModelSkin:()=>B_e,ModelSplitterPipelineStage:()=>F_e,ModelStatistics:()=>z_e,ModelType:()=>cd,ModelUtility:()=>Vs,ModelVisualizer:()=>JBe,Moon:()=>Qwe,MorphTargetsPipelineStage:()=>A_e,MorphWeightSpline:()=>zit,MortonOrder:()=>E4,MultiResourceImageryProvider:()=>bie,MultiResourceTerrainProvider:()=>Qie,Multiple3DTileContent:()=>ave,MultisampleFramebuffer:()=>jye,NavigationControl:()=>I8,NavigationHelpButton:()=>hSe,NavigationHelpButtonViewModel:()=>cSe,NavigationUtils:()=>_8,NavigationViewModel:()=>X7,NearFarScalar:()=>Eo,NeverTileDiscardPolicy:()=>pnt,NodeRenderResources:()=>N_e,NodeStatisticsPipelineStage:()=>UIe,NodeTransformationProperty:()=>Zte,OBJLoader:()=>_be,OBJPrimitive:()=>One,OIT:()=>zwe,Occluder:()=>_ie,OctahedralProjectedCubeMap:()=>PN,OffsetGeometryInstanceAttribute:()=>xf,OlMVTImageryProvider:()=>Sie,OpenCageGeocoderService:()=>Yit,OpenStreetMapImageryProvider:()=>fN,OrderedGroundPrimitiveCollection:()=>xBe,OrientedBoundingBox:()=>Lu,OrthographicFrustum:()=>us,OrthographicOffCenterFrustum:()=>Xf,Packable:()=>Jit,PackableForInterpolation:()=>Kit,Particle:()=>Hne,ParticleBurst:()=>D8,ParticleEmitter:()=>Ent,ParticleSystem:()=>Iv,Pass:()=>Yi,PassState:()=>x0,PathGraphics:()=>tY,PathVisualizer:()=>KBe,PeliasGeocoderService:()=>cbe,PerInstanceColorAppearance:()=>La,PerformanceDisplay:()=>yJ,PerformanceWatchdog:()=>gSe,PerformanceWatchdogViewModel:()=>fSe,PerspectiveFrustum:()=>fu,PerspectiveOffCenterFrustum:()=>rQ,PerspectiveProjectionMap:()=>pY,PerspectiveProjectionMapShader:()=>T7,PerspectiveProjectionMapWithDepth:()=>mY,PerspectiveProjectionMapWithDepthShader:()=>X2,PickDepth:()=>kwe,PickDepthFramebuffer:()=>Ywe,PickFramebuffer:()=>Jwe,Picking:()=>Xwe,PickingPipelineStage:()=>c_e,PinBuilder:()=>oY,PixelDatatype:()=>$r,PixelFormat:()=>rn,Plane:()=>ca,PlaneGeometry:()=>wBe,PlaneGeometryUpdater:()=>SBe,PlaneGraphics:()=>qEe,PlaneOutlineGeometry:()=>bBe,PntsLoader:()=>Cre,PntsParser:()=>mre,PointCloud:()=>MQe,PointCloudEyeDomeLighting:()=>kY,PointCloudShading:()=>DG,PointCloudStylingPipelineStage:()=>d_e,PointGraphics:()=>eie,PointLight:()=>CY,PointPrimitive:()=>EC,PointPrimitiveCollection:()=>Uz,PointVisualizer:()=>WBe,PolygonDepth:()=>m4,PolygonDepthFS:()=>cre,PolygonDepthVS:()=>hre,PolygonGeometry:()=>mA,PolygonGeometryLibrary:()=>ml,PolygonGeometryUpdater:()=>TBe,PolygonGraphics:()=>ks,PolygonHierarchy:()=>yn,PolygonOutlineGeometry:()=>DBe,PolygonPipeline:()=>MA,Polyline:()=>eQ,PolylineArrowMaterialProperty:()=>DD,PolylineCollection:()=>lR,PolylineColorAppearance:()=>l0,PolylineDashMaterialProperty:()=>Zs,PolylineGeometry:()=>iI,PolylineGeometryUpdater:()=>jBe,PolylineGlowMaterialProperty:()=>hee,PolylineGraphics:()=>Sb,PolylineMaterialAppearance:()=>ip,PolylineOutlineMaterialProperty:()=>MD,PolylinePipeline:()=>cc,PolylineTrailLinkMaterialProperty:()=>VKe,PolylineVisualizer:()=>XBe,PolylineVolumeGeometry:()=>MBe,PolylineVolumeGeometryLibrary:()=>FN,PolylineVolumeGeometryUpdater:()=>RBe,PolylineVolumeGraphics:()=>tie,PolylineVolumeOutlineGeometry:()=>PBe,PositionProperty:()=>$z,PositionPropertyArray:()=>s4,PostProcessStage:()=>wa,PostProcessStageCollection:()=>y1e,PostProcessStageComposite:()=>dp,PostProcessStageLibrary:()=>aE,PostProcessStageSampleMode:()=>uE,PostProcessStageTextureCache:()=>Ine,Primitive:()=>ra,PrimitiveCollection:()=>X_,PrimitiveLoadPlan:()=>NY,PrimitiveOutlineGenerator:()=>ore,PrimitiveOutlinePipelineStage:()=>p_e,PrimitivePipeline:()=>yN,PrimitiveRenderResources:()=>O_e,PrimitiveState:()=>gf,PrimitiveStatisticsPipelineStage:()=>m_e,PrimitiveType:()=>on,ProjectionPicker:()=>mSe,ProjectionPickerViewModel:()=>pSe,Property:()=>Bt,PropertyArray:()=>Vre,PropertyAttribute:()=>rre,PropertyAttributeProperty:()=>Hye,PropertyBag:()=>Qb,PropertyTable:()=>fR,PropertyTexture:()=>ire,PropertyTextureProperty:()=>Uye,ProviderViewModel:()=>Ig,Proxy:()=>qit,QuadraticRealPolynomial:()=>qB,QuadtreeOccluders:()=>Mie,QuadtreePrimitive:()=>Fw,QuadtreePrimitivezh:()=>jKe,QuadtreeTile:()=>EY,QuadtreeTileLoadState:()=>Hh,QuadtreeTileProvider:()=>KJ,QuantizedMeshTerrainData:()=>Sne,QuarticRealPolynomial:()=>PEe,Quaternion:()=>fr,QuaternionSpline:()=>aIe,Queue:()=>bN,RasterizeHtml:()=>_G,Ray:()=>Ua,Rectangle:()=>gi,RectangleCollisionChecker:()=>qre,RectangleGeometry:()=>oJ,RectangleGeometryLibrary:()=>Xp,RectangleGeometryUpdater:()=>OBe,RectangleGraphics:()=>gG,RectangleOutlineGeometry:()=>vre,RectangularSensor:()=>Az,RectangularSensorFS:()=>Fee,RectangularSensorGraphics:()=>Vnt,RectangularSensorPrimitive:()=>zbe,RectangularSensorScanPlaneFS:()=>Vbe,RectangularSensorVS:()=>Yne,RectangularSensorVisualizer:()=>Ybe,ReferenceFrame:()=>yf,ReferenceProperty:()=>uY,RegionWeather:()=>zne,RenderEntity:()=>bJ,RenderObjectFactory:()=>sA,RenderState:()=>Xr,Renderbuffer:()=>Zy,RenderbufferFormat:()=>_x,Request:()=>lp,RequestErrorEvent:()=>CN,RequestScheduler:()=>W_,RequestState:()=>Ju,RequestType:()=>II,ResetViewNavigationControl:()=>Qbe,Resource:()=>Cr,ResourceCache:()=>gc,ResourceCacheKey:()=>gv,ResourceCacheStatistics:()=>kye,ResourceLoader:()=>im,ResourceLoaderState:()=>xo,Rotation:()=>Rb,RuntimeError:()=>ki,S2Cell:()=>Q5,S3MCacheFileRenderEntity:()=>az,S3MCompressType:()=>znt,S3MContentFactory:()=>jbe,S3MContentParser:()=>qbe,S3MCreateIndexJob:()=>z1e,S3MCreateVertexJob:()=>H1e,S3MDataSource:()=>yXe,S3MLayerCache:()=>Xbe,S3MLayerScheduler:()=>Zbe,S3MPixelFormat:()=>Ynt,S3MTile:()=>eQe,S3MTilesFS:()=>U1e,S3MTilesLayer:()=>Jne,S3MTilesVS:()=>O1e,S3ModelParser:()=>$be,SDFSettings:()=>sE,SampledPositionProperty:()=>N_,SampledProperty:()=>rD,Sampler:()=>Oa,ScaledPositionProperty:()=>CG,Scene:()=>W1e,SceneFramebuffer:()=>Cne,SceneMode:()=>ni,SceneMode2DPipelineStage:()=>C_e,SceneModePicker:()=>ESe,SceneModePickerViewModel:()=>CSe,SceneTransforms:()=>ms,SceneTransitioner:()=>b1e,ScreenSpaceCameraController:()=>R1e,ScreenSpaceEventHandler:()=>cr,ScreenSpaceEventType:()=>si,SelectedFeatureIdPipelineStage:()=>H9,SelectionIndicator:()=>ySe,SelectionIndicatorViewModel:()=>xSe,Sensor:()=>Brt,ShaderBuilder:()=>gre,ShaderCache:()=>vve,ShaderDestination:()=>Ki,ShaderFunction:()=>D_e,ShaderProgram:()=>qa,ShaderSource:()=>_r,ShaderStruct:()=>Q_e,ShadowMap:()=>uT,ShadowMapShader:()=>uP,ShadowMode:()=>Ns,ShadowVolumeAppearance:()=>AD,ShowGeometryInstanceAttribute:()=>Yl,Simon1994PlanetaryPositions:()=>z9,SimplePolylineGeometry:()=>Xit,SingleTileImageryProvider:()=>Cv,SkinningPipelineStage:()=>x_e,SkyAtmosphere:()=>SJ,SkyBox:()=>Y3,SpatialNode:()=>PQe,SphereEmitter:()=>T8,SphereGeometry:()=>Zit,SphereOutlineGeometry:()=>$D,Spherical:()=>gBe,Spline:()=>Yh,SplitDirection:()=>sT,Splitter:()=>$ne,SpotLight:()=>_Xe,StaticGeometryColorBatch:()=>aD,StaticGeometryPerMaterialBatch:()=>sD,StaticGroundGeometryColorBatch:()=>Cee,StaticGroundGeometryPerMaterialBatch:()=>UBe,StaticGroundPolylinePerMaterialBatch:()=>qBe,StaticOutlineGeometryBatch:()=>Eee,StencilConstants:()=>ia,StencilFunction:()=>du,StencilOperation:()=>jn,SteppedSpline:()=>oIe,StripeMaterialProperty:()=>dee,StripeOrientation:()=>FP,StructuralMetadata:()=>aT,StyleCommandsNeeded:()=>RN,StyleExpression:()=>Int,Sun:()=>j1e,SunLight:()=>KG,SunPostProcess:()=>N1e,SupportedImageFormats:()=>Kye,SvgPathBindingHandler:()=>HQe,TaskProcessor:()=>hd,Terrain:()=>LQe,TerrainData:()=>P3,TerrainEncoding:()=>OD,TerrainExaggeration:()=>mb,TerrainFillMesh:()=>hne,TerrainFlatten:()=>bT,TerrainFlattenPolygonTexture:()=>q1e,TerrainMesh:()=>R3,TerrainOffsetProperty:()=>kre,TerrainProvider:()=>uC,TerrainQuantization:()=>fE,TerrainRegionWeather:()=>Hbe,TerrainState:()=>wc,Texture:()=>Nn,Texture3D:()=>Mve,TextureAtlas:()=>o9,TextureCache:()=>Bve,TextureMagnificationFilter:()=>Wu,TextureManager:()=>wEe,TextureMinificationFilter:()=>Ba,TextureUniform:()=>vEe,TextureWrap:()=>Vo,TileAvailability:()=>gP,TileBoundingRegion:()=>LD,TileBoundingS2Cell:()=>lve,TileBoundingSphere:()=>pT,TileBoundingVolume:()=>_nt,TileCoordinatesImageryProvider:()=>FQe,TileDiscardPolicy:()=>vnt,TileEdge:()=>ka,TileImagery:()=>Ane,TileMapServiceImageryProvider:()=>Lw,TileMetadata:()=>rve,TileOrientedBoundingBox:()=>DP,TileProviderError:()=>yh,TileReplacementQueue:()=>Rie,TileSelectionResult:()=>Xo,TileState:()=>Bnt,Tileset3DTileContent:()=>Y_e,TilesetMetadata:()=>Ave,TilesetPipelineStage:()=>vIe,TilesetRegionWeather:()=>Gbe,TilingScheme:()=>$it,TimeConstants:()=>lu,TimeDynamicImagery:()=>lne,TimeDynamicPointCloud:()=>eoe,TimeInterval:()=>ws,TimeIntervalCollection:()=>lC,TimeIntervalCollectionPositionProperty:()=>S4,TimeIntervalCollectionProperty:()=>l4,TimeStandard:()=>_l,Timeline:()=>vSe,TimelineHighlightRange:()=>ISe,TimelineTrack:()=>_Se,Tipsify:()=>VEe,ToggleButtonViewModel:()=>g5,Tonemapper:()=>J5,Transforms:()=>kr,TranslationRotationScale:()=>_I,TranslucentTileClassification:()=>Kwe,TridiagonalSystemSolver:()=>sre,TrustedServers:()=>vte,TweenCollection:()=>Bne,UniformState:()=>bve,UniformType:()=>Ko,UrlTemplateGeojsonProvider:()=>wXe,UrlTemplateImageryProvider:()=>Hx,UserInterfaceControl:()=>Gne,Utils:()=>vw,VERSION:()=>xot,VRButton:()=>wSe,VRButtonViewModel:()=>BSe,VRTheWorldTerrainProvider:()=>rrt,VaryingType:()=>cC,Vector3DTileBatch:()=>f4,Vector3DTileClampedPolylines:()=>X_e,Vector3DTileContent:()=>eve,Vector3DTileGeometry:()=>OF,Vector3DTilePoints:()=>J_e,Vector3DTilePolygons:()=>K_e,Vector3DTilePolylines:()=>xre,Vector3DTilePrimitive:()=>Oie,VelocityOrientationProperty:()=>pBe,VelocityVectorProperty:()=>zre,VertexArray:()=>hu,VertexArrayFacade:()=>Oz,VertexAttributeSemantic:()=>Bo,VertexCompressOption:()=>w_,VertexFormat:()=>Pr,VerticalOrigin:()=>hn,VideoSynchronizer:()=>ert,View:()=>d8,ViewShed:()=>Vje,ViewShedMap:()=>JG,ViewShedMapShader:()=>hP,Viewer:()=>_oe,ViewportQuad:()=>ioe,Visibility:()=>rA,Visualizer:()=>q$e,VolumeCloud:()=>noe,VoxelBoxShape:()=>YN,VoxelContent:()=>CQe,VoxelCylinderShape:()=>JN,VoxelEllipsoidShape:()=>VJ,VoxelInspector:()=>QSe,VoxelInspectorViewModel:()=>bSe,VoxelPrimitive:()=>roe,VoxelProvider:()=>Pnt,VoxelRenderResources:()=>fQe,VoxelShape:()=>Rnt,VoxelShapeType:()=>YA,VoxelTraversal:()=>Yee,VulkanConstants:()=>nrt,WallGeometry:()=>GBe,WallGeometryLibrary:()=>Xre,WallGeometryUpdater:()=>VBe,WallGraphics:()=>iY,WallOutlineGeometry:()=>HBe,WaterFS:()=>kxe,WaterMaterialProperty:()=>PXe,WebGLConstants:()=>li,WebMapServiceImageryProvider:()=>A8,WebMapTileServiceImageryProvider:()=>F3,WebMercatorProjection:()=>ec,WebMercatorTilingScheme:()=>Zf,WindingOrder:()=>dI,WireframeIndexGenerator:()=>fre,WireframePipelineStage:()=>I_e,ZoomNavigationControl:()=>Pee,_shadersAcesTonemappingStage:()=>Zwe,_shadersAdditiveBlend:()=>L1e,_shadersAdjustTranslucentFS:()=>eee,_shadersAllMaterialAppearanceFS:()=>bxe,_shadersAllMaterialAppearanceVS:()=>Qxe,_shadersAmbientOcclusionGenerate:()=>$we,_shadersAmbientOcclusionModulate:()=>e1e,_shadersAspectRampMaterial:()=>q0e,_shadersAtmosphereCommon:()=>I4,_shadersBasicMaterialAppearanceFS:()=>Sxe,_shadersBasicMaterialAppearanceVS:()=>Dxe,_shadersBillboardCollectionFS:()=>lEe,_shadersBillboardCollectionVS:()=>uEe,_shadersBlackAndWhite:()=>t1e,_shadersBloomComposite:()=>i1e,_shadersBrdfLutGeneratorFS:()=>Pve,_shadersBrightPass:()=>F1e,_shadersBrightness:()=>r1e,_shadersBumpMapMaterial:()=>X0e,_shadersCPUStylingStageFS:()=>JIe,_shadersCPUStylingStageVS:()=>YIe,_shadersCheckFloatTexturePrecisionFS:()=>UXe,_shadersCheckerboardMaterial:()=>Z0e,_shadersCloudCollectionFS:()=>Rve,_shadersCloudCollectionVS:()=>Lve,_shadersCloudNoiseFS:()=>Fve,_shadersCloudNoiseVS:()=>Nve,_shadersCompareAndPackTranslucentDepth:()=>kve,_shadersCompositeOITFS:()=>Ove,_shadersCompositeTranslucentClassification:()=>z7,_shadersContrastBias:()=>n1e,_shadersCustomShaderStageFS:()=>jIe,_shadersCustomShaderStageVS:()=>WIe,_shadersCzmBuiltins:()=>E7,_shadersDepthOfField:()=>o1e,_shadersDepthPlaneFS:()=>Uve,_shadersDepthPlaneVS:()=>Gve,_shadersDepthView:()=>a1e,_shadersDepthViewPacked:()=>Lnt,_shadersDotMaterial:()=>$0e,_shadersEdgeDetection:()=>s1e,_shadersElevationBandMaterial:()=>epe,_shadersElevationContourMaterial:()=>tpe,_shadersElevationRampMaterial:()=>ipe,_shadersEllipsoidFS:()=>tee,_shadersEllipsoidSurfaceAppearanceFS:()=>Pxe,_shadersEllipsoidSurfaceAppearanceVS:()=>Rxe,_shadersEllipsoidVS:()=>iee,_shadersFXAA:()=>u1e,_shadersFXAA3_11:()=>Hve,_shadersFadeMaterial:()=>rpe,_shadersFeatureIdStageFS:()=>qIe,_shadersFeatureIdStageVS:()=>XIe,_shadersFilmicTonemapping:()=>l1e,_shadersGaussianBlur1D:()=>oz,_shadersGaussianBlur1DSun:()=>m1e,_shadersGeometryStageFS:()=>i_e,_shadersGeometryStageVS:()=>r_e,_shadersGlobeFS:()=>Vve,_shadersGlobeVS:()=>zve,_shadersGridMaterial:()=>npe,_shadersGroundAtmosphere:()=>ree,_shadersHSBToRGB:()=>oCe,_shadersHSLToRGB:()=>aCe,_shadersImageBasedLightingStageFS:()=>BIe,_shadersInstancingStageCommon:()=>RIe,_shadersInstancingStageVS:()=>LIe,_shadersIntersectBox:()=>aQe,_shadersIntersectClippingPlanes:()=>oQe,_shadersIntersectCylinder:()=>sQe,_shadersIntersectDepth:()=>nQe,_shadersIntersectEllipsoid:()=>lQe,_shadersIntersection:()=>Z7,_shadersIntersectionUtils:()=>rQe,_shadersLegacyInstancingStageVS:()=>FIe,_shadersLensFlare:()=>A1e,_shadersLightingStageFS:()=>o_e,_shadersMaterialStageFS:()=>s_e,_shadersMegatexture:()=>dQe,_shadersMetadataStageFS:()=>ZIe,_shadersMetadataStageVS:()=>$Ie,_shadersModelClippingPlanesStageFS:()=>TIe,_shadersModelColorStageFS:()=>DIe,_shadersModelFS:()=>fIe,_shadersModelFlattenStageFS:()=>G_e,_shadersModelFlattenStageVS:()=>U_e,_shadersModelSilhouetteStageFS:()=>M_e,_shadersModelSilhouetteStageVS:()=>P_e,_shadersModelSplitterStageFS:()=>L_e,_shadersModelVS:()=>gIe,_shadersModifiedReinhardTonemapping:()=>c1e,_shadersMorphTargetsStageVS:()=>u_e,_shadersNightVision:()=>h1e,_shadersNormalMapMaterial:()=>ope,_shadersOctahedralProjectionAtlasFS:()=>oye,_shadersOctahedralProjectionFS:()=>aye,_shadersOctahedralProjectionVS:()=>sye,_shadersOctree:()=>hQe,_shadersPassThrough:()=>HD,_shadersPassThroughDepth:()=>nz,_shadersPerInstanceColorAppearanceFS:()=>KEe,_shadersPerInstanceColorAppearanceVS:()=>WEe,_shadersPerInstanceFlatColorAppearanceFS:()=>Vte,_shadersPerInstanceFlatColorAppearanceVS:()=>jEe,_shadersPointCloudEyeDomeLighting:()=>qye,_shadersPointCloudStylingStageVS:()=>h_e,_shadersPointPrimitiveCollectionFS:()=>r5,_shadersPointPrimitiveCollectionVS:()=>hEe,_shadersPolylineArrowMaterial:()=>ape,_shadersPolylineColorAppearanceVS:()=>OEe,_shadersPolylineCommon:()=>c3,_shadersPolylineDashMaterial:()=>spe,_shadersPolylineFS:()=>zte,_shadersPolylineGlowMaterial:()=>lpe,_shadersPolylineMaterialAppearanceVS:()=>UEe,_shadersPolylineOutlineMaterial:()=>upe,_shadersPolylineShadowVolumeFS:()=>LEe,_shadersPolylineShadowVolumeMorphFS:()=>FEe,_shadersPolylineShadowVolumeMorphVS:()=>NEe,_shadersPolylineShadowVolumeVS:()=>kEe,_shadersPolylineVS:()=>Lxe,_shadersPostProcessRain:()=>Fnt,_shadersPostProcessSnow:()=>Nnt,_shadersPrimitiveOutlineStageFS:()=>g_e,_shadersPrimitiveOutlineStageVS:()=>f_e,_shadersRGBToHSB:()=>MCe,_shadersRGBToHSL:()=>PCe,_shadersRGBToXYZ:()=>RCe,_shadersReinhardTonemapping:()=>d1e,_shadersReprojectWebMercatorFS:()=>Yve,_shadersReprojectWebMercatorVS:()=>Jve,_shadersRimLightingMaterial:()=>Ape,_shadersSelectedFeatureIdStageCommon:()=>J$,_shadersShadowVolumeAppearanceFS:()=>Kte,_shadersShadowVolumeAppearanceVS:()=>JEe,_shadersShadowVolumeFS:()=>d9,_shadersSilhouette:()=>f1e,_shadersSkinningStageVS:()=>E_e,_shadersSkyAtmosphereCommon:()=>nee,_shadersSkyAtmosphereFS:()=>Kve,_shadersSkyAtmosphereVS:()=>Wve,_shadersSkyBoxFS:()=>jve,_shadersSkyBoxVS:()=>qve,_shadersSlopeRampMaterial:()=>cpe,_shadersStripeMaterial:()=>hpe,_shadersSunFS:()=>Xve,_shadersSunShaft:()=>knt,_shadersSunShaftHdr:()=>Ont,_shadersSunShaftModulate:()=>p1e,_shadersSunTextureFS:()=>Zve,_shadersSunTextureFS_v2:()=>GXe,_shadersSunVS:()=>eBe,_shadersSunVisibleFS:()=>$ve,_shadersSunVisibleShaft:()=>C1e,_shadersSunVisibleVS:()=>IIe,_shadersTexturedMaterialAppearanceFS:()=>Txe,_shadersTexturedMaterialAppearanceVS:()=>Mxe,_shadersVector3DTileClampedPolylinesFS:()=>q_e,_shadersVector3DTileClampedPolylinesVS:()=>j_e,_shadersVector3DTilePolylinesVS:()=>W_e,_shadersVectorTileVS:()=>P$,_shadersViewportQuadFS:()=>tBe,_shadersViewportQuadVS:()=>Lre,_shadersVoxelFS:()=>tQe,_shadersVoxelVS:()=>iQe,_shadersWater:()=>dpe,_shadersXYZToRGB:()=>nEe,_shadersacesTonemapping:()=>Sme,_shadersalphaWeight:()=>Dme,_shadersantialias:()=>Tme,_shadersapproximateSphericalCoordinates:()=>Mme,_shadersbackFacing:()=>Pme,_shadersbranchFreeTernary:()=>Rme,_shaderscascadeColor:()=>Lme,_shaderscascadeDistance:()=>Fme,_shaderscascadeMatrix:()=>Nme,_shaderscascadeWeights:()=>kme,_shaderscolumbusViewMorph:()=>Ome,_shaderscomputePosition:()=>Ume,_shadersconvertUvToBox:()=>uQe,_shadersconvertUvToCylinder:()=>AQe,_shadersconvertUvToEllipsoid:()=>cQe,_shaderscosineAndSine:()=>Gme,_shadersdecompressTextureCoordinates:()=>Hme,_shadersdefaultPbrMaterial:()=>Vme,_shadersdegreesPerRadian:()=>Fpe,_shadersdepthClamp:()=>zme,_shadersdepthRange:()=>Npe,_shadersdepthRangeStruct:()=>xme,_shaderseastNorthUpToEyeCoordinates:()=>Yme,_shadersellipsoidContainsPoint:()=>Jme,_shadersellipsoidWgs84TextureCoordinates:()=>Kme,_shadersepsilon1:()=>kpe,_shadersepsilon2:()=>Ope,_shadersepsilon3:()=>Upe,_shadersepsilon4:()=>Gpe,_shadersepsilon5:()=>Hpe,_shadersepsilon6:()=>Vpe,_shadersepsilon7:()=>zpe,_shadersequalsEpsilon:()=>Wme,_shaderseyeOffset:()=>jme,_shaderseyeToWindowCoordinates:()=>qme,_shadersfastApproximateAtan:()=>Xme,_shadersfog:()=>Zme,_shadersgammaCorrect:()=>$me,_shadersgeodeticSurfaceNormal:()=>eCe,_shadersgetDefaultMaterial:()=>tCe,_shadersgetLambertDiffuse:()=>iCe,_shadersgetSpecular:()=>rCe,_shadersgetWaterNoise:()=>nCe,_shadershue:()=>sCe,_shadersinfinity:()=>Ype,_shadersinverseGamma:()=>lCe,_shadersisEmpty:()=>uCe,_shadersisFull:()=>ACe,_shaderslatitudeToWebMercatorFraction:()=>cCe,_shaderslineDistance:()=>dCe,_shaderslinearToSrgb:()=>hCe,_shadersluminance:()=>fCe,_shadersmaterial:()=>yme,_shadersmaterialInput:()=>Ime,_shadersmetersPerPixel:()=>gCe,_shadersmodelMaterial:()=>_me,_shadersmodelToWindowCoordinates:()=>pCe,_shadersmodelVertexOutput:()=>vme,_shadersmultiplyWithColorBalance:()=>mCe,_shadersnearFarScalar:()=>CCe,_shadersoctDecode:()=>ECe,_shadersoneOverPi:()=>Jpe,_shadersoneOverTwoPi:()=>Kpe,_shaderspackDepth:()=>xCe,_shaderspassCesium3DTile:()=>Wpe,_shaderspassCesium3DTileClassification:()=>jpe,_shaderspassCesium3DTileClassificationIgnoreShow:()=>qpe,_shaderspassClassification:()=>Xpe,_shaderspassCompute:()=>Zpe,_shaderspassEnvironment:()=>$pe,_shaderspassGlobe:()=>eme,_shaderspassOpaque:()=>tme,_shaderspassOverlay:()=>ime,_shaderspassTerrainClassification:()=>rme,_shaderspassTranslucent:()=>nme,_shaderspassVoxels:()=>ome,_shaderspbrLighting:()=>yCe,_shaderspbrMetallicRoughnessMaterial:()=>ICe,_shaderspbrParameters:()=>Bme,_shaderspbrSpecularGlossinessMaterial:()=>_Ce,_shadersphong:()=>vCe,_shaderspi:()=>ame,_shaderspiOverFour:()=>sme,_shaderspiOverSix:()=>lme,_shaderspiOverThree:()=>ume,_shaderspiOverTwo:()=>Ame,_shadersplaneDistance:()=>BCe,_shaderspointAlongRay:()=>wCe,_shadersradiansPerDegree:()=>cme,_shadersray:()=>wme,_shadersrayEllipsoidIntersectionInterval:()=>bCe,_shadersraySegment:()=>bme,_shadersraySphereIntersectionInterval:()=>QCe,_shadersreadDepth:()=>SCe,_shadersreadNonPerspective:()=>DCe,_shadersreverseLogDepth:()=>TCe,_shadersround:()=>LCe,_shaderssampleOctahedralProjection:()=>FCe,_shaderssaturation:()=>NCe,_shaderssceneMode2D:()=>hme,_shaderssceneMode3D:()=>dme,_shaderssceneModeColumbusView:()=>fme,_shaderssceneModeMorphing:()=>gme,_shadersshadowDepthCompare:()=>kCe,_shadersshadowParameters:()=>Qme,_shadersshadowVisibility:()=>OCe,_shaderssignNotZero:()=>UCe,_shaderssolarRadius:()=>pme,_shaderssphericalHarmonics:()=>GCe,_shaderssrgbToLinear:()=>HCe,_shaderstangentToEyeSpaceMatrix:()=>VCe,_shaderstextureCube:()=>zCe,_shadersthreePiOver2:()=>mme,_shaderstransformPlane:()=>YCe,_shaderstranslateRelativeToEye:()=>JCe,_shaderstranslucentPhong:()=>KCe,_shaderstranspose:()=>WCe,_shaderstwoPi:()=>Cme,_shadersunpackDepth:()=>jCe,_shadersunpackFloat:()=>qCe,_shadersunpackUint:()=>XCe,_shadersvalueTransform:()=>ZCe,_shadersvertexLogDepth:()=>$Ce,_shaderswebMercatorMaxLatitude:()=>Eme,_shaderswindowToEyeCoordinates:()=>eEe,_shaderswriteDepthClamp:()=>tEe,_shaderswriteLogDepth:()=>iEe,_shaderswriteNonPerspective:()=>rEe,addBuffer:()=>wye,addDefaults:()=>Cye,addExtensionsRequired:()=>_ye,addExtensionsUsed:()=>I3,addPipelineExtras:()=>bY,addToArray:()=>$y,appendForwardSlash:()=>G0e,arrayRemoveDuplicates:()=>up,barycentricCoordinates:()=>Jte,binarySearch:()=>d0,buildDrawCommand:()=>_Ie,buildModuleUrl:()=>ja,buildVoxelDrawCommands:()=>pQe,clone:()=>Sn,combine:()=>So,computeFlyToLocationForRectangle:()=>Kne,createBillboardPointCallback:()=>Ere,createBlurStage:()=>Lee,createCommand:()=>Xs,createDefaultImageryProviderViewModels:()=>ZQe,createDefaultTerrainProviderViewModels:()=>$Qe,createEdgeStage:()=>v8,createElevationBandMaterial:()=>int,createFragmentFromTemplate:()=>vbe,createGooglePhotorealistic3DTileset:()=>rnt,createGuid:()=>Rl,createMaterialPropertyDescriptor:()=>$p,createOsmBuildings:()=>nnt,createOsmBuildingsAsync:()=>ont,createPropertyDescriptor:()=>fi,createRawPropertyDescriptor:()=>zy,createTangentSpaceDebugPrimitive:()=>ant,createTaskProcessorWorker:()=>Jnt,createUniform:()=>Ppe,createUniformArray:()=>Lpe,createWorldImagery:()=>snt,createWorldImageryAsync:()=>z5,createWorldTerrain:()=>wit,createWorldTerrainAsync:()=>Tne,decodeGoogleEarthEnterpriseData:()=>abe,decodeVectorPolylinePositions:()=>Z_e,defaultValue:()=>oe,defer:()=>Mc,defined:()=>O,demodernizeShader:()=>oEe,deprecationWarning:()=>ii,destroyObject:()=>Ar,exportKml:()=>z$e,fflate_module:()=>Cbe,findAccessorMinMax:()=>SY,findContentMetadata:()=>Ire,findGroupMetadata:()=>_re,findTileMetadata:()=>ove,forEachTextureInMaterial:()=>Kie,formatError:()=>F4,fragment:()=>Hje,freezeRenderState:()=>qVe,getAbsoluteUri:()=>Pz,getAccessorByteStride:()=>dR,getBaseUri:()=>V0e,getBinaryAccessor:()=>cD,getClipAndStyleCode:()=>wQe,getClippingFunction:()=>hJ,getComponentReader:()=>QY,getElement:()=>tc,getExtensionFromUri:()=>Cte,getFilenameFromUri:()=>nY,getImageFromTypedArray:()=>BEe,getImagePixels:()=>mN,getJsonFromTypedArray:()=>em,getMagic:()=>BG,getStringFromTypedArray:()=>hQ,getTimestamp:()=>oA,hasExtension:()=>rc,heightReferenceOnEntityPropertyChanged:()=>eJ,isBitSet:()=>cI,isBlobUri:()=>Ete,isCrossOriginUrl:()=>xte,isDataUri:()=>Rz,isLeapYear:()=>X5,knockout:()=>qi,knockout_3_5_1:()=>QT,knockout_es5:()=>GQe,libgif:()=>Wxe,loadAndExecuteScript:()=>yte,loadCRN:()=>Hit,loadCubeMap:()=>Tve,loadDDS:()=>Bte,loadImageFromTypedArray:()=>Vie,loadKTX2:()=>$P,loadView:()=>Une,mergeSort:()=>h8,moveTechniqueRenderStates:()=>Iye,moveTechniquesToExtension:()=>vye,numberOfComponentsForType:()=>y3,objectToQuery:()=>Ite,oneTimeWarning:()=>$o,packer:()=>SEe,parseBatchTable:()=>GY,parseBoundingVolumeSemantics:()=>Oye,parseDefines:()=>Fbe,parseFeatureMetadataLegacy:()=>Yye,parseGlb:()=>xye,parseResponseHeaders:()=>z0e,parseStructuralMetadata:()=>zye,pointInsideTriangle:()=>Wit,preprocess3DTileContent:()=>UG,processVoxelProperties:()=>gQe,queryToObject:()=>fb,rasterizeHTML_allinone:()=>nye,readAccessorPacked:()=>bye,removeExtension:()=>k9,removeExtensionsRequired:()=>Eye,removeExtensionsUsed:()=>Jie,removePipelineExtras:()=>yye,removeUnusedElements:()=>Bye,remove_primitive:()=>uz,resizeImageToNextPowerOfTwo:()=>c9,sampleTerrain:()=>sJ,sampleTerrainMostDetailed:()=>Tw,scaleToGeodeticSurface:()=>bte,subdivideArray:()=>GEe,subscribeAndEvaluate:()=>Ix,svgCompassGyro:()=>Dbe,svgCompassOuterRing:()=>Sbe,svgCompassRotationMarker:()=>Tbe,svgReset:()=>wbe,turf:()=>Ho,updateAccessorComponentTypes:()=>Qye,updateVersion:()=>Sye,usesExtension:()=>Tg,vertex:()=>Gje,viewerCesium3DTilesInspectorMixin:()=>fot,viewerCesiumInspectorMixin:()=>got,viewerCesiumNavigationMixin:()=>_rt,viewerDragDropMixin:()=>pot,viewerPerformanceWatchdogMixin:()=>mot,viewerVoxelInspectorMixin:()=>Eot,webGLConstantToGlslType:()=>ort,wrapFunction:()=>pbe,writeTextToCanvas:()=>l3});function iK(o=!0){this.async=o}iK.prototype.getXmlHttpRequest=function(){if(window.XMLHttpRequest)return new XMLHttpRequest;if(window.ActiveXObject)return new ActiveXObject("MsXml2.XmlHttp")};iK.prototype.includeJsText=function(o,A){if(o!=null){var f=document.createElement("script");f.type="text/javascript",f.text=A,o.appendChild(f)}};iK.prototype.includeJsSrc=function(o,A){if(o!=null){var f=document.createElement("script");f.type="text/javascript",f.src=A,o.appendChild(f)}};iK.prototype.addJs=function(o,A){var f=this.getXmlHttpRequest(),m=this;f.onreadystatechange=function(){f.readyState===4&&(f.status===200||f.status===304?m.includeJsSrc(o,A):console.log("XML request error: "+f.statusText+" ("+f.status+")"))},f.open("GET",A,m.async),f.send(null),f.status===404?console.log(A+" is not found"):m.includeJsText(o,f.responseText)};var Ep=iK;var SDi={testModel:"Workers/Model/xiaoche.glb",modelAxis:"Workers/Model/axis.gltf",flyModel:"Workers/Model/fly.glb",divpoint:"Workers/image/divpoint.png",divpoint1:"Workers/image/divpoint1.png",richtextpoint:"Workers/image/richtextpoint1.png",mark:"Workers/image/mark.png",mark1:"Workers/image/mark1.png",TrailLine:"Workers/image/TrailLine.png",road:"Workers/image/road.jpg",colors3:"Workers/image/colors3.png",loading:"Workers/image/loading.gif",smog:"Workers/image/smog.png",penquan:"Workers/image/penquan.png",fire:"Workers/image/fire.png",fire2:"Workers/image/fire2.png",bottomplane:"Workers/image/bottomplane.jpg",MTY0001:"Workers/image/MTY0001.jpg",MTY0002:"Workers/image/MTY0002.jpg",wall:"Workers/image/ggy.jpg",rotate:"Workers/image/rotate.png",move:"Workers/image/move.png",draw:"Workers/image/cursor/draw.cur",water:"Workers/image/waterNormals.jpg",movingRiver:"Workers/image/movingRiver.png",effectCircle:"Workers/image/circle.png",scanCircle:"Workers/image/scan.png",particles:"Workers/image/particles.png",trafficLight:{l_go:"Workers/image/trafficLights/l-go.png",l_wait:"Workers/image/trafficLights/l-wait.png",l_stop:"Workers/image/trafficLights/l-stop.png",l_null:"Workers/image/trafficLights/l-null.png",go:"Workers/image/trafficLights/go.png",wait:"Workers/image/trafficLights/wait.png",stop:"Workers/image/trafficLights/stop.png",null:"Workers/image/trafficLights/null.png",r_go:"Workers/image/trafficLights/r-go.png",r_wait:"Workers/image/trafficLights/r-wait.png",r_stop:"Workers/image/trafficLights/r-stop.png",r_null:"Workers/image/trafficLights/r-null.png",bg:"Workers/image/trafficLights/bg.png"}},Zr=Object.freeze(SDi);function DDi(o,A){return o??A}var vf=DDi;var Iot=`// author: \u5F20\u4E39\u948A czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 st = materialInput.st; if(twoColor){ if(st.s<time){ material.alpha = color1.a; material.diffuse = color1.rgb; }else{ material.alpha = color2.a; material.diffuse = color2.rgb; } }else if(lightSpot){ if(st.s<time){ material.alpha = pow(st.s / time, 20.0); if(material.alpha<alpha){ material.alpha = alpha; material.diffuse = color.rgb; }else{ material.diffuse = lightSpotColor.rgb; } }else{ material.alpha = alpha; material.diffuse = color.rgb; } }else{ vec4 colorImage = texture(image, vec2(fract(st.s - time), st.t)); material.alpha = colorImage.a * color.a; material.diffuse = (colorImage.rgb + color.rgb) / 2.0; } return material; }`;var _ot=`// author: \u5F20\u4E39\u948A uniform vec4 color; uniform vec4 color1; uniform vec4 color2; uniform vec4 lightSpotColor; uniform sampler2D image; uniform bool twoColor; uniform bool lightSpot; uniform float alpha; uniform float intervalTime; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 st = materialInput.st; float time = fract(czm_frameNumber / (60.0 * intervalTime)); if(twoColor){ if(st.s < time){ material.alpha = color1.a; material.diffuse = color1.rgb; }else{ material.alpha = color2.a; material.diffuse = color2.rgb; } }else if(lightSpot){ if(st.s<time){ material.alpha = pow(st.s / time, 20.0); if(material.alpha<alpha){ material.alpha = alpha; material.diffuse = color.rgb; }else{ material.diffuse = lightSpotColor.rgb; } }else{ material.alpha = alpha; material.diffuse = color.rgb; } }else{ vec4 colorImage = texture(image, vec2(fract(st.s - time), st.t)); material.alpha = colorImage.a * color.a; material.diffuse = (colorImage.rgb + color.rgb)/2.0; } return material; }`;var rh=null;function DT(o,A,f,m){rh=m,TDi(),this._definitionChanged=new rh.Event,this._color=void 0,this._colorSubscription=void 0,this.color=rh.Color.fromCssColorString(o||"#ffffff"),this._Line=A||rh.Material.PolylineTrailLinkImage,this.duration=f||3e3,this.alpha=.3,this._time=new Date().getTime(),typeof this._Line=="object"&&(this._Line.LightSpot?this._Line.color=rh.Color.fromCssColorString(this._Line.color):(this._Line.color1=rh.Color.fromCssColorString(this._Line.color1),this._Line.color2=rh.Color.fromCssColorString(this._Line.color2))),this.isConstant=!1,this.definitionChanged=this._definitionChanged,this.color=rh.createPropertyDescriptor("color")}DT.prototype.getType=function(o){return"PolylineTrailLink"};DT.prototype.setScale=function(o){this.scale=o};DT.prototype.getValue=function(o,A){return rh.defined(A)||(A={}),A.color=rh.Property.getValueOrClonedDefault(this._color,o,rh.Color.WHITE,A.color),typeof this._Line=="object"?this._Line.LightSpot?(A.lightSpot=!0,A.lightSpotColor=this._Line.color):(A.color1=this._Line.color1,A.color2=this._Line.color2,A.twoColor=!0):A.image=this._Line,this.scale!==void 0?A.time=this.scale:A.time=(new Date().getTime()-this._time)%this.duration/this.duration,A.alpha=this.alpha,A};DT.prototype.equals=function(o){return this===o||o instanceof DT&&rh.Property.equals(this._color,o._color)};function TDi(){return rh.PolylineTrailLinkMaterialProperty||(rh.PolylineTrailLinkMaterialProperty=DT,rh.Material.PolylineTrailLinkType="PolylineTrailLink",rh.Material.PolylineTrailLinkImage=window.SmartEarthRootUrl+Zr.TrailLine,rh.Material.PolylineTrailLinkSource=Iot,rh.Material._materialCache.addMaterial(rh.Material.PolylineTrailLinkType,{fabric:{type:rh.Material.PolylineTrailLinkType,uniforms:{color:new rh.Color(1,0,0,.5),color1:new rh.Color(0,1,0,.5),color2:new rh.Color(1,0,0,.5),image:rh.Material.PolylineTrailLinkImage,twoColor:!1,lightSpot:!1,lightSpotColor:new rh.Color(1,1,1,.5),alpha:.3,time:0},source:rh.Material.PolylineTrailLinkSource},translucent:function(o){return!0}})),rh.Material}function Boe(o){return new o.Cesium.Material({fabric:{uniforms:{color:vf(o.color,new o.Cesium.Color(1,0,0,.5)),color1:vf(o.color1,new o.Cesium.Color(0,1,0,.5)),color2:vf(o.color2,new o.Cesium.Color(1,0,0,.5)),image:vf(o.image,window.SmartEarthRootUrl+Zr.TrailLine),twoColor:vf(o.twoColor,!1),lightSpot:vf(o.lightSpot,!1),lightSpotColor:vf(o.lightSpotColor,new o.Cesium.Color(1,1,1,.5)),alpha:vf(o.alpha,.3),intervalTime:vf(o.time,3e3)/1e3},source:_ot}})}var vot=DT;var R8=null;function vv(o,A){R8=A,this._mapContainer=o,window.echarts||new Ep(!1).addJs(document.body,window.SmartEarthRootUrl+"Workers/echarts.min.js"),this.Init(o)}vv.prototype.setOption=function(o,A){return this._echartsContainer&&A&&this.clear(),!this._overlay&&(this._overlay=this._createChartOverlay()),this._overlay.setOption(o),this};vv.prototype._createChartOverlay=function(){var o=this._mapContainer.scene;o.canvas.setAttribute("tabIndex",0);var A=document.createElement("div");return A.style.position="absolute",A.style.top="0px",A.style.left="0px",A.style.width=o.canvas.width+"px",A.style.height=o.canvas.height+"px",A.style.pointerEvents="none",A.setAttribute("id","smartearth-cesium-echarts"),A.setAttribute("class","echartMap"),this._mapContainer.container.appendChild(A),this._echartsContainer=A,echarts.init(A)};vv.prototype.clear=function(){this._echartsContainer&&(this._mapContainer.container.removeChild(this._echartsContainer),this._echartsContainer=null),this._overlay&&(this._overlay.dispose(),this._overlay=null)};vv.prototype.deleteObject=vv.prototype.clear;vv.prototype.updateOverlay=function(o){this._overlay&&this._overlay.setOption(o)};vv.prototype.getMap=function(){return this._mapContainer};vv.prototype.getOverlay=function(){return this._overlay};vv.prototype.show=function(){document.getElementById(this._id).style.visibility="visible"};vv.prototype.hide=function(){document.getElementById(this._id).style.visibility="hidden"};vv.prototype.Init=function(o){(function(A){var f={};function m(C){if(f[C])return f[C].exports;var E=f[C]={i:C,l:!1,exports:{}};return A[C].call(E.exports,E,E.exports,m),E.l=!0,E.exports}m.m=A,m.c=f,m.d=function(C,E,x){m.o(C,E)||Object.defineProperty(C,E,{enumerable:!0,get:x})},m.r=function(C){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(C,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(C,"__esModule",{value:!0})},m.t=function(C,E){if(1&E&&(C=m(C)),8&E||4&E&&typeof C=="object"&&C&&C.__esModule)return C;var x=Object.create(null);if(m.r(x),Object.defineProperty(x,"default",{enumerable:!0,value:C}),2&E&&typeof C!="string")for(var y in C)m.d(x,y,function(I){return C[I]}.bind(null,y));return x},m.n=function(C){var E=C&&C.__esModule?function(){return C.default}:function(){return C};return m.d(E,"a",E),E},m.o=function(C,E){return Object.prototype.hasOwnProperty.call(C,E)},m.p="",m(m.s=0)})([function(A,f,m){A.exports=m(1)},function(A,f,m){echarts?m(2).load():console.error("missing echarts lib")},function(A,f,m){"use strict";function C(y,I){for(var v=0;v<I.length;v++){var B=I[v];B.enumerable=B.enumerable||!1,B.configurable=!0,"value"in B&&(B.writable=!0),Object.defineProperty(y,B.key,B)}}m.r(f);var E=function(){function y(Q,T){(function(w,S){if(!(w instanceof S))throw new TypeError("Cannot call a class as a function")})(this,y),this._viewer=Q,this.dimensions=["lng","lat"],this._mapOffset=[0,0],this._api=T}var I,v,B;return I=y,B=[{key:"create",value:function(Q,T){var w;Q.eachComponent("GLMap",function(S){(w=new y(o,T)).setMapOffset(S.__mapOffset||[0,0]),S.coordinateSystem=w}),Q.eachSeries(function(S){S.get("coordinateSystem")==="GLMap"&&(S.coordinateSystem=w)})}},{key:"dimensions",get:function(){return["lng","lat"]}}],(v=[{key:"setMapOffset",value:function(Q){return this._mapOffset=Q,this}},{key:"getViewer",value:function(){return this._viewer}},{key:"dataToPoint",value:function(Q){if(this._viewer&&this._viewer.scene){var T=this._viewer.scene,w=[0,0],S=R8.Cartesian3.fromDegrees(Q[0],Q[1]);if(!S)return w;if(T.mode===R8.SceneMode.SCENE3D&&R8.Cartesian3.angleBetween(T.camera.position,S)>R8.Math.toRadians(80))return!1;var D=T.cartesianToCanvasCoordinates(S);return D?[D.x-this._mapOffset[0],D.y-this._mapOffset[1]]:[]}else return[]}},{key:"pointToData",value:function(Q){var T=this._mapOffset,w=o.scene.globe.ellipsoid,S=new R8.cartesian3(Q[1]+T,Q[2]+T[2],0),D=w.cartesianToCartographic(S);return[D.lng,D.lat]}},{key:"getViewRect",value:function(){var Q=this._api;return new echarts.graphic.BoundingRect(0,0,Q.getWidth(),Q.getHeight())}},{key:"getRoamTransform",value:function(){return echarts.matrix.create()}}])&&C(I.prototype,v),B&&C(I,B),y}();echarts.extendComponentModel({type:"GLMap",getViewer:function(){return o},defaultOption:{roam:!1}}),echarts.extendComponentView({type:"GLMap",init:function(y,I){this.api=I,this.dispose(),o.scene.postRender.addEventListener(this.moveHandler,this)},moveHandler:function(y,I){this.api.dispatchAction({type:"GLMapRoam"})},render:function(y,I,v){},dispose:function(y){o.scene.postRender.removeEventListener(this.moveHandler,this)}});function x(){echarts.registerCoordinateSystem("GLMap",E),echarts.registerAction({type:"GLMapRoam",event:"GLMapRoam",update:"updateLayout"},function(y,I){})}m.d(f,"load",function(){return x})}])};var Bot=vv;function SSe(o){this.serverUrl=o}SSe.prototype.getSceneList=function(o){$.ajax({url:this.serverUrl+"/scene/sceneList",type:"get",success:function(A){o&&typeof o=="function"&&A&&o(JSON.parse(A))}})};SSe.prototype.query=function(o,A){var f=o.database,m={type:vf(o.type,"building"),id:o.id,returnGeometry:vf(o.returnGeometry,!0),returnChildren:vf(o.returnChildren,!0)};$.ajax({url:this.serverUrl+"/"+f+"/query?version=v2.1",type:"post",async:!0,data:m,success:function(C){A&&typeof A=="function"&&C&&A(JSON.parse(C))},error:function(C,E,x){alert("error:"+C.status)}})};var wot=SSe;function L8(o,A){this.mediaOutputPath=o||"test.mp4",this.videoBPS=A||512e4}L8.prototype.startRecord=function(){navigator.mediaDevices.getDisplayMedia({video:!0,audio:!0}).then(o=>{this.createRecorder(o)}).catch(o=>{this.getUserMediaError(o)})};L8.prototype.getUserMediaError=function(o){console.log("mediaError",o)};L8.prototype.createRecorder=function(o){console.log("start record");var A={videoBitsPerSecond:this.videoBPS};this.recorder=new MediaRecorder(o,A),this.recorder.start();var f=[];this.recorder.onstop=m=>{let C=new Blob(f,{type:"video/mp4"});this.saveMedia(C)},this.recorder.ondataavailable=m=>{f.push(m.data)}};L8.prototype.saveMedia=function(o){let A=window.URL.createObjectURL(o);var f=document.createElement("a");f.innerHTML="test",f.download=this.mediaOutputPath,f.href=A,f.click()};L8.prototype.stopRecord=function(){this.recorder.stop()};var bot=L8;var woe=52.35987755982988,QE=3.141592653589793,Qot=6378245,Sot=.006693421622965943,MDi={BD09ToGCJ02(o,A){let f=+o-.0065,m=+A-.006,C=Math.sqrt(f*f+m*m)-2e-5*Math.sin(m*woe),E=Math.atan2(m,f)-3e-6*Math.cos(f*woe),x=C*Math.cos(E),y=C*Math.sin(E);return[x,y]},GCJ02ToBD09(o,A){A=+A,o=+o;let f=Math.sqrt(o*o+A*A)+2e-5*Math.sin(A*woe),m=Math.atan2(A,o)+3e-6*Math.cos(o*woe),C=f*Math.cos(m)+.0065,E=f*Math.sin(m)+.006;return[C,E]},WGS84ToGCJ02(o,A){if(A=+A,o=+o,this.out_of_china(o,A))return[o,A];{let f=this.delta(o,A);return[o+f[0],A+f[1]]}},GCJ02ToWGS84(o,A){if(A=+A,o=+o,this.out_of_china(o,A))return[o,A];{let f=this.delta(o,A),m=o+f[0],C=A+f[1];return[o*2-m,A*2-C]}},delta(o,A){let f=this.transformLng(o-105,A-35),m=this.transformLat(o-105,A-35),C=A/180*QE,E=Math.sin(C);E=1-Sot*E*E;let x=Math.sqrt(E);return f=f*180/(Qot/x*Math.cos(C)*QE),m=m*180/(Qot*(1-Sot)/(E*x)*QE),[f,m]},transformLng(o,A){A=+A,o=+o;let f=300+o+2*A+.1*o*o+.1*o*A+.1*Math.sqrt(Math.abs(o));return f+=(20*Math.sin(6*o*QE)+20*Math.sin(2*o*QE))*2/3,f+=(20*Math.sin(o*QE)+40*Math.sin(o/3*QE))*2/3,f+=(150*Math.sin(o/12*QE)+300*Math.sin(o/30*QE))*2/3,f},transformLat(o,A){A=+A,o=+o;let f=-100+2*o+3*A+.2*A*A+.1*o*A+.2*Math.sqrt(Math.abs(o));return f+=(20*Math.sin(6*o*QE)+20*Math.sin(2*o*QE))*2/3,f+=(20*Math.sin(A*QE)+40*Math.sin(A/3*QE))*2/3,f+=(160*Math.sin(A/12*QE)+320*Math.sin(A*QE/30))*2/3,f},out_of_china(o,A){return A=+A,o=+o,!(o>73.66&&o<135.05&&A>3.86&&A<53.55)}},DSe=MDi;function TSe(o,A,f){if(o&&A){o[0]!=="#"&&(o=this.colorHex(o)),A[0]!=="#"&&(A=this.colorHex(A));for(var m=this.colorRgb(o),C=m[0],E=m[1],x=m[2],y=this.colorRgb(A),I=y[0],v=y[1],B=y[2],Q=(I-C)/f,T=(v-E)/f,w=(B-x)/f,S=[],D=0;D<f;D++){var R=this.colorHex("rgb("+parseInt(Q*D+C)+","+parseInt(T*D+E)+","+parseInt(w*D+x)+")");S.push(R)}return S}return this}TSe.prototype.colorRgb=function(f){var A=/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/,f=f.toLowerCase();if(f&&A.test(f)){if(f.length===4){for(var m="#",C=1;C<4;C+=1)m+=f.slice(C,C+1).concat(f.slice(C,C+1));f=m}for(var E=[],C=1;C<7;C+=2)E.push(parseInt("0x"+f.slice(C,C+2)));return E}else return f};TSe.prototype.colorHex=function(o){var A=o,f=/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;if(/^(rgb|RGB)/.test(A)){var m=A.replace(/(rgb|RGB)*/g,"");m=m.replace("(","").replace(")","");for(var C=m.split(","),E="#",x=0;x<C.length;x++){var y=Number(C[x]).toString(16);y=y.length===1?0+""+y:y,y==="0"&&(y+=y),E+=y}return E.length!==7&&(E=A),E}else if(f.test(A)){var I=A.replace(/#/,"").split("");if(I.length===6)return A;if(I.length===3){for(var v="#",x=0;x<I.length;x+=1)v+=I[x]+I[x];return v}}else return A};var Dot=TSe;function PDi(o,A){for(var f=0;f<o.length;f++)if(A(o[f]))return f}var $3=null;function F8(o,A){if($3=A,o=o||[],!$3.defined(o.workerPath))throw new $3.DeveloperError("workerPath is required.");this._workerPath=o.workerPath,this._poolSize=$3.defaultValue(o.poolSize,16),this._workers=[],this._defered=[]}Object.defineProperties(F8.prototype,{errorEvent:{get:function(){return this.errorEvent}},poolSize:{get:function(){return this._poolSize}}}),F8.prototype.queueWorkItem=function(o,A){for(var f=$3.defer(),m=null,C=999999,E=0;E<this._workers.length;E++){var m=this._workers[E];this._workers[E].jobQueueSize<C&&(m=this._workers[E],C=this._workers[E].jobQueueSize)}if(C>0&&this._workers.length<this.poolSize){m=new Worker(this._workerPath);var x=this;m.addEventListener("message",function(I){x.onWorkerMessage(I)},!1),m.addEventListener("error",function(I){x.onWorkerError(I)},!1),m.jobQueueSize=0,this._workers.push(m),m.id=$3.createGuid()}o.workerId=m.id;var y=$3.createGuid();return o.deferedId=y,this._defered[y]=f,m.jobQueueSize++,m.postMessage(o,A),f.promise};F8.prototype.trimPool=function(o){var A=this;if(o==null){this.timerId!=null&&clearTimeout(this.timerId),this.timerId=setTimeout(function(){A.trimPool(!0)},5e3);return}for(var f=0;f<this._workers.length;f++)this._workers[f].jobQueueSize==0&&(this._workers[f].terminate(),this._workers.splice(f,1),f--);this._workers.length?this.timerId=setTimeout(function(){A.trimPool(!0)},5e3):this.timerId=null};F8.prototype.onWorkerMessage=function(o){var A=o.data,f=PDi(this._workers,function(E){return E.id===A.workerId});if(f!=null){var m=this._workers[f];m.jobQueueSize--,this.trimPool()}var C=this._defered[A.deferedId];delete this._defered[A.deferedId],C.resolve(A)};F8.prototype.onWorkerError=function(o){console.log(o)};var Bv=F8;var MSe=new Map;function Tot(o,A){if(o=o.replaceAll("//","/"),o=o.replace("http:/","http://"),o=o.replace("https:/","https://"),MSe.has(o))return MSe.get(o);{let m=new Bv({workerPath:SmartEarthRootUrl+"Workers/xhrworker.js"},A).queueWorkItem({type:"get",url:o});return m.then(C=>{C.xmlObj=Mot(C.xmlText),m.catch(C)}),MSe.set(o,m),m}}function Mot(o){let A={};if(document.all){let f=new ActiveXObject("Microsoft.XMLDOM");f.loadXML(o),A=f}else A=new DOMParser().parseFromString(o,"text/xml");return A}function N8(o){if(!o)return{};if(typeof o=="string"&&(o=Mot(o)),o.nodeType==3||o.nodeType==4)return o.nodeValue;let A=o.nodeType==9?o.documentElement:o;return PSe(A)}function PSe(o){try{let A={};if(o.children.length>0)for(let f=0;f<o.children.length;f++){let m=o.children.item(f),C=m.nodeName;if(C=C.split(":"),C=C[1]||C[0],typeof A[C]>"u")A[C]=PSe(m);else{if(typeof A[C].push>"u"){let E=A[C];A[C]=[],A[C].push(E)}A[C].push(PSe(m))}}else if(o.attributes&&o.attributes.length&&!o.textContent){let f={};for(let m=0,C;m<o.attributes.length;m++)C=o.attributes[m],C.split?(C=C.split("="),f[C[0]]=C[1]):f[C.name]=C.textContent;return f}else A=o.textContent;return A}catch(A){console.log(A.message)}}var RDi={UNLOADED:0,LOADING:1,PARSING:2,READY:3,FAILED:4},wv=Object.freeze(RDi);var Pot={};(function(o){Pot=o()})(function(){var o,A,f;return function m(C,E,x){function y(B,Q){if(!E[B]){if(!C[B]){var T=typeof My=="function"&&My;if(!Q&&T)return T(B,!0);if(I)return I(B,!0);var w=new Error("Cannot find module '"+B+"'");throw w.code="MODULE_NOT_FOUND",w}var S=E[B]={exports:{}};C[B][0].call(S.exports,function(D){var R=C[B][1][D];return y(R||D)},S,S.exports,m,C,E,x)}return E[B].exports}for(var I=typeof My=="function"&&My,v=0;v<x.length;v++)y(x[v]);return y}({1:[function(m,C,E){"use strict";var x=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";E.assign=function(v){for(var B=Array.prototype.slice.call(arguments,1);B.length;){var Q=B.shift();if(!!Q){if(typeof Q!="object")throw new TypeError(Q+"must be non-object");for(var T in Q)Q.hasOwnProperty(T)&&(v[T]=Q[T])}}return v},E.shrinkBuf=function(v,B){return v.length===B?v:v.subarray?v.subarray(0,B):(v.length=B,v)};var y={arraySet:function(v,B,Q,T,w){if(B.subarray&&v.subarray){v.set(B.subarray(Q,Q+T),w);return}for(var S=0;S<T;S++)v[w+S]=B[Q+S]},flattenChunks:function(v){var B,Q,T,w,S,D;for(T=0,B=0,Q=v.length;B<Q;B++)T+=v[B].length;for(D=new Uint8Array(T),w=0,B=0,Q=v.length;B<Q;B++)S=v[B],D.set(S,w),w+=S.length;return D}},I={arraySet:function(v,B,Q,T,w){for(var S=0;S<T;S++)v[w+S]=B[Q+S]},flattenChunks:function(v){return[].concat.apply([],v)}};E.setTyped=function(v){v?(E.Buf8=Uint8Array,E.Buf16=Uint16Array,E.Buf32=Int32Array,E.assign(E,y)):(E.Buf8=Array,E.Buf16=Array,E.Buf32=Array,E.assign(E,I))},E.setTyped(x)},{}],2:[function(m,C,E){"use strict";var x=m("./common"),y=!0,I=!0;try{String.fromCharCode.apply(null,[0])}catch{y=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{I=!1}for(var v=new x.Buf8(256),B=0;B<256;B++)v[B]=B>=252?6:B>=248?5:B>=240?4:B>=224?3:B>=192?2:1;v[254]=v[254]=1,E.string2buf=function(T){var w,S,D,R,P,M=T.length,L=0;for(R=0;R<M;R++)S=T.charCodeAt(R),(S&64512)===55296&&R+1<M&&(D=T.charCodeAt(R+1),(D&64512)===56320&&(S=65536+(S-55296<<10)+(D-56320),R++)),L+=S<128?1:S<2048?2:S<65536?3:4;for(w=new x.Buf8(L),P=0,R=0;P<L;R++)S=T.charCodeAt(R),(S&64512)===55296&&R+1<M&&(D=T.charCodeAt(R+1),(D&64512)===56320&&(S=65536+(S-55296<<10)+(D-56320),R++)),S<128?w[P++]=S:S<2048?(w[P++]=192|S>>>6,w[P++]=128|S&63):S<65536?(w[P++]=224|S>>>12,w[P++]=128|S>>>6&63,w[P++]=128|S&63):(w[P++]=240|S>>>18,w[P++]=128|S>>>12&63,w[P++]=128|S>>>6&63,w[P++]=128|S&63);return w};function Q(T,w){if(w<65537&&(T.subarray&&I||!T.subarray&&y))return String.fromCharCode.apply(null,x.shrinkBuf(T,w));for(var S="",D=0;D<w;D++)S+=String.fromCharCode(T[D]);return S}E.buf2binstring=function(T){return Q(T,T.length)},E.binstring2buf=function(T){for(var w=new x.Buf8(T.length),S=0,D=w.length;S<D;S++)w[S]=T.charCodeAt(S);return w},E.buf2string=function(T,w){var S,D,R,P,M=w||T.length,L=new Array(M*2);for(D=0,S=0;S<M;){if(R=T[S++],R<128){L[D++]=R;continue}if(P=v[R],P>4){L[D++]=65533,S+=P-1;continue}for(R&=P===2?31:P===3?15:7;P>1&&S<M;)R=R<<6|T[S++]&63,P--;if(P>1){L[D++]=65533;continue}R<65536?L[D++]=R:(R-=65536,L[D++]=55296|R>>10&1023,L[D++]=56320|R&1023)}return Q(L,D)},E.utf8border=function(T,w){var S;for(w=w||T.length,w>T.length&&(w=T.length),S=w-1;S>=0&&(T[S]&192)===128;)S--;return S<0||S===0?w:S+v[T[S]]>w?S:w}},{"./common":1}],3:[function(m,C,E){"use strict";function x(y,I,v,B){for(var Q=y&65535|0,T=y>>>16&65535|0,w=0;v!==0;){w=v>2e3?2e3:v,v-=w;do Q=Q+I[B++]|0,T=T+Q|0;while(--w);Q%=65521,T%=65521}return Q|T<<16|0}C.exports=x},{}],4:[function(m,C,E){"use strict";C.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],5:[function(m,C,E){"use strict";function x(){for(var v,B=[],Q=0;Q<256;Q++){v=Q;for(var T=0;T<8;T++)v=v&1?3988292384^v>>>1:v>>>1;B[Q]=v}return B}var y=x();function I(v,B,Q,T){var w=y,S=T+Q;v^=-1;for(var D=T;D<S;D++)v=v>>>8^w[(v^B[D])&255];return v^-1}C.exports=I},{}],6:[function(m,C,E){"use strict";function x(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}C.exports=x},{}],7:[function(m,C,E){"use strict";var x=30,y=12;C.exports=function(v,B){var Q,T,w,S,D,R,P,M,L,F,k,N,G,J,K,X,q,ee,ie,H,le,ue,Ae,he,ge;Q=v.state,T=v.next_in,he=v.input,w=T+(v.avail_in-5),S=v.next_out,ge=v.output,D=S-(B-v.avail_out),R=S+(v.avail_out-257),P=Q.dmax,M=Q.wsize,L=Q.whave,F=Q.wnext,k=Q.window,N=Q.hold,G=Q.bits,J=Q.lencode,K=Q.distcode,X=(1<<Q.lenbits)-1,q=(1<<Q.distbits)-1;e:do{G<15&&(N+=he[T++]<<G,G+=8,N+=he[T++]<<G,G+=8),ee=J[N&X];t:for(;;){if(ie=ee>>>24,N>>>=ie,G-=ie,ie=ee>>>16&255,ie===0)ge[S++]=ee&65535;else if(ie&16){H=ee&65535,ie&=15,ie&&(G<ie&&(N+=he[T++]<<G,G+=8),H+=N&(1<<ie)-1,N>>>=ie,G-=ie),G<15&&(N+=he[T++]<<G,G+=8,N+=he[T++]<<G,G+=8),ee=K[N&q];i:for(;;){if(ie=ee>>>24,N>>>=ie,G-=ie,ie=ee>>>16&255,ie&16){if(le=ee&65535,ie&=15,G<ie&&(N+=he[T++]<<G,G+=8,G<ie&&(N+=he[T++]<<G,G+=8)),le+=N&(1<<ie)-1,le>P){v.msg="invalid distance too far back",Q.mode=x;break e}if(N>>>=ie,G-=ie,ie=S-D,le>ie){if(ie=le-ie,ie>L&&Q.sane){v.msg="invalid distance too far back",Q.mode=x;break e}if(ue=0,Ae=k,F===0){if(ue+=M-ie,ie<H){H-=ie;do ge[S++]=k[ue++];while(--ie);ue=S-le,Ae=ge}}else if(F<ie){if(ue+=M+F-ie,ie-=F,ie<H){H-=ie;do ge[S++]=k[ue++];while(--ie);if(ue=0,F<H){ie=F,H-=ie;do ge[S++]=k[ue++];while(--ie);ue=S-le,Ae=ge}}}else if(ue+=F-ie,ie<H){H-=ie;do ge[S++]=k[ue++];while(--ie);ue=S-le,Ae=ge}for(;H>2;)ge[S++]=Ae[ue++],ge[S++]=Ae[ue++],ge[S++]=Ae[ue++],H-=3;H&&(ge[S++]=Ae[ue++],H>1&&(ge[S++]=Ae[ue++]))}else{ue=S-le;do ge[S++]=ge[ue++],ge[S++]=ge[ue++],ge[S++]=ge[ue++],H-=3;while(H>2);H&&(ge[S++]=ge[ue++],H>1&&(ge[S++]=ge[ue++]))}}else if((ie&64)===0){ee=K[(ee&65535)+(N&(1<<ie)-1)];continue i}else{v.msg="invalid distance code",Q.mode=x;break e}break}}else if((ie&64)===0){ee=J[(ee&65535)+(N&(1<<ie)-1)];continue t}else if(ie&32){Q.mode=y;break e}else{v.msg="invalid literal/length code",Q.mode=x;break e}break}}while(T<w&&S<R);H=G>>3,T-=H,G-=H<<3,N&=(1<<G)-1,v.next_in=T,v.next_out=S,v.avail_in=T<w?5+(w-T):5-(T-w),v.avail_out=S<R?257+(R-S):257-(S-R),Q.hold=N,Q.bits=G}},{}],8:[function(m,C,E){"use strict";var x=m("../utils/common"),y=m("./adler32"),I=m("./crc32"),v=m("./inffast"),B=m("./inftrees"),Q=0,T=1,w=2,S=4,D=5,R=6,P=0,M=1,L=2,F=-2,k=-3,N=-4,G=-5,J=8,K=1,X=2,q=3,ee=4,ie=5,H=6,le=7,ue=8,Ae=9,he=10,ge=11,fe=12,ae=13,U=14,W=15,Y=16,z=17,re=18,se=19,de=20,me=21,Ce=22,Ie=23,we=24,Te=25,Ge=26,ke=27,Oe=28,Le=29,be=30,Ne=31,Ue=32,ze=852,Je=592,Xe=15,et=Xe;function ot(bt){return(bt>>>24&255)+(bt>>>8&65280)+((bt&65280)<<8)+((bt&255)<<24)}function Et(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new x.Buf16(320),this.work=new x.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function Ct(bt){var Pt;return!bt||!bt.state?F:(Pt=bt.state,bt.total_in=bt.total_out=Pt.total=0,bt.msg="",Pt.wrap&&(bt.adler=Pt.wrap&1),Pt.mode=K,Pt.last=0,Pt.havedict=0,Pt.dmax=32768,Pt.head=null,Pt.hold=0,Pt.bits=0,Pt.lencode=Pt.lendyn=new x.Buf32(ze),Pt.distcode=Pt.distdyn=new x.Buf32(Je),Pt.sane=1,Pt.back=-1,P)}function ct(bt){var Pt;return!bt||!bt.state?F:(Pt=bt.state,Pt.wsize=0,Pt.whave=0,Pt.wnext=0,Ct(bt))}function yt(bt,Pt){var It,Mi;return!bt||!bt.state||(Mi=bt.state,Pt<0?(It=0,Pt=-Pt):(It=(Pt>>4)+1,Pt<48&&(Pt&=15)),Pt&&(Pt<8||Pt>15))?F:(Mi.window!==null&&Mi.wbits!==Pt&&(Mi.window=null),Mi.wrap=It,Mi.wbits=Pt,ct(bt))}function Qt(bt,Pt){var It,Mi;return bt?(Mi=new Et,bt.state=Mi,Mi.window=null,It=yt(bt,Pt),It!==P&&(bt.state=null),It):F}function Ze(bt){return Qt(bt,et)}var ut=!0,St,gt;function xt(bt){if(ut){var Pt;for(St=new x.Buf32(512),gt=new x.Buf32(32),Pt=0;Pt<144;)bt.lens[Pt++]=8;for(;Pt<256;)bt.lens[Pt++]=9;for(;Pt<280;)bt.lens[Pt++]=7;for(;Pt<288;)bt.lens[Pt++]=8;for(B(T,bt.lens,0,288,St,0,bt.work,{bits:9}),Pt=0;Pt<32;)bt.lens[Pt++]=5;B(w,bt.lens,0,32,gt,0,bt.work,{bits:5}),ut=!1}bt.lencode=St,bt.lenbits=9,bt.distcode=gt,bt.distbits=5}function Lt(bt,Pt,It,Mi){var er,di=bt.state;return di.window===null&&(di.wsize=1<<di.wbits,di.wnext=0,di.whave=0,di.window=new x.Buf8(di.wsize)),Mi>=di.wsize?(x.arraySet(di.window,Pt,It-di.wsize,di.wsize,0),di.wnext=0,di.whave=di.wsize):(er=di.wsize-di.wnext,er>Mi&&(er=Mi),x.arraySet(di.window,Pt,It-Mi,er,di.wnext),Mi-=er,Mi?(x.arraySet(di.window,Pt,It-Mi,Mi,0),di.wnext=Mi,di.whave=di.wsize):(di.wnext+=er,di.wnext===di.wsize&&(di.wnext=0),di.whave<di.wsize&&(di.whave+=er))),0}function nt(bt,Pt){var It,Mi,er,di,wi,Ri,Ei,Wt,jt,pi,mi,Kt,xi,_t,Mt=0,Ht,ti,Wi,yi,uo,wn,Un,Ta,Ma=new x.Buf8(4),Go,bl,nu=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!bt||!bt.state||!bt.output||!bt.input&&bt.avail_in!==0)return F;It=bt.state,It.mode===fe&&(It.mode=ae),wi=bt.next_out,er=bt.output,Ei=bt.avail_out,di=bt.next_in,Mi=bt.input,Ri=bt.avail_in,Wt=It.hold,jt=It.bits,pi=Ri,mi=Ei,Ta=P;e:for(;;)switch(It.mode){case K:if(It.wrap===0){It.mode=ae;break}for(;jt<16;){if(Ri===0)break e;Ri--,Wt+=Mi[di++]<<jt,jt+=8}if(It.wrap&2&&Wt===35615){It.check=0,Ma[0]=Wt&255,Ma[1]=Wt>>>8&255,It.check=I(It.check,Ma,2,0),Wt=0,jt=0,It.mode=X;break}if(It.flags=0,It.head&&(It.head.done=!1),!(It.wrap&1)||(((Wt&255)<<8)+(Wt>>8))%31){bt.msg="incorrect header check",It.mode=be;break}if((Wt&15)!==J){bt.msg="unknown compression method",It.mode=be;break}if(Wt>>>=4,jt-=4,Un=(Wt&15)+8,It.wbits===0)It.wbits=Un;else if(Un>It.wbits){bt.msg="invalid window size",It.mode=be;break}It.dmax=1<<Un,bt.adler=It.check=1,It.mode=Wt&512?he:fe,Wt=0,jt=0;break;case X:for(;jt<16;){if(Ri===0)break e;Ri--,Wt+=Mi[di++]<<jt,jt+=8}if(It.flags=Wt,(It.flags&255)!==J){bt.msg="unknown compression method",It.mode=be;break}if(It.flags&57344){bt.msg="unknown header flags set",It.mode=be;break}It.head&&(It.head.text=Wt>>8&1),It.flags&512&&(Ma[0]=Wt&255,Ma[1]=Wt>>>8&255,It.check=I(It.check,Ma,2,0)),Wt=0,jt=0,It.mode=q;case q:for(;jt<32;){if(Ri===0)break e;Ri--,Wt+=Mi[di++]<<jt,jt+=8}It.head&&(It.head.time=Wt),It.flags&512&&(Ma[0]=Wt&255,Ma[1]=Wt>>>8&255,Ma[2]=Wt>>>16&255,Ma[3]=Wt>>>24&255,It.check=I(It.check,Ma,4,0)),Wt=0,jt=0,It.mode=ee;case ee:for(;jt<16;){if(Ri===0)break e;Ri--,Wt+=Mi[di++]<<jt,jt+=8}It.head&&(It.head.xflags=Wt&255,It.head.os=Wt>>8),It.flags&512&&(Ma[0]=Wt&255,Ma[1]=Wt>>>8&255,It.check=I(It.check,Ma,2,0)),Wt=0,jt=0,It.mode=ie;case ie:if(It.flags&1024){for(;jt<16;){if(Ri===0)break e;Ri--,Wt+=Mi[di++]<<jt,jt+=8}It.length=Wt,It.head&&(It.head.extra_len=Wt),It.flags&512&&(Ma[0]=Wt&255,Ma[1]=Wt>>>8&255,It.check=I(It.check,Ma,2,0)),Wt=0,jt=0}else It.head&&(It.head.extra=null);It.mode=H;case H:if(It.flags&1024&&(Kt=It.length,Kt>Ri&&(Kt=Ri),Kt&&(It.head&&(Un=It.head.extra_len-It.length,It.head.extra||(It.head.extra=new Array(It.head.extra_len)),x.arraySet(It.head.extra,Mi,di,Kt,Un)),It.flags&512&&(It.check=I(It.check,Mi,Kt,di)),Ri-=Kt,di+=Kt,It.length-=Kt),It.length))break e;It.length=0,It.mode=le;case le:if(It.flags&2048){if(Ri===0)break e;Kt=0;do Un=Mi[di+Kt++],It.head&&Un&&It.length<65536&&(It.head.name+=String.fromCharCode(Un));while(Un&&Kt<Ri);if(It.flags&512&&(It.check=I(It.check,Mi,Kt,di)),Ri-=Kt,di+=Kt,Un)break e}else It.head&&(It.head.name=null);It.length=0,It.mode=ue;case ue:if(It.flags&4096){if(Ri===0)break e;Kt=0;do Un=Mi[di+Kt++],It.head&&Un&&It.length<65536&&(It.head.comment+=String.fromCharCode(Un));while(Un&&Kt<Ri);if(It.flags&512&&(It.check=I(It.check,Mi,Kt,di)),Ri-=Kt,di+=Kt,Un)break e}else It.head&&(It.head.comment=null);It.mode=Ae;case Ae:if(It.flags&512){for(;jt<16;){if(Ri===0)break e;Ri--,Wt+=Mi[di++]<<jt,jt+=8}if(Wt!==(It.check&65535)){bt.msg="header crc mismatch",It.mode=be;break}Wt=0,jt=0}It.head&&(It.head.hcrc=It.flags>>9&1,It.head.done=!0),bt.adler=It.check=0,It.mode=fe;break;case he:for(;jt<32;){if(Ri===0)break e;Ri--,Wt+=Mi[di++]<<jt,jt+=8}bt.adler=It.check=ot(Wt),Wt=0,jt=0,It.mode=ge;case ge:if(It.havedict===0)return bt.next_out=wi,bt.avail_out=Ei,bt.next_in=di,bt.avail_in=Ri,It.hold=Wt,It.bits=jt,L;bt.adler=It.check=1,It.mode=fe;case fe:if(Pt===D||Pt===R)break e;case ae:if(It.last){Wt>>>=jt&7,jt-=jt&7,It.mode=ke;break}for(;jt<3;){if(Ri===0)break e;Ri--,Wt+=Mi[di++]<<jt,jt+=8}switch(It.last=Wt&1,Wt>>>=1,jt-=1,Wt&3){case 0:It.mode=U;break;case 1:if(xt(It),It.mode=de,Pt===R){Wt>>>=2,jt-=2;break e}break;case 2:It.mode=z;break;case 3:bt.msg="invalid block type",It.mode=be}Wt>>>=2,jt-=2;break;case U:for(Wt>>>=jt&7,jt-=jt&7;jt<32;){if(Ri===0)break e;Ri--,Wt+=Mi[di++]<<jt,jt+=8}if((Wt&65535)!==(Wt>>>16^65535)){bt.msg="invalid stored block lengths",It.mode=be;break}if(It.length=Wt&65535,Wt=0,jt=0,It.mode=W,Pt===R)break e;case W:It.mode=Y;case Y:if(Kt=It.length,Kt){if(Kt>Ri&&(Kt=Ri),Kt>Ei&&(Kt=Ei),Kt===0)break e;x.arraySet(er,Mi,di,Kt,wi),Ri-=Kt,di+=Kt,Ei-=Kt,wi+=Kt,It.length-=Kt;break}It.mode=fe;break;case z:for(;jt<14;){if(Ri===0)break e;Ri--,Wt+=Mi[di++]<<jt,jt+=8}if(It.nlen=(Wt&31)+257,Wt>>>=5,jt-=5,It.ndist=(Wt&31)+1,Wt>>>=5,jt-=5,It.ncode=(Wt&15)+4,Wt>>>=4,jt-=4,It.nlen>286||It.ndist>30){bt.msg="too many length or distance symbols",It.mode=be;break}It.have=0,It.mode=re;case re:for(;It.have<It.ncode;){for(;jt<3;){if(Ri===0)break e;Ri--,Wt+=Mi[di++]<<jt,jt+=8}It.lens[nu[It.have++]]=Wt&7,Wt>>>=3,jt-=3}for(;It.have<19;)It.lens[nu[It.have++]]=0;if(It.lencode=It.lendyn,It.lenbits=7,Go={bits:It.lenbits},Ta=B(Q,It.lens,0,19,It.lencode,0,It.work,Go),It.lenbits=Go.bits,Ta){bt.msg="invalid code lengths set",It.mode=be;break}It.have=0,It.mode=se;case se:for(;It.have<It.nlen+It.ndist;){for(;Mt=It.lencode[Wt&(1<<It.lenbits)-1],Ht=Mt>>>24,ti=Mt>>>16&255,Wi=Mt&65535,!(Ht<=jt);){if(Ri===0)break e;Ri--,Wt+=Mi[di++]<<jt,jt+=8}if(Wi<16)Wt>>>=Ht,jt-=Ht,It.lens[It.have++]=Wi;else{if(Wi===16){for(bl=Ht+2;jt<bl;){if(Ri===0)break e;Ri--,Wt+=Mi[di++]<<jt,jt+=8}if(Wt>>>=Ht,jt-=Ht,It.have===0){bt.msg="invalid bit length repeat",It.mode=be;break}Un=It.lens[It.have-1],Kt=3+(Wt&3),Wt>>>=2,jt-=2}else if(Wi===17){for(bl=Ht+3;jt<bl;){if(Ri===0)break e;Ri--,Wt+=Mi[di++]<<jt,jt+=8}Wt>>>=Ht,jt-=Ht,Un=0,Kt=3+(Wt&7),Wt>>>=3,jt-=3}else{for(bl=Ht+7;jt<bl;){if(Ri===0)break e;Ri--,Wt+=Mi[di++]<<jt,jt+=8}Wt>>>=Ht,jt-=Ht,Un=0,Kt=11+(Wt&127),Wt>>>=7,jt-=7}if(It.have+Kt>It.nlen+It.ndist){bt.msg="invalid bit length repeat",It.mode=be;break}for(;Kt--;)It.lens[It.have++]=Un}}if(It.mode===be)break;if(It.lens[256]===0){bt.msg="invalid code -- missing end-of-block",It.mode=be;break}if(It.lenbits=9,Go={bits:It.lenbits},Ta=B(T,It.lens,0,It.nlen,It.lencode,0,It.work,Go),It.lenbits=Go.bits,Ta){bt.msg="invalid literal/lengths set",It.mode=be;break}if(It.distbits=6,It.distcode=It.distdyn,Go={bits:It.distbits},Ta=B(w,It.lens,It.nlen,It.ndist,It.distcode,0,It.work,Go),It.distbits=Go.bits,Ta){bt.msg="invalid distances set",It.mode=be;break}if(It.mode=de,Pt===R)break e;case de:It.mode=me;case me:if(Ri>=6&&Ei>=258){bt.next_out=wi,bt.avail_out=Ei,bt.next_in=di,bt.avail_in=Ri,It.hold=Wt,It.bits=jt,v(bt,mi),wi=bt.next_out,er=bt.output,Ei=bt.avail_out,di=bt.next_in,Mi=bt.input,Ri=bt.avail_in,Wt=It.hold,jt=It.bits,It.mode===fe&&(It.back=-1);break}for(It.back=0;Mt=It.lencode[Wt&(1<<It.lenbits)-1],Ht=Mt>>>24,ti=Mt>>>16&255,Wi=Mt&65535,!(Ht<=jt);){if(Ri===0)break e;Ri--,Wt+=Mi[di++]<<jt,jt+=8}if(ti&&(ti&240)===0){for(yi=Ht,uo=ti,wn=Wi;Mt=It.lencode[wn+((Wt&(1<<yi+uo)-1)>>yi)],Ht=Mt>>>24,ti=Mt>>>16&255,Wi=Mt&65535,!(yi+Ht<=jt);){if(Ri===0)break e;Ri--,Wt+=Mi[di++]<<jt,jt+=8}Wt>>>=yi,jt-=yi,It.back+=yi}if(Wt>>>=Ht,jt-=Ht,It.back+=Ht,It.length=Wi,ti===0){It.mode=Ge;break}if(ti&32){It.back=-1,It.mode=fe;break}if(ti&64){bt.msg="invalid literal/length code",It.mode=be;break}It.extra=ti&15,It.mode=Ce;case Ce:if(It.extra){for(bl=It.extra;jt<bl;){if(Ri===0)break e;Ri--,Wt+=Mi[di++]<<jt,jt+=8}It.length+=Wt&(1<<It.extra)-1,Wt>>>=It.extra,jt-=It.extra,It.back+=It.extra}It.was=It.length,It.mode=Ie;case Ie:for(;Mt=It.distcode[Wt&(1<<It.distbits)-1],Ht=Mt>>>24,ti=Mt>>>16&255,Wi=Mt&65535,!(Ht<=jt);){if(Ri===0)break e;Ri--,Wt+=Mi[di++]<<jt,jt+=8}if((ti&240)===0){for(yi=Ht,uo=ti,wn=Wi;Mt=It.distcode[wn+((Wt&(1<<yi+uo)-1)>>yi)],Ht=Mt>>>24,ti=Mt>>>16&255,Wi=Mt&65535,!(yi+Ht<=jt);){if(Ri===0)break e;Ri--,Wt+=Mi[di++]<<jt,jt+=8}Wt>>>=yi,jt-=yi,It.back+=yi}if(Wt>>>=Ht,jt-=Ht,It.back+=Ht,ti&64){bt.msg="invalid distance code",It.mode=be;break}It.offset=Wi,It.extra=ti&15,It.mode=we;case we:if(It.extra){for(bl=It.extra;jt<bl;){if(Ri===0)break e;Ri--,Wt+=Mi[di++]<<jt,jt+=8}It.offset+=Wt&(1<<It.extra)-1,Wt>>>=It.extra,jt-=It.extra,It.back+=It.extra}if(It.offset>It.dmax){bt.msg="invalid distance too far back",It.mode=be;break}It.mode=Te;case Te:if(Ei===0)break e;if(Kt=mi-Ei,It.offset>Kt){if(Kt=It.offset-Kt,Kt>It.whave&&It.sane){bt.msg="invalid distance too far back",It.mode=be;break}Kt>It.wnext?(Kt-=It.wnext,xi=It.wsize-Kt):xi=It.wnext-Kt,Kt>It.length&&(Kt=It.length),_t=It.window}else _t=er,xi=wi-It.offset,Kt=It.length;Kt>Ei&&(Kt=Ei),Ei-=Kt,It.length-=Kt;do er[wi++]=_t[xi++];while(--Kt);It.length===0&&(It.mode=me);break;case Ge:if(Ei===0)break e;er[wi++]=It.length,Ei--,It.mode=me;break;case ke:if(It.wrap){for(;jt<32;){if(Ri===0)break e;Ri--,Wt|=Mi[di++]<<jt,jt+=8}if(mi-=Ei,bt.total_out+=mi,It.total+=mi,mi&&(bt.adler=It.check=It.flags?I(It.check,er,mi,wi-mi):y(It.check,er,mi,wi-mi)),mi=Ei,(It.flags?Wt:ot(Wt))!==It.check){bt.msg="incorrect data check",It.mode=be;break}Wt=0,jt=0}It.mode=Oe;case Oe:if(It.wrap&&It.flags){for(;jt<32;){if(Ri===0)break e;Ri--,Wt+=Mi[di++]<<jt,jt+=8}if(Wt!==(It.total&4294967295)){bt.msg="incorrect length check",It.mode=be;break}Wt=0,jt=0}It.mode=Le;case Le:Ta=M;break e;case be:Ta=k;break e;case Ne:return N;case Ue:default:return F}return bt.next_out=wi,bt.avail_out=Ei,bt.next_in=di,bt.avail_in=Ri,It.hold=Wt,It.bits=jt,(It.wsize||mi!==bt.avail_out&&It.mode<be&&(It.mode<ke||Pt!==S))&&Lt(bt,bt.output,bt.next_out,mi-bt.avail_out)?(It.mode=Ne,N):(pi-=bt.avail_in,mi-=bt.avail_out,bt.total_in+=pi,bt.total_out+=mi,It.total+=mi,It.wrap&&mi&&(bt.adler=It.check=It.flags?I(It.check,er,mi,bt.next_out-mi):y(It.check,er,mi,bt.next_out-mi)),bt.data_type=It.bits+(It.last?64:0)+(It.mode===fe?128:0)+(It.mode===de||It.mode===W?256:0),(pi===0&&mi===0||Pt===S)&&Ta===P&&(Ta=G),Ta)}function Pe(bt){if(!bt||!bt.state)return F;var Pt=bt.state;return Pt.window&&(Pt.window=null),bt.state=null,P}function ve(bt,Pt){var It;return!bt||!bt.state||(It=bt.state,(It.wrap&2)===0)?F:(It.head=Pt,Pt.done=!1,P)}function We(bt,Pt){var It=Pt.length,Mi,er,di;return!bt||!bt.state||(Mi=bt.state,Mi.wrap!==0&&Mi.mode!==ge)?F:Mi.mode===ge&&(er=1,er=y(er,Pt,It,0),er!==Mi.check)?k:(di=Lt(bt,Pt,It,It),di?(Mi.mode=Ne,N):(Mi.havedict=1,P))}E.inflateReset=ct,E.inflateReset2=yt,E.inflateResetKeep=Ct,E.inflateInit=Ze,E.inflateInit2=Qt,E.inflate=nt,E.inflateEnd=Pe,E.inflateGetHeader=ve,E.inflateSetDictionary=We,E.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":1,"./adler32":3,"./crc32":5,"./inffast":7,"./inftrees":9}],9:[function(m,C,E){"use strict";var x=m("../utils/common"),y=15,I=852,v=592,B=0,Q=1,T=2,w=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],S=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],D=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],R=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];C.exports=function(M,L,F,k,N,G,J,K){var X=K.bits,q=0,ee=0,ie=0,H=0,le=0,ue=0,Ae=0,he=0,ge=0,fe=0,ae,U,W,Y,z,re=null,se=0,de,me=new x.Buf16(y+1),Ce=new x.Buf16(y+1),Ie=null,we=0,Te,Ge,ke;for(q=0;q<=y;q++)me[q]=0;for(ee=0;ee<k;ee++)me[L[F+ee]]++;for(le=X,H=y;H>=1&&me[H]===0;H--);if(le>H&&(le=H),H===0)return N[G++]=1<<24|64<<16|0,N[G++]=1<<24|64<<16|0,K.bits=1,0;for(ie=1;ie<H&&me[ie]===0;ie++);for(le<ie&&(le=ie),he=1,q=1;q<=y;q++)if(he<<=1,he-=me[q],he<0)return-1;if(he>0&&(M===B||H!==1))return-1;for(Ce[1]=0,q=1;q<y;q++)Ce[q+1]=Ce[q]+me[q];for(ee=0;ee<k;ee++)L[F+ee]!==0&&(J[Ce[L[F+ee]]++]=ee);if(M===B?(re=Ie=J,de=19):M===Q?(re=w,se-=257,Ie=S,we-=257,de=256):(re=D,Ie=R,de=-1),fe=0,ee=0,q=ie,z=G,ue=le,Ae=0,W=-1,ge=1<<le,Y=ge-1,M===Q&&ge>I||M===T&&ge>v)return 1;for(;;){Te=q-Ae,J[ee]<de?(Ge=0,ke=J[ee]):J[ee]>de?(Ge=Ie[we+J[ee]],ke=re[se+J[ee]]):(Ge=32+64,ke=0),ae=1<<q-Ae,U=1<<ue,ie=U;do U-=ae,N[z+(fe>>Ae)+U]=Te<<24|Ge<<16|ke|0;while(U!==0);for(ae=1<<q-1;fe&ae;)ae>>=1;if(ae!==0?(fe&=ae-1,fe+=ae):fe=0,ee++,--me[q]===0){if(q===H)break;q=L[F+J[ee]]}if(q>le&&(fe&Y)!==W){for(Ae===0&&(Ae=le),z+=ie,ue=q-Ae,he=1<<ue;ue+Ae<H&&(he-=me[ue+Ae],!(he<=0));)ue++,he<<=1;if(ge+=1<<ue,M===Q&&ge>I||M===T&&ge>v)return 1;W=fe&Y,N[W]=le<<24|ue<<16|z-G|0}}return fe!==0&&(N[z+fe]=q-Ae<<24|64<<16|0),K.bits=le,0}},{"../utils/common":1}],10:[function(m,C,E){"use strict";C.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],11:[function(m,C,E){"use strict";function x(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}C.exports=x},{}],"/lib/inflate.js":[function(m,C,E){"use strict";var x=m("./zlib/inflate"),y=m("./utils/common"),I=m("./utils/strings"),v=m("./zlib/constants"),B=m("./zlib/messages"),Q=m("./zlib/zstream"),T=m("./zlib/gzheader"),w=Object.prototype.toString;function S(P){if(!(this instanceof S))return new S(P);this.options=y.assign({chunkSize:16384,windowBits:0,to:""},P||{});var M=this.options;M.raw&&M.windowBits>=0&&M.windowBits<16&&(M.windowBits=-M.windowBits,M.windowBits===0&&(M.windowBits=-15)),M.windowBits>=0&&M.windowBits<16&&!(P&&P.windowBits)&&(M.windowBits+=32),M.windowBits>15&&M.windowBits<48&&(M.windowBits&15)===0&&(M.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Q,this.strm.avail_out=0;var L=x.inflateInit2(this.strm,M.windowBits);if(L!==v.Z_OK)throw new Error(B[L]);this.header=new T,x.inflateGetHeader(this.strm,this.header)}S.prototype.push=function(P,M){var L=this.strm,F=this.options.chunkSize,k=this.options.dictionary,N,G,J,K,X,q,ee=!1;if(this.ended)return!1;G=M===~~M?M:M===!0?v.Z_FINISH:v.Z_NO_FLUSH,typeof P=="string"?L.input=I.binstring2buf(P):w.call(P)==="[object ArrayBuffer]"?L.input=new Uint8Array(P):L.input=P,L.next_in=0,L.avail_in=L.input.length;do{if(L.avail_out===0&&(L.output=new y.Buf8(F),L.next_out=0,L.avail_out=F),N=x.inflate(L,v.Z_NO_FLUSH),N===v.Z_NEED_DICT&&k&&(typeof k=="string"?q=I.string2buf(k):w.call(k)==="[object ArrayBuffer]"?q=new Uint8Array(k):q=k,N=x.inflateSetDictionary(this.strm,q)),N===v.Z_BUF_ERROR&&ee===!0&&(N=v.Z_OK,ee=!1),N!==v.Z_STREAM_END&&N!==v.Z_OK)return this.onEnd(N),this.ended=!0,!1;L.next_out&&(L.avail_out===0||N===v.Z_STREAM_END||L.avail_in===0&&(G===v.Z_FINISH||G===v.Z_SYNC_FLUSH))&&(this.options.to==="string"?(J=I.utf8border(L.output,L.next_out),K=L.next_out-J,X=I.buf2string(L.output,J),L.next_out=K,L.avail_out=F-K,K&&y.arraySet(L.output,L.output,J,K,0),this.onData(X)):this.onData(y.shrinkBuf(L.output,L.next_out))),L.avail_in===0&&L.avail_out===0&&(ee=!0)}while((L.avail_in>0||L.avail_out===0)&&N!==v.Z_STREAM_END);return N===v.Z_STREAM_END&&(G=v.Z_FINISH),G===v.Z_FINISH?(N=x.inflateEnd(this.strm),this.onEnd(N),this.ended=!0,N===v.Z_OK):(G===v.Z_SYNC_FLUSH&&(this.onEnd(v.Z_OK),L.avail_out=0),!0)},S.prototype.onData=function(P){this.chunks.push(P)},S.prototype.onEnd=function(P){P===v.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=y.flattenChunks(this.chunks)),this.chunks=[],this.err=P,this.msg=this.strm.msg};function D(P,M){var L=new S(M);if(L.push(P,!0),L.err)throw L.msg||B[L.err];return L.result}function R(P,M){return M=M||{},M.raw=!0,D(P,M)}E.Inflate=S,E.inflate=D,E.inflateRaw=R,E.ungzip=D},{"./utils/common":1,"./utils/strings":2,"./zlib/constants":4,"./zlib/gzheader":6,"./zlib/inflate":8,"./zlib/messages":10,"./zlib/zstream":11}]},{},[])("/lib/inflate.js")});var Rot=Pot;//! Use DXT1 compression. var boe=1;//! Use DXT3 compression. var Lot=1<<1;//! Use DXT5 compression. var RSe=1<<2;//! Use a very slow but very high quality colour compressor. var xGi=1<<8;//! Use a slow but high quality colour compressor (the default). var yGi=1<<3;//! Use a fast but low quality colour compressor. var IGi=1<<4;//! Weight the colour by alpha during cluster fit (disabled by default). var _Gi=1<<7,Fot=1<<5;function Not(o,A,f,m){var C=o|A<<8,E=C>>11&31,x=C>>5&63,y=C&31;return f[m+0]=E<<3|E>>2,f[m+1]=x<<2|x>>4,f[m+2]=y<<3|y>>2,f[m+3]=255,C}function LDi(o,A,f,m){for(var C=new Uint8Array(16),E=Not(A[f+0],A[f+1],C,0),x=Not(A[f+2],A[f+3],C,4),y=0;y<3;y++){var I=C[y],v=C[4+y];m&&E<=x?(C[8+y]=(I+v)/2,C[12+y]=0):(C[8+y]=(2*I+v)/3,C[12+y]=(I+2*v)/3)}C[8+3]=255,C[12+3]=m&&E<=x?0:255;for(var B=new Uint8Array(16),y=0;y<4;++y){var Q=A[f+4+y];B[4*y+0]=Q&3,B[4*y+1]=Q>>2&3,B[4*y+2]=Q>>4&3,B[4*y+3]=Q>>6&3}for(var y=0;y<16;++y)for(var T=4*B[y],w=0;w<4;++w)o[4*y+w]=C[T+w]}function FDi(o,A,f){for(var m=0;m<8;++m){var C=bytes[f+m],E=C&15,x=C&240;o[8*m+3]=E|E<<4,o[8*m+7]=x|x>>4}}function NDi(o,A,I){var m=A[I+0],C=A[I+1],E=new Uint8Array(8);if(E[0]=m,E[1]=C,m<=C){for(var x=1;x<5;++x)E[1+x]=((5-x)*m+x*C)/5;E[6]=0,E[7]=255}else for(var x=1;x<7;++x)E[1+x]=((7-x)*m+x*C)/7;for(var y=new Uint8Array(16),I=I+2,v=0,x=0;x<2;++x){for(var B=0,Q=0;Q<3;++Q){var T=A[I++];B|=T<<8*Q}for(var Q=0;Q<8;++Q){var w=B>>3*Q&7;y[v++]=w}}for(var x=0;x<16;++x)o[4*x+3]=E[y[x]]}function kDi(o,A,f,m){var C=0;(m&(Lot|RSe))!=0&&(C=8),LDi(o,A,f+C,(m&boe)!=0),(m&Lot)!=0?FDi(o,A,f):(m&RSe)!=0&&NDi(o,A,f)}function ODi(o,A,f,m){for(var C=new Uint16Array(4),E=o,x=0,y=0,I=0,v=0,B=0,Q=0,T=0,w=0,S=0,D=A/4,R=f/4,P=0;P<R;P++)for(var M=0;M<D;M++)I=4*((R-P)*D+M),C[0]=m[I],C[1]=m[I+1],v=C[0]&31,B=C[0]&2016,Q=C[0]&63488,T=C[1]&31,w=C[1]&2016,S=C[1]&63488,C[2]=5*v+3*T>>3|5*B+3*w>>3&2016|5*Q+3*S>>3&63488,C[3]=5*T+3*v>>3|5*w+3*B>>3&2016|5*S+3*Q>>3&63488,x=m[I+2],y=P*4*A+M*4,E[y]=C[x&3],E[y+1]=C[x>>2&3],E[y+2]=C[x>>4&3],E[y+3]=C[x>>6&3],y+=A,E[y]=C[x>>8&3],E[y+1]=C[x>>10&3],E[y+2]=C[x>>12&3],E[y+3]=C[x>>14],x=m[I+3],y+=A,E[y]=C[x&3],E[y+1]=C[x>>2&3],E[y+2]=C[x>>4&3],E[y+3]=C[x>>6&3],y+=A,E[y]=C[x>>8&3],E[y+1]=C[x>>10&3],E[y+2]=C[x>>12&3],E[y+3]=C[x>>14];return E}/*! @brief Decompresses an image in memory. @param rgba Storage for the decompressed pixels. @param width The width of the source image. @param height The height of the source image. @param blocks The compressed DXT blocks. @param flags Compression flags. The decompressed pixels will be written as a contiguous array of width*height 16 rgba values, with each component as 1 byte each. In memory this is: { r1, g1, b1, a1, .... , rn, gn, bn, an } for n = width*height The flags parameter should specify either kDxt1, kDxt3 or kDxt5 compression, however, DXT1 will be used by default if none is specified. All other flags are ignored. Internally this function calls squish::Decompress for each block. */function UDi(o,A,f,m,C){for(var E=(C&boe)!=0?8:16,x=0,y=0;y<f;y+=4)for(var I=0;I<A;I+=4){var v=new Uint8Array(64);kDi(v,m,x,C);for(var B=0,Q=0;Q<4;++Q)for(var T=0;T<4;++T){var w=I+T,S=y+Q;if(w<A&&S<f)for(var D=4*(A*(f-S)+w),R=0;R<4;++R)o[D++]=v[B++];else B+=4}x+=E}}function kot(o){}kot.decode=function(o,A,f,m,C){if(!(o==null||m==null||f==0||A==0)){var E=0;C>11||C===5?E=RSe:E=boe|Fot,E&boe&&E&Fot?ODi(o,A,f,m):UDi(o,A,f,m,E)}};var Oot=kot;var GDi=function(){"use strict";var o="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",A="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",f=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),m=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var C=o;WebAssembly.validate(f)&&(C=A);var E,x=WebAssembly.instantiate(y(C),{}).then(function(Q){E=Q.instance,E.exports.__wasm_call_ctors()});function y(Q){for(var T=new Uint8Array(Q.length),w=0;w<Q.length;++w){var S=Q.charCodeAt(w);T[w]=S>96?S-71:S>64?S-65:S>47?S+4:S>46?63:62}for(var D=0,w=0;w<Q.length;++w)T[D++]=T[w]<60?m[T[w]]:(T[w]-60)*64+T[++w];return T.buffer.slice(0,D)}function I(Q,T,w,S,D,R){var P=E.exports.sbrk,M=w+3&-4,L=P(M*S),F=P(D.length),k=new Uint8Array(E.exports.memory.buffer);k.set(D,F);var N=Q(L,w,S,F,D.length);if(N==0&&R&&R(L,M,S),T.set(k.subarray(L,L+w*S)),P(L-P(0)),N!=0)throw new Error("Malformed buffer data: "+N)}var v={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},B={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};return{ready:x,supported:!0,decodeVertexBuffer:function(Q,T,w,S,D){I(E.exports.meshopt_decodeVertexBuffer,Q,T,w,S,E.exports[v[D]])},decodeIndexBuffer:function(Q,T,w,S){I(E.exports.meshopt_decodeIndexBuffer,Q,T,w,S)},decodeIndexSequence:function(Q,T,w,S){I(E.exports.meshopt_decodeIndexSequence,Q,T,w,S)},decodeGltfBuffer:function(Q,T,w,S,D,R){I(E.exports[B[D]],Q,T,w,S,E.exports[v[R]])}}}(),LSe=GDi;function k8(){}k8.s3tc=!0;k8.pvrtc=!1;k8.etc1=!1;var ek={SV_Unkown:0,SV_Standard:1,SV_Compressed:2,SV_DracoCompressed:3},FSe={Standard:0,Draco:1,MeshOpt:2},HDi={0:Uint32Array.BYTES_PER_ELEMENT,1:Float32Array.BYTES_PER_ELEMENT,2:Float64Array.BYTES_PER_ELEMENT},Qoe={LUMINANCE_8:1,LUMINANCE_16:2,ALPHA:3,ALPHA_4_LUMINANCE_4:4,LUMINANCE_ALPHA:5,RGB_565:6,BGR565:7,RGB:10,BGR:11,ARGB:12,ABGR:13,BGRA:14,WEBP:25,RGBA:28,DXT1:17,DXT2:18,DXT3:19,DXT4:20,DXT5:21,CRN_DXT5:26,STANDARD_CRN:27},bR={SVC_Vertex:1,SVC_Normal:2,SVC_VertexColor:4,SVC_SecondColor:8,SVC_TexutreCoord:16,SVC_TexutreCoordIsW:32},y0={Invalid:0,Position:1,PositionW:2,Normal:4,Tangent:8,FirstTexcoord:16,SecondTexcoord:32,Color:64,SecondColor:128,Custom0:512,Custom1:1024};function VDi(o,A){let f=new Uint8Array(o,A);return Rot.inflate(f).buffer}function Got(o,m,C){var m=0,C=o.byteLength,E="utf-8";o=o.subarray(m,m+C);var x=new TextDecoder(E);return x.decode(o)}function _Q(o,A,f){let m=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let C=new Uint8Array(o,f,m),E=Got(C);return f+=m,{string:E,bytesOffset:f,length:m}}function zDi(o,A,f,m){let C={},E=[],x=new Array(16);for(let I=0;I<16;I++)x[I]=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT;C.matrix=x,C.skeletonNames=E;let y=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let I=0;I<y;I++){let v=_Q(o,A,f);E.push(v.string),f=v.bytesOffset}return m.push(C),f}function YDi(o,A,f,m,C){let E={};E.rangeList=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,E.rangeMode=A.getUint16(f,!0),f+=Uint16Array.BYTES_PER_ELEMENT;let x={};x.x=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,x.y=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,x.z=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT;let y=A.getFloat64(f,!0);if(f+=Float64Array.BYTES_PER_ELEMENT,E.boundingSphere={center:x,radius:y},C===3){let T={};T.x=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,T.y=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,T.z=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT;let w={};w.x=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,w.y=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,w.z=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT;let S={};S.x=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,S.y=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,S.z=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT;let D={};D.x=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,D.y=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,D.z=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,E.obb={xExtent:w,yExtent:S,zExtent:D,obbCenter:T}}let I=_Q(o,A,f),v=I.string;f=I.bytesOffset;let B=v.indexOf("Geometry");if(B!==-1){let T=v.substring(B);v=v.replace(T,"")}E.childTile=v,E.geodes=[];let Q=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let T=0;T<Q;T++)f=zDi(o,A,f,E.geodes);return m.push(E),C===3&&(f=_Q(o,A,f).bytesOffset),f}function JDi(o,A,f,m){let C={},E=[],x=[],y=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let I=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let B=0;B<I;B++)f=YDi(o,A,f,x,m.version);C.pageLods=x;let v=f%4;return v!==0&&(f+=4-v),m.groupNode=C,f}function Hot(o,A,f,m){let C=A.getUint32(f,!0);if(m.verticesCount=C,f+=Uint32Array.BYTES_PER_ELEMENT,f<=0)return f;let E=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let x=A.getUint16(f,!0);x=E*Float32Array.BYTES_PER_ELEMENT,f+=Uint16Array.BYTES_PER_ELEMENT;let y=C*E*Float32Array.BYTES_PER_ELEMENT,I=new Uint8Array(o,f,y);f+=y;let v=m.vertexAttributes,B=m.attrLocation;return B.aPosition=v.length,v.push({index:B.aPosition,typedArray:I,componentsPerAttribute:E,componentDatatype:5126,offsetInBytes:0,strideInBytes:x,normalize:!1}),f}function Vot(o,A,f,m){let C=A.getUint32(f,!0);if(f+=Uint32Array.BYTES_PER_ELEMENT,C<=0)return f;let E=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let x=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let y=C*E*Float32Array.BYTES_PER_ELEMENT,I=new Uint8Array(o,f,y);f+=y;let v=m.vertexAttributes,B=m.attrLocation;return B.aNormal=v.length,v.push({index:B.aNormal,typedArray:I,componentsPerAttribute:E,componentDatatype:5126,offsetInBytes:0,strideInBytes:x,normalize:!1}),f}function zot(o,A,f,m){let C=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let E=m.verticesCount,x;if(C>0){let v=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT,f+=Uint8Array.BYTES_PER_ELEMENT*2;let B=C*Uint8Array.BYTES_PER_ELEMENT*4;x=new Uint8Array(o,f,B).slice(0,B),f+=B}else{x=new Uint8Array(4*E);for(let v=0;v<E;v++)x[v*4]=255,x[v*4+1]=255,x[v*4+2]=255,x[v*4+3]=255}let y=m.vertexAttributes,I=m.attrLocation;return I.aColor=y.length,y.push({index:I.aColor,typedArray:x,componentsPerAttribute:4,componentDatatype:5121,offsetInBytes:0,strideInBytes:4,normalize:!0}),m.vertexColor=x,f}function Yot(o,A,f,m){let C=A.getUint32(f,!0);if(f+=Uint32Array.BYTES_PER_ELEMENT,C<=0)return f;let E=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT,f+=Uint8Array.BYTES_PER_ELEMENT*2;let x=C*Uint8Array.BYTES_PER_ELEMENT*4,y=new Uint8Array(o,f,x);f+=x;let I=m.vertexAttributes,v=m.attrLocation;return v.aSecondColor=I.length,I.push({index:v.aSecondColor,typedArray:y,componentsPerAttribute:4,componentDatatype:5121,offsetInBytes:0,strideInBytes:4,normalize:!0}),f}function Jot(o,A,f,m){let C=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT,f+=Uint16Array.BYTES_PER_ELEMENT;for(let E=0;E<C;E++){let x=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let y=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let I=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let v=x*y*Float32Array.BYTES_PER_ELEMENT,B=new Uint8Array(o,f,v);f+=v;let Q="aTexCoord"+E,T=m.vertexAttributes,w=m.attrLocation;w[Q]=T.length,T.push({index:w[Q],typedArray:B,componentsPerAttribute:y,componentDatatype:5126,offsetInBytes:0,strideInBytes:y*Float32Array.BYTES_PER_ELEMENT,normalize:!1})}return f}function Kot(o,A,f,m){let C=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT,f+=Uint16Array.BYTES_PER_ELEMENT;let E=m.vertexAttributes,x=m.attrLocation;for(let y=0;y<C;y++){let I=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let v=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let B=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let Q=I*v*Float32Array.BYTES_PER_ELEMENT;if(v===17||v===29){let T=new Uint8Array(o,f,Q);m.instanceCount=I,m.instanceMode=v,m.instanceBuffer=T,m.instanceIndex=1;let w=v*I*4,S=T.slice(0,w);m.vertexColorInstance=S;let D;v===17?(D=Float32Array.BYTES_PER_ELEMENT*17,x.uv2=E.length,E.push({index:x.uv2,componentsPerAttribute:4,componentDatatype:5126,normalize:!1,offsetInBytes:0,strideInBytes:D,instanceDivisor:1}),x.uv3=E.length,E.push({index:x.uv3,componentsPerAttribute:4,componentDatatype:5126,normalize:!1,offsetInBytes:4*Float32Array.BYTES_PER_ELEMENT,strideInBytes:D,instanceDivisor:1}),x.uv4=E.length,E.push({index:x.uv4,componentsPerAttribute:4,componentDatatype:5126,normalize:!1,offsetInBytes:8*Float32Array.BYTES_PER_ELEMENT,strideInBytes:D,instanceDivisor:1}),x.secondary_colour=E.length,E.push({index:x.secondary_colour,componentsPerAttribute:4,componentDatatype:5126,normalize:!1,offsetInBytes:12*Float32Array.BYTES_PER_ELEMENT,strideInBytes:D,instanceDivisor:1}),x.uv6=E.length,E.push({index:x.uv6,componentsPerAttribute:4,componentDatatype:5121,normalize:!0,offsetInBytes:16*Float32Array.BYTES_PER_ELEMENT,strideInBytes:D,instanceDivisor:1})):v===29&&(D=Float32Array.BYTES_PER_ELEMENT*29,x.uv1=E.length,E.push({index:x.uv1,componentsPerAttribute:4,componentDatatype:5126,normalize:!1,offsetInBytes:0,strideInBytes:D,instanceDivisor:1,byteLength:Q}),x.uv2=E.length,E.push({index:x.uv2,componentsPerAttribute:4,componentDatatype:5126,normalize:!1,offsetInBytes:4*Float32Array.BYTES_PER_ELEMENT,strideInBytes:D,instanceDivisor:1}),x.uv3=E.length,E.push({index:x.uv3,componentsPerAttribute:4,componentDatatype:5126,normalize:!1,offsetInBytes:8*Float32Array.BYTES_PER_ELEMENT,strideInBytes:D,instanceDivisor:1}),x.uv4=E.length,E.push({index:x.uv4,componentsPerAttribute:4,componentDatatype:5126,normalize:!1,offsetInBytes:12*Float32Array.BYTES_PER_ELEMENT,strideInBytes:D,instanceDivisor:1}),x.uv5=E.length,E.push({index:x.uv5,componentsPerAttribute:4,componentDatatype:5126,normalize:!1,offsetInBytes:16*Float32Array.BYTES_PER_ELEMENT,strideInBytes:D,instanceDivisor:1}),x.uv6=E.length,E.push({index:x.uv6,componentsPerAttribute:4,componentDatatype:5126,normalize:!1,offsetInBytes:20*Float32Array.BYTES_PER_ELEMENT,strideInBytes:D,instanceDivisor:1}),x.uv7=E.length,E.push({index:x.uv7,componentsPerAttribute:3,componentDatatype:5126,normalize:!1,offsetInBytes:24*Float32Array.BYTES_PER_ELEMENT,strideInBytes:D,instanceDivisor:1}),x.secondary_colour=E.length,E.push({index:x.secondary_colour,componentsPerAttribute:4,componentDatatype:5121,normalize:!0,offsetInBytes:27*Float32Array.BYTES_PER_ELEMENT,strideInBytes:D,instanceDivisor:1}),x.uv9=E.length,E.push({index:x.uv9,componentsPerAttribute:4,componentDatatype:5121,normalize:!0,offsetInBytes:28*Float32Array.BYTES_PER_ELEMENT,strideInBytes:D,instanceDivisor:1}))}else{let T=I*v;m.instanceBounds=new Float32Array(T);for(let w=0;w<T;w++)m.instanceBounds[w]=A.getFloat32(f+w*Float32Array.BYTES_PER_ELEMENT,!0)}f+=Q}return f}function KDi(o,A,f,m){let C=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let E=0;E<C;E++){let x=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let y=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let I=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let v=x*y*HDi[I],B=new Uint8Array(o,f,v);f+=v;let Q=m.vertexAttributes,T=m.attrLocation,w="aCustom"+E;T[w]=Q.length,Q.push({index:T[w],typedArray:B,componentsPerAttribute:y,componentDatatype:5126,offsetInBytes:0,strideInBytes:0,normalize:!1})}return f}function WDi(o,A,f,m){let C=A.getUint32(f,!0);if(m.verticesCount=C,f+=Uint32Array.BYTES_PER_ELEMENT,f<=0)return f;let E=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let x=A.getUint16(f,!0);x=E*Int16Array.BYTES_PER_ELEMENT,f+=Uint16Array.BYTES_PER_ELEMENT;let y=A.getFloat32(f,!0);f+=Float32Array.BYTES_PER_ELEMENT;let I={};I.x=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,I.y=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,I.z=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,I.w=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,m.vertCompressConstant=y,m.minVerticesValue=I;let v=C*E*Int16Array.BYTES_PER_ELEMENT,B=new Uint8Array(o,f,v);f+=v;let Q=m.vertexAttributes,T=m.attrLocation;return T.aPosition=Q.length,Q.push({index:T.aPosition,typedArray:B,componentsPerAttribute:E,componentDatatype:5122,offsetInBytes:0,strideInBytes:x,normalize:!1}),f}function jDi(o,A,f,m){let C=A.getUint32(f,!0);if(f+=Uint32Array.BYTES_PER_ELEMENT,C<=0)return f;let E=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let x=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let y=C*2*Int16Array.BYTES_PER_ELEMENT,I=new Uint8Array(o,f,y);f+=y;let v=m.vertexAttributes,B=m.attrLocation;return B.aNormal=v.length,v.push({index:B.aNormal,typedArray:I,componentsPerAttribute:2,componentDatatype:5122,offsetInBytes:0,strideInBytes:x,normalize:!1}),f}function qDi(o,A,f,m){m.texCoordCompressConstant=[],m.minTexCoordValue=[];let C=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT,f+=Uint16Array.BYTES_PER_ELEMENT;for(let E=0;E<C;E++){let x=A.getUint8(f,!0);f+=Uint8Array.BYTES_PER_ELEMENT,f+=Uint8Array.BYTES_PER_ELEMENT*3;let y=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let I=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let v=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let B=A.getFloat32(f,!0);f+=Float32Array.BYTES_PER_ELEMENT,m.texCoordCompressConstant.push(B);let Q={};Q.x=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,Q.y=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,Q.z=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,Q.w=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,m.minTexCoordValue.push(Q);let T=y*I*Int16Array.BYTES_PER_ELEMENT,w=new Uint8Array(o,f,T);f+=T;let S=f%4;S!==0&&(f+=4-S);let D="aTexCoord"+E,R=m.vertexAttributes,P=m.attrLocation;if(P[D]=R.length,R.push({index:P[D],typedArray:w,componentsPerAttribute:I,componentDatatype:5122,offsetInBytes:0,strideInBytes:I*Int16Array.BYTES_PER_ELEMENT,normalize:!1}),x){T=y*Float32Array.BYTES_PER_ELEMENT;let M=new Uint8Array(o,f,T);f+=T,m.texCoordZMatrix=!0,D="aTexCoordZ"+E,P[D]=R.length,R.push({index:P[D],typedArray:M,componentsPerAttribute:1,componentDatatype:5126,offsetInBytes:0,strideInBytes:Float32Array.BYTES_PER_ELEMENT,normalize:!1})}}return f}function XDi(o,A,f,m){let C=A.getUint32(f,!0);if(f+=Uint32Array.BYTES_PER_ELEMENT,C<=0)return f;let E=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let x=A.getUint16(f,!0);f+=Uint16Array.BYTES_PER_ELEMENT;let y=C*E*Float32Array.BYTES_PER_ELEMENT;return f+=y,f}function ZDi(o,A,f,m,C){if(C===3){let E=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT}if(f=Hot(o,A,f,m),f=Vot(o,A,f,m),f=zot(o,A,f,m),C!==3&&(f=Yot(o,A,f,m)),f=Jot(o,A,f,m),f=Kot(o,A,f,m),C===3){f=KDi(o,A,f,m);let E=_Q(o,A,f);f=E.bytesOffset,m.customVertexAttribute=JSON.parse(E.string);let x="aCustom"+m.customVertexAttribute.TextureCoordMatrix,y="aCustom"+m.customVertexAttribute.VertexWeight;m.attrLocation[x]!==void 0&&(m.attrLocation.aTextureCoordMatrix=m.attrLocation[x],delete m.attrLocation[x]),m.attrLocation[y]!==void 0&&(m.attrLocation.aVertexWeight=m.attrLocation[y],delete m.attrLocation[y]);let I=f%4;I&&(I=4-I),f+=I,f=XDi(o,A,f,m)}return f}function $Di(o,A,f,m,C,E){let x=0,y,I=C.vertexAttributes,v=C.attrLocation;switch(A){case y0.Normal:case y0.FirstTexcoord:case y0.SecondTexcoord:x=Uint16Array.BYTES_PER_ELEMENT*2,(E&16)===0&&(A===y0.FirstTexcoord||A===y0.SecondTexcoord)&&(x=Float32Array.BYTES_PER_ELEMENT*2),y=new Uint8Array(o*x);break;case y0.Color:case y0.SecondColor:x=Uint8Array.BYTES_PER_ELEMENT*4,y=new Uint8Array(o*4);break;case y0.Custom0:x=Float32Array.BYTES_PER_ELEMENT*f,y=new Uint8Array(o*f*4);break;case y0.Custom1:x=Float32Array.BYTES_PER_ELEMENT*f,y=new Uint8Array(o*f*4);break;default:x=Uint16Array.BYTES_PER_ELEMENT*4,y=new Uint8Array(o*x);break}LSe.decodeVertexBuffer(y,o,x,m,m.length);let B,Q,T;switch(A){case y0.Position:v.aPosition=I.length,I.push({index:v.aPosition,typedArray:new Uint16Array(y.buffer,0,y.length/2),componentsPerAttribute:4,componentDatatype:5122,offsetInBytes:0,strideInBytes:0,normalize:!1}),C.verticesCount=o;break;case y0.Normal:v.aNormal=I.length,I.push({index:v.aNormal,typedArray:new Int16Array(y.buffer,0,y.length/2),componentsPerAttribute:2,componentDatatype:5122,offsetInBytes:0,strideInBytes:0,normalize:!1});break;case y0.FirstTexcoord:(E&16)===0?(T=5126,Q=Float32Array,B=new Float32Array(y.buffer,0,y.length/4)):(T=5122,Q=Uint16Array,B=new Uint16Array(y.buffer,0,y.length/2)),v.aTexCoord0=I.length,I.push({index:v.aTexCoord0,typedArray:B,componentsPerAttribute:2,componentDatatype:T,offsetInBytes:0,strideInBytes:0,normalize:!1});break;case y0.SecondTexcoord:(E&16)===0?(T=5126,Q=Float32Array,B=new Float32Array(y.buffer,0,y.length/4)):(T=5122,Q=Uint16Array,B=new Uint16Array(y.buffer,0,y.length/2)),v.aTexCoord1=I.length,I.push({index:v.aTexCoord1,typedArray:B,componentsPerAttribute:2,componentDatatype:T,offsetInBytes:0,strideInBytes:0,normalize:!1});break;case y0.Color:v.aColor=I.length,I.push({index:v.aColor,typedArray:y,componentsPerAttribute:4,componentDatatype:5121,offsetInBytes:0,strideInBytes:0,normalize:!0});break;case y0.SecondColor:v.aSecondColor=I.length,I.push({index:v.aSecondColor,typedArray:y,componentsPerAttribute:4,componentDatatype:5120,offsetInBytes:0,strideInBytes:0,normalize:!1});break;case y0.Custom0:v.aCustom0=I.length,I.push({index:v.aCustom0,typedArray:new Float32Array(y.buffer,0,y.length/4),componentsPerAttribute:f,componentDatatype:5126,offsetInBytes:0,strideInBytes:0,normalize:!1});break;case y0.Custom1:v.aCustom1=I.length,I.push({index:v.aCustom1,typedArray:new Float32Array(y.buffer,0,y.length/4),componentsPerAttribute:f,componentDatatype:5126,offsetInBytes:0,strideInBytes:0,normalize:!1});break;default:break}}function eTi(o,A,f,m,C){let E=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT,m.compressOptions=E;let x=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT,m.minVerticesValue={x:0,y:0,z:0,w:0},m.minTexCoordValue=[{x:0,y:0},{x:0,y:0}],m.texCoordCompressConstant=[{x:0,y:0,z:0},{x:0,y:0,z:0}];let y=[];for(let I=0;I<x;I++){let v=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT,m.vertCompressConstant=A.getFloat32(f,!0),f+=Float32Array.BYTES_PER_ELEMENT,m.minVerticesValue.x=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,m.minVerticesValue.y=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,m.minVerticesValue.z=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT;let B=A.getFloat64(f,!0);f+=Float64Array.BYTES_PER_ELEMENT;let Q=A.getFloat64(f,!0);f+=Float64Array.BYTES_PER_ELEMENT;let T=A.getFloat64(f,!0);f+=Float64Array.BYTES_PER_ELEMENT;let w=A.getFloat64(f,!0);f+=Float64Array.BYTES_PER_ELEMENT;let S=A.getFloat64(f,!0);f+=Float64Array.BYTES_PER_ELEMENT;let D=A.getFloat64(f,!0);f+=Float64Array.BYTES_PER_ELEMENT;let R=A.getFloat64(f,!0);f+=Float64Array.BYTES_PER_ELEMENT;let P=A.getFloat64(f,!0);f+=Float64Array.BYTES_PER_ELEMENT,m.minTexCoordValue[0].x=T,m.minTexCoordValue[0].y=w,m.minTexCoordValue[1].x=R,m.minTexCoordValue[1].y=P,m.texCoordCompressConstant[0].x=B,m.texCoordCompressConstant[0].y=Q,m.texCoordCompressConstant[1].x=S,m.texCoordCompressConstant[1].y=D;let M=A.getInt32(f,!0);f+=Int32Array.BYTES_PER_ELEMENT;for(let G=0;G<M;G++){let J=A.getInt32(f,!0);f+=Int32Array.BYTES_PER_ELEMENT;let K=0;(J===y0.Custom0||J===y0.Custom1)&&(K=A.getInt32(f,!0),f+=Int32Array.BYTES_PER_ELEMENT);let X=A.getInt32(f,!0);f+=Int32Array.BYTES_PER_ELEMENT;let q=new Uint8Array(o,f,X);f+=Uint8Array.BYTES_PER_ELEMENT*X;let ee=f%4;ee&&(ee=4-ee),f+=ee,$Di(v,J,K,q,m,E)}let L=_Q(o,A,f);f=L.bytesOffset,m.customVertexAttribute=JSON.parse(L.string);let F="aCustom"+m.customVertexAttribute.TextureCoordMatrix,k="aCustom"+m.customVertexAttribute.VertexWeight;m.attrLocation[F]!==void 0&&(m.attrLocation.aTextureCoordMatrix=m.attrLocation[F],I===x-1&&delete m.attrLocation[F]),m.attrLocation[k]!==void 0&&(m.attrLocation.aVertexWeight=m.attrLocation[k],I===x-1&&delete m.attrLocation[k]);let N=f%4;N&&(N=4-N),f+=N}return f}function tTi(o,A,f,m,C){let E=A.getInt32(f,!0);f+=Int32Array.BYTES_PER_ELEMENT;for(let x=0;x<E;x++){let y={},I=A.getInt32(f,!0);if(f+=Int32Array.BYTES_PER_ELEMENT,I<1)continue;let v=A.getInt8(f,!0);f+=Int8Array.BYTES_PER_ELEMENT;let B=A.getInt8(f,!0);f+=Int8Array.BYTES_PER_ELEMENT;let Q=A.getInt8(f,!0);f+=Int8Array.BYTES_PER_ELEMENT;let T=A.getInt8(f,!0);f+=Int8Array.BYTES_PER_ELEMENT;let w=A.getInt32(f,!0);f+=Int32Array.BYTES_PER_ELEMENT;let S;Q!==13?(S=new Uint8Array(o,f,w),f+=Uint8Array.BYTES_PER_ELEMENT*w):(S=new Uint32Array(o,f,w),f+=Uint32Array.BYTES_PER_ELEMENT*w);let D=f%4;D&&(D=4-D),f+=D;let R;Q!==13?(R=new Uint8Array(I*Uint32Array.BYTES_PER_ELEMENT),LSe.decodeIndexBuffer(R,I,Uint32Array.BYTES_PER_ELEMENT,S)):R=S;let P=A.getInt32(f,!0);f+=Int32Array.BYTES_PER_ELEMENT,y.indexType=v;let M=v===0?new Uint16Array(I):new Uint32Array(I);y.indicesCount=I;let L=new Uint32Array(R.buffer,R.byteOffset,R.byteLength/4);M.set(L,0),y.indicesTypedArray=M,y.primitiveType=Q;for(let F=0;F<P;F++){let k=_Q(o,A,f);f=k.bytesOffset,y.materialCode=k.string}m.push(y),D=f%4,D&&(D=4-D),f+=D}return f}function iTi(o,A,f,m){let C=A.getUint32(f,!0);return m.compressOptions=C,f+=Uint32Array.BYTES_PER_ELEMENT,(C&bR.SVC_Vertex)===bR.SVC_Vertex?f=WDi(o,A,f,m):f=Hot(o,A,f,m),(C&bR.SVC_Normal)===bR.SVC_Normal?f=jDi(o,A,f,m):f=Vot(o,A,f,m),f=zot(o,A,f,m),f=Yot(o,A,f,m),(C&bR.SVC_TexutreCoord)===bR.SVC_TexutreCoord?f=qDi(o,A,f,m):f=Jot(o,A,f,m),(C&bR.SVC_TexutreCoordIsW)===bR.SVC_TexutreCoordIsW&&(m.textureCoordIsW=!0),f=Kot(o,A,f,m),f}function rTi(o,A,f,m,C){let E=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let x=0;x<E;x++){let y={};if(C===3){let D=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT}let I=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let v=A.getUint8(f,!0);f+=Uint8Array.BYTES_PER_ELEMENT;let B=A.getUint8(f,!0);f+=Uint8Array.BYTES_PER_ELEMENT;let Q=A.getUint8(f,!0);if(f+=Uint8Array.BYTES_PER_ELEMENT,f+=Uint8Array.BYTES_PER_ELEMENT,I>0){let D=null,R;v===1||v===3?(R=I*Uint32Array.BYTES_PER_ELEMENT,D=new Uint8Array(o,f,R)):(R=I*Uint16Array.BYTES_PER_ELEMENT,D=new Uint8Array(o,f,R),I%2!==0&&(R+=2)),y.indicesTypedArray=D,f+=R}y.indicesCount=I,y.indexType=v,y.primitiveType=Q;let T=[],w=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let D=0;D<w;D++){let R=_Q(o,A,f),P=R.string;f=R.bytesOffset,T.push(P),y.materialCode=P}if(f%4!==0){let D=4-f%4;f+=D}m.push(y)}return f}function nTi(o,A,f,m,C){let E=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let x=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let y=0;y<x;y++){if(C===3){let D=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT}let I=_Q(o,A,f),v=I.string;f=I.bytesOffset;let B=I.length%4;B!==0&&(f+=4-B);let Q=A.getUint32(f,!0);if(f+=Int32Array.BYTES_PER_ELEMENT,C===3)switch(Q){case FSe.Standard:Q=ek.SV_Standard;break;case FSe.Draco:Q=ek.SV_DracoCompressed;break;case FSe.MeshOpt:Q=ek.SV_Compressed;break;default:break}let T={vertexAttributes:[],attrLocation:{},instanceCount:0,instanceMode:0,instanceIndex:-1};Q===ek.SV_Standard?f=ZDi(o,A,f,T,C):Q===ek.SV_Compressed&&C===3?f=eTi(o,A,f,T,C):Q===ek.SV_Compressed&&(f=iTi(o,A,f,T));let w=[];Q===ek.SV_Compressed&&C===3?f=tTi(o,A,f,w,C):f=rTi(o,A,f,w,C);let S;if(w.length===2&&w[1].primitiveType===13&&w[1].indicesCount>=3&&(S=S3MEdgeProcessor.createEdgeDataByIndices(T,w[1])),m[v]={vertexPackage:T,arrIndexPackage:w,edgeGeometry:S},C===3){let D={};D.x=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,D.y=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,D.z=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT;let R={};R.x=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,R.y=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,R.z=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT;let P={};P.x=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,P.y=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,P.z=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT;let M={};M.x=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,M.y=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT,M.z=A.getFloat64(f,!0),f+=Float64Array.BYTES_PER_ELEMENT}}if(C!==3){let y=A.getUint32(f,!0);f+=y,f+=Uint32Array.BYTES_PER_ELEMENT}return f}function oTi(o,A,f,m){let C=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let E=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let x=0;x<E;x++){let y=_Q(o,A,f),I=y.string;f=y.bytesOffset;let v=y.length%4;v!==0&&(f+=4-v);let B=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let Q=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let T=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let w=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let S=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let D=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let R=new Uint8Array(o,f,S);f+=S;let P=D===Qoe.RGB||D===Qoe.BGR?33776:33779;if(w===22&&(P=36196),!k8.s3tc&&(P===33776||P===33779)){let M=new Uint8Array(Q*T*4);Oot.decode(M,Q,T,R,D),R=M,w=0,P=D===Qoe.RGB||D===Qoe.RGB?273:4369}m[I]={id:I,width:Q,height:T,compressType:w,nFormat:D,internalFormat:P,arrayBufferView:R}}return f}function aTi(o,A,f,m){let C=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let E=new Uint8Array(o,f,C),x=Got(E);return f+=C,m.materials=JSON.parse(x),f}var Soe={red:0,green:0,blue:0,alpha:0};var sTi=65536;function lTi(o,A,f,m,C,E){if(E===3&&(m=A.getUint32(f,!0),f+=Uint32Array.BYTES_PER_ELEMENT),(m&1)===1){let x=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let y=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let I=0;I<y;I++){let v=_Q(o,A,f),B=v.string;f=v.bytesOffset;let Q=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let T={};if(C[B].pickInfo=T,C[B].vertexPackage.instanceIndex==-1){let S=new Float32Array(C[B].vertexPackage.verticesCount);for(let D=0;D<Q;D++){let R=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let P=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let M=[];for(let L=0;L<P;L++){let F=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;let k=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT,S.fill(D,F,F+k),M.push({vertexColorOffset:F,vertexColorCount:k,batchId:D})}T[R]=M}Uot(C[B].vertexPackage,S,void 0)}else{let S=C[B].vertexPackage.instanceCount,D=C[B].vertexPackage.instanceBuffer,R=C[B].vertexPackage.instanceMode,P=new Float32Array(S),M=[];for(let F=0;F<Q;F++){let k=A.getUint32(f,!0);M.push(k),f+=Uint32Array.BYTES_PER_ELEMENT;let N=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT;for(let G=0;G<N;G++){let J=A.getUint32(f,!0);if(f+=Uint32Array.BYTES_PER_ELEMENT,E===3){let K=A.getUint32(f,!0);f+=Uint32Array.BYTES_PER_ELEMENT}}}let L=R===17?16:28;L*=Float32Array.BYTES_PER_ELEMENT;for(let F=0;F<S;F++){P[F]=F;let k=F*R*Float32Array.BYTES_PER_ELEMENT+L;Cesium.Color.unpack(D,k,Soe);let N=E===2?M[F]:Soe.red+Soe.green*256+Soe.blue*sTi;T[N]===void 0&&(T[N]={vertexColorCount:1,instanceIds:[],vertexColorOffset:F}),T[N].instanceIds.push(F)}Uot(C[B].vertexPackage,P,1)}}}return f}function Uot(o,A,f){let m=o.vertexAttributes,C=o.attrLocation,E=m.length,x=f===1?"instanceId":"batchId";C[x]=E,m.push({index:E,typedArray:A,componentsPerAttribute:1,componentDatatype:5126,offsetInBytes:0,strideInBytes:0,instanceDivisor:f})}k8.parseBuffer=function(o){let A=0,f={version:void 0,groupNode:void 0,geoPackage:{},matrials:void 0,texturePackage:{}},m=new DataView(o);if(f.version=m.getFloat32(A,!0),A+=Float32Array.BYTES_PER_ELEMENT,f.version>=2){let I=m.getUint32(A,!0);A+=Uint32Array.BYTES_PER_ELEMENT}let C=0;f.version>=3&&(C=m.getUint32(A,!0),A+=Uint32Array.BYTES_PER_ELEMENT);let E=m.getUint32(A,!0);A+=Uint32Array.BYTES_PER_ELEMENT;let x=VDi(o,A);m=new DataView(x),A=0;let y=m.getUint32(A,!0);return A+=Uint32Array.BYTES_PER_ELEMENT,A=JDi(x,m,A,f),A=nTi(x,m,A,f.geoPackage,f.version),A=oTi(x,m,A,f.texturePackage),A=aTi(x,m,A,f),lTi(x,m,A,y,f.geoPackage,f.version),f};var rK=k8;function Doe(o,A,f){let m=o._gl;this.contextId=o.id,this.textureId=A,this.layerId=f.layerId,this.rootName=f.rootName,this.context=o,this.width=f.width,this.height=f.height,this.compressType=f.compressType,this.internalFormat=f.internalFormat,this.pixelFormat=f.pixelFormat,this.arrayBufferView=f.arrayBufferView,this.wrapS=Cesium.defaultValue(f.wrapS,Cesium.TextureWrap.CLAMP_TO_EDGE),this.wrapT=Cesium.defaultValue(f.wrapT,Cesium.TextureWrap.CLAMP_TO_EDGE),this._target=m.TEXTURE_2D,this._texture=void 0,this.refCount=1,this.arrayBufferView&&this.init()}Doe.prototype.init=function(){let o=this.context._gl;this._texture||(this._texture=o.createTexture()),o.bindTexture(o.TEXTURE_2D,this._texture);let A=this.internalFormat;(A===6410||A===4369)&&o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,!0);let f=0,m=0,C=this.width,E=this.height,x=uTi(this.arrayBufferView,A,C,E);do{let y=Cesium.PixelFormat.compressedTextureSizeInBytes(A,C,E),I=new Uint8Array(this.arrayBufferView.buffer,this.arrayBufferView.byteOffset+m,y);A===4369?o.texImage2D(o.TEXTURE_2D,f++,o.RGBA,C,E,0,o.RGBA,o.UNSIGNED_BYTE,I):o.compressedTexImage2D(o.TEXTURE_2D,f++,A,C,E,0,I),C=Math.max(C>>1,1),E=Math.max(E>>1,1),m+=y}while(m<this.arrayBufferView.byteLength&&x);f>1?(o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MAG_FILTER,o.LINEAR),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MIN_FILTER,o.LINEAR_MIPMAP_LINEAR)):(o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MAG_FILTER,o.LINEAR),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MIN_FILTER,o.LINEAR)),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_S,this.wrapS),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_T,this.wrapT),o.texParameteri(this._target,this.context._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,1),o.bindTexture(o.TEXTURE_2D,null),this.arrayBufferView=void 0,this.ready=!0};function uTi(o,A,f,m){let C=o.length,E=f,x=m,y=0;for(;;){let I=Cesium.PixelFormat.compressedTextureSizeInBytes(A,E,x);if(y+=I,E=E>>1,x=x>>1,E===0&&x===0)break;E=Math.max(E,1),x=Math.max(x,1)}return y===C}Doe.prototype.isDestroyed=function(){return!1};Doe.prototype.destroy=function(){this.context._gl.deleteTexture(this._texture),this._texture=null,this.id=0,Cesium.destroyObject(this)};var Wot=Doe;function NSe(){this.ambientColor=new Cesium.Color,this.diffuseColor=new Cesium.Color,this.specularColor=new Cesium.Color(0,0,0,0),this.shininess=50,this.bTransparentSorting=!1,this.texMatrix=Cesium.Matrix4.clone(Cesium.Matrix4.IDENTITY,new Cesium.Matrix4),this.textures=[]}NSe.prototype.isDestroyed=function(){return!1};NSe.prototype.destroy=function(){let o=this.textures.length;for(let A=0;A<o;A++)this.textures[A].destroy();return this.textures.length=0,this.ambientColor=void 0,this.diffuseColor=void 0,this.specularColor=void 0,Cesium.destroyObject(this)};var Toe=NSe;var jot=` in vec4 aPosition; #ifdef VertexColor in vec4 aColor; #endif #ifdef VertexNormal in vec3 aNormal; #endif #ifdef Instance in float instanceId; #else in float batchId; #endif #ifdef USE_VertexWeight in float aVertexWeight; #endif #ifdef USE_TextureCoordMatrix in vec2 aTextureCoordMatrix; #endif #ifdef TexCoord in vec4 aTexCoord0; out vec4 vTexCoord; uniform mat4 uTexMatrix; #ifdef COMPUTE_TEXCOORD uniform float uTexture0Width; out vec4 vTexMatrix; out vec4 vTexCoordTransform; out vec2 vIsRGBA; #endif #endif #ifdef TexCoord2 in vec4 aTexCoord1; uniform float uTexture1Width; out vec4 vTexMatrix2; #endif #ifdef InstanceBim in vec4 uv2; in vec4 uv3; in vec4 uv4; in vec4 secondary_colour; in vec4 uv6; #endif #ifdef InstancePipe in vec4 uv1; in vec4 uv2; in vec4 uv3; in vec4 uv4; in vec4 uv5; in vec4 uv6; in vec4 uv7; in vec4 secondary_colour; in vec4 uv9; #endif uniform vec4 uFillForeColor; uniform vec4 uSelectedColor; out vec4 vSecondColor; out vec4 vPositionMC; out vec3 vPositionEC; #ifdef VertexNormal out vec3 vNormalEC; #endif out vec4 vColor; const float SHIFT_LEFT8 = 256.0; const float SHIFT_RIGHT8 = 1.0 / 256.0; const float SHIFT_RIGHT4 = 1.0 / 16.0; const float SHIFT_LEFT4 = 16.0; void getTextureMatrixFromZValue(in float nZ, inout float XTran, inout float YTran, inout float scale, inout float isRGBA) { if(nZ <= 0.0) { return; } float nDel8 = floor(nZ * SHIFT_RIGHT8); float nDel16 = floor(nDel8 * SHIFT_RIGHT8); float nDel20 = floor(nDel16 * SHIFT_RIGHT4); isRGBA = floor(nDel20); YTran = nZ - nDel8 * SHIFT_LEFT8; XTran = nDel8 - nDel16 * SHIFT_LEFT8; float nLevel = nDel16 - nDel20 * SHIFT_LEFT4; scale = 1.0 / pow(2.0, nLevel); } void operation(vec4 operationType, vec4 color, vec4 selectedColor, inout vec4 vertexColor) { float right_2 = operationType.x * 0.5; float right_4 = right_2 * 0.5; float right_8 = right_4 * 0.5; float right_16 = right_8 * 0.5; float isSetColor = fract(right_2); if(isSetColor > 0.1) { vertexColor *= color; } float isPicked = fract(floor(right_2)* 0.5); if(isPicked > 0.1) { vertexColor *= selectedColor; } float isHide = fract(floor(right_4)* 0.5); if(isHide > 0.1) { vertexColor.a = 0.0; } } #ifdef COMPRESS_TEXCOORD #ifdef TexCoord uniform vec2 decode_texCoord0_min; #endif #ifdef TexCoord2 uniform vec2 decode_texCoord1_min; #endif #ifdef MeshOPT_Compress uniform vec3 decode_texCoord0_vNormConstant; uniform vec3 decode_texCoord1_vNormConstant; #else uniform float decode_texCoord0_normConstant; uniform float decode_texCoord1_normConstant; #endif #endif #ifdef COMPRESS_VERTEX uniform vec4 decode_position_min; uniform float decode_position_normConstant; #endif #ifdef COMPRESS_NORMAL uniform float normal_rangeConstant; #endif void main() { #ifdef COMPRESS_VERTEX vec4 vertexPos = vec4(1.0); vertexPos = decode_position_min + vec4(aPosition.xyz, 1.0) * decode_position_normConstant; #else vec4 vertexPos = aPosition; #endif #ifdef TexCoord #ifdef COMPRESS_TEXCOORD #ifdef MeshOPT_Compress vec2 texCoord0; texCoord0.x = aTexCoord0.x * decode_texCoord0_vNormConstant.x; texCoord0.y = aTexCoord0.y * decode_texCoord0_vNormConstant.y; vTexCoord.xy = decode_texCoord0_min + texCoord0.xy; #else vTexCoord.xy = decode_texCoord0_min.xy + aTexCoord0.xy * decode_texCoord0_normConstant; #endif #else vTexCoord.xy = aTexCoord0.xy; #endif #ifdef COMPUTE_TEXCOORD vTexMatrix = vec4(0.0,0.0,1.0,0.0); vIsRGBA.x = 0.0; vTexCoordTransform.x = aTexCoord0.z; #ifdef USE_TextureCoordMatrix vTexCoordTransform.x = aTextureCoordMatrix.x; #endif if(vTexCoordTransform.x < -90000.0) { vTexMatrix.z = -1.0; } getTextureMatrixFromZValue(floor(vTexCoordTransform.x), vTexMatrix.x, vTexMatrix.y, vTexMatrix.z, vIsRGBA.x); vTexMatrix.w = log2(uTexture0Width * vTexMatrix.z); #endif #endif #ifdef TexCoord2 #ifdef COMPRESS_TEXCOORD #ifdef MeshOPT_Compress vec2 texCoord1; texCoord1.x = aTexCoord1.x * decode_texCoord1_vNormConstant.x; texCoord1.y = aTexCoord1.y * decode_texCoord1_vNormConstant.y; vTexCoord.zw = decode_texCoord1_min + texCoord1.xy; #else vTexCoord.zw = decode_texCoord1_min.xy + aTexCoord1.xy * decode_texCoord1_normConstant; #endif #else vTexCoord.zw = aTexCoord1.xy; #endif vTexMatrix2 = vec4(0.0,0.0,1.0,0.0); vIsRGBA.y = 0.0; vTexCoordTransform.y = aTexCoord1.z; #ifdef USE_TextureCoordMatrix vTexCoordTransform.y = aTextureCoordMatrix.y; #endif if(vTexCoordTransform.y < -90000.0) { vTexMatrix2.z = -1.0; } getTextureMatrixFromZValue(floor(vTexCoordTransform.y), vTexMatrix2.x, vTexMatrix2.y, vTexMatrix2.z, vIsRGBA.y); vTexMatrix2.w = log2(uTexture1Width * vTexMatrix.z); #endif vec4 vertexColor = uFillForeColor; #ifdef VertexColor vertexColor *= aColor; #endif #ifdef VertexNormal vec3 normal = aNormal; #ifdef COMPRESS_NORMAL #ifdef MeshOPT_Compress normal.x = aNormal.x / 127.0; normal.y = aNormal.y / 127.0; normal.z = 1.0 - abs(normal.x) - abs(normal.y); normal = normalize(normal); #else normal = czm_octDecode(aNormal.xy, normal_rangeConstant).zxy; #endif #endif #endif #ifdef InstanceBim mat4 worldMatrix; worldMatrix[0] = uv2; worldMatrix[1] = uv3; worldMatrix[2] = uv4; worldMatrix[3] = vec4(0, 0, 0, 1); vertexPos = vec4(vertexPos.xyz,1.0) * worldMatrix; vertexColor *= secondary_colour; #endif #ifdef InstancePipe mat4 worldMatrix; mat4 worldMatrix0; mat4 worldMatrix1; vec4 worldPos0; vec4 worldPos1; worldMatrix0[0] = uv1; worldMatrix0[1] = uv2; worldMatrix0[2] = uv3; worldMatrix0[3] = vec4( 0.0, 0.0, 0.0, 1.0 ); worldMatrix1[0] = uv4; worldMatrix1[1] = uv5; worldMatrix1[2] = uv6; worldMatrix1[3] = vec4( 0.0, 0.0, 0.0, 1.0 ); vec4 realVertex = vec4(vertexPos.xyz, 1.0); realVertex.x = realVertex.x * uv7.z; worldPos0 = realVertex * worldMatrix0; worldPos1 = realVertex * worldMatrix1; vertexColor *= secondary_colour; #ifdef TexCoord if(aTexCoord0.y > 0.5) { vec4 tex4Vec = uTexMatrix * vec4(uv7.y, aTexCoord0.x, 0.0, 1.0); vTexCoord.xy = tex4Vec.xy; vertexPos = worldPos1; worldMatrix = worldMatrix1; } else { vec4 tex4Vec = uTexMatrix * vec4(uv7.x, aTexCoord0.x, 0.0, 1.0); vTexCoord.xy = tex4Vec.xy; vertexPos = worldPos0; worldMatrix = worldMatrix0; } #endif #ifdef VertexNormal normal.x = normal.x * uv7.z; #endif #endif #ifdef Instance float index = instanceId; #else float index = batchId; #endif vec4 operationType = batchTable_operation(index); operation(operationType, vec4(1.0), uSelectedColor, vertexColor); vSecondColor = batchTable_pickColor(index); vec4 positionMC = vec4(vertexPos.xyz, 1.0); vColor = vertexColor; #ifdef VertexNormal vNormalEC = czm_normal * normal; #endif vPositionMC = positionMC; vPositionEC = (czm_modelView * positionMC).xyz; gl_Position = czm_modelViewProjection * vec4(vertexPos.xyz, 1.0); }`;var qot=`#ifdef GL_OES_standard_derivatives #extension GL_OES_standard_derivatives : enable #endif #ifdef GL_EXT_shader_texture_lod #extension GL_EXT_shader_texture_lod : enable #endif uniform vec4 uDiffuseColor; #ifdef TexCoord in vec4 vTexCoord; #ifdef COMPUTE_TEXCOORD uniform sampler2D uTexture; uniform float uTexture0Width; in vec4 vTexCoordTransform; in vec4 vTexMatrix; in vec2 vIsRGBA; #endif #endif in vec4 vColor; in vec4 vSecondColor; in vec4 vPositionMC; in vec3 vPositionEC; #ifdef VertexNormal in vec3 vNormalEC; #endif #ifdef TexCoord2 uniform sampler2D uTexture2; uniform float uTexture1Width; in vec4 vTexMatrix2; #endif #ifdef COMPUTE_TEXCOORD void calculateMipLevel(in vec2 inTexCoord, in float vecTile, in float fMaxMip, inout float mipLevel) { vec2 dx = dFdx(inTexCoord * vecTile); vec2 dy = dFdy(inTexCoord * vecTile); float dotX = dot(dx, dx); float dotY = dot(dy, dy); float dMax = max(dotX, dotY); float dMin = min(dotX, dotY); float offset = (dMax - dMin) / (dMax + dMin); offset = clamp(offset, 0.0, 1.0); float d = dMax * (1.0 - offset) + dMin * offset; mipLevel = 0.5 * log2(d); mipLevel = clamp(mipLevel, 0.0, fMaxMip - 1.62); } void calculateTexCoord(in vec3 inTexCoord, in float scale, in float XTran, in float YTran, in float fTile, in float mipLevel, inout vec2 outTexCoord) { if(inTexCoord.z < -9000.0) { outTexCoord = inTexCoord.xy; } else { vec2 fTexCoord = fract(inTexCoord.xy); float offset = 1.0 * pow(2.0, mipLevel) / fTile; fTexCoord = clamp(fTexCoord, offset, 1.0 - offset); outTexCoord.x = (fTexCoord.x + XTran) * scale; outTexCoord.y = (fTexCoord.y + YTran) * scale; } } vec4 getTexColorForS3M(sampler2D curTexture, vec3 oriTexCoord, float texTileWidth, float fMaxMipLev, float fTexCoordScale, vec2 vecTexCoordTranslate, float isRGBA) { vec4 color = vec4(1.0); float mipLevel = 0.0; #ifdef GL_OES_standard_derivatives calculateMipLevel(oriTexCoord.xy, texTileWidth, fMaxMipLev, mipLevel); #endif vec2 realTexCoord; calculateTexCoord(oriTexCoord, fTexCoordScale, vecTexCoordTranslate.x, vecTexCoordTranslate.y, texTileWidth, mipLevel, realTexCoord); if(isRGBA > 0.5) { vec2 rgbTexCoord; rgbTexCoord.x = (realTexCoord.x + vecTexCoordTranslate.x * fTexCoordScale) * 0.5; rgbTexCoord.y = (realTexCoord.y + vecTexCoordTranslate.y * fTexCoordScale) * 0.5; color = texture(curTexture, rgbTexCoord.xy, -10.0); vec2 vecAlphaTexCoord; vecAlphaTexCoord.x = rgbTexCoord.x; vecAlphaTexCoord.y = rgbTexCoord.y + fTexCoordScale * 0.5; color.a = texture(curTexture, vecAlphaTexCoord.xy, -10.0).r; } else { if(oriTexCoord.z < -9000.0) { color = texture(curTexture, realTexCoord.xy); } else { #ifdef GL_EXT_shader_texture_lod color = texture2DLodEXT(curTexture, realTexCoord.xy, mipLevel); #else color = texture(curTexture, realTexCoord.xy, mipLevel); #endif } } return color; } vec4 getTextureColor() { if(vTexMatrix.z < 0.0) { return vec4(1.0); } float texTileWidth0 = vTexMatrix.z * uTexture0Width; vec3 realTexCoord = vec3(vTexCoord.xy, vTexCoordTransform.x); vec4 FColor = getTexColorForS3M(uTexture, realTexCoord, texTileWidth0, vTexMatrix.w, vTexMatrix.z, vTexMatrix.xy, vIsRGBA.x); #ifdef TexCoord2 float texTileWidth1 = vTexMatrix2.z * uTexture1Width; realTexCoord = vec3(vTexCoord.zw, vTexCoordTransform.y); vec4 SColor = getTexColorForS3M(uTexture2, realTexCoord, texTileWidth1, vTexMatrix2.w, vTexMatrix2.z, vTexMatrix2.xy, vIsRGBA.y); SColor.r = clamp(SColor.r, 0.0, 1.0); SColor.g = clamp(SColor.g, 0.0, 1.0); SColor.b = clamp(SColor.b, 0.0, 1.0); return FColor * SColor; #else return FColor; #endif } #endif vec4 SRGBtoLINEAR4(vec4 srgbIn) { #ifndef HDR vec3 linearOut = pow(srgbIn.rgb, vec3(2.2)); return vec4(linearOut, srgbIn.a); #else return srgbIn; #endif } vec3 LINEARtoSRGB(vec3 linearIn) { #ifndef HDR return pow(linearIn, vec3(1.0/2.2)); #else return linearIn; #endif } vec3 applyTonemapping(vec3 linearIn) { #ifndef HDR return czm_acesTonemapping(linearIn); #else return linearIn; #endif } vec3 computeNormal(in vec3 oriVertex) { vec3 normal = cross(vec3(dFdx(oriVertex.x), dFdx(oriVertex.y), dFdx(oriVertex.z)), vec3(dFdy(oriVertex.x), dFdy(oriVertex.y), dFdy(oriVertex.z))); normal = normalize(normal); return normal; } void main() { if(vColor.a < 0.1) { discard; } vec4 baseColorWithAlpha = vColor; #ifdef COMPUTE_TEXCOORD baseColorWithAlpha *= SRGBtoLINEAR4(getTextureColor()); #endif if(baseColorWithAlpha.a < 0.1) { discard; } vec3 normal = vec3(0.0); #ifdef VertexNormal normal = normalize(vNormalEC); #endif normal = length(normal) > 0.1 ? normal : computeNormal(vPositionMC.xyz); vec3 color = baseColorWithAlpha.rgb; vec3 dirVectorEC = normalize(czm_lightDirectionEC); float dotProduct = dot( normal, dirVectorEC ); float dirDiffuseWeight = max( dotProduct, 0.0 ); dirDiffuseWeight = dirDiffuseWeight * 0.5 + 0.5; color += color * uDiffuseColor.rgb * dirDiffuseWeight; #ifdef TexCoord color = LINEARtoSRGB(color); #endif out_FragColor = vec4(color, baseColorWithAlpha.a); }`;function kSe(){this.context=void 0,this.model=void 0,this.index=void 0}kSe.prototype.set=function(o,A,f){this.context=o,this.model=A,this.index=f};kSe.prototype.execute=function(){let o=this.context,A=this.index,f=this.model.vertexPackage,m=f.vertexAttributes[A];if(!Cesium.defined(m))throw new Cesium.DeveloperError("attribute is null");if(f.instanceIndex!==-1&&!Cesium.defined(this.model.instanceBuffer)){if(!Cesium.defined(f.instanceBuffer))throw new Cesium.DeveloperError("instance buffer is null");this.model.instanceBuffer=Cesium.Buffer.createVertexBuffer({context:o,typedArray:f.instanceBuffer,usage:Cesium.BufferUsage.STATIC_DRAW})}if(m.instanceDivisor===1&&!Cesium.defined(m.typedArray)){m.vertexBuffer=this.model.instanceBuffer;return}Cesium.defined(m.vertexBuffer)||(m.vertexBuffer=Cesium.Buffer.createVertexBuffer({context:o,typedArray:m.typedArray,usage:Cesium.BufferUsage.STATIC_DRAW}),m.typedArray=null,delete m.typedArray)};var Xot=kSe;function OSe(){this.model=void 0,this.context=void 0,this.index=0}OSe.prototype.set=function(o,A,f){this.model=A,this.context=o,this.index=f};OSe.prototype.execute=function(){let o=this.context,A=this.model.arrIndexPackage[this.index],f=this.model.vertexPackage.verticesCount;if(!Cesium.defined(A))throw new Cesium.DeveloperError("index package is null");if(Cesium.defined(A.indexBuffer))return;if(!Cesium.defined(A.indicesTypedArray))throw new Cesium.DeveloperError("index buffer is null");let m=Cesium.IndexDatatype.UNSIGNED_SHORT;(A.indexType===1||f>=Cesium.Math.SIXTY_FOUR_KILOBYTES)&&o.elementIndexUint&&(m=Cesium.IndexDatatype.UNSIGNED_INT),Cesium.defined(A.indexBuffer)||(A.indexBuffer=Cesium.Buffer.createIndexBuffer({context:o,typedArray:A.indicesTypedArray,usage:Cesium.BufferUsage.STATIC_DRAW,indexDatatype:m})),A.indicesTypedArray=null,delete A.indicesTypedArray};var Zot=OSe;var ATi={VertexNormal:"VertexNormal",VertexColor:"VertexColor",TexCoord:"TexCoord",TexCoord2:"TexCoord2",Instance:"Instance",COMPRESS_VERTEX:"COMPRESS_VERTEX",COMPRESS_NORMAL:"COMPRESS_NORMAL",COMPRESS_COLOR:"COMPRESS_COLOR",COMPRESS_TEXCOORD:"COMPRESS_TEXCOORD",UseLineColor:"USE_LINECOLOR",InstanceBim:"InstanceBim",InstancePipe:"InstancePipe",COMPUTE_TEXCOORD:"COMPUTE_TEXCOORD"},IC=Object.freeze(ATi);var cTi={SVC_Vertex:1,SVC_Normal:2,SVC_VertexColor:4,SVC_SecondColor:8,SVC_TexutreCoord:16,SVC_TexutreCoordIsW:32},I0=Object.freeze(cTi);var hTi={BIM:17,PIPELINE:29},USe=Object.freeze(hTi);function GSe(){this.model=void 0,this.context=void 0}GSe.prototype.set=function(o,A){this.model=A,this.context=o};function dTi(o,A){let f=A.length;for(let m=0;m<f;++m){let C=o.getExtension(A[m]);if(C)return C}}GSe.prototype.execute=function(){let o=this.context,A=this.model,f=A.layer,m=A.vs,C=A.fs,E=A.attributeLocations,x=A.material,y=A.vertexPackage,I=A.batchTable?A.batchTable.getVertexShaderCallback()(m):m;o.texturelod===void 0&&(o.texturelod=Cesium.defaultValue(dTi(o._gl,["EXT_shader_texture_lod"]),!1));let v=new Cesium.ShaderSource({sources:[I]}),B=new Cesium.ShaderSource({sources:[C]});if(Cesium.defined(E.aNormal)&&(v.defines.push(IC.VertexNormal),B.defines.push(IC.VertexNormal)),Cesium.defined(E.aColor)&&v.defines.push(IC.VertexColor),x&&x.textures.length>0&&(v.defines.push(IC.COMPUTE_TEXCOORD),B.defines.push(IC.COMPUTE_TEXCOORD)),x&&x.textures.length===2&&(v.defines.push(IC.TexCoord2),B.defines.push(IC.TexCoord2)),Cesium.defined(E.aTexCoord0)&&(v.defines.push("TexCoord"),B.defines.push("TexCoord")),y.instanceIndex>-1&&v.defines.push(IC.Instance),y.instanceMode===USe.BIM&&v.defines.push(IC.InstanceBim),y.instanceMode===USe.PIPELINE&&v.defines.push(IC.InstancePipe),Cesium.defined(y.compressOptions)){let Q=y.compressOptions;(Q&I0.SVC_Vertex)===I0.SVC_Vertex&&v.defines.push(IC.COMPRESS_VERTEX),(Q&I0.SVC_Normal)===I0.SVC_Normal&&v.defines.push(IC.COMPRESS_NORMAL),(Q&I0.SVC_VertexColor)===I0.SVC_VertexColor&&v.defines.push(IC.COMPRESS_COLOR),(Q&I0.SVC_TexutreCoord)===I0.SVC_TexutreCoord&&v.defines.push(IC.COMPRESS_TEXCOORD)}Cesium.defined(A.arrIndexPackage)&&A.arrIndexPackage.length>0&&A.arrIndexPackage[0].primitiveType===2&&B.defines.push(IC.UseLineColor),Cesium.defined(y.customVertexAttribute)&&Cesium.defined(y.customVertexAttribute.TextureCoordMatrix)&&v.defines.push("USE_TextureCoordMatrix"),Cesium.defined(y.customVertexAttribute)&&Cesium.defined(y.customVertexAttribute.VertexWeight)&&v.defines.push("USE_VertexWeight"),f._vertexCompressionType==="MESHOPT"&&v.defines.push("MeshOPT_Compress"),A.shaderProgram=Cesium.ShaderProgram.fromCache({context:o,vertexShaderSource:v,fragmentShaderSource:B,attributeLocations:E})};var $ot=GSe;function TT(o){this.layer=o.layer,this.vertexPackage=o.vertexPackage,this.arrIndexPackage=o.arrIndexPackage,this.vertexBufferToCreate=new Cesium.Queue,this.indexBufferToCreate=new Cesium.Queue,this.shaderProgramToCreate=new Cesium.Queue;let A,f;for(A=0,f=this.vertexPackage.vertexAttributes.length;A<f;A++)this.vertexBufferToCreate.enqueue(A);for(A=0,f=this.arrIndexPackage.length;A<f;A++)this.indexBufferToCreate.enqueue(A);this.shaderProgramToCreate.enqueue(0),this.boundingVolume=o.boundingVolume,this.material=Cesium.defaultValue(o.material,new Toe),this.geoName=o.geoName,this.modelMatrix=o.modelMatrix,this.geoMatrix=o.geoMatrix,this.invGeoMatrix=Cesium.Matrix4.inverse(this.geoMatrix,new Cesium.Matrix4),this.instanceCount=o.vertexPackage.instanceCount,this.attributeLocations=o.vertexPackage.attrLocation,this.shaderProgram=void 0,this.vertexArray=void 0,this.colorCommand=void 0,this.pickInfo=Cesium.defaultValue(o.pickInfo,{}),this.selectionInfoMap=new Cesium.AssociativeArray,this.batchTable=void 0,this.batchTableDirty=!1,this.idsOperationMap=new Cesium.AssociativeArray,this.pickColorIdentifier="vSecondColor",this.createBoundingBoxForInstance(),this.ready=!1}var eat=new Xot,tat=new Zot,iat=new $ot;function fTi(o,A){let f=o.layer.context,m=o.vertexBufferToCreate;for(;m.length;){let C=m.peek();if(eat.set(f,o,C),!A.jobScheduler.execute(eat,Cesium.JobType.BUFFER))break;m.dequeue()}}function gTi(o,A){let f=o.layer.context,m=o.indexBufferToCreate;for(;m.length;){let C=m.peek();if(tat.set(f,o,C),!A.jobScheduler.execute(tat,Cesium.JobType.BUFFER))break;m.dequeue()}}function pTi(o,A){let f=o.layer.context,m=o.shaderProgramToCreate;for(;m.length;){let C=m.peek();if(iat.set(f,o),!A.jobScheduler.execute(iat,Cesium.JobType.PROGRAM))break;m.dequeue()}}function mTi(o,A){if(Cesium.defined(o.batchTable)||!o.pickInfo)return;let f=o.layer.context,m=[];m.push({functionName:"batchTable_operation",componentDatatype:Cesium.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:4},{functionName:"batchTable_pickColor",componentDatatype:Cesium.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0});let C=o.pickInfo,E=Object.keys(C),x=o.instanceCount>0?o.instanceCount:E.length;o.batchTable=new Cesium.BatchTable(f,m,x)}TT.prototype.createBuffers=function(o){fTi(this,o),gTi(this,o)};TT.prototype.createShaderProgram=function(o){pTi(this,o)};TT.prototype.createBatchTable=function(o){mTi(this,o)};TT.prototype.createBoundingBoxForInstance=function(){let o=new Cesium.Cartesian3,A=this.vertexPackage;if(!Cesium.defined(A)||A.instanceIndex===-1||!Cesium.defined(A.instanceBounds))return;let f=A.instanceBounds,m=new Cesium.Cartesian3(f[0],f[1],f[2]),C=new Cesium.Cartesian3(f[3],f[4],f[5]),E=Cesium.Cartesian3.lerp(m,C,.5,o),x=Cesium.Cartesian3.distance(E,m),y=new Cesium.Cartesian3;Cesium.Matrix4.multiplyByPoint(this.modelMatrix,E,y),this.boundingVolume.center=y,this.boundingVolume.radius=x,A.instanceBounds=void 0};TT.prototype.initLayerSetting=function(o){Object.keys(o._objsOperationList).length>0&&this.updateObjsOperation(o._objsOperationList)};TT.prototype.createPickIds=function(){let o=new Cesium.Cartesian4,A=this.layer,f=A.context,m=this.pickInfo;if(!Cesium.defined(m))return;for(let y in m)!m.hasOwnProperty(y)||this.selectionInfoMap.set(y,m[y]);let C=this.batchTable,E=this.selectionInfoMap,x=E._hash;for(let y in x)if(x.hasOwnProperty(y)){let I=E.get(y),v;Cesium.defined(v)||(v=f.createPickId({primitive:A,id:y}));let B=v.color;o.x=Cesium.Color.floatToByte(B.red),o.y=Cesium.Color.floatToByte(B.green),o.z=Cesium.Color.floatToByte(B.blue),o.w=Cesium.Color.floatToByte(B.alpha);let Q=I.instanceIds;if(this.instanceCount>0)Q.map(function(T){C.setBatchedAttribute(T,1,o)});else{let T=I[0].batchId;C.setBatchedAttribute(T,1,o)}}this.pickInfo=void 0};TT.prototype.updateBatchTableAttributes=function(){let o=this,A=this.idsOperationMap;for(let f=0,m=A.length;f<m;f++){let C=A.values[f];!C.dirty||(C.dirty=!1,this.instanceCount>0?Array.isArray(C.instanceIds)&&C.instanceIds.map(function(E){o.batchTable.setBatchedAttribute(E,0,C.operationValue)}):Cesium.defined(C.batchId)&&this.batchTable.setBatchedAttribute(C.batchId,0,C.operationValue))}};TT.prototype.updateObjsOperation=function(o){if(!this.ready||this.selectionInfoMap.length<1)return;let A=this.selectionInfoMap._hash;for(let f in A){if(!A.hasOwnProperty(f))continue;let m=o[f];if(!Cesium.defined(m))continue;let C=A[f][0],E=C.batchId,x=C.instanceIds,y=this.idsOperationMap.get(f);Cesium.defined(y)||(y={batchId:E,instanceIds:x,operationValue:new Cesium.Cartesian4,dirty:!0}),y.dirty=!0,y.operationValue.x=y.operationValue.x&1|m,this.idsOperationMap.set(f,y),this.batchTableDirty=!0}};var QR=TT;function tk(o){QR.call(this,o),this.vs=jot,this.fs=qot,this.useLineColor=!1}tk.prototype=Object.create(QR.prototype);tk.prototype.constructor=QR;function CTi(){return Cesium.RenderState.fromCache({cull:{enabled:!1},depthTest:{enabled:!0,func:Cesium.DepthFunction.LESS_OR_EQUAL},blending:Cesium.BlendingState.ALPHA_BLEND})}function ETi(){return Cesium.RenderState.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:Cesium.DepthFunction.LESS_OR_EQUAL},blending:Cesium.BlendingState.ALPHA_BLEND})}function xTi(o,A,f){let m={uGeoMatrix:function(){return f.geoMatrix},uTexMatrix:function(){return o.texMatrix},uFillForeColor:function(){return f.useLineColor?A.style3D.lineColor:A.style3D.fillForeColor},uInverseGeoMatrix:function(){return f.invGeoMatrix},uTexture:function(){return o.textures[0]},uTexture2:function(){return o.textures[1]},uTexture0Width:function(){return o.textures[0].width},uTexture1Width:function(){return o.textures[1].width},uDiffuseColor:function(){return o.diffuseColor},uSelectedColor:function(){return A._selectedColor}},C=f.vertexPackage,E=C.compressOptions;return(E&I0.SVC_Vertex)===I0.SVC_Vertex&&(m.decode_position_min=function(){return C.minVerticesValue},m.decode_position_normConstant=function(){return C.vertCompressConstant}),(E&I0.SVC_Normal)===I0.SVC_Normal&&(m.normal_rangeConstant=function(){return C.normalRangeConstant}),(E&I0.SVC_TexutreCoord)===I0.SVC_TexutreCoord&&(C.texCoordCompressConstant.length>0&&(m.decode_texCoord0_min=function(){return C.minTexCoordValue[0]},m.decode_texCoord0_normConstant=function(){return C.texCoordCompressConstant[0]},m.decode_texCoord0_vNormConstant=function(){return C.texCoordCompressConstant[0]}),C.texCoordCompressConstant.length>1&&(m.decode_texCoord1_min=function(){return C.minTexCoordValue[1]},m.decode_texCoord1_normConstant=function(){return C.texCoordCompressConstant[1]},m.decode_texCoord1_vNormConstant=function(){return C.texCoordCompressConstant[1]}),C.texCoordCompressConstant.length>2&&(m.decode_texCoord2_min=function(){return C.minTexCoordValue[2]},m.decode_texCoord2_normConstant=function(){return C.texCoordCompressConstant[2]}),C.texCoordCompressConstant.length>3&&(m.decode_texCoord3_min=function(){return C.minTexCoordValue[3]},m.decode_texCoord3_normConstant=function(){return C.texCoordCompressConstant[3]}),C.texCoordCompressConstant.length>4&&(m.decode_texCoord4_min=function(){return C.minTexCoordValue[4]},m.decode_texCoord4_normConstant=function(){return C.texCoordCompressConstant[4]}),C.texCoordCompressConstant.length>5&&(m.decode_texCoord5_min=function(){return C.minTexCoordValue[5]},m.decode_texCoord5_normConstant=function(){return C.texCoordCompressConstant[5]}),C.texCoordCompressConstant.length>6&&(m.decode_texCoord6_min=function(){return C.minTexCoordValue[6]},m.decode_texCoord6_normConstant=function(){return C.texCoordCompressConstant[6]}),C.texCoordCompressConstant.length>7&&(m.decode_texCoord7_min=function(){return C.minTexCoordValue[7]},m.decode_texCoord7_normConstant=function(){return C.texCoordCompressConstant[7]})),m}tk.prototype.createCommand=function(){if(Cesium.defined(this.colorCommand)||this.vertexBufferToCreate.length!==0||this.indexBufferToCreate.length!==0||this.shaderProgramToCreate.length!==0)return;let o=this.layer,A=o.context,f=this.vertexPackage,m=this.arrIndexPackage,C=f.vertexAttributes;if(m.length<1)return;let E=m[0],x=this.material;this.vertexArray=new Cesium.VertexArray({context:A,attributes:C,indexBuffer:E.indexBuffer});let y=Cesium.PrimitiveType.TRIANGLES;switch(E.primitiveType){case 1:y=Cesium.PrimitiveType.POINTS;break;case 2:y=Cesium.PrimitiveType.LINES;break;case 4:y=Cesium.PrimitiveType.TRIANGLES;break;default:break}this.useLineColor=y===Cesium.PrimitiveType.LINES,this.colorCommand=new Cesium.DrawCommand({primitiveType:y,modelMatrix:this.modelMatrix,boundingVolume:Cesium.BoundingSphere.clone(this.boundingVolume),pickId:this.pickColorIdentifier,vertexArray:this.vertexArray,shaderProgram:this.shaderProgram,pass:x.bTransparentSorting?Cesium.Pass.TRANSLUCENT:Cesium.Pass.OPAQUE,renderState:x.bTransparentSorting?ETi():CTi(),instanceCount:f.instanceCount});let I=xTi(x,o,this);this.batchTable&&(I=this.batchTable.getUniformMapCallback()(I)),this.colorCommand.uniformMap=I,this.vertexPackage=void 0,this.arrIndexPackage=void 0,this.vs=void 0,this.fs=void 0,this.ready=!0};tk.prototype.update=function(o,A){if(!this.ready){this.createBatchTable(o),this.createPickIds(),this.createBuffers(o),this.createShaderProgram(o),this.createCommand(o),this.initLayerSetting(A);return}this.batchTableDirty&&(this.updateBatchTableAttributes(),this.batchTableDirty=!1),this.batchTable&&this.batchTable.update(o),o.commandList.push(this.colorCommand)};tk.prototype.isDestroyed=function(){return!1};tk.prototype.destroy=function(){return this.shaderProgram=this.shaderProgram&&!this.shaderProgram.isDestroyed()&&this.shaderProgram.destroy(),this.vertexArray=this.vertexArray&&!this.vertexArray.isDestroyed()&&this.vertexArray.destroy(),this.material=this.material&&!this.material.isDestroyed()&&this.material.destroy(),this.batchTable=this.batchTable&&!this.batchTable.isDestroyed()&&this.batchTable.destroy(),this.colorCommand=void 0,this.vertexPackage=null,this.arrIndexPackage=null,this.modelMatrix=void 0,this.pickInfo=void 0,this.selectionInfoMap=void 0,this.vs=void 0,this.fs=void 0,Cesium.destroyObject(this)};var rat=tk;var nat=` in vec4 aPosition; in vec4 aColor; #ifdef TexCoord in vec4 aTexCoord0; uniform float uTexture0Width; out vec4 vTexCoord; out vec4 vTexMatrix; out vec4 vTexCoordTransform; #endif #ifdef VertexColor out vec4 vColor; #endif const float SHIFT_LEFT8 = 256.0; const float SHIFT_RIGHT8 = 1.0 / 256.0; const float SHIFT_RIGHT4 = 1.0 / 16.0; const float SHIFT_LEFT4 = 16.0; void getTextureMatrixFromZValue(in float nZ, inout float XTran, inout float YTran, inout float scale) { if(nZ <= 0.0) { return; } float nDel8 = floor(nZ * SHIFT_RIGHT8); float nDel16 = floor(nDel8 * SHIFT_RIGHT8); float nDel20 = floor(nDel16 * SHIFT_RIGHT4); YTran = nZ - nDel8 * SHIFT_LEFT8; XTran = nDel8 - nDel16 * SHIFT_LEFT8; float nLevel = nDel16 - nDel20 * SHIFT_LEFT4; scale = 1.0 / pow(2.0, nLevel); } void main() { #ifdef TexCoord vTexCoord.xy = aTexCoord0.xy; vTexMatrix = vec4(0.0,0.0,1.0,0.0); vTexCoordTransform.x = aTexCoord0.z; if(vTexCoordTransform.x < -90000.0) { vTexMatrix.z = -1.0; } getTextureMatrixFromZValue(floor(vTexCoordTransform.x), vTexMatrix.x, vTexMatrix.y, vTexMatrix.z); vTexMatrix.w = log2(uTexture0Width * vTexMatrix.z); #endif vec4 vertexPos = aPosition; #ifdef VertexColor vColor = aColor; #endif gl_Position = czm_modelViewProjection * vec4(vertexPos.xyz, 1.0); }`;var oat=`#ifdef GL_OES_standard_derivatives #extension GL_OES_standard_derivatives : enable #endif #ifdef GL_EXT_shader_texture_lod #extension GL_EXT_shader_texture_lod : enable #endif #ifdef TexCoord uniform sampler2D uTexture; uniform float uTexture0Width; in vec4 vTexCoord; in vec4 vTexCoordTransform; in vec4 vTexMatrix; #endif #ifdef VertexColor in vec4 vColor; #endif #ifdef TexCoord void calculateMipLevel(in vec2 inTexCoord, in float vecTile, in float fMaxMip, inout float mipLevel) { vec2 dx = dFdx(inTexCoord * vecTile); vec2 dy = dFdy(inTexCoord * vecTile); float dotX = dot(dx, dx); float dotY = dot(dy, dy); float dMax = max(dotX, dotY); float dMin = min(dotX, dotY); float offset = (dMax - dMin) / (dMax + dMin); offset = clamp(offset, 0.0, 1.0); float d = dMax * (1.0 - offset) + dMin * offset; mipLevel = 0.5 * log2(d); mipLevel = clamp(mipLevel, 0.0, fMaxMip - 1.62); } void calculateTexCoord(in vec3 inTexCoord, in float scale, in float XTran, in float YTran, in float fTile, in float mipLevel, inout vec2 outTexCoord) { if(inTexCoord.z < -9000.0) { outTexCoord = inTexCoord.xy; } else { vec2 fTexCoord = fract(inTexCoord.xy); float offset = 1.0 * pow(2.0, mipLevel) / fTile; fTexCoord = clamp(fTexCoord, offset, 1.0 - offset); outTexCoord.x = (fTexCoord.x + XTran) * scale; outTexCoord.y = (fTexCoord.y + YTran) * scale; } } vec4 getTexColorForS3M(sampler2D curTexture, vec3 oriTexCoord, float texTileWidth, float fMaxMipLev, float fTexCoordScale, vec2 vecTexCoordTranslate) { vec4 color = vec4(1.0); float mipLevel = 0.0; #ifdef GL_OES_standard_derivatives calculateMipLevel(oriTexCoord.xy, texTileWidth, fMaxMipLev, mipLevel); #endif vec2 realTexCoord; calculateTexCoord(oriTexCoord, fTexCoordScale, vecTexCoordTranslate.x, vecTexCoordTranslate.y, texTileWidth, mipLevel, realTexCoord); if(oriTexCoord.z < -9000.0) { color = texture(curTexture, realTexCoord.xy); } else { #ifdef GL_EXT_shader_texture_lod color = texture2DLodEXT(curTexture, realTexCoord.xy, mipLevel); #else color = texture(curTexture, realTexCoord.xy, mipLevel); #endif } return color; } vec4 getTextureColor() { if(vTexMatrix.z < 0.0) { return vec4(1.0); } float texTileWidth0 = vTexMatrix.z * uTexture0Width; vec3 realTexCoord = vec3(vTexCoord.xy, vTexCoordTransform.x); return getTexColorForS3M(uTexture, realTexCoord, texTileWidth0, vTexMatrix.w, vTexMatrix.z, vTexMatrix.xy); } #endif void main() { vec4 baseColorWithAlpha = vec4(1.0); #ifdef VertexColor vec4 baseColorWithAlpha = vColor; #endif #ifdef TexCoord baseColorWithAlpha *= getTextureColor(); #endif out_FragColor = baseColorWithAlpha; }`;function ik(o){QR.call(this,o),this.vs=nat,this.fs=oat}ik.prototype=Object.create(QR.prototype);ik.prototype.constructor=QR;function yTi(){return Cesium.RenderState.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:Cesium.DepthFunction.LESS_OR_EQUAL},blending:Cesium.BlendingState.ALPHA_BLEND})}function ITi(o,A,f){return{uGeoMatrix:function(){return f.geoMatrix},uInverseGeoMatrix:function(){return f.invGeoMatrix},uTexture:function(){return o.textures[0]},uTexture0Width:function(){return o.textures[0].width}}}ik.prototype.createCommand=function(){if(Cesium.defined(this.colorCommand)||this.vertexBufferToCreate.length!==0||this.indexBufferToCreate.length!==0||this.shaderProgramToCreate.length!==0)return;let o=this.layer,A=o.context,f=this.vertexPackage,m=this.arrIndexPackage,C=f.vertexAttributes;if(m.length<1)return;let E=m[0],x=this.material;this.vertexArray=new Cesium.VertexArray({context:A,attributes:C,indexBuffer:E.indexBuffer}),this.colorCommand=new Cesium.DrawCommand({primitiveType:E.primitiveType,modelMatrix:this.modelMatrix,boundingVolume:Cesium.BoundingSphere.clone(this.boundingVolume),vertexArray:this.vertexArray,shaderProgram:this.shaderProgram,pass:x.bTransparentSorting?Cesium.Pass.TRANSLUCENT:Cesium.Pass.OPAQUE,renderState:yTi(),instanceCount:f.instanceCount}),this.colorCommand.uniformMap=ITi(x,o,this),this.vertexPackage=void 0,this.arrIndexPackage=void 0,this.vs=void 0,this.fs=void 0,this.ready=!0};ik.prototype.update=function(o,A){if(!this.ready){this.createBuffers(o),this.createShaderProgram(o),this.createCommand(o),this.initLayerSetting(A);return}o.commandList.push(this.colorCommand)};ik.prototype.isDestroyed=function(){return!1};ik.prototype.destroy=function(){return this.shaderProgram=this.shaderProgram&&!this.shaderProgram.isDestroyed()&&this.shaderProgram.destroy(),this.vertexArray=this.vertexArray&&!this.vertexArray.isDestroyed()&&this.vertexArray.destroy(),this.material=this.material&&!this.material.isDestroyed()&&this.material.destroy(),this.colorCommand=void 0,this.vertexPackage=null,this.arrIndexPackage=null,this.modelMatrix=void 0,this.pickInfo=void 0,this.selectionInfoMap=void 0,this.vs=void 0,this.fs=void 0,Cesium.destroyObject(this)};var aat=ik;var _Ti={OSGBFile:function(o){return new aat(o)},OSGBCacheFile:function(o){return new rat(o)}},sat=_Ti;function lat(){}function vTi(o,A,f){let m={},C=A.materials.material;for(let E=0,x=C.length;E<x;E++){let y=C[E].material,I=y.id,v=new Toe;m[I]=v;let B=y.ambient;v.ambientColor=new Cesium.Color(B.r,B.g,B.b,B.a);let Q=y.diffuse;v.diffuseColor=new Cesium.Color(Q.r,Q.g,Q.b,Q.a);let T=y.specular;v.specularColor=new Cesium.Color(T.r,T.g,T.b,T.a),v.shininess=y.shininess,v.bTransparentSorting=y.transparentsorting;let w=y.textureunitstates,S=w.length;for(let D=0;D<S;D++){let R=w[D].textureunitstate,P=R.id,M=R.addressmode.u===0?Cesium.TextureWrap.REPEAT:Cesium.TextureWrap.CLAMP_TO_EDGE,L=R.addressmode.v===0?Cesium.TextureWrap.REPEAT:Cesium.TextureWrap.CLAMP_TO_EDGE;v.texMatrix=Cesium.Matrix4.unpack(R.texmodmatrix);let F=A.texturePackage[P];if(Cesium.defined(F)&&F.arrayBufferView.byteLength>0){F.wrapS=M,F.wrapT=L;let k=f.fileName+P,N=o.textureCache.getTexture(k);if(!Cesium.defined(N)){if(Cesium.PixelFormat.isCompressedFormat(F.internalFormat))N=new Wot(o,P,F);else{let G=Cesium.Math.isPowerOfTwo(F.width)&&Cesium.Math.isPowerOfTwo(F.height);N=new Cesium.Texture({context:o,source:{width:F.width,height:F.height,arrayBufferView:F.arrayBufferView},sampler:new Cesium.Sampler({minificationFilter:G?o._gl.LINEAR_MIPMAP_LINEAR:o._gl.LINEAR,wrapS:M,wrapT:L})}),G&&N.generateMipmap(Cesium.MipmapHint.NICEST)}o.textureCache.addTexture(k,N)}v.textures.push(N)}}}return m}function BTi(o,A){let f=new Cesium.BoundingSphere,m=new Cesium.Cartesian3,C=o.vertexAttributes[0],E=C.componentsPerAttribute,x=Cesium.defined(o.compressOptions)&&(o.compressOptions&I0.SVC_Vertex)===I0.SVC_Vertex,y=1,I,v;x?(y=o.vertCompressConstant,I=new Cesium.Cartesian3(o.minVerticesValue.x,o.minVerticesValue.y,o.minVerticesValue.z),v=new Uint16Array(C.typedArray.buffer,C.typedArray.byteOffset,C.typedArray.byteLength/2)):v=new Float32Array(C.typedArray.buffer,C.typedArray.byteOffset,C.typedArray.byteLength/4);let B=[];for(let Q=0;Q<o.verticesCount;Q++)Cesium.Cartesian3.fromArray(v,E*Q,m),x&&(m=Cesium.Cartesian3.multiplyByScalar(m,y,m),m=Cesium.Cartesian3.add(m,I,m)),B.push(Cesium.Cartesian3.clone(m));return Cesium.BoundingSphere.fromPoints(B,f),Cesium.BoundingSphere.transform(f,A,f),B.length=0,f}function wTi(o){let A=new Cesium.Cartesian3,f=new Cesium.BoundingSphere,m=o.instanceBounds;if(!Cesium.defined(m))return f;let C=new Cesium.Cartesian3(m[0],m[1],m[2]),E=new Cesium.Carteisan3(m[3],m[4],m[5]),x=new Cesium.Cartesian3.lerp(C,E,.5,A),y=new Cesium.Cartesian3.distance(x,C);return f.center=x,f.radius=y,f}function bTi(o,A){return o.instanceIndex>-1?wTi(o):BTi(o,A)}function QTi(o,A,f,m,C){let E=new Cesium.Matrix3,x={},y=m.geodes;for(let I=0,v=y.length;I<v;I++){let B=y[I],Q=B.matrix,T=Cesium.Matrix4.multiply(o.modelMatrix,Q,new Cesium.Matrix4),w;if(Cesium.defined(C.boundingVolume)){if(C.boundingVolume.sphere)w=new Cesium.BoundingSphere(C.boundingVolume.sphere.center,C.boundingVolume.sphere.radius),Cesium.BoundingSphere.transform(w,o.modelMatrix,w);else if(C.boundingVolume.box){let D=C.boundingVolume.box,R=new Cesium.Cartesian3(D.center.x,D.center.y,D.center.z),P=new Cesium.Cartesian4(D.xExtent.x,D.xExtent.y,D.xExtent.z,0),M=new Cesium.Cartesian4(D.yExtent.x,D.yExtent.y,D.yExtent.z,0),L=new Cesium.Cartesian4(D.zExtent.x,D.zExtent.y,D.zExtent.z,0),F=new Cesium.Matrix3;Cesium.Matrix3.setColumn(F,0,P,F),Cesium.Matrix3.setColumn(F,1,M,F),Cesium.Matrix3.setColumn(F,2,L,F),R=Cesium.Matrix4.multiplyByPoint(o.modelMatrix,R,R);let k=Cesium.Matrix4.getMatrix3(o.modelMatrix,E);F=Cesium.Matrix3.multiply(k,F,F),w=new Cesium.OrientedBoundingBox(R,F)}}let S=B.skeletonNames;for(let D=0,R=S.length;D<R;D++){let P=S[D],M=A.geoPackage[P],L=M.vertexPackage,F=M.arrIndexPackage,k=M.pickInfo,N;F.length>0&&(N=f[F[0].materialCode]);let G=bTi(L,T);x[P]=sat[o.fileType]({layer:o,vertexPackage:L,arrIndexPackage:F,pickInfo:k,modelMatrix:T,geoMatrix:Q,boundingVolume:G,material:N,edgeGeometry:M.edgeGeometry,geoName:P})}}if(!(Object.keys(x).length<1)){if(!Cesium.defined(C.boundingVolume)){let I=[];for(let v in x)x.hasOwnProperty(v)&&I.push(x[v].boundingVolume);C.boundingVolume={sphere:Cesium.BoundingSphere.fromBoundingSpheres(I)}}C.geoMap=x}}function STi(o,A,f){let m=A.groupNode,C=[];for(let E=0,x=m.pageLods.length;E<x;E++){let y={},I=m.pageLods[E];if(y.rangeMode=I.rangeMode,y.rangeDataList=I.childTile,y.rangeList=I.rangeList,I.obb)y.boundingVolume={box:{center:I.obb.obbCenter,xExtent:I.obb.xExtent,yExtent:I.obb.yExtent,zExtent:I.obb.zExtent}};else{let v=I.boundingSphere.center,B=I.boundingSphere.radius;y.rangeDataList!==""?y.boundingVolume={sphere:{center:new Cesium.Cartesian3(v.x,v.y,v.z),radius:B}}:y.isLeafTile=!0}QTi(o,A,f,I,y),Cesium.defined(y.geoMap)&&C.push(y)}return C}lat.parse=function(o,A,f){if(!Cesium.defined(A))return;let m=vTi(o.context,A,f);return STi(o,A,m)};var uat=lat;var DTi={Distance:0,Pixel:1,GeometryError:2},rk=Object.freeze(DTi);function om(o,A,f,m,C,E){this.layer=o,this.parent=A;let x=m.replace(/\\/g,"/");this.fileExtension=Cesium.getExtensionFromUri(m),this.relativePath=MTi(x,o),this.relativePath=this.relativePath.replace("data/path/data/path","data/path"),this.fileName=m,this.isLeafTile=C===0,this.isRootTile=!1,this.boundingVolume=this.createBoundingVolume(f,o.modelMatrix);let y=Cesium.Resource.createIfNeeded(o._baseResource);if(Cesium.defined(A))this.baseUri=A.baseUri;else{let I=new Cesium.Resource(x);this.baseUri=I.getBaseUri()}this.contentResource=y.getDerivedResource({url:this.relativePath}),this.serverKey=Cesium.RequestScheduler.getServerKey(this.contentResource.getUrlComponent()),this.request=void 0,this.cacheNode=void 0,this.distanceToCamera=0,this.centerZDepth=0,this.pixel=0,this.depth=A?A.depth+1:0,this.visibilityPlaneMask=0,this.visible=!1,this.children=[],this.renderEntities=[],this.lodRangeData=Cesium.defaultValue(C,16),this.lodRangeMode=Cesium.defaultValue(E,rk.Pixel),this.contentState=this.isLeafTile?wv.READY:wv.UNLOADED,this.touchedFrame=0,this.requestedFrame=0,this.processFrame=0,this.selectedFrame=0,this.updatedVisibilityFrame=0,this.foveatedFactor=0,this.priority=0,this.priorityHolder=this,this.wasMinPriorityChild=!1,this.shouldSelect=!1,this.selected=!1,this.finalResolution=!0,this.refines=!1}Object.defineProperties(om.prototype,{renderable:{get:function(){let o=this.renderEntities,A=o.length;if(A===0)return!1;for(let f=0;f<A;f++)if(!o[f].ready)return!1;return!0}}});function TTi(o,A){let f=new Cesium.Cartesian3,m=Cesium.Cartesian3.clone(o.center),C=o.radius;m=Cesium.Matrix4.multiplyByPoint(A,m,m);let E=Cesium.Matrix4.getScale(A,f),x=Cesium.Cartesian3.maximumComponent(E);return C*=x,new Cesium.TileBoundingSphere(m,C)}function MTi(o,A){o=o.replace(/\+/g,"%2B");let f=A._basePath;if(!(A._basePath.indexOf("realspace")>-1))return o;let C=f.replace(/(.*realspace)/,"");return f.replace(/\/rest\/realspace/g,"").replace(C,"")+"/rest/realspace"+C+"data/path/"+o.replace(/^\.*/,"").replace(/^\//,"").replace(/\/$/,"")}function PTi(o,A){let f=new Cesium.Matrix3,m=new Cesium.Cartesian3;if(Cesium.defined(o.center)){let Q=new Cesium.Cartesian3(o.center.x,o.center.y,o.center.z),T=new Cesium.Cartesian4(o.xExtent.x,o.xExtent.y,o.xExtent.z,0),w=new Cesium.Cartesian4(o.yExtent.x,o.yExtent.y,o.yExtent.z,0),S=new Cesium.Cartesian4(o.zExtent.x,o.zExtent.y,o.zExtent.z,0),D=new Cesium.Matrix3;Cesium.Matrix3.setColumn(D,0,T,D),Cesium.Matrix3.setColumn(D,1,w,D),Cesium.Matrix3.setColumn(D,2,S,D),Q=Cesium.Matrix4.multiplyByPoint(A,Q,Q);let R=Cesium.Matrix4.getMatrix3(A,f);return D=Cesium.Matrix3.multiply(R,D,D),new Cesium.TileOrientedBoundingBox(Q,D)}let C=new Cesium.Cartesian3(o.min.x,o.min.y,o.min.z);Cesium.Matrix4.multiplyByPoint(A,C,C);let E=new Cesium.Cartesian3(o.max.x,o.max.y,o.max.z);Cesium.Matrix4.multiplyByPoint(A,E,E);let x=Cesium.BoundingSphere.fromCornerPoints(C,E,new Cesium.BoundingSphere),y=x.center,I=x.radius,v=Cesium.Matrix4.getScale(A,m),B=Cesium.Cartesian3.maximumComponent(v);return I*=B,new Cesium.TileBoundingSphere(y,I)}om.prototype.createBoundingVolume=function(o,A){if(Cesium.defined(o.sphere))return TTi(o.sphere,A);if(Cesium.defined(o.box))return PTi(o.box,A)};om.prototype.canTraverse=function(){return this.children.length===0||this.isLeafTile?!1:Cesium.defined(this.lodRangeData)?this.pixel>this.lodRangeData:!0};function zSe(o,A){return o.boundingVolume}om.prototype.getPixel=function(o){let f=this.boundingVolume.boundingSphere,m=f.radius,C=f.center,E=Cesium.Cartesian3.distance(o.camera.positionWC,C),x=o.context.drawingBufferHeight,y=o.camera.frustum._fovy*.5;return x*.5/Math.tan(y)*m/E};om.prototype.getGeometryError=function(o){let A=o.camera,f=this.layer.context.drawingBufferHeight,m=this.lodRangeData,C=this.boundingVolume.distanceToCamera(o);return m*f/(C*A.frustum.sseDenominator)};om.prototype.distanceToTile=function(o){return zSe(this,o).distanceToCamera(o)};om.prototype.distanceToTileCenter=function(o){let A=new Cesium.Cartesian3,m=zSe(this,o).boundingVolume,C=Cesium.Cartesian3.subtract(m.center,o.camera.positionWC,A);return Cesium.Cartesian3.dot(o.camera.directionWC,C)};om.prototype.visibility=function(o,A){let f=zSe(this,o);return o.cullingVolume.computeVisibilityWithPlaneMask(f,A)};function RTi(o,A){let f=new Cesium.Cartesian3,m=A.camera,E=o.boundingVolume.boundingSphere,x=E.radius,y=Cesium.Cartesian3.multiplyByScalar(m.directionWC,o.centerZDepth,f),I=Cesium.Cartesian3.add(m.positionWC,y,f),v=Cesium.Cartesian3.subtract(I,E.center,f);if(Cesium.Cartesian3.magnitude(v)>x){let T=Cesium.Cartesian3.normalize(v,f),w=Cesium.Cartesian3.multiplyByScalar(T,x,f),S=Cesium.Cartesian3.add(E.center,w,f),D=Cesium.Cartesian3.subtract(S,m.positionWC,f),R=Cesium.Cartesian3.normalize(D,f);o.foveatedFactor=1-Math.abs(Cesium.Cartesian3.dot(m.directionWC,R))}else o.foveatedFactor=0}om.prototype.updateVisibility=function(o,A){let f=this.parent,m=Cesium.defined(f)?f.visibilityPlaneMask:Cesium.CullingVolume.MASK_INDETERMINATE;this.distanceToCamera=this.distanceToTile(o),this.centerZDepth=this.distanceToTileCenter(o),this.pixel=this.getPixel(o),this.geometryError=this.getGeometryError(o),this.visibilityPlaneMask=this.visibility(o,m),this.visible=this.visibilityPlaneMask!==Cesium.CullingVolume.MASK_OUTSIDE&&this.distanceToCamera>=A.visibleDistanceMin&&this.distanceToCamera<=A.visibleDistanceMax,this.priorityDeferred=RTi(this,o)};function LTi(o){return function(){return o.priority}}function FTi(o){return function(A){o.contentState=wv.FAILED,o.contentReadyPromise&&o.contentReadyPromise.reject(A)}}function NTi(o,A){let f=o.layer,m=A.length,C=Number.MAX_VALUE,E=0,x=rk.Pixel;for(let y=0;y<m;y++){let I=A[y],v=I.boundingVolume,B=I.rangeDataList;B=o.baseUri+B;let Q=I.rangeList,T=I.rangeMode,w=I.geoMap;if(Q!==0){let S=new om(f,o,v,B,Q,T);o.children.push(S),f._cache.add(S)}for(let S in w)w.hasOwnProperty(S)&&o.renderEntities.push(w[S]);C=Math.min(C,Q),E=Math.max(E,Q),x=T}o.isRootTile&&(o.lodRangeData=x===rk.Pixel?C/2:E*2,o.lodRangeMode=x)}function kTi(o,A,f){o._cache.add(A),rK.s3tc=o.context.s3tc,rK.pvrtc=o.context.pvrtc,rK.etc1=o.context.etc1;let m=rK.parseBuffer(f);if(!m){A.contentState=wv.FAILED,A.contentReadyPromise.reject();return}let C=uat.parse(o,m,A);NTi(A,C),A.selectedFrame=0,A.contentState=wv.READY,A.contentReadyPromise.resolve(m)}om.prototype.requestContent=function(){let o=this,A=this.layer,f=this.contentResource.clone(),m=new Cesium.Request({throttle:!0,throttleByServer:!0,type:Cesium.RequestType.TILES3D,priorityFunction:LTi(this),serverKey:this.serverKey});this.request=m,f.request=m;let C=f.fetchArrayBuffer();if(!Cesium.defined(C))return!1;this.contentState=wv.LOADING,this.contentReadyPromise=Cesium.when.defer();let E=FTi(this);return C.then(function(x){if(o.isDestroyed()){E();return}kTi(A,o,x)}).catch(function(x){if(m.state===Cesium.RequestState.CANCELLED){o.contentState=wv.UNLOADED;return}E(x)}),!0};function HSe(o,A,f){return Math.max(Cesium.Math.normalize(o,A,f)-Cesium.Math.EPSILON7,0)}function VSe(o,A,f){let m=o*Math.pow(10,A);return parseInt(m)*Math.pow(10,f)}om.prototype.updatePriority=function(o,A){let f=o._minimumPriority,m=o._maximumPriority,C=4,E=4,x=HSe(this.foveatedFactor,f.foveatedFactor,m.foveatedFactor),y=VSe(x,E,C);C=8;let I=HSe(this.pixel,f.pixel,m.pixel),v=VSe(1-I,E,C);C=0;let B=HSe(this.distanceToCamera,f.distance,m.distance),Q=VSe(B,E,C);this.priority=y+v+Q};om.prototype.update=function(o,A){for(let f=0,m=this.renderEntities.length;f<m;f++)this.renderEntities[f].update(o,A)};om.prototype.free=function(){this.contentState=wv.UNLOADED,this.request=void 0,this.cacheNode=void 0,this.priorityHolder=void 0,this.contentReadyPromise=void 0,this.priorityHolder=void 0;for(let o=0,A=this.renderEntities.length;o<A;o++)this.renderEntities[o].destroy();this.renderEntities.length=0,this.children.length=0};om.prototype.isDestroyed=function(){return!1};om.prototype.destroy=function(){return this.free(),Cesium.destroyObject(this)};var Aat=om;function cat(){this._stack=[]}function OTi(o,A){return A.distanceToCamera===0&&o.distanceToCamera===0?A.centerZDepth-o.centerZDepth:A.distanceToCamera-o.distanceToCamera}function UTi(o,A,f,m){let C,E=A.children,x=E.length;for(C=0;C<x;++C)gat(m,o,E[C]);E.sort(OTi);let y=!0,I=!1,v=-1,B=Number.MAX_VALUE,Q=!0;for(C=0;C<x;++C){let T=E[C];T.foveatedFactor<B&&(v=C,B=T.foveatedFactor),T.visible?(f.push(T),I=!0):(hat(o,T,m),fat(o,T,m),dat(o,T,m));let w=T.renderable;Q&&(y=y&&w)}if(I||(y=!1),v!==-1){let T=E[v];T.wasMinPriorityChild=!0;let w=(A.wasMinPriorityChild||A.isRootTile)&&B<=A.priorityHolder.foveatedFactor?A.priorityHolder:A;for(w.foveatedFactor=Math.min(T.foveatedFactor,w.foveatedFactor),w.distanceToCamera=Math.min(T.distanceToCamera,w.distanceToCamera),C=0;C<x;++C){let S=E[C];S.priorityHolder=w}}return y}function GTi(o,A,f){A.selectedFrame===f.frameNumber||!A.renderable||(o._selectedTiles.push(A),A.selectedFrame=f.frameNumber)}function hat(o,A,f){A.requestedFrame===f.frameNumber||A.contentState!==wv.UNLOADED||(o._requestTiles.push(A),A.requestedFrame=f.frameNumber)}function dat(o,A,f){A.processFrame===f.frameNumber||A.contentState!==wv.READY||A.renderable||(A.processFrame=f.frameNumber,o._processTiles.push(A))}function fat(o,A,f){A.touchedFrame!==f.frameNumber&&(o._cache.touch(A),A.touchedFrame=f.frameNumber)}function HTi(o,A,f){A.updatedVisibilityFrame!==f.frameNumber&&(A.updatedVisibilityFrame=f.frameNumber,A.updateVisibility(f,o))}function VTi(o,A,f){HTi(A,f,o)}function zTi(o,A){o._maximumPriority.distance=Math.max(A.distanceToCamera,o._maximumPriority.distance),o._minimumPriority.distance=Math.min(A.distanceToCamera,o._minimumPriority.distance),o._maximumPriority.depth=Math.max(A.depth,o._maximumPriority.depth),o._minimumPriority.depth=Math.min(A.depth,o._minimumPriority.depth),o._maximumPriority.foveatedFactor=Math.max(A.foveatedFactor,o._maximumPriority.foveatedFactor),o._minimumPriority.foveatedFactor=Math.min(A.foveatedFactor,o._minimumPriority.foveatedFactor),o._maximumPriority.pixel=Math.max(A.pixel,o._maximumPriority.pixel),o._minimumPriority.pixel=Math.min(A.pixel,o._minimumPriority.pixel)}function gat(o,A,f){VTi(o,A,f),f.wasMinPriorityChild=!1,f.priorityHolder=f,zTi(A,f),f.shouldSelect=!1,f.selected=!1}function YTi(o,A){return A.children.length===0?!1:A.lodRangeMode===rk.Pixel?A.pixel/o.lodRangeScale>A.lodRangeData:A.lodRangeMode===rk.GeometryError?A.geometryError>16:A.distanceToCamera*o.lodRangeScale<A.lodRangeData}function JTi(o,A,f){for(;A.length;){let m=A.pop(),C=m.parent,E=!Cesium.defined(C)||C.refines,x=!1;YTi(o,m)&&(x=UTi(o,m,A,f)&&E);let y=!x&&E;hat(o,m,f),dat(o,m,f),y&>i(o,m,f),fat(o,m,f),m.refines=x}}function KTi(o,A,f){A.length=0;for(let m=0,C=o._rootTiles.length;m<C;m++){let E=o._rootTiles[m];gat(f,o,E),E.visible&&A.push(E)}}function WTi(o,A){let f=o._requestTiles,m=f.length;for(let C=0;C<m;++C)f[C].updatePriority(o,A)}cat.prototype.schedule=function(o,A){let f=this._stack;KTi(o,f,A),JTi(o,f,A),WTi(o,A)};var pat=cat;var nK=null;function nk(o){nK=o,this._list=new nK.DoublyLinkedList,this._sentinel=this._list.add(),this._trimTiles=!1}nk.prototype.reset=function(){this._list.splice(this._list.tail,this._sentinel)};nk.prototype.touch=function(o){let A=o.cacheNode;nK.defined(A)&&this._list.splice(this._sentinel,A)};nk.prototype.add=function(o){nK.defined(o.cacheNode)||(o.cacheNode=this._list.add(o))};nk.prototype.unloadTile=function(o,A,f){let m=A.cacheNode;!nK.defined(m)||(this._list.remove(m),A.cacheNode=void 0,f(o,A))};nk.prototype.unloadTiles=function(o,A){let f=this._trimTiles;this._trimTiles=!1;let m=this._list,C=o.maximumMemoryUsage*1024*1024,E=this._sentinel,x=m.head;for(;x&&x!==E&&(o.totalMemoryUsageInBytes>C||f);){let y=x.item;x=x.next,this.unloadTile(o,y,A)}};nk.prototype.trim=function(){this._trimTiles=!0};var mat=nk;var jTi={RESET:0,SetColor:1,SELECTED:2,HIDE:4,OFFSET:8,CLIP:16,BLOOM:32,ALL:255},oK=Object.freeze(jTi);var zx=null;function Cat(o){zx=o,this._fillForeColor=new zx.Color,this._lineColor=new zx.Color,this._lineWidth=1,this._bottomAltitude=0,this._pointSize=1,this._pointColor=new zx.Color}Object.defineProperties(Cat.prototype,{fillForeColor:{get:function(){return this._fillForeColor},set:function(o){zx.Check.typeOf.object("fillForeColor value",o),zx.Color.clone(o,this._fillForeColor)}},bottomAltitude:{get:function(){return this._bottomAltitude},set:function(o){zx.Check.typeOf.number("bottomAltitude value",o),this._bottomAltitude!==o&&(this._bottomAltitude=o,this._dirty=!0)}},altitudeMode:{get:function(){return this._altitudeMode},set:function(o){zx.Check.typeOf.number("altitudeMode value",o),this._altitudeMode=o}},lineColor:{get:function(){return this._lineColor},set:function(o){zx.Check.typeOf.object("line color",o),zx.Color.clone(o,this._lineColor)}},lineWidth:{get:function(){return this._lineWidth},set:function(o){zx.Check.typeOf.number("line width",o),this._lineWidth=o}},pointSize:{get:function(){return this._pointSize},set:function(o){zx.Check.typeOf.number("point size",o),this._pointSize=o}},pointColor:{get:function(){return this._pointColor},set:function(o){zx.Check.typeOf.object("point color",o),zx.Color.clone(o,this._pointColor)}}});var Eat=Cat;var Nu=null;function _C(o,A,f){Nu=f,o=Nu.defaultValue(o,Nu.defaultValue.EMPTY_OBJECT),Nu.Check.defined("options.url",o.url),Nu.Check.defined("options.context",o.scene),this.id=Nu.createGuid(),this.name=o.name,this.scene=o.scene,this.context=this.scene._context,this.show=!0,this._url=void 0,this._basePath=void 0,this._baseResource=void 0,this.modelMatrix=new Nu.Matrix4,this.invModelMatrix=new Nu.Matrix4,this._visibleDistanceMax=Nu.defaultValue(o.far,Number.MAX_VALUE),this._visibleDistanceMin=Nu.defaultValue(o.near,0),this._lodRangeScale=Nu.defaultValue(o.lodRangeScale,1),this._selectedColor=new Nu.Color(1,0,0,1),this.fileType=void 0,this._position=void 0,this._rectangle=void 0,this._rootTiles=[],this._schuduler=new pat,this._selections=[],this._objsOperationList={},this._requestTiles=[],this._processTiles=[],this._selectedTiles=[],this._cache=new mat(Nu),this._maximumMemoryUsage=-1,this._totalMemoryUsageInBytes=0,this._vertexCompressionType=void 0,this._style3D=new Eat(Nu),this._maximumPriority={foveatedFactor:-Number.MAX_VALUE,depth:-Number.MAX_VALUE,distance:-Number.MAX_VALUE,pixel:-Number.MAX_VALUE},this._minimumPriority={foveatedFactor:Number.MAX_VALUE,depth:Number.MAX_VALUE,distance:Number.MAX_VALUE,pixel:Number.MAX_VALUE},this._readyPromise=Nu.defer(),this.loadConfig(o.url),this.scene.primitives.add(this),this.readyPromise.promise.then(()=>{A&&A(this)}).catch(function(m){console.log(m)})}Object.defineProperties(_C.prototype,{ready:{get:function(){return this._rootTiles.length>0}},readyPromise:{get:function(){return this._readyPromise}},rectangle:{get:function(){return this._rectangle}},visibleDistanceMax:{get:function(){return this._visibleDistanceMax},set:function(o){Nu.Check.typeOf.number("max visible distance",o),this._visibleDistanceMax=o}},visibleDistanceMin:{get:function(){return this._visibleDistanceMin},set:function(o){Nu.Check.typeOf.number("min visible distance",o),this._visibleDistanceMin=o}},lodRangeScale:{get:function(){return this._lodRangeScale},set:function(o){Nu.Check.typeOf.number("set layer lod range scale",o),this._lodRangeScale=o}},totalMemoryUsageInBytes:{get:function(){return this._totalMemoryUsageInBytes},set:function(o){this._totalMemoryUsageInBytes=o}},maximumMemoryUsage:{get:function(){return this._maximumMemoryUsage},set:function(o){this._maximumMemoryUsage=o}},style3D:{get:function(){return this._style3D},set:function(o){this._style3D=o}}});_C.prototype.loadConfig=function(o,A){let f=this;Promise.all([o]).then(function(m){let C,E=Nu.Resource.createIfNeeded(m);return C=E.getBaseUri(!0),f._url=E.url,f._basePath=C,f._baseResource=E,A?E.fetchXML():E.fetchJson()}).then(function(m){A&&(m=N8(m));let C=m.extensions;C?(f.fileType=C["s3m:FileType"],f._vertexCompressionType=C["s3m:VertexCompressionType"]):f.fileType=m.FileType;let E=m.position||m.Position,x=E.x||E.X,y=E.y||E.Y,I=E.z||E.Z;if(f._position=Nu.Cartesian3.fromDegrees(x,y,I),f.modelMatrix=Nu.Transforms.eastNorthUpToFixedFrame(f._position),f.invModelMatrix=Nu.Matrix4.inverse(f.modelMatrix,f.invModelMatrix),m.heightRange?(f._minHeight=m.heightRange.min,f._maxHeight=m.heightRange.max):m.HeightRange&&(f._minHeight=m.HeightRange.MinHeight,f._maxHeight=m.HeightRange.MaxHeight),m.geoBounds?f._rectangle=Nu.Rectangle.fromDegrees(m.geoBounds.left,m.geoBounds.bottom,m.geoBounds.right,m.geoBounds.top):f.viewPosition=Nu.Cartesian3.fromDegrees(x,y,f._maxHeight),m.wDescript){let B=m.wDescript.range;f._minWValue=B.min,f._maxWValue=B.max}let v=m.tiles||m.rootTiles||m.OSGFiles&&m.OSGFiles.Files;for(let B=0,Q=v.length;B<Q;B++){let T=v[B];if(T){let w=T.url||T.FileName,S={box:T.boundingbox};T.BoundingSphere&&(S.sphere={radius:T.BoundingSphere.Radius,center:new Nu.Cartesian3(T.BoundingSphere.CenterX,T.BoundingSphere.CenterY,T.BoundingSphere.CenterZ)});let D=new Aat(f,void 0,S,w);D.isRootTile=!0,f._cache.add(D),f._rootTiles.push(D)}}f._readyPromise.resolve(f)}).catch(function(m){A?f._readyPromise.reject(m):f.loadConfig(o,!0)})};_C.prototype._tranverseRenderEntity=function(o,A){let f=[];for(let m=0,C=this._rootTiles.length;m<C;m++){let E=this._rootTiles[m];f.push(E)}for(;f.length;){let m=f.pop();for(let C=0,E=m.renderEntities.length;C<E;C++){let x=m.renderEntities[C];x.ready&&A(x,o)}for(let C=0,E=m.children.length;C<E;C++)f.push(m.children[C])}};function qTi(o,A){o.updateObjsOperation(A.ids,A)}_C.prototype._updateObjsOperation=function(o){this._tranverseRenderEntity({ids:o},qTi)};_C.prototype._setObjsOperationType=function(o,A){Nu.Check.defined("set Objs Operation ids",o),Nu.Check.defined("set Objs Operation operationType",A),Array.isArray(o)||(o=[o]);let f=new Nu.AssociativeArray,m;for(let C=0,E=o.length;C<E;C++){if(m=o[C],!Nu.defined(m))continue;let x=Nu.defaultValue(this._objsOperationList[m],0);x!==A&&(x=x|A,this._objsOperationList[m]=x,f.set(m,x))}f.length>0&&this._updateObjsOperation(f._hash)};_C.prototype._removeObjsOperationType=function(o,A){Nu.Check.defined("set Objs Operation ids",o),Array.isArray(o)||(o=[o]);let f=oK.ALL^A,m=new Nu.AssociativeArray,C;for(let E=0,x=o.length;E<x;E++){C=o[E];let y=this._objsOperationList[C];!Nu.defined(y)||(y&=f,y===oK.RESET?delete this._objsOperationList[C]:this._objsOperationList[C]=y,m.set(C,y))}m.length>0&&this._updateObjsOperation(m._hash)};_C.prototype.releaseSelection=function(){this._selections.length<1||(this._removeObjsOperationType(this._selections,oK.SELECTED),this._selections.length=0)};_C.prototype.setSelection=function(o){Nu.Check.defined("setSelection ids",o),Array.isArray(o)||(o=[o]),this.releaseSelection(),this._selections=this._selections.concat(o),this._setObjsOperationType(o,oK.SELECTED)};function XTi(o,A){return o.priority-A.priority}function ZTi(o){let A=o._requestTiles,f=A.length;A.sort(XTi);for(let m=0;m<f;++m)A[m].requestContent()}function $Ti(o,A){let f=o._processTiles,m=f.length;for(let C=0;C<m;++C)f[C].update(A,o)}function eMi(o,A){let f=o._selectedTiles,m=f.length;for(let C=0;C<m;C++)f[C].update(A,o)}function tMi(o,A){A.free()}function xat(o){o._cache.unloadTiles(o,tMi)}_C.prototype.prePassesUpdate=function(o){!this.ready||o.newFrame&&(this._cache.reset(),this._requestTiles.length=0,this._processTiles.length=0,this._selectedTiles.length=0)};_C.prototype.postPassesUpdate=function(o){!this.ready||xat(this)};_C.prototype.update=function(o){!this.ready||!this.show||(this._schuduler.schedule(this,o),ZTi(this),$Ti(this,o),eMi(this,o))};_C.prototype.isDestroyed=function(){return!1};_C.prototype.deleteObject=function(){this.scene.primitives.remove(this)};_C.prototype.destroy=function(){return this._cache.reset(),xat(this),this._rootTiles.length=0,this._requestTiles.length=0,this._processTiles.length=0,this._selectedTiles.length=0,Nu.destroyObject(this)};_C.prototype.setVisibility=function(o){this.show=o};var Moe=_C;var yat=`// author: \u5F20\u4E39\u948A czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 st = materialInput.st; if(plus && st.s < time && time - st.s <= 0.1){ material.alpha = 1.0 - (time - st.s) / 0.1; if(material.alpha < 0.3){ material.alpha = 0.3; material.diffuse = color.rgb; }else{ material.diffuse = lightSpotColor.rgb; } }else if(inverse && st.s < (1.0 - time) && (1.0 - time) - st.s <= 0.1){ material.alpha = ((1.0-time) - st.s) / 0.1; if(material.alpha < 0.3){ material.alpha = 0.3; material.diffuse = color.rgb; }else{ material.diffuse = lightSpotColor.rgb; } }else{ material.alpha = 0.3; material.diffuse = color.rgb; } return material; }`;var Fi=null,Iat=new Map;function _n(o,A){this._viewer=o,this._cesium=A,Fi=this._cesium}_n.prototype.defaultValue=function(o,A){return vf(o,A)};_n.prototype.createRandomId=function(){return(Math.random()*1e7).toString(16).substr(0,4)+"-"+new Date().getTime()+"-"+Math.random().toString().substr(2,5)};_n.prototype.mouse=function(o,A,f){A==1?o.style.cursor="url("+f+"),auto":o.style.cursor="default"};_n.prototype.CreateTooltip=function(o={},A,f){var m,C,E,x,y;typeof o=="object"&&(m=o),m&&m.origin?(m.origin==="center"&&(C=15,E=-12),m.origin==="top"&&(C=15,E=-44),m.origin==="bottom"&&(C=15,E=20)):(C=15,E=20),m&&m.color?(m.color==="white"&&(x="background: rgba(255, 255, 255, 0.8);color: black;"),m.color==="black"&&(x="background: rgba(0, 0, 0, 0.5);color: white;"),m.color==="yellow"&&(x="color: black;background-color: #ffcc33;border: 1px solid white;")):x="background: rgba(0, 0, 0, 0.5);color: white;",m&&m.id?y="toolTip"+m.id:y="toolTip";var I=(this._viewer?this._viewer.container:document).querySelector("#"+y);if(!I){var v=document.createElement("div");$(".cesium-viewer").append(v);var B='<div id="'+y+'" style="display: none;pointer-events: none;position: absolute;z-index: 1000;opacity: 0.8;border-radius: 4px;padding: 4px 8px;white-space: nowrap;font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px;'+x+'"></div>';$(".cesium-viewer").append(B),I=document.getElementById(y)}return f?(I.innerHTML=o,I.style.left=A.x+C+"px",I.style.top=A.y+E+"px",I.style.display="block"):I.style.display="none",{tooltip:I,style:m,showAt:function(Q,T){this.tooltip.innerHTML=T,this.style&&this.style.origin?(this.style.origin==="center"&&(C=15,E=-this.tooltip.offsetHeight/2),this.style.origin==="top"&&(C=15,E=-this.tooltip.offsetHeight-20),this.style.origin==="bottom"&&(C=15,E=20)):(C=15,E=-this.tooltip.offsetHeight/2),this.tooltip.style.left=Q.x+C+"px",this.tooltip.style.top=Q.y+E+"px",this.tooltip.style.display="block"},show:function(Q){Q?this.tooltip.style.display="block":this.tooltip.style.display="none"}}};_n.prototype.getWMTSData=function(o,A){Tot(o.url+"?service=WMTS&request=GetCapabilities",Fi).then(f=>{let m=f.xmlObj,C,E,x,y={};if(o.gisserverTMS)C=N8(m),E=C.Contents&&C.Contents.Layer;else{let I=m.getElementsByTagName("Layer");for(let v=0,B;v<I.length;v++)if(B=I[v].getElementsByTagName("ows:Identifier"),B&&B[0]&&B[0].innerHTML===o.layer){m=I[v];break}E=N8(m)}if(E){let I=E.TileMatrixSetLink,v=E.WGS84BoundingBox;if(v){let Q=v.LowerCorner.split(" "),T=v.UpperCorner.split(" ");x=Fi.BoundingSphere.fromPoints([Fi.Cartesian3.fromDegrees(Q[0],Q[1]),Fi.Cartesian3.fromDegrees(T[0],T[1])])}let B;if(o.gisserverTMS)B=I;else{let Q=o.srs||"EPSG:4326";B=I.filter(T=>T.TileMatrixSet===Q)[0]}B&&B.TileMatrixSetLimits&&B.TileMatrixSetLimits.TileMatrixLimits.forEach(Q=>{let T=Q.TileMatrix;T=T.split(":");let w=T[T.length-1];y[w]={maxCol:Q.MaxTileCol,minCol:Q.MinTileCol,maxRow:Q.MaxTileRow,minRow:Q.MinTileRow}})}A&&A({boundingSphere:x,TileMatrixLimits:y})})};_n.prototype.getPointToCameraDistance=function(o,A){let f;if(o.scene.mode===2){let m=o.camera.positionCartographic.clone();f=Fi.Cartesian3.distance(A,Fi.Cartesian3.fromRadians(m.longitude,m.latitude,m.height))}else f=this._cesium.Cartesian3.distance(A,o.camera.position);return f};_n.prototype.getPositionFromHR=function(o,A,f,m=0){var C=6378137,E=6356725,x=f*Math.sin(m*Math.PI/180),y=f*Math.cos(m*Math.PI/180),I=E+(C-E)*(90-A)/90,v=I*Math.cos(A*Math.PI/180),B=(x/v+o*Math.PI/180)*180/Math.PI,Q=(y/I+A*Math.PI/180)*180/Math.PI;return[B,Q]};_n.prototype.getPositionFromHPR=function(o,A,f=0,m=0){let C=Math.cos(Fi.Math.toRadians(m))*A,E=Math.sin(Fi.Math.toRadians(m))*A,x=this.getPositionFromHR(o[0],o[1],C,f);return{lon:x[0],lat:x[1],height:o[2]+E}};_n.prototype.CreateResultTooltip=function(o,A={}){var f,m,C;let E=A.id?"resultToolTip"+A.id:"resultToolTip";var x=document.getElementById(E);if(A.color?(A.color==="white"&&(C="background: rgba(255, 255, 255, 0.8);color: black;"),A.color==="black"&&(C="background: rgba(0, 0, 0, 0.5);color: white;"),A.color==="blue"&&(C="background: rgba(48, 119, 221);color: white;"),A.color==="yellow"&&(C="color: black;background-color: #ffcc33;border: 1px solid white;")):C="color: black;background-color: #ffcc33;border: 1px solid white;",!x){var y='<div id="'+E+'" class="resultToolTip" style="display: none;pointer-events: none;position: absolute;z-index: 1000;opacity: 0.8;border-radius: 4px;padding: 4px 8px;white-space: nowrap;font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px;'+C+'"></div>';$(o.container).append(y),x=document.getElementById(E)}var I=A.addX||0,v=A.addY||0,B,Q=this;A.closeBtn&&(x.className="resultToolTip resultToolTipClose",x.onclick=()=>{x.style.display="none",B=void 0,A.close&&A.close()});function T(){if(B){if(A.far!==void 0||A.near!==void 0){let S=Q.getPointToCameraDistance(o,B);if(S>A.far){x.style.display="none";return}else if(S<A.near){x.style.display="none";return}else x.style.display="block"}var w=o.scene.cartesianToCanvasCoordinates(B);if(!w)return;f=-x.offsetWidth/2+I,m=-x.offsetHeight+v,x.style.left=w.x+f+"px",x.style.top=w.y+m+"px"}}return o.clock.onTick.addEventListener(T),{tooltip:x,position:B,showAt:function(w,S){if(this.tooltip.innerHTML=S,this.tooltip.style.display="block",this.position=w,B=w,B){var D=o.scene.cartesianToCanvasCoordinates(B);if(!D)return;f=-this.tooltip.offsetWidth/2+I,m=-this.tooltip.offsetHeight+v,this.tooltip.style.left=D.x+f+"px",this.tooltip.style.top=D.y+m+"px"}},show:function(w){w?(this.tooltip.style.display="block",B=this.position):(this.tooltip.style.display="none",B=void 0)},destroy(){o.clock.onTick.removeEventListener(T),x.remove()}}};_n.prototype.CombineEcharts=function(o,A,f){return this._CombineEcharts||(this._CombineEcharts=new Bot(o,Fi)),this._CombineEcharts.setOption(A,f)};_n.prototype.getHeatmapData=function(o,A,f=600){let m=[];for(let C=0;C<f;C++){let E=Math.random()*(o.east-o.west)+o.west,x=Math.random()*(o.north-o.south)+o.south,y=A.value||Math.random()*(A.max-A.min)+A.min;m.push({x:E,y:x,value:y})}return m};_n.prototype.pickFromRay=function(o,A,f,m=[]){if(A.equals(f))return;let C=Fi.Cartesian3.normalize(Fi.Cartesian3.subtract(f,A,new Fi.Cartesian3),new Fi.Cartesian3),E=new Fi.Ray(A,C);return o.scene.pickFromRay(E,m)};_n.prototype.openLocalFile=function(o={}){let A=document.createElement("input");A.accept=o.accept,A.type="file",o.multiple&&(A.multiple="multiple"),A.onchange=function(){if(typeof o.callback=="function"&&A.files.length)if(o.multiple){let f=[],m=[];for(let C=0;C<A.files.length;C++)f.push(URL.createObjectURL(A.files[C])),m.push(A.files[C]);o.callback(f,m)}else o.callback(URL.createObjectURL(A.files[0]),A.files[0])},A.click()};_n.prototype.openShapeFile=function(o,A){this.openLocalFile({multiple:!0,accept:".shp,.dbf",callback:(f,m)=>{let C=new Map;m.forEach((E,x)=>{let y=E.name.substring(0,E.name.length-4),I=C.get(y);I||(C.set(y,{shp:void 0,dbf:void 0}),I=C.get(y)),E.name.includes(".shp")?I.shp=f[x]:I.dbf=f[x]}),C.forEach((E,x)=>{E.shp?this.loadShpFile({shp:E.shp,dbf:E.dbf,encoding:A,fileName:x},o):console.error("\u8BF7\u9009\u62E9"+x+".shp\u6587\u4EF6")})}})};_n.prototype.loadShpFile=function({fileName:o,shp:A,dbf:f,encoding:m},C){return window.shapefile||new Ep(!1).addJs(document.body,window.SmartEarthRootUrl+"Workers/shapefile.js"),shapefile.open(A,f,{encoding:m||"utf-8"}).then(E=>E.read().then(function x(y){if(!y.done)return Fi.GeoJsonDataSource.load(y.value,{clampToGround:!0}).then(I=>{C&&o?C(o,I.entities.values[0]):C(I.entities.values[0])}),E.read().then(x)})).catch(E=>console.error(E.stack))};_n.prototype.getGifImageProperty=function(o,A=6){if(!o||o.indexOf(".gif")===-1)return o;window.SuperGif||new Ep(!1).addJs(document.body,window.SmartEarthRootUrl+"Workers/libgif.js");let f=document.createElement("img");f.src=o,f.setAttribute("rel:animated_src",o),f.setAttribute("rel:auto_play","0"),document.body.appendChild(f);let m=new SuperGif({gif:f}),C=[];new Promise(x=>{m.load(()=>{for(let y=1;y<=m.get_length();y++)m.move_to(y),C.push(m.get_canvas().toDataURL());x(C)})});let E=0;return new Fi.CallbackProperty(function(){return C.length?(E<A*(C.length-1)?E++:E=0,C[Math.floor(E/A)===C.length-1?0:Math.floor(E/A)]):o},!1)};_n.prototype.isDOM=function(o){return typeof HTMLElement=="object"?o instanceof HTMLElement:o&&typeof o=="object"&&o.nodeType===1&&typeof o.nodeName=="string"};_n.prototype.getJSON=function(o,A){let f=new XMLHttpRequest;f.responseType="json",f.open("get",o,!0),f.onload=function(){if(f.status>=200&&f.status<300)A(f.response);else throw new Error(f.statusText)},f.send()};_n.prototype.getPositionFromWKT=function(o){let A=o+"!",f,m=[];return A.indexOf("MULTIPOLYGON")>-1?(f=A.replace("MULTIPOLYGON(",""),f=f.replace(")!",""),f=f.split(")),(("),f.forEach((C,E)=>{let x;f.length===1?x=C.substring(1,C.length-1):E===0?x=C.substring(1,C.length)+")":E===f.length-1?x="("+C.substring(0,C.length-1):x="("+C+")",x=x.split("),("),x.forEach((y,I)=>{let v;x.length===1?v=y.substring(1,y.length-1):I===0?v=y.substring(1,y.length):I===x.length-1&&(v=y.substring(0,y.length-1)),v=v.split(",");let B=[];v.forEach(Q=>{let T=Q.split(" ");B.push(Fi.Cartesian3.fromDegrees(T[0],T[1]))}),m.push(B)})})):A.indexOf("POLYGON")>-1&&(f=A.replace("POLYGON(",""),f=f.replace(")!",""),f=f.split("),("),f.forEach((C,E)=>{let x;f.length===1?x=C.substring(1,C.length-1):E===0?x=C.substring(1,C.length):E===f.length-1&&(x=C.substring(0,C.length-1)),x=x.split(",");let y=[];x.forEach(I=>{let v=I.split(" ");y.push(Fi.Cartesian3.fromDegrees(v[0],v[1]))}),m.push(y)})),m};_n.prototype.VectorSlice=function(o){var A="EPSG:4490";o.port&&(A=o.port);var f={url:o.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:o.layer,STYLE:"",TILEMATRIX:A+":{z}",TILEMATRIXSET:A,FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:o.upperLevelLimit,lowerLevelLimit:o.lowerLevelLimit,rectangle:Fi.Rectangle.fromDegrees(o.minx,o.miny,o.maxx,o.maxy)};return f};_n.prototype.arge=function(o,A,f,m="180",C=!1){let E=Math.sqrt(Math.pow(o.x-A.x,2)+Math.pow(o.y-A.y,2)),x=Math.sqrt(Math.pow(o.x-f.x,2)+Math.pow(o.y-f.y,2)),y=Math.sqrt(Math.pow(A.x-f.x,2)+Math.pow(A.y-f.y,2)),I=(Math.pow(E,2)+Math.pow(x,2)-Math.pow(y,2))/(2*E*x),v=Math.round(Math.acos(I)*180/Math.PI);if(m==="360"||m==="+-"){let B=C?-1:1;this.isClockwise([[A.x,B*A.y],[o.x,B*o.y],[f.x,B*f.y],[A.x,B*A.y]])||(m==="+-"?v=-v:v=360-v)}return v};_n.prototype.isClockwise=function(o){let A=Fi.turf.lineString(o);return Fi.turf.booleanClockwise(A)};_n.prototype.saveAs=function(o,A){window.saveAs||new Ep(!1).addJs(document.body,window.SmartEarthRootUrl+"Workers/FileSaver.js"),saveAs(o,A)};_n.prototype.getEntityProp=function(o){let A=o.properties&&o.properties.getValue();return{id:o.id,properties:A}};_n.prototype.getEntityPropValue=function(o,A){let f=o.properties&&o.properties.getValue();return A.indexOf("[")>-1&&A.indexOf("]")>-1&&(A=A.replace("[","").replace("]","")),f&&f[A]};_n.prototype.setheight=function(o,A){var f=Fi.Cartographic.fromCartesian(o);return Fi.Cartesian3.fromRadians(f.longitude,f.latitude,A)};_n.prototype.setpolylineheight=function(o,A){let f=[];return o.forEach(function(m){var C=Fi.Cartographic.fromCartesian(m);f.push(Fi.Cartesian3.fromRadians(C.longitude,C.latitude,A))}),f};_n.prototype.StyleContrastGeoJson=function(o,A){var f={color:A.Color.WHITE,pixelSize:1,outlineColor:A.Color.BLACK,outlineWidth:0,show:!0,distanceDisplayCondition:new A.DistanceDisplayCondition(0,999999999)},m={id:"my label",text:"",font:"30px sans-serif",fillColor:A.Color.WHITE,outlineColor:A.Color.WHITE,outlineWidth:"10",scale:1,distanceDisplayCondition:new A.DistanceDisplayCondition(0,999999999)},C={show:!0,scale:1,width:void 0,height:void 0,pixelOffset:void 0,color:A.Color.WHITE,image:"",distanceDisplayCondition:new A.DistanceDisplayCondition(0,999999999)},E={positions:[],arcType:A.ArcType.GEODESIC,clampToGround:!0,width:1,show:!0,material:A.Color.RED,height:30},x={height:0,heightReference:A.HeightReference.NONE,show:!0,fill:!0,material:A.Color.WHITE,outline:!1,outlineColor:A.Color.BLACK,outlineWidth:1,stRotation:0,granularity:A.Math.RADIANS_PER_DEGREE,perPositionHeight:!1,closeTop:!0,closeBottom:!0,shadows:A.ShadowMode.ENABLED,clampToGround:!0};this.isnull(o.near)&&(o.near=0),this.isnull(o.far)&&(o.far=999999999);var y=parseFloat(o.near),I=parseFloat(o.far);return delete o.near,delete o.far,o.point!=null&&(o.point=this.extend(f,o.point,!0),o.point.distanceDisplayCondition=new A.DistanceDisplayCondition(y,I)),o.label!=null&&(o.label=this.extend(m,o.label,!0),o.label.distanceDisplayCondition=new A.DistanceDisplayCondition(y,I)),o.billboard!=null&&(o.billboard=this.extend(C,o.billboard,!0),o.billboard.distanceDisplayCondition=new A.DistanceDisplayCondition(y,I)),o.polyline!=null&&(o.polyline=this.extend(E,o.polyline,!0),o.polyline.distanceDisplayCondition=new A.DistanceDisplayCondition(y,I)),o.polygon!=null&&(o.polygon=this.extend(x,o.polygon,!0),o.polygon.distanceDisplayCondition=new A.DistanceDisplayCondition(y,I)),o};_n.prototype.getCatesian3FromPX=function(o,A,f,m){var C=A.scene.pick(o),E,x=A.scene.drillPick(o),y=null;if(m){for(var I=0;I<x.length;I++)if(x[I].id._id!=(m&&m[0]&&m[0].id)&&x[I].id._id!=(m&&m[1]&&m[1].id)){y=x[I].id;break}}else y=C;if(A.scene.pickPositionSupported&&f.defined(y))E=A.scene.pickPosition(o);else{var v=A.camera.getPickRay(o);if(!v)return;E=A.scene.globe.pick(v,A.scene)}return E};_n.prototype.StyleContrast=function(o,A,f){var m={text:"",font:" 30px sans-serif",style:f.LabelStyle.FILL_AND_OUTLINE,fillColor:f.Color.WHITE,outlineColor:f.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new f.Color(.165,.165,.165,.8),backgroundPadding:new f.Cartesian2(7,5),scale:1,horizontalOrigin:f.HorizontalOrigin.CENTER,verticalOrigin:f.VerticalOrigin.CENTER,eyeOffset:f.Cartesian3.ZERO,pixelOffset:f.Cartesian2.ZERO,heightReference:f.HeightReference.NONE,scaleByDistance:void 0,distanceDisplayCondition:void 0},C={show:!0,position:f.Cartesian3.ZERO,pixelOffset:f.Cartesian2.ZERO,eyeOffset:f.Cartesian3.ZERO,heightReference:f.HeightReference.NONE,horizontalOrigin:f.HorizontalOrigin.CENTER,verticalOrigin:f.VerticalOrigin.CENTER,scale:1,image:"",imageSubRegion:void 0,color:f.Color.WHITE,rotation:0,alignedAxis:f.Cartesian3.ZERO,width:void 0,height:void 0,scaleByDistance:void 0,translucencyByDistance:void 0,pixelOffsetScaleByDistance:void 0,sizeInMeters:!1,distanceDisplayCondition:void 0},E={show:!0,pixelSize:1,heightReference:f.HeightReference.NONE,color:f.WHITE,outlineColor:f.Color.BLACK,outlineWidth:1,scaleByDistance:void 0,translucencyByDistance:void 0,distanceDisplayCondition:void 0},x={positions:[],width:5,material:f.Color.ALICEBLUE,arcType:f.ArcType.GEODESIC},y={polygonHierarchy:new f.PolygonHierarchy(f.Cartesian3.fromDegreesArray([-72,40,-70,35,-75,30,-70,30,-68,40])),height:0,extrudedHeight:0,material:"rgba(245, 20, 20, 0.91)"};this.isnull(A.near)&&(A.near=0),this.isnull(A.far)&&(A.far=999999999);var I=parseFloat(A.near),v=parseFloat(A.far);return delete A.near,delete A.far,A.distanceDisplayCondition=new f.DistanceDisplayCondition(I,v),o=="lable"?A=this.extend(m,A,!0):o=="billboard"?A=this.extend(C,A,!0):o=="point"?A=this.extend(E,A,!0):o=="polyline"?A=this.extend(x,A,!0):o=="polygon"&&(A=this.extend(y,A,!0)),A};_n.prototype.createPolyline=function(o,A,f,m){var C=null;if(A==-1){var E=new m.PolylineGeometry(o);C=new m.GeometryInstance({id:f,geometry:E})}else{var E=new m.GroundPolylineGeometry(o);C=new m.GeometryInstance({geometry:E,id:f})}return C};_n.prototype.createPolygon=function(o,A,f,m){var C=null,E=o.material,x=new m.PolygonGeometry(o);return delete o.material,C=new m.GeometryInstance({id:f,geometry:x,attributes:{color:new m.ColorGeometryInstanceAttribute.fromColor(E)}}),C};_n.prototype.coordinate=function(o,A){for(var f=0;f<A.length;f++)Array.isArray(A[f])?this.coordinate(o,A[f]):o.push(A[f]);return o};_n.prototype.Analysis=function(o,A){if(/^\[/.test(o)&&/\]$/.test(o)){var f=o.replace(/\[/,"").replace(/\]/,"");A.properties[f]!=null&&(o=A.properties[f])}return o};_n.prototype.unique=function(o){for(var A=[],f=0;f<o.length;f++)A.indexOf(o[f])===-1&&A.push(o[f]);return A};_n.prototype.extend=function(o,A,f=!1,m=!1){for(var C in A)m?o.hasOwnProperty(C)&&(o[C]=A[C]):(!o.hasOwnProperty(C)||f)&&(o[C]=A[C]);return o};_n.prototype.setPositionOffset=(o,A,f)=>{let m=Fi.Transforms.headingPitchRollToFixedFrame(o,f||new Fi.HeadingPitchRoll),C=new Fi.Cartesian3(0,0,0);return Fi.Matrix4.multiplyByPoint(m,A,C),C};_n.prototype.getOffsetTilingScheme=function(o="GCJ02"){let A,f;return o==="GCJ02"&&(A=new Fi.WebMercatorTilingScheme,f=new Fi.WebMercatorProjection,A._projection.project=function(m,C){return C=DSe.WGS84ToGCJ02(Fi.Math.toDegrees(m.longitude),Fi.Math.toDegrees(m.latitude)),C=f.project(new Fi.Cartographic(Fi.Math.toRadians(C[0]),Fi.Math.toRadians(C[1]))),new Fi.Cartesian2(C.x,C.y)},A._projection.unproject=function(m,C){let E=f.unproject(m);return C=DSe.GCJ02ToWGS84(Fi.Math.toDegrees(E.longitude),Fi.Math.toDegrees(E.latitude)),new Fi.Cartographic(Fi.Math.toRadians(C[0]),Fi.Math.toRadians(C[1]))}),A};_n.prototype.trackedEntity=function(o,A,f={}){let m={type:"tracked",heading:0,pitch:-45,distance:1e3,minDistance:0};Object.assign(m,f);let C,E,x;if(m.tooltip){let v={innerHTML:"",drag:!1,near:0,far:1e3,addX:0,addY:0};m.tooltip=Object.assign(v,m.tooltip);let B=`<div id="trackedTooltip${A.id}" style="display: none;pointer-events: none;position: absolute;z-index: 1000;"><div class="trackedTooltipContainer"></div></div>`;if($(o.container).append(B),C=document.getElementById("trackedTooltip"+A.id),E=C.firstElementChild,E.innerHTML=m.tooltip.innerHTML,E.style.left=m.tooltip.addX+"px",E.style.top=m.tooltip.addY+"px",E.style.position="relative",m.tooltip.drag){x=document.createElement("div"),x.className="trackedTooltip-arrow",C.appendChild(x);let Q,T,w,S,D=(R,P)=>{let M;Q=Math.sqrt(Math.pow(R,2)+Math.pow(P,2)),T=-(Q-R)/2+"px",w=-P/2+"px",R?(M=Fi.Math.toDegrees(Math.atan(P/R)),R<0&&(T=(Q+R)/2-Q+"px")):P>0?M=90:M=-90,S=`rotate(${M}deg)`};D(m.tooltip.addX,m.tooltip.addY),x.style.cssText=` position: absolute; bottom: ${w}; left: ${T}; width: ${Q}px; height: 0px; transform: ${S}; border-top: 2px dashed #f00; `,E.style.pointerEvents="all",E.addEventListener("mousedown",function(R){let P=R.pageX-E.offsetLeft,M=R.pageY-E.offsetTop,L,F;document.onmousemove=k=>{L=k.pageX-P,F=k.pageY-M,E.style.left=L+"px",E.style.top=F+"px",D(L,F),x.style.width=`${Q}px`,x.style.left=T,x.style.bottom=w,x.style.transform=S},document.onmouseup=k=>{document.onmousemove=null}})}}this.endTrackedEntity&&this.endTrackedEntity(),m.start&&typeof m.start=="function"&&m.start();let y=new Fi.ScreenSpaceEventHandler(o.scene.canvas),I;if(m.type==="setView"){I=()=>{let w=o.clock.currentTime.clone(),S=A.position.getValue(w);if(o.scene.camera.setView({destination:S,orientation:{heading:Fi.Math.toRadians(m.heading),pitch:Fi.Math.toRadians(m.pitch)}}),o.scene.camera.moveBackward(m.distance),m.tooltip){m.distance<=m.tooltip.far&&m.distance>=m.tooltip.near?C.style.display="block":C.style.display="none";let D=o.scene.cartesianToCanvasCoordinates(S);if(!D)return;C.style.left=D.x+"px",C.style.top=D.y-C.offsetHeight+"px"}m.position=S,m.update&&typeof m.update=="function"&&m.update()},o.scene.preRender.addEventListener(I);let v,B,Q,T;y.setInputAction(w=>{v={position:w.position,heading:m.heading,pitch:m.pitch}},Fi.ScreenSpaceEventType.LEFT_DOWN),y.setInputAction(w=>{v=void 0},Fi.ScreenSpaceEventType.LEFT_UP),y.setInputAction(w=>{v&&(B=w.endPosition,Q=B.x-v.position.x,T=B.y-v.position.y,m.heading=v.heading+Q/8,m.pitch=v.pitch-T/6)},Fi.ScreenSpaceEventType.MOUSE_MOVE),y.setInputAction(w=>{m.distance-=w*m.distance/1e3,m.distance<m.minDistance&&(m.distance=m.minDistance)},Fi.ScreenSpaceEventType.WHEEL)}else m.viewFrom&&(A.viewFrom=m.viewFrom),o.trackedEntity=A;return y.setInputAction(v=>{this.endTrackedEntity&&this.endTrackedEntity()},Fi.ScreenSpaceEventType.LEFT_DOUBLE_CLICK),this.endTrackedEntity=()=>{y&&y.destroy(),o.trackedEntity=void 0,I&&o.scene.preRender.removeEventListener(I),C&&C.remove(),C=void 0,I=void 0,y=void 0,m.end&&typeof m.end=="function"&&m.end()},m.destroy=this.endTrackedEntity,m.updataTooltip=v=>{E.innerHTML=m.tooltip.innerHTML=v},m};_n.prototype.getPointFromWindowPoint=function(o,A){if(A.scene.terrainProvider.constructor.name=="EllipsoidTerrainProvider")return A.camera.pickEllipsoid(o,A.scene.globe.ellipsoid);var f=A.scene.camera.getPickRay(o);return A.scene.globe.pick(f,A.scene)};_n.prototype.isnull=function(o){return o==null||o==null||o===""};_n.prototype.getuid=function(){return this.uuid(8,16)};_n.prototype.extendgl=function(o,A,f){return A!=null&&A!=null?(typeof A=="string"&&A.charAt(0)=="["&&A.charAt(A.length-1)=="]"&&(A=A.substr(0,A.length-1),A=A.substr(1),o.properties[A]._value!=null?A=o.properties[A]._value:o.properties[A]!=null&&(A=o.properties[A])),A):f};_n.prototype.customGeometry=function(o){if(o.scale)for(let f=0;f<o.position.length-2;f+=3)o.position[f]*=o.scale[0],o.position[f+1]*=o.scale[1],o.position[f+2]*=o.scale[2];return new Fi.Geometry({attributes:{position:new Fi.GeometryAttribute({componentDatatype:Fi.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:o.position}),st:new Fi.GeometryAttribute({componentDatatype:Fi.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:o.st})},indices:o.indices,primitiveType:o.grid?Fi.PrimitiveType.LINES:Fi.PrimitiveType.TRIANGLES,boundingSphere:o.boundingSphere})};_n.prototype.getLevel=function(o){let A=0,f=o.scene.globe._surface._tilesToRender;return f&&f.forEach(m=>{m.level>A&&(A=m.level)}),A};_n.prototype.getViewRectangle=function(o){let A=o.camera.computeViewRectangle();return this.toDegreesRectangle(A)};_n.prototype.toDegreesRectangle=function(o){let A=new Fi.Rectangle;return A.west=Fi.Math.toDegrees(o.west),A.north=Fi.Math.toDegrees(o.north),A.east=Fi.Math.toDegrees(o.east),A.south=Fi.Math.toDegrees(o.south),A};_n.prototype.getCenterOfMass=function(o){let A=[],f=0;if(o[0].x){let E;o.forEach(x=>{E=this.toDegrees(x),A.push([E.lon,E.lat]),f+=E.height})}else o[0].lon?o.forEach(E=>{A.push([E.lon,E.lat]),f+=E.height||0}):Array.isArray(o[0])&&(A=o,o.forEach(E=>{f+=E[2]||0}));let m=turf.polygon([A]),C=turf.pointOnFeature(m);return f/=o.length,C.geometry.coordinates[2]=f,C.geometry.coordinates};_n.prototype.addPickStage=function(o,A="rgba(255,0,0,0.6)"){let f=`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; uniform vec4 highlight; void main() { vec4 color = texture(colorTexture, v_textureCoordinates); if (czm_selected()) { vec3 highlighted = highlight.a * highlight.rgb + (1.0 - highlight.a) * color.rgb; out_FragColor = vec4(highlighted, 1.0); } else { out_FragColor = color; } } `,m=o.scene.postProcessStages.add(new Fi.PostProcessStage({fragmentShader:f,uniforms:{highlight:function(){return new Fi.Color.fromCssColorString(A)}}}));return m.selected=[],{select(C){!C.color&&C.content?C=C.content.tile:C.id instanceof Fi.Entity&&(C=C.id),m.selected=[C],this.changeOtherHighlight()},changeOtherHighlight(){let C=m.selected[0];C&&(C instanceof Fi.Cesium3DTile?C.defaultColor?(C.color=C.defaultColor,C.defaultColor=null):(C.defaultColor=C.color&&C.color.clone(),C.color=Fi.Color.RED):C instanceof Fi.Entity||C.primitive instanceof Moe&&(C.primitive._selections.length?C.primitive.releaseSelection():C.primitive.setSelection(C.id)))},remove(){this.changeOtherHighlight(),m.selected=[]},destroy(){o.scene.postProcessStages.remove(m)}}};_n.prototype.addLoading=function(o,A){let f=document.createElement("div");f.id="cesiumLoading",f.style.cssText="width: 100%;height: 100%;display:none;pointer-events: none;position: absolute;top: 0;left: 0;-moz-box-sizing: border-box;box-sizing: border-box;background-color: unset;z-index: 99999;";let m=document.createElement("img");return m.style.cssText="position: relative;width: 110px;height: 110px;margin: auto;top: 50%;left: 50%;margin-top: -55px;margin-left: -55px;",m.src=A||window.SmartEarthRootUrl+Zr.loading,f.appendChild(m),o.appendChild(f),{isLoading(C){C?f.style.display="block":f.style.display="none"},remove(){f&&f.remove(),f=null}}};_n.prototype.uuid=function(o,A){var f="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),m=[],C,m=[],C;if(A=A||f.length,o)for(C=0;C<o;C++)m[C]=f[0|Math.random()*A];else{var E;for(m[8]=m[13]=m[18]=m[23]="-",m[14]="4",C=0;C<36;C++)m[C]||(E=0|Math.random()*16,m[C]=f[C==19?E&3|8:E])}return m.join("")};_n.prototype.Shaders=function(o){var A="";return o=="VSHADER_SOURCE "?A=`in vec4 a_Position; in vec2 a_TexCoord; uniform mat4 u_MvpMatrix; out vec2 v_TexCoord; void main(){ gl_Position = u_MvpMatrix * a_Position; v_TexCoord = a_TexCoord; } `:o=="TRIANGLE_FSHADER_SOURCE"?A=`#ifdef GL_ES precision mediump float; #endif in vec4 v_Color; void main() { out_FragColor = v_Color; '} `:o=="TRIANGLE_VSHADER_SOURCE"?A=`in vec4 a_Position; in vec4 a_Normal; uniform mat4 u_MvpMatrix; uniform mat4 u_NormalMatrix; out vec4 v_Color; void main() { vec3 lightDirection = vec3(0.0, 0.0, 1.0); vec4 color = vec4(1.0, 1.0, 0.0, 1.0); gl_Position = u_MvpMatrix * a_Position; vec3 normal = normalize(vec3(u_NormalMatrix * a_Normal)); float nDotL = max(dot(normal, lightDirection), 0.0); v_Color = vec4(color.rgb * nDotL, color.a); } `:o=="vertexShaderSource"?A=`in vec3 position3DHigh;\r in vec3 position3DLow;\r in vec3 normal;\r in vec2 st;\r in vec4 color;\r in float batchId;\r out vec3 v_positionEC;\r out vec3 v_normalEC;\r out vec2 v_st;\r out vec4 v_color;\r void main()\r {\r vec4 p = czm_computePosition();\r v_positionEC = (czm_modelViewRelativeToEye * p).xyz;\r v_normalEC = czm_normal * normal;\r v_st = st;\r v_color = color;\r gl_Position = czm_modelViewProjectionRelativeToEye * p;\r }\r `:o=="fragmentShaderSource"&&(A=`in vec3 v_positionEC;\r in vec3 v_normalEC;\r in vec2 v_st;\r in vec4 v_color;\r \r vec4 czm_phong(vec3 toEye, czm_material material)\r {\r float diffuse = czm_private_getLambertDiffuseOfMaterial(vec3(0.0, 0.0, 1.0), material);\r if (czm_sceneMode == czm_sceneMode3D) {\r diffuse += czm_private_getLambertDiffuseOfMaterial(vec3(0.0, 1.0, 0.0), material);\r }\r float specular = czm_private_getSpecularOfMaterial(czm_sunDirectionEC, toEye, material) + czm_private_getSpecularOfMaterial(czm_moonDirectionEC, toEye, material);\r vec3 materialDiffuse = material.diffuse * 0.5;\r vec3 ambient = materialDiffuse;\r vec3 color = ambient + material.emission;\r color += materialDiffuse * diffuse;\r color += material.specular * specular;\r return vec4(color, material.alpha);\r }void main()\r {\r vec3 positionToEyeEC = -v_positionEC;\r vec3 normalEC = normalize(v_normalEC);\r #ifdef FACE_FORWARD\r normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\r #endif\r vec4 color = czm_gammaCorrect(v_color);\r czm_materialInput materialInput;\r materialInput.normalEC = normalEC;\r materialInput.positionToEyeEC = positionToEyeEC;\r materialInput.st = v_st;\r czm_material material = czm_getDefaultMaterial(materialInput);\r material.diffuse = color.rgb;\r material.alpha = color.a;\r #ifdef FLAT\r out_FragColor = vec4(material.diffuse + material.emission, material.alpha);\r #else\r out_FragColor = czm_phong(normalize(positionToEyeEC), material);\r #endif\r }\r `),A};_n.prototype.isHtmlColor=function(o){var A=/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6}|[0-9a-fA-f]{8})$/;return A.test(o)};_n.prototype.isUrl=function(o){if(this.isnull(o))return!1;var A=/^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/;return A.test(o)};_n.prototype.dateTimespan=function(){var o=new Date;return o.toTimeString()};_n.prototype.getPointFromTwoPointCenter=function(o,A,f){let m=this.getSpaceDistancem(o,Fi);if(m<A)return;let C=o[0],E=o[1],x=Fi.Cartographic.fromCartesian(C),y=Fi.Math.toDegrees(x.longitude),I=Fi.Math.toDegrees(x.latitude),v=x.height,B=Fi.Cartographic.fromCartesian(E),Q=Fi.Math.toDegrees(B.longitude),T=Fi.Math.toDegrees(B.latitude),w=B.height,S=parseFloat(m/A),D=Fi.Math.lerp(y,Q,1/S)-y,R=Fi.Math.lerp(I,T,1/S)-I,P=Fi.Math.lerp(v,w,1/S)-v;return Fi.Cartesian3.fromDegrees(y+D,I+R,f||v+P)};_n.prototype.getSpaceDistance=function(o,A){for(var f=0,m="",C=0;C<o.length-1;C++){var E=A.Cartographic.fromCartesian(o[C]),x=A.Cartographic.fromCartesian(o[C+1]),y=new A.EllipsoidGeodesic;y.setEndPoints(E,x);var I=y.surfaceDistance;I=Math.sqrt(Math.pow(I,2)+Math.pow(x.height-E.height,2)),f=f+I}return f>=1e3?m=(f/1e3).toFixed(2)+"\u5343\u7C73":m=f.toFixed(2)+"\u7C73",m};_n.prototype.getSpaceDistancem=function(o,A){for(var f=0,m=0;m<o.length-1;m++){var C=A.Cartographic.fromCartesian(o[m]),E=A.Cartographic.fromCartesian(o[m+1]),x=new A.EllipsoidGeodesic;x.setEndPoints(C,E);var y=x.surfaceDistance;y=Math.sqrt(Math.pow(y,2)+Math.pow(E.height-C.height,2)),f=f+y}return f.toFixed(2)};_n.prototype.getHorizontalDistance=function(o,A){for(var f=0,m=0;m<o.length-1;m++){var C=A.Cartographic.fromCartesian(o[m]),E=A.Cartographic.fromCartesian(o[m+1]),x=new A.EllipsoidGeodesic;x.setEndPoints(C,E);var y=x.surfaceDistance;f=f+y}return f>=1e3?f=(f/1e3).toFixed(2)+"\u5343\u7C73":f=f.toFixed(2)+"\u7C73",f};_n.prototype.getPointsInPolygon=function(o,A=50,f=!0){if(o.length<3)return;o.push(o[0]);let m=Fi.turf.lineString(o),C=Fi.turf.bbox(m),E=Fi.turf.pointGrid(C,A,{units:"meters"}),x=Fi.turf.polygon([o]),y=Fi.turf.pointsWithinPolygon(E,x);if(f)for(let I=0;I<o.length-1;I++){let v=Fi.turf.lineString([o[I],o[I+1]]),B={units:"meters"},Q=Fi.turf.length(v,B),T;for(let w=A;;w+=A)if(w<=Q)T=Fi.turf.along(v,w,B),y.features.push(T);else{T=Fi.turf.along(v,Q,B),y.features.push(T);break}}return y};_n.prototype.tinFromPoints=function(o,A={}){let{polygon:f,getArea:m}=A,C=Fi.turf.tin(o),E=0;return C&&C.features&&C.features.forEach(x=>{let y=!0;if(f){let I=Fi.turf.centerOfMass(x);y=Fi.turf.booleanPointInPolygon(I,f)}if(y){let I=x.geometry.coordinates[0],v=[],B=[];for(let Q=0;Q<3;Q++)v.push([I[Q][0],I[Q][1]]),B.push(Fi.Cartesian3.fromDegrees(I[Q][0],I[Q][1],I[Q][2]));x.positions=B,m&&(x.area=this.getArea(v,B,!0),E+=x.area)}}),{tin:C,area:E}};_n.prototype.getSpaceArea=function(o,A,f={}){let m=this.defaultValue(f.distance,50),C=this.defaultValue(f.onlyTerrain,!1),E=this.defaultValue(f.isNum,!1),x=this.getPointsInPolygon(A,m,!0),y=Fi.turf.polygon([A]),I=()=>{let{tin:v,area:B}=this.tinFromPoints(x,{getArea:!0,polygon:y});return E?{area:B,tin:v}:(B<1e6?B=B.toFixed(2)+"\u5E73\u65B9\u7C73":B=(B/1e6).toFixed(2)+"\u5E73\u65B9\u5343\u7C73",{area:B,tin:v})};if(C){let v=[];return x.features.forEach(B=>{let Q=B.geometry.coordinates;v.push(Fi.Cartographic.fromDegrees(Q[0],Q[1]))}),this.getHeightsFromLonLat(o,v).then(B=>(x.features.forEach((Q,T)=>{let w=Q.geometry.coordinates;w[2]=B[T]||0}),I()))}else return x.features.forEach(v=>{let B=v.geometry.coordinates,Q=new Fi.Cartographic(Fi.Math.toRadians(B[0]),Fi.Math.toRadians(B[1])),T=o.scene.sampleHeight(Q)||0;B[2]=T}),I()};_n.prototype.starPositions=function(o,A,f){for(var m=Math.PI/o,C=[],E=0;E<2*o;E++){var x=E%2===0?A:f,y=new Fi.Cartesian2(Math.cos(E*m)*x,Math.sin(E*m)*x);C.push(y)}return C};_n.prototype.computeCircle=function(o){let A=Iat.get(o);if(A)return A;A=[];for(let f=0;f<360;f+=12){let m=Fi.Math.toRadians(f);A.push(new Fi.Cartesian2(o*Math.cos(m),o*Math.sin(m)))}return Iat.set(o,A),A};_n.prototype.getArea=function(o,A,f){if(o.length<3)return;let m=[];m=m.concat(o,[o[0]]);var C=0;let E=Fi.turf.polygon([m]),x;m.length===4?x=[E]:x=Fi.turf.tesselate(E).features;let y,I,v,B;return x.forEach(Q=>{y=Q.geometry.coordinates[0],I=m.findIndex(R=>R.toString()===y[0].toString()),v=m.findIndex(R=>R.toString()===y[1].toString()),B=m.findIndex(R=>R.toString()===y[2].toString());let T=this.getdistance(A[I],A[v]),w=this.getdistance(A[v],A[B]),S=this.getdistance(A[I],A[B]),D=(T+w+S)/2;C+=Math.sqrt(D*((D-T)*(D-w)*(D-S)))}),f||(C<1e6?C=C.toFixed(2)+"\u5E73\u65B9\u7C73":C=(C/1e6).toFixed(2)+"\u5E73\u65B9\u5343\u7C73"),C};_n.prototype.getdistance=function(o,A){var f=Fi.Cartographic.fromCartesian(o),m=Fi.Cartographic.fromCartesian(A),C=new Fi.EllipsoidGeodesic;C.setEndPoints(f,m);var E=C.surfaceDistance;return E=Math.sqrt(Math.pow(E,2)+Math.pow(m.height-f.height,2)),E};_n.prototype.Angle=function(o,A,f){var m=this.Bearing(A,o),C=this.Bearing(A,f),E=m-C;return E<0&&(E+=360),E};_n.prototype.Bearing=function(o,A){var f=Math.PI/180,m=180/Math.PI,C=o.lat*f,E=o.lon*f,x=A.lat*f,y=A.lon*f,I=-Math.atan2(Math.sin(E-y)*Math.cos(x),Math.cos(C)*Math.sin(x)-Math.sin(C)*Math.cos(x)*Math.cos(E-y));return I<0&&(I+=Math.PI*2),I=I*m,I};_n.prototype.getHeight=function(o,A){try{if(o.length>1){var f=A.Cartographic.fromCartesian(o[0]),m=A.Cartographic.fromCartesian(o[1]),C=(m.height-f.height)/1e3;return C.toFixed(2)}else return 0}catch(E){console.log(E)}};_n.prototype.getPmfx=function(o,A,f,m,C,E){var x={gcs:[],min:99999,max:0,juli:0,cys:A},y=this.getSpaceDistancem(o,m);x.juli=y,f==0||(A=parseInt(y/f)),x.cys=A;var I=[],v=o[0],B=o[o.length-1],Q=m.Cartographic.fromCartesian(v),T=m.Math.toDegrees(Q.longitude),w=m.Math.toDegrees(Q.latitude),S=Q.height,D=m.Cartographic.fromCartesian(B),R=m.Math.toDegrees(D.longitude),P=m.Math.toDegrees(D.latitude),M=D.height,L=A,F=m.Math.lerp(T,R,1/L)-T,k=m.Math.lerp(w,P,1/L)-w,N=[],G=[],J;N.push(Q);for(var K=0;K<L;K++){var X=T+(K+1)*F,q=w+(K+1)*k;J=m.Cartesian3.fromDegrees(X,q),N.push(m.Cartographic.fromCartesian(J))}var ee=this;this.getHeightsFromLonLat(C,N).then(ie=>{if(ie){G=ie;var H=!1;for(C.scene.globe.depthTestAgainstTerrain!==!0&&(C.scene.globe.depthTestAgainstTerrain=!0,H=!0),K=0;K<G.length;K++){var le=ee.get3DTileOrPrimitivesHeights(N[K],C);le!==void 0&&(G[K]=le);var ue=G[K].toFixed(2);parseFloat(ue)<parseFloat(x.min)&&(x.min=parseFloat(ue)),parseFloat(ue)>parseFloat(x.max)&&(x.max=parseFloat(ue)),x.gcs.push(ue)}H&&(C.scene.globe.depthTestAgainstTerrain=!1),E!=""&&E!=null&&typeof E=="function"&&E(x)}})};_n.prototype.getPmfxPro=function(o,A,f,m,C,E){let x=this,y={gcs:[],min:99999,max:0,juli:0,cys:0},I=[],v=[];for(let Q=0;Q<o.length-1;Q++){let T=x.getSpaceDistancem([o[Q],o[Q+1]],m);T=parseFloat(T),y.juli+=T,f==0||(A=parseInt(T/f)),v.push(A),y.cys+=A}let B=()=>{v.forEach((T,w)=>{let S=o[w],D=o[w+1],R=m.Cartographic.fromCartesian(S),P=m.Math.toDegrees(R.longitude),M=m.Math.toDegrees(R.latitude),L=m.Cartographic.fromCartesian(D),F=m.Math.toDegrees(L.longitude),k=m.Math.toDegrees(L.latitude),N=T,G=m.Math.lerp(P,F,1/N)-P,J=m.Math.lerp(M,k,1/N)-M,K;w===0&&I.push(R);for(let X=0;X<N;X++){let q=P+(X+1)*G,ee=M+(X+1)*J;K=m.Cartesian3.fromDegrees(q,ee),I.push(m.Cartographic.fromCartesian(K))}}),I.push(m.Cartographic.fromCartesian(o[o.length-1]));let Q=[];y.allPoint=I,this.getHeightsFromLonLat(C,I).then(T=>{if(T){Q=T;let w=C.scene.globe.depthTestAgainstTerrain;C.scene.globe.depthTestAgainstTerrain=!0;for(let S=0;S<Q.length;S++){let D=x.get3DTileOrPrimitivesHeights(I[S],C);D!==void 0&&(Q[S]=D);let R=Q[S].toFixed(2);parseFloat(R)<parseFloat(y.min)&&(y.min=parseFloat(R)),parseFloat(R)>parseFloat(y.max)&&(y.max=parseFloat(R)),y.gcs.push(R)}C.scene.globe.depthTestAgainstTerrain=w,E&&typeof E=="function"&&E(y)}})};y.cys>1e3?layuiLayer&&layuiLayer.msg("\u5F53\u524D\u91C7\u6837\u70B9\u6570\u8FC7\u591A\uFF0C\u662F\u5426\u7EE7\u7EED\u5206\u6790\uFF1F",{time:0,btn:["\u7EE7\u7EED","\u53D6\u6D88"],btnAlign:"c",yes:Q=>{layuiLayer.close(Q),setTimeout(()=>{B()},10)},btn2:()=>{E&&typeof E=="function"&&E(y)}}):setTimeout(()=>{B()},10)};_n.prototype.get3DTileOrPrimitivesHeights=function(o,A){return A.scene.sampleHeight(o)};_n.prototype.getHeightsFromLonLat=function(o,A){var f=[];return o.terrainProvider?o.terrainProvider instanceof Fi.EllipsoidTerrainProvider?new Promise(function(m,C){A.forEach(E=>{f.push(0)}),m(f)}):Fi.sampleTerrainMostDetailed(o.terrainProvider,A).then(C=>(C.forEach(function(E){f.push(E.height)}),f),()=>(A.forEach(C=>{f.push(o.scene.globe.getHeight(C))}),f)):new Promise(function(m,C){A.forEach(E=>{f.push(o.scene.globe.getHeight(E))}),m(f)})};_n.prototype.getColorRamp=function(o,A,f,m){var C=[0,.05,.2,.35,.5,.65,.8,.95,1],E=[],x=[0,0,.2,.4,.6,.8,.9,1,1],y=document.createElement("canvas");y.width=100,y.height=1;var I=y.getContext("2d"),v;o==="elevation"?v=C:o==="slope"?v=E:o==="aspect"&&(v=x),A||(A=["#0b0b88","#2747E0","#D33B7D","#D33038","#FF9742","#ffd700","#bbff00"]);var B=I.createLinearGradient(0,0,100,0);if(o==="slope"){f===void 0&&(f=0),m===void 0&&(f=90),f==0?E.push(0):(E.push(f/90),B.addColorStop(0,"#000000"));var Q=(m-f)/6;if(m==90){for(var T=1;T<=5;T++)E.push((f+T*Q)/90);E.push(1),E.forEach(function(w,S){B.addColorStop(w,A[S])})}else{for(var T=1;T<=5;T++)E.push((f+T*Q)/90);E.push(m/90),E.forEach(function(w,S){B.addColorStop(w,A[S])}),B.addColorStop(1,"#000000")}}else B.addColorStop(v[0],"#000000"),B.addColorStop(v[1],A[0]),B.addColorStop(v[2],A[1]),B.addColorStop(v[3],A[2]),B.addColorStop(v[4],A[3]),B.addColorStop(v[5],A[4]),B.addColorStop(v[6],A[5]),B.addColorStop(v[7],A[6]),B.addColorStop(v[8],"#000000");return I.fillStyle=B,I.fillRect(0,0,100,1),y};_n.prototype.Gauss_to_XY=function(o,A,f,m){var C=6378137,E=63567523142e-4,x=Math.sqrt(C*C-E*E)/C,y=Math.sqrt(C*C-E*E)/E,I=0,v=0,I=0,v=0,B=0,Q=0,T=this.to_Radian(f);A=this.to_Radian(A),o=this.to_Radian(o);var w=o-T,S=Math.cos(A);Q=this.to_N(A),B=Q*Math.cos(A),I=Math.tan(A),v=y*S;var D=Math.pow(I,2),R=Math.pow(I,4),P=Math.pow(v,2),M=Math.pow(v,4),L=Math.pow(S,3),F=Math.pow(S,5),k=this.to_Sm(A)+Math.pow(w,2)/2*B*S*I+Math.pow(w,4)/24*I*B*L*(5-D+9*P+4*M)+Math.pow(w,6)/720*I*B*F*(61-58*I*I+R+270*P-330*I*I*P),N=w*Q*S+Math.pow(w,3)/6*Q*L*(1-I*I+v*v)+Math.pow(w,5)/120*Q*F*(5-18*I*I+R+14*P-58*P*D);return new m.Cartesian2(N,k)};_n.prototype.to_Radian=function(o){return o*Math.PI/180};_n.prototype.to_N=function(o){var A=6378137,f=63567523142e-4,m=Math.sqrt(A*A-f*f)/A,C=Math.sqrt(A*A-f*f)/f,E=A/Math.sqrt(1-m*m*Math.sin(o)*Math.sin(o));return E};_n.prototype.to_Sm=function(o){var A=6378137,f=63567523142e-4,m=Math.sqrt(A*A-f*f)/A,C=Math.sqrt(A*A-f*f)/f,E,x,y,I,v;return E=1+m*m*3/4+Math.pow(m,4)*45/64+Math.pow(m,6)*175/256+Math.pow(m,8)*11025/16384,x=Math.pow(m,2)*3/4+Math.pow(m,4)*15/16+Math.pow(m,6)*525/512+Math.pow(m,8)*2205/2048,y=Math.pow(m,4)*15/64+Math.pow(m,6)*105/256+Math.pow(m,8)*2205/4096,I=Math.pow(m,6)*35/512+Math.pow(m,8)*315/2048,v=Math.pow(m,8)*315/16384,A*(1-m*m)*(E*o-x/2*Math.sin(2*o)+y/4*Math.sin(4*o)-I/6*Math.sin(6*o)+v/8*Math.sin(8*o))};_n.prototype.ElevationAngle=function(o,A,f){function m(D,R){for(var P=0,M=0;M<D.length-1;M++){var L=R.Cartographic.fromCartesian(D[M]),F=R.Cartographic.fromCartesian(D[M+1]),k=new R.EllipsoidGeodesic;k.setEndPoints(L,F);var N=k.surfaceDistance;N=Math.sqrt(Math.pow(N,2)+Math.pow(F.height-L.height,2)),P=P+N}return P}function C(D,R){for(var P=0,M=0;M<D.length-1;M++){var L=R.Cartographic.fromCartesian(D[M]),F=R.Cartographic.fromCartesian(D[M+1]),k=new R.EllipsoidGeodesic;k.setEndPoints(L,F);var N=k.surfaceDistance;P=P+N}return P}function E(D,R){try{if(D.length>1){var P=R.Cartographic.fromCartesian(D[0]),M=R.Cartographic.fromCartesian(D[1]),L=M.height-P.height;return L}else return 0}catch(F){console.log(F)}}var x=f.Cartographic.fromCartesian(o),y=f.Cartographic.fromCartesian(A),I=x.height-(x.height-y.height),v=f.Cartesian3.fromDegrees(f.Math.toDegrees(y.longitude),f.Math.toDegrees(y.latitude),x.height),B=parseFloat(m([o,A],f)),Q=parseFloat(C([o,v],f)),T=parseFloat(E([v,A],f)),w=T/B,S=Math.asin(w)*180/3.14;return S};_n.prototype.TwoPointAzimuth=function(o,A,f,m){var C=0,E=function(T){return T*Math.PI/180},x=Math.round(.5+A*36e4),y=Math.round(.5+m*36e4),I=Math.round(.5+o*36e4),v=Math.round(.5+f*36e4);if(A=E(A),o=E(o),m=E(m),f=E(f),x===y&&I===v)return C;if(I===v)x>y&&(C=180);else{var B=Math.acos(Math.sin(m)*Math.sin(A)+Math.cos(m)*Math.cos(A)*Math.cos(f-o)),Q=Math.asin(Math.cos(m)*Math.sin(f-o)/Math.sin(B));C=Q*180/Math.PI,y>x&&v>I||(y<x&&v<I||y<x&&v>I?C=180-C:y>x&&v<I&&(C+=360))}return C};_n.prototype.twoPointsHeadingPitchRoll=function(o,A,f){let m=new Fi.Camera(o.scene);m.position=A,m.direction=Fi.Cartesian3.subtract(f,A,new Fi.Cartesian3),m.up=Fi.Cartesian3.normalize(A,new Fi.Cartesian3);let C=Fi.Cartesian3.distance(A,f),E=Fi.Cartesian3.normalize(Fi.Cartesian3.subtract(f,A,new Fi.Cartesian3),new Fi.Cartesian3);m.direction=E,m.frustum.near=0,m.frustum.far=C;let{heading:x,pitch:y,roll:I}=m;return m=null,{heading:x,pitch:y,roll:I,radius:C}};_n.prototype.ThreePointAzimuth=function(o,A,f,m){var C=6371e3,E=Math.PI/180,x=180/Math.PI,y=m.Cartographic.fromCartesian(o),I=m.Cartographic.fromCartesian(A),v=m.Cartographic.fromCartesian(f);A=m.Cartesian3.fromDegrees(m.Math.toDegrees(I.longitude),m.Math.toDegrees(I.latitude),y.height),f=m.Cartesian3.fromDegrees(m.Math.toDegrees(v.longitude),m.Math.toDegrees(v.latitude),y.height),I=m.Cartographic.fromCartesian(A),v=m.Cartographic.fromCartesian(f);function B(w,S,D){var R=Q(S,w),P=Q(S,D),M=R-P;return M<0&&(M+=360),M}function Q(w,S){var D=w.latitude*E,R=w.longitude*E,P=S.latitude*E,M=S.longitude*E,L=-Math.atan2(Math.sin(R-M)*Math.cos(P),Math.cos(D)*Math.sin(P)-Math.sin(D)*Math.cos(P)*Math.cos(R-M));return L<0&&(L+=Math.PI*2),L=L*x,L}var T=B(y,I,v);return T};_n.prototype.setDepthTest=function(o,A){o==="open"&&this.defaultDepthTest===void 0?(this.defaultDepthTest=!!A.scene.globe.depthTestAgainstTerrain,A.scene.globe.depthTestAgainstTerrain=!0):o==="close"&&this.defaultDepthTest!==void 0&&(A.scene.globe.depthTestAgainstTerrain=!!this.defaultDepthTest,this.defaultDepthTest=void 0)};_n.prototype.setImageMaterialProperty=function(o,A,f,m){this.id=m;var C=this,E=document.createElement("canvas");E.id=this.id+"-a",E.width=700,E.height=100;var x=document.createElement("canvas");x.id=this.id+"-b",x.width=700,x.height=100,document.body.appendChild(E),document.body.appendChild(x),o&&(C.images=o);var y=new A.CallbackProperty(function(I,v){var B=document.getElementById(C.id+"-"+C.curCanvas),Q=700,T=100,w=B.getContext("2d"),S=new Image;return S.src=C.images,w.clearRect(0,0,Q,T),S.onload=function(){C.i<=Q?(w.drawImage(S,C.i,0),w.drawImage(S,C.i+100,0)):C.i=0,C.i+=5},C.curCanvas=C.curCanvas==="a"?"b":"a",B},!1);return f==1&&(y=new A.CallbackProperty(function(I,v){var B=C,Q=document.getElementById(C.id+"-"+C.curCanvas),T=700,w=100,S=Q.getContext("2d"),D=S.createLinearGradient(0,100,0,0);return D.addColorStop(0,"red"),C.i>1&&(C.i=1),D.addColorStop(C.i,"rgb(255,0,0,0.6)"),D.addColorStop(1,"rgb(255,0,0,0.1)"),S.clearRect(0,0,700,100),S.fillStyle=D,S.fillRect(0,0,700,100),C.i<1?C.i+=.01:C.i=0,C.curCanvas=C.curCanvas==="a"?"b":"a",Q},!1)),new A.ImageMaterialProperty({image:y,transparent:!0})};_n.prototype.setDrawCanvasImage=function(o,A){var f=document.getElementById("canvas-"+curCanvas),m=700,C=100,E=f.getContext("2d"),x=new Image;return x.src=images,E.clearRect(0,0,m,C),x.onload=function(){i<=m?(E.drawImage(x,i,0),E.drawImage(x,i+100,0)):i=0,i+=5},curCanvas=curCanvas==="a"?"b":"a",f};_n.prototype.setDrawCanvasColorUpdown=function(o,A){var f=document.getElementById("canvas-"+curCanvas),m=700,C=100,E=f.getContext("2d"),x=E.createLinearGradient(0,100,0,0);return x.addColorStop(0,"red"),i>1&&(i=1),x.addColorStop(i,"rgb(255,0,0,0.6)"),x.addColorStop(1,"rgb(255,0,0,0.1)"),E.clearRect(0,0,700,100),E.fillStyle=x,E.fillRect(0,0,700,100),i<1?i+=.01:i=0,curCanvas=curCanvas==="a"?"b":"a",f};_n.prototype.toDegrees=function(o){let A=Fi.Cartographic.fromCartesian(o);return{lon:Fi.Math.toDegrees(A.longitude),lat:Fi.Math.toDegrees(A.latitude),height:A.height}};_n.prototype.fromDegrees=function(o){return Fi.Cartesian3.fromDegrees(o.lon,o.lat,o.height)};_n.prototype.LineInterpolation=function(o,A){let f,m,C=!1;A.positions?f=A.positions:f=A,m=A.num||100,A.getHeight&&(C=!0);let E={positions:[],cartographic:[],lon_lat:[],height:[]};for(let I=0;I<f.length-1;I++){let v=this.toDegrees(f[I]),B=this.toDegrees(f[I+1]);x(v.lon,v.lat,B.lon,B.lat)}function x(I,v,B,Q){let T=Fi.Math.lerp(I,B,1/m)-I,w=Fi.Math.lerp(v,Q,1/m)-v;E.lon_lat.push(I,v);let S;if(C){S=y(I,v),E.height.push(S),E.positions.push(Fi.Cartesian3.fromDegrees(I,v,S));for(let D=0;D<m;D++){let R=I+(D+1)*T,P=v+(D+1)*w;E.lon_lat.push(R,P),S=y(R,P),E.height.push(S),E.positions.push(Fi.Cartesian3.fromDegrees(R,P,S))}E.lon_lat.push(B,Q),S=y(B,Q),E.height.push(S),E.positions.push(Fi.Cartesian3.fromDegrees(B,Q,S))}else{E.positions.push(Fi.Cartesian3.fromDegrees(I,v));for(let D=0;D<m;D++){let R=I+(D+1)*T,P=v+(D+1)*w;E.lon_lat.push(R,P),E.positions.push(Fi.Cartesian3.fromDegrees(R,P))}E.lon_lat.push(B,Q),E.positions.push(Fi.Cartesian3.fromDegrees(B,Q))}}function y(I,v){let B=Fi.Cartographic.fromDegrees(I,v);return o.scene.globe.getHeight(B)}return E};_n.prototype.CIMServerTool=function(o){return new wot(o)};_n.prototype.Recorder=function(o,A){return this._Recorder?(this._Recorder.mediaOutputPath=this.defaultValue(o,"test.mp4"),A&&(this._Recorder.videoBPS=A)):this._Recorder=new bot(o,A),this._Recorder};_n.prototype.getLinkMaterial=function(o,A,f){if(!Fi.PolylineLinkMaterialProperty){let m=function(C,E,x){this._definitionChanged=new Fi.Event,this._color=void 0,this._colorSubscription=void 0,this.color=C,this.lightSpotColor=E,this.duration=x,this.old=void 0,this._time=new Date().getTime()};Object.defineProperties(m.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}},color:Fi.createPropertyDescriptor("color")}),m.prototype.getType=function(C){return"PolylineLink"},m.prototype.getValue=function(C,E){return Fi.defined(E)||(E={}),E.color=Fi.Property.getValueOrClonedDefault(this._color,C,Fi.Color.WHITE,E.color),E.lightSpotColor=this.lightSpotColor,E.time=(new Date().getTime()-this._time)%this.duration/this.duration,this.old===void 0&&(this.old=E.time),this.old>.5&&E.time<.5&&(E.plus=!E.plus,E.inverse=!E.inverse),this.old=E.time,E.plus?E.time=E.time*1.1:E.time=E.time*1.2-.1,E},m.prototype.equals=function(C){return this===C||C instanceof m&&Fi.Property.equals(this._color,C._color)},Fi.PolylineLinkMaterialProperty=m,Fi.Material.PolylineLinkType="PolylineLink",Fi.Material.PolylineLinkSource=yat,Fi.Material._materialCache.addMaterial(Fi.Material.PolylineLinkType,{fabric:{type:Fi.Material.PolylineLinkType,uniforms:{color:new Fi.Color(1,0,0,.5),lightSpotColor:new Fi.Color(1,1,1,.5),time:0,plus:!0,inverse:!1},source:Fi.Material.PolylineLinkSource},translucent:function(C){return!0}})}return new Fi.PolylineLinkMaterialProperty(Fi.Color.fromCssColorString(this.defaultValue(o,"#0000ff")),Fi.Color.fromCssColorString(this.defaultValue(A,"#ffffff")),this.defaultValue(f,3e3))};_n.prototype.getTrailLinkMaterial=function(o,A,f){return new vot(o,A,f,this._cesium)};_n.prototype.getConeRadarMaterial=function(o){if(!Fi.ConeRadarMaterialProperty){let A=function(f,m){this._definitionChanged=new Fi.Event,this._color=void 0,this._colorSubscription=void 0,this.color=f,this.duration=m,this._time=new Date().getTime()};Object.defineProperties(A.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}},color:Fi.createPropertyDescriptor("color")}),A.prototype.getType=function(f){return"ConeRadar"},A.prototype.getValue=function(f,m){return Fi.defined(m)||(m={}),m.color=Fi.Property.getValueOrClonedDefault(this._color,f,Fi.Color.WHITE,m.color),m.time=(new Date().getTime()-this._time)%this.duration/this.duration,m},A.prototype.equals=function(f){return this===f||f instanceof A&&Fi.Property.equals(this._color,f._color)},Fi.ConeRadarMaterialProperty=A,Fi.Material.ConeRadarType="ConeRadar",Fi.Material.ConeRadarSource=` float ripple(float dist, float rippleIntensity, float rippleScale) { return rippleScale * ((sin(dist * rippleIntensity - czm_frameNumber/10.0)-0.9) / (dist * rippleIntensity)); } czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); material.diffuse = color.rgb; vec2 st = materialInput.st; float dis = distance(st, vec2(0.5, 0.5)); material.alpha = 0.0; float intensity = step(0.001,ripple(dis, 80.0, 15.0)); if(intensity == 1.0) { material.alpha = 1.0; } return material; }`,Fi.Material._materialCache.addMaterial(Fi.Material.ConeRadarType,{fabric:{type:Fi.Material.ConeRadarType,uniforms:{color:new Fi.Color(1,0,0,.5),time:0},source:Fi.Material.ConeRadarSource},translucent:function(f){return!0}})}return new Fi.ConeRadarMaterialProperty(Fi.Color.fromCssColorString(this.defaultValue(o,"#0000ff")),3e3)};_n.prototype.getMultiCircleScanMaterial=function(o,A){if(!Fi.CircleScanMultiMaterialProperty){let f=function(m,C){this._definitionChanged=new Fi.Event,this._color=void 0,this._colorSubscription=void 0,this.color=m,this.u_radius1=0,this.u_radius2=0,this.u_radius3=0,this.duration=C,this._time=new Date().getTime()};Object.defineProperties(f.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}},color:Fi.createPropertyDescriptor("color")}),f.prototype.getType=function(m){return"CircleScanMulti"},f.prototype.getValue=function(m,C){return Fi.defined(C)||(C={}),C.color=Fi.Property.getValueOrClonedDefault(this._color,m,Fi.Color.WHITE,C.color),C.time=(new Date().getTime()-this._time)%this.duration/this.duration,C.time<1/3&&this.u_radius2===0&&this.u_radius1===0?this.u_radius3=C.time:C.time>=1/3&&C.time<2/3&&this.u_radius1===0?(this.u_radius3=C.time,this.u_radius2=this.u_radius3-1/3):C.time>=2/3?(this.u_radius3=C.time,this.u_radius2=this.u_radius3-1/3,this.u_radius1=this.u_radius3-2/3):C.time<1/3&&this.u_radius2!==0&&this.u_radius1!==0?(this.u_radius1=C.time,this.u_radius2=C.time+1/3,this.u_radius3=C.time+2/3):C.time>=1/3&&C.time<2/3&&this.u_radius1!==0&&(this.u_radius1=C.time-1/3,this.u_radius2=C.time,this.u_radius3=C.time+1/3),C.u_radius1=this.u_radius1,C.u_radius2=this.u_radius2,C.u_radius3=this.u_radius3,C},f.prototype.equals=function(m){return this===m||m instanceof f&&Fi.Property.equals(this._color,m._color)},Fi.CircleScanMultiMaterialProperty=f,Fi.Material.CircleScanMultiType="CircleScanMulti",Fi.Material.CircleScanMultiSource=`czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); material.diffuse = color.rgb; vec2 st = materialInput.st; float dis = distance(st, vec2(0.5, 0.5)); dis = dis * 2.0; if(dis < u_radius1) { float f = dis / u_radius1; material.alpha = pow(f, 9.0); }else if(dis < u_radius2){ float f = dis / u_radius2; material.alpha = pow(f, 9.0); }else if(dis < u_radius3){ float f = dis / u_radius3; material.alpha = pow(f, 9.0); }else{ material.alpha = 0.0; } return material; }`,Fi.Material._materialCache.addMaterial(Fi.Material.CircleScanMultiType,{fabric:{type:Fi.Material.CircleScanMultiType,uniforms:{color:new Fi.Color(1,0,0,1),time:0,u_radius1:0,u_radius2:0,u_radius3:0},source:Fi.Material.CircleScanMultiSource},translucent:function(m){return!0}})}return new Fi.CircleScanMultiMaterialProperty(Fi.Color.fromCssColorString(this.defaultValue(o,"#ff0000")),this.defaultValue(A,3e3))};_n.prototype.getSectorScanMaterial=function(o,A){if(!Fi.EllipsoidFadeMaterialProperty){let f=function(m,C,E){this._definitionChanged=new Fi.Event,this._color=void 0,this._colorSubscription=void 0,this.color=m,this.duration=E,this._angle=C,this._time=new Date().getTime()};Object.defineProperties(f.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}},color:Fi.createPropertyDescriptor("color"),angle:Fi.createPropertyDescriptor("angle")}),f.prototype.getType=function(m){return"EllipsoidFade"},f.prototype.getValue=function(m,C){return Fi.defined(C)||(C={}),C.color=Fi.Property.getValueOrClonedDefault(this._color,m,Fi.Color.WHITE,C.color),C.angle=this._angle,C},f.prototype.equals=function(m){return this===m||m instanceof f&&Property.equals(this._color,m._color)},Fi.EllipsoidFadeMaterialProperty=f,Fi.Material.EllipsoidFadeType="EllipsoidFade",Fi.Material.EllipsoidFadeSource=`float getAngle(in vec2 dv) { if(dv.y == 0.0 && dv.x > 0.0) { return 90.0; } if(dv.y == 0.0 && dv.x < 0.0) { return 270.0; } float rAngle = atan(dv.x/dv.y) * 180.0 / 3.1415926; if(dv.x > 0.0) { if(dv.y < 0.0) { rAngle = 180.0 + rAngle; } } if(dv.x <= 0.0) { if(dv.y < 0.0) { rAngle = 180.0 + rAngle; } if(dv.y > 0.0) { rAngle = 360.0 + rAngle; } } return rAngle; } float ripple(float dist, float rippleIntensity, float rippleScale) { return rippleScale * ((sin(dist * rippleIntensity - czm_frameNumber/10.0)-0.9) / (dist * rippleIntensity)); } czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); material.diffuse = 1.5 * color.rgb; vec2 st = materialInput.st; float dis = distance(st, vec2(0.5, 0.5)); float nowAngle = getAngle(st.xy-vec2(0.5, 0.5)); if(nowAngle < angle) { material.alpha = 1.0 - dis/0.5; float intensity =step(0.001,ripple(dis, 100.0, 15.0)); if(intensity == 1.0) { material.alpha = material.alpha/2.0; } } else{ material.alpha = 0.0; discard; } return material; }`,Fi.Material._materialCache.addMaterial(Fi.Material.EllipsoidFadeType,{fabric:{type:Fi.Material.EllipsoidFadeType,uniforms:{color:new Fi.Color(1,0,0,1),angle:90},source:Fi.Material.EllipsoidFadeSource},translucent:function(m){return!0}})}return new Fi.EllipsoidFadeMaterialProperty(Fi.Color.fromCssColorString(this.defaultValue(o,"#ff0000")),this.defaultValue(A,45))};_n.prototype.getCircleScanMaterial=function(o,A){if(!Fi.CircleScanMaterialProperty){let f=function(m,C){this._definitionChanged=new Fi.Event,this._color=void 0,this._colorSubscription=void 0,this.color=m,this.duration=C,this._time=new Date().getTime()};Object.defineProperties(f.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}},color:Fi.createPropertyDescriptor("color")}),f.prototype.getType=function(m){return"CircleScan"},f.prototype.getValue=function(m,C){return Fi.defined(C)||(C={}),C.color=Fi.Property.getValueOrClonedDefault(this._color,m,Fi.Color.WHITE,C.color),C.time=(new Date().getTime()-this._time)%this.duration/this.duration,C},f.prototype.equals=function(m){return this===m||m instanceof f&&Fi.Property.equals(this._color,m._color)},Fi.CircleScanMaterialProperty=f,Fi.Material.CircleScanType="CircleScan",Fi.Material.CircleScanSource=`czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); material.diffuse = color.rgb; vec2 st = materialInput.st; float dis = distance(st, vec2(0.5, 0.5)); if(dis<time){ float f = dis / time; material.alpha = pow(f, 4.0); }else{ material.alpha = 0.0; } return material; }`,Fi.Material._materialCache.addMaterial(Fi.Material.CircleScanType,{fabric:{type:Fi.Material.CircleScanType,uniforms:{color:new Fi.Color(1,0,0,1),time:0},source:Fi.Material.CircleScanSource},translucent:function(m){return!0}})}return new Fi.CircleScanMaterialProperty(Fi.Color.fromCssColorString(this.defaultValue(o,"#ff0000")),this.defaultValue(A,3e3))};_n.prototype.getRadarScanMaterial=function(o,A){if(!Fi.RadarScanMaterialProperty){let f=function(m,C){this._definitionChanged=new Fi.Event,this._color=void 0,this._colorSubscription=void 0,this.color=m,this.duration=C,this._time=new Date().getTime()};Object.defineProperties(f.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}},color:Fi.createPropertyDescriptor("color")}),f.prototype.getType=function(m){return"RadarScan"},f.prototype.getValue=function(m,C){return Fi.defined(C)||(C={}),C.color=Fi.Property.getValueOrClonedDefault(this._color,m,Fi.Color.WHITE,C.color),C.time=(new Date().getTime()-this._time)%this.duration/this.duration,C.angle1=360*C.time,C.angle2=360*C.time+60,C.angle2>360&&(C.angle2=C.angle2-360),C},f.prototype.equals=function(m){return this===m||m instanceof f&&Fi.Property.equals(this._color,m._color)},Fi.RadarScanMaterialProperty=f,Fi.Material.RadarScanType="RadarScan",Fi.Material.RadarScanSource=`float getAngle(in vec2 dv) { if(dv.y == 0.0 && dv.x > 0.0) { return 90.0; } if(dv.y == 0.0 && dv.x < 0.0) { return 270.0; } float rAngle = atan(dv.x/dv.y) * 180.0 / 3.1415926; if(dv.x > 0.0) { if(dv.y < 0.0) { rAngle = 180.0 + rAngle; } } if(dv.x <= 0.0) { if(dv.y < 0.0) { rAngle = 180.0 + rAngle; } if(dv.y > 0.0) { rAngle = 360.0 + rAngle; } } return rAngle; } float ripple(float dist, float rippleIntensity, float rippleScale) { return rippleScale * ((sin(dist * rippleIntensity - czm_frameNumber/10.0)-0.9) / (dist * rippleIntensity)); } czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); material.diffuse = color.rgb; vec2 st = materialInput.st; float dis = distance(st, vec2(0.5, 0.5)); float f = 0.0; float nowAngle = getAngle(st.xy-vec2(0.5, 0.5)); if(nowAngle < angle2 && nowAngle > angle1) { f = (nowAngle - angle1) / 60.0; material.alpha = f; }else if(nowAngle < 360.0 && nowAngle > angle1 && angle2 < 60.0){ f = (nowAngle - angle1) / 60.0; material.alpha = f; }else if(nowAngle < angle2 && nowAngle > 0.0 && angle2 < 60.0){ f = (nowAngle + 360.0 - angle1) / 60.0; material.alpha = f; }else{ material.alpha = 0.0; discard; } return material; }`,Fi.Material._materialCache.addMaterial(Fi.Material.RadarScanType,{fabric:{type:Fi.Material.RadarScanType,uniforms:{color:new Fi.Color(1,0,0,1),time:0,angle2:0,angle1:0},source:Fi.Material.RadarScanSource},translucent:function(m){return!0}})}return new Fi.RadarScanMaterialProperty(Fi.Color.fromCssColorString(this.defaultValue(o,"#ff0000")),this.defaultValue(A,3e3))};_n.prototype.gradientColor=function(o,A,f){return new Dot(o,A,f)};_n.prototype.xhr=function(o){var A=new XMLHttpRequest,f=!0;if(o.async==null||o.async==null?f=!0:f=o.async,A.open(o.type,o.url,f),o.headers)for(let m in o.headers)A.setRequestHeader(m,o.headers[m]);A.send(o.data||{}),A.onreadystatechange=function(){this.readyState===4&&this.status===200?o.success&&typeof o.success=="function"&&o.success(o.isXml?this.responseXML:JSON.parse(this.responseText)):this.status!==200&&o.error&&typeof o.error=="function"&&o.error(A),o.complete&&typeof o.complete=="function"&&o.complete()}};var iMi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o};_n.prototype._serialize=function(o){var A=[],f=window.encodeURIComponent;for(var m in o){var C=o[m];(typeof C>"u"?"undefined":iMi(C))==="object"?A.push(f(m)+"="+f(JSON.stringify(C))):A.push(f(m)+"="+f(o[m]))}return A.join("&")};_n.prototype.xml2json=function(o,A){return N8(o)};_n.prototype.getBrowser=function(){var o=navigator.userAgent.toLowerCase(),A=(o.match(/firefox|chrome|safari|opera/g)||"other")[0];(o.match(/msie|trident/g)||[])[0]&&(A="msie");var f="",m="",C="",E="ontouchstart"in window||o.indexOf("touch")!==-1||o.indexOf("mobile")!==-1;switch(E?o.indexOf("ipad")!==-1?f="pad":o.indexOf("mobile")!==-1?f="mobile":o.indexOf("android")!==-1?f="androidPad":f="pc":f="pc",A){case"chrome":case"safari":case"mobile":m="webkit";break;case"msie":m="ms";break;case"firefox":m="Moz";break;case"opera":m="O";break;default:m="webkit";break}return C=o.indexOf("android")>0?"android":navigator.platform.toLowerCase(),{version:(o.match(/[\s\S]+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],plat:C,type:A,pc:f,prefix:m,isMobile:f!="pc"}};var $i=_n;var am=null;function vQ(o,A){am=A,this._viewer=o,this.editType="Entity",this._core=new $i(o,A),this.tooltip=this._core.CreateTooltip({id:"ModelEdit"})}vQ.prototype.start=function(o,A={}){if(this.end(),!o)return;let f,m;if(o.item&&o.item instanceof am.Cesium3DTileset)this.editType="SE3DTiles",m=o.boundingSphereRadius,f=am.Cartesian3.fromDegrees(o.modelEditData.lon,o.modelEditData.lat,o.modelEditData.height);else{this.editType="Entity";let y=this._viewer.scene.primitives._primitives.findIndex(B=>B.id&&B.id.id===o.id);if(y<0)return;m=this._viewer.scene.primitives.get(y).boundingSphere.radius,f=o.position.getValue(),!o.heading&&(o.heading=0),!o.pitch&&(o.pitch=0),!o.roll&&(o.roll=0)}this.model=o;let C=3.63,E=2*m/C,x=am.Transforms.eastNorthUpToFixedFrame(f);return this.axis=this._viewer.scene.primitives.add(am.Model.fromGltf({id:"modeEditAxis",modelMatrix:x,url:window.SmartEarthRootUrl+Zr.modelAxis,scale:E,minimumPixelSize:A.minimumPixelSize})),this.axis.readyPromise.then(()=>{A.rotateX===!1&&(this.axis._nodeCommands[1].show=!1),A.rotateY===!1&&(this.axis._nodeCommands[0].show=!1),A.rotateZ===!1&&(this.axis._nodeCommands[5].show=!1)}),this.initEvent(A),this};vQ.prototype.initEvent=function(o){this.editHandler&&this.editHandler.destroy(),this.editHandler=new am.ScreenSpaceEventHandler(this._viewer.scene.canvas);let A,f;this.editHandler.setInputAction(m=>{A?(f=m.position,this.editType==="Entity"?(this.originPosition=this.model.position.getValue(),this.originHeading=this.model.heading||0,this.originPitch=this.model.pitch||0,this.originRoll=this.model.roll||0):(this.originPosition=am.Cartesian3.fromDegrees(this.model.modelEditData.lon,this.model.modelEditData.lat,this.model.modelEditData.height),this.originHeading=this.model.modelEditData.heading||0,this.originPitch=this.model.modelEditData.ritch||0,this.originRoll=this.model.modelEditData.roll||0),this.startPosition=this._viewer.scene.pickPosition(f),this.defaultEvent(!1),this.setMouseStyle("edit")):f=void 0},am.ScreenSpaceEventType.LEFT_DOWN),this.editHandler.setInputAction(m=>{f=void 0,this.defaultEvent(!0),this.setMouseStyle("default")},am.ScreenSpaceEventType.LEFT_UP),this.editHandler.setInputAction(m=>{if(f){this.mouseTooltip(A,m),this.edit(A,f,m.endPosition),o.callback&&o.callback(A);return}let C=this._viewer.scene.pick(m.endPosition);if(C&&C.id==="modeEditAxis"){let E=C.mesh?C.mesh.name:C.detail.node._name;E==="XArrow_1"?A="y":E==="YArrow_1"?A="x":E==="ZArrow_1"?A="z":E==="ZAxis_1"?A="heading":E==="XAxis_1"?A="pitch":E==="YAxis_1"?A="roll":A=void 0}else A=void 0;this.mouseTooltip(A,m)},am.ScreenSpaceEventType.MOUSE_MOVE)};vQ.prototype.defaultEvent=function(o){let A=this._viewer.scene;A.screenSpaceCameraController.enableRotate=o,A.screenSpaceCameraController.enableTranslate=o,A.screenSpaceCameraController.enableZoom=o,A.screenSpaceCameraController.enableTilt=o,A.screenSpaceCameraController.enableLook=o};vQ.prototype.setMouseStyle=function(o){o==="edit"?(this.defaultMouseStyle=this._viewer.container.style.cursor,this._viewer.container.style.cursor="crosshair"):o==="default"&&(this._viewer.container.style.cursor=this.defaultMouseStyle||"default")};vQ.prototype.edit=function(o,A,f){if(o){let m=this.originPosition,C=this.startPosition,E=this._viewer.scene.pickPosition(f),x=this._core.toDegrees(m),y=this._core.toDegrees(C),I=this._core.toDegrees(E),v=this._viewer.scene.cartesianToCanvasCoordinates(m),B=f.x-A.x,Q=f.y-A.y,T;if(o==="x"){let w=y.lon-I.lon;x.lon-=w,this.setPosition(x)}else if(o==="y"){let w=y.lat-I.lat;x.lat-=w,this.setPosition(x)}else if(o==="z"){let w=y.height-x.height,S=Q*Math.abs(w/(A.y-v.y));x.height-=S,this.setPosition(x)}else if(o==="heading"){let w=this.originHeading,S=this._core.arge(v,A,f,"+-",!0);w-=S,this.setRotate("heading",w)}else if(o==="pitch"){let S=(y.lon-x.lon)/(A.x-v.x),D=this.originPitch,R=this._core.arge(v,A,f,"+-",!0);S>0?D+=R:D-=R,this.setRotate("pitch",D)}else if(o==="roll"){let S=(y.lat-x.lat)/(A.x-v.x),D=this.originRoll,R=this._core.arge(v,A,f,"+-",!0);S<0?D-=R:D+=R,this.setRotate("roll",D)}}};vQ.prototype.setPosition=function(o){let A=am.Cartesian3.fromDegrees(o.lon,o.lat,o.height);this.editType==="Entity"?(this.model.position=A,window.SmartEarthPopupData&&window.SmartEarthPopupData.window&&SmartEarthPopupData.window.document.querySelector('.model input[name="height"]')&&(SmartEarthPopupData.window.document.querySelector('.model input[name="height"]').value=o.height.toFixed(2))):this.model.setEditData(o),this.axis.modelMatrix=am.Transforms.eastNorthUpToFixedFrame(A)};vQ.prototype.setRotate=function(o,A){if(this.model)if(this.editType==="Entity"){let f=this.model.heading,m=this.model.pitch,C=this.model.roll;o==="heading"?this.model.heading=f=A:o==="pitch"?this.model.pitch=m=A:o==="roll"&&(this.model.roll=C=A),this.model.orientation=am.Transforms.headingPitchRollQuaternion(this.model.position.getValue(),new am.HeadingPitchRoll(am.Math.toRadians(f),am.Math.toRadians(m),am.Math.toRadians(C))),window.SmartEarthPopupData&&window.SmartEarthPopupData.window&&SmartEarthPopupData.window.document.querySelector(`.model input[name="${o}"]`)&&(SmartEarthPopupData.window.document.querySelector(`.model input[name="${o}"]`).value=A)}else switch(o){case"heading":this.model.setEditData({heading:-A});break;case"pitch":this.model.setEditData({pitch:A});break;case"roll":this.model.setEditData({roll:A});break}};vQ.prototype.mouseTooltip=function(o,A){if(o){let f=A.endPosition||A.position;o==="x"?this.tooltip.showAt(f,"X\u65B9\u5411\u5E73\u79FB"):o==="y"?this.tooltip.showAt(f,"Y\u65B9\u5411\u5E73\u79FB"):o==="z"?this.tooltip.showAt(f,"Z\u65B9\u5411\u5E73\u79FB"):o==="heading"?this.tooltip.showAt(f,"\u7ED5Z\u8F74\u65CB\u8F6C"):o==="pitch"?this.tooltip.showAt(f,"\u7ED5Y\u8F74\u65CB\u8F6C"):o==="roll"?this.tooltip.showAt(f,"\u7ED5X\u8F74\u65CB\u8F6C"):this.tooltip.show(!1)}else this.tooltip.show(!1)};vQ.prototype.end=function(){this.axis&&this._viewer.scene.primitives.remove(this.axis),this.axis=void 0,this.editHandler&&this.editHandler.destroy(),this.editHandler=void 0,this.model&&(this.model.ModelEdit=void 0),this.model=void 0,this.tooltip&&this.tooltip.show(!1)};var aK=vQ;function SR(o,A,f,m){this._extractAttributes=o,this._featureName=A||"featureMember",this._xy=m,this._gmlns=f||"http://www.opengis.net/gml",this._regExes={trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g}}Object.defineProperties(SR.prototype,{featureName:{get:function(){return this._featureName},set:function(o){this._featureName=o}},extractAttributes:{get:function(){return this._extractAttributes},set:function(o){this._extractAttributes=o}},xy:{get:function(){return this._xy}}});SR.prototype.getElementsByTagNameNS=function(o,A,f){var m=[];if(o.getElementsByTagNameNS)m=o.getElementsByTagNameNS(A,f);else for(var C=o.getElementsByTagName("*"),E,x,y=0,I=C.length;y<I;++y)E=C[y],x=E.prefix?E.prefix+":"+f:f,(f=="*"||x==E.nodeName)&&(A=="*"||A==E.namespaceURI)&&m.push(E);return m};SR.prototype.read=function(o){for(var A=this.getElementsByTagNameNS(o.documentElement,this._gmlns,this.featureName),f=[],m=0;m<A.length;m++){var C=this.parseFeature(A[m]);C&&f.push(C)}return f};SR.prototype.parseFeature=function(o){for(var A=["MultiPolygon","Polygon","MultiLineString","LineString","MultiPoint","Point","Envelope"],f,m,C,E,x=0;x<A.length;++x)if(f=A[x],m=this.getElementsByTagNameNS(o,this._gmlns,f),m.length>0){E=this.parseGeometry[f.toLowerCase()],E?C=E.apply(this,[m[0]]):console.log("unsupportedGeometryType:"+f);break}var y,I=this.getElementsByTagNameNS(o,this._gmlns,"Box");for(x=0;x<I.length;++x){var v=I[x],B=this.parseGeometry.box.apply(this,[v]),Q=v.parentNode,T=Q.localName||Q.nodeName.split(":").pop();T==="boundedBy"?y=B:C=B.toGeometry()}var w;this.extractAttributes&&(w=this.parseAttributes(o));var S={geometryType:f.toLowerCase(),positions:C,attributes:w};S.bounds=y;for(var D=o.firstChild,R;D&&!(D.nodeType==1&&(R=D.getAttribute("fid")||D.getAttribute("id"),R));)D=D.nextSibling;return S.fid=R,S};SR.prototype.parseGeometry={point:function(o){var m,A,f=[],m=this.getElementsByTagNameNS(o,this._gmlns,"pos");if(m.length>0&&(A=m[0].firstChild.nodeValue,A=A.replace(this._regExes.trimSpace,""),f=A.split(this._regExes.splitSpace)),f.length==0&&(m=this.getElementsByTagNameNS(o,this._gmlns,"coordinates"),m.length>0&&(A=m[0].firstChild.nodeValue,A=A.replace(this._regExes.removeSpace,""),f=A.split(","))),f.length==0&&(m=this.getElementsByTagNameNS(o,this._gmlns,"coord"),m.length>0)){var C=this.getElementsByTagNameNS(m[0],this._gmlns,"X"),E=this.getElementsByTagNameNS(m[0],this._gmlns,"Y");C.length>0&&E.length>0&&(f=[C[0].firstChild.nodeValue,E[0].firstChild.nodeValue])}return f.length==2&&(f[2]=null),this.xy?[parseFloat(f[0]),parseFloat(f[1]),parseFloat(f[2])]:[parseFloat(f[1]),parseFloat(f[0]),parseFloat(f[2])]},multipoint:function(o){var A=this.getElementsByTagNameNS(o,this._gmlns,"Point"),f=[];if(A.length>0)for(var m,C=0;C<A.length;++C)m=this.parseGeometry.point.apply(this,[A[C]]),m&&f.push(m);return f},linestring:function(o,A){var f,m,C=[],E=[];if(f=this.getElementsByTagNameNS(o,this._gmlns,"posList"),f.length>0){m=this.getChildValue(f[0]),m=m.replace(this._regExes.trimSpace,""),C=m.split(this._regExes.splitSpace);for(var x=parseInt(f[0].getAttribute("dimension")),y,I,v,B,Q=0;Q<C.length/x;++Q)y=Q*x,I=parseFloat(C[y]),v=parseFloat(C[y+1]),B=x==2?null:parseFloat(C[y+2]),this.xy?E.push(I,v,B):E.push(v,I,B)}if(C.length==0&&(f=this.getElementsByTagNameNS(o,this._gmlns,"coordinates"),f.length>0)){m=this.getChildValue(f[0]),m=m.replace(this._regExes.trimSpace,""),m=m.replace(this._regExes.trimComma,",");for(var T=m.split(this._regExes.splitSpace),Q=0;Q<T.length;++Q)C=T[Q].split(","),C.length==2&&(C[2]=null),this.xy?E.push(parseFloat(C[0]),parseFloat(C[1]),parseFloat(C[2])):E.push(parseFloat(C[1]),parseFloat(C[0]),parseFloat(C[2]))}return E},multilinestring:function(o){var A=this.getElementsByTagNameNS(o,this._gmlns,"LineString"),f=[];if(A.length>0)for(var m,C=0;C<A.length;++C)m=this.parseGeometry.linestring.apply(this,[A[C]]),m&&f.push(m);return f},polygon:function(o){var A=this.getElementsByTagNameNS(o,this._gmlns,"LinearRing"),f=[];if(A.length>0)for(var m,C=0;C<A.length;++C)m=this.parseGeometry.linestring.apply(this,[A[C],!0]),m&&f.push(m);return f},multipolygon:function(o){var A=this.getElementsByTagNameNS(o,this._gmlns,"Polygon"),f=[];if(A.length>0)for(var m,C=0;C<A.length;++C)m=this.parseGeometry.polygon.apply(this,[A[C]]),m&&f.push(m);return f},envelope:function(o){var A=[],f,m,C=this.getElementsByTagNameNS(o,this._gmlns,"lowerCorner");if(C.length>0){var E=[];if(C.length>0&&(f=C[0].firstChild.nodeValue,f=f.replace(this._regExes.trimSpace,""),E=f.split(this._regExes.splitSpace)),E.length==2&&(E[2]=null),this.xy)var x=new OpenLayers_Geometry_Point(E[0],E[1],E[2]);else var x=new OpenLayers_Geometry_Point(E[1],E[0],E[2])}var y=this.getElementsByTagNameNS(o,this._gmlns,"upperCorner");if(y.length>0){var E=[];if(y.length>0&&(f=y[0].firstChild.nodeValue,f=f.replace(this._regExes.trimSpace,""),E=f.split(this._regExes.splitSpace)),E.length==2&&(E[2]=null),this.xy)var I=new OpenLayers_Geometry_Point(E[0],E[1],E[2]);else var I=new OpenLayers_Geometry_Point(E[1],E[0],E[2])}return x&&I&&(A.push([x.x,x.y,null]),A.push([I.x,x.y,null]),A.push([I.x,I.y,null]),A.push([x.x,I.y,null]),A.push([x.x,x.y,null]),m=new OpenLayers_Geometry_Polygon([[A]])),m},box:function(o){var A=this.getElementsByTagNameNS(o,this._gmlns,"coordinates"),f,m,C=null,E=null;if(A.length>0&&(f=A[0].firstChild.nodeValue,m=f.split(" "),m.length==2&&(C=m[0].split(","),E=m[1].split(","))),C!==null&&E!==null)return[parseFloat(C[0]),parseFloat(C[1]),null,parseFloat(E[0]),parseFloat(E[1]),null]}};SR.prototype.parseAttributes=function(o){for(var A={},f=o.firstChild,m,C,E,x,y,I,v;f;){if(f.nodeType==1){for(m=f.childNodes,C=0;C<m.length;++C)E=m[C],E.nodeType==1&&(x=E.childNodes,x.length==1?(y=x[0],(y.nodeType==3||y.nodeType==4)&&(I=E.prefix?E.nodeName.split(":")[1]:E.nodeName,v=y.nodeValue.replace(this._regExes.trimSpace,""),A[I]=v)):A[E.nodeName.split(":").pop()]=null);break}f=f.nextSibling}return A};SR.prototype.getChildValue=function(o,A){var f=A||"";if(o)for(var m=o.firstChild;m;m=m.nextSibling)switch(m.nodeType){case 3:case 4:f+=m.nodeValue}return f};var _at=SR;var Ga=null;function Pc(o){Ga=o,this._core=new $i(null,Ga),this.level=0,this._quadtree=void 0,this._loadTileEvent=new Ga.Event,this._tilingScheme=new Ga.GeographicTilingScheme,this._errorEvent=new Ga.Event,this._levelZeroMaximumError=Ga.QuadtreeTileProvider.computeDefaultLevelZeroMaximumGeometricError(this._tilingScheme),this.cartographicLimitRectangle=Ga.Rectangle.clone(Ga.Rectangle.MAX_VALUE),this._tileCache=[],this._primitivesWaitingToBeAddedToTheScene=[],this._pauseStreaming=!1,this._numTilesInLevel=[],this.tileLevel={},this.STREAM_SPEED_IMIDIATE=0,this.STREAM_SPEED_FAST=1,this.STREAM_SPEED_NORMAL=2,this.STREAM_SPEED_SLOW=3,this._streamSpeed=this.STREAM_SPEED_NORMAL,Pc.prototype.ready||Object.defineProperties(Pc.prototype,{quadtree:{get:function(){return this._quadtree},set:function(A){this._quadtree=A}},ready:{get:function(){return!0}},tilingScheme:{get:function(){return this._tilingScheme}},errorEvent:{get:function(){return this._errorEvent}},loadTileEvent:{get:function(){return this._loadTileEvent}},pauseStreaming:{get:function(){return this._pauseStreaming},set:function(A){this._pauseStreaming=A}},streamSpeed:{get:function(){return this._streamSpeed},set:function(A){this._streamSpeed=A}},bestLevelAvailable:{get:function(){for(var A=0,f=0;f<22;f++)this._numTilesInLevel[f]!=null&&this._numTilesInLevel[f]>0&&A<f&&(A=f);return A}}})}function wat(o,A,f){$.each(A._primitives,function(m,C){if(C instanceof Ga.BillboardCollection){var E=C,m=sK.indexOf(E);return E._parentCollection._primitiveOld=f,m!==-1?(o.scene.primitives.remove(sK[m]._parentCollection),sK[m]=E):sK.push(E),!1}})}function bat(o,A,f){o.scene.primitives.remove(f),A._onDestroyTilePrimitive=function(){o.scene.primitives.remove(f),this._onDestroyTilePrimitive=void 0}}function YSe(o,A,f,m){Promise.all([A]).then(function(){o.scene.primitives.remove(m)}),f._onDestroyTilePrimitive=function(){o.scene.primitives.remove(m),this._onDestroyTilePrimitive=void 0}}function Qat(o,A,f){var m=$.map(A._primitives,function(C){return C.readyPromise});YSe(o,m,A,f)}function Sat(o,A,f){var m=$.map(A._primitives[0]._primitives,function(C){return C.readyPromise});YSe(o,m,A,f)}function Dat(o,A,f){o.scene.primitives.remove(f)}function Tat(o,A,f){var m=[A.readyPromise];YSe(o,m,A,f)}Pc.prototype.streamSpeedFactor=function(){switch(this._streamSpeed){case this.STREAM_SPEED_FAST:return 1;case this.STREAM_SPEED_NORMAL:return 3;case this.STREAM_SPEED_SLOW:return 20;default:return 3}};var sK=[],vat=0;Pc.prototype.onPreFrame=function(o,A){if(vat++,!this._pauseStreaming){if(this._streamSpeed==this.STREAM_SPEED_IMIDIATE)for(;this._primitivesWaitingToBeAddedToTheScene.length>0;){var f=this._primitivesWaitingToBeAddedToTheScene.pop();o.primitives.add(f)}else if(this._primitivesWaitingToBeAddedToTheScene.length>0&&vat%this.streamSpeedFactor()==0){var f=this._primitivesWaitingToBeAddedToTheScene.pop();f._instanceIds&&f._instanceIds.length>100&&this.streamSpeed===this.STREAM_SPEED_FAST&&(this.streamSpeed=this.STREAM_SPEED_NORMAL),o.primitives.add(f)}$.each(sK,function(m,C){C.ready&&this.viewer.scene.primitives.remove(C._parentCollection._primitiveOld)})}};Pc.prototype.updateForPick=function(o){};var lK=180/Math.PI,X8i=1/lK;Pc.prototype.placeHolder=function(o,A){A=A||Ga.Color.fromBytes(0,255,0,255);var f=new Ga.Primitive({geometryInstances:new Ga.GeometryInstance({geometry:new Ga.RectangleOutlineGeometry({rectangle:o.rectangle,height:this.viewer.camera.positionCartographic.height-TerraExplorer.internal.Navigate.HeightAboveGround*.99}),attributes:{color:Ga.ColorGeometryInstanceAttribute.fromColor(A)}}),appearance:new Ga.PerInstanceColorAppearance({flat:!0})});o.data.primitive.add(f)};Pc.prototype.getTile=function(o){return this._tileCache[o]};Pc.prototype.getAllTiles=function(){var o=[];for(var A in this._tileCache)o.push(this._tileCache[A]);return o};Pc.prototype.addToScene=function(o){this._primitivesWaitingToBeAddedToTheScene.push(o)};Pc.prototype.removeFromScene=function(o){var A=this._primitivesWaitingToBeAddedToTheScene.indexOf(o);A!=-1?(this._primitivesWaitingToBeAddedToTheScene[A].destroy(),this._primitivesWaitingToBeAddedToTheScene.splice(A,1)):this.viewer.scene.primitives.remove(o)};Pc.prototype.replaceInScene=function(o,A){var f=this._primitivesWaitingToBeAddedToTheScene.indexOf(o);if(f!=-1)this._primitivesWaitingToBeAddedToTheScene[f]=A;else{o.ID!=A.ID&&console.log("TileManager.replaceInScene Warning: new primitive has a different ID than old primitive"),o._replacmentPrimitive!=null&&this.viewer.scene.primitives.remove(o._replacmentPrimitive),o._replacmentPrimitive=A,this.viewer.scene.primitives.add(A);var m=A.ID.split(":")[0];switch(m){case"billboards":wat(this.viewer,A,o);break;case"labels":bat(this.viewer,A,o);break;case"polygons":Qat(this.viewer,A,o);break;case"models":Sat(this.viewer,A,o);break;case"polylines":Tat(this.viewer,A,o);break;case"points":Dat(this.viewer,A,o);break;default:console.log("Error updating layer"),this.viewer.scene.primitives.remove(o)}}};var rMi={billboards:wat,labels:bat,polygons:Qat,models:Sat,polylines:Tat,points:Dat};Pc.prototype.replaceInSceneNew=function(o,A){var f=this._primitivesWaitingToBeAddedToTheScene.indexOf(o);if(f!=-1)this._primitivesWaitingToBeAddedToTheScene[f]=A;else{o.ID!==A.ID&&console.log("TileManager.replaceInScene Warning: new primitive has a different ID than old primitive"),this.addToScene(A);var m=void 0,C=A.ID.split(":")[0],E=rMi[C];E?E(A,o):(console.log("Error updating layer"),this.viewer.scene.primitives.remove(o))}};Pc.prototype.update=function(o){this.level=this._core.getLevel(this.viewer);let A=this.getAllTiles(),f,m;A.forEach(C=>{for(let E in C.data.wfsLayerData)m=C.data.wfsLayerData[E]&&C.data.wfsLayerData[E].primitive,f=this.tileLevel[E].level,m&&f&&this.tileLevel[E].visible&&(this.level<=f.max&&this.level>=f.min?m.show=!0:m.show=!1)}),this._quadtree.beginFrame(o),this._quadtree.render(o),this._quadtree.endFrame(o)};var Bat=!1;Pc.prototype.initialize=function(o){Bat||(this.viewer.scene.preRender.addEventListener(this.onPreFrame,this),Bat=!0)};Pc.prototype.beginUpdate=function(o){this.quadtree.beginFrame(o)};Pc.prototype.endUpdate=function(o){var A=this;o.afterRender.push(function(){A.quadtree.endFrame(o)})};Pc.prototype.getLevelMaximumGeometricError=function(o){return this._levelZeroMaximumError/(1<<o)};Pc.prototype.loadTile=function(o,A){var f=this;if(this._numTilesInLevel[A._level]==null&&(this._numTilesInLevel[A._level]=0),this._numTilesInLevel[A._level]++,A.state===Ga.QuadtreeTileLoadState.START){A.data={primitive:new Ga.PrimitiveCollection,wfsLayerData:[],id:Ga.createGuid(),freeResources:function(){if(f._tileCache[A.data.id]&&f._numTilesInLevel[A._level]--,f._numTilesInLevel[A._level]<0&&(f._numTilesInLevel[A._level]=0),Ga.defined(this.wfsLayerData)){for(var x in this.wfsLayerData)Ga.defined(this.wfsLayerData[x])&&this.wfsLayerData[x].freeResources();this.wfsLayerData=void 0}Ga.defined(this.primitive)&&(this.primitive.destroy(),this.primitive=void 0),delete f._tileCache[A.data.id]}},this._tileCache[A.data.id]=A;var m=6371e3,C=Math.abs(m*(A.rectangle.south-A.rectangle.north));A.data.boundingSphere3D=Ga.BoundingSphere.fromRectangle3D(A.rectangle),A.data.boundingSphere2D=Ga.BoundingSphere.fromRectangle2D(A.rectangle,o.mapProjection);var E=[lK*A.rectangle.west,lK*A.rectangle.south,lK*A.rectangle.east,lK*A.rectangle.north];this.loadTileEvent.raiseEvent(A),A.state=Ga.QuadtreeTileLoadState.DONE,A.renderable=!0}};Pc.prototype.computeTileVisibility=function(o,A,f){var m=this.computeDistanceToTile(o,A);if(o._distance=m,A.fog.enabled&&Ga.Math.fog(m,A.fog.density)>=1)return Ga.Visibility.NONE;var C=o.data,E=C.tileBoundingRegion;if(C.boundingVolumeSourceTile===void 0)return Ga.Visibility.PARTIAL;var x=A.cullingVolume,y=C.orientedBoundingBox;!y&&C.renderedMesh&&(y=C.renderedMesh.boundingSphere3D),C.clippedByBoundaries=!1;function I(P,M){if(M.west<M.east)return M;var L=Rectangle.clone(M,splitCartographicLimitRectangleScratch),F=Rectangle.center(P,rectangleCenterScratch);return F.longitude>0?L.east=CesiumMath.PI:L.west=-CesiumMath.PI,L}var v=I(o.rectangle,this.cartographicLimitRectangle),B=new Ga.Rectangle,Q=Ga.Rectangle.simpleIntersection(v,o.rectangle,B);if(!Q)return Visibility.NONE;if(Ga.Rectangle.equals(Q,o.rectangle)||(C.clippedByBoundaries=!0),A.mode,Ga.SceneMode.SCENE3D,!y)return Ga.Intersect.INTERSECTING;var T=this._clippingPlanes;if(T&&T.enabled){var w=T.computeIntersectionWithBoundingVolume(y);if(o.isClipped=w!==Intersect.INSIDE,w===Ga.Intersect.OUTSIDE)return Ga.Visibility.NONE}var S=x.computeVisibility(y);if(S===Ga.Intersect.OUTSIDE)return Ga.Visibility.NONE;var D=A.mode===Ga.SceneMode.SCENE3D&&A.camera.frustum instanceof Ga.OrthographicFrustum;if(A.mode===Ga.SceneMode.SCENE3D&&!D&&f){var R=C.occludeePointInScaledSpace;return!R||f.ellipsoid.isScaledSpacePointVisible(R)?S:Ga.Visibility.NONE}return S};Pc.prototype.canRefine=function(o,A,f){return o.level<16};Pc.prototype.showTileThisFrame=function(o,A,f,m){o.data.geometryPrimitive&&o.data.geometryPrimitive.update(A,f,m)};Pc.prototype.computeDistanceToTile=function(o,A){function f(S,D,R,P,M){var L=S.quadtree._occluders.ellipsoid,F=L.ellipsoid,k=[new Ga.Cartesian3,new Ga.Cartesian3,new Ga.Cartesian3,new Ga.Cartesian3],N=k;return Ga.Cartesian3.fromRadians(R.west,R.south,P,F,N[0]),Ga.Cartesian3.fromRadians(R.east,R.south,P,F,N[1]),Ga.Cartesian3.fromRadians(R.west,R.north,P,F,N[2]),Ga.Cartesian3.fromRadians(R.east,R.north,P,F,N[3]),L.computeHorizonCullingPoint(D,N,M)}function m(S,D,R){var P=S.data;return P===void 0&&(P=S.data=new Ga.GlobeSurfaceTile),P.tileBoundingRegion===void 0&&(P.tileBoundingRegion=new Ga.TileBoundingRegion({computeBoundingVolumes:!1,rectangle:S.rectangle,ellipsoid:S.tilingScheme.ellipsoid,minimumHeight:0,maximumHeight:0})),S}var C=m(o,this.terrainProvider,A),E=o.data,x=E.tileBoundingRegion;if(C===void 0)return 9999999999;if(E.boundingVolumeSourceTile!==C){E.boundingVolumeSourceTile=C;var y=o.rectangle;y&&y.width<Ga.Math.PI_OVER_TWO+Ga.Math.EPSILON5&&(E.orientedBoundingBox=Ga.OrientedBoundingBox.fromRectangle(o.rectangle,x.minimumHeight,x.maximumHeight,o.tilingScheme.ellipsoid,E.orientedBoundingBox),E.occludeePointInScaledSpace=f(this,E.orientedBoundingBox.center,o.rectangle,x.maximumHeight,E.occludeePointInScaledSpace))}var I=x.minimumHeight,v=x.maximumHeight;if(E.boundingVolumeSourceTile!==o){var B=A.camera.positionCartographic.height,Q=Math.abs(B-I),T=Math.abs(B-v);Q>T?(x.minimumHeight=I,x.maximumHeight=I):(x.minimumHeight=v,x.maximumHeight=v)}var w=x.distanceToCamera(A);return x.minimumHeight=I,x.maximumHeight=v,w};Pc.prototype.isDestroyed=function(){return!1};Pc.prototype.destroy=function(){return Ga.destroyObject(this)};Pc.prototype.remove=function(){this.destroy()};Pc.prototype.getInstance=function(o){if(Ga.defined(o.TileManager)==0){var A=new Pc(Ga);o.TileManager=A,A.viewer=o;var f=new Ga.QuadtreePrimitive({tileProvider:o.TileManager,maximumScreenSpaceError:2});o.scene.primitives.add(f)}return o.TileManager};var Mat=Pc;function MT(){}function SE(o){return typeof o=="string"?o.replace(/^\s+/g,"").replace(/\s+$/g,""):o}function uK(o,A){for(var f="######",m=!1,C=0,E="",x=0;x<A.length;x++)!m&&/['"`]/.test(A[x])?m=A[x]:m&&A[x]==m?m=!1:!m&&A[x]=="("?C++:!m&&A[x]==")"&&C--,A[x]==o&&(C>0||m)?E+=f:E+=A[x];return A=E,A=A.split(o),A=A.map(function(y){return SE(y.replace(new RegExp(f,"g"),o))}),A}function JSe(o){for(var A="#",f=o.length,m=0;m<f;m++)A+=o[m]+"#";return A}function KSe(o){for(var A="",f=o.length,m=1;m<f;m+=2)A+=o[m];return A}function O8(o){this.source=o,this.cursor=0,this.currentChar="",this.readNextChar()}function ok(o){this.lexer=new O8(o),this.currentToken="",this.readNextToken()}function WSe(o,A){var f="";return typeof o.logic<"u"?(f=o.terms.map(function(m){return WSe(m,!0)}),f=f.join(" "+o.logic+" "),typeof A<"u"&&(f="("+f+")")):typeof o.left<"u"?(f=o.left,typeof o.operator<"u"&&(f+=" "+o.operator,typeof o.right<"u"&&(o.operator==="IN"?f+=" ("+o.right+")":f+=" "+o.right))):f=o,f}MT.sql2ast=function(o,A){function f(D,R){return R}(typeof A>"u"||A===null)&&(A=!0);var m="###semi-colon###";o=o.replace(/[("'`].*;.*[)"'`]/g,function(D){return D.replace(/;/g,m)});var C="###EOR###";o=o.replace(/;/g,C),o=o.split(C)[0],o=o.replace(new RegExp(m,"g"),";");var E=["SELECT","FROM","DELETE FROM","INSERT INTO","UPDATE","JOIN","LEFT JOIN","RIGHT JOIN","INNER JOIN","ORDER BY","GROUP BY","HAVING","WHERE","LIMIT","VALUES","SET"],x=E.map(function(D){return D+" "});x=x.concat(E.map(function(D){return D+"("})),x=x.concat(x.map(function(D){return D.toLowerCase()}));var y=x.map(function(D){return D.replace("(","[\\(]")});o=o.replace(/\((.+?)\)|"(.+?)"|'(.+?)'|`(.+?)`/gi,function(D){return D.replace(new RegExp(y.join("|"),"gi"),JSe)});var I=[];x.forEach(function(D){var R=0,P;do if(P=o.indexOf(D,R),P!=-1){var M=D.replace(/^((\w|\s)+?)\s?\(?$/i,f);I[P]=M,R=P+M.length}while(P!=-1)});var v=0;I.forEach(function(D,R){v>R?delete I[R]:(v=parseInt(R,10)+D.length,D=="JOIN"&&(I[R]="INNER JOIN"))});var B=y.slice(0);B=B.map(function(D){return JSe(D)}),B=B.join("|");var Q=o.split(new RegExp(y.join("|"),"i"));o=o.replace(/\((.+?)\)|"(.+?)"|'(.+?)'|`(.+?)`/gi,function(D){return D.replace(new RegExp(B,"gi"),KSe)}),Q=Q.map(function(D){return D.replace(/\((.+?)\)|"(.+?)"|'(.+?)'|`(.+?)`/gi,function(R){return R.replace(new RegExp(B,"gi"),KSe)})});var T=[];T.SELECT=function(D){var R=uK(",",D);return R=R.filter(function(P){return P!==""}).map(function(P){return{name:P}}),R},T.SET=function(D){var R=uK(",",D);return R=R.filter(function(P){return P!==""}).map(function(P){return{expression:P}}),R},T.FROM=T["DELETE FROM"]=T.UPDATE=function(D){var R=D.split(",");return R=R.map(function(P){return SE(P)}),R.forEach(function(P,M){P===""&&R.splice(M)}),R=R.map(function(P){var M=P.split(" AS "),L=M[1]||"";return L.indexOf('"')===0&&L.lastIndexOf('"')==L.length-1&&(L=L.substring(1,L.length-1)),{table:M[0],as:L}}),R},T["LEFT JOIN"]=T.JOIN=T["INNER JOIN"]=T["RIGHT JOIN"]=function(D){D=D.split(" ON ");var R=D[0].split(" AS "),P={};return P.table=SE(R[0]),P.as=SE(R[1])||"",P.cond=SE(D[1]),P},T.WHERE=function(D){return SE(D)},T["ORDER BY"]=function(D){D=D.split(",");var R=[];return D.forEach(function(P,M){var L=/([A-Za-z0-9_\.]+)\s*(ASC|DESC){0,1}/gi;if(L=L.exec(P),L!==null){var F={};F.column=SE(L[1]),F.order=SE(L[2]),L[2]===void 0&&(F.order="ASC"),R.push(F)}}),R},T["GROUP BY"]=function(D){D=D.split(",");var R=[];return D.forEach(function(P,M){var L=/([A-Za-z0-9_\.]+)/gi;if(L=L.exec(P),L!==null){var F={};F.column=SE(L[1]),R.push(F)}}),R},T.LIMIT=function(D){var R=/((\d+)\s*,\s*)?(\d+)/gi;R=R.exec(D),typeof R[2]>"u"&&(R[2]=0);var P={};return P.nb=parseInt(SE(R[3]),10),P.from=parseInt(SE(R[2]),10),P},T["INSERT INTO"]=function(D){var R=/([A-Za-z0-9_\.]+)\s*(\(([A-Za-z0-9_\., ]+)\))?/gi;R=R.exec(D);var P={};return P.table=SE(R[1]),typeof R[3]<"u"&&(P.columns=R[3].split(","),P.columns=P.columns.map(function(M){return SE(M)})),P},T.VALUES=function(D){D=SE(D),D[0]!="("&&(D="("+D);var R=uK(",",D),P=[];return R.forEach(function(M){M=M.replace(/^\(/g,"").replace(/\)$/g,""),M=uK(",",M),P.push(M)}),P};var w={},S=0;return I.forEach(function(D,R){if(D=D.toUpperCase(),S++,typeof T[D]<"u"){var P=T[D](Q[S]);if(typeof w[D]<"u"){if(typeof w[D]=="string"||typeof w[D][0]>"u"){var M=w[D];w[D]=[],w[D].push(M)}w[D].push(P)}else w[D]=P}else console.log(`Can't analyze statement "`+D+'"')}),typeof w["LEFT JOIN"]<"u"&&(typeof w.JOIN>"u"&&(w.JOIN=[]),typeof w["LEFT JOIN"][0]<"u"?w["LEFT JOIN"].forEach(function(D){D.type="left",w.JOIN.push(D)}):(w["LEFT JOIN"].type="left",w.JOIN.push(w["LEFT JOIN"])),delete w["LEFT JOIN"]),typeof w["INNER JOIN"]<"u"&&(typeof w.JOIN>"u"&&(w.JOIN=[]),typeof w["INNER JOIN"][0]<"u"?w["INNER JOIN"].forEach(function(D){D.type="inner",w.JOIN.push(D)}):(w["INNER JOIN"].type="inner",w.JOIN.push(w["INNER JOIN"])),delete w["INNER JOIN"]),typeof w["RIGHT JOIN"]<"u"&&(typeof w.JOIN>"u"&&(w.JOIN=[]),typeof w["RIGHT JOIN"][0]<"u"?w["RIGHT JOIN"].forEach(function(D){D.type="right",w.JOIN.push(D)}):(w["RIGHT JOIN"].type="right",w.JOIN.push(w["RIGHT JOIN"])),delete w["RIGHT JOIN"]),A&&(typeof w.WHERE=="string"&&(w.WHERE=ok.parse(w.WHERE)),typeof w.JOIN<"u"&&w.JOIN.forEach(function(D,R){w.JOIN[R].cond=ok.parse(D.cond)})),w};O8.prototype={constructor:O8,readNextChar:function(){typeof this.source!="string"?this.currentChar="":this.currentChar=this.source[this.cursor++]||""},readNextToken:function(){return/\w|[-]/.test(this.currentChar)?this.readWord():/["'`]/.test(this.currentChar)?this.readString():/[()]/.test(this.currentChar)?this.readGroupSymbol():/[!=<>]/.test(this.currentChar)?this.readOperator():this.currentChar===""?{type:"eot",value:""}:(this.readNextChar(),{type:"empty",value:""})},readWord:function(){for(var o="",A=0,f=!1;/./.test(this.currentChar);){if(!f&&/['"`]/.test(this.currentChar))f=this.currentChar;else if(f&&this.currentChar==f)f=!1;else if(!f&&(this.currentChar==")"&&A<=0||(this.currentChar=="("?A++:this.currentChar==")"&&A--,/[!=<>]/.test(this.currentChar)))||this.currentChar==" "&&A<=0)break;o+=this.currentChar,this.readNextChar()}return/^(AND|OR)$/i.test(o)?{type:"logic",value:o}:/^(IN|IS|NOT|LIKE)$/i.test(o)?{type:"operator",value:o}:{type:"word",value:o}},readString:function(){var o="",A=this.currentChar;for(o+=this.currentChar,this.readNextChar();this.currentChar!=A&&this.currentChar!=="";)o+=this.currentChar,this.readNextChar();return o+=this.currentChar,this.readNextChar(),this.currentChar=="."?(o+=this.currentChar,this.readNextChar(),o+=this.readString().value,{type:"word",value:o}):{type:"string",value:o}},readGroupSymbol:function(){var o=this.currentChar;return this.readNextChar(),{type:"group",value:o}},readOperator:function(){var o=this.currentChar;return this.readNextChar(),/[=<>]/.test(this.currentChar)&&(o+=this.currentChar,this.readNextChar()),{type:"operator",value:o}}};O8.tokenize=function(o){var A=new O8(o),f=[];do{var m=A.readNextToken();m.type!="empty"&&f.push(m)}while(A.currentChar);return f};ok.prototype={constructor:ok,readNextToken:function(){for(this.currentToken=this.lexer.readNextToken();this.currentToken.type=="empty";)this.currentToken=this.lexer.readNextToken();return this.currentToken},parseExpressionsRecursively:function(){return this.parseLogicalExpression()},parseLogicalExpression:function(){for(var o=this.parseConditionExpression();this.currentToken.type=="logic";){var A=this.currentToken.value;this.readNextToken();var f=this.parseConditionExpression();if(typeof o.logic<"u"&&o.logic==A&&typeof o.terms<"u")o.terms.push(f);else{var m=[o,f];o={logic:A,terms:m.slice(0)}}}return o},parseConditionExpression:function(){var o=this.parseBaseExpression();if(this.currentToken.type=="operator"){var A=this.currentToken.value;this.readNextToken(),this.currentToken.type=="operator"&&(A+=" "+this.currentToken.value,this.readNextToken());var f=this.parseBaseExpression();o={operator:A,left:o,right:f}}return o},parseBaseExpression:function(){var o="";return this.currentToken.type=="word"||this.currentToken.type=="string"?(o=this.currentToken.value,this.readNextToken()):this.currentToken.type=="group"&&(this.readNextToken(),o=this.parseExpressionsRecursively(),this.readNextToken()),o}};ok.parse=function(o){return new ok(o).parseExpressionsRecursively()};MT.ast2sql=function(o){function A(S){return typeof S.SELECT<"u"?"SELECT "+S.SELECT.map(function(D){return D.name}).join(", "):""}function f(S){if(typeof S.FROM<"u"){var D=" FROM ",R=S.FROM.map(function(P){var M=P.table;return P.as!==""&&(M+=" AS "+P.as),M});return D+=R.join(", "),D}return""}function m(S){if(typeof S.JOIN<"u"){var D="";return S.JOIN.forEach(function(R){D+=" "+R.type.toUpperCase()+" JOIN "+R.table,R.as!==""&&(D+=" AS "+R.as),D+=" ON "+WSe(R.cond)}),D}return""}function C(S){return typeof S.WHERE<"u"?" WHERE "+WSe(S.WHERE):""}function E(S){if(typeof S["ORDER BY"]<"u"){var D=" ORDER BY ",R=S["ORDER BY"].map(function(P){return P.column+" "+P.order});return D+=R.join(", "),D}return""}function x(S){if(typeof S["GROUP BY"]<"u"){var D=" GROUP BY ",R=S["GROUP BY"].map(function(P){return P.column});return D+=R.join(", "),D}return""}function y(S){if(typeof S.LIMIT<"u"&&typeof S.LIMIT.nb<"u"&&parseInt(S.LIMIT.nb,10)>0){var D=" LIMIT ";return typeof S.LIMIT.from<"u"&&parseInt(S.LIMIT.from,10)>1&&(D+=S.LIMIT.from+","),D+=S.LIMIT.nb,D}return""}function I(S){if(typeof S["INSERT INTO"]<"u"){var D="INSERT INTO "+S["INSERT INTO"].table;return typeof S["INSERT INTO"].columns<"u"&&(D+=" (",D+=S["INSERT INTO"].columns.join(", "),D+=")"),D}return""}function v(S){if(typeof S.VALUES<"u"){var D=" VALUES ",R=S.VALUES.map(function(P){return"("+P.join(", ")+")"});return D+=R.join(", "),D}return""}function B(S){if(typeof S["DELETE FROM"]<"u"){var D="DELETE FROM ";return D+=S["DELETE FROM"].map(function(R){var P=R.table;return R.as!==""&&(P+=" AS "+R.as),P}).join(", "),D}return""}function Q(S){if(typeof S.UPDATE<"u"){var D="UPDATE ";return D+=S.UPDATE.map(function(R){var P=R.table;return R.as!==""&&(P+=" AS "+R.as),P}).join(", "),D}return""}function T(S){return typeof S.SET<"u"?" SET "+S.SET.map(function(D){return D.expression}).join(", "):""}var w="";return typeof o.SELECT<"u"&&typeof o.FROM<"u"?w=A(o)+f(o)+m(o)+C(o)+x(o)+E(o)+y(o):typeof o["INSERT INTO"]<"u"?w=I(o)+v(o):typeof o.UPDATE<"u"?w=Q(o)+T(o)+C(o):typeof o["DELETE FROM"]<"u"?w=B(o)+C(o):w=null,w};MT.trim=SE;MT.protect=JSe;MT.unprotect=KSe;MT.protect_split=uK;MT.CondLexer=O8;MT.CondParser=ok;var Pat=MT;function AK(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A)}AK.prototype.getPosition=function(){return this._viewer.camera.position};AK.prototype.getDegrees=function(){var o=this._viewer.camera.positionCartographic,A={lon:this._cesium.Math.toDegrees(o.longitude),lat:this._cesium.Math.toDegrees(o.latitude),height:o.height};return A};AK.prototype.getMousePosition=function(o,A){let f=o.endPosition||o.position||o;this.defaultDepthTest===void 0&&(this.defaultDepthTest=!!this._viewer.scene.globe.depthTestAgainstTerrain);let m=this._viewer.camera.getPickRay(f);A&&!Array.isArray(A)&&(A=[A]);let C=this._viewer.scene.pickPosition(f);C?C={position:C}:(this._viewer.scene.globe.depthTestAgainstTerrain=!0,C=this._viewer.scene.pickFromRay(m,A));let E;if(!C||!C.position||!this._viewer.scene.globe.depthTestAgainstTerrain?E=this._viewer.scene.globe.pick(m,this._viewer.scene):E=C.position,this._viewer.scene.globe.depthTestAgainstTerrain=!!this.defaultDepthTest,this.defaultDepthTest=void 0,!E){console.log("\u672A\u62FE\u53D6\u5230\u5750\u6807\uFF01");return}return E};AK.prototype.getMouseDegrees=function(o,A){let f=this.getMousePosition(o,A);if(!!f)return this._core.toDegrees(f)};var kl=AK;var bv=null;function DI(o,A){bv=A,this._viewer=o,this._cesium=A,this._scene=o.scene,this._core=new $i(o,A),this._getPosition=new kl(o,A),this.num=100,this.buffs=[],this.tooltip=this._core.CreateTooltip()}DI.prototype.changeBurr=function(o){if(this.num=o,this.this_buff)switch(this.type){case"point":this.setPointBuff(this.num);break;case"polyline":this.setPolylineBuff(this.num);break;case"polygon":this.setPolygonBuff(this.num);break}};DI.prototype.DrawPoint=function(o,A){this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=null),this.this_buff&&this.this_buff.entity&&this._viewer.entities.remove(this.this_buff.entity);var f=this._viewer,m=this._cesium,C=this;let E,x;return typeof o=="number"?(E=o,x={}):typeof o=="object"&&(x=o,E=x.radius),this.num=E||this.num,this.drawHandler=new m.ScreenSpaceEventHandler(f.scene.canvas),this.this_buff={entity:null,buff:null},this.type="point",this.positions=[],this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),this.drawHandler.setInputAction(function(y){var I=this._getPosition.getMouseDegrees(y);if(!!I){var v=I.lon,B=I.lat;this.positions.push(v,B),this.this_buff.entity=f.entities.add({name:"\u65B0\u5EFA\u7F13\u51B2\u70B9",position:m.Cartesian3.fromDegrees(v,B),point:{pixelSize:10,color:m.Color.YELLOW,outlineWidth:3,outlineColor:m.Color.YELLOW.withAlpha(.4),heightReference:1}}),this.buffs.push(this.this_buff.entity),this.this_buff.entity=void 0,this.setPointBuff(this.num,x),A&&typeof A=="function"&&A(I),this.end&&this.end()}}.bind(this),m.ScreenSpaceEventType.LEFT_CLICK),this.end=()=>{this.tooltip.show(!1),this.drawHandler.destroy(),this._core.mouse(this._viewer.container,0),this.drawHandler=null,this.end=void 0},this.drawHandler.setInputAction(function(y){this.tooltip.showAt(y.endPosition,"\u70B9\u51FB\u7ED8\u5236\u70B9")}.bind(this),m.ScreenSpaceEventType.MOUSE_MOVE),this};DI.prototype.setPointBuff=function(o,A){let f=bv.turf.point(this.positions),m=this.getBuff(f,o);this.this_buff.buff||(this.this_buff.buff=this.addBufferPolyogn(m,A),this.buffs.push(this.this_buff.buff))};DI.prototype.DrawPolyline=function(o,A){this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=null),this.this_buff&&this.this_buff.entity&&this._viewer.entities.remove(this.this_buff.entity);var f=this._viewer,m=this._cesium;let C,E;typeof o=="number"?(C=o,E={}):typeof o=="object"&&(E=o,C=E.radius),this.num=C||this.num;var x=0;return this.drawHandler=new m.ScreenSpaceEventHandler(f.scene.canvas),this.this_buff={entity:null,buff:null},this.type="polyline",this.positions=[],this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),this.drawHandler.setInputAction(function(y){var I=this._getPosition.getMouseDegrees(y);if(!!I){var v=I.lon,B=I.lat;this.positions.push(v,B),x===0&&(this.positions.push(v,B),this.this_buff.entity=f.entities.add({name:"\u65B0\u5EFA\u7F13\u51B2\u7EBF",polyline:{positions:m.Cartesian3.fromDegreesArray(this.positions),width:2,material:new m.ColorMaterialProperty(m.Color.YELLOW),clampToGround:!0,zIndex:1}}),this.this_buff.entity.polyline.positions=new m.CallbackProperty(function(){return m.Cartesian3.fromDegreesArray(this.positions)}.bind(this),!1)),x++}}.bind(this),m.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(function(y){this.end&&this.end()}.bind(this),m.ScreenSpaceEventType.RIGHT_CLICK),this.end=y=>{if(this.tooltip.show(!1),this.drawHandler.destroy(),this._core.mouse(this._viewer.container,0),this.drawHandler=null,this.end=void 0,y==="cancel"){f.entities.remove(this.this_buff.entity),this.this_buff=void 0;return}var I=this;if(this.positions.length<=4){window.layuiLayer&&window.layuiLayer.msg("\u5F53\u524D\u70B9\u6570\u5C0F\u4E8E\u4E24\u70B9\uFF0C\u8BF7\u91CD\u65B0\u7ED8\u5236"),f.entities.remove(this.this_buff.entity),this.this_buff=void 0,A&&typeof A=="function"&&A(I);return}this.positions.pop(),this.positions.pop(),this.this_buff.entity.polyline.positions=m.Cartesian3.fromDegreesArray(this.positions),this.buffs.push(this.this_buff.entity),this.this_buff.entity=void 0,this.positions=this.degreesArrayToPoints(this.positions),this.setPolylineBuff(this.num,E),A&&typeof A=="function"&&A(I)},this.drawHandler.setInputAction(function(y){if(x===0){this.tooltip.showAt(y.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236\u6298\u7EBF");return}else x===1?this.tooltip.showAt(y.endPosition,"\u70B9\u51FB\u7ED8\u5236\u6298\u7EBF"):this.tooltip.showAt(y.endPosition,"\u53F3\u51FB\u7ED3\u675F\u7ED8\u5236");var I=this._getPosition.getMouseDegrees(y);if(!!I){var v=I.lon,B=I.lat;this.positions.splice(this.positions.length-2,2),this.positions.push(v,B)}}.bind(this),m.ScreenSpaceEventType.MOUSE_MOVE),this};DI.prototype.setPolylineBuff=function(o,A){let f=bv.turf.lineString(this.positions),m=this.getBuff(f,o);this.this_buff.buff||(this.this_buff.buff=this.addBufferPolyogn(m,A),this.buffs.push(this.this_buff.buff))};DI.prototype.DrawPolygon=function(o,A){this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=null),this.this_buff&&this.this_buff.entity&&this._viewer.entities.remove(this.this_buff.entity);var f=this._viewer,m=this._cesium;let C,E;typeof o=="number"?(C=o,E={}):typeof o=="object"&&(E=o,C=E.radius),this.num=C||this.num;var x=0;this.drawHandler=new m.ScreenSpaceEventHandler(f.scene.canvas),this.this_buff={entity:null,buff:null},this.type="polygon",this.positions=[];let y=this;return this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),this.drawHandler.setInputAction(function(I){var v=this._getPosition.getMouseDegrees(I);if(!!v){var B=v.lon,Q=v.lat;this.positions.push(B,Q),x===0?(this.positions.push(B,Q),this.this_buff.entity=f.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new m.CallbackProperty(function(){return m.Cartesian3.fromDegreesArray(y.positions)},!1),clampToGround:!0,material:new m.ColorMaterialProperty(m.Color.YELLOW.withAlpha(.5)),width:3}})):x===1&&(this.this_buff.entity&&f.entities.remove(this.this_buff.entity),this.this_buff.entity=f.entities.add({name:"\u65B0\u5EFA\u7F13\u51B2\u9762",polygon:{hierarchy:new m.PolygonHierarchy(m.Cartesian3.fromDegreesArray(this.positions)),material:new m.ColorMaterialProperty(m.Color.YELLOW.withAlpha(.5)),zIndex:1}}),this.this_buff.entity.polygon.hierarchy=new m.CallbackProperty(function(){return new m.PolygonHierarchy(m.Cartesian3.fromDegreesArray(this.positions))}.bind(this),!1)),x++}}.bind(this),m.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(function(I){this.end&&this.end()}.bind(this),m.ScreenSpaceEventType.RIGHT_CLICK),this.end=I=>{if(this.tooltip.show(!1),this.drawHandler.destroy(),this._core.mouse(this._viewer.container,0),this.drawHandler=null,this.end=void 0,I==="cancel"){f.entities.remove(this.this_buff.entity),this.this_buff=void 0;return}if(this.positions.length<=6){window.layuiLayer&&window.layuiLayer.msg("\u5F53\u524D\u70B9\u6570\u5C0F\u4E8E\u4E09\u70B9\uFF0C\u8BF7\u91CD\u65B0\u7ED8\u5236"),f.entities.remove(this.this_buff.entity),this.this_buff=void 0,A&&typeof A=="function"&&A(this);return}this.positions.pop(),this.positions.pop(),this.this_buff.entity.polygon.hierarchy=m.Cartesian3.fromDegreesArray(this.positions),this.buffs.push(this.this_buff.entity),this.this_buff.entity=void 0,this.positions=this.degreesArrayToPoints(this.positions),this.positions.push(this.positions[0]),this.setPolygonBuff(this.num,E),A&&typeof A=="function"&&A(this)},this.drawHandler.setInputAction(function(I){if(x===0){this.tooltip.showAt(I.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236\u591A\u8FB9\u5F62");return}else x<3?this.tooltip.showAt(I.endPosition,"\u70B9\u51FB\u7ED8\u5236\u591A\u8FB9\u5F62"):this.tooltip.showAt(I.endPosition,"\u53F3\u51FB\u7ED3\u675F\u7ED8\u5236");var v=this._getPosition.getMouseDegrees(I);if(!!v){var B=v.lon,Q=v.lat;this.positions.splice(this.positions.length-2,2),this.positions.push(B,Q)}}.bind(this),m.ScreenSpaceEventType.MOUSE_MOVE),this};DI.prototype.setPolygonBuff=function(o,A){let f=bv.turf.polygon([this.positions]),m=this.getBuff(f,o);this.this_buff.buff||(this.this_buff.buff=this.addBufferPolyogn(m,A),this.buffs.push(this.this_buff.buff))};DI.prototype.getBuff=function(o,A,f={}){let C=bv.turf.buffer(o,A,{units:"meters",...f}).geometry.coordinates,E=this.pointsToDegreesArray(C[0]),x={positions:bv.Cartesian3.fromDegreesArray(E)};if(C.length>1){x.holes=[];for(let y=1,I;y<C.length;y++)E=this.pointsToDegreesArray(C[y]),I=bv.Cartesian3.fromDegreesArray(E),x.holes.push(I)}return x};DI.prototype.pointsToDegreesArray=function(o){let A=[];return o.map(f=>{A.push(f[0]),A.push(f[1])}),A};DI.prototype.degreesArrayToPoints=function(o){let A=[];for(let f=0;f<o.length-1;f+=2)A.push([o[f],o[f+1]]);return A};DI.prototype.addBufferPolyogn=function(o,A={}){let f,m;return f=o.positions,o.holes&&(m=[],o.holes.forEach(C=>{m.push(new bv.PolygonHierarchy(C))})),this._viewer.entities.add({polygon:{hierarchy:new bv.CallbackProperty(function(){return new bv.PolygonHierarchy(f,m)},!1),material:bv.Color.RED.withAlpha(.6),outline:!0,outlineColor:bv.Color.YELLOW,outlineWidth:10,zIndex:0,...A}})};DI.prototype.clearBuff=function(){var o=this._viewer;this.buffs.length>0&&(this.buffs.forEach(function(A){o.entities.remove(A)}),this.buffs.length=0)};var BQ=DI;var mn=null,XSe=null;function Rat(o){return o*3/4}function nMi(o){var A=o*72/96;return-1*A}function oMi(o){for(var A=[],f=o.length,m=0;m<f;m++)for(var C=o[m],E=C.positions.length,x=0;x<E;x++)for(var y=C.positions[x],I=0;I<y.length;I+=3)A.push(mn.Cartographic.fromDegrees(y[I+0],y[I+1],0));return A}function ZSe(o){var A=0,f,m;if(o.length===0)return A;for(f=0;f<o.length;f++)m=o.charCodeAt(f),A=(A<<5)-A+m,A|=0;return A}function aMi(o,A,f,m){for(var C,E=0,x=0;x<o.length;x++){var y=o[x];C=m?Fat:f(y),y.absoluteHeightPositions==null&&(y.absoluteHeightPositions=[]);for(var I=0;I<y.positions.length;I++)for(var v=y.positions[I],B=y.absoluteHeightPositions[I]=[],Q=2;Q<v.length;Q+=3){var T=m?0:v[Q];A[E].height==null&&(A[E].height=0),B[Q-2]=v[Q-2],B[Q-1]=v[Q-1],B[Q-0]=v[Q-0],B[Q]=T+A[E].height+C,E++}}}function sMi(o){for(var A=[],f=0;f<o.length;f++)for(var m=0;m<o[f].positions.length;m+=3)A.push(mn.Cartographic.fromDegrees(o[f].positions[m+0],o[f].positions[m+1],0));return A}function lMi(o,A,f,m){for(var C,E=0,x=0;x<o.length;x++){C=m?Fat:f(o[x]);for(var y=2;y<o[x].positions.length;y+=3){A[E].height==null&&(A[E].height=0),o[x].absoluteHeightPositions==null&&(o[x].absoluteHeightPositions=[]),o[x].absoluteHeightPositions[y-2]=o[x].positions[y-2],o[x].absoluteHeightPositions[y-1]=o[x].positions[y-1],o[x].absoluteHeightPositions[y-0]=o[x].positions[y-0];var I=m?0:o[x].positions[y];o[x].absoluteHeightPositions[y]=I+A[E].height+C,E++}}}function Jh(o,A,f){mn=f,this._style=o||{},this._core=new $i(A,f),this._bufferAnalysis=new BQ(A,mn),A.scene.onHoverShowTextArray={},A.scene._lastObjectShowOnText=null,this.setEyeOffset=function(m,C){C===void 0&&(C=0),m.eyeOffset=kat(C)},this.viewer=A,XSe=A}function $Se(o,A){for(var f=o.length,m=0;m<f;m++){var C=A(o[m]);if(o[m].geometryType=="polygon"||o[m].geometryType=="multipolygon"){for(var E=o[m],x=E.positions.length,y=0;y<x;y++){for(var I=E.positions[y],v=2;v<I.length;v+=3)I[v]=C;E.positions[y]=I}o[m]=E}else{for(var B=o[m],Q=B.positions.length,y=2;y<Q;y+=3)B.positions[y]=C;o[m]=B}}return o}function eDe(o,A){if(o.isQuery==null){if(o.originalInstanceIds==null){if(o.parentLayer.isExistRenderedFeatureId(A))return!1}else if(o.originalInstanceIds.indexOf(A)==-1)return!1}return!0}function cK(o){return function(A){var f=Number(o.applyConditionalClassification(o._style.altitudeOffset||o._style.height,A.attributes));return isNaN(f)&&(f=0),f}}function jSe(o){if(typeof o!="string")return o;var A=Number(o);if(!isNaN(A)){var f=A.toString(16);if(f.length<6&&f!=null)for(var m=f.length;m<6;)f="0"+f,m++;var C="#"+f,E=mn.Color.fromCssColorString(C);if(E!=null){var x=E.red;E.red=E.blue,E.blue=x}return E}return o}function Poe(o){if(o!=null){var A=parseInt(o);if(o.alpha==null&&!isNaN(A)){A<0&&(A&=16777215);var f=A.toString(16);if(f.length<6&&f!=null)for(var m=f.length;m<6;)f="0"+f,m++;var C="#"+f;C=C.substring(0,7);var E=mn.Color.fromCssColorString(C);if(E!=null){var x=E.red;E.red=E.blue,E.blue=x}return E}return o}}function Roe(o){return isNaN(o)?o:parseFloat(o)}function Lat(o,A){var f=[];$.each(o.attributeNames,function(C,E){f.push(Roe(A[E]))});var m;return f.length===1?m=o.func(f[0]):o.attributeNames.length===2?m=o.func(f[0],f[1]):o.attributeNames.length===3?m=o.func(f[0],f[1],f[2]):o.attributeNames.length===4&&(m=o.func(f[0],f[1],f[2],f[3])),m}function uMi(o,A){if(!(o===void 0||o.condition.length===0)){if(o.func===void 0)return Roe(o.value);var f=void 0,m=Lat(o,A);return m===!0&&(f=Roe(o.value)),f}}function AMi(o){return o.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")}function qSe(o,A,f){return o.replace(new RegExp(AMi(A),"g"),f)}var cMi=!1,hMi=sMi,dMi=lMi,Fat=1;Object.defineProperties(Jh.prototype,{style:{get:function(){return this._style},set:function(o){this._style=o}}});Jh.prototype.clonePartOfMultiFeature=function(o,A){let f=o.geometryType.includes("multi")?o.fid+"."+A:o.fid;return{positions:o.positions[A],attributes:o.attributes,fid:f,geometryType:o.geometryType}};Jh.prototype.createPrimitiveFromWFSFeatures=function(o){var A=new mn.PrimitiveCollection,f=[],m=[],C=[];o.features.numPositions=0;for(var E=0;E<o.features.length;E++){var x=o.features[E];switch(this.sanitizePositions(x.positions),o.features.numPositions+=x.positions.length,x.geometryType){case"polygon":f.push(x);break;case"multipolygon":for(var I=x.positions.length,y=0;y<I;y++)f.push(this.clonePartOfMultiFeature(x,y));break;case"linestring":m.push(x);break;case"multilinestring":for(var I=x.positions.length,y=0;y<I;y++)m.push(this.clonePartOfMultiFeature(x,y));break;case"point":C.push(x);break;case"multipoint":for(var I=x.positions.length,y=0;y<I;y++)C.push(this.clonePartOfMultiFeature(x,y))}}f.length>0?(o.features=f,this.createPolygonPrimitive(o)):m.length>0?(o.features=m,this.createLinestringPrimitive(o)):C.length>0&&(o.features=C,this.createPointPrimitive(o))};Jh.prototype.createPolygonPrimitive=function(o){var A=this,f=!1,m=function(y){if(y.isQuery){y.onFinishedQuery(v);return}var I="",v=[],B=[],Q=[],T=[],w=[];let S=A.style.polygon,D=S.clampToGround||!S.perPositionHeight&&!S.extrudedHeight&&!S.height,R;S.text&&(R=new mn.LabelCollection);for(var P=0;P<y.features.length;P++){var M=y.features[P];if(!eDe(y,M.fid))continue;var L=M.absoluteHeightPositions?M.absoluteHeightPositions:M.positions,F=A.createPolygonOptions(L,M.attributes),k=A.createCommonOptions(M.attributes),N=mn.BoundingSphere.fromPoints(F.hierarchy.positions);if(M.absoluteHeightPositions&&delete M.absoluteHeightPositions,v.push(N),y.isQuery)continue;let q;if(F.randomColor&&(q=mn.Color.fromRandom()),F.outline&&!D){var G=A.createPolygonGeometryHelper("outline",M,F.outlineColor,F);Q.push(G)}else F.outline&&Q.push(new mn.GeometryInstance({geometry:new mn.GroundPolylineGeometry({positions:F.hierarchy.positions,width:F.outlineWidth})}));if(F.text){let ee=A._core.getCenterOfMass(F.hierarchy.positions),ie=A.createPointOptions(ee,M.attributes);if(!D&&A.style.pointHeight==null&&(F.extrudedHeight||F.height)&&(ie.position=mn.Cartesian3.fromDegrees(ee[0],ee[1],F.extrudedHeight?(F.height||0)+F.extrudedHeight:F.height)),(F.labelNear||F.labelFar)&&(ie.label.distanceDisplayCondition=new mn.DistanceDisplayCondition(F.labelNear||0,F.labelFar||1/0)),F.offsetPoint&&F.offsetPoint[ie.label.text]){let le=A._core.toDegrees(ie.position);A._core.getCenterOfMass(F.hierarchy.positions);let ue=F.offsetPoint[ie.label.text];ue[0]&&(le.lon=ue[0]),ue[1]&&(le.lat=ue[1]),ue[2]!==void 0&&(le.height=ue[2]),ie.position=mn.Cartesian3.fromDegrees(le.lon,le.lat,le.height)}let H=R.add({id:M,position:ie.position,...ie.label});delete H.id.positions,H.id.boundingSphere=N}if(F.colorConfig){let ee;for(let ie in F.colorConfig){for(let H in F.colorConfig[ie])if(M.attributes[ie]==H){ee=F.colorConfig[ie][H];break}if(ee)break;F.colorConfig[ie]["#"]&&(ee=F.colorConfig[ie]["#"])}ee&&(F.material=mn.Color.fromCssColorString(ee))}if(F.fill&&F.material.alpha>0){var G=A.createPolygonGeometryHelper("fill",M,q||F.material,F);B.push(G)}y.parentLayer.addRenderedFeatureId(M.fid),I+=M.fid+";",T.push(M.fid),w.push(k.tooltip)}if(I!=""){var J=new mn.PrimitiveCollection,K=new mn.PerInstanceColorAppearance({flat:F.material.alpha==0,translucent:F.material.alpha<1});if(R&&J.add(R),B.length>0){if(F.water){let q={color:F.water.color||"rgba(135,206,235,0.6)",image:F.water.image||window.SmartEarthRootUrl+Zr.water,frequency:F.water.frequency||1e3,speed:F.water.speed||10,amplitude:F.water.amplitude||10},ee=mn.Color.fromCssColorString(q.color);K=new mn.EllipsoidSurfaceAppearance({material:new mn.Material({fabric:{type:"Water",uniforms:{baseWaterColor:ee,blendColor:ee,normalMap:q.image,frequency:q.frequency,animationSpeed:q.speed/1e3,amplitude:q.amplitude}}})})}var X;D?X=new mn.GroundPrimitive({geometryInstances:B,appearance:K,classificationType:F.classificationType}):X=new mn.Primitive({geometryInstances:B,appearance:K}),X._parentCollection=J,J.add(X)}if(Q.length>0)if(F.clampToGround)J.add(new mn.GroundPolylinePrimitive({geometryInstances:Q,appearance:new mn.PolylineMaterialAppearance({material:new mn.Material({fabric:{type:"Color",uniforms:{color:F.outlineColor}}})})}));else{var X=new mn.Primitive({geometryInstances:Q,appearance:K});X._parentCollection=J,J.add(X)}J.ID="polygons:"+ZSe(I),J._instanceIds=T,J._tooltips=w,y.onFinishedCreatePrimitive(J,v)}},C=this.style.altitudeMethod==3;if(C)o.features=$Se(o.features,cK(A)),m(o);else{f=!0;var E=oMi(o.features),x=tDe(E,hK.TERRAIN|hK.FLOOR,XSe);Promise.resolve(x).then(function(y){cMi&&console.log("adding polygon with "+y.length+" vertices");var I=A._style.altitudeMethod==2;aMi(o.features,y,cK(A),I),m(o)})}};Jh.prototype.createPolygonGeometryHelper=function(o,A,f,m){var C=m.hierarchy,E=m.perPositionHeight,x=m.extrudedHeight,y=m.height,I=m.water,v=x!=null||y!==void 0?mn.PerInstanceColorAppearance.VERTEX_FORMAT:mn.PerInstanceColorAppearance.FLAT_VERTEX_FORMAT;I&&(v=mn.EllipsoidSurfaceAppearance.VERTEX_FORMAT),x!==void 0&&y!==void 0&&(x+=y);var B;let Q;return m.bulidingWall?(Q=o==="fill"?mn.CorridorGeometry:mn.CorridorOutlineGeometry,B=new Q({positions:C.positions,width:m.bulidingWallWidth||.8,vertexFormat:v,extrudedHeight:x,height:y,cornerType:mn.CornerType.MITERED})):(Q=o==="fill"?mn.PolygonGeometry:mn.PolygonOutlineGeometry,B=new Q({polygonHierarchy:C,vertexFormat:v,perPositionHeight:y!==void 0?void 0:E,extrudedHeight:x,height:y})),new mn.GeometryInstance({geometry:B,id:A,attributes:{color:mn.ColorGeometryInstanceAttribute.fromColor(f)}})};Jh.prototype.createLinestringPrimitive=function(o){var A=this,f=!1,m=function(C){if(C.isQuery){C.onFinishedQuery(x);return}var E="",x=[],y,I=[],v=[],B=[];let Q=new mn.PrimitiveCollection;for(var T=0;T<C.features.length;T++){var w=C.features[T];if(!eDe(C,w.fid))continue;var S=w.absoluteHeightPositions?w.absoluteHeightPositions:w.positions,D=A.createLinestringOptions(S,w.attributes),R=A.createCommonOptions(w.attributes),P=0;if(P&&y==null&&(y=!!(D.widthInMeters&&A.style.altitudeMethod==2)),D.vertexFormat=y?mn.PerInstanceColorAppearance.VERTEX_FORMAT:mn.PolylineColorAppearance.VERTEX_FORMAT,w.absoluteHeightPositions&&delete w.absoluteHeightPositions,x.push(mn.BoundingSphere.fromPoints(D.positions)),C.isQuery)continue;var M,L;D.clampToGround?(M=new mn.GroundPolylineGeometry({positions:D.positions,width:D.width}),L=new mn.GeometryInstance({id:w,geometry:M,attributes:{color:new mn.ColorGeometryInstanceAttribute.fromColor(D.material)}})):(M=new mn.PolylineGeometry(D),L=new mn.GeometryInstance({id:w,geometry:M,attributes:{color:new mn.ColorGeometryInstanceAttribute.fromColor(D.material)}})),C.parentLayer.addRenderedFeatureId(w.fid),E+=w.fid+";",I.push(w.fid),v.push(R.tooltip);let k=null,N;D.dash?N=new mn.PolylineMaterialAppearance({material:mn.Material.fromType(mn.Material.PolylineDashType,{color:D.material,gapColor:D.gapColor||mn.Color.TRANSPARENT,dashLength:D.dashLength||20})}):N=new mn.PolylineMaterialAppearance({material:new mn.Material({fabric:{type:"PolylineOutline",uniforms:{color:D.material,outlineColor:D.outlineColor||D.material,outlineWidth:D.outlineWidth||0}}})}),D.clampToGround?k=new mn.GroundPolylinePrimitive({geometryInstances:L,appearance:N,classificationType:D.classificationType}):k=new mn.Primitive({geometryInstances:L,appearance:N}),Q.add(k)}if(E!=""){var F=Q;F.ID="polylines:"+ZSe(E),F._instanceIds&&F._instanceIds.length===0&&(F._instanceIds=I),F._tooltips=v,C.onFinishedCreatePrimitive(F,x)}};A&&A.style&&A.style.height!==void 0&&(o.features=$Se(o.features,cK(A))),m(o)};Jh.prototype.createPointPrimitive=function(o){var A=this,f=function(x){if(x.isQuery){x.onFinishedQuery(v);return}for(var y="",I=[],v=[],B=[],Q,T=new mn.LabelCollection({scene:A.viewer.scene}),w=new mn.PointPrimitiveCollection({scene:A.viewer.scene}),S=new mn.BillboardCollection({scene:A.viewer.scene}),D=new mn.PrimitiveCollection,R=new mn.PolylineCollection,P=0;P<x.features.length;P++){var M=x.features[P];if(!!eDe(x,M.fid)){var L=M.absoluteHeightPositions?M.absoluteHeightPositions:M.positions,F=A.createPointOptions(L,M.attributes),k=A.createCommonOptions(M.attributes);if(M.clampToGround=F.clampToGround,F.sgsPointPosition&&(M.sgsPointPosition=F.sgsPointPosition,delete F.sgsPointPosition),M.absoluteHeightPositions&&delete M.absoluteHeightPositions,v.push(mn.BoundingSphere.fromPoints([F.position])),!x.isQuery){if(F.label)if(F.label.position=F.position,F.label.id=M,A.setEyeOffset(F.label),F.label.imageFile!=null&&(F.label.image=A.applyConditionalClassification(F.label.imageFile,M.attributes),F.label.label=F.label,S.add(F.label),A.setEyeOffset(F.label,-5)),F.label.imageFile!=null&&F.label.showText!=null&&F.label.showText&&(A.viewer.scene.onHoverShowTextArray[F.label.id]=!0),F.label.isBold!=null&&F.label.isBold)T.add(g);else if(F.label.isUnderline!=null&&F.label.isUnderline){var N="_",G=F.label.text.match(/[iljf1]/g)!=null?F.label.text.match(/[iljf1]/g):[],J=F.label.text.length,K=Array(Math.ceil(J-G.length*.5)).join(N);Q=$.extend({},F.label),F.label.image!=null&&delete F.label.image,Q.position=F.label.position,Q.id=F.label.id,Q.text=K,Q.alignment=F.label.alignment!=null?F.label.alignment:void 0,Q.underline=!0,Q.textRelativeToImage=F.label.textRelativeToImage!=null?F.label.textRelativeToImage:void 0;var X=F.label.font.indexOf("pt")>-1?Number(F.label.font.split("pt")[0])*4/3:F.label.font.indexOf("px")>-1?Number(F.label.font.split("px")[0]):5;Q.pixelOffset=new mn.Cartesian2(0,-45),T.add(Q)}else T.add(F.label);if(F.billboard&&(F.billboard.position=F.position,F.billboard.id=M,A.setEyeOffset(F.billboard),S.add(F.billboard)),F.model){F.model.url=F.model.uri,F.model.id=M;var q=D.add(mn.Model.fromGltf(F.model))}if(F.point&&(F.point.position=F.position,F.point.id=M,A.setEyeOffset(F.point),w.add(F.point)),F.lineToGround!=0){var ee=mn.Cartographic.fromCartesian(F.position),ie=mn.Cartesian3.fromRadians(ee.longitude,ee.latitude,0);if(F.lineToGround==2){var H=F.lineToGroundLength/mn.Cartesian3.distance(F.position,ie);mn.Cartesian3.lerp(F.position,ie,H,ie)}R.add({show:!0,width:1,positions:[F.position,ie],material:mn.Material.fromType("Color",{color:F.lineToGroundColor})})}x.parentLayer.addRenderedFeatureId(M.fid),y+=M.fid+";",I.push(M.fid),B.push(k.tooltip)}}}if(y!=""){var le,ue=new mn.PrimitiveCollection;T.length>0&&($.each(T._labels,function(Ae,he){he._type="Label"}),T._billboardCollection._parentCollection=ue,ue.add(T),le="labels"),S.length>0&&($.each(S._billboards,function(Ae,he){he._type="Billboard"}),S._parentCollection=ue,ue.add(S),le="billboards"),D.length>0&&($.each(D._primitives,function(Ae,he){he._type="Model",he._parentCollection=ue}),ue.add(D),le="models"),w.length>0&&($.each(w._pointPrimitives,function(Ae,he){he._type="Point"}),w._parentCollection=ue,ue.add(w),le="points"),R.length>0&&($.each(R._polylines,function(Ae,he){he._type="L2G"}),R._parentCollection=ue,ue.add(R),le="L2G"),ue.ID=le+":"+ZSe(y),ue._instanceIds=I,ue._tooltips=B,x.onFinishedCreatePrimitive(ue,v)}},m=this.style.altitudeMethod==3;if(m)o.features=$Se(o.features,cK(A)),f(o);else{var C=hMi(o.features),E=tDe(C,hK.TERRAIN|hK.FLOOR,XSe);Promise.resolve(E).then(function(x){var y=A._style.altitudeMethod==2;dMi(o.features,x,cK(A),y),f(o)}).catch(function(x){})}};Jh.prototype.createCommonOptions=function(o){var A={};return A.tooltip=this.applyConditionalClassification(this.style.tooltip,o),A};Jh.prototype.createPolygonOptions=function(o,A){var f=this.getPolygonStyle(this.style);f.preLoad&&f.preLoad(f.polygon,A),f.polygon.hierarchy={positions:mn.Cartesian3.fromDegreesArrayHeights(o[0]),holes:[]};for(var m=1;m<o.length;m++)f.polygon.hierarchy.holes.push({positions:mn.Cartesian3.fromDegreesArrayHeights(o[m])});var C=this.applyConditionalClassification(f.polygon.material,A);if(f.polygon.material=jSe(C),f.polygon.fill!=null&&f.polygon.fromKml!=null){var E=this.applyConditionalClassification(f.polygon.fill,A);E>1&&(E/=100),f.polygon.material=new mn.Color(f.polygon.material.red,f.polygon.material.green,f.polygon.material.blue,E)}if(f.polygon.height&&(f.polygon.height=Number(this.getValueFromProp(f.polygon.height,A))),f.polygon.extrudedHeight&&f.polygon.extrudedHeight&&f.polygon.extrudedHeight.indexOf&&f.polygon.extrudedHeight.indexOf("[")>-1&&f.polygon.extrudedHeight.defaultValue.indexOf("]")>-1){var C=A[f.polygon.extrudedHeight.defaultValue.substring(1,f.polygon.extrudedHeight.defaultValue.length-1)],C=parseInt(C),x=C*3;C!==void 0&&(f.polygon.extrudedHeight=C*3)}if(f.polygon.extrudedHeight&&(f.polygon.extrudedHeight=Number(f.polygon.extrudedHeight)),A.FSCALE){var y=this.getLevelDistance(A.FSCALE);f.polygon.distanceDisplayCondition=new mn.DistanceDisplayCondition(1,y)}return C=this.applyConditionalClassification(f.polygon.outlineColor,A),f.polygon.outlineColor=jSe(C),f.polygon};Jh.prototype.translateLineWidth=function(o,A){var f=this.applyConditionalClassification(o.polyline.width,A);return f>0?TerraExplorer.USE_CORRIDOR_FOR_LINE_WIDTH_IN_METERS?f>1&&(o.polyline.widthInMeters=!0,f*=.8,o.polyline.backgroundOpacity>0&&(f*=.8)):f=f>1?2:1:f<0?f=Math.min(5,Math.abs(f)):f==0&&(f=1),f};Jh.prototype.createLinestringOptions=function(o,A){var f=this.getLinestringStyle(this.style);f.preLoad&&f.preLoad(f.polyline,A),f.id=A,f.polyline.positions=mn.Cartesian3.fromDegreesArrayHeights(o);var m=this.applyConditionalClassification(f.polyline.material,A);if(f.polyline.material=jSe(m),f.polyline.far&&(f.polyline.distanceDisplayCondition=new mn.DistanceDisplayCondition(f.polyline.near!==void 0?f.polyline.near:0,f.polyline.far)),A.FSCALE){var C=this.getLevelDistance(A.FSCALE);f.polyline.distanceDisplayCondition=new mn.DistanceDisplayCondition(1,C)}return f.polyline.width=this.applyConditionalClassification(f.polyline.width,A),f.polyline};Jh.prototype.getValueFromProp=function(o,A){let f=o&&o.defaultValue?o.defaultValue:o;if(f&&f.indexOf){if(f.indexOf("[")>-1&&f.indexOf("]")>-1)f=f.replace("[","").replace("]",""),f=this.getPropValue(A,f);else if(f.indexOf("{")>-1&&f.indexOf("}")>-1){let m=/\{[^\}]+\}/g;f.match(m).forEach(E=>{let x=this.getPropValue(A,E.substring(1,E.length-1));f=f.replace(E,x)}),f=f.replaceAll("\\n",` `)}}return f};Jh.prototype.getPropValue=function(o,A){if(o[A])return o[A];if(A.includes(":"))return o[A.split(":")[1]]};Jh.prototype.applyConditionalClassification=function(o,A){if(o!=null){if(o.defaultValue==null)return o;var f=Roe(o.defaultValue);if(o.classificationArray===void 0&&(!isNaN(f)||f instanceof mn.Color))return f;if(o.attributeName!==void 0){var m="["+o.attributeName+"]";if(f===m)f=A[o.attributeName];else if(o.multipleAttributeReplacementNeeded)for(name in A)f=qSe(f,"["+name+"]",A[name]);else f=qSe(f,m,A[o.attributeName]);return f}if(o.classification!==void 0)return f=Lat(o.classification,A),f;var C=o.classificationArray;return C!==void 0&&$(Object.keys(C)).each(function(E,x){var y=uMi(C[x],A);y&&(f=y)}),f}};Jh.prototype.createLineToGroundOptions=function(o,A){var f=this.applyConditionalClassification(o.lineToGround,A);if(f!=null&&Number(f)!=0){o.lineToGround=f;var m=this.applyConditionalClassification(o.lineToGroundColor,A);m=Poe(m),o.lineToGroundColor=m;var C=this.applyConditionalClassification(o.lineToGroundLength,A);typeof C=="string"&&C.indexOf("[")>-1&&C.indexOf("]")>-1&&(C=A[C.substring(1,C.length-1)]||0),o.lineToGroundLength=Number(C)}else o.lineToGround=0,o.lineToGroundColor=0,o.lineToGroundLength=0};Jh.prototype.createPointOptions=function(o,A){var f=this.getPointStyle(this.style);if(f.pointHeight){let P=f.pointHeight;P=this.getValueFromProp(P,A)||0,f.position=mn.Cartesian3.fromDegrees(o[0],o[1],P),o[2]=P}else f.position=Array.isArray(o)?mn.Cartesian3.fromDegrees(o[0],o[1],o[2]):o;if(f.sgsPointPosition=o,f.id=A,f.label){if(f.label.text=this.getValueFromProp(f.label.text,A),f.label.text=this.o(f.label.text)?this.s(f.label.text):f.label.text,f.label.text.indexOf("[")>-1&&f.label.text.indexOf("]")>-1&&(f.label.text=""),f.label.family!=null){var m=this.applyConditionalClassification(f.label.family,A),C=this.applyConditionalClassification(f.label.font,A);C>=0?f.label.font=Rat(C).toString()+"pt "+m:f.label.font=Rat(nMi(C)).toString()+"pt "+m}if(f.label.fillColor=Poe(this.applyConditionalClassification(f.label.fillColor,A)),f.label.backgroundColor=Poe(this.applyConditionalClassification(f.label.backgroundColor,A)),f.label.backgroundColor==null&&(f.label.backgroundColor=new mn.Color(.165,.165,.165,0)),f.label.showBackground=!0,f.label.showText!=null){var E=this.applyConditionalClassification(f.label.showText,A);if(E&&Number(E)===1&&(f.label.onHoverShowText=!0),E&&viewer.scene.canvas.onHoverShowText==null){var x=viewer.scene,y=new mn.ScreenSpaceEventHandler(x.canvas);y.setInputAction(function(P){var M={},L=x.screenToWorld(P.endPosition,M);mn.defined(M.pickPrimitive)&&M.pickPrimitive.constructor.name=="Billboard"&&M.pickPrimitive.label!=null?x.onHoverShowTextArray[M.pickPrimitive.label.id]!=null&&(x._lastObjectShowOnText!=null&&x._lastObjectShowOnText.id!=M.pickPrimitive.label.id&&x._lastObjectShowOnText.show!=null&&(x._lastObjectShowOnText.show=!1),viewer.scene._lastObjectShowOnText=x.onHoverShowTextArray[M.pickPrimitive.label.id],x._lastObjectShowOnText.show!=null&&(viewer.scene._lastObjectShowOnText.show=!0)):x._lastObjectShowOnText!=null&&x._lastObjectShowOnText.show!=null&&(x._lastObjectShowOnText.show=!1)},mn.ScreenSpaceEventType.MOUSE_MOVE),viewer.scene.canvas.onHoverShowText=!0}}if(f.label.textRelativeToImage!=null&&f.label.textAlignment!=null&&(f.label.textRelativeToImage=this.applyConditionalClassification(f.label.textRelativeToImage,A),f.label.alignment=this.applyConditionalClassification(f.label.textAlignment,A)),f.label.underline!=null&&(f.label.isUnderline=this.applyConditionalClassification(f.label.underline,A)),f.label.bold!=null){var I=this.applyConditionalClassification(f.label.bold,A);I==1&&(f.label.font="bold "+f.label.font)}if(f.label.italic!=null){var I=this.applyConditionalClassification(f.label.italic,A);I==1&&(f.label.font="italic "+f.label.font)}if(f.label.backgroundOpacity!=null&&(f.label.backgroundColor.alpha=this.applyConditionalClassification(f.label.backgroundOpacity,A)),f.label.minViewingHeight!=null){var v=this.applyConditionalClassification(f.label.minViewingHeight,A),B=this.applyConditionalClassification(f.label.scaleMPP,A)*650;f.label.distanceDisplayCondition=new mn.DistanceDisplayCondition(v,B)}if(A.FSCALE){var E=this.getLevelDistance(A.FSCALE);f.label.distanceDisplayCondition=new mn.DistanceDisplayCondition(1,E)}!f.label.disableDepthTestDistance&&(f.label.disableDepthTestDistance=1e3),f.clampToGround&&(f.label.heightReference=1)}if(f.billboard){if(f.billboard.sizeInMeters=!1,f.billboard.imageColor!=null){var Q=this.applyConditionalClassification(f.billboard.imageColor,A);Q=Poe(Q),f.billboard.color=Q}if(f.billboard.imageOpacity!=null&&f.billboard.color.alpha!=null&&(f.billboard.color.alpha=Number(this.applyConditionalClassification(f.billboard.imageOpacity,A))),f.billboard.image=this.applyConditionalClassification(f.billboard.image,A),f.billboard.minViewingHeight!=null){var v=this.applyConditionalClassification(f.billboard.minViewingHeight,A),B=this.applyConditionalClassification(f.billboard.scaleMPP,A)*650;f.billboard.distanceDisplayCondition=new mn.DistanceDisplayCondition(v,B)}if(A.FSCALE){var E=this.getLevelDistance(A.FSCALE);f.billboard.distanceDisplayCondition=new mn.DistanceDisplayCondition(1,E)}f.billboard.link&&f.id&&typeof f.id=="object"&&(f.id.link=this.applyConditionalClassification(f.billboard.link,A)),!f.billboard.disableDepthTestDistance&&(f.billboard.disableDepthTestDistance=1e3),f.clampToGround&&(f.billboard.heightReference=1)}if(f.model){var T=function(P){var M=Number(P);return(!mn.defined(M)||isNaN(M))&&(M=0),M};f.model.uri=this.applyClassification(f.model.uri,A),f.model.scale=T(this.applyClassification(f.model.scale,A));var w=T(this.applyClassification(f.model.heading,A)),S=T(this.applyClassification(f.model.pitch,A)),D=T(this.applyClassification(f.model.roll,A)),R=new mn.HeadingPitchRoll(mn.Math.toRadians(w),mn.Math.toRadians(S),mn.Math.toRadians(D));f.model.modelMatrix=mn.Transforms.headingPitchRollToFixedFrame(f.position,R)}return this.createLineToGroundOptions(f,A),f},Jh.prototype.s=function(o){return o.split("").reverse().join("")},Jh.prototype.getLevelDistance=function(o){var A=2e7;switch(parseInt(o)){case 2:A=10123e3;break;case 3:A=7123e3;break;case 4:A=6321e3;break;case 5:A=5522e3;break;case 6:A=3436e3;break;case 7:A=539e3;break;case 8:A=305e3;break;case 9:A=18e4;break;case 10:A=133e3;break;case 11:A=1e5;break;case 12:A=76500;break;case 13:A=58200;break;case 14:A=23500;break;case 15:A=9600;break;case 16:A=4e3;break;case 17:A=2e3;break;case 18:A=1700;break;case 19:A=1500;break;case 20:A=1e3;break;case 21:A=500;break;case 22:A=200;break;case 23:A=100;break}return A};Jh.prototype.o=function(o){if(!o)return o;var A="A-Za-z\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u0300-\u0590\u0800-\u1FFF\u2C00-\uFB1C\uFDFE-\uFE6F\uFEFD-\uFFFF",f="\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC",m=new RegExp("^[^"+A+"]*["+f+"]");return m.test(o[0])};Jh.prototype.applyClassification=function(o,A){if($.type(o)!=="string")return o;if(/(\[([^\]]+)\])/g.exec(o)!=null)for(var f in A)o=qSe(o,"["+f+"]",A[f]);o=="undefined"&&(o="");for(var m=/(\<([^\>]+)\>)/g,C=m.exec(o);C!=null;){try{var E=C[C.length-1],x=(0,eval)(E);o=o.replace(C[0],x)}catch{}C=m.exec(o)}return o};Jh.prototype.getPolygonStyle=function(o){var A=$.extend(!0,{},DR.DEFAULT_POLYGON_STYLE,o);return A};Jh.prototype.getLinestringStyle=function(o){var A=$.extend(!0,{},DR.DEFAULT_POLYLINE_STYLE,o);return A};Jh.prototype.getPointStyle=function(o){if(o.label!=null){var A=$.extend(!0,{},DR.DEFAULT_LABEL_STYLE,o);return A}if(o.billboard!=null){var f=$.extend(!0,{},DR.DEFAULT_BILLBOARD_STYLE,o);return f}if(o.model!=null){var m=$.extend(!0,{},DR.DEFAULT_MODEL_STYLE,o);return m}if(o.point!=null){var C=$.extend(!0,{},DR.DEFAULT_POINT_STYLE,o);return C}return DR.DEFAULT_POINT_STYLE};Jh.prototype.sanitizePositions=function(o){for(var A=0;A<o.length;A++)o[A]instanceof Array?this.sanitizePositions(o[A]):isNaN(o[A])&&(o[A]=0)};var DR={};Object.defineProperties(DR,{DEFAULT_POLYGON_STYLE:{get:function(){return{polygon:{perPositionHeight:!0,fill:0,material:mn.Color.GREEN,outline:!0,outlineColor:mn.Color.WHITE,outlineWidth:1}}}},DEFAULT_POLYLINE_STYLE:{get:function(){return{polyline:{material:mn.Color.WHITE,width:1}}}},DEFAULT_POINT_STYLE:{get:function(){return{point:{color:mn.Color.RED.withAlpha(.5),pixelSize:5,outlineColor:mn.Color.WHITE.withAlpha(.5),outlineWidth:2}}}},DEFAULT_LABEL_STYLE:{get:function(){return{label:{text:"Text",font:"18px arial",style:mn.LabelStyle.FILL,fillColor:mn.Color.WHITE,outlineColor:mn.Color.BLACK,outlineWidth:5,scale:1,horizontalOrigin:mn.HorizontalOrigin.CENTER,verticalOrigin:mn.VerticalOrigin.BOTTOM,eyeOffset:mn.Cartesian3.ZERO,pixelOffset:new mn.Cartesian2(0,-50)}}}},DEFAULT_BILLBOARD_STYLE:{get:function(){return{billboard:{image:"./img/query.png",scale:1,horizontalOrigin:mn.HorizontalOrigin.CENTER,verticalOrigin:mn.VerticalOrigin.BOTTOM}}}},DEFAULT_MODEL_STYLE:{get:function(){return{model:{uri:"./img/CesiumTexturedBoxTest.bgltf",scale:1e3}}}}});var Nat=Jh;var Oat,Xa=null;function oc(o,A,f,m,C,E,x,y,I,v){Xa=v;var B=this;if(this._viewer=o,this._Viewer=o,B.G=65535,Oat=new Mat(Xa),oDe=new Bv({workerPath:IMi()},Xa),!Xa.sampleRenderedData){let T=function(L,F,k){var N=Xa.defer();function G(J){L.ready?Promise.resolve(P(L,F,J)).then(function(K){N.resolve(K)}):setTimeout(G,10)}return Xa.Check.typeOf.object("terrainProvider",L),Xa.Check.defined("positions",F),G(k),N.promise},w=function(L,F){for(var k=0;k<L.children.length;k++){var N=L.children[k].state>=Xa.QuadtreeTileLoadState.DONE&&(L.children[k].data.terrainData._mesh!=null||L.children[k].data.terrainData._buffer!=null);if(N&&L.children[k].x==F.x&&L.children[k].y==F.y)return L.children[k]}},S=function(L,F,k){for(var N=L.tilingScheme,G=N.positionToTileXY(F,0),J=k.scene.globe._surface.tileProvider.quadtree._levelZeroTiles,K=J[0].x==G.x&&J[0].y==G.y?J[0]:J[1],X=1;X<22;X++){G=N.positionToTileXY(F,X);var q=w(K,G);if(q==null)break;K=q}return K},D=function(L,F){Xa.Check.defined("positions",L);var k=Xa.defer();return Promise.resolve(R(L,F)).then(function(N){k.resolve(N)}),k.promise},R=function(L,F,k){var N=$.grep(k.scene.primitives._primitives,function(ee){return ee instanceof Xa.Cesium3DTileset}),G;for(G=0;G<L.length;++G){var J=L[G],K=J instanceof Xa.Cartographic,X=K?J:Xa.Cartographic.fromCartesian(J);if(X.height=B.G,!K){var q=Xa.Cartesian3.fromRadiansArrayHeights([X.longitude,X.latitude,X.height])[0];J.z=q.z}}return L},P=function(L,F,k){var N;for(N=0;N<F.length;++N){var G=F[N],J=S(L,G,k);G.height=J.data.terrainData.interpolateHeight(J.rectangle,G.longitude,G.latitude)}return F},M=function(L){this.value=new Float32Array([L])};M.fromZBias=function(L){if(!Xa.defined(L))throw new DeveloperError("zbias is required.");return new M(L)},M.toValue=function(L,F){if(!Xa.defined(L))throw new DeveloperError("zbias is required.");return Xa.defined(F)?color.toBytes(F):new Float32Array(L)},M.equals=function(L,F){return L===F||Xa.defined(L)&&Xa.defined(F)&&L.value[0]===F.value[0]},M.defaultBias=function(){var L=15e-6;return M.fromZBias(L)},Xa.ZBiasGeometryInstanceAttribute=M,Xa.ZBiasGeometryInstanceAttribute=M,Xa.SampleRenderedDataFlags={TERRAIN:2,MESH:4,FLOOR:8},Xa.DynamicEyeOffset=function(L){return L===void 0&&(L=0),new Xa.Cartesian3(.001234321,0,L)},Xa.sampleRenderedData=function(L,F,k){var N={TERRAIN:2,MESH:4,FLOOR:8};F==null&&(F=N.TERRAIN|N.MESH);var G=Xa.defer(),J=[];F>N.TERRAIN?L.forEach(function(q){J.push(Xa.Cartographic.fromRadians(q.longitude,q.latitude,q.height))}):J=L;var K=[];F&N.TERRAIN&&K.push(T(k.terrainProvider,L));var X=(F&N.FLOOR)>0;return F&(N.MESH|N.FLOOR)&&K.push(D(J,X)),Promise.all(K).then(function(q){if(K.length>1)for(var ee=0;ee<L.length;ee++){var ie=q[0][ee],H=q[1][ee];H.height!=B.G&&(ie.height<H.height||X)&&(ie.height=H.height)}G.resolve(q[0])}),G.promise},Xa.sampleRenderedMesh=function(L,F){Xa.Check.defined("positions",L);var k=Xa.defer();return Promise.resolve(R(L,F)).then(function(N){k.resolve(N)}),k.promise},Xa.sampleRenderedTerrain=function(L,F){function k(){L.ready?Promise.resolve(P(L,F)).then(function(G){N.resolve(G)}):setTimeout(k,10)}Xa.Check.typeOf.object("terrainProvider",L),Xa.Check.defined("positions",F);var N=Xa.defer();return k(),N.promise},Xa.QuadtreePrimitive.prototype.getRenderedBestLevelInfo=function(){var L=this.getRenderedLevelInfo(),F=0;for(var k in L)F<Number(k)&&(F=Number(k));return{bestLevel:F,count:L[F]}},Xa.QuadtreePrimitive.prototype.getRenderedLevelInfo=function(){var L=[];return this._tilesToRender.forEach(function(F){L[F.level]==null&&(L[F.level]=0),L[F.level]++}),L}}C=C||{},this._level=m||{min:0,max:22},typeof this._level=="number"&&(this._level={min:m,max:22}),this._url=A,this._layerName=f,this._guid=Xa.createGuid(),this._visible=!0,this._gmlParser=new _at(!0,null,null,!0);let Q=!this._viewer.TileManager;this._tileManager=Oat.getInstance(o),this._tileManager.tileLevel[this._guid]={level:this._level,visible:this._visible},this._tileManager._loadTileEvent.addEventListener(oc.prototype.loadTile,this),this._useWorkers=!0,this._layerDisplayName=E,this._showAttributesAsMessage=C.showAttributesAsMessage,delete C.showAttributesAsMessage,this._entityCreator=new Nat(C,o,Xa),this._featuresMap={},this._boundingBox=void 0,this._geometryFieldName=void 0,this._operations={},this._subdomains=x,this.latLon=!0,this._addedFeatures=[],this.simpleSqlParser=Pat,this.myLayer=I,this._statistics={numberOfAddedFeatures:0,numberOfDeletedFeatures:0,numberOfAddePositions:0,numberOfDeletedPositions:0,getNumberOfCurrentlyRenderedFeatures:function(){return this.numberOfAddedFeatures-this.numberOfDeletedFeatures},getNumberOfCurrentlyRenderedPositions:function(){return this.numberOfAddePositions-this.numberOfDeletedPositions}},pMi(this),Uat(this),y!==void 0&&this.setVisibility(y),Q||this.refresh()}function fK(o,A){var f;return o.indexOf("{s}")!=-1?f=A!=null&&A.length>0?o.replace("{s}",A[0]):console.error("Error - sTag with no subdomains."):f=o,f}function iDe(o,A,f){var m=$(o).find(A);return m.length==0&&f.toLowerCase()==="wfs"&&(m=$(o).find("wfs\\:"+A+","+A)),m.length>0?m:$([])}function gMi(o,A){iDe(A,"FeatureType","wfs").each(function(f,m){if(iDe(m,"Name","wfs").text()==o._layerName){var C=iDe(m,"LatLongBoundingBox","wfs");return C.length!==1||(o._boundingBox=Xa.Rectangle.fromDegrees(parseFloat(C[0].attributes.minx.value),parseFloat(C[0].attributes.miny.value),parseFloat(C[0].attributes.maxx.value),parseFloat(C[0].attributes.maxy.value))),!1}return!0})}function nDe(o){return o.indexOf("?")>-1?"&":"?"}function pMi(o){var A=o.cleanUrl(o._url).replace("{s}",o.sTag(o._layerName.length,o._layerName.length,o._level));A+=nDe(A),A+="SERVICE=WFS&VERSION=1.0.0&REQUEST=GetCapabilities&outputFormat=GML2&typeName="+o._layerName;var f=Xa.TrustedServers.contains(fK(o._url,o._subdomains));$.ajax({dataType:"xml",xhrFields:{withCredentials:f},url:encodeURI(A),success:function(m){gMi(o,m),mMi(o,m)}})}function mMi(o,A){$(A).find("FeatureType").each(function(f,m){if($(m).children("Name").text()==o._layerName){var C=$(m).children("Operations");return C.length==0||C.children().each(function(){o._operations[this.tagName.toLowerCase()]={}}),!1}return!0})}function Uat(o){o.featureColumnNames=null;var A=o.cleanUrl(o._url).replace("{s}",o.sTag(o._layerName.length,o._layerName.length,o._level));A+=nDe(A),A+="SERVICE=WFS&VERSION=1.0.0&REQUEST=DescribeFeatureType&typeName="+o._layerName;var f=Xa.TrustedServers.contains(fK(o._url,o._subdomains));$.ajax({dataType:"xml",xhrFields:{withCredentials:f},url:encodeURI(A),success:function(m){xMi(o,m)}})}function CMi(o,A){let f=eval;if(o==null)return null;try{var m=new XMLSerializer().serializeToString(o).match(f("/[<]([a-z]+):"+A+"[>]/i"));return m!=null?m[1]:null}catch{return!1}}function EMi(o,A){if(o==null)return!1;try{let m=eval;var f=new XMLSerializer().serializeToString(o.context!=null?o.context:o).match(m("/[<](([a-z]+):)?"+A+"[^>]*[>]/i"));return f!=null}catch{return!1}}function xMi(o,A){var f=$(A).find("[type^='gml:']");o._geometryFieldName=$(f).attr("name"),o.geometryResponseData=A,o.wfsNamespace=CMi(o.geometryResponseData,"sequence"),o.wfsNamespace==null&&(o.wfsNamespace="xsd"),o.sgSchemaExists=$(o.geometryResponseData).find(o.wfsNamespace+"\\:schema").attr("xmlns:sfs"),o.sgSchemaExists||(o.sgSchemaExists=$(o.geometryResponseData).find("schema").attr("xmlns:sfs"));var m=$(o.geometryResponseData).find(o.wfsNamespace+"\\:sequence "+o.wfsNamespace+"\\:element");m.length==0&&(m=$(o.geometryResponseData).find("sequence").find("element")),o.geomFields=[],m.each(function(){var C=$(this),E=C.attr("name"),x=C.attr("type");if(x==null)x="string";else{var y=x.match(/.*[:](\w+)/);y&&(x=y[1])}o.geomFields.push({name:E,type:x})})}function Loe(o,A){if(o.operator){var f="";switch(o.operator.toLowerCase()){case"=":f="PropertyIsEqualTo";break;case"<>":f="PropertyIsNotEqualTo";break;case">":f="PropertyIsGreaterThan";break;case">=":f="PropertyIsGreaterThanOrEqualTo";break;case"<":f="PropertyIsLessThan";break;case"<=":f="PropertyIsLessThanOrEqualTo";break;case"like":f="PropertyIsLike"}var m=A.indexOf(o.right)!=-1?o.right:o.left,y="<ogc:"+f+(o.operator.toLowerCase()=="like"?' wildCard="*" singleChar="*" escape="*"':"")+">";y+="<ogc:PropertyName>"+m+"</ogc:PropertyName>";var C=A.indexOf(o.right)!=-1?o.left:o.right;C=C.replace(/^'|'$$/g,"");var E=C.match(/^[%]|[%]$$/)==null;return o.operator.toLowerCase()=="like"&&E&&(C="%"+C+"%"),y+="<ogc:Literal>"+C+"</ogc:Literal>",y+="</ogc:"+f+">",y}var x=o.logic.toLowerCase()=="and"?"And":"Or",y="<ogc:"+x+">";return o.terms.length==2?y+=Loe(o.terms[0],A):y+=Loe({logic:x,terms:o.terms.slice(0,o.terms.length-1)},A),y+=Loe(o.terms[o.terms.length-1],A),y+="</ogc:"+x+">",y}function yMi(o){var A=[],f=$(o).find("gml\\:featureMember");return f.length==0&&(f=$(o).find("featureMember")),f.each(function(){var m={},C=$(this).children().first();m.layerId=C[0].nodeName,m.originFid=C.attr("fid"),m.fid=C.attr("fid"),m.fid==null&&(m.fid=-1);var E=m.fid.match(/[.]?(\d+)$$/);E&&(m.fid=E[1]),m.node=C[0],C.children().each(function(){m[this.nodeName]=this.innerHTML,m[this.nodeName]==null&&(m[this.nodeName]=$(this).text())}),A.push(m)}),A}function rDe(o){return o==null?void 0:o.parentLayer?o:o._parentCollection?o._parentCollection:o.primitive&&o.primitive._parentCollection?o.primitive._parentCollection:void 0}Object.defineProperties(oc.prototype,{LayerDisplayName:{get:function(){return this._layerDisplayName}},displayName:{get:function(){return this.LayerDisplayName}},guid:{get:function(){return this._guid}},Style:{get:function(){return this._entityCreator.style}},show:{get:function(){return this._visible},set:function(o){this.setVisibility(o)}},BoundingBox:{get:function(){return this._boundingBox}},boundingSphere:{get:function(){return Xa.BoundingSphere.fromRectangle3D(this._boundingBox)}},Statistics:{get:function(){return this._statistics}}});var dK=180/Math.PI,gHi=1/dK,Gat=1e3;oc.prototype.getRequestMaxFeatures=function(){return Gat};oc.prototype.isAttributeField=function(o,A){return!A||!o||o.toLowerCase()==""||o.toLowerCase()=="fid"?!1:A.toLowerCase()=="string"||A.toLowerCase()=="integer"||A.toLowerCase()=="double"};oc.prototype.updateFeatures=function(o,A){if(o.length<=0){A();return}var f=this,m=[];$(this.geomFields).each(function(){f.isAttributeField(this.name,this.type)&&m.push(this.name)});var C="<wfs:Transaction version='1.0.0' service='WFS' username='' password='' xmlns:sfs='http://www.skylineglobe.com/sfs-schema' xmlns:ogc='http://www.opengis.net/ogc' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:wfs='http://www.opengis.net/wfs' xmlns:gml='http://www.opengis.net/gml'> {wfs_updates}</wfs:Transaction>",E="";$(o).each(function(){var v=this,B='<wfs:Update typeName="{lyaer_id}">'.replace("{lyaer_id}",this.layerId);$(m).each(function(){B+="<wfs:Property><wfs:Name>"+this+"</wfs:Name><wfs:Value>"+v[this]+"</wfs:Value></wfs:Property>"}),B+='<ogc:Filter><ogc:FeatureId fid="'+v.originFid+'"/></ogc:Filter>',B+="</wfs:Update>",E+=B}),C=C.replace("{wfs_updates}",E);var x="Failed to save changes to server",y=fK(this.cleanUrl(this._url),this._subdomains),I=Xa.TrustedServers.contains(y);$.ajax({dataType:"xml",type:"POST",data:C,xhrFields:{withCredentials:I},url:encodeURI(y),success:function(v){var B=new XMLSerializer().serializeToString(v.documentElement).toLowerCase();if(B.match(/success\s*\//)==null){A(x);return}A()},error:function(v,B,Q){A(x)},timeout:1e4})};oc.prototype.getFeatures=function(o,A,f){var m=this,C=[];$(this.geomFields).each(function(){m.isAttributeField(this.name,this.type)&&C.push(this.name)});var E="<wfs:GetFeature version='1.0.0' service='WFS' username='' password='' maxFeatures='{REQUEST_MAX_FEATURES}' xmlns:sfs='http://www.skylineglobe.com/sfs-schema' xmlns:ogc='http://www.opengis.net/ogc' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:wfs='http://www.opengis.net/wfs' xmlns:gml='http://www.opengis.net/gml'> <wfs:Query typeName='{layer_name}'> {wfs_filter}</wfs:Query> </wfs:GetFeature>";E=E.replace("{layer_name}",this._layerName),E=E.replace("{REQUEST_MAX_FEATURES}",Gat);var x="";if(o.replace(/[ ]/g,"")!=""){x="<ogc:Filter xmlns:sfs='http://www.skylineglobe.com/sfs-schema' xmlns:ogc='http://www.opengis.net/ogc' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:wfs='http://www.opengis.net/wfs' xmlns:gml='http://www.opengis.net/gml'>";var y=m.simpleSqlParser.sql2ast("SELECT * FROM x WHERE "+o);x+=Loe(y.WHERE,C),x+="</ogc:Filter>"}E=E.replace("{wfs_filter}",x);var I=fK(this.cleanUrl(this._url),this._subdomains),v=Xa.TrustedServers.contains(I);A.xhr=$.ajax({url:encodeURI(I),type:"POST",data:E,dataType:"xml",xhrFields:{withCredentials:v},success:function(B){var Q=EMi($(B),"FeatureCollection");if(!Q){f(null,TELang.i18n("layer_error_reading_features"));return}var T=yMi(B);f(T)},error:function(B,Q,T){f(null,B.statusText)},timeout:1e4})};oc.prototype.getFeatureColumnNames=function(){if(this.featureColumnNames)return this.featureColumnNames;var o=$(this.geometryResponseData).find(this.wfsNamespace+"\\:sequence "+this.wfsNamespace+"\\:element");o.length==0&&(o=$(this.geometryResponseData).find("sequence").find("element"));var A=[];return o.each(function(){var f=$(this);f.attr("name").toLowerCase()!="geom"&&A.push(f.attr("name").toLowerCase())}),this.featureColumnNames=A,this.featureColumnNames};oc.prototype.refresh=function(o){let A=this._tileManager.getAllTiles();if(A){let f=A.length;for(let m=0;m<f;m++)A[m].data.wfsLayerData[this._guid]&&A[m].data.wfsLayerData[this._guid].freeResources(),this.loadTile(A[m]);o&&Uat(this)}};oc.prototype.setVisibility=function(o){if(this._visible!=o)if(this._visible=o,this._tileManager.tileLevel[this._guid].visible=o,o==0)for(var A=this._tileManager.getAllTiles(),f=A.length,m=0;m<f;m++)A[m].data.wfsLayerData[this._guid]&&A[m].data.wfsLayerData[this._guid].primitive&&(A[m].data.wfsLayerData[this._guid].primitive.show=!1);else for(var A=this._tileManager.getAllTiles(),f=A.length,m=0;m<f;m++)A[m].data.wfsLayerData[this._guid]&&(A[m].data.wfsLayerData[this._guid].primitive?A[m].data.wfsLayerData[this._guid].primitive.show=!0:this.loadTile(A[m]))};oc.prototype.loadTile=function(o){var A=this;o.data.wfsLayerData[this._guid]={id:o.data.id,primitive:void 0,freeResources:function(){Xa.defined(this.xhr)&&(this.xhr.abort(),this.xhr=void 0),Xa.defined(this.features)&&(A.removeFeaturesFromLayer(this.features),this.features=void 0),Xa.defined(this.primitive)&&(A._tileManager.removeFromScene(this.primitive),this.primitive=void 0)}},this.show&&o.level>=this._level.min&&o.level<=this._level.max&&(this.statc=0,this._guide=this._guid,this.beginLoadWFSData(o))};oc.prototype.isDestroyed=function(){return!1};oc.prototype.destroy=function(){var o=this._tileManager.getAllTiles(),A=o.length;if(A>0)for(var f=0;f<A;f++)o[f].data.wfsLayerData[this._guid]&&o[f].data.wfsLayerData[this._guid].freeResources();return this._tileManager._loadTileEvent.removeEventListener(oc.prototype.loadTile,this),Xa.destroyObject(this)};oc.prototype.sTag=function(o,A,f){if(this._subdomains==null)return"";var m=(o+A+f)%this._subdomains.length;return this._subdomains[m]};oc.prototype.cleanUrl=function(o){return o.indexOf("?")!=-1?o.split("?")[0]:o};function IMi(){return SmartEarthRootUrl+"Workers/featurefetcherworker.js"}oc.prototype.beginLoadWFSData=function(o){if(this.latLon!=null&&!this.latLon||(this.BoundingBox!=null&&(this.BoundingBox.width==0||this.BoundingBox.height==0)&&(this.BoundingBox.east+=1,this.BoundingBox.north+=1,this.BoundingBox.beenModified=!0),this.BoundingBox!==void 0&&Xa.Rectangle.intersection(this.BoundingBox,o.rectangle)===void 0))return;var A=[dK*o.rectangle.west,dK*o.rectangle.south,dK*o.rectangle.east,dK*o.rectangle.north],f=this,m=this.cleanUrl(this._url).replace("{s}",this.sTag(o.x,o.y,o.level));m+=nDe(m);let C="GML2";m+="SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&outputFormat="+C+"&typeName="+this._layerName+"&srsName=EPSG:4326&BBOX="+A.join(",");var E=Xa.TrustedServers.contains(fK(this._url,this._subdomains));o.data.wfsLayerData[this._guid].xhr=$.ajax({dataType:this._useWorkers?"text":"xml",url:encodeURI(m),cache:!0,xhrFields:{withCredentials:E},success:function(x){f.processWFSData(o,x,C)},error:function(x,y,I){I!=="abort"&&console.log("Failed to retrieve data from "+m+" :"+I)},complete:function(){o.data.wfsLayerData[f._guid].xhr=void 0}})};var oDe;oc.prototype.processWFSData=function(o,A,f){if(o.data.wfsLayerData[this._guid].xhr=void 0,this._useWorkers){var m=this;oDe.queueWorkItem({id:o.data.id,text:A,format:f,geometryFieldName:this._geometryFieldName}).then(function(E){m.addFeaturesToTile(E)})}else{var C=this._gmlParser.read(A);this.addFeaturesToTile({id:o.data.id,features:C})}};oc.prototype.boundingSphereFromGML=function(o,A){var f=viewer.scene.globe._surface.getRenderedBestLevelInfo().bestLevel,m=this;oDe.queueWorkItem({id:"0",text:o,geometryFieldName:this._geometryFieldName}).then(function(C){var E={parentLayer:m,features:C.features,sampleTerrainLevel:f+1,isQuery:!0,onFinishedQuery:function(x){var y;x.length>0&&(y=Xa.BoundingSphere.fromBoundingSpheres(x)),A(y)}};m._entityCreator.createPrimitiveFromWFSFeatures(E)})};oc.prototype.boundingSphereFromFeature=function(o){var A,f=viewer.scene.globe._surface.getRenderedBestLevelInfo().bestLevel,m={parentLayer:this,features:[o],sampleTerrainLevel:f+1,isQuery:!0,onFinishedQuery:function(C){C.length>0&&(A=Xa.BoundingSphere.fromBoundingSpheres(C))}};return this._entityCreator.createPrimitiveFromWFSFeatures(m),A};oc.prototype.addRenderedFeatureId=function(o){this._addedFeatures[o]==null&&(this._addedFeatures[o]=0),this._addedFeatures[o]++};oc.prototype.removeRenderedFeatureId=function(o,A){if(A&&A.geometryType&&A.geometryType.includes("multi"))for(let f=0,m;f<A.positions.length;f++)m=o+"."+f,this._addedFeatures[m]!=null&&this._addedFeatures[m]--,this._addedFeatures[m]==0&&(this._addedFeatures[m]=void 0);else this._addedFeatures[o]!=null&&this._addedFeatures[o]--,this._addedFeatures[o]==0&&(this._addedFeatures[o]=void 0)};oc.prototype.isExistRenderedFeatureId=function(o){return this._addedFeatures[o]!=null};oc.prototype.addFeaturesToTile=function(o,A){var f=this._tileManager.getTile(o.id);if(f!==void 0){var m=A?f.data.wfsLayerData[this._guid].primitive._instanceIds:void 0,C=this,E={parentLayer:this,originalInstanceIds:m,features:o.features,onFinishedCreatePrimitive:function(x){if(!(o.features==null||f.data.wfsLayerData==null)&&(f.data.wfsLayerData[C._guid].features=o.features,A||C.addFeaturesToLayer(f.data.wfsLayerData[C._guid].features),x.length===void 0||x.length>0)){var y=f.data.wfsLayerData[C._guid].primitive;x.show=C.show,f.data.wfsLayerData[C._guid].primitive=x,x.parentLayer=C,x.parentTileId=o.id,x._guid=Xa.createGuid(),A?C._tileManager.replaceInScene(y,x):C._tileManager.addToScene(x)}}};this._entityCreator.createPrimitiveFromWFSFeatures(E)}};oc.prototype.addFeaturesToLayer=function(o){this._statistics.numberOfAddedFeatures+=o.length,this._statistics.numberOfAddePositions+=Xa.defaultValue(o.numPositions,0);for(var A=o.length,f=0;f<A;f++)Object.prototype.hasOwnProperty.call(this._featuresMap,o[f].fid)===!1?this._featuresMap[o[f].fid]={refCount:1,feature:o[f]}:this._featuresMap[o[f].fid].refCount++};oc.prototype.removeFeaturesFromLayer=function(o){this._statistics.numberOfDeletedFeatures+=o.length,this._statistics.numberOfDeletedPositions+=Xa.defaultValue(o.numPositions,0);for(var A=o.length,f=0,m;f<A;f++)m=o[f].fid,Object.prototype.hasOwnProperty.call(this._featuresMap,m)!==!1&&(this._featuresMap[m].refCount--,this._featuresMap[m].refCount===0&&delete this._featuresMap[m],this.removeRenderedFeatureId(m,o[f]))};oc.prototype.getFeature=function(o){return Object.prototype.hasOwnProperty.call(this._featuresMap,o)===!1?null:this._featuresMap[o]};oc.prototype.updateTile=function(o){var A=this._tileManager.getTile(o);A!==void 0&&(A.data.wfsLayerData[this._guid].features==null?this.loadTile(A):this.addFeaturesToTile(A.data.wfsLayerData[this._guid],!0))};oc.blockRequestPrimitiveFromPrimitive=function(o){if(o!=null){var A=rDe(o);return A!=null||(o._labelCollection&&o._labelCollection._billboardCollection?A=rDe(o._labelCollection._billboardCollection):o._billboardCollection&&(A=rDe(o._billboardCollection))),A}};oc.prototype.resetAttributesTable=function(){this.lastEditedCell=null,this.attrTblDialogMemo=null};var Foe=oc;var Kh=null;function Noe(o,A){Kh=A,this.Viewer=o,this._core=new $i(o,A),this.colorTool=this._core.gradientColor()}Noe.prototype.CreateWfs=function(o,A){let f={},m,C;if(o==="point")if(A.sgStyleJSON)f=this.getSGStyle("point",A.sgStyleJSON,A.name);else{m=this.colorTool.colorRgb(this._core.defaultValue(A.color,"#ffffff"));var E=this.colorTool.colorRgb(this._core.defaultValue(A.bgColor,"#010101"));f={preLoad:A.preLoad,lineToGround:{defaultValue:A.lineToGround?A.lineToGroundLength?"2":"1":"0"},lineToGroundLength:{defaultValue:A.lineToGroundLength||0},lineToGroundColor:{defaultValue:{red:1,green:1,blue:1,alpha:1}},altitudeMethod:0,altitudeOffset:{defaultValue:"0"},clampToGround:this._core.defaultValue(A.clampToGround,!1),pointHeight:this._core.defaultValue(A.height,void 0)},A.text&&(A.offsetX&&(A.offsetX=parseInt(A.offsetX)),A.offsetY&&(A.offsetY=parseInt(A.offsetY)),f.label={text:{defaultValue:A.text},scaleMPP:{defaultValue:"15000"},fillColor:{defaultValue:{red:m[0]/255,green:m[1]/255,blue:m[2]/255,alpha:this._core.defaultValue(A.alpha,1)}},scaleByDistance:{near:150,nearValue:1,far:8e5,farValue:.5},minViewingHeight:{defaultValue:"0"},font:{defaultValue:"12"},family:{defaultValue:this._core.defaultValue(A.font,"Arial")},backgroundColor:{defaultValue:{red:E[0]/255,green:E[1]/255,blue:E[2]/255,alpha:this._core.defaultValue(A.alpha,1)}},scale:this._core.defaultValue(A.scale,2),backgroundOpacity:{defaultValue:A.bgColor?"0.5":"0"},italic:{defaultValue:A.italic?"1":"0"},bold:{defaultValue:A.bold?"1":"0"},limitGrowth:{defaultValue:"1"},textRelativeToImage:{defaultValue:"0"},showText:{defaultValue:"0"},textAlignment:{defaultValue:"17"},pixelOffset:new Kh.Cartesian2(this._core.defaultValue(A.offsetX,0),this._core.defaultValue(A.offsetY,A.image?-10:0)),outlineColor:Kh.Color.fromCssColorString(this._core.defaultValue(A.outlineColor,"#ffffff")),outlineWidth:this._core.defaultValue(A.outlineWidth,2),horizontalOrigin:Kh.HorizontalOrigin.CENTER,verticalOrigin:Kh.VerticalOrigin.BOTTOM,disableDepthTestDistance:A.disableDepthTestDistance==="Infinity"?Number.POSITIVE_INFINITY:A.disableDepthTestDistance}),A.outlineColor&&f.label&&(f.label.style=Kh.LabelStyle.FILL_AND_OUTLINE),A.image&&(f.billboard={image:A.image,scale:this._core.defaultValue(A.imageScale,1),disableDepthTestDistance:A.disableDepthTestDistance,horizontalOrigin:Kh.HorizontalOrigin.CENTER,verticalOrigin:Kh.VerticalOrigin.BOTTOM,link:A.link})}else o==="polyline"?A.sgStyleJSON?f=this.getSGStyle("polyline",A.sgStyleJSON,A.name):(m=this.colorTool.colorRgb(this._core.defaultValue(A.color,"#ffff00")),f={preLoad:A.preLoad,polyline:{material:{red:m[0]/255,green:m[1]/255,blue:m[2]/255,alpha:this._core.defaultValue(A.alpha,1)},outlineColor:Kh.Color.fromCssColorString(this._core.defaultValue(A.outlineColor,"#ffffff")),lineOpacity:this._core.defaultValue(A.alpha,1),outlineWidth:this._core.defaultValue(A.outlineWidth,0),width:this._core.defaultValue(A.width,4),clampToGround:this._core.defaultValue(A.clampToGround,!0),classificationType:A.classificationType,dash:A.dash,gapColor:A.gapColor&&Kh.Color.fromCssColorString(A.gapColor),dashLength:A.dashLength},height:A.height}):o==="polygon"&&(A.sgStyleJSON?f=this.getSGStyle("polygon",A.sgStyleJSON,A.name):(m=this.colorTool.colorRgb(this._core.defaultValue(A.color,"#6bbeef")),C=this.colorTool.colorRgb(this._core.defaultValue(A.outlineColor,"#ffffff")),f={preLoad:A.preLoad,pointHeight:this._core.defaultValue(A.pointHeight,void 0),polygon:{text:!!A.text,labelNear:A.labelNear,labelFar:A.labelFar,offsetPoint:A.offsetPoint,outlineColor:{defaultValue:{red:C[0]/255,green:C[1]/255,blue:C[2]/255,alpha:1}},outlineWidth:A.outlineWidth,fill:{defaultValue:this._core.defaultValue(A.alpha,1)},height:A.height,extrudedHeight:A.extrudedHeight,clampToGround:this._core.defaultValue(A.clampToGround,A.extrudedHeight===void 0&&A.height===void 0),classificationType:A.classificationType,water:A.water,bulidingWall:A.bulidingWall,bulidingWallWidth:A.bulidingWallWidth,randomColor:A.randomColor,colorConfig:A.colorConfig,outline:this._core.defaultValue(A.outline,!0),material:{defaultValue:{red:m[0]/255,green:m[1]/255,blue:m[2]/255,alpha:this._core.defaultValue(A.alpha,1)}},fromKml:!0}},A.text&&(f.label={style:Kh.LabelStyle.FILL_AND_OUTLINE,text:{defaultValue:A.text},scaleMPP:{defaultValue:"15000"},fillColor:{defaultValue:Kh.Color.fromCssColorString(this._core.defaultValue(A.labelColor||A.color,"#ffffff"))},scaleByDistance:{near:150,nearValue:1,far:8e5,farValue:.5},minViewingHeight:{defaultValue:"0"},font:{defaultValue:"12"},family:{defaultValue:this._core.defaultValue(A.font,"Arial")},backgroundColor:{defaultValue:{red:0,green:0,blue:0,alpha:0}},scale:this._core.defaultValue(A.scale,2),backgroundOpacity:{defaultValue:A.bgColor?"0.5":"0"},italic:{defaultValue:A.italic?"1":"0"},bold:{defaultValue:A.bold?"1":"0"},limitGrowth:{defaultValue:"1"},textRelativeToImage:{defaultValue:"0"},showText:{defaultValue:"0"},textAlignment:{defaultValue:"17"},pixelOffset:new Kh.Cartesian2(this._core.defaultValue(A.offsetX,0),this._core.defaultValue(A.offsetY,A.image?-10:0)),outlineColor:Kh.Color.fromCssColorString(this._core.defaultValue(A.labelOutlineColor||A.outlineColor,"#ffffff")),outlineWidth:this._core.defaultValue(A.scale,2),horizontalOrigin:Kh.HorizontalOrigin.CENTER,verticalOrigin:Kh.VerticalOrigin.BOTTOM,disableDepthTestDistance:A.disableDepthTestDistance==="Infinity"?Number.POSITIVE_INFINITY:A.disableDepthTestDistance})));if(!f&&A.sgStyleJSON){console.log(A.name+"\u83B7\u53D6\u6837\u5F0F\u5931\u8D25\uFF01");return}return f.position_x&&(A.lon=f.position_x,A.lat=f.position_y,A.height=f.position_z),new Foe(this.Viewer,this._core.defaultValue(A.urls,f.urls),this._core.defaultValue(A.layer,f.layer),{min:this._core.defaultValue(A.minimumLevel,f.minimumLevel||0),max:this._core.defaultValue(A.maximumLevel,f.maximumLevel||22)},f,this._core.defaultValue(A.layer,f.layer),A.pID||"0",A.checked,void 0,Kh)};Noe.prototype.getSGColor=function(o){let A=parseInt(o).toString(16);return A.length===2?A="0000"+A:A.length===4&&(A="00"+A),A="#"+A.slice(4)+A.slice(2,4)+A.slice(0,2),A};Noe.prototype.getSGStyle=function(o,A,f){let m;return $.ajax({url:A,async:!1,contentType:"application/json",success:C=>{C&&typeof C=="string"&&(C=JSON.parse(C));let E=C.filter(x=>x.LayerName===f);if(o==="point"){let x=E[0];E=x.Point,E.Line_Color=this.getSGColor(E.Line_Color),E.Image_Color=this.getSGColor(E.Image_Color),E.Text_Color=this.getSGColor(E.Text_Color),E.Background_Color=this.getSGColor(E.Background_Color);let y=this.colorTool.colorRgb(this._core.defaultValue(E.Text_Color,"#ffffff")),I=this.colorTool.colorRgb(this._core.defaultValue(E.Background_Color,"#010101"));m={label:{text:{defaultValue:this._core.defaultValue(E.Text.match(/<Value>(\S*)<\/Value>/)[1],E.Text.match(/<DefaultValue>(\S*)<\/DefaultValue>/)[1])},scaleMPP:{defaultValue:E.Scale},fillColor:{defaultValue:{red:y[0]/255,green:y[1]/255,blue:y[2]/255,alpha:1}},scaleByDistance:{near:0,nearValue:1,far:8e8,farValue:1},minViewingHeight:{defaultValue:"0"},font:{defaultValue:E.Text_Size},family:{defaultValue:this._core.defaultValue(E.Font,"Arial")},backgroundColor:{defaultValue:{red:I[0]/255,green:I[1]/255,blue:I[2]/255,alpha:1}},scale:this._core.defaultValue(E.TextScale,1.5),backgroundOpacity:{defaultValue:E.Background_Opacity},italic:{defaultValue:E.Italic},bold:{defaultValue:E.Bold},limitGrowth:{defaultValue:"1"},textRelativeToImage:{defaultValue:"0"},showText:{defaultValue:"0"},textAlignment:{defaultValue:"17"},pixelOffset:new Kh.Cartesian2(this._core.defaultValue(E.offsetX,0),this._core.defaultValue(E.offsetY,E.Image_file?-10:0)),outlineColor:Kh.Color.fromCssColorString(this._core.defaultValue(E.Line_Color,"#ffffff")),outlineWidth:this._core.defaultValue(E.outlineWidth,2),horizontalOrigin:Kh.HorizontalOrigin.CENTER,verticalOrigin:Kh.VerticalOrigin.BOTTOM},lineToGround:{defaultValue:E.Line_to_Ground},lineToGroundLength:{defaultValue:E.Line_Length},lineToGroundColor:{defaultValue:{red:1,green:1,blue:1,alpha:1}},altitudeMethod:0,altitudeOffset:{defaultValue:"0"},clampToGround:this._core.defaultValue(E.clampToGround,!0),pointHeight:this._core.defaultValue(E.pointHeight,void 0),minimumLevel:this._core.defaultValue(E.level_min,0),maximumLevel:this._core.defaultValue(E.level_max,22),position_x:x.position_x,position_y:x.position_y,position_z:x.position_z==0?1e4:x.position_z,urls:x.Server,layer:x.ServerName},E.Line_Color&&m.label&&(m.label.style=Kh.LabelStyle.FILL_AND_OUTLINE),E.Image_file&&(m.billboard={image:E.Image_file,scale:this._core.defaultValue(E.ImageScale,1),scaleMPP:{defaultValue:E.Scale},scaleByDistance:{near:0,nearValue:1,far:8e8,farValue:1},minViewingHeight:{defaultValue:"0"},verticalOrigin:Kh.VerticalOrigin.BOTTOM})}else if(o==="polyline"){let x=E[0];E=x.Line,E.Line_Color=this.getSGColor(E.Line_Color),E.Line_Width&&(E.Line_Width.length===2?E.Line_Width/=10:E.Line_Width.length===3&&(E.Line_Width/=100));let y=this.colorTool.colorRgb(this._core.defaultValue(E.Line_Color,"#ff0000"));m={polyline:{material:{red:y[0]/255,green:y[1]/255,blue:y[2]/255,alpha:1},lineOpacity:parseInt(this._core.defaultValue(E.Line_Opacity,1)),width:parseInt(this._core.defaultValue(E.Line_Width,4)),near:E.Near,far:E.Far,clampToGround:this._core.defaultValue(E.clampToGround,!0),classificationType:option.classificationType},minimumLevel:this._core.defaultValue(E.level_min,0),maximumLevel:this._core.defaultValue(E.level_max,22),position_x:x.position_x,position_y:x.position_y,position_z:x.position_z==0?1e4:x.position_z,urls:x.Server,layer:x.ServerName}}else if(o==="polygon"){let x=E[0];E=x.data,E.fill=Kh.Color.fromCssColorString(E.fill),E.outlineColor=Kh.Color.fromCssColorString(E.outlineColor),m={polygon:{outlineColor:{defaultValue:E.outlineColor},outlineWidth:E.outlineWidth,fill:{defaultValue:E.fill.alpha},extrudedHeight:E.extrudedHeight||0,height:E.height,outline:E.outline,material:{defaultValue:E.fill},clampToGround:!E.extrudedHeight,classificationType:option.classificationType,fromKml:!0},altitudeMethod:2,altitudeOffset:{defaultValue:"0"},minimumLevel:this._core.defaultValue(E.level_min,0),maximumLevel:this._core.defaultValue(E.level_max,22),position_x:x.position_x,position_y:x.position_y,position_z:x.position_z==0?1e4:x.position_z,urls:x.Server,layer:x.ServerName}}},error:()=>{console.log("\u83B7\u53D6\u6837\u5F0F\u914D\u7F6E\u5931\u8D25\uFF01")}}),m};var aDe=Noe;function _Mi(o=8,A=16){let f="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),m=[];if(A=A||f.length,o)for(let C=0;C<o;C++)m[C]=f[0|Math.random()*A];else{m[8]=m[13]=m[18]=m[23]="-",m[14]="4";for(let C=0,E;C<36;C++)m[C]||(E=0|Math.random()*16,m[C]=f[C==19?E&3|8:E])}return m.join("")}var sDe=_Mi;var Bf=null;function wQ(o,A={},f){Bf=f,this._viewer=o,this._cache={},this.timeout=null,this.option={id:sDe(),size:18,pixelRange:40,gradient:{1e-4:"rgb(0,191,255)",.001:"rgb(0,128,0)",.01:"rgb(255,165,0)",.1:"rgb(255,0,0)"},fontSize:12,horizontalOrigin:Bf.HorizontalOrigin.CENTER,verticalOrigin:Bf.VerticalOrigin.BOTTOM,fontColor:"rgb(0,0,0)",style:"circle",...A};for(let C in this.option.gradient)this.option.gradient[C]=Bf.Color.fromCssColorString(this.option.gradient[C]);this.editHandler=new Bf.ScreenSpaceEventHandler(o.scene.canvas),this.dataSource=new Bf.CustomDataSource(this.option.id),this.dataSource.clustering.enabled=!1,this.dataSource.clustering.pixelRange=this.option.pixelRange,this.dataSource.clustering.clusterEvent.addEventListener(this._clusterEventHandler,this),this._viewer.dataSources.add(this.dataSource),console.log(this.dataSource),this.readyCanvas();let m=this;this.editHandler.setInputAction(C=>{m.timeout||(m.timeout=setTimeout(function(){m.dataSource._entityCluster._cluster(),m.timeout=null},250))},Bf.ScreenSpaceEventType.WHEEL),this.editHandler.setInputAction(C=>{m.timeout||(m.timeout=setTimeout(function(){m.dataSource._entityCluster._cluster(),m.timeout=null},250))},Bf.ScreenSpaceEventType.LEFT_UP),this.editHandler.setInputAction(C=>{m.timeout||(m.timeout=setTimeout(function(){m.dataSource._entityCluster._cluster(),m.timeout=null},250))},Bf.ScreenSpaceEventType.RIGHT_UP),this.editHandler.setInputAction(C=>{m.timeout||(m.timeout=setTimeout(function(){m.dataSource._entityCluster._cluster(),m.timeout=null},250))},Bf.ScreenSpaceEventType.MIDDLE_UP),setTimeout(()=>{m.dataSource.clustering.enabled=!0},1500)}wQ.prototype.add=function(o,A={}){let f={id:A.id||sDe(),name:A.name,position:Bf.Cartesian3.fromDegrees(o.lon,o.lat,o.height)};return A.label&&(f.label={show:!0,outlineWidth:Bf.defaultValue(A.label.outlineWidth,2),font:Bf.defaultValue(A.label.font,"12pt monospace"),style:Bf.defaultValue(A.label.style,Bf.LabelStyle.FILL_AND_OUTLINE),verticalOrigin:Bf.defaultValue(A.label.verticalOrigin,Bf.VerticalOrigin.BOTTOM),pixelOffset:Bf.defaultValue(A.label.pixelOffset,new Bf.Cartesian2(0,-20)),...A.label}),A.billboard&&(f.billboard={image:A.billboard.image,scale:A.billboard.scale||1,horizontalOrigin:A.billboard.horizontalOrigin||Bf.HorizontalOrigin.CENTER,verticalOrigin:A.billboard.verticalOrigin||Bf.VerticalOrigin.BOTTOM,disableDepthTestDistance:A.billboard.disableDepthTestDistance||Number.POSITIVE_INFINITY,...A.billboard}),this.dataSource.entities.add(f)};wQ.prototype._drawCircle=function(o,A){let f=A.length,m=this.option.size*(f+1),C=o.toCssColorString()+"-"+A,E=m/2-f*this.option.fontSize/3,x=(m+this.option.fontSize)/2;if(!this._cache[C]){let y=document.createElement("canvas");y.width=m,y.height=m;let I=y.getContext("2d");I.save(),I.scale(m/24,m/24),I.fillStyle=o.withAlpha(.2).toCssColorString(),I.beginPath(),I.arc(12,12,9,0,2*Math.PI),I.closePath(),I.fill(),I.beginPath(),I.arc(12,12,6,0,2*Math.PI),I.fillStyle=o.toCssColorString(),I.fill(),I.closePath(),I.restore(),I.font=`bold ${this.option.fontSize}px sans-serif`,I.fillStyle=this.option.fontColor,I.fillText(A,E,x),this._cache[C]=y.toDataURL()}return this._cache[C]};wQ.prototype._drawClustering=function(o,A){let f=A.length,m=this.option.size*(f+1),C=o.toCssColorString()+"-"+A;if(this._cache[C])return this._cache[C];let E=document.createElement("canvas");E.width=m,E.height=m;let x=E.getContext("2d"),y=m/24,I=m/2-f*this.option.fontSize/3,v=(m+this.option.fontSize)/2,B=-Math.PI/12,Q=Math.PI/2,T=Math.PI/6;x.save(),x.scale(y,y),x.beginPath(),x.arc(12,12,6,0,2*Math.PI),x.fillStyle=o.toCssColorString(),x.fill(),x.closePath(),x.lineWidth=2;for(let w=0;w<3;w++)x.beginPath(),x.arc(12,12,8,B,B+Q,!1),x.strokeStyle=o.withAlpha(.4).toCssColorString(),x.stroke(),x.arc(12,12,11,B,B+Q,!1),x.strokeStyle=o.withAlpha(.2).toCssColorString(),x.stroke(),x.closePath(),B=B+Q+T;return x.restore(),x.font=`bold ${this.option.fontSize}px sans-serif`,x.fillStyle=this.option.fontColor,x.fillText(A,I,v),this._cache[C]=E.toDataURL(),E.toDataURL()};wQ.prototype._clusterEventHandler=function(o,A){if(!this.dataSource.clustering.enabled){this._cache={};return}if(A.billboard.show=!0,A.label.show=!1,A.billboard.disableDepthTestDistance=Number.POSITIVE_INFINITY,this.dataSource.entities.values.length){let f=this.dataSource.entities.values.length||0;for(let m in this.option.gradient)if(o.length>=f*m){let C=String(o.length);this.option.style==="circle"?A.billboard.image=this._drawCircle(this.option.gradient[m],C):A.billboard.image=this._drawClustering(this.option.gradient[m],C)}}};wQ.prototype.readyCanvas=function(){for(let o=0;o<=100;o++)for(let A in this.option.gradient){let f=String(o);this.option.style==="circle"?this._drawCircle(this.option.gradient[A],f):this._drawClustering(this.option.gradient[A],f)}};wQ.prototype.clear=function(){this.dataSource.entities.removeAll(),this._cache={}};wQ.prototype.setVisibility=function(o){this.dataSource&&(this.dataSource.show=o)};wQ.prototype.deleteObject=function(){this.clear(),this._viewer.dataSources.remove(this.dataSource),Bf.destroyObject(this)};Object.defineProperties(wQ.prototype,{enableCluster:{set:function(o){this.dataSource.clustering.enabled=o},get:function(){return this.dataSource.clustering.enabled}}});var vMi=wQ;function BMi(o=0,A=0,f=0){this.lon=o,this.lat=A,this.height=f}var wMi=BMi;var Hat={draw_tip_left:"\u5DE6\u952E\u5F00\u59CB\u7ED8\u5236\uFF01",draw_tip_right:"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236\uFF01",draw_tip_click:"\u70B9\u51FB\u7EE7\u7EED\u7ED8\u5236\uFF01",draw_tip_cancel:"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF0C\u53F3\u952E\u53D6\u6D88\uFF01",draw_tip_first_point:"\u70B9\u51FB\u6DFB\u52A0\u7B2C\u4E00\u4E2A\u70B9",draw_tip_state:"\u70B9\u51FB\u6DFB\u52A0\u70B9\uFF0C\u53F3\u952E\u7ED3\u675F",draw_tip_info_radius:"\u534A\u5F84",unit_m:"\u7C73",unit_km:"\u5343\u7C73"};function koe(o){this._core=new $i,this._lang=this._core.extend(Hat,o,!0)}koe.prototype.getStr=function(o){return this._lang[o]};koe.prototype.set=function(o){this._lang=this._core.extend(Hat,o,!0)};koe.prototype.get=function(){return this._lang};var Vat=koe;function ak(o,A,f){let m=new Ep(!1);this._core=new $i(o._Viewer,f.Cesium),this.left=o,this.leftContainer=o._Viewer.container,this.leftContainer.style.width="50%",this.parentElement=this.leftContainer.parentElement,this._SmartEarth=f||null,this.createRightScreen(A),this.addEvenListener()}ak.prototype.createRightScreen=function(o){this.rightContainer=document.createElement("div"),this.rightContainer.id="SDKSecondaryScreen",this.rightContainer.style.cssText=` height: 100%; flex: 1; position: relative; `,this.parentElement.append(this.rightContainer),this.defaultStyle={display:this.parentElement.style.display,flexDirection:this.parentElement.style.flexDirection,flex:this.parentElement.style.flex},this.parentElement.style.display="flex",this.parentElement.style.flexDirection="row",this.parentElement.style.flex=1,this.right=new this._SmartEarth.EarthCtrl("SDKSecondaryScreen",o),this.right.camera.stop(),this.leftEvenListener()};ak.prototype.leftEvenListener=function(){this.right._Viewer.camera.setView({destination:this.left._Viewer.camera.position.clone(),orientation:{heading:this.left._Viewer.camera.heading,pitch:this.left._Viewer.camera.pitch,roll:this.left._Viewer.camera.roll}})};ak.prototype.rightEvenListener=function(){this.left._Viewer.camera.setView({destination:this.right._Viewer.camera.position.clone(),orientation:{heading:this.right._Viewer.camera.heading,pitch:this.right._Viewer.camera.pitch,roll:this.right._Viewer.camera.roll}})};var PT,RT;ak.prototype.addEvenListener=function(){this.leftContainer.onmouseover=()=>{PT||(PT=this.leftEvenListener.bind(this),this.left._Viewer.scene.preRender.addEventListener(PT)),RT&&this.right._Viewer.scene.preRender.removeEventListener(RT),RT=null},this.rightContainer.onmouseover=()=>{RT||(RT=this.rightEvenListener.bind(this),this.right._Viewer.scene.preRender.addEventListener(RT)),PT&&this.left._Viewer.scene.preRender.removeEventListener(PT),PT=null}};ak.prototype.removeEvenListener=function(){this.leftContainer.onmouseover=null,this.rightContainer.onmouseover=null,RT&&this.right._Viewer.scene.preRender.removeEventListener(RT),PT&&this.left._Viewer.scene.preRender.removeEventListener(PT),RT=null,PT=null};ak.prototype.destroy=function(){this.removeEvenListener(),this.rightContainer.remove(),this.left=null,this.right=null,this.parentElement.style.display=this.defaultStyle.display,this.parentElement.style.flexDirection=this.defaultStyle.flexDirection,this.parentElement.style.flex=this.defaultStyle.flex,this.leftContainer.style.width="100%"};var bMi=ak;function Vw(o,A){this._viewer=o,this.Cesium=A,this.czmlData=new Map}Vw.prototype.get=function(o){return this.czmlData.get(o)};Vw.prototype.flyTo=function(o){this._viewer.flyTo(this.get(o))};Vw.prototype.trackedEntity=function(o){let A=this.get(o);this._viewer.trackedEntity=A.entities.getById(o)};Vw.prototype.delete=function(o){let A=this.czmlData.get(o);this._viewer.dataSources.remove(A),this.czmlData.delete(o)};Vw.prototype.deleteAll=function(){for(let o of this.czmlData.values())this._viewer.dataSources.remove(o);this.czmlData=new Map};Vw.prototype.getThisPlayTime=function(){let o=this._viewer.clock.currentTime.secondsOfDay,A=this._viewer.clock.startTime.secondsOfDay;return o-A};Vw.prototype.init=function(o,A,f={}){let m={gltf:f.modelUrl||"http://183.162.245.49:18076/sdkdemo_2022/SmartEarthSDK/Workers/Model/xiaoche.glb",runAnimations:!0,scale:f.modelScale||1,minimumPixelSize:f.minimumPixelSize},C=[{id:"document",name:"czmlPathAnimation",version:"1.0",clock:{interval:"2021-01-01T00:00:00Z/2021-01-02T00:00:00Z",currentTime:"2021-01-01T00:00:00Z",multiplier:1}}],E=this.getThisPlayTime(),x={lon:A.lon,lat:A.lat,height:A.alt||A.height||0};C.push({path:{show:f.showPath===void 0?!1:f.showPath,leadTime:0,trailTime:1e5,width:this.Cesium.defaultValue(f.pathWidth,3),resolution:1,material:{polylineGlow:{glowPower:.3,taperPower:1,color:{rgba:f.color||[255,255,0,255]}}}},id:o,position:{interpolationAlgorithm:"LINEAR",interpolationDegree:1,forwardExtrapolationType:"HOLD",backwardExtrapolationType:"HOLD",epoch:"2021-01-01T00:00:00Z",cartographicDegrees:[E,x.lon,x.lat,x.height,86400,x.lon,x.lat,x.height]},orientation:{velocityReference:"#position"},model:m});let y=new this.Cesium.CzmlDataSource;return this._viewer.dataSources.add(y),y.prePosition=x,this.czmlData.set(o,y),y.process(C).then(I=>{let v=I.entities.getById(o);v.propData=f.propData,this._viewer.clock.currentTime=this.Cesium.JulianDate.addSeconds(this._viewer.clock.startTime.clone(),E,new this.Cesium.JulianDate),f.callback&&f.callback(y)}),y};Vw.prototype.update=function(o,A,f=1){let m=this.get(o),C=this.getThisPlayTime(),E={lon:A.lon,lat:A.lat,height:A.alt||A.height||0},x={lon:E.lon-m.prePosition.lon,lat:E.lat-m.prePosition.lat,height:E.height-m.prePosition.height},y=[{id:o,position:{epoch:"2021-01-01T00:00:00Z",cartographicDegrees:[C+f,E.lon,E.lat,E.height,86400,E.lon+x.lon,E.lat+x.lat,E.height+x.height]}}];m.prePosition=E,m&&m.process(y)};Vw.prototype.pick=function(o){this.endPick(),this.pickHandler=new this.Cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);let A;this.pickHandler.setInputAction(f=>{A=this._viewer.scene.pick(f.endPosition),A&&A.id&&this.get(A.id.id)&&o&&o(A)},this.Cesium.ScreenSpaceEventType.LEFT_CLICK)};Vw.prototype.endPick=function(){this.pickHandler.destroy(),this.pickHandler=void 0};var zat=Vw;var U8=null;function zw(o,A={},f){U8=f||window.Cesium,this.sgworld=o,this.contourUniforms=void 0,this.shadingUniforms=void 0,this.min={elevation:10,slope:0},this.max={elevation:2e3,slope:70},this.width=A.width||2,this.spacing=A.spacing||150,this.tf=!1,this.contourColor=A.contourColor||"#ff0000",this.type="none",this.Contour=void 0,this.startColor=A.startColor||"#0055ff",this.endColor=A.endColor||"#ff0000",this.colorArr=this.sgworld.core.gradientColor(this.startColor,this.endColor,7),this.changeSlopeColor=A.changeSlopeColor!==void 0?A.changeSlopeColor:!1}zw.prototype.render=function(){this.type==="slope"?(U8.ExpandBySmartEarth.displaySlopeMap=!0,this.changeSlopeColor&&this.setShopeColor()):U8.ExpandBySmartEarth.displaySlopeMap=!1,this.Contour=this.sgworld.analysis.createElevationContour(this.tf,this.type==="slope"?"none":this.type,{colorArr:this.colorArr,min:this.min[this.type],max:this.max[this.type],width:this.width,spacing:this.spacing,lineColor:this.contourColor}),this.shadingUniforms=this.Contour.item.shadingUniforms,this.contourUniforms=this.Contour.item.contourUniforms};zw.prototype.setContourColor=function(o){this.contourColor=o,this.Contour&&this.Contour.setMaterialColor(this.contourColor)};zw.prototype.setShopeColor=function(){let o=[],A=[0,6,17,31,45,70,90];this.colorArr.forEach((f,m)=>{o.unshift({val:100*Math.cos(U8.Math.toRadians(A[m])),color:f})}),U8.ExpandBySmartEarth.SlopeMapPallete=o,U8.ExpandBySmartEarth.isSlopeDirty=!0};zw.prototype.setWidth=function(o){this.width=o,this.Contour&&this.Contour.setWidth(this.width)};zw.prototype.setSpacing=function(o){this.spacing=o,this.Contour&&this.Contour.setSpacing(this.spacing)};zw.prototype.setStartColor=function(o){this.startColor=o,this.colorArr=this.sgworld.core.gradientColor(this.startColor,this.endColor,7),this.render()};zw.prototype.setEndColor=function(o){this.endColor=o,this.colorArr=this.sgworld.core.gradientColor(this.startColor,this.endColor,7),this.render()};zw.prototype.setMin=function(o){this.min[this.type]=o,this.type==="elevation"?this.shadingUniforms.minimumHeight=this.min[this.type]:this.render()};zw.prototype.setMax=function(o){this.max[this.type]=o,this.type==="elevation"?this.shadingUniforms.maximumHeight=this.max[this.type]:this.render()};zw.prototype.reset=function(){this.contourColor="#ff0000",this.startColor="#0055ff",this.endColor="#ff0000",this.colorArr=this.sgworld.core.gradientColor(this.startColor,this.endColor,7),this.render()};var QMi=zw;Fw.prototype.getRenderedBestLevelInfo=function(){let o=this.getRenderedLevelInfo(),A=0;for(let f in o)A<Number(f)&&(A=Number(f));return{bestLevel:A,count:o[A]}};Fw.prototype.getRenderedLevelInfo=function(){let o=[];return this._tilesToRender.forEach(function(A){o[A.level]===void 0&&(o[A.level]=0),o[A.level]++}),o};function SMi(o,A,f){let m=Mc();function C(E){o.ready?Promise.resolve(Jat(o,A,E)).then(function(x){m.resolve(x)}):setTimeout(C,10)}return XA.typeOf.object("terrainProvider",o),XA.defined("positions",A),C(f),m.promise}function DMi(o,A){for(let f=0;f<o.children.length;f++)if(o.children[f].state>=Hh.DONE&&(o.children[f].data.terrainData._mesh!==void 0||o.children[f].data.terrainData._buffer!==void 0)&&o.children[f].x===A.x&&o.children[f].y===A.y)return o.children[f]}function TMi(o,A,f){let m=o.tilingScheme,C=m.positionToTileXY(A,0),E=f.scene.globe._surface.tileProvider.quadtree._levelZeroTiles,x=E[0].x===C.x&&E[0].y===C.y?E[0]:E[1];for(let y=1;y<22;y++){C=m.positionToTileXY(A,y);let I=DMi(x,C);if(I===void 0)break;x=I}return x}function MMi(o,A){XA.defined("positions",o);let f=Mc();return Promise.resolve(Yat(o,A)).then(function(m){f.resolve(m)}),f.promise}function Yat(o,A,f){let m;for(m=0;m<o.length;++m){let C=o[m],E=C instanceof Rt,x=E?C:Rt.fromCartesian(C);if(x.height=65535,!E){let y=Z.fromRadiansArrayHeights([x.longitude,x.latitude,x.height])[0];C.z=y.z}}return o}function Jat(o,A,f){let m;for(m=0;m<A.length;++m){let C=A[m],E=TMi(o,C,f);C.height=E.data.terrainData.interpolateHeight(E.rectangle,C.longitude,C.latitude)}return A}function sk(o){this.value=new Float32Array([o])}sk.fromZBias=function(o){if(!O(o))throw new Ai("zbias is required.");return new sk(o)};sk.toValue=function(o,A){if(!O(o))throw new Ai("zbias is required.");return O(A)?color.toBytes(A):new Float32Array(o)};sk.equals=function(o,A){return o===A||O(o)&&O(A)&&o.value[0]===A.value[0]};sk.defaultBias=function(){return sk.fromZBias(15e-6)};var HHi=sk,hK={TERRAIN:2,MESH:4,FLOOR:8},kat=function(o){return o===void 0&&(o=0),new Z(.001234321,0,o)},tDe=function(o,A,f){let m={TERRAIN:2,MESH:4,FLOOR:8};A===void 0&&(A=m.TERRAIN|m.MESH);let C=Mc(),E=[];A>m.TERRAIN?o.forEach(function(I){E.push(Rt.fromRadians(I.longitude,I.latitude,I.height))}):E=o;let x=[];A&m.TERRAIN&&x.push(SMi(f.terrainProvider,o,f));let y=(A&m.FLOOR)>0;return A&(m.MESH|m.FLOOR)&&x.push(MMi(E,y)),Promise.all(x).then(function(I){if(x.length>1)for(let v=0;v<o.length;v++){let B=I[0][v],Q=I[1][v];Q.height!==65535&&(B.height<Q.height||y)&&(B.height=Q.height)}C.resolve(I[0])}),C.promise},VHi=function(o,A){XA.defined("positions",o);let f=Mc();return Promise.resolve(Yat(o,A)).then(function(m){f.resolve(m)}),f.promise},zHi=function(o,A){let f=Mc();function m(){o.ready?Promise.resolve(Jat(o,A)).then(function(C){f.resolve(C)}):setTimeout(m,10)}return XA.typeOf.object("terrainProvider",o),XA.defined("positions",A),m(),f.promise},YHi=Cr?.fetchText,JHi=Cr?.fetchJson,KHi=Cr?.fetchBlob,WHi=Cr?.fetchArrayBuffer,jHi=Cr?.fetchImage;globalThis.SmartEarthPopupData={};function Kat(){new Ep(!1).addJs(document.body,`${globalThis.SmartEarthRootUrl}Workers/layui/lay/modules/layer.js`),globalThis.layuiLayer=globalThis.layer}globalThis.language=new Vat;var PMi=function(o){let A=new Array;A.remove=function(f){if(isNaN(f)||f>this.length)return!1;this.splice(f,1)},A.clear=function(f){for(let m=0;m<A.length;m++)(!f||A[m].o===f&&A[m].f)&&A.remove(m)},this.addEventHandler=function(f,m){for(let C=0;C<A.length;C++){if(A[C].o===f&&A[C].f===m)return;A.push({o:f,f:m})}A.length===0&&A.push({o:f,f:m})},this.removeEventHandler=function(f,m){for(let C=0;C<A.length;C++)A[C].o===f&&A[C].f===m&&A.remove(C)},this.clearEventHandler=function(f){A.clear(f)},this.notifyEvent=function(f,m,C){for(let E=0;E<A.length;E++)A[E].f(f,A[E].o,m,C)}},lk=PMi;function TR(o){let A=Z.fromDegrees(o._longitude,o._latitude,o._altitude),f=new bs(o._heading*Math.PI/180,o._pitch*Math.PI/180,o._roll*Math.PI/180),m=kr.localFrameToFixedFrameGenerator("north","west");o._modelMatrix=kr.headingPitchRollToFixedFrame(A,f,Ci.WGS84,m,o._modelMatrix)}var Ooe=class{constructor(){this._longitude=0,this._latitude=0,this._altitude=0,this._heading=0,this._pitch=0,this._roll=0,this._batchUpdate=!1,this._modelMatrix=new Re}createFromWgs84(A,f,m,C,E,x){this._longitude=oe(A,0),this._latitude=oe(f,0),this._altitude=oe(m,0),this._heading=oe(C,0),this._pitch=oe(E,0),this._roll=oe(x,0),TR(this),this._batchUpdate=!1}beginUpdate(){this._batchUpdate=!0}endUpdate(){this._batchUpdate===!0&&(TR(this),this._batchUpdate=!1)}};Object.defineProperties(Ooe.prototype,{modelMatrix:{get:function(){return this._modelMatrix},set:function(o){this._modelMatrix=o}},longitude:{get:function(){return this._longitude},set:function(o){this._longitude=o,this._batchUpdate||TR(this)}},latitude:{get:function(){return this._latitude},set:function(o){this._latitude=o,this._batchUpdate||TR(this)}},altitude:{get:function(){return this._altitude},set:function(o){this._altitude=o,this._batchUpdate||TR(this)}},heading:{get:function(){return this._heading},set:function(o){this._heading=o,this._batchUpdate||TR(this)}},pitch:{get:function(){return this._pitch},set:function(o){this._pitch=o,this._batchUpdate||TR(this)}},roll:{get:function(){return this._roll},set:function(o){this._roll=o,this._batchUpdate||TR(this)}}});var gK=Ooe;function RMi(o){return document.querySelector(o)}function CA(o,A){let f=RMi(o);if(f){if(A.nodeType===1||A.nodeType===11||A.nodeType===9)f.appendChild(A);else if(typeof A=="string"){let m=document.createElement("div");m.innerHTML=A,f.appendChild(m)}}else console.error(`no selector named ${o}`)}function pK(o,A){this.earthCtrl=o,this.coreMap=o.coreMap,this._parameter=A,this.tooltip=null,this.style=null,this._show=!1,this._showAt=null,this._x=null,this._y=null,this._color=null,this.id=null,this.initialize()}pK.prototype.initialize=function(){let o=this._parameter;o&&o.style&&typeof o.style=="object"&&(this.style=o.style),this.style&&this.style.origin?(this.style.origin==="center"&&(this._x=15,this._y=-12),this.style.origin==="top"&&(this._x=15,this._y=-44),this.style.origin==="bottom"&&(this._x=15,this._y=20)):(this._x=15,this._y=20),this.style&&this.style.color?(this.style.color==="white"&&(this._color="background: rgba(255, 255, 255, 0.8);color: black;"),this.style.color==="black"&&(this._color="background: rgba(0, 0, 0, 0.5);color: white;"),this.style.color==="yellow"&&(this._color="color: black;background-color: #ffcc33;border: 1px solid white;")):this._color="background: rgba(0, 0, 0, 0.5);color: white;",this.style&&this.style.id?this.id=`toolTip${this.style.id}`:this.id="toolTip";let A=document.getElementById(this.id);if(!A){let f=document.createElement("div");CA(".map-widget",f);let m=`<div id="${this.id}" style="display: none;pointer-events: none;position: absolute;z-index: 1000;opacity: 0.8;border-radius: 4px;padding: 4px 8px;white-space: nowrap;font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px;${this._color}"></div>`;CA(".map-widget",m),A=document.getElementById(this.id)}o&&o.show?(A.innerHTML=this.style.html,A.style.left=`${this.style.position.x+this._x}px`,A.style.top=`${this.style.position.y+this._y}px`,A.style.display="block"):A.style.display="none",this.tooltip=A,this.showAts()};pK.prototype.showFun=function(o){o?this.tooltip.style.display="block":this.tooltip.style.display="none"};pK.prototype.showAts=function(o){o||(o={text:"\u8BF7\u521B\u5EFA\u63D0\u793A\u5185\u5BB9",position:{x:500,y:500}}),this.tooltip.innerHTML=o.text,this.style&&this.style.origin?(this.style.origin==="center"&&(this._x=15,this._y=-this.tooltip.offsetHeight/2),this.style.origin==="top"&&(this._x=15,this._y=-this.tooltip.offsetHeight-20),this.style.origin==="bottom"&&(this._x=15,this._y=20)):(this._x=15,this._y=-this.tooltip.offsetHeight/2),this.tooltip.style.left=`${o.position.x+this._x}px`,this.tooltip.style.top=`${o.position.y+this._y}px`,this.tooltip.style.display="block"};Object.defineProperties(pK.prototype,{show:{get:function(){return this._show},set:function(o){o&&(this.showFun(o),this._show=o)}},showAt:{get:function(){return this._showAt},set:function(o){o&&(this.showAts(o),this._showAt=o)}}});var Wat=pK;function lDe(o,A,f){if(o&&A){o[0]!=="#"&&(o=this.colorHex(o)),A[0]!=="#"&&(A=this.colorHex(A));let m=this.colorRgb(o),C=m[0],E=m[1],x=m[2],y=this.colorRgb(A),I=y[0],v=y[1],B=y[2],Q=(I-C)/f,T=(v-E)/f,w=(B-x)/f,S=[];for(let D=0;D<f;D++){let R=this.colorHex(`rgb(${parseInt(Q*D+C)},${parseInt(T*D+E)},${parseInt(w*D+x)})`);S.push(R)}return S}return this}lDe.prototype.colorRgb=function(o){let A,f=/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;if(o=o.toLowerCase(),o&&f.test(o)){if(o.length===4){let C="#";for(A=1;A<4;A+=1)C+=o.slice(A,A+1).concat(o.slice(A,A+1));o=C}let m=[];for(A=1;A<7;A+=2)m.push(parseInt(`0x${o.slice(A,A+2)}`));return m}return o};lDe.prototype.colorHex=function(o){let A,f=o,m=/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;if(/^(rgb|RGB)/.test(f)){let C=f.replace(/(rgb|RGB)*/g,"");C=C.replace("(","").replace(")","");let E=C.split(","),x="#";for(A=0;A<E.length;A++){let y=Number(E[A]).toString(16);y=y.length===1?`${0}${y}`:y,y==="0"&&(y+=y),x+=y}return x.length!==7&&(x=f),x}else if(m.test(f)){let C=f.replace(/#/,"").split("");if(C.length===6)return f;if(C.length===3){let E="#";for(A=0;A<C.length;A+=1)E+=C[A]+C[A];return E}}else return f};var jat=lDe;function wf(o){this.earthCtrl=o,this._sgCore=new $i(o.viewer,Di)}Object.defineProperties(wf.prototype,{inner:{get:function(){return this._sgCore}}});wf.prototype.getOffsetTilingScheme=function(o){return this._sgCore.getOffsetTilingScheme(o)};wf.prototype.addPickStage=function(o,A){return this._sgCore.addPickStage(o,A)};wf.prototype.extend=function(o,A,f=!1,m=!1){return this._sgCore.extend(o,A,f,m)};wf.prototype.xhr=function(o){this._sgCore.xhr(o)};wf.prototype.gradientColor=function(o,A,f){return this._sgCore.gradientColor()};wf.prototype.createTooltip=function(o){return new Wat(this.earthCtrl,o)};wf.prototype.mouse=function(o,A,f){A===1?o.style.cursor=`url(${f}),auto`:o.style.cursor="default"};wf.prototype.activeTool=function(o){this.tools.hasOwnProperty(o)&&this.tools[o].onActive()};wf.prototype.deactiveTool=function(o){this.tools.hasOwnProperty(o)&&this.tools[o].onDeactive()};wf.prototype.deactiveAllTool=function(){for(let o in this.tools)this.tools.hasOwnProperty(o)&&o.onDeactive()};wf.prototype.clearResult=function(){let o=this;for(let A in o.tools)o.tools.hasOwnProperty(A)&&o.tools[A].clearResult()};wf.prototype.uuid=function(o,A){let f="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),m=[],C;if(A=A||f.length,o)for(C=0;C<o;C++)m[C]=f[0|Math.random()*A];else{let E;for(m[8]=m[13]=m[18]=m[23]="-",m[14]="4",C=0;C<36;C++)m[C]||(E=0|Math.random()*16,m[C]=f[C===19?E&3|8:E])}return m.join("")};wf.prototype.clearTool=function(){let o=this;for(let A in o.tools)if(o.tools.hasOwnProperty(A)){let f=o.tools[A];f.onDeactive(),f.destory()}this.tools={}};wf.prototype.gradientColor=function(o,A,f){return new jat(o,A,f)};wf.prototype.toDegrees=function(o){let A=Rt.fromCartesian(o);return{lon:Be.toDegrees(A.longitude),lat:Be.toDegrees(A.latitude),height:A.height}};wf.prototype.getCenterOfMass=function(o){let A=[],f=0;if(o[0].x){let E;o.forEach(x=>{E=this.toDegrees(x),A.push([E.lon,E.lat]),f+=E.height})}else o[0].lon?o.forEach(E=>{A.push([E.lon,E.lat]),f+=E.height||0}):Array.isArray(o[0])&&(A=o,o.forEach(E=>{f+=E[2]||0}));let m=Ho.polygon([A]),C=Ho.pointOnFeature(m);return f/=o.length,C.geometry.coordinates[2]=f,C.geometry.coordinates};wf.prototype.openLocalFile=function(o){return this._sgCore.openLocalFile(o)};wf.prototype.openShapeFile=function(o,A){return this._sgCore.openShapeFile(o,A)};wf.prototype.trackedEntity=function(o,A,f={}){return this._sgCore.trackedEntity(o,A,f={})};wf.prototype.LineInterpolation=function(o,A){return this._sgCore.LineInterpolation(o,A)};var bQ=wf;var Uoe=class{constructor(A){this._earthCtrl=null,this._coreMap=null,this._name="",this._id="",this._userId="",this._rtti="BaseObject",this._earthCtrl=A,this._coreMap=A.coreMap}finalize(){}addToMap(){}removeFromMap(){}};Object.defineProperties(Uoe.prototype,{id:{get:function(){return this._id},set:function(o){this._id=o}},name:{get:function(){return this._name},set:function(o){this._name=o}},userId:{get:function(){return this._userId},set:function(o){this._userId=o}},rtti:{get:function(){return this._rtti}}});var $f=Uoe;var Goe=class extends $f{constructor(A){super(A),this.mCoreMap=A.coreMap,this._childNodes=[],this._childNodeMap={},this._show=!0,this._parentNode=null}finalize(){this._parentNode=null,this._childNodes=[],this._childNodeMap={}}getChildCount(){return this._childNodes.length}getChildById(A){return this._childNodeMap.hasOwnProperty(A)?this._childNodeMap[A]:null}getChildByName(A){for(let f in this._childNodeMap)if(this._childNodeMap[f].name===A)return this._childNodeMap[f];return null}getChildByIndex(A){return this._childNodes[A]}addChild(A){return this._childNodeMap.hasOwnProperty(A.id)?!1:(A.parentNode=this,this._childNodes.push(A),this._childNodeMap[A.id]=A,!0)}removeChildById(A){if(!this._childNodeMap.hasOwnProperty(A))return!1;this._childNodeMap[A].parentNode=null,delete this._childNodeMap[A];for(let f=0;f<this._childNodes.length;f++)if(this._childNodes[f].id===A){this.childNodes.splice(f,1);break}return!0}removeChild(A){return this.removeChildById(A.id)}removeChildByIndex(A){let f=this._childNodes[A];return this.removeChild(f)}removeAll(){this._childNodes=[],this._childNodeMap={}}};Object.defineProperties(Goe.prototype,{parentNode:{get:function(){return this._parentNode},set:function(o){this._parentNode=o}},childNodes:{get:function(){return this._childNodes}},show:{get:function(){return this._show},set:function(o){this._show=o}}});var G8=Goe;var uDe=class{constructor(A,f,m){this.mEarthCtrl=null,this.mCoreMap=null,this.name="Tool",this.mEnable=!0,this.mLeftButtonDown=!1,this.mMidButtonDown=!1,this.mRightButtonDown=!1,this.mShiftDown=!1,this.mCtrlDown=!1,this.mAltDown=!1,this.mLeftButtonDrag=!1,this.mMidButtonDrag=!1,this.mRightButtonDrag=!1,this.mLastMouseDownTime=0,this.mCallback=null,this.mEarthCtrl=A,this.mCoreMap=A.coreMap,this.mCallback=f,this.mEnable=m!==void 0?m:!0,this.mRenderObjectSet={},this.position=new rt,this.startPosition=new rt,this.endPosition=new rt}destory(){}clearResult(){}onActive(){this.mEnable=!0}onDeactive(){this.mEnable=!1,O(this.mPoly)&&this.mPoly.destory()}onInputMessage(A){if(this.mEnable===!1)return;function f(m,C){switch(O(m.position)&&(C.position=rt.fromElements(m.position.x,m.position.y,C.position)),O(m.startPosition)&&(C.startPosition=rt.fromElements(m.startPosition.x,m.startPosition.y,C.startPosition)),O(m.endPosition)&&(C.endPosition=rt.fromElements(m.endPosition.x,m.endPosition.y,C.endPosition)),m.type){case si.LEFT_DOWN:C.onLButtonDown(C.position);break;case si.LEFT_UP:C.onLButtonUp(C.position);break;case si.LEFT_DOUBLE_CLICK:C.onLButtonDoubleClick(C.position);break;case si.LEFT_CLICK:C.onLButtonClick(C.position);break;case si.RIGHT_UP:C.onRButtonUp(C.position);break;case si.RIGHT_DOWN:C.onRButtonDown(C.position);break;case si.RIGHT_CLICK:C.onRButtonClick(C.position);break;case si.MIDDLE_UP:C.onMButtonUp(C.position);break;case si.MIDDLE_DOWN:C.onMButtonDown(C.position);break;case si.MIDDLE_CLICK:C.onMButtonClick(C.position);break;case si.MOUSE_MOVE:C.onMouseMove(C.endPosition);break}}f(A,this)}onLButtonDown(A){this.mMouseDownPoint=this.mMousePrevPoint=A,this.mLeftButtonDown=!0}onLButtonUp(A){return this.mLeftButtonDown=!1,this.mLeftButtonDrag?(this.mLeftButtonDrag=!1,!1):!0}onLButtonDoubleClick(A){this.mMouseDownPoint=this.mMousePrevPoint=A}onLButtonClick(A){this.mMouseDownPoint=this.mMousePrevPoint=A}onLButtonDrag(A){return!0}onMButtonDown(A){this.mMouseDownPoint=this.mMousePrevPoint=A,this.mMidButtonDown=!0}onMButtonUp(A){return this.mMidButtonDown=!1,this.mMidButtonDrag?(this.mMidButtonDrag=!1,!1):!0}onMButtonClick(A){this.mMouseDownPoint=this.mMousePrevPoint=A}onMButtonDrag(A){return!0}onRButtonDown(A){this.mMouseDownPoint=this.mMousePrevPoint=A,this.mRightButtonDown=!0}onRButtonUp(A){return this.mRightButtonDown=!1,this.mRightButtonDrag?(this.mRightButtonDrag=!1,!1):!0}onRButtonClick(A){this.mMouseDownPoint=this.mMousePrevPoint=A}onRButtonDrag(A){return!0}onMouseMove(A){if(this.mLeftButtonDown===!1&&this.mMidButtonDown===!1&&this.mRightButtonDown===!1){this.mMousePrevPoint=A;return}rt.distance(A,this.mMousePrevPoint)<10||(this.mLeftButtonDown&&this.onLButtonDrag(A)&&(this.mMousePrevPoint=A,this.mLeftButtonDrag=!0),this.mMidButtonDown&&this.onMButtonDrag(A)&&(this.mMousePrevPoint=A,this.mMidButtonDrag=!0),this.mRightButtonDown&&this.onRButtonDrag(A)&&(this.mMousePrevPoint=A,this.mRightButtonDrag=!0),this.mMousePrevPoint=A)}onMouseWheel(A,f){}onKeyDown(A){}onKeyUp(A){}calculateLength(A,f){let m=0,C=A.length;for(let E=0;E<C-1;E++)m+=Z.distance(A[E+1],A[E]);return f&&(m+=Z.distance(A[0],A[C-1])),m}calculateSphericalArea(A,f){let m=0;if(f)for(let C=0;C<A.length-1;C++){let E=A[C],x=A[C+1];m+=E.x*x.y-x.x*E.y}else for(let C=0;C<A.length;C++){let E=A[C],x;C<A.length-1?x=A[C+1]:x=A[0],m+=E.x*x.y-x.x*E.y}return m/2}pickVector(A,f){let m=this.mCoreMap.scene,C=m.camera,E=m.globe;if(!O(E))return;let x;if(m.pickPositionSupported)if(m.bim){let y=m.bim.PickWorldPositionSync(A.x,A.y);if(y[0]===0){if(x=m.pickPosition(A),!x){let I=C.getPickRay(A);x=m.globe.pick(I,m)}if(x===void 0)return}else x=new Z(y[0],y[1],y[2])}else{if(x=m.pickPosition(A),!x){let y=C.getPickRay(A);x=m.globe.pick(y,m)}if(x===void 0)return}return Z.clone(x,f)}pickObject(A,f){let C=this.mCoreMap.scene.pick(A);return O(C)?(f.pickedObject=C,!0):!1}doubleClickObject(A,f){let C=this.mCoreMap.scene.pick(A);return O(C)?(f.doubeClickedObject=C,!0):!1}},Za=uDe;var Hoe=class extends $f{constructor(A){super(A),this._rtti="SpatialObject",this._spatialTransform=new gK}};Object.defineProperties(Hoe.prototype,{spatialTransform:{get:function(){return this._spatialTransform},set:function(o){this._spatialTransform=o}}});var gu=Hoe;function TI(o){this.mEarthCtrl=o,this.mCoreMap=o.coreMap,this.tools={},this.canContinue=!0,this.handler=new cr(o.coreMap.scene.canvas),this.initialize()}TI.prototype.initialize=function(){let o=this;function A(f){for(let m in o.tools)if(o.tools.hasOwnProperty(m)){let C=o.tools[m];if(C.mEnable&&(o.canContinue=!0,C.onInputMessage(f),o.canContinue===!1))break}}this.handler.setInputAction(f=>{f.type=si.LEFT_DOWN,A(f)},si.LEFT_DOWN),this.handler.setInputAction(f=>{f.type=si.LEFT_UP,A(f)},si.LEFT_UP),this.handler.setInputAction(f=>{f.type=si.LEFT_CLICK,A(f)},si.LEFT_CLICK),this.handler.setInputAction(f=>{f.type=si.LEFT_DOUBLE_CLICK,A(f)},si.LEFT_DOUBLE_CLICK),this.handler.setInputAction(f=>{f.type=si.RIGHT_DOWN,A(f)},si.RIGHT_DOWN),this.handler.setInputAction(f=>{f.type=si.RIGHT_UP,A(f)},si.RIGHT_UP),this.handler.setInputAction(f=>{f.type=si.RIGHT_CLICK,A(f)},si.RIGHT_CLICK),this.handler.setInputAction(f=>{f.type=si.MIDDLE_UP,A(f)},si.MIDDLE_UP),this.handler.setInputAction(f=>{f.type=si.MIDDLE_DOWN,A(f)},si.MIDDLE_DOWN),this.handler.setInputAction(f=>{f.type=si.MIDDLE_CLICK,A(f)},si.MIDDLE_CLICK),this.handler.setInputAction(f=>{f.type=si.MOUSE_MOVE,A(f)},si.MOUSE_MOVE)};TI.prototype.destory=function(){this.handler&&(this.handler.removeInputAction(si.LEFT_CLICK),this.handler.removeInputAction(si.LEFT_DOWN),this.handler.removeInputAction(si.LEFT_UP),this.handler.removeInputAction(si.LEFT_DOUBLE_CLICK),this.handler.removeInputAction(si.RIGHT_DOWN),this.handler.removeInputAction(si.RIGHT_UP),this.handler.removeInputAction(si.RIGHT_CLICK),this.handler.removeInputAction(si.MIDDLE_DOWN),this.handler.removeInputAction(si.MIDDLE_UP),this.handler.removeInputAction(si.MIDDLE_CLICK),this.handler.removeInputAction(si.MOUSE_MOVE),this.handler.destroy())};TI.prototype.setCanContinue=function(o){this.canContinue=o};TI.prototype.registerTool=function(o,A){this.tools[o]=A,A.onActive()};TI.prototype.unregisterTool=function(o){let A=this.tools[o];return delete this.tools[o],A};TI.prototype.browse=function(){this.clearTool()};TI.prototype.selectObject=function(){this.clearTool()};TI.prototype.activeTool=function(o){this.tools.hasOwnProperty(o)&&this.tools[o].onActive()};TI.prototype.deactiveTool=function(o){this.tools.hasOwnProperty(o)&&this.tools[o].onDeactive()};TI.prototype.deactiveAllTool=function(){for(let o in this.tools)this.tools.hasOwnProperty(o)&&o.onDeactive()};TI.prototype.clearResult=function(){let o=this;for(let A in o.tools)o.tools.hasOwnProperty(A)&&o.tools[A].clearResult()};TI.prototype.clearTool=function(){let o=this;for(let A in o.tools)if(o.tools.hasOwnProperty(A)){let f=o.tools[A];f.onDeactive(),f.destory()}this.tools={}};var ADe=TI;var cDe=class extends Za{constructor(A,f,m){super(A,f,m),this.name="MoushHeadingTool",this.prevPosition=void 0,this.width=document.body.clientWidth,this.height=document.body.clientHeight,this.widthDegree=90,this.heightDegree=90,this.leftClick=!1}onLButtonDown(A){this.leftClick=!0}onLButtonUp(A){return this.leftClick=!1,!0}onMouseMove(A){if(!this.leftClick){this.prevPosition=void 0;return}if(this.prevPosition!==void 0){let f=(A.x-this.prevPosition.x)/this.width*this.widthDegree,m=(this.prevPosition.y-A.y)/this.height*this.heightDegree;this.mCallback&&this.mCallback({headingAmount:f,pitchAmount:m})}this.prevPosition=A}},qat=cDe;var Oi,LMi="4.17.21",hDe=200,FMi="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",Qv="Expected a function",NMi="Invalid `variable` option passed into `_.template`",dDe="__lodash_hash_undefined__",kMi=500,qoe="__lodash_placeholder__",MR=1,Xat=2,H8=4,V8=1,Voe=2,Dv=1,Ak=2,Zat=4,QQ=8,Y8=16,SQ=32,J8=64,FT=128,CK=256,yDe=512,OMi=30,UMi="...",GMi=800,HMi=16,$at=1,VMi=2,zMi=3,uk=1/0,PR=9007199254740991,YMi=17976931348623157e292,Koe=0/0,DQ=4294967295,JMi=DQ-1,KMi=DQ>>>1,WMi=[["ary",FT],["bind",Dv],["bindKey",Ak],["curry",QQ],["curryRight",Y8],["flip",yDe],["partial",SQ],["partialRight",J8],["rearg",CK]],W8="[object Arguments]",Xoe="[object Array]",jMi="[object AsyncFunction]",EK="[object Boolean]",xK="[object Date]",qMi="[object DOMException]",Zoe="[object Error]",$oe="[object Function]",est="[object GeneratorFunction]",Jw="[object Map]",yK="[object Number]",XMi="[object Null]",NT="[object Object]",tst="[object Promise]",ZMi="[object Proxy]",IK="[object RegExp]",Kw="[object Set]",_K="[object String]",Woe="[object Symbol]",$Mi="[object Undefined]",vK="[object WeakMap]",e2i="[object WeakSet]",BK="[object ArrayBuffer]",j8="[object DataView]",QDe="[object Float32Array]",SDe="[object Float64Array]",DDe="[object Int8Array]",TDe="[object Int16Array]",MDe="[object Int32Array]",PDe="[object Uint8Array]",RDe="[object Uint8ClampedArray]",LDe="[object Uint16Array]",FDe="[object Uint32Array]",t2i=/\b__p \+= '';/g,i2i=/\b(__p \+=) '' \+/g,r2i=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Ist=/&(?:amp|lt|gt|quot|#39);/g,_st=/[&<>"']/g,n2i=RegExp(Ist.source),o2i=RegExp(_st.source),a2i=/<%-([\s\S]+?)%>/g,s2i=/<%([\s\S]+?)%>/g,ist=/<%=([\s\S]+?)%>/g,l2i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,u2i=/^\w*$/,A2i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,IDe=/[\\^$.*+?()[\]{}|]/g,c2i=RegExp(IDe.source),_De=/^\s+/,h2i=/\s/,d2i=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,f2i=/\{\n\/\* \[wrapped with (.+)\] \*/,g2i=/,? & /,p2i=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,m2i=/[()=,{}\[\]\/\s]/,C2i=/\\(\\)?/g,E2i=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,rst=/\w*$/,x2i=/^[-+]0x[0-9a-f]+$/i,y2i=/^0b[01]+$/i,I2i=/^\[object .+?Constructor\]$/,_2i=/^0o[0-7]+$/i,v2i=/^(?:0|[1-9]\d*)$/,B2i=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,zoe=/($^)/,w2i=/['\n\r\u2028\u2029\\]/g,tae="\\ud800-\\udfff",b2i="\\u0300-\\u036f",Q2i="\\ufe20-\\ufe2f",S2i="\\u20d0-\\u20ff",vst=b2i+Q2i+S2i,Bst="\\u2700-\\u27bf",wst="a-z\\xdf-\\xf6\\xf8-\\xff",D2i="\\xac\\xb1\\xd7\\xf7",T2i="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",M2i="\\u2000-\\u206f",P2i=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",bst="A-Z\\xc0-\\xd6\\xd8-\\xde",Qst="\\ufe0e\\ufe0f",Sst=D2i+T2i+M2i+P2i,NDe="['\u2019]",R2i="["+tae+"]",nst="["+Sst+"]",eae="["+vst+"]",Dst="\\d+",L2i="["+Bst+"]",Tst="["+wst+"]",Mst="[^"+tae+Sst+Dst+Bst+wst+bst+"]",vDe="\\ud83c[\\udffb-\\udfff]",F2i="(?:"+eae+"|"+vDe+")",Pst="[^"+tae+"]",kDe="(?:\\ud83c[\\udde6-\\uddff]){2}",ODe="[\\ud800-\\udbff][\\udc00-\\udfff]",K8="["+bst+"]",Rst="\\u200d",ost="(?:"+Tst+"|"+Mst+")",N2i="(?:"+K8+"|"+Mst+")",ast="(?:"+NDe+"(?:d|ll|m|re|s|t|ve))?",sst="(?:"+NDe+"(?:D|LL|M|RE|S|T|VE))?",Lst=F2i+"?",Fst="["+Qst+"]?",k2i="(?:"+Rst+"(?:"+[Pst,kDe,ODe].join("|")+")"+Fst+Lst+")*",O2i="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",U2i="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Nst=Fst+Lst+k2i,G2i="(?:"+[L2i,kDe,ODe].join("|")+")"+Nst,H2i="(?:"+[Pst+eae+"?",eae,kDe,ODe,R2i].join("|")+")",V2i=RegExp(NDe,"g"),z2i=RegExp(eae,"g"),BDe=RegExp(vDe+"(?="+vDe+")|"+H2i+Nst,"g"),Y2i=RegExp([K8+"?"+Tst+"+"+ast+"(?="+[nst,K8,"$"].join("|")+")",N2i+"+"+sst+"(?="+[nst,K8+ost,"$"].join("|")+")",K8+"?"+ost+"+"+ast,K8+"+"+sst,U2i,O2i,Dst,G2i].join("|"),"g"),J2i=RegExp("["+Rst+tae+vst+Qst+"]"),K2i=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,W2i=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],j2i=-1,Wh={};Wh[QDe]=Wh[SDe]=Wh[DDe]=Wh[TDe]=Wh[MDe]=Wh[PDe]=Wh[RDe]=Wh[LDe]=Wh[FDe]=!0;Wh[W8]=Wh[Xoe]=Wh[BK]=Wh[EK]=Wh[j8]=Wh[xK]=Wh[Zoe]=Wh[$oe]=Wh[Jw]=Wh[yK]=Wh[NT]=Wh[IK]=Wh[Kw]=Wh[_K]=Wh[vK]=!1;var bh={};bh[W8]=bh[Xoe]=bh[BK]=bh[j8]=bh[EK]=bh[xK]=bh[QDe]=bh[SDe]=bh[DDe]=bh[TDe]=bh[MDe]=bh[Jw]=bh[yK]=bh[NT]=bh[IK]=bh[Kw]=bh[_K]=bh[Woe]=bh[PDe]=bh[RDe]=bh[LDe]=bh[FDe]=!0;bh[Zoe]=bh[$oe]=bh[vK]=!1;var q2i={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},X2i={"&":"&","<":"<",">":">",'"':""","'":"'"},Z2i={"&":"&","<":"<",">":">",""":'"',"'":"'"},$2i={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ePi=parseFloat,tPi=parseInt,kst=typeof global=="object"&&global&&global.Object===Object&&global,iPi=typeof self=="object"&&self&&self.Object===Object&&self,vC=kst||iPi||Function("return this")(),Ost=typeof exports=="object"&&exports&&!exports.nodeType&&exports,wK=Ost&&typeof module=="object"&&module&&!module.nodeType&&module,Ust=wK&&wK.exports===Ost,fDe=Ust&&kst.process,Tv=function(){try{var o=wK&&wK.require&&wK.require("util").types;return o||fDe&&fDe.binding&&fDe.binding("util")}catch{}}(),lst=Tv&&Tv.isArrayBuffer,ust=Tv&&Tv.isDate,Ast=Tv&&Tv.isMap,cst=Tv&&Tv.isRegExp,hst=Tv&&Tv.isSet,dst=Tv&&Tv.isTypedArray;function MI(o,A,f){switch(f.length){case 0:return o.call(A);case 1:return o.call(A,f[0]);case 2:return o.call(A,f[0],f[1]);case 3:return o.call(A,f[0],f[1],f[2])}return o.apply(A,f)}function rPi(o,A,f,m){for(var C=-1,E=o==null?0:o.length;++C<E;){var x=o[C];A(m,x,f(x),o)}return m}function Sv(o,A){for(var f=-1,m=o==null?0:o.length;++f<m&&A(o[f],f,o)!==!1;);return o}function nPi(o,A){for(var f=o==null?0:o.length;f--&&A(o[f],f,o)!==!1;);return o}function fst(o,A){for(var f=-1,m=o==null?0:o.length;++f<m;)if(!A(o[f],f,o))return!1;return!0}function RR(o,A){for(var f=-1,m=o==null?0:o.length,C=0,E=[];++f<m;){var x=o[f];A(x,f,o)&&(E[C++]=x)}return E}function Yoe(o,A){var f=o==null?0:o.length;return!!f&&X8(o,A,0)>-1}function gDe(o,A,f){for(var m=-1,C=o==null?0:o.length;++m<C;)if(f(A,o[m]))return!0;return!1}function gd(o,A){for(var f=-1,m=o==null?0:o.length,C=Array(m);++f<m;)C[f]=A(o[f],f,o);return C}function LR(o,A){for(var f=-1,m=A.length,C=o.length;++f<m;)o[C+f]=A[f];return o}function pDe(o,A,f,m){var C=-1,E=o==null?0:o.length;for(m&&E&&(f=o[++C]);++C<E;)f=A(f,o[C],C,o);return f}function oPi(o,A,f,m){var C=o==null?0:o.length;for(m&&C&&(f=o[--C]);C--;)f=A(f,o[C],C,o);return f}function mDe(o,A){for(var f=-1,m=o==null?0:o.length;++f<m;)if(A(o[f],f,o))return!0;return!1}var aPi=wDe("length");function sPi(o){return o.split("")}function lPi(o){return o.match(p2i)||[]}function gst(o,A,f){var m;return f(o,function(C,E,x){if(A(C,E,x))return m=E,!1}),m}function joe(o,A,f,m){for(var C=o.length,E=f+(m?1:-1);m?E--:++E<C;)if(A(o[E],E,o))return E;return-1}function X8(o,A,f){return A===A?xPi(o,A,f):joe(o,Gst,f)}function uPi(o,A,f,m){for(var C=f-1,E=o.length;++C<E;)if(m(o[C],A))return C;return-1}function Gst(o){return o!==o}function pst(o,A){var f=o==null?0:o.length;return f?bDe(o,A)/f:Koe}function wDe(o){return function(A){return A==null?Oi:A[o]}}function UDe(o){return function(A){return o==null?Oi:o[A]}}function mst(o,A,f,m,C){return C(o,function(E,x,y){f=m?(m=!1,E):A(f,E,x,y)}),f}function APi(o,A){var f=o.length;for(o.sort(A);f--;)o[f]=o[f].value;return o}function bDe(o,A){for(var f,m=-1,C=o.length;++m<C;){var E=A(o[m]);E!==Oi&&(f=f===Oi?E:f+E)}return f}function CDe(o,A){for(var f=-1,m=Array(o);++f<o;)m[f]=A(f);return m}function cPi(o,A){return gd(A,function(f){return[f,o[f]]})}function Cst(o){return o&&o.slice(0,Hst(o)+1).replace(_De,"")}function PI(o){return function(A){return o(A)}}function EDe(o,A){return gd(A,function(f){return o[f]})}function mK(o,A){return o.has(A)}function Est(o,A){for(var f=-1,m=o.length;++f<m&&X8(A,o[f],0)>-1;);return f}function xst(o,A){for(var f=o.length;f--&&X8(A,o[f],0)>-1;);return f}function hPi(o,A){for(var f=o.length,m=0;f--;)o[f]===A&&++m;return m}var dPi=UDe(q2i),fPi=UDe(X2i);function gPi(o){return"\\"+$2i[o]}function pPi(o,A){return o==null?Oi:o[A]}function q8(o){return J2i.test(o)}function mPi(o){return K2i.test(o)}function CPi(o){for(var A,f=[];!(A=o.next()).done;)f.push(A.value);return f}function xDe(o){var A=-1,f=Array(o.size);return o.forEach(function(m,C){f[++A]=[C,m]}),f}function yst(o,A){return function(f){return o(A(f))}}function FR(o,A){for(var f=-1,m=o.length,C=0,E=[];++f<m;){var x=o[f];(x===A||x===qoe)&&(o[f]=qoe,E[C++]=f)}return E}function Joe(o){var A=-1,f=Array(o.size);return o.forEach(function(m){f[++A]=m}),f}function EPi(o){var A=-1,f=Array(o.size);return o.forEach(function(m){f[++A]=[m,m]}),f}function xPi(o,A,f){for(var m=f-1,C=o.length;++m<C;)if(o[m]===A)return m;return-1}function yPi(o,A,f){for(var m=f+1;m--;)if(o[m]===A)return m;return m}function z8(o){return q8(o)?_Pi(o):aPi(o)}function Yw(o){return q8(o)?vPi(o):sPi(o)}function Hst(o){for(var A=o.length;A--&&h2i.test(o.charAt(A)););return A}var IPi=UDe(Z2i);function _Pi(o){for(var A=BDe.lastIndex=0;BDe.test(o);)++A;return A}function vPi(o){return o.match(BDe)||[]}function BPi(o){return o.match(Y2i)||[]}var wPi=function o(A){A=A==null?vC:_.defaults(vC.Object(),A,_.pick(vC,W2i));var f=A.Array,m=A.Date,C=A.Error,E=A.Function,x=A.Math,y=A.Object,I=A.RegExp,v=A.String,B=A.TypeError,Q=f.prototype,T=E.prototype,w=y.prototype,S=A["__core-js_shared__"],D=T.toString,R=w.hasOwnProperty,P=0,M=function(){var xe=/[^.]+$/.exec(S&&S.keys&&S.keys.IE_PROTO||"");return xe?"Symbol(src)_1."+xe:""}(),L=w.toString,F=D.call(y),k=vC._,N=I("^"+D.call(R).replace(IDe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),G=Ust?A.Buffer:Oi,J=A.Symbol,K=A.Uint8Array,X=G?G.allocUnsafe:Oi,q=yst(y.getPrototypeOf,y),ee=y.create,ie=w.propertyIsEnumerable,H=Q.splice,le=J?J.isConcatSpreadable:Oi,ue=J?J.iterator:Oi,Ae=J?J.toStringTag:Oi,he=function(){try{var xe=sy(y,"defineProperty");return xe({},"",{}),xe}catch{}}(),ge=A.clearTimeout!==vC.clearTimeout&&A.clearTimeout,fe=m&&m.now!==vC.Date.now&&m.now,ae=A.setTimeout!==vC.setTimeout&&A.setTimeout,U=x.ceil,W=x.floor,Y=y.getOwnPropertySymbols,z=G?G.isBuffer:Oi,re=A.isFinite,se=Q.join,de=yst(y.keys,y),me=x.max,Ce=x.min,Ie=m.now,we=A.parseInt,Te=x.random,Ge=Q.reverse,ke=sy(A,"DataView"),Oe=sy(A,"Map"),Le=sy(A,"Promise"),be=sy(A,"Set"),Ne=sy(A,"WeakMap"),Ue=sy(y,"create"),ze=Ne&&new Ne,Je={},Xe=Wg(ke),et=Wg(Oe),ot=Wg(Le),Et=Wg(be),Ct=Wg(Ne),ct=J?J.prototype:Oi,yt=ct?ct.valueOf:Oi,Qt=ct?ct.toString:Oi;function Ze(xe){if(Hc(xe)&&!ss(xe)&&!(xe instanceof xt)){if(xe instanceof gt)return xe;if(R.call(xe,"__wrapped__"))return jI(xe)}return new gt(xe)}var ut=function(){function xe(){}return function(Se){if(!Sl(Se))return{};if(ee)return ee(Se);xe.prototype=Se;var je=new xe;return xe.prototype=Oi,je}}();function St(){}function gt(xe,Se){this.__wrapped__=xe,this.__actions__=[],this.__chain__=!!Se,this.__index__=0,this.__values__=Oi}Ze.templateSettings={escape:a2i,evaluate:s2i,interpolate:ist,variable:"",imports:{_:Ze}},Ze.prototype=St.prototype,Ze.prototype.constructor=Ze,gt.prototype=ut(St.prototype),gt.prototype.constructor=gt;function xt(xe){this.__wrapped__=xe,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=DQ,this.__views__=[]}function Lt(){var xe=new xt(this.__wrapped__);return xe.__actions__=zo(this.__actions__),xe.__dir__=this.__dir__,xe.__filtered__=this.__filtered__,xe.__iteratees__=zo(this.__iteratees__),xe.__takeCount__=this.__takeCount__,xe.__views__=zo(this.__views__),xe}function nt(){if(this.__filtered__){var xe=new xt(this);xe.__dir__=-1,xe.__filtered__=!0}else xe=this.clone(),xe.__dir__*=-1;return xe}function Pe(){var xe=this.__wrapped__.value(),Se=this.__dir__,je=ss(xe),mt=Se<0,Yt=je?xe.length:0,$t=oL(0,Yt,this.__views__),Pi=$t.start,Vi=$t.end,rr=Vi-Pi,qr=mt?Vi:Pi-1,nn=this.__iteratees__,dn=nn.length,lo=0,Yo=Ce(rr,this.__takeCount__);if(!je||!mt&&Yt==rr&&Yo==rr)return l1(xe,this.__actions__);var Ja=[];e:for(;rr--&&lo<Yo;){qr+=Se;for(var Hs=-1,io=xe[qr];++Hs<dn;){var gs=nn[Hs],Dl=gs.iteratee,Of=gs.type,ou=Dl(io);if(Of==VMi)io=ou;else if(!ou){if(Of==$at)continue e;break e}}Ja[lo++]=io}return Ja}xt.prototype=ut(St.prototype),xt.prototype.constructor=xt;function ve(xe){var Se=-1,je=xe==null?0:xe.length;for(this.clear();++Se<je;){var mt=xe[Se];this.set(mt[0],mt[1])}}function We(){this.__data__=Ue?Ue(null):{},this.size=0}function bt(xe){var Se=this.has(xe)&&delete this.__data__[xe];return this.size-=Se?1:0,Se}function Pt(xe){var Se=this.__data__;if(Ue){var je=Se[xe];return je===dDe?Oi:je}return R.call(Se,xe)?Se[xe]:Oi}function It(xe){var Se=this.__data__;return Ue?Se[xe]!==Oi:R.call(Se,xe)}function Mi(xe,Se){var je=this.__data__;return this.size+=this.has(xe)?0:1,je[xe]=Ue&&Se===Oi?dDe:Se,this}ve.prototype.clear=We,ve.prototype.delete=bt,ve.prototype.get=Pt,ve.prototype.has=It,ve.prototype.set=Mi;function er(xe){var Se=-1,je=xe==null?0:xe.length;for(this.clear();++Se<je;){var mt=xe[Se];this.set(mt[0],mt[1])}}function di(){this.__data__=[],this.size=0}function wi(xe){var Se=this.__data__,je=yd(Se,xe);if(je<0)return!1;var mt=Se.length-1;return je==mt?Se.pop():H.call(Se,je,1),--this.size,!0}function Ri(xe){var Se=this.__data__,je=yd(Se,xe);return je<0?Oi:Se[je][1]}function Ei(xe){return yd(this.__data__,xe)>-1}function Wt(xe,Se){var je=this.__data__,mt=yd(je,xe);return mt<0?(++this.size,je.push([xe,Se])):je[mt][1]=Se,this}er.prototype.clear=di,er.prototype.delete=wi,er.prototype.get=Ri,er.prototype.has=Ei,er.prototype.set=Wt;function jt(xe){var Se=-1,je=xe==null?0:xe.length;for(this.clear();++Se<je;){var mt=xe[Se];this.set(mt[0],mt[1])}}function pi(){this.size=0,this.__data__={hash:new ve,map:new(Oe||er),string:new ve}}function mi(xe){var Se=zI(this,xe).delete(xe);return this.size-=Se?1:0,Se}function Kt(xe){return zI(this,xe).get(xe)}function xi(xe){return zI(this,xe).has(xe)}function _t(xe,Se){var je=zI(this,xe),mt=je.size;return je.set(xe,Se),this.size+=je.size==mt?0:1,this}jt.prototype.clear=pi,jt.prototype.delete=mi,jt.prototype.get=Kt,jt.prototype.has=xi,jt.prototype.set=_t;function Mt(xe){var Se=-1,je=xe==null?0:xe.length;for(this.__data__=new jt;++Se<je;)this.add(xe[Se])}function Ht(xe){return this.__data__.set(xe,dDe),this}function ti(xe){return this.__data__.has(xe)}Mt.prototype.add=Mt.prototype.push=Ht,Mt.prototype.has=ti;function Wi(xe){var Se=this.__data__=new er(xe);this.size=Se.size}function yi(){this.__data__=new er,this.size=0}function uo(xe){var Se=this.__data__,je=Se.delete(xe);return this.size=Se.size,je}function wn(xe){return this.__data__.get(xe)}function Un(xe){return this.__data__.has(xe)}function Ta(xe,Se){var je=this.__data__;if(je instanceof er){var mt=je.__data__;if(!Oe||mt.length<hDe-1)return mt.push([xe,Se]),this.size=++je.size,this;je=this.__data__=new jt(mt)}return je.set(xe,Se),this.size=je.size,this}Wi.prototype.clear=yi,Wi.prototype.delete=uo,Wi.prototype.get=wn,Wi.prototype.has=Un,Wi.prototype.set=Ta;function Ma(xe,Se){var je=ss(xe),mt=!je&&_m(xe),Yt=!je&&!mt&&Rp(xe),$t=!je&&!mt&&!Yt&&UC(xe),Pi=je||mt||Yt||$t,Vi=Pi?CDe(xe.length,v):[],rr=Vi.length;for(var qr in xe)(Se||R.call(xe,qr))&&!(Pi&&(qr=="length"||Yt&&(qr=="offset"||qr=="parent")||$t&&(qr=="buffer"||qr=="byteLength"||qr=="byteOffset")||Dp(qr,rr)))&&Vi.push(qr);return Vi}function Go(xe){var Se=xe.length;return Se?xe[Zu(0,Se-1)]:Oi}function bl(xe,Se){return KI(zo(xe),Id(Se,0,xe.length))}function nu(xe){return KI(zo(xe))}function yc(xe,Se,je){(je!==Oi&&!Pp(xe[Se],je)||je===Oi&&!(Se in xe))&&kA(xe,Se,je)}function Xu(xe,Se,je){var mt=xe[Se];(!(R.call(xe,Se)&&Pp(mt,je))||je===Oi&&!(Se in xe))&&kA(xe,Se,je)}function yd(xe,Se){for(var je=xe.length;je--;)if(Pp(xe[je][0],Se))return je;return-1}function lh(xe,Se,je,mt){return Gi(xe,function(Yt,$t,Pi){Se(mt,Yt,je(Yt),Pi)}),mt}function ef(xe,Se){return xe&&Ha(Se,rd(Se),xe)}function og(xe,Se){return xe&&Ha(Se,qg(Se),xe)}function kA(xe,Se,je){Se=="__proto__"&&he?he(xe,Se,{configurable:!0,enumerable:!0,value:je,writable:!0}):xe[Se]=je}function S0(xe,Se){for(var je=-1,mt=Se.length,Yt=f(mt),$t=xe==null;++je<mt;)Yt[je]=$t?Oi:id(xe,Se[je]);return Yt}function Id(xe,Se,je){return xe===xe&&(je!==Oi&&(xe=xe<=je?xe:je),Se!==Oi&&(xe=xe>=Se?xe:Se)),xe}function Su(xe,Se,je,mt,Yt,$t){var Pi,Vi=Se&MR,rr=Se&Xat,qr=Se&H8;if(je&&(Pi=Yt?je(xe,mt,Yt,$t):je(xe)),Pi!==Oi)return Pi;if(!Sl(xe))return xe;var nn=ss(xe);if(nn){if(Pi=h1(xe),!Vi)return zo(xe,Pi)}else{var dn=Rf(xe),lo=dn==$oe||dn==est;if(Rp(xe))return ny(xe,Vi);if(dn==NT||dn==W8||lo&&!Yt){if(Pi=rr||lo?{}:tS(xe),!Vi)return rr?$s(xe,og(Pi,xe)):Gc(xe,ef(Pi,xe))}else{if(!bh[dn])return Yt?xe:{};Pi=iS(xe,dn,Vi)}}$t||($t=new Wi);var Yo=$t.get(xe);if(Yo)return Yo;$t.set(xe,Pi),Uu(xe)?xe.forEach(function(io){Pi.add(Su(io,Se,je,io,xe,$t))}):QO(xe)&&xe.forEach(function(io,gs){Pi.set(gs,Su(io,Se,je,gs,xe,$t))});var Ja=qr?rr?R0:VI:rr?qg:rd,Hs=nn?Oi:Ja(xe);return Sv(Hs||xe,function(io,gs){Hs&&(gs=io,io=xe[gs]),Xu(Pi,gs,Su(io,Se,je,gs,xe,$t))}),Pi}function Df(xe){var Se=rd(xe);return function(je){return _d(je,xe,Se)}}function _d(xe,Se,je){var mt=je.length;if(xe==null)return!mt;for(xe=y(xe);mt--;){var Yt=je[mt],$t=Se[Yt],Pi=xe[Yt];if(Pi===Oi&&!(Yt in xe)||!$t(Pi))return!1}return!0}function $h(xe,Se,je){if(typeof xe!="function")throw new B(Qv);return JI(function(){xe.apply(Oi,je)},Se)}function ci(xe,Se,je,mt){var Yt=-1,$t=Yoe,Pi=!0,Vi=xe.length,rr=[],qr=Se.length;if(!Vi)return rr;je&&(Se=gd(Se,PI(je))),mt?($t=gDe,Pi=!1):Se.length>=hDe&&($t=mK,Pi=!1,Se=new Mt(Se));e:for(;++Yt<Vi;){var nn=xe[Yt],dn=je==null?nn:je(nn);if(nn=mt||nn!==0?nn:0,Pi&&dn===dn){for(var lo=qr;lo--;)if(Se[lo]===dn)continue e;rr.push(nn)}else $t(Se,dn,mt)||rr.push(nn)}return rr}var Gi=u1(bo),yr=u1(_a,!0);function Yr(xe,Se){var je=!0;return Gi(xe,function(mt,Yt,$t){return je=!!Se(mt,Yt,$t),je}),je}function en(xe,Se,je){for(var mt=-1,Yt=xe.length;++mt<Yt;){var $t=xe[mt],Pi=Se($t);if(Pi!=null&&(Vi===Oi?Pi===Pi&&!N0(Pi):je(Pi,Vi)))var Vi=Pi,rr=$t}return rr}function Or(xe,Se,je,mt){var Yt=xe.length;for(je=Gs(je),je<0&&(je=-je>Yt?0:Yt+je),mt=mt===Oi||mt>Yt?Yt:Gs(mt),mt<0&&(mt+=Yt),mt=je>mt?0:QL(mt);je<mt;)xe[je++]=Se;return xe}function Cn(xe,Se){var je=[];return Gi(xe,function(mt,Yt,$t){Se(mt,Yt,$t)&&je.push(mt)}),je}function Mn(xe,Se,je,mt,Yt){var $t=-1,Pi=xe.length;for(je||(je=nO),Yt||(Yt=[]);++$t<Pi;){var Vi=xe[$t];Se>0&&je(Vi)?Se>1?Mn(Vi,Se-1,je,mt,Yt):LR(Yt,Vi):mt||(Yt[Yt.length]=Vi)}return Yt}var tn=P0(),fo=P0(!0);function bo(xe,Se){return xe&&tn(xe,Se,rd)}function _a(xe,Se){return xe&&fo(xe,Se,rd)}function xl(xe,Se){return RR(Se,function(je){return OC(xe[je])})}function Mo(xe,Se){Se=Em(Se,xe);for(var je=0,mt=Se.length;xe!=null&&je<mt;)xe=xe[Kg(Se[je++])];return je&&je==mt?xe:Oi}function Wl(xe,Se,je){var mt=Se(xe);return ss(xe)?mt:LR(mt,je(xe))}function Ss(xe){return xe==null?xe===Oi?$Mi:XMi:Ae&&Ae in y(xe)?rO(xe):m1(xe)}function uh(xe,Se){return xe>Se}function ku(xe,Se){return xe!=null&&R.call(xe,Se)}function Ic(xe,Se){return xe!=null&&Se in y(xe)}function _c(xe,Se,je){return xe>=Ce(Se,je)&&xe<me(Se,je)}function Cu(xe,Se,je){for(var mt=je?gDe:Yoe,Yt=xe[0].length,$t=xe.length,Pi=$t,Vi=f($t),rr=1/0,qr=[];Pi--;){var nn=xe[Pi];Pi&&Se&&(nn=gd(nn,PI(Se))),rr=Ce(nn.length,rr),Vi[Pi]=!je&&(Se||Yt>=120&&nn.length>=120)?new Mt(Pi&&nn):Oi}nn=xe[0];var dn=-1,lo=Vi[0];e:for(;++dn<Yt&&qr.length<rr;){var Yo=nn[dn],Ja=Se?Se(Yo):Yo;if(Yo=je||Yo!==0?Yo:0,!(lo?mK(lo,Ja):mt(qr,Ja,je))){for(Pi=$t;--Pi;){var Hs=Vi[Pi];if(!(Hs?mK(Hs,Ja):mt(xe[Pi],Ja,je)))continue e}lo&&lo.push(Ja),qr.push(Yo)}}return qr}function Tf(xe,Se,je,mt){return bo(xe,function(Yt,$t,Pi){Se(mt,je(Yt),$t,Pi)}),mt}function ag(xe,Se,je){Se=Em(Se,xe),xe=Th(xe,Se);var mt=xe==null?xe:xe[Kg(Tp(Se))];return mt==null?Oi:MI(mt,xe,je)}function FE(xe){return Hc(xe)&&Ss(xe)==W8}function Bp(xe){return Hc(xe)&&Ss(xe)==BK}function Fo(xe){return Hc(xe)&&Ss(xe)==xK}function IA(xe,Se,je,mt,Yt){return xe===Se?!0:xe==null||Se==null||!Hc(xe)&&!Hc(Se)?xe!==xe&&Se!==Se:wp(xe,Se,je,mt,IA,Yt)}function wp(xe,Se,je,mt,Yt,$t){var Pi=ss(xe),Vi=ss(Se),rr=Pi?Xoe:Rf(xe),qr=Vi?Xoe:Rf(Se);rr=rr==W8?NT:rr,qr=qr==W8?NT:qr;var nn=rr==NT,dn=qr==NT,lo=rr==qr;if(lo&&Rp(xe)){if(!Rp(Se))return!1;Pi=!0,nn=!1}if(lo&&!nn)return $t||($t=new Wi),Pi||UC(xe)?Ql(xe,Se,je,mt,Yt,$t):bd(xe,Se,rr,je,mt,Yt,$t);if(!(je&V8)){var Yo=nn&&R.call(xe,"__wrapped__"),Ja=dn&&R.call(Se,"__wrapped__");if(Yo||Ja){var Hs=Yo?xe.value():xe,io=Ja?Se.value():Se;return $t||($t=new Wi),Yt(Hs,io,je,mt,$t)}}return lo?($t||($t=new Wi),dA(xe,Se,je,mt,Yt,$t)):!1}function Vg(xe){return Hc(xe)&&Rf(xe)==Jw}function sg(xe,Se,je,mt){var Yt=je.length,$t=Yt,Pi=!mt;if(xe==null)return!$t;for(xe=y(xe);Yt--;){var Vi=je[Yt];if(Pi&&Vi[2]?Vi[1]!==xe[Vi[0]]:!(Vi[0]in xe))return!1}for(;++Yt<$t;){Vi=je[Yt];var rr=Vi[0],qr=xe[rr],nn=Vi[1];if(Pi&&Vi[2]){if(qr===Oi&&!(rr in xe))return!1}else{var dn=new Wi;if(mt)var lo=mt(qr,nn,rr,xe,Se,dn);if(!(lo===Oi?IA(nn,qr,V8|Voe,mt,dn):lo))return!1}}return!0}function lg(xe){if(!Sl(xe)||oO(xe))return!1;var Se=OC(xe)?N:I2i;return Se.test(Wg(xe))}function D0(xe){return Hc(xe)&&Ss(xe)==IK}function Ni(xe){return Hc(xe)&&Rf(xe)==Kw}function qn(xe){return Hc(xe)&&Ah(xe.length)&&!!Wh[Ss(xe)]}function bn(xe){return typeof xe=="function"?xe:xe==null?UA:typeof xe=="object"?ss(xe)?ht(xe[0],xe[1]):it(xe):zC(xe)}function $e(xe){if(!ly(xe))return de(xe);var Se=[];for(var je in y(xe))R.call(xe,je)&&je!="constructor"&&Se.push(je);return Se}function lt(xe){if(!Sl(xe))return p1(xe);var Se=ly(xe),je=[];for(var mt in xe)mt=="constructor"&&(Se||!R.call(xe,mt))||je.push(mt);return je}function Dt(xe,Se){return xe<Se}function Fe(xe,Se){var je=-1,mt=nf(xe)?f(xe.length):[];return Gi(xe,function(Yt,$t,Pi){mt[++je]=Se(Yt,$t,Pi)}),mt}function it(xe){var Se=Eu(xe);return Se.length==1&&Se[0][2]?f1(Se[0][0],Se[0][1]):function(je){return je===xe||sg(je,xe,Se)}}function ht(xe,Se){return YI(xe)&&d1(Se)?f1(Kg(xe),Se):function(je){var mt=id(je,xe);return mt===Oi&&mt===Se?ML(je,xe):IA(Se,mt,V8|Voe)}}function Tt(xe,Se,je,mt,Yt){xe!==Se&&tn(Se,function($t,Pi){if(Yt||(Yt=new Wi),Sl($t))ai(xe,Se,Pi,je,Tt,mt,Yt);else{var Vi=mt?mt(sM(xe,Pi),$t,Pi+"",xe,Se,Yt):Oi;Vi===Oi&&(Vi=$t),yc(xe,Pi,Vi)}},qg)}function ai(xe,Se,je,mt,Yt,$t,Pi){var Vi=sM(xe,je),rr=sM(Se,je),qr=Pi.get(rr);if(qr){yc(xe,je,qr);return}var nn=$t?$t(Vi,rr,je+"",xe,Se,Pi):Oi,dn=nn===Oi;if(dn){var lo=ss(rr),Yo=!lo&&Rp(rr),Ja=!lo&&!Yo&&UC(rr);nn=rr,lo||Yo||Ja?ss(Vi)?nn=Vi:$u(Vi)?nn=zo(Vi):Yo?(dn=!1,nn=ny(rr,!0)):Ja?(dn=!1,nn=Kr(rr,!0)):nn=[]:Mh(rr)||_m(rr)?(nn=Vi,_m(Vi)?nn=bM(Vi):(!Sl(Vi)||OC(Vi))&&(nn=tS(rr))):dn=!1}dn&&(Pi.set(rr,nn),Yt(nn,rr,mt,$t,Pi),Pi.delete(rr)),yc(xe,je,nn)}function Ii(xe,Se){var je=xe.length;if(!!je)return Se+=Se<0?je:0,Dp(Se,je)?xe[Se]:Oi}function Ji(xe,Se,je){Se.length?Se=gd(Se,function($t){return ss($t)?function(Pi){return Mo(Pi,$t.length===1?$t[0]:$t)}:$t}):Se=[UA];var mt=-1;Se=gd(Se,PI(ga()));var Yt=Fe(xe,function($t,Pi,Vi){var rr=gd(Se,function(qr){return qr($t)});return{criteria:rr,index:++mt,value:$t}});return APi(Yt,function($t,Pi){return Pn($t,Pi,je)})}function xr(xe,Se){return $n(xe,Se,function(je,mt){return ML(xe,mt)})}function $n(xe,Se,je){for(var mt=-1,Yt=Se.length,$t={};++mt<Yt;){var Pi=Se[mt],Vi=Mo(xe,Pi);je(Vi,Pi)&&vd($t,Em(Pi,xe),Vi)}return $t}function Ds(xe){return function(Se){return Mo(Se,xe)}}function hA(xe,Se,je,mt){var Yt=mt?uPi:X8,$t=-1,Pi=Se.length,Vi=xe;for(xe===Se&&(Se=zo(Se)),je&&(Vi=gd(xe,PI(je)));++$t<Pi;)for(var rr=0,qr=Se[$t],nn=je?je(qr):qr;(rr=Yt(Vi,nn,rr,mt))>-1;)Vi!==xe&&H.call(Vi,rr,1),H.call(xe,rr,1);return xe}function sc(xe,Se){for(var je=xe?Se.length:0,mt=je-1;je--;){var Yt=Se[je];if(je==mt||Yt!==$t){var $t=Yt;Dp(Yt)?H.call(xe,Yt,1):iy(xe,Yt)}}return xe}function Zu(xe,Se){return xe+W(Te()*(Se-xe+1))}function tf(xe,Se,je,mt){for(var Yt=-1,$t=me(U((Se-xe)/(je||1)),0),Pi=f($t);$t--;)Pi[mt?$t:++Yt]=xe,xe+=je;return Pi}function rf(xe,Se){var je="";if(!xe||Se<1||Se>PR)return je;do Se%2&&(je+=xe),Se=W(Se/2),Se&&(xe+=xe);while(Se);return je}function as(xe,Se){return uM(aL(xe,Se,UA),xe+"")}function T0(xe){return Go(hB(xe))}function pm(xe,Se){var je=hB(xe);return KI(je,Id(Se,0,je.length))}function vd(xe,Se,je,mt){if(!Sl(xe))return xe;Se=Em(Se,xe);for(var Yt=-1,$t=Se.length,Pi=$t-1,Vi=xe;Vi!=null&&++Yt<$t;){var rr=Kg(Se[Yt]),qr=je;if(rr==="__proto__"||rr==="constructor"||rr==="prototype")return xe;if(Yt!=Pi){var nn=Vi[rr];qr=mt?mt(nn,rr,Vi):Oi,qr===Oi&&(qr=Sl(nn)?nn:Dp(Se[Yt+1])?[]:{})}Xu(Vi,rr,qr),Vi=Vi[rr]}return xe}var Uc=ze?function(xe,Se){return ze.set(xe,Se),xe}:UA,s1=he?function(xe,Se){return he(xe,"toString",{configurable:!0,enumerable:!1,value:U0(Se),writable:!0})}:UA;function lc(xe){return KI(hB(xe))}function Bd(xe,Se,je){var mt=-1,Yt=xe.length;Se<0&&(Se=-Se>Yt?0:Yt+Se),je=je>Yt?Yt:je,je<0&&(je+=Yt),Yt=Se>je?0:je-Se>>>0,Se>>>=0;for(var $t=f(Yt);++mt<Yt;)$t[mt]=xe[mt+Se];return $t}function M0(xe,Se){var je;return Gi(xe,function(mt,Yt,$t){return je=Se(mt,Yt,$t),!je}),!!je}function wd(xe,Se,je){var mt=0,Yt=xe==null?mt:xe.length;if(typeof Se=="number"&&Se===Se&&Yt<=KMi){for(;mt<Yt;){var $t=mt+Yt>>>1,Pi=xe[$t];Pi!==null&&!N0(Pi)&&(je?Pi<=Se:Pi<Se)?mt=$t+1:Yt=$t}return Yt}return Mf(xe,Se,UA,je)}function Mf(xe,Se,je,mt){var Yt=0,$t=xe==null?0:xe.length;if($t===0)return 0;Se=je(Se);for(var Pi=Se!==Se,Vi=Se===null,rr=N0(Se),qr=Se===Oi;Yt<$t;){var nn=W((Yt+$t)/2),dn=je(xe[nn]),lo=dn!==Oi,Yo=dn===null,Ja=dn===dn,Hs=N0(dn);if(Pi)var io=mt||Ja;else qr?io=Ja&&(mt||lo):Vi?io=Ja&&lo&&(mt||!Yo):rr?io=Ja&&lo&&!Yo&&(mt||!Hs):Yo||Hs?io=!1:io=mt?dn<=Se:dn<Se;io?Yt=nn+1:$t=nn}return Ce($t,JMi)}function FC(xe,Se){for(var je=-1,mt=xe.length,Yt=0,$t=[];++je<mt;){var Pi=xe[je],Vi=Se?Se(Pi):Pi;if(!je||!Pp(Vi,rr)){var rr=Vi;$t[Yt++]=Pi===0?0:Pi}}return $t}function Ou(xe){return typeof xe=="number"?xe:N0(xe)?Koe:+xe}function vc(xe){if(typeof xe=="string")return xe;if(ss(xe))return gd(xe,vc)+"";if(N0(xe))return Qt?Qt.call(xe):"";var Se=xe+"";return Se=="0"&&1/xe==-uk?"-0":Se}function Pf(xe,Se,je){var mt=-1,Yt=Yoe,$t=xe.length,Pi=!0,Vi=[],rr=Vi;if(je)Pi=!1,Yt=gDe;else if($t>=hDe){var qr=Se?null:HI(xe);if(qr)return Joe(qr);Pi=!1,Yt=mK,rr=new Mt}else rr=Se?[]:Vi;e:for(;++mt<$t;){var nn=xe[mt],dn=Se?Se(nn):nn;if(nn=je||nn!==0?nn:0,Pi&&dn===dn){for(var lo=rr.length;lo--;)if(rr[lo]===dn)continue e;Se&&rr.push(dn),Vi.push(nn)}else Yt(rr,dn,je)||(rr!==Vi&&rr.push(dn),Vi.push(nn))}return Vi}function iy(xe,Se){return Se=Em(Se,xe),xe=Th(xe,Se),xe==null||delete xe[Kg(Tp(Se))]}function mm(xe,Se,je,mt){return vd(xe,Se,je(Mo(xe,Se)),mt)}function Cm(xe,Se,je,mt){for(var Yt=xe.length,$t=mt?Yt:-1;(mt?$t--:++$t<Yt)&&Se(xe[$t],$t,xe););return je?Bd(xe,mt?0:$t,mt?$t+1:Yt):Bd(xe,mt?$t+1:0,mt?Yt:$t)}function l1(xe,Se){var je=xe;return je instanceof xt&&(je=je.value()),pDe(Se,function(mt,Yt){return Yt.func.apply(Yt.thisArg,LR([mt],Yt.args))},je)}function Xv(xe,Se,je){var mt=xe.length;if(mt<2)return mt?Pf(xe[0]):[];for(var Yt=-1,$t=f(mt);++Yt<mt;)for(var Pi=xe[Yt],Vi=-1;++Vi<mt;)Vi!=Yt&&($t[Yt]=ci($t[Yt]||Pi,xe[Vi],Se,je));return Pf(Mn($t,1),Se,je)}function Zv(xe,Se,je){for(var mt=-1,Yt=xe.length,$t=Se.length,Pi={};++mt<Yt;){var Vi=mt<$t?Se[mt]:Oi;je(Pi,xe[mt],Vi)}return Pi}function NE(xe){return $u(xe)?xe:[]}function bp(xe){return typeof xe=="function"?xe:UA}function Em(xe,Se){return ss(xe)?xe:YI(xe,Se)?[xe]:WI(Du(xe))}var ry=as;function Qp(xe,Se,je){var mt=xe.length;return je=je===Oi?mt:je,!Se&&je>=mt?xe:Bd(xe,Se,je)}var ug=ge||function(xe){return vC.clearTimeout(xe)};function ny(xe,Se){if(Se)return xe.slice();var je=xe.length,mt=X?X(je):new xe.constructor(je);return xe.copy(mt),mt}function uc(xe){var Se=new xe.constructor(xe.byteLength);return new K(Se).set(new K(xe)),Se}function sr(xe,Se){var je=Se?uc(xe.buffer):xe.buffer;return new xe.constructor(je,xe.byteOffset,xe.byteLength)}function vi(xe){var Se=new xe.constructor(xe.source,rst.exec(xe));return Se.lastIndex=xe.lastIndex,Se}function gr(xe){return yt?y(yt.call(xe)):{}}function Kr(xe,Se){var je=Se?uc(xe.buffer):xe.buffer;return new xe.constructor(je,xe.byteOffset,xe.length)}function xn(xe,Se){if(xe!==Se){var je=xe!==Oi,mt=xe===null,Yt=xe===xe,$t=N0(xe),Pi=Se!==Oi,Vi=Se===null,rr=Se===Se,qr=N0(Se);if(!Vi&&!qr&&!$t&&xe>Se||$t&&Pi&&rr&&!Vi&&!qr||mt&&Pi&&rr||!je&&rr||!Yt)return 1;if(!mt&&!$t&&!qr&&xe<Se||qr&&je&&Yt&&!mt&&!$t||Vi&&je&&Yt||!Pi&&Yt||!rr)return-1}return 0}function Pn(xe,Se,je){for(var mt=-1,Yt=xe.criteria,$t=Se.criteria,Pi=Yt.length,Vi=je.length;++mt<Pi;){var rr=xn(Yt[mt],$t[mt]);if(rr){if(mt>=Vi)return rr;var qr=je[mt];return rr*(qr=="desc"?-1:1)}}return xe.index-Se.index}function to(xe,Se,je,mt){for(var Yt=-1,$t=xe.length,Pi=je.length,Vi=-1,rr=Se.length,qr=me($t-Pi,0),nn=f(rr+qr),dn=!mt;++Vi<rr;)nn[Vi]=Se[Vi];for(;++Yt<Pi;)(dn||Yt<$t)&&(nn[je[Yt]]=xe[Yt]);for(;qr--;)nn[Vi++]=xe[Yt++];return nn}function vs(xe,Se,je,mt){for(var Yt=-1,$t=xe.length,Pi=-1,Vi=je.length,rr=-1,qr=Se.length,nn=me($t-Vi,0),dn=f(nn+qr),lo=!mt;++Yt<nn;)dn[Yt]=xe[Yt];for(var Yo=Yt;++rr<qr;)dn[Yo+rr]=Se[rr];for(;++Pi<Vi;)(lo||Yt<$t)&&(dn[Yo+je[Pi]]=xe[Yt++]);return dn}function zo(xe,Se){var je=-1,mt=xe.length;for(Se||(Se=f(mt));++je<mt;)Se[je]=xe[je];return Se}function Ha(xe,Se,je,mt){var Yt=!je;je||(je={});for(var $t=-1,Pi=Se.length;++$t<Pi;){var Vi=Se[$t],rr=mt?mt(je[Vi],xe[Vi],Vi,je,xe):Oi;rr===Oi&&(rr=xe[Vi]),Yt?kA(je,Vi,rr):Xu(je,Vi,rr)}return je}function Gc(xe,Se){return Ha(xe,$v(xe),Se)}function $s(xe,Se){return Ha(xe,nL(xe),Se)}function Ac(xe,Se){return function(je,mt){var Yt=ss(je)?rPi:lh,$t=Se?Se():{};return Yt(je,xe,ga(mt,2),$t)}}function zg(xe){return as(function(Se,je){var mt=-1,Yt=je.length,$t=Yt>1?je[Yt-1]:Oi,Pi=Yt>2?je[2]:Oi;for($t=xe.length>3&&typeof $t=="function"?(Yt--,$t):Oi,Pi&&Lf(je[0],je[1],Pi)&&($t=Yt<3?Oi:$t,Yt=1),Se=y(Se);++mt<Yt;){var Vi=je[mt];Vi&&xe(Se,Vi,mt,$t)}return Se})}function u1(xe,Se){return function(je,mt){if(je==null)return je;if(!nf(je))return xe(je,mt);for(var Yt=je.length,$t=Se?Yt:-1,Pi=y(je);(Se?$t--:++$t<Yt)&&mt(Pi[$t],$t,Pi)!==!1;);return je}}function P0(xe){return function(Se,je,mt){for(var Yt=-1,$t=y(Se),Pi=mt(Se),Vi=Pi.length;Vi--;){var rr=Pi[xe?Vi:++Yt];if(je($t[rr],rr,$t)===!1)break}return Se}}function A1(xe,Se,je){var mt=Se&Dv,Yt=c1(xe);function $t(){var Pi=this&&this!==vC&&this instanceof $t?Yt:xe;return Pi.apply(mt?je:this,arguments)}return $t}function iL(xe){return function(Se){Se=Du(Se);var je=q8(Se)?Yw(Se):Oi,mt=je?je[0]:Se.charAt(0),Yt=je?Qp(je,1).join(""):Se.slice(1);return mt[xe]()+Yt}}function oy(xe){return function(Se){return pDe(dr(xS(Se).replace(V2i,"")),xe,"")}}function c1(xe){return function(){var Se=arguments;switch(Se.length){case 0:return new xe;case 1:return new xe(Se[0]);case 2:return new xe(Se[0],Se[1]);case 3:return new xe(Se[0],Se[1],Se[2]);case 4:return new xe(Se[0],Se[1],Se[2],Se[3]);case 5:return new xe(Se[0],Se[1],Se[2],Se[3],Se[4]);case 6:return new xe(Se[0],Se[1],Se[2],Se[3],Se[4],Se[5]);case 7:return new xe(Se[0],Se[1],Se[2],Se[3],Se[4],Se[5],Se[6])}var je=ut(xe.prototype),mt=xe.apply(je,Se);return Sl(mt)?mt:je}}function GI(xe,Se,je){var mt=c1(xe);function Yt(){for(var $t=arguments.length,Pi=f($t),Vi=$t,rr=Qd(Yt);Vi--;)Pi[Vi]=arguments[Vi];var qr=$t<3&&Pi[0]!==rr&&Pi[$t-1]!==rr?[]:FR(Pi,rr);if($t-=qr.length,$t<je)return iO(xe,Se,oM,Yt.placeholder,Oi,Pi,qr,Oi,Oi,je-$t);var nn=this&&this!==vC&&this instanceof Yt?mt:xe;return MI(nn,this,Pi)}return Yt}function XQ(xe){return function(Se,je,mt){var Yt=y(Se);if(!nf(Se)){var $t=ga(je,3);Se=rd(Se),je=function(Vi){return $t(Yt[Vi],Vi,Yt)}}var Pi=xe(Se,je,mt);return Pi>-1?Yt[$t?Se[Pi]:Pi]:Oi}}function $k(xe){return xm(function(Se){var je=Se.length,mt=je,Yt=gt.prototype.thru;for(xe&&Se.reverse();mt--;){var $t=Se[mt];if(typeof $t!="function")throw new B(Qv);if(Yt&&!Pi&&$Q($t)=="wrapper")var Pi=new gt([],!0)}for(mt=Pi?mt:je;++mt<je;){$t=Se[mt];var Vi=$Q($t),rr=Vi=="wrapper"?Yg($t):Oi;rr&&tB(rr[0])&&rr[1]==(FT|QQ|SQ|CK)&&!rr[4].length&&rr[9]==1?Pi=Pi[$Q(rr[0])].apply(Pi,rr[3]):Pi=$t.length==1&&tB($t)?Pi[Vi]():Pi.thru($t)}return function(){var qr=arguments,nn=qr[0];if(Pi&&qr.length==1&&ss(nn))return Pi.plant(nn).value();for(var dn=0,lo=je?Se[dn].apply(this,qr):nn;++dn<je;)lo=Se[dn].call(this,lo);return lo}})}function oM(xe,Se,je,mt,Yt,$t,Pi,Vi,rr,qr){var nn=Se&FT,dn=Se&Dv,lo=Se&Ak,Yo=Se&(QQ|Y8),Ja=Se&yDe,Hs=lo?Oi:c1(xe);function io(){for(var gs=arguments.length,Dl=f(gs),Of=gs;Of--;)Dl[Of]=arguments[Of];if(Yo)var ou=Qd(io),Uf=hPi(Dl,ou);if(mt&&(Dl=to(Dl,mt,Yt,Yo)),$t&&(Dl=vs(Dl,$t,Pi,Yo)),gs-=Uf,Yo&&gs<qr){var ch=FR(Dl,ou);return iO(xe,Se,oM,io.placeholder,je,Dl,ch,Vi,rr,qr-gs)}var hh=dn?je:this,Dm=lo?hh[xe]:xe;return gs=Dl.length,Vi?Dl=ed(Dl,Vi):Ja&&gs>1&&Dl.reverse(),nn&&rr<gs&&(Dl.length=rr),this&&this!==vC&&this instanceof io&&(Dm=Hs||c1(Dm)),Dm.apply(hh,Dl)}return io}function eO(xe,Se){return function(je,mt){return Tf(je,xe,Se(mt),{})}}function ay(xe,Se){return function(je,mt){var Yt;if(je===Oi&&mt===Oi)return Se;if(je!==Oi&&(Yt=je),mt!==Oi){if(Yt===Oi)return mt;typeof je=="string"||typeof mt=="string"?(je=vc(je),mt=vc(mt)):(je=Ou(je),mt=Ou(mt)),Yt=xe(je,mt)}return Yt}}function Sp(xe){return xm(function(Se){return Se=gd(Se,PI(ga())),as(function(je){var mt=this;return xe(Se,function(Yt){return MI(Yt,mt,je)})})})}function ZQ(xe,Se){Se=Se===Oi?" ":vc(Se);var je=Se.length;if(je<2)return je?rf(Se,xe):Se;var mt=rf(Se,U(xe/z8(Se)));return q8(Se)?Qp(Yw(mt),0,xe).join(""):mt.slice(0,xe)}function $H(xe,Se,je,mt){var Yt=Se&Dv,$t=c1(xe);function Pi(){for(var Vi=-1,rr=arguments.length,qr=-1,nn=mt.length,dn=f(nn+rr),lo=this&&this!==vC&&this instanceof Pi?$t:xe;++qr<nn;)dn[qr]=mt[qr];for(;rr--;)dn[qr++]=arguments[++Vi];return MI(lo,Yt?je:this,dn)}return Pi}function tO(xe){return function(Se,je,mt){return mt&&typeof mt!="number"&&Lf(Se,je,mt)&&(je=mt=Oi),Se=GC(Se),je===Oi?(je=Se,Se=0):je=GC(je),mt=mt===Oi?Se<je?1:-1:GC(mt),tf(Se,je,mt,xe)}}function aM(xe){return function(Se,je){return typeof Se=="string"&&typeof je=="string"||(Se=Ph(Se),je=Ph(je)),xe(Se,je)}}function iO(xe,Se,je,mt,Yt,$t,Pi,Vi,rr,qr){var nn=Se&QQ,dn=nn?Pi:Oi,lo=nn?Oi:Pi,Yo=nn?$t:Oi,Ja=nn?Oi:$t;Se|=nn?SQ:J8,Se&=~(nn?J8:SQ),Se&Zat||(Se&=~(Dv|Ak));var Hs=[xe,Se,Yt,Yo,dn,Ja,lo,Vi,rr,qr],io=je.apply(Oi,Hs);return tB(xe)&&lM(io,Hs),io.placeholder=mt,C1(io,xe,Se)}function rL(xe){var Se=x[xe];return function(je,mt){if(je=Ph(je),mt=mt==null?0:Ce(Gs(mt),292),mt&&re(je)){var Yt=(Du(je)+"e").split("e"),$t=Se(Yt[0]+"e"+(+Yt[1]+mt));return Yt=(Du($t)+"e").split("e"),+(Yt[0]+"e"+(+Yt[1]-mt))}return Se(je)}}var HI=be&&1/Joe(new be([,-0]))[1]==uk?function(xe){return new be(xe)}:Zg;function tr(xe){return function(Se){var je=Rf(Se);return je==Jw?xDe(Se):je==Kw?EPi(Se):cPi(Se,xe(Se))}}function Ur(xe,Se,je,mt,Yt,$t,Pi,Vi){var rr=Se&Ak;if(!rr&&typeof xe!="function")throw new B(Qv);var qr=mt?mt.length:0;if(qr||(Se&=~(SQ|J8),mt=Yt=Oi),Pi=Pi===Oi?Pi:me(Gs(Pi),0),Vi=Vi===Oi?Vi:Gs(Vi),qr-=Yt?Yt.length:0,Se&J8){var nn=mt,dn=Yt;mt=Yt=Oi}var lo=rr?Oi:Yg(xe),Yo=[xe,Se,je,mt,Yt,nn,dn,$t,Pi,Vi];if(lo&&t6(Yo,lo),xe=Yo[0],Se=Yo[1],je=Yo[2],mt=Yo[3],Yt=Yo[4],Vi=Yo[9]=Yo[9]===Oi?rr?0:xe.length:me(Yo[9]-qr,0),!Vi&&Se&(QQ|Y8)&&(Se&=~(QQ|Y8)),!Se||Se==Dv)var Ja=A1(xe,Se,je);else Se==QQ||Se==Y8?Ja=GI(xe,Se,Vi):(Se==SQ||Se==(Dv|SQ))&&!Yt.length?Ja=$H(xe,Se,je,mt):Ja=oM.apply(Oi,Yo);var Hs=lo?Uc:lM;return C1(Hs(Ja,Yo),xe,Se)}function Mr(xe,Se,je,mt){return xe===Oi||Pp(xe,w[je])&&!R.call(mt,je)?Se:xe}function yo(xe,Se,je,mt,Yt,$t){return Sl(xe)&&Sl(Se)&&($t.set(Se,xe),Tt(xe,Se,Oi,yo,$t),$t.delete(Se)),xe}function Bs(xe){return Mh(xe)?Oi:xe}function Ql(xe,Se,je,mt,Yt,$t){var Pi=je&V8,Vi=xe.length,rr=Se.length;if(Vi!=rr&&!(Pi&&rr>Vi))return!1;var qr=$t.get(xe),nn=$t.get(Se);if(qr&&nn)return qr==Se&&nn==xe;var dn=-1,lo=!0,Yo=je&Voe?new Mt:Oi;for($t.set(xe,Se),$t.set(Se,xe);++dn<Vi;){var Ja=xe[dn],Hs=Se[dn];if(mt)var io=Pi?mt(Hs,Ja,dn,Se,xe,$t):mt(Ja,Hs,dn,xe,Se,$t);if(io!==Oi){if(io)continue;lo=!1;break}if(Yo){if(!mDe(Se,function(gs,Dl){if(!mK(Yo,Dl)&&(Ja===gs||Yt(Ja,gs,je,mt,$t)))return Yo.push(Dl)})){lo=!1;break}}else if(!(Ja===Hs||Yt(Ja,Hs,je,mt,$t))){lo=!1;break}}return $t.delete(xe),$t.delete(Se),lo}function bd(xe,Se,je,mt,Yt,$t,Pi){switch(je){case j8:if(xe.byteLength!=Se.byteLength||xe.byteOffset!=Se.byteOffset)return!1;xe=xe.buffer,Se=Se.buffer;case BK:return!(xe.byteLength!=Se.byteLength||!$t(new K(xe),new K(Se)));case EK:case xK:case yK:return Pp(+xe,+Se);case Zoe:return xe.name==Se.name&&xe.message==Se.message;case IK:case _K:return xe==Se+"";case Jw:var Vi=xDe;case Kw:var rr=mt&V8;if(Vi||(Vi=Joe),xe.size!=Se.size&&!rr)return!1;var qr=Pi.get(xe);if(qr)return qr==Se;mt|=Voe,Pi.set(xe,Se);var nn=Ql(Vi(xe),Vi(Se),mt,Yt,$t,Pi);return Pi.delete(xe),nn;case Woe:if(yt)return yt.call(xe)==yt.call(Se)}return!1}function dA(xe,Se,je,mt,Yt,$t){var Pi=je&V8,Vi=VI(xe),rr=Vi.length,qr=VI(Se),nn=qr.length;if(rr!=nn&&!Pi)return!1;for(var dn=rr;dn--;){var lo=Vi[dn];if(!(Pi?lo in Se:R.call(Se,lo)))return!1}var Yo=$t.get(xe),Ja=$t.get(Se);if(Yo&&Ja)return Yo==Se&&Ja==xe;var Hs=!0;$t.set(xe,Se),$t.set(Se,xe);for(var io=Pi;++dn<rr;){lo=Vi[dn];var gs=xe[lo],Dl=Se[lo];if(mt)var Of=Pi?mt(Dl,gs,lo,Se,xe,$t):mt(gs,Dl,lo,xe,Se,$t);if(!(Of===Oi?gs===Dl||Yt(gs,Dl,je,mt,$t):Of)){Hs=!1;break}io||(io=lo=="constructor")}if(Hs&&!io){var ou=xe.constructor,Uf=Se.constructor;ou!=Uf&&"constructor"in xe&&"constructor"in Se&&!(typeof ou=="function"&&ou instanceof ou&&typeof Uf=="function"&&Uf instanceof Uf)&&(Hs=!1)}return $t.delete(xe),$t.delete(Se),Hs}function xm(xe){return uM(aL(xe,Oi,qI),xe+"")}function VI(xe){return Wl(xe,rd,$v)}function R0(xe){return Wl(xe,qg,nL)}var Yg=ze?function(xe){return ze.get(xe)}:Zg;function $Q(xe){for(var Se=xe.name+"",je=Je[Se],mt=R.call(Je,Se)?je.length:0;mt--;){var Yt=je[mt],$t=Yt.func;if($t==null||$t==xe)return Yt.name}return Se}function Qd(xe){var Se=R.call(Ze,"placeholder")?Ze:xe;return Se.placeholder}function ga(){var xe=Ze.iteratee||of;return xe=xe===of?bn:xe,arguments.length?xe(arguments[0],arguments[1]):xe}function zI(xe,Se){var je=xe.__data__;return eB(Se)?je[typeof Se=="string"?"string":"hash"]:je.map}function Eu(xe){for(var Se=rd(xe),je=Se.length;je--;){var mt=Se[je],Yt=xe[mt];Se[je]=[mt,Yt,d1(Yt)]}return Se}function sy(xe,Se){var je=pPi(xe,Se);return lg(je)?je:Oi}function rO(xe){var Se=R.call(xe,Ae),je=xe[Ae];try{xe[Ae]=Oi;var mt=!0}catch{}var Yt=L.call(xe);return mt&&(Se?xe[Ae]=je:delete xe[Ae]),Yt}var $v=Y?function(xe){return xe==null?[]:(xe=y(xe),RR(Y(xe),function(Se){return ie.call(xe,Se)}))}:M1,nL=Y?function(xe){for(var Se=[];xe;)LR(Se,$v(xe)),xe=q(xe);return Se}:M1,Rf=Ss;(ke&&Rf(new ke(new ArrayBuffer(1)))!=j8||Oe&&Rf(new Oe)!=Jw||Le&&Rf(Le.resolve())!=tst||be&&Rf(new be)!=Kw||Ne&&Rf(new Ne)!=vK)&&(Rf=function(xe){var Se=Ss(xe),je=Se==NT?xe.constructor:Oi,mt=je?Wg(je):"";if(mt)switch(mt){case Xe:return j8;case et:return Jw;case ot:return tst;case Et:return Kw;case Ct:return vK}return Se});function oL(xe,Se,je){for(var mt=-1,Yt=je.length;++mt<Yt;){var $t=je[mt],Pi=$t.size;switch($t.type){case"drop":xe+=Pi;break;case"dropRight":Se-=Pi;break;case"take":Se=Ce(Se,xe+Pi);break;case"takeRight":xe=me(xe,Se-Pi);break}}return{start:xe,end:Se}}function eS(xe){var Se=xe.match(f2i);return Se?Se[1].split(g2i):[]}function kE(xe,Se,je){Se=Em(Se,xe);for(var mt=-1,Yt=Se.length,$t=!1;++mt<Yt;){var Pi=Kg(Se[mt]);if(!($t=xe!=null&&je(xe,Pi)))break;xe=xe[Pi]}return $t||++mt!=Yt?$t:(Yt=xe==null?0:xe.length,!!Yt&&Ah(Yt)&&Dp(Pi,Yt)&&(ss(xe)||_m(xe)))}function h1(xe){var Se=xe.length,je=new xe.constructor(Se);return Se&&typeof xe[0]=="string"&&R.call(xe,"index")&&(je.index=xe.index,je.input=xe.input),je}function tS(xe){return typeof xe.constructor=="function"&&!ly(xe)?ut(q(xe)):{}}function iS(xe,Se,je){var mt=xe.constructor;switch(Se){case BK:return uc(xe);case EK:case xK:return new mt(+xe);case j8:return sr(xe,je);case QDe:case SDe:case DDe:case TDe:case MDe:case PDe:case RDe:case LDe:case FDe:return Kr(xe,je);case Jw:return new mt;case yK:case _K:return new mt(xe);case IK:return vi(xe);case Kw:return new mt;case Woe:return gr(xe)}}function Jg(xe,Se){var je=Se.length;if(!je)return xe;var mt=je-1;return Se[mt]=(je>1?"& ":"")+Se[mt],Se=Se.join(je>2?", ":" "),xe.replace(d2i,`{ /* [wrapped with `+Se+`] */ `)}function nO(xe){return ss(xe)||_m(xe)||!!(le&&xe&&xe[le])}function Dp(xe,Se){var je=typeof xe;return Se=Se??PR,!!Se&&(je=="number"||je!="symbol"&&v2i.test(xe))&&xe>-1&&xe%1==0&&xe<Se}function Lf(xe,Se,je){if(!Sl(je))return!1;var mt=typeof Se;return(mt=="number"?nf(je)&&Dp(Se,je.length):mt=="string"&&Se in je)?Pp(je[Se],xe):!1}function YI(xe,Se){if(ss(xe))return!1;var je=typeof xe;return je=="number"||je=="symbol"||je=="boolean"||xe==null||N0(xe)?!0:u2i.test(xe)||!l2i.test(xe)||Se!=null&&xe in y(Se)}function eB(xe){var Se=typeof xe;return Se=="string"||Se=="number"||Se=="symbol"||Se=="boolean"?xe!=="__proto__":xe===null}function tB(xe){var Se=$Q(xe),je=Ze[Se];if(typeof je!="function"||!(Se in xt.prototype))return!1;if(xe===je)return!0;var mt=Yg(je);return!!mt&&xe===mt[0]}function oO(xe){return!!M&&M in xe}var e6=S?OC:Ya;function ly(xe){var Se=xe&&xe.constructor,je=typeof Se=="function"&&Se.prototype||w;return xe===je}function d1(xe){return xe===xe&&!Sl(xe)}function f1(xe,Se){return function(je){return je==null?!1:je[xe]===Se&&(Se!==Oi||xe in y(je))}}function g1(xe){var Se=Ms(xe,function(mt){return je.size===kMi&&je.clear(),mt}),je=Se.cache;return Se}function t6(xe,Se){var je=xe[1],mt=Se[1],Yt=je|mt,$t=Yt<(Dv|Ak|FT),Pi=mt==FT&&je==QQ||mt==FT&&je==CK&&xe[7].length<=Se[8]||mt==(FT|CK)&&Se[7].length<=Se[8]&&je==QQ;if(!($t||Pi))return xe;mt&Dv&&(xe[2]=Se[2],Yt|=je&Dv?0:Zat);var Vi=Se[3];if(Vi){var rr=xe[3];xe[3]=rr?to(rr,Vi,Se[4]):Vi,xe[4]=rr?FR(xe[3],qoe):Se[4]}return Vi=Se[5],Vi&&(rr=xe[5],xe[5]=rr?vs(rr,Vi,Se[6]):Vi,xe[6]=rr?FR(xe[5],qoe):Se[6]),Vi=Se[7],Vi&&(xe[7]=Vi),mt&FT&&(xe[8]=xe[8]==null?Se[8]:Ce(xe[8],Se[8])),xe[9]==null&&(xe[9]=Se[9]),xe[0]=Se[0],xe[1]=Yt,xe}function p1(xe){var Se=[];if(xe!=null)for(var je in y(xe))Se.push(je);return Se}function m1(xe){return L.call(xe)}function aL(xe,Se,je){return Se=me(Se===Oi?xe.length-1:Se,0),function(){for(var mt=arguments,Yt=-1,$t=me(mt.length-Se,0),Pi=f($t);++Yt<$t;)Pi[Yt]=mt[Se+Yt];Yt=-1;for(var Vi=f(Se+1);++Yt<Se;)Vi[Yt]=mt[Yt];return Vi[Se]=je(Pi),MI(xe,this,Vi)}}function Th(xe,Se){return Se.length<2?xe:Mo(xe,Bd(Se,0,-1))}function ed(xe,Se){for(var je=xe.length,mt=Ce(Se.length,je),Yt=zo(xe);mt--;){var $t=Se[mt];xe[mt]=Dp($t,je)?Yt[$t]:Oi}return xe}function sM(xe,Se){if(!(Se==="constructor"&&typeof xe[Se]=="function")&&Se!="__proto__")return xe[Se]}var lM=iB(Uc),JI=ae||function(xe,Se){return vC.setTimeout(xe,Se)},uM=iB(s1);function C1(xe,Se,je){var mt=Se+"";return uM(xe,Jg(mt,rS(eS(mt),je)))}function iB(xe){var Se=0,je=0;return function(){var mt=Ie(),Yt=HMi-(mt-je);if(je=mt,Yt>0){if(++Se>=GMi)return arguments[0]}else Se=0;return xe.apply(Oi,arguments)}}function KI(xe,Se){var je=-1,mt=xe.length,Yt=mt-1;for(Se=Se===Oi?mt:Se;++je<Se;){var $t=Zu(je,Yt),Pi=xe[$t];xe[$t]=xe[je],xe[je]=Pi}return xe.length=Se,xe}var WI=g1(function(xe){var Se=[];return xe.charCodeAt(0)===46&&Se.push(""),xe.replace(A2i,function(je,mt,Yt,$t){Se.push(Yt?$t.replace(C2i,"$1"):mt||je)}),Se});function Kg(xe){if(typeof xe=="string"||N0(xe))return xe;var Se=xe+"";return Se=="0"&&1/xe==-uk?"-0":Se}function Wg(xe){if(xe!=null){try{return D.call(xe)}catch{}try{return xe+""}catch{}}return""}function rS(xe,Se){return Sv(WMi,function(je){var mt="_."+je[0];Se&je[1]&&!Yoe(xe,mt)&&xe.push(mt)}),xe.sort()}function jI(xe){if(xe instanceof xt)return xe.clone();var Se=new gt(xe.__wrapped__,xe.__chain__);return Se.__actions__=zo(xe.__actions__),Se.__index__=xe.__index__,Se.__values__=xe.__values__,Se}function aO(xe,Se,je){(je?Lf(xe,Se,je):Se===Oi)?Se=1:Se=me(Gs(Se),0);var mt=xe==null?0:xe.length;if(!mt||Se<1)return[];for(var Yt=0,$t=0,Pi=f(U(mt/Se));Yt<mt;)Pi[$t++]=Bd(xe,Yt,Yt+=Se);return Pi}function sO(xe){for(var Se=-1,je=xe==null?0:xe.length,mt=0,Yt=[];++Se<je;){var $t=xe[Se];$t&&(Yt[mt++]=$t)}return Yt}function lO(){var xe=arguments.length;if(!xe)return[];for(var Se=f(xe-1),je=arguments[0],mt=xe;mt--;)Se[mt-1]=arguments[mt];return LR(ss(je)?zo(je):[je],Mn(Se,1))}var i6=as(function(xe,Se){return $u(xe)?ci(xe,Mn(Se,1,$u,!0)):[]}),sL=as(function(xe,Se){var je=Tp(Se);return $u(je)&&(je=Oi),$u(xe)?ci(xe,Mn(Se,1,$u,!0),ga(je,2)):[]}),uy=as(function(xe,Se){var je=Tp(Se);return $u(je)&&(je=Oi),$u(xe)?ci(xe,Mn(Se,1,$u,!0),Oi,je):[]});function E1(xe,Se,je){var mt=xe==null?0:xe.length;return mt?(Se=je||Se===Oi?1:Gs(Se),Bd(xe,Se<0?0:Se,mt)):[]}function lL(xe,Se,je){var mt=xe==null?0:xe.length;return mt?(Se=je||Se===Oi?1:Gs(Se),Se=mt-Se,Bd(xe,0,Se<0?0:Se)):[]}function oi(xe,Se){return xe&&xe.length?Cm(xe,ga(Se,3),!0,!0):[]}function NC(xe,Se){return xe&&xe.length?Cm(xe,ga(Se,3),!0):[]}function nS(xe,Se,je,mt){var Yt=xe==null?0:xe.length;return Yt?(je&&typeof je!="number"&&Lf(xe,Se,je)&&(je=0,mt=Yt),Or(xe,Se,je,mt)):[]}function L0(xe,Se,je){var mt=xe==null?0:xe.length;if(!mt)return-1;var Yt=je==null?0:Gs(je);return Yt<0&&(Yt=me(mt+Yt,0)),joe(xe,ga(Se,3),Yt)}function yl(xe,Se,je){var mt=xe==null?0:xe.length;if(!mt)return-1;var Yt=mt-1;return je!==Oi&&(Yt=Gs(je),Yt=je<0?me(mt+Yt,0):Ce(Yt,mt-1)),joe(xe,ga(Se,3),Yt,!0)}function qI(xe){var Se=xe==null?0:xe.length;return Se?Mn(xe,1):[]}function uO(xe){var Se=xe==null?0:xe.length;return Se?Mn(xe,uk):[]}function x1(xe,Se){var je=xe==null?0:xe.length;return je?(Se=Se===Oi?1:Gs(Se),Mn(xe,Se)):[]}function XI(xe){for(var Se=-1,je=xe==null?0:xe.length,mt={};++Se<je;){var Yt=xe[Se];mt[Yt[0]]=Yt[1]}return mt}function AO(xe){return xe&&xe.length?xe[0]:Oi}function oS(xe,Se,je){var mt=xe==null?0:xe.length;if(!mt)return-1;var Yt=je==null?0:Gs(je);return Yt<0&&(Yt=me(mt+Yt,0)),X8(xe,Se,Yt)}function AM(xe){var Se=xe==null?0:xe.length;return Se?Bd(xe,0,-1):[]}var cM=as(function(xe){var Se=gd(xe,NE);return Se.length&&Se[0]===xe[0]?Cu(Se):[]}),cO=as(function(xe){var Se=Tp(xe),je=gd(xe,NE);return Se===Tp(je)?Se=Oi:je.pop(),je.length&&je[0]===xe[0]?Cu(je,ga(Se,2)):[]}),OE=as(function(xe){var Se=Tp(xe),je=gd(xe,NE);return Se=typeof Se=="function"?Se:Oi,Se&&je.pop(),je.length&&je[0]===xe[0]?Cu(je,Oi,Se):[]});function r6(xe,Se){return xe==null?"":se.call(xe,Se)}function Tp(xe){var Se=xe==null?0:xe.length;return Se?xe[Se-1]:Oi}function rB(xe,Se,je){var mt=xe==null?0:xe.length;if(!mt)return-1;var Yt=mt;return je!==Oi&&(Yt=Gs(je),Yt=Yt<0?me(mt+Yt,0):Ce(Yt,mt-1)),Se===Se?yPi(xe,Se,Yt):joe(xe,Gst,Yt,!0)}function n6(xe,Se){return xe&&xe.length?Ii(xe,Gs(Se)):Oi}var Ff=as(td);function td(xe,Se){return xe&&xe.length&&Se&&Se.length?hA(xe,Se):xe}function el(xe,Se,je){return xe&&xe.length&&Se&&Se.length?hA(xe,Se,ga(je,2)):xe}function tl(xe,Se,je){return xe&&xe.length&&Se&&Se.length?hA(xe,Se,Oi,je):xe}var il=xm(function(xe,Se){var je=xe==null?0:xe.length,mt=S0(xe,Se);return sc(xe,gd(Se,function(Yt){return Dp(Yt,je)?+Yt:Yt}).sort(xn)),mt});function rl(xe,Se){var je=[];if(!(xe&&xe.length))return je;var mt=-1,Yt=[],$t=xe.length;for(Se=ga(Se,3);++mt<$t;){var Pi=xe[mt];Se(Pi,mt,xe)&&(je.push(Pi),Yt.push(mt))}return sc(xe,Yt),je}function Os(xe){return xe==null?xe:Ge.call(xe)}function xs(xe,Se,je){var mt=xe==null?0:xe.length;return mt?(je&&typeof je!="number"&&Lf(xe,Se,je)?(Se=0,je=mt):(Se=Se==null?0:Gs(Se),je=je===Oi?mt:Gs(je)),Bd(xe,Se,je)):[]}function nl(xe,Se){return wd(xe,Se)}function ol(xe,Se,je){return Mf(xe,Se,ga(je,2))}function is(xe,Se){var je=xe==null?0:xe.length;if(je){var mt=wd(xe,Se);if(mt<je&&Pp(xe[mt],Se))return mt}return-1}function al(xe,Se){return wd(xe,Se,!0)}function sl(xe,Se,je){return Mf(xe,Se,ga(je,2),!0)}function ll(xe,Se){var je=xe==null?0:xe.length;if(je){var mt=wd(xe,Se,!0)-1;if(Pp(xe[mt],Se))return mt}return-1}function ul(xe){return xe&&xe.length?FC(xe):[]}function Al(xe,Se){return xe&&xe.length?FC(xe,ga(Se,2)):[]}function Ks(xe){var Se=xe==null?0:xe.length;return Se?Bd(xe,1,Se):[]}function Ws(xe,Se,je){return xe&&xe.length?(Se=je||Se===Oi?1:Gs(Se),Bd(xe,0,Se<0?0:Se)):[]}function cl(xe,Se,je){var mt=xe==null?0:xe.length;return mt?(Se=je||Se===Oi?1:Gs(Se),Se=mt-Se,Bd(xe,Se<0?0:Se,mt)):[]}function hl(xe,Se){return xe&&xe.length?Cm(xe,ga(Se,3),!1,!0):[]}function Us(xe,Se){return xe&&xe.length?Cm(xe,ga(Se,3)):[]}var Qs=as(function(xe){return Pf(Mn(xe,1,$u,!0))}),Ts=as(function(xe){var Se=Tp(xe);return $u(Se)&&(Se=Oi),Pf(Mn(xe,1,$u,!0),ga(Se,2))}),dl=as(function(xe){var Se=Tp(xe);return Se=typeof Se=="function"?Se:Oi,Pf(Mn(xe,1,$u,!0),Oi,Se)});function js(xe){return xe&&xe.length?Pf(xe):[]}function fl(xe,Se){return xe&&xe.length?Pf(xe,ga(Se,2)):[]}function kC(xe,Se){return Se=typeof Se=="function"?Se:Oi,xe&&xe.length?Pf(xe,Oi,Se):[]}function nB(xe){if(!(xe&&xe.length))return[];var Se=0;return xe=RR(xe,function(je){if($u(je))return Se=me(je.length,Se),!0}),CDe(Se,function(je){return gd(xe,wDe(je))})}function UE(xe,Se){if(!(xe&&xe.length))return[];var je=nB(xe);return Se==null?je:gd(je,function(mt){return MI(Se,Oi,mt)})}var F0=as(function(xe,Se){return $u(xe)?ci(xe,Se):[]}),uL=as(function(xe){return Xv(RR(xe,$u))}),hM=as(function(xe){var Se=Tp(xe);return $u(Se)&&(Se=Oi),Xv(RR(xe,$u),ga(Se,2))}),dM=as(function(xe){var Se=Tp(xe);return Se=typeof Se=="function"?Se:Oi,Xv(RR(xe,$u),Oi,Se)}),oB=as(nB);function oo(xe,Se){return Zv(xe||[],Se||[],Xu)}function co(xe,Se){return Zv(xe||[],Se||[],vd)}var oa=as(function(xe){var Se=xe.length,je=Se>1?xe[Se-1]:Oi;return je=typeof je=="function"?(xe.pop(),je):Oi,UE(xe,je)});function Po(xe){var Se=Ze(xe);return Se.__chain__=!0,Se}function Fa(xe,Se){return Se(xe),xe}function la(xe,Se){return Se(xe)}var va=xm(function(xe){var Se=xe.length,je=Se?xe[0]:0,mt=this.__wrapped__,Yt=function($t){return S0($t,xe)};return Se>1||this.__actions__.length||!(mt instanceof xt)||!Dp(je)?this.thru(Yt):(mt=mt.slice(je,+je+(Se?1:0)),mt.__actions__.push({func:la,args:[Yt],thisArg:Oi}),new gt(mt,this.__chain__).thru(function($t){return Se&&!$t.length&&$t.push(Oi),$t}))});function qs(){return Po(this)}function Xn(){return new gt(this.value(),this.__chain__)}function qt(){this.__values__===Oi&&(this.__values__=wM(this.value()));var xe=this.__index__>=this.__values__.length,Se=xe?Oi:this.__values__[this.__index__++];return{done:xe,value:Se}}function aS(){return this}function fM(xe){for(var Se,je=this;je instanceof St;){var mt=jI(je);mt.__index__=0,mt.__values__=Oi,Se?Yt.__wrapped__=mt:Se=mt;var Yt=mt;je=je.__wrapped__}return Yt.__wrapped__=xe,Se}function aB(){var xe=this.__wrapped__;if(xe instanceof xt){var Se=xe;return this.__actions__.length&&(Se=new xt(this)),Se=Se.reverse(),Se.__actions__.push({func:la,args:[Os],thisArg:Oi}),new gt(Se,this.__chain__)}return this.thru(Os)}function hO(){return l1(this.__wrapped__,this.__actions__)}var jg=Ac(function(xe,Se,je){R.call(xe,je)?++xe[je]:kA(xe,je,1)});function AL(xe,Se,je){var mt=ss(xe)?fst:Yr;return je&&Lf(xe,Se,je)&&(Se=Oi),mt(xe,ga(Se,3))}function o6(xe,Se){var je=ss(xe)?RR:Cn;return je(xe,ga(Se,3))}var a6=XQ(L0),dO=XQ(yl);function gM(xe,Se){return Mn(y1(xe,Se),1)}function fO(xe,Se){return Mn(y1(xe,Se),uk)}function ZI(xe,Se,je){return je=je===Oi?1:Gs(je),Mn(y1(xe,Se),je)}function sS(xe,Se){var je=ss(xe)?Sv:Gi;return je(xe,ga(Se,3))}function gO(xe,Se){var je=ss(xe)?nPi:yr;return je(xe,ga(Se,3))}var pO=Ac(function(xe,Se,je){R.call(xe,je)?xe[je].push(Se):kA(xe,je,[Se])});function sB(xe,Se,je,mt){xe=nf(xe)?xe:hB(xe),je=je&&!mt?Gs(je):0;var Yt=xe.length;return je<0&&(je=me(Yt+je,0)),uB(xe)?je<=Yt&&xe.indexOf(Se,je)>-1:!!Yt&&X8(xe,Se,je)>-1}var mO=as(function(xe,Se,je){var mt=-1,Yt=typeof Se=="function",$t=nf(xe)?f(xe.length):[];return Gi(xe,function(Pi){$t[++mt]=Yt?MI(Se,Pi,je):ag(Pi,Se,je)}),$t}),CO=Ac(function(xe,Se,je){kA(xe,je,Se)});function y1(xe,Se){var je=ss(xe)?gd:Fe;return je(xe,ga(Se,3))}function cL(xe,Se,je,mt){return xe==null?[]:(ss(Se)||(Se=Se==null?[]:[Se]),je=mt?Oi:je,ss(je)||(je=je==null?[]:[je]),Ji(xe,Se,je))}var s6=Ac(function(xe,Se,je){xe[je?0:1].push(Se)},function(){return[[],[]]});function EO(xe,Se,je){var mt=ss(xe)?pDe:mst,Yt=arguments.length<3;return mt(xe,ga(Se,4),je,Yt,Gi)}function xO(xe,Se,je){var mt=ss(xe)?oPi:mst,Yt=arguments.length<3;return mt(xe,ga(Se,4),je,Yt,yr)}function hL(xe,Se){var je=ss(xe)?RR:Cn;return je(xe,xM(ga(Se,3)))}function dL(xe){var Se=ss(xe)?Go:T0;return Se(xe)}function yO(xe,Se,je){(je?Lf(xe,Se,je):Se===Oi)?Se=1:Se=Gs(Se);var mt=ss(xe)?bl:pm;return mt(xe,Se)}function lS(xe){var Se=ss(xe)?nu:lc;return Se(xe)}function IO(xe){if(xe==null)return 0;if(nf(xe))return uB(xe)?z8(xe):xe.length;var Se=Rf(xe);return Se==Jw||Se==Kw?xe.size:$e(xe).length}function fL(xe,Se,je){var mt=ss(xe)?mDe:M0;return je&&Lf(xe,Se,je)&&(Se=Oi),mt(xe,ga(Se,3))}var gL=as(function(xe,Se){if(xe==null)return[];var je=Se.length;return je>1&&Lf(xe,Se[0],Se[1])?Se=[]:je>2&&Lf(Se[0],Se[1],Se[2])&&(Se=[Se[0]]),Ji(xe,Mn(Se,1),[])}),$I=fe||function(){return vC.Date.now()};function _O(xe,Se){if(typeof Se!="function")throw new B(Qv);return xe=Gs(xe),function(){if(--xe<1)return Se.apply(this,arguments)}}function ym(xe,Se,je){return Se=je?Oi:Se,Se=xe&&Se==null?xe.length:Se,Ur(xe,FT,Oi,Oi,Oi,Oi,Se)}function pM(xe,Se){var je;if(typeof Se!="function")throw new B(Qv);return xe=Gs(xe),function(){return--xe>0&&(je=Se.apply(this,arguments)),xe<=1&&(Se=Oi),je}}var mM=as(function(xe,Se,je){var mt=Dv;if(je.length){var Yt=FR(je,Qd(mM));mt|=SQ}return Ur(xe,mt,Se,je,Yt)}),pL=as(function(xe,Se,je){var mt=Dv|Ak;if(je.length){var Yt=FR(je,Qd(pL));mt|=SQ}return Ur(Se,mt,xe,je,Yt)});function mL(xe,Se,je){Se=je?Oi:Se;var mt=Ur(xe,QQ,Oi,Oi,Oi,Oi,Oi,Se);return mt.placeholder=mL.placeholder,mt}function uS(xe,Se,je){Se=je?Oi:Se;var mt=Ur(xe,Y8,Oi,Oi,Oi,Oi,Oi,Se);return mt.placeholder=uS.placeholder,mt}function CM(xe,Se,je){var mt,Yt,$t,Pi,Vi,rr,qr=0,nn=!1,dn=!1,lo=!0;if(typeof xe!="function")throw new B(Qv);Se=Ph(Se)||0,Sl(je)&&(nn=!!je.leading,dn="maxWait"in je,$t=dn?me(Ph(je.maxWait)||0,Se):$t,lo="trailing"in je?!!je.trailing:lo);function Yo(ch){var hh=mt,Dm=Yt;return mt=Yt=Oi,qr=ch,Pi=xe.apply(Dm,hh),Pi}function Ja(ch){return qr=ch,Vi=JI(gs,Se),nn?Yo(ch):Pi}function Hs(ch){var hh=ch-rr,Dm=ch-qr,Cy=Se-hh;return dn?Ce(Cy,$t-Dm):Cy}function io(ch){var hh=ch-rr,Dm=ch-qr;return rr===Oi||hh>=Se||hh<0||dn&&Dm>=$t}function gs(){var ch=$I();if(io(ch))return Dl(ch);Vi=JI(gs,Hs(ch))}function Dl(ch){return Vi=Oi,lo&&mt?Yo(ch):(mt=Yt=Oi,Pi)}function Of(){Vi!==Oi&&ug(Vi),qr=0,mt=rr=Yt=Vi=Oi}function ou(){return Vi===Oi?Pi:Dl($I())}function Uf(){var ch=$I(),hh=io(ch);if(mt=arguments,Yt=this,rr=ch,hh){if(Vi===Oi)return Ja(rr);if(dn)return ug(Vi),Vi=JI(gs,Se),Yo(rr)}return Vi===Oi&&(Vi=JI(gs,Se)),Pi}return Uf.cancel=Of,Uf.flush=ou,Uf}var CL=as(function(xe,Se){return $h(xe,1,Se)}),l6=as(function(xe,Se,je){return $h(xe,Ph(Se)||0,je)});function EM(xe){return Ur(xe,yDe)}function Ms(xe,Se){if(typeof xe!="function"||Se!=null&&typeof Se!="function")throw new B(Qv);var je=function(){var mt=arguments,Yt=Se?Se.apply(this,mt):mt[0],$t=je.cache;if($t.has(Yt))return $t.get(Yt);var Pi=xe.apply(this,mt);return je.cache=$t.set(Yt,Pi)||$t,Pi};return je.cache=new(Ms.Cache||jt),je}Ms.Cache=jt;function xM(xe){if(typeof xe!="function")throw new B(Qv);return function(){var Se=arguments;switch(Se.length){case 0:return!xe.call(this);case 1:return!xe.call(this,Se[0]);case 2:return!xe.call(this,Se[0],Se[1]);case 3:return!xe.call(this,Se[0],Se[1],Se[2])}return!xe.apply(this,Se)}}function vO(xe){return pM(2,xe)}var AS=ry(function(xe,Se){Se=Se.length==1&&ss(Se[0])?gd(Se[0],PI(ga())):gd(Mn(Se,1),PI(ga()));var je=Se.length;return as(function(mt){for(var Yt=-1,$t=Ce(mt.length,je);++Yt<$t;)mt[Yt]=Se[Yt].call(this,mt[Yt]);return MI(xe,this,mt)})}),yM=as(function(xe,Se){var je=FR(Se,Qd(yM));return Ur(xe,SQ,Oi,Se,je)}),BO=as(function(xe,Se){var je=FR(Se,Qd(BO));return Ur(xe,J8,Oi,Se,je)}),u6=xm(function(xe,Se){return Ur(xe,CK,Oi,Oi,Oi,Se)});function Im(xe,Se){if(typeof xe!="function")throw new B(Qv);return Se=Se===Oi?Se:Gs(Se),as(xe,Se)}function wO(xe,Se){if(typeof xe!="function")throw new B(Qv);return Se=Se==null?0:me(Gs(Se),0),as(function(je){var mt=je[Se],Yt=Qp(je,0,Se);return mt&&LR(Yt,mt),MI(xe,this,Yt)})}function IM(xe,Se,je){var mt=!0,Yt=!0;if(typeof xe!="function")throw new B(Qv);return Sl(je)&&(mt="leading"in je?!!je.leading:mt,Yt="trailing"in je?!!je.trailing:Yt),CM(xe,Se,{leading:mt,maxWait:Se,trailing:Yt})}function EL(xe){return ym(xe,1)}function xL(xe,Se){return yM(bp(Se),xe)}function yL(){if(!arguments.length)return[];var xe=arguments[0];return ss(xe)?xe:[xe]}function Ag(xe){return Su(xe,H8)}function Mp(xe,Se){return Se=typeof Se=="function"?Se:Oi,Su(xe,H8,Se)}function I1(xe){return Su(xe,MR|H8)}function IL(xe,Se){return Se=typeof Se=="function"?Se:Oi,Su(xe,MR|H8,Se)}function _M(xe,Se){return Se==null||_d(xe,Se,rd(Se))}function Pp(xe,Se){return xe===Se||xe!==xe&&Se!==Se}var _L=aM(uh),bO=aM(function(xe,Se){return xe>=Se}),_m=FE(function(){return arguments}())?FE:function(xe){return Hc(xe)&&R.call(xe,"callee")&&!ie.call(xe,"callee")},ss=f.isArray,vm=lst?PI(lst):Bp;function nf(xe){return xe!=null&&Ah(xe.length)&&!OC(xe)}function $u(xe){return Hc(xe)&&nf(xe)}function _1(xe){return xe===!0||xe===!1||Hc(xe)&&Ss(xe)==EK}var Rp=z||Ya,v1=ust?PI(ust):Fo;function A6(xe){return Hc(xe)&&xe.nodeType===1&&!Mh(xe)}function c6(xe){if(xe==null)return!0;if(nf(xe)&&(ss(xe)||typeof xe=="string"||typeof xe.splice=="function"||Rp(xe)||UC(xe)||_m(xe)))return!xe.length;var Se=Rf(xe);if(Se==Jw||Se==Kw)return!xe.size;if(ly(xe))return!$e(xe).length;for(var je in xe)if(R.call(xe,je))return!1;return!0}function h6(xe,Se){return IA(xe,Se)}function vL(xe,Se,je){je=typeof je=="function"?je:Oi;var mt=je?je(xe,Se):Oi;return mt===Oi?IA(xe,Se,Oi,je):!!mt}function vM(xe){if(!Hc(xe))return!1;var Se=Ss(xe);return Se==Zoe||Se==qMi||typeof xe.message=="string"&&typeof xe.name=="string"&&!Mh(xe)}function BL(xe){return typeof xe=="number"&&re(xe)}function OC(xe){if(!Sl(xe))return!1;var Se=Ss(xe);return Se==$oe||Se==est||Se==jMi||Se==ZMi}function wL(xe){return typeof xe=="number"&&xe==Gs(xe)}function Ah(xe){return typeof xe=="number"&&xe>-1&&xe%1==0&&xe<=PR}function Sl(xe){var Se=typeof xe;return xe!=null&&(Se=="object"||Se=="function")}function Hc(xe){return xe!=null&&typeof xe=="object"}var QO=Ast?PI(Ast):Vg;function cS(xe,Se){return xe===Se||sg(xe,Se,Eu(Se))}function e_(xe,Se,je){return je=typeof je=="function"?je:Oi,sg(xe,Se,Eu(Se),je)}function SO(xe){return Bm(xe)&&xe!=+xe}function DO(xe){if(e6(xe))throw new C(FMi);return lg(xe)}function TO(xe){return xe===null}function MO(xe){return xe==null}function Bm(xe){return typeof xe=="number"||Hc(xe)&&Ss(xe)==yK}function Mh(xe){if(!Hc(xe)||Ss(xe)!=NT)return!1;var Se=q(xe);if(Se===null)return!0;var je=R.call(Se,"constructor")&&Se.constructor;return typeof je=="function"&&je instanceof je&&D.call(je)==F}var lB=cst?PI(cst):D0;function Nf(xe){return wL(xe)&&xe>=-PR&&xe<=PR}var Uu=hst?PI(hst):Ni;function uB(xe){return typeof xe=="string"||!ss(xe)&&Hc(xe)&&Ss(xe)==_K}function N0(xe){return typeof xe=="symbol"||Hc(xe)&&Ss(xe)==Woe}var UC=dst?PI(dst):qn;function bL(xe){return xe===Oi}function hS(xe){return Hc(xe)&&Rf(xe)==vK}function PO(xe){return Hc(xe)&&Ss(xe)==e2i}var BM=aM(Dt),dS=aM(function(xe,Se){return xe<=Se});function wM(xe){if(!xe)return[];if(nf(xe))return uB(xe)?Yw(xe):zo(xe);if(ue&&xe[ue])return CPi(xe[ue]());var Se=Rf(xe),je=Se==Jw?xDe:Se==Kw?Joe:hB;return je(xe)}function GC(xe){if(!xe)return xe===0?xe:0;if(xe=Ph(xe),xe===uk||xe===-uk){var Se=xe<0?-1:1;return Se*YMi}return xe===xe?xe:0}function Gs(xe){var Se=GC(xe),je=Se%1;return Se===Se?je?Se-je:Se:0}function QL(xe){return xe?Id(Gs(xe),0,DQ):0}function Ph(xe){if(typeof xe=="number")return xe;if(N0(xe))return Koe;if(Sl(xe)){var Se=typeof xe.valueOf=="function"?xe.valueOf():xe;xe=Sl(Se)?Se+"":Se}if(typeof xe!="string")return xe===0?xe:+xe;xe=Cst(xe);var je=y2i.test(xe);return je||_2i.test(xe)?tPi(xe.slice(2),je?2:8):x2i.test(xe)?Koe:+xe}function bM(xe){return Ha(xe,qg(xe))}function SL(xe){return xe?Id(Gs(xe),-PR,PR):xe===0?xe:0}function Du(xe){return xe==null?"":vc(xe)}var DL=zg(function(xe,Se){if(ly(Se)||nf(Se)){Ha(Se,rd(Se),xe);return}for(var je in Se)R.call(Se,je)&&Xu(xe,je,Se[je])}),TL=zg(function(xe,Se){Ha(Se,qg(Se),xe)}),fS=zg(function(xe,Se,je,mt){Ha(Se,qg(Se),xe,mt)}),Ay=zg(function(xe,Se,je,mt){Ha(Se,rd(Se),xe,mt)}),AB=xm(S0);function QM(xe,Se){var je=ut(xe);return Se==null?je:ef(je,Se)}var SM=as(function(xe,Se){xe=y(xe);var je=-1,mt=Se.length,Yt=mt>2?Se[2]:Oi;for(Yt&&Lf(Se[0],Se[1],Yt)&&(mt=1);++je<mt;)for(var $t=Se[je],Pi=qg($t),Vi=-1,rr=Pi.length;++Vi<rr;){var qr=Pi[Vi],nn=xe[qr];(nn===Oi||Pp(nn,w[qr])&&!R.call(xe,qr))&&(xe[qr]=$t[qr])}return xe}),gS=as(function(xe){return xe.push(Oi,yo),MI(B1,Oi,xe)});function cB(xe,Se){return gst(xe,ga(Se,3),bo)}function Va(xe,Se){return gst(xe,ga(Se,3),_a)}function DM(xe,Se){return xe==null?xe:tn(xe,ga(Se,3),qg)}function TM(xe,Se){return xe==null?xe:fo(xe,ga(Se,3),qg)}function cy(xe,Se){return xe&&bo(xe,ga(Se,3))}function RO(xe,Se){return xe&&_a(xe,ga(Se,3))}function pS(xe){return xe==null?[]:xl(xe,rd(xe))}function mS(xe){return xe==null?[]:xl(xe,qg(xe))}function id(xe,Se,je){var mt=xe==null?Oi:Mo(xe,Se);return mt===Oi?je:mt}function LO(xe,Se){return xe!=null&&kE(xe,Se,ku)}function ML(xe,Se){return xe!=null&&kE(xe,Se,Ic)}var hy=eO(function(xe,Se,je){Se!=null&&typeof Se.toString!="function"&&(Se=L.call(Se)),xe[Se]=je},U0(UA)),d6=eO(function(xe,Se,je){Se!=null&&typeof Se.toString!="function"&&(Se=L.call(Se)),R.call(xe,Se)?xe[Se].push(je):xe[Se]=[je]},ga),dy=as(ag);function rd(xe){return nf(xe)?Ma(xe):$e(xe)}function qg(xe){return nf(xe)?Ma(xe,!0):lt(xe)}function PL(xe,Se){var je={};return Se=ga(Se,3),bo(xe,function(mt,Yt,$t){kA(je,Se(mt,Yt,$t),mt)}),je}function HC(xe,Se){var je={};return Se=ga(Se,3),bo(xe,function(mt,Yt,$t){kA(je,Yt,Se(mt,Yt,$t))}),je}var kf=zg(function(xe,Se,je){Tt(xe,Se,je)}),B1=zg(function(xe,Se,je,mt){Tt(xe,Se,je,mt)}),RL=xm(function(xe,Se){var je={};if(xe==null)return je;var mt=!1;Se=gd(Se,function($t){return $t=Em($t,xe),mt||(mt=$t.length>1),$t}),Ha(xe,R0(xe),je),mt&&(je=Su(je,MR|Xat|H8,Bs));for(var Yt=Se.length;Yt--;)iy(je,Se[Yt]);return je});function k0(xe,Se){return cg(xe,xM(ga(Se)))}var FO=xm(function(xe,Se){return xe==null?{}:xr(xe,Se)});function cg(xe,Se){if(xe==null)return{};var je=gd(R0(xe),function(mt){return[mt]});return Se=ga(Se),$n(xe,je,function(mt,Yt){return Se(mt,Yt[0])})}function fy(xe,Se,je){Se=Em(Se,xe);var mt=-1,Yt=Se.length;for(Yt||(Yt=1,xe=Oi);++mt<Yt;){var $t=xe==null?Oi:xe[Kg(Se[mt])];$t===Oi&&(mt=Yt,$t=je),xe=OC($t)?$t.call(xe):$t}return xe}function MM(xe,Se,je){return xe==null?xe:vd(xe,Se,je)}function gy(xe,Se,je,mt){return mt=typeof mt=="function"?mt:Oi,xe==null?xe:vd(xe,Se,je,mt)}var NO=tr(rd),PM=tr(qg);function f6(xe,Se,je){var mt=ss(xe),Yt=mt||Rp(xe)||UC(xe);if(Se=ga(Se,4),je==null){var $t=xe&&xe.constructor;Yt?je=mt?new $t:[]:Sl(xe)?je=OC($t)?ut(q(xe)):{}:je={}}return(Yt?Sv:bo)(xe,function(Pi,Vi,rr){return Se(je,Pi,Vi,rr)}),je}function kO(xe,Se){return xe==null?!0:iy(xe,Se)}function w1(xe,Se,je){return xe==null?xe:mm(xe,Se,bp(je))}function b1(xe,Se,je,mt){return mt=typeof mt=="function"?mt:Oi,xe==null?xe:mm(xe,Se,bp(je),mt)}function hB(xe){return xe==null?[]:EDe(xe,rd(xe))}function RM(xe){return xe==null?[]:EDe(xe,qg(xe))}function CS(xe,Se,je){return je===Oi&&(je=Se,Se=Oi),je!==Oi&&(je=Ph(je),je=je===je?je:0),Se!==Oi&&(Se=Ph(Se),Se=Se===Se?Se:0),Id(Ph(xe),Se,je)}function ES(xe,Se,je){return Se=GC(Se),je===Oi?(je=Se,Se=0):je=GC(je),xe=Ph(xe),_c(xe,Se,je)}function LM(xe,Se,je){if(je&&typeof je!="boolean"&&Lf(xe,Se,je)&&(Se=je=Oi),je===Oi&&(typeof Se=="boolean"?(je=Se,Se=Oi):typeof xe=="boolean"&&(je=xe,xe=Oi)),xe===Oi&&Se===Oi?(xe=0,Se=1):(xe=GC(xe),Se===Oi?(Se=xe,xe=0):Se=GC(Se)),xe>Se){var mt=xe;xe=Se,Se=mt}if(je||xe%1||Se%1){var Yt=Te();return Ce(xe+Yt*(Se-xe+ePi("1e-"+((Yt+"").length-1))),Se)}return Zu(xe,Se)}var LL=oy(function(xe,Se,je){return Se=Se.toLowerCase(),xe+(je?wm(Se):Se)});function wm(xe){return t_(Du(xe).toLowerCase())}function xS(xe){return xe=Du(xe),xe&&xe.replace(B2i,dPi).replace(z2i,"")}function yS(xe,Se,je){xe=Du(xe),Se=vc(Se);var mt=xe.length;je=je===Oi?mt:Id(Gs(je),0,mt);var Yt=je;return je-=Se.length,je>=0&&xe.slice(je,Yt)==Se}function VC(xe){return xe=Du(xe),xe&&o2i.test(xe)?xe.replace(_st,fPi):xe}function dB(xe){return xe=Du(xe),xe&&c2i.test(xe)?xe.replace(IDe,"\\$&"):xe}var OO=oy(function(xe,Se,je){return xe+(je?"-":"")+Se.toLowerCase()}),UO=oy(function(xe,Se,je){return xe+(je?" ":"")+Se.toLowerCase()}),GO=iL("toLowerCase");function g6(xe,Se,je){xe=Du(xe),Se=Gs(Se);var mt=Se?z8(xe):0;if(!Se||mt>=Se)return xe;var Yt=(Se-mt)/2;return ZQ(W(Yt),je)+xe+ZQ(U(Yt),je)}function p6(xe,Se,je){xe=Du(xe),Se=Gs(Se);var mt=Se?z8(xe):0;return Se&&mt<Se?xe+ZQ(Se-mt,je):xe}function HO(xe,Se,je){xe=Du(xe),Se=Gs(Se);var mt=Se?z8(xe):0;return Se&&mt<Se?ZQ(Se-mt,je)+xe:xe}function m6(xe,Se,je){return je||Se==null?Se=0:Se&&(Se=+Se),we(Du(xe).replace(_De,""),Se||0)}function GE(xe,Se,je){return(je?Lf(xe,Se,je):Se===Oi)?Se=1:Se=Gs(Se),rf(Du(xe),Se)}function C6(){var xe=arguments,Se=Du(xe[0]);return xe.length<3?Se:Se.replace(xe[1],xe[2])}var E6=oy(function(xe,Se,je){return xe+(je?"_":"")+Se.toLowerCase()});function x6(xe,Se,je){return je&&typeof je!="number"&&Lf(xe,Se,je)&&(Se=je=Oi),je=je===Oi?DQ:je>>>0,je?(xe=Du(xe),xe&&(typeof Se=="string"||Se!=null&&!lB(Se))&&(Se=vc(Se),!Se&&q8(xe))?Qp(Yw(xe),0,je):xe.split(Se,je)):[]}var fB=oy(function(xe,Se,je){return xe+(je?" ":"")+t_(Se)});function fA(xe,Se,je){return xe=Du(xe),je=je==null?0:Id(Gs(je),0,xe.length),Se=vc(Se),xe.slice(je,je+Se.length)==Se}function Na(xe,Se,je){var mt=Ze.templateSettings;je&&Lf(xe,Se,je)&&(Se=Oi),xe=Du(xe),Se=fS({},Se,mt,Mr);var Yt=fS({},Se.imports,mt.imports,Mr),$t=rd(Yt),Pi=EDe(Yt,$t),Vi,rr,qr=0,nn=Se.interpolate||zoe,dn="__p += '",lo=I((Se.escape||zoe).source+"|"+nn.source+"|"+(nn===ist?E2i:zoe).source+"|"+(Se.evaluate||zoe).source+"|$","g"),Yo="//# sourceURL="+(R.call(Se,"sourceURL")?(Se.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++j2i+"]")+` `;xe.replace(lo,function(io,gs,Dl,Of,ou,Uf){return Dl||(Dl=Of),dn+=xe.slice(qr,Uf).replace(w2i,gPi),gs&&(Vi=!0,dn+=`' + __e(`+gs+`) + '`),ou&&(rr=!0,dn+=`'; `+ou+`; __p += '`),Dl&&(dn+=`' + ((__t = (`+Dl+`)) == null ? '' : __t) + '`),qr=Uf+io.length,io}),dn+=`'; `;var Ja=R.call(Se,"variable")&&Se.variable;if(!Ja)dn=`with (obj) { `+dn+` } `;else if(m2i.test(Ja))throw new C(NMi);dn=(rr?dn.replace(t2i,""):dn).replace(i2i,"$1").replace(r2i,"$1;"),dn="function("+(Ja||"obj")+`) { `+(Ja?"":`obj || (obj = {}); `)+"var __t, __p = ''"+(Vi?", __e = _.escape":"")+(rr?`, __j = Array.prototype.join; function print() { __p += __j.call(arguments, '') } `:`; `)+dn+`return __p }`;var Hs=S1(function(){return E($t,Yo+"return "+dn).apply(Oi,Pi)});if(Hs.source=dn,vM(Hs))throw Hs;return Hs}function FL(xe){return Du(xe).toLowerCase()}function Xg(xe){return Du(xe).toUpperCase()}function FM(xe,Se,je){if(xe=Du(xe),xe&&(je||Se===Oi))return Cst(xe);if(!xe||!(Se=vc(Se)))return xe;var mt=Yw(xe),Yt=Yw(Se),$t=Est(mt,Yt),Pi=xst(mt,Yt)+1;return Qp(mt,$t,Pi).join("")}function Q1(xe,Se,je){if(xe=Du(xe),xe&&(je||Se===Oi))return xe.slice(0,Hst(xe)+1);if(!xe||!(Se=vc(Se)))return xe;var mt=Yw(xe),Yt=xst(mt,Yw(Se))+1;return Qp(mt,0,Yt).join("")}function O0(xe,Se,je){if(xe=Du(xe),xe&&(je||Se===Oi))return xe.replace(_De,"");if(!xe||!(Se=vc(Se)))return xe;var mt=Yw(xe),Yt=Est(mt,Yw(Se));return Qp(mt,Yt).join("")}function ir(xe,Se){var je=OMi,mt=UMi;if(Sl(Se)){var Yt="separator"in Se?Se.separator:Yt;je="length"in Se?Gs(Se.length):je,mt="omission"in Se?vc(Se.omission):mt}xe=Du(xe);var $t=xe.length;if(q8(xe)){var Pi=Yw(xe);$t=Pi.length}if(je>=$t)return xe;var Vi=je-z8(mt);if(Vi<1)return mt;var rr=Pi?Qp(Pi,0,Vi).join(""):xe.slice(0,Vi);if(Yt===Oi)return rr+mt;if(Pi&&(Vi+=rr.length-Vi),lB(Yt)){if(xe.slice(Vi).search(Yt)){var qr,nn=rr;for(Yt.global||(Yt=I(Yt.source,Du(rst.exec(Yt))+"g")),Yt.lastIndex=0;qr=Yt.exec(nn);)var dn=qr.index;rr=rr.slice(0,dn===Oi?Vi:dn)}}else if(xe.indexOf(vc(Yt),Vi)!=Vi){var lo=rr.lastIndexOf(Yt);lo>-1&&(rr=rr.slice(0,lo))}return rr+mt}function gB(xe){return xe=Du(xe),xe&&n2i.test(xe)?xe.replace(Ist,IPi):xe}var py=oy(function(xe,Se,je){return xe+(je?" ":"")+Se.toUpperCase()}),t_=iL("toUpperCase");function dr(xe,Se,je){return xe=Du(xe),Se=je?Oi:Se,Se===Oi?mPi(xe)?BPi(xe):lPi(xe):xe.match(Se)||[]}var S1=as(function(xe,Se){try{return MI(xe,Oi,Se)}catch(je){return vM(je)?je:new C(je)}}),pa=xm(function(xe,Se){return Sv(Se,function(je){je=Kg(je),kA(xe,je,mM(xe[je],xe))}),xe});function OA(xe){var Se=xe==null?0:xe.length,je=ga();return xe=Se?gd(xe,function(mt){if(typeof mt[1]!="function")throw new B(Qv);return[je(mt[0]),mt[1]]}):[],as(function(mt){for(var Yt=-1;++Yt<Se;){var $t=xe[Yt];if(MI($t[0],this,mt))return MI($t[1],this,mt)}})}function VO(xe){return Df(Su(xe,MR))}function U0(xe){return function(){return xe}}function bm(xe,Se){return xe==null||xe!==xe?Se:xe}var D1=$k(),Ir=$k(!0);function UA(xe){return xe}function of(xe){return bn(typeof xe=="function"?xe:Su(xe,MR))}function zO(xe){return it(Su(xe,MR))}function Ps(xe,Se){return ht(xe,Su(Se,MR))}var IS=as(function(xe,Se){return function(je){return ag(je,xe,Se)}}),YO=as(function(xe,Se){return function(je){return ag(xe,je,Se)}});function i_(xe,Se,je){var mt=rd(Se),Yt=xl(Se,mt);je==null&&!(Sl(Se)&&(Yt.length||!mt.length))&&(je=Se,Se=xe,xe=this,Yt=xl(Se,rd(Se)));var $t=!(Sl(je)&&"chain"in je)||!!je.chain,Pi=OC(xe);return Sv(Yt,function(Vi){var rr=Se[Vi];xe[Vi]=rr,Pi&&(xe.prototype[Vi]=function(){var qr=this.__chain__;if($t||qr){var nn=xe(this.__wrapped__),dn=nn.__actions__=zo(this.__actions__);return dn.push({func:rr,args:arguments,thisArg:xe}),nn.__chain__=qr,nn}return rr.apply(xe,LR([this.value()],arguments))})}),xe}function nd(){return vC._===this&&(vC._=k),this}function Zg(){}function No(xe){return xe=Gs(xe),as(function(Se){return Ii(Se,xe)})}var JO=Sp(gd),Qm=Sp(fst),NM=Sp(mDe);function zC(xe){return YI(xe)?wDe(Kg(xe)):Ds(xe)}function T1(xe){return function(Se){return xe==null?Oi:Mo(xe,Se)}}var Lp=tO(),HE=tO(!0);function M1(){return[]}function Ya(){return!1}function _A(){return{}}function pB(){return""}function r_(){return!0}function mB(xe,Se){if(xe=Gs(xe),xe<1||xe>PR)return[];var je=DQ,mt=Ce(xe,DQ);Se=ga(Se),xe-=DQ;for(var Yt=CDe(mt,Se);++je<xe;)Se(je);return Yt}function Sm(xe){return ss(xe)?gd(xe,Kg):N0(xe)?[xe]:zo(WI(Du(xe)))}function Gn(xe){var Se=++P;return Du(xe)+Se}var n_=ay(function(xe,Se){return xe+Se},0),VE=rL("ceil"),ua=ay(function(xe,Se){return xe/Se},1),YC=rL("floor");function NL(xe){return xe&&xe.length?en(xe,UA,uh):Oi}function JC(xe,Se){return xe&&xe.length?en(xe,ga(Se,2),uh):Oi}function G0(xe){return pst(xe,UA)}function zE(xe,Se){return pst(xe,ga(Se,2))}function P1(xe){return xe&&xe.length?en(xe,UA,Dt):Oi}function CB(xe,Se){return xe&&xe.length?en(xe,ga(Se,2),Dt):Oi}var R1=ay(function(xe,Se){return xe*Se},1),my=rL("round"),Vc=ay(function(xe,Se){return xe-Se},0);function kL(xe){return xe&&xe.length?bDe(xe,UA):0}function L1(xe,Se){return xe&&xe.length?bDe(xe,ga(Se,2)):0}return Ze.after=_O,Ze.ary=ym,Ze.assign=DL,Ze.assignIn=TL,Ze.assignInWith=fS,Ze.assignWith=Ay,Ze.at=AB,Ze.before=pM,Ze.bind=mM,Ze.bindAll=pa,Ze.bindKey=pL,Ze.castArray=yL,Ze.chain=Po,Ze.chunk=aO,Ze.compact=sO,Ze.concat=lO,Ze.cond=OA,Ze.conforms=VO,Ze.constant=U0,Ze.countBy=jg,Ze.create=QM,Ze.curry=mL,Ze.curryRight=uS,Ze.debounce=CM,Ze.defaults=SM,Ze.defaultsDeep=gS,Ze.defer=CL,Ze.delay=l6,Ze.difference=i6,Ze.differenceBy=sL,Ze.differenceWith=uy,Ze.drop=E1,Ze.dropRight=lL,Ze.dropRightWhile=oi,Ze.dropWhile=NC,Ze.fill=nS,Ze.filter=o6,Ze.flatMap=gM,Ze.flatMapDeep=fO,Ze.flatMapDepth=ZI,Ze.flatten=qI,Ze.flattenDeep=uO,Ze.flattenDepth=x1,Ze.flip=EM,Ze.flow=D1,Ze.flowRight=Ir,Ze.fromPairs=XI,Ze.functions=pS,Ze.functionsIn=mS,Ze.groupBy=pO,Ze.initial=AM,Ze.intersection=cM,Ze.intersectionBy=cO,Ze.intersectionWith=OE,Ze.invert=hy,Ze.invertBy=d6,Ze.invokeMap=mO,Ze.iteratee=of,Ze.keyBy=CO,Ze.keys=rd,Ze.keysIn=qg,Ze.map=y1,Ze.mapKeys=PL,Ze.mapValues=HC,Ze.matches=zO,Ze.matchesProperty=Ps,Ze.memoize=Ms,Ze.merge=kf,Ze.mergeWith=B1,Ze.method=IS,Ze.methodOf=YO,Ze.mixin=i_,Ze.negate=xM,Ze.nthArg=No,Ze.omit=RL,Ze.omitBy=k0,Ze.once=vO,Ze.orderBy=cL,Ze.over=JO,Ze.overArgs=AS,Ze.overEvery=Qm,Ze.overSome=NM,Ze.partial=yM,Ze.partialRight=BO,Ze.partition=s6,Ze.pick=FO,Ze.pickBy=cg,Ze.property=zC,Ze.propertyOf=T1,Ze.pull=Ff,Ze.pullAll=td,Ze.pullAllBy=el,Ze.pullAllWith=tl,Ze.pullAt=il,Ze.range=Lp,Ze.rangeRight=HE,Ze.rearg=u6,Ze.reject=hL,Ze.remove=rl,Ze.rest=Im,Ze.reverse=Os,Ze.sampleSize=yO,Ze.set=MM,Ze.setWith=gy,Ze.shuffle=lS,Ze.slice=xs,Ze.sortBy=gL,Ze.sortedUniq=ul,Ze.sortedUniqBy=Al,Ze.split=x6,Ze.spread=wO,Ze.tail=Ks,Ze.take=Ws,Ze.takeRight=cl,Ze.takeRightWhile=hl,Ze.takeWhile=Us,Ze.tap=Fa,Ze.throttle=IM,Ze.thru=la,Ze.toArray=wM,Ze.toPairs=NO,Ze.toPairsIn=PM,Ze.toPath=Sm,Ze.toPlainObject=bM,Ze.transform=f6,Ze.unary=EL,Ze.union=Qs,Ze.unionBy=Ts,Ze.unionWith=dl,Ze.uniq=js,Ze.uniqBy=fl,Ze.uniqWith=kC,Ze.unset=kO,Ze.unzip=nB,Ze.unzipWith=UE,Ze.update=w1,Ze.updateWith=b1,Ze.values=hB,Ze.valuesIn=RM,Ze.without=F0,Ze.words=dr,Ze.wrap=xL,Ze.xor=uL,Ze.xorBy=hM,Ze.xorWith=dM,Ze.zip=oB,Ze.zipObject=oo,Ze.zipObjectDeep=co,Ze.zipWith=oa,Ze.entries=NO,Ze.entriesIn=PM,Ze.extend=TL,Ze.extendWith=fS,i_(Ze,Ze),Ze.add=n_,Ze.attempt=S1,Ze.camelCase=LL,Ze.capitalize=wm,Ze.ceil=VE,Ze.clamp=CS,Ze.clone=Ag,Ze.cloneDeep=I1,Ze.cloneDeepWith=IL,Ze.cloneWith=Mp,Ze.conformsTo=_M,Ze.deburr=xS,Ze.defaultTo=bm,Ze.divide=ua,Ze.endsWith=yS,Ze.eq=Pp,Ze.escape=VC,Ze.escapeRegExp=dB,Ze.every=AL,Ze.find=a6,Ze.findIndex=L0,Ze.findKey=cB,Ze.findLast=dO,Ze.findLastIndex=yl,Ze.findLastKey=Va,Ze.floor=YC,Ze.forEach=sS,Ze.forEachRight=gO,Ze.forIn=DM,Ze.forInRight=TM,Ze.forOwn=cy,Ze.forOwnRight=RO,Ze.get=id,Ze.gt=_L,Ze.gte=bO,Ze.has=LO,Ze.hasIn=ML,Ze.head=AO,Ze.identity=UA,Ze.includes=sB,Ze.indexOf=oS,Ze.inRange=ES,Ze.invoke=dy,Ze.isArguments=_m,Ze.isArray=ss,Ze.isArrayBuffer=vm,Ze.isArrayLike=nf,Ze.isArrayLikeObject=$u,Ze.isBoolean=_1,Ze.isBuffer=Rp,Ze.isDate=v1,Ze.isElement=A6,Ze.isEmpty=c6,Ze.isEqual=h6,Ze.isEqualWith=vL,Ze.isError=vM,Ze.isFinite=BL,Ze.isFunction=OC,Ze.isInteger=wL,Ze.isLength=Ah,Ze.isMap=QO,Ze.isMatch=cS,Ze.isMatchWith=e_,Ze.isNaN=SO,Ze.isNative=DO,Ze.isNil=MO,Ze.isNull=TO,Ze.isNumber=Bm,Ze.isObject=Sl,Ze.isObjectLike=Hc,Ze.isPlainObject=Mh,Ze.isRegExp=lB,Ze.isSafeInteger=Nf,Ze.isSet=Uu,Ze.isString=uB,Ze.isSymbol=N0,Ze.isTypedArray=UC,Ze.isUndefined=bL,Ze.isWeakMap=hS,Ze.isWeakSet=PO,Ze.join=r6,Ze.kebabCase=OO,Ze.last=Tp,Ze.lastIndexOf=rB,Ze.lowerCase=UO,Ze.lowerFirst=GO,Ze.lt=BM,Ze.lte=dS,Ze.max=NL,Ze.maxBy=JC,Ze.mean=G0,Ze.meanBy=zE,Ze.min=P1,Ze.minBy=CB,Ze.stubArray=M1,Ze.stubFalse=Ya,Ze.stubObject=_A,Ze.stubString=pB,Ze.stubTrue=r_,Ze.multiply=R1,Ze.nth=n6,Ze.noConflict=nd,Ze.noop=Zg,Ze.now=$I,Ze.pad=g6,Ze.padEnd=p6,Ze.padStart=HO,Ze.parseInt=m6,Ze.random=LM,Ze.reduce=EO,Ze.reduceRight=xO,Ze.repeat=GE,Ze.replace=C6,Ze.result=fy,Ze.round=my,Ze.runInContext=o,Ze.sample=dL,Ze.size=IO,Ze.snakeCase=E6,Ze.some=fL,Ze.sortedIndex=nl,Ze.sortedIndexBy=ol,Ze.sortedIndexOf=is,Ze.sortedLastIndex=al,Ze.sortedLastIndexBy=sl,Ze.sortedLastIndexOf=ll,Ze.startCase=fB,Ze.startsWith=fA,Ze.subtract=Vc,Ze.sum=kL,Ze.sumBy=L1,Ze.template=Na,Ze.times=mB,Ze.toFinite=GC,Ze.toInteger=Gs,Ze.toLength=QL,Ze.toLower=FL,Ze.toNumber=Ph,Ze.toSafeInteger=SL,Ze.toString=Du,Ze.toUpper=Xg,Ze.trim=FM,Ze.trimEnd=Q1,Ze.trimStart=O0,Ze.truncate=ir,Ze.unescape=gB,Ze.uniqueId=Gn,Ze.upperCase=py,Ze.upperFirst=t_,Ze.each=sS,Ze.eachRight=gO,Ze.first=AO,i_(Ze,function(){var xe={};return bo(Ze,function(Se,je){R.call(Ze.prototype,je)||(xe[je]=Se)}),xe}(),{chain:!1}),Ze.VERSION=LMi,Sv(["bind","bindKey","curry","curryRight","partial","partialRight"],function(xe){Ze[xe].placeholder=Ze}),Sv(["drop","take"],function(xe,Se){xt.prototype[xe]=function(je){je=je===Oi?1:me(Gs(je),0);var mt=this.__filtered__&&!Se?new xt(this):this.clone();return mt.__filtered__?mt.__takeCount__=Ce(je,mt.__takeCount__):mt.__views__.push({size:Ce(je,DQ),type:xe+(mt.__dir__<0?"Right":"")}),mt},xt.prototype[xe+"Right"]=function(je){return this.reverse()[xe](je).reverse()}}),Sv(["filter","map","takeWhile"],function(xe,Se){var je=Se+1,mt=je==$at||je==zMi;xt.prototype[xe]=function(Yt){var $t=this.clone();return $t.__iteratees__.push({iteratee:ga(Yt,3),type:je}),$t.__filtered__=$t.__filtered__||mt,$t}}),Sv(["head","last"],function(xe,Se){var je="take"+(Se?"Right":"");xt.prototype[xe]=function(){return this[je](1).value()[0]}}),Sv(["initial","tail"],function(xe,Se){var je="drop"+(Se?"":"Right");xt.prototype[xe]=function(){return this.__filtered__?new xt(this):this[je](1)}}),xt.prototype.compact=function(){return this.filter(UA)},xt.prototype.find=function(xe){return this.filter(xe).head()},xt.prototype.findLast=function(xe){return this.reverse().find(xe)},xt.prototype.invokeMap=as(function(xe,Se){return typeof xe=="function"?new xt(this):this.map(function(je){return ag(je,xe,Se)})}),xt.prototype.reject=function(xe){return this.filter(xM(ga(xe)))},xt.prototype.slice=function(xe,Se){xe=Gs(xe);var je=this;return je.__filtered__&&(xe>0||Se<0)?new xt(je):(xe<0?je=je.takeRight(-xe):xe&&(je=je.drop(xe)),Se!==Oi&&(Se=Gs(Se),je=Se<0?je.dropRight(-Se):je.take(Se-xe)),je)},xt.prototype.takeRightWhile=function(xe){return this.reverse().takeWhile(xe).reverse()},xt.prototype.toArray=function(){return this.take(DQ)},bo(xt.prototype,function(xe,Se){var je=/^(?:filter|find|map|reject)|While$/.test(Se),mt=/^(?:head|last)$/.test(Se),Yt=Ze[mt?"take"+(Se=="last"?"Right":""):Se],$t=mt||/^find/.test(Se);!Yt||(Ze.prototype[Se]=function(){var Pi=this.__wrapped__,Vi=mt?[1]:arguments,rr=Pi instanceof xt,qr=Vi[0],nn=rr||ss(Pi),dn=function(gs){var Dl=Yt.apply(Ze,LR([gs],Vi));return mt&&lo?Dl[0]:Dl};nn&&je&&typeof qr=="function"&&qr.length!=1&&(rr=nn=!1);var lo=this.__chain__,Yo=!!this.__actions__.length,Ja=$t&&!lo,Hs=rr&&!Yo;if(!$t&&nn){Pi=Hs?Pi:new xt(this);var io=xe.apply(Pi,Vi);return io.__actions__.push({func:la,args:[dn],thisArg:Oi}),new gt(io,lo)}return Ja&&Hs?xe.apply(this,Vi):(io=this.thru(dn),Ja?mt?io.value()[0]:io.value():io)})}),Sv(["pop","push","shift","sort","splice","unshift"],function(xe){var Se=Q[xe],je=/^(?:push|sort|unshift)$/.test(xe)?"tap":"thru",mt=/^(?:pop|shift)$/.test(xe);Ze.prototype[xe]=function(){var Yt=arguments;if(mt&&!this.__chain__){var $t=this.value();return Se.apply(ss($t)?$t:[],Yt)}return this[je](function(Pi){return Se.apply(ss(Pi)?Pi:[],Yt)})}}),bo(xt.prototype,function(xe,Se){var je=Ze[Se];if(je){var mt=je.name+"";R.call(Je,mt)||(Je[mt]=[]),Je[mt].push({name:Se,func:je})}}),Je[oM(Oi,Ak).name]=[{name:"wrapper",func:Oi}],xt.prototype.clone=Lt,xt.prototype.reverse=nt,xt.prototype.value=Pe,Ze.prototype.at=va,Ze.prototype.chain=qs,Ze.prototype.commit=Xn,Ze.prototype.next=qt,Ze.prototype.plant=fM,Ze.prototype.reverse=aB,Ze.prototype.toJSON=Ze.prototype.valueOf=Ze.prototype.value=hO,Ze.prototype.first=Ze.prototype.head,ue&&(Ze.prototype[ue]=aS),Ze},bPi=wPi(),bi=bPi;var qo={};qo.Source=[];qo.TempSource=[];qo.entity=[];qo.lastSelectEntity=null;qo.pointsId=[];qo.states=0;qo.PointSelectSource=[];qo.currentObj=null;qo.selectedItem=null;qo.setSource=function(o){this.Source=o};qo.setTempSource=function(o){this.TempSource=o};qo.setPointSelectSource=function(o){this.PointSelectSource=o};qo.getSource=function(){return this.Source};qo.getTempSource=function(){return this.TempSource};qo.getPointSelectSource=function(){return this.PointSelectSource};qo.push=function(o){this.Source.push(o)};qo.pusTemSource=function(o){this.TempSource.push(o)};qo.pusPointSelectSource=function(o){this.PointSelectSource.push(o)};qo.insertGroupId=function(o,A){o.checked!=null&&o.checked!="true"&&o.checked!=null||(o.checked=!0);try{o.item.item.show==!1&&(o.checked=!1)}catch{}var f=this.getSourceById(qo.Source,A);if(f){for(var m=0,C=this.TempSource.length;m<C;m++)if(this.TempSource[m].id==A){o.checked&&!this.TempSource[m].checked&&(this.TempSource[m].checked=!0);break}f.children||(f.children=[]),f.children.push(o)}else this.push(o);var E=bi.clone(o);return E.item=null,qo.currentObj=E,this.pusTemSource(E),o.id};qo.getSourceById=function(o,A){if(o)for(var f=0;f<o.length;f++){if(o[f].id==A)return o[f];if(o[f]&&o[f].children&&o[f].children.length>0){var m=this.getSourceById(o[f].children,A);if(m!=null)return m}}};qo.exitsGroup=function(o,A){if(o)for(var f=qo.Source,m=0;m<f.length;m++){if(f[m].id==o){if(f[m].type=="group")for(var C=0;C<f[m].children.length;C++){var E=f[m].children[C];if(E.name==A)return!0}return!1}if(f[m]&&f[m].children&&f[m].children.length>0)var x=this.getSourceById(f[m].children,o)}};qo.getTempSourceById=function(o){for(var A=0;A<this.TempSource.length;A++)if(this.TempSource[A].id==o)return this.TempSource[A]};qo.getPointSelectSourceById=function(o){for(var A=0;A<this.PointSelectSource.length;A++)if(this.PointSelectSource[A].id==o)return this.PointSelectSource[A]};qo.getSourceByName=function(o,A){return bi.find(o,function(f){return f.name==A})};qo.delete=function(o,A,f){var m=this.getSourceById(qo.Source,o);if(m&&m.children&&m.children.length>0){for(var C=0;C<m.children.length;)this.delete(m.children[C].id);if(m&&m.type=="group")if(m.pId==0||m.pId==""){var E=this.getIndex(qo.Source,m);qo.Source.splice(E,1),this.delete1(m.id)}else{var x=this.getSourceById(qo.Source,m.pId),E=this.getIndex(x.children,m);x.children.splice(E,1),this.delete1(m.id)}else{if(m.item)m.item.deleteObject(o);else{try{A.entities.removeById(m.id)}catch{}try{var y=A.dataSources.get(m.id);y&&A.dataSources.remove(y)}catch{}try{var y=A.imageryLayers.get(m.id);y&&A.imageryLayers.remove(y)}catch{}try{var y=A.scene.primitives.get(m.id);A.scene.primitives.remove(y)}catch{}}var x=this.getSourceById(qo.Source,m.pId),E=this.getIndex(x.children,m);x.children.splice(E,1),this.delete1(m.id)}}else if(m&&m.type=="group")if(m.pId==0||m.pId==""){var E=this.getIndex(qo.Source,m);qo.Source.splice(E,1),this.delete1(m.id)}else{var x=this.getSourceById(qo.Source,m.pId),E=this.getIndex(x.children,m);x.children.splice(E,1),this.delete1(m.id)}else if(m){if(m.item&&m.item.deleteObject)m.item.deleteObject(o);else{try{A.entities.removeById(m.id)}catch{}try{var y=A.dataSources.get(m.id);y&&A.dataSources.remove(y)}catch{}try{var y=A.imageryLayers.get(m.id);y&&A.imageryLayers.remove(y)}catch{}try{var y=A.scene.primitives.get(m.id);A.scene.primitives.remove(y)}catch{}}this.delete1(m.id);var x=this.getSourceById(qo.Source,m.pId);if(x){var E=this.getIndex(x.children,m);x.children.splice(E,1)}}};qo.temporaryItem={obj:[],state:"start",operation:""};qo.endtemporaryItem=function(){qo.temporaryItem.obj=[],qo.temporaryItem.state="end",qo.temporaryItem.operation=""};qo.starttemporaryItem=function(o){var A=null;try{A=document.getElementById("toolTip")}catch{}if(A!=null&&(A.style.display="none"),qo.handler!=null&&(qo.handler.destroy(),qo.handler=null),qo.temporaryItem.obj.length>0&&qo.temporaryItem.state=="start")for(var f=0;f<qo.temporaryItem.obj.length;f++){try{qo.temporaryItem.obj[f].destroy()}catch{}try{o.entities.remove(qo.temporaryItem.obj[f])}catch{}}return qo.temporaryItem.obj=[],qo.temporaryItem.state="start",qo.temporaryItem.operation};qo.delete1=function(o){for(var A=0;A<this.TempSource.length;A++)this.TempSource[A].id==o&&this.TempSource.splice(A,1)};qo.getIndex=function(o,A){for(var f=0;f<o.length;f++)if(o[f].id==A.id)return f;return-1};qo.setVisibilityTemp=function(o,A){var f=bi.filter(this.TempSource,function(m){return m.id==o});f&&f.length&&(f[0].checked=A)};qo.setVisibility=function(o,A,f,m){this.setVisibilityTemp(o,A);var C=this.getSourceById(qo.Source,o);if(!!C){if(C.children&&C.children.length>0){for(var E=0;E<C.children.length;E++)this.setVisibility(C.children[E].id,A);if(C.type!="group")if(C.item&&C.item.setVisibility)C.item.setVisibility(A,o);else{try{var x=f.entities.getById(C.id);x&&(x.show=A)}catch{}try{var x=f.dataSources.get(C.id);x&&(x.show=A)}catch{}try{var x=f.imageryLayers.get(C.id);x&&(x.show=A)}catch{}try{var x=f.scene.primitives.get(C.id);x&&(x.show=A)}catch{}}}else if(C.type!="group")if(C.item&&C.item.setVisibility)C.item.setVisibility(A,o);else{try{var x=f.entities.getById(C.id);x&&(x.show=A)}catch{}try{var x=f.dataSources.get(C.id);x&&(x.show=A)}catch{}try{var x=f.imageryLayers.get(C.id);x&&(x.show=A)}catch{}try{var x=f.scene.primitives.get(C.id);x&&(x.show=A)}catch{}}}};qo.removeItem=function(o){if(o)for(var A=0;A<o.length;A++)o[A].item=null,o[A].children&&this.removeItem(o[A].children);return o};qo.changeGroup=function(o,A){var E=this.getSourceById(this.Source,o),f=this.getSourceById(this.Source,A);if(E&&f&&f.children)if(E.id==0||E.id==null||E.id==null){var m=this.getIndex(this.Source,E);this.Source.splice(m,1),E.pId=A,f.children.push(E)}else{var C=this.getSourceById(this.Source,E.pId),m=this.getIndex(C.children,E);C.children.splice(m,1),E.pId=A,f.children.push(E)}var E=this.getTempSourceById(o);E&&(E.pId=A)};qo.handler=null;qo.removeHandler=function(){qo.handler&&(qo.handler.destroy(),qo.handler=null)};var Ke=qo;var kT=null;function GDe(o,A){kT=A,this._viewer=o,this._cesium=A,this._tree=Ke.getSource(),this._core=new $i(o,A)}GDe.prototype.jumpTo=function(o){if(o&&o.west!=null&&o.west!=null)this._viewer.camera.setView({destination:this._cesium.Rectangle.fromDegrees(o.west,o.south,o.east,o.north)});else if(o&&o.destination!==void 0)this._viewer.camera.setView({destination:o.destination,orientation:o.orientation});else{if(o&&o.item&&o.item.id!=null&&o.item.id!=null){var A=Ke.getSourceById(this._tree,o.item.id);try{var f=this._viewer.scene.primitives.get(A.id);this._viewer.zoomTo(f)}catch{}}if(o&&o.item)if(o.item.entities)this._viewer.zoomTo(o.item);else if(o.item._primitives&&o.item._primitives.length){var m=bi.filter(o.item._primitives,function(v){return v.geometryInstances==null});if(m.length>0){if(m[0]._boundingSpheres!=null)this._viewer.camera.viewBoundingSphere(m[0]._boundingSpheres[0]);else if(m[0]._labels!=null&&m[0]._labels.length>0){var C=m[0]._labels[0].position,E=this._cesium.Cartographic.fromCartesian(C),x=this._cesium.Math.toDegrees(E.longitude),y=this._cesium.Math.toDegrees(E.latitude),I=this._cesium.Cartesian3.fromDegrees(x,y,2e3);this._viewer.camera.setView({destination:I})}else if(m[0]._pointPrimitives!=null&&m[0]._pointPrimitives.length>0){var C=m[0]._pointPrimitives[0].position,E=this._cesium.Cartographic.fromCartesian(C),x=this._cesium.Math.toDegrees(E.longitude),y=this._cesium.Math.toDegrees(E.latitude),I=this._cesium.Cartesian3.fromDegrees(x,y,2e3);this._viewer.camera.setView({destination:I})}else if(m[0]._billboards!=null&&m[0]._billboards.length>0){var C=m[0]._billboards[0].position,E=this._cesium.Cartographic.fromCartesian(C),x=this._cesium.Math.toDegrees(E.longitude),y=this._cesium.Math.toDegrees(E.latitude),I=this._cesium.Cartesian3.fromDegrees(x,y,2e3);this._viewer.camera.setView({destination:I})}}}else if(o.item._primitives&&o.item._primitives._boundingSpheres)o.item._primitives._boundingSpheres.length&&this._viewer.camera.viewBoundingSphere(o.item._primitives._boundingSpheres[0]);else if(o.item._boundingSpheres&&o.item._boundingSpheres.length>0)this._viewer.camera.viewBoundingSphere(o.item._boundingSpheres[0]);else if(o.item._boundingVolumes&&o.item._boundingVolumes.length){var C=o.item._boundingVolumes[0].center,E=this._cesium.Cartographic.fromCartesian(C),x=this._cesium.Math.toDegrees(E.longitude),y=this._cesium.Math.toDegrees(E.latitude),I=this._cesium.Cartesian3.fromDegrees(x,y,5e3);this._viewer.camera.setView({destination:I})}else this._viewer.zoomTo(o.item);else o&&this._viewer.zoomTo(o)}};GDe.prototype.jumpToPosition=function(o,A,f,m={}){let C={heading:this._core.defaultValue(m.heading,0),pitch:this._core.defaultValue(m.pitch,-90),roll:this._core.defaultValue(m.roll,0)};Math.abs(o)<=180&&Math.abs(A)<=90?this._viewer.camera.setView({destination:this._cesium.Cartesian3.fromDegrees(o,A,f),orientation:new kT.HeadingPitchRoll(kT.Math.toRadians(C.heading),kT.Math.toRadians(C.pitch),kT.Math.toRadians(C.roll)),duration:C.time}):this._viewer.camera.setView({destination:{x:o,y:A,z:f},orientation:new kT.HeadingPitchRoll(kT.Math.toRadians(C.heading),kT.Math.toRadians(C.pitch),kT.Math.toRadians(C.roll))})};var Vst=GDe;var Yx=null;function zst(o,A){Yx=A,this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._getPosition=new kl(o,A)}zst.prototype.setPointFly=function(o={}){let A=this._core.CreateTooltip(),f=this._viewer,m=this,C=!1,E,x;o.pitch&&(o.pitch=Yx.Math.toRadians(o.pitch));let y,I,v=o.limitTime?o.limitAngel:360,B=o.time||30,Q=(v||360)/B,T=function(){let D=Yx.JulianDate.secondsDifference(f.clock.currentTime,f.clock.startTime);if(o.limitTime&&D>B){m.end&&m.end();return}let R=Yx.Math.toRadians(D*Q)+y;f.scene.camera.setView({destination:I,orientation:{heading:R,pitch:m.pitch}}),f.scene.camera.moveBackward(m.distance),Yx.JulianDate.compare(f.clock.currentTime,f.clock.stopTime)>=0&&f.clock.onTick.removeEventListener(T)},w=S=>{I=S,m.pitch=o.pitch||f.camera.pitch,m.distance=o.distance,m.distance||(m.distance=Yx.Cartesian3.distance(f.camera.position,S)),y=f.camera.heading;let D=Yx.JulianDate.fromDate(new Date);f.clock.startTime=D.clone(),f.clock.currentTime=D.clone(),f.clock.clockRange=Yx.ClockRange.CLAMPED,f.clock.clockStep=Yx.ClockStep.SYSTEM_CLOCK,f.clock.onTick.addEventListener(T),!o.hideImage&&(E=m._viewer.entities.add({id:m._core.getuid(),name:"\u5B9A\u70B9",position:I,billboard:{horizontalOrigin:m._cesium.HorizontalOrigin.CENTER,verticalOrigin:m._cesium.VerticalOrigin.BOTTOM,scale:m._core.defaultValue(o.scale,1),image:m._core.defaultValue(o.image,window.SmartEarthRootUrl+Zr.mark),disableDepthTestDistance:Number.POSITIVE_INFINITY}}))};return o.position?w(o.position):(this.drawHandler&&this.drawHandler.destroy(),this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),x=new Yx.ScreenSpaceEventHandler(f.scene.canvas),x.setInputAction(function(S){if(C)m.end&&m.end();else{A.showAt(S.position,"\u70B9\u51FB\u7ED3\u675F\u7ED5\u98DE"),C=!0;let D=m._getPosition.getMouseDegrees(S),R=Yx.Cartesian3.fromDegrees(D.lon,D.lat,D.height);w(R)}},Yx.ScreenSpaceEventType.LEFT_CLICK),x.setInputAction(function(S){!C&&A.showAt(S.endPosition,"\u70B9\u51FB\u9009\u62E9\u5B9A\u4F4D\u70B9"),C&&A.showAt(S.endPosition,"\u70B9\u51FB\u7ED3\u675F\u7ED5\u98DE")},Yx.ScreenSpaceEventType.MOUSE_MOVE),x.setInputAction(function(S){m.distance-=S*m.distance/2e3,m.distance<1&&(m.distance=1)},Yx.ScreenSpaceEventType.WHEEL),this.drawHandler=x),this.end=S=>{this.end=void 0,A.show(!1),x&&x.destroy(),E&&m._viewer.entities.remove(E),E=void 0,m._core.mouse(m._viewer.container,0),f.clock.onTick.removeEventListener(T),o.end&&o.end()},this};var Z8=zst;var HDe=null;function Yst(o,A){HDe=A,this._viewer=o,this._cesium=A,this._tree=Ke.getSource()}Yst.prototype.flyToObj=function(o){if(o&&o.flyTo)o.flyTo();else if(o&&o.west!==void 0&&o.west!==null)this._viewer.camera.flyTo({destination:this._cesium.Rectangle.fromDegrees(o.west,o.south,o.east,o.north)});else if(o instanceof HDe.Entity)this._viewer.flyTo(o);else if(o&&o.rectangle)this._viewer.camera.flyTo({destination:o.rectangle});else{if(o&&o.item&&o.item.id!=null&&o.item.id!=null){var A=Ke.getSourceById(this._tree,o.item.id);try{var f=this._viewer.scene.primitives.get(A.id);this._viewer.flyTo(f)}catch{}}if(o&&o.item)if(o.item.entities)this._viewer.flyTo(o.item);else if(o.item._primitives&&o.item._primitives.length){var m=bi.filter(o.item._primitives,function(v){return v.geometryInstances==null});if(m.length>0){if(m[0]._boundingSpheres!=null)this._viewer.camera.flyToBoundingSphere(m[0]._boundingSpheres[0]);else if(m[0]._primitive!=null&&m[0]._primitive!=null&&m[0]._primitive._boundingSpheres[0]!=null&&m[0]._primitive._boundingSpheres[0]!=null)this._viewer.camera.flyToBoundingSphere(m[0]._primitive._boundingSpheres[0]);else if(m[0]._labels!=null&&m[0]._labels.length>0){var C=m[0]._labels[0].position,E=this._cesium.Cartographic.fromCartesian(C),x=this._cesium.Math.toDegrees(E.longitude),y=this._cesium.Math.toDegrees(E.latitude),I=this._cesium.Cartesian3.fromDegrees(x,y,2e3);this._viewer.camera.flyTo({destination:I})}else if(m[0]._pointPrimitives!=null&&m[0]._pointPrimitives.length>0){var C=m[0]._pointPrimitives[0].position,E=this._cesium.Cartographic.fromCartesian(C),x=this._cesium.Math.toDegrees(E.longitude),y=this._cesium.Math.toDegrees(E.latitude),I=this._cesium.Cartesian3.fromDegrees(x,y,2e3);this._viewer.camera.flyTo({destination:I})}else if(m[0]._billboards!=null&&m[0]._billboards.length>0){var C=m[0]._billboards[0].position,E=this._cesium.Cartographic.fromCartesian(C),x=this._cesium.Math.toDegrees(E.longitude),y=this._cesium.Math.toDegrees(E.latitude),I=this._cesium.Cartesian3.fromDegrees(x,y,2e3);this._viewer.camera.flyTo({destination:I})}}}else if(o.item._primitives&&o.item._primitives._boundingSpheres)o.item._primitives._boundingSpheres.length&&this._viewer.camera.flyToBoundingSphere(o.item._primitives._boundingSpheres[0]);else if(o.item._boundingSpheres&&o.item._boundingSpheres.length>0)this._viewer.camera.flyToBoundingSphere(o.item._boundingSpheres[0]);else if(o.item._boundingVolumes&&o.item._boundingVolumes.length){var C=o.item._boundingVolumes[0].center,E=this._cesium.Cartographic.fromCartesian(C),x=this._cesium.Math.toDegrees(E.longitude),y=this._cesium.Math.toDegrees(E.latitude),I=this._cesium.Cartesian3.fromDegrees(x,y,5e3);this._viewer.camera.flyTo({destination:I})}else o.item instanceof HDe.Cesium3DTileset?this._viewer.flyTo(o.item):o.item.boundingSphere?this._viewer.camera.flyToBoundingSphere(o.item.boundingSphere):this._viewer.flyTo(o.item);else o&&(o.boundingSphere?this._viewer.camera.flyToBoundingSphere(o.boundingSphere):this._viewer.flyTo(o))}};var Jst=Yst;var Mv=null;function lA(o,A){Mv=A,this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._getPosition=new kl(this._viewer,this._cesium),this._tree=Ke,this._entityFly=null}lA.prototype.executeFlycesium=function(o){var A={},f=this,m=function(){function Q(T){this.options={polyline:{show:!0,positions:[],material:new f._cesium.PolylineGlowMaterialProperty({glowPower:.1,color:f._cesium.Color.YELLOW}),width:10,clampToGround:!0}},this.positions=T,this._init()}return Q.prototype._init=function(){var T=this,w=function(){return T.positions};this.options.polyline.positions=new f._cesium.CallbackProperty(w,!1),this.flycesium=f._viewer.entities.add(this.options),f.item=this.flycesium},Q}(),C=this.handler=new f._cesium.ScreenSpaceEventHandler(f._viewer.scene.canvas),E=[],x=null,y=0,I=void 0,v={polyline:{},cameraRoll:null,cameraPitch:null,cameraPosition:null,cameraHeading:null,positions:[],distance:[],Totaltime:""},B=this._core.CreateTooltip();return this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),C.setInputAction(function(Q){var T=f._getPosition.getMousePosition(Q);f._core.getBrowser().pc==="pc"&&E.length==0&&E.push(T.clone()),E.push(T),E.length>=2&&(f._cesium.defined(I)||(I=new m(E)),y=f._core.getSpaceDistancem(E,f._cesium))},this._cesium.ScreenSpaceEventType.LEFT_CLICK),C.setInputAction(function(Q){B.showAt(Q.endPosition,"\u5DE6\u952E\u5F00\u59CB,\u53F3\u952E\u7ED3\u675F\uFF01");var T=f._getPosition.getMousePosition(Q);E.length>=2&&(f._cesium.defined(I)?T&&(E.pop(),E.push(T)):I=new m(E),y=f._core.getSpaceDistancem(E,f._cesium))},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),C.setInputAction(function(Q){f.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=function(Q){C.destroy(),B.show(!1),f._core.mouse(f._viewer.container,0),f.end=void 0,f._viewer.entities.remove(f.item),!(Q==="cancel"||E.length<2)&&(y=f._core.getSpaceDistancem(E,f._cesium),v.polyline=I,v.positions=E,v.distance=parseFloat(y),f.setFlycesium(v,function(T){f.flyceium=T,f.ploylinejl=v,typeof o=="function"&&o(T)}))},this};lA.prototype.getFlyData=function(o,A){let f=[];typeof o[0]=="object"?o.forEach(E=>{f.push(Mv.Cartesian3.fromDegrees(E.lon,E.lat,E.height))}):typeof o[0]=="number"&&(f=Mv.Cartesian3.fromDegreesArrayHeights(o));let m=this._core.getSpaceDistancem(f,Mv);return this.setFlycesium({positions:f,distance:m},A)};lA.prototype.setFlycesium=function(o,A){for(var f=this,m=[],C=0;C<o.positions.length;C++){var E=f._cesium.Cartographic.fromCartesian(o.positions[C]),x=[E.longitude/Math.PI*180,E.latitude/Math.PI*180,E.height];m.push(x)}var y;y=(o.distance/50.5).toFixed(1);var I={id:f._core.getuid(),name:"\u65B0\u5EFA\u8DEF\u7EBF",distance:o.distance,showPoint:!1,showLine:!0,showModel:!0,isLoop:!1,Totaltime:Math.round(y),speed:50.5,height:10,perPositionHeight:!1,pitch:-20,range:100,mode:0,url:window.SmartEarthRootUrl+Zr.testModel,geojson:{geometry:{type:"LineString",coordinates:m}}};return A&&A(I),I};lA.prototype.Start=function(o,A,f){var m=this,C=o.geojson;return o.Totaltime||(o.Totaltime=3e3),m._entityFly&&m.exit(),ck=f,setTimeout(function(){m.executeFly3D(o,A)},200),this};var OT=null,BC=null,ck=null,Sa={start:null,time:null,longitude:0,latitude:0,cameraHeight:10,speed:50.5,multiplier:1,position:0};var VDe,jst,Kst,QK,TQ,hk=0;lA.prototype.executeFly3D=function(o,A){var f=this,m=o.geojson;if(VDe=new f._cesium.Cartesian3,QK=new f._cesium.SampledProperty(Number),TQ=new f._cesium.SampledPositionProperty,m&&m.geometry){var C=m.geometry.coordinates,E=[],x=[];if(C.length>0)for(var y=0;y<C.length;y++){var I=C[y][0],v=C[y][1],B=C[y][2];o.lineHeight!==void 0&&!o.perPositionHeight&&(B=o.lineHeight),x.push(I,v,B),E.push({x:I,y:v,z:B})}else return;f._viewer.clock.clockRange=o.isLoop?f._cesium.ClockRange.LOOP_STOP:f._cesium.ClockRange.CLAMPED,f._viewer.clock.multiplier=o.multiplier||1,f._viewer.clock.canAnimate=!1,f._viewer.clock.shouldAnimate=!0,Sa.distance=o.distance,Sa.cameraHeight=this._core.defaultValue(o.height,10),Sa.lineHeight=o.lineHeight,Sa.perPositionHeight=o.perPositionHeight,Sa.pitch=o.pitch,Sa.range=o.range,Sa.speed=o.speed||50.5,Sa.Totaltime=o.distance/Sa.speed,Sa.start=f._cesium.JulianDate.fromDate(new Date),Sa.stop=f._cesium.JulianDate.addSeconds(Sa.start,Sa.Totaltime,new f._cesium.JulianDate),f._viewer.clock.startTime=Sa.start.clone(),f._viewer.clock.stopTime=Sa.stop.clone(),f._viewer.clock.currentTime=Sa.start.clone();var Q=f.computeCirclularFlight(E);Sa.position=Q,Sa.degrees=E,Kst=new f._cesium.VelocityOrientationProperty(Q);var T={};A!==""?T={show:f._cesium.defaultValue(o.showModel,!0),scale:f._cesium.defaultValue(o.modelScale,1),uri:A}:T={show:f._cesium.defaultValue(o.showModel,!0),scale:f._cesium.defaultValue(o.modelScale,1)},o.modelData&&(T=f._core.extend(T,o.modelData)),$8=function(){},OT=f._viewer.entities.add({availability:new f._cesium.TimeIntervalCollection([new f._cesium.TimeInterval({start:Sa.start,stop:Sa.stop})]),position:Q,polyline:{clampToGround:Sa.lineHeight===void 0&&!Sa.perPositionHeight,positions:Mv.Cartesian3.fromDegreesArrayHeights(x),show:f._cesium.defaultValue(o.showLine,!0),material:new f._cesium.PolylineGlowMaterialProperty({glowPower:.1,color:f._cesium.Color.YELLOW}),width:10},label:{text:new f._cesium.CallbackProperty(w,!1),font:"20px sans-serif",showBackground:!1,distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,100),eyeOffset:new f._cesium.Cartesian3(0,3.5,0)}}),BC=f._viewer.entities.add({availability:new f._cesium.TimeIntervalCollection([new f._cesium.TimeInterval({start:Sa.start,stop:Sa.stop})]),position:Q,orientation:Kst,point:{show:f._cesium.defaultValue(o.showPoint,!1),color:f._cesium.Color.RED,outlineColor:f._cesium.Color.WHITE,outlineWidth:2,pixelSize:10},model:T,billboard:o.image,viewFrom:o.viewFrom||new f._cesium.Cartesian3(500,500,500)}),iae=OT,f._viewer.trackedEntity=BC,f._entityFly=OT,o.mode&&f.changeFlyMode(o.mode)}else return;function w(S,D){var R=iae,P=f._viewer.camera;if(f._viewer.clock.clockRange!==2&&Mv.JulianDate.equals(f._viewer.clock.currentTime,f._viewer.clock.stopTime)){OT.label.text="",Sa.time=Sa.Totaltime,Sa.ratio=1,Sa.distanceTraveled=Sa.distance,f.exit(),ck!=null&&typeof ck=="function"&&ck(Sa,"end"),$8=function(){};return}try{var M=iae.position.getValue(f._viewer.clock.currentTime),L=f._cesium.Cartographic.fromCartesian(M);if(Sa.longitude=f._cesium.Math.toDegrees(L.longitude),Sa.latitude=f._cesium.Math.toDegrees(L.latitude),Sa.lineHeight===void 0&&!Sa.perPositionHeight){let N=f._viewer.scene.sampleHeight(L,[BC,iae]),G=f._viewer.scene.globe.getHeight(L);BC.position=f._cesium.Cartesian3.fromRadians(L.longitude,L.latitude,G>N?G:N)}}catch{}try{jst.getValue(S,VDe),$8(S);var F=f._cesium.Cartesian3.magnitude(VDe),k=Math.round(F*3.6);k+=" km/h",Sa.time=f._cesium.JulianDate.secondsDifference(S,Sa.start),Sa.ratio=Sa.time/Sa.Totaltime,Sa.distanceTraveled=Sa.ratio*Sa.distance,Sa.speed=k,Sa.height=L.height,Sa.globeHeight=f._viewer.scene.globe.getHeight(L),ck!=null&&typeof ck=="function"&&ck(Sa)}catch{}return""}};var bK,iae=null,$8;function Wst(o){hk=QK.getValue(o),Sa.heading=hk}function qst(o){var A=Mv.Cartographic.fromCartesian(o),f=Mv.Math.toDegrees(A.longitude),m=Mv.Math.toDegrees(A.latitude);return Mv.Cartesian3.fromDegrees(f,m,A.height+Sa.cameraHeight)}lA.prototype.showPoint=function(o){BC&&BC.point&&(BC.point.show=o)};lA.prototype.showLine=function(o){OT&&OT.polyline&&(OT.polyline.show=o)};lA.prototype.showModel=function(o){BC&&BC.model&&(BC.model.show=o)};lA.prototype.setFlyHeight=function(o){Sa.cameraHeight=o};lA.prototype.setFlyDistance=function(o){Sa.range=o};lA.prototype.setFlyPitch=function(o){Sa.pitch=o};lA.prototype.changeFlyMode=function(o){var A=this;switch(o){case 0:$8=function(){},A.BindingModel(!0);break;case 1:this.BindingModel(!1),$8=function(f){Wst(f),A.exeuteVisualAngle(A._cesium.Math.toRadians(Sa.heading),A._cesium.Math.toRadians(Sa.pitch),Sa.range)};break;case 2:this.BindingModel(!1),$8=function(f){Wst(f),bK=A._entityFly.position.getValue(A._viewer.clock.currentTime),bK&&(bK=qst(bK),A._viewer.camera.setView({destination:bK,orientation:{heading:A._cesium.Math.toRadians(Sa.heading),pitch:A._cesium.Math.toRadians(-90),roll:0}}))};break}};lA.prototype.faster=function(){this._viewer.animation.viewModel.faster()};lA.prototype.slower=function(){this._viewer.animation.viewModel.slower()};lA.prototype.setMultiplier=function(o){this._viewer.clock.multiplier=parseFloat(o)};lA.prototype.isPause=function(o){var A=this._viewer.clockViewModel;A.shouldAnimate=!o};lA.prototype.exit=function(){this.isPause(!0),this._viewer.clock.multiplier=1,this.executeSignout(),this.BindingModel(!1),this._viewer.entities.remove(OT),this._viewer.entities.remove(BC),OT=null,BC=null,this._entityFly=null};lA.prototype.updateSpeedLabel=function(o,A){};lA.prototype.computeCirclularFlight=function(o){var A=this;jst=new A._cesium.VelocityVectorProperty(TQ,!1);for(var f,m,C,E,x=0;x<o.length;x++){x===0&&(m=A._cesium.JulianDate.addSeconds(Sa.start,0,new A._cesium.JulianDate),C=A._cesium.Cartesian3.fromDegrees(o[0].x,o[0].y,A._cesium.defaultValue(Sa.lineHeight,o[x].z)),TQ.addSample(m,C),hk=A._core.TwoPointAzimuth(o[0].x,o[0].y,o[1].x,o[1].y),QK.addSample(m,hk));try{if(x>0){C=new A._cesium.Cartesian3(TQ._property._values[x*3-3],TQ._property._values[x*3-2],TQ._property._values[x*3-1]),E=A._cesium.Cartesian3.fromDegrees(o[x].x,o[x].y,A._cesium.defaultValue(Sa.lineHeight,o[x].z));var y=Mv.Cartesian3.distance(C,E);m=A._cesium.JulianDate.addSeconds(TQ._property._times[x-1],.5,new A._cesium.JulianDate),f=A._cesium.JulianDate.addSeconds(TQ._property._times[x-1],y/Sa.speed,new A._cesium.JulianDate),TQ.addSample(f,E),hk=A._core.TwoPointAzimuth(o[x-1].x,o[x-1].y,o[x].x,o[x].y),QK.addSample(m,hk),QK.addSample(f,hk)}}catch(I){console.log(I)}}return TQ};lA.prototype.executePauseFly3DPaths=function(){var o=this._viewer.clockViewModel;o.shouldAnimate?o.shouldAnimate=!1:this._viewer.clockViewModel.canAnimate&&(o.shouldAnimate=!0)};lA.prototype.changeModel=function(o){BC.model.uri=o};lA.prototype.PointView=function(){var o={position:this._viewer.camera.position.clone(),orientation:{heading:this._viewer.camera.heading,pitch:this._viewer.camera.pitch,roll:this._viewer.camera.roll}};return o};lA.prototype.PlayPaths=function(o){var A=1,f=this;setInterval(function(){f._viewer.camera.setView({destination:f._cesium.Cartesian3.fromDegrees(117.48,30.67,15e3),orientation:{heading:f._cesium.Math.toRadians(90,0),pitch:f._cesium.Math.toRadians(-90),roll:0}})},2e3)};lA.prototype.BindingModel=function(o){o?this._viewer.trackedEntity=BC:(this._viewer.trackedEntity=void 0,this._viewer.camera.lookAtTransform(Mv.Matrix4.IDENTITY))};lA.prototype.exeuteVisualAngle=function(o,A,f){var m={heading:null,pitch:null,range:null};m.heading=o||this._cesium.Math.toRadians(90),m.pitch=A||this._cesium.Math.toRadians(0),m.range=f||1e3;var C=this._entityFly.position.getValue(this._viewer.clock.currentTime);if(!!C){C=qst(C);var E=new this._cesium.HeadingPitchRange(m.heading,m.pitch,m.range);this._viewer.camera.lookAt(C,E)}};lA.prototype.Pathshow=function(o){this._entityFly.polyline.show=o};lA.prototype.Pointshow=function(o){BC._point.show=o};lA.prototype.Modelshow=function(o){BC._model.show=o};lA.prototype.executePlayForwardFly3DPaths=function(){var o=this._viewer.clockViewModel,A=o.multiplier;A<0&&(o.multiplier=-A),o.shouldAnimate=!0};lA.prototype.executePlayReverseFly3DPaths=function(){var o=this._viewer.clockViewModel,A=o.multiplier;A>0&&(o.multiplier=-A),o.shouldAnimate=!0};lA.prototype.executeSignout=function(){var o=this._cesium.JulianDate.fromDate(new Date);this._viewer.clock.startTime=o.clone();var A=this._cesium.JulianDate.addSeconds(o,86400,new this._cesium.JulianDate);this._viewer.clock.stopTime=A.clone()};lA.prototype.forceEndHanlder=function(){this.handler&&(this.handler.destroy(),this.handler=void 0)};var NR=lA;function kR(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A)}kR.prototype.VectorColorTransformation=function(o,A){var f=o;if(f&&f.toString().charAt(0)=="["&&f.toString().charAt(f.length-1)=="]"){var m=styleOption.fillColor.replace(/\[/,"").replace(/\]/,"");f=A.properties[m]}return this._core.isnull(f)||(this._core.isHtmlColor(f)?f=this.colorFromHtmlColor(f):(/^rgb/.test(f)&&(f=this.rgbaStringToRgbaObj(f)),f.r!=null?(f.r>1&&(f.r=f.r/255),f.g>1&&(f.g=f.g/255),f.b>1&&(f.b=f.b/255),f.a>1&&(f.a=f.a/255),f=this.createColor(f.r,f.g,f.b,f.a)):f.red!=null&&(f.red>1&&(f.red=f.red/255),f.green>1&&(f.green=f.green/255),f.blue>1&&(f.blue=f.blue/255),f.alpha>1&&(f.alpha=f.alpha/255),f=this.createColor(f.red,f.green,f.blue,f.alpha)))),f};kR.prototype.createColorTransformation=function(o){var A=o;return this._core.isnull(A)||A.toString().charAt(0)=="["&&A.toString().charAt(A.length-1)=="]"||(this._core.isHtmlColor(A)?A=this.colorFromHtmlColor(A):(/^rgb/.test(A)&&(A=this.rgbaStringToRgbaObj(A)),A.r>1&&(A.r=A.r/255),A.g>1&&(A.g=A.g/255),A.b>1&&(A.b=A.b/255),A.a>1&&(A.a=A.a/255),A=this.createColor(A.r,A.g,A.b,A.a))),A};kR.prototype.createColor=function(o,A,f,m){var C=new this._cesium.Color(o,A,f,m);return C};kR.prototype.colorFromHtmlColor=function(o){if(typeof o=="object")return o.color?o.color:void 0;var A=/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6}|[0-9a-fA-f]{8})$/;if(o=o.toLowerCase(),!A.test(o)){console.log("\u4E0D\u662F\u6709\u6548\u7684html\u989C\u8272",o);return}if(o.length==4){for(var f="#",m=1;m<4;m+=1)f+=o.slice(m,m+1).concat(o.slice(m,m+1));o=f}for(var C=[],m=1;m<7;m+=2)C.push(parseInt("0x"+o.slice(m,m+2)));if(o.length==9){var E=parseInt(o.substr(7,2))/100;return this.createColor(C[0]/255,C[1]/255,C[2]/255,E)}return this.createColor(C[0]/255,C[1]/255,C[2]/255,1)};kR.prototype.toHtmlColor=function(o){var A=o.split(","),f=parseInt(A[0].split("(")[1]),m=parseInt(A[1]),C=parseInt(A[2].split(")")[0]),E="#"+((1<<24)+(f<<16)+(m<<8)+C).toString(16).slice(1);return E};kR.prototype.rgbaStringToRgbaObj=function(o){if(/^rgb/.test(o)){o=o.replace(/rgba\(/g,""),o=o.replace(/rgb\(/g,""),o=o.replace(/\)/g,"");var A=o.split(",");o={},A.length==3?(o.r=parseFloat(A[0]),o.g=parseFloat(A[1]),o.b=parseFloat(A[2]),o.a=1):A.length==4&&(o.r=parseFloat(A[0]),o.g=parseFloat(A[1]),o.b=parseFloat(A[2]),o.a=parseFloat(A[3]))}return o};kR.prototype.CreateColor=function(o,A,f,m){var C=new this._cesium.Color(o,A,f,m);return C};var In=kR;function Ll(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._tree=Ke,this._viewEvent=null,this.positions=[],this._getPosition=new kl(this._viewer,this._cesium),this.objId=Number(new Date().getTime()+""+Number(Math.random()*1e3).toFixed(0)),this.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),this.modifyHandler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),this.style=null,this.state=0,this.gonRectangleArr=[]}Ll.prototype.createRectangle=function(o,A){var f=this,m=this;this._tree.removeHandler(),!o&&(o={});var C=[];f.shape={points:[],button:0,rect:null,entity:null};var E,x,y={fillColor:this._cesium.Color.YELLOW.withAlpha(.4),outlineColor:this._cesium.Color.RED};o&&o.fillColor&&(y.fillColor=new In(this._viewer,this._cesium).colorFromHtmlColor(fillColor)),o&&o.outlineColor&&(y.outlineColor=new In(this._viewer,this._cesium).colorFromHtmlColor(outlineColor)),this._tree.handler=new this._cesium.ScreenSpaceEventHandler(m._viewer.scene.canvas),this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw);var I=null,v=null;this._tree.handler.setInputAction(function(w){x=m._getPosition.getMousePosition(w,[f.shape.entity]);var S=m._getPosition.getMouseDegrees(w,[f.shape.entity]);if(f.shape.button>=1){v=S;var D={obj1:I,obj2:v},R={position:m._viewer.camera.position.clone(),orientation:{heading:m._viewer.camera.heading,pitch:m._viewer.camera.pitch,roll:m._viewer.camera.roll}},P={originalCameraLocation:R,pointes:D,terrainExaggeration:"5",zj:"true"};typeof A=="function"&&A(P),m._tree.handler.removeInputAction(m._cesium.ScreenSpaceEventType.MOUSE_MOVE),m._tree.handler.removeInputAction(m._cesium.ScreenSpaceEventType.LEFT_CLICK)}else I=S;f.shape.button=f.shape.button+1,x&&(f.shape.points.length==0?(C.push(x),f.shape.points.push(m._viewer.scene.globe.ellipsoid.cartesianToCartographic(x)),f.shape.rect=m._cesium.Rectangle.fromCartographicArray(f.shape.points),f.shape.rect.east+=1e-6,f.shape.rect.north+=1e-6,f.shape.entity=m._viewer.entities.add({rectangle:{coordinates:f.shape.rect,material:y.fillColor,outline:!0,outlineWidth:2,outlineColor:y.outlineColor,height:o&&o.height,heightReference:o&&o.heightReference}}),f.shape.entity.rectangle.coordinates=new m._cesium.CallbackProperty(function(){return f.shape.rect},!1),f.bufferEntity=f.shape.entity,m.item=f.shape.entity):(m._core.mouse(m._viewer.container,0,"0"),f.shape.entity.rectangle.coordinates=m._cesium.Rectangle.clone(f.shape.rect),m._tree.handler.removeInputAction(m._cesium.ScreenSpaceEventType.MOUSE_MOVE),m._tree.handler.removeInputAction(m._cesium.ScreenSpaceEventType.LEFT_CLICK)))},this._cesium.ScreenSpaceEventType.LEFT_CLICK),m._tree.handler.setInputAction(function(w){if(f.shape.points.length!=0){var S=m._getPosition.getMousePosition(w,[f.shape.entity]);S&&(C[1]=S,f.shape.points[1]=m._viewer.scene.globe.ellipsoid.cartesianToCartographic(S),f.shape.rect=m._cesium.Rectangle.fromCartographicArray(f.shape.points),f.shape.rect.west==f.shape.rect.east&&(f.shape.rect.east+=1e-6),f.shape.rect.south==f.shape.rect.north&&(f.shape.rect.north+=1e-6))}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE);var B=0;!m._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(B=Ke.selectedItem.id);var Q=m._core.getuid(),T={id:Q,name:"\u65B0\u5EFA\u77E9\u5F62"+Q,pId:m._core.isnull(B)?0:B,type:"rectangle",item:m};return m.setTreeobj(T),Ke.insertGroupId(T,m._core.isnull(B)?0:B),this};Ll.prototype.getstyles=function(){var o={};return o.show=this.item.rectangle.show?this.item.rectangle.show._value:!0,o.coordinates=this.item.rectangle.coordinates?{east:this.item.rectangle.coordinates.getValue().east,north:this.item.rectangle.coordinates.getValue().north,south:this.item.rectangle.coordinates.getValue().south,west:this.item.rectangle.coordinates.getValue().west}:[],o.height=this.item.rectangle.height?this.item.rectangle.height.toString():0,o.heightReference=this.item.rectangle.heightReference?this.item.rectangle.heightReference.toString():0,o.extrudedHeight=this.item.rectangle.extrudedHeight?this.item.rectangle.extrudedHeight.getValue().toString():0,o.extrudedHeightReference=this.item.rectangle.extrudedHeightReference?this.item.rectangle.extrudedHeightReference.toString():0,o.rotation=this.item.rectangle.rotation?this.item.rectangle.rotation.toString():0,o.stRotation=this.item.rectangle.stRotation?this.item.rectangle.stRotation.toString():0,o.granularity=this.item.rectangle.granularity&&this.item.rectangle.granularity._value?this.item.rectangle.granularity._value:void 0,o.fill=this.item.rectangle.fill?this.item.rectangle.fill._value:0,o.outline=this.item.rectangle.outline?this.item.rectangle.outline._value:0,o.outlineWidth=this.item.rectangle.outlineWidth&&this.item.rectangle.outlineWidth._value?this.item.rectangle.outlineWidth._value.toString():1,o.outlineColor=this.item.rectangle.outlineColor&&this.item.rectangle.outlineColor._value?"rgba"+this.item.rectangle.outlineColor.toString():null,o.material={},o.material.color=this.item.rectangle.material&&this.item.rectangle.material.color&&this.item.rectangle.material.color._value?"rgba"+this.item.rectangle.material.color.toString():null,o.material.image=this.item.rectangle.material&&this.item.rectangle.material.image&&this.item.rectangle.material.image._value?this.item.rectangle.material.image.toString():null,o.material.repeat=this.item.rectangle.material&&this.item.rectangle.material.repeat&&this.item.rectangle.material.repeat._value?this.item.rectangle.material.repeat._value:null,o.classificationType=this.item.rectangle.classificationType?this.item.rectangle.classificationType.toString():null,o.near=this.item.rectangle.distanceDisplayCondition?this.item.rectangle.distanceDisplayCondition._value.near:null,o.far=this.item.rectangle.distanceDisplayCondition?this.item.rectangle.distanceDisplayCondition._value.far:null,o};Ll.prototype.createRectangleOptimization=function(o,A){var f=this;this._tree.removeHandler();var m=[];f.shape={points:[],button:0,rect:null,entity:null};var C,E,x={fillColor:this._cesium.Color.YELLOW.withAlpha(.4),outlineColor:this._cesium.Color.RED};o&&o.fillColor&&(x.fillColor=new In(this._viewer,this._cesium).colorFromHtmlColor(fillColor)),o&&o.outlineColor&&(x.outlineColor=new In(this._viewer,this._cesium).colorFromHtmlColor(outlineColor)),this.handler=new this._cesium.ScreenSpaceEventHandler(f._viewer.scene.canvas);var y=null,I=null;this.handler.setInputAction(function(T){E=f._core.getPointFromWindowPoint(T.position,f._viewer);var w=f._viewer.camera.pickEllipsoid(T.position,f._viewer.scene.globe.ellipsoid);if(f.shape.button>=1){I=w;var S={obj1:y,obj2:I},D={position:f._viewer.camera.position.clone(),orientation:{heading:f._viewer.camera.heading,pitch:f._viewer.camera.pitch,roll:f._viewer.camera.roll}},R={originalCameraLocation:D,pointes:S,terrainExaggeration:"5",zj:"true"};typeof A=="function"&&A(R),f.handler.removeInputAction(f._cesium.ScreenSpaceEventType.MOUSE_MOVE),f.handler.removeInputAction(f._cesium.ScreenSpaceEventType.LEFT_CLICK)}else y=w;if(f.shape.button=f.shape.button+1,E){f.shape.points.length==0?(m.push(E),f.shape.points.push(f._viewer.scene.globe.ellipsoid.cartesianToCartographic(E)),f.shape.rect=f._cesium.Rectangle.fromCartographicArray(f.shape.points),f.shape.rect.east+=1e-6,f.shape.rect.north+=1e-6,f.shape.entity=f._viewer.entities.add({rectangle:{coordinates:f.shape.rect,material:x.fillColor,outline:!0,outlineWidth:2,outlineColor:x.outlineColor,height:o&&o.height,heightReference:o&&o.heightReference||1}}),f.shape.entity.objId=f.objId,f.shape.entity.rectangle.coordinates=new f._cesium.CallbackProperty(function(){return f.shape.rect},!1),f.bufferEntity=f.shape.entity,f.item=f.shape.entity):(f.state=1,f.handler.removeInputAction(f._cesium.ScreenSpaceEventType.MOUSE_MOVE),f.handler.removeInputAction(f._cesium.ScreenSpaceEventType.LEFT_CLICK));var P=f.createPoint(E,!1);P.wz=f.gonRectangleArr.length,f.gonRectangleArr.push(P),f.positions.push(E)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.handler.setInputAction(function(T){if(f.shape.points.length!=0){var w=f._core.getPointFromWindowPoint(T.endPosition,f._viewer);if(w){var S=f._viewer.camera.getPickRay(T.endPosition),D=f._viewer.scene.globe.pick(S,f._viewer.scene);m[1]=w,f.shape.points[1]=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(w),f.shape.rect=f._cesium.Rectangle.fromCartographicArray(f.shape.points),f.shape.rect.west==f.shape.rect.east&&(f.shape.rect.east+=1e-6),f.shape.rect.south==f.shape.rect.north&&(f.shape.rect.north+=1e-6)}}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE);var v=0;!f._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(v=Ke.selectedItem.id);var B=f._core.getuid(),Q={id:B,name:"\u65B0\u5EFA\u77E9\u5F62"+B,pId:f._core.isnull(v)?0:v,type:"rectangle",item:f};return f.setTreeobj(Q),Ke.insertGroupId(Q,f._core.isnull(v)?0:v),this};Ll.prototype.startModify=function(){var o="\u62D6\u52A8\u4FEE\u6539\u4F4D\u7F6E,\u53F3\u51FB\u5220\u9664\u8BE5\u70B9";if(!(this.state!=1&&this.state!=2)){this.modifyHandler||(this.modifyHandler=new Cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas));for(var A=this,f=0;f<A.gonRectangleArr.length;f++){var m=A.gonRectangleArr[f];m&&(m.show=!0)}this.modifyHandler.setInputAction(function(C){var E=A._viewer.scene.pick(C.position);if(Cesium.defined(E)&&E.id)E.id.objId||(A.modifyPoint=E.id,o="\u91CA\u653E\u540E\u5B8C\u6210\u4FEE\u6539"),A.forbidDrawWorld(!0);else{for(var x=0;x<A.gonRectangleArr.length;x++){var y=A.gonRectangleArr[x];y&&(y.show=!1)}A.modifyHandler&&(A.modifyHandler.destroy(),A.modifyHandler=null)}},Cesium.ScreenSpaceEventType.LEFT_DOWN),this.modifyHandler.setInputAction(function(C){var E=A._viewer.scene.pick(C.endPosition);if(A._core.CreateTooltip(o,C.endPosition,!1),!A.modifyPoint){A._cesium.defined(E)&&E.id&&E.id.objId&&A._core.CreateTooltip("\u62D6\u52A8\u4FEE\u6539\u4F4D\u7F6E",C.endPosition,!0);return}if(!(A.positions.length<1||!A.modifyPoint)){var x=A.getCatesian3FromPX(C.endPosition,A._viewer,[A.shape.entity,A.modifyPoint]);x&&(A.modifyPoint.position.setValue(x),A.shape.points[A.modifyPoint.wz]=A._viewer.scene.globe.ellipsoid.cartesianToCartographic(x),A.shape.rect=A._cesium.Rectangle.fromCartographicArray(A.shape.points),A.shape.rect.east+=1e-6,A.shape.rect.north+=1e-6),A._core.CreateTooltip(o,C.endPosition,!0)}},Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.modifyHandler.setInputAction(function(C){if(A.forbidDrawWorld(!1),!!A.modifyPoint){var E=A.getCatesian3FromPX(C.position,A._viewer,[A.shape.entity,A.modifyPoint]);A.modifyPoint.position.setValue(E),A.shape.points[A.modifyPoint.wz]=A._viewer.scene.globe.ellipsoid.cartesianToCartographic(E),A.shape.rect=A._cesium.Rectangle.fromCartographicArray(A.shape.points),A.shape.rect.east+=1e-6,A.shape.rect.north+=1e-6,A.modifyPoint=null,A.forbidDrawWorld(!1),o="\u62D6\u52A8\u4FEE\u6539\u4F4D\u7F6E"}},Cesium.ScreenSpaceEventType.LEFT_UP)}};Ll.prototype.createPoint=function(o,A){if(!!o)return this._viewer.entities.add({position:o,point:{pixelSize:10,color:this._cesium.Color.ROYALBLUE,outlineWidth:2,outlineColor:this._cesium.Color.WHITE,heightReference:this._cesium.HeightReference.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY},show:A})};Ll.prototype.getCatesian3FromPX=function(o,A,f){var m=A.scene.pick(o),C,E=A.scene.drillPick(o),x=null;if(f){for(var y=0;y<E.length;y++)if(E[y].id._id!=f[0].id&&E[y].id._id!=f[1].id){x=E[y].id;break}}else x=m;if(A.scene.pickPositionSupported&&this._cesium.defined(x))C=A.scene.pickPosition(o);else{var I=A.camera.getPickRay(o);if(!I)return;C=A.scene.globe.pick(I,A.scene)}return C};Ll.prototype.forbidDrawWorld=function(o){this._viewer.scene.screenSpaceCameraController.enableRotate=!o,this._viewer.scene.screenSpaceCameraController.enableTilt=!o,this._viewer.scene.screenSpaceCameraController.enableTranslate=!o,this._viewer.scene.screenSpaceCameraController.enableInputs=!o};Ll.prototype.CreateRectangle=function(o,A,f,m,C){var E=this,x=E._core.getuid(),y={outlineColor:this._cesium.Color.RED,material:this._cesium.Color.YELLOW.withAlpha(.5)};f&&f.fillColor&&(y.material=new In(this._viewer,this._cesium).colorFromHtmlColor(f.fillColor)),f&&f.outlineColor&&(y.outlineColor=new In(this._viewer,this._cesium).colorFromHtmlColor(f.outlineColor)),y=this._core.extend(y,f,!1),y.coordinates=this.getCoordinates(A),this.item=E._viewer.entities.add({id:x,name:o||"\u65B0\u5EFA\u77E9\u5F62",rectangle:y}),typeof C=="function"&&C(this.item),!E._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id);var I={id:x,name:"\u65B0\u5EFA\u77E9\u5F62"+x,pId:E._core.isnull(m)?0:m,type:"rectangle",item:this.item};return E.setTreeobj(I),Ke.insertGroupId(I,E._core.isnull(m)?0:m),this};Ll.prototype.getCoordinates=function(o){var A,f,m,C;return o[0].lon>o[1].lon?(A=o[1].lon,f=o[0].lon):(A=o[0].lon,f=o[1].lon),o[0].lat>o[1].lat?(m=o[0].lat,C=o[1].lat):(m=o[1].lat,C=o[0].lat),this._cesium.Rectangle.fromDegrees(A,C,f,m)};Ll.prototype.createRectanglelbj=function(o,A){var f=this,m=this,C=[];f.shape={points:[],button:0,rect:null,entity:null},this._tree.removeHandler(),this.closeBrowseBorder();var E,x,y=0;o!=null&&o!=null&&o.id!=null&&(y=o.id);var I=this._core.CreateTooltip();m._tree.handler=new this._cesium.ScreenSpaceEventHandler(m._viewer.scene.canvas);var v=null,B=null;m._tree.handler.setInputAction(function(S){x=m._core.getPointFromWindowPoint(S.position,m._viewer);var D=m._viewer.camera.pickEllipsoid(S.position,m._viewer.scene.globe.ellipsoid);if(f.shape.button>=1){B=D;var R={obj1:v,obj2:B},P={position:m._viewer.camera.position.clone(),orientation:{heading:m._viewer.camera.heading,pitch:m._viewer.camera.pitch,roll:m._viewer.camera.roll}},M={originalCameraLocation:P,pointes:R,terrainExaggeration:"5",zj:"true"};m.llbj(M,f.shape.entity),typeof A=="function"&&A(f.shape.entity),m._tree.handler.removeInputAction(m._cesium.ScreenSpaceEventType.LEFT_CLICK)}else v=D;f.shape.button=f.shape.button+1,x&&(f.shape.points.length==0?(C.push(x),f.shape.points.push(m._viewer.scene.globe.ellipsoid.cartesianToCartographic(x)),f.shape.rect=m._cesium.Rectangle.fromCartographicArray(f.shape.points),f.shape.rect.east+=1e-6,f.shape.rect.north+=1e-6,f.shape.entity=m._viewer.entities.add({rectangle:{coordinates:f.shape.rect,material:m._cesium.Color.YELLOW.withAlpha(0),outline:!0,outlineWidth:10,outlineColor:m._cesium.Color.YELLOW,height:0}}),f.shape.entity.rectangle.coordinates=new m._cesium.CallbackProperty(function(){return f.shape.rect},!1),m.item=f.shape.entity):f.shape.points.length==2||m._tree.handler.removeInputAction(m._cesium.ScreenSpaceEventType.MOUSE_MOVE))},this._cesium.ScreenSpaceEventType.LEFT_CLICK),m._tree.handler.setInputAction(function(S){if(f.shape.points.length==0?I.showAt(S.endPosition,"\u70B9\u51FB\u5DE6\u952E\u5728\u7403\u9762\u4E0A\u7ED8\u5236\u77E9\u5F62\uFF01"):B&&I.showAt(S.endPosition,"\u8BF7\u5C06\u89C6\u91CE\u7F29\u653E\u5230\u8303\u56F4\u5185\u4EE5\u5F00\u542F\u8FB9\u754C\u6D4F\u89C8"),!(f.shape.points.length==0||B)){I.showAt(S.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF01");var D=m._core.getPointFromWindowPoint(S.endPosition,m._viewer);if(D){var R=m._viewer.camera.getPickRay(S.endPosition),P=m._viewer.scene.globe.pick(R,m._viewer.scene);C[1]=D,f.shape.points[1]=m._viewer.scene.globe.ellipsoid.cartesianToCartographic(D),f.shape.rect=m._cesium.Rectangle.fromCartographicArray(f.shape.points),f.shape.rect.west==f.shape.rect.east&&(f.shape.rect.east+=1e-6),f.shape.rect.south==f.shape.rect.north&&(f.shape.rect.north+=1e-6)}}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE);var Q=0;!m._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(Q=Ke.selectedItem.id);var T=m._core.getuid(),w={id:T,name:"\u65B0\u5EFA\u6D4F\u89C8\u8FB9\u754C"+T,pId:m._core.isnull(y)?0:y,type:"rectangle",item:m};return m.setTreeobj(w),Ke.insertGroupId(w,m._core.isnull(y)?0:y),this};Ll.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show._value,A=this.item.rectangle.coordinates==null?void 0:this.item.rectangle.coordinates._value;A!=null&&(A={east:A.east,north:A.north,south:A.south,west:A.west});var f=this.item.rectangle.height==null?void 0:this.item.rectangle.height._value,m=this.item.rectangle.extrudedHeight==null?void 0:this.item.rectangle.extrudedHeight._value,C=this.item.rectangle.rotation==null?void 0:this.item.rectangle.rotation._value,E=this.item.rectangle.stRotation==null?void 0:this.item.rectangle.stRotation._value,x=this.item.rectangle.fill==null?void 0:this.item.rectangle.fill._value,y=this.item.rectangle.material;y!=null&&(y={color:y.color._value==null?void 0:"rgba("+y.color._value.red+","+y.color._value.green+","+y.color._value.blue+","+y.color._value.alpha+")",image:y.image==null?void 0:y.image._value,diffusemap:y.diffusemap==null?void 0:y.diffusemap._value,alphamap:y.alphamap==null?void 0:y.alphamap._value});var I=this.item.rectangle.outline==null?void 0:this.item.rectangle.outline._value,v=this.item.rectangle.outlineColor==null?void 0:"rgba("+this.item.rectangle.outlineColor._value.red+","+this.item.rectangle.outlineColor._value.green+","+this.item.rectangle.outlineColor._value.blue+","+this.item.rectangle.outlineColor._value.alpha+")",B=this.item.rectangle.outlineWidth==null?void 0:this.item.rectangle.outlineWidth._value,Q=this.item.rectangle.distanceDisplayCondition,T=Q?._value.near,w=Q?._value.far;return{type:"rectangle",treeobj:{id:this.treeobj.id,name:this.treeobj.name,pId:this.treeobj.pId,type:this.treeobj.type},style:{show:o,coordinates:A,height:f,extrudedHeight:m,rotation:C,stRotation:E,fill:x,material:y,outline:I,outlineColor:v,outlineWidth:B,near:T,far:w}}};Ll.prototype.setTreeobj=function(o){this.treeobj=o};Ll.prototype.llbj=function(o,A){var f=document.getElementById("toolTip");f.innerHTML="\u8BF7\u5C06\u89C6\u91CE\u7F29\u653E\u5230\u8303\u56F4\u5185\u4EE5\u5F00\u542F\u8FB9\u754C\u6D4F\u89C8";var m=A.rectangle;m.height=void 0,m.heightReference=void 0,m.perPositionHeight=!1;var C=o.pointes,E=[];E.push(C.obj1),E.push(C.obj2);for(var x={},y=0,I,v,B;y<E.length;y++)I=this._cesium.Cartographic.fromCartesian(E[y]),v=this._cesium.Math.toDegrees(I.longitude),B=this._cesium.Math.toDegrees(I.latitude),y===0?(x.west=v,x.north=B,x.east=v,x.south=B):(v>x.west?x.east=v:x.west=v,B>x.south?x.north=B:x.south=B);var Q={destination:{x:(E[0].x+E[1].x)/2,y:(E[0].y+E[1].y)/2,z:E[0].z+500},orientation:{heading:this._viewer.camera.heading,pitch:this._viewer.camera.pitch,roll:this._viewer.camera.roll}},T=this._viewer.camera.heading,w=this._viewer.camera.pitch,S=this._viewer.camera.roll,D=this._viewer.camera.position.clone(),R={orientation:{heading:T,pitch:w,roll:S},position:D},P=this;P.flyListener=function(){var M=P._viewer.camera.computeViewRectangle(),L=M.west/Math.PI*180,F=M.north/Math.PI*180,k=M.east/Math.PI*180,N=M.south/Math.PI*180,G={west:L,north:F,east:k,south:N},J=P.isInArea(G,x);J?(P._tree.removeHandler(),f.style.left="50%",f.style.top="50%",f.innerHTML="\u8FB9\u754C\u6D4F\u89C8\u5DF2\u5F00\u542F\uFF0C\u53F3\u952E\u7ED3\u675F\u8FB9\u754C\u6D4F\u89C8",setTimeout(function(){f.style.display="none"},2e3),P._viewer.scene.camera.changed.removeEventListener(P.flyListener),P.flyListener=void 0,P._tree.handler=new P._cesium.ScreenSpaceEventHandler(P._viewer.scene.canvas),P._viewEvent=function(K){R=P.limitView(x,R)},P._viewer.scene.camera.percentageChanged=.001,P._viewer.scene.camera.changed.addEventListener(P._viewEvent),P._tree.handler.setInputAction(function(K){P.closeBrowseBorder()},P._cesium.ScreenSpaceEventType.RIGHT_CLICK)):(T=P._viewer.camera.heading,w=P._viewer.camera.pitch,S=P._viewer.camera.roll,D=P._viewer.camera.position.clone(),R={orientation:{heading:T,pitch:w,roll:S},position:D})},this._viewer.scene.camera.percentageChanged=.001,this._viewer.scene.camera.changed.addEventListener(P.flyListener)};Ll.prototype.closeBrowseBorder=function(){var o=document.getElementById("toolTip");this._tree.endtemporaryItem(),this._tree.handler&&this._tree.handler.destroy(),this.flyListener&&(this._viewer.scene.camera.changed.removeEventListener(this.flyListener),this.flyListener=void 0),this._viewEvent?(this._viewer.scene.camera.changed.removeEventListener(this._viewEvent),this._viewEvent=void 0,o.style.display="block",o.innerHTML="\u53D6\u6D88\u8FB9\u754C\u6D4F\u89C8",setTimeout(function(){o.style.display="none"},1e3)):o&&(o.style.display="none")};Ll.prototype.limitView=function(o,A){var f=this._viewer.camera.computeViewRectangle(),m=f.west/Math.PI*180,C=f.north/Math.PI*180,E=f.east/Math.PI*180,x=f.south/Math.PI*180,y={west:m,north:C,east:E,south:x},I=this.isInArea(y,o);if(!I)A!==null&&this._viewer.camera.setView({destination:A.position,orientation:A.orientation});else{var v=this._viewer.camera.heading,B=this._viewer.camera.pitch,Q=this._viewer.camera.roll,T=this._viewer.camera.position.clone();A={orientation:{heading:v,pitch:B,roll:Q},position:T}}return A};Ll.prototype.isInArea=function(o,A){var f=!1;return o.south>A.south&&o.east<A.east&&o.north<A.north&&o.west>A.west&&(f=!0),f};Ll.prototype.createRectangledxkz=function(o){var A=this,f=this,m=[];f.shape={points:[],rect:null,entity:null};var C=null,E=null,x,y=new A._cesium.ScreenSpaceEventHandler(A._viewer.scene.canvas);y.setInputAction(function(v){x=I(v.position);var B=[],Q=[],T=A._viewer.camera.pickEllipsoid(v.position,A._viewer.scene.globe.ellipsoid);if(C==null&&(C=T),C.x==T.x&&C.y==T.y&&C.z==T.z||(E=T),x)if(f.shape.points.length==0)m.push(x),f.shape.points.push(A._viewer.scene.globe.ellipsoid.cartesianToCartographic(x)),f.shape.rect=A._cesium.Rectangle.fromCartographicArray(f.shape.points),f.shape.rect.east+=1e-6,f.shape.rect.north+=1e-6,f.shape.entity=A._viewer.entities.add({rectangle:{coordinates:f.shape.rect,material:A._cesium.Color.BLACK.withAlpha(.4),outline:!0,outlineWidth:2,outlineColor:A._cesium.Color.RED,height:0}}),f.bufferEntity=f.shape.entity;else{y.removeInputAction(A._cesium.ScreenSpaceEventType.MOUSE_MOVE),y.removeInputAction(A._cesium.ScreenSpaceEventType.LEFT_CLICK);var w={obj1:C,obj2:E},S={position:A._viewer.camera.position.clone(),orientation:{heading:A._viewer.camera.heading,pitch:A._viewer.camera.pitch,roll:A._viewer.camera.roll}},D={pointes:w,originalCameraLocation:S};o!=""&&o!=null&&typeof o=="function"&&o(D)}},A._cesium.ScreenSpaceEventType.LEFT_CLICK),y.setInputAction(function(v){if(f.shape.points.length!=0){var B=I(v.endPosition);B&&(m[1]=B,f.shape.points[1]=A._viewer.scene.globe.ellipsoid.cartesianToCartographic(B),f.shape.rect=A._cesium.Rectangle.fromCartographicArray(f.shape.points),f.shape.rect.west==f.shape.rect.east&&(f.shape.rect.east+=1e-6),f.shape.rect.south==f.shape.rect.north&&(f.shape.rect.north+=1e-6),f.shape.entity.rectangle.coordinates=f.shape.rect)}},A._cesium.ScreenSpaceEventType.MOUSE_MOVE);function I(v){if(A._viewer.scene.terrainProvider.constructor.name=="EllipsoidTerrainProvider")return A._viewer.camera.pickEllipsoid(v,A._viewer.scene.globe.ellipsoid);var B=A._viewer.scene.camera.getPickRay(v);return A._viewer.scene.globe.pick(B,A._viewer.scene)}return this};Ll.prototype.executeExcavation=function(o){var A=this,f=this,m=[];A.shape={points:[],button:0,rect:null,entity:null};var C,E=new this._cesium.ScreenSpaceEventHandler(f._viewer.scene.canvas),x=[];E.setInputAction(function(B){if(C=f._core.getPointFromWindowPoint(B.position,f._viewer),A.shape.button>=2){var Q=A._viewer.scene.globe;A.shape.box=f._viewer.entities.add({position:f._cesium.Cartesian3.fromDegrees(x[0].lon,x[0].lat,100),box:{dimensions:new f._cesium.Cartesian3(1e4,1e4,1e4),material:f._cesium.Color.WHITE.withAlpha(.5),outline:!0,outlineColor:f._cesium.Color.WHITE}}),Q.depthTestAgainstTerrain=!0,Q.clippingPlanes=new A._cesium.ClippingPlaneCollection({modelMatrix:A.shape.box.computeModelMatrix(f._cesium.JulianDate.now()),planes:[new f._cesium.Plane(new f._cesium.Cartesian3(1,0,0),-700),new f._cesium.Plane(new f._cesium.Cartesian3(-1,0,0),-700),new f._cesium.Plane(new f._cesium.Cartesian3(0,1,0),-700),new f._cesium.Plane(new f._cesium.Cartesian3(0,-1,0),-700)],edgeWidth:1,edgeColor:f._cesium.Color.WHITE}),E.removeInputAction(f._cesium.ScreenSpaceEventType.MOUSE_MOVE),E.removeInputAction(f._cesium.ScreenSpaceEventType.LEFT_CLICK)}if(A.shape.button=A.shape.button+1,C)if(A.shape.points.length==0){m.push(C),A.shape.points.push(f._viewer.scene.globe.ellipsoid.cartesianToCartographic(C));var T=f._viewer.scene.camera.pickEllipsoid(movement.position,f._viewer.scene.globe.ellipsoid),w=f._cesium.Cartographic.fromCartesian(T),S=f._cesium.Math.toDegrees(w.longitude),D=f._cesium.Math.toDegrees(w.latitude);x.push({lon:S,lat:D}),A.shape.rect=f._cesium.Rectangle.fromCartographicArray(A.shape.points),A.shape.rect.east+=1e-6,A.shape.rect.north+=1e-6,A.shape.entity=f._viewer.entities.add({rectangle:{coordinates:A.shape.rect,material:f._cesium.Color.BLACK.withAlpha(.4),outline:!0,outlineWidth:2,outlineColor:f._cesium.Color.RED,height:0}}),A.bufferEntity=A.shape.entity,f.item=A.shape.entity}else A.shape.points.length==2||(E.removeInputAction(f._cesium.ScreenSpaceEventType.MOUSE_MOVE),E.removeInputAction(f._cesium.ScreenSpaceEventType.LEFT_CLICK))},this._cesium.ScreenSpaceEventType.LEFT_CLICK),E.setInputAction(function(B){if(A.shape.points.length!=0){var Q=f._core.getPointFromWindowPoint(B.endPosition,f._viewer);if(Q){var T=f._viewer.camera.getPickRay(B.endPosition),w=f._viewer.scene.globe.pick(T,f._viewer.scene);m[1]=Q,A.shape.points[1]=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(Q),A.shape.rect=f._cesium.Rectangle.fromCartographicArray(A.shape.points),A.shape.rect.west==A.shape.rect.east&&(A.shape.rect.east+=1e-6),A.shape.rect.south==A.shape.rect.north&&(A.shape.rect.north+=1e-6),A.shape.entity.rectangle.coordinates=A.shape.rect}}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE);var y=0;!f._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(y=Ke.selectedItem.id);var I=f._core.getuid(),v={id:I,name:"\u65B0\u5EFA\u77E9\u5F62"+I,pId:f._core.isnull(y)?0:y,type:"rectangle",item:f};return f.setTreeobj(v),Ke.insertGroupId(v,f._core.isnull(y)?0:y),typeof o=="function"&&o(ploylinejl),this};Ll.prototype.deleteObject=function(){this._viewer.entities.remove(this.item),this._viewEvent!=null&&(this._tree.handler.destroy(),this._viewer.scene.camera.changed.removeEventListener(this._viewEvent))};Ll.prototype.setVisibility=function(o){this.item.show=o};Ll.prototype.getVisibility=function(){return this.item.show};Ll.prototype.setDistanceDisplayCondition=function(o,A){var f=new this._cesium.DistanceDisplayCondition(o,A);try{this.item._rectangle.distanceDisplayCondition=f}catch(m){console.log(m)}return this};Ll.prototype.setRectangleAlpha=function(o){try{this.item._rectangle.material.color._value.alpha=o,this.item._rectangle.show=!0}catch(A){console.log(A)}return this};Ll.prototype.setRectangleColor=function(o){try{this.item._rectangle.material.color=new In(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};Ll.prototype.setDistanceDisplayCondition=function(o,A){var f=new this._cesium.DistanceDisplayCondition(o,A);try{this.item._rectangle.distanceDisplayCondition=f}catch(m){console.log(m)}return this};Ll.prototype.setPolygonImage=function(o){try{this.item._rectangle.material=new this._cesium.ImageMaterialProperty({image:o})}catch(A){console.log(A)}return this};Ll.prototype.setRectangleRepeat=function(o,A){try{this.item._rectangle.material.repeat=new this._cesium.Cartesian2(o,A)}catch(f){console.log(f)}return this};Ll.prototype.setOutlineColor=function(o){try{this.item._rectangle.outlineColor=new In(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};Ll.prototype.setOutline=function(o){try{this.item._rectangle.outline=o}catch(A){console.log(A)}return this};Ll.prototype.setExtrudedHeight=function(o){try{this.item._rectangle.extrudedHeight=o}catch(A){console.log(A)}return this};Ll.prototype.setHeight=function(o){try{this.item._rectangle.height=o}catch(A){console.log(A)}return this};Object.defineProperties(Ll.prototype,{rectangle:{get:function(){return this.item.rectangle},set:function(o){this.item.rectangle=o}}});Ll.prototype.setItem=function(o){this.item=o};Object.defineProperties(Ll.prototype,{polyline:{get:function(){return this.item.polyline},set:function(o){this.item.polyline=o}}});Object.defineProperties(Ll.prototype,{polygon:{get:function(){return this.item.polygon},set:function(o){this.item.polygon=o}}});Object.defineProperties(Ll.prototype,{point:{get:function(){return this.item.point},set:function(o){this.item.point=o}}});Object.defineProperties(Ll.prototype,{label:{get:function(){return this.item.label},set:function(o){this.item.label=o}}});Object.defineProperties(Ll.prototype,{model:{get:function(){return this.item.model},set:function(o){this.item.model=o}}});Object.defineProperties(Ll.prototype,{wall:{get:function(){return this.item.wall},set:function(o){this.item.wall=o}}});Object.defineProperties(Ll.prototype,{polygonTempOptions:{get:function(){return{height:0,extrudedHeight:0,show:!0,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,stRotation:1,granularity:this._cesium.Math.RADIANS_PER_DEGREE,perPositionHeight:!1,closeTop:!0,closeBottom:!0,shadows:ShadowMode.DISABLED,classificationType:ClassificationType.BOTH,arcType:ArcType.GEODESIC}}}});var Ww=Ll;function QPi(o,A){this._viewer=o,this._cesium=A}QPi.prototype.zoomIn=function(){var o=Math.ceil(this._viewer.camera.positionCartographic.height)*.6;return this._viewer.camera.zoomIn(o)};function SPi(o,A){this._viewer=o,this._cesium=A}SPi.prototype.zoomOut=function(){var o=Math.ceil(this._viewer.camera.positionCartographic.height)*.6;return this._viewer.camera.zoomOut(o)};function wu(o){this._earthCtrl=o,this._coreMap=o.coreMap,this._camera=this._coreMap.camera,this._undergroundMode=!1,this.underground=new pJ,this._jumpTo=new Vst(o.viewer,Di),this._PointFly=new Z8(o.viewer,Di),this._flyToObj=new Jst(o.viewer,Di)}wu.prototype.setViewBound=function(o,A,f,m){};wu.prototype.forward=function(o){this._camera.moveBackward(o)};wu.prototype.backward=function(o){this._camera.moveForward(o)};wu.prototype.moveLeft=function(o){this._camera.moveLeft(o)};wu.prototype.moveRight=function(o){this._camera.moveRight(o)};wu.prototype.moveUp=function(o){this._camera.moveUp(o)};wu.prototype.moveDown=function(o){this._camera.moveDown(o)};wu.prototype.turnLeft=function(o){this._camera.twistLeft(o)};wu.prototype.turnRight=function(o){this._camera.twistRight(o)};wu.prototype.lookLeft=function(o){this._camera.lookLeft(o)};wu.prototype.lookRight=function(o){this._camera.lookRight(o)};wu.prototype.lookUp=function(o){this._camera.lookUp(o)};wu.prototype.lookDown=function(o){this._camera.lookDown(o)};wu.prototype.zoomIn=function(o){oe(this.undergroundMode,!1)===!1&&(this._camera.positionCartographic.height<o||!o&&this._camera.positionCartographic.height<1)||(o||(o=Math.ceil(this._camera.positionCartographic.height)*.6),this._camera.zoomIn(o))};wu.prototype.zoomOut=function(o){o||(o=Math.ceil(this._camera.positionCartographic.height)*.6),this._camera.zoomOut(o)};wu.prototype.zoom=function(o){};wu.prototype.moveHeading=function(o){o=oe(o,1);let A=Be.toDegrees(this._coreMap.camera.heading)+o,f=this._coreMap.camera.pitch;this._coreMap.camera.setView({orientation:{heading:Be.toRadians(A),pitch:f,endTransform:Re.IDENTITY}})};wu.prototype.stop=function(){this._camera.cancelFlight()};wu.prototype.jumpTo=function(o){return this.stop(),this._jumpTo.jumpTo(o)};wu.prototype.rotateCenter=function(o=360,A=5){let f={x:this._coreMap.canvas.clientWidth/2,y:this._coreMap.canvas.clientHeight/2};return this._PointFly.setPointFly({position:this.getMousePosition(f),time:A,limitAngel:o,limitTime:!0,hideImage:!0,pitch:Be.toDegrees(this._coreMap.camera.pitch)})};wu.prototype.executeFlycesium=function(o){return this._dynamicObject||(this._dynamicObject=new NR(this._coreMap,Di)),this._dynamicObject.executeFlycesium(o)};wu.prototype.createRectanglelbj=function(o,A){this._rectangle||(this._rectangle=new Ww(this._coreMap,Di)),this._rectangle.createRectanglelbj(o,A)};wu.prototype.closeBrowseBorder=function(){this._rectangle&&this._rectangle.closeBrowseBorder()};wu.prototype.flyToObj=function(o){this.stop(),this._flyToObj.flyToObj(o)};wu.prototype.getMousePosition=function(o,A){return this._getPosition||(this._getPosition=new kl(this._earthCtrl.viewer,Di)),this._getPosition.getMousePosition(o,A)};wu.prototype.pickFromRay=function(o,A,f){let m=this._camera.getPickRay(o),C=this._coreMap.scene.pickFromRay(m,A,f);return O(C)?C.position:void 0};wu.prototype.flyTo=function(o,A,f,m=0,C=-60,E=0,x=3,y){this._camera.flyTo({destination:Z.fromDegrees(o,A,f),orientation:{heading:Be.toRadians(m),pitch:Be.toRadians(C),roll:Be.toRadians(E)},duration:x,complete:y})};wu.prototype.flyToTarget=function(o,A,f,m,C,E,x,y,I){this._camera.flyTo({destination:Z.fromDegrees(o,A,f),orientation:{heading:Be.toRadians(m),pitch:Be.toRadians(C),roll:Be.toRadians(E)},duration:y})};wu.prototype.flyToPointsInterest=function(o,A){return this._camera.flyTo({destination:o.destination,orientation:o.orientation,duration:o.duration,complete:A})};var DPi=new hi;wu.prototype.getPoseByData=function(o,A,f,m,C){let E=!1;if(o.length===0)return E;let x=new hi;for(let I=0;I<o.length;I++){let v=o[I];if(v.rtti==="GwModel"||v.rtti==="GwModelLayer"){let B=v._primitive;if(O(B.modelMatrix)&&O(B.boundingSphere)){let Q=hi.transform(B.boundingSphere,B.modelMatrix,DPi);I===0?hi.clone(Q,x):x=hi.union(x,Q,x),E=!0}}}if(E!==!0)return E;let y=Rt.fromCartesian(x.center);return C.longitude=Be.toDegrees(y.longitude),C.latitude=Be.toDegrees(y.latitude),C.height=y.height+x.radius,C.heading=A,C.tilt=f,C.roll=m,E};wu.prototype.setView=function(o){this._camera.setView(o)};wu.prototype.headingControl=function(o){if(this._earthCtrl.tools.clearTool(),o){let A=this._camera,f=new qat(this._earthCtrl,function(m){let C=Be.toDegrees(A.heading)+m.headingAmount,E=Be.toDegrees(A.pitch)+m.pitchAmount;A.setView({destination:A.position,orientation:{heading:Be.toRadians(C),pitch:Be.toRadians(E),roll:0}})});this._earthCtrl.tools.registerTool("mouse_heading_tool",f)}};wu.prototype.rotateCamera=function(o){let A=this._earthCtrl,f=oe(o.lon,120.9),m=oe(o.lat,30.8),C=oe(o.height,0),E=Z.fromDegrees(f,m,C),x=oe(o.time,30),y=Be.toRadians(o.pitch),I=360/x,v=o.distance,B=Zt.fromDate(new Date),Q=Zt.addSeconds(B,x,new Zt),T=oe(o.keepRotating,!0);A.clock.startTime=B.clone(),A.clock.stopTime=Q.clone(),A.clock.currentTime=B.clone(),A.clock.clockRange=np.CLAMPED,A.clock.clockStep=Zc.SYSTEM_CLOCK;let w=A.coreMap.scene.camera.heading,S=function(){let R=Zt.secondsDifference(A.clock.currentTime,A.clock.startTime),P=Be.toRadians(R*I)+w;A.coreMap.scene.camera.lookAt(E,new Rx(P,y,v)),Zt.compare(A.clock.currentTime,A.clock.stopTime)>=0&&A.clock.onTick.removeEventListener(S)};return A.clock.onTick.addEventListener(S),this.removeFromMap=()=>{A.clock.onTick.removeEventListener(S),A.coreMap.camera.lookAtTransform(Re.IDENTITY)},this};wu.prototype.viewPoint={lon:104.5,lat:30.0624522000912,alt:6649118,heading:360,pitch:-90,roll:0,duration:0};Object.defineProperties(wu.prototype,{enableModelColliDetection:{get:function(){return this._coreMap.scene.screenSpaceCameraController.enableModelCollisionDetection},set:function(o){this._coreMap.scene.screenSpaceCameraController.enableModelCollisionDetection=o}},enableModelGroundCollisionDetection:{get:function(){return this._coreMap.scene.screenSpaceCameraController.enableModelGroundCollisionDetection},set:function(o){this._coreMap.scene.screenSpaceCameraController.enableModelGroundCollisionDetection=o}},enableGroundRoaming:{get:function(){return this._coreMap.scene.screenSpaceCameraController.enableGroundRoaming},set:function(o){this._coreMap.scene.screenSpaceCameraController.enableInputs=!o,this._coreMap.scene.screenSpaceCameraController.enableRotate=!o,this._coreMap.scene.screenSpaceCameraController.enableZoom=!o,this._coreMap.scene.screenSpaceCameraController.enableTilt=!o,this._coreMap.scene.screenSpaceCameraController.enableLook=!o,this._coreMap.scene.screenSpaceCameraController.enableGroundRoaming=o,this._coreMap.camera.frustum.near=o?.1:1,this._coreMap.camera.frustum.fov=Be.toRadians(90)}},collisionRayWidth:{get:function(){return this._coreMap.scene.screenSpaceCameraController.defaultCollisionRayWidth},set:function(o){this._coreMap.scene.screenSpaceCameraController.defaultCollisionRayWidth=o}},groundRoamingHeight:{get:function(){return this._coreMap.scene.screenSpaceCameraController.defaultGroundRoamingHeight},set:function(o){o<1.5&&(o=1.5),this._coreMap.scene.screenSpaceCameraController.defaultGroundRoamingHeight=o}},undergroundMode:{get:function(){return this._undergroundMode},set:function(o){this._undergroundMode=o,o?this._coreMap.scene.globe.translucency.enabled=!0:this._coreMap.scene.globe.translucency.enabled=!1}},imageryLayerAlpha:{get:function(){return this._coreMap.scene.globe.translucency.frontFaceAlpha},set:function(o){this._coreMap.scene.globe.translucency.frontFaceAlpha=o}},cartesian3:{get:function(){return this._camera.position}},position:{get:function(){let o=Rt.fromCartesian(this._camera.position);return o.longitude=Be.toDegrees(o.longitude),o.latitude=Be.toDegrees(o.latitude),o}},heading:{get:function(){return Be.toDegrees(this._camera.heading)}},pitch:{get:function(){return Be.toDegrees(this._camera.pitch)}},roll:{get:function(){return Be.toDegrees(this._camera.roll)}}});var zDe=wu;var Xst=new Z(0,0,0),YDe=class extends Za{constructor(A,f,m){super(A,f,m),this.name="MeasureLineLengthTool"}onActive(){this.mClickCount=0,this.mLength=0,this.mControlPointArray=new Array(2),this.mCoordsArray=[],this.mPolyline=null,this.mPoints=null,this.mLabel=null;let A=document.createElement("div");CA(".map-widget",A),CA(".map-widget",'<div id="toolTip" style="display: none;position: absolute;visibility: visible;max-width: 200px;min-width: 100px;padding: 1px 1px 1px 25px;font-size: 11px;z-index: 1000;opacity: 0.8;background-color: rgba(0,0,0,0.7);border-radius: 3px;"></div>'),this.tooltip=document.getElementById("toolTip"),this.tooltip.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u5DE6\u952E\u5F00\u59CB,\u518D\u6B21\u70B9\u51FB\u5DE6\u952E\u7ED3\u675F\uFF01</span>'}onDeactive(){this.clearResult(),this.mClickCount=0,this.mLength=0,this.mControlPointArray=null,this.mCoordsArray=null}clearResult(){O(this.mPolyline)&&(this.mPolyline.destory(),this.mPolyline=null),O(this.mPoints)&&(this.mPoints.destory(),this.mPoints=null),O(this.mLabel)&&(this.mLabel.destory(),this.mLabel=null),O(this.tooltip)&&(this.tooltip.style.display="none")}onLButtonUp(A){if(super.onLButtonUp(A)===!1)return!1;if(this.tooltip.style.display="none",this.mClickCount>1)return!0;let f=new Z(0,0,0);return this.pickVector(A,f)&&(this.mControlPointArray[this.mClickCount]=f,this.mClickCount===1&&(this.mLength=Z.distance(this.mControlPointArray[0],this.mControlPointArray[1]),this.mCallback&&this.mCallback({result:this.mLength}),this.mEnable=!1),this.mClickCount++),!0}onMouseMove(A){if(super.onMouseMove(A),this.mClickCount<1&&(this.tooltip.style.left=`${A.x+10}px`,this.tooltip.style.top=`${A.y+20}px`,this.tooltip.style.display="block"),this.mClickCount===1&&(this.tooltip.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u5DE6\u952E\u7ED3\u675F\uFF01</span>',this.tooltip.style.left=`${A.x+10}px`,this.tooltip.style.top=`${A.y+20}px`,this.tooltip.style.display="block",this.pickVector(A,Xst))){this.mControlPointArray[1]=Xst,this.mLength=Z.distance(this.mControlPointArray[0],this.mControlPointArray[1]);let f="\u957F\u5EA6:";this.mLength>=1e3?f+=`${parseInt(this.mLength/10)/100}\u5343\u7C73`:f+=`${parseInt(this.mLength*100)/100}\u7C73`,O(this.mPolyline)?(this.mLabel.position=this.mControlPointArray[1],this.mLabel.text=f):(this.mPolyline=sA.createPolylinePrimitive(this.mEarthCtrl,{positions:this.mControlPointArray,color:Ve.fromRgba(4286644096),width:3}),this.mLabel=sA.createLabelPrimitive(this.mEarthCtrl,{position:this.mControlPointArray[1],text:f}))}}},JDe=YDe;var eH=new Z(0,0,0),KDe=class extends Za{constructor(A,f,m){super(A,f,m),this.name="MeasurePathLengthTool"}onActive(){this.mTotalLength=0,this.mControlPointArray=[],this.mPathPointArray=[],this.mPolyline=null,this.mPoints=null,this.mLabel=null}onDeactive(){this.clearResult(),this.mTotalLength=0,this.mControlPointArray=null,this.mPathPointArray=null}clearResult(){O(this.mPolyline)&&(this.mPolyline.destory(),this.mPolyline=null),O(this.mPoints)&&(this.mPoints.destory(),this.mPoints=null),O(this.mLabel)&&(this.mLabel.destory(),this.mLabel=null)}onLButtonUp(A){return super.onLButtonUp(A)===!1?!1:(this.pickVector(A,eH)&&(this.mControlPointArray.length>0&&this.mControlPointArray.pop(),this.mControlPointArray.push(Z.clone(eH)),this.mControlPointArray.push(Z.clone(eH)),this.mTotalLength=this.calculateLength(this.mControlPointArray,!1),O(this.mPoints)&&this.mPoints.add(Z.clone(eH))),!0)}onRButtonDown(A){super.onRButtonDown(A),this.mControlPointArray.length>=2&&(this.mEnable=!1,this.mCallback&&this.mCallback({result:this.mTotalLength}))}onMouseMove(A){super.onMouseMove(A);let f=this.mControlPointArray.length;if(!(f<=1)&&this.pickVector(A,eH)){Z.clone(eH,this.mControlPointArray[f-1]),this.mTotalLength=this.calculateLength(this.mControlPointArray,!1);let m="\u957F\u5EA6:";this.mTotalLength>=1e3?m+=`${parseInt(this.mTotalLength/10)/100}\u5343\u7C73`:m+=`${parseInt(this.mTotalLength*100)/100}\u7C73`,O(this.mPolyline)?(this.mLabel.position=this.mControlPointArray[f-1],this.mLabel.text=m):(this.mPolyline=sA.createPolylinePrimitive(this.mEarthCtrl,{positions:this.mControlPointArray,color:Ve.fromRgba(4286644096),width:3}),this.mLabel=sA.createLabelPrimitive(this.mEarthCtrl,{position:this.mControlPointArray[f-1],text:m}))}}},rae=KDe;var SK=new Z(0,0,0),WDe=class extends Za{constructor(A,f,m){super(A,f,m),this.name="MeasureHeightTool"}onActive(){this.mClickCount=0,this.mTotalLength=0,this.mControlPointArray=[];for(let m=0;m<3;m++)this.mControlPointArray.push(new Z(0,0,0));this.mHorizontalVerts=new Array(2),this.mVerticalVerts=new Array(2),this.mHeight=0,this.mFirstVertex=new Z(0,0,0),this.mSecondVertex=new Z(0,0,0),this.mFirstCart=new Rt,this.mMidCart=new Rt,this.mSecondCart=new Rt,this.mPolylineHorizontal=null,this.mPolylineVertical=null,this.mPoints=null,this.mLabel=null;let A=document.createElement("div");CA(".map-widget",A),CA(".map-widget",'<div id="toolTip" style="display: none;position: absolute;visibility: visible;max-width: 200px;min-width: 100px;padding: 1px 1px 1px 25px;font-size: 11px;z-index: 1000;opacity: 0.8;background-color: rgba(0,0,0,0.7);border-radius: 3px;"></div>'),this.tooltip=document.getElementById("toolTip"),this.tooltip.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u5DE6\u952E\u5F00\u59CB,\u518D\u6B21\u70B9\u51FB\u5DE6\u952E\u7ED3\u675F\uFF01</span>'}onDeactive(){this.clearResult(),this.mClickCount=0,this.mTotalLength=0,this.mControlPointArray=null,this.mHorizontalVerts=null,this.mVerticalVerts=null,this.mHeight=0,this.mFirstVertex=null,this.mSecondVertex=null,this.mFirstCart=null,this.mMidCart=null,this.mSecondCart=null}clearResult(){O(this.mPolylineHorizontal)&&(this.mPolylineHorizontal.destory(),this.mPolylineHorizontal=null),O(this.mPolylineVertical)&&(this.mPolylineVertical.destory(),this.mPolylineVertical=null),O(this.mPoints)&&(this.mPoints.destory(),this.mPoints=null),O(this.mLabel)&&(this.mLabel.destory(),this.mLabel=null),O(this.tooltip)&&(this.tooltip.style.display="none")}onLButtonClick(A){return super.onLButtonClick(A)===!1?!1:(this.tooltip.style.display="none",this.mClickCount>1||this.pickVector(A,SK)&&(this.mClickCount===0?Z.clone(SK,this.mFirstVertex):(Z.clone(SK,this.mSecondVertex),Rt.fromCartesian(this.mFirstVertex,null,this.mFirstCart),Rt.fromCartesian(this.mSecondVertex,null,this.mSecondCart),this.mHeight=Math.abs(this.mSecondCart.height-this.mFirstCart.height),this.mCallback&&this.mCallback({result:this.mHeight}),this.mEnable=!1),this.mClickCount++),!0)}onMouseMove(A){if(super.onMouseMove(A),this.mClickCount<1&&(this.tooltip.style.left=`${A.x+10}px`,this.tooltip.style.top=`${A.y+20}px`,this.tooltip.style.display="block"),this.mClickCount===1&&(this.tooltip.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u5DE6\u952E\u7ED3\u675F\uFF01</span>',this.tooltip.style.left=`${A.x+10}px`,this.tooltip.style.top=`${A.y+20}px`,this.tooltip.style.display="block",this.pickVector(A,SK))){Z.clone(SK,this.mSecondVertex),Rt.fromCartesian(this.mFirstVertex,null,this.mFirstCart),Rt.fromCartesian(this.mSecondVertex,null,this.mSecondCart),this.mHeight=Math.abs(this.mSecondCart.height-this.mFirstCart.height),this.mSecondCart.height<this.mFirstCart.height&&(Rt.clone(this.mSecondCart,this.mMidCart),Rt.clone(this.mFirstCart,this.mSecondCart),Rt.clone(this.mMidCart,this.mFirstCart)),this.mMidCart.longitude=this.mFirstCart.longitude,this.mMidCart.latitude=this.mFirstCart.latitude,this.mMidCart.height=this.mSecondCart.height,Rt.toCartesian(this.mFirstCart,null,this.mControlPointArray[0]),Rt.toCartesian(this.mMidCart,null,this.mControlPointArray[1]),Rt.toCartesian(this.mSecondCart,null,this.mControlPointArray[2]);let f="\u9AD8\u5EA6:";this.mHeight>=1e3?f+=`${parseInt(this.mHeight)/1e3}\u5343\u7C73`:f+=`${parseInt(this.mHeight*1e3)/1e3}\u7C73`,this.mHorizontalVerts[0]=this.mControlPointArray[1],this.mHorizontalVerts[1]=this.mControlPointArray[2],this.mVerticalVerts[0]=this.mControlPointArray[0],this.mVerticalVerts[1]=this.mControlPointArray[1],O(this.mPolylineHorizontal)?(this.mLabel.position=this.mControlPointArray[1],this.mLabel.text=f):(this.mPolylineHorizontal=sA.createPolylinePrimitive(this.mEarthCtrl,{positions:this.mHorizontalVerts,color:Ve.fromRgba(4286644096),width:3}),this.mPolylineVertical=sA.createPolylinePrimitive(this.mEarthCtrl,{positions:this.mVerticalVerts,color:Ve.YELLOW,width:3}),this.mLabel=sA.createLabelPrimitive(this.mEarthCtrl,{position:this.mControlPointArray[1],text:f}))}}},jDe=WDe;var Zst=new Z(0,0,0),$st=new Rt,elt=new Rt,qDe=class extends Za{constructor(A,f,m){super(A,m,f.enable),this.name="MeasureSlopeTool",this.polylineColor=oe(f.polyline,Ve.fromRgba(4286644096)),this._core=new bQ(A)}onActive(){this.mClickCount=0,this.mSlope=0,this.mControlPointArray=new Array(2),this.mCoordsArray=[],this.mPolyline=null,this.mPoints=null,this.mLabel=null,this._core.mouse(this.mEarthCtrl.viewer.container,1,`${window.SmartEarthRootUrl}Assets/image/cursor/draw.cur`);let A=document.createElement("div");CA(".map-widget",A),CA(".map-widget",'<div id="toolTipSlope" style="display: none;position: absolute;visibility: visible;max-width: 200px;min-width: 100px;padding: 1px 1px 1px 25px;font-size: 11px;z-index: 1000;opacity: 0.8;background-color: rgba(0,0,0,0.7);border-radius: 3px;"></div>'),this.tooltip=document.getElementById("toolTipSlope"),this.tooltip.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u5DE6\u952E\u5F00\u59CB,\u518D\u6B21\u70B9\u51FB\u5DE6\u952E\u7ED3\u675F\uFF01</span>'}onDeactive(){this.clearResult(),this.mClickCount=0,this.mLength=0,this.mControlPointArray=null,this.mCoordsArray=null}clearResult(){O(this.mPolyline)&&(this.mPolyline.destory(),this.mPolyline=null),O(this.mPoints)&&(this.mPoints.destory(),this.mPoints=null),O(this.mLabel)&&(this.mLabel.destory(),this.mLabel=null),O(this.tooltip)&&(this.tooltip.style.display="none")}getSlope(A,f){Rt.fromCartesian(A,null,$st),Rt.fromCartesian(f,null,elt);let m=elt.height-$st.height,C=Z.distance(A,f);return C===0?0:Math.asin(m/C)/Math.PI*180}onLButtonUp(A){if(super.onLButtonUp(A)===!1)return!1;if(this.tooltip.style.display="none",this.mClickCount>1)return!0;let f=new Z(0,0,0);return this.pickVector(A,f)&&(this.mControlPointArray[this.mClickCount]=f,this.mClickCount===1&&(this.mSlope=this.getSlope(this.mControlPointArray[0],this.mControlPointArray[1]),this._core.mouse(this.mEarthCtrl.viewer.container,0,"0"),this.mCallback&&this.mCallback({result:this.mSlope}),this.mEnable=!1),this.mClickCount++),!0}onMouseMove(A){if(super.onMouseMove(A),this.mClickCount<1&&(this.tooltip.style.left=`${A.x+10}px`,this.tooltip.style.top=`${A.y+20}px`,this.tooltip.style.display="block"),this.mClickCount===1&&(this.tooltip.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u5DE6\u952E\u7ED3\u675F\uFF01</span>',this.tooltip.style.left=`${A.x+10}px`,this.tooltip.style.top=`${A.y+20}px`,this.tooltip.style.display="block",this.pickVector(A,Zst))){this.mControlPointArray[1]=Zst,this.mSlope=this.getSlope(this.mControlPointArray[0],this.mControlPointArray[1]);let f="\u659C\u7387:";f+=`${parseInt(this.mSlope*100)/100}\u5EA6`,O(this.mPolyline)?(this.mLabel.position=this.mControlPointArray[1],this.mLabel.text=f):(this.mPolyline=sA.createPolylinePrimitive(this.mEarthCtrl,{positions:this.mControlPointArray,color:this.polylineColor,width:3}),this.mLabel=sA.createLabelPrimitive(this.mEarthCtrl,{position:this.mControlPointArray[1],text:f}),this.mLabel.entity.label.showBackground=!0,this.mLabel.entity.label.scale=1.2,this.mLabel.entity.label.fillColor=Ve.GOLD,this.mLabel.entity.label.font="border 14px \u9ED1\u4F53",this.mLabel.entity.label.style=Pu.FILL_AND_OUTLINE,this.mLabel.entity.label.backgroundColor=new Ve(0,0,0,.7))}}onRButtonClick(A){super.onRButtonClick(A),this._core.mouse(this.mEarthCtrl.viewer.container,0,"0"),this.mEnable=!1,this.tooltip.style.display="none"}},XDe=qDe;var UT=new Z(0,0,0),DK=new Z(0,0,0);function tlt(o,A){for(let f=0;f<o.length;f++){let m=o[f];Rt.fromCartesian(m,null,DK),DK.height=A,Rt.toCartesian(DK,null,m)}}function ilt(o){let A=-99999999;for(let f=0;f<o.length;f++)Rt.fromCartesian(o[f],null,DK),A=Math.max(DK.height,A);return A}var ZDe=class extends Za{constructor(A,f,m){super(A,m,f.enable),this.polylineColor=oe(f.polyline,Ve.fromRgba(4286644096)),this.pointColor=oe(f.point,Ve.fromCssColorString("#ff0000")),this.name="HorizontalDistanceTool",this._core=new bQ(A)}onActive(){this.mClickCount=0,this.mTotalLength=0,this.mMaxHeight=-99999999,this.mHorizontalControlPointArray=[],this.mControlPointArray=[],this.mFinalVerticalPoints=[],this.mFinalVerticalPoints.push(new Z(0,0,0)),this.mFinalVerticalPoints.push(new Z(0,0,0)),this.mVerticalPolylines=[],this.mFinalVerticalPoly=null,this.mPolyline=null,this.mHorizontalPoints=null,this.mPoints=null,this.mLabel=null;let A=document.createElement("div");this._core.mouse(this.mEarthCtrl.viewer.container,1,`${window.SmartEarthRootUrl}Assets/image/cursor/draw.cur`),CA(".map-widget",A),CA(".map-widget",'<div id="toolTipHorizontal" style="display: none;position: absolute;visibility: visible;max-width: 200px;min-width: 100px;padding: 1px 1px 1px 25px;font-size: 11px;z-index: 1000;opacity: 0.8;background-color: rgba(0,0,0,0.7);border-radius: 3px;"></div>'),this.tooltip=document.getElementById("toolTipHorizontal"),this.tooltip.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u5DE6\u952E\u5F00\u59CB,\u53F3\u952E\u7ED3\u675F\uFF01</span>'}onDeactive(){this.clearResult(),this.mClickCount=0,this.mTotalLength=0,this.mMaxHeight=-99999999,this.mHorizontalControlPointArray=null,this.mControlPointArray=null,this.mFinalVerticalPoints=null}clearResult(){for(let A in this.mVerticalPolylines)this.mVerticalPolylines[A].destory();this.mVerticalPolylines=[],O(this.mFinalVerticalPoly)&&(this.mFinalVerticalPoly.destory(),this.mFinalVerticalPoly=null),O(this.mPolyline)&&(this.mPolyline.destory(),this.mPolyline=null),O(this.mHorizontalPoints)&&(this.mHorizontalPoints.destory(),this.mHorizontalPoints=null),O(this.mPoints)&&(this.mPoints.destory(),this.mPoints=null),O(this.mLabel)&&(this.mLabel.destory(),this.mLabel=null),O(this.tooltip)&&(this.tooltip.style.display="none")}onLButtonUp(A){if(super.onLButtonUp(A)===!1)return!1;if(this.pickVector(A,UT)){this.mControlPointArray.length>0&&this.mControlPointArray.pop(),this.mControlPointArray.push(Z.clone(UT)),this.mControlPointArray.push(Z.clone(UT)),O(this.mPoints)&&this.mPoints.add(Z.clone(UT)),this.mHorizontalControlPointArray.length>0&&this.mHorizontalControlPointArray.pop(),this.mHorizontalControlPointArray.push(Z.clone(UT)),this.mHorizontalControlPointArray.push(Z.clone(UT)),this.mMaxHeight=ilt(this.mControlPointArray),tlt(this.mHorizontalControlPointArray,this.mMaxHeight),O(this.mHorizontalPoints)&&this.mHorizontalPoints.add(Z.clone(this.mHorizontalControlPointArray[this.mHorizontalControlPointArray.length-1]));let f=this.mControlPointArray.length,m=[this.mControlPointArray[f-2],this.mHorizontalControlPointArray[f-2]],C=sA.createPolylinePrimitive(this.mEarthCtrl,{positions:m,color:Ve.YELLOW,width:2});this.mVerticalPolylines.push(C),Z.clone(this.mControlPointArray[f-1],this.mFinalVerticalPoints[0]),Z.clone(this.mHorizontalControlPointArray[f-1],this.mFinalVerticalPoints[1])}return!0}onRButtonDown(A){return super.onRButtonDown(A),this.tooltip.style.display="none",this.mControlPointArray.length>=2&&this.mCallback&&this.mCallback({result:this.mTotalLength}),this.mEnable=!1,this._core.mouse(this.mEarthCtrl.viewer.container,0,"0"),!1}onMouseMove(A){super.onMouseMove(A),this.mClickCount<1&&(this.tooltip.style.left=`${A.x+10}px`,this.tooltip.style.top=`${A.y+20}px`,this.tooltip.style.display="block");let f=this.mControlPointArray.length;if(!(f<=1)&&(this.tooltip.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u53F3\u952E\u7ED3\u675F\uFF01</span>',this.tooltip.style.left=`${A.x+10}px`,this.tooltip.style.top=`${A.y+20}px`,this.tooltip.style.display="block",this.pickVector(A,UT))){Z.clone(UT,this.mControlPointArray[f-1]),Z.clone(UT,this.mHorizontalControlPointArray[f-1]),this.mMaxHeight=ilt(this.mControlPointArray),tlt(this.mHorizontalControlPointArray,this.mMaxHeight),this.mTotalLength=this.calculateLength(this.mHorizontalControlPointArray,!1);let m="\u957F\u5EA6:";this.mTotalLength>=1e3?m+=`${parseInt(this.mTotalLength)/1e3}\u5343\u7C73`:m+=`${parseInt(this.mTotalLength*1e3)/1e3}\u7C73`,Z.clone(this.mControlPointArray[f-1],this.mFinalVerticalPoints[0]),Z.clone(this.mHorizontalControlPointArray[f-1],this.mFinalVerticalPoints[1]),O(this.mPolyline)?(this.mLabel.position=this.mHorizontalControlPointArray[f-1],this.mLabel.text=m):(this.mPolyline=sA.createPolylinePrimitive(this.mEarthCtrl,{positions:this.mHorizontalControlPointArray,color:this.polylineColor,width:3}),this.mFinalVerticalPoly=sA.createPolylinePrimitive(this.mEarthCtrl,{positions:this.mFinalVerticalPoints,color:Ve.YELLOW,width:2}),this.mLabel=sA.createLabelPrimitive(this.mEarthCtrl,{position:this.mHorizontalControlPointArray[f-1],text:m}),this.mLabel.entity.label.showBackground=!0,this.mLabel.entity.label.scale=1.2,this.mLabel.entity.label.fillColor=Ve.GOLD,this.mLabel.entity.label.font="border 14px \u9ED1\u4F53",this.mLabel.entity.label.style=Pu.FILL_AND_OUTLINE,this.mLabel.entity.label.backgroundColor=new Ve(0,0,0,.7))}}},$De=ZDe;var dk=new Z(0,0,0),eTe=class extends Za{constructor(A,f,m){super(A,f,m),this.name="MeasureAreaTool"}onActive(){this.mTotalLength=0,this.mControlPointArray=[],this.mPolygonPointArray=[],this.mPolygon=null,this.mPolyline=null,this.mPoints=null,this.mLabel=null}onDeactive(){this.clearResult(),this.mTotalLength=0,this.mControlPointArray=[],this.mPolygonPointArray=[]}clearResult(){O(this.mPolygon)&&(this.mPolygon.destory(),this.mPolygon=null),O(this.mPolyline)&&(this.mPolyline.destory(),this.mPolyline=null),O(this.mPoints)&&(this.mPoints.destory(),this.mPoints=null),O(this.mLabel)&&(this.mLabel.destory(),this.mLabel=null)}onLButtonUp(A){if(super.onLButtonUp(A)===!1)return!1;if(this.pickVector(A,dk)){if(this.mControlPointArray.length>0&&(this.mControlPointArray.pop(),this.mControlPointArray.pop()),this.mControlPointArray.push(Z.clone(dk)),this.mControlPointArray.push(Z.clone(dk)),this.mControlPointArray.push(Z.clone(this.mControlPointArray[0])),this.mPolygonPointArray.push(Z.clone(dk)),O(this.mPoints)&&this.mPoints.add(Z.clone(dk)),this.mPolygonPointArray.length<3)return;O(this.mPolygon)||(this.mPolygon=sA.createPolygonPrimitive(this.mEarthCtrl,{positions:this.mPolygonPointArray,color:Ve.fromRgba(2290155392),outlineColor:Ve.WHITE,width:3}))}return!0}onRButtonDown(A){super.onRButtonDown(A),this.mControlPointArray.length>=2&&(this.mCallback&&this.mCallback({result:this.mTotalArea}),this.mEnable=!1)}onMouseMove(A){super.onMouseMove(A);let f=this.mControlPointArray.length;if(!(f<=2)&&this.pickVector(A,dk)){Z.clone(dk,this.mControlPointArray[f-2]),this.mTotalArea=this.calculateSphericalArea(this.mControlPointArray,!0);let m="\u6295\u5F71\u9762\u79EF:";this.mTotalArea>=1e5?m+=`${parseInt(this.mTotalArea/1e3)/1e3}\u5E73\u65B9\u5343\u7C73`:m+=`${parseInt(this.mTotalArea*1e3)/1e3}\u5E73\u65B9\u7C73`,O(this.mPolyline)?(this.mLabel.position=this.mControlPointArray[f-1],this.mLabel.text=m):(this.mPolyline=sA.createPolylinePrimitive(this.mEarthCtrl,{positions:this.mControlPointArray,color:Ve.fromRgba(3422617472),width:3}),this.mLabel=sA.createLabelPrimitive(this.mEarthCtrl,{position:this.mControlPointArray[f-1],text:m}))}}},TK=eTe;var rlt=new Z(0,0,0),tTe=class extends TK{constructor(A,f,m){super(A,f,m),this.name="MeasureSurfaceAreaTool"}onMouseMove(A){super.onMouseMove(A);let f=this.mControlPointArray.length;if(!(f<=2)&&this.pickVector(A,rlt)){Z.clone(rlt,this.mControlPointArray[f-2]),this.mTotalArea=this.calculateSphericalArea(this.mControlPointArray,!0);let m="\u6295\u5F71\u9762\u79EF:";this.mTotalArea>=1e5?m+=`${parseInt(this.mTotalArea/1e3)/1e3}\u5E73\u65B9\u5343\u7C73`:m+=`${parseInt(this.mTotalArea*1e3)/1e3}\u5E73\u65B9\u7C73`,O(this.mPolyline)?(this.mLabel.position=this.mControlPointArray[f-1],this.mLabel.text=m):(this.mPolyline=sA.createPolylinePrimitive(this.mEarthCtrl,{positions:this.mControlPointArray,color:Ve.fromRgba(3422617472),width:3}),this.mLabel=sA.createLabelPrimitive(this.mEarthCtrl,{position:this.mControlPointArray[f-1],text:m}))}}},iTe=tTe;var RI=new Z(0,0,0),rTe=new Rt(0,0,0);function nlt(o,A,f){Rt.fromCartesian(o,null,rTe),rTe.height+=1.5,Rt.toCartesian(rTe,null,f)}var nTe=class extends Za{constructor(A,f,m){super(A,f,m),this.mClickCount=0,this.mTotalLength=0,this.mHorizontalControlPointArray=[],this.mControlPointArray=[],this.mFinalVerticalPoints=[],this.mFinalVerticalPoints.push(new Z(0,0,0)),this.mFinalVerticalPoints.push(new Z(0,0,0)),this.mMaxHeight=-99999999,this.mTotalLength=0,this.mPoly=null,this.mPoints=null,this.mHorizontalPoints=null,this.mLabel=null,this.mVerticalPolylines=[],this.mFinalVerticalPoly=null}onActive(){}onDeactive(){}destory(){O(this.mPoints)&&this.mPoints.destory(),O(this.mHorizontalPoints)&&this.mHorizontalPoints.destory()}onLButtonUp(A){if(super.onLButtonUp(A)===!1)return!1;if(this.mClickCount>=2)return!0;if(this.pickVector(A,RI)){this.mControlPointArray.length>0&&this.mControlPointArray.pop(),this.mControlPointArray.push(Z.clone(RI)),this.mControlPointArray.push(Z.clone(RI)),O(this.mPoints)&&this.mPoints.add(Z.clone(RI)),this.mHorizontalControlPointArray.length>0&&this.mHorizontalControlPointArray.pop(),nlt(RI,1.5,RI),this.mHorizontalControlPointArray.push(Z.clone(RI)),this.mHorizontalControlPointArray.push(Z.clone(RI)),O(this.mHorizontalPoints)&&this.mHorizontalPoints.add(Z.clone(this.mHorizontalControlPointArray[this.mHorizontalControlPointArray.length-1]));let f=this.mControlPointArray.length;Z.clone(this.mControlPointArray[f-1],this.mFinalVerticalPoints[0]),Z.clone(this.mHorizontalControlPointArray[f-1],this.mFinalVerticalPoints[1]);let m=this;this.mClickCount===1&&this.mEarthCtrl.measure.lineOfSightByParams({startPoint:this.mHorizontalControlPointArray[0],endPoint:this.mHorizontalControlPointArray[2]},function(C){C.ret===!0&&(m.mHorizontalControlPointArray[f-2]=C.position,m.mHorizontalControlPointArray[f-1]=C.position),m.mCallback&&m.mCallback(C),m.mEnable=!1}),this.mClickCount++}return!0}onRender(){}onMouseMove(A){super.onMouseMove(A);let f=this.mControlPointArray.length;f<=1||this.pickVector(A,RI)&&(Z.clone(RI,this.mControlPointArray[f-1]),nlt(RI,1.5,RI),Z.clone(RI,this.mHorizontalControlPointArray[f-1]),Z.clone(this.mControlPointArray[f-1],this.mFinalVerticalPoints[0]),Z.clone(this.mHorizontalControlPointArray[f-1],this.mFinalVerticalPoints[1]))}},olt=nTe;var oTe=class extends Za{constructor(A,f,m){super(A,f,m),this.name="PickObjectTool"}destory(){}onLButtonUp(A){if(super.onLButtonUp(A)===!1)return!1;let f={};return this.pickObject(A,f)&&this.mCallback&&this.mCallback(f),!0}},aTe=oTe;var sTe=class extends Za{constructor(A,f,m,C){super(f,m,C),this.name="PickPositionTool",this.options=A}onLButtonUp(A){if(super.onLButtonUp(A)===!1)return!1;let f=new Z(0,0,0);if(this.pickVector(A,f)){let m;!this.options||!this.options.type||this.options==="LongitudeAndLatitude"?(m=Rt.fromCartesian(f),m.longitude=Be.toDegrees(m.longitude),m.latitude=Be.toDegrees(m.latitude),this.mCallback&&this.mCallback({result:m})):this.options.type==="Cartographic"?(m=Rt.fromCartesian(f),this.mCallback&&this.mCallback({result:m})):this.options.type==="Cartesian2"?(m=A,this.mCallback&&this.mCallback({result:m})):this.options.type==="Cartesian3"&&(m=this.pickVector(A,f),this.mCallback&&this.mCallback({result:m}))}return!0}onRButtonUp(A){return super.onLButtonUp(A)===!1?!1:(this.mCallback&&this.mCallback({retCode:"finished"}),!0)}},lTe=sTe;var uTe=class extends Za{constructor(A,f,m){super(A,f,m),this.name="HoverObjectTool"}destory(){}onMouseMove(A){if(super.onLButtonUp(A)===!1)return!1;let f={};return this.pickObject(A,f)&&this.mCallback&&this.mCallback(f),!0}},ATe=uTe;var cTe=class extends Za{constructor(A,f,m){super(A,f,m),this.name="DoubleClickObjectTool"}destory(){}onRButtonDown(A){if(super.onLButtonUp(A)===!1)return!1;let f={};return this.doubleClickObject(A,f)&&this.mCallback&&this.mCallback(f),!0}},hTe=cTe;var dTe=class extends Za{constructor(A,f,m){super(A,f,m),this.name="RClickObjectTool"}destory(){}onRButtonUp(A){if(super.onLButtonUp(A)===!1)return!1;let f={};return this.pickObject(A,f)&&this.mCallback&&this.mCallback(f),!0}},fTe=dTe;var tH=null;function iu(o,A){tH=A,this.objId=Number(new Date().getTime()+""+Number(Math.random()*1e3).toFixed(0)),this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._getPosition=new kl(this._viewer,this._cesium),this._tree=Ke,this.modifyPoint=null,this._color=new In(this._viewer,this._cesium),this.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),this.modifyHandler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),this._position=void 0,this._points=[],this._listeners={},this._point=null}iu.prototype.createPoint=function(o,A,f,m,C,E){var x={id:this._core.getuid(),show:!0,pixelSize:10,color:this._cesium.Color.RED,clampToGround:!0};m||(m={}),x=this._core.extend(x,m,!0),f&&(this._core.isHtmlColor(f)?f=this._color.colorFromHtmlColor(f):(/^rgb/.test(f)&&(f=this._Color.rgbaStringToRgbaObj(f)),f.r>1&&(f.r=f.r/255),f.g>1&&(f.g=f.g/255),f.b>1&&(f.b=f.b/255),f.a>1&&(f.a=f.a/255),f.r&&(f=this._color.createColor(f.r,f.g,f.b,f.a))),x.color=f),this._position=A,this.item=this._viewer.entities.add({name:o,position:this._cesium.Cartesian3.fromDegrees(A[0],A[1],A[2]||0),point:x});var y={id:this.item.id,name:o,pId:this._core.isnull(C)?0:C,type:"Point",item:this};return this.setTreeobj(y),this._tree.insertGroupId(y,this._core.isnull(C)?0:C),this};iu.prototype.getstyles=function(){var o={};return o.show=this.item.point.show?this.item.point.show._value:!0,o.pixelSize=this.item.point.pixelSize?this.item.point.pixelSize.toString():null,o.heightReference=this.item.point.heightReference&&this.item.point.heightReference._value?this.item.point.heightReference.toString():null,o.color=this.item.point.color&&this.item.point.color._value?"rgba"+this.item.point.color.toString():null,o.outlineColor=this.item.point.outlineColor&&this.item.point.outlineColor._value?"rgba"+this.item.point.outlineColor.toString():null,o.outlineWidth=this.item.point.outlineWidth&&this.item.point.outlineWidth._value?this.item.point.outlineWidth.toString():null,o.near=this.item.point.distanceDisplayCondition?this.item.point.distanceDisplayCondition._value.near:null,o.far=this.item.point.distanceDisplayCondition?this.item.point.distanceDisplayCondition._value.far:null,o.position=this.item.position.getValue().toString(),o};iu.prototype.createLonlat=function(o){var A=this,f=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);f.setInputAction(function(m){var C=A._viewer.camera.pickEllipsoid(m.position,A._viewer.scene.globe.ellipsoid),E=A._cesium.Cartographic.fromCartesian(C,A._viewer.scene.globe.ellipsoid,new A._cesium.Cartographic),x=A._cesium.Math.toDegrees(E.latitude),y=A._cesium.Math.toDegrees(E.longitude),I=E.height,v={lng:y,lat:x,height:I};typeof o=="function"&&o(v)},this._cesium.ScreenSpaceEventType.LEFT_CLICK),f.setInputAction(function(m){f.destroy()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK)};iu.prototype.createRichTextPoint=function(o,A,f={}){var m=this,C=this._core.getuid(),E=f.GroupID,x;A.length!==void 0?A.length===2?x=this._cesium.Cartesian3.fromDegrees(A[0],A[1]):A.length===3&&(x=this._cesium.Cartesian3.fromDegrees(A[0],A[1],A[2])):A.z?x=this._cesium.Cartesian3.fromDegrees(A.x,A.y,A.z):x=this._cesium.Cartesian3.fromDegrees(A.x,A.y),this._position=x;var y={horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.BOTTOM,show:!0,distanceDisplayCondition:new this._cesium.DistanceDisplayCondition(m._core.defaultValue(f.near,0),m._core.defaultValue(f.far,Number.MAX_VALUE))},I=this._core.extend(y,f,!0),v="",B=15;f&&f.fontColor&&(v=f.fontColor),f&&f.fontSize&&(B=f.fontSize),T(o,B,v,function(w){I.image=w,m.item=m._viewer.entities.add({id:C,name:o,position:m._position,billboard:I}),m.item.degrees=A,m.item.type="RichPoint",m.item.data=f.data});var Q={id:C,name:"\u65B0\u5EFA\u5BCC\u6587\u672C\u70B9"+C,pId:m._core.isnull(E)?0:E,type:"Imagelabel",item:m};m.setTreeobj(Q),m._tree.insertGroupId(Q,m._core.isnull(E)?0:E);function T(w,S,D,R){var P=document.createElement("img");P.src=m._core.defaultValue(I.url,window.SmartEarthRootUrl+Zr.richtextpoint),S=parseFloat(S),P.crossOrigin="Anonymous",P.onload=function(){var M=document.createElement("canvas"),L=M.getContext("2d"),F=P.width,k=P.height;if(M.width=F,M.height=k,L.drawImage(P,0,0,F,k),L.shadowOffsetX=1,L.shadowOffsetY=0,L.shadowColor="#fff",L.shadowBlur=1,/^\</.test(w)&&/\>$/.test(w)){var N='<svg xmlns="http://www.w3.org/2000/svg" width="'+F+'" height="60"><foreignObject width="100%" height="100%">'+w+"</foreignObject></svg>",G=window.URL||window.webkitURL||window,J=document.createElement("img"),K=new Blob([N],{type:"image/svg+xml;charset=utf-8"}),X=G.createObjectURL(K);J.crossOrigin="Anonymous",J.src=X,J.onload=function(){L.drawImage(J,0,0,J.width,J.height),G.revokeObjectURL(X)},R(M)}else{if(L.fillStyle=D||"#fff",L.font=S+"px Calibri,sans-serif",w.length*S>F){var q=w.substring(0,Math.ceil(w.length/2)),ee=w.substring(Math.floor(w.length/2),w.length),ie=(k-100-2*S)/2,H=ie+S,le=(F-q.length*S)/2;L.fillText(q,le,ie),L.fillText(ee,le,H)}else{var ue=(k-100-S)/2,Ae=(F-w.length*S)/2;L.fillText(w,Ae,ue)}R(M)}}}return this};iu.prototype.createPoints=function(o,A){var f={id:this._core.getuid(),show:!0,pixelSize:10,color:this._cesium.Color.RED,heightReference:this._cesium.HeightReference.CLAMP_TO_GROUND},m=this._core.extend(f,o,!0);this._core.isnull(text)||(m.text=text),this._position=position,this.item=this._viewer.entities.add({name,position:this._cesium.Cartesian3.fromDegrees(position[0],position[1]),point:m});var C={id:this.item.id,name:m.text,pId:this._core.isnull(A)?0:A,type:"Point",item:this};return this.setTreeobj(C),this._tree.insertGroupId(C,this._core.isnull(A)?0:A),this};iu.prototype.createLocations=function(o,A,f){var m={id:this._core.getuid(),show:!0,pixelSize:10,color:this._cesium.Color.TRANSPARENT,heightReference:this._cesium.HeightReference.CLAMP_TO_GROUND};this._position=A,this._core.isnull(o)&&(o="\u65B0\u5EFA\u5174\u8DA3\u70B9"),this.item=this._viewer.entities.add({name:o,position:this._cesium.Cartesian3.fromDegrees(A[0],A[1],A[2]),point:m});var C={id:m.id,name:o,pId:this._core.isnull(f)?0:f,type:"Location",item:this};return this.setTreeobj(C),this._tree.insertGroupId(C,this._core.isnull(f)?0:f),this};iu.prototype.createLocation=function(o,A,f){var m={id:this._core.getuid(),show:!0,pixelSize:10,color:this._cesium.Color.TRANSPARENT,heightReference:this._cesium.HeightReference.CLAMP_TO_GROUND},C={destination:A.position,orientation:{heading:A.orientation.heading,pitch:A.orientation.pitch,roll:A.orientation.roll}};this._position=A,this._core.isnull(o)&&(o="\u65B0\u5EFA\u5174\u8DA3\u70B9");var E=this._core.getuid();this.item=this._viewer.entities.add({name:o,position:A.position,point:m}),this.item.originalCameraLocation=C;var x=this;return setTimeout(function(){var y={id:E,name:o+E,pId:x._core.isnull(f)?0:f,type:"Location",item:x};x.setTreeobj(y),x._tree.insertGroupId(y,x._core.isnull(f)?0:f)}),this};iu.prototype.createPointOptimization=function(o,A){var f=this,m,C=[],E=this._core.StyleContrastGeoJson(o,this._cesium);return this.handler.setInputAction(function(x){var y=f._viewer.scene.camera.getPickRay(x.position),I,v;if(y&&(I=f._viewer.scene.globe.pick(y,f._viewer.scene)),!!I){v=f._cesium.Ellipsoid.WGS84.cartesianToCartographic(I);var B=f._viewer.scene.globe.getHeight(v);f._point=f._cesium.Cartesian3.fromDegrees(v.longitude/Math.PI*180,v.latitude/Math.PI*180,B),E.position=new f._cesium.CallbackProperty(function(){return f._point},!1),f.objId=Number(new Date().getTime()+""+Number(Math.random()*1e3).toFixed(0));var Q=f._viewer.entities.add(E);Q.objId=f.objId,Q.obj=f;var T={point:Q};C.push(T),f.state=1,f.handler.destroy(),typeof method=="function"&&method(C),f.item=Q}},f._cesium.ScreenSpaceEventType.LEFT_CLICK),this};iu.prototype.startModify=function(){var o="\u62D6\u52A8\u4FEE\u6539\u4F4D\u7F6E";if(!(this.state!=2&&this.state!=1)){this._tree.starttemporaryItem(this._viewer),this.modifyHandler||(this.modifyHandler=new this._cesium.ScreenSpaceEventHandler(this.viewer.scene.canvas));var A=this;this.modifyHandler.setInputAction(function(f){var m=A._viewer.scene.pick(f.position);A._cesium.defined(m)&&m.id&&A._cesium.defined(m)&&m.id&&m.id.objId&&m.id.objId==A.objId&&(A.modifyPoint=m.id,o="\u91CA\u653E\u540E\u5B8C\u6210\u4FEE\u6539",A.forbidDrawWorld(!0)),A.state=2},this._cesium.ScreenSpaceEventType.LEFT_DOWN),this.modifyHandler.setInputAction(function(f){var m=A._viewer.scene.pick(f.endPosition);if(A._core.CreateTooltip(o,f.endPosition,!1),!A.modifyPoint){A._cesium.defined(m)&&m.id&&m.id.objId&&A._core.CreateTooltip("\u62D6\u52A8\u4FEE\u6539\u4F4D\u7F6E",f.endPosition,!0);return}if(!!A.modifyPoint){var C=A.getCatesian3FromPX(f.endPosition,A._viewer,[A.modifyPoint]);C&&(A._point=C,A.modifyPoint.position=C),A._core.CreateTooltip(o,f.endPosition,!0)}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.modifyHandler.setInputAction(function(f){var m=A.getCatesian3FromPX(f.position,A._viewer,[A.modifyPoint]);!A.modifyPoint||(m&&(A._point=m),A.modifyPoint.position=m,A.modifyPoint=null,A.forbidDrawWorld(!1),o="\u62D6\u52A8\u4FEE\u6539\u4F4D\u7F6E")},this._cesium.ScreenSpaceEventType.LEFT_UP)}};iu.prototype.getCatesian3FromPX=function(o,A,f){var m=A.scene.pick(o),C,E=A.scene.drillPick(o),x=null;if(f.length>0){for(var y=0;y<E.length;y++)if(E[y].id._id!=f[0].id&&E[y].id._id!=f[1].id){x=E[y].id;break}}else x=m;if(A.scene.pickPositionSupported&&this._cesium.defined(x))C=A.scene.pickPosition(o);else{var I=A.camera.getPickRay(o);if(!I)return;C=A.scene.globe.pick(I,A.scene)}return C};iu.prototype.forbidDrawWorld=function(o){this._viewer.scene.screenSpaceCameraController.enableRotate=!o,this._viewer.scene.screenSpaceCameraController.enableTilt=!o,this._viewer.scene.screenSpaceCameraController.enableTranslate=!o,this._viewer.scene.screenSpaceCameraController.enableInputs=!o};iu.prototype.executePoint=function(o,A){let f;(typeof o=="object"||typeof A=="function")&&(f=A,A=o,o=f),f=null,this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw);var m=this;this._tree.starttemporaryItem(this._viewer);var C=[],E={point:m._cesium.Color.RED};Object.keys(A).length>0&&A.point!=""&&A.point!=null&&(E.point=A.point),this._tree.removeHandler();let x=this._core.CreateTooltip();return this._tree.handler=new m._cesium.ScreenSpaceEventHandler(m._viewer.scene.canvas),this._tree.handler.setInputAction(function(y){var I=m._getPosition.getMousePosition(y),v=m._core.toDegrees(I),B;v.height>=1e3?B=(v.height/1e3).toFixed(2)+"\u5343\u7C73":B=v.height.toFixed(2)+"\u7C73";let Q=m._core.getPointToCameraDistance(m._viewer,I);var T=m._viewer.entities.add({name:"\u9AD8\u5EA6",position:I,point:{color:E.point.withAlpha(.5),pixelSize:5,outlineColor:m._cesium.Color.WHITE.withAlpha(.5),outlineWidth:2,heightReference:m._cesium.HeightReference.none,distanceDisplayCondition:new tH.DistanceDisplayCondition(0,Q*1.5),disableDepthTestDistance:Number.POSITIVE_INFINITY},label:{text:"\u6D77\u62D4\u9AD8\u5EA6\uFF1A"+B,font:"16px \u5B8B\u4F53",fillColor:tH.Color.GOLD,verticalOrigin:tH.VerticalOrigin.BOTTOM,pixelOffset:new tH.Cartesian2(20,-20),showBackground:!0,distanceDisplayCondition:new tH.DistanceDisplayCondition(0,Q*1.5),disableDepthTestDistance:Number.POSITIVE_INFINITY}});m._tree.temporaryItem.obj.push(T);var w={point:T,height:B};C.push(w),m._tree.endtemporaryItem(),m._core.mouse(m._viewer.container,0,"0"),m._tree.handler.destroy(),x.show(!1),typeof o=="function"&&o(w),m.item=T},m._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(y){x.showAt(y.endPosition,"\u70B9\u51FB\u62FE\u53D6\u9AD8\u5EA6\uFF01")},m._cesium.ScreenSpaceEventType.MOUSE_MOVE),this};iu.prototype.altitude=iu.prototype.executePoint;iu.prototype.executePointp=function(o,A){this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw);var f=this,m;this._tree.starttemporaryItem(this._viewer);var C=[],E={point:f._cesium.Color.RED};return Object.keys(A).length>0&&A.point!=""&&A.point!=null&&(E.point=A.point),this._tree.removeHandler(),this._tree.handler=new f._cesium.ScreenSpaceEventHandler(f._viewer.scene.canvas),this._tree.handler.setInputAction(function(x){var y=f._getPosition.getMousePosition(x);if(!!y){var I=f._viewer.entities.add({name:"\u9AD8\u5EA6",position:y,point:{color:E.point.withAlpha(.5),pixelSize:5,outlineColor:f._cesium.Color.WHITE.withAlpha(.5),outlineWidth:2,heightReference:f._cesium.HeightReference.none}});f._tree.temporaryItem.obj.push(I),f._tree.endtemporaryItem(),f._core.mouse(f._viewer.container,0,"0"),f._tree.handler.destroy(),typeof o=="function"&&o(I),f.item=I}},f._cesium.ScreenSpaceEventType.LEFT_CLICK),this};iu.prototype.deleteObject=function(){try{if(this._viewer.entities.remove(this.item),this._points.length>0)for(var o=0;o<this._points.length;o++)this._viewer.entities.remove(this._points[o])}catch{}};iu.prototype.setVisibility=function(o){if(this._points.length>0)for(var A=0;A<this._points.length;A++)this._points[A].show=o;this.item.show=o};iu.prototype.getVisibility=function(){return this.item.show};iu.prototype.setPointAlpha=function(o){try{this.item._point.material._value.alpha=o}catch(A){console.log(A)}return this};iu.prototype.export=function(){var o=this.item.point.show==null?void 0:this.item.point.show._value,A=this.item.point.pixelSize==null?void 0:this.item.point.pixelSize._value,f=this.item.point.color==null?void 0:"rgba("+this.item.point.color._value.red+","+this.item.point.color._value.green+","+this.item.point.color._value.blue+","+this.item.point.color._value.alpha+")",m=this.item.point.outlineColor==null?void 0:"rgba("+this.item.point.outlineColor._value.red+","+this.item.point.outlineColor._value.green+","+this.item.point.outlineColor._value.blue+","+this.item.point.outlineColor._value.alpha+")",C=this.item.point.outlineWidth==null?void 0:this.item.point.outlineWidth._value,E=this.item.point.distanceDisplayCondition,x=E?._value.near,y=E?._value.far,I=this._cesium.Cartographic.fromCartesian(this.item.position._value),v=this._cesium.Math.toDegrees(I.longitude),B=this._cesium.Math.toDegrees(I.latitude),Q=this._cesium.Math.toDegrees(I.height);return{type:"point",position:{x:v,y:B,z:Q},treeobj:{name:this.treeobj.name},style:{show:o,pixelSize:A,color:f,outlineColor:m,outlineWidth:C,near:x,far:y}}};iu.prototype.setTreeobj=function(o){this.treeobj=o};iu.prototype.setPointColor=function(o){try{this.item._point.color=new In(this._viewer,this._cesium).colorFromHtmlColor(o),this.item.fillColor=this.item._point.color}catch(A){console.log(A)}return this};iu.prototype.setRadius=function(o){try{this.item.ellipse=new this._cesium.EllipseGraphics({semiMinorAxis:o,semiMajorAxis:o,material:this._cesium.Color.RED.withAlpha(.4)})}catch(A){console.log(A)}return this};iu.prototype.setOutlineColor=function(o){try{this.item._point.outlineColor=new In(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};Object.defineProperties(iu.prototype,{HighLight:{set:function(o){o&&(this.item.fillColor=this.item.point._color),o?this.item._point.color=new In(this._viewer,this._cesium).colorFromHtmlColor(this._core.selectedColor):this.item.point._color=this.item.fillColor}}});Object.defineProperties(iu.prototype,{pointColor:{get:function(){if(!!this.item.point._color._value)return this._color.toHtmlColor("rgb("+this.item.point._color._value.red*255+","+this.item.point._color._value.green*255+","+this.item.point._color._value.blue*255+","+this.item.point._color._value.alpha*255+")")},set:function(o){try{/^rgb/.test(o)?(o=this._color.rgbaStringToRgbaObj(o),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a),this.item._point.color=o,this.item.fillColor=this.item._point.color):(this.item._point.color=new In(this._viewer,this._cesium).colorFromHtmlColor(o),this.item.fillColor=this.item._point.color)}catch{}}},pointOutlineColor:{get:function(){if(this.item._point._outlineColor!=null)return this._color.toHtmlColor("rgb("+this.item._point.outlineColor._value.red*255+","+this.item._point.outlineColor._value.green*255+","+this.item._point.outlineColor._value.blue*255+","+this.item._point.outlineColor._value.alpha*255+")")},set:function(o){try{/^rgb/.test(o)?(o=this._color.rgbaStringToRgbaObj(o),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a),this.item._point.outlineColor=o):this.item._point.outlineColor=this._color.colorFromHtmlColor(o)}catch(A){console.log(A)}}},pointOutlineWidth:{get:function(){if(this.item.point.outlineWidth!=null)return this.item.point.outlineWidth._value},set:function(o){this.item.point.outlineWidth=o}},pointAlpha:{get:function(){if(this.item._point._color!=null)return this.item._point._color._value.alpha},set:function(o){this.item._point._color._value.alpha=o}},pointOutlineAlpha:{get:function(){if(this.item._point.outlineColor!=null)return this.item._point.outlineColor._value.alpha},set:function(o){try{this.item._point.outlineColor._value.alpha=o}catch{}}},pointHeight:{set:function(o){o=parseFloat(o);var A=this._cesium.Cartographic.fromCartesian(this.item.position._value),f=this._cesium.Math.toDegrees(A.longitude),m=this._cesium.Math.toDegrees(A.latitude),C=this._cesium.Cartesian3.fromDegrees(f,m,o);this.item.position._value=C},get:function(){var o=this._cesium.Cartographic.fromCartesian(this.item.position._value),A=this._cesium.Math.toDegrees(o.height);return A}},pointX:{set:function(o){var A=this._cesium.Cartographic.fromCartesian(this.item.position._value),f=this._cesium.Math.toDegrees(A.longitude),m=this._cesium.Math.toDegrees(A.latitude),C=this._cesium.Math.toDegrees(A.height),E=this._cesium.Cartesian3.fromDegrees(o,m,C);this.item.position.position=E},get:function(){var o=this._cesium.Cartographic.fromCartesian(this.item.position._value),A=this._cesium.Math.toDegrees(o.longitude);return A}},pointY:{set:function(o){var A=this._cesium.Cartographic.fromCartesian(this.item.position._value),f=this._cesium.Math.toDegrees(A.longitude),m=this._cesium.Math.toDegrees(A.latitude),C=this._cesium.Math.toDegrees(A.height),E=this._cesium.Cartesian3.fromDegrees(f,o,C);this.item.position.position=E},get:function(){var o=this._cesium.Cartographic.fromCartesian(this.item.position._value),A=this._cesium.Math.toDegrees(o.latitude);return A}}});Object.defineProperties(iu.prototype,{pixelSize:{get:function(){return this.item.point.pixelSize._value},set:function(o){this.item.point.pixelSize=o}}});Object.defineProperties(iu.prototype,{rectangle:{get:function(){return this.item.rectangle},set:function(o){this.item.rectangle=o}}});iu.prototype.setItem=function(o){this.item=o};Object.defineProperties(iu.prototype,{polyline:{get:function(){return this.item.polyline},set:function(o){this.item.polyline=o}}});Object.defineProperties(iu.prototype,{polygon:{get:function(){return this.item.polygon},set:function(o){this.item.polygon=o}}});Object.defineProperties(iu.prototype,{point:{get:function(){return this.item.point},set:function(o){this.item.point=o}}});Object.defineProperties(iu.prototype,{label:{get:function(){return this.item.label},set:function(o){this.item.label=o}}});Object.defineProperties(iu.prototype,{position:{get:function(){return this._position?this._position:this.item.position}}});Object.defineProperties(iu.prototype,{model:{get:function(){return this.item.model},set:function(o){this.item.model=o}}});Object.defineProperties(iu.prototype,{wall:{get:function(){return this.item.wall},set:function(o){this.item.wall=o}}});Object.defineProperties(iu.prototype,{pointTempOptions:{get:function(){return{color:this._cesium.Color.WHITE,pixelSize:1,outlineColor:In.BLACK,outlineWidth:0,show:!0,scaleByDistance:null,translucencyByDistance:null,heightReference:null,distanceDisplayCondition:null,disableDepthTestDistance:null}}}});var LI=iu;var Br=null;function _s(o,A){Br=A,this._viewer=o,this._cesium=A,this._Color=new In(this._viewer,this._cesium),this._core=new $i(o,A),this._getPosition=new kl(this._viewer,this._cesium),this._tree=Ke,this._points=[],this._lable=null,this._entity=null,this.polygon1,this.id="0",this.curCanvas="a",this._lang={draw_tip_left:"\u5DE6\u952E\u5F00\u59CB\u7ED8\u5236\uFF01",draw_tip_right:"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236\uFF01",draw_tip_click:"\u70B9\u51FB\u7EE7\u7EED\u7ED8\u5236\uFF01",draw_tip_cancel:"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF0C\u53F3\u952E\u53D6\u6D88\uFF01",unit_m:"\u7C73",unit_km:"\u5343\u7C73"}}_s.prototype.createPolygon=function(o,A,f,m,C){var E=[],x;if(Array.isArray(o)){if(o[0]instanceof Array){if(o[0].length===2){for(var y=0;y<o.length;y++)E.push(o[y][0],o[y][1]);x=this._cesium.Cartesian3.fromDegreesArray(E)}else if(o[0].length===3){for(var y=0;y<o.length;y++)E.push(o[y][0],o[y][1],o[y][2]);x=this._cesium.Cartesian3.fromDegreesArrayHeights(E)}}else if(o[0].z){for(var y=0;y<o.length;y++)E.push(o[y].x,o[y].y,o[y].z);x=this._cesium.Cartesian3.fromDegreesArrayHeights(E)}else{for(var y=0;y<o.length;y++)E.push(o[y].x,o[y].y);x=this._cesium.Cartesian3.fromDegreesArray(E)}var I=A;typeof I=="string"&&(I={fillColor:I}),this.item=this._viewer.entities.add({name:C,polygon:{hierarchy:new this._cesium.PolygonHierarchy(x),material:new In(this._viewer,this._cesium).colorFromHtmlColor(I.fillColor),heightReference:this._core.defaultValue(f,1),perPositionHeight:f!==1,outline:!0,outlineWidth:this._core.defaultValue(I.outlineWidth,1),outlineColor:new In(this._viewer,this._cesium).colorFromHtmlColor(this._core.defaultValue(I.outlineColor,I.fillColor))}})}else if(typeof o=="object"){o.points.forEach(Q=>{E.push(Q.x,Q.y)}),x=Br.Cartesian3.fromDegreesArray(E);let B=this._core.defaultValue(o.alpha,.6);this.item=this._viewer.entities.add({id:o.id,name:C,polygon:{hierarchy:new Br.PolygonHierarchy(x),material:Br.Color.fromCssColorString(o.color||"#f00").withAlpha(B),heightReference:o.height!==void 0?0:1,height:o.height,perPositionHeight:!1,outline:!!o.outlineWidth,outlineWidth:o.outlineWidth,outlineColor:Br.Color.fromCssColorString(o.outlineColor||"#f00")}}),this.item.objectType="polygon"}var v={id:this.item.id,name:C||"\u65B0\u5EFA\u9762"+this._core.getuid(),pId:this._core.isnull(m)?0:m,type:"polygon",item:this};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),this};_s.prototype.getstyles=function(){var o={};return o.show=this.item.polygon.show?this.item.polygon.show._value:!0,o.hierarchy=this.item.polygon.hierarchy?this.item.polygon.hierarchy.getValue().positions.toString():null,o.height=this.item.polygon.height?this.item.polygon.height._value:null,o.heightReference=this.item.polygon.heightReference?this.item.polygon.heightReference._value:null,o.extrudedHeight=this.item.polygon.extrudedHeight?this.item.polygon.extrudedHeight.getValue():null,o.extrudedHeightReference=this.item.polygon.extrudedHeightReference?this.item.polygon.extrudedHeightReference.toString():null,o.stRotation=this.item.polygon.stRotation?this.item.polygon.stRotation._value:null,o.granularity=this.item.polygon.granularity?this.item.polygon.granularity._value:null,o.fill=this.item.polygon.fill?this.item.polygon.fill._value:null,o.material={},o.material.color=this.item.polygon.material&&this.item.polygon.material.color&&this.item.polygon.material.color._value?"rgba"+this.item.polygon.material.color.toString():null,o.material.image=this.item.polygon.material&&this.item.polygon.material.image?this.item.polygon.material.image._value:null,o.material.repeat=this.item.polygon.material&&this.item.polygon.material.repeat&&this.item.polygon.material.repeat._value?this.item.polygon.material.repeat._value:null,o.outline=this.item.polygon.outline?this.item.polygon.outline._value:null,o.outlineWidth=this.item.polygon.outlineWidth?this.item.polygon.outlineWidth._value:null,o.outlineColor=this.item.polygon.outlineColor&&this.item.polygon.outlineColor._value?"rgba"+this.item.polygon.outlineColor.toString():null,o.perPositionHeight=this.item.polygon.perPositionHeight?this.item.polygon.perPositionHeight.toString():null,o.closeTop=this.item.polygon.closeTop?this.item.polygon.closeTop.toString():null,o.closeBottom=this.item.polygon.closeBottom?this.item.polygon.closeBottom.toString():null,o.arcType=this.item.polygon.arcType?this.item.polygon.arcType.toString():null,o.classificationType=this.item.polygon.classificationType?this.item.polygon.classificationType.toString():null,o.near=this.item.polygon.distanceDisplayCondition?this.item.polygon.distanceDisplayCondition._value.near:null,o.far=this.item.polygon.distanceDisplayCondition?this.item.polygon.distanceDisplayCondition._value.far:null,o};_s.prototype.createCloudMap=function(o,A,f,m){var C=[],E=this;C.push(A.minx,A.miny),C.push(A.maxx,A.miny),C.push(A.maxx,A.maxy),C.push(A.minx,A.maxy);var x=this._cesium.Cartesian3.fromDegreesArray(C);m=this._core.defaultValue(m,1);var y=0,I=0;this.item=this._viewer.entities.add({name:o,polygon:{hierarchy:new this._cesium.PolygonHierarchy(x),material:new Br.ImageMaterialProperty({image:new this._cesium.CallbackProperty(function(){return I+=m,I>30&&(I=0,y++,y>f.length-1&&(y=0)),f[y]},!1),color:new this._cesium.CallbackProperty(function(){return E._cesium.Color.WHITE.withAlpha(I<15?.5+I/30:1.5-I/30)},!1),repeat:new E._cesium.Cartesian2(1,1)})}});var v={id:this.item.id,name:o,pId:0,type:"polygon",item:this};return this.setTreeobj(v),this._tree.insertGroupId(v,0),this};_s.prototype.createSector=function(o,A,f,m,C){var E={fillColor:this._cesium.Color.YELLOW.withAlpha(.5),outlineColor:this._cesium.Color.YELLOW},x=[],y=2*Math.PI/360*C,I=Math.sin(y)*A,v=Math.cos(y)*A,B=K(o,m,v),Q={lon:o.lon,lat:o.lat,height:o.height},T={lon:B.lon,lat:B.lat,height:o.height+I},w=6378137,S=6356725,D=this;x=N(Q,T);var R=document.createElement("canvas");R.id="0-a",R.width=800,R.height=800,document.body.appendChild(R);var P=document.createElement("canvas");P.id="0-b",P.width=800,P.height=800;var M="a";document.body.appendChild(P);var L=1,F=new Br.CallbackProperty(function(X,q){var ee=document.getElementById("0-"+M),ie=ee.getContext("2d");ie.strokeStyle="red",ie.lineWidth=15;function H(he,ge,fe){ie.beginPath(),ie.arc(400,800,fe,ue(he),ue(ge),!1),ie.stroke()}function le(he,ge,fe){ie.beginPath(),ie.arc(400,800,fe,ue(he),ue(ge),!1),ie.stroke()}function ue(he){return he-=90,he*Math.PI/180}ie.clearRect(0,0,800,800);var Ae=ie.createLinearGradient(0,800,0,0);return Ae.addColorStop(0,"rgba(255,0,0,0.6)"),Ae.addColorStop(1,"rgba(255,0,0,0)"),le(-(f/2),f/2,L+600),ie.lineTo(400,800),ie.closePath(),ie.fillStyle=Ae,ie.fill(),H(-(f/2),f/2,L+100),H(-(f/2),f/2,L+200),H(-(f/2),f/2,L+300),H(-(f/2),f/2,L+400),H(-(f/2),f/2,L+500),H(-(f/2),f/2,L+600),L<100?L=L+1:L=1,M=M==="a"?"b":"a",ee},!1);this.item=this._viewer.entities.add({polygon:{hierarchy:new this._cesium.PolygonHierarchy(this._cesium.Cartesian3.fromDegreesArrayHeights(x)),material:new this._cesium.ImageMaterialProperty({image:F,transparent:!0}),perPositionHeight:!0,outlineColor:E.outlineColor}});function k(X,q,ee,ie){var H=ee*Math.sin(ie*Math.PI/180),le=ee*Math.cos(ie*Math.PI/180),ue=S+(w-S)*(90-X)/90,Ae=ue*Math.cos(X*Math.PI/180),he=(H/Ae+q*Math.PI/180)*180/Math.PI,ge=(le/ue+X*Math.PI/180)*180/Math.PI;return[he,ge]}function N(X,q){var ee=[],ie=G(X.lat,X.lon,q.lat,q.lon),H=ie.anglew,le=ie.distance;ee.push(X.lon,X.lat,X.height);for(var ue=H-f/2,Ae=null;ue<H+f/2;ue++)Ae=k(X.lat,X.lon,le,ue),ee.push(Ae[0],Ae[1],q.height+ue*10);return ee}function G(X,q,ee,ie){var H=J(X),le=J(ee),ue=J(ee)-J(X),Ae=J(ie)-J(q),he=2*Math.asin(Math.sqrt(Math.pow(Math.sin(ue/2),2)+Math.cos(H)*Math.cos(le)*Math.pow(Math.sin(Ae/2),2)));return he=he*w,he=Math.round(he*1e4)/1e4,{anglew:D._core.TwoPointAzimuth(q,X,ie,ee),distance:he}}function J(X){return X*Math.PI/180}function K(X,q,ee){var ie={a:6378137,b:63567523142e-4,f:.0033528106647474805};function H(yt){return yt*Math.PI/180}function le(yt){return yt*180/Math.PI}for(var ue=ie,Ae=ue.a,he=ue.b,ge=ue.f,fe=X.lon*1,ae=X.lat*1,U=ee,W=H(q),Y=Math.sin(W),z=Math.cos(W),re=(1-ge)*Math.tan(H(ae)),se=1/Math.sqrt(1+re*re),de=re*se,me=Math.atan2(re,z),Ce=se*Y,Ie=1-Ce*Ce,we=Ie*(Ae*Ae-he*he)/(he*he),Te=1+we/16384*(4096+we*(-768+we*(320-175*we))),Ge=we/1024*(256+we*(-128+we*(74-47*we))),ke=U/(he*Te),Oe=2*Math.PI;Math.abs(ke-Oe)>1e-12;){var Le=Math.cos(2*me+ke),be=Math.sin(ke),Ne=Math.cos(ke),Ue=Ge*be*(Le+Ge/4*(Ne*(-1+2*Le*Le)-Ge/6*Le*(-3+4*be*be)*(-3+4*Le*Le)));Oe=ke,ke=U/(he*Te)+Ue}var ze=de*be-se*Ne*z,Je=Math.atan2(de*Ne+se*be*z,(1-ge)*Math.sqrt(Ce*Ce+ze*ze)),Xe=Math.atan2(be*Y,se*Ne-de*be*z),et=ge/16*Ie*(4+ge*(4-3*Ie)),ot=Xe-(1-et)*ge*Ce*(ke+et*be*(Le+et*Ne*(-1+2*Le*Le))),Et=Math.atan2(Ce,-ze),Ct=fe*1+le(ot),ct={lon:Ct,lat:le(Je)};return ct}return this};_s.prototype.setImageMaterialProperty=function(){var o=this,A=document.createElement("canvas");A.id="0-a",A.width=700,A.height=100;var f=document.createElement("canvas");f.id="0-b",f.width=700,f.height=100,document.body.appendChild(A),document.body.appendChild(f);var m=new o._cesium.CallbackProperty(function(C,E){var x=o,y=document.getElementById("0-"+o.curCanvas),I=y.getContext("2d");return y.strokeStyle="1px solid red",I.strokeStyle="red",I.fillStyle="red",I.save(),I.translate(100,100),I.arc(0,0,100,0,180*Math.PI/180),I.restore(),I.stroke(),o.curCanvas=o.curCanvas==="a"?"b":"a",y},!1);return new o._cesium.ImageMaterialProperty({image:m,transparent:!0})};_s.prototype.executeSector=function(o,A){var f=this;this._tree.starttemporaryItem(this._viewer),this._tree.removeHandler();var m=this._viewer,C=0,E,x,y={fillColor:f._cesium.Color.YELLOW.withAlpha(.5),outlineColor:f._cesium.Color.YELLOW};A&&A.fillColor&&(y.fillColor=A.fillColor),A&&A.outlineColor&&(y.outlineColor=A.outlineColor),this._tree.handler=new this._cesium.ScreenSpaceEventHandler(f._viewer.scene.canvas),this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw);var I=[],v=this._core.CreateTooltip();this.item=void 0;var B,Q;this.end=M=>{if(f._tree.handler.destroy(),f._tree.handler=null,v.show(!1),f._core.mouse(f._viewer.container,0,"0"),this.end=void 0,M==="cancel"){f.item&&m.entities.remove(f.item);return}f.item&&(f.item.polygon.hierarchy=new f._cesium.PolygonHierarchy(f._cesium.Cartesian3.fromDegreesArray(I))),typeof o=="function"&&o(f.item,{position:E,angle:B,distance:Q})},this._tree.handler.setInputAction(function(M){var L=f._getPosition.getMouseDegrees(M);C===0?(E={lon:L.lon,lat:L.lat,height:L.height},C++):f.end&&f.end()},f._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(M){f.end&&f.end("cancel")},f._cesium.ScreenSpaceEventType.RIGHT_CLICK),this._tree.handler.setInputAction(function(M){if(C===0){v.showAt(M.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236");return}else v.showAt(M.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF0C\u53F3\u952E\u53D6\u6D88");x=f._getPosition.getMouseDegrees(M),I=D(E,x),f.item||(f.item=m.entities.add({polygon:{hierarchy:new f._cesium.PolygonHierarchy(f._cesium.Cartesian3.fromDegreesArray(I)),material:new f._cesium.ColorMaterialProperty(y.fillColor),outlineColor:y.outlineColor,fill:!0}}),f.item.polygon.hierarchy=new f._cesium.CallbackProperty(function(){return new f._cesium.PolygonHierarchy(f._cesium.Cartesian3.fromDegreesArray(I))},!1))},f._cesium.ScreenSpaceEventType.MOUSE_MOVE);var T=6378137,w=6356725;function S(M,L,F,k){var N=F*Math.sin(k*Math.PI/180),G=F*Math.cos(k*Math.PI/180),J=w+(T-w)*(90-M)/90,K=J*Math.cos(M*Math.PI/180),X=(N/K+L*Math.PI/180)*180/Math.PI,q=(G/J+M*Math.PI/180)*180/Math.PI;return[X,q]}function D(M,L){var F=[],k=R(M.lat,M.lon,L.lat,L.lon);B=k.angle,Q=k.distance,F.push(M.lon,M.lat);for(var N=B-30,G=null;N<B+30;N++)G=S(M.lat,M.lon,Q,N),F.push(G[0],G[1]);return F}function R(M,L,F,k){var N=P(M),G=P(F),J=P(F)-P(M),K=P(k)-P(L),X=2*Math.asin(Math.sqrt(Math.pow(Math.sin(J/2),2)+Math.cos(N)*Math.cos(G)*Math.pow(Math.sin(K/2),2)));return X=X*T,X=Math.round(X*1e4)/1e4,{angle:f._core.TwoPointAzimuth(L,M,k,F),distance:X}}function P(M){return M*Math.PI/180}return this};_s.prototype.executePolygon=function(o,A){this._lang=this._core.extend(this._lang,language._lang);var f=this;this._tree.starttemporaryItem(this._viewer),this._tree.removeHandler();var m=function(){function I(v){this.options={name:"",polygon:{hierarchy:[],heightReference:f._core.defaultValue(o.heightReference,1),perPositionHeight:o.heightReference===0,material:f._core.defaultValue(o.material,f._cesium.Color.YELLOW.withAlpha(.5))}},this.hierarchy=v,this._init()}return I.prototype._init=function(){var v=this,B=function(){return v.hierarchy};this.options.polygon.hierarchy=new f._cesium.CallbackProperty(B,!1),this.polygon=f._viewer.entities.add(this.options),f.item=this.polygon,f._tree.temporaryItem.obj.push(this.polygon)},I}();this._tree.handler=new this._cesium.ScreenSpaceEventHandler(f._viewer.scene.canvas);var C=[],E={},x=void 0;this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw);var y=this._core.CreateTooltip();return this._tree.handler.setInputAction(function(I){var v=f._getPosition.getMousePosition(I);C.length==0&&C.push(v.clone()),C.push(v),E=new f._cesium.PolygonHierarchy(C)},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(I){C.length===0?y.showAt(I.endPosition,f._lang.draw_tip_left):C.length<=2?y.showAt(I.endPosition,f._lang.draw_tip_click):y.showAt(I.endPosition,f._lang.draw_tip_right);var v=f._getPosition.getMousePosition(I);C.length>=2&&(f._cesium.defined(x)?v!=null&&(C.pop(),v.y+=1+Math.random(),C.push(v),E=new f._cesium.PolygonHierarchy(C)):(E=new f._cesium.PolygonHierarchy(C),x=new m(E)))},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(I){f._tree.endtemporaryItem(),f._tree.handler.destroy(),y.show(!1);var v={polygon:{},positions:[],area:[]};v.polygon=x;for(var B=[],Q=0;Q<C.length;Q++){var T=f._cesium.Cartographic.fromCartesian(C[Q]),w=f._cesium.Math.toDegrees(T.longitude),S=f._cesium.Math.toDegrees(T.latitude),D=T.height;B.push({lon:w,lat:S,hei:D})}v.positions=B,f._core.mouse(f._viewer.container,0,"0"),typeof A=="function"&&A(v)},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this};_s.prototype.executePolygonvideo=function(o,A){this._lang=this._core.extend(this._lang,language._lang);var f=this;this._tree.starttemporaryItem(this._viewer),this._tree.removeHandler();var m=function(){function S(D){this.options={name:"",polygon:{hierarchy:[],heightReference:f._cesium.HeightReference.CLAMP_TO_GROUND,classificationType:f._cesium.ClassificationType.BOTH,material:f._cesium.Color.YELLOW.withAlpha(.5)}},this.hierarchy=D,this._init()}return S.prototype._init=function(){var D=this,R=function(){return D.hierarchy};this.options.polygon.hierarchy=new f._cesium.CallbackProperty(R,!1),this.polygon=f._viewer.entities.add(this.options),T.style.transform="rotate("+A.angle+"deg)",this.polygon.polygon.stRotation=f._cesium.Math.toRadians(A.angle),f.item=this.polygon,f._tree.temporaryItem.obj.push(this.polygon)},S}();this._tree.handler=new this._cesium.ScreenSpaceEventHandler(f._viewer.scene.canvas);var C=[],E={},x=void 0,y=this._core.CreateTooltip(),I=f._core.getuid(),v=document.getElementById("videoToolbar");if(!v){var B='<div id="videoToolbar"></div>';$(".cesium-viewer").append(B),v=document.getElementById("videoToolbar")}var Q='<video id="video'+I+'" style="display: none;" muted autoplay loop crossorigin controls><source src="'+A.url+'" type="video/mp4"></video>';$(v).append(Q);var T=document.getElementById("video"+I);T.style.transform="rotate("+A.angle+"deg)";let w;return this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),this._tree.handler.setInputAction(function(S){var D=f._getPosition.getMousePosition(S);if(C.length==0&&C.push(D.clone()),C.push(D),C.length===2&&!w&&(w=f._viewer.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new Br.CallbackProperty(()=>C,!1),clampToGround:!0,material:new Br.ColorMaterialProperty(Br.Color.YELLOW.withAlpha(.5)),width:3}})),C.length>=3&&!x){w&&f._viewer.entities.remove(w),E=new f._cesium.PolygonHierarchy(C),x=new m(E);return}E=new f._cesium.PolygonHierarchy(C)},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(S){if(C.length===0?y.showAt(S.endPosition,f._lang.draw_tip_left):C.length<=2?y.showAt(S.endPosition,f._lang.draw_tip_click):y.showAt(S.endPosition,f._lang.draw_tip_right),C.length>=2){var D=f._getPosition.getMousePosition(S);D&&(C.pop(),C.push(D),E=new f._cesium.PolygonHierarchy(C))}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(S){f.end&&f.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=S=>{if(f._tree.endtemporaryItem(),f._tree.handler.destroy(),y.show(!1),f._core.mouse(f._viewer.container,0,"0"),this.end=void 0,w&&f._viewer.entities.remove(w),S==="cancel"||C.length<3){f.item&&f._viewer.entities.remove(f.item);return}T.play(),f.item.polygon.material=T;var D={polygon:{},positions:[],area:[]};D.polygon=f.item;for(var R=[],P=0;P<C.length;P++){var M=f._cesium.Cartographic.fromCartesian(C[P]),L=f._cesium.Math.toDegrees(M.longitude),F=f._cesium.Math.toDegrees(M.latitude),k=M.height;R.push({lon:L,lat:F,hei:k})}D.positions=R,D.id=I,typeof o=="function"&&o(D)},this};_s.prototype.addVideoPolygon=function(o,A){var f=[],m;if(o[0]instanceof Array){if(o[0].length===2){for(var C=0;C<o.length;C++)f.push(o[C][0],o[C][1]);m=this._cesium.Cartesian3.fromDegreesArray(f)}else if(o[0].length===3){for(var C=0;C<o.length;C++)f.push(o[C][0],o[C][1],o[C][2]);m=this._cesium.Cartesian3.fromDegreesArrayHeights(f)}}else if(o[0].z)if(o[0].x<180&&o[0].x>-180&&o[0].y<90&&o[0].y>-90){for(var C=0;C<o.length;C++)f.push(o[C].x,o[C].y,o[C].z);m=this._cesium.Cartesian3.fromDegreesArrayHeights(f)}else m=o;else{for(var C=0;C<o.length;C++)f.push(o[C].x,o[C].y);m=this._cesium.Cartesian3.fromDegreesArray(f)}var E=document.getElementById("videoToolbar");if(!E){var x='<div id="videoToolbar"></div>';$(".cesium-viewer").append(x),E=document.getElementById("videoToolbar")}var y=this._core.getuid(),I='<video id="video'+y+'" style="display: none;" muted autoplay loop crossorigin controls><source src="'+A.url+'" type="video/mp4"></video>';$(E).append(I);var v=document.getElementById("video"+y);v.play();let B=this._core.defaultValue(A.heightReference,1),Q=this._core.defaultValue(A.color,"#FFFFFF");return this.item=this._viewer.entities.add({name:"\u9762\u8D34\u89C6\u9891",polygon:{hierarchy:new Br.PolygonHierarchy(m),material:new Br.ImageMaterialProperty({image:v,color:Br.Color.fromCssColorString(Q)}),heightReference:B,perPositionHeight:B!==1,stRotation:Br.Math.toRadians(A.angle||0),rotation:Br.Math.toRadians(A.rotation||0)}}),this};_s.prototype.addVideoPlane=function(o,A){var f;o instanceof Array?f=this._cesium.Cartesian3.fromDegrees(...o):o.x?f=this._cesium.Cartesian3.fromDegrees(o.x,o.y,o.z):o.lon&&(f=this._cesium.Cartesian3.fromDegrees(o.lon,o.lat,o.height));var m=document.getElementById("videoToolbar");if(!m){var C='<div id="videoToolbar"></div>';$(".cesium-viewer").append(C),m=document.getElementById("videoToolbar")}var E=this._core.getuid(),x='<video id="video'+E+'" style="display: none;" muted autoplay loop crossorigin controls><source src="'+A.url+'" type="video/mp4"></video>';$(m).append(x);var y=document.getElementById("video"+E);y.play();let I=this._core.defaultValue(A.color,"#FFFFFF");return this.item=this._viewer.entities.add({name:"\u76D2\u5B50\u8D34\u89C6\u9891",position:f,orientation:Br.Transforms.headingPitchRollQuaternion(f,new Br.HeadingPitchRoll(Br.Math.toRadians(A.heading||0),Br.Math.toRadians(A.pitch||0),Br.Math.toRadians(A.roll||0))),plane:{plane:new Br.Plane(Br.Cartesian3.UNIT_Y,0),dimensions:new Br.Cartesian2(A.width||12.8,A.height||7.2),material:new Br.ImageMaterialProperty({image:y,color:Br.Color.fromCssColorString(I)}),distanceDisplayCondition:new Br.DistanceDisplayCondition(A.near,A.far||(A.width||12.8)*100)}}),this};_s.prototype.deleteObject=function(){if(this._viewer.entities.remove(this.item),this._points.length>0){for(var o=0;o<this._points.length;o++)this._viewer.entities.remove(this._points[o]);this._points=[]}try{this._viewer.scene.primitives.remove(this.item)}catch(A){console.log(A)}this.item=void 0};_s.prototype.executePolygoncl=function(o,A){this._lang=this._core.extend(this._lang,language._lang);let f;(typeof o=="object"||typeof A=="function")&&(f=A,A=o,o=f),f=null,this._tree.removeHandler(),this._tree.starttemporaryItem(this._viewer);var m=this,C=0;this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);var E=this._core.CreateTooltip(),x=[],y={},I=[],v=[],B=null,Q=null,T,w,S={point:m._cesium.Color.RED,polyline:m._cesium.Color.YELLOW,polygon:m._cesium.Color.YELLOW.withAlpha(.5)};Object.keys(A).length>0&&(A.point!=""&&A.point!=null&&(S.point=A.point),A.polyline!=""&&A.polyline!=null&&(S.polyline=A.polyline),A.polygon!=""&&A.polygon!=null&&(S.polygon=A.polygon));var D={mj:0,label:[],polygon:[]};let R,P;this._tree.handler.setInputAction(function(L){if(x.length===0?E.showAt(L.endPosition,m._lang.draw_tip_left):x.length<=3?E.showAt(L.endPosition,m._lang.draw_tip_click):E.showAt(L.endPosition,m._lang.draw_tip_right),Q=m._getPosition.getMousePosition(L),!!Q){var F=m._cesium.Cartographic.fromCartesian(Q),k=m._cesium.Math.toDegrees(F.longitude),N=m._cesium.Math.toDegrees(F.latitude),G=F.height;if(x.length>=2){m._cesium.defined(B)?(x.pop(),x.push(Q),y=new m._cesium.PolygonHierarchy(x),v.pop(),v.push([k,N])):(y=new m._cesium.PolygonHierarchy(x),B=new M(y));var J=m._core.getArea(v,x);m._viewer.entities.remove(w),w=m._viewer.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:new Br.CallbackProperty(function(){let K=new Br.Cartesian3;return x.forEach(X=>{Br.Cartesian3.add(K,X,K)}),Br.Cartesian3.divideByScalar(K,x.length,new Br.Cartesian3)},!1),label:{text:J,font:"16px \u5B8B\u4F53",fillColor:Br.Color.GOLD,verticalOrigin:Br.VerticalOrigin.BOTTOM,pixelOffset:new Br.Cartesian2(20,-40),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY,distanceDisplayCondition:new Br.DistanceDisplayCondition(0,P*1.5)}}),m._tree.temporaryItem.obj.push(w),D.label=w}}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(L){if(Q=m._getPosition.getMousePosition(L),!!Q){!P&&(P=m._core.getPointToCameraDistance(m._viewer,Q));var F=m._core.getArea(v,x),k=m._cesium.Cartographic.fromCartesian(Q),N=m._cesium.Math.toDegrees(k.longitude),G=m._cesium.Math.toDegrees(k.latitude);x.length==0&&(x.push(Q.clone()),v.push([N,G])),x.push(Q),v.push([N,G]),y=new m._cesium.PolygonHierarchy(x),x.length===2&&(R=m._viewer.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new Br.CallbackProperty(()=>x,!1),clampToGround:!1,material:S.polygon,width:3}})),x.length>=3&&(R&&m._viewer.entities.remove(R),m._cesium.defined(B)||(y=new m._cesium.PolygonHierarchy(x),B=new M(y)),m._viewer.entities.remove(w),w=m._viewer.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:new Br.CallbackProperty(function(){let J=new Br.Cartesian3;return x.forEach(K=>{Br.Cartesian3.add(J,K,J)}),Br.Cartesian3.divideByScalar(J,x.length,new Br.Cartesian3)},!1),label:{text:F,font:"16px \u5B8B\u4F53",fillColor:Br.Color.GOLD,verticalOrigin:Br.VerticalOrigin.BOTTOM,pixelOffset:new Br.Cartesian2(20,-40),showBackground:!0,distanceDisplayCondition:new Br.DistanceDisplayCondition(0,P*1.5),disableDepthTestDistance:Number.POSITIVE_INFINITY}}),m._tree.temporaryItem.obj.push(w),D.label=w)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(L){m.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=function(L){if(E.show(!1),m._viewer.entities.remove(w),m._tree.handler.destroy(),m.end=void 0,m._core.mouse(m._viewer.container,0,"0"),R&&m._viewer.entities.remove(R),L==="cancel"||x.length<3){m.item&&m._viewer.entities.remove(m.item);return}var F=m._core.getArea(v,x);C=F;var k=m._viewer.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:new Br.CallbackProperty(function(){let N=new Br.Cartesian3;return x.forEach(G=>{Br.Cartesian3.add(N,G,N)}),Br.Cartesian3.divideByScalar(N,x.length,new Br.Cartesian3)},!1),label:{text:F,font:"16px \u5B8B\u4F53",fillColor:Br.Color.GOLD,verticalOrigin:Br.VerticalOrigin.BOTTOM,pixelOffset:new Br.Cartesian2(20,-40),showBackground:!0,distanceDisplayCondition:new Br.DistanceDisplayCondition(0,P*1.5),disableDepthTestDistance:Number.POSITIVE_INFINITY}});m._tree.endtemporaryItem(),m._points.push(k),m._lable=k,D.mj=C,D.label=k,o!=""&&o!=null&&typeof o=="function"&&o(D)};var M=function(){function L(F){this.options={name:"\u591A\u8FB9\u5F62",polygon:{hierarchy:[],perPositionHeight:!0,material:S.polygon,classificationType:m._cesium.ClassificationType.BOTH}},this.hierarchy=F,this._init()}return L.prototype._init=function(){var F=this,k=function(){return F.hierarchy};this.options.polygon.hierarchy=new m._cesium.CallbackProperty(k,!1),this.polygon=m._viewer.entities.add(this.options),m.item=this.polygon,m._entity=this.polygon,m._tree.temporaryItem.obj.push(this.polygon),D.polygon=this.polygon},L}();return this};_s.prototype.planeArea=_s.prototype.executePolygoncl;_s.prototype.executePolygonym=function(o){var A=this;this._tree.starttemporaryItem(this._viewer),this._tree.removeHandler();var f=0;this._tree.handler=new A._cesium.ScreenSpaceEventHandler(A._viewer.scene.canvas);var m=[],C={},E=[],x=null,y=null,I={ply:{},waterHeight:0,targetHeight:1e5,speed:0};I.start=function(){this.timer=setInterval(function(){var Q=I.targetHeight;waterHeight<Q&&(waterHeight+=speed,waterHeight>Q&&(waterHeight=Q),I.ply.options.polygon.extrudedHeight=I.waterHeight,A._viewer.entities.add(I.ply.options))},2e3)},I.setWaterHeight=function(Q){I.waterHeight=Q},I.setTargetHeight=function(Q){I.targetHeight=Q},I.setSpeed=function(Q){I.speed=Q};var v={mj:0,label:{}};this._tree.handler.setInputAction(function(Q){var T=A._viewer.camera.getPickRay(Q.endPosition);y=A._viewer.scene.globe.pick(T,A._viewer.scene),m.length>=2&&(A._cesium.defined(x)?(m.pop(),m.push(y),C=new A._cesium.PolygonHierarchy(m)):(C=new A._cesium.PolygonHierarchy(m),x=new B(C)))},A._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(Q){var T=A._viewer.camera.getPickRay(Q.position);y=A._viewer.scene.globe.pick(T,A._viewer.scene),m.length==0&&(m.push(y.clone()),C=new A._cesium.PolygonHierarchy(m)),m.push(y),C=new A._cesium.PolygonHierarchy(m);var w=A._cesium.Cartographic.fromCartesian(m[m.length-1]),S=A._cesium.Math.toDegrees(w.longitude),D=A._cesium.Math.toDegrees(w.latitude),R=w.height;E.push({lon:S,lat:D,hei:R});var P=A._viewer.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:m[m.length-1],point:{pixelSize:5,color:A._cesium.Color.RED.withAlpha(.5),outlineColor:A._cesium.Color.WHITE.withAlpha(.5),outlineWidth:2,heightReference:A._cesium.HeightReference.CLAMP_TO_GROUND}});A._tree.temporaryItem.obj.push(P),A._points.push(P)},A._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(Q){A._tree.handler.destroy(),A._tree.endtemporaryItem(),m.pop(),C=new A._cesium.PolygonHierarchy(m);var T="\u5E73\u65B9\u5343\u7C73";f=T;var w=A._viewer.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:new Br.CallbackProperty(function(){let S=new Br.Cartesian3;return m.forEach(D=>{Br.Cartesian3.add(S,D,S)}),Br.Cartesian3.divideByScalar(S,m.length,new Br.Cartesian3)},!1),label:{text:T,font:"16px \u5B8B\u4F53",fillColor:Br.Color.GOLD,verticalOrigin:Br.VerticalOrigin.BOTTOM,pixelOffset:new Br.Cartesian2(20,-40),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:A._cesium.HeightReference.CLAMP_TO_GROUND}});A._tree.temporaryItem.obj.push(w),A._points.push(w),v.mj=f,v.label=w,o!=""&&o!=null&&typeof o=="function"&&o(x)},A._cesium.ScreenSpaceEventType.RIGHT_CLICK);var B=function(){function Q(D){this.options={name:"\u591A\u8FB9\u5F62",polygon:{hierarchy:[],perPositionHeight:!0,material:A._cesium.Color.SKYBLUE.withAlpha(.4),extrudedHeight:0}},this.hierarchy=D,this._init()}Q.prototype._init=function(){var D=this,R=function(){return D.hierarchy};this.options.polygon.hierarchy=new A._cesium.CallbackProperty(R,!1);var P=A._viewer.entities.add(this.options);A._tree.temporaryItem.obj.push(P),A.item=P};var T=0;!A._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(T=Ke.selectedItem.id);var w=A._core.getuid(),S={id:w,name:"\u65B0\u5EFA\u9762"+w,pId:A._core.isnull(T)?0:T,type:"polygon",item:A};return A.setTreeobj(S),Ke.insertGroupId(S,A._core.isnull(T)?0:T),Q}();return this};_s.prototype.executePolygonymsd=function(o={},A){this._tree.removeHandler(),this._tree.starttemporaryItem(this._viewer);var f=this;this._tree.handler=new f._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);var m=this._core.CreateTooltip(),C={},E=[],x=[],y=null,I=null,v=null,B="0",Q=0,T=1e3,w=10,S=!1,D={mj:0,label:[],ployline:[]},R=[];this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw);let P,M;this._tree.handler.setInputAction(function(k){if(S){Q===void 0?m.showAt(k.endPosition,"\u70B9\u51FB\u62FE\u53D6\u521D\u59CB\u6C34\u9762\u9AD8\u5EA6"):T===void 0&&m.showAt(k.endPosition,"\u70B9\u51FB\u62FE\u53D6\u6700\u5927\u6DF9\u6CA1\u9AD8\u5EA6");return}E.length>=4?m.showAt(k.endPosition,"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236"):m.showAt(k.endPosition,"\u70B9\u51FB\u5DE6\u952E\u7ED8\u5236\u6DF9\u6CA1\u533A\u57DF");var N=f._viewer.camera.getPickRay(k.endPosition);if(v=f._viewer.scene.globe.pick(N,f._viewer.scene),E.length>=2){if(!f._cesium.defined(y))C=new f._cesium.PolygonHierarchy(E),y=new F(C);else if(o.rectangle)M=f._core.toDegrees(v),E=[Br.Cartesian3.fromDegrees(P.lon,P.lat),Br.Cartesian3.fromDegrees(P.lon,M.lat),Br.Cartesian3.fromDegrees(M.lon,M.lat),Br.Cartesian3.fromDegrees(M.lon,P.lat)],C=new f._cesium.PolygonHierarchy(E),y.hierarchy=C;else{for(var G=E[0],J=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(G),K=Br.Math.toDegrees(J.latitude),X=Br.Math.toDegrees(J.longitude),q=E[E.length-2],ee=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(q),ie=Br.Math.toDegrees(ee.latitude),H=Br.Math.toDegrees(ee.longitude),le=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(v),ue=Br.Math.toDegrees(le.latitude),Ae=Br.Math.toDegrees(le.longitude),he=Br.turf.lineString([[X,K],[Ae,ue]]),ge=Br.turf.lineString([[H,ie],[Ae,ue]]),fe=!0,ae=0;ae<R.length&&R.length>=2;ae++){var U=R[ae];if(ae==0){if(Br.turf.lineIntersect(ge,U).features.length){fe=!1,m.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u4E0D\u5141\u8BB8\u51FA\u73B0\u4EA4\u53C9\u9762\uFF01</span>';break}continue}if(ae==R.length-1){if(Br.turf.lineIntersect(he,U).features.length){fe=!1,m.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u4E0D\u5141\u8BB8\u51FA\u73B0\u4EA4\u53C9\u9762\uFF01</span>';break}continue}if(Br.turf.lineIntersect(he,U).features.length){fe=!1,m.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u4E0D\u5141\u8BB8\u51FA\u73B0\u4EA4\u53C9\u9762\uFF01</span>';return}if(Br.turf.lineIntersect(ge,U).features.length){fe=!1,m.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u4E0D\u5141\u8BB8\u51FA\u73B0\u4EA4\u53C9\u9762\uFF01</span>';break}}if(!fe)return;E.pop(),E.push(v),C=new f._cesium.PolygonHierarchy(E)}I||(I=f._viewer.entities.add({polyline:{positions:new Br.CallbackProperty(function(){return E.concat([E[0]])},!1),clampToGround:!0,width:3}}),f._points.push(I))}},f._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(k){var N=f._getPosition.getMousePosition(k);if(!!N){if(S){let me=f._cesium.Cartographic.fromCartesian(N);if(Q===void 0)Q=me.height;else if(T===void 0){if(T=me.height,T<Q){window.layuiLayer&&window.layuiLayer.msg("\u6700\u5927\u6DF9\u6CA1\u9AD8\u5EA6\u5C0F\u4E8E\u521D\u59CB\u6C34\u9762\u9AD8\u5EA6\uFF0C\u8BF7\u91CD\u65B0\u62FE\u53D6"),T=void 0,Q=void 0;return}L()}return}if(E.length==0&&(E.push(N.clone()),C=new f._cesium.PolygonHierarchy(E)),E.length>=2)if(R.length==0){var G=E[0],J=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(G),K=Br.Math.toDegrees(J.latitude),X=Br.Math.toDegrees(J.longitude),q=E[1],ee=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(q),ie=Br.Math.toDegrees(ee.latitude),H=Br.Math.toDegrees(ee.longitude),le=Br.turf.lineString([[X,K],[H,ie]]);R.push(le)}else{if(R.length>=2){for(var G=E[0],J=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(G),K=Br.Math.toDegrees(J.latitude),X=Br.Math.toDegrees(J.longitude),q=E[E.length-2],ee=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(q),ie=Br.Math.toDegrees(ee.latitude),H=Br.Math.toDegrees(ee.longitude),ue=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(N),Ae=Br.Math.toDegrees(ue.latitude),he=Br.Math.toDegrees(ue.longitude),ge=Br.turf.lineString([[X,K],[he,Ae]]),fe=Br.turf.lineString([[H,ie],[he,Ae]]),ae=!0,U=0;U<R.length&&R.length>=2;U++){var W=R[U];if(U==0){if(Br.turf.lineIntersect(fe,W).features.length){ae=!1,m.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u4E0D\u5141\u8BB8\u51FA\u73B0\u4EA4\u53C9\u9762\uFF01</span>';break}continue}if(U==R.length-1){if(Br.turf.lineIntersect(ge,W).features.length){ae=!1,m.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u4E0D\u5141\u8BB8\u51FA\u73B0\u4EA4\u53C9\u9762\uFF01</span>';break}continue}if(Br.turf.lineIntersect(ge,W).features.length){ae=!1,m.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u4E0D\u5141\u8BB8\u51FA\u73B0\u4EA4\u53C9\u9762\uFF01</span>';return}if(Br.turf.lineIntersect(fe,W).features.length){ae=!1,m.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u4E0D\u5141\u8BB8\u51FA\u73B0\u4EA4\u53C9\u9762\uFF01</span>';break}}if(!ae)return}var G=E[E.length-2],J=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(G),K=Br.Math.toDegrees(J.latitude),X=Br.Math.toDegrees(J.longitude),ee=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(N),ie=Br.Math.toDegrees(ee.latitude),H=Br.Math.toDegrees(ee.longitude),le=Br.turf.lineString([[X,K],[H,ie]]);R.push(le)}E.push(N),C=new f._cesium.PolygonHierarchy(E),o.rectangle&&(P?(M=f._core.toDegrees(N),E=[Br.Cartesian3.fromDegrees(P.lon,P.lat),Br.Cartesian3.fromDegrees(P.lon,M.lat),Br.Cartesian3.fromDegrees(M.lon,M.lat),Br.Cartesian3.fromDegrees(M.lon,P.lat)],C=new f._cesium.PolygonHierarchy(E),y.hierarchy=C,o.pointSelect?(Q=void 0,T=void 0,S=!0):L()):P=f._core.toDegrees(N));var Y=f._cesium.Cartographic.fromCartesian(E[E.length-1]),z=f._cesium.Math.toDegrees(Y.longitude),re=f._cesium.Math.toDegrees(Y.latitude),se=Y.height;x.push({lon:z,lat:re,hei:se});var de=f._viewer.entities.add({name:"\u591A\u8FB9\u5F62",position:N,point:{pixelSize:5,color:f._cesium.Color.RED.withAlpha(.5),outlineColor:f._cesium.Color.WHITE.withAlpha(.5),outlineWidth:1,heightReference:f._cesium.HeightReference.CLAMP_TO_GROUND}});f._tree.temporaryItem.obj.push(de),D.label.push(de),f._points.push(de)}},f._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(k){S||E.length<=3||(m.show(!1),E.pop(),C=new f._cesium.PolygonHierarchy(E),o.pointSelect?(Q=void 0,T=void 0,S=!0):L())},f._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=k=>{if(m.show(!1),f._core.mouse(f._viewer.container,0),f._tree.handler.destroy(),f._tree.endtemporaryItem(),f.end=void 0,k==="cancel"&&!this.waterTimer&&(f.item&&f._viewer.entities.remove(f.item),this._points.length>0)){for(var N=0;N<this._points.length;N++)this._viewer.entities.remove(this._points[N]);this._points=[]}};function L(){f.end();let k=w/20;f.waterTimer=setInterval(function(){if(Q<T&&(Q+=k,f.item._polygon.extrudedHeight.setValue(Q),Q>=T)){clearInterval(f.waterTimer),f.waterTimer=void 0,Q=T,f._viewer.entities.remove(f.item),f.polygon1=new f._cesium.PolygonGeometry({polygonHierarchy:new f._cesium.PolygonHierarchy(E),extrudedHeight:T,height:0,vertexFormat:f._cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT});var N=new f._cesium.Primitive({geometryInstances:new f._cesium.GeometryInstance({geometry:f.polygon1}),appearance:new Br.EllipsoidSurfaceAppearance({material:new Br.Material({fabric:{type:"Water",uniforms:{baseWaterColor:o.watherColor||Br.Color.SKYBLUE.withAlpha(.6),blendColor:o.watherColor||Br.Color.SKYBLUE.withAlpha(.6),normalMap:o.url,frequency:o.frequency||1e3,animationSpeed:o.watherSpeed||.01,amplitude:o.amplitude||10}}})}),show:!0}),G=f._viewer.scene,J=G.primitives.add(N);D.ployline.push(J),f.item=N,A!=""&&A!=null&&typeof A=="function"&&A(Q),!f._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(B=Ke.selectedItem.id);var K=f._core.getuid(),X={id:K,name:"\u65B0\u5EFA\u6DF9\u6CA1\u5206\u6790"+K,pId:f._core.isnull(B)?0:B,type:"polygon",item:f};f.setTreeobj(X),Ke.insertGroupId(X,f._core.isnull(B)?0:B)}},50)}var F=function(){function k(N){this.options={name:"\u591A\u8FB9\u5F62",polygon:{hierarchy:[],material:f._cesium.Color.SKYBLUE.withAlpha(.5),heightReference:f._cesium.HeightReference.NONE,extrudedHeight:0}},this.hierarchy=N,this._init()}return k.prototype._init=function(){var N=this,G=function(){return N.hierarchy};this.options.polygon.hierarchy=new f._cesium.CallbackProperty(G,!1);var J=f._viewer.entities.add(this.options);f.item=J,f._tree.temporaryItem.obj.push(J);try{o!=null&&o!=""&&(o.waterHeight>0&&(Q=o.waterHeight),o.targetHeight>0&&(T=o.targetHeight),o.spood>0&&(w=o.spood),o.GroupID!=""&&o.GroupID!=null&&(B=o.GroupID))}catch(K){console.log(K)}},k}();return this};_s.prototype.endWater=function(){this.end&&this.end(),this.waterTimer&&clearInterval(this.waterTimer),this._tree.endtemporaryItem(),this.deleteObject()};_s.prototype.executePolygonymsdtt=function(o,A){var f=0;this._tree.removeHandler();var m=this;this._tree.starttemporaryItem(this._viewer),this._tree.handler=new m._cesium.ScreenSpaceEventHandler(m._viewer.scene.canvas);var C=[],E={},x=[],y=null,I=null,v={mj:0,label:{}};this._tree.handler.setInputAction(function(Q){var T=m._viewer.camera.getPickRay(Q.endPosition);I=m._viewer.scene.globe.pick(T,m._viewer.scene),C.length>=2&&(m._cesium.defined(y)?(C.pop(),C.push(I),E=new m._cesium.PolygonHierarchy(C)):(y=new B(C),E=new m._cesium.PolygonHierarchy(C)))},m._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(Q){var T=m._viewer.camera.getPickRay(Q.position);I=m._viewer.scene.globe.pick(T,m._viewer.scene),C.length==0&&(C.push(I.clone()),E=new m._cesium.PolygonHierarchy(C)),C.push(I),E=new m._cesium.PolygonHierarchy(C);var w=m._cesium.Cartographic.fromCartesian(C[C.length-1]),S=m._cesium.Math.toDegrees(w.longitude),D=m._cesium.Math.toDegrees(w.latitude),R=w.height;x.push({lon:S,lat:D,hei:R});var P=m._viewer.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:C[C.length-1],point:{pixelSize:5,color:m._cesium.Color.RED.withAlpha(.5),outlineColor:m._cesium.Color.WHITE.withAlpha(.5),outlineWidth:2,heightReference:m._cesium.HeightReference.CLAMP_TO_GROUND}});m._tree.temporaryItem.obj.push(P),m._points.push(P)},m._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(Q){m._tree.handler.destroy();var T="\u5E73\u65B9\u5343\u7C73";f=T,v.mj=f,m._viewer.entities.remove(m.item),m.polygon1=new m._cesium.PolygonGeometry({polygonHierarchy:new m._cesium.PolygonHierarchy(C),extrudedHeight:0,height:0,vertexFormat:m._cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT});var w=new m._cesium.Primitive({geometryInstances:new m._cesium.GeometryInstance({geometry:m.polygon1}),appearance:new m._cesium.EllipsoidSurfaceAppearance({aboveGround:!0}),show:!0}),S=new m._cesium.Material({fabric:{type:"Water",uniforms:{normalMap:o.url,frequency:100,animationSpeed:.01,amplitude:10}}});w.appearance.material=S;var D=m._viewer.scene;m.polygon1=D.primitives.add(w),m._tree.endtemporaryItem(),C.pop(),E=new m._cesium.PolygonHierarchy(C)},m._cesium.ScreenSpaceEventType.RIGHT_CLICK);var B=function(){function Q(T){this.options={name:"\u591A\u8FB9\u5F62",polygon:{hierarchy:[],material:m._cesium.Color.SKYBLUE.withAlpha(.4),heightReference:m._cesium.HeightReference.NONE,extrudedHeight:0}},this.hierarchy=T,this._init()}return Q.prototype._init=function(){var T=this,w=function(){return T.hierarchy};this.options.polygon.hierarchy=new m._cesium.CallbackProperty(w,!1);var S=m._viewer.entities.add(this.options);m.item=S,m._tree.temporaryItem.obj.push(S);var D=0;!m._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(D=Ke.selectedItem.id);var R=m._core.getuid(),P={id:R,name:"\u65B0\u5EFA\u6C34\u9762"+R,pId:m._core.isnull(D)?0:D,type:"polyline",item:m};m.setTreeobj(P),Ke.insertGroupId(P,m._core.isnull(D)?0:D)},Q}();return this};_s.prototype.executePolygontdmj=function(o,A){this._lang=this._core.extend(this._lang,language._lang);var f=this;this._tree.starttemporaryItem(this._viewer),this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),this._tree.removeHandler();var m={mj:0,label:[],polygon:[]},C=!0,E=[],x={},y=void 0,I=this._viewer.scene,v=I.globe.ellipsoid,B,Q={point:f._cesium.Color.RED,polyline:f._cesium.Color.YELLOW,polygon:f._cesium.Color.YELLOW.withAlpha(.5)};Object.keys(A).length>0&&(A.point!=""&&A.point!=null&&(Q.point=A.point),A.polyline!=""&&A.polyline!=null&&(Q.polyline=A.polyline),A.polygon!=""&&A.polygon!=null&&(Q.polygon=A.polygon));var T=this._core.CreateTooltip();this._tree.handler=new f._cesium.ScreenSpaceEventHandler(I.canvas);var w=0;let S;this._tree.handler.setInputAction(function(N){E.length===0?T.showAt(N.endPosition,f._lang.draw_tip_left):E.length<=2?T.showAt(N.endPosition,f._lang.draw_tip_click):T.showAt(N.endPosition,f._lang.draw_tip_right),B&&(f._viewer.entities.remove(B),B=void 0);var G=f._getPosition.getMousePosition(N,[m.polygon,m.label]),J;if(!!G&&(J=f._cesium.Ellipsoid.WGS84.cartesianToCartographic(G),J&&C&&(E.pop(),E.push(G),E.length>=3))){var K=String(M(y.path.positions));K=K.substr(0,K.indexOf(".",0)),K.length<6?w=K+"\u5E73\u65B9\u7C73":(K=String(K/1e6),K=K.substr(0,K.indexOf(".",0)+3),w=K+"\u5E73\u65B9\u5343\u7C73"),m.mj=w,B=f._viewer.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:new Br.CallbackProperty(function(){let X=new Br.Cartesian3;return E.forEach(q=>{Br.Cartesian3.add(X,q,X)}),Br.Cartesian3.divideByScalar(X,E.length,new Br.Cartesian3)},!1),label:{text:w,font:"16px \u5B8B\u4F53",fillColor:Br.Color.GOLD,verticalOrigin:Br.VerticalOrigin.BOTTOM,pixelOffset:new Br.Cartesian2(20,-40),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY,distanceDisplayCondition:new Br.DistanceDisplayCondition(0,S*1.5),heightReference:f._cesium.HeightReference.CLAMP_TO_GROUND}}),f._tree.temporaryItem.obj.push(B),f._points.push(B),m.label=B}},f._cesium.ScreenSpaceEventType.MOUSE_MOVE);var D=0;let R;this._tree.handler.setInputAction(function(N){var G=f._getPosition.getMousePosition(N,[m.polygon,m.label]),J;if(D=1,G&&(!S&&(S=f._core.getPointToCameraDistance(f._viewer,G)),C&&(E.length||E.push(G.clone()),E.push(G),x=new f._cesium.PolygonHierarchy(E),B&&(f._viewer.entities.remove(B),B=void 0),E.length===2&&(R=f._viewer.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new Br.CallbackProperty(()=>E,!1),clampToGround:!0,material:Q.polygon,width:3}})),E.length>=3&&!f._cesium.defined(y)&&(R&&f._viewer.entities.remove(R),y=new k(x,f._cesium)),E.length>=3))){var K=String(M(y.path.positions));K=K.substr(0,K.indexOf(".",0)),K.length<6?w=K+"\u5E73\u65B9\u7C73":(K=String(K/1e6),K=K.substr(0,K.indexOf(".",0)+3),w=K+"\u5E73\u65B9\u5343\u7C73"),m.mj=w,B=f._viewer.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:new Br.CallbackProperty(function(){let X=new Br.Cartesian3;return E.forEach(q=>{Br.Cartesian3.add(X,q,X)}),Br.Cartesian3.divideByScalar(X,E.length,new Br.Cartesian3)},!1),label:{text:w,font:"16px \u5B8B\u4F53",fillColor:Br.Color.GOLD,verticalOrigin:Br.VerticalOrigin.BOTTOM,pixelOffset:new Br.Cartesian2(20,-40),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY,distanceDisplayCondition:new Br.DistanceDisplayCondition(0,S*1.5),heightReference:f._cesium.HeightReference.CLAMP_TO_GROUND}}),f._tree.temporaryItem.obj.push(B),f._points.push(B),m.label=B}},f._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(){f.end&&f.end()},f._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=function(N){if(f._tree.handler.removeInputAction(f._cesium.ScreenSpaceEventType.LEFT_CLICK),f._tree.handler.removeInputAction(f._cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK),f._cesium.trackedEntity=void 0,f.end=void 0,f._tree.endtemporaryItem(),C=!1,T.show(!1),f._tree.handler.destroy(),f._core.mouse(f._viewer.container,0,"0"),R&&f._viewer.entities.remove(R),N==="cancel"){f.deleteObject();return}E.length<3&&f.deleteObject(),o!=""&&o!=null&&typeof o=="function"&&o(m)};var P=function(N){for(var G=0,J=0,K=0,X=0;X<N.length;X++)G+=N[X].x,J+=N[X].y,K+=N[X].z;var q=new f._cesium.Cartesian3(G/N.length,J/N.length,K/N.length);return q},M=function(N){for(var G=new Array(N.length),J=0;J<N.length;J++)G[J]=L(v.cartesianToCartographic(N[J]));for(var K=0,J=0;J<G.length;J++)K+=G[J].longitude;K=K/G.length;for(var J=0;J<G.length;J++)G[J]=f._core.Gauss_to_XY(G[J].longitude,G[J].latitude,K,f._cesium);return Math.abs(F(G))},L=function(N){return N.longitude=N.longitude/Math.PI*180,N.latitude=N.latitude/Math.PI*180,N},F=function(N){for(var G=0,J=0;J<N.length;J++){var K=N[J],X;J<N.length-1?X=N[J+1]:X=N[0],G+=K.x*X.y-X.x*K.y}return G/2},k=function(){function N(G,J){if(!f._cesium.defined(G))throw new f._cesium.DeveloperError("positions is required!");if(G.length<3)throw new f._cesium.DeveloperError("positions \u7684\u957F\u5EA6\u5FC5\u987B\u5927\u4E8E\u7B49\u4E8E3");this.options={polygon:{show:!0,hierarchy:void 0,classificationType:f._cesium.ClassificationType.BOTH,material:Q.polygon}},this.path=G,this._init(J)}return N.prototype._init=function(G){var J=this,K=function(){return J.path};this.options.polygon.hierarchy=new f._cesium.CallbackProperty(K,!1),this.polygonEntity=f._viewer.entities.add(this.options),f.item=this.polygonEntity,f._tree.temporaryItem.obj.push(this.polygonEntity),m.polygon=this.polygonEntity,f._entity=this.polygonEntity},N}();return this};_s.prototype.surfaceArea=function(o={},A){this._lang=this._core.extend(this._lang,language._lang);var f=this;this._tree.removeHandler(),this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw);var m={mj:0,label:void 0,polygon:void 0},C=[],E=[],x={},y=void 0,I=this._viewer.scene,v={point:o.point||Br.Color.RED,polyline:o.polyline||Br.Color.YELLOW,polygon:o.polygon||Br.Color.YELLOW.withAlpha(.5)},B=this._core.CreateTooltip();this._tree.handler=new f._cesium.ScreenSpaceEventHandler(I.canvas);let Q=!1,T;this._tree.handler.setInputAction(D=>{if(C.length===0?B.showAt(D.endPosition,f._lang.draw_tip_left):C.length<=2?B.showAt(D.endPosition,f._lang.draw_tip_click):B.showAt(D.endPosition,f._lang.draw_tip_right),!Q)return;let R=this._getPosition.getMousePosition(D,[m.polygon,m.label]);R&&(C.pop(),C.push(R))},Br.ScreenSpaceEventType.MOUSE_MOVE);let w;this._tree.handler.setInputAction(D=>{Q=!0;let R=this._getPosition.getMousePosition(D,[m.polygon,m.label]);if(R){!T&&(T=f._core.getPointToCameraDistance(f._viewer,R)),C.length||C.push(R.clone()),C.push(R);let P=this._core.toDegrees(R);E.push([P.lon,P.lat,P.height]),x=new f._cesium.PolygonHierarchy(C),C.length===2&&(w=this._viewer.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new Br.CallbackProperty(()=>C,!1),clampToGround:!0,material:v.polygon,width:3}})),C.length>=3&&!Br.defined(y)&&(w&&this._viewer.entities.remove(w),y=new S(x))}},Br.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(()=>{f.end&&f.end()},Br.ScreenSpaceEventType.RIGHT_CLICK),this.end=D=>{if(this.end=void 0,Q=!1,B.show(!1),f._tree.handler.destroy(),f._core.mouse(f._viewer.container,0,"0"),w&&f._viewer.entities.remove(w),D==="cancel"){this.deleteObject();return}if(C.pop(),C.length<3&&this.deleteObject(),E.length>2){let R=Br.BoundingSphere.fromPoints(C),P=this._core.getSpaceArea(this._viewer,E,{onlyTerrain:o.onlyTerrain,distance:o.distance||R.radius/20}),M=L=>{let{area:F,tin:k}=L;m.mj=F;let N=new Br.Cartesian3;E.forEach(K=>{Br.Cartesian3.add(N,{x:K[0],y:K[1],z:K[2]},N)});let G=Br.Cartesian3.divideByScalar(N,E.length,new Br.Cartesian3),J=this._viewer.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:Br.Cartesian3.fromDegrees(G.x,G.y,G.z),label:{text:F,font:"16px \u5B8B\u4F53",fillColor:Br.Color.GOLD,verticalOrigin:Br.VerticalOrigin.BOTTOM,pixelOffset:new Br.Cartesian2(20,-40),showBackground:!0,distanceDisplayCondition:new Br.DistanceDisplayCondition(0,T*1.5),disableDepthTestDistance:Number.POSITIVE_INFINITY}});this._points.push(J),o.tin&&(this._viewer.entities.remove(m.polygon),k.features.forEach(K=>{if(K.positions){let X=this._viewer.entities.add({polygon:{hierarchy:new Br.PolygonHierarchy(K.positions),material:v.polygon,outline:!0,distanceDisplayCondition:new Br.DistanceDisplayCondition(0,T*1.5),outlineColor:Br.Color.YELLOW}});this._points.push(X)}})),m.label=J,A&&typeof A=="function"&&A(m)};o.onlyTerrain?P.then(L=>{M(L)}):M(P)}};var S=function(){function D(R){if(!Br.defined(R))throw new Br.DeveloperError("positions is required!");if(R.length<3)throw new Br.DeveloperError("positions \u7684\u957F\u5EA6\u5FC5\u987B\u5927\u4E8E\u7B49\u4E8E3");this.options={polygon:{show:!0,hierarchy:void 0,classificationType:Br.ClassificationType.BOTH,material:v.polygon}},this.path=R,this._init()}return D.prototype._init=function(){var R=this,P=function(){return R.path};this.options.polygon.hierarchy=new Br.CallbackProperty(P,!1),this.polygonEntity=f._viewer.entities.add(this.options),f.item=this.polygonEntity,f._tree.temporaryItem.obj.push(this.polygonEntity),m.polygon=this.polygonEntity,f._entity=this.polygonEntity},D}();return this};_s.prototype.setVisibility=function(o){if(this._points.length>0)for(var A=0;A<this._points.length;A++)this._points[A].show=o;this._lable&&(this._lable.show=o),this.item&&(this.item.show=o)};_s.prototype.getVisibility=function(){return this.item.show};_s.prototype.setRadius=function(o){try{for(var A=[],f=this.item._polygon.hierarchy.getValue(),m=this._viewer.scene.globe.ellipsoid,C=0;C<f.length;C++){var E=new this._cesium.Cartesian3(f[C].x,f[C].y,f[C].z),x=m.cartesianToCartographic(E),v=this._cesium.Math.toDegrees(x.latitude),B=this._cesium.Math.toDegrees(x.longitude);A.push(B),A.push(v)}var y=new this._cesium.Cartesian3(f[0].x,f[0].y,f[0].z),I=m.cartesianToCartographic(y),v=this._cesium.Math.toDegrees(I.latitude),B=this._cesium.Math.toDegrees(I.longitude);A.push(B),A.push(v),A=this._cesium.Cartesian3.fromDegreesArray(A),this.item.corridor=new this._cesium.CorridorGraphics({positions:A,width:o,material:this._cesium.Color.RED.withAlpha(.4)})}catch(Q){console.log(Q)}return this};_s.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show._value,A=this.item.polygon.hierarchy.getValue(),f=this.item.polygon.height==null?void 0:this.item.polygon.height._value,m=this.item.polygon.extrudedHeight==null?void 0:this.item.polygon.extrudedHeight._value,C=this.item.polygon.stRotation==null?void 0:this.item.polygon.stRotation._value,E=this.item.polygon.fill==null?void 0:this.item.polygon.fill._value,x=this.item.polygon.material;x!=null&&(x={color:x.color==null?void 0:"rgba("+x.color._value.red+","+x.color._value.green+","+x.color._value.blue+","+x.color._value.alpha+")",image:x.image==null?void 0:x.image._value,diffusemap:x.diffusemap==null?void 0:x.diffusemap._value,alphamap:x.alphamap==null?void 0:x.alphamap._value});var y=this.item.polygon.outline==null?void 0:this.item.polygon.outline._value,I=this.item.polygon.outlineColor==null?void 0:"rgba("+this.item.polygon.outlineColor._value.red+","+this.item.polygon.outlineColor._value.green+","+this.item.polygon.outlineColor._value.blue+","+this.item.polygon.outlineColor._value.alpha+")",v=this.item.polygon.outlineWidth==null?void 0:this.item.polygon.outlineWidth._value,B=this.item.polygon.perPositionHeight==null?void 0:this.item.polygon.perPositionHeight._value,Q=this.item.polygon.closeTop==null?void 0:this.item.polygon.closeTop._value,T=this.item.polygon.closeBottom==null?void 0:this.item.polygon.closeBottom._value,w=this.item.polygon.distanceDisplayCondition,S=w?._value.near,D=w?._value.far;return{type:"polygon",treeobj:{id:this.treeobj.id,name:this.treeobj.name,pId:this.treeobj.pId,type:this.treeobj.type},style:{show:o,hierarchy:A,height:f,extrudedHeight:m,stRotation:C,fill:E,material:x,outline:y,outlineColor:I,outlineWidth:v,perPositionHeight:B,closeTop:Q,closeBottom:T,near:S,far:D}}};_s.prototype.setTreeobj=function(o){this.treeobj=o};_s.prototype.setDistanceDisplayCondition=function(o,A){var f=new this._cesium.DistanceDisplayCondition(o,A);try{this.item._polygon.distanceDisplayCondition=f}catch(m){console.log(m)}return this};_s.prototype.setPolygonAlpha=function(o){try{this.item._polygon.material.color._value.alpha=o}catch(A){console.log(A)}return this};_s.prototype.setPolygonColor=function(o){try{this.item._polygon.material.color=new In(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};_s.prototype.setDistanceDisplayCondition=function(o,A){var f=new this._cesium.DistanceDisplayCondition(o,A);try{this.item._polygon.distanceDisplayCondition=f}catch(m){console.log(m)}return this};_s.prototype.setPolygonImage=function(o){try{this.item._polygon.material=new this._cesium.ImageMaterialProperty({image:o})}catch(A){console.log(A)}return this};_s.prototype.setPolygonRepeat=function(o,A){try{this.item._polygon.material.repeat=new this._cesium.Cartesian2(o,A)}catch(f){console.log(f)}return this};_s.prototype.setOutlineColor=function(o){try{this.item._polygon.outlineColor=new In(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};_s.prototype.setOutline=function(o){try{this.item._polygon.outline=o}catch(A){console.log(A)}return this};_s.prototype.setExtrudedHeight=function(o){try{this.item._polygon.extrudedHeight=o}catch(A){console.log(A)}return this};_s.prototype.setHeight=function(o){try{this.item._polygon.height=o}catch(A){console.log(A)}return this};_s.prototype.setHeightType=function(o){try{o==1?this.item._polygon.heightReference=this._cesium.HeightReference.CLAMP_TO_GROUND:o==2?this.item._polygon.heightReference=this._cesium.HeightReference.NONE:o==3&&(this.item._polygon.heightReference=this._cesium.HeightReference.RELATIVE_TO_GROUND)}catch(A){console.log(A)}return this};Object.defineProperties(_s.prototype,{rectangle:{get:function(){return this.item.rectangle},set:function(o){this.item.rectangle=o}}});Object.defineProperties(_s.prototype,{HighLight:{set:function(o){o&&(this.item.material=this.item.polygon.material),o?this.item.polygon.material=new In(this._viewer,this._cesium).colorFromHtmlColor(this._core.selectedColor):this.item.polygon.material=this.item.material}},polygonShow:{set:bi.debounce(function(o){this.item.polygon.show=o},500),get:function(){return this.item.polygon.b}},polygonHeight:{set:bi.debounce(function(o){this._core.isnull(o)||(/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,"")),this.item.polygon.height=o)},500),get:function(){var o=this.item.polygon.height;if(o)return o._value}},polygonHeightReference:{set:bi.debounce(function(o){this._core.isnull(o)||(this.item.polygon.heightReference=o)},500),get:function(){var o=this.item.polygon.heightReference;if(o)return o._value}},polygonExtrudedHeight:{set:bi.debounce(function(o){this._core.isnull(o)||(/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,"")),this.item.polygon.extrudedHeight=o)},500),get:function(){var o=this.item.polygon.extrudedHeight;if(o)return o._value}},polygonExtrudedHeightReference:{set:bi.debounce(function(o){this._core.isnull(o)||(this.item.polygon.extrudedHeightReference=o)},500),get:function(){var o=this.item.polygon.extrudedHeightReference;if(o)return o._value}},polygonFill:{set:bi.debounce(function(o){this.item.polygon.fill=o},500),get:function(){var o=this.item.polygon.fill;if(o)return o._value}},polygonMaterial:{set:bi.debounce(function(o){this._core.isnull(o)||(this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._Color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._Color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._Color.createColor(o.r,o.g,o.b,o.a))),this.item.polygon.material=o,this.item.material=this.item.polygon.material)},500),get:function(){var o=this.item.polygon.material;try{return this._Color.toHtmlColor("rgb("+o._value.red*255+","+o._value.green*255+","+o._value.blue*255+","+o._value.alpha*255+")")}catch{}}},polygonMaterialAlpha:{set:bi.debounce(function(o){this._core.isnull(o)||(this.item.polygon.material.color.alpha=o)},500),get:function(){this.item.polygon.material;try{return this.item.polygon.material.color.alpha}catch{}}},polygonOutline:{set:bi.debounce(function(o){this._core.isnull(o)||(this.item.polygon.outline=o)},500),get:function(){var o=this.item.polygon.outline;if(o)return o._value}},polygonOutlineColor:{set:bi.debounce(function(o){this._core.isnull(o)||(this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._Color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._Color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._Color.createColor(o.r,o.g,o.b,o.a))),this.item.polygon.outlineColor=o)},500),get:function(){var o=this.item.polygon.outlineColor;return this._Color.toHtmlColor("rgb("+o._value.red*255+","+o._value.green*255+","+o._value.blue*255+","+o._value.alpha*255+")")}},polygonOutlineWidth:{set:bi.debounce(function(o){this._core.isnull(o)||(/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,"")),this.item.polygon.outlineWidth=o)},500),get:function(){var o=this.item.polygon.outlineWidth;if(o)return o._value}}});_s.prototype.setItem=function(o){this.item=o};Object.defineProperties(_s.prototype,{polyline:{get:function(){return this.item.polyline},set:function(o){this.item.polyline=o}}});Object.defineProperties(_s.prototype,{polygon:{get:function(){return this.item.polygon},set:function(o){this.item.polygon=o}}});Object.defineProperties(_s.prototype,{point:{get:function(){return this.item.point},set:function(o){this.item.point=o}}});Object.defineProperties(_s.prototype,{label:{get:function(){return this.item.label},set:function(o){this.item.label=o}}});Object.defineProperties(_s.prototype,{model:{get:function(){return this.item.model},set:function(o){this.item.model=o}}});Object.defineProperties(_s.prototype,{wall:{get:function(){return this.item.wall},set:function(o){this.item.wall=o}}});Object.defineProperties(_s.prototype,{polygonTempOptions:{get:function(){return{height:0,extrudedHeight:0,show:!0,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,stRotation:1,granularity:this._cesium.Math.RADIANS_PER_DEGREE,perPositionHeight:!1,closeTop:!0,closeBottom:!0,shadows:ShadowMode.DISABLED,classificationType:ClassificationType.BOTH,arcType:ArcType.GEODESIC}}}});Object.defineProperties(_s.prototype,{Visibility:{get:function(){return this.item.show}},PolygonColor:{get:function(){var o=this.item._polygon.material.color._value;if(o)return new In(this._viewer,this._cesium).toHtmlColor("rgb("+o.red*255+","+o.green*255+","+o.blue*255+")")}},PolygonAlpha:{get:function(){if(this.item._polygon.material.color)return this.item._polygon.material.color._value.alpha||1}},Outline:{get:function(){if(this.item._polygon.outline)return this.item._polygon.outline._value}},OutlineColor:{get:function(){var o=this.item._polygon.outlineColor;if(this.item._polygon.outlineColor)return o=o._value,new In(this._viewer,this._cesium).toHtmlColor("rgb("+o.red*255+","+o.green*255+","+o.blue*255+")")}},ExtrudedHeight:{get:function(){if(this.item._polygon.extrudedHeight)return this.item._polygon.extrudedHeight._value}},Height:{get:function(){return this.item._polygon.height}},PolygonImage:{get:function(){if(this.item._polygon.material.uniforms)return this.item._polygon.material.uniforms.image}},PolygonRepeat:{get:function(){if(this.item._polygon.material.uniforms)return this.item._polygon.material.repeat}}});_s.prototype.forceEndHanlder=function(){this._tree.handler&&(this._tree.handler.destroy(),this._tree.handler=void 0)};var Fg=_s;function TPi(o,A,f,m){var C=0,E=6378137,x=Math.PI;function y(G){return G*x/180}var I=y((o+f)/2),v=y((o-f)/2),B=y((A-m)/2),Q=Math.sin(v),T=Math.sin(B),w=Math.sin(I),S,D,R,P,M,L,F,k=E,N=1/298.257;return Q=Q*Q,T=T*T,w=w*w,S=Q*(1-T)+(1-w)*T,D=(1-Q)*(1-T)+w*T,R=Math.atan(Math.sqrt(S/D)),P=Math.sqrt(S*D)/R,M=2*R*k,L=(3*P-1)/2/D,F=(3*P+1)/2/S,C=M*(1+N*(L*w*(1-Q)-F*(1-w)*Q)),C}var pd=TPi;var Er=null;function Ca(o,A){Er=A,this._viewer=o,this._cesium=A,this._Color=new In(this._viewer,this._cesium),this._core=new $i(o,A),this._getPosition=new kl(this._viewer,this._cesium),this._tree=Ke,this._points=[],this._polylines=[],this._lang={draw_tip_left:"\u5DE6\u952E\u5F00\u59CB\u7ED8\u5236\uFF01",draw_tip_right:"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236\uFF01",draw_tip_click:"\u70B9\u51FB\u7EE7\u7EED\u7ED8\u5236\uFF01",draw_tip_cancel:"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF0C\u53F3\u952E\u53D6\u6D88\uFF01",unit_m:"\u7C73",unit_km:"\u5343\u7C73"}}Ca.prototype.createPolyline=function(o,A,f,m,C){var E=[];if(Array.isArray(o)){if(!o[0].x&&!o[0].y){if(o[0].length===2)for(var x=0;x<o.length;x++)E.push(this._cesium.Cartesian3.fromDegrees(o[x][0],o[x][1]));else if(o[0].length===3)for(var x=0;x<o.length;x++)E.push(this._cesium.Cartesian3.fromDegrees(o[x][0],o[x][1],o[x][2]))}else if(o[0].z!==void 0)for(var x=0;x<o.length;x++)E.push(this._cesium.Cartesian3.fromDegrees(o[x].x,o[x].y,o[x].z));else for(var x=0;x<o.length;x++)E.push(this._cesium.Cartesian3.fromDegrees(o[x].x,o[x].y));var y=!0;f===2&&(y=!1),this.item=this._viewer.entities.add({polyline:{positions:E,width:10,material:new this._cesium.PolylineGlowMaterialProperty({outlineColor:this._cesium.Color.BLACK,color:new In(this._viewer,this._cesium).colorFromHtmlColor(A)}),clampToGround:y}})}else if(typeof o=="object"){let v=this._core.defaultValue(o.alpha,.6);o.points.forEach(B=>{E.push(Er.Cartesian3.fromDegrees(B.x,B.y,B.z))}),this.item=this._viewer.entities.add({id:o.id,polyline:{positions:E,width:o.width||4,material:Er.Color.fromCssColorString(o.color||"#f00").withAlpha(v),clampToGround:o.clampToGround}}),this.item.objectType="polyline"}var I={id:this.item.id,name:C,pId:this._core.isnull(m)?0:m,type:"polyline",item:this};return this.setTreeobj(I),this._tree.insertGroupId(I,this._core.isnull(m)?0:m),this};Ca.prototype.getstyles=function(){var o={};return o.show=this.item.polyline.show?this.item.polyline.show.getValue():!0,o.positions=this.item.polyline.positions.getValue().toString(),o.width=this.item.polyline.width.toString(),o.granularity=this.item.polyline.granularity?this.item.polyline.granularity.toString():null,o.material={},o.material.color=this.item.polyline.material&&this.item.polyline.material.color&&this.item.polyline.material.color._value?"rgba"+this.item.polyline.material.color.toString():null,o.material.outlineColor=this.item.polyline.material.outlineColor&&this.item.polyline.material.outlineColor._value?"rgba"+this.item.polyline.material.outlineColor.toString():null,o.material.outlineWidth=this.item.polyline.material.outlineWidth&&this.item.polyline.material.outlineWidth._value?this.item.polyline.material.outlineWidth.toString():null,o.classificationType=this.item.polyline.classificationType?this.item.polyline.classificationType.toString():null,o.near=this.item.polyline.distanceDisplayCondition?this.item.polyline.distanceDisplayCondition._value.near:null,o.far=this.item.polyline.distanceDisplayCondition?this.item.polyline.distanceDisplayCondition._value.far:null,o};Ca.prototype.createLink=function(o,A,f){!f&&(f={});var m=[],C=[];if(o.lon&&o.lat?o.height!==void 0?(m.push(this._cesium.Cartesian3.fromDegrees(o.lon,o.lat,o.height)),m.push(this._cesium.Cartesian3.fromDegrees(A.lon,A.lat,A.height)),C.push({x:o.lon,y:o.lat,z:o.height},{x:A.lon,y:A.lat,z:A.height})):(m.push(this._cesium.Cartesian3.fromDegrees(o.lon,o.lat)),m.push(this._cesium.Cartesian3.fromDegrees(A.lon,A.lat)),C.push({x:o.lon,y:o.lat,z:0},{x:A.lon,y:A.lat,z:0})):o.x&&o.y?o.z!==void 0?(m.push(this._cesium.Cartesian3.fromDegrees(o.x,o.y,o.z)),m.push(this._cesium.Cartesian3.fromDegrees(A.x,A.y,A.z)),C.push(o,A)):(m.push(this._cesium.Cartesian3.fromDegrees(o.x,o.y)),m.push(this._cesium.Cartesian3.fromDegrees(A.x,A.y)),o.z=0,A.z=0,C.push(o,A)):o.length===2?(m.push(this._cesium.Cartesian3.fromDegrees(o[0],o[1])),m.push(this._cesium.Cartesian3.fromDegrees(A[0],A[1])),C.push({x:o[0],y:o[1],z:0},{x:A[0],y:A[1],z:0})):o.length===3&&(m.push(this._cesium.Cartesian3.fromDegrees(o[0],o[1],o[2])),m.push(this._cesium.Cartesian3.fromDegrees(A[0],A[1],A[2])),C.push({x:o[0],y:o[1],z:o[2]},{x:A[0],y:A[1],z:A[2]})),f.lineType===1?f.material=new this._cesium.PolylineDashMaterialProperty({color:this._core.defaultValue(f.lineColor&&this._cesium.Color.fromCssColorString(f.lineColor),this._cesium.Color.AQUAMARINE)}):f.lineType===2?f.material=new this._cesium.PolylineGlowMaterialProperty({glowPower:.3,color:this._core.defaultValue(f.lineColor&&this._cesium.Color.fromCssColorString(f.lineColor),this._cesium.Color.BLUE)}):f.material=this._core.defaultValue(f.lineColor&&this._cesium.Color.fromCssColorString(f.lineColor),this._cesium.Color.AQUAMARINE),f.cylinder){var E=C[1].z-C[0].z,x=Er.Cartesian3.fromDegrees(C[0].x,C[0].y,0),y=Er.Cartesian3.fromDegrees(C[1].x,C[0].y,0),I=this._core.getSpaceDistancem([x,y],this._cesium),v=E===0?Math.PI/2:Math.atan(I/E),B=this._core.getSpaceDistancem(m,this._cesium),Q=Er.Cartesian3.fromDegrees(C[0].x,C[1].y,0);I=this._core.getSpaceDistancem([x,Q],this._cesium);var T=Math.asin(I/B);C[0].x>C[1].x&&C[0].y>C[1].y?T=E<0?-T:T:C[0].x>C[1].x&&C[0].y<C[1].y?T=E>=0?-T:T:C[0].x<C[1].x&&C[0].y<=C[1].y?(v=E!==0?-v:v,T=E>0?-T:T):C[0].x<C[1].x&&C[0].y>C[1].y&&(T=E<0?-T:T,v=-v);var w=new Er.HeadingPitchRoll(0,v,T)}var S=m[0];this.item=this._viewer.entities.add({position:new this._cesium.CallbackProperty(function(){return S},!1),orientation:f.cylinder?new this._cesium.CallbackProperty(function(){return Er.Transforms.headingPitchRollQuaternion(S,w)},!1):void 0,polyline:{positions:m,width:this._core.defaultValue(f.width,2),material:f.material,clampToGround:!1},cylinder:f.cylinder?{length:this._core.defaultValue(f.length,20),topRadius:this._core.defaultValue(f.size,8),bottomRadius:this._core.defaultValue(f.size,8),material:this._core.defaultValue(f.pointColor&&this._cesium.Color.fromCssColorString(f.pointColor),this._cesium.Color.RED)}:void 0,point:f.cylinder?void 0:{color:this._core.defaultValue(f.pointColor&&this._cesium.Color.fromCssColorString(f.pointColor),this._cesium.Color.RED),outlineColor:this._core.defaultValue(f.outlineColor&&this._cesium.Color.fromCssColorString(f.outlineColor),this._cesium.Color.YELLOW),outlineWidth:this._core.defaultValue(f.outlineWidth,2),pixelSize:this._core.defaultValue(f.size,8)}});var D=this._core.defaultValue(f.num,200),R=this._cesium.Math.lerp(C[0].x,C[1].x,1/D)-C[0].x,P=this._cesium.Math.lerp(C[0].y,C[1].y,1/D)-C[0].y,M=this._cesium.Math.lerp(C[0].z,C[1].z,1/D)-C[0].z,L=[];L.push(m[0]);for(let G=0;G<D;G++){let J=C[0].x+(G+1)*R,K=C[0].y+(G+1)*P,X=C[0].z+(G+1)*M;L.push(this._cesium.Cartesian3.fromDegrees(J,K,X))}L.push(m[1]);var F=this._core.defaultValue(f.speed,1),k=0;this._viewer.clock.onTick.addEventListener(function(){k+=F,k=parseInt(k),(k>=L.length-1&&F>0||k<=0&&F<0)&&(F=-F),S=L[k]});var N={id:this.item.id,name:"\u65B0\u5EFA\u94FE\u8DEF",pId:0,type:"polyline",item:this};return this.setTreeobj(N),this._tree.insertGroupId(N,0),this};Ca.prototype.createLinkPros=function(o){this._lang=this._core.extend(this._lang,language._lang);var E=this;this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),this._tree.removeHandler(),this._tree.starttemporaryItem(this._viewer),this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);var A=[],f=null,m="0\u7C73",C=null,E=this,x,y="",I,v=this._core.CreateTooltip(),B={name:"",spot:[],distance:[],label:[],ployline:[]},Q={point:E._cesium.Color.RED,polyline:E._cesium.Color.BLUE};this._tree.handler.setInputAction(function(w){C=E._getPosition.getMousePosition(w),C&&(A.length===0?v.showAt(w.endPosition,E._lang.draw_tip_left):v.showAt(w.endPosition,E._lang.draw_tip_right),A.length>=2&&(E._cesium.defined(f)?(A.length>E._points.length&&A.pop(),A.push(C)):f=new T(A)))},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(w){var S=E._viewer.camera.getPickRay(w.position);if(C=E._getPosition.getMousePosition(w),!!C){A.length==0?A.push(C,C):A.length>E._points.length?(A.pop(),A.push(C)):A.push(C,C),A.length>=2&&(E._cesium.defined(f)||(f=new T(A)),m=E._core.getSpaceDistance(A,E._cesium)),I&&(E._viewer.entities.remove(I),I=void 0);var D=m;y="\u603B\u957F\uFF1A"+m,B.spot.push(C),B.distance.push(m)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(w){E.end&&E.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=w=>{if(v.show(!1),E._tree&&E._tree.handler.destroy(),E._core.mouse(E._viewer.container,0,"0"),E.end=void 0,!!f){var S={width:4,lineColor:"#0000ff"},D=f.positions;E._tree&&E._tree.endtemporaryItem(),I&&(E._viewer.entities.remove(I),I=void 0,A.pop()),E._points[E._points.length-1]&&(E._points[E._points.length-1].label.text=y),E._viewer.entities.remove(E.item),!(w==="cancel"||A.length<2)&&(E.item=E._viewer.entities.add({name:"\u65B0\u5EFA\u94FE\u8DEF",polyline:{positions:D,width:E._core.defaultValue(S.width,2),material:E._core.getLinkMaterial(S.lineColor,S.pointColor,S.time),clampToGround:!0}}),o&&o(E.item))}};var T=function(){function w(S){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:Q.polyline,width:3,clampToGround:!0}},this.positions=S,this._init()}return w.prototype._init=function(){var S=this,D=function(){return S.positions};this.options.polyline.positions=new E._cesium.CallbackProperty(D,!1);var R=E._viewer.entities.add(this.options);E.item=R,E._tree.temporaryItem.obj.push(R),B.ployline.push(R);var P=E._core.getuid();B.name="\u65B0\u5EFA\u7A7A\u95F4\u8DDD\u79BB"+P},w}();return this};Ca.prototype.createLandingLine=function(o,A={}){var f=[];if(o.lon&&o.lat)f.push(Er.Cartesian3.fromDegrees(o.lon,o.lat,o.height)),f.push(Er.Cartesian3.fromDegrees(o.lon,o.lat,0));else if(Array.isArray(o))f.push(Er.Cartesian3.fromDegrees(o[0],o[1],o[2])),f.push(Er.Cartesian3.fromDegrees(o[0],o[1],0));else if(o instanceof Er.Cartesian3){f.push(o);let C=this._core.toDegrees(o);f.push(Er.Cartesian3.fromDegrees(C.lon,C.lat,0))}this.item=this._viewer.entities.add({name:"\u65B0\u5EFA\u63A5\u5730\u7EBF",polyline:{positions:new Er.CallbackProperty(function(){return f},!1),width:this._core.defaultValue(A.width,2),material:Er.Color.fromCssColorString(A.color||"#fff")}}),this.positions={get value(){return f},set value(C){f[0]=C;let E=Er.Cartographic.fromCartesian(C);E.height=0,f[1]=Er.Cartographic.toCartesian(E)}};var m={id:this.item.id,name:"\u65B0\u5EFA\u63A5\u5730\u7EBF",pId:0,type:"polyline",item:this};return this.setTreeobj(m),this._tree.insertGroupId(m,0),this};Ca.prototype.createLinkPro=function(o,A,f){!f&&(f={});var m=[],C=[];o.lon&&o.lat?o.height!==void 0?(m.push(this._cesium.Cartesian3.fromDegrees(o.lon,o.lat,o.height)),m.push(this._cesium.Cartesian3.fromDegrees(A.lon,A.lat,A.height)),C.push({x:o.lon,y:o.lat,z:o.height},{x:A.lon,y:A.lat,z:A.height})):(m.push(this._cesium.Cartesian3.fromDegrees(o.lon,o.lat)),m.push(this._cesium.Cartesian3.fromDegrees(A.lon,A.lat)),C.push({x:o.lon,y:o.lat,z:0},{x:A.lon,y:A.lat,z:0})):o.x&&o.y?o.z!==void 0?(m.push(this._cesium.Cartesian3.fromDegrees(o.x,o.y,o.z)),m.push(this._cesium.Cartesian3.fromDegrees(A.x,A.y,A.z)),C.push(o,A)):(m.push(this._cesium.Cartesian3.fromDegrees(o.x,o.y)),m.push(this._cesium.Cartesian3.fromDegrees(A.x,A.y)),o.z=0,A.z=0,C.push(o,A)):o.length===2?(m.push(this._cesium.Cartesian3.fromDegrees(o[0],o[1])),m.push(this._cesium.Cartesian3.fromDegrees(A[0],A[1])),C.push({x:o[0],y:o[1],z:0},{x:A[0],y:A[1],z:0})):o.length===3&&(m.push(this._cesium.Cartesian3.fromDegrees(o[0],o[1],o[2])),m.push(this._cesium.Cartesian3.fromDegrees(A[0],A[1],A[2])),C.push({x:o[0],y:o[1],z:o[2]},{x:A[0],y:A[1],z:A[2]})),this.item=this._viewer.entities.add({name:"\u65B0\u5EFA\u94FE\u8DEF",polyline:{positions:m,width:this._core.defaultValue(f.width,2),material:this._core.getLinkMaterial(f.lineColor,f.pointColor,f.time),clampToGround:f.clampToGround}});var E={id:this.item.id,name:"\u65B0\u5EFA\u94FE\u8DEF",pId:0,type:"polyline",item:this};return this.setTreeobj(E),this._tree.insertGroupId(E,0),this};Ca.prototype.executePolyline=function(o,A){this._lang=this._core.extend(this._lang,language._lang);var f={},m=this,C=function(){function v(B){this.options={polyline:{show:!0,positions:[],material:new m._cesium.PolylineOutlineMaterialProperty({color:m._core.defaultValue(o.color,m._cesium.Color.YELLOW)}),clampToGround:m._core.defaultValue(o.clampToGround,!0),width:m._core.defaultValue(o.width,3)}},this.positions=B,this._init()}return v.prototype._init=function(){var B=this,Q=function(){return B.positions};this.options.polyline.positions=new m._cesium.CallbackProperty(Q,!1),this.polyline=m._viewer.entities.add(this.options),m.item=this.polyline},v}(),E=new m._cesium.ScreenSpaceEventHandler(m._viewer.scene.canvas),x=[],y=void 0,I=this._core.CreateTooltip();return this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),E.setInputAction(function(v){var B=m._getPosition.getMousePosition(v);x.length==0&&x.push(B.clone()),x.push(B)},this._cesium.ScreenSpaceEventType.LEFT_CLICK),E.setInputAction(function(v){x.length===0?I.showAt(v.endPosition,m._lang.draw_tip_left):I.showAt(v.endPosition,m._lang.draw_tip_right);var B=m._getPosition.getMousePosition(v);x.length>=2&&(m._cesium.defined(y)?B!=null&&(x.pop(),B.y+=1+Math.random(),x.push(B)):y=new C(x))},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),E.setInputAction(function(v){I.show(!1);var B={polyline:{},positions:[],positionsp:[],distance:[]};B.setDistance=function(){alert("qq")},E.destroy(),B.polyline=y;for(var Q=[],T=0;T<x.length;T++){var w=m._cesium.Cartographic.fromCartesian(x[T]),S=m._cesium.Math.toDegrees(w.longitude),D=m._cesium.Math.toDegrees(w.latitude),R=w.height;Q.push({lon:S,lat:D,hei:R})}B.positions=Q;for(var P=1;P<x.length;P++)B.distance[P-1]=pd(x[P-1].y,x[P-1].x,x[P].y,x[P].x);B.positionsp=x,m._core.mouse(m._viewer.container,0,"0"),typeof A=="function"&&A(B)},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this};Ca.prototype.executePolyline1=function(o,A){this._lang=this._core.extend(this._lang,language._lang);let f;(typeof o=="object"||typeof A=="function")&&(f=A,A=o,o=f),f=null;var y=this;this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),this._tree.removeHandler(),this._tree.starttemporaryItem(this._viewer),this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);var m=[],C=null,E="0\u7C73",x=null,y=this,I,v="",B,Q=this._core.CreateTooltip(),T={name:"",spot:[],distance:[],label:[],ployline:[]},w={point:y._cesium.Color.RED,polyline:y._cesium.Color.YELLOW};Object.keys(A).length>0&&(A.point!=""&&A.point!=null&&(w.point=A.point),A.polyline!=""&&A.polyline!=null&&(w.polyline=A.polyline));let S;this._tree.handler.setInputAction(function(R){x=y._getPosition.getMousePosition(R),x&&(m.length===0?Q.showAt(R.endPosition,y._lang.draw_tip_left):Q.showAt(R.endPosition,y._lang.draw_tip_right),m.length>=2&&(y._cesium.defined(C)?(m.length>y._points.length&&m.pop(),m.push(x)):C=new D(m),E=y._core.getSpaceDistance(m,y._cesium)),B&&(y._viewer.entities.remove(B),B=void 0),B=y._viewer.entities.add({name:"\u7A7A\u95F4\u76F4\u7EBF\u8DDD\u79BB",position:m[m.length-1],label:{text:"\u603B\u957F\uFF1A"+E,font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,pixelOffset:new Er.Cartesian2(20,-20),distanceDisplayCondition:new Er.DistanceDisplayCondition(0,S*1.5),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),y._tree.temporaryItem.obj.push(B))},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(R){var P=y._viewer.camera.getPickRay(R.position);if(x=y._getPosition.getMousePosition(R),!!x){!S&&(S=y._core.getPointToCameraDistance(y._viewer,x)),m.length==0?m.push(x,x):m.length>y._points.length?(m.pop(),m.push(x)):m.push(x,x),m.length>=2&&(y._cesium.defined(C)||(C=new D(m)),E=y._core.getSpaceDistance(m,y._cesium)),B&&(y._viewer.entities.remove(B),B=void 0);var M=E;v="\u603B\u957F\uFF1A"+E,I=y._viewer.entities.add({name:"\u7A7A\u95F4\u76F4\u7EBF\u8DDD\u79BB",position:m[m.length-1],point:{pixelSize:5,color:w.point.withAlpha(.5),outlineColor:y._cesium.Color.WHITE.withAlpha(.5),distanceDisplayCondition:new Er.DistanceDisplayCondition(0,S*1.5),outlineWidth:2,clampToGround:!0},label:{text:M,font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,pixelOffset:new Er.Cartesian2(20,-20),distanceDisplayCondition:new Er.DistanceDisplayCondition(0,S*1.5),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),y._tree.temporaryItem.obj.push(I),y._points.push(I),T.spot.push(x),T.distance.push(E),T.label.push(I)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(R){y.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=function(R){if(Q.show(!1),y._tree&&y._tree.endtemporaryItem(),y.end=void 0,B&&(y._viewer.entities.remove(B),B=void 0,m.pop()),y._points[y._points.length-1]&&(y._points[y._points.length-1].label.text=v),y._tree&&y._tree.handler.destroy(),y._core.mouse(y._viewer.container,0,"0"),R==="cancel"){y.deleteObject();return}m.length<2&&y.deleteObject(),o!=""&&o!=null&&typeof o=="function"&&o(T)};var D=function(){function R(P){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:w.polyline,distanceDisplayCondition:new Er.DistanceDisplayCondition(0,S*1.5),width:3,clampToGround:!1}},this.positions=P,this._init()}return R.prototype._init=function(){var P=this,M=function(){return P.positions};this.options.polyline.positions=new y._cesium.CallbackProperty(M,!1);var L=y._viewer.entities.add(this.options);y.item=L,y._tree.temporaryItem.obj.push(L),T.ployline.push(L);var F=y._core.getuid();T.name="\u65B0\u5EFA\u7A7A\u95F4\u8DDD\u79BB"+F},R}();return this};Ca.prototype.spaceDistance=Ca.prototype.executePolyline1;Ca.prototype.executeHorizontal=function(o,A){this._lang=this._core.extend(this._lang,language._lang);var x=this;this._tree.removeHandler(),this._tree.starttemporaryItem(this._viewer),this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);var f=[],m=null,C="0\u7C73",E=null,x=this,y,I=[],v="",B,Q=this._core.CreateTooltip(),T={spot:[],distance:[],label:[],ployline:[]},w={point:x._cesium.Color.RED,polyline:x._cesium.Color.YELLOW};Object.keys(A).length>0&&(A.point!=""&&A.point!=null&&(w.point=A.point),A.polyline!=""&&A.polyline!=null&&(w.polyline=A.polyline));let S;this._tree.handler.setInputAction(function(P){E=x._getPosition.getMousePosition(P),E&&(f.length===0?Q.showAt(P.endPosition,x._lang.draw_tip_left):Q.showAt(P.endPosition,x._lang.draw_tip_right),f.length>=2&&(x._cesium.defined(m)?(f.pop(),f.push(E)):m=new R(f),C=x._core.getSpaceDistance(f,x._cesium)),x._viewer.entities.remove(B),B=x._viewer.entities.add({name:"\u7A7A\u95F4\u76F4\u7EBF\u8DDD\u79BB",position:f[f.length-1],label:{text:"\u603B\u957F\uFF1A"+C,font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,pixelOffset:new Er.Cartesian2(20,-20),showBackground:!0,distanceDisplayCondition:new Er.DistanceDisplayCondition(0,S*1.5),disableDepthTestDistance:Number.POSITIVE_INFINITY}}),x._tree.temporaryItem.obj.push(B))},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(P){var M=x._viewer.camera.getPickRay(P.position);if(E=x._getPosition.getMousePosition(P),!!E){!S&&(S=x._core.getPointToCameraDistance(x._viewer,E)),D(E),f.length==0&&f.push(E.clone()),f.push(E);var L=C;v="\u603B\u957F\uFF1A"+C,y=x._viewer.entities.add({name:"\u7A7A\u95F4\u76F4\u7EBF\u8DDD\u79BB",position:f[f.length-1],point:{pixelSize:5,color:w.point.withAlpha(.5),outlineColor:x._cesium.Color.WHITE.withAlpha(.5),distanceDisplayCondition:new Er.DistanceDisplayCondition(0,S*1.5),outlineWidth:2,clampToGround:!0},label:{text:L,font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,pixelOffset:new Er.Cartesian2(20,-20),distanceDisplayCondition:new Er.DistanceDisplayCondition(0,S*1.5),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),x._tree.temporaryItem.obj.push(y),x._points.push(y),T.spot.push(E),T.distance.push(C),T.label.push(y)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK);var D=function(P){polylineCartographic.push(P);var M=[];if(polylineCartographic.length>1){var L=polylineCartographic[polylineCartographic.length-2],F=polylineCartographic[polylineCartographic.length-1],k=Math.abs(L.longitude-F.longitude)*1e7,N=Math.abs(L.latitude-F.latitude)*1e7;k>N&&(N=k);var G=parseInt(N/10);G>1e3&&(G=1e3),G<2&&(G=2);for(var J=0;J<G;++J)M.push(new x._cesium.Cartographic(x._cesium.Math.lerp(L.longitude,F.longitude,J/(G-1)),x._cesium.Math.lerp(L.latitude,F.latitude,J/(G-1))))}else M=polylineCartographic;if(M.length>0)for(var K=0;K<M.length;K++){var P=M[K],X=x._viewer.scene.globe.getHeight(P),q=x._cesium.Cartesian3.fromDegrees(P.longitude/Math.PI*180,P.latitude/Math.PI*180,X);I.push(q)}};this._tree.handler.setInputAction(function(P){Q.show(!1),x._tree.endtemporaryItem(),x._viewer.entities.remove(B),x._points[x._points.length-1].label.text=v,x._tree.handler.destroy(),f.pop(),o!=""&&o!=null&&typeof o=="function"&&o(T)},this._cesium.ScreenSpaceEventType.RIGHT_CLICK);var R=function(){function P(M){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:w.polyline,distanceDisplayCondition:new Er.DistanceDisplayCondition(0,S*1.5),width:3,clampToGround:!1}},this.positions=M,this._init()}return P.prototype._init=function(){var M=this,L=function(){return M.positions};this.options.polyline.positions=new x._cesium.CallbackProperty(L,!1);var F=x._viewer.entities.add(this.options);x.item=F,x._tree.temporaryItem.obj.push(F),T.ployline.push(F)},P}();return this};Ca.prototype.executeHorizontals=function(o,A){this._lang=this._core.extend(this._lang,language._lang);let f;(typeof o=="object"||typeof A=="function")&&(f=A,A=o,o=f),f=null,this._tree.removeHandler(),this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),this._tree.starttemporaryItem(this._viewer);var m=this,C=!1,E=[],x="",y=[],I=void 0,v=m._viewer.scene,B=v.globe.ellipsoid,Q={name:"",spot:[],distance:[],label:[],polyline:[]},T={point:m._cesium.Color.RED,polyline:m._cesium.Color.YELLOW};Object.keys(A).length>0&&(A.point!=""&&A.point!=null&&(T.point=A.point),A.polyline!=""&&A.polyline!=null&&(T.polyline=A.polyline));var w=new m._cesium.BillboardCollection;v.primitives.add(w);var S=new m._cesium.WebMercatorProjection;this._tree.handler=new m._cesium.ScreenSpaceEventHandler(v.canvas);var D=this._core.CreateTooltip(),R=[],P=void 0,M=[],L;C=!0;let F;this._tree.handler.setInputAction(function(J){var K,X;if(E.length===0?D.showAt(J.endPosition,m._lang.draw_tip_left):D.showAt(J.endPosition,m._lang.draw_tip_right),K=m._getPosition.getMousePosition(J,Q.polyline.concat(Q.label)),!!K&&(X=m._cesium.Ellipsoid.WGS84.cartesianToCartographic(K),X)){var q=K;if(C){if(E.length<1)return;m._cesium.defined(I)?(I.path.pop(),I.path.push(q),M.pop(),M.push(q)):I=new G(E,m._cesium);var ee=N(M);L&&(m._viewer.entities.remove(L),L=void 0),L=m._viewer.entities.add({name:"\u7A7A\u95F4\u76F4\u7EBF\u8DDD\u79BB",position:I.path[I.path.length-1],label:{text:"\u603B\u957F\uFF1A"+ee,font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,pixelOffset:new Er.Cartesian2(20,-20),distanceDisplayCondition:new Er.DistanceDisplayCondition(0,F*1.5),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}})}}},m._cesium.ScreenSpaceEventType.MOUSE_MOVE);var k=function(J){y.push(J);var K=[];if(y.length>1){var X=y[y.length-2],q=y[y.length-1],ee=Math.abs(X.longitude-q.longitude)*1e7,ie=Math.abs(X.latitude-q.latitude)*1e7;ee>ie&&(ie=ee);var H=parseInt(ie/10);H>1e3&&(H=1e3),H<2&&(H=2);for(var le=0;le<H;++le)K.push(new m._cesium.Cartographic(m._cesium.Math.lerp(X.longitude,q.longitude,le/(H-1)),m._cesium.Math.lerp(X.latitude,q.latitude,le/(H-1))));K.push(q.clone())}else K=y;if(K.length>0)for(var ue=0;ue<K.length;ue++){var J=K[ue],Ae=m._viewer.scene.globe.getHeight(J),he=m._cesium.Cartesian3.fromRadians(J.longitude,J.latitude,Ae);M.push(he)}};this._tree.handler.setInputAction(function(J){var K=m._getPosition.getMousePosition(J,Q.polyline.concat(Q.label)),X;if(K&&(X=m._cesium.Ellipsoid.WGS84.cartesianToCartographic(K)),X){!F&&(F=m._core.getPointToCameraDistance(m._viewer,K));var q=K;if(C){M.length>0&&M.pop(),k(X),E.length===0?E.push(q,q):E.push(q),m._cesium.defined(I)||(I=new G(E,m._cesium)),L&&(m._viewer.entities.remove(L),L=void 0);var ee="0\u7C73";I&&(ee=N(M)),M.push(q),x="\u603B\u957F\uFF1A"+ee,Q.spot.push(q),Q.distance.push(ee);var ie=m._viewer.entities.add({position:q,point:{pixelSize:5,color:T.point.withAlpha(.5),outlineColor:m._cesium.Color.WHITE.withAlpha(.5),distanceDisplayCondition:new Er.DistanceDisplayCondition(0,F*1.5),outlineWidth:1,clampToGround:!0},label:{text:ee,font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,pixelOffset:new Er.Cartesian2(20,-20),distanceDisplayCondition:new Er.DistanceDisplayCondition(0,F*1.5),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});Q.label.push(ie),m._points.push(ie)}}},m._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(){m.end()},m._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=function(J){if(m._tre&&m._tree.endtemporaryItem(),L&&m._viewer.entities.remove(L),m._points[m._points.length-1]&&(m._points[m._points.length-1].label.text=x),m._tree&&m._tree.handler.destroy(),m.end=void 0,m._core.mouse(m._viewer.container,0,"0"),E.pop(),D.show(!1),J==="cancel"){m.deleteObject();return}E.length<2&&m.deleteObject(),o!=""&&o!=null&&typeof o=="function"&&o(Q)};var N=function(J){for(var K=0,X=0+m._lang.unit_m,q,ee,ie,H,le,ue,Ae=0;Ae<J.length-1;Ae++)q=B.cartesianToCartographic(J[Ae]),ee=S.project(q),ie=ee.x,H=ee.y,q=B.cartesianToCartographic(J[Ae+1]),ee=S.project(q),le=ee.x,ue=ee.y,K=K+Math.sqrt((ie-le)*(ie-le)+(H-ue)*(H-ue));return K>0&&(X=K.toFixed(2)+m._lang.unit_m),K/1e3>=1&&(X=(K/1e3).toFixed(2)+m._lang.unit_km),X},G=function(){function J(K,X){if(!m._cesium.defined(K))throw new m._cesium.DeveloperError("positions is required!");if(K.length<2)throw new m._cesium.DeveloperError("positions \u7684\u957F\u5EA6\u5FC5\u987B\u5927\u4E8E\u7B49\u4E8E2");var q=m._cesium.Material.fromType(m._cesium.Material.ColorType);q.uniforms.color=new m._cesium.Color(1,1,0,.5),this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:T.polyline,width:3,clampToGround:!0}},this.path=K,this._init(m._cesium)}return J.prototype._init=function(K){var X=this,q=function(){return X.path};this.options.polyline.positions=new m._cesium.CallbackProperty(q,!1),this.lineEntity=m._viewer.entities.add(this.options),m.item=this.lineEntity,Q.polyline.push(this.lineEntity);var ee=m._core.getuid();Q.name="\u65B0\u5EFA\u6C34\u5E73\u8DDD\u79BB"+ee},J}();return this};Ca.prototype.horizontalDistance=Ca.prototype.executeHorizontals;Ca.prototype.getHeight=function(o){var A=this._cesium.Cartographic.fromCartesian(o[0]),f=this._cesium.Cartographic.fromCartesian(o[1]),m=f.height-A.height;return m<1e3?m=m.toFixed(2)+this._lang.unit_m:(m=m/1e3,m=m.toFixed(2)+this._lang.unit_km),m};Ca.prototype.executeHeight=function(o){this._lang=this._core.extend(this._lang,language._lang);var A,f=this;this._tree.starttemporaryItem(this._viewer),this._tree.removeHandler(),A=this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);var m=[],C=null,E=0,x=this._core.CreateTooltip(),y=null,I;let v;this._tree.handler.setInputAction(function(Q){y=f._getPosition.getMousePosition(Q),y&&(m.length===0?x.showAt(Q.endPosition,f._lang.draw_tip_left):x.showAt(Q.endPosition,f._lang.draw_tip_right),m.length>=2&&(f._cesium.defined(C)?(m.pop(),m.push(y)):C=new B(m),m.lenght>1&&(E=f._core.getHeight(m,f._cesium))))},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(Q){if(y=f._getPosition.getMousePosition(Q),!!y){!v&&(v=f._core.getPointToCameraDistance(f._viewer,y));var T=E+"\u7C73";if(m.length==0){m.push(y.clone()),m.push(y);var w,S=w=f._viewer.entities.add({name:"\u9AD8\u5EA6",position:m[0],point:{pixelSize:5,color:f._cesium.Color.RED.withAlpha(.5),outlineColor:f._cesium.Color.WHITE.withAlpha(.5),distanceDisplayCondition:new Er.DistanceDisplayCondition(0,v*1.5),outlineWidth:2,clampToGround:!0,heightReference:f._cesium.HeightReference.none},label:{text:T,font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,distanceDisplayCondition:new Er.DistanceDisplayCondition(0,v*1.5),pixelOffset:new Er.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});f._tree.temporaryItem.obj.push(S),f._points.push(S)}else m.length>=1&&(f._tree.endtemporaryItem(),o!=""&&o!=null&&typeof o=="function"&&o(m))}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(Q){f._tree.handler.destroy();var T=E+"\u7C73",w=f._cesium.Cartographic.fromCartesian(m[0]),S=f._cesium.Cartographic.fromCartesian(m[1]),D=f._cesium.Cartesian3.fromDegrees(cesium.Math.toDegrees(w.longitude),f._cesium.Math.toDegrees(w.latitude),S.height),R=f._viewer.entities.add({name:"\u76F4\u7EBF\u8DDD\u79BB",position:D,point:{pixelSize:5,color:f._cesium.Color.RED.withAlpha(.5),outlineColor:f._cesium.Color.WHITE.withAlpha(.5),outlineWidth:2,clampToGround:!0,distanceDisplayCondition:new Er.DistanceDisplayCondition(0,v*1.5),heightReference:f._cesium.HeightReference.none},label:{text:T,font:"16px \u5B8B\u4F53",distanceDisplayCondition:new Er.DistanceDisplayCondition(0,v*1.5),fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,pixelOffset:new Er.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});f._tree.temporaryItem.obj.push(R),f._points.push(R)},this._cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK);var B=function(){function Q(T){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:f._cesium.Color.YELLOW,clampToGround:!0,width:3},ellipse:{show:!1,material:f._cesium.Color.GREEN.withAlpha(.5),clampToGround:!0,outline:!0}},this.positions=T,this._init3()}return Q.prototype._init3=function(){var T=this,w=function(){var D=[];D.push(T.positions[0]);var R=f._cesium.Cartographic.fromCartesian(T.positions[0]);try{var P=f._cesium.Cartographic.fromCartesian(T.positions[1])}catch{return}var M=f._cesium.Cartesian3.fromDegrees(f._cesium.Math.toDegrees(R.longitude),f._cesium.Math.toDegrees(R.latitude),P.height);return D.push(M),D};this.options.polyline.positions=new f._cesium.CallbackProperty(w,!1);var S=f._viewer.entities.add(this.options);f.item=S,f._tree.temporaryItem.obj.push(S)},Q}();return this};Ca.prototype.executeHeightTe=function(o,A){this._lang=this._core.extend(this._lang,language._lang);let f;(typeof o=="object"||typeof A=="function")&&(f=A,A=o,o=f),f=null;var m={point:Er.Color.RED,polyline:Er.Color.YELLOW};Object.keys(A).length>0&&(A.point!=""&&A.point!=null&&(m.point=A.point),A.polyline!=""&&A.polyline!=null&&(m.polyline=A.polyline)),this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),this._tree.removeHandler(),this._tree.starttemporaryItem(this._viewer);var C,C=this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),E=[],x,y=null,I=null,v,B=this,Q={name:"",spot:[],kjdistance:"",spdistance:"",gddistance:"",point:[],polyline:[]},T=this._core.CreateTooltip();let w;this._tree.handler.setInputAction(function(R){if(E.length===0?T.showAt(R.endPosition,B._lang.draw_tip_left):T.showAt(R.endPosition,"\u53F3\u952E\u7ED3\u675F\uFF01"),I=B._getPosition.getMousePosition(R,Q.polyline.concat(Q.point)),!!I&&E.length>=2)if(B._cesium.defined(y))E.pop(),E.push(I.clone()),x=S(E);else{y=new D(E);var P=B._viewer.entities.add({name:"\u9AD8\u5EA6\u6D4B\u91CF",position:new B._cesium.CallbackProperty(function(){return E[1]},!1),point:{pixelSize:5,color:m.point.withAlpha(.5),outlineColor:B._cesium.Color.WHITE.withAlpha(.5),outlineWidth:2,distanceDisplayCondition:new Er.DistanceDisplayCondition(0,w*1.5),heightReference:B._cesium.HeightReference.none,disableDepthTestDistance:Number.POSITIVE_INFINITY}});B._tree.temporaryItem.obj.push(P),Q.point.push(P),B._points.push(P),x=S(E);var M=B._viewer.entities.add({position:new B._cesium.CallbackProperty(function(){return B._cesium.Cartesian3.midpoint(x.eq_lon_lat[0],x.eq_lon_lat[1],new B._cesium.Cartesian3)},!1),name:"\u7B49\u7ECF\u7EAC\u5EA6",polyline:{show:!0,positions:new B._cesium.CallbackProperty(function(){return x.eq_lon_lat},!1),material:m.polyline,distanceDisplayCondition:new Er.DistanceDisplayCondition(0,w*1.5),width:2},label:{text:new B._cesium.CallbackProperty(function(){var F=B.getHeight(x.eq_lon_lat),k=B._lang.unit_m,N=F;F.indexOf("\u5343\u7C73")!==-1?(k=B._lang.unit_km,N=F.replace("\u5343\u7C73","")):N=F.replace("\u7C73","");var N=parseFloat(N);return N<0&&(N=Math.abs(N)),F=N+k,F="\u9AD8\u5EA6\uFF1A"+F,Q.gddistance=F,F},!1),font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,distanceDisplayCondition:new Er.DistanceDisplayCondition(0,w*1.5),verticalOrigin:Er.VerticalOrigin.BOTTOM,pixelOffset:new Er.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});Q.polyline.push(M),B._polylines.push(M);var L=B._viewer.entities.add({position:new B._cesium.CallbackProperty(function(){return B._cesium.Cartesian3.midpoint(x.eq_height[0],x.eq_height[1],new B._cesium.Cartesian3)},!1),name:"\u7B49\u9AD8\u5EA6\u76F4\u7EBF",polyline:{show:!0,positions:new B._cesium.CallbackProperty(function(){return x.eq_height},!1),material:m.polyline,distanceDisplayCondition:new Er.DistanceDisplayCondition(0,w*1.5),width:2},label:{text:new B._cesium.CallbackProperty(function(){var F=B._core.getHorizontalDistance(x.eq_height,B._cesium);return F="\u6C34\u5E73\u8DDD\u79BB\uFF1A"+F,Q.spdistance=F,F},!1),font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,distanceDisplayCondition:new Er.DistanceDisplayCondition(0,w*1.5),pixelOffset:new Er.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});Q.polyline.push(L),B._polylines.push(L)}},B._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(R){if(I=B._getPosition.getMousePosition(R,Q.polyline.concat(Q.point)),!!I){if(!w&&(w=B._core.getPointToCameraDistance(B._viewer,I)),E.length==0){E.push(I.clone()),E.push(I.clone()),x=S(E);var P=v=B._viewer.entities.add({name:"\u9AD8\u5EA6\u6D4B\u91CF",position:E[0],point:{pixelSize:5,color:m.point.withAlpha(.5),outlineColor:B._cesium.Color.WHITE.withAlpha(.5),outlineWidth:2,distanceDisplayCondition:new Er.DistanceDisplayCondition(0,w*1.5),heightReference:B._cesium.HeightReference.none,disableDepthTestDistance:Number.POSITIVE_INFINITY}});B._tree.temporaryItem.obj.push(P),Q.point.push(P),B._points.push(P)}else if(E.length>=2)if(B._cesium.defined(y))E.pop(),E.push(I.clone()),x=S(E);else{y=new D(E);var M=B._viewer.entities.add({name:"\u9AD8\u5EA6\u6D4B\u91CF",position:new B._cesium.CallbackProperty(function(){return E[1]},!1),point:{pixelSize:5,color:m.point.withAlpha(.5),outlineColor:B._cesium.Color.WHITE.withAlpha(.5),outlineWidth:2,distanceDisplayCondition:new Er.DistanceDisplayCondition(0,w*1.5),heightReference:B._cesium.HeightReference.none,disableDepthTestDistance:Number.POSITIVE_INFINITY}});B._tree.temporaryItem.obj.push(M),Q.point.push(M),B._points.push(M),x=S(E);var L=B._viewer.entities.add({position:new B._cesium.CallbackProperty(function(){return B._cesium.Cartesian3.midpoint(x.eq_lon_lat[0],x.eq_lon_lat[1],new B._cesium.Cartesian3)},!1),name:"\u7B49\u7ECF\u7EAC\u5EA6",polyline:{show:!0,positions:new B._cesium.CallbackProperty(function(){return x.eq_lon_lat},!1),material:m.polyline,distanceDisplayCondition:new Er.DistanceDisplayCondition(0,w*1.5),width:2},label:{text:new B._cesium.CallbackProperty(function(){var k=B.getHeight(x.eq_lon_lat),N=B._lang.unit_m,G=k;k.indexOf("\u5343\u7C73")!==-1?(N=B._lang.unit_km,G=k.replace("\u5343\u7C73","")):G=k.replace("\u7C73","");var G=parseFloat(G);return G<0&&(G=Math.abs(G)),k=G+N,k="\u9AD8\u5EA6\uFF1A"+k,Q.gddistance=k,k},!1),font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,pixelOffset:new Er.Cartesian2(20,-20),distanceDisplayCondition:new Er.DistanceDisplayCondition(0,w*1.5),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});Q.polyline.push(L),B._polylines.push(L);var F=B._viewer.entities.add({position:new B._cesium.CallbackProperty(function(){return B._cesium.Cartesian3.midpoint(x.eq_height[0],x.eq_height[1],new B._cesium.Cartesian3)},!1),name:"\u7B49\u9AD8\u5EA6\u76F4\u7EBF",polyline:{show:!0,positions:new B._cesium.CallbackProperty(function(){return x.eq_height},!1),material:m.polyline,distanceDisplayCondition:new Er.DistanceDisplayCondition(0,w*1.5),width:2},label:{text:new B._cesium.CallbackProperty(function(){var k=B._core.getHorizontalDistance(x.eq_height,B._cesium);return k="\u6C34\u5E73\u8DDD\u79BB\uFF1A"+k,Q.spdistance=k,k},!1),font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,pixelOffset:new Er.Cartesian2(20,-20),distanceDisplayCondition:new Er.DistanceDisplayCondition(0,w*1.5),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});Q.polyline.push(F),B._polylines.push(F)}}},B._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(R){B.end()},B._cesium.ScreenSpaceEventType.RIGHT_CLICK),this._tree.handler.setInputAction(function(R){B.end()},B._cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK),this.end=function(R){if(B._tree.handler.destroy(),T.show(!1),B.end=void 0,B._tree.endtemporaryItem(),B._core.mouse(B._viewer.container,0,"0"),R==="cancel"){B.deleteObject();return}o!=""&&o!=null&&typeof o=="function"&&o(Q)};function S(R){var P=B._cesium.Cartographic.fromCartesian(R[0]),M=B._cesium.Cartographic.fromCartesian(R[1]),L=M.height-(M.height-P.height),F,k,N;return M.height-P.height>0?(F=B._cesium.Cartesian3.fromDegrees(B._cesium.Math.toDegrees(P.longitude),B._cesium.Math.toDegrees(P.latitude),M.height),k=[R[1],F],N=[R[0],F]):(F=B._cesium.Cartesian3.fromDegrees(B._cesium.Math.toDegrees(M.longitude),B._cesium.Math.toDegrees(M.latitude),P.height),k=[R[0],F],N=[R[1],F]),{new:F,eq_height:k,eq_lon_lat:N}}var D=function(){function R(M){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:m.polyline,distanceDisplayCondition:new Er.DistanceDisplayCondition(0,w*1.5),width:2},label:{font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,distanceDisplayCondition:new Er.DistanceDisplayCondition(0,w*1.5),pixelOffset:new Er.Cartesian2(20,20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}},this.positions=M,this._init()}function P(M){var L=B._cesium.Cartographic.fromCartesian(M[0]),F=B._cesium.Cartographic.fromCartesian(M[1]),k=new B._cesium.EllipsoidGeodesic;k.setEndPoints(L,F);var N=k.surfaceDistance;return N=Math.sqrt(Math.pow(N,2)+Math.pow(F.height-L.height,2)),N>=1e3?N=(N/1e3).toFixed(2)+B._lang.unit_km:N=N.toFixed(2)+B._lang.unit_m,N}return R.prototype._init=function(){var M=this,L=function(){return M.positions},F=function(){return B._cesium.Cartesian3.midpoint(x.eq_height[0],x.eq_height[1],new B._cesium.Cartesian3)},k=function(){var J=P(M.positions);return J="\u7A7A\u95F4\u8DDD\u79BB\uFF1A"+J,Q.kjdistance=J,J};this.options.polyline.positions=new B._cesium.CallbackProperty(L,!1),this.options.position=new B._cesium.CallbackProperty(F,!1),this.options.label.text=new B._cesium.CallbackProperty(k,!1);var N=B._viewer.entities.add(this.options);B.item=N,B._tree.temporaryItem.obj.push(N),Q.polyline.push(N);var G=B._core.getuid();Q.name="\u65B0\u5EFA\u5782\u76F4\u9AD8\u5EA6"+G},R}();return this};Ca.prototype.verticalHeight=Ca.prototype.executeHeightTe;Ca.prototype.executeHeightTe1=function(o){this._lang=this._core.extend(this._lang,language._lang),this._tree.removeHandler();var A;this._tree.starttemporaryItem(this._viewer);var A=this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),f=[],m=[],C=[],E,x=null,y=null,I=null,v=null,B,Q=this,T={spot:[],kjdistance:"",spdistance:"",gddistance:"",point:[],polyline:[]},w=this._core.CreateTooltip();this._tree.handler.setInputAction(function(M){f.length===0?w.showAt(M.endPosition,Q._lang.draw_tip_left):w.showAt(M.endPosition,Q._lang.draw_tip_right),v=Q._getPosition.getMousePosition(M),!!v&&f.length>=2&&(Q._cesium.defined(x)?(f.pop(),f.push(v.clone()),E=S(f)):x=new D(f),Q._cesium.define(y)||(y=new R(f)),Q._cesium.define(I)||(I=new P(f)))},Q._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(M){if(f.length==0){if(v=Q._getPosition.getMousePosition(M),!v)return;f.push(v.clone()),f.push(v.clone()),E=S(f);var L=B=Q._viewer.entities.add({name:"\u9AD8\u5EA6\u6D4B\u91CF",position:f[0],point:{pixelSize:5,color:Q._cesium.Color.RED.withAlpha(.5),outlineColor:Q._cesium.Color.WHITE.withAlpha(.5),outlineWidth:2,heightReference:Q._cesium.HeightReference.none}});Q._tree.temporaryItem.obj.push(L),T.point.push(L)}},Q._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(M){Q._tree.handler.destroy(),w.show(!1),Q._tree.endtemporaryItem(),o!=""&&o!=null&&typeof o=="function"&&o(T)},Q._cesium.ScreenSpaceEventType.RIGHT_CLICK);function S(M){var L=Q._cesium.Cartographic.fromCartesian(M[0]),F=Q._cesium.Cartographic.fromCartesian(M[1]),k=F.height-(F.height-L.height),N=Q._cesium.Cartesian3.fromDegrees(Q._cesium.Math.toDegrees(L.longitude),Q._cesium.Math.toDegrees(L.latitude),F.height);return N}var D=function(){function M(F){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:Q._cesium.Color.GOLD,width:2},label:{font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,pixelOffset:new Er.Cartesian2(20,-40),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}},this.positions=F,this._init()}function L(F){var k=Q._cesium.Cartographic.fromCartesian(F[0]),N=Q._cesium.Cartographic.fromCartesian(F[1]),G=new Q._cesium.EllipsoidGeodesic;G.setEndPoints(k,N);var J=G.surfaceDistance;return J=Math.sqrt(Math.pow(J,2)+Math.pow(N.height-k.height,2)),J>=1e3?J=(J/1e3).toFixed(2)+Q._lang.unit_km:J=J.toFixed(2)+Q._lang.unit_m,J}return M.prototype._init=function(){var F=this,k=function(){return F.positions},N=function(){return F.positions[1].clone()},G=function(){var K=L(F.positions);return K="\u7A7A\u95F4\u8DDD\u79BB\uFF1A"+K,T.kjdistance=K,K};this.options.polyline.positions=new Q._cesium.CallbackProperty(k,!1),this.options.position=new Q._cesium.CallbackProperty(N,!1),this.options.label.text=new Q._cesium.CallbackProperty(G,!1);var J=Q._viewer.entities.add(this.options);Q._tree.temporaryItem.obj.push(J),T.polyline.push(J)},M}(),R=function(){function M(F){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:Q._cesium.Color.GOLD,width:2},label:{font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,pixelOffset:new Er.Cartesian2(20,-40),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}},this.positions=F,this._init()}function L(F){var k=Q._cesium.Cartographic.fromCartesian(F[0]),N=Q._cesium.Cartographic.fromCartesian(F[1]),G=new Q._cesium.EllipsoidGeodesic;G.setEndPoints(k,N);var J=G.surfaceDistance;return J=Math.sqrt(Math.pow(J,2)+Math.pow(N.height-k.height,2)),J>=1e3?J=(J/1e3).toFixed(2)+Q._lang.unit_km:J=J.toFixed(2)+Q._lang.unit_m,J}return M.prototype._init=function(){var F=this,k=function(){return F.positions},N=function(){return F.positions[1].clone()},G=function(){var K=L(F.positions);return K="\u7A7A\u95F4\u8DDD\u79BB\uFF1A"+K,T.kjdistance=K,K};this.options.polyline.positions=new Q._cesium.CallbackProperty(k,!1),this.options.position=new Q._cesium.CallbackProperty(N,!1),this.options.label.text=new Q._cesium.CallbackProperty(G,!1);var J=Q._viewer.entities.add(this.options);Q._tree.temporaryItem.obj.push(J),T.polyline.push(J)},M}(),P=function(){function M(F){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:Q._cesium.Color.GOLD,width:2},label:{font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,pixelOffset:new Er.Cartesian2(20,-40),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}},this.positions=F,this._init()}function L(F){var k=Q._cesium.Cartographic.fromCartesian(F[0]),N=Q._cesium.Cartographic.fromCartesian(F[1]),G=new Q._cesium.EllipsoidGeodesic;G.setEndPoints(k,N);var J=G.surfaceDistance;return J=Math.sqrt(Math.pow(J,2)+Math.pow(N.height-k.height,2)),J>=1e3?J=(J/1e3).toFixed(2)+Q._lang.unit_km:J=J.toFixed(2)+Q._lang.unit_m,J}return M.prototype._init=function(){var F=this,k=function(){return F.positions},N=function(){return F.positions[1].clone()},G=function(){var K=L(F.positions);return K="\u7A7A\u95F4\u8DDD\u79BB\uFF1A"+K,T.kjdistance=K,K};this.options.polyline.positions=new Q._cesium.CallbackProperty(k,!1),this.options.position=new Q._cesium.CallbackProperty(N,!1),this.options.label.text=new Q._cesium.CallbackProperty(G,!1);var J=Q._viewer.entities.add(this.options);Q._tree.temporaryItem.obj.push(J),T.polyline.push(J)},M}();return this};Ca.prototype.executeAngle=function(o,A){this._lang=this._core.extend(this._lang,language._lang);let f;(typeof o=="object"||typeof A=="function")&&(f=A,A=o,o=f),f=null;var m={point:Er.Color.RED,polyline:Er.Color.YELLOW};Object.keys(A).length>0&&(A.point!=""&&A.point!=null&&(m.point=A.point),A.polyline!=""&&A.polyline!=null&&(m.polyline=A.polyline)),this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),this._tree.removeHandler(),this._tree.starttemporaryItem(this._viewer);var C,C=this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),E=[],x,y=null,I=null,v,B=this,Q,T,w,S,D={name:"",spot:[],kjdistance:"",spdistance:"",gddistance:"",point:[],polyline:[],labels:[]},R=this._core.CreateTooltip();let P;this._tree.handler.setInputAction(function(F){if(E.length===0?R.showAt(F.endPosition,B._lang.draw_tip_left):R.showAt(F.endPosition,"\u53F3\u952E\u7ED3\u675F\uFF01"),I=B._getPosition.getMousePosition(F,D.polyline.concat(D.point)),!!I&&E.length>=2){var k=B._core.ElevationAngle(T,I,B._cesium),N="",G="";if(T.z<=I.z?(N="\u89D2\u5EA6\uFF1A"+(90-Math.abs(k)).toFixed(2),G="\u89D2\u5EA6\uFF1A"+Math.abs(k).toFixed(2)):(N="\u89D2\u5EA6\uFF1A"+Math.abs(k).toFixed(2),G="\u89D2\u5EA6\uFF1A"+(90-Math.abs(k)).toFixed(2)),Q.label.text=N,B._cesium.defined(y)?(w.position.setValue(I),w.label.text=G):(w=B._viewer.entities.add({position:I,name:"\u7B49\u7ECF\u7EAC\u5EA6",label:{text:G,font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,distanceDisplayCondition:new Er.DistanceDisplayCondition(0,P*1.5),pixelOffset:new Er.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),D.labels.push(w),B._points.push(w)),B._cesium.defined(y))E.pop(),E.push(I.clone()),x=M(E);else{y=new L(E);var J=B._viewer.entities.add({name:"\u89D2\u5EA6\u6D4B\u91CF",position:new B._cesium.CallbackProperty(function(){return E[1]},!1),point:{pixelSize:5,color:m.point.withAlpha(.5),outlineColor:B._cesium.Color.WHITE.withAlpha(.5),distanceDisplayCondition:new Er.DistanceDisplayCondition(0,P*1.5),outlineWidth:2,heightReference:B._cesium.HeightReference.none,disableDepthTestDistance:Number.POSITIVE_INFINITY}});B._tree.temporaryItem.obj.push(J),D.point.push(J),B._points.push(J),x=M(E);var K=B._viewer.entities.add({position:new B._cesium.CallbackProperty(function(){return E[0]},!1),name:"\u7B49\u7ECF\u7EAC\u5EA6",polyline:{show:!0,positions:new B._cesium.CallbackProperty(function(){return x.eq_lon_lat},!1),material:m.polyline,distanceDisplayCondition:new Er.DistanceDisplayCondition(0,P*1.5),width:2}});D.polyline.push(K),B._polylines.push(K);var X=B._viewer.entities.add({position:new B._cesium.CallbackProperty(function(){return E[1]},!1),name:"\u7B49\u9AD8\u5EA6\u76F4\u7EBF",polyline:{show:!0,positions:new B._cesium.CallbackProperty(function(){return x.eq_height},!1),material:m.polyline,distanceDisplayCondition:new Er.DistanceDisplayCondition(0,P*1.5),width:2}});D.polyline.push(X),B._polylines.push(X)}}},B._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(F){if(I=B._getPosition.getMousePosition(F,D.polyline.concat(D.point)),!!I){if(!P&&(P=B._core.getPointToCameraDistance(B._viewer,I)),E.length==0){T=I,Q=B._viewer.entities.add({position:I,name:"\u7B49\u7ECF\u7EAC\u5EA6",label:{text:"0",font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,pixelOffset:new Er.Cartesian2(20,-20),distanceDisplayCondition:new Er.DistanceDisplayCondition(0,P*1.5),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),D.labels.push(Q);var k=B._viewer.entities.add({position:new B._cesium.CallbackProperty(function(){return B._cesium.Cartesian3.midpoint(x.eq_lon_lat[0],x.eq_lon_lat[1],new B._cesium.Cartesian3)},!1),label:{font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,distanceDisplayCondition:new Er.DistanceDisplayCondition(0,P*1.5),pixelOffset:new Er.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});E.push(I.clone()),E.push(I.clone()),x=M(E);var N=v=B._viewer.entities.add({name:"\u9AD8\u5EA6\u6D4B\u91CF",position:E[0],point:{pixelSize:5,color:m.point.withAlpha(.5),outlineColor:B._cesium.Color.WHITE.withAlpha(.5),outlineWidth:2,heightReference:B._cesium.HeightReference.none,distanceDisplayCondition:new Er.DistanceDisplayCondition(0,P*1.5),disableDepthTestDistance:Number.POSITIVE_INFINITY}});B._tree.temporaryItem.obj.push(N),D.point.push(N),B._points.push(Q,N)}else if(E.length>=2)if(B._cesium.defined(y))E.pop(),E.push(I.clone()),x=M(E);else{y=new L(E);var G=B._viewer.entities.add({name:"\u9AD8\u5EA6\u6D4B\u91CF",position:new B._cesium.CallbackProperty(function(){return E[1]},!1),point:{pixelSize:5,color:m.point.withAlpha(.5),outlineColor:B._cesium.Color.WHITE.withAlpha(.5),distanceDisplayCondition:new Er.DistanceDisplayCondition(0,P*1.5),outlineWidth:2,heightReference:B._cesium.HeightReference.none,disableDepthTestDistance:Number.POSITIVE_INFINITY}});B._tree.temporaryItem.obj.push(G),D.point.push(G),B._points.push(G),x=M(E);var k=B._viewer.entities.add({position:new B._cesium.CallbackProperty(function(){return B._cesium.Cartesian3.midpoint(x.eq_lon_lat[0],x.eq_lon_lat[1],new B._cesium.Cartesian3)},!1),name:"\u7B49\u7ECF\u7EAC\u5EA6",polyline:{show:!0,positions:new B._cesium.CallbackProperty(function(){return x.eq_lon_lat},!1),material:m.polyline,distanceDisplayCondition:new Er.DistanceDisplayCondition(0,P*1.5),width:2},label:{text:new B._cesium.CallbackProperty(function(){var X=B.getHeight(x.eq_lon_lat),q=B._lang.unit_m,ee=X;X.indexOf("\u5343\u7C73")!==-1?(q=B._lang.unit_km,ee=X.replace("\u5343\u7C73","")):ee=X.replace("\u7C73","");var ee=parseFloat(ee);return ee<0&&(ee=Math.abs(ee)),X=ee+q,X="\u9AD8\u5EA6\uFF1A"+X,D.gddistance=X,X},!1),font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,distanceDisplayCondition:new Er.DistanceDisplayCondition(0,P*1.5),pixelOffset:new Er.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});D.polyline.push(k),B._polylines.push(k);var J=B._viewer.entities.add({position:new B._cesium.CallbackProperty(function(){return B._cesium.Cartesian3.midpoint(x.eq_height[0],x.eq_height[1],new B._cesium.Cartesian3)},!1),name:"\u7B49\u9AD8\u5EA6\u76F4\u7EBF",polyline:{show:!0,positions:new B._cesium.CallbackProperty(function(){return x.eq_height},!1),material:m.polyline,distanceDisplayCondition:new Er.DistanceDisplayCondition(0,P*1.5),width:2},label:{text:new B._cesium.CallbackProperty(function(){var X=B._core.ElevationAngle(firtP,I,B._cesium);return X="\u89D2\u5EA6\uFF1A"+X.toFixed(2),D.spdistance=X,X},!1),font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,pixelOffset:new Er.Cartesian2(60,-20),distanceDisplayCondition:new Er.DistanceDisplayCondition(0,P*1.5),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});D.polyline.push(J),B._polylines.push(J)}}},B._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(F){B.end()},B._cesium.ScreenSpaceEventType.RIGHT_CLICK),this._tree.handler.setInputAction(function(F){B.end()},B._cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK),this.end=function(F){if(B._tree.handler.destroy(),R.show(!1),B._tree.endtemporaryItem(),B.end=void 0,B._core.mouse(B._viewer.container,0,"0"),F==="cancel"){B.deleteObject();return}o!=""&&o!=null&&typeof o=="function"&&(this.labels=D.labels,o(D))};function M(F){var k=B._cesium.Cartographic.fromCartesian(F[0]),N=B._cesium.Cartographic.fromCartesian(F[1]),G=N.height-(N.height-k.height),J,K,X;return N.height-k.height>0?(J=B._cesium.Cartesian3.fromDegrees(B._cesium.Math.toDegrees(k.longitude),B._cesium.Math.toDegrees(k.latitude),N.height),K=[F[1],J],X=[F[0],J]):(J=B._cesium.Cartesian3.fromDegrees(B._cesium.Math.toDegrees(N.longitude),B._cesium.Math.toDegrees(N.latitude),k.height),K=[F[0],J],X=[F[1],J]),{new:J,eq_height:K,eq_lon_lat:X}}var L=function(){function F(k){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:m.polyline,distanceDisplayCondition:new Er.DistanceDisplayCondition(0,P*1.5),width:2},label:{font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,distanceDisplayCondition:new Er.DistanceDisplayCondition(0,P*1.5),pixelOffset:new Er.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}},this.positions=k,this._init()}return F.prototype._init=function(){var k=this,N=function(){return k.positions},G=function(){return B._cesium.Cartesian3.midpoint(k.positions[0],k.positions[1],new B._cesium.Cartesian3)};this.options.polyline.positions=new B._cesium.CallbackProperty(N,!1),this.options.position=new B._cesium.CallbackProperty(G,!1);var J=B._viewer.entities.add(this.options);B.item=J,B._tree.temporaryItem.obj.push(J),D.polyline.push(J);var K=B._core.getuid();D.name="\u65B0\u5EFA\u5782\u76F4\u9AD8\u5EA6"+K},F}();return this};Ca.prototype.measureAngle=Ca.prototype.executeAngle;Ca.prototype.executeHeightDg=function(o){this._tree.removeHandler();var A=this;this._tree.handler=new A._cesium.ScreenSpaceEventHandler(A._viewer.scene.canvas);var f=[],m,C=null,E=null,x;this._tree.handler.setInputAction(function(I){E=A._getPosition.getMousePosition(I),!!E&&f.length>=2&&(A._cesium.defined(C)?(f.pop(),f.push(E.clone()),m=point_conf(f)):C=new y(f))},A._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(I){if(f.length==0){if(E=A._getPosition.getMousePosition(I),!E)return;f.push(E.clone()),f.push(E.clone());var v=x=A._viewer.entities.add({parent:measure_entities,name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:f[0],point:{pixelSize:5,color:A._cesium.Color.RED.withAlpha(.5),outlineColor:A._cesium.Color.WHITE.withAlpha(.5),outlineWidth:2,heightReference:A._cesium.HeightReference.none}})}},A._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(I){A._tree.handler.destroy();var v=[],B=[];v.push(f[0].clone()),v.push(m.clone());var Q=A.getHeight(v);A._viewer.entities.add({parent:measure_entities,name:"\u7B49\u7ECF\u7EAC\u5EA6",position:v[0].clone(),polyline:{show:!0,clampToGround:!0,positions:v,material:new A._cesium.PolylineDashMaterialProperty({color:A._cesium.Color.RED}),width:2},label:{text:Q,font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,pixelOffset:new Er.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),B.push(m.clone()),B.push(f[1].clone()),Q=getDistance(B)+A._lang.unit_km,A._viewer.entities.add({parent:measure_entities,name:"\u7B49\u9AD8\u5EA6\u76F4\u7EBF",position:B[0].clone(),polyline:{show:!0,positions:B,clampToGround:!0,material:new A._cesium.PolylineDashMaterialProperty({color:A._cesium.Color.RED}),width:2},label:{text:Q,font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,pixelOffset:new Er.Cartesian2(60,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}})},A._cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK);var y=function(){function I(v){this.options={parent:measure_entities,name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],clampToGround:!0,material:A._cesium.Color.GOLD,width:2},label:{font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,pixelOffset:new Er.Cartesian2(20,-40),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}},this.positions=v,this._init()}return I.prototype._init=function(){var v=this,B=function(){return v.positions},Q=function(){return v.positions[1].clone()},T=function(){var w=getSpaceDistance(v.positions);return w};this.options.polyline.positions=new A._cesium.CallbackProperty(B,!1),this.options.position=new A._cesium.CallbackProperty(Q,!1),this.options.label.text=new A._cesium.CallbackProperty(T,!1),A._viewer.entities.add(this.options)},I}()};Ca.prototype.executeAnge=function(o){var A=this;this._tree.removeHandler(),this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);var f=[],m=[],C=null,E=0,x="",y=null,I,v=0,B={spot:[],distance:0,label:{},angle:0};this._tree.handler.setInputAction(function(w){var S=A._viewer.camera.getPickRay(w.endPosition);if(y=A._getPosition.getMousePosition(w),!!y){f.length>=2&&(A._cesium.defined(C)?(f.pop(),f.push(y)):C=new T(f),x=A._core.getSpaceDistance(f,A._cesium));var D=x;A._viewer.entities.remove(I),f.length>1&&(v=(Math.atan2(f[1].y-f[0].y,f[1].x-f[0].x)*180/Math.PI).toFixed(0),I=A._viewer.entities.add({name:"\u7A7A\u95F4\u76F4\u7EBF\u8DDD\u79BB",position:f[f.length-1],label:{text:D+";"+v+"\u5EA6",font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,pixelOffset:new Er.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}))}},A._cesium.ScreenSpaceEventType.MOUSE_MOVE);var Q=0;this._tree.handler.setInputAction(function(w){Q>0&&(A._tree.handler.destroy(),f.pop());var S=A._viewer.camera.getPickRay(w.position);if(y=A._getPosition.getMousePosition(w),!!y){f.length==0&&f.push(y.clone()),f.push(y);var D=x;B.spot.push(y),B.distance=x,B.label=I,A._points.push(I),B.angle=v,Q==1&&o!=""&&o!=null&&typeof o=="function"&&o(B),Q=Q+1}},A._cesium.ScreenSpaceEventType.LEFT_CLICK);var T=function(){function w(S){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:A._cesium.Color.YELLOW,width:3,clampToGround:!0}},this.positions=S,this._init6()}return w.prototype._init6=function(){var S=this,D=function(){return S.positions};this.options.polyline.positions=new A._cesium.CallbackProperty(D,!1);var R=A._viewer.entities.add(this.options);A.item=R},w}();return this};Ca.prototype.executeProfile=function(o,A){this._lang=this._core.extend(this._lang,language._lang);var f=this;this._tree.removeHandler(),this._tree.starttemporaryItem(this._viewer),this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);var m=[],I=[],C=null,E=o.parameterd,x=o.objid,y=o.cyjj,I=[],v=0,B=this._core.CreateTooltip(),Q=null,T,w=0,S={spot:[],min:0,max:0,distance:0,label:{},cys:0,gcs:[]};this._tree.handler.setInputAction(function(M){m.length===0?B.showAt(M.endPosition,f._lang.draw_tip_left):B.showAt(M.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF01");var L=f._viewer.camera.getPickRay(M.endPosition);Q=f._viewer.scene.globe.pick(L,f._viewer.scene);var F=f._viewer.scene.pick(M.endPosition);if(F){var k=f._viewer.scene.pickPosition(M.endPosition);k&&(Q=k)}if(!!Q){m.length>=2&&(f._cesium.defined(C)?(m.pop(),m.push(Q)):C=new P(m),v=f._core.getSpaceDistance(m,f._cesium));var N=v;f._viewer.entities.remove(T),m.length>1&&(w=(Math.atan2(m[1].y-m[0].y,m[1].x-m[0].x)*180/Math.PI).toFixed(0),T=f._viewer.entities.add({name:"\u7A7A\u95F4\u76F4\u7EBF\u8DDD\u79BB",position:m[m.length-1],label:{text:N,font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,pixelOffset:new Er.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),f._tree.temporaryItem.obj.push(T),f._points.push(T))}},f._cesium.ScreenSpaceEventType.MOUSE_MOVE);var D=0,R=[];this._tree.handler.setInputAction(function(M){D>0&&(f._tree.handler.destroy(),m.pop(),B.show(!1));var L=f._viewer.camera.getPickRay(M.position);Q=f._viewer.scene.globe.pick(L,f._viewer.scene);var F=f._viewer.scene.pick(M.position);if(F){var k=f._viewer.scene.pickPosition(M.position);k&&(Q=k)}if(!!Q){if(m.length==0&&m.push(Q.clone()),I.push(Q),m.push(Q),S.spot.push(Q),S.label=T,D==1){f._tree.endtemporaryItem();var N=E,G=f._core.getPmfx(I,N,y,f._cesium,f._viewer,function(K){S.distance=K.juli,S.gcs=K.gcs,S.gcs=K.gcs,S.cys=K.cys,S.max=K.max,S.min=K.min,S.obj=f,B.show(!1),A!=""&&A!=null&&typeof A=="function"&&A(S)})}else{var J={leftX:M.position.x,leftY:M.position.y};R.push(J)}D=D+1}},f._cesium.ScreenSpaceEventType.LEFT_CLICK);var P=function(){function M(L){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:f._cesium.Color.YELLOW,width:2,clampToGround:!0}},this.positions=L,this._init10()}return M.prototype._init10=function(){var L=this,F=function(){return L.positions};this.options.polyline.positions=new f._cesium.CallbackProperty(F,!1);var k=f._viewer.entities.add(this.options);f.item=k,f._tree.temporaryItem.obj.push(k);var N=0;!f._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(N=Ke.selectedItem.id);var G=f._core.getuid(),J={id:G,name:"\u65B0\u5EFA\u5256\u9762\u5206\u6790"+G,pId:f._core.isnull(x)?0:x,type:"polyline",item:f};f.setTreeobj(J),Ke.insertGroupId(J,f._core.isnull(x)?0:x)},M}();return this};Ca.prototype.executeProfilePro=function(o,A){var f=this;this._tree.removeHandler(),this._tree.starttemporaryItem(this._viewer),this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);var m=[],C=null,E=o.parameterd,x=o.objid,y=o.cyjj,I=this._core.CreateTooltip(),v=null,B={spot:[],min:0,max:0,distance:0,label:{},cys:0,gcs:[]};this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),this._tree.handler.setInputAction(function(w){m.length>=3?I.showAt(w.endPosition,"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236"):I.showAt(w.endPosition,"\u70B9\u51FB\u7ED8\u5236\u5256\u9762\u70B9");var S=f._viewer.camera.getPickRay(w.endPosition);v=f._viewer.scene.globe.pick(S,f._viewer.scene);var D=f._viewer.scene.pick(w.endPosition);if(D){var R=f._viewer.scene.pickPosition(w.endPosition);R&&(v=R)}!v||m.length>=2&&(f._cesium.defined(C)?(m.pop(),m.push(v)):C=new T(m))},f._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(w){f.end()},f._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=function(w){if(f._tree.handler.destroy(),f._core.mouse(f._viewer.container,0),f._tree.endtemporaryItem(),f._core.getBrowser().pc=="pc"&&m.pop(),I.show(!1),f.end=void 0,w==="cancel"){f.item&&f._viewer.entities.remove(f.item);return}if(m.length<=1){window.layuiLayer&&window.layuiLayer.msg("\u5256\u9762\u70B9\u5C0F\u4E8E\u4E24\u70B9\uFF0C\u8BF7\u91CD\u65B0\u7ED8\u5236");return}B.spot=m;var S=E;f._core.getPmfxPro(m,S,y,f._cesium,f._viewer,function(D){B.distance=D.juli,B.gcs=D.gcs,B.cys=D.cys,B.max=D.max,B.min=D.min,B.allPoint=D.allPoint,A!=""&&A!=null&&typeof A=="function"&&A(B)})};var Q=[];this._tree.handler.setInputAction(function(w){var S=f._viewer.camera.getPickRay(w.position);v=f._viewer.scene.globe.pick(S,f._viewer.scene);var D=f._viewer.scene.pick(w.position);if(D){var R=f._viewer.scene.pickPosition(w.position);R&&(v=R)}!v||(m.length===0&&m.push(v.clone()),m.push(v),m.length>2&&(f._cesium.defined(C)||(C=new T(m))))},f._cesium.ScreenSpaceEventType.LEFT_CLICK);var T=function(){function w(S){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:f._cesium.Color.YELLOW,width:2,clampToGround:!0}},this.positions=S,this._init10()}return w.prototype._init10=function(){var S=this,D=function(){return S.positions};this.options.polyline.positions=new f._cesium.CallbackProperty(D,!1);var R=f._viewer.entities.add(this.options);f.item=R,f._tree.temporaryItem.obj.push(R);var P=0;!f._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(P=Ke.selectedItem.id);var M=f._core.getuid(),L={id:M,name:"\u65B0\u5EFA\u5256\u9762\u5206\u6790"+M,pId:f._core.isnull(x)?0:x,type:"polyline",item:f};f.setTreeobj(L),Ke.insertGroupId(L,f._core.isnull(x)?0:x)},w}();return this};Ca.prototype.executeAngeSdcs=function(o){this._lang=this._core.extend(this._lang,language._lang);var A=this;this._tree.removeHandler(),this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);var f=[],m=[],C=null,E=[],x=this._core.CreateTooltip(),y=0,I="",v=null,B,Q=0,T={spot:[],distance:0,label:{},angle:0};this._tree.handler.setInputAction(function(D){f.length===0?x.showAt(D.endPosition,A._lang.draw_tip_left):x.showAt(D.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF01");var R=A._viewer.camera.getPickRay(D.endPosition);if(v=A._getPosition.getMousePosition(D),!!v&&f.length>=2&&(A._cesium.defined(C)?(f.pop(),f.push(v)):C=new S(f),I=A._core.getSpaceDistance(f,A._cesium),w>=2)){A._viewer.entities.remove(B);var P=A._cesium.Cartographic.fromCartesian(f[f.length-1]),M=A._cesium.Math.toDegrees(P.longitude),L=A._cesium.Math.toDegrees(P.latitude),F=P.height,k={lon:M,lat:L,hei:F};E[2]=k,Q=A._core.Angle(E[0],E[1],E[2]).toFixed(1),B=A._viewer.entities.add({name:"\u4E09\u70B9\u89D2\u5EA6\u6D4B\u91CF",position:f[f.length-1],label:{text:Q+"\u5EA6",font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,pixelOffset:new Er.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),A._points.push(B)}},A._cesium.ScreenSpaceEventType.MOUSE_MOVE);var w=0;this._tree.handler.setInputAction(function(D){w>1&&(A._tree.handler.destroy(),f.pop());var R=A._viewer.camera.getPickRay(D.position);if(v=A._getPosition.getMousePosition(D),!!v){f.length==0&&f.push(v.clone()),f.push(v);var P=A._cesium.Cartographic.fromCartesian(f[f.length-1]),M=A._cesium.Math.toDegrees(P.longitude),L=A._cesium.Math.toDegrees(P.latitude),F=P.height;E.push({lon:M,lat:L,hei:F});var k=I;T.spot.push(v),T.distance=I,w==2&&(x.show(!1),T.label=B,T.angle=Q,o!=""&&o!=null&&typeof o=="function"&&o(T)),w=w+1}},A._cesium.ScreenSpaceEventType.LEFT_CLICK);var S=function(){function D(R){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:A._cesium.Color.YELLOW,width:3,clampToGround:!1}},this.positions=R,this._init6()}return D.prototype._init6=function(){var R=this,P=function(){return R.positions};this.options.polyline.positions=new A._cesium.CallbackProperty(P,!1);var M=A._viewer.entities.add(this.options);A.item=M},D}();return this};Ca.prototype.executeAngeSd=function(o){this._lang=this._core.extend(this._lang,language._lang),this._tree.removeHandler();var A=[];this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw);var f=[],m=this,C=0,E=[],x=void 0,y=[],I=[];this._tree.starttemporaryItem(this._viewer);var v=this._core.CreateTooltip(),B=0,Q=0,T=0,w,S=function(){function L(F){this.options={polyline:{show:!0,positions:[],material:m._cesium.Color.YELLOW,width:3,clampToGround:!1}},this.positionsp=F,this._init()}return L.prototype._init=function(){var F=this,k=function(){return F.positionsp};this.options.polyline.positions=new m._cesium.CallbackProperty(k,!1),this.polyline=m._viewer.entities.add(this.options),m._tree.temporaryItem.obj.push(this.polyline),m.item=this.polyline},L}();this._tree.handler=new m._cesium.ScreenSpaceEventHandler(m._viewer.scene.canvas);var D=[],R=void 0;if(this._points.length>0)for(var P=0;P<this._points.length;P++)this._viewer.entities.remove(this._points[P]);this._tree.handler.setInputAction(function(L){var F=m._getPosition.getMousePosition(L);if(!!F){y.push(F);var k=m._cesium.Cartographic.fromCartesian(F);if(D.length==0)D.push(F.clone()),D.push(F.clone()),x=F.clone();else{var N=m._core.ElevationAngle(x,F,m._cesium);A.length==1?I.push("\u4FEF\u4EF0\u89D21 "+N.toFixed(2)):I.push("\u4FEF\u4EF0\u89D22 "+N.toFixed(2)),R=void 0,D=[],D.push(x.clone()),D.push(x.clone()),R=new S(D),A.push(R.polyline)}if(I.length>=2){v.show(!1);var G={anglejd:B,anglefy:Q,anglesp:T},J=m._core.ThreePointAzimuth(y[0],y[1],y[2],m._cesium);I.push("\u6C34\u5E73\u89D2 "+J.toFixed(2));var K=m._viewer.entities.add({name:"\u4E09\u70B9\u89D2\u5EA6\u6D4B\u91CF",position:y[1],label:{text:I[0],font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,pixelOffset:new Er.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});m._tree.temporaryItem.obj.push(K);var X=m._viewer.entities.add({name:"\u4E09\u70B9\u89D2\u5EA6\u6D4B\u91CF",position:y[2],label:{text:I[1],font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,pixelOffset:new Er.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});m._tree.temporaryItem.obj.push(X);var q=m._viewer.entities.add({name:"\u4E09\u70B9\u89D2\u5EA6\u6D4B\u91CF",position:y[0],label:{text:I[2],font:"16px \u5B8B\u4F53",fillColor:Er.Color.GOLD,verticalOrigin:Er.VerticalOrigin.BOTTOM,pixelOffset:new Er.Cartesian2(20,-20),showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});m._tree.temporaryItem.obj.push(q),E.push(K),E.push(X),E.push(q),D.pop(),m._tree.handler.destroy(),m._core.mouse(m._viewer.container,0,"0"),m._tree.endtemporaryItem(),m._points=E,m._polylines=A,m._polylines1=A,o!=""&&o!=null&&typeof o=="function"&&o({polylines:A,labels:E,angles:I})}}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(L){var F=m._getPosition.getMousePosition(L);!F||(D.length===0?v.showAt(L.endPosition,m._lang.draw_tip_left):D.length<=3?v.showAt(L.endPosition,"\u70B9\u51FB\u7ED8\u5236\u76EE\u6807\u70B9\uFF01"):v.showAt(L.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF01"),D.length>=2&&(m._cesium.defined(R)?F!=null&&(D.pop(),F.y+=1+Math.random(),D.push(F)):(R=new S(D),A.push(R.polyline))))},this._cesium.ScreenSpaceEventType.MOUSE_MOVE);var M=0;return this};Ca.prototype.deleteObject=function(){if(this.item&&this.item.item?this._viewer.entities.remove(this.item.item):this._viewer.entities.remove(this.item),this._points&&this._points.length>0){for(var o=0;o<this._points.length;o++)this._viewer.entities.remove(this._points[o]);this._points=[]}if(this._polylines&&this._polylines.length>0){for(var o=0;o<this._polylines.length;o++)this._viewer.entities.remove(this._polylines[o]);this._polylines=[]}if(this.labels&&this.labels.length>0){for(var o=0;o<this.labels.length;o++)this._viewer.entities.remove(this.labels[o]);this.labels=[]}if(this.item&&this.item._points&&this.item._points.length>0){for(var o=0;o<this.item._points.length;o++)this._viewer.entities.remove(this.item._points[o]);this.item._points=[]}if(this.item&&this.item._polylines&&this.item._polylines.length>0){for(var o=0;o<this.item._polylines.length;o++)this._viewer.entities.remove(this.item._polylines[o]);this.item._polylines=[]}};Ca.prototype.setHeightType=function(o){try{o==1?this.item._polyline.heightReference=this._cesium.HeightReference.CLAMP_TO_GROUND:o==2?this.item._polyline.heightReference=this._cesium.HeightReference.NONE:o==3&&(this.item._polyline.heightReference=this._cesium.HeightReference.RELATIVE_TO_GROUND)}catch(A){console.log(A)}return this};Ca.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show._value,A=this.item.polyline.positions.getValue(),f=this.item.polyline.width==null?void 0:this.item.polyline.width._value,m=this.item.polyline.material;m!=null&&(m={color:m.color==null?void 0:"rgba("+m.color._value.red+","+m.color._value.green+","+m.color._value.blue+","+m.color._value.alpha+")",image:m.image==null?void 0:m.image._value,diffusemap:m.diffusemap==null?void 0:m.diffusemap._value,alphamap:m.alphamap==null?void 0:m.alphamap._value});var C=this.item.polyline.clampToGround==null?void 0:this.item.polyline.clampToGround._value,E=this.item.polyline.distanceDisplayCondition,x=E?._value.near,y=E?._value.far;return{type:"polyline",treeobj:{name:this.treeobj.name},style:{show:o,positions:A,width:f,material:m,clampToGround:C,near:x,far:y}}};Ca.prototype.setVisibility=function(o){if(this.item&&this.item.item?this.item.item.show=o:this.item.show=o,this.item&&this.item._points&&this.item._points.length>0)for(var A=0;A<this.item._points.length;A++)this.item._points[A].show=o;if(this._polylines&&this._polylines.length>0)for(var A=0;A<this._polylines.length;A++)this._polylines[A].show=o;if(this._points&&this._points.length>0)for(var A=0;A<this._points.length;A++)this._points[A].show=o;if(this.item&&this.item._polylines&&this.item._polylines.length>0)for(var A=0;A<this.item._polylines.length;A++)this.item._polylines[A].show=o};Ca.prototype.getVisibility=function(){return this.item.show};Ca.prototype.setOutlinewidth=function(o){this.item._polyline.material.outlineWidth=o};Ca.prototype.setMaterial=function(o){try{var A={outlineWidth:3},f=this._core.extend(A,o,!0);this.item._polyline.material=new this._cesium.PolylineGlowMaterialProperty(o),this.item.material=this.item._polyline.material}catch(m){console.log(m)}return this};Ca.prototype.setPolylineWall=function(o){try{for(var A=[],f=[],m=this.item._polyline.positions.getValue(),C=this._viewer.scene.globe.ellipsoid,E=0;E<m.length;E++){var x=new this._cesium.Cartesian3(m[E].x,m[E].y,m[E].z),y=C.cartesianToCartographic(x),I=this._cesium.Math.toDegrees(y.latitude),v=this._cesium.Math.toDegrees(y.longitude);A.push(v),A.push(I),f.push(o)}A=this._cesium.Cartesian3.fromDegreesArray(A),this.item.wall=new this._cesium.WallGraphics({positions:A,minimumHeights:f,material:this.item._polyline.material.color._value})}catch(B){console.log(B)}return this};Ca.prototype.setRadius=function(o){try{for(var A=[],f=this.item._polyline.positions.getValue(),m=this._viewer.scene.globe.ellipsoid,C=0;C<f.length;C++){var E=new this._cesium.Cartesian3(f[C].x,f[C].y,f[C].z),x=m.cartesianToCartographic(E),y=this._cesium.Math.toDegrees(x.latitude),I=this._cesium.Math.toDegrees(x.longitude);A.push(I),A.push(y)}A=this._cesium.Cartesian3.fromDegreesArray(A),this.item.corridor=new this._cesium.CorridorGraphics({positions:A,width:o,show:!0,outline:!0,material:this._cesium.Color.RED.withAlpha(.4),heightReference:this._cesium.HeightReference.none})}catch(v){console.log(v)}return this};Ca.prototype.setGlow=function(o){try{o?(this.item._polyline.material=new this._cesium.PolylineGlowMaterialProperty({glowPower:.2,taperPower:.5,color:this.item._polyline.material.color}),this.item.material=this.item._polyline.material):(this.item._polyline.material=new this._cesium.PolylineOutlineMaterialProperty({color:this.item._polyline.material.color,outlineWidth:this.item._polyline.material.outlineWidth,outlineColor:this.item._polyline.material.outlineColor}),this.item.material=this.item._polyline.material)}catch(A){console.log(A)}return this};Ca.prototype.setMaterialAlpha=function(o){try{this.item._polyline.material.color._value.alpha=o,this.item.material=this.item._polyline.material}catch(A){console.log(A)}return this};Ca.prototype.setType=function(o){try{o=="PolylineDashMaterialProperty"?this.item._polyline.material=new this._cesium.PolylineDashMaterialProperty({color:this.item._polyline.material.color}):o=="PolylineArrowMaterialProperty"?this.item._polyline.material=new this._cesium.PolylineArrowMaterialProperty({color:this.item._polyline.material.color}):o=="PolylineOutlineMaterialProperty"&&(this.item._polyline.material=new this._cesium.PolylineOutlineMaterialProperty({color:this.item._polyline.material.color}))}catch(A){console.log(A)}return this};Ca.prototype.setMaterialColor=function(o){try{this.item._polyline.material.color=new In(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};Ca.prototype.setOutlineColor=function(o){try{this.item._polyline.material.outlineColor=new In(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};Ca.prototype.setClampToGround=function(o){try{this.item._polyline.clampToGround=o}catch(A){console.log(A)}return this};Ca.prototype.setWidth=function(o){try{this.item._polyline.width=o}catch(A){console.log(A)}return this};Ca.prototype.setDistanceDisplayCondition=function(o,A){var f=new this._cesium.DistanceDisplayCondition(o,A);try{this.item._polyline.distanceDisplayCondition=f}catch(m){console.log(m)}return this};Object.defineProperties(Ca.prototype,{HighLight:{set:function(o){o&&(this.item.material=this.item.polyline.material),o?this.item.polyline.material=new this._cesium.PolylineGlowMaterialProperty({glowPower:.8,color:this._cesium.Color.ORANGERED.withAlpha(.9)}):this.item.polyline.material=this.item.material}},polylinemMterial:{set:bi.debounce(function(o){this._core.isnull(o)||(this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._Color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._Color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._Color.createColor(o.r,o.g,o.b,o.a))),this.item.polyline.material=o,this.item.material=this.item.polyline.material)},500),get:function(){var o=this.item.polyline.material;if(o)try{return this._Color.toHtmlColor("rgb("+o._value.red*255+","+o._value.green*255+","+o._value.blue*255+","+o._value.alpha*255+")")}catch{}}},polylinemArcType:{set:bi.debounce(function(o){this._core.isnull(o)||(this.item.polyline.arcType=o)},500),get:function(){var o=this.item.polyline.arcType;if(o)return o._value}},polylineWidth:{set:bi.debounce(function(o){this._core.isnull(o)||(o=parseFloat(o),this.item.polyline.width=o)},500),get:function(){var o=this.item.polyline.width;if(o)return o._value}}});Object.defineProperties(Ca.prototype,{rectangle:{get:function(){return this.item.rectangle},set:function(o){this.item.rectangle=o}}});Object.defineProperties(Ca.prototype,{polyline:{get:function(){return this.item.polyline},set:function(o){this.item.polyline=o}}});Object.defineProperties(Ca.prototype,{polygon:{get:function(){return this.item.polygon},set:function(o){this.item.polygon=o}}});Object.defineProperties(Ca.prototype,{point:{get:function(){return this.item.point},set:function(o){this.item.point=o}}});Object.defineProperties(Ca.prototype,{label:{get:function(){return this.item.label},set:function(o){this.item.label=o}}});Object.defineProperties(Ca.prototype,{model:{get:function(){return this.item.model},set:function(o){this.item.model=o}}});Ca.prototype.setItem=function(o){this.item=o};Ca.prototype.setTreeobj=function(o){this.treeobj=o};Object.defineProperties(Ca.prototype,{wall:{get:function(){return this.item.wall},set:function(o){this.item.wall=o}}});Object.defineProperties(Ca.prototype,{polylineTempOptions:{get:function(){return{positions:[],arcType:ArcType.GEODESIC,clampToGround:!1,width:1,show:!0,material:this._cesium.Color.WHITE}}}});Object.defineProperties(Ca.prototype,{MaterialColor:{get:function(){return new In(this._viewer,this._cesium).toHtmlColor("rgb("+this.item._polyline.material.color._value.red*255+","+this.item._polyline.material.color._value.green*255+","+this.item._polyline.material.color._value.blue*255+")")}},Height:{get:function(){return this.item._polyline.height}},Visibility:{get:function(){return this.item.show}},Outlinewidth:{get:function(){return this.item._polyline.material.outlineWidth._value}},OutlineColor:{get:function(){var o=this.item._polyline.material.outlineColor;return o?(o=o._value,new In(this._viewer,this._cesium).toHtmlColor("rgb("+o.red*255+","+o.green*255+","+o.blue*255+")")):"#ff0000"}},ClampToGround:{get:function(){return this.item._polyline.clampToGround}},Width:{get:function(){return this.item._polyline.width._value}},Type:{get:function(){return this.item._polyline.material instanceof this._cesium.PolylineDashMaterialProperty?"PolylineDashMaterialProperty":this.item._polyline.material instanceof this._cesium.PolylineArrowMaterialProperty?"PolylineArrowMaterialProperty":"PolylineOutlineMaterialProperty"}},Glow:{get:function(){return this.item._polyline.material instanceof this._cesium.PolylineGlowMaterialProperty}},MaterialAlpha:{get:function(){return this.item._polyline.material.color._value.alpha*100}}});Ca.prototype.CreatePolyline=function(o,A,f,m,C){this._Geometry=o;var E={color:this._cesium.Color.YELLOW,outlineColor:this._cesium.Color.BLACK,width:10,show:!0,AltitudeType:this._cesium.defaultValue(f,999)};A&&A!==""&&(E.color=new In(this._viewer,this._cesium).colorFromHtmlColor(A));for(var x=[],y=0;y<o.length;y++)x.push(this._cesium.Cartesian3.fromDegrees(o[y].x,o[y].y));this.item=this._viewer.entities.add({name:C,polyline:{positions:x,width:E.width,material:new this._cesium.PolylineGlowMaterialProperty({outlineColor:E.outlineColor,color:E.color})}});var I={id:this.item.id,name:C,pId:this._core.isnull(m)?0:m,type:"polyline",item:this};return this.setTreeobj(I),this._tree.insertGroupId(I,this._core.isnull(m)?0:m),this};Ca.prototype.forceEndHanlder=function(){this.handler&&(this.handler.destroy(),this.handler=void 0),this._tree.handler&&(this._tree.handler.destroy(),this._tree.handler=void 0)};var Ng=Ca;var os=null;function Jx(o,A){os=A,this._viewer=o,this._scene=o.scene,this._core=new $i(o,os),this._tooltip=this._core.CreateTooltip(),this._getPosition=new kl(this._viewer,os),this._drawColor={point:os.Color.BLUE,polyline:os.Color.YELLOW,polygon:os.Color.YELLOW.withAlpha(.5)},this.selectDatum=!0,this.onlyTerrain=!0,this.tin=!1,this._volumeTin=[],this.loadingImg=window.SmartEarthRootUrl+Zr.loading}Jx.prototype.cleanUp=function(){this._prevEntity!==void 0&&(this._viewer.entities.remove(this._prevEntity),this._prevEntity=void 0),this._prevEntity1!==void 0&&(this._viewer.entities.remove(this._prevEntity1),this._prevEntity1=void 0),this._volumeLabel!==void 0&&(this._viewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._volumeLabel1!==void 0&&(this._viewer.entities.remove(this._volumeLabel1),this._volumeLabel1=void 0),this._volumeTin.forEach(o=>{this._viewer.entities.remove(o)}),this._volumeTin=[],this.addPointHandle&&(this.addPointHandle.destroy(),this.addPointHandle=void 0),this.Triangulation=[],this.tinData=void 0,this._tooltip.show(!1)};Jx.prototype.deleteObject=Jx.prototype.cleanUp;Jx.prototype.startDrawing=function(o={},A="auto",f){var m=this._scene,C=this._tooltip,E=3,x=[],y=[],I=[],v;this._positions=y,this._degreesArr=I,this._drawColor.point=o.point||this._drawColor.point,this._drawColor.polyline=o.polyline||this._drawColor.polyline,this._drawColor.polygon=o.polygon||this._drawColor.polygon,this.loadingImg=o.loading||this.loadingImg,this.tin=this._core.defaultValue(o.tin,!0),this.onlyTerrain=this._core.defaultValue(o.onlyTerrain,!0),this.selectDatum=this._core.defaultValue(o.selectDatum,!0);var B=this;this._mouseHandler&&this._mouseHandler.destroy(),this.loading||this.addLoading();var Q=new os.ScreenSpaceEventHandler(m.canvas);this._mouseHandler=Q,this.cleanUp(),this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw);let T;Q.setInputAction(function(S){if(S.position!=null){var D=B._getPosition.getMousePosition(S);if(D){var R=os.Cartographic.fromCartesian(D),P=os.Math.toDegrees(R.longitude),M=os.Math.toDegrees(R.latitude);if(x.length===0&&(x.push(P,M),I.push([P,M]),y.push(D),v=D),y.length>=4){var L=os.SceneTransforms.wgs84ToWindowCoordinates(this._viewer.scene,v);if(L!==void 0){var F=L.x-S.position.x,k=L.y-S.position.y,N=F*F+k*k;if(N<16){x.splice(x.length-2,2),y.pop(),this.stopDrawing(f);return}}}x.push(P,M),I.push([P,M]),y.push(D),y.length===2&&!T&&(T=this._viewer.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new os.CallbackProperty(function(){return y},!1),clampToGround:!0,material:B._drawColor.polygon,width:3}})),y.length===E&&(T&&this._viewer.entities.remove(T),this._prevEntity=this._viewer.entities.add({polygon:{hierarchy:new os.PolygonHierarchy(os.Cartesian3.fromDegreesArray(x)),material:B._drawColor.polygon,fill:!0}}),this._prevEntity.polygon.hierarchy=new os.CallbackProperty(w,!1))}}}.bind(this),os.ScreenSpaceEventType.LEFT_CLICK),Q.setInputAction(function(S){var D=S.endPosition;if(D!=null)if(y.length===0)C.showAt(D,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236\u7B2C\u4E00\u4E2A\u70B9");else{var R=B._getPosition.getMousePosition(S);if(R){var P=os.Cartographic.fromCartesian(R),M=os.Math.toDegrees(P.longitude),L=os.Math.toDegrees(P.latitude);if(x.splice(x.length-2,2),I.pop(),y.pop(),x.push(M,L),I.push([M,L]),y.push(R),C.showAt(D,"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236"),y.length>=3&&y.length>=4){var F=os.SceneTransforms.wgs84ToWindowCoordinates(this._viewer.scene,v);if(F!==void 0){var k=F.x-D.x,N=F.y-D.y,G=k*k+N*N;G<16?document.body.style.cursor="pointer":document.body.style.cursor="default"}}}}}.bind(this),os.ScreenSpaceEventType.MOUSE_MOVE),Q.setInputAction(function(S){this.end&&this.end()}.bind(this),os.ScreenSpaceEventType.RIGHT_CLICK);function w(){return new os.PolygonHierarchy(os.Cartesian3.fromDegreesArray(x))}return this.end=S=>{if(this._mouseHandler!==void 0&&(this._mouseHandler.destroy(),this._mouseHandler=void 0),this._core.mouse(this._viewer.container,0),this._tooltip.show(!1),T&&this._viewer.entities.remove(T),this.end=void 0,!(y.length<E)){if(this._prevEntity&&(this._prevEntity.polygon.hierarchy=os.Cartesian3.fromDegreesArray(x)),S==="cancel"){this._prevEntity&&this._viewer.entities.remove(this._prevEntity);return}this.stopDrawing(A,f)}},this};Jx.prototype.stopDrawing=function(o,A){this._mouseHandler!==void 0&&(this._mouseHandler.destroy(),this._mouseHandler=void 0),this._volumeLabel!==void 0&&(this._viewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._volumeLabel1!==void 0&&(this._viewer.entities.remove(this._volumeLabel1),this._volumeLabel1=void 0),this._volumeTin.forEach(f=>{this._viewer.entities.remove(f)}),this._volumeTin=[],this.isLoading(!0),setTimeout(()=>{var f=this.computeCutVolume(o,this.onlyTerrain);let m=C=>{var E=C.maxHeight,x=C.minHeight;this._prevEntity.polygon.height=C.minHeight,this._prevEntity.polygon.heightReference=0;var y={id:this._core.getuid(),polygon:{hierarchy:{positions:this._positions},height:x,extrudedHeight:E,closeTop:!1,closeBottom:!1,material:os.Color.CYAN.withAlpha(.2),distanceDisplayCondition:new os.DistanceDisplayCondition(0,this.viewDistance*1.5),outline:!0,outlineColor:os.Color.RED,outlineWidth:2}};if(this._prevEntity1=this._viewer.entities.add(y),typeof A=="function"&&A(C),this.selectDatum){let I=()=>{this.addPoint(v=>{this.setDatum(v,B=>{typeof A=="function"&&A({...C,...B}),I()})})};I()}};this.onlyTerrain?f.then(C=>{m(C)}):m(f)},100)};Jx.prototype.computeCentroidOfPolygon=function(o){for(var A=[],f=[],m=0,C=0,E=0;E<o.length;E++){var x=os.Cartographic.fromCartesian(o[E]);m+=x.longitude,C+=x.latitude,A.push(x.longitude),f.push(x.latitude)}var y=0,I=0;return y=m/o.length,I=C/o.length,new os.Cartographic(y,I)};Jx.prototype.computeCutVolume=function(o,A){var f=15e3,m=-15e3;let C=os.BoundingSphere.fromPoints(this._positions);this.viewDistance=this._core.getPointToCameraDistance(this._viewer,C.center)*1.5,o==="auto"&&(o=C.radius/20);let E=this._core.getPointsInPolygon(this._degreesArr,o,!0),x=os.turf.polygon([this._degreesArr]),y=()=>{let{tin:I}=this._core.tinFromPoints(E,{getArea:!0,polygon:x});this.tinData=I;let v={fill:0,dig:0},B={fill:"\u7ACB\u65B9\u7C73",dig:"\u7ACB\u65B9\u7C73"};var Q,T,w,S,D,R={fill:1,dig:1};this.Triangulation=[],I.features.forEach(M=>{if(M.positions){if(this.tin){let F=this._viewer.entities.add({polygon:{hierarchy:new os.PolygonHierarchy(M.positions),material:this._drawColor.polygon,perPositionHeight:!0,outline:!0,distanceDisplayCondition:new os.DistanceDisplayCondition(0,this.viewDistance*1.5),outlineColor:os.Color.YELLOW}});this._volumeTin.push(F)}let L=M.geometry.coordinates[0];Q=L[0][2],T=L[1][2],w=L[2][2],D=M.area,this.Triangulation.push({bottomArea:D,height:[Q,T,w]}),S=(Q-f+T-f+w-f)/3,S>0?v.dig=v.dig+D*S*R.dig:v.fill=v.fill-D*S*R.fill,v.dig>1e10&&B.dig==="\u7ACB\u65B9\u7C73"&&(v.dig=v.dig/1e9,B.dig="\u7ACB\u65B9\u5343\u7C73",R.dig=1e-9),v.fill>1e10&&B.fill==="\u7ACB\u65B9\u7C73"&&(v.fill=v.fill/1e9,B.fill="\u7ACB\u65B9\u5343\u7C73",R.fill=1e-9)}});var P=this.computeCentroidOfPolygon(this._positions);return this._volumeLabel=this._viewer.entities.add({position:os.Cartesian3.fromRadians(P.longitude,P.latitude,m),label:{text:"\u6316\u65B9\u4F53\u79EF\uFF1A"+v.dig.toFixed(4)+B.dig,pixelOffset:{x:0,y:-30},font:"16px \u5B8B\u4F53",fillColor:os.Color.GOLD,verticalOrigin:os.VerticalOrigin.BOTTOM,showBackground:!0,distanceDisplayCondition:new os.DistanceDisplayCondition(0,this.viewDistance*1.5),disableDepthTestDistance:Number.POSITIVE_INFINITY}}),this._volumeLabel1=this._viewer.entities.add({position:os.Cartesian3.fromRadians(P.longitude,P.latitude,m),label:{text:"\u586B\u65B9\u4F53\u79EF\uFF1A"+v.fill.toFixed(4)+B.fill,pixelOffset:{x:0,y:-70},font:"16px \u5B8B\u4F53",fillColor:os.Color.GOLD,verticalOrigin:os.VerticalOrigin.BOTTOM,showBackground:!0,distanceDisplayCondition:new os.DistanceDisplayCondition(0,this.viewDistance*1.5),disableDepthTestDistance:Number.POSITIVE_INFINITY}}),this.isLoading(!1),{maxHeight:m,minHeight:f,volume:v,unit:B,spacing:o}};if(A){let I=[];return E.features.forEach(v=>{let B=v.geometry.coordinates;I.push(os.Cartographic.fromDegrees(B[0],B[1]))}),this._core.getHeightsFromLonLat(this._viewer,I).then(v=>(E.features.forEach((B,Q)=>{let T=B.geometry.coordinates;T[2]=v[Q]||0,m<T[2]&&(m=T[2]),f>T[2]&&(f=T[2])}),y()))}else return E.features.forEach(I=>{let v=I.geometry.coordinates,B=new os.Cartographic(os.Math.toRadians(v[0]),os.Math.toRadians(v[1]));v[2]=Viewer.scene.sampleHeight(B)||0,m<v[2]&&(m=v[2]),f>v[2]&&(f=v[2])}),y()};Jx.prototype.addLoading=function(){var o=document.createElement("div");o.id="cesiumLoading",o.style.cssText="width: 100%;height: 100%;display:none;pointer-events: none;position: absolute;top: 0;left: 0;-moz-box-sizing: border-box;box-sizing: border-box;background-color: unset;z-index: 99999;";var A=document.createElement("img");A.style.cssText="position: relative;width: 110px;height: 110px;margin: auto;top: 50%;left: 50%;margin-top: -55px;margin-left: -55px;",A.src=this.loadingImg,o.appendChild(A),this.loading=o,this._viewer.container.appendChild(o)};Jx.prototype.isLoading=function(o){o?this.loading.style.display="block":this.loading.style.display="none"};Jx.prototype.removeLoading=function(){this.loading&&this.loading.remove(),this.loading=void 0};Jx.prototype.addPoint=function(o){if(this.addPointHandle&&(this.addPointHandle.destroy(),this.addPointHandle=null),!this._prevEntity1)return;this.addPointHandle=new os.ScreenSpaceEventHandler(this._viewer.scene.canvas),this.addPointHandle.setInputAction(function(f){var m=this._viewer.scene.pick(f.position);if(m&&m.id&&m.id.id===this._prevEntity1.id){let E=this._getPosition.getMousePosition(f);if(E){var C=os.Cartographic.fromCartesian(E);this.addPointHandle.destroy(),this.addPointHandle=null,o&&typeof o=="function"&&o(C.height.toFixed(1))}}}.bind(this),os.ScreenSpaceEventType.LEFT_CLICK);let A;this.addPointHandle.setInputAction(function(f){clearTimeout(A),A=setTimeout(()=>{var m=this._viewer.scene.pick(f.endPosition);m&&m.id&&m.id.id===this._prevEntity1.id?this._tooltip.showAt(f.endPosition,"\u70B9\u51FB\u4FEE\u6539\u57FA\u51C6\u9762\u9AD8\u5EA6"):this._tooltip.show(!1)},50)}.bind(this),os.ScreenSpaceEventType.MOUSE_MOVE)};Jx.prototype.showTin=function(o){this.tin=o,this._volumeTin.forEach(A=>{this._viewer.entities.remove(A)}),this._volumeTin=[],o&&this.tinData&&this.tinData.features.forEach(A=>{if(A.positions){let f=this._viewer.entities.add({polygon:{hierarchy:new os.PolygonHierarchy(A.positions),material:this._drawColor.polygon,perPositionHeight:!0,outline:!0,outlineColor:os.Color.YELLOW}});this._volumeTin.push(f)}})};Jx.prototype.setDatum=function(o,A){if(this.Triangulation&&this.Triangulation.length>0){var f,m,C,E={fill:0,dig:0},x={fill:"\u7ACB\u65B9\u7C73",dig:"\u7ACB\u65B9\u7C73"},y={fill:1,dig:1};this.Triangulation.forEach(function(I){f=I.bottomArea,m=I.height,C=(m[0]-o+m[1]-o+m[2]-o)/3,C>0?E.dig=E.dig+f*C*y.dig:E.fill=E.fill-f*C*y.fill,E.dig>1e10&&x.dig==="\u7ACB\u65B9\u7C73"&&(E.dig=E.dig/1e9,x.dig="\u7ACB\u65B9\u5343\u7C73",y.dig=1e-9),E.fill>1e10&&x.fill==="\u7ACB\u65B9\u7C73"&&(E.fill=E.fill/1e9,x.fill="\u7ACB\u65B9\u5343\u7C73",y.fill=1e-9)}),this._volumeLabel.label.text="\u6316\u65B9\u4F53\u79EF\uFF1A"+E.dig.toFixed(4)+x.dig,this._volumeLabel1.label.text="\u586B\u65B9\u4F53\u79EF\uFF1A"+E.fill.toFixed(4)+x.fill,this._prevEntity.polygon.height=o,A&&typeof A=="function"&&A({volume:E,unit:x})}};var nae=Jx;var MK=null;function jw(o,A){MK=A,this._viewer=o,this._core=new $i(o,A),this.measureData=new Map}jw.prototype.clearMeasure=function(o){if(o){let A=this.measureData.get(o);A&&A.deleteObject&&A.deleteObject(),A&&A.cleanUp&&A.cleanUp(),this.measureData.delete(o)}else this.measureData.forEach(A=>{A.deleteObject&&A.deleteObject(),A.cleanUp&&A.cleanUp()}),this.measureData.clear()};jw.prototype.horizontalDistance=function(o={},A){let f=this.Polyline.horizontalDistance(o,m=>{m.id=this._core.getuid(),this.measureData.set(m.id,f),A&&typeof A=="function"&&A(m)})};jw.prototype.spaceDistance=function(o={},A){let f=this.Polyline.spaceDistance(o,m=>{m.id=this._core.getuid(),this.measureData.set(m.id,f),A&&typeof A=="function"&&A(m)})};jw.prototype.altitude=function(o={},A){let f=this.Point.altitude(o,m=>{m.id=this._core.getuid(),this.measureData.set(m.id,f),A&&typeof A=="function"&&A(m)})};jw.prototype.verticalHeight=function(o={},A){let f=this.Polyline.verticalHeight(o,m=>{m.id=this._core.getuid(),this.measureData.set(m.id,f),A&&typeof A=="function"&&A(m)})};jw.prototype.surfaceArea=function(o={},A){let f=this.Polygon.surfaceArea(o,m=>{m.id=this._core.getuid(),this.measureData.set(m.id,f),A&&typeof A=="function"&&A(m)})};jw.prototype.planeArea=function(o={},A){let f=this.Polygon.planeArea(o,m=>{m.id=this._core.getuid(),this.measureData.set(m.id,f),A&&typeof A=="function"&&A(m)})};jw.prototype.measureAngle=function(o={},A){let f=this.Polyline.measureAngle(o,m=>{m.id=this._core.getuid(),this.measureData.set(m.id,f),A&&typeof A=="function"&&A(m)})};jw.prototype.analysisVolume=function(o={},A){let f=new nae(this._viewer,MK);f.startDrawing(o,o.spacing||"auto",m=>{f.value?f.value=`\u586B\u65B9\uFF1A${m.volume.fill.toFixed(4)+m.unit.fill}<br>\u6316\u65B9\uFF1A${m.volume.dig.toFixed(4)+m.unit.dig}`:(m.id=this._core.getuid(),this.measureData.set(m.id,f),f.value=`\u586B\u65B9\uFF1A${m.volume.fill.toFixed(4)+m.unit.fill}<br>\u6316\u65B9\uFF1A${m.volume.dig.toFixed(4)+m.unit.dig}`),A&&typeof A=="function"&&A(m)})};Object.defineProperties(jw.prototype,{Point:{get:function(){return new LI(this._viewer,MK)}},Polyline:{get:function(){return new Ng(this._viewer,MK)}},Polygon:{get:function(){return new Fg(this._viewer,MK)}}});var oae=jw;function Cc(o){this._earthCtrl=o,this._coreMap=o.coreMap,this.tools=[],this._measure=new oae(o.viewer,Di)}Cc.prototype.lineLength=function(o){this._earthCtrl.analysis.saveResult===!1&&this._earthCtrl.tools.clearTool();let A=new JDe(this._earthCtrl,function(f){o&&o(f)});return this._earthCtrl.tools.registerTool("line_length_tool",A),this.tools.push(A),A};Cc.prototype.lineDistance=function(o={},A){this._measure.spaceDistance(o,A)};Cc.prototype.clampLineDistance=function(o={},A){this._measure.horizontalDistance(o,A)};Cc.prototype.pathLength=function(o){this._earthCtrl.analysis.saveResult===!1&&this._earthCtrl.tools.clearTool();let A=new rae(this._earthCtrl,function(f){o&&o(f)});return this._earthCtrl.tools.registerTool("path_length_tool",A),this.tools.push(A),A};Cc.prototype.measureHeight=function(o){this._earthCtrl.analysis.saveResult===!1&&this._earthCtrl.tools.clearTool();let A=new jDe(this._earthCtrl,function(f){o&&o(f)});return this._earthCtrl.tools.registerTool("height_tool",A),this.tools.push(A),A};Cc.prototype.measureSlope=function(o,A){o=oe(o,oe.EMPTY_OBJECT),O(o.enable)||(o.enable=!0);let f=new XDe(this._earthCtrl,o,function(C){A&&A(C)}),m=Rl();return this._earthCtrl.tools.registerTool(`slope_tool${m}`,f),this.tools.push(f),f};Cc.prototype.spatialDistance=function(o){this._earthCtrl.analysis.saveResult===!1&&this._earthCtrl.tools.clearTool();let A=new rae(this._earthCtrl,function(f){o&&o(f)});return this._earthCtrl.tools.registerTool("spatial_distance_tool",A),this.tools.push(A),A};Cc.prototype.horizontalDistance=function(o,A){o=oe(o,oe.EMPTY_OBJECT),O(o.enable)||(o.enable=!0);let f=new $De(this._earthCtrl,o,function(C){A&&A(C)}),m=Rl();return this._earthCtrl.tools.registerTool(`horizontal_distance_tool${m}`,f),this.tools.push(f),f};Cc.prototype.planeArea=function(o,A){this._measure.planeArea(o,A)};Cc.prototype.surfaceArea=function(o,A){this._measure.surfaceArea(o,A)};Cc.prototype.measureArea=function(o){this._earthCtrl.analysis.saveResult===!1&&this._earthCtrl.tools.clearTool();let A=new TK(this._earthCtrl,function(f){o&&o(f)});return this._earthCtrl.tools.registerTool("area_tool",A),this.tools.push(A),A};Cc.prototype.measureSurfaceArea=function(o){this._earthCtrl.analysis.saveResult===!1&&this._earthCtrl.tools.clearTool();let A=new iTe(this._earthCtrl,function(f){o&&o(f)});return this._earthCtrl.tools.registerTool("surface_area_tool",A),this.tools.push(A),A};Cc.prototype.altitude=function(o,A){this._measure.altitude(o,A)};Cc.prototype.height=function(o,A){this._measure.verticalHeight(o,A)};Cc.prototype.angle=function(o,A){this._measure.measureAngle(o,A)};var aae=new Rt;Cc.prototype.measureTerrainHeight=function(o){return aae.longitude=Be.toRadians(o.longitude),aae.latitude=Be.toRadians(o.latitude),aae.height=o.height,this._coreMap.scene.globe.getHeight(aae)};Cc.prototype.lineOfSight=function(o,A){this._earthCtrl.tools.clearTool();let f=new olt(this._earthCtrl,function(m){A&&A(m)});this._earthCtrl.tools.registerTool("line_of_sight_tool",f)};Cc.prototype.threatDome=function(o,A){};Cc.prototype.viewShed=function(o,A){};Cc.prototype.buffer=function(o,A){};Cc.prototype.pickPosition=function(o,A){this._earthCtrl.tools.clearTool();let f=new lTe(o,this._earthCtrl,function(m){A&&A(m)});this._earthCtrl.tools.registerTool("pick_position_tool",f)};Cc.prototype.pickObject=function(o,A){this._earthCtrl.tools.clearTool();let f=new aTe(this._earthCtrl,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("pick_object_tool",f),f};Cc.prototype.endPickObject=function(o){this._earthCtrl.tools.clearTool(),o.endPickObject(),this._earthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!0,this._earthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!0};Cc.prototype.hoverObject=function(o,A){this._earthCtrl.tools.clearTool();let f=new ATe(this._earthCtrl,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("hover_object_tool",f),f};Cc.prototype.doubleClickObject=function(o,A){this._earthCtrl.tools.clearTool();let f=new hTe(this._earthCtrl,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("doubeClick_object_tool",f),f};Cc.prototype.RClickObject=function(o,A){this._earthCtrl.tools.clearTool();let f=new fTe(this._earthCtrl,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("RClick_object_tool",f),f};Cc.prototype.clearResult=function(o){O(o)?o.clearResult():this._earthCtrl.tools.clearResult(),this._measure.clearMeasure()};Cc.prototype.lineOfSightByParams=function(o,A){let f=Z.normalize(Z.subtract(o.endPoint,o.startPoint,new Z),new Z),m=Z.distance(o.endPoint,o.startPoint),C=new Ua(o.startPoint,f),E=[],x=this.earthCtrl.coreMap.scene.pickFromSegment(C,m,E),y=!0,I;return!O(x)||!O(x.position)?y=!1:I=x.position,A&&A({ret:y,position:I}),y};var gTe=Cc;var iH=new Z(0,0,0),pTe=class{constructor(){this.name="PolylineCreateTool"}onActive(){this.mTotalLength=0,this.mControlPointArray=[],this.mPathPointArray=[],this.mPolyline=null,this.mPoints=null}onDeactive(){O(this.mPolyline)&&(this.mPolyline.destory(),this.mPolyline=null),O(this.mPoints)&&(this.mPoints.destory(),this.mPoints=null),this.mTotalLength=0,this.mControlPointArray=null,this.mPathPointArray=null}onLButtonUp(A){return super.onLButtonUp(A)===!1?!1:(this.pickVector(A,iH)&&(this.mControlPointArray.length>0&&this.mControlPointArray.pop(),this.mControlPointArray.push(Z.clone(iH)),this.mControlPointArray.push(Z.clone(iH)),this.mTotalLength=this.calculateLength(this.mControlPointArray,!1),O(this.mPoints)&&this.mPoints.add(Z.clone(iH))),!0)}onRButtonDown(A){super.onRButtonDown(A),this.mControlPointArray.length>=2&&(this.mCallback&&this.mCallback({result:this.mControlPointArray}),O(this.mPolyline)&&(this.mPolyline.destory(),this.mPolyline=null),this.mPolyline=sA.createPolylinePrimitive(this.mEarthCtrl,{positions:this.mControlPointArray,color:Ve.fromRgba(4286644096),width:3}),this.mEnable=!1)}onMouseMove(A){super.onMouseMove(A);let f=this.mControlPointArray.length;f<=1||this.pickVector(A,iH)&&(Z.clone(iH,this.mControlPointArray[f-1]),O(this.mPolyline)||(this.mPolyline=sA.createPolylinePrimitive(this.mEarthCtrl,{positions:this.mControlPointArray,color:Ve.fromRgba(4286644096),width:3})))}},sae=pTe;var fk=new Z(0,0,0),mTe=class extends Za{constructor(A,f,m){super(A,f,m),this.name="PolylineCreateTool"}onActive(){this.mTotalLength=0,this.mControlPointArray=[],this.mPolygonPointArray=[],this.mPolygon=null,this.mPolyline=null,this.mPoints=null}onDeactive(){O(this.mPolygon)&&(this.mPolygon.destory(),this.mPolygon=null),O(this.mPolyline)&&(this.mPolyline.destory(),this.mPolyline=null),O(this.mPoints)&&(this.mPoints.destory(),this.mPoints=null),O(this.mLabel)&&(this.mLabel.destory(),this.mLabel=null),this.mTotalLength=0,this.mControlPointArray=[],this.mPolygonPointArray=[]}onLButtonUp(A){if(super.onLButtonUp(A)===!1)return!1;if(this.pickVector(A,fk)){if(this.mControlPointArray.length>0&&(this.mControlPointArray.pop(),this.mControlPointArray.pop()),this.mControlPointArray.push(Z.clone(fk)),this.mControlPointArray.push(Z.clone(fk)),this.mControlPointArray.push(Z.clone(this.mControlPointArray[0])),this.mPolygonPointArray.push(Z.clone(fk)),O(this.mPoints)&&this.mPoints.add(Z.clone(fk)),this.mPolygonPointArray.length<3)return;O(this.mPolygon)||(this.mPolygon=sA.createPolygonPrimitive(this.mEarthCtrl,{positions:this.mPolygonPointArray,color:Ve.fromRgba(2290155392),outlineColor:Ve.WHITE,width:3}))}return!0}onRButtonDown(A){super.onRButtonDown(A),this.mControlPointArray.length>=2&&(this.mCallback&&this.mCallback({result:this.mControlPointArray}),this.mEnable=!1)}onMouseMove(A){super.onMouseMove(A);let f=this.mControlPointArray.length;f<=2||this.pickVector(A,fk)&&(Z.clone(fk,this.mControlPointArray[f-2]),O(this.mPolyline)||(this.mPolyline=sA.createPolylinePrimitive(this.mEarthCtrl,{positions:this.mControlPointArray,color:Ve.fromRgba(3422617472),width:3})))}},lae=mTe;function rH(o,A){this.mEarthCtrl=o,this.handler=new cr(o.coreMap.canvas),A=oe(A,oe.EMPTY_OBJECT),this.mCallback=A.callback,this.name="DrawShapeTool",this.entityShape=null,this.points=[],this.drawingMode=oe(A.shape,"polygon"),this.activeShapePoints=[],this.activeShape=void 0,this.floatingPoint=void 0;let f=this;f.handler.setInputAction(function(m){let C=f.mEarthCtrl.coreMap;if(!nc.supportsPolylinesOnTerrain(C.scene)){console.log("This browser does not support polylines on terrain.");return}let E=C.scene.pickPosition(m.position);O(E)&&(f.activeShapePoints.length===0&&(f.floatingPoint=f.createPoint(E),f.activeShapePoints.push(E)),f.activeShapePoints.push(E),f.createPoint(E))},si.LEFT_CLICK),f.handler.setInputAction(function(m){f.handler.destroy(),f.terminateShape()},si.RIGHT_CLICK),f.handler.setInputAction(function(m){if(O(f.floatingPoint)){let C=f.mEarthCtrl.coreMap.scene.pickPosition(m.endPosition);if(O(C)&&(f.floatingPoint.position.setValue(C),f.activeShapePoints.pop(),f.activeShapePoints.push(C),!O(f.entityShape))){let E;f.drawingMode==="polygon"?f.activeShapePoints.length>=3&&(E=new Hr(function(){return new yn(f.activeShapePoints)},!1),f.entityShape=f.drawShape(E)):(E=new Hr(function(){return f.activeShapePoints},!1),f.entityShape=f.drawShape(E))}}},si.MOUSE_MOVE)}Object.defineProperties(rH.prototype,{});rH.prototype.createPoint=function(o){let A=this.mEarthCtrl.entities.add({position:o,point:{pixelSize:10,color:Ve.YELLOW,heightReference:An.CLAMP_TO_GROUND}});return this.points.push(A),A};rH.prototype.terminateShape=function(){!O(this.mCallback)||(console.info(this.entityShape),O(this.entityShape.polygon)?this.mCallback({result:this.entityShape.polygon.hierarchy.getValue().positions}):O(this.entityShape.polyline)?this.mCallback({result:this.entityShape.polyline.positions.getValue()}):this.mCallback({result:this.entityShape.point.positions.getValue()}))};rH.prototype.drawShape=function(o){let A,m=this.mEarthCtrl;return this.drawingMode==="polyline"?A=m.entities.add({polyline:{positions:o,clampToGround:!0,arcType:Ia.RHUMB,material:Ve.GREEN,width:5}}):this.drawingMode==="polygon"?A=m.entities.add({polygon:{hierarchy:o,material:new ba(Ve.LIGHTSKYBLUE.withAlpha(.7))}}):this.drawingMode==="point"&&(A=m.entities.add({position:o,point:{pixelSize:10,color:Ve.YELLOW,heightReference:An.CLAMP_TO_GROUND}})),A};rH.prototype.removeFromMap=function(){let o=this.mEarthCtrl;o.entities.remove(this.floatingPoint),o.entities.remove(this.activeShape);for(let A=0;A<this.points.length;A++){let f=this.points[A];o.entities.remove(f)}this.entityShape=null,this.floatingPoint=void 0,this.activeShape=void 0,this.activeShapePoints=[],this.points=[]};var alt=rH;function MPi(o,A){let f=null,m="",C=null,E,x=[],y=function(){function T(w){this.options={name:"",polygon:{hierarchy:[],heightReference:oe(m.heightReference,1),perPositionHeight:m.heightReference===0,material:oe(m.material,Ve.YELLOW.withAlpha(.5))}},this.hierarchy=w,this._init()}return T.prototype._init=function(){let w=this,S=function(){return w.hierarchy};this.options.polygon.hierarchy=new Hr(S,!1),this.polygon=o.entities.add(this.options),f=this.polygon},T}();C=new cr(o.coreMap.scene.canvas);let I=[],v={},B;C.setInputAction(function(T){let w=o.coreMap.camera.getPickRay(T.position),S=o.coreMap.scene.globe.pick(w,o.coreMap.scene),D=Rt.fromCartesian(S),R=Be.toDegrees(D.longitude),P=Be.toDegrees(D.latitude);I.length===0&&(I.push(S.clone()),x.push([R,P])),I.push(S),v=new yn(I),x.push([R,P])},si.LEFT_CLICK);let Q=new PPi;C.setInputAction(function(T){I.length===0?Q.showAt(T.endPosition,"\u5DE6\u952E\u5F00\u59CB\u7ED8\u5236\uFF01"):I.length<=2?Q.showAt(T.endPosition,"\u70B9\u51FB\u7EE7\u7EED\u7ED8\u5236\uFF01"):Q.showAt(T.endPosition,"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236\uFF01");let w=o.coreMap.scene.pickPosition(T.endPosition);if(!w)return;let S=Rt.fromCartesian(w),D=Be.toDegrees(S.longitude),R=Be.toDegrees(S.latitude);I.length>=2&&(O(B)?w!==void 0&&(I.pop(),w.y+=1+Math.random(),I.push(w),v=new yn(I),x.pop(),x.push([D,R])):(v=new yn(I),B=new y(v)),o.entities.remove(E),E=o.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:new Hr(function(){let P=new Z;return I.forEach(M=>{Z.add(P,M,P)}),Z.divideByScalar(P,I.length,new Z)},!1)}))},si.MOUSE_MOVE),C.setInputAction(function(T){C.destroy(),Q.show(!1);let w={polygon:{},positions:[],area:[]};w.polygon=B;let S=[];for(let D=0;D<I.length;D++){let R=Rt.fromCartesian(I[D]),P=Be.toDegrees(R.longitude),M=Be.toDegrees(R.latitude),L=R.height;S.push({lon:P,lat:M,hei:L})}w.positions=S,A&&A(x),o.entities.remove(E),o.entities.remove(f)},si.RIGHT_CLICK)}function PPi(o={},A,f){let m,C,E,x,y;typeof o=="object"&&(m=o),m&&m.origin?(m.origin==="center"&&(C=15,E=-12),m.origin==="top"&&(C=15,E=-44),m.origin==="bottom"&&(C=15,E=20)):(C=15,E=20),m&&m.color?(m.color==="white"&&(x="background: rgba(255, 255, 255, 0.8);color: black;"),m.color==="black"&&(x="background: rgba(0, 0, 0, 0.5);color: white;"),m.color==="yellow"&&(x="color: black;background-color: #ffcc33;border: 1px solid white;")):x="background: rgba(0, 0, 0, 0.5);color: white;",m&&m.id?y=`toolTip${m.id}`:y="toolTip";let I=null;if(!I){let v=document.createElement("div");CA(".map-widget",v);let B=`<div id="${y}" style="display: none;pointer-events: none;position: absolute;z-index: 1000;opacity: 0.8;border-radius: 4px;padding: 4px 8px;white-space: nowrap;font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px;${x}"></div>`;CA(".map-widget",B),I=document.getElementById(y)}return f?(I.innerHTML=o,I.style.left=`${A.x+C}px`,I.style.top=`${A.y+E}px`,I.style.display="block"):I.style.display="none",{tooltip:I,style:m,showAt:function(v,B){this.tooltip.innerHTML=B,this.style&&this.style.origin?(this.style.origin==="center"&&(C=15,E=-this.tooltip.offsetHeight/2),this.style.origin==="top"&&(C=15,E=-this.tooltip.offsetHeight-20),this.style.origin==="bottom"&&(C=15,E=20)):(C=15,E=-this.tooltip.offsetHeight/2),this.tooltip.style.left=`${v.x+C}px`,this.tooltip.style.top=`${v.y+E}px`,this.tooltip.style.display="block"},show:function(v){v?this.tooltip.style.display="block":this.tooltip.style.display="none"}}}var slt=MPi;function PK(o){this._earthCtrl=o,this._coreMap=o.coreMap}PK.prototype.createPolyline=function(o){this._earthCtrl.tools.clearTool();let A=new sae(this._earthCtrl,function(f){o&&o(f)});this._earthCtrl.tools.registerTool("createPolylineTool",A)};PK.prototype.createPolygon=function(o){this._earthCtrl.tools.clearTool();let A=new lae(this._earthCtrl,function(f){o&&o(f)});return this._earthCtrl.tools.registerTool("createPolygonTool",A),A};PK.prototype.createDrawShapeTool=function(o,A){return new alt(this._earthCtrl,{callback:o,shape:A})};PK.prototype.drawPolygon=function(o){return new slt(this._earthCtrl,o)};var llt=PK;function CTe(o){this._earthCtrl=o,this._coreMap=o.coreMap}CTe.prototype.select=function(o){this._earthCtrl.tools.clearTool();let A=new sae(this._earthCtrl,function(f){o&&o(f)});this._earthCtrl.tools.registerTool("createPolylineTool",A)};CTe.prototype.selectInWorld=function(o){this._earthCtrl.tools.clearTool();let A=new lae(this._earthCtrl,function(f){o&&o(f)});this._earthCtrl.tools.registerTool("createPolygonTool",A)};var ETe=CTe;function ult(o){this.mEarthCtrl=o,this.coreMap=o.coreMap,this._parameter={},this._pps=null,this.removeFromMap=function(){Alt(this)}}var DE={r:.8,g:.8,b:.8,a:.2,d:.3};function RPi(o){if(O(o._pps))return;o._pps=new wa({name:"czm_fog",fragmentShader:LPi()}),o.mEarthCtrl.coreMap.scene.postProcessStages.add(o._pps)}function Alt(o){O(o._pps)&&(o.mEarthCtrl.coreMap.scene.postProcessStages.remove(o._pps),o._pps=null)}function LPi(){return` uniform sampler2D colorTexture; uniform sampler2D depthTexture; in vec2 v_textureCoordinates; void main(void){ vec4 origcolor=texture(colorTexture, v_textureCoordinates); vec4 fogcolor=vec4(${DE.r}, ${DE.g}, ${DE.b}, ${DE.a}); float depth = czm_readDepth(depthTexture, v_textureCoordinates); vec4 depthcolor=texture(depthTexture, v_textureCoordinates); float f=(depthcolor.r-0.22)/${DE.d}; if(f<0.0) f=0.0; else if(f>1.0) f=1.0; out_FragColor = mix(origcolor,fogcolor,f); }`}Object.defineProperties(ult.prototype,{parameter:{get:function(){return this._parameter},set:function(o){DE.r=o.r||DE.r,DE.g=o.g||DE.g,DE.b=o.b||DE.b,DE.a=o.a||DE.a,DE.d=o.d||DE.d}},show:{get:function(){return this._pps!==null},set:function(o){o?RPi(this):Alt(this)}}});var xTe=ult;function clt(o){this.mEarthCtrl=o,this.coreMap=o.coreMap,this._parameter={},this._pps=null,this._restoreParam={hueShift:o.coreMap.scene.skyAtmosphere?.hueShift,saturationShift:o.coreMap.scene.skyAtmosphere?.saturationShift,brightnessShift:o.coreMap.scene.skyAtmosphere?.brightnessShift,density:o.coreMap.scene.fog.density,minimumBrightness:o.coreMap.scene.fog.minimumBrightness}}function FPi(o){if(O(o._pps))return;o._restoreParam={hueShift:o.mEarthCtrl.coreMap.scene.skyAtmosphere.hueShift,saturationShift:o.mEarthCtrl.coreMap.scene.skyAtmosphere.saturationShift,brightnessShift:o.mEarthCtrl.coreMap.scene.skyAtmosphere.brightnessShift,density:o.mEarthCtrl.coreMap.scene.fog.density,minimumBrightness:o.mEarthCtrl.coreMap.scene.fog.minimumBrightness},o.mEarthCtrl.coreMap.scene.skyAtmosphere.hueShift=-.8,o.mEarthCtrl.coreMap.scene.skyAtmosphere.saturationShift=-.7,o.mEarthCtrl.coreMap.scene.skyAtmosphere.brightnessShift=-.33,o.mEarthCtrl.coreMap.scene.fog.density=.001,o.mEarthCtrl.coreMap.scene.fog.minimumBrightness=.8,o._pps=new wa({name:"czm_rain",fragmentShader:kPi()}),o.mEarthCtrl.coreMap.scene.postProcessStages.add(o._pps)}function NPi(o){O(o._pps)&&(o.mEarthCtrl.coreMap.scene.postProcessStages.remove(o._pps),o._pps=null,o.mEarthCtrl.coreMap.scene.skyAtmosphere.hueShift=o._restoreParam.hueShift,o.mEarthCtrl.coreMap.scene.skyAtmosphere.saturationShift=o._restoreParam.saturationShift,o.mEarthCtrl.coreMap.scene.skyAtmosphere.brightnessShift=o._restoreParam.brightnessShift,o.mEarthCtrl.coreMap.scene.fog.density=o._restoreParam.density,o.mEarthCtrl.coreMap.scene.fog.minimumBrightness=o._restoreParam.minimumBrightness)}function kPi(){return`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; float hash(float x) { return fract(sin(x*133.3)*13.13); } void main(void) { float time = czm_frameNumber / 60.0; vec2 resolution = czm_viewport.zw; vec2 uv=(gl_FragCoord.xy*2.-resolution.xy)/min(resolution.x,resolution.y); vec3 c=vec3(.6,.7,.8); float a=-.4; float si=sin(a),co=cos(a); uv*=mat2(co,-si,si,co); uv*=length(uv+vec2(0,4.9))*.3+1.; float v=1.-sin(hash(floor(uv.x*100.))*2.); float b=clamp(abs(sin(20.*time*v+uv.y*(5./(2.+v))))-.95,0.,1.)*20.; c*=v*b; //\u5C4F\u5E55\u4E0A\u96E8\u7684\u989C\u8272 out_FragColor = mix(texture(colorTexture, v_textureCoordinates), vec4(c,1), 0.5); //\u5C06\u96E8\u548C\u4E09\u7EF4\u573A\u666F\u878D\u5408 } `}Object.defineProperties(clt.prototype,{parameter:{get:function(){return this._parameter}},show:{get:function(){return this._pps!==null},set:function(o){o?FPi(this):NPi(this)}}});var yTe=clt;function hlt(o){this.mEarthCtrl=o,this.coreMap=o.coreMap,this._parameter={},this._pps=null}function OPi(o){if(O(o._pps))return;o._pps=new wa({name:"czm_snow",fragmentShader:GPi()}),o.mEarthCtrl.coreMap.scene.postProcessStages.add(o._pps)}function UPi(o){O(o._pps)&&(o.mEarthCtrl.coreMap.scene.postProcessStages.remove(o._pps),o._pps=null)}function GPi(){return`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; float snow(vec2 uv,float scale) { float time = czm_frameNumber / 60.0; float w=smoothstep(1.,0.,-uv.y*(scale/10.));if(w<.1)return 0.; uv+=time/scale;uv.y+=time*2./scale;uv.x+=sin(uv.y+time*.5)/scale; uv*=scale;vec2 s=floor(uv),f=fract(uv),p;float k=3.,d; p=.5+.35*sin(11.*fract(sin((s+p+scale)*mat2(7,3,6,5))*5.))-f;d=length(p);k=min(d,k); k=smoothstep(0.,k,sin(f.x+f.y)*0.01); return k*w; } void main(void) { vec2 resolution = czm_viewport.zw; vec2 uv=(gl_FragCoord.xy*2.-resolution.xy)/min(resolution.x,resolution.y); vec3 finalColor=vec3(0); float c = 0.0; c+=snow(uv,30.)*.0; c+=snow(uv,20.)*.0; c+=snow(uv,15.)*.0; c+=snow(uv,10.); c+=snow(uv,8.); c+=snow(uv,6.); c+=snow(uv,5.); finalColor=(vec3(c)); out_FragColor = mix(texture(colorTexture, v_textureCoordinates), vec4(finalColor,1), 0.5); } `}Object.defineProperties(hlt.prototype,{parameter:{get:function(){return this._parameter}},show:{get:function(){return this._pps!==null},set:function(o){o===!0?OPi(this):UPi(this)}}});var ITe=hlt;function dlt(o){this.mEarthCtrl=o,this.coreMap=o.coreMap,this._parameter={},this._pps=null,this._csbScale=new zt(.5,1,1,1)}function HPi(o){if(O(o._pps))return;o._pps=new wa({name:"czm_hsl",fragmentShader:zPi(),uniforms:{u_colorCSBScale:function(){return o._csbScale}}}),o.mEarthCtrl.coreMap.scene.postProcessStages.add(o._pps)}function VPi(o){O(o._pps)&&(o.mEarthCtrl.coreMap.scene.postProcessStages.remove(o._pps),o._pps=null)}function zPi(){return` uniform vec4 u_colorCSBScale; uniform sampler2D colorTexture; in vec2 v_textureCoordinates; void main( void ) { vec4 renderTex = texture(colorTexture, v_textureCoordinates); vec3 finalColor = renderTex.rgb * u_colorCSBScale.z; float gray = 0.2125 * renderTex.r + 0.7154 * renderTex.g + 0.0721 * renderTex.b; vec3 grayColor = vec3(gray, gray, gray); finalColor = mix(grayColor, finalColor, u_colorCSBScale.y); vec3 avgColor = vec3(0.5, 0.5, 0.5); finalColor = mix(avgColor, finalColor, u_colorCSBScale.x); out_FragColor = vec4(finalColor.rgb, renderTex.a); } `}Object.defineProperties(dlt.prototype,{contrast:{get:function(){return this._csbScale.x},set:function(o){this._csbScale.x=o}},saturation:{get:function(){return this._csbScale.y},set:function(o){this._csbScale.y=o}},brightness:{get:function(){return this._csbScale.z},set:function(o){this._csbScale.z=o}},show:{get:function(){return this._pps!==null},set:function(o){o?HPi(this):VPi(this)}}});var _Te=dlt;function flt(o){this.mEarthCtrl=o,this.coreMap=o.coreMap,this._parameter={},this._pps=null}function YPi(o){if(O(o._pps))return;o._pps=new wa({name:"czm_bwmode",fragmentShader:KPi()}),o.mEarthCtrl.coreMap.scene.postProcessStages.add(o._pps)}function JPi(o){O(o._pps)&&(o.mEarthCtrl.coreMap.scene.postProcessStages.remove(o._pps),o._pps=null)}function KPi(){return`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; void main(void) { vec4 c = texture( colorTexture, v_textureCoordinates ); float grey = 0.2125*c.r+0.7154*c.g+0.0721*c.b; c.r=grey*grey; c.g=grey*grey; c.b=grey*grey; out_FragColor=c; } `}Object.defineProperties(flt.prototype,{parameter:{get:function(){return this._parameter}},show:{get:function(){return this._pps!==null},set:function(o){o?YPi(this):JPi(this)}}});var vTe=flt;function glt(o){this.mEarthCtrl=o,this.coreMap=o.coreMap,this._parameter={},this._pps=null,this._restoreParam={hueShift:o.coreMap.scene.skyAtmosphere?.hueShift,saturationShift:o.coreMap.scene.skyAtmosphere?.saturationShift,brightnessShift:o.coreMap.scene.skyAtmosphere?.brightnessShift,density:o.coreMap.scene.fog.density,minimumBrightness:o.coreMap.scene.fog.minimumBrightness}}function WPi(o){if(O(o._pps))return;let A=o.mEarthCtrl;o._restoreParam={hueShift:A.coreMap.scene.skyAtmosphere.hueShift,saturationShift:A.coreMap.scene.skyAtmosphere.saturationShift,brightnessShift:A.coreMap.scene.skyAtmosphere.brightnessShift,density:A.coreMap.scene.fog.density,minimumBrightness:A.coreMap.scene.fog.minimumBrightness},A.coreMap.scene.skyAtmosphere.hueShift=-.8,A.coreMap.scene.skyAtmosphere.saturationShift=-.7,A.coreMap.scene.skyAtmosphere.brightnessShift=-.33,A.coreMap.scene.fog.density=.001,A.coreMap.scene.fog.minimumBrightness=.8,o._pps=new wa({name:"czm_night_mode",fragmentShader:qPi()}),o.mEarthCtrl.coreMap.scene.postProcessStages.add(o._pps)}function jPi(o){O(o._pps)&&(o.mEarthCtrl.coreMap.scene.postProcessStages.remove(o._pps),o._pps=null,o.mEarthCtrl.coreMap.scene.skyAtmosphere.hueShift=o._restoreParam.hueShift,o.mEarthCtrl.coreMap.scene.skyAtmosphere.saturationShift=o._restoreParam.saturationShift,o.mEarthCtrl.coreMap.scene.skyAtmosphere.brightnessShift=o._restoreParam.brightnessShift,o.mEarthCtrl.coreMap.scene.fog.density=o._restoreParam.density,o.mEarthCtrl.coreMap.scene.fog.minimumBrightness=o._restoreParam.minimumBrightness)}function qPi(){return`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; void main(void) { out_FragColor = mix(texture(colorTexture, v_textureCoordinates), vec4(0.1, 0.1, 0.1,1), 0.7); } `}Object.defineProperties(glt.prototype,{parameter:{get:function(){return this._parameter}},show:{get:function(){return this._pps!==null},set:function(o){o===!0?WPi(this):jPi(this)}}});var BTe=glt;function RK(o){this.mEarthCtrl=o,this.coreMap=o.coreMap,this._fog=new xTe(o),this._rain=new yTe(o),this._snow=new ITe(o),this._colorAdjustment=new _Te(o),this._bwMode=new vTe(o),this._nightMode=new BTe(o)}RK.prototype.disableAllEffect=function(){this._fog.show=!1,this._rain.show=!1,this._snow.show=!1,this._colorAdjustment.show=!1,this._bwMode.show=!1,this._nightMode.show=!1};RK.prototype.showEffect=function(o,A){this.disableAllEffect(),o==="fog"?(A&&(this._fog.parameter=A),this._fog.show=!0):o==="rain"?this._rain.show=!0:o==="snow"?this._snow.show=!0:o==="colorAdjustment"?this._colorAdjustment.show=!0:o==="bwMode"?this._bwMode.show=!0:o==="nightMode"&&(this._nightMode.show=!0)};RK.prototype.disableEffect=function(o){o==="fog"?this._fog.show=!1:o==="rain"?this._rain.show=!1:o==="snow"?this._snow.show=!1:o==="colorAdjustment"?this._colorAdjustment.show=!1:o==="bwMode"?this._bwMode.show=!1:o==="nightMode"&&(this._nightMode.show=!1)};Object.defineProperties(RK.prototype,{SkyBoxSource:{get:function(){return this.coreMap.scene.skyBox?this.coreMap.scene.skyBox.sources:{}},set:function(o){O(o)&&(this.coreMap.scene.skyBox&&this.coreMap.scene.skyBox.destroy(),this.coreMap.scene.skyBox=new Y3({sources:o}))}},fog:{get:function(){return this._fog}},rain:{get:function(){return this._rain}},snow:{get:function(){return this._snow}},colorAdjustment:{get:function(){return this._colorAdjustment}},bwMode:{get:function(){return this._bwMode}},nightMode:{get:function(){return this._nightMode}}});var wTe=RK;function XPi(o,A){let f=o.length;for(;f--;)if(o[f]===A)return!0;return!1}function ZPi(o,A){let f=o.indexOf(A);f>-1&&o.splice(f,1)}var uae=class extends $f{constructor(A){super(A),this._objectMap=[],this._isBenchUpdate=!1,this._EventSelectSetChanged=new lk("EventSelectSetChanged")}finalize(){this._objectArray=[]}addObject(A){if(XPi(this._objectArray,A))return!1;this._objectArray.push(A),this._isBenchUpdate||this.commitChanged()}removeObject(A){ZPi(this._objectArray,A),this._isBenchUpdate||this.commitChanged()}getObject(A){return A<0||A>=this._objectArray.length?null:this._objectArray[A]}removeAll(A){this._objectArray=[],this._isBenchUpdate||this.commitChanged()}beginUpdate(){this._isBenchUpdate=!0}endUpdate(){this._isBenchUpdate&&(this.commitChanged(),this._isBenchUpdate=!1)}commitChanged(){this._EventSelectSetChanged.notifyEvent(this)}};Object.defineProperties(uae.prototype,{count:{get:function(){return this._objectArray.length}},EventSelectSetChanged:{get:function(){return this._EventSelectSetChanged}}});var bTe=uae;var $Pi={GWIMAGERYLAYER:"GwImageryLayer",GWTERRAINLAYER:"GwTerrainLayer",GWMODELLAYER:"GwModelLayer",GWFEATURELAYER:"GwFeatureLayer",GWMODEL:"GwModel",GWWATERS:"GwWaters",GWEXPLOSION:"GwExplosion",GWFIREWORK:"GwFireworks",GWFIRE:"GwFire",GWSMOKE:"GwSmoke",GWRADARSCAN:"GwRadarScan",GWCIRCLESCAN:"GwCircleScan",GWPOINT:"GwPoint",GWLABEL:"GwLabel",GWBILLBOARD:"GwBillboard",GWPOLYLINE:"GwPolyline",GWPOLYGON:"GwPolygon",GWRECTANGLE:"GwRectangle",GWBOX:"GwBox",GWCYLINDER:"GwCylinder",GWELLIPSOID:"GwEllipsoid",GWVIDEOPROJECTION:"GwVideoProjection"},jd=Object.freeze($Pi);var eRi={NODE:"NODE",IMAGERY_LAYER:"IMAGERY_LAYER",TERRAIN_LAYER:"TERRAIN_LAYER",MODEL_LAYER:"MODEL_LAYER",FEATURE_LAYER:"FEATURE_LAYER",SKYBOX:"SKYBOX",ENVIRONMENT:"ENVIRONMENT",VIEWPOINT:"VIEWPOINT",MODEL:"MODEL",WATERS:"WATERS",EXPLOSION:"EXPLOSION",FIREWORK:"FIREWORK",SMOKE:"SMOKE",FIRE:"FIRE",RADARSCAN:"RADARSCAN",CIRCLESCAN:"CIRCLESCAN",POINT:"POINT",LABEL:"LABEL",BILLBOARD:"BILLBOARD",POLYLINE:"POLYLINE",POLYGON:"POLYGON",RECTANGLE:"RECTANGLE",ELLIPSE:"ELLIPSE",BOX:"BOX",ELLIPSOID:"ELLIPSOID",CYLINDER:"CYLINDER",POLYLINEVOLUME:"POLYLINEVOLUME",PERSPECTIVE_VIDEO_PROJECTION:"PERSPECTIVE_VIDEO_PROJECTION",FISHEYE_VIDEO_PROJECTION:"FISHEYE_VIDEO_PROJECTION",TRACK:"TRACK",HEATMAP:"HEATMAP",ECHARTLAYER:"ECHARTLAYER"},Ao=Object.freeze(eRi);function tRi(o){return o!=null?o._value:o}var Ol=tRi;function jh(){}jh.export=function(o){let A=null,f=o.ExportObjectMap[o._rtti];return f!==void 0&&(A=f(o)),A};function iRi(o){let A=null,f=oe(o.sourceType,"wmts");if(f==="tms"){let m=o._primitive.imageryProvider._rectangle;O(m)?m={west:Be.toDegrees(m.west),south:Be.toDegrees(m.south),east:Be.toDegrees(m.east),north:Be.toDegrees(m.north)}:m={west:"",south:"",east:"",north:""},A={class:oe(o._parameter.class,Ao.IMAGERY_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,zIndex:o._primitive._layerIndex,url:o.dataUrl,show:o.show,maximumLevel:oe(o._primitive.imageryProvider.maximumLevel,""),minimumLevel:oe(o._primitive.imageryProvider.minimumLevel,""),west:m.west,south:m.south,east:m.east,north:m.north}}if(f==="wms"){let m=o._primitive.imageryProvider._resource._queryParameters;A={class:oe(o._parameter.class,Ao.IMAGERY_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,zIndex:o._primitive._layerIndex,url:o.dataUrl,show:o.show,layers:oe(o._primitive.imageryProvider._layers,""),maximumLevel:oe(o._primitive.imageryProvider.maximumLevel,""),minimumLevel:oe(o._primitive.imageryProvider.minimumLevel,""),parameters:{transparent:m.transparent,format:m.format,crs:m.crs,version:m.version,layers:m.layers}}}return f==="wmts"&&(A={class:oe(o._parameter.class,Ao.IMAGERY_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,zIndex:o._primitive._layerIndex,url:o.dataUrl,show:o.show,layer:oe(o._primitive.imageryProvider._layer,""),format:oe(o._primitive.imageryProvider._format,""),tileMatrixSetID:oe(o._primitive.imageryProvider._tileMatrixSetID,""),maximumLevel:oe(o._primitive.imageryProvider.maximumLevel,""),minimumLevel:oe(o._primitive.imageryProvider.minimumLevel,"")}),f==="mapbox"&&(A={class:oe(o._parameter.class,Ao.IMAGERY_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,zIndex:o._primitive._layerIndex,mapId:"",show:o.show,maximumLevel:oe(o._primitive.imageryProvider.maximumLevel,""),minimumLevel:oe(o._primitive.imageryProvider.minimumLevel,"")}),f==="arcgis"&&(A={class:oe(o._parameter.class,Ao.IMAGERY_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,zIndex:o._primitive._layerIndex,url:o.dataUrl,show:o.show,maximumLevel:oe(o._primitive.imageryProvider.maximumLevel,""),minimumLevel:oe(o._primitive.imageryProvider.minimumLevel,"")}),f==="multi"&&(A={class:oe(o._parameter.class,Ao.IMAGERY_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,zIndex:o._primitive._layerIndex,url:o.dataUrl,show:o.show,maximumLevel:oe(o._primitive.imageryProvider.maximumLevel,""),minimumLevel:oe(o._primitive.imageryProvider.minimumLevel,"")}),f==="single"&&(A={class:oe(o._parameter.class,Ao.IMAGERY_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,zIndex:o._primitive._layerIndex,url:o.dataUrl,show:o.show,maximumLevel:oe(o._primitive.imageryProvider.maximumLevel,""),minimumLevel:oe(o._primitive.imageryProvider.minimumLevel,"")}),f==="baidu"&&(A={class:oe(o._parameter.class,Ao.IMAGERY_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,zIndex:o._primitive._layerIndex,url:o.dataUrl,show:o.show,maximumLevel:oe(o._primitive.imageryProvider.maximumLevel,""),minimumLevel:oe(o._primitive.imageryProvider.minimumLevel,"")}),f==="gaode"&&(A={class:oe(o._parameter.class,Ao.IMAGERY_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,zIndex:o._primitive._layerIndex,url:o.dataUrl,show:o.show,maximumLevel:oe(o._primitive.imageryProvider.maximumLevel,""),minimumLevel:oe(o._primitive.imageryProvider.minimumLevel,"")}),f==="mapworld"&&(A={class:oe(o._parameter.class,Ao.IMAGERY_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,zIndex:o._primitive._layerIndex,url:o.dataUrl,show:o.show,maximumLevel:oe(o._primitive.imageryProvider.maximumLevel,""),minimumLevel:oe(o._primitive.imageryProvider.minimumLevel,"")}),A}function rRi(o){let A=null,f=oe(o.sourceType,"ctb");return f==="ude"&&(A={class:oe(o._parameter.class,Ao.TERRAIN_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,zIndex:o._parameter.zIndex,url:o.dataUrl,show:o.show}),f==="ctb"&&(A={class:oe(o._parameter.class,Ao.TERRAIN_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,zIndex:o._parameter.zIndex,url:o.dataUrl,show:o.show}),f==="multi"&&(A={class:oe(o._parameter.class,Ao.TERRAIN_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,zIndex:o._parameter.zIndex,url:o.dataUrl,show:o.show}),A}function nRi(o){let A=null,f=oe(o.sourceType,"b3dm");return(f==="b3dm"||f==="3DTiles")&&(A={class:oe(o._parameter.class,Ao.MODEL_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,show:o.show,zIndex:o._parameter.zIndex,url:o.dataUrl,options:o._parameter.options,transform:o._parameter.transform}),f==="osgb"&&(A={class:oe(o._parameter.class,Ao.MODEL_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,show:o.show,url:o.dataUrl}),f==="s3m"&&(A={class:oe(o._parameter.class,Ao.MODEL_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,show:o.show,url:o.dataUrl}),(f==="ude_block"||f==="ude_model")&&(A={class:oe(o._parameter.class,Ao.MODEL_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,show:o.show,url:o.dataUrl}),A}function oRi(o){console.log("\u5F53\u524D\u64CD\u4F5C\u8282\u70B9>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>",o);let A=null,f=oe(o.sourceType,"geojson");return f==="geojson"&&(A={class:oe(o._parameter.class,Ao.FEATURE_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,show:o.show,url:o.dataUrl}),f==="feature"&&(A={class:oe(o._parameter.class,Ao.FEATURE_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,show:o.show,url:o.dataUrl}),f==="custom"&&(A={class:oe(o._parameter.class,Ao.FEATURE_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,show:o.show,url:o.dataUrl}),f==="kml"&&(A={class:oe(o._parameter.class,Ao.FEATURE_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,show:o.show,url:o.dataUrl}),f==="arcgis_json"&&(A={class:oe(o._parameter.class,Ao.FEATURE_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,show:o.show,url:o.dataUrl}),f==="raster"&&(A={class:oe(o._parameter.class,Ao.FEATURE_LAYER),name:o.name,id:o.id,sourceType:o.sourceType,show:o.show,url:o.dataUrl}),A}function aRi(o){let A=null,f=oe(o.sourceType,"gltf");return f==="gltf"&&(A={class:oe(o._parameter.class,Ao.MODEL),name:o.name,id:o.id,sourceType:f,show:o.show,url:o.dataUrl,lon:o.lon,lat:o.lat,alt:o.alt,heading:o.heading,pitch:o.pitch,roll:o.roll,scale:o._primitive.scale,minimumPixelSize:o._primitive.minimumPixelSize}),f==="glb"&&(A={class:oe(o._parameter.class,Ao.MODEL),name:o.name,id:o.id,sourceType:f,show:o.show,url:o.dataUrl,lon:o.lon,lat:o.lat,alt:o.alt,heading:o.heading,pitch:o.pitch,roll:o.roll,scale:o._primitive.scale,minimumPixelSize:o._primitive.minimumPixelSize}),A}function sRi(o){let A=null;return A={class:oe(o._parameter.class,Ao.EXPLOSION),name:o.name,id:o.id,show:o.show,lon:o.parameter.lon,lat:o.parameter.lat,alt:o.parameter.alt},A}function lRi(o){let A=null;return A={class:oe(o._parameter.class,Ao.WATERS),name:o.name,id:o.id,show:o.show,params:o.params,url:o.url,color:o.color,waterFrequency:o.waterFrequency,animationSpeed:o.animationSpeed,amplitude:o.amplitude},A}function uRi(o){let A=null;return A={class:oe(o._parameter.class,Ao.FIREWORK),name:o.name,id:o.id,show:o.show,lon:o.parameter.lon,lat:o.parameter.lat,alt:o.parameter.alt,emitHeight:o.parameter.emitHeight},A}function ARi(o){let A=null;return A={class:oe(o._parameter.class,Ao.FIRE),name:o.name,id:o.id,show:o.show,lon:o.parameter.lon,lat:o.parameter.lat,alt:o.parameter.alt,particleSize:o.parameter.particleSize},A}function cRi(o){let A=null;return A={class:oe(o._parameter.class,Ao.SMOKE),name:o.name,id:o.id,show:o.show,lon:o.parameter.lon,lat:o.parameter.lat,alt:o.parameter.alt,particleSize:o.parameter.particleSize},A}function hRi(o){let A=null;return A={class:Ao.RADARSCAN,name:o.name,id:o.id,show:o.show,lon:o._lon,lat:o._lat,height:o._height,maxRadius:o._maxRadius,duration:o._duration,color:o._color},A}function dRi(o){let A=null;return A={class:Ao.CIRCLESCAN,name:o.name,id:o.id,show:o.show,lon:o._lon,lat:o._lat,height:o._height,maxRadius:o._maxRadius,duration:o._duration,color:o._color},A}function fRi(o){let A=null,f=o._coreMap.scene.globe.ellipsoid.cartesianToCartographic(o._primitive.position._value);return A={class:oe(o._parameter.class,Ao.POINT),name:o.name,id:o.id,show:o.show,lon:Be.toDegrees(f.longitude),lat:Be.toDegrees(f.latitude),alt:parseInt(f.height.toFixed(2)),pixelSize:Ol(o._primitive.point.pixelSize),color:Ol(o._primitive.point.color),outlineColor:Ol(o._primitive.point.outlineColor),outlineWidth:Ol(o._primitive.point.outlineWidth)},A}function gRi(o){let A=null,f=o._coreMap.scene.globe.ellipsoid.cartesianToCartographic(o._primitive.position._value);return A={class:oe(o._parameter.class,Ao.LABEL),id:o.id,show:o.show,name:o.name,lon:Be.toDegrees(f.longitude),lat:Be.toDegrees(f.latitude),alt:parseInt(f.height.toFixed(2)),text:Ol(o._primitive.label.text),font:Ol(o._primitive.label.font),fillColor:Ol(o._primitive.label.fillColor),outlineWidth:Ol(o._primitive.label.outlineWidth),verticalOrigin:Ol(o._primitive.label.verticalOrigin)},A}function pRi(o){let A=null,f=o._coreMap.scene.globe.ellipsoid.cartesianToCartographic(o._primitive.position._value);return A={class:oe(o._parameter.class,Ao.BILLBOARD),name:o.name,id:o.id,show:o.show,lon:Be.toDegrees(f.longitude),lat:Be.toDegrees(f.latitude),alt:parseInt(f.height.toFixed(2)),image:Ol(o._primitive.billboard.image),scale:Ol(o._primitive.billboard.scale)},A}function mRi(o){let A=null,f=[];return o._primitive.polyline.positions._value.forEach(function(C){let E=[],x=o._coreMap.scene.globe.ellipsoid.cartesianToCartographic(C);E.push(Be.toDegrees(x.longitude)),E.push(Be.toDegrees(x.latitude)),E.push(x.height),f.push(E)}),A={class:oe(o._parameter.class,Ao.POLYLINE),name:o.name,id:o.id,show:o.show,positions:f,lineColor:o._parameter.lineColor,lineWidth:Ol(o._primitive.polyline.width),clampToGround:Ol(o._primitive.polyline.clampToGround),outlineColor:o._parameter.outlineColor},A}function CRi(o){let A=null,f=[];return o.positions.positions.forEach(function(C){let E=[],x=o._coreMap.scene.globe.ellipsoid.cartesianToCartographic(C);E.push(Be.toDegrees(x.longitude)),E.push(Be.toDegrees(x.latitude)),E.push(x.height),f.push(E)}),A={class:oe(o._parameter.class,Ao.POLYGON),name:o.name,id:o.id,show:o.show,positions:f,material:o.material?Ol(o._primitive.polygon.material.color):void 0,outline:Ol(o.outline),outlineColor:Ol(o.outlineColor)},A}function ERi(o){let A=null,f=o.coordinates,m=Be.toDegrees(f.east),C=Be.toDegrees(f.north),E=Be.toDegrees(f.south),y=[Be.toDegrees(f.west),E,m,C];return A={class:oe(o._parameter.class,Ao.RECTANGLE),name:o.name,id:o.id,show:o.show,coordinates:y,height:Ol(o.height),fillColor:o.fillColor?Ol(o.fillColor.color):void 0,outline:Ol(o.outline),outlineColor:Ol(o.outlineColor)},A}function xRi(o){let A=null,f=[],m=Ol(o.position),C=o._coreMap.scene.globe.ellipsoid.cartesianToCartographic(m);return f.push(Be.toDegrees(C.longitude)),f.push(Be.toDegrees(C.latitude)),f.push(C.height),A={class:oe(o._parameter.class,Ao.BOX),name:o.name,id:o.id,show:o.show,position:f,dimensions:o.dimensions._value,material:o.material?Ol(o._primitive.box.material.color):void 0,fill:Ol(o.fill),outline:Ol(o.outline),outlineColor:Ol(o.outlineColor)},A}function yRi(o){let A=null,f=[],m=Ol(o.position),C=o._coreMap.scene.globe.ellipsoid.cartesianToCartographic(m);return f.push(Be.toDegrees(C.longitude)),f.push(Be.toDegrees(C.latitude)),f.push(C.height),A={class:oe(o._parameter.class,Ao.CYLINDER),name:o.name,id:o.id,show:o.show,position:f,topRadius:Ol(o.topRadius),bottomRadius:Ol(o.bottomRadius),length:Ol(o.length),fill:Ol(o.fill),material:o.material?Ol(o._primitive.cylinder.material.color):void 0,outline:Ol(o.outline),outlineColor:Ol(o.outlineColor)},A}function IRi(o){let A=null,f=[],m=Ol(o.position),C=o._coreMap.scene.globe.ellipsoid.cartesianToCartographic(m);f.push(Be.toDegrees(C.longitude)),f.push(Be.toDegrees(C.latitude)),f.push(C.height);let E=[],x=Ol(o.radii);return E.push(x.x),E.push(x.y),E.push(x.z),A={class:oe(o._parameter.class,Ao.ELLIPSOID),name:o.name,id:o.id,show:o.show,position:f,radii:E,fill:Ol(o.fill),material:o.material?Ol(o._primitive.ellipsoid.material.color):void 0,outline:Ol(o.outline),outlineColor:Ol(o.outlineColor)},A}function _Ri(o){let A=null,f=oe(o._parameter.sourceType,"perspective");return(f==="perspective"||f==="panorama")&&(A={class:oe(o._parameter.class,Ao.PERSPECTIVE_VIDEO_PROJECTION),name:o.name,id:o.id,sourceType:o._parameter.sourceType,matchMaterials:o._parameter.matchMaterials,lon:o._parameter.lon,lat:o._parameter.lat,height:o._parameter.height,heading:o._parameter.heading,pitch:o._parameter.pitch,roll:o._parameter.roll,fov:o._parameter.fov,far:o._parameter.far,near:o._parameter.near,opacity:o._parameter.opacity,maxDiffAngle:o._parameter.maxDiffAngle,videoLink:o._parameter.videoLink,aspect:o._parameter.aspect,addToMap:o._parameter.addToMap,preview:o._parameter.preview,playVideo:o._parameter.playVideo,showMesh:o.showMesh,show:o.show,enable:o._parameter.enable,videoFrameInterval:o._parameter.videoFrameInterval,useDepth:o._parameter.useDepth}),f==="fisheye"&&(A={class:oe(o._parameter.class,Ao.FISHEYE_VIDEO_PROJECTION),name:o.name,id:o.id,sourceType:o._parameter.sourceType,matchMaterials:o._parameter.matchMaterials,lon:o._parameter.lon,lat:o._parameter.lat,height:o._parameter.height,heading:o._parameter.heading,pitch:o._parameter.pitch,roll:o._parameter.roll,fov:o._parameter.fov,far:o._parameter.far,near:o._parameter.near,opacity:o._parameter.opacity,maxDiffAngle:o._parameter.maxDiffAngle,videoLink:o._parameter.videoLink,aspect:o._parameter.aspect,addToMap:o._parameter.addToMap,preview:o._parameter.preview,playVideo:o._parameter.playVideo,showMesh:o.showMesh,show:o.show,enable:o._parameter.enable,videoFrameInterval:o._parameter.videoFrameInterval,useDepth:o._parameter.useDepth}),A}jh.ExportObjectMap={};jh.ExportObjectMap[jd.GWEXPLOSION]=sRi;jh.ExportObjectMap[jd.GWWATERS]=lRi;jh.ExportObjectMap[jd.GWFIREWORK]=uRi;jh.ExportObjectMap[jd.GWSMOKE]=cRi;jh.ExportObjectMap[jd.GWFIRE]=ARi;jh.ExportObjectMap[jd.GWRADARSCAN]=hRi;jh.ExportObjectMap[jd.GWCIRCLESCAN]=dRi;jh.ExportObjectMap[jd.GWPOINT]=fRi;jh.ExportObjectMap[jd.GWLABEL]=gRi;jh.ExportObjectMap[jd.GWBILLBOARD]=pRi;jh.ExportObjectMap[jd.GWPOLYLINE]=mRi;jh.ExportObjectMap[jd.GWPOLYGON]=CRi;jh.ExportObjectMap[jd.GWRECTANGLE]=ERi;jh.ExportObjectMap[jd.GWBOX]=xRi;jh.ExportObjectMap[jd.GWCYLINDER]=yRi;jh.ExportObjectMap[jd.GWELLIPSOID]=IRi;jh.ExportObjectMap[jd.GWVIDEOPROJECTION]=_Ri;jh.ExportObjectMap[jd.GWIMAGERYLAYER]=iRi;jh.ExportObjectMap[jd.GWTERRAINLAYER]=rRi;jh.ExportObjectMap[jd.GWMODELLAYER]=nRi;jh.ExportObjectMap[jd.GWFEATURELAYER]=oRi;jh.ExportObjectMap[jd.GWMODEL]=aRi;var As=jh;function MQ(o){this.mEarthCtrl=o,this.coreMap=o.coreMap,this.videoProjection=null,this._parameter=null,this._showMesh=!1,this._auxMeshArray=[],this._highlightState=0,this._colorStyle=[new Ve(.3,1,.3),Ve.YELLOW],this._rtti="GwVideoProjection"}Object.defineProperties(MQ.prototype,{parameter:{get:function(){return this._parameter}},show:{get:function(){return this.videoProjection!==null?this.videoProjection.enabled:!1},set:function(o){this.videoProjection!==null&&(this.videoProjection.enabled=o)}},showMesh:{get:function(){return this._showMesh},set:function(o){this._showMesh=o,this.updateAuxMesh()}},highlightState:{get:function(){return this._highlightState},set:function(o){this._highlightState=o,this.updateAuxMesh()}},id:{get:function(){return this.videoProjection._id}}});MQ.prototype.setParameter=function(o){if(!!O(o)&&(O(o.lon)||O(o.lat)||O(o.height)||O(o.heading)||O(o.pitch)||O(o.roll)||O(o.near)||O(o.far)||O(o.aspect))){let A=this._parameter;for(let m in o)o.hasOwnProperty(m)&&O(A[m])&&(A[m]=o[m]);let f=this.videoProjection._lightCamera;f.setView({destination:Z.fromDegrees(A.lon,A.lat,A.height),orientation:{heading:Be.toRadians(A.heading),pitch:Be.toRadians(A.pitch),roll:Be.toRadians(A.roll)}}),f.frustum.fov=A.fov/180*Math.PI,f.frustum.near=A.near||1,f.frustum.far=A.far||1e5,f.frustum.aspectRatio=A.aspect||1,this.updateAuxMesh()}};MQ.prototype.initialize=function(o){this._parameter=o;let A=this._parameter,f=new Ls(this.coreMap.scene);A.fov=A.fov||60,f.setView({destination:Z.fromDegrees(A.lon,A.lat,A.height),orientation:{heading:Be.toRadians(A.heading),pitch:Be.toRadians(A.pitch),roll:Be.toRadians(A.roll)}}),f.frustum.fov=A.fov/180*Math.PI,f.frustum.near=A.near||1,f.frustum.far=A.far||1e5,f.frustum.aspectRatio=A.aspect||1;let m;A.useDepth?m=new mY({name:A.name,matchMaterials:A.matchMaterials,context:this.coreMap.scene.context,lightCamera:f,enabled:A.show===!0,isPointLight:!1,cascadesEnabled:!1,numberOfCascades:1,frustum:{fov:A.fov/180*Math.PI,near:A.near||1,far:A.far||1e5,aspectRatio:A.aspect||1},depthBias:A.depthBias,videoFrameInterval:A.videoFrameInterval,playVideo:A.playVideo,opacity:A.opacity,calibrateParam:A.calibrateParam,maxDiffAngle:A.maxDiffAngle/180*Math.PI,useDepth:A.useDepth,blendTop:A.blendTop,blendRight:A.blendRight,blendBottom:A.blendBottom,blendLeft:A.blendLeft,maximumDistance:A.maximumDistance||1e3}):m=new pY({name:A.name,matchMaterials:A.matchMaterials,context:this.coreMap.scene.context,lightCamera:f,enabled:A.show===!0,isPointLight:!1,cascadesEnabled:!1,numberOfCascades:1,frustum:{fov:A.fov/180*Math.PI,near:A.near||1,far:A.far||1e5,aspectRatio:A.aspect||1},depthBias:A.depthBias,videoFrameInterval:A.videoFrameInterval,playVideo:A.playVideo,opacity:A.opacity,calibrateParam:A.calibrateParam,maxDiffAngle:A.maxDiffAngle/180*Math.PI,useDepth:!1,blendTop:A.blendTop,blendRight:A.blendRight,blendBottom:A.blendBottom,blendLeft:A.blendLeft,maximumDistance:A.maximumDistance}),m.castTexture=A.castTexture,this.videoProjection=m,this._showMesh=A.showMesh,A.addToMap===!0&&this.addToMap()};var QTe=new fr;MQ.prototype.updateAuxMesh=function(){let o=this;if(o._auxMeshArray.length>0){for(let f=0;f<o._auxMeshArray.length;f++){let m=o._auxMeshArray[f];this.mEarthCtrl.coreMap.scene.primitives.remove(m)}this._auxMeshArray=[]}let A=Ns;if(o._showMesh===!0){let f=o._colorStyle[o._highlightState],m=o.parameter;{let C=Z.fromDegrees(m.lon,m.lat,m.height),E={heading:Be.toRadians(m.heading+90),pitch:Be.toRadians(90-m.pitch),roll:Be.toRadians(m.roll)},x=kr.headingPitchRollQuaternion(C,E);QTe=fr.fromAxisAngle(o.videoProjection._lightCamera.direction,Be.toRadians(90),QTe),fr.multiply(QTe,x,x);{let y=new kn({geometry:new yG({frustum:this.videoProjection._lightCamera.frustum,origin:C,orientation:x,vertexFormat:Pr.ALL}),id:"ellipsoid",attributes:{color:_o.fromColor(f.withAlpha(.1))}}),I=new ra({shadows:A.DISABLED,geometryInstances:y,appearance:new La});this.mEarthCtrl.coreMap.scene.primitives.add(I),o._auxMeshArray.push(I)}{let y=new kn({geometry:new fY({frustum:this.videoProjection._lightCamera.frustum,origin:C,orientation:x,vertexFormat:Pr.ALL}),id:"outlines",shadows:A.DISABLED,attributes:{color:_o.fromColor(f.withAlpha(.8))}}),I=new ra({geometryInstances:y,appearance:new La({translucent:!0,flat:!0}),shadows:A.DISABLED,asynchronous:!1});this.mEarthCtrl.coreMap.scene.primitives.add(I),o._auxMeshArray.push(I)}{let y=new kn({geometry:new hp({radii:new Z(.1,.1,.1),vertexFormat:Pr.POSITION_AND_NORMAL}),modelMatrix:Re.multiplyByTranslation(kr.eastNorthUpToFixedFrame(Z.fromDegrees(m.lon,m.lat,m.height)),new Z(0,0,0),new Re),id:"ellipsoid",shadows:A.DISABLED,attributes:{color:_o.fromColor(f.withAlpha(.5))}}),I=new ra({geometryInstances:y,appearance:new La});this.mEarthCtrl.coreMap.scene.primitives.add(I),o._auxMeshArray.push(I)}}}};MQ.prototype.addToMap=function(){this.videoProjection!==null&&(this.mEarthCtrl.textureProjectionMapList.push(this.videoProjection),this.updateAuxMesh())};MQ.prototype.setEnable=function(o){this.videoProjection!==null&&(this.videoProjection.enabled=o)};MQ.prototype.remove=function(){let o=this;if(o.videoProjection!==null){let A=o.mEarthCtrl.textureProjectionMapList;for(let f=0;f<A.length;f++){let m=A[f];o.videoProjection===m&&A.splice(f,1)}}if(o._auxMeshArray.length>0){for(let A=0;A<o._auxMeshArray.length;A++){let f=o._auxMeshArray[A];o.mEarthCtrl.coreMap.scene.primitives.remove(f)}o._auxMeshArray=[]}};MQ.prototype.toJSON=function(){return As.export(this)};MQ.prototype.updateBlend=function(o,A,f,m){this.videoProjection&&this.videoProjection.updateBlend(this.coreMap.scene.context,o,A,f,m)};var STe=MQ;function nH(o){this.mEarthCtrl=o,this.coreMap=o.coreMap,this.shadowMap=null,this._rtti="GwVideoProjection"}nH.prototype.initialize=function(o){let A=new Ls(this.coreMap.scene);A.setView({destination:o.destination,orientation:o.orientation}),A.frustum.fov=o.fov||Math.PI/3,A.frustum.near=o.near||1,A.frustum.far=o.far||1e5,A.frustum.aspectRatio=o.aspect||1;let f=new uT({name:o.name,context:this.coreMap.scene.context,lightCamera:A,enabled:o.enabled||!0,isPointLight:!1,cascadesEnabled:!1,numberOfCascades:1,frustum:{fov:o.fov||Math.PI/3,near:o.near||1,far:o.far||1e5,aspectRatio:o.aspect||1},depthBias:o.depthBias,playVideo:o.playVideo});f.castTexture=o.castTexture,this.shadowMap=f,o.addToMap===!0&&this.addToMap()};nH.prototype.addToMap=function(){this.shadowMap!==null&&this.mEarthCtrl.shadowMapList.push(this.shadowMap)};nH.prototype.setEnable=function(o){this.shadowMap!==null&&(this.shadowMap.enabled=o)};nH.prototype.remove=function(){if(this.shadowMap!==null){let o=this.mEarthCtrl.shadowMapList;for(let A=0;A<o.length;A++){let f=o[A];this.shadowMap===f&&o.splice(A,1)}}};nH.prototype.toJSON=function(){return As.export(this)};var plt=nH;function GT(o){this.mEarthCtrl=o,this.coreMap=o.coreMap,this.videoProjection=null,this._parameter=null,this._showMesh=!1,this._auxMesh=null,this._rtti="GwVideoProjection"}Object.defineProperties(GT.prototype,{parameter:{get:function(){return this._parameter}},show:{get:function(){return this.videoProjection!==null?this.videoProjection.enabled:!1},set:function(o){this.videoProjection!==null&&(this.videoProjection.enabled=o)}},showMesh:{get:function(){return this._showMesh},set:function(o){this._showMesh=o,this.updateAuxMesh()}}});GT.prototype.setParameter=function(o){if(!!O(o)){if(O(o.lon)||O(o.lat)||O(o.height)||O(o.heading)||O(o.pitch)||O(o.roll)||O(o.near)||O(o.far)||O(o.aspect)){let A=this._parameter;for(let m in o)o.hasOwnProperty(m)&&O(A[m])&&(A[m]=o[m]);let f=this.videoProjection._lightCamera;f.setView({destination:Z.fromDegrees(A.lon,A.lat,A.height),orientation:{heading:Be.toRadians(A.heading),pitch:Be.toRadians(A.pitch),roll:Be.toRadians(A.roll)}}),f.frustum.fov=170/180*Math.PI,f.frustum.near=A.near||1,f.frustum.far=A.far||1e5,f.frustum.aspectRatio=A.aspect||1}this.updateAuxMesh()}};GT.prototype.initialize=function(o){this._parameter=o;let A=this._parameter,f=new Ls(this.coreMap.scene);f.setView({destination:Z.fromDegrees(A.lon,A.lat,A.height),orientation:{heading:Be.toRadians(A.heading),pitch:Be.toRadians(A.pitch),roll:Be.toRadians(A.roll)}}),f.frustum.fov=170/180*Math.PI,f.frustum.near=A.near||1,f.frustum.far=A.far||1e5,f.frustum.aspectRatio=A.aspect||1;let m=new gY({name:A.name,matchMaterials:A.matchMaterials,context:this.coreMap.scene.context,lightCamera:f,enabled:A.enabled||!0,isPointLight:!1,cascadesEnabled:!1,numberOfCascades:1,frustum:{fov:170/180*Math.PI,near:A.near||1,far:A.far||1e5,aspectRatio:A.aspect||1},depthBias:A.depthBias,videoFrameInterval:A.videoFrameInterval,playVideo:A.playVideo,opacity:A.opacity,maxDiffAngle:A.maxDiffAngle,maximumDistance:A.maximumDistance||1e3});m.castTexture=A.castTexture,this.videoProjection=m,this._showMesh=A.showMesh,A.addToMap===!0&&this.addToMap()};GT.prototype.updateAuxMesh=function(){let o=this;if(o._auxMesh&&(o.mEarthCtrl.factory.removeElement(o._auxMesh),o._auxMesh=null),o._showMesh===!0){let A=o.parameter,f=A.far||2;o._auxMesh=this.mEarthCtrl.factory.createElement({name:"sphere1",type:"ellipsoid",position:Z.fromDegrees(A.lon,A.lat,A.height),parameters:{radii:new Z(f,f,f),material:Ve.RED.withAlpha(.1),outline:!0,outlineColor:Ve.GREEN}})}};GT.prototype.addToMap=function(){this.videoProjection!==null&&(this.mEarthCtrl.textureProjectionMapList.push(this.videoProjection),this.updateAuxMesh())};GT.prototype.setEnable=function(o){this.videoProjection!==null&&(this.videoProjection.enabled=o)};GT.prototype.remove=function(){if(this.videoProjection!==null){let o=this.mEarthCtrl.textureProjectionMapList;for(let A=0;A<o.length;A++){let f=o[A];this.videoProjection===f&&o.splice(A,1)}}};GT.prototype.toJSON=function(){return As.export(this)};var DTe=GT;var OR=function(){let o=this;o.timer=null,o.interval=.05,o.isPause=!1,o.callbackList=new lk("callback")};OR.prototype.init=function(o){this.interval=o};OR.prototype.fini=function(){this.stop()};OR.prototype.start=function(){let o=this,A=function(){o.isPause===!1&&o.callbackList.notifyEvent(this,0)};o.timer=window.setInterval(A,this.interval*1e3)};OR.prototype.stop=function(){this.timer&&(window.clearInterval(this.timer),this.timer=null)};OR.prototype.setPause=function(o){this.isPause=o};OR.prototype.addListener=function(o){this.callbackList.addEventHandler(this,o)};OR.prototype.clearListeners=function(){this.callbackList.clearEventHandler()};var Aae=OR;function LK(o){this.mEarthCtrl=o,this.coreMap=o.coreMap,this.trackInfos=[],this.timer=null,this.animationController=new Aae,this.currIndex=-1,this.startTime=0,this.currentTrackInfo=null}function vRi(o,A){if(o.length===0)return null;let f=null;for(let m=0;m<o.length&&o[m].timeStamp<A;m++)f=o[m];return f}function BRi(o,A){A.class==="LOOKAT"&&(A.duration===void 0&&(A.duration=4e3),O(A.position)||(A.position=Z.fromDegrees(A.lon,A.lat,A.alt)),O(A.orientation)||(A.orientation={heading:Be.toRadians(A.heading),pitch:Be.toRadians(A.pitch),roll:Be.toRadians(A.roll)}),o.coreMap.camera.flyTo({destination:A.position,orientation:A.orientation,duration:A.duration/1e3}))}LK.prototype.initialize=function(o){let A=0,f=this;for(let m=0;m<o.stations.length;m++){let C=o.stations[m];C.class==="LOOKAT"&&(C.timeStamp=A,A+=C.stopTime,f.trackInfos.push(C))}f.animationController.addListener(function(m){let C=new Date().getTime()-f.startTime,E=vRi(f.trackInfos,C);E!==f.currentTrackInfo&&(BRi(f.mEarthCtrl,E),f.currentTrackInfo=E)})};LK.prototype.finalize=function(){this.animationController.finalize(),this.currentTrackInfo=null};LK.prototype.play=function(){let o=this;o.currentTrackInfo=null,o.startTime=new Date().getTime(),o.animationController.start()};LK.prototype.stop=function(){this.animationController.stop(),this.currentTrackInfo=null};var mlt=LK;var cae=class extends gu{constructor(A,f){super(A,f),this._rtti="Fire",this._primitive=null,this._parameter=f,this._spatialTransform.createFromWgs84(f.lon,f.lat,f.alt,f.heading,f.pitch,f.roll)}addToMap(){let A=this._parameter,f=this._coreMap;function m(){let x=bs.fromDegrees(0,0,0),y=new _I;return y.translation=Z.fromElements(2.5,4,1),y.rotation=fr.fromHeadingPitchRoll(x),Re.fromTranslationRotationScale(y)}let C=oe(A.particleSize,30),E=f.scene.primitives.add(new Iv({image:oe(A.image,`${globalThis.GEOWORLD_BASE_URL}Assets/Images/fire.png`),startColor:oe(A.startColor,Ve.RED.withAlpha(.7)),endColor:oe(A.endColor,Ve.YELLOW.withAlpha(.3)),startScale:oe(A.startScale,1),endScale:oe(A.endScale,4),minimumParticleLife:oe(A.minimumParticleLife,1),maximumParticleLife:oe(A.maximumParticleLife,6),minimumSpeed:oe(A.minimumSpeed,5),maximumSpeed:oe(A.maximumSpeed,10),imageSize:new rt(C,C),emissionRate:oe(A.emissionRate,5),bursts:[],lifetime:oe(A.lifeTime,16),emitter:new b8(Be.toRadians(30)),modelMatrix:this._spatialTransform.modelMatrix,emitterModelMatrix:m()}));this._primitive=E}removeFromMap(){this._primitive!==null&&this._coreMap.scene.primitives.remove(this._primitive)}toJSON(){let A=this;return As.export(A)}};Object.defineProperties(cae.prototype,{parameter:{get:function(){return this._parameter}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var TTe=cae;var hae=class extends gu{constructor(A,f){super(A,f),this._rtti="Smoke",this._primitive=null,this._parameter=f,this._spatialTransform.createFromWgs84(f.lon,f.lat,f.alt,f.heading,f.pitch,f.roll),this._coreMap=A.coreMap}addToMap(){let A=this._parameter,f=this._coreMap;function m(){let x=bs.fromDegrees(0,0,0),y=new _I;return y.translation=Z.fromElements(2.5,4,1),y.rotation=fr.fromHeadingPitchRoll(x),Re.fromTranslationRotationScale(y)}let C=oe(A.particleSize,30),E=f.scene.primitives.add(new Iv({image:oe(A.image,`${globalThis.GEOWORLD_BASE_URL}Assets/Images/smoke.png`),startColor:oe(A.startColor,Ve.fromRgba(3425907507)),endColor:oe(A.endColor,Ve.fromRgba(1154272460)),startScale:oe(A.startScale,1),endScale:oe(A.endScale,4),minimumParticleLife:oe(A.minimumParticleLife,1),maximumParticleLife:oe(A.maximumParticleLife,6),minimumSpeed:oe(A.minimumSpeed,5),maximumSpeed:oe(A.maximumSpeed,20),imageSize:new rt(C,C),emissionRate:oe(A.emissionRate,10),bursts:[],lifetime:oe(A.lifeTime,16),emitter:new b8(Be.toRadians(30)),modelMatrix:this._spatialTransform.modelMatrix,emitterModelMatrix:m()}));this._primitive=E}removeFromMap(){this._primitive!==null&&this._coreMap.scene.primitives.remove(this._primitive)}toJSON(){let A=this;return As.export(A)}};Object.defineProperties(hae.prototype,{parameter:{get:function(){return this._parameter}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}},lon:{get:function(){if(this._parameter!==null)return this._lon},set:function(o){if(this._parameter!==null){if(this._lon===o)return;this._parameter.lon=o,this._spatialTransform.createFromWgs84(this._parameter.lon,this._parameter.lat,this._parameter.alt,this._parameter.heading,this._parameter.pitch,this._parameter.roll),this._primitive.modelMatrix=this._spatialTransform.modelMatrix}}},lat:{get:function(){if(this._parameter!==null)return this._lat},set:function(o){if(this._parameter!==null){if(this._lat===o)return;this._parameter.lat=o,this._spatialTransform.createFromWgs84(this._parameter.lon,this._parameter.lat,this._parameter.alt,this._parameter.heading,this._parameter.pitch,this._parameter.roll),this._primitive.modelMatrix=this._spatialTransform.modelMatrix}}},particleSize:{get:function(){if(this._primitive!==null)return this._primitive.particleSize},set:function(o){if(this._parameter!==null){if(this._parameter.particleSize===o)return;this._parameter.particleSize=o,this._primitive.imageSize=new rt(this._parameter.particleSize,this._parameter.particleSize)}}}});var MTe=hae;var dae=class extends gu{constructor(A,f){super(A,f),this._rtti="Explosion",this._primitive=null,this._parameter=f,this._spatialTransform.createFromWgs84(f.lon,f.lat,f.alt,f.heading,f.pitch,f.roll),this._coreMap=A.viewer}finalize(){}addToMap(){let A=this._parameter,f=this._coreMap;function m(){let R=bs.fromDegrees(0,0,0),P=new _I;return P.translation=Z.fromElements(2.5,4,1),P.rotation=fr.fromHeadingPitchRoll(R),Re.fromTranslationRotationScale(P)}let C=this._spatialTransform.modelMatrix,E=new Z(0,0,0),x=30,y=100,I=new rt(30,30),v=400,B=10,Q=new Re;function T(R,P,M){let L=Z.add(E,R,new Z),F=Re.fromTranslation(L,Q),k=Re.multiply(C,F,new Re),N=Re.inverseTransformation(k,k),G=Be.randomBetween(x,y),J=new Z,K=function(le){let ue=Re.multiplyByPoint(N,le.position,J);Z.magnitudeSquared(ue)>=G*G&&Z.clone(Z.ZERO,le.velocity)},X=(G-x)/(y-x),q=.3,ie=X*(1-q)+q;return f.scene.primitives.add(new Iv({image:oe(A.image,`${globalThis.GEOWORLD_BASE_URL}Assets/Images/fire.png`),startColor:P,endColor:P.withAlpha(0),particleLife:ie,speed:100,imageSize:I,emissionRate:0,emitter:new T8(.1),bursts:M,lifetime:B,updateCallback:K,modelMatrix:C,emitterModelMatrix:F}))}let w=[];for(let R=0;R<3;++R)w.push(new D8({time:Be.nextRandomNumber()*B,minimum:v,maximum:v}));let S=new Z(0,0,0),D=Ve.WHITE.withAlpha(.7);this._primitive=T(S,D,w)}removeFromMap(){this._primitive!==null&&this._coreMap.scene.primitives.remove(this._primitive)}toJSON(){let A=this;return As.export(A)}};Object.defineProperties(dae.prototype,{parameter:{get:function(){return this._parameter}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var PTe=dae;var fae=class extends gu{constructor(A,f){super(A,f),this._rtti="Fireworks",this._primitives=[],this._parameter=f,this._spatialTransform.createFromWgs84(f.lon,f.lat,f.alt,f.heading,f.pitch,f.roll)}addToMap(){let A=this._parameter,f=this._coreMap,m=oe(A.emitHeight,100);function C(){let K=bs.fromDegrees(0,0,0),X=new _I;return X.translation=Z.fromElements(2.5,4,1),X.rotation=fr.fromHeadingPitchRoll(K),Re.fromTranslationRotationScale(X)}Be.setRandomNumberSeed(315);let E=this._spatialTransform.modelMatrix,x=new Z(0,0,m),y;function I(){if(!O(y)){y=document.createElement("canvas"),y.width=20,y.height=20;let K=y.getContext("2d");K.beginPath(),K.arc(8,8,8,0,Be.TWO_PI,!0),K.closePath(),K.fillStyle="rgb(255, 255, 255)",K.fill()}return y}let v=30,B=100,Q=new rt(7,7),T=400,w=10,S=20,D=new Re,R=this;function P(K,X,q){let ee=Z.add(x,K,new Z),ie=Re.fromTranslation(ee,D),H=Re.multiply(E,ie,new Re),le=Re.inverseTransformation(H,H),ue=Be.randomBetween(v,B),Ae=new Z,he=function(Y){let z=Re.multiplyByPoint(le,Y.position,Ae);Z.magnitudeSquared(z)>=ue*ue&&Z.clone(Z.ZERO,Y.velocity)},ge=(ue-v)/(B-v),fe=.3,U=ge*(1-fe)+fe,W=f.scene.primitives.add(new Iv({image:I(),startColor:X,endColor:X.withAlpha(0),particleLife:U,speed:100,imageSize:Q,emissionRate:0,emitter:new T8(.1),bursts:q,lifetime:w,updateCallback:he,modelMatrix:E,emitterModelMatrix:ie}));R._primitives.push(W)}let M=-100,L=100,F=-80,k=100,N=-50,G=50,J=[{minimumRed:.75,green:0,minimumBlue:.8,alpha:1},{red:0,minimumGreen:.75,minimumBlue:.8,alpha:1},{red:0,green:0,minimumBlue:.8,alpha:1},{minimumRed:.75,minimumGreen:.75,blue:0,alpha:1}];for(let K=0;K<S;++K){let X=Be.randomBetween(M,L),q=Be.randomBetween(F,k),ee=Be.randomBetween(N,G),ie=new Z(X,q,ee),H=Ve.fromRandom(J[K%J.length]),le=[];for(let ue=0;ue<3;++ue)le.push(new D8({time:Be.nextRandomNumber()*w,minimum:T,maximum:T}));P(ie,H,le)}}removeFromMap(){for(let A in this._primitives)this._coreMap.scene.primitives.remove(this._primitives[A]);this._primitives=[]}toJSON(){console.log("\u70DF\u82B1=========================>>>>>",this);let A=this;return As.export(A)}};Object.defineProperties(fae.prototype,{parameter:{get:function(){return this._parameter}},emitHeight:{get:function(){return this._parameter!==null?this._parameter.emitHeight:0},set:function(o){this._parameter!==null&&(this._parameter.emitHeight=o)}},show:{get:function(){return this._primitives.length>0?this._primitives[0].show:!1},set:function(o){for(let A in this._primitives)this._primitives[A].show=o}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var RTe=fae;var xlt=rU(Elt(),1),El={defaults:{useEntitiesIfAvailable:!0,minCanvasSize:700,maxCanvasSize:2e3,radiusFactor:60,spacingFactor:1.5,maxOpacity:.8,minOpacity:.1,blur:.85,gradient:{0:"#00AEFF",".58":"#A8FF00",".70":"#FFF000",".85":"#FE9B1A",1:"#FE411B"},mode3D:!1,scaleHeight:1}};El.create=function(o,A,f){return new FI(o,A,f)};El._getContainer=function(o,A,f){let m=document.createElement("div");return f&&m.setAttribute("id",f),m.setAttribute("style",`width: ${o}px; height: ${A}px; margin: 0px; display: none;`),document.body.appendChild(m),m};El._getImageryProvider=function(o){let A=o._heatmap.getDataURL(),f=new Cv({url:A,rectangle:o._rectangle});return f._tilingScheme=new Zf({rectangleSouthwestInMeters:new rt(o._mbounds.west,o._mbounds.south),rectangleNortheastInMeters:new rt(o._mbounds.east,o._mbounds.north)}),f};El._getID=function(o){let A="",f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";for(let m=0;m<(o||8);m++)A+=f.charAt(Math.floor(Be.nextRandomNumber()*f.length));return A};var oH=new ec;El.wgs84ToMercator=function(o){let A=oH.project(Rt.fromDegrees(o.x,o.y));return{x:A.x,y:A.y}};El.wgs84ToMercatorBB=function(o){let A=oH.project(Rt.fromDegrees(o.west,o.south)),f=oH.project(Rt.fromDegrees(o.east,o.north));return{north:f.y,east:f.x,south:A.y,west:A.x}};El.mercatorToWgs84=function(o){let A=oH.unproject(new Z(o.x,o.y));return{x:A.longitude,y:A.latitude}};El.mercatorToWgs84BB=function(o){let A=oH.unproject(new Z(o.west,o.south)),f=oH.unproject(new Z(o.east,o.north));return{north:this.rad2deg(f.latitude),east:this.rad2deg(f.longitude),south:this.rad2deg(A.latitude),west:this.rad2deg(A.longitude)}};El.deg2rad=function(o){return o*(Math.PI/180)};El.rad2deg=function(o){return o/(Math.PI/180)};function FI(o,A,f){if(!A)return null;f||(f={}),this._earthCtrl=o,this._options=f,this._id=El._getID(),this._options.gradient=this._options.gradient?this._options.gradient:El.defaults.gradient,this._options.maxOpacity=this._options.maxOpacity?this._options.maxOpacity:El.defaults.maxOpacity,this._options.minOpacity=this._options.minOpacity?this._options.minOpacity:El.defaults.minOpacity,this._options.blur=this._options.blur?this._options.blur:El.defaults.blur,this._mbounds=El.wgs84ToMercatorBB(A),this._setWidthAndHeight(this._mbounds),this._options.radius=Math.round(this._options.radius?this._options.radius:this.width>this.height?this.width/El.defaults.radiusFactor:this.height/El.defaults.radiusFactor),this._spacing=this._options.radius*El.defaults.spacingFactor,this._xoffset=this._mbounds.west,this._yoffset=this._mbounds.south,this.width=Math.round(this.width+this._spacing*2),this.height=Math.round(this.height+this._spacing*2),this._mbounds.west-=this._spacing*this._factor,this._mbounds.east+=this._spacing*this._factor,this._mbounds.south-=this._spacing*this._factor,this._mbounds.north+=this._spacing*this._factor,this.bounds=El.mercatorToWgs84BB(this._mbounds),this._rectangle=gi.fromDegrees(this.bounds.west,this.bounds.south,this.bounds.east,this.bounds.north),this._container=El._getContainer(this.width,this.height,this._id),this._options.container=this._container,this._heatmap=xlt.default.create(this._options),this._container.children[0].setAttribute("id",`${this._id}-hm`),this._mode3D=this._options.mode3D?this._options.mode3D:El.defaults.mode3D,this._scaleHeight=this._options.scaleHeight?this._options.scaleHeight:El.defaults.scaleHeight,this._scaleHeight<=0&&(this._scaleHeight=1),this._granularity=this._options.granularity?this._options.granularity:Be.RADIANS_PER_DEGREE,this._useEntitiesIfAvailable=this._options.useEntitiesIfAvailable!==void 0?this._options.useEntitiesIfAvailable:El.defaults.useEntitiesIfAvailable,this._lineCount=oe(this._options.lineCount,new rt(1e3,1e3)),this._lineWidth=oe(this._options.lineWidth,1),console.info(this._lineCount)}FI.prototype.wgs84PointToHeatmapPoint=function(o){return this.mercatorPointToHeatmapPoint(El.wgs84ToMercator(o))};FI.prototype.mercatorPointToHeatmapPoint=function(o){let A={};return A.x=Math.round((o.x-this._xoffset)/this._factor+this._spacing),A.y=Math.round((o.y-this._yoffset)/this._factor+this._spacing),A.y=this.height-A.y,A};FI.prototype.getValueAt=function(o,A){let f=this.wgs84PointToHeatmapPoint({x:o,y:A});return this._heatmap.getValueAt({x:f.x,y:f.y})};FI.prototype.setMode3D=function(o){o!==this._mode3D&&(this._mode3D=o,this.updateLayer())};FI.prototype._setWidthAndHeight=function(o){this.width=o.east>0&&o.west<0?o.east+Math.abs(o.west):Math.abs(o.east-o.west),this.height=o.north>0&&o.south<0?o.north+Math.abs(o.south):Math.abs(o.north-o.south),this._factor=1,this.width>this.height&&this.width>El.defaults.maxCanvasSize?(this._factor=this.width/El.defaults.maxCanvasSize,this.height/this._factor<El.defaults.minCanvasSize&&(this._factor=this.height/El.defaults.minCanvasSize)):this.height>this.width&&this.height>El.defaults.maxCanvasSize?(this._factor=this.height/El.defaults.maxCanvasSize,this.width/this._factor<El.defaults.minCanvasSize&&(this._factor=this.width/El.defaults.minCanvasSize)):this.width<this.height&&this.width<El.defaults.minCanvasSize?(this._factor=this.width/El.defaults.minCanvasSize,this.height/this._factor>El.defaults.maxCanvasSize&&(this._factor=this.height/El.defaults.maxCanvasSize)):this.height<this.width&&this.height<El.defaults.minCanvasSize&&(this._factor=this.height/El.defaults.minCanvasSize,this.width/this._factor>El.defaults.maxCanvasSize&&(this._factor=this.width/El.defaults.maxCanvasSize)),this.width=this.width/this._factor,this.height=this.height/this._factor};FI.prototype.setData=function(o,A,f){return f&&f.length>0&&o!==null&&o!==!1&&A!==null&&A!==!1?(this._heatmap.setData({min:o,max:A,data:f}),this.updateLayer(),!0):!1};FI.prototype.addWGS84Data=function(o){if(o){let A=Array.isArray(o)?o:[o],f=[];for(let m=0;m<A.length;m++){let C=A[m],E=this.wgs84PointToHeatmapPoint(C);(C.value||C.value===0)&&(E.value=C.value),f.push(E)}return this._heatmap.addData(f),this.updateLayer(),!0}return!1};FI.prototype.setWGS84Data=function(o,A,f){if(f&&f.length>0&&o!==null&&o!==!1&&A!==null&&A!==!1){let m=[];for(let C=0;C<f.length;C++){let E=f[C],x=this.wgs84PointToHeatmapPoint(E);(E.value||E.value===0)&&(x.value=E.value),m.push(x)}return this.setData(o,A,m)}return!1};FI.prototype.show=function(o){this._layer&&(this._layer.show=o)};FI.prototype.remove=function(){El.defaults.useEntitiesIfAvailable&&this._earthCtrl.entities?this._layer&&this._earthCtrl.primitives.remove(this._layer):this._layer&&this._earthCtrl.coreMap.scene.imageryLayers.remove(this._layer)};Object.defineProperties(FI.prototype,{readyPromise:{get:function(){return this._layer.readyPromise}}});function wRi(o){return new go({fabric:{type:"HeatMapMaterial",materials:{imageMaterial:{type:"Image",uniforms:{image:o}},gridMaterial:{type:"Grid"}},components:{emission:" imageMaterial.diffuse * gridMaterial.diffuse",diffuse:" imageMaterial.diffuse * gridMaterial.diffuse",alpha:"imageMaterial.alpha * gridMaterial.alpha*2.0"}},translucent:!1})}FI.prototype.updateLayer=function(){if(this._useEntitiesIfAvailable&&this._earthCtrl.entities){this._layer&&this._earthCtrl.primitives.remove(this._layer);let o=this,A=this._rectangle,f=Z.fromRadiansArray([A.west,A.north,A.east,A.north,A.east,A.south,A.west,A.south]),m=wRi(this._heatmap._renderer.canvas);m.materials.gridMaterial.uniforms.color=Ve.WHITE,m.materials.gridMaterial.uniforms.cellAlpha=.1,m.materials.gridMaterial.uniforms.lineCount=this._lineCount,m.materials.gridMaterial.uniforms.lineThickness=new rt(this._lineWidth,this._lineWidth),m.update(o._earthCtrl.coreMap.scene.context),this._layer=this._earthCtrl.primitives.add(new ra({geometryInstances:new kn({geometry:new mA({polygonHierarchy:new yn(f),granularity:o._granularity})}),appearance:new $c({material:m}),heatMap:o._mode3D?o:void 0,scaleHeight:o._scaleHeight}))}else this._layer&&this._earthCtrl.coreMap.scene.imageryLayers.remove(this._layer),this._layer=this._earthCtrl.coreMap.scene.imageryLayers.addImageryProvider(El._getImageryProvider(this))};function ylt(o,A){this.mEarthCtrl=o,this.coreMap=o.coreMap,this._color=oe(A.color,Ve.YELLOW.withAlpha(1)),this._maxRadius=oe(A.maxRadius,1500),this._duration=oe(A.duration,4e3),this._lon=oe(A.lon,121),this._lat=oe(A.lat,31),this._height=oe(A.height,500),this._cartoCenter=Rt.fromDegrees(this._lon,this._lat),this._pps=null,this._rtti="RadarScan",this._parameter=A,this.toJSON=function(){return As.export(this)},this.removeFromMap=function(){Ilt(this)}}function bRi(o){if(O(o._pps))return;let A=o._cartoCenter,f=Rt.toCartesian(A),m=new zt(f.x,f.y,f.z,1),C=new Rt(A.longitude,A.latitude,A.height+o._height),E=Rt.toCartesian(C),x=new zt(E.x,E.y,E.z,1),y=new Rt(A.longitude+Be.toRadians(.001),A.latitude,A.height),I=Rt.toCartesian(y),v=new zt(I.x,I.y,I.z,1),B=new fr,Q=new Gt,T=new Date().getTime(),w=new zt,S=new zt,D=new zt,R=new Z,P=new Z,M=o.mEarthCtrl.coreMap.scene.camera;o._pps=new wa({fragmentShader:QRi(),uniforms:{u_scanCenterEC:function(){return Re.multiplyByVector(M._viewMatrix,m,w)},u_scanPlaneNormalEC:function(){let F=Re.multiplyByVector(M._viewMatrix,m,w),k=Re.multiplyByVector(M._viewMatrix,x,S);return R.x=k.x-F.x,R.y=k.y-F.y,R.z=k.z-F.z,Z.normalize(R,R),R},u_radius:o._maxRadius,u_scanLineNormalEC:function(){let F=Re.multiplyByVector(M._viewMatrix,m,w),k=Re.multiplyByVector(M._viewMatrix,x,S),N=Re.multiplyByVector(M._viewMatrix,v,D);R.x=k.x-F.x,R.y=k.y-F.y,R.z=k.z-F.z,Z.normalize(R,R),P.x=N.x-F.x,P.y=N.y-F.y,P.z=N.z-F.z;let G=(new Date().getTime()-T)%o._duration/o._duration;return fr.fromAxisAngle(R,G*Be.PI*2,B),Gt.fromQuaternion(B,Q),Gt.multiplyByVector(Q,P,P),Z.normalize(P,P),P},u_scanColor:o._color}}),o.mEarthCtrl.coreMap.scene.postProcessStages.add(o._pps)}function Ilt(o){O(o._pps)&&(o.mEarthCtrl.coreMap.scene.postProcessStages.remove(o._pps),o._pps=null)}function QRi(){return`uniform sampler2D colorTexture; uniform sampler2D depthTexture; in vec2 v_textureCoordinates; uniform vec4 u_scanCenterEC; uniform vec3 u_scanPlaneNormalEC; uniform vec3 u_scanLineNormalEC; uniform float u_radius; uniform vec4 u_scanColor; vec4 toEye(in vec2 uv, in float depth) { vec2 xy = vec2((uv.x * 2.0 - 1.0),(uv.y * 2.0 - 1.0)); vec4 posInCamera =czm_inverseProjection * vec4(xy, depth, 1.0); posInCamera =posInCamera / posInCamera.w; return posInCamera; } bool isPointOnLineRight(in vec3 ptOnLine, in vec3 lineNormal, in vec3 testPt) { vec3 v01 = testPt - ptOnLine; normalize(v01); vec3 temp = cross(v01, lineNormal); float d = dot(temp, u_scanPlaneNormalEC); return d > 0.5; } vec3 pointProjectOnPlane(in vec3 planeNormal, in vec3 planeOrigin, in vec3 point) { vec3 v01 = point -planeOrigin; float d = dot(planeNormal, v01) ; return (point - planeNormal * d); } float distancePointToLine(in vec3 ptOnLine, in vec3 lineNormal, in vec3 testPt) { vec3 tempPt = pointProjectOnPlane(lineNormal, ptOnLine, testPt); return length(tempPt - ptOnLine); } float getDepth(in vec4 depth) { float z_window = czm_unpackDepth(depth); z_window = czm_reverseLogDepth(z_window); float n_range = czm_depthRange.near; float f_range = czm_depthRange.far; return (2.0 * z_window - n_range - f_range) / (f_range - n_range); } void main() { out_FragColor = texture(colorTexture, v_textureCoordinates); float depth = getDepth( texture(depthTexture, v_textureCoordinates)); vec4 viewPos = toEye(v_textureCoordinates, depth); vec3 prjOnPlane = pointProjectOnPlane(u_scanPlaneNormalEC.xyz, u_scanCenterEC.xyz, viewPos.xyz); float dis = length(prjOnPlane.xyz - u_scanCenterEC.xyz); float twou_radius = u_radius * 2.0; if(dis < u_radius) { vec3 lineEndPt = vec3(u_scanCenterEC.xyz) + u_scanLineNormalEC * u_radius; float f = 0.0; if(isPointOnLineRight(u_scanCenterEC.xyz, u_scanLineNormalEC.xyz, prjOnPlane.xyz)) { float dis1= length(prjOnPlane.xyz - lineEndPt); f = abs(twou_radius -dis1) / twou_radius; f = pow(f, 3.0); } out_FragColor = mix(out_FragColor, u_scanColor, f); } } `}Object.defineProperties(ylt.prototype,{parameter:{get:function(){return this._parameter}},lon:{get:function(){if(this._parameter!==null)return this._lon},set:function(o){if(this._parameter!==null){if(this._lon===o)return;this._parameter.lon=o}}},lat:{get:function(){if(this._parameter!==null)return this._lat},set:function(o){if(this._parameter!==null){if(this._lat===o)return;this._parameter.lat=o}}},show:{get:function(){return this._pps!==null},set:function(o){this.show!==o&&(this._parameter.show=o,this._show=o,o?bRi(this):Ilt(this))}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var LTe=ylt;function _lt(o,A){this.mEarthCtrl=o,this.coreMap=o.coreMap,this._color=oe(A.color,Ve.YELLOW.withAlpha(1)),this._maxRadius=oe(A.maxRadius,1500),this._duration=oe(A.duration,4e3),this._lon=oe(A.lon,121),this._lat=oe(A.lat,31),this._height=oe(A.height,500),this._cartoCenter=Rt.fromDegrees(this._lon,this._lat),this._pps=null,this._rtti="CircleScan",this._parameter=A,this.toJSON=function(){return As.export(this)},this.removeFromMap=function(){vlt(this)}}function SRi(o){if(O(o._pps))return;let A=o._cartoCenter,f=Rt.toCartesian(A),m=new zt(f.x,f.y,f.z,1),C=new Rt(A.longitude,A.latitude,A.height+o._height),E=Rt.toCartesian(C),x=new zt(E.x,E.y,E.z,1),y=new Date().getTime(),I=new zt,v=new zt,B=new Z,Q=o.mEarthCtrl.coreMap.scene.camera;o._pps=new wa({fragmentShader:DRi(),uniforms:{u_scanCenterEC:function(){return Re.multiplyByVector(Q._viewMatrix,m,I)},u_scanPlaneNormalEC:function(){let w=Re.multiplyByVector(Q._viewMatrix,m,I),S=Re.multiplyByVector(Q._viewMatrix,x,v);return B.x=S.x-w.x,B.y=S.y-w.y,B.z=S.z-w.z,Z.normalize(B,B),B},u_radius:function(){return o._maxRadius*((new Date().getTime()-y)%o._duration)/o._duration},u_scanColor:o._color}}),o.mEarthCtrl.coreMap.scene.postProcessStages.add(o._pps)}function vlt(o){O(o._pps)&&(o.mEarthCtrl.coreMap.scene.postProcessStages.remove(o._pps),o._pps=null)}function DRi(){return`uniform sampler2D colorTexture; uniform sampler2D depthTexture; in vec2 v_textureCoordinates; uniform vec4 u_scanCenterEC; uniform vec3 u_scanPlaneNormalEC; uniform float u_radius; uniform vec4 u_scanColor; vec4 toEye(in vec2 uv, in float depth) { vec2 xy = vec2((uv.x * 2.0 - 1.0),(uv.y * 2.0 - 1.0)); vec4 posInCamera =czm_inverseProjection * vec4(xy, depth, 1.0); posInCamera =posInCamera / posInCamera.w; return posInCamera; } vec3 pointProjectOnPlane(in vec3 planeNormal, in vec3 planeOrigin, in vec3 point) { vec3 v01 = point -planeOrigin; float d = dot(planeNormal, v01) ; return (point - planeNormal * d); } float getDepth(in vec4 depth) { float z_window = czm_unpackDepth(depth); z_window = czm_reverseLogDepth(z_window); float n_range = czm_depthRange.near; float f_range = czm_depthRange.far; return (2.0 * z_window - n_range - f_range) / (f_range - n_range); } void main() { out_FragColor = texture(colorTexture, v_textureCoordinates); float depth = getDepth( texture(depthTexture, v_textureCoordinates)); vec4 viewPos = toEye(v_textureCoordinates, depth); vec3 prjOnPlane = pointProjectOnPlane(u_scanPlaneNormalEC.xyz, u_scanCenterEC.xyz, viewPos.xyz); float dis = length(prjOnPlane.xyz - u_scanCenterEC.xyz); if(dis < u_radius) { float f = dis/ u_radius; f = pow(f, 2.0); out_FragColor = mix(out_FragColor, u_scanColor, f); } } `}Object.defineProperties(_lt.prototype,{parameter:{get:function(){return this._parameter}},lon:{get:function(){if(this._parameter!==null)return this._lon},set:function(o){if(this._parameter!==null){if(this._lon===o)return;this._lon=o,this._parameter.lon=o}}},lat:{get:function(){if(this._parameter!==null)return this._lat},set:function(o){if(this._parameter!==null){if(this._lat===o)return;this._lat=o,this._parameter.lat=o}}},show:{get:function(){return this._pps!==null},set:function(o){this.show!==o&&(this._parameter.show=o,o?SRi(this):vlt(this))}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var Blt=_lt;function wlt(o,A){this.mEarthCtrl=o,this.coreMap=o.coreMap,this._color=oe(A.color,new Ve(1,0,0,1)),this._maxRadius=oe(A.maxRadius,15e3),this._duration=oe(A.duration,4e3),this._lon=oe(A.lon,121),this._lat=oe(A.lat,31),this._height=oe(A.height,500),this._cartoCenter=Rt.fromDegrees(this._lon,this._lat),this._minHeight=oe(A.minHeight,10),this._maxHeight=oe(A.maxHeight,200),this._currentHeight=this._minHeight,this._pps=null}function TRi(o){if(O(o._pps))return;let A=o._cartoCenter,f=Rt.toCartesian(A),m=new zt(f.x,f.y,f.z,1),C=new Rt(A.longitude,A.latitude,A.height+o._height),E=Rt.toCartesian(C),x=new zt(E.x,E.y,E.z,1),y=new Date().getTime(),I=new zt,v=new zt,B=new Z,Q=o.mEarthCtrl.coreMap.scene.camera;o._pps=new wa({fragmentShader:PRi(),uniforms:{u_scanCenterEC:function(){return Re.multiplyByVector(Q._viewMatrix,m,I)},u_scanPlaneNormalEC:function(){let w=Re.multiplyByVector(Q._viewMatrix,m,I),S=Re.multiplyByVector(Q._viewMatrix,x,v);return B.x=S.x-w.x,B.y=S.y-w.y,B.z=S.z-w.z,Z.normalize(B,B),B},u_radius:function(){return o._maxRadius},u_currentHeight:function(){if(o._currentHeight>=o._maxHeight)o._currentHeight=o._minHeight;else{let w=o._maxHeight-o._minHeight;w=w*((new Date().getTime()-y)%o._duration)/o._duration,o._currentHeight=o._minHeight+w}return o._currentHeight},u_scanColor:o._color}}),o.mEarthCtrl.coreMap.scene.postProcessStages.add(o._pps)}function MRi(o){O(o._pps)&&(o.mEarthCtrl.coreMap.scene.postProcessStages.remove(o._pps),o._pps=null)}function PRi(){return`uniform sampler2D colorTexture; uniform sampler2D depthTexture; in vec2 v_textureCoordinates; uniform vec4 u_scanCenterEC; uniform vec3 u_scanPlaneNormalEC; uniform float u_radius; uniform vec4 u_scanColor; uniform float u_currentHeight; vec4 toEye(in vec2 uv, in float depth) { vec2 xy = vec2((uv.x * 2.0 - 1.0),(uv.y * 2.0 - 1.0)); vec4 posInCamera =czm_inverseProjection * vec4(xy, depth, 1.0); posInCamera =posInCamera / posInCamera.w; return posInCamera; } vec3 pointProjectOnPlane(in vec3 planeNormal, in vec3 planeOrigin, in vec3 point) { vec3 v01 = point -planeOrigin; float d = dot(planeNormal, v01) ; return (point - planeNormal * d); } float getDepth(in vec4 depth) { float z_window = czm_unpackDepth(depth); z_window = czm_reverseLogDepth(z_window); float n_range = czm_depthRange.near; float f_range = czm_depthRange.far; return (2.0 * z_window - n_range - f_range) / (f_range - n_range); } void main() { out_FragColor = texture(colorTexture, v_textureCoordinates); float depth = getDepth( texture(depthTexture, v_textureCoordinates)); vec4 viewPos = toEye(v_textureCoordinates, depth); vec3 prjOnPlane = pointProjectOnPlane(u_scanPlaneNormalEC.xyz, u_scanCenterEC.xyz, viewPos.xyz); float height_dis = length(prjOnPlane.xyz-viewPos.xyz); if(height_dis >= u_currentHeight && height_dis <= (u_currentHeight+1.0)) { out_FragColor = mix(out_FragColor, u_scanColor, u_scanColor.a); } } `}Object.defineProperties(wlt.prototype,{parameter:{get:function(){return this._parameter}},show:{get:function(){return this._pps!==null},set:function(o){o===!0?TRi(this):MRi(this)}}});var blt=wlt;function FTe(o,A){return this._earthCtrl=o,this._coreMap=o.coreMap,this.createPointLight(A),this}FTe.prototype.createPointLight=function(o){if(!o.lights){console.log("\u8BF7\u4F20\u5165\u70B9\u5149\u6E90\uFF01");return}let A=this._earthCtrl.imageryLayers;if(A.length>0&&o.globe){let C=A.get(0);C.brightness=o.globeBrightness||1}let f=JSON.parse(JSON.stringify(o.lights));for(let C=0;C<o.lights.length;C++)f[C].pointColor=Ve.lerp(Ve.BLACK,o.lights[C].pointColor,o.lights[C].brightness,new Ve);o.globeBrightness===0&&(o.globeBrightness=.001);let m=new CY(this._coreMap,{globeParam:{globe:oe(o.globe,this._coreMap.scene.globe),brightness:oe(o.globeBrightness,1)},gltfParam:{gltf:oe(o.gltf,null),brightness:oe(o.globeBrightness,1)},tilesetParam:{tileset:oe(o.tileset,null),brightness:oe(o.globeBrightness,1)}},f)};FTe.prototype.updatePointLights=function(o){if(!o.lights){console.log("\u8BF7\u4F20\u5165\u70B9\u5149\u6E90\uFF01");return}let A=this._earthCtrl.imageryLayers;if(A.length>0&&o.globe){let C=A.get(0);C.brightness=o.globeBrightness||1}let f=JSON.parse(JSON.stringify(o.lights));for(let C=0;C<o.lights.length;C++)f[C].pointColor=Ve.lerp(Ve.BLACK,o.lights[C].pointColor,o.lights[C].brightness,new Ve);o.globeBrightness===0&&(o.globeBrightness=.001);let m=new CY(this._coreMap,{globeParam:{globe:oe(o.globe,this._coreMap.scene.globe),brightness:oe(o.globeBrightness,1)},gltfParam:{gltf:oe(o.gltf,null),brightness:oe(o.globeBrightness,1)},tilesetParam:{tileset:oe(o.tileset,null),brightness:oe(o.globeBrightness,1)}},f)};var Qlt=FTe;var pae=class extends gu{constructor(A,f){super(A,f),this._rtti="Billboard",this._primitive=null,this._parameter=f,this._earthCtrl=A,this._spatialTransform.createFromWgs84(f.lon,f.lat,f.alt,f.heading,f.pitch,f.roll)}addToMap(){let A=this._parameter,f={position:Z.fromDegrees(A.lon,A.lat,A.alt),name:A.name};A.image=oe(A.image,""),A.width=oe(A.width,16),A.height=oe(A.height,16),f.billboard=A,this._primitive=this._earthCtrl.entities.add(f)}removeFromMap(){this._primitive!==null&&this._earthCtrl.entities.remove(this._primitive)}toJSON(){return As.export(this)}};Object.defineProperties(pae.prototype,{entity:{get:function(){return this._primitive},set:function(o){this._primitive=o}},parameter:{get:function(){return this._parameter}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o,this._parameter.show=o)}},lon:{get:function(){return this._parameter!==null?this._parameter.lon:!1},set:function(o){this._parameter!==null&&(this._primitive.position=Z.fromDegrees(o,this._parameter.lat,this._parameter.alt),this._parameter.lon=o)}},lat:{get:function(){return this._parameter!==null?this._parameter.lat:!1},set:function(o){this._parameter!==null&&(this._primitive.position=Z.fromDegrees(this._parameter.lon,o,this._parameter.alt),this._parameter.lat=o)}},alt:{get:function(){return this._parameter!==null?this._parameter.alt:!1},set:function(o){this._primitive!==null&&(this._primitive.position=Z.fromDegrees(this._parameter.lon,this._parameter.lat,o),this._parameter.alt=o)}},image:{get:function(){return this._parameter!==null?this._parameter.image:!1},set:function(o){this._primitive!==null&&(this._primitive.billboard.image=o,this._parameter.image=o)}},scale:{get:function(){return this._parameter!==null?this._parameter.scale:!1},set:function(o){this._primitive!==null&&(this._primitive.billboard.scale=o,this._parameter.scale=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var NTe=pae;var mae=class extends gu{constructor(A,f){super(A),this._parameter=f,this._spatialTransform.createFromWgs84(f.lon,f.lat,f.alt,f.heading,f.pitch,f.roll),f.scale=oe(f.scale,1),f.minimumPixelSize=oe(f.minimumPixelSize,10)}addToMap(){let A=this._parameter,f=null,m=oe(A.sourceType,"gltf");(m==="gltf"||m==="glb")&&(f=mp.fromGltf(A),f.modelMatrix=this._spatialTransform.modelMatrix),this._primitive=this._coreMap.scene.primitives.add(f)}removeFromMap(){this._primitive!==null&&this._coreMap.scene.primitives.remove(this._primitive)}toJSON(){let A=this;return new Promise(function(f,m){(void 0).all([A._primitive.readyPromise]).then(function(C){let E=As.export(A);console.log("modelObj",E),f(E)})})}};Object.defineProperties(mae.prototype,{entity:{get:function(){return this._primitive},set:function(o){this._primitive=o}},lon:{get:function(){return this._spatialTransform.longitude},set:function(o){this._spatialTransform.longitude=o}},lat:{get:function(){return this._spatialTransform.latitude},set:function(o){this._spatialTransform.latitude=o}},alt:{get:function(){return this._spatialTransform.altitude},set:function(o){this._spatialTransform.altitude=o}},heading:{get:function(){return this._spatialTransform.heading},set:function(o){this._spatialTransform.heading=o}},pitch:{get:function(){return this._spatialTransform.pitch},set:function(o){this._spatialTransform.pitch=o}},roll:{get:function(){return this._spatialTransform.roll},set:function(o){this._spatialTransform.roll=o}},parameter:{get:function(){return this._parameter}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o)}},sourceType:{get:function(){return this._parameter!==null?this._parameter.sourceType:!1}},dataUrl:{get:function(){return this._parameter!==null?this._parameter.url:!1}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var kTe=mae;var Cae=class extends gu{constructor(A,f){super(A),this._parameter=f,this._spatialTransform.createFromWgs84(f.lon,f.lat,f.alt,f.heading,f.pitch,f.roll)}addToMap(){let A=this._parameter,f={position:Z.fromDegrees(A.lon,A.lat,A.alt),name:A.name};A.text=oe(A.text,""),A.font=oe(A.font,"12pt monospace"),A.style=oe(A.style,Pu.FILL_AND_OUTLINE),A.outlineWidth=oe(A.outlineWidth,2),A.verticalOrigin=oe(A.verticalOrigin,hn.BOTTOM),A.pixelOffset=oe(A.pixelOffset,new rt(0,-20)),f.label=A,A.image&&(f.billboard={image:A.image,scale:A.iScale,pixelOffset:A.iPixelOffset,eyeOffset:A.iEyeOffset,horizontalOrigin:A.iHorizontalOrigin,verticalOrigin:A.iVerticalOrigin,heightReference:A.iHeightReference,color:A.iColor,rotation:A.iRotation,alignedAxis:A.iAlignedAxis,sizeInMeters:A.iSizeInMeters,width:A.iWidth,height:A.iHeight,scaleByDistance:A.iScaleByDistance,translucencyByDistance:A.iTranslucencyByDistance,pixelOffsetScaleByDistance:A.iPixelOffsetScaleByDistance,imageSubRegion:A.imageSubRegion,distanceDisplayCondition:A.iDistanceDisplayCondition,disableDepthTestDistance:A.iDisableDepthTestDistance}),this._primitive=this._earthCtrl.entities.add(f)}removeFromMap(){this._primitive!==null&&this._earthCtrl.entities.remove(this._primitive)}toJSON(){return As.export(this)}};Object.defineProperties(Cae.prototype,{entity:{get:function(){return this._primitive},set:function(o){this._primitive=o}},parameter:{get:function(){return this._parameter}},text:{get:function(){return this._primitive!==null?this._primitive.label.text:!1},set:function(o){this._parameter!==null&&(this._primitive.label.text=o,this._parameter.text=o)}},image:{get:function(){return this._parameter!==null?this._parameter.billboard.image:""}},font:{get:function(){return this._parameter!==null?this._parameter.font:!1},set:function(o){this._parameter!==null&&(this._parameter.font=o)}},outlineWidth:{get:function(){return this._parameter!==null?this._parameter.outlineWidth:!1},set:function(o){this._parameter!==null&&(this._parameter.outlineWidth=o)}},verticalOrigin:{get:function(){return this._parameter!==null?this._parameter.verticalOrigin:!1},set:function(o){this._parameter!==null&&(this._parameter.verticalOrigin=o)}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o,this._parameter.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}},fillColor:{get:function(){return this._primitive!==null?this._primitive.label.fillColor:!1},set:function(o){this._parameter!==null&&(this._primitive.label.fillColor=o,this._parameter.fillColor=o)}},lon:{get:function(){return this._parameter!==null?this._parameter.lon:!1},set:function(o){if(this._primitive!==null){this._parameter.lon=o;let A=Z.fromDegrees(o,this._parameter.lat,this._parameter.alt);this._primitive.position=new Hr(function(){return A},!1)}}},lat:{get:function(){return this._parameter!==null?this._parameter.lat:!1},set:function(o){if(this._primitive!==null){this._parameter.lat=o;let A=Z.fromDegrees(this._parameter.lon,o,this._parameter.alt);this._primitive.position=new Hr(function(){return A},!1)}}},alt:{get:function(){return this._parameter!==null?this._parameter.alt:!1},set:function(o){if(this._primitive!==null){this._parameter.alt=o;let A=Z.fromDegrees(this._parameter.lon,this._parameter.lat,o);this._primitive.position=new Hr(function(){return A},!1)}}}});var OTe=Cae;var Eae=class extends gu{constructor(A,f){super(A),this._parameter=f,this._parameter.lineWidth=oe(f.lineWidth,1)}addToMap(){let A=this._parameter,f=this._earthCtrl.entities.add({name:A.name,polyline:{positions:A.positions,width:A.lineWidth,material:A.lineColor,clampToGround:A.clampToGround,shadows:A.shadows,distanceDisplayCondition:A.distanceDisplayCondition}});this._primitive=f}updateMaterial(){let A,f=this._parameter;return O(f.outlineColor)?A=new MD({color:f.lineColor,outlineColor:f.outlineColor}):A=f.lineColor,A}removeFromMap(){this._primitive!==null&&this._earthCtrl.entities.remove(this._primitive)}toJSON(){return As.export(this)}};Object.defineProperties(Eae.prototype,{entity:{get:function(){return this._primitive},set:function(o){this._primitive=o}},positions:{get:function(){return this._primitive.polyline.positions},set:function(o){this._primitive.polyline.positions=o,this._parameter.positions=o}},lineColor:{get:function(){return this._parameter.lineColor},set:function(o){this._parameter.lineColor=o,this._primitive.polyline.material=this.updateMaterial()}},outlineColor:{get:function(){return this._parameter.outlineColor},set:function(o){this._parameter.outlineColor=o,this._primitive.polyline.material=this.updateMaterial()}},lineWidth:{get:function(){return this._primitive.polyline.width},set:function(o){this._primitive.polyline.width=o,this._parameter.lineWidth=o}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o,this._parameter.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}},clampToGround:{get:function(){return this._primitive!==null?this._primitive.polyline.clampToGround:!1},set:function(o){this._primitive!==null&&(this._primitive.polyline.clampToGround=o,this._parameter.clampToGround=o)}}});var UTe=Eae;var xae=class extends gu{constructor(A,f){super(A),this._parameter=f,this._parameter.lineWidth=oe(f.lineWidth,2)}addToMap(){let A=this._parameter,f=oe(A.outline,!0),m=A.material,C=oe(A.outlineColor,m),E=null;O(A.hierarchy)?E=A.hierarchy:E={positions:A.positions};let x=this._earthCtrl.entities.add({name:A.name,polygon:{hierarchy:{positions:A.positions},height:A.height,heightReference:A.heightReference,extrudedHeight:A.extrudedHeight,extrudedHeightReference:A.extrudedHeightReference,stRotation:A.stRotation,fill:A.fill,outlineWidth:A.lineWidth,material:m,outline:f,outlineColor:C,perPositionHeight:A.perPositionHeight,closeTop:A.closeTop,closeBottom:A.closeBottom,shadows:A.shadows,distanceDisplayCondition:A.distanceDisplayCondition}});this._primitive=x}removeFromMap(){this._primitive!==null&&this._earthCtrl.entities.remove(this._primitive)}toJSON(){return As.export(this)}};Object.defineProperties(xae.prototype,{entity:{get:function(){return this._primitive},set:function(o){this._primitive=o}},positions:{get:function(){return this._primitive.polygon.hierarchy._value},set:function(o){this._primitive.polygon.hierarchy._value=o}},fillColor:{get:function(){return this._primitive.polygon.material},set:function(o){this._primitive.polygon.material=o}},outline:{get:function(){return this._primitive.polygon.outline},set:function(o){this._primitive.polygon.outline=o}},outlineColor:{get:function(){return this._primitive.polygon.outlineColor},set:function(o){this._primitive.polygon.outlineColor=o}},lineWidth:{get:function(){return this._primitive.polygon.outlineWidth},set:function(o){this._primitive.polygon.outlineWidth=o}},height:{get:function(){return this._primitive.polygon.height._value},set:function(o){this._primitive.polygon.height._value=o}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var GTe=xae;var yae=class extends gu{constructor(A,f){super(A),this._parameter=f}addToMap(){let A=this._parameter,f=Z.fromDegrees(A.lon,A.lat,A.alt),m=this._earthCtrl.entities.add({position:f,name:A.name,show:oe(A.show,!0),point:{pixelSize:oe(A.pixelSize,1),color:A.color,outlineColor:A.outlineColor,outlineWidth:A.outlineWidth,distanceDisplayCondition:A.distanceDisplayCondition,heightReference:A.heightReference}});this._primitive=m}removeFromMap(){this._primitive!==null&&this._earthCtrl.entities.remove(this._primitive)}toJSON(){return As.export(this)}};Object.defineProperties(yae.prototype,{entity:{get:function(){return this._primitive},set:function(o){this._primitive=o}},point:{get:function(){return this._primitive.position},set:function(o){this._primitive.position=o}},pixelSize:{get:function(){return this._primitive.point.pixelSize},set:function(o){this._primitive.point.pixelSize=o,this._parameter.pixelSize=o}},color:{get:function(){return this._primitive.point.color},set:function(o){this._primitive!==null&&(this._primitive.point.color=o,this._parameter.color=o)}},outlineColor:{get:function(){return this._primitive.point.outlineColor},set:function(o){this._primitive.point.outlineColor=o}},outlineWidth:{get:function(){return this._primitive.point.lineWidth},set:function(o){this._primitive.point.lineWidth=o}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o,this._parameter.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}},lon:{get:function(){return this._parameter!==null?this._parameter.lon:!1},set:function(o){this._parameter!==null&&(this._primitive.position=Z.fromDegrees(o,this._parameter.lat,this._parameter.alt),this._parameter.lon=o)}},lat:{get:function(){return this._parameter!==null?this._parameter.lat:!1},set:function(o){this._parameter!==null&&(this._primitive.position=Z.fromDegrees(this._parameter.lon,o,this._parameter.alt),this._parameter.lat=o)}},alt:{get:function(){return this._parameter!==null?this._parameter.alt:!1},set:function(o){this._parameter!==null&&(this._primitive.position=Z.fromDegrees(this._parameter.lon,this._parameter.lat,o),this._parameter.alt=o)}}});var HTe=yae;var Iae=class extends gu{constructor(A,f){super(A,f),this._rtti="Box",this._parameter=null,this._primitive=null,this._parameter=f,this._parameter.lineWidth=oe(f.lineWidth,2),this._spatialTransform.createFromWgs84(f.lon,f.lat,f.alt,f.heading,f.pitch,f.roll)}addToMap(){let A=this._parameter,f=A.material,m=void 0,C=oe(A.outline,!0),E=A.fillColor,x=oe(A.outlineColor,E),y=this._earthCtrl.entities.add({position:A.position,name:A.name,box:{outlineWidth:A.lineWidth,material:f,fill:A.fill,outline:C,dimensions:A.dimensions,outlineColor:x,shadows:A.shadows,distanceDisplayCondition:A.distanceDisplayCondition,depthFailMaterial:m}});this._primitive=y}removeFromMap(){this._primitive!==null&&this._earthCtrl.entities.remove(this._primitive)}toJSON(){return As.export(this)}};Object.defineProperties(Iae.prototype,{entity:{get:function(){return this._primitive},set:function(o){this._primitive=o}},position:{get:function(){return this._primitive.position},set:function(o){this._primitive.position=o,this._parameter.position=o}},fill:{get:function(){return this._primitive.box.fill},set:function(o){this._primitive.box.fill=o,this._parameter.fill=o}},material:{get:function(){return this._primitive.box.material},set:function(o){this._primitive.box.material=o,this._parameter.material=o}},outline:{get:function(){return this._primitive.box.outline},set:function(o){this._primitive.box.outline=o,this._parameter.outline=o}},outlineColor:{get:function(){return this._primitive.box.outlineColor},set:function(o){this._primitive.box.outlineColor=o,this._parameter.outlineColor=o}},dimensions:{get:function(){return this._primitive.box.dimensions},set:function(o){this._primitive.box.dimensions=o,this._parameter.dimensions=o}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o,this._parameter.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var VTe=Iae;var _ae=class extends gu{constructor(A,f){super(A,f),this._rtti="Cylinder",this._parameter=null,this._primitive=null,this._parameter=f,this._parameter.lineWidth=oe(f.lineWidth,2)}addToMap(){let A=this._parameter,f=this._earthCtrl.entities.add({position:A.position,name:A.name,cylinder:{length:A.length,topRadius:A.topRadius,bottomRadius:A.bottomRadius,fill:A.fill,material:A.material,outline:A.outline,outlineColor:A.outlineColor,outlineWidth:A.outlineWidth,numberOfVerticalLines:A.numberOfVerticalLines,slices:A.slices,shadows:A.shadows,distanceDisplayCondition:A.distanceDisplayCondition}});this._primitive=f}removeFromMap(){this._primitive!==null&&this._earthCtrl.entities.remove(this._primitive)}toJSON(){return As.export(this)}};Object.defineProperties(_ae.prototype,{entity:{get:function(){return this._primitive},set:function(o){this._primitive=o}},position:{get:function(){return this._primitive.position},set:function(o){this._primitive.position=o,this._parameter.position=o}},length:{get:function(){return this._primitive.cylinder.length},set:function(o){this._primitive.cylinder.length=o,this._parameter.length=o}},topRadius:{get:function(){return this._primitive.cylinder.topRadius},set:function(o){this._primitive.cylinder.topRadius=o,this._parameter.topRadius=o}},bottomRadius:{get:function(){return this._primitive.cylinder.bottomRadius},set:function(o){this._primitive.cylinder.bottomRadius=o,this._parameter.bottomRadius=o}},fill:{get:function(){return this._primitive.cylinder.fill},set:function(o){this._primitive.cylinder.fill=o,this._parameter.fill=o}},material:{get:function(){return this._primitive.cylinder.material},set:function(o){this._primitive.cylinder.material=o,this._parameter.material=o}},outline:{get:function(){return this._primitive.cylinder.outline},set:function(o){this._primitive.cylinder.outline=o}},outlineColor:{get:function(){return this._primitive.cylinder.outlineColor},set:function(o){this._primitive.cylinder.outlineColor=o,this._parameter.outlineColor=o}},outlineWidth:{get:function(){return this._primitive.cylinder.outlineWidth},set:function(o){this._primitive.cylinder.outlineWidth=o,this._parameter.outlineWidth=o}},numberOfVerticalLines:{get:function(){return this._primitive.cylinder.numberOfVerticalLines},set:function(o){this._primitive.cylinder.numberOfVerticalLines=o,this._parameter.numberOfVerticalLines=o}},slices:{get:function(){return this._primitive.cylinder.slices},set:function(o){this._primitive.cylinder.slices=o,this._parameter.slices=o}},shadows:{get:function(){return this._primitive.cylinder.shadows},set:function(o){this._primitive.cylinder.shadows=o,this._parameter.shadows=o}},distanceDisplayCondition:{get:function(){return this._primitive.cylinder.distanceDisplayCondition},set:function(o){this._primitive.cylinder.distanceDisplayCondition=o,this._parameter.distanceDisplayCondition=o}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o,this._parameter.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var zTe=_ae;var vae=class extends gu{constructor(A,f){super(A),this._parameter=f,this._parameter.lineWidth=oe(f.lineWidth,2)}addToMap(){let A=this._parameter,f=this._earthCtrl.entities.add({position:A.position,name:A.name,ellipsoid:{radii:A.radii,fill:A.fill,outlineWidth:A.lineWidth,material:A.material,outline:A.outline,outlineColor:A.outlineColor,stackPartitions:A.stackPartitions,slicePartitions:A.slicePartitions,subdivisions:A.subdivisions,shadows:A.shadows,distanceDisplayCondition:A.distanceDisplayCondition}});this._primitive=f}removeFromMap(){this._primitive!==null&&this._earthCtrl.entities.remove(this._primitive)}toJSON(){return As.export(this)}};Object.defineProperties(vae.prototype,{entity:{get:function(){return this._primitive},set:function(o){this._primitive=o}},position:{get:function(){return this._primitive.position},set:function(o){this._primitive.position=o,this._parameter.position=o}},radii:{get:function(){return this._primitive.ellipsoid.radii},set:function(o){this._primitive.ellipsoid.radii=o,this._parameter.radii=o}},material:{get:function(){return this._primitive.ellipsoid.material},set:function(o){this._primitive.ellipsoid.material=o,this._parameter.material=o}},fill:{get:function(){return this._primitive.ellipsoid.fill},set:function(o){this._primitive.ellipsoid.fill=o,this._parameter.fill=o}},outline:{get:function(){return this._primitive.ellipsoid.outline},set:function(o){this._primitive.ellipsoid.outline=o,this._parameter.outline=o}},outlineColor:{get:function(){return this._primitive.ellipsoid.outlineColor},set:function(o){this._primitive.ellipsoid.outlineColor=o,this._parameter.outlineColor=o}},outlineWidth:{get:function(){return this._primitive.ellipsoid.outlineWidth},set:function(o){this._primitive.ellipsoid.outlineWidth=o,this._parameter.outlineWidth=o}},stackPartitions:{get:function(){return this._primitive.ellipsoid.stackPartitions},set:function(o){this._primitive.ellipsoid.stackPartitions=o,this._parameter.stackPartitions=o}},slicePartitions:{get:function(){return this._primitive.ellipsoid.slicePartitions},set:function(o){this._primitive.ellipsoid.slicePartitions=o,this._parameter.slicePartitions=o}},subdivisions:{get:function(){return this._primitive.ellipsoid.subdivisions},set:function(o){this._primitive.ellipsoid.subdivisions=o,this._parameter.subdivisions=o}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o,this._parameter.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var YTe=vae;var Bae=class extends gu{constructor(A,f){super(A),this._parameter=f,this._parameter.lineWidth=oe(f.lineWidth,2)}addToMap(){let A=this._parameter,f=oe(A.outline,!0),m=A.fillColor,C=oe(A.outlineColor,m),E=this._earthCtrl.entities.add({name:A.name,rectangle:{show:!0,coordinates:A.coordinates,height:A.height,heightReference:A.heightReference,extrudedHeight:A.extrudedHeight,extrudedHeightReference:A.extrudedHeightReference,rotation:A.rotation,stRotation:A.stRotation,fill:A.fill,material:m,outline:f,outlineColor:C,outlineWidth:A.lineWidth,shadows:A.shadows,distanceDisplayCondition:A.distanceDisplayCondition}});this._primitive=E}removeFromMap(){this._primitive!==null&&this._earthCtrl.entities.remove(this._primitive)}toJSON(){return As.export(this)}};Object.defineProperties(Bae.prototype,{entity:{get:function(){return this._primitive},set:function(o){this._primitive=o}},positions:{get:function(){return this._parameter!==null?this._primitive.rectangle.hierarchy._value:!1},set:function(o){this._primitive!==null&&(this._primitive.rectangle.hierarchy._value=o)}},fillColor:{get:function(){return this._primitive!==null?this._primitive.rectangle.material:!1},set:function(o){this._primitive!==null&&(this._primitive.rectangle.material=o,this._parameter.fillColor=o)}},outline:{get:function(){return this._primitive!==null?this._primitive.rectangle.outline:!1},set:function(o){this._primitive!==null&&(this._primitive.rectangle.outline=o,this._parameter.outline=o)}},outlineColor:{get:function(){return this._primitive!==null?this._primitive.rectangle.outlineColor:!1},set:function(o){this._primitive!==null&&(this._primitive.rectangle.outlineColor=o,this._parameter.outlineColor=o)}},lineWidth:{get:function(){return this._primitive!==null?this._primitive.rectangle.outlineWidth:!1},set:function(o){this._primitive!==null&&(this._primitive.rectangle.outlineWidth=o,this._parameter.outlineWidth=o)}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o,this._parameter.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}},height:{get:function(){return this._primitive!==null?this._primitive.rectangle.height:!1},set:function(o){this._primitive!==null&&(this._primitive.rectangle.height=o,this._parameter.height=o)}},coordinates:{get:function(){return this._primitive!==null?this._parameter.coordinates:!1},set:function(o){this._primitive!==null&&(this._primitive.rectangle.coordinates=o,this._parameter.coordinates=o)}}});var JTe=Bae;var wae=class extends gu{constructor(A,f){super(A),this._parameter=f,this._parameter.lineWidth=oe(f.lineWidth,2)}addToMap(){let A=this._parameter,f=this._earthCtrl.entities.add({position:A.position,name:A.name,ellipse:{show:A.show,semiMajorAxis:A.semiMajorAxis,semiMinorAxis:A.semiMinorAxis,height:A.height,rotation:A.rotation,stRotation:A.stRotation,fill:A.fill,outlineWidth:A.lineWidth,material:A.material,outline:A.outline,outlineColor:A.outlineColor,shadows:A.shadows,numberOfVerticalLines:A.numberOfVerticalLines,distanceDisplayCondition:A.distanceDisplayCondition}});this._primitive=f}removeFromMap(){this._primitive!==null&&this._earthCtrl.entities.remove(this._primitive)}};Object.defineProperties(wae.prototype,{entity:{get:function(){return this._primitive},set:function(o){this._primitive=o}},position:{get:function(){return this._primitive.position},set:function(o){this._primitive.position=o}},radii:{get:function(){return this._primitive.ellipsoid.radii},set:function(o){this._primitive.ellipsoid.radii=o}},material:{get:function(){return this._primitive.ellipsoid.material},set:function(o){this._primitive.ellipsoid.material=o}},fill:{get:function(){return this._primitive.ellipsoid.fill},set:function(o){this._primitive.ellipsoid.fill=o}},outline:{get:function(){return this._primitive.ellipsoid.outline},set:function(o){this._primitive.ellipsoid.outline=o}},outlineColor:{get:function(){return this._primitive.ellipsoid.outlineColor},set:function(o){this._primitive.ellipsoid.outlineColor=o}},outlineWidth:{get:function(){return this._primitive.ellipsoid.outlineWidth},set:function(o){this._primitive.ellipsoid.outlineWidth=o}},stackPartitions:{get:function(){return this._primitive.ellipsoid.stackPartitions},set:function(o){this._primitive.ellipsoid.stackPartitions=o}},slicePartitions:{get:function(){return this._primitive.ellipsoid.slicePartitions},set:function(o){this._primitive.ellipsoid.slicePartitions=o}},subdivisions:{get:function(){return this._primitive.ellipsoid.subdivisions},set:function(o){this._primitive.ellipsoid.subdivisions=o}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var KTe=wae;var bae=class extends gu{constructor(A,f){super(A),this._parameter=f,this._parameter.lineWidth=oe(f.lineWidth,1)}addToMap(){let A=this._parameter,f=this._earthCtrl.entities.add({name:A.name,polylineVolume:A});this._primitive=f}updateMaterial(){let A,f=this._parameter;return O(f.outlineColor)?A=new MD({color:f.lineColor,outlineColor:f.outlineColor}):A=f.lineColor,A}removeFromMap(){this._primitive!==null&&this._earthCtrl.entities.remove(this._primitive)}};Object.defineProperties(bae.prototype,{entity:{get:function(){return this._primitive},set:function(o){this._primitive=o}},positions:{get:function(){return this._primitive.polyline.positions},set:function(o){this._primitive.polyline.positions=o,this._parameter.positions=o}},lineColor:{get:function(){return this._parameter.lineColor},set:function(o){this._parameter.lineColor=o,this.updateMaterial()}},outlineColor:{get:function(){return this._parameter.outlineColor},set:function(o){this._parameter.outlineColor=o,this.updateMaterial()}},lineWidth:{get:function(){return this._primitive.polyline.width},set:function(o){this._primitive.polyline.eidth=o,this._parameter.lineWidth=o}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o,this._parameter.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}},shape:{get:function(){return this._parameter!==null?this._parameter.shape:!1},set:function(o){this._parameter!==null&&(this._parameter.shape=o)}}});var WTe=bae;var Qae=class extends $f{constructor(A,f){super(A),this._primitive=null,this._parameter=null,this._wModels=[],this._instance=[],this.instanceId=new Map,this._parameter=f}addToMap(){let A=this._parameter,f=oe(A.sourceType,"wmts"),m=null;if(f==="wmts")m=new F3(A);else if(f==="mapbox")m=new u8(A);else if(f==="arcgis")m=new z_(A);else if(f==="wms")m=new A8(A);else if(f==="multi")m=new bie(A);else if(f==="single")m=new Cv(A);else if(f==="tms"){let C=oe(A.west,void 0),E=oe(A.south,void 0),x=oe(A.east,void 0),y=oe(A.north,void 0);O(C)&&O(E)&&O(x)&&O(y)&&(A.rectangle=new gi(Be.toRadians(C),Be.toRadians(E),Be.toRadians(x),Be.toRadians(y))),O(A.fileExtension)&&A.fileExtension==="json"&&(A.callback=this.processGeoJson()),m=new Lw(A)}else f==="baidu"?m=new Bie(A):f==="gaode"||f==="geovis"||f==="qqmap"?m=new Hx(A):f==="mapworld"?m=new F3(A):f==="osm"?m=new fN(A):f==="bingmap"?m=new a8(A):f==="mvt"&&(O(A.coreMap)||(A.coreMap=this._earthCtrl.coreMap),m=new Sie(A,A.ol));m!==null&&(this._primitive=this._earthCtrl.imageryLayers.addImageryProvider(m,A.zIndex),this._primitive._layerIndex=A.zIndex),f==="ion"&&(this._primitive=oE.fromProviderAsync(Ib.fromAssetId(A.assetId),A),this._earthCtrl.imageryLayers.add(this._primitive),this._primitive._layerIndex=A.zIndex)}checkWModels(A){return O(this._wModels[A])}removeInstance(A,f){let C=this._wModels[A];if(O(C)){let E=C.geometryInstances;if(O(E))for(let x=0;x<E.length;x++)E[x].id}}removeWModels(A){if(O(this._parameter.retain)&&this._parameter.retain)return;let f=this,m=f._wModels[A];if(O(m)){for(let C=0;C<f._instance[A].length;C++)f.instanceId.has(f._instance[A][C])&&f.instanceId.delete(f._instance[A][C]);f._instance[A]=[],f._wModels[A]=void 0}}convertCoordinates(A){let f=[];for(let m=0;m<A.length;m++){let C=A[m];for(let E=0;E<C.length;E++)Array.prototype.push.apply(f,C[E])}return f}processGeoJson(){let A=this,f=oe(A._parameter.modelHeightKey,"\u5C42\u9AD8"),m=oe(A._parameter.modelColor,Ve.BLUE);function C(x){A.removeWModels(x)}function E(x,y){if(!O(y)||A.checkWModels(y))return;let I=[],v=_o.fromColor(m);A._instance[y]||(A._instance[y]=[]);let B;for(let Q=0;Q<x.features.length;Q++){let T=x.features[Q];if(T.geometry.type==="Polygon"){let w=T.id;if(!A.instanceId.has(w)){let S=A.convertCoordinates(T.geometry.coordinates),D=Z.fromDegreesArray(S);B=T.properties[f],O(B)||(B=0),I.push(new kn({geometry:new mA({polygonHierarchy:new yn(D),extrudedHeight:B}),id:w,releaseGeometryInstances:!1,attributes:{color:v}})),A.instanceId.set(w,y),A._instance[y].push(w)}}else if(T.geometry.type==="MultiPolygon"){let w=T.geometry.coordinates;for(let S=0;S<w.length;S++){let D=T.id+Q;if(!A.instanceId.has(D)){let R=w[S],P=A.convertCoordinates(R),M=Z.fromDegreesArray(P);B=T.properties[f],O(B)||(B=0),I.push(new kn({geometry:new mA({polygonHierarchy:new yn(M),extrudedHeight:B}),id:D,releaseGeometryInstances:!1,attributes:{color:v}})),A.instanceId.set(D,y),A._instance[y].push(D)}}}else console.info(T.geometry.type)}if(I.length>0){let Q=A._earthCtrl.primitives.add(new ra({geometryInstances:I,allowPicking:!1,appearance:new La({flat:!1,faceForward:!1,translucent:!1})}));A._wModels[y]=Q}}return{callback:E,removePrimitive:C}}removeFromMap(){this._primitive!==null&&this._earthCtrl.imageryLayers.remove(this._primitive)}toJSON(){let A=this;return new Promise(function(f,m){(void 0).all([A._primitive.imageryProvider.readyPromise]).then(function(C){let E=As.export(A);console.log("imageobj",E),f(E)})})}};Object.defineProperties(Qae.prototype,{parameter:{get:function(){return this._parameter}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o),console.info(o);let A=this;for(let f=0;f<A._wModels.length;f++){let m=A._wModels[f],C=A.mEarthCtrl.entities.getById(m);C.show=o}}},sourceType:{get:function(){return this._parameter!==null?this._parameter.sourceType:!1}},dataUrl:{get:function(){return this._parameter!==null?this._parameter.url:!1}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var jTe=Qae;var RRi=function(o,A,f,m){let C=f,E=m;var x=A.west,y=A.east,I=A.south,v=A.north,B=y-x,Q=v-I,T=o.longitude*180/Math.PI,w=o.latitude*180/Math.PI;return o.normalizedLongitude=(T-x)/B*f,o.normalizedLatitude=(w-I)/Q*m,o},LRi=function(o,A,f,m){var C=[],E=o[0].longitude!==void 0;return o.forEach(function(x){var y=[],I=E?x:UR.scene.globe.ellipsoid.cartesianToCartographic(x);I=RRi(I,A,f,m),y.push(I.normalizedLongitude),y.push(I.normalizedLatitude),C.push(y)}),C},FRi=function(o,A,f){var m=32,C=A.west*Be.DEGREES_PER_RADIAN,E=A.east*Be.DEGREES_PER_RADIAN,x=A.south*Be.DEGREES_PER_RADIAN,y=A.north*Be.DEGREES_PER_RADIAN,I=new gi(C,x,E,y),v=LRi(o,I,m,m),B=NRi(v,"#FF0000",m,m);return B},NRi=function(o,A,f,m,C){if(C===void 0){var C=document.createElement("canvas");C.width=f,C.height=m}var E=C.getContext("2d");if(!(o.length<=0)){E.moveTo(o[0][0],o[0][1]);for(var x=0;x<o.length;x++)E.lineTo(o[x][0],o[x][1]);return A!=null&&A!=null&&(E.fillStyle=A,E.fill()),C}};function PQ(o,A){return Math.floor(Math.random()*(A-o+1))+o}function kRi(){return globalThis.GEOWORLD_BASE_URL+"Workers/ParseElevationWorker.js"}function ORi(o,A){var f=Mc();return PQ=FRi(o.vertices,A,o.heights[0]),PQ.timeStamp=o.timeStamp,PQ.mtHeight=o.heights,PQ.mtType=o.mtType,PQ.fromKML=o.fromKML,PQ.rect=o.rectangle,PQ.level=o.level,f.resolve(PQ),f.promise}function URi(o,A){return Math.floor(Math.random()*(A-o+1))+o}function GRi(o,A){var f=Mc(),m=[];return o.forEach(function(C){m.push(ORi(C,A))}),Promise.all(m).then(function(C){var E=C[0].lenght,x=function(v,B){return B.timeStamp-v.timeStamp};if(C.length===1)f.resolve(C[0]);else{var y=C.sort(x),I=y.shift();y.forEach(function(v){I.forEach(function(B,Q){B===PQ&&v[Q]!==PQ&&(I[Q]=v[Q])})}),f.resolve(I)}}),f.promise}var UR,Slt=!1;function nh(o,A){if(UR=o,!O(A))throw new Ai("options is required.");this._errorEvent=new ur,this._modelFloorMasks={},this._credit=A.credit,typeof this._credit=="string"&&(this._credit=new Qa(this._credit)),A.heightMapWidth=oe(A.heightMapWidth,32),A.heightMapHeight=oe(A.heightMapHeight,32),this._options=A,this.readyPromise=Promise.resolve(!0),this._subdomains=A.subdomains,A.firstRequestUrl=A.url.replace("{s}",this.sTag(0,0,0)),this._firstRequest=A.firstRequestUrl+"?request=GetMap&Version=1.3.0&Service=WMS&CRS=EPSG:4326&bbox=-90,-180,90,180&height=32&width=32&optimizedOnly=0&v=1&layers="+A.layerName+"&Styles=&Format=image/mpt";var f=this,m=A.pngOnly;A.maxTerrainLevel!==void 0&&isNaN(A.maxTerrainLevel)&&(A.maxTerrainLevel=void 0),this._maxTerrainLevel=oe(A.maxTerrainLevel,30),m?f.setFormatMPT(!1):$.ajax({url:A.cacheUrl?A.cacheUrl+"/0/0/0.mpt":this._firstRequest,success:function(E){var x=!!(O(E.childNodes)&&E.childNodes.length>0);if(!!x)return f.setFormatMPT(!1),null;f.setFormatMPT(!0)},error:function(){return f.setFormatMPT(!1),null},async:!1}),A.cacheUrl&&(this.isCache=!0,this.cacheLevel=A.cacheLevel||16,this._cacheUrl=A.cacheUrl+"/{z}/{x}/{y}.mpt");let C=this._maxTerrainLevel;this._availability={computeMaximumLevelAtPosition:function(E){return Math.min(C,16)}},this._urlTemplate=A.url+"?request=GetMap&Version=1.3.0&Service=WMS&v=1&CRS=EPSG:4326&bbox={south},{west},{north},{east}&height={height}&width={width}&optimizedOnly={optimizedOnly}&layers="+A.layerName+"&Styles=&Format=image/"+this._format,this._allElevationLayers=null,this._tilingScheme=new th,this._levelZeroMaximumGeometricError=uC.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,A.heightMapWidth*4,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._workerPool=new Bv({workerPath:kRi()},Di),this._pendingRequests=0,this._requestGridSize=8,this._requestsCache={},this._requestsCacheKeys=[],this.errorEvent.addEventListener(function(E){},this)}nh._geometricErrorFactor=2;Object.defineProperties(nh.prototype,{errorEvent:{get:function(){return this._errorEvent}},availability:{get:function(){return this._availability}},credit:{get:function(){return this._credit}},hasVertexNormals:{get:function(){return!1}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return!0}},hasWaterMask:{get:function(){return!1}},heightMapHeight:{get:function(){return this._options.heightMapHeight}},heightMapWidth:{get:function(){return this._options.heightMapWidth}},pendingRequests:{get:function(){return this._pendingRequests}}});nh.prototype.setFormatMPT=function(o){if(!(o&&this.pngOnly)){var A=this._format;this._format=o?"mpt":"png",A!==this._format&&(this._isMPT=o,this._urlTemplate!==void 0&&(this._urlTemplate=this._urlTemplate.replace("image/"+A,"image/"+this._format)))}};nh.prototype.getLevelMaximumGeometricError=function(o){return this._levelZeroMaximumGeometricError/(1<<o)*nh._geometricErrorFactor};nh.prototype.createKeyFromTile=function(o,A,f){return o+"_"+A+"_"+f};nh.prototype.getTileDataAvailable=function(o,A,f){var m=Math.min(this._maxTerrainLevel,25);return this._isMPT?!0:f<m};nh.prototype.requestFactorForLevel=function(o){var A=Math.log(this._requestGridSize)/Math.log(2);return A=Math.min(A,o),Math.pow(2,A)};nh.prototype.getRequestBaseTerrainUrl=function(o,A,f,m){return this.getRequestUrl(o,A,f,m)};nh.prototype.getRequestElevationLayer=function(o,A,f){return this.getRequestUrl(o,A,f,!1,!0)};nh.prototype.getRequestUrl=function(y,I,v,m,C){var E=v,x=m!=null?this.requestFactorForLevel(v):1,y=m!=null?(y-y%x)/x:y,I=m!=null?(I-I%x)/x:I,v=m!=null?v-Math.log(x)/Math.log(2):v;if(this.isCache&&v!==0&&v<=this.cacheLevel)return this._cacheUrl.replace("{x}",y).replace("{y}",I).replace("{z}",v);var B=this.tilingScheme.tileXYToNativeRectangle(y,I,v),Q=this.heightMapWidth*x===256&&m?1:0;C&&(Q=0);var T=this._urlTemplate.replace("{south}",B.south).replace("{north}",B.north).replace("{west}",B.west).replace("{east}",B.east).replace("{optimizedOnly}",Q).replace("{width}",this.heightMapWidth*x).replace("{height}",this.heightMapHeight*x).replace("{s}",this.sTag(y,I,v));return T+"&level="+v+"&origLevel="+E};nh.prototype.isT_Inside_E=function(o,A){return o.west>=A.west*Be.DEGREES_PER_RADIAN&&o.east<=A.east*Be.DEGREES_PER_RADIAN&&o.south>=A.south*Be.DEGREES_PER_RADIAN&&o.north<=A.north*Be.DEGREES_PER_RADIAN};nh.prototype.isT_Intersects_E=function(o,A){var f=o.west*Be.RADIANS_PER_DEGREE,m=o.east*Be.RADIANS_PER_DEGREE,C=o.south*Be.RADIANS_PER_DEGREE,E=o.north*Be.RADIANS_PER_DEGREE,x=new gi(f,C,m,E),y=gi.intersection(x,A,new gi);return y};nh.prototype.sTag=function(o,A,f){if(this._subdomains==null)return"";var m=(o+A+f)%this._subdomains.length;return this._subdomains[m]};nh.prototype.refreshElevationLayer=function(o){if(o.rectangle&&UR.scene.globe._surface._levelZeroTiles!==void 0){var A=this.findDirectParent(o.rectangle,!0);A.freeResources()}};nh.prototype.findDirectParent=function(o,A){var f=function(E,x,y){var I=y?4.1:2.1;if(E._rectangle.width<=x.width*I&&gi.contains(E._rectangle,gi.center(x)))return E;for(var v=E.children.length,B=0;B<v;B++){var Q=E.children[B];if(gi.contains(Q._rectangle,gi.center(x)))return f(Q,x,y)}return null};if(o.width==Math.PI)return null;for(var m=0;m<UR.scene.globe._surface._levelZeroTiles.length;m++){var C=f(UR.scene.globe._surface._levelZeroTiles[m],o,A);if(C)return C}return null};nh.prototype.isTileAvailable=function(o,A,f){var m=this._tilingScheme.tileXYToRectangle(o,A,f,new gi),C=this.findDirectParent(m);if(C&&C.data&&C.data.terrainData){if(!(C.data.terrainData._childTileMask>0))return!1;for(var E=C.children.length,x=0;x<E;x++){var y=C.children[x];if(gi.equals(y._rectangle,m))return C.data.terrainData._childTileMask&1<<x}}return!0};nh.prototype.markTileAsUnavailable=function(o,A,f){var m=this._tilingScheme.tileXYToRectangle(o,A,f,new gi),C=this.findDirectParent(m);C&&C.data&&C.data.terrainData&&C.data.terrainData._childTileMask>0&&$.each(C.children,function(E,x){if(gi.equals(x._rectangle,m)){switch(E){case 0:C.data.terrainData._childTileMask&=-5;break;case 1:C.data.terrainData._childTileMask&=-9;break;case 2:C.data.terrainData._childTileMask&=-2;break;case 3:C.data.terrainData._childTileMask&=-3;break;default:}return!1}return!0})};nh.prototype.requestBaseTerrainTileGeometry=function(o,A,f,m){return this.requestTileGeometryBuffers(o,A,f,m)};nh.prototype.requestElevationLayerTileGeometry=function(o,A,f,m,C){return this.requestTileGeometryBuffers(o,A,f,m,C)};nh.prototype.requestTileGeometryBuffers=function(o,A,f,m,C){var E=this,x=15,y={};y.requestedRectangle=this.tilingScheme.tileXYToNativeRectangle(o,A,f),y.layer=C;var T,I,v,B,Q=Mc(),T=this.requestTileHeightBuffer(o,A,f,m,void 0,C);return T===void 0?void 0:(I=this.requestTileHeightBuffer(o+1,A,f,m,!0,C),v=this.requestTileHeightBuffer(o,A+1,f,m,!0,C),B=this.requestTileHeightBuffer(o+1,A+1,f,m,!0,C),Promise.all([T,I,v,B]).then(function(w){if(Slt==0){if(w[0].myReject!=null&&w[0].myReject){Q.reject();return}for(var S=E.heightMapWidth+1,D=E.heightMapHeight+1,R=new Float32Array(S*D),P=w[0].isFloor,M=0;M<S;M++)for(var L=0;L<D;L++){var F=M,k=L,N=0;L===S-1&&(k=0,N=1,P&&(N=0,k=S-2)),M===D-1&&(F=0,N=2);var G=M*S+L,J=F*E.heightMapWidth+k;w[N]!==null&&(w[N].myReject==null||!w[N].myReject)&&(R[G]=w[N][J])}(w[3].myReject==null||!w[3].myReject)&&(R[S*D-1]=w[3][0]);var K=E.arrayToHeightmapTerrainData(R,S,D,x);y.buffer=K,Q.resolve(y)}else{var K=E.arrayToHeightmapTerrainData(w[0],E.heightMapWidth,E.heightMapHeight);y.buffer=K,Q.resolve(y)}}).catch(function(){Q.reject()}),Q.promise)};nh.prototype.requestTileGeometry=function(o,A,f,m){var C=this,E=[],x=C.tilingScheme.tileXYToNativeRectangle(o,A,f);this._allElevationLayers!=null&&this._allElevationLayers.length>0&&f>7?$(this._allElevationLayers).each(function(I,v){var B=v.show;if(B){var Q=v.rectangle;C.isT_Inside_E(x,Q)?(C.setFormatMPT(!1),E.push(C.requestElevationLayerTileGeometry(o,A,f,m,v))):C.isT_Intersects_E(x,Q)!=null?(C.setFormatMPT(!1),E.push(C.requestElevationLayerTileGeometry(o,A,f,m,v)),E.push(C.requestBaseTerrainTileGeometry(o,A,f,m))):(C.setFormatMPT(!0),E.push(C.requestBaseTerrainTileGeometry(o,A,f,m)))}else C.setFormatMPT(!0),E.push(C.requestBaseTerrainTileGeometry(o,A,f,m))}):(C.setFormatMPT(!0),E.push(C.requestBaseTerrainTileGeometry(o,A,f,m)));var y=Mc();return Promise.all(E).then(function(I){if(I.length===1)I.layer!==void 0&&console.log("missing scale and offset"),y.resolve(I[0].buffer);else if(I.length>1){var v=$.grep(I,function(S){return S.layer!==void 0}),B=$.grep(I,function(S){return S.layer===void 0});if(v.length===0)y.resolve(I[0].buffer);else{var Q=v[v.length-1],T=B[B.length-1],w={tolerance:Q.layer.nullTolerance,nullValueNumber:Q.layer.nullValueNumber,verticesX:Q.layer.polygonVerticesX,verticesY:Q.layer.polygonVerticesY,scale:oe(Q.layer.scale,1),offset:oe(Q.layer.offset,0)};y.resolve(C.mergeBuffers(T.buffer,Q.buffer,w,T.requestedRectangle))}}else y.reject()}).catch(function(){y.reject()}),y.promise};nh.prototype.mergeBuffers=function(o,A,f,m){var C,E,x,y,I,v=33,B=33,Q=m.west,T=m.north,w=m.east,S=m.south,D=m.width/v,R=m.height/B,P=f.scale,M=f.offset,L=f.nullValueNumber,F=f.tolerance,k=L!==void 0&&F!==void 0;if(k)var N=oe(f.nullValueNumber,0),G=oe(Number(f.tolerance),0);var J=new Float32Array(v*B);for(C=0,I=T;C<B;C++,I+=R)for(E=0,y=Q;E<v;E++,y+=D)x=C*v+E,k?J[x]=!A._buffer[x]||A._buffer[x]>=N-G&&A._buffer[x]<=N+G?o._buffer[x]:A._buffer[x]*P+M:J[x]=A._buffer[x]?A._buffer[x]*P+M:o._buffer[x];return this.arrayToHeightmapTerrainData(J,v,B,15)};nh.prototype.requestTileHeightBuffer=function(o,A,f,m,C,E){var x=this;if(!isNaN(o+A+f)){(!O(m)||m===!1)&&(m=new lp({defer:!0}));var y=m.defer==0;C=oe(y,!1);var I=Mc();if(Slt==0){var v;if(E!==void 0)E.getUrlFromSTag=function(ee,ie,H){return E.subdomains===void 0?E.url:E.subdomains[0]+"/SG"},v=this.getRequestElevationLayer(o,A,f).replace(this._options.url,E.getUrlFromSTag(o,A,f)+"/Elevation").replace(this._options.layerName,E.name),E.format==="mpt"&&(v=v.replace("image/png","image/mpt"));else{v=this.getRequestBaseTerrainUrl(o,A,f,y||C);var B=UR.terrainProvider.tilingScheme.tileXYToRectangle(o,A,f),Q=UR.terrainProvider._modifyTerrainObjects,T=Mc();if(Q!==void 0){var w=[];if(Q.forEach(function(ee){ee.show&&gi.intersection(B,ee.rectangle,new gi)!=null&&w.push(ee)}),w.length>0)if(w.length===1&&w[0].modelFloorBestLevel&&f>w[0].modelFloorBestLevel)T.resolve("NoMerge");else{var S=GRi(w,B,f);Promise.resolve(S).then(function(ee){T.resolve(ee)}).catch(function(ee){console.log(ee)})}else T.resolve("NoMerge")}else T.resolve("NoMerge");var D=Mc(),R=$.grep([],function(ee){return ee._selectedTiles.length>0});if(R.length===1&&R[0].level&&f>R[0].level)D.resolve("NoFloor");else{var P=!1,M=32,L=65535;R.forEach(function(ee){if(ee.ready&&ee.show&&ee.rootFloorRectangle!==void 0&&gi.intersection(B,ee.rootFloorRectangle)!==void 0){for(var ie=new Uint16Array(M*M),H=B.west,le=B.south,ue=(B.east-B.west)/32,Ae=(B.north-B.south)/32,he,ge=0;ge<M;ge++)for(var fe=0;fe<M;fe++){var ae=H+ue*fe+ue/2,U=B.north-Ae*ge-Ae/2,W=new Rt(ae,U);he=L;var Y=ee.getHRMTFP(ee,W,!0);Y!=null&&Y.content&&Y.content._model&&Y.content._model.floor&&(he=Y.content._model.floor.getHeight(W.longitude,W.latitude)),he!==L&&(he+=1.5),ie[ge*M+fe]=he}P=!0,D.resolve(ie)}}),P||D.resolve("NoFloor")}var F=UR.scene.globe.ellipsoid}if(this._requestsCache.hasOwnProperty(v)===!1){if(this._requestsCache[v]={},this._requestsCacheKeys.push(v),this._requestsCacheKeys.length>100){for(var k=0;k<50;k++)delete this._requestsCache[this._requestsCacheKeys[k]];this._requestsCacheKeys.splice(0,50)}}else{var N=this._requestsCacheKeys.indexOf(v);this._requestsCacheKeys.splice(N,1),this._requestsCacheKeys.push(v)}var G=this._requestsCache[v];if(G.dataLoaded===void 0&&(y?G.dataLoaded=Cr.fetchArrayBuffer(v):G.dataLoaded=Cr.fetchArrayBuffer(v),!O(G.dataLoaded)))return;var J=this;this._pendingRequests++,Promise.resolve(G.dataLoaded).then(function(ee){G.workerFinished===void 0&&(G.workerFinished=J._workerPool.queueWorkItem({buffer:ee,isElevation:E!==void 0,level:f})),Promise.all([G.workerFinished,T.promise,D.promise]).then(function(ie){var H=ie[1]!==void 0&&ie[1]!=="NoMerge",le=ie[2]!==void 0&&ie[2]!=="NoFloor";if(ie[0].rejected){for(var ue=J.heightMapWidth*J.heightMapHeight,Ae=new Int16Array(ue),he=0,ge=0;ge<ue;ge++)Ae[ge]=300;return f>2&&(Ae.myReject=!0),I.resolve(Ae),I.promise}var fe=J.extractTileHeightBuffer(ie[0].buffer,o,A,f);if(J._pendingRequests--,H)for(var ge=0;ge<32;ge++)for(var ae=0;ae<32;ae++){var U=ge*32+ae;fe[U]=ie[1].mtHeight[0]}if(le){for(var ge=0;ge<32;ge++)for(var ae=0;ae<32;ae++){var U=ge*32+ae;fe[U]=ie[2][U]===65535||ie[2][U]>10500?fe[U]:ie[2][U]}fe.isFloor=!0}I.resolve(fe)}).catch(function(){for(var ie=J.heightMapWidth*J.heightMapHeight,H=new Int16Array(ie),le=0,ue=0;ue<ie;ue++)H[ue]=300;return f>2&&(H.myReject=!0),I.resolve(H),I.promise})}).catch(function(){J._pendingRequests--,I.reject()})}else{for(var K=this.heightMapWidth*this.heightMapHeight,X=new Int16Array(K),q=URi(0,1500),k=0;k<K;k++)X[k]=q;I.resolve(X)}return I.promise}};nh.prototype.extractTileHeightBuffer=function(o,A,f,m){try{for(var C=this.requestFactorForLevel(m),E=A%C,x=f%C,y=new Float32Array(this.heightMapWidth*this.heightMapHeight),I=1e6,v=-1e5,B=0;B<this.heightMapHeight;B++)for(var Q=0;Q<this.heightMapWidth;Q++){var T=B+x*this.heightMapHeight,w=Q+E*this.heightMapWidth,S=B*this.heightMapWidth+Q,D=T*this.heightMapWidth*C+w;o[D]>v&&(v=o[D]),o[D]<I&&(I=o[D]),y[S]=o[D]}}catch(R){console.log(R.message)}return y};nh.prototype.arrayToHeightmapTerrainData=function(o,A,f,m){O(o)===!1&&(o=new Int16Array(A*f));var C={buffer:o,width:A,height:f,childTileMask:m};return new Rw(C)};var Dlt=nh;var Sae=class extends $f{constructor(A,f){super(A),this._earthCtrl=A,this._primitive=null,this._parameter=f}addToMap(){let A=this._parameter,f=null,m=oe(A.sourceType,"ctb");m==="ude"||(m==="ctb"?f=new VN(A):m==="multi"?f=new Qie(this._earthCtrl):m==="sgs"?f=new Dlt(this._earthCtrl.coreMap,A):m==="arcgis"&&(f=new bne(A))),f!==null&&(this._primitive=f,this._coreMap.terrainProvider=f)}removeFromMap(){this._primitive!==null&&(this._coreMap.terrainProvider=new yT)}toJSON(){let A=this;return new Promise(function(f,m){(void 0).all([this._primitive.readyPromise]).then(function(C){let E=As.export(A);console.log("terraobj",E),f(E)})})}flyTo(A={}){let f=A;f.orientation=oe(A.orientation,{heading:Be.toRadians(0),pitch:Be.toRadians(-60),roll:Be.toRadians(0)});function m(C,E){let y=Math.PI*6378137,I=C/y*180,v=180/Math.PI*(2*Math.atan(Math.exp(E/y*Math.PI))-Math.PI/2);return{lon:I,lat:v}}if(this._parameter.sourceType==="ctb"||this._parameter.sourceType==="arcgis"){if(this._primitive._tilingScheme.bounds[0]<180&&this._primitive._tilingScheme.bounds[0]>-180){let C=this._primitive._tilingScheme.bounds,E=(C[0]+C[2])/2,x=(C[1]+C[3])/2,y=A.height||1e4;f.destination=oe(A.destination,Z.fromDegrees(E,x,y))}else{let C=this._primitive._tilingScheme.bounds,E=m(C[0],C[1]),x=m(C[2],C[3]),y=(E.lon+x.lon)/2,I=(E.lat+x.lat)/2,v=A.height||1e4;f.destination=oe(A.destination,Z.fromDegrees(y,I,v))}this._coreMap.camera.flyTo(f)}}};Object.defineProperties(Sae.prototype,{parameter:{get:function(){return this._parameter}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o)}},sourceType:{get:function(){return this._parameter!==null?this._parameter.sourceType:!1}},dataUrl:{get:function(){return this._parameter!==null?this._parameter.url:!1}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var qTe=Sae;function HRi(o,A){this._earthCtrl=o;let f=new Jne(A),m=this._earthCtrl.viewer.camera;return f.flyTo=function(C={}){let E=Rt.fromCartesian(f._position);E.height<=10&&(E.height=100);let x=Z.fromDegrees(Be.toDegrees(E.longitude),Be.toDegrees(E.latitude),E.height);m.flyTo({destination:oe(C.destination,x),orientation:C.orientation,duration:C.duration,complete:C.callback})},f}var Tlt=HRi;var Dae=class extends $f{constructor(A,f){super(A),this._earthCtrl=A,this._parameter=f}addToMap(){let A=this._parameter,f=null;A.sourceType==="b3dm"||A.sourceType==="3DTiles"?(f=new _f(A),O(A.transform)&&this.transform(A.transform,f)):A.sourceType==="osgb"?f=new _f(A):A.sourceType==="s3m"?f=new Tlt(this._earthCtrl,A):(A.sourceType==="ude_block"||A.sourceType==="ude_model")&&(A.skipLevelOfDetail=!0,f=new _f(A)),f.readyPromise.then(function(m){A.success&&typeof A.success=="function"&&A.success(m)}),f.readyPromise.catch(function(m){A.failed&&typeof A.failed=="function"&&A.failed(m)}),this._primitive=this._coreMap.scene.primitives.add(f)}removeFromMap(){this._primitive!==null&&this._coreMap.scene.primitives.remove(this._primitive)}toJSON(){let A=this;return new Promise(function(f,m){(void 0).all([A._primitive.readyPromise]).then(function(C){let E=As.export(A);console.log("modellayerobj",E),f(E)})})}transform(A,f){f.readyPromise.then(function(m){let C=Gt.fromRotationX(Be.toRadians(A.pitch)),E=Gt.fromRotationY(Be.toRadians(A.roll)),x=Gt.fromRotationZ(Be.toRadians(A.heading)),y=Re.fromRotationTranslation(C),I=Re.fromRotationTranslation(E),v=Re.fromRotationTranslation(x),B=Z.fromDegrees(A.lon,A.lat,A.alt),Q=kr.eastNorthUpToFixedFrame(B);Re.multiply(Q,y,Q),Re.multiply(Q,I,Q),Re.multiply(Q,v,Q),m._root.transform=Q})}};Object.defineProperties(Dae.prototype,{parameter:{get:function(){return this._parameter}},readyPromise:{get:function(){return this._primitive.readyPromise}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o)}},sourceType:{get:function(){return this._parameter!==null?this._parameter.sourceType:!1}},dataUrl:{get:function(){return this._parameter!==null?this._parameter.url:!1}},boundingSphere:{get:function(){return this._primitive!==null&&this._primitive.boundingSphere?this._primitive.boundingSphere:null}},modelMatrix:{get:function(){return this._primitive!==null?this._primitive.modelMatrix:!1},set:function(o){this._primitive!==null&&(this._primitive.modelMatrix=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var XTe=Dae;var Tae=class extends $f{constructor(A,f){super(A),this._rtti="FeatureLayer",this._primitive=null,this._parameter=f}finalize(){}addToMap(){let A=this._parameter;this._primitive=new pie(this._earthCtrl,A)}updateStyle(A){if(!this._primitive)return;let f=this._primitive.entities.values;for(let m=0;m<f.length;m++){let C=f[m];for(let E=0;E<C.propertyNames.length;E++){let x=C.propertyNames[E];if(!!C[x]){typeof A.near<"u"&&typeof A.far<"u"&&(C[x].distanceDisplayCondition=new DistanceDisplayCondition(A.near,A.far));for(let y in A)if(Object.hasOwnProperty.call(A,y)){let I=A[y];C[x][y]&&(C[x][y]=I)}if(A.pointHeight){let y=Cartographic.fromCartesian(C.position._value),I=Math.toDegrees(y.longitude),v=Math.toDegrees(y.latitude);C.position=Cartesian3.fromDegrees(I,v,A.pointheight)}}}}}removeFromMap(){this._primitive!==null&&this._primitive.destory()}toJSON(){let A=this;return new Promise(function(f,m){(void 0).all([A._primitive]).then(function(C){let E=As.export(A);console.log("fireObj",E),f(E)})})}};Object.defineProperties(Tae.prototype,{entities:{get:function(){return this._primitive.entities}},dataSource:{get:function(){return this._primitive.dataSource}},parameter:{get:function(){return this._parameter}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o)}},sourceType:{get:function(){return this._parameter!==null?this._parameter.sourceType:!1}},dataUrl:{get:function(){return this._parameter!==null?this._parameter.url:!1}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var ZTe=Tae;function Mae(o){this._earthCtrl=o,this._path="",this._layerWork=null}Object.defineProperties(Mae.prototype,{});Mae.prototype.addToMap=function(o){O(this._layerWork)?this._layerWork.updateOverlay(o):this._layerWork=new Nre(this._earthCtrl.coreMap,o)};Mae.prototype.removeFromMap=function(){this._layerWork.dispose()};var $Te=Mae;var VRi={IMAGERYPROVIDERS:"imageryProviders",TERRAINPROVIDERS:"terrainProviders",MODELLAYERS:"modelLayers",FEATURELAYERS:"featureLayers",USERSCENE:"userScene"},ts=Object.freeze(VRi);var Pae=class extends $f{constructor(A,f){super(A),this._parameter=f,this._parameter.type=oe(f.type,"water"),this._parameter.version=oe(f.version,"1.3.0"),this._parameter.baseWaterColor=oe(f.color,Ve.fromCssColorString("#0374ff")),this._parameter.waterFrequency=oe(f.waterFrequency,3e3),this._parameter.animationSpeed=oe(f.animationSpeed,.01),this._parameter.amplitude=oe(f.amplitude,5e3)}addToMap(){let A=this._parameter;this._primitive=new xG(this._earthCtrl,A),this._primitive&&(this._parameter.color=this._primitive.baseWaterColor,this._parameter.params=this._primitive._params)}removeFromMap(){this._primitive!==null&&this._primitive.destory()}toJSON(){let A=this;return new Promise(function(f,m){(void 0).all([A._primitive]).then(function(C){let E=As.export(A);console.log("waterObj",E),f(E)})})}};Object.defineProperties(Pae.prototype,{type:{get:function(){return this._primitive.type}},version:{get:function(){return this._primitive._version}},params:{get:function(){return this._primitive._params},set:function(o){this._primitive!==null&&(this._primitive._params=o)}},show:{get:function(){return this._parameter!==null?this._parameter.show:!1},set:function(o){if(this._primitive!==null&&this._primitive._primitive&&this._primitive._primitive.length!==0){for(let A=0;A<this._primitive._primitive.length;A++)this._primitive._primitive[A].show=o;this._parameter.show=o}}},url:{get:function(){return this._primitive!==null?this._primitive.url:!1},set:function(o){this._primitive!==null&&(this._primitive.url=o)}},color:{get:function(){return this._primitive!==null?this._primitive.baseWaterColor:!1},set:function(o){this._primitive!==null&&(this._primitive.baseWaterColor=o)}},waterFrequency:{get:function(){return this._primitive!==null?this._primitive.waterFrequency:!1},set:function(o){this._primitive!==null&&(this._primitive.waterFrequency=o)}},animationSpeed:{get:function(){return this._primitive!==null?this._primitive.animationSpeed:!1},set:function(o){this._primitive!==null&&(this._primitive.animationSpeed=o)}},amplitude:{get:function(){return this._primitive!==null?this._primitive.amplitude:!1},set:function(o){this._primitive!==null&&(this._primitive.amplitude=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var eMe=Pae;var tMe=class extends $f{constructor(A,f){super(A),this._parameter=f,this._viewer=A.coreMap,this._cesium=Di}addToMap(){let A=this._parameter,f,m;oe(A.div)?(f=document.getElementById(A.div),m=A.div):(f=document.createElement("div"),f.id="Hawkeye",f.style.position="absolute",f.style.width="15%",f.style.height="20%",f.style.bottom="20px",f.style.right="0",f.style.pointerEvents="none",this._viewer.container.appendChild(f),m="Hawkeye"),A.style&&(A.style.width&&(f.style.width=A.style.width),A.style.height&&(f.style.height=A.style.height),A.style.bottom&&(f.style.bottom=A.style.bottom),A.style.right&&(f.style.right=A.style.right),A.style.top&&(f.style.top=A.style.top,f.style.bottom="unset"),A.style.left&&(f.style.left=A.style.left,f.style.right="unset"));let C;A.url?C=new this._cesium.SingleTileImageryProvider({url:A.url}):A.imageryProvider?C=A.imageryProvider:C=new Lw({url:"http://103.25.37.71:4020/gisserver/tmsserver/earth_tms"});let E=new TJ(m,{imageryProvider:C,baseLayerPicker:!1,shadows:!1,shouldAnimate:!0,animation:!0,scene3DOnly:!0,fullscreenButton:!1,geocoder:!1,homeButton:!1,infoBox:!1,selectionIndicator:!1,timeline:!1,navigationHelpButton:!1,contextOptions:{requestWebgl2:!0,licenseServer:window.licenseServer}});E._innerCreditContainer.style.display="none",E.scene.screenSpaceCameraController.enableRotate=!1,E.scene.screenSpaceCameraController.enableZoom=!1,E.scene.screenSpaceCameraController.enableTilt=!1;let x=this;function y(){let I=x._viewer.camera.position,v=Rt.fromCartesian(I);E.camera.setView({destination:Rt.toCartesian(v),orientation:{heading:x._viewer.camera.heading,pitch:x._viewer.camera.pitch,roll:x._viewer.camera.roll}})}return x._viewer.scene.preRender.addEventListener(y),this.close=function(){x._viewer.scene.preRender.removeEventListener(y),E.destroy(),f.remove(),x.close=void 0},this}removeFromMap(){this.close&&this.close()}},iMe=tMe;var Mlt=new zt;function zRi(o,A,f){let m=o.length,C,E,x;if(f){C=rn.LUMINANCE,E=$r.FLOAT,x=new Float32Array(m);for(let y=0;y<m;y++)x[y]=o[y]}else{C=rn.RGBA,E=$r.UNSIGNED_BYTE,x=new Uint8Array(m*4);for(let y=0;y<m;y++)zt.packFloat(o[y],Mlt),zt.pack(Mlt,x,y*4)}return new Nn.create({context:A,pixelFormat:C,pixelDatatype:E,source:{width:m,height:1,arrayBufferView:x},flipY:!1,sampler:new Oa({wrapS:Vo.CLAMP_TO_EDGE,wrapT:Vo.CLAMP_TO_EDGE,minificationFilter:Ba.NEAREST,magnificationFilter:Wu.NEAREST})})}var Rae=[];function YRi(o,A,f,m){Re.toArray(Re.IDENTITY,Rae);let C=new go({fabric:{type:"spotMaterial",source:` # define Spot_Texture_Width ${A.length} ${f?"#define use_texture_float":""} float getPointComponent(int idx, float invTexSize) { vec2 uv = vec2((float(idx) + 0.5) * invTexSize, 0.5); #ifdef use_texture_float return texture(u_spotPointTexture, uv).x; #else return czm_unpackFloat(texture(u_spotPointTexture, uv)); #endif } vec3 czm_getMaterial_spot(vec3 positionEC, vec3 color) { if(u_spotPointTextureDimensions.x == 1) { return color; } vec3 diffuse = color; float constant = 1.0; float linear = 0.022; float quadratic = 0.0019; float attenuation = 0.0; vec3 sumSpotColor = vec3(0.0); float invTexSize = 1.0 / float(u_spotPointTextureDimensions.x); for(int idx = 0; idx <Spot_Texture_Width; idx += 12){ float x = getPointComponent(idx, invTexSize); float y = getPointComponent(idx + 1, invTexSize); float z = getPointComponent(idx + 2, invTexSize); float dirX = getPointComponent(idx + 3, invTexSize); float dirY = getPointComponent(idx + 4, invTexSize); float dirZ = getPointComponent(idx + 5, invTexSize); float colorX = getPointComponent(idx + 6, invTexSize); float colorY = getPointComponent(idx + 7, invTexSize); float colorZ = getPointComponent(idx + 8, invTexSize); float distanceLimit = getPointComponent(idx + 9, invTexSize); float cutOff = getPointComponent(idx + 10, invTexSize); float outerCutOff = getPointComponent(idx + 11, invTexSize); vec4 spotPosition = u_spotmodelViewMatrix * vec4(x, y, z, 1.0); mat3 spotmodelViewMatrix = mat3(u_spotmodelViewMatrix[0].xyz,u_spotmodelViewMatrix[1].xyz,u_spotmodelViewMatrix[2].xyz); vec3 spotDirection = spotmodelViewMatrix * vec3(dirX, dirY, dirZ); vec3 spotDirectionNormal = normalize(spotDirection); vec3 viewLight = vec3(positionEC - spotPosition.xyz); float lightDistance = dot(viewLight, spotDirectionNormal); float distanceFactor = lightDistance > distanceLimit ? 0.0: 1.0; vec3 vl = normalize(positionEC - spotPosition.xyz); float theta = dot(spotDirection, vl); float epsilon = cutOff - outerCutOff; float factor = clamp((theta - outerCutOff) / epsilon, 0.0, 1.0); sumSpotColor += vec3(colorX * factor * distanceFactor, colorY * factor * distanceFactor, colorZ * factor * distanceFactor); //float distance = length(positionEC - spotPosition.xyz); //attenuation += 1.0 / (constant + distance * linear + distance * distance * quadratic); } attenuation = 1.0; diffuse = diffuse * sumSpotColor * attenuation; color = color * u_backgroundBrightness + diffuse; return color; }`,uniforms:{u_spotmodelViewMatrix:Rae,u_spotPointTexture:"123",u_backgroundBrightness:m}},translucent:!1});return C._textures.u_spotPointTexture=o,C.uniforms.u_spotPointTextureDimensions.x=A.length,C.uniforms.u_spotPointTextureDimensions.y=1,C}var JRi=new Re;function Plt(o,A,f,m,C){return new cv({lightingModel:C,uniforms:{u_spotPointTextureDimensions:{type:Ko.INT_VEC2,value:new rt(A.length,1)},u_spotPointTexture:{type:Ko.SAMPLER_2D,value:o},u_spotmodelViewMatrix:{type:Ko.MAT4,value:JRi},u_backgroundBrightness:{type:Ko.FLOAT,value:m}},fragmentShaderText:` #define Spot_Texture_Width ${A.length} ${f?"#define use_texture_float":""} float getPointComponent(int idx, float invTexSize) { vec2 uv = vec2((float(idx) + 0.5) * invTexSize, 0.5); #ifdef use_texture_float return texture(u_spotPointTexture, uv).x; #else return czm_unpackFloat(texture(u_spotPointTexture, uv)); #endif } void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) { if(u_spotPointTextureDimensions.x == 1) { material.diffuse *= 1.0; } vec3 diffuse = material.diffuse; vec3 positionEC = fsInput.attributes.positionEC.xyz; float constant = 1.0; float linear = 0.022; float quadratic = 0.0019; float attenuation = 0.0; vec3 sumSpotColor = vec3(0.0); float invTexSize = 1.0 / float(u_spotPointTextureDimensions.x); for(int idx = 0; idx <Spot_Texture_Width; idx += 12){ float x = getPointComponent(idx, invTexSize); float y = getPointComponent(idx + 1, invTexSize); float z = getPointComponent(idx + 2, invTexSize); float dirX = getPointComponent(idx + 3, invTexSize); float dirY = getPointComponent(idx + 4, invTexSize); float dirZ = getPointComponent(idx + 5, invTexSize); float colorX = getPointComponent(idx + 6, invTexSize); float colorY = getPointComponent(idx + 7, invTexSize); float colorZ = getPointComponent(idx + 8, invTexSize); float distanceLimit = getPointComponent(idx + 9, invTexSize); float cutOff = getPointComponent(idx + 10, invTexSize); float outerCutOff = getPointComponent(idx + 11, invTexSize); vec4 spotPosition = u_spotmodelViewMatrix * vec4(x, y, z, 1.0); mat3 spotmodelViewMatrix = mat3(u_spotmodelViewMatrix[0].xyz,u_spotmodelViewMatrix[1].xyz,u_spotmodelViewMatrix[2].xyz); vec3 spotDirection = spotmodelViewMatrix * vec3(dirX, dirY, dirZ); vec3 spotDirectionNormal = normalize(spotDirection); vec3 viewLight = vec3(positionEC - spotPosition.xyz); float lightDistance = dot(viewLight, spotDirectionNormal); float distanceFactor = lightDistance > distanceLimit ? 0.0: 1.0; vec3 vl = normalize(positionEC - spotPosition.xyz); float theta = dot(spotDirection, vl); float epsilon = cutOff - outerCutOff; float factor = clamp((theta - outerCutOff) / epsilon, 0.0, 1.0); sumSpotColor += vec3(colorX * factor * distanceFactor, colorY * factor * distanceFactor, colorZ * factor * distanceFactor); //float distance = length(positionEC - spotPosition.xyz); //attenuation += 1.0 / (constant + distance * linear + distance * distance * quadratic); } attenuation = 1.0; diffuse = diffuse * sumSpotColor * attenuation; material.diffuse = material.diffuse * u_backgroundBrightness + diffuse; }`})}function KRi(o,A,f,m,C,E,x){let y=YRi(A,f,E,x);o.spotMaterial=y,m.preUpdate.addEventListener(function(){let I=m.camera.viewMatrix,v=new Re;Re.multiply(I,C,v),Re.toArray(v,Rae),y&&(y.uniforms.u_spotmodelViewMatrix=Rae)})}function WRi(o,A,f,m,C,E,x,y){let I=Plt(A,f,E,x,y);o.customShader=I,m.preUpdate.addEventListener(function(){let v=m.camera.viewMatrix,B=new Re;Re.multiply(v,C,B),I.setUniform("u_spotmodelViewMatrix",B)})}function jRi(o,A,f,m,C,E,x){let y=Plt(A,f,E,x);o.customShader=y,m.preUpdate.addEventListener(function(){let I=m.camera.viewMatrix,v=new Re;Re.multiply(I,C,v),y.setUniform("u_spotmodelViewMatrix",v)})}function FK(o,A={},f=[]){!O(o)||(this._viewer=o,this._texture=void 0,!(!O(A)&&!(O(A.globe)&&O(A.tileset)&&O(A.gltf)))&&this.initialize(o,A,f))}FK.prototype.reSet=function(o={},A=[]){this._texture&&(this._texture.destroy(),this._texture=void 0),this.initialize(this._viewer,o,A)};FK.prototype.destroy=function(o){!O(o)&&!(O(o.globe)&&O(o.tileset)&&O(o.gltf))||(O(o.globe)&&o.globe.spotMaterial&&(o.globe.spotMaterial=void 0),O(o.tileset)&&o.tileset.customShader&&(o.tileset.customShader=null),O(o.gltf)&&o.gltf.customShader&&(o.gltf.customShader=null),this._texture&&(this._texture.destroy(),this._texture=void 0))};FK.prototype.removeFromMap=function(o){this.destroy(o)};FK.prototype.initialize=function(o,A,f){if(!O(A)&&!(O(A.globe)&&O(A.tileset)&&O(A.gltf)))return;let m=oe(A.globeBrightness,.2),C=oe(A.gltfBrightness,.2),E=oe(A.tilesetBrightness,.2),x=oe(A.gltfLightModel,Mx.PBR),y=oe(A.tilesetLightModel,Mx.PBR);if(!Array.isArray(f)||f.length===0)return;let I=o.scene,v=kr.eastNorthUpToFixedFrame(f[0].position),B=new Re;Re.inverseTransformation(v,B);let Q=[],T=new Z;for(let D=0;D<f.length;D++){let R=f[D];Re.multiplyByPoint(B,R.position,T),Q.push(T.x,T.y,T.z),Q.push(R.direction.x,R.direction.y,R.direction.z),Q.push(R.spotColor.red,R.spotColor.green,R.spotColor.blue),Q.push(R.distance,Math.cos(R.cutOff/180*3.1415),Math.cos(R.outerCutOff/180*3.1415))}let w=!1,S=zRi(Q,I.context,w);this._texture=S,A.globe&&KRi(A.globe,S,Q,I,v,w,m),A.tileset&&WRi(A.tileset,S,Q,I,v,w,E,y),A.gltf&&jRi(A.gltf,S,Q,I,v,w,C,x)};var rMe=FK;function gk(o,A){XA.defined("scene",o),XA.defined("tileset",A),this._scene=o,this._tileset=A,this._customShader=void 0,this._height=0,this._maxHeight=100,this._lightingModel=!0,this._translucencyMode=!0,this._preUpdate=gk._preUpdate.bind(this),this._scene.preUpdate.addEventListener(this._preUpdate),this._initialize()}Object.defineProperties(gk.prototype,{maxHeight:{set:function(o){this._customShader&&(this._maxHeight=o,this._customShader.uniforms.u_maxHeight.value=o)}},lineColor:{set:function(o){this._customShader&&(this._customShader.uniforms.u_lineColor.value=o)}},gradientColor:{set:function(o){this._customShader&&(this._customShader.uniforms.u_gradientColor.value=o)}},alpha:{set:function(o){this._customShader&&(o===1&&this._translucencyMode&&(this._translucencyMode=!1,this._initialize()),o!==1&&!this._translucencyMode&&(this._translucencyMode=!0,this._initialize()),this._customShader.uniforms.u_alpha.value=o)}},lightingModel:{set:function(o){this._customShader&&this._lightingModel!==o&&(this._lightingModel=o,this._initialize(),this._customShader.uniforms.u_lightingModel.value=o)}}});gk.prototype._initialize=function(){let o=this._createCostomShader({lightingModel:this._lightingModel,translucencyMode:this._translucencyMode});this._customShader=o,this._tileset.customShader=o};gk._preUpdate=function(){this._height>this._maxHeight?this._height=0:this._height+=.5,this._customShader.uniforms.u_height.value=this._height,this._scene.requestRender()};gk.prototype._createCostomShader=function(o){return new cv({lightingModel:Mx.UNLIT,translucencyMode:o.translucencyMode?yP.TRANSLUCENT:yP.OPAQUE,uniforms:{u_timeIndex:{type:Ko.FLOAT,value:1},u_height:{type:Ko.FLOAT,value:0},u_maxHeight:{type:Ko.FLOAT,value:100},u_lineColor:{type:Ko.VEC3,value:new Z(2,2,2)},u_gradientColor:{type:Ko.VEC3,value:new Z(0,0,1)},u_alpha:{type:Ko.FLOAT,value:.5},u_lightingModel:{type:Ko.BOOL,value:!0}},varyings:{v_nor:cC.VEC3,v_pos:cC.VEC3},vertexShaderText:` void vertexMain(VertexInput vsInput, inout czm_modelVertexOutput vsOutput) { v_nor = vsInput.attributes.normalMC; v_pos = vsInput.attributes.positionMC; } `,fragmentShaderText:` // Color tiles by distance to the camera void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) { vec3 positionECF = fsInput.attributes.positionEC; vec4 direct = vec4(0.0,0.0,1.0,0.0); vec4 directF = czm_modelView * direct; vec3 directN = normalize(directF.xyz); float distance = dot(positionECF, directN); float rgb = v_pos.z/u_maxHeight; if(u_lightingModel) { material.diffuse *= u_gradientColor * rgb; } else { material.diffuse = u_gradientColor * rgb; } if((v_pos.z < u_height) && (u_height < v_pos.z + 2.0)){ material.diffuse = u_lineColor; } material.alpha = u_alpha; } `})};gk.prototype.destroy=function(){this._tileset.customShader===this._customShader&&(this._customShader=void 0,this._tileset.customShader=void 0),this._scene.preUpdate.removeEventListener(this._preUpdate)};function qRi(){this.customShaders={},this.customShaders.lightLine=gk}var Rlt=qRi;function aH(o,A){this.options=oe(A,{}),this.earthCtrl=o,this.viewer=o.coreMap,this.CSME=Gte,this.Cust=new this.CSME.CustomShaderStage(this.options.primitive,A),this.stageArr=[],this.eventListener=null,this.eventListener=this.viewer.scene.preUpdate.addEventListener(()=>{this.Cust.update()}),this.create()}aH.prototype.create=function(o){let A=this,f=null;o?f=o:f=A.options,f.lineMaterialStage&&(A.LineMaterialStage=new A.CSME.LineMaterialStage(oe(f.lineMaterialStage,{weight:.5})),A.Cust.addStage(A.LineMaterialStage),A.stageArr.push(A.LineMaterialStage)),f.gradientMaterialStage&&(A.GradientMaterialStage=new A.CSME.GradientMaterialStage(oe(f.gradientMaterialStage,{weight:.5})),A.Cust.addStage(A.GradientMaterialStage),A.stageArr.push(A.GradientMaterialStage)),f.normalizeMaterialStage&&(A.NormalizeMaterialStage=new A.CSME.NormalizeMaterialStage(oe(f.normalizeMaterialStage,{weight:.5})),A.Cust.addStage(A.NormalizeMaterialStage),A.stageArr.push(A.NormalizeMaterialStage)),f.dynamicColorMaterialStage&&(A.DynamicColorMaterialStage=new A.CSME.DynamicColorMaterialStage(oe(f.dynamicColorMaterialStage,{weight:.5})),A.Cust.addStage(A.DynamicColorMaterialStage),A.stageArr.push(A.DynamicColorMaterialStage)),f.reflectMaterialStage&&(A.ReflectMaterialStage=new A.CSME.ReflectMaterialStage(oe(f.reflectMaterialStage,{weight:.5})),A.Cust.addStage(A.ReflectMaterialStage),A.stageArr.push(A.ReflectMaterialStage)),f.textureMaterialStage&&(A.TextureMaterialStage=new A.CSME.TextureMaterialStage(oe(f.textureMaterialStage,{weight:.5,url:`${globalThis.GEOWORLD_BASE_URL}Assets/Textures/window.png`})),A.Cust.addStage(A.TextureMaterialStage),A.stageArr.push(A.TextureMaterialStage))};aH.prototype.addStage=function(o){let A=this;A.Cust.addStage(o),A.stageArr.push(o)};aH.prototype.removeStage=function(o){this.Cust.removeStage(o.name)};aH.prototype.update=function(){let o=this;o.viewer.scene.preUpdate.removeEventListener(o.eventListener),o.eventListener=o.viewer.scene.preUpdate.addEventListener(()=>{o.Cust.update()})};aH.prototype.removeFromMap=function(){let o=this;for(let A=0;A<o.stageArr.length;A++)o.removeStage(o.stageArr[A]);o.viewer.scene.preUpdate.removeEventListener(o.eventListener),o.eventListener=null};var Llt=aH;function Lae(o,A={}){this._earthCtrl=o,this._edgeStage=null,this._options=A,this._options.visibleEdgeColor=oe(A.visibleEdgeColor,Ve.fromCssColorString("#101010")),this._options.outlineWidth=oe(A.outlineWidth,1),this._options.thresholdAngle=oe(A.thresholdAngle,12*Math.PI/180),this.add()}Lae.prototype.add=function(){this._edgeStage=v8();let o=this._edgeStage;o.visibleEdgeColor=this._options.visibleEdgeColor,o.outlineWidth=this._options.outlineWidth,o.thresholdAngle=this._options.thresholdAngle,o.selected=[{},{}],o.enabled=!0,this._earthCtrl.viewer.postProcessStages.add(o)};Lae.prototype.removeFromMap=function(){this._edgeStage&&(this._earthCtrl.viewer.postProcessStages.remove(this._edgeStage),this.__edgeStage=null)};Object.defineProperties(Lae.prototype,{show:{get:function(){return this._edgeStage.show},set:function(o){this._edgeStage.show=o}},outlineWidth:{get:function(){return this._edgeStage.outlineWidth},set:function(o){this._edgeStage.outlineWidth=o}},thresholdAngle:{get:function(){return this._edgeStage.thresholdAngle},set:function(o){!o||(this._edgeStage.thresholdAngle=o)}},visibleEdgeColor:{get:function(){return this._edgeStage.visibleEdgeColor},set:function(o){!o||(this._edgeStage.visibleEdgeColor=o)}},hiddenEdgeColor:{get:function(){return this._edgeStage.hiddenEdgeColor},set:function(o){!o||(this._edgeStage.hiddenEdgeColor=o)}},showGlow:{get:function(){return this._edgeStage.showGlow},set:function(o){this._edgeStage.showGlow=o}},edgeGlow:{get:function(){return this._edgeStage.edgeGlow},set:function(o){this._edgeStage.edgeGlow=o}},edgeStrength:{get:function(){return this._edgeStage.edgeGlow},set:function(o){this._edgeStage.edgeGlow=o}},edgeOnly:{get:function(){return this._edgeStage.edgeOnly},set:function(o){this._edgeStage.edgeOnly=o}}});var Flt=Lae;function Fae(o,A={}){this._earthCtrl=o,this._edgeStage=null,this._options=A,this._visibleEdgeColor=oe(A.visibleEdgeColor,Ve.fromCssColorString("#ff0000")),this._hiddenEdgeColor=oe(A.hiddenEdgeColor,Ve.fromCssColorString("#4d4d4d")),this.handler=null,this.key=oe(A.key,"id"),this.model=oe(A.model,null),this.add()}Fae.prototype.add=function(){let o=this,A="";this._edgeStage=v8(!0);let f=this._edgeStage;f.visibleEdgeColor=this._visibleEdgeColor,f.hiddenEdgeColor=this._hiddenEdgeColor,f.selected=[],f.enabled=!1,this._earthCtrl.viewer.postProcessStages.add(f);function m(C,E){function x(I,v){let B=I.featuresLength;for(let Q=0;Q<B;++Q){let T=I.getFeature(Q);if(T.getProperty(o.key)===A){let S={pickId:T.pickId};E.selected=[S],E.enabled=!0}}}function y(I,v){let B=I.content,Q=B.innerContents;if(O(Q)){let T=Q.length;for(let w=0;w<T;++w)x(Q[w],v)}else x(B,v)}C.tileVisible.addEventListener(function(I){A!==""&&y(I,null)})}m(this.model,f),this.handler=new cr(this._earthCtrl.coreMap.scene.canvas),this.handler.setInputAction(function(C){let E=o._earthCtrl.coreMap.scene.pick(C.position);if(f.selected=[],A="",!E||!E.primitive)return;let y=E.primitive._pickIds,v={pickId:E.pickId};f.selected=[v],f.enabled=!0,A=E.getProperty(o.key)},si.LEFT_CLICK)};Fae.prototype.removeFromMap=function(){this.handler&&(this.handler.destroy(),this.handler=void 0),this._edgeStage&&this._earthCtrl.viewer.postProcessStages.remove(this._edgeStage)};Object.defineProperties(Fae.prototype,{showGlow:{get:function(){return this._edgeStage.showGlow},set:function(o){this._edgeStage.showGlow=o}},edgeGlow:{get:function(){return this._edgeStage.edgeGlow},set:function(o){this._edgeStage.edgeGlow=o}},edgeStrength:{get:function(){return this._edgeStage.edgeGlow},set:function(o){this._edgeStage.edgeGlow=o}},edgeOnly:{get:function(){return this._edgeStage.edgeOnly},set:function(o){this._edgeStage.edgeOnly=o}}});var Nlt=Fae;function wC(o,A={}){return this._viewer=o,this.createWindField(A.url,A),this}wC.prototype.createWindField=function(o,A){let f=this;return this.WindFieldOption={color:A.color||Ve.GHOSTWHITE,speed:A.speed||.2,num:A.particleNum||2e3,maxAge:A.maxAge||15,brighten:A.brighten||1.5,width:2},A||(A={}),A.color&&(A.color=Ve.fromCssColorString(A.color)),this.destroy(),this.windData=void 0,this.windField=void 0,this.particles=[],this.lines=void 0,this.timer=void 0,this.primitives=this._viewer.coreMap.scene.primitives,$.ajax({type:"get",async:!1,url:o,dataType:"json",success:function(C){f.windData=C,f._init(),f.timer=setInterval(function(){f.animate()},200)},error:function(C){console.log("\u8BF7\u6C42\u98CE\u573A\u6570\u636E\u5931\u8D25!")}}),new cr(this._viewer.coreMap.scene.canvas).setInputAction(C=>{let E=this._viewer.camera.position;E.height>1e7?this.WindFieldOption.width=2:E.height>4e6?this.WindFieldOption.width=3:E.height>15e4?this.WindFieldOption.width=4:E.height>5e3?this.WindFieldOption.width=5.5:E.height>500?this.WindFieldOption.width=6.5:this.WindFieldOption.width=7},si.WHEEL),this};var XRi=function(){this.x=null,this.dx=null,this.dx=null,this.y=null,this.age=null,this.birthAge=null,this.path=null},nMe=function(o){this.west=null,this.east=null,this.south=null,this.north=null,this.rows=null,this.cols=null,this.dx=null,this.dy=null,this.unit=null,this.date=null,this.grid=null,this._init(o)};wC.prototype._init=function(){this.windField=this.createField();for(let o=0;o<this.WindFieldOption.num;o++)this.particles.push(this.randomParticle(new XRi))};wC.prototype.createField=function(){let o=this._parseWindJson();return new nMe(o)};wC.prototype.animate=function(){let o=this,A=o.windField,f=o.particles,m=[],C=null,E=null,x=null,y=null;f.forEach(function(I){if(I.age<=0&&o.randomParticle(I),I.age>0){let v=I.x,B=I.y;A.isInBound(v,B)?(y=A.getIn(v,B),C=v+o.WindFieldOption.speed*y[0],E=B+o.WindFieldOption.speed*y[1],I.path.push(C,E),I.x=C,I.y=E,m.push(o._createLineInstance(o._map(I.path),I.age/I.birthAge)),I.age--):I.age=0}}),m.length<=0&&o.removeLines(),o._drawLines(m)};wC.prototype._parseWindJson=function(){let o=null,A=null,f=null;return this.windData.forEach(function(m){switch(`${m.header.parameterCategory},${m.header.parameterNumber}`){case"2,2":o=m.data,f=m.header;break;case"2,3":A=m.data;break;default:break}}),{header:f,uComponent:o,vComponent:A}};wC.prototype.removeLines=function(){this.lines&&(this.primitives.remove(this.lines),this.lines.destroy())};wC.prototype._map=function(o){let A=o.length,f=this.windField,m=f.dx,C=f.dy,E=f.west,x=f.north,y=[];for(let I=0;I<=A-2;I+=2)y.push(E+o[I]*m,x-o[I+1]*C);return y};wC.prototype._createLineInstance=function(o,A){let f=[],m=o.length,C=m/2;for(let x=0;x<m;x++)f.push(this.WindFieldOption.color.withAlpha(x/C*A*this.WindFieldOption.brighten));let E=[];for(let x=1;x<=o.length;x++)E.push(o[x-1]),x%2===0&&E.push(100);return new kn({geometry:new iI({positions:Z.fromDegreesArrayHeights(E),colors:f,width:this.WindFieldOption.width,colorsPerVertex:!1})})};wC.prototype._drawLines=function(o){this.removeLines();let A=new ra({appearance:new l0({translucent:!0}),geometryInstances:o,asynchronous:!1});this.lines=this.primitives.add(A)};wC.prototype.randomParticle=function(o){let A=30,f,m;do f=Math.floor(Math.random()*(this.windField.cols-2)),m=Math.floor(Math.random()*(this.windField.rows-2));while(this.windField.getIn(f,m)[2]<=0&&A++<30);return o.x=f,o.y=m,o.age=Math.round(Math.random()*this.WindFieldOption.maxAge),o.birthAge=o.age,o.path=[f,m],o};wC.prototype.changeColor=function(o){o==="random"?this.WindFieldOption.color=o:this.WindFieldOption.color=Ve.fromCssColorString(o)};wC.prototype.setSpeed=function(o){this.WindFieldOption.speed=o};wC.prototype.setMaxAge=function(o){this.WindFieldOption.maxAge=o};wC.prototype.setBrighten=function(o){this.WindFieldOption.brighten=o};wC.prototype.destroy=function(){this.timer&&clearInterval(this.timer),this.timer=void 0,this.removeLines()};nMe.prototype={constructor:nMe,_init:function(o){let A=o.header,f=o.uComponent,m=o.vComponent;this.west=+A.lo1,this.east=+A.lo2,this.south=+A.la2,this.north=+A.la1,this.rows=+A.ny,this.cols=+A.nx,this.dx=+A.dx,this.dy=+A.dy,this.unit=A.parameterUnit,this.date=A.refTime,this.grid=[];let C=0,E=null,x=null;for(let y=0;y<this.rows;y++){E=[];for(let I=0;I<this.cols;I++,C++)x=this._calcUV(f[C],m[C]),E.push(x);this.grid.push(E)}},_calcUV:function(o,A){return[+o,+A,Math.sqrt(o*o+A*A)]},_bilinearInterpolation:function(o,A,f,m,C,E){let x=1-o,y=1-A,I=x*y,v=o*y,B=x*A,Q=o*A,T=f[0]*I+m[0]*v+C[0]*B+E[0]*Q,w=f[1]*I+m[1]*v+C[1]*B+E[1]*Q;return this._calcUV(T,w)},getIn:function(o,A){let f=Math.floor(o),m=Math.floor(A),C,E;if(f===o&&m===A)return this.grid[A][o];C=f+1,E=m+1;let x=this.getIn(f,m),y=this.getIn(C,m),I=this.getIn(f,E),v=this.getIn(C,E);return this._bilinearInterpolation(o-f,A-m,x,y,I,v)},isInBound:function(o,A){return o>=0&&o<this.cols-2&&A>=0&&A<this.rows-2}};var klt=wC;var Vn={opacity:1,poolSize:16,canvas:null,layers:new Array,showid:null,width:0,height:0,viewer:null,workers:new Array,oceanCanvas:null,oceanCtx:null,oceanWorker:null,isMove:!1},Olt=!1,Oae=!1,oMe=30,ZRi=2,$Ri=1,eLi="rgba(0, 0, 0, 0.97)",Ult=216,aMe=[NaN,NaN,null],NK=null,GR,sH=null,eg,qlt=null,Glt=null,Hlt=null,Vlt=!0,zlt=null,ac=!1,xp=1.5,Pv=1.5,qw=1,tg=10,kg=10,sMe=null,tLi=[[30,[10,25,68]],[33,[10,25,250]],[33.5,[24,255,255]],[34,[105,233,252]],[34.5,[255,233,65]],[34.5,[255,233,15]],[34.5,[255,233,15]],[34.5,[255,233,15]],[34.5,[255,233,15]],[35,[255,225,15]],[35,[255,225,15]],[35,[255,225,15]],[35,[255,225,15]],[35,[255,255,15]],[35,[255,235,15]],[35,[255,215,15]],[35,[255,195,15]],[35,[255,175,15]],[35,[255,155,15]],[35,[255,135,15]],[35,[255,115,15]],[35,[255,95,15]],[35,[255,75,15]],[35,[255,55,15]],[35,[255,35,15]],[35,[255,15,15]]];function Xlt(){let o={},A=Math.round(GR.width*ZRi),f=[];for(let x=0;x<A;x++)f.push(jlt({age:AMe(0,oMe)}));if(Vlt){let x=GR.valMax-GR.valMin;x=x/(NK.length-1);for(let I=0;I<NK.length;I++)NK[I][0]=GR.valMin+I*x;let y=hLi(NK);zlt=function(I){let v=y(I,Ult);return"rgba("+v[0]+", "+v[1]+", "+v[2]+", "+Ult+")"},Vlt=!1}function m(){o={},f.forEach(function(x){x.age>oMe&&(x.xt=x.yt=void 0,jlt(x).age=0),x.xt&&x.yt&&(x.x=x.xt,x.y=x.yt);let y=x.x,I=x.y,v=Zlt(y,I),B=v[2];if(B===null)x.age=oMe;else{let Q=ac?y+xp*v[0]:y+Pv*v[0],T=ac?I+xp*v[1]:I+Pv*v[1];if($lt(Q,T)){x.xt=Q,x.yt=T;let w=zlt(B);o[w]||(o[w]=[]),o[w].push(x)}else x.x=Q,x.y=T}x.age+=1})}function C(){if(!Oae){let x=Vn.oceanCtx;x.lineWidth=$Ri,x.fillStyle=eLi;let y=x.globalCompositeOperation;x.globalCompositeOperation="destination-in",x.fillRect(0,0,Vn.oceanCanvas.width,Vn.oceanCanvas.height),x.globalCompositeOperation=y;for(let I in o){let v=o[I];if(v.length>0){let B=[];for(let Q in v){let T=v[Q];B.push({x:T.x,y:T.y}),B.push({x:T.xt,y:T.yt}),T.x=T.xt,T.y=T.yt}x.beginPath();for(let Q=0;Q<B.length;Q+=2){let T=B[Q],w=B[Q+1];x.moveTo(T.x,T.y),x.lineTo(w.x,w.y)}x.strokeStyle=I,x.stroke(),x.strokeStyle="#fff"}}}}Olt=!1,Vn.oceanCtx.clearRect(0,0,Vn.oceanCanvas.width,Vn.oceanCanvas.height),function x(){if(!Olt&&!Oae)if(m(),C(),!ac)Pv=Pv>=1.5?Pv-=.05:Pv,qlt=requestAnimationFrame(x);else for(let y=0;y<qw;y++)m(),C()}()}function iLi(o){switch(o.type){case"success":break;case"draw":rLi(o);break;case"updraw":tg!==10&&(GR=o.data,sH=GR.drawData,Xlt(),kg===10?kg=5:kg===5&&(kg=3));case"error":break;default:break}}function rLi(o){GR=o.data,sH=GR.drawData,Xlt()}var lMe=null;function Ylt(o,A){return function(){lMe||(lMe=setTimeout(function(){o(),lMe=null},A))}}function Jlt(o){NK=o.color||tLi,Vn.oceanWorker=new Worker(SmartEarthRootUrl+"Workers/field/oceanWorker.js"),Vn.oceanWorker.onmessage=function(A){iLi(A.data)},Vn.oceanWorker.postMessage(o.message)}function nLi(o){let A=new Worker(SmartEarthRootUrl+"/Workers/field/rendermapWorker.js");A.onmessage=function(f){o.callback(f.data),A.terminate()},A.postMessage(o.message)}function oLi(o,A){Vn.canvas!==null&&(Vn.canvas.remove(),Vn.canvas=null),Vn.canvas=document.createElement("canvas"),Vn.canvas.width=o,Vn.canvas.height=A,Vn.canvas.style.transform="translateZ(0)"}function Nae(o,A){nLi({message:{id:o.id,ncpath:o.ncpath,letiable:o.letiable,depth:o.depth},callback:function(f){oLi(f.width,f.height);let m=Vn.canvas.getContext("2d"),C=m.getImageData(0,0,f.width,f.height);for(let E=0;E<f.arrayBufferView.length;E++)C.data[E]=f.arrayBufferView[E];m.putImageData(C,0,0),lLi(f,o.id),typeof A=="function"&&A(o.id)}})}function kae(o){let A={x:0,y:0,z:0};return A.x=o.x,A.y=o.y,A.z=o.z,A}function cMe(){let o=Vn.viewer.scene,A=o.camera,f=[],m=[],C=kae(A.positionWC),E=kae(A.directionWC),x=kae(A.rightWC),y=kae(A.upWC);for(let v=0;v<16;v++)f[v]=A.viewMatrix[v],m[v]=A.frustum.projectionMatrix[v];return{width:o.canvas.clientWidth,height:o.canvas.clientHeight,viewMatrix:f,projectionMatrix:m,frustum:{fovy:A.frustum.fovy,aspectRatio:A.frustum.aspectRatio,near:A.frustum.near},positionWC:C,directionWC:E,rightWC:x,upWC:y}}function aLi(o,A){let f=cMe();if(Vn.oceanCanvas===null){Vn.oceanCanvas=document.createElement("canvas"),Vn.oceanCanvas.width=f.width,Vn.oceanCanvas.height=f.height,Vn.oceanCanvas.id="animation",Vn.oceanCanvas.style="position: absolute;left: 0px;top: 0px;pointer-events: none;",document.getElementsByClassName("map-widget")[0].appendChild(Vn.oceanCanvas),Vn.oceanCtx=Vn.oceanCanvas.getContext("2d");let m={childList:!0,attributes:!0,subtree:!0},C=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;new C(function(){Vn.oceanCanvas.width=Vn.viewer.cesiumWidget.canvas.width,Vn.oceanCanvas.height=Vn.viewer.cesiumWidget.canvas.height}).observe(Vn.viewer.cesiumWidget.canvas,m),Jlt({message:{id:o.id,type:"init",upath:o.upath,vpath:o.vpath,scene:f},callback:function(y){}}),Vn.viewer.scene.camera.changed.addEventListener(function(){let y=Vn.viewer.camera.positionCartographic.height;y>12e6?(xp=8,qw=2):y>8e6?(xp=6,qw=2):y>5e6?(xp=4,qw=2):y>2e6?(xp=3,qw=2):(xp=1.5,qw=1)}),eg=new cr(Vn.viewer.scene.canvas),eg.setInputAction(y=>{ac=!0,tg=10,kg=10},si.LEFT_DOWN),eg.setInputAction(y=>{ac=!0,tg=10,kg=10},si.MIDDLE_DOWN),eg.setInputAction(y=>{ac=!0,tg=10,kg=10},si.RIGHT_DOWN),eg.setInputAction(y=>{Ylt(uMe(),100)},si.MOUSE_MOVE),eg.setInputAction(y=>{Pv=xp,ac=!1;let I=setTimeout(()=>{NI(),I&&clearTimeout(I)},500)},si.LEFT_UP),eg.setInputAction(y=>{Pv=xp,ac=!1;let I=setTimeout(()=>{NI(),I&&clearTimeout(I)},500)},si.MIDDLE_UP),eg.setInputAction(y=>{Pv=xp,ac=!1;let I=setTimeout(()=>{NI(),I&&clearTimeout(I)},500)},si.RIGHT_UP);let x=null;eg.setInputAction(y=>{ac=!1,tg=10,kg=10,mk(),x&&clearTimeout(x),x=setTimeout(()=>{pk(),NI()},100)},si.WHEEL),Glt=Vn.viewer.scene.camera.moveStart.addEventListener(function(){!ac&&!x&&mk()}),Hlt=Vn.viewer.scene.camera.moveEnd.addEventListener(function(){!ac&&!x&&(ac=!1,tg=10,kg=10,x&&clearTimeout(x),x=setTimeout(()=>{pk(),NI()},100))}),window.addEventListener("resize",()=>{ac=!1,tg=10,kg=10,mk(),x&&clearTimeout(x),x=setTimeout(()=>{pk(),NI()},100)})}else{Jlt({message:{id:o.id,type:"init",upath:o.upath,vpath:o.vpath,scene:f},callback:function(C){}}),pk(),Vn.viewer.scene.camera.changed.addEventListener(function(){let C=Vn.viewer.camera.positionCartographic.height;C>12e6?(xp=8,qw=2):C>8e6?(xp=6,qw=2):C>5e6?(xp=4,qw=2):C>2e6?(xp=3,qw=2):(xp=1.5,qw=1)}),eg=new cr(Vn.viewer.scene.canvas),eg.setInputAction(C=>{ac=!0,tg=10,kg=10},si.LEFT_DOWN),eg.setInputAction(C=>{ac=!0,tg=10,kg=10},si.MIDDLE_DOWN),eg.setInputAction(C=>{ac=!0,tg=10,kg=10},si.RIGHT_DOWN),eg.setInputAction(C=>{Ylt(uMe(),100)},si.MOUSE_MOVE),eg.setInputAction(C=>{Pv=xp,ac=!1;let E=setTimeout(()=>{NI(),E&&clearTimeout(E)},500)},si.LEFT_UP),eg.setInputAction(C=>{Pv=xp,ac=!1;let E=setTimeout(()=>{NI(),E&&clearTimeout(E)},500)},si.MIDDLE_UP),eg.setInputAction(C=>{Pv=xp,ac=!1;let E=setTimeout(()=>{NI(),E&&clearTimeout(E)},500)},si.RIGHT_UP);let m=null;eg.setInputAction(C=>{ac=!1,tg=10,kg=10,mk(),m&&clearTimeout(m),m=setTimeout(()=>{pk(),NI()},100)},si.WHEEL),Glt=Vn.viewer.scene.camera.moveStart.addEventListener(function(){!ac&&!m&&mk()}),Hlt=Vn.viewer.scene.camera.moveEnd.addEventListener(function(){!ac&&!m&&(ac=!1,tg=10,kg=10,m&&clearTimeout(m),m=setTimeout(()=>{pk(),NI()},100))}),window.addEventListener("resize",()=>{ac=!1,tg=10,kg=10,mk(),m&&clearTimeout(m),m=setTimeout(()=>{pk(),NI()},100)})}}function mk(){Vn.oceanWorker!==null&&(ac=null,Oae=!0,sH=null,Vn.oceanCtx.clearRect(0,0,Vn.oceanCanvas.width,Vn.oceanCanvas.height))}function uMe(){ac&&Vn.oceanWorker!==null&&(Oae=!1,Vn.oceanWorker.postMessage({type:"update",level:10,scene:cMe()}))}function pk(){ac=!0,uMe(),ac=!1}function NI(){Vn.oceanWorker&&!ac?(sMe&&clearTimeout(sMe),tg!==3&&(sMe=setTimeout(()=>{kg===tg&&(tg===10?tg=5:tg===5&&(tg=3),Vn.oceanWorker.postMessage({type:"upQuality",level:tg,scene:cMe()})),NI()},200))):(tg=10,kg=10)}function sLi(o,A){switch(o.type){case"single":Nae({id:0,ncpath:o.ncpath,letiable:o.letiable,depth:o.depth},A);break;case"mfile":Nae({id:0,ncpath:o.ncpath.format(o.params[0]),letiable:o.letiable,depth:o.depth},function(){typeof A=="function"&&A(0);for(let f=1;f<o.params.length;f++)Nae({id:f,ncpath:o.ncpath.format(o.params[f]),letiable:o.letiable,depth:o.depth})});break;case"mdepth":break;case"ocean":aLi({id:0,upath:o.upath,vpath:o.vpath},A);break;default:Nae({id:0,ncpath:o.ncpath,letiable:o.letiable,depth:o.depth});break}}Vn.hide=function(){(Vn.showid||Vn.showid===0)&&Vn.layers[Vn.showid]&&(Vn.layers[Vn.showid].show=!1)};Vn.show=function(o){(Vn.showid||Vn.showid===0)&&Vn.layers[Vn.showid]&&(Vn.layers[Vn.showid].show=!1),(o||o===0)&&Vn.layers[o]&&(Vn.layers[o].show=!0,Vn.showid=o)};Vn.draw=function(o,A){sLi(o,A)};Vn.destroy=function(){mk(),eg&&(eg.destroy(),eg=null);try{for(let o=0;o<Vn.layers.length;o++)Vn.viewer.entities.remove(Vn.layers[o]);Vn.layers=[]}catch{}try{for(let o=0;o<Vn.workers.length;o++)try{Vn.workers[o].terminate()}catch{}Vn.workers=[]}catch{}try{Vn.oceanWorker.terminate(),Vn.oceanWorker=null,setTimeout(()=>{cancelAnimationFrame(qlt),Vn.oceanCtx.clearRect(0,0,Vn.oceanCanvas.width,Vn.oceanCanvas.height)},1e3)}catch{}};function lLi(o,A){let f=o.minx,m=o.miny,C=o.maxx,E=o.maxy,x=gi.fromDegrees(f,m,C,E),y=new Yd({image:Vn.canvas,transparent:!0});mlayer=Vn.viewer.entities.add({show:!0,rectangle:{coordinates:x,material:y}}),Vn.layers[A]=mlayer}String.prototype.format=function(o){let A=this;if(arguments.length>0){if(arguments.length==1&&typeof o=="object"){for(let f in o)if(o[f]!==void 0){let m=new RegExp("({"+f+"})","g");A=A.replace(m,o[f])}}else for(let f=0;f<arguments.length;f++)if(arguments[f]!==void 0){let m=new RegExp("({)"+f+"(})","g");A=A.replace(m,arguments[f])}}return A};function uLi(o,A,f){return Math.max(A,Math.min(o,f))}function ALi(o,A,f){return(uLi(o,A,f)-A)/(f-A)}function cLi(o,A){let f=o[0],m=o[1],C=o[2],E=A[0]-f,x=A[1]-m,y=A[2]-C;return function(I,v){return[Math.floor(f+I*E),Math.floor(m+I*x),Math.floor(C+I*y),v]}}function hLi(o){let A=[],f=[],m=[];for(let C=0;C<o.length-1;C++)A.push(o[C+1][0]),f.push(cLi(o[C][1],o[C+1][1])),m.push([o[C][0],o[C+1][0]]);return function(C,E){let x;for(x=0;x<A.length-1&&!(C<=A[x]);x++);let y=m[x];return f[x](ALi(C,y[0],y[1]),E)}}function Zlt(o,A){if(kg===10){let f=sH[Math.round(o*.1)*10];return f&&f[Math.round(A*.1)*10]||aMe}else if(kg===5){let f=sH[Klt(o)];return f&&f[Klt(A)]||aMe}else{let f=sH[Wlt(o)];return f&&f[Wlt(A)]||aMe}}function Klt(o){let A=Math.floor(o/5)*5,f=A+5;return o-A<=2.5?A:f}function Wlt(o){let A=Math.floor(o/3)*3,f=A+3;return o-A<f-o?A:f}function $lt(o,A){return Zlt(o,A)[2]!==null}function AMe(o,A){return A===null&&(A=o,o=0),o+Math.floor(Math.random()*(A-o+1))}function jlt(o){let A=0,f=Vn.viewer.scene.canvas.clientWidth,m=Vn.viewer.scene.canvas.clientHeight,C=Math.round(AMe(0,f)),E=Math.round(AMe(0,m));for(;!$lt(C,E)&&A++<30;);return o.x=C,o.y=E,o}function Uae(o){Vn.viewer=o}Uae.prototype.createField=function(o,A){return Vn.draw(o,A),this};Uae.prototype.destroy=function(){Vn.destroy()};Uae.prototype.remove=function(){Vn.destroy()};var eut=Uae;function kK(o,A,f){return this.earthCtrl=o,this.Viewer=A,this}kK.prototype.showCloud=function(o){this.volumeClouds&&(this.volumeClouds._postProcess.enabled=o,this.volumeClouds.enable=o)};kK.prototype.update=function(){let o=this;this.Viewer.scene.preUpdate.addEventListener(function(){o.volumeClouds.update()})};kK.prototype.createCloud=function(o){function A(){this.use_blue_noise=o.use_blue_noise||!0,this.wind_animation=o.wind_animation||!0,this.vSync=o.vSync||!1,this.wind_speed=o.wind_speed||.75,this.wind_direction_x=o.wind_direction_x||.4,this.wind_direction_y=o.wind_direction_y||0,this.wind_direction_z=o.wind_direction_z||-1,this.global_coverage=o.global_coverage||.223,this.global_density=o.global_density||.253,this.cloud_in_scatter=o.cloud_in_scatter||.43,this.cloud_out_scatter=o.cloud_out_scatter||.06,this.cloud_scatter_ratio=o.cloud_scatter_ratiocloud_scatter_ratio||.57,this.cloud_silver_intensity=o.cloud_silver_intensity||5,this.cloud_out_scatter_ambient=o.cloud_out_scatter_ambient||.0204,this.global_lightAbsorption=o.global_lightAbsorption||.5,this.cloud_silver_exponent=o.cloud_silver_exponent||2.3,this.use_quarter_update=o.use_quarter_update||!1,this.highlightScale=o.highlightScale||2.2,this.backScale=o.backScale||.7,this.attenuationScale=o.attenuationScale||1}let m=new A,C=o.detail_noise_high||`${SmartEarthRootUrl}/Assets/cloud/detail_noise_high.bin`,E=o.detail_noise||`${SmartEarthRootUrl}/Assets/cloud/detail_noise.bin`,x=o.weather||`${SmartEarthRootUrl}/Assets/cloud/weather_map5.png`,y=o.mark_noise||`${SmartEarthRootUrl}/Assets/cloud/mark.png`;return this.volumeClouds=new noe({viewer:this.Viewer,coordinate:{cartographicPosition:o.position,size:o.size,height:o.height},urls:{detail_noise_high:C,detail_noise:E,weather:x,mark_noise:y},cloudParam:m}),this.update(),this};Object.defineProperties(kK.prototype,{showCloud:function(o){this.showCloud(o)}});var tut=kK;var iut=`// author: \u5F20\u4E39\u948A void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) { if(u_snow){ vec3 normalEC = fsInput.attributes.normalEC; vec3 normalMC = czm_inverseNormal * normalEC; vec3 color = material.diffuse; vec3 white = vec3(1.0,1.0,1.0); float m = dot(normalMC, u_snowDirection); m = pow(m,5.0); material.diffuse = mix(color, white, clamp(m,0.0,1.0) * u_snowAlpha); } if(u_effects){ float vtxf_a11 = fract(czm_frameNumber / 240.0) * 3.14159265 * 2.0; float vtxf_a12 = fsInput.attributes.positionMC.z / (u_effectsMaxHeight / 2.0) + sin(vtxf_a11) * 0.1; material.diffuse *= vec3(vtxf_a12); float vtxf_a13 = fract(czm_frameNumber / 240.0); float vtxf_h = clamp(fsInput.attributes.positionMC.z / u_effectsMaxHeight, 0.0, 1.0); vtxf_a13 = abs(vtxf_a13 - 0.5) * 2.0; float vtxf_diff = step(0.005, abs(vtxf_h - vtxf_a13)); material.diffuse.rgb += material.diffuse.rgb * (1.0 - vtxf_diff); } }`;var rut=`// author: \u5F20\u4E39\u948A void vertexMain(VertexInput vsInput, inout czm_modelVertexOutput vsOutput) { if(u_flatten){ vec3 positionMC = vsOutput.positionMC.xyz; vec4 northEast = czm_inverseModel * vec4(u_flattenNorthEast, 1.0); vec4 southWest = czm_inverseModel * vec4(u_flattenSouthWest, 1.0); if(positionMC.x>=southWest.x && positionMC.x<=northEast.x && positionMC.y>=southWest.y && positionMC.y<=northEast.y){ vec2 st; st.x = (positionMC.x - southWest.x)/(northEast.x - southWest.x); st.y = (positionMC.y - southWest.y)/(northEast.y - southWest.y); vec4 rgba_depth = texture(u_flattenTexture, st.xy); if(rgba_depth.r > 0.0) { vsOutput.positionMC.z = u_flattenHeight; } } } }`;var ea=null;function uA(o,A){ea=A,this._viewer=o,this._cesium=A,this._core=new $i(o,ea),this._tree=Ke,this._color=new In(this._viewer,this._cesium),this._ModelEdit=new aK(this._viewer,this._cesium),this.modelEditData={lon:0,lat:0,height:0,scale:1,heading:0,pitch:0,roll:0,rotate:!1,rootTransform:void 0},this.flattenData=new Map}uA.prototype.create3DTilesets=function(o,A,f,m,C,E,x){var y={url:A,preferLeaves:!0,skipLevelOfDetail:!0};if(typeof f.lightColor=="string"){let w=f.lightColor.split(",");f.lightColor=new this._cesium.Cartesian3(w[0],w[1],w[2])}m.groundHeight=this._core.defaultValue(f.height,m.groundHeight);var I=this._core.extend(y,f,!0);I.time&&(I.availability=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:I.time.start?this._cesium.JulianDate.fromDate(new Date(I.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:I.time.end?this._cesium.JulianDate.fromDate(new Date(I.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})]),this.availability=I.availability),I.customShader=this.getCustomShader(m);var v=new this._cesium.Cesium3DTileset(I);(m.effects||m.snow)&&(v.enableModelExperimental=!0);var B=this,Q=I.id||B._core.getuid();v.id=Q,v.Level=I.Level,B.item=v,m.flattenPositions&&(this.setFlatten(!0,{positions:m.flattenPositions}),m.flattenHeight!==void 0&&(this.flattenHeight=m.flattenHeight)),setTimeout(function(){f.flyTo&&B._viewer.flyTo(v);var w=B._viewer.scene.primitives.add(v);m.maximumscreenspaceerror!=null&&(v.maximumScreenSpaceError=m.maximumscreenspaceerror),m.pointcloudshading!=null&&(v.pointCloudShading.maximumAttenuation=B.checkZero(m.pointcloudshading.maximumattenuation),v.pointCloudShading.baseResolution=m.pointcloudshading.baseresolution,v.pointCloudShading.geometricErrorScale=m.pointcloudshading.geometricerrorscale,v.pointCloudShading.attenuation=m.pointcloudshading.attenuation,v.pointCloudShading.eyeDomeLighting=m.pointcloudshading.eyedomelighting,v.pointCloudShading.eyeDomeLightingStrength=m.eyeDomeLightingStrength,v.pointCloudShading.eyeDomeLightingRadius=m.eyeDomeLightingRadius);let S=v.readyPromise.then(function(R){if(I.geometricError!=null&&(R._geometricError=I.geometricError),m.groundheight!=null&&B.setHeight(m.groundheight),m.groundHeight!=null&&B.setHeight(m.groundHeight),m.groundCenter&&B.setPosition(m.groundCenter),!B.boundingSphereCenter){B.getCenter();var P=B._cesium.Cartographic.fromCartesian(B.boundingSphereCenter);B.modelEditData.lon=B._cesium.Math.toDegrees(P.longitude),B.modelEditData.lat=B._cesium.Math.toDegrees(P.latitude),B.modelEditData.height=P.height}(m.heading||m.pitch||m.roll)&&B.setEditData({roll:m.roll,pitch:m.pitch,heading:m.heading}),m.edit&&B.setEditData(m.edit),typeof x=="function"&&x(B)});S.catch&&S.catch(function(R){console.log(R)}),S.otherwise&&S.otherwise(function(R){console.log(R)}),v.Level&&(B.Level=0,B._viewer.scene.preRender.addEventListener(function(){B.isShow&&(B.Level=B._core.getLevel(B._viewer),B.Level>v.Level&&!v.show?v.show=!0:B.Level<v.Level&&v.show&&(v.show=!1))})),B.sd=w,E?B.isShow=!0:B.setVisibility(!1);var D=B.setStyle(m);v.style=new B._cesium.Cesium3DTileStyle(D)}),B._core.isnull(o)&&(o="\u65B0\u5EFA\u6A21\u578B");var T={id:Q,name:o,checked:E,pId:B._core.isnull(C)?0:C,type:"3DTilesets",item:B};return B.setTreeobj(T),B._tree.insertGroupId(T,B._core.isnull(C)?0:C),this};uA.prototype.setVisibility=function(o){this.isShow=o,this.item.show=o,this.item._availability&&!o?this.item._availability=void 0:this.availability&&o&&(this.item._availability=this.availability)};uA.prototype.checkZero=function(o){var A=parseFloat(o);return A===0?void 0:A};uA.prototype.getVisibility=function(){return this.item.show};uA.prototype.deleteObject=function(){try{this._viewer.scene.primitives.remove(this.item)}catch(o){console.log(o.message)}};uA.prototype.restore=function(){this.modelEditData={lon:0,lat:0,height:0,scale:1,heading:0,pitch:0,roll:0,rotate:!1,modelMatrix:this.modelEditData.modelMatrix,rootTransform:this.modelEditData.rootTransform,originalMatrix:this.modelEditData.originalMatrix};let o=this._cesium.Cartographic.fromCartesian(this.boundingSphereCenter);this.modelEditData.lon=this._cesium.Math.toDegrees(o.longitude),this.modelEditData.lat=this._cesium.Math.toDegrees(o.latitude),this.modelEditData.height=o.height,this.item.modelMatrix=this.modelEditData.modelMatrix.clone(),this.modelEditData.rootTransform.equals(ea.Matrix4.IDENTITY)?this.item.modelMatrix=this.modelEditData.originalMatrix.clone():(this.item._root.transform=this.modelEditData.originalMatrix.clone(),this.modelEditData.rotate=!0),this.moveModelEnd&&(this.moveModelEnd(),this.moveModelEnd=void 0),this.rotatePointPosition=void 0,this.moveEndCenter=void 0};uA.prototype.setHeight=function(o){if(o=Number(o),!isNaN(o)&&this.item!=null&&this.item.boundingSphere!=null){this.boundingSphereCenter||this.getCenter();var A=this._cesium.Cartographic.fromCartesian(this.boundingSphereCenter);this.restore(),this.modelEditData.height=o;var f=this._cesium.Cartesian3.fromRadians(A.longitude,A.latitude,0),m=this._cesium.Cartesian3.fromRadians(A.longitude,A.latitude,o),C=this._cesium.Cartesian3.subtract(m,f,new this._cesium.Cartesian3);this.item.modelMatrix=this._cesium.Matrix4.fromTranslation(C)}};uA.prototype.setPosition=function(o,A){this.item!=null&&this.item.boundingSphere!=null&&o&&(this.boundingSphereCenter||this.getCenter(),this.setEditData({lon:o[0],lat:o[1],height:A?this.boundingSphereCenterHeight:o[2]}))};uA.prototype.setEditData=function(o){if(this.item!=null&&this.item.boundingSphere!=null){if(this.boundingSphereCenter||this.getCenter(),o&&(this.modelEditData=this._core.extend(this.modelEditData,o,!0)),this.modelEditData.rootTransform.equals(ea.Matrix4.IDENTITY)){var A=ea.Cartesian3.multiplyByScalar(this.boundingSphereCenter,-1,new ea.Cartesian3),f=ea.Matrix4.fromTranslation(A),m=this._cesium.Cartesian3.fromDegrees(this.modelEditData.lon,this.modelEditData.lat,this.modelEditData.height),C=ea.Matrix4.fromTranslation(m);let B=new ea.HeadingPitchRoll(ea.Math.toRadians(this.modelEditData.heading||0),ea.Math.toRadians(this.modelEditData.pitch||0),ea.Math.toRadians(this.modelEditData.roll||0)),Q=ea.Matrix3.fromHeadingPitchRoll(B),T=ea.Matrix4.fromRotation(Q,new ea.Matrix4);ea.Matrix4.multiply(T,f,f),ea.Matrix4.multiply(C,f,f),this.item.modelMatrix=f;return}var E=ea.Cartesian3.fromDegrees(this.modelEditData.lon,this.modelEditData.lat,this.modelEditData.height),x=ea.Transforms.eastNorthUpToFixedFrame(E);let I=new ea.HeadingPitchRoll(ea.Math.toRadians(this.modelEditData.heading||0),ea.Math.toRadians(this.modelEditData.pitch||0),ea.Math.toRadians(this.modelEditData.roll||0)),v=ea.Matrix3.fromHeadingPitchRoll(I);ea.Matrix4.multiplyByMatrix3(x,v,x);var y=ea.Matrix4.fromUniformScale(this.modelEditData.scale);ea.Matrix4.multiply(x,y,x),this.item._root.transform=x}};uA.prototype.getCenter=function(){if(!this.boundingSphereCenter){var o=this._cesium.Cartographic.fromCartesian(this.item.boundingSphere.center);this.boundingSphereCenter=this.item.boundingSphere.center.clone(),this.boundingSphereCenterHeight=o.height,this.boundingSphereRadius=this.item.boundingSphere.radius,this.modelEditData.rootTransform=this.item._root.transform.clone(),this.modelEditData.modelMatrix=this.item.modelMatrix.clone(),this.modelEditData.rootTransform.equals(ea.Matrix4.IDENTITY)?this.modelEditData.originalMatrix=this.item.modelMatrix.clone():(this.modelEditData.originalMatrix=this.item._root.transform.clone(),this.modelEditData.rotate=!0)}};uA.prototype.arge=function(o,A,f){var m=Math.sqrt(Math.pow(o.x-A.x,2)+Math.pow(o.y-A.y,2)),C=Math.sqrt(Math.pow(o.x-f.x,2)+Math.pow(o.y-f.y,2)),E=Math.sqrt(Math.pow(A.x-f.x,2)+Math.pow(A.y-f.y,2)),x=(Math.pow(m,2)+Math.pow(C,2)-Math.pow(E,2))/(2*m*C);return Math.round(Math.acos(x)*180/Math.PI)};uA.prototype.editModel=function(o={}){this._ModelEdit.start(this,o)};uA.prototype.endEdit=function(){this._ModelEdit.end()};uA.prototype.clippingModel=function(o={}){var A=this,f=this._viewer;this.moveHandler&&(this.moveHandler.destroy(),this.moveHandler=void 0,this._viewer.entities.remove(this.movePoint),this._viewer.entities.remove(this.rotatePoint)),this.clippingHandler&&(this.clippingHandler.destroy(),this.clippingHandler=void 0,A.planeEntities&&A.planeEntities.forEach(M=>{A._viewer.entities.remove(M)}),A.planeEntities=[]);let m=o.direction||"z";A.planeEntities=[],this.targetY||(o.start?this.targetY=o.start:this.targetY=0);var C;this.clippingPlanes||(this.clippingPlanes=new this._cesium.ClippingPlaneCollection({planes:[],edgeWidth:1}),this.item.clippingPlanes=this.clippingPlanes),this.clippingPlanes.removeAll(),m==="z"?this.clippingPlanes.add(new this._cesium.ClippingPlane(new this._cesium.Cartesian3(0,0,-1),0)):m==="x"?this.clippingPlanes.add(new this._cesium.ClippingPlane(new this._cesium.Cartesian3(-1,0,0),0)):m==="y"&&this.clippingPlanes.add(new this._cesium.ClippingPlane(new this._cesium.Cartesian3(0,-1,0),0)),this.boundingSphereCenter||this.getCenter();var E=this.item.boundingSphere,x=this.boundingSphereRadius;if(!this._cesium.Matrix4.equals(this.item.root.transform,this._cesium.Matrix4.IDENTITY)){var y=this._cesium.Matrix4.getTranslation(this.item.root.transform,new ea.Cartesian3),I=this._cesium.Cartographic.fromCartesian(y),v=this._cesium.Cartographic.fromCartesian(this.item.boundingSphere.center),B=v.height-I.height;this.clippingPlanes.modelMatrix=this._cesium.Matrix4.fromTranslation(new this._cesium.Cartesian3(0,0,B))}for(var Q=0;Q<this.clippingPlanes.length;++Q){var T=this.clippingPlanes.get(Q),w=f.entities.add({name:"modelClippingPlane",position:E.center,plane:{dimensions:new ea.Cartesian2(x*1.2,x*1.2),material:ea.Color.WHITE.withAlpha(.1),plane:new ea.CallbackProperty(P(T),!1),outline:!0,outlineColor:ea.Color.WHITE}});A.planeEntities.push(w)}this.enableModelExperimental=this.item.enableModelExperimental,this.item.enableModelExperimental=!1,this.clippingHandler=new this._cesium.ScreenSpaceEventHandler(f.scene.canvas);var S=A._core.CreateTooltip();let D=A._cesium.Cartographic.fromCartesian(A.boundingSphereCenter);D={lon:A._cesium.Math.toDegrees(D.longitude),lat:A._cesium.Math.toDegrees(D.latitude),hei:D.height},this.clippingHandler.setInputAction(function(M){var L=f.scene.pick(M.position);A._cesium.defined(L)&&L.id&&L.id.name==="modelClippingPlane"&&(C=L.id.plane,C.material=A._cesium.Color.WHITE.withAlpha(.05),C.outlineColor=A._cesium.Color.WHITE,f.scene.screenSpaceCameraController.enableInputs=!1)},this._cesium.ScreenSpaceEventType.LEFT_DOWN);let R=A;this.clippingHandler.setInputAction(M=>{if(ea.defined(C)){let L=R._viewer.scene.camera.position,F=R._cesium.Cartographic.fromCartesian(L);F={lon:R._cesium.Math.toDegrees(F.longitude),lat:R._cesium.Math.toDegrees(F.latitude),hei:F.height};let k=M.startPosition.y-M.endPosition.y;m=="x"?D.lon-F.lon<0&&(k=-k):m=="y"&&D.lat-F.lat<0&&(k=-k),this.targetY+=k*x*.001,S.showAt(M.endPosition,"\u79FB\u52A8\u9F20\u6807\u5E73\u79FB\u88C1\u5207\u9762")}else S.showAt(M.endPosition,"\u957F\u6309\u5DE6\u952E\u4E0A\u4E0B\u62D6\u52A8\u88C1\u5207\u9762\uFF0C\u53F3\u952E\u53D6\u6D88")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.clippingHandler.setInputAction(M=>{ea.defined(C)&&(C.material=ea.Color.WHITE.withAlpha(.1),C.outlineColor=ea.Color.WHITE,C=void 0),f.scene.screenSpaceCameraController.enableInputs=!0},this._cesium.ScreenSpaceEventType.LEFT_UP),this.clippingHandler.setInputAction(M=>{A.endClipping(),o.end&&o.end()},this._cesium.ScreenSpaceEventType.RIGHT_DOWN),this.endClipping=()=>{A.clippingHandler.destroy(),S.show(!1),A.planeEntities&&A.planeEntities.forEach(M=>{A._viewer.entities.remove(M)}),A.planeEntities=[],A.item.enableModelExperimental=A.enableModelExperimental};function P(M){return function(){return M.distance=A.targetY,M}}};uA.prototype.setFlatten=function(o,A={}){if(this.flatten=o,this.updateModelExperimental(),!o)return;let f=A.positions||[];if(f[0]&&f[0].lon&&f[0].lat)for(let w=0;w<f.length;w++)f[w]=ea.Cartesian3.fromDegrees(f[w].lon,f[w].lat);let m,C;f.length&&(m=A.fid||this._core.getuid(),this.flattenData.set(m,{id:m,modelId:this.item.id,name:A.name||"\u65B0\u5EFA\u538B\u5E73",show:this._core.defaultValue(A.show,!0),boundingSphere:ea.BoundingSphere.fromPoints(f),positions:f,setVisibility:w=>{this.showFlattenById(m,w)},deleteObject:()=>{this.removeFlattenById(m)}}),C=ea.Rectangle.fromCartesianArray(f),this.flattenRectangle?this.flattenRectangle=ea.Rectangle.union(this.flattenRectangle,C):this.flattenRectangle=C),C=this.flattenRectangle;let E,x,y,I=C.east-C.west,v=C.north-C.south,B=1024,Q=document.createElement("canvas");Q.width=B,Q.height=B;let T=Q.getContext("2d");T.fillStyle="#000",T.fillRect(0,0,B,B);for(let w of this.flattenData.values())if(w.show){let S=[];w.positions.forEach(D=>{E=ea.Cartographic.fromCartesian(D),x=(E.longitude-C.west)/I*B,y=1024-(E.latitude-C.south)/v*B,S.push([x,y])}),T.moveTo(S[0][0],S[0][1]);for(let D=0;D<S.length;D++)T.lineTo(S[D][0],S[D][1]);T.fillStyle="#f00",T.fill()}return this.flattenTexture=new ea.TextureUniform({url:Q.toDataURL("image/png")}),m&&this.flattenData.get(m)};uA.prototype.setFlattenByGeojson=function(o,A){if(A)return ea.GeoJsonDataSource.load(A).then(m=>{let C=m.entities.values,E=[];for(let x=0;x<C.length;x++){let y=C[x],I;y.polyline?I=y.polyline.positions.getValue():y.polygon&&(I=y.polygon.hierarchy.getValue().positions),I&&E.push(this.setFlatten(o,{fid:y.id,name:y.name,positions:I}))}return E});this.flatten=!!o,this.updateModelExperimental()};uA.prototype.removeFlattenById=function(o){this.flattenData.delete(o),this.flatten=!!this.flattenData.size,this.setFlatten(this.flatten)};uA.prototype.showFlattenById=function(o,A){let f=this.flattenData.get(o);f&&(f.show=A),this.setFlatten(this.flatten)};uA.prototype.removeFlattenAll=function(){this.flattenData.clear(),this.flattenRectangle=new ea.Rectangle,this._flattenRectangle=void 0,this.flatten=!1,this.flattenTexture=new ea.TextureUniform({url:""}),this.updateModelExperimental()};uA.prototype.updateModelExperimental=function(){this.effects||this.flatten||this.snow?this.item&&(this.item.enableModelExperimental=!0):this.item&&(this.item.enableModelExperimental=!1)};uA.prototype.setTreeobj=function(o){this.treeobj=o};Object.defineProperties(uA.prototype,{style:{get:function(){return this.item.style}}});uA.prototype.export=function(){var o=this.item.url,A=this.item.show,f=this.item.shadows;return{type:"3DTilesets",treeobj:{name:this.treeobj.name},style:{url:o,show:A,shadows:f}}};uA.prototype.setTreeobj=function(o){this.treeobj=o};uA.prototype.setItem=function(o){this.item=o};uA.prototype.setShowStyle=function(o){var A=this.item.style;this.item.style=new this._cesium.Cesium3DTileStyle({show:!0})};uA.prototype.setStyle=function(o){var A=[],f={color:void 0,show:!0},m=!0;if(o.colors instanceof Array){for(var C=0;C<o.colors.length;C++){var E=[],x=o.colors[C].color,y=o.colors[C].condition;/^\[/.test(y)&&(y=y.replace(/^\[/,"${").replace(/\]/,"}")),this._core.isHtmlColor(x)?x=this._color.colorFromHtmlColor(x):(/^rgb/.test(x)&&(x=this._color.rgbaStringToRgbaObj(x)),x.r>1&&(x.r=x.r/255),x.g>1&&(x.g=x.g/255),x.b>1&&(x.b=x.b/255),x.a>1&&(x.a=x.a/255),x=this._color.createColor(x.r,x.g,x.b,x.a)),E.push(y),E.push(x),A.push(E)}f.color={},f.color.conditions=A}else o.colors&&(f.color=`color("${o.colors}")`);return o.show&&/\[/.test(o.show)?m=o.show.replace(/^\[/,"${").replace(/\]/,"}"):o.show&&(m=o.show),f.show=m,f};Object.defineProperties(uA.prototype,{luminanceAtZenith:{get:function(){return this.item.luminanceAtZenith},set:function(o){this.item.luminanceAtZenith=o}},groundHeight:{get:function(){if(this.item!=null&&this.item.boundingSphere!=null){var o=this._cesium.Cartographic.fromCartesian(this.item.boundingSphere.center);return o.altitude}return 0},set:function(o){this.setHeight(o)}},lon:{get:function(){return this.modelEditData.lon},set:function(o){this.modelEditData.lon=o,this.setEditData()}},lat:{get:function(){return this.modelEditData.lat},set:function(o){this.modelEditData.lat=o,this.setEditData()}},height:{get:function(){return this.modelEditData.height},set:function(o){this.modelEditData.height=o,this.setEditData()}},scale:{get:function(){return this.modelEditData.scale},set:function(o){this.modelEditData.scale=o,this.setEditData()}},material:{set:function(o){this._core.isHtmlColor(o)||(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o="rgba("+o.r+","+o.g+","+o.b+","+o.a+")"),this.item.style=new this._cesium.Cesium3DTileStyle({color:"color('"+o+"')"})}},dynamicScreenSpaceErrorDensity:{get:function(){return this.item.dynamicScreenSpaceErrorDensity},set:function(o){this.item.dynamicScreenSpaceErrorDensity=o}},shadows:{get:function(){return this.item.shadows},set:function(o){this.item.shadows=o}},classificationType:{get:function(){return this.item.classificationType},set:function(o){this.item.classificationType=o}},dynamicScreenSpaceErrorHeightFalloff:{get:function(){return this.item.dynamicScreenSpaceErrorHeightFalloff},set:function(o){this.item.dynamicScreenSpaceErrorHeightFalloff=o}},dynamicScreenSpaceErrorFactor:{get:function(){return this.item.dynamicScreenSpaceErrorFactor},set:function(o){this.item.dynamicScreenSpaceErrorFactor=o}},imageBasedLightingFactor_x:{get:function(){return this.item.imageBasedLightingFactor==null?0:this.item.imageBasedLightingFactor.x},set:function(o){this.item.imageBasedLightingFactor=new this._cesium.Cartesian2(o,this.item.imageBasedLightingFactor_y)}},imageBasedLightingFactor_y:{get:function(){return this.item.imageBasedLightingFactor==null?0:this.item.imageBasedLightingFactor.y},set:function(o){this.item.imageBasedLightingFactor=new this._cesium.Cartesian2(o,this.item.imageBasedLightingFactor_y)}},effects:{get:function(){return this.item.customShader.uniforms.u_effects.value},set:function(o){this.item.customShader.setUniform("u_effects",o),this.item.customShader.lightingModel=o?0:void 0,this.updateModelExperimental()}},effectsMaxHeight:{get:function(){return this.item.customShader.uniforms.u_effectsMaxHeight.value},set:function(o){this.item.customShader.setUniform("u_effectsMaxHeight",o)}},snow:{get:function(){return this.item.customShader.uniforms.u_snow.value},set:function(o){this.item.customShader.setUniform("u_snow",o),this.updateModelExperimental()}},snowAlpha:{get:function(){return this.item.customShader.uniforms.u_snowAlpha.value},set:function(o){this.item.customShader.setUniform("u_snowAlpha",o)}},snowDirection:{get:function(){return this.item.customShader.uniforms.u_snowDirection.value},set:function(o){this.item.customShader.setUniform("u_snowDirection",o)}},flatten:{get:function(){return this.item.customShader.uniforms.u_flatten.value},set:function(o){this.item.customShader.setUniform("u_flatten",o),this.updateModelExperimental()}},flattenHeight:{get:function(){return this.item.customShader.uniforms.u_flattenHeight.value},set:function(o){this.item.customShader.setUniform("u_flattenHeight",o)}},flattenRectangle:{get:function(){return this._flattenRectangle},set:function(o){this._flattenRectangle=o,this.item.customShader.setUniform("u_flattenSouthWest",ea.Cartesian3.fromRadians(o.west,o.south)),this.item.customShader.setUniform("u_flattenNorthEast",ea.Cartesian3.fromRadians(o.east,o.north))}},flattenTexture:{get:function(){return this.item.customShader.uniforms.u_flattenTexture.value},set:function(o){this.item.customShader.setUniform("u_flattenTexture",o)}}});uA.prototype.getCustomShader=function(o){return ea.CustomShader&&new ea.CustomShader({mode:ea.CustomShaderMode.MODIFY_MATERIAL,lightingModel:o.effects||o.removeLighting?ea.LightingModel.UNLIT:void 0,uniforms:{u_flatten:{type:ea.UniformType.BOOL,value:!1},u_flattenHeight:{type:ea.UniformType.FLOAT,value:0},u_flattenNorthEast:{type:ea.UniformType.VEC3,value:new ea.Cartesian3},u_flattenSouthWest:{type:ea.UniformType.VEC3,value:new ea.Cartesian3},u_flattenTexture:{type:ea.UniformType.SAMPLER_2D,value:new ea.TextureUniform({url:""})},u_effects:{type:ea.UniformType.BOOL,value:o.effects||!1},u_effectsMaxHeight:{type:ea.UniformType.FLOAT,value:o.effectsMaxHeight||150},u_snow:{type:ea.UniformType.BOOL,value:o.snow||!1},u_snowAlpha:{type:ea.UniformType.FLOAT,value:o.snowAlpha||.8},u_snowDirection:{type:ea.UniformType.VEC3,value:o.snowDirection||new ea.Cartesian3(1,1,0)}},vertexShaderText:this.getFlattenShader(),fragmentShaderText:this.getEffectsShader()})};uA.prototype.getFlattenShader=function(){return rut};uA.prototype.getEffectsShader=function(){return iut};uA.prototype.getType=function(){return{label:"\u6A21\u578B",value:"3DTileset"}};var Xw=uA;var Gae=class extends gu{constructor(A,f){super(A),this._parameter=f}addToMap(){let A=this._parameter,f=this._earthCtrl.entities.add({name:A.name,wall:{positions:A.positions,minimumHeights:A.minimumHeights,maximumHeights:A.maximumHeights,material:A.material,outline:A.outline,outlineColor:A.outlineColor,outlineWidth:A.outlineWidth,shadows:A.shadows?1:0,distanceDisplayCondition:new po(0,A.maxDisplayDistance)}});this._primitive=f}removeFromMap(){this._primitive!==null&&this._earthCtrl.entities.remove(this._primitive)}toJSON(){return As.export(this)}};Object.defineProperties(Gae.prototype,{entity:{get:function(){return this._primitive},set:function(o){this._primitive=o}},positions:{get:function(){return this._primitive.Wall.positions},set:function(o){this._primitive.Wall.positions=o,this._parameter.positions=o}},material:{get:function(){return this._primitive.Wall.material},set:function(o){this._primitive.Wall.material=o,this._parameter.material=o}},outlineColor:{get:function(){return this._parameter.outlineColor},set:function(o){this._parameter.outlineColor=o,this._primitive.Wall.outlineColor=o}},outlineWidth:{get:function(){return this._primitive.Wall.outlineWidth},set:function(o){this._primitive.Wall.outlineWidth=o,this._parameter.outlineWidth=o}},shadows:{get:function(){return this._primitive.Wall.shadows},set:function(o){this._primitive.Wall.shadows=o,this._parameter.shadows=o}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o,this._parameter.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var nut=Gae;var Hae=class extends gu{constructor(A,f){super(A),this._parameter=f}addToMap(){let A=this._parameter,f=this._earthCtrl.entities.add({name:A.name,corridor:A});this._primitive=f}removeFromMap(){this._primitive!==null&&this._earthCtrl.entities.remove(this._primitive)}toJSON(){return As.export(this)}};Object.defineProperties(Hae.prototype,{entity:{get:function(){return this._primitive},set:function(o){this._primitive=o}},positions:{get:function(){return this._primitive.Corridor.positions},set:function(o){this._primitive.Corridor.positions=o,this._parameter.positions=o}},width:{get:function(){return this._primitive.Corridor.width},set:function(o){this._primitive.Corridor.width=o,this._parameter.width=o}},height:{get:function(){return this._primitive.Corridor.height},set:function(o){this._primitive.Corridor.height=o,this._parameter.height=o}},fill:{get:function(){return this._primitive.Corridor.fill},set:function(o){this._primitive.Corridor.fill=o,this._parameter.fill=o}},material:{get:function(){return this._primitive.Corridor.material},set:function(o){this._primitive.Corridor.material=o,this._parameter.material=o}},outline:{get:function(){return this._parameter.outline},set:function(o){this._parameter.outline=o,this._primitive.Corridor.outline=o}},outlineColor:{get:function(){return this._parameter.outlineColor},set:function(o){this._parameter.outlineColor=o,this._primitive.Corridor.outlineColor=o}},outlineWidth:{get:function(){return this._primitive.Corridor.outlineWidth},set:function(o){this._primitive.Corridor.outlineWidth=o,this._parameter.outlineWidth=o}},shadows:{get:function(){return this._primitive.Corridor.shadows},set:function(o){this._primitive.Corridor.shadows=o,this._parameter.shadows=o}},show:{get:function(){return this._primitive!==null?this._primitive.show:!1},set:function(o){this._primitive!==null&&(this._primitive.show=o,this._parameter.show=o)}},name:{get:function(){return this._parameter!==null?this._parameter.name:!1},set:function(o){this._parameter!==null&&(this._parameter.name=o)}}});var out=Hae;var Ck=null;function HR(o,A){Ck=A,this._viewer=o,this._core=new $i(o,A),this._tree=Ke}HR.prototype.createDivPoint=function(o,A,f={}){var m,C=f.id||"DivPoint"+this._core.getuid();Array.isArray(A)?A.length===2?m=Ck.Cartesian3.fromDegrees(A[0],A[1]):A.length===3&&(m=Ck.Cartesian3.fromDegrees(A[0],A[1],A[2])):A.x&&A.y?A instanceof Ck.Cartesian3?m=A:m=Ck.Cartesian3.fromDegrees(A.x,A.y,A.z):A.lon&&A.lat&&(m=Ck.Cartesian3.fromDegrees(A.lon,A.lat,A.height)),this.item={id:C,show:!0,name:o,type:"default",offset:"l",position:m},Object.assign(this.item,f),this._viewer.clock.onTick.addEventListener(this.updateDivPointEvent,this);var E={id:this.item.id,name:o,pId:f.GroupID||0,type:"DivPoint",item:this};return this.setTreeobj(E),this._tree.insertGroupId(E,E.pId),this};HR.prototype.updateDivPointEvent=function(){if(this.item){let o=this.item,A=document.getElementById(o.id),f=!1;if(o.show){let m=this._viewer.scene.mapProjection.ellipsoid,C=this._viewer.scene.camera.positionWC,E=new Ck.EllipsoidalOccluder(m,C);if(!E.isPointVisible(o.position))A&&(A.style.display="none");else if(o.near!==void 0||o.far!==void 0){let x=this._core.getPointToCameraDistance(this._viewer,o.position),y=o.near||0,I=o.far||1/0;x>=y&&x<=I?(A&&(A.style.display="block"),f=!0):A&&(A.style.display="none")}else A&&(A.style.display="block"),f=!0;E=void 0}else A&&(A.style.display="none");if(f){let m=this._viewer.scene.cartesianToCanvasCoordinates(o.position);if(!m)return;if(!o.name&&(o.name="SmartEarth"),!A){let x;if(o.type==="default")if(o.description){let y=o.description,I=this._core.isDOM(y);I&&(y="");let v="";Array.isArray(y)?y.forEach(B=>{v+='<div class="divpoint-data-li" style="padding: 4px 45px 4px 0;font-size: 14px;">'+B+"</div>"}):v='<div class="divpoint-data-li" style="padding: 4px 45px 4px 0;font-size: 14px;">'+y+"</div>",x=`<div id="${o.id}" style="${o.onclick?"cursor: pointer;":"pointer-events: none;"}position: absolute; left: 0px; top: 0px; transform: matrix(1, 0, 0, 1, 246.52, 299.197); transform-origin: left bottom 0px;"> <div class="divpoint"> <div class="divpoint-wrap" style="position: relative;padding: 30px;overflow: hidden;"> <div class="divpoint-area" style="background-image:linear-gradient(135deg,transparent 30px,#28bbf06c 30px,#28bbf06c 50%,transparent 50%),linear-gradient(-45deg,transparent 30px,#28bbf06c 30px,#28bbf06c 50.1%,transparent 50%);position: relative;min-width: 180px;"> <div class="divpoint-arrow-lt"></div> <div class="divpoint-b-t" style="background-color: #29baf1;box-shadow: 0 0 10px 2px #29baf1;position: absolute;top: 0;left: 44px;right: 0;height: 1px;z-index: 10;"></div> <div class="divpoint-b-r" style="background-color: #29baf1;box-shadow: 0 0 10px 2px #29baf1;position: absolute;top: 0;right: 0;bottom: 44px;width: 1px;z-index: 10;"></div> <div class="divpoint-b-b" style="background-color: #29baf1;box-shadow: 0 0 10px 2px #29baf1;position: absolute;left: 0;right: 44px;bottom: 0;height: 1px;z-index: 10;"></div> <div class="divpoint-b-l" style="background-color: #29baf1;box-shadow: 0 0 10px 2px #29baf1;position: absolute;top: 44px;left: 0;bottom: 0;width: 1px;z-index: 10;"></div> <div class="divpoint-arrow-rb"></div> <div class="divpoint-label-wrap" style="padding-left: 12px;color:#fff;font-size: 16px;white-space: nowrap;overflow: hidden;"> <div class="divpoint-title" style="background-image: linear-gradient(135deg,transparent 25px,#29baf1 25px); margin-top: 20px;padding: 0 12px 0 30px;height: 36px;line-height: 36px;position: relative;">${o.name}</div> <div class="divpoint-label-content" style="padding: 15px 0;margin-top: 3px;border-top: 2px solid #29baf1;"> ${v} </div> </div> </div> <div class="divpoint-b-t-l" style="background-color:#29baf1;box-shadow: 0 0 10px 2px #29baf1;position: absolute;top: 0;left: 0;width: 1px;height: 62px;transform: rotate(45deg) translate(52px,-22px);z-index: 10;"></div> <div class="divpoint-b-b-r" style="background-color: #29baf1;box-shadow: 0 0 10px 2px #29baf1;position: absolute;bottom: 0;right: 0;width: 1px;height: 62px;transform: rotate(45deg) translate(-52px,22px);z-index: 10;"></div> </div> <div class="divpoint-arrow" style="background-color: #28bbf0;position: absolute;bottom: 0;left: 0;width: 45px;height: 2px;transform: rotate(-45deg) translate(5px,-15px);"></div> </div> </div>`,$(this._viewer.container).append(x),A=document.getElementById(o.id),I&&A.querySelector(".divpoint-data-li").append(o.description),o.onclick&&(A.onclick=()=>{o.onclick(o)})}else x=`<div id="${o.id}" style="${o.onclick?"cursor: pointer;":"pointer-events: none;"}position: absolute; left: 0px; top: 0px; transform: matrix(1, 0, 0, 1, 246.52, 299.197); transform-origin: left bottom 0px;"> <div class="divpoint"> <div class="divpoint-wrap" style="position: relative;padding: 30px;overflow: hidden;"> <div class="divpoint-area" style="background-image:linear-gradient(135deg,transparent 30px,#28bbf06c 30px,#28bbf06c 50%,transparent 50%),linear-gradient(-45deg,transparent 30px,#28bbf06c 30px,#28bbf06c 50.1%,transparent 50%);position: relative;min-width: 180px;"> <div class="divpoint-arrow-lt"></div> <div class="divpoint-b-t" style="background-color: #29baf1;box-shadow: 0 0 10px 2px #29baf1;position: absolute;top: 0;left: 44px;right: 0;height: 1px;z-index: 10;"></div> <div class="divpoint-b-r" style="background-color: #29baf1;box-shadow: 0 0 10px 2px #29baf1;position: absolute;top: 0;right: 0;bottom: 44px;width: 1px;z-index: 10;"></div> <div class="divpoint-b-b" style="background-color: #29baf1;box-shadow: 0 0 10px 2px #29baf1;position: absolute;left: 0;right: 44px;bottom: 0;height: 1px;z-index: 10;"></div> <div class="divpoint-b-l" style="background-color: #29baf1;box-shadow: 0 0 10px 2px #29baf1;position: absolute;top: 44px;left: 0;bottom: 0;width: 1px;z-index: 10;"></div> <div class="divpoint-arrow-rb"></div> <div class="divpoint-label-wrap" style="padding-left: 12px;color:#fff;font-size: 16px;white-space: nowrap;overflow: hidden;"> <div class="divpoint-title" style="background-image: linear-gradient(135deg,transparent 25px,#28bbf0 25px,#28bbf0 50%,transparent 50%),linear-gradient(-45deg,transparent 32px,#28bbf0 32px,#28bbf0 50%,transparent 50%);margin-top: 10px;margin-bottom: 10px;padding: 0 12px 0 30px;height: 36px;line-height: 36px;position: relative;">${o.name}</div> </div> </div> <div class="divpoint-b-t-l" style="background-color:#29baf1;box-shadow: 0 0 10px 2px #29baf1;position: absolute;top: 0;left: 0;width: 1px;height: 62px;transform: rotate(45deg) translate(52px,-22px);z-index: 10;"></div> <div class="divpoint-b-b-r" style="background-color: #29baf1;box-shadow: 0 0 10px 2px #29baf1;position: absolute;bottom: 0;right: 0;width: 1px;height: 62px;transform: rotate(45deg) translate(-52px,22px);z-index: 10;"></div> </div> <div class="divpoint-arrow" style="background-color: #28bbf0;position: absolute;bottom: 0;left: 0;width: 45px;height: 2px;transform: rotate(-45deg) translate(5px,-15px);"></div> </div> </div>`,$(this._viewer.container).append(x),A=document.getElementById(o.id),o.onclick&&(A.onclick=()=>{o.onclick(o)});else{let y=o.description,I=this._core.isDOM(y);I&&(y=""),x=`<div id="${o.id}" style="${o.onclick?"cursor: pointer;":"pointer-events: none;"}position: absolute; left: 0px; top: 0px; transform: matrix(1, 0, 0, 1, 0, 0); transform-origin: left bottom 0px;"> <div class="divpoint"> ${y} </div> </div>`,$(this._viewer.container).append(x),A=document.getElementById(o.id),I&&A.querySelector(".divpoint").append(o.description),o.onclick&&(A.onclick=()=>{o.onclick(o)})}}let C=m.x,E=m.y-A.offsetHeight;o.offset==="c"?C-=A.offsetWidth/2:o.offset==="r"?C-=A.offsetWidth:Array.isArray(o.offset)&&(o.offset[0]==="c"?C-=A.offsetWidth/2:o.offset[0]==="r"?C-=A.offsetWidth:typeof o.offset[0]=="number"&&(C-=o.offset[0]),typeof o.offset[1]=="number"&&(E-=o.offset[1])),A.style.transform=`matrix(1, 0, 0, 1, ${C}, ${E})`}o.update&&o.update()}};HR.prototype.updateDivPoint=function(o,A={}){if(this.item){Object.assign(this.item,A),this.item.name=o;let f=document.getElementById(this.item.id);f&&f.remove()}};HR.prototype.deleteObject=function(){this._viewer.clock.onTick.removeEventListener(this.updateDivPointEvent,this);let o=document.getElementById(this.item.id);o&&o.remove()};HR.prototype.setVisibility=function(o){this.item&&(this.item.show=o)};HR.prototype.getVisibility=function(){return this.item&&this.item.show};HR.prototype.setTreeobj=function(o){this.treeobj=o};var lH=HR;function Og(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._tree=Ke}Og.prototype.createCircleScan=function(o,A=1500,f="#ff0000",m=4e3,C=!0){var E=new this._cesium.Cartesian3.fromDegrees(o.lon,o.lat,o.height);this._position=o;var x=this._cesium.Color.fromCssColorString(f);this.item=this.AddCircleScanPostStage(E,A,x,m,C);var y={id:this._core.getuid(),name:"\u65B0\u5EFA\u6269\u6563\u5706\u626B\u63CF",pId:0,type:"scan",item:this};return this.setTreeobj(y),this._tree.insertGroupId(y,0),this};Og.prototype.createMultiCircleScan=function(o,A=1500,f="#ff0000",m=4e3,C=!0){var E=new this._cesium.Cartesian3.fromDegrees(o.lon,o.lat,o.height);this._position=o;var x,x=this._cesium.Color.fromCssColorString(f);this.item=this.AddCircleScanMultiPostStage(E,A,x,m,C);var y={id:this._core.getuid(),name:"\u65B0\u5EFA\u6269\u6563\u5706\u626B\u63CF",pId:0,type:"scan",item:this};return this.setTreeobj(y),this._tree.insertGroupId(y,0),this};Og.prototype.createRadarScan=function(o,A=1500,f="#ff0000",m=4e3,C=!0){var E=new this._cesium.Cartesian3.fromDegrees(o.lon,o.lat,o.height);this._position=o;var x=this._cesium.Color.fromCssColorString(f);this.item=this.AddRadarScanPostStage(E,A,x,m,C);var y={id:this._core.getuid(),name:"\u65B0\u5EFA\u96F7\u8FBE\u626B\u63CF",pId:0,type:"scan",item:this};return this.setTreeobj(y),this._tree.insertGroupId(y,0),this};Og.prototype.createSectorScan=function(o,A=1500,f="#ff0000",m=90,C=0,E=4e3,x=!0){var y=this._cesium,I=new y.Cartesian3.fromDegrees(o.lon,o.lat,o.height);this._position=o;var v=y.Color.fromCssColorString(f);this.item=this.AddSectorScanPostStage(I,A,v,m,C,E,x);var B={id:this._core.getuid(),name:"\u65B0\u5EFA\u6247\u5F62\u6269\u6563\u626B\u63CF",pId:0,type:"scan",item:this};return this.setTreeobj(B),this._tree.insertGroupId(B,0),this};Og.prototype.AddSectorScanPostStage=function(o,A,f,m,C,E,x){var y=this._viewer,I=this._cesium,v=this._core.defaultValue(this._position.height,0),B={};if(!I.EllipsoidFadeMaterialProperty){let Q=function(T,w,S){this._definitionChanged=new I.Event,this._color=void 0,this._colorSubscription=void 0,this.color=T,this.duration=S,this._angle=w,this._time=new Date().getTime()};Object.defineProperties(Q.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}},color:I.createPropertyDescriptor("color"),angle:I.createPropertyDescriptor("angle")}),Q.prototype.getType=function(T){return"EllipsoidFade"},Q.prototype.getValue=function(T,w){return I.defined(w)||(w={}),w.color=I.Property.getValueOrClonedDefault(this._color,T,I.Color.WHITE,w.color),w.angle=this._angle,w},Q.prototype.equals=function(T){return this===T||T instanceof Q&&Property.equals(this._color,T._color)},I.EllipsoidFadeMaterialProperty=Q,I.Material.EllipsoidFadeType="EllipsoidFade",I.Material.EllipsoidFadeSource=`float getAngle(in vec2 dv) { if(dv.y == 0.0 && dv.x > 0.0) { return 90.0; } if(dv.y == 0.0 && dv.x < 0.0) { return 270.0; } float rAngle = atan(dv.x/dv.y) * 180.0 / 3.1415926; if(dv.x > 0.0) { if(dv.y < 0.0) { rAngle = 180.0 + rAngle; } } if(dv.x <= 0.0) { if(dv.y < 0.0) { rAngle = 180.0 + rAngle; } if(dv.y > 0.0) { rAngle = 360.0 + rAngle; } } return rAngle; } float ripple(float dist, float rippleIntensity, float rippleScale) { return rippleScale * ((sin(dist * rippleIntensity - czm_frameNumber/10.0)-0.9) / (dist * rippleIntensity)); } czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); material.diffuse = 1.5 * color.rgb; vec2 st = materialInput.st; float dis = distance(st, vec2(0.5, 0.5)); float nowAngle = getAngle(st.xy-vec2(0.5, 0.5)); if(nowAngle < angle) { material.alpha = 1.0 - dis/0.5; float intensity =step(0.001,ripple(dis, 100.0, 15.0)); if(intensity == 1.0) { material.alpha = material.alpha/2.0; } } else{ material.alpha = 0.0; discard; } return material; }`,I.Material._materialCache.addMaterial(I.Material.EllipsoidFadeType,{fabric:{type:I.Material.EllipsoidFadeType,uniforms:{color:new I.Color(1,0,0,1),angle:90},source:I.Material.EllipsoidFadeSource},translucent:function(T){return!0}})}return B={name:"EllipsoidFade",position:o,ellipse:{height:x?void 0:v,semiMinorAxis:A,semiMajorAxis:A,stRotation:C*Math.PI/180,material:new I.EllipsoidFadeMaterialProperty(f,m,E)}},y.entities.add(B)};Og.prototype.AddCircleScanPostStage=function(o,A,f,m,C){var E=this._viewer,x=this._cesium,y=this._core.defaultValue(this._position.height,0);if(!x.CircleScanMaterialProperty){let v=function(B,Q){this._definitionChanged=new x.Event,this._color=void 0,this._colorSubscription=void 0,this.color=B,this.duration=Q,this._time=new Date().getTime()};Object.defineProperties(v.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}},color:x.createPropertyDescriptor("color")}),v.prototype.getType=function(B){return"CircleScan"},v.prototype.getValue=function(B,Q){return x.defined(Q)||(Q={}),Q.color=x.Property.getValueOrClonedDefault(this._color,B,x.Color.WHITE,Q.color),Q.time=(new Date().getTime()-this._time)%this.duration/this.duration,Q},v.prototype.equals=function(B){return this===B||B instanceof v&&x.Property.equals(this._color,B._color)},x.CircleScanMaterialProperty=v,x.Material.CircleScanType="CircleScan",x.Material.CircleScanSource=`czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); material.diffuse = color.rgb; vec2 st = materialInput.st; float dis = distance(st, vec2(0.5, 0.5)); if(dis<time){ float f = dis / time; material.alpha = pow(f, 4.0); }else{ material.alpha = 0.0; } return material; }`,x.Material._materialCache.addMaterial(x.Material.CircleScanType,{fabric:{type:x.Material.CircleScanType,uniforms:{color:new x.Color(1,0,0,1),time:0},source:x.Material.CircleScanSource},translucent:function(B){return!0}})}var I={name:"CircleScan",position:o,ellipse:{height:C?void 0:y,semiMinorAxis:A,semiMajorAxis:A,material:new x.CircleScanMaterialProperty(f,m)}};return E.entities.add(I)};Og.prototype.AddCircleScanMultiPostStage=function(o,A,f,m,C){var E=this._viewer,x=this._cesium,y=this._core.defaultValue(this._position.height,0);if(!x.CircleScanMultiMaterialProperty){let v=function(B,Q){this._definitionChanged=new x.Event,this._color=void 0,this._colorSubscription=void 0,this.color=B,this.u_radius1=0,this.u_radius2=0,this.u_radius3=0,this.duration=Q,this._time=new Date().getTime()};Object.defineProperties(v.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}},color:x.createPropertyDescriptor("color")}),v.prototype.getType=function(B){return"CircleScanMulti"},v.prototype.getValue=function(B,Q){return x.defined(Q)||(Q={}),Q.color=x.Property.getValueOrClonedDefault(this._color,B,x.Color.WHITE,Q.color),Q.time=(new Date().getTime()-this._time)%this.duration/this.duration,Q.time<1/3&&this.u_radius2===0&&this.u_radius1===0?this.u_radius3=Q.time:Q.time>=1/3&&Q.time<2/3&&this.u_radius1===0?(this.u_radius3=Q.time,this.u_radius2=this.u_radius3-1/3):Q.time>=2/3?(this.u_radius3=Q.time,this.u_radius2=this.u_radius3-1/3,this.u_radius1=this.u_radius3-2/3):Q.time<1/3&&this.u_radius2!==0&&this.u_radius1!==0?(this.u_radius1=Q.time,this.u_radius2=Q.time+1/3,this.u_radius3=Q.time+2/3):Q.time>=1/3&&Q.time<2/3&&this.u_radius1!==0&&(this.u_radius1=Q.time-1/3,this.u_radius2=Q.time,this.u_radius3=Q.time+1/3),Q.u_radius1=this.u_radius1,Q.u_radius2=this.u_radius2,Q.u_radius3=this.u_radius3,Q},v.prototype.equals=function(B){return this===B||B instanceof v&&x.Property.equals(this._color,B._color)},x.CircleScanMultiMaterialProperty=v,x.Material.CircleScanMultiType="CircleScanMulti",x.Material.CircleScanMultiSource=`czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); material.diffuse = color.rgb; vec2 st = materialInput.st; float dis = distance(st, vec2(0.5, 0.5)); dis = dis * 2.0; if(dis < u_radius1) { float f = dis / u_radius1; material.alpha = pow(f, 9.0); }else if(dis < u_radius2){ float f = dis / u_radius2; material.alpha = pow(f, 9.0); }else if(dis < u_radius3){ float f = dis / u_radius3; material.alpha = pow(f, 9.0); }else{ material.alpha = 0.0; } return material; }`,x.Material._materialCache.addMaterial(x.Material.CircleScanMultiType,{fabric:{type:x.Material.CircleScanMultiType,uniforms:{color:new x.Color(1,0,0,1),time:0,u_radius1:0,u_radius2:0,u_radius3:0},source:x.Material.CircleScanMultiSource},translucent:function(B){return!0}})}var I={name:"CircleScanMulti",position:o,ellipse:{height:C?void 0:y,semiMinorAxis:A,semiMajorAxis:A,material:new x.CircleScanMultiMaterialProperty(f,m)}};return E.entities.add(I)};Og.prototype.AddRadarScanPostStage=function(o,A,f,m,C){var E=this._viewer,x=this._cesium,y=this._core.defaultValue(this._position.height,0);if(!x.RadarScanMaterialProperty){let v=function(B,Q){this._definitionChanged=new x.Event,this._color=void 0,this._angle=60,this.range=360,this._colorSubscription=void 0,this.color=B,this.duration=Q,this.isReturn=!1,this.isGradient=!0,this._time=new Date().getTime()};Object.defineProperties(v.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}},color:x.createPropertyDescriptor("color")}),v.prototype.getType=function(B){return"RadarScan"},v.prototype.getValue=function(B,Q){return x.defined(Q)||(Q={}),Q.color=x.Property.getValueOrClonedDefault(this._color,B,x.Color.WHITE,Q.color),Q.time=(new Date().getTime()-this._time)%this.duration/this.duration,Q._angle=this._angle,Q.range=this.range,Q.gradient=this.isGradient,this.isReturn?(this.old===void 0&&(this.old=Q.time),this.old>.5&&Q.time<.5&&(Q.inverse=!Q.inverse),this.old=Q.time,Q.gradient?Q.inverse?(Q.angle2=this.range*(1-Q.time),Q._angle=this.range-Q.angle2,Q._angle>this._angle&&(Q._angle=this._angle),Q.angle1=Q.angle2-Q._angle,Q.angle1<0&&(Q._angle=Q.angle2,Q.angle1=0)):(Q.angle1=this.range*Q.time,Q._angle=Q.angle1,Q._angle>this._angle&&(Q._angle=this._angle),Q.angle2=Q.angle1+Q._angle,Q.angle2>this.range&&(Q.angle2=this.range)):(Q.range=this.range-this._angle,Q.angle1=Q.range*(Q.inverse?1-Q.time:Q.time),Q.angle2=Q.angle1+this._angle)):(Q.inverse=!1,Q.angle1=this.range*Q.time,Q.angle2=Q.angle1+this._angle,Q.angle2>this.range&&(Q.angle2=Q.angle2-this.range)),Q},v.prototype.equals=function(B){return this===B||B instanceof v&&x.Property.equals(this._color,B._color)},x.RadarScanMaterialProperty=v,x.Material.RadarScanType="RadarScan",x.Material.RadarScanSource=`float getAngle(in vec2 dv) { if(dv.y == 0.0 && dv.x > 0.0) { return 90.0; } if(dv.y == 0.0 && dv.x < 0.0) { return 270.0; } float rAngle = atan(dv.x/dv.y) * 180.0 / 3.1415926; if(dv.x > 0.0) { if(dv.y < 0.0) { rAngle = 180.0 + rAngle; } } if(dv.x <= 0.0) { if(dv.y < 0.0) { rAngle = 180.0 + rAngle; } if(dv.y > 0.0) { rAngle = 360.0 + rAngle; } } return rAngle; } float ripple(float dist, float rippleIntensity, float rippleScale) { return rippleScale * ((sin(dist * rippleIntensity - czm_frameNumber/10.0)-0.9) / (dist * rippleIntensity)); } czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); material.diffuse = color.rgb; vec2 st = materialInput.st; float dis = distance(st, vec2(0.5, 0.5)); float f = 0.0; float nowAngle = getAngle(st.xy-vec2(0.5, 0.5)); if(nowAngle < angle2 && nowAngle > angle1) { if(gradient){ f = (nowAngle - angle1) / _angle; material.alpha = f; if(inverse){ material.alpha = 1.0 - material.alpha; } }else{ material.alpha = 1.0; } }else if(nowAngle < range && nowAngle > angle1 && angle2 < _angle){ if(gradient){ f = (nowAngle - angle1) / _angle; material.alpha = f; if(inverse){ material.alpha = 1.0 - material.alpha; } }else{ material.alpha = 1.0; } }else if(nowAngle < angle2 && nowAngle > 0.0 && angle2 < _angle){ if(gradient){ f = (nowAngle + range - angle1) / _angle; material.alpha = f; if(inverse){ material.alpha = 1.0 - material.alpha; } }else{ material.alpha = 1.0; } }else{ material.alpha = 0.0; discard; } return material; }`,x.Material._materialCache.addMaterial(x.Material.RadarScanType,{fabric:{type:x.Material.RadarScanType,uniforms:{color:new x.Color(1,0,0,1),time:0,angle2:0,angle1:0,_angle:60,range:360,inverse:!1,gradient:!0},source:x.Material.RadarScanSource},translucent:function(B){return!0}})}var I={name:"RadarScan",position:o,ellipse:{height:C?void 0:y,semiMinorAxis:A,semiMajorAxis:A,material:new x.RadarScanMaterialProperty(f,m)}};return E.entities.add(I)};Og.prototype.setRadius=function(o){this.item&&(this.item.ellipse.semiMinorAxis=parseFloat(o),this.item.ellipse.semiMajorAxis=parseFloat(o))};Og.prototype.setTime=function(o){this.item&&(this.item.ellipse.material.duration=parseFloat(o))};Og.prototype.setRadarAngle=function(o){if(this.item&&this.item.ellipse.material.getType()==="RadarScan"){let A=this.item.ellipse.material.range;this.item.ellipse.material._angle=o>A?A:parseFloat(o)}};Og.prototype.setRadarRange=function(o){this.item&&this.item.ellipse.material.getType()==="RadarScan"&&(this.item.ellipse.material.range=o>360?360:parseFloat(o))};Og.prototype.setRadarIsReturn=function(o){this.item&&this.item.ellipse.material.getType()==="RadarScan"&&(this.item.ellipse.material.isReturn=o)};Og.prototype.setRadarIsGradient=function(o){this.item&&this.item.ellipse.material.getType()==="RadarScan"&&(this.item.ellipse.material.isGradient=o)};Og.prototype.setPosition=function(o){this.item&&(this.item.position=new Cesium.Cartesian3.fromDegrees(o.lon,o.lat))};Og.prototype.remove=function(){this._viewer.entities.remove(this.item)};Og.prototype.setTreeobj=function(o){this.treeobj=o};Og.prototype.deleteObject=function(){this.item&&this._viewer.entities.remove(this.item)};Og.prototype.setVisibility=function(o){this.item&&(this.item.show=o)};var HT=Og;function VT(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._tree=Ke}VT.prototype.createPopupMessage=function(o){var A=document.createElement("div");A.className="kz",A.id="kzmb",A.style.position="absolute",A.style.width="200px",A.style.height="500px",A.style.padding="15px",A.style.background="rgba(0, 0, 0, 0.5)",A.style.color="#fff",A.style.top="0px",A.style.right="0px",A.style.border="solid 2px #358ABA",document.body.appendChild(A);var f=document.createElement("div");A.id="bt",f.style.overflow="hidden",f.style.height="45px",f.style.height="100%",f.className="layui-form-item",f.style.borderBottom="solid 2px #358ABA";var m=document.createElement("span");m.textContent=o,f.appendChild(m),A.appendChild(f),this.getElement("bt","kzmb")};VT.prototype.createPlotting=function(o,A){var f=document.createElement("main");f.id="kzmb",f.style.position="absolute",f.style.cursor="auto",f.style.left="0px",f.style.top="0px;",f.className="mainView",document.body.appendChild(f);var m=document.createElement("button");m.id="closeScene",m.setAttribute("aria-label","Close"),m.innerHTML="<span aria-hidden='true'>\xD7</span>",m.onclick=closeScene,m.className="myModal-close",f.appendChild(m);var C=document.createElement("input");C.id="objectTab1",C.type="radio",C.setAttribute("checked",""),C.name="objectTab";var E=document.createElement("label");E.setAttribute("for","objectTab1"),E.id="objectLabel1",E.className="function-module-caption",E.innerHTML="\u4E8C\u7EF4",f.appendChild(C),f.appendChild(E);var x=document.createElement("input");x.id="objectTab2",x.type="radio",x.name="objectTab";var y=document.createElement("label");y.setAttribute("for","objectTab2"),y.id="objectLabel2",y.className="function-module-caption",y.innerHTML="\u4E09\u7EF4",f.appendChild(x),f.appendChild(y);var I=document.createElement("section");I.id="objectContent1",f.appendChild(I);var v=[{title:"\u70B9",src:"../../static/image/point/points.png",onclick:"labelDraw()"},{title:"\u7EBF",src:"../../static/image/point/polyline.png",onclick:"polylineDraw()"},{title:"\u591A\u8FB9\u5F62",src:"../../static/image/point/polygon_clampToGround.png",onclick:"polygonDraw()"},{title:"\u77E9\u5F62",src:"../../static/image/point/rectangle.png",onclick:"rectangleDraw()"},{title:"\u5706",src:"../../static/image/point/Cricle.png",onclick:"circleDraw()"}];this.getBh(I,v);var B=document.createElement("section");B.id="objectContent2",f.appendChild(B);var Q=[{title:"\u7ACB\u65B9\u4F53",src:"../../static/image/point/extrudedRectangle.png",onclick:"boxDraw()"},{title:"\u5706\u67F1\u4F53",src:"../../static/image/point/extrudedCircle.png",onclick:"cylinderDraw()"},{title:"\u5706\u9525\u4F53",src:"../../static/image/point/Cone.png",onclick:"coneDraw()"},{title:"\u7403\u4F53",src:"../../static/image/point/ellipsoid.png",onclick:"circleDraw()"},{title:"\u591A\u8FB9\u4F53",src:"../../static/image/point/Multilateral.png",onclick:"multilateralDraw()"}];this.getBh(B,Q),this.getElement("kzmb","kzmb")};VT.prototype.getBh=function(o,A){var f="";f="<div class='function-module-content' style(height:'500px')><div class='function-module-sub-section'> <label class='function-module-sub-section-caption'>\u7B26\u53F7\u5E93</label><div id='icons' class='mark-list'>";for(var m=0;m<A.length;m++)f=f+"<div class='mark-list-item'><img title="+A[m].title+" src="+A[m].src+" id="+A[m].title+" onclick="+A[m].onclick+"></div>";f=f+"</div></div></div>",o.innerHTML=f};VT.prototype.createMeasurement=function(o,A){var f="craateTree",m=document.createElement("div");m.className="kz",m.id="kzmb",m.style.position="absolute",m.style.width="330px",m.style.height="500px",m.style.padding="15px",m.style.background="rgba(0, 0, 0, 0.5)",m.style.color="#fff",m.style.top="0px",m.style.right="0px",m.style.border="solid 2px #358ABA",document.body.appendChild(m);var C=document.createElement("div");C.id="bt",C.style.height="100%",C.style.overflow="hidden",C.style.height="25px",C.className="layui-form-item",C.style.borderBottom="solid 2px #358ABA";var E=document.createElement("span");E.textContent=o,C.appendChild(E),m.appendChild(C);var x=document.createElement("div");x.className="layui-tab-content",m.appendChild(x);var y=document.createElement("div");y.className="layui-tab-item layui-show",x.appendChild(y);var I=document.createElement("div");I.className="kind",y.appendChild(I);var v=document.createElement("ul");I.appendChild(v);var B=[{img:"../../img/bh/labels.png",text:"\u5782\u76F4\u9AD8\u5EA6",onclick:MeasurementVd},{img:"../../img/bh/labels.png",text:"\u6D77\u62D4\u9AD8\u5EA6",onclick:MeasurementAltitude},{img:"../../img/bh/labels.png",text:"\u7A7A\u95F4\u8DDD\u79BB",onclick:MeasurementSpaceD},{img:"../../img/bh/labels.png",text:"\u6C34\u5E73\u8DDD\u79BB",onclick:MeasurementHD},{img:"../../img/bh/labels.png",text:"\u4E09\u7EF4\u9762\u79EF",onclick:MeasurementThreeDSurfaceArea},{img:"../../img/bh/labels.png",text:"\u5E73\u9762\u9762\u79EF",onclick:MeasurementPlaneArea},{img:"../../img/bh/labels.png",text:"\u89D2\u5EA6\u6D4B\u91CF",onclick:MeasurementAngle}];this.getLi(v,B),typeof A=="function"&&A(),this.getElement("bt","kzmb")};VT.prototype.getLi=function(o,A){for(var f="",m=0;m<A.length;m++){var C=document.createElement("li");C.innerHTML=`<img src="${A[m].img}" /><p>${A[m].text}</p>`,C.onclick=A[m].onclick,o.appendChild(C)}};VT.prototype.getElement=function(o,A){var f=0,m=0,C=document.getElementById(o);C.style.cursor="move";var E=document.getElementById(A),x=!1;C.onmousedown=function(I){var I=I||window.event;f=I.clientX-E.offsetLeft,m=I.clientY-E.offsetTop,x=!0},document.onmousemove=function(y){if(x){var y=y||window.event,I=y.clientX-f,v=y.clientY-m,B=document.documentElement.clientWidth-E.offsetWidth,Q=document.documentElement.clientHeight-E.offsetHeight;I<0?I=0:I>B&&(I=B),v<0?v=0:v>Q&&(v=Q),E.style.left=I+"px",E.style.top=v+"px"}else return},document.onmouseup=function(){x=!1}};VT.prototype.createPopupProp=function(o,A){layuiLayer.close(SmartEarthPopupData.layerProp);var f=A.width,m=A.height,C=A.fn||{};SmartEarthPopupData.propType=A.type;var E=null,x=null,y=null;for(var I in C)E=I=="cancel"?C[I]:E,x=I=="success"?C[I]:x,y=I=="end"?C[I]:y;SmartEarthPopupData.layerProp=layuiLayer.open({title:o,type:2,skin:"other-class",shade:A.shade||0,shadeClose:!0,offset:A.offset||"r",resize:!1,area:[typeof f=="number"?f+"px":f,typeof m=="number"?m+"px":m],content:SmartEarthRootUrl+A.url,success:function(v,B){x&&typeof x=="function"&&x(v,B)},cancel:function(){E&&typeof E=="function"&&E()},end:function(){y&&typeof y=="function"&&y()}})};VT.prototype.createModelLibrary=function(o){layuiLayer.close(SmartEarthPopupData.ModelLibraryLayer),!o&&(o={});var A=o.width||342,f=o.height||"90%",m=o.offset||"r",C=o.fn||{},E=null,x=null,y=null;for(var I in C)E=I=="cancel"?C[I]:E,x=I=="success"?C[I]:x,y=I=="end"?C[I]:y;SmartEarthPopupData.ModelLibraryLayer=layuiLayer.open({title:"\u6A21\u578B\u5E93",type:2,skin:"other-class",shade:0,shadeClose:!0,offset:m,resize:!1,area:[A+"px",typeof f=="number"?f+"px":f],content:SmartEarthRootUrl+"Workers/Model/ModelLibrary.html",success:function(v,B){x&&typeof x=="function"&&x(v,B)},cancel:function(){E&&typeof E=="function"&&E()},end:function(){y&&typeof y=="function"&&y()}})};var kI=VT;function zT(o,A){this._viewer=o,this._cesium=A,this._tree=Ke.getSource(),this._core=new $i(o,A)}zT.prototype.createGroup=function(o,A,f){if(f!=0){if(f==null||f==null||f==""){f=this._core.isnull(Ke.selectedItem)?0:Ke.selectedItem.id;var m=Ke.getSourceByName(this._tree,o);if(m)return m.id}}var C=Ke.getSourceById(this._tree,f);if(C){var m=Ke.getSourceByName(C.children,o);if(m)return m.id;var E={id:this._core.getuid(),name:o,pId:f,checked:A,type:"group",item:this};return this.item=E,Ke.insertGroupId(E,f)}else{var E={id:this._core.getuid(),name:o,pId:f,type:"group",checked:A,item:this};return this.item=E,Ke.insertGroupId(E,f)}};zT.prototype.getVisibility=function(){return this.item.checked};zT.prototype.changeGroup=function(o,A){Ke.changeGroup(o,A)};zT.prototype.starttemporaryItem=function(){return Ke.starttemporaryItem(this._viewer)};zT.prototype.pushtemporaryItem=function(o){Ke.temporaryItem.obj.push(o)};zT.prototype.pushStateItem=function(o){Ke.temporaryItem.operation=o};zT.prototype.endtemporaryItem=function(){Ke.endtemporaryItem()};zT.prototype.export=function(){return{type:"group",style:{name:this.item.name,pId:this.item.pId,id:this.item.id}}};var Ek=zT;var dLi=function(){function o(A,f){var m=[],C=!0,E=!1,x=void 0;try{for(var y=A[Symbol.iterator](),I;!(C=(I=y.next()).done)&&(m.push(I.value),!(f&&m.length===f));C=!0);}catch(v){E=!0,x=v}finally{try{!C&&y.return&&y.return()}finally{if(E)throw x}}return m}return function(A,f){if(Array.isArray(A))return A;if(Symbol.iterator in Object(A))return o(A,f);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),fLi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o};function Vae(o){if(Array.isArray(o)){for(var A=0,f=Array(o.length);A<o.length;A++)f[A]=o[A];return f}else return Array.from(o)}function md(o,A,f){this._viewer=o,this._cesium=A,this._Cesium=f.Cesium,this._url=f.url,this._urlParams=f.urlParams,this._urlTemplate=this._url+"?"+this._serialize(this._urlParams),this._rectangle=f.rectangle,this._maximumLevel=f.maximumLevel||19,this._minimumLevel=f.minimumLevel||1,this._tilingScheme=f.tilingScheme||new this._Cesium.GeographicTilingScheme,this._tileRangeByLevel={},this._moveEndTimestamp=null,this._isRemoved=!1,this._isCameraMoving=!1,this._propertyToBeFiltered=null,this._valuesToBeFiltered=null,this._primitiveByTile={},this._tileKeys=[],this._lowerLevelLimit=f.lowerLevelLimit||1,this._upperLevelLimit=f.upperLevelLimit||null,this._cameraMoveEndHandler=this._cameraMoveEndHandler.bind(this),this._cameraMoveStartHandler=this._cameraMoveStartHandler.bind(this),this.heightById={};for(var m=this._radianToDegree(this._rectangle.west),C=this._radianToDegree(this._rectangle.south),E=this._radianToDegree(this._rectangle.east),x=this._radianToDegree(this._rectangle.north),y=this._minimumLevel;y<=this._maximumLevel;y++){var I=this._lonLatToTileInWGS84([m,C],y),v=this._lonLatToTileInWGS84([E,x],y),B=Math.min(I[0],v[0]),Q=Math.max(I[0],v[0]),T=Math.min(I[1],v[1]),w=Math.max(I[1],v[1]);this._tileRangeByLevel[y]={minCol:T,maxCol:w,minRow:B,maxRow:Q}}this._tileRangeByLevel[0]={minCol:0,maxCol:0,minRow:0,maxRow:0},this._primitiveCollection=new this._Cesium.PrimitiveCollection,this._stop=!1,this._core=new $i(o,A),this.tooltip=this._core.CreateTooltip(),this._getPosition=new kl(this._viewer,this._cesium)}md.prototype._serialize=function(o){var A=[],f=window.encodeURIComponent;for(var m in o){var C=o[m];(typeof C>"u"?"undefined":fLi(C))==="object"?A.push(f(m)+"="+f(JSON.stringify(C))):A.push(f(m)+"="+f(o[m]))}return A.join("&")};md.prototype._fetch=function(o){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},f=new Promise(function(m,C){var E=new XMLHttpRequest;if(E.open(A.method||"GET",o),A.headers)for(var x in A.headers)E.setRequestHeader(x,A.headers[x]);E.onload=function(){if(E.readyState===4&&E.status===200)try{var y=JSON.parse(E.responseText);m(y)}catch{C(new Error("INVALID RESPONSE"))}},E.onerror=function(y){C(y)},E.onloadend=function(y){y.target.status!==200&&C(new Error("["+y.target.status+"]request failed: "+o))},E.send(A.body||null)});return f};md.prototype._lonLatToTileInWGS84=function(o,A){var f=dLi(o,2),m=f[0],C=f[1],E=Math.floor(Math.pow(2,A)*(90-C)/180),x=Math.floor(Math.pow(2,A)*(180+m)/180);return[E,x]};md.prototype._radianToDegree=function(o){return o/Math.PI*180};md.prototype._isTileInRange=function(o){try{var A=this._tileRangeByLevel[o.level],f=A.minCol,m=A.maxCol,C=A.minRow,E=A.maxRow;return o.x>=f&&o.x<=m&&o.y>=C&&o.y<=E}catch{return!1}};md.prototype._cameraMoveStartHandler=function(){this._isCameraMoving=!0};md.prototype._loadTile=function(o){var A=[],f=new this._Cesium.ColorGeometryInstanceAttribute(.75,.75,.75,1),m=this;o.features.forEach(function(E){if(m._propertyToBeFiltered&&Array.isArray(m._valuesToBeFiltered)){var x=E.properties[m._propertyToBeFiltered];if(m._valuesToBeFiltered.includes(x))return}var y=E.geometry.type;if(y==="Polygon"||y==="MultiPolygon"){var I=[];m.heightById[E.properties.house_id]=E.properties.height,E.geometry.coordinates.forEach(function(v,B){I.push([]),v.forEach(function(R){if(R.length>2)R.forEach(function(M){if(M.length>=2){var L;(L=I[B]).push.apply(L,Vae(M))}});else{var P;(P=I[B]).push.apply(P,Vae(R))}});var Q=new m._Cesium.PolygonHierarchy(m._Cesium.Cartesian3.fromDegreesArray(I[B])),T=m._Cesium.BoundingSphere.fromPoints(Q.positions).center,w=m._viewer.scene.globe.getHeight(m._Cesium.Cartographic.fromCartesian(T))||0,S=new m._Cesium.PolygonGeometry({polygonHierarchy:Q,height:w,vertexFormat:m._Cesium.PerInstanceColorAppearance.VERTEX_FORMAT,extrudedHeight:1e3}),D=new m._Cesium.GeometryInstance({geometry:S,attributes:{color:f}});A.push(D)})}else console.warn('GeoJSONVectorTileProvider: geometry type "'+E.geometry.type+'" detected, but is not going to be rendered')});var C=new this._Cesium.Primitive({allowPicking:!1,appearance:new this._Cesium.PerInstanceColorAppearance({translucent:!1}),geometryInstances:A});return C};md.prototype._cameraMoveEndHandler=function(){if(!this._stop){var o=this,A=Date.now(),f=this._viewer.scene.globe._surface._tilesToRender,m=f.map(function(v){return v.level}),C=Math.min.apply(Math,Vae(m)),E=Math.max.apply(Math,Vae(m));if(E<this._lowerLevelLimit){o._tileKeys=[],o._removeObsoletePrimitives(o._primitiveByTile,[]),f=[];return}if(this._upperLevelLimit&&C>this._upperLevelLimit){o._tileKeys=[],o._removeObsoletePrimitives(o._primitiveByTile,[]),f=[];return}E-C>2&&(f=f.filter(function(v){return v.level>=E-2})),f.sort(function(v,B){return-(v.level-B.level)}),f=f.filter(function(v){return o._isTileInRange(v)}),this._upperLevelLimit&&(f=this._refineTiles(f,this._upperLevelLimit)),this._isCameraMoving=!1,this._moveEndTimestamp=A;var x=[],y=0,I=0;f.forEach(function(v){var B="z"+v.level+"x"+v.x+"y"+v.y;if(x.push(B),o._tileKeys.push(B),!o._primitiveByTile[B]){var Q=o._urlTemplate.replace(window.encodeURIComponent("{x}"),v.x).replace(window.encodeURIComponent("{y}"),v.y).replace(window.encodeURIComponent("{z}"),v.level);y++,o._fetch(Q).then(function(T){if(o._isRemoved)throw new Error("DISCARD");if(o._isCameraMoving)throw new Error("DISCARD");if(A!==o._moveEndTimestamp)throw new Error("DISCARD");var w=o._loadTile(T,v);o._primitiveCollection.add(w),o._primitiveByTile[B]=w,I++,I>=y&&(o._tileKeys=x,o._removeObsoletePrimitives(o._primitiveByTile,x))}).catch(function(T){I++,I>=y&&(o._tileKeys=x,o._removeObsoletePrimitives(o._primitiveByTile,x)),T.message})}})}};md.prototype._refineTiles=function(o,A){var f=[],m=[];return o.forEach(function(C){var E="Z"+C.level+"X"+C.x+"Y"+C.y;if(C.level<A-1)m.includes(E)||(f.push(C),m.push(E));else if(C.level===A-1)for(var x=0;x<2;x++)for(var y=0;y<2;y++){var I="Z"+(C.level+1)+"X"+(C.x*2+x)+"Y"+(C.y*2+y);m.includes(I)||(f.push({x:C.x*2+x,y:C.y*2+y,level:C.level+1}),m.push(I))}else{var v=C.level-A;if(v===0)m.includes(E)||(f.push(C),m.push(E));else{var B=v*2,Q=Math.floor(C.x/B),T=Math.floor(C.y/B),w="Z"+A+"X"+Q+"Y"+T;m.includes(w)||(f.push({x:Q,y:T,level:A}),m.push(w))}}}),f};md.prototype._removeObsoletePrimitives=function(o,A){var f=[];A.length>0&&(f=A);for(var m in o)if(!f.includes(m)){var C=this._primitiveCollection.remove(o[m]);C&&delete o[m]}};md.prototype.addTo=function(o){this._viewer=o,this._viewer.scene.primitives.add(this._primitiveCollection,this.availability),this._isRemoved=!1,this._viewer.camera.moveEnd.addEventListener(this._cameraMoveEndHandler),this._viewer.camera.moveStart.addEventListener(this._cameraMoveStartHandler),this._cameraMoveEndHandler()};md.prototype.remove=function(){if(this._viewer){for(var o in this._primitiveByTile)this._viewer.scene.primitives.remove(this._primitiveByTile[o]);this._primitiveByTile={},this._viewer.camera.moveEnd.removeEventListener(this._cameraMoveEndHandler),this._viewer.camera.moveStart.removeEventListener(this._cameraMoveStartHandler),this._viewer=null,this._isRemoved=!0}};md.prototype.setStatus=function(o){this._stop=o,this._primitiveCollection._availability&&o?this._primitiveCollection._availability=void 0:this.availability&&!o&&(this._primitiveCollection._availability=this.availability)};md.prototype.isRemoved=function(){return this._isRemoved};md.prototype.filterBy=function(o,A,f){this._propertyToBeFiltered=o,this._valuesToBeFiltered=A};md.prototype.removeFilter=function(){this._propertyToBeFiltered=null,this._valuesToBeFiltered=null};md.prototype.edit=function(o,A){let f=this,m=this._viewer;if(!A&&(A={}),this.editHandler&&(this.editHandler.destroy(),this.editHandler=void 0),o===void 0&&(o=!0),!o){v();return}this.editHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas);var C,E,x,y;this.isEditting=!1;let I;this.editHandler.setInputAction(B=>{if(Cesium.ExpandBySmartEarth&&(Cesium.ExpandBySmartEarth.underEarth.enable||Cesium.ExpandBySmartEarth.isStreetView)){f.isEditting&&(v(),f.defaultEvent(!1));return}let Q=B.position,T=m.scene.pick(Q);if(!(T&&T.id&&T.id.treeID!==f.treeID)&&T&&T.id&&(T.id instanceof Cesium.Entity||T.id.VectorType)){let w=T.id;!f.isEditting&&Ke.states==0?(A.callBack&&A.callBack.start&&A.callBack.start(w),y=w.VectorType,C=f.createEditEntity(y,w.VectorStyle),C.feature=w,C.treeID=f.treeID,f.getSimpleGraphicData(y,C),y==="point"||y==="billboard"||y==="label"||y==="model"?(f.isEditting=!0,f.tooltip.showAt(B.position,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E")):(f.isEditting=!0,SmartEarthPopupData.editGraphic.updataEditPoint(),SmartEarthPopupData.editGraphic.setTreeID(f.treeID)),f.setStatus(!0),Ke.editVector=!0,f._primitiveCollection.show=!1):(w==C&&(w.VectorType==="point"||w.VectorType==="billboard"||w.VectorType==="label"||w.VectorType==="model")||w.name=="_height_point"||w.name=="_edit_point"||w.name=="_move_point"||w.name=="_add_point"||w.name=="_size_point")&&(m.container.style.cursor="crosshair",f.defaultEvent(!1),w.name=="_height_point"?(x={windowPosition:Q,originHeight:f._cesium.Cartographic.fromCartesian(w.position.getValue()).height},I="_height_point"):w.name=="_move_point"?I="_move_point":w.VectorType==="point"||w.VectorType==="billboard"||w.VectorType==="label"||w.VectorType==="model"?(f.tooltip.showAt(B.position,"\u91CA\u653E\u540E\u5B8C\u6210\u4FEE\u6539"),I="_move_point",w.VectorType==="model"&&(w.show=!1)):w.name=="_edit_point"?I="_edit_point":w.name=="_add_point"?I="_add_point":w.name=="_size_point"&&(I="_size_point"),E=w)}},this._cesium.ScreenSpaceEventType.LEFT_DOWN),this.editHandler.setInputAction(B=>{if(Cesium.ExpandBySmartEarth&&(Cesium.ExpandBySmartEarth.underEarth.enable||Cesium.ExpandBySmartEarth.isStreetView)){f.isEditting&&(v(),f.defaultEvent(!1));return}let Q=m.scene.pick(B.endPosition);if(!(Q&&Q.id&&Q.id.treeID!==f.treeID)&&(f._cesium.defined(Q)?f.isEditting&&!E?(y==="point"||y==="billboard"||y==="label"||y==="model")&&Q.id==C?f.tooltip.showAt(B.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E\uFF0C\u53F3\u952E\u5220\u9664"):Q.id&&Q.id.name==="_edit_point"&&C.pottingPoint?(y==="polyline"||y==="wall")&&C.pottingPoint.length>2||y==="polygon"&&C.pottingPoint.length>3?f.tooltip.showAt(B.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E\uFF0C\u53F3\u952E\u5220\u9664\u70B9"):f.tooltip.showAt(B.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E"):Q.id&&(Q.id.name==="_move_point"||Q.id.name==="_size_point")?f.tooltip.showAt(B.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E"):Q.id&&Q.id.name==="_add_point"?f.tooltip.showAt(B.endPosition,"\u62D6\u62FD\u589E\u52A0\u8282\u70B9"):Q.id&&Q.id.name==="_height_point"?f.tooltip.showAt(B.endPosition,"\u62D6\u62FD\u4FEE\u6539\u9AD8\u5EA6"):Q.id==C&&f.tooltip.show(!1):!f.isEditting&&Ke.states===0&&(Q.id&&Q.id.VectorType?f.tooltip.showAt(B.endPosition,"\u70B9\u51FB\u6FC0\u6D3B\u7F16\u8F91"):f.tooltip.show(!1)):Ke.states==0&&!E&&f.tooltip.show(!1),f.isEditting&&E)){f.tooltip.showAt(B.endPosition,"\u91CA\u653E\u540E\u5B8C\u6210\u4FEE\u6539");let T=f._getPosition.getMousePosition(B);if(!T&&I!=="_height_point")return;if(I==="_edit_point"){E.position=T;let w=Ke.editPointID.edit.indexOf(E.id);if(C[y].height!==void 0){let P=f.toDegrees(T);C.pottingPoint[w]=Cesium.Cartesian3.fromDegrees(P.lon,P.lat,C[y].height.getValue()),E.position=C.pottingPoint[w]}else C.pottingPoint[w]=T;if(Ke.editPointID.add.length>0){if(w>0){let P=m.entities.getById(Ke.editPointID.add[w-1]);if(P){let M=m.entities.getById(Ke.editPointID.edit[w-1]),L=m.entities.getById(Ke.editPointID.edit[w]);P.position=Cesium.Cartesian3.midpoint(M.position.getValue(),L.position.getValue(),new Cesium.Cartesian3)}}if(w<C.pottingPoint.length-1){let P=m.entities.getById(Ke.editPointID.add[w]);if(P){let M=m.entities.getById(Ke.editPointID.edit[w]),L=m.entities.getById(Ke.editPointID.edit[w+1]);P.position=Cesium.Cartesian3.midpoint(M.position.getValue(),L.position.getValue(),new Cesium.Cartesian3)}}if(y==="polygon"&&(w===0||w===C.pottingPoint.length-1)){let P=m.entities.getById(Ke.editPointID.add[Ke.editPointID.add.length-1]);if(P){let M=m.entities.getById(Ke.editPointID.edit[0]),L=m.entities.getById(Ke.editPointID.edit[C.pottingPoint.length-1]);P.position=Cesium.Cartesian3.midpoint(M.position.getValue(),L.position.getValue(),new Cesium.Cartesian3)}}}let S=C.pottingPoint.concat([]),D=new f._cesium.Cartesian3,R=S.length;S.forEach(P=>{D.x+=P.x,D.y+=P.y,D.z+=P.z}),D.x/=R,D.y/=R,D.z/=R,Ke.editPointID.move&&(Ke.editPointID.move.position=D),(y==="polyline"||y==="wall"||y==="polygon"||y==="rectangle")&&SmartEarthPopupData.editGraphic.setValue("positions",S)}else if(I==="_height_point"){let w=Ke.editPointID.height.indexOf(E.id),S=m.entities.getById(Ke.editPointID.edit[w]);(y==="ellipse"||y==="cylinder"||y==="box")&&(S=Ke.editPointID.move);let D=f.toDegrees(S.position.getValue()),R=x.originHeight-D.height,P=m.scene.cartesianToCanvasCoordinates(S.position.getValue()),M=(x.windowPosition.y-B.endPosition.y)*R/Math.abs(P.y-x.windowPosition.y),L=Math.abs(R+M);Ke.editPointID.height.forEach(F=>{let k=m.entities.getById(F);if(k){let N=k.position.getValue(),G=f.toDegrees(N);k.position=f._cesium.Cartesian3.fromDegrees(G.lon,G.lat,L+D.height)}}),C[y].extrudedHeight?C[y].extrudedHeight=L+D.height:y==="box"?SmartEarthPopupData.editGraphic.setValue("height",L):y==="cylinder"&&SmartEarthPopupData.editGraphic.setValue("length",L)}else if(I==="_add_point"){let w=Ke.editPointID.add.indexOf(E.id);m.entities.remove(E);let S=m.entities.add({name:"_edit_point",position:T,point:{pixelSize:10,color:Cesium.Color.ROYALBLUE,outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.edit.splice(w+1,0,S.id),C.pottingPoint.splice(w+1,0,T.clone());let D=Cesium.Cartesian3.midpoint(C.pottingPoint[w],C.pottingPoint[w+1],new Cesium.Cartesian3),R=m.entities.add({name:"_add_point",position:D,point:{pixelSize:10,color:Cesium.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY}}),P=Cesium.Cartesian3.midpoint(C.pottingPoint[w+1],C.pottingPoint[w+2===C.pottingPoint.length?0:w+2],new Cesium.Cartesian3),M=m.entities.add({name:"_add_point",position:P,point:{pixelSize:10,color:Cesium.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.add.splice(w,1,R.id,M.id),SmartEarthPopupData.editGraphic.setTreeID(f.treeID),E=S,I="_edit_point";let L=C.pottingPoint.concat([]);if(y==="polyline"||y==="polygon")SmartEarthPopupData.editGraphic.setValue("positions",L);else if(y==="wall"){SmartEarthPopupData.editGraphic.setValue("positions",L);let F=SmartEarthPopupData.editGraphic.getValue("minimumHeights"),k=SmartEarthPopupData.editGraphic.getValue("maximumHeights");F.push(F[0]),k.push(k[0]),SmartEarthPopupData.editGraphic.setValue("minimumHeights",F),SmartEarthPopupData.editGraphic.setValue("maximumHeights",k)}}else if(I==="_size_point"){let w=Ke.editPointID.move.position.getValue(),S=f._cesium.Cartesian3.distance(w,T);if(y==="ellipse"||y==="cylinder"||y==="ellipsoid"&&C.isSphere)SmartEarthPopupData.editGraphic.setValue("radius",S);else if(y==="box"){let D=E.angle===90?"long":"width";SmartEarthPopupData.editGraphic.setValue(D,S*2)}}else{if(y==="point"||y==="billboard"||y==="label"||y==="model"){E.position=T;return}let w=f.toDegrees(T);x=E.position.getValue();let S=f.toDegrees(x),D=w.lon-S.lon,R=w.lat-S.lat,P=w.height-S.height;if(E.position=T,C[y].height){let L=f.toDegrees(T).height;C[y].height=L,C.thisHeight=L}C.pottingPoint.forEach((L,F)=>{let k,N,G,J=m.entities.getById(Ke.editPointID.edit[F]);if(J||(J=m.entities.getById(Ke.editPointID.size[F])),J?k=f.toDegrees(J.position.getValue()):k=f.toDegrees(L),G=f._cesium.Cartesian3.fromDegrees(k.lon+D,k.lat+R,k.height+P),L.x=G.x,L.y=G.y,L.z=G.z,J&&(J.position=G),Ke.editPointID.add.length>0&&Ke.editPointID.add[F]){let K=m.entities.getById(Ke.editPointID.add[F]);K&&(k=f.toDegrees(K.position.getValue()),K.position=f._cesium.Cartesian3.fromDegrees(k.lon+D,k.lat+R,k.height+P))}});let M=C.pottingPoint.concat([]);if(y==="polyline"||y==="wall"||y==="polygon"||y==="rectangle")SmartEarthPopupData.editGraphic.setValue("positions",M);else if(y==="ellipse")C.pottingPoint[1]=T,C.position=T.clone();else if(y==="box"){C.pottingPoint[2]=T;let L=C.box.dimensions.getValue(),F=f.toDegrees(T);C.position=Cesium.Cartesian3.fromDegrees(F.lon,F.lat,F.height+L.z/2)}else if(y==="cylinder"){C.pottingPoint[1]=T;let L=C.cylinder.length.getValue(),F=f.toDegrees(C.pottingPoint[1]);C.position=Cesium.Cartesian3.fromDegrees(F.lon,F.lat,F.height+L/2)}else y==="ellipsoid"&&(C.pottingPoint[C.pottingPoint.length-1]=T,C.position=T.clone())}}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.editHandler.setInputAction(B=>{if(Cesium.ExpandBySmartEarth&&(Cesium.ExpandBySmartEarth.underEarth.enable||Cesium.ExpandBySmartEarth.isStreetView)){f.isEditting&&(v(),f.defaultEvent(!1));return}E&&E.VectorType==="model"&&(E.show=!0),E&&A.callBack&&A.callBack.updata&&A.callBack.updata(E.name,C),m.container.style.cursor="default",E=void 0,f.defaultEvent(!0)},this._cesium.ScreenSpaceEventType.LEFT_UP),this.editHandler.setInputAction(B=>{if(Cesium.ExpandBySmartEarth&&(Cesium.ExpandBySmartEarth.underEarth.enable||Cesium.ExpandBySmartEarth.isStreetView)){f.isEditting&&(v(),f.defaultEvent(!1));return}let Q=m.scene.pick(B.position);if(!(Q&&Q.id&&Q.id.treeID!==f.treeID)&&f._cesium.defined(Q)&&Ke.states==0){let T=Q.id;if(!T.VectorType){if(Ke.editPointID.edit.indexOf(T.id)>-1&&((y==="polyline"||y==="wall")&&Ke.editPointID.edit.length>2||y==="polygon"&&Ke.editPointID.edit.length>3)){let w=Ke.editPointID.edit.indexOf(T.id);if(m.entities.removeById(T.id),Ke.editPointID.edit.splice(w,1),C.pottingPoint.splice(w,1),Ke.editPointID.add.length>0)if(Ke.editPointID.add[w]){if(m.entities.removeById(Ke.editPointID.add[w]),Ke.editPointID.add.splice(w,1),w-1>=0){let P=m.entities.getById(Ke.editPointID.add[w-1]);P&&(P.position=Cesium.Cartesian3.midpoint(C.pottingPoint[w-1],C.pottingPoint[w===C.pottingPoint.length?0:w],new Cesium.Cartesian3))}else if(w-1===-1&&y==="polygon"){let P=m.entities.getById(Ke.editPointID.add[Ke.editPointID.add.length-1]);P&&(P.position=Cesium.Cartesian3.midpoint(C.pottingPoint[0],C.pottingPoint[C.pottingPoint.length-1],new Cesium.Cartesian3))}}else m.entities.removeById(Ke.editPointID.add[w-1]),Ke.editPointID.add.pop();let S=new f._cesium.Cartesian3,D=C.pottingPoint.length;C.pottingPoint.forEach(P=>{S.x+=P.x,S.y+=P.y,S.z+=P.z}),S.x/=D,S.y/=D,S.z/=D,Ke.editPointID.move&&(Ke.editPointID.move.position=S);let R=C.pottingPoint.concat([]);if(y==="polyline"||y==="polygon")SmartEarthPopupData.editGraphic.setValue("positions",R);else if(y==="wall"){SmartEarthPopupData.editGraphic.setValue("positions",R);let P=SmartEarthPopupData.editGraphic.getValue("minimumHeights"),M=SmartEarthPopupData.editGraphic.getValue("maximumHeights");P.pop(),M.pop(),SmartEarthPopupData.editGraphic.setValue("minimumHeights",P),SmartEarthPopupData.editGraphic.setValue("maximumHeights",M)}f.tooltip.show(!1),A.callBack&&A.callBack.updata&&A.callBack.updata(E&&E.name,C)}}}},this._cesium.ScreenSpaceEventType.RIGHT_DOWN),v();function v(){f.defaultEvent(!0),Ke.editPointID.edit.forEach(B=>{m.entities.removeById(B)}),Ke.editPointID.edit=[],Ke.editPointID.height.forEach(B=>{m.entities.removeById(B)}),Ke.editPointID.height=[],Ke.editPointID.add.forEach(B=>{m.entities.removeById(B)}),Ke.editPointID.add=[],Ke.editPointID.size.forEach(B=>{m.entities.removeById(B)}),Ke.editPointID.size=[],Ke.editPointID.move&&m.entities.remove(Ke.editPointID.move),Ke.editPointID.move=void 0,C&&m.entities.remove(C),C=void 0,y=void 0,SmartEarthPopupData.editGraphic={},f.isEditting=!1,f.setStatus(!1),Ke.editVector=!1,f._primitiveCollection.show=!0,f.delButton(!1)}return{endThisEdit:v,getEditData:function(){return{entity:C}}}};md.prototype.createEditEntity=function(o,A){let f,m=this,C=this._viewer;if(o==="polygon"){let E=A.positions,x=m._core.defaultValue(A.height,void 0),y;A.hierarchy?y=A.hierarchy:(E=A.haveZ?m._cesium.Cartesian3.fromDegreesArrayHeights(E):m._cesium.Cartesian3.fromDegreesArray(E),y=new m._cesium.PolygonHierarchy(E)),f=C.entities.add({polygon:{hierarchy:new m._cesium.CallbackProperty(function(){return y},!1),extrudedHeight:m._core.defaultValue(A.extrudedHeight,void 0),height:x,material:new m._cesium.ImageMaterialProperty({image:m._core.defaultValue(A.image,null),repeat:m._core.defaultValue(A.repeat,new m._cesium.Cartesian2(1,1)),color:A.material}),shadows:m._cesium.ShadowMode.ENABLED,fill:!0}}),f.VectorType="polygon"}else if(o==="polyline"){let E=A.positions;E=A.haveZ?m._cesium.Cartesian3.fromDegreesArrayHeights(E):m._cesium.Cartesian3.fromDegreesArray(E),f=C.entities.add({polyline:{positions:new m._cesium.CallbackProperty(function(){return E},!1),clampToGround:m._core.defaultValue(A.clampToGround,!1),material:new Cesium.PolylineOutlineMaterialProperty({color:A.material,outlineWidth:m._core.defaultValue(A.outlineWidth,0),outlineColor:m._cesium.Color.fromCssColorString(m._core.defaultValue(A.outlineColor,"rgba(255,255,255,0.6)"))}),width:m._core.defaultValue(A.width,3)}}),f.VectorType="polyline"}else if(o==="wall"){let E=A.positions;E=A.haveZ?m._cesium.Cartesian3.fromDegreesArrayHeights(E):m._cesium.Cartesian3.fromDegreesArray(E),f=C.entities.add({wall:{positions:new m._cesium.CallbackProperty(function(){return E},!1),minimumHeights:A.minimumHeights,maximumHeights:A.maximumHeights,material:A.material,outline:!0,outlineWidth:m._core.defaultValue(A.outlineWidth,0),outlineColor:A.outlineColor}}),f.VectorType="wall"}else o==="label"?(f=C.entities.add({position:A.position,label:{text:A.text,font:A.font,scale:A.scale,style:A.style,fillColor:A.fillColor,outlineColor:A.outlineColor,outlineWidth:A.outlineWidth,showBackground:A.showBackground,backgroundColor:A.backgroundColor,heightReference:A.heightReference,horizontalOrigin:A.horizontalOrigin,verticalOrigin:A.verticalOrigin,scaleByDistance:A.scaleByDistance,distanceDisplayCondition:A.distanceDisplayCondition}}),f.VectorType="label"):o==="billboard"&&(f=C.entities.add({position:A.position,billboard:{rotation:A.rotation,width:A.width,height:A.height,image:A.image,color:A.color,scale:A.scale,heightReference:A.heightReference,horizontalOrigin:A.horizontalOrigin,verticalOrigin:A.verticalOrigin,scaleByDistance:A.scaleByDistance,distanceDisplayCondition:A.distanceDisplayCondition}}),f.VectorType="billboard");return f};md.prototype.delButton=function(o,A,f){if(o){let m=document.getElementById("DeleteMilitaryStandardDelete");m||(m=document.createElement("button"),m.id="DeleteMilitaryStandardDelete",m.innerText="\u5220\u9664\u5BF9\u8C61",m.style.cssText=`height: 38px; line-height: 38px; padding: 0 18px; background-color: #052355; color: #fff; white-space: nowrap; text-align: center; font-size: 14px; border: none; border-radius: 2px; cursor: pointer; position: absolute;`,this._viewer.container.appendChild(m)),m.style.display="block",m.style.top=A.y+"px",m.style.left=A.x+"px",m.onclick=f}else{let m=document.getElementById("DeleteMilitaryStandardDelete");m&&(m.style.display="none",m.onclick=null)}};md.prototype.defaultEvent=function(o){let A=this._viewer.scene;A.screenSpaceCameraController.enableRotate=o,A.screenSpaceCameraController.enableTranslate=o,A.screenSpaceCameraController.enableZoom=o,A.screenSpaceCameraController.enableTilt=o,A.screenSpaceCameraController.enableLook=o};md.prototype.getEntityTypeAndObject=function(o){let A={type:"",object:null};return o&&(o.billboard?(A.type="billboard",A.object=o.billboard):o.box?(A.type="box",A.object=o.box):o.corridor?(A.type="corridor",A.object=o.corridor):o.cylinder?(A.type="cylinder",A.object=o.cylinder):o.ellipse?(A.type="ellipse",A.object=o.ellipse):o.ellipsoid?(A.type="ellipsoid",A.object=o.ellipsoid):o.label?(A.type="label",A.object=o.label):o.model?(A.type="model",A.object=o.model):o.path?(A.type="path",A.object=o.path):o.plane?(A.type="plane",A.object=o.plane):o.point?(A.type="point",A.object=o.point):o.polygon?(A.type="polygon",A.object=o.polygon):o.polyline?(A.type="polyline",A.object=o.polyline):o.polylineVolume?(A.type="polylineVolume",A.object=o.polylineVolume):o.rectangle?(A.type="rectangle",A.object=o.rectangle):o.wall&&(A.type="wall",A.object=o.wall)),A};md.prototype.toDegrees=function(o){let A=this._cesium.Cartographic.fromCartesian(o);return{lon:this._cesium.Math.toDegrees(A.longitude),lat:this._cesium.Math.toDegrees(A.latitude),height:A.height}};md.prototype.getSimpleGraphicData=function(o,A){let f=this,m=this._viewer;if(SmartEarthPopupData.editGraphic={entity:A,type:o,graphic:A[o],getValue:function(I){if(I==="position"||I==="name"||I==="id")return this.entity[I]&&(this.entity[I].getValue?this.entity[I].getValue():this.entity[I]);if(I==="radius"){if(this.type==="ellipse")return this.graphic.semiMajorAxis.getValue();if(this.type==="ellipsoid")return this.graphic.radii.getValue().x;if(this.type==="cylinder")return this.graphic.bottomRadius.getValue()}else if(I==="pHeight"){if(this.getValue("position")){let v=this.getValue("position");return Cesium.Cartographic.fromCartesian(v).height}}else return I==="repeat"?this.graphic.material[I]&&(this.graphic.material[I].getValue?this.graphic.material[I].getValue():this.graphic.material[I]):this.graphic[I]&&(this.graphic[I].getValue?this.graphic[I].getValue():this.graphic[I])},changeHeightPoint:function(I){Ke.editPointID.height.length>0&&Ke.editPointID.height.forEach(v=>{let B=m.entities.getById(v);if(B){let Q=B.position.getValue(),T=f.toDegrees(Q);B.position=Cesium.Cartesian3.fromDegrees(T.lon,T.lat,I)}})},changeEditPoint:function(I){Ke.editPointID.edit.length>0&&Ke.editPointID.edit.forEach(B=>{let Q=m.entities.getById(B);if(Q)if(I==="clampToGround")Q.point.heightReference=1;else{Q.point.heightReference=0;let T=Q.position.getValue(),w=f.toDegrees(T);Q.position=Cesium.Cartesian3.fromDegrees(w.lon,w.lat,I)}}),Ke.editPointID.size.length>0&&Ke.editPointID.size.forEach(B=>{let Q=m.entities.getById(B);if(Q)if(I==="clampToGround")Q.point.heightReference=1;else{Q.point.heightReference=0;let T=Q.position.getValue(),w=f.toDegrees(T);Q.position=Cesium.Cartesian3.fromDegrees(w.lon,w.lat,I)}}),Ke.editPointID.add.length>0&&Ke.editPointID.add.forEach(B=>{let Q=m.entities.getById(B);if(Q)if(I==="clampToGround")Q.point.heightReference=1;else{Q.point.heightReference=0;let T=Q.position.getValue(),w=f.toDegrees(T);Q.position=Cesium.Cartesian3.fromDegrees(w.lon,w.lat,I)}});let v=Ke.editPointID.move;if(v)if(I==="clampToGround")v.point.heightReference=1;else{v.point.heightReference=0;let B=v.position.getValue(),Q=f.toDegrees(B);v.position=Cesium.Cartesian3.fromDegrees(Q.lon,Q.lat,I)}},clearAllEditPoint:function(){Ke.editPointID.edit.forEach(I=>{m.entities.removeById(I)}),Ke.editPointID.edit=[],Ke.editPointID.height.forEach(I=>{m.entities.removeById(I)}),Ke.editPointID.height=[],Ke.editPointID.add.forEach(I=>{m.entities.removeById(I)}),Ke.editPointID.add=[],Ke.editPointID.size.forEach(I=>{m.entities.removeById(I)}),Ke.editPointID.size=[],Ke.editPointID.move&&m.entities.remove(Ke.editPointID.move),Ke.editPointID.move=void 0},setTreeID:function(I){Ke.editPointID.edit.forEach(v=>{let B=m.entities.getById(v);B.treeID=I}),Ke.editPointID.height.forEach(v=>{let B=m.entities.getById(v);B.treeID=I}),Ke.editPointID.add.forEach(v=>{let B=m.entities.getById(v);B.treeID=I}),Ke.editPointID.size.forEach(v=>{let B=m.entities.getById(v);B.treeID=I}),Ke.editPointID.move&&(Ke.editPointID.move.treeID=I)}},o==="billboard"||o==="point"||o==="label"||o==="model"){let I=SmartEarthPopupData.editGraphic.getValue("color")||SmartEarthPopupData.editGraphic.getValue("fillColor");I?C(I):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let v=SmartEarthPopupData.editGraphic.getValue("outlineColor");if(v?E(v):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),o==="label"){let B=SmartEarthPopupData.editGraphic.getValue("backgroundColor");B?x(B):(SmartEarthPopupData.editGraphic.backgroundColor="#000000",SmartEarthPopupData.editGraphic.backgroundAlpha=80)}SmartEarthPopupData.editGraphic.setValue=function(B,Q){if(B==="position"||B==="name")this.entity[B]=Q;else{if(B==="color"||B==="outlineColor"||B==="backgroundColor"||B==="fillColor")Q=Cesium.Color.fromCssColorString(Q);else if(B==="fontSize"){let T=this.getValue("font");T=T.split(" "),T[0]=Q,Q=T.join(" ")}else if(B==="alpha"){this.type==="label"?this.graphic.fillColor._value.alpha=Q:this.graphic.color._value.alpha=Q;return}else if(B==="outlineAlpha"){this.graphic.outlineColor._value.alpha=Q;return}else if(B==="backgroundAlpha"){this.graphic.backgroundColor._value.alpha=Q;return}else if(B==="pHeight"&&this.getValue("position")){let T=this.getValue("position"),w=Cesium.Cartographic.fromCartesian(T);w.height=Q,this.entity.position=Cesium.Cartographic.toCartesian(w);return}this.graphic[B]=Q}}}else if(o==="polyline"){let I=SmartEarthPopupData.editGraphic.getValue("material");I.color?C(I.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60),I.outlineColor?E(I.outlineColor):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(v,B){if(v==="name")this.entity[v]=B;else{if(v==="color"||v==="outlineColor"){B=Cesium.Color.fromCssColorString(B),this.graphic.material[v]=B;return}else if(v==="outlineWidth"){this.graphic.material[v]=B;return}else if(v==="alpha"){this.graphic.material.color._value.alpha=B;return}else if(v==="outlineAlpha"){this.graphic.material.outlineColor._value.alpha=B;return}else if(v==="positions"){this.graphic[v]=new Cesium.CallbackProperty(function(){return B},!1);return}this.graphic[v]=B}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let v=this.getValue("positions");return this.entity.pottingPoint=v,v},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let v=this.getPottingPoint();if(!v)return;let B=new Cesium.Cartesian3;v.forEach((Q,T)=>{let w=m.entities.add({name:"_edit_point",position:Q,point:{pixelSize:10,color:Cesium.Color.ROYALBLUE,outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.edit.push(w.id),B.x+=Q.x,B.y+=Q.y,B.z+=Q.z}),B.x/=v.length,B.y/=v.length,B.z/=v.length,Ke.editPointID.move=m.entities.add({name:"_move_point",position:B,point:{color:Cesium.Color.PURPLE,pixelSize:10,outlineColor:Cesium.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});for(let Q=0;Q<v.length-1;Q++){let T=Cesium.Cartesian3.midpoint(v[Q],v[Q+1],new Cesium.Cartesian3),w=m.entities.add({name:"_add_point",position:T,point:{pixelSize:10,color:Cesium.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.add.push(w.id)}}}else if(o==="polygon"){let I=SmartEarthPopupData.editGraphic.getValue("material");I.color?C(I.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let v=SmartEarthPopupData.editGraphic.getValue("outlineColor");v?E(v):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(B,Q){if(B==="name")this.entity[B]=Q;else{if(B==="color"||B==="outlineColor"){if(Q=Cesium.Color.fromCssColorString(Q),B==="color"){this.graphic.material.color=Q;return}}else if(B==="image"||B==="repeat"){this.graphic.material[B]=Q;return}else if(B==="alpha"){this.graphic.material.color._value.alpha=Q;return}else if(B==="outlineAlpha"){this.graphic.outlineColor._value.alpha=Q;return}else if(B==="positions"){this.graphic.hierarchy=new Cesium.CallbackProperty(function(){return new Cesium.PolygonHierarchy(Q)},!1);return}else if(B==="hierarchy"){this.graphic.hierarchy=new Cesium.CallbackProperty(function(){return Q},!1);return}else if(B==="clampToGround"){let T=function(w,S,D){D?(w.perPositionHeight=!1,w.heightReference=Cesium.HeightReference.CLAMP_TO_GROUND):(w.perPositionHeight=!0,w.heightReference=Cesium.HeightReference.NONE),Ke.editPointID.edit.length>0&&!D&&S.forEach((R,P)=>{let M=m.entities.getById(Ke.editPointID.edit[P]);if(M){let L=M.position.getValue();R.x=L.x,R.y=L.y,R.z=L.z}}),w.hierarchy=new Cesium.CallbackProperty(function(){return new Cesium.PolygonHierarchy(S)},!1)};this.graphic.hierarchy instanceof Cesium.CallbackProperty?(this.graphic.hierarchy=this.graphic.hierarchy.getValue(),setTimeout(()=>{T(this.graphic,this.entity.pottingPoint,Q)},100)):T(this.graphic,this.entity.pottingPoint,Q),Ke.editPointID.add.length>0&&Ke.editPointID.add.forEach(w=>{let S=m.entities.getById(w);S&&(Q?S.point.heightReference=1:S.point.heightReference=0)});return}else B==="extrudedHeight"?this.changeHeightPoint(Q):B==="height"&&this.changeEditPoint(Q);this.graphic[B]=Q}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let Q=this.getValue("hierarchy").positions.concat([]);if(this.getValue("height")!==void 0){let T=this.getValue("height");Q.forEach(w=>{let S=f.toDegrees(w),D=Cesium.Cartesian3.fromDegrees(S.lon,S.lat,T);w.x=D.x,w.y=D.y,w.z=D.z})}return this.entity.pottingPoint=Q,Q},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let B=this.getPottingPoint();if(!B)return;let Q=new Cesium.Cartesian3;B.forEach((S,D)=>{let R=m.entities.add({name:"_edit_point",position:S,point:{pixelSize:10,color:Cesium.Color.ROYALBLUE,outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.edit.push(R.id),Q.x+=S.x,Q.y+=S.y,Q.z+=S.z}),Q.x/=B.length,Q.y/=B.length,Q.z/=B.length,Ke.editPointID.move=m.entities.add({name:"_move_point",position:Q,point:{color:Cesium.Color.PURPLE,pixelSize:10,outlineColor:Cesium.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});for(let S=0;S<B.length-1;S++){let D=Cesium.Cartesian3.midpoint(B[S],B[S+1],new Cesium.Cartesian3),R=m.entities.add({name:"_add_point",position:D,point:{pixelSize:10,color:Cesium.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.add.push(R.id)}let T=Cesium.Cartesian3.midpoint(B[0],B[B.length-1],new Cesium.Cartesian3),w=m.entities.add({name:"_add_point",position:T,point:{pixelSize:10,color:Cesium.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.add.push(w.id)}}else if(o==="ellipse"||o==="cylinder"||A.isSphere){let I=SmartEarthPopupData.editGraphic.getValue("material");I.color?C(I.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let v=SmartEarthPopupData.editGraphic.getValue("outlineColor");v?E(v):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(B,Q){if(B==="name")this.entity[B]=Q;else{if(B==="color"||B==="outlineColor"){if(Q=Cesium.Color.fromCssColorString(Q),B==="color"){this.graphic.material.color=Q;return}}else if(B==="image"||B==="repeat"){this.graphic.material[B]=Q;return}else if(B==="alpha"){this.graphic.material.color._value.alpha=Q;return}else if(B==="outlineAlpha"){this.graphic.outlineColor._value.alpha=Q;return}else if(B==="semiMajorAxis"){this.graphic.semiMajorAxis=new Cesium.CallbackProperty(function(){return Q},!1);return}else if(B==="semiMinorAxis"){this.graphic.semiMinorAxis=new Cesium.CallbackProperty(function(){return Q},!1);return}else if(B==="radii"){this.graphic.radii=new Cesium.CallbackProperty(function(){return Q},!1);return}else if(B==="topRadius"){this.graphic.topRadius=new Cesium.CallbackProperty(function(){return Q},!1);return}else if(B==="bottomRadius"){this.graphic.bottomRadius=new Cesium.CallbackProperty(function(){return Q},!1);return}else if(B==="radius"){this.type==="ellipse"?(this.graphic.semiMajorAxis=new Cesium.CallbackProperty(function(){return Q},!1),this.graphic.semiMinorAxis=new Cesium.CallbackProperty(function(){return Q},!1)):this.type==="ellipsoid"?this.graphic.material.image.getValue()!==null?this.graphic.radii=new Cesium.Cartesian3(Q,Q,Q):this.graphic.radii=new Cesium.CallbackProperty(function(){return new Cesium.Cartesian3(Q,Q,Q)},!1):this.type==="cylinder"&&(this.graphic.bottomRadius=new Cesium.CallbackProperty(function(){return Q},!1),this.entity.changeTop&&(this.graphic.topRadius=new Cesium.CallbackProperty(function(){return Q},!1)));let T=Ke.editPointID.move.position.getValue(),w=f.GetPositionFromA_D(T,Q,90),S=m.entities.getById(Ke.editPointID.size[0]);S.position=w,A.pottingPoint[0]=w,A.pottingPoint[A.pottingPoint.length-1]=T;let D=m.entities.getById(Ke.editPointID.height[0]);if(D){let R=f.toDegrees(w),P=f._cesium.Cartographic.fromCartesian(D.position.getValue());D.position=f._cesium.Cartesian3.fromDegrees(R.lon,R.lat,P.height)}return}else if(this.type==="cylinder"&&B==="length"){this.graphic.length=Q;let T=f.toDegrees(this.entity.pottingPoint[1]);this.entity.position=Cesium.Cartesian3.fromDegrees(T.lon,T.lat,T.height+Q/2),this.changeHeightPoint(T.height+Q);return}else if(this.type==="ellipse"&&B==="clampToGround"){let T=function(w,S,D){D?(w.thisHeight===void 0&&(w.thisHeight=S.height&&S.height.getValue()),S.height=void 0,S.heightReference=Cesium.HeightReference.CLAMP_TO_GROUND):(S.height=w.thisHeight,S.heightReference=Cesium.HeightReference.NONE);let R=S.semiMinorAxis.getValue();S.semiMinorAxis=new Cesium.CallbackProperty(function(){return R},!1),S.semiMajorAxis=new Cesium.CallbackProperty(function(){return R},!1)};this.graphic.semiMinorAxis instanceof Cesium.CallbackProperty?(this.graphic.semiMinorAxis=this.graphic.semiMinorAxis.getValue(),this.graphic.semiMajorAxis=this.graphic.semiMajorAxis.getValue(),setTimeout(()=>{T(this.entity,this.graphic,Q)},100)):T(this.entity,this.graphic,Q),Q?this.changeEditPoint("clampToGround"):this.changeEditPoint(this.entity.thisHeight);return}else this.type==="ellipse"&&B==="extrudedHeight"?this.changeHeightPoint(Q):this.type==="ellipse"&&B==="height"&&(this.changeEditPoint(Q),this.entity.thisHeight=Q);this.graphic[B]=Q}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let B=this.getValue("radius"),Q=this.getValue("position");if(this.type==="ellipse"||this.entity.isSphere){if(this.type==="ellipse"&&this.getValue("height")!==void 0){let w=this.getValue("height"),S=f.toDegrees(Q);Q=Cesium.Cartesian3.fromDegrees(S.lon,S.lat,w)}let T=f.GetPositionFromA_D(Q,B,90);return this.entity.pottingPoint=[T,Q],[T,Q]}else{let T=f.toDegrees(Q);Q=Cesium.Cartesian3.fromDegrees(T.lon,T.lat,T.height-this.getValue("length")/2);let w=f.GetPositionFromA_D(Q,B,90);return this.entity.pottingPoint=[w,Q],[w,Q]}},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let B=this.getPottingPoint();if(!B)return;let Q=m.entities.add({name:"_size_point",position:B[0],point:{pixelSize:10,color:Cesium.Color.ROYALBLUE,outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Q.angle=90,Ke.editPointID.size.push(Q.id),Ke.editPointID.move=m.entities.add({name:"_move_point",position:B[1],point:{color:Cesium.Color.PURPLE,pixelSize:10,outlineColor:Cesium.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}})}}else if(o==="rectangle"){let I=SmartEarthPopupData.editGraphic.getValue("material");I.color?C(I.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let v=SmartEarthPopupData.editGraphic.getValue("outlineColor");v?E(v):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(B,Q){if(B==="name")this.entity[B]=Q;else{if(B==="color"||B==="outlineColor"){if(Q=Cesium.Color.fromCssColorString(Q),B==="color"){this.graphic.material.color=Q;return}}else if(B==="image"||B==="repeat"){this.graphic.material[B]=Q;return}else if(B==="alpha"){this.graphic.material.color._value.alpha=Q;return}else if(B==="outlineAlpha"){this.graphic.outlineColor._value.alpha=Q;return}else if(B==="positions"){this.graphic.coordinates=new Cesium.CallbackProperty(function(){return Cesium.Rectangle.fromCartesianArray(Q)},!1);return}else if(B==="coordinates"){this.graphic.coordinates=new Cesium.CallbackProperty(function(){return Q},!1);return}else if(B==="clampToGround"){let T=function(w,S,D){D?(w.thisHeight===void 0&&(w.thisHeight=S.height&&S.height.getValue()),S.height=void 0,S.heightReference=Cesium.HeightReference.CLAMP_TO_GROUND):(S.height=w.thisHeight,S.heightReference=Cesium.HeightReference.NONE);let R=S.coordinates.getValue();S.coordinates=new Cesium.CallbackProperty(function(){return R},!1)};this.graphic.coordinates instanceof Cesium.CallbackProperty?(this.graphic.coordinates=this.graphic.coordinates.getValue(),setTimeout(()=>{T(this.entity,this.graphic,Q)},100)):T(this.entity,this.graphic,Q),Q?this.changeEditPoint("clampToGround"):this.changeEditPoint(this.entity.thisHeight);return}else B==="extrudedHeight"?this.changeHeightPoint(Q):B==="height"&&(this.changeEditPoint(Q),this.entity.thisHeight=Q);this.graphic[B]=Q}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let B=this.getValue("coordinates"),Q,T,w=this.getValue("height");return w!==void 0?(Q=Cesium.Cartesian3.fromRadians(B.west,B.north,w),T=Cesium.Cartesian3.fromRadians(B.east,B.south,w)):(w=m.scene.sampleHeight(new Cesium.Cartographic(B.west,B.north,0),[this.entity]),Q=Cesium.Cartesian3.fromRadians(B.west,B.north,w),w=m.scene.sampleHeight(new Cesium.Cartographic(B.east,B.south,0),[this.entity]),T=Cesium.Cartesian3.fromRadians(B.east,B.south,w)),this.entity.pottingPoint=[Q,T],[Q,T]},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let B=this.getPottingPoint();if(!B)return;let Q=new Cesium.Cartesian3;B.forEach((T,w)=>{let S=m.entities.add({name:"_edit_point",position:T,point:{pixelSize:10,color:Cesium.Color.ROYALBLUE,outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.edit.push(S.id),Q.x+=T.x,Q.y+=T.y,Q.z+=T.z}),Q.x/=B.length,Q.y/=B.length,Q.z/=B.length,Ke.editPointID.move=m.entities.add({name:"_move_point",position:Q,point:{color:Cesium.Color.PURPLE,pixelSize:10,outlineColor:Cesium.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}})}}else if(o==="box"){let I=SmartEarthPopupData.editGraphic.getValue("material");I.color?C(I.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let v=SmartEarthPopupData.editGraphic.getValue("outlineColor");v?E(v):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(B,Q){if(B==="name")this.entity[B]=Q;else{if(B==="color"||B==="outlineColor"){if(Q=Cesium.Color.fromCssColorString(Q),B==="color"){this.graphic.material.color=Q;return}}else if(B==="image"||B==="repeat"){this.graphic.material[B]=Q;return}else if(B==="alpha"){this.graphic.material.color._value.alpha=Q;return}else if(B==="outlineAlpha"){this.graphic.outlineColor._value.alpha=Q;return}else if(B==="long"||B==="width"||B==="height"){let T=this.getValue("dimensions");if(B==="long"?T.x=Q:B==="width"?T.y=Q:T.z=Q,this.graphic.dimensions=new Cesium.CallbackProperty(function(){return T},!1),B==="long"||B==="width"){let w=B==="long"?90:180,S=B==="long"?0:1,D=Ke.editPointID.move.position.getValue(),R=f.GetPositionFromA_D(D,Q/2,w),P=m.entities.getById(Ke.editPointID.size[S]);P.position=R,this.entity.pottingPoint[S]=R,this.entity.pottingPoint[this.entity.pottingPoint.length-1]=D}else{let w=f.toDegrees(Ke.editPointID.move.position.getValue());this.entity.position=Cesium.Cartesian3.fromDegrees(w.lon,w.lat,w.height+Q/2),this.changeHeightPoint(w.height+Q)}return}else if(B==="dimensions"){this.graphic.dimensions=new Cesium.CallbackProperty(function(){return Q},!1);return}this.graphic[B]=Q}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let B=this.getValue("dimensions"),Q=this.getValue("position"),T=f.toDegrees(Q);Q=Cesium.Cartesian3.fromDegrees(T.lon,T.lat,T.height-B.z/2);let w=f.GetPositionFromA_D(Q,B.x/2,90),S=f.GetPositionFromA_D(Q,B.y/2,180);return this.entity.pottingPoint=[w,S,Q],[w,S,Q]},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let B=this.getPottingPoint();if(!B)return;let Q=m.entities.add({name:"_size_point",position:B[0],point:{pixelSize:10,color:Cesium.Color.ROYALBLUE,outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});Q.angle=90;let T=m.entities.add({name:"_size_point",position:B[1],point:{pixelSize:10,color:Cesium.Color.ROYALBLUE,outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});T.angle=180,Ke.editPointID.size.push(Q.id),Ke.editPointID.size.push(T.id),Ke.editPointID.move=m.entities.add({name:"_move_point",position:B[2],point:{color:Cesium.Color.PURPLE,pixelSize:10,outlineColor:Cesium.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}})}}else if(o!=="corridor"){if(!(o==="ellipsoid"&&!A.isSphere)){if(o!=="path"){if(o!=="plane"){if(o!=="polylineVolume"){if(o==="wall"){let I=SmartEarthPopupData.editGraphic.getValue("material");I.color?C(I.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let v=SmartEarthPopupData.editGraphic.getValue("outlineColor");v?E(v):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(B,Q){if(B==="name")this.entity[B]=Q;else{if(B==="color"){Q=Cesium.Color.fromCssColorString(Q),this.graphic.material[B]=Q;return}else if(B==="alpha"){this.graphic.material.color._value.alpha=Q;return}else if(B==="outlineAlpha"){this.graphic.outlineColor._value.alpha=Q;return}else if(B==="positions"){this.graphic[B]=new Cesium.CallbackProperty(function(){return Q},!1);return}this.graphic[B]=Q}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let B=this.getValue("positions");return this.entity.pottingPoint=B,B},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let B=this.getPottingPoint();if(!B)return;let Q=new Cesium.Cartesian3,T=this.getValue("minimumHeights");B.forEach((w,S)=>{let D=Cesium.Cartographic.fromCartesian(w),R=Cesium.Cartesian3.fromRadians(D.longitude,D.latitude,T[S]),P=m.entities.add({name:"_edit_point",position:R,point:{pixelSize:10,color:Cesium.Color.ROYALBLUE,outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.edit.push(P.id),Q.x+=R.x,Q.y+=R.y,Q.z+=R.z}),Q.x/=B.length,Q.y/=B.length,Q.z/=B.length,Ke.editPointID.move=m.entities.add({name:"_move_point",position:Q,point:{color:Cesium.Color.PURPLE,pixelSize:10,outlineColor:Cesium.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});for(let w=0;w<B.length-1;w++){let S=Cesium.Cartesian3.midpoint(B[w],B[w+1],new Cesium.Cartesian3),D=m.entities.add({name:"_add_point",position:S,point:{pixelSize:10,color:Cesium.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:Cesium.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.add.push(D.id)}}}}}}}}function C(I){SmartEarthPopupData.editGraphic.fillColor=y("rgb("+I.red*255+","+I.green*255+","+I.blue*255+")"),SmartEarthPopupData.editGraphic.alpha=I.alpha*100}function E(I){SmartEarthPopupData.editGraphic.outlineColor=y("rgb("+I.red*255+","+I.green*255+","+I.blue*255+")"),SmartEarthPopupData.editGraphic.outlineAlpha=I.alpha*100}function x(I){SmartEarthPopupData.editGraphic.backgroundColor=y("rgb("+I.red*255+","+I.green*255+","+I.blue*255+")"),SmartEarthPopupData.editGraphic.backgroundAlpha=I.alpha*100}function y(I){let v=I,B=/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;if(/^(rgb|RGB)/.test(v)){let Q=v.replace(/(rgb|RGB)*/g,"");Q=Q.replace("(","").replace(")","");let T=Q.split(","),w="#";for(let S=0;S<T.length;S++){let D=Number(T[S]).toString(16);D=D.length===1?0+""+D:D,D==="0"&&(D+=D),w+=D}return w.length!==7&&(w=v),w}else if(B.test(v)){let Q=v.replace(/#/,"").split("");if(Q.length===6)return v;if(Q.length===3){let T="#";for(let w=0;w<Q.length;w+=1)T+=Q[w]+Q[w];return T}}else return v}};var FA=md;function RQ(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._color=new In(this._viewer,this._cesium),this._tree=Ke,this._Provider=void 0,this._cache=!1,this._forceRefreshPrvimitive=null}RQ.prototype.createBillboardPointGeoJsonFeatureLayer=function(o,A,f,m,C){A==null&&console.log("geojson is required");var E=this._cesium.GeoJsonDataSource.load(A),x=this;E.then(function(v){var B={show:!0,position:x._cesium.Cartesian3.ZERO,pixelOffset:x._cesium.Cartesian2.ZERO,eyeOffset:x._cesium.Cartesian3.ZERO,heightReference:x._cesium.HeightReference.NONE,horizontalOrigin:x._cesium.HorizontalOrigin.CENTER,verticalOrigin:x._cesium.VerticalOrigin.CENTER,scale:1,image:"",imageSubRegion:void 0,color:x._cesium.Color.WHITE,id:void 0,rotation:0,alignedAxis:x._cesium.Cartesian3.ZERO,width:void 0,height:void 0,scaleByDistance:void 0,translucencyByDistance:void 0,pixelOffsetScaleByDistance:void 0,sizeInMeters:!1,distanceDisplayCondition:void 0};!x._core.isnull(f)&&!x._core.isnull(f.color)&&(/^\[/.test(f.color)&&f.color.charAt(0)=="["&&f.color.charAt(f.color.length-1)=="]"||(x._core.isHtmlColor(f.color)?f.color=x._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=x._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=x._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a))));var Q=x._core.extend(B,f,!0);x._core.isnull(f.near)&&(f.near=0),x._core.isnull(f.far)&&(f.far=999999999);for(var T=parseFloat(f.near),w=parseFloat(f.far),S=new x._cesium.DistanceDisplayCondition(T,w),D=new x._cesium.BillboardCollection,R=v.entities.values,P=0;P<R.length;P++){var M=R[P];Q.position=M.position._value,D.add(Q)}var L=x._viewer.scene.primitives.add(D);typeof C=="function"&&C(L)});var y=this._core.getuid();this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y);var I={id:y,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"billboardLayer",item:this,url:A,style:options};return this.setTreeobj(I),this._tree.insertGroupId(I,this._core.isnull(m)?0:m),this};RQ.prototype.createBillboardGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium},y=new FA(this._viewer,this._cesium,x);this._Provider=y;var I=this;y._loadTile=function(B){var Q={show:!0,position:I._cesium.Cartesian3.ZERO,pixelOffset:I._cesium.Cartesian2.ZERO,eyeOffset:I._cesium.Cartesian3.ZERO,heightReference:I._cesium.HeightReference.NONE,horizontalOrigin:I._cesium.HorizontalOrigin.CENTER,verticalOrigin:I._cesium.VerticalOrigin.CENTER,scale:1,image:"",imageSubRegion:void 0,color:I._cesium.Color.WHITE,id:void 0,rotation:0,alignedAxis:I._cesium.Cartesian3.ZERO,width:void 0,height:void 0,scaleByDistance:void 0,translucencyByDistance:void 0,pixelOffsetScaleByDistance:void 0,sizeInMeters:!1,distanceDisplayCondition:void 0};!I._core.isnull(f)&&!I._core.isnull(f.color)&&(/^\[/.test(f.color)&&f.color.charAt(0)=="["&&f.color.charAt(f.color.length-1)=="]"||(I._core.isHtmlColor(f.color)?f.color=I._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=I._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=I._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a))));var T=I._core.extend(Q,f,!0);I._core.isnull(f.near)&&(f.near=0),I._core.isnull(f.far)&&(f.far=999999999);var w=parseFloat(f.near),S=parseFloat(f.far),D=new I._cesium.DistanceDisplayCondition(w,S),R=new I._cesium.BillboardCollection;return B.features.forEach(function(P){T.id=P;var M;if(/^\[/.test(T.pointHeight)&&/\]$/.test(T.pointHeight)){var L=T.pointHeight.replace(/\[/,"").replace(/\]/,"");M=parseFloat(P.properties[L]),P.geometry.coordinates.push(M),T.position=I._cesium.Cartesian3.fromDegreesArrayHeights(P.geometry.coordinates)[0]}else T.pointHeight?(M=parseFloat(T.pointHeight),P.geometry.coordinates.push(M),T.position=I._cesium.Cartesian3.fromDegreesArrayHeights(P.geometry.coordinates)[0]):T.position=I._cesium.Cartesian3.fromDegreesArray(P.geometry.coordinates)[0];T.id.treeID=f.id,T.id.VectorType="billboard",T.id.VectorStyle={position:T.position,pointHeight:M,rotation:T.rotation,width:T.width,height:T.height,image:T.image,color:T.color,scale:T.scale,heightReference:T.heightReference,horizontalOrigin:T.horizontalOrigin,verticalOrigin:T.verticalOrigin,scaleByDistance:T.scaleByDistance,distanceDisplayCondition:T.distanceDisplayCondition},R.add(T)}),R},f&&f.time&&(y.availability=new I._cesium.TimeIntervalCollection([new I._cesium.TimeInterval({start:f.time.start?I._cesium.JulianDate.fromDate(new Date(f.time.start)):I._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?I._cesium.JulianDate.fromDate(new Date(f.time.end)):I._cesium.Iso8601.MAXIMUM_VALUE})])),this.item=y._primitiveCollection,y.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var v={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"imageLayer",item:this,url:x.url,style:f};return this._Provider.treeID=f.id,this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};RQ.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.treeobj.url;return{type:this.treeobj.type,treeobj:{name:this.treeobj.name,pId:this.treeobj.pId},style:{show:o,url:A}}};RQ.prototype.setRefresh=function(o){try{this._Provider&&this._Provider.setStatus(o)}catch{}};RQ.prototype.setVisibility=function(o){this.item.show=o,this._Provider&&this._Provider.setStatus(!o),!o&&this.item.removeAll()};RQ.prototype.deleteObject=function(){if(this._Provider!=null&&this._Provider.setStatus(!1),this.items!=null&&this.items!=null&&this.items.length>0)for(var o=0;o<this.items.length;o++)this._viewer.scene.primitives.remove(this.items[o]);else this._viewer.scene.primitives.remove(this.item);try{this._Provider.remove()}catch{}};RQ.prototype.setTreeobj=function(o){this.treeobj=o};RQ.prototype.edit=function(o,A){return this.isEditting=o,this.editoption=A,this._Provider&&this._Provider.edit&&this._Provider.edit(o,A)};RQ.prototype.forceRefresh=function(){try{for(var o=0;o<this._Provider.quadtree._levelZeroTiles.length;o++)this._Provider.quadtree._levelZeroTiles[o].freeResources()}catch{}};var OK=RQ;var Tn=null;function Kl(o,A){Tn=A,this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._color=new In(this._viewer,this._cesium),this._getPosition=new kl(this._viewer,this._cesium),this._tree=Ke,this._popupmessage=new kI(this._viewer,this._cesium),this._bufferAnalysis=new BQ(this._viewer,this._cesium),this.Legend=[],this.tooltip=this._core.CreateTooltip(),this.enty=null}Kl.prototype.createGeojsonFeatureLayer=function(o,A,f,m,C,E){var x=A.url,y=A.maxLevel,I=A.minLevel,v=this._core.StyleContrastGeoJson(f,this._cesium);x==null&&console.log("geojson is required");var B=null;x.then?B=x:B=this._cesium.GeoJsonDataSource.load(x),this._viewer.dataSources.add(B);var Q=this;!this.setNearAndFar&&y&&I&&(this.setNearAndFar=!0,this.Level=0,this._viewer.scene.preRender.addEventListener(function(){Q.isShow&&Q.item&&(Q.Level=Q.getLevel(),Q.Level>=I&&Q.Level<=y&&!Q.item.show?Q.item.show=!0:(Q.Level<I||Q.Level>y)&&(Q.item.show=!1))})),B.then(function(w){Q.item=w;for(var S=w.entities.values,D=0;D<S.length;D++){var R=S[D];if(v.point!=null){var P=v.point;P.color=Q._color.VectorColorTransformation(P.color,R),P.outlineColor=Q._color.VectorColorTransformation(P.outlineColor,R),P.pointHeight!=null&&(R.position._value=Q._core.setheight(R.position._value,P.pointHeight,Q._cesium,Q._viewer),delete P.pointHeight),R.point=new Q._cesium.PointGraphics(P)}if(v.label!=null){var M=v.label;M.fillColor=Q._color.VectorColorTransformation(M.fillColor,R),M.outlineColor=Q._color.VectorColorTransformation(M.outlineColor,R),M.pointHeight!=null&&(R.position._value=Q._core.setheight(R.position._value,M.pointHeight,Q._cesium,Q._viewer),delete M.pointHeight),R.label=new Q._cesium.LabelGraphics(M)}if(v.billboard!=null){var L=v.billboard;L.color=Q._color.VectorColorTransformation(L.color,R),L.pointHeight!=null&&(R.position._value=Q._core.setheight(R.position._value,L.pointHeight,Q._cesium,Q._viewer),delete L.pointHeight),R.billboard=new Q._cesium.BillboardGraphics(L)}if(v.polyline!=null){var F=v.polyline;F.material=Q._color.VectorColorTransformation(F.material,R),F.positions=R.polyline.positions,F.pointHeight!=null&&(R.position._value=Q._core.setpolylineheight(R.position._value,F.pointHeight,Q._cesium,Q._viewer),delete F.pointHeight),R.polyline=new Q._cesium.PolylineGraphics(F)}if(v.polygon!=null){var k=v.polygon;k.hierarchy=R.polygon.hierarchy,k.material=Q._color.VectorColorTransformation(k.material,R),k.outlineColor=Q._color.VectorColorTransformation(k.outlineColor,R),k.outlineColor&&(k.outline=!0),R.polygon=new Q._cesium.PolygonGraphics(k)}}typeof E=="function"&&E(w)}),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id),C?Q.isShow=!0:Q.setVisibility(!1);var T={id:v.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"datasource",item:this,url:x,style:v,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(T),this._tree.insertGroupId(T,this._core.isnull(m)?0:m),this};Kl.prototype.createGeojsonKmlFeatureLayer=function(o,A,f,m,C){var E=A,x={camera:this._viewer.scene.camera,canvas:this._viewer.scene.canvas};this._viewer.dataSources.add(this._cesium.KmlDataSource.load(A,x));var y=this;this._core.isnull(x.id)&&(x.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+x.id),m||y.setVisibility(!1);var I={id:x.id,name:o,checked:m,pId:this._core.isnull(f)?0:f,type:"datasource",item:this,url:E,style:x,treeData:{name:o,geoOptions:A,styleOption:"",GroupID:f,checked:m,disFnc:C}};return this.setTreeobj(I),this._tree.insertGroupId(I,this._core.isnull(f)?0:f),this};Kl.prototype.createGeoJsonFeatureLayerAlawys=function(o,A,f,m,C){var E={id:this._core.getuid(),layertype:"",text:"",font:"16px",fillColor:this._cesium.WHITE,outlineColor:this._cesium.BLACK,outlineWidth:"1.0",scale:"1.0",maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0,icon:""};!this._core.isnull(f)&&!this._core.isnull(f.fillColor)&&(f.fillColor.toString().charAt(0)=="["&&f.fillColor.toString().charAt(f.fillColor.length-1)=="]"||(this._core.isHtmlColor(f.fillColor)?f.fillColor=this._color.colorFromHtmlColor(f.fillColor):f.fillColor=this._color.createColor(f.fillColor.r,f.fillColor.g,f.fillColor.b,f.fillColor.a))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a)));var x=this._core.extend(E,f,!0);A==null&&console.log("geojson is required");var y=null;A.then?y=A:y=this._cesium.GeoJsonDataSource.load(A),this._viewer.dataSources.add(y);var I=this,v;f&&f.time&&(v=new I._cesium.TimeIntervalCollection([new I._cesium.TimeInterval({start:f.time.start?I._cesium.JulianDate.fromDate(new Date(f.time.start)):I._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?I._cesium.JulianDate.fromDate(new Date(f.time.end)):I._cesium.Iso8601.MAXIMUM_VALUE})])),y.then(function(Q){I.item=Q;for(var T=Q.entities.values,w=0;w<T.length;w++){var S=T[w];x.id=I._core.extendgl(S,f.id,x.id),x.text=I._core.extendgl(S,f.text,x.text),x.font=I._core.extendgl(S,f.font,x.font),x.fillColor=I._core.extendgl(S,f.fillColor,x.fillColor),x.outlineColor=I._core.extendgl(S,f.outlineColor,x.outlineColor),x.outlineWidth=parseInt(I._core.extendgl(S,f.outlineWidth,x.outlineWidth)),x.scale=parseFloat(I._core.extendgl(S,f.scale,x.scale)),x.image=I._core.extendgl(S,f.image,x.image),x.icon=I._core.extendgl(S,f.icon,x.icon);var D=parseFloat(I._core.extendgl(S,x.minDistanceDisplay||x.near)),R=parseFloat(I._core.extendgl(S,x.maxDistanceDisplay||x.far)),P=new I._cesium.DistanceDisplayCondition(D,R);if(S.billboard){if(x)if((I._core.isUrl(S.properties[x.icon])||I._core.isUrl(x.icon))&&!I._core.isnull(S.properties[x.text])||!I._core.isnull(x.text)){var M="fillColor:"+x.fillColor.red*255+","+x.fillColor.green*255+","+x.fillColor.blue*255+";outlineColor:"+x.outlineColor.red*255+","+x.outlineColor.green*255+","+x.outlineColor.blue*255;I.Legend.push(M),S.label={id:"my label",text:I._core.isnull(S.properties[x.text])?x.text:S.properties[x.text]+"",font:x.font+" sans-serif",fillColor:x.fillColor,outlineColor:x.outlineColor,outlineWidth:x.outlineWidth,scale:parseFloat(x.scale),distanceDisplayCondition:P},S.billboard={image:I._core.isUrl(S.properties[x.icon])?S.properties[x.icon]:x.icon,distanceDisplayCondition:P}}else if(!I._core.isnull(x.icon))S.billboard={image:I._core.isUrl(S.properties[x.icon])?S.properties[x.icon]:x.icon,distanceDisplayCondition:P};else if(!I._core.isnull(S.properties[x.text])||!I._core.isnull(x.text)){S.billboard=void 0;var M="fillColor:"+x.fillColor.red*255+","+x.fillColor.green*255+","+x.fillColor.blue*255+";outlineColor:"+x.outlineColor.red*255+","+x.outlineColor.green*255+","+x.outlineColor.blue*255;I.Legend.push(M),S.label={id:"my label",text:I._core.isnull(S.properties[x.text])?x.text:S.properties[x.text]+"",font:x.font+" sans-serif",fillColor:x.fillColor,outlineColor:x.outlineColor,outlineWidth:x.outlineWidth,scale:parseFloat(x.scale),distanceDisplayCondition:P}}else{var M="color:"+x.fillColor.red*255+","+x.fillColor.green*255+","+x.fillColor.blue*255;I.Legend.push(M),S.billboard=void 0,S.point=new I._cesium.PointGraphics({color:I._cesium.Color.RED,pixelSize:10,distanceDisplayCondition:P})}else S.polygon?S.polygon.distanceDisplayCondition=P:S.polyline&&(S.polyline.distanceDisplayCondition=P);v&&(S.availability=v)}}typeof C=="function"&&C(Q)}),this._core.isnull(x.id)&&(x.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+x.id);var B={id:x.id,name:o,pId:this._core.isnull(m)?0:m,type:"pointLayer",item:this,url:A,style:x,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:!0,disFnc:C}};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),this};Kl.prototype.createGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x=this._cesium.GeoJsonDataSource.load(A),y=this;return x.then(function(I){var v=I.entities.values[0];/^point.fid/.test(v._id)||v.point!=null?y.createPointGeojsonFeatureLayer(o,x,f,m,C,E):/^polygon.fid/.test(v._id)||v.polygon!=null?y.createPolygonGeoJsonFeatureLayer(o,x,f,m,C,E):/^line.fid/.test(v._id)||v.polyline!=null?y.createPolylineGeoJsonFeatureLayer(o,x,f,m,C,E):y.createGeoJsonFeatureLayerAlawys(o,x,f,m,E)}),this};Kl.prototype.createPointGeojsonFeatureLayer=function(o,A,f,m,C=!0,E){var x={color:this._cesium.Color.WHITE,pixelSize:1,outlineColor:this._cesium.Color.BLACK,outlineWidth:0,show:!0,scaleByDistance:new this._cesium.NearFarScalar(0,0,1,1),height:0,pointHeight:0,maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0};!this._core.isnull(f)&&!this._core.isnull(f.color)&&(f.color.toString().charAt(0)=="["&&f.color.toString().charAt(f.color.length-1)=="]"||(this._core.isHtmlColor(f.color)?f.color=this._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=this._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=this._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a)))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a))));var y=this._core.extend(x,f,!0);A==null&&console.log("geojson is required");var I=null;A.then?I=A:I=this._cesium.GeoJsonDataSource.load(A),this._viewer.dataSources.add(I);var v=this,B;f&&f.time&&(B=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:f.time.start?this._cesium.JulianDate.fromDate(new Date(f.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?this._cesium.JulianDate.fromDate(new Date(f.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})])),I.then(function(T){v.item=T;for(var w=T.entities.values,S=0;S<w.length;S++){var D=w[S];y.color=v._core.extendgl(D,f.color,y.color),y.pixelSize=parseInt(v._core.extendgl(D,f.pixelSize,y.pixelSize)),y.outlineColor=v._core.extendgl(D,f.outlineColor,y.outlineColor),y.outlineWidth=parseFloat(v._core.extendgl(D,f.outlineWidth,y.outlineWidth)),y.show=v._core.extendgl(D,f.show,y.show),y.height=parseFloat(v._core.extendgl(D,f.height,y.height)),y.scaleByDistance=v._core.extendgl(D,f.scaleByDistance,y.scaleByDistance);var R=parseFloat(v._core.extendgl(D,y.minDistanceDisplay||y.near)),P=parseFloat(v._core.extendgl(D,y.maxDistanceDisplay||y.far)),M=new v._cesium.DistanceDisplayCondition(R,P),L="color:"+y.color.red*255+","+y.color.green*255+","+y.color.blue*255+";outlineColor:"+y.outlineColor.red*255+","+y.outlineColor.green*255+","+y.outlineColor.blue*255;v.Legend.push(L),y.distanceDisplayCondition=M,y.pointHeight=v._core.extendgl(D,f.pointHeight,y.pointHeight),y.pointHeight=parseFloat(y.pointHeight);var F=v._viewer.scene.globe.ellipsoid,k=v._cesium.Cartographic.fromCartesian(D.position._value),N=v._cesium.Math.toDegrees(k.longitude),G=v._cesium.Math.toDegrees(k.latitude),J=y.pointHeight||k.height,K=new v._cesium.Cartesian3.fromDegrees(N,G,J);D.position._value=K,D.point=new v._cesium.PointGraphics(y),D.billboard=void 0;var X={positions:K};D.description=X,B&&(D.availability=B)}C||v.setVisibility(!1),typeof E=="function"&&E(T)}),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id);var Q={id:y.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"pointLayer",item:this,url:A,style:y,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),this};Kl.prototype.createModelGeojsonFeatureLayer=function(o,A,f={},m,C,E){var x={color:f.color||"#ffffff",url:window.SmartEarthRootUrl+Zr.testModel,scale:1,minimumPixelSize:0,height:0,far:5e3,near:0,type:"default"};A==null&&console.log("geojson is required");var y=null;A.then?y=A:y=this._cesium.GeoJsonDataSource.load(A);var I;f&&f.time&&(I=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:f.time.start?this._cesium.JulianDate.fromDate(new Date(f.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?this._cesium.JulianDate.fromDate(new Date(f.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})])),this.option=f,this.option.color=typeof x.color=="string"?Tn.Color.fromCssColorString(x.color):x.colorF,this.loadGeosjonData=()=>{f=this.option;let B=this.dataSourceItem.entities.values,Q=this._core.extend(x,f,!0),T=parseFloat(Q.near),w=parseFloat(Q.far),S=new Tn.DistanceDisplayCondition(T,w);this.item.removeAll();let D=new Map,R,P,M,L=[];for(let F=0,k;F<B.length;F++)if(k=B[F],Q.type==="polylineVolume"){let N=this._core.extendgl(k,"[flieName]");N="/"+N.replace("xpl2","gltf"),D.get(Q.url+N)||D.set(Q.url+N,[]),M=D.get(Q.url+N);let G=new Tn.Cartesian3(this._core.extendgl(k,"[scaleY]",1),this._core.extendgl(k,"[scaleX]",1),this._core.extendgl(k,"[scaleZ]",1)),J=new Tn.HeadingPitchRoll(Tn.Math.toRadians(this._core.extendgl(k,"[Yaw]",0)),Tn.Math.toRadians(this._core.extendgl(k,"[Pitch]",0)),Tn.Math.toRadians(this._core.extendgl(k,"[Roll]",0))),K=Tn.Matrix3.fromHeadingPitchRoll(J),X=this._core.toDegrees(k.position.getValue());X.height=this._core.extendgl(k,"[Altitude]",0),P=new Tn.Cartesian3.fromDegrees(X.lon,X.lat,X.height),L.push(P),R=Tn.Transforms.eastNorthUpToFixedFrame(P),Tn.Matrix4.multiplyByMatrix3(R,K,R),Tn.Matrix4.multiplyByScale(R,G,R),Tn.ModelInstanceCollection?M.push({modelMatrix:R,modelId:this._core.getEntityProp(k)}):this.item.add(Tn.Model.fromGltf({id:this._core.getEntityProp(k),url:Q.url+N,modelMatrix:R,color:Q.color,distanceDisplayCondition:S}))}else{if(D.get(Q.url)||(D.set(Q.url,[]),M=D.get(Q.url)),Q.height!==void 0||Q.pointHeight!==void 0){let J=this._core.toDegrees(k.position.getValue());J.height=Q.height||Q.pointHeight,P=new Tn.Cartesian3.fromDegrees(J.lon,J.lat,J.height),k.position=P}P=k.position.getValue(),L.push(P),R=Tn.Transforms.eastNorthUpToFixedFrame(P);let N=new Tn.HeadingPitchRoll(Tn.Math.toRadians(this._core.extendgl(k,Q.heading,0)),Tn.Math.toRadians(this._core.extendgl(k,Q.pitch,0)),Tn.Math.toRadians(this._core.extendgl(k,Q.roll,0))),G=Tn.Matrix3.fromHeadingPitchRoll(N);Tn.Matrix4.multiplyByMatrix3(R,G,R),typeof Q.scale=="object"?Tn.Matrix4.multiplyByScale(R,Q.scale,R):Tn.Matrix4.multiplyByUniformScale(R,Q.scale,R),Tn.ModelInstanceCollection?M.push({modelMatrix:R,modelId:this._core.getEntityProp(k)}):this.item.add(Tn.Model.fromGltf({id:this._core.getEntityProp(k),url:Q.url,modelMatrix:R,color:Q.color,distanceDisplayCondition:S}))}this.item.boundingSphere=Tn.BoundingSphere.fromPoints(L),Tn.ModelInstanceCollection&&D.forEach((F,k)=>{this.item.add(new Tn.ModelInstanceCollection({url:k,instances:F,color:Q.color}))})},this.item=new Tn.PrimitiveCollection,this._viewer.scene.primitives.add(this.item),y.then(B=>{this.dataSourceItem=B,this.loadGeosjonData(),C||this.setVisibility(!1),typeof E=="function"&&E(B)}),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id);var v={id:f.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"pointLayer",item:this,url:A,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),this};Kl.prototype.createCirclePointGeoJsonFeatureLayer=function(o,A,f,m,C){var E={semiMajorAxis:1,semiMinorAxis:1,height:0,heightReference:this._cesium.HeightReference.NONE,extrudedHeight:0,extrudedHeightReference:this._cesium.HeightReference.NONE,show:!0,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,scaleByDistance:new this._cesium.NearFarScalar(0,0,1,1)};!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a)))),!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||f.material.toString().charAt(0)=="("&&f.material.toString().charAt(f.material.length-1)==")"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!this._core.isnull(f)&&!this._core.isnull(f.radius)&&(E.semiMajorAxis=f.radius,E.semiMinorAxis=f.radius),I._core.isnull(f.near)&&(f.near=0),I._core.isnull(f.far)&&(f.far=999999999);var x=this._core.extend(E,f,!0);A==null&&console.log("geojson is required");var y=this._cesium.GeoJsonDataSource.load(A);this._viewer.dataSources.add(y);var I=this;y.then(function(B){I.item=B;for(var Q=B.entities.values,T=0;T<Q.length;T++){var w=Q[T];x.semiMajorAxis=parseFloat(I._core.extendgl(w,f.semiMajorAxis,x.semiMajorAxis)),x.semiMinorAxis=parseFloat(I._core.extendgl(w,f.semiMinorAxis,x.semiMinorAxis)),x.height=parseFloat(I._core.extendgl(w,f.height,x.height)),x.heightReference=I._core.extendgl(w,f.heightReference,x.heightReference),x.extrudedHeight=parseFloat(I._core.extendgl(w,f.extrudedHeight,x.extrudedHeight)),x.extrudedHeightReference=I._core.extendgl(w,f.extrudedHeightReference,x.extrudedHeightReference),x.show=I._core.extendgl(w,f.show,x.show),x.fill=I._core.extendgl(w,f.fill,x.fill),x.material=I._core.extendgl(w,f.material,x.material),x.outline=I._core.extendgl(w,f.outline,x.outline),x.outlineColor=I._core.extendgl(w,f.outlineColor,x.outlineColor),x.outlineWidth=parseFloat(I._core.extendgl(w,f.outlineWidth,x.outlineWidth)),x.scaleByDistance=I._core.extendgl(w,f.scaleByDistance,x.scaleByDistance);var S="material:"+x.material.red*255+","+x.material.green*255+","+x.material.blue*255+";outlineColor:"+x.outlineColor.red*255+","+x.outlineColor.green*255+","+x.outlineColor.blue*255;I.Legend.push(S);var D=parseFloat(I._core.extendgl(w,x.near)),R=parseFloat(I._core.extendgl(w,x.far)),P=new I._cesium.DistanceDisplayCondition(D,R);x.distanceDisplayCondition=P,w.billboard=void 0,w.ellipse=new I._cesium.EllipseGraphics(x)}typeof C=="function"&&C(B)}),this._core.isnull(x.id)&&(x.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+x.id);var v={id:x.id,name:o,pId:this._core.isnull(m)?0:m,type:"layer",item:this,url:A,style:x,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:!0,disFnc:C}};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),this};Kl.prototype.createModelPointGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x={uri:"",show:!0,scale:1,incrementallyLoadTextures:!0,runAnimations:!0,clampAnimations:!0,shadows:this._cesium.ShadowMode.ENABLED,heightReference:this._cesium.HeightReference.NONE,lightColor:void 0,scaleByDistance:new this._cesium.NearFarScalar(0,0,1,1),color:this._cesium.Color.WHITE,maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0},y=this;!this._core.isnull(f)&&!this._core.isnull(f.color)&&(this._core.isHtmlColor(f.color)?f.color=this._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=this._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=this._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a))),y._core.isnull(f.near)&&(f.near=0),y._core.isnull(f.far)&&(f.far=999999999);var I=this._core.extend(x,f,!0);A==null&&console.log("geojson is required");var v=this._cesium.GeoJsonDataSource.load(A);this._viewer.dataSources.add(v);var B;f&&f.time&&(B=new y._cesium.TimeIntervalCollection([new y._cesium.TimeInterval({start:f.time.start?y._cesium.JulianDate.fromDate(new Date(f.time.start)):y._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?y._cesium.JulianDate.fromDate(new Date(f.time.end)):y._cesium.Iso8601.MAXIMUM_VALUE})])),v.then(function(T){y.item=T;for(var w=T.entities.values,S=0;S<w.length;S++){var D=w[S];I.uri=y._core.extendgl(D,f.uri,I.uri),I.scale=parseFloat(y._core.extendgl(D,f.scale,I.scale)),I.incrementallyLoadTextures=y._core.extendgl(D,f.incrementallyLoadTextures,I.incrementallyLoadTextures),I.runAnimations=y._core.extendgl(D,f.runAnimations,I.runAnimations),I.clampAnimations=y._core.extendgl(D,f.clampAnimations,I.clampAnimations),I.shadows=y._core.extendgl(D,f.shadows,I.shadows),I.heightReference=y._core.extendgl(D,f.heightReference,I.heightReference),I.lightColor=y._core.extendgl(D,f.lightColor,I.lightColor),I.scaleByDistance=y._core.extendgl(D,f.scaleByDistance,I.scaleByDistance),I.color=y._core.extendgl(D,f.color,I.color),I.height?I.height=parseFloat(y._core.extendgl(D,f.height,I.height)):I.height=void 0;var R=parseFloat(y._core.extendgl(D,f.near,I.near)),P=parseFloat(y._core.extendgl(D,f.far,I.far)),M="color:"+I.color.red*255+","+I.color.green*255+","+I.color.blue*255;y.Legend.push(M);var L=new y._cesium.DistanceDisplayCondition(R,P);if(I.distanceDisplayCondition=L,D.billboard=void 0,D.model=new y._cesium.ModelGraphics(I),I.height){var F=y._cesium.Cartographic.fromCartesian(D.position._value),k=y._cesium.Math.toDegrees(F.longitude),N=y._cesium.Math.toDegrees(F.latitude);D.position=y._cesium.Cartesian3.fromDegrees(k,N,I.height)}B&&(D.availability=B)}typeof E=="function"&&E(T),C||y.setVisibility(!1)}),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id);var Q={id:I.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"modelLayer",item:this,url:A,style:I,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:!0,disFnc:E}};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),this};Kl.prototype.createLabelPointGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x={Name:"",text:"test",font:" 30px sans-serif",style:this._cesium.LabelStyle.FILL_AND_OUTLINE,fillColor:this._cesium.Color.WHITE,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new this._cesium.Color(.165,.165,.165,.8),backgroundPadding:new this._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,heightReference:this._cesium.HeightReference.RELATIVE_TO_GROUND,scaleByDistance:new this._cesium.NearFarScalar(0,0,1,1),pointHeight:0,maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0,addHeight:0},v=this;!this._core.isnull(f)&&!this._core.isnull(f.fillColor)&&(this._core.isHtmlColor(f.fillColor)?f.fillColor=this._color.colorFromHtmlColor(f.fillColor):(/^rgb/.test(f.fillColor)&&(f.fillColor=this._color.rgbaStringToRgbaObj(f.fillColor)),f.fillColor.r>1&&(f.fillColor.r=f.fillColor.r/255),f.fillColor.g>1&&(f.fillColor.g=f.fillColor.g/255),f.fillColor.b>1&&(f.fillColor.b=f.fillColor.b/255),f.fillColor.a>1&&(f.fillColor.a=f.fillColor.a/255),f.fillColor=this._color.createColor(f.fillColor.r,f.fillColor.g,f.fillColor.b,f.fillColor.a))),!this._core.isnull(f)&&!this._core.isnull(f.color)&&(this._core.isHtmlColor(f.color)?f.color=this._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=this._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=this._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a))),!this._core.isnull(f)&&!this._core.isnull(f.backgroundColor)&&(this._core.isHtmlColor(f.backgroundColor)?f.backgroundColor=this._color.colorFromHtmlColor(f.backgroundColor):(/^rgb/.test(f.backgroundColor)&&(f.backgroundColor=this._color.rgbaStringToRgbaObj(f.backgroundColor)),f.backgroundColor.r>1&&(f.backgroundColor.r=f.backgroundColor.r/255),f.backgroundColor.g>1&&(f.backgroundColor.g=f.backgroundColor.g/255),f.backgroundColor.b>1&&(f.backgroundColor.b=f.backgroundColor.b/255),f.backgroundColor.a>1&&(f.backgroundColor.a=f.backgroundColor.a/255),f.backgroundColor=this._color.createColor(f.backgroundColor.r,f.backgroundColor.g,f.backgroundColor.b,f.backgroundColor.a))),v._core.isnull(f.near)&&(f.near=0),v._core.isnull(f.far)&&(f.far=999999999);var y;f&&f.time&&(y=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:f.time.start?this._cesium.JulianDate.fromDate(new Date(f.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?this._cesium.JulianDate.fromDate(new Date(f.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})])),A==null&&console.log("geojson is required");var I=this._cesium.GeoJsonDataSource.load(A);this._viewer.dataSources.add(I);var v=this;this.option=f,this.loadGeosjonData=()=>{f=this.option;let Q=this.item.entities.values,T=this._core.extend(x,f,!0);v._core.isnull(T.font_size)&&(T.font_size="30px"),v._core.isnull(T.font_family)&&(T.font_family=" sans-serif"),T.font_size.toString().indexOf("px")==-1?T.font=T.font_size+"px "+T.font_family:T.font=T.font_size+" "+T.font_family,T.bold&&(T.font="bold "+T.font),T.italic&&(T.font="italic "+T.font),v.Legend=[];for(let w=0;w<Q.length;w++){let S=Q[w];T.font=v._core.extendgl(S,f.font,T.font),T.style=parseInt(v._core.extendgl(S,T.style,T.style)),T.fillColor=v._core.extendgl(S,f.fillColor,T.fillColor),T.outlineColor=v._core.extendgl(S,f.outlineColor,T.outlineColor),T.outlineWidth=parseFloat(v._core.extendgl(S,f.outlineWidth,T.outlineWidth)),T.show=v._core.extendgl(S,f.show,T.show),T.showBackground=v._core.extendgl(S,f.showBackground,T.showBackground),T.backgroundColor=v._core.extendgl(S,f.backgroundColor,T.backgroundColor),T.backgroundPadding=v._core.extendgl(S,f.backgroundPadding,T.backgroundPadding),T.scale=parseFloat(v._core.extendgl(S,f.scale,T.scale)),T.horizontalOrigin=v._core.extendgl(S,f.horizontalOrigin,T.horizontalOrigin),T.pointHeight=parseFloat(v._core.extendgl(S,f.pointHeight,T.pointHeight)),T.text=v._core.extendgl(S,f.text,T.text).toString();let D=parseFloat(v._core.extendgl(S,T.near)),R=parseFloat(v._core.extendgl(S,T.far)),P=new v._cesium.DistanceDisplayCondition(D,R);if(T.distanceDisplayCondition=P,T.image!=null&&T.image!=null&&T.image.length>0?(S.billboard={image:T.image},S.billboard.scale=T.scale,S.billboard.color=T.color,S.billboard.verticalOrigin=T.verticalOrigin,S.billboard.horizontalOrigin=T.horizontalOrigin,S.billboard.disableDepthTestDistance=T.disableDepthTestDistance,S.billboard.heightReference=T.heightReference,S.billboard.distanceDisplayCondition=T.distanceDisplayCondition):S.billboard=void 0,T.layertype=="ellipsoidlayer"){S.name=o;let F={show:!0,radii:new v._cesium.Cartesian3(T.long_axis,T.short_axis,T.long_axis),material:v._cesium.Color.fromRandom({alpha:1})};S.ellipsoid=new v._cesium.EllipsoidGraphics(F),S.ellipsoid.heightReference=T.heightReference,S.ellipsoid.material=url}let M={Name:T.Name,text:T.text,font:T.font,style:T.stylet,...T},L="fillColor:"+T.fillColor.red*255+","+T.fillColor.green*255+","+T.fillColor.blue*255+";outlineColor:"+T.outlineColor.red*255+","+T.outlineColor.green*255+","+T.outlineColor.blue*255;if(v.Legend.push(L),S.label=new v._cesium.LabelGraphics(M),y&&(S.availability=y),T.pointHeight||T.addHeight){let F=v._cesium.Cartographic.fromCartesian(S.position._value),k=v._cesium.Math.toDegrees(F.longitude),N=v._cesium.Math.toDegrees(F.latitude),G=(T.pointHeight||F.height)+T.addHeight,J=new Tn.Cartesian3.fromDegrees(k,N,G);S.position._value=J}S.label&&(T.labelData&&Object.assign(S.label,T.labelData),(T.offsetX||T.offsetY)&&(S.label.pixelOffset=new Tn.Cartesian2(T.offsetX||0,T.offsetY||0))),S.billboard&&T.imageData&&Object.assign(S.billboard,T.imageData)}},I.then(function(Q){v.item=Q,v.loadGeosjonData(),C||v.setVisibility(!1),typeof E=="function"&&E(Q)}),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u8857\u666F"+f.id);var B={id:f.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"labelPointLayer",item:this,url:A,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),this};Kl.prototype.createStreetscapeGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x={positions:[],arcType:this._cesium.ArcType.GEODESIC,clampToGround:!0,width:1,show:!0,material:this._cesium.Color.RED,height:30,maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0},y=this;!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||f.material.toString().charAt(0)=="("&&f.material.toString().charAt(f.material.length-1)==")"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)),f.arcType=="1"||f.arcType==1?f.material=new Tn.PolylineDashMaterialProperty({color:f.material}):f.material=f.material)),y._core.isnull(f.near)&&(f.near=0),y._core.isnull(f.far)&&(f.far=999999999);var I=this._core.extend(x,f,!0);A==null&&console.log("geojson is required");var v=null;A.then?v=A:v=this._cesium.GeoJsonDataSource.load(A),this._viewer.dataSources.add(v,{camera:this._viewer.scene.camera,canvas:this._viewer.scene.canvas,clampToGround:!0});var B;f&&f.time&&(B=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:f.time.start?this._cesium.JulianDate.fromDate(new Date(f.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?this._cesium.JulianDate.fromDate(new Date(f.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})])),v.then(function(T){y.item=T;for(var w=T.entities.values,S=0;S<w.length;S++){var D=w[S];I.arcType=y._core.extendgl(D,f.arcType,I.arcType),I.clampToGround=y._core.extendgl(D,f.clampToGround,I.clampToGround),I.width=parseFloat(y._core.extendgl(D,f.width,I.width)),I.show=y._core.extendgl(D,f.show,I.show),I.material=y._core.extendgl(D,f.material,I.material),I.height=parseFloat(y._core.extendgl(D,f.height,I.height));var R=parseFloat(y._core.extendgl(D,I.near)),P=parseFloat(y._core.extendgl(D,I.far)),M=new y._cesium.DistanceDisplayCondition(R,P);I.distanceDisplayCondition=M,D.polyline.arcType=!0,I.heightReference==0?D.polyline.arcType=0:D.polyline.arcType=1,D.polyline.clampToGround=I.clampToGround,D.polyline.width=I.width,D.polyline.height=I.height,D.polyline.show=I.show,D.polyline.material=I.material,D.polyline.distanceDisplayCondition=M;var L=[],F,k,N;D.polyline.positions._value.forEach(function(J){I.height?(F=y._cesium.Cartographic.fromCartesian(J),k=y._cesium.Math.toDegrees(F.longitude),N=y._cesium.Math.toDegrees(F.latitude),L.push(y._cesium.Cartesian3.fromDegrees(k,N,I.height))):L.push(J)}),D.polyline.positions=L,B&&(D.availability=B);var G="material:"+I.material.red*255+","+I.material.green*255+","+I.material.blue*255;y.Legend.push(G)}C||y.setVisibility(!1),typeof E=="function"&&E(T)}),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u8857\u666F"+I.id);var Q={id:I.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"Streetscape",item:this,url:A,style:I,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),this};Kl.prototype.createEllipsoidlayerPointGeoJsonFeatureLayer=function(o,A,f,m,C){var E={Name:"",text:"",font:" 30px sans-serif",style:this._cesium.LabelStyle.OUTLINE,fillColor:this._cesium.Color.WHITE,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new this._cesium.Color(.165,.165,.165,.8),backgroundPadding:new this._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,heightReference:this._cesium.HeightReference.NONE,scaleByDistance:new this._cesium.NearFarScalar(0,0,1,1)};!this._core.isnull(f)&&!this._core.isnull(f.fillColor)&&(f.fillColor.toString().charAt(0)=="["&&f.fillColor.toString().charAt(f.fillColor.length-1)=="]"||f.material.toString().charAt(0)=="("&&f.material.toString().charAt(f.material.length-1)==")"||(this._core.isHtmlColor(f.fillColor)?f.fillColor=this._color.colorFromHtmlColor(f.fillColor):(/^rgb/.test(f.fillColor)&&(f.fillColor=this._color.rgbaStringToRgbaObj(f.fillColor)),f.fillColor.r>1&&(f.fillColor.r=f.fillColor.r/255),f.fillColor.g>1&&(f.fillColor.g=f.fillColor.g/255),f.fillColor.b>1&&(f.fillColor.b=f.fillColor.b/255),f.fillColor.a>1&&(f.fillColor.a=f.fillColor.a/255),f.fillColor=this._color.createColor(f.fillColor.r,f.fillColor.g,f.fillColor.b,f.fillColor.a)))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a)))),!this._core.isnull(f)&&!this._core.isnull(f.backgroundColor)&&(f.backgroundColor.toString().charAt(0)=="["&&f.backgroundColor.toString().charAt(f.backgroundColor.length-1)=="]"||(this._core.isHtmlColor(f.backgroundColor)?f.backgroundColor=this._color.colorFromHtmlColor(f.backgroundColor):(/^rgb/.test(f.backgroundColor)&&(f.backgroundColor=this._color.rgbaStringToRgbaObj(f.backgroundColor)),f.backgroundColor.r>1&&(f.backgroundColor.r=f.backgroundColor.r/255),f.backgroundColor.g>1&&(f.backgroundColor.g=f.backgroundColor.g/255),f.backgroundColor.b>1&&(f.backgroundColor.b=f.backgroundColor.b/255),f.backgroundColor.a>1&&(f.backgroundColor.a=f.backgroundColor.a/255),f.backgroundColor=this._color.createColor(f.backgroundColor.r,f.backgroundColor.g,f.backgroundColor.b,f.backgroundColor.a)))),I._core.isnull(f.near)&&(f.near=0),I._core.isnull(f.far)&&(f.far=999999999);var x=this._core.extend(E,f,!0);A==null&&console.log("geojson is required");var y=this._cesium.GeoJsonDataSource.load(A);this._viewer.dataSources.add(y);var I=this;y.then(function(B){I.item=B;var Q=B.entities.values;I._core.isnull(f.font_size)&&(f.font_size="30px"),I._core.isnull(f.font_family)&&(f.font_family=" sans-serif"),x.font=f.font_size+"px "+f.font_family;for(var T=0;T<Q.length;T++){x.text=I._core.extendgl(entity,f.text,x.text),x.font=I._core.extendgl(entity,f.font,x.font),x.stylet=I._core.extendgl(entity,f.stylet,x.stylet),x.fillColor=I._core.extendgl(entity,f.fillColor,x.fillColor),x.outlineColor=I._core.extendgl(entity,f.outlineColor,x.outlineColor),x.outlineWidth=parseFloat(I._core.extendgl(entity,f.outlineWidth,x.outlineWidth)),x.show=I._core.extendgl(entity,f.show,x.show),x.showBackground=I._core.extendgl(entity,f.showBackground,x.showBackground),x.backgroundColor=I._core.extendgl(entity,f.backgroundColor,x.backgroundColor),x.backgroundPadding=I._core.extendgl(entity,f.backgroundPadding,x.backgroundPadding),x.scale=parseFloat(I._core.extendgl(entity,f.scale,x.scale)),x.horizontalOrigin=I._core.extendgl(entity,f.horizontalOrigin,x.horizontalOrigin),x.pointheight=parseFloat(I._core.extendgl(entity,f.pointheight,x.pointheight));var w=parseFloat(I._core.extendgl(entity,x.near)),S=parseFloat(I._core.extendgl(entity,x.far)),D="fillColor:"+x.fillColor.red*255+","+x.fillColor.green*255+","+x.fillColor.blue*255+";outlineColor:"+x.outlineColor.red*255+","+x.outlineColor.green*255+","+x.outlineColor.blue*255;I.Legend.push(D);var R=new I._cesium.DistanceDisplayCondition(w,S);if(x.distanceDisplayCondition=R,entity.ellipsoid.radii=new _this._cesium.Cartesian3(f.long_axis,f.short_axis,f.short_axis),entity.label=new I._cesium.LabelGraphics(x),entity.label.text=entity.properties[f.text]==null?f.text:entity.properties[f.text]._value,x.pointheight){var P=I._cesium.Cartographic.fromCartesian(entity.position._value),M=I._cesium.Math.toDegrees(P.longitude),L=I._cesium.Math.toDegrees(P.latitude);entity.position=I._cesium.Cartesian3.fromDegrees(M,L,x.pointheight)}}typeof C=="function"&&C(B)}),this._core.isnull(x.id)&&(x.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+x.id);var v={id:x.id,name:o,pId:this._core.isnull(m)?0:m,type:"pointLayer",item:this,url:A,style:x,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:!0,disFnc:C}};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),this};Kl.prototype.createBillboardGeoJsonFeature=function(o,A,f,m,C,E){var x={image:"",show:!0,scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,rotation:0,alignedAxis:this._cesium.Cartesian3.ZERO,width:2,height:void 0,color:this._cesium.Color.WHITE,heightReference:this._cesium.HeightReference.NONE,maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0,scaleByDistance:new this._cesium.NearFarScalar(0,0,1,1)};!this._core.isnull(f)&&!this._core.isnull(f.color)&&(f.color.toString().charAt(0)=="["&&f.color.toString().charAt(f.color.length-1)=="]"||(this._core.isHtmlColor(f.color)?f.color=this._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=this._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=this._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a))));var y=this._core.extend(x,f,!0);A==null&&console.log("geojson is required");var I=this._cesium.GeoJsonDataSource.load(A);this._viewer.dataSources.add(I);var v=this;v._core.isnull(f.near)&&(f.near=0),v._core.isnull(f.far)&&(f.far=999999999);var B;f&&f.time&&(B=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:f.time.start?this._cesium.JulianDate.fromDate(new Date(f.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?this._cesium.JulianDate.fromDate(new Date(f.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})])),I.then(function(T){v.item=T;for(var w=T.entities.values,S=0;S<w.length;S++){var D=w[S];y.image=v._core.extendgl(D,f.image,y.image),y.show=v._core.extendgl(D,f.show,y.show),y.scale=parseFloat(v._core.extendgl(D,f.scale,y.scale)),y.horizontalOrigin=v._core.extendgl(D,f.horizontalOrigin,y.horizontalOrigin),y.verticalOrigin=v._core.extendgl(D,f.verticalOrigin,y.verticalOrigin),y.eyeOffset=v._core.extendgl(D,f.eyeOffset,y.eyeOffset),y.pixelOffset=v._core.extendgl(D,f.pixelOffset,y.pixelOffset),y.alignedAxis=v._core.extendgl(D,f.alignedAxis,y.alignedAxis),y.rotation=v._core.extendgl(D,f.rotation,y.rotation),y.width?y.width=parseFloat(v._core.extendgl(D,f.width,y.width)):y.width=void 0,y.height?y.height=parseFloat(v._core.extendgl(D,f.height,y.height)):y.height=void 0,y.color=v._core.extendgl(D,f.color,y.color);var R="color:"+y.color.red*255+","+y.color.green*255+","+y.color.blue*255+";image:"+y.image;v.Legend.push(R);var P=parseFloat(v._core.extendgl(D,y.near)),M=parseFloat(v._core.extendgl(D,y.far)),L=new v._cesium.DistanceDisplayCondition(P,M);y.distanceDisplayCondition=L,D.billboard=void 0,D.billboard=new v._cesium.BillboardGraphics(y);var F=v._viewer.scene.globe.ellipsoid,k=v._cesium.Cartographic.fromCartesian(D.position._value),N=v._cesium.Math.toDegrees(k.longitude),G=v._cesium.Math.toDegrees(k.latitude);if(f.pointHeight)var J=f.pointHeight;else var J=k.height;var K=new v._cesium.Cartesian3.fromDegrees(N,G,J);D.position._value=K;var X={positions:K};D.description=X,B&&(D.availability=B)}C||v.setVisibility(!1),typeof E=="function"&&E(T)}),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id);var Q={id:y.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"imageLayer",item:this,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),this};Kl.prototype.createPolylineGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x={positions:[],arcType:this._cesium.ArcType.GEODESIC,clampToGround:!0,width:1,show:!0,material:this._cesium.Color.WHITE,outlineColor:this._cesium.Color.WHITE,gapColor:Tn.Color.TRANSPARENT,height:void 0,dashLength:16,outlineWidth:0,maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0},y=this;!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||f.material.toString().charAt(0)=="("&&f.material.toString().charAt(f.material.length-1)==")"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||f.outlineColor.toString().charAt(0)=="("&&f.outlineColor.toString().charAt(f.outlineColor.length-1)==")"||(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a)))),f.gapColor&&typeof f.gapColor=="string"&&(f.gapColor=Tn.Color.fromCssColorString(f.gapColor)),y._core.isnull(f.near)&&(f.near=0),y._core.isnull(f.far)&&(f.far=999999999),A==null&&console.log("geojson is required");var I=null;A.then?I=A:I=this._cesium.GeoJsonDataSource.load(A),this._viewer.dataSources.add(I,{camera:this._viewer.scene.camera,canvas:this._viewer.scene.canvas,clampToGround:!0});var v;f&&f.time&&(v=new y._cesium.TimeIntervalCollection([new y._cesium.TimeInterval({start:f.time.start?y._cesium.JulianDate.fromDate(new Date(f.time.start)):y._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?y._cesium.JulianDate.fromDate(new Date(f.time.end)):y._cesium.Iso8601.MAXIMUM_VALUE})])),this.option=f,this.loadGeosjonData=()=>{f=this.option;let Q=this.item.entities.values,T=this._core.extend(x,f,!0);y.Legend=[];for(let w=0;w<Q.length;w++){let S=Q[w];T.arcType=y._core.extendgl(S,f.arcType,T.arcType),T.clampToGround=y._core.extendgl(S,f.clampToGround,T.clampToGround),T.width=parseFloat(y._core.extendgl(S,f.width,T.width)),T.show=y._core.extendgl(S,f.show,T.show),T.material=y._core.extendgl(S,f.material,T.material),T.height=parseFloat(y._core.extendgl(S,f.height,T.height));let D=parseFloat(y._core.extendgl(S,T.near)),R=parseFloat(y._core.extendgl(S,T.far)),P=new y._cesium.DistanceDisplayCondition(D,R);if(T.distanceDisplayCondition=P,T.height!==void 0){let F=S.polyline.positions.getValue();S.polyline.positions=y._core.setpolylineheight(F,T.height)}S.polyline.clampToGround=T.clampToGround,S.polyline.width=T.width,S.polyline.show=T.show,S.polyline.distanceDisplayCondition=P,S.polyline.classificationType=T.classificationType;let M;T.dash?M=new Tn.PolylineDashMaterialProperty({color:T.material,gapColor:T.gapColor,dashLength:f.dashLength}):M=new Tn.PolylineOutlineMaterialProperty({color:T.material,outlineColor:T.outlineColor,outlineWidth:f.outlineWidth}),S.polyline.material=M,v&&(S.availability=v);let L="material:"+T.material.red*255+","+T.material.green*255+","+T.material.blue*255;y.Legend.push(L)}},I.then(function(Q){y.item=Q,y.loadGeosjonData(),C||y.setVisibility(!1),typeof E=="function"&&E(Q)}),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id);var B={id:f.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polylineLayer",item:this,url:A,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),this};Kl.prototype.createpolylineVolumeGeojsonFeatureLayer=function(o,A,f,m,C,E){var x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0,radius:.5,radiusScale:1};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||f.material.toString().charAt(0)=="("&&f.material.toString().charAt(f.material.length-1)==")"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var y=this._core.extend(x,f,!0);A==null&&console.log("geojson is required");var I=null;A.then?I=A:I=this._cesium.GeoJsonDataSource.load(A),this._viewer.dataSources.add(I);var v=this;y.shape=this.computeCircle(f.radius);var B;f&&f.time&&(B=new v._cesium.TimeIntervalCollection([new v._cesium.TimeInterval({start:f.time.start?v._cesium.JulianDate.fromDate(new Date(f.time.start)):v._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?v._cesium.JulianDate.fromDate(new Date(f.time.end)):v._cesium.Iso8601.MAXIMUM_VALUE})])),I.then(function(T){v.item=T;var w=T.entities.values;v._core.isnull(f.near)&&(f.near=0),v._core.isnull(f.far)&&(f.far=999999999);var S=parseFloat(f.near),D=parseFloat(f.far),R=new v._cesium.DistanceDisplayCondition(S,D);y.distanceDisplayCondition=R;var P=null;if(typeof y.radius=="string"&&y.radius.indexOf("[")>-1&&y.radius.indexOf("]")>-1){let q;if(y.radius=y.radius.replace("[",""),y.radius=y.radius.replace("]",""),w[0]&&w[0].properties[y.radius])if(q=w[0].properties[y.radius].getValue(),q.indexOf&&(q.indexOf("*")>-1||q.indexOf("x")>-1||q.indexOf("X")>-1)){q.indexOf("*")>-1?q=q.split("*"):q.indexOf("X")>-1?q=q.split("X"):q.indexOf("x")>-1&&(q=q.split("x"));var M=parseFloat(q[0])*y.radiusScale,L=parseFloat(q[1])*y.radiusScale;y.shape=[new v._cesium.Cartesian2(-M,-L),new v._cesium.Cartesian2(M,-L),new v._cesium.Cartesian2(M,L),new v._cesium.Cartesian2(-M,L)]}else y.shape=v._core.computeCircle(q*y.radiusScale);else y.shape=v._core.computeCircle(.5)}else if(y.slttype=="0"||y.slttype==0)y.shape=v._core.computeCircle(y.radius);else if(y.slttype=="1"||y.slttype==1)y.shape=v._core.starPositions(y.number,y.exradius,y.inradius);else if(y.slttype=="2"||y.slttype==2){var M=y.orth_width/2,L=y.orth_height/2;y.shape=[new v._cesium.Cartesian2(-M,-L),new v._cesium.Cartesian2(M,-L),new v._cesium.Cartesian2(M,L),new v._cesium.Cartesian2(-M,L)]}for(var F=0;F<w.length;F++){var k=w[F];y.show=v._core.extendgl(k,f.show,y.show),y.shape=v._core.extendgl(k,f.shape,y.shape),y.cornerType=v._core.extendgl(k,f.cornerType,y.cornerType),y.granularity=v._core.extendgl(k,f.granularity,y.granularity),y.fill=v._core.extendgl(k,f.fill,y.fill),y.material=v._core.extendgl(k,f.material,y.material),y.outline=v._core.extendgl(k,f.outline,y.outline),y.outlineColor=v._core.extendgl(k,f.outlineColor,y.outlineColor),y.outlineWidth=parseFloat(v._core.extendgl(k,f.outlineWidth,y.outlineWidth)),y.shadows=v._core.extendgl(k,f.shadows,y.shadows);var N=[],G,J,K;k.polyline.positions._value.forEach(function(q){y.height?(G=v._cesium.Cartographic.fromCartesian(q),J=v._cesium.Math.toDegrees(G.longitude),K=v._cesium.Math.toDegrees(G.latitude),N.push(v._cesium.Cartesian3.fromDegrees(J,K,y.height))):N.push(q)}),k.polylineVolume=new v._cesium.PolylineVolumeGraphics({positions:N,show:y.show,shape:y.shape,cornerType:y.cornerType,fill:y.fill,outline:y.outline,outlineWidth:y.outlineWidth,material:y.material,distanceDisplayCondition:R});var X="material:"+y.material.red*255+","+y.material.green*255+","+y.material.blue*255;v.Legend.push(X),k.polyline=void 0,B&&(k.availability=B)}C||v.setVisibility(!1),typeof E=="function"&&E(T)}),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u7BA1\u72B6\u56FE\u5C42"+y.id);var Q={id:y.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polylineVolumeLayer",item:this,url:A,style:y,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),this};Kl.prototype.createpolylineVolumeGeojsonPrimitiveLayer=function(o,A,f,m,C,E){let x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0,radius:.5,height:0,radiusScale:1};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||f.material.toString().charAt(0)=="("&&f.material.toString().charAt(f.material.length-1)==")"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),A==null&&console.log("geojson is required");let y=null;A.then?y=A:y=this._cesium.GeoJsonDataSource.load(A);let I=this;var v;f&&f.time&&(v=new I._cesium.TimeIntervalCollection([new I._cesium.TimeInterval({start:f.time.start?I._cesium.JulianDate.fromDate(new Date(f.time.start)):I._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?I._cesium.JulianDate.fromDate(new Date(f.time.end)):I._cesium.Iso8601.MAXIMUM_VALUE})]));let B=new Tn.PrimitiveCollection,Q={allowPicking:!0,appearance:new I._cesium.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:I._core.Shaders("vertexShaderSource"),fragmentShaderSource:I._core.Shaders("fragmentShaderSource")}),shadows:f.shadows,geometryInstances:void 0};this.option=f;let T={};function w(M){return T[M]||(T[M]=I._core.computeCircle(M)),T[M]}function S(M,L){if(typeof L.radius=="string"&&L.radius.indexOf("[")>-1&&L.radius.indexOf("]")>-1){let N=I._core.getEntityPropValue(M,L.radius);if(N)if(N.indexOf&&(N.indexOf("*")>-1||N.indexOf("x")>-1||N.indexOf("X")>-1)){N.indexOf("*")>-1?N=N.split("*"):N.indexOf("X")>-1?N=N.split("X"):N.indexOf("x")>-1&&(N=N.split("x"));let G=parseFloat(N[0])*L.radiusScale,J=parseFloat(N[1])*L.radiusScale;T[G+"*"+J]||(T[G+"*"+J]=[new I._cesium.Cartesian2(-G,-J),new I._cesium.Cartesian2(G,-J),new I._cesium.Cartesian2(G,J),new I._cesium.Cartesian2(-G,J)]),L.shape=T[G+"*"+J],L.radius=J}else L.radius=N*L.radiusScale,L.shape=w(L.radius),L.connect&&(L.connectRadius=N*L.radiusScale*1.1,L.connectRadius2=N*L.radiusScale*1.2,L.connectShape1=w(L.connectRadius),L.connectShape2=w(L.connectRadius2));else L.shape=w(.5),L.radius=.5,L.connect&&(L.connectRadius=L.radius*1.1,L.connectRadius2=L.radius*1.2,L.connectShape1=w(L.connectRadius),L.connectShape2=w(L.connectRadius2))}else if(L.slttype=="0"||L.slttype==0)L.shape=w(L.radius),L.connect&&(L.connectRadius=L.radius*1.1,L.connectRadius2=L.radius*1.2,L.connectShape1=w(L.connectRadius),L.connectShape2=w(L.connectRadius2));else if(L.slttype=="1"||L.slttype==1)L.shape=I._core.starPositions(L.number,L.exradius,L.inradius);else if(L.slttype=="2"||L.slttype==2){var F=L.orth_width/2,k=L.orth_height/2;L.shape=[new I._cesium.Cartesian2(-F,-k),new I._cesium.Cartesian2(F,-k),new I._cesium.Cartesian2(F,k),new I._cesium.Cartesian2(-F,k)],L.radius=k}}this.loadGeosjonData=()=>{f=this.option,I._core.isnull(f.near)&&(f.near=0),I._core.isnull(f.far)&&(f.far=999999999),f.near=parseFloat(f.near),f.far=parseFloat(f.far),B.removeAll();let M=this.dataSourceItem.entities.values;I.Legend=[];for(let L=0,F,k;L<M.length;L++)k=M[L],F=this._core.extend(x,f,!0),S(k,F),F.show=I._core.extendgl(k,f.show,F.show),F.shape=I._core.extendgl(k,f.shape,F.shape),F.cornerType=I._core.extendgl(k,f.cornerType,F.cornerType),F.granularity=I._core.extendgl(k,f.granularity,F.granularity),F.fill=I._core.extendgl(k,f.fill,F.fill),F.material=I._core.extendgl(k,f.material,F.material),F.outline=I._core.extendgl(k,f.outline,F.outline),F.outlineColor=I._core.extendgl(k,f.outlineColor,F.outlineColor),F.outlineWidth=parseFloat(I._core.extendgl(k,f.outlineWidth,F.outlineWidth)),F.shadows=I._core.extendgl(k,f.shadows,F.shadows),typeof F.material=="string"&&(F.material=Tn.Color.fromCssColorString(F.material)),R(k,F);I._viewer.scene.primitives.add(B)},I.item=B,y.then(function(M){I.dataSourceItem=M,I.loadGeosjonData(),C||I.setVisibility(!1),typeof E=="function"&&E(B)});async function D(M,L,F){let k=[],N=I._core.getPointFromTwoPointCenter([L[0],L[1]],F.connectRadius*2),G=I._core.getPointFromTwoPointCenter([L[0],L[1]],F.connectRadius2*2),J=I._core.getPointFromTwoPointCenter([L[L.length-1],L[L.length-2]],F.connectRadius*2),K=I._core.getPointFromTwoPointCenter([L[L.length-1],L[L.length-2]],F.connectRadius2*2);L[0].equals(L[1])&&L[2]&&(N=I._core.getPointFromTwoPointCenter([L[0],L[2]],F.connectRadius*2),G=I._core.getPointFromTwoPointCenter([L[0],L[2]],F.connectRadius2*2)),L[L.length-1].equals(L[L.length-2])&&L[L.length-3]&&(J=I._core.getPointFromTwoPointCenter([L[L.length-1],L[L.length-3]],F.connectRadius*2),K=I._core.getPointFromTwoPointCenter([L[L.length-1],L[L.length-3]],F.connectRadius2*2));let X=[],q=new Tn.EllipsoidGeometry({vertexFormat:{bitangent:!0,color:!0,position:!0,st:!0,normal:!0,tangent:!0},stackPartitions:16,slicePartitions:16,radii:new Tn.Cartesian3(F.connectRadius,F.connectRadius,F.connectRadius)}),ee;if(N&&G){if(!L[0].equals(N)){let H=[];ee=I._core.toDegrees(L[0]),ee.height-=F.radius*.1,H.push(I._core.fromDegrees(ee)),ee=I._core.toDegrees(N),ee.height-=F.radius*.1,H.push(I._core.fromDegrees(ee));let le=new I._cesium.PolylineVolumeGeometry({polylinePositions:H,shapePositions:F.connectShape1,cornerType:F.cornerType,VertexFormat:{bitangent:!0,color:!0,position:!0,st:!0,normal:!0,tangent:!0}});k.push(le)}if(!N.equals(G)){let H=[];ee=I._core.toDegrees(N),ee.height-=F.radius*.2,H.push(I._core.fromDegrees(ee)),ee=I._core.toDegrees(G),ee.height-=F.radius*.2,H.push(I._core.fromDegrees(ee));let le=new I._cesium.PolylineVolumeGeometry({polylinePositions:H,shapePositions:F.connectShape2,cornerType:F.cornerType,VertexFormat:{bitangent:!0,color:!0,position:!0,st:!0,normal:!0,tangent:!0}});k.push(le)}let ie=new Tn.GeometryInstance({geometry:q,modelMatrix:Tn.Matrix4.multiplyByTranslation(Tn.Transforms.eastNorthUpToFixedFrame(L[0]),new Tn.Cartesian3(0,0,F.radius),new Tn.Matrix4),attributes:{color:Tn.ColorGeometryInstanceAttribute.fromColor(F.material),distanceDisplayCondition:new Tn.DistanceDisplayConditionGeometryInstanceAttribute(F.near,F.far)}});X.push(ie)}if(J&&K){if(!L[L.length-1].equals(J)){let ie=[];ee=I._core.toDegrees(L[L.length-1]),ee.height-=F.radius*.1,ie.push(I._core.fromDegrees(ee)),ee=I._core.toDegrees(J),ee.height-=F.radius*.1,ie.push(I._core.fromDegrees(ee));let H=new I._cesium.PolylineVolumeGeometry({polylinePositions:ie,shapePositions:F.connectShape1,cornerType:F.cornerType,VertexFormat:{bitangent:!0,color:!0,position:!0,st:!0,normal:!0,tangent:!0}});k.push(H);let le=new Tn.GeometryInstance({geometry:q,modelMatrix:Tn.Matrix4.multiplyByTranslation(Tn.Transforms.eastNorthUpToFixedFrame(L[L.length-1]),new Tn.Cartesian3(0,0,F.radius),new Tn.Matrix4),attributes:{color:Tn.ColorGeometryInstanceAttribute.fromColor(F.material),distanceDisplayCondition:new Tn.DistanceDisplayConditionGeometryInstanceAttribute(F.near,F.far)}});X.push(le)}if(!K.equals(J)){let ie=[];ee=I._core.toDegrees(J),ee.height-=F.radius*.2,ie.push(I._core.fromDegrees(ee)),ee=I._core.toDegrees(K),ee.height-=F.radius*.2,ie.push(I._core.fromDegrees(ee));let H=new I._cesium.PolylineVolumeGeometry({polylinePositions:ie,shapePositions:F.connectShape2,cornerType:F.cornerType,VertexFormat:{bitangent:!0,color:!0,position:!0,st:!0,normal:!0,tangent:!0}});k.push(H)}}k.forEach(ie=>{let H=new I._cesium.GeometryInstance({id:I._core.getEntityProp(M),geometry:ie,attributes:{color:new I._cesium.ColorGeometryInstanceAttribute.fromColor(F.material),distanceDisplayCondition:new Tn.DistanceDisplayConditionGeometryInstanceAttribute(F.near,F.far)}});X.push(H)}),Q.geometryInstances=X,B.add(new Tn.Primitive(Q))}async function R(M,L){let F=M.polyline&&M.polyline.positions.getValue();if(!F||F.length<2)return;let k;L.height=I._core.defaultValue(f.height,-2),L.height.start&&L.height.end?L.height={start:I._core.getEntityPropValue(M,f.height.start)||-2,end:I._core.getEntityPropValue(M,f.height.end)||-2}:(typeof L.height=="string"&&L.height.includes("[")&&L.height.includes("]")&&(L.height=I._core.getEntityPropValue(M,f.height)||-2),L.height={start:L.height,end:L.height}),L.height._height=(L.height.end-L.height.start)/(F.length-1),F.forEach(function(X,q){k=Tn.Cartographic.fromCartesian(X),k.height=L.height.start+L.height._height*q-L.radius,Tn.Cartesian3.clone(Tn.Cartographic.toCartesian(k),X)});let N={polylinePositions:F,shapePositions:L.shape,cornerType:L.cornerType,VertexFormat:{bitangent:!0,color:!0,position:!0,st:!0,normal:!0,tangent:!0}},G=new Tn.PolylineVolumeGeometry(N),J=new Tn.GeometryInstance({id:I._core.getEntityProp(M),geometry:G,attributes:{color:new Tn.ColorGeometryInstanceAttribute.fromColor(L.material),distanceDisplayCondition:new Tn.DistanceDisplayConditionGeometryInstanceAttribute(L.near,L.far)}});Q.geometryInstances=J,B.add(new Tn.Primitive(Q)),console.log(L.material.toCssColorString()),L.connect&&L.shape.length>10&&D(M,F,L);let K="material:"+L.material.red*255+","+L.material.green*255+","+L.material.blue*255;I.Legend.push(K)}this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u7BA1\u72B6\u56FE\u5C42"+f.id);var P={id:f.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polylineVolumeLayer",item:this,url:A,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(P),this._tree.insertGroupId(P,this._core.isnull(m)?0:m),this};Kl.prototype.computeCircle=function(o){this._core.isnull(o)&&(o=4);for(var A=[],f=0;f<360;f++){var m=Tn.Math.toRadians(f);A.push(new this._cesium.Cartesian2(o*Math.cos(m),o*Math.sin(m)))}return A};Kl.prototype.createWallGeoFeatureLayer=function(o,A,f,m,C,E){var x={positions:[],minimumHeights:[],maximumHeights:[],granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a))));var y=this._core.extend(x,f,!0);A==null&&console.log("geojson is required");var I=null;A.then?I=A:I=this._cesium.GeoJsonDataSource.load(A),this._viewer.dataSources.add(I);var v=this,B;f&&f.time&&(B=new v._cesium.TimeIntervalCollection([new v._cesium.TimeInterval({start:f.time.start?v._cesium.JulianDate.fromDate(new Date(f.time.start)):v._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?v._cesium.JulianDate.fromDate(new Date(f.time.end)):v._cesium.Iso8601.MAXIMUM_VALUE})])),I.then(function(T){v.item=T;var w=T.entities.values;v._core.isnull(f.near)&&(f.near=0),v._core.isnull(f.far)&&(f.far=999999999);var S=parseFloat(f.near),D=parseFloat(f.far),R=new v._cesium.DistanceDisplayCondition(S,D);y.distanceDisplayCondition=R;for(var P=0;P<w.length;P++){var M=w[P];y.granularity=v._core.extendgl(M,f.granularity,y.granularity),y.fill=v._core.extendgl(M,f.fill,y.fill),y.material=v._core.extendgl(M,f.material,y.material),y.outline=v._core.extendgl(M,f.outline,y.outline),y.outlineColor=v._core.extendgl(M,f.outlineColor,y.outlineColor),y.outlineWidth=parseFloat(v._core.extendgl(M,f.outlineWidth,y.outlineWidth)),y.shadows=v._core.extendgl(M,f.shadows,y.shadows);var L=M.polyline.positions._value.length,F=new Array(L),k=new Array(L);F.fill(y.minimumHeights),k.fill(y.maximumHeights),M.wall=new v._cesium.WallGraphics({positions:M.polyline.positions._value,maximumHeights:k,minimumHeights:F,outline:y.outline,fill:y.fill,material:y.material,outlineColor:y.outlineColor,outlineWidth:y.outlineWidth,shadows:y.shadows,distanceDisplayCondition:R});var N="material:"+y.material.red*255+","+y.material.green*255+","+y.material.blue*255+";outlineColor:"+y.outlineColor.red*255+","+y.outlineColor.green*255+","+y.outlineColor.blue*255;v.Legend.push(N),M.polyline=void 0,B&&(M.availability=B)}C||v.setVisibility(!1),typeof E=="function"&&E(T)}),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u5899\u56FE\u5C42"+y.id);var Q={id:y.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polylineWallLayer",item:this,url:A,style:y,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),this};Kl.prototype.createterrainProvider=function(o,A,f,m){var C={url:"https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer"},E=this._core.extend(C,A,!0),x=new this._cesium.CesiumTerrainProvider(E);return this._viewer.terrainProvider=x,this.item=x,typeof m=="function"&&m(dataSource),this._core.isnull(E.id)&&(E.id=this._core.getuid()),this._tree.insertGroupId({id:E.id,name:o,pId:this._core.isnull(f)?0:f,type:"terrainProvider",item:this},this._core.isnull(f)?0:f),this};Kl.prototype.createPolygonGeoJsonFeatureLayers=function(o,A,f,m,C,E){var x={height:0,extrudedHeight:0,heightReference:this._cesium.HeightReference.NONE,show:!0,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,stRotation:0,granularity:this._cesium.Math.RADIANS_PER_DEGREE,perPositionHeight:!1,closeTop:!0,closeBottom:!0,shadows:this._cesium.ShadowMode.ENABLED,clampToGround:!0};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||f.material.toString().charAt(0)=="("&&f.material.toString().charAt(f.material.length-1)==")"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a)))),f.checked=C;var y=this._core.extend(x,f,!0);A==null&&console.log("geojson is required");var I=null;A.then?I=A:I=this._cesium.GeoJsonDataSource.load(A),this._viewer.dataSources.add(I);var v=this;I.then(function(Q){v.item=Q;var T=Q.entities.values;v._core.isnull(f.near)&&(f.near=0),v._core.isnull(f.far)&&(f.far=999999999);var w=parseFloat(f.near),S=parseFloat(f.far),D=new v._cesium.DistanceDisplayCondition(w,S);y.distanceDisplayCondition=D;for(var R=0;R<T.length;R++){var P=T[R];y.height=parseFloat(v._core.extendgl(P,f.height,y.height)),y.extrudedHeight=parseFloat(v._core.extendgl(P,f.extrudedHeight,y.extrudedHeight)),y.heightReference=v._core.extendgl(P,f.heightReference,y.heightReference),y.show=v._core.extendgl(P,f.show,y.show),y.fill=v._core.extendgl(P,f.fill,y.fill),y.material=v._core.extendgl(P,f.material,y.material),y.outline=v._core.extendgl(P,f.outline,y.outline),y.outlineColor=v._core.extendgl(P,f.outlineColor,y.outlineColor),y.outlineWidth=parseFloat(v._core.extendgl(P,f.outlineWidth,y.outlineWidth)),y.stRotation=parseInt(v._core.extendgl(P,f.stRotation,y.stRotation)),y.granularity=v._core.extendgl(P,f.granularity,y.granularity),y.shadows=v._core.extendgl(P,f.shadows,y.shadows),P.polygon.height=y.height,P.polygon.extrudedHeight=y.extrudedHeight,P.polygon.heightReference=y.heightReference,P.polygon.show=y.show,P.polygon.fill=y.fill,P.polygon.material=y.material,P.polygon.outline=y.outline,P.polygon.outlineColor=y.outlineColor,P.polygon.outlineWidth=y.outlineWidth,P.polygon.stRotation=y.stRotation,P.polygon.granularity=y.granularity,P.polygon.distanceDisplayCondition=D,P.polygon.perPositionHeight=y.perPositionHeight,P.polygon.closeTop=y.closeTop,P.polygon.closeBottom=y.closeBottom,P.polygon.shadows=y.shadows;var M="material:"+y.material.red*255+","+y.material.green*255+","+y.material.blue*255+";outlineColor:"+y.outlineColor.red*255+","+y.outlineColor.green*255+","+y.outlineColor.blue*255;v.Legend.push(M)}typeof E=="function"&&E(Q),f.checked||v.setVisibility(!1)}),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id);var B={id:y.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A,style:y,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),this};Kl.prototype.createPrimitivePolygon=async function(o,A){let f,m=A.clampToGround?Tn.PerInstanceColorAppearance.FLAT_VERTEX_FORMAT:Tn.VertexFormat.POSITION_AND_NORMAL;o==="bulidingWall"?f=new Tn.CorridorGeometry({positions:A.positions,width:A.bulidingWallWidth||.8,height:A.height,extrudedHeight:A.extrudedHeight,vertexFormat:m,cornerType:Tn.CornerType.MITERED}):f=new Tn.PolygonGeometry({polygonHierarchy:new Tn.PolygonHierarchy(A.positions,A.holes),height:A.height,extrudedHeight:A.extrudedHeight,vertexFormat:m,perPositionHeight:!1});let C=new Tn.GeometryInstance({id:A.prop,geometry:f,attributes:{color:new Tn.ColorGeometryInstanceAttribute.fromColor(A.material),distanceDisplayCondition:new Tn.DistanceDisplayConditionGeometryInstanceAttribute(A.near,A.far)}});if(o==="mask")this.primitivePolygon=new Tn.GroundPrimitive({geometryInstances:C,appearance:new Tn.PerInstanceColorAppearance({translucent:A.material.alpha<1}),classificationType:A.classificationType}),this._viewer.scene.primitives.add(this.primitivePolygon);else{this.primitivePolygon||(this.primitivePolygon=new Tn.PrimitiveCollection,this._viewer.scene.primitives.add(this.primitivePolygon));let E=A.clampToGround?Tn.GroundPrimitive:Tn.Primitive,x=new E({geometryInstances:C,appearance:new Tn.PerInstanceColorAppearance({translucent:A.material.alpha<1}),classificationType:A.classificationType});this.primitivePolygon.add(x)}};Kl.prototype.createPolygonGeoJsonFeatureLayer=function(o,A,f={},m,C,E){var x={height:0,show:!0,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,stRotation:0,shadows:this._cesium.ShadowMode.ENABLED,clampToGround:!0,classificationType:this._cesium.ClassificationType.BOTH,maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,disableDepthTestDistance:1/0,near:0,mask:!1};f.material&&typeof f.material=="string"&&f.material.indexOf("[")===-1&&(f.material=Tn.Color.fromCssColorString(f.material)),f.fillColor&&typeof f.fillColor=="string"&&f.fillColor.indexOf("[")===-1&&(f.fillColor=Tn.Color.fromCssColorString(f.fillColor)),f.outlineColor&&typeof f.outlineColor=="string"&&f.outlineColor.indexOf("[")===-1&&(f.outlineColor=Tn.Color.fromCssColorString(f.outlineColor)),f.labelOutlineColor&&typeof f.labelOutlineColor=="string"&&f.labelOutlineColor.indexOf("[")===-1&&(f.labelOutlineColor=Tn.Color.fromCssColorString(f.labelOutlineColor)),f.checked=C;var y={clampToGround:!0};A==null&&console.log("geojson is required");var I=null;let v=async w=>{try{let S={type:"FeatureCollection",features:[]},D=w.map(P=>fetch(P).then(M=>M.json())),R=await Promise.all(D);for(let P=0;P<R.length;P++)for(let M=0;M<R[P].features.length;M++)S.features.push(R[P].features[M]);return I=this._cesium.GeoJsonDataSource.load(S,y),I}catch(S){throw console.error("\u53D1\u751F\u9519\u8BEF\uFF1A",S),S}};var B=this,Q;A.then?I=A:A instanceof Array?v(A).then(()=>{I.then(function(w){B.item=w,B.loadGeosjonData(),f.checked?B.isShow=!0:B.setVisibility(!1),typeof E=="function"&&E(w)}),this._viewer.dataSources.add(I)}):(I=this._cesium.GeoJsonDataSource.load(A,y),console.log(this._cesium.GeoJsonDataSource.load(A,y)),this._viewer.dataSources.add(I)),f&&f.time&&(Q=new B._cesium.TimeIntervalCollection([new B._cesium.TimeInterval({start:f.time.start?B._cesium.JulianDate.fromDate(new Date(f.time.start)):B._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?B._cesium.JulianDate.fromDate(new Date(f.time.end)):B._cesium.Iso8601.MAXIMUM_VALUE})])),this.option=f,this.loadGeosjonData=()=>{f=this.option;let w=this.item.entities.values,S=this._core.extend(x,f,!0);B._core.isnull(f.near)&&(f.near=0),B._core.isnull(f.far)&&(f.far=999999999);let D=parseFloat(f.near),R=parseFloat(f.far),P=new B._cesium.DistanceDisplayCondition(D,R);S.distanceDisplayCondition=P,S.text&&(!S.font_family&&(S.font_family="\u5FAE\u8F6F\u96C5\u9ED1"),!S.font_size&&(S.font_size="18px"),S.font=S.font_size+" "+S.font_family,S.bold&&(S.font="bold "+S.font),S.italic&&(S.font="italic "+S.font),S.labelNearFar=new Tn.DistanceDisplayCondition(S.labelNear||D,S.labelFar||R)),B.Legend=[];let M=[];B.primitivePolygon&&B._viewer.scene.primitives.remove(B.primitivePolygon),B.primitivePolygon=null;for(let L=0;L<w.length;L++){let F=w[L];if(S.height=parseFloat(B._core.extendgl(F,f.height,S.height)),S.extrudedHeight=B._core.extendgl(F,f.extrudedHeight,S.extrudedHeight),S.extrudedHeight=S.height+S.extrudedHeight,S.heightReference=B._core.extendgl(F,f.heightReference,S.heightReference),S.show=B._core.extendgl(F,f.show,S.show),S.fill=B._core.extendgl(F,f.fill,S.fill),S.material=B._core.extendgl(F,f.material,S.material),S.extrudedHeight!==void 0&&(S.extrudedHeight=parseFloat(S.extrudedHeight)),S.outline=B._core.extendgl(F,f.outline,S.outline),S.outlineColor=B._core.extendgl(F,f.outlineColor,S.outlineColor),S.outlineWidth=parseFloat(B._core.extendgl(F,f.outlineWidth,S.outlineWidth)),S.stRotation=B._core.extendgl(F,f.stRotation,S.stRotation),S.granularity=B._core.extendgl(F,f.granularity,S.granularity),S.distanceDisplayCondition=B._core.extendgl(F,f.distanceDisplayCondition,S.distanceDisplayCondition),S.perPositionHeight=B._core.extendgl(F,f.perPositionHeight,S.perPositionHeight),S.closeTop=B._core.extendgl(F,f.closeTop,S.closeTop),S.closeBottom=B._core.extendgl(F,f.closeBottom,S.closeBottom),S.shadows=B._core.extendgl(F,f.shadows,S.shadows),S.classificationType=B._core.extendgl(F,f.classificationType,S.classificationType),S.text=B._core.extendgl(F,f.text,S.text),S.clampToGround&&S.mask)F.polygon.show=!1,M.push(F.polygon.hierarchy.getValue()),L===w.length-1&&B.createPrimitivePolygon("mask",{positions:Tn.Cartesian3.fromDegreesArray([30,0,30,80,179,80,179,0]),holes:M,...S});else if(F.polygon.defaultHierarchy&&(F.polygon.hierarchy=F.polygon.defaultHierarchy),F.polygon.show=!0,F.polygon.extrudedHeightReference=S.extrudedHeightReference,F.polygon.heightReference=S.heightReference,S.heightReference!=1&&(F.polygon.height=S.height,S.height&&(F.polygon.perPositionHeight=!1)),S.extrudedHeightReference!=1&&(F.polygon.extrudedHeight=S.extrudedHeight),S.clampToGround&&(F.polygon.height=void 0,F.polygon.heightReference=1,F.polygon.extrudedHeight=void 0,F.polygon.perPositionHeight=!1),F.polygon.show=S.show,F.polygon.fill=S.fill,F.polygon.material=S.material,F.polygon.outline=S.outline,F.polygon.outlineColor=S.outlineColor,F.polygon.outlineWidth=S.outlineWidth,F.polygon.stRotation=S.stRotation,F.polygon.granularity=S.granularity,F.polygon.distanceDisplayCondition=P,F.polygon.closeTop=S.closeTop,F.polygon.closeBottom=S.closeBottom,F.polygon.shadows=S.shadows,F.polygon.classificationType=S.classificationType,S.bulidingWall){F.polygon.show=!1;let N=F.polygon.hierarchy.getValue().positions;B.createPrimitivePolygon("bulidingWall",{positions:N,...S}),L===w.length-1?(B.item.boundingSphere=Tn.BoundingSphere.fromPoints(B.item.boundingPointsArr),B.item.boundingPointsArr=null):(!B.item.boundingPointsArr&&(B.item.boundingPointsArr=[]),B.item.boundingPointsArr.push(N[0]))}if(S.clampToGround&&S.outline?F.polyline={positions:F.polygon.hierarchy.getValue().positions,material:S.outlineColor,width:S.outlineWidth,classificationType:S.classificationType,clampToGround:!0,distanceDisplayCondition:P,zIndex:1}:F.polyline=void 0,S.text){let N=B._core.getCenterOfMass(F.polygon.hierarchy.getValue().positions);F.position=Tn.Cartesian3.fromDegrees(N[0],N[1],N[2]),S.pointHeight!==void 0&&(F.position=Tn.Cartesian3.fromDegrees(N[0],N[1],S.pointHeight)),F.label={text:S.text,font:S.font,style:Tn.LabelStyle.FILL_AND_OUTLINE,fillColor:S.fillColor||S.material,outlineColor:S.labelOutlineColor||S.outlineColor,outlineWidth:S.labelOutlineWidth||0,pixelOffset:S.pixelOffset,disableDepthTestDistance:B._core.defaultValue(S.disableDepthTestDistance,1/0),distanceDisplayCondition:S.labelNearFar}}else F.label=void 0;let k="material:"+S.material.red*255+","+S.material.green*255+","+S.material.blue*255+";outlineColor:"+S.outlineColor.red*255+","+S.outlineColor.green*255+","+S.outlineColor.blue*255;B.Legend.push(k),Q&&(F.availability=Q)}},A instanceof Array||I.then(function(w){B.item=w,B.loadGeosjonData(),f.checked?B.isShow=!0:B.setVisibility(!1),typeof E=="function"&&E(w)}),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id);var T={id:f.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(T),this._tree.insertGroupId(T,this._core.isnull(m)?0:m),this};Kl.prototype.createGeoJsonDataSource=function(o,A,f,m,C){var E=this._cesium.GeoJsonDataSource.load(A,f);this._viewer.dataSources.add(E);var x=this;return E.then(function(y){x.item=y,typeof C=="function"&&C(y)}),this._tree.insertGroupId({id:this._core.getuid(),name:o,pId:this._core.isnull(m)?0:m,type:"layer",item:this},this._core.isnull(m)?0:m),this};Kl.prototype.deleteObject=function(){this._viewer.dataSources.remove(this.item),this._viewer.scene.primitives.remove(this.item),this.item=null,this.primitivePolygon&&this._viewer.scene.primitives.remove(this.primitivePolygon),this.primitivePolygon=null};Kl.prototype.getLevel=function(){var o=40487.57,A=7096758e-11,f=91610.74,m=-40467.74,C=this._viewer.camera,E,x;if(C&&C.positionCartographic&&C.positionCartographic.height){var y=this._viewer.scene.globe.getHeight(C.positionCartographic);!y&&(y=0),E=C.positionCartographic.height-y,x=Math.round(m+(o-m)/(1+Math.pow(E/f,A)))}else x=0;return x};Kl.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.treeobj.url;return{type:this.treeobj.type,treeobj:{name:this.treeobj.name,pId:this.treeobj.pId},style:{show:o,url:A},treeData:this.treeobj.treeData}};Kl.prototype.setVisibility=function(o){this.isShow=o,this.item!=null&&(this.item.show=o),this.primitivePolygon&&(this.primitivePolygon.show=o)};Kl.prototype.getVisibility=function(){return this.item.show};Kl.prototype.getProperties=function(){var o=[];if(this.item.entities.values){var A=this.item.entities.values[0];if(A.properties)for(var f=0;f<A.properties.propertyNames.length;f++)o.push({value:"["+A.properties.propertyNames[f]+"]",label:A.properties.propertyNames[f]})}return o};Kl.prototype.getTypes=function(){if(this.item.entities.values){var o=this.item.entities.values[0];if(/^point.fid/.test(o._id)||o.point!=null)return[{label:"\u6587\u672C\u6807\u7B7E",value:"labelLayer"},{label:"\u56FE\u7247\u6807\u7B7E",value:"billboardLayer"},{label:"\u70B9\u6807\u7B7E",value:"pointLayer"},{label:"\u6A21\u578B",value:"modelLayer"},{label:"\u5706",value:"circleLayer"}];if(/^polygon.fid/.test(o._id)||o.polygon!=null)return[{label:"\u9762",value:"polygonLayer"}];if(/^line.fid/.test(o._id)||o.polyline!=null)return[{label:"\u7EBF",value:"polylineLayer"}]}};Kl.prototype.saveDefaultGeosjonData=function(){this.defaultVectorData=this._core.extend({},this.option,!0)};Kl.prototype.restoreGeosjon=function(){this.defaultVectorData&&(this.option=this.defaultVectorData,this.loadGeosjonData()),this.defaultVectorData=void 0};Kl.prototype.updataGeosjon=function(o={}){(o.material||o.color||o.fillColor||o.labelOutlineColor||o.outlineColor||o.backgroundColor||o.gapColor)&&(o.color&&(o.color=Tn.Color.fromCssColorString(o.color)),o.material&&(o.material=Tn.Color.fromCssColorString(o.material)),o.fillColor&&(o.fillColor=Tn.Color.fromCssColorString(o.fillColor)),o.outlineColor&&(o.outlineColor=Tn.Color.fromCssColorString(o.outlineColor)),o.labelOutlineColor&&(o.labelOutlineColor=Tn.Color.fromCssColorString(o.labelOutlineColor)),o.backgroundColor&&(o.backgroundColor=Tn.Color.fromCssColorString(o.backgroundColor)),o.gapColor&&(o.gapColor=Tn.Color.fromCssColorString(o.gapColor))),this.option=this._core.extend(this.option,o,!0),this.item&&(clearTimeout(this.updataGeojsonTime),this.updataVectorTime=setTimeout(()=>{this.loadGeosjonData()},100))};Kl.prototype.getType=function(){if(this.item.entities.values){var o=this.item.entities.values[0];return o.label!=null&&o.label.show?{label:"\u6587\u672C\u6807\u7B7E",value:"labelLayer"}:o.model!=null&&o.model.show?{label:"\u6A21\u578B",value:"modelLayer"}:o.billboard!=null&&o.billboard.show?{label:"\u56FE\u7247\u6807\u7B7E",value:"billboardLayer"}:o.ellipse!=null&&o.ellipse.show?{label:"\u5706",value:"circleLayer"}:/^polygon.fid/.test(o._id)||o.polygon!=null?{label:"\u9762",value:"polygonLayer"}:/^line.fid/.test(o._id)||o.polyline!=null?{label:"\u7EBF",value:"polylineLayer"}:o.polylineVolume!=null&&o.polylineVolume.show?{label:"\u626B\u63A0\u4F53",value:"polylineVolume"}:o.wall!=null&&o.wall!=null?{label:"\u5899",value:"polylineWall"}:{label:"\u70B9\u6807\u7B7E",value:"pointLayer"}}};Kl.prototype.getLegend=function(){var o=[];return this.Legend!=null&&(o=this._core.unique(this.Legend)),o};Kl.prototype.getFirstDataSourceItem=function(){if(this.item.entities.values){var o=this.item.entities.values[0];return o}};Kl.prototype.setTreeobj=function(o){this.treeobj=o};Kl.prototype.setItem=function(o){this.item=o};Object.defineProperties(Kl.prototype,{labelText:{set:bi.debounce(function(o){var A=o;if(!this._core.isnull(o)){var f=this.item.entities.values;if(f&&f.length>0)for(var m=0;m<f.length;m++)if(/^\[/.test(o)&&(A=o.replace(/\[/,"").replace(/\]/,""),A=f[m].properties[A]._value),f[m].label){f[m].label.text=A;try{f[m].point.show=!1}catch{}}else{try{f[m].point.show=!1}catch{}f[m].label=new this._cesium.LabelGraphics({text:A,font:"30px sans-serif",style:this._cesium.LabelStyle.FILL,fillColor:this._cesium.Color.WHITE,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new this._cesium.Color(.165,.165,.165,.8),backgroundPadding:new this._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,heightReference:this._cesium.HeightReference.NONE})}}},500)},labelStyles:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.style=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label)return o[0].label.style}},labelFont:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(o=o.toString().replace(/px/g,""),!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)){var f=A[0].label.font,m=16;if(f&&(f=f._value.trimLeft().trimRight(),m=f.split("px")[0]),A&&A.length>0&&A[0].label)for(var C=0;C<A.length;C++)A[C].label.font=m+"px "+o}}},500)},labelFontSize1:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(o=o.toString().replace(/px/g,""),!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)){var f=A[0].label.font,m="sans-serif";if(f&&(f=f._value.trimLeft().trimRight(),m=f.split("px")[1]),A&&A.length>0&&A[0].label)for(var C=0;C<A.length;C++)A[C].label.font=o+"px "+m}}},500)},labelFontSize:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(o=o.toString().replace(/px/g,""),!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.font=o+"px sans-serif"}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label)return parseFloat(o[0].label.font)}},labelFillColor:{set:bi.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.fillColor=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.fillColor;return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}}},labelOutlineColor:{set:bi.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.outlineColor=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.outlineColor;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},labelOutlineWidth:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].label.outlineWidth=o}},200),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.outlineWidth;return A?A._value:void 0}}},labelBackgroundColor:{set:bi.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.backgroundColor=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.backgroundColor;return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}}},labelBackground:{set:bi.debounce(function(o){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.showBackground=o},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label)return o[0].label.background}},labelScale:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].label.scale=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.scale;return A?A._value:void 0}}},labelHorizontalOrigin:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.horizontalOrigin=parseInt(o)}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.horizontalOrigin;return A?A._value:void 0}}},labelVerticalOrigin:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.verticalOrigin=parseInt(o)}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.verticalOrigin;return A?A._value:void 0}}},labelHeightReference:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.heightReference=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.heightReference;return A?A._value:void 0}}},labelDistanceDisplayMaxCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=A[0].label.distanceDisplayCondition?A[0].label.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].label.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,parseInt(o)),A[m].label.scaleByDistance=new this._cesium.NearFarScalar(f,1,parseInt(o),0)}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.distanceDisplayCondition?o[0].label.distanceDisplayCondition._value.far:Number.MAX_VALUE;return A}}},labelDistanceDisplayMinCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=A[0].label.distanceDisplayCondition?A[0].label.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].label.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(parseInt(o),f),A[m].label.scaleByDistance=new this._cesium.NearFarScalar(parseInt(o),1,f,0)}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.distanceDisplayCondition?o[0].label.distanceDisplayCondition._value.near:0;return A}}},labelHeight:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].position==null)&&A&&A.length>0&&A[0].position)for(var f=0;f<A.length;f++){var m=this._cesium.Cartographic.fromCartesian(A[f].position._value),C=this._cesium.Math.toDegrees(m.longitude),E=this._cesium.Math.toDegrees(m.latitude),x=this._cesium.Cartesian3.fromDegrees(C,E,o);A[f].position=x}}},500),get:function(){return 0}},labelShow:{set:bi.debounce(function(o){var A=this.item.entities.values;if(A&&A.length>0)for(var f=0;f<A.length;f++)!A[f].label&&o?(A[f].point&&(A[f].point.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard&&(A[f].billboard.show=!o),A[f].label=new this._cesium.LabelGraphics({text:"label",font:"30px sans-serif",style:this._cesium.LabelStyle.FILL,fillColor:this._cesium.Color.WHITE,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new this._cesium.Color(.165,.165,.165,.8),backgroundPadding:new this._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,heightReference:this._cesium.HeightReference.NONE})):(A[f].label&&(A[f].label.show=o),A[f].point&&(A[f].point.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard&&(A[f].billboard.show=!o))},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label)return o[0].label.show}},pointColor:{set:bi.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)A[f].point.color=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.color;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},pointShow:{set:bi.debounce(function(o){var A=this.item.entities.values;if(A&&A.length>0)for(var f=0;f<A.length;f++)!A[f].point&&o?(A[f].label&&(A[f].label.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard&&(A[f].billboard.show=!o),A[f].point=new this._cesium.PointGraphics({color:this._cesium.Color.WHITE,pixelSize:1,outlineColor:this._cesium.Color.BLACK,outlineWidth:0,show:!0})):(A[f].point&&(A[f].point.show=o),A[f].label&&(A[f].label.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard&&(A[f].billboard.show=!o))},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point)return o[0].point.show}},pointPixelSize:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].point.pixelSize=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.pixelSize;return A?A._value:void 0}}},pointOutlineColor:{set:bi.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)A[f].point.outlineColor=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.outlineColor;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},pointOutlineWidth:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].point.outlineWidth=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.outlineWidth;return A?A._value:void 0}}},pointHeightReference:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)A[f].point.heightReference=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.heightReference;return A?A._value:void 0}}},pointDistanceDisplayMaxCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=A[0].point.distanceDisplayCondition?A[0].point.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].point.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,o),A[m].point.scaleByDistance=new this._cesium.NearFarScalar(f,1,o,0)}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.distanceDisplayCondition?o[0].point.distanceDisplayCondition._value.far:Number.MAX_VALUE;return A}}},pointDistanceDisplayMinCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=A[0].point.distanceDisplayCondition?A[0].point.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].point.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,f),A[m].point.scaleByDistance=new this._cesium.NearFarScalar(o,1,f,0)}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.distanceDisplayCondition?o[0].point.distanceDisplayCondition._value.near:0;return A}}},pointHeight:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].position==null)&&A&&A.length>0&&A[0].position)for(var f=0;f<A.length;f++){var m=this._cesium.Cartographic.fromCartesian(A[f].position._value),C=this._cesium.Math.toDegrees(m.longitude),E=this._cesium.Math.toDegrees(m.latitude),x=this._cesium.Cartesian3.fromDegrees(C,E,o);A[f].position=x}}},500),get:function(){return 0}},modelShow:{set:bi.debounce(function(o){var A=this.item.entities.values;if(A&&A.length>0)for(var f=0;f<A.length;f++)A[f].label&&(A[f].label.show=!o),A[f].point&&(A[f].point.show=!o),A[f].billboard&&(A[f].billboard.show=!o),!A[f].model&&o?A[f].model=new this._cesium.ModelGraphics({show:!0,scale:1,minimumPixelSize:0,incrementallyLoadTextures:!0,runAnimations:!0,clampAnimations:!0,shadows:this._cesium.ShadowMode.ENABLED,heightReference:this._cesium.HeightReference.NONE,color:this._cesium.Color.WHITE}):(A[f].model&&(A[f].model.show=o),A[f].label&&(A[f].label.show=!o),A[f].point&&(A[f].point.show=!o),A[f].billboard&&(A[f].billboard.show=!o))},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model)return o[0].model.show}},modelUri:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0)for(var f=0;f<A.length;f++)if(A[f].model)A[f].model.uri=o;else{if(/^\[/.test(o)){var m=o.split("[");m.length>1?o=m[0]+m[1].replace(/\[/,"").replace(/\]/,""):(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o])}A[f].model=new this._cesium.ModelGraphics({uri:o,show:!0,scale:1,minimumPixelSize:0,incrementallyLoadTextures:!0,runAnimations:!0,clampAnimations:!0,shadows:this._cesium.ShadowMode.ENABLED,heightReference:this._cesium.HeightReference.NONE,color:this._cesium.Color.WHITE})}}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.uri;return A?A._value:void 0}}},modelScale:{set:bi.debounce(function(o){if(!this._core.isnull(o)){o=parseFloat(o);var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].model.scale=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.scale;return A?A._value:void 0}}},modelShadows:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].model.shadows=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model)return o[0].model.shadows}},modelHeightReference:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].model.heightReference=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.heightReference;return A?A._value:void 0}}},modelDistanceDisplayMaxCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=A[0].model.distanceDisplayCondition?A[0].model.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].model.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,o)}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model)var A=o[0].model.distanceDisplayCondition?o[0].model.distanceDisplayCondition._value.far:Number.MAX_VALUE}},modelDistanceDisplayMinCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=A[0].model.distanceDisplayCondition?A[0].model.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].model.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,f)}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.distanceDisplayCondition?o[0].model.distanceDisplayCondition._value.near:0;return A}}},modelColor:{set:bi.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].model.color=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.color;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},modelLightColor:{set:bi.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].model.lightColor=o}},100),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.lightColor;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},modelHeight:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].position==null)&&A&&A.length>0&&A[0].position)for(var f=0;f<A.length;f++){var m=this._cesium.Cartographic.fromCartesian(A[f].position._value),C=this._cesium.Math.toDegrees(m.longitude),E=this._cesium.Math.toDegrees(m.latitude),x=this._cesium.Cartesian3.fromDegrees(C,E,o);A[f].position=x}}},500),get:function(){return 0}},billboardShow:{set:bi.debounce(function(o){var A=this.item.entities.values;if(A&&A.length>0)for(var f=0;f<A.length;f++)!A[f].billboard&&o?(A[f].point&&(A[f].point.show=!o),A[f].label&&(A[f].label.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard=new this._cesium.BillboardGraphics({show:!0,scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,rotation:0,alignedAxis:this._cesium.Cartesian3.ZERO,width:void 0,height:void 0,color:this._cesium.Color.WHITE,heightReference:this._cesium.HeightReference.NONE})):(A[f].billboard&&(A[f].billboard.show=o),A[f].point&&(A[f].point.show=!o),A[f].label&&(A[f].label.show=!o),A[f].billboard&&(A[f].billboard.show=!o))},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard)return o[0].billboard.show}},billboardImage:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0)for(var f=0;f<A.length;f++){if(/^\[/.test(o)){var m=o.split("[");m.length>1?o=m[0]+m[1].replace(/\[/,"").replace(/\]/,""):(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o])}A[f].billboard?A[f].billboard.image=o:A[f].billboard=new this._cesium.BillboardGraphics({image:o,show:!0,scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,rotation:0,alignedAxis:this._cesium.Cartesian3.ZERO,width:void 0,height:void 0,color:this._cesium.Color.WHITE,heightReference:this._cesium.HeightReference.NONE})}}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.image;return A?A._value:void 0}}},billboardScale:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.scale=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.scale;return A?A._value:void 0}}},billboardHorizontalOrigin:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.horizontalOrigin=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard)return o[0].billboard.horizontalOrigin}},billboardVerticalOrigin:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.verticalOrigin=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard)return o[0].billboard.verticalOrigin}},billboardWidth:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.width=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.width;return A?A._value:void 0}}},billboardHeight:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.height=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.height;return A?A._value:void 0}}},billboardColor:{set:bi.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.color=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.color;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},billboardHeightReference:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].billboard.heightReference=o}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].model){var A=o[0].billboard.heightReference;return A?A._value:void 0}}},billboardDistanceDisplayMaxCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=A[0].billboard.distanceDisplayCondition?A[0].billboard.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].billboard.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,o),A[m].billboard.scaleByDistance=new this._cesium.NearFarScalar(f,1,o,0)}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.distanceDisplayCondition?o[0].billboard.distanceDisplayCondition._value.far:Number.MAX_VALUE;return A}}},billboardDistanceDisplayMinCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=A[0].billboard.distanceDisplayCondition?A[0].billboard.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].billboard.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,f),A[m].billboard.scaleByDistance=new this._cesium.NearFarScalar(o,1,f,0)}},500),get:function(){var o=this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.distanceDisplayCondition?o[0].billboard.distanceDisplayCondition._value.near:0;return A}}},billboardPHeight:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].position==null)&&A&&A.length>0&&A[0].position)for(var f=0;f<A.length;f++){var m=this._cesium.Cartographic.fromCartesian(A[f].position._value),C=this._cesium.Math.toDegrees(m.longitude),E=this._cesium.Math.toDegrees(m.latitude),x=this._cesium.Cartesian3.fromDegrees(C,E,o);A[f].position=x}}},500),get:function(){return 0}},polylineShow:{set:bi.debounce(function(o){var A=this.item.entities.values;if(!!/^line.fid/.test(A[0]._id)&&A&&A.length>0&&A[0].polyline)for(var f=0;f<A.length;f++)A[f].polyline&&(A[f].polyline.show=o)},500),get:function(){var o=this.item.entities.values;if(!(!/^line.fid/.test(o[0]._id)&&o[0].polyline==null)&&o&&o.length>0&&o[0].polyline)return o[0].polyline.b}},polylineWidth:{set:bi.debounce(function(o){if(!this._core.isnull(o)){o=parseFloat(o);var A=this.item.entities.values;if(!(!/^line.fid/.test(A[0]._id)&&A[0].polyline==null)&&A&&A.length>0&&A[0].polyline)for(var f=0;f<A.length;f++)A[f].polyline.width=o}},500),get:function(){var o=this.item.entities.values;if(!(!/^line.fid/.test(o[0]._id)&&o[0].polyline==null)&&o&&o.length>0&&o[0].polyline){var A=o[0].polyline.width;return A?A._value:void 0}}},polylinemMterial:{set:bi.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities.values;if(!(!/^line.fid/.test(A[0]._id)&&A[0].polyline==null)&&A&&A.length>0&&A[0].polyline)for(var f=0;f<A.length;f++)A[f].polyline.material=o}},500),get:function(){var o=this.item.entities.values;if(!(!/^line.fid/.test(o[0]._id)&&o[0].polyline==null)&&o&&o.length>0&&o[0].polyline){var A=o[0].polyline.material;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},polylinemArcType:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(!/^line.fid/.test(A[0]._id)&&A[0].polyline==null)&&A&&A.length>0&&A[0].polyline)for(var f=0;f<A.length;f++)A[f].polyline.arcType=o}},500),get:function(){var o=this.item.entities.values;if(!(!/^line.fid/.test(o[0]._id)&&o[0].polyline==null)&&o&&o.length>0&&o[0].polyline){var A=o[0].polyline.arcType;return A?A._value:void 0}}},polylineDistanceDisplayMaxCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(!/^line.fid/.test(A[0]._id)&&A[0].polyline==null)&&A&&A.length>0&&A[0].polyline)for(var f=A[0].polyline.distanceDisplayCondition?A[0].polyline.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].polyline.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,o)}},500),get:function(){var o=this.item.entities.values;if(!(!/^line.fid/.test(o[0]._id)&&o[0].polyline==null)&&o&&o.length>0&&o[0].polyline){var A=o[0].polyline.distanceDisplayCondition?o[0].polyline.distanceDisplayCondition._value.far:Number.MAX_VALUE;return A}}},polylineDistanceDisplayMinCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(!/^line.fid/.test(A[0]._id)&&A[0].polyline==null)&&A&&A.length>0&&A[0].polyline)for(var f=A[0].polyline.distanceDisplayCondition?A[0].polyline.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].polyline.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,f)}},500),get:function(){var o=this.item.entities.values;if(!(!/^line.fid/.test(o[0]._id)&&o[0].polyline==null)&&o&&o.length>0&&o[0].polyline){var A=o[0].polyline.distanceDisplayCondition?o[0].polyline.distanceDisplayCondition._value.near:0;return A}}},polygonShow:{set:bi.debounce(function(o){var A=this.item.entities.values;if(!!/^polygon.fid/.test(A[0]._id)&&A&&A.length>0&&A[0].polygon)for(var f=0;f<A.length;f++)A[f].polygon&&(A[f].polygon.show=o)},500),get:function(){var o=this.item.entities.values;if(!(!/^polygon.fid/.test(o[0]._id)&&o[0].polygon==null)&&o&&o.length>0&&o[0].polygon)return o[0].polygon.b}},polygonHeight:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(!/^polygon.fid/.test(A[0]._id)&&A[0].polygon==null)&&A&&A.length>0&&A[0].polygon)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].polygon.height=o}},500),get:function(){var o=this.item.entities.values;if(!(!/^polygon.fid/.test(o[0]._id)&&o[0].polygon==null)&&o&&o.length>0&&o[0].polygon){var A=o[0].polygon.height;return A?A._value:void 0}}},polygonHeightReference:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(!/^polygon.fid/.test(A[0]._id)&&A[0].polygon==null)&&A&&A.length>0&&A[0].polygon)for(var f=0;f<A.length;f++)A[f].polygon.heightReference=o}},500),get:function(){var o=this.item.entities.values;if(!(!/^polygon.fid/.test(o[0]._id)&&o[0].polygon==null)&&o&&o.length>0&&o[0].polygon){var A=o[0].polygon.heightReference;return A?A._value:void 0}}},polygonExtrudedHeight:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(!/^polygon.fid/.test(A[0]._id)&&A[0].polygon==null)&&A&&A.length>0&&A[0].polygon)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].polygon.extrudedHeight=o}},500),get:function(){var o=this.item.entities.values;if(!(!/^polygon.fid/.test(o[0]._id)&&o[0].polygon==null)&&o&&o.length>0&&o[0].polygon){var A=o[0].polygon.extrudedHeight;return A?A._value:void 0}}},polygonExtrudedHeightReference:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(!/^polygon.fid/.test(A[0]._id)&&A[0].polygon==null)&&A&&A.length>0&&A[0].polygon)for(var f=0;f<A.length;f++)A[f].polygon.extrudedHeightReference=o}},500),get:function(){var o=this.item.entities.values;if(!(!/^polygon.fid/.test(o[0]._id)&&o[0].polygon==null)&&o&&o.length>0&&o[0].polygon){var A=o[0].polygon.extrudedHeightReference;return A?A._value:void 0}}},polygonFill:{set:bi.debounce(function(o){var A=this.item.entities.values;if(!(!/^polygon.fid/.test(A[0]._id)&&A[0].polygon==null)&&A&&A.length>0&&A[0].polygon)for(var f=0;f<A.length;f++)A[f].polygon.fill=o},500),get:function(){var o=this.item.entities.values;if(!(!/^polygon.fid/.test(o[0]._id)&&o[0].polygon==null)&&o&&o.length>0&&o[0].polygon){var A=o[0].polygon.fill;return A?A._value:void 0}}},polygonMaterial:{set:bi.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities.values;if(!(!/^polygon.fid/.test(A[0]._id)&&A[0].polygon==null)&&A&&A.length>0&&A[0].polygon)for(var f=0;f<A.length;f++)A[f].polygon.material=o}},500),get:function(){var o=this.item.entities.values;if(!(!/^polygon.fid/.test(o[0]._id)&&o[0].polygon==null)&&o&&o.length>0&&o[0].polygon){var A=o[0].polygon.material;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},polygonOutline:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(!/^polygon.fid/.test(A[0]._id)&&A[0].polygon==null)&&A&&A.length>0&&A[0].polygon)for(var f=0;f<A.length;f++)A[f].polygon.outline=o}},500),get:function(){var o=this.item.entities.values;if(!(!/^polygon.fid/.test(o[0]._id)&&o[0].polygon==null)&&o&&o.length>0&&o[0].polygon){var A=o[0].polygon.outline;return A?A._value:void 0}}},polygonOutlineColor:{set:bi.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities.values;if(!(!/^polygon.fid/.test(A[0]._id)&&A[0].polygon==null)&&A&&A.length>0&&A[0].polygon)for(var f=0;f<A.length;f++)A[f].polygon.outlineColor=o}},500),get:function(){var o=this.item.entities.values;if(!(!/^polygon.fid/.test(o[0]._id)&&o[0].polygon==null)&&o&&o.length>0&&o[0].polygon){var A=o[0].polygon.outlineColor;return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}}},polygonOutlineWidth:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(!/^polygon.fid/.test(A[0]._id)&&A[0].polygon==null)&&A&&A.length>0&&A[0].polygon)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].polygon.outlineWidth=o}},500),get:function(){var o=this.item.entities.values;if(!(!/^polygon.fid/.test(o[0]._id)&&o[0].polygon==null)&&o&&o.length>0&&o[0].polygon){var A=o[0].polygon.outlineWidth;return A?A._value:void 0}}},polygonDistanceDisplayMaxCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(!/^polygon.fid/.test(A[0]._id)&&A[0].polygon==null)&&A&&A.length>0&&A[0].polygon)for(var f=A[0].polygon.distanceDisplayCondition?A[0].polygon.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].polygon.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,o)}},500),get:function(){var o=this.item.entities.values;if(!(!/^polygon.fid/.test(o[0]._id)&&o[0].polygon==null)&&o&&o.length>0&&o[0].polygon){var A=o[0].polygon.distanceDisplayCondition?o[0].polygon.distanceDisplayCondition._value.far:Number.MAX_VALUE;return A}}},polygonDistanceDisplayMinCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities.values;if(!(!/^polygon.fid/.test(A[0]._id)&&A[0].polygon==null)&&A&&A.length>0&&A[0].polygon)for(var f=A[0].polygon.distanceDisplayCondition?A[0].polygon.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].polygon.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,f)}},500),get:function(){var o=this.item.entities.values;if(!(!/^polygon.fid/.test(o[0]._id)&&o[0].polygon==null)&&o&&o.length>0&&o[0].polygon){var A=o[0].polygon.distanceDisplayCondition?o[0].polygon.distanceDisplayCondition._value.near:0;return A}}}});var Rc=Kl;var hr=null;function Qh(o,A,f){this._viewer=o,this._cesium=A,hr=A,this._quadtree=void 0,this._tilingScheme=f||new this._cesium.GeographicTilingScheme,this._errorEvent=new this._cesium.Event,this._reTilesKey=[],this._state=!0,this._client=!0,this._reTiles=[],this._normalTile=16,this._minimumHeight=0,this._maximumHeight=0,this._PrimitiveCollection=new hr.PrimitiveCollection,this._levelZeroMaximumError=hr.QuadtreeTileProvider.computeDefaultLevelZeroMaximumGeometricError(this._tilingScheme),this.cartographicLimitRectangle=hr.Rectangle.clone(hr.Rectangle.MAX_VALUE),Qh.prototype.ready||Object.defineProperties(Qh.prototype,{quadtree:{get:function(){return this._quadtree},set:function(m){this._quadtree=m}},ready:{get:function(){return!0}},tilingScheme:{get:function(){return this._tilingScheme}},errorEvent:{get:function(){return this._errorEvent}}}),this._core=new $i(this._viewer,this._cesium),this.tooltip=this._core.CreateTooltip(),this._getPosition=new kl(this._viewer,this._cesium)}Qh.prototype.update=function(o){if(this._quadtree.beginFrame(o),this._quadtree.render(o),this._quadtree.endFrame(o),this._availability&&(this._state=this.isAvailable(o.time)),this._state&&this._client&&this._quadtree._tilesToRender)for(let A=0,f=this._quadtree._tilesToRender.length,m;A<f;A++)m=this._quadtree._tilesToRender[A],m.data&&m.data.geometryPrimitive&&!(m.data.geometryPrimitive instanceof hr.Cesium3DTileset)&&m.data.geometryPrimitive.update&&m.data.geometryPrimitive.update(o)};Qh.prototype.static=function(o){this.cs=o};Qh.prototype.initialize=function(o){};Qh.prototype.beginUpdate=function(o){};Qh.prototype.endUpdate=function(o){};Qh.prototype.getLevelMaximumGeometricError=function(o){return this._levelZeroMaximumError/(1<<o)};Qh.prototype.loadTile=function(o,A){};Qh.prototype.updateForPick=function(o){console.log("frameState",o)};Qh.prototype.computeTileVisibility=function(o,A,f){var m=this.computeDistanceToTile(o,A);if(o._distance=m,A.fog.enabled&&hr.Math.fog(m,A.fog.density)>=1)return hr.Visibility.NONE;var C=o.data,E=C.tileBoundingRegion;if(C.boundingVolumeSourceTile===void 0)return hr.Visibility.PARTIAL;var x=A.cullingVolume,y=C.orientedBoundingBox;!y&&C.renderedMesh&&(y=C.renderedMesh.boundingSphere3D),C.clippedByBoundaries=!1;function I(P,M){if(M.west<M.east)return M;var L=Rectangle.clone(M,splitCartographicLimitRectangleScratch),F=Rectangle.center(P,rectangleCenterScratch);return F.longitude>0?L.east=CesiumMath.PI:L.west=-CesiumMath.PI,L}var v=I(o.rectangle,this.cartographicLimitRectangle),B=new hr.Rectangle,Q=hr.Rectangle.simpleIntersection(v,o.rectangle,B);if(!Q)return Visibility.NONE;if(hr.Rectangle.equals(Q,o.rectangle)||(C.clippedByBoundaries=!0),A.mode,hr.SceneMode.SCENE3D,!y)return hr.Intersect.INTERSECTING;var T=this._clippingPlanes;if(T&&T.enabled){var w=T.computeIntersectionWithBoundingVolume(y);if(o.isClipped=w!==Intersect.INSIDE,w===hr.Intersect.OUTSIDE)return hr.Visibility.NONE}var S=x.computeVisibility(y);if(S===hr.Intersect.OUTSIDE)return hr.Visibility.NONE;var D=A.mode===hr.SceneMode.SCENE3D&&A.camera.frustum instanceof hr.OrthographicFrustum;if(A.mode===hr.SceneMode.SCENE3D&&!D&&f){var R=C.occludeePointInScaledSpace;return!R||f.ellipsoid.isScaledSpacePointVisible(R)?S:hr.Visibility.NONE}return S};Qh.prototype.canRefine=function(o,A,f){return o.level<=this._normalTile+1};Qh.prototype.showTileThisFrame=function(o,A,f,m){this._availability&&(this._state=this.isAvailable(A.time))};Qh.prototype.computeDistanceToTile=function(o,A){function f(S,D,R,P,M){var L=S.quadtree._occluders.ellipsoid,F=L.ellipsoid,k=[new hr.Cartesian3,new hr.Cartesian3,new hr.Cartesian3,new hr.Cartesian3],N=k;return hr.Cartesian3.fromRadians(R.west,R.south,P,F,N[0]),hr.Cartesian3.fromRadians(R.east,R.south,P,F,N[1]),hr.Cartesian3.fromRadians(R.west,R.north,P,F,N[2]),hr.Cartesian3.fromRadians(R.east,R.north,P,F,N[3]),L.computeHorizonCullingPoint(D,N,M)}function m(S,D,R,P,M){var L=R.data;return L===void 0&&(L=R.data=new hr.GlobeSurfaceTile),R._minimumHeight&&(D=R._minimumHeight),R._maximumHeight&&(S=R._maximumHeight),L.tileBoundingRegion===void 0&&(L.tileBoundingRegion=new hr.TileBoundingRegion({computeBoundingVolumes:!1,rectangle:R.rectangle,ellipsoid:R.tilingScheme.ellipsoid,minimumHeight:D||0,maximumHeight:S||0})),R}var C=m(this._maximumHeight,this._minimumHeight,o,this.terrainProvider,A),E=o.data,x=E.tileBoundingRegion;if(C===void 0)return 9999999999;if(E.boundingVolumeSourceTile!==C){E.boundingVolumeSourceTile=C;var y=o.rectangle;y&&y.width<hr.Math.PI_OVER_TWO+hr.Math.EPSILON5&&(E.orientedBoundingBox=hr.OrientedBoundingBox.fromRectangle(o.rectangle,x.minimumHeight,x.maximumHeight,o.tilingScheme.ellipsoid,E.orientedBoundingBox),E.occludeePointInScaledSpace=f(this,E.orientedBoundingBox.center,o.rectangle,x.maximumHeight,E.occludeePointInScaledSpace))}var I=x.minimumHeight,v=x.maximumHeight;if(E.boundingVolumeSourceTile!==o){var B=A.camera.positionCartographic.height,Q=Math.abs(B-I),T=Math.abs(B-v);Q>T?(x.minimumHeight=I,x.maximumHeight=I):(x.minimumHeight=v,x.maximumHeight=v)}var w=x.distanceToCamera(A);return x.minimumHeight=I,x.maximumHeight=v,w};Qh.prototype.isDestroyed=function(){return!1};Qh.prototype.destroy=function(){return hr.destroyObject(this)};Qh.prototype.remove=function(){this.destroy()};Qh.prototype.setStatus=function(o){this._state=o,this._client=o};Qh.prototype.edit=function(o,A){let f=this,m=this._viewer;if(!A&&(A={}),this.editHandler&&(this.editHandler.destroy(),this.editHandler=void 0),o===void 0&&(o=!0),!o){v();return}this.editHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas);var C,E,x,y;this.isEditting=!1;let I;this.editHandler.setInputAction(B=>{if(hr.ExpandBySmartEarth&&(hr.ExpandBySmartEarth.underEarth.enable||hr.ExpandBySmartEarth.isStreetView)){f.isEditting&&(v(),f.defaultEvent(!1));return}let Q=B.position,T=m.scene.pick(Q);if(!(T&&T&&T.id&&T.id.treeID!==f.treeID)&&T&&T.id&&(T.id instanceof hr.Entity||T.id.VectorType)){let w=T.id;!f.isEditting&&Ke.states==0?(A.callBack&&A.callBack.start&&A.callBack.start(w),y=w.VectorType,C=f.createEditEntity(y,w.VectorStyle),C.feature=w,C.treeID=f.treeID,f.getSimpleGraphicData(y,C),y==="point"||y==="billboard"||y==="label"||y==="model"?(f.isEditting=!0,f.tooltip.showAt(B.position,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E")):(f.isEditting=!0,SmartEarthPopupData.editGraphic.updataEditPoint(),SmartEarthPopupData.editGraphic.setTreeID(f.treeID)),f.setStatus(!1),Ke.editVector=!0):(w==C&&(w.VectorType==="point"||w.VectorType==="billboard"||w.VectorType==="label"||w.VectorType==="model")||w.name=="_height_point"||w.name=="_edit_point"||w.name=="_move_point"||w.name=="_add_point"||w.name=="_size_point")&&(m.container.style.cursor="crosshair",f.defaultEvent(!1),w.name=="_height_point"?(x={windowPosition:Q,originHeight:f._cesium.Cartographic.fromCartesian(w.position.getValue()).height},I="_height_point"):w.name=="_move_point"?I="_move_point":w.VectorType==="point"||w.VectorType==="billboard"||w.VectorType==="label"||w.VectorType==="model"?(f.tooltip.showAt(B.position,"\u91CA\u653E\u540E\u5B8C\u6210\u4FEE\u6539"),I="_move_point",w.VectorType==="model"&&(w.show=!1)):w.name=="_edit_point"?I="_edit_point":w.name=="_add_point"?I="_add_point":w.name=="_size_point"&&(I="_size_point"),E=w)}},this._cesium.ScreenSpaceEventType.LEFT_DOWN),this.editHandler.setInputAction(B=>{if(hr.ExpandBySmartEarth&&(hr.ExpandBySmartEarth.underEarth.enable||hr.ExpandBySmartEarth.isStreetView)){f.isEditting&&(v(),f.defaultEvent(!1));return}let Q=m.scene.pick(B.endPosition);if(!(Q&&Q&&Q.id&&Q.id.treeID!==f.treeID)&&(f._cesium.defined(Q)?f.isEditting&&!E?(y==="point"||y==="billboard"||y==="label"||y==="model")&&Q.id==C?f.tooltip.showAt(B.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E\uFF0C\u53F3\u952E\u5220\u9664"):Q.id&&Q.id.name==="_edit_point"&&C.pottingPoint?y==="polyline"&&C.pottingPoint.length>2||y==="polygon"&&C.pottingPoint.length>3?f.tooltip.showAt(B.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E\uFF0C\u53F3\u952E\u5220\u9664\u70B9"):f.tooltip.showAt(B.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E"):Q.id&&(Q.id.name==="_move_point"||Q.id.name==="_size_point")?f.tooltip.showAt(B.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E"):Q.id&&Q.id.name==="_add_point"?f.tooltip.showAt(B.endPosition,"\u62D6\u62FD\u589E\u52A0\u8282\u70B9"):Q.id&&Q.id.name==="_height_point"?f.tooltip.showAt(B.endPosition,"\u62D6\u62FD\u4FEE\u6539\u9AD8\u5EA6"):Q.id==C&&f.tooltip.show(!1):!f.isEditting&&Ke.states===0&&(Q.id&&Q.id.VectorType?f.tooltip.showAt(B.endPosition,"\u70B9\u51FB\u6FC0\u6D3B\u7F16\u8F91"):f.tooltip.show(!1)):Ke.states==0&&!E&&f.tooltip.show(!1),f.isEditting&&E)){f.tooltip.showAt(B.endPosition,"\u91CA\u653E\u540E\u5B8C\u6210\u4FEE\u6539");let T=f._getPosition.getMousePosition(B);if(!T&&I!=="_height_point")return;if(I==="_edit_point"){E.position=T;let w=Ke.editPointID.edit.indexOf(E.id);if(C[y].height!==void 0){let P=f.toDegrees(T);C.pottingPoint[w]=hr.Cartesian3.fromDegrees(P.lon,P.lat,C[y].height.getValue()),E.position=C.pottingPoint[w]}else C.pottingPoint[w]=T;if(Ke.editPointID.add.length>0){if(w>0){let P=m.entities.getById(Ke.editPointID.add[w-1]);if(P){let M=m.entities.getById(Ke.editPointID.edit[w-1]),L=m.entities.getById(Ke.editPointID.edit[w]);P.position=hr.Cartesian3.midpoint(M.position.getValue(),L.position.getValue(),new hr.Cartesian3)}}if(w<C.pottingPoint.length-1){let P=m.entities.getById(Ke.editPointID.add[w]);if(P){let M=m.entities.getById(Ke.editPointID.edit[w]),L=m.entities.getById(Ke.editPointID.edit[w+1]);P.position=hr.Cartesian3.midpoint(M.position.getValue(),L.position.getValue(),new hr.Cartesian3)}}if(y==="polygon"&&(w===0||w===C.pottingPoint.length-1)){let P=m.entities.getById(Ke.editPointID.add[Ke.editPointID.add.length-1]);if(P){let M=m.entities.getById(Ke.editPointID.edit[0]),L=m.entities.getById(Ke.editPointID.edit[C.pottingPoint.length-1]);P.position=hr.Cartesian3.midpoint(M.position.getValue(),L.position.getValue(),new hr.Cartesian3)}}}let S=C.pottingPoint.concat([]),D=new f._cesium.Cartesian3,R=S.length;S.forEach(P=>{D.x+=P.x,D.y+=P.y,D.z+=P.z}),D.x/=R,D.y/=R,D.z/=R,Ke.editPointID.move&&(Ke.editPointID.move.position=D),(y==="polyline"||y==="polygon"||y==="rectangle")&&SmartEarthPopupData.editGraphic.setValue("positions",S)}else if(I==="_height_point"){let w=Ke.editPointID.height.indexOf(E.id),S=m.entities.getById(Ke.editPointID.edit[w]);(y==="ellipse"||y==="cylinder"||y==="box")&&(S=Ke.editPointID.move);let D=f.toDegrees(S.position.getValue()),R=x.originHeight-D.height,P=m.scene.cartesianToCanvasCoordinates(S.position.getValue()),M=(x.windowPosition.y-B.endPosition.y)*R/Math.abs(P.y-x.windowPosition.y),L=Math.abs(R+M);Ke.editPointID.height.forEach(F=>{let k=m.entities.getById(F);if(k){let N=k.position.getValue(),G=f.toDegrees(N);k.position=f._cesium.Cartesian3.fromDegrees(G.lon,G.lat,L+D.height)}}),C[y].extrudedHeight?C[y].extrudedHeight=L+D.height:y==="box"?SmartEarthPopupData.editGraphic.setValue("height",L):y==="cylinder"&&SmartEarthPopupData.editGraphic.setValue("length",L)}else if(I==="_add_point"){let w=Ke.editPointID.add.indexOf(E.id);m.entities.remove(E);let S=m.entities.add({name:"_edit_point",position:T,point:{pixelSize:10,color:hr.Color.ROYALBLUE,outlineWidth:2,outlineColor:hr.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.edit.splice(w+1,0,S.id),C.pottingPoint.splice(w+1,0,T.clone());let D=hr.Cartesian3.midpoint(C.pottingPoint[w],C.pottingPoint[w+1],new hr.Cartesian3),R=m.entities.add({name:"_add_point",position:D,point:{pixelSize:10,color:hr.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:hr.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY}}),P=hr.Cartesian3.midpoint(C.pottingPoint[w+1],C.pottingPoint[w+2===C.pottingPoint.length?0:w+2],new hr.Cartesian3),M=m.entities.add({name:"_add_point",position:P,point:{pixelSize:10,color:hr.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:hr.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.add.splice(w,1,R.id,M.id),SmartEarthPopupData.editGraphic.setTreeID(f.treeID),E=S,I="_edit_point";let L=C.pottingPoint.concat([]);(y==="polyline"||y==="polygon")&&SmartEarthPopupData.editGraphic.setValue("positions",L)}else if(I==="_size_point"){let w=Ke.editPointID.move.position.getValue(),S=f._cesium.Cartesian3.distance(w,T);if(y==="ellipse"||y==="cylinder"||y==="ellipsoid"&&C.isSphere)SmartEarthPopupData.editGraphic.setValue("radius",S);else if(y==="box"){let D=E.angle===90?"long":"width";SmartEarthPopupData.editGraphic.setValue(D,S*2)}}else{if(y==="point"||y==="billboard"||y==="label"||y==="model"){E.position=T;return}let w=f.toDegrees(T);x=E.position.getValue();let S=f.toDegrees(x),D=w.lon-S.lon,R=w.lat-S.lat,P=w.height-S.height;if(E.position=T,C[y].height){let L=f.toDegrees(T).height;C[y].height=L,C.thisHeight=L}C.pottingPoint.forEach((L,F)=>{let k,N,G,J=m.entities.getById(Ke.editPointID.edit[F]);if(J||(J=m.entities.getById(Ke.editPointID.size[F])),J?k=f.toDegrees(J.position.getValue()):k=f.toDegrees(L),G=f._cesium.Cartesian3.fromDegrees(k.lon+D,k.lat+R,k.height+P),L.x=G.x,L.y=G.y,L.z=G.z,J&&(J.position=G),Ke.editPointID.add.length>0&&Ke.editPointID.add[F]){let K=m.entities.getById(Ke.editPointID.add[F]);K&&(k=f.toDegrees(K.position.getValue()),K.position=f._cesium.Cartesian3.fromDegrees(k.lon+D,k.lat+R,k.height+P))}});let M=C.pottingPoint.concat([]);if(y==="polyline"||y==="polygon"||y==="rectangle")SmartEarthPopupData.editGraphic.setValue("positions",M);else if(y==="ellipse")C.pottingPoint[1]=T,C.position=T.clone();else if(y==="box"){C.pottingPoint[2]=T;let L=C.box.dimensions.getValue(),F=f.toDegrees(T);C.position=hr.Cartesian3.fromDegrees(F.lon,F.lat,F.height+L.z/2)}else if(y==="cylinder"){C.pottingPoint[1]=T;let L=C.cylinder.length.getValue(),F=f.toDegrees(C.pottingPoint[1]);C.position=hr.Cartesian3.fromDegrees(F.lon,F.lat,F.height+L/2)}else y==="ellipsoid"&&(C.pottingPoint[C.pottingPoint.length-1]=T,C.position=T.clone())}}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.editHandler.setInputAction(B=>{if(hr.ExpandBySmartEarth&&(hr.ExpandBySmartEarth.underEarth.enable||hr.ExpandBySmartEarth.isStreetView)){f.isEditting&&(v(),f.defaultEvent(!1));return}E&&E.VectorType==="model"&&(E.show=!0),E&&A.callBack&&A.callBack.updata&&A.callBack.updata(E.name,C),m.container.style.cursor="default",E=void 0,f.defaultEvent(!0)},this._cesium.ScreenSpaceEventType.LEFT_UP),this.editHandler.setInputAction(B=>{if(hr.ExpandBySmartEarth&&(hr.ExpandBySmartEarth.underEarth.enable||hr.ExpandBySmartEarth.isStreetView)){f.isEditting&&(v(),f.defaultEvent(!1));return}let Q=m.scene.pick(B.position);if(!(Q&&Q.id&&Q.id.treeID!==f.treeID)&&f._cesium.defined(Q)&&Ke.states==0){let T=Q.id;if(!T.VectorType){if(Ke.editPointID.edit.indexOf(T.id)>-1&&(y==="polyline"&&Ke.editPointID.edit.length>2||y==="polygon"&&Ke.editPointID.edit.length>3)){let w=Ke.editPointID.edit.indexOf(T.id);if(m.entities.removeById(T.id),Ke.editPointID.edit.splice(w,1),C.pottingPoint.splice(w,1),Ke.editPointID.add.length>0)if(Ke.editPointID.add[w]){if(m.entities.removeById(Ke.editPointID.add[w]),Ke.editPointID.add.splice(w,1),w-1>=0){let P=m.entities.getById(Ke.editPointID.add[w-1]);P&&(P.position=hr.Cartesian3.midpoint(C.pottingPoint[w-1],C.pottingPoint[w===C.pottingPoint.length?0:w],new hr.Cartesian3))}else if(w-1===-1&&y==="polygon"){let P=m.entities.getById(Ke.editPointID.add[Ke.editPointID.add.length-1]);P&&(P.position=hr.Cartesian3.midpoint(C.pottingPoint[0],C.pottingPoint[C.pottingPoint.length-1],new hr.Cartesian3))}}else m.entities.removeById(Ke.editPointID.add[w-1]),Ke.editPointID.add.pop();let S=new f._cesium.Cartesian3,D=C.pottingPoint.length;C.pottingPoint.forEach(P=>{S.x+=P.x,S.y+=P.y,S.z+=P.z}),S.x/=D,S.y/=D,S.z/=D,Ke.editPointID.move&&(Ke.editPointID.move.position=S);let R=C.pottingPoint.concat([]);(y==="polyline"||y==="polygon")&&SmartEarthPopupData.editGraphic.setValue("positions",R),f.tooltip.show(!1),A.callBack&&A.callBack.updata&&A.callBack.updata(E&&E.name,C)}}}},this._cesium.ScreenSpaceEventType.RIGHT_DOWN),v();function v(){f.defaultEvent(!0),Ke.editPointID.edit.forEach(B=>{m.entities.removeById(B)}),Ke.editPointID.edit=[],Ke.editPointID.height.forEach(B=>{m.entities.removeById(B)}),Ke.editPointID.height=[],Ke.editPointID.add.forEach(B=>{m.entities.removeById(B)}),Ke.editPointID.add=[],Ke.editPointID.size.forEach(B=>{m.entities.removeById(B)}),Ke.editPointID.size=[],Ke.editPointID.move&&m.entities.remove(Ke.editPointID.move),Ke.editPointID.move=void 0,C&&m.entities.remove(C),C=void 0,y=void 0,SmartEarthPopupData.editGraphic={},f.isEditting=!1,f.setStatus(!0),Ke.editVector=!1,f.delButton(!1)}return{endThisEdit:v,getEditData:function(){return{entity:C}}}};Qh.prototype.createEditEntity=function(o,A){let f,m=this,C=this._viewer;if(o==="polygon"){let E=A.positions,x=m._core.defaultValue(A.height,void 0),y;A.hierarchy?y=A.hierarchy:(E=A.haveZ?m._cesium.Cartesian3.fromDegreesArrayHeights(E):m._cesium.Cartesian3.fromDegreesArray(E),y=new m._cesium.PolygonHierarchy(E)),f=C.entities.add({polygon:{hierarchy:new m._cesium.CallbackProperty(function(){return y},!1),extrudedHeight:m._core.defaultValue(A.extrudedHeight,void 0),height:x,material:new m._cesium.ImageMaterialProperty({image:m._core.defaultValue(A.image,null),repeat:m._core.defaultValue(A.repeat,new m._cesium.Cartesian2(1,1)),color:A.material}),shadows:m._cesium.ShadowMode.ENABLED,fill:!0}}),f.VectorType="polygon"}else if(o==="polyline"){let E=A.positions;E=A.haveZ?m._cesium.Cartesian3.fromDegreesArrayHeights(E):m._cesium.Cartesian3.fromDegreesArray(E),f=C.entities.add({polyline:{positions:new m._cesium.CallbackProperty(function(){return E},!1),clampToGround:m._core.defaultValue(A.clampToGround,!1),material:new hr.PolylineOutlineMaterialProperty({color:A.material,outlineWidth:m._core.defaultValue(A.outlineWidth,0),outlineColor:m._cesium.Color.fromCssColorString(m._core.defaultValue(A.outlineColor,"rgba(255,255,255,0.6)"))}),width:m._core.defaultValue(A.width,3)}}),f.VectorType="polyline"}else if(o==="wall"){let E=A.positions;E=A.haveZ?m._cesium.Cartesian3.fromDegreesArrayHeights(E):m._cesium.Cartesian3.fromDegreesArray(E),f=C.entities.add({wall:{positions:new m._cesium.CallbackProperty(function(){return E},!1),minimumHeights:A.minimumHeights,maximumHeights:A.maximumHeights,material:A.material,outline:!0,outlineWidth:m._core.defaultValue(A.outlineWidth,0),outlineColor:A.outlineColor}}),f.VectorType="wall"}else o==="label"?(f=C.entities.add({position:A.position,label:{text:A.text,font:A.font,scale:A.scale,style:A.style,fillColor:A.fillColor,outlineColor:A.outlineColor,outlineWidth:A.outlineWidth,showBackground:A.showBackground,backgroundColor:A.backgroundColor,heightReference:A.heightReference,horizontalOrigin:A.horizontalOrigin,verticalOrigin:A.verticalOrigin,scaleByDistance:A.scaleByDistance,distanceDisplayCondition:A.distanceDisplayCondition}}),f.VectorType="label"):o==="billboard"?(f=C.entities.add({position:A.position,billboard:{rotation:A.rotation,width:A.width,height:A.height,image:A.image,color:A.color,scale:A.scale,heightReference:A.heightReference,horizontalOrigin:A.horizontalOrigin,verticalOrigin:A.verticalOrigin,scaleByDistance:A.scaleByDistance,distanceDisplayCondition:A.distanceDisplayCondition}}),f.VectorType="billboard"):o==="point"&&(f=C.entities.add({position:A.position,point:{pixelSize:A.pixelSize,color:A.color,outlineWidth:A.outlineWidth,outlineColor:A.outlineColor,heightReference:A.heightReference,scaleByDistance:A.scaleByDistance,distanceDisplayCondition:A.distanceDisplayCondition}}),f.VectorType="point");return f};Qh.prototype.delButton=function(o,A,f){if(o){let m=document.getElementById("DeleteMilitaryStandardDelete");m||(m=document.createElement("button"),m.id="DeleteMilitaryStandardDelete",m.innerText="\u5220\u9664\u5BF9\u8C61",m.style.cssText=`height: 38px; line-height: 38px; padding: 0 18px; background-color: #052355; color: #fff; white-space: nowrap; text-align: center; font-size: 14px; border: none; border-radius: 2px; cursor: pointer; position: absolute;`,this._viewer.container.appendChild(m)),m.style.display="block",m.style.top=A.y+"px",m.style.left=A.x+"px",m.onclick=f}else{let m=document.getElementById("DeleteMilitaryStandardDelete");m&&(m.style.display="none",m.onclick=null)}};Qh.prototype.defaultEvent=function(o){let A=this._viewer.scene;A.screenSpaceCameraController.enableRotate=o,A.screenSpaceCameraController.enableTranslate=o,A.screenSpaceCameraController.enableZoom=o,A.screenSpaceCameraController.enableTilt=o,A.screenSpaceCameraController.enableLook=o};Qh.prototype.getEntityTypeAndObject=function(o){let A={type:"",object:null};return o&&(o.billboard?(A.type="billboard",A.object=o.billboard):o.box?(A.type="box",A.object=o.box):o.corridor?(A.type="corridor",A.object=o.corridor):o.cylinder?(A.type="cylinder",A.object=o.cylinder):o.ellipse?(A.type="ellipse",A.object=o.ellipse):o.ellipsoid?(A.type="ellipsoid",A.object=o.ellipsoid):o.label?(A.type="label",A.object=o.label):o.model?(A.type="model",A.object=o.model):o.path?(A.type="path",A.object=o.path):o.plane?(A.type="plane",A.object=o.plane):o.point?(A.type="point",A.object=o.point):o.polygon?(A.type="polygon",A.object=o.polygon):o.polyline?(A.type="polyline",A.object=o.polyline):o.polylineVolume?(A.type="polylineVolume",A.object=o.polylineVolume):o.rectangle?(A.type="rectangle",A.object=o.rectangle):o.wall&&(A.type="wall",A.object=o.wall)),A};Qh.prototype.toDegrees=function(o){let A=this._cesium.Cartographic.fromCartesian(o);return{lon:this._cesium.Math.toDegrees(A.longitude),lat:this._cesium.Math.toDegrees(A.latitude),height:A.height}};Qh.prototype.getSimpleGraphicData=function(o,A){let f=this,m=this._viewer;if(SmartEarthPopupData.editGraphic={entity:A,type:o,graphic:A[o],getValue:function(I){if(I==="position"||I==="name"||I==="id")return this.entity[I]&&(this.entity[I].getValue?this.entity[I].getValue():this.entity[I]);if(I==="radius"){if(this.type==="ellipse")return this.graphic.semiMajorAxis.getValue();if(this.type==="ellipsoid")return this.graphic.radii.getValue().x;if(this.type==="cylinder")return this.graphic.bottomRadius.getValue()}else if(I==="pHeight"){if(this.getValue("position")){let v=this.getValue("position");return hr.Cartographic.fromCartesian(v).height}}else return I==="repeat"?this.graphic.material[I]&&(this.graphic.material[I].getValue?this.graphic.material[I].getValue():this.graphic.material[I]):this.graphic[I]&&(this.graphic[I].getValue?this.graphic[I].getValue():this.graphic[I])},changeHeightPoint:function(I){Ke.editPointID.height.length>0&&Ke.editPointID.height.forEach(v=>{let B=m.entities.getById(v);if(B){let Q=B.position.getValue(),T=f.toDegrees(Q);B.position=hr.Cartesian3.fromDegrees(T.lon,T.lat,I)}})},changeEditPoint:function(I){Ke.editPointID.edit.length>0&&Ke.editPointID.edit.forEach(B=>{let Q=m.entities.getById(B);if(Q)if(I==="clampToGround")Q.point.heightReference=1;else{Q.point.heightReference=0;let T=Q.position.getValue(),w=f.toDegrees(T);Q.position=hr.Cartesian3.fromDegrees(w.lon,w.lat,I)}}),Ke.editPointID.size.length>0&&Ke.editPointID.size.forEach(B=>{let Q=m.entities.getById(B);if(Q)if(I==="clampToGround")Q.point.heightReference=1;else{Q.point.heightReference=0;let T=Q.position.getValue(),w=f.toDegrees(T);Q.position=hr.Cartesian3.fromDegrees(w.lon,w.lat,I)}}),Ke.editPointID.add.length>0&&Ke.editPointID.add.forEach(B=>{let Q=m.entities.getById(B);if(Q)if(I==="clampToGround")Q.point.heightReference=1;else{Q.point.heightReference=0;let T=Q.position.getValue(),w=f.toDegrees(T);Q.position=hr.Cartesian3.fromDegrees(w.lon,w.lat,I)}});let v=Ke.editPointID.move;if(v)if(I==="clampToGround")v.point.heightReference=1;else{v.point.heightReference=0;let B=v.position.getValue(),Q=f.toDegrees(B);v.position=hr.Cartesian3.fromDegrees(Q.lon,Q.lat,I)}},clearAllEditPoint:function(){Ke.editPointID.edit.forEach(I=>{m.entities.removeById(I)}),Ke.editPointID.edit=[],Ke.editPointID.height.forEach(I=>{m.entities.removeById(I)}),Ke.editPointID.height=[],Ke.editPointID.add.forEach(I=>{m.entities.removeById(I)}),Ke.editPointID.add=[],Ke.editPointID.size.forEach(I=>{m.entities.removeById(I)}),Ke.editPointID.size=[],Ke.editPointID.move&&m.entities.remove(Ke.editPointID.move),Ke.editPointID.move=void 0},setTreeID:function(I){Ke.editPointID.edit.forEach(v=>{let B=m.entities.getById(v);B.treeID=I}),Ke.editPointID.height.forEach(v=>{let B=m.entities.getById(v);B.treeID=I}),Ke.editPointID.add.forEach(v=>{let B=m.entities.getById(v);B.treeID=I}),Ke.editPointID.size.forEach(v=>{let B=m.entities.getById(v);B.treeID=I}),Ke.editPointID.move&&(Ke.editPointID.move.treeID=I)}},o==="billboard"||o==="point"||o==="label"||o==="model"){let I=SmartEarthPopupData.editGraphic.getValue("color")||SmartEarthPopupData.editGraphic.getValue("fillColor");I?C(I):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let v=SmartEarthPopupData.editGraphic.getValue("outlineColor");if(v?E(v):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),o==="label"){let B=SmartEarthPopupData.editGraphic.getValue("backgroundColor");B?x(B):(SmartEarthPopupData.editGraphic.backgroundColor="#000000",SmartEarthPopupData.editGraphic.backgroundAlpha=80)}SmartEarthPopupData.editGraphic.setValue=function(B,Q){if(B==="position"||B==="name")this.entity[B]=Q;else{if(B==="color"||B==="outlineColor"||B==="backgroundColor"||B==="fillColor")Q=hr.Color.fromCssColorString(Q);else if(B==="fontSize"){let T=this.getValue("font");T=T.split(" "),T[0]=Q,Q=T.join(" ")}else if(B==="alpha"){this.type==="label"?this.graphic.fillColor._value.alpha=Q:this.graphic.color._value.alpha=Q;return}else if(B==="outlineAlpha"){this.graphic.outlineColor._value.alpha=Q;return}else if(B==="backgroundAlpha"){this.graphic.backgroundColor._value.alpha=Q;return}else if(B==="pHeight"&&this.getValue("position")){let T=this.getValue("position"),w=hr.Cartographic.fromCartesian(T);w.height=Q,this.entity.position=hr.Cartographic.toCartesian(w);return}this.graphic[B]=Q}}}else if(o==="polyline"){let I=SmartEarthPopupData.editGraphic.getValue("material");I.color?C(I.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60),I.outlineColor?E(I.outlineColor):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(v,B){if(v==="name")this.entity[v]=B;else{if(v==="color"||v==="outlineColor"){B=hr.Color.fromCssColorString(B),this.graphic.material[v]=B;return}else if(v==="outlineWidth"){this.graphic.material[v]=B;return}else if(v==="alpha"){this.graphic.material.color._value.alpha=B;return}else if(v==="outlineAlpha"){this.graphic.material.outlineColor._value.alpha=B;return}else if(v==="positions"){this.graphic[v]=new hr.CallbackProperty(function(){return B},!1);return}this.graphic[v]=B}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let v=this.getValue("positions");return this.entity.pottingPoint=v,v},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let v=this.getPottingPoint();if(!v)return;let B=new hr.Cartesian3;v.forEach((Q,T)=>{let w=m.entities.add({name:"_edit_point",position:Q,point:{pixelSize:10,color:hr.Color.ROYALBLUE,outlineWidth:2,outlineColor:hr.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.edit.push(w.id),B.x+=Q.x,B.y+=Q.y,B.z+=Q.z}),B.x/=v.length,B.y/=v.length,B.z/=v.length,Ke.editPointID.move=m.entities.add({name:"_move_point",position:B,point:{color:hr.Color.PURPLE,pixelSize:10,outlineColor:hr.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});for(let Q=0;Q<v.length-1;Q++){let T=hr.Cartesian3.midpoint(v[Q],v[Q+1],new hr.Cartesian3),w=m.entities.add({name:"_add_point",position:T,point:{pixelSize:10,color:hr.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:hr.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.add.push(w.id)}}}else if(o==="polygon"){let I=SmartEarthPopupData.editGraphic.getValue("material");I.color?C(I.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let v=SmartEarthPopupData.editGraphic.getValue("outlineColor");v?E(v):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(B,Q){if(B==="name")this.entity[B]=Q;else{if(B==="color"||B==="outlineColor"){if(Q=hr.Color.fromCssColorString(Q),B==="color"){this.graphic.material.color=Q;return}}else if(B==="image"||B==="repeat"){this.graphic.material[B]=Q;return}else if(B==="alpha"){this.graphic.material.color._value.alpha=Q;return}else if(B==="outlineAlpha"){this.graphic.outlineColor._value.alpha=Q;return}else if(B==="positions"){this.graphic.hierarchy=new hr.CallbackProperty(function(){return new hr.PolygonHierarchy(Q)},!1);return}else if(B==="hierarchy"){this.graphic.hierarchy=new hr.CallbackProperty(function(){return Q},!1);return}else if(B==="clampToGround"){let T=function(w,S,D){D?(w.perPositionHeight=!1,w.heightReference=hr.HeightReference.CLAMP_TO_GROUND):(w.perPositionHeight=!0,w.heightReference=hr.HeightReference.NONE),Ke.editPointID.edit.length>0&&!D&&S.forEach((R,P)=>{let M=m.entities.getById(Ke.editPointID.edit[P]);if(M){let L=M.position.getValue();R.x=L.x,R.y=L.y,R.z=L.z}}),w.hierarchy=new hr.CallbackProperty(function(){return new hr.PolygonHierarchy(S)},!1)};this.graphic.hierarchy instanceof hr.CallbackProperty?(this.graphic.hierarchy=this.graphic.hierarchy.getValue(),setTimeout(()=>{T(this.graphic,this.entity.pottingPoint,Q)},100)):T(this.graphic,this.entity.pottingPoint,Q),Ke.editPointID.add.length>0&&Ke.editPointID.add.forEach(w=>{let S=m.entities.getById(w);S&&(Q?S.point.heightReference=1:S.point.heightReference=0)});return}else B==="extrudedHeight"?this.changeHeightPoint(Q):B==="height"&&this.changeEditPoint(Q);this.graphic[B]=Q}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let Q=this.getValue("hierarchy").positions.concat([]);if(this.getValue("height")!==void 0){let T=this.getValue("height");Q.forEach(w=>{let S=f.toDegrees(w),D=hr.Cartesian3.fromDegrees(S.lon,S.lat,T);w.x=D.x,w.y=D.y,w.z=D.z})}return this.entity.pottingPoint=Q,Q},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let B=this.getPottingPoint();if(!B)return;let Q=new hr.Cartesian3;B.forEach((S,D)=>{let R=m.entities.add({name:"_edit_point",position:S,point:{pixelSize:10,color:hr.Color.ROYALBLUE,outlineWidth:2,outlineColor:hr.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.edit.push(R.id),Q.x+=S.x,Q.y+=S.y,Q.z+=S.z}),Q.x/=B.length,Q.y/=B.length,Q.z/=B.length,Ke.editPointID.move=m.entities.add({name:"_move_point",position:Q,point:{color:hr.Color.PURPLE,pixelSize:10,outlineColor:hr.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});for(let S=0;S<B.length-1;S++){let D=hr.Cartesian3.midpoint(B[S],B[S+1],new hr.Cartesian3),R=m.entities.add({name:"_add_point",position:D,point:{pixelSize:10,color:hr.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:hr.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.add.push(R.id)}let T=hr.Cartesian3.midpoint(B[0],B[B.length-1],new hr.Cartesian3),w=m.entities.add({name:"_add_point",position:T,point:{pixelSize:10,color:hr.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:hr.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.add.push(w.id)}}else if(o==="ellipse"||o==="cylinder"||A.isSphere){let I=SmartEarthPopupData.editGraphic.getValue("material");I.color?C(I.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let v=SmartEarthPopupData.editGraphic.getValue("outlineColor");v?E(v):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(B,Q){if(B==="name")this.entity[B]=Q;else{if(B==="color"||B==="outlineColor"){if(Q=hr.Color.fromCssColorString(Q),B==="color"){this.graphic.material.color=Q;return}}else if(B==="image"||B==="repeat"){this.graphic.material[B]=Q;return}else if(B==="alpha"){this.graphic.material.color._value.alpha=Q;return}else if(B==="outlineAlpha"){this.graphic.outlineColor._value.alpha=Q;return}else if(B==="semiMajorAxis"){this.graphic.semiMajorAxis=new hr.CallbackProperty(function(){return Q},!1);return}else if(B==="semiMinorAxis"){this.graphic.semiMinorAxis=new hr.CallbackProperty(function(){return Q},!1);return}else if(B==="radii"){this.graphic.radii=new hr.CallbackProperty(function(){return Q},!1);return}else if(B==="topRadius"){this.graphic.topRadius=new hr.CallbackProperty(function(){return Q},!1);return}else if(B==="bottomRadius"){this.graphic.bottomRadius=new hr.CallbackProperty(function(){return Q},!1);return}else if(B==="radius"){this.type==="ellipse"?(this.graphic.semiMajorAxis=new hr.CallbackProperty(function(){return Q},!1),this.graphic.semiMinorAxis=new hr.CallbackProperty(function(){return Q},!1)):this.type==="ellipsoid"?this.graphic.material.image.getValue()!==null?this.graphic.radii=new hr.Cartesian3(Q,Q,Q):this.graphic.radii=new hr.CallbackProperty(function(){return new hr.Cartesian3(Q,Q,Q)},!1):this.type==="cylinder"&&(this.graphic.bottomRadius=new hr.CallbackProperty(function(){return Q},!1),this.entity.changeTop&&(this.graphic.topRadius=new hr.CallbackProperty(function(){return Q},!1)));let T=Ke.editPointID.move.position.getValue(),w=f.GetPositionFromA_D(T,Q,90),S=m.entities.getById(Ke.editPointID.size[0]);S.position=w,A.pottingPoint[0]=w,A.pottingPoint[A.pottingPoint.length-1]=T;let D=m.entities.getById(Ke.editPointID.height[0]);if(D){let R=f.toDegrees(w),P=f._cesium.Cartographic.fromCartesian(D.position.getValue());D.position=f._cesium.Cartesian3.fromDegrees(R.lon,R.lat,P.height)}return}else if(this.type==="cylinder"&&B==="length"){this.graphic.length=Q;let T=f.toDegrees(this.entity.pottingPoint[1]);this.entity.position=hr.Cartesian3.fromDegrees(T.lon,T.lat,T.height+Q/2),this.changeHeightPoint(T.height+Q);return}else if(this.type==="ellipse"&&B==="clampToGround"){let T=function(w,S,D){D?(w.thisHeight===void 0&&(w.thisHeight=S.height&&S.height.getValue()),S.height=void 0,S.heightReference=hr.HeightReference.CLAMP_TO_GROUND):(S.height=w.thisHeight,S.heightReference=hr.HeightReference.NONE);let R=S.semiMinorAxis.getValue();S.semiMinorAxis=new hr.CallbackProperty(function(){return R},!1),S.semiMajorAxis=new hr.CallbackProperty(function(){return R},!1)};this.graphic.semiMinorAxis instanceof hr.CallbackProperty?(this.graphic.semiMinorAxis=this.graphic.semiMinorAxis.getValue(),this.graphic.semiMajorAxis=this.graphic.semiMajorAxis.getValue(),setTimeout(()=>{T(this.entity,this.graphic,Q)},100)):T(this.entity,this.graphic,Q),Q?this.changeEditPoint("clampToGround"):this.changeEditPoint(this.entity.thisHeight);return}else this.type==="ellipse"&&B==="extrudedHeight"?this.changeHeightPoint(Q):this.type==="ellipse"&&B==="height"&&(this.changeEditPoint(Q),this.entity.thisHeight=Q);this.graphic[B]=Q}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let B=this.getValue("radius"),Q=this.getValue("position");if(this.type==="ellipse"||this.entity.isSphere){if(this.type==="ellipse"&&this.getValue("height")!==void 0){let w=this.getValue("height"),S=f.toDegrees(Q);Q=hr.Cartesian3.fromDegrees(S.lon,S.lat,w)}let T=f.GetPositionFromA_D(Q,B,90);return this.entity.pottingPoint=[T,Q],[T,Q]}else{let T=f.toDegrees(Q);Q=hr.Cartesian3.fromDegrees(T.lon,T.lat,T.height-this.getValue("length")/2);let w=f.GetPositionFromA_D(Q,B,90);return this.entity.pottingPoint=[w,Q],[w,Q]}},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let B=this.getPottingPoint();if(!B)return;let Q=m.entities.add({name:"_size_point",position:B[0],point:{pixelSize:10,color:hr.Color.ROYALBLUE,outlineWidth:2,outlineColor:hr.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Q.angle=90,Ke.editPointID.size.push(Q.id),Ke.editPointID.move=m.entities.add({name:"_move_point",position:B[1],point:{color:hr.Color.PURPLE,pixelSize:10,outlineColor:hr.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}})}}else if(o==="rectangle"){let I=SmartEarthPopupData.editGraphic.getValue("material");I.color?C(I.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let v=SmartEarthPopupData.editGraphic.getValue("outlineColor");v?E(v):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(B,Q){if(B==="name")this.entity[B]=Q;else{if(B==="color"||B==="outlineColor"){if(Q=hr.Color.fromCssColorString(Q),B==="color"){this.graphic.material.color=Q;return}}else if(B==="image"||B==="repeat"){this.graphic.material[B]=Q;return}else if(B==="alpha"){this.graphic.material.color._value.alpha=Q;return}else if(B==="outlineAlpha"){this.graphic.outlineColor._value.alpha=Q;return}else if(B==="positions"){this.graphic.coordinates=new hr.CallbackProperty(function(){return hr.Rectangle.fromCartesianArray(Q)},!1);return}else if(B==="coordinates"){this.graphic.coordinates=new hr.CallbackProperty(function(){return Q},!1);return}else if(B==="clampToGround"){let T=function(w,S,D){D?(w.thisHeight===void 0&&(w.thisHeight=S.height&&S.height.getValue()),S.height=void 0,S.heightReference=hr.HeightReference.CLAMP_TO_GROUND):(S.height=w.thisHeight,S.heightReference=hr.HeightReference.NONE);let R=S.coordinates.getValue();S.coordinates=new hr.CallbackProperty(function(){return R},!1)};this.graphic.coordinates instanceof hr.CallbackProperty?(this.graphic.coordinates=this.graphic.coordinates.getValue(),setTimeout(()=>{T(this.entity,this.graphic,Q)},100)):T(this.entity,this.graphic,Q),Q?this.changeEditPoint("clampToGround"):this.changeEditPoint(this.entity.thisHeight);return}else B==="extrudedHeight"?this.changeHeightPoint(Q):B==="height"&&(this.changeEditPoint(Q),this.entity.thisHeight=Q);this.graphic[B]=Q}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let B=this.getValue("coordinates"),Q,T,w=this.getValue("height");return w!==void 0?(Q=hr.Cartesian3.fromRadians(B.west,B.north,w),T=hr.Cartesian3.fromRadians(B.east,B.south,w)):(w=m.scene.sampleHeight(new hr.Cartographic(B.west,B.north,0),[this.entity]),Q=hr.Cartesian3.fromRadians(B.west,B.north,w),w=m.scene.sampleHeight(new hr.Cartographic(B.east,B.south,0),[this.entity]),T=hr.Cartesian3.fromRadians(B.east,B.south,w)),this.entity.pottingPoint=[Q,T],[Q,T]},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let B=this.getPottingPoint();if(!B)return;let Q=new hr.Cartesian3;B.forEach((T,w)=>{let S=m.entities.add({name:"_edit_point",position:T,point:{pixelSize:10,color:hr.Color.ROYALBLUE,outlineWidth:2,outlineColor:hr.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}});Ke.editPointID.edit.push(S.id),Q.x+=T.x,Q.y+=T.y,Q.z+=T.z}),Q.x/=B.length,Q.y/=B.length,Q.z/=B.length,Ke.editPointID.move=m.entities.add({name:"_move_point",position:Q,point:{color:hr.Color.PURPLE,pixelSize:10,outlineColor:hr.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}})}}else if(o==="box"){let I=SmartEarthPopupData.editGraphic.getValue("material");I.color?C(I.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let v=SmartEarthPopupData.editGraphic.getValue("outlineColor");v?E(v):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(B,Q){if(B==="name")this.entity[B]=Q;else{if(B==="color"||B==="outlineColor"){if(Q=hr.Color.fromCssColorString(Q),B==="color"){this.graphic.material.color=Q;return}}else if(B==="image"||B==="repeat"){this.graphic.material[B]=Q;return}else if(B==="alpha"){this.graphic.material.color._value.alpha=Q;return}else if(B==="outlineAlpha"){this.graphic.outlineColor._value.alpha=Q;return}else if(B==="long"||B==="width"||B==="height"){let T=this.getValue("dimensions");if(B==="long"?T.x=Q:B==="width"?T.y=Q:T.z=Q,this.graphic.dimensions=new hr.CallbackProperty(function(){return T},!1),B==="long"||B==="width"){let w=B==="long"?90:180,S=B==="long"?0:1,D=Ke.editPointID.move.position.getValue(),R=f.GetPositionFromA_D(D,Q/2,w),P=m.entities.getById(Ke.editPointID.size[S]);P.position=R,this.entity.pottingPoint[S]=R,this.entity.pottingPoint[this.entity.pottingPoint.length-1]=D}else{let w=f.toDegrees(Ke.editPointID.move.position.getValue());this.entity.position=hr.Cartesian3.fromDegrees(w.lon,w.lat,w.height+Q/2),this.changeHeightPoint(w.height+Q)}return}else if(B==="dimensions"){this.graphic.dimensions=new hr.CallbackProperty(function(){return Q},!1);return}this.graphic[B]=Q}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let B=this.getValue("dimensions"),Q=this.getValue("position"),T=f.toDegrees(Q);Q=hr.Cartesian3.fromDegrees(T.lon,T.lat,T.height-B.z/2);let w=f.GetPositionFromA_D(Q,B.x/2,90),S=f.GetPositionFromA_D(Q,B.y/2,180);return this.entity.pottingPoint=[w,S,Q],[w,S,Q]},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let B=this.getPottingPoint();if(!B)return;let Q=m.entities.add({name:"_size_point",position:B[0],point:{pixelSize:10,color:hr.Color.ROYALBLUE,outlineWidth:2,outlineColor:hr.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});Q.angle=90;let T=m.entities.add({name:"_size_point",position:B[1],point:{pixelSize:10,color:hr.Color.ROYALBLUE,outlineWidth:2,outlineColor:hr.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});T.angle=180,Ke.editPointID.size.push(Q.id),Ke.editPointID.size.push(T.id),Ke.editPointID.move=m.entities.add({name:"_move_point",position:B[2],point:{color:hr.Color.PURPLE,pixelSize:10,outlineColor:hr.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.graphic.heightReference&&this.graphic.heightReference.getValue()}})}}else o==="corridor"||o==="ellipsoid"&&A.isSphere;function C(I){SmartEarthPopupData.editGraphic.fillColor=y("rgb("+I.red*255+","+I.green*255+","+I.blue*255+")"),SmartEarthPopupData.editGraphic.alpha=I.alpha*100}function E(I){SmartEarthPopupData.editGraphic.outlineColor=y("rgb("+I.red*255+","+I.green*255+","+I.blue*255+")"),SmartEarthPopupData.editGraphic.outlineAlpha=I.alpha*100}function x(I){SmartEarthPopupData.editGraphic.backgroundColor=y("rgb("+I.red*255+","+I.green*255+","+I.blue*255+")"),SmartEarthPopupData.editGraphic.backgroundAlpha=I.alpha*100}function y(I){let v=I,B=/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;if(/^(rgb|RGB)/.test(v)){let Q=v.replace(/(rgb|RGB)*/g,"");Q=Q.replace("(","").replace(")","");let T=Q.split(","),w="#";for(let S=0;S<T.length;S++){let D=Number(T[S]).toString(16);D=D.length===1?0+""+D:D,D==="0"&&(D+=D),w+=D}return w.length!==7&&(w=v),w}else if(B.test(v)){let Q=v.replace(/#/,"").split("");if(Q.length===6)return v;if(Q.length===3){let T="#";for(let w=0;w<Q.length;w+=1)T+=Q[w]+Q[w];return T}}else return v}};var Cs=Qh;var Wr=null;function qh(o,A){Wr=A,this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._color=new In(this._viewer,this._cesium),this._tree=Ke,this._Provider=void 0,this.labelCollections1=[],this.labelCollections2=[],this.labelCollections=new this._cesium.PointPrimitiveCollection,this.gd=0,this.item={show:!0},this.model=[],this.Legend=[],this.sj=!0,this._cache=!1,this._forceRefreshPrvimitive=null}qh.prototype.createLabelPointGeoJsonFeatureLayer=function(o,A,f,m,C){A==null&&console.log("geojson is required");var E=this._cesium.GeoJsonDataSource.load(A),x=this;E.then(function(v){var B={Name:"",text:"",font:" 30px sans-serif",stylet:x._cesium.LabelStyle.OUTLINE,fillColor:x._cesium.Color.WHITE,outlineColor:x._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new x._cesium.Color(.165,.165,.165,.8),backgroundPadding:new x._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:x._cesium.HorizontalOrigin.CENTER,verticalOrigin:x._cesium.VerticalOrigin.CENTER,eyeOffset:x._cesium.Cartesian3.ZERO,pixelOffset:x._cesium.Cartesian2.ZERO,heightReference:x._cesium.HeightReference.NONE,scaleByDistance:new x._cesium.NearFarScalar(0,0,1,1)},Q=f.material;!x._core.isnull(f)&&!x._core.isnull(f.fillColor)&&(/^\[/.test(f.fillColor)&&f.fillColor.toString().charAt(0)=="["&&f.fillColor.toString().charAt(f.fillColor.length-1)=="]"||(x._core.isHtmlColor(f.fillColor)?f.fillColor=x._color.colorFromHtmlColor(f.fillColor):(/^rgb/.test(f.fillColor)&&(f.fillColor=x._color.rgbaStringToRgbaObj(f.fillColor)),f.fillColor.r>1&&(f.fillColor.r=f.fillColor.r/255),f.fillColor.g>1&&(f.fillColor.g=f.fillColor.g/255),f.fillColor.b>1&&(f.fillColor.b=f.fillColor.b/255),f.fillColor.a>1&&(f.fillColor.a=f.fillColor.a/255),f.fillColor=x._color.createColor(f.fillColor.r,f.fillColor.g,f.fillColor.b,f.fillColor.a)))),!x._core.isnull(f)&&!x._core.isnull(f.material)&&(/^\[/.test(f.material)&&f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(x._core.isHtmlColor(f.material)?f.material=x._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=x._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.fillColor.r/255),f.material.g>1&&(f.material.g=f.fillColor.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=x._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!x._core.isnull(f)&&!x._core.isnull(f.outlineColor)&&(/^\[/.test(f.outlineColor)&&f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(x._core.isHtmlColor(f.outlineColor)?f.outlineColor=x._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=x._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=x._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a)))),!x._core.isnull(f)&&!x._core.isnull(f.backgroundColor)&&(/^\[/.test(f.backgroundColor)&&f.backgroundColor.toString().charAt(0)=="["&&f.backgroundColor.toString().charAt(f.backgroundColor.length-1)=="]"||(x._core.isHtmlColor(f.backgroundColor)?f.backgroundColor=x._color.colorFromHtmlColor(f.backgroundColor):(/^rgb/.test(f.backgroundColor)&&(f.backgroundColor=x._color.rgbaStringToRgbaObj(f.backgroundColor)),f.backgroundColor.r>1&&(f.backgroundColor.r=f.backgroundColor.r/255),f.backgroundColor.g>1&&(f.backgroundColor.g=f.backgroundColor.g/255),f.backgroundColor.b>1&&(f.backgroundColor.b=f.backgroundColor.b/255),f.backgroundColor.a>1&&(f.backgroundColor.a=f.backgroundColor.a/255),f.backgroundColor=x._color.createColor(f.backgroundColor.r,f.backgroundColor.g,f.backgroundColor.b,f.backgroundColor.a))));var T=x._core.extend(B,f,!0);x.item=v;var w=v.entities.values;x._core.isnull(f.near)&&(f.near=0),x._core.isnull(f.far)&&(f.far=999999999);var S=parseFloat(f.near),D=parseFloat(f.far),R=new x._cesium.DistanceDisplayCondition(S,D);T.distanceDisplayCondition=R,x._core.isnull(f.font_size)&&(f.font_size="30px"),x._core.isnull(f.font_family)&&(f.font_family=" sans-serif"),T.font=parseFloat(f.font_size)+"px "+f.font_family;for(var P=new x._cesium.LabelCollection,M=0;M<w.length;M++){var L=w[M];T.position=L.position._value,T.text="a label";var F="fillColor:"+T.fillColor.red*255+","+T.fillColor.green*255+","+T.fillColor.blue*255+";outlineColor:"+T.outlineColor.red*255+","+T.outlineColor.green*255+","+T.outlineColor.blue*255;x.Legend.push(F),P.add(T)}var k=x._viewer.scene.primitives.add(P);typeof C=="function"&&C(k)});var y=this._core.getuid();this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y);var I={id:y,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"labelPointLayer",item:this,url:A,style:options,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:!0,disFnc:C}};return this.setTreeobj(I),this._tree.insertGroupId(I,this._core.isnull(m)?0:m),this};qh.prototype.createLabelPolymerizationGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x={Name:"",text:"",font:" 30px sans-serif",style:this._cesium.LabelStyle.FILL_AND_OUTLINE,fillColor:this._cesium.Color.WHITE,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new this._cesium.Color(.165,.165,.165,.8),backgroundPadding:new this._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,heightReference:this._cesium.HeightReference.RELATIVE_TO_GROUND,scaleByDistance:new this._cesium.NearFarScalar(0,0,1,1),maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0,pointHeight:0},B=this;!this._core.isnull(f)&&!this._core.isnull(f.fillColor)&&(this._core.isHtmlColor(f.fillColor)?f.fillColor=this._color.colorFromHtmlColor(f.fillColor):(/^rgb/.test(f.fillColor)&&(f.fillColor=this._color.rgbaStringToRgbaObj(f.fillColor)),f.fillColor.r>1&&(f.fillColor.r=f.fillColor.r/255),f.fillColor.g>1&&(f.fillColor.g=f.fillColor.g/255),f.fillColor.b>1&&(f.fillColor.b=f.fillColor.b/255),f.fillColor.a>1&&(f.fillColor.a=f.fillColor.a/255),f.fillColor=this._color.createColor(f.fillColor.r,f.fillColor.g,f.fillColor.b,f.fillColor.a))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a))),!this._core.isnull(f)&&!this._core.isnull(f.backgroundColor)&&(this._core.isHtmlColor(f.backgroundColor)?f.backgroundColor=this._color.colorFromHtmlColor(f.backgroundColor):(/^rgb/.test(f.backgroundColor)&&(f.backgroundColor=this._color.rgbaStringToRgbaObj(f.backgroundColor)),f.backgroundColor.r>1&&(f.backgroundColor.r=f.backgroundColor.r/255),f.backgroundColor.g>1&&(f.backgroundColor.g=f.backgroundColor.g/255),f.backgroundColor.b>1&&(f.backgroundColor.b=f.backgroundColor.b/255),f.backgroundColor.a>1&&(f.backgroundColor.a=f.backgroundColor.a/255),f.backgroundColor=this._color.createColor(f.backgroundColor.r,f.backgroundColor.g,f.backgroundColor.b,f.backgroundColor.a))),B._core.isnull(f.near)&&(f.near=0),B._core.isnull(f.far)&&(f.far=999999999);var y=this._core.extend(x,f,!0),I={camera:this._viewer.scene.camera,canvas:this._viewer.scene.canvas},v=this._viewer.dataSources.add(this._cesium.GeoJsonDataSource.load(A)),B=this;v.then(function(w){B.item=w;var S=45,D=3,R=!0,P=w.entities.values;B._core.isnull(y.font_size)&&(y.font_size="30"),B._core.isnull(y.font_family)&&(y.font_family=" sans-serif"),y.font=y.font_size+"px "+y.font_family;for(var M=0;M<P.length;M++){var L=P[M];y.font=B._core.extendgl(L,f.font,y.font),y.style=parseInt(B._core.extendgl(L,y.stylet,y.style)),y.fillColor=B._core.extendgl(L,f.fillColor,y.fillColor),y.outlineColor=B._core.extendgl(L,f.outlineColor,y.outlineColor),y.outlineWidth=parseFloat(B._core.extendgl(L,f.outlineWidth,y.outlineWidth)),y.show=B._core.extendgl(L,f.show,y.show),y.showBackground=B._core.extendgl(L,f.showBackground,y.showBackground),y.backgroundColor=B._core.extendgl(L,f.backgroundColor,y.backgroundColor),y.backgroundPadding=B._core.extendgl(L,f.backgroundPadding,y.backgroundPadding),y.scale=parseFloat(B._core.extendgl(L,f.scale,y.scale)),y.horizontalOrigin=B._core.extendgl(L,f.horizontalOrigin,y.horizontalOrigin),y.pointHeight=parseFloat(B._core.extendgl(L,f.pointHeight,y.pointHeight)),y.text=B._core.extendgl(L,f.text,y.text);var F=parseFloat(B._core.extendgl(L,y.near)),k=parseFloat(B._core.extendgl(L,y.far)),N=new B._cesium.DistanceDisplayCondition(F,k);y.distanceDisplayCondition=N,y.text=L.properties[y.text]==null?y.text:L.properties[y.text]._value,L.billboard.color=B._cesium.Color.WHITE.withAlpha(0),L.label=new B._cesium.LabelGraphics(y);var G=B._viewer.scene.globe.ellipsoid,J=B._cesium.Cartographic.fromCartesian(L.position._value),K=B._cesium.Math.toDegrees(J.longitude),X=B._cesium.Math.toDegrees(J.latitude),q=y.pointHeight||J.height,ee=new B._cesium.Cartesian3.fromDegrees(K,X,q);L.position._value=ee}w.clustering.enabled=R,w.clustering.pixelRange=S,w.clustering.minimumClusterSize=D;for(var ie,H=new B._cesium.PinBuilder,le=H.fromText("50+",B._cesium.Color.RED,48).toDataURL(),ue=H.fromText("40+",B._cesium.Color.ORANGE,48).toDataURL(),Ae=H.fromText("30+",B._cesium.Color.YELLOW,48).toDataURL(),he=H.fromText("20+",B._cesium.Color.GREEN,48).toDataURL(),ge=H.fromText("10+",B._cesium.Color.BLUE,48).toDataURL(),fe=new Array(8),M=0;M<fe.length;++M)fe[M]=H.fromText(""+(M+2),B._cesium.Color.VIOLET,48).toDataURL();function ae(){B._cesium.defined(ie)?(ie(),ie=void 0):ie=w.clustering.clusterEvent.addEventListener(function(Y,z){z.label.show=!1,z.point.show=!1,z.billboard.show=!0,z.billboard.id=z.label.id,z.billboard.verticalOrigin=B._cesium.VerticalOrigin.BOTTOM,Y.length>=50?z.billboard.image=H.fromText(Y.length,B._cesium.Color.RED,48).toDataURL():Y.length>=40?z.billboard.image=H.fromText(Y.length,B._cesium.Color.ORANGE,48).toDataURL():Y.length>=30?z.billboard.image=H.fromText(Y.length,B._cesium.Color.YELLOW,48).toDataURL():Y.length>=20?z.billboard.image=H.fromText(Y.length,B._cesium.Color.GREEN,48).toDataURL():Y.length>=10?z.billboard.image=H.fromText(Y.length,B._cesium.Color.BLUE,48).toDataURL():z.billboard.image=fe[Y.length-2]});var W=w.clustering.pixelRange;w.clustering.pixelRange=0,w.clustering.pixelRange=W,C||B.setVisibility(C)}ae();var U={pixelRange:S,minimumClusterSize:D};B._cesium.knockout.track(U),typeof E=="function"&&E(ps)});var Q=this._core.getuid();this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+Q);var T={id:Q,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"labelPointLayer",item:this,url:A,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(T),this._tree.insertGroupId(T,this._core.isnull(m)?0:m),this};qh.prototype.createPointPolymerizationGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x={color:this._cesium.Color.WHITE,pixelSize:1,outlineColor:this._cesium.Color.BLACK,outlineWidth:0,show:!0,scaleByDistance:new this._cesium.NearFarScalar(0,0,1,1)};!this._core.isnull(f)&&!this._core.isnull(f.color)&&(f.color.toString().charAt(0)=="["&&f.color.toString().charAt(f.color.length-1)=="]"||(this._core.isHtmlColor(f.color)?f.color=this._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=this._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=this._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a)))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a))));var y=this._core.extend(x,f,!0),I={camera:this._viewer.scene.camera,canvas:this._viewer.scene.canvas},v=this._viewer.dataSources.add(this._cesium.GeoJsonDataSource.load(A)),B=this,Q;f&&f.time&&(Q=new B._cesium.TimeIntervalCollection([new B._cesium.TimeInterval({start:f.time.start?B._cesium.JulianDate.fromDate(new Date(f.time.start)):B._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?B._cesium.JulianDate.fromDate(new Date(f.time.end)):B._cesium.Iso8601.MAXIMUM_VALUE})])),v.then(function(S){B.item=S;for(var D=45,R=3,P=!0,M=S.entities.values,L=0;L<M.length;L++){var F=M[L];y.color=B._core.extendgl(F,f.color,y.color),y.pixelSize=parseInt(B._core.extendgl(F,f.pixelSize,y.pixelSize)),y.outlineColor=B._core.extendgl(F,f.outlineColor,y.outlineColor),y.outlineWidth=parseFloat(B._core.extendgl(F,f.outlineWidth,y.outlineWidth)),y.show=B._core.extendgl(F,f.show,y.show),y.height=parseFloat(B._core.extendgl(F,f.height,y.height)),y.scaleByDistance=B._core.extendgl(F,f.scaleByDistance,y.scaleByDistance);var k=parseFloat(B._core.extendgl(F,y.minDistanceDisplay)),N=parseFloat(B._core.extendgl(F,y.maxDistanceDisplay)),G=new B._cesium.DistanceDisplayCondition(k,N);F.billboard.image="",y.distanceDisplayCondition=G,F.point=new B._cesium.PointGraphics(y),y.pointHeight=B._core.extendgl(F,f.pointHeight,y.pointHeight),y.pointHeight=parseFloat(y.pointHeight);var J=B._viewer.scene.globe.ellipsoid,K=B._cesium.Cartographic.fromCartesian(F.position._value),X=B._cesium.Math.toDegrees(K.longitude),q=B._cesium.Math.toDegrees(K.latitude),ee=y.pointHeight||K.height,ie=new B._cesium.Cartesian3.fromDegrees(X,q,ee);F.position._value=ie,Q&&(F.availability=Q)}S.clustering.enabled=P,S.clustering.pixelRange=D,S.clustering.minimumClusterSize=R;for(var H,le=new B._cesium.PinBuilder,ue=le.fromText("50+",B._cesium.Color.RED,48).toDataURL(),Ae=le.fromText("40+",B._cesium.Color.ORANGE,48).toDataURL(),he=le.fromText("30+",B._cesium.Color.YELLOW,48).toDataURL(),ge=le.fromText("20+",B._cesium.Color.GREEN,48).toDataURL(),fe=le.fromText("10+",B._cesium.Color.BLUE,48).toDataURL(),ae=new Array(8),L=0;L<ae.length;++L)ae[L]=le.fromText(""+(L+2),B._cesium.Color.VIOLET,48).toDataURL();function U(){B._cesium.defined(H)?(H(),H=void 0):H=S.clustering.clusterEvent.addEventListener(function(z,re){re.label.show=!1,re.point.show=!1,re.billboard.show=!0,re.billboard.id=re.label.id,re.billboard.verticalOrigin=B._cesium.VerticalOrigin.BOTTOM,z.length>=50?re.billboard.image=le.fromText(z.length,B._cesium.Color.RED,48).toDataURL():z.length>=40?re.billboard.image=le.fromText(z.length,B._cesium.Color.ORANGE,48).toDataURL():z.length>=30?re.billboard.image=le.fromText(z.length,B._cesium.Color.YELLOW,48).toDataURL():z.length>=20?re.billboard.image=le.fromText(z.length,B._cesium.Color.GREEN,48).toDataURL():z.length>=10?re.billboard.image=le.fromText(z.length,B._cesium.Color.BLUE,48).toDataURL():re.billboard.image=ae[z.length-2]});var Y=S.clustering.pixelRange;S.clustering.pixelRange=0,S.clustering.pixelRange=Y,C||B.setVisibility(C)}U();var W={pixelRange:D,minimumClusterSize:R};B._cesium.knockout.track(W),typeof E=="function"&&E(ps)});var T=this._core.getuid();this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+T);var w={id:T,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"pointLayer",item:this,url:A,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),this};qh.prototype._cameraMoveEndHandler=function(){var o=this._viewer.camera.getMagnitude();if(o<this.gd){if(this.sj){this._viewer.scene.primitives.remove(this.labelCollections),this.labelCollections=new this._cesium.LabelCollection;for(var A=0;A<this.labelCollections1.length;A++)this.labelCollections.add(this.labelCollections1[A]);this._viewer.scene.primitives.add(this.labelCollections),this.sj=!1}}else{this._viewer.scene.primitives.remove(this.labelCollections);for(var f=new this._cesium.BillboardCollection,A=0;A<this.labelCollections2.length;A++)this.BillboardCollections.add(this.labelCollections2[A]);this._viewer.scene.primitives.add(this.BillboardCollections),this.sj=!0}};qh.prototype.createLabelpolymerizationGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x=A,y=this._viewer.scene.primitives;this._cameraMoveEndHandler=this._cameraMoveEndHandler.bind(this),this._viewer.camera.moveEnd.addEventListener(this._cameraMoveEndHandler),this.gd=f.height;for(var I=new this._cesium.BillboardCollection,v={},B=[],Q=0;Q<x.length;Q++){var T=new this._cesium.Cartesian3.fromDegrees(x[Q].lng,x[Q].lat,100),w={position:T,text:x[Q].name};this.labelCollections1.push(w);var S=x[Q];if(!v[S[f.adminname]])B.push({adminname:S[f.adminname],name:S.name,showBackground:!0,lat:S.lat,lng:S.lng,data:[S]}),v[S[f.adminname]]=S;else for(var D=0;D<B.length;D++){var R=B[D];if(R.adminname==S[f.adminname]){R.data.push(S);break}}}for(var Q=0;Q<B.length;Q++){var T=new this._cesium.Cartesian3.fromDegrees(B[Q].lng,B[Q].lat,100),w={position:T,image:pinBuilder.fromText(B[Q].data.length+"",this._cesium.Color.BLACK,48).toDataURL()};this.labelCollections2.push(w),this.BillboardCollections.add(w)}var P;f&&f.time&&(P=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:f.time.start?this._cesium.JulianDate.fromDate(new Date(f.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?this._cesium.JulianDate.fromDate(new Date(f.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})])),this._viewer.scene.primitives.add(this.BillboardCollections,P)};qh.prototype.createLabelpolymerizationGeoJsonFeatureLayers=function(o,A,f,m,C,E){var x={height:0,material:this._cesium.Color.WHITE,size:50,fill:this._cesium.Color.RED,maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):/^http/.test(f.material)||(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!this._core.isnull(f)&&!this._core.isnull(f.fill)&&(f.fill.toString().charAt(0)=="["&&f.fill.toString().charAt(f.fill.length-1)=="]"||(this._core.isHtmlColor(f.fill)?f.fill=this._color.colorFromHtmlColor(f.fill):/^http/.test(f.fill)||(/^rgb/.test(f.fill)&&(f.fill=this._color.rgbaStringToRgbaObj(f.fill)),f.fill.r>1&&(f.fill.r=f.fill.r/255),f.fill.g>1&&(f.fill.g=f.fill.g/255),f.fill.b>1&&(f.fill.b=f.fill.b/255),f.fill.a>1&&(f.fill.a=f.fill.a/255),f.fill=this._color.createColor(f.fill.r,f.fill.g,f.fill.b,f.fill.a))));var I=this._core.extend(x,f,!0),v=this;this._urlTemplate=A.url+"?"+this._core._serialize(y.urlParams);var B=A.url+"?"+this._core._serialize(y.urlParams);this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=parseFloat(I.height)||0,this._Provider.loadTile=function(S,D){if(D.state===Wr.QuadtreeTileLoadState.START){if(D.data={lines:[],geometryPrimitive:void 0},D.level>=f.level_min&&D.level<f.level_max&&v.item.show){var R=B.replace(window.encodeURIComponent("{x}"),D.x).replace(window.encodeURIComponent("{y}"),D.y).replace(window.encodeURIComponent("{z}"),D.level);v._cache&&(R+="&"+v._core.getuid()),v._core.xhr({url:R,type:"get",dataType:"json",success:function(P){cluster==""?v.labelCollections=new v._cesium.PointPrimitiveCollection:v.labelCollections=new v._cesium.BillboardCollection;var M=new v._cesium.PinBuilder;if(P==null){D.state=Wr.QuadtreeTileLoadState.DONE,D.renderable=!0;return}var L=[];P.features.forEach(function(F){I.id=F;var k=F.geometry.coordinates[2]||0;if(F.properties.height!=null&&(k=parseFloat(F.properties.height)),/^\[/.test(I.height)&&/\]$/.test(I.height)){var N=I.height.replace(/\[/,"").replace(/\]/,"");k+=parseFloat(F.properties[N])}else k+=parseFloat(I.height)||0;var G={},J=new v._cesium.Cartesian3.fromDegrees(F.geometry.coordinates[0],F.geometry.coordinates[1],k);cluster==""?G={id:F,color:I.material,position:J}:G={position:J,image:M.fromText(F.count+"",I.fill,I.size).toDataURL(),verticalOrigin:v._cesium.VerticalOrigin.BOTTOM},v.labelCollections.add(G)}),P.features.length==0&&(D.state=Wr.QuadtreeTileLoadState.DONE,D.renderable=!0),D.data.geometryPrimitive=v.labelCollections,D.state=Wr.QuadtreeTileLoadState.LOADING,D.state===Wr.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive.update(S,[]),D.state=Wr.QuadtreeTileLoadState.DONE,D.renderable=!0)},error:function(){D.count==null&&(D.count=0),D.count+=1,D.count>=2?(D.state=Wr.QuadtreeTileLoadState.DONE,D.renderable=!0):D.state=Wr.QuadtreeTileLoadState.START}})}else{D.state=Wr.QuadtreeTileLoadState.DONE,D.renderable=!0;return}D.state=Wr.QuadtreeTileLoadState.LOADING}},this._primitive=new this._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,T=Q.primitives;f&&f.time&&(this._Provider._availability=new v._cesium.TimeIntervalCollection([new v._cesium.TimeInterval({start:f.time.start?v._cesium.JulianDate.fromDate(new Date(f.time.start)):v._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?v._cesium.JulianDate.fromDate(new Date(f.time.end)):v._cesium.Iso8601.MAXIMUM_VALUE})]),this._Provider.isAvailable=function(S){if(!Wr.defined(S))throw new Wr.DeveloperError("time is required.");var D=this._availability;return!Wr.defined(D)||D.contains(S)}),T.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var w={id:I.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};qh.prototype.createLabelGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium},y=this,I=f.material;!y._core.isnull(f)&&!y._core.isnull(f.fillColor)&&(/^\[/.test(f.fillColor)&&f.fillColor.toString().charAt(0)=="["&&f.fillColor.toString().charAt(f.fillColor.length-1)=="]"||(y._core.isHtmlColor(f.fillColor)?f.fillColor=y._color.colorFromHtmlColor(f.fillColor):(/^rgb/.test(f.fillColor)&&(f.fillColor=y._color.rgbaStringToRgbaObj(f.fillColor)),f.fillColor.r>1&&(f.fillColor.r=f.fillColor.r/255),f.fillColor.g>1&&(f.fillColor.g=f.fillColor.g/255),f.fillColor.b>1&&(f.fillColor.b=f.fillColor.b/255),f.fillColor.a>1&&(f.fillColor.a=f.fillColor.a/255),f.fillColor=y._color.createColor(f.fillColor.r,f.fillColor.g,f.fillColor.b,f.fillColor.a)))),!y._core.isnull(f)&&!y._core.isnull(f.material)&&(/^\[/.test(f.material)&&f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(y._core.isHtmlColor(f.material)?f.material=y._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=y._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=y._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!y._core.isnull(f)&&!y._core.isnull(f.outlineColor)&&(/^\[/.test(f.outlineColor)&&f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(y._core.isHtmlColor(f.outlineColor)?f.outlineColor=y._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=y._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=y._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a)))),!y._core.isnull(f)&&!y._core.isnull(f.backgroundColor)&&(/^\[/.test(f.backgroundColor)&&f.backgroundColor.toString().charAt(0)=="["&&f.backgroundColor.toString().charAt(f.backgroundColor.length-1)=="]"||(y._core.isHtmlColor(f.backgroundColor)?f.backgroundColor=y._color.colorFromHtmlColor(f.backgroundColor):(/^rgb/.test(f.backgroundColor)&&(f.backgroundColor=y._color.rgbaStringToRgbaObj(f.backgroundColor)),f.backgroundColor.r>1&&(f.backgroundColor.r=f.backgroundColor.r/255),f.backgroundColor.g>1&&(f.backgroundColor.g=f.backgroundColor.g/255),f.backgroundColor.b>1&&(f.backgroundColor.b=f.backgroundColor.b/255),f.backgroundColor.a>1&&(f.backgroundColor.a=f.backgroundColor.a/255),f.backgroundColor=y._color.createColor(f.backgroundColor.r,f.backgroundColor.g,f.backgroundColor.b,f.backgroundColor.a)))),this._urlTemplate=A.url+"?"+this._core._serialize(x.urlParams);var v=A.url+"?"+this._core._serialize(x.urlParams);this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=parseFloat(f.height)||0,this._Provider.loadTile=function(w,S){if(S.state===Wr.QuadtreeTileLoadState.START){if(S.data={lines:[],geometryPrimitive:void 0},S.level>=f.level_min&&S.level<f.level_max&&y.item.show){var D=v.replace(window.encodeURIComponent("{x}"),S.x).replace(window.encodeURIComponent("{y}"),S.y).replace(window.encodeURIComponent("{z}"),S.level);y._cache&&(D+="&"+y._core.getuid()),y._core.xhr({url:D,type:"get",dataType:"json",success:function(R){if(R==null){S.state=Wr.QuadtreeTileLoadState.DONE,S.renderable=!0;return}var P={Name:"",text:"",font:" 30px sans-serif",style:y._cesium.LabelStyle.FILL_AND_OUTLINE,fillColor:y._cesium.Color.WHITE,outlineColor:y._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new y._cesium.Color(.165,.165,.165,.8),backgroundPadding:new y._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:y._cesium.HorizontalOrigin.CENTER,verticalOrigin:y._cesium.VerticalOrigin.CENTER,eyeOffset:y._cesium.Cartesian3.ZERO,pixelOffset:y._cesium.Cartesian2.ZERO,heightReference:y._cesium.HeightReference.NONE,scaleByDistance:new y._cesium.NearFarScalar(0,0,1,1),maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0},M=y._core.extend(P,f,!0);y._core.isnull(f.near)&&(f.near=0),y._core.isnull(f.far)&&(f.far=999999999);var L=parseFloat(f.near),F=parseFloat(f.far),k=new y._cesium.DistanceDisplayCondition(L,F);M.distanceDisplayCondition=k,y._core.isnull(f.font_size)&&(f.font_size="30px"),y._core.isnull(f.font_family)&&(f.font_family=" sans-serif"),M.font=parseFloat(f.font_size)+"px "+f.font_family;var N;M.image!=null&&M.image!=null?N=new y._cesium.BillboardCollection:N=new y._cesium.LabelCollection,R.features.forEach(function(G){M.id=G;var J=M.pointHeight;if(/^\[/.test(J)&&/\]$/.test(J)){var K=J.replace(/\[/,"").replace(/\]/,"");J=parseFloat(G.properties[K])}else J!=null&&J!=""?J=parseFloat(J):G.properties.height!=null&&(J=parseFloat(G.properties.height));if(M.position=new y._cesium.Cartesian3.fromDegrees(G.geometry.coordinates[0],G.geometry.coordinates[1],J),/^\[/.test(f.fillColor)&&/\]$/.test(f.fillColor)){var X=f.fillColor.replace(/\[/,"").replace(/\]/,"");M.fillColor=G.properties[X],y._core.isHtmlColor(M.fillColor)?M.fillColor=y._color.colorFromHtmlColor(M.fillColor):(/^rgb/.test(M.fillColor)&&(M.fillColor=y._color.rgbaStringToRgbaObj(M.fillColor)),M.fillColor.r>1&&(M.fillColor.r=M.fillColor.r/255),M.fillColor.g>1&&(M.fillColor.g=M.fillColor.g/255),M.fillColor.b>1&&(M.fillColor.b=M.fillColor.b/255),M.fillColor.a>1&&(M.fillColor.a=M.fillColor.a/255),M.fillColor=y._color.createColor(M.fillColor.r,M.fillColor.g,M.fillColor.b,M.fillColor.a))}if(/^\[/.test(f.outlineColor)&&/\]$/.test(f.outlineColor)){var X=f.outlineColor.replace(/\[/,"").replace(/\]/,"");M.outlineColor=G.properties[X],y._core.isHtmlColor(M.outlineColor)?M.outlineColor=y._color.colorFromHtmlColor(M.outlineColor):(/^rgb/.test(M.outlineColor)&&(M.outlineColor=y._color.rgbaStringToRgbaObj(M.outlineColor)),M.outlineColor.r>1&&(M.outlineColor.r=M.outlineColor.r/255),M.outlineColor.g>1&&(M.outlineColor.g=M.outlineColor.g/255),M.outlineColor.b>1&&(M.outlineColor.b=M.outlineColor.b/255),M.outlineColor.a>1&&(M.outlineColor.a=M.outlineColor.a/255),M.outlineColor=y._color.createColor(M.outlineColor.r,M.outlineColor.g,M.outlineColor.b,M.outlineColor.a))}var q="fillColor:"+M.fillColor.red*255+","+M.fillColor.green*255+","+M.fillColor.blue*255+";outlineColor:"+M.outlineColor.red*255+","+M.outlineColor.green*255+","+M.outlineColor.blue*255;if(y.Legend.push(q),/^\[/.test(f.text)&&/\]$/.test(f.text)){var X=f.text.replace(/\[/,"").replace(/\]/,"");M.text=G.properties[X]}M.id.treeID=f.id,M.id.VectorType="label",M.id.VectorStyle={position:M.position,pointHeight:J,text:M.text,font:M.font,scale:M.scale,style:M.style,fillColor:M.fillColor,outlineColor:M.outlineColor,outlineWidth:M.outlineWidth,showBackground:M.showBackground,backgroundColor:M.backgroundColor,heightReference:M.heightReference,horizontalOrigin:M.horizontalOrigin,verticalOrigin:M.verticalOrigin,scaleByDistance:M.scaleByDistance,distanceDisplayCondition:M.distanceDisplayCondition},N.add(M)}),R.features.length==0&&(S.state=Wr.QuadtreeTileLoadState.DONE,S.renderable=!0),S.data.geometryPrimitive=N,S.state=Wr.QuadtreeTileLoadState.LOADING,S.state===Wr.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive.update(w,[]),S.state=Wr.QuadtreeTileLoadState.DONE,S.renderable=!0)},error:function(){S.count==null&&(S.count=0),S.count+=1,S.count>=2?(S.state=Wr.QuadtreeTileLoadState.DONE,S.renderable=!0):S.state=Wr.QuadtreeTileLoadState.START}})}else{S.state=Wr.QuadtreeTileLoadState.DONE,S.renderable=!0;return}S.state=Wr.QuadtreeTileLoadState.LOADING}},this._primitive=new this._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var B=this._viewer.scene,Q=B.primitives;f&&f.time&&(this._Provider._availability=new y._cesium.TimeIntervalCollection([new y._cesium.TimeInterval({start:f.time.start?y._cesium.JulianDate.fromDate(new Date(f.time.start)):y._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?y._cesium.JulianDate.fromDate(new Date(f.time.end)):y._cesium.Iso8601.MAXIMUM_VALUE})]),this._Provider.isAvailable=function(w){if(!Wr.defined(w))throw new Wr.DeveloperError("time is required.");var S=this._availability;return!Wr.defined(S)||S.contains(w)}),Q.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var T={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this._Provider.treeID=f.id,this.setTreeobj(T),this._tree.insertGroupId(T,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};qh.prototype.createLabelImageGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,Cesium:this._cesium},y=this,I=f.material;!y._core.isnull(f)&&!y._core.isnull(f.fillColor)&&typeof f.fillColor=="string"&&(/^\[/.test(f.fillColor)&&/\]$/.test(f.fillColor)||(y._core.isHtmlColor(f.fillColor)||/^rgb/.test(f.fillColor))&&(f.fillColor=Wr.Color.fromCssColorString(f.fillColor))),!y._core.isnull(f)&&!y._core.isnull(f.outlineColor)&&typeof f.outlineColor=="string"&&(/^\[/.test(f.outlineColor)&&/\]$/.test(f.outlineColor)||(y._core.isHtmlColor(f.outlineColor)||/^rgb/.test(f.outlineColor))&&(f.outlineColor=Wr.Color.fromCssColorString(f.outlineColor))),!y._core.isnull(f)&&!y._core.isnull(f.color)&&typeof f.color=="string"&&(/^\[/.test(f.color)&&/\]$/.test(f.color)||(y._core.isHtmlColor(f.color)||/^rgb/.test(f.color))&&(f.color=Wr.Color.fromCssColorString(f.color))),!y._core.isnull(f)&&!y._core.isnull(f.backgroundColor)&&typeof f.backgroundColor=="string"&&(/^\[/.test(f.backgroundColor)&&/\]$/.test(f.backgroundColor)||(y._core.isHtmlColor(f.backgroundColor)||/^rgb/.test(f.backgroundColor))&&(f.backgroundColor=Wr.Color.fromCssColorString(f.backgroundColor))),y._core.isnull(f.font)&&(y._core.isnull(f.font_size)&&(f.font_size="30px"),y._core.isnull(f.font_family)&&(f.font_family=" sans-serif"),f.font=f.font_size+" "+f.font_family,f.bold&&(f.font="bold "+f.font),f.italic&&(f.font="italic "+f.font)),y._core.isnull(f.near)&&(f.near=0),y._core.isnull(f.far)&&(f.far=999999999);var v=parseFloat(f.near),B=parseFloat(f.far),Q=new y._cesium.DistanceDisplayCondition(v,B);f.distanceDisplayCondition=Q;let T=A.url.indexOf("/gisserver/")>-1;var w;T?w=A.url+`/${window.encodeURIComponent("{z}")}/${window.encodeURIComponent("{x}")}/${window.encodeURIComponent("{y}")}.json`:w=A.url+"?"+this._core._serialize(x.urlParams),this._urlTemplate=w,this._Provider=new Cs(this._viewer,this._cesium,T?new Wr.WebMercatorTilingScheme:void 0),this._Provider._normalTile=f.level_max,this._Provider._minimumHeight=parseFloat(f.height)||0;function S(K,X){let q;if(typeof X.value=="string")/^\[/.test(X.value)&&/\]$/.test(X.value)?(q=X.value.replace(/\[/,"").replace(/\]/,""),q=K.properties[q]):q=X.value;else{let ee=X.value,ie=ee.Condition,H=K.properties[ie];q=ee.Value[H]}return!q&&(q=X.defaultValue),y._core.isHtmlColor(q)&&(q=Wr.Color.fromCssColorString(q)),q}function D(){return{name:"",text:"",font:" 30px sans-serif",style:y._cesium.LabelStyle.FILL_AND_OUTLINE,fillColor:y._cesium.Color.WHITE,outlineColor:y._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new y._cesium.Color(.165,.165,.165,.8),backgroundPadding:new y._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:y._cesium.HorizontalOrigin.CENTER,verticalOrigin:y._cesium.VerticalOrigin.CENTER,eyeOffset:y._cesium.Cartesian3.ZERO,pixelOffset:y._cesium.Cartesian2.ZERO,heightReference:y._cesium.HeightReference.NONE,scaleByDistance:new y._cesium.NearFarScalar(0,0,1,1),maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0}}this.initThisProvider=()=>{this.initThisProvider=void 0,this._Provider.loadTile=function(K,X){if(X.state===Wr.QuadtreeTileLoadState.START){if(X.data={lines:[],geometryPrimitive:void 0},X.level>=f.level_min&&X.level<=f.level_max&&y.item.show){if(T&&(X.reverseY=y._Provider.tilingScheme.getNumberOfYTilesAtLevel(X.level)-X.y-1),y.TileMatrixLimits){let ee=y.TileMatrixLimits[X.level];if(!ee||ee&&(X.x>ee.maxCol||X.x<ee.minCol||X.y>ee.maxRow||X.y<ee.minRow)){X.state=Wr.QuadtreeTileLoadState.DONE,X.renderable=!0,F();return}}if(y._Provider.EntityCollection.isShow&&(y._Provider.EntityCollection.show=!0),y._Provider.EntityCollection.childrenCollection[X.level+"-"+X.x+"-"+X.y]){let ee=y._Provider.EntityCollection.childrenCollection[X.level+"-"+X.x+"-"+X.y];ee.setVisibility(!0),X.data.geometryPrimitive=ee,X.state=Wr.QuadtreeTileLoadState.DONE,X.renderable=!0,F();return}var q=w.replace(window.encodeURIComponent("{x}"),X.x).replace(window.encodeURIComponent("{y}"),X.reverseY||X.y).replace(window.encodeURIComponent("{z}"),X.level);y._cache&&(q+="&"+y._core.getuid()),y._core.xhr({url:q,type:"get",dataType:"json",success:function(ee){if(!ee||!ee.features||!ee.features.length){X.state=Wr.QuadtreeTileLoadState.DONE,X.renderable=!0;return}var ie=D(),H=y._core.extend(ie,f,!0),le,ue;H.image&&!H.text?ue=!0:(!H.image&&H.text||H.image&&H.text&&(ue=!0),le=!0);let Ae=new M(y._viewer,y._Provider.EntityCollection,X);he(ee);async function he(fe){fe.features.forEach(function(ae,U){Ae.isDestroy||ge(ae)})}async function ge(fe){H.id=fe.id;var ae=H.pointHeight;if(typeof ae=="string"&&/^\[/.test(ae)&&/\]$/.test(ae)){var U=ae.replace(/\[/,"").replace(/\]/,"");ae=parseFloat(fe.properties[U])}else ae!=null&&ae!=""?ae=parseFloat(ae):fe.properties.height!=null&&(ae=parseFloat(fe.properties.height));if(H.position=new y._cesium.Cartesian3.fromDegrees(fe.geometry.coordinates[0],fe.geometry.coordinates[1],ae),typeof f.font=="object"&&(H.font=S(fe,f.font)),typeof f.fillColor=="string"&&/^\[/.test(f.fillColor)&&/\]$/.test(f.fillColor)){var W=f.fillColor.replace(/\[/,"").replace(/\]/,"");H.fillColor=fe.properties[W],(y._core.isHtmlColor(H.fillColor)||/^rgb/.test(H.fillColor))&&(H.fillColor=Wr.Color.fromCssColorString(H.fillColor))}else typeof f.fillColor=="object"&&f.fillColor.value&&(H.fillColor=S(fe,f.fillColor));if(typeof f.outlineColor=="string"&&/^\[/.test(f.outlineColor)&&/\]$/.test(f.outlineColor)){var W=f.outlineColor.replace(/\[/,"").replace(/\]/,"");H.outlineColor=fe.properties[W],(y._core.isHtmlColor(H.outlineColor)||/^rgb/.test(H.outlineColor))&&(H.outlineColor=Wr.Color.fromCssColorString(H.outlineColor))}else typeof f.outlineColor=="object"&&f.outlineColor.value&&(H.outlineColor=S(fe,f.outlineColor));if(f.showBackground)if(typeof f.backgroundColor=="string"&&/^\[/.test(f.backgroundColor)&&/\]$/.test(f.backgroundColor)){var W=f.backgroundColor.replace(/\[/,"").replace(/\]/,"");H.backgroundColor=fe.properties[W],(y._core.isHtmlColor(H.backgroundColor)||/^rgb/.test(H.backgroundColor))&&(H.backgroundColor=Wr.Color.fromCssColorString(H.backgroundColor))}else typeof f.backgroundColor=="object"&&f.backgroundColor.value&&(H.backgroundColor=S(fe,f.backgroundColor));var Y="fillColor:"+H.fillColor.red*255+","+H.fillColor.green*255+","+H.fillColor.blue*255+";outlineColor:"+H.outlineColor.red*255+","+H.outlineColor.green*255+","+H.outlineColor.blue*255;if(y.Legend.push(Y),typeof f.text=="string"&&/^\[/.test(f.text)&&/\]$/.test(f.text)){var W=f.text.replace(/\[/,"").replace(/\]/,"");H.text=fe.properties[W]}else typeof f.text=="object"&&(H.text=S(fe,f.text));if(typeof f.image=="string"&&/^\[/.test(f.image)&&/\]$/.test(f.image)){var W=f.image.replace(/\[/,"").replace(/\]/,"");H.image=fe.properties[W]}else typeof f.image=="object"&&(H.image=S(fe,f.image));let z={position:H.position};if(le){let se=H;H.labelData&&(se=Object.assign({},H,H.labelData,!0)),(H.offsetX||H.offsetY)&&(se.pixelOffset=new Wr.Cartesian2(H.offsetX||0,H.offsetY||0)),z.label=se}if(ue){let se=H;H.imageData&&(se=Object.assign({},H,H.imageData,!0)),z.billboard=se}let re=new Wr.Entity(z);re.feature=fe,Ae.add(re)}X.data.geometryPrimitive=Ae,y._Provider.EntityCollection.childrenCollection[X.level+"-"+X.x+"-"+X.y]=Ae,X.state=Wr.QuadtreeTileLoadState.LOADING,X.state===Wr.QuadtreeTileLoadState.LOADING&&(X.state=Wr.QuadtreeTileLoadState.DONE,X.renderable=!0),F()},error:function(){X.state=Wr.QuadtreeTileLoadState.DONE,X.renderable=!0,F()}})}else{X.state=Wr.QuadtreeTileLoadState.DONE,X.renderable=!0,y._Provider.EntityCollection.show=!1;return}X.state=Wr.QuadtreeTileLoadState.LOADING}F()},typeof E=="function"&&E(this.item)};let R,P;this.saveDefaultVectorData=()=>{P=y._core.extend({},f,!0)},this.restoreVector=()=>{if(P&&(f=P,y._Provider._normalTile=f.level_max,y._Provider&&y._Provider.EntityCollection)){let K=D(),X=y._core.extend(K,f,!0),q,ee;X.image&&!X.text?ee=!0:(!X.image&&X.text||X.image&&X.text&&(ee=!0),q=!0),y._Provider.EntityCollection.values.forEach(ie=>{let H=ie.feature;X.pointHeight!==void 0&&(ie.position=new Wr.Cartesian3.fromDegrees(H.geometry.coordinates[0],H.geometry.coordinates[1],X.pointHeight));let le;typeof X.text=="string"&&/^\[/.test(X.text)&&/\]$/.test(X.text)?(le=X.text.replace(/\[/,"").replace(/\]/,""),le=H.properties[le]):typeof X.text=="object"&&(le=S(H,X.text));let ue;if(typeof X.image=="string"&&/^\[/.test(X.image)&&/\]$/.test(X.image)?(ue=X.image.replace(/\[/,"").replace(/\]/,""),ue=H.properties[ue]):typeof X.image=="object"&&(ue=S(H,X.image)),q){let Ae=Object.assign({},X);le&&(Ae.text=le),X.labelData&&(Ae=Object.assign(Ae,X.labelData)),(X.offsetX||X.offsetY)&&(Ae.pixelOffset=new Wr.Cartesian2(X.offsetX||0,X.offsetY||0)),ie.label=Ae}else ie.label=void 0;if(ee){let Ae=Object.assign({},X);ue&&(Ae.image=ue),X.imageData&&(Ae=Object.assign(Ae,X.imageData)),ie.billboard=Ae}else ie.billboard=void 0})}P=void 0},this.updataVector=(K={})=>{if((K.color||K.fillColor||K.outlineColor||K.backgroundColor)&&(K.color&&(K.color=Wr.Color.fromCssColorString(K.color)),K.fillColor&&(K.fillColor=Wr.Color.fromCssColorString(K.fillColor)),K.outlineColor&&(K.outlineColor=Wr.Color.fromCssColorString(K.outlineColor)),K.backgroundColor&&(K.backgroundColor=Wr.Color.fromCssColorString(K.backgroundColor))),K.near!==void 0||K.far!==void 0){K.near!==void 0&&(v=parseFloat(K.near)),K.far!==void 0&&(B=parseFloat(K.far));let X=new Wr.DistanceDisplayCondition(v,B);K.distanceDisplayCondition=X}(K.minimumLevel!==void 0||K.maximumLevel!==void 0)&&(K.minimumLevel!==void 0&&(K.level_min=K.minimumLevel),K.maximumLevel!==void 0&&(K.level_max=K.maximumLevel)),f=y._core.extend(f,K,!0),y._Provider._normalTile=f.level_max,f.font=f.font_size+" "+f.font_family,f.bold&&(f.font="bold "+f.font),f.italic&&(f.font="italic "+f.font),K.font=f.font,y._Provider&&y._Provider.EntityCollection&&(clearTimeout(R),R=setTimeout(()=>{let X,q,ee;y._Provider.EntityCollection.values.forEach(ie=>{X=ie.label,q=ie.billboard,ee=ie.feature,K.height!==void 0&&(ie.position=new Wr.Cartesian3.fromDegrees(ee.geometry.coordinates[0],ee.geometry.coordinates[1],K.height));let H;typeof K.text=="string"&&/^\[/.test(K.text)&&/\]$/.test(K.text)?(H=K.text.replace(/\[/,"").replace(/\]/,""),H=ee.properties[H]):typeof K.text=="object"&&(H=S(ee,K.text));let le;typeof K.image=="string"&&/^\[/.test(K.image)&&/\]$/.test(K.image)?(le=K.image.replace(/\[/,"").replace(/\]/,""),le=ee.properties[le]):typeof K.image=="object"&&(le=S(ee,K.image)),X?((K.offsetX||K.offsetY)&&(K.pixelOffset=new Wr.Cartesian2(f.offsetX||0,f.offsetY||0)),Object.assign(X,K),H&&(X.text=H),K.text!==void 0&&(X.show=!!K.text)):K.text&&(ie.label={...f},H&&(ie.label.text=H)),K.image!==void 0&&(q?(q.image=K.image,q.show=!!K.image,le&&(q.image=le)):K.image&&(ie.billboard={image:le||K.image,disableDepthTestDistance:f.disableDepthTestDistance,horizontalOrigin:Wr.HorizontalOrigin.CENTER,pixelOffset:new Wr.Cartesian2(0,0)}))})},100))},this._Provider.EntityCollection=new Wr.EntityCollection,this._Provider.EntityCollection.isShow=!0,this._Provider.EntityCollection.childrenCollection={};function M(K,X,q){this.viewer=K,this.collection=X,this.key=q.level+"-"+q.x+"-"+q.y,this.isDestroy=!1,this.values=[],this._time=void 0,this.show=!0}M.prototype.update=function(){clearTimeout(this._time),this.setVisibility(!0),this._time=setTimeout(()=>{this.setVisibility(!1)},500)},M.prototype.add=function(K){this.isDestroy||(this.viewer&&this.viewer.entities.add(K),this.collection&&this.collection.add(K),this.values.push(K.id))},M.prototype.setVisibility=function(K){this.show=K,this.values.forEach(X=>{let q=this.viewer.entities.getById(X);q&&(q.show=K)})},M.prototype.destroy=function(){this.isDestroy=!0,this.add=()=>{},this.update=()=>{},this.values.forEach(K=>{this.viewer&&this.viewer.entities.removeById(K),this.collection&&this.collection.removeById(K)}),delete this.collection.childrenCollection[this.key],this.collection=void 0,this.values=[],this.viewer=void 0,Wr.destroyObject(this)};let L;function F(){y._Provider.EntityCollection.show&&(clearTimeout(L),L=setTimeout(function(){k()},500))}function k(){if(y._Provider.quadtree&&y._Provider.quadtree._tilesToRender&&y._Provider.quadtree._tilesToRender.length){let K=[];y._Provider.quadtree._tilesToRender.forEach(X=>{K.push(X.level+"-"+X.x+"-"+X.y)});for(let X in y._Provider.EntityCollection.childrenCollection)K.indexOf(X)<0&&y._Provider.EntityCollection.childrenCollection[X].setVisibility(!1)}}this._primitive=new this._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var N=this._viewer.scene,G=N.primitives;f&&f.time&&(this._Provider._availability=new y._cesium.TimeIntervalCollection([new y._cesium.TimeInterval({start:f.time.start?y._cesium.JulianDate.fromDate(new Date(f.time.start)):y._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?y._cesium.JulianDate.fromDate(new Date(f.time.end)):y._cesium.Iso8601.MAXIMUM_VALUE})]),this._Provider.isAvailable=function(K){if(!Wr.defined(K))throw new Wr.DeveloperError("time is required.");var X=this._availability;return!Wr.defined(X)||X.contains(K)}),G.add(this._primitive),this._core.getWMTSData({url:A.url,layer:A.layer,srs:A.srs||"EPSG:4490",gisserverTMS:T},K=>{y.item.boundingSphere=K.boundingSphere,y.TileMatrixLimits=K.TileMatrixLimits,y.initThisProvider()}),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var J={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this._Provider.treeID=f.id,this.setTreeobj(J),this._tree.insertGroupId(J,this._core.isnull(m)?0:m),this};qh.prototype.createLabelImageGeoJsonFeatureLayerProvider1=function(o,A,f,m,C,E){var x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium},y=this,I=f.material,v={Name:"",text:"",font:" 30px sans-serif",style:y._cesium.LabelStyle.FILL_AND_OUTLINE,fillColor:y._cesium.Color.WHITE,outlineColor:y._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new y._cesium.Color(.165,.165,.165,.8),backgroundPadding:new y._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:y._cesium.HorizontalOrigin.CENTER,verticalOrigin:y._cesium.VerticalOrigin.CENTER,eyeOffset:y._cesium.Cartesian3.ZERO,pixelOffset:y._cesium.Cartesian2.ZERO,heightReference:y._cesium.HeightReference.NONE,scaleByDistance:new y._cesium.NearFarScalar(0,0,1,1),maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0};this._urlTemplate=A.url+"?"+this._core._serialize(x.urlParams);var B=A.url+"?"+this._core._serialize(x.urlParams);this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=21,this._Provider._minimumHeight=parseFloat(f.height)||0,this._Provider.loadTile=function(S,D){if(D.state===Wr.QuadtreeTileLoadState.START){if(D.data={lines:[],geometryPrimitive:void 0},D.level>=f.level_min&&D.level<f.level_max&&y.item.show){var R=B.replace(window.encodeURIComponent("{x}"),D.x).replace(window.encodeURIComponent("{y}"),D.y).replace(window.encodeURIComponent("{z}"),D.level);y._cache&&(R+="&"+y._core.getuid()),y._core.xhr({url:R,type:"get",dataType:"json",success:function(P){if(P==null){D.state=Wr.QuadtreeTileLoadState.DONE,D.renderable=!0;return}var M=y._core.extend(v,f,!0);M.font=f.font;var L,F,k;M.image&&!M.text?F=new y._cesium.BillboardCollection({scene:y._viewer.scene}):!M.image&&M.text?L=new y._cesium.LabelCollection({scene:y._viewer.scene}):M.image&&M.text?(L=new y._cesium.LabelCollection({scene:y._viewer.scene}),F=new y._cesium.BillboardCollection({scene:y._viewer.scene}),k=new y._cesium.PrimitiveCollection,k.add(L),k.add(F)):L=new y._cesium.LabelCollection({scene:y._viewer.scene}),P.features.forEach(function(N){M.id=N;var G=M.pointHeight;if(/^\[/.test(G)&&/\]$/.test(G)){var J=G.replace(/\[/,"").replace(/\]/,"");G=parseFloat(N.properties[J])}else G!=null&&G!=""?G=parseFloat(G):N.properties.height!=null&&(G=parseFloat(N.properties.height));if(M.position=new y._cesium.Cartesian3.fromDegrees(N.geometry.coordinates[0],N.geometry.coordinates[1],G),f.fillColor){if(/^\[/.test(f.fillColor)&&/\]$/.test(f.fillColor)){var K=f.fillColor.replace(/\[/,"").replace(/\]/,"");M.fillColor=N.properties[K]}y._core.isHtmlColor(M.fillColor)?M.fillColor=y._color.colorFromHtmlColor(M.fillColor):(/^rgb/.test(M.fillColor)&&(M.fillColor=y._color.rgbaStringToRgbaObj(M.fillColor)),M.fillColor.r>1&&(M.fillColor.r=M.fillColor.r/255),M.fillColor.g>1&&(M.fillColor.g=M.fillColor.g/255),M.fillColor.b>1&&(M.fillColor.b=M.fillColor.b/255),M.fillColor.a>1&&(M.fillColor.a=M.fillColor.a/255),M.fillColor=y._color.createColor(M.fillColor.r,M.fillColor.g,M.fillColor.b,M.fillColor.a))}else if(f.fillColor&&f.fillColor.Class instanceof Array)for(var X=0;X<f.fillColor.Class.length;X++){var q=f.fillColor.Class[X],ee=q.Condition.replace("<","").replace(">","").split("=");if(ee[0]=ee[0].replace(/\[/,"").replace(/\]/,"").replace(/\"/,"").replace(/\"/,""),ee[1]=ee[1].replace(/\"/,"").replace(/\"/,""),N.properties[ee[0]]==ee[1]){M.fillColor=q.Value,y._core.isHtmlColor(M.fillColor)?M.fillColor=y._color.colorFromHtmlColor(M.fillColor):(/^rgb/.test(M.fillColor)&&(M.fillColor=y._color.rgbaStringToRgbaObj(M.fillColor)),M.fillColor.r>1&&(M.fillColor.r=M.fillColor.r/255),M.fillColor.g>1&&(M.fillColor.g=M.fillColor.g/255),M.fillColor.b>1&&(M.fillColor.b=M.fillColor.b/255),M.fillColor.a>1&&(M.fillColor.a=M.fillColor.a/255),M.fillColor=y._color.createColor(M.fillColor.r,M.fillColor.g,M.fillColor.b,M.fillColor.a));break}}else f.fillColor&&f.fillColor.Class.toString()!="{}"?(M.fillColor=f.fillColor.Value,y._core.isHtmlColor(M.fillColor)?M.fillColor=y._color.colorFromHtmlColor(M.fillColor):(/^rgb/.test(M.fillColor)&&(M.fillColor=y._color.rgbaStringToRgbaObj(M.fillColor)),M.fillColor.r>1&&(M.fillColor.r=M.fillColor.r/255),M.fillColor.g>1&&(M.fillColor.g=M.fillColor.g/255),M.fillColor.b>1&&(M.fillColor.b=M.fillColor.b/255),M.fillColor.a>1&&(M.fillColor.a=M.fillColor.a/255),M.fillColor=y._color.createColor(M.fillColor.r,M.fillColor.g,M.fillColor.b,M.fillColor.a))):style.fillColor&&style.fillColor.toString()!="{}"&&(M.fillColor=f.fillColor.Value,y._core.isHtmlColor(M.fillColor)?M.fillColor=y._color.colorFromHtmlColor(M.fillColor):(/^rgb/.test(M.fillColor)&&(M.fillColor=y._color.rgbaStringToRgbaObj(M.fillColor)),M.fillColor.r>1&&(M.fillColor.r=M.fillColor.r/255),M.fillColor.g>1&&(M.fillColor.g=M.fillColor.g/255),M.fillColor.b>1&&(M.fillColor.b=M.fillColor.b/255),M.fillColor.a>1&&(M.fillColor.a=M.fillColor.a/255),M.fillColor=y._color.createColor(M.fillColor.r,M.fillColor.g,M.fillColor.b,M.fillColor.a)));if(f.outlineColor){if(/^\[/.test(f.outlineColor)&&/\]$/.test(f.outlineColor)){var K=f.outlineColor.replace(/\[/,"").replace(/\]/,"").replace(/\"/,"").replace(/\"/,"");M.outlineColor=N.properties[K],y._core.isHtmlColor(M.outlineColor)?M.outlineColor=y._color.colorFromHtmlColor(M.outlineColor):(/^rgb/.test(M.outlineColor)&&(M.outlineColor=y._color.rgbaStringToRgbaObj(M.outlineColor)),M.outlineColor.r>1&&(M.outlineColor.r=M.outlineColor.r/255),M.outlineColor.g>1&&(M.outlineColor.g=M.outlineColor.g/255),M.outlineColor.b>1&&(M.outlineColor.b=M.outlineColor.b/255),M.outlineColor.a>1&&(M.outlineColor.a=M.outlineColor.a/255),M.outlineColor=y._color.createColor(M.outlineColor.r,M.outlineColor.g,M.outlineColor.b,M.outlineColor.a))}}else if(f.outlineColor&&f.outlineColor.Class instanceof Array)for(var X=0;X<f.fillColor.Class.length;X++){var q=f.fillColor.Class[X],ee=q.Condition.replace("<","").replace(">","").split("=");if(ee[0]=ee[0].replace(/\[/,"").replace(/\]/,"").replace(/\"/,"").replace(/\"/,""),ee[1]=ee[1].replace(/\"/,"").replace(/\"/,""),N.properties[ee[0]]==ee[1]){M.outlineColor=ee.Value,y._core.isHtmlColor(M.outlineColor)?M.outlineColor=y._color.colorFromHtmlColor(M.outlineColor):(/^rgb/.test(M.outlineColor)&&(M.outlineColor=y._color.rgbaStringToRgbaObj(M.outlineColor)),M.outlineColor.r>1&&(M.outlineColor.r=M.outlineColor.r/255),M.outlineColor.g>1&&(M.outlineColor.g=M.outlineColor.g/255),M.outlineColor.b>1&&(M.outlineColor.b=M.outlineColor.b/255),M.outlineColor.a>1&&(M.outlineColor.a=M.outlineColor.a/255),M.outlineColor=y._color.createColor(M.outlineColor.r,M.outlineColor.g,M.outlineColor.b,M.outlineColor.a));break}}else f.outlineColor&&f.outlineColor.Class.toString()!="{}"?(M.outlineColor=f.outlineColor.Value,y._core.isHtmlColor(M.outlineColor)?M.outlineColor=y._color.colorFromHtmlColor(M.outlineColor):(/^rgb/.test(M.outlineColor)&&(M.outlineColor=y._color.rgbaStringToRgbaObj(M.outlineColor)),M.outlineColor.r>1&&(M.outlineColor.r=M.outlineColor.r/255),M.outlineColor.g>1&&(M.outlineColor.g=M.outlineColor.g/255),M.outlineColor.b>1&&(M.outlineColor.b=M.outlineColor.b/255),M.outlineColor.a>1&&(M.outlineColor.a=M.outlineColor.a/255),M.outlineColor=y._color.createColor(M.outlineColor.r,M.outlineColor.g,M.outlineColor.b,M.outlineColor.a))):f.outlineColorTe&&f.outlineColor.toString()!="{}"&&(M.outlineColor=f.outlineColor.Value,y._core.isHtmlColor(M.outlineColor)?M.outlineColor=y._color.colorFromHtmlColor(M.outlineColor):(/^rgb/.test(M.outlineColor)&&(M.outlineColor=y._color.rgbaStringToRgbaObj(M.outlineColor)),M.outlineColor.r>1&&(M.outlineColor.r=M.outlineColor.r/255),M.outlineColor.g>1&&(M.outlineColor.g=M.outlineColor.g/255),M.outlineColor.b>1&&(M.outlineColor.b=M.outlineColor.b/255),M.outlineColor.a>1&&(M.outlineColor.a=M.outlineColor.a/255),M.outlineColor=y._color.createColor(M.outlineColor.r,M.outlineColor.g,M.outlineColor.b,M.outlineColor.a)));if(f.backgroundColor){if(/^\[/.test(f.backgroundColor)&&/\]$/.test(f.backgroundColor)){var K=f.backgroundColor.replace(/\[/,"").replace(/\]/,"");M.backgroundColor=N.properties[K],y._core.isHtmlColor(M.backgroundColor)?M.backgroundColor=y._color.colorFromHtmlColor(M.backgroundColor):(/^rgb/.test(M.backgroundColor)&&(M.backgroundColor=y._color.rgbaStringToRgbaObj(M.backgroundColor)),M.backgroundColor.r>1&&(M.backgroundColor.r=M.backgroundColor.r/255),M.backgroundColor.g>1&&(M.backgroundColor.g=M.backgroundColor.g/255),M.backgroundColor.b>1&&(M.backgroundColor.b=M.backgroundColor.b/255),M.backgroundColor.a>1&&(M.backgroundColor.a=M.backgroundColor.a/255),M.backgroundColor=y._color.createColor(M.backgroundColor.r,M.backgroundColor.g,M.backgroundColor.b,M.backgroundColor.a))}}else if(f.backgroundColor&&f.backgroundColor.Class instanceof Array)for(var X=0;X<f.backgroundColor.Class.length;X++){var q=f.backgroundColor.Class[X],ee=q.Condition.replace("<","").replace(">","").split("=");if(ee[0]=ee[0].replace(/\[/,"").replace(/\]/,"").replace(/\"/,"").replace(/\"/,""),ee[1]=ee[1].replace(/\"/,"").replace(/\"/,""),N.properties[ee[0]]==ee[1]){M.backgroundColor=getSGColor(ee.Value),y._core.isHtmlColor(M.backgroundColor)?M.backgroundColor=y._color.colorFromHtmlColor(M.backgroundColor):(/^rgb/.test(M.backgroundColor)&&(M.backgroundColor=y._color.rgbaStringToRgbaObj(M.backgroundColor)),M.backgroundColor.r>1&&(M.backgroundColor.r=M.backgroundColor.r/255),M.backgroundColor.g>1&&(M.backgroundColor.g=M.backgroundColor.g/255),M.backgroundColor.b>1&&(M.backgroundColor.b=M.backgroundColor.b/255),M.backgroundColor.a>1&&(M.backgroundColor.a=M.backgroundColor.a/255),M.backgroundColor=y._color.createColor(M.backgroundColor.r,M.backgroundColor.g,M.backgroundColor.b,M.backgroundColor.a));break}}else f.backgroundColor&&f.backgroundColor.Class.toString()!="{}"?(M.backgroundColor=getSGColor(f.backgroundColor.Value),y._core.isHtmlColor(M.backgroundColor)?M.backgroundColor=y._color.colorFromHtmlColor(M.backgroundColor):(/^rgb/.test(M.backgroundColor)&&(M.backgroundColor=y._color.rgbaStringToRgbaObj(M.backgroundColor)),M.backgroundColor.r>1&&(M.backgroundColor.r=M.backgroundColor.r/255),M.backgroundColor.g>1&&(M.backgroundColor.g=M.backgroundColor.g/255),M.backgroundColor.b>1&&(M.backgroundColor.b=M.backgroundColor.b/255),M.backgroundColor.a>1&&(M.backgroundColor.a=M.backgroundColor.a/255),M.backgroundColor=y._color.createColor(M.backgroundColor.r,M.backgroundColor.g,M.backgroundColor.b,M.backgroundColor.a))):f.backgroundColor&&f.backgroundColor.toString()!="{}"&&(M.backgroundColor=f.backgroundColor.Value,y._core.isHtmlColor(M.backgroundColor)?M.backgroundColor=y._color.colorFromHtmlColor(M.backgroundColor):(/^rgb/.test(M.backgroundColor)&&(M.backgroundColor=y._color.rgbaStringToRgbaObj(M.backgroundColor)),M.backgroundColor.r>1&&(M.backgroundColor.r=M.backgroundColor.r/255),M.backgroundColor.g>1&&(M.backgroundColor.g=M.backgroundColor.g/255),M.backgroundColor.b>1&&(M.backgroundColor.b=M.backgroundColor.b/255),M.backgroundColor.a>1&&(M.backgroundColor.a=M.backgroundColor.a/255),M.backgroundColor=y._color.createColor(M.backgroundColor.r,M.backgroundColor.g,M.backgroundColor.b,M.backgroundColor.a)));if(f.scale){if(/^\[/.test(f.scale)&&/\]$/.test(f.scale)){var K=f.scale.replace(/\[/,"").replace(/\]/,"");M.scale=N.properties[K]}}else if(f.scale&&f.scale.Class instanceof Array)for(var X=0;X<f.scale.Class.length;X++){var q=f.scale.Class[X],ee=q.Condition.replace("<","").replace(">","").split("=");ee[0]=ee[0].replace(/\[/,"").replace(/\]/,"").replace(/\"/,"").replace(/\"/,""),ee[1]=ee[1].replace(/\"/,"").replace(/\"/,""),N.properties[ee[0]]==ee[1]&&(M.scale=q.Value)}else f.scale&&f.scale.Class.toString()!="{}"?M.scale=f.scale.Value:f.scale&&f.scale.toString()!="[object Object]"&&f.scale.toString()!="{}"&&(M.scale=f.scale);if(/^\[/.test(f.text)&&/\]$/.test(f.text)||f.textTe)if(f.textTe)if(f.text.Class instanceof Object){var ie=f.text.Class.Value.replace(/\[/,"").replace(/\]/,"").replace(/\"/,"").replace(/\"/,"");M.text=N.properties[ie]}else if(f.text&&f.text.Class&&f.text.Class.toString()!="{}"){var K=f.text.Class.Value.replace(/\[/,"").replace(/\]/,"").replace(/\"/,"").replace(/\"/,"");M.text=N.properties[K]}else{var K=f.text.replace(/\[/,"").replace(/\]/,"").replace(/\"/,"").replace(/\"/,"");M.text=N.properties[K]}else if(f.text&&f.text.toString()!="[object Object]"&&f.text.toString()!="{}")M.text=f.text;else{var K=f.text.Class.Value.replace(/\[/,"").replace(/\]/,"").replace(/\"/,"").replace(/\"/,"");M.text=N.properties[K]}else f.text&&f.text.toString()!="[object Object]"&&f.text.toString()!="{}"&&(M.text=f.text);if(M.labelData&&(M=y._core.extend(M,M.labelData,!0)),M.verticalOrigin=Wr.VerticalOrigin.CENTER,M.horizontalOrigin=Wr.HorizontalOrigin.LEFT,L&&L.add(M),f.image&&f.image.Class instanceof Array)for(var X=0;X<f.image.Class.length;X++){var q=f.image.Class[X],ee=q.Condition.replace("<","").replace(">","").split("=");if(ee[0]=ee[0].replace(/\[/,"").replace(/\]/,"").replace(/\"/,"").replace(/\"/,""),ee[1]=ee[1].replace(/\"/,"").replace(/\"/,""),N.properties[ee[0]]==ee[1]){M.image=q.Value;break}}else if(f.image&&f.image.Class&&f.image.Class.toString()!="{}"){var K=f.image.Class.Value.replace(/\[/,"").replace(/\]/,"").replace(/\"/,"").replace(/\"/,"");M.image=N.properties[K]}else f.image&&f.image.toString()!="[object Object]"&&f.image.toString()!="{}"&&(M.image=f.image);var H=bi.cloneDeep(M);H.verticalOrigin=Wr.VerticalOrigin.CENTER,H.horizontalOrigin=Wr.HorizontalOrigin.RIGHT,F&&F.add(H)}),P.features.length==0&&(D.state=Wr.QuadtreeTileLoadState.DONE,D.renderable=!0),k?D.data.geometryPrimitive=k:F?D.data.geometryPrimitive=F:D.data.geometryPrimitive=L,D.state===Wr.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive.update(S,[]),D.state=Wr.QuadtreeTileLoadState.DONE,D.renderable=!0)},error:function(){D.state=Wr.QuadtreeTileLoadState.DONE,D.renderable=!0}})}else{D.state=Wr.QuadtreeTileLoadState.DONE,D.renderable=!0;return}D.state=Wr.QuadtreeTileLoadState.LOADING}},this._primitive=new this._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,T=Q.primitives;f&&f.time&&(this._Provider._availability=new y._cesium.TimeIntervalCollection([new y._cesium.TimeInterval({start:f.time.start?y._cesium.JulianDate.fromDate(new Date(f.time.start)):y._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?y._cesium.JulianDate.fromDate(new Date(f.time.end)):y._cesium.Iso8601.MAXIMUM_VALUE})]),this._Provider.isAvailable=function(S){if(!Wr.defined(S))throw new Wr.DeveloperError("time is required.");var D=this._availability;return!Wr.defined(D)||D.contains(S)}),T.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var w={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this._Provider.treeID=f.id,this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};qh.prototype.createSXTLabelGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium},y=this,I=f.material,v={show:!0,position:y._cesium.Cartesian3.ZERO,pixelOffset:y._cesium.Cartesian2.ZERO,eyeOffset:y._cesium.Cartesian3.ZERO,heightReference:y._cesium.HeightReference.NONE,horizontalOrigin:y._cesium.HorizontalOrigin.CENTER,verticalOrigin:y._cesium.VerticalOrigin.CENTER,scale:1,image:"",imageSubRegion:void 0,color:y._cesium.Color.WHITE,id:void 0,rotation:0,alignedAxis:y._cesium.Cartesian3.ZERO,scaleByDistance:void 0,translucencyByDistance:void 0,pixelOffsetScaleByDistance:void 0,sizeInMeters:!1,distanceDisplayCondition:void 0};f.width&&(v.width=f.width),f.height&&(v.height=f.height),f.image&&(v.image=f.image),this._urlTemplate=A.url+"?"+this._core._serialize(x.urlParams);var B=A.url+"?"+this._core._serialize(x.urlParams);this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=parseFloat(f.height)||0,this._Provider.loadTile=function(S,D){if(D.state===Wr.QuadtreeTileLoadState.START){if(D.data={lines:[],geometryPrimitive:void 0},D.level>=f.level_min&&D.level<=f.level_max&&y.item.show){var R=B.replace(window.encodeURIComponent("{x}"),D.x).replace(window.encodeURIComponent("{y}"),D.y).replace(window.encodeURIComponent("{z}"),D.level);y._cache&&(R+="&"+y._core.getuid()),y._core.xhr({url:R,type:"get",dataType:"json",success:function(P){if(P==null){D.state=Wr.QuadtreeTileLoadState.DONE,D.renderable=!0;return}var M;if(D.level==parseInt(f.level_max)-1)typeof initSXTData=="function"&&(M=initSXTData(P));else{M=new Wr.BillboardCollection;for(var L of P.features){var F=L.geometry.coordinates[0],k=L.geometry.coordinates[1],N=f.pointHeight?parseFloat(f.pointHeight):0;v.position=Wr.Cartesian3.fromDegrees(F,k,N),M.add(v)}}P.features.length==0&&(D.state=Wr.QuadtreeTileLoadState.DONE,D.renderable=!0),D.data.geometryPrimitive=M,D.state=Wr.QuadtreeTileLoadState.LOADING,D.state===Wr.QuadtreeTileLoadState.LOADING&&typeof D.data.geometryPrimitive.update=="function"?(D.data.geometryPrimitive.update(S,[]),D.state=Wr.QuadtreeTileLoadState.DONE,D.renderable=!0):(D.data.geometryPrimitive.destroy=function(){},D.data.geometryPrimitive.update=function(){})},error:function(){D.count==null&&(D.count=0),D.count+=1,D.count>=2?(D.state=Wr.QuadtreeTileLoadState.DONE,D.renderable=!0):D.state=Wr.QuadtreeTileLoadState.START}})}else{D.state=Wr.QuadtreeTileLoadState.DONE,D.renderable=!0;return}D.state=Wr.QuadtreeTileLoadState.LOADING}},this._primitive=new this._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,T=Q.primitives;f&&f.time&&(this._Provider._availability=new y._cesium.TimeIntervalCollection([new y._cesium.TimeInterval({start:f.time.start?y._cesium.JulianDate.fromDate(new Date(f.time.start)):y._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?y._cesium.JulianDate.fromDate(new Date(f.time.end)):y._cesium.Iso8601.MAXIMUM_VALUE})]),this._Provider.isAvailable=function(S){if(!Wr.defined(S))throw new Wr.DeveloperError("time is required.");var D=this._availability;return!Wr.defined(D)||D.contains(S)}),T.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var w={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};qh.prototype.createCustomCallbackGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E,x){var y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium},I=this,v=f.material,B={show:!0,position:I._cesium.Cartesian3.ZERO,pixelOffset:I._cesium.Cartesian2.ZERO,eyeOffset:I._cesium.Cartesian3.ZERO,heightReference:I._cesium.HeightReference.NONE,horizontalOrigin:I._cesium.HorizontalOrigin.CENTER,verticalOrigin:I._cesium.VerticalOrigin.CENTER,scale:1,image:"",imageSubRegion:void 0,color:I._cesium.Color.WHITE,id:void 0,rotation:0,alignedAxis:I._cesium.Cartesian3.ZERO,scaleByDistance:void 0,translucencyByDistance:void 0,pixelOffsetScaleByDistance:void 0,sizeInMeters:!1,distanceDisplayCondition:void 0};f.width&&(B.width=f.width),f.height&&(B.height=f.height),f.image&&(B.image=f.image),this._urlTemplate=A.url+"?"+this._core._serialize(y.urlParams);var Q=A.url+"?"+this._core._serialize(y.urlParams);this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=parseFloat(f.height)||0,this._Provider.loadTile=function(D,R){if(R.state===Wr.QuadtreeTileLoadState.START){if(R.data={lines:[],geometryPrimitive:void 0},R.level>=f.level_min&&R.level<=f.level_max&&I.item.show){var P=Q.replace(window.encodeURIComponent("{x}"),R.x).replace(window.encodeURIComponent("{y}"),R.y).replace(window.encodeURIComponent("{z}"),R.level);I._cache&&(P+="&"+I._core.getuid()),I._core.xhr({url:P,type:"get",dataType:"json",success:function(M){if(M==null){R.state=Wr.QuadtreeTileLoadState.DONE,R.renderable=!0;return}var L;typeof E=="function"&&(L=E(M)),M.features.length==0&&(R.state=Wr.QuadtreeTileLoadState.DONE,R.renderable=!0),R.data.geometryPrimitive=L,R.state=Wr.QuadtreeTileLoadState.LOADING,R.state===Wr.QuadtreeTileLoadState.LOADING&&typeof R.data.geometryPrimitive.update=="function"?(R.data.geometryPrimitive.update(D,[]),R.state=Wr.QuadtreeTileLoadState.DONE,R.renderable=!0):(R.data.geometryPrimitive.destroy=function(){},R.data.geometryPrimitive.update=function(){})},error:function(){R.count==null&&(R.count=0),R.count+=1,R.count>=2?(R.state=Wr.QuadtreeTileLoadState.DONE,R.renderable=!0):R.state=Wr.QuadtreeTileLoadState.START}})}else{R.state=Wr.QuadtreeTileLoadState.DONE,R.renderable=!0;return}R.state=Wr.QuadtreeTileLoadState.LOADING}},this._primitive=new this._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var T=this._viewer.scene,w=T.primitives;f&&f.time&&(this._Provider._availability=new I._cesium.TimeIntervalCollection([new I._cesium.TimeInterval({start:f.time.start?I._cesium.JulianDate.fromDate(new Date(f.time.start)):I._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?I._cesium.JulianDate.fromDate(new Date(f.time.end)):I._cesium.Iso8601.MAXIMUM_VALUE})]),this._Provider.isAvailable=function(D){if(!Wr.defined(D))throw new Wr.DeveloperError("time is required.");var R=this._availability;return!Wr.defined(R)||R.contains(D)}),w.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var S={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:x}};return this.setTreeobj(S),this._tree.insertGroupId(S,this._core.isnull(m)?0:m),typeof x=="function"&&x(this.item),this};qh.prototype.createLabelRichtextGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){A==null&&console.log("geojson is required");var x=this._cesium.GeoJsonDataSource.load(A);this._viewer.dataSources.add(x);var y=this,I=new this._cesium.PointPrimitiveCollection;y.optiontext=[],x.then(function(B){y.item=B;for(var Q=B.entities.values,T=0;T<Q.length;T++){var w=Q[T],S;if(/^\[/.test(f.text)&&/\]$/.test(f.text)){var D=f.text.replace(/\[/,"").replace(/\]/,"");S=w.properties[D]._value}else S=f.text;y.optiontext.push(S),w.billboard=void 0;var R=y._viewer.scene.globe.ellipsoid,P=y._cesium.Cartographic.fromCartesian(w.position._value),M=y._cesium.Math.toDegrees(P.longitude),L=y._cesium.Math.toDegrees(P.latitude),F=f.pointHeight||0||P.height,k=[M,L,F],N=y._core.getuid(),G;k instanceof Array?k.length===2?G=y._cesium.Cartesian3.fromDegrees(k[0],k[1]):k.length===3&&(G=y._cesium.Cartesian3.fromDegrees(k[0],k[1],k[2])):k.z?G=y._cesium.Cartesian3.fromDegrees(k.x,k.y,k.z):G=y._cesium.Cartesian3.fromDegrees(k.x,k.y);var J="DivPoint"+N;I.add({id:J,position:G,color:y._cesium.Color.YELLOW,description:f.text})}var K;f&&f.time&&(K=new y._cesium.TimeIntervalCollection([new y._cesium.TimeInterval({start:f.time.start?y._cesium.JulianDate.fromDate(new Date(f.time.start)):y._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?y._cesium.JulianDate.fromDate(new Date(f.time.end)):y._cesium.Iso8601.MAXIMUM_VALUE})])),y.item=I,y.pointPrimitive=y._viewer.scene.primitives.add(I,K);var X=!0,q,ee,ie,H;y.pointPrimitive.update=function(){for(var le=0,ue,Ae;le<y.pointPrimitive.length;le++){if(ue=y.pointPrimitive.get(le),H=ue.position,ie=y._viewer.scene.cartesianToCanvasCoordinates(H),!ie)return;ee=document.getElementById(ue.id),ee||(Ae='<div id="'+ue.id+'" style="position: absolute; width: 200px; height: 134px;left: 0px; top: 0px; pointer-events:none; background: url('+window.SmartEarthRootUrl+Zr.divpoint1+`);transform: matrix(1, 0, 0, 1, 0, 0); transform-origin: left bottom 0px;"> <div class="title" style="position: inherit;top: 22px;left: 70px;font-size: 14px;text-align: left;color: rgba(255,255,255,1);text-shadow: 0 0 9px rgba(0,0,0,.75)">`+y.optiontext[le]+`</div> </div>`,$(".cesium-viewer").append(Ae),ee=document.getElementById(ue.id)),ue.description?ee.style.transform="matrix(1, 0, 0, 1, "+ie.x+", "+(ie.y-157)+")":ee.style.transform="matrix(1, 0, 0, 1, "+ie.x+", "+(ie.y-134)+")",ee&&(ee.style.display=y.pointPrimitive.show?"block":"none")}X&&(C||y.setVisibility(!1),X=!1)},typeof E=="function"&&E(B)}),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u5BCC\u6587\u672C");var v={id:f.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"DivPoint",item:this,url:A,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),this};qh.prototype.createLabelRichtextGeoJsonFeatureLayerProviderLayer=function(o,A,f,m,C,E){var x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium},y=this,I=new FA(this._viewer,this._cesium,x);this._Provider=I,I._loadTile=function(B){var Q=new y._cesium.PointPrimitiveCollection;y.optiontext=[],B.features.forEach(function(P){var M=options.pointHeight;if(P.properties.height!=null&&(M=parseFloat(P.properties.height)+M),/^\[/.test(options.pointHeight)&&/\]$/.test(options.pointHeight)){var L=options.pointHeight.replace(/\[/,"").replace(/\]/,"");M=parseFloat(P.properties[L])}if(f.position=new y._cesium.Cartesian3.fromDegrees(P.geometry.coordinates[0],P.geometry.coordinates[1],M),/^\[/.test(f.text)&&/\]$/.test(f.text)){var F=f.text.replace(/\[/,"").replace(/\]/,"");f.text=P.properties[F]}var k=y._core.getuid(),N="DivPoint"+k;Q.add({id:N,position:Cartesian3,color:y._cesium.Color.YELLOW,description:f.text}),y.optiontext.push(option.text)}),y.pointPrimitive=y._viewer.scene.primitives.add(Q);var T,w,S,D,R=!0;return y.pointPrimitive.update=function(){for(var P=0,M,L;P<y.pointPrimitive.length;P++){if(M=y.pointPrimitive.get(P),D=M.position,S=y._viewer.scene.cartesianToCanvasCoordinates(D),!S)return;w=document.getElementById(M.id),w||(L='<div id="'+M.id+'" style="position: absolute; width: 200px; height: 134px;left: 0px; top: 0px; pointer-events:none; background: url('+window.SmartEarthRootUrl+Zr.divpoint1+`);transform: matrix(1, 0, 0, 1, 0, 0); transform-origin: left bottom 0px;"> <div class="title" style="position: inherit;top: 22px;left: 70px;font-size: 14px;text-align: left;color: rgba(255,255,255,1);text-shadow: 0 0 9px rgba(0,0,0,.75)">`+y.optiontext[P]+`</div> </div>`,$(".cesium-viewer").append(L),w=document.getElementById(M.id)),M.description?w.style.transform="matrix(1, 0, 0, 1, "+S.x+", "+(S.y-157)+")":w.style.transform="matrix(1, 0, 0, 1, "+S.x+", "+(S.y-134)+")"}R&&(C||y.setVisibility(!1),R=!1)},y.item=Q,""},I.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u5BCC\u6587\u672C"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var v={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"DivPoint",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};qh.prototype.createModelGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,Cesium:this._cesium},y=this,I=f.material;!y._core.isnull(f)&&!y._core.isnull(f.color)&&(/^\[/.test(f.color)&&f.color.toString().charAt(0)=="["&&f.color.toString().charAt(f.color.length-1)=="]"||(y._core.isHtmlColor(f.color)?f.color=y._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=y._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=y._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a)))),this._urlTemplate=A.url+"?"+this._core._serialize(x.urlParams);var v=A.url+"?"+this._core._serialize(x.urlParams);this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=parseFloat(f.height)||0,this._Provider.loadTile=function(w,S){if(S.state===Wr.QuadtreeTileLoadState.START){if(S.data={lines:[],geometryPrimitive:void 0},S.level>=f.level_min&&S.level<f.level_max&&y.item.show){var D=v.replace(window.encodeURIComponent("{x}"),S.x).replace(window.encodeURIComponent("{y}"),S.y).replace(window.encodeURIComponent("{z}"),S.level);y._cache&&(D+="&"+y._core.getuid()),y._core.xhr({url:D,type:"get",dataType:"json",success:function(R){if(R==null){S.state=Wr.QuadtreeTileLoadState.DONE,S.renderable=!0;return}var P={url:"",modelMatrix:y._cesium.Transforms.eastNorthUpToFixedFrame(origin),color:y._cesium.Color.DARKSALMON,scale:2},M=y._core.extend(P,f,!0);y._core.isnull(f.near)&&(f.near=0),y._core.isnull(f.far)&&(f.far=999999999);var L=parseFloat(f.near),F=parseFloat(f.far),k=new y._cesium.DistanceDisplayCondition(L,F);M.distanceDisplayCondition=k;var N=new y._cesium.PrimitiveCollection;R.features.forEach(function(G){M.id=G;var J=M.height;if(G.properties.height!=null&&(J=parseFloat(G.properties.height)),/^\[/.test(M.height)&&/\]$/.test(M.height)){var K=M.height.replace(/\[/,"").replace(/\]/,"");J=parseFloat(G.properties[K])}M.modelMatrix=y._cesium.Transforms.eastNorthUpToFixedFrame(y._cesium.Cartesian3.fromDegrees(G.geometry.coordinates[0],G.geometry.coordinates[1],J));var X=y._cesium.Model.fromGltf({id:G,url:M.uri,color:M.color,modelMatrix:M.modelMatrix,scale:M.scale,heightReference:parseInt(M.heightReference),distanceDisplayCondition:M.distanceDisplayCondition});N.add(X)}),R.features.length==0&&(S.state=Wr.QuadtreeTileLoadState.DONE,S.renderable=!0),S.data.geometryPrimitive=N,S.state=Wr.QuadtreeTileLoadState.LOADING,S.state===Wr.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive.update(w,[]),S.state=Wr.QuadtreeTileLoadState.DONE,S.renderable=!0)},error:function(){S.count==null&&(S.count=0),S.count+=1,S.count>=2?(S.state=Wr.QuadtreeTileLoadState.DONE,S.renderable=!0):S.state=Wr.QuadtreeTileLoadState.START}})}else{S.state=Wr.QuadtreeTileLoadState.DONE,S.renderable=!0;return}S.state=Wr.QuadtreeTileLoadState.LOADING}},this._primitive=new this._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var B=this._viewer.scene,Q=B.primitives;Q.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var T={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(T),this._tree.insertGroupId(T,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};qh.prototype.createPointGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium},y=this;!y._core.isnull(f)&&!y._core.isnull(f.color)&&(/^\[/.test(f.color)&&f.color.toString().charAt(0)=="["&&f.color.toString().charAt(f.color.length-1)=="]"||(y._core.isHtmlColor(f.color)?f.color=y._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=y._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=y._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a)))),!y._core.isnull(f)&&!y._core.isnull(f.outlineColor)&&(/^\[/.test(f.outlineColor)&&f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(y._core.isHtmlColor(f.outlineColor)?f.outlineColor=y._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=y._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=y._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a)))),this._urlTemplate=A.url+"?"+this._core._serialize(x.urlParams);var I=A.url+"?"+this._core._serialize(x.urlParams);this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=parseFloat(f.height)||0,this._Provider.loadTile=function(T,w){if(w.state===Wr.QuadtreeTileLoadState.START){if(w.data={lines:[],geometryPrimitive:void 0},w.level>=f.level_min&&w.level<f.level_max&&y.item.show){var S=I.replace(window.encodeURIComponent("{x}"),w.x).replace(window.encodeURIComponent("{y}"),w.y).replace(window.encodeURIComponent("{z}"),w.level);y._cache&&(S+="&"+y._core.getuid()),y._core.xhr({url:S,type:"get",dataType:"json",success:function(D){if(D==null){w.state=Wr.QuadtreeTileLoadState.DONE,w.renderable=!0;return}var R={Name:"",text:"",font:" 30px sans-serif",pixelSize:10,style:y._cesium.LabelStyle.OUTLINE,fillColor:y._cesium.Color.WHITE,outlineColor:y._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new y._cesium.Color(.165,.165,.165,.8),backgroundPadding:new y._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:y._cesium.HorizontalOrigin.CENTER,verticalOrigin:y._cesium.VerticalOrigin.CENTER,eyeOffset:y._cesium.Cartesian3.ZERO,pixelOffset:y._cesium.Cartesian2.ZERO,heightReference:y._cesium.HeightReference.NONE,scaleByDistance:new y._cesium.NearFarScalar(0,0,1,1)},P=f.material;!y._core.isnull(f)&&!y._core.isnull(f.backgroundColor)&&(/^\[/.test(f.backgroundColor)&&f.backgroundColor.toString().charAt(0)=="["&&f.backgroundColor.toString().charAt(f.backgroundColor.length-1)=="]"||(y._core.isHtmlColor(f.backgroundColor)?f.backgroundColor=y._color.colorFromHtmlColor(f.backgroundColor):(/^rgb/.test(f.backgroundColor)&&(f.backgroundColor=y._color.rgbaStringToRgbaObj(f.backgroundColor)),f.backgroundColor.r>1&&(f.backgroundColor.r=f.backgroundColor.r/255),f.backgroundColor.g>1&&(f.backgroundColor.g=f.backgroundColor.g/255),f.backgroundColor.b>1&&(f.backgroundColor.b=f.backgroundColor.b/255),f.backgroundColor.a>1&&(f.backgroundColor.a=f.backgroundColor.a/255),f.backgroundColor=y._color.createColor(f.backgroundColor.r,f.backgroundColor.g,f.backgroundColor.b,f.backgroundColor.a))));var M=y._core.extend(R,f,!0);y._core.isnull(f.near)&&(f.near=0),y._core.isnull(f.far)&&(f.far=999999999);var L=parseFloat(f.near),F=parseFloat(f.far),k=new y._cesium.DistanceDisplayCondition(L,F);M.distanceDisplayCondition=k,y._core.isnull(f.font_size)&&(f.font_size="30px"),y._core.isnull(f.font_family)&&(f.font_family=" sans-serif"),M.font=parseFloat(f.font_size)+"px "+f.font_family;var N=new y._cesium.PointPrimitiveCollection;D.features.forEach(function(G){M.id=G;var J=0;if(/^\[/.test(M.pointHeight)&&/\]$/.test(M.pointHeight)){var K=M.pointHeight.replace(/\[/,"").replace(/\]/,"");J=parseFloat(G.properties[K])}else M.pointHeight!==void 0&&M.pointHeight!==""?J=parseFloat(M.pointHeight):G.properties.height!=null&&(J=parseFloat(G.properties.height));if(/^\[/.test(f.color)&&/\]$/.test(f.color)){var X=f.color.replace(/\[/,"").replace(/\]/,"");M.color=G.properties[X],y._core.isHtmlColor(M.color)?M.color=y._color.colorFromHtmlColor(M.color):(/^rgb/.test(M.color)&&(M.color=y._color.rgbaStringToRgbaObj(M.color)),M.color.r>1&&(M.color.r=M.color.r/255),M.color.g>1&&(M.color.g=M.color.g/255),M.color.b>1&&(M.color.b=M.color.b/255),M.color.a>1&&(M.color.a=M.color.a/255),M.color=y._color.createColor(M.color.r,M.color.g,M.color.b,M.color.a))}if(/^\[/.test(f.outlineColor)&&/\]$/.test(f.outlineColor)){var X=f.outlineColor.replace(/\[/,"").replace(/\]/,"");M.outlineColor=G.properties[X],y._core.isHtmlColor(M.outlineColor)?M.outlineColor=y._color.colorFromHtmlColor(M.outlineColor):(/^rgb/.test(M.outlineColor)&&(M.outlineColor=y._color.rgbaStringToRgbaObj(M.outlineColor)),M.outlineColor.r>1&&(M.outlineColor.r=M.outlineColor.r/255),M.outlineColor.g>1&&(M.outlineColor.g=M.outlineColor.g/255),M.outlineColor.b>1&&(M.outlineColor.b=M.outlineColor.b/255),M.outlineColor.a>1&&(M.outlineColor.a=M.outlineColor.a/255),M.outlineColor=y._color.createColor(M.outlineColor.r,M.outlineColor.g,M.outlineColor.b,M.outlineColor.a))}M.position=new y._cesium.Cartesian3.fromDegrees(G.geometry.coordinates[0],G.geometry.coordinates[1],J),M.text=G.properties.name;var q={show:M.show,position:M.position,pixelSize:M.pixelSize,color:M.color,outlineColor:M.outlineColor,outlineWidth:M.outlineWidth,id:G},ee="color:"+M.color.red*255+","+M.color.green*255+","+M.color.blue*255+";outlineColor:"+M.outlineColor.red*255+","+M.outlineColor.green*255+","+M.outlineColor.blue*255;y.Legend.push(ee),N.add(q)}),D.features.length==0&&(w.state=Wr.QuadtreeTileLoadState.DONE,w.renderable=!0),w.data.geometryPrimitive=N,w.state=Wr.QuadtreeTileLoadState.LOADING,w.state===Wr.QuadtreeTileLoadState.LOADING&&(w.data.geometryPrimitive.update(T,[]),w.state=Wr.QuadtreeTileLoadState.DONE,w.renderable=!0)},error:function(){w.count==null&&(w.count=0),w.count+=1,w.count>=2?(w.state=Wr.QuadtreeTileLoadState.DONE,w.renderable=!0):w.state=Wr.QuadtreeTileLoadState.START}})}else{w.state=Wr.QuadtreeTileLoadState.DONE,w.renderable=!0;return}w.state=Wr.QuadtreeTileLoadState.LOADING}},this._primitive=new this._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var v=this._viewer.scene,B=v.primitives;B.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var Q={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};qh.prototype.setTreeobj=function(o){this.treeobj=o};qh.prototype.getLegend=function(){var o=[];return this.Legend!=null&&(o=this._core.unique(this.Legend)),o};qh.prototype.deleteObject=function(){if(this._viewer.scene.primitives.remove(this.item),this.probj&&this.probj.length>0&&(this._viewer.scene.primitives.remove(this.probj[0]),this.probj.pop()),this.img!=null&&this._viewer.imageryLayers.remove(this.img),this.primitve&&this.primitve.length>0){for(var o=0;o<this.primitve.length;o++)this._viewer.scene.primitives.remove(this.primitve[o]);this.primitve=[]}this.loadAllKey&&this.loadAllKey.length>0&&(this.loadAllKey=[]);try{this._Provider.remove()}catch{}if(this._Provider!=null&&this._Provider.setStatus(!1),this.items!=null&&this.items!=null&&this.items.length>0)for(var o=0;o<this.items.length;o++)this._viewer.scene.primitives.remove(this.items[o]);else this._viewer.scene.primitives.remove(this.item);if(this.treeobj&&this.treeobj.type==="DivPoint"&&this.item&&this.item._pointPrimitives!=null&&this.item._pointPrimitives!=null)for(var o=0;o<this.item._pointPrimitives.length;o++){var A=document.getElementById(this.item._pointPrimitives[o].id);A&&A.remove()}try{this._Provider.remove()}catch{}};qh.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.treeobj.url;return{type:this.treeobj.type,treeobj:{name:this.treeobj.name,pId:this.treeobj.pId},style:{show:o,url:A},treeData:this.treeobj.treeData}};qh.prototype.setRefresh=function(o){try{this._Provider&&this._Provider.setStatus(!o)}catch{}};qh.prototype.setVisibility=function(o){try{if(this.loadAllKey=[],this.item!=null&&this.item.show!=null&&(this.item.show=o),this.img!=null&&(this.img.show=o),this.primitve&&this.primitve.length>0)for(var A=0;A<this.primitve.length;A++)this.primitve[A].show=o;if(this._Provider&&this._Provider.setStatus&&this._Provider._state!==void 0&&this._Provider.setStatus(o),this._Provider&&this._Provider.EntityCollection&&(!o&&(this._Provider.EntityCollection.show=o),this._Provider.EntityCollection.isShow=o),this.probj&&this.probj.length>0)for(var A=0;A<this.probj.length;A++)this.probj[A].show=o}catch{}if(this.treeobj!=null&&this.treeobj.type==="DivPoint"&&this.item&&this.item._pointPrimitives!=null&&this.item._pointPrimitives!=null)for(var A=0;A<this.item._pointPrimitives.length;A++){var f=document.getElementById(this.item._pointPrimitives[A].id);f&&(f.style.display=o?"block":"none")}this.item!=null&&(this.item.show=o),this._Provider&&this._Provider._stop!==void 0&&this._Provider.setStatus(!o)};qh.prototype.edit=function(o,A){return this.isEditting=o,this.editoption=A,this._Provider&&this._Provider.edit&&this._Provider.edit(o,A)};qh.prototype.forceRefresh=function(){try{this._cache=!0,this._forceRefreshPrvimitive||(this._forceRefreshPrvimitive=bi.cloneDeep(this._primitive));var o=bi.cloneDeep(this._forceRefreshPrvimitive);this._viewer.scene.primitives.remove(this._primitive),this._viewer.scene.primitives.add(o),this.edit(this.isEditting,this.editoption)}catch{}};Object.defineProperties(qh.prototype,{labelText:{set:bi.debounce(function(o){var A=o;if(!this._core.isnull(o)){var f=this.item.entities&&this.item.entities.values;if(f&&f.length>0)for(var m=0;m<f.length;m++)if(/^\[/.test(o)&&(A=o.replace(/\[/,"").replace(/\]/,""),A=f[m].properties[A]._value),f[m].label){f[m].label.text=A;try{f[m].point.show=!1}catch{}}else{try{f[m].point.show=!1}catch{}f[m].label=new this._cesium.LabelGraphics({text:A,font:"30px sans-serif",style:this._cesium.LabelStyle.FILL,fillColor:this._cesium.Color.WHITE,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new this._cesium.Color(.165,.165,.165,.8),backgroundPadding:new this._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,heightReference:this._cesium.HeightReference.NONE})}}},500)},labelStyles:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.style=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label)return o[0].label.style}},labelFont:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(o=o.toString().replace(/px/g,""),!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)){var f=A[0].label.font,m=16;if(f&&(f=f._value.trimLeft().trimRight(),m=f.split("px")[0]),A&&A.length>0&&A[0].label)for(var C=0;C<A.length;C++)A[C].label.font=m+"px "+o}}},500)},labelFontSize1:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(o=o.toString().replace(/px/g,""),!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)){var f=A[0].label.font,m="sans-serif";if(f&&(f=f._value.trimLeft().trimRight(),m=f.split("px")[1]),A&&A.length>0&&A[0].label)for(var C=0;C<A.length;C++)A[C].label.font=o+"px "+m}}},500)},labelFontSize:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(o=o.toString().replace(/px/g,""),!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.font=o+"px sans-serif"}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label)return parseFloat(o[0].label.font)}},labelFillColor:{set:bi.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.fillColor=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.fillColor;return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}}},labelOutlineColor:{set:bi.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.outlineColor=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.outlineColor;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},labelOutlineWidth:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].label.outlineWidth=o}},200),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.outlineWidth;return A?A._value:void 0}}},labelBackgroundColor:{set:bi.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.backgroundColor=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.backgroundColor;return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}}},labelBackground:{set:bi.debounce(function(o){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.showBackground=o},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label)return o[0].label.background}},labelScale:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].label.scale=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.scale;return A?A._value:void 0}}},labelHorizontalOrigin:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.horizontalOrigin=parseInt(o)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.horizontalOrigin;return A?A._value:void 0}}},labelVerticalOrigin:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.verticalOrigin=parseInt(o)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.verticalOrigin;return A?A._value:void 0}}},labelHeightReference:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.heightReference=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.heightReference;return A?A._value:void 0}}},labelDistanceDisplayMaxCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=A[0].label.distanceDisplayCondition?A[0].label.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].label.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,parseInt(o)),A[m].label.scaleByDistance=new this._cesium.NearFarScalar(f,1,parseInt(o),0)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.distanceDisplayCondition?o[0].label.distanceDisplayCondition._value.far:Number.MAX_VALUE;return A}}},labelDistanceDisplayMinCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=A[0].label.distanceDisplayCondition?A[0].label.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].label.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(parseInt(o),f),A[m].label.scaleByDistance=new this._cesium.NearFarScalar(parseInt(o),1,f,0)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.distanceDisplayCondition?o[0].label.distanceDisplayCondition._value.near:0;return A}}},labelHeight:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].position==null)&&A&&A.length>0&&A[0].position)for(var f=0;f<A.length;f++){var m=this._cesium.Cartographic.fromCartesian(A[f].position._value),C=this._cesium.Math.toDegrees(m.longitude),E=this._cesium.Math.toDegrees(m.latitude),x=this._cesium.Cartesian3.fromDegrees(C,E,o);A[f].position=x}}},500),get:function(){return 0}},labelShow:{set:bi.debounce(function(o){var A=this.item.entities&&this.item.entities.values;if(A&&A.length>0)for(var f=0;f<A.length;f++)!A[f].label&&o?(A[f].point&&(A[f].point.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard&&(A[f].billboard.show=!o),A[f].label=new this._cesium.LabelGraphics({text:"label",font:"30px sans-serif",style:this._cesium.LabelStyle.FILL,fillColor:this._cesium.Color.WHITE,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new this._cesium.Color(.165,.165,.165,.8),backgroundPadding:new this._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,heightReference:this._cesium.HeightReference.NONE})):(A[f].label&&(A[f].label.show=o),A[f].point&&(A[f].point.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard&&(A[f].billboard.show=!o))},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label)return o[0].label.show}},modelShow:{set:bi.debounce(function(o){var A=this.item.entities&&this.item.entities.values;if(A&&A.length>0)for(var f=0;f<A.length;f++)A[f].label&&(A[f].label.show=!o),A[f].point&&(A[f].point.show=!o),A[f].billboard&&(A[f].billboard.show=!o),!A[f].model&&o?A[f].model=new this._cesium.ModelGraphics({show:!0,scale:1,minimumPixelSize:0,incrementallyLoadTextures:!0,runAnimations:!0,clampAnimations:!0,shadows:this._cesium.ShadowMode.ENABLED,heightReference:this._cesium.HeightReference.NONE,color:this._cesium.Color.WHITE}):(A[f].model&&(A[f].model.show=o),A[f].label&&(A[f].label.show=!o),A[f].point&&(A[f].point.show=!o),A[f].billboard&&(A[f].billboard.show=!o))},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model)return o[0].model.show}},modelUri:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0)for(var f=0;f<A.length;f++)if(A[f].model)A[f].model.uri=o;else{if(/^\[/.test(o)){var m=o.split("[");m.length>1?o=m[0]+m[1].replace(/\[/,"").replace(/\]/,""):(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o])}A[f].model=new this._cesium.ModelGraphics({uri:o,show:!0,scale:1,minimumPixelSize:0,incrementallyLoadTextures:!0,runAnimations:!0,clampAnimations:!0,shadows:this._cesium.ShadowMode.ENABLED,heightReference:this._cesium.HeightReference.NONE,color:this._cesium.Color.WHITE})}}},500)},modelScale:{set:bi.debounce(function(o){if(!this._core.isnull(o)){o=parseFloat(o);var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].model.scale=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.scale;return A?A._value:void 0}}},modelShadows:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].model.shadows=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model)return o[0].model.shadows}},modelHeightReference:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].model.heightReference=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.heightReference;return A?A._value:void 0}}},modelDistanceDisplayMaxCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=A[0].model.distanceDisplayCondition?A[0].model.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].model.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,o)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model)var A=o[0].model.distanceDisplayCondition?o[0].model.distanceDisplayCondition._value.far:Number.MAX_VALUE}},modelDistanceDisplayMinCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=A[0].model.distanceDisplayCondition?A[0].model.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].model.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,f)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.distanceDisplayCondition?o[0].model.distanceDisplayCondition._value.near:0;return A}}},modelColor:{set:bi.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].model.color=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.color;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},modelLightColor:{set:bi.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].model.lightColor=o}},100),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.lightColor;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},modelHeight:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].position==null)&&A&&A.length>0&&A[0].position)for(var f=0;f<A.length;f++){var m=this._cesium.Cartographic.fromCartesian(A[f].position._value),C=this._cesium.Math.toDegrees(m.longitude),E=this._cesium.Math.toDegrees(m.latitude),x=this._cesium.Cartesian3.fromDegrees(C,E,o);A[f].position=x}}},500),get:function(){return 0}},pointColor:{set:bi.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)A[f].point.color=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.color;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},pointShow:{set:bi.debounce(function(o){var A=this.item.entities&&this.item.entities.values;if(A&&A.length>0)for(var f=0;f<A.length;f++)!A[f].point&&o?(A[f].label&&(A[f].label.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard&&(A[f].billboard.show=!o),A[f].point=new this._cesium.PointGraphics({color:this._cesium.Color.WHITE,pixelSize:1,outlineColor:this._cesium.Color.BLACK,outlineWidth:0,show:!0})):(A[f].point&&(A[f].point.show=o),A[f].label&&(A[f].label.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard&&(A[f].billboard.show=!o))},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point)return o[0].point.show}},pointPixelSize:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].point.pixelSize=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.pixelSize;return A?A._value:void 0}}},pointOutlineColor:{set:bi.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)A[f].point.outlineColor=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.outlineColor;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},pointOutlineWidth:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].point.outlineWidth=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.outlineWidth;return A?A._value:void 0}}},pointHeightReference:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)A[f].point.heightReference=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.heightReference;return A?A._value:void 0}}},pointDistanceDisplayMaxCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=A[0].point.distanceDisplayCondition?A[0].point.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].point.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,o),A[m].point.scaleByDistance=new this._cesium.NearFarScalar(f,1,o,0)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.distanceDisplayCondition?o[0].point.distanceDisplayCondition._value.far:Number.MAX_VALUE;return A}}},pointDistanceDisplayMinCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=A[0].point.distanceDisplayCondition?A[0].point.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].point.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,f),A[m].point.scaleByDistance=new this._cesium.NearFarScalar(o,1,f,0)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.distanceDisplayCondition?o[0].point.distanceDisplayCondition._value.near:0;return A}}},pointHeight:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].position==null)&&A&&A.length>0&&A[0].position)for(var f=0;f<A.length;f++){var m=this._cesium.Cartographic.fromCartesian(A[f].position._value),C=this._cesium.Math.toDegrees(m.longitude),E=this._cesium.Math.toDegrees(m.latitude),x=this._cesium.Cartesian3.fromDegrees(C,E,o);A[f].position=x}}},500),get:function(){return 0}},billboardShow:{set:bi.debounce(function(o){var A=this.item.entities&&this.item.entities.values;if(A&&A.length>0)for(var f=0;f<A.length;f++)!A[f].billboard&&o?(A[f].point&&(A[f].point.show=!o),A[f].label&&(A[f].label.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard=new this._cesium.BillboardGraphics({show:!0,scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,rotation:0,alignedAxis:this._cesium.Cartesian3.ZERO,width:void 0,height:void 0,color:this._cesium.Color.WHITE,heightReference:this._cesium.HeightReference.NONE})):(A[f].billboard&&(A[f].billboard.show=o),A[f].point&&(A[f].point.show=!o),A[f].label&&(A[f].label.show=!o),A[f].billboard&&(A[f].billboard.show=!o))},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard)return o[0].billboard.show}},billboardImage:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0)for(var f=0;f<A.length;f++){if(/^\[/.test(o)){var m=o.split("[");m.length>1?o=m[0]+m[1].replace(/\[/,"").replace(/\]/,""):(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o])}A[f].billboard?A[f].billboard.image=o:A[f].billboard=new this._cesium.BillboardGraphics({image:o,show:!0,scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,rotation:0,alignedAxis:this._cesium.Cartesian3.ZERO,width:void 0,height:void 0,color:this._cesium.Color.WHITE,heightReference:this._cesium.HeightReference.NONE})}}},500)},billboardScale:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.scale=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.scale;return A?A._value:void 0}}},billboardHorizontalOrigin:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.horizontalOrigin=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard)return o[0].billboard.horizontalOrigin}},billboardVerticalOrigin:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.verticalOrigin=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard)return o[0].billboard.verticalOrigin}},billboardWidth:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.width=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.width;return A?A._value:void 0}}},billboardHeight:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.height=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.height;return A?A._value:void 0}}},billboardColor:{set:bi.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.color=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.color;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},billboardHeightReference:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].billboard.heightReference=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].model){var A=o[0].billboard.heightReference;return A?A._value:void 0}}},billboardDistanceDisplayMaxCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=A[0].billboard.distanceDisplayCondition?A[0].billboard.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].billboard.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,o),A[m].billboard.scaleByDistance=new this._cesium.NearFarScalar(f,1,o,0)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.distanceDisplayCondition?o[0].billboard.distanceDisplayCondition._value.far:Number.MAX_VALUE;return A}}},billboardDistanceDisplayMinCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=A[0].billboard.distanceDisplayCondition?A[0].billboard.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].billboard.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,f),A[m].billboard.scaleByDistance=new this._cesium.NearFarScalar(o,1,f,0)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.distanceDisplayCondition?o[0].billboard.distanceDisplayCondition._value.near:0;return A}}},billboardPHeight:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].position==null)&&A&&A.length>0&&A[0].position)for(var f=0;f<A.length;f++){var m=this._cesium.Cartographic.fromCartesian(A[f].position._value),C=this._cesium.Math.toDegrees(m.longitude),E=this._cesium.Math.toDegrees(m.latitude),x=this._cesium.Cartesian3.fromDegrees(C,E,o);A[f].position=x}}},500),get:function(){return 0}}});var bC=qh;function gLi(o,A,f,m){this.UrlTemplateGeojsonProvider=new A.UrlTemplateGeojsonProvider(f,1),this.UrlTemplateGeojsonProvider.loadtitle=m,this.ent=o.imageryLayers.addImageryProvider(this.UrlTemplateGeojsonProvider)}var zae=gLi;function pLi(o,A){var f={width:o,height:A};function m(x){for(var y=Number.MAX_VALUE,I,v,B={xMin:y,yMin:y,xMax:-y,yMax:-y},Q=0,T=x.length;Q<T;Q++){var w=x[Q].getBoundingRect();I={x:w.xMin,y:w.yMin},v={x:w.xMax,y:w.yMax},B.xMin=B.xMin<I.x?B.xMin:I.x,B.yMin=B.yMin<I.y?B.yMin:I.y,B.xMax=B.xMax>v.x?B.xMax:v.x,B.yMax=B.yMax>v.y?B.yMax:v.y}return B}function C(x,y){var I=y.xMax-y.xMin,v=y.yMin-y.yMax,B=Math.abs(x[0]-y.xMin),Q=x[1]-y.yMax,T=B/I,w=Q/v,S=T*f.width,D=w*f.height;return{x:S,y:D}}function E(x,y){var I=y.xMax-y.xMin,v=y.yMin-y.yMax,B=x.x/f.width*I,Q=x.y/f.height*v;return[B,Q]}this.project=C,this.unproject=E,this.getBoundingRect=m}var aut=pLi;var vt=null;function Ys(o,A){vt=A,this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._color=new In(this._viewer,this._cesium),this._tree=Ke,this.item={show:!0},this._option=void 0,this._primitive=void 0,this._Provider=void 0,this.Legend=[],this.datas=[],this.models=0,this.entity=null,this.primitve=[],this.probj=[],this.PrimitiveData=[],this.loadFinishKey=[],this.loadAllKey=[],this.PrimitiveObj={key:"",data:{}},this.start=0,this.Primitivekey=[],this.tilesLength=0,this.returnCount=0,this._primitiveByTile={},this._primitiveCollection=new this._cesium.PrimitiveCollection,this.img=null,this._defaultStyle=null,this._canvas=null,this._context=null,this._cache=!1,this._forceRefreshPrvimitive=null}function Jae(o){if(Array.isArray(o)){for(var A=0,f=Array(o.length);A<o.length;A++)f[A]=o[A];return f}else return Array.from(o)}function sut(o,A){var f=[];return o.level>=A?mLi(o,A,f):lut(o,A,f),f}function mLi(o,A,f){for(var m=o,C=0;C<30;C++){if(m.level==A)return f.push({x:m.x,y:m.y,level:m.level}),!0;m=m.parent}return!0}function lut(o,A,f){if(o.level==A)return f.push({x:o.x,y:o.y,level:o.level}),!0;if(o.level>A)return!1;for(var m=0;m<o.children.length;m++)lut(o.children[m],A,f);return!0}var CLi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o};Ys.prototype._serialize=function(o){var A=[],f=window.encodeURIComponent;for(var m in o){var C=o[m];(typeof C>"u"?"undefined":CLi(C))==="object"?A.push(f(m)+"="+f(JSON.stringify(C))):A.push(f(m)+"="+f(o[m]))}return A.join("&")};Ys.prototype.createHistogramVectorGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x={radius:50,height:100,scale:1,defaultColor:"#ffffff",showLabel:!0,label:{showBackground:!1,fillColor:"#ffffff",outlineColor:"#000000",backgroundColor:"rgba(0,0,0,0.5)",style:2,horizontalOrigin:vt.HorizontalOrigin.CENTER,verticalOrigin:vt.VerticalOrigin.BOTTOM,outlineWidth:1,font:"20px \u5FAE\u8F6F\u96C5\u9ED1"},alpha:.5,level_max:20,level_min:10},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit};f.label&&(x.label=this._core.extend(x.label,f.label,!0),delete f.label);let I=this._core.extend(x,f,!0);A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");let v;Array.isArray(I.color)&&(v={name:I.color[0].name,value:{">":{},"<":{}}},I.color.forEach(P=>{if(P.value.indexOf&&P.value.indexOf(">")>-1){let M=P.value.split(">");v.value[">"][M[1]]=vt.Color.fromCssColorString(P.color).withAlpha(I.alpha)}else if(P.value.indexOf&&P.value.indexOf("<")>-1){let M=P.value.split("<");v.value["<"][M[1]]=vt.Color.fromCssColorString(P.color).withAlpha(I.alpha)}else v.value[P.value]=vt.Color.fromCssColorString(P.color).withAlpha(I.alpha)}));let B=vt.Color.fromCssColorString(I.defaultColor).withAlpha(I.alpha);var Q=this,T={text:"",...I.label,fillColor:vt.Color.fromCssColorString(I.label.fillColor),outlineColor:vt.Color.fromCssColorString(I.label.outlineColor),backgroundColor:vt.Color.fromCssColorString(I.label.backgroundColor)};this._urlTemplate=A.url+"?"+this._serialize(y.urlParams);var w=A.url+"?"+this._serialize(y.urlParams);this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=0,this._Provider.loadTile=function(P,M){(function(L,F,k){if(F.state===vt.QuadtreeTileLoadState.START){if(F.data={lines:[],geometryPrimitive:void 0},F.level>=f.level_min&&F.level<f.level_max&&k.item.show){var N=w.replace(window.encodeURIComponent("{x}"),F.x).replace(window.encodeURIComponent("{y}"),F.y).replace(window.encodeURIComponent("{z}"),F.level);k._cache&&(N+="&"+k._core.getuid());let G=[],J=[],K=new vt.LabelCollection;vt.GeoJsonDataSource.load(N).then(q=>{let ee=q.entities.values;if(!ee||!ee.length){F.state=vt.QuadtreeTileLoadState.DONE,F.renderable=!0;return}let ie=new vt.PrimitiveCollection;if(ee.forEach(H=>{let le=H.properties.getValue(),ue=I.height;if(le&&typeof I.height=="string"&&/^\[/.test(I.height)&&/\]$/.test(I.height)){let z=I.height.replace(/\[/,"").replace(/\]/,"");ue=le[z]||100}let Ae=ue*I.scale,he;if(le&&typeof I.color=="string"&&/^\[/.test(I.color)&&/\]$/.test(I.color)){let z=I.color.replace(/\[/,"").replace(/\]/,"");z=le[z]||I.defaultColor,he=vt.Color.fromCssColorString(z).withAlpha(I.alpha)}else if(v&&le[v.name]){let z=le[v.name];if(v.value[z])he=v.value[z];else{for(let re in v.value[">"])if(z>re){he=v.value[">"][re];break}if(!he){for(let re in v.value["<"])if(z<re){he=v.value["<"][re];break}}}}!he&&(he=B.clone());let ge;if(H.polygon){let z=H.polygon.hierarchy.getValue().positions;ge=vt.BoundingSphere.fromPoints(z).center;var fe=new vt.PolygonGeometry({polygonHierarchy:new vt.PolygonHierarchy(z),height:0,extrudedHeight:0,vertexFormat:vt.VertexFormat.DEFAULT,perPositionHeight:!1}),ae=new vt.GeometryInstance({id:le,geometry:fe,attributes:{color:new vt.ColorGeometryInstanceAttribute.fromColor(he)}});G.push(ae)}else(H.point||H.billboard)&&(ge=H.position.getValue());let U=new vt.GeometryInstance({geometry:new vt.EllipseGeometry({extrudedHeight:Ae,center:ge,semiMinorAxis:I.radius,semiMajorAxis:I.radius,vertexFormat:vt.VertexFormat.POSITION_AND_ST}),id:le}),W=vt.Material.fromType("Color");W.uniforms.color=he.withAlpha(1);let Y=new vt.Primitive({geometryInstances:U,appearance:new vt.EllipsoidSurfaceAppearance({material:W}),shadows:I.shadows});if(ie.add(Y),I.showLabel){let z=k._core.toDegrees(ge);T.text=I.value?I.value(ue,le):ue+"",T.position=vt.Cartesian3.fromDegrees(z.lon,z.lat,Ae*1.1),T.useColorConfig&&(T.fillColor=he),K.add(T)}}),G.length){let H=new vt.GroundPrimitive({geometryInstances:G,appearance:new vt.PerInstanceColorAppearance({translucent:I.alpha<1}),classificationType:vt.ClassificationType.BOTH,shadows:I.shadows});ie.add(H)}I.showLabel&&ie.add(K),k.probj.push(ie),F.data.geometryPrimitive=ie,F.state=vt.QuadtreeTileLoadState.LOADING,F.state===vt.QuadtreeTileLoadState.LOADING&&(F.data.geometryPrimitive.update(L,[]),F.state=vt.QuadtreeTileLoadState.DONE,F.renderable=!0)},q=>{F.count==null&&(F.count=0),F.count+=1,F.count>=2?(F.state=vt.QuadtreeTileLoadState.DONE,F.renderable=!0):F.state=vt.QuadtreeTileLoadState.START})}else{F.state=vt.QuadtreeTileLoadState.DONE,F.renderable=!0;return}F.state=vt.QuadtreeTileLoadState.LOADING}})(P,M,Q)},this._primitive=new vt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:5});var S=this._viewer.scene,D=S.primitives;D.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var R={id:I.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this._Provider.treeID=R.id,this.setTreeobj(R),this._tree.insertGroupId(R,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ys.prototype.createLaycolorVectorGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x={type:"2D",height:100,scale:1,defaultColor:"#ffffff",alpha:.5,level_max:20,level_min:10},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit};let I=this._core.extend(x,f,!0);A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");let v;Array.isArray(I.color)&&(v={name:I.color[0].name,value:{">":{},"<":{}}},I.color.forEach(R=>{if(R.value.indexOf&&R.value.indexOf(">")>-1){let P=R.value.split(">");v.value[">"][P[1]]=vt.Color.fromCssColorString(R.color).withAlpha(I.alpha)}else if(R.value.indexOf&&R.value.indexOf("<")>-1){let P=R.value.split("<");v.value["<"][P[1]]=vt.Color.fromCssColorString(R.color).withAlpha(I.alpha)}else v.value[R.value]=vt.Color.fromCssColorString(R.color).withAlpha(I.alpha)}));let B=vt.Color.fromCssColorString(I.defaultColor).withAlpha(I.alpha);var Q=this;this._urlTemplate=A.url+"?"+this._serialize(y.urlParams);var T=A.url+"?"+this._serialize(y.urlParams);this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=0,this._Provider.loadTile=function(R,P){(function(M,L,F){if(L.state===vt.QuadtreeTileLoadState.START){if(L.data={lines:[],geometryPrimitive:void 0},L.level>=f.level_min&&L.level<f.level_max&&F.item.show){var k=T.replace(window.encodeURIComponent("{x}"),L.x).replace(window.encodeURIComponent("{y}"),L.y).replace(window.encodeURIComponent("{z}"),L.level);F._cache&&(k+="&"+F._core.getuid());let N=[];vt.GeoJsonDataSource.load(k).then(J=>{let K=J.entities.values;if(!K||!K.length){L.state=vt.QuadtreeTileLoadState.DONE,L.renderable=!0;return}K.forEach(q=>{let ee=q.properties.getValue(),ie,H;if(I.type==="3D"){if(ie=I.height,ee&&typeof I.height=="string"&&/^\[/.test(I.height)&&/\]$/.test(I.height)){let he=I.height.replace(/\[/,"").replace(/\]/,"");ie=ee[he]||100}H=ie*I.scale}let le;if(ee&&typeof I.color=="string"&&/^\[/.test(I.color)&&/\]$/.test(I.color)){let he=I.color.replace(/\[/,"").replace(/\]/,"");he=ee[he]||I.defaultColor,le=vt.Color.fromCssColorString(he).withAlpha(I.alpha)}else if(v&&ee[v.name]){let he=ee[v.name];if(v.value[he])le=v.value[he];else{for(let ge in v.value[">"])if(he>ge){le=v.value[">"][ge];break}if(!le){for(let ge in v.value["<"])if(he<ge){le=v.value["<"][ge];break}}}}if(!le&&(le=B.clone()),q.polygon){let he=q.polygon.hierarchy.getValue().positions;var ue=new vt.PolygonGeometry({polygonHierarchy:new vt.PolygonHierarchy(he),height:0,extrudedHeight:I.type==="3D"?H:0,vertexFormat:vt.VertexFormat.DEFAULT,perPositionHeight:!1}),Ae=new vt.GeometryInstance({id:ee,geometry:ue,attributes:{color:new vt.ColorGeometryInstanceAttribute.fromColor(le)}});N.push(Ae)}});let X;if(N.length){let q=I.type==="3D"?vt.Primitive:vt.GroundPrimitive;X=new q({geometryInstances:N,appearance:new vt.PerInstanceColorAppearance({translucent:I.alpha<1}),classificationType:vt.ClassificationType.BOTH,shadows:I.shadows})}F.probj.push(X),L.data.geometryPrimitive=X,L.state=vt.QuadtreeTileLoadState.LOADING,L.state===vt.QuadtreeTileLoadState.LOADING&&(L.data.geometryPrimitive.update(M,[]),L.state=vt.QuadtreeTileLoadState.DONE,L.renderable=!0)},J=>{L.count==null&&(L.count=0),L.count+=1,L.count>=2?(L.state=vt.QuadtreeTileLoadState.DONE,L.renderable=!0):L.state=vt.QuadtreeTileLoadState.START})}else{L.state=vt.QuadtreeTileLoadState.DONE,L.renderable=!0;return}L.state=vt.QuadtreeTileLoadState.LOADING}})(R,P,Q)},this._primitive=new vt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:5});var w=this._viewer.scene,S=w.primitives;S.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var D={id:I.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this._Provider.treeID=D.id,this.setTreeobj(D),this._tree.insertGroupId(D,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ys.prototype.createVector3DTilesFeatureLayer=function(o,A,f,m,C,E){var x={color:"#ffffff",level_max:20,level_min:10,tilingScheme:new vt.WebMercatorTilingScheme},y={url:A.url,_x:A._x||0,_y:A._y||0,upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit};let I=this._core.extend(x,f,!0);A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var v=this;this._urlTemplate=A.url;var B=A.url;this._Provider=new Cs(this._viewer,this._cesium,I.tilingScheme),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=0,this._Provider.loadTile=function(S,D){(function(R,P,M){if(P.state===vt.QuadtreeTileLoadState.START){if(P.data={lines:[],geometryPrimitive:void 0},P.level>=f.level_min&&P.level<f.level_max&&M.item.show){var L=B.replace("{x}",P.x-y._x).replace("{y}",P.y-y._y).replace("{z}",P.level);M._cache&&(L+="&"+M._core.getuid());let k=new vt.Cesium3DTileset({url:L,...I}).readyPromise.then(function(N){M.probj.push(N),P.data.geometryPrimitive=N,M._viewer.scene.primitives.add(N),P.state=vt.QuadtreeTileLoadState.LOADING,P.state===vt.QuadtreeTileLoadState.LOADING&&(P.data.geometryPrimitive.update(R,[]),P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0)});k.catch&&k.catch(function(N){P.count==null&&(P.count=0),P.count+=1,P.count>=2?(P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0):P.state=vt.QuadtreeTileLoadState.START}),k.otherwise&&k.otherwise(function(N){P.count==null&&(P.count=0),P.count+=1,P.count>=2?(P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0):P.state=vt.QuadtreeTileLoadState.START})}else{P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0;return}P.state=vt.QuadtreeTileLoadState.LOADING}})(S,D,v)},this._primitive=new vt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:5});var Q=this._viewer.scene,T=Q.primitives;T.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id);var w={id:I.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"modelLayer",item:this,url:A.url,style:f};return this._Provider.treeID=w.id,this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ys.prototype.createVector3DTilesFeatureLayerRelease=function(o,A,f,m,C,E){var x={color:"#ffffff",level_max:20,level_min:10,tilingScheme:new vt.WebMercatorTilingScheme},y={url:A.url,_x:A._x||0,_y:A._y||0,upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit};let I=this._core.extend(x,f,!0);A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var v=this;v.models=0,this._urlTemplate=A.url;var B=A.url;this._Provider=new Cs(this._viewer,this._cesium,I.tilingScheme),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=0,this._Provider.loadTile=function(S,D){(function(R,P,M){if(P.state===vt.QuadtreeTileLoadState.START){if(P.data={lines:[],geometryPrimitive:void 0},P.level>=f.level_min&&P.level<f.level_max&&M.item.show){var L=B.replace("{x}",P.x-y._x).replace("{y}",P.y-y._y).replace("{z}",18);M._cache&&(L+="&"+M._core.getuid());let k=new vt.Cesium3DTileset({url:L,...I}).readyPromise.then(function(N){P.freeResources=function(){P.state=0,P.renderable=!1,P.upsampledFromParent=!1,vt.defined(P.data)&&vt.defined(P.data.freeResources)&&P.data.freeResources(),vt.defined(this.data)&&vt.defined(this.data.geometryPrimitive)&&P._level>=18&&(this.data.geometryPrimitive.destroy(),this.data.geometryPrimitive=void 0),G(P._southwestChild),P._southwestChild=void 0,G(P._southeastChild),P._southeastChild=void 0,G(P._northwestChild),P._northwestChild=void 0,G(P._northeastChild),P._northeastChild=void 0};function G(J){vt.defined(J)&&J.freeResources()}M.probj.push(N),M._viewer.scene.primitives.add(N),P.state=vt.QuadtreeTileLoadState.LOADING,P.state===vt.QuadtreeTileLoadState.LOADING&&(P.data.geometryPrimitive.update(R,[]),P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0)});k.catch&&k.catch(function(N){P.count==null&&(P.count=0),P.count+=1,P.count>=2?(P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0):P.state=vt.QuadtreeTileLoadState.START}),k.otherwise&&k.otherwise(function(N){P.count==null&&(P.count=0),P.count+=1,P.count>=2?(P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0):P.state=vt.QuadtreeTileLoadState.START})}else{P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0;return}P.state=vt.QuadtreeTileLoadState.LOADING}})(S,D,v)},this._primitive=new vt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:5});var Q=this._viewer.scene,T=Q.primitives;T.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id);var w={id:I.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"modelLayer",item:this,url:A.url,style:f};return this._Provider.treeID=w.id,this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ys.prototype.VectorGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x=this._core.VectorSlice(A,this._cesium),y=new FA(this._viewer,this._cesium,x),I=this;this._Provider=y,y._loadTile=function(B){var Q=new vt.PrimitiveCollection,T=new vt.PointPrimitiveCollection,w=new vt.LabelCollection,S=new vt.BillboardCollection,D=[],R=[],P=-1;return B.features.forEach(function(M){var L=[];if(f.lable!=null&&M.geometry.coordinates[0][0]==null){var F=0;if(f.lable.height!=null&&/^\[/.test(f.lable.height)&&/\]$/.test(f.lable.height)){var k=f.lable.height.replace(/\[/,"").replace(/\]/,"");F=parseFloat(M.properties[k])}var N=I._core.StyleContrast("lable",f.lable,vt);N.fillColor=I._color.VectorColorTransformation(N.fillColor,M),N.outlineColor=I._color.VectorColorTransformation(N.outlineColor,M),N.backgroundColor=I._color.VectorColorTransformation(N.backgroundColor,M),N.text=I._core.Analysis(N.text,M),N.position=new vt.Cartesian3.fromDegrees(M.geometry.coordinates[0],M.geometry.coordinates[1],F),w.add(N)}if(f.billboard!=null&&M.geometry.coordinates[0][0]==null){var F=0,G=f.billboard;if(G.height!=null&&/^\[/.test(G.height)&&/\]$/.test(G.height)){var k=G.height.replace(/\[/,"").replace(/\]/,"");F=parseFloat(M.properties[k])}var J=I._core.StyleContrast("billboard",G,vt);J.position=new vt.Cartesian3.fromDegrees(M.geometry.coordinates[0],M.geometry.coordinates[1],F),S.add(J)}if(f.point!=null&&M.geometry.coordinates[0][0]==null){var F=0,G=f.point;if(G.height!=null&&/^\[/.test(G.height)&&/\]$/.test(G.height)){var k=G.height.replace(/\[/,"").replace(/\]/,"");F=parseFloat(M.properties[k])}var J=I._core.StyleContrast("point",G,vt);J.position=new vt.Cartesian3.fromDegrees(M.geometry.coordinates[0],M.geometry.coordinates[1],F),J.color=I._color.VectorColorTransformation(J.color,M),J.outlineColor=I._color.VectorColorTransformation(J.outlineColor,M),T.add(J)}if(f.polyline!=null){var F=0,G=f.polyline;if(G.height!=null&&/^\[/.test(G.height)&&/\]$/.test(G.height)){var k=G.height.replace(/\[/,"").replace(/\]/,"");F=parseFloat(M.properties[k])}var J=I._core.StyleContrast("polyline",G,vt);if(P=J.classificationType,delete J.classificationType,Array.isArray(M.geometry.coordinates)&&M.geometry.coordinates.length>0)if(Array.isArray(M.geometry.coordinates[0][0]))for(var K=0;K<M.geometry.coordinates.length;K++){L=[],L=I._core.coordinate(L,M.geometry.coordinates[K]),J.positions=vt.Cartesian3.fromDegreesArray(L);var X=I._core.createPolyline(J,P,M,vt);D.push(X)}else{L=I._core.coordinate(L,M.geometry.coordinates),J.positions=vt.Cartesian3.fromDegreesArray(L);var X=I._core.createPolyline(J,P,M,vt);D.push(X)}}if(f.polygon!=null){var F=0,G=f.polygon;if(G.height!=null&&/^\[/.test(G.height)&&/\]$/.test(G.height)){var k=G.height.replace(/\[/,"").replace(/\]/,"");F=parseFloat(M.properties[k])}var J=I._core.StyleContrast("polygon",G,vt);if(J.material=I._color.VectorColorTransformation(J.material,M),P=J.classificationType,delete J.classificationType,Array.isArray(M.geometry.coordinates)&&M.geometry.coordinates.length>0)if(Array.isArray(M.geometry.coordinates[0][0]))for(var K=0;K<M.geometry.coordinates.length;K++){L=[],M.geometry.coordinates[K].pop(),L=I._core.coordinate(L,M.geometry.coordinates[K]),J.polygonHierarchy=new vt.PolygonHierarchy(vt.Cartesian3.fromDegreesArray(L));var X=I._core.createPolygon(J,P,M,vt);R.push(X)}else{L=I._core.coordinate(L,M.geometry.coordinates),J.polygonHierarchy=new vt.PolygonHierarchy(vt.Cartesian3.fromDegreesArray(L));var X=I._core.createPolygon(J,P,M,vt);R.push(X)}}}),Q.add(w),Q.add(S),Q.add(T),D.length>0&&(P!=-1?Q.add(new vt.GroundPolylinePrimitive({geometryInstances:D,classificationType:P,appearance:new vt.PolylineMaterialAppearance})):Q.add(new vt.Primitive({geometryInstances:D,appearance:new vt.PolylineMaterialAppearance}))),R.length>0&&(P!=-1?Q.add(new vt.GroundPrimitive({geometryInstances:R,classificationType:P,appearance:new vt.PerInstanceColorAppearance({translucent:!0,vertexShaderSource:I._core.Shaders("vertexShaderSource"),fragmentShaderSource:I._core.Shaders("fragmentShaderSource")})})):Q.add(new vt.Primitive({geometryInstances:R,appearance:new vt.PerInstanceColorAppearance({translucent:!0,vertexShaderSource:I._core.Shaders("vertexShaderSource"),fragmentShaderSource:I._core.Shaders("fragmentShaderSource")})}))),Q},this.item=y._primitiveCollection,y.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var v={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"Vector",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ys.prototype.createVolumeVectorGeoJsonFeatureLayerJCDthOptimizationxp=function(o,A,f,m,C,E){var x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(x,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var I={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},v=this;this._urlTemplate=A.url+"?"+this._serialize(y.urlParams);var B=A.url+"?"+this._serialize(y.urlParams);this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(S,D){(function(R,P,M){if(P.state===vt.QuadtreeTileLoadState.START){if(P.data={lines:[],geometryPrimitive:void 0},P.level>=f.level_min&&P.level<f.level_max&&M.item.show){var L=B.replace(window.encodeURIComponent("{x}"),P.x).replace(window.encodeURIComponent("{y}"),P.y).replace(window.encodeURIComponent("{z}"),P.level);M._cache&&(L+="&"+M._core.getuid()),M._core.xhr({url:L,type:"get",dataType:"json",success:function(F){if(F==null){P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0;return}var k=[],N=[];M.Legend=[];function G(H){for(var le=0;le<H.length;le++)Array.isArray(H[le])?G(H[le]):X.push(H[le])}function J(){if(/^\[/.test(M._option.extrudedHeight)&&/\]$/.test(M._option.extrudedHeight)){var H=M._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");I.extrudedHeight=parseFloat(q.properties[H])}if(I.material=M._option.material,/^\[/.test(M._option.material)&&/\]$/.test(M._option.material)){var le=M._option.material.replace(/\[/,"").replace(/\]/,"");I.material=q.properties[le],M._core.isHtmlColor(I.material)?I.material=M._color.colorFromHtmlColor(I.material):(/^rgb/.test(I.material)&&(I.material=M._color.rgbaStringToRgbaObj(I.material)),I.material.red>1&&(I.material.red=I.material.red/255),I.material.green>1&&(I.material.green=I.material.green/255),I.material.blue>1&&(I.material.blue=I.material.blue/255),I.material.alpha>1&&(I.material.a=I.material.alpha/255),I.material=M._color.createColor(I.material.red,I.material.green,I.material.blue,I.material.alpha))}else M._option.material&&(I.material=M._option.material),I.material&&(M._core.isHtmlColor(I.material)?I.material=M._color.colorFromHtmlColor(I.material):(/^rgb/.test(I.material)&&(I.material=M._color.rgbaStringToRgbaObj(I.material)),I.material.red>1&&(I.material.red=I.material.red/255),I.material.green>1&&(I.material.green=I.material.green/255),I.material.blue>1&&(I.material.blue=I.material.blue/255),I.material.alpha>1&&(I.material.a=I.material.alpha/255),I.material=M._color.createColor(I.material.red,I.material.green,I.material.blue,I.material.alpha)));if(X.length>=2){var ue=vt.Cartesian3.fromDegreesArray(X);I.polygonHierarchy=new vt.PolygonHierarchy(ue);var Ae=new vt.PolygonGeometry(I),he=new vt.GeometryInstance({id:q,geometry:Ae,attributes:{color:new vt.ColorGeometryInstanceAttribute.fromColor(I.material)}}),ge="material:"+I.material.red*255+","+I.material.green*255+","+I.material.blue*255;M.Legend.push(ge),k.push(he)}}for(var K=0;K<F.features.length;K++){var X=[],q=F.features[K];if(Array.isArray(q.geometry.coordinates)&&q.geometry.coordinates.length>0)if(Array.isArray(q.geometry.coordinates[0][0]))for(var ee=0;ee<q.geometry.coordinates.length;ee++)X=[],q.geometry.coordinates[ee].pop(),G(q.geometry.coordinates[ee]),J(X);else G(q.geometry.coordinates),J(X)}k.length==0&&(P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0);var ie=new vt.Primitive({geometryInstances:k,appearance:new vt.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:M._core.Shaders("vertexShaderSource"),fragmentShaderSource:M._core.Shaders("fragmentShaderSource")}),shadows:M._option.shadows});P.data.geometryPrimitive=ie,P.state=vt.QuadtreeTileLoadState.LOADING,P.state===vt.QuadtreeTileLoadState.LOADING&&(P.data.geometryPrimitive.update(R,[]),P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0)},error:function(){P.count==null&&(P.count=0),P.count+=1,P.count>=2?(P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0):P.state=vt.QuadtreeTileLoadState.START}})}else{P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0;return}P.state=vt.QuadtreeTileLoadState.LOADING}})(S,D,v)},this._primitive=new vt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,T=Q.primitives;T.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var w={id:I.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ys.prototype.VolumeVectorGeoJsonFeatureLayerOptimization1ss=function(o,A,f,m,C,E){var x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(x,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var I=[],v={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},B=this;this._urlTemplate=A.url+"?"+this._serialize(y.urlParams),this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(S,D){if(this.tile=null,this.tile=D,D.state===this._cesium.QuadtreeTileLoadState.START&&B.item.show){var R="z"+D.level+"x"+D.x+"y"+D.y;if(D.data={lines:[],geometryPrimitive:void 0},D.level>=f.level_min&&D.level<f.level_max&&B.item.show){var P=bi.filter(I,function(G){return G.x==D.x&&G.y==D.y&&G.level==D.level});if(P.length!=0&&P[0].data&&P[0].data.length>0){D.data.geometryPrimitive=new vt.Primitive({geometryInstances:P[0].data,appearance:new vt.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:vt.ShadowMode.ENABLED}),D.state=vt.QuadtreeTileLoadState.LOADING,D.state===vt.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive&&(D.state=vt.QuadtreeTileLoadState.DONE),D.renderable=!0);return}if(B.PrimitiveData.length>0){for(var M=0;M<B.PrimitiveData.length;M++)if(B.PrimitiveData[M].key==R){B.Primitivekey.includes(R)||B.Primitivekey.push(R);return}}if(!B.Primitivekey.includes(R)){B.Primitivekey.push(R),I.push({level:D.level,x:D.x,y:D.y,data:void 0});for(var L=B._option.level_min+(B._option.level_max-B._option.level_min)/2,F=sut(D,L),M=0;M<F.length;M++){var k=F[M],N="z"+k.level+"x"+k.x+"y"+k.y;B.loadAllKey.includes(N)||(B.loadAllKey.push(N),function(J){var K=B._urlTemplate.replace(window.encodeURIComponent("{x}"),J.x).replace(window.encodeURIComponent("{y}"),J.y).replace(window.encodeURIComponent("{z}"),J.level);B.tilesLength++,B._cache&&(K+="&"+B._core.getuid());var X="z"+J.level+"x"+J.x+"y"+J.y;B._core.xhr({url:K,type:"get",dataType:"json",success:function(q){var ee=[],ie=[];B.Legend=[];function H(U){for(var W=0;W<U.length;W++)Array.isArray(U[W])?H(U[W]):Ae.push(U[W])}function le(){if(/^\[/.test(B._option.extrudedHeight)&&/\]$/.test(B._option.extrudedHeight)){var U=B._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");v.extrudedHeight=parseFloat(he.properties[U])}if(v.material=B._option.material,/^\[/.test(B._option.material)&&/\]$/.test(B._option.material)){var W=B._option.material.replace(/\[/,"").replace(/\]/,"");v.material=he.properties[W],B._core.isHtmlColor(v.material)?v.material=B._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=B._color.rgbaStringToRgbaObj(v.material)),v.material.red>1&&(v.material.red=v.material.red/255),v.material.green>1&&(v.material.green=v.material.green/255),v.material.blue>1&&(v.material.blue=v.material.blue/255),v.material.alpha>1&&(v.material.a=v.material.alpha/255),v.material=B._color.createColor(v.material.red,v.material.green,v.material.blue,v.material.alpha))}else B._option.material&&(v.material=B._option.material),v.material&&(B._core.isHtmlColor(v.material)?v.material=B._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=B._color.rgbaStringToRgbaObj(v.material)),v.material.red>1&&(v.material.red=v.material.red/255),v.material.green>1&&(v.material.green=v.material.green/255),v.material.blue>1&&(v.material.blue=v.material.blue/255),v.material.alpha>1&&(v.material.a=v.material.alpha/255),v.material=B._color.createColor(v.material.red,v.material.green,v.material.blue,v.material.alpha)));if(Ae.length>=2){var Y=vt.Cartesian3.fromDegreesArray(Ae);v.polygonHierarchy=new vt.PolygonHierarchy(Y);var z=new vt.PolygonGeometry(v),re=new vt.GeometryInstance({id:he,geometry:z,attributes:{color:new vt.ColorGeometryInstanceAttribute.fromColor(v.material)}}),se="material:"+v.material.red*255+","+v.material.green*255+","+v.material.blue*255;B.Legend.push(se),ee.push(re)}}for(var ue=0;ue<q.features.length;ue++){var Ae=[],he=q.features[ue];if(Array.isArray(he.geometry.coordinates)&&he.geometry.coordinates.length>0)if(Array.isArray(he.geometry.coordinates[0][0]))for(var ge=0;ge<he.geometry.coordinates.length;ge++)Ae=[],he.geometry.coordinates[ge].pop(),H(he.geometry.coordinates[ge]),le(Ae);else H(he.geometry.coordinates),le(Ae)}if(ee.length>0){var fe=new vt.Primitive({geometryInstances:ee,appearance:new vt.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:B._core.Shaders("vertexShaderSource"),fragmentShaderSource:B._core.Shaders("fragmentShaderSource")}),shadows:B._option.shadows}),ae={level:J.level,key:X,data:fe};B.probj.push(fe),B.loadFinishKey.push(X),B.PrimitiveData.push(ae),B._viewer.scene.primitives.add(fe),B.returnCount++}},error:function(){},complete:function(q,ee){}})}(k))}}}else{D.state=vt.QuadtreeTileLoadState.LOADING,D.state===vt.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive&&(D.state=vt.QuadtreeTileLoadState.DONE),D.renderable=!0);return}}},this._primitive=new vt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,T=Q.primitives;T.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var w={id:v.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item)};Ys.prototype.VolumeVectorGeoJsonFeatureLayerGis=function(o,A,f,m,C,E){var x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(x,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var I=[],v=[],B={id:A.id,polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},Q=this;this._urlTemplate=A.url+"/"+window.encodeURIComponent("{z}")+"/"+window.encodeURIComponent("{x}")+"/"+window.encodeURIComponent("{reverseY}")+".json",this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(D,R){if(this.tile=null,this.tile=R,R.state===this._cesium.QuadtreeTileLoadState.START&&Q.item.show){var P="z"+R.level+"x"+R.x+"y"+R.y;if(R.data={lines:[],geometryPrimitive:void 0},R.level>=f.level_min&&R.level<f.level_max&&Q.item.show){var M=bi.filter(I,function(F){return F.x==R.x&&F.y==R.y&&F.level==R.level});if(M.length!=0&&M[0].data&&M[0].data.length>0){R.data.geometryPrimitive=new vt.Primitive({geometryInstances:M[0].data,appearance:new vt.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:vt.ShadowMode.ENABLED}),R.state=vt.QuadtreeTileLoadState.LOADING,R.state===vt.QuadtreeTileLoadState.LOADING&&(R.data.geometryPrimitive&&(R.state=vt.QuadtreeTileLoadState.DONE),R.renderable=!0);return}if(Q.PrimitiveData.length>0){for(var L=0;L<Q.PrimitiveData.length;L++)if(Q.PrimitiveData[L].key==P){Q.Primitivekey.includes(P)||Q.Primitivekey.push(P);return}}Q.Primitivekey.includes(P)||(Q.Primitivekey.push(P),I.push({level:R.level,x:R.x,y:R.y,data:void 0}),function(F){var k=F.tilingScheme.getNumberOfYTilesAtLevel(F.level)-F.y-1,N=Q._urlTemplate.replace(window.encodeURIComponent("{x}"),F.x).replace(window.encodeURIComponent("{reverseY}"),k).replace(window.encodeURIComponent("{z}"),F.level);Q.tilesLength++;var G="z"+F.level+"x"+F.x+"y"+F.y;Q._cache&&(N+="&"+Q._core.getuid());var J=bi.filter(v,function(K){return K.url==N});J.length>0||(v.push({url:N}),Q._core.xhr({url:N,type:"get",dataType:"json",success:function(K){var X=[],q=[];Q.Legend=[];function ee(fe){for(var ae=0;ae<fe.length;ae++)Array.isArray(fe[ae])?ee(fe[ae]):le.push(fe[ae])}function ie(){if(B.extrudedHeight=parseFloat(Q._option.extrudedHeight),/^\[/.test(Q._option.extrudedHeight)&&/\]$/.test(Q._option.extrudedHeight)){var fe=Q._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");B.extrudedHeight=parseFloat(ue.properties[fe])*3}if(B.material=Q._option.material,/^\[/.test(Q._option.material)&&/\]$/.test(Q._option.material)){var ae=Q._option.material.replace(/\[/,"").replace(/\]/,"");B.material=ue.properties[ae],Q._core.isHtmlColor(B.material)?B.material=Q._color.colorFromHtmlColor(B.material):(/^rgb/.test(B.material)&&(B.material=Q._color.rgbaStringToRgbaObj(B.material)),B.material.red>1&&(B.material.red=B.material.red/255),B.material.green>1&&(B.material.green=B.material.green/255),B.material.blue>1&&(B.material.blue=B.material.blue/255),B.material.alpha>1&&(B.material.a=B.material.alpha/255),B.material=Q._color.createColor(B.material.red,B.material.green,B.material.blue,B.material.alpha))}else Q._option.material&&(B.material=Q._option.material),B.material&&(Q._core.isHtmlColor(B.material)?B.material=Q._color.colorFromHtmlColor(B.material):(/^rgb/.test(B.material)&&(B.material=Q._color.rgbaStringToRgbaObj(B.material)),B.material.red>1&&(B.material.red=B.material.red/255),B.material.green>1&&(B.material.green=B.material.green/255),B.material.blue>1&&(B.material.blue=B.material.blue/255),B.material.alpha>1&&(B.material.a=B.material.alpha/255),B.material=Q._color.createColor(B.material.red,B.material.green,B.material.blue,B.material.alpha)));var U=vt.Color.WHITE;if(le.length>=2){var W=vt.Cartesian3.fromDegreesArray(le);B.polygonHierarchy=new vt.PolygonHierarchy(W);var Y=new vt.PolygonGeometry(B),z=new vt.GeometryInstance({id:ue,geometry:Y,attributes:{color:new vt.ColorGeometryInstanceAttribute.fromColor(U)}}),re="material:"+B.material.red*255+","+B.material.green*255+","+B.material.blue*255;Q.Legend.push(re),X.push(z)}}for(var H=0;H<K.features.length;H++){var le=[],ue=K.features[H];if(Array.isArray(ue.geometry.coordinates)&&ue.geometry.coordinates.length>0)if(Array.isArray(ue.geometry.coordinates[0][0]))for(var Ae=0;Ae<ue.geometry.coordinates.length;Ae++)le=[],ue.geometry.coordinates[Ae].pop(),ee(ue.geometry.coordinates[Ae]),ie(le);else ee(ue.geometry.coordinates),ie(le)}var he=new vt.Primitive({geometryInstances:X,appearance:new vt.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:Q._core.Shaders("vertexShaderSource"),fragmentShaderSource:Q._core.Shaders("fragmentShaderSource")}),shadows:Q._option.shadows});Q.probj.push(he);var ge={level:F.level,key:G,data:he};Q.loadFinishKey.push(G),Q.PrimitiveData.push(ge),Q._viewer.scene.primitives.add(he),Q.returnCount++;try{Q.probj.length==2&&(Q._viewer.scene.primitives.remove(Q.probj[0]),Q.probj.pop())}catch{}},error:function(){var K=Q.Primitivekey.indexOf(G);K>-1&&Q.Primitivekey.splice(K,1),I=bi.remove(I,function(X){return X.x==F.x&&X.y==F.y&&X.level==F.level})},complete:function(K,X){K=null,F.state=vt.QuadtreeTileLoadState.LOADING,F.state===vt.QuadtreeTileLoadState.LOADING&&(F.data.geometryPrimitive&&(F.state=vt.QuadtreeTileLoadState.DONE),F.renderable=!0)}}))}(R))}else{R.state=vt.QuadtreeTileLoadState.LOADING,R.state===vt.QuadtreeTileLoadState.LOADING&&(R.data.geometryPrimitive&&(R.state=vt.QuadtreeTileLoadState.DONE),R.renderable=!0);return}}},this._primitive=new vt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var T=this._viewer.scene,w=T.primitives;w.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(B.id)&&(B.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+B.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var S={id:B.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(S),this._tree.insertGroupId(S,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ys.prototype.PointVectorGeoJsonFeatureLayerGis=function(o,A,f,m,C,E){var x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10};this._option=this._core.extend(x,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var y=[],I={id:A.id,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,arcType:this._cesium.ArcType.GEODESIC},v=this;this._urlTemplate=A.url+"/{z}/{x}/{reverseY}.json",this._Provider={},this._Provider1=new zae(this._viewer,this._cesium,{url:this._urlTemplate},function(Q){if(v.Level=v.getLevel(),v.Level<v._option.level_min){if(v.primitve.length>0){for(var T=0;T<v.primitve.length;T++)v._viewer.scene.primitives.remove(v.primitve[T]);v.primitve=[]}if(v.probj.length>0){for(var T=0;T<v.probj.length;T++)v._viewer.scene.primitives.remove(v.probj[T]);v.probj=[]}y=[];return}var w=new vt.PrimitiveCollection,S=new vt.PointPrimitiveCollection,D=new vt.LabelCollection,R=new vt.BillboardCollection,P="z"+Q.templateValues.z+"x"+Q.templateValues.x+"y"+Q.templateValues.reverseY;Q.data={lines:[],geometryPrimitive:void 0};var M=Q.url.replace("png","json"),L=bi.filter(y,function(F){return F.url==M});L.length>0||v.start!=1&&(y.push({url:M}),v._core.xhr({url:M,type:"get",dataType:"json",success:function(F){if(F.features.length==0)return;v.Legend=[];function k(q){for(var ee=0;ee<q.length;ee++)Array.isArray(q[ee])?k(q[ee]):J.push(q[ee])}function N(){if(f.lable!=null){var q=0;if(f.lable.height!=null&&/^\[/.test(f.lable.height)&&/\]$/.test(f.lable.height)){var ee=f.lable.height.replace(/\[/,"").replace(/\]/,"");q=parseFloat(K.properties[ee])}var ie=v._core.StyleContrast("lable",f.lable,vt);ie.fillColor=v._color.VectorColorTransformation(ie.fillColor,K),ie.outlineColor=v._color.VectorColorTransformation(ie.outlineColor,K),ie.backgroundColor=v._color.VectorColorTransformation(ie.backgroundColor,K),ie.text=v._core.Analysis(ie.text,K),ie.position=new vt.Cartesian3.fromDegrees(J[0],J[1],q),D.add(ie)}if(f.billboard!=null){var q=0,H=f.billboard;if(H.height!=null&&/^\[/.test(H.height)&&/\]$/.test(H.height)){var ee=H.height.replace(/\[/,"").replace(/\]/,"");q=parseFloat(K.properties[ee])}var le=v._core.StyleContrast("billboard",H,vt);le.position=new vt.Cartesian3.fromDegrees(J[0],J[1],q),R.add(le)}if(f.point!=null){var q=0,H=f.point;if(H.height!=null&&/^\[/.test(H.height)&&/\]$/.test(H.height)){var ee=H.height.replace(/\[/,"").replace(/\]/,"");q=parseFloat(K.properties[ee])}var le=v._core.StyleContrast("point",H,vt);le.position=new vt.Cartesian3.fromDegrees(J[0],J[1],q),le.color=v._color.VectorColorTransformation(le.color,K),le.outlineColor=v._color.VectorColorTransformation(le.outlineColor,K),S.add(le)}}for(var G=0;G<F.features.length;G++){var J=[],K=F.features[G];if(Array.isArray(K.geometry.coordinates)&&K.geometry.coordinates.length>0)if(Array.isArray(K.geometry.coordinates[0][0]))for(var X=0;X<K.geometry.coordinates.length;X++)J=[],K.geometry.coordinates[X].pop(),k(K.geometry.coordinates[X]),N(J);else k(K.geometry.coordinates),N(J)}D.length>0&&w.add(D),R.length>0&&w.add(R),S.length>0&&w.add(S),v.primitve.push(w),v.probj.push(w),v._viewer.scene.primitives.add(w),v.returnCount++;try{v.probj.length==2&&(v._viewer.scene.primitives.remove(v.probj[0]),v.probj.pop())}catch{}}}))}),this.img=this._Provider1.ent,C||this.setVisibility(!1),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var B={id:I.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ys.prototype.PolylineVectorGeoJsonFeatureLayerGis=function(o,A,f,m,C,E){var x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10};this._option=this._core.extend(x,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var y=[],I={id:A.id,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,arcType:this._cesium.ArcType.GEODESIC},v=this;this._urlTemplate=A.url+"/{z}/{x}/{reverseY}.json",this._Provider={},this._Provider1=new zae(this._viewer,this._cesium,{url:this._urlTemplate},function(Q){if(v.Level=v.getLevel(),v.Level<v._option.level_min){if(v.primitve.length>0){for(var T=0;T<v.primitve.length;T++)v._viewer.scene.primitives.remove(v.primitve[T]);v.primitve=[]}if(v.probj.length>0){for(var T=0;T<v.probj.length;T++)v._viewer.scene.primitives.remove(v.probj[T]);v.probj=[]}y=[];return}var w=-1,S="z"+Q.templateValues.z+"x"+Q.templateValues.x+"y"+Q.templateValues.reverseY;Q.data={lines:[],geometryPrimitive:void 0};var D=Q.url.replace("png","json"),R=bi.filter(y,function(P){return P.url==D});R.length>0||v.start!=1&&(y.push({url:D}),v._core.xhr({url:D,type:"get",dataType:"json",success:function(P){if(P.features.length==0)return;var M=[];v.Legend=[];function L(X){for(var q=0;q<X.length;q++)Array.isArray(X[q])?L(X[q]):N.push(X[q])}function F(){var X=0,q=f;if(q.height!=null&&/^\[/.test(q.height)&&/\]$/.test(q.height)){var ee=q.height.replace(/\[/,"").replace(/\]/,"");X=parseFloat(G.properties[ee])}var ie=v._core.StyleContrast("polyline",q,vt);if(w=ie.classificationType,delete ie.classificationType,ie.material=v._option.material,/^\[/.test(v._option.material)&&/\]$/.test(v._option.material)){var H=v._option.material.replace(/\[/,"").replace(/\]/,"");ie.material=G.properties[H],v._core.isHtmlColor(ie.material)?ie.material=v._color.colorFromHtmlColor(ie.material):(/^rgb/.test(ie.material)&&(ie.material=v._color.rgbaStringToRgbaObj(ie.material)),ie.material.red>1&&(ie.material.red=ie.material.red/255),ie.material.green>1&&(ie.material.green=ie.material.green/255),ie.material.blue>1&&(ie.material.blue=ie.material.blue/255),ie.material.alpha>1&&(ie.material.a=ie.material.alpha/255),ie.material=v._color.createColor(ie.material.red,ie.material.green,ie.material.blue,ie.material.alpha))}else v._option.material&&(ie.material=v._option.material),ie.material&&(v._core.isHtmlColor(ie.material)?ie.material=v._color.colorFromHtmlColor(ie.material):(/^rgb/.test(ie.material)&&(ie.material=v._color.rgbaStringToRgbaObj(ie.material)),ie.material.red>1&&(ie.material.red=ie.material.red/255),ie.material.green>1&&(ie.material.green=ie.material.green/255),ie.material.blue>1&&(ie.material.blue=ie.material.blue/255),ie.material.alpha>1&&(ie.material.a=ie.material.alpha/255),ie.material=v._color.createColor(ie.material.red,ie.material.green,ie.material.blue,ie.material.alpha)));if(N.length>=2){ie.positions=vt.Cartesian3.fromDegreesArray(N);var le=new vt.GeometryInstance({id:G,geometry:new vt.PolylineGeometry(ie),attributes:{color:new vt.ColorGeometryInstanceAttribute.fromColor(ie.material)}}),ue="material:"+ie.material.red*255+","+ie.material.green*255+","+ie.material.blue*255;v.Legend.push(ue),M.push(le)}}for(var k=0;k<P.features.length;k++){var N=[],G=P.features[k];if(Array.isArray(G.geometry.coordinates)&&G.geometry.coordinates.length>0)if(Array.isArray(G.geometry.coordinates[0][0]))for(var J=0;J<G.geometry.coordinates.length;J++)N=[],G.geometry.coordinates[J].pop(),L(G.geometry.coordinates[J]),F(N);else L(G.geometry.coordinates),F(N)}var K=new vt.Primitive({geometryInstances:M,appearance:new vt.PolylineColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:v._option.shadows,classificationType:w});v.probj.push(K),v.primitve.push(K),v._viewer.scene.primitives.add(K),v.returnCount++;try{v.probj.length==2&&(v._viewer.scene.primitives.remove(v.probj[0]),v.probj.pop())}catch{}}}))}),this.img=this._Provider1.ent,C||this.setVisibility(!1),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var B={id:I.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ys.prototype.VolumeVectorGeoJsonFeatureLayerGisOptimization=function(o,A,f,m,C,E){var x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(x,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var I=[],v=[],B={id:A.id,polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},Q=this;this._urlTemplate=A.url+"/{z}/{x}/{reverseY}.json",this._Provider={},this._Provider1=new zae(this._viewer,this._cesium,{url:this._urlTemplate},function(w){if(Q.Level=Q.getLevel(),Q.Level<Q._option.level_min){if(Q.primitve.length>0){for(var S=0;S<Q.primitve.length;S++)Q._viewer.scene.primitives.remove(Q.primitve[S]);Q.primitve=[]}if(Q.probj.length>0){for(var S=0;S<Q.probj.length;S++)Q._viewer.scene.primitives.remove(Q.probj[S]);Q.probj=[]}I=[];return}var D="z"+w.templateValues.z+"x"+w.templateValues.x+"y"+w.templateValues.reverseY;w.data={lines:[],geometryPrimitive:void 0};var R=w.url.replace("png","json"),P=bi.filter(I,function(M){return M.url==R});P.length>0||Q.start!=1&&(I.push({url:R}),Q._core.xhr({url:R,type:"get",dataType:"json",success:function(M){if(M.features.length==0)return;var L=[],F=[];Q.Legend=[];function k(ee){for(var ie=0;ie<ee.length;ie++)Array.isArray(ee[ie])?k(ee[ie]):J.push(ee[ie])}function N(){if(B.extrudedHeight=Q._option.extrudedHeight,/^\[/.test(Q._option.extrudedHeight)&&/\]$/.test(Q._option.extrudedHeight)){var ee=Q._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");B.extrudedHeight=parseFloat(K.properties[ee])*3}if(B.material=Q._option.material,/^\[/.test(Q._option.material)&&/\]$/.test(Q._option.material)){var ie=Q._option.material.replace(/\[/,"").replace(/\]/,"");B.material=K.properties[ie],Q._core.isHtmlColor(B.material)?B.material=Q._color.colorFromHtmlColor(B.material):(/^rgb/.test(B.material)&&(B.material=Q._color.rgbaStringToRgbaObj(B.material)),B.material.red>1&&(B.material.red=B.material.red/255),B.material.green>1&&(B.material.green=B.material.green/255),B.material.blue>1&&(B.material.blue=B.material.blue/255),B.material.alpha>1&&(B.material.a=B.material.alpha/255),B.material=Q._color.createColor(B.material.red,B.material.green,B.material.blue,B.material.alpha))}else Q._option.material&&(B.material=Q._option.material),B.material&&(Q._core.isHtmlColor(B.material)?B.material=Q._color.colorFromHtmlColor(B.material):(/^rgb/.test(B.material)&&(B.material=Q._color.rgbaStringToRgbaObj(B.material)),B.material.red>1&&(B.material.red=B.material.red/255),B.material.green>1&&(B.material.green=B.material.green/255),B.material.blue>1&&(B.material.blue=B.material.blue/255),B.material.alpha>1&&(B.material.a=B.material.alpha/255),B.material=Q._color.createColor(B.material.red,B.material.green,B.material.blue,B.material.alpha)));if(J.length>=2){var H=vt.Cartesian3.fromDegreesArray(J);B.polygonHierarchy=new vt.PolygonHierarchy(H);var le=new vt.PolygonGeometry(B),ue=new vt.GeometryInstance({id:K,geometry:le,attributes:{color:new vt.ColorGeometryInstanceAttribute.fromColor(B.material)}}),Ae="material:"+B.material.red*255+","+B.material.green*255+","+B.material.blue*255;L.push(ue)}}for(var G=0;G<M.features.length;G++){var J=[],K=M.features[G];if(Array.isArray(K.geometry.coordinates)&&K.geometry.coordinates.length>0)if(Array.isArray(K.geometry.coordinates[0][0]))for(var X=0;X<K.geometry.coordinates.length;X++)J=[],K.geometry.coordinates[X].pop(),k(K.geometry.coordinates[X]),N(J);else k(K.geometry.coordinates),N(J)}var q=new vt.Primitive({geometryInstances:L,appearance:new vt.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:Q._core.Shaders("vertexShaderSource"),fragmentShaderSource:Q._core.Shaders("fragmentShaderSource")}),shadows:Q._option.shadows});Q.primitve.push(q),Q.probj.push(q),Q._viewer.scene.primitives.add(q),Q.returnCount++;try{Q.probj.length==2&&(Q._viewer.scene.primitives.remove(Q.probj[0]),Q.probj.pop())}catch{}}}))}),this.img=this._Provider1.ent,C||this.setVisibility(!1),this._core.isnull(B.id)&&(B.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+B.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var T={id:B.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(T),this._tree.insertGroupId(T,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ys.prototype.VolumeVectorGeoJsonFeatureLayerClassOptimization=function(o,A,f,m,C,E){var x={polygonHierarchy:void 0,height:0,extrudedHeight:999999,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.WHITE,shadows:this._cesium.ShadowMode.ENABLED,show:!0},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var I=this._core.extend(x,f,!0);A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var v=[],B=this;this._urlTemplate=A.url+"?"+this._serialize(y.urlParams),this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(S,D){if(this.tile=null,this.tile=D,D.state===this._cesium.QuadtreeTileLoadState.START&&B.item.show){var R="z"+D.level+"x"+D.x+"y"+D.y;if(D.data={lines:[],geometryPrimitive:void 0},D.level>=f.level_min&&D.level<f.level_max&&B.item.show){var P=bi.filter(v,function(L){return L.x==D.x&&L.y==D.y&&L.level==D.level});if(P.length!=0&&P[0].data&&P[0].data.length>0){D.data.geometryPrimitive=new vt.Primitive({geometryInstances:P[0].data,appearance:new vt.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:vt.ShadowMode.ENABLED}),D.state=vt.QuadtreeTileLoadState.LOADING,D.state===vt.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive&&(D.state=vt.QuadtreeTileLoadState.DONE),D.renderable=!0);return}if(B.PrimitiveData.length>0){for(var M=0;M<B.PrimitiveData.length;M++)if(B.PrimitiveData[M].key==R){B.Primitivekey.push(R);return}}B.Primitivekey.includes(R)||(B.Primitivekey.push(R),v.push({level:D.level,x:D.x,y:D.y,data:void 0}),function(L){var F=B._urlTemplate.replace(window.encodeURIComponent("{x}"),L.x).replace(window.encodeURIComponent("{y}"),L.y).replace(window.encodeURIComponent("{z}"),L.level);B.tilesLength++,B._cache&&(F+="&"+B._core.getuid()),B._core.xhr({url:F,type:"get",dataType:"json",success:function(k){var N=[],G=[];B.Legend=[];function J(Ae){for(var he=0;he<Ae.length;he++)Array.isArray(Ae[he])?J(Ae[he]):(q.push(Ae[he]),he===2&&!ee&&(ee=!0))}function K(){var Ae=ee?vt.Cartesian3.fromDegreesArrayHeights(q):vt.Cartesian3.fromDegreesArray(q);if(/^\[/.test(f.extrudedHeight)&&/\]$/.test(f.extrudedHeight)){var he=f.extrudedHeight.replace(/\[/,"").replace(/\]/,"");I.extrudedHeight=parseFloat(ie.properties[he])}if(I.extrudedHeight=parseFloat(I.extrudedHeight),I.heightReference==1&&delete I.height,I.extrudedHeightReference==1&&delete I.extrudedHeight,/^\[/.test(f.material)&&/\]$/.test(f.material)){var ge=f.material.replace(/\[/,"").replace(/\]/,"");I.material=ie.properties[ge],B._core.isHtmlColor(I.material)?I.material=B._color.colorFromHtmlColor(I.material):(/^rgb/.test(I.material)&&(I.material=B._color.rgbaStringToRgbaObj(I.material)),I.material.r>1&&(I.material.r=I.material.r/255),I.material.g>1&&(I.material.g=I.material.g/255),I.material.b>1&&(I.material.b=I.material.b/255),I.material.a>1&&(I.material.a=I.material.a/255),I.material=B._color.createColor(I.material.r,I.material.g,I.material.b,I.material.a))}I.polygonHierarchy=new vt.PolygonHierarchy(Ae);var fe=new vt.PolygonGeometry(I);ie.treeID=I.id,ie.VectorType="polygon",ie.VectorStyle={haveZ:ee,extrudedHeight:I.extrudedHeight,positions:q,material:I.material};var ae=new vt.GeometryInstance({id:ie,geometry:fe,attributes:{color:new vt.ColorGeometryInstanceAttribute.fromColor(I.material)}}),U="material:"+I.material.red*255+","+I.material.green*255+","+I.material.blue*255;B.Legend.push(U),N.push(ae)}for(var X=0;X<k.features.length;X++){var q=[],ee=!1,ie=k.features[X];if(Array.isArray(ie.geometry.coordinates)&&ie.geometry.coordinates.length>0)if(Array.isArray(ie.geometry.coordinates[0][0]))for(var H=0;H<ie.geometry.coordinates.length;H++)q=[],ie.geometry.coordinates[H].pop(),J(ie.geometry.coordinates[H]),K(q);else J(ie.geometry.coordinates),K(q)}var le=new vt.ClassificationPrimitive({geometryInstances:N,appearance:new vt.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:B._core.Shaders("vertexShaderSource"),fragmentShaderSource:B._core.Shaders("fragmentShaderSource")}),classificationType:I.classificationType,shadows:vt.ShadowMode.ENABLED});B.PrimitiveObj.data=le,B.PrimitiveObj.key=B.Primitivekey[B.returnCount];var ue={level:L.level,key:B.Primitivekey[B.returnCount],data:le};B.loadFinishKey.push(B.Primitivekey[B.returnCount]),B.PrimitiveData.push(ue),B._viewer.scene.primitives.add(le),B.returnCount++,B.returnCount>=B.tilesLength&&(B.returnCount=0,B.tilesLength=0,B.Primitivekey=[])},error:function(){v=bi.remove(v,function(k){return k.x==L.x&&k.y==L.y&&k.level==L.level})},complete:function(k,N){k=null,L.state=vt.QuadtreeTileLoadState.LOADING,L.state===vt.QuadtreeTileLoadState.LOADING&&(L.data.geometryPrimitive&&(L.state=vt.QuadtreeTileLoadState.DONE),L.renderable=!0)}})}(D))}else{D.state=vt.QuadtreeTileLoadState.LOADING,D.state===vt.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive&&(D.state=vt.QuadtreeTileLoadState.DONE),D.renderable=!0);return}}},this._primitive=new vt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,T=Q.primitives;f&&f.time&&(this._Provider._availability=new vt.TimeIntervalCollection([new vt.TimeInterval({start:f.time.start?vt.JulianDate.fromDate(new Date(f.time.start)):vt.Iso8601.MINIMUM_VALUE,stop:f.time.end?vt.JulianDate.fromDate(new Date(f.time.end)):vt.Iso8601.MAXIMUM_VALUE})]),this._Provider.isAvailable=function(S){if(!vt.defined(S))throw new vt.DeveloperError("time is required.");var D=this._availability;return!vt.defined(D)||D.contains(S)}),T.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var w={id:I.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this._Provider.treeID=I.id,this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ys.prototype.createVolumeVectorGeoJsonFeatureLayerDthOptimization2=function(o,A,f,m,C,E){var x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(x,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var I={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},v=this;this._urlTemplate=A.url+"?"+this._serialize(y.urlParams);var B=A.url+"?"+this._serialize(y.urlParams);this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(S,D){(function(R,P,M){if(P.state===vt.QuadtreeTileLoadState.START){if(P.data={lines:[],geometryPrimitive:void 0},P.level>=f.level_min&&P.level<f.level_max&&M.item.show){var L=B.replace(window.encodeURIComponent("{x}"),P.x).replace(window.encodeURIComponent("{y}"),P.y).replace(window.encodeURIComponent("{z}"),P.level);M._cache&&(L+="&"+M._core.getuid()),M._core.xhr({url:L,type:"get",dataType:"json",success:function(F){if(F==null){P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0;return}var k=new vt.PrimitiveCollection;M.Legend=[];function N(ie){for(var H=0;H<ie.length;H++)Array.isArray(ie[H])?N(ie[H]):K.push(ie[H])}function G(){if(M._option.extrudedHeight&&(I.extrudedHeight=M._option.extrudedHeight),/^\[/.test(M._option.extrudedHeight)&&/\]$/.test(M._option.extrudedHeight)){var ie=M._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");I.extrudedHeight=parseFloat(X.properties[ie])}if(I.material=M._option.material,/^\[/.test(M._option.material)&&/\]$/.test(M._option.material)){var H=M._option.material.replace(/\[/,"").replace(/\]/,"");I.material=X.properties[H],M._core.isHtmlColor(I.material)?I.material=M._color.colorFromHtmlColor(I.material):(/^rgb/.test(I.material)&&(I.material=M._color.rgbaStringToRgbaObj(I.material)),I.material.red>1&&(I.material.red=I.material.red/255),I.material.green>1&&(I.material.green=I.material.green/255),I.material.blue>1&&(I.material.blue=I.material.blue/255),I.material.alpha>1&&(I.material.a=I.material.alpha/255),I.material=M._color.createColor(I.material.red,I.material.green,I.material.blue,I.material.alpha))}else M._option.material&&(I.material=M._option.material),I.material&&(M._core.isHtmlColor(I.material)?I.material=M._color.colorFromHtmlColor(I.material):(/^rgb/.test(I.material)&&(I.material=M._color.rgbaStringToRgbaObj(I.material)),I.material.red>1&&(I.material.red=I.material.red/255),I.material.green>1&&(I.material.green=I.material.green/255),I.material.blue>1&&(I.material.blue=I.material.blue/255),I.material.alpha>1&&(I.material.a=I.material.alpha/255),I.material=M._color.createColor(I.material.red,I.material.green,I.material.blue,I.material.alpha)));if(K.length>=2){var le=vt.Cartesian3.fromDegreesArray(K);I.polygonHierarchy=new vt.PolygonHierarchy(le);var ue=new vt.PolygonGeometry(I),Ae=new vt.GeometryInstance({id:X,geometry:ue,attributes:{color:new vt.ColorGeometryInstanceAttribute.fromColor(I.material)}}),he=new vt.ClassificationPrimitive({geometryInstances:Ae,appearance:new vt.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:M._core.Shaders("vertexShaderSource"),fragmentShaderSource:M._core.Shaders("fragmentShaderSource")}),classificationType:M._option.classificationType}),ge="material:"+I.material.red*255+","+I.material.green*255+","+I.material.blue*255;M.Legend.push(ge),k.add(he)}}for(var J=0;J<F.features.length;J++){var K=[],X=F.features[J];if(Array.isArray(X.geometry.coordinates)&&X.geometry.coordinates.length>0)if(Array.isArray(X.geometry.coordinates[0][0]))for(var q=0;q<X.geometry.coordinates.length;q++)K=[],X.geometry.coordinates[q].pop(),N(X.geometry.coordinates[q]),G(K);else N(X.geometry.coordinates),G(K)}var ee=k;P.data.geometryPrimitive=ee,P.state=vt.QuadtreeTileLoadState.LOADING,P.state===vt.QuadtreeTileLoadState.LOADING&&(P.data.geometryPrimitive.update(R,[]),P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0)},error:function(){P.count==null&&(P.count=0),P.count+=1,P.count>=2?(P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0):P.state=vt.QuadtreeTileLoadState.START}})}else{P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0;return}P.state=vt.QuadtreeTileLoadState.LOADING}})(S,D,v)},this._primitive=new vt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,T=Q.primitives;T.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var w={id:I.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ys.prototype.createVolumeVectorGeoJsonFeatureLayerDthOptimization3=function(o,A,f,m,C,E){var x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(x,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var I={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},v=this;this._urlTemplate=A.url+"?"+this._serialize(y.urlParams);var B=A.url+"?"+this._serialize(y.urlParams);this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(S,D){(function(R,P,M){if(P.state===vt.QuadtreeTileLoadState.START){if(P.data={lines:[],geometryPrimitive:void 0},P.level>=f.level_min&&P.level<f.level_max&&M.item.show){var L=B.replace(window.encodeURIComponent("{x}"),P.x).replace(window.encodeURIComponent("{y}"),P.y).replace(window.encodeURIComponent("{z}"),P.level);M._cache&&(L+="&"+M._core.getuid()),M._core.xhr({url:L,type:"get",dataType:"json",success:function(F){if(F==null){P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0;return}var k=new vt.PrimitiveCollection;M.Legend=[];var N=[];function G(H){for(var le=0;le<H.length;le++)Array.isArray(H[le])?G(H[le]):X.push(H[le])}function J(){if(M._option.extrudedHeight&&(I.extrudedHeight=M._option.extrudedHeight),/^\[/.test(M._option.extrudedHeight)&&/\]$/.test(M._option.extrudedHeight)){var H=M._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");I.extrudedHeight=parseFloat(q.properties[H])}if(I.material=M._option.material,/^\[/.test(M._option.material)&&/\]$/.test(M._option.material)){var le=M._option.material.replace(/\[/,"").replace(/\]/,"");I.material=q.properties[le],M._core.isHtmlColor(I.material)?I.material=M._color.colorFromHtmlColor(I.material):(/^rgb/.test(I.material)&&(I.material=M._color.rgbaStringToRgbaObj(I.material)),I.material.red>1&&(I.material.red=I.material.red/255),I.material.green>1&&(I.material.green=I.material.green/255),I.material.blue>1&&(I.material.blue=I.material.blue/255),I.material.alpha>1&&(I.material.a=I.material.alpha/255),I.material=M._color.createColor(I.material.red,I.material.green,I.material.blue,I.material.alpha))}else M._option.material&&(I.material=M._option.material),I.material&&(M._core.isHtmlColor(I.material)?I.material=M._color.colorFromHtmlColor(I.material):(/^rgb/.test(I.material)&&(I.material=M._color.rgbaStringToRgbaObj(I.material)),I.material.red>1&&(I.material.red=I.material.red/255),I.material.green>1&&(I.material.green=I.material.green/255),I.material.blue>1&&(I.material.blue=I.material.blue/255),I.material.alpha>1&&(I.material.a=I.material.alpha/255),I.material=M._color.createColor(I.material.red,I.material.green,I.material.blue,I.material.alpha)));if(X.length>=2){var ue=vt.Cartesian3.fromDegreesArray(X);I.polygonHierarchy=new vt.PolygonHierarchy(ue);var Ae=new vt.PolygonGeometry(I),he=new vt.GeometryInstance({id:q,geometry:Ae,attributes:{color:new vt.ColorGeometryInstanceAttribute.fromColor(I.material)}});N.push(he)}}for(var K=0;K<F.features.length;K++){var X=[],q=F.features[K];if(Array.isArray(q.geometry.coordinates)&&q.geometry.coordinates.length>0)if(Array.isArray(q.geometry.coordinates[0][0]))for(var ee=0;ee<q.geometry.coordinates.length;ee++)X=[],q.geometry.coordinates[ee].pop(),G(q.geometry.coordinates[ee]),J(X);else G(q.geometry.coordinates),J(X)}var ie=new vt.ClassificationPrimitive1({geometryInstances:N,appearance:new vt.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:M._core.Shaders("vertexShaderSource"),fragmentShaderSource:M._core.Shaders("fragmentShaderSource")}),classificationType:M._option.classificationType});P.data.geometryPrimitive=ie,P.state=vt.QuadtreeTileLoadState.LOADING,P.state===vt.QuadtreeTileLoadState.LOADING&&(P.data.geometryPrimitive.update(R,[]),P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0)},error:function(){P.count==null&&(P.count=0),P.count+=1,P.count>=2?(P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0):P.state=vt.QuadtreeTileLoadState.START}})}else{P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0;return}P.state=vt.QuadtreeTileLoadState.LOADING}})(S,D,v)},this._primitive=new vt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,T=Q.primitives;T.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var w={id:I.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ys.prototype.createVolumeVectorGeoJsonFeatureLayerDthOptimization=function(o,A,f,m,C,E){var x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(x,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var I=[],v={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},B=this;this._urlTemplate=A.url+"?"+this._serialize(y.urlParams),this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(S,D){if(this.tile=null,this.tile=D,D.state===this._cesium.QuadtreeTileLoadState.START&&B.item.show){var R="z"+D.level+"x"+D.x+"y"+D.y;if(D.data={lines:[],geometryPrimitive:void 0},D.level>=f.level_min&&D.level<f.level_max&&B.item.show){var P=bi.filter(I,function(L){return L.x==D.x&&L.y==D.y&&L.level==D.level});if(P.length!=0&&P[0].data&&P[0].data.length>0){D.data.geometryPrimitive=new vt.Primitive({geometryInstances:P[0].data,appearance:new vt.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:vt.ShadowMode.ENABLED}),D.state=vt.QuadtreeTileLoadState.LOADING,D.state===vt.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive&&(D.state=vt.QuadtreeTileLoadState.DONE),D.renderable=!0);return}if(B.PrimitiveData.length>0){for(var M=0;M<B.PrimitiveData.length;M++)if(B.PrimitiveData[M].key==R){B.Primitivekey.includes(R)||B.Primitivekey.push(R);return}}B.Primitivekey.includes(R)||(B.Primitivekey.push(R),I.push({level:D.level,x:D.x,y:D.y,data:void 0}),function(L){var F=B._urlTemplate.replace(window.encodeURIComponent("{x}"),L.x).replace(window.encodeURIComponent("{y}"),L.y).replace(window.encodeURIComponent("{z}"),L.level);B.tilesLength++;var k="z"+L.level+"x"+L.x+"y"+L.y;B._cache&&(F+="&"+B._core.getuid()),B._core.xhr({url:F,type:"get",dataType:"json",success:function(N){var G=[],J=[],K=new vt.PrimitiveCollection;B.Legend=[];function X(he){for(var ge=0;ge<he.length;ge++)Array.isArray(he[ge])?X(he[ge]):ie.push(he[ge])}function q(){if(B._option.extrudedHeight&&(v.extrudedHeight=B._option.extrudedHeight),/^\[/.test(B._option.extrudedHeight)&&/\]$/.test(B._option.extrudedHeight)){var he=B._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");v.extrudedHeight=parseFloat(H.properties[he])}if(v.material=B._option.material,/^\[/.test(B._option.material)&&/\]$/.test(B._option.material)){var ge=B._option.material.replace(/\[/,"").replace(/\]/,"");v.material=H.properties[ge],B._core.isHtmlColor(v.material)?v.material=B._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=B._color.rgbaStringToRgbaObj(v.material)),v.material.red>1&&(v.material.red=v.material.red/255),v.material.green>1&&(v.material.green=v.material.green/255),v.material.blue>1&&(v.material.blue=v.material.blue/255),v.material.alpha>1&&(v.material.a=v.material.alpha/255),v.material=B._color.createColor(v.material.red,v.material.green,v.material.blue,v.material.alpha))}else B._option.material&&(v.material=B._option.material),v.material&&(B._core.isHtmlColor(v.material)?v.material=B._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=B._color.rgbaStringToRgbaObj(v.material)),v.material.red>1&&(v.material.red=v.material.red/255),v.material.green>1&&(v.material.green=v.material.green/255),v.material.blue>1&&(v.material.blue=v.material.blue/255),v.material.alpha>1&&(v.material.a=v.material.alpha/255),v.material=B._color.createColor(v.material.red,v.material.green,v.material.blue,v.material.alpha)));if(ie.length>=2){var fe=vt.Cartesian3.fromDegreesArray(ie);v.polygonHierarchy=new vt.PolygonHierarchy(fe);var ae=new vt.PolygonGeometry(v),U=new vt.GeometryInstance({id:H,geometry:ae,attributes:{color:new vt.ColorGeometryInstanceAttribute.fromColor(v.material)}}),W=new vt.ClassificationPrimitive({geometryInstances:U,appearance:new vt.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:B._core.Shaders("vertexShaderSource"),fragmentShaderSource:B._core.Shaders("fragmentShaderSource")}),classificationType:B._option.classificationType}),Y="material:"+v.material.red*255+","+v.material.green*255+","+v.material.blue*255;B.Legend.push(Y),K.add(W)}}for(var ee=0;ee<N.features.length;ee++){var ie=[],H=N.features[ee];if(Array.isArray(H.geometry.coordinates)&&H.geometry.coordinates.length>0)if(Array.isArray(H.geometry.coordinates[0][0]))for(var le=0;le<H.geometry.coordinates.length;le++)ie=[],H.geometry.coordinates[le].pop(),X(H.geometry.coordinates[le]),q(ie);else X(H.geometry.coordinates),q(ie)}var ue=K;B.probj.push(ue);var Ae={level:L.level,key:k,data:ue};B.loadFinishKey.push(k),B.PrimitiveData.push(Ae),B._viewer.scene.primitives.add(ue),B.returnCount++,B.removeObsoletePrimitives(L)},error:function(){var N=B.Primitivekey.indexOf(k);N>-1&&B.Primitivekey.splice(N,1),I=bi.remove(I,function(G){return G.x==L.x&&G.y==L.y&&G.level==L.level})},complete:function(N,G){N=null,L.state=vt.QuadtreeTileLoadState.LOADING,L.state===vt.QuadtreeTileLoadState.LOADING&&(L.data.geometryPrimitive&&(L.state=vt.QuadtreeTileLoadState.DONE),L.renderable=!0)}})}(D))}else{D.state=vt.QuadtreeTileLoadState.LOADING,D.state===vt.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive&&(D.state=vt.QuadtreeTileLoadState.DONE),D.renderable=!0);return}}},this._primitive=new vt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,T=Q.primitives;T.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var w={id:v.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ys.prototype.createVolumeVectorGeoJsonFeatureLayerJCDthOptimization1=function(o,A,f,m,C,E){var x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(x,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var I=[],v={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},B=this;this._urlTemplate=A.url+"?"+this._serialize(y.urlParams),this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(S,D){if(this.tile=null,this.tile=D,D.state===this._cesium.QuadtreeTileLoadState.START&&B.item.show){var R="z"+D.level+"x"+D.x+"y"+D.y;if(D.data={lines:[],geometryPrimitive:void 0},D.level>=f.level_min&&D.level<f.level_max&&B.item.show){var P=bi.filter(I,function(G){return G.x==D.x&&G.y==D.y&&G.level==D.level});if(P.length!=0&&P[0].data&&P[0].data.length>0){D.data.geometryPrimitive=new vt.Primitive({geometryInstances:P[0].data,appearance:new vt.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:vt.ShadowMode.ENABLED}),D.state=vt.QuadtreeTileLoadState.LOADING,D.state===vt.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive&&(D.state=vt.QuadtreeTileLoadState.DONE),D.renderable=!0);return}if(B.PrimitiveData.length>0){for(var M=0;M<B.PrimitiveData.length;M++)if(B.PrimitiveData[M].key==R){B.Primitivekey.includes(R)||B.Primitivekey.push(R);return}}if(!B.Primitivekey.includes(R)){B.Primitivekey.push(R),I.push({level:D.level,x:D.x,y:D.y,data:void 0});for(var L=B._option.level_min+Math.floor((B._option.level_max-B._option.level_min)/2),F=sut(D,L),M=0;M<F.length;M++){var k=F[M],N="z"+k.level+"x"+k.x+"y"+k.y;B.loadAllKey.includes(N)||(B.loadAllKey.push(N),function(J){var K=B._urlTemplate.replace(window.encodeURIComponent("{x}"),J.x).replace(window.encodeURIComponent("{y}"),J.y).replace(window.encodeURIComponent("{z}"),J.level);B.tilesLength++;var X="z"+J.level+"x"+J.x+"y"+J.y;B._cache&&(K+="&"+B._core.getuid()),B._core.xhr({url:K,type:"get",dataType:"json",success:function(q){var ee=[],ie=[];B.Legend=[];function H(U){for(var W=0;W<U.length;W++)Array.isArray(U[W])?H(U[W]):Ae.push(U[W])}function le(){if(B._option.extrudedHeight&&(v.extrudedHeight=B._option.extrudedHeight),/^\[/.test(B._option.extrudedHeight)&&/\]$/.test(B._option.extrudedHeight)){var U=B._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");v.extrudedHeight=parseFloat(he.properties[U])}if(v.material=B._option.material,/^\[/.test(B._option.material)&&/\]$/.test(B._option.material)){var W=B._option.material.replace(/\[/,"").replace(/\]/,"");v.material=he.properties[W],B._core.isHtmlColor(v.material)?v.material=B._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=B._color.rgbaStringToRgbaObj(v.material)),v.material.red>1&&(v.material.red=v.material.red/255),v.material.green>1&&(v.material.green=v.material.green/255),v.material.blue>1&&(v.material.blue=v.material.blue/255),v.material.alpha>1&&(v.material.a=v.material.alpha/255),v.material=B._color.createColor(v.material.red,v.material.green,v.material.blue,v.material.alpha))}else B._option.material&&(v.material=B._option.material),v.material&&(B._core.isHtmlColor(v.material)?v.material=B._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=B._color.rgbaStringToRgbaObj(v.material)),v.material.red>1&&(v.material.red=v.material.red/255),v.material.green>1&&(v.material.green=v.material.green/255),v.material.blue>1&&(v.material.blue=v.material.blue/255),v.material.alpha>1&&(v.material.a=v.material.alpha/255),v.material=B._color.createColor(v.material.red,v.material.green,v.material.blue,v.material.alpha)));if(Ae.length>=2){var Y=vt.Cartesian3.fromDegreesArray(Ae);v.polygonHierarchy=new vt.PolygonHierarchy(Y);var z=new vt.PolygonGeometry(v),re=new vt.GeometryInstance({id:he,geometry:z,attributes:{color:new vt.ColorGeometryInstanceAttribute.fromColor(v.material)}}),se="material:"+v.material.red*255+","+v.material.green*255+","+v.material.blue*255;B.Legend.push(se),ee.push(re)}}for(var ue=0;ue<q.features.length;ue++){var Ae=[],he=q.features[ue];if(Array.isArray(he.geometry.coordinates)&&he.geometry.coordinates.length>0)if(Array.isArray(he.geometry.coordinates[0][0]))for(var ge=0;ge<he.geometry.coordinates.length;ge++)Ae=[],he.geometry.coordinates[ge].pop(),H(he.geometry.coordinates[ge]),le(Ae);else H(he.geometry.coordinates),le(Ae)}if(ee.length>0){var fe=new vt.GroundPrimitive({geometryInstances:ee,appearance:new vt.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:B._core.Shaders("vertexShaderSource"),fragmentShaderSource:B._core.Shaders("fragmentShaderSource")}),classificationType:B._option.classificationType,show:B.item.show});B.probj.push(fe);var ae={level:J.level,key:X,data:fe};B.loadFinishKey.push(X),B.PrimitiveData.push(ae),B._viewer.scene.primitives.add(fe),B.returnCount++}},error:function(){},complete:function(q,ee){}})}(k))}}}else{D.state=vt.QuadtreeTileLoadState.LOADING,D.state===vt.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive&&(D.state=vt.QuadtreeTileLoadState.DONE),D.renderable=!0);return}}},this._primitive=new vt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,T=Q.primitives;T.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var w={id:v.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ys.prototype.createVolumeVectorGeoJsonFeatureLayerJCDthOptimization2=function(o,A,f,m,C,E){var x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(x,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var I={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},v=this;this._urlTemplate=A.url+"?"+this._serialize(y.urlParams);var B=A.url+"?"+this._serialize(y.urlParams);this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(S,D){(function(R,P,M){if(P.state===vt.QuadtreeTileLoadState.START){if(P.data={lines:[],geometryPrimitive:void 0},P.level>=f.level_min&&P.level<f.level_max&&M.item.show){var L=B.replace(window.encodeURIComponent("{x}"),P.x).replace(window.encodeURIComponent("{y}"),P.y).replace(window.encodeURIComponent("{z}"),P.level);M._cache&&(L+="&"+M._core.getuid()),M._core.xhr({url:L,type:"get",dataType:"json",success:function(F){if(F==null){P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0;return}var k=[],N=[];M.Legend=[];function G(H){for(var le=0;le<H.length;le++)Array.isArray(H[le])?G(H[le]):X.push(H[le])}function J(){if(M._option.extrudedHeight&&(I.extrudedHeight=M._option.extrudedHeight),/^\[/.test(M._option.extrudedHeight)&&/\]$/.test(M._option.extrudedHeight)){var H=M._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");I.extrudedHeight=parseFloat(q.properties[H])}if(I.material=M._option.material,/^\[/.test(M._option.material)&&/\]$/.test(M._option.material)){var le=M._option.material.replace(/\[/,"").replace(/\]/,"");I.material=q.properties[le],M._core.isHtmlColor(I.material)?I.material=M._color.colorFromHtmlColor(I.material):(/^rgb/.test(I.material)&&(I.material=M._color.rgbaStringToRgbaObj(I.material)),I.material.red>1&&(I.material.red=I.material.red/255),I.material.green>1&&(I.material.green=I.material.green/255),I.material.blue>1&&(I.material.blue=I.material.blue/255),I.material.alpha>1&&(I.material.a=I.material.alpha/255),I.material=M._color.createColor(I.material.red,I.material.green,I.material.blue,I.material.alpha))}else M._option.material&&(I.material=M._option.material),I.material&&(M._core.isHtmlColor(I.material)?I.material=M._color.colorFromHtmlColor(I.material):(/^rgb/.test(I.material)&&(I.material=M._color.rgbaStringToRgbaObj(I.material)),I.material.red>1&&(I.material.red=I.material.red/255),I.material.green>1&&(I.material.green=I.material.green/255),I.material.blue>1&&(I.material.blue=I.material.blue/255),I.material.alpha>1&&(I.material.a=I.material.alpha/255),I.material=M._color.createColor(I.material.red,I.material.green,I.material.blue,I.material.alpha)));if(X.length>=2){var ue=vt.Cartesian3.fromDegreesArray(X);I.polygonHierarchy=new vt.PolygonHierarchy(ue);var Ae=new vt.PolygonGeometry(I),he=new vt.GeometryInstance({id:q,geometry:Ae,attributes:{color:new vt.ColorGeometryInstanceAttribute.fromColor(I.material)}}),ge="material:"+I.material.red*255+","+I.material.green*255+","+I.material.blue*255;M.Legend.push(ge),k.push(he)}}for(var K=0;K<F.features.length;K++){var X=[],q=F.features[K];if(Array.isArray(q.geometry.coordinates)&&q.geometry.coordinates.length>0)if(Array.isArray(q.geometry.coordinates[0][0]))for(var ee=0;ee<q.geometry.coordinates.length;ee++)X=[],q.geometry.coordinates[ee].pop(),G(q.geometry.coordinates[ee]),J(X);else G(q.geometry.coordinates),J(X)}k.length==0&&(P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0);var ie=new vt.GroundPrimitive1({geometryInstances:k,appearance:new vt.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:M._core.Shaders("vertexShaderSource"),fragmentShaderSource:M._core.Shaders("fragmentShaderSource")}),classificationType:M._option.classificationType});P.data.geometryPrimitive=ie,P.state=vt.QuadtreeTileLoadState.LOADING,P.state===vt.QuadtreeTileLoadState.LOADING&&(P.data.geometryPrimitive.update1(R,[]),P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0)},error:function(){P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0}})}else{P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0;return}P.state=vt.QuadtreeTileLoadState.LOADING}})(S,D,v)},this._primitive=new vt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,T=Q.primitives;T.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var w={id:I.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ys.prototype.createVolumeVectorGeoJsonFeatureLayerJCDthOptimization3=function(o,A,f,m,C,E){var x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(x,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var I={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},v=this;this._urlTemplate=A.url+"?"+this._serialize(y.urlParams);var B=A.url+"?"+this._serialize(y.urlParams);this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(S,D){(function(R,P,M){if(P.state===vt.QuadtreeTileLoadState.START){if(P.data={lines:[],geometryPrimitive:void 0},P.level>=f.level_min&&P.level<f.level_max&&M.item.show){var L=B.replace(window.encodeURIComponent("{x}"),P.x).replace(window.encodeURIComponent("{y}"),P.y).replace(window.encodeURIComponent("{z}"),P.level);M._cache&&(L+="&"+M._core.getuid()),M._core.xhr({url:L,type:"get",dataType:"json",success:function(F){var k=["#ffff00","#ffcc00","#ff3300","#ccff00","#cccc00","#99ff66","#999933","#66cc99","#6633ff","#33ffff","#3399cc","#009933","#ccccff","#ff99ff","#9966ff","#336699"];if(F==null){P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0;return}var N=[],G=[];M.Legend=[];function J(le){for(var ue=0;ue<le.length;ue++)Array.isArray(le[ue])?J(le[ue]):q.push(le[ue])}function K(){if(M._option.extrudedHeight&&(I.extrudedHeight=M._option.extrudedHeight),/^\[/.test(M._option.extrudedHeight)&&/\]$/.test(M._option.extrudedHeight)){var le=M._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");I.extrudedHeight=parseFloat(ee.properties[le])}if(I.material=M._option.material,/^\[/.test(M._option.material)&&/\]$/.test(M._option.material)){var ue=M._option.material.replace(/\[/,"").replace(/\]/,"");I.material=ee.properties[ue],M._core.isHtmlColor(I.material)?I.material=M._color.colorFromHtmlColor(I.material):(/^rgb/.test(I.material)&&(I.material=M._color.rgbaStringToRgbaObj(I.material)),I.material.red>1&&(I.material.red=I.material.red/255),I.material.green>1&&(I.material.green=I.material.green/255),I.material.blue>1&&(I.material.blue=I.material.blue/255),I.material.alpha>1&&(I.material.a=I.material.alpha/255),I.material=M._color.createColor(I.material.red,I.material.green,I.material.blue,I.material.alpha))}else M._option.material&&(I.material=M._option.material),I.material&&(M._core.isHtmlColor(I.material)?I.material=M._color.colorFromHtmlColor(I.material):(/^rgb/.test(I.material)&&(I.material=M._color.rgbaStringToRgbaObj(I.material)),I.material.red>1&&(I.material.red=I.material.red/255),I.material.green>1&&(I.material.green=I.material.green/255),I.material.blue>1&&(I.material.blue=I.material.blue/255),I.material.alpha>1&&(I.material.a=I.material.alpha/255),I.material=M._color.createColor(I.material.red,I.material.green,I.material.blue,I.material.alpha)));if(q.length>=2){var Ae=vt.Cartesian3.fromDegreesArray(q);I.polygonHierarchy=new vt.PolygonHierarchy(Ae),(I.extrudedHeight==0||I.extrudedHeight=="0"||I.extrudedHeight==null||I.extrudedHeight==null)&&(I.extrudedHeight=1e4);var he=new vt.PolygonGeometry(I),ge=k[Math.floor(Math.random()*k.length)],fe=new vt.GeometryInstance({id:ee,geometry:he,attributes:{color:vt.ColorGeometryInstanceAttribute.fromColor(vt.Color.fromCssColorString(ge).withAlpha(.5))}}),ae="material:"+I.material.red*255+","+I.material.green*255+","+I.material.blue*255;M.Legend.push(ae),N.push(fe)}}for(var X=0;X<F.features.length;X++){var q=[],ee=F.features[X];if(Array.isArray(ee.geometry.coordinates)&&ee.geometry.coordinates.length>0)if(Array.isArray(ee.geometry.coordinates[0][0]))for(var ie=0;ie<ee.geometry.coordinates.length;ie++)q=[],ee.geometry.coordinates[ie].pop(),J(ee.geometry.coordinates[ie]),K(q);else J(ee.geometry.coordinates),K(q)}N.length==0&&(P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0);var H=new vt.ClassificationPrimitive1({geometryInstances:N,classificationType:vt.ClassificationType.BOTH});P.data.geometryPrimitive=H,P.state=vt.QuadtreeTileLoadState.LOADING,P.state===vt.QuadtreeTileLoadState.LOADING&&(P.data.geometryPrimitive.update(R,[]),P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0)},error:function(){P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0}})}else{P.state=vt.QuadtreeTileLoadState.DONE,P.renderable=!0;return}P.state=vt.QuadtreeTileLoadState.LOADING}})(S,D,v)},this._primitive=new vt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,T=Q.primitives;T.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var w={id:I.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ys.prototype.createPointGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium},y=this;!y._core.isnull(f)&&!y._core.isnull(f.color)&&(/^\[/.test(f.color)&&f.color.toString().charAt(0)=="["&&f.color.toString().charAt(f.color.length-1)=="]"||(y._core.isHtmlColor(f.color)?f.color=y._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=y._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=y._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a)))),!y._core.isnull(f)&&!y._core.isnull(f.outlineColor)&&(/^\[/.test(f.outlineColor)&&f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(y._core.isHtmlColor(f.outlineColor)?f.outlineColor=y._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=y._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=y._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a))));var y=this;this._urlTemplate=A.url+"?"+this._serialize(x.urlParams);var I=A.url+"?"+this._serialize(x.urlParams);this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1;var v={Name:"",text:"",font:" 30px sans-serif",pixelSize:10,style:vt.LabelStyle.OUTLINE,fillColor:vt.Color.WHITE,outlineColor:vt.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new vt.Color(.165,.165,.165,.8),backgroundPadding:new vt.Cartesian2(7,5),scale:1,horizontalOrigin:vt.HorizontalOrigin.CENTER,verticalOrigin:vt.VerticalOrigin.CENTER,eyeOffset:vt.Cartesian3.ZERO,pixelOffset:vt.Cartesian2.ZERO,heightReference:vt.HeightReference.NONE,scaleByDistance:new vt.NearFarScalar(0,0,1,1)};!y._core.isnull(f)&&!y._core.isnull(f.backgroundColor)&&(/^\[/.test(f.backgroundColor)&&f.backgroundColor.toString().charAt(0)=="["&&f.backgroundColor.toString().charAt(f.backgroundColor.length-1)=="]"||(y._core.isHtmlColor(f.backgroundColor)?f.backgroundColor=y._color.colorFromHtmlColor(f.backgroundColor):(/^rgb/.test(f.backgroundColor)&&(f.backgroundColor=y._color.rgbaStringToRgbaObj(f.backgroundColor)),f.backgroundColor.r>1&&(f.backgroundColor.r=f.backgroundColor.r/255),f.backgroundColor.g>1&&(f.backgroundColor.g=f.backgroundColor.g/255),f.backgroundColor.b>1&&(f.backgroundColor.b=f.backgroundColor.b/255),f.backgroundColor.a>1&&(f.backgroundColor.a=f.backgroundColor.a/255),f.backgroundColor=y._color.createColor(f.backgroundColor.r,f.backgroundColor.g,f.backgroundColor.b,f.backgroundColor.a))));var B=y._core.extend(v,f,!0);y._core.isnull(f.near)&&(f.near=0),y._core.isnull(f.far)&&(f.far=999999999);var Q=parseFloat(f.near),T=parseFloat(f.far),w=new vt.DistanceDisplayCondition(Q,T);B.distanceDisplayCondition=w,y._core.isnull(f.font_size)&&(f.font_size="30px"),y._core.isnull(f.font_family)&&(f.font_family=" sans-serif"),B.font=parseFloat(f.font_size)+"px "+f.font_family;var S=f.material;this._Provider.loadTile=function(M,L){(function(F,k,N){if(k.state===vt.QuadtreeTileLoadState.START){if(k.data={lines:[],geometryPrimitive:void 0},k.level>=f.level_min&&k.level<f.level_max&&N.item.show){var G=I.replace(window.encodeURIComponent("{x}"),k.x).replace(window.encodeURIComponent("{y}"),k.y).replace(window.encodeURIComponent("{z}"),k.level);N._cache&&(G+="&"+N._core.getuid()),N._core.xhr({url:G,type:"get",dataType:"json",success:function(J){if(J==null){k.state=vt.QuadtreeTileLoadState.DONE,k.renderable=!0;return}var K=new vt.PointPrimitiveCollection;J.features.forEach(function(X){B.id=X;var q=0;if(/^\[/.test(B.pointHeight)&&/\]$/.test(B.pointHeight)){var ee=B.pointHeight.replace(/\[/,"").replace(/\]/,"");q=parseFloat(X.properties[ee])}else B.pointHeight!==void 0&&B.pointHeight!==""?q=parseFloat(B.pointHeight):X.properties.height!=null&&(q=parseFloat(X.properties.height));if(/^\[/.test(f.color)&&/\]$/.test(f.color)){var ie=f.color.replace(/\[/,"").replace(/\]/,"");B.color=X.properties[ie],N._core.isHtmlColor(B.color)?B.color=N._color.colorFromHtmlColor(B.color):(/^rgb/.test(B.color)&&(B.color=N._color.rgbaStringToRgbaObj(B.color)),B.color.r>1&&(B.color.r=B.color.r/255),B.color.g>1&&(B.color.g=B.color.g/255),B.color.b>1&&(B.color.b=B.color.b/255),B.color.a>1&&(B.color.a=B.color.a/255),B.color=N._color.createColor(B.color.r,B.color.g,B.color.b,B.color.a))}if(/^\[/.test(f.outlineColor)&&/\]$/.test(f.outlineColor)){var ie=f.outlineColor.replace(/\[/,"").replace(/\]/,"");B.outlineColor=X.properties[ie],N._core.isHtmlColor(B.outlineColor)?B.outlineColor=N._color.colorFromHtmlColor(B.outlineColor):(/^rgb/.test(B.outlineColor)&&(B.outlineColor=N._color.rgbaStringToRgbaObj(B.outlineColor)),B.outlineColor.r>1&&(B.outlineColor.r=B.outlineColor.r/255),B.outlineColor.g>1&&(B.outlineColor.g=B.outlineColor.g/255),B.outlineColor.b>1&&(B.outlineColor.b=B.outlineColor.b/255),B.outlineColor.a>1&&(B.outlineColor.a=B.outlineColor.a/255),B.outlineColor=N._color.createColor(B.outlineColor.r,B.outlineColor.g,B.outlineColor.b,B.outlineColor.a))}B.position=new vt.Cartesian3.fromDegrees(X.geometry.coordinates[0],X.geometry.coordinates[1],q),B.text=X.properties.name;var H={show:B.show,position:B.position,pixelSize:B.pixelSize,color:B.color,outlineColor:B.outlineColor,outlineWidth:B.outlineWidth,id:X};if(B.color&&B.color.red){var le="color:"+B.color.red*255+","+B.color.green*255+","+B.color.blue*255+";outlineColor:"+B.outlineColor.red*255+","+B.outlineColor.green*255+","+B.outlineColor.blue*255;N.Legend.push(le)}H.id.treeID=f.id,H.id.VectorType="point",H.id.VectorStyle={show:H.show,pointHeight:q,position:H.position,pixelSize:H.pixelSize,color:H.color,outlineColor:H.outlineColor,outlineWidth:H.outlineWidth},K.add(H)}),k.data.geometryPrimitive=K,k.state=vt.QuadtreeTileLoadState.LOADING,k.state===vt.QuadtreeTileLoadState.LOADING&&(k.data.geometryPrimitive.update(F,[]),k.state=vt.QuadtreeTileLoadState.DONE,k.renderable=!0)},error:function(){k.count==null&&(k.count=0),k.count+=1,k.count>=2?(k.state=vt.QuadtreeTileLoadState.DONE,k.renderable=!0):k.state=vt.QuadtreeTileLoadState.START}})}else{k.state=vt.QuadtreeTileLoadState.DONE,k.renderable=!0;return}k.state=vt.QuadtreeTileLoadState.LOADING}})(M,L,y)},this._primitive=new this._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:5});var D=this._viewer.scene,R=D.primitives;f&&f.time&&(this._Provider._availability=new vt.TimeIntervalCollection([new vt.TimeInterval({start:f.time.start?vt.JulianDate.fromDate(new Date(f.time.start)):vt.Iso8601.MINIMUM_VALUE,stop:f.time.end?vt.JulianDate.fromDate(new Date(f.time.end)):vt.Iso8601.MAXIMUM_VALUE})]),this._Provider.isAvailable=function(M){if(!vt.defined(M))throw new vt.DeveloperError("time is required.");var L=this._availability;return!vt.defined(L)||L.contains(M)}),R.add(this._primitive),C?(this.item.show=!0,this.setVisibility(!0)):this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var P={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"pointLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this._Provider.treeID=f.id,this.setTreeobj(P),this._tree.insertGroupId(P,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ys.prototype.VolumeVectorGeoJsonFeatureLayerOptimization=function(o,A,f,m,C,E){var x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend({...x},f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var I={id:this._option.id,polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},v=this;let B=A.url.indexOf("/gisserver/")>-1;var Q;B?Q=A.url+`/${window.encodeURIComponent("{z}")}/${window.encodeURIComponent("{x}")}/${window.encodeURIComponent("{y}")}.json`:Q=A.url+"?"+this._serialize(y.urlParams),this._urlTemplate=Q,this._Provider=new Cs(this._viewer,this._cesium,B?new vt.WebMercatorTilingScheme:void 0),this._Provider._normalTile=f.level_max-1,this.initThisProvider=()=>{this.initThisProvider=void 0,this._Provider.loadTile=function(P,M){(function(L,F,k){if(F.state===vt.QuadtreeTileLoadState.START){if(F.data={lines:[],geometryPrimitive:void 0},F.level>=f.level_min&&F.level<f.level_max&&k.item.show){if(B&&(F.reverseY=k._Provider.tilingScheme.getNumberOfYTilesAtLevel(F.level)-F.y-1),k.TileMatrixLimits){let G=k.TileMatrixLimits[F.level];if(!G||G&&(F.x>G.maxCol||F.x<G.minCol||F.y>G.maxRow||F.y<G.minRow)){F.state=vt.QuadtreeTileLoadState.DONE,F.renderable=!0;return}}var N=Q.replace(window.encodeURIComponent("{x}"),F.x).replace(window.encodeURIComponent("{y}"),F.reverseY||F.y).replace(window.encodeURIComponent("{z}"),F.level);k._cache&&(N+="&"+k._core.getuid()),k._core.xhr({url:N,type:"get",dataType:"json",success:function(G){if(G==null){F.state=vt.QuadtreeTileLoadState.DONE,F.renderable=!0;return}var J=[],K=[];k.Legend=[];function X(ge){for(var fe=0;fe<ge.length;fe++)Array.isArray(ge[fe])?X(ge[fe]):(ie.push(ge[fe]),fe===2&&!H&&(H=!0))}function q(){if(/^\[/.test(k._option.extrudedHeight)&&/\]$/.test(k._option.extrudedHeight)){let Y=k._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");I.extrudedHeight=parseFloat(le.properties[Y])}else k._option.extrudedHeight&&(I.extrudedHeight=parseFloat(k._option.extrudedHeight));if(/^\[/.test(k._option.height)&&/\]$/.test(k._option.height)){let Y=k._option.height.replace(/\[/,"").replace(/\]/,"");I.height=parseFloat(le.properties[Y])}else k._option.height&&(I.height=parseFloat(k._option.height));if(I.material=k._option.material,/^\[/.test(k._option.material)&&/\]$/.test(k._option.material)){var ge=k._option.material.replace(/\[/,"").replace(/\]/,"");I.material=le.properties[ge],k._core.isHtmlColor(I.material)?I.material=k._color.colorFromHtmlColor(I.material):(/^rgb/.test(I.material)&&(I.material=k._color.rgbaStringToRgbaObj(I.material)),I.material.red>1&&(I.material.red=I.material.red/255),I.material.green>1&&(I.material.green=I.material.green/255),I.material.blue>1&&(I.material.blue=I.material.blue/255),I.material.alpha>1&&(I.material.a=I.material.alpha/255),I.material=k._color.createColor(I.material.red,I.material.green,I.material.blue,I.material.alpha))}else k._option.material&&(I.material=k._option.material),I.material&&(k._core.isHtmlColor(I.material)?I.material=k._color.colorFromHtmlColor(I.material):(/^rgb/.test(I.material)&&(I.material=k._color.rgbaStringToRgbaObj(I.material)),I.material.red>1&&(I.material.red=I.material.red/255),I.material.green>1&&(I.material.green=I.material.green/255),I.material.blue>1&&(I.material.blue=I.material.blue/255),I.material.alpha>1&&(I.material.a=I.material.alpha/255),I.material=k._color.createColor(I.material.red,I.material.green,I.material.blue,I.material.alpha)));if(f.preLoad&&f.preLoad(I,le),ie.length>=2){var fe=H?vt.Cartesian3.fromDegreesArrayHeights(ie):vt.Cartesian3.fromDegreesArray(ie);I.polygonHierarchy=new vt.PolygonHierarchy(fe);var ae=new vt.PolygonGeometry(I);le.treeID=I.id,le.VectorType="polygon",le.VectorStyle={haveZ:H,extrudedHeight:I.extrudedHeight,positions:ie,material:I.material};var U=new vt.GeometryInstance({id:le,geometry:ae,attributes:{color:new vt.ColorGeometryInstanceAttribute.fromColor(I.material),distanceDisplayCondition:new vt.DistanceDisplayConditionGeometryInstanceAttribute(k._option.near,k._option.far)}}),W="material:"+I.material.red*255+","+I.material.green*255+","+I.material.blue*255;k.Legend.push(W),J.push(U)}}for(var ee=0;ee<G.features.length;ee++){var ie=[],H=!1,le=G.features[ee];if(Array.isArray(le.geometry.coordinates)&&le.geometry.coordinates.length>0)if(Array.isArray(le.geometry.coordinates[0][0]))for(var ue=0;ue<le.geometry.coordinates.length;ue++)ie=[],le.geometry.coordinates[ue].pop(),X(le.geometry.coordinates[ue]),q(ie);else X(le.geometry.coordinates),q(ie)}J.length==0&&(F.state=vt.QuadtreeTileLoadState.DONE,F.renderable=!0);var Ae,he;I.material.alpha<1?he=new vt.PerInstanceColorAppearance({translucent:!0}):he=new vt.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:k._core.Shaders("vertexShaderSource"),fragmentShaderSource:k._core.Shaders("fragmentShaderSource")}),k._option.clampToGround?Ae=new vt.GroundPrimitive({geometryInstances:J,appearance:he,classificationType:k._option.classificationType}):Ae=new vt.Primitive({geometryInstances:J,appearance:he,shadows:k._option.shadows}),F.data.geometryPrimitive=Ae,F.state=vt.QuadtreeTileLoadState.LOADING,F.state===vt.QuadtreeTileLoadState.LOADING&&(F.data.geometryPrimitive.update(L,[]),F.state=vt.QuadtreeTileLoadState.DONE,F.renderable=!0)},error:function(){F.state=vt.QuadtreeTileLoadState.DONE,F.renderable=!0}})}else{F.state=vt.QuadtreeTileLoadState.DONE,F.renderable=!0;return}F.state=vt.QuadtreeTileLoadState.LOADING}})(P,M,v)},typeof E=="function"&&E(this.item)};let T,w;this.saveDefaultVectorData=()=>{w=v._core.extend({},f,!0)},this.restoreVector=()=>{w&&(f=w,v._option=v._core.extend({...x},f,!0),v._Provider._normalTile=f.level_max-1,v._primitive&&v._primitive._tilesToRender&&v._primitive._tilesToRender.length&&(v._primitive._tilesToRender.forEach(P=>{P.data.geomeitryPrimitive&&P.data.geomeitryPrimitive.destroy(),P.state=vt.QuadtreeTileLoadState.START}),v._primitive._tileToUpdateHeights.forEach(P=>{P.data.geomeitryPrimitive&&P.data.geomeitryPrimitive.destroy(),P.state=vt.QuadtreeTileLoadState.START}),v._primitive._tileToUpdateHeights=[],v._primitive._tilesToRender=[])),w=void 0},this.updataVector=(P={})=>{(P.material||P.outlineColor)&&(P.material&&(P.material=vt.Color.fromCssColorString(P.material)),P.outlineColor&&(P.outlineColor=vt.Color.fromCssColorString(P.outlineColor))),(P.minimumLevel!==void 0||P.maximumLevel!==void 0)&&(P.minimumLevel!==void 0&&(P.level_min=P.minimumLevel),P.maximumLevel!==void 0&&(P.level_max=P.maximumLevel)),f=v._core.extend(f,P,!0),v._option=v._core.extend(v._option,f,!0),v._Provider._normalTile=f.level_max-1,v._primitive&&v._primitive._tilesToRender&&v._primitive._tilesToRender.length&&(clearTimeout(T),T=setTimeout(()=>{v._primitive._tilesToRender.forEach(M=>{M.data.geomeitryPrimitive&&M.data.geomeitryPrimitive.destroy(),M.state=vt.QuadtreeTileLoadState.START}),v._primitive._tileToUpdateHeights.forEach(M=>{M.data.geomeitryPrimitive&&M.data.geomeitryPrimitive.destroy(),M.state=vt.QuadtreeTileLoadState.START}),v._primitive._tileToUpdateHeights=[],v._primitive._tilesToRender=[]},100))},this._primitive=new vt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:5});var S=this._viewer.scene,D=S.primitives;f&&f.time&&(this._Provider._availability=new vt.TimeIntervalCollection([new vt.TimeInterval({start:f.time.start?vt.JulianDate.fromDate(new Date(f.time.start)):vt.Iso8601.MINIMUM_VALUE,stop:f.time.end?vt.JulianDate.fromDate(new Date(f.time.end)):vt.Iso8601.MAXIMUM_VALUE})]),this._Provider.isAvailable=function(P){if(!vt.defined(P))throw new vt.DeveloperError("time is required.");var M=this._availability;return!vt.defined(M)||M.contains(P)}),D.add(this._primitive),this._core.getWMTSData({url:A.url,layer:A.layer,srs:A.srs||"EPSG:4490",gisserverTMS:B},P=>{v.item.boundingSphere=P.boundingSphere,v.TileMatrixLimits=P.TileMatrixLimits,v.initThisProvider()}),C||this.setVisibility(!1),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var R={id:I.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this._Provider.treeID=R.id,this.setTreeobj(R),this._tree.insertGroupId(R,this._core.isnull(m)?0:m),this};Ys.prototype.createModelGeoJsonFeatureLayerProvider0825=function(o,A,f,m,C,E){var x=this,y={url:"",color:vt.Color.DARKSALMON,scale:2},I={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!x._core.isnull(f)&&!x._core.isnull(f.color)&&(/^\[/.test(f.color)&&f.color.toString().charAt(0)=="["&&f.color.toString().charAt(f.color.length-1)=="]"||(x._core.isHtmlColor(f.color)?f.color=x._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=x._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=x._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a))));var v=x._core.extend(y,f,!0);x._core.isnull(f.near)&&(f.near=0),x._core.isnull(f.far)&&(f.far=999999999);var B=parseFloat(f.near),Q=parseFloat(f.far),T=new vt.DistanceDisplayCondition(B,Q);v.distanceDisplayCondition=T;var w=f.material;this._urlTemplate=A.url+"?"+this._serialize(I.urlParams);var S=A.url+"?"+this._serialize(I.urlParams);this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=parseFloat(v.height)||0,this._Provider.loadTile=function(M,L){if(L.state===vt.QuadtreeTileLoadState.START){if(L.data={lines:[],geometryPrimitive:void 0},L.level>=f.level_min&&L.level<f.level_max&&x.item.show){var F=S.replace(window.encodeURIComponent("{x}"),L.x).replace(window.encodeURIComponent("{y}"),L.y).replace(window.encodeURIComponent("{z}"),L.level);x._cache&&(F+="&"+x._core.getuid()),x._core.xhr({url:F,type:"get",dataType:"json",success:function(k){if(k==null){L.state=vt.QuadtreeTileLoadState.DONE,L.renderable=!0;return}var N=new vt.PrimitiveCollection({isModel:!0});k.features.forEach(function(G){v.id=G;var J=G.geometry.coordinates[2]||0;if(G.properties.height!=null&&(J=parseFloat(G.properties.height)),/^\[/.test(v.height)&&/\]$/.test(v.height)){var K=v.height.replace(/\[/,"").replace(/\]/,"");J+=parseFloat(G.properties[K])}else J+=parseFloat(v.height)||0;v.modelMatrix=vt.Transforms.eastNorthUpToFixedFrame(vt.Cartesian3.fromDegrees(G.geometry.coordinates[0],G.geometry.coordinates[1],J));var X=vt.Model.fromGltf({id:G,url:v.uri,color:v.color,modelMatrix:v.modelMatrix,scale:v.scale,heightReference:parseInt(v.heightReference),distanceDisplayCondition:v.distanceDisplayCondition});N.add(X)}),k.features.length==0&&(L.state=vt.QuadtreeTileLoadState.DONE,L.renderable=!0),L.data.geometryPrimitive=N,L.state=vt.QuadtreeTileLoadState.LOADING,L.state===vt.QuadtreeTileLoadState.LOADING&&(L.data.geometryPrimitive.update(M,[]),L.state=vt.QuadtreeTileLoadState.DONE,L.renderable=!0)},error:function(){L.count==null&&(L.count=0),L.count+=1,L.count>=2?(L.state=vt.QuadtreeTileLoadState.DONE,L.renderable=!0):L.state=vt.QuadtreeTileLoadState.START}})}else{L.state=vt.QuadtreeTileLoadState.DONE,L.renderable=!0;return}L.state=vt.QuadtreeTileLoadState.LOADING}},this._primitive=new vt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var D=this._viewer.scene,R=D.primitives;R.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var P={id:v.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(P),this._tree.insertGroupId(P,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ys.prototype.createModelGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x=this,y={url:"",color:vt.Color.DARKSALMON,scale:2},I={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,Cesium:this._cesium};!x._core.isnull(f)&&!x._core.isnull(f.color)&&(/^\[/.test(f.color)&&f.color.toString().charAt(0)=="["&&f.color.toString().charAt(f.color.length-1)=="]"||(x._core.isHtmlColor(f.color)?f.color=x._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=x._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=x._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a))));var v=x._core.extend(y,f,!0);x._core.isnull(f.near)&&(f.near=0),x._core.isnull(f.far)&&(f.far=999999999);var B=parseFloat(f.near),Q=parseFloat(f.far),T=new vt.DistanceDisplayCondition(B,Q);v.distanceDisplayCondition=T;var w=f.material;let S=A.url.indexOf("/gisserver/")>-1;var D;S?D=A.url+`/${window.encodeURIComponent("{z}")}/${window.encodeURIComponent("{x}")}/${window.encodeURIComponent("{y}")}.json`:D=A.url+"?"+this._serialize(I.urlParams),this._urlTemplate=D,this._Provider=new Cs(this._viewer,this._cesium,S?new vt.WebMercatorTilingScheme:void 0),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=parseFloat(v.height)||0,this.initThisProvider=()=>{this.initThisProvider=void 0,this._Provider.loadTile=function(k,N){if(N.state===vt.QuadtreeTileLoadState.START){if(N.data={lines:[],geometryPrimitive:void 0},N.level>=f.level_min&&N.level<f.level_max&&x.item.show){if(S&&(N.reverseY=x._Provider.tilingScheme.getNumberOfYTilesAtLevel(N.level)-N.y-1),x.TileMatrixLimits){let J=x.TileMatrixLimits[N.level];if(!J||J&&(N.x>J.maxCol||N.x<J.minCol||N.y>J.maxRow||N.y<J.minRow)){N.state=vt.QuadtreeTileLoadState.DONE,N.renderable=!0;return}}var G=D.replace(window.encodeURIComponent("{x}"),N.x).replace(window.encodeURIComponent("{y}"),N.reverseY||N.y).replace(window.encodeURIComponent("{z}"),N.level);x._cache&&(G+="&"+x._core.getuid()),x._core.xhr({url:G,type:"get",dataType:"json",success:function(J){if(J==null){N.state=vt.QuadtreeTileLoadState.DONE,N.renderable=!0;return}let K=[],X;vt.ModelInstanceCollection||(X=new vt.PrimitiveCollection),J.features.forEach(function(q){v.id=q;var ee=q.geometry.coordinates[2]||0;if(q.properties.height!=null&&(ee=parseFloat(q.properties.height)),/^\[/.test(v.height)&&/\]$/.test(v.height)){var ie=v.height.replace(/\[/,"").replace(/\]/,"");ee+=parseFloat(q.properties[ie])}else ee+=parseFloat(v.height)||0;let H=vt.Transforms.eastNorthUpToFixedFrame(vt.Cartesian3.fromDegrees(q.geometry.coordinates[0],q.geometry.coordinates[1],ee)),le=v.heading||0,ue=v.pitch||0,Ae=v.roll||0;/^\[/.test(le)&&/\]$/.test(le)&&(le=le.replace(/\[/,"").replace(/\]/,""),le=parseFloat(q.properties[le])),/^\[/.test(ue)&&/\]$/.test(ue)&&(ue=ue.replace(/\[/,"").replace(/\]/,""),ue=parseFloat(q.properties[ue])),/^\[/.test(Ae)&&/\]$/.test(Ae)&&(Ae=Ae.replace(/\[/,"").replace(/\]/,""),Ae=parseFloat(q.properties[Ae]));let he=new vt.HeadingPitchRoll(vt.Math.toRadians(le),vt.Math.toRadians(ue),vt.Math.toRadians(Ae)),ge=vt.Matrix3.fromHeadingPitchRoll(he);vt.Matrix4.multiplyByMatrix3(H,ge,H),vt.Matrix4.multiplyByUniformScale(H,v.scale,H),X?X.add(vt.Model.fromGltf({id:q,url:v.uri,modelMatrix:H,color:v.color})):K.push({modelMatrix:H,modelId:q})}),X||(X=new vt.ModelInstanceCollection({url:v.uri,instances:K,color:v.color})),J.features.length==0&&(N.state=vt.QuadtreeTileLoadState.DONE,N.renderable=!0),N.data.geometryPrimitive=X,N.state=vt.QuadtreeTileLoadState.LOADING,N.state===vt.QuadtreeTileLoadState.LOADING&&(N.data.geometryPrimitive.update(k,[]),N.state=vt.QuadtreeTileLoadState.DONE,N.renderable=!0)},error:function(){N.count==null&&(N.count=0),N.count+=1,N.count>=2?(N.state=vt.QuadtreeTileLoadState.DONE,N.renderable=!0):N.state=vt.QuadtreeTileLoadState.START}})}else{N.state=vt.QuadtreeTileLoadState.DONE,N.renderable=!0;return}N.state=vt.QuadtreeTileLoadState.LOADING}},typeof E=="function"&&E(this.item)};let R,P;this.saveDefaultVectorData=()=>{P=x._core.extend({},f,!0)},this.restoreVector=()=>{P&&(f=P,v=x._core.extend({...y},f,!0),x._Provider._normalTile=f.level_max-1,x._primitive&&x._primitive._tilesToRender&&x._primitive._tilesToRender.length&&(x._primitive._tilesToRender.forEach(k=>{k.data.geomeitryPrimitive&&k.data.geomeitryPrimitive.destroy(),k.state=vt.QuadtreeTileLoadState.START}),x._primitive._tileToUpdateHeights.forEach(k=>{k.data.geomeitryPrimitive&&k.data.geomeitryPrimitive.destroy(),k.state=vt.QuadtreeTileLoadState.START}),x._primitive._tileToUpdateHeights=[],x._primitive._tilesToRender=[])),P=void 0},this.updataVector=(k={})=>{(k.color||k.material)&&(k.color=vt.Color.fromCssColorString(k.color||k.material)),(k.minimumLevel!==void 0||k.maximumLevel!==void 0)&&(k.minimumLevel!==void 0&&(k.level_min=k.minimumLevel),k.maximumLevel!==void 0&&(k.level_max=k.maximumLevel)),f=x._core.extend(f,k,!0),v=x._core.extend(v,f,!0),x._Provider._normalTile=f.level_max-1,x._primitive&&x._primitive._tilesToRender&&x._primitive._tilesToRender.length&&(clearTimeout(R),R=setTimeout(()=>{x._primitive._tilesToRender.forEach(N=>{N.data.geomeitryPrimitive&&N.data.geomeitryPrimitive.destroy(),N.state=vt.QuadtreeTileLoadState.START}),x._primitive._tileToUpdateHeights.forEach(N=>{N.data.geomeitryPrimitive&&N.data.geomeitryPrimitive.destroy(),N.state=vt.QuadtreeTileLoadState.START}),x._primitive._tileToUpdateHeights=[],x._primitive._tilesToRender=[]},100))},this._primitive=new this._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var M=this._viewer.scene,L=M.primitives;f&&f.time&&(this._Provider._availability=new vt.TimeIntervalCollection([new vt.TimeInterval({start:f.time.start?vt.JulianDate.fromDate(new Date(f.time.start)):vt.Iso8601.MINIMUM_VALUE,stop:f.time.end?vt.JulianDate.fromDate(new Date(f.time.end)):vt.Iso8601.MAXIMUM_VALUE})]),this._Provider.isAvailable=function(k){if(!vt.defined(k))throw new vt.DeveloperError("time is required.");var N=this._availability;return!vt.defined(N)||N.contains(k)}),L.add(this._primitive),this._core.getWMTSData({url:A.url,layer:A.layer,srs:A.srs||"EPSG:4490",gisserverTMS:S},k=>{x.item.boundingSphere=k.boundingSphere,x.TileMatrixLimits=k.TileMatrixLimits,x.initThisProvider()}),C||this.setVisibility(!1),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var F={id:v.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(F),this._tree.insertGroupId(F,this._core.isnull(m)?0:m),this};Ys.prototype.VolumeVectorGeoJsonFeatureLayerOptimization1=function(o,A,f,m,C,E){var x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(x,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var I=[],v={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},B=this;this._urlTemplate=A.url+"?"+this._serialize(y.urlParams),this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,B._defaultStyle={outlineColor:vt.Color.fromCssColorString("rgba(209,204,226,0)"),lineWidth:0,outline:!0,fill:!0,fillColor:vt.Color.fromCssColorString("rgba(220,20,60,1)"),fillShow:"nod",tileCacheSize:200,showMaker:!1,showCenterLabel:!0,fontColor:vt.Color.fromCssColorString("rgba(255,0,0,1)"),labelOffsetX:-10,labelOffsetY:-5,fontSize:13,fontFamily:"\u9ED1\u4F53",pointColor:vt.Color.fromCssColorString("rgba(255,0,0,0)"),centerLabelPropertyName:"NAME"},B._option.fill.indexOf("[")!=-1?B._defaultStyle.fillShow=B._option.fill:B._defaultStyle.fillColor=vt.Color.fromCssColorString(B._option.fill),this._Provider.loadTile=function(S,D){if(this.tile=null,this.tile=D,D.state===this._cesium.QuadtreeTileLoadState.START&&B.item.show){var R="z"+D.level+"x"+D.x+"y"+D.y;if(D.data={lines:[],geometryPrimitive:void 0},D.level>f.level_max+2&&B.probj.length>0)for(var P=0;P<B.probj.length;F++){B._viewer.entities.remove(B.probj[P]);var M=B.probj.indexOf(B.probj[P]);B.probj.splice(M,1)}if(D.level>=f.level_min&&D.level<f.level_max&&B.item.show){var L=bi.filter(I,function(k){return k.x==D.x&&k.y==D.y&&k.level==D.level});if(L.length!=0&&L[0].data&&L[0].data.length>0){D.data.geometryPrimitive=new vt.Primitive({geometryInstances:L[0].data,appearance:new vt.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:vt.ShadowMode.ENABLED}),D.state=vt.QuadtreeTileLoadState.LOADING,D.state===vt.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive&&(D.state=vt.QuadtreeTileLoadState.DONE),D.renderable=!0);return}if(B.PrimitiveData.length>0){for(var F=0;F<B.PrimitiveData.length;F++)if(B.PrimitiveData[F].key==R){B.Primitivekey.includes(R)||B.Primitivekey.push(R);return}}B.Primitivekey.includes(R)||(B.Primitivekey.push(R),I.push({level:D.level,x:D.x,y:D.y,data:void 0}),function(k){var N=B._urlTemplate.replace(window.encodeURIComponent("{x}"),k.x).replace(window.encodeURIComponent("{y}"),k.y).replace(window.encodeURIComponent("{z}"),k.level);B.tilesLength++;var G="z"+k.level+"x"+k.x+"y"+k.y;B._cache&&(N+="&"+B._core.getuid());var J={xMin:vt.Math.toDegrees(k._rectangle.west),yMin:vt.Math.toDegrees(k._rectangle.south),xMax:vt.Math.toDegrees(k._rectangle.east),yMax:vt.Math.toDegrees(k._rectangle.north)};B._core.xhr({url:N,type:"get",dataType:"json",success:function(K){var X=K;B._tileWidth=256,B._tileHeight=256,B.x=k._x,B.y=k._y,B.level=k._level,B._createCanvas(),B._drawGeojson(B._context,0,0,K,J,B._tileWidth,B._tileHeight,B._fill,B._outline,B.x,B.y,B.level);var q=B._viewer.entities.add({ids:X,name:"Rotating rectangle with rotating texture coordinate",rectangle:{coordinates:k.rectangle,material:new vt.ImageMaterialProperty({image:B._canvas,transparent:!0}),zIndex:k.level,classificationType:vt.ClassificationType.BOTH}});B.probj.push(q);var ee={level:k.level,key:G,data:q};B.loadFinishKey.push(G),B.PrimitiveData.push(ee),B.returnCount++,B.removeObsoleteEntitiesxp(k.rectangle)},error:function(){k.state=vt.QuadtreeTileLoadState.DONE,k.renderable=!0}})}(D))}else{D.state=vt.QuadtreeTileLoadState.LOADING,D.state===vt.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive&&(D.state=vt.QuadtreeTileLoadState.DONE),D.renderable=!0);return}}},this._primitive=new vt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,T=Q.primitives;T.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var w={id:v.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ys.prototype.VolumeVectorGeoJsonFeatureLayerOptimizationtest=function(o,A,f,m,C,E){var x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(x,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var I=[],v={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},B=this;this._urlTemplate=A.url+"?"+this._serialize(y.urlParams),this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,B._defaultStyle={outlineColor:vt.Color.fromCssColorString("rgba(209,204,226,0)"),lineWidth:0,outline:!0,fill:!0,fillColor:vt.Color.fromCssColorString("rgba(220,20,60,1)"),fillShow:"nod",tileCacheSize:200,showMaker:!1,showCenterLabel:!0,fontColor:vt.Color.fromCssColorString("rgba(255,0,0,1)"),labelOffsetX:-10,labelOffsetY:-5,fontSize:13,fontFamily:"\u9ED1\u4F53",pointColor:vt.Color.fromCssColorString("rgba(255,0,0,0)"),centerLabelPropertyName:"NAME"},B._option.fill.indexOf("[")!=-1?B._defaultStyle.fillShow=B._option.fill:B._defaultStyle.fillColor=vt.Color.fromCssColorString(B._option.fill),this._Provider.loadTile=function(S,D){if(this.tile=null,this.tile=D,D.state===this._cesium.QuadtreeTileLoadState.START&&B.item.show){var R="z"+D.level+"x"+D.x+"y"+D.y;if(D.data={lines:[],geometryPrimitive:void 0},D.level>f.level_max+2&&B.probj.length>0)for(var P=0;P<B.probj.length;F++){B._viewer.entities.remove(B.probj[P]);var M=B.probj.indexOf(B.probj[P]);B.probj.splice(M,1)}if(D.level>=f.level_min&&D.level<f.level_max&&B.item.show){var L=bi.filter(I,function(k){return k.x==D.x&&k.y==D.y&&k.level==D.level});if(L.length!=0&&L[0].data&&L[0].data.length>0){D.data.geometryPrimitive=new vt.Primitive({geometryInstances:L[0].data,appearance:new vt.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:vt.ShadowMode.ENABLED}),D.state=vt.QuadtreeTileLoadState.LOADING,D.state===vt.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive&&(D.state=vt.QuadtreeTileLoadState.DONE),D.renderable=!0);return}if(B.PrimitiveData.length>0){for(var F=0;F<B.PrimitiveData.length;F++)if(B.PrimitiveData[F].key==R){B.Primitivekey.includes(R)||B.Primitivekey.push(R);return}}B.Primitivekey.includes(R)||(B.Primitivekey.push(R),I.push({level:D.level,x:D.x,y:D.y,data:void 0}),function(k){var N=B._urlTemplate.replace(window.encodeURIComponent("{x}"),k.x).replace(window.encodeURIComponent("{y}"),k.y).replace(window.encodeURIComponent("{z}"),k.level);B.tilesLength++;var G="z"+k.level+"x"+k.x+"y"+k.y;B._cache&&(N+="&"+B._core.getuid());var J={xMin:vt.Math.toDegrees(k._rectangle.west),yMin:vt.Math.toDegrees(k._rectangle.south),xMax:vt.Math.toDegrees(k._rectangle.east),yMax:vt.Math.toDegrees(k._rectangle.north)};B._core.xhr({url:N,type:"get",dataType:"json",success:function(K){var X=K;B._tileWidth=256,B._tileHeight=256,B.x=k._x,B.y=k._y,B.level=k._level;var q=B._viewer.entities.add({ids:X,name:"Rotating rectangle with rotating texture coordinate",rectangle:{coordinates:k.rectangle,material:new vt.ImageMaterialProperty({image:K,transparent:!0}),zIndex:k.level,classificationType:vt.ClassificationType.BOTH}});B.probj.push(q);var ee={level:k.level,key:G,data:q};B.loadFinishKey.push(G),B.PrimitiveData.push(ee),B.returnCount++,B.removeObsoleteEntitiesxp(k.rectangle)},error:function(){k.state=vt.QuadtreeTileLoadState.DONE,k.renderable=!0}})}(D))}else{D.state=vt.QuadtreeTileLoadState.LOADING,D.state===vt.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive&&(D.state=vt.QuadtreeTileLoadState.DONE),D.renderable=!0);return}}},this._primitive=new vt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,T=Q.primitives;T.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var w={id:v.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ys.prototype.VolumeVectorGeoJsonFeatureLayerOptimizationGroundtest=function(o,A,f,m,C,E){var x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(x,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var I={id:this._option.id,polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},v=this;let B=A.url.indexOf("/gisserver/")>-1;var Q;B?Q=A.url+`/${window.encodeURIComponent("{z}")}/${window.encodeURIComponent("{x}")}/${window.encodeURIComponent("{y}")}.json`:Q=A.url+"?"+this._serialize(y.urlParams),this._urlTemplate=Q,this._Provider=new Cs(this._viewer,this._cesium,B?new vt.WebMercatorTilingScheme:void 0),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=parseFloat(f.height||0),this.initThisProvider=()=>{this.initThisProvider=void 0,this._Provider.loadTile=function(D,R){(function(P,M,L){if(M.state===vt.QuadtreeTileLoadState.START){if(M.data={lines:[],geometryPrimitive:void 0},M.level>=f.level_min&&M.level<f.level_max&&L.item.show){if(L.TileMatrixLimits){let k=L.TileMatrixLimits[M.level];if(!k||k&&(M.x>k.maxCol||M.x<k.minCol||M.y>k.maxRow||M.y<k.minRow)){M.state=vt.QuadtreeTileLoadState.DONE,M.renderable=!0;return}}var F=Q.replace(window.encodeURIComponent("{x}"),M.x).replace(window.encodeURIComponent("{y}"),M.y).replace(window.encodeURIComponent("{z}"),M.level);L._cache&&(F+="&"+L._core.getuid()),L._core.xhr({url:F,type:"get",dataType:"json",success:function(k){var N=bi.cloneDeep(k);if(N.features.length<=0){M.state=vt.QuadtreeTileLoadState.DONE,M.renderable=!0;return}if(N==null){M.state=vt.QuadtreeTileLoadState.DONE,M.renderable=!0;return}var G=[],J=[];L.Legend=[];function K(Ae){for(var he=0;he<Ae.length;he++)Array.isArray(Ae[he])?K(Ae[he]):(ee.push(Ae[he]),he===2&&!ie&&(ie=!0))}function X(){if(/^\[/.test(L._option.extrudedHeight)&&/\]$/.test(L._option.extrudedHeight)){var Ae=L._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");I.extrudedHeight=parseFloat(H.properties[Ae])}if(I.material=L._option.material,/^\[/.test(L._option.material)&&/\]$/.test(L._option.material)){var he=L._option.material.replace(/\[/,"").replace(/\]/,"");I.material=H.properties[he],L._core.isHtmlColor(I.material)?I.material=L._color.colorFromHtmlColor(I.material):(/^rgb/.test(I.material)&&(I.material=L._color.rgbaStringToRgbaObj(I.material)),I.material.red>1&&(I.material.red=I.material.red/255),I.material.green>1&&(I.material.green=I.material.green/255),I.material.blue>1&&(I.material.blue=I.material.blue/255),I.material.alpha>1&&(I.material.a=I.material.alpha/255),I.material=L._color.createColor(I.material.red,I.material.green,I.material.blue,I.material.alpha))}else L._option.material&&(I.material=L._option.material),I.material&&(L._core.isHtmlColor(I.material)?I.material=L._color.colorFromHtmlColor(I.material):(/^rgb/.test(I.material)&&(I.material=L._color.rgbaStringToRgbaObj(I.material)),I.material.red>1&&(I.material.red=I.material.red/255),I.material.green>1&&(I.material.green=I.material.green/255),I.material.blue>1&&(I.material.blue=I.material.blue/255),I.material.alpha>1&&(I.material.a=I.material.alpha/255),I.material=L._color.createColor(I.material.red,I.material.green,I.material.blue,I.material.alpha)));if(ee.length>=2){var ge=ie?vt.Cartesian3.fromDegreesArrayHeights(ee):vt.Cartesian3.fromDegreesArray(ee);I.polygonHierarchy=new vt.PolygonHierarchy(ge);var fe=new vt.PolygonGeometry(I);H.treeID=I.id,H.VectorType="polygon",H.VectorStyle={haveZ:ie,extrudedHeight:I.extrudedHeight,positions:ee,material:I.material};var ae=new vt.GeometryInstance({id:H,geometry:fe,attributes:{color:new vt.ColorGeometryInstanceAttribute.fromColor(I.material)}}),U="material:"+I.material.red*255+","+I.material.green*255+","+I.material.blue*255;L.Legend.push(U),G.push(ae)}}for(var q=0;q<N.features.length;q++){var ee=[],ie=!1,H=N.features[q];if(Array.isArray(H.geometry.coordinates)&&H.geometry.coordinates.length>0)if(Array.isArray(H.geometry.coordinates[0][0]))for(var le=0;le<H.geometry.coordinates.length;le++)ee=[],H.geometry.coordinates[le].pop(),K(H.geometry.coordinates[le]),X(ee);else K(H.geometry.coordinates),X(ee)}G.length==0&&(M.state=vt.QuadtreeTileLoadState.DONE,M.renderable=!0);var ue=new vt.GroundPrimitive({geometryInstances:G,appearance:new vt.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:L._core.Shaders("vertexShaderSource"),fragmentShaderSource:L._core.Shaders("fragmentShaderSource")}),classificationType:L._option.classificationType,shadows:L._option.shadows});L.probj.push(ue),M.data.geometryPrimitive=ue,M.state=vt.QuadtreeTileLoadState.LOADING,M.state===vt.QuadtreeTileLoadState.LOADING&&(M.data.geometryPrimitive.update(P,[]),M.state=vt.QuadtreeTileLoadState.DONE,M.renderable=!0)},error:function(){M.count==null&&(M.count=0),M.count+=1,M.count>=2?(M.state=vt.QuadtreeTileLoadState.DONE,M.renderable=!0):M.state=vt.QuadtreeTileLoadState.START}})}else{M.state=vt.QuadtreeTileLoadState.DONE,M.renderable=!0;return}M.state=vt.QuadtreeTileLoadState.LOADING}})(D,R,v)}},this._primitive=new vt.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:5});var T=this._viewer.scene,w=T.primitives;w.add(this._primitive),this._core.getWMTSData({url:A.url,layer:A.layer,srs:A.srs||"EPSG:4490",gisserverTMS:B},D=>{v.item.boundingSphere=D.boundingSphere,v.TileMatrixLimits=D.TileMatrixLimits,v.initThisProvider()}),C||this.setVisibility(!1),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var S={id:I.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f,treeData:{name:o,geoOptions:A,styleOption:f,GroupID:m,checked:C,disFnc:E}};return this._Provider.treeID=S.id,this.setTreeobj(S),this._tree.insertGroupId(S,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ys.prototype.createGeojsonImage=function(o){let A=eval;vt.loadText("http://36.7.136.132:8090/geoserver/swagger/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=swagger%3A_20200410153959_JZ11&maxFeatures=50&outputFormat=application%2Fjson").then(function(f){f=A("("+f+")");for(var m=0;m<f.features.length;m++)m==0?f.features[m].properties.nod="rgba(255,255,0,1)":m==1?f.features[m].properties.nod="rgba(220,20,60,1)":m==2?f.features[m].properties.nod="rgba(75,0,130,1)":m==3?f.features[m].properties.nod="rgba(0,0,255,1)":m==4?f.features[m].properties.nod="rgba(30,144,255,1)":f.features[m].properties.nod="rgba(50,205,50,1)";var C=null;try{var E=new VectorTileImageryProvider({source:f,zIndex:99,removeDuplicate:!1,defaultStyle:{outlineColor:"rgba(209,204,226,1)",lineWidth:0,outline:!0,fill:!0,fillColor:"rgba(209,204,226,1)",fillShow:"[nod]",tileCacheSize:200,showMaker:!1,showCenterLabel:!0,fontColor:"rgba(255,0,0,1)",labelOffsetX:-10,labelOffsetY:-5,fontSize:13,fontFamily:"\u9ED1\u4F53",centerLabelPropertyName:"NAME"},maximumLevel:20,minimumLevel:15,simplify:!1}),x;E.readyPromise.then(function(){x=viewer.imageryLayers.addImageryProvider(E),vt.Camera.DEFAULT_VIEW_RECTANGLE=E.rectangle})}catch(y){console.log(y)}})};Ys.prototype._drawGeojson=function(o,A,f,m,C,E,x,y,I,v,B,Q){var T=this;if(typeof y>"u"&&(y=!0),typeof I>"u"&&(I=!0),!y&&!I)return;typeof E>"u"&&(E=o.canvas.width-A),typeof x>"u"&&(x=o.canvas.height-f);var w=new aut(E,x),S=this._defaultStyle,D={labelStroke:S.labelStroke,labelStrokeWidth:S.labelStrokeWidth,labelStrokeColor:S.labelStrokeColor,pointSize:S.pointSize,fontSize:S.fontSize,fontFamily:S.fontFamily,color:S.fontColor.toCssColorString(),backgroundColor:S.pointColor.toCssColorString(),pointStyle:S.pointStyle,ringRadius:S.ringRadius,circleLineWidth:S.circleLineWidth,showMaker:S.showMaker,showLabel:S.showLabel,labelOffsetX:S.labelOffsetX,labelOffsetY:S.labelOffsetY,markerSymbol:S.makerImage instanceof Image?S.makerImage:S.makerImageEl},R=[];T._styleFilter&&(turf.featureEach(m,function(L,F){T._styleFilter&&(S=T._defaultStyle.clone(),T._styleFilter(L,S,v,B,Q),L.style=S)}),m.features.sort(function(L,F){return L.style&&L.style.lineDash?1:F.style&&F.style.lineDash?-1:0}));function P(L,F){if(T._styleFilter){if(S=L.style,S.show==!1)return;D={labelStroke:S.labelStroke,labelStrokeWidth:S.labelStrokeWidth,labelStrokeColor:S.labelStrokeColor,pointSize:S.pointSize,fontSize:S.fontSize,fontFamily:S.fontFamily,color:S.fontColor.toCssColorString(),backgroundColor:S.pointColor.toCssColorString(),pointStyle:S.pointStyle,ringRadius:S.ringRadius,circleLineWidth:S.circleLineWidth,showMaker:S.showMaker,showLabel:S.showLabel,labelOffsetX:S.labelOffsetX,labelOffsetY:S.labelOffsetY,markerSymbol:S.makerImage instanceof Image?S.makerImage:S.makerImageEl}}else S=T._defaultStyle;if(o.lineWidth=S.lineWidth,o.strokeStyle=S.outlineColor.toCssColorString(),o.fillStyle=S.fillColor.toCssColorString(),S.fillShow.indexOf("[")!=-1){var k=S.fillShow.replace("[","").replace("]","");o.fillStyle=L.properties[k]}if(S.lineDash&&o.setLineDash(S.lineDash),o.lineCap=S.lineCap,S.shadowColor&&S.shadowColor instanceof vt.Color?o.shadowColor=S.shadowColor.toCssColorString():o.shadowColor=S.shadowColor,o.shadowBlur=S.shadowBlur,o.shadowOffsetX=S.shadowOffsetX,o.shadowOffsetY=S.shadowOffsetY,o.miterLimit=S.miterLimit,o.lineJoin=S.lineJoin,L.geometry.type=="Point")drawMarker(o,w,C,A,f,L,y,I,S.labelPropertyName,D);else if(L.geometry.type=="Polygon"&&S.fill){var N=turf.getCoords(L),G=Yae(o,w,C,A,f,N,!0,!1,S);G&&G.map(function(X){X.style=S,R.push(X)})}else if(L.geometry.type=="MultiPolygon"&&S.fill){var J;try{J=turf.getCoords(L),J.map(function(X){var q=Yae(o,w,C,A,f,X,!0,!1,S);q&&q.map(function(ee){ee.style=S,R.push(ee)})})}catch{}}else if(L.geometry.type=="MultiLineString"){if(!(L.properties.isOutline&&!S.outline)){var N=turf.getCoords(L);Yae(o,w,C,A,f,N,!1,!0,S),N=null}}else if(L.geometry.type=="LineString"&&!(L.properties.isOutline&&!S.outline)){var K=turf.getCoords(L),N=[K];Yae(o,w,C,A,f,N,!1,!0,S),K=null,N=null}}function M(L,F,k,N,G,J){var K=L.canvas,X=L.getImageData(0,0,K.width,K.height),q=document.createElement("canvas");q.width=K.width,q.height=K.height;var ee=q.getContext("2d"),ie=[];J.map(function(H){ee.clearRect(0,0,q.width,q.height),ee.beginPath();var le=0;H.map(function(Ae){var he=F.project(Ae,k);le==0?ee.moveTo(N+he.x,G+he.y):ee.lineTo(N+he.x,G+he.y),le++}),ee.closePath(),ee.fillStyle="rgba(255,255,255,1)",ee.fill(),ie=ee.getImageData(0,0,q.width,q.height).data;for(var ue=3;ue<ie.length;ue+=4)ie[ue]>0&&(X.data[ue]=0)}),L.putImageData(X,0,0)}turf.featureEach(m,function(L,F){(L.geometry.type=="Polygon"||L.geometry.type=="MultiPolygon")&&P(L,F)}),R&&R.length&&M(o,w,C,A,f,R),turf.featureEach(m,function(L,F){(L.geometry.type=="LineString"||L.geometry.type=="MultiLineString")&&P(L,F)}),turf.featureEach(m,function(L,F){(L.geometry.type=="Point"||L.geometry.type=="MultiPoint")&&P(L,F)})};Ys.prototype._createCanvas=function(){this._canvas=document.createElement("canvas"),this._canvas.width=this._tileWidth,this._canvas.height=this._tileHeight,this._context=this._canvas.getContext("2d"),this._context.lineWidth=this._defaultStyle.lineWidth,this._context.strokeStyle=this._defaultStyle.outlineColor.toCssColorString(),this._context.fillStyle=this._defaultStyle.fillColor.toCssColorString()};function Yae(o,A,f,m,C,E,x,y,I){var v=0,B=[];if(E.map(function(Q){if(!x||v<=0){var T=0;o.beginPath(),Q.map(function(w){var S=A.project(w,f);T==0?o.moveTo(m+S.x,C+S.y):o.lineTo(m+S.x,C+S.y),T++}),x&&(o.closePath(),o.fill()),y&&o.stroke()}else B.push(Q);v++}),x)return B;B=null}Ys.prototype.getLegend=function(){var o=[];return this.Legend!=null&&(o=this._core.unique(this.Legend)),o};Ys.prototype.removeObsoletePrimitives1=function(o){};Ys.prototype.removeObsoletePrimitives=function(o){for(var A=this._viewer.scene.globe._surface._tilesToRender,f=A.map(function(D){return D.level}),m=Math.min.apply(Math,Jae(f)),C=Math.max.apply(Math,Jae(f)),E=this.PrimitiveData.length-1;E>=0;E--){var x=this.PrimitiveData[E];if(x.level<m||x.level>C){var y=this._viewer.scene.primitives.remove(x.data);if(y){var I=this.Primitivekey.indexOf(this.loadFinishKey[E]);I>-1&&this.Primitivekey.splice(I,1),this.PrimitiveData.splice(E,1),this.loadFinishKey.splice(E,1)}}}var v=[],B=o.parent;if(B&&B.parent){var Q=B.parent;v.push(Q)}var T=o.children;v=v.concat(T);for(var E=0;E<T.length;E++){var w=T[E].children;v=v.concat(w)}for(var E=0;E<v.length;E++)if(v[E]){var S="z"+v[E].level+"x"+v[E].x+"y"+v[E].y,I=this.loadFinishKey.indexOf(S);if(I>-1){var y=this._viewer.scene.primitives.remove(this.PrimitiveData[I].data);if(y){var I=this.Primitivekey.indexOf(S);I>-1&&this.Primitivekey.splice(I,1),this.PrimitiveData.splice(I,1),this.loadFinishKey.splice(I,1)}}}};Ys.prototype.removeObsoleteEntities=function(o){for(var A=this._viewer.scene.globe._surface._tilesToRender,f=A.map(function(D){return D.level}),m=Math.min.apply(Math,Jae(f))-1,C=Math.max.apply(Math,Jae(f))+1,E=this.PrimitiveData.length-1;E>=0;E--){var x=this.PrimitiveData[E];if(x.level<m||x.level>C){var y=this._viewer.entities.remove(x.data);if(y){var I=this.Primitivekey.indexOf(this.loadFinishKey[E]);I>-1&&this.Primitivekey.splice(I,1),this.PrimitiveData.splice(E,1),this.loadFinishKey.splice(E,1)}}}var v=[],B=o.parent;if(B&&B.parent){var Q=B.parent;v.push(Q)}var T=o.children;v=v.concat(T);for(var E=0;E<T.length;E++){var w=T[E].children;v=v.concat(w)}for(var E=0;E<v.length;E++)if(v[E]){var S="z"+v[E].level+"x"+v[E].x+"y"+v[E].y,I=this.loadFinishKey.indexOf(S);if(I>-1){var y=this._viewer.entities.remove(this.PrimitiveData[I].data);if(y){var I=this.Primitivekey.indexOf(S);I>-1&&this.Primitivekey.splice(I,1),this.PrimitiveData.splice(I,1),this.loadFinishKey.splice(I,1)}}}};Ys.prototype.removeObsoleteEntitiesxp=function(o){for(var A=this._cesium.Cartesian3.fromDegrees(this._cesium.Math.toDegrees(o.west),this._cesium.Math.toDegrees(o.south)),f=this._cesium.Cartesian3.fromDegrees(this._cesium.Math.toDegrees(o.east),this._cesium.Math.toDegrees(o.north)),m=0;m<this.probj.length;m++)var C=this._cesium.Rectangle.contains(this.probj[m].rectangle.coordinates.getValue(),this._cesium.Cartographic.fromCartesian(A)),E=this._cesium.Rectangle.contains(this.probj[m].rectangle.coordinates.getValue(),this._cesium.Cartographic.fromCartesian(f));for(var x=this._viewer.camera.computeViewRectangle(),y=0;y<this.probj.length;y++){var I=this.probj[y].rectangle.coordinates.getValue(),v=this._cesium.Cartesian3.fromDegrees(this._cesium.Math.toDegrees(I.west),this._cesium.Math.toDegrees(I.south)),B=this._cesium.Cartesian3.fromDegrees(this._cesium.Math.toDegrees(I.east),this._cesium.Math.toDegrees(I.north)),Q=this._cesium.Rectangle.contains(x,this._cesium.Cartographic.fromCartesian(v)),T=this._cesium.Rectangle.contains(x,this._cesium.Cartographic.fromCartesian(B));Q||T?this.probj[y].show=!0:this.probj[y].show=!1}};Ys.prototype.computeCircle=function(o){this._core.isnull(o)&&(o=4);for(var A=[],f=0;f<360;f++){var m=this._cesium.Math.toRadians(f);A.push(new this._cesium.Cartesian2(o*Math.cos(m),o*Math.sin(m)))}return A};Ys.prototype.setTreeobj=function(o){this.treeobj=o};Ys.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.treeobj.url;return{type:this.treeobj.type,treeobj:{name:this.treeobj.name,pId:this.treeobj.pId},style:{show:o,url:A,pId:this.treeobj.pId},treeData:this.treeobj.treeData}};Ys.prototype.deleteObject=function(){if(this._viewer.scene.primitives.remove(this.item),this.probj&&this.probj.length>0&&(this._viewer.scene.primitives.remove(this.probj[0]),this.probj.pop()),this.img!=null&&this._viewer.imageryLayers.remove(this.img),this.primitve&&this.primitve.length>0){for(var o=0;o<this.primitve.length;o++)this._viewer.scene.primitives.remove(this.primitve[o]);this.primitve=[]}this.loadAllKey&&this.loadAllKey.length>0&&(this.loadAllKey=[]);try{this._Provider.remove()}catch{}};Ys.prototype.setRefresh=function(o){try{this._Provider&&this._Provider.setStatus(o)}catch{}};Ys.prototype.getLevel=function(){var o=40487.57,A=7096758e-11,f=91610.74,m=-40467.74,C=this._viewer.camera,E,x;if(C&&C.positionCartographic&&C.positionCartographic.height){var y=this._viewer.scene.globe.getHeight(C.positionCartographic);!y&&(y=0),E=C.positionCartographic.height-y,x=Math.round(m+(o-m)/(1+Math.pow(E/f,A)))}else x=0;return x};Ys.prototype.setVisibility=function(o){try{if(this.loadAllKey=[],this.item!=null&&this.item.show!=null&&(this.item.show=o),this.img!=null&&(this.img.show=o),this.primitve&&this.primitve.length>0)for(var A=0;A<this.primitve.length;A++)this.primitve[A].show=o;if(this._Provider&&this._Provider.setStatus&&this._Provider.setStatus(o),this.probj&&this.probj.length>0)for(var A=0;A<this.probj.length;A++)this.probj[A].show=o}catch{}};Ys.prototype.edit=function(o,A){return this.isEditting=o,this.editoption=A,this._Provider&&this._Provider.edit&&this._Provider.edit(o,A)};Ys.prototype.isCache=function(o){this._cache=o};Ys.prototype.forceRefresh=function(){try{for(var o=0;o<this._Provider.quadtree._levelZeroTiles.length;o++)this._Provider.quadtree._levelZeroTiles[o].freeResources()}catch{}};var Ec=Ys;var Rv=null;function Kae(o,A,f){Rv=A,this._viewer=o,this._cesium=A,this._tree=f,this._core=new $i(o,A)}Kae.prototype.flyTo=function(o,A={}){return this._viewer.flyTo(o,{duration:A.time||3,maximumHeight:A.maxHeight,offset:new Rv.HeadingPitchRange(Rv.Math.toRadians(A.heading||0),Rv.Math.toRadians(A.pitch||-45),A.range)})};Kae.prototype.flyToPointsInterest=function(o,A){return this._viewer.camera.flyTo({destination:o.destination,orientation:o.orientation,duration:o.duration,complete:A})};Kae.prototype.flyToPosition=function(o,A,f,m={}){let C={heading:this._core.defaultValue(m.heading,0),pitch:this._core.defaultValue(m.pitch,-90),roll:this._core.defaultValue(m.roll,0),time:this._core.defaultValue(m.time,3)};Math.abs(o)<=180&&Math.abs(A)<=90?this._viewer.camera.flyTo({destination:this._cesium.Cartesian3.fromDegrees(o,A,f),orientation:new Rv.HeadingPitchRoll(Rv.Math.toRadians(C.heading),Rv.Math.toRadians(C.pitch),Rv.Math.toRadians(C.roll)),duration:C.time}):this._viewer.camera.flyTo({destination:{x:o,y:A,z:f},orientation:new Rv.HeadingPitchRoll(Rv.Math.toRadians(C.heading),Rv.Math.toRadians(C.pitch),Rv.Math.toRadians(C.roll)),duration:C.time})};var uut=Kae;var Ul=null;function sm(o,A){Ul=A,this._viewer=o,this._cesium=A,this.item={show:!0},this._core=new $i(o,A),this._color=new In(this._viewer,this._cesium),this._tree=Ke,this._flyTo=new uut(this._viewer,this._cesium,this._tree),this._Provider=void 0,this.Legend=[],this.model=[],this._cache=!1,this._forceRefreshPrvimitive=null,this._forceRefreshProvider=null}sm.prototype.createPolylineGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x={positions:[],arcType:this._cesium.ArcType.GEODESIC,clampToGround:!1,width:1,show:!0,material:this._cesium.Color.WHITE,height:30};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var y=this._core.extend(x,f,!0);A==null&&console.log("geojson is required");var I=null;A.then?I=A:I=this._cesium.GeoJsonDataSource.load(A);var v=this;I.then(function(Q){for(var T=Q.entities.values,w=[],S=new v._cesium.PrimitiveCollection,D=0;D<T.length;D++){var R=T[D],P=null;if(y.clampToGround){y.positions=R.polyline.positions._value;var M={positions:R.polyline.positions._value,width:y.width},M=new v._cesium.GroundPolylineGeometry(M);P=new v._cesium.GeometryInstance({id:R,geometry:M,attributes:{color:new v._cesium.ColorGeometryInstanceAttribute.fromColor(y.material)}})}else{for(var L=[],D=0;D<R.polyline.positions._value.length;D++){var F=v._viewer.scene.globe.ellipsoid,k=v._cesium.Cartographic.fromCartesian(R.polyline.positions._value[D]),N=v._cesium.Math.toDegrees(k.longitude),G=v._cesium.Math.toDegrees(k.latitude),J=k.height+y.height,K=new v._cesium.Cartesian3.fromDegrees(N,G,J);L.push(K)}y.positions=L;var X=new v._cesium.PolylineGeometry(y),q=v._cesium.PolylineGeometry.createGeometry(X);P=new v._cesium.GeometryInstance({id:R,geometry:q,attributes:{color:new v._cesium.ColorGeometryInstanceAttribute.fromColor(y.material)}})}R.positions=y.positions;var ee="material:"+y.material.red*255+","+y.material.green*255+","+y.material.blue*255;v.Legend.push(ee);var ie=null;y.clampToGround?ie=new v._cesium.GroundPolylinePrimitive({geometryInstances:P,appearance:new v._cesium.MaterialAppearance({material:new v._cesium.Material({fabric:{type:"Color",uniforms:{color:y.material}}}),faceForward:!0,flat:!1})}):ie=new v._cesium.Primitive({geometryInstances:P,appearance:new v._cesium.PolylineMaterialAppearance({material:new v._cesium.Material({fabric:{type:"Color",uniforms:{color:y.material}}})}),shadows:v._cesium.ShadowMode.ENABLED}),S.add(ie)}var H;f&&f.time&&(H=new v._cesium.TimeIntervalCollection([new v._cesium.TimeInterval({start:f.time.start?v._cesium.JulianDate.fromDate(new Date(f.time.start)):v._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?v._cesium.JulianDate.fromDate(new Date(f.time.end)):v._cesium.Iso8601.MAXIMUM_VALUE})]));var le=v._viewer.scene.primitives.add(S,H);le.show=y.show,v.item=S,C||v.setVisibility(!1),typeof E=="function"&&E(v.item)}),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id);var B={id:y.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polylineLayer",item:this,url:A,style:y};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),this};sm.prototype.createGroundPolylineGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x={positions:[],arcType:this._cesium.ArcType.GEODESIC,clampToGround:!1,width:1,show:!0,material:this._cesium.Color.WHITE,height:30};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var y=this._core.extend(x,f,!0);A==null&&console.log("geojson is required");var I=null;A.then?I=A:I=this._cesium.GeoJsonDataSource.load(A);var v=this;I.then(function(Q){for(var T=Q.entities.values,w=[],S=new v._cesium.PrimitiveCollection,D=0;D<T.length;D++){var R=T[D],P=null;if(y.clampToGround){y.positions=R.polyline.positions._value;var M={positions:R.polyline.positions._value,width:y.width},M=new v._cesium.GroundPolylineGeometry(M);P=new v._cesium.GeometryInstance({id:R,geometry:M,attributes:{color:new v._cesium.ColorGeometryInstanceAttribute.fromColor(y.material)}})}else{for(var L=[],D=0;D<R.polyline.positions._value.length;D++){var F=v._viewer.scene.globe.ellipsoid,k=v._cesium.Cartographic.fromCartesian(R.polyline.positions._value[D]),N=v._cesium.Math.toDegrees(k.longitude),G=v._cesium.Math.toDegrees(k.latitude),J=k.height+y.height,K=new v._cesium.Cartesian3.fromDegrees(N,G,J);L.push(K)}y.positions=L;var X=new v._cesium.PolylineGeometry(y),q=v._cesium.PolylineGeometry.createGeometry(X);P=new v._cesium.GeometryInstance({id:R,geometry:q,attributes:{color:new v._cesium.ColorGeometryInstanceAttribute.fromColor(y.material)}})}R.positions=y.positions;var ee="material:"+y.material.red*255+","+y.material.green*255+","+y.material.blue*255;v.Legend.push(ee);var ie=null;y.clampToGround?ie=new v._cesium.GroundPolylinePrimitive({geometryInstances:P,appearance:new v._cesium.MaterialAppearance({material:new v._cesium.Material({fabric:{type:"Color",uniforms:{color:y.material}}}),faceForward:!0,flat:!1})}):ie=new v._cesium.Primitive({geometryInstances:P,appearance:new v._cesium.PolylineMaterialAppearance({material:new v._cesium.Material({fabric:{type:"Color",uniforms:{color:y.material}}})}),shadows:v._cesium.ShadowMode.ENABLED}),S.add(ie)}var H;f&&f.time&&(H=new v._cesium.TimeIntervalCollection([new v._cesium.TimeInterval({start:f.time.start?v._cesium.JulianDate.fromDate(new Date(f.time.start)):v._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?v._cesium.JulianDate.fromDate(new Date(f.time.end)):v._cesium.Iso8601.MAXIMUM_VALUE})]));var le=v._viewer.scene.primitives.add(S,H);le.show=y.show,v.item=S,C||v.setVisibility(!1),typeof E=="function"&&E(v.item)}),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id);var B={id:y.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polylineLayer",item:this,url:A,style:y};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),this};sm.prototype.createPolylineVectorGeoJsonFeatureLayerProvider1=function(o,A,f,m,C,E){var x={positions:[],arcType:this._cesium.ArcType.GEODESIC,clampToGround:!1,width:1,show:!0,material:this._cesium.Color.WHITE,height:30},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var I=this._core.extend(x,f,!0),v=this,B=new FA(this._viewer,this._cesium,y);this._Provider=B,B._loadTile=function(T){var w=[];v.Legend=[];var S=new v._cesium.PrimitiveCollection;return T.features.forEach(function(D){var R=[],P=!1;if(/^\[/.test(f.material)&&/\]$/.test(f.material)){var M=f.material.replace(/\[/,"").replace(/\]/,"");I.material=D.properties[M],v._core.isHtmlColor(I.material)?I.material=v._color.colorFromHtmlColor(I.material):(/^rgb/.test(I.material)&&(I.material=v._color.rgbaStringToRgbaObj(I.material)),I.material.r>1&&(I.material.r=I.material.r/255),I.material.g>1&&(I.material.g=I.material.g/255),I.material.b>1&&(I.material.b=I.material.b/255),I.material.a>1&&(I.material.a=I.material.a/255),I.material=v._color.createColor(I.material.r,I.material.g,I.material.b,I.material.a))}function L(N){for(var G=0;G<N.length;G++)Array.isArray(N[G])?L(N[G]):(R.push(N[G]),G===2&&!P&&(P=!0))}if(Array.isArray(D.geometry.coordinates)&&D.geometry.coordinates.length>0)if(Array.isArray(D.geometry.coordinates[0][0]))for(var F=0;F<D.geometry.coordinates.length;F++)R=[],L(D.geometry.coordinates[F]),k(R);else L(D.geometry.coordinates),k(R);function k(N){var G=P?v._cesium.Cartesian3.fromDegreesArrayHeights(N):v._cesium.Cartesian3.fromDegreesArray(N);I.positions=G;var J={positions:I.positions,width:I.width};D.positions=G,D.treeID=I.id,D.VectorType="polyline",D.VectorStyle={haveZ:P,width:I.width,positions:N,material:I.material,clampToGround:I.clampToGround};var K=null;if(I.clampToGround){var J=new v._cesium.GroundPolylineGeometry(J);K=new v._cesium.GeometryInstance({id:D,geometry:J,attributes:{color:new v._cesium.ColorGeometryInstanceAttribute.fromColor(I.material)}})}else{var X=N,q=N.length/2+1+N.length;if(/^\[/.test(f.height)&&/\]$/.test(f.height)){var ee=f.height.replace(/\[/,"").replace(/\]/,"");I.height=D.properties[ee]}for(var ie=2;ie<q;ie=ie+3)X.splice(ie,0,parseFloat(I.height));var H=v._cesium.Cartesian3.fromDegreesArrayHeights(X);I.positions=H,D.positions=H;var le=new v._cesium.PolylineGeometry(I);K=new v._cesium.GeometryInstance({id:D,geometry:le,attributes:{color:new v._cesium.ColorGeometryInstanceAttribute.fromColor(I.material)}})}var ue="material:"+I.material.red*255+","+I.material.green*255+","+I.material.blue*255;v.Legend.push(ue);var Ae=null;I.clampToGround?Ae=new v._cesium.GroundPolylinePrimitive({geometryInstances:K,appearance:new v._cesium.MaterialAppearance({material:new v._cesium.Material({fabric:{type:"Color",uniforms:{color:I.material}}}),faceForward:!0,flat:!1})}):Ae=new v._cesium.Primitive({geometryInstances:K,appearance:new v._cesium.PolylineMaterialAppearance({material:new v._cesium.Material({fabric:{type:"Color",uniforms:{color:I.material}}})}),shadows:v._cesium.ShadowMode.ENABLED}),S.add(Ae)}}),S},f&&f.time&&(B.availability=new v._cesium.TimeIntervalCollection([new v._cesium.TimeInterval({start:f.time.start?v._cesium.JulianDate.fromDate(new Date(f.time.start)):v._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?v._cesium.JulianDate.fromDate(new Date(f.time.end)):v._cesium.Iso8601.MAXIMUM_VALUE})])),this.item=B._primitiveCollection,B.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var Q={id:I.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polylineLayer",item:this,url:A.url,style:f};return this._Provider.treeID=I.id,this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};sm.prototype.createPolylineVectorGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x={positions:[],arcType:this._cesium.ArcType.GEODESIC,clampToGround:!1,width:1,outlineWidth:1,show:!0,material:this._cesium.Color.WHITE,outlineColor:this._cesium.Color.WHITE,gapColor:this._cesium.Color.TRANSPARENT,height:30},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4326")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4326"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:f.level_min,lowerLevelLimit:f.level_max,Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(f.material=Ul.Color.fromCssColorString(f.material))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(f.outlineColor=Ul.Color.fromCssColorString(f.outlineColor)),!this._core.isnull(f)&&!this._core.isnull(f.gapColor)&&(f.gapColor=Ul.Color.fromCssColorString(f.gapColor));var I=this._core.extend({...x},f,!0),v=this;let B=A.url.indexOf("/gisserver/")>-1;var Q;B?Q=A.url+`/${window.encodeURIComponent("{z}")}/${window.encodeURIComponent("{x}")}/${window.encodeURIComponent("{y}")}.json`:Q=A.url+"?"+this._core._serialize(y.urlParams),this._urlTemplate=Q,this._Provider=new Cs(this._viewer,this._cesium,B?new Ul.WebMercatorTilingScheme:void 0),this._Provider._normalTile=f.level_max-1,this.initThisProvider=()=>{this.initThisProvider=void 0,this._Provider.loadTile=function(P,M){(function(L,F,k){if(F.state===Ul.QuadtreeTileLoadState.START){if(F.data={lines:[],geometryPrimitive:void 0},F.level>=f.level_min&&F.level<f.level_max&&k.item.show){if(B&&(F.reverseY=k._Provider.tilingScheme.getNumberOfYTilesAtLevel(F.level)-F.y-1),k.TileMatrixLimits){let G=k.TileMatrixLimits[F.level];if(!G||G&&(F.x>G.maxCol||F.x<G.minCol||F.y>G.maxRow||F.y<G.minRow)){F.state=Ul.QuadtreeTileLoadState.DONE,F.renderable=!0;return}}var N=Q.replace(window.encodeURIComponent("{x}"),F.x).replace(window.encodeURIComponent("{y}"),F.reverseY||F.y).replace(window.encodeURIComponent("{z}"),F.level);k._cache&&(N+="&"+k._core.getuid()),k._core.xhr({url:N,type:"get",dataType:"json",success:function(G){var J=[],K=[],X=!1;for(var q of G.features){let he=function(fe){for(var ae=0;ae<fe.length;ae++)Array.isArray(fe[ae])?he(fe[ae]):(ae===2&&(fe[ae]=I.height||fe[ae],X=!0),K.push(fe[ae]),ae===1&&fe.length===2&&K.push(I.height||0))},ge=function(fe){var ae=k._cesium.Cartesian3.fromDegreesArrayHeights(fe);I.positions=ae;var U={positions:I.positions,width:I.width};q.positions=ae,f.preLoad&&f.preLoad(I,q),q.treeID=I.id,q.VectorType="polyline",q.VectorStyle={haveZ:X,width:I.width,positions:fe,material:I.material,clampToGround:I.clampToGround};var W=null;if(I.clampToGround){var U=new k._cesium.GroundPolylineGeometry(U);W=new k._cesium.GeometryInstance({id:q,geometry:U,attributes:{color:new k._cesium.ColorGeometryInstanceAttribute.fromColor(I.material),distanceDisplayCondition:new Ul.DistanceDisplayConditionGeometryInstanceAttribute(I.near,I.far)}})}else{var Y=new k._cesium.PolylineGeometry(I);W=new k._cesium.GeometryInstance({id:q,geometry:Y,attributes:{color:new k._cesium.ColorGeometryInstanceAttribute.fromColor(I.material),distanceDisplayCondition:new Ul.DistanceDisplayConditionGeometryInstanceAttribute(I.near,I.far)}})}var z="material:"+I.material.red*255+","+I.material.green*255+","+I.material.blue*255;k.Legend.push(z),J.push(W)};var K=[];if(/^\[/.test(f.material)&&/\]$/.test(f.material)){var ee=f.material.replace(/\[/,"").replace(/\]/,"");I.material=q.properties[ee],I.material=Ul.Color.fromCssColorString(I.material)}if(/^\[/.test(f.height)&&/\]$/.test(f.height)){var ie=f.height.replace(/\[/,"").replace(/\]/,"");I.height=q.properties[ie]}if(Array.isArray(q.geometry.coordinates)&&q.geometry.coordinates.length>0)if(Array.isArray(q.geometry.coordinates[0][0]))for(var H=0;H<q.geometry.coordinates.length;H++)K=[],he(q.geometry.coordinates[H]),ge(K);else he(q.geometry.coordinates),ge(K)}var le=null;let ue;I.dash?ue=new Ul.PolylineMaterialAppearance({material:Ul.Material.fromType(Ul.Material.PolylineDashType,{color:I.material,gapColor:I.gapColor||Ul.Color.TRANSPARENT,dashLength:I.dashLength||20})}):ue=new Ul.PolylineMaterialAppearance({material:new Ul.Material({fabric:{type:"PolylineOutline",uniforms:{color:I.material,outlineColor:I.outlineColor,outlineWidth:I.outlineWidth}}}),faceForward:!0,flat:!1}),I.clampToGround?le=new k._cesium.GroundPolylinePrimitive({geometryInstances:J,appearance:ue,classificationType:I.classificationType}):le=new k._cesium.Primitive({geometryInstances:J,appearance:ue,shadows:k._cesium.ShadowMode.ENABLED}),F.data.geometryPrimitive=le,F.state=Ul.QuadtreeTileLoadState.LOADING,F.state===Ul.QuadtreeTileLoadState.LOADING&&(F.data.geometryPrimitive.update(L,[]),F.state=Ul.QuadtreeTileLoadState.DONE,F.renderable=!0)},error:function(){F.count==null&&(F.count=0),F.count+=1,F.count>=2?(F.state=Ul.QuadtreeTileLoadState.DONE,F.renderable=!0):F.state=Ul.QuadtreeTileLoadState.START}})}else{F.state=Ul.QuadtreeTileLoadState.DONE,F.renderable=!0;return}F.state=Ul.QuadtreeTileLoadState.LOADING}})(P,M,v)},typeof E=="function"&&E(this.item)};let T,w;this.saveDefaultVectorData=()=>{w=v._core.extend({},f,!0)},this.restoreVector=()=>{w&&(f=w,I=v._core.extend({...x},f,!0),v._Provider._normalTile=f.level_max-1,v._primitive&&v._primitive._tilesToRender&&v._primitive._tilesToRender.length&&(v._primitive._tilesToRender.forEach(P=>{P.data.geomeitryPrimitive&&P.data.geomeitryPrimitive.destroy(),P.state=Ul.QuadtreeTileLoadState.START}),v._primitive._tileToUpdateHeights.forEach(P=>{P.data.geomeitryPrimitive&&P.data.geomeitryPrimitive.destroy(),P.state=Ul.QuadtreeTileLoadState.START}),v._primitive._tileToUpdateHeights=[],v._primitive._tilesToRender=[])),w=void 0},this.updataVector=(P={})=>{(P.material||P.outlineColor||P.gapColor)&&(P.material&&(P.material=Ul.Color.fromCssColorString(P.material)),P.outlineColor&&(P.outlineColor=Ul.Color.fromCssColorString(P.outlineColor)),P.gapColor&&(P.gapColor=Ul.Color.fromCssColorString(P.gapColor))),(P.minimumLevel!==void 0||P.maximumLevel!==void 0)&&(P.minimumLevel!==void 0&&(P.level_min=P.minimumLevel),P.maximumLevel!==void 0&&(P.level_max=P.maximumLevel)),f=v._core.extend(f,P,!0),I=v._core.extend(I,f,!0),v._Provider._normalTile=f.level_max-1,v._primitive&&v._primitive._tilesToRender&&v._primitive._tilesToRender.length&&(clearTimeout(T),T=setTimeout(()=>{v._primitive._tilesToRender.forEach(M=>{M.data.geomeitryPrimitive&&M.data.geomeitryPrimitive.destroy(),M.state=Ul.QuadtreeTileLoadState.START}),v._primitive._tileToUpdateHeights.forEach(M=>{M.data.geomeitryPrimitive&&M.data.geomeitryPrimitive.destroy(),M.state=Ul.QuadtreeTileLoadState.START}),v._primitive._tileToUpdateHeights=[],v._primitive._tilesToRender=[]},100))},this._forceRefreshProvider=this._Provider,this._primitive=new v._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:5});var S=this._viewer.scene,D=S.primitives;D.add(this._primitive),this._core.getWMTSData({url:A.url,layer:A.layer,srs:A.srs||"EPSG:4326",gisserverTMS:B},P=>{v.item.boundingSphere=P.boundingSphere,v.TileMatrixLimits=P.TileMatrixLimits,v.initThisProvider()}),f&&f.time&&(geoJSONVectorTileProvider.availability=new v._cesium.TimeIntervalCollection([new v._cesium.TimeInterval({start:f.time.start?v._cesium.JulianDate.fromDate(new Date(f.time.start)):v._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?v._cesium.JulianDate.fromDate(new Date(f.time.end)):v._cesium.Iso8601.MAXIMUM_VALUE})])),C||this.setVisibility(!1),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var R={id:I.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polylineLayer",item:this,url:A.url,style:f};return this._Provider.treeID=I.id,this.setTreeobj(R),this._tree.insertGroupId(R,this._core.isnull(m)?0:m),this};sm.prototype.createPolylineVectorGeoJsonFeatureLayerProviderModel_obsolete=function(o,A,f,m,C,E){var x={positions:[],arcType:this._cesium.ArcType.GEODESIC,clampToGround:!1,width:1,show:!0,material:this._cesium.Color.WHITE,height:30},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var I=this._core.extend(x,f,!0),v=this,B=new FA(this._viewer,this._cesium,y);this._Provider=B,B._loadTile=function(T,w){var S=[],D=new v._cesium.PrimitiveCollection,R=[];if(T.features.forEach(function(P){var M=[];if(/^\[/.test(f.material)&&/\]$/.test(f.material)){var L=f.material.replace(/\[/,"").replace(/\]/,"");I.material=P.properties[L],v._core.isHtmlColor(I.material)?I.material=v._color.colorFromHtmlColor(I.material):(/^rgb/.test(I.material)&&(I.material=v._color.rgbaStringToRgbaObj(I.material)),I.material.r>1&&(I.material.r=I.material.r/255),I.material.g>1&&(I.material.g=I.material.g/255),I.material.b>1&&(I.material.b=I.material.b/255),I.material.a>1&&(I.material.a=I.material.a/255),I.material=v._color.createColor(I.material.r,I.material.g,I.material.b,I.material.a))}function F(J){for(var K=0;K<J.length;K++)Array.isArray(J[K])?F(J[K]):M.push(J[K])}if(Array.isArray(P.geometry.coordinates)&&P.geometry.coordinates.length>0)if(Array.isArray(P.geometry.coordinates[0][0]))for(var k=0;k<P.geometry.coordinates.length;k++)M=[],F(P.geometry.coordinates[k]),N(M),G(M);else F(P.geometry.coordinates),N(M),G(M);function N(J){var K=v._cesium.Cartesian3.fromDegreesArray(J);I.positions=K,P.positions=K;var X={positions:I.positions,width:I.width},q=null;if(I.clampToGround){var X=new v._cesium.GroundPolylineGeometry(X);q=new v._cesium.GeometryInstance({id:P,geometry:X,attributes:{color:new v._cesium.ColorGeometryInstanceAttribute.fromColor(I.material)}})}else{for(var ee=J,ie=J.length/2+1+J.length,H=2;H<ie;H=H+3)ee.splice(H,0,parseFloat(I.height));var le=v._cesium.Cartesian3.fromDegreesArrayHeights(ee);I.positions=le;var ue=new v._cesium.PolylineGeometry(I),Ae=v._cesium.PolylineGeometry.createGeometry(ue);q=new v._cesium.GeometryInstance({id:P,geometry:Ae,attributes:{color:new v._cesium.ColorGeometryInstanceAttribute.fromColor(I.material)}})}var he=null;I.clampToGround?he=new v._cesium.GroundPolylinePrimitive({geometryInstances:q,appearance:new v._cesium.MaterialAppearance({material:new v._cesium.Material({fabric:{type:"Color",uniforms:{color:I.material}}}),faceForward:!0,flat:!1})}):he=new v._cesium.Primitive({geometryInstances:q,appearance:new v._cesium.PolylineMaterialAppearance({material:new v._cesium.Material({fabric:{type:"Color",uniforms:{color:I.material}}})}),shadows:v._cesium.ShadowMode.ENABLED}),D.add(he)}function G(J){var K;I.clampToGround?K=v._cesium.Cartesian3.fromDegreesArray(J):K=v._cesium.Cartesian3.fromDegreesArrayHeights(J);for(var X=1;X<K.length;X++){var q=[];q.push(K[X-1]),q.push(K[X]);var ee=v._cesium.SceneTransforms.wgs84ToWindowCoordinates(v._viewer.scene,K[X-1]).x,ie=v._cesium.SceneTransforms.wgs84ToWindowCoordinates(v._viewer.scene,K[X-1]).y,H=v._cesium.SceneTransforms.wgs84ToWindowCoordinates(v._viewer.scene,K[X]).x,le=v._cesium.SceneTransforms.wgs84ToWindowCoordinates(v._viewer.scene,K[X]).y;v.setPolylinemodels(q,ee,ie,H,le,I,function(ue){R.push(ue)})}}}),R.length){let P;Ul.ModelInstanceCollection?P=new v._cesium.ModelInstanceCollection({url:I.url,instances:R,color:I.color,lightColor:I.lightColor,scale:parseInt(I.scale),heightReference:parseInt(I.heightReference),distanceDisplayCondition:I.distanceDisplayCondition}):(P=new Ul.PrimitiveCollection,R.forEach(M=>{P.add({id:M.modelId,url:I.url,modelMatrix:M.modelMatrix,color:I.color,lightColor:I.lightColor,scale:parseInt(I.scale),heightReference:parseInt(I.heightReference),distanceDisplayCondition:I.distanceDisplayCondition})})),D.add(P)}return D},f&&f.time&&(B.availability=new v._cesium.TimeIntervalCollection([new v._cesium.TimeInterval({start:f.time.start?v._cesium.JulianDate.fromDate(new Date(f.time.start)):v._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?v._cesium.JulianDate.fromDate(new Date(f.time.end)):v._cesium.Iso8601.MAXIMUM_VALUE})])),this.item=B._primitiveCollection,B.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var Q={id:I.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polylineLayer",item:this,url:A.url,style:f};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};sm.prototype.createPolylineVectorGeoJsonFeatureLayerProviderModel=function(o,A,f,m,C,E){var x={positions:[],arcType:this._cesium.ArcType.GEODESIC,clampToGround:!1,width:1,show:!0,material:this._cesium.Color.WHITE,height:30},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};this.item.show=C,!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var I=this._core.extend(x,f,!0),v=this;this._urlTemplate=A.url+"?"+this._core._serialize(y.urlParams);var B=A.url+"?"+this._core._serialize(y.urlParams);this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(S,D){(function(R,P,M){if(P.state===Ul.QuadtreeTileLoadState.START){if(P.data={lines:[],geometryPrimitive:void 0},P.level>=f.level_min&&P.level<f.level_max&&M.item.show){var L=B.replace(window.encodeURIComponent("{x}"),P.x).replace(window.encodeURIComponent("{y}"),P.y).replace(window.encodeURIComponent("{z}"),P.level);M._cache&&(L+="&"+M._core.getuid()),M._core.xhr({url:L,type:"get",dataType:"json",success:function(F){var k=[],N=new M._cesium.PrimitiveCollection,G=F.features,J=[];if(/^\[/.test(f.material)&&/\]$/.test(f.material)){var K=f.material.replace(/\[/,"").replace(/\]/,"");I.material=H.properties[K],M._core.isHtmlColor(I.material)?I.material=M._color.colorFromHtmlColor(I.material):(/^rgb/.test(I.material)&&(I.material=M._color.rgbaStringToRgbaObj(I.material)),I.material.r>1&&(I.material.r=I.material.r/255),I.material.g>1&&(I.material.g=I.material.g/255),I.material.b>1&&(I.material.b=I.material.b/255),I.material.a>1&&(I.material.a=I.material.a/255),I.material=M._color.createColor(I.material.r,I.material.g,I.material.b,I.material.a))}function X(ue){for(var Ae=0;Ae<ue.length;Ae++)Array.isArray(ue[Ae])?X(ue[Ae]):J.push(ue[Ae])}function q(ue){var Ae=M._cesium.Cartesian3.fromDegreesArray(ue);I.positions=Ae,H.positions=Ae;var he={positions:I.positions,width:I.width},ge=null;if(I.clampToGround){var he=new M._cesium.GroundPolylineGeometry(he);ge=new M._cesium.GeometryInstance({id:H,geometry:he,attributes:{color:new M._cesium.ColorGeometryInstanceAttribute.fromColor(I.material)}})}else{for(var fe=ue,ae=ue.length/2+1+ue.length,U=2;U<ae;U=U+3)fe.splice(U,0,parseFloat(I.height));var W=M._cesium.Cartesian3.fromDegreesArrayHeights(fe);I.positions=W;var Y=new M._cesium.PolylineGeometry(I),z=M._cesium.PolylineGeometry.createGeometry(Y);ge=new M._cesium.GeometryInstance({id:H,geometry:z,attributes:{color:new M._cesium.ColorGeometryInstanceAttribute.fromColor(I.material)}})}var re=null;I.clampToGround?re=new M._cesium.GroundPolylinePrimitive({geometryInstances:ge,appearance:new M._cesium.MaterialAppearance({material:new M._cesium.Material({fabric:{type:"Color",uniforms:{color:I.material}}}),faceForward:!0,flat:!1})}):re=new M._cesium.Primitive({geometryInstances:ge,appearance:new M._cesium.PolylineMaterialAppearance({material:new M._cesium.Material({fabric:{type:"Color",uniforms:{color:I.material}}})}),shadows:M._cesium.ShadowMode.ENABLED}),N.add(re)}function ee(ue){var Ae;I.clampToGround?Ae=M._cesium.Cartesian3.fromDegreesArray(ue):Ae=M._cesium.Cartesian3.fromDegreesArrayHeights(ue);for(var he=1;he<Ae.length;he++)try{var ge=[];ge.push(Ae[he-1]),ge.push(Ae[he]);var fe=M._cesium.SceneTransforms.wgs84ToWindowCoordinates(M._viewer.scene,Ae[he-1]).x,ae=M._cesium.SceneTransforms.wgs84ToWindowCoordinates(M._viewer.scene,Ae[he-1]).y,U=M._cesium.SceneTransforms.wgs84ToWindowCoordinates(M._viewer.scene,Ae[he]).x,W=M._cesium.SceneTransforms.wgs84ToWindowCoordinates(M._viewer.scene,Ae[he]).y;M.setPolylinemodels(ge,fe,ae,U,W,I,function(Y){k.push(Y)})}catch{}}for(var ie=0;ie<G.length;ie++){var H=G[ie];if(Array.isArray(H.geometry.coordinates)&&H.geometry.coordinates.length>0)if(Array.isArray(H.geometry.coordinates[0][0]))for(var le=0;le<H.geometry.coordinates.length;le++)J=[],X(H.geometry.coordinates[le]),q(J),ee(J);else X(H.geometry.coordinates),q(J),ee(J)}if(k.length){let ue;Ul.ModelInstanceCollection?ue=new M._cesium.ModelInstanceCollection({url:I.url,instances:k,color:I.color,lightColor:I.lightColor,scale:parseInt(I.scale),heightReference:parseInt(I.heightReference),distanceDisplayCondition:I.distanceDisplayCondition}):(ue=new Ul.PrimitiveCollection,k.forEach(Ae=>{ue.add({id:Ae.modelId,url:I.url,modelMatrix:Ae.modelMatrix,color:I.color,lightColor:I.lightColor,scale:parseInt(I.scale),heightReference:parseInt(I.heightReference),distanceDisplayCondition:I.distanceDisplayCondition})})),N.add(ue)}P.data.geometryPrimitive=N},error:function(){P.count==null&&(P.count=0),P.count+=1,P.count>=2?(P.state=Ul.QuadtreeTileLoadState.DONE,P.renderable=!0):P.state=Ul.QuadtreeTileLoadState.START}})}else{P.state=Ul.QuadtreeTileLoadState.DONE,P.renderable=!0;return}P.state=Ul.QuadtreeTileLoadState.LOADING}})(S,D,v)},this._primitive=new v._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:5});var Q=this._viewer.scene,T=Q.primitives;T.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var w={id:I.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polylineLayer",item:this,url:A.url,style:f};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};sm.prototype.setPolylinemodels=function(o,A,f,m,C,E,x){var y=this._cesium,I=this._core.getSpaceDistancem(o,y),v=10,B=parseFloat(E.distance);B==0||(v=parseInt(I/B));for(var Q=o[0],T=o[o.length-1],w=y.Cartographic.fromCartesian(Q),S=y.Math.toDegrees(w.longitude),D=y.Math.toDegrees(w.latitude),R=y.Cartographic.fromCartesian(T),P=y.Math.toDegrees(R.longitude),M=y.Math.toDegrees(R.latitude),L=v,F=y.Math.lerp(S,P,1/L)-S,k=y.Math.lerp(D,M,1/L)-D,N=0;N<L;N++){var G=S+(N+1)*F,J=D+(N+1)*k,K=y.Transforms.eastNorthUpToFixedFrame(y.Cartesian3.fromDegrees(G,J,parseInt(E.height)));Ul.Matrix4.multiplyByUniformScale(K,parseInt(E.scale),K),x&&x({modelMatrix:K,modelId:E})}};sm.prototype.getType=function(){return{label:"\u7EBF",value:"polylineLayer"}};sm.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.treeobj.url;return{type:this.treeobj.type,treeobj:{name:this.treeobj.name,pId:this.treeobj.pId},style:{show:o,url:A}}};sm.prototype.deleteObject=function(){if(this._viewer.scene.primitives.remove(this.item),this.model!=null&&this.model!=null&&this.model.length>0)for(var o=0;o<this.model.length;o++)this._viewer.scene.primitives.remove(this.model[o]);try{this._Provider.remove()}catch{}};sm.prototype.setTreeobj=function(o){this.treeobj=o};sm.prototype.getLegend=function(){var o=[];return this.Legend!=null&&(o=this._core.unique(this.Legend)),o};sm.prototype.setRefresh=function(o){try{this._Provider&&this._Provider.setStatus(!o)}catch{}};sm.prototype.setVisibility=function(o){if(this.item!=null&&(this.item.show=o),this._Provider&&this._Provider.setStatus(o),this.model!=null&&this.model!=null&&this.model.length>0)for(var A=0;A<this.model.length;A++)this.model[A].show=o};sm.prototype.edit=function(o,A){return this.editoption=A,this.isEditting=o,this._Provider&&this._Provider.edit&&this._Provider.edit(o,A)};sm.prototype.forceRefresh=function(){try{for(var o=0;o<this._Provider.quadtree._levelZeroTiles.length;o++)this._Provider.quadtree._levelZeroTiles[o].freeResources()}catch{}};var YT=sm;function xc(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._color=new In(this._viewer,this._cesium),this._tree=Ke,this._createGroup=new Ek,this.model=[],this.heading=this._cesium.Math.toRadians(0),this.pitch=this._cesium.Math.toRadians(0),this.roll=this._cesium.Math.toRadians(0),this.rotate=10,this.state=0,this.modelPointArr=[],this.modifyModel=null,this.modifyPoint=null,this.modifyHandler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),this.objId=Number(new Date().getTime()+""+Number(Math.random()*1e3).toFixed(0)),this.position=null,this.tempPoints=[],this.scale=0,this.Radius=20}xc.prototype.exectPointModel=function(o,A,f,m,C,E){var x={positions:[],arcType:this._cesium.ArcType.GEODESIC,clampToGround:!1,width:1,show:!0,material:this._cesium.Color.WHITE,height:30};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!this._core.isnull(f)&&!this._core.isnull(f.color)&&(f.color.toString().charAt(0)=="["&&f.color.toString().charAt(f.color.length-1)=="]"||(this._core.isHtmlColor(f.color)?f.color=this._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=this._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=this._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a)))),!this._core.isnull(f)&&!this._core.isnull(f.lightColor)&&(f.lightColor.toString().charAt(0)=="["&&f.lightColor.toString().charAt(f.lightColor.length-1)=="]"||(this._core.isHtmlColor(f.lightColor)?f.lightColor=this._color.colorFromHtmlColor(f.lightColor):(/^rgb/.test(f.lightColor)&&(f.lightColor=this._color.rgbaStringToRgbaObj(f.lightColor)),f.lightColor.r>1&&(f.lightColor.r=f.lightColor.r/255),f.lightColor.g>1&&(f.lightColor.g=f.lightColor.g/255),f.lightColor.b>1&&(f.lightColor.b=f.lightColor.b/255),f.lightColor.a>1&&(f.lightColor.a=f.lightColor.a/255),f.lightColor=this._color.createColor(f.lightColor.r,f.lightColor.g,f.lightColor.b,f.lightColor.a)))),!this._core.isnull(f)&&!this._core.isnull(f.linecolor)&&(f.linecolor.toString().charAt(0)=="["&&f.linecolor.toString().charAt(f.linecolor.length-1)=="]"||(this._core.isHtmlColor(f.linecolor)?f.linecolor=this._color.colorFromHtmlColor(f.linecolor):(/^rgb/.test(f.linecolor)&&(f.linecolor=this._color.rgbaStringToRgbaObj(f.linecolor)),f.linecolor.r>1&&(f.linecolor.r=f.linecolor.r/255),f.linecolor.g>1&&(f.linecolor.g=f.linecolor.g/255),f.linecolor.b>1&&(f.linecolor.b=f.linecolor.b/255),f.linecolor.a>1&&(f.linecolor.a=f.linecolor.a/255),f.linecolor=this._color.createColor(f.linecolor.r,f.linecolor.g,f.linecolor.b,f.linecolor.a))));var y=this._core.extend(x,f,!0);this._core.isnull(f.near)&&(f.near=0),this._core.isnull(f.far)&&(f.far=999999999);var I=parseFloat(f.near),v=parseFloat(f.far),B=new this._cesium.DistanceDisplayCondition(I,v);y.distanceDisplayCondition=B,A==null&&console.log("geojson is required");var Q=null;A.then?Q=A:Q=this._cesium.GeoJsonDataSource.load(A);var T=this;Q.then(function(S){for(var D=S.entities.values,R=[],D=S.entities.values,R=[],P=0;P<D.length;P++){var M=D[P],L=new T._cesium.GeometryInstance({id:M,geometry:new T._cesium.CorridorGeometry({positions:M.polyline.positions._value,width:y.width,height:y.height,arcType:y.arcType,vertexFormat:T._cesium.VertexFormat.POSITION_ONLY}),attributes:{color:new T._cesium.ColorGeometryInstanceAttribute.fromColor(y.linecolor)}});R.push(L)}var F;f&&f.time&&(F=new T._cesium.TimeIntervalCollection([new T._cesium.TimeInterval({start:f.time.start?T._cesium.JulianDate.fromDate(new Date(f.time.start)):T._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?T._cesium.JulianDate.fromDate(new Date(f.time.end)):T._cesium.Iso8601.MAXIMUM_VALUE})]));var k=T._viewer.scene.primitives.add(new T._cesium.GroundPrimitive({geometryInstances:R,classificationType:T._cesium.ClassificationType.BOTH}),F);k.show=y.show,T.item=k;for(var N=[],P=0;P<D.length;P++)for(var M=D[P],G=y,J=M.polyline.positions.getValue(),K=1;K<J.length;K++)try{var X=[];X.push(J[K-1]),X.push(J[K]);var q=T._cesium.SceneTransforms.wgs84ToWindowCoordinates(T._viewer.scene,J[K-1]).x,ee=T._cesium.SceneTransforms.wgs84ToWindowCoordinates(T._viewer.scene,J[K-1]).y,ie=T._cesium.SceneTransforms.wgs84ToWindowCoordinates(T._viewer.scene,J[K]).x,H=T._cesium.SceneTransforms.wgs84ToWindowCoordinates(T._viewer.scene,J[K]).y;N=T.setPolylinemodels(X,q,ee,ie,H,N,y,T._cesium,T._viewer,F)}catch{}let le;Cesium.ModelInstanceCollection?le=new T._cesium.ModelInstanceCollection({url:y.url,instances:N,color:y.color,lightColor:y.lightColor,scale:parseInt(y.scale),heightReference:parseInt(y.heightReference),distanceDisplayCondition:y.distanceDisplayCondition}):(le=new Cesium.PrimitiveCollection,N.forEach(ue=>{le.add({id:ue.modelId,url:y.url,modelMatrix:ue.modelMatrix,color:y.color,lightColor:y.lightColor,scale:parseInt(y.scale),heightReference:parseInt(y.heightReference),distanceDisplayCondition:y.distanceDisplayCondition})})),T._viewer.scene.primitives.add(le),T.model.push(le),C||T.setVisibility(!1),typeof E=="function"&&E(k)}),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id);var w={id:y.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polylineLayer",item:this};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),this};xc.prototype.createPointModel=function(o,A){var f=this,m=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),C=[],E=null,x=0,y=null,I=[],v,B=o.parameterd,Q=o.objid,T=o.cyjj,w=o.url;this.modelurl=w;var S=[],D={point:f._cesium.Color.RED,polyline:f._cesium.Color.YELLOW};Object.keys(o).length>0&&(o.point!=""&&o.point!=null&&(D.point=o.point),o.polyline!=""&&o.polyline!=null&&(D.polyline=o.polyline));var R=this._core.CreateTooltip(),P="",M={spot:[],distance:[],label:[],polyline:[],model:[]};m.setInputAction(function(F){C.length===0?R.showAt(F.endPosition,"\u5DE6\u952E\u5F00\u59CB,\u53F3\u952E\u7ED3\u675F\uFF01"):R.showAt(F.endPosition,"\u53F3\u952E\u7ED3\u675F\uFF01");var k=f._viewer.camera.getPickRay(F.endPosition);y=f._viewer.scene.globe.pick(k,f._viewer.scene),C.length>=2&&(f._cesium.defined(E)?(C.pop(),C.push(y)):E=new L(C),x=f._core.getHorizontalDistance(C,f._cesium))},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),m.setInputAction(function(F){var k=f._viewer.camera.getPickRay(F.position);y=f._viewer.scene.globe.pick(k,f._viewer.scene),C.length==0&&C.push(y.clone());var N={px:F.position.x,py:F.position.y};C.push(y);var G={positionsxp:y,lxy:N};S.push(G);var J=x;P="\u603B\u957F\uFF1A"+x,M.spot.push(y),M.distance.push(x)},this._cesium.ScreenSpaceEventType.LEFT_CLICK),m.setInputAction(function(F){m.destroy(),C.pop();for(var k=0;k<I.length;k++)f._viewer.entities.remove(I[k]);for(var N=[],G=1;G<S.length;G++){var J=[],K=S[G-1].lxy.px,X=S[G-1].lxy.py,q=S[G].lxy.px,ee=S[G].lxy.py,ie=B;J.push(S[G-1].positionsxp),J.push(S[G].positionsxp),N=f.setPolylinemodel(J,K,X,q,ee,ie,T,f.modelurl,N,f._cesium,f._viewer)}M.model=N,A!=""&&A!=null&&typeof A=="function"&&A(M),R.show(!1)},this._cesium.ScreenSpaceEventType.RIGHT_CLICK);var L=function(){function F(k){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:D.polyline,width:3,clampToGround:!0}},this.positions=k,this._init()}return F.prototype._init=function(){var k=this,N=function(){return k.positions};this.options.polyline.positions=new f._cesium.CallbackProperty(N,!1);var G=f._viewer.entities.add(this.options);f.item=G,I.push(G),M.polyline.push(G)},F}();return this};xc.prototype.setPolylinemodel=function(o,A,f,m,C,E,x,y,I,v,B){var Q=this._core.getSpaceDistancem(o,v);x==0||(E=parseInt(Q/x));for(var T=o[0],w=o[o.length-1],S=v.Cartographic.fromCartesian(T),D=v.Math.toDegrees(S.longitude),R=v.Math.toDegrees(S.latitude),P=S.height,M=v.Cartographic.fromCartesian(w),L=v.Math.toDegrees(M.longitude),F=v.Math.toDegrees(M.latitude),k=M.height,N=E,G=v.Math.lerp(D,L,1/N)-D,J=v.Math.lerp(R,F,1/N)-R,K=v.Math.lerp(A,m,1/N)-A,X=v.Math.lerp(f,C,1/N)-f,q=[],ee,ie,H=0;H<N;H++){var le=D+(H+1)*G,ue=R+(H+1)*J;H==0?ee=new v.Cartesian3(le,ue,0):H==1&&(ie=new v.Cartesian3(le,ue,0));var fe=A+(H+1)*K,ae=f+(H+1)*X,Ae={x:fe,y:ae},Ae={x:fe,y:ae},he=B.camera.pickEllipsoid(Ae,B.scene.globe.ellipsoid),ge=v.Cartographic.fromCartesian(he),fe=v.Math.toDegrees(ge.longitude),ae=v.Math.toDegrees(ge.latitude),U=v.Transforms.eastNorthUpToFixedFrame(v.Cartesian3.fromDegrees(fe,ae,6)),W=v.Model.fromGltf({url:y,modelMatrix:U,scale:100}),Y=B.scene.primitives.add(W);I.push(W)}return I};xc.prototype.setPolylinemodels_obsolete=function(o,A,f,m,C,E,x,y,I,v){var B=this._core.getSpaceDistancem(o,y),Q=10,T=parseFloat(x.distance);T==0||(Q=parseInt(B/T));for(var w=o[0],S=o[o.length-1],D=y.Cartographic.fromCartesian(w),R=y.Math.toDegrees(D.longitude),P=y.Math.toDegrees(D.latitude),M=D.height,L=y.Cartographic.fromCartesian(S),F=y.Math.toDegrees(L.longitude),k=y.Math.toDegrees(L.latitude),N=L.height,G=y.Math.toDegrees(D.height),J=Q,K=y.Math.lerp(R,F,1/J)-R,X=y.Math.lerp(P,k,1/J)-P,q=y.Math.lerp(A,m,1/J)-A,ee=y.Math.lerp(f,C,1/J)-f,ie=[],H,le,ue=0;ue<J;ue++){var Ae=R+(ue+1)*K,he=P+(ue+1)*X,ge=y.Transforms.eastNorthUpToFixedFrame(y.Cartesian3.fromDegrees(Ae,he,x.height)),fe=parseInt(x.heightReference),ae=y.Model.fromGltf({url:x.url,modelMatrix:ge,color:x.color,lightColor:x.lightColor,scale:parseInt(x.scale),heightReference:parseInt(x.heightReference),distanceDisplayCondition:x.distanceDisplayCondition}),U=I.scene.primitives.add(ae,v);E.push(ae)}return E};xc.prototype.setPolylinemodels=function(o,A,f,m,C,E,x,y,I,v){var B=this._core.getSpaceDistancem(o,y),Q=10,T=parseFloat(x.distance);T==0||(Q=parseInt(B/T));for(var w=o[0],S=o[o.length-1],D=y.Cartographic.fromCartesian(w),R=y.Math.toDegrees(D.longitude),P=y.Math.toDegrees(D.latitude),M=D.height,L=y.Cartographic.fromCartesian(S),F=y.Math.toDegrees(L.longitude),k=y.Math.toDegrees(L.latitude),N=L.height,G=y.Math.toDegrees(D.height),J=Q,K=y.Math.lerp(R,F,1/J)-R,X=y.Math.lerp(P,k,1/J)-P,q=y.Math.lerp(A,m,1/J)-A,ee=y.Math.lerp(f,C,1/J)-f,ie=[],H,le,ue=0;ue<J;ue++){var Ae=R+(ue+1)*K,he=P+(ue+1)*X,ge=y.Transforms.eastNorthUpToFixedFrame(y.Cartesian3.fromDegrees(Ae,he,parseInt(x.height?x.height:0))),fe=parseInt(x.heightReference);Cesium.Matrix4.multiplyByUniformScale(ge,parseInt(x.scale),ge),E.push({modelMatrix:ge,modelId:x})}return E};xc.prototype.createPolygonModel=function(o,A,f,m,C,E){var x={height:0,extrudedHeight:0,heightReference:this._cesium.HeightReference.RELATIVE_TO_GROUND,show:!0,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,stRotation:0,granularity:this._cesium.Math.RADIANS_PER_DEGREE,perPositionHeight:!1,closeTop:!0,closeBottom:!0,shadows:this._cesium.ShadowMode.ENABLED,clampToGround:!0,scale:1,classificationType:this._cesium.ClassificationType.BOTH},y=f.modelurl;!this._core.isnull(f)&&!this._core.isnull(f.fill)&&(this._core.isHtmlColor(f.fill)?f.material=this._color.colorFromHtmlColor(f.fill):(/^rgb/.test(f.fill)&&(f.material=this._color.rgbaStringToRgbaObj(f.fill)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a))),!this._core.isnull(f)&&!this._core.isnull(f.color)&&(this._core.isHtmlColor(f.color)?f.color=this._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=this._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=this._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a))),!this._core.isnull(f)&&!this._core.isnull(f.lightColor)&&(this._core.isHtmlColor(f.lightColor)?f.lightColor=this._color.colorFromHtmlColor(f.lightColor):(/^rgb/.test(f.lightColor)&&(f.lightColor=this._color.rgbaStringToRgbaObj(f.lightColor)),f.lightColor.r>1&&(f.lightColor.r=f.lightColor.r/255),f.lightColor.g>1&&(f.lightColor.g=f.lightColor.g/255),f.lightColor.b>1&&(f.lightColor.b=f.lightColor.b/255),f.lightColor.a>1&&(f.lightColor.a=f.lightColor.a/255),f.lightColor=this._color.createColor(f.lightColor.r,f.lightColor.g,f.lightColor.b,f.lightColor.a)));var I=this._core.extend(x,f,!0);f.checked=C,I.heightReference=this._cesium.HeightReference.RELATIVE_TO_GROUND;var v={clampToGround:!0};A==null&&console.log("geojson is required");var B=null;A.then?B=A:B=this._cesium.GeoJsonDataSource.load(A,v),this._viewer.dataSources.add(B);var Q=this,T;f&&f.time&&(T=new Q._cesium.TimeIntervalCollection([new Q._cesium.TimeInterval({start:f.time.start?Q._cesium.JulianDate.fromDate(new Date(f.time.start)):Q._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?Q._cesium.JulianDate.fromDate(new Date(f.time.end)):Q._cesium.Iso8601.MAXIMUM_VALUE})])),B.then(function(S){Q.item=S,Q.model=[];var D=S.entities.values;Q._core.isnull(f.near)&&(f.near=0),Q._core.isnull(f.far)&&(f.far=999999999);var R=parseFloat(f.near),P=parseFloat(f.far),M=new Q._cesium.DistanceDisplayCondition(R,P);I.distanceDisplayCondition=M;for(var L=0;L<D.length;L++){var F=D[L];I.height=parseFloat(Q._core.extendgl(F,f.height,I.height)),I.extrudedHeight=parseFloat(Q._core.extendgl(F,f.extrudedHeight,I.extrudedHeight)),I.heightReference=Q._core.extendgl(F,f.heightReference,I.heightReference),I.show=Q._core.extendgl(F,f.show,I.show),I.material=Q._core.extendgl(F,f.material,I.material),I.outline=Q._core.extendgl(F,f.outline,I.outline),I.outlineColor=Q._core.extendgl(F,f.outlineColor,I.outlineColor),I.outlineWidth=parseFloat(Q._core.extendgl(F,f.outlineWidth,I.outlineWidth)),I.stRotation=Q._core.extendgl(F,f.stRotation,I.stRotation),I.granularity=Q._core.extendgl(F,f.granularity,I.granularity),I.distanceDisplayCondition=Q._core.extendgl(F,f.distanceDisplayCondition,I.distanceDisplayCondition),I.perPositionHeight=Q._core.extendgl(F,f.perPositionHeight,I.perPositionHeight),I.closeTop=Q._core.extendgl(F,f.closeTop,I.closeTop),I.closeBottom=Q._core.extendgl(F,f.closeBottom,I.closeBottom),I.shadows=Q._core.extendgl(F,f.shadows,I.shadows),I.classificationType=Q._core.extendgl(F,f.classificationType,I.classificationType);var k=F.polygon._hierarchy._value.positions;F.polygon.heightReference=1,F.polygon.show=I.show,F.polygon.material=I.material,F.polygon.outline=I.outline,F.polygon.outlineColor=I.outlineColor,F.polygon.outlineWidth=I.outlineWidth,F.polygon.stRotation=I.stRotation,F.polygon.granularity=I.granularity,F.polygon.distanceDisplayCondition=M,F.polygon.closeTop=I.closeTop,F.polygon.closeBottom=I.closeBottom,F.polygon.shadows=I.shadows,F.polygon.classificationType=I.classificationType,T&&(F.availability=T);for(var N=[],G=F.polygon.hierarchy.getValue().positions,J=0;J<G.length;J++){var K=Q._cesium.Math.toDegrees(Q._cesium.Cartographic.fromCartesian(G[J]).longitude),X=Q._cesium.Math.toDegrees(Q._cesium.Cartographic.fromCartesian(G[J]).latitude);N.push(K),N.push(X)}var q=Q.getTheBottomPoint(N),ee=Q.scanningPolygon(q,I.offset_x,I.offset_y,N),ie=[];ee.forEach(function(H){var le=Q._cesium.Transforms.eastNorthUpToFixedFrame(Q._cesium.Cartesian3.fromDegrees(H.lon,H.lat,I.height)),ue=Q._cesium.Model.fromGltf({url:y,color:I.color,silhouetteColor:I.lightColor,silhouetteSize:I.lightWidth,modelMatrix:le,scale:I.scale,heightReference:parseInt(I.heightReference),distanceDisplayCondition:M}),Ae=Q._viewer.scene.primitives.add(ue,T);ue.time=T,Q.model.push(ue)})}f.checked||Q.setVisibility(!1),typeof E=="function"&&E(S)}),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id);var w={id:I.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A,style:I};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),this};xc.prototype.setItem=function(o){this.item=o};xc.prototype.modelMove=function(){this._tree.removeHandler(),this._tree.starttemporaryItem(this._viewer),this.yd=!1;var o=this;this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),this._tree.handler.setInputAction(function(A){var f=o._viewer.scene.pickPosition(A.position),m=o._viewer.scene.pick(A.position);if(o.yd!=null&&o.yd&&o._tree.handler.destroy(),o.yd=!0,m.tileset!=null){var C=m.tileset,E=o._cesium.Cartographic.fromCartesian(C.boundingSphere.center),x=o._cesium.Cartesian3.fromRadians(E.longitude,E.latitude,E.height);o._tree.handler.setInputAction(function(y){var I=o._viewer.scene.pickPosition(y.endPosition),v=o._cesium.Cartographic.fromCartesian(I),B=o._cesium.Cartesian3.fromRadians(v.longitude,v.latitude,E.height),Q=o._cesium.Cartesian3.subtract(B,x,new o._cesium.Cartesian3);C.modelMatrix=o._cesium.Matrix4.fromTranslation(Q)},o._cesium.ScreenSpaceEventType.MOUSE_MOVE)}},o._cesium.ScreenSpaceEventType.LEFT_CLICK)};xc.prototype.getTheBottomPoint=function(o){for(var A=90,f=0,m=1;m<o.length;m+=2)A=A<o[m]?A:(f=m)&&o[m];return{lon:o[f-1],lat:o[f]}};xc.prototype.scanningPolygon=function(o,A,f,m){for(var C=[],E=180,x=-180,y=-90,I,v,B,Q,T,w=0;w<m.length;w+=2)y=y>m[w+1]?y:m[w+1],E=E<m[w]?E:m[w],x=x>m[w]?x:m[w];var S=this.GetPositionFromA_D(o.lat,o.lon,f,0),D=this.GetPositionFromA_D(o.lat,o.lon,A,90);for(I=D[0]-o.lon,v=S[1]-o.lat,C.push({lon:o.lon,lat:o.lat}),T={lon:o.lon,lat:o.lat},T.lat+=v;T.lat<=y;T.lat+=v){for(B={lon:T.lon-I,lat:T.lat},Q={lon:T.lon+I,lat:T.lat},this.IsInPolygon(T.lon,T.lat,m)&&C.push({lon:T.lon,lat:T.lat});B.lon>=E;B.lon-=I)this.IsInPolygon(B.lon,B.lat,m)&&C.push({lon:B.lon,lat:B.lat});for(;Q.lon<=x;Q.lon+=I)this.IsInPolygon(Q.lon,Q.lat,m)&&C.push({lon:Q.lon,lat:Q.lat})}return C};xc.prototype.GetPositionFromA_D=function(o,A,f,m){var C=6378137,E=6356725,x=f*Math.sin(m*Math.PI/180),y=f*Math.cos(m*Math.PI/180),I=E+(C-E)*(90-o)/90,v=I*Math.cos(o*Math.PI/180),B=(x/v+A*Math.PI/180)*180/Math.PI,Q=(y/I+o*Math.PI/180)*180/Math.PI;return[B,Q]};xc.prototype.IsInPolygon=function(o,A,f){var m=0,C,E,x,y,I;if(f.length<6)return!1;f.push(f[0],f[1]);for(var v=0;v<f.length-2;v+=2)C=f[v],x=f[v+1],E=f[v+2],y=f[v+3],(A>=x&&A<y||A>=y&&A<x)&&Math.abs(x-y)>0&&(I=C-(C-E)*(x-A)/(x-y),I<=o&&m++);return m%2!==0};xc.prototype.createModel=function(o,A,f,m,C,E){var x={id:this._core.getuid(),uri:A,show:!0,heading:0,pitch:0,roll:0,scale:1},y=this._core.extend(x,f,!0);this._position=o;var I={id:y.id,position:this._cesium.Cartesian3.fromDegrees(this._position[0],this._position[1],this._position[2]),model:y};(y.heading||y.pitch||y.roll)&&(this.heading=y.heading,this.pitch=y.pitch,this.roll=y.roll,I.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this._cesium.Cartesian3.fromDegrees(this._position[0],this._position[1],this._position[2]),new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._cesium.defaultValue(y.heading,0)),this._cesium.Math.toRadians(this._cesium.defaultValue(y.pitch,0)),this._cesium.Math.toRadians(this._cesium.defaultValue(y.roll,0)))));var v=this;y.rotate&&(I.orientation=new this._cesium.CallbackProperty(B,!1),v.rotate=y.rotate,delete y.rotate);function B(){return v.heading=v.heading+v.rotate,v._cesium.Transforms.headingPitchRollQuaternion(v._cesium.Cartesian3.fromDegrees(v._position[0],v._position[1],v._position[2]),new v._cesium.HeadingPitchRoll(v._cesium.Math.toRadians(v._cesium.defaultValue(v.heading,0)),v._cesium.Math.toRadians(v._cesium.defaultValue(v.pitch,0)),v._cesium.Math.toRadians(v._cesium.defaultValue(v.roll,0))))}delete y.heading,delete y.pitch,delete y.roll,I.model=y,this.item=this._viewer.entities.add(I),typeof E=="function"&&E(this.item);var Q={id:this.item.id,name:C||"\u65B0\u5EFA\u6A21\u578B"+x.id,pId:this._core.isnull(m)?0:m,type:"Point",item:this.item};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),this};xc.prototype.createModelEditable=function(o,A,f,m,C,E){var x={id:this._core.getuid(),uri:A,show:!0,heading:0,pitch:0,roll:0,scale:1},y=this._core.extend(x,f,!0);this._position=o;var I={position:this._cesium.Cartesian3.fromDegrees(this._position[0],this._position[1],this._position[2]),model:y},v=this._cesium.Cartesian3.fromDegrees(this._position[0],this._position[1],this._position[2]),B=this.createCylinder(v,new this._cesium.CallbackProperty(R,!1),new this._cesium.CallbackProperty(N,!1),new this._cesium.CallbackProperty(G,!1),this._cesium.Color.LIMEGREEN,!1);B.oid=1,this.modelPointArr.push(B);var Q=this.createCylinder(v,new this._cesium.CallbackProperty(P,!1),new this._cesium.CallbackProperty(N,!1),new this._cesium.CallbackProperty(G,!1),this._cesium.Color.MEDIUMBLUE,!1);Q.oid=2,this.modelPointArr.push(Q);var T=this.createCylinder(v,new this._cesium.CallbackProperty(M,!1),new this._cesium.CallbackProperty(N,!1),new this._cesium.CallbackProperty(G,!1),this._cesium.Color.RED,!1);T.oid=3,this.modelPointArr.push(T);var w=this.creatBillboard(v,new this._cesium.CallbackProperty(J,!1),"../../img/j.png",!1);w.oid=4,this.modelPointArr.push(w);var S=this.creatBillboard(v,new this._cesium.CallbackProperty(K,!1),"../../img/s.png",!1);S.oid=5,this.modelPointArr.push(S),(y.heading||y.pitch||y.roll)&&(this.heading=y.heading,this.pitch=y.pitch,this.roll=y.roll,I.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this._cesium.Cartesian3.fromDegrees(this._position[0],this._position[1],this._position[2]),new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._cesium.defaultValue(y.heading,0)),this._cesium.Math.toRadians(this._cesium.defaultValue(y.pitch,0)),this._cesium.Math.toRadians(this._cesium.defaultValue(y.roll,0)))));var D=this;y.rotate&&(I.orientation=new this._cesium.CallbackProperty(F,!1),D.rotate=y.rotate,delete y.rotate),I.orientation=new this._cesium.CallbackProperty(L,!1),D.scale=y.scale,I.model.scale=new this._cesium.CallbackProperty(k,!1);function R(){var q=D._cesium.Cartesian3.fromDegrees(D._position[0],D._position[1],D._position[2]),ee=D._cesium.Math.toRadians(D.heading),ie=new D._cesium.HeadingPitchRoll(ee,D._cesium.Math.toRadians(D.pitch),D._cesium.Math.toRadians(D.roll));return D._cesium.Transforms.headingPitchRollQuaternion(q,ie)}function P(){var q=D._cesium.Cartesian3.fromDegrees(D._position[0],D._position[1],D._position[2]),ee=D._cesium.Math.toRadians(D.heading),ie=new D._cesium.HeadingPitchRoll(ee,D._cesium.Math.toRadians(90+D.pitch),D._cesium.Math.toRadians(D.roll));return D._cesium.Transforms.headingPitchRollQuaternion(q,ie)}function M(){var q=D._cesium.Cartesian3.fromDegrees(D._position[0],D._position[1],D._position[2]),ee=D._cesium.Math.toRadians(D.heading),ie=new D._cesium.HeadingPitchRoll(ee,D._cesium.Math.toRadians(D.pitch),D._cesium.Math.toRadians(90+D.roll));return D._cesium.Transforms.headingPitchRollQuaternion(q,ie)}function L(){return D._cesium.Transforms.headingPitchRollQuaternion(D._cesium.Cartesian3.fromDegrees(D._position[0],D._position[1],D._position[2]),new D._cesium.HeadingPitchRoll(D._cesium.Math.toRadians(D._cesium.defaultValue(D.heading,0)),D._cesium.Math.toRadians(D._cesium.defaultValue(D.pitch,0)),D._cesium.Math.toRadians(D._cesium.defaultValue(D.roll,0))))}function F(){return D.heading=D.heading+D.rotate,D._cesium.Transforms.headingPitchRollQuaternion(D._cesium.Cartesian3.fromDegrees(D._position[0],D._position[1],D._position[2]),new D._cesium.HeadingPitchRoll(D._cesium.Math.toRadians(D._cesium.defaultValue(D.heading,0)),D._cesium.Math.toRadians(D._cesium.defaultValue(D.pitch,0)),D._cesium.Math.toRadians(D._cesium.defaultValue(D.roll,0))))}function k(){return D.scale}function N(){return D.Radius*D.scale}function G(){return D.Radius*100}function J(){return new D._cesium.Cartesian2(0,-(D.Radius*D.scale))}function K(){return new D._cesium.Cartesian2(-(D.Radius*D.scale),0)}delete y.heading,delete y.pitch,delete y.roll,I.model=y,this.item=this._viewer.entities.add(I),this.item.objId=this.objId,this.state=1,typeof E=="function"&&E(this.item);var X={id:this.item.id,name:C||"\u65B0\u5EFA\u6A21\u578B"+x.id,pId:this._core.isnull(m)?0:m,type:"Point",item:this.item};return this.setTreeobj(X),this._tree.insertGroupId(X,this._core.isnull(m)?0:m),this};xc.prototype.createOrientation=function(o,A,f){var m=this._cesium.Math.toRadians(0),C=new this._cesium.HeadingPitchRoll(m,this._cesium.Math.toRadians(A),this._cesium.Math.toRadians(f));return this._cesium.Transforms.headingPitchRollQuaternion(o,C)};xc.prototype.createCylinder=function(o,A,f,m,C,E){if(!!o)return this._viewer.entities.add({position:o,orientation:A,cylinder:{length:10,topRadius:f,bottomRadius:f,fill:!1,material:C.withAlpha(.5),outline:!0,outlineWidth:10,outlineColor:C,numberOfVerticalLines:m,slices:m},show:E})};xc.prototype.startModify=function(){if(!(this.state!=2&&this.state!=1)){var o=this;this.modifyHandler||(this.modifyHandler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas));for(var A=0;A<o.modelPointArr.length;A++){var f=o.modelPointArr[A];f&&(f.show=!0)}var m,C,E,x,y,I;this.modifyHandler.setInputAction(function(v){var B=o._viewer.scene.pick(v.position);o._cesium.defined(B)&&B.id&&(B.id.objId?o.modifyModel=B.id:o.modifyPoint&&(o.modifyPoint.oid==4||o.modifyPoint.oid==5)?(B.id.oid!=o.modifyPoint.oid&&(o.modifyPoint=B.id),o.modifyPoint.oid==4?o.scale=o.scale+1:o.scale=o.scale-1):o.modifyPoint=B.id,o.forbidDrawWorld(!0));var Q=o._cesium.Cartesian3.fromDegrees(o._position[0],o._position[1],o._position[2]);m=o._cesium.SceneTransforms.wgs84ToWindowCoordinates(o._viewer.scene,Q),C=v.position,x=o.heading+0,I=o.roll+0,y=o.pitch+0,o.state=2},this._cesium.ScreenSpaceEventType.LEFT_DOWN),this.modifyHandler.setInputAction(function(v){var B=o._viewer.scene.pick(v.position);if(!(o._cesium.defined(B)&&B.id)){for(var Q=0;Q<o.modelPointArr.length;Q++){var T=o.modelPointArr[Q];T&&(T.show=!1)}o.modifyHandler&&(o.modifyHandler.destroy(),o.modifyHandler=null)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.modifyHandler.setInputAction(function(v){var B=o._viewer.scene.pick(v.endPosition);if(!(!o.modifyModel&&!o.modifyPoint)){var Q=o._viewer.scene.pickPosition(v.endPosition);if(Q){if(o.modifyModel){o.item.position.setValue(Q);for(var T=0;T<o.modelPointArr.length;T++){var w=o.modelPointArr[T];w&&w.position.setValue(Q)}}else if(o.modifyPoint){E=v.endPosition;var S=o.arge(m,C,E);o.modifyPoint.oid==1?o.heading=x+S:o.modifyPoint.oid==2?o.roll=I+S:o.modifyPoint.oid==3&&(o.pitch=y+S)}}}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.modifyHandler.setInputAction(function(v){!o.modifyPoint&&!o.modifyModel||o.modifyPoint&&(o.modifyPoint.oid==4||o.modifyPoint.oid==5)||(o.modifyPoint=null,o.modifyModel=null,o.forbidDrawWorld(!1))},this._cesium.ScreenSpaceEventType.LEFT_UP)}};xc.prototype.creatBillboard=function(o,A,f,m){var C=this._viewer.entities.add({position:o,show:m,billboard:{image:f,pixelOffset:A,verticalOrigin:this._cesium.VerticalOrigin.BOTTOM}});return C.attr="editPoint",C};xc.prototype.arge=function(o,A,f){var m=Math.sqrt(Math.pow(o.x-A.x,2)+Math.pow(o.y-A.y,2)),C=Math.sqrt(Math.pow(o.x-f.x,2)+Math.pow(o.y-f.y,2)),E=Math.sqrt(Math.pow(A.x-f.x,2)+Math.pow(A.y-f.y,2)),x=(Math.pow(m,2)+Math.pow(C,2)-Math.pow(E,2))/(2*m*C);return Math.round(Math.acos(x)*180/Math.PI)};xc.prototype.forbidDrawWorld=function(o){this._viewer.scene.screenSpaceCameraController.enableRotate=!o,this._viewer.scene.screenSpaceCameraController.enableTilt=!o,this._viewer.scene.screenSpaceCameraController.enableTranslate=!o,this._viewer.scene.screenSpaceCameraController.enableInputs=!o};xc.prototype.getCatesian3FromPX=function(o,A,f){var m=A.scene.pick(o),C,E=A.scene.drillPick(o),x=null;if(f){for(var y=0;y<E.length;y++)if(E[y].id._id!=f[0].id&&E[y].id._id!=f[1].id){x=E[y].id;break}}else x=m;if(A.scene.pickPositionSupported&&Cesium.defined(x))C=A.scene.pickPosition(o);else{var I=A.camera.getPickRay(o);if(!I)return;C=A.scene.globe.pick(I,A.scene)}return C};xc.prototype.setTreeobj=function(o){this.treeobj=o};xc.prototype.setVisibility=function(o){if(this.item.item?this.item.item.show=o:this.item.show=o,this.model.length>0)for(var A=0;A<this.model.length;A++)this.model[A].show=o,this.model[A]._availability&&!o?this.model[A]._availability=void 0:this.model[A].time&&o&&(this.model[A]._availability=this.model[A].time)};xc.prototype.setOrientation=function(o){(o.heading||o.pitch||o.roll)&&(this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this._cesium.Cartesian3.fromDegrees(this._position[0],this._position[1],this._position[2]),new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._cesium.defaultValue(o.heading,0)),this._cesium.Math.toRadians(this._cesium.defaultValue(o.pitch,0)),this._cesium.Math.toRadians(this._cesium.defaultValue(o.roll,0)))))};xc.prototype.setScale=function(o){this.item&&this.item.model&&(this.item.model.scale=o)};xc.prototype.setPosition=function(o){this.item&&this.item.model&&(this._position=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._position[0],this._position[1],this._position[2]))};xc.prototype.getVisibility=function(){return this.item.show};xc.prototype.deleteObject=function(){if(this.model&&this.model.length)for(var o=0;o<this.model.length;o++)this._viewer.scene.primitives.remove(this.model[o]);try{this._viewer.scene.primitives.remove(this.item)}catch{}try{this._viewer.entities.remove(this.item)}catch{}try{this._viewer.dataSources.remove(this.item)}catch{}try{this._Provider.remove()}catch{}};var Zw=xc;function Ug(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._color=new In(this._viewer,this._cesium),this._tree=Ke,this._Provider=void 0,this._primitive=void 0,this._taskProcessor=new this._cesium.TaskProcessor("vectorTileProvider"),this.model=[],this.Legend=[],this._ajax=null,this.datas=null}Ug.prototype.createPolygonGeoJsonFeatureLayer=function(o,A,f,m,C){var E={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!0,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.WHITE,show:!0};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var x=this._core.extend(E,f,!0);A==null&&console.log("geojson is required");var y=null;A.then?y=A:y=this._cesium.GeoJsonDataSource.load(A);var I=this,v=[];y.then(function(Q){for(var T=Q.entities.values,w=0;w<T.length;w++){var S=T[w];x.polygonHierarchy=new I._cesium.PolygonHierarchy(S.polygon.hierarchy._value.positions);var D=new I._cesium.PolygonGeometry(x),R=I._cesium.PolygonGeometry.createGeometry(D),P=new I._cesium.GeometryInstance({geometry:R});v.push(P)}var M=I._viewer.scene.primitives.add(new I._cesium.Primitive({geometryInstances:v,appearance:new I._cesium.MaterialAppearance({material:new I._cesium.Material({fabric:{type:"Color",uniforms:{color:x.material}}}),faceForward:!0,flat:!1})})),L="material:"+x.material.red*255+","+x.material.green*255+","+x.material.blue*255;I.Legend.push(L),I.item=M,x.show==!1&&(M.show=!1),typeof C=="function"&&C(M)}),this._core.isnull(x.id)&&(x.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+x.id);var B={id:x.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A,style:x};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),this};Ug.prototype.deleteObject=function(){if(this.items!=null&&this.items!=null&&this.items.length>0)for(var o=0;o<this.items.length;o++)this._viewer.scene.primitives.remove(this.items[o]);else this._viewer.scene.primitives.remove(this.item);if(this.model!=null&&this.model!=null&&this.model.length>0)for(var o=0;o<this.model.length;o++)this._viewer.scene.primitives.remove(this.model[o]);try{this._Provider.remove()}catch{}};Ug.prototype.setRefresh=function(o){try{this._Provider&&this._Provider.setStatus(!o)}catch{}};Ug.prototype.setVisibility=function(o){if(this.items!=null&&this.items!=null&&this.items.length>0)for(var A=0;A<this.items.length;A++)this.items[A].show=o;else this.item.show=o;if(this.model!=null&&this.model!=null&&this.model.length>0)for(var A=0;A<this.model.length;A++)this.model[A].show=o;this._Provider&&this._Provider.setStatus(!o)};Ug.prototype.createPolygonVectorGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x={polygonHierarchy:void 0,height:0,extrudedHeight:999999,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.WHITE,shadows:this._cesium.ShadowMode.ENABLED,show:!0},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var I=this._core.extend(x,f,!0);I.extrudedHeight==0&&(I.extrudedHeight=999999),this.items=[];var v=this,B=new FA(this._viewer,this._cesium,y);this._Provider=B,B._loadTile=function(T){var w=[],S=null,D=scene.primitives;v.Legend=[];var R=new v._cesium.PrimitiveCollection;if(T.features.forEach(function(P){if(B._isCameraMoving)return null;var M=[];function L(N){for(var G=0;G<N.length;G++)Array.isArray(N[G])?L(N[G]):M.push(N[G])}if(Array.isArray(P.geometry.coordinates)&&P.geometry.coordinates.length>0)if(Array.isArray(P.geometry.coordinates[0][0]))for(var F=0;F<P.geometry.coordinates.length;F++)M=[],L(P.geometry.coordinates[F]),k(M);else L(P.geometry.coordinates),k(M);function k(N){if(B._isCameraMoving)return null;var G=v._cesium.Cartesian3.fromDegreesArray(N);if(/^\[/.test(f.extrudedHeight)&&/\]$/.test(f.extrudedHeight)){var J=f.extrudedHeight.replace(/\[/,"").replace(/\]/,"");I.extrudedHeight=parseFloat(P.properties[J])}if(I.extrudedHeight=parseFloat(I.extrudedHeight),I.heightReference==1&&delete I.height,I.extrudedHeightReference==1&&delete I.extrudedHeight,/^\[/.test(f.material)&&/\]$/.test(f.material)){var K=f.material.replace(/\[/,"").replace(/\]/,"");I.material=P.properties[K],v._core.isHtmlColor(I.material)?I.material=v._color.colorFromHtmlColor(I.material):(/^rgb/.test(I.material)&&(I.material=v._color.rgbaStringToRgbaObj(I.material)),I.material.r>1&&(I.material.r=I.material.r/255),I.material.g>1&&(I.material.g=I.material.g/255),I.material.b>1&&(I.material.b=I.material.b/255),I.material.a>1&&(I.material.a=I.material.a/255),I.material=v._color.createColor(I.material.r,I.material.g,I.material.b,I.material.a))}I.polygonHierarchy=new v._cesium.PolygonHierarchy(G),P.positions=G;var X=new v._cesium.PolygonGeometry(I),q=null;q=new v._cesium.GeometryInstance({id:P,geometry:X,attributes:{color:new v._cesium.ColorGeometryInstanceAttribute.fromColor(I.material)}});var ee="material:"+I.material.red*255+","+I.material.green*255+","+I.material.blue*255;v.Legend.push(ee),w.push(q)}}),w.length>0)return S=new v._cesium.GroundPrimitive({geometryInstances:w,appearance:new v._cesium.PerInstanceColorAppearance({closed:!0,flat:!1}),classificationType:I.classificationType}),S},this.item=B._primitiveCollection,B.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var Q={id:I.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ug.prototype.createPolygonVectorGeoJsonFeatureLayerProviderModel=function(o,A,f,m,C,E){var x={polygonHierarchy:void 0,height:0,extrudedHeight:999999,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.WHITE,shadows:this._cesium.ShadowMode.ENABLED,show:!0},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium},I=f.material,v=f.height;!this._core.isnull(f)&&!this._core.isnull(f.color)&&(this._core.isHtmlColor(f.color)?f.color=this._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=this._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=this._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a))),!this._core.isnull(f)&&!this._core.isnull(f.lightColor)&&(this._core.isHtmlColor(f.lightColor)?f.lightColor=this._color.colorFromHtmlColor(f.lightColor):(/^rgb/.test(f.lightColor)&&(f.lightColor=this._color.rgbaStringToRgbaObj(f.lightColor)),f.lightColor.r>1&&(f.lightColor.r=f.lightColor.r/255),f.lightColor.g>1&&(f.lightColor.g=f.lightColor.g/255),f.lightColor.b>1&&(f.lightColor.b=f.lightColor.b/255),f.lightColor.a>1&&(f.lightColor.a=f.lightColor.a/255),f.lightColor=this._color.createColor(f.lightColor.r,f.lightColor.g,f.lightColor.b,f.lightColor.a))),!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var B=this._core.extend(x,f,!0);B.extrudedHeight==0&&(B.extrudedHeight=999999),this.items=[];var Q=this,T=new FA(this._viewer,this._cesium,y);this._Provider=T,T._loadTile=function(S){var D=[],R=null,P=scene.primitives,M=new Q._cesium.PrimitiveCollection;return Q.Legend=[],S.features.forEach(function(L){if(T._isCameraMoving)return null;var F=[];function k(K){for(var X=0;X<K.length;X++)Array.isArray(K[X])?k(K[X]):F.push(K[X])}if(Array.isArray(L.geometry.coordinates)&&L.geometry.coordinates.length>0)if(Array.isArray(L.geometry.coordinates[0][0]))for(var N=0;N<L.geometry.coordinates.length;N++)F=[],k(L.geometry.coordinates[N]),G(F),J(F);else k(L.geometry.coordinates),G(F),J(F);function G(K){if(T._isCameraMoving)return null;var X=Q._cesium.Cartesian3.fromDegreesArray(K);if(/^\[/.test(f.extrudedHeight)&&/\]$/.test(f.extrudedHeight)){var q=f.extrudedHeight.replace(/\[/,"").replace(/\]/,"");B.extrudedHeight=parseFloat(L.properties[q])}if(B.extrudedHeight=parseFloat(B.extrudedHeight),B.heightReference==1&&delete B.height,B.extrudedHeightReference==1&&delete B.extrudedHeight,/^\[/.test(f.material)&&/\]$/.test(f.material)){var ee=f.material.replace(/\[/,"").replace(/\]/,"");B.material=L.properties[ee],Q._core.isHtmlColor(B.material)?B.material=Q._color.colorFromHtmlColor(B.material):(/^rgb/.test(B.material)&&(B.material=Q._color.rgbaStringToRgbaObj(B.material)),B.material.r>1&&(B.material.r=B.material.r/255),B.material.g>1&&(B.material.g=B.material.g/255),B.material.b>1&&(B.material.b=B.material.b/255),B.material.a>1&&(B.material.a=B.material.a/255),B.material=Q._color.createColor(B.material.r,B.material.g,B.material.b,B.material.a))}B.polygonHierarchy=new Q._cesium.PolygonHierarchy(X);var ie=new Q._cesium.PolygonGeometry(B),H=null;L.positions=X,H=new Q._cesium.GeometryInstance({id:L,geometry:ie,attributes:{color:new Q._cesium.ColorGeometryInstanceAttribute.fromColor(B.material)}});var le="material:"+B.material.red*255+","+B.material.green*255+","+B.material.blue*255;Q.Legend.push(le),R=new Q._cesium.ClassificationPrimitive({geometryInstances:H,appearance:new Q._cesium.PerInstanceColorAppearance({closed:!0,flat:!1}),classificationType:B.classificationType,shadows:Q._cesium.ShadowMode.ENABLED}),M.add(R)}function J(K){for(var X=Q._cesium.Cartesian3.fromDegreesArray(K),q=new Q._cesium.PolygonHierarchy(X),ee=[],ie=q.positions,H=0;H<ie.length;H++){var le=Q._cesium.Math.toDegrees(Q._cesium.Cartographic.fromCartesian(ie[H]).longitude),ue=Q._cesium.Math.toDegrees(Q._cesium.Cartographic.fromCartesian(ie[H]).latitude);ee.push(le),ee.push(ue)}var Ae=Q.getTheBottomPoint(ee),he=Q.scanningPolygon(Ae,B.offset_x,B.offset_y,ee),ge=[];he.forEach(function(fe){var ae=Q._cesium.Transforms.eastNorthUpToFixedFrame(Q._cesium.Cartesian3.fromDegrees(fe.lon,fe.lat,v)),U=Q._cesium.Model.fromGltf({url:I,color:B.color,lightColor:B.lightColor,modelMatrix:ae,scale:B.scale});M.add(U)})}}),M},f&&f.time&&(T.availability=new Q._cesium.TimeIntervalCollection([new Q._cesium.TimeInterval({start:f.time.start?Q._cesium.JulianDate.fromDate(new Date(f.time.start)):Q._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?Q._cesium.JulianDate.fromDate(new Date(f.time.end)):Q._cesium.Iso8601.MAXIMUM_VALUE})])),this.item=T._primitiveCollection,T.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(B.id)&&(B.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+B.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var w={id:B.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ug.prototype.GetPositionFromA_D=function(o,A,f,m){var C=6378137,E=6356725,x=f*Math.sin(m*Math.PI/180),y=f*Math.cos(m*Math.PI/180),I=E+(C-E)*(90-o)/90,v=I*Math.cos(o*Math.PI/180),B=(x/v+A*Math.PI/180)*180/Math.PI,Q=(y/I+o*Math.PI/180)*180/Math.PI;return[B,Q]};Ug.prototype.getTheBottomPoint=function(o){for(var A=90,f=0,m=1;m<o.length;m+=2)A=A<o[m]?A:(f=m)&&o[m];return{lon:o[f-1],lat:o[f]}};Ug.prototype.scanningPolygon=function(o,A,f,m){for(var C=[],E=180,x=-180,y=-90,I,v,B,Q,T,w=0;w<m.length;w+=2)y=y>m[w+1]?y:m[w+1],E=E<m[w]?E:m[w],x=x>m[w]?x:m[w];var S=this.GetPositionFromA_D(o.lat,o.lon,f,0),D=this.GetPositionFromA_D(o.lat,o.lon,A,90);for(I=D[0]-o.lon,v=S[1]-o.lat,C.push({lon:o.lon,lat:o.lat}),T={lon:o.lon,lat:o.lat},T.lat+=v;T.lat<=y;T.lat+=v){for(B={lon:T.lon-I,lat:T.lat},Q={lon:T.lon+I,lat:T.lat},this.IsInPolygon(T.lon,T.lat,m)&&C.push({lon:T.lon,lat:T.lat});B.lon>=E;B.lon-=I)this.IsInPolygon(B.lon,B.lat,m)&&C.push({lon:B.lon,lat:B.lat});for(;Q.lon<=x;Q.lon+=I)this.IsInPolygon(Q.lon,Q.lat,m)&&C.push({lon:Q.lon,lat:Q.lat})}return C};Ug.prototype.IsInPolygon=function(o,A,f){var m=0,C,E,x,y,I;if(f.length<6)return!1;f.push(f[0],f[1]);for(var v=0;v<f.length-2;v+=2)C=f[v],x=f[v+1],E=f[v+2],y=f[v+3],(A>=x&&A<y||A>=y&&A<x)&&Math.abs(x-y)>0&&(I=C-(C-E)*(x-A)/(x-y),I<=o&&m++);return m%2!==0};Ug.prototype.setPolylinemodels=function(o,A,f,m,C,E,x,y,I){var v=this._core.getSpaceDistancem(o,y),B=10,Q=parseFloat(x.distance);Q==0||(B=parseInt(v/Q));for(var T=o[0],w=o[o.length-1],S=y.Cartographic.fromCartesian(T),D=y.Math.toDegrees(S.longitude),R=y.Math.toDegrees(S.latitude),P=S.height,M=y.Cartographic.fromCartesian(w),L=y.Math.toDegrees(M.longitude),F=y.Math.toDegrees(M.latitude),k=M.height,N=y.Math.toDegrees(S.height),G=B,J=y.Math.lerp(D,L,1/G)-D,K=y.Math.lerp(R,F,1/G)-R,X=y.Math.lerp(A,m,1/G)-A,q=y.Math.lerp(f,C,1/G)-f,ee=[],ie,H,le=0;le<G;le++){var ue=D+(le+1)*J,Ae=R+(le+1)*K,he=y.Transforms.eastNorthUpToFixedFrame(y.Cartesian3.fromDegrees(ue,Ae,x.height)),ge=parseInt(x.heightReference),fe=y.Model.fromGltf({url:x.url,modelMatrix:he,color:x.color,lightColor:x.lightColor,scale:x.scale,heightReference:parseInt(x.heightReference)}),ae=I.scene.primitives.add(fe);E.push(fe)}return E};Ug.prototype.createPolygonVectorGeoJsonFeatureLayerProviderlsjl=function(o,A,f,m,C,E){var x={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.WHITE,shadows:this._cesium.ShadowMode.ENABLED,show:!0},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var I=this._core.extend(x,f,!0),v=this,B=new FA(this._viewer,this._cesium,y);this._Provider=B,B._loadTile=function(T,w){var S=[],D=[],R=v._taskProcessor.scheduleTask({json:T,styleOption:f,options:I,tileKey:w});if(!!v._cesium.defined(R)){var P=v;v._cesium.when(R,function(M){if(!B._primitiveByTile[M.tileKey]){for(var L=new P._cesium.PrimitiveCollection,F=0;F<M.geomInstances.length;F++){var k=null,N=M.geomInstances[F],G=N.id.id;if(!B._primitiveByTile[G]){var J=new P._cesium.Material({fabric:{type:"Color",uniforms:{color:M.materials[F]}}}),K=new P._cesium.MaterialAppearance({material:J,faceForward:!0,flat:!1}),k=new P._cesium.Primitive({allowPicking:!0,appearance:new P._cesium.PerInstanceColorAppearance,geometryInstances:N,shadows:v._cesium.ShadowMode.ENABLED});L.add(k)}}B._primitiveCollection.add(L),B._primitiveByTile[M.tileKey]=L}})}},this.item=B._primitiveCollection,B.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var Q={id:I.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ug.prototype.createPolygonVectorGeoJsonFeatureLayerProviderls=function(o,A,f,m,C,E){var x={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.WHITE,shadows:this._cesium.ShadowMode.ENABLED,show:!0},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):/^http/.test(f.material)||(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!this._core.isnull(f)&&!this._core.isnull(f.fill)&&(f.fill.toString().charAt(0)=="["&&f.fill.toString().charAt(f.fill.length-1)=="]"||(this._core.isHtmlColor(f.fill)?f.fill=this._color.colorFromHtmlColor(f.fill):/^http/.test(f.fill)||(/^rgb/.test(f.fill)&&(f.fill=this._color.rgbaStringToRgbaObj(f.fill)),f.fill.r>1&&(f.fill.r=f.fill.r/255),f.fill.g>1&&(f.fill.g=f.fill.g/255),f.fill.b>1&&(f.fill.b=f.fill.b/255),f.fill.a>1&&(f.fill.a=f.fill.a/255),f.fill=this._color.createColor(f.fill.r,f.fill.g,f.fill.b,f.fill.a))));var I=this._core.extend(x,f,!0),v=this,B=new FA(this._viewer,this._cesium,y);this._Provider=B,B._loadTile=function(T){var w=[];v.Legend=[];var S=new v._cesium.PrimitiveCollection;return T.features.forEach(function(D){var R=[];function P(F){for(var k=0;k<F.length;k++)Array.isArray(F[k])?P(F[k]):R.push(F[k])}if(Array.isArray(D.geometry.coordinates)&&D.geometry.coordinates.length>0)if(Array.isArray(D.geometry.coordinates[0][0]))for(var M=0;M<D.geometry.coordinates.length;M++)R=[],P(D.geometry.coordinates[M]),L(R);else P(D.geometry.coordinates),L(R);function L(F){var k=v._cesium.Cartesian3.fromDegreesArray(F);if(/^\[/.test(f.extrudedHeight)&&/\]$/.test(f.extrudedHeight)){var N=f.extrudedHeight.replace(/\[/,"").replace(/\]/,"");I.extrudedHeight=parseFloat(D.properties[N])}if(I.extrudedHeight=parseFloat(I.extrudedHeight),I.heightReference==1&&delete I.height,I.extrudedHeightReference==1&&delete I.extrudedHeight,/^\[/.test(f.material)&&/\]$/.test(f.material)){var G=f.material.replace(/\[/,"").replace(/\]/,"");I.material=D.properties[G],v._core.isHtmlColor(I.material)?I.material=v._color.colorFromHtmlColor(I.material):(/^rgb/.test(I.material)&&(I.material=v._color.rgbaStringToRgbaObj(I.material)),I.material.r>1&&(I.material.r=I.material.r/255),I.material.g>1&&(I.material.g=I.material.g/255),I.material.b>1&&(I.material.b=I.material.b/255),I.material.a>1&&(I.material.a=I.material.a/255),I.material=v._color.createColor(I.material.r,I.material.g,I.material.b,I.material.a))}I.polygonHierarchy=new v._cesium.PolygonHierarchy(k),D.positions=k;var J=new v._cesium.PolygonGeometry(I),K=null,X=new v._cesium.ColorGeometryInstanceAttribute.fromColor(I.fill),q={};if(/^http/.test(I.material))q=new v._cesium.Material({fabric:{type:"Image",uniforms:{image:I.material}}});else{var ee="material:"+I.material.red*255+","+I.material.green*255+","+I.material.blue*255;v.Legend.push(ee),q=new v._cesium.Material({fabric:{type:"Color",uniforms:{color:I.material}}})}K=new v._cesium.GeometryInstance({id:D,geometry:J,attributes:{color:X}});var ie=null;ie=new v._cesium.Primitive({allowPicking:!0,appearance:new v._cesium.MaterialAppearance({material:q}),geometryInstances:K,shadows:v._cesium.ShadowMode.ENABLED}),S.add(ie)}}),S},f&&f.time&&(B.availability=new v._cesium.TimeIntervalCollection([new v._cesium.TimeInterval({start:f.time.start?v._cesium.JulianDate.fromDate(new Date(f.time.start)):v._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?v._cesium.JulianDate.fromDate(new Date(f.time.end)):v._cesium.Iso8601.MAXIMUM_VALUE})])),this.item=B._primitiveCollection,B.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var Q={id:I.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ug.prototype.createPolygonVectorGeoJsonFeatureLayerProviderlsd=function(o,A,f,m,C,E){var x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a)))),this._option=this._core.extend(x,f,!0);var I=this,v=A.urlinit,B={polygonHierarchy:void 0,height:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!1,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED};$.ajax({url:v,type:"get",async:!1,dataType:"json",success:function(w){I.datas=w.features}});var Q=new FA(this._viewer,this._cesium,y);this._Provider=Q,Q._loadTile=function(w){var S=[];I.Legend=[];var D=new I._cesium.PrimitiveCollection,R=[],P=[],M=new Cesium.PrimitiveCollection;return w.features.forEach(function(L){var F=[];function k(X){for(var q=0;q<X.length;q++)Array.isArray(X[q])?(X[q].length==3&&X[q].splice(2,1),X[q].push(I._option.height),k(X[q])):F.push(X[q])}var N=L.id,G=parseInt(N.split(".")[1])-1;if(L=I.datas[G],Array.isArray(L.geometry.coordinates)&&L.geometry.coordinates.length>0&&Array.isArray(L.geometry.coordinates[0][0][0]))for(var J=0;J<L.geometry.coordinates[0].length;J++)F=[],k(L.geometry.coordinates[0][J]),K(F);function K(X){if(/^\[/.test(I._option.extrudedHeight)&&/\]$/.test(I._option.extrudedHeight)){var q=I._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");B.extrudedHeight=parseFloat(L.properties[q])}if(B.material=I._option.material,/^\[/.test(I._option.material)&&/\]$/.test(I._option.material)){var ee=I._option.material.replace(/\[/,"").replace(/\]/,"");B.material=L.properties[ee],I._core.isHtmlColor(B.material)?B.material=I._color.colorFromHtmlColor(B.material):(/^rgb/.test(B.material)&&(B.material=I._color.rgbaStringToRgbaObj(B.material)),B.material.red>1&&(B.material.red=B.material.red/255),B.material.green>1&&(B.material.green=B.material.green/255),B.material.blue>1&&(B.material.blue=B.material.blue/255),B.material.alpha>1&&(B.material.a=B.material.alpha/255),B.material=I._color.createColor(B.material.red,B.material.green,B.material.blue,B.material.alpha))}else I._option.material&&(B.material=I._option.material),B.material&&(I._core.isHtmlColor(B.material)?B.material=I._color.colorFromHtmlColor(B.material):(/^rgb/.test(B.material)&&(B.material=I._color.rgbaStringToRgbaObj(B.material)),B.material.red>1&&(B.material.red=B.material.red/255),B.material.green>1&&(B.material.green=B.material.green/255),B.material.blue>1&&(B.material.blue=B.material.blue/255),B.material.alpha>1&&(B.material.a=B.material.alpha/255),B.material=I._color.createColor(B.material.red,B.material.green,B.material.blue,B.material.alpha)));var ie=I._cesium.Cartesian3.fromDegreesArrayHeights(X);B.polygonHierarchy=new I._cesium.PolygonHierarchy(ie);var H=new I._cesium.PolygonGeometry(B),le=new Cesium.GeometryInstance({id:L,geometry:H,attributes:{color:new I._cesium.ColorGeometryInstanceAttribute.fromColor(I._option.randomColor?Cesium.Color.fromRandom().withAlpha(B.material.alpha):B.material)}});R.push(le);var ue={positions:ie,width:I._option.width},Ae=new I._cesium.GroundPolylineGeometry(ue),he=new I._cesium.GeometryInstance({geometry:Ae});P.push(he);var ge="material:"+B.material.red*255+","+B.material.green*255+","+B.material.blue*255;I.Legend.push(ge)}}),R.length>0&&(B.extrudedHeight?M.add(new I._cesium.Primitive({geometryInstances:R,appearance:new I._cesium.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:I._core.Shaders("vertexShaderSource"),fragmentShaderSource:I._core.Shaders("fragmentShaderSource")})})):M.add(new I._cesium.GroundPrimitive({geometryInstances:R,appearance:new I._cesium.PerInstanceColorAppearance({translucent:!0,vertexShaderSource:I._core.Shaders("vertexShaderSource")})}))),P.length>0&&M.add(new I._cesium.GroundPolylinePrimitive({geometryInstances:P,appearance:new I._cesium.PolylineMaterialAppearance({material:new I._cesium.Material({fabric:{type:"Color",uniforms:{color:I._option.outlineColor}}})}),shadows:I._cesium.ShadowMode.ENABLED})),M},this.item=Q._primitiveCollection,Q.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(B.id)&&(B.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+B.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var T={id:B.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f};return this.setTreeobj(T),this._tree.insertGroupId(T,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Ug.prototype.setTreeobj=function(o){this.treeobj=o};Ug.prototype.createPolygonVectorFeatureLayerProvider=function(o,A,f,m,C){var E={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!0,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.WHITE,show:!0},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var y=this._core.extend(E,f,!0),I=this,v=new FA(this._viewer,this._cesium,x);this._Provider=v,v._loadTile=function(Q){var T=[];I.Legend=[],Q.features.forEach(function(S){var D=[];function R(G){for(var J=0;J<G.length;J++)Array.isArray(G[J])?R(G[J]):D.push(G[J])}R(S.geometry.coordinates[0]);var P=I._cesium.Cartesian3.fromDegreesArray(D);if(/^\[/.test(f.extrudedHeight)&&/\]$/.test(f.extrudedHeight)){var M=f.extrudedHeight.replace(/\[/,"").replace(/\]/,"");y.extrudedHeight=parseFloat(S.properties[M])}y.polygonHierarchy=new I._cesium.PolygonHierarchy(P);var L=new I._cesium.PolygonGeometry(y),F=I._cesium.PolygonGeometry.createGeometry(L),k="material:"+y.material.red*255+","+y.material.green*255+","+y.material.blue*255;I.Legend.push(k);var N=new I._cesium.GeometryInstance({geometry:F,attributes:{color:new I._cesium.ColorGeometryInstanceAttribute.fromColor(y.material)},shadows:I._cesium.ShadowMode.ENABLED});T.push(N)});var w=new this._cesium.Primitive({allowPicking:!1,appearance:new this._cesium.PerInstanceColorAppearance({translucent:!1,flat:!0,faceForward:!0,closed:!0}),geometryInstances:T});return w},this.item=v._primitiveCollection,v.addTo(this._viewer),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id);var B={id:y.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f};this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof C=="function"&&C(this.item)};Ug.prototype.createPolygonVectorMonomerFeatureLayerProvider=function(o,A,f,m,C){var E={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!0,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.WHITE,show:!0},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var y=this._core.extend(E,f,!0),I=new FA(this._viewer,this._cesium,x);this._Provider=I;var v=this;I._loadTile=function(Q){var T=[];Q.features.forEach(function(S){var D=[];function R(k){for(var N=0;N<k.length;N++)Array.isArray(k[N])?R(k[N]):D.push(k[N])}R(S.geometry.coordinates[0]);var P=v._cesium.Cartesian3.fromDegreesArray(D);if(/^\[/.test(f.extrudedHeight)&&/\]$/.test(f.extrudedHeight)){var M=f.extrudedHeight.replace(/\[/,"").replace(/\]/,"");y.extrudedHeight=parseFloat(S.properties[M])}y.polygonHierarchy=new v._cesium.PolygonHierarchy(P);var L=new v._cesium.PolygonGeometry(y),F=new v._cesium.GeometryInstance({geometry:L,attributes:{color:v._cesium.ColorGeometryInstanceAttribute.fromColor(v._cesium.Color.fromCssColorString("#004FFF").withAlpha(.5)),show:new v._cesium.ShowGeometryInstanceAttribute(!0)}});T.push(F)});var w=new v._cesium.GroundPrimitive({classificationType:v._cesium.ClassificationType.BOTH,geometryInstances:T});return w},this.item=I._primitiveCollection,I.addTo(this._viewer),this._core.isnull(y.id)&&(y.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y.id);var B={id:y.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f};this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof C=="function"&&C(this.item)};Ug.prototype.getLegend=function(){var o=[];return this.Legend!=null&&(o=this._core.unique(this.Legend)),o};Ug.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.treeobj.url;return{type:this.treeobj.type,treeobj:{name:this.treeobj.name,pId:this.treeobj.pId},style:{show:o,url:A}}};var $w=Ug;var cH={};cH.read=function(o,A,f,m,C){var E,x,y=C*8-m-1,I=(1<<y)-1,v=I>>1,B=-7,Q=f?C-1:0,T=f?-1:1,w=o[A+Q];for(Q+=T,E=w&(1<<-B)-1,w>>=-B,B+=y;B>0;E=E*256+o[A+Q],Q+=T,B-=8);for(x=E&(1<<-B)-1,E>>=-B,B+=m;B>0;x=x*256+o[A+Q],Q+=T,B-=8);if(E===0)E=1-v;else{if(E===I)return x?NaN:(w?-1:1)*(1/0);x=x+Math.pow(2,m),E=E-v}return(w?-1:1)*x*Math.pow(2,E-m)};cH.write=function(o,A,f,m,C,E){var x,y,I,v=E*8-C-1,B=(1<<v)-1,Q=B>>1,T=C===23?Math.pow(2,-24)-Math.pow(2,-77):0,w=m?0:E-1,S=m?1:-1,D=A<0||A===0&&1/A<0?1:0;for(A=Math.abs(A),isNaN(A)||A===1/0?(y=isNaN(A)?1:0,x=B):(x=Math.floor(Math.log(A)/Math.LN2),A*(I=Math.pow(2,-x))<1&&(x--,I*=2),x+Q>=1?A+=T/I:A+=T*Math.pow(2,1-Q),A*I>=2&&(x++,I/=2),x+Q>=B?(y=0,x=B):x+Q>=1?(y=(A*I-1)*Math.pow(2,C),x=x+Q):(y=A*Math.pow(2,Q-1)*Math.pow(2,C),x=0));C>=8;o[f+w]=y&255,w+=S,y/=256,C-=8);for(x=x<<C|y,v+=C;v>0;o[f+w]=x&255,w+=S,x/=256,v-=8);o[f+w-S]|=D*128};function bf(o){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(o)?o:new Uint8Array(o||0),this.pos=0,this.type=0,this.length=this.buf.length}bf.Varint=0;bf.Fixed64=1;bf.Bytes=2;bf.Fixed32=5;var hMe=(1<<16)*(1<<16),Aut=1/hMe;bf.prototype={destroy:function(){this.buf=null},readFields:function(o,A,f){for(f=f||this.length;this.pos<f;){var m=this.readVarint(),C=m>>3,E=this.pos;this.type=m&7,o(C,A,this),this.pos===E&&this.skip(m)}return A},readMessage:function(o,A){return this.readFields(o,A,this.readVarint()+this.pos)},readFixed32:function(){var o=Wae(this.buf,this.pos);return this.pos+=4,o},readSFixed32:function(){var o=hut(this.buf,this.pos);return this.pos+=4,o},readFixed64:function(){var o=Wae(this.buf,this.pos)+Wae(this.buf,this.pos+4)*hMe;return this.pos+=8,o},readSFixed64:function(){var o=Wae(this.buf,this.pos)+hut(this.buf,this.pos+4)*hMe;return this.pos+=8,o},readFloat:function(){var o=cH.read(this.buf,this.pos,!0,23,4);return this.pos+=4,o},readDouble:function(){var o=cH.read(this.buf,this.pos,!0,52,8);return this.pos+=8,o},readVarint:function(o){var A=this.buf,f,m;return m=A[this.pos++],f=m&127,m<128||(m=A[this.pos++],f|=(m&127)<<7,m<128)||(m=A[this.pos++],f|=(m&127)<<14,m<128)||(m=A[this.pos++],f|=(m&127)<<21,m<128)?f:(m=A[this.pos],f|=(m&15)<<28,ELi(f,o,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var o=this.readVarint();return o%2===1?(o+1)/-2:o/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var o=this.readVarint()+this.pos,A=MLi(this.buf,this.pos,o);return this.pos=o,A},readBytes:function(){var o=this.readVarint()+this.pos,A=this.buf.subarray(this.pos,o);return this.pos=o,A},readPackedVarint:function(o,A){var f=JT(this);for(o=o||[];this.pos<f;)o.push(this.readVarint(A));return o},readPackedSVarint:function(o){var A=JT(this);for(o=o||[];this.pos<A;)o.push(this.readSVarint());return o},readPackedBoolean:function(o){var A=JT(this);for(o=o||[];this.pos<A;)o.push(this.readBoolean());return o},readPackedFloat:function(o){var A=JT(this);for(o=o||[];this.pos<A;)o.push(this.readFloat());return o},readPackedDouble:function(o){var A=JT(this);for(o=o||[];this.pos<A;)o.push(this.readDouble());return o},readPackedFixed32:function(o){var A=JT(this);for(o=o||[];this.pos<A;)o.push(this.readFixed32());return o},readPackedSFixed32:function(o){var A=JT(this);for(o=o||[];this.pos<A;)o.push(this.readSFixed32());return o},readPackedFixed64:function(o){var A=JT(this);for(o=o||[];this.pos<A;)o.push(this.readFixed64());return o},readPackedSFixed64:function(o){var A=JT(this);for(o=o||[];this.pos<A;)o.push(this.readSFixed64());return o},skip:function(o){var A=o&7;if(A===bf.Varint)for(;this.buf[this.pos++]>127;);else if(A===bf.Bytes)this.pos=this.readVarint()+this.pos;else if(A===bf.Fixed32)this.pos+=4;else if(A===bf.Fixed64)this.pos+=8;else throw new Error("Unimplemented type: "+A)},writeTag:function(o,A){this.writeVarint(o<<3|A)},realloc:function(o){for(var A=this.length||16;A<this.pos+o;)A*=2;if(A!==this.length){var f=new Uint8Array(A);f.set(this.buf),this.buf=f,this.length=A}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(o){this.realloc(4),AH(this.buf,o,this.pos),this.pos+=4},writeSFixed32:function(o){this.realloc(4),AH(this.buf,o,this.pos),this.pos+=4},writeFixed64:function(o){this.realloc(8),AH(this.buf,o&-1,this.pos),AH(this.buf,Math.floor(o*Aut),this.pos+4),this.pos+=8},writeSFixed64:function(o){this.realloc(8),AH(this.buf,o&-1,this.pos),AH(this.buf,Math.floor(o*Aut),this.pos+4),this.pos+=8},writeVarint:function(o){if(o=+o||0,o>268435455||o<0){xLi(o,this);return}this.realloc(4),this.buf[this.pos++]=o&127|(o>127?128:0),!(o<=127)&&(this.buf[this.pos++]=(o>>>=7)&127|(o>127?128:0),!(o<=127)&&(this.buf[this.pos++]=(o>>>=7)&127|(o>127?128:0),!(o<=127)&&(this.buf[this.pos++]=o>>>7&127)))},writeSVarint:function(o){this.writeVarint(o<0?-o*2-1:o*2)},writeBoolean:function(o){this.writeVarint(Boolean(o))},writeString:function(o){o=String(o),this.realloc(o.length*4),this.pos++;var A=this.pos;this.pos=PLi(this.buf,o,this.pos);var f=this.pos-A;f>=128&&cut(A,f,this),this.pos=A-1,this.writeVarint(f),this.pos+=f},writeFloat:function(o){this.realloc(4),cH.write(this.buf,o,this.pos,!0,23,4),this.pos+=4},writeDouble:function(o){this.realloc(8),cH.write(this.buf,o,this.pos,!0,52,8),this.pos+=8},writeBytes:function(o){var A=o.length;this.writeVarint(A),this.realloc(A);for(var f=0;f<A;f++)this.buf[this.pos++]=o[f]},writeRawMessage:function(o,A){this.pos++;var f=this.pos;o(A,this);var m=this.pos-f;m>=128&&cut(f,m,this),this.pos=f-1,this.writeVarint(m),this.pos+=m},writeMessage:function(o,A,f){this.writeTag(o,bf.Bytes),this.writeRawMessage(A,f)},writePackedVarint:function(o,A){this.writeMessage(o,_Li,A)},writePackedSVarint:function(o,A){this.writeMessage(o,vLi,A)},writePackedBoolean:function(o,A){this.writeMessage(o,bLi,A)},writePackedFloat:function(o,A){this.writeMessage(o,BLi,A)},writePackedDouble:function(o,A){this.writeMessage(o,wLi,A)},writePackedFixed32:function(o,A){this.writeMessage(o,QLi,A)},writePackedSFixed32:function(o,A){this.writeMessage(o,SLi,A)},writePackedFixed64:function(o,A){this.writeMessage(o,DLi,A)},writePackedSFixed64:function(o,A){this.writeMessage(o,TLi,A)},writeBytesField:function(o,A){this.writeTag(o,bf.Bytes),this.writeBytes(A)},writeFixed32Field:function(o,A){this.writeTag(o,bf.Fixed32),this.writeFixed32(A)},writeSFixed32Field:function(o,A){this.writeTag(o,bf.Fixed32),this.writeSFixed32(A)},writeFixed64Field:function(o,A){this.writeTag(o,bf.Fixed64),this.writeFixed64(A)},writeSFixed64Field:function(o,A){this.writeTag(o,bf.Fixed64),this.writeSFixed64(A)},writeVarintField:function(o,A){this.writeTag(o,bf.Varint),this.writeVarint(A)},writeSVarintField:function(o,A){this.writeTag(o,bf.Varint),this.writeSVarint(A)},writeStringField:function(o,A){this.writeTag(o,bf.Bytes),this.writeString(A)},writeFloatField:function(o,A){this.writeTag(o,bf.Fixed32),this.writeFloat(A)},writeDoubleField:function(o,A){this.writeTag(o,bf.Fixed64),this.writeDouble(A)},writeBooleanField:function(o,A){this.writeVarintField(o,Boolean(A))}};function ELi(o,A,f){var m=f.buf,C,E;if(E=m[f.pos++],C=(E&112)>>4,E<128||(E=m[f.pos++],C|=(E&127)<<3,E<128)||(E=m[f.pos++],C|=(E&127)<<10,E<128)||(E=m[f.pos++],C|=(E&127)<<17,E<128)||(E=m[f.pos++],C|=(E&127)<<24,E<128)||(E=m[f.pos++],C|=(E&1)<<31,E<128))return uH(o,C,A);throw new Error("Expected varint not more than 10 bytes")}function JT(o){return o.type===bf.Bytes?o.readVarint()+o.pos:o.pos+1}function uH(o,A,f){return f?A*4294967296+(o>>>0):(A>>>0)*4294967296+(o>>>0)}function xLi(o,A){var f,m;if(o>=0?(f=o%4294967296|0,m=o/4294967296|0):(f=~(-o%4294967296),m=~(-o/4294967296),f^4294967295?f=f+1|0:(f=0,m=m+1|0)),o>=18446744073709552e3||o<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");A.realloc(10),yLi(f,m,A),ILi(m,A)}function yLi(o,A,f){f.buf[f.pos++]=o&127|128,o>>>=7,f.buf[f.pos++]=o&127|128,o>>>=7,f.buf[f.pos++]=o&127|128,o>>>=7,f.buf[f.pos++]=o&127|128,o>>>=7,f.buf[f.pos]=o&127}function ILi(o,A){var f=(o&7)<<4;A.buf[A.pos++]|=f|((o>>>=3)?128:0),o&&(A.buf[A.pos++]=o&127|((o>>>=7)?128:0),o&&(A.buf[A.pos++]=o&127|((o>>>=7)?128:0),o&&(A.buf[A.pos++]=o&127|((o>>>=7)?128:0),o&&(A.buf[A.pos++]=o&127|((o>>>=7)?128:0),o&&(A.buf[A.pos++]=o&127)))))}function cut(o,A,f){var m=A<=16383?1:A<=2097151?2:A<=268435455?3:Math.ceil(Math.log(A)/(Math.LN2*7));f.realloc(m);for(var C=f.pos-1;C>=o;C--)f.buf[C+m]=f.buf[C]}function _Li(o,A){for(var f=0;f<o.length;f++)A.writeVarint(o[f])}function vLi(o,A){for(var f=0;f<o.length;f++)A.writeSVarint(o[f])}function BLi(o,A){for(var f=0;f<o.length;f++)A.writeFloat(o[f])}function wLi(o,A){for(var f=0;f<o.length;f++)A.writeDouble(o[f])}function bLi(o,A){for(var f=0;f<o.length;f++)A.writeBoolean(o[f])}function QLi(o,A){for(var f=0;f<o.length;f++)A.writeFixed32(o[f])}function SLi(o,A){for(var f=0;f<o.length;f++)A.writeSFixed32(o[f])}function DLi(o,A){for(var f=0;f<o.length;f++)A.writeFixed64(o[f])}function TLi(o,A){for(var f=0;f<o.length;f++)A.writeSFixed64(o[f])}function Wae(o,A){return(o[A]|o[A+1]<<8|o[A+2]<<16)+o[A+3]*16777216}function AH(o,A,f){o[f]=A,o[f+1]=A>>>8,o[f+2]=A>>>16,o[f+3]=A>>>24}function hut(o,A){return(o[A]|o[A+1]<<8|o[A+2]<<16)+(o[A+3]<<24)}function MLi(o,A,f){for(var m="",C=A;C<f;){var E=o[C],x=null,y=E>239?4:E>223?3:E>191?2:1;if(C+y>f)break;var I,v,B;y===1?E<128&&(x=E):y===2?(I=o[C+1],(I&192)===128&&(x=(E&31)<<6|I&63,x<=127&&(x=null))):y===3?(I=o[C+1],v=o[C+2],(I&192)===128&&(v&192)===128&&(x=(E&15)<<12|(I&63)<<6|v&63,(x<=2047||x>=55296&&x<=57343)&&(x=null))):y===4&&(I=o[C+1],v=o[C+2],B=o[C+3],(I&192)===128&&(v&192)===128&&(B&192)===128&&(x=(E&15)<<18|(I&63)<<12|(v&63)<<6|B&63,(x<=65535||x>=1114112)&&(x=null))),x===null?(x=65533,y=1):x>65535&&(x-=65536,m+=String.fromCharCode(x>>>10&1023|55296),x=56320|x&1023),m+=String.fromCharCode(x),C+=y}return m}function PLi(o,A,f){for(var m=0,C,E;m<A.length;m++){if(C=A.charCodeAt(m),C>55295&&C<57344)if(E)if(C<56320){o[f++]=239,o[f++]=191,o[f++]=189,E=C;continue}else C=E-55296<<10|C-56320|65536,E=null;else{C>56319||m+1===A.length?(o[f++]=239,o[f++]=191,o[f++]=189):E=C;continue}else E&&(o[f++]=239,o[f++]=191,o[f++]=189,E=null);C<128?o[f++]=C:(C<2048?o[f++]=C>>6|192:(C<65536?o[f++]=C>>12|224:(o[f++]=C>>18|240,o[f++]=C>>12&63|128),o[f++]=C>>6&63|128),o[f++]=C&63|128)}return f}var dMe=bf;function hH(o,A){this.x=o,this.y=A}hH.prototype={clone:function(){return new hH(this.x,this.y)},add:function(o){return this.clone()._add(o)},sub:function(o){return this.clone()._sub(o)},multByPoint:function(o){return this.clone()._multByPoint(o)},divByPoint:function(o){return this.clone()._divByPoint(o)},mult:function(o){return this.clone()._mult(o)},div:function(o){return this.clone()._div(o)},rotate:function(o){return this.clone()._rotate(o)},rotateAround:function(o,A){return this.clone()._rotateAround(o,A)},matMult:function(o){return this.clone()._matMult(o)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(o){return this.x===o.x&&this.y===o.y},dist:function(o){return Math.sqrt(this.distSqr(o))},distSqr:function(o){var A=o.x-this.x,f=o.y-this.y;return A*A+f*f},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(o){return Math.atan2(this.y-o.y,this.x-o.x)},angleWith:function(o){return this.angleWithSep(o.x,o.y)},angleWithSep:function(o,A){return Math.atan2(this.x*A-this.y*o,this.x*o+this.y*A)},_matMult:function(o){var A=o[0]*this.x+o[1]*this.y,f=o[2]*this.x+o[3]*this.y;return this.x=A,this.y=f,this},_add:function(o){return this.x+=o.x,this.y+=o.y,this},_sub:function(o){return this.x-=o.x,this.y-=o.y,this},_mult:function(o){return this.x*=o,this.y*=o,this},_div:function(o){return this.x/=o,this.y/=o,this},_multByPoint:function(o){return this.x*=o.x,this.y*=o.y,this},_divByPoint:function(o){return this.x/=o.x,this.y/=o.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var o=this.y;return this.y=this.x,this.x=-o,this},_rotate:function(o){var A=Math.cos(o),f=Math.sin(o),m=A*this.x-f*this.y,C=f*this.x+A*this.y;return this.x=m,this.y=C,this},_rotateAround:function(o,A){var f=Math.cos(o),m=Math.sin(o),C=A.x+f*(this.x-A.x)-m*(this.y-A.y),E=A.y+m*(this.x-A.x)+f*(this.y-A.y);return this.x=C,this.y=E,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}};hH.convert=function(o){return o instanceof hH?o:Array.isArray(o)?new hH(o[0],o[1]):o};function dH(o,A,f,m,C){this.properties={},this.extent=f,this.type=0,this._pbf=o,this._geometry=-1,this._keys=m,this._values=C,o.readFields(RLi,this,A)}function RLi(o,A,f){o==1?A.id=f.readVarint():o==2?LLi(f,A):o==3?A.type=f.readVarint():o==4&&(A._geometry=f.pos)}function LLi(o,A){for(var f=o.readVarint()+o.pos;o.pos<f;){var m=A._keys[o.readVarint()],C=A._values[o.readVarint()];A.properties[m]=C}}dH.types=["Unknown","Point","LineString","Polygon"];dH.prototype.loadGeometry=function(){var o=this._pbf;o.pos=this._geometry;for(var A=o.readVarint()+o.pos,f=1,m=0,C=0,E=0,x=[],y;o.pos<A;){if(m<=0){var I=o.readVarint();f=I&7,m=I>>3}if(m--,f===1||f===2)C+=o.readSVarint(),E+=o.readSVarint(),f===1&&(y&&x.push(y),y=[]),y.push(new hH(C,E));else if(f===7)y&&y.push(y[0].clone());else throw new Error("unknown command "+f)}return y&&x.push(y),x};dH.prototype.bbox=function(){var o=this._pbf;o.pos=this._geometry;for(var A=o.readVarint()+o.pos,f=1,m=0,C=0,E=0,x=1/0,y=-1/0,I=1/0,v=-1/0;o.pos<A;){if(m<=0){var B=o.readVarint();f=B&7,m=B>>3}if(m--,f===1||f===2)C+=o.readSVarint(),E+=o.readSVarint(),C<x&&(x=C),C>y&&(y=C),E<I&&(I=E),E>v&&(v=E);else if(f!==7)throw new Error("unknown command "+f)}return[x,I,y,v]};dH.prototype.toGeoJSON=function(o,A,f,m){var C=this.extent*Math.pow(2,f),E=this.extent*o,x=this.extent*A/2,y=this.loadGeometry(),I=dH.types[this.type],v,B;function Q(S){for(var D=0;D<S.length;D++){var R=S[D],P=90-(R.y+x)*180/(C/2);S[D]=[(R.x+E)*360/C-180,P]}}switch(this.type){case 1:var T=[];for(v=0;v<y.length;v++)T[v]=y[v][0];y=T,Q(y);break;case 2:for(v=0;v<y.length;v++)Q(y[v]);break;case 3:for(y=FLi(y),v=0;v<y.length;v++)for(B=0;B<y[v].length;B++)Q(y[v][B]);break}y.length===1?y=y[0]:I="Multi"+I;var w={type:"Feature",geometry:{type:I,coordinates:y},properties:this.properties};return"id"in this&&(w.id=this.id),w};function FLi(o){var A=o.length;if(A<=1)return[o];for(var f=[],m,C,E=0;E<A;E++){var x=NLi(o[E]);x!==0&&(C===void 0&&(C=x<0),C===x<0?(m&&f.push(m),m=[o[E]]):m.push(o[E]))}return m&&f.push(m),f}function NLi(o){for(var A=0,f=0,m=o.length,C=m-1,E,x;f<m;C=f++)E=o[f],x=o[C],A+=(x.x-E.x)*(E.y+x.y);return A}function dut(o,A){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=o,this._keys=[],this._values=[],this._features=[],o.readFields(kLi,this,A),this.length=this._features.length}function kLi(o,A,f){o===15?A.version=f.readVarint():o===1?A.name=f.readString():o===5?A.extent=f.readVarint():o===2?A._features.push(f.pos):o===3?A._keys.push(f.readString()):o===4&&A._values.push(OLi(f))}function OLi(o){for(var A=null,f=o.readVarint()+o.pos;o.pos<f;){var m=o.readVarint()>>3;A=m===1?o.readString():m===2?o.readFloat():m===3?o.readDouble():m===4?o.readVarint64():m===5?o.readVarint():m===6?o.readSVarint():m===7?o.readBoolean():null}return A}dut.prototype.feature=function(o){if(o<0||o>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[o];var A=this._pbf.readVarint()+this._pbf.pos;return new dH(this._pbf,A,this.extent,this._keys,this._values)};function ULi(o,A){this.layers=o.readFields(GLi,{},A)}function GLi(o,A,f){if(o===3){var m=new dut(f,f.readVarint()+f.pos);m.length&&(A[m.name]=m)}}var fMe=ULi;function Lv(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._color=new In(this._viewer,this._cesium),this._tree=Ke,this.item={show:!0},this._option=void 0,this._primitive=void 0,this._Provider=void 0,this.labelCollections=new this._cesium.PointPrimitiveCollection,this.geometries_line=[],this.geometries_polygon=[]}var HLi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o};Lv.prototype._serialize=function(o){var A=[],f=window.encodeURIComponent;for(var m in o){var C=o[m];(typeof C>"u"?"undefined":HLi(C))==="object"?A.push(f(m)+"="+f(JSON.stringify(C))):A.push(f(m)+"="+f(o[m]))}return A.join("&")};Lv.prototype.createVolumeVectorGeoJsonFeatureLayer=function(o,A,f,m,C){var E={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};this.extent={XMin:A.minx||0,YMin:A.miny||0,XMax:A.maxx||0,YMax:A.maxy||0},!this._core.isnull(f)&&!this._core.isnull(f.fill)&&(f.fill.toString().charAt(0)=="["&&f.fill.toString().charAt(f.fill.length-1)=="]"||(this._core.isHtmlColor(f.fill)?f.fill=this._color.colorFromHtmlColor(f.fill):(/^rgb/.test(f.fill)&&(f.fill=this._color.rgbaStringToRgbaObj(f.fill)),f.fill.r>1&&(f.fill.r=f.fill.r/255),f.fill.g>1&&(f.fill.g=f.fill.g/255),f.fill.b>1&&(f.fill.b=f.fill.b/255),f.fill.a>1&&(f.fill.a=f.fill.a/255),f.fill=this._color.createColor(f.fill.r,f.fill.g,f.fill.b,f.fill.a)))),!this._core.isnull(f)&&!this._core.isnull(f.polylinefill)&&(f.polylinefill.toString().charAt(0)=="["&&f.polylinefill.toString().charAt(f.polylinefill.length-1)=="]"||(this._core.isHtmlColor(f.polylinefill)?f.polylinefill=this._color.colorFromHtmlColor(f.polylinefill):(/^rgb/.test(f.polylinefill)&&(f.polylinefill=this._color.rgbaStringToRgbaObj(f.polylinefill)),f.polylinefill.r>1&&(f.polylinefill.r=f.polylinefill.r/255),f.polylinefill.g>1&&(f.polylinefill.g=f.polylinefill.g/255),f.polylinefill.b>1&&(f.polylinefill.b=f.polylinefill.b/255),f.polylinefill.a>1&&(f.polylinefill.a=f.polylinefill.a/255),f.polylinefill=this._color.createColor(f.polylinefill.r,f.polylinefill.g,f.polylinefill.b,f.polylinefill.a)))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a)))),this._option=this._core.extend(E,f,!0),A==null&&console.log("url is required"),o==null&&console.log("layername is required");var y=this,I={polygonHierarchy:void 0,height:30,extrudedHeight:100,vertexFormat:Cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:Cesium.Ellipsoid.WGS84,perPositionHeight:!0,closeTop:!0,closeBottom:!0,arcType:Cesium.ArcType.GEODESIC,material:Cesium.Color.WHITE},v="http://124.128.48.210:81/arcgis/rest/services/Hosted/tdtsd0408/VectorTileServer/resources/styles/root.json";y._core.xhr({url:v,type:"get",dataType:"json",success:function(B){var Q=[],T=B.layers,w="http://124.128.48.210:81/arcgis/rest/services/Hosted/tdtsd0408/VectorTileServer/tile/0/0/0.pbf";Cesium.Resource.createIfNeeded(w).fetchArrayBuffer().then(function(S){function D(Y){for(var z=0;z<Y.length;z++)Array.isArray(Y[z])?D(Y[z]):Q.push(Y[z])}function R(Y){var z=Cesium.Cartesian3.fromDegreesArray(Y),re={positions:z,width:10,color:Cesium.ColorGeometryInstanceAttribute.fromColor(y._option.polylinefill)},se=new Cesium.PolylineGeometry(re),de=new Cesium.GeometryInstance({geometry:se});k.push(de)}function P(Y){var z=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(Cesium.Cartesian3.fromDegreesArray(Y))}),re=Cesium.PolygonGeometry.createGeometry(z),se=new Cesium.GeometryInstance({geometry:re,attributes:{color:W}});N.push(se)}var M=new dMe(S),L=0,F=new fMe(M),k=[],N=[];y.labelCollections=new y._cesium.LabelCollection;for(var G in F.layers)for(var J=F.layers[G],K=0;K<J.length;K++)for(var X=J.feature(K),q=X.loadGeometry(),ee=0;ee<q.length;ee++)for(var ie=q[ee],H=0;H<ie.length;H++){var le=ie[H],ue=null;if(X.properties._symbol!=null)for(var Ae=X.properties._symbol,he=0;he<T.length;he++)T[he].filter!=null&&T[he].filter[0]=="=="&&T[he].filter[1]=="_symbol"&&T[he].filter[2]==Ae&&(ue=T[he]);else if(J.name!=null)for(var ge=J.name,he=0;he<T.length;he++)T[he]["source-layer"]!=null&&T[he]["source-layer"]==ge&&(ue=T[he]);if(X.type==1)try{var fe=X.toGeoJSON(0,0,0,y.extent);if(f.text!=null&&/^\[/.test(f.text)&&/\]$/.test(f.text)){var ae=f.text.replace(/\[/,"").replace(/\]/,"");y._option.text=X.properties[ae]}ue.paint!=null&&ue.paint["icon-color"]&&(y._option.fill=y._color.createColorTransformation(ue.paint["icon-color"])),y._option.position=new y._cesium.Cartesian3.fromDegrees(fe.geometry.coordinates[0],fe.geometry.coordinates[1],y._option.height);var U={};fe.geometry.type=="point"?U={id:fe,color:y._option.fill,position:y._option.position}:U=y._option,y.labelCollections.add(U)}catch{}if(X.type==2){var le=ie[0],fe=X.toGeoJSON(0,0,0,y.extent);if(!y._core.isnull(f.polylinefill)&&ue.paint!=null&&ue.paint["icon-color"]&&(y._option.polylinefill=y._color.createColorTransformation(ue.paint["icon-color"])),Array.isArray(fe.geometry.coordinates)&&fe.geometry.coordinates.length>0)if(Array.isArray(fe.geometry.coordinates[0][0]))for(var ee=0;ee<fe.geometry.coordinates.length;ee++)Q=[],D(fe.geometry.coordinates[ee]),R(Q);else D(fe.geometry.coordinates),R(Q)}if(X.type==3)try{var le=ie[0],fe=X.toGeoJSON(0,0,0,y.extent),W=Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.AQUA);if(ue.paint["fill-color"]!=null&&(W=Cesium.ColorGeometryInstanceAttribute.fromColor(y._color.createColorTransformation(ue.paint["fill-color"]))),Array.isArray(fe.geometry.coordinates)&&fe.geometry.coordinates.length>0)if(Array.isArray(fe.geometry.coordinates[0][0]))for(var ee=0;ee<fe.geometry.coordinates.length;ee++)Q=[],D(fe.geometry.coordinates[ee]),P(Q);else D(fe.geometry.coordinates),P(Q)}catch{}}y.labelCollections.length>0&&y._viewer.scene.primitives.add(y.labelCollections),k.length>0&&y._viewer.scene.primitives.add(new Cesium.Primitive({geometryInstances:k,appearance:new Cesium.PolylineColorAppearance})),N.length>0&&y._viewer.scene.primitives.add(new Cesium.Primitive({geometryInstances:N,appearance:new y._cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromRandom({alpha:1})}}}),faceForward:!0,flat:!1}),shadows:Cesium.ShadowMode.ENABLED}))})}})};Lv.prototype.createVolumeVectorGeoJsonFeatureLayers=function(o,A,f,m,C){var E={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};this.extent={XMin:A.minx||0,YMin:A.miny||0,XMax:A.maxx||0,YMax:A.maxy||0},!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(E,f,!0),A==null&&console.log("url is required"),o==null&&console.log("layername is required");var y=[],I={polygonHierarchy:void 0,height:0,extrudedHeight:100,vertexFormat:Cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:Cesium.Ellipsoid.WGS84,perPositionHeight:!0,closeTop:!0,closeBottom:!0,arcType:Cesium.ArcType.GEODESIC,material:Cesium.Color.WHITE},v=this;this._urlTemplate=A.url+"?"+this._serialize(x.urlParams),this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=styleOption.level_max-1,this._Provider.loadTile=function(T,w){if(this.tile=w,w.state===Cesium.QuadtreeTileLoadState.START&&v.item.show)if(w.data={lines:[],geometryPrimitive:void 0},w.level>=f.level_min&&w.level<f.level_max){var S=bi.filter(y,function(D){return D.x==w.x&&D.y==w.y&&D.level==w.level});if(S.length!=0&&S[0].data&&S[0].data.length>0){w.data.geometryPrimitive=new Cesium.Primitive({geometryInstances:S[0].data,appearance:new Cesium.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:Cesium.ShadowMode.ENABLED}),w.state=Cesium.QuadtreeTileLoadState.LOADING,w.state===Cesium.QuadtreeTileLoadState.LOADING&&(w.data.geometryPrimitive&&w.data.geometryPrimitive.update(T,[]),w.state=Cesium.QuadtreeTileLoadState.DONE,w.renderable=!0);return}(function(D){var R="http://124.128.48.210:81/arcgis/rest/services/Hosted/tdtsd0408/VectorTileServer/tile/0/0/0.pbf";Cesium.Resource.createIfNeeded(R).fetchArrayBuffer().then(function(P){var M=new dMe(P),L=new fMe(M);v.labelCollections=new v._cesium.PointPrimitiveCollection;var F=[],k=[];for(var N in L.layers)for(var G=L.layers[N],J=0;J<G.length;J++)for(var K=G.feature(J),X=K.loadGeometry(),q=0;q<X.length;q++)for(var ee=X[q],ie=0;ie<ee.length;ie++){var H=ee[ie];if(K.type==1)try{var le=K.toGeoJSON(0,0,0,v.extent);if(v._option.text!=null&&/^\[/.test(v._option.text)&&/\]$/.test(v._option.text)){var ue=v._option.text.replace(/\[/,"").replace(/\]/,"");I.text=K.properties[ue]}I.position=new v._cesium.Cartesian3.fromDegrees(le.geometry.coordinates[0],le.geometry.coordinates[1],I.height);var Ae={};le.geometry.type=="point"?Ae={id:le,color:I.material,position:I.position}:Ae=I,v.labelCollections.add(Ae)}catch{}if(K.type==2)for(var H=ee[0],le=K.toGeoJSON(D.x,D.y,D.level,v.extent),ie=0;ie<le.geometry.coordinates.length;ie++)try{var he=[];le.geometry.coordinates[ie].forEach(function(re){he.push(re[0],re[1])});var ge=new Cesium.PolylineGeometry({positions:Cesium.Cartesian3.fromDegreesArray(he),width:10}),fe=Cesium.PolylineGeometry.createGeometry(ge),ae=new Cesium.GeometryInstance({geometry:fe});F.push(ae)}catch{}if(K.type==3)for(var H=ee[0],le=K.toGeoJSON(D.x,D.y,D.level,v.extent),ie=0;ie<le.geometry.coordinates.length;ie++)try{var he=[];le.geometry.coordinates[ie].forEach(function(me){he.push(me[0],me[1])});var U=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(Cesium.Cartesian3.fromDegreesArray(he))}),fe=Cesium.PolygonGeometry.createGeometry(U),ae=new Cesium.GeometryInstance({geometry:fe});k.push(ae)}catch{}}v.labelCollections.length>0&&v._viewer.scene.primitives.add(v.labelCollections),F.length>0&&v._viewer.scene.primitives.add(new Cesium.Primitive({geometryInstances:F,appearance:new v._cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromRandom({alpha:1})}}}),faceForward:!0,flat:!1}),shadows:Cesium.ShadowMode.ENABLED})),k.length>0&&v._viewer.scene.primitives.add(new Cesium.Primitive({geometryInstances:k,appearance:new v._cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromRandom({alpha:1})}}}),faceForward:!0,flat:!1}),shadows:Cesium.ShadowMode.ENABLED}))})})(w)}else{w.state=Cesium.QuadtreeTileLoadState.LOADING,w.state===Cesium.QuadtreeTileLoadState.LOADING&&(w.data.geometryPrimitive&&(w.data.geometryPrimitive.update(T,[]),w._parent&&w._parent.data&&w._parent.data.geometryPrimitive&&(w._parent.data.geometryPrimitive.destroy(),w._parent.data.geometryPrimitive=null,w._parent.state=Cesium.QuadtreeTileLoadState.START),w._southwestChild&&w._southwestChild.data&&w._southwestChild.data.geometryPrimitive&&(w._southwestChild.data.geometryPrimitive.destroy(),w._southwestChild.data.geometryPrimitive=null,w._southwestChild.state=Cesium.QuadtreeTileLoadState.START),w._southeastChild&&w._southeastChild.data&&w._southeastChild.data.geometryPrimitive&&(w._southeastChild.data.geometryPrimitive.destroy(),w._southeastChild.data.geometryPrimitive=null,w._southeastChild.state=Cesium.QuadtreeTileLoadState.START),w._northwestChild&&w._northwestChild.data&&w._northwestChild.data.geometryPrimitive&&(w._northwestChild.data.geometryPrimitive.destroy(),w._northwestChild.data.geometryPrimitive=null,w._northwestChild.state=Cesium.QuadtreeTileLoadState.START),w._northeastChild&&w._northeastChild.data&&w._northeastChild.data.geometryPrimitive&&(w._northeastChild.data.geometryPrimitive.destroy(),w._northeastChild.data.geometryPrimitive=null,w._northeastChild.state=Cesium.QuadtreeTileLoadState.START)),w.state=Cesium.QuadtreeTileLoadState.DONE,w.renderable=!0);return}},this._primitive=new v._cesium.QuadtreePrimitive({tileProvider:this._Provider});var B=this._viewer.scene,Q=B.primitives;Q.add(this._primitive)};Lv.prototype.createVolumeGeoJsonFeatureLayer=function(o,A,f,m,C){var E={polylinePositions:void 0,shapePositions:void 0,ellipsoid:this._cesium.Ellipsoid.WGS84,granularity:this._cesium.Math.RADIANS_PER_DEGREE,vertexFormat:this._cesium.VertexFormat.DEFAULT,cornerType:this._cesium.CornerType.ROUNDED};A==null&&console.log("geojson is required");var x=null;A.then?x=A:x=this._cesium.GeoJsonDataSource.load(A);var y=this,I=[];E.shapePositions=this.computeCircle(f.radius),x.then(function(B){var Q=y._cesium.Color.WHITE;!y._core.isnull(f)&&!y._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"?Q=f.material.replace(/\[/,"").replace("/]/",""):Q=bi.clone(f.material),y._core.isHtmlColor(Q)?Q=y._color.colorFromHtmlColor(f.material):(/^rgb/.test(Q)&&(Q=y._color.rgbaStringToRgbaObj(Q)),Q.r>1&&(Q.r=Q.r/255),Q.g>1&&(Q.g=Q.g/255),Q.b>1&&(Q.b=Q.b/255),Q.a>1&&(Q.a=Q.a/255),Q=y._color.createColor(Q.r,Q.g,Q.b,Q.a)));for(var T=B.entities.values,w=0;w<T.length;w++){var S=T[w];E.polylinePositions=S.polyline.positions._value;var D=new y._cesium.PolylineVolumeGeometry(E),R=y._cesium.PolylineVolumeGeometry.createGeometry(D),P=new y._cesium.GeometryInstance({geometry:R});I.push(P)}var M=y._viewer.scene.primitives.add(new y._cesium.Primitive({geometryInstances:I,appearance:new y._cesium.MaterialAppearance({material:new y._cesium.Material({fabric:{type:"Color",uniforms:{color:Q}}}),faceForward:!0,flat:!1})}));y.item=M,f.show==!1&&(M.show=!1),typeof C=="function"&&C(M)}),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u7BA1\u72B6\u56FE\u5C42"+f.id);var v={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polylineVolumeLayer",item:this,url:geoOptions.url,style:f};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),this};Lv.prototype.computeCircle=function(o){this._core.isnull(o)&&(o=4);for(var A=[],f=0;f<360;f++){var m=this._cesium.Math.toRadians(f);A.push(new this._cesium.Cartesian2(o*Math.cos(m),o*Math.sin(m)))}return A};Lv.prototype.createVolumeGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.RECEIVE_ONLY},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var I=this._core.extend(x,f,!0),v=new FA(this._viewer,this._cesium,y);this._Provider=v;var B=this;v._loadTile=function(T){var w=[],S=new B._cesium.PrimitiveCollection;return T.features.forEach(function(D){var R=[];function P(Ae){for(var he=0;he<Ae.length;he++)Array.isArray(Ae[he])?P(Ae[he]):R.push(Ae[he])}var M=[];if(/^\[/.test(f.material)&&/\]$/.test(f.material)){var L=f.material.replace(/\[/,"").replace(/\]/,"");I.material=D.properties[L],that._core.isHtmlColor(I.material)?I.material=that._color.colorFromHtmlColor(I.material):(/^rgb/.test(I.material)&&(I.material=that._color.rgbaStringToRgbaObj(I.material)),I.material.r>1&&(I.material.r=I.material.r/255),I.material.g>1&&(I.material.g=I.material.g/255),I.material.b>1&&(I.material.b=I.material.b/255),I.material.a>1&&(I.material.a=I.material.a/255),I.material=that._color.createColor(I.material.r,I.material.g,I.material.b,I.material.a))}for(var F=0;F<D.geometry.coordinates.length;F++){var k=D.geometry.coordinates[F];if(k.length>0)if(Array.isArray(k[0]))for(var N=0;N<k.length;N++){var G=k[N],J=B._cesium.Cartesian3.fromDegrees(G[0],G[1],I.height);M.push(J)}else{var K=B._cesium.Cartesian3.fromDegrees(k[0],k[1],I.height);M.push(K)}}if(I.position=M,I.slttype=="0"||I.slttype==0)I.shape=B._core.computeCircle(I.radius);else if(I.slttype=="1"||I.slttype==1)I.shape=B._core.starPositions(I.number,I.exradius,I.inradius);else if(I.slttype=="2"||I.slttype==2){var X=I.orth_width/2,q=I.orth_height/2;I.shape=[new B._cesium.Cartesian2(-X,-q),new B._cesium.Cartesian2(X,-q),new B._cesium.Cartesian2(X,q),new B._cesium.Cartesian2(-X,q)]}D.positions=M;var ee={polylinePositions:I.position,shapePositions:I.shape,cornerType:I.cornerType,VertexFormat:{bitangent:!0,color:!0,position:!0,st:!0,normal:!0,tangent:!0}},ie=new B._cesium.PolylineVolumeGeometry(ee),H=B._cesium.PolylineVolumeGeometry.createGeometry(ie),le=new B._cesium.GeometryInstance({id:D,geometry:H,attributes:{color:new B._cesium.ColorGeometryInstanceAttribute.fromColor(I.material)}}),ue=new B._cesium.Primitive({allowPicking:!0,appearance:new B._cesium.MaterialAppearance({material:new B._cesium.Material({fabric:{type:"Color",uniforms:{color:I.material}}}),faceForward:!0,flat:!1}),shadows:I.shadows,geometryInstances:le});S.add(ue)}),S},this.item=v._primitiveCollection,v.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var Q={id:I.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polylineVolumeLayer",item:this,url:A.url,style:f};this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item)};Lv.prototype.setTreeobj=function(o){this.treeobj=o};Lv.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.treeobj.url;return{type:this.treeobj.type,treeobj:{name:this.treeobj.name,pId:this.treeobj.pId},style:{show:o,url:A}}};Lv.prototype.deleteObject=function(){this._viewer.scene.primitives.remove(this.item);try{this._Provider.remove()}catch{}};Lv.prototype.setRefresh=function(o){try{this._Provider&&this._Provider.setStatus(o)}catch{}};Lv.prototype.setVisibility=function(o){this.item.show=o,this._Provider&&this._Provider.setStatus(o)};var jae=Lv;function Fv(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._color=new In(this._viewer,this._cesium),this._tree=Ke,this._VectorTileProvider=new Cs(this._viewer,this._cesium),this._primitive=void 0,this._Provider=void 0,this.Legend=[]}Fv.prototype.createWallGeoFeatureLayer=function(o,A,f,m,C,E,x){var y={positions:[],minimumHeights:[],maximumHeights:[],granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var I=this._core.extend(y,f,!0);this._core.isnull(m)&&(m=16),this._core.isnull(C)&&(C=14),A==null&&console.log("url is required"),o==null&&console.log("layername is required");var v=this,B=[];this._VectorTileProvider.loadTile=function(w,S){if(this.tile=S,S.state===v._cesium.QuadtreeTileLoadState.START)if(S.data={lines:[],geometryPrimitive:void 0},S.level>=C&&S.level<m){var D=bi.filter(B,function(R){return R.x==S.x&&R.y==S.y&&R.level==S.level});if(D.length!=0&&D[0].data&&D[0].data.length>0){S.data.geometryPrimitive=new v._cesium.Primitive({geometryInstances:D[0].data,appearance:new v._cesium.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:v._cesium.ShadowMode.ENABLED}),S.state=v._cesium.QuadtreeTileLoadState.LOADING,S.state===v._cesium.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive&&S.data.geometryPrimitive.update(w,[]),S.state=v._cesium.QuadtreeTileLoadState.DONE,S.renderable=!0);return}B.push({level:S.level,x:S.x,y:S.y,data:void 0}),function(R){v._core.xhr({url:A+"?REQUEST=GetTile&SERVICE=WMTS&VERSION=1.0.0&LAYER="+o+"&STYLE=&TILEMATRIX=EPSG:4490:"+R.level+"&TILEMATRIXSET=EPSG:4490&FORMAT=application/json;type=geojson&TILECOL="+R.x+"&TILEROW="+R.y,type:"get",dataType:"json",success:function(P){var M=[];function L(K){for(var X=0;X<K.length;X++)Array.isArray(K[X])?L(K[X]):k.push(K[X])}for(var F=0;F<P.features.length;F++){var k=[];L(P.features[F].geometry.coordinates[0]);var N=v._cesium.Cartesian3.fromDegreesArray(k);I.positions=N;var G=new v._cesium.GeometryInstance({geometry:new v._cesium.WallGeometry({positions:I.positions}),attributes:{color:new v._cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.WHITE)}});M.push(G)}var J=bi.filter(B,function(K){return K.x==R.x&&K.y==R.y});J[0].data=M,R.data.geometryPrimitive=new v._cesium.Primitive({geometryInstances:M,appearance:new v._cesium.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:v._cesium.ShadowMode.ENABLED})},error:function(){B=bi.remove(B,function(P){return P.x==R.x&&P.y==R.y&&P.level==R.level})},complete:function(){R.state=v._cesium.QuadtreeTileLoadState.LOADING,R.state===v._cesium.QuadtreeTileLoadState.LOADING&&(R.data.geometryPrimitive&&R.data.geometryPrimitive.update(w,[]),R.state=v._cesium.QuadtreeTileLoadState.DONE,R.renderable=!0)}})}(S)}else S.state=v._cesium.QuadtreeTileLoadState.LOADING,S.state===v._cesium.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive&&S.data.geometryPrimitive.update(w,[]),S.state=v._cesium.QuadtreeTileLoadState.DONE,S.renderable=!0)},this._primitive=new v._cesium.QuadtreePrimitive({tileProvider:this._VectorTileProvider});var Q=this._viewer.scene,T=Q.primitives;T.add(this._primitive)};Fv.prototype.createWallPrimitiveGeoFeatureLayer=function(o,A,f,m,C,E){var x={positions:void 0,granularity:this._cesium.Math.RADIANS_PER_DEGREE,maximumHeights:0,minimumHeights:0,vertexFormat:this._cesium.VertexFormat.DEFAULT};A==null&&console.log("geojson is required");var y=null;A.then?y=A:y=this._cesium.GeoJsonDataSource.load(A);var I=this,v=[];y.then(function(Q){for(var T=Q.entities.values,w=0;w<T.length;w++){var S=T[w];x.positions=S.polyline.positions._value;var D=new Array(x.positions.length),R=new Array(x.positions.length),P=void 0,M=void 0;/^\[/.test(f.minimumHeights)?(P=f.minimumHeights.replace(/\[/,"").replace("/]/",""),P=S.properties[P]._value):P=f.minimumHeights,/^\[/.test(f.maximumHeights)?(M=f.maximumHeights.replace(/\[/,"").replace("/]/",""),M=S.properties[M]._value):M=f.maximumHeights,D.fill(P),R.fill(M),x.minimumHeights=D,x.maximumHeights=R;var L=I._cesium.Color.WHITE;!I._core.isnull(f)&&!I._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"?L=f.material.replace(/\[/,"").replace("/]/",""):L=bi.clone(f.material),I._core.isHtmlColor(L)?L=I._color.colorFromHtmlColor(f.material):(/^rgb/.test(L)&&(L=I._color.rgbaStringToRgbaObj(L)),L.r>1&&(L.r=L.r/255),L.g>1&&(L.g=L.g/255),L.b>1&&(L.b=L.b/255),L.a>1&&(L.a=L.a/255),L=I._color.createColor(L.r,L.g,L.b,L.a)));var F="material:"+L.red*255+","+L.green*255+","+L.blue*255;I.Legend.push(F);var k=new I._cesium.GeometryInstance({id:S,geometry:new I._cesium.WallGeometry(x),attributes:{color:new I._cesium.ColorGeometryInstanceAttribute.fromColor(L)}});v.push(k)}var N;f&&f.time&&(N=new I._cesium.TimeIntervalCollection([new I._cesium.TimeInterval({start:f.time.start?I._cesium.JulianDate.fromDate(new Date(f.time.start)):I._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?I._cesium.JulianDate.fromDate(new Date(f.time.end)):I._cesium.Iso8601.MAXIMUM_VALUE})]));var G=I._viewer.scene.primitives.add(new I._cesium.Primitive({geometryInstances:v,appearance:new I._cesium.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0})}),N);I.item=G,C||_this.setVisibility(!1),typeof E=="function"&&E(G)}),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u5899\u56FE\u5C42"+options.id);var B={id:f.id,name:o,pId:this._core.isnull(m)?0:m,type:"polylineWallLayer",item:this,url:A,style:options};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),this};Fv.prototype.createWallGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x={positions:void 0,granularity:this._cesium.Math.RADIANS_PER_DEGREE,maximumHeights:0,minimumHeights:0,vertexFormat:this._cesium.VertexFormat.DEFAULT},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var I=new FA(this._viewer,this._cesium,y);this._Provider=I;var v=this;I._loadTile=function(Q){var T=[];v.Legend=[];var w=new v._cesium.PrimitiveCollection;return Q.features.forEach(function(S){var D=[],R=!1;function P(F){for(var k=0;k<F.length;k++)Array.isArray(F[k])?P(F[k]):(D.push(F[k]),k===2&&!R&&(R=!0))}if(Array.isArray(S.geometry.coordinates)&&S.geometry.coordinates.length>0)if(Array.isArray(S.geometry.coordinates[0][0]))for(var M=0;M<S.geometry.coordinates.length;M++)D=[],P(S.geometry.coordinates[M]),L(D);else P(S.geometry.coordinates),L(D);function L(F){if(/^\[/.test(f.material)&&/\]$/.test(f.material)){var k=f.material.replace(/\[/,"").replace(/\]/,"");options.material=S.properties[k],v._core.isHtmlColor(options.material)?options.material=v._color.colorFromHtmlColor(options.material):(/^rgb/.test(options.material)&&(options.material=v._color.rgbaStringToRgbaObj(options.material)),options.material.r>1&&(options.material.r=options.material.r/255),options.material.g>1&&(options.material.g=options.material.g/255),options.material.b>1&&(options.material.b=options.material.b/255),options.material.a>1&&(options.material.a=options.material.a/255),options.material=v._color.createColor(options.material.r,options.material.g,options.material.b,options.material.a))}var N=R?v._cesium.Cartesian3.fromDegreesArrayHeights(F):v._cesium.Cartesian3.fromDegreesArray(F);x.positions=N,S.positions=N;var G=new Array(x.positions.length),J=new Array(x.positions.length),K=void 0,X=void 0;/^\[/.test(f.minimumHeights)?(K=f.minimumHeights.replace(/\[/,"").replace("/]/",""),K=entity.properties[K]._value):K=f.minimumHeights,/^\[/.test(f.maximumHeights)?(X=f.maximumHeights.replace(/\[/,"").replace("/]/",""),X=entity.properties[X]._value):X=f.maximumHeights,G.fill(K),J.fill(X),x.minimumHeights=G,x.maximumHeights=J,S.treeID=f.id,S.VectorType="wall",S.VectorStyle={haveZ:R,minimumHeights:G,maximumHeights:J,positions:F,material:f.material};var q=new v._cesium.GeometryInstance({id:S,geometry:new v._cesium.WallGeometry(x),attributes:{color:new v._cesium.ColorGeometryInstanceAttribute.fromColor(f.material)}}),ee="material:"+f.material.red*255+","+f.material.green*255+","+f.material.blue*255;v.Legend.push(ee);var ie=new v._cesium.Primitive({geometryInstances:q,appearance:new v._cesium.MaterialAppearance({material:new v._cesium.Material({fabric:{type:"Color",uniforms:{color:f.material}}}),faceForward:!0,flat:!1}),vertexCacheOptimize:!0,interleave:!0,shadows:v._cesium.ShadowMode.ENABLED});w.add(ie)}}),w},f&&f.time&&(I.availability=new v._cesium.TimeIntervalCollection([new v._cesium.TimeInterval({start:f.time.start?v._cesium.JulianDate.fromDate(new Date(f.time.start)):v._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?v._cesium.JulianDate.fromDate(new Date(f.time.end)):v._cesium.Iso8601.MAXIMUM_VALUE})])),this.item=I._primitiveCollection,I.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u5899\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var B={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polylineWallLayer",item:this,url:A.url,style:f};return this._Provider.treeID=f.id,this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};Fv.prototype.setTreeobj=function(o){this.treeobj=o};Fv.prototype.deleteObject=function(){this._viewer.scene.primitives.remove(this.item);try{this._Provider.remove()}catch{}};Fv.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.treeobj.url;return{type:this.treeobj.type,treeobj:{name:this.treeobj.name,pId:this.treeobj.pId},style:{show:o,url:A}}};Fv.prototype.getLegend=function(){var o=[];return this.Legend!=null&&(o=this._core.unique(this.Legend)),o};Fv.prototype.setRefresh=function(o){try{this._Provider&&this._Provider.setStatus(!o)}catch{}};Fv.prototype.setVisibility=function(o){this.item.show=o,this._Provider&&this._Provider.setStatus(!o)};Fv.prototype.edit=function(o,A){return this.isEditting=o,this.editoption=A,this._Provider&&this._Provider.edit&&this._Provider.edit(o,A)};Fv.prototype.forceRefresh=function(){try{for(var o=0;o<this._Provider.quadtree._levelZeroTiles.length;o++)this._Provider.quadtree._levelZeroTiles[o].freeResources()}catch{}};var UK=Fv;var _i=null;function Lo(o,A){this._viewer=o,this._cesium=A,_i=A,this._core=new $i(o,A),this._tree=Ke,this._getPosition=new kl(this._viewer,this._cesium),this._ModelEdit=new aK(this._viewer,this._cesium),this._popupmessage=new kI(this._viewer,this._cesium),this._createGroup=new Ek(this._viewer,this._cesium),this._billboardGeoJsonFeatureLayer=new OK(this._viewer,this._cesium),this._GeoJsonFeatureLayer=new Rc(this._viewer,this._cesium),this._LabelGeoJsonFeatureLayercopy=new bC(this._viewer,this._cesium),this._VectorGeoJsonFeatureLayer=new Ec(this._viewer,this._cesium),this._PolylineGeoJsonFeatureLayer=new YT(this._viewer,this._cesium),this._PointModel=new Zw(this._viewer,this._cesium),this._PolygonGeoJsonFeatureLayer=new $w(this._viewer,this._cesium),this._PolygonVectorTileLayerArcgis=new jae(this._viewer,this._cesium),this._WallGeoFeatureLayer=new UK(this._viewer,this._cesium),this.tooltip=this._core.CreateTooltip(),this.objectsToExclude=[],this.SimpleGraphicObj=[],!Ke.editPointID&&(Ke.editPointID={edit:[],size:[],move:void 0,height:[],add:[]}),this.editProp=!1,this.PrimitiveCollection=new _i.PrimitiveCollection,o.scene.primitives.add(this.PrimitiveCollection),this.SizeData=[],this.featuresPlotting=[],this.openEdit=!0}Lo.prototype.createSimpleGraphic=function(o,A={},f){let m=null,C=(E,x)=>{E&&A.removeEdit&&this.SimpleGraphicObj.pop(),A.propData&&this.setPropData(E,A.propData),E.deleteObject=()=>{this.remove(E.id),this._viewer.entities.removeById(E.id)},this.defaultEdit(),f&&f(E,x)};switch(this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),o){case"point":m=this.createPoint(A,C);break;case"billboard":m=this.createBillboard(A,C);break;case"label":m=this.createLabel(A,C);break;case"model":m=this.createModel(A,C);break;case"polyline":m=this.createPolyline(A,C);break;case"polygon":m=this.createPolygon(A,C);break;case"triangle":m=this.createTriangle(A,C);break;case"polygon-rectangle":m=this.createPolygonRectangle(A,C);break;case"rectangle":m=this.createRectangle(A,C);break;case"circle":m=this.createCircle(A,C);break;case"ellipse":m=this.createEllipse(A,C);break;case"box":m=this.createBox(A,C);break;case"cylinder":m=this.createCylinder(A,C);break;case"cone":m=this.createCone(A,C);break;case"sphere":m=this.createSphere(A,C);break;case"polyhedron":m=this.createPolyhedron(A,C);break}return m};Lo.prototype.addSimpleGraphic=function(o,A={},f){let m=null;switch(o){case"point":m=this.addPoint(A);break;case"billboard":m=this.addBillboard(A);break;case"label":m=this.addLabel(A);break;case"model":m=this.addModel(A);break;case"polyline":m=this.addPolyline(A);break;case"polylinePrimitive":m=this.addPolylinePrimitive(A);break;case"polygon":m=this.addPolygon(A);break;case"polygonPrimitive":m=this.addPolygonPrimitive(A);break;case"rectangle":m=this.addRectangle(A);break;case"circle":m=this.addCircle(A);break;case"ellipse":m=this.addEllipse(A);break;case"box":m=this.addBox(A);break;case"cylinder":m=this.addCylinder(A);break;case"cone":m=this.addCone(A);break;case"sphere":m=this.addSphere(A);break;case"ellipsoid":m=this.addSphere(A);break;case"polyhedron":m=this.addPolyhedron(A);break}if(m&&A.removeEdit&&this.SimpleGraphicObj.pop(),A.propData&&this.setPropData(m,A.propData),this.defaultEdit(),m.deleteObject=()=>{this.remove(m.id),this._viewer.entities.removeById(m.id)},f&&(A.GroupID=f.pId,A.id=f.id,A.name=f.name),A.GroupID!==void 0){let C={id:m.id,name:m.name,pId:A.GroupID,type:o,item:{item:m,setVisibility:E=>{m.show=E}}};o.indexOf("Primitive")>-1&&(C.id=A.id,C.name=A.name),Ke.insertGroupId(C,A.GroupID)}return m};Lo.prototype.getDefaultLabelStyle=function(o){return{show:this._core.defaultValue(o.showLabel,!1),text:this._core.defaultValue(o.label_text,"\u65B0\u5EFA\u6587\u672C"),font:this._core.defaultValue(o.label_font,"24px \u5B8B\u4F53"),scale:this._core.defaultValue(o.label_scale,1),style:this._core.defaultValue(o.label_style,2),fillColor:this._cesium.Color.fromCssColorString(this._core.defaultValue(o.label_fillColor,"#ffffff")),outlineColor:this._cesium.Color.fromCssColorString(this._core.defaultValue(o.label_outlineColor,"#000000")),outlineWidth:this._core.defaultValue(o.label_outlineWidth,0),showBackground:this._core.defaultValue(o.label_showBackground,!1),backgroundColor:this._cesium.Color.fromCssColorString(this._core.defaultValue(o.label_backgroundColor,"rgba(42,42,42,0.8)")),heightReference:this._core.defaultValue(o.label_heightReference,1),horizontalOrigin:this._core.defaultValue(o.label_horizontalOrigin,this._cesium.HorizontalOrigin.CENTER),verticalOrigin:this._core.defaultValue(o.label_verticalOrigin,this._cesium.VerticalOrigin.CENTER),scaleByDistance:this._core.defaultValue(o.label_scaleByDistance,void 0),pixelOffset:this._core.defaultValue(o.label_pixelOffset,void 0),disableDepthTestDistance:this._core.defaultValue(o.label_disableDepthTestDistance,Number.POSITIVE_INFINITY),distanceDisplayCondition:this._core.defaultValue(o.label_distanceDisplayCondition,new this._cesium.DistanceDisplayCondition(0,1e8))}};Lo.prototype.end=function(o){};Lo.prototype.createPoint=function(o={},A){let f=this,m=this._viewer;return this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1,this.drawHandler.setInputAction(C=>{let E=f._getPosition.getMousePosition(C);if(E){let x=m.entities.add({id:f._core.getuid(),name:"\u65B0\u5EFA\u70B9",position:E,point:{pixelSize:16,heightReference:0,color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"#0000ff")),outlineWidth:f._core.defaultValue(o.outlineWidth,2),outlineColor:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)")),disableDepthTestDistance:f._core.defaultValue(o.disableDepthTestDistance,Number.POSITIVE_INFINITY),distanceDisplayCondition:f._core.defaultValue(o.distanceDisplayCondition,new f._cesium.DistanceDisplayCondition(0,1e8))}});f.SimpleGraphicObj.push(x.id),f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),A&&typeof A=="function"&&A(x)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(C=>{f.tooltip.showAt(C.endPosition,"\u70B9\u51FB\u7ED8\u5236\u70B9")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(C=>{this.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=()=>{this.end=void 0,f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0")},this};Lo.prototype.addPoint=function(o={}){let A=this,m=this._viewer.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"\u65B0\u5EFA\u70B9"),position:o.position,point:{pixelSize:A._core.defaultValue(o.pixelSize,16),color:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"#0000ff")),outlineWidth:A._core.defaultValue(o.outlineWidth,2),outlineColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)")),heightReference:A._core.defaultValue(o.heightReference,0),scaleByDistance:A._core.defaultValue(o.scaleByDistance,void 0),disableDepthTestDistance:A._core.defaultValue(o.disableDepthTestDistance,Number.POSITIVE_INFINITY),distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))}});return A.SimpleGraphicObj.push(m.id),m};Lo.prototype.createBillboard=function(o={},A){let f=this,m=this._viewer;return this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1,o.image=this._core.getGifImageProperty(o.image),this.drawHandler.setInputAction(C=>{let E=f._getPosition.getMousePosition(C);if(E){let x=m.entities.add({id:f._core.getuid(),name:"Billboard",position:E,billboard:{horizontalOrigin:f._cesium.HorizontalOrigin.CENTER,verticalOrigin:f._cesium.VerticalOrigin.BOTTOM,heightReference:0,scale:f._core.defaultValue(o.scale,1),width:f._core.defaultValue(o.width,o.image?void 0:32),height:f._core.defaultValue(o.height,o.image?void 0:44),image:f._core.defaultValue(o.image,window.SmartEarthRootUrl+Zr.mark),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"#ffffff")),disableDepthTestDistance:f._core.defaultValue(o.disableDepthTestDistance,Number.POSITIVE_INFINITY),distanceDisplayCondition:f._core.defaultValue(o.distanceDisplayCondition,new f._cesium.DistanceDisplayCondition(0,1e8))},label:this.getDefaultLabelStyle(o)});f.SimpleGraphicObj.push(x.id),f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),A&&typeof A=="function"&&A(x)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(C=>{f.tooltip.showAt(C.endPosition,"\u70B9\u51FB\u7ED8\u5236\u56FE\u6807")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(C=>{this.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=()=>{this.end=void 0,f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0")},this};Lo.prototype.addBillboard=function(o={}){let A=this,f=this._viewer;o.image=this._core.getGifImageProperty(o.image);let m=f.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"Billboard"),position:o.position,billboard:{horizontalOrigin:A._core.defaultValue(o.horizontalOrigin,A._cesium.HorizontalOrigin.CENTER),verticalOrigin:A._core.defaultValue(o.verticalOrigin,A._cesium.VerticalOrigin.BOTTOM),scale:A._core.defaultValue(o.scale,1),rotation:A._core.defaultValue(o.rotation,0),width:A._core.defaultValue(o.width,void 0),height:A._core.defaultValue(o.height,void 0),image:A._core.defaultValue(o.image,window.SmartEarthRootUrl+Zr.mark),color:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"#ffffff")),heightReference:A._core.defaultValue(o.heightReference,0),scaleByDistance:A._core.defaultValue(o.scaleByDistance,void 0),disableDepthTestDistance:A._core.defaultValue(o.disableDepthTestDistance,Number.POSITIVE_INFINITY),distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))},label:this.getDefaultLabelStyle(o)});return A.SimpleGraphicObj.push(m.id),m};Lo.prototype.createLabel=function(o={},A){let f=this,m=this._viewer;return this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1,this.drawHandler.setInputAction(C=>{let E=f._getPosition.getMousePosition(C);if(E){let x=m.entities.add({id:f._core.getuid(),name:"\u65B0\u5EFA\u6587\u672C",position:E,label:{text:"\u65B0\u5EFA\u6587\u672C",font:"24px \u5B8B\u4F53",fillColor:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.fillColor,"#ffffff")),heightReference:0,scale:1,style:2,outlineColor:f._cesium.Color.BLACK,outlineWidth:0,showBackground:!1,backgroundColor:new f._cesium.Color(.165,.165,.165,.8),horizontalOrigin:f._cesium.HorizontalOrigin.CENTER,verticalOrigin:f._cesium.VerticalOrigin.CENTER,distanceDisplayCondition:f._core.defaultValue(o.distanceDisplayCondition,new f._cesium.DistanceDisplayCondition(0,1e8)),disableDepthTestDistance:Number.POSITIVE_INFINITY}});f.SimpleGraphicObj.push(x.id),f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),A&&typeof A=="function"&&A(x)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(C=>{f.tooltip.showAt(C.endPosition,"\u70B9\u51FB\u7ED8\u5236\u6587\u672C")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(C=>{this.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=()=>{this.end=void 0,f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0")},this};Lo.prototype.addLabel=function(o={}){let A=this,m=this._viewer.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"\u65B0\u5EFA\u6587\u672C"),position:o.position,label:{text:A._core.defaultValue(o.text,"\u65B0\u5EFA\u6587\u672C"),font:A._core.defaultValue(o.font,"24px \u5B8B\u4F53"),scale:A._core.defaultValue(o.scale,1),style:A._core.defaultValue(o.style,2),fillColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.fillColor,"#ffffff")),outlineColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.outlineColor,"#000000")),outlineWidth:A._core.defaultValue(o.outlineWidth,0),showBackground:A._core.defaultValue(o.showBackground,!1),backgroundColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.backgroundColor,"rgba(42,42,42,0.8)")),heightReference:A._core.defaultValue(o.heightReference,0),horizontalOrigin:A._core.defaultValue(o.horizontalOrigin,A._cesium.HorizontalOrigin.CENTER),verticalOrigin:A._core.defaultValue(o.verticalOrigin,A._cesium.VerticalOrigin.CENTER),scaleByDistance:A._core.defaultValue(o.scaleByDistance,void 0),pixelOffset:A._core.defaultValue(o.pixelOffset,void 0),disableDepthTestDistance:A._core.defaultValue(o.disableDepthTestDistance,Number.POSITIVE_INFINITY),distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))}});return A.SimpleGraphicObj.push(m.id),m};Lo.prototype.createModel=function(o={},A){let f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;let C,E=_i.Matrix3.fromRotationX(_i.Math.toRadians(f._core.defaultValue(o.heading,0))),x=_i.Matrix3.fromRotationY(_i.Math.toRadians(f._core.defaultValue(o.pitch,0))),y=_i.Matrix3.fromRotationZ(_i.Math.toRadians(f._core.defaultValue(o.roll,0))),I=_i.Matrix4.fromRotationTranslation(E),v=_i.Matrix4.fromRotationTranslation(x),B=_i.Matrix4.fromRotationTranslation(y);this.drawHandler.setInputAction(T=>{let w=f._getPosition.getMousePosition(T,C);w&&(C&&m.scene.primitives.remove(C),C=m.entities.add({id:f._core.getuid(),name:f._core.defaultValue(o.name,"Model"),position:w,orientation:_i.Transforms.headingPitchRollQuaternion(w,new _i.HeadingPitchRoll(_i.Math.toRadians(f._core.defaultValue(o.heading,0)),_i.Math.toRadians(f._core.defaultValue(o.pitch,0)),_i.Math.toRadians(f._core.defaultValue(o.roll,0)))),model:{uri:f._core.defaultValue(o.url,window.SmartEarthRootUrl+Zr.testModel),scale:f._core.defaultValue(o.scale,1),minimumPixelSize:0,runAnimations:!0,colorBlendMode:f._core.defaultValue(o.colorBlendMode,void 0),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"#ffffff")),distanceDisplayCondition:f._core.defaultValue(o.distanceDisplayCondition,new f._cesium.DistanceDisplayCondition(0,1e8))}}),C.heading=f._core.defaultValue(o.heading,0),C.pitch=f._core.defaultValue(o.pitch,0),C.roll=f._core.defaultValue(o.roll,0),f.SimpleGraphicObj.push(C.id),f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),A&&typeof A=="function"&&A(C))},this._cesium.ScreenSpaceEventType.LEFT_CLICK);let Q=!1;return this.drawHandler.setInputAction(T=>{let w=f._getPosition.getMousePosition(T,C);if(C){let S=_i.Transforms.eastNorthUpToFixedFrame(w);_i.Matrix4.multiply(S,I,S),_i.Matrix4.multiply(S,v,S),_i.Matrix4.multiply(S,B,S),C.modelMatrix=S}else if(w){let S=_i.Transforms.eastNorthUpToFixedFrame(w);_i.Matrix4.multiply(S,I,S),_i.Matrix4.multiply(S,v,S),_i.Matrix4.multiply(S,B,S),C=m.scene.primitives.add(_i.Model.fromGltf({modelMatrix:S,url:f._core.defaultValue(o.url,window.SmartEarthRootUrl+Zr.testModel),scale:f._core.defaultValue(o.scale,1),minimumPixelSize:0,colorBlendMode:f._core.defaultValue(o.colorBlendMode,void 0),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"#ffffff")).withAlpha(.5),distanceDisplayCondition:f._core.defaultValue(o.distanceDisplayCondition,new f._cesium.DistanceDisplayCondition(0,1e8)),allowPicking:!1})),C.readyPromise.then(()=>{Q=!0})}Q?f.tooltip.showAt(T.endPosition,"\u70B9\u51FB\u7ED8\u5236\u6A21\u578B"):f.tooltip.showAt(T.endPosition,"\u52A0\u8F7D\u6A21\u578B\u4E2D...")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(T=>{this.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=()=>{this.end=void 0,f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),setTimeout(function(){Ke.states=0},100),C&&m.scene.primitives.remove(C),f._core.mouse(f._viewer.container,0,"0")},this};Lo.prototype.addModel=function(o={}){let A=this,m=this._viewer.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"Model"),position:o.position,orientation:_i.Transforms.headingPitchRollQuaternion(o.position,new _i.HeadingPitchRoll(_i.Math.toRadians(A._core.defaultValue(o.heading,0)),_i.Math.toRadians(A._core.defaultValue(o.pitch,0)),_i.Math.toRadians(A._core.defaultValue(o.roll,0)))),model:{scale:A._core.defaultValue(o.scale,1),uri:A._core.defaultValue(o.url,window.SmartEarthRootUrl+Zr.testModel),minimumPixelSize:A._core.defaultValue(o.minimumPixelSize,0),runAnimations:A._core.defaultValue(o.runAnimations,!0),colorBlendMode:A._core.defaultValue(o.colorBlendMode,void 0),color:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"#ffffff")),distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))}});return m.heading=A._core.defaultValue(o.heading,0),m.pitch=A._core.defaultValue(o.pitch,0),m.roll=A._core.defaultValue(o.roll,0),A.SimpleGraphicObj.push(m.id),m};Lo.prototype.createPolyline=function(o={},A){let f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;let C=[],E;return this.drawHandler.setInputAction(x=>{let y=f._getPosition.getMousePosition(x,E);!y||(C.length===0&&C.push(y.clone()),C.push(y),o.toPoint&&C.length===3&&(C.pop(),f.end()),E||(E=m.entities.add({id:f._core.getuid(),name:f._core.defaultValue(o.name,"\u65B0\u5EFA\u7EBF"),polyline:{positions:new f._cesium.CallbackProperty(function(){return C},!1),clampToGround:f._core.defaultValue(o.clampToGround,!0),material:new _i.PolylineOutlineMaterialProperty({color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"rgba(0,255,0,0.6)")),outlineWidth:0,outlineColor:f._cesium.Color.WHITE.withAlpha(.6)}),depthFailMaterial:o.depthFailColor&&new _i.PolylineOutlineMaterialProperty({color:f._cesium.Color.fromCssColorString(o.depthFailColor),outlineWidth:0,outlineColor:f._cesium.Color.WHITE.withAlpha(.6)}),width:f._core.defaultValue(o.width,3),distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8)}}),f.SimpleGraphicObj.push(E.id)),o.showSize&&f.showSizeData("polyline",[C[C.length-2],C[C.length-1]]))},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(x=>{if(C.length===0)f.tooltip.showAt(x.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236");else{f.tooltip.showAt(x.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u70B9\uFF0C\u53F3\u952E\u7ED3\u675F\u7ED8\u5236");let y=f._getPosition.getMousePosition(x,E);if(!y)return;C.pop(),C.push(y),o.showSize&&(f.clearLastSizeData(),f.showSizeData("polyline",[C[C.length-2],C[C.length-1]]))}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.end=function(x){if(f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),f.clearAllSizeData(),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0),f.end=void 0,x==="cancel"){E&&(m.entities.remove(E),f.SimpleGraphicObj.pop());return}!E||A&&typeof A=="function"&&A(E,C)},this.drawHandler.setInputAction(x=>{f.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this};Lo.prototype.addPolyline=function(o={}){let A=this,f=this._viewer,m=o.positions,C=f.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"\u65B0\u5EFA\u7EBF"),polyline:{positions:m,clampToGround:A._core.defaultValue(o.clampToGround,!0),material:new _i.PolylineOutlineMaterialProperty({color:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"rgba(0,255,0,0.6)")),outlineWidth:A._core.defaultValue(o.outlineWidth,0),outlineColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)"))}),depthFailMaterial:o.depthFailColor&&new _i.PolylineOutlineMaterialProperty({color:A._cesium.Color.fromCssColorString(o.depthFailColor),outlineWidth:0,outlineColor:A._cesium.Color.WHITE.withAlpha(.6)}),width:A._core.defaultValue(o.width,3),distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))}});return A.SimpleGraphicObj.push(C.id),C};Lo.prototype.addPolylinePrimitive=function(o={}){let A=this,f=this._viewer,m=o.positions,C;if(o.clampToGround)C=new A._cesium.GroundPolylineGeometry({positions:m,width:A._core.defaultValue(o.width,3)});else{let v=new _i.PolylineGeometry({positions:m,width:A._core.defaultValue(o.width,3)});C=_i.PolylineGeometry.createGeometry(v)}let E=A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"rgba(0,255,0,0.6)")),x=new _i.GeometryInstance({id:A._core.defaultValue(o.id,A._core.getuid()),geometry:C,attributes:{color:new A._cesium.ColorGeometryInstanceAttribute.fromColor(E)}}),y,I=new A._cesium.PolylineColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0});return o.clampToGround?y=new A._cesium.GroundPolylinePrimitive({geometryInstances:x,appearance:I}):y=new A._cesium.Primitive({geometryInstances:x,appearance:I}),this.PrimitiveCollection.add(y),y};Lo.prototype.createPolygon=function(o={},A){let f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;let C=[],E,x;return this.drawHandler.setInputAction(y=>{let I=f._getPosition.getMousePosition(y,[x,E]);!I||(C.length===0&&C.push(I.clone()),C.push(I),C.length===2&&!x&&(o.clampToGround=f._core.defaultValue(o.clampToGround,!0),x=m.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new f._cesium.CallbackProperty(function(){return C},!1),clampToGround:f._core.defaultValue(o.clampToGround,!0),material:new _i.PolylineOutlineMaterialProperty({color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"rgba(0,255,0,0.6)")),outlineWidth:0,outlineColor:f._cesium.Color.WHITE.withAlpha(.6)}),width:3}})),C.length===3&&!E&&(x&&m.entities.remove(x),E=m.entities.add({id:f._core.getuid(),name:f._core.defaultValue(o.name,"\u65B0\u5EFA\u9762"),polygon:{hierarchy:new f._cesium.CallbackProperty(function(){return new f._cesium.PolygonHierarchy(C)},!1),material:new f._cesium.ImageMaterialProperty({image:null,repeat:new f._cesium.Cartesian2(1,1),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),perPositionHeight:!f._core.defaultValue(o.clampToGround,!1),heightReference:o.clampToGround?1:0,outline:f._core.defaultValue(o.outline,!1),outlineColor:f._cesium.Color.WHITE.withAlpha(.6),distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8)}}),f.SimpleGraphicObj.push(E.id)))},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(y=>{if(C.length===0)f.tooltip.showAt(y.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u7B2C\u4E00\u4E2A\u70B9");else if(C.length===1){f.tooltip.showAt(y.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u7B2C\u4E8C\u4E2A\u70B9");let I=f._getPosition.getMousePosition(y,[x,E]);if(!I)return;C.pop(),C.push(I)}else{f.tooltip.showAt(y.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u70B9\uFF0C\u53F3\u952E\u7ED3\u675F\u7ED8\u5236");let I=f._getPosition.getMousePosition(y,[x,E]);if(!I)return;if(C.pop(),C.push(I),o.showSize){f.clearLastSizeData();let v=f.showSizeData("polygon",C);E&&(E.sizeData=v)}}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.end=function(y){if(f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),x&&m.entities.remove(x),f.clearAllSizeData(),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),f.end=void 0,y==="cancel"){E&&(m.entities.remove(E),f.SimpleGraphicObj.pop());return}!E||A&&typeof A=="function"&&A(E,C)},this.drawHandler.setInputAction(y=>{f.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this};Lo.prototype.createTriangle=function(o={},A){let f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;let C=[],E,x;this.drawHandler.setInputAction(w=>{let S=f._getPosition.getMousePosition(w,x);!S||(E?(C=y(E,S),this.end()):(E=S,C=[S,S,S]),C.length&&!x&&(o.clampToGround=f._core.defaultValue(o.clampToGround,!0),x=m.entities.add({id:f._core.getuid(),name:"\u65B0\u5EFA\u4E09\u89D2\u5F62",polygon:{hierarchy:new f._cesium.CallbackProperty(function(){return new f._cesium.PolygonHierarchy(C)},!1),material:new f._cesium.ImageMaterialProperty({image:null,repeat:new f._cesium.Cartesian2(1,1),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),perPositionHeight:!f._core.defaultValue(o.clampToGround,!1),heightReference:o.clampToGround?1:0,outline:f._core.defaultValue(o.outline,!1),outlineColor:f._cesium.Color.WHITE.withAlpha(.6),distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8)}}),f.SimpleGraphicObj.push(x.id)))},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(w=>{if(!E)f.tooltip.showAt(w.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236");else{f.tooltip.showAt(w.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236");let S=f._getPosition.getMousePosition(w,x);if(!S)return;C=y(E,S)}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.end=function(w){if(f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0),f.end=void 0,w==="cancel"){x&&(m.entities.remove(x),f.SimpleGraphicObj.pop());return}A&&typeof A=="function"&&A(x)},this.drawHandler.setInputAction(w=>{f.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK);function y(w,S){let D=[],R=f.toDegrees(w),P=f.toDegrees(S),M=Q(R.lat,R.lon,P.lat,P.lon),L=M.angle,F=M.distance;D.push(P.lon,P.lat);let k=B(R.lat,R.lon,F,L+120);return D.push(k[0],k[1]),k=B(R.lat,R.lon,F,L-120),D.push(k[0],k[1]),_i.Cartesian3.fromDegreesArray(D)}let I=6378137,v=6356725;function B(w,S,D,R){let P=D*Math.sin(R*Math.PI/180),M=D*Math.cos(R*Math.PI/180),L=v+(I-v)*(90-w)/90,F=L*Math.cos(w*Math.PI/180),k=(P/F+S*Math.PI/180)*180/Math.PI,N=(M/L+w*Math.PI/180)*180/Math.PI;return[k,N]}function Q(w,S,D,R){let P=T(w),M=T(D),L=T(D)-T(w),F=T(R)-T(S),k=2*Math.asin(Math.sqrt(Math.pow(Math.sin(L/2),2)+Math.cos(P)*Math.cos(M)*Math.pow(Math.sin(F/2),2)));return k=k*I,k=Math.round(k*1e4)/1e4,{angle:f._core.TwoPointAzimuth(S,w,R,D),distance:k}}function T(w){return w*Math.PI/180}return this};Lo.prototype.createPolygonRectangle=function(o={},A){let f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;let C=[],E,x,y;return this.drawHandler.setInputAction(I=>{let v=f._getPosition.getMousePosition(I,E);!v||(C.length?f.end():(x=I.position,C.push(v.clone(),v.clone(),v.clone(),v.clone())),E||(o.clampToGround=f._core.defaultValue(o.clampToGround,!0),E=m.entities.add({id:f._core.getuid(),name:"\u65B0\u5EFA\u9762",polygon:{hierarchy:new f._cesium.CallbackProperty(function(){return new f._cesium.PolygonHierarchy(C)},!1),material:new f._cesium.ImageMaterialProperty({image:null,repeat:new f._cesium.Cartesian2(1,1),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),perPositionHeight:!f._core.defaultValue(o.clampToGround,!1),heightReference:o.clampToGround?1:0,outline:f._core.defaultValue(o.outline,!1),outlineColor:f._cesium.Color.WHITE.withAlpha(.6),distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8)}})))},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(I=>{if(C.length===0)f.tooltip.showAt(I.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236");else{f.tooltip.showAt(I.endPosition,"\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236"),x=m.scene.cartesianToCanvasCoordinates(C[0]),y=I.endPosition;let v={x:x.x,y:y.y},B={x:y.x,y:x.y},Q=f._getPosition.getMousePosition(v,E);Q&&(C[1]=Q),Q=f._getPosition.getMousePosition(y,E),Q&&(C[2]=Q),Q=f._getPosition.getMousePosition(B,E),Q&&(C[3]=Q)}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.end=function(I){if(f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),f.end=void 0,I==="cancel"){E&&m.entities.remove(E);return}A&&typeof A=="function"&&A(E,x,y)},this};Lo.prototype.addPolygon=function(o={}){let A=this,f=this._viewer,m=o.positions,C;o.hierarchy?C=o.hierarchy:C=new A._cesium.PolygonHierarchy(m),o.clampToGround=A._core.defaultValue(o.clampToGround,!0);let E=f.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"\u65B0\u5EFA\u9762"),polygon:{hierarchy:new A._cesium.CallbackProperty(function(){return C},!1),material:new A._cesium.ImageMaterialProperty({image:A._core.defaultValue(o.image,null),repeat:A._core.defaultValue(o.repeat,new A._cesium.Cartesian2(1,1)),color:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),outline:A._core.defaultValue(o.outline,!1),outlineColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)")),perPositionHeight:!A._core.defaultValue(o.clampToGround,!1),heightReference:o.clampToGround?1:0,distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))}});return A.SimpleGraphicObj.push(E.id),E};Lo.prototype.addPolygonPrimitive=function(o={}){let A=this,f=this._viewer,m=o.positions,C;o.hierarchy?C=o.hierarchy:C=new A._cesium.PolygonHierarchy(m);let E,x=new A._cesium.PolygonGeometry({height:A._core.defaultValue(o.height,void 0),extrudedHeight:A._core.defaultValue(o.extrudedHeight,void 0),polygonHierarchy:C,vertexFormat:o.water?_i.EllipsoidSurfaceAppearance.VERTEX_FORMAT:void 0}),y=A._cesium.PolygonGeometry.createGeometry(x),I=A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"rgba(0,255,0,0.6)")),v=new _i.GeometryInstance({id:A._core.defaultValue(o.id,A._core.getuid()),geometry:y,attributes:o.water?void 0:{color:new A._cesium.ColorGeometryInstanceAttribute.fromColor(I)}}),B;if(o.water)B=new _i.Primitive({geometryInstances:v,appearance:new _i.EllipsoidSurfaceAppearance({material:new _i.Material({fabric:{type:"Water",uniforms:{baseWaterColor:o.watherColor||_i.Color.SKYBLUE.withAlpha(.6),blendColor:o.watherColor||_i.Color.SKYBLUE.withAlpha(.6),normalMap:o.url,frequency:o.frequency||1e3,animationSpeed:o.watherSpeed||.01,amplitude:o.amplitude||10}}})}),show:!0});else if(B=new A._cesium.Primitive({geometryInstances:v,appearance:new A._cesium.PerInstanceColorAppearance({translucent:!0}),shadows:o.shadows}),o.extrudedHeight){E=new _i.PrimitiveCollection;let Q=new _i.PolygonOutlineGeometry({height:A._core.defaultValue(o.height,void 0),polygonHierarchy:C,extrudedHeight:o.extrudedHeight}),T=_i.PolygonOutlineGeometry.createGeometry(Q),w=A._cesium.Color.fromCssColorString(A._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)")),S=new _i.GeometryInstance({id:A._core.defaultValue(o.id,A._core.getuid()),geometry:T,attributes:{color:new A._cesium.ColorGeometryInstanceAttribute.fromColor(w)}}),D=new A._cesium.Primitive({geometryInstances:S,appearance:new A._cesium.PolylineColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0})});E.add(B),E.add(D)}return!E&&(E=B),this.PrimitiveCollection.add(E),E};Lo.prototype.createRectangle=function(o={},A){let f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;let C=[],E;return this.drawHandler.setInputAction(x=>{let y=f._getPosition.getMousePosition(x,E);if(!!y&&(C.length===0?C.push(y,y):(C.pop(),C.push(y),f.end()),!E)){let I=f.toDegrees(C[0]);o.clampToGround=f._core.defaultValue(o.clampToGround,!0),E=m.entities.add({id:f._core.getuid(),name:"\u65B0\u5EFA\u77E9\u5F62",rectangle:{coordinates:new f._cesium.CallbackProperty(function(){return f._cesium.Rectangle.fromCartesianArray(C)},!1),material:new f._cesium.ImageMaterialProperty({image:null,repeat:new f._cesium.Cartesian2(1,1),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),height:o.clampToGround?void 0:I.height,heightReference:o.clampToGround?1:0,outline:!0,outlineColor:f._cesium.Color.WHITE.withAlpha(.6),outlineWidth:1,distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8)}}),E.thisHeight=I.height,f.SimpleGraphicObj.push(E.id)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(x=>{if(C.length>0){f.tooltip.showAt(x.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF0C\u53F3\u952E\u53D6\u6D88");let y=f._getPosition.getMousePosition(x,E);y&&(C.pop(),C.push(y),o.showSize&&(f.clearLastSizeData(),f.showSizeData("rectangle",C)))}else f.tooltip.showAt(x.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(x=>{this.end("cancel")},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=x=>{if(this.end=void 0,f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),f.clearAllSizeData(),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),x==="cancel"){E&&(m.entities.remove(E),f.SimpleGraphicObj.pop());return}A&&typeof A=="function"&&A(E)},this};Lo.prototype.addRectangle=function(o={}){let A=this,f=this._viewer,m=o.positions,C;o.coordinates?C=o.coordinates:C=A._cesium.Rectangle.fromCartesianArray(m);let E=f.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"\u65B0\u5EFA\u77E9\u5F62"),rectangle:{coordinates:new A._cesium.CallbackProperty(function(){return C},!1),material:new A._cesium.ImageMaterialProperty({image:A._core.defaultValue(o.image,null),repeat:A._core.defaultValue(o.repeat,new A._cesium.Cartesian2(1,1)),color:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),height:A._core.defaultValue(o.height,void 0),rotation:A._core.defaultValue(o.rotation,0),heightReference:A._core.defaultValue(o.heightReference,1),outline:A._core.defaultValue(o.outline,!1),outlineWidth:1,outlineColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)")),distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))}});return A.SimpleGraphicObj.push(E.id),E};Lo.prototype.createCircle=function(o={},A){let f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;let C=[],E,x=0;return this.drawHandler.setInputAction(y=>{let I=f._getPosition.getMousePosition(y,E);if(!!I&&(C.length===0?C.push(I,I):(C[0]=I,x=f._cesium.Cartesian3.distance(C[0],C[1]),f.end()),!E)){let v=f.toDegrees(C[1]);o.clampToGround=f._core.defaultValue(o.clampToGround,!0),E=m.entities.add({id:f._core.getuid(),name:"\u65B0\u5EFA\u5706",position:C[1],ellipse:{semiMajorAxis:new f._cesium.CallbackProperty(function(){return x},!1),semiMinorAxis:new f._cesium.CallbackProperty(function(){return x},!1),material:new f._cesium.ImageMaterialProperty({image:null,repeat:new f._cesium.Cartesian2(1,1),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),height:o.clampToGround?void 0:v.height,heightReference:o.clampToGround?1:0,outline:!0,outlineWidth:1,outlineColor:f._cesium.Color.WHITE.withAlpha(.6),distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8)}}),E.thisHeight=v.height,f.SimpleGraphicObj.push(E.id)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(y=>{if(C.length>0){f.tooltip.showAt(y.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF0C\u53F3\u952E\u53D6\u6D88");let I=f._getPosition.getMousePosition(y,E);I&&(C[0]=I,x=f._cesium.Cartesian3.distance(C[0],C[1]),o.showSize&&(f.clearLastSizeData(),f.showSizeData("circle",C[1],x)))}else f.tooltip.showAt(y.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(y=>{this.end("cancel")},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=y=>{if(this.end=void 0,f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),f.clearAllSizeData(),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),y==="cancel"){E&&(m.entities.remove(E),f.SimpleGraphicObj.pop());return}A&&typeof A=="function"&&A(E,{distance:x,positions:C})},this};Lo.prototype.addCircle=function(o={}){let A=this,f=this._viewer,m=o.radius,C=f.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"\u65B0\u5EFA\u5706"),position:o.position,ellipse:{semiMajorAxis:new A._cesium.CallbackProperty(function(){return m},!1),semiMinorAxis:new A._cesium.CallbackProperty(function(){return m},!1),material:new A._cesium.ImageMaterialProperty({image:A._core.defaultValue(o.image,null),repeat:A._core.defaultValue(o.repeat,new A._cesium.Cartesian2(1,1)),transparent:!0,color:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,o.image?"#ffffff":"rgba(0,255,0,0.6)"))}),height:A._core.defaultValue(o.height,void 0),heightReference:A._core.defaultValue(o.heightReference,o.height?0:1),outline:A._core.defaultValue(o.outline,!1),outlineWidth:1,rotation:o.rotation,stRotation:o.outline,outlineColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)")),distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))}});return A.SimpleGraphicObj.push(C.id),C};Lo.prototype.createEllipse=function(o={},A){let f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;let C=[],E,x=0;return this.drawHandler.setInputAction(y=>{let I=f._getPosition.getMousePosition(y,E);if(!!I&&(C.length===0?C.push(I,I):(C[0]=I,x=f._cesium.Cartesian3.distance(C[0],C[1]),f.end()),!E)){let v=f.toDegrees(C[1]);o.clampToGround=f._core.defaultValue(o.clampToGround,!0),E=m.entities.add({id:f._core.getuid(),name:"\u65B0\u5EFA\u692D\u5706",position:C[1],ellipse:{semiMajorAxis:new f._cesium.CallbackProperty(function(){return x},!1),semiMinorAxis:new f._cesium.CallbackProperty(function(){return x/2},!1),material:new f._cesium.ImageMaterialProperty({image:null,repeat:new f._cesium.Cartesian2(1,1),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),height:o.clampToGround?void 0:v.height,heightReference:o.clampToGround?1:0,outline:!0,outlineWidth:1,outlineColor:f._cesium.Color.WHITE.withAlpha(.6),distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8)}}),E.thisHeight=v.height,f.SimpleGraphicObj.push(E.id)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(y=>{if(C.length>0){f.tooltip.showAt(y.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF0C\u53F3\u952E\u53D6\u6D88");let I=f._getPosition.getMousePosition(y,E);I&&(C[0]=I,x=f._cesium.Cartesian3.distance(C[0],C[1]))}else f.tooltip.showAt(y.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(y=>{this.end("cancel")},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=y=>{if(this.end=void 0,f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),f.clearAllSizeData(),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),y==="cancel"){E&&(m.entities.remove(E),f.SimpleGraphicObj.pop());return}A&&typeof A=="function"&&A(E)},this};Lo.prototype.addEllipse=function(o={}){let A=this,f=this._viewer,m=o.semiMajorAxis,C=o.semiMinorAxis,E=f.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"\u65B0\u5EFA\u5706"),position:o.position,ellipse:{semiMajorAxis:new A._cesium.CallbackProperty(function(){return m},!1),semiMinorAxis:new A._cesium.CallbackProperty(function(){return C},!1),material:new A._cesium.ImageMaterialProperty({image:A._core.defaultValue(o.image,null),repeat:A._core.defaultValue(o.repeat,new A._cesium.Cartesian2(1,1)),color:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),height:A._core.defaultValue(o.height,void 0),heightReference:A._core.defaultValue(o.heightReference,1),outline:A._core.defaultValue(o.outline,!1),outlineWidth:1,outlineColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)")),distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))}});return A.SimpleGraphicObj.push(E.id),E};Lo.prototype.createBox=function(o={},A){let f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;let C=[],E,x=[0,0,200];return this.drawHandler.setInputAction(y=>{let I=f._getPosition.getMouseDegrees(y,E);if(!!I){if(C.length===0)C.push(I,I);else{I.height=C[0].height,C[1]=I;let v=f.Cdcl(C[0].lat,C[0].lon,C[0].lat,C[1].lon),B=f.Cdcl(C[0].lat,C[0].lon,C[1].lat,C[0].lon),Q={lon:(C[0].lon+C[1].lon)/2,lat:(C[0].lat+C[1].lat)/2};x&&(x[0]=v,x[1]=B),E.position=_i.Cartesian3.fromDegrees(Q.lon,Q.lat,C[0].height+x[2]/2),f.end()}E||(E=m.entities.add({id:f._core.getuid(),name:"\u65B0\u5EFA\u7ACB\u65B9\u4F53",position:f._cesium.Cartesian3.fromDegrees(I.lon,I.lat,I.height),box:{dimensions:new f._cesium.CallbackProperty(function(){return f._cesium.Cartesian3.fromArray(x)},!1),material:new f._cesium.ImageMaterialProperty({image:null,repeat:new f._cesium.Cartesian2(1,1),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),fill:!0,outline:!0,outlineColor:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)")),shadows:f._cesium.ShadowMode.ENABLED,distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8)}}),f.SimpleGraphicObj.push(E.id))}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(y=>{if(C.length>0){f.tooltip.showAt(y.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF0C\u53F3\u952E\u53D6\u6D88");let I=f._getPosition.getMouseDegrees(y,E);if(I){I.height=C[0].height,C[1]=I;let v=f.Cdcl(C[0].lat,C[0].lon,C[0].lat,C[1].lon),B=f.Cdcl(C[0].lat,C[0].lon,C[1].lat,C[0].lon),Q={lon:(C[0].lon+C[1].lon)/2,lat:(C[0].lat+C[1].lat)/2};x&&(x[0]=v,x[1]=B),E.position=_i.Cartesian3.fromDegrees(Q.lon,Q.lat,C[0].height+x[2]/2),o.showSize&&(f.clearLastSizeData(),f.showSizeData("box",E.position,x))}}else f.tooltip.showAt(y.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(y=>{this.end("cancel")},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=y=>{if(this.end=void 0,f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),f.clearAllSizeData(),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),y==="cancel"){E&&(m.entities.remove(E),f.SimpleGraphicObj.pop());return}A&&typeof A=="function"&&A(E)},this};Lo.prototype.addBox=function(o={}){let A=this,f=this._viewer,m=o.dimensions,C=f.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"\u65B0\u5EFA\u7ACB\u65B9\u4F53"),position:o.position,box:{dimensions:new A._cesium.CallbackProperty(function(){return m},!1),material:new A._cesium.ImageMaterialProperty({image:A._core.defaultValue(o.image,null),repeat:A._core.defaultValue(o.repeat,new A._cesium.Cartesian2(1,1)),color:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),fill:!0,outline:A._core.defaultValue(o.outline,!0),shadows:A._cesium.ShadowMode.ENABLED,outlineColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)")),distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))}});return A.SimpleGraphicObj.push(C.id),C};Lo.prototype.createCylinder=function(o={},A){let f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;let C=[],E,x=0;return this.drawHandler.setInputAction(y=>{let I=f._getPosition.getMousePosition(y,E);if(!!I&&(C.length===0?C.push(I,I):(C[0]=I,x=f._cesium.Cartesian3.distance(C[0],C[1]),f.end()),!E)){let v=f.toDegrees(I);E=m.entities.add({id:f._core.getuid(),name:"\u65B0\u5EFA\u5706\u67F1\u4F53",position:f._cesium.Cartesian3.fromDegrees(v.lon,v.lat,v.height+100),cylinder:{length:200,topRadius:new f._cesium.CallbackProperty(function(){return x},!1),bottomRadius:new f._cesium.CallbackProperty(function(){return x},!1),material:new f._cesium.ImageMaterialProperty({image:null,repeat:new f._cesium.Cartesian2(1,1),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),fill:!0,shadows:f._cesium.ShadowMode.ENABLED,distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8),outline:!0,outlineColor:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)"))}}),E.changeTop=!0,f.SimpleGraphicObj.push(E.id)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(y=>{if(C.length>0){f.tooltip.showAt(y.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF0C\u53F3\u952E\u53D6\u6D88");let I=f._getPosition.getMousePosition(y,E);I&&(C[0]=I,x=f._cesium.Cartesian3.distance(C[0],C[1]),o.showSize&&(f.clearLastSizeData(),f.showSizeData("cylinder",C[1],x,200)))}else f.tooltip.showAt(y.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(y=>{this.end("cancel")},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=y=>{if(this.end=void 0,f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),f.clearAllSizeData(),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),y==="cancel"){E&&(m.entities.remove(E),f.SimpleGraphicObj.pop());return}A&&typeof A=="function"&&A(E)},this};Lo.prototype.addCylinder=function(o={}){let A=this,f=this._viewer,m=o.radius,C=f.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"\u65B0\u5EFA\u5706\u67F1\u4F53"),position:o.position,cylinder:{length:A._core.defaultValue(o.length,200),topRadius:new A._cesium.CallbackProperty(function(){return m},!1),bottomRadius:new A._cesium.CallbackProperty(function(){return m},!1),material:new A._cesium.ImageMaterialProperty({image:A._core.defaultValue(o.image,null),repeat:A._core.defaultValue(o.repeat,new A._cesium.Cartesian2(1,1)),color:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),fill:!0,outline:A._core.defaultValue(o.outline,!0),shadows:A._cesium.ShadowMode.ENABLED,outlineColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)")),distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))}});return C.changeTop=!0,A.SimpleGraphicObj.push(C.id),C};Lo.prototype.createCone=function(o={},A){let f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;let C=[],E,x=0;return this.drawHandler.setInputAction(y=>{let I=f._getPosition.getMousePosition(y,E);if(!!I&&(C.length===0?C.push(I,I):(C[0]=I,x=f._cesium.Cartesian3.distance(C[0],C[1]),f.end()),!E)){let v=f.toDegrees(I);E=m.entities.add({id:f._core.getuid(),name:"\u65B0\u5EFA\u5706\u9525\u4F53",position:f._cesium.Cartesian3.fromDegrees(v.lon,v.lat,v.height+100),cylinder:{length:200,topRadius:0,bottomRadius:new f._cesium.CallbackProperty(function(){return x},!1),material:new f._cesium.ImageMaterialProperty({image:null,repeat:new f._cesium.Cartesian2(1,1),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),fill:!0,shadows:f._cesium.ShadowMode.ENABLED,distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8),outline:!0,outlineColor:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)"))}}),E.changeTop=!1,f.SimpleGraphicObj.push(E.id)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(y=>{if(C.length>0){f.tooltip.showAt(y.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF0C\u53F3\u952E\u53D6\u6D88");let I=f._getPosition.getMousePosition(y,E);I&&(C[0]=I,x=f._cesium.Cartesian3.distance(C[0],C[1]),o.showSize&&(f.clearLastSizeData(),f.showSizeData("cone",C[1],x,200)))}else f.tooltip.showAt(y.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(y=>{this.end("cancel")},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=y=>{if(this.end=void 0,f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),f.clearAllSizeData(),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),y==="cancel"){E&&(m.entities.remove(E),f.SimpleGraphicObj.pop());return}A&&typeof A=="function"&&A(E)},this};Lo.prototype.addCone=function(o={}){let A=this,f=this._viewer,m=o.bottomRadius,C=f.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"\u65B0\u5EFA\u5706\u9525\u4F53"),position:o.position,cylinder:{length:A._core.defaultValue(o.length,200),topRadius:A._core.defaultValue(o.topRadius,0),bottomRadius:new A._cesium.CallbackProperty(function(){return m},!1),material:new A._cesium.ImageMaterialProperty({image:A._core.defaultValue(o.image,null),repeat:A._core.defaultValue(o.repeat,new A._cesium.Cartesian2(1,1)),color:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),fill:!0,outline:A._core.defaultValue(o.outline,!0),shadows:A._cesium.ShadowMode.ENABLED,outlineColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)")),distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))}});return C.changeTop=!1,A.SimpleGraphicObj.push(C.id),C};Lo.prototype.createSphere=function(o={},A){let f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;let C=[],E,x=0;return this.drawHandler.setInputAction(y=>{let I=f._getPosition.getMousePosition(y,E);!I||(C.length===0?C.push(I,I):(C[0]=I,x=f._cesium.Cartesian3.distance(C[0],C[1]),f.end()),E||(E=m.entities.add({id:f._core.getuid(),name:"\u65B0\u5EFA\u7403\u4F53",position:I.clone(),ellipsoid:{radii:new f._cesium.CallbackProperty(function(){return new _i.Cartesian3(x,x,x)},!1),material:new f._cesium.ImageMaterialProperty({image:null,repeat:new f._cesium.Cartesian2(1,1),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),fill:!0,shadows:f._cesium.ShadowMode.ENABLED,distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8),outline:!0,outlineColor:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)"))}}),E.isSphere=!0,f.SimpleGraphicObj.push(E.id)))},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(y=>{if(C.length>0){f.tooltip.showAt(y.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF0C\u53F3\u952E\u53D6\u6D88");let I=f._getPosition.getMousePosition(y,E);I&&(C[0]=I,x=f._cesium.Cartesian3.distance(C[0],C[1]),o.showSize&&(f.clearLastSizeData(),f.showSizeData("sphere",C[1],x)))}else f.tooltip.showAt(y.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(y=>{this.end("cancel")},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=y=>{if(this.end=void 0,f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),f.clearAllSizeData(),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),y==="cancel"){E&&(m.entities.remove(E),f.SimpleGraphicObj.pop());return}let I=f.toDegrees(C[0]),v=f.toDegrees(C[1]);I.height=v.height,C[0]=_i.Cartesian3.fromDegrees(I.lon,I.lat,I.height),A&&typeof A=="function"&&A(E)},this};Lo.prototype.addSphere=function(o={}){let A=this,f=this._viewer,m=o.radius,C;o.radii?C=o.radii:C=new _i.Cartesian3(m,m,m);let E=f.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"\u65B0\u5EFA\u7403\u4F53"),position:o.position,ellipsoid:{radii:new A._cesium.CallbackProperty(function(){return C},!1),material:new A._cesium.ImageMaterialProperty({image:A._core.defaultValue(o.image,null),repeat:A._core.defaultValue(o.repeat,new A._cesium.Cartesian2(1,1)),color:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),fill:!0,outline:A._core.defaultValue(o.outline,!0),shadows:A._cesium.ShadowMode.ENABLED,outlineColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)")),distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))}});return E.isSphere=!0,A.SimpleGraphicObj.push(E.id),E};Lo.prototype.createPolyhedron=function(o={},A){let f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;let C=[],E;return this.drawHandler.setInputAction(x=>{let y=f._getPosition.getMousePosition(x,E);if(!!y&&(C.length===1&&C.push(y.clone()),C.push(y),C.length===3&&!E)){let I=f.toDegrees(C[0]);E=m.entities.add({id:f._core.getuid(),name:"\u65B0\u5EFA\u591A\u8FB9\u4F53",polygon:{hierarchy:new f._cesium.CallbackProperty(function(){return new f._cesium.PolygonHierarchy(C)},!1),extrudedHeight:I.height+200,height:I.height,material:new f._cesium.ImageMaterialProperty({image:null,repeat:new f._cesium.Cartesian2(1,1),color:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),fill:!0,shadows:f._cesium.ShadowMode.ENABLED,distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8),outline:!0,outlineColor:f._cesium.Color.fromCssColorString(f._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)"))}}),f.SimpleGraphicObj.push(E.id)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(x=>{if(C.length===0)f.tooltip.showAt(x.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u7B2C\u4E00\u4E2A\u70B9");else if(C.length===1)f.tooltip.showAt(x.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u7B2C\u4E8C\u4E2A\u70B9");else{f.tooltip.showAt(x.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u70B9\uFF0C\u53F3\u952E\u7ED3\u675F\u7ED8\u5236");let y=f._getPosition.getMousePosition(x,E);if(!y)return;C.pop(),C.push(y),o.showSize&&(f.clearLastSizeData(),f.showSizeData("polyhedron",C,0,200))}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.end=function(x){if(f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),f.clearAllSizeData(),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),f.end=void 0,x==="cancel"){E&&(m.entities.remove(E),f.SimpleGraphicObj.pop());return}!E||A&&typeof A=="function"&&A(E)},this.drawHandler.setInputAction(x=>{f.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this};Lo.prototype.addPolyhedron=function(o={}){let A=this,f=this._viewer,m=o.positions,C=A._core.defaultValue(o.height,0),E;o.hierarchy?E=o.hierarchy:E=new A._cesium.PolygonHierarchy(m);let x=f.entities.add({id:A._core.defaultValue(o.id,A._core.getuid()),name:A._core.defaultValue(o.name,"\u65B0\u5EFA\u591A\u8FB9\u4F53"),polygon:{hierarchy:new A._cesium.CallbackProperty(function(){return E},!1),extrudedHeight:A._core.defaultValue(o.extrudedHeight,C+200),height:C,material:new A._cesium.ImageMaterialProperty({image:A._core.defaultValue(o.image,null),repeat:A._core.defaultValue(o.repeat,new A._cesium.Cartesian2(1,1)),color:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.color,"rgba(0,255,0,0.6)"))}),shadows:A._cesium.ShadowMode.ENABLED,fill:!0,outline:A._core.defaultValue(o.outline,!0),outlineColor:A._cesium.Color.fromCssColorString(A._core.defaultValue(o.outlineColor,"rgba(255,255,255,0.6)")),distanceDisplayCondition:A._core.defaultValue(o.distanceDisplayCondition,new A._cesium.DistanceDisplayCondition(0,1e8))}});return A.SimpleGraphicObj.push(x.id),x};Lo.prototype.toDegrees=function(o){let A=this._cesium.Cartographic.fromCartesian(o);return{lon:this._cesium.Math.toDegrees(A.longitude),lat:this._cesium.Math.toDegrees(A.latitude),height:A.height}};Lo.prototype.showSizeData=function(o,A,f,m){let C="",E,x=language?language.getStr("draw_tip_info_radius"):"\u534A\u5F84",y=language?language.getStr("unit_m"):"\u7C73",I=language?language.getStr("unit_km"):"\u5343\u7C73";switch(o){case"polyline":let T=_i.Cartesian3.distance(A[0],A[1]);T>=1e3?(T/=1e3,C=T.toFixed(2)+I):C=T.toFixed(2)+y,E=_i.Cartesian3.midpoint(A[0],A[1],new _i.Cartesian3);break;case"polygon":var B=[];E=new _i.Cartesian3,A.forEach(L=>{E=_i.Cartesian3.add(L,E,new _i.Cartesian3);let F=this.toDegrees(L);B.push([F.lon,F.lat])}),E=_i.Cartesian3.divideByScalar(E,A.length,new _i.Cartesian3),C=this._core.getArea(B,A);break;case"rectangle":let w=this.toDegrees(A[0]),S=this.toDegrees(A[1]),D=_i.Cartesian3.distance(A[0],_i.Cartesian3.fromDegrees(w.lon,S.lat,w.height)),R=_i.Cartesian3.distance(A[1],_i.Cartesian3.fromDegrees(w.lon,S.lat,w.height));var v=D*R;v>=1e6?(v/=1e6,C=v.toFixed(2)+"\u5E73\u65B9\u5343\u7C73"):C=v.toFixed(2)+"\u5E73\u65B9\u7C73",E=_i.Cartesian3.midpoint(A[0],A[1],new _i.Cartesian3);break;case"circle":E=A,f>=1e3?(f/=1e3,C=x+":"+f.toFixed(2)+I):C=x+":"+f.toFixed(2)+y;break;case"box":let P=[];f[0]<f[1]?(P.push(f[1]),P.push(f[0])):(P.push(f[0]),P.push(f[1])),P.push(f[2]);let M=["\u957F\uFF1A",` \u5BBD\uFF1A`,` \u9AD8\uFF1A`];P.forEach((L,F)=>{L>=1e3?(L/=1e3,C+=M[F]+L.toFixed(2)+I):C+=M[F]+L.toFixed(2)+y}),E=A;break;case"cylinder":E=A,f>=1e3?(f/=1e3,C=x+":"+f.toFixed(2)+I+` `):C=x+":"+f.toFixed(2)+y+` `,m>=1e3?(m/=1e3,C+="\u9AD8\u5EA6\uFF1A"+m.toFixed(2)+I):C+="\u9AD8\u5EA6\uFF1A"+m.toFixed(2)+y;break;case"cone":E=A,f>=1e3?(f/=1e3,C=x+":"+f.toFixed(2)+I+` `):C=x+":"+f.toFixed(2)+y+` `,m>=1e3?(m/=1e3,C+="\u9AD8\u5EA6\uFF1A"+m.toFixed(2)+I):C+="\u9AD8\u5EA6\uFF1A"+m.toFixed(2)+y;break;case"sphere":E=A,f>=1e3?(f/=1e3,C=x+":"+f.toFixed(2)+I):C=x+":"+f.toFixed(2)+y;break;case"polyhedron":var B=[];E=new _i.Cartesian3,A.forEach(L=>{E=_i.Cartesian3.add(L,E,new _i.Cartesian3);let F=this.toDegrees(L);B.push([F.lon,F.lat])}),E=_i.Cartesian3.divideByScalar(E,A.length,new _i.Cartesian3),m>=1e3?(m/=1e3,C="\u9AD8\u5EA6\uFF1A"+m.toFixed(2)+I):C="\u9AD8\u5EA6\uFF1A"+m.toFixed(2)+y,C+=` \u9762\u79EF\uFF1A`+this._core.getArea(B,A);break}let Q=this._viewer.entities.add({position:E,label:{text:C,font:"16px \u5B8B\u4F53",fillColor:_i.Color.GOLD,verticalOrigin:_i.VerticalOrigin.BOTTOM,showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});return this.SizeData.push(Q.id),C};Lo.prototype.clearLastSizeData=function(){if(this.SizeData.length){let o=this.SizeData.pop();this._viewer.entities.removeById(o)}};Lo.prototype.clearAllSizeData=function(){this.SizeData.forEach(o=>{this._viewer.entities.removeById(o)}),this.SizeData=[]};Lo.prototype.Cdcl=function(o,A,f,m){let C=0,E=6378137,x=Math.PI;function y(G){return G*x/180}let I=y((o+f)/2),v=y((o-f)/2),B=y((A-m)/2),Q=Math.sin(v),T=Math.sin(B),w=Math.sin(I),S,D,R,P,M,L,F,k=E,N=1/298.257;return Q=Q*Q,T=T*T,w=w*w,S=Q*(1-T)+(1-w)*T,D=(1-Q)*(1-T)+w*T,R=Math.atan(Math.sqrt(S/D)),P=Math.sqrt(S*D)/R,M=2*R*k,L=(3*P-1)/2/D,F=(3*P+1)/2/S,C=M*(1+N*(L*w*(1-Q)-F*(1-w)*Q)),C};Lo.prototype.setEdit=function(o,A){o===void 0&&(o=!0),this.openEdit=o,A&&(this.editOption=A),this.defaultEdit()};Lo.prototype.openEditProp=function(o,A){if(A||(A=this.editOption||{editPropData:{}}),o.GeoType===void 0){let m=this.getEntityTypeAndObject(o);o.GeoType=m.type}let f=o.GeoType;(!SmartEarthPopupData.editGraphic||!SmartEarthPopupData.editGraphic.entity)&&(this.getSimpleGraphicData(f,o),f==="point"||f==="billboard"||f==="label"||f==="model"?(this.isEditting=!0,f==="model"&&this._ModelEdit.start(o)):(this.isEditting=!0,SmartEarthPopupData.editGraphic.updataEditPoint())),!A.editPropData&&(A.editPropData={}),this._popupmessage.createPopupProp("\u5C5E\u6027\u7F16\u8F91",{width:A.editPropData.width||360,height:A.editPropData.height||"90%",url:"Workers/prop/jdtx_prop.html",shade:A.editPropData.shade,offset:A.editPropData.offset,type:f,fn:{success:(m,C)=>{A.editPropData.success&&A.editPropData.success(m,C),SmartEarthPopupData.layerIndex=C,SmartEarthPopupData.window=m.find("iframe")[0].contentWindow},end:()=>{this.setPropData(o),A.callBack&&A.callBack.end&&A.callBack.end(o),SmartEarthPopupData.layerIndex=void 0,SmartEarthPopupData.window=void 0,this.endThisEdit&&this.endThisEdit()}}})};Lo.prototype.setPropData=function(o,A){if(A&&(o.propData=A),Array.isArray(o.propData)){let f={};o.propData.forEach(m=>{m.key&&(f[m.key]=m.value)}),o.propData=f}if(o.propData){o.properties=new _i.PropertyBag(o.propData),o.description='<table class="cesium-infoBox-defaultTable"><tbody>';for(let f=0;f<o.properties.propertyNames.length;f++){let m=o.properties.propertyNames[f],C=o.properties[m];o.description+=`<tr><th>${m}</th><td>${C}</td></tr>`}o.description+="</tbody></table>"}};Lo.prototype.getPropData=function(o){let A=o.properties;!A&&(A=new _i.PropertyBag);let f={};for(let m=0;m<A.propertyNames.length;m++){let C=A.propertyNames[m];f[C]=A[C]&&A[C].getValue?A[C].getValue():A[C]}return f};Lo.prototype.defaultEdit=function(){this.openEdit?this.SimpleGraphicObj.length&&!this.editHandler?this.edit(this.openEdit,this.editOption):!this.SimpleGraphicObj.length&&this.editHandler&&this.edit(!1):this.editHandler&&this.edit(!1)};Lo.prototype.edit=function(o,A){let f=this,m=this._viewer;!A&&(A=this.editOption||{}),A.editProp!==void 0&&(this.editProp=A.editProp);let C=this._core.defaultValue(A.enableDelete,!0);this.editHandler&&(this.editHandler.destroy(),this.editHandler=void 0),o===void 0&&(o=!0);var E,x,y,I;this.isEditting=!1;let v;this.endThisEdit=()=>{f.defaultEvent(!0),Ke.editPointID.edit.forEach(B=>{m.entities.removeById(B)}),Ke.editPointID.edit=[],Ke.editPointID.height.forEach(B=>{m.entities.removeById(B)}),Ke.editPointID.height=[],Ke.editPointID.add.forEach(B=>{m.entities.removeById(B)}),Ke.editPointID.add=[],Ke.editPointID.size.forEach(B=>{m.entities.removeById(B)}),Ke.editPointID.size=[],Ke.editPointID.move&&m.entities.remove(Ke.editPointID.move),Ke.editPointID.move=void 0,E=void 0,I=void 0,window.layuiLayer.close(SmartEarthPopupData.layerIndex),SmartEarthPopupData.editGraphic={},f.isEditting=!1,f.tooltip.show(!1),f.delButton(!1),f._ModelEdit.end()},this.endThisEdit(),o&&(this.editHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),this.editHandler.setInputAction(B=>{if(_i.ExpandBySmartEarth&&(_i.ExpandBySmartEarth.underEarth.enable||_i.ExpandBySmartEarth.isStreetView)){f.isEditting&&(f.endThisEdit(),f.defaultEvent(!1));return}if(Ke.editVector)return;let Q=B.position,T=m.scene.pick(Q);if(f._cesium.defined(T)&&T.id instanceof _i.Entity){let w=T.id;if(!f.isEditting&&Ke.states==0){if(f.SimpleGraphicObj.indexOf(w.id)===-1)return;if(E=w,E.GeoType===void 0){let S=f.getEntityTypeAndObject(E);E.GeoType=S.type}I=E.GeoType,f.getSimpleGraphicData(I,E),I==="point"||I==="billboard"||I==="label"||I==="model"?(f.isEditting=!0,I==="model"?f._ModelEdit.start(E):f.tooltip.showAt(B.position,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E")):(f.isEditting=!0,SmartEarthPopupData.editGraphic.updataEditPoint()),this.editProp&&f.openEditProp(E,A)}else if(w==E&&(w.GeoType==="point"||w.GeoType==="billboard"||w.GeoType==="label")||w.name=="height_point"||w.name=="edit_point"||w.name=="move_point"||w.name=="add_point"||w.name=="size_point")m.container.style.cursor="crosshair",f.defaultEvent(!1),w.name=="height_point"?(y={windowPosition:Q,originHeight:f._cesium.Cartographic.fromCartesian(w.position.getValue()).height},v="height_point"):w.name=="move_point"?v="move_point":w.GeoType==="point"||w.GeoType==="billboard"||w.GeoType==="label"?(f.tooltip.showAt(B.position,"\u91CA\u653E\u540E\u5B8C\u6210\u4FEE\u6539"),v="move_point"):w.name=="edit_point"?v="edit_point":w.name=="add_point"?v="add_point":w.name=="size_point"&&(v="size_point"),x=w;else{if(E&&w.id===E.id)return;f.endThisEdit()}}else{if(T&&T.id==="modeEditAxis")return;E&&A.callBack&&A.callBack.end&&A.callBack.end(E),f.endThisEdit()}},this._cesium.ScreenSpaceEventType.LEFT_DOWN),this.editHandler.setInputAction(B=>{if(_i.ExpandBySmartEarth&&(_i.ExpandBySmartEarth.underEarth.enable||_i.ExpandBySmartEarth.isStreetView)){f.isEditting&&(f.endThisEdit(),f.defaultEvent(!1));return}if(Ke.editVector)return;let Q=m.scene.pick(B.endPosition);if(f._cesium.defined(Q)){if(f.isEditting&&!x){if(_i.ExpandBySmartEarth&&(_i.ExpandBySmartEarth.underEarth.enable||_i.ExpandBySmartEarth.isStreetView)){f.isEditting&&(f.endThisEdit(),f.defaultEvent(!1));return}(I==="point"||I==="billboard"||I==="label"||I==="model")&&Q.id==E?C?f.tooltip.showAt(B.endPosition,I==="model"?"\u53F3\u952E\u5220\u9664":"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E\uFF0C\u53F3\u952E\u5220\u9664"):I!=="model"&&f.tooltip.showAt(B.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E"):Q.id&&Q.id.name==="edit_point"&&E.pottingPoint?I==="polyline"&&E.pottingPoint.length>2||I==="polygon"&&E.pottingPoint.length>3?f.tooltip.showAt(B.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E\uFF0C\u53F3\u952E\u5220\u9664\u70B9"):f.tooltip.showAt(B.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E"):Q.id&&(Q.id.name==="move_point"||Q.id.name==="size_point")?f.tooltip.showAt(B.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E"):Q.id&&Q.id.name==="add_point"?f.tooltip.showAt(B.endPosition,"\u62D6\u62FD\u589E\u52A0\u8282\u70B9"):Q.id&&Q.id.name==="height_point"?f.tooltip.showAt(B.endPosition,"\u62D6\u62FD\u4FEE\u6539\u9AD8\u5EA6"):Q.id==E||Q.id==="modeEditAxis"?f.tooltip.show(!1):(!Q.id||f.SimpleGraphicObj.indexOf(Q.id.id)===-1)&&(!A.editProp&&f.isEditting&&(I==="point"||I==="billboard"||I==="label")&&f.endThisEdit(),f.tooltip.show(!1))}else if(!f.isEditting&&Ke.states===0)if(Q.id&&f.SimpleGraphicObj.indexOf(Q.id.id)>-1)if(A.editProp)f.tooltip.showAt(B.endPosition,`\u70B9\u51FB\u6FC0\u6D3B\u7F16\u8F91${C?"\uFF0C\u53F3\u952E\u5220\u9664":""}`);else{if(Q.id.GeoType===void 0){let w=f.getEntityTypeAndObject(Q.id);Q.id.GeoType=w.type}let T=Q.id.GeoType;T==="point"||T==="billboard"||T==="label"?(E=Q.id,I=T,f.getSimpleGraphicData(I,E),f.isEditting=!0,f.tooltip.showAt(B.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E")):f.tooltip.showAt(B.endPosition,`\u70B9\u51FB\u6FC0\u6D3B\u7F16\u8F91${C?"\uFF0C\u53F3\u952E\u5220\u9664":""}`)}else f.tooltip.show(!1)}else Ke.states==0&&!x&&(!A.editProp&&f.isEditting&&(I==="point"||I==="billboard"||I==="label")&&f.endThisEdit(),f.tooltip.show(!1));if(f.isEditting&&x){f.tooltip.showAt(B.endPosition,"\u91CA\u653E\u540E\u5B8C\u6210\u4FEE\u6539");let T=f._getPosition.getMousePosition(B,[x,E]);if(!T&&v!=="height_point")return;if(v==="edit_point"){x.position=T;let w=Ke.editPointID.edit.indexOf(x.id);if(E[I].height!==void 0){let P=f.toDegrees(T);E.pottingPoint[w]=_i.Cartesian3.fromDegrees(P.lon,P.lat,E[I].height.getValue()),x.position=E.pottingPoint[w]}else E.pottingPoint[w]=T;if(Ke.editPointID.height.length>0){let P=m.entities.getById(Ke.editPointID.height[w]);if(P){let M=f.toDegrees(T),L=f._cesium.Cartographic.fromCartesian(P.position.getValue());P.position=f._cesium.Cartesian3.fromDegrees(M.lon,M.lat,L.height)}}if(Ke.editPointID.add.length>0){if(w>0){let P=m.entities.getById(Ke.editPointID.add[w-1]);if(P){let M=m.entities.getById(Ke.editPointID.edit[w-1]),L=m.entities.getById(Ke.editPointID.edit[w]);P.position=_i.Cartesian3.midpoint(M.position.getValue(),L.position.getValue(),new _i.Cartesian3)}}if(w<E.pottingPoint.length-1){let P=m.entities.getById(Ke.editPointID.add[w]);if(P){let M=m.entities.getById(Ke.editPointID.edit[w]),L=m.entities.getById(Ke.editPointID.edit[w+1]);P.position=_i.Cartesian3.midpoint(M.position.getValue(),L.position.getValue(),new _i.Cartesian3)}}if(I==="polygon"&&(w===0||w===E.pottingPoint.length-1)){let P=m.entities.getById(Ke.editPointID.add[Ke.editPointID.add.length-1]);if(P){let M=m.entities.getById(Ke.editPointID.edit[0]),L=m.entities.getById(Ke.editPointID.edit[E.pottingPoint.length-1]);P.position=_i.Cartesian3.midpoint(M.position.getValue(),L.position.getValue(),new _i.Cartesian3)}}}let S=E.pottingPoint.concat([]),D=new f._cesium.Cartesian3,R=S.length;S.forEach(P=>{D.x+=P.x,D.y+=P.y,D.z+=P.z}),D.x/=R,D.y/=R,D.z/=R,Ke.editPointID.move&&(Ke.editPointID.move.position=D),(I==="polyline"||I==="polygon"||I==="rectangle")&&SmartEarthPopupData.editGraphic.setValue("positions",S)}else if(v==="height_point"){let w=Ke.editPointID.height.indexOf(x.id),S=m.entities.getById(Ke.editPointID.edit[w]);(I==="ellipse"||I==="cylinder"||I==="box")&&(S=Ke.editPointID.move);let D=f.toDegrees(S.position.getValue()),R=y.originHeight-D.height,P=m.scene.cartesianToCanvasCoordinates(S.position.getValue()),M=(y.windowPosition.y-B.endPosition.y)*R/Math.abs(P.y-y.windowPosition.y),L=Math.abs(R+M);Ke.editPointID.height.forEach(F=>{let k=m.entities.getById(F);if(k){let N=k.position.getValue(),G=f.toDegrees(N);k.position=f._cesium.Cartesian3.fromDegrees(G.lon,G.lat,L+D.height)}}),E[I].extrudedHeight?E[I].extrudedHeight=new f._cesium.CallbackProperty(function(){return L+D.height},!1):I==="box"?SmartEarthPopupData.editGraphic.setValue("height",L):I==="cylinder"&&SmartEarthPopupData.editGraphic.setValue("length",L),SmartEarthPopupData.window&&(SmartEarthPopupData.window.document.querySelector('.ExtrudedPolygon input[name="extrudedHeight"]')&&(SmartEarthPopupData.window.document.querySelector('.ExtrudedPolygon input[name="extrudedHeight"]').value=parseFloat(L).toFixed(2)),SmartEarthPopupData.window.document.querySelector('.box input[name="height"]')&&(SmartEarthPopupData.window.document.querySelector('.box input[name="height"]').value=parseFloat(L).toFixed(2)),SmartEarthPopupData.window.document.querySelector('.cylinder input[name="height"]')&&(SmartEarthPopupData.window.document.querySelector('.cylinder input[name="height"]').value=parseFloat(L).toFixed(2)),SmartEarthPopupData.window.document.querySelector('.cone input[name="height"]')&&(SmartEarthPopupData.window.document.querySelector('.cone input[name="height"]').value=parseFloat(L).toFixed(2)))}else if(v==="add_point"){let w=Ke.editPointID.add.indexOf(x.id);m.entities.remove(x);let S=m.entities.add({name:"edit_point",position:T,point:{pixelSize:10,color:_i.Color.ROYALBLUE,outlineWidth:2,outlineColor:_i.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});if(Ke.editPointID.edit.splice(w+1,0,S.id),E.pottingPoint.splice(w+1,0,T.clone()),Ke.editPointID.height.length>0){let F=f.toDegrees(T);F.height=E[I].extrudedHeight.getValue();let k=m.entities.add({name:"height_point",position:f._cesium.Cartesian3.fromDegrees(F.lon,F.lat,F.height),point:{color:f._cesium.Color.YELLOW,pixelSize:12,outlineColor:f._cesium.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.height.splice(w+1,0,k.id)}let D=_i.Cartesian3.midpoint(E.pottingPoint[w],E.pottingPoint[w+1],new _i.Cartesian3),R=m.entities.add({name:"add_point",position:f.isClampToGround(E[I])?f.getClampToGroundPosition(D):D,point:{pixelSize:10,color:_i.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:_i.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY}}),P=_i.Cartesian3.midpoint(E.pottingPoint[w+1],E.pottingPoint[w+2===E.pottingPoint.length?0:w+2],new _i.Cartesian3),M=m.entities.add({name:"add_point",position:f.isClampToGround(E[I])?f.getClampToGroundPosition(P):P,point:{pixelSize:10,color:_i.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:_i.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.add.splice(w,1,R.id,M.id),x=S,v="edit_point";let L=E.pottingPoint.concat([]);(I==="polyline"||I==="polygon")&&SmartEarthPopupData.editGraphic.setValue("positions",L)}else if(v==="size_point"){let w=Ke.editPointID.move.position.getValue(),S=f._cesium.Cartesian3.distance(w,T);if(I==="ellipse"||I==="cylinder"||I==="ellipsoid"&&E.isSphere)SmartEarthPopupData.editGraphic.setValue("radius",S),SmartEarthPopupData.window&&SmartEarthPopupData.window.document.querySelector("."+I+' input[name="radius"]')&&(SmartEarthPopupData.window.document.querySelector("."+I+' input[name="radius"]').value=parseFloat(S).toFixed(2));else if(I==="box"){let D=x.angle===90?"long":"width";SmartEarthPopupData.editGraphic.setValue(D,S*2),SmartEarthPopupData.window&&SmartEarthPopupData.window.document.querySelector('.box input[name="'+D+'"]')&&(SmartEarthPopupData.window.document.querySelector('.box input[name="'+D+'"]').value=parseFloat(S*2).toFixed(2))}}else{if(I==="model")return;if(I==="point"||I==="billboard"||I==="label"){x.position=T,SmartEarthPopupData.window&&SmartEarthPopupData.window.document.querySelector("."+I+' input[name="height"]')&&(SmartEarthPopupData.window.document.querySelector("."+I+' input[name="height"]').value=SmartEarthPopupData.editGraphic.getValue("pHeight").toFixed(2));return}let w=f.toDegrees(T);y=x.position.getValue();let S=f.toDegrees(y),D=w.lon-S.lon,R=w.lat-S.lat,P=w.height-S.height;if(x.position=T,E[I].height){let L=f.toDegrees(T).height;E[I].height=L,E.thisHeight=L}E.pottingPoint.forEach((L,F)=>{let k,N,G,J=m.entities.getById(Ke.editPointID.edit[F]);if(J||(J=m.entities.getById(Ke.editPointID.size[F])),J?k=f.toDegrees(J.position.getValue()):k=f.toDegrees(L),G=f._cesium.Cartesian3.fromDegrees(k.lon+D,k.lat+R,k.height+P),L.x=G.x,L.y=G.y,L.z=G.z,J&&(J.position=G),Ke.editPointID.height.length>0){let K=m.entities.getById(Ke.editPointID.height[F]);K&&(k=K.position.getValue(),N=f._cesium.Cartographic.fromCartesian(k),k={lon:f._cesium.Math.toDegrees(N.longitude),lat:f._cesium.Math.toDegrees(N.latitude),height:N.height},K.position=f._cesium.Cartesian3.fromDegrees(k.lon+D,k.lat+R,k.height+P))}if(Ke.editPointID.add.length>0&&Ke.editPointID.add[F]){let K=m.entities.getById(Ke.editPointID.add[F]);K&&(k=f.toDegrees(K.position.getValue()),K.position=f._cesium.Cartesian3.fromDegrees(k.lon+D,k.lat+R,k.height+P))}});let M=E.pottingPoint.concat([]);if(I==="polyline"||I==="polygon"||I==="rectangle")SmartEarthPopupData.editGraphic.setValue("positions",M),Ke.editPointID.height.length>0&&(SmartEarthPopupData.editGraphic.setValue("extrudedHeight",SmartEarthPopupData.editGraphic.getValue("extrudedHeight")+P),SmartEarthPopupData.window&&E[I].height&&SmartEarthPopupData.window.document.querySelector('.ExtrudedPolygon input[name="height"]')&&(SmartEarthPopupData.window.document.querySelector('.ExtrudedPolygon input[name="height"]').value=parseFloat(E[I].height.getValue()).toFixed(2))),SmartEarthPopupData.window&&E[I].height&&SmartEarthPopupData.window.document.querySelector('.rectangle input[name="height"]')&&(SmartEarthPopupData.window.document.querySelector('.rectangle input[name="height"]').value=parseFloat(E[I].height.getValue()).toFixed(2));else if(I==="ellipse")E.pottingPoint[1]=T,E.position=T.clone(),SmartEarthPopupData.window&&E[I].height&&SmartEarthPopupData.window.document.querySelector('.ellipse input[name="height"]')&&(SmartEarthPopupData.window.document.querySelector('.ellipse input[name="height"]').value=parseFloat(E[I].height.getValue()).toFixed(2));else if(I==="box"){E.pottingPoint[2]=T;let L=E.box.dimensions.getValue(),F=f.toDegrees(T);E.position=_i.Cartesian3.fromDegrees(F.lon,F.lat,F.height+L.z/2)}else if(I==="cylinder"){E.pottingPoint[1]=T;let L=E.cylinder.length.getValue(),F=f.toDegrees(E.pottingPoint[1]);E.position=_i.Cartesian3.fromDegrees(F.lon,F.lat,F.height+L/2)}else I==="ellipsoid"&&(E.pottingPoint[E.pottingPoint.length-1]=T,E.position=T.clone())}}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.editHandler.setInputAction(B=>{if(_i.ExpandBySmartEarth&&(_i.ExpandBySmartEarth.underEarth.enable||_i.ExpandBySmartEarth.isStreetView)){f.isEditting&&(f.endThisEdit(),f.defaultEvent(!1));return}Ke.editVector||(x&&A.callBack&&A.callBack.update&&A.callBack.update(x.name,E),m.container.style.cursor="default",x=void 0,f.defaultEvent(!0))},this._cesium.ScreenSpaceEventType.LEFT_UP),this.editHandler.setInputAction(B=>{if(_i.ExpandBySmartEarth&&(_i.ExpandBySmartEarth.underEarth.enable||_i.ExpandBySmartEarth.isStreetView)){f.isEditting&&(f.endThisEdit(),f.defaultEvent(!1));return}if(Ke.editVector)return;let Q=m.scene.pick(B.position);if(f._cesium.defined(Q)&&Ke.states==0){let T=Q.id;if(f.SimpleGraphicObj.indexOf(T.id)>-1&&C)f.tooltip.show(!1),f.delButton(!0,B.position,function(){T.treeobj&&Ke.delete(T.treeobj.id,m,f._cesium),m.entities.removeById(T.id);let w=f.SimpleGraphicObj.indexOf(T.id);f.SimpleGraphicObj.splice(w,1),f.delButton(!1),f.tooltip.show(!1),f.endThisEdit(),f.defaultEdit(),A.callBack&&A.callBack.delete&&A.callBack.delete(T)});else if(Ke.editPointID.edit.indexOf(T.id)>-1&&(I==="polyline"&&Ke.editPointID.edit.length>2||I==="polygon"&&Ke.editPointID.edit.length>3)){let w=Ke.editPointID.edit.indexOf(T.id);if(m.entities.removeById(T.id),Ke.editPointID.edit.splice(w,1),Ke.editPointID.height.length>0&&(m.entities.removeById(Ke.editPointID.height[w]),Ke.editPointID.height.splice(w,1)),E.pottingPoint.splice(w,1),Ke.editPointID.add.length>0)if(Ke.editPointID.add[w]){if(m.entities.removeById(Ke.editPointID.add[w]),Ke.editPointID.add.splice(w,1),w-1>=0){let P=m.entities.getById(Ke.editPointID.add[w-1]);P&&(P.position=_i.Cartesian3.midpoint(E.pottingPoint[w-1],E.pottingPoint[w===E.pottingPoint.length?0:w],new _i.Cartesian3))}else if(w-1===-1&&I==="polygon"){let P=m.entities.getById(Ke.editPointID.add[Ke.editPointID.add.length-1]);P&&(P.position=_i.Cartesian3.midpoint(E.pottingPoint[0],E.pottingPoint[E.pottingPoint.length-1],new _i.Cartesian3))}}else m.entities.removeById(Ke.editPointID.add[w-1]),Ke.editPointID.add.pop();let S=new f._cesium.Cartesian3,D=E.pottingPoint.length;E.pottingPoint.forEach(P=>{S.x+=P.x,S.y+=P.y,S.z+=P.z}),S.x/=D,S.y/=D,S.z/=D,Ke.editPointID.move&&(Ke.editPointID.move.position=S);let R=E.pottingPoint.concat([]);(I==="polyline"||I==="polygon")&&SmartEarthPopupData.editGraphic.setValue("positions",R),f.tooltip.show(!1),A.callBack&&A.callBack.update&&A.callBack.update(x&&x.name,E)}}},this._cesium.ScreenSpaceEventType.RIGHT_DOWN))};Lo.prototype.delButton=function(o,A,f){if(o){let m=document.getElementById("DeleteMilitaryStandardDelete");m||(m=document.createElement("button"),m.id="DeleteMilitaryStandardDelete",m.innerText="\u5220\u9664\u5BF9\u8C61",m.style.cssText=`height: 38px; line-height: 38px; padding: 0 18px; background-color: #052355; color: #fff; white-space: nowrap; text-align: center; font-size: 14px; border: none; border-radius: 2px; cursor: pointer; position: absolute;`,this._viewer.container.appendChild(m)),m.style.display="block",m.style.top=A.y+"px",m.style.left=A.x+"px",m.onclick=f}else{let m=document.getElementById("DeleteMilitaryStandardDelete");m&&(m.style.display="none",m.onclick=null)}};Lo.prototype.defaultEvent=function(o){let A=this._viewer.scene;A.screenSpaceCameraController.enableRotate=o,A.screenSpaceCameraController.enableTranslate=o,A.screenSpaceCameraController.enableZoom=o,A.screenSpaceCameraController.enableTilt=o,A.screenSpaceCameraController.enableLook=o};Lo.prototype.GetDegreesFromA_D=function(o,A,f,m){let C=6378137,E=6356725,x=f*Math.sin(m*Math.PI/180),y=f*Math.cos(m*Math.PI/180),I=E+(C-E)*(90-A)/90,v=I*Math.cos(A*Math.PI/180),B=(x/v+o*Math.PI/180)*180/Math.PI,Q=(y/I+A*Math.PI/180)*180/Math.PI;return[B,Q]};Lo.prototype.isClampToGround=function(o){return o.heightReference&&o.heightReference.getValue()===1};Lo.prototype.getClampToGroundPosition=function(o,A){let f=_i.Cartographic.fromCartesian(o),m=this._viewer.scene.sampleHeight(f,A);return f.height=m,_i.Cartographic.toCartesian(f)};Lo.prototype.GetPositionFromA_D=function(o,A,f){let m=this.toDegrees(o),C=this.GetDegreesFromA_D(m.lon,m.lat,A,f);return this._cesium.Cartesian3.fromDegrees(C[0],C[1],m.height)};Lo.prototype.getEntityTypeAndObject=function(o){let A={type:"",object:null};return o&&(o.billboard?(A.type="billboard",A.object=o.billboard):o.box?(A.type="box",A.object=o.box):o.corridor?(A.type="corridor",A.object=o.corridor):o.cylinder?(A.type="cylinder",A.object=o.cylinder):o.ellipse?(A.type="ellipse",A.object=o.ellipse):o.ellipsoid?(A.type="ellipsoid",A.object=o.ellipsoid):o.label?o.billboard?(A.type="billboard",A.object=o.billboard):(A.type="label",A.object=o.label):o.model?(A.type="model",A.object=o.model):o.path?(A.type="path",A.object=o.path):o.plane?(A.type="plane",A.object=o.plane):o.point?(A.type="point",A.object=o.point):o.polygon?(A.type="polygon",A.object=o.polygon):o.polyline?(A.type="polyline",A.object=o.polyline):o.polylineVolume?(A.type="polylineVolume",A.object=o.polylineVolume):o.rectangle?(A.type="rectangle",A.object=o.rectangle):o.wall&&(A.type="wall",A.object=o.wall)),A};Lo.prototype.getSimpleGraphicData=function(o,A){let f=this,m=this._viewer;if(SmartEarthPopupData.editGraphic={entity:A,type:o,graphic:A[o],labelGraphic:A.label,getValue:function(Q){if(Q==="position"||Q==="name"||Q==="id"||Q==="orientation"||Q==="heading"||Q==="pitch"||Q==="roll")return this.entity[Q]&&(this.entity[Q].getValue?this.entity[Q].getValue():this.entity[Q]);if(Q==="radius"){if(this.type==="ellipse")return this.graphic.semiMajorAxis.getValue();if(this.type==="ellipsoid")return this.graphic.radii.getValue().x;if(this.type==="cylinder")return this.graphic.bottomRadius.getValue()}else if(Q==="pHeight"){if(this.getValue("position")){let T=this.getValue("position");return _i.Cartographic.fromCartesian(T).height}}else return Q==="repeat"?this.graphic.material[Q]&&(this.graphic.material[Q].getValue?this.graphic.material[Q].getValue():this.graphic.material[Q]):Q.indexOf("label_")>-1?(Q=Q.replace("label_",""),this.labelGraphic&&this.labelGraphic[Q]&&(this.labelGraphic[Q].getValue?this.labelGraphic[Q].getValue():this.labelGraphic[Q])):this.graphic[Q]&&(this.graphic[Q].getValue?this.graphic[Q].getValue():this.graphic[Q])},changeHeightPoint:function(Q){Ke.editPointID.height.length>0&&Ke.editPointID.height.forEach(T=>{let w=m.entities.getById(T);if(w){let S=w.position.getValue(),D=f.toDegrees(S);w.position=_i.Cartesian3.fromDegrees(D.lon,D.lat,Q)}})},changeEditPoint:function(Q){Ke.editPointID.edit.length>0&&Ke.editPointID.edit.forEach(w=>{let S=m.entities.getById(w);if(S)if(Q==="clampToGround")S.point.heightReference=1;else{S.point.heightReference=0;let D=S.position.getValue(),R=f.toDegrees(D);S.position=_i.Cartesian3.fromDegrees(R.lon,R.lat,Q)}}),Ke.editPointID.size.length>0&&Ke.editPointID.size.forEach(w=>{let S=m.entities.getById(w);if(S)if(Q==="clampToGround")S.point.heightReference=1;else{S.point.heightReference=0;let D=S.position.getValue(),R=f.toDegrees(D);S.position=_i.Cartesian3.fromDegrees(R.lon,R.lat,Q)}}),Ke.editPointID.add.length>0&&Ke.editPointID.add.forEach(w=>{let S=m.entities.getById(w);if(S)if(Q==="clampToGround")S.point.heightReference=1;else{S.point.heightReference=0;let D=S.position.getValue(),R=f.toDegrees(D);S.position=_i.Cartesian3.fromDegrees(R.lon,R.lat,Q)}});let T=Ke.editPointID.move;if(T)if(Q==="clampToGround")T.point.heightReference=1;else{T.point.heightReference=0;let w=T.position.getValue(),S=f.toDegrees(w);T.position=_i.Cartesian3.fromDegrees(S.lon,S.lat,Q)}},clearAllEditPoint:function(){Ke.editPointID.edit.forEach(Q=>{m.entities.removeById(Q)}),Ke.editPointID.edit=[],Ke.editPointID.height.forEach(Q=>{m.entities.removeById(Q)}),Ke.editPointID.height=[],Ke.editPointID.add.forEach(Q=>{m.entities.removeById(Q)}),Ke.editPointID.add=[],Ke.editPointID.size.forEach(Q=>{m.entities.removeById(Q)}),Ke.editPointID.size=[],Ke.editPointID.move&&m.entities.remove(Ke.editPointID.move),Ke.editPointID.move=void 0}},o==="billboard"){let Q=SmartEarthPopupData.editGraphic.getValue("label_fillColor");Q?E(Q):(SmartEarthPopupData.editGraphic.lable_fillColor="#00ff00",SmartEarthPopupData.editGraphic.label_alpha=60);let T=SmartEarthPopupData.editGraphic.getValue("label_outlineColor");T?y(T):(SmartEarthPopupData.editGraphic.label_outlineColor="#ffffff",SmartEarthPopupData.editGraphic.label_outlineAlpha=60);let w=SmartEarthPopupData.editGraphic.getValue("label_backgroundColor");w?v(w):(SmartEarthPopupData.editGraphic.label_backgroundColor="#000000",SmartEarthPopupData.editGraphic.label_backgroundAlpha=80)}if(o==="billboard"||o==="point"||o==="label"||o==="model"){let Q=SmartEarthPopupData.editGraphic.getValue("color")||SmartEarthPopupData.editGraphic.getValue("fillColor");Q?C(Q):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let T=SmartEarthPopupData.editGraphic.getValue("outlineColor");if(T?x(T):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),o==="label"){let w=SmartEarthPopupData.editGraphic.getValue("backgroundColor");w?I(w):(SmartEarthPopupData.editGraphic.backgroundColor="#000000",SmartEarthPopupData.editGraphic.backgroundAlpha=80)}SmartEarthPopupData.editGraphic.setValue=function(w,S){if(w==="showLabel"){this.labelGraphic.show=S;return}else if(w==="position"&&this.entity.offset){this.entity.oP=S;let D=_i.Transforms.eastNorthUpToFixedFrame(this.entity.oP),R=new _i.Cartesian3(0,0,0);_i.Matrix4.multiplyByPoint(D,this.entity.offset,R),S=R}else if(w==="offset"){!this.entity.oP&&(this.entity.oP=this.getValue("position")),this.entity.offset=S;let D=_i.Transforms.eastNorthUpToFixedFrame(this.entity.oP),R=new _i.Cartesian3(0,0,0);_i.Matrix4.multiplyByPoint(D,this.entity.offset,R),S=R,w="position"}if(w==="position"||w==="name")this.entity[w]=S;else if(w==="autoRotate"&&this.type==="model")this.entity.heading===void 0&&(this.entity.heading=0,this.entity.pitch=0,this.entity.roll=0),typeof S=="number"?(this.entity.orientation=new _i.CallbackProperty(()=>(this.entity.heading+=S,this.entity.heading>360&&(this.entity.heading-=360),SmartEarthPopupData.window&&SmartEarthPopupData.window.document.querySelector('.model input[name="heading"]')&&(SmartEarthPopupData.window.document.querySelector('.model input[name="heading"]').value=this.entity.heading),_i.Transforms.headingPitchRollQuaternion(this.getValue("position"),new _i.HeadingPitchRoll(_i.Math.toRadians(this.entity.heading),_i.Math.toRadians(this.entity.pitch),_i.Math.toRadians(this.entity.roll)))),!1),SmartEarthPopupData.window&&(SmartEarthPopupData.window.document.querySelector('.model input[name="heading"]')&&(SmartEarthPopupData.window.document.querySelector('.model input[name="heading"]').disabled=!0),SmartEarthPopupData.window.document.querySelector('.model input[name="pitch"]')&&(SmartEarthPopupData.window.document.querySelector('.model input[name="pitch"]').disabled=!0),SmartEarthPopupData.window.document.querySelector('.model input[name="roll"]')&&(SmartEarthPopupData.window.document.querySelector('.model input[name="roll"]').disabled=!0))):S===!1&&(this.entity.orientation=_i.Transforms.headingPitchRollQuaternion(this.getValue("position"),new _i.HeadingPitchRoll(_i.Math.toRadians(this.entity.heading),_i.Math.toRadians(this.entity.pitch),_i.Math.toRadians(this.entity.roll))),SmartEarthPopupData.window&&(SmartEarthPopupData.window.document.querySelector('.model input[name="heading"]')&&(SmartEarthPopupData.window.document.querySelector('.model input[name="heading"]').disabled=!1),SmartEarthPopupData.window.document.querySelector('.model input[name="pitch"]')&&(SmartEarthPopupData.window.document.querySelector('.model input[name="pitch"]').disabled=!1),SmartEarthPopupData.window.document.querySelector('.model input[name="roll"]')&&(SmartEarthPopupData.window.document.querySelector('.model input[name="roll"]').disabled=!1)));else if((w==="heading"||w==="pitch"||w==="roll")&&this.type==="model")this.entity[w]=S,this.entity.orientation=_i.Transforms.headingPitchRollQuaternion(this.getValue("position"),new _i.HeadingPitchRoll(_i.Math.toRadians(this.entity.heading),_i.Math.toRadians(this.entity.pitch),_i.Math.toRadians(this.entity.roll)));else if(w==="pHeight"){if(this.getValue("position")){let D=this.getValue("position"),R=_i.Cartographic.fromCartesian(D);R.height=S,this.entity.position=_i.Cartographic.toCartesian(R);return}}else if(w.indexOf("label_")>-1){if(w=w.replace("label_",""),w==="color"||w==="outlineColor"||w==="backgroundColor"||w==="fillColor")S=_i.Color.fromCssColorString(S);else if(w==="fontSize"){let D=this.getValue("font");D=D.split(" "),D[0]=S,S=D.join(" ")}else if(w==="alpha"){this.labelGraphic.fillColor._value.alpha=S;return}else if(w==="outlineAlpha"){this.labelGraphic.outlineColor._value.alpha=S;return}else if(w==="backgroundAlpha"){this.labelGraphic.backgroundColor._value.alpha=S;return}this.labelGraphic[w]=S}else{if(w==="color"||w==="outlineColor"||w==="backgroundColor"||w==="fillColor")S=_i.Color.fromCssColorString(S);else if(w==="fontSize"){let D=this.getValue("font");D=D.split(" "),D[0]=S,S=D.join(" ")}else if(w==="alpha"){this.type==="label"?this.graphic.fillColor._value.alpha=S:this.graphic.color._value.alpha=S;return}else if(w==="outlineAlpha"){this.graphic.outlineColor._value.alpha=S;return}else if(w==="backgroundAlpha"){this.graphic.backgroundColor._value.alpha=S;return}this.graphic[w]=S}}}else if(o==="polyline"){let Q=SmartEarthPopupData.editGraphic.getValue("material");Q.color?C(Q.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60),Q.outlineColor?x(Q.outlineColor):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(T,w){if(T==="name")this.entity[T]=w;else{if(T==="color"||T==="outlineColor"){w=_i.Color.fromCssColorString(w),this.graphic.material[T]=w;return}else if(T==="outlineWidth"){this.graphic.material[T]=w;return}else if(T==="alpha"){this.graphic.material.color._value.alpha=w;return}else if(T==="outlineAlpha"){this.graphic.material.outlineColor._value.alpha=w;return}else if(T==="positions"){this.graphic[T]=new _i.CallbackProperty(function(){return w},!1);return}this.graphic[T]=w}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let T=this.getValue("positions");return this.entity.pottingPoint=T,T},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let T=this.getPottingPoint();if(!T)return;let w=new _i.Cartesian3;T.forEach((S,D)=>{let R=m.entities.add({name:"edit_point",position:f.isClampToGround(this.graphic)?f.getClampToGroundPosition(S):S,point:{pixelSize:10,color:_i.Color.ROYALBLUE,outlineWidth:2,outlineColor:_i.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});if(Ke.editPointID.edit.push(R.id),this.getValue("extrudedHeight")!==void 0){let P=_i.Cartographic.fromCartesian(S),M={lon:_i.Math.toDegrees(P.longitude),lat:_i.Math.toDegrees(P.latitude),height:this.getValue("extrudedHeight")};if(this.getValue("height")){let F=_i.Cartesian3.fromDegrees(M.lon,M.lat,this.getValue("height"));S.x=F.x,S.y=F.y,S.z=F.z,R.position=F,this.entity.pottingPoint[D]=F.clone()}let L=m.entities.add({name:"height_point",position:_i.Cartesian3.fromDegrees(M.lon,M.lat,M.height),point:{color:_i.Color.YELLOW,pixelSize:12,outlineColor:_i.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.height.push(L.id)}w.x+=S.x,w.y+=S.y,w.z+=S.z}),w.x/=T.length,w.y/=T.length,w.z/=T.length,Ke.editPointID.move=m.entities.add({name:"move_point",position:f.isClampToGround(this.graphic)?f.getClampToGroundPosition(w):w,point:{color:_i.Color.PURPLE,pixelSize:10,outlineColor:_i.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}});for(let S=0;S<T.length-1;S++){let D=_i.Cartesian3.midpoint(T[S],T[S+1],new _i.Cartesian3),R=m.entities.add({name:"add_point",position:f.isClampToGround(this.graphic)?f.getClampToGroundPosition(D):D,point:{pixelSize:10,color:_i.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:_i.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.add.push(R.id)}}}else if(o==="polygon"){let Q=SmartEarthPopupData.editGraphic.getValue("material");Q.color?C(Q.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let T=SmartEarthPopupData.editGraphic.getValue("outlineColor");T?x(T):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(w,S){if(w==="name")this.entity[w]=S;else{if(w==="color"||w==="outlineColor"){if(S=_i.Color.fromCssColorString(S),w==="color"){this.graphic.material.color=S;return}}else if(w==="image"||w==="repeat"){this.graphic.material[w]=S;return}else if(w==="alpha"){this.graphic.material.color._value.alpha=S;return}else if(w==="outlineAlpha"){this.graphic.outlineColor._value.alpha=S;return}else if(w==="positions"){this.graphic.hierarchy=new _i.CallbackProperty(function(){return new _i.PolygonHierarchy(S)},!1);return}else if(w==="hierarchy"){this.graphic.hierarchy=new _i.CallbackProperty(function(){return S},!1);return}else if(w==="clampToGround"){let D=function(R,P,M){M?(R.perPositionHeight=!1,R.heightReference=_i.HeightReference.CLAMP_TO_GROUND):(R.perPositionHeight=!0,R.heightReference=_i.HeightReference.NONE),Ke.editPointID.edit.length>0&&!M&&P.forEach((L,F)=>{let k=m.entities.getById(Ke.editPointID.edit[F]);if(k){let N=k.position.getValue();L.x=N.x,L.y=N.y,L.z=N.z}}),R.hierarchy=new _i.CallbackProperty(function(){return new _i.PolygonHierarchy(P)},!1)};this.graphic.hierarchy instanceof _i.CallbackProperty?(this.graphic.hierarchy=this.graphic.hierarchy.getValue(),setTimeout(()=>{D(this.graphic,this.entity.pottingPoint,S)},100)):D(this.graphic,this.entity.pottingPoint,S);return}else w==="extrudedHeight"?this.changeHeightPoint(S):w==="height"&&this.changeEditPoint(S);this.graphic[w]=S}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let S=this.getValue("hierarchy").positions.concat([]);if(this.getValue("height")!==void 0){let D=this.getValue("height");S.forEach(R=>{let P=f.toDegrees(R),M=_i.Cartesian3.fromDegrees(P.lon,P.lat,D);R.x=M.x,R.y=M.y,R.z=M.z})}return this.entity.pottingPoint=S,S},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let w=this.getPottingPoint();if(!w)return;let S=new _i.Cartesian3;w.forEach((P,M)=>{let L=m.entities.add({name:"edit_point",position:f.isClampToGround(this.graphic)?f.getClampToGroundPosition(P):P,point:{pixelSize:10,color:_i.Color.ROYALBLUE,outlineWidth:2,outlineColor:_i.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});if(Ke.editPointID.edit.push(L.id),this.getValue("extrudedHeight")!==void 0){let F=_i.Cartographic.fromCartesian(P),k={lon:_i.Math.toDegrees(F.longitude),lat:_i.Math.toDegrees(F.latitude),height:this.getValue("extrudedHeight")};if(this.getValue("height")){let G=_i.Cartesian3.fromDegrees(k.lon,k.lat,this.getValue("height"));P.x=G.x,P.y=G.y,P.z=G.z,L.position=G,this.entity.pottingPoint[M]=G.clone()}let N=m.entities.add({name:"height_point",position:_i.Cartesian3.fromDegrees(k.lon,k.lat,k.height),point:{color:_i.Color.YELLOW,pixelSize:12,outlineColor:_i.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.height.push(N.id)}S.x+=P.x,S.y+=P.y,S.z+=P.z}),S.x/=w.length,S.y/=w.length,S.z/=w.length,Ke.editPointID.move=m.entities.add({name:"move_point",position:f.isClampToGround(this.graphic)?f.getClampToGroundPosition(S):S,point:{color:_i.Color.PURPLE,pixelSize:10,outlineColor:_i.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}});for(let P=0;P<w.length-1;P++){let M=_i.Cartesian3.midpoint(w[P],w[P+1],new _i.Cartesian3),L=m.entities.add({name:"add_point",position:f.isClampToGround(this.graphic)?f.getClampToGroundPosition(M):M,point:{pixelSize:10,color:_i.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:_i.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.add.push(L.id)}let D=_i.Cartesian3.midpoint(w[0],w[w.length-1],new _i.Cartesian3),R=m.entities.add({name:"add_point",position:f.isClampToGround(this.graphic)?f.getClampToGroundPosition(D):D,point:{pixelSize:10,color:_i.Color.ROYALBLUE.withAlpha(.4),outlineWidth:2,outlineColor:_i.Color.WHITE.withAlpha(.4),disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.add.push(R.id)}}else if(o==="ellipse"||o==="cylinder"||A.isSphere){let Q=SmartEarthPopupData.editGraphic.getValue("material");Q.color?C(Q.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let T=SmartEarthPopupData.editGraphic.getValue("outlineColor");T?x(T):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(w,S){if(w==="name")this.entity[w]=S;else{if(w==="color"||w==="outlineColor"){if(S=_i.Color.fromCssColorString(S),w==="color"){this.graphic.material.color=S;return}}else if(w==="image"||w==="repeat"){this.graphic.material[w]=S;return}else if(w==="alpha"){this.graphic.material.color._value.alpha=S;return}else if(w==="outlineAlpha"){this.graphic.outlineColor._value.alpha=S;return}else if(w==="semiMajorAxis"){this.graphic.semiMajorAxis=new _i.CallbackProperty(function(){return S},!1);return}else if(w==="semiMinorAxis"){this.graphic.semiMinorAxis=new _i.CallbackProperty(function(){return S},!1);return}else if(w==="radii"){this.graphic.radii=new _i.CallbackProperty(function(){return S},!1);return}else if(w==="topRadius"){this.graphic.topRadius=new _i.CallbackProperty(function(){return S},!1);return}else if(w==="bottomRadius"){this.graphic.bottomRadius=new _i.CallbackProperty(function(){return S},!1);return}else if(w==="radius"){this.type==="ellipse"?(this.graphic.semiMajorAxis=new _i.CallbackProperty(function(){return S},!1),this.graphic.semiMinorAxis=new _i.CallbackProperty(function(){return S},!1)):this.type==="ellipsoid"?this.graphic.material.image.getValue()!==null?this.graphic.radii=new _i.Cartesian3(S,S,S):this.graphic.radii=new _i.CallbackProperty(function(){return new _i.Cartesian3(S,S,S)},!1):this.type==="cylinder"&&(this.graphic.bottomRadius=new _i.CallbackProperty(function(){return S},!1),this.entity.changeTop&&(this.graphic.topRadius=new _i.CallbackProperty(function(){return S},!1)));let D=Ke.editPointID.move.position.getValue(),R=f.GetPositionFromA_D(D,S,90),P=m.entities.getById(Ke.editPointID.size[0]);P.position=R,A.pottingPoint[0]=R,A.pottingPoint[A.pottingPoint.length-1]=D;let M=m.entities.getById(Ke.editPointID.height[0]);if(M){let L=f.toDegrees(R),F=f._cesium.Cartographic.fromCartesian(M.position.getValue());M.position=f._cesium.Cartesian3.fromDegrees(L.lon,L.lat,F.height)}return}else if(this.type==="cylinder"&&w==="length"){this.graphic.length=S;let D=f.toDegrees(this.entity.pottingPoint[1]);this.entity.position=_i.Cartesian3.fromDegrees(D.lon,D.lat,D.height+S/2),this.changeHeightPoint(D.height+S);return}else if(this.type==="ellipse"&&w==="clampToGround"){let D=function(R,P,M){M?(R.thisHeight===void 0&&(R.thisHeight=P.height&&P.height.getValue()),P.height=void 0,P.heightReference=_i.HeightReference.CLAMP_TO_GROUND):(P.height=R.thisHeight,P.heightReference=_i.HeightReference.NONE);let L=P.semiMinorAxis.getValue();P.semiMinorAxis=new _i.CallbackProperty(function(){return L},!1),P.semiMajorAxis=new _i.CallbackProperty(function(){return L},!1)};this.graphic.semiMinorAxis instanceof _i.CallbackProperty?(this.graphic.semiMinorAxis=this.graphic.semiMinorAxis.getValue(),this.graphic.semiMajorAxis=this.graphic.semiMajorAxis.getValue(),setTimeout(()=>{D(this.entity,this.graphic,S)},100)):D(this.entity,this.graphic,S),S?this.changeEditPoint("clampToGround"):this.changeEditPoint(this.entity.thisHeight);return}else this.type==="ellipse"&&w==="extrudedHeight"?this.changeHeightPoint(S):this.type==="ellipse"&&w==="height"&&(this.changeEditPoint(S),this.entity.thisHeight=S);this.graphic[w]=S}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let w=this.getValue("radius"),S=this.getValue("position");if(this.type==="ellipse"||this.entity.isSphere){if(this.type==="ellipse"&&this.getValue("height")!==void 0){let R=this.getValue("height"),P=f.toDegrees(S);S=_i.Cartesian3.fromDegrees(P.lon,P.lat,R)}let D=f.GetPositionFromA_D(S,w,90);return this.entity.pottingPoint=[D,S],[D,S]}else{let D=f.toDegrees(S);S=_i.Cartesian3.fromDegrees(D.lon,D.lat,D.height-this.getValue("length")/2);let R=f.GetPositionFromA_D(S,w,90);return this.entity.pottingPoint=[R,S],[R,S]}},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let w=this.getPottingPoint();if(!w)return;let S=m.entities.add({name:"size_point",position:f.isClampToGround(this.graphic)?f.getClampToGroundPosition(w[0]):w[0],point:{pixelSize:10,color:_i.Color.ROYALBLUE,outlineWidth:2,outlineColor:_i.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});if(S.angle=90,Ke.editPointID.size.push(S.id),this.getValue("extrudedHeight")!==void 0){let D=f.toDegrees(w[1]);D.height=this.getValue("extrudedHeight");let R=m.entities.add({name:"height_point",position:_i.Cartesian3.fromDegrees(D.lon,D.lat,D.height),point:{color:_i.Color.YELLOW,pixelSize:12,outlineColor:_i.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.height.push(R.id)}else if(o==="cylinder"){let D=f.toDegrees(w[1]),R=this.getValue("length"),P=m.entities.add({name:"height_point",position:_i.Cartesian3.fromDegrees(D.lon,D.lat,D.height+R),point:{color:_i.Color.YELLOW,pixelSize:12,outlineColor:_i.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.height.push(void 0,P.id)}Ke.editPointID.move=m.entities.add({name:"move_point",position:f.isClampToGround(this.graphic)?f.getClampToGroundPosition(w[1]):w[1],point:{color:_i.Color.PURPLE,pixelSize:10,outlineColor:_i.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}})}}else if(o==="rectangle"){let Q=SmartEarthPopupData.editGraphic.getValue("material");Q.color?C(Q.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let T=SmartEarthPopupData.editGraphic.getValue("outlineColor");T?x(T):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(w,S){if(w==="name")this.entity[w]=S;else{if(w==="color"||w==="outlineColor"){if(S=_i.Color.fromCssColorString(S),w==="color"){this.graphic.material.color=S;return}}else if(w==="image"||w==="repeat"){this.graphic.material[w]=S;return}else if(w==="alpha"){this.graphic.material.color._value.alpha=S;return}else if(w==="outlineAlpha"){this.graphic.outlineColor._value.alpha=S;return}else if(w==="positions"){this.graphic.coordinates=new _i.CallbackProperty(function(){return _i.Rectangle.fromCartesianArray(S)},!1);return}else if(w==="coordinates"){this.graphic.coordinates=new _i.CallbackProperty(function(){return S},!1);return}else if(w==="clampToGround"){let D=function(R,P,M){M?(R.thisHeight===void 0&&(R.thisHeight=P.height&&P.height.getValue()),P.height=void 0,P.heightReference=_i.HeightReference.CLAMP_TO_GROUND):(P.height=R.thisHeight,P.heightReference=_i.HeightReference.NONE);let L=P.coordinates.getValue();P.coordinates=new _i.CallbackProperty(function(){return L},!1)};this.graphic.coordinates instanceof _i.CallbackProperty?(this.graphic.coordinates=this.graphic.coordinates.getValue(),setTimeout(()=>{D(this.entity,this.graphic,S)},100)):D(this.entity,this.graphic,S),S?this.changeEditPoint("clampToGround"):this.changeEditPoint(this.entity.thisHeight);return}else w==="extrudedHeight"?this.changeHeightPoint(S):w==="height"&&(this.changeEditPoint(S),this.entity.thisHeight=S);this.graphic[w]=S}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let w=this.getValue("coordinates"),S,D,R=this.getValue("height");return R!==void 0?(S=_i.Cartesian3.fromRadians(w.west,w.north,R),D=_i.Cartesian3.fromRadians(w.east,w.south,R)):(R=m.scene.sampleHeight(new _i.Cartographic(w.west,w.north,0),[this.entity]),S=_i.Cartesian3.fromRadians(w.west,w.north,R),R=m.scene.sampleHeight(new _i.Cartographic(w.east,w.south,0),[this.entity]),D=_i.Cartesian3.fromRadians(w.east,w.south,R)),this.entity.pottingPoint=[S,D],[S,D]},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let w=this.getPottingPoint();if(!w)return;let S=new _i.Cartesian3;w.forEach((D,R)=>{let P=m.entities.add({name:"edit_point",position:f.isClampToGround(this.graphic)?f.getClampToGroundPosition(D):D,point:{pixelSize:10,color:_i.Color.ROYALBLUE,outlineWidth:2,outlineColor:_i.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});if(Ke.editPointID.edit.push(P.id),this.getValue("extrudedHeight")!==void 0){let M=_i.Cartographic.fromCartesian(D),L={lon:_i.Math.toDegrees(M.longitude),lat:_i.Math.toDegrees(M.latitude),height:this.getValue("extrudedHeight")};if(this.getValue("height")){let k=_i.Cartesian3.fromDegrees(L.lon,L.lat,this.getValue("height"));D.x=k.x,D.y=k.y,D.z=k.z,P.position=k,this.entity.pottingPoint[R]=k.clone()}let F=m.entities.add({name:"height_point",position:_i.Cartesian3.fromDegrees(L.lon,L.lat,L.height),point:{color:_i.Color.YELLOW,pixelSize:12,outlineColor:_i.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.height.push(F.id)}S.x+=D.x,S.y+=D.y,S.z+=D.z}),S.x/=w.length,S.y/=w.length,S.z/=w.length,Ke.editPointID.move=m.entities.add({name:"move_point",position:f.isClampToGround(this.graphic)?f.getClampToGroundPosition(S):S,point:{color:_i.Color.PURPLE,pixelSize:10,outlineColor:_i.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}})}}else if(o==="box"){let Q=SmartEarthPopupData.editGraphic.getValue("material");Q.color?C(Q.color):(SmartEarthPopupData.editGraphic.fillColor="#00ff00",SmartEarthPopupData.editGraphic.alpha=60);let T=SmartEarthPopupData.editGraphic.getValue("outlineColor");T?x(T):(SmartEarthPopupData.editGraphic.outlineColor="#ffffff",SmartEarthPopupData.editGraphic.outlineAlpha=60),SmartEarthPopupData.editGraphic.setValue=function(w,S){if(w==="name")this.entity[w]=S;else{if(w==="color"||w==="outlineColor"){if(S=_i.Color.fromCssColorString(S),w==="color"){this.graphic.material.color=S;return}}else if(w==="image"||w==="repeat"){this.graphic.material[w]=S;return}else if(w==="alpha"){this.graphic.material.color._value.alpha=S;return}else if(w==="outlineAlpha"){this.graphic.outlineColor._value.alpha=S;return}else if(w==="long"||w==="width"||w==="height"){let D=this.getValue("dimensions");if(w==="long"?D.x=S:w==="width"?D.y=S:D.z=S,this.graphic.dimensions=new _i.CallbackProperty(function(){return D},!1),w==="long"||w==="width"){let R=w==="long"?90:180,P=w==="long"?0:1,M=Ke.editPointID.move.position.getValue(),L=f.GetPositionFromA_D(M,S/2,R),F=m.entities.getById(Ke.editPointID.size[P]);F.position=L,this.entity.pottingPoint[P]=L,this.entity.pottingPoint[this.entity.pottingPoint.length-1]=M}else{let R=f.toDegrees(Ke.editPointID.move.position.getValue());this.entity.position=_i.Cartesian3.fromDegrees(R.lon,R.lat,R.height+S/2),this.changeHeightPoint(R.height+S)}return}else if(w==="dimensions"){this.graphic.dimensions=new _i.CallbackProperty(function(){return S},!1);return}this.graphic[w]=S}},SmartEarthPopupData.editGraphic.getPottingPoint=function(){let w=this.getValue("dimensions"),S=this.getValue("position"),D=f.toDegrees(S);S=_i.Cartesian3.fromDegrees(D.lon,D.lat,D.height-w.z/2);let R=f.GetPositionFromA_D(S,w.x/2,90),P=f.GetPositionFromA_D(S,w.y/2,180);return this.entity.pottingPoint=[R,P,S],[R,P,S]},SmartEarthPopupData.editGraphic.updataEditPoint=function(){this.clearAllEditPoint();let w=this.getPottingPoint();if(!w)return;let S=m.entities.add({name:"size_point",position:w[0],point:{pixelSize:10,color:_i.Color.ROYALBLUE,outlineWidth:2,outlineColor:_i.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});S.angle=90;let D=m.entities.add({name:"size_point",position:w[1],point:{pixelSize:10,color:_i.Color.ROYALBLUE,outlineWidth:2,outlineColor:_i.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});D.angle=180,Ke.editPointID.size.push(S.id),Ke.editPointID.size.push(D.id);let R=f.toDegrees(w[2]),P=this.getValue("dimensions"),M=m.entities.add({name:"height_point",position:_i.Cartesian3.fromDegrees(R.lon,R.lat,R.height+P.z),point:{color:_i.Color.YELLOW,pixelSize:12,outlineColor:_i.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}});Ke.editPointID.height.push(void 0,void 0,M.id),Ke.editPointID.move=m.entities.add({name:"move_point",position:w[2],point:{color:_i.Color.PURPLE,pixelSize:10,outlineColor:_i.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}})}}else o==="corridor"||o==="ellipsoid"&&A.isSphere;function C(Q){SmartEarthPopupData.editGraphic.fillColor=B("rgb("+Q.red*255+","+Q.green*255+","+Q.blue*255+")"),SmartEarthPopupData.editGraphic.alpha=Q.alpha*100}function E(Q){SmartEarthPopupData.editGraphic.label_fillColor=B("rgb("+Q.red*255+","+Q.green*255+","+Q.blue*255+")"),SmartEarthPopupData.editGraphic.label_alpha=Q.alpha*100}function x(Q){SmartEarthPopupData.editGraphic.outlineColor=B("rgb("+Q.red*255+","+Q.green*255+","+Q.blue*255+")"),SmartEarthPopupData.editGraphic.outlineAlpha=Q.alpha*100}function y(Q){SmartEarthPopupData.editGraphic.label_outlineColor=B("rgb("+Q.red*255+","+Q.green*255+","+Q.blue*255+")"),SmartEarthPopupData.editGraphic.label_outlineAlpha=Q.alpha*100}function I(Q){SmartEarthPopupData.editGraphic.backgroundColor=B("rgb("+Q.red*255+","+Q.green*255+","+Q.blue*255+")"),SmartEarthPopupData.editGraphic.backgroundAlpha=Q.alpha*100}function v(Q){SmartEarthPopupData.editGraphic.label_backgroundColor=B("rgb("+Q.red*255+","+Q.green*255+","+Q.blue*255+")"),SmartEarthPopupData.editGraphic.label_backgroundAlpha=Q.alpha*100}function B(Q){let T=Q,w=/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;if(/^(rgb|RGB)/.test(T)){let S=T.replace(/(rgb|RGB)*/g,"");S=S.replace("(","").replace(")","");let D=S.split(","),R="#";for(let P=0;P<D.length;P++){let M=Number(D[P]).toString(16);M=M.length===1?0+""+M:M,M==="0"&&(M+=M),R+=M}return R.length!==7&&(R=T),R}else if(w.test(T)){let S=T.replace(/#/,"").split("");if(S.length===6)return T;if(S.length===3){let D="#";for(let R=0;R<S.length;R+=1)D+=S[R]+S[R];return D}}else return T}};Lo.prototype.getStyle=function(o){let A,f;f=this.getEntityTypeAndObject(o).type;let m=E("distanceDisplayCondition"),C=E("label_distanceDisplayCondition");if(f==="point")A={id:E("id"),name:E("name"),position:E("position"),pixelSize:E("pixelSize"),scaleByDistance:E("scaleByDistance"),color:E("color")&&E("color").toCssColorString(),outlineWidth:E("outlineWidth"),outlineColor:E("outlineColor")&&E("outlineColor").toCssColorString(),heightReference:E("heightReference"),distanceDisplayCondition:m&&{near:m.near,far:m.far}};else if(f==="billboard"){let x={showLabel:E("label_show"),label_text:E("label_text"),label_font:E("label_font"),label_style:E("label_style"),label_scale:E("label_scale"),label_scaleByDistance:E("label_scaleByDistance"),label_fillColor:E("label_fillColor")&&E("label_fillColor").toCssColorString(),label_outlineColor:E("label_outlineColor")&&E("label_outlineColor").toCssColorString(),label_outlineWidth:E("label_outlineWidth"),label_showBackground:E("label_showBackground"),label_backgroundColor:E("label_backgroundColor")&&E("label_backgroundColor").toCssColorString(),label_horizontalOrigin:E("label_horizontalOrigin"),label_verticalOrigin:E("label_verticalOrigin"),label_heightReference:E("label_heightReference"),label_distanceDisplayCondition:C&&{near:C.near,far:C.far}};A={id:E("id"),name:E("name"),position:E("position"),image:E("image"),scale:E("scale"),scaleByDistance:E("scaleByDistance"),rotation:E("rotation"),width:E("width"),height:E("height"),color:E("color")&&E("color").toCssColorString(),horizontalOrigin:E("horizontalOrigin"),verticalOrigin:E("verticalOrigin"),heightReference:E("heightReference"),distanceDisplayCondition:m&&{near:m.near,far:m.far},...x}}else f==="label"?A={id:E("id"),name:E("name"),position:E("position"),text:E("text"),font:E("font"),style:E("style"),scale:E("scale"),scaleByDistance:E("scaleByDistance"),fillColor:E("fillColor")&&E("fillColor").toCssColorString(),outlineColor:E("outlineColor")&&E("outlineColor").toCssColorString(),outlineWidth:E("outlineWidth"),showBackground:E("showBackground"),backgroundColor:E("backgroundColor")&&E("backgroundColor").toCssColorString(),horizontalOrigin:E("horizontalOrigin"),verticalOrigin:E("verticalOrigin"),heightReference:E("heightReference"),distanceDisplayCondition:m&&{near:m.near,far:m.far}}:f==="model"?A={id:E("id"),name:E("name"),position:E("position"),url:E("uri"),minimumPixelSize:E("minimumPixelSize"),runAnimations:E("runAnimations"),scale:E("scale"),heading:o.heading,pitch:o.pitch,roll:o.roll,color:E("color")&&E("color").toCssColorString(),heightReference:E("heightReference"),distanceDisplayCondition:m&&{near:m.near,far:m.far}}:f==="polyline"?A={id:E("id"),name:E("name"),positions:E("positions"),clampToGround:E("clampToGround"),color:E("material")&&E("material").color.toCssColorString(),outlineWidth:E("material")&&E("material").outlineWidth,outlineColor:E("material")&&E("material").outlineColor.toCssColorString(),width:E("width"),distanceDisplayCondition:m&&{near:m.near,far:m.far}}:f==="polylineVolume"||f==="corridor"||f==="wall"||f==="path"||f==="plane"||(f==="polygon"?A={id:E("id"),name:E("name"),positions:E("hierarchy").positions,color:E("material")&&E("material").color.toCssColorString(),image:E("material")&&E("material").image,repeat:E("material")&&E("material").repeat,outlineColor:E("outlineColor")&&E("outlineColor").toCssColorString(),outline:E("outline"),perPositionHeight:E("perPositionHeight"),height:E("height"),extrudedHeight:E("extrudedHeight"),distanceDisplayCondition:m&&{near:m.near,far:m.far}}:f==="ellipse"?(A={id:E("id"),name:E("name"),position:E("position"),radius:E("radius"),semiMajorAxis:E("semiMajorAxis"),semiMinorAxis:E("semiMinorAxis"),color:E("material")&&E("material").color.toCssColorString(),image:E("material")&&E("material").image,repeat:E("material")&&E("material").repeat,outlineColor:E("outlineColor")&&E("outlineColor").toCssColorString(),outline:E("outline"),height:E("height"),heightReference:E("heightReference"),distanceDisplayCondition:m&&{near:m.near,far:m.far}},f="circle"):f==="rectangle"?A={id:E("id"),name:E("name"),coordinates:E("coordinates"),color:E("material")&&E("material").color.toCssColorString(),image:E("material")&&E("material").image,repeat:E("material")&&E("material").repeat,outlineColor:E("outlineColor")&&E("outlineColor").toCssColorString(),outline:E("outline"),height:E("height"),rotation:E("rotation"),heightReference:E("heightReference"),distanceDisplayCondition:m&&{near:m.near,far:m.far}}:f==="box"?A={id:E("id"),name:E("name"),position:E("position"),dimensions:E("dimensions"),color:E("material")&&E("material").color.toCssColorString(),image:E("material")&&E("material").image,repeat:E("material")&&E("material").repeat,outlineColor:E("outlineColor")&&E("outlineColor").toCssColorString(),outline:E("outline"),distanceDisplayCondition:m&&{near:m.near,far:m.far}}:f==="cylinder"?A={id:E("id"),name:E("name"),position:E("position"),radius:E("radius"),topRadius:E("topRadius"),bottomRadius:E("bottomRadius"),length:E("length"),color:E("material")&&E("material").color.toCssColorString(),image:E("material")&&E("material").image,repeat:E("material")&&E("material").repeat,outlineColor:E("outlineColor")&&E("outlineColor").toCssColorString(),outline:E("outline"),distanceDisplayCondition:m&&{near:m.near,far:m.far},changeTop:o.changeTop}:f==="ellipsoid"&&(A={id:E("id"),name:E("name"),position:E("position"),radius:E("radius"),radii:E("radii"),color:E("material")&&E("material").color.toCssColorString(),image:E("material")&&E("material").image,repeat:E("material")&&E("material").repeat,outlineColor:E("outlineColor")&&E("outlineColor").toCssColorString(),outline:E("outline"),distanceDisplayCondition:m&&{near:m.near,far:m.far},isSphere:o.isSphere}));function E(x){if(x==="position"||x==="name"||x==="id")return o[x]&&(o[x].getValue?o[x].getValue():o[x]);if(x==="radius"){if(f==="ellipse")return o[f].semiMajorAxis.getValue();if(f==="ellipsoid")return o[f].radii.getValue().x;if(f==="cylinder")return o[f].bottomRadius.getValue()}else return x==="repeat"?o[f].material[x]&&(o[f].material[x].getValue?o[f].material[x].getValue():o[f].material[x]):x.indexOf("label_")>-1?(x=x.replace("label_",""),o.label&&o.label[x]&&(o.label[x].getValue?o.label[x].getValue():o.label[x])):o[f][x]&&(o[f][x].getValue?o[f][x].getValue():o[f][x])}return A.type=f,A.propData=this.getPropData(o),A};Lo.prototype.addPlotting=function(o){let A=this,f=new A._cesium.EntityCollection;if((o.type==="polygon"&&o.style.extrudedHeight!==void 0||o.type==="cylinder"&&!o.style.changeTop||o.type==="ellipsoid"&&o.style.isSphere)&&o.type,!(o.style&&o.style.id&&A.SimpleGraphicObj.indexOf(o.style.id)>-1)){let m=A.addSimpleGraphic(o.type,o.style,o.treeobj);!o.removeEdit&&A.SimpleGraphicObj.push(m.id),f.add(m)}};Lo.prototype.addFeatures=function(o){let A=new this._cesium.EntityCollection;return o.forEach(f=>{if(f){let m=this.addFeature(f);m&&A.add(m)}}),A};Lo.prototype.addFeature=function(o){if((o.type==="polygon"&&o.style.extrudedHeight!==void 0||o.type==="cylinder"&&!o.style.changeTop||o.type==="ellipsoid"&&o.style.isSphere)&&o.type,!(o.style&&o.style.id&&this.SimpleGraphicObj.indexOf(o.style.id)>-1))return this.addSimpleGraphic(o.type,o.style)};Lo.prototype.open=function(o,A){let f=this,m=this._viewer,C=new FileReader;C.readAsText(o),C.onload=function(){let x=JSON.parse(this.result).features,y=f.addFeatures(x);m.flyTo(y),A&&typeof A=="function"&&A(y)}};Lo.prototype.ImportPlotting=function(o,A){let f=this,m=this._viewer,C=new FileReader;C.readAsText(o),C.onload=function(){let x=JSON.parse(this.result).features,y=f.addFeatures(x);m.flyTo(y),A&&typeof A=="function"&&A(y)}};Lo.prototype.analysisJson=function(o,A){this.featuresPlotting=[];for(let m=0;m<o.length;m++)o[m]instanceof Array?this.analysisJson(o[m]):this.ScreenPlotting(o[m]);let f=that.addFeatures(featuresPlotting);viewer.flyTo(f),A&&typeof A=="function"&&A(f)};Lo.prototype.ScreenPlotting=function(o){o.treeobj.type.indexOf("Plotting")!=-1&&this.featuresPlotting.push(o)};var qae=[];Lo.prototype.createsj=function(o){let A=0,f="";if(o.style.pId!=0)for(let C=0;C<qae.length;C++)qae[C].id===o.style.pId&&(A=qae[C].real);o.type==="group"?f=this._createGroup.createGroup(o.style.name,!1,A):o.treeData?(o.treeData.GroupID=A,this.CreateLayer(o)):this.addPlotting(o);let m={pid:A,real:f,id:o.style.id};qae.push(m)};Lo.prototype.CreateLayer=function(o){let A=o.treeData.geoOptions.styletype,f=o.treeData.geoOptions.servertype;A===void 0&&(A="polygonbase"),f===void 0&&(f="geojson"),o.treeobj.pId&&(o.treeData.GroupID=o.treeobj.pId);let m;A=="billboardlayer"?f=="vector"?m=this._billboardGeoJsonFeatureLayer.createBillboardGeoJsonFeatureLayerProvider(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):m=this._GeoJsonFeatureLayer.createBillboardGeoJsonFeature(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):A=="labellayer"?f=="vector"?o.treeData.styleOption.textType=="rich"||(o.treeData.styleOption.heightReference==1&&(o.treeData.styleOption.heightReference=void 0),m=this._LabelGeoJsonFeatureLayercopy.createPrimitiveLabelGeoJsonFeatureLayerProvider(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc)):o.treeData.styleOption.collect?m=this._LabelGeoJsonFeatureLayercopy.createLabelPolymerizationGeoJsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):o.treeData.styleOption.textType=="rich"?m=this._LabelGeoJsonFeatureLayercopy.createLabelRichtextGeoJsonFeatureLayerProvider(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):m=this._LabelGeoJsonFeatureLayercopy.createLabelPointGeoJsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):A=="SXTLabellayer"?f=="vector"&&(o.treeData.styleOption.textType=="rich"||(m=this._LabelGeoJsonFeatureLayercopy.createSXTLabelGeoJsonFeatureLayerProvider(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc))):A=="pointlayer"?f=="vector"?m=this._VectorGeoJsonFeatureLayer.createPointGeoJsonFeatureLayerProvider(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):o.treeData.styleOption.collect?m=this._LabelGeoJsonFeatureLayercopy.createPointPolymerizationGeoJsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):m=this._GeoJsonFeatureLayer.createPointGeojsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):A=="Streetscape"?f=="vector"?m=this._PolylineGeoJsonFeatureLayer.createPrimitivePolylineVectorGeoJsonFeatureLayerProvider(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):(o.treeData.styleOption.opacity&&o.treeData.styleOption.material&&o.treeData.styleOption.material.indexOf("#")>-1&&!o.treeData.styleOption.opacity==1&&(o.treeData.styleOption.material+=o.treeData.styleOption.opacity*100),m=this._GeoJsonFeatureLayer.createStreetscapeGeoJsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc)):A=="polylinelayer"?f=="vector"?m=this._PolylineGeoJsonFeatureLayer.createPrimitivePolylineVectorGeoJsonFeatureLayerProvider(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):m=this._GeoJsonFeatureLayer.createStreetscapeGeoJsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):A=="polylinemodellayer"?f=="vector"?m=this._PolylineGeoJsonFeatureLayer.createPolylineVectorGeoJsonFeatureLayerProviderModel(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):m=this._PointModel.exectPointModel(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):A=="polygonmodellayer"?f=="vector"?m=this._PolygonGeoJsonFeatureLayer.createPolygonVectorGeoJsonFeatureLayerProviderModel(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):m=this._PointModel.createPolygonModel(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):A=="polygonbase"?f=="vector"?o.treeData.styleOption.ground=="1"?(o.treeData.styleOption.extrudedHeightReference=1,m=this._VectorGeoJsonFeatureLayer.createGeoJsonFeatureLayerProviderOptimization(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc)):m=this._VectorGeoJsonFeatureLayer.VolumeVectorGeoJsonFeatureLayerOptimizationGroundtest(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):o.treeData.styleOption.material&&o.treeData.styleOption.material.indexOf(".jpg")!=-1?m=this._GeoJsonFeatureLayer.createPolygonMapGeoJsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):m=this._GeoJsonFeatureLayer.createPolygonGeoJsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):A=="polygonlayer"?f=="vector"?(o.treeData.styleOption.classificationType=0,o.treeData.styleOption.classificationType==0?m=this._VectorGeoJsonFeatureLayer.createGeoJsonFeatureLayerProviderOptimization(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):(o.treeData.styleOption.classificationType=2,o.treeData.styleOption.ground="1",m=this._VectorGeoJsonFeatureLayer.createGeoJsonFeatureLayerProviderClassOptimization(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc))):o.treeData.styleOption.material&&o.treeData.styleOption.material.indexOf(".jpg")!=-1?m=this._PolygonVectorTileLayerArcgis.createPolygonMapGeoJsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):m=this._GeoJsonFeatureLayer.createPolygonGeoJsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):A=="modellayer"?f=="vector"?m=this._VectorGeoJsonFeatureLayer.createModelGeoJsonFeatureLayerProvider(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):m=this._GeoJsonFeatureLayer.createModelPointGeoJsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):A=="polylinevolumelayer"?f=="vector"?m=this._VolumeGeoJsonFeatureLayer.createVolumeGeoJsonFeatureLayerProvider(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):m=this._GeoJsonFeatureLayer.createpolylineVolumeGeojsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):A=="polylineWallLayer"?f=="vector"?m=this._WallGeoFeatureLayer.createWallGeoJsonFeatureLayerProvider(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):m=this._GeoJsonFeatureLayer.createWallGeoFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):A=="primiviteModels"?m=this._PolygonVectorGeoJsonFeatureLayer.createPolygonVectorGeoJsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.styleOption.level_max,o.treeData.styleOption.level_min,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc):A=="primiviteWall"?f=="vector"||(m=this._WallGeoFeatureLayer.createWallPrimitiveGeoFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc)):A=="model"||A=="pointcloudmodel"||A=="rasterlayer"||(m=this._GeoJsonFeatureLayer.createGeoJsonFeatureLayer(o.treeData.name,o.treeData.geoOptions,o.treeData.styleOption,o.treeData.GroupID,o.treeData.checked,o.treeData.disFnc))};Lo.prototype.remove=function(o){let A=this._viewer,f=this.SimpleGraphicObj.indexOf(o);f>-1&&(A.entities.removeById(o),this.SimpleGraphicObj.splice(f,1),SmartEarthPopupData&&SmartEarthPopupData.editGraphic&&SmartEarthPopupData.editGraphic.getValue&&SmartEarthPopupData.editGraphic.getValue("id")===o&&(Ke.editPointID.edit.forEach(m=>{A.entities.removeById(m)}),Ke.editPointID.edit=[],Ke.editPointID.height.forEach(m=>{A.entities.removeById(m)}),Ke.editPointID.height=[],Ke.editPointID.add.forEach(m=>{A.entities.removeById(m)}),Ke.editPointID.add=[],Ke.editPointID.size.forEach(m=>{A.entities.removeById(m)}),Ke.editPointID.size=[],Ke.editPointID.move&&A.entities.remove(Ke.editPointID.move),Ke.editPointID.move=void 0,window.layuiLayer.close(SmartEarthPopupData.layerIndex),SmartEarthPopupData.editGraphic={})),this.defaultEdit()};Lo.prototype.clear=function(){let o=this._viewer;this.SimpleGraphicObj.forEach(A=>{o.entities.removeById(A)}),this.SimpleGraphicObj=[],this.PrimitiveCollection.removeAll(),Ke.editPointID.edit.forEach(A=>{o.entities.removeById(A)}),Ke.editPointID.edit=[],Ke.editPointID.height.forEach(A=>{o.entities.removeById(A)}),Ke.editPointID.height=[],Ke.editPointID.add.forEach(A=>{o.entities.removeById(A)}),Ke.editPointID.add=[],Ke.editPointID.size.forEach(A=>{o.entities.removeById(A)}),Ke.editPointID.size=[],Ke.editPointID.move&&o.entities.remove(Ke.editPointID.move),Ke.editPointID.move=void 0,window.layuiLayer.close(SmartEarthPopupData.layerIndex),SmartEarthPopupData.editGraphic={},this.defaultEdit()};Lo.prototype.save=function(o){let A=this._viewer,f={type:"FeatureCollection",features:[]},m,C=this;this.SimpleGraphicObj.forEach(y=>{let I=A.entities.getById(y);if(I){let v=C.getStyle(I);m={id:I.id,name:I.name,type:v.type,style:v}}f.features.push(m)});let E=JSON.stringify(f),x=new Blob([E],{type:"text/plain;charset=utf-8"});this._core.saveAs(x,o?o+".json":"\u6807\u7ED8.json")};Lo.prototype.setRichtext=function(o,A){let f=o.position.getValue();this._viewer.entities.removeById(o.id);let m="0";o.treeobj&&(Ke.delete(o.treeobj.id,this._viewer,this._cesium),m=o.treeobj.pId);let C=new lH(this._viewer);return C.createDivPoint(o.name,f,{id:o.id,description:A,GroupID:m}),C};Lo.prototype.forceEndHanlder=function(){if(this.editHandler)try{this.editHandler.destroy(),this.editHandler=void 0}catch{}if(this.drawHandler)try{this.drawHandler.destroy(),this.drawHandler=void 0}catch{}};var fH=Lo;var fut=`// author: \u5F20\u4E39\u948A uniform vec4 u_moveColor; uniform vec4 u_lineColor; #define PI_OVER_TWO 1.5707963 czm_material czm_getMaterial(czm_materialInput materialInput){ czm_material material = czm_getDefaultMaterial(materialInput); float iTime = czm_frameNumber / 60.0 * {speed}; vec2 uv = materialInput.st; vec4 finalColor = u_lineColor; float dt = clamp(tan(uv.x * 5.0 - iTime * 1.0) * 0.3 - 0.1, 0.5, PI_OVER_TWO); finalColor = mix(finalColor, u_moveColor, dt); float alpha = pow(finalColor.w * (1.0 - abs(uv.y - 0.5)), 2.0); material.diffuse = finalColor.xyz; material.alpha = alpha; return material; }`;var Xh=null;function Nv(o,A){Xh=A,this._viewer=o,this.PrimitiveCollection=[],this.lineColor=Xh.Color.fromCssColorString("#330066").withAlpha(.8),this.pointColor=Xh.Color.fromCssColorString("#CCFFFF").withAlpha(1)}Nv.prototype.create=function(o={}){this.position=o.position||void 0,this.positions=o.positions||void 0,this.linewidth=o.width||void 0,this.near=o.near,this.far=o.far,this._speed=o.speed,Xh.defined(this._speed)||(this._speed=1),this._id=o.id,o.color&&(this.lineColor=Xh.Color.fromCssColorString(o.color)),o.pointColor&&(this.pointColor=Xh.Color.fromCssColorString(o.pointColor)),this.getShader(),this.collection=new Xh.PrimitiveCollection,this.collection._guid=this._id,this._viewer.scene.primitives.add(this.collection),this.PrimitiveCollection.push(this.collection),this.addPathLayer()};Nv.prototype.addPathLayer=async function(){this.position?this.getInstance():this.positions&&this.getInstances(),this.instances.forEach(o=>{this.addGroundLine(o)})};Nv.prototype.getById=function(o){for(var A=null,f=this._viewer.scene.primitives,m=f.length,C=0;C<m;C++){var E=f.get(C);E._guid===o&&(A=E)}return A};Nv.prototype.remove=function(o){var A=this.getById(o);A&&this._viewer.scene.primitives.remove(A)};Nv.prototype.removeAll=function(){for(var o=0;o<this.PrimitiveCollection.length;o++){var A=this.PrimitiveCollection[o];this._viewer.scene.primitives.remove(A)}this.PrimitiveCollection=[]};Nv.prototype.show=function(o){for(var A=0;A<this.PrimitiveCollection.length;A++){var f=this.PrimitiveCollection[A];f.show=o}};Nv.prototype.getInstance=function(){let o;this.position[0]instanceof Xh.Cartesian3?o=this.position:o=Xh.Cartesian3.fromDegreesArray(this.position);let A=new Xh.GroundPolylineGeometry({positions:o,width:this.linewidth,vertexFormat:Xh.PolylineColorAppearance.VERTEX_FORMAT});this.instances=new Xh.GeometryInstance({geometry:A,attributes:{distanceDisplayCondition:new Xh.DistanceDisplayConditionGeometryInstanceAttribute(this.near,this.far)}})};Nv.prototype.getInstances=function(){this.instances=[];for(let o=0;o<this.positions.length;o++){let A;this.positions[o][0]instanceof Xh.Cartesian3?A=this.positions[o]:A=Xh.Cartesian3.fromDegreesArray(this.positions[o]);let f=new Xh.GeometryInstance({geometry:new Xh.GroundPolylineGeometry({positions:A,width:this.linewidth,vertexFormat:Xh.PolylineColorAppearance.VERTEX_FORMAT}),attributes:{distanceDisplayCondition:new Xh.DistanceDisplayConditionGeometryInstanceAttribute(this.near,this.far)}});this.instances.push(f)}};Nv.prototype.addGroundLine=async function(o){let A=new Xh.GroundPolylinePrimitive({geometryInstances:o,appearance:new Xh.MaterialAppearance({material:new Xh.Material({fabric:{source:this.fs,uniforms:{u_moveColor:this.pointColor,u_lineColor:this.lineColor}}})})});this.collection.add(A)};Nv.prototype.addLine=function(){var o=new Xh.PolylineMaterialAppearance({material:new Xh.Material({fabric:{source:this.fs,uniforms:{u_moveColor:this.pointColor,u_lineColor:this.lineColor}}})});let A=new Xh.Primitive({geometryInstances:this.instances,appearance:o});this.collection.add(A)};Nv.prototype.getShader=function(){this.fs=fut.replace("{speed}",this._speed.toFixed(1))};var gut=Nv;var put=`// author: \u5F20\u4E39\u948A uniform vec4 u_moveColor; uniform vec4 u_wallColor; #define PI_OVER_TWO 1.5707963 czm_material czm_getMaterial(czm_materialInput materialInput){ czm_material material = czm_getDefaultMaterial(materialInput); float iTime = czm_frameNumber / 60.0 * {speed}; vec2 uv = materialInput.st; vec4 finalColor = u_wallColor; float dt = clamp(tan(uv.y * 5.0 - iTime) * 0.3 - 0.1, 0.5, PI_OVER_TWO); finalColor = mix(finalColor, u_moveColor, dt); float alpha = pow(finalColor.w * (1.0 - abs(uv.y - 0.5)), 2.0); if(uv.y < 0.5){ alpha = 1.0; finalColor = u_wallColor; if(uv.y > 0.4){ alpha = (0.5 - uv.y) * 5.0 + 0.5; } } material.diffuse = finalColor.xyz; material.alpha = alpha; return material; }`;var lm=null;function LQ(o,A){lm=A,this._viewer=o,this.PrimitiveCollection=[],this.color=lm.Color.BLUE}LQ.prototype.create=function(o={}){this.position=o.position||void 0,this.positions=o.positions||void 0,this.height=o.height||50,this.minHeight=o.minHeight,this.near=o.near,this.far=o.far,this._speed=o.speed||1,this._id=o.id,o.color&&(this.color=lm.Color.fromCssColorString(o.color)),this.getShader(),this.collection=new lm.PrimitiveCollection,this.collection._guid=this._id,this._viewer.scene.primitives.add(this.collection),this.position?this.getInstance():this.positions&&this.getInstances(),this.addWall(),this.PrimitiveCollection.push(this.collection)};LQ.prototype.getById=function(o){for(var A=null,f=this._viewer.scene.primitives,m=f.length,C=0;C<m;C++){var E=f.get(C);E._guid===o&&(A=E)}return A};LQ.prototype.remove=function(o){var A=this.getById(o);A!=null&&this._viewer.scene.primitives.remove(A)};LQ.prototype.removeAll=function(){for(var o=0;o<this.PrimitiveCollection.length;o++){var A=this.PrimitiveCollection[o];this._viewer.scene.primitives.remove(A)}this.PrimitiveCollection=[]};LQ.prototype.show=function(o){for(var A=0;A<this.PrimitiveCollection.length;A++){var f=this.PrimitiveCollection[A];f.show=o}};LQ.prototype.getInstance=function(){let o;this.position[0]instanceof lm.Cartesian3?o=this.position:o=lm.Cartesian3.fromDegreesArray(this.position);let A=Array(o.length).fill(this.height),f=Array(o.length).fill(this.minHeight||0),m=new lm.WallGeometry({positions:o,maximumHeights:A,minimumHeights:f});this.instances=[new lm.GeometryInstance({geometry:m,attributes:{distanceDisplayCondition:new lm.DistanceDisplayConditionGeometryInstanceAttribute(this.near,this.far)}})]};LQ.prototype.getInstances=function(){this.instances=[];for(let o=0;o<this.positions.length;o++){let A;this.positions[o][0]instanceof lm.Cartesian3?A=this.positions[o]:A=lm.Cartesian3.fromDegreesArray(this.positions[o]);let f=Array(A.length).fill(this.height),m=Array(A.length).fill(this.minHeight||0),C=new lm.GeometryInstance({geometry:new lm.WallGeometry({positions:A,maximumHeights:f,minimumHeights:m}),attributes:{distanceDisplayCondition:new lm.DistanceDisplayConditionGeometryInstanceAttribute(this.near,this.far)}});this.instances.push(C)}};LQ.prototype.addWall=async function(){this.instances.forEach(o=>{let A=new lm.Primitive({geometryInstances:o,appearance:new lm.MaterialAppearance({material:new lm.Material({fabric:{source:this.fs,uniforms:{u_wallColor:this.color.withAlpha(.5),u_moveColor:this.color}}})})});this.collection.add(A)})};LQ.prototype.getShader=function(){this.fs=put.replace("{speed}",this._speed.toFixed(1))};var mut=LQ;var Lc=null;function TE(o,A){Lc=A,this._viewer=o,this._cesium=A,this._Color=new In(this._viewer,this._cesium),this._core=new $i(o,A),this._getPosition=new kl(this._viewer,this._cesium),this._tree=Ke,this._polylines=[],this.Streamerpath=new gut(this._viewer,this._cesium),this.Streamerwall=new mut(this._viewer,this._cesium)}TE.prototype.createPathLayer=function(o={}){var A={color:o.color||"#0033FF",width:o.width||5,pointColor:o.pointColor||"#FFFFFF",id:o.id||this._core.getuid(),near:o.near,far:o.far,speed:o.speed||1};let f=Lc.GeoJsonDataSource.load(o.url),m=[],C=[];f.then(x=>{let y=x.entities.values;for(let I=0;I<y.length;I++){let v=y[I];v.polyline?(C.push(v.polyline.positions.getValue()),m=m.concat(C[C.length-1])):v.polygon&&(C.push(v.polygon.hierarchy.getValue().positions),m=m.concat(C[C.length-1]))}this.boundingSphere=Lc.BoundingSphere.fromPoints(m),m=null,this.Streamerpath.create({positions:C,...A})}),this.updateLayer=(x={})=>{A=this._core.extend(A,x,!0,!0),this.Streamerpath.removeAll(),this.Streamerpath.create({positions:C,...A})};var E={id:A.id,name:"\u65B0\u5EFA\u6D41\u5149\u7EBF\u56FE\u5C42",pId:0,type:"TrailLineLayer",item:this};return this.setTreeobj(E),this._tree.insertGroupId(E,0),this};TE.prototype.createWallLayer=function(o={}){var A={color:o.color||"#0000ff",id:o.id||this._core.getuid(),speed:o.speed,height:o.height,minHeight:o.minHeight,near:o.near,far:o.far};let f=Lc.GeoJsonDataSource.load(o.url),m=[],C=[];f.then(x=>{let y=x.entities.values;for(let I=0;I<y.length;I++){let v=y[I];v.polyline?(C.push(v.polyline.positions.getValue()),m=m.concat(C[C.length-1])):v.polygon&&(C.push(v.polygon.hierarchy.getValue().positions),m=m.concat(C[C.length-1]))}this.boundingSphere=Lc.BoundingSphere.fromPoints(m),m=null,this.Streamerwall.create({positions:C,...A})}),this.updateLayer=(x={})=>{A=this._core.extend(A,x,!0,!0),this.Streamerwall.removeAll(),this.Streamerwall.create({positions:C,...A})};var E={id:A.id,name:"\u65B0\u5EFA\u6D41\u52A8\u5899\u56FE\u5C42",pId:0,type:"TrailLineLayer",item:this};return this.setTreeobj(E),this._tree.insertGroupId(E,0),this};TE.prototype.createPath=function(o,A,f){!f&&(f={}),typeof f=="number"&&(f={time:f});var m={time:3e3,LineColor:this._core.defaultValue(f.color,"#ff0000"),LinkImage:this._core.defaultValue(f.url,window.SmartEarthRootUrl+Zr.TrailLine),height:5e4,num:100,width:2,LightSpot:!1,alpha:.3};m=this._core.extend(m,f,!0);var C=Boe({Cesium:Lc,color:Lc.Color.fromCssColorString(m.LineColor),image:m.LinkImage,time:m.time,alpha:m.alpha,lightSpot:m.LightSpot,lightSpotColor:Lc.Color.fromCssColorString(m.lightSpotColor||m.LineColor),twoColor:!!m.twoColor,color1:m.twoColor&&m.twoColor.color1&&Lc.Color.fromCssColorString(m.twoColor.color1),color2:m.twoColor&&m.twoColor.color2&&Lc.Color.fromCssColorString(m.twoColor.color2)});let E=new Lc.PrimitiveCollection;this._viewer.scene.primitives.add(E),this._polylines.push(E);let x=f.inflow,y,I;for(var v=0;v<A.length;v++){x?(y=A[v],I=o):(I=A[v],y=o);for(var B=this.parabolaEquation({pt1:y,pt2:I,height:m.height,num:m.num}),Q=[],T=0;T<B.length;T++)Q.push(B[T][0],B[T][1],B[T][2]);E.add(this.getPolylinePrimitive(Q,C,m))}this.pathMaterial=C;var w={id:this._core.getuid(),name:"\u65B0\u5EFA\u6D41\u52A8\u8DEF\u5F84",pId:0,type:"TrailLinePrimitive",item:this};return this.setTreeobj(w),this._tree.insertGroupId(w,0),this};TE.prototype.getPolylinePrimitive=function(o,A,f={}){let m=f.clampToGround?Lc.GroundPolylineGeometry:Lc.PolylineGeometry,C=new m({positions:typeof o[0]=="object"?o:Lc.Cartesian3.fromDegreesArrayHeights(o),width:f.width}),E=new Lc.GeometryInstance({geometry:C,attributes:{distanceDisplayCondition:new Lc.DistanceDisplayConditionGeometryInstanceAttribute(f.near,f.far)}}),x=f.clampToGround?Lc.GroundPolylinePrimitive:Lc.Primitive;return new x({geometryInstances:E,appearance:new Lc.PolylineMaterialAppearance({material:A})})};TE.prototype.createFlyingLine=function(o,A={}){var f={time:3e3,color:"#ffffff",width:1,alpha:0};f=this._core.extend(f,A,!0);var m=Boe({Cesium:Lc,lightSpotColor:Lc.Color.fromCssColorString(f.color),time:f.time,alpha:f.alpha,lightSpot:!0});let C=new Lc.PrimitiveCollection;this._viewer.scene.primitives.add(C),this._polylines.push(C);let E;o.forEach(y=>{E=[y.lon,y.lat,f.minHeight,y.lon,y.lat,y.height],C.add(this.getPolylinePrimitive(E,m,f))});var x={id:this._core.getuid(),name:"\u65B0\u5EFA\u5782\u76F4\u98DE\u7EBF",pId:0,type:"TrailLinePrimitive",item:this};return this.setTreeobj(x),this._tree.insertGroupId(x,0),this};TE.prototype.createLine=function(o,A){!A&&(A={}),typeof A=="number"&&(A={time:A});var f={time:3e3,LineColor:this._core.defaultValue(A.color,"#ff0000"),LinkImage:this._core.defaultValue(A.url,window.SmartEarthRootUrl+Zr.TrailLine),height:5e4,width:10,LightSpot:!1,alpha:.3};f=this._core.extend(f,A,!0);var m=Boe({Cesium:Lc,color:Lc.Color.fromCssColorString(f.LineColor),image:f.LinkImage,time:f.time,alpha:f.alpha,lightSpot:f.LightSpot,lightSpotColor:Lc.Color.fromCssColorString(f.lightSpotColor||f.LineColor),twoColor:!!f.twoColor,color1:f.twoColor&&f.twoColor.color1&&Lc.Color.fromCssColorString(f.twoColor.color1),color2:f.twoColor&&f.twoColor.color2&&Lc.Color.fromCssColorString(f.twoColor.color2)}),C=[];if(!o[0].x&&!o[0].y){if(o[0].length===2)for(var E=0;E<o.length;E++)C.push(this._cesium.Cartesian3.fromDegrees(o[E][0],o[E][1]));else if(o[0].length===3)for(var E=0;E<o.length;E++)C.push(this._cesium.Cartesian3.fromDegrees(o[E][0],o[E][1],o[E][2]))}else if(o[0].z!==void 0)if(o[0].x>=-180&&o[0].x<=180)for(var E=0;E<o.length;E++)C.push(this._cesium.Cartesian3.fromDegrees(o[E].x,o[E].y,o[E].z));else C=o;else for(var E=0;E<o.length;E++)C.push(this._cesium.Cartesian3.fromDegrees(o[E].x,o[E].y));let x=this._viewer.scene.primitives.add(this.getPolylinePrimitive(C,m,f));this._polylines.push(x);var y={id:this._core.getuid(),name:"\u65B0\u5EFA\u6D41\u52A8\u7EBF",pId:0,type:"TrailLinePrimitive",item:this};return this.setTreeobj(y),this._tree.insertGroupId(y,0),this};TE.prototype.createWall=function(o,A){var f=this;!A&&(A={}),typeof A=="number"&&(A={time:A});var m={time:9e3,LineColor:this._core.defaultValue(A.color,this._cesium.Color.ORANGE),LinkImage:this._core.defaultValue(A.url,window.SmartEarthRootUrl+Zr.colors3)};m=this._core.extend(m,A,!0);var C=new DT(m.LineColor,m.LinkImage,m.time||9e3,f._cesium),E=[];if(!o[0].x&&!o[0].y){if(o[0].length===2)for(var x=0;x<o.length;x++)E.push(this._cesium.Cartesian3.fromDegrees(o[x][0],o[x][1]));else if(o[0].length===3)for(var x=0;x<o.length;x++)E.push(this._cesium.Cartesian3.fromDegrees(o[x][0],o[x][1],o[x][2]))}else if(o[0].z!==void 0)if(o[0].x>=-180&&o[0].x<=180)for(var x=0;x<o.length;x++)E.push(this._cesium.Cartesian3.fromDegrees(o[x].x,o[x].y,o[x].z));else E=o;else for(var x=0;x<o.length;x++)E.push(this._cesium.Cartesian3.fromDegrees(o[x].x,o[x].y));this._polylines.push(this._viewer.entities.add({name:"WallTrail",wall:{positions:E,material:C,maximumHeights:m.maximumHeights,minimumHeights:m.minimumHeights}}));var y={id:this._core.getuid(),name:"\u65B0\u5EFA\u6D41\u52A8\u5899",pId:0,type:"TrailLinePrimitive",item:this};return this.setTreeobj(y),this._tree.insertGroupId(y,0),this};TE.prototype.parabolaEquation=function(o,A){var f=this._core.defaultValue(o.height,5e3),m=Math.abs(o.pt1.lon-o.pt2.lon)>Math.abs(o.pt1.lat-o.pt2.lat)?Math.abs(o.pt1.lon-o.pt2.lon):Math.abs(o.pt1.lat-o.pt2.lat),C=o.num&&o.num>50?o.num:50,E=[],x=m/C,y=o.pt1.height||0,I=o.pt2.height||0;if(Math.abs(o.pt1.lon-o.pt2.lon)>Math.abs(o.pt1.lat-o.pt2.lat)){var v=(o.pt2.lat-o.pt1.lat)/C;o.pt1.lon-o.pt2.lon>0&&(x=-x);for(var B=0;B<=C;B++){var Q=f-Math.pow(-.5*m+Math.abs(x)*B,2)*4*f/Math.pow(m,2)+y+(I-y)*B/C,T=o.pt1.lon+x*B,w=o.pt1.lat+v*B;E.push([T,w,Q])}}else{var S=(o.pt2.lon-o.pt1.lon)/C;o.pt1.lat-o.pt2.lat>0&&(x=-x);for(var B=0;B<=C;B++){var Q=f-Math.pow(-.5*m+Math.abs(x)*B,2)*4*f/Math.pow(m,2)+y+(I-y)*B/C,T=o.pt1.lon+S*B,w=o.pt1.lat+x*B;E.push([T,w,Q])}}return A!=null&&(A=E),E};TE.prototype.setThisPosition=function(o,A){if(this.pathMaterial){var f=this._cesium.Cartesian3.fromDegrees(o[0].lon,o[0].lat),m=this._cesium.Cartesian3.fromDegrees(o[1].lon,o[1].lat),C=this._cesium.Cartesian3.fromDegrees(A.lon,A.lat),E=this._core.getSpaceDistancem([f,m],this._cesium),x=this._core.getSpaceDistancem([f,C],this._cesium);this.pathMaterial.setScale(x/E)}};TE.prototype.clear=function(){if(this._polylines.length>0)for(var o=0;o<this._polylines.length;o++)this._polylines[o]instanceof Lc.Entity?this._viewer.entities.remove(this._polylines[o]):this._viewer.scene.primitives.remove(this._polylines[o]);this._polylines=[],this.Streamerpath.removeAll(),this.Streamerwall.removeAll()};TE.prototype.setTreeobj=function(o){this.treeobj=o};TE.prototype.deleteObject=function(){this.clear()};TE.prototype.setVisibility=function(o){if(this._polylines.length>0)for(var A=0;A<this._polylines.length;A++)this._polylines[A].show=o;this.Streamerpath.show(o),this.Streamerwall.show(o)};Object.defineProperties(TE.prototype,{show:{get:function(){return this._polylines.length>0?this._polylines[0].show:!1},set:function(o){if(this._polylines.length>0)for(var A=0;A<this._polylines.length;A++)this._polylines[A].show=o}}});var KT=TE;var VLi=`uniform sampler2D reflexImage; uniform sampler2D normalMap; uniform vec4 baseWaterColor; uniform vec4 blendColor; uniform float frequency; uniform float animationSpeed; uniform float amplitude; uniform float specularIntensity; uniform float fadeFactor; uniform vec4 sizeAndVelocity; czm_material czm_getMaterial(czm_materialInput materialInput) { float width = sizeAndVelocity.x; float height = sizeAndVelocity.y; float vx = sizeAndVelocity.z; float vy = sizeAndVelocity.w; czm_material material = czm_getDefaultMaterial(materialInput); float time = czm_frameNumber * animationSpeed; // fade is a function of the distance from the fragment and the frequency of the waves float fade = max(1.0, (length(materialInput.positionToEyeEC) / 10000000000.0) * frequency * fadeFactor); // note: not using directional motion at this time, just set the angle to 0.0; vec2 st = materialInput.st * vec2(width, height) / 100.0 * frequency; st -= vec2(vx*time, vy*time); vec4 noise = czm_getWaterNoise(normalMap, st, time, 0.0); vec3 normalTangentSpace = noise.xyz * vec3(1.0, 1.0, (1.0 / amplitude)); // fade out the normal perturbation as we move further from the water surface normalTangentSpace.xy /= fade; normalTangentSpace = normalize(normalTangentSpace); // get ratios for alignment of the new normal vector with a vector perpendicular to the tangent plane float tsPerturbationRatio = clamp(dot(normalTangentSpace, vec3(0.0, 0.0, 1.0)), 0.0, 1.0); // base color is a blend of the water and non-water color based on the value from the specular map // may need a uniform blend factor to better control this vec2 v = gl_FragCoord.xy / czm_viewport.zw; v.y = 1.0 - v.y; material.diffuse = texture(reflexImage, v + noise.xy*0.03).rgb; // diffuse highlights are based on how perturbed the normal is material.diffuse += (0.1 * tsPerturbationRatio); material.diffuse = mix(baseWaterColor.rgb, material.diffuse, blendColor.rgb); material.normal = normalize(materialInput.tangentToEyeMatrix * normalTangentSpace); material.specular = specularIntensity; material.shininess = 10.0; material.alpha = baseWaterColor.a * blendColor.a; return material; }`,Cut=VLi;function QC(o){this._viewer=o.viewer,this._scene=this._viewer.scene,this._context=this._scene.context,this._waterPositionWC=void 0,this.waterPositionWC=oe(o.waterCenter,void 0),this._fb=new hc({depthStencil:!0}),this._waterPosition=void 0,this._waterMatrix=void 0,this._show=oe(o.show,!0),this._debugShow=oe(o.debug,!1),this._frequency=oe(o.frequency,5e3),this._amplitude=oe(o.amplitude,2),this._animationSpeed=oe(o.animationSpeed,.05),this._baseWaterColor=oe(o.baseWaterColor,new Ve(.2,.3,.6,1)),this._blendColor=oe(o.blendColor,new Ve(.5,.5,.5,.7)),this._fadeFactor=oe(o.fadeFactor,1),this._specularIntensity=oe(o.specularIntensity,.5),this._near=oe(o.near,0),this._far=oe(o.far,5e3);let A=vr.clone(this._scene.defaultView.viewport);A.x=0,A.y=0,A.width=this._context.drawingBufferWidth,A.height=this._context.drawingBufferHeight,this._reflexCamera=new Ls(this._scene),this._waterOffScreenView=new d8(this._scene,this._reflexCamera,A),this.addWaterMaterial(),this.clearCommand=new Yu({color:new Ve(1,1,1,1),depth:1,owner:this}),this._scene.preRender.addEventListener(()=>{this.update()}),this.waterPrimitives=[],this.updateModelLayerClippingPlanes(),this._debugShow&&this.createDebugView()}var zLi=new Nw({pass:Ad.RENDER}),YLi=new Ve(0,0,0,0),gMe=new Z,pMe=new Z,Xae=new Z(0,0,1),JLi=new Z;QC.prototype.update=function(){if(!this.show)return;let o=this._scene.camera.positionWC;if(Z.distance(o,this.waterPositionWC)>this._far)return;if(gMe=Z.subtract(this.waterPositionWC,o,gMe),pMe=Re.multiplyByPointAsVector(this.waterMatrix,Xae,pMe),Z.dot(gMe,pMe)>0){this._fb.clear(this._scene.context,this.clearCommand);return}let f=this._waterOffScreenView;this._scene.view=f;let m=f.viewport;m.x=0,m.y=0,m.width=this._context.drawingBufferWidth,m.height=this._context.drawingBufferHeight;let C=this._scene.globe.depthTestAgainstTerrain;this._scene.globe.depthTestAgainstTerrain=!1,this._scene.jobScheduler.disableThisFrame(),this.updateReflexCamera(),this._scene.initializeOffScreenFrame();let E=this.begin(m);this._scene.updateFrameState(),this.setClipPlane(),this._scene.clearPasses(this._scene.frameState.passes),this._scene.frameState.passes.render=!0,this._scene.frameState.tilesetPassState=zLi,this._scene.frameState.passes.offscreen=!0,this._context.uniformState.update(this._scene.frameState),this._scene.updateEnvironment(),this._scene.updateAndExecuteCommands(E,YLi),this._scene.resolveFramebuffers(E),this.end(),this._context.endFrame(),this.resetClipPlane(),this._scene.globe.depthTestAgainstTerrain=C};QC.prototype.setClipPlane=function(){let o=new Wf({modelMatrix:this.waterMatrix,planes:[new g0(Xae,0)]});this.oldGlobeClippingPlanes=this._scene.globe.clippingPlanes,this._scene.globe.clippingPlanes=o,this.oldModelClippingPlanesArr=[];let A=this._scene.primitives;for(let m=0;m<A.length;m++){let C=A.get(m);if(!(C instanceof _f)){if(C instanceof mp){let E=Rt.fromCartesian(Re.getTranslation(C.modelMatrix,JLi)),x=new Wf({planes:[new g0(Xae,E.height-this.waterPosition.height)]});this.oldModelClippingPlanesArr.push({model:C,clippingPlanes:C.clippingPlanes}),C.clippingPlanes=x}}}let f=this._viewer.entities.values;for(let m=0;m<f.length;m++){let C=f[m];if(!O(C.model))continue;let E=Rt.fromCartesian(C.position._value),x=new Wf({planes:[new g0(Xae,E.height-this.waterPosition.height)]});this.oldModelClippingPlanesArr.push({model:C.model,clippingPlanes:C.model.clippingPlanes}),C.model.clippingPlanes=x}};QC.prototype.resetClipPlane=function(){this._scene.globe.clippingPlanes=this.oldGlobeClippingPlanes;for(let o=0;o<this.oldModelClippingPlanesArr.length;o++){let A=this.oldModelClippingPlanesArr[o];A.model instanceof _f||A.model instanceof mp&&(A.model.clippingPlanes=A.clippingPlanes)}};QC.prototype.begin=function(o){return this._fb.update(this._context,o.width,o.height),this._scene.view.passState.framebuffer=this._fb.framebuffer,vr.clone(o,this._scene.view.passState.viewport),this._scene.view.passState};QC.prototype.end=function(){for(let o=0;o<this.waterPrimitives.length;o++){let A=this.waterPrimitives[o];A.appearance.material.uniforms.reflexImage=this._fb.getColorTexture(0)}this._debugShow&&this._debugViewportQuad&&(this._debugViewportQuad.material.uniforms.image=this._fb.getColorTexture(0))};QC.prototype.updateReflexCamera=function(){Ls.clone(this._scene.defaultView.camera,this._reflexCamera);let o=this._reflexCamera.positionCartographic,A=this._reflexCamera.pitch,f=this._reflexCamera.heading,m=this._reflexCamera.roll;this._reflexCamera.setView({destination:Z.fromRadians(o.longitude,o.latitude,2*this.waterHeight-o.height),orientation:{heading:f,pitch:-A,roll:m}})};var bKi=new zt,QKi=new ca(Z.UNIT_Z,0),SKi=new Z;QC.prototype.updateModelLayerClippingPlanes=function(){let o=this._scene.primitives;for(let A=0;A<o.length;A++){let f=o.get(A);if(f instanceof _f&&!O(f.clippingPlanes)){let m=new Wf;f.clippingPlanes=m}}};QC.prototype.addWaterMaterial=function(){if(go.WaterReflectionType="WaterRefection",!O(go._materialCache.getMaterial(go.WaterReflectionType))){let o=this;go._materialCache.addMaterial(go.WaterReflectionType,{fabric:{type:go.WaterReflectionType,uniforms:{baseWaterColor:o.baseWaterColor,blendColor:o.blendColor,reflexImage:go.DefaultImageId,normalMap:go.DefaultImageId,frequency:o.frequency,animationSpeed:o.animationSpeed,amplitude:o.amplitude,specularIntensity:o.specularIntensity,fadeFactor:o.fadeFactor,sizeAndVelocity:new zt(100,100,10,0)},source:Cut},translucent:function(A){let f=A.uniforms;return f.baseWaterColor.alpha<1||f.blendColor.alpha<1}})}};QC.prototype.createWaterMaterial=function(o){let A=this;return go.fromType(go.WaterReflectionType,{normalMap:ja("Assets/Textures/waterNormals.jpg"),frequency:A.frequency,animationSpeed:A.animationSpeed,amplitude:A.amplitude})};QC.prototype.createWaterPolygon=function(o,A,f,m){let C=new yn(o,A),E,x;f?(x=mA,E=Xb):(x=mA,E=ra);let y=new x({vertexFormat:$c.MaterialSupport.ALL.vertexFormat,polygonHierarchy:C,height:m}),I=new E({geometryInstances:new kn({geometry:y,attributes:{distanceDisplayCondition:new aA(this._near,this._far)}}),appearance:new $c({materialSupport:$c.MaterialSupport.ALL})});return I.appearance.material=this.createWaterMaterial(),this.waterPrimitives.push(I),I};QC.prototype.showWaterPolygon=function(o){for(let A of this.waterPrimitives)A.show=o};Object.defineProperties(QC.prototype,{waterHeight:{get:function(){return this.waterPosition.height}},baseWaterColor:{set:function(o){this._baseWaterColor=o},get:function(){return this._baseWaterColor}},blendColor:{set:function(o){this._blendColor=o},get:function(){return this._blendColor}},show:{get:function(){return this._show},set:function(o){this._show!==o&&(this._show=o,this.showWaterPolygon(o))}},frequency:{set:function(o){this._frequency=o},get:function(){return this._frequency}},animationSpeed:{get:function(){return this._animationSpeed},set:function(o){this._animationSpeed=o}},amplitude:{get:function(){return this._amplitude},set:function(o){this._amplitude=o}},fadeFactor:{get:function(){return this._fadeFactor},set:function(o){this._fadeFactor=o}},specularIntensity:{get:function(){return this._specularIntensity},set:function(o){this._specularIntensity=o}},waterPosition:{get:function(){return O(this._waterPosition)||(this._waterPosition=Rt.fromCartesian(this.waterPositionWC)),this._waterPosition}},waterPositionWC:{set:function(o){this._waterPositionWC=o},get:function(){return this._waterPositionWC}},waterMatrix:{get:function(){return O(this._waterMatrix)||(this._waterMatrix=kr.eastNorthUpToFixedFrame(this.waterPositionWC)),this._waterMatrix}}});QC.prototype.createDebugView=function(){let o=go.fromType("Image");this._debugViewportQuad=new ioe(new vr(0,0,500,400)),this._debugViewportQuad.material=o,this._scene.primitives.add(this._debugViewportQuad)};QC.prototype.isDestroyed=function(){return!1};QC.prototype.destroy=function(){return this._fb.destroy(),Ar(this)};var Zae=QC;var AA=null;function xk(o,A){AA=A,this._earthCtrl=o,this._viewer=o.viewer,this._core=new $i(o.viewer,AA),this._tree=Ke}xk.prototype.createPolygonLayer=function(o={}){let A={color:o.color||"rgba(135,206,235,0.6)",image:o.image||window.SmartEarthRootUrl+Zr.water,height:o.height,extrudedHeight:o.extrudedHeight,frequency:o.frequency||1e3,speed:o.speed||10,amplitude:o.amplitude||10,near:o.near,far:o.far,id:o.id||this._core.getuid()},f=AA.Color.fromCssColorString(A.color),m=AA.GeoJsonDataSource.load(o.url),C=new AA.PrimitiveCollection;m.then(x=>{let y=x.entities.values;for(let I=0;I<y.length;I++){let v=y[I];this.addPolygon(C,v,A)}}),this.item=this._viewer.scene.primitives.add(C);var E={id:A.id,name:"\u65B0\u5EFA\u6C34\u9762\u56FE\u5C42",pId:0,type:"polygonLayer",item:this};return this.setTreeobj(E),this._tree.insertGroupId(E,0),this};xk.prototype.addPolygon=async function(o,A,f){let m=AA.EllipsoidSurfaceAppearance.VERTEX_FORMAT,C=AA.Color.fromCssColorString(f.color),E=new AA.PolygonGeometry({polygonHierarchy:A.polygon.hierarchy.getValue(),extrudedHeight:f.extrudedHeight,height:f.height,vertexFormat:m}),x=new AA.GeometryInstance({geometry:E,id:A,attributes:{color:AA.ColorGeometryInstanceAttribute.fromColor(C),distanceDisplayCondition:new AA.DistanceDisplayConditionGeometryInstanceAttribute(f.near,f.far)}}),y;!f.height&&!f.extrudedHeight?y=AA.GroundPrimitive:y=AA.Primitive;let I=new y({geometryInstances:x,appearance:new AA.EllipsoidSurfaceAppearance({material:new AA.Material({fabric:{type:"Water",uniforms:{baseWaterColor:C,blendColor:C,normalMap:f.image,frequency:f.frequency,animationSpeed:f.speed/1e3,amplitude:f.amplitude}}})}),classificationType:f.classificationType});o.add(I)};xk.prototype.createReflexPolygonLayer=function(o){let f={viewer:this._earthCtrl.viewer,baseWaterColor:AA.defaultValue(o.baseWaterColor,new AA.Color(.2,.3,.6,1)),blendColor:AA.defaultValue(o.blendColor,new AA.Color(.5,.5,.5,.7)),animationSpeed:AA.defaultValue(o.animationSpeed,.05),amplitude:AA.defaultValue(o.amplitude,2),frequency:AA.defaultValue(o.frequency,5e3),specularIntensity:AA.defaultValue(o.specularIntensity,.5),fadeFactor:AA.defaultValue(o.fadeFactor,1),sizeAndVelocity:o.sizeAndVelocity||new AA.Cartesian4(100,100,10,0),width:AA.defaultValue(o.width,100),height:AA.defaultValue(o.height,100),waterHeight:AA.defaultValue(o.waterHeight,0),near:o.near,far:o.far,id:AA.defaultValue(o.id,this._core.getuid()),waterCenter:o.waterCenter,clampToGround:AA.defaultValue(o.clampToGround,!1)},m=AA.GeoJsonDataSource.load(o.url),C=new AA.PrimitiveCollection;m.then(x=>{let y=new Zae(f),I=x.entities.values;for(let v=0;v<I.length;v++){let B=I[v];if(!AA.defined(B.polygon))continue;let Q=B.polygon.hierarchy.getValue().positions,T=B.polygon.hierarchy.getValue().holes;C.add(y.createWaterPolygon(Q,T,f.clampToGround,f.waterHeight))}}),f.clampToGround?this.item=this._viewer.scene.groundPrimitives.add(C):this.item=this._viewer.scene.primitives.add(C);let E={id:f.id,name:"\u65B0\u5EFA\u6C34\u9762\u56FE\u5C42",pId:0,type:"polygonLayer",item:this};return this.setTreeobj(E),this._tree.insertGroupId(E,0),this};xk.prototype.setTreeobj=function(o){this.treeobj=o};xk.prototype.deleteObject=function(){try{this._viewer.scene.primitives.remove(this.item)}catch(o){console.log(o)}};xk.prototype.setVisibility=function(o){this.item&&(this.item.show=o)};var $ae=xk;var Eut=`// author: \u5F20\u4E39\u948A uniform vec4 color; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 st = materialInput.st; material.diffuse = czm_gammaCorrect(color.rgb); material.alpha = color.a * pow(1.0 - st.t, 2.0); material.emission = vec3(0.2); return material; }`;var xut=`// author: \u5F20\u4E39\u948A uniform vec4 color; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 st = materialInput.st; float powerRatio = fract(czm_frameNumber / 30.0) + 1.0; float alpha = pow(1.0 - st.t, powerRatio); material.diffuse = czm_gammaCorrect(color.rgb); material.alpha = alpha * color.a; material.emission = vec3(0.2); return material; }`;var yut=`// author: \u5F20\u4E39\u948A uniform sampler2D image; uniform vec4 color; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 v_st = materialInput.st; float dt = fract(czm_frameNumber / 90.0); vec2 st = fract(vec2(1.0) + v_st - vec2(dt, dt)); vec4 imageColor = texture(image, st); vec3 diffuse = imageColor.rgb; float alpha = imageColor.a; diffuse *= color.rgb; alpha *= color.a; diffuse *= color.rgb; alpha *= color.a; material.diffuse = diffuse; material.alpha = alpha * pow(1.0 - v_st.t, 2.0); material.emission = vec3(0.2); return material; }`;var Fc=null;function e1(o,A){Fc=A,this._viewer=o,this._core=new $i(o,A),this.angle=0,this.multiple=1,this.destroyed=!1,this.type="cylinder",this.show=!0}e1.prototype.createCylinder=function(o={}){this.type="cylinder",this.radius=o.radius||500,this.length=o.length||100,this.number=o.number||30,this.multiple=o.multiple||1,this.near=o.near,this.far=o.far;let A=Fc.Color.fromCssColorString(o.color||"#80ccff");this.scale=[this.radius,this.radius,this.length],this.color=[A.red,A.green,A.blue,A.alpha],this.geometryValue=this.getCylinderGeometryValue(1,1,1,this.number),this.modelMatrix=Fc.Transforms.eastNorthUpToFixedFrame(Fc.Cartesian3.fromDegrees(o.position.lon,o.position.lat,o.position.height));let f=new Fc.GeometryInstance({geometry:this.getGeometry(this.geometryValue),modelMatrix:this.modelMatrix});return this.cylinder=new Fc.Primitive({geometryInstances:f,appearance:this.getAppearance(),asynchronous:!1}),this._viewer.scene.primitives.add(this),this};e1.prototype.createCone=function(o={}){this.type="cone",this.radius=o.radius||500,this.length=o.length||100,this.near=o.near,this.far=o.far;let A=Fc.Color.fromCssColorString(o.color||"#80ccff");this.scale=[this.radius,this.radius,this.length],this.color=[A.red,A.green,A.blue,A.alpha],this.geometryValue=this.getCylinderGeometryValue(2,.3,1,6),this.modelMatrix=Fc.Transforms.eastNorthUpToFixedFrame(Fc.Cartesian3.fromDegrees(o.position.lon,o.position.lat,o.position.height));let f=new Fc.GeometryInstance({geometry:this.getGeometry(this.geometryValue),modelMatrix:this.modelMatrix});return this.cylinder=new Fc.Primitive({geometryInstances:f,appearance:this.getAppearance(),asynchronous:!1}),Fc.Resource.createIfNeeded(SmartEarthRootUrl+Zr.particles).fetchImage().then(m=>{let C=this.getCylinderGeometryValue(4,4,1,6),E=new Fc.GeometryInstance({geometry:this.getGeometry(C),modelMatrix:this.modelMatrix});this.cylinder1=new Fc.Primitive({geometryInstances:E,appearance:new Fc.EllipsoidSurfaceAppearance({material:new Fc.Material({fabric:{uniforms:{image:m,color:new Fc.Color(this.color[0],this.color[1],this.color[2],0)},source:yut}}),renderState:{cull:{enabled:!1}}}),asynchronous:!1}),setTimeout(()=>{this.cylinder1.appearance.material.uniforms.color.alpha=2})}),this._viewer.scene.primitives.add(this),this};e1.prototype.getAppearance=function(){if(this.type==="cylinder")return new Fc.EllipsoidSurfaceAppearance({material:new Fc.Material({fabric:{uniforms:{color:new Fc.Color(...this.color)},source:Eut}}),renderState:{cull:{enabled:!1}}});if(this.type==="cone")return new Fc.EllipsoidSurfaceAppearance({material:new Fc.Material({fabric:{uniforms:{color:new Fc.Color(...this.color)},source:xut}}),renderState:{cull:{enabled:!1}}})};e1.prototype.getGeometry=function(o){return this._core.customGeometry({scale:this.scale,boundingSphere:new Fc.BoundingSphere(new Fc.Cartesian3(0,0,0),1),...JSON.parse(JSON.stringify(o))})};e1.prototype.getCylinderGeometryValue=function(o=1,A=1,f=1,m=30){let C=[o,0],E=[A,0],x=Fc.Math.toRadians(360/m),y=1/m,I=[],v=[0,1,m+1,1,m+2,m+1],B=[];I[0]=C[0],I[1]=C[1],I[2]=0,I[(m+1)*3]=E[0],I[(m+1)*3+1]=E[1],I[(m+1)*3+2]=f,B[0]=0,B[1]=0,B[(m+1)*2]=0,B[(m+1)*2+1]=1;for(let Q=1,T=0,w=0,S,D;Q<=m;Q++)T=x*Q,w=y*Q,S=C[0]*Math.cos(T)-C[1]*Math.sin(T),D=C[1]*Math.cos(T)+C[0]*Math.sin(T),I[Q*3]=S,I[Q*3+1]=D,I[Q*3+2]=0,S=E[0]*Math.cos(T)-E[1]*Math.sin(T),D=E[1]*Math.cos(T)+E[0]*Math.sin(T),I[(m+1)*3+Q*3]=S,I[(m+1)*3+Q*3+1]=D,I[(m+1)*3+Q*3+2]=f,B[Q*2]=w,B[Q*2+1]=0,B[(m+1)*2+Q*2]=w,B[(m+1)*2+Q*2+1]=1,v.push(Q,Q+1,m+Q+1,Q+1,m+Q+2,m+Q+1);return{position:I,st:B,indices:v}};e1.prototype.update=function(o){if(this.cylinder&&this.show){if(this.type==="cylinder"){typeof this.dt>"u"&&(this.dt=0),this.dt+=.01*.3*this.multiple,this.dt>1&&(this.dt=0);let A=(1-Math.cos(this.dt*Math.PI*2))*.5;this.scale[0]=this.scale[1]=this.radius*(1-Math.cos(this.dt*Math.PI))*.5,this.scale[2]=this.length*A,this.color[3]=2*A;let f=new Fc.GeometryInstance({geometry:this.getGeometry(this.geometryValue),modelMatrix:this.modelMatrix});this.cylinder.destroy(),this.cylinder=new Fc.Primitive({geometryInstances:f,appearance:this.getAppearance(),asynchronous:!1}),f=null}this.cylinder.update(o),this.cylinder1&&this.cylinder1.update(o)}};e1.prototype.isDestroyed=function(){return this.destroyed};e1.prototype.destroy=function(){this.cylinder&&this.cylinder.destroy(),this.cylinder=null,this.cylinder1&&this.cylinder1.destroy(),this.cylinder1=null,this.destroyed=!0};e1.prototype.deleteObject=function(){this._viewer.scene.primitives.remove(this)};e1.prototype.setVisibility=function(o){this.show=o};var gH=e1;var Iut=`// author: \u5F20\u4E39\u948A uniform float angle; uniform sampler2D image; uniform vec4 color; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 st = materialInput.st; // \u65CB\u8F6C st.x = st.x - 0.5; st.y = st.y - 0.5; if(st.x * st.x + st.y * st.y <= 0.25){ float x = st.x * cos(angle) - st.y * sin(angle); float y = st.y * cos(angle) + st.x * sin(angle); st.x = x + 0.5; st.y = y + 0.5; } else { st.x = st.x + 0.5; st.y = st.y + 0.5; } material.diffuse = czm_gammaCorrect(texture(image, st).rgb * color.rgb); material.alpha = texture(image, st).a * color.a; material.emission = vec3(0.2); return material; }`;var ig=null;function t1(o,A){ig=A,this._viewer=o,this._core=new $i(o,A),this.angle=0,this.multiple=1,this.destroyed=!1,this.type="rotate",this.show=!0}t1.prototype.createRotateCircle=function(o={}){this.type="rotate",this.radius=this._core.defaultValue(o.radius,500),this.multiple=this._core.defaultValue(o.multiple,1),this.scale=[this.radius,this.radius,1];let A=ig.Color.fromCssColorString(o.color||"#80ccff");return this.color=[A.red,A.green,A.blue],this.clampToGround=o.clampToGround,this.position=o.position,this.image=o.image,!o.image&&(this.image=o.scan?SmartEarthRootUrl+Zr.scanCircle:SmartEarthRootUrl+Zr.effectCircle),o.scan&&(this.multiple=-this.multiple),ig.Resource.createIfNeeded(this.image).fetchImage().then(f=>{this.image=f;let m=this.clampToGround?ig.GroundPrimitive:ig.Primitive;this.circle=new m({geometryInstances:this.getInstances(),appearance:this.getAppearance(),asynchronous:!1}),setTimeout(()=>{this.circle.appearance.material.uniforms.color.alpha=2})}),this._viewer.scene.primitives.add(this),this};t1.prototype.createDRWCircle=function(o={}){this.type="DRW",this.radius=this._core.defaultValue(o.radius,50),this.multiple=this._core.defaultValue(o.multiple,5),this.scale=[this.radius,this.radius,1];let A=ig.Color.fromCssColorString(o.color||"#80ccff");this.color=[A.red,A.green,A.blue],this.clampToGround=o.clampToGround,this.position=o.position;let f=document.createElement("canvas");f.width=512,f.height=512;let m=f.getContext("2d"),C=m.createRadialGradient(256,256,0,256,256,256);C.addColorStop(.1,"rgba(255, 255, 255, 1.0)"),C.addColorStop(.2,"rgba(255, 255, 255, 0.0)"),C.addColorStop(.3,"rgba(255, 255, 255, 0.9)"),C.addColorStop(.5,"rgba(255, 255, 255, 0.0)"),C.addColorStop(.9,"rgba(255, 255, 255, 0.2)"),C.addColorStop(1,"rgba(255, 255, 255, 1.0)"),m.clearRect(0,0,512,512),m.strokeStyle="rgb(255, 255, 255)",m.setLineDash([80,80]),m.lineWidth=30,m.arc(256,256,180,0,Math.PI*2,!0),m.stroke(),m.beginPath(),m.arc(256,256,256,0,Math.PI*2,!0),m.fillStyle=C,m.fill(),m.restore(),this.image=f;let E=this.clampToGround?ig.GroundPrimitive:ig.Primitive;return this.circle=new E({geometryInstances:this.getInstances(),appearance:this.getAppearance(),asynchronous:!1}),setTimeout(()=>{this.circle.appearance.material.uniforms.color.alpha=2}),this._viewer.scene.primitives.add(this),this};t1.prototype.getInstances=function(){if(this.clampToGround){let o=ig.Cartesian3.fromDegrees(this.position.lon,this.position.lat,this.position.height),A=this._core.setPositionOffset(o,{x:-this.scale[0],y:-this.scale[1],z:0}),f=this._core.setPositionOffset(o,{x:this.scale[0],y:this.scale[1],z:0});return new ig.GeometryInstance({geometry:new ig.RectangleGeometry({rectangle:ig.Rectangle.fromCartesianArray([A,f])}),modelMatrix:this.modelMatrix})}else return this.modelMatrix=ig.Transforms.eastNorthUpToFixedFrame(ig.Cartesian3.fromDegrees(this.position.lon,this.position.lat,this.position.height)),new ig.GeometryInstance({geometry:this.getGeometry(),modelMatrix:this.modelMatrix})};t1.prototype.getGeometry=function(){return this._core.customGeometry({scale:this.scale,position:[-1,-1,0,1,-1,0,1,1,0,-1,1,0],st:[0,0,1,0,1,1,0,1],indices:[0,1,2,0,2,3],boundingSphere:new ig.BoundingSphere(new ig.Cartesian3(0,0,0),1)})};t1.prototype.getAppearance=function(){return new ig.EllipsoidSurfaceAppearance({material:new ig.Material({fabric:{uniforms:{image:this.image,angle:this.angle,color:new ig.Color(...this.color,0)},source:Iut}})})};t1.prototype.update=function(o){this.circle&&this.show&&(this.circle.appearance.material.uniforms.angle=ig.Math.toRadians(this.angle+=this.multiple),this.circle.update(o))};t1.prototype.isDestroyed=function(){return this.destroyed};t1.prototype.destroy=function(){this.circle&&this.circle.destroy(),this.circle=null,this.destroyed=!0};t1.prototype.deleteObject=function(){this._viewer.scene.primitives.remove(this)};t1.prototype.setVisibility=function(o){this.show=o};var pH=t1;var ru=null;function Kx(o,A,f){ru=f,this.show=!0,this._position=ru.Cartesian3.fromDegrees(A.position.lon,A.position.lat,A.position.height),this._command=void 0,this._outlineCommand=void 0,this._angle=0,this._viewer=o,this._speed=vf(A.multiple,1),this._color=vf(A.color,"#80ccff"),this._color=ru.Color.fromCssColorString(this._color).withAlpha(.5),this._outlineColor=vf(A.outlineColor,"#ffff00"),this._outlineColor=ru.Color.fromCssColorString(this._outlineColor),this._scale=vf(A.scale,new ru.Cartesian3(1,1,1)),this._modelMatrix=this.computeModelMatrix(),this._height=0,this.animate=vf(A.animate,!0),o.scene.primitives.add(this)}Kx.prototype.update=function(o){if(!!this.show&&(ru.defined(this._command)||(this._command=this.createCommand(o.context)),ru.defined(this._outlineCommand)||(this._outlineCommand=this.createCommand(o.context,!0)),o.commandList.push(this._command,this._outlineCommand),this.animate)){this._angle+=.01,this._angle>1&&(this._angle=0),this._height=Math.sin(this._angle*Math.PI*2)*.04;let A=new ru.Cartesian3(0,0,this._height);ru.Matrix4.multiplyByTranslation(this._modelMatrix,A,this._modelMatrix);let f=ru.Matrix4.fromRotationTranslation(ru.Matrix3.fromRotationZ(ru.Math.toRadians(this._speed*4)));ru.Matrix4.multiply(this._modelMatrix,f,this._modelMatrix)}};Kx.prototype.isDestroyed=function(){return!1};Kx.prototype.destroy=function(){return ru.defined(this._command)&&(this._command.shaderProgram=this._command.shaderProgram&&this._command.shaderProgram.destroy()),ru.defined(this._outlineCommand)&&(this._outlineCommand.shaderProgram=this._outlineCommand.shaderProgram&&this._outlineCommand.shaderProgram.destroy()),ru.destroyObject(this)};Kx.prototype.startAnimate=function(){this.animate=!0};Kx.prototype.closeAnimate=function(){this.animate=!1};Kx.prototype.deleteObject=function(){this.destroy()};Kx.prototype.setVisibility=function(o){this.show=o};Kx.prototype.createCommand=function(o,A){let f=!0,m=!0;var C=ru.Appearance.getDefaultRenderState(f,m,void 0),E=new ru.RenderState(C);let x={position:0,textureCoordinates:1};var y=ru.ShaderProgram.fromCache({context:o,vertexShaderSource:this.createVertexShader(),fragmentShaderSource:this.createFragmentShader(),attributeLocations:x});let I=A?this._outlineColor:this._color;return new ru.DrawCommand({pickId:"Tetrahedron",vertexArray:this.createVertexArray(o,A),primitiveType:A?ru.PrimitiveType.LINES:ru.PrimitiveType.TRIANGLES,renderState:E,shaderProgram:y,uniformMap:{color:()=>I},owner:this,pass:ru.Pass.TRANSLUCENT,modelMatrix:this._modelMatrix,boundingVolume:new ru.BoundingSphere(this._position,1)})};Kx.prototype.createVertexArray=function(o,A=!1){let f={position:0,textureCoordinates:1};var m=this.cereatePositionsAndIndice(A),C=new ru.Geometry({attributes:{position:new ru.GeometryAttribute({componentDatatype:ru.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:m.positions}),textureCoordinates:new ru.GeometryAttribute({componentDatatype:ru.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:m.sts})},indices:m.indices,primitiveType:ru.PrimitiveType.TRIANGLES,boundingSphere:ru.BoundingSphere.fromVertices(m.positions)}),E=ru.GeometryPipeline.computeNormal(C),x=ru.VertexArray.fromGeometry({context:o,geometry:E,attributeLocations:f,bufferUsage:ru.BufferUsage.STATIC_DRAW});return x};Kx.prototype.cereatePositionsAndIndice=function(o=!1){return{indices:o?[0,1,0,1,2,1,2,3,2,3,0,3,0,4,0,1,4,1,2,4,2,3,4,3]:[0,1,4,1,2,4,2,3,4,3,0,4],positions:[1,0,1.5,0,1,1.5,-1,0,1.5,0,-1,1.5,0,0,0],sts:[]}};Kx.prototype.createVertexShader=function(){var o=`in vec3 position; void main() { gl_Position = czm_modelViewProjection * vec4(position, 1.0); } `;return o};Kx.prototype.createFragmentShader=function(){var o=`uniform vec4 color; void main() { out_FragColor = color; } `;return o};Kx.prototype.computeModelMatrix=function(){let o=ru.Transforms.eastNorthUpToFixedFrame(this._position),A=ru.Matrix4.fromScale(this._scale);return ru.Matrix4.multiply(o,A,new ru.Matrix4)};var ese=Kx;var _0=null;function _ut(o,A){_0=A,this._viewer=o,this._cesium=A,this._core=new $i(o,A),_0.GeoWTFS||new Ep(!1).addJs(document.body,window.SmartEarthRootUrl+"Workers/cesiumTdt.js")}_ut.prototype.GeoWTFS=function(o){!o&&(o={});var A=o.token||"c53eb074c3fcba5ac86103d4d711bbe8",f=o.url||"https://t{s}.tianditu.gov.cn/",m={viewer:this._viewer,subdomains:_0.defaultValue(o.subdomains,["0","1","2","3","4","5","6","7"]),metadata:{boundBox:{minX:-180,minY:-90,maxX:180,maxY:90},minLevel:1,maxLevel:20},aotuCollide:!0,collisionPadding:[5,10,8,5],serverFirstStyle:!0,labelGraphics:{font:"28px sans-serif",fontSize:28,fillColor:_0.Color.WHITE,scale:.5,outlineColor:_0.Color.BLACK,outlineWidth:5,style:_0.LabelStyle.FILL_AND_OUTLINE,showBackground:!1,backgroundColor:_0.Color.RED,backgroundPadding:new _0.Cartesian2(10,10),horizontalOrigin:_0.HorizontalOrigin.LEFT,verticalOrigin:_0.VerticalOrigin.BOTTOM,eyeOffset:_0.Cartesian3.ZERO,pixelOffset:new _0.Cartesian2(0,8),heightReference:1,disableDepthTestDistance:Number.POSITIVE_INFINITY},billboardGraphics:{horizontalOrigin:_0.HorizontalOrigin.RIGHT,verticalOrigin:_0.VerticalOrigin.BOTTOM,eyeOffset:_0.Cartesian3.ZERO,pixelOffset:_0.Cartesian2.ZERO,alignedAxis:_0.Cartesian3.ZERO,color:_0.Color.WHITE,rotation:0,scale:1,width:18,height:18,heightReference:1,disableDepthTestDistance:Number.POSITIVE_INFINITY}};o=this._core.extend(m,o,!0);var C=new _0.GeoWTFS(o);return C.getTileUrl=function(){return f+"mapservice/GetTiles?lxys={z},{x},{y}&tk="+A},C.getIcoUrl=function(){return f+"mapservice/GetIcon?id={id}&tk="+A},C.initTDT([{x:6,y:1,level:2,boundBox:{minX:90,minY:0,maxX:135,maxY:45}},{x:7,y:1,level:2,boundBox:{minX:135,minY:0,maxX:180,maxY:45}},{x:6,y:0,level:2,boundBox:{minX:90,minY:45,maxX:135,maxY:90}},{x:7,y:0,level:2,boundBox:{minX:135,minY:45,maxX:180,maxY:90}},{x:5,y:1,level:2,boundBox:{minX:45,minY:0,maxX:90,maxY:45}},{x:4,y:1,level:2,boundBox:{minX:0,minY:0,maxX:45,maxY:45}},{x:5,y:0,level:2,boundBox:{minX:45,minY:45,maxX:90,maxY:90}},{x:4,y:0,level:2,boundBox:{minX:0,minY:45,maxX:45,maxY:90}},{x:6,y:2,level:2,boundBox:{minX:90,minY:-45,maxX:135,maxY:0}},{x:6,y:3,level:2,boundBox:{minX:90,minY:-90,maxX:135,maxY:-45}},{x:7,y:2,level:2,boundBox:{minX:135,minY:-45,maxX:180,maxY:0}},{x:5,y:2,level:2,boundBox:{minX:45,minY:-45,maxX:90,maxY:0}},{x:4,y:2,level:2,boundBox:{minX:0,minY:-45,maxX:45,maxY:0}},{x:3,y:1,level:2,boundBox:{minX:-45,minY:0,maxX:0,maxY:45}},{x:3,y:0,level:2,boundBox:{minX:-45,minY:45,maxX:0,maxY:90}},{x:2,y:0,level:2,boundBox:{minX:-90,minY:45,maxX:-45,maxY:90}},{x:0,y:1,level:2,boundBox:{minX:-180,minY:0,maxX:-135,maxY:45}},{x:1,y:0,level:2,boundBox:{minX:-135,minY:45,maxX:-90,maxY:90}},{x:0,y:0,level:2,boundBox:{minX:-180,minY:45,maxX:-135,maxY:90}}]),C};var tse=_ut;var ha=null;function Gl(o,A){ha=A,this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._tree=Ke,this.positions=[],this.objId=Number(new Date().getTime()+""+Number(Math.random()*1e3).toFixed(0)),this.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),this.modifyHandler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),this.style=null,this.state=0,this.gonCircleArr=[],this.gonPointStretchingArr=[],this.topRadius=0,this.bottomRadius=0,this.length=50}Gl.prototype.createCone=function(o,A,f,m){var C={length:4e5,topRadius:0,bottomRadius:2e5,material:this._cesium.Color.GREEN},E=this._core.extend(C,A,!0);this.item=this._viewer.entities.add({name:f,position:this._cesium.Cartesian3.fromDegrees(o[0],o[1],o[1]),cylinder:E});var x={id:this.item.id,name:f,pId:this._core.isnull(m)?0:m,type:"cylinder",item:this};return this.setTreeobj(x),this._tree.insertGroupId(x,this._core.isnull(m)?0:m),this};Gl.prototype.getstyles=function(){var o={};return o.show=this.item.cylinder.show?this.item.cylinder.show._value:!0,o.length=this.item.cylinder.length?this.item.cylinder.length.getValue():void 0,o.topRadius=this.item.cylinder.topRadius?this.item.cylinder.topRadius.getValue():void 0,o.bottomRadius=this.item.cylinder.bottomRadius?this.item.cylinder.bottomRadius.getValue():void 0,o.heightReference=this.item.cylinder.heightReference&&this.item.cylinder.heightReference._value?this.item.cylinder.heightReference._value:void 0,o.fill=this.item.cylinder.fill&&this.item.cylinder.fill._value?this.item.cylinder.fill._value:void 0,o.material={},o.material.color=this.item.cylinder.material&&this.item.cylinder.material.color&&this.item.cylinder.material.color._value?"rgba"+this.item.cylinder.material.color.toString():void 0,o.material.image=this.item.cylinder.material&&this.item.cylinder.material.image&&this.item.cylinder.material.image._value?this.item.cylinder.material.image._value:void 0,o.material.repeat=this.item.cylinder.material&&this.item.cylinder.material.repeat&&this.item.cylinder.material.repeat._value?this.item.cylinder.material.repeat._value:void 0,o.outline=this.item.cylinder.outline?this.item.cylinder.outline._value:void 0,o.outlineWidth=this.item.cylinder.outlineWidth&&this.item.cylinder.outlineWidth._value?this.item.cylinder.outlineWidth._value:void 0,o.outlineColor=this.item.cylinder.outlineColor&&this.item.cylinder.outlineColor&&this.item.cylinder.outlineColor._value?"rgba"+this.item.cylinder.outlineColor.toString():void 0,o.near=this.item.cylinder.distanceDisplayCondition?this.item.cylinder.distanceDisplayCondition._value.near:void 0,o.far=this.item.cylinder.distanceDisplayCondition?this.item.cylinder.distanceDisplayCondition._value.far:void 0,o.position=this.item.position.getValue().toString(),o};Gl.prototype.createRectangularSensor=function(o,A,f,m){var C=this;!A&&(A={});var E=this._core.defaultValue(A.radius,100),x={radii:new this._cesium.Cartesian3(E,E,E),maximumCone:this._cesium.Math.toRadians(90),material:this._cesium.Color.AQUAMARINE.withAlpha(.3),outline:!0,outlineColor:this._cesium.Color.AQUAMARINE.withAlpha(.5),outlineWidth:1},y=this._core.extend(x,A,!0);typeof A.color=="string"&&(y.material=this._cesium.Color.fromCssColorString(A.color)),typeof A.outlineColor=="string"&&(y.outlineColor=this._cesium.Color.fromCssColorString(A.outlineColor));var I=0,v=this.calcPoints(o[0],o[1],o[2],E,I);this.wall=[];var B=this._viewer.entities.add({polygon:{hierarchy:new this._cesium.CallbackProperty(function(){return new C._cesium.PolygonHierarchy(C._cesium.Cartesian3.fromDegreesArrayHeights(v))},!1),perPositionHeight:!0,material:this._core.defaultValue(A.wallColor&&this._cesium.Color.fromCssColorString(A.wallColor),this._cesium.Color.AQUAMARINE.withAlpha(.5)),outline:!0,outlineColor:this._core.defaultValue(A.wallOutlineColor&&this._cesium.Color.fromCssColorString(A.wallOutlineColor),this._cesium.Color.RED.withAlpha(.5))}});if(this.wall.push(B),y.angle){var Q=this.calcPoints(o[0],o[1],o[2],E,I+y.angle),T=this._viewer.entities.add({polygon:{hierarchy:new this._cesium.CallbackProperty(function(){return new C._cesium.PolygonHierarchy(C._cesium.Cartesian3.fromDegreesArrayHeights(Q))},!1),perPositionHeight:!0,material:this._core.defaultValue(A.wallColor&&this._cesium.Color.fromCssColorString(A.wallColor),this._cesium.Color.AQUAMARINE.withAlpha(.5)),outline:!0,outlineColor:this._core.defaultValue(A.wallOutlineColor&&this._cesium.Color.fromCssColorString(A.wallOutlineColor),this._cesium.Color.RED.withAlpha(.5))}});this.wall.push(T);var w=this._viewer.entities.add({position:this._cesium.Cartesian3.fromDegrees(o[0],o[1],o[2]),ellipsoid:{radii:y.radii,minimumClock:this._cesium.Math.toRadians(0),maximumClock:this._cesium.Math.toRadians(y.angle),maximumCone:this._cesium.Math.toRadians(90),material:this._core.defaultValue(A.surfaceColor&&this._cesium.Color.fromCssColorString(A.surfaceColor),this._cesium.Color.RED.withAlpha(.5))},orientation:new C._cesium.CallbackProperty(function(){return C._cesium.Transforms.headingPitchRollQuaternion(C._cesium.Cartesian3.fromDegrees(o[0],o[1],o[2]),new C._cesium.HeadingPitchRoll(C._cesium.Math.toRadians(-I),0,0))},!1)});this.wall.push(w)}this.item=this._viewer.entities.add({position:this._cesium.Cartesian3.fromDegrees(o[0],o[1],o[2]),ellipsoid:y});var S=this._core.defaultValue(y.speed,1);this._viewer.clock.onTick.addEventListener(function(){I+=.1*S,v=C.calcPoints(o[0],o[1],o[2],E,I),Q&&(Q=C.calcPoints(o[0],o[1],o[2],E,I+y.angle))});var D={id:this.item.id,name:f,pId:this._core.isnull(m)?0:m,type:"cylinder",item:this};return this.setTreeobj(D),this._tree.insertGroupId(D,this._core.isnull(m)?0:m),this};Gl.prototype.computeCirclularFlight=function(o,A,f,m,C,E,x){var y=[];y.push(o),y.push(A),y.push(C);for(var I=this._cesium.Cartesian3.distance(this._cesium.Cartesian3.fromDegrees(o,A,C),this._cesium.Cartesian3.fromDegrees(f,m,C)),v=E;v<=E+x;v++){var B=I*Math.sin(v*Math.PI/180),Q=Math.cos(v*Math.PI/180),T=(f-o)*Q+o,w=(m-A)*Q+A;y.push(T),y.push(w),y.push(B+C)}return y};Gl.prototype.calcPoints=function(o,A,f,m,C){var E=this._cesium.Transforms.eastNorthUpToFixedFrame(this._cesium.Cartesian3.fromDegrees(o,A,f)),x=m*Math.cos(C*Math.PI/180),y=m*Math.sin(C*Math.PI/180),I=this._cesium.Cartesian3.fromElements(x,y,0),v=this._cesium.Matrix4.multiplyByPoint(E,I,new this._cesium.Cartesian3),B=this._cesium.Cartographic.fromCartesian(v),Q=this._cesium.Math.toDegrees(B.longitude),T=this._cesium.Math.toDegrees(B.latitude);return this.computeCirclularFlight(o,A,Q,T,f,0,90)};Gl.prototype.createRadarMaskScan=function(o,A,f,m){var C=this;!f&&(f={});var E=this._core.defaultValue(f.radius,100),x=this._core.defaultValue(f.yaw,0),y=this._core.defaultValue(f.angle,60),I=f.innerOutline,v={subdivisions:6,stackPartitions:30,slicePartitions:30,innerRadii:new this._cesium.Cartesian3(.5,.5,.5),radii:new ha.CallbackProperty(function(){return new ha.Cartesian3(E,E,E)},!1),maximumCone:this._cesium.Math.toRadians(this._core.defaultValue(f.maxLat,105)),minimumCone:this._cesium.Math.toRadians(this._core.defaultValue(f.minLat,75)),minimumClock:new ha.CallbackProperty(function(){return ha.Math.toRadians(x)},!1),maximumClock:new ha.CallbackProperty(function(){return ha.Math.toRadians(x+y)},!1),material:this._cesium.Color.AQUAMARINE.withAlpha(.3),outline:!I,outlineColor:this._cesium.Color.AQUAMARINE.withAlpha(.5),outlineWidth:1},B=this._core.extend(v,f,!0);typeof f.color=="string"&&(B.material=this._cesium.Color.fromCssColorString(f.color)),typeof f.outlineColor=="string"&&(B.outlineColor=this._cesium.Color.fromCssColorString(f.outlineColor));let Q,T,w=A instanceof ha.Entity?A:void 0;if(w?(Q=new ha.CallbackProperty(()=>{let L=w.position.getValue(this._viewer.clock.currentTime.clone());if(f.offset){let F=w.orientation.getValue(this._viewer.clock.currentTime.clone()),k;if(F){let N=ha.Matrix3.fromQuaternion(F),G=ha.Matrix4.fromRotationTranslation(N,L);k=ha.Transforms.fixedFrameToHeadingPitchRoll(G)}L=C._core.setPositionOffset(L,f.offset,k)}return L},!1),T=new ha.CallbackProperty(()=>w.orientation.getValue(this._viewer.clock.currentTime.clone()),!1)):Q=ha.Cartesian3.fromDegrees(A[0],A[1],A[2]),f.trackedEntity){let L,F,k,N,G,J=(B.maximumCone-B.minimumCone)/2;T=new ha.CallbackProperty(()=>(F=f.trackedEntity.position.getValue(this._viewer.clock.currentTime.clone()),L=Q.getValue?Q.getValue():Q,G=this._core.twoPointsHeadingPitchRoll(this._viewer,L,F),E=G.radius,k=G.heading-Math.PI/2,N=G.pitch-J,ha.Transforms.headingPitchRollQuaternion(L,new ha.HeadingPitchRoll(k,N,0))),!1)}var S=0,D=this._core.defaultValue(f.scanAngle,15);this._scan=this._viewer.entities.add({position:Q,orientation:T,ellipsoid:{...B,minimumClock:new ha.CallbackProperty(function(){return ha.Math.toRadians(x+S)},!1),maximumClock:new ha.CallbackProperty(function(){return ha.Math.toRadians(x+S+D)},!1),outline:I,material:this._core.defaultValue(f.scanColor&&this._cesium.Color.fromCssColorString(f.scanColor),this._cesium.Color.RED.withAlpha(.5))}}),this.item=this._viewer.entities.add({position:Q,orientation:T,ellipsoid:B});var R=this._core.defaultValue(B.speed,1);function P(){S+=.1*R,S<=0&&R<0?(S=0,R=-R):S>=y-D&&R>0&&(S=y-D,R=-R)}this._viewer.clock.onTick.addEventListener(P),this.setRadarMaskValue=(L,F)=>{L==="yaw"?x=F:L==="angle"?y=F>360?360:F:L==="radius"?E=F:L==="scanAngle"?D=F>y?y:F:L==="speed"&&(R=F)},this.deleteObject=()=>{let L=this._viewer;L.entities.remove(this.item),L.entities.remove(this._scan),this._viewer.clock.onTick.removeEventListener(P)};var M={id:this.item.id,name:o,pId:this._core.isnull(m)?0:m,type:"ellipsoid",item:this};return this.setTreeobj(M),this._tree.insertGroupId(M,this._core.isnull(m)?0:m),this};Gl.prototype.ConicSensor=function(o,A,f={}){var m=ha.Cartesian3.distance(o,A),C=(f.angle||10)/2,E={innerRadii:new this._cesium.Cartesian3(2,2,2),radii:new ha.CallbackProperty(function(){return new ha.Cartesian3(m,m,m)},!1),outline:f.outline,material:ha.Color.RED.withAlpha(.2),outlineColor:ha.Color.WHITE.withAlpha(.2),maximumCone:ha.Math.toRadians(-C),minimumCone:ha.Math.toRadians(C)};f.color&&(E.material=ha.Color.fromCssColorString(f.color)),f.outlineColor&&(E.outlineColor=ha.Color.fromCssColorString(f.outlineColor));let x=this._core.toDegrees(o),y=this._core.toDegrees(A),I,v,B=0;this.item=this._viewer.entities.add({position:o,ellipsoid:E});let Q=()=>{I=this._core.TwoPointAzimuth(x.lon,x.lat,y.lon,y.lat)+90,v=Math.acos((y.height-x.height)/m),v=ha.Math.toDegrees(v),this.item.orientation=ha.Transforms.headingPitchRollQuaternion(o,new ha.HeadingPitchRoll(ha.Math.toRadians(this._core.defaultValue(I,0)),ha.Math.toRadians(this._core.defaultValue(v,0)),ha.Math.toRadians(this._core.defaultValue(B,0))))};Q();var T={id:this.item.id,name:"\u9525\u5F62\u4F20\u611F\u5668",pId:0,type:"ellipsoid",item:this};return this.setTreeobj(T),this._tree.insertGroupId(T,0),this.changeStart=w=>{o=w,x=this._core.toDegrees(o),this.item.position=o,m=ha.Cartesian3.distance(o,A),Q()},this.changeEnd=w=>{A=w,y=this._core.toDegrees(A),m=ha.Cartesian3.distance(o,A),Q()},this.changeAngle=w=>{C=w/2,this.item.ellipsoid.maximumCone=ha.Math.toRadians(-C),this.item.ellipsoid.minimumCone=ha.Math.toRadians(C)},this};Gl.prototype.createRadarMask=function(o,A,f,m){var C=this;!f&&(f={});var E=this._core.defaultValue(f.radius,100),x=this._core.defaultValue(f.yaw,0),y=this._core.defaultValue(f.angle,60),I={innerRadii:new this._cesium.Cartesian3(2,2,2),radii:new this._cesium.Cartesian3(E,E,E),maximumCone:this._cesium.Math.toRadians(this._core.defaultValue(f.maxLat,105)),minimumCone:this._cesium.Math.toRadians(this._core.defaultValue(f.minLat,75)),minimumClock:this._cesium.Math.toRadians(x),maximumClock:this._cesium.Math.toRadians(x+y),material:this._cesium.Color.AQUAMARINE.withAlpha(.3),outline:!1,outlineColor:this._cesium.Color.AQUAMARINE.withAlpha(.5),outlineWidth:1},v=this._core.extend(I,f,!0);typeof f.color=="string"&&(v.material=this._cesium.Color.fromCssColorString(f.color)),typeof f.outlineColor=="string"&&(v.outlineColor=this._cesium.Color.fromCssColorString(f.outlineColor)),this.item=this._viewer.entities.add({position:A,ellipsoid:v});var B={id:this.item.id,name:o,pId:this._core.isnull(m)?0:m,type:"ellipsoid",item:this};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),this};Gl.prototype.createConeRadar=function(o,A){!A&&(A={});var f=this;f.lon=o[0],f.lat=o[1],f.height=this._core.defaultValue(o[2],3e3),this.planePosition=null,this.halfLen=f.height/2,this.lengthl=f.height,this.geoD=new this._cesium.EllipsoidGeodesic,this.startPt=this._cesium.Cartographic.fromDegrees(f.lon,f.lat,0),this.changenum=0,this.curCanvas="a";var m=this._viewer.scene.globe.getHeight(this.startPt)||0,C=this._cesium.Color.fromCssColorString(f._core.defaultValue(A.color,"#0000ff"));function E(){return f.lon>o[0]+.01&&f.lat<o[1]+.005?f.lat+=1e-5:f.lat>o[1]+.005&&f.lon>o[0]?f.lon-=1e-5:f.lon<=o[0]&&f.lat>o[1]?f.lat-=1e-5:f.lon+=1e-5,f.planePosition=f._cesium.Cartesian3.fromDegrees(f.lon,f.lat,f.height/2),f.planePosition}function x(){var v=ha.Cartographic.fromDegrees(f.lon,o[1],0);f.geoD.setEndPoints(f.startPt,v);var B=f.geoD.surfaceDistance,Q=Math.atan(B/f.halfLen),T=ha.Cartographic.fromDegrees(f.lon,f.lat,0);f.geoD.setEndPoints(f.startPt,T),B=f.geoD.surfaceDistance,f.lengthl=Math.sqrt(B*B+f.halfLen*f.halfLen);var w=ha.Cartographic.fromDegrees(o[0],f.lat,0);f.geoD.setEndPoints(f.startPt,w),B=f.geoD.surfaceDistance;var S=Math.asin(B/f.lengthl),D=new ha.HeadingPitchRoll(0,Q,S),R=ha.Transforms.headingPitchRollQuaternion(f.planePosition,D);return R}function y(){return 2*f.lengthl}this.item=this._viewer.entities.add({name:"Red cone",position:A.rotate?new this._cesium.CallbackProperty(E,!1):f._cesium.Cartesian3.fromDegrees(f.lon,f.lat,(f.height+m)/2),orientation:A.rotate?new this._cesium.CallbackProperty(x,!1):void 0,cylinder:{length:A.rotate?new f._cesium.CallbackProperty(y,!1):f.height-m,topRadius:0,bottomRadius:f._core.defaultValue(A.radius,300),bottomSurface:!1,material:f._core.getConeRadarMaterial(A.color)}});var I={id:this._core.getuid(),name:"\u65B0\u5EFA\u536B\u661F\u96F7\u8FBE",pId:0,type:"ConeRadar",item:this};return this.setTreeobj(I),this._tree.insertGroupId(I,0),this};Gl.prototype.setLength=function(o){try{this.item._cylinder.length=o}catch(A){console.log(A)}return this};Gl.prototype.createCylinderOptimization=function(o,A){this.style=o;var f=this;this.handler.setInputAction(function(m){var C=f.getCatesian3FromPX(m.position,f._viewer,[f.circle]);f.positions.length==0&&f.positions.push(C.clone()),f.positions.push(C);var E=f.createPoint(C,!1);f.gonCircleArr.length>0&&(f.positions.pop(),f.state=1,f.handler.destroy());var x=f.createPointStretching(C,!1);x.wq=f.gonCircleArr.length,f.gonPointStretchingArr.push(x),E.wz=f.gonCircleArr.length,f.gonCircleArr.push(E)},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.handler.setInputAction(function(m){if(!(f.positions.length<1)){var C=f.getCatesian3FromPX(m.endPosition,f._viewer,[f.circle]);if(f.positions.length==2&&!f._cesium.defined(f.circle)){var E=f._cesium.Cartographic.fromCartesian(f.positions[0]),x=f._cesium.Math.toDegrees(E.longitude),y=f._cesium.Math.toDegrees(E.latitude),I=f._cesium.Cartographic.fromCartesian(f.positions[1]),v=f._cesium.Math.toDegrees(I.longitude),B=f._cesium.Math.toDegrees(I.latitude);f.topRadius=pd(y,x,B,v),f.bottomRadius=pd(y,x,B,v),f.circle=f.createCylinder(f.style),f.circle.objId=f.objId}if(f.circle){f.positions.pop(),f.positions.push(C);var E=f._cesium.Cartographic.fromCartesian(f.positions[0]),x=f._cesium.Math.toDegrees(E.longitude),y=f._cesium.Math.toDegrees(E.latitude),I=f._cesium.Cartographic.fromCartesian(f.positions[1]),v=f._cesium.Math.toDegrees(I.longitude),B=f._cesium.Math.toDegrees(I.latitude);f.topRadius=pd(y,x,B,v),f.bottomRadius=pd(y,x,B,v)}}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE)};Gl.prototype.startModify=function(){var o="\u62D6\u52A8\u4FEE\u6539\u4F4D\u7F6E";if(!(this.state!=2&&this.state!=1)){this.modifyHandler||(this.modifyHandler=new ha.ScreenSpaceEventHandler(this._viewer.scene.canvas));for(var A=this,f=0;f<A.gonCircleArr.length;f++){var m=A.gonCircleArr[f];m&&(m.show=!0)}if(A.gonPointStretchingArr.length>0)for(var f=0;f<A.gonPointStretchingArr.length;f++){var m=A.gonPointStretchingArr[f];m&&(m.show=!0)}this.modifyHandler.setInputAction(function(C){var E=A._viewer.scene.pick(C.position);if(ha.defined(E)&&E.id)E.id.objId||(A.modifyPoint=E.id,o="\u91CA\u653E\u540E\u5B8C\u6210\u4FEE\u6539"),A.forbidDrawWorld(!0);else{for(var x=0;x<A.gonCircleArr.length;x++){var y=A.gonCircleArr[x];y&&(y.show=!1)}if(A.gonPointStretchingArr.length>0)for(var x=0;x<A.gonPointStretchingArr.length;x++){var y=A.gonPointStretchingArr[x];y&&(y.show=!1)}A.modifyHandler&&(A.modifyHandler.destroy(),A.modifyHandler=null)}A.state=2},ha.ScreenSpaceEventType.LEFT_DOWN),this.modifyHandler.setInputAction(function(C){var E=A._viewer.scene.pick(C.endPosition);if(A._core.CreateTooltip(o,C.endPosition,!1),ha.defined(E)&&E.id&&(E.id.objId||A._core.CreateTooltip(o,C.endPosition,!0)),!(A.positions.length<1||!A.modifyPoint)){var x=A.getCatesian3FromPX(C.endPosition,A._viewer,[A.circle,A.modifyPoint]);if(x)if(A.modifyPoint.wq!=null){var y={x:x.x,y:x.y,z:x.z+ +A.length};if(A.positions[A.modifyPoint.wq]=x,A.modifyPoint.wq==0)A.modifyPoint.position.setValue(y),A.gonCircleArr[A.modifyPoint.wq].position=x;else{var I=A._viewer.scene.pickPosition(C.endPosition),v=A._cesium.Cartographic.fromCartesian(I),B=A._cesium.Math.toDegrees(v.longitude),Q=A._cesium.Math.toDegrees(v.latitude),T=A._cesium.Cartographic.fromCartesian(A.positions[1]),w=A._cesium.Math.toDegrees(T.longitude),S=A._cesium.Math.toDegrees(T.latitude);A.length=pd(Q,B,S,w);var D=A._cesium.Cartographic.fromCartesian(A.gonCircleArr[0].position.getValue()),R=A._cesium.Math.toDegrees(D.longitude),P=A._cesium.Math.toDegrees(D.latitude),M=D.height+A.length,L=A._cesium.Cartesian3.fromDegrees(R,P,M),F=A._cesium.Cartographic.fromCartesian(A.gonCircleArr[1].position.getValue()),k=A._cesium.Math.toDegrees(F.longitude),N=A._cesium.Math.toDegrees(F.latitude),G=F.height+A.length,J=A._cesium.Cartesian3.fromDegrees(k,N,G);A.gonPointStretchingArr[0].position.setValue(L),A.gonPointStretchingArr[1].position.setValue(J)}}else if(A.modifyPoint.position.setValue(x),A.positions[A.modifyPoint.wz]=x,A.gonPointStretchingArr[A.modifyPoint.wz].position={x:x.x,y:x.y,z:x.z+A.length},A.modifyPoint.wz&&A.modifyPoint.wz==0)A.gonCircleArr[1].position={x:A.positions[0].x+A.topRadius,y:A.positions[0].y,z:A.positions[0].z},A.gonPointStretchingArr[1].position={x:A.positions[0].x+A.topRadius,y:A.positions[0].y,z:A.positions[0].z+A.length};else{var v=A._cesium.Cartographic.fromCartesian(A.positions[0]),B=A._cesium.Math.toDegrees(v.longitude),Q=A._cesium.Math.toDegrees(v.latitude),T=A._cesium.Cartographic.fromCartesian(A.positions[A.modifyPoint.wz]),w=A._cesium.Math.toDegrees(T.longitude),S=A._cesium.Math.toDegrees(T.latitude);A.topRadius=pd(Q,B,S,w),A.bottomRadius=pd(Q,B,S,w)}A._core.CreateTooltip(o,C.endPosition,!0)}},ha.ScreenSpaceEventType.MOUSE_MOVE),this.modifyHandler.setInputAction(function(C){!A.modifyPoint||(A.modifyPoint=null,A.forbidDrawWorld(!1),o="\u62D6\u52A8\u4FEE\u6539\u4F4D\u7F6E")},ha.ScreenSpaceEventType.LEFT_UP)}};Gl.prototype.forbidDrawWorld=function(o){this._viewer.scene.screenSpaceCameraController.enableRotate=!o,this._viewer.scene.screenSpaceCameraController.enableTilt=!o,this._viewer.scene.screenSpaceCameraController.enableTranslate=!o,this._viewer.scene.screenSpaceCameraController.enableInputs=!o};Gl.prototype.getCatesian3FromPX=function(o,A,f){var m=A.scene.pick(o),C,E=A.scene.drillPick(o),x=null;if(f){for(var y=0;y<E.length;y++)if(E[y].id._id!=f[0].id&&E[y].id._id!=f[1].id){x=E[y].id;break}}else x=m;if(A.scene.pickPositionSupported&&ha.defined(x))C=A.scene.pickPosition(o);else{var I=A.camera.getPickRay(o);if(!I)return;C=A.scene.globe.pick(I,A.scene)}return C};Gl.prototype.createCylinder=function(o){var A=this;return o.length&&(A.length=o.length),this._viewer.entities.add({position:new A._cesium.CallbackProperty(function(){return A.positions[0]},!1),cylinder:{topRadius:new A._cesium.CallbackProperty(function(){return A.topRadius},!1),bottomRadius:new A._cesium.CallbackProperty(function(){return A.bottomRadius},!1),length:new A._cesium.CallbackProperty(function(){return A.length},!1),material:o.material||ha.Color.WHITE}})};Gl.prototype.createPoint=function(o,A){if(!!o)return this._viewer.entities.add({position:o,point:{pixelSize:10,color:this._cesium.Color.ROYALBLUE,outlineWidth:2,outlineColor:this._cesium.Color.WHITE,heightReference:this._cesium.HeightReference.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY},show:A})};Gl.prototype.createPointStretching=function(o,A){if(!!o){var f=ha.Cartographic.fromCartesian(o),m=ha.Math.toDegrees(f.longitude),C=ha.Math.toDegrees(f.latitude),E=f.height+this.length;return o=ha.Cartesian3.fromDegrees(m,C,E),this._viewer.entities.add({position:o,point:{pixelSize:10,color:ha.Color.fromAlpha(ha.Color.FUCHSIA,.5),outlineWidth:2,outlineColor:ha.Color.fromAlpha(ha.Color.WHITE,.5),heightReference:ha.HeightReference.NONE,disableDepthTestDistance:Number.POSITIVE_INFINITY},show:A})}},Gl.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.item.cylinder.length==null?void 0:this.item.cylinder.length.getValue(),f=this.item.cylinder.topRadius==null?void 0:this.item.cylinder.topRadius.getValue(),m=this.item.cylinder.bottomRadius==null?void 0:this.item.cylinder.bottomRadius.getValue(),C=this.item.cylinder.fill==null?void 0:this.item.cylinder.fill.getValue(),E=this.item.cylinder.material;E!=null&&(E={color:E.color==null?void 0:"rgba("+E.color._value.red+","+E.color._value.green+","+E.color._value.blue+","+E.color._value.alpha+")",image:E.image==null?void 0:E.image._value,diffusemap:E.diffusemap==null?void 0:E.diffusemap._value,alphamap:E.alphamap==null?void 0:E.alphamap._value});var x=this.item.cylinder.outline==null?void 0:this.item.cylinder.outline._value,y=this.item.cylinder.outlineColor==null?void 0:"rgba("+this.item.cylinder.outlineColor._value.red+","+this.item.cylinder.outlineColor._value.green+","+this.item.cylinder.outlineColor._value.blue+","+this.item.cylinder.outlineColor._value.alpha+")",I=this.item.cylinder.outlineWidth==null?void 0:this.item.cylinder.outlineWidth._value,v=this.item.cylinder.numberOfVerticalLines==null?void 0:this.item.cylinder.numberOfVerticalLines._value,B=this.item.cylinder.slices==null?void 0:this.item.cylinder.slices._value,Q=this.item.cylinder.distanceDisplayCondition,T=Q?._value.near,w=Q?._value.far,S=this._cesium.Cartographic.fromCartesian(this.item.position._value),D=this._cesium.Math.toDegrees(S.longitude),R=this._cesium.Math.toDegrees(S.latitude),P=this._cesium.Math.toDegrees(S.height);return{type:"cylinder",position:{x:D,y:R,z:P},treeobj:{id:this.treeobj.id,name:this.treeobj.name,pId:this.treeobj.pId,type:this.treeobj.type},style:{show:o,length:A,topRadius:f,bottomRadius:m,fill:C,material:E,outline:x,outlineColor:y,outlineWidth:I,numberOfVerticalLines:v,slices:B,near:T,far:w}}};Gl.prototype.setTreeobj=function(o){this.treeobj=o};Gl.prototype.setVisibility=function(o){this.item.show=o,this._scan&&(this._scan.show=o),this.wall&&this.wall.forEach(A=>{A.show=o})};Gl.prototype.getVolume=function(){try{var o=0,A=this.item._cylinder.bottomRadius,f=this.item._cylinder.topRadius,m=this.item._cylinder.length;A==0?o=3.14159*A*A*m/3:o=3.14159*A*A*m}catch(C){console.log(C)}return o};Gl.prototype.executeCone=function(o){var A=this;A.shape={tempPoints:[],button:0,position:{}};var f=new this._cesium.ScreenSpaceEventHandler(A._viewer.scene.canvas),m=[],C=void 0,E=[];return f.setInputAction(function(x){var y=A._viewer.scene.camera.pickEllipsoid(x.position,A._viewer.scene.globe.ellipsoid),I=A._cesium.Cartographic.fromCartesian(y),v=A._cesium.Math.toDegrees(I.longitude),B=A._cesium.Math.toDegrees(I.latitude);E.push({lon:v,lat:B});var Q={polyline:{},positions:[],distance:[]};if(A.shape.button==0)m.push(y.clone()),m.push(y),A.shape.position=y,A.cylinder=A._viewer.entities.add({name:"",position:A._cesium.Cartesian3.fromDegrees(E[0].lon,E[0].lat),cylinder:{length:100,show:!0,fill:!0,topRadius:0,bottomRadius:100,material:A._cesium.Color.RED}}),A.item=A.cylinder;else if(A.shape.button==1){var T=pd(E[0].lat,E[0].lon,E[1].lat,E[1].lon);A.item.cylinder.bottomRadius=T}else if(A.shape.button==2){f.destroy();var w=0;!A._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(w=Ke.selectedItem.id);var S=A._core.getuid(),D={id:S,name:"\u65B0\u5EFA\u5706\u9525"+S,pId:A._core.isnull(w)?0:w,type:"cylinder",item:A};this.setTreeobj(D),Ke.insertGroupId(D,A._core.isnull(w)?0:w),typeof o=="function"&&o(Q)}A.shape.button=A.shape.button+1},this._cesium.ScreenSpaceEventType.LEFT_CLICK),f.setInputAction(function(x){if(A.shape.button==2){var y=A._viewer.camera.getPickRay(x.endPosition),I=A._viewer.scene.globe.pick(y,A._viewer.scene);A.item.cylinder.length=I.z}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this};Gl.prototype.executeCylinder=function(o){var A=this;A.shape={tempPoints:[],button:0,position:{}};var f=new this._cesium.ScreenSpaceEventHandler(A._viewer.scene.canvas),m=[],C=void 0,E=[];return f.setInputAction(function(x){var y=A._viewer.scene.camera.pickEllipsoid(x.position,A._viewer.scene.globe.ellipsoid),I=A._cesium.Cartographic.fromCartesian(y),v=A._cesium.Math.toDegrees(I.longitude),B=A._cesium.Math.toDegrees(I.latitude);E.push({lon:v,lat:B});var Q={polyline:{},positions:[],distance:[]};if(A.shape.button==0)m.push(y.clone()),m.push(y),A.shape.position=y,A.cylinder=A._viewer.entities.add({name:"",position:A._cesium.Cartesian3.fromDegrees(E[0].lon,E[0].lat),cylinder:{length:100,topRadius:0,bottomRadius:100,material:A._cesium.Color.RED}}),A.item=A.cylinder;else if(A.shape.button==1){var T=pd(E[0].lat,E[0].lon,E[1].lat,E[1].lon);A.item.cylinder.bottomRadius=T,A.item.cylinder.topRadius=T}else if(A.shape.button==2){f.destroy();var w=0;!A._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(w=Ke.selectedItem.id);var S=A._core.getuid(),D={id:S,name:"\u65B0\u5EFA\u5706\u67F1"+S,pId:A._core.isnull(w)?0:w,type:"cylinder",item:A};A.setTreeobj(D),Ke.insertGroupId(D,A._core.isnull(w)?0:w),typeof o=="function"&&o(Q)}A.shape.button=A.shape.button+1},this._cesium.ScreenSpaceEventType.LEFT_CLICK),f.setInputAction(function(x){if(A.shape.button==2){var y=A._viewer.camera.getPickRay(x.endPosition),I=A._viewer.scene.globe.pick(y,A._viewer.scene);A.item.cylinder.length=I.z}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this};Gl.prototype.setTopRadius=function(o){try{this.item._cylinder.topRadius=o}catch(A){console.log(A)}return this};Gl.prototype.setHeight=function(o){try{var A=this._cesium.Cartesian3.fromDegrees(-94.74211811500844,37.34584317651723,o);this.item._position._value.z=A.z}catch(f){console.log(f)}return this};Gl.prototype.deleteObject=function(){let o=this._viewer;o.entities.remove(this.item),this.wall&&(this.wall.forEach(A=>{o.entities.remove(A)}),this.wall=[])};Gl.prototype.setHeightType=function(o){try{o==1?this.item._cylinder.heightReference=this._cesium.HeightReference.CLAMP_TO_GROUND:o==2?this.item._cylinder.heightReference=this._cesium.HeightReference.NONE:o==3&&(this.item._cylinder.heightReference=this._cesium.HeightReference.RELATIVE_TO_GROUND)}catch(A){console.log(A)}return this};Gl.prototype.setCylinderImage=function(o){try{this.item._cylinder.material=new this._cesium.ImageMaterialProperty({image:o})}catch(A){console.log(A)}return this};Gl.prototype.setCylinderRepeat=function(o,A){try{this.item._cylinder.material.repeat=new this._cesium.Cartesian2(o,A)}catch(f){console.log(f)}return this};Gl.prototype.setDistanceDisplayCondition=function(o,A){var f=new this._cesium.DistanceDisplayCondition(o,A);try{this.item._cylinder.distanceDisplayCondition=f}catch(m){console.log(m)}return this};Gl.prototype.setBottomRadius=function(o){try{this.item._cylinder.bottomRadius=o}catch(A){console.log(A)}return this};Gl.prototype.setShow=function(o){try{this.item._cylinder.show=o}catch(A){console.log(A)}return this};Gl.prototype.setMaterial=function(o){try{this.item._cylinder.material=o}catch(A){console.log(A)}return this};Gl.prototype.setMaterial=function(o){try{this.item._cylinder.material.color=new In(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};Gl.prototype.setMaterialAlpha=function(o){try{this.item._cylinder.material.color._value.alpha=o,this.item._cylinder.show=!0}catch(A){console.log(A)}return this};Gl.prototype.setItem=function(o){this.item=o};Gl.prototype.CreateCone=function(o,A,f,m,C,E,x,y){this._postion=o;var I={topRadius:0,bottomRadius:this._cesium.defaultValue(A,2e4),length:this._cesium.defaultValue(f,4e4),slices:this._cesium.defaultValue(E,128),material:this._cesium.Color.RED,outline:!1,outlineColor:void 0};m&&m!==""&&(I.outlineColor=new In(this._viewer,this._cesium).colorFromHtmlColor(m),I.outline=!0),C&&C!==""&&(I.material=new In(this._viewer,this._cesium).colorFromHtmlColor(C));var v;(o.Yaw||o.Pitch||o.Roll)&&(v=this._cesium.Transforms.headingPitchRollQuaternion(this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(o.Yaw),this._cesium.Math.toRadians(o.Pitch),this._cesium.Math.toRadians(o.Roll)))),this.item=this._viewer.entities.add({name:y,position:this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),cylinder:I,orientation:v});var B={id:this.item.id,name:y,pId:this._core.isnull(x)?0:x,type:"cylinder",item:this};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(x)?0:x),this};Gl.prototype.CreateCylinder=function(o,A,f,m,C,E,x,y){this._postion=o;var I={topRadius:this._cesium.defaultValue(A,2e4),bottomRadius:this._cesium.defaultValue(A,2e4),length:this._cesium.defaultValue(f,4e4),slices:this._cesium.defaultValue(E,128),material:this._cesium.Color.RED,outline:!1,outlineColor:void 0};m&&m!==""&&(I.outlineColor=new In(this._viewer,this._cesium).colorFromHtmlColor(m),I.outline=!0),C&&C!==""&&(I.material=new In(this._viewer,this._cesium).colorFromHtmlColor(C));var v;(o.Yaw||o.Pitch||o.Roll)&&(v=this._cesium.Transforms.headingPitchRollQuaternion(this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(o.Yaw),this._cesium.Math.toRadians(o.Pitch),this._cesium.Math.toRadians(o.Roll)))),this.item=this._viewer.entities.add({name:y,position:this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),cylinder:I,orientation:v});var B={id:this.item.id,name:y,pId:this._core.isnull(x)?0:x,type:"cylinder",item:this};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(x)?0:x),this};Object.defineProperties(Gl.prototype,{Position:{Altitude:{get:function(){return this._postion.Altitude},set:function(o){try{this._postion.Altitude=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},AltitudeType:{get:function(){return this._postion.AltitudeType},set:function(o){try{this._postion.AltitudeType=o}catch(A){console.log(A)}}},Cartesian:{get:function(){return this._postion.Cartesian},set:function(o){try{this._postion.Cartesian=o}catch(A){console.log(A)}}},Distance:{get:function(){return this._postion.Distance},set:function(o){try{this._postion.Distance=o}catch(A){console.log(A)}}},Pitch:{get:function(){return this._postion.Pitch},set:function(o){try{this._postion.Pitch=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}},Roll:{get:function(){return this._postion.Roll},set:function(o){try{this._postion.Roll=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}},X:{get:function(){return this._postion.X},set:function(o){try{this._postion.X=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},Y:{get:function(){return this._postion.Y},set:function(o){try{this._postion.Y=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},Yaw:{get:function(){return this._postion.Yaw},set:function(o){try{this._postion.Yaw=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}}}});var yp=Gl;var Zh=null;function WT(o,A){this._viewer=o,Zh=A,this.item=null}WT.prototype.createRoad=function(o={}){let A={id:o.id||Zh.createGuid(),image:`${window.SmartEarthRootUrl}Workers/image/road.jpg`,height:.15,width:20,repeat:{x:1,y:1},...o};this.options=A;let f=this.getRoadPosition(A.positions,A.width);if(!f)return;let m=this.getRoadTs(f),C=new Zh.GeometryInstance({geometry:new Zh.PolygonGeometry({polygonHierarchy:new Zh.PolygonHierarchy(f),height:A.height,textureCoordinates:new Zh.PolygonHierarchy(m),...A.polygonGeometry})});return this.item=new Zh.Primitive({geometryInstances:C,appearance:new Zh.MaterialAppearance({material:new Zh.Material({fabric:{type:"Image",uniforms:{image:A.image,repeat:this.options.repeat},...A.fabric}})})}),this._viewer.scene.primitives.add(this.item),this};WT.prototype.getRoadPosition=function(o,A){if(o)if(o.length){if(o.length<2)return}else return;else return;let f=[],m=[];for(let I=0;I<o.length;I++){let v=this.toDegrees(o[I]),B=[v.lon,v.lat];f.push(B)}let C=Zh.turf.lineString(f),E=Zh.turf.lineOffset(C,-A/2,{units:"meters"}),x=Zh.turf.lineOffset(C,A/2,{units:"meters"});f=E.geometry.coordinates,this.options.rightRoad=f,f.map(I=>{m.push(I[0],I[1])});let y=x.geometry.coordinates;return this.options.leftRoad=[...y],y.reverse(),y.map(I=>{m.push(I[0],I[1])}),Zh.Cartesian3.fromDegreesArray(m)};WT.prototype.getRoadTs=function(o){let A=[],f=[],m=this.getRoadDistance(o[o.length-1],o[0]),C=0;f.push(new Zh.Cartesian2(0,0)),A.push(new Zh.Cartesian2(1,0));let E=0,x=0;for(let y=1;y<this.options.positions.length;y++){let I=this.getRoadDistance(this.options.positions[y-1],this.options.positions[y]);C+=I,C/m>this.options.repeat.y&&(this.options.repeat.y=C/m)}for(let y=1;y<this.options.leftRoad.length;y++){let I=this.getRoadDistance(this.options.rightRoad[y-1],this.options.rightRoad[y],!0);E+=I;let v=this.getRoadDistance(this.options.leftRoad[y-1],this.options.leftRoad[y],!0);x+=v;let B=E/C>1?1:E/C;f.push(new Zh.Cartesian2(0,B));let Q=x/C>1?1:x/C;A.push(new Zh.Cartesian2(1,Q))}return f.reverse(),A=A.concat(f),A};WT.prototype.getRoadDistance=function(o,A,f=!1){let m,C,E,x;f?(E=Zh.turf.point([o[0],o[1]]),x=Zh.turf.point([A[0],A[1]])):(m=this.toDegrees(o),C=this.toDegrees(A),E=Zh.turf.point([m.lon,m.lat]),x=Zh.turf.point([C.lon,C.lat]));let y={units:"meters"};return Zh.turf.distance(E,x,y)};WT.prototype.toDegrees=function(o){let A=Zh.Cartographic.fromCartesian(o);return{lon:Zh.Math.toDegrees(A.longitude),lat:Zh.Math.toDegrees(A.latitude),hei:A.height}};WT.prototype.destroy=function(){this.item&&this.item.destroy()};WT.prototype.setVisibility=function(o){this.item&&(this.item.show=o)};Object.defineProperties(WT.prototype,{show:{get:function(){return this.item&&this.item.show},set:function(o){this.item&&(this.item.show=o)}}});var vut=WT;var qd=null;function FQ(o,A){qd=A,this._viewer=o,this._cesium=A,this._core=new $i(o,A),this.TrailEntitys=[]}FQ.prototype.createSatelliteTrail=function(o){!o&&(o={});let A=this._viewer,f=new qd.JulianDate.fromDate(new Date),m=qd.JulianDate.addSeconds(f,3600,new qd.JulianDate);A.clock.startTime=o.start||f.clone(),A.clock.stopTime=o.stop||m.clone(),A.clock.currentTime=o.start||f.clone(),A.clock.clockRange=qd.ClockRange.LOOP_STOP,A.clock.multiplier=o.speed||2,this.flyHeight=o.height||7e5;let C=[];return o.path?C=o.path:this.getRandState(C,2),C.forEach(E=>{this.getStatePath(E,o)}),this};FQ.prototype.getStatePath=function(o,A){let f=this._viewer,m=f.clock.startTime.clone(),C=f.clock.stopTime.clone(),E=this.computeCirclularFlight(o,2),x=f.entities.add({availability:new qd.TimeIntervalCollection([new qd.TimeInterval({start:m,stop:C})]),position:E,orientation:new qd.VelocityOrientationProperty(E),cylinder:{HeightReference:qd.HeightReference.CLAMP_TO_GROUND,length:this.flyHeight,topRadius:0,bottomRadius:this.flyHeight/2,material:this._core.getConeRadarMaterial(A.radarColor||"#00ff00"),outline:!1,numberOfVerticalLines:0}});x.position.setInterpolationOptions({interpolationDegree:5,interpolationAlgorithm:qd.LagrangePolynomialApproximation}),this.TrailEntitys.push(x);let y=this.computeCirclularFlight(o,1),I={availability:new qd.TimeIntervalCollection([new qd.TimeInterval({start:m,stop:C})]),position:y,orientation:new qd.VelocityOrientationProperty(y),path:{resolution:1,material:new qd.PolylineGlowMaterialProperty({color:qd.Color.DEEPSKYBLUE}),width:A.width||5}};A.img?typeof A.img=="object"?I.billboard=A.img:typeof A.img=="string"&&(I.billboard={image:A.img,scale:A.scale}):I.model={uri:A.model||window.SmartEarthRootUrl+Zr.flyModel,minimumPixelSize:32,scale:A.scale};let v=f.entities.add(I);v.position.setInterpolationOptions({interpolationDegree:5,interpolationAlgorithm:qd.LagrangePolynomialApproximation}),this.TrailEntitys.push(v)};FQ.prototype.clear=function(){this.TrailEntitys.forEach(o=>{this._viewer.entities.remove(o)}),this.TrailEntitys=[]};FQ.prototype.faster=function(){this._viewer.animation.viewModel.faster()};FQ.prototype.slower=function(){this._viewer.animation.viewModel.slower()};FQ.prototype.setSpeed=function(o){this._viewer.clock.multiplier=parseFloat(o)};FQ.prototype.isPause=function(o){var A=this._viewer.clockViewModel;A.shouldAnimate=!o};FQ.prototype.computeCirclularFlight=function(o,A){let f=this._viewer.clock.startTime.clone(),m=new qd.SampledPositionProperty;if(A==1)for(let C=0;C<o.length;C++){let E=qd.JulianDate.addSeconds(f,o[C].time,new qd.JulianDate),x=qd.Cartesian3.fromDegrees(o[C].lon,o[C].lat,o[C].hei);m.addSample(E,x)}else if(A==2)for(let C=0;C<o.length;C++){let E=qd.JulianDate.addSeconds(f,o[C].time,new qd.JulianDate),x=qd.Cartesian3.fromDegrees(o[C].lon,o[C].lat,o[C].phei);m.addSample(E,x)}return m};function But(o){this.lon=0,this.lat=0,this.hei=o,this.phei=o/2,this.time=0}FQ.prototype.getRandState=function(o,A){let f=this.flyHeight;for(let m=0;m<A;m++){let C=[],E=Math.floor(Math.random()*180);for(let x=0;x<=360;x+=30){let y=new But(f);x<=180?(y.lon=E,y.lat=x-90,y.time=x*10,C.push(y)):(y.lon=E-180,y.lat=270-x,y.time=x*10,C.push(y))}o.push(C)}for(let m=0;m<A;m++){let C=[],E=Math.floor(Math.random()*180)-90;for(let x=-180;x<=180;x+=30){let y=new But(f);y.lon=x,y.lat=E,y.time=(x+180)*10,C.push(y)}o.push(C)}};var ise=FQ;var Sh=null;function NQ(o,A){Sh=A,this._viewer=o,this._core=new $i(o,A),this._tree=Ke}NQ.prototype.create=function(o,A,f={}){this.angle=(f.angle||10)/2,this.heading=this.pitch=this.roll=0;let m={subdivisions:6,stackPartitions:30,slicePartitions:30,innerRadii:new Sh.Cartesian3(1,1,1),radii:new Sh.CallbackProperty(()=>new Sh.Cartesian3(this.radius,this.radius,this.radius),!1),outline:f.outline,material:Sh.Color.RED.withAlpha(.2),outlineColor:Sh.Color.WHITE.withAlpha(.2),maximumCone:new Sh.CallbackProperty(()=>Sh.Math.toRadians(-this.angle),!1),minimumCone:new Sh.CallbackProperty(()=>Sh.Math.toRadians(this.angle),!1)};f.color&&(m.material=Sh.Color.fromCssColorString(f.color)),f.outlineColor&&(m.outlineColor=Sh.Color.fromCssColorString(f.outlineColor));let C=o instanceof Sh.Entity?o:void 0,E=A instanceof Sh.Entity?A:void 0;C?this.startPosition=C.position.getValue(this._viewer.clock.currentTime.clone()):this.startPosition=o,this.degrees1=this._core.toDegrees(this.startPosition),E?this.endPosition=E.position.getValue(this._viewer.clock.currentTime.clone()):this.endPosition=A,this.degrees2=this._core.toDegrees(this.endPosition),this.item=this._viewer.entities.add({position:new Sh.CallbackProperty(()=>(C&&(this.startPosition=C.position.getValue(this._viewer.clock.currentTime.clone()),this.degrees1=this._core.toDegrees(this.startPosition)),E&&(this.endPosition=E.position.getValue(this._viewer.clock.currentTime.clone()),this.degrees2=this._core.toDegrees(this.endPosition)),(C||E)&&(this.radius=Sh.Cartesian3.distance(this.startPosition,this.endPosition),this.updateOrientation()),this.startPosition),!1),ellipsoid:m}),this.radius=Sh.Cartesian3.distance(this.startPosition,this.endPosition),this.updateOrientation();var x={id:this.item.id,name:"\u9525\u5F62\u4F20\u611F\u5668",pId:0,type:"ellipsoid",item:this};return this.setTreeobj(x),this._tree.insertGroupId(x,0),this};NQ.prototype.getOrientation=function(){let o=this._core.twoPointsHeadingPitchRoll(this._viewer,this.startPosition,this.endPosition);this.heading=Sh.Math.toDegrees(o.heading)+90,this.pitch=90-Sh.Math.toDegrees(o.pitch)};NQ.prototype.updateOrientation=function(){this.getOrientation(),this.item.orientation=Sh.Transforms.headingPitchRollQuaternion(this.startPosition,new Sh.HeadingPitchRoll(Sh.Math.toRadians(this._core.defaultValue(this.heading,0)),Sh.Math.toRadians(this._core.defaultValue(this.pitch,0)),Sh.Math.toRadians(this._core.defaultValue(this.roll,0))))};NQ.prototype.changeStart=function(o){this.startPosition=o,this.degrees1=this._core.toDegrees(this.startPosition),this.radius=Sh.Cartesian3.distance(this.startPosition,this.endPosition),this.updateOrientation()};NQ.prototype.changeEnd=function(o){this.endPosition=o,this.degrees2=this._core.toDegrees(this.endPosition),this.radius=Sh.Cartesian3.distance(this.startPosition,this.endPosition),this.updateOrientation()};NQ.prototype.changeAngle=function(o){this.angle=o/2};NQ.prototype.setTreeobj=function(o){this.treeobj=o};NQ.prototype.setVisibility=function(o){this.item&&(this.item.show=o)};NQ.prototype.deleteObject=function(){this._viewer.entities.remove(this.item)};var rse=NQ;function yk(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._tree=Ke}yk.prototype.addCZML=function(o,A,f){var m=this;!A&&(A={});var C=new this._cesium.CzmlDataSource;let E=this._viewer.dataSources.add(C);this.item=C,this._option=A,this.item.process(o).then(function(y){m.Pretreatment(y,A),f&&typeof f=="function"&&f(y)});var x={id:this._core.getuid(),name:"\u65B0\u5EFACZML",pId:0,type:"CZML",item:this};return this.setTreeobj(x),this._tree.insertGroupId(x,0),this};yk.prototype.process=function(o,A){let f=this;this.item&&this.item.process(o).then(function(m){f.Pretreatment(m,f._option),A&&typeof A=="function"&&A(m)})};yk.prototype.Pretreatment=function(o,A){let f=this;o.entities.values.forEach(C=>{if(C.id.indexOf("Link_")===0)C.polyline.material=f._core.getLinkMaterial(A.linkColor,A.linkPointColor,A.linkTime);else if(C.id.indexOf("ConeRadar_")===0)C.cylinder.material=f._core.getConeRadarMaterial(A.coneRadarColor);else if(C.id.indexOf("MultiCircleScan_")===0)C.ellipse.material=f._core.getMultiCircleScanMaterial(A.multiCircleColor,A.multiCircleTime);else if(C.id.indexOf("SectorScan_")===0){let E=f._core.defaultValue(A.sectorScanAngle,45);C.ellipse.material=f._core.getSectorScanMaterial(A.sectorScanColor,E),C.ellipse.stRotation=new f._cesium.CallbackProperty(function(x,y){let I=C.orientation.getValue(x,y);return f._cesium.HeadingPitchRoll.fromQuaternion(I).heading-Math.PI/2},!1)}else C.id.indexOf("CircleScan_")===0?C.ellipse.material=f._core.getCircleScanMaterial(A.circleScanColor,A.circleScanTime):C.id.indexOf("RadarScan_")===0&&(C.ellipse.material=f._core.getRadarScanMaterial(A.radarScanColor,A.radarScanTime))})};yk.prototype.deleteObject=function(){this._viewer.dataSources.remove(this.item)};yk.prototype.setTreeobj=function(o){this.treeobj=o};yk.prototype.setVisibility=function(o){this.item!=null&&(this.item.show=o)};var nse=yk;var EA={version:"1.0.0"},kQ={type:"doublearrow",headHeightFactor:.25,headWidthFactor:.3,neckHeightFactor:.85,fixPointCount:4,neckWidthFactor:.15},ose={headHeightFactor:.18,headWidthFactor:.3,neckHeightFactor:.85,neckWidthFactor:.15,tailWidthFactor:.1,headTailFactor:.8,swallowTailFactor:1},GK={tailWidthFactor:.15,neckWidthFactor:.2,headWidthFactor:.25,headAngle:Math.PI/8.5,neckAngle:Math.PI/13};EA.algorithm={};EA.algorithm.doubleArrow=function(o){this.connPoint=null,this.tempPoint4=null,this.points=o;var A={controlPoint:null,polygonalPoint:null},f=o.length;if(!(2>f)){if(f==2)return o;var m=this.points[0],C=this.points[1],E=this.points[2],f=o.length;f==3?this.tempPoint4=EA.algorithm.getTempPoint4(m,C,E):this.tempPoint4=this.points[3],f==3||f==4?this.connPoint=mr.PlotUtils.mid(m,C):this.connPoint=this.points[4];var x,y;mr.PlotUtils.isClockWise(m,C,E)?(x=EA.algorithm.getArrowPoints(m,this.connPoint,this.tempPoint4,!1),y=EA.algorithm.getArrowPoints(this.connPoint,C,E,!0)):(x=EA.algorithm.getArrowPoints(C,this.connPoint,E,!1),y=EA.algorithm.getArrowPoints(this.connPoint,m,this.tempPoint4,!0));var I=x.length,v=(I-5)/2,B=x.slice(0,v),Q=x.slice(v,v+5),T=x.slice(v+5,I),w=y.slice(0,v),S=y.slice(v,v+5),D=y.slice(v+5,I);w=mr.PlotUtils.getBezierPoints(w);var R=mr.PlotUtils.getBezierPoints(D.concat(B.slice(1)));T=mr.PlotUtils.getBezierPoints(T);var P=w.concat(S,R,Q,T),M=EA.algorithm.array2Dto1D(P);A.controlPoint=[m,C,E,this.tempPoint4,this.connPoint],A.polygonalPoint=Cesium.Cartesian3.fromDegreesArray(M)}return A};EA.algorithm.threeArrow=function(o){this.connPoint=null,this.tempPoint4=null,this.tempPoint5=null,this.points=o;var A={controlPoint:null,polygonalPoint:null},f=o.length;if(f>=2){if(f==2)return o;var m=this.points[0],C=this.points[1],E=this.points[2],f=o.length;f==3?(this.tempPoint4=EA.algorithm.getTempPoint4(m,C,E),this.tempPoint5=mr.PlotUtils.mid(E,this.tempPoint4)):(this.tempPoint4=this.points[3],this.tempPoint5=this.points[4]),f<6?this.connPoint=mr.PlotUtils.mid(m,C):this.connPoint=this.points[5];var x,y;mr.PlotUtils.isClockWise(m,C,E)?(x=EA.algorithm.getArrowPoints(m,this.connPoint,this.tempPoint4,!1),y=EA.algorithm.getArrowPoints(this.connPoint,C,E,!0)):(x=EA.algorithm.getArrowPoints(C,this.connPoint,E,!1),y=EA.algorithm.getArrowPoints(this.connPoint,m,this.tempPoint4,!0));var I=x.length,v=(I-5)/2,B=x.slice(0,v),Q=x.slice(v,v+5),T=x.slice(v+5,I),w=y.slice(0,v),S=y.slice(v,v+5),D=y.slice(v+5,I);w=mr.PlotUtils.getBezierPoints(w);var R=mr.PlotUtils.getBezierPoints(D.concat(B.slice(1)));T=mr.PlotUtils.getBezierPoints(T);var P=w.concat(S,R,Q,T),M=EA.algorithm.array2Dto1D(P);A.controlPoint=[m,C,E,this.tempPoint4,this.tempPoint5,this.connPoint],A.polygonalPoint=Cesium.Cartesian3.fromDegreesArray(M)}return A};EA.algorithm.array2Dto1D=function(o){var A=[];return o.forEach(function(f){A.push(f[0]),A.push(f[1])}),A};EA.algorithm.getArrowPoints=function(o,A,f,m){this.type=kQ.type,this.headHeightFactor=kQ.headHeightFactor,this.headWidthFactor=kQ.headWidthFactor,this.neckHeightFactor=kQ.neckHeightFactor,this.neckWidthFactor=kQ.neckWidthFactor;var C=mr.PlotUtils.mid(o,A),E=mr.PlotUtils.distance(C,f),x=mr.PlotUtils.getThirdPoint(f,C,0,.3*E,!0),y=mr.PlotUtils.getThirdPoint(f,C,0,.5*E,!0);x=mr.PlotUtils.getThirdPoint(C,x,mr.Constants.HALF_PI,E/5,m),y=mr.PlotUtils.getThirdPoint(C,y,mr.Constants.HALF_PI,E/4,m);var I=[C,x,y,f],v=EA.algorithm.getArrowHeadPoints(I,this.headHeightFactor,this.headWidthFactor,this.neckHeightFactor,this.neckWidthFactor),B=v[0],Q=v[4],T=mr.PlotUtils.distance(o,A)/mr.PlotUtils.getBaseLength(I)/2,w=EA.algorithm.getArrowBodyPoints(I,B,Q,T),S=w.length,D=w.slice(0,S/2),R=w.slice(S/2,S);return D.push(B),R.push(Q),D=D.reverse(),D.push(A),R=R.reverse(),R.push(o),D.reverse().concat(v,R)};EA.algorithm.getArrowHeadPoints=function(o,A,f){this.type=kQ.type,this.headHeightFactor=kQ.headHeightFactor,this.headWidthFactor=kQ.headWidthFactor,this.neckHeightFactor=kQ.neckHeightFactor,this.neckWidthFactor=kQ.neckWidthFactor;var m=mr.PlotUtils.getBaseLength(o),C=m*this.headHeightFactor,E=o[o.length-1],x=(mr.PlotUtils.distance(A,f),C*this.headWidthFactor),y=C*this.neckWidthFactor,I=C*this.neckHeightFactor,v=mr.PlotUtils.getThirdPoint(o[o.length-2],E,0,C,!0),B=mr.PlotUtils.getThirdPoint(o[o.length-2],E,0,I,!0),Q=mr.PlotUtils.getThirdPoint(E,v,mr.Constants.HALF_PI,x,!1),T=mr.PlotUtils.getThirdPoint(E,v,mr.Constants.HALF_PI,x,!0),w=mr.PlotUtils.getThirdPoint(E,B,mr.Constants.HALF_PI,y,!1),S=mr.PlotUtils.getThirdPoint(E,B,mr.Constants.HALF_PI,y,!0);return[w,Q,E,T,S]};EA.algorithm.getArrowBodyPoints=function(o,A,f,m){for(var C=mr.PlotUtils.wholeDistance(o),E=mr.PlotUtils.getBaseLength(o),x=E*m,y=mr.PlotUtils.distance(A,f),I=(x-y)/2,v=0,B=[],Q=[],T=1;T<o.length-1;T++){var w=mr.PlotUtils.getAngleOfThreePoints(o[T-1],o[T],o[T+1])/2;v+=mr.PlotUtils.distance(o[T-1],o[T]);var S=(x/2-v/C*I)/Math.sin(w),D=mr.PlotUtils.getThirdPoint(o[T-1],o[T],Math.PI-w,S,!0),R=mr.PlotUtils.getThirdPoint(o[T-1],o[T],w,S,!1);B.push(D),Q.push(R)}return B.concat(Q)};EA.algorithm.getTempPoint4=function(o,A,f){var m,C,E,x,y=mr.PlotUtils.mid(o,A),I=mr.PlotUtils.distance(y,f),v=mr.PlotUtils.getAngleOfThreePoints(o,y,f);return v<mr.Constants.HALF_PI?(C=I*Math.sin(v),E=I*Math.cos(v),x=mr.PlotUtils.getThirdPoint(o,y,mr.Constants.HALF_PI,C,!1),m=mr.PlotUtils.getThirdPoint(y,x,mr.Constants.HALF_PI,E,!0)):v>=mr.Constants.HALF_PI&&v<Math.PI?(C=I*Math.sin(Math.PI-v),E=I*Math.cos(Math.PI-v),x=mr.PlotUtils.getThirdPoint(o,y,mr.Constants.HALF_PI,C,!1),m=mr.PlotUtils.getThirdPoint(y,x,mr.Constants.HALF_PI,E,!1)):v>=Math.PI&&v<1.5*Math.PI?(C=I*Math.sin(v-Math.PI),E=I*Math.cos(v-Math.PI),x=mr.PlotUtils.getThirdPoint(o,y,mr.Constants.HALF_PI,C,!0),m=mr.PlotUtils.getThirdPoint(y,x,mr.Constants.HALF_PI,E,!0)):(C=I*Math.sin(2*Math.PI-v),E=I*Math.cos(2*Math.PI-v),x=mr.PlotUtils.getThirdPoint(o,y,mr.Constants.HALF_PI,C,!0),m=mr.PlotUtils.getThirdPoint(y,x,mr.Constants.HALF_PI,E,!1)),m};EA.algorithm.tailedAttackArrow=function(o){o=EA.algorithm.dereplication(o),this.tailWidthFactor=ose.tailWidthFactor,this.swallowTailFactor=ose.swallowTailFactor,this.swallowTailPnt=ose.swallowTailPnt;var A={controlPoint:null,polygonalPoint:null};A.controlPoint=o;var f=o.length;if(!(2>f)){if(o.length==2)return A.polygonalPoint=o,A;var m=o,C=m[0],E=m[1];mr.PlotUtils.isClockWise(m[0],m[1],m[2])&&(C=m[1],E=m[0]);var x=mr.PlotUtils.mid(C,E),y=[x].concat(m.slice(2)),I=EA.algorithm.getAttackArrowHeadPoints(y,C,E,ose),v=I[0],B=I[4],Q=mr.PlotUtils.distance(C,E),T=mr.PlotUtils.getBaseLength(y),w=T*this.tailWidthFactor*this.swallowTailFactor;this.swallowTailPnt=mr.PlotUtils.getThirdPoint(y[1],y[0],0,w,!0);var S=Q/T,D=EA.algorithm.getAttackArrowBodyPoints(y,v,B,S),f=D.length,R=[C].concat(D.slice(0,f/2));R.push(v);var P=[E].concat(D.slice(f/2,f)),M=[];P.push(B),R=mr.PlotUtils.getQBSplinePoints(R),P=mr.PlotUtils.getQBSplinePoints(P),M=EA.algorithm.array2Dto1D(R.concat(I,P.reverse(),[this.swallowTailPnt,R[0]])),A.polygonalPoint=Cesium.Cartesian3.fromDegreesArray(M)}return A};EA.algorithm.getAttackArrowHeadPoints=function(o,A,f,m){this.headHeightFactor=m.headHeightFactor,this.headTailFactor=m.headTailFactor,this.headWidthFactor=m.headWidthFactor,this.neckWidthFactor=m.neckWidthFactor,this.neckHeightFactor=m.neckHeightFactor;var C=mr.PlotUtils.getBaseLength(o),E=C*this.headHeightFactor,x=o[o.length-1];C=mr.PlotUtils.distance(x,o[o.length-2]);var y=mr.PlotUtils.distance(A,f);E>y*this.headTailFactor&&(E=y*this.headTailFactor);var I=E*this.headWidthFactor,v=E*this.neckWidthFactor;E=E>C?C:E;var B=E*this.neckHeightFactor,Q=mr.PlotUtils.getThirdPoint(o[o.length-2],x,0,E,!0),T=mr.PlotUtils.getThirdPoint(o[o.length-2],x,0,B,!0),w=mr.PlotUtils.getThirdPoint(x,Q,mr.Constants.HALF_PI,I,!1),S=mr.PlotUtils.getThirdPoint(x,Q,mr.Constants.HALF_PI,I,!0),D=mr.PlotUtils.getThirdPoint(x,T,mr.Constants.HALF_PI,v,!1),R=mr.PlotUtils.getThirdPoint(x,T,mr.Constants.HALF_PI,v,!0);return[D,w,x,S,R]};EA.algorithm.getAttackArrowBodyPoints=function(o,A,f,m){for(var C=mr.PlotUtils.wholeDistance(o),E=mr.PlotUtils.getBaseLength(o),x=E*m,y=mr.PlotUtils.distance(A,f),I=(x-y)/2,v=0,B=[],Q=[],T=1;T<o.length-1;T++){var w=mr.PlotUtils.getAngleOfThreePoints(o[T-1],o[T],o[T+1])/2;v+=mr.PlotUtils.distance(o[T-1],o[T]);var S=(x/2-v/C*I)/Math.sin(w),D=mr.PlotUtils.getThirdPoint(o[T-1],o[T],Math.PI-w,S,!0),R=mr.PlotUtils.getThirdPoint(o[T-1],o[T],w,S,!1);B.push(D),Q.push(R)}return B.concat(Q)};EA.algorithm.dereplication=function(o){var A=o[o.length-1],f=!1,m=[];return m=o.filter(function(C){if(C[0]!=A[0]&&C[1]!=A[1])return C;f=!0}),f&&m.push(A),m};EA.algorithm.fineArrow=function(o,A){if(!(o.length<2||A.length<2)){var f=GK.tailWidthFactor,m=GK.neckWidthFactor,C=GK.headWidthFactor,E=GK.headAngle,x=GK.neckAngle,y=[];return y[0]=o,y[1]=A,e=y[0],r=y[1],n=mr.PlotUtils.getBaseLength(y),g=n*f,i=n*m,s=n*C,a=mr.PlotUtils.getThirdPoint(r,e,mr.Constants.HALF_PI,g,!0),l=mr.PlotUtils.getThirdPoint(r,e,mr.Constants.HALF_PI,g,!1),u=mr.PlotUtils.getThirdPoint(e,r,E,s,!1),c=mr.PlotUtils.getThirdPoint(e,r,E,s,!0),p=mr.PlotUtils.getThirdPoint(e,r,x,i,!1),h=mr.PlotUtils.getThirdPoint(e,r,x,i,!0),d=[],d.push(a[0],a[1],p[0],p[1],u[0],u[1],r[0],r[1],c[0],c[1],h[0],h[1],l[0],l[1],e[0],e[1]),Cesium.Cartesian3.fromDegreesArray(d)}};var mr={version:"1.0.0"};mr.PlotUtils={},mr.PlotUtils.distance=function(o,A){return Math.sqrt(Math.pow(o[0]-A[0],2)+Math.pow(o[1]-A[1],2))},mr.PlotUtils.wholeDistance=function(o){for(var A=0,f=0;f<o.length-1;f++)A+=mr.PlotUtils.distance(o[f],o[f+1]);return A},mr.PlotUtils.getBaseLength=function(o){return Math.pow(mr.PlotUtils.wholeDistance(o),.99)},mr.PlotUtils.mid=function(o,A){return[(o[0]+A[0])/2,(o[1]+A[1])/2]},mr.PlotUtils.getCircleCenterOfThreePoints=function(o,A,f){var m=[(o[0]+A[0])/2,(o[1]+A[1])/2],C=[m[0]-o[1]+A[1],m[1]+o[0]-A[0]],E=[(o[0]+f[0])/2,(o[1]+f[1])/2],x=[E[0]-o[1]+f[1],E[1]+o[0]-f[0]];return mr.PlotUtils.getIntersectPoint(m,C,E,x)},mr.PlotUtils.getIntersectPoint=function(o,A,f,m){if(o[1]==A[1]){var C=(m[0]-f[0])/(m[1]-f[1]),E=C*(o[1]-f[1])+f[0],x=o[1];return[E,x]}if(f[1]==m[1]){var y=(A[0]-o[0])/(A[1]-o[1]);return E=y*(f[1]-o[1])+o[0],x=f[1],[E,x]}return y=(A[0]-o[0])/(A[1]-o[1]),C=(m[0]-f[0])/(m[1]-f[1]),x=(y*o[1]-o[0]-C*f[1]+f[0])/(y-C),E=y*x-y*o[1]+o[0],[E,x]},mr.PlotUtils.getAzimuth=function(o,A){var f,m=Math.asin(Math.abs(A[1]-o[1])/mr.PlotUtils.distance(o,A));return A[1]>=o[1]&&A[0]>=o[0]?f=m+Math.PI:A[1]>=o[1]&&A[0]<o[0]?f=mr.Constants.TWO_PI-m:A[1]<o[1]&&A[0]<o[0]?f=m:A[1]<o[1]&&A[0]>=o[0]&&(f=Math.PI-m),f},mr.PlotUtils.getAngleOfThreePoints=function(o,A,f){var m=mr.PlotUtils.getAzimuth(A,o)-mr.PlotUtils.getAzimuth(A,f);return 0>m?m+mr.Constants.TWO_PI:m},mr.PlotUtils.isClockWise=function(o,A,f){return(f[1]-o[1])*(A[0]-o[0])>(A[1]-o[1])*(f[0]-o[0])},mr.PlotUtils.getPointOnLine=function(o,A,f){var m=A[0]+o*(f[0]-A[0]),C=A[1]+o*(f[1]-A[1]);return[m,C]},mr.PlotUtils.getCubicValue=function(o,A,f,m,C){o=Math.max(Math.min(o,1),0);var E=1-o,x=o*o,y=x*o,I=E*E,v=I*E,B=v*A[0]+3*I*o*f[0]+3*E*x*m[0]+y*C[0],Q=v*A[1]+3*I*o*f[1]+3*E*x*m[1]+y*C[1];return[B,Q]},mr.PlotUtils.getThirdPoint=function(o,A,f,m,C){var E=mr.PlotUtils.getAzimuth(o,A),x=C?E+f:E-f,y=m*Math.cos(x),I=m*Math.sin(x);return[A[0]+y,A[1]+I]},mr.PlotUtils.getArcPoints=function(o,A,f,m){var C,E,x=[],y=m-f;y=0>y?y+mr.Constants.TWO_PI:y;for(var I=0;I<=mr.Constants.FITTING_COUNT;I++){var v=f+y*I/mr.Constants.FITTING_COUNT;C=o[0]+A*Math.cos(v),E=o[1]+A*Math.sin(v),x.push([C,E])}return x},mr.PlotUtils.getBisectorNormals=function(o,A,f,m){var C=mr.PlotUtils.getNormal(A,f,m),E=Math.sqrt(C[0]*C[0]+C[1]*C[1]),x=C[0]/E,y=C[1]/E,I=mr.PlotUtils.distance(A,f),v=mr.PlotUtils.distance(f,m);if(E>mr.Constants.ZERO_TOLERANCE)if(mr.PlotUtils.isClockWise(A,f,m)){var B=o*I,Q=f[0]-B*y,T=f[1]+B*x,w=[Q,T];B=o*v,Q=f[0]+B*y,T=f[1]-B*x;var S=[Q,T]}else B=o*I,Q=f[0]+B*y,T=f[1]-B*x,w=[Q,T],B=o*v,Q=f[0]-B*y,T=f[1]+B*x,S=[Q,T];else Q=f[0]+o*(A[0]-f[0]),T=f[1]+o*(A[1]-f[1]),w=[Q,T],Q=f[0]+o*(m[0]-f[0]),T=f[1]+o*(m[1]-f[1]),S=[Q,T];return[w,S]},mr.PlotUtils.getNormal=function(o,A,f){var m=o[0]-A[0],C=o[1]-A[1],E=Math.sqrt(m*m+C*C);m/=E,C/=E;var x=f[0]-A[0],y=f[1]-A[1],I=Math.sqrt(x*x+y*y);x/=I,y/=I;var v=m+x,B=C+y;return[v,B]},mr.PlotUtils.getCurvePoints=function(o,A){for(var f=mr.PlotUtils.getLeftMostControlPoint(A),m=[f],C=0;C<A.length-2;C++){var E=A[C],x=A[C+1],y=A[C+2],I=mr.PlotUtils.getBisectorNormals(o,E,x,y);m=m.concat(I)}var v=mr.PlotUtils.getRightMostControlPoint(A);m.push(v);var B=[];for(C=0;C<A.length-1;C++){E=A[C],x=A[C+1],B.push(E);for(var o=0;o<mr.Constants.FITTING_COUNT;o++){var Q=mr.PlotUtils.getCubicValue(o/mr.Constants.FITTING_COUNT,E,m[2*C],m[2*C+1],x);B.push(Q)}B.push(x)}return B},mr.PlotUtils.getLeftMostControlPoint=function(o){var A=o[0],f=o[1],m=o[2],C=mr.PlotUtils.getBisectorNormals(0,A,f,m),E=C[0],x=mr.PlotUtils.getNormal(A,f,m),y=Math.sqrt(x[0]*x[0]+x[1]*x[1]);if(y>mr.Constants.ZERO_TOLERANCE)var I=mr.PlotUtils.mid(A,f),v=A[0]-I[0],B=A[1]-I[1],Q=mr.PlotUtils.distance(A,f),T=2/Q,w=-T*B,S=T*v,D=w*w-S*S,R=2*w*S,P=S*S-w*w,M=E[0]-I[0],L=E[1]-I[1],F=I[0]+D*M+R*L,k=I[1]+R*M+P*L;else F=A[0]+t*(f[0]-A[0]),k=A[1]+t*(f[1]-A[1]);return[F,k]},mr.PlotUtils.getRightMostControlPoint=function(o){var A=o.length,f=o[A-3],m=o[A-2],C=o[A-1],E=mr.PlotUtils.getBisectorNormals(0,f,m,C),x=E[1],y=mr.PlotUtils.getNormal(f,m,C),I=Math.sqrt(y[0]*y[0]+y[1]*y[1]);if(I>mr.Constants.ZERO_TOLERANCE)var v=mr.PlotUtils.mid(m,C),B=C[0]-v[0],Q=C[1]-v[1],T=mr.PlotUtils.distance(m,C),w=2/T,S=-w*Q,D=w*B,R=S*S-D*D,P=2*S*D,M=D*D-S*S,L=x[0]-v[0],F=x[1]-v[1],k=v[0]+R*L+P*F,N=v[1]+P*L+M*F;else k=C[0]+t*(m[0]-C[0]),N=C[1]+t*(m[1]-C[1]);return[k,N]},mr.PlotUtils.getBezierPoints=function(o){if(o.length<=2)return o;for(var A=[],f=o.length-1,m=0;1>=m;m+=.01){for(var C=0,E=0,x=0;f>=x;x++){var y=mr.PlotUtils.getBinomialFactor(f,x),I=Math.pow(m,x),v=Math.pow(1-m,f-x);C+=y*I*v*o[x][0],E+=y*I*v*o[x][1]}A.push([C,E])}return A.push(o[f]),A},mr.PlotUtils.getBinomialFactor=function(o,A){return mr.PlotUtils.getFactorial(o)/(mr.PlotUtils.getFactorial(A)*mr.PlotUtils.getFactorial(o-A))},mr.PlotUtils.getFactorial=function(o){if(1>=o)return 1;if(o==2)return 2;if(o==3)return 6;if(o==4)return 24;if(o==5)return 120;for(var A=1,f=1;o>=f;f++)A*=f;return A},mr.PlotUtils.getQBSplinePoints=function(o){if(o.length<=2)return o;var A=2,f=[],m=o.length-A-1;f.push(o[0]);for(var C=0;m>=C;C++)for(var E=0;1>=E;E+=.05){for(var x=0,y=0,I=0;A>=I;I++){var v=mr.PlotUtils.getQuadricBSplineFactor(I,E);x+=v*o[C+I][0],y+=v*o[C+I][1]}f.push([x,y])}return f.push(o[o.length-1]),f},mr.PlotUtils.getQuadricBSplineFactor=function(o,A){return o==0?Math.pow(A-1,2)/2:o==1?(-2*Math.pow(A,2)+2*A+1)/2:o==2?Math.pow(A,2)/2:0},mr.Constants={TWO_PI:2*Math.PI,HALF_PI:Math.PI/2,FITTING_COUNT:100,ZERO_TOLERANCE:1e-4};var jT=EA;var Ui=null;function $a(o,A){Ui=A,this._viewer=o,this._core=new $i(o,A),this._tree=Ke,this._getPosition=new kl(this._viewer,A),this._popupmessage=new kI(this._viewer,A),this.tooltip=this._core.CreateTooltip({id:"_jb"}),this.objectsToExclude=[],this.MilitaryStandardObj=[],this.drawHandler=void 0,this.editHandler=null,this.heightpointsId=[],this.state=0,this.isEditting=!1,this.editProp=!1,this.openEdit=!0}$a.prototype.createBezierline=function(o,A){var f=this,m=this._viewer,C=[],E=[],x=void 0,y="\u5355\u51FB\u5F00\u59CB\u7ED8\u5236";this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),this.drawHandler=new Ui.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;var I;return this.drawHandler.setInputAction(function(v){y="\u5DE6\u952E\u6DFB\u52A0\u70B9 \u53F3\u952E\u7ED3\u675F";var B=v.position,Q=f._createGeoPoints(m,[{x:B.x,y:B.y}]);C.length==0&&(C.push({x:Q[0],y:Q[1],z:Q[2]}),E.push(Q)),E.push(Q),C.push({x:Q[0],y:Q[1],z:Q[2]})},Ui.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(function(v){f._core.CreateTooltip(y,v.endPosition,!0);var B=v.endPosition;if(C.length>0)if(Ui.defined(x)){C.pop(),E.pop();var T=f._createGeoPoints(m,[{x:B.x,y:B.y}]);C.push({x:T[0],y:T[1],z:T[2]}),E.push(T);var Q=f._createBezierPoints(C),T=[];Q.forEach(D=>{T.push(D.x,D.y,C[0].z)}),I=Ui.Cartesian3.fromDegreesArrayHeights(T)}else{var Q=f._createBezierPoints(C),T=[];Q.forEach(w=>{T.push(w.x,w.y,C[0].z)}),I=Ui.Cartesian3.fromDegreesArrayHeights(T),x=m.entities.add({name:"Bezierline",polyline:{positions:new Ui.CallbackProperty(function(){return I},!1),clampToGround:!0,width:f._core.defaultValue(o.width,2),material:Ui.Color.fromCssColorString(f._core.defaultValue(o.color,"#ff0000"))}}),x.GeoType="Bezierline",f.MilitaryStandardObj.push(x.id)}},Ui.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(function(v){f.end&&f.end()},Ui.ScreenSpaceEventType.RIGHT_DOWN),this.end=v=>{if(this.end=void 0,x&&(x.pottingPoint=E),f.drawHandler.destroy(),f._core.CreateTooltip(y,void 0,!1),f._core.mouse(f._viewer.container,0),setTimeout(function(){Ke.states=0},100),v==="cancel"){x&&(m.entities.remove(x),f.MilitaryStandardObj.pop());return}A&&A(x)},this};$a.prototype.createBezierArrow=function(o,A){var f=this,m=this._viewer,C="\u5355\u51FB\u5F00\u59CB\u7ED8\u5236",E=[],x=[],y=void 0;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),f._core.mouse(f._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),Ke.states=1;var I;return f.drawHandler=new Ui.ScreenSpaceEventHandler(m.scene.canvas),f.drawHandler.setInputAction(function(v){C="\u5DE6\u952E\u6DFB\u52A0\u70B9 \u53F3\u952E\u7ED3\u675F";var B=v.position,Q=f._createGeoPoints(m,[{x:B.x,y:B.y}]);E.length==0&&(E.push({x:Q[0],y:Q[1],z:Q[2]}),x.push(Q)),E.push({x:Q[0],y:Q[1],z:Q[2]}),x.push(Q)},Ui.ScreenSpaceEventType.LEFT_CLICK),f.drawHandler.setInputAction(function(v){f._core.CreateTooltip(C,v.endPosition,!0);var B=v.endPosition;if(E.length>0)if(Ui.defined(y)){E.pop(),x.pop();var T=f._createGeoPoints(m,[{x:B.x,y:B.y}]);E.push({x:T[0],y:T[1],z:T[2]}),x.push(T);var Q=f._createBezierPoints(E),T=[];Q.forEach(D=>{T.push(D.x,D.y,E[0].z)}),I=Ui.Cartesian3.fromDegreesArrayHeights(T)}else{var Q=f._createBezierPoints(E),T=[];Q.forEach(w=>{T.push(w.x,w.y,E[0].z)}),I=Ui.Cartesian3.fromDegreesArrayHeights(T),y=m.entities.add({name:"BezierArrow",polyline:{positions:new Ui.CallbackProperty(function(){return I},!1),clampToGround:!0,width:f._core.defaultValue(o.width,5),material:new Ui.PolylineArrowMaterialProperty(Ui.Color.fromCssColorString(f._core.defaultValue(o.color,"#ff0000")))}}),y.GeoType="BezierArrow",f.MilitaryStandardObj.push(y.id)}},Ui.ScreenSpaceEventType.MOUSE_MOVE),f.drawHandler.setInputAction(function(v){f.end&&f.end()},Ui.ScreenSpaceEventType.RIGHT_DOWN),this.end=v=>{if(this.end=void 0,y&&(y.pottingPoint=x),f.drawHandler.destroy(),f._core.CreateTooltip(C,void 0,!1),f._core.mouse(f._viewer.container,0),setTimeout(function(){Ke.states=0},100),v==="cancel"){y&&(m.entities.remove(y),f.MilitaryStandardObj.pop());return}A&&A(y)},this};$a.prototype.createSwallowtailArrow=function(o,A,f){var m=o,C=this,E=this._viewer,x=void 0,y=[],I=[],v="\u5355\u51FB\u5F00\u59CB\u7ED8\u5236";this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),C._core.mouse(C._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),Ke.states=1;var B;return C.drawHandler=new Ui.ScreenSpaceEventHandler(E.scene.canvas),C.drawHandler.setInputAction(function(Q){var T=Q.position;if(v="\u5355\u51FB\u5B8C\u6210\u7ED8\u5236",I.length==0){var w=C._createGeoPoints(E,[{x:T.x,y:T.y}]);I.push({x:w[0],y:w[1],z:w[2]},{x:w[0]+1e-7,y:w[1]+1e-7,z:w[2]}),y.push(w,w)}else I.length==2&&C.end&&C.end()},Ui.ScreenSpaceEventType.LEFT_CLICK),C.drawHandler.setInputAction(function(Q){C._core.CreateTooltip(v,Q.endPosition,!0);var T=Q.endPosition;if(I.length>1)if(Ui.defined(x)){I.pop(),y.pop();var S=C._createGeoPoints(E,[{x:T.x,y:T.y}]);I.push({x:S[0],y:S[1],z:S[2]}),y.push(S);var w=C._computeSwallowtailArrow(I),S=[];w.forEach(P=>{S.push(P.x,P.y,I[0].z)}),B=Ui.Cartesian3.fromDegreesArrayHeights(S)}else{x=C.plotingSwallowtailArrow(E,I,m,A);var w=C._computeSwallowtailArrow(I),S=[];w.forEach(D=>{S.push(D.x,D.y,I[0].z)}),B=Ui.Cartesian3.fromDegreesArrayHeights(S),x.polygon.hierarchy=new Ui.CallbackProperty(function(){return new Ui.PolygonHierarchy(B)},!1),x.GeoType="SwallowtailArrow",C.MilitaryStandardObj.push(x.id)}else return},Ui.ScreenSpaceEventType.MOUSE_MOVE),C.drawHandler.setInputAction(function(Q){C.end&&C.end()},Ui.ScreenSpaceEventType.RIGHT_DOWN),this.end=Q=>{if(this.end=void 0,x&&(x.pottingPoint=y),C._core.CreateTooltip(v,void 0,!1),C.drawHandler.destroy(),C._core.mouse(C._viewer.container,0),setTimeout(function(){Ke.states=0},100),Q==="cancel"){x&&(E.entities.remove(x),C.MilitaryStandardObj.pop());return}f&&f(x)},this};$a.prototype.createStraightArrow=function(o,A,f){var m=o,C=this,E=this._viewer,x=[],y=void 0,I=[],v="\u5355\u51FB\u5F00\u59CB\u7ED8\u5236";Ke.states=1;var B;return this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),C._core.mouse(C._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),C.drawHandler=new Ui.ScreenSpaceEventHandler(E.scene.canvas),C.drawHandler.setInputAction(function(Q){var T=Q.position;if(v="\u5355\u51FB\u5B8C\u6210\u7ED8\u5236",x.length==0){var w=C._createGeoPoints(E,[{x:T.x,y:T.y}]);x.push({x:w[0],y:w[1],z:w[2]},{x:w[0]+1e-7,y:w[1]+1e-7,z:w[2]}),I.push(w,w)}else x.length==2&&C.end&&C.end()},Ui.ScreenSpaceEventType.LEFT_CLICK),C.drawHandler.setInputAction(function(Q){var T=Q.endPosition;if(C._core.CreateTooltip(v,T,!0),x.length>1)if(Ui.defined(y)){x.pop(),I.pop();var S=C._createGeoPoints(E,[{x:T.x,y:T.y}]);x.push({x:S[0],y:S[1],z:S[2]}),I.push(S);var w=C.calculateMorePoints(x),S=[];w.forEach(P=>{S.push(P.x,P.y,x[0].z)}),B=Ui.Cartesian3.fromDegreesArrayHeights(S)}else{var w=C.calculateMorePoints(x),S=[];w.forEach(D=>{S.push(D.x,D.y,x[0].z)}),B=Ui.Cartesian3.fromDegreesArrayHeights(S),m=="polygon"?y=E.entities.add({name:"StraightArrow",polygon:{hierarchy:B,material:Ui.Color.fromCssColorString(C._core.defaultValue(A.color,"rgba(255,0,0,0.6)"))}}):m=="box"&&(y=E.entities.add({name:"StraightArrow",polygon:{hierarchy:B,material:Ui.Color.fromCssColorString(C._core.defaultValue(A.color,"rgba(255,0,0,0.6)")),extrudedHeight:S[2]+C._core.defaultValue(A.extrudedHeight,200),height:S[2],outline:C._core.defaultValue(A.outline,!0),outlineColor:Ui.Color.fromCssColorString(C._core.defaultValue(A.outlineColor,"rgba(255,0,0,0.6)"))}})),y.polygon.hierarchy=new Ui.CallbackProperty(function(){return new Ui.PolygonHierarchy(B)},!1),y.GeoType="StraightArrow",C.MilitaryStandardObj.push(y.id)}else return},Ui.ScreenSpaceEventType.MOUSE_MOVE),C.drawHandler.setInputAction(function(Q){C.end&&C.end()},Ui.ScreenSpaceEventType.RIGHT_DOWN),this.end=Q=>{if(this.end=void 0,y&&(y.pottingPoint=I),C._core.CreateTooltip(v,void 0,!1),C.drawHandler.destroy(),C._core.mouse(C._viewer.container,0),setTimeout(function(){Ke.states=0},100),Q==="cancel"){y&&(E.entities.remove(y),C.MilitaryStandardObj.pop());return}f&&f(y)},this};$a.prototype.createRoundedRectangle=function(o,A,f){var m=o,C="\u5355\u51FB\u5F00\u59CB\u7ED8\u5236",E=this,x=this._viewer,y=[],I=[],v=void 0;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),E._core.mouse(E._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),Ke.states=1;var B;return E.drawHandler=new Ui.ScreenSpaceEventHandler(x.scene.canvas),E.drawHandler.setInputAction(function(Q){var T=Q.position;if(C="\u5355\u51FB\u5B8C\u6210\u7ED8\u5236",y.length==0){var w=E._createGeoPoints(x,[{x:T.x,y:T.y}]);y.push({x:w[0],y:w[1],z:w[2]},{x:w[0]+1e-7,y:w[1]+1e-7,z:w[2]}),I.push(w,w)}else y.length==2&&E.end&&E.end()},Ui.ScreenSpaceEventType.LEFT_CLICK),E.drawHandler.setInputAction(function(Q){E._core.CreateTooltip(C,Q.endPosition,!0);var T=Q.endPosition;if(y.length>1)if(Ui.defined(v)){y.pop(),I.pop();var S=E._createGeoPoints(x,[{x:T.x,y:T.y}]);y.push({x:S[0],y:S[1],z:S[2]}),I.push(S);var w=E._computeRoundedRectanglePoints(y),S=[];w.forEach(P=>{S.push(P.x,P.y,y[0].z)}),B=Ui.Cartesian3.fromDegreesArrayHeights(S)}else{var w=E._computeRoundedRectanglePoints(y),S=[];w.forEach(D=>{S.push(D.x,D.y,y[0].z)}),B=Ui.Cartesian3.fromDegreesArrayHeights(S),m=="polygon"?v=x.entities.add({name:"RoundedRectangle",polygon:{hierarchy:B,material:Ui.Color.fromCssColorString(E._core.defaultValue(A.color,"rgba(255,0,0,0.6)")),outline:E._core.defaultValue(A.outline,!0),outlineColor:Ui.Color.fromCssColorString(E._core.defaultValue(A.outlineColor,"rgba(255,0,0,0.6)"))}}):m=="box"&&(v=x.entities.add({name:"RoundedRectangle",polygon:{hierarchy:B,material:Ui.Color.fromCssColorString(E._core.defaultValue(A.color,"rgba(255,0,0,0.6)")),outline:E._core.defaultValue(A.outline,!0),outlineColor:Ui.Color.fromCssColorString(E._core.defaultValue(A.outlineColor,"rgba(255,0,0,0.6)")),extrudedHeight:S[2]+E._core.defaultValue(A.extrudedHeight,200),height:S[2]}})),v.polygon.hierarchy=new Ui.CallbackProperty(function(){return new Ui.PolygonHierarchy(B)},!1),v.GeoType="RoundedRectangle",E.MilitaryStandardObj.push(v.id)}},Ui.ScreenSpaceEventType.MOUSE_MOVE),E.drawHandler.setInputAction(function(Q){E.end&&E.end()},Ui.ScreenSpaceEventType.RIGHT_DOWN),this.end=Q=>{if(this.end=void 0,v&&(v.pottingPoint=I),E._core.CreateTooltip(C,void 0,!1),E.drawHandler.destroy(),E._core.mouse(E._viewer.container,0),setTimeout(function(){Ke.states=0},100),Q==="cancel"){v&&(x.entities.remove(v),E.MilitaryStandardObj.pop());return}f&&f(v)},this};$a.prototype.createSector=function(o,A,f){var m=o,C="\u5355\u51FB\u5F00\u59CB\u7ED8\u5236",E=this._viewer,x=this,y=[],I=[],v,B;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),x._core.mouse(x._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),Ke.states=1;var Q;return x.drawHandler=new Ui.ScreenSpaceEventHandler(E.scene.canvas),x.drawHandler.setInputAction(function(T){C="\u5355\u51FB\u6DFB\u52A0\u70B9";var w=T.position,S=x._createGeoPoints(E,[{x:w.x,y:w.y}]);y.length==0?(y.push({x:S[0],y:S[1],z:S[2]},{x:S[0],y:S[1],z:S[2]}),I.push(S,S)):y.length==2?(y.push({x:S[0],y:S[1],z:S[2]}),I.push(S)):y.length==3&&x.end&&x.end(),I.length===2&&!B&&(B=E.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new Ui.CallbackProperty(function(){return[Ui.Cartesian3.fromDegrees(I[0][0],I[0][1]),Ui.Cartesian3.fromDegrees(I[1][0],I[1][1])]},!1),clampToGround:!0,material:Ui.Color.fromCssColorString(x._core.defaultValue(A.color,"rgba(255,0,0,0.6)")),width:3}}))},Ui.ScreenSpaceEventType.LEFT_CLICK),x.drawHandler.setInputAction(function(T){x._core.CreateTooltip(C,T.endPosition,!0);var w=T.endPosition;if(y.length===2){y.pop(),I.pop();var S=x._createGeoPoints(E,[{x:w.x,y:w.y}]);y.push({x:S[0],y:S[1],z:S[2]}),I.push(S)}if(y.length>2)if(B&&E.entities.remove(B),Ui.defined(v)){y.pop(),I.pop();var S=x._createGeoPoints(E,[{x:w.x,y:w.y}]);y.push({x:S[0],y:S[1],z:S[2]}),I.push(S);var D=x._computeSectorPoints(y),S=[];D.forEach(M=>{S.push(M.x,M.y,y[0].z)}),Q=Ui.Cartesian3.fromDegreesArrayHeights(S)}else{var D=x._computeSectorPoints(y),S=[];D.forEach(P=>{S.push(P.x,P.y,y[0].z)}),Q=Ui.Cartesian3.fromDegreesArrayHeights(S),m=="polygon"?v=E.entities.add({name:"Sector",polygon:{hierarchy:Q,material:Ui.Color.fromCssColorString(x._core.defaultValue(A.color,"rgba(255,0,0,0.6)")),outline:x._core.defaultValue(A.outline,!0),outlineColor:Ui.Color.fromCssColorString(x._core.defaultValue(A.outlineColor,"rgba(255,0,0,0.6)"))}}):m=="box"&&(v=E.entities.add({name:"Sector",polygon:{hierarchy:Q,material:Ui.Color.fromCssColorString(x._core.defaultValue(A.color,"rgba(255,0,0,0.6)")),outline:x._core.defaultValue(A.outline,!0),outlineColor:Ui.Color.fromCssColorString(x._core.defaultValue(A.outlineColor,"rgba(255,0,0,0.6)")),extrudedHeight:S[2]+x._core.defaultValue(A.extrudedHeight,200),height:S[2]}})),v.polygon.hierarchy=new Ui.CallbackProperty(function(){return new Ui.PolygonHierarchy(Q)},!1),v.GeoType="Sector",x.MilitaryStandardObj.push(v.id)}},Ui.ScreenSpaceEventType.MOUSE_MOVE),x.drawHandler.setInputAction(function(T){x.end&&x.end()},Ui.ScreenSpaceEventType.RIGHT_DOWN),this.end=T=>{if(this.end=void 0,v&&(v.pottingPoint=I),x._core.CreateTooltip(C,void 0,!1),x.drawHandler.destroy(),x._core.mouse(x._viewer.container,0),B&&E.entities.remove(B),setTimeout(function(){Ke.states=0},100),T==="cancel"){v&&(E.entities.remove(v),x.MilitaryStandardObj.pop());return}f&&f(v)},this};$a.prototype.createBow=function(o,A,f){var m=o,C=this,E=this._viewer,x="\u5355\u51FB\u5F00\u59CB\u7ED8\u5236",y=[],I=[],v=void 0;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),C._core.mouse(C._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),Ke.states=1;var B;return C.drawHandler=new Ui.ScreenSpaceEventHandler(E.scene.canvas),C.drawHandler.setInputAction(function(Q){x="\u5355\u51FB\u6DFB\u52A0\u70B9";var T=Q.position,w=C._createGeoPoints(E,[{x:T.x,y:T.y}]);y.length==0?(y.push({x:w[0],y:w[1],z:w[2]}),I.push(w)):y.length==1?(y.push({x:w[0],y:w[1],z:w[2]},{x:w[0]+1e-7,y:w[1]+1e-7,z:w[2]}),I.push(w,w)):y.length==3&&C.end&&C.end()},Ui.ScreenSpaceEventType.LEFT_CLICK),C.drawHandler.setInputAction(function(Q){var T=Q.endPosition;if(C._core.CreateTooltip(x,Q.endPosition,!0),y.length>2)if(Ui.defined(v)){y.pop(),I.pop();var S=C._createGeoPoints(E,[{x:T.x,y:T.y}]);y.push({x:S[0],y:S[1],z:S[2]}),I.push(S);var w=C._computeBowPoints(y),S=[];w.forEach(P=>{S.push(P.x,P.y,y[0].z)}),B=Ui.Cartesian3.fromDegreesArrayHeights(S)}else{var w=C._computeBowPoints(y),S=[];w.forEach(D=>{S.push(D.x,D.y,y[0].z)}),B=Ui.Cartesian3.fromDegreesArrayHeights(S),m=="polygon"?v=E.entities.add({name:"Bow",polygon:{hierarchy:B,material:Ui.Color.fromCssColorString(C._core.defaultValue(A.color,"rgba(255,0,0,0.6)")),outline:C._core.defaultValue(A.outline,!0),outlineColor:Ui.Color.fromCssColorString(C._core.defaultValue(A.outlineColor,"rgba(255,0,0,0.6)"))}}):m=="box"&&(v=E.entities.add({name:"Bow",polygon:{hierarchy:B,material:Ui.Color.fromCssColorString(C._core.defaultValue(A.color,"rgba(255,0,0,0.6)")),outline:C._core.defaultValue(A.outline,!0),outlineColor:Ui.Color.fromCssColorString(C._core.defaultValue(A.outlineColor,"rgba(255,0,0,0.6)")),extrudedHeight:S[2]+C._core.defaultValue(A.extrudedHeight,200),height:S[2]}})),v.polygon.hierarchy=new Ui.CallbackProperty(function(){return new Ui.PolygonHierarchy(B)},!1),v.GeoType="Bow",C.MilitaryStandardObj.push(v.id)}},Ui.ScreenSpaceEventType.MOUSE_MOVE),C.drawHandler.setInputAction(function(Q){C.end&&C.end()},Ui.ScreenSpaceEventType.RIGHT_DOWN),this.end=Q=>{if(this.end=void 0,v&&(v.pottingPoint=I),C._core.CreateTooltip(x,void 0,!1),C.drawHandler.destroy(),C._core.mouse(C._viewer.container,0),setTimeout(function(){Ke.states=0},100),Q==="cancel"){v&&(E.entities.remove(v),C.MilitaryStandardObj.pop());return}f&&f(v)},this};$a.prototype.createPincerArrow=function(o,A,f){var m=o,C=this,E=this._viewer,x=[],y=[],I=[],v=void 0,B=null,Q=[],T="\u5355\u51FB\u5F00\u59CB\u7ED8\u5236";this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),C._core.mouse(C._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),Ke.states=1,C.drawHandler=new Ui.ScreenSpaceEventHandler(E.scene.canvas),C.drawHandler.setInputAction(function(w){var S,D=w.position;if(T="\u5355\u51FB\u589E\u52A0\u70B9",S=C._getPosition.getMousePosition(w),!!S)if(x.length>4){C._core.CreateTooltip(T,w.position,!1),v.pottingPoint=I,C.drawHandler.destroy(),C._core.mouse(C._viewer.container,0),setTimeout(function(){Ke.states=0},100),f&&f(v);return}else{x.push(S);var R=C._createGeoPoints(E,[{x:D.x,y:D.y}]);I.push(R)}},Ui.ScreenSpaceEventType.LEFT_CLICK),C.drawHandler.setInputAction(function(w){if(!(x.length<2)){C._core.CreateTooltip(T,w.endPosition,!0);var S;if(S=C._getPosition.getMousePosition(w),!!S&&x.length>=2)if(Ui.defined(v)){x.pop(),I.pop(),x.push(S);var D=C._createGeoPoints(E,[w.endPosition]);I.push(D)}else{x.push(S);var D=C._createGeoPoints(E,[w.endPosition]);I.push(D),v=C.showArrowOnMap(x,m,A),v.GeoType="PincerArrow",C.MilitaryStandardObj.push(v.id)}}},Ui.ScreenSpaceEventType.MOUSE_MOVE)};$a.prototype.createAttackArrow=function(o,A,f){var m=o,C=this,E=this._viewer,x=[],y=[],I=[],v=void 0,B=null,Q=[],T="\u5355\u51FB\u5F00\u59CB\u7ED8\u5236";this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),C._core.mouse(C._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),Ke.states=1,C.drawHandler=new Ui.ScreenSpaceEventHandler(E.scene.canvas),C.drawHandler.setInputAction(function(w){var S;if(T="\u5355\u51FB\u589E\u52A0\u70B9",S=C._getPosition.getMousePosition(w),!!S){x.push(S);var D=C._createGeoPoints(E,[w.position]);I.push(D)}},Ui.ScreenSpaceEventType.LEFT_CLICK),C.drawHandler.setInputAction(function(w){x.length>1&&(x.pop(),I.pop())},Ui.ScreenSpaceEventType.LEFT_DOUBLE_CLICK),C.drawHandler.setInputAction(function(w){if(!(x.length<2)){C._core.CreateTooltip(T,w.endPosition,!0);var S;if(S=C._getPosition.getMousePosition(w),!!S&&x.length>=2)if(Ui.defined(v)){x.pop(),I.pop(),x.push(S);var D=C._createGeoPoints(E,[w.endPosition]);I.push(D)}else{x.push(S);var D=C._createGeoPoints(E,[w.endPosition]);I.push(D),v=C.showAttackArrowOnMap(x,m,A),v.GeoType="AttackArrow",C.MilitaryStandardObj.push(v.id)}}},Ui.ScreenSpaceEventType.MOUSE_MOVE),C.drawHandler.setInputAction(function(w){C._core.CreateTooltip(T,w.position,!1),v.pottingPoint=I,C.drawHandler.destroy(),C._core.mouse(C._viewer.container,0),setTimeout(function(){Ke.states=0},100),f&&f(v)},Ui.ScreenSpaceEventType.RIGHT_DOWN)};$a.prototype.createHandlerPolygon=function(o,A,f){var m=o,C="\u5355\u51FB\u5F00\u59CB\u7ED8\u5236",E=this,x=this._viewer,y=[],I=[],v=void 0;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),E._core.mouse(E._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),Ke.states=1;var B;return E.drawHandler=new Ui.ScreenSpaceEventHandler(x.scene.canvas),E.drawHandler.setInputAction(function(Q){var T=Q.position;if(C="\u5355\u51FB\u5B8C\u6210\u7ED8\u5236",y.length==0){var w=E._createGeoPoints(x,[{x:T.x,y:T.y}]);y.push({x:w[0],y:w[1],z:w[2]},{x:w[0]+1e-7,y:w[1]+1e-7,z:w[2]}),I.push(w,w)}else y.length==2&&(E._core.CreateTooltip(C,T,!1),v.pottingPoint=I,setTimeout(function(){Ke.states=0},100),E.drawHandler.destroy(),E._core.mouse(E._viewer.container,0),f&&f(v))},Ui.ScreenSpaceEventType.LEFT_CLICK),E.drawHandler.setInputAction(function(Q){var T=Q.endPosition;if(E._core.CreateTooltip(C,Q.endPosition,!0),y.length>1){var w,S,D,R;if(!Ui.defined(v))D=E._computeGatheringPlacePoints(y),R=E.createCloseCardinal(D),w=E.calculatePointsFBZ3(R,100),S=[],w.forEach(P=>{S.push(P.x,P.y,y[0].z)}),B=S,v=E.plotingGatheringPlace(x,y,m,A),v.polygon.hierarchy=new Ui.CallbackProperty(function(){return new Ui.PolygonHierarchy(Ui.Cartesian3.fromDegreesArrayHeights(B))},!1),v.GeoType="GatheringPlace",E.MilitaryStandardObj.push(v.id);else{y.pop(),I.pop();var S=E._createGeoPoints(x,[{x:T.x,y:T.y}]);y.push({x:S[0],y:S[1],z:S[2]}),I.push(S),D=E._computeGatheringPlacePoints(y),R=E.createCloseCardinal(D),w=E.calculatePointsFBZ3(R,100);var S=[];w.forEach(M=>{S.push(M.x,M.y,y[0].z)}),B=S}}},Ui.ScreenSpaceEventType.MOUSE_MOVE),y};$a.prototype.plotingGatheringPlace=function(o,A,f,m){var C=this._computeGatheringPlacePoints(A),E=this.createCloseCardinal(C),x=this.calculatePointsFBZ3(E,100),y=this._createGeoPoints(o,x),I;return f=="polygon"?I=o.entities.add({name:"GatheringPlace",polygon:{hierarchy:Ui.Cartesian3.fromDegreesArrayHeights(y),material:Ui.Color.fromCssColorString(this._core.defaultValue(m.color,"rgba(255,0,0,0.6)")),outline:this._core.defaultValue(m.outline,!0),outlineColor:Ui.Color.fromCssColorString(this._core.defaultValue(m.outlineColor,"rgba(255,0,0,0.6)"))}}):I=o.entities.add({name:"GatheringPlace",polygon:{hierarchy:Ui.Cartesian3.fromDegreesArrayHeights(y),extrudedHeight:this._core.defaultValue(m.extrudedHeight,200)+y[2],height:y[2],material:Ui.Color.fromCssColorString(this._core.defaultValue(m.color,"rgba(255,0,0,0.6)")),outline:this._core.defaultValue(m.outline,!0),outlineColor:Ui.Color.fromCssColorString(this._core.defaultValue(m.outlineColor,"rgba(255,0,0,0.6)"))}}),I};$a.prototype.addFeature=function(o){let A,f=o.geometry.coordinates,m=[];if(o.type=="PincerArrow"){let x=jT.algorithm.doubleArrow(f),y=[];JSON.stringify(x.polygonalPoint).indexOf("null")==-1&&(y=x.polygonalPoint),A=y}else if(o.type=="AttackArrow"){let x=jT.algorithm.tailedAttackArrow(f),y=JSON.stringify(x.polygonalPoint).indexOf("null"),I=[];y==-1&&(I=x.polygonalPoint),A=I}else if(f.forEach(x=>{m.push({x:x[0],y:x[1],z:x[2]})}),o.type=="StraightArrow")A=this.calculateMorePoints(m);else if(o.type=="RoundedRectangle")A=this._computeRoundedRectanglePoints(m);else if(o.type=="Sector")A=this._computeSectorPoints(m);else if(o.type=="Bow")A=this._computeBowPoints(m);else if(o.type=="GatheringPlace"){let x=this._computeGatheringPlacePoints(m),y=this.createCloseCardinal(x);A=this.calculatePointsFBZ3(y,100)}else o.type=="SwallowtailArrow"?A=this._computeSwallowtailArrow(m):o.type=="Bezierline"?A=this._createBezierPoints(m):o.type=="BezierArrow"&&(A=this._createBezierPoints(m));let C;o.type!=="AttackArrow"&&o.type!=="PincerArrow"?(C=[],A.forEach(x=>{C.push(x.x,x.y,m[0].z)}),C=Ui.Cartesian3.fromDegreesArrayHeights(C)):C=A;let E;return o.type.indexOf("Bezier")>=0?E=this._viewer.entities.add({id:o.id,name:o.name,polyline:{positions:new Ui.CallbackProperty(function(){return C},!1),width:o.style.width,clampToGround:!0,material:o.type==="BezierArrow"?new Ui.PolylineArrowMaterialProperty(new Ui.Color.fromCssColorString(o.style.fillColor.color).withAlpha(o.style.fillColor.alpha)):new Ui.Color.fromCssColorString(o.style.fillColor.color).withAlpha(o.style.fillColor.alpha)}}):E=this._viewer.entities.add({id:o.id,name:o.name,polygon:{hierarchy:new Ui.CallbackProperty(function(){return new Ui.PolygonHierarchy(C)},!1),fill:!0,extrudedHeight:o.style.extrudedHeight!==void 0?o.style.extrudedHeight+o.style.height:void 0,height:o.style.height,material:new Ui.Color.fromCssColorString(o.style.fillColor.color).withAlpha(o.style.fillColor.alpha),outline:o.style.outline,outlineColor:o.style.outlineColor?new Ui.Color.fromCssColorString(o.style.outlineColor.color).withAlpha(o.style.outlineColor.alpha):void 0}}),E.GeoType=o.type,E.pottingPoint=f,!o.removeEdit&&this.MilitaryStandardObj.push(E.id),this.defaultEdit(),E};$a.prototype.open=function(o){var A=this,f=this._viewer,m=new FileReader;m.readAsText(o);var C=new Ui.EntityCollection;return m.onload=function(){JSON.parse(this.result).features.forEach(y=>{let I=A.addFeature(y);C.add(I)}),f.flyTo(C),A.MilitaryStandardObj.length&&!A.editHandler&&A.edit(A.openEdit,A.editOption)},C};$a.prototype.clear=function(){var o=this._viewer;this.MilitaryStandardObj.forEach(A=>{o.entities.removeById(A)}),this.MilitaryStandardObj=[],window.layuiLayer.close(SmartEarthPopupData.layerIndex),!this.MilitaryStandardObj.length&&this.editHandler&&this.edit(!1)};$a.prototype.getColor=function(o){return{color:this.colorHex("rgb("+o.red*255+","+o.green*255+","+o.blue*255+")"),alpha:o.alpha}};$a.prototype.getFeature=function(o){let A={id:o.id,type:o.GeoType,name:o.name,editType:""},f=o.pottingPoint;return o.polyline?(A.editType="GroundPolyline",A.geometry={type:"polyline",coordinates:f},A.style={fillColor:this.getColor(o.polyline.material.color._value),width:o.polyline.width.getValue()}):(A.editType="GroundPolygon",A.geometry={type:"polygon",coordinates:f},A.style={fillColor:this.getColor(o.polygon.material.color._value)},o.polygon.extrudedHeight&&(A.editType="ExtrudedPolygon",A.style.height=o.polygon.height.getValue(),A.style.extrudedHeight=o.polygon.extrudedHeight.getValue()-o.polygon.height.getValue(),o.polygon.outline&&(A.style.outline=o.polygon.outline.getValue()),o.polygon.outlineColor&&(A.style.outlineColor=this.getColor(o.polygon.outlineColor._value)))),A};$a.prototype.save=function(){var o=this._viewer,A={type:"FeatureCollection",features:[]},f;this.MilitaryStandardObj.forEach(E=>{let x=o.entities.getById(E);x&&(f=this.getFeature(x)),A.features.push(f)});var m=JSON.stringify(A),C=new Blob([m],{type:"text/plain;charset=utf-8"});this._core.saveAs(C,"\u519B\u6807.json")};$a.prototype.colorHex=function(o){var A=o,f=/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;if(/^(rgb|RGB)/.test(A)){var m=A.replace(/(rgb|RGB)*/g,"");m=m.replace("(","").replace(")","");for(var C=m.split(","),E="#",x=0;x<C.length;x++){var y=Number(C[x]).toString(16);y=y.length===1?0+""+y:y,y==="0"&&(y+=y),E+=y}return E.length!==7&&(E=A),E}else if(f.test(A)){var I=A.replace(/#/,"").split("");if(I.length===6)return A;if(I.length===3){for(var v="#",x=0;x<I.length;x+=1)v+=I[x]+I[x];return v}}else return A};$a.prototype.copyJb=function(o){var A;if(o.type=="StraightArrow"||o.type=="SwallowtailArrow"||o.type=="PincerArrow"){var f={holes:[],positions:this.szposis(o.pos)};A=this._viewer.entities.add({name:"StraightArrow",polygon:{hierarchy:f,material:Ui.Color.RED.withAlpha(.5)}})}else o.type=="BezierArrow"?A=this._viewer.entities.add({name:"BezierArrow",polyline:{positions:this.szposis(o.pos),width:5,clampToGround:!0,material:new Ui.PolylineArrowMaterialProperty(Ui.Color.RED)}}):o.img?A=this._viewer.entities.add({position:this.zfsz(o.pos),billboard:{image:o.img,show:!0}}):o.text&&(A=this._viewer.entities.add({position:this.zfsz(o.pos),label:{text:o.text,horizontalOrigin:Ui.HorizontalOrigin.CENTER,verticalOrigin:Ui.VerticalOrigin.CENTER,show:!0,showBackground:!1}}));return A._id=o.id,that.objectsToExclude.push(A),A};$a.prototype.getEntityById=function(o){var A=this._viewer.entities.getById(o),f;return A.polyline!=null&&A.polyline?f={obj:A.polyline,type:A.name,posion:A.polyline.positions.getValue()}:A.polygon!=null&&A.polygon?f={obj:A.polygon,type:A.name,posion:A.polygon.hierarchy.getValue().positions}:A.label!=null&&A.label?f={obj:A.label,type:"lable",text:A.label.text.getValue(),posion:A.position.getValue()}:A.billboard!=null&&A.billboard&&(f={obj:A.billboard,type:"img",img:A.billboard.image.getValue(),posion:A.position.getValue()}),f};$a.prototype.szposis=function(o){for(var A=[],f=o.split(",("),m=0;m<f.length;m++){var C=this.zfsz(f[m]);A.push(C)}return A};$a.prototype.zfsz=function(o){for(var A,f=o.split(","),m=0;m<f.length;m++)(f[m].indexOf("(")!=-1||f[m].indexOf(")")!=-1)&&(f[m]=f[m].replace("(",""));return A={x:parseFloat(f[0]),y:parseFloat(f[1]),z:parseFloat(f[2])},A};$a.prototype.showArrowOnMap=function(o,A,f){var m=this,C=m._viewer.scene.globe.ellipsoid.cartesianToCartographic(o[0]),E=C.height,x=function(){if(o.length<3)return null;for(var I=[],v=0;v<o.length;v++){var B=m._viewer.scene.globe.ellipsoid.cartesianToCartographic(o[v]),Q=Ui.Math.toDegrees(B.latitude),T=Ui.Math.toDegrees(B.longitude);I.push([T,Q])}var w=jT.algorithm.doubleArrow(I),S=[],D=JSON.stringify(w.polygonalPoint).indexOf("null");return D==-1&&(S=w.polygonalPoint),new Ui.PolygonHierarchy(S)},y;return A=="polygon"?y=m._viewer.entities.add({name:"PincerArrow",polygon:new Ui.PolygonGraphics({hierarchy:new Ui.CallbackProperty(x,!1),show:!0,fill:!0,material:Ui.Color.fromCssColorString(m._core.defaultValue(f.color,"rgba(255,0,0,0.6)")),outline:m._core.defaultValue(f.outline,!0),outlineColor:Ui.Color.fromCssColorString(m._core.defaultValue(f.outlineColor,"rgba(255,0,0,0.6)"))})}):A=="box"&&(y=m._viewer.entities.add({name:"PincerArrow",polygon:new Ui.PolygonGraphics({hierarchy:new Ui.CallbackProperty(x,!1),show:!0,fill:!0,material:Ui.Color.fromCssColorString(m._core.defaultValue(f.color,"rgba(255,0,0,0.6)")),outline:m._core.defaultValue(f.outline,!0),outlineColor:Ui.Color.fromCssColorString(m._core.defaultValue(f.outlineColor,"rgba(255,0,0,0.6)")),extrudedHeight:E+m._core.defaultValue(f.extrudedHeight,200),height:E})})),y};$a.prototype.showAttackArrowOnMap=function(o,A,f){var m=this,C=m._viewer.scene.globe.ellipsoid.cartesianToCartographic(o[0]),E=C.height,x=function(){if(o.length<3)return null;for(var y=[],I=0;I<o.length;I++){var v=m.cartesianToLatlng(o[I]);y.push(v)}var B=jT.algorithm.tailedAttackArrow(y),Q=JSON.stringify(B.polygonalPoint).indexOf("null"),T=[];return Q==-1&&(T=B.polygonalPoint),new Ui.PolygonHierarchy(T)};return this._viewer.entities.add({name:"AttackArrow",polygon:new Ui.PolygonGraphics({hierarchy:new Ui.CallbackProperty(x,!1),show:!0,fill:!0,classificationType:Ui.ClassificationType.TERRAIN,extrudedHeight:A==="box"?m._core.defaultValue(f.extrudedHeight,200)+E:void 0,height:A==="box"?E:void 0,material:Ui.Color.fromCssColorString(m._core.defaultValue(f.color,"rgba(255,0,0,0.6)")),outline:m._core.defaultValue(f.outline,!0),outlineColor:Ui.Color.fromCssColorString(m._core.defaultValue(f.outlineColor,"rgba(255,0,0,0.6)"))})})};$a.prototype.cartesianToLatlng=function(o){var A=this._viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=Ui.Math.toDegrees(A.latitude),m=Ui.Math.toDegrees(A.longitude);return[m,f]};$a.prototype.getCatesian3FromPX=function(o,A){var f=this._viewer.scene.drillPick(o);this._viewer.render();for(var m,C=!0,E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof Ui.Cesium3DTileFeature)&&(C=!0);if(C)m=this._viewer.scene.pickPosition(o);else{var x=this._viewer.camera.getPickRay(o);if(!x)return null;m=this._viewer.scene.globe.pick(x,this._viewer.scene)}return m};$a.prototype._createGeoPoints=function(o,A){for(var f=[],m,C,E,x,y,I,v,B,Q=0;Q<A.length;Q++)m=o.camera.getPickRay(A[Q]),m&&(C=o.scene.globe.pick(m,o.scene)),C&&(x=Ui.Cartographic.fromCartesian(C),y=Ui.Math.toDegrees(x.longitude),I=Ui.Math.toDegrees(x.latitude),v=x.height,f.push(y,I,v));return f};$a.prototype._createScreenPoints=function(o,A){for(var f=[],m,C=0;C<A.length;C++)m=o.scene.cartesianToCanvasCoordinates(A[C]),f.push(m);return f};$a.prototype._createBezierPoints=function(o){for(var A=100,f=[],m=0;m<=A;m++){var C=this._computeBezierPoints(o,m/A);f.push(C)}return f};$a.prototype._computeBezierPoints=function(o,A){for(var f=0,m=0,C=0,E=this._computeBinomial(o),x=0;x<o.length;x++){var y=o[x];f+=y.x*Math.pow(1-A,o.length-1-x)*Math.pow(A,x)*E[x],m+=y.y*Math.pow(1-A,o.length-1-x)*Math.pow(A,x)*E[x]}return{x:f,y:m}};$a.prototype._computeBinomial=function(o){var A=o.length,f=[];f.push(1);for(var m=1;m<A-1;m++){for(var C=1,E=1,x=0;x<m;x++)C=C*(A-1-x),E=E*(m-x);f.push(C/E)}return f.push(1),f};$a.prototype._computeGatheringPlacePoints=function(o){var A=[];if(o.length==2){var f=o[0],m=o[o.length-1],C={x:m.x-f.x,y:m.y-f.y},E=Math.sqrt(C.x*C.x+C.y*C.y),x=this.calculateVector(C,Math.PI/3,Math.sqrt(3)/12*E),y=x[1],I={x:f.x+y.x,y:f.y+y.y},v={x:(f.x+m.x)/2,y:(f.y+m.y)/2},B=this.calculateVector(C,Math.PI*2/3,Math.sqrt(3)/12*E),Q=B[1],T={x:m.x+Q.x,y:m.y+Q.y},w=this.calculateVector(C,Math.PI/2,1/2*E),S=w[0],D={x:S.x+v.x,y:S.y+v.y},R=f,P=m;A.push(R,I,v,T,P,D)}return A};$a.prototype.createCloseCardinal=function(o){if(o==null||o.length<3)return o;var A=o[0];o.push(A);for(var f=o,m=[],C=.4,E=.5,x=.005,y=f.length-1,I=0;I<=y-1;I++){if(I==y-1)var v=f[y-1],B=f[0],Q=f[1];else var v=f[I],B=f[I+1],Q=f[I+2];var T={x:void 0,y:void 0},w={x:void 0,y:void 0},S={x:B.x-v.x,y:B.y-v.y},D={x:Q.x-B.x,y:Q.y-B.y},R=Math.sqrt(S.x*S.x+S.y*S.y),P=Math.sqrt(D.x*D.x+D.y*D.y),M={x:S.x/R,y:S.y/R},L={x:D.x/P,y:D.y/P},F={x:M.x+L.x,y:M.y+L.y},k=Math.sqrt(F.x*F.x+F.y*F.y),N={x:F.x/k,y:F.y/k},G=(M.x*L.x+M.y*L.y)/1;Math.abs(1-G)<x?(T.x=B.x-L.x*R*C,T.y=B.y-L.y*R*C,w.x=B.x+M.x*P*C,w.y=B.y+M.y*P*C):(T.x=B.x-N.x*R*C,T.y=B.y-N.y*R*C,w.x=B.x+N.x*P*C,w.y=B.y+N.y*P*C),I==y-1?(m[0]=B,m[1]=w,m[(y-2)*3+2+3]=T,m[(y-2)*3+2+4]=f[y]):(m[I*3+2+0]=T,m[I*3+2+1]=B,m[I*3+2+2]=w)}return m};$a.prototype.calculatePointsFBZ3=function(o,A){A||(A=20);var f=[],m=.05;A>0&&(m=1/A);for(var C=0;C<o.length-3;){var E=o[C],x=o[C+1],y=o[C+2],I=o[C+3];f.push(E);for(var v=0;v<1;){var B=(1-v)*(1-v)*(1-v)*E.x+3*v*(1-v)*(1-v)*x.x+3*v*v*(1-v)*y.x+v*v*v*I.x,Q=(1-v)*(1-v)*(1-v)*E.y+3*v*(1-v)*(1-v)*x.y+3*v*v*(1-v)*y.y+v*v*v*I.y,T={x:B,y:Q};f.push(T),v+=m}C+=3,C>=o.length&&f.push(E)}var w=f[f.length-1],S=o[o.length-1];return f};$a.prototype.calculateVector=function(o,A,f){A||(A=Math.PI/2),f||(f=1);var m,C,E,x,y,I,v=Math.sqrt(o.x*o.x+o.y*o.y);if(o.y==0)m=C=v*f*Math.cos(A)/o.x,o.x>0?(E=Math.sqrt(f*f-m*m),x=-E):o.x<0&&(x=Math.sqrt(f*f-m*m),E=-x),y={x:m,y:E},I={x:C,y:x};else{var B=-o.x/o.y,Q=f*v*Math.cos(A)/o.y,T=1+B*B,w=2*B*Q,S=Q*Q-f*f;m=(-w-Math.sqrt(w*w-4*T*S))/(2*T),C=(-w+Math.sqrt(w*w-4*T*S))/(2*T),E=B*m+Q,x=B*C+Q,o.y>=0?(y={x:m,y:E},I={x:C,y:x}):o.y<0&&(y={x:C,y:x},I={x:m,y:E})}return[y,I]};$a.prototype.plotingSwallowtailArrow=function(o,A,f,m){var C=this._computeSwallowtailArrow(A),E=[];C.forEach(y=>{E.push(y.x,y.y,A[0].z)});var x;return f=="polygon"?x=o.entities.add({name:"SwallowtailArrow",polygon:{hierarchy:Ui.Cartesian3.fromDegreesArrayHeights(E),material:Ui.Color.fromCssColorString(this._core.defaultValue(m.color,"rgba(255,0,0,0.6)"))}}):f=="box"&&(x=o.entities.add({name:"SwallowtailArrow",polygon:{hierarchy:Ui.Cartesian3.fromDegreesArrayHeights(E),material:Ui.Color.fromCssColorString(this._core.defaultValue(m.color,"rgba(255,0,0,0.6)")),extrudedHeight:E[2]+this._core.defaultValue(m.extrudedHeight,200),height:E[2],outline:this._core.defaultValue(m.outline,!0),outlineColor:Ui.Color.fromCssColorString(this._core.defaultValue(m.outlineColor,"rgba(255,0,0,0.6)"))}})),x};$a.prototype._computeSwallowtailArrow=function(o){var A=o[0].x,f=o[0].y,m=o[1].x,C=o[1].y,E=(15.8*m+3.2*A)/19,x=(15.8*C+3.2*f)/19,y=new Array(7);return y[0]={x:m,y:C},y[1]={x:E+.85/3.2*(C-x),y:x-.85/3.2*(m-E)},y[2]={x:E+.25/3.2*(C-x),y:x-.25/3.2*(m-E)},y[3]={x:A+1.6/19*(C-f),y:f-1.6/19*(m-A)},y[4]={x:(3.2*m+15.8*A)/19,y:(3.2*C+15.8*f)/19},y[5]={x:A-1.6/19*(C-f),y:f+1.6/19*(m-A)},y[6]={x:E-.25/3.2*(C-x),y:x+.25/3.2*(m-E)},y[7]={x:E-.85/3.2*(C-x),y:x+.85/3.2*(m-E)},y};$a.prototype.calculateMorePoints=function(o){var A=6,f;if(o.length>2){for(var m=0,C,E,x,y=0;y<o.length-1;y++)E=o[y],x=o[y+1],m+=Math.sqrt((x.y-E.y)*(x.y-E.y)+(x.x-E.x)*(x.x-E.x));C=m/A;for(var I=[],v=[],B={x:void 0,y:void 0},Q={x:void 0,y:void 0},T=0;T<o.length-2;T++){var w=o[T],S=o[T+1],D=o[T+2],R={x:S.x-w.x,y:S.y-w.y},P={x:D.x-S.x,y:D.y-S.y},M=this.calculateVector(R,Math.PI/2,C/2),L=M[0],F=M[1],k=this.calculateVector(P,Math.PI/2,C/2),N=k[0],G=k[1],J={x:w.x+L.x,y:w.y+L.y},K={x:w.x+F.x,y:w.y+F.y},X={x:S.x+N.x,y:S.y+N.y},q={x:S.x+G.x,y:S.y+G.y},ee=this.calculateIntersection(R,P,J,X),ie=this.calculateIntersection(R,P,K,q),H,le;if(T==0)B=J,Q=K,H={x:(B.x+ee.x)/2,y:(B.y+ee.y)/2},le={x:(Q.x+ie.x)/2,y:(Q.y+ie.y)/2},I.push(H),v.push(le);else{var ue=I[I.length-1],Ae=v[v.length-1];H={x:(ue.x+ee.x)/2,y:(ue.y+ee.y)/2},le={x:(Ae.x+ie.x)/2,y:(Ae.y+ie.y)/2},I.push(H),v.push(le)}I.push(ee),v.push(ie)}var he=o[o.length-2],ge=o[o.length-1],fe={x:ge.x-he.x,y:ge.y-he.y},ae=Math.sqrt(fe.x*fe.x+fe.y*fe.y),U,W,Y=[],z={x:void 0,y:void 0},re={x:void 0,y:void 0},se={x:void 0,y:void 0},de={x:void 0,y:void 0},me={x:void 0,y:void 0},Ce={x:void 0,y:void 0},Ie=I[I.length-1],we=v[v.length-1];if(ae<=C)Y=this.calculateVector(fe,Math.PI/2,C/2),z=Y[0],re=Y[1],U={x:he.x+z.x,y:he.y+z.y},W={x:he.x+re.x,y:he.y+re.y},se={x:(Ie.x+U.x)/2,y:(Ie.y+U.y)/2},de={x:(we.x+W.x)/2,y:(we.y+W.y)/2},I.push(se),v.push(de),me={x:2*U.x-he.x,y:2*U.y-he.y},Ce={x:2*W.x-he.x,y:2*W.y-he.y};else{var Te={x:ge.x-he.x,y:ge.y-he.y},Ge=Math.sqrt(Te.x*Te.x+Te.y*Te.y),ke={x:ge.x-Te.x*C/Ge,y:ge.y-Te.y*C/Ge};Y=this.calculateVector(fe,Math.PI/2,C/2),z=Y[0],re=Y[1],U={x:ke.x+z.x,y:ke.y+z.y},W={x:ke.x+re.x,y:ke.y+re.y},se={x:(Ie.x+U.x)/2,y:(Ie.y+U.y)/2},de={x:(we.x+W.x)/2,y:(we.y+W.y)/2},I.push(se),v.push(de),me={x:2*U.x-ke.x,y:2*U.y-ke.y},Ce={x:2*W.x-ke.x,y:2*W.y-ke.y}}for(var Oe=[],Le=[],y=0;y<I.length-2;y++){var be=[],Ne=[],Ue=I[y],ze=I[y+1],Je=I[y+2],Xe=v[y],et=v[y+1],ot=v[y+2];be.push(Ue,ze,Je),Ne.push(Xe,et,ot);var Et=this._createBezierPoints(be),Ct=this._createBezierPoints(Ne);Oe=Oe.concat(Et),Le=Le.concat(Ct)}f=[B],f=f.concat(Oe),f.push(U),f.push(me),f.push(ge),f.push(Ce),f.push(W),f=f.concat(Le.reverse()),f.push(Q)}else f=this.calculateTwoPoints(o);return f};$a.prototype.calculateIntersection=function(o,A,f,m){var C,E;return o.y*A.x-o.x*A.y==0?o.x*A.x>0||o.y*A.y>0?(C=(f.x+m.x)/2,E=(f.y+m.y)/2):(C=m.x,E=m.y):(C=(o.x*A.x*(m.y-f.y)+f.x*o.y*A.x-m.x*A.y*o.x)/(o.y*A.x-o.x*A.y),o.x!=0?E=(C-f.x)*o.y/o.x+f.y:E=(C-m.x)*A.y/A.x+m.y),{x:C,y:E}};$a.prototype.calculateTwoPoints=function(o){var A=6,f=o[0],m=o[1],C=[],E={x:m.x-f.x,y:m.y-f.y},x=Math.sqrt((m.x-f.x)*(m.x-f.x)+(m.y-f.y)*(m.y-f.y)),y=x/A,I=f.x+5*(m.x-f.x)/A,v=f.y+5*(m.y-f.y)/A,B=this.calculateVector(E,Math.PI/2,y/2),Q=B[0],T=B[1],w={x:f.x+Q.x,y:f.y+Q.y},S={x:I+Q.x,y:v+Q.y},D={x:I+2*Q.x,y:v+2*Q.y},R={x:m.x,y:m.y},P={x:I+2*T.x,y:v+2*T.y},M={x:I+T.x,y:v+T.y},L={x:f.x+T.x,y:f.y+T.y};return C.push(w,S,D,R,P,M,L),C};$a.prototype._computeRoundedRectanglePoints=function(o){for(var A=(o[0].x+o[1].x)/2,f=(o[0].y+o[1].y)/2,m={x:A,y:f},C=Math.abs(o[0].x-o[1].x),E=Math.abs(o[0].y-o[1].y),x=1/10*Math.min(C,E),y=A-C/2+x,I=f-E/2+x,v={x:y,y:I},B={x:A+C/2-x,y:f-E/2+x},Q={x:A+C/2-x,y:f+E/2-x},T={x:A-C/2+x,y:f+E/2-x},w=Math.PI/180,S=[],D=Math.PI,R=3/2*Math.PI,P=D,M=0;M<Math.abs(D-R);M+=w){var L=v.x+x*Math.cos(P),F=v.y+x*Math.sin(P);P=P+w,P=P<0?2*Math.PI+P:P,P=P>2*Math.PI?2*Math.PI-P:P,S.push({x:L,y:F})}for(var k=S,N=Math.PI*3/2,G=2*Math.PI,J=N,M=0;M<Math.abs(N-G);M+=w){var L=B.x+x*Math.cos(J),F=B.y+x*Math.sin(J);J=J+w,J=J<0?2*Math.PI+J:J,J=J>2*Math.PI?2*Math.PI-J:J,k.push({x:L,y:F})}for(var K=k,X=0,q=1/2*Math.PI,ee=X,M=0;M<Math.abs(X-q);M+=w){var L=Q.x+x*Math.cos(ee),F=Q.y+x*Math.sin(ee);ee=ee+w,ee=ee<0?2*Math.PI+ee:ee,ee=ee>2*Math.PI?2*Math.PI-ee:ee,K.push({x:L,y:F})}for(var ie=K,H=1/2*Math.PI,le=Math.PI,ue=H,M=0;M<Math.abs(H-le);M+=w){var L=T.x+x*Math.cos(ue),F=T.y+x*Math.sin(ue);ue=ue+w,ue=ue<0?2*Math.PI+ue:ue,ue=ue>2*Math.PI?2*Math.PI-ue:ue,ie.push({x:L,y:F})}return ie};$a.prototype._computeSectorPoints=function(o){var A=this.calculateAngle(o[0],o[1]),f=this.calculateAngle(o[0],o[2]);A>f&&(f=2*Math.PI+f);for(var m=Math.PI/180,C=A,E=[o[0]],x=Math.sqrt((o[1].x-o[0].x)*(o[1].x-o[0].x)+(o[1].y-o[0].y)*(o[1].y-o[0].y)),y=0;y<Math.abs(A-f);y+=m){var I=o[0].x+x*Math.cos(C),v=o[0].y+x*Math.sin(C);C=C+m,C=C<0?2*Math.PI+C:C,C=C>2*Math.PI?C-2*Math.PI:C,E.push({x:I,y:v})}return E};$a.prototype.calculateAngle=function(o,A){var f={x:A.x-o.x,y:A.y-o.y},m=Math.atan2(f.y,f.x);return m<0&&(m=m+2*Math.PI),m};$a.prototype._computeBowPoints=function(o){var A=2*(o[1].x-o[0].x),f=2*(o[1].y-o[0].y),m=o[1].x*o[1].x+o[1].y*o[1].y-o[0].x*o[0].x-o[0].y*o[0].y,C=2*(o[2].x-o[1].x),E=2*(o[2].y-o[1].y),x=o[2].x*o[2].x+o[2].y*o[2].y-o[1].x*o[1].x-o[1].y*o[1].y,y=(m*E-x*f)/(A*E-C*f),I=(A*x-C*m)/(A*E-C*f),v={x:y,y:I},B=Math.sqrt((o[0].x-y)*(o[0].x-y)+(o[0].y-I)*(o[0].y-I)),Q=this.calculateAngle(v,o[0]),T=this.calculateAngle(v,o[1]),w=this.calculateAngle(v,o[2]),S=Math.PI/180,D=void 0,R=[];if(Q<w&&w<T||T<w&&w<Q){D=Q<T?Q:T;for(var P=0;P<Math.abs(Q-T);P+=S){var M=y+B*Math.cos(D),L=I+B*Math.sin(D);D=D+S,D=D<0?2*Math.PI+D:D,D=D>2*Math.PI?2*Math.PI-D:D,R.push({x:M,y:L})}}else{D=Q>T?Q:T;for(var P=0;P<2*Math.PI-Math.abs(Q-T);P+=S){var M=y+B*Math.cos(D),L=I+B*Math.sin(D);D=D+S,D=D<0?2*Math.PI+D:D,D=D>2*Math.PI?D-2*Math.PI:D,R.push({x:M,y:L})}}return R};$a.prototype.Cdcl=function(o,A,f,m){var C=0,E=6378137,x=Math.PI;function y(G){return G*x/180}var I=y((o+f)/2),v=y((o-f)/2),B=y((A-m)/2),Q=Math.sin(v),T=Math.sin(B),w=Math.sin(I),S,D,R,P,M,L,F,k=E,N=1/298.257;return Q=Q*Q,T=T*T,w=w*w,S=Q*(1-T)+(1-w)*T,D=(1-Q)*(1-T)+w*T,R=Math.atan(Math.sqrt(S/D)),P=Math.sqrt(S*D)/R,M=2*R*k,L=(3*P-1)/2/D,F=(3*P+1)/2/S,C=M*(1+N*(L*w*(1-Q)-F*(1-w)*Q)),C};$a.prototype.createPoint=function(o,A){if(!!o)return this._viewer.entities.add({position:o,point:{pixelSize:10,color:Ui.Color.ROYALBLUE,outlineWidth:2,outlineColor:Ui.Color.WHITE,disableDepthTestDistance:Number.POSITIVE_INFINITY},show:A})};$a.prototype.setEdit=function(o,A){o===void 0&&(o=!0),this.openEdit=o,A&&(this.editOption=A),this.defaultEdit()};$a.prototype.openEditProp=function(o,A){var f=this;A||(A=this.editOption||{editPropData:{}}),!((!SmartEarthPopupData.editGraphic||!SmartEarthPopupData.editGraphic.entity)&&!this.startEdit(o))&&(!A.editPropData&&(A.editPropData={}),this._popupmessage.createPopupProp("\u5C5E\u6027\u7F16\u8F91",{width:A.editPropData.width||360,height:A.editPropData.height||"90%",url:"Workers/prop/jb_prop.html",shade:A.editPropData.shade,offset:A.editPropData.offset,type:o.polyline?"GroundPolyline":f.heightpoints.length>0?"ExtrudedPolygon":"GroundPolygon",fn:{success:function(m,C){A.editPropData.success&&A.editPropData.success(m,C),SmartEarthPopupData.layerIndex=C,SmartEarthPopupData.window=m.find("iframe")[0].contentWindow},end:function(){A.callBack&&A.callBack.end&&A.callBack.end(o),f.endThisEdit&&f.endThisEdit(),SmartEarthPopupData.layerIndex=void 0,SmartEarthPopupData.window=void 0}}}))};$a.prototype.defaultEdit=function(){this.openEdit?this.MilitaryStandardObj.length&&!this.editHandler?this.edit(this.openEdit,this.editOption):!this.MilitaryStandardObj.length&&this.editHandler&&this.edit(!1):this.editHandler&&this.edit(!1)};$a.prototype.startEdit=function(o){var A=this,f=this._viewer;if(A.MilitaryStandardObj.indexOf(o.id)===-1)return;let m=o;var C=m.pottingPoint;if(!!C){this.isEditting=!0;var E=C,x={x:0,y:0,z:0};for(var y in E){var I=E[y];x.x+=I[0],x.y+=I[1],x.z+=I[2];var v=Ui.Cartesian3.fromDegreesArrayHeights(I),B=f.entities.add({name:"polygon_point",position:v[0],point:{pixelSize:10,color:Ui.Color.ROYALBLUE,outlineWidth:2,outlineColor:Ui.Color.WHITE.withAlpha(.6),disableDepthTestDistance:Number.POSITIVE_INFINITY}});B.pottingPoint=I,Ke.pointsId.push(B.id),A.objectsToExclude.push(B);var Q;if(m.polygon&&m.polygon.extrudedHeight){if(v.x)var T=Ui.Cartographic.fromCartesian(v);else var T=Ui.Cartographic.fromCartesian(v[0]);var w=Ui.Math.toDegrees(T.longitude),S=Ui.Math.toDegrees(T.latitude),D=m.polygon.extrudedHeight.getValue(),R=Ui.Cartesian3.fromDegrees(w,S,D);Q=f.entities.add({name:"box_point",position:R,point:{color:Ui.Color.YELLOW,pixelSize:12,outlineColor:Ui.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),Q.pottingPoint=I,Q.pointid=B.id,A.objectsToExclude.push(Q),A.heightpoints.push(Q),A.heightpointsId.push(Q.id)}}return x.x/=E.length,x.y/=E.length,x.z/=E.length,A.movePoint=f.entities.add({name:"move_point",position:Ui.Cartesian3.fromDegrees(x.x,x.y,x.z),point:{color:Ui.Color.PURPLE,pixelSize:10,outlineColor:Ui.Color.WHITE.withAlpha(.6),outlineWidth:2,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),SmartEarthPopupData.editGraphic={entity:m,graphic:m.polygon||m.polyline,heightpoints:A.heightpoints},!0}};$a.prototype.edit=function(o,A){var f=this,m=this._viewer;if(!A&&(A=this.editOption||{}),A.editProp!==void 0&&(this.editProp=A.editProp),this.editHandler){this.editHandler.destroy(),this.editHandler=void 0;for(var C in Ke.pointsId)this._viewer.entities.removeById(Ke.pointsId[C]);Ke.pointsId=[]}if(o===void 0&&(o=!0),!!o){var E=void 0;this.isEditting=!1;var x=void 0,y,I=void 0;this.editHandler=new Ui.ScreenSpaceEventHandler(m.scene.canvas),this.editHandler.setInputAction(v=>{if(Ui.ExpandBySmartEarth&&(Ui.ExpandBySmartEarth.underEarth.enable||Ui.ExpandBySmartEarth.isStreetView)){f.isEditting&&(f.endThisEdit(),f.defaultEvent(!1));return}if(!Ke.editVector){var B=v.position,Q=m.scene.pick(B);if(Q&&Q.id instanceof Ui.Entity){var T=Q.id;if(!f.isEditting&&Ke.states==0){if(!this.startEdit(T))return;E=T,this.editProp&&this.openEditProp(E,A)}else if(T.name=="box_point"||T.name=="polygon_point"||T.name=="move_point"){if(f.defaultEvent(!1),T.name=="box_point"){I=T.position.getValue();let w=Ui.Cartographic.fromCartesian(I);I={lon:Ui.Math.toDegrees(w.longitude),lat:Ui.Math.toDegrees(w.latitude),height:w.height},y="box_point"}else T.name=="move_point"?y="move_point":y="polygon_point";x=T}else{if(E&&T.id===E.id)return;f.endThisEdit()}}else f.endThisEdit()}},Ui.ScreenSpaceEventType.LEFT_DOWN),this.editHandler.setInputAction(function(v){if(Ui.ExpandBySmartEarth&&(Ui.ExpandBySmartEarth.underEarth.enable||Ui.ExpandBySmartEarth.isStreetView)){f.isEditting&&(f.endThisEdit(),f.defaultEvent(!1));return}if(Ke.editVector)return;let B=m.scene.pick(v.endPosition);if(Ui.defined(B))if(f.isEditting&&!x){if(Ui.ExpandBySmartEarth&&(Ui.ExpandBySmartEarth.underEarth.enable||Ui.ExpandBySmartEarth.isStreetView)){f.isEditting&&(f.endThisEdit(),f.defaultEvent(!1));return}B.id&&(B.id.name==="move_point"||B.id.name==="polygon_point")?f.tooltip.showAt(v.endPosition,"\u62D6\u62FD\u4FEE\u6539\u4F4D\u7F6E"):B.id&&B.id.name==="box_point"?f.tooltip.showAt(v.endPosition,"\u62D6\u62FD\u4FEE\u6539\u9AD8\u5EA6"):B.id==E&&f.tooltip.show(!1)}else!f.isEditting&&Ke.states===0&&(B.id&&f.MilitaryStandardObj.indexOf(B.id.id)>-1?f.tooltip.showAt(v.endPosition,"\u70B9\u51FB\u6FC0\u6D3B\u7F16\u8F91\uFF0C\u53F3\u952E\u5220\u9664"):f.tooltip.show(!1));else Ke.states==0&&!x&&f.tooltip.show(!1);if(f.isEditting&&x){f.tooltip.showAt(v.endPosition,"\u91CA\u653E\u540E\u5B8C\u6210\u4FEE\u6539");var Q=v.startPosition,T,w=m.camera.getPickRay(Q);if(w&&(T=m.scene.globe.pick(w,m.scene)),!T)return;var S=void 0;if(y=="polygon_point"){x.position=T;for(var D in Ke.pointsId)if(Ke.pointsId[D]==x.id){var R=m.entities.getById(f.heightpointsId[D]);if(!R)break;var P=Ui.Cartographic.fromCartesian(T),M=Ui.Math.toDegrees(P.longitude),L=Ui.Math.toDegrees(P.latitude),F=Ui.Cartographic.fromCartesian(R.position._value),k=P.height+F.height;R.position=Ui.Cartesian3.fromDegrees(M,L,k)}var N=[],G=[],J=new Ui.Cartesian3;for(var D in Ke.pointsId){let z=m.entities.getById(Ke.pointsId[D]).position._value,re=Ui.Cartographic.fromCartesian(z),se={x:Ui.Math.toDegrees(re.longitude),y:Ui.Math.toDegrees(re.latitude),z:re.height};N.push(se),G.push([se.x,se.y,se.z]),J.x+=z.x,J.y+=z.y,J.z+=z.z}J.x/=N.length,J.y/=N.length,J.z/=N.length,f.movePoint&&(f.movePoint.position=J);var K;if(E.GeoType=="StraightArrow")K=f.calculateMorePoints(N);else if(E.GeoType=="RoundedRectangle")K=f._computeRoundedRectanglePoints(N);else if(E.GeoType=="Sector")K=f._computeSectorPoints(N);else if(E.GeoType=="Bow")K=f._computeBowPoints(N);else if(E.GeoType=="GatheringPlace"){let Y=f._computeGatheringPlacePoints(N),z=f.createCloseCardinal(Y);K=f.calculatePointsFBZ3(z,100)}else if(E.GeoType=="SwallowtailArrow")K=f._computeSwallowtailArrow(N);else if(E.GeoType=="Bezierline")K=f._createBezierPoints(N);else if(E.GeoType=="BezierArrow")K=f._createBezierPoints(N);else if(E.GeoType=="PincerArrow"){let Y=jT.algorithm.doubleArrow(G),z=[];JSON.stringify(Y.polygonalPoint).indexOf("null")==-1&&(z=Y.polygonalPoint),K=z}else if(E.GeoType=="AttackArrow"){let Y=jT.algorithm.tailedAttackArrow(G),z=JSON.stringify(Y.polygonalPoint).indexOf("null"),re=[];z==-1&&(re=Y.polygonalPoint),K=re}let W;E.GeoType!=="AttackArrow"&&E.GeoType!=="PincerArrow"?(W=[],K.forEach(Y=>{W.push(Y.x,Y.y,N[0].z)}),W=Ui.Cartesian3.fromDegreesArrayHeights(W)):W=K,E.pottingPoint=G,E.GeoType.indexOf("Bezier")>=0?E.polyline.positions=new Ui.CallbackProperty(function(){return W},!1):E.polygon.hierarchy=new Ui.CallbackProperty(function(){return new Ui.PolygonHierarchy(W)},!1)}else if(y=="box_point"){var w=m.camera.getPickRay(v.endPosition),T=m.scene.globe.pick(w,m.scene),X=Ui.Cartographic.fromCartesian(T),q=Ui.Math.toDegrees(X.longitude),ee=Ui.Math.toDegrees(X.latitude),ie=I.lon,H=I.lat,k=f.Cdcl(ee,q,H,ie);S=k;for(let re in f.heightpointsId){var le=m.entities.getById(f.heightpointsId[re]),ue=le.position._value,Ae=Ui.Cartographic.fromCartesian(ue),he=Ui.Math.toDegrees(Ae.longitude),ge=Ui.Math.toDegrees(Ae.latitude),fe=Ui.Cartesian3.fromDegrees(he,ge,S);le.position=fe}E.polygon.extrudedHeight=new Ui.CallbackProperty(function(){return S},!1),SmartEarthPopupData.window&&SmartEarthPopupData.window.document.querySelector('.ExtrudedPolygon input[name="height"]')&&(SmartEarthPopupData.window.document.querySelector('.ExtrudedPolygon input[name="height"]').value=parseInt(S))}else{var X=Ui.Cartographic.fromCartesian(T),q=Ui.Math.toDegrees(X.longitude),ee=Ui.Math.toDegrees(X.latitude);I=x.position.getValue();let re=Ui.Cartographic.fromCartesian(I);I={lon:Ui.Math.toDegrees(re.longitude),lat:Ui.Math.toDegrees(re.latitude),height:re.height};var ie=I.lon,H=I.lat,ae=q-ie,U=ee-H;x.position=T;var N=[],G=[];for(var D in Ke.pointsId){let Ge,ke,Oe,Le=m.entities.getById(Ke.pointsId[D]);Le&&(Ge=Le.position.getValue(),ke=Ui.Cartographic.fromCartesian(Ge),Ge={lon:Ui.Math.toDegrees(ke.longitude),lat:Ui.Math.toDegrees(ke.latitude),height:ke.height},Le.position=Ui.Cartesian3.fromDegrees(Ge.lon+ae,Ge.lat+U,Ge.height),N.push({x:Ge.lon+ae,y:Ge.lat+U,z:Ge.height}),G.push([Ge.lon+ae,Ge.lat+U,Ge.height]));let be=m.entities.getById(f.heightpointsId[D]);be&&(Ge=be.position.getValue(),ke=Ui.Cartographic.fromCartesian(Ge),Ge={lon:Ui.Math.toDegrees(ke.longitude),lat:Ui.Math.toDegrees(ke.latitude),height:ke.height},be.position=Ui.Cartesian3.fromDegrees(Ge.lon+ae,Ge.lat+U,Ge.height))}var K;if(E.GeoType=="StraightArrow")K=f.calculateMorePoints(N);else if(E.GeoType=="RoundedRectangle")K=f._computeRoundedRectanglePoints(N);else if(E.GeoType=="Sector")K=f._computeSectorPoints(N);else if(E.GeoType=="Bow")K=f._computeBowPoints(N);else if(E.GeoType=="GatheringPlace"){let Te=f._computeGatheringPlacePoints(N),Ge=f.createCloseCardinal(Te);K=f.calculatePointsFBZ3(Ge,100)}else if(E.GeoType=="SwallowtailArrow")K=f._computeSwallowtailArrow(N);else if(E.GeoType=="Bezierline")K=f._createBezierPoints(N);else if(E.GeoType=="BezierArrow")K=f._createBezierPoints(N);else if(E.GeoType=="PincerArrow"){let Te=jT.algorithm.doubleArrow(G),Ge=[];JSON.stringify(Te.polygonalPoint).indexOf("null")==-1&&(Ge=Te.polygonalPoint),K=Ge}else if(E.GeoType=="AttackArrow"){let Te=jT.algorithm.tailedAttackArrow(G),Ge=JSON.stringify(Te.polygonalPoint).indexOf("null"),ke=[];Ge==-1&&(ke=Te.polygonalPoint),K=ke}let we;E.GeoType!=="AttackArrow"&&E.GeoType!=="PincerArrow"?(we=[],K.forEach(Te=>{we.push(Te.x,Te.y,N[0].z)}),we=Ui.Cartesian3.fromDegreesArrayHeights(we)):we=K,E.pottingPoint=G,E.GeoType.indexOf("Bezier")>=0?E.polyline.positions=new Ui.CallbackProperty(function(){return we},!1):E.polygon.hierarchy=new Ui.CallbackProperty(function(){return new Ui.PolygonHierarchy(we)},!1)}}},Ui.ScreenSpaceEventType.MOUSE_MOVE),this.editHandler.setInputAction(function(v){if(Ui.ExpandBySmartEarth&&(Ui.ExpandBySmartEarth.underEarth.enable||Ui.ExpandBySmartEarth.isStreetView)){f.isEditting&&(f.endThisEdit(),f.defaultEvent(!1));return}Ke.editVector||(x&&A.callBack&&A.callBack.update&&A.callBack.update(x.name,E),x=void 0,f.defaultEvent(!0))},Ui.ScreenSpaceEventType.LEFT_UP),this.editHandler.setInputAction(function(v){if(Ui.ExpandBySmartEarth&&(Ui.ExpandBySmartEarth.underEarth.enable||Ui.ExpandBySmartEarth.isStreetView)){f.isEditting&&(f.endThisEdit(),f.defaultEvent(!1));return}if(!Ke.editVector){var B=m.scene.pick(v.position);if(Ui.defined(B)&&Ke.states==0){var Q=B.id;if(f.MilitaryStandardObj.indexOf(Q.id)===-1)return;f.delButton(!0,v.position,function(){m.entities.removeById(Q.id);let T=f.MilitaryStandardObj.indexOf(Q.id);f.MilitaryStandardObj.splice(T,1),f.delButton(!1),f.tooltip.show(!1),f.endThisEdit(),f.defaultEdit(),A.callBack&&A.callBack.delete&&A.callBack.delete(Q)})}}},Ui.ScreenSpaceEventType.RIGHT_DOWN),f.defaultEvent(!0);for(var C in Ke.pointsId)m.entities.removeById(Ke.pointsId[C]);for(var C in f.heightpointsId)m.entities.removeById(f.heightpointsId[C]);f.heightpointsId=[],f.heightpoints=[],Ke.pointsId=[],this.endThisEdit=()=>{f.defaultEvent(!0);for(var v in Ke.pointsId)m.entities.removeById(Ke.pointsId[v]);for(var v in f.heightpointsId)m.entities.removeById(f.heightpointsId[v]);f.movePoint&&m.entities.remove(f.movePoint),f.movePoint=void 0,E=void 0,window.layuiLayer.close(SmartEarthPopupData.layerIndex),SmartEarthPopupData.editGraphic={},f.isEditting=!1,Ke.pointsId=[],f.heightpointsId=[],f.heightpoints=[],f.delButton(!1)}}};$a.prototype.spArray=function(o,A){var f=[],m;for(m=0;m<A.length;)f.push(A.slice(m,m+=o));return f};$a.prototype.delButton=function(o,A,f){if(o){let m=document.getElementById("DeleteMilitaryStandardDelete");m||(m=document.createElement("button"),m.id="DeleteMilitaryStandardDelete",m.innerText="\u5220\u9664\u5BF9\u8C61",m.style.cssText=`height: 38px; line-height: 38px; padding: 0 18px; background-color: #052355; color: #fff; white-space: nowrap; text-align: center; font-size: 14px; border: none; border-radius: 2px; cursor: pointer; position: absolute;`,this._viewer.container.appendChild(m)),m.style.display="block",m.style.top=A.y+"px",m.style.left=A.x+"px",m.onclick=f}else{let m=document.getElementById("DeleteMilitaryStandardDelete");m&&(m.style.display="none",m.onclick=null)}};$a.prototype.defaultEvent=function(o){var A=this._viewer.scene;A.screenSpaceCameraController.enableRotate=o,A.screenSpaceCameraController.enableTranslate=o,A.screenSpaceCameraController.enableZoom=o,A.screenSpaceCameraController.enableTilt=o,A.screenSpaceCameraController.enableLook=o};var ase=$a;function Cd(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._tree=Ke}Cd.prototype.createBox=function(o,A,f,m){var C={id:this._core.getuid(),dimensions:new this._cesium.Cartesian3(4e5,3e5,5e5),material:this._cesium.Color.RED.withAlpha(.5),fill:!0,outline:!0,outlineColor:this._cesium.Color.BLACK},E=this._core.extend(C,A,!0);this.item=this._viewer.entities.add({name:f,position:this._cesium.Cartesian3.fromDegrees(o[0],o[1],o[2]),box:E});var x={id:this.item.id,name:f,pId:this._core.isnull(m)?0:m,type:"box",item:this};return this.setTreeobj(x),this._tree.insertGroupId(x,this._core.isnull(m)?0:m),this};Cd.prototype.getstyles=function(){var o={};return o.show=this.item.box.show?this.item.box.show._value:!0,o.heightReference=this.item.box.heightReference?this.item.box.heightReference:void 0,o.fill=this.item.box.fill&&this.item.box.fill._value?this.item.box.fill._value:void 0,o.dimensions=this.item.box.dimensions?this.item.box.dimensions.getValue():void 0,o.shadows=this.item.box.shadows&&this.item.box.shadows._value?this.item.box.shadows._value:void 0,o.material={},o.material.color=this.item.box.material&&this.item.box.material.color._value?"rgba"+this.item.box.material.color.toString():void 0,o.material.image=this.item.box.material&&this.item.box.material.image._value?this.item.box.material.image._value:void 0,o.material.repeat=this.item.box.material&&this.item.box.material.repeat?this.item.box.material.repeat._value:void 0,o.outline=this.item.box.outline&&this.item.box.outline._value?this.item.box.outline._value:void 0,o.outlineColor=this.item.box.outlineColor&&this.item.box.outlineColor._value?"rgba"+this.item.box.outlineColor.toString():void 0,o.outlineWidth=this.item.box.outlineWidth&&this.item.box.outlineWidth._value?this.item.box.outlineWidth._value:void 0,o.near=this.item.box.distanceDisplayCondition?this.item.box.distanceDisplayCondition._value.near:void 0,o.far=this.item.box.distanceDisplayCondition?this.item.box.distanceDisplayCondition._value.far:void 0,o.position=this.item.position.getValue().toString(),o};Cd.prototype.executeBox=function(o){var A=this;A.shape={tempPoints:[],button:0,position:{}};var f=new this._cesium.ScreenSpaceEventHandler(A._viewer.scene.canvas),m=[],C=void 0,E=[];return f.setInputAction(function(x){var y=A._viewer.scene.camera.pickEllipsoid(x.position,A._viewer.scene.globe.ellipsoid),I=A._cesium.Cartographic.fromCartesian(y),v=A._cesium.Math.toDegrees(I.longitude),B=A._cesium.Math.toDegrees(I.latitude);E.push({lon:v,lat:B}),A.shape.button==0&&(A.box=A._viewer.entities.add({name:"",position:A._cesium.Cartesian3.fromDegrees(E[0].lon,E[0].lat),box:{id:A._core.getuid(),dimensions:new A._cesium.Cartesian3(4e5,3e5,5e5),material:A._cesium.Color.RED.withAlpha(.5),fill:!0,outline:!0,outlineColor:A._cesium.Color.RED}}),A.item=A.box);var Q={polyline:{},positions:[],distance:[]},T=0;!A._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(T=Ke.selectedItem.id);var w=A._core.getuid(),S={id:w,name:"\u65B0\u5EFA\u7ACB\u65B9\u4F53"+w,pId:A._core.isnull(T)?0:T,type:"box",item:A};A.setTreeobj(S),A._tree.insertGroupId(S,A._core.isnull(T)?0:T),typeof o=="function"&&o(Q),f.destroy()},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this};Cd.prototype.executeExcavation=function(o,A){var f=this;f.shape={tempPoints:[],button:0,position:{}};var m=new this._cesium.ScreenSpaceEventHandler(f._viewer.scene.canvas),C=[],E=void 0,x=[];return m.setInputAction(function(y){var I=f._viewer.scene.camera.pickEllipsoid(y.position,f._viewer.scene.globe.ellipsoid),v=f._cesium.Cartographic.fromCartesian(I),B=f._cesium.Math.toDegrees(v.longitude),Q=f._cesium.Math.toDegrees(v.latitude);x.push({lon:B,lat:Q});var T=-(o.z/2);if(f.shape.button==0){f.box=f._viewer.entities.add({name:"",position:f._cesium.Cartesian3.fromDegrees(x[0].lon,x[0].lat,T),box:{id:f._core.getuid(),dimensions:new f._cesium.Cartesian3(o.x,o.y,o.z),material:f._cesium.Color.WHITE.withAlpha(.5),outline:!0,outlineColor:f._cesium.Color.WHITE}}),f.item=f.box;var w=f._viewer.scene.globe,S=-(o.x/2),D=-(o.y/2);w.depthTestAgainstTerrain=!0,w.clippingPlanes=new f._cesium.ClippingPlaneCollection({modelMatrix:f.box.computeModelMatrix(f._cesium.JulianDate.now()),planes:[new f._cesium.Plane(new f._cesium.Cartesian3(1,0,0),S),new f._cesium.Plane(new f._cesium.Cartesian3(-1,0,0),S),new f._cesium.Plane(new f._cesium.Cartesian3(0,1,0),D),new f._cesium.Plane(new f._cesium.Cartesian3(0,-1,0),D)],edgeWidth:1,edgeColor:f._cesium.Color.WHITE})}var R={polyline:{},positions:[],distance:[]},P=0;!f._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(P=Ke.selectedItem.id);var M=f._core.getuid(),L={id:M,name:"\u65B0\u5EFA\u7ACB\u65B9\u4F53"+M,pId:f._core.isnull(P)?0:P,type:"box",item:f};f.setTreeobj(L),Ke.insertGroupId(L,f._core.isnull(P)?0:P),typeof A=="function"&&A(R),m.destroy()},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this};Cd.prototype.executeBox1=function(o){var A=this,f=this,m=[];A.shape={points:[],button:0,rect:null,entity:null};var C,E=new this._cesium.ScreenSpaceEventHandler(f._viewer.scene.canvas);return E.setInputAction(function(x){C=f._core.getPointFromWindowPoint(x.position,f._viewer),A.shape.button>=2&&(E.removeInputAction(f._cesium.ScreenSpaceEventType.MOUSE_MOVE),E.removeInputAction(f._cesium.ScreenSpaceEventType.LEFT_CLICK)),A.shape.button=A.shape.button+1,C&&(A.shape.points.length==0?(m.push(C),A.shape.points.push(f._viewer.scene.globe.ellipsoid.cartesianToCartographic(C)),A.shape.rect=f._cesium.Rectangle.fromCartographicArray(A.shape.points),A.shape.rect.east+=1e-6,A.shape.rect.north+=1e-6,A.shape.entity=f._viewer.entities.add({rectangle:{coordinates:A.shape.rect,material:f._cesium.Color.BLACK.withAlpha(.4),outline:!0,outlineWidth:2,outlineColor:f._cesium.Color.RED,height:0}}),A.bufferEntity=A.shape.entity):A.shape.points.length==2||(E.removeInputAction(f._cesium.ScreenSpaceEventType.MOUSE_MOVE),E.removeInputAction(f._cesium.ScreenSpaceEventType.LEFT_CLICK)))},this._cesium.ScreenSpaceEventType.LEFT_CLICK),E.setInputAction(function(x){if(A.shape.points.length!=0){var y=f._core.getPointFromWindowPoint(x.endPosition,f._viewer);if(y){var I=f._viewer.camera.getPickRay(x.endPosition),v=f._viewer.scene.globe.pick(I,f._viewer.scene);m[1]=y,A.shape.points[1]=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(y),A.shape.rect=f._cesium.Rectangle.fromCartographicArray(A.shape.points),A.shape.button==2?A.shape.entity.rectangle.extrudedHeight=v.z:(A.shape.rect.west==A.shape.rect.east&&(A.shape.rect.east+=1e-6),A.shape.rect.south==A.shape.rect.north&&(A.shape.rect.north+=1e-6),A.shape.entity.rectangle.coordinates=A.shape.rect)}}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this};Cd.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show._value,A=this.item.box.dimensions==null?void 0:this.item.box.dimensions.getValue(),f=this.item.box.fill==null?void 0:this.item.box.fill._value,m=this.item.box.material;m!=null&&(m={color:m.color._value==null?void 0:"rgba("+m.color._value.red+","+m.color._value.green+","+m.color._value.blue+","+m.color._value.alpha+")",image:m.image==null?void 0:m.image._value,diffusemap:m.diffusemap==null?void 0:m.diffusemap._value,alphamap:m.alphamap==null?void 0:m.alphamap._value});var C=this.item.box.outline==null?void 0:this.item.box.outline._value,E=this.item.box.outlineColor==null?void 0:"rgba("+this.item.box.outlineColor._value.red+","+this.item.box.outlineColor._value.green+","+this.item.box.outlineColor._value.blue+","+this.item.box.outlineColor._value.alpha+")",x=this.item.box.outlineWidth==null?void 0:this.item.box.outlineWidth._value,y=this.item.box.distanceDisplayCondition,I=y?._value.near,v=y?._value.far,B=this._cesium.Cartographic.fromCartesian(this.item.position._value),Q=this._cesium.Math.toDegrees(B.longitude),T=this._cesium.Math.toDegrees(B.latitude),w=this._cesium.Math.toDegrees(B.height);return{type:"box",position:{x:Q,y:T,z:w},treeobj:{id:this.treeobj.id,name:this.treeobj.name,pId:this.treeobj.pId,type:this.treeobj.type},style:{show:o,dimensions:A,fill:f,material:m,outline:C,outlineColor:E,outlineWidth:x,near:I,far:v}}};Cd.prototype.setTreeobj=function(o){this.treeobj=o};Cd.prototype.setVisibility=function(o){this.item.show=o};Cd.prototype.setShow=function(o){try{this.item._box.show=o}catch(A){console.log(A)}return this};Cd.prototype.getVolume=function(){try{var o=this.item._box.dimensions._value,A=o.x*o.y*o.z}catch(f){console.log(f)}return A};Cd.prototype.setBoxImage=function(o){try{this.item._box.material=new this._cesium.ImageMaterialProperty({image:o})}catch(A){console.log(A)}return this};Cd.prototype.setBoxRepeat=function(o,A){try{this.item._box.material.repeat=new this._cesium.Cartesian2(o,A)}catch(f){console.log(f)}return this};Cd.prototype.setHeightType=function(o){try{o==1?this.item._box.heightReference=this._cesium.HeightReference.CLAMP_TO_GROUND:o==2?this.item._box.heightReference=this._cesium.HeightReference.NONE:o==3&&(this.item._box.heightReference=this._cesium.HeightReference.RELATIVE_TO_GROUND)}catch(A){console.log(A)}return this};Cd.prototype.setDistanceDisplayCondition=function(o,A){var f=new this._cesium.DistanceDisplayCondition(o,A);try{this.item._box.distanceDisplayCondition=f}catch(m){console.log(m)}return this};Cd.prototype.setFill=function(o){try{this.item._box.fill=o}catch(A){console.log(A)}return this};Cd.prototype.setMaterialAlpha=function(o){try{this.item._box.material.color._value.alpha=o,this.item._box.show=!0}catch(A){console.log(A)}return this};Cd.prototype.setOutlineColor=function(o){try{this.item._box.outlineColor=new In(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};Cd.prototype.setMaterial=function(o){try{this.item._box.material.color=new In(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};Cd.prototype.setItem=function(o){this.item=o};Cd.prototype.deleteObject=function(){this._viewer.entities.remove(this.item)};Object.defineProperties(Cd.prototype,{ColorAlpha:{get:function(){return this.item._box.color._value.alpha}},Scale:{get:function(){return this.item._box.scale}},Rotation:{get:function(){return this.item._box.rotation}},Width:{get:function(){return this.item._box.width}},Height:{get:function(){return this.item._box.heightReference}},Color:{get:function(){return this._color.toHtmlColor("rgb("+this.item._box.backgroundColor._value.red*255+","+this.item._box.backgroundColor._value.green*255+","+this.item._box.backgroundColor._value.blue*255+","+this.item._box.backgroundColor._value.alpha*255+")")}}});Cd.prototype.CreateBox=function(o,A,f,m,C,E,x,y){this._postion=o;var I={dimensions:new this._cesium.Cartesian3(m,A,f),material:this._cesium.Color.YELLOW,outline:!0,outlineColor:this._cesium.Color.RED};C&&C!==""&&(I.outlineColor=new In(this._viewer,this._cesium).colorFromHtmlColor(C)),E&&E!==""&&(I.material=new In(this._viewer,this._cesium).colorFromHtmlColor(E));var v;(o.Yaw||o.Pitch||o.Roll)&&(v=this._cesium.Transforms.headingPitchRollQuaternion(this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(o.Yaw),this._cesium.Math.toRadians(o.Pitch),this._cesium.Math.toRadians(o.Roll)))),this.item=this._viewer.entities.add({name:y,position:this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),box:I,orientation:v});var B={id:this.item.id,name:y,pId:this._core.isnull(x)?0:x,type:"box",item:this};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(x)?0:x),this};Object.defineProperties(Cd.prototype,{Position:{Altitude:{get:function(){return this._postion.Altitude},set:function(o){try{this._postion.Altitude=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},AltitudeType:{get:function(){return this._postion.AltitudeType},set:function(o){try{this._postion.AltitudeType=o}catch(A){console.log(A)}}},Cartesian:{get:function(){return this._postion.Cartesian},set:function(o){try{this._postion.Cartesian=o}catch(A){console.log(A)}}},Distance:{get:function(){return this._postion.Distance},set:function(o){try{this._postion.Distance=o}catch(A){console.log(A)}}},Pitch:{get:function(){return this._postion.Pitch},set:function(o){try{this._postion.Pitch=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}},Roll:{get:function(){return this._postion.Roll},set:function(o){try{this._postion.Roll=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}},X:{get:function(){return this._postion.X},set:function(o){try{this._postion.X=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},Y:{get:function(){return this._postion.Y},set:function(o){try{this._postion.Y=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},Yaw:{get:function(){return this._postion.Yaw},set:function(o){try{this._postion.Yaw=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}}}});var qT=Cd;function v0(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._tree=Ke}v0.prototype.createEllipsoid=function(o,A,f,m){var C={radii:new this._cesium.Cartesian3(60,60,60),material:this._cesium.Color.YELLOW},E=this._core.extend(C,A,!0);this.item=this._viewer.entities.add({name:f,position:this._cesium.Cartesian3.fromDegrees(o[0],o[1],o[1]),ellipsoid:E});var x={id:this.item.id,name:f,pId:this._core.isnull(m)?0:m,type:"ellipsoid",item:this};return this.setTreeobj(x),this._tree.insertGroupId(x,this._core.isnull(m)?0:m),this};v0.prototype.getstyles=function(){var o={};return o.show=this.item.ellipsoid.show?this.item.ellipsoid.show._value:!0,o.radii=this.item.ellipsoid.radii?this.item.ellipsoid.radii.getValue():void 0,o.innerRadii=this.item.ellipsoid.innerRadii?this.item.ellipsoid.innerRadii.getValue():void 0,o.minimumClock=this.item.ellipsoid.minimumClock?this.item.ellipsoid.minimumClock._value:void 0,o.maximumClock=this.item.ellipsoid.maximumClock?this.item.ellipsoid.maximumClock._value:void 0,o.minimumCone=this.item.ellipsoid.minimumCone?this.item.ellipsoid.minimumCone._value:void 0,o.maximumCone=this.item.ellipsoid.maximumCone?this.item.ellipsoid.maximumCone._value:void 0,o.heightReference=this.item.ellipsoid.heightReference&&this.item.ellipsoid.heightReference._value?this.item.ellipsoid.heightReference._value:null,o.fill=this.item.ellipsoid.fill?this.item.ellipsoid.fill._value:void 0,o.material={},o.material.color=this.item.ellipsoid.material&&this.item.ellipsoid.material.color&&this.item.ellipsoid.material.color._value?"rgba"+this.item.ellipsoid.material.color.toString():null,o.material.image=this.item.ellipsoid.material&&this.item.ellipsoid.material.image?this.item.ellipsoid.material.image._value:void 0,o.material.repeat=this.item.ellipsoid.material&&this.item.ellipsoid.material.repeat&&this.item.ellipsoid.material.repeat._value?this.item.ellipsoid.material.repeat._value:null,o.outline=this.item.ellipsoid.outline?this.item.ellipsoid.outline._value:void 0,o.outlineWidth=this.item.ellipsoid.outlineWidth&&this.item.ellipsoid.outlineWidth._value?this.item.ellipsoid.outlineWidth._value:void 0,o.outlineColor=this.item.ellipsoid.outlineColor&&this.item.ellipsoid.outlineColor._value?"rgba"+this.item.ellipsoid.outlineColor.toString():null,o.stackPartitions=this.item.ellipsoid.stackPartitions&&this.item.ellipsoid.stackPartitions._value?this.item.ellipsoid.stackPartitions._value:void 0,o.slicePartitions=this.item.ellipsoid.slicePartitions&&this.item.ellipsoid.slicePartitions._value?this.item.ellipsoid.slicePartitions._value:void 0,o.subdivisions=this.item.ellipsoid.subdivisions&&this.item.ellipsoid.subdivisions._value?this.item.ellipsoid.subdivisions._value:void 0,o.near=this.item.ellipsoid.distanceDisplayCondition?this.item.ellipsoid.distanceDisplayCondition._value.near:void 0,o.far=this.item.ellipsoid.distanceDisplayCondition?this.item.ellipsoid.distanceDisplayCondition._value.far:void 0,o.position=this.item.position.getValue().toString(),o};v0.prototype.executeEllipsoid=function(o){var A=this;A.shape={tempPoints:[],button:0,position:{}};var f=new this._cesium.ScreenSpaceEventHandler(A._viewer.scene.canvas),m=[],C=void 0,E=[];return f.setInputAction(function(x){var y=A._viewer.scene.camera.pickEllipsoid(x.position,A._viewer.scene.globe.ellipsoid),I=A._cesium.Cartographic.fromCartesian(y),v=A._cesium.Math.toDegrees(I.longitude),B=A._cesium.Math.toDegrees(I.latitude);E.push({lon:v,lat:B});var Q={polyline:{},positions:[],distance:[]};if(A.shape.button==0)m.push(y.clone()),m.push(y),A.shape.position=y,A.ellipsoid=A._viewer.entities.add({name:"",position:A._cesium.Cartesian3.fromDegrees(E[0].lon,E[0].lat),ellipsoid:{radii:new A._cesium.Cartesian3(67500,67500,67500),material:A._cesium.Color.fromRandom({alpha:1})}}),A.item=A.ellipsoid;else if(A.shape.button==1){var T=pd(E[0].lat,E[0].lon,E[1].lat,E[1].lon);A.item.ellipsoid.radii=new A._cesium.Cartesian3(T,T,T),f.destroy()}var w=0;!A._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(w=Ke.selectedItem.id);var S=A._core.getuid(),D={id:S,name:"\u65B0\u5EFA\u7403"+S,pId:A._core.isnull(w)?0:w,type:"ellipsoid",item:A};A.setTreeobj(D),Ke.insertGroupId(D,A._core.isnull(w)?0:w),typeof o=="function"&&o(Q),A.shape.button=A.shape.button+1},this._cesium.ScreenSpaceEventType.LEFT_CLICK),f.setInputAction(function(x){if(A.shape.button==1){var y=A._viewer.camera.pickEllipsoid(x.endPosition,A._viewer.scene.globe.ellipsoid);if(y){var I=A._cesium.Cartographic.fromCartesian(y),v=A._cesium.Math.toDegrees(I.longitude),B=A._cesium.Math.toDegrees(I.latitude),Q=Math.ceil(A._viewer.camera.positionCartographic.height);E.push({lon:v,lat:B});var T=pd(E[0].lat,E[0].lon,E[E.length-1].lat,E[E.length-1].lon);A.item.ellipsoid.radii=new A._cesium.Cartesian3(T,T,T)}}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this};v0.prototype.setMaterialColor=function(o){try{this.item._ellipsoid.material.color=new In(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};v0.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.item.ellipsoid.radii==null?void 0:this.item.ellipsoid.radii.getValue(),f=this.item.ellipsoid.fill==null?void 0:this.item.ellipsoid.fill.getValue(),m=this.item.ellipsoid.material;m!=null&&(m={color:m.color._value==null?void 0:"rgba("+m.color._value.red+","+m.color._value.green+","+m.color._value.blue+","+m.color._value.alpha+")",image:m.image==null?void 0:m.image._value,diffusemap:m.diffusemap==null?void 0:m.diffusemap._value,alphamap:m.alphamap==null?void 0:m.alphamap._value});var C=this.item.ellipsoid.outline==null?void 0:this.item.ellipsoid.outline._value,E=this.item.ellipsoid.outlineColor==null?void 0:"rgba("+this.item.ellipsoid.outlineColor._value.red+","+this.item.ellipsoid.outlineColor._value.green+","+this.item.ellipsoid.outlineColor._value.blue+","+this.item.ellipsoid.outlineColor._value.alpha+")",x=this.item.ellipsoid.outlineWidth==null?void 0:this.item.ellipsoid.outlineWidth.getValue(),y=this.item.ellipsoid.distanceDisplayCondition,I=y?._value.near,v=y?._value.far,B=this._cesium.Cartographic.fromCartesian(this.item.position._value),Q=this._cesium.Math.toDegrees(B.longitude),T=this._cesium.Math.toDegrees(B.latitude),w=this._cesium.Math.toDegrees(B.height);return{type:"ellipsoid",position:{x:Q,y:T,z:w},treeobj:{id:this.treeobj.id,name:this.treeobj.name,pId:this.treeobj.pId,type:this.treeobj.type},style:{show:o,radii:A,fill:f,material:m,outline:C,outlineColor:E,outlineWidth:x,near:I,far:v}}};v0.prototype.setTreeobj=function(o){this.treeobj=o};v0.prototype.setVisibility=function(o){this.item.show=o};v0.prototype.deleteObject=function(){this._viewer.entities.remove(this.item)};v0.prototype.setHeightType=function(o){try{o==1?this.item._ellipsoid.heightReference=this._cesium.HeightReference.CLAMP_TO_GROUND:o==2?this.item._ellipsoid.heightReference=this._cesium.HeightReference.NONE:o==3&&(this.item._ellipsoid.heightReference=this._cesium.HeightReference.RELATIVE_TO_GROUND)}catch(A){console.log(A)}return this};v0.prototype.setEllipsoidAlpha=function(o){try{this.item._ellipsoid.material.color._value.alpha=o,this.item._ellipsoid.show=!0}catch(A){console.log(A)}return this};v0.prototype.setDistanceDisplayCondition=function(o,A){var f=new this._cesium.DistanceDisplayCondition(o,A);try{this.item._ellipsoid.distanceDisplayCondition=f}catch(m){console.log(m)}return this};v0.prototype.setEllipsoidImage=function(o){try{this.item._ellipsoid.material=new this._cesium.ImageMaterialProperty({image:o})}catch(A){console.log(A)}return this};v0.prototype.setEllipsoidRepeat=function(o,A){try{this.item._ellipsoid.material.repeat=new this._cesium.Cartesian2(o,A)}catch(f){console.log(f)}return this};v0.prototype.setMaterial=function(o){try{this.item._ellipsoid.show=o}catch(A){console.log(A)}return this};v0.prototype.setRadii=function(o){try{this.item._ellipsoid.radii=new this._cesium.Cartesian3(o,o,o)}catch(A){console.log(A)}return this};v0.prototype.setItem=function(o){this.item=o};v0.prototype.CreateSphere=function(o,A,f,m,C,E,x,y){this._postion=o;var I={radii:this._cesium.defaultValue(new this._cesium.Cartesian3(A,A,A),new this._cesium.Cartesian3(60,60,60)),material:this._cesium.Color.RED,outline:!1,outlineColor:void 0};m&&m!==""&&(I.outlineColor=new In(this._viewer,this._cesium).colorFromHtmlColor(m),I.outline=!0),C&&C!==""&&(I.material=new In(this._viewer,this._cesium).colorFromHtmlColor(C));var v;(o.Yaw||o.Pitch||o.Roll)&&(v=this._cesium.Transforms.headingPitchRollQuaternion(this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(o.Yaw),this._cesium.Math.toRadians(o.Pitch),this._cesium.Math.toRadians(o.Roll)))),this.item=this._viewer.entities.add({name:y,position:this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),ellipsoid:I,orientation:v});var B={id:this.item.id,name,pId:this._core.isnull(x)?0:x,type:"ellipsoid",item:this};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(x)?0:x),this};Object.defineProperties(v0.prototype,{Position:{Altitude:{get:function(){return this._postion.Altitude},set:function(o){try{this._postion.Altitude=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},AltitudeType:{get:function(){return this._postion.AltitudeType},set:function(o){try{this._postion.AltitudeType=o}catch(A){console.log(A)}}},Cartesian:{get:function(){return this._postion.Cartesian},set:function(o){try{this._postion.Cartesian=o}catch(A){console.log(A)}}},Distance:{get:function(){return this._postion.Distance},set:function(o){try{this._postion.Distance=o}catch(A){console.log(A)}}},Pitch:{get:function(){return this._postion.Pitch},set:function(o){try{this._postion.Pitch=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}},Roll:{get:function(){return this._postion.Roll},set:function(o){try{this._postion.Roll=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}},X:{get:function(){return this._postion.X},set:function(o){try{this._postion.X=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},Y:{get:function(){return this._postion.Y},set:function(o){try{this._postion.Y=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},Yaw:{get:function(){return this._postion.Yaw},set:function(o){try{this._postion.Yaw=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}}}});var VR=v0;function Nc(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._getPosition=new kl(this._viewer,this._cesium),this._tree=Ke,this._postion={Altitude:0,AltitudeType:0,Cartesian:!0,Distance:0,Pitch:0,Roll:0,X:0,Y:0,Yaw:0},this.positions=[],this.objId=Number(new Date().getTime()+""+Number(Math.random()*1e3).toFixed(0)),this.handler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),this.modifyHandler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),this.style=null,this.state=0,this.gonCircleArr=[],this.radius=0}Nc.prototype.createCircle=function(o,A,f,m){var C={id:this._core.getuid(),semiMinorAxis:3e5,semiMajorAxis:3e5,height:2e5,material:this._cesium.Color.GREEN,outline:!0},E=this._Core.extend(C,A,!0);this.item=this._viewer.entities.add({position:this._cesium.Cartesian3.fromDegrees(o[0],o[1],o[2]),name:f,ellipse:E});var x={id:this.item.id,name:f,pId:this._core.isnull(m)?0:m,type:"circle",item:this};return this.setTreeobj(x),this._tree.insertGroupId(x,this._core.isnull(m)?0:m),greenCircle};Nc.prototype.getstyles=function(){var o={};return o.show=this.item.ellipse.show?this.item.ellipse.show._value:!0,o.height=this.item.ellipse.height&&this.item.ellipse.height._value?this.item.ellipse.height._value:void 0,o.semiMajorAxis=this.item.ellipse.semiMajorAxis&&this.item.ellipse.semiMajorAxis.getValue()?this.item.ellipse.semiMajorAxis.getValue():void 0,o.semiMinorAxis=this.item.ellipse.semiMinorAxis&&this.item.ellipse.semiMinorAxis.getValue()?this.item.ellipse.semiMinorAxis.getValue():void 0,o.heightReference=this.item.ellipse.heightReference&&this.item.ellipse.heightReference._value?this.item.ellipse.heightReference._value:void 0,o.extrudedHeight=this.item.ellipse.extrudedHeight&&this.item.ellipse.extrudedHeight.getValue()?this.item.ellipse.extrudedHeight.getValue():void 0,o.extrudedHeightReference=this.item.ellipse.extrudedHeightReference&&this.item.ellipse.extrudedHeightReference._value?this.item.ellipse.extrudedHeightReference._value:void 0,o.rotation=this.item.ellipse.rotation&&this.item.ellipse.rotation._value?this.item.ellipse.rotation._value:void 0,o.stRotation=this.item.ellipse.stRotation&&this.item.ellipse.stRotation._value?this.item.ellipse.stRotation._value:void 0,o.granularity=this.item.ellipse.granularity&&this.item.ellipse.granularity._value?this.item.ellipse.granularity._value:void 0,o.fill=this.item.ellipse.fill?this.item.ellipse.fill._value:void 0,o.material={},o.material.color=this.item.ellipse.material&&this.item.ellipse.material.color&&this.item.ellipse.material.color._value?"rgba"+this.item.ellipse.material.color.toString():void 0,o.material.image=this.item.ellipse.material&&this.item.ellipse.material.image?this.item.ellipse.material.image._value:void 0,o.material.repeat=this.item.ellipse.material&&this.item.ellipse.material.repeat._value?this.item.ellipse.material.repeat._value:void 0,o.outline=this.item.ellipse.outline?this.item.ellipse.outline._value:void 0,o.outlineWidth=this.item.ellipse.outlineWidth&&this.item.ellipse.outlineWidth._value?this.item.ellipse.outlineWidth._value:void 0,o.outlineColor=this.item.ellipse.outlineColor&&this.item.ellipse.outlineColor._value?"rgba"+this.item.ellipse.outlineColor.toString():void 0,o.numberOfVerticalLines=this.item.ellipse.numberOfVerticalLines&&this.item.ellipse.numberOfVerticalLines._value?this.item.ellipse.numberOfVerticalLines._value:void 0,o.classificationType=this.item.ellipse.classificationType&&this.item.ellipse.classificationType._value?this.item.ellipse.classificationType._value:void 0,o.near=this.item.ellipse.distanceDisplayCondition?this.item.ellipse.distanceDisplayCondition._value.near:void 0,o.far=this.item.ellipse.distanceDisplayCondition?this.item.ellipse.distanceDisplayCondition._value.far:void 0,o.position=this.item.position.getValue().toString(),o};Nc.prototype.createCircleOptimization=function(o,A){this.style=o;var f=this;this.handler.setInputAction(function(m){var C=f.getCatesian3FromPX(m.position,f._viewer,[f.circle]);f.positions.length==0&&f.positions.push(C.clone()),f.positions.push(C);var E=f.createPoint(C,!1);f.gonCircleArr.length>0&&(f.positions.pop(),f.state=1,f.handler.destroy()),E.wz=f.gonCircleArr.length,f.gonCircleArr.push(E)},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.handler.setInputAction(function(m){if(!(f.positions.length<1)){var C=f.getCatesian3FromPX(m.endPosition,f._viewer,[f.circle]);if(f.positions.length==2&&!f._cesium.defined(f.circle)){var E=f._cesium.Cartographic.fromCartesian(f.positions[0]),x=f._cesium.Math.toDegrees(E.longitude),y=f._cesium.Math.toDegrees(E.latitude),I=f._cesium.Cartographic.fromCartesian(f.positions[1]),v=f._cesium.Math.toDegrees(I.longitude),B=f._cesium.Math.toDegrees(I.latitude);f.radius=pd(y,x,B,v),f.circle=f.createCircle(f.style),f.circle.objId=f.objId}if(f.circle){f.positions.pop(),f.positions.push(C);var E=f._cesium.Cartographic.fromCartesian(f.positions[0]),x=f._cesium.Math.toDegrees(E.longitude),y=f._cesium.Math.toDegrees(E.latitude),I=f._cesium.Cartographic.fromCartesian(f.positions[1]),v=f._cesium.Math.toDegrees(I.longitude),B=f._cesium.Math.toDegrees(I.latitude);f.radius=pd(y,x,B,v)}}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE)};Nc.prototype.startModify=function(){var o="\u62D6\u52A8\u4FEE\u6539\u4F4D\u7F6E";if(!(this.state!=2&&this.state!=1)){this.modifyHandler||(this.modifyHandler=new Cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas));for(var A=this,f=0;f<A.gonCircleArr.length;f++){var m=A.gonCircleArr[f];m&&(m.show=!0)}this.modifyHandler.setInputAction(function(C){var E=A._viewer.scene.pick(C.position);if(Cesium.defined(E)&&E.id)E.id.objId||(A.modifyPoint=E.id,o="\u91CA\u653E\u540E\u5B8C\u6210\u4FEE\u6539"),A.forbidDrawWorld(!0);else{for(var x=0;x<A.gonCircleArr.length;x++){var y=A.gonCircleArr[x];y&&(y.show=!1)}A.modifyHandler&&(A.modifyHandler.destroy(),A.modifyHandler=null)}A.state=2},Cesium.ScreenSpaceEventType.LEFT_DOWN),this.modifyHandler.setInputAction(function(C){var E=A._viewer.scene.pick(C.endPosition);if(A._core.CreateTooltip(o,C.endPosition,!1),Cesium.defined(E)&&E.id&&(E.id.objId||A._core.CreateTooltip(o,C.endPosition,!0)),!(A.positions.length<1||!A.modifyPoint)){var x=A.getCatesian3FromPX(C.endPosition,A._viewer,[A.circle,A.modifyPoint]);if(x)if(A.modifyPoint.position.setValue(x),A.positions[A.modifyPoint.wz]=x,A.modifyPoint.wz==0)A.gonCircleArr[1].position={x:A.positions[0].x+A.radius,y:A.positions[0].y,z:A.positions[0].z};else{var y=A._cesium.Cartographic.fromCartesian(A.positions[0]),I=A._cesium.Math.toDegrees(y.longitude),v=A._cesium.Math.toDegrees(y.latitude),B=A._cesium.Cartographic.fromCartesian(A.positions[A.modifyPoint.wz]),Q=A._cesium.Math.toDegrees(B.longitude),T=A._cesium.Math.toDegrees(B.latitude);A.radius=pd(v,I,T,Q)}A._core.CreateTooltip(o,C.endPosition,!0)}},Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.modifyHandler.setInputAction(function(C){if(!!A.modifyPoint){var E=A.getCatesian3FromPX(C.position,A._viewer,[A.circle,A.modifyPoint]);if(A.modifyPoint.position.setValue(E),A.positions[A.modifyPoint.wz]=E,A.modifyPoint.wz==0)A.gonCircleArr[1].position={x:A.positions[0].x+A.radius,y:A.positions[0].y,z:A.positions[0].z};else{var x=A._cesium.Cartographic.fromCartesian(A.positions[0]),y=A._cesium.Math.toDegrees(x.longitude),I=A._cesium.Math.toDegrees(x.latitude),v=A._cesium.Cartographic.fromCartesian(A.positions[A.modifyPoint.wz]),B=A._cesium.Math.toDegrees(v.longitude),Q=A._cesium.Math.toDegrees(v.latitude);A.radius=pd(I,y,Q,B)}A.modifyPoint=null,A.forbidDrawWorld(!1),o="\u62D6\u52A8\u4FEE\u6539\u4F4D\u7F6E"}},Cesium.ScreenSpaceEventType.LEFT_UP)}};Nc.prototype.forbidDrawWorld=function(o){this._viewer.scene.screenSpaceCameraController.enableRotate=!o,this._viewer.scene.screenSpaceCameraController.enableTilt=!o,this._viewer.scene.screenSpaceCameraController.enableTranslate=!o,this._viewer.scene.screenSpaceCameraController.enableInputs=!o};Nc.prototype.getCatesian3FromPX=function(o,A,f){var m=A.scene.pick(o),C,E=A.scene.drillPick(o),x=null;if(f){for(var y=0;y<E.length;y++)if(E[y].id._id!=f[0].id&&E[y].id._id!=f[1].id){x=E[y].id;break}}else x=m;if(A.scene.pickPositionSupported&&Cesium.defined(x))C=A.scene.pickPosition(o);else{var I=A.camera.getPickRay(o);if(!I)return;C=A.scene.globe.pick(I,A.scene)}return C};Nc.prototype.createCircle=function(o){var A=this;return this._viewer.entities.add({position:new A._cesium.CallbackProperty(function(){return A.positions[0]},!1),ellipse:{semiMinorAxis:new A._cesium.CallbackProperty(function(){return A.radius},!1),semiMajorAxis:new A._cesium.CallbackProperty(function(){return A.radius},!1),material:A._cesium.Color.BLUE.withAlpha(.5),outline:o.outline||!0}})};Nc.prototype.createPoint=function(o,A){if(!!o)return this._viewer.entities.add({position:o,point:{pixelSize:10,color:this._cesium.Color.ROYALBLUE,outlineWidth:2,outlineColor:this._cesium.Color.WHITE,heightReference:this._cesium.HeightReference.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY},show:A})};Nc.prototype.executeClircle=function(o){var A=[],f=this;this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw);var m=new this._cesium.ScreenSpaceEventHandler(f._viewer.scene.canvas);m.setInputAction(function(E){var x=f._getPosition.getMousePosition(E,[f.item]);if(x){var y=f._cesium.Cartographic.fromCartesian(x),I=f._cesium.Math.toDegrees(y.longitude),v=f._cesium.Math.toDegrees(y.latitude);A.push({lon:I,lat:v});var B=A.length;if(B==1){A.push({lon:I,lat:v});var Q=f._viewer.entities.add({position:f._cesium.Cartesian3.fromDegrees(A[0].lon,A[0].lat),ellipse:{semiMinorAxis:0,semiMajorAxis:0,material:f._cesium.Color.fromRandom({alpha:.8})}});Q.ellipse.semiMinorAxis=new f._cesium.CallbackProperty(C,!1),Q.ellipse.semiMajorAxis=new f._cesium.CallbackProperty(C,!1),f.item=Q}else{var T=C();f._core.mouse(f._viewer.container,0,"0"),f.item.ellipse.semiMinorAxis=T,f.item.ellipse.semiMajorAxis=T,m.destroy(),m=void 0,A=[]}}},f._cesium.ScreenSpaceEventType.LEFT_CLICK),m.setInputAction(function(E){if(!!A.length){var x=f._getPosition.getMousePosition(E,[f.item]);if(x){var y=f._cesium.Cartographic.fromCartesian(x),I=f._cesium.Math.toDegrees(y.longitude),v=f._cesium.Math.toDegrees(y.latitude);A[1]={lon:I,lat:v}}}},f._cesium.ScreenSpaceEventType.MOUSE_MOVE);function C(){return pd(A[0].lat,A[0].lon,A[1].lat,A[1].lon)}return this};Nc.prototype.executeClirclews=function(o){var A=this,f=this._cesium.Material.fromType(this._cesium.Material.ColorType);f.uniforms.color=new this._cesium.Color(1,1,0,.5);var m=this._cesium.Ellipsoid.WGS84,C=this,E=this._viewer.scene,x=this._viewer.scene.primitives,y=null,I=null,v=new this._cesium.ScreenSpaceEventHandler(E.canvas);v.setInputAction(function(T){if(T.position!=null){var w=E.camera.pickEllipsoid(T.position,m);w&&(y==null?(y=new B({center:w,radius:0,asynchronous:!1,material:A._cesium.Color.RED}),x.add(y)):C.stopDrawing())}},A._cesium.ScreenSpaceEventType.LEFT_DOWN),v.setInputAction(function(T){var w=T.endPosition;if(w!=null&&y!=null){var S=E.camera.pickEllipsoid(w,m);S&&y.setRadius(A._cesium.Cartesian3.distance(y.getCenter(),S))}},A._cesium.ScreenSpaceEventType.MOUSE_MOVE);var B=function(){function T(w){if(!(A._cesium.defined(w.center)&&A._cesium.defined(w.radius)))throw new A._cesium.DeveloperError("Center and radius are required");w=copyOptions(w,defaultSurfaceOptions),this.initialiseOptions(w),this.setRadius(w.radius)}return T.prototype=new Q,T.prototype.setCenter=function(w){this.setAttribute("center",w)},T.prototype.setRadius=function(w){this.setAttribute("radius",Math.max(.1,w))},T.prototype.getCenter=function(){return this.getAttribute("center")},T.prototype.getRadius=function(){return this.getAttribute("radius")},T.prototype.getGeometry=function(){if(!!(A._cesium.defined(this.center)&&A._cesium.defined(this.radius)))return new A._cesium.CircleGeometry({center:this.center,radius:this.radius,height:this.height,vertexFormat:A._cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT,stRotation:this.textureRotationAngle,ellipsoid:this.ellipsoid,granularity:this.granularity})},T.prototype.getOutlineGeometry=function(){return new A._cesium.CircleOutlineGeometry({center:this.getCenter(),radius:this.getRadius()})},T},Q=function(){function T(){}return T.prototype.initialiseOptions=function(w){fillOptions(this,w),this._ellipsoid=void 0,this._granularity=void 0,this._height=void 0,this._textureRotationAngle=void 0,this._id=void 0,this._createPrimitive=!0,this._primitive=void 0,this._outlinePolygon=void 0},T.prototype.setAttribute=function(w,S){this[w]=S,this._createPrimitive=!0},T.prototype.getAttribute=function(w){return this[w]},T.prototype.update=function(w,S,D){if(!A._cesium.defined(this.ellipsoid))throw new A._cesium.DeveloperError("this.ellipsoid must be defined.");if(!A._cesium.defined(this.appearance))throw new A._cesium.DeveloperError("this.material must be defined.");if(this.granularity<0)throw new A._cesium.DeveloperError("this.granularity and scene2D/scene3D overrides must be greater than zero.");if(!!this.show&&!(!this._createPrimitive&&!A._cesium.defined(this._primitive))){if(this._createPrimitive||this._ellipsoid!==this.ellipsoid||this._granularity!==this.granularity||this._height!==this.height||this._textureRotationAngle!==this.textureRotationAngle||this._id!==this.id){var R=this.getGeometry();if(!R)return;this._createPrimitive=!1,this._ellipsoid=this.ellipsoid,this._granularity=this.granularity,this._height=this.height,this._textureRotationAngle=this.textureRotationAngle,this._id=this.id,this._primitive=this._primitive&&this._primitive.destroy(),this._primitive=new A._cesium.Primitive({geometryInstances:new A._cesium.GeometryInstance({geometry:R,id:this.id,pickPrimitive:this}),appearance:this.appearance,asynchronous:this.asynchronous}),this._outlinePolygon=this._outlinePolygon&&this._outlinePolygon.destroy(),this.strokeColor&&this.getOutlineGeometry&&(this._outlinePolygon=new A._cesium.Primitive({geometryInstances:new A._cesium.GeometryInstance({geometry:this.getOutlineGeometry(),attributes:{color:A._cesium.ColorGeometryInstanceAttribute.fromColor(this.strokeColor)}}),appearance:new A._cesium.PerInstanceColorAppearance({flat:!0,renderState:{depthTest:{enabled:!0},lineWidth:Math.min(this.strokeWidth)}})}))}var P=this._primitive;P.appearance.material=this.material,P.debugShowBoundingVolume=this.debugShowBoundingVolume,P.update(w,S,D),this._outlinePolygon&&this._outlinePolygon.update(w,S,D)}},T.prototype.isDestroyed=function(){return!1},T.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),A._cesium.destroyObject(this)},T.prototype.setStrokeStyle=function(w,S){(!this.strokeColor||!this.strokeColor.equals(w)||this.strokeWidth!=S)&&(this._createPrimitive=!0,this.strokeColor=w,this.strokeWidth=S)},T}()};Nc.prototype.setSemiMajorAxis=function(o){try{this.item._ellipse.semiMajorAxis=o}catch(A){console.log(A)}return this};Nc.prototype.setSemiMinorAxis=function(o){try{this.item._ellipse.semiMinorAxis=o}catch(A){console.log(A)}return this};Nc.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show._value,A=this.item.ellipse.semiMajorAxis==null?void 0:this.item.ellipse.semiMajorAxis._value,f=this.item.ellipse.semiMinorAxis==null?void 0:this.item.ellipse.semiMinorAxis._value,M=this.item.ellipse.height==null?void 0:this.item.ellipse.height._value,m=this.item.ellipse.extrudedHeight==null?void 0:this.item.ellipse.extrudedHeight._value,C=this.item.ellipse.rotation==null?void 0:this.item.ellipse.rotation._value,E=this.item.ellipse.stRotation==null?void 0:this.item.ellipse.stRotation._value,x=this.item.ellipse.fill==null?void 0:this.item.ellipse.fill._value,y=this.item.ellipse.material;y!=null&&(y={color:y.color==null?void 0:"rgba("+y.color._value.red+","+y.color._value.green+","+y.color._value.blue+","+y.color._value.alpha+")",image:y.image==null?void 0:y.image._value,diffusemap:y.diffusemap==null?void 0:y.diffusemap._value,alphamap:y.alphamap==null?void 0:y.alphamap._value});var I=this.item.ellipse.outline==null?void 0:this.item.ellipse.outline._value,v=this.item.ellipse.outlineColor==null?void 0:"rgba("+this.item.ellipse.outlineColor._value.red+","+this.item.ellipse.outlineColor._value.green+","+this.item.ellipse.outlineColor._value.blue+","+this.item.ellipse.outlineColor._value.alpha+")",B=this.item.ellipse.outlineWidth==null?void 0:this.item.ellipse.outlineWidth._value,Q=this.item.ellipse.numberOfVerticalLines==null?void 0:this.item.ellipse.numberOfVerticalLines._value,T=this.item.ellipse.distanceDisplayCondition,w=T?._value.near,S=T?._value.far,D=this._cesium.Cartographic.fromCartesian(this.item.position._value),R=this._cesium.Math.toDegrees(D.longitude),P=this._cesium.Math.toDegrees(D.latitude),M=this._cesium.Math.toDegrees(D.height);return{type:"circle",position:{x:R,y:P,z:M},treeobj:{name:this.treeobj.name},style:{show:o,semiMajorAxis:A,semiMinorAxis:f,height:M,extrudedHeight:m,rotation:C,stRotation:E,fill:x,material:y,outline:I,outlineColor:v,outlineWidth:B,numberOfVerticalLines:Q,near:w,far:S}}};Nc.prototype.setTreeobj=function(o){this.treeobj=o};Nc.prototype.setHeight=function(o){try{this.item._ellipse.heightReference=this._cesium.HeightReference.RELATIVE_TO_GROUND,this.item._ellipse.height=o}catch(A){console.log(A)}return this};Nc.prototype.setHeightType=function(o){try{o==1?this.item._ellipse.heightReference=this._cesium.HeightReference.CLAMP_TO_GROUND:o==2?this.item._ellipse.heightReference=this._cesium.HeightReference.NONE:o==3&&(this.item._ellipse.heightReference=this._cesium.HeightReference.RELATIVE_TO_GROUND)}catch(A){console.log(A)}return this};Nc.prototype.setDistanceDisplayCondition=function(o,A){var f=new this._cesium.DistanceDisplayCondition(o,A);try{this.item._ellipse.distanceDisplayCondition=f}catch(m){console.log(m)}return this};Nc.prototype.setEllipseImage=function(o){try{this.item._ellipse.material.uniforms.image=o}catch(A){console.log(A)}return this};Nc.prototype.setOutlineColor=function(o){try{this.item._ellipse.outlineWidth=5,this.item._ellipse.outlineColor=new In(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};Nc.prototype.setMaterial=function(o){try{this.item._ellipse.material.color=new In(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};Nc.prototype.setMaterialAlpha=function(o){try{this.item._ellipse.material.color._value.alpha=o,this.item._ellipse.show=!0}catch(A){console.log(A)}return this};Nc.prototype.setItem=function(o){this.item=o};Nc.prototype.setExtrudedHeight=function(o){try{this.item._ellipse.extrudedHeight=o}catch(A){console.log(A)}return this};Nc.prototype.deleteObject=function(){this._viewer.entities.remove(this.item)};Nc.prototype.CreateCircle=function(o,A,f,m,C,E){this._postion=o;var x={semiMinorAxis:this._cesium.defaultValue(A,3e5),semiMajorAxis:this._cesium.defaultValue(A,3e5),material:this._cesium.Color.YELLOW,outline:!0,outlineColor:this._cesium.Color.WHITE};f&&f!==""&&(x.outlineColor=new In(this._viewer,this._cesium).colorFromHtmlColor(f)),m&&m!==""&&(x.material=new In(this._viewer,this._cesium).colorFromHtmlColor(m));var y;(o.Yaw||o.Pitch||o.Roll)&&(y=this._cesium.Transforms.headingPitchRollQuaternion(this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(o.Yaw),this._cesium.Math.toRadians(o.Pitch),this._cesium.Math.toRadians(o.Roll)))),this.item=this._viewer.entities.add({name:E,position:this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),ellipse:x,orientation:y});var I={id:this.item.id,name:E,pId:this._core.isnull(C)?0:C,type:"circle",item:this};return this.setTreeobj(I),this._tree.insertGroupId(I,this._core.isnull(C)?0:C),this};Nc.prototype.CreateEllipse=function(o,A,f,m,C,E,x,y){this._postion=o;var I={semiMinorAxis:this._cesium.defaultValue(A,3e5),semiMajorAxis:this._cesium.defaultValue(f,1e5),numberOfVerticalLines:this._cesium.defaultValue(E,16),material:this._cesium.Color.YELLOW,outline:!0,outlineColor:this._cesium.Color.WHITE};m&&m!==""&&(I.outlineColor=new In(this._viewer,this._cesium).colorFromHtmlColor(m)),C&&C!==""&&(I.material=new In(this._viewer,this._cesium).colorFromHtmlColor(C));var v;(o.Yaw||o.Pitch||o.Roll)&&(v=this._cesium.Transforms.headingPitchRollQuaternion(this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(o.Yaw),this._cesium.Math.toRadians(o.Pitch),this._cesium.Math.toRadians(o.Roll)))),this.item=this._viewer.entities.add({name:y,position:this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),ellipse:I,orientation:v});var B={id:this.item.id,name:y,pId:this._core.isnull(x)?0:x,type:"ellipse",item:this};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(x)?0:x),this};Object.defineProperties(Nc.prototype,{Position:{Altitude:{get:function(){return this._postion.Altitude},set:function(o){try{this._postion.Altitude=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},AltitudeType:{get:function(){return this._postion.AltitudeType},set:function(o){try{this._postion.AltitudeType=o}catch(A){console.log(A)}}},Cartesian:{get:function(){return this._postion.Cartesian},set:function(o){try{this._postion.Cartesian=o}catch(A){console.log(A)}}},Distance:{get:function(){return this._postion.Distance},set:function(o){try{this._postion.Distance=o}catch(A){console.log(A)}}},Pitch:{get:function(){return this._postion.Pitch},set:function(o){try{this._postion.Pitch=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}},Roll:{get:function(){return this._postion.Roll},set:function(o){try{this._postion.Roll=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}},X:{get:function(){return this._postion.X},set:function(o){try{this._postion.X=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},Y:{get:function(){return this._postion.Y},set:function(o){try{this._postion.Y=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},Yaw:{get:function(){return this._postion.Yaw},set:function(o){try{this._postion.Yaw=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}}}});var OQ=Nc;function ju(o,A){this._viewer=o,this._cesium=A,this._tree=Ke,this._core=new $i(o,A),this._Color=new In(this._viewer,this._cesium),this._postion={Altitude:0,AltitudeType:0,Cartesian:!0,Distance:0,Pitch:0,Roll:0,X:0,Y:0,Yaw:0}}ju.prototype.createLabel=function(o,A,f,m,C){var E={id:this._core.getuid(),text:"default text",backgroundColor:new In(this._viewer,this._cesium).createColor(.165,.165,.165,1),fillColor:new In(this._viewer,this._cesium).createColor(.9411764705882353,.9725490196078431,1,1),font:"30px sans-serif",horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,show:!0,scale:1,showBackground:!1,distanceDisplayCondition:new this._cesium.DistanceDisplayCondition(0,Number.MAX_VALUE)},x=this._core.extend(E,f,!0);this._core.isnull(A)||(x.text=A),x.fillColor&&!this._core.isnull(x)&&!this._core.isnull(x.fillColor)&&(x.fillColor.toString().charAt(0)=="["&&x.fillColor.toString().charAt(x.fillColor.length-1)=="]"||(this._core.isHtmlColor(x.fillColor)&&/^#/.test(x.fillColor.toString())?x.fillColor=this._Color.colorFromHtmlColor(x.fillColor):(/^rgb/.test(x.fillColor)&&(x.fillColor=this._Color.rgbaStringToRgbaObj(x.fillColor)),x.fillColor.r>1&&(x.fillColor.r=x.fillColor.r/255),x.fillColor.g>1&&(x.fillColor.g=x.fillColor.g/255),x.fillColor.b>1&&(x.fillColor.b=x.fillColor.b/255),x.fillColor.a>1&&(x.fillColor.a=x.fillColor.a/255),x.fillColor.r&&(x.fillColor=this._Color.createColor(x.fillColor.r,x.fillColor.g,x.fillColor.b,x.fillColor.a))))),x.backgroundColor&&!this._core.isnull(x)&&!this._core.isnull(x.backgroundColor)&&(x.backgroundColor.toString().charAt(0)=="["&&x.backgroundColor.toString().charAt(x.backgroundColor.length-1)=="]"||(this._core.isHtmlColor(x.backgroundColor)&&/^#/.test(x.backgroundColor.toString())?x.backgroundColor=this._Color.colorFromHtmlColor(x.backgroundColor):(/^rgb/.test(x.backgroundColor)&&(x.backgroundColor=this._Color.rgbaStringToRgbaObj(x.backgroundColor)),x.backgroundColor.r>1&&(x.backgroundColor.r=x.backgroundColor.r/255),x.backgroundColor.g>1&&(x.backgroundColor.g=x.backgroundColor.g/255),x.backgroundColor.b>1&&(x.backgroundColor.b=x.backgroundColor.b/255),x.backgroundColor.a>1&&(x.backgroundColor.a=x.backgroundColor.a/255),x.backgroundColor.r&&(x.backgroundColor=this._Color.createColor(x.backgroundColor.r,x.backgroundColor.g,x.backgroundColor.b,x.backgroundColor.a))))),x.outlineColor&&!this._core.isnull(x)&&!this._core.isnull(x.outlineColor)&&(x.outlineColor.toString().charAt(0)=="["&&x.outlineColor.toString().charAt(x.outlineColor.length-1)=="]"||(this._core.isHtmlColor(x.outlineColor)&&/^#/.test(x.outlineColor.toString())?x.outlineColor=this._Color.colorFromHtmlColor(x.outlineColor):(/^rgb/.test(x.outlineColor)&&(x.outlineColor=this._Color.rgbaStringToRgbaObj(x.outlineColor)),x.outlineColor.r>1&&(x.outlineColor.r=x.outlineColor.r/255),x.outlineColor.g>1&&(x.outlineColor.g=x.outlineColor.g/255),x.outlineColor.b>1&&(x.outlineColor.b=x.outlineColor.b/255),x.outlineColor.a>1&&(x.outlineColor.a=x.outlineColor.a/255),x.outlineColor.r&&(x.outlineColor=this._Color.createColor(x.outlineColor.r,x.outlineColor.g,x.outlineColor.b,x.outlineColor.a))))),x.near&&x.far&&(x.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(x.near,x.far)),this.item=this._viewer.entities.add({position:this._cesium.Cartesian3.fromDegrees(o[0],o[1],o[2]),label:x});var y={id:this.item.id,name:x.text,pId:this._core.isnull(m)?0:m,type:"label",item:this};return this.setTreeobj(y),this._tree.insertGroupId(y,this._core.isnull(m)?0:m),this};ju.prototype.getstyles=function(){var o={};return o.backgroundColor="rgba"+this.item.label._backgroundColor.toString(),o.fillColor="rgba"+this.item.label._fillColor.toString(),o.text=this.item.label.text.toString(),o.show=this.item.label.show?this.item.label.show._value:!0,o.font=this.item.label.font?this.item.label.font.toString():null,o.style=this.item.label.style?this.item.label.style.toString()=="null"?null:this.item.label.style.toString():null,o.scale=this.item.label.scale?this.item.label.scale.toString():null,o.showBackground=this.item.label.showBackground?this.item.label.showBackground._value:null,o.horizontalOrigin=this.item.label.horizontalOrigin?this.item.label.horizontalOrigin.toString():null,o.verticalOrigin=this.item.label.verticalOrigin?this.item.label.verticalOrigin.toString():null,o.heightReference=this.item.label.heightReference?this.item.label.heightReference.toString():null,o.outlineColor=this.item.label.outlineColor?"rgba"+this.item.label.outlineColor.toString():null,o.outlineWidth=this.item.label.outlineWidth?this.item.label.outlineWidth._value:null,o.near=this.item.label.distanceDisplayCondition?this.item.label.distanceDisplayCondition._value.near:null,o.far=this.item.label.distanceDisplayCondition?this.item.label.distanceDisplayCondition._value.far:null,o.position=this.item.position.getValue().toString(),o};ju.prototype.executeLabel=function(o){var A=this,f=[],m=new A._cesium.ScreenSpaceEventHandler(A._viewer.scene.canvas);return m.setInputAction(function(C){var E=A._viewer.scene.camera.pickEllipsoid(C.position,A._viewer.scene.globe.ellipsoid);f.push(E);var x=A._viewer.entities.add({position:E,label:{id:A._core.getuid(),text:"",font:"30px sans-serif",horizontalOrigin:A._cesium.HorizontalOrigin.CENTER,verticalOrigin:A._cesium.VerticalOrigin.CENTER,show:!0,showBackground:!0}});A.item=x;var y=0;!A._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(y=Ke.selectedItem.id);var I=A._core.getuid(),v={id:I,name:"",pId:A._core.isnull(y)?0:y,type:"Point",item:A};A.setTreeobj(v),A._tree.insertGroupId(v,A._core.isnull(y)?0:y)},A._cesium.ScreenSpaceEventType.LEFT_CLICK),m.setInputAction(function(C){m.destroy()},A._cesium.ScreenSpaceEventType.RIGHT_CLICK),this};ju.prototype.deleteObject=function(){try{if(this.item.type==="DivPoint"){this.pointPrimitive.remove(this.item);var o=document.getElementById(this.item.id);o&&o.remove();return}this._viewer.entities.remove(this.item)}catch{}};ju.prototype.setVisibility=function(o){this.item.show=o};ju.prototype.setRichtext=function(o){var A=this._core.getuid();this.item.position._value!=null?this._position=this.item.position._value:this._position=this.item.position;var f=this.treeobj.pId;if(this.deleteObject(),!this.pointPrimitive){this.pointPrimitive=this._viewer.scene.primitives.add(new this._cesium.PointPrimitiveCollection);var m,C,E,x,y=this;this.pointPrimitive.update=function(){for(var v=0,B,Q;v<y.pointPrimitive.length;v++){if(B=y.pointPrimitive.get(v),x=B.position,E=y._viewer.scene.cartesianToCanvasCoordinates(x),!E)return;C=document.getElementById(B.id),B.name||(B.name="\u6CF0\u745E"),C||(B.description?(Q='<div id="'+B.id+'" style="position: absolute; width: 200px; height: 157px;left: 0px; top: 0px; pointer-events:none; background: url('+window.SmartEarthRootUrl+Zr.divpoint+`);transform: matrix(1, 0, 0, 1, 0, 0); transform-origin: left bottom 0px;"> <div class="title" style="position: inherit;top: 22px;left: 70px;font-size: 14px;text-align: left;color: rgba(255,255,255,1);text-shadow: 0 0 9px rgba(0,0,0,.75)"></div> <div class="content" style="position: inherit;font-size: 14px;top: 50px;left: 50px;width: 140px;text-align: left;color: rgba(255,255,255,1);">`+B.description+`</div> </div>`,$(".cesium-viewer").append(Q),C=document.getElementById(B.id)):(Q='<div id="'+B.id+'" style="position: absolute; width: 200px; height: 134px;left: 0px; top: 0px; pointer-events:none; background: url('+window.SmartEarthRootUrl+Zr.divpoint1+`);transform: matrix(1, 0, 0, 1, 0, 0); transform-origin: left bottom 0px;"> <div class="title" style="position: inherit;top: 22px;left: 70px;font-size: 14px;text-align: left;color: rgba(255,255,255,1);text-shadow: 0 0 9px rgba(0,0,0,.75)">`+B.name+`</div> </div>`,$(".cesium-viewer").append(Q),C=document.getElementById(B.id))),B.description?C.style.transform="matrix(1, 0, 0, 1, "+E.x+", "+(E.y-157)+")":C.style.transform="matrix(1, 0, 0, 1, "+E.x+", "+(E.y-134)+")"}}}this.item=this.pointPrimitive.add({id:"DivPoint"+A,position:this._position,color:this._cesium.Color.YELLOW}),this.item.type="DivPoint",this.item.name=name,this.item.description=o;var I={id:this.item.id,name,pId:this._core.isnull(f)?0:f,type:"Point",item:this};return this.setTreeobj(I),this._tree.insertGroupId(I,this._core.isnull(f)?0:f),this.item};ju.prototype.getVisibility=function(){return this.item.show};ju.prototype.setRadius=function(o){try{this.item._label.outlineWidth=o,this.item._label.outlineColor=this._cesium.Color.RED.withAlpha(.4)}catch(A){console.log(A)}return this};ju.prototype.setText=function(o){try{this.item._label.text=o}catch(A){console.log(A)}return this};ju.prototype.setHeightType=function(o){try{o==1?this.item._label.heightReference=this._cesium.HeightReference.CLAMP_TO_GROUND:o==2?this.item._label.heightReference=this._cesium.HeightReference.NONE:o==3&&(this.item._label.heightReference=this._cesium.HeightReference.RELATIVE_TO_GROUND)}catch(A){console.log(A)}return this};ju.prototype.setUrl=function(o){try{this.item.billboard=new this._cesium.BillboardGraphics({id:this._core.getuid(),image:o,show:!0})}catch(A){console.log(A)}return this};ju.prototype.setFillColorRgba=function(o,A,f,m){try{this.item._label.fillColor=new In(this._viewer,this._cesium).createColor(o,A,f,m)}catch(C){console.log(C)}};ju.prototype.setFillColorHtml=function(o){try{this.item._label.fillColor=new In(this._viewer,this._cesium).colorFromHtmlColor(o),this.item.fillColor=this.item._label.fillColor}catch(A){console.log(A)}};ju.prototype.setFillColorAlpha=function(o){try{this.item._label.fillColor._value.alpha=o}catch(A){console.log(A)}};ju.prototype.setBackgroundColorRgba=function(o,A,f,m){try{this.item._label.backgroundColor=new In(this._viewer,this._cesium).createColor(o,A,f,m)}catch(C){console.log(C)}};ju.prototype.setBackgroundColorHtml=function(o){try{this.item._label.backgroundColor=new In(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}};ju.prototype.setBackgroundColorAlpha=function(o){try{this.item._label.backgroundColor._value.alpha=o}catch(A){console.log(A)}};ju.prototype.setFontSize=function(o){try{this.item._label.font=parseFloat(o)+"px sans-serif"}catch(A){console.log(A)}};ju.prototype.setFillColorAlpha=function(o){try{this.item._label.fillColor._value.alpha=o}catch(A){console.log(A)}};ju.prototype.showBackground=function(o){try{this.item._label.showBackground=o}catch(A){console.log(A)}};ju.prototype.setOutlineWidth=function(o){try{this.item._label.outlineWidth=o}catch(A){console.log(A)}};ju.prototype.setOutlineColorRgba=function(o,A,f,m){try{this.item._label.outlineColor=new this._cesium.Color(o,A,f,m)}catch(C){console.log(C)}};ju.prototype.setOutlineColorHtml=function(o){try{this.item._label.outlineColor=new In(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}};ju.prototype.setOutlineColorAlpha=function(o){try{this.item._label.outlineColor._value.alpha=o}catch(A){console.log(A)}};ju.prototype.setStyle_LabelStyle_FILL=function(o){try{this.item._label.style=this.LabelStyle_FILL}catch(A){console.log(A)}};ju.prototype.setStyle_LabelStyle_FILL_AND_OUTLINE=function(){try{this.item._label.style=this.LabelStyle_FILL_AND_OUTLINE}catch(o){console.log(o)}};ju.prototype.setDistanceDisplayCondition=function(o,A){var f=new this._cesium.DistanceDisplayCondition(o,A);try{this.item._label.distanceDisplayCondition=f}catch(m){console.log(m)}return this};ju.prototype.setStyle_LabelStyle_OUTLINE=function(){try{this.item._label.style=this.LabelStyle_OUTLINE}catch(o){console.log(o)}};ju.prototype.setItem=function(o){this.item=o};ju.prototype.CreateLabel=function(o,A,f,m,C,E){this._postion=o;var x={id:this._core.getuid(),text:A,backgroundColor:m.BackgroundColor,font:m.FontName,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.BOTTOM,show:!0,scale:m.Scale,showBackground:!1,distanceDisplayCondition:new this._cesium.DistanceDisplayCondition(m.MinViewingHeight,m.MaxViewingHeight)};m.Italic&&(x.font="italic "+x.font),m.Bold&&(x.font="Bold "+x.font),!this._core.isnull(m)&&!this._core.isnull(m.IconColor)&&(m.IconColor.toString().charAt(0)=="["&&m.IconColor.toString().charAt(m.IconColor.length-1)=="]"||(this._core.isHtmlColor(m.IconColor)?x.fillColor=this._Color.colorFromHtmlColor(m.IconColor):(/^rgb/.test(m.IconColor)&&(x.fillColor=this._Color.rgbaStringToRgbaObj(m.IconColor)),x.fillColor.r>1&&(x.fillColor.r=x.fillColor.r/255),x.fillColor.g>1&&(x.fillColor.g=x.fillColor.g/255),x.fillColor.b>1&&(x.fillColor.b=x.fillColor.b/255),x.fillColor.a>1&&(x.fillColor.a=x.fillColor.a/255),x.fillColor=this._Color.createColor(x.fillColor.r,x.fillColor.g,x.fillColor.b,x.fillColor.a)))),!this._core.isnull(m)&&!this._core.isnull(m.LineColor)&&(m.LineColor.toString().charAt(0)=="["&&m.LineColor.toString().charAt(m.LineColor.length-1)=="]"||(this._core.isHtmlColor(m.LineColor)?x.outlineColor=this._Color.colorFromHtmlColor(m.LineColor):(/^rgb/.test(m.LineColor)&&(x.outlineColor=this._Color.rgbaStringToRgbaObj(m.LineColor)),x.outlineColor.r>1&&(x.outlineColor.r=x.outlineColor.r/255),x.outlineColor.g>1&&(x.outlineColor.g=x.outlineColor.g/255),x.outlineColor.b>1&&(x.outlineColor.b=x.outlineColor.b/255),x.outlineColor.a>1&&(x.outlineColor.a=x.outlineColor.a/255),x.outlineColor=this._Color.createColor(x.outlineColor.r,x.outlineColor.g,x.outlineColor.b,x.outlineColor.a)))),x=this._core.extend(x,m,!0);var y={position:this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),label:x};if(f&&f!==""){y.label.pixelOffset=this._cesium.defaultValue(m.pixelOffset,{x:30*(A.length/2+1),y:-30});var I={image:f,horizontalOrigin:this._cesium.defaultValue(m.ImageHorizontal,this._cesium.HorizontalOrigin.CENTER),verticalOrigin:this._cesium.defaultValue(m.ImageVertical,this._cesium.VerticalOrigin.BOTTOM),show:!0,scale:m.ImageScale||1,showBackground:!1,distanceDisplayCondition:new this._cesium.DistanceDisplayCondition(m.ImageMinViewingHeight||0,m.ImageMaxViewingHeight||99999999999999)};m.pixelOffset={x:0,y:0},I=this._core.extend(I,m,!1),y.billboard=I}this.item=this._viewer.entities.add(y);var v={id:this.item.id,name:x.text,pId:this._core.isnull(C)?0:C,type:"label",item:this};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(C)?0:C),this};ju.prototype.export=function(){var o=this.item.label.show==null?void 0:this.item.label.show._value,A=this.item.label.text==null?void 0:this.item.label.text._value,f=this.item.label.font==null?void 0:this.item.label.font._value,m=this.item.label.style==null?void 0:this.item.label.style._value,C=this.item.label.scale==null?void 0:this.item.label.scale._value,E=this.item.label.showBackground==null?void 0:this.item.label.showBackground._value,x=this.item.label.backgroundColor==null?void 0:"rgba("+this.item.label.backgroundColor._value.red+","+this.item.label.backgroundColor._value.green+","+this.item.label.backgroundColor._value.blue+","+this.item.label.backgroundColor._value.alpha+")",y=this.item.label.horizontalOrigin==null?void 0:this.item.label.horizontalOrigin._value,I=this.item.label.verticalOrigin==null?void 0:this.item.label.verticalOrigin._value,v=this.item.label.heightReference==null?void 0:this.item.label.heightReference._value,B=this.item.label.fillColor==null?void 0:"rgba("+this.item.label.fillColor._value.red+","+this.item.label.fillColor._value.green+","+this.item.label.fillColor._value.blue+","+this.item.label.fillColor._value.alpha+")",Q=this.item.label.outlineColor==null?void 0:"rgba("+this.item.label.outlineColor._value.red+","+this.item.label.outlineColor._value.green+","+this.item.label.outlineColor._value.blue+","+this.item.label.outlineColor._value.alpha+")",T=this.item.label.outlineWidth==null?void 0:this.item.label.outlineWidth._value,w=this.item.label.distanceDisplayCondition,S=w?._value.near,D=w?._value.far,R=this._cesium.Cartographic.fromCartesian(this.item.position._value),P=this._cesium.Math.toDegrees(R.longitude),M=this._cesium.Math.toDegrees(R.latitude),L=this._cesium.Math.toDegrees(R.height);return{type:"label",position:{x:P,y:M,z:L},treeobj:{id:this.treeobj.id,name:this.treeobj.name,pId:this.treeobj.pId,type:this.treeobj.type},style:{show:o,text:A,font:f,style:m,scale:C,showBackground:E,backgroundColor:x,horizontalOrigin:y,verticalOrigin:I,heightReference:v,fillColor:B,outlineColor:Q,outlineWidth:T,near:S,far:D}}};ju.prototype.setTreeobj=function(o){this.treeobj=o};Object.defineProperties(ju.prototype,{position:{Altitude:{get:function(){return this._postion.Altitude},set:function(o){try{var A=this._cesium.Cartographic.fromCartesian(this.item.position._value),f=this._cesium.Math.toDegrees(A.longitude),m=this._cesium.Math.toDegrees(A.latitude),C=this._cesium.Math.toDegrees(A.height),E=this._cesium.Cartesian3.fromDegrees(f,m,o);this.item.position.position=E,this._postion.Altitude=o}catch(x){console.log(x)}}},AltitudeType:{get:function(){return this._postion.AltitudeType},set:function(o){try{this._postion.AltitudeType=o}catch(A){console.log(A)}}},Cartesian:{get:function(){return this._postion.Cartesian},set:function(o){try{this._postion.Cartesian=o}catch(A){console.log(A)}}},Distance:{get:function(){return this._postion.Distance},set:function(o){try{this._postion.Distance=o}catch(A){console.log(A)}}},Pitch:{get:function(){return this._postion.Pitch},set:function(o){try{this._postion.Pitch=o}catch(A){console.log(A)}}},Roll:{get:function(){return this._postion.Roll},set:function(o){try{this._postion.Roll=o}catch(A){console.log(A)}}},X:{get:function(){return this._postion.X},set:function(o){try{this._postion.X=o;var A=this._cesium.Cartographic.fromCartesian(this.item.position._value),f=this._cesium.Math.toDegrees(A.longitude),m=this._cesium.Math.toDegrees(A.latitude),C=this._cesium.Math.toDegrees(A.height),E=this._cesium.Cartesian3.fromDegrees(o,m,C);this.item.position.position=E}catch(x){console.log(x)}}},Y:{get:function(){return this._postion.Y},set:function(o){try{this._postion.Y=o;var A=this._cesium.Cartographic.fromCartesian(this.item.position._value),f=this._cesium.Math.toDegrees(A.longitude),m=this._cesium.Math.toDegrees(A.latitude),C=this._cesium.Math.toDegrees(A.height),E=this._cesium.Cartesian3.fromDegrees(f,o,C);this.item.position.position=E}catch(x){console.log(x)}}},Yaw:{get:function(){return this._postion.Yaw},set:function(o){try{this._postion.Yaw=o}catch(A){console.log(A)}}}},LabelStyle:{BackgroundColor:{set:bi.debounce(function(o){this._core.isnull(o)||(this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._Color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._Color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._Color.createColor(o.r,o.g,o.b,o.a))),this.item.label.backgroundColor=o,this.item.backgroundColor=o)},500),get:function(){var o=this.item.label.backgroundColor;return this._Color.toHtmlColor("rgb("+o._value.red*255+","+o._value.green*255+","+o._value.blue*255+","+o._value.alpha*255+")")}},Bold:{get:function(){var o=this.item._label.font.getValue();return o.indexOf("bold")!=-1},set:function(){var o="bold "+this.item._label.font.getValue(),A=this.item._label.font.setValue(o)}},FontName:{get:function(){for(var o=this.item._label.font.getValue(),A=o.split(" "),f=0;f<A.length;f++)if(A[f]!="bold"&&A[f].indexOf("px")==-1&&A[f].indexOf("PX")==-1)return A[f]},set:function(o){for(var A=this.item._label.font.getValue(),f=A.split(" "),m=o,C=0;C<f.length;C++)f[C]!="bold"&&f[C].indexOf("px")==-1&&f[C].indexOf("PX")==-1||(m=m+" "+f[C]);var E=this.item._label.font.setValue(m)}},FontSize:{get:function(){for(var o=this.item._label.font.getValue(),A=o.split(" "),f=0;f<A.length;f++)if(A[f].indexOf("px")!=-1)return A[f]},set:function(o){for(var A=this.item._label.font.getValue(),f=A.split(" "),m=o,C=0;C<f.length;C++)f[C].indexOf("px")==-1||(m=m+" "+f[C]);var E=this.item._label.font.setValue(m)}},FrameFileName:{get:function(){return""},set:function(o){}},IconColor:{set:bi.debounce(function(o){this._core.isnull(o)||(this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._Color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._Color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._Color.createColor(o.r,o.g,o.b,o.a))),this.item.label.fillColor=o)},500),get:function(){var o=this.item.label.fillColor;return this._Color.toHtmlColor("rgb("+o._value.red*255+","+o._value.green*255+","+o._value.blue*255+","+o._value.alpha*255+")")}},Italic:{get:function(){for(var o=this.item._label.font.getValue(),A=o.split(" "),f=0;f<A.length;f++)if(A[f].indexOf("italic")!=-1)return A[f]},set:function(o){for(var A=this.item._label.font.getValue(),f=A.split(" "),m=o,C=0;C<f.length;C++)f[C].indexOf("italic")==-1||(m=m+" "+f[C]);var E=this.item._label.font.setValue(m)}},LimitScreenSize:{get:function(){return""},set:function(o){}},LineColor:{set:bi.debounce(function(o){this._core.isnull(o)||(this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._Color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._Color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._Color.createColor(o.r,o.g,o.b,o.a))),this.item.label.outlineColor=o)},500),get:function(){var o=this.item.label.outlineColor;return this._Color.toHtmlColor("rgb("+o._value.red*255+","+o._value.green*255+","+o._value.blue*255+","+o._value.alpha*255+")")}},LineToGround:{get:function(){return""},set:function(o){}},LockMode:{get:function(){return""},set:function(o){}},MaxImageSize:{get:function(){return""},set:function(o){}},MaxViewingHeight:{get:function(){if(this.item._label.distanceDisplayCondition!=null)return this.item._label.distanceDisplayCondition._value.far},set:function(o){var A=0;this.item._label.distanceDisplayCondition!=null&&(A=this.item._label.distanceDisplayCondition._value.near),this.item._label.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(A,o)}},MinViewingHeight:{get:function(){if(this.item._label.distanceDisplayCondition!=null)return this.item._label.distanceDisplayCondition._value.near},set:function(o){var A=0;this.item._label.distanceDisplayCondition!=null&&(A=this.item._label.distanceDisplayCondition._value.far),this.item._label.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,A)}},MultilineJustification:{get:function(){return""},set:function(o){}},PivotAlignment:{get:function(){return""},set:function(o){}},Scale:{get:function(){if(this.item._label.scale!=null)return this.item.label.scale.getValue()},set:function(o){this.item.label.scale.setValue(o)}},TextAlignment:{get:function(){return""},set:function(o){}},TextColor:{get:function(){return""},set:function(o){}},TextOnImage:{get:function(){return""},set:function(o){}},Underline:{get:function(){return""},set:function(o){}}}});var XT=ju;function zR(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A)}zR.prototype.createElevationContour=function(I,A,f){var m=this,C={};m.item=C;var E=this._core.defaultValue(f.min,-414),x=m._core.defaultValue(f.max,8844),y=(x-E)*.05;m.item.selectedShading=A;var I=I,v=m._viewer.scene.globe,B;return I?(A==="elevation"?(B=new m._cesium.Material({fabric:{type:"ElevationColorContour",materials:{contourMaterial:{type:"ElevationContour"},elevationRampMaterial:{type:"ElevationRamp"}},components:{diffuse:"contourMaterial.alpha == 0.0 ? elevationRampMaterial.diffuse : contourMaterial.diffuse",alpha:"max(contourMaterial.alpha, elevationRampMaterial.alpha)"}},translucent:!1}),m.item.shadingUniforms=B.materials.elevationRampMaterial.uniforms,m.item.shadingUniforms.minimumHeight=E,m.item.shadingUniforms.maximumHeight=x,m.item.contourUniforms=B.materials.contourMaterial.uniforms):A==="slope"?(B=new m._cesium.Material({fabric:{type:"SlopeColorContour",materials:{contourMaterial:{type:"ElevationContour"},slopeRampMaterial:{type:"SlopeRamp"}},components:{diffuse:"contourMaterial.alpha == 0.0 ? slopeRampMaterial.diffuse : contourMaterial.diffuse",alpha:"max(contourMaterial.alpha, slopeRampMaterial.alpha)"}},translucent:!1}),m.item.shadingUniforms=B.materials.slopeRampMaterial.uniforms,m.item.contourUniforms=B.materials.contourMaterial.uniforms):A==="aspect"?(B=new m._cesium.Material({fabric:{type:"AspectColorContour",materials:{contourMaterial:{type:"ElevationContour"},aspectRampMaterial:{type:"AspectRamp"}},components:{diffuse:"contourMaterial.alpha == 0.0 ? aspectRampMaterial.diffuse : contourMaterial.diffuse",alpha:"max(contourMaterial.alpha, aspectRampMaterial.alpha)"}},translucent:!1}),m.item.shadingUniforms=B.materials.aspectRampMaterial.uniforms,m.item.contourUniforms=B.materials.contourMaterial.uniforms):(B=m._cesium.Material.fromType("ElevationContour"),m.item.contourUniforms=B.uniforms),m.item.contourUniforms.width=m._core.defaultValue(f.width,2),m.item.contourUniforms.spacing=m._core.defaultValue(f.spacing,150),m.item.contourUniforms.color=m._cesium.Color.fromCssColorString(m._core.defaultValue(f.lineColor,"#ff0000"))):A==="elevation"?(B=m._cesium.Material.fromType("ElevationRamp"),m.item.shadingUniforms=B.uniforms,m.item.shadingUniforms.minimumHeight=E,m.item.shadingUniforms.maximumHeight=x):A==="slope"?(B=m._cesium.Material.fromType("SlopeRamp"),m.item.shadingUniforms=B.uniforms):A==="aspect"&&(B=m._cesium.Material.fromType("AspectRamp"),m.item.shadingUniforms=B.uniforms),A!=="none"&&(f?m.item.shadingUniforms.image=m._core.getColorRamp(A,f.colorArr,f.min,f.max):m.item.shadingUniforms.image=m._core.getColorRamp(A)),v.material=void 0,m._viewer.render(),v.material=B,m.item.material=v.material,this};zR.prototype.executeMaterial=function(o){var A=this,f={};A.item=f;var m=-414,C=8777;A.item.selectedShading=o,A.item.shadingUniforms={};var E=this._viewer.scene.globe,x;return A.item.selectedShading==="elevation"?(x=this._cesium.Material.fromType("ElevationRamp"),A.item.shadingUniforms=x.uniforms,A.item.shadingUniforms.minHeight=m,A.item.shadingUniforms.maxHeight=C):A.item.selectedShading==="slope"?(x=this._cesium.Material.fromType("SlopeRamp"),A.item.shadingUniforms=x.uniforms):A.item.selectedShading==="aspect"&&(x=this._cesium.Material.fromType("AspectRamp"),A.item.shadingUniforms=x.uniforms),A.item.selectedShading!=="none"&&(A.item.shadingUniforms.image=this._core.getColorRamp(A.item.selectedShading)),E.material=x,A.item.material=E.material,this};zR.prototype.setSpacing=function(o){try{this.item.contourUniforms.spacing=parseFloat(o)}catch(A){console.log(A)}return this};zR.prototype.setMaterialColor=function(o){try{this.item.contourUniforms.color=new In(this._viewer,this._cesium).colorFromHtmlColor(o)}catch(A){console.log(A)}return this};zR.prototype.setWidth=function(o){try{this.item.contourUniforms.width=parseFloat(o)}catch(A){console.log(A)}return this};zR.prototype.executeContourMaterial=function(o){var A=this,f={};A.item=f;var m=-414,C=8777;A.item.selectedShading=o;var E=A._viewer.scene.globe,x;return A.item.selectedShading==="elevation"?(x=new this._cesium.Material({fabric:{type:"ElevationColorContour",materials:{contourMaterial:{type:"ElevationContour"},elevationRampMaterial:{type:"ElevationRamp"}},components:{diffuse:"contourMaterial.alpha == 0.0 ? elevationRampMaterial.diffuse : contourMaterial.diffuse",alpha:"max(contourMaterial.alpha, elevationRampMaterial.alpha)"}},translucent:!1}),A.item.shadingUniforms=x.materials.elevationRampMaterial.uniforms,A.item.shadingUniforms.minHeight=m,A.item.shadingUniforms.maxHeight=C,A.item.contourUniforms=x.materials.contourMaterial.uniforms):A.item.selectedShading==="slope"?(x=getSlopeContourMaterial(),A.item.shadingUniforms=x.materials.slopeRampMaterial.uniforms,A.item.contourUniforms=x.materials.contourMaterial.uniforms):A.item.selectedShading==="aspect"?(x=getAspectContourMaterial(),A.item.shadingUniforms=x.materials.aspectRampMaterial.uniforms,A.item.contourUniforms=x.materials.contourMaterial.uniforms):(x=this._cesium.Material.fromType("ElevationContour"),A.item.contourUniforms=x.uniforms),A.item.selectedShading!=="none"&&(A.item.shadingUniforms.image=this._core.getColorRamp(A.item.selectedShading)),A.item.contourUniforms.width=2,A.item.contourUniforms.spacing=150,A.item.contourUniforms.color=this._cesium.Color.fromRandom({alpha:1},this._cesium.Color.RED.clone()),E.material=x,A.item.material=E.material,this};Object.defineProperties(zR.prototype,{elevation:{get:function(){return this.item},set:function(o){this.item=o}}});var mH=zR;var KLi=null;function wut(o,A){KLi=A,this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._polyline=void 0,this._polygon=void 0,this._box=new qT(o,A),this._ellipsoid=new VR(o,A),this._rectangle=new Ww(o,A),this._circle=new OQ(o,A),this._point=void 0,this._label=new XT(o,A),this._dynamicObject=new NR(o,A),this._elevationContour=new mH(o,A),this._cone=new yp(o,A)}wut.prototype.execute=function(o,A,f={},m){var C=this._viewer,E=this._cesium;this._point=new LI(C,E),this._polyline=new Ng(C,E),this._polygon=new Fg(C,E);var x=this._core,y={polyline:{},positions:[],distance:[]};if(y.setDistance=function(){alert("qq")},o==0&&A==0)return this._polyline.executePolyline(f,m);if(o==4&&A==1)return this._elevationContour.executeContourMaterial(m);if(o==0&&A==1)return this._polygon.executePolygon(f,m);if(o==0&&A==11)return this._polygon.executePolygonvideo(m,f);if(o==1&&A==1)return this._box.executeBox(m);if(o==1&&A==2)return this._cone.executeCone(m);if(o==1&&A==3)return this._cone.executeCylinder(m);if(o==1&&A==4)return this._ellipsoid.executeEllipsoid(m);if(o==1&&A==5)return this._rectangle.createRectangle(f,m);if(o==1&&A==6)return this._circle.executeClircle(m);if(o==1&&A==7)return this._polygon.executeSector(m,f);if(o==1&&A==8)return this._box.executeExcavation(f,m);if(o==1&&A==9)return this._box.executeExcavation(f,m);if(o==1&&A==10)return this._circle.executeClirclews(m);if(o==1&&A==11)return this._point.executePoint(m,f);if(o==1&&A==12)return this._rectangle.createRectangledxkz(m);if(o==0&&A==2)return this._polyline.executeHorizontals(m,f);if(o==0&&A==3)return this._polygon.executePolygoncl(m,f);if(o==0&&A==4)return this._polyline.executeHorizontal(m,f);if(o==0&&A==10)return this._polyline.executePolyline1(m,f);if(o==0&&A==5)return this._polyline.executeHeightTe(m,f);if(o==0&&A==6)return this._polyline.executeAnge(m,f);if(o==0&&A==9)return this._polyline.executeAngeSd(m,f);if(!(o==0&&A==7)){if(o==0&&A==8)return this._polygon.surfaceArea(f,m);if(o==0&&A==12)return this._polyline.executeAngle(m,f);if(o==0&&A==13)this._point.executePointp(m,f);else{if(o==2&&A==0)return this._polyline.executeProfile(f,m);if(o==2&&A==1)return this._polygon.executePolygonym(m);if(o==2&&A==2)return new Fg(C,E).executePolygonymsd(f,m);if(o==2&&A==3)return this._dynamicObject.executeFlycesium(m);if(o==2&&A==4)return this._polygon.executePolygonymsdtt(f,m);if(o==2&&A==5)return this._rectangle.createRectanglelbj(f,m);if(o==2&&A==6)return this._polyline.executeProfilePro(f,m);if(o==3&&A==0){if(f!=""&&f!=null){var I=new Date(f),v=E.JulianDate.fromDate(I);C.clock.currentTime=v.clone()}}else if(o==3&&A==1)this._viewer.animation.viewModel.faster();else if(o==3&&A==2)this._viewer.animation.viewModel.slower();else if(o==3&&A==3)this._viewer.animation.viewModel.playForwardViewModel.command();else if(o==3&&A==4)this._viewer.animation.viewModel.playReverseViewModel.command();else if(o==3&&A==5)this._viewer.animation.viewModel.pauseViewModel.command();else if(o==3&&A==6){var B=E.Cartographic.fromCartesian(f),Q=E.Math.toDegrees(B.longitude),T=E.Math.toDegrees(B.latitude),w=B.height,S={lon:Q,lat:T,hei:w};return S}}}};var but=wut;function Qut(o,A){this._viewer=o,this._cesium=A,this._execute=new but(this._viewer,this._cesium)}Qut.prototype.execute=function(o,A,f,m){return this._execute.execute(o,A,f,m)};var Sut=Qut;var Dut=`// author: \u5F20\u4E39\u948A vec4 toEye(in vec2 uv, in float depth){ vec2 xy = vec2((uv.x * 2.0 - 1.0),(uv.y * 2.0 - 1.0)); vec4 posInCamera =czm_inverseProjection * vec4(xy, depth, 1.0); posInCamera =posInCamera / posInCamera.w; return posInCamera; } float getDepth(in vec4 depth){ float z_window = czm_unpackDepth(depth); z_window = czm_reverseLogDepth(z_window); float n_range = czm_depthRange.near; float f_range = czm_depthRange.far; return (2.0 * z_window - n_range - f_range) / (f_range - n_range); } mat4 inverse_mat4(mat4 m) { float Coef00 = m[2][2] * m[3][3] - m[3][2] * m[2][3]; float Coef02 = m[1][2] * m[3][3] - m[3][2] * m[1][3]; float Coef03 = m[1][2] * m[2][3] - m[2][2] * m[1][3]; float Coef04 = m[2][1] * m[3][3] - m[3][1] * m[2][3]; float Coef06 = m[1][1] * m[3][3] - m[3][1] * m[1][3]; float Coef07 = m[1][1] * m[2][3] - m[2][1] * m[1][3]; float Coef08 = m[2][1] * m[3][2] - m[3][1] * m[2][2]; float Coef10 = m[1][1] * m[3][2] - m[3][1] * m[1][2]; float Coef11 = m[1][1] * m[2][2] - m[2][1] * m[1][2]; float Coef12 = m[2][0] * m[3][3] - m[3][0] * m[2][3]; float Coef14 = m[1][0] * m[3][3] - m[3][0] * m[1][3]; float Coef15 = m[1][0] * m[2][3] - m[2][0] * m[1][3]; float Coef16 = m[2][0] * m[3][2] - m[3][0] * m[2][2]; float Coef18 = m[1][0] * m[3][2] - m[3][0] * m[1][2]; float Coef19 = m[1][0] * m[2][2] - m[2][0] * m[1][2]; float Coef20 = m[2][0] * m[3][1] - m[3][0] * m[2][1]; float Coef22 = m[1][0] * m[3][1] - m[3][0] * m[1][1]; float Coef23 = m[1][0] * m[2][1] - m[2][0] * m[1][1]; const vec4 SignA = vec4( 1.0, -1.0, 1.0, -1.0); const vec4 SignB = vec4(-1.0, 1.0, -1.0, 1.0); vec4 Fac0 = vec4(Coef00, Coef00, Coef02, Coef03); vec4 Fac1 = vec4(Coef04, Coef04, Coef06, Coef07); vec4 Fac2 = vec4(Coef08, Coef08, Coef10, Coef11); vec4 Fac3 = vec4(Coef12, Coef12, Coef14, Coef15); vec4 Fac4 = vec4(Coef16, Coef16, Coef18, Coef19); vec4 Fac5 = vec4(Coef20, Coef20, Coef22, Coef23); vec4 Vec0 = vec4(m[1][0], m[0][0], m[0][0], m[0][0]); vec4 Vec1 = vec4(m[1][1], m[0][1], m[0][1], m[0][1]); vec4 Vec2 = vec4(m[1][2], m[0][2], m[0][2], m[0][2]); vec4 Vec3 = vec4(m[1][3], m[0][3], m[0][3], m[0][3]); vec4 Inv0 = SignA * (Vec1 * Fac0 - Vec2 * Fac1 + Vec3 * Fac2); vec4 Inv1 = SignB * (Vec0 * Fac0 - Vec2 * Fac3 + Vec3 * Fac4); vec4 Inv2 = SignA * (Vec0 * Fac1 - Vec1 * Fac3 + Vec3 * Fac5); vec4 Inv3 = SignB * (Vec0 * Fac2 - Vec1 * Fac4 + Vec2 * Fac5); mat4 Inverse = mat4(Inv0, Inv1, Inv2, Inv3); vec4 Row0 = vec4(Inverse[0][0], Inverse[1][0], Inverse[2][0], Inverse[3][0]); float Determinant = dot(m[0], Row0); Inverse /= Determinant; return Inverse; } uniform sampler2D colorTexture; uniform sampler2D depthTexture; in vec2 v_textureCoordinates; uniform vec3 cen; uniform vec3 position; uniform vec3 eupp; uniform vec3 angle; uniform vec4 nearAndFar; uniform sampler2D video; uniform vec4 visible; uniform vec4 unvisible; uniform float type; uniform sampler2D stcshadow; uniform mat4 _shadowMap_matrix; uniform vec4 shadowMap_lightPositionEC; uniform vec4 shadowMap_texelSizeDepthBiasAndNormalShadingSmooth; uniform vec4 shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness; mat4 computeMat(){ vec3 dir = normalize( position - cen ); vec3 up = normalize( eupp - cen);//vec3( 0. ,0. , 1.); vec3 right = cross(dir , up); right = normalize(right); up = cross(right , dir); up = normalize(up); return mat4( right.x,right.y,right.z,0., up.x,up.y,up.z,0., dir.x,dir.y,dir.z,0., cen.x,cen.y,cen.z,1. ); // return mat4( // right.x ,up.x ,dir.x , cen.x, // right.y ,up.y ,dir.y , cen.y, // right.z ,up.z ,dir.z , cen.z, // 0. ,0.,0.,1. // ); } mat3 computeMat3(float an){ float sa = sin(an); float ca = cos(an); return mat3( ca , -sa ,0., sa , ca , 0., 0.,0.,1. ); } void main(){ vec2 uv = v_textureCoordinates; float depth = getDepth(texture( depthTexture , uv)); vec4 oc = texture(colorTexture , uv); vec4 ec = toEye( uv , depth); ec /= ec.w; vec3 snor = normalize(position - cen); vec3 pd = ec.xyz - cen; float dd = length(pd); vec3 n = normalize(ec.xyz - cen); float d = dot(n , snor); mat4 localMat = computeMat(); vec4 p = inverse_mat4(localMat) * ec; p /= p.w; if( p.z < nearAndFar.x || p.z > nearAndFar.y){ out_FragColor = oc; return; } vec3 pp = p.xyz; mat3 rm = computeMat3( radians( angle.z ) ); pp = rm * pp; vec3 nn = pp.xyz; vec3 zn = vec3(0.,0.,1.); float dist = dot( nn , zn); float dx = pp.x ; float xangle = tan(radians( angle.x )); float yangle = tan(radians( angle.y )); float tanx = pp.x / dist; float tany = pp.y / dist; if( (tanx > -xangle && tanx< xangle) &&(tany > -yangle && tany < yangle)){ czm_shadowParameters shadowParameters; shadowParameters.texelStepSize = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.xy; shadowParameters.depthBias = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.z; shadowParameters.normalShadingSmooth = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.w; shadowParameters.darkness = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.w; shadowParameters.depthBias *= max(depth * 0.01, 1.0); vec3 directionEC = normalize(ec.xyz - shadowMap_lightPositionEC.xyz); vec3 normalEC = vec3(1.0); float nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); vec4 shadowPosition = _shadowMap_matrix * ec; shadowPosition /= shadowPosition.w; shadowParameters.texCoords = shadowPosition.xy; shadowParameters.depth = shadowPosition.z; shadowParameters.nDotL = nDotL; float visibility = czm_shadowVisibility(stcshadow, shadowParameters); if(type == 0.0){ if(visibility == 1.0){ out_FragColor = mix(oc , visible , nearAndFar.z); }else{ out_FragColor = mix(oc , unvisible , nearAndFar.z); } }else{ if(visibility == 1.0){ float r = (tanx + xangle) / (2. * xangle); float g = (tany + yangle) / (2. * yangle); vec4 col = texture( video , vec2( r , g)); float f1 = 1.; float v1 = nearAndFar.w ;//\u7FBD\u5316\u8DDD\u79BB float v2 = 1. - v1; if(r < v1){ f1 = r / v1; } if(r > v2){ f1 = (1. - r) / v1; } float f2 = 1.; if(g < v1){ f2 = g / v1; } if(g > v2){ f2 = (1. - g) / v1; } float f12 = f1 * f2; float ff = smoothstep( 0. , 1. , f12 ); ff *= nearAndFar.z; out_FragColor = mix(oc , col , ff); }else{ out_FragColor = oc; } } }else{ out_FragColor = oc; } } `;var sse=null,Ea=null;function Wx(o,A,f){Ea=f,sse=new $i(o,f),this._viewer=o,this.video=A.video,this.viewshed=A.viewshed||{},this.cameraPosition=A.cameraPosition.x&&A.cameraPosition.y&&A.cameraPosition.z?A.cameraPosition:Ea.Cartesian3.fromDegrees(A.cameraPosition.lon,A.cameraPosition.lat,A.cameraPosition.height),this.position=A.position&&(A.position instanceof Ea.Cartesian3?A.position:Ea.Cartesian3.fromDegrees(A.position.lon,A.position.lat,A.position.height)),this.heading=A.heading||0,this.pitch=A.pitch||0,this.alpha=A.alpha||.9,this.horizonAngle=A.horizonAngle||60,this.verticalAngle=A.verticalAngle||40,this.angle=new Ea.Cartesian3(this.horizonAngle/2,this.verticalAngle/2,0),this.near=sse.defaultValue(A.near,1),this.far=A.far||30,this.showFarScale=A.showFarScale||5,this.offset=0,this.show=!0,this.video&&(this.offset=sse.defaultValue(A.video.offset,.1)),this.viewshed.visible=Ea.Color.fromCssColorString(this.viewshed.visible||"#00ff00"),this.viewshed.unvisible=Ea.Color.fromCssColorString(this.viewshed.unvisible||"#ff0000"),this.nearAndFar=new Ea.Cartesian4(this.near,this.far,this.alpha,this.offset),this.center=new Ea.Cartesian3,this.eupp=new Ea.Cartesian3,this.epp=new Ea.Cartesian3,this.upp=this.setSpHeight(this.cameraPosition),this.useLine=Ea.defaultValue(A.useLine,!0),this._viewer.scene.primitives.add(this),this.init()}Wx.prototype.createViewCone=function(){if(this.line&&(this._viewer.scene.primitives.remove(this.line),this.line=null),!this.useLine)return;let o=this.viewShadowMap._lightCamera;this.line=new Ea.Primitive({geometryInstances:new Ea.GeometryInstance({geometry:new Ea.FrustumOutlineGeometry({origin:o.positionWC,orientation:this.orientationData,frustum:o.frustum}),attributes:{color:Ea.ColorGeometryInstanceAttribute.fromColor(Ea.Color.fromCssColorString("#fff"))}}),appearance:new Ea.PerInstanceColorAppearance({translucent:!1,flat:!0}),asynchronous:!1,allowPicking:!1}),this._viewer.scene.primitives.add(this.line)};Wx.prototype.isShow=function(){return this.show&&sse.getPointToCameraDistance(this._viewer,this.cameraPosition)<this.far*this.showFarScale};Wx.prototype.init=function(){if(this.post&&this.texture)return;if(!(this.upp instanceof Ea.Cartesian3))throw new Error("\u8BA1\u7B97\u4E0A\u65B9\u5411\u9519\u8BEF");this._createShadowMap(),this.createViewCone();let o=this.video&&this.video.container,A=this,f=this._viewer.scene.context.uniformState,m=this.viewShadowMap._isPointLight?this.viewShadowMap._pointBias:this.viewShadowMap._primitiveBias,C=0;o&&(this.texture=new Ea.Texture({context:this._viewer.scene.context,source:o,width:1,height:1}),C=1),this.post=new Ea.PostProcessStage({uniforms:{type:function(){return C},cen:function(){return Ea.Matrix4.multiplyByPoint(f.view3D,A.cameraPosition,A.center)},position:function(){return Ea.Matrix4.multiplyByPoint(f.view3D,A.videoCenter,A.epp)},eupp:function(){return Ea.Matrix4.multiplyByPoint(f.view3D,A.upp,A.eupp)},video:function(){return o&&o.readyState>=2&&!A.isPause&&A.texture.copyFrom({source:o}),A.texture||A._viewer.scene.context.defaultTexture},visible:function(){return A.viewshed.visible},unvisible:function(){return A.viewshed.unvisible},angle:function(){return A.angle},nearAndFar:function(){return A.nearAndFar},_shadowMap_matrix:function(){return A.viewShadowMap._shadowMapMatrix},shadowMap_lightPositionEC:function(){return A.viewShadowMap._lightPositionEC},shadowMap_texelSizeDepthBiasAndNormalShadingSmooth:function(){let E=new Ea.Cartesian2;return E.x=1/A.viewShadowMap._textureSize.x,E.y=1/A.viewShadowMap._textureSize.y,Ea.Cartesian4.fromElements(E.x,E.y,m.depthBias,m.normalShadingSmooth)},shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness:function(){return Ea.Cartesian4.fromElements(m.normalOffsetScale,A.viewShadowMap._distance,A.viewShadowMap.maximumDistance,A.viewShadowMap._darkness)},stcshadow:function(){return A.viewShadowMap._shadowMapTexture}},fragmentShader:Dut}),this._viewer.scene.postProcessStages.add(this.post)};Wx.prototype._createShadowMap=function(){let o=new Ea.Camera(this._viewer.scene);if(o.frustum.fov=Ea.Math.toRadians(this.horizonAngle),o.frustum.aspectRatio=this.horizonAngle/this.verticalAngle,o.frustum.near=this.near,o.frustum.far=this.far,this.position){o.position=this.cameraPosition,o.direction=Ea.Cartesian3.subtract(this.position,this.cameraPosition,new Ea.Cartesian3(0,0,0)),o.up=Ea.Cartesian3.normalize(this.cameraPosition,new Ea.Cartesian3(0,0,0));let y=Ea.Cartesian3.normalize(Ea.Cartesian3.subtract(this.position,this.cameraPosition,new Ea.Cartesian3),new Ea.Cartesian3);o.direction=y,this.heading=Ea.Math.toDegrees(o.heading),this.pitch=Ea.Math.toDegrees(o.pitch)}else o.setView({destination:this.cameraPosition,orientation:{heading:Ea.Math.toRadians(this.heading),pitch:Ea.Math.toRadians(this.pitch),roll:0}});let A=new Ea.Cartesian3,f=new Ea.Matrix3,m=new Ea.Quaternion,C=o.upWC,E=o.rightWC;E=Ea.Cartesian3.negate(E,A);let x=f;if(Ea.Matrix3.setColumn(x,0,E,x),Ea.Matrix3.setColumn(x,1,C,x),Ea.Matrix3.setColumn(x,2,o.direction,x),this.orientationData=Ea.Quaternion.fromRotationMatrix(x,m),!this.position){let y=new Float64Array(24);Ea.FrustumGeometry._computeNearFarPlanes(o.positionWC,this.orientationData,0,o.frustum,y);let I=new Ea.Cartesian3;for(let v=12;v<y.length;v+=3)I.x+=y[v],I.y+=y[v+1],I.z+=y[v+2];Ea.Cartesian3.multiplyByScalar(I,1/4,I),this.position=I}this.videoCenter=this.position,this.position=null,this.viewShadowMap=new Ea.ShadowMap({lightCamera:o,enabled:!1,isPointLight:!1,isSpotLight:!0,cascadesEnabled:!1,context:this._viewer.scene.context,pointLightRadius:this.far}),this.viewShadowMap.guid=Ea.createGuid()};Wx.prototype.flyTo=function(){if(this.viewShadowMap&&this.viewShadowMap._lightCamera){let o=this.viewShadowMap._lightCamera;this._viewer.camera.flyTo({destination:o.position,orientation:{heading:o.heading,pitch:o.pitch,roll:0}})}};Wx.prototype.updatePost=function(o){o.cameraPosition&&(this.cameraPosition=o.cameraPosition instanceof Ea.Cartesian3?o.cameraPosition:Ea.Cartesian3.fromDegrees(o.cameraPosition.lon,o.cameraPosition.lat,o.cameraPosition.height)),o.position&&(this.position=o.position instanceof Ea.Cartesian3?o.position:Ea.Cartesian3.fromDegrees(o.position.lon,o.position.lat,o.position.height)),!isNaN(o.heading)&&typeof o.heading=="number"&&(this.heading=o.heading),!isNaN(o.pitch)&&typeof o.pitch=="number"&&(this.pitch=o.pitch),!isNaN(o.alpha)&&typeof o.alpha=="number"&&(this.alpha=o.alpha),!isNaN(o.horizonAngle)&&typeof o.horizonAngle=="number"&&(this.horizonAngle=o.horizonAngle,this.angle.x=this.horizonAngle/2),!isNaN(o.verticalAngle)&&typeof o.verticalAngle=="number"&&(this.verticalAngle=o.verticalAngle,this.angle.y=this.verticalAngle/2),!isNaN(o.near)&&typeof o.near=="number"&&(this.near=o.near,this.nearAndFar.x=this.near),!isNaN(o.far)&&typeof o.far=="number"&&(this.far=o.far,this.nearAndFar.y=this.far),!isNaN(o.offset)&&typeof o.offset=="number"&&(this.nearAndFar.w=o.offset,this.offset=o.offset),!isNaN(o.alpha)&&typeof o.alpha=="number"&&(this.nearAndFar.z=o.alpha,this.alpha=o.alpha),!isNaN(o.showFarScale)&&typeof o.showFarScale=="number"&&(this.showFarScale=o.showFarScale),o.useLine!==void 0&&(this.useLine=o.useLine),this._createShadowMap(),this.createViewCone()};Wx.prototype.update=function(o){if(this.viewShadowMap&&this.show){let A=this.isShow();this.post&&(this.post.enabled=A),this.line&&(this.line.show=A),A&&this._viewer.scene.frameState.shadowMaps.push(this.viewShadowMap)}};Wx.prototype.setVisibility=function(o){this.show=o,this.post&&(this.post.enabled=o),this.line&&(this.line.show=o)};Wx.prototype.destroy=function(){if(this.post){this._viewer.scene.postProcessStages.remove(this.post);try{this.post.destroy()}catch{}this.post=void 0}return this.texture&&(this.texture.destroy(),this.texture=void 0),this._viewer.scene.primitives.remove(this),this.shadowMaps&&this.shadowMaps.destroy(),this.line&&(this._viewer.scene.primitives.remove(this.line),this.line=null),Ea.destroyObject(this)};Wx.prototype.setSpHeight=function(o,A=5e3){let f=Ea.Cartographic.fromCartesian(o);return f.height+=A,Ea.Cartographic.toCartesian(f)};Wx.prototype.changeHorizonAngle=function(o){this.updatePost({horizonAngle:parseFloat(o)})};Wx.prototype.changeVerticalAngle=function(o){this.updatePost({verticalAngle:parseFloat(o)})};Wx.prototype.changeRotateAngle=function(o){this.updatePost({angleZ:parseFloat(o)})};var HK=Wx;var Tut=null,Es=null;function i1(o,A,f){Es=f,Tut=new $i(o,f),this._viewer=o,this.type=A.type,this.videoContainer=A.videoContainer||A.video&&A.video.container,this.prop=A.prop,this.cameraPosition=A.cameraPosition.x&&A.cameraPosition.y&&A.cameraPosition.z?A.cameraPosition:Es.Cartesian3.fromDegrees(A.cameraPosition.lon,A.cameraPosition.lat,A.cameraPosition.height),this.position=A.position&&(A.position instanceof Es.Cartesian3?A.position:Es.Cartesian3.fromDegrees(A.position.lon,A.position.lat,A.position.height)),this.heading=A.heading||0,this.pitch=A.pitch||0,this.alpha=A.alpha||.9,this.horizonAngle=A.horizonAngle||60,this.verticalAngle=A.verticalAngle||40,this.far=A.far||30,this.showFarScale=A.showFarScale||5,this.show=!0,this.useLine=Es.defaultValue(A.useLine,!0),this._viewer.scene.primitives.add(this),this.init()}i1.prototype.createViewCone=function(){this.line&&(this._viewer.scene.primitives.remove(this.line),this.line=null),this.useLine&&(this.line=new Es.Primitive({geometryInstances:new Es.GeometryInstance({geometry:new Es.FrustumOutlineGeometry(this.cameraData),attributes:{color:Es.ColorGeometryInstanceAttribute.fromColor(Es.Color.WHITE)}}),appearance:new Es.PerInstanceColorAppearance({translucent:!1,flat:!0}),asynchronous:!1,allowPicking:!1}),this._viewer.scene.primitives.add(this.line))};i1.prototype.createVideoPlane=function(){let o=new Float64Array(24);Es.FrustumGeometry._computeNearFarPlanes(this.cameraData.origin,this.cameraData.orientation,0,this.cameraData.frustum,o);let A=[];for(let m=12;m<o.length;m+=3)A.push(o[m],o[m+1],o[m+2]);this.plan&&this.plan.destroy();let f=Es.Material.fromType("Image");f.uniforms.image=this.videoContainer,f.uniforms.color.alpha=this.alpha,this.plan=new Es.Primitive({geometryInstances:new Es.GeometryInstance({geometry:new Es.Geometry({attributes:{position:new Es.GeometryAttribute({componentDatatype:Es.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:A}),st:new Es.GeometryAttribute({componentDatatype:Es.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:[0,0,1,0,1,1,0,1]})},indices:[0,1,2,0,2,3],primitiveType:Es.PrimitiveType.TRIANGLES,boundingSphere:Es.BoundingSphere.fromVertices(A)}),id:this.prop}),appearance:new Es.MaterialAppearance({flat:!0,material:f})})};i1.prototype.isShow=function(){return this.show&&Tut.getPointToCameraDistance(this._viewer,this.cameraPosition)<this.far*this.showFarScale};i1.prototype.init=function(){this.plan||(this.createCamera(),this.createVideoPlane(),this.createViewCone())};i1.prototype.createCamera=function(){let o=this.videoCamera||new Es.Camera(this._viewer.scene);if(o.frustum.fov=Es.Math.toRadians(this.horizonAngle),o.frustum.aspectRatio=this.horizonAngle/this.verticalAngle,o.frustum.near=1,o.frustum.far=this.far,this.position){o.position=this.cameraPosition,o.direction=Es.Cartesian3.subtract(this.position,this.cameraPosition,new Es.Cartesian3(0,0,0)),o.up=Es.Cartesian3.normalize(this.cameraPosition,new Es.Cartesian3(0,0,0));let v=Es.Cartesian3.normalize(Es.Cartesian3.subtract(this.position,this.cameraPosition,new Es.Cartesian3),new Es.Cartesian3);o.direction=v,this.heading=Es.Math.toDegrees(o.heading),this.pitch=Es.Math.toDegrees(o.pitch),this.position=null}else o.setView({destination:this.cameraPosition,orientation:{heading:Es.Math.toRadians(this.heading),pitch:Es.Math.toRadians(this.pitch),roll:0}});let A=new Es.Cartesian3,f=new Es.Matrix3,m=new Es.Quaternion,C=o.positionWC,E=o.upWC,x=o.rightWC;x=Es.Cartesian3.negate(x,A);let y=f;Es.Matrix3.setColumn(y,0,x,y),Es.Matrix3.setColumn(y,1,E,y),Es.Matrix3.setColumn(y,2,o.direction,y);let I=Es.Quaternion.fromRotationMatrix(y,m);this.videoCamera=o,this.cameraData={orientation:I,origin:C,frustum:o.frustum}};i1.prototype.flyTo=function(){this.videoCamera&&this._viewer.camera.flyTo({destination:this.videoCamera.position,orientation:{heading:this.videoCamera.heading,pitch:this.videoCamera.pitch,roll:0}})};i1.prototype.updatePost=function(o){o.cameraPosition&&(this.cameraPosition=o.cameraPosition instanceof Es.Cartesian3?o.cameraPosition:Es.Cartesian3.fromDegrees(o.cameraPosition.lon,o.cameraPosition.lat,o.cameraPosition.height)),o.position&&(this.position=o.position instanceof Es.Cartesian3?o.position:Es.Cartesian3.fromDegrees(o.position.lon,o.position.lat,o.position.height)),!isNaN(o.heading)&&typeof o.heading=="number"&&(this.heading=o.heading),!isNaN(o.pitch)&&typeof o.pitch=="number"&&(this.pitch=o.pitch),!isNaN(o.alpha)&&typeof o.alpha=="number"&&(this.alpha=o.alpha),!isNaN(o.horizonAngle)&&typeof o.horizonAngle=="number"&&(this.horizonAngle=o.horizonAngle),!isNaN(o.verticalAngle)&&typeof o.verticalAngle=="number"&&(this.verticalAngle=o.verticalAngle),!isNaN(o.far)&&typeof o.far=="number"&&(this.far=o.far),!isNaN(o.showFarScale)&&typeof o.showFarScale=="number"&&(this.showFarScale=o.showFarScale),o.useLine!==void 0&&(this.useLine=o.useLine),o.prop&&(this.prop=o.prop),this.createCamera(),o.type.indexOf("h265")>=0?this.createCanvasPlane():this.createVideoPlane(),this.createViewCone()};i1.prototype.update=function(o){if(this.plan&&this.show){let A=this.isShow();this.plan&&(this.plan.show=A),this.line&&(this.line.show=A),this.plan.update(o)}};i1.prototype.setVisibility=function(o){this.show=o,this.plan&&(this.plan.show=o),this.line&&(this.line.show=o)};i1.prototype.destroy=function(){return this.plan&&(this.plan.destroy(),this.plan=void 0),this._viewer.scene.primitives.remove(this),this.line&&(this._viewer.scene.primitives.remove(this.line),this.line=null),Es.destroyObject(this)};var Mut=i1;var WLi=null;function kv(o,A){WLi=A,this._viewer=o,this._cesium=A,this._core=new $i(o,A),this.isPause=!1,this.isLoad=!1}kv.prototype.Video3D=function(o){return this.url=o.url,this.options=o,this.videoContainer=o.video||void 0,this.videoType=o.type||"mp4",this.video2D=o.video2D,this.options.video={container:this.videoContainer,offset:o.offset},o.type&&o.type.indexOf("h265")>=0?this.addDiv(o.success):this.addVideo(o.success),this};kv.prototype.addDiv=function(o){let A="Video3D"+this._core.getuid(),f=`<div id="${A}" style="display: none"></div>`;$(this._viewer.container).append(f),this.divContainer=document.getElementById(A),this.load(),o(this)};kv.prototype.addVideo=function(o){if(this.videoContainer){this.videoContainer.oncanplay=()=>{this.init&&this.init()};return}let A="Video3D"+this._core.getuid(),f=`<video id="${A}" autoplay muted loop crossorigin style="display: none"></video>`;$(this._viewer.container).append(f),this.videoContainer=document.getElementById(A),this.options.video.container=this.videoContainer,this.load(),this.videoContainer.oncanplay=()=>{this.thisVideo||(this.init&&this.init(),o&&o(this))}};kv.prototype.load=function(){let o=this.url;if(this.videoType==="hls"){if(window.Hls||new Ep(!1).addJs(document.body,window.SmartEarthRootUrl+"Workers/hls.js"),this.videoContainer.canPlayType("application/vnd.apple.mpegurl"))this.videoContainer.src=o;else if(Hls.isSupported()){var A=new Hls;A.loadSource(o),A.attachMedia(this.videoContainer),this.player=A}}else if(this.videoType==="flv"){if(window.flvjs||new Ep(!1).addJs(document.body,window.SmartEarthRootUrl+"Workers/flv.js"),flvjs.isSupported()){var f=flvjs.createPlayer({type:"flv",url:o});f.attachMediaElement(this.videoContainer),f.load(),this.player=f}}else if(this.videoType==="flv-h265"){if(window.WasmPlayer||new Ep(!1).addJs(document.body,window.SmartEarthRootUrl+"Workers/EasyWasmPlayer.js"),window.WasmPlayer){let m=this;this.player=new WasmPlayer(null,this.divContainer.id,function(){m.thisVideo||m.init&&m.init()},{Height:!0}),this.videoContainer=this.player.canvas,this.options.video.container=this.videoContainer,this.player.play(o,1)}}else this.videoContainer.src=o,this.thisVideo&&(this.videoContainer.load(),this.videoContainer.play());this.isLoad=!0};kv.prototype.pause=function(){this.videoType!=="mp4"&&(this.isLoad=!1),this.player&&this.player.destroy(),this.videoContainer.pause()};kv.prototype.flyTo=function(){this.thisVideo&&this.thisVideo.flyTo()};kv.prototype.play=function(){this.isLoad||this.load(),this.videoContainer.play()};kv.prototype.init=function(){this.thisVideo||(!this.isPause&&this.videoContainer&&this.videoContainer.readyState===this.videoContainer.HAVE_ENOUGH_DATA&&this.play(),this.video2D?this.thisVideo=new Mut(this._viewer,this.options,this._cesium):this.thisVideo=new HK(this._viewer,this.options,this._cesium))};kv.prototype.updateVideo=function(o){(o.url||o.type)&&(o.type&&(this.videoType=o.type),o.url&&(this.url=o.url),o.url&&(this.pause(),this.load(),this.videoContainer.oncanplay=()=>{this.play()})),this.thisVideo&&this.thisVideo.updatePost(o)};kv.prototype.setVisibility=function(o){this.thisVideo&&this.thisVideo.setVisibility(o)};kv.prototype.destroy=function(){this.thisVideo&&this.thisVideo.destroy(),this.thisVideo=null,this.player&&this.player.destroy&&this.player.destroy(),this.videoContainer&&this.videoContainer.remove()};var lse=kv;function Ov(o,A,f){this._viewer=A,this._cesium=f,this._core=new $i(A,f),this.particleType=o||"",this.particlePrimitives={}}Ov.prototype.createParticleEffect=function(o,A,f){switch(this._viewer.clockViewModel.shouldAnimate||(this._viewer.clockViewModel.shouldAnimate=!0),this.particleType){case"fireworks":this.createFireworks(o,A,f);break;case"smog":this.createSmog(o,A,f);break;case"fountain":this.createFountain(o,A,f);break;case"flame":this.createFlame(o,A,f);break;case"blast":this.createBlast(o,A,f);break}return this};Ov.prototype.deleteObject=function(){let o=this._viewer.scene,A=this.particleType,f=this.particlePrimitives[A];f&&f.length&&(f.forEach(m=>{o.primitives.remove(m)}),this.particlePrimitives[A]=[])};Ov.prototype.remove=function(){let o=this._viewer.scene,A=this.particleType,f=this.particlePrimitives[A];f&&f.length&&(f.forEach(m=>{o.primitives.remove(m)}),this.particlePrimitives[A]=[])};Ov.prototype.createFireworks=function(o,A,f){var m=this._viewer.scene,C=this._viewer,E=this._cesium;let x=this.particleType;A||(A={}),E.Math.setRandomNumberSeed(315);var y=this.computeModelMatrix(o),I=new E.Cartesian3(0,0,100),v;function B(){if(!E.defined(v)){v=document.createElement("canvas"),v.width=20,v.height=20;var W=v.getContext("2d");W.beginPath(),W.arc(8,8,8,0,E.Math.TWO_PI,!0),W.closePath(),W.fillStyle="rgb(255, 255, 255)",W.fill()}return v}var Q=E.defaultValue(A.minSize,30),T=E.defaultValue(A.maxSize,100),w=E.defaultValue(A.size,7),S=new E.Cartesian2(w,w),D=400,R=10,P=E.defaultValue(A.num,20),M=new E.Matrix4;function L(W,Y,z){var re=E.Cartesian3.add(I,W,new E.Cartesian3),se=E.Matrix4.fromTranslation(re,M),de=E.Matrix4.multiply(y,se,new E.Matrix4),me=E.Matrix4.inverseTransformation(de,de),Ce=E.Math.randomBetween(Q,T),Ie=new E.Cartesian3,we=function(Le){var be=E.Matrix4.multiplyByPoint(me,Le.position,Ie);E.Cartesian3.magnitudeSquared(be)>=Ce*Ce&&E.Cartesian3.clone(E.Cartesian3.ZERO,Le.velocity)},Te=(Ce-Q)/(T-Q),Ge=.3,ke=1,Oe=Te*(ke-Ge)+Ge;return m.primitives.add(new E.ParticleSystem({image:B(),startColor:Y,endColor:Y.withAlpha(0),particleLife:Oe,speed:100,imageSize:S,emissionRate:0,emitter:new E.SphereEmitter(.1),bursts:z,lifetime:R,updateCallback:we,modelMatrix:y,emitterModelMatrix:se}))}for(var F=-100,k=100,N=-80,G=100,J=-50,K=50,X=[{minimumRed:.75,green:0,minimumBlue:.8,alpha:1},{red:0,minimumGreen:.75,minimumBlue:.8,alpha:1},{red:0,green:0,minimumBlue:.8,alpha:1},{minimumRed:.75,minimumGreen:.75,blue:0,alpha:1}],q=0;q<P;++q){for(var ee=E.Math.randomBetween(F,k),ie=E.Math.randomBetween(N,G),H=E.Math.randomBetween(J,K),le=new E.Cartesian3(ee,ie,H),ue=E.Color.fromRandom(X[q%X.length]),Ae=[],he=0;he<3;++he)Ae.push(new E.ParticleBurst({time:E.Math.nextRandomNumber()*R,minimum:D,maximum:D}));this.particlePrimitives[x]||(this.particlePrimitives[x]=[]),this.particlePrimitives[x].push(L(le,ue,Ae))}if(f&&typeof f=="function")f(this.particlePrimitives[x]);else{var ge=C.scene.camera,fe=new E.Cartesian3(-300,0,0);ge.lookAtTransform(y,fe),ge.lookAtTransform(E.Matrix4.IDENTITY);var ae=E.Cartesian3.subtract(I,fe,new E.Cartesian3);E.Cartesian3.normalize(ae,ae);var U=E.Math.PI_OVER_TWO-Math.acos(E.Cartesian3.dot(ae,E.Cartesian3.UNIT_Z));ge.lookUp(U)}};Ov.prototype.createSmog=function(o,A,f){var m=this._viewer.scene,C=this._viewer,E=this._cesium,x=this;let y=this.particleType;(!A||A==="")&&(A={}),E.Math.setRandomNumberSeed(3);var I={image:window.SmartEarthRootUrl+Zr.smog,emissionRate:50,gravity:0,minimumParticleLife:1,maximumParticleLife:1.2,minimumSpeed:1,maximumSpeed:4,startScale:1,endScale:5,particleSize:1,lifetime:6};this._core.extend(I,A,!0);var v,B=new E.Cartesian3,Q=T(o);this.particlePrimitives[y]||(this.particlePrimitives[y]=[]),this.particlePrimitives[y].push(Q),f&&typeof f=="function"&&f(this.particlePrimitives[y]);function T(R){var P=C.scene;return v=P.primitives.add(new E.ParticleSystem({image:I.image,startColor:E.Color.LIGHTSEAGREEN.withAlpha(.7),endColor:E.Color.WHITE.withAlpha(0),startScale:I.startScale,endScale:I.endScale,sizeInMeters:!0,minimumParticleLife:I.minimumParticleLife,maximumParticleLife:I.maximumParticleLife,minimumSpeed:I.minimumSpeed,maximumSpeed:I.maximumSpeed,imageSize:new E.Cartesian2(I.particleSize,I.particleSize),emissionRate:I.emissionRate,lifetime:I.lifetime,emitter:new E.CircleEmitter(2),emitterModelMatrix:x.computeEmitterModelMatrix(A.translation,A.rotation),updateCallback:w})),I.type&&D(I.type),C.scene.preUpdate.addEventListener(function(M,L){v&&(v.modelMatrix=x.computeModelMatrix(R,L),v.emitterModelMatrix=x.computeEmitterModelMatrix(A.translation,A.rotation))}),v}function w(R,P){var M=R.position;E.Cartesian3.normalize(M,B),E.Cartesian3.multiplyByScalar(B,I.gravity*P,B),R.velocity=E.Cartesian3.add(R.velocity,B,R.velocity)}function S(R){R.startScale&&(v.startScale=R.startScale),R.endScale&&(v.endScale=R.endScale),R.minimumParticleLife&&(v.minimumParticleLife=R.minimumParticleLife),R.maximumParticleLife&&(v.maximumParticleLife=R.maximumParticleLife),R.minimumSpeed&&(v.minimumSpeed=R.minimumSpeed),R.maximumSpeed&&(v.maximumSpeed=R.maximumSpeed),R.particleSize&&(v.minimumImageSize.x=R.particleSize,v.minimumImageSize.y=R.particleSize,v.maximumImageSize.x=R.particleSize,v.maximumImageSize.y=R.particleSize),R.emissionRate&&(v.emissionRate=R.emissionRate)}function D(R){R==="\u5706\u5F62\u653E\u5C04"?v.emitter=new E.CircleEmitter(2):R==="\u7403\u4F53\u653E\u5C04"?v.emitter=new E.SphereEmitter(2.5):R==="\u5706\u9525\u4F53\u653E\u5C04"?v.emitter=new E.ConeEmitter(E.Math.toRadians(45)):R==="\u76D2\u72B6\u653E\u5C04"&&(v.emitter=new E.BoxEmitter(new E.Cartesian3(10,10,10)))}};Ov.prototype.createFountain=function(o,A,f){var m=this._viewer.scene,C=this._viewer,E=this._cesium,x=this;let y=this.particleType;(!A||A==="")&&(A={});var I={image:window.SmartEarthRootUrl+Zr.penquan,emissionRate:50,minimumParticleLife:3,maximumParticleLife:4,minimumSpeed:9,maximumSpeed:9.5,startScale:1,endScale:15,particleSize:1,lifetime:6,gravity:-3.5};this._core.extend(I,A,!0);var v=new E.Cartesian3,B,Q=T();this.particlePrimitives[y]||(this.particlePrimitives[y]=[]),this.particlePrimitives[y].push(Q),f&&typeof f=="function"&&f(this.particlePrimitives[y]);function T(){return B=C.scene.primitives.add(new E.ParticleSystem({image:I.image,startColor:new E.Color(1,1,1,.3),endColor:new E.Color(.8,.86,1,.4),startScale:I.startScale,endScale:I.endScale,minimumParticleLife:I.minimumParticleLife,maximumParticleLife:I.maximumParticleLife,minimumSpeed:I.minimumSpeed,maximumSpeed:I.maximumSpeed,imageSize:new E.Cartesian2(I.particleSize,I.particleSize*2),emissionRate:I.emissionRate,lifetime:I.lifetime,loop:!0,emitter:new E.ConeEmitter(E.Math.toRadians(E.defaultValue(I.angle,7))),updateCallback:w,sizeInMeters:!0})),C.scene.preUpdate.addEventListener(function(D,R){B&&(B.modelMatrix=x.computeModelMatrix(o,R),B.emitterModelMatrix=x.computeEmitterModelMatrix(A.translation,A.rotation))}),B}function w(D,R){var P=D.position;E.Cartesian3.normalize(P,v),E.Cartesian3.multiplyByScalar(v,I.gravity*R,v),D.velocity=E.Cartesian3.add(D.velocity,v,D.velocity)}function S(D){B.startScale=D.startScale,B.endScale=D.endScale,B.minimumParticleLife=D.minimumParticleLife,B.maximumParticleLife=D.maximumParticleLife,B.minimumSpeed=D.minimumSpeed,B.maximumSpeed=D.maximumSpeed,B.minimumImageSize.x=D.particleSize,B.minimumImageSize.y=D.particleSize*2,B.maximumImageSize.x=D.particleSize,B.maximumImageSize.y=D.particleSize*2,B.emissionRate=D.emissionRate}};Ov.prototype.createFlame=function(o,A,f){var m=this._viewer.scene,C=this._viewer,E=this._cesium,x=this;let y=this.particleType;(!A||A==="")&&(A={});var I={image:window.SmartEarthRootUrl+Zr.fire,emissionRate:50,gravity:0,minimumParticleLife:1,maximumParticleLife:3,minimumSpeed:1,maximumSpeed:4,startScale:1,endScale:6,particleSize:1,lifetime:16};this._core.extend(I,A,!0);var v=B(o);this.particlePrimitives[y]||(this.particlePrimitives[y]=[]),this.particlePrimitives[y].push(v),f&&typeof f=="function"&&f(this.particlePrimitives[y]);function B(Q){return C.scene.primitives.add(new E.ParticleSystem({image:I.image,startColor:E.Color.RED.withAlpha(.7),endColor:E.Color.YELLOW.withAlpha(.3),startScale:I.startScale,endScale:I.endScale,minimumParticleLife:I.minimumParticleLife,maximumParticleLife:I.maximumParticleLife,minimumSpeed:I.minimumSpeed,maximumSpeed:I.maximumSpeed,imageSize:new E.Cartesian2(I.particleSize,I.particleSize),emissionRate:I.emissionRate,sizeInMeters:!0,lifetime:I.lifetime,emitter:new E.ConeEmitter(E.Math.toRadians(30)),modelMatrix:x.computeModelMatrix(Q),emitterModelMatrix:x.computeEmitterModelMatrix(I.translation,I.rotation)}))}};Ov.prototype.createBlast=function(o,A,f){var m=this._viewer.scene,C=this._viewer,E=this._cesium,x=this;let y=this.particleType;(!A||A==="")&&(A={});var I={image:window.SmartEarthRootUrl+Zr.fire2,emissionRate:10,gravity:0,minimumParticleLife:1,maximumParticleLife:3,minimumSpeed:5,maximumSpeed:20,startScale:1,endScale:10,particleSize:5,lifetime:3};this._core.extend(I,A,!0);var v=B(o);this.particlePrimitives[y]||(this.particlePrimitives[y]=[]),this.particlePrimitives[y].push(v),f&&typeof f=="function"&&f(this.particlePrimitives[y]);function B(Q){let T=new E.ParticleSystem({image:I.image,startColor:I.startColor,endColor:I.endColor,startScale:I.startScale,endScale:I.endScale,minimumParticleLife:I.minimumParticleLife,maximumParticleLife:I.maximumParticleLife,minimumSpeed:I.minimumSpeed,maximumSpeed:I.maximumSpeed,imageSize:new E.Cartesian2(I.particleSize,I.particleSize),emissionRate:I.emissionRate,sizeInMeters:!0,lifetime:I.lifetime,emitter:new E.ConeEmitter(E.Math.toRadians(30)),emitterModelMatrix:x.computeEmitterModelMatrix(I.translation,I.rotation),bursts:I.bursts,updateCallback:()=>{T.modelMatrix=x.computeModelMatrix(Q,x._viewer.clock.currentTime)}});return C.scene.primitives.add(T)}};Ov.prototype.computeModelMatrix=function(o,A){var f=this._cesium;if(o instanceof f.Entity)return o.computeModelMatrix(A,new f.Matrix4);if(o.x&&o.y){var m;return o.x<=180&&o.x>=-180&&o.y<=90&&o.y>=-90?m=f.Cartesian3.fromDegrees(o.x,o.y,o.z||0):m=o,f.Transforms.eastNorthUpToFixedFrame(m)}};Ov.prototype.computeEmitterModelMatrix=function(o,A){var f=this._cesium,m=new f.TranslationRotationScale,C=f.HeadingPitchRoll.fromDegrees(0,0,0);return m.translation=f.defaultValue(o,f.Cartesian3.fromElements(0,0,0)),m.rotation=f.Quaternion.fromHeadingPitchRoll(f.defaultValue(A,C)),f.Matrix4.fromTranslationRotationScale(m)};Object.defineProperties(Ov.prototype,{show:{get:function(){let o=this.particleType,A=this.particlePrimitives[o];return A&&A.length?A[0].show:!1},set:function(o){let A=this.particleType,f=this.particlePrimitives[A];f&&f.length&&f.forEach(m=>{m.show=o})}}});var use=Ov;var Yn=null;function VK(o,A){Yn=A,this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._tree=Ke,this._getPosition=new kl(this._viewer,this._cesium),this.tooltip=this._core.CreateTooltip()}VK.prototype.createViewCone=function(o,A){let f={roll:0,fov:60,near:1,height:1.6,fillColor:"rgba(0,255,0,0.1)",outlineColor:"rgba(0,255,0,1)"};!o&&(o={}),o=this._core.extend(f,o,!0),this._option=o,this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw);let m=this,C=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(C.scene.canvas),Ke.states=1;let E=[];return this.drawHandler.setInputAction(x=>{let y=m._getPosition.getMousePosition(x);if(!!y){if(E.length===0){if(o.height){let I=m._core.toDegrees(y);I.height+=o.height,E.push(Yn.Cartesian3.fromDegrees(I.lon,I.lat,I.height))}else E.push(y);E.push(y)}else m.drawHandler.destroy(),m.drawHandler=void 0,m.tooltip.show(!1),setTimeout(function(){Ke.states=0},100),m._core.mouse(m._viewer.container,0,"0"),A&&typeof A=="function"&&A(m.item,E);if(!m.item){m.viewConeCamera=new Yn.Camera(C.scene);let I=Yn.Cartesian3.normalize(Yn.Cartesian3.subtract(E[1],E[0],new Yn.Cartesian3),new Yn.Cartesian3);m.viewConeCamera.position=E[0],m.viewConeCamera.direction=I,m.viewConeCamera.frustum.fov=Yn.Math.toRadians(o.fov),m.viewConeCamera.frustum.near=o.near,m.viewConeCamera.frustum.far=1;let v=new Yn.Cartesian3,B=new Yn.Matrix3,Q=new Yn.Quaternion,T=m.viewConeCamera.positionWC,w=m.viewConeCamera.upWC,S=m.viewConeCamera.rightWC;S=Yn.Cartesian3.negate(S,v);let D=B;Yn.Matrix3.setColumn(D,0,S,D),Yn.Matrix3.setColumn(D,1,w,D),Yn.Matrix3.setColumn(D,2,I,D);let R=Yn.Quaternion.fromRotationMatrix(D,Q);o.fill&&(m._planesPrimitive=new Yn.Primitive({geometryInstances:new Yn.GeometryInstance({geometry:new Yn.FrustumGeometry({origin:T,orientation:R,frustum:m.viewConeCamera.frustum}),attributes:{color:Yn.ColorGeometryInstanceAttribute.fromColor(Yn.Color.fromCssColorString(o.fillColor))},id:o.id}),appearance:new Yn.PerInstanceColorAppearance({translucent:!0,flat:!0}),asynchronous:!1,allowPicking:!1})),m._outlinePrimitive=new Yn.Primitive({geometryInstances:new Yn.GeometryInstance({geometry:new Yn.FrustumOutlineGeometry({origin:T,orientation:R,frustum:m.viewConeCamera.frustum}),attributes:{color:Yn.ColorGeometryInstanceAttribute.fromColor(Yn.Color.fromCssColorString(o.outlineColor))},id:o.id}),appearance:new Yn.PerInstanceColorAppearance({translucent:!1,flat:!0}),asynchronous:!1,allowPicking:!1}),m.item=new Yn.PrimitiveCollection,m._viewer.scene.primitives.add(m.item),m._outlinePrimitive&&m.item.add(m._outlinePrimitive),m._planesPrimitive&&m.item.add(m._planesPrimitive)}}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(x=>{if(E.length>0){m.tooltip.showAt(x.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236");let y=m._getPosition.getMousePosition(x);y&&(E[1]=y,m.viewConeCamera.direction=Yn.Cartesian3.normalize(Yn.Cartesian3.subtract(E[1],E[0],new Yn.Cartesian3),new Yn.Cartesian3),m.updata({heading:Yn.Math.toDegrees(m.viewConeCamera.heading),pitch:Yn.Math.toDegrees(m.viewConeCamera.pitch),far:m._core.getSpaceDistancem(E,Yn)}))}else m.tooltip.showAt(x.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this};VK.prototype.addViewCone=function(o){let A={position:this._viewer.camera.position.clone(),heading:0,pitch:0,roll:0,fov:60,near:1,far:60,fillColor:"rgba(0,255,0,0.1)",outlineColor:"rgba(0,255,0,1)"};!o&&(o={}),o.position&&o.position.lon&&(o.position=Yn.Cartesian3.fromDegrees(o.position.lon,o.position.lat,o.position.height)),o=this._core.extend(A,o,!0),this.viewConeCamera=new Yn.Camera(this._viewer.scene),this.viewConeCamera.setView({destination:o.position,orientation:{heading:Yn.Math.toRadians(o.heading),pitch:Yn.Math.toRadians(o.pitch),roll:Yn.Math.toRadians(o.roll)}}),this.viewConeCamera.frustum.fov=Yn.Math.toRadians(o.fov),this.viewConeCamera.frustum.near=o.near,this.viewConeCamera.frustum.far=o.far;let f=new Yn.Cartesian3,m=new Yn.Matrix3,C=new Yn.Quaternion,E=this.viewConeCamera.positionWC,x=this.viewConeCamera.directionWC,y=this.viewConeCamera.upWC,I=this.viewConeCamera.rightWC;I=Yn.Cartesian3.negate(I,f);let v=m;Yn.Matrix3.setColumn(v,0,I,v),Yn.Matrix3.setColumn(v,1,y,v),Yn.Matrix3.setColumn(v,2,x,v);let B=Yn.Quaternion.fromRotationMatrix(v,C);return o.fill&&(this._planesPrimitive=new Yn.Primitive({geometryInstances:new Yn.GeometryInstance({geometry:new Yn.FrustumGeometry({origin:E,orientation:B,frustum:this.viewConeCamera.frustum}),attributes:{color:Yn.ColorGeometryInstanceAttribute.fromColor(Yn.Color.fromCssColorString(o.fillColor))},id:o.id}),appearance:new Yn.PerInstanceColorAppearance({translucent:!0,flat:!0}),asynchronous:!1,allowPicking:!1})),this._outlinePrimitive=new Yn.Primitive({geometryInstances:new Yn.GeometryInstance({geometry:new Yn.FrustumOutlineGeometry({origin:E,orientation:B,frustum:this.viewConeCamera.frustum}),attributes:{color:Yn.ColorGeometryInstanceAttribute.fromColor(Yn.Color.fromCssColorString(o.outlineColor))},id:o.id}),appearance:new Yn.PerInstanceColorAppearance({translucent:!1,flat:!0}),asynchronous:!1,allowPicking:!1}),this._option=o,this.item=new Yn.PrimitiveCollection,this._viewer.scene.primitives.add(this.item),this._outlinePrimitive&&this.item.add(this._outlinePrimitive),this._planesPrimitive&&this.item.add(this._planesPrimitive),this};VK.prototype.updata=function(o){!o&&(o={}),o.position&&o.position.lon&&(o.position=Yn.Cartesian3.fromDegrees(o.position.lon,o.position.lat,o.position.height)),o=this._core.extend(this._option,o,!0),this._outlinePrimitive&&this._outlinePrimitive.destroy(),this._planesPrimitive&&this._planesPrimitive.destroy(),this.item.removeAll(),this.viewConeCamera.setView({destination:o.position,orientation:{heading:Yn.Math.toRadians(o.heading),pitch:Yn.Math.toRadians(o.pitch),roll:Yn.Math.toRadians(o.roll)}}),this.viewConeCamera.frustum.fov=Yn.Math.toRadians(o.fov),this.viewConeCamera.frustum.near=o.near,this.viewConeCamera.frustum.far=o.far;let A=new Yn.Cartesian3,f=new Yn.Matrix3,m=new Yn.Quaternion,C=this.viewConeCamera.positionWC,E=this.viewConeCamera.directionWC,x=this.viewConeCamera.upWC,y=this.viewConeCamera.rightWC;y=Yn.Cartesian3.negate(y,A);let I=f;Yn.Matrix3.setColumn(I,0,y,I),Yn.Matrix3.setColumn(I,1,x,I),Yn.Matrix3.setColumn(I,2,E,I);let v=Yn.Quaternion.fromRotationMatrix(I,m);o.fill&&(this._planesPrimitive=new Yn.Primitive({geometryInstances:new Yn.GeometryInstance({geometry:new Yn.FrustumGeometry({origin:C,orientation:v,frustum:this.viewConeCamera.frustum}),attributes:{color:Yn.ColorGeometryInstanceAttribute.fromColor(Yn.Color.fromCssColorString(o.fillColor))},id:o.id}),appearance:new Yn.PerInstanceColorAppearance({translucent:!0,flat:!0}),asynchronous:!1,allowPicking:!1})),this._outlinePrimitive=new Yn.Primitive({geometryInstances:new Yn.GeometryInstance({geometry:new Yn.FrustumOutlineGeometry({origin:C,orientation:v,frustum:this.viewConeCamera.frustum}),attributes:{color:Yn.ColorGeometryInstanceAttribute.fromColor(Yn.Color.fromCssColorString(o.outlineColor))},id:o.id}),appearance:new Yn.PerInstanceColorAppearance({translucent:!1,flat:!0}),asynchronous:!1,allowPicking:!1}),this._option=o,this.item.add(this._outlinePrimitive),this._planesPrimitive&&this.item.add(this._planesPrimitive)};VK.prototype.destroy=function(){return this._outlinePrimitive&&this._outlinePrimitive.destroy(),this._planesPrimitive&&this._planesPrimitive.destroy(),this.item&&this._viewer.scene.primitives.removeAndDestroy(this.item),Yn.destroyObject(this)};var YR=VK;function rg(o,A={},f){this._viewer=o,this._cesium=f,this.radius=this.defaultValue(A.radius,50),this.minRadius=this.defaultValue(A.minRadius,1),this.maxRadius=this.defaultValue(A.maxRadius,50),this.blur=this.defaultValue(A.blur,.85),this.alpha=this.defaultValue(A.alpha,1),this.rectangleHeight=A.height,this.is3D=A.type&&A.type.indexOf("3D")>-1,this.is3D&&(this._3DOption={width:A.TIN_X||200,height:A.TIN_Y||200,grid:this.defaultValue(A.showTIN,!1),scale:this.defaultValue(A.colorScale,1),z:this.defaultValue(A.minHeight,100)}),this.minOpacity=this.defaultValue(A.minOpacity,.1),this.maxOpacity=this.defaultValue(A.maxOpacity,.8),this.gradient=this.defaultValue(A.gradient,{".3":"blue",".5":"green",".7":"yellow",".95":"red"}),this.flyTo=this.defaultValue(A.flyTo,!0),A.dynamic&&!this.is3D&&this.dynamicAdjust(!0),this._core=new $i(o,f),this.tooltip=this._core.CreateTooltip(),A.tooltip&&this.showTooltip(!0)}rg.prototype.defaultValue=function(o,A){return this._cesium.defaultValue(o,A)};rg.prototype.create=function(o){this.setData(o),this.flyTo&&this.flyToBounding()};rg.prototype.setData=function(o){let A=1e3,f=-1e3,m=1e3,C=-1e3,E=-1/0,x=1/0;o.forEach(function(S){let D=S.x,R=S.y;A=Math.min(D,A),m=Math.min(R,m),f=Math.max(D,f),C=Math.max(R,C),E=Math.max(S.value,E),x=Math.min(S.value,x)});let y=f-A,I=C-m,v={xMin:A-y/10,yMin:m-I/10,xMax:f+y/10,yMax:C+I/10},B=1e3,Q=parseInt(1e3/(v.xMax-v.xMin)*(v.yMax-v.yMin));if(this.heatmapInstance)this.heatmapInstance._renderer.canvas.setAttribute("style","width:"+B+"px;height:"+Q+"px;");else{let S=document.createElement("div");S.setAttribute("style","width:"+B+"px;height:"+Q+"px;display:none;"),document.body.appendChild(S),this.heatmapInstance=h337.create({container:S,maxOpacity:this.maxOpacity,minOpacity:this.minOpacity,blur:this.blur,radius:this.radius,gradient:this.gradient})}let T=[];o.forEach(function(S){let D=(S.x-v.xMin)/(v.xMax-v.xMin)*B,R=(-(S.y-v.yMin)/(v.yMax-v.yMin)+1)*Q,P={x:Math.round(D),y:Math.round(R),value:S.value};T.push(P)}),this.datas={max:E,min:x,data:T},this.heatmapInstance.setData(this.datas),this.heatmapcanvas=this.heatmapInstance._renderer.canvas,this.drawHeatmapRect(this.heatmapcanvas,v),this.rectangle=this._cesium.Rectangle.fromDegrees(v.xMin,v.yMin,v.xMax,v.yMax);let w=this._cesium.BoundingSphere.fromRectangle3D(this.rectangle);this.boundingRadius=w.radius,this.extent=v};rg.prototype.flyToBounding=function(){this._viewer.camera.flyTo({destination:this.rectangle})};rg.prototype.destroy=function(){this.dynamicAdjust(!1),this._viewer.scene.primitives.remove(this._worldRectangle),this.heatmapcanvas.remove(),this.showTooltip(!1)};rg.prototype.dynamicAdjust=function(o){o?this._viewer.clock.onTick.addEventListener(this.dynamicAdjustEvent,this):this._viewer.clock.onTick.removeEventListener(this.dynamicAdjustEvent,this)};rg.prototype.dynamicAdjustEvent=function(){if(this.heatmapInstance&&this._viewer){let o=this._viewer.camera.positionCartographic,A=o.height,f=this._viewer.scene.globe.getHeight(o),C=(A-f)/this.boundingRadius*this.maxRadius;C=C.toFixed(1),C>this.maxRadius&&(C=this.maxRadius),C<this.minRadius&&(C=this.minRadius),C!==this.radius&&C<=this.maxRadius&&C>=this.minRadius&&this.changeRadius(C)}};rg.prototype.changeRadius=async function(o){this.radius=o;for(let A in this.heatmapInstance._store._radi)for(let f in this.heatmapInstance._store._radi[A])this.heatmapInstance._store._radi[A][f]=o;this.heatmapInstance._coordinator.emit("renderall",this.heatmapInstance._store._getInternalData()),this.updateHeatmap()};rg.prototype.drawHeatmapRect=function(o,A){this._worldRectangle&&this._viewer.scene.primitives.remove(this._worldRectangle);let f=this.convertCanvasToImage(o);if(this.is3D)Object.assign(this._3DOption,A),this.create3DHeatmap(f);else{let m=this.rectangleHeight===void 0?this._cesium.GroundPrimitive:this._cesium.Primitive;this._worldRectangle=this._viewer.scene.primitives.add(new m({geometryInstances:new this._cesium.GeometryInstance({geometry:new this._cesium.RectangleGeometry({rectangle:this._cesium.Rectangle.fromDegrees(A.xMin,A.yMin,A.xMax,A.yMax),vertexFormat:this._cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT,height:this.rectangleHeight})}),appearance:new this._cesium.EllipsoidSurfaceAppearance({aboveGround:!0,material:new this._cesium.Material({fabric:{type:"Image",uniforms:{image:f.src}}})})})),this.setAlpha(0),setTimeout(()=>{this.setAlpha(this.alpha)},100)}};rg.prototype.create3DHeatmap=function(o){let A=document.createElement("canvas"),f=this._3DOption,m=f.width+1,C=f.height+1;A.width=m,A.height=C,o.onload=()=>{let E=new this._cesium.GeometryInstance({geometry:this.create3DGeometry(f)}),x=new this._cesium.Primitive({geometryInstances:E,appearance:new this._cesium.EllipsoidSurfaceAppearance({material:new this._cesium.Material({fabric:{type:"Image",uniforms:{image:o.src}}})}),asynchronous:!1});this._worldRectangle=this._viewer.scene.primitives.add(x),this.setAlpha(0),setTimeout(()=>{this.setAlpha(this.alpha)},100)}};rg.prototype.create3DGeometry=function(o){let A=this.construct3DRectangle(o);return new this._cesium.Geometry({attributes:{position:new this._cesium.GeometryAttribute({componentDatatype:this._cesium.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:A.positions}),st:new this._cesium.GeometryAttribute({componentDatatype:this._cesium.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:A.st})},indices:A.indexs,primitiveType:o.grid?this._cesium.PrimitiveType.LINES:this._cesium.PrimitiveType.TRIANGLES,boundingSphere:this._cesium.BoundingSphere.fromVertices(A.positions)})};rg.prototype.construct3DRectangle=function(o){let A=o.xMax-o.xMin,f=o.yMax-o.yMin,m=o.width,C=o.height,E=A/m,x=f/C,y=m,I=C+1,v=[],B=[],Q=[];for(let T=0;T<I;T++)for(let w=0;w<y;w++){let S=o.xMin+E*w,D=o.yMin+x*T,R=this._cesium.Cartesian3.fromDegrees(S,D,(this.getValueFromDegrees({lon:S,lat:D})||0)*o.scale+o.z);v.push(R.x,R.y,R.z),B.push(E*w/A,x*T/f),T!=0&&w!=0&&(Q.push((T-1)*y+(w-1),(T-1)*y+w,T*y+w-1),Q.push((T-1)*y+w,T*y+w,T*y+w-1))}return{positions:v,st:B,indexs:Q}};rg.prototype.get3DShader=function(){return`uniform sampler2D image; czm_material czm_getMaterial(czm_materialInput materialInput) { vec2 repeat = vec2(1.0,1.0); czm_material material = czm_getDefaultMaterial(materialInput); vec4 j_color = texture(image, fract(repeat * materialInput.st)).rgba; material.diffuse = j_color.rgb; material.alpha = j_color.a; return material; } `};rg.prototype.getValueFromDegrees=function(o){if(this.heatmapInstance&&this.extent&&o){let A=(o.lon-this.extent.xMin)/(this.extent.xMax-this.extent.xMin)*this.heatmapcanvas.width,f=(-(o.lat-this.extent.yMin)/(this.extent.yMax-this.extent.yMin)+1)*this.heatmapcanvas.height;if(A<=this.heatmapcanvas.width&&A>=0&f<=this.heatmapcanvas.height&&f>=0)return this.heatmapInstance.getValueAt({x:Math.round(A),y:Math.round(f)})}};rg.prototype.showTooltip=function(o){o?(this.tooltipHandler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),this.tooltipHandler.setInputAction(A=>{let f=this._viewer.scene.pickPosition(A.endPosition);if(f){let m=this._core.toDegrees(f),C=this.getValueFromDegrees(m);C!==void 0?this.tooltip.showAt(A.endPosition,C):this.tooltip.show(!1)}else this.tooltip.show(!1)},this._cesium.ScreenSpaceEventType.MOUSE_MOVE)):(this.tooltip.show(!1),this.tooltipHandler&&this.tooltipHandler.destroy(),this.tooltipHandler=void 0)};rg.prototype.updateHeatmap=function(){this.heatmapcanvas=this.heatmapInstance._renderer.canvas;let o=this.convertCanvasToImage(this.heatmapcanvas);this._worldRectangle.appearance.material.uniforms.image=o.src};rg.prototype.show=function(o){this._worldRectangle&&(this._worldRectangle.show=o)};rg.prototype.setAlpha=function(o){this._worldRectangle&&(this._worldRectangle.appearance.material.uniforms.color.alpha=o)};rg.prototype.config=function(o){this.heatmapInstance.configure(o),this.updateHeatmap()};rg.prototype.convertCanvasToImage=function(o){let A=new Image;return A.src=o.toDataURL("image/png"),A};var Put=rg;function um(o,A={},f){this._viewer=o,this._cesium=f,this.radius=this.defaultValue(A.radius,50),this.alpha=this.defaultValue(A.alpha,1),this.rectangleHeight=A.height,this.minRadius=this.defaultValue(A.minRadius,1),this.maxRadius=this.defaultValue(A.maxRadius,50),this.flyTo=this.defaultValue(A.flyTo,!0),this.datas=[],A.dynamic&&this.dynamicAdjust(!0)}um.prototype.defaultValue=function(o,A){return this._cesium.defaultValue(o,A)};um.prototype.create=function(o){this.setData(o),this.flyTo&&this.flyToBounding()};um.prototype.setData=function(o){let A=1e3,f=-1e3,m=1e3,C=-1e3,E=-1/0,x=1/0;o.forEach(w=>{let S=w.x,D=w.y;A=Math.min(S,A),m=Math.min(D,m),f=Math.max(S,f),C=Math.max(D,C),E=Math.max(w.value,E),x=Math.min(w.value,x)});let y=f-A,I=C-m,v={xMin:A-y/10,yMin:m-I/10,xMax:f+y/10,yMax:C+I/10},B;if(this._heatmap)B=this._heatmap.canvas,this._heatmap.clear();else{B=document.createElement("canvas"),document.body.appendChild(B),B.width=1e3,B.height=parseInt(1e3/(v.xMax-v.xMin)*(v.yMax-v.yMin));try{this._heatmap=createWebGLHeatmap({canvas:B,intensityToAlpha:!0})}catch(w){console.error(w)}}this.datas=[];let Q=E-x;o.forEach(w=>{var S=(w.x-v.xMin)/(v.xMax-v.xMin)*B.clientWidth,D=(-(w.y-v.yMin)/(v.yMax-v.yMin)+1)*B.clientHeight;this.datas.push({x:S,y:D,size:this.radius,intensity:(w.value-x)/Q})}),this._heatmap.addPoints(this.datas),this._heatmap.adjustSize(),this._heatmap.update(),this._heatmap.display(),this.drawHeatmapRect(B,v),this.rectangle=this._cesium.Rectangle.fromDegrees(v.xMin,v.yMin,v.xMax,v.yMax);let T=this._cesium.BoundingSphere.fromRectangle3D(this.rectangle);this.boundingRadius=T.radius};um.prototype.flyToBounding=function(){this._viewer.camera.flyTo({destination:this.rectangle})};um.prototype.drawHeatmapRect=function(o,A){this._worldRectangle&&this._viewer.scene.primitives.remove(this._worldRectangle);var f=this.convertCanvasToImage(o);let m=this.rectangleHeight===void 0?this._cesium.GroundPrimitive:this._cesium.Primitive;this._worldRectangle=this._viewer.scene.primitives.add(new m({geometryInstances:new this._cesium.GeometryInstance({geometry:new this._cesium.RectangleGeometry({rectangle:this._cesium.Rectangle.fromDegrees(A.xMin,A.yMin,A.xMax,A.yMax),vertexFormat:this._cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT,height:this.rectangleHeight})}),appearance:new this._cesium.EllipsoidSurfaceAppearance({aboveGround:!1,material:new this._cesium.Material({fabric:{type:"Image",uniforms:{image:f.src}}})})})),this.setAlpha(0),setTimeout(()=>{this.setAlpha(this.alpha)},100)};um.prototype.destroy=function(){this.dynamicAdjust(!1),this._viewer.scene.primitives.remove(this._worldRectangle),this._heatmap.clear(),this._heatmap.canvas.remove()};um.prototype.dynamicAdjust=function(o){o?this._viewer.clock.onTick.addEventListener(this.dynamicAdjustEvent,this):this._viewer.clock.onTick.removeEventListener(this.dynamicAdjustEvent,this)};um.prototype.dynamicAdjustEvent=function(){if(this._heatmap&&this._viewer){let o=this._viewer.camera.positionCartographic,A=o.height,f=this._viewer.scene.globe.getHeight(o),C=(A-f)/this.boundingRadius*this.maxRadius;C=C.toFixed(1),C>this.maxRadius&&(C=this.maxRadius),C<this.minRadius&&(C=this.minRadius),C!==this.radius&&C<=this.maxRadius&&C>=this.minRadius&&this.changeRadius(C)}};um.prototype.updateHeatmap=function(){this._heatmap.adjustSize(),this._heatmap.update(),this._heatmap.display();var o=this.convertCanvasToImage(this._heatmap.canvas);this._worldRectangle.appearance.material.uniforms.image=o.src};um.prototype.multiply=function(o){this._heatmap.multiply(o),this.updateHeatmap()};um.prototype.changeRadius=function(o){this.radius=o,this.datas.forEach(A=>{A.size=o}),this._heatmap.clear(),this._heatmap.addPoints(this.datas),this.updateHeatmap()};um.prototype.clamp=function(o,A){this._heatmap.clamp(o,A),this.updateHeatmap()};um.prototype.blur=function(){this._heatmap.blur(),this.updateHeatmap()};um.prototype.show=function(o){this._worldRectangle&&(this._worldRectangle.show=o)};um.prototype.setAlpha=function(o){this._worldRectangle&&(this._worldRectangle.appearance.material.uniforms.color.alpha=o)};um.prototype.convertCanvasToImage=function(o){var A=new Image;return A.src=o.toDataURL("image/png"),A};var Rut=um;function Ik(o,A){if(this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._tree=Ke,!window.h337){let f=new Ep(!1);f.addJs(document.body,window.SmartEarthRootUrl+"Workers/heatmap/heatmap.min.js"),f.addJs(document.body,window.SmartEarthRootUrl+"Workers/heatmap/webgl-heatmap.js")}}Ik.prototype.addHeatMap=function(o,A={}){A.type==="HeatmapGL"?this.item=new Rut(this._viewer,A,this._cesium):this.item=new Put(this._viewer,A,this._cesium),A.sourceData&&this.item.create(A.sourceData);var f={id:this._core.getuid(),name:o,pId:0,type:"Heatmap",item:this};return this.setTreeobj(f),this._tree.insertGroupId(f,0),this};Ik.prototype.setData=function(o){this.item&&this.item.setData(o)};Ik.prototype.flyToBounding=function(){this.item&&this.item.flyToBounding()};Ik.prototype.deleteObject=function(){this.item&&this.item.destroy()};Ik.prototype.setTreeobj=function(o){this.treeobj=o};Ik.prototype.setVisibility=function(o){this.item!=null&&this.item.show(o)};var Ase=Ik;function cse(o,A){this._viewer=o,this._cesium=A,this.SkyBoxFS=`uniform samplerCube u_cubeMap; in vec3 v_texCoord; void main() { vec4 color = texture(u_cubeMap, normalize(v_texCoord)); out_FragColor = vec4(czm_gammaCorrect(color).rgb, czm_morphTime); } `,this.SkyBoxVS=`in vec3 position; uniform mat3 u_rotateMatrix; out vec3 v_texCoord; void main() { vec3 p = czm_viewRotation * u_rotateMatrix * (czm_temeToPseudoFixed * (czm_entireFrustum.y * position)); gl_Position = czm_projection * vec4(p, 1.0); v_texCoord = position.xyz; } `}cse.prototype.setSpaceBackground=function(o){return this.clear&&this.clear(),this._viewer.container.style.backgroundImage="url("+o+")",this._viewer.scene.backgroundColor=new this._cesium.Color(0,0,0,0),this._viewer.scene.skyAtmosphere.show=!1,this._viewer.scene.skyBox&&(this._viewer.scene.skyBox.show=!1),this.clear=()=>{this._viewer.container.style.backgroundImage="unset",this._viewer.scene.skyBox&&(this._viewer.scene.skyBox.show=!0),this._viewer.scene.backgroundColor=new this._cesium.Color(0,0,0,1),this._viewer.scene.skyAtmosphere.show=!0},this};cse.prototype.SkyBox=function(o,A){this.defaultSky||(this.defaultSky=this._viewer.scene.skyBox,this.defaultSky&&!this.defaultSky.show&&(this.defaultSky.show=!0)),this.NearGround=o;var f=this,m=this._viewer,C=this.getSkyBox(A);this._SkyBox=C,m.scene.skyBox=C,o&&this._viewer.scene.postRender.addEventListener(E);function E(){var x=m.camera.position;f._cesium.Cartographic.fromCartesian(x).height<23e4?(C&&(m.scene.skyBox=C),m.scene.skyAtmosphere.show=!1):(f.defaultSky&&(m.scene.skyBox=f.defaultSky),m.scene.skyAtmosphere.show=!0)}return this.clear=function(){f.defaultSky&&(f._viewer.scene.skyBox=f.defaultSky),f.defaultSky=void 0,f._viewer.scene.skyAtmosphere.show=!0,f.NearGround&&f._viewer.scene.postRender.removeEventListener(E),f.clear=void 0},this};cse.prototype.getSkyBox=function(o){var A=this,f=new this._cesium.SkyBox({sources:o});return this.NearGround&&(f.update=function(m,C){var E=this;if(this.show&&(m.mode===A._cesium.SceneMode.SCENE3D||m.mode===A._cesium.SceneMode.MORPHING)&&m.passes.render){var x=m.context;if(this._sources!==this.sources){this._sources=this.sources;var y=this.sources;typeof y.positiveX=="string"?A._cesium.loadCubeMap(x,this._sources).then(function(T){E._cubeMap=E._cubeMap&&E._cubeMap.destroy(),E._cubeMap=T}):(this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),this._cubeMap=new A._cesium.CubeMap({context:x,source:y}))}var I=this._command;if(!A._cesium.defined(I.vertexArray)){I.uniformMap={u_cubeMap:function(){return E._cubeMap},u_rotateMatrix:function(){return A.NearGround?(I.modelMatrix=A._cesium.Transforms.eastNorthUpToFixedFrame(m.camera._positionWC),A._cesium.Matrix4.getMatrix3(I.modelMatrix,new A._cesium.Matrix3)):A._cesium.Matrix3.IDENTITY}};var v=A._cesium.BoxGeometry.createGeometry(A._cesium.BoxGeometry.fromDimensions({dimensions:new A._cesium.Cartesian3(2,2,2),vertexFormat:A._cesium.VertexFormat.POSITION_ONLY})),B=this._attributeLocations=A._cesium.GeometryPipeline.createAttributeLocations(v);I.vertexArray=A._cesium.VertexArray.fromGeometry({context:x,geometry:v,attributeLocations:B,bufferUsage:A._cesium.BufferUsage.STATIC_DRAW}),I.renderState=A._cesium.RenderState.fromCache({blending:A._cesium.BlendingState.ALPHA_BLEND})}if(!A._cesium.defined(I.shaderProgram)||this._useHdr!==C){var Q=new A._cesium.ShaderSource({defines:[C?"HDR":""],sources:[A.SkyBoxFS]});I.shaderProgram=A._cesium.ShaderProgram.fromCache({context:x,vertexShaderSource:A.SkyBoxVS,fragmentShaderSource:Q,attributeLocations:this._attributeLocations}),this._useHdr=C}if(A._cesium.defined(this._cubeMap))return I}}),f};var hse=cse;var cA=null;function ME(o,A){cA=A,this._viewer=o,this._core=new $i(o,A),this.destroyed=!1,this.show=!0,this._values=new Map,this._viewer.scene.primitives.add(this),this.img={}}ME.prototype.add=function(o={}){o.id=o.id||this._core.uuid(),o.name=o.name||"\u7EA2\u7EFF\u706F";let A=document.createElement("canvas"),f=A.getContext("2d");return this._values.set(o.id,{id:o.id,name:o.name,canvas:A,context:f,far:o.far||800,state:{left:-1,center:1,right:1,time:30},show:!0,deleteObject:()=>{this.removeById(o.id)},setVisibility:m=>{this.showById(o.id,m)},update:m=>{this.updateById(o.id,m)}}),this.loadImage||(this.loadImage=[cA.Resource.createIfNeeded(window.SmartEarthRootUrl+Zr.trafficLight.l_go).fetchImage(),cA.Resource.createIfNeeded(window.SmartEarthRootUrl+Zr.trafficLight.l_wait).fetchImage(),cA.Resource.createIfNeeded(window.SmartEarthRootUrl+Zr.trafficLight.l_stop).fetchImage(),cA.Resource.createIfNeeded(window.SmartEarthRootUrl+Zr.trafficLight.l_null).fetchImage(),cA.Resource.createIfNeeded(window.SmartEarthRootUrl+Zr.trafficLight.go).fetchImage(),cA.Resource.createIfNeeded(window.SmartEarthRootUrl+Zr.trafficLight.wait).fetchImage(),cA.Resource.createIfNeeded(window.SmartEarthRootUrl+Zr.trafficLight.stop).fetchImage(),cA.Resource.createIfNeeded(window.SmartEarthRootUrl+Zr.trafficLight.null).fetchImage(),cA.Resource.createIfNeeded(window.SmartEarthRootUrl+Zr.trafficLight.r_go).fetchImage(),cA.Resource.createIfNeeded(window.SmartEarthRootUrl+Zr.trafficLight.r_wait).fetchImage(),cA.Resource.createIfNeeded(window.SmartEarthRootUrl+Zr.trafficLight.r_stop).fetchImage(),cA.Resource.createIfNeeded(window.SmartEarthRootUrl+Zr.trafficLight.r_null).fetchImage(),cA.Resource.createIfNeeded(window.SmartEarthRootUrl+Zr.trafficLight.bg).fetchImage()]),this.imageData?this.addGeometry(o):Promise.all(this.loadImage).then(m=>{this.imageData={left:{go:m[0],wait:m[1],stop:m[2],null:m[3]},center:{go:m[4],wait:m[5],stop:m[6],null:m[7]},right:{go:m[8],wait:m[9],stop:m[10],null:m[11]},bg:m[12]},this.addGeometry(o)}),this._values.get(o.id)};ME.prototype.addGeometry=function(o={}){let A=this._values.get(o.id);this.drawImage(A,o);let f=o.scale||1,m=A.canvas.width*.02*f,C=A.canvas.height*.02*f,E=new cA.Cartesian3(m,C,1),x=cA.Cartesian3.fromDegrees(o.position.lon,o.position.lat,o.position.height+C);A.position=x;let y=cA.Transforms.eastNorthUpToFixedFrame(x),I=new cA.HeadingPitchRoll(cA.Math.toRadians(o.heading||0),cA.Math.toRadians(0),cA.Math.toRadians(90)),v=cA.Matrix3.fromHeadingPitchRoll(I);cA.Matrix4.multiplyByMatrix3(y,v,y);let B=cA.Matrix4.fromScale(E);cA.Matrix4.multiply(y,B,y);let Q=new cA.PlaneGeometry,T=new cA.GeometryInstance({geometry:Q,modelMatrix:y,attributes:{color:cA.ColorGeometryInstanceAttribute.fromColor(cA.Color.WHITE)}}),w=cA.Material.fromType("Image");w.uniforms.image=A.canvas.toDataURL("image/png"),A.geometry=new cA.Primitive({id:o,geometryInstances:T,appearance:new cA.MaterialAppearance({flat:!0,material:w})})};ME.prototype.getImage=function(o,A){let f="null";return A===0?f="wait":A===-1?f="stop":A===1&&(f="go"),this.imageData[o][f]};ME.prototype.drawImage=function(o,A){let f=this._core.defaultValue(A.left,o.state.left),m=this._core.defaultValue(A.center,o.state.center),C=this._core.defaultValue(A.right,o.state.right),E=this._core.defaultValue(A.time,o.state.time);o.state={left:f,center:m,right:C,time:E};let x=this.imageData.bg,y=this.getImage("left",f),I=this.getImage("left"),v=this.getImage("center",m),B=this.getImage("center"),Q=this.getImage("right",C),T=this.getImage("right");o.canvas.height=x.height,o.canvas.width=x.width,o.context.drawImage(x,0,0,x.width,x.height,0,0,x.width,x.height);let w=10,S=303,D=485,R=15,P=y.height+25,M=y.height*2+35;o.context.drawImage(f===-1?y:I,0,0,y.width,y.height,w,R,y.width,y.height),o.context.drawImage(f===0?y:I,0,0,y.width,y.height,w,P,y.width,y.height),o.context.drawImage(f===1?y:I,0,0,y.width,y.height,w,M,y.width,y.height),o.context.drawImage(m===-1?v:B,0,0,v.width,v.height,S,R,v.width,v.height),o.context.drawImage(m===0?v:B,0,0,v.width,v.height,S,P,v.width,v.height),o.context.drawImage(m===1?v:B,0,0,v.width,v.height,S,M,v.width,v.height),o.context.drawImage(C===-1?Q:T,0,0,Q.width,Q.height,D,R,Q.width,Q.height),o.context.drawImage(C===0?Q:T,0,0,Q.width,Q.height,D,P,Q.width,Q.height),o.context.drawImage(C===1?Q:T,0,0,Q.width,Q.height,D,M,Q.width,Q.height),this.drawTime(o.context,{left:f,center:m,x:153,y:143,time:E})};ME.prototype.drawTime=function(o,A={}){let f=1;A.left===0||A.center===0?f=0:A.left===1||A.center===1?f=1:A.left===-1&&A.center===-1&&(f=-1);let m="#31fb09";f===0?m="#ffd511":f===-1&&(m="#f81838");let C=A.time||0;C<0&&(C=0),C>99&&(C=99),C===0?C="00":C<10?C="0"+C:C+="",o.font="bold 60px Arial",o.fillStyle=m,o.fillText(C,A.x,A.y)};ME.prototype.updateById=function(o,A={}){let f=this._values.get(o);f&&(f.context.clearRect(0,0,f.canvas.width,f.canvas.height),this.drawImage(f,A),f.context.isUpdate=!0)};ME.prototype.update=function(o){if(this.show)for(let A of this._values.values())A.show&&A.geometry&&this.isShow(A)&&(A.context.isUpdate&&(A.geometry.appearance.material.uniforms.image=A.canvas.toDataURL("image/png"),A.context.isUpdate=null),A.geometry.update(o))};ME.prototype.isShow=function(o){return cA.Cartesian3.distance(this._viewer.camera.position,o.position)<o.far};ME.prototype.removeById=function(o){let A=this._values.get(o);A&&A.geometry&&A.geometry.destroy(),this._values.delete(o)};ME.prototype.showById=function(o,A){let f=this._values.get(o);f&&(f.show=A)};ME.prototype.isDestroyed=function(){return this.destroyed};ME.prototype.destroy=function(){for(let o of this._values.values())o.geometry&&o.geometry.destroy();this._values=new Map,this.img=null,this.imageData=null,this.destroyed=!0};ME.prototype.deleteObject=function(){this._viewer.scene.primitives.remove(this),this.destroy()};ME.prototype.setVisibility=function(o){this.show=o};var dse=ME;var Am=null;function CH(o,A){Am=A,this._viewer=o,this._core=new $i(o,Am)}CH.prototype.create=function(o,A={}){this.grid=this._core.defaultValue(A.grid,!0);let f=A.center,m=A.scale||1;return this._core.getJSON(o,C=>{var E=Math.max(...C.mData)*m,x=C.mHorPointsNum,y=C.mVerPointsNum;if(C.mCenterPoint&&C.mCenterPoint.length&&(f=C.mCenterPoint),!f){console.log("\u7F3A\u5C11\u573A\u5F3A\u4E2D\u5FC3\u5750\u6807");return}var I=new Float64Array(C.mData.length*3),v=0,B=new Float32Array(C.mData.length*2),Q=0,T=new Uint16Array(x*(y-1)*2*3),w=0;let S=0;for(let D=C.mHStartAngle,R=0;D<C.mHEndAngle;D+=C.mHStep,R++)for(let P=C.mVStartAngle,M=0;P<=C.mVEndAngle;P+=C.mVStep,M++){let L=C.mData[S++]*m,F=this._core.getPositionFromHPR(f,L,D,P),k=Am.Cartesian3.fromDegrees(F.lon,F.lat,F.height);I[v++]=k.x,I[v++]=k.y,I[v++]=k.z,B[Q++]=(R+1)/x,B[Q++]=Math.pow(L/E,3),R!==0&&M!==0&&(T[w++]=(R-1)*y+(M-1),T[w++]=(R-1)*y+M,T[w++]=R*y+M-1,T[w++]=(R-1)*y+M,T[w++]=R*y+M,T[w++]=R*y+M-1,R===x-1&&(T[w++]=M-1,T[w++]=M,T[w++]=R*y+M-1,T[w++]=M,T[w++]=R*y+M,T[w++]=R*y+M-1))}this.addGeometry({positions:I,st:B,indexs:T,minColor:A.minColor,maxColor:A.maxColor},A.flyTo)}),this};CH.prototype.addGeometry=function(o,A){let f=new Am.Geometry({attributes:{position:new Am.GeometryAttribute({componentDatatype:Am.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:o.positions}),st:new Am.GeometryAttribute({componentDatatype:Am.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:o.st})},indices:o.indexs,primitiveType:this.grid?Am.PrimitiveType.LINES:Am.PrimitiveType.TRIANGLES,boundingSphere:Am.BoundingSphere.fromVertices(o.positions)}),m=new Am.GeometryInstance({geometry:f});this.item=new Am.Primitive({geometryInstances:m,appearance:new Am.EllipsoidSurfaceAppearance({material:new Am.Material({fabric:{uniforms:{color1:Am.Color.fromCssColorString(o.minColor||"#ff0000"),color2:Am.Color.fromCssColorString(o.maxColor||"#00ff00")},source:this.getShader()}})}),asynchronous:!1}),this._viewer.scene.primitives.add(this.item),A&&this._viewer.camera.flyToBoundingSphere(f.boundingSphere)};CH.prototype.setVisibility=function(o){this.item&&(this.item.show=o)};CH.prototype.deleteObject=function(){this._viewer.scene.primitives.remove(this.item)};CH.prototype.getShader=function(){return`uniform vec4 color1; uniform vec4 color2; czm_material czm_getMaterial(czm_materialInput materialInput) { czm_material material = czm_getDefaultMaterial(materialInput); vec2 st = materialInput.st; material.diffuse = color1.rgb * (1.0 - st.y) + color2.rgb * st.y; material.alpha = color1.a * (1.0 - st.y) + color2.a * st.y; return material; } `};var fse=CH;function mMe(o,A){this._viewer=o,this._cesium=A}mMe.prototype.createScreenshot=function(o="png"){var A=this._viewer.scene.canvas,f=A.toDataURL("image/"+o),m=document.createElement("a");m.download="\u622A\u56FE."+o,m.href=f,m.click()};mMe.prototype.createScreenshotCompared=function(o,A){var f=this._viewer.scene.canvas,m=f.toDataURL("image/png");(A||layuiLayer).open({title:o||"\u622A\u56FE\u5BF9\u6BD4",type:1,skin:"other-class",shade:0,shadeClose:!0,resize:!1,moveOut:!0,area:[f.width*.7+"px",f.height*.7+42+"px"],content:'<img src="'+m+'" style="height:100%;width:100%;">'})};var gse=mMe;function JR(o,A){return this._viewer=o.coreMap,this.width=A.width?A.width:10,this.height=A.height?A.height:10,this.length=A.width?A.length:10,this.edgeColor=A.edgeColor||Ve.WHITE,this.edgeWidth=A.edgeWidth||1,this.isShowOutline=oe(A.isShowOutline,!0),this.modelUp=!1,this.clippingBoxs=[],this.opposite=A.opposite||!1,this.orientation={heading:A.heading||0,pitch:A.pitch||0,roll:A.roll||0},this.clickEvent=oe(A.clickEvent,!1),this.positions=A.positions,this.clickCallBack=A.clickCallBack,this.models=[...A.models],this.addClippingBox(A),this}JR.prototype.addClippingBox=function(o={}){if(!(this.models.length===0||this.positions.length===0))if(this.newCar3=Z.fromDegrees(this.positions[0],this.positions[1],this.positions[2]),this.modelUp&&this.clippingBoxs.map(A=>{A.removeAll()}),this.clippingBoxs=[],this.models.map(A=>{let f=new Wf({planes:[],edgeWidth:1});f=this.modelClipping(A,f),this.createClippingBox(f),this.clippingBoxs.push(f)}),!this.outlineBox&&this.isShowOutline){this.outlineBox=this._viewer.entities.add({name:"modelClippingBox",id:"modelClippingBox",position:this.newCar3,orientation:kr.headingPitchRollQuaternion(this.newCar3,new bs(Be.toRadians(this.orientation.heading),Be.toRadians(this.orientation.pitch),Be.toRadians(this.orientation.roll))),plane:{plane:new ca(new Z(0,0,1),0),dimensions:new rt(this.width,this.length),material:Ve.WHITE.withAlpha(.5),outline:!0,outlineColor:this.edgeColor,outlineWidth:2},headingPitchRoll:this.orientation});let A=this;this.clickCallBack&&(this.editHandler||(this.editHandler=new cr(A._viewer.scene.canvas),this.editHandler.setInputAction(f=>{if(A.clickEvent){let m=A._viewer.scene.pick(f.position);m&&m.id&&m.id._id==="modelClippingBox"&&A.clickCallBack(f,m)}},si.LEFT_DOWN)))}else{let A=this;if(!A.isShowOutline&&this.outlineBox&&(this._viewer.entities.remove(this.outlineBox),this.outlineBox=null),this.outlineBox){this.outlineBox.position=A.newCar3,this.outlineBox.headingPitchRoll=this.orientation;let f=kr.headingPitchRollQuaternion(this.newCar3,new bs(Be.toRadians(this.orientation.heading),Be.toRadians(this.orientation.pitch),Be.toRadians(this.orientation.roll)));this.outlineBox.orientation=f,this.outlineBox._plane.dimensions=new Hr(function(){return new Z(A.width,A.length)},!1)}}};JR.prototype.modelClipping=function(o,A={}){let f=A;if(!!o){if(o.boundingSphereCenter&&o.item&&o.modelEditData){o.item.clippingPlanes?f=o.item.clippingPlanes:o.item.clippingPlanes=f;let m=Re.getTranslation(o.item._clippingPlanesOriginMatrix,new Z),C=Rt.fromCartesian(m);return f.modelCeter=[Be.toDegrees(C.longitude),Be.toDegrees(C.latitude),C.height],o.modelEditData?f.OriginRotation={heading:o.modelEditData.heading||0,pitch:o.modelEditData.pitch||0,roll:o.modelEditData.roll||0}:(f.addHeight=0,f.OriginRotation={heading:0,pitch:0,roll:0}),f.unionClippingRegions=this.opposite,f.edgeColor=this.edgeColor,f.edgeWidth=this.edgeWidth,f}if(o._primitive&&o._primitive.type&&o._primitive.type==="GLTF"){o._primitive.clippingPlanes?f=o._primitive.clippingPlanes:o._primitive.clippingPlanes=f;let m=Re.getTranslation(o._primitive.modelMatrix,new Z),C=Rt.fromCartesian(m);return f.modelCeter=[Be.toDegrees(C.longitude),Be.toDegrees(C.latitude),C.height],f.addHeight=0,f.OriginRotation=this.matrixGetRotation(o._primitive.modelMatrix),f.OriginRotation={heading:f.OriginRotation.heading,pitch:f.OriginRotation.pitch,roll:f.OriginRotation.roll},f.unionClippingRegions=this.opposite,f.edgeColor=this.edgeColor,f.edgeWidth=this.edgeWidth,f.modeType="GLTF",o._primitive.clippingPlanes}if(o.boundingSphere&&o.modelMatrix&&o._root&&o._root._tileset){o.clippingPlanes?f=o.clippingPlanes:o.clippingPlanes=f;let m=Re.getTranslation(o._clippingPlanesOriginMatrix,new Z),C=Rt.fromCartesian(m);return f.modelCeter=[Be.toDegrees(C.longitude),Be.toDegrees(C.latitude),C.height],f.addHeight=0,f.OriginRotation={heading:0,pitch:0,roll:0},f.unionClippingRegions=this.opposite,f.edgeColor=this.edgeColor,f.edgeWidth=this.edgeWidth,f.modeType="3DTiles",o.clippingPlanes}}};JR.prototype.calDistance=function(o,A,f){let m=Z.fromDegrees(o[0],A[1],A[2]),C=Z.fromDegrees(A[0],A[1],A[2]),E=Z.distanceSquared(m,C);E=Math.sqrt(E.toFixed(6)),o[0]<A[0]&&(E=-E);let x=Z.fromDegrees(A[0],o[1],A[2]),y=Z.fromDegrees(A[0],A[1],A[2]),I=Z.distanceSquared(x,y);I=Math.sqrt(I.toFixed(6)),o[1]<A[1]&&(I=-I);let v=o[2]-A[2];return new Z(E,I,v)};JR.prototype.createClippingBox=function(o){let A=this,f=new fr(0,0,0,1),m=fr.fromAxisAngle(new Z(1,0,0),Be.toRadians(-o.OriginRotation.roll)),C=fr.fromAxisAngle(new Z(0,1,0),Be.toRadians(o.OriginRotation.pitch)),E=fr.fromAxisAngle(new Z(0,0,1),Be.toRadians(o.OriginRotation.heading)),x=fr.fromHeadingPitchRoll(new bs(Be.toRadians(A.orientation.heading),Be.toRadians(A.orientation.pitch),Be.toRadians(A.orientation.roll)));f=fr.multiply(f,m,new fr),f=fr.multiply(f,C,new fr),f=fr.multiply(f,E,new fr);let y=this.calDistance(this.positions,o.modelCeter,o),I=Re.fromRotationTranslation(Gt.fromQuaternion(f)),v=Re.multiplyByPoint(I,y,new Z);return f=fr.multiply(f,x,new fr),o.modelMatrix=Re.fromTranslationQuaternionRotationScale(v,f,new Z(1,1,1)),o.removeAll(),o.add(new g0(new Z(0,0,-1),0)),o.add(new g0(new Z(0,1,0),A.opposite?A.length/2:-A.length/2)),o.add(new g0(new Z(0,-1,0),A.opposite?A.length/2:-A.length/2)),o.add(new g0(new Z(1,0,0),A.opposite?A.width/2:-A.width/2)),o.add(new g0(new Z(-1,0,0),A.opposite?A.width/2:-A.width/2)),o};JR.prototype.updateClipping=function(o={}){!this.clippingBoxs||this.clippingBoxs.length===0||(o.models&&o.models!==this.models?(this.modelUp=!0,this.models=[...o.models]):this.modelUp=!1,this.positions=o.positions||this.positions,this.opposite=o.opposite||this.opposite,this.width=o.width||this.width,this.height=o.height||this.height,this.length=o.length||this.length,this.isShowOutline=oe(o.isShowOutline,this.isShowOutline),this.edgeWidth=o.edgeWidth||this.edgeWidth,this.orientation={heading:o.heading||this.orientation.heading,pitch:o.pitch||this.orientation.pitch,roll:o.roll||this.orientation.roll},this.addClippingBox())};JR.prototype.delateAll=function(){this.clippingBoxs.map(o=>{o.removeAll()}),this.clippingBoxs=[],this.outlineBox&&(this._viewer.entities.remove(this.outlineBox),this.outlineBox=null),this.editHandler&&this.editHandler.destroy(),this.editHandler=void 0};JR.prototype.matrixGetRotation=function(o){let A=kr.eastNorthUpToFixedFrame(Re.getTranslation(o,new Z),Ci.WGS84,new Re),f=Re.multiply(Re.inverse(A,new Re),o,new Re),m=Re.getRotation(f,new Gt),C=fr.fromRotationMatrix(m),E=bs.fromQuaternion(C),x=Be.toDegrees(E.heading),y=Be.toDegrees(E.pitch),I=Be.toDegrees(E.roll);return{heading:x,pitch:y,roll:I}};var Lut=JR;function jLi(o,A={}){if(this._earthCtrl=o,!A.url&&!A.originPosition)return;A.viewer=o.viewer;let f=new One(this._earthCtrl,A);return this._earthCtrl.viewer.scene.primitives.add(f)}var Fut=jLi;function qLi(o,A={}){if(this._earthCtrl=o,!A.url&&!A.originPosition)return;A.viewer=o.viewer;let f=new kne(this._earthCtrl,A);return this._earthCtrl.viewer.scene.primitives.add(f)}var Nut=qLi;var uct=rU(Hut(),1),Act=rU(lct(),1);var $K={GroundSurface:2576980479,WallSurface:4294967295,RoofSurface:4278190335,TrafficArea:1852731135,AuxiliaryTrafficArea:746717439,Window:5898239,Door:1677721855};function jx(o,A){this.earthCtrl=o,this.textureVertices=[],this.appearanceMaterials=[],this.imgList=[],this.positions=[],this.center=A.center,this.url=A.url}jx.prototype.loadCityJson=async function(){let o={method:"GET",headers:{Accept:"application/octet-stream"}},f=await(await fetch(this.url,o)).arrayBuffer(),m=new Uint8Array(f),C=await(0,Act.default)({locateFile:P=>`${window.SmartEarthRootUrl}/Workers/sqljs/sql-wasm.wasm`}),E=new C.Database(m),x=E.exec("SELECT * FROM ENTITY"),y=E.exec("SELECT * FROM IMAGE"),I=E.exec("SELECT * FROM TEXTUREVERTICE"),v=E.exec("SELECT * FROM MATERIAL"),{values:B}=I[0],{values:Q}=v[0];this.textureVertices=B.map(P=>P.shift()&&P.map(M=>parseFloat(M))),this.appearanceMaterials=Q.map(P=>JSON.parse(P[1]));let{columns:T,values:w}=y[0];if(this.imgList=w.map(P=>P[1]),!x.length)return;let{values:S}=x[0],D=JSON.parse(S[3][1]),R=D.CityObjects;for(let P in R)if(Object.hasOwnProperty.call(R,P)){let M=R[P].geometry,L=R[P].attributes,F=D.vertices;this.parseShell(M[0],F,L)}this.flyToCity(),this.initClickEvent(),E.close()};jx.prototype.createCityPrimitive=function(o,A,f,m,C,E){let x=A.flat(),y=$K[Object.keys($K)[E]],I=new jse({earthCtrl:this.earthCtrl,vertices:x,indices:o,textureUVs:f,imageUrl:m,attributes:C,surfaceColor:y,center:this.center});this.earthCtrl.coreMap.scene.primitives.add(I)};jx.prototype.initClickEvent=function(){this.earthCtrl.coreMap.screenSpaceEventHandler.setInputAction(o=>{let A=this.earthCtrl.coreMap.scene.pick(o.position);A&&A.primitive&&A.primitive instanceof jse&&console.log("pick",A.primitive)},si.LEFT_CLICK)};jx.prototype.flyToCity=function(){let o=Be.toRadians(-40),A=Be.toRadians(-10),f=0,m=hi.fromPoints(this.positions);earthCtrl.coreMap.camera.flyToBoundingSphere(m,{duration:3,offset:new bs(o,A,f)})};jx.prototype.addPoints=function(o){let A=Z.fromDegrees(this.center[0],this.center[1],this.center[2]),f=kr.eastNorthUpToFixedFrame(A);for(let m in o)Object.hasOwnProperty.call(o,m)&&o[m].forEach(E=>{let x=Re.multiplyByPoint(f,new Z(...E),new Z);this.positions.push(x)})};jx.prototype.parseShell=function(o,A,f){let m=o.boundaries,C=o.semantics?o.semantics.values:[],E=o.semantics?o.semantics.surfaces:[],x=o.material?o.material:{},y=o.texture?o.texture:{},I=[],v={};for(let B=0;B<m.length;B++){let Q=[],T={},w=[],S=[],D=[],R=this.getSurfaceTypeIdx(B,C,E);for(let X=0;X<m[B].length;X++)w.length>0&&D.push(w.length),w.push(...m[B][X]);for(let X=0;X<w.length;X++)S.push({x:A[w[X]][0],y:A[w[X]][1],z:A[w[X]][2]});let P=this.getNewellsNormal(S),M=[];for(let X=0;X<S.length;X++){let q=this.to_2d(S[X],P);M.push(q.x),M.push(q.y)}let L=(0,uct.default)(M,D,2);for(let X=0;X<L.length;X+=3)for(let q=0;q<3;q++){let ee=w[L[X+q]],ie=this.getTextureData(B,L[X+q],D,y);I.push(ee),Q.push(ee),v[B]||(v[B]=[]),v[B].push(A[ee]),this.appendTexture(T,ie,Q)}let F=[],k=[];for(let X in T)F=T[X].index,k=T[X].uvs.flat(1);let N=null,G="";if(F[0]>-1&&(N=this.imgList[F[0]]),N){let X=new Blob([N],{type:"image/jpeg"});G=URL.createObjectURL(X)}let J=Q.map(X=>A[X]),K=Q.map((X,q)=>q);this.createCityPrimitive(K,J,k,G,f,R)}return this.addPoints(v),I};jx.prototype.appendTexture=function(o,A){Object.entries(A).forEach(f=>{let[m,C]=f;m in o||(o[m]={index:[],uvs:[]}),o[m].index.push(C.index),o[m].uvs.push(C.uvs)})};jx.prototype.getTextureData=function(o,A,f,m){let C=Object.entries(m).map(E=>{let[x,y]=E;if(y.values){let I=f.filter(T=>T<=A),v=I.length,B=v?A-I[I.length-1]:A,Q=y.values[o];if(Q[0][0]!==null){let T=this.textureVertices[Q[v][B+1]];return[x,{index:Q[0][0],uvs:T}]}return[x,{index:-1,uvs:[0,0]}]}else return[x,{index:-1,uvs:[0,0]}]});return Object.fromEntries(C)};jx.prototype.getNewellsNormal=function(o){let A=[0,0,0];for(let m=0;m<o.length;m++){let C=m+1;C==o.length&&(C=0),A[0]=A[0]+(o[m].y-o[C].y)*(o[m].z+o[C].z),A[1]=A[1]+(o[m].z-o[C].z)*(o[m].x+o[C].x),A[2]=A[2]+(o[m].x-o[C].x)*(o[m].y+o[C].y)}let f=new Z(A[0],A[1],A[2]);return Z.normalize(f,f),f};jx.prototype.to_2d=function(o,A){let f=Z;o=new f(o.x,o.y,o.z);let m=new f(1.1,1.1,1.1);if(f.distance(m,A)<.01){let B=new f(1,2,3);f.add(m,B,m)}let C=f.dot(m,A),E=new f;f.multiplyByScalar(A,C,E),f.subtract(m,E,m),f.normalize(m,m);let x=new f;f.cross(m,A,x);let y=f.dot(o,m),I=f.dot(o,x);return{x:y,y:I}};jx.prototype.getSurfaceTypeIdx=function(o,A,f){let m=-1;if(A.length>0){let C=f[A[o]];C&&(m=Object.keys($K).indexOf(C.type),m<0&&(m=Object.keys($K).length,$K[C.type]=Math.floor(Math.random()*16777215)))}return m};jx.prototype.getVertices=function(o,A){let f=[];for(let m of o){let C=A[m];f.push(...C)}return f};jx.prototype.transformImage=function(o){return"data:image/png;base64,"+window.btoa(String.fromCharCode(...new Uint8Array(o)))};var jse=class extends ra{constructor(f){super(f);xue(this,"createCommand",(f,m,C,E)=>{let x=new Float32Array(C),y=new Uint16Array(E),I=f.context,v={position:0,st:1},B=new Uo({attributes:{position:new wr({componentDatatype:Ft.FLOAT,componentsPerAttribute:3,values:x}),st:new wr({componentDatatype:Ft.FLOAT,componentsPerAttribute:2,values:this.textureUVs})},indices:y,primitiveType:on.TRIANGLES,boundingSphere:hi.fromVertices(x)}),Q=Zl.computeNormal(B),T=hu.fromGeometry({context:I,geometry:Q,attributeLocations:v,bufferUsage:Gr.STATIC_DRAW}),w=this.pickId;w||(w=I.createPickId({primitive:this}),this.pickId=w);let S="czm_pickColor",D=` in vec3 position; in vec2 st; out vec2 v_st; void main() { v_st = st; gl_Position = czm_projection * czm_modelView * vec4(position, 1.0); } `,R=` in vec2 v_st; uniform sampler2D image; uniform vec4 color; uniform vec4 surfaceColor; uniform vec4 czm_pickColor; void main() { czm_materialInput materialInput; materialInput.st = v_st; vec2 st = materialInput.st; czm_material material = czm_getDefaultMaterial(materialInput); material.specular = 1.0; material.shininess = 0.0; material.alpha = 1.0; vec4 colorImage = texture(image,v_st); material.diffuse = colorImage.rgb; out_FragColor = vec4(material.diffuse, material.alpha) * surfaceColor; } `,P={color:function(){return this._color},image:()=>O(this._texture)?this._texture:this._viewer.scene.context.defaultTexture,surfaceColor:()=>this._surfaceColor,czm_pickColor:()=>this.pickId.color?this.pickId.color:(void 0).RED},M=qa.fromCache({context:I,vertexShaderSource:D,fragmentShaderSource:R,attributeLocations:v}),L=Xr.fromCache({depthTest:{enabled:!0}});return new fn({modelMatrix:m,vertexArray:T,shaderProgram:M,uniformMap:P,renderState:L,pass:Yi.OPAQUE,pickId:S})});xue(this,"update",f=>{let m=this.createCommand(f,this._modelMatrix,this.vertices,this.indices);f.commandList.push(m)});let m=Z.fromDegrees(f.center[0],f.center[1],f.center[2]),C=kr.eastNorthUpToFixedFrame(m);this._modelMatrix=C,this._color=oe(f.color,new Ve(.78431372,.78431372,.78431372,1)),this.vertices=f.vertices,this.indices=f.indices,this._viewer=f.earthCtrl.coreMap,this._texture=void 0,this._imageUrl=f.imageUrl,this.textureUVs=f.textureUVs,this.attributes=f.attributes,this._surfaceColor=Ve.fromRgba(f.surfaceColor),this.pickId=null,this.createTexture()}createTexture(){let f=this;if(!this._imageUrl)return;let m=new Cr.createIfNeeded(this._imageUrl).fetchImage().then(function(C){let E,x=f._viewer.scene.context;O(C.internalFormat)?E=new Nn({context:x,pixelFormat:C.internalFormat,width:C.naturalWidth,height:C.naturalHeight,source:{arrayBufferView:C.bufferView}}):E=new Nn({context:x,source:C}),f._texture=E})}},cct=jx;function WR(o){return WR=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(A){return typeof A}:function(A){return A&&typeof Symbol=="function"&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},WR(o)}function qMe(o,A){if(WR(o)!=="object"||o===null)return o;var f=o[Symbol.toPrimitive];if(f!==void 0){var m=f.call(o,A||"default");if(WR(m)!=="object")return m;throw new TypeError("@@toPrimitive must return a primitive value.")}return(A==="string"?String:Number)(o)}function XMe(o){var A=qMe(o,"string");return WR(A)==="symbol"?A:String(A)}function ho(o,A,f){return A=XMe(A),A in o?Object.defineProperty(o,A,{value:f,enumerable:!0,configurable:!0,writable:!0}):o[A]=f,o}function Dk(o,A={}){let{start:f=0,end:m=o.length}=A,C=A.size||2,E=0;for(let x=f,y=m-C;x<m;x+=C)E+=(o[x]-o[y])*(o[x+1]+o[y+1]),y=x;return E/2}function e2e(o,A,f=2,m){let C=A&&A.length,E=C?A[0]*f:o.length,x=dct(o,0,E,f,!0,m&&m[0]),y=[];if(!x||x.next===x.prev)return y;let I,v,B,Q,T,w,S;if(C&&(x=n3i(o,A,x,f,m)),o.length>80*f){Q=v=o[0],T=B=o[1];for(let D=f;D<E;D+=f)w=o[D],S=o[D+1],w<Q&&(Q=w),S<T&&(T=S),w>v&&(v=w),S>B&&(B=S);I=Math.max(v-Q,B-T),I=I!==0?1/I:0}return eW(x,y,f,Q,T,I),y}function dct(o,A,f,m,C,E){let x,y;if(E===void 0&&(E=Dk(o,{start:A,end:f,size:m})),C===E<0)for(x=A;x<f;x+=m)y=hct(x,o[x],o[x+1],y);else for(x=f-m;x>=A;x-=m)y=hct(x,o[x],o[x+1],y);return y&&Zse(y,y.next)&&(iW(y),y=y.next),y}function jR(o,A){if(!o)return o;A||(A=o);let f=o,m;do if(m=!1,!f.steiner&&(Zse(f,f.next)||Zd(f.prev,f,f.next)===0)){if(iW(f),f=A=f.prev,f===f.next)break;m=!0}else f=f.next;while(m||f!==A);return A}function eW(o,A,f,m,C,E,x){if(!o)return;!x&&E&&u3i(o,m,C,E);let y=o,I,v;for(;o.prev!==o.next;){if(I=o.prev,v=o.next,E?t3i(o,m,C,E):e3i(o)){A.push(I.i/f),A.push(o.i/f),A.push(v.i/f),iW(o),o=v.next,y=v.next;continue}if(o=v,o===y){x?x===1?(o=i3i(jR(o),A,f),eW(o,A,f,m,C,E,2)):x===2&&r3i(o,A,f,m,C,E):eW(jR(o),A,f,m,C,E,1);break}}}function e3i(o){let A=o.prev,f=o,m=o.next;if(Zd(A,f,m)>=0)return!1;let C=o.next.next;for(;C!==o.prev;){if(QH(A.x,A.y,f.x,f.y,m.x,m.y,C.x,C.y)&&Zd(C.prev,C,C.next)>=0)return!1;C=C.next}return!0}function t3i(o,A,f,m){let C=o.prev,E=o,x=o.next;if(Zd(C,E,x)>=0)return!1;let y=C.x<E.x?C.x<x.x?C.x:x.x:E.x<x.x?E.x:x.x,I=C.y<E.y?C.y<x.y?C.y:x.y:E.y<x.y?E.y:x.y,v=C.x>E.x?C.x>x.x?C.x:x.x:E.x>x.x?E.x:x.x,B=C.y>E.y?C.y>x.y?C.y:x.y:E.y>x.y?E.y:x.y,Q=ZMe(y,I,A,f,m),T=ZMe(v,B,A,f,m),w=o.prevZ,S=o.nextZ;for(;w&&w.z>=Q&&S&&S.z<=T;){if(w!==o.prev&&w!==o.next&&QH(C.x,C.y,E.x,E.y,x.x,x.y,w.x,w.y)&&Zd(w.prev,w,w.next)>=0||(w=w.prevZ,S!==o.prev&&S!==o.next&&QH(C.x,C.y,E.x,E.y,x.x,x.y,S.x,S.y)&&Zd(S.prev,S,S.next)>=0))return!1;S=S.nextZ}for(;w&&w.z>=Q;){if(w!==o.prev&&w!==o.next&&QH(C.x,C.y,E.x,E.y,x.x,x.y,w.x,w.y)&&Zd(w.prev,w,w.next)>=0)return!1;w=w.prevZ}for(;S&&S.z<=T;){if(S!==o.prev&&S!==o.next&&QH(C.x,C.y,E.x,E.y,x.x,x.y,S.x,S.y)&&Zd(S.prev,S,S.next)>=0)return!1;S=S.nextZ}return!0}function i3i(o,A,f){let m=o;do{let C=m.prev,E=m.next.next;!Zse(C,E)&&fct(C,m,m.next,E)&&tW(C,E)&&tW(E,C)&&(A.push(C.i/f),A.push(m.i/f),A.push(E.i/f),iW(m),iW(m.next),m=o=E),m=m.next}while(m!==o);return jR(m)}function r3i(o,A,f,m,C,E){let x=o;do{let y=x.next.next;for(;y!==x.prev;){if(x.i!==y.i&&h3i(x,y)){let I=gct(x,y);x=jR(x,x.next),I=jR(I,I.next),eW(x,A,f,m,C,E),eW(I,A,f,m,C,E);return}y=y.next}x=x.next}while(x!==o)}function n3i(o,A,f,m,C){let E=[],x,y,I,v,B;for(x=0,y=A.length;x<y;x++)I=A[x]*m,v=x<y-1?A[x+1]*m:o.length,B=dct(o,I,v,m,!1,C&&C[x+1]),B===B.next&&(B.steiner=!0),E.push(c3i(B));for(E.sort(o3i),x=0;x<E.length;x++)a3i(E[x],f),f=jR(f,f.next);return f}function o3i(o,A){return o.x-A.x}function a3i(o,A){if(A=s3i(o,A),A){let f=gct(A,o);jR(A,A.next),jR(f,f.next)}}function s3i(o,A){let f=A,m=o.x,C=o.y,E=-1/0,x;do{if(C<=f.y&&C>=f.next.y&&f.next.y!==f.y){let T=f.x+(C-f.y)*(f.next.x-f.x)/(f.next.y-f.y);if(T<=m&&T>E){if(E=T,T===m){if(C===f.y)return f;if(C===f.next.y)return f.next}x=f.x<f.next.x?f:f.next}}f=f.next}while(f!==A);if(!x)return null;if(m===E)return x;let y=x,I=x.x,v=x.y,B=1/0,Q;f=x;do m>=f.x&&f.x>=I&&m!==f.x&&QH(C<v?m:E,C,I,v,C<v?E:m,C,f.x,f.y)&&(Q=Math.abs(C-f.y)/(m-f.x),tW(f,o)&&(Q<B||Q===B&&(f.x>x.x||f.x===x.x&&l3i(x,f)))&&(x=f,B=Q)),f=f.next;while(f!==y);return x}function l3i(o,A){return Zd(o.prev,o,A.prev)<0&&Zd(A.next,o,o.next)<0}function u3i(o,A,f,m){let C=o;do C.z===null&&(C.z=ZMe(C.x,C.y,A,f,m)),C.prevZ=C.prev,C.nextZ=C.next,C=C.next;while(C!==o);C.prevZ.nextZ=null,C.prevZ=null,A3i(C)}function A3i(o){let A,f,m=1,C,E,x,y,I,v;do{for(E=o,o=null,v=null,C=0;E;){for(C++,y=E,x=0,f=0;f<m&&(x++,y=y.nextZ,!!y);f++);for(I=m;x>0||I>0&&y;)x!==0&&(I===0||!y||E.z<=y.z)?(A=E,E=E.nextZ,x--):(A=y,y=y.nextZ,I--),v?v.nextZ=A:o=A,A.prevZ=v,v=A;E=y}v.nextZ=null,m*=2}while(C>1);return o}function ZMe(o,A,f,m,C){return o=32767*(o-f)*C,A=32767*(A-m)*C,o=(o|o<<8)&16711935,o=(o|o<<4)&252645135,o=(o|o<<2)&858993459,o=(o|o<<1)&1431655765,A=(A|A<<8)&16711935,A=(A|A<<4)&252645135,A=(A|A<<2)&858993459,A=(A|A<<1)&1431655765,o|A<<1}function c3i(o){let A=o,f=o;do(A.x<f.x||A.x===f.x&&A.y<f.y)&&(f=A),A=A.next;while(A!==o);return f}function QH(o,A,f,m,C,E,x,y){return(C-x)*(A-y)-(o-x)*(E-y)>=0&&(o-x)*(m-y)-(f-x)*(A-y)>=0&&(f-x)*(E-y)-(C-x)*(m-y)>=0}function h3i(o,A){return o.next.i!==A.i&&o.prev.i!==A.i&&!d3i(o,A)&&(tW(o,A)&&tW(A,o)&&f3i(o,A)&&(Zd(o.prev,o,A.prev)||Zd(o,A.prev,A))||Zse(o,A)&&Zd(o.prev,o,o.next)>0&&Zd(A.prev,A,A.next)>0)}function Zd(o,A,f){return(A.y-o.y)*(f.x-A.x)-(A.x-o.x)*(f.y-A.y)}function Zse(o,A){return o.x===A.x&&o.y===A.y}function fct(o,A,f,m){let C=Xse(Zd(o,A,f)),E=Xse(Zd(o,A,m)),x=Xse(Zd(f,m,o)),y=Xse(Zd(f,m,A));return!!(C!==E&&x!==y||C===0&&qse(o,f,A)||E===0&&qse(o,m,A)||x===0&&qse(f,o,m)||y===0&&qse(f,A,m))}function qse(o,A,f){return A.x<=Math.max(o.x,f.x)&&A.x>=Math.min(o.x,f.x)&&A.y<=Math.max(o.y,f.y)&&A.y>=Math.min(o.y,f.y)}function Xse(o){return o>0?1:o<0?-1:0}function d3i(o,A){let f=o;do{if(f.i!==o.i&&f.next.i!==o.i&&f.i!==A.i&&f.next.i!==A.i&&fct(f,f.next,o,A))return!0;f=f.next}while(f!==o);return!1}function tW(o,A){return Zd(o.prev,o,o.next)<0?Zd(o,A,o.next)>=0&&Zd(o,o.prev,A)>=0:Zd(o,A,o.prev)<0||Zd(o,o.next,A)<0}function f3i(o,A){let f=o,m=!1,C=(o.x+A.x)/2,E=(o.y+A.y)/2;do f.y>E!=f.next.y>E&&f.next.y!==f.y&&C<(f.next.x-f.x)*(E-f.y)/(f.next.y-f.y)+f.x&&(m=!m),f=f.next;while(f!==o);return m}function gct(o,A){let f=new $Me(o.i,o.x,o.y),m=new $Me(A.i,A.x,A.y),C=o.next,E=A.prev;return o.next=A,A.prev=o,f.next=C,C.prev=f,m.next=f,f.prev=m,E.next=m,m.prev=E,m}function hct(o,A,f,m){let C=new $Me(o,A,f);return m?(C.next=m.next,C.prev=m,m.next.prev=C,m.next=C):(C.prev=C,C.next=C),C}function iW(o){o.next.prev=o.prev,o.prev.next=o.next,o.prevZ&&(o.prevZ.nextZ=o.nextZ),o.nextZ&&(o.nextZ.prevZ=o.prevZ)}function $Me(o,A,f){this.i=o,this.x=A,this.y=f,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function r2e(o,A,f){let m=E3i(o),C=Object.keys(m).filter(E=>m[E]!==Array);return x3i(o,{propArrayTypes:m,...A},{numericPropKeys:f&&f.numericPropKeys||C,PositionDataType:f?f.PositionDataType:Float32Array,triangulate:f?f.triangulate:!0})}function E3i(o){let A={};for(let f of o)if(f.properties)for(let m in f.properties){let C=f.properties[m];A[m]=w3i(C,A[m])}return A}function x3i(o,A,f){let{pointPositionsCount:m,pointFeaturesCount:C,linePositionsCount:E,linePathsCount:x,lineFeaturesCount:y,polygonPositionsCount:I,polygonObjectsCount:v,polygonRingsCount:B,polygonFeaturesCount:Q,propArrayTypes:T,coordLength:w}=A,{numericPropKeys:S=[],PositionDataType:D=Float32Array,triangulate:R=!0}=f,P=o[0]&&"id"in o[0],M=o.length>65535?Uint32Array:Uint16Array,L={type:"Point",positions:new D(m*w),globalFeatureIds:new M(m),featureIds:C>65535?new Uint32Array(m):new Uint16Array(m),numericProps:{},properties:[],fields:[]},F={type:"LineString",pathIndices:E>65535?new Uint32Array(x+1):new Uint16Array(x+1),positions:new D(E*w),globalFeatureIds:new M(E),featureIds:y>65535?new Uint32Array(E):new Uint16Array(E),numericProps:{},properties:[],fields:[]},k={type:"Polygon",polygonIndices:I>65535?new Uint32Array(v+1):new Uint16Array(v+1),primitivePolygonIndices:I>65535?new Uint32Array(B+1):new Uint16Array(B+1),positions:new D(I*w),globalFeatureIds:new M(I),featureIds:Q>65535?new Uint32Array(I):new Uint16Array(I),numericProps:{},properties:[],fields:[]};R&&(k.triangles=[]);for(let G of[L,F,k])for(let J of S){let K=T[J];G.numericProps[J]=new K(G.positions.length/w)}F.pathIndices[x]=E,k.polygonIndices[v]=I,k.primitivePolygonIndices[B]=I;let N={pointPosition:0,pointFeature:0,linePosition:0,linePath:0,lineFeature:0,polygonPosition:0,polygonObject:0,polygonRing:0,polygonFeature:0,feature:0};for(let G of o){let J=G.geometry,K=G.properties||{};switch(J.type){case"Point":y3i(J,L,N,w,K),L.properties.push(i2e(K,S)),P&&L.fields.push({id:G.id}),N.pointFeature++;break;case"LineString":I3i(J,F,N,w,K),F.properties.push(i2e(K,S)),P&&F.fields.push({id:G.id}),N.lineFeature++;break;case"Polygon":_3i(J,k,N,w,K),k.properties.push(i2e(K,S)),P&&k.fields.push({id:G.id}),N.polygonFeature++;break;default:throw new Error("Invalid geometry type")}N.feature++}return B3i(L,F,k,w)}function y3i(o,A,f,m,C){A.positions.set(o.data,f.pointPosition*m);let E=o.data.length/m;n2e(A,C,f.pointPosition,E),A.globalFeatureIds.fill(f.feature,f.pointPosition,f.pointPosition+E),A.featureIds.fill(f.pointFeature,f.pointPosition,f.pointPosition+E),f.pointPosition+=E}function I3i(o,A,f,m,C){A.positions.set(o.data,f.linePosition*m);let E=o.data.length/m;n2e(A,C,f.linePosition,E),A.globalFeatureIds.fill(f.feature,f.linePosition,f.linePosition+E),A.featureIds.fill(f.lineFeature,f.linePosition,f.linePosition+E);for(let x=0,y=o.indices.length;x<y;++x){let I=o.indices[x],v=x===y-1?o.data.length:o.indices[x+1];A.pathIndices[f.linePath++]=f.linePosition,f.linePosition+=(v-I)/m}}function _3i(o,A,f,m,C){A.positions.set(o.data,f.polygonPosition*m);let E=o.data.length/m;n2e(A,C,f.polygonPosition,E),A.globalFeatureIds.fill(f.feature,f.polygonPosition,f.polygonPosition+E),A.featureIds.fill(f.polygonFeature,f.polygonPosition,f.polygonPosition+E);for(let x=0,y=o.indices.length;x<y;++x){let I=f.polygonPosition;A.polygonIndices[f.polygonObject++]=I;let v=o.areas[x],B=o.indices[x],Q=o.indices[x+1];for(let w=0,S=B.length;w<S;++w){let D=B[w],R=w===S-1?Q===void 0?o.data.length:Q[0]:B[w+1];A.primitivePolygonIndices[f.polygonRing++]=f.polygonPosition,f.polygonPosition+=(R-D)/m}let T=f.polygonPosition;v3i(A,v,B,{startPosition:I,endPosition:T,coordLength:m})}}function v3i(o,A,f,m){let{startPosition:C,endPosition:E,coordLength:x}=m;if(!o.triangles)return;let y=C*x,I=E*x,v=o.positions.subarray(y,I),B=f[0],Q=f.slice(1).map(w=>(w-B)/x),T=e2e(v,Q,x,A);for(let w=0,S=T.length;w<S;++w)o.triangles.push(C+T[w])}function t2e(o,A){let f={};for(let m in o)f[m]={value:o[m],size:A};return f}function B3i(o,A,f,m){let C={points:{...o,positions:{value:o.positions,size:m},globalFeatureIds:{value:o.globalFeatureIds,size:1},featureIds:{value:o.featureIds,size:1},numericProps:t2e(o.numericProps,1)},lines:{...A,positions:{value:A.positions,size:m},pathIndices:{value:A.pathIndices,size:1},globalFeatureIds:{value:A.globalFeatureIds,size:1},featureIds:{value:A.featureIds,size:1},numericProps:t2e(A.numericProps,1)},polygons:{...f,positions:{value:f.positions,size:m},polygonIndices:{value:f.polygonIndices,size:1},primitivePolygonIndices:{value:f.primitivePolygonIndices,size:1},globalFeatureIds:{value:f.globalFeatureIds,size:1},featureIds:{value:f.featureIds,size:1},numericProps:t2e(f.numericProps,1)}};return f.triangles&&(C.polygons.triangles={value:new Uint32Array(f.triangles),size:1}),C}function n2e(o,A,f,m){for(let C in o.numericProps)if(C in A){let E=A[C];o.numericProps[C].fill(E,f,f+m)}}function i2e(o,A){let f={};for(let m in o)A.includes(m)||(f[m]=o[m]);return f}function w3i(o,A){return A===Array||!Number.isFinite(o)?Array:A===Float64Array||Math.fround(o)!==o?Float64Array:Float32Array}var c2e=rU(vct());function Bct(o){let A=o.length;if(A<=1)return[o];let f=[],m,C;for(let E=0;E<A;E++){let x=z3i(o[E]);x!==0&&(C===void 0&&(C=x<0),C===x<0?(m&&f.push(m),m=[o[E]]):m&&m.push(o[E]))}return m&&f.push(m),f}function z3i(o){let A=0;for(let f=0,m=o.length-1,C,E;f<o.length;m=f++)C=o[f],E=o[m],A+=(E[0]-C[0])*(C[1]+E[1]);return A}function wct(o,A,f){A&&f&&(o===1?A.id=f.readVarint():o===2?Y3i(f,A):o===3?A.type=f.readVarint():o===4&&(A._geometry=f.pos))}function Y3i(o,A){let f=o.readVarint()+o.pos;for(;o.pos<f;){let m=A._keys[o.readVarint()],C=A._values[o.readVarint()];A.properties[m]=C}}var Tk=class{static get types(){return["Unknown","Point","LineString","Polygon"]}constructor(A,f,m,C,E){ho(this,"properties",void 0),ho(this,"extent",void 0),ho(this,"type",void 0),ho(this,"id",void 0),ho(this,"_pbf",void 0),ho(this,"_geometry",void 0),ho(this,"_keys",void 0),ho(this,"_values",void 0),this.properties={},this.extent=m,this.type=0,this.id=null,this._pbf=A,this._geometry=-1,this._keys=C,this._values=E,A.readFields(wct,this,f)}loadGeometry(){let A=this._pbf;A.pos=this._geometry;let f=A.readVarint()+A.pos,m=1,C=0,E=0,x=0,y=[],I;for(;A.pos<f;){if(C<=0){let v=A.readVarint();m=v&7,C=v>>3}if(C--,m===1||m===2)E+=A.readSVarint(),x+=A.readSVarint(),m===1&&(I&&y.push(I),I=[]),I&&I.push([E,x]);else if(m===7)I&&I.push(I[0].slice());else throw new Error("unknown command ".concat(m))}return I&&y.push(I),y}bbox(){let A=this._pbf;A.pos=this._geometry;let f=A.readVarint()+A.pos,m=1,C=0,E=0,x=0,y=1/0,I=-1/0,v=1/0,B=-1/0;for(;A.pos<f;){if(C<=0){let Q=A.readVarint();m=Q&7,C=Q>>3}if(C--,m===1||m===2)E+=A.readSVarint(),x+=A.readSVarint(),E<y&&(y=E),E>I&&(I=E),x<v&&(v=x),x>B&&(B=x);else if(m!==7)throw new Error("unknown command ".concat(m))}return[y,v,I,B]}_toGeoJSON(A){let f=this.loadGeometry(),m=Tk.types[this.type],C,E;switch(this.type){case 1:let y=[];for(C=0;C<f.length;C++)y[C]=f[C][0];f=y,A(f,this);break;case 2:for(C=0;C<f.length;C++)A(f[C],this);break;case 3:for(f=Bct(f),C=0;C<f.length;C++)for(E=0;E<f[C].length;E++)A(f[C][E],this);break}f.length===1?f=f[0]:m="Multi".concat(m);let x={type:"Feature",geometry:{type:m,coordinates:f},properties:this.properties};return this.id!==null&&(x.id=this.id),x}toGeoJSON(A){if(typeof A=="function")return this._toGeoJSON(A);let{x:f,y:m,z:C}=A,E=this.extent*Math.pow(2,C),x=this.extent*f,y=this.extent*m;function I(v){for(let B=0;B<v.length;B++){let Q=v[B];Q[0]=(Q[0]+x)*360/E-180;let T=180-(Q[1]+y)*360/E;Q[1]=360/Math.PI*Math.atan(Math.exp(T*Math.PI/180))-90}}return this._toGeoJSON(I)}};var rW=class{constructor(A,f){ho(this,"version",void 0),ho(this,"name",void 0),ho(this,"extent",void 0),ho(this,"length",void 0),ho(this,"_pbf",void 0),ho(this,"_keys",void 0),ho(this,"_values",void 0),ho(this,"_features",void 0),this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=A,this._keys=[],this._values=[],this._features=[],A.readFields(J3i,this,f),this.length=this._features.length}feature(A){if(A<0||A>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[A];let f=this._pbf.readVarint()+this._pbf.pos;return new Tk(this._pbf,f,this.extent,this._keys,this._values)}};function J3i(o,A,f){A&&f&&(o===15?A.version=f.readVarint():o===1?A.name=f.readString():o===5?A.extent=f.readVarint():o===2?A._features.push(f.pos):o===3?A._keys.push(f.readString()):o===4&&A._values.push(K3i(f)))}function K3i(o){let A=null,f=o.readVarint()+o.pos;for(;o.pos<f;){let m=o.readVarint()>>3;A=m===1?o.readString():m===2?o.readFloat():m===3?o.readDouble():m===4?o.readVarint64():m===5?o.readVarint():m===6?o.readSVarint():m===7?o.readBoolean():null}return A}var nW=class{constructor(A,f){ho(this,"layers",void 0),this.layers=A.readFields(W3i,{},f)}};function W3i(o,A,f){if(o===3&&f){let m=new rW(f,f.readVarint()+f.pos);m.length&&A&&(A[m.name]=m)}}function bct(o){let A=o.indices.length,f="Polygon";if(A<=1)return{type:f,data:o.data,areas:[[Dk(o.data)]],indices:[o.indices]};let m=[],C=[],E=[],x=[],y,I=0;for(let v,B=0,Q;B<A;B++){Q=o.indices[B]-I,v=o.indices[B+1]-I||o.data.length;let T=o.data.slice(Q,v),w=Dk(T);if(w===0){let S=o.data.slice(0,Q),D=o.data.slice(v);o.data=S.concat(D),I+=v-Q;continue}y===void 0&&(y=w<0),y===w<0?(x.length&&(m.push(E),C.push(x)),x=[Q],E=[w]):(E.push(w),x.push(Q))}return E&&m.push(E),x.length&&C.push(x),{type:f,areas:m,indices:C,data:o.data}}function Qct(o,A,f,m){for(let C=0,E=o.length;C<E;C+=2){o[C]=(o[C]+A)*360/m-180;let x=180-(o[C+1]+f)*360/m;o[C+1]=360/Math.PI*Math.atan(Math.exp(x*Math.PI/180))-90}}function Sct(o,A,f){A&&f&&(o===1?A.id=f.readVarint():o===2?j3i(f,A):o===3?A.type=f.readVarint():o===4&&(A._geometry=f.pos))}function j3i(o,A){let f=o.readVarint()+o.pos;for(;o.pos<f;){let m=A._keys[o.readVarint()],C=A._values[o.readVarint()];A.properties[m]=C}}var Dct,Mk,s2e,tle,l2e,u2e,oW;var aW=class{constructor(A,f,m,C,E,x){ho(this,"properties",void 0),ho(this,"extent",void 0),ho(this,"type",void 0),ho(this,"id",void 0),ho(this,"_pbf",void 0),ho(this,"_geometry",void 0),ho(this,"_keys",void 0),ho(this,"_values",void 0),ho(this,"_geometryInfo",void 0),this.properties={},this.extent=m,this.type=0,this.id=null,this._pbf=A,this._geometry=-1,this._keys=C,this._values=E,this._geometryInfo=x,A.readFields(Sct,this,f)}loadGeometry(){let A=this._pbf;A.pos=this._geometry,Dct=A.readVarint()+A.pos,Mk=1,tle=0,l2e=0,u2e=0,oW=0;let f=[],m=[];for(;A.pos<Dct;)if(tle<=0&&(s2e=A.readVarint(),Mk=s2e&7,tle=s2e>>3),tle--,Mk===1||Mk===2)l2e+=A.readSVarint(),u2e+=A.readSVarint(),Mk===1&&f.push(oW),m.push(l2e,u2e),oW+=2;else if(Mk===7){if(oW>0){let C=f[f.length-1];m.push(m[C],m[C+1]),oW+=2}}else throw new Error("unknown command ".concat(Mk));return{data:m,indices:f}}_toBinaryCoordinates(A){let f=this.loadGeometry(),m;A(f.data,this);let C=2;switch(this.type){case 1:this._geometryInfo.pointFeaturesCount++,this._geometryInfo.pointPositionsCount+=f.indices.length,m={type:"Point",...f};break;case 2:this._geometryInfo.lineFeaturesCount++,this._geometryInfo.linePathsCount+=f.indices.length,this._geometryInfo.linePositionsCount+=f.data.length/C,m={type:"LineString",...f};break;case 3:m=bct(f),this._geometryInfo.polygonFeaturesCount++,this._geometryInfo.polygonObjectsCount+=m.indices.length;for(let x of m.indices)this._geometryInfo.polygonRingsCount+=x.length;this._geometryInfo.polygonPositionsCount+=m.data.length/C;break;default:throw new Error("Invalid geometry type: ".concat(this.type))}let E={type:"Feature",geometry:m,properties:this.properties};return this.id!==null&&(E.id=this.id),E}toBinaryCoordinates(A){if(typeof A=="function")return this._toBinaryCoordinates(A);let{x:f,y:m,z:C}=A,E=this.extent*Math.pow(2,C),x=this.extent*f,y=this.extent*m;return this._toBinaryCoordinates(I=>Qct(I,x,y,E))}};var sW=class{constructor(A,f){ho(this,"version",void 0),ho(this,"name",void 0),ho(this,"extent",void 0),ho(this,"length",void 0),ho(this,"_pbf",void 0),ho(this,"_keys",void 0),ho(this,"_values",void 0),ho(this,"_features",void 0),this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=A,this._keys=[],this._values=[],this._features=[],A.readFields(q3i,this,f),this.length=this._features.length}feature(A,f){if(A<0||A>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[A];let m=this._pbf.readVarint()+this._pbf.pos;return new aW(this._pbf,m,this.extent,this._keys,this._values,f)}};function q3i(o,A,f){A&&f&&(o===15?A.version=f.readVarint():o===1?A.name=f.readString():o===5?A.extent=f.readVarint():o===2?A._features.push(f.pos):o===3?A._keys.push(f.readString()):o===4&&A._values.push(X3i(f)))}function X3i(o){let A=null,f=o.readVarint()+o.pos;for(;o.pos<f;){let m=o.readVarint()>>3;A=m===1?o.readString():m===2?o.readFloat():m===3?o.readDouble():m===4?o.readVarint64():m===5?o.readVarint():m===6?o.readSVarint():m===7?o.readBoolean():null}return A}var lW=class{constructor(A,f){ho(this,"layers",void 0),this.layers=A.readFields(Z3i,{},f)}};function Z3i(o,A,f){if(o===3&&f){let m=new sW(f,f.readVarint()+f.pos);m.length&&A&&(A[m.name]=m)}}function ile(o,A){var f,m;let C=eki(A),E=(A==null||(f=A.gis)===null||f===void 0?void 0:f.format)||(A==null||(m=A.mvt)===null||m===void 0?void 0:m.shape);switch(E){case"columnar-table":return{shape:"columnar-table",data:A2e(o,C)};case"geojson-row-table":return{shape:"geojson-row-table",data:Tct(o,C)};case"geojson":return Tct(o,C);case"binary-geometry":return A2e(o,C);case"binary":return A2e(o,C);default:throw new Error(E)}}function A2e(o,A){let[f,m]=$3i(o,A),C=r2e(f,m);return C.byteLength=o.byteLength,C}function $3i(o,A){let f=[],m={coordLength:2,pointPositionsCount:0,pointFeaturesCount:0,linePositionsCount:0,linePathsCount:0,lineFeaturesCount:0,polygonPositionsCount:0,polygonObjectsCount:0,polygonRingsCount:0,polygonFeaturesCount:0};if(o.byteLength<=0)return[f,m];let C=new lW(new c2e.default(o));return(A&&Array.isArray(A.layers)?A.layers:Object.keys(C.layers)).forEach(x=>{let y=C.layers[x];if(!!y)for(let I=0;I<y.length;I++){let v=y.feature(I,m),B=iki(v,A,x);f.push(B)}}),[f,m]}function Tct(o,A){if(o.byteLength<=0)return[];let f=[],m=new nW(new c2e.default(o));return(Array.isArray(A.layers)?A.layers:Object.keys(m.layers)).forEach(E=>{let x=m.layers[E];if(!!x)for(let y=0;y<x.length;y++){let I=x.feature(y),v=tki(I,A,E);f.push(v)}}),f}function eki(o){var A;if(!(o!=null&&o.mvt))throw new Error("mvt options required");let f=((A=o.mvt)===null||A===void 0?void 0:A.coordinates)==="wgs84",{tileIndex:m}=o.mvt,C=m&&Number.isFinite(m.x)&&Number.isFinite(m.y)&&Number.isFinite(m.z);if(f&&!C)throw new Error("MVT Loader: WGS84 coordinates need tileIndex property");return o.mvt}function tki(o,A,f){let m=o.toGeoJSON(A.coordinates==="wgs84"?A.tileIndex:rki);return A.layerProperty&&(m.properties[A.layerProperty]=f),m}function iki(o,A,f){let m=o.toBinaryCoordinates(A.coordinates==="wgs84"?A.tileIndex:nki);return A.layerProperty&&m.properties&&(m.properties[A.layerProperty]=f),m}function rki(o,A){let{extent:f}=A;for(let m=0;m<o.length;m++){let C=o[m];C[0]/=f,C[1]/=f}}function nki(o,A){let{extent:f}=A;for(let m=0,C=o.length;m<C;++m)o[m]/=f}var oki="3.4.11",aki={mvt:{shape:"geojson",coordinates:"local",layerProperty:"layerName",layers:void 0,tileIndex:null}},Mct={name:"Mapbox Vector Tile",id:"mvt",module:"mvt",version:oki,extensions:["mvt","pbf"],mimeTypes:["application/vnd.mapbox-vector-tile","application/x-protobuf"],worker:!0,category:"geometry",options:aki},h2e={...Mct,parse:async(o,A)=>ile(o,A),parseSync:ile,binary:!0};function rle(o,A){if(!o)throw new Error(A||"loader assertion failed.")}var UQ={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},ski=UQ.self||UQ.window||UQ.global||{},lki=UQ.window||UQ.self||UQ.global||{},uki=UQ.global||UQ.self||UQ.window||{},Aki=UQ.document||{};var uW=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var Pct=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),cki=Pct&&parseFloat(Pct[1])||0;var Rct="3.4.11";function SC(o,A){if(!o)throw new Error(A||"loaders.gl assertion failed.")}var GQ={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},jXi=GQ.self||GQ.window||GQ.global||{},qXi=GQ.window||GQ.self||GQ.global||{},XXi=GQ.global||GQ.self||GQ.window||{},ZXi=GQ.document||{};var Pk=typeof process!="object"||String(process)!=="[object process]"||process.browser;var Fct=typeof window<"u"&&typeof window.orientation<"u",Lct=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),$Xi=Lct&&parseFloat(Lct[1])||0;var AW=class{constructor(A,f){ho(this,"name",void 0),ho(this,"workerThread",void 0),ho(this,"isRunning",!0),ho(this,"result",void 0),ho(this,"_resolve",()=>{}),ho(this,"_reject",()=>{}),this.name=A,this.workerThread=f,this.result=new Promise((m,C)=>{this._resolve=m,this._reject=C})}postMessage(A,f){this.workerThread.postMessage({source:"loaders.gl",type:A,payload:f})}done(A){SC(this.isRunning),this.isRunning=!1,this._resolve(A)}error(A){SC(this.isRunning),this.isRunning=!1,this._reject(A)}};var TH=class{terminate(){}};var d2e=new Map;function Nct(o){SC(o.source&&!o.url||!o.source&&o.url);let A=d2e.get(o.source||o.url);return A||(o.url&&(A=hki(o.url),d2e.set(o.url,A)),o.source&&(A=kct(o.source),d2e.set(o.source,A))),SC(A),A}function hki(o){if(!o.startsWith("http"))return o;let A=dki(o);return kct(A)}function kct(o){let A=new Blob([o],{type:"application/javascript"});return URL.createObjectURL(A)}function dki(o){return`try { importScripts('`.concat(o,`'); } catch (error) { console.error(error); throw error; }`)}function f2e(o){let A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,f=arguments.length>2?arguments[2]:void 0,m=f||new Set;if(o){if(Oct(o))m.add(o);else if(Oct(o.buffer))m.add(o.buffer);else if(!ArrayBuffer.isView(o)){if(A&&typeof o=="object")for(let C in o)f2e(o[C],A,m)}}return f===void 0?Array.from(m):[]}function Oct(o){return o?o instanceof ArrayBuffer||typeof MessagePort<"u"&&o instanceof MessagePort||typeof ImageBitmap<"u"&&o instanceof ImageBitmap||typeof OffscreenCanvas<"u"&&o instanceof OffscreenCanvas:!1}var g2e=()=>{},qR=class{static isSupported(){return typeof Worker<"u"&&Pk||typeof TH<"u"&&!Pk}constructor(A){ho(this,"name",void 0),ho(this,"source",void 0),ho(this,"url",void 0),ho(this,"terminated",!1),ho(this,"worker",void 0),ho(this,"onMessage",void 0),ho(this,"onError",void 0),ho(this,"_loadableURL","");let{name:f,source:m,url:C}=A;SC(m||C),this.name=f,this.source=m,this.url=C,this.onMessage=g2e,this.onError=E=>console.log(E),this.worker=Pk?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=g2e,this.onError=g2e,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(A,f){f=f||f2e(A),this.worker.postMessage(A,f)}_getErrorFromErrorEvent(A){let f="Failed to load ";return f+="worker ".concat(this.name," from ").concat(this.url,". "),A.message&&(f+="".concat(A.message," in ")),A.lineno&&(f+=":".concat(A.lineno,":").concat(A.colno)),new Error(f)}_createBrowserWorker(){this._loadableURL=Nct({source:this.source,url:this.url});let A=new Worker(this._loadableURL,{name:this.name});return A.onmessage=f=>{f.data?this.onMessage(f.data):this.onError(new Error("No data received"))},A.onerror=f=>{this.onError(this._getErrorFromErrorEvent(f)),this.terminated=!0},A.onmessageerror=f=>console.error(f),A}_createNodeWorker(){let A;if(this.url){let m=this.url.includes(":/")||this.url.startsWith("/")?this.url:"./".concat(this.url);A=new TH(m,{eval:!1})}else if(this.source)A=new TH(this.source,{eval:!0});else throw new Error("no worker");return A.on("message",f=>{this.onMessage(f)}),A.on("error",f=>{this.onError(f)}),A.on("exit",f=>{}),A}};var cW=class{static isSupported(){return qR.isSupported()}constructor(A){ho(this,"name","unnamed"),ho(this,"source",void 0),ho(this,"url",void 0),ho(this,"maxConcurrency",1),ho(this,"maxMobileConcurrency",1),ho(this,"onDebug",()=>{}),ho(this,"reuseWorkers",!0),ho(this,"props",{}),ho(this,"jobQueue",[]),ho(this,"idleQueue",[]),ho(this,"count",0),ho(this,"isDestroyed",!1),this.source=A.source,this.url=A.url,this.setProps(A)}destroy(){this.idleQueue.forEach(A=>A.destroy()),this.isDestroyed=!0}setProps(A){this.props={...this.props,...A},A.name!==void 0&&(this.name=A.name),A.maxConcurrency!==void 0&&(this.maxConcurrency=A.maxConcurrency),A.maxMobileConcurrency!==void 0&&(this.maxMobileConcurrency=A.maxMobileConcurrency),A.reuseWorkers!==void 0&&(this.reuseWorkers=A.reuseWorkers),A.onDebug!==void 0&&(this.onDebug=A.onDebug)}async startJob(A){let f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:(E,x,y)=>E.done(y),m=arguments.length>2&&arguments[2]!==void 0?arguments[2]:(E,x)=>E.error(x),C=new Promise(E=>(this.jobQueue.push({name:A,onMessage:f,onError:m,onStart:E}),this));return this._startQueuedJob(),await C}async _startQueuedJob(){if(!this.jobQueue.length)return;let A=this._getAvailableWorker();if(!A)return;let f=this.jobQueue.shift();if(f){this.onDebug({message:"Starting job",name:f.name,workerThread:A,backlog:this.jobQueue.length});let m=new AW(f.name,A);A.onMessage=C=>f.onMessage(m,C.type,C.payload),A.onError=C=>f.onError(m,C),f.onStart(m);try{await m.result}finally{this.returnWorkerToQueue(A)}}}returnWorkerToQueue(A){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(A.destroy(),this.count--):this.idleQueue.push(A),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count<this._getMaxConcurrency()){this.count++;let A="".concat(this.name.toLowerCase()," (#").concat(this.count," of ").concat(this.maxConcurrency,")");return new qR({name:A,source:this.source,url:this.url})}return null}_getMaxConcurrency(){return Fct?this.maxMobileConcurrency:this.maxConcurrency}};var fki={maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,onDebug:()=>{}},qx=class{static isSupported(){return qR.isSupported()}static getWorkerFarm(){let A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return qx._workerFarm=qx._workerFarm||new qx({}),qx._workerFarm.setProps(A),qx._workerFarm}constructor(A){ho(this,"props",void 0),ho(this,"workerPools",new Map),this.props={...fki},this.setProps(A),this.workerPools=new Map}destroy(){for(let A of this.workerPools.values())A.destroy();this.workerPools=new Map}setProps(A){this.props={...this.props,...A};for(let f of this.workerPools.values())f.setProps(this._getWorkerPoolProps())}getWorkerPool(A){let{name:f,source:m,url:C}=A,E=this.workerPools.get(f);return E||(E=new cW({name:f,source:m,url:C}),E.setProps(this._getWorkerPoolProps()),this.workerPools.set(f,E)),E}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}};ho(qx,"_workerFarm",void 0);var gki="latest";function p2e(o){let A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},f=A[o.id]||{},m="".concat(o.id,"-worker.js"),C=f.workerUrl;if(!C&&o.id==="compression"&&(C=A.workerUrl),A._workerType==="test"&&(C="modules/".concat(o.module,"/dist/").concat(m)),!C){let E=o.version;E==="latest"&&(E=gki);let x=E?"@".concat(E):"";C="https://unpkg.com/@loaders.gl/".concat(o.module).concat(x,"/dist/").concat(m)}return SC(C),C}function m2e(o){let A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Rct;SC(o,"no worker provided");let f=o.version;return!(!A||!f)}function C2e(o,A){return!qx.isSupported()||!Pk&&!(A!=null&&A._nodeWorkers)?!1:o.worker&&A?.worker}async function E2e(o,A,f,m,C){let E=o.id,x=p2e(o,f),I=qx.getWorkerFarm(f).getWorkerPool({name:E,url:x});f=JSON.parse(JSON.stringify(f)),m=JSON.parse(JSON.stringify(m||{}));let v=await I.startJob("process-on-worker",pki.bind(null,C));return v.postMessage("process",{input:A,options:f,context:m}),await(await v.result).result}async function pki(o,A,f,m){switch(f){case"done":A.done(m);break;case"error":A.error(new Error(m.error));break;case"process":let{id:C,input:E,options:x}=m;try{let y=await o(E,x);A.postMessage("done",{id:C,result:y})}catch(y){let I=y instanceof Error?y.message:"unknown error";A.postMessage("error",{id:C,error:I})}break;default:console.warn("parse-with-worker unknown message ".concat(f))}}function x2e(o,A,f){if(f=f||o.byteLength,o.byteLength<f||A.byteLength<f)return!1;let m=new Uint8Array(o),C=new Uint8Array(A);for(let E=0;E<m.length;++E)if(m[E]!==C[E])return!1;return!0}function y2e(){for(var o=arguments.length,A=new Array(o),f=0;f<o;f++)A[f]=arguments[f];let m=A.map(y=>y instanceof ArrayBuffer?new Uint8Array(y):y),C=m.reduce((y,I)=>y+I.byteLength,0),E=new Uint8Array(C),x=0;for(let y of m)E.set(y,x),x+=y.byteLength;return E.buffer}async function I2e(o){let A=[];for await(let f of o)A.push(f);return y2e(...A)}var mki="",Uct={};function _2e(o){for(let A in Uct)if(o.startsWith(A)){let f=Uct[A];o=o.replace(A,f)}return!o.startsWith("http://")&&!o.startsWith("https://")&&(o="".concat(mki).concat(o)),o}function Gct(o){return o&&typeof o=="object"&&o.isBuffer}function nle(o){if(Gct(o))return o;if(o instanceof ArrayBuffer)return o;if(ArrayBuffer.isView(o))return o.byteOffset===0&&o.byteLength===o.buffer.byteLength?o.buffer:o.buffer.slice(o.byteOffset,o.byteOffset+o.byteLength);if(typeof o=="string"){let A=o;return new TextEncoder().encode(A).buffer}if(o&&typeof o=="object"&&o._toArrayBuffer)return o._toArrayBuffer();throw new Error("toArrayBuffer")}var Rk={};Eue(Rk,{dirname:()=>Eki,filename:()=>Cki,join:()=>xki,resolve:()=>yki});function Hct(){var o;if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let A=(o=window.location)===null||o===void 0?void 0:o.pathname;return A?.slice(0,A.lastIndexOf("/")+1)||""}function Cki(o){let A=o?o.lastIndexOf("/"):-1;return A>=0?o.substr(A+1):""}function Eki(o){let A=o?o.lastIndexOf("/"):-1;return A>=0?o.substr(0,A):""}function xki(){for(var o=arguments.length,A=new Array(o),f=0;f<o;f++)A[f]=arguments[f];let m="/";return A=A.map((C,E)=>(E&&(C=C.replace(new RegExp("^".concat(m)),"")),E!==A.length-1&&(C=C.replace(new RegExp("".concat(m,"$")),"")),C)),A.join(m)}function yki(){let o=[];for(let C=0;C<arguments.length;C++)o[C]=C<0||arguments.length<=C?void 0:arguments[C];let A="",f=!1,m;for(let C=o.length-1;C>=-1&&!f;C--){let E;C>=0?E=o[C]:(m===void 0&&(m=Hct()),E=m),E.length!==0&&(A="".concat(E,"/").concat(A),f=E.charCodeAt(0)===hW)}return A=Iki(A,!f),f?"/".concat(A):A.length>0?A:"."}var hW=47,v2e=46;function Iki(o,A){let f="",m=-1,C=0,E,x=!1;for(let y=0;y<=o.length;++y){if(y<o.length)E=o.charCodeAt(y);else{if(E===hW)break;E=hW}if(E===hW){if(!(m===y-1||C===1))if(m!==y-1&&C===2){if(f.length<2||!x||f.charCodeAt(f.length-1)!==v2e||f.charCodeAt(f.length-2)!==v2e){if(f.length>2){let I=f.length-1,v=I;for(;v>=0&&f.charCodeAt(v)!==hW;--v);if(v!==I){f=v===-1?"":f.slice(0,v),m=y,C=0,x=!1;continue}}else if(f.length===2||f.length===1){f="",m=y,C=0,x=!1;continue}}A&&(f.length>0?f+="/..":f="..",x=!0)}else{let I=o.slice(m+1,y);f.length>0?f+="/".concat(I):f=I,x=!1}m=y,C=0}else E===v2e&&C!==-1?++C:C=-1}return f}var _ki=o=>typeof o=="boolean",dW=o=>typeof o=="function",Lk=o=>o!==null&&typeof o=="object",B2e=o=>Lk(o)&&o.constructor==={}.constructor;var Vct=o=>o&&typeof o[Symbol.iterator]=="function",zct=o=>o&&typeof o[Symbol.asyncIterator]=="function";var Gv=o=>typeof Response<"u"&&o instanceof Response||o&&o.arrayBuffer&&o.text&&o.json;var Hv=o=>typeof Blob<"u"&&o instanceof Blob,Yct=o=>o&&typeof o=="object"&&o.isBuffer;var vki=o=>typeof ReadableStream<"u"&&o instanceof ReadableStream||Lk(o)&&dW(o.tee)&&dW(o.cancel)&&dW(o.getReader);var Bki=o=>Lk(o)&&dW(o.read)&&dW(o.pipe)&&_ki(o.readable),ole=o=>vki(o)||Bki(o);var wki=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,bki=/^([-\w.]+\/[-\w.+]+)/;function Jct(o){let A=bki.exec(o);return A?A[1]:o}function w2e(o){let A=wki.exec(o);return A?A[1]:""}var Kct=/\?.*/;function Wct(o){let A=o.match(Kct);return A&&A[0]}function MH(o){return o.replace(Kct,"")}function Fk(o){return Gv(o)?o.url:Hv(o)?o.name||"":typeof o=="string"?o:""}function fW(o){if(Gv(o)){let A=o,f=A.headers.get("content-type")||"",m=MH(A.url);return Jct(f)||w2e(m)}return Hv(o)?o.type||"":typeof o=="string"?w2e(o):""}function jct(o){return Gv(o)?o.headers["content-length"]||-1:Hv(o)?o.size:typeof o=="string"?o.length:o instanceof ArrayBuffer||ArrayBuffer.isView(o)?o.byteLength:-1}async function ale(o){if(Gv(o))return o;let A={},f=jct(o);f>=0&&(A["content-length"]=String(f));let m=Fk(o),C=fW(o);C&&(A["content-type"]=C);let E=await Ski(o);E&&(A["x-first-bytes"]=E),typeof o=="string"&&(o=new TextEncoder().encode(o));let x=new Response(o,{headers:A});return Object.defineProperty(x,"url",{value:m}),x}async function qct(o){if(!o.ok){let A=await Qki(o);throw new Error(A)}}async function Qki(o){let A="Failed to fetch resource ".concat(o.url," (").concat(o.status,"): ");try{let f=o.headers.get("Content-Type"),m=o.statusText;f.includes("application/json")&&(m+=" ".concat(await o.text())),A+=m,A=A.length>60?"".concat(A.slice(0,60),"..."):A}catch{}return A}async function Ski(o){if(typeof o=="string")return"data:,".concat(o.slice(0,5));if(o instanceof Blob){let f=o.slice(0,5);return await new Promise(m=>{let C=new FileReader;C.onload=E=>{var x;return m(E==null||(x=E.target)===null||x===void 0?void 0:x.result)},C.readAsDataURL(f)})}if(o instanceof ArrayBuffer){let f=o.slice(0,5),m=Dki(f);return"data:base64,".concat(m)}return null}function Dki(o){let A="",f=new Uint8Array(o);for(let m=0;m<f.byteLength;m++)A+=String.fromCharCode(f[m]);return btoa(A)}async function b2e(o,A){if(typeof o=="string"){o=_2e(o);let f=A;return A!=null&&A.fetch&&typeof A?.fetch!="function"&&(f=A.fetch),await fetch(o,f)}return await ale(o)}function Q2e(o){if(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&Boolean(process.versions.electron))return!0;let A=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,f=o||A;return!!(f&&f.indexOf("Electron")>=0)}function n1(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||Q2e()}var Tki=globalThis.self||globalThis.window||globalThis.global,PH=globalThis.window||globalThis.self||globalThis.global,Mki=globalThis.document||{},Nk=globalThis.process||{},Pki=globalThis.console,_$i=globalThis.navigator||{};var sle=typeof __VERSION__<"u"?__VERSION__:"untranspiled source",w$i=n1();function Rki(o){try{let A=window[o],f="__storage_test__";return A.setItem(f,f),A.removeItem(f),A}catch{return null}}var lle=class{constructor(A,f){let m=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";this.storage=void 0,this.id=void 0,this.config=void 0,this.storage=Rki(m),this.id=A,this.config=f,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(A){if(Object.assign(this.config,A),this.storage){let f=JSON.stringify(this.config);this.storage.setItem(this.id,f)}}_loadConfiguration(){let A={};if(this.storage){let f=this.storage.getItem(this.id);A=f?JSON.parse(f):{}}return Object.assign(this.config,A),this}};function Xct(o){let A;return o<10?A="".concat(o.toFixed(2),"ms"):o<100?A="".concat(o.toFixed(1),"ms"):o<1e3?A="".concat(o.toFixed(0),"ms"):A="".concat((o/1e3).toFixed(2),"s"),A}function Zct(o){let A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,f=Math.max(A-o.length,0);return"".concat(" ".repeat(f)).concat(o)}function ule(o,A,f){let m=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,C=o.src.replace(/\(/g,"%28").replace(/\)/g,"%29");o.width>m&&(f=Math.min(f,m/o.width));let E=o.width*f,x=o.height*f,y=["font-size:1px;","padding:".concat(Math.floor(x/2),"px ").concat(Math.floor(E/2),"px;"),"line-height:".concat(x,"px;"),"background:url(".concat(C,");"),"background-size:".concat(E,"px ").concat(x,"px;"),"color:transparent;"].join("");return["".concat(A," %c+"),y]}var Ale;(function(o){o[o.BLACK=30]="BLACK",o[o.RED=31]="RED",o[o.GREEN=32]="GREEN",o[o.YELLOW=33]="YELLOW",o[o.BLUE=34]="BLUE",o[o.MAGENTA=35]="MAGENTA",o[o.CYAN=36]="CYAN",o[o.WHITE=37]="WHITE",o[o.BRIGHT_BLACK=90]="BRIGHT_BLACK",o[o.BRIGHT_RED=91]="BRIGHT_RED",o[o.BRIGHT_GREEN=92]="BRIGHT_GREEN",o[o.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",o[o.BRIGHT_BLUE=94]="BRIGHT_BLUE",o[o.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",o[o.BRIGHT_CYAN=96]="BRIGHT_CYAN",o[o.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(Ale||(Ale={}));var Lki=10;function $ct(o){return typeof o!="string"?o:(o=o.toUpperCase(),Ale[o]||Ale.WHITE)}function eht(o,A,f){if(!n1&&typeof o=="string"){if(A){let m=$ct(A);o="\x1B[".concat(m,"m").concat(o,"\x1B[39m")}if(f){let m=$ct(f);o="\x1B[".concat(m+Lki,"m").concat(o,"\x1B[49m")}}return o}function tht(o){let A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],f=Object.getPrototypeOf(o),m=Object.getOwnPropertyNames(f),C=o;for(let E of m){let x=C[E];typeof x=="function"&&(A.find(y=>E===y)||(C[E]=x.bind(o)))}}function RH(o,A){if(!o)throw new Error(A||"Assertion failed")}function kk(){let o;if(n1()&&PH.performance){var A,f;o=PH===null||PH===void 0||(A=PH.performance)===null||A===void 0||(f=A.now)===null||f===void 0?void 0:f.call(A)}else if("hrtime"in Nk){var m;let C=Nk===null||Nk===void 0||(m=Nk.hrtime)===null||m===void 0?void 0:m.call(Nk);o=C[0]*1e3+C[1]/1e6}else o=Date.now();return o}var LH={debug:n1()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Fki={enabled:!0,level:0};function Vv(){}var iht={},rht={once:!0},HQ=class{constructor(){let{id:A}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};this.id=void 0,this.VERSION=sle,this._startTs=kk(),this._deltaTs=kk(),this._storage=void 0,this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=A,this.userData={},this._storage=new lle("__probe-".concat(this.id,"__"),Fki),this.timeStamp("".concat(this.id," started")),tht(this),Object.seal(this)}set level(A){this.setLevel(A)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((kk()-this._startTs).toPrecision(10))}getDelta(){return Number((kk()-this._deltaTs).toPrecision(10))}set priority(A){this.level=A}get priority(){return this.level}getPriority(){return this.level}enable(){let A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:A}),this}setLevel(A){return this._storage.setConfiguration({level:A}),this}get(A){return this._storage.config[A]}set(A,f){this._storage.setConfiguration({[A]:f})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(A,f){RH(A,f)}warn(A){return this._getLogFunction(0,A,LH.warn,arguments,rht)}error(A){return this._getLogFunction(0,A,LH.error,arguments)}deprecated(A,f){return this.warn("`".concat(A,"` is deprecated and will be removed in a later version. Use `").concat(f,"` instead"))}removed(A,f){return this.error("`".concat(A,"` has been removed. Use `").concat(f,"` instead"))}probe(A,f){return this._getLogFunction(A,f,LH.log,arguments,{time:!0,once:!0})}log(A,f){return this._getLogFunction(A,f,LH.debug,arguments)}info(A,f){return this._getLogFunction(A,f,console.info,arguments)}once(A,f){return this._getLogFunction(A,f,LH.debug||LH.info,arguments,rht)}table(A,f,m){return f?this._getLogFunction(A,f,console.table||Vv,m&&[m],{tag:Uki(f)}):Vv}image(A){let{logLevel:f,priority:m,image:C,message:E="",scale:x=1}=A;return this._shouldLog(f||m)?n1()?Oki({image:C,message:E,scale:x}):kki({image:C,message:E,scale:x}):Vv}time(A,f){return this._getLogFunction(A,f,console.time?console.time:console.info)}timeEnd(A,f){return this._getLogFunction(A,f,console.timeEnd?console.timeEnd:console.info)}timeStamp(A,f){return this._getLogFunction(A,f,console.timeStamp||Vv)}group(A,f){let m=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},C=nht({logLevel:A,message:f,opts:m}),{collapsed:E}=m;return C.method=(E?console.groupCollapsed:console.group)||console.info,this._getLogFunction(C)}groupCollapsed(A,f){let m=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(A,f,Object.assign({},m,{collapsed:!0}))}groupEnd(A){return this._getLogFunction(A,"",console.groupEnd||Vv)}withGroup(A,f,m){this.group(A,f)();try{m()}finally{this.groupEnd(A)()}}trace(){console.trace&&console.trace()}_shouldLog(A){return this.isEnabled()&&this.getLevel()>=oht(A)}_getLogFunction(A,f,m,C,E){if(this._shouldLog(A)){E=nht({logLevel:A,message:f,args:C,opts:E}),m=m||E.method,RH(m),E.total=this.getTotal(),E.delta=this.getDelta(),this._deltaTs=kk();let x=E.tag||E.message;if(E.once&&x)if(!iht[x])iht[x]=kk();else return Vv;return f=Nki(this.id,E.message,E),m.bind(console,f,...E.args)}return Vv}};HQ.VERSION=sle;function oht(o){if(!o)return 0;let A;switch(typeof o){case"number":A=o;break;case"object":A=o.logLevel||o.priority||0;break;default:return 0}return RH(Number.isFinite(A)&&A>=0),A}function nht(o){let{logLevel:A,message:f}=o;o.logLevel=oht(A);let m=o.args?Array.from(o.args):[];for(;m.length&&m.shift()!==f;);switch(typeof A){case"string":case"function":f!==void 0&&m.unshift(f),o.message=A;break;case"object":Object.assign(o,A);break;default:}typeof o.message=="function"&&(o.message=o.message());let C=typeof o.message;return RH(C==="string"||C==="object"),Object.assign(o,{args:m},o.opts)}function Nki(o,A,f){if(typeof A=="string"){let m=f.time?Zct(Xct(f.total)):"";A=f.time?"".concat(o,": ").concat(m," ").concat(A):"".concat(o,": ").concat(A),A=eht(A,f.color,f.background)}return A}function kki(o){let{image:A,message:f="",scale:m=1}=o;return console.warn("removed"),Vv}function Oki(o){let{image:A,message:f="",scale:m=1}=o;if(typeof A=="string"){let E=new Image;return E.onload=()=>{let x=ule(E,f,m);console.log(...x)},E.src=A,Vv}let C=A.nodeName||"";if(C.toLowerCase()==="img")return console.log(...ule(A,f,m)),Vv;if(C.toLowerCase()==="canvas"){let E=new Image;return E.onload=()=>console.log(...ule(E,f,m)),E.src=A.toDataURL(),Vv}return Vv}function Uki(o){for(let A in o)for(let f in o[A])return f||"untitled";return"empty"}var X$i=new HQ({id:"@probe.gl/log"});var S2e=new HQ({id:"loaders.gl"}),cle=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},hle=class{constructor(){ho(this,"console",void 0),this.console=console}log(){for(var A=arguments.length,f=new Array(A),m=0;m<A;m++)f[m]=arguments[m];return this.console.log.bind(this.console,...f)}info(){for(var A=arguments.length,f=new Array(A),m=0;m<A;m++)f[m]=arguments[m];return this.console.info.bind(this.console,...f)}warn(){for(var A=arguments.length,f=new Array(A),m=0;m<A;m++)f[m]=arguments[m];return this.console.warn.bind(this.console,...f)}error(){for(var A=arguments.length,f=new Array(A),m=0;m<A;m++)f[m]=arguments[m];return this.console.error.bind(this.console,...f)}};var D2e={fetch:null,mimeType:void 0,nothrow:!1,log:new hle,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:uW,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},aht={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function T2e(){globalThis.loaders=globalThis.loaders||{};let{loaders:o}=globalThis;return o._state=o._state||{},o._state}var M2e=()=>{let o=T2e();return o.globalOptions=o.globalOptions||{...D2e},o.globalOptions};function uht(o,A,f,m){return f=f||[],f=Array.isArray(f)?f:[f],Gki(o,f),Vki(A,o,m)}function Gki(o,A){sht(o,null,D2e,aht,A);for(let f of A){let m=o&&o[f.id]||{},C=f.options&&f.options[f.id]||{},E=f.deprecatedOptions&&f.deprecatedOptions[f.id]||{};sht(m,f.id,C,E,A)}}function sht(o,A,f,m,C){let E=A||"Top level",x=A?"".concat(A,"."):"";for(let y in o){let I=!A&&Lk(o[y]),v=y==="baseUri"&&!A,B=y==="workerUrl"&&A;if(!(y in f)&&!v&&!B){if(y in m)S2e.warn("".concat(E," loader option '").concat(x).concat(y,"' no longer supported, use '").concat(m[y],"'"))();else if(!I){let Q=Hki(y,C);S2e.warn("".concat(E," loader option '").concat(x).concat(y,"' not recognized. ").concat(Q))()}}}}function Hki(o,A){let f=o.toLowerCase(),m="";for(let C of A)for(let E in C.options){if(o===E)return"Did you mean '".concat(C.id,".").concat(E,"'?");let x=E.toLowerCase();(f.startsWith(x)||x.startsWith(f))&&(m=m||"Did you mean '".concat(C.id,".").concat(E,"'?"))}return m}function Vki(o,A,f){let C={...o.options||{}};return zki(C,f),C.log===null&&(C.log=new cle),lht(C,M2e()),lht(C,A),C}function lht(o,A){for(let f in A)if(f in A){let m=A[f];B2e(m)&&B2e(o[f])?o[f]={...o[f],...A[f]}:o[f]=A[f]}}function zki(o,A){A&&!("baseUri"in o)&&(o.baseUri=A)}function gW(o){var A;return o?(Array.isArray(o)&&(o=o[0]),Array.isArray((A=o)===null||A===void 0?void 0:A.extensions)):!1}function P2e(o){var A,f;rle(o,"null loader"),rle(gW(o),"invalid loader");let m;return Array.isArray(o)&&(m=o[1],o=o[0],o={...o,options:{...o.options,...m}}),((A=o)!==null&&A!==void 0&&A.parseTextSync||(f=o)!==null&&f!==void 0&&f.parseText)&&(o.text=!0),o.text||(o.binary=!0),o}var Yki=()=>{let o=T2e();return o.loaderRegistry=o.loaderRegistry||[],o.loaderRegistry};function Aht(){return Yki()}var cht=new HQ({id:"loaders.gl"});var Jki=/\.([^.]+)$/;async function fht(o){let A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],f=arguments.length>2?arguments[2]:void 0,m=arguments.length>3?arguments[3]:void 0;if(!ght(o))return null;let C=hht(o,A,{...f,nothrow:!0},m);if(C)return C;if(Hv(o)&&(o=await o.slice(0,10).arrayBuffer(),C=hht(o,A,f,m)),!C&&!(f!=null&&f.nothrow))throw new Error(pht(o));return C}function hht(o){let A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],f=arguments.length>2?arguments[2]:void 0,m=arguments.length>3?arguments[3]:void 0;if(!ght(o))return null;if(A&&!Array.isArray(A))return P2e(A);let C=[];A&&(C=C.concat(A)),f!=null&&f.ignoreRegisteredLoaders||C.push(...Aht()),Wki(C);let E=Kki(o,C,f,m);if(!E&&!(f!=null&&f.nothrow))throw new Error(pht(o));return E}function Kki(o,A,f,m){let C=Fk(o),E=fW(o),x=MH(C)||m?.url,y=null,I="";if(f!=null&&f.mimeType&&(y=R2e(A,f?.mimeType),I="match forced by supplied MIME type ".concat(f?.mimeType)),y=y||jki(A,x),I=I||(y?"matched url ".concat(x):""),y=y||R2e(A,E),I=I||(y?"matched MIME type ".concat(E):""),y=y||Xki(A,o),I=I||(y?"matched initial data ".concat(mht(o)):""),y=y||R2e(A,f?.fallbackMimeType),I=I||(y?"matched fallback MIME type ".concat(E):""),I){var v;cht.log(1,"selectLoader selected ".concat((v=y)===null||v===void 0?void 0:v.name,": ").concat(I,"."))}return y}function ght(o){return!(o instanceof Response&&o.status===204)}function pht(o){let A=Fk(o),f=fW(o),m="No valid loader found (";m+=A?"".concat(Rk.filename(A),", "):"no url provided, ",m+="MIME type: ".concat(f?'"'.concat(f,'"'):"not provided",", ");let C=o?mht(o):"";return m+=C?' first bytes: "'.concat(C,'"'):"first bytes: not available",m+=")",m}function Wki(o){for(let A of o)P2e(A)}function jki(o,A){let f=A&&Jki.exec(A),m=f&&f[1];return m?qki(o,m):null}function qki(o,A){A=A.toLowerCase();for(let f of o)for(let m of f.extensions)if(m.toLowerCase()===A)return f;return null}function R2e(o,A){for(let f of o)if(f.mimeTypes&&f.mimeTypes.includes(A)||A==="application/x.".concat(f.id))return f;return null}function Xki(o,A){if(!A)return null;for(let f of o)if(typeof A=="string"){if(Zki(A,f))return f}else if(ArrayBuffer.isView(A)){if(dht(A.buffer,A.byteOffset,f))return f}else if(A instanceof ArrayBuffer&&dht(A,0,f))return f;return null}function Zki(o,A){return A.testText?A.testText(o):(Array.isArray(A.tests)?A.tests:[A.tests]).some(m=>o.startsWith(m))}function dht(o,A,f){return(Array.isArray(f.tests)?f.tests:[f.tests]).some(C=>$ki(o,A,f,C))}function $ki(o,A,f,m){if(m instanceof ArrayBuffer)return x2e(m,o,m.byteLength);switch(typeof m){case"function":return m(o,f);case"string":let C=L2e(o,A,m.length);return m===C;default:return!1}}function mht(o){let A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:5;return typeof o=="string"?o.slice(0,A):ArrayBuffer.isView(o)?L2e(o.buffer,o.byteOffset,A):o instanceof ArrayBuffer?L2e(o,0,A):""}function L2e(o,A,f){if(o.byteLength<A+f)return"";let m=new DataView(o),C="";for(let E=0;E<f;E++)C+=String.fromCharCode(m.getUint8(A+E));return C}function*Cht(o,A){let f=A?.chunkSize||262144,m=0,C=new TextEncoder;for(;m<o.length;){let E=Math.min(o.length-m,f),x=o.slice(m,m+E);m+=E,yield C.encode(x)}}function Eht(o){let A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return function*(){let{chunkSize:f=262144}=A,m=0;for(;m<o.byteLength;){let C=Math.min(o.byteLength-m,f),E=new ArrayBuffer(C),x=new Uint8Array(o,m,C);new Uint8Array(E).set(x),m+=C,yield E}}()}async function*xht(o,A){let f=A?.chunkSize||1048576,m=0;for(;m<o.size;){let C=m+f,E=await o.slice(m,C).arrayBuffer();m=C,yield E}}function F2e(o,A){return uW?eOi(o,A):tOi(o,A)}async function*eOi(o,A){let f=o.getReader(),m;try{for(;;){let C=m||f.read();A!=null&&A._streamReadAhead&&(m=f.read());let{done:E,value:x}=await C;if(E)return;yield nle(x)}}catch{f.releaseLock()}}async function*tOi(o,A){for await(let f of o)yield nle(f)}function yht(o,A){if(typeof o=="string")return Cht(o,A);if(o instanceof ArrayBuffer)return Eht(o,A);if(Hv(o))return xht(o,A);if(ole(o))return F2e(o,A);if(Gv(o))return F2e(o.body,A);throw new Error("makeIterator")}var Iht="Cannot convert supplied data type";function iOi(o,A,f){if(A.text&&typeof o=="string")return o;if(Yct(o)&&(o=o.buffer),o instanceof ArrayBuffer){let m=o;return A.text&&!A.binary?new TextDecoder("utf8").decode(m):m}if(ArrayBuffer.isView(o)){if(A.text&&!A.binary)return new TextDecoder("utf8").decode(o);let m=o.buffer,C=o.byteLength||o.length;return(o.byteOffset!==0||C!==m.byteLength)&&(m=m.slice(o.byteOffset,o.byteOffset+C)),m}throw new Error(Iht)}async function _ht(o,A,f){let m=o instanceof ArrayBuffer||ArrayBuffer.isView(o);if(typeof o=="string"||m)return iOi(o,A,f);if(Hv(o)&&(o=await ale(o)),Gv(o)){let C=o;return await qct(C),A.binary?await C.arrayBuffer():await C.text()}if(ole(o)&&(o=yht(o,f)),Vct(o)||zct(o))return I2e(o);throw new Error(Iht)}function dle(o,A){let f=M2e(),m=o||f;return typeof m.fetch=="function"?m.fetch:Lk(m.fetch)?C=>b2e(C,m):A!=null&&A.fetch?A?.fetch:b2e}function vht(o,A,f){if(f)return f;let m={fetch:dle(A,o),...o};if(m.url){let C=MH(m.url);m.baseUrl=C,m.queryString=Wct(m.url),m.filename=Rk.filename(C),m.baseUrl=Rk.dirname(C)}return Array.isArray(m.loaders)||(m.loaders=null),m}function Bht(o,A){if(!A&&o&&!Array.isArray(o))return o;let f;if(o&&(f=Array.isArray(o)?o:[o]),A&&A.loaders){let m=Array.isArray(A.loaders)?A.loaders:[A.loaders];f=f?[...f,...m]:m}return f&&f.length?f:null}async function fle(o,A,f,m){SC(!m||typeof m=="object"),A&&!Array.isArray(A)&&!gW(A)&&(m=void 0,f=A,A=void 0),o=await o,f=f||{};let C=Fk(o),x=Bht(A,m),y=await fht(o,x,f);return y?(f=uht(f,y,x,C),m=vht({url:C,parse:fle,loaders:x},f,m||null),await rOi(y,o,f,m)):null}async function rOi(o,A,f,m){if(m2e(o),Gv(A)){let C=A,{ok:E,redirected:x,status:y,statusText:I,type:v,url:B}=C,Q=Object.fromEntries(C.headers.entries());m.response={headers:Q,ok:E,redirected:x,status:y,statusText:I,type:v,url:B}}if(A=await _ht(A,o,f),o.parseTextSync&&typeof A=="string")return f.dataType="text",o.parseTextSync(A,f,m,o);if(C2e(o,f))return await E2e(o,A,f,m,fle);if(o.parseText&&typeof A=="string")return await o.parseText(A,f,m,o);if(o.parse)return await o.parse(A,f,m,o);throw SC(!o.parseSync),new Error("".concat(o.id," loader - no parser found and worker is disabled"))}async function N2e(o,A,f,m){!Array.isArray(A)&&!gW(A)&&(m=void 0,f=A,A=void 0);let C=dle(f),E=o;return typeof o=="string"&&(E=await C(o)),Hv(o)&&(E=await C(o)),await fle(E,A,f)}var gtr=window.encodeURIComponent("{x}"),ptr=window.encodeURIComponent("{y}"),mtr=window.encodeURIComponent("{z}"),nOi="{x}",oOi="{y}",wht="{-y}",aOi="{z}",bht=`in vec3 position3DHigh;\r in vec3 position3DLow;\r in vec3 normal;\r in vec2 st;\r in vec4 color;\r in float batchId;\r out vec3 v_positionEC;\r out vec3 v_normalEC;\r out vec2 v_st;\r out vec4 v_color;\r void main()\r {\r vec4 p = czm_computePosition();\r v_positionEC = (czm_modelViewRelativeToEye * p).xyz;\r v_normalEC = czm_normal * normal;\r v_st = st;\r v_color = color;\r gl_Position = czm_modelViewProjectionRelativeToEye * p;\r }\r `,sOi=`in vec3 v_positionEC;\r in vec3 v_normalEC;\r in vec2 v_st;\r in vec4 v_color;\r \r vec4 czm_phong(vec3 toEye, czm_material material)\r {\r float diffuse = czm_private_getLambertDiffuseOfMaterial(vec3(0.0, 0.0, 1.0), material);\r if (czm_sceneMode == czm_sceneMode3D) {\r diffuse += czm_private_getLambertDiffuseOfMaterial(vec3(0.0, 1.0, 0.0), material);\r }\r float specular = czm_private_getSpecularOfMaterial(czm_sunDirectionEC, toEye, material) + czm_private_getSpecularOfMaterial(czm_moonDirectionEC, toEye, material);\r vec3 materialDiffuse = material.diffuse * 0.5;\r vec3 ambient = materialDiffuse;\r vec3 color = ambient + material.emission;\r color += materialDiffuse * diffuse;\r color += material.specular * specular;\r return vec4(color, material.alpha);\r }void main()\r {\r vec3 positionToEyeEC = -v_positionEC;\r vec3 normalEC = normalize(v_normalEC);\r #ifdef FACE_FORWARD\r normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\r #endif\r vec4 color = czm_gammaCorrect(v_color);\r czm_materialInput materialInput;\r materialInput.normalEC = normalEC;\r materialInput.positionToEyeEC = positionToEyeEC;\r materialInput.st = v_st;\r czm_material material = czm_getDefaultMaterial(materialInput);\r material.diffuse = color.rgb;\r material.alpha = color.a;\r #ifdef FLAT\r out_FragColor = vec4(material.diffuse + material.emission, material.alpha);\r #else\r out_FragColor = czm_phong(normalize(positionToEyeEC), material);\r #endif\r }\r `;function VQ(){this._spatialTransfrom=new gK,this._primitiveCollection=new X_({})}Object.defineProperties(VQ.prototype,{primitiveCollection:{get:function(){return this._primitiveCollection}}});VQ.prototype.update=function(o){this.primitiveCollection.update(o)};VQ.prototype.processMVT=async function(o,A,f,m){if(o.level>=f.minimumLevel&&o.level<f.maximumLevel&&f.show){let C=f.url.replace(nOi,o.x).replace(oOi,o.reverseY||o.y).replace(aOi,o.level),E=o.y;C.indexOf(wht)!==-1&&(E=f._tilingScheme.getNumberOfYTilesAtLevel(o.level)-o.y-1,C=C.replace(wht,E));let x={CDN:!1,mvt:{workerUrl:ja("ThirdParty/Workers/mvt-worker.js"),layers:f.layers,coordinates:"wgs84",tileIndex:{x:o.x,y:o.y,z:o.level}}};try{let I=await N2e(C,h2e,x);for(let v of I){if(f.layerType==="point"){if(v.geometry.type!=="Point")continue;await lOi(o.data,f,v)}else if(f.layerType==="polyline"){if(v.geometry.type!=="LineString"&&v.geometry.type!=="MultiLineString")continue;uOi(o.data,f,v)}else if(f.layerType==="polygon"){if(v.geometry.type!=="Polygon"&&v.geometry.type!=="MultiPolygon")continue;AOi(o.data,f,v)}else continue;O(v.properties)?O(f._layerNameKey)&&O(v.properties[f._layerNameKey])&&f._loadLayerNames.add(v.properties[f._layerNameKey]):console.log(`${v}\u6CA1\u6709\u5C5E\u6027`)}}catch(I){console.log(I)}m.find(I=>I._guid===o.data.primitiveCollection._guid)||m.push(o.data.primitiveCollection),o.state=Hh.DONE,o.renderable=!0}else o.state=Hh.DONE,o.renderable=!0};VQ.prototype.freeResources=function(){this.primitiveCollection.removeAll()};VQ.freePrimitives=function(o){O(o)&&O(o.removeAll)&&o.removeAll()};async function lOi(o,A,f){if(O(f.properties)&&O(A._modelKey)&&O(f.properties[A._modelKey])){let m=A._constructorOptions;m.url=f.properties[A._modelKey],m.id=`[${f.properties[A._layerNameKey]}]-[${f.id}]`;let C=A._heightKey?f.properties[A._heightKey]:0,E=A._headingKey?f.properties[A._headingKey]:0,x=A._pitchKey?f.properties[A._pitchKey]:0,y=A._rollKey?f.properties[A._rollKey]:0,I=f.geometry.coordinates[0],v=f.geometry.coordinates[1];A._coordinates==="radians"&&(I=Be.toDegrees(I),v=Be.toDegrees(v)),o._spatialTransfrom.createFromWgs84(I,v,C,E,x,y);try{m.modelMatrix=Re.clone(o._spatialTransfrom.modelMatrix);let B=await mp.fromGltfAsync(m);o.primitiveCollection.add(B)}catch(B){console.log(`failed to load model ${m.url} ,${B}`)}}}function uOi(o,A,f,m){if(O(f.properties)){let C=A._constructorOptions,E=oe(C.lineHeight,0),x=A._colorKey?f.properties[A._colorKey]:"#ffffff";O(x)?C.material=Ve.fromCssColorString(x):C.material=Ve.WHITE;let y=A._clampKey?f.properties[A._clampKey]:C.clampToGround,I=y&&A._heightKey?f.properties[A._heightKey]:E,v=A._lineTypeKey?f.properties[A._lineTypeKey]:"polyline",B=A._lineWidthKey?f.properties[A._lineWidthKey]:1,Q=[],T=[];k2e(f.geometry.coordinates,A._unit==="radians",Q);for(let D=0;D<Q.length;D+=2){let R=Q[D],P=Q[D+1];T.push(Z.fromDegrees(R,P,I))}C.width=B,v==="polylineDash"&&(C.dash=!0),C.positions=T;let w=`[${f.properties[A._layerNameKey]}]-[${f.id}]`,S;if(C.dash?S=new ip({material:go.fromType(go.PolylineDashType,{color:C.material,gapColor:C.gapColor||Ve.TRANSPARENT,dashLength:C.dashLength||20})}):S=new ip({material:go.fromType(go.PolylineOutlineType,{color:C.material,outlineColor:C.outlineColor,outlineWidth:C.outlineWidth})}),y){let D=new uG(C),R=new kn({id:w,geometry:D,attributes:{color:new _o.fromColor(C.material)}}),P=new aR({id:w,geometryInstances:R,appearance:S});o.primitiveCollection.add(P)}else try{let D=new iI(C),R=new kn({id:w,geometry:D,attributes:{color:new _o.fromColor(C.material)}}),P=new ra({geometryInstances:R,appearance:S});o.primitiveCollection.add(P)}catch(D){console.log(D)}}}function AOi(o,A,f){if(O(f.properties)){let m=A._constructorOptions,C=A._colorKey?f.properties[A._colorKey]:void 0;O(C)?m.material=Ve.fromCssColorString(C):m.material=Ve.WHITE;let E=`[${f.properties[A._layerNameKey]}]-[${f.id}]`,x=A._extrudedHeightKey?f.properties[A._extrudedHeightKey]:void 0;O(x)&&(m.extrudedHeight=x);let y=[];k2e(f.geometry.coordinates,A._coordinates==="radians",y),m.polygonHierarchy=new yn(Z.fromDegreesArray(y));let I=new mA(m),v=new kn({id:E,geometry:I,attributes:{color:new _o.fromColor(m.material)}}),B;O(m.extrudedHeight)?B=new La({translucent:!1,vertexShaderSource:bht,fragmentShaderSource:sOi}):B=new La({translucent:!0,vertexShaderSource:bht});let Q=new ra({geometryInstances:v,appearance:B});o.primitiveCollection.add(Q)}}function k2e(o,A,f){for(let m=0;m<o.length;m++)Array.isArray(o[m])?k2e(o[m],A,f):f.push(A?Be.toDegrees(o[m]):o[m]);return f}VQ.processStateMachine=function(o,A,f,m){VQ.initialize(o,A,f),o.data.processMVT(o,A,f,m)};VQ.initialize=function(o,A,f){let m=o.data;O(m)||(m=o.data=new VQ),o.state===Hh.START&&(o.state=Hh.LOADING)};var O2e=VQ;var cOi=new gi;function cm(o){o=oe(o,oe.EMPTY_OBJECT),this._tilingScheme=oe(o.tilingScheme,new th),this._quadtree=void 0,this._mvtLayer=void 0,this._normalTile=16,this._levelZeroMaximumError=KJ.computeDefaultLevelZeroMaximumGeometricError(this._tilingScheme),this.cartographicLimitRectangle=gi.clone(gi.MAX_VALUE),this._clippingPlanes=void 0,this._primitivesToDestroy=[]}Object.setPrototypeOf(cm.prototype,KJ.prototype);Object.defineProperties(cm.prototype,{ready:{get:function(){return!0}},tilingScheme:{get:function(){return this._tilingScheme}},quadtree:{get:function(){return this._quadtree},set:function(o){this._quadtree=o}}});cm.prototype.initialize=function(o){};cm.prototype.canRefine=function(o,A){return o.level<=this._normalTile+1};cm.prototype.update=function(o){if(!(!O(this._mvtLayer)||!this._mvtLayer.show)&&(this._quadtree.beginFrame(o),this._quadtree.render(o),this._quadtree.endFrame(o),this._quadtree._tilesToRender))for(let A=0,f=this._quadtree._tilesToRender.length,m;A<f;A++)m=this._quadtree._tilesToRender[A],m.data&&m.data.update(o)};cm.prototype.updateForPick=function(o){};cm.prototype.loadTile=function(o,A){A.state===Hh.START&&O2e.processStateMachine(A,o,this._mvtLayer,this._primitivesToDestroy)};cm.prototype.beginUpdate=function(o){};cm.prototype.endUpdate=function(o){};cm.prototype.getLevelMaximumGeometricError=function(o){return this._levelZeroMaximumError/(1<<o)};cm.prototype.computeTileVisibility=function(o,A,f){let m=this.computeDistanceToTile(o,A);if(o._distance=m,A.fog.enabled&&Be.fog(m,A.fog.density)>=1)return rA.NONE;let C=o.data,E=C.tileBoundingRegion;if(C.boundingVolumeSourceTile===void 0)return rA.PARTIAL;let x=A.cullingVolume,y=C.orientedBoundingBox;y||(y=E.boundingSphere),C.clippedByBoundaries=!1;let I=gOi(o.rectangle,this.cartographicLimitRectangle),v=gi.simpleIntersection(I,o.rectangle,cOi);if(!v)return rA.NONE;if(gi.equals(v,o.rectangle)||(C.clippedByBoundaries=!0),!y)return rA.PARTIAL;let B=this._clippingPlanes;B&&B.enabled;let Q,T=x.computeVisibility(y);if(T===sa.OUTSIDE?Q=rA.NONE:T===sa.INTERSECTING?Q=rA.PARTIAL:T===sa.INSIDE&&(Q=rA.FULL),Q===rA.NONE)return Q;let w=A.mode===ni.SCENE3D&&A.camera.frustum instanceof us;if(A.mode===ni.SCENE3D&&!w&&O(f)){let S=C.occludeePointInScaledSpace;return!S||f.ellipsoid.isScaledSpacePointVisible(S)?Q:rA.NONE}return Q};cm.prototype.computeTileLoadPriority=function(o,A){return 0};cm.prototype.showTileThisFrame=function(o,A){};cm.prototype.computeDistanceToTile=function(o,A){let f=mOi(this._mvtLayer,o,this._maximumHeight,this._minimumHeight),m=o.data,C=m.tileBoundingRegion;if(O(f)){if(m.boundingVolumeSourceTile!==f){m.boundingVolumeSourceTile=f;let I=o.rectangle;I&&I.width<Be.PI_OVER_TWO+Be.EPSILON5&&(m.orientedBoundingBox=Lu.fromRectangle(o.rectangle,C.minimumHeight,C.maximumHeight,o.tilingScheme.ellipsoid,m.orientedBoundingBox),m.occludeePointInScaledSpace=pOi(this,m.orientedBoundingBox.center,o.rectangle,C.maximumHeight,m.occludeePointInScaledSpace))}}else return 9999999999;let E=C.minimumHeight,x=C.maximumHeight;if(m.boundingVolumeSourceTile!==o){let I=A.camera.positionCartographic.height,v=Be.abs(I-E),B=Be.abs(I-x);v>B?(C.minimumHeight=E,C.maximumHeight=E):(C.minimumHeight=x,C.maximumHeight=x)}let y=C.distanceToCamera(A);return C.minimumHeight=E,C.maximumHeight=x,y};cm.prototype.isDestroyed=function(){console.log("MVTTileProvider isDestroyed!!!")};cm.prototype.destroy=function(){console.log("MVTTileProvider destroy!!!")};var hOi=new gi,dOi=new gi,fOi=[new Z,new Z,new Z,new Z];function gOi(o,A){if(A.west<A.east)return A;let f=gi.clone(A,hOi);return gi.center(o,dOi).longitude>0?f.east=Be.PI:f.west=-Be.PI,f}function pOi(o,A,f,m,C){let E=o.quadtree._occluders.ellipsoid,x=E.ellipsoid,y=fOi;return Z.fromRadians(f.west,f.south,m,x,y[0]),Z.fromRadians(f.east,f.south,m,x,y[1]),Z.fromRadians(f.west,f.north,m,x,y[2]),Z.fromRadians(f.east,f.north,m,x,y[3]),E.computeHorizonCullingPoint(A,y,C)}function mOi(o,A,f,m){let C=A.data;O(C)||(C=A.data=new O2e),A._minimumHeight&&(m=A._minimumHeight),A._maximumHeight&&(f=A._maximumHeight);let E=A.tilingScheme.ellipsoid;return O(C.tileBoundingRegion)||(C.tileBoundingRegion=new LD({computeBoundingVolumes:!1,rectangle:A.rectangle,ellipsoid:E,minimumHeight:m||0,maximumHeight:f||0})),A}var Qht=cm;function FH(o,A){if(!O(o))throw new Ai("viewer \u5FC5\u9700\u4F20\u503C");if(this._viewer=o,A=oe(A,oe.EMPTY_OBJECT),!O(A.url))throw new Ai("options.url \u5FC5\u9700\u4F20\u503C");this._tilingScheme=oe(A.tilingScheme,new Zf),this._url=A.url,this._minimumLevel=oe(A.minimumLevel,0),this._maximumLevel=oe(A.maximumLevel,Number.POSITIVE_INFINITY),this._layers=oe(A.layers,void 0),this._layerType=oe(A.type,"point"),this._unit=oe(A.unit,"degrees"),this._layerNameKey=oe(A.layerNameKey,void 0),this._modelKey=oe(A.modelKey,void 0),this._extrudedHeightKey=oe(A.extrudedHeightKey,void 0),this._clampKey=oe(A.clampKey,void 0),this._colorKey=oe(A.colorKey,void 0),this._heightKey=oe(A.heightKey,void 0),this._headingKey=oe(A.headingKey,void 0),this._pitchKey=oe(A.pitchKey,void 0),this._rollKey=oe(A.rollKey,void 0),this._lineWidthKey=oe(A.lineWidthKey,void 0),this._lineTypeKey=oe(A.lineTypeKey,void 0),this._tileProvider=new Qht({tilingScheme:this._tilingScheme,minimumLevel:this._minimumLevel,maximumLevel:this._maximumLevel}),this._tileProvider._mvtLayer=this,this._quadtreePrimitive=new Fw({tileProvider:this._tileProvider}),this._show=oe(A.show,!0),this._loadLayerNames=new Set,this._constructorOptions=oe(A.constructorOptions,oe.EMPTY_OBJECT)}Object.defineProperties(FH.prototype,{show:{get:function(){return this._show},set:function(o){this._show=o}},quadtreePrimitive:{get:function(){return this._quadtreePrimitive}},minimumLevel:{get:function(){return this._minimumLevel},set:function(o){this._minimumLevel=o}},maximumLevel:{get:function(){return this._maximumLevel},set:function(o){this._maximumLevel=o}},url:{get:function(){return this._url}},layers:{get:function(){return this._layers}},layerType:{get:function(){return this._layerType}}});FH.prototype.addToMap=function(){this._viewer.scene.primitives.add(this._quadtreePrimitive)};FH.prototype.addSurfaceTile=function(o){};FH.prototype.removeFromMap=function(){this._viewer.scene.primitives.remove(this._quadtreePrimitive)};FH.prototype.getLoadLayerNames=function(){return Array.from(this._loadLayerNames)};var Sht=FH;function gle(o,A,f){return this.earthCtrl=o,this.Viewer=A,this}gle.prototype.showGraticules=function(o){this.graticules&&(this.graticules.enabled=o)};gle.prototype.update=function(){let o=this;this.Viewer.scene.preUpdate.addEventListener(function(){o.graticules.update()})};gle.prototype.createGraticules=function(o){return this.graticules=new vie(this.Viewer,{lineColor:Ve.PALEGREEN,fontColor:Ve.PALEGREEN}),this.update(),this};var Dht=gle;function U2e(o,A,f){return this.earthCtrl=o,this.Viewer=A,this.material=null,this.clipPlane=null,this}U2e.prototype.showContourLabel=function(o){this.material&&this.clipPlane&&(o?(this.Viewer.scene.globe.clipPlanes=this.clipPlane,this.Viewer.scene.globe.material=this.material):(this.Viewer.scene.globe.clipPlanes=[],this.Viewer.scene.globe.material=null))};U2e.prototype.createContourLabel=function(o){o||(o={});let A=o.contourSpacing||500,f=o.contourWidth||1,m=o.contourColor||new Ve(0,1,0,1),C=o.minHeight||-1e3,E=o.maxHeight||8848,x=o.font||"Arial",y=o.fontSize||20,I=o.fontColor||"#5151F1",v=o.minShowLevel||10,B=go.fromType("ElevationContour"),Q=B.uniforms;Q.width=f,Q.spacing=A,Q.color=m,this.material=B;let T=[];for(let w=C;w<E;w+=A)T.push({plane:new ca(new Z(0,0,-1),w),font:x,fontSize:y,fontColor:I,minShowLevel:v});return this.clipPlane=T,this};var Tht=U2e;function G2e(o,A,f){return this.earthCtrl=o,this.Viewer=A,this}G2e.prototype.createRegionWeather=function(o){if(!o||!o.position||!o.radius)return this;let A=o.position,f=o.radius,m=o.primitive;return this.regionWeather=new zne(this.Viewer.scene,m,A,f),this};Object.defineProperties(G2e.prototype,{enableWeatherType:{set:function(o){O(this.regionWeather)&&(this.regionWeather.enableWeatherType=o)}},fogHeight:{set:function(o){O(this.regionWeather)&&(this.regionWeather.fogHeight=o)}},regionAlpha:{set:function(o){O(this.regionWeather)&&(this.regionWeather.regionAlpha=o)}},regionGradientDistance:{set:function(o){O(this.regionWeather)&&(this.regionWeather.regionGradientDistance=o)}}});var Mht=G2e;function jr(o){this._earthCtrl=o,this._coreMap=o.coreMap,this._SimpleGraphic=new fH(this._coreMap,Di),this._straightArrow=new ase(this._coreMap,Di),this._popupmessage=new kI(this._coreMap,Di),this._createdynamicObject=new NR(this._coreMap,Di),this._skyBox=new hse(this._coreMap,Di),this._screenshot=new gse(this._earthCtrl.viewer,Di)}function DC(){return((1+Be.nextRandomNumber())*65536|0).toString(16).substring(1)}jr.createUUID=function(){return`${DC()+DC()}-${DC()}-${DC()}-${DC()}-${DC()}${DC()}${DC()}`};jr.createUUIDWithoutDash=function(){return DC()+DC()+DC()+DC()+DC()+DC()+DC()+DC()};jr.prototype.createUUID=function(){return jr.createUUID()};jr.prototype.createGroup=function(o){let A=new G8;return A.id=o.id||jr.createUUID(),A.name=o.name||"\u672A\u547D\u540D\u7EC4",A};jr.prototype.createImageryLayer=function(o,A){let f=new jTe(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),oe(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.IMAGERYPROVIDERS),f),f};jr.prototype.updateImageryLayer=function(o={}){let A=this._earthCtrl.imageryLayers,f=oe(o.layerIndex,-1);if(o.layerIndex&&A.get(f)){let m=A.get(f);typeof o.show=="boolean"&&(m.show=o.show),typeof o.removeFromMap=="boolean"&&o.removeFromMap&&(A.remove(m),m=void 0),m&&o.newIndex&&Number(o.newIndex)>=0&&Number(o.newIndex)<=A.length?(A.remove(m,!1),A.add(m,o.newIndex)):(typeof o.newIndex!="number"||Number(o.newIndex)<0||Number(o.newIndex)>A.length)&&console.log("\u6307\u5B9A\u4F4D\u7F6E\u4E0D\u5728\u8303\u56F4\u5185\uFF01")}return A};jr.prototype.createTerrainLayer=function(o,A){let f=new qTe(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),oe(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.TERRAINPROVIDERS),f),f};jr.prototype.createCustomMVTLayer=function(o){let A=new Sht(this._earthCtrl.coreMap,o);return A.addToMap(),A};jr.prototype.removeTerrainLayer=function(o){this._coreMap.terrainProvider=new yT({})};jr.prototype.createFeatureLayer=function(o,A){let f=new ZTe(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),oe(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.FEATURELAYERS),f),f};jr.prototype.createVectorTileLayer=function(o){return{point:(v,B,Q,T,w)=>new Ec(this._coreMap,Di).createPointGeoJsonFeatureLayerProvider(v,B,Q,T,w),label:(v,B,Q,T,w)=>new bC(this._coreMap,Di).createLabelImageGeoJsonFeatureLayerProvider(v,B,Q,T,w),model:(v,B,Q,T,w)=>new Ec(this._coreMap,Di).createModelGeoJsonFeatureLayerProvider(v,B,Q,T,w),polyline:(v,B,Q,T,w)=>new YT(this._coreMap,Di).createPolylineVectorGeoJsonFeatureLayerProvider(v,B,Q,T,w),polygon:(v,B,Q,T,w)=>new Ec(this._coreMap,Di).VolumeVectorGeoJsonFeatureLayerOptimization(v,B,Q,T,w),histogram:(v,B,Q,T,w)=>new Ec(this._coreMap,Di).createHistogramVectorGeoJsonFeatureLayer(v,B,Q,T,w)}[o.type](o.name,o.geoOptions,o.styleOption,o.checked,o.disFnc)};jr.prototype.createWfsLayer=function(o,A){return new aDe(this._coreMap,Di).CreateWfs(o,A)};jr.prototype.createGeoWTFS=function(o,A){return this._TdtLabel||(this._TdtLabel=new tse(this._coreMap,o)),this._TdtLabel.GeoWTFS(A)};jr.prototype.createCzml=function(o,A,f){return new nse(this._coreMap,Di).addCZML(o,A,f)};jr.prototype.createPolygonVideo=function(o,A,f,m){this.commandExecute(o,A,f,m)};jr.prototype.commandExecute=function(o,A,f,m){this._Command||(this._Command=new Sut(this._coreMap,Di)),this._Command.execute(o,A,f,m)};jr.prototype.createVideo3D=function(o){return new lse(this._coreMap,Di).Video3D(o)};jr.prototype.createParticleEffect=function(o,A,f,m){let C=new use(o,this._coreMap,Di);return!this._Particle&&(this._Particle={}),!this._Particle[o]&&(this._Particle[o]=[]),this._Particle[o].push(C),C.createParticleEffect(A,f,m)};jr.prototype.addViewCone=function(o){return new YR(this._coreMap,Di).addViewCone(o)};jr.prototype.createViewCone=function(o,A){return new YR(this._coreMap,Di).createViewCone(o,A)};jr.prototype.createConeRadar=function(o,A){return new yp(this._coreMap,Di).createConeRadar(o,A)};jr.prototype.createCloudMap=function(o,A,f,m){return new Fg(this._coreMap,Di).createCloudMap(o,A,f,m)};jr.prototype.createTrafficLight=function(o){return this._TrafficLight||(this._TrafficLight=new dse(this._coreMap,Di)),this._TrafficLight.add(o)};jr.prototype.createFieldIntensity=function(o,A){return new fse(this._coreMap,Di).create(o,A)};jr.prototype.createPolylineVolumeLayer=function(o,A,f,m,C,E){return new Rc(this._coreMap,Di).createpolylineVolumeGeojsonPrimitiveLayer(o,A,f,m,C,E)};jr.prototype.createModelLayer=function(o,A){let f=new XTe(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),oe(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.MODELLAYERS),f),f};jr.prototype.create3DTilesets=function(o,A){let m=new Xw(this._coreMap,Di).create3DTilesets(o.name,o.url,o.option||{},o.style||{},o.GroupID,oe(o.checked,!0),o.success);return m.item.readyPromise&&m.item.readyPromise.catch(function(C){o.fail&&typeof o.fail=="function"&&o.fail(C)}),m.id=oe(o.id,this._earthCtrl.factory.createUUID()),A?this._earthCtrl.userScene.addChild(A,m):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.MODELLAYERS),m),m};jr.prototype.createWfsModel=function(o,A){let f=new xG(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),oe(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.MODELLAYERS),f),f};jr.prototype.createModel=function(o,A){let f=new kTe(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),oe(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),f),f};jr.prototype.removeModel=function(o){O(o)&&o.removeFromMap()};jr.prototype.createCZMLObject=function(o,A){let f=this,m=oe(o.addToMap,!0),C=new rJ(o.name);return C.load(o.url),m&&f._earthCtrl.dataSources.add(C),C.id=oe(o.id,this._earthCtrl.factory.createUUID()),A?this._earthCtrl.userScene.addChild(A,C):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),C),C};jr.prototype.createObj=function(o={}){let A=new Fut(this._earthCtrl,o);return A.name=o.name,A.id=oe(o.id,this._earthCtrl.factory.createUUID()),o.parentNode?this._earthCtrl.userScene.addChild(o.parentNode,A):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),A),A};jr.prototype.createFBX=function(o={}){let A=new Nut(this._earthCtrl,o);return A.name=o.name,A.id=oe(o.id,this._earthCtrl.factory.createUUID()),o.parentNode?this._earthCtrl.userScene.addChild(o.parentNode,A):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),A),A};jr.prototype.createClippingBox=function(o){let A=new Lut(this._earthCtrl,o);return A.name=o.name,A.id=oe(o.id,this._earthCtrl.factory.createUUID()),A};jr.prototype.createElement=function(o){let A={};return A[o.type]=o.parameters,O(o.name)&&(A.name=o.name),O(o.position)&&(A.position=o.position),this._earthCtrl.entities.add(A)};jr.prototype.removeElement=function(o){O(o)?this._earthCtrl.entities.remove(o):this._earthCtrl.entities.removeAll()};jr.prototype.createVideoProjection=function(o,A){o.addToMap=oe(o.addToMap,!0);let f=oe(o.sourceType,"perspective"),m=null;return f==="perspective"?(m=new STe(this._earthCtrl,o),m.initialize(o),m.name=o.name,A?this._earthCtrl.userScene.addChild(A,m):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),m)):f==="panorama"?(m=new plt(this._earthCtrl,o),m.initialize(o),m.name=o.name,m.id=oe(o.id,this._earthCtrl.factory.createUUID()),A?this._earthCtrl.userScene.addChild(A,m):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),m)):f==="fisheye"&&(m=new DTe(this._earthCtrl,o),m.initialize(o),m.name=o.name,m.id=oe(o.id,this._earthCtrl.factory.createUUID()),A?this._earthCtrl.userScene.addChild(A,m):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),m)),m};jr.prototype.createTrack=function(o,A){let f=new mlt(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),f.initialize(o),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),f),f};jr.prototype.createSceneNode=function(o,A,f){let m=new G8(this._earthCtrl);return m.id=o,m.name=A,m.label=f,m};jr.prototype.createFire=function(o,A){let f=new TTe(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),oe(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),f),f};jr.prototype.createSmoke=function(o,A){let f=new MTe(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),oe(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),f),f};jr.prototype.createExplosion=function(o,A){let f=new PTe(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),oe(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),f),f};jr.prototype.createFireworks=function(o,A){let f=new RTe(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),oe(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),f),f};jr.prototype.createRadarScan=function(o,A){let f=new LTe(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),f.show=!0,A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),f),f};jr.prototype.createCircleScan=function(o,A){let f=new Blt(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),f.show=!0,A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),f),f};jr.prototype.createUpDownScan=function(o){let A=new blt(this._earthCtrl,o);return A.show=!0,A};jr.prototype.createWaters=function(o,A){let f=new eMe(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),oe(o.addToMap,!0)&&f.addToMap(),f.show=!0,A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),f),f};jr.prototype.createHeatMap=function(o,A){return new Ase(this._coreMap,Di).addHeatMap(o,A)};jr.prototype.createWindField=function(o,A){let f=new klt(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),f),f};jr.prototype.createOceanField=function(o,A){let f=new eut(this._coreMap);return f.createField(o,function(){}),f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),f),f};jr.prototype.createLabel=function(o,A){let f=new OTe(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),oe(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),f),f};jr.prototype.createBillboard=function(o,A){let f=new NTe(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),oe(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),f),f};jr.prototype.createPolyline=function(o,A){let f=new UTe(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),oe(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),f),f};jr.prototype.createWall=function(o,A){let f=new nut(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),oe(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),f),f};jr.prototype.createCorridor=function(o,A){let f=new out(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),oe(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),f),f};jr.prototype.createPolygon=function(o,A){let f=new GTe(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),oe(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),f),f};jr.prototype.createPoint=function(o,A){let f=new HTe(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),oe(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),f),f};jr.prototype.createBox=function(o,A){let f=new VTe(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),oe(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),f),f};jr.prototype.createEllipsoid=function(o,A){let f=new YTe(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),oe(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),f),f};jr.prototype.createCylinder=function(o,A){let f=new zTe(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),oe(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),f),f};jr.prototype.createRectangle=function(o,A){let f=new JTe(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),oe(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),f),f};jr.prototype.createEllipse=function(o,A){let f=new KTe(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),oe(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),f),f};jr.prototype.createPolylineVolume=function(o,A){let f=new WTe(this._earthCtrl,o);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),oe(o.addToMap,!0)&&f.addToMap(),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),f),f};jr.prototype.createEChartLayer=function(o,A){let f=new $Te(this._earthCtrl);return f.name=o.name,f.id=oe(o.id,this._earthCtrl.factory.createUUID()),oe(o.addToMap,!0)&&f.addToMap(o),A?this._earthCtrl.userScene.addChild(A,f):this._earthCtrl.userScene.addChild(this._earthCtrl.userScene.rootNode.getChildByName(ts.USERSCENE),f),f};jr.prototype.createPointLight=function(o){let A=new Qlt(this._earthCtrl,o);return A.name=o.name,A.id=oe(o.id,this._earthCtrl.factory.createUUID()),A};jr.prototype.createHawkeye=function(o){let A=new iMe(this._earthCtrl,o);return A.name=o.name,A.id=oe(o.id,this._earthCtrl.factory.createUUID()),oe(o.addToMap,!0)&&A.addToMap(o),A};jr.prototype.createSpotLight=function(o){let A=new rMe(this._coreMap,o.entities,o.lights);return A.name=o.name,A.id=oe(o.id,this._earthCtrl.factory.createUUID()),A};jr.prototype.createCustomShaderManager=function(o){let A=new Rlt;return A.name=oe(o.name,null),A.id=oe(o.id,this._earthCtrl.factory.createUUID()),A};jr.prototype.createCustomShaderStage=function(o){let A=new Llt(this._earthCtrl,o);return A.name=oe(o.name,null),A.id=oe(o.id,this._earthCtrl.factory.createUUID()),A};jr.prototype.createModelOutline=function(o={}){let A=new Flt(this._earthCtrl,o);return A.name=oe(o.name,null),A.id=oe(o.id,this._earthCtrl.factory.createUUID()),A};jr.prototype.modelClick=function(o={}){let A=new Nlt(this._earthCtrl,o);return A.name=oe(o.name,null),A.id=oe(o.id,this._earthCtrl.factory.createUUID()),A};jr.prototype.createDivPoint=function(o,A,f={}){let m=new lH(this._coreMap,Di);return m.id=oe(f.id,this._earthCtrl.factory.createUUID()),m.createDivPoint(o,A,f)};jr.prototype.createRichTextPoint=function(o,A,f,m){return new LI(this._coreMap,Di).createRichTextPoint(o,A,f,m)};jr.prototype.createSectorScan=function(o,A,f,m,C,E,x){return new HT(this._coreMap,Di).createSectorScan(o,A,f,m,C,E,x)};jr.prototype.createSimpleGraphic=function(o,A,f){return this._SimpleGraphic.createSimpleGraphic(o,A,f)};jr.prototype.createTrailLineWall=function(o,A){return new KT(this._coreMap,Di).createWall(o,A)};jr.prototype.createTrailWallLayer=function(o){return new KT(this._coreMap,Di).createWallLayer(o)};jr.prototype.createTrailLine=function(o,A){return new KT(this._coreMap,Di).createLine(o,A)};jr.prototype.createTrailLinePath=function(o,A,f){return new KT(this._coreMap,Di).createPath(o,A,f)};jr.prototype.createWaterPolygonLayer=function(o={}){let A=oe(o.reflection,!0),f=new $ae(this._earthCtrl,Di);return A?f.createReflexPolygonLayer(o):f.createPolygonLayer(o)};jr.prototype.createPathLayer=function(o){return new KT(this._coreMap,Di).createPathLayer(o)};jr.prototype.createWaterPolygon=function(o){o.viewer=oe(o.viewer,this._earthCtrl.viewer),o.clampToGround=oe(o.clampToGround,!1),o.waterHeight=oe(o.waterHeight,0);let A=new Zae(o);A.name=oe(o.name,null),A.id=oe(o.id,this._earthCtrl.factory.createUUID());let f=A.createWaterPolygon(o.positions,o.holes,o.clampToGround,o.waterHeight);return this._earthCtrl.viewer.scene.primitives.add(f),A};jr.prototype.addEffectCone=function(o){return new gH(this._coreMap,Di).createCone(o)};jr.prototype.addDRWEffectCircle=function(o){return new pH(this._coreMap,Di).createDRWCircle(o)};jr.prototype.addRotateEffectCircle=function(o){return new pH(this._coreMap,Di).createRotateCircle(o)};jr.prototype.addEffectCylinder=function(o){return new gH(this._coreMap,Di).createCylinder(o)};jr.prototype.createFlyingLine=function(o,A){return new KT(this._coreMap,Di).createFlyingLine(o,A)};jr.prototype.addTetrahedron=function(o){return new ese(this._coreMap,o,Di)};jr.prototype.createPolygonGeoJsonFeatureLayer=function(o,A,f,m,C,E){let x=new Rc(this._coreMap,Di);return m&&Ke.selectedItem&&Ke.selectedItem.type==="group"&&(m=Ke.selectedItem.id),m=m&&0,x.createPolygonGeoJsonFeatureLayer(o,A,f,m,C,E)};jr.prototype.addSimpleGraphic=function(o,A,f){return this._SimpleGraphic.addSimpleGraphic(o,A,f)};jr.prototype.createRectangularSensor=function(o,A,f,m){return new yp(this._coreMap,Di).createRectangularSensor(o,A,f,m)};jr.prototype.createRadarMaskScan=function(o,A,f,m){return new yp(this._coreMap,Di).createRadarMaskScan(o,A,f,m)};jr.prototype.createLink=function(o,A,f){return new Ng(this._coreMap,Di).createLink(o,A,f)};jr.prototype.createLinkPro=function(o,A,f){return new Ng(this._coreMap,Di).createLinkPro(o,A,f)};jr.prototype.createMultiCircleScan=function(o,A,f,m,C){return new HT(this._coreMap,Di).createMultiCircleScan(o,A,f,m,C)};jr.prototype.createRadarScansss=function(o,A,f,m,C){return new HT(this._coreMap,Di).createRadarScan(o,A,f,m,C)};jr.prototype.createRoad=function(o={}){return new vut(this._coreMap,Di).createRoad(o)};jr.prototype.createSatelliteTrail=function(o){return new ise(this._coreMap,Di).createSatelliteTrail(o)};jr.prototype.ConicSensor=function(o,A,f){return new rse(this._coreMap,Di).create(o,A,f)};jr.prototype.militaryPlotting=function(o,A,f,m){let C=this._straightArrow,E=null,x,y;f?typeof f=="function"?(x={},y=f):(x=f,y=m):x={};let I=v=>{x.removeEdit&&C.MilitaryStandardObj.pop(),C.defaultEdit(),y&&y(v)};switch(o){case"StraightArrow":E=C.createStraightArrow(A,x,I);break;case"SwallowtailArrow":E=C.createSwallowtailArrow(A,x,I);break;case"PincerArrow":E=C.createPincerArrow(A,x,I);break;case"AttackArrow":E=C.createAttackArrow(A,x,I);break;case"GatheringPlace":E=C.createHandlerPolygon(A,x,I);break;case"RoundedRectangle":E=C.createRoundedRectangle(A,x,I);break;case"Sector":E=C.createSector(A,x,I);break;case"Bow":E=C.createBow(A,x,I);break;case"Bezierline":E=C.createBezierline(x,I);break;case"BezierArrow":E=C.createBezierArrow(x,I);break;default:break}return E};jr.prototype.MilitaryCopy=function(o){return this._straightArrow.copyJb(o)};jr.prototype.SaveMilitaryStandard=function(){this._straightArrow.save()};jr.prototype.OpenMilitaryStandard=function(o){return this._straightArrow.open(o)};jr.prototype.ClearMilitaryStandard=function(){this._straightArrow.clear()};jr.prototype.getEntityById=function(o){return this._straightArrow.getEntityById(o)};jr.prototype.startModify=function(o){this._straightArrow.edit(o)};jr.prototype.createModelLibrary=function(o){return this._popupmessage.createModelLibrary(o)};jr.prototype.getFlyData=function(o,A){this._createdynamicObject.getFlyData(o,A)};jr.prototype.createDynamicObject=function(o,A,f){return this._createdynamicObject.Start(o,A,f)};jr.prototype.addmodle=function(o){return this._createdynamicObject.addmodle(o)};jr.prototype.executePauseFly3DPaths=function(){return this._createdynamicObject.executePauseFly3DPaths()};jr.prototype.executePlayForwardFly3DPaths=function(){return this._createdynamicObject.executePlayForwardFly3DPaths()};jr.prototype.executePlayReverseFly3DPaths=function(){return this._createdynamicObject.executePlayReverseFly3DPaths()};jr.prototype.executeSignout=function(){return this._createdynamicObject.executeSignout()};jr.prototype.SkyBox=function(o,A){return this._skyBox.SkyBox(o,A)};jr.prototype.setSpaceBackground=function(o){return this._skyBox.setSpaceBackground(o)};jr.prototype.createScreenshot=function(o){return this._screenshot.createScreenshot(o)};jr.prototype.createVolumetricCloud=function(o){return new tut(this._earthCtrl,this._coreMap).createCloud(o)};jr.prototype.createGraticules=function(o){let A=new Dht(this._earthCtrl,this._coreMap);return A.createGraticules(o),A};jr.prototype.createContourLabel=function(o){let A=new Tht(this._earthCtrl,this._coreMap);return A.createContourLabel(o),A};jr.prototype.createRegionWeather=function(o){let A=new Mht(this._earthCtrl,this._coreMap);return A.createRegionWeather(o),A};jr.prototype.createSem=function(o){let A=new cct(this._earthCtrl,o);return A.loadCityJson(),A};Object.defineProperties(jr.prototype,{SimpleGraphic:{get:function(){return this._SimpleGraphic}},MilitaryPlotting:{get:function(){return this._straightArrow}}});var $T=jr;var ple=class extends $f{constructor(A,f){super(A),this._objectMap={},this._rootNode=null,this._isBenchUpdate=!1,this._selectSet=new bTe(A);let m=new G8(A);m.id=$T.createUUID(),m.name=oe(f.ProjectName,"root"),m.version=oe(f.version,null),m.desc=oe(f.desc,null),m.createTime=oe(f.createTime,new Date().toISOString()),m.lastUpdate=oe(f.lastUpdate,null),m.show=!0,this._rootNode=m,this._editNode=m,this._objectMap[m.id]=m,this._EventDocumentChanged=new lk("EventDocumentChanged")}finalize(){this._rootNode=null,this._objectMap={}}getChildById(A){return this._objectMap.hasOwnProperty(A)?this._objectMap[A]:null}addChild(A,f){A.addChild(f),this._objectMap[f.id]=f,this._isBenchUpdate||this.commitChanged()}removeChildById(A){let f=this._objectMap[A];O(f)&&this.removeChild(f)}removeChild(A){O(A)&&O(A.parentNode)&&(A.removeFromMap(),A.parentNode.removeChild(A)),delete this._objectMap[A.id],this._isBenchUpdate||this.commitChanged()}removeAll(){}beginUpdate(){this._isBenchUpdate=!0}endUpdate(){this._isBenchUpdate&&(this.commitChanged(),this._isBenchUpdate=!1)}commitChanged(){this._EventDocumentChanged.notifyEvent(this)}flyTo(A,f){O(A)&&O(A._primitive)&&(A=A._primitive),this._earthCtrl.coreMap.flyTo(A,f)}findLocationByID(A,f){if(!A)return;let m=this.getChildById(A);O(m)&&O(m._primitive)&&(m=m._primitive),this._earthCtrl.coreMap.flyTo(m,f)}moveLayer(A,f){let m=this.getChildById(A),C=null;for(let E=0;E<m.parentNode.childNodes.length;E++)m.parentNode.childNodes[E].id===m.id&&(C=E);f==="up"?(this._earthCtrl.coreMap.scene.imageryLayers.raise(m._primitive),this.changeLayer(m.parentNode.childNodes,C,C+1)):f==="down"&&(this._earthCtrl.coreMap.scene.imageryLayers.lower(m._primitive),this.changeLayer(m.parentNode.childNodes,C,C-1))}changeLayer(A,f,m){if(f=Be.clamp(f,0,A.length-1),m=Be.clamp(m,0,A.length-1),f===m)return;let C=A[f];A[f]=A[m],A[m]=C}outputJson(A){let f=this;new Promise(function(C,E){let x={IMAGERYPROVIDERS:"imageryProviders",TERRAINPROVIDERS:"terrainProviders",MODELLAYERS:"modelLayers",FEATURELAYERS:"featureLayers",USERSCENE:"userScene"},y=0,I=[];for(let v in x){let B=x[v],Q=f.rootNode.getChildByName(B);if(!Q)continue;let T=[];if(Q.childNodes.length===0)T=[];else for(let w=0;w<Q.childNodes.length;w++){let S=Q.childNodes[w].toJSON();T.push(S)}Promise.all(T).then(function(w){let S=[];if(w.length!==0){for(let P=0;P<w.length;P++)S.push(w[P]);let D=S[0].class;D!=="IMAGERY_LAYER"&&D!=="TERRAIN_LAYER"&&D!=="MODEL_LAYER"&&D!=="FEATURE_LAYER"&&(D="USER_SCENE");let R={item:D,objJson:S};I.push(R)}y++,y===5&&(C(I),y=0)})}}).then(function(C){let E={version:f.rootNode.version,projectName:f.rootNode.name,desc:f.rootNode.desc,createTime:f.rootNode.createTime,lastUpdate:new Date().toISOString(),imageryProviders:[],terrainProviders:[],modelLayers:[],featureLayers:[],userScene:[]};for(let B=0;B<C.length;B++)C[B].item==="IMAGERY_LAYER"&&(E.imageryProviders=C[B].objJson),C[B].item==="TERRAIN_LAYER"&&(E.terrainProviders=C[B].objJson),C[B].item==="MODEL_LAYER"&&(E.modelLayers=C[B].objJson),C[B].item==="FEATURE_LAYER"&&(E.featureLayers=C[B].objJson),C[B].item==="USER_SCENE"&&(E.userScene=C[B].objJson);let x={class:"ENVIRONMENT",underGround:oe(f._earthCtrl.camera.undergroundMode,null),shadow:oe(f._earthCtrl.shadows,null),depthTest:oe(f._earthCtrl.coreMap.scene.globe.depthTestAgainstTerrain,null),rain:oe(f._earthCtrl.environment.rain.show,null),snow:oe(f._earthCtrl.environment.snow.show,null),fog:oe(f._earthCtrl.environment.fog.show,null),bwMode:oe(f._earthCtrl.environment.bwMode.show,null),nightMode:oe(f._earthCtrl.environment.nightMode.show,null),colorAdjustment:{show:oe(f._earthCtrl.environment.colorAdjustment.show,null),contrast:oe(f._earthCtrl.environment.colorAdjustment.contrast,null),saturation:oe(f._earthCtrl.environment.colorAdjustment.saturation,null),brightness:oe(f._earthCtrl.environment.colorAdjustment.brightness,null)}},y={class:"SKYBOX",positiveX:oe(f._earthCtrl.environment.SkyBoxSource.positiveX,null),negativeX:oe(f._earthCtrl.environment.SkyBoxSource.negativeX,null),positiveY:oe(f._earthCtrl.environment.SkyBoxSource.positiveY,null),negativeY:oe(f._earthCtrl.environment.SkyBoxSource.negativeY,null),positiveZ:oe(f._earthCtrl.environment.SkyBoxSource.positiveZ,null),negativeZ:oe(f._earthCtrl.environment.SkyBoxSource.negativeZ,null)},I={class:"VIEWPOINT",lon:f._earthCtrl.camera.viewPoint.lon,lat:f._earthCtrl.camera.viewPoint.lat,alt:f._earthCtrl.camera.viewPoint.alt,heading:f._earthCtrl.camera.viewPoint.heading,pitch:f._earthCtrl.camera.viewPoint.pitch,roll:f._earthCtrl.camera.viewPoint.roll,duration:f._earthCtrl.camera.viewPoint.duration};E.userScene.push(x),E.userScene.push(y),E.userScene.push(I);let v=JSON.stringify(E);A&&A(v)})}};Object.defineProperties(ple.prototype,{rootNode:{get:function(){return this._rootNode},set:function(o){this._rootNode=o}},editNode:{get:function(){return this._editNode},set:function(o){this._editNode=o}},selectSet:{get:function(){return this._selectSet}},EventDocumentChanged:{get:function(){return this._EventDocumentChanged}},EventObjectPropertyChanged:{get:function(){return this._EventObjectPropertyChanged}}});var H2e=ple;function Pht(o){this._earthCtrl=o,this._coreMap=o.coreMap,this.initialize()}var grr=new Ua,prr=new Z,mrr=new Z;Pht.prototype.initialize=function(){let o=document.createElement("div");o.className="map-info-bar",o.style="position: absolute;left: 0px;bottom:0px;width: 100%;background:rgba(0,0,0,0.4); color:#e9e9e9; text-shadow:2px 2px 2px #000";let A=this._coreMap;A.container.appendChild(o);let f="float: right; min-width: 100px;margin-right: 20px;",m=document.createElement("div");m.style=f,o.appendChild(m);let C=document.createElement("div");C.style=f,o.appendChild(C);let E=document.createElement("div");E.style=f,o.appendChild(E);let x=A.scene.canvas,y=A.scene.globe.ellipsoid;new cr(x).setInputAction(function(v){let B=A.camera.pickEllipsoid(v.endPosition,y);if(B){let Q=A.scene.globe.ellipsoid.cartesianToCartographic(B),T=Be.toDegrees(Q.latitude).toFixed(6),w=Be.toDegrees(Q.longitude).toFixed(6),S=A.camera.positionCartographic.height.toFixed(1);E.innerHTML=`\u7ECF\u5EA6\uFF1A${w}`,C.innerHTML=`\u7EAC\u5EA6\uFF1A${T}`,m.innerHTML=`\u89C6\u70B9\u9AD8\uFF1A${S}\u7C73`}},si.MOUSE_MOVE)};var Rht=Pht;function Fl(){}Fl.parseBaseData=function(o,A){let f=[];if(O(A)&&O(A.imageryProviders))for(let C=0;C<A.imageryProviders.length;C++){let E=A.imageryProviders[C];if(E.enable===!1||E.show===!1)continue;if(O(E.tilingScheme)){let y=E.tilingScheme;y.type==="GeographicTilingScheme"&&(E.tilingScheme=new th(y))}let x=$T.createImageryLayer(E);f.push(x)}let m=[];if(O(A)&&O(A.terrainProviders))for(let C=0;C<A.terrainProviders.length;C++){let E=A.terrainProviders[C];if(E.enable===!1||E.show===!1)continue;let x=$T.createTerrainLayer(E);m.push(x)}return{imageryProvider:f,terrainProvider:m}};Fl.parse=function(o,A){if(!O(A))return;let f=[ts.IMAGERYPROVIDERS,ts.TERRAINPROVIDERS,ts.MODELLAYERS,ts.FEATURELAYERS,ts.USERSCENE];for(let m=0;m<f.length;m++){let C=o.factory.createSceneNode($T.createUUID(),f[m]);C.show=!0,o.userScene.addChild(o.userScene.rootNode,C)}O(A[ts.IMAGERYPROVIDERS])&&NH(o,A[ts.IMAGERYPROVIDERS],o.userScene.rootNode.getChildByIndex(0),0),O(A[ts.TERRAINPROVIDERS])&&NH(o,A[ts.TERRAINPROVIDERS],o.userScene.rootNode.getChildByIndex(1),1),O(A[ts.MODELLAYERS])&&NH(o,A[ts.MODELLAYERS],o.userScene.rootNode.getChildByIndex(2)),O(A[ts.FEATURELAYERS])&&NH(o,A[ts.FEATURELAYERS],o.userScene.rootNode.getChildByIndex(3)),O(A[ts.USERSCENE])&&NH(o,A[ts.USERSCENE],o.userScene.rootNode.getChildByIndex(4))};function NH(o,A,f,m){for(let C=0;C<A.length;C++){let E=A[C],x=null;if(E.enable===!1)continue;O(E.class)?(E.class==="IMAGERY"&&(E.class=Ao.IMAGERY_LAYER),E.class==="TERRAIN"&&(E.class=Ao.TERRAIN_LAYER),x=E.class):(m===0?E.class=Ao.IMAGERY_LAYER:m===1&&(E.class=Ao.TERRAIN_LAYER),x=E.class);let y=Fl.parserMap[x];y!==void 0&&y(o,E,f)}}function COi(o,A,f){let m=o.factory.createSceneNode(A.id,A.name);m.show=oe(A.show,!0),o.userScene.addChild(f,m),O(A.childNodes)&&NH(o,A.childNodes,m)}function EOi(o,A,f){let m=A;if(O(m.tilingScheme)){let C=m.tilingScheme;C.type==="GeographicTilingScheme"&&(m.tilingScheme=new th(C))}o.factory.createImageryLayer(m,f)}function xOi(o,A,f){let m=A;o.factory.createTerrainLayer(m,f)}function yOi(o,A,f){let m=A;m.addToMap=!0;let C=m.sourceType;C==="3DTiles"||C==="b3dm"||C==="osgb"||C==="s3m"||C==="ude_block"||C==="ude_model"?o.factory.createModelLayer(m,f):C==="czml"?o.factory.createCZMLObject(m,f):C==="wfsModel"&&o.factory.createWfsModel(m,f)}function IOi(o,A,f){let m=o.factory.createFeatureLayer(A,f)}function _Oi(o,A,f){o.coreMap.scene.skyBox=new Y3({sources:{positiveX:A.positiveX,negativeX:A.negativeX,positiveY:A.positiveY,negativeY:A.negativeY,positiveZ:A.positiveZ,negativeZ:A.negativeZ}})}function vOi(o,A,f){o.camera.undergroundMode=oe(A.underGround,!1),o.shadows=oe(A.shadow,!1),A.rain===!0&&o.environment.showEffect("rain"),A.snow===!0&&o.environment.showEffect("snow"),A.fog===!0&&o.environment.showEffect("fog"),o.coreMap.scene.globe.depthTestAgainstTerrain=oe(A.depthTest,!1),A.bwMode===!0&&o.environment.showEffect("bwMode"),A.nightMode===!0&&o.environment.showEffect("nightMode"),A.colorAdjustment.show===!0&&(o.environment.showEffect("colorAdjustment"),o.environment.colorAdjustment.contrast=A.colorAdjustment.contrast,o.environment.colorAdjustment.saturation=A.colorAdjustment.saturation,o.environment.colorAdjustment.brightness=A.colorAdjustment.brightness)}function BOi(o,A,f){o.camera.viewPoint=A,o.camera.flyTo(A.lon,A.lat,A.alt,A.heading,A.pitch,A.roll,A.duration)}function wOi(o,A,f){o.factory.createModel(A,f)}function bOi(o,A,f){o.factory.createWaters(A,f)}function QOi(o,A,f){o.factory.createExplosion(A,f)}function SOi(o,A,f){o.factory.createFireworks(A,f)}function DOi(o,A,f){o.factory.createSmoke(A,f)}function TOi(o,A,f){o.factory.createFire(A,f)}function MOi(o,A,f){A.color&&(A.color=new Ve(A.color.red,A.color.green,A.color.blue,A.color.alpha)),o.factory.createRadarScan(A,f)}function POi(o,A,f){A.color&&(A.color=new Ve(A.color.red,A.color.green,A.color.blue,A.color.alpha)),o.factory.createCircleScan(A,f)}function ROi(o,A,f){A.color&&(A.color=new Ve(A.color.red,A.color.green,A.color.blue,A.color.alpha)),A.outlineColor&&(A.outlineColor=new Ve(A.color.red,A.color.green,A.color.blue,A.color.alpha)),o.factory.createPoint(A,f)}function LOi(o,A,f){A.fillColor&&(A.fillColor=new Ve(A.fillColor.red,A.fillColor.green,A.fillColor.blue,A.fillColor.alpha)),o.factory.createLabel(A,f)}function FOi(o,A,f){o.factory.createBillboard(A,f)}function NOi(o,A,f){A.positions&&(A.positions=Fl.array2DtoMercator(A.positions)),A.lineColor&&(A.lineColor=new Ve(A.lineColor.red,A.lineColor.green,A.lineColor.blue,A.lineColor.alpha)),A.outlineColor&&(A.outlineColor=new Ve(A.outlineColor.red,A.outlineColor.green,A.outlineColor.blue,A.outlineColor.alpha)),o.factory.createPolyline(A,f)}function kOi(o,A,f){A.material&&(A.material=new Ve(A.material.red,A.material.green,A.material.blue,A.material.alpha)),A.outlineColor&&(A.outlineColor=new Ve(A.outlineColor.red,A.outlineColor.green,A.outlineColor.blue,A.outlineColor.alpha)),A.positions&&(A.positions=Fl.array2DtoMercator(A.positions)),o.factory.createPolygon(A,f)}function OOi(o,A,f){A.coordinates&&(A.coordinates=gi.fromDegrees(A.coordinates[0],A.coordinates[1],A.coordinates[2],A.coordinates[3])),A.fillColor&&(A.fillColor=new Ve(A.fillColor.red,A.fillColor.green,A.fillColor.blue,A.fillColor.alpha)),A.outlineColor&&(A.outlineColor=new Ve(A.outlineColor.red,A.outlineColor.green,A.outlineColor.blue,A.outlineColor.alpha)),o.factory.createRectangle(A,f)}function UOi(o,A,f){o.factory.createEllipse(A,f)}function GOi(o,A,f){A.material&&(A.material=new Ve(A.material.red,A.material.green,A.material.blue,A.material.alpha)),A.outlineColor&&(A.outlineColor=new Ve(A.outlineColor.red,A.outlineColor.green,A.outlineColor.blue,A.outlineColor.alpha)),A.position&&(A.position=Z.fromDegrees(A.position[0],A.position[1],A.position[2])),A.dimensions&&(A.dimensions=new Z(A.dimensions.x,A.dimensions.y,A.dimensions.z)),o.factory.createBox(A,f)}function HOi(o,A,f){A.material&&(A.material=new Ve(A.material.red,A.material.green,A.material.blue,A.material.alpha)),A.outlineColor&&(A.outlineColor=new Ve(A.outlineColor.red,A.outlineColor.green,A.outlineColor.blue,A.outlineColor.alpha)),A.position&&(A.position=Z.fromDegrees(A.position[0],A.position[1],A.position[2])),A.radii&&(A.radii=new Z(A.radii[0],A.radii[1],A.radii[2])),o.factory.createEllipsoid(A,f)}function VOi(o,A,f){A.material&&(A.material=new Ve(A.material.red,A.material.green,A.material.blue,A.material.alpha)),A.outlineColor&&(A.outlineColor=new Ve(A.outlineColor.red,A.outlineColor.green,A.outlineColor.blue,A.outlineColor.alpha)),A.position&&(A.position=Z.fromDegrees(A.position[0],A.position[1],A.position[2])),o.factory.createCylinder(A,f)}function zOi(o,A,f){o.factory.createPolylineVolume(A,f)}function YOi(o,A,f){o.factory.createVideoProjection(A,f)}function JOi(o,A,f){o.factory.createVideoProjection(A,f)}function KOi(o,A,f){o.factory.createTrack(A,f)}function WOi(o,A,f){o.factory.createHeatmap(A,f)}function jOi(o,A,f){o.factory.createEChartLayer(A,f)}function qOi(o,A,f){let m=o.factory.createElement(A);o.userScene.addChild(f,m)}Fl.array2DtoMercator=function(o){let A=[];return o.forEach(function(f){let m=Z.fromDegrees(f[0],f[1],f[2]);A.push(m)}),A};Fl.parserMap={};Fl.parserMap[Ao.NODE]=COi;Fl.parserMap[Ao.IMAGERY_LAYER]=EOi;Fl.parserMap[Ao.TERRAIN_LAYER]=xOi;Fl.parserMap[Ao.MODEL_LAYER]=yOi;Fl.parserMap[Ao.FEATURE_LAYER]=IOi;Fl.parserMap[Ao.SKYBOX]=_Oi;Fl.parserMap[Ao.ENVIRONMENT]=vOi;Fl.parserMap[Ao.VIEWPOINT]=BOi;Fl.parserMap[Ao.MODEL]=wOi;Fl.parserMap[Ao.WATERS]=bOi;Fl.parserMap[Ao.EXPLOSION]=QOi;Fl.parserMap[Ao.FIREWORK]=SOi;Fl.parserMap[Ao.SMOKE]=DOi;Fl.parserMap[Ao.FIRE]=TOi;Fl.parserMap[Ao.RADARSCAN]=MOi;Fl.parserMap[Ao.CIRCLESCAN]=POi;Fl.parserMap[Ao.POINT]=ROi;Fl.parserMap[Ao.LABEL]=LOi;Fl.parserMap[Ao.BILLBOARD]=FOi;Fl.parserMap[Ao.POLYLINE]=NOi;Fl.parserMap[Ao.POLYGON]=kOi;Fl.parserMap[Ao.RECTANGLE]=OOi;Fl.parserMap[Ao.ELLIPSE]=UOi;Fl.parserMap[Ao.BOX]=GOi;Fl.parserMap[Ao.ELLIPSOID]=HOi;Fl.parserMap[Ao.CYLINDER]=VOi;Fl.parserMap[Ao.POLYLINEVOLUME]=zOi;Fl.parserMap[Ao.PERSPECTIVE_VIDEO_PROJECTION]=YOi;Fl.parserMap[Ao.FISHEYE_VIDEO_PROJECTION]=JOi;Fl.parserMap[Ao.TRACK]=KOi;Fl.parserMap[Ao.HEATMAP]=WOi;Fl.parserMap[Ao.ECHARTLAYER]=jOi;Fl.parserMap.ELEMENT=qOi;var Lht=Fl;var V2e=null;function kH(o,A){V2e=A,this._viewer=o,this._cesium=V2e,this._core=new $i(o,V2e),this.points=[],this._SimpleGraphic=new fH(this._viewer,this._cesium),this._SimpleGraphic.setEdit(!1)}kH.prototype.createSightLine=function(o={}){return o.type==="circle"?this._SimpleGraphic.createCircle({},(A,f)=>{let{distance:m,positions:C}=f;this._SimpleGraphic.remove(A.id);let E=this._core.toDegrees(C[1]);C[1]=this._cesium.Cartesian3.fromDegrees(E.lon,E.lat,E.height+(o.height||1.8)),this.createPoint(C[1],"\u89C2\u5BDF\u70B9");let x=[E.lon,E.lat];this._cesium.turf.circle(x,m,{steps:o.steps||64,units:"meters"}).geometry.coordinates[0].forEach(I=>{let v=this._viewer.scene.globe.getHeight(this._cesium.Cartographic.fromDegrees(I[0],I[1])),B=this._cesium.Cartesian3.fromDegrees(I[0],I[1],v),Q=this._viewer.scene.clampToHeight(B);this.createLine([C[1],Q||B])})}):this._SimpleGraphic.createPolyline({toPoint:!0,clampToGround:!1},(A,f)=>{this._SimpleGraphic.remove(A.id);let m=this._core.toDegrees(f[0]);f[0]=this._cesium.Cartesian3.fromDegrees(m.lon,m.lat,m.height+(o.height||1.8)),this.createLine(f),this.createPoint(f[0],"\u89C2\u5BDF\u70B9"),this.createPoint(f[1],"\u76EE\u6807\u70B9")}),this};kH.prototype.createLine=async function(o,A){let f=this._core.pickFromRay(this._viewer,o[0],o[1],A);f&&f.position?(this._SimpleGraphic.addPolyline({positions:[o[0],f.position],color:"#00ff00",clampToGround:!1}),this._SimpleGraphic.addPolyline({positions:[f.position,o[1]],color:"#ff0000",depthFailColor:"#ff00c6",clampToGround:!1})):this._SimpleGraphic.addPolyline({positions:o,color:"#00ff00",clampToGround:!1})};kH.prototype.createPoint=function(o,A){this._SimpleGraphic.addPoint({position:o,pixelSize:8,heightReference:0}),A&&this._SimpleGraphic.addLabel({text:A,position:o,font:"bold 18px \u5B8B\u4F53",outlineWidth:2,verticalOrigin:1,pixelOffset:new this._cesium.Cartesian2(0,-18),heightReference:0})};kH.prototype.setVisibility=function(o){};kH.prototype.deleteObject=function(){this._SimpleGraphic.clear()};var Fht=kH;var XR;function pW(o,A){this._viewer=o,this._cesium=A,this.left=[],this.right=[]}pW.prototype.createSlider=function(){this.close();let o=document.createElement("div");o.id="slider",o.style.position="absolute",o.style.cursor="e-resize",o.style.top=0,o.style.backgroundColor="#D3D3D3",o.style.width="8px",o.style.height="100%",o.style.zIndex="1000",o.style.left="50%",this._viewer.container.appendChild(o),this._viewer.scene.splitPosition=o.offsetLeft/o.parentElement.offsetWidth,o.addEventListener("mousedown",Nht,!1),this.slider=o,XR={dragStartX:0,slider:o,scene:this._viewer.scene}};pW.prototype.curtainContrast=function(o,A){this.createSlider();let f=this._viewer.imageryLayers.get(o),m=this._viewer.imageryLayers.get(A);this.left.push(f),this.right.push(m),f.splitDirection=-1,m.splitDirection=1};pW.prototype.curtainContrastPro=function(o){this.createSlider(),o.left.forEach(A=>{A.splitDirection=-1,A.item&&(A.item.splitDirection=-1)}),o.right.forEach(A=>{A.splitDirection=1,A.item&&(A.item.splitDirection=1)}),this.left.push(...o.left),this.right.push(...o.right)};function z2e(){window.removeEventListener("mousemove",Y2e,!1),window.removeEventListener("mouseup",z2e,!1)}function Nht(o){XR.dragStartX=o.clientX-XR.slider.offsetLeft,window.addEventListener("mousemove",Y2e,!1),window.addEventListener("mouseup",z2e,!1)}function Y2e(o){let A=(o.clientX-XR.dragStartX)/XR.slider.parentElement.offsetWidth;XR.slider.style.left=100*A+"%",XR.scene.splitPosition=A}pW.prototype.close=function(){this.slider&&(this._viewer.scene.splitPosition=0,this.slider.removeEventListener("mousedown",Nht,!1),window.removeEventListener("mouseup",z2e,!1),window.removeEventListener("mousemove",Y2e,!1),this.slider.remove(),this.slider=null,this.left.forEach(o=>{o.splitDirection=0,o.item&&(o.item.splitDirection=0)}),this.right.forEach(o=>{o.splitDirection=0,o.item&&(o.item.splitDirection=0)}),this.left=[],this.right=[],XR=null)};var kht=pW;var XOi=null;function zv(o,A){XOi=A,this._core=new $i(o,A),this._viewer=o,this._cesium=A,this.camera=this._viewer.scene.camera,this.collision=!1,this.indoor_data={X_speedScale:1,Y_speedScale:.8,moveRate:.2,movementX:0,movementY:0,moveFactor:0,enable_looking:!1},this.flags={looking:!1,moveForward:!1,moveBackward:!1,moveUp:!1,moveDown:!1,moveLeft:!1,moveRight:!1}}zv.prototype.createIndoormode=function(o={}){let A=this._viewer.scene,f=this._viewer.canvas;if(f.setAttribute("tabindex","0"),f.focus(),f.onclick=function(){f.focus()},A.screenSpaceCameraController.enableRotate=!1,A.screenSpaceCameraController.enableTranslate=!1,A.screenSpaceCameraController.enableZoom=!1,A.screenSpaceCameraController.enableTilt=!1,A.screenSpaceCameraController.enableLook=!1,this.bindEvent={pointerlockchange:this.pointerlockchange.bind(this),mousemove:this.mousemove.bind(this),keydown:this.keydown.bind(this),keyup:this.keyup.bind(this),mousewheel:this.mousewheel.bind(this),dblclick:this.dblclick.bind(this)},document.addEventListener("pointerlockchange",this.bindEvent.pointerlockchange,!1),document.addEventListener("mousemove",this.bindEvent.mousemove,!1),document.addEventListener("keydown",this.bindEvent.keydown,!1),document.addEventListener("keyup",this.bindEvent.keyup,!1),document.addEventListener("mousewheel",this.bindEvent.mousewheel,!1),document.addEventListener("dblclick",this.bindEvent.dblclick,!1),this._viewer.clock.onTick.addEventListener(this.onTick,this),this._viewer.container.requestPointerLock(),o.showHelp){let m=o.helpPosition||{left:"20px",bottom:"20px"};this.explainContainer=document.createElement("div"),this.explainContainer.id="IndoormodeExplainContainer",this.explainContainer.style.cssText=` position: absolute; padding: 10px; background-color: rgba(0, 0, 0, 0.6); border: 1px solid rgba(32, 160, 255, 0.6); color: rgb(255, 255, 255); font-size: 16px; font-family: \u5FAE\u8F6F\u96C5\u9ED1; border-radius: 5px; z-index: 999; `;for(let C in m)this.explainContainer.style[C]=m[C];this.explainContainer.innerHTML="W\uFF1A\u524D\uFF1BS\uFF1A\u540E\uFF1BA\uFF1A\u5DE6\uFF1BD\uFF1A\u53F3<br>Q\uFF1A\u4E0A\uFF1BE\uFF1A\u4E0B<br>\u53CC\u51FB\uFF1A\u78B0\u649E\u68C0\u6D4B\uFF1B\u6EDA\u8F6E\uFF1A\u79FB\u52A8\u901F\u5EA6<br>\u9F20\u6807\u79FB\u52A8\uFF1A\u65B9\u5411\u63A7\u5236\uFF1BEsc\uFF1A\u9000\u51FA",this._viewer.container.append(this.explainContainer)}return this};zv.prototype.dblclick=function(o){o.button===0&&(this.collision=!this.collision,layuiLayer.msg(this.collision?"\u5F00\u542F\u78B0\u649E\u68C0\u6D4B":"\u5173\u95ED\u78B0\u649E\u68C0\u6D4B"))};zv.prototype.mousemove=function(o){if(this.indoor_data.enable_looking){this.indoor_data.movementX=o.movementX,this.indoor_data.movementY=o.movementY;let A=this._viewer.canvas.clientWidth,f=this._viewer.canvas.clientHeight,m=this.indoor_data.movementX/A,C=-this.indoor_data.movementY/f;(!this.camera.roll&&this.camera.pitch<0&&C<0||!this.camera.roll&&this.camera.pitch>0&&C>0)&&(C=0),this.camera.rotate(this.camera.position,m*this.indoor_data.X_speedScale),this.camera.lookUp(C*this.indoor_data.Y_speedScale)}};zv.prototype.mousewheel=function(o){o.wheelDelta>0?this.indoor_data.moveRate+=.02:this.indoor_data.moveRate-=.02,this.indoor_data.moveRate>1&&(this.indoor_data.moveRate=1),this.indoor_data.moveRate<.1&&(this.indoor_data.moveRate=.1)};zv.prototype.pointerlockchange=function(){document.pointerLockElement?this.indoor_data.enable_looking=!0:this.indoor_data.enable_looking&&this.close()};zv.prototype.keydown=function(o){let A=this.getFlagForKeyCode(o.keyCode);typeof A<"u"&&(this.flags[A]=!0)};zv.prototype.keyup=function(o){let A=this.getFlagForKeyCode(o.keyCode);typeof A<"u"&&(this.flags[A]=!1)};zv.prototype.getFlagForKeyCode=function(o){switch(o){case"W".charCodeAt(0):return"moveForward";case"S".charCodeAt(0):return"moveBackward";case"Q".charCodeAt(0):return"moveUp";case"E".charCodeAt(0):return"moveDown";case"D".charCodeAt(0):return"moveRight";case"A".charCodeAt(0):return"moveLeft";default:return}};zv.prototype.onTick=function(){let o=this.camera,A=this._viewer.scene.globe.getHeight(o.positionCartographic),f=o.positionCartographic.height;this.indoor_data.moveFactor=f-A;let m=this.indoor_data.moveFactor>100?this.indoor_data.moveFactor/100:this.indoor_data.moveRate;this.oldCameraPosition={position:o.position.clone(),heading:o.heading,pitch:o.pitch,roll:o.roll},this.flags.moveForward&&o.moveForward(m),this.flags.moveBackward&&o.moveBackward(m),this.flags.moveUp&&o.moveUp(m),this.flags.moveDown&&o.moveDown(m),this.flags.moveLeft&&o.moveLeft(m),this.flags.moveRight&&o.moveRight(m),this.collision&&this.checkCollision()};zv.prototype.checkCollision=function(){let o=this._core.pickFromRay(this._viewer,this.oldCameraPosition.position,this.camera.position);o&&o.position&&this._cesium.Cartesian3.distance(this.oldCameraPosition.position,o.position)<1&&this.camera.setView({destination:this.oldCameraPosition.position,orientation:{heading:this.oldCameraPosition.heading,pitch:this.oldCameraPosition.pitch,roll:this.oldCameraPosition.roll}});let A=this.camera.positionCartographic.clone();if(A.height-=1,A=this._cesium.Cartographic.toCartesian(A),o=this._core.pickFromRay(this._viewer,this.camera.position,A),o&&o.position&&this._cesium.Cartesian3.distance(this.camera.position,o.position)!==1.65){let f=1.65-this._cesium.Cartesian3.distance(this.camera.position,o.position);A=this.camera.positionCartographic.clone(),A.height+=f,A=this._cesium.Cartographic.toCartesian(A),this.camera.setView({destination:A,orientation:{heading:this.oldCameraPosition.heading,pitch:this.oldCameraPosition.pitch,roll:this.oldCameraPosition.roll}})}};zv.prototype.close=function(){this._handler&&this._handler.destroy(),this._handler=null,this.bindEvent&&(document.removeEventListener("pointerlockchange",this.bindEvent.pointerlockchange,!1),document.removeEventListener("mousemove",this.bindEvent.mousemove,!1),document.removeEventListener("keydown",this.bindEvent.keydown,!1),document.removeEventListener("keyup",this.bindEvent.keyup,!1),document.removeEventListener("mousewheel",this.bindEvent.mousewheel,!1),document.removeEventListener("dblclick",this.bindEvent.dblclick,!1),this.bindEvent=null),this.collision=!1,this._viewer.clock.onTick.removeEventListener(this.onTick,this),this.explainContainer&&this.explainContainer.remove(),this.explainContainer=null,document.exitPointerLock(),this.indoor_data.enable_looking=!1,document.body.style.cursor="default",this._viewer.scene.screenSpaceCameraController.enableRotate=!0,this._viewer.scene.screenSpaceCameraController.enableTranslate=!0,this._viewer.scene.screenSpaceCameraController.enableZoom=!0,this._viewer.scene.screenSpaceCameraController.enableTilt=!0,this._viewer.scene.screenSpaceCameraController.enableLook=!0};var Ok=zv;var mW=null;function J2e(o,A){mW=A,this._viewer=o,this._cesium=A}J2e.prototype.createWeather=function(o,A,f){var m=this._viewer.scene.postProcessStages,C=null,E=null,x=null,y=null,I={test1:{min:10,max:160},test2:{min:.5,max:3},test3:{min:-1,max:1},test4:{min:0,max:1}},v={test1:{min:10,max:160},test2:{min:0,max:1},test3:{min:0,max:.7},test4:{min:.1,max:.9}};if(o==="sun"){this.createWeather("rain",!1),this.createWeather("snow",!1),this.createWeather("fog",!1);return}switch(o){case"rain":if(C=f,this._viewer.scene.postProcessStages._stages.length&&this._viewer.scene.postProcessStages._stages.forEach(function(T){T&&T.name==="rain"&&m.remove(T)}),A){if(C?E={test1:f.test1,test2:f.test2,test3:f.test3,test4:f.test4}:(E={test1:7,test2:.3,test3:-.4,test4:1},C={test1:7,test2:.3,test3:-.4,test4:1}),E.test1=(10-parseFloat(E.test1))*15+10,E.test2=parseFloat(E.test2)*2.5+.5,E.test1>I.test1.max||E.test1<I.test1.min||E.test2>I.test2.max||E.test2<I.test2.min||E.test3>I.test3.max||E.test3<I.test3.min||E.test4>I.test4.max||E.test4<I.test4.min)return;E.test1=this.getValue(E.test1+""),E.test2=this.getValue(E.test2+""),E.test3=this.getValue(E.test3+""),E.test4=this.getValue(E.test4+"");var B=new this._cesium.PostProcessStage({name:"rain",fragmentShader:`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; float hash(float x){ return fract(sin(x*133.3)*13.13); } void main(void){ float time = czm_frameNumber / `+E.test1+`; vec2 resolution = czm_viewport.zw; vec2 uv=(gl_FragCoord.xy*`+E.test2+`-resolution.xy)/min(resolution.x,resolution.y); vec3 c=vec3(.6,.7,.8); float a=`+E.test3+`; float si=sin(a),co=cos(a); uv*=mat2(co,-si,si,co); uv*=length(uv+vec2(0,4.9))*.3+`+E.test4+`; float v=1.-sin(hash(floor(uv.x*100.))*2.); float b=clamp(abs(sin(20.*time*v+uv.y*(5./(2.+v))))-.95,0.,1.)*20.; c*=v*b; //\u5C4F\u5E55\u4E0A\u96E8\u7684\u989C\u8272 out_FragColor = mix(texture(colorTexture, v_textureCoordinates), vec4(c,1), 0.5); }`});m.add(B)}break;case"snow":if(x=f,this._viewer.scene.postProcessStages._stages.length&&this._viewer.scene.postProcessStages._stages.forEach(function(T){T&&T.name==="snow"&&m.remove(T)}),A){if(x?E={test1:f.test1,test2:f.test2,test3:f.test3,test4:f.test4}:(E={test1:7,test2:.1,test3:.5,test4:.5},x={test1:7,test2:.1,test3:.5,test4:.5}),E.test1=(10-parseFloat(E.test1))*15+10,E.test2=parseFloat(E.test2)/10,E.test3=parseFloat(E.test3)*.7,E.test4=(1-parseFloat(E.test4))*.8+.1,parseFloat(E.test1)>v.test1.max||parseFloat(E.test1)<v.test1.min||parseFloat(E.test2)>v.test2.max||parseFloat(E.test2)<v.test2.min||parseFloat(E.test3)>v.test3.max||parseFloat(E.test3)<v.test3.min||parseFloat(E.test4)>v.test4.max||parseFloat(E.test4)<v.test4.min)return;E.test1=this.getValue(E.test1+""),E.test2=this.getValue(E.test2+""),E.test3=this.getValue(E.test3+""),E.test4=this.getValue(E.test4+"");var Q=new this._cesium.PostProcessStage({name:"snow",fragmentShader:`uniform sampler2D colorTexture; in vec2 v_textureCoordinates; float snow(vec2 uv,float scale){ float time = czm_frameNumber / `+E.test1+`; float w=smoothstep(1.0,0.,-uv.y*(scale/10.0));if(w<`+E.test2+`)return 0.; uv+=time/scale;uv.y+=time*2./scale;uv.x+=sin(uv.y+time*.5)/scale; uv*=scale;vec2 s=floor(uv),f=fract(uv),p;float k=3.,d; p=`+E.test3+`+.35*sin(11.*fract(sin((s+p+scale)*mat2(7,3,6,5))*5.))-f;d=length(p);k=min(d,k); k=smoothstep(0.,k,sin(f.x+f.y)*0.01); return k*w; } void main(void){ vec2 resolution = czm_viewport.zw; vec2 uv=(gl_FragCoord.xy*2.-resolution.xy)/min(resolution.x,resolution.y); vec3 finalColor=vec3(0); float c = 0.0; c+=snow(uv,30.)*.0; c+=snow(uv,20.)*.0; c+=snow(uv,15.)*.0; c+=snow(uv,10.); c+=snow(uv,8.); c+=snow(uv,6.); c+=snow(uv,5.); finalColor=(vec3(c)); //\u5C4F\u5E55\u4E0A\u96EA\u7684\u989C\u8272 out_FragColor = mix(texture(colorTexture, v_textureCoordinates), vec4(finalColor,1), `+E.test4+`); //\u5C06\u96EA\u548C\u4E09\u7EF4\u573A\u666F\u878D\u5408 }`});m.add(Q)}break;case"fog":if(y=f,this._viewer.scene.postProcessStages._stages.length&&this._viewer.scene.postProcessStages._stages.forEach(function(T){T&&T.name==="fog"&&m.remove(T)}),A){if(y?E={distance:f.distance,color:f.color&&mW.Color.fromCssColorString(f.color)}:(E={distance:200,color:"#ffffff"},y={distance:200,color:"#ffffff"}),E.distance<10)return;let T=new mW.PostProcessStage({name:"fog",fragmentShader:`float getDistance(sampler2D depthTexture, vec2 texCoords) { float depth = czm_unpackDepth(texture(depthTexture, texCoords)); if (depth == 0.0) { return czm_infinity; } vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, depth); return -eyeCoordinate.z / eyeCoordinate.w; } float interpolateByDistance(vec4 nearFarScalar, float distance) { float startDistance = nearFarScalar.x; float startValue = nearFarScalar.y; float endDistance = nearFarScalar.z; float endValue = nearFarScalar.w; float t = clamp((distance - startDistance) / (endDistance - startDistance), 0.0, 1.0); return mix(startValue, endValue, t); } vec4 alphaBlend(vec4 sourceColor, vec4 destinationColor) { return sourceColor * vec4(sourceColor.aaa, 1.0) + destinationColor * (1.0 - sourceColor.a); } uniform sampler2D colorTexture; uniform sampler2D depthTexture; uniform vec4 fogByDistance; uniform vec4 fogColor; in vec2 v_textureCoordinates; void main(void) { float distance = getDistance(depthTexture, v_textureCoordinates); vec4 sceneColor = texture(colorTexture, v_textureCoordinates); float blendAmount = interpolateByDistance(fogByDistance, distance); vec4 finalFogColor = vec4(fogColor.rgb, fogColor.a * blendAmount); out_FragColor = alphaBlend(finalFogColor, sceneColor); } `,uniforms:{fogByDistance:new mW.Cartesian4(10,0,E.distance||200,1),fogColor:E.color||mW.Color.WHITE}});m.add(T)}break}};J2e.prototype.getValue=function(o){if(o===""||o==="-"||o==="."||o===void 0||(o[o.length-1]==="-"&&(o=o.substr(0,o.length-1)),o.split(".").length>2))return"0.0";var A=o.split(".")[1]&&o.split(".")[1].length;return A?o:parseFloat(o).toFixed(1)};var Oht=J2e;function Uk(o){this._viewer=o,this._depth=100,this.show=!1}Uk.prototype.refreshGridLines=function(){let o=this._relativeHeight<0&&this.show,A=this._viewer.camera,f=new Cesium.Cartographic(A.positionCartographic.longitude,A.positionCartographic.latitude,A.positionCartographic.height-this._depth);this.item=this.UndergroundGridLines(f,o)};Uk.prototype.add=function(o){if(this.show=!0,this._depth=o||100,!this.item)return this._viewer.scene.primitives.add(this),this.refreshGridLines(),this};Uk.prototype.update=function(o){this.item&&this.show&&(this.getRelativeHeight(),this.item.show&&this.item.update(o))};Uk.prototype.destroy=function(){this.item&&(this._viewer.scene.primitives.remove(this),this.item=null)};Uk.prototype.UndergroundGridLines=function(o,A){let f=o;o instanceof Cesium.Cartesian3&&(f=this._viewer.scene.globe.ellipsoid.cartesianToCartographic(o));let m=new Cesium.GeometryInstance({geometry:new Cesium.EllipseGeometry({center:Cesium.Cartesian3.fromRadians(f.longitude,f.latitude),height:f.height,semiMinorAxis:2e4,semiMajorAxis:2e4,vertexFormat:Cesium.VertexFormat.POSITION_AND_ST}),id:"undergroundSurface"}),C=Cesium.Material.fromType("Grid");C.uniforms.color=Cesium.Color.WHITE.withAlpha(.8),C.uniforms.cellAlpha=.01,C.uniforms.lineCount=new Cesium.Cartesian2(200,200),C.uniforms.lineThickness=new Cesium.Cartesian2(1,1);let E=Cesium.Material.fromType("Color");return E.uniforms.color=Cesium.Color.BLACK.withAlpha(.8),this.grid1&&this.grid1.destroy(),this.grid1=new Cesium.Primitive({geometryInstances:m,appearance:new Cesium.EllipsoidSurfaceAppearance({material:C}),asynchronous:!1}),this.grid2&&this.grid2.destroy(),this.grid2=new Cesium.Primitive({geometryInstances:m,appearance:new Cesium.EllipsoidSurfaceAppearance({material:E}),asynchronous:!1}),this.grid1.appearance.renderState.depthTest.enabled=!0,this.grid2.appearance.renderState.depthTest.enabled=!0,{show:A,destroy:()=>{this.grid1&&this.grid1.destroy(),this.grid2&&this.grid2.destroy(),this.grid1=this.grid2=null},update:x=>{this.grid1&&this.grid1.update(x),this.grid2&&this.grid2.update(x)}}};Uk.prototype.getRelativeHeight=function(){let o=this._viewer.camera,A=this._viewer.scene.globe.getHeight(o.positionCartographic);if(this._groundHeightAtCameraPosition=A||this._groundHeightAtCameraPosition,this._relativeHeight=o.positionCartographic.height-this._groundHeightAtCameraPosition,!this.oldCameraPosition&&(this.oldCameraPosition=o.position.clone()),!this.oldCameraHeight&&(this.oldCameraHeight=o.positionCartographic.height),this._relativeHeight>0){this.item&&(this.item.show=!1);return}this.item&&(this.item.show=!0),(Math.abs(this.oldCameraHeight-o.positionCartographic.height)>this._depth/10||Cesium.Cartesian3.distance(this.oldCameraPosition,o.position)>1e4)&&(this.oldCameraPosition=o.position.clone(),this.oldCameraHeight=o.positionCartographic.height,this.refreshGridLines())};var Uht=Uk;var tM=null;function Qf(o,A){tM=A,this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._tree=Ke,this.isStreetView=!1,this.StreetViewType=void 0,tM.ExpandBySmartEarth&&(tM.ExpandBySmartEarth.isStreetView=!1),this.defaultSkyAtmosphere=!0,this.StreetViewSphere=[null,null],this.StreetViewSphere_Canvas=[null,null],this.StreetViewNavigation=[],this.StreetViewSphereIndex=0,this.URL={getInitImageByPosition:"",getInitImageInfoById:"",getInitImageById:"",getSecondImageById:"",getThirdImageById:"",getImageInfo:""},this.CallBack={getInitImageByPositionCallBack:void 0,getImageInfoByIdCallBack:void 0,getInitImageByIdCallBack:void 0,getSecondImageByIdCallBack:void 0,getThirdImageByIdCallBack:void 0,selectJoinsCallBack:void 0,setImageDataCallback:void 0},this.StreetViewData={name:"",radius:5,defaultFov:60,fov:110,alpha:1,speedScale:1.5,lon:void 0,lat:void 0,height:0,HeadingPitchRoll:null,getImageTileID:"",linkImagesData:[],isTwoTextures:!1,isThreeTextures:!1,_handler:null,navigation_handler:null},this.FirstImage=void 0}Qf.prototype.StreetViewOpen=function(o,A,f){var m=this,C=this._viewer;if(!this.isStreetView){this.StreetViewSphere.length>0&&(this.StreetViewSphere.forEach(function(x){x&&C.entities.remove(x)}),this.StreetViewSphere=[null,null]),this.StreetViewType=A.type,this.StreetViewData.linkImagesData=[],this.URL=this.extend(this.URL,A,!1),this.CallBack=this.extend(this.CallBack,A,!1),this.defaultSkyAtmosphere=!!C.scene.skyAtmosphere.show,C.scene.skyAtmosphere.show||(C.scene.skyAtmosphere.show=!0);var E=C.camera;this.getInitImageByPosition(o,function(x){m.isStreetView=!0,tM.ExpandBySmartEarth&&(tM.ExpandBySmartEarth.isStreetView=!0),E.flyTo({destination:new m._cesium.Cartesian3.fromDegrees(m.StreetViewData.lon,m.StreetViewData.lat,m.StreetViewData.height),orientation:{heading:E.heading,pitch:E.pitch>m._cesium.Math.toRadians(45)||E.pitch<m._cesium.Math.toRadians(-45)?0:E.pitch,roll:0},duration:A.flyTime,complete:function(){f&&typeof f=="function"&&f()}}),m.attachMouseEvent(),m.createNavigation(),m.StreetViewSphereIndex=0,m.StreetViewSphere_Canvas[m.StreetViewSphereIndex]=x,m.StreetViewSphere[m.StreetViewSphereIndex]=m.createScene(m.StreetViewData.lon,m.StreetViewData.lat,m.StreetViewData.height),m.StreetViewSphere[m.StreetViewSphereIndex].show=!0,m.StreetViewSphere[m.StreetViewSphereIndex].orientation=m._cesium.Transforms.headingPitchRollQuaternion(m._cesium.Cartesian3.fromDegrees(m.StreetViewData.lon,m.StreetViewData.lat,m.StreetViewData.height),new m._cesium.HeadingPitchRoll(m._cesium.Math.toRadians(m.StreetViewData.HeadingPitchRoll.heading+(m.StreetViewType==="lide"?90:0)),m._cesium.Math.toRadians(-m.StreetViewData.HeadingPitchRoll.roll),m._cesium.Math.toRadians(m.StreetViewData.HeadingPitchRoll.pitch))),m.StreetViewType==="lide"?m._core.xhr({url:m.URL.getImageInfo+m.StreetViewData.getImageTileID,type:"get",dataType:"json",success:function(y){m.CallBack&&m.CallBack.setImageDataCallback&&typeof m.CallBack.setImageDataCallback=="function"&&m.CallBack.setImageDataCallback(m.StreetViewData,y),m.getSecondTexturesFromAtlasFile(m.StreetViewData.getImageTileID,function(I){I.index===m.StreetViewSphereIndex&&m.StreetViewData.isTwoTextures===!1&&(m.StreetViewSphere_Canvas[m.StreetViewSphereIndex]=I.canvas),m.StreetViewData.isTwoTextures=!0,m.StreetViewData.isThreeTextures=!1})}}):m.getSecondTexturesFromAtlasFile(m.StreetViewData.getImageTileID,function(y){y.index===m.StreetViewSphereIndex&&m.StreetViewData.isTwoTextures===!1&&(m.StreetViewSphere_Canvas[m.StreetViewSphereIndex]=y.canvas),m.StreetViewData.isTwoTextures=!0,m.StreetViewData.isThreeTextures=!1})})}return this};Qf.prototype.exit=function(){if(this.isStreetView){var o=this,A=this._viewer;this.StreetViewSphere.length>0&&(this.StreetViewSphere.forEach(function(m){m&&A.entities.remove(m)}),this.StreetViewSphere=[null,null],this.StreetViewSphere_Canvas=[null,null]),this.StreetViewNavigation.length>0&&(this.StreetViewNavigation.forEach(function(m){A.entities.remove(m)}),this.StreetViewNavigation=[]),this.setCesiumFov(this.StreetViewData.defaultFov),this.detachMouseEvent(),A.scene.skyAtmosphere.show=this.defaultSkyAtmosphere,this.isStreetView=!1,tM.ExpandBySmartEarth&&(tM.ExpandBySmartEarth.isStreetView=!1);var f=A.camera.positionCartographic;A.camera.flyTo({destination:new this._cesium.Cartesian3.fromRadians(f.longitude,f.latitude,f.height+3e3),orientation:{heading:A.camera.heading,pitch:this._cesium.Math.toRadians(-90),roll:0},complete:function(){o.isStreetView=!1,tM.ExpandBySmartEarth&&(tM.ExpandBySmartEarth.isStreetView=!1)}})}};Qf.prototype.extend=function(o,A,f){for(var m in A)A.hasOwnProperty(m)&&(o.hasOwnProperty(m)||f)&&(o[m]=A[m]);return o};Qf.prototype.getInitImageByPositionURL=function(o){var A;if(this.URL&&this.URL.getInitImageByPosition){var f,m=this.URL.getInitImageByPosition.split("{lon}");m[0].split("{lat}").length>1?(f=m[0].split("{lat}"),A=f[0]+o.lat+f[1]+o.lon+m[1]):(f=m[1].split("{lat}"),A=m[0]+o.lon+f[0]+o.lat+f[1])}return A};Qf.prototype.getImageByIdURL=function(o,A){var f,m;switch(o){case"one":m=this.URL.getInitImageById;break;case"two":m=this.URL.getSecondImageById;break;case"three":m=this.URL.getThirdImageById;break;case"init":m=this.URL.getInitImageInfoById;break}if(this.StreetViewType==="lide"&&(A=A.replace("-0-","-X-"),o==="one"&&(m+="&row=0&col=0")),m){var C=m.split("{id}");f=C[0]+A+C[1]}return f};Qf.prototype.getInitImageByPosition=function(o,A){var f=this,m=this.getInitImageByPositionURL(o);this.StreetViewData.linkImagesData=[],this._core.xhr({url:m,type:"get",dataType:"json",success:C=>{if(f.CallBack&&f.CallBack.getInitImageByPositionCallBack)typeof f.CallBack.getInitImageByPositionCallBack=="function"&&f.CallBack.getInitImageByPositionCallBack(f.StreetViewData,C);else{console.log("the getInitImageByPositionCallBack is undefined\uFF01");return}var E=f.getImageByIdURL("one",f.StreetViewData.getImageTileID),x=new Image;x.onload=function(){var y=x.width,I=x.height,v=y,B=I;f.StreetViewType==="lide"&&(v=512,B=256);var Q=document.createElement("canvas"),T=Q.getContext("2d");Q.height=B,Q.width=v,T.translate(v,0),T.scale(-1,1),T.drawImage(x,0,0,v,B,0,0,v,B),typeof A=="function"&&A(Q)},x.setAttribute("crossOrigin","Anonymous");try{x.src=E}catch{x.src=""}f.FirstImage=x},error:function(C,E,x){}})};Qf.prototype.getInitImage=function(o,A){var f=this.getImageByIdURL("one",o),m=new Image,C=this;m.onload=function(){var E=m.width,x=m.height,y=E,I=x;C.StreetViewType==="lide"&&(y=512,I=256);var v=document.createElement("canvas"),B=v.getContext("2d");v.height=I,v.width=y,B.translate(y,0),B.scale(-1,1),B.drawImage(m,0,0,y,I,0,0,y,I),typeof A=="function"&&A(v)},m.setAttribute("crossOrigin","Anonymous");try{m.src=f}catch{m.src=""}C.FirstImage=m};Qf.prototype.getSecondTexturesFromAtlasFile=function(o,A){var f=this.StreetViewSphereIndex,m=this.getImageByIdURL("two",o),C=null,E=null,x=0,y=[];let I=4,v=8,B="{row}-{col}",Q=1/0,T=1/0;this.StreetViewType==="lide"&&(B="&row={row}&col={col}",I=this.StreetViewData.row,v=this.StreetViewData.col,Q=this.StreetViewData.maxWidth,T=this.StreetViewData.maxHeight);for(var w,S,D,R,P=()=>{if(x++,x==I*v){C==null&&(C=document.createElement("canvas"),E=C.getContext("2d"),C.height=R>T?T:R,C.width=D>Q?Q:D,E.translate(C.width,0),E.scale(-1,1));var N=w,G=S;this.StreetViewType==="lide"&&(N=512,G=256),E.drawImage(this.FirstImage,0,0,N,G,0,0,C.width,C.height);for(var J=0,K=0;J<y.length;J++)y[J].src&&E.drawImage(y[J],0,0,w,S,w*(J%v),S*Math.floor(J/v),w,S);A({index:f,canvas:C})}},M=0;M<I;M++)for(var L=0;L<v;L++){var F=m+B;F=F.replace("{row}",M).replace("{col}",L);var k=new Image;k.onload=function(){w=this.width,S=this.height,D=w*v,R=S*I,P()},k.onerror=function(){this.src="",this.onerror=void 0,P()},k.setAttribute("crossOrigin","Anonymous");try{k.src=F}catch{k.src=""}y.push(k)}};Qf.prototype.getThreeTexturesFromAtlasFile=function(o,A){for(var f=this.StreetViewSphereIndex,m=this.getImageByIdURL("three",o),C=null,E=null,x=0,y=[],I=0;I<8;I++)for(var v=0;v<16;v++){var B=m+I+"-"+v,Q=new Image;(function(T,w,S){S.onload=function(){var D=S.width,R=S.height,P=8192,M=4096;if(x++,x==128){C==null&&(C=document.createElement("canvas"),E=C.getContext("2d"),C.height=M,C.width=P,E.translate(8192,0),E.scale(-1,1));for(var L=0,F=0;L<y.length;L++)E.drawImage(y[L],0,0,D,R,D*(L%16),R*Math.floor(L/16),D,R);A({index:f,canvas:C})}}})(I,v,Q),Q.setAttribute("crossOrigin","Anonymous");try{Q.src=B}catch{Q.src=""}y.push(Q)}};Qf.prototype.InitSceneByID=function(o){var A=this,f=this._viewer;this.updateStreetSphereIndex(),this.StreetViewSphere[this.StreetViewSphereIndex]=this.createScene(this.StreetViewData.lon,this.StreetViewData.lat,this.StreetViewData.height),this.getInitImage(this.StreetViewData.getImageTileID,function(m){A.StreetViewSphere_Canvas[A.StreetViewSphereIndex]=m,A.StreetViewSphere[A.StreetViewSphereIndex].show=!0,A.StreetViewSphere[A.StreetViewSphereIndex]._ellipsoid._material._color._value.alpha=0,setTimeout(()=>{let C=0,E=setInterval(()=>{C+.2<=1&&(C=C+.2,A.StreetViewSphere[A.StreetViewSphereIndex]._ellipsoid._material._color._value.alpha=C)},50);setTimeout(()=>{clearInterval(E)},1010)},600)}),this.StreetViewData.isTwoTextures=!1,this.StreetViewType!=="lide"?this.getImageInfoById(this.StreetViewData.getImageTileID,function(m){if(A.StreetViewData.linkImagesData=[],A.CallBack&&A.CallBack.getImageInfoByIdCallBack)typeof A.CallBack.getImageInfoByIdCallBack=="function"&&A.CallBack.getImageInfoByIdCallBack(A.StreetViewData,m);else{console.log("the getImageInfoByIdCallBack is undefined\uFF01");return}A.StreetViewSphere[A.StreetViewSphereIndex].position=A._cesium.Cartesian3.fromDegrees(A.StreetViewData.lon,A.StreetViewData.lat,A.StreetViewData.height),f.camera.cancelFlight(),f.camera.flyTo({destination:A._cesium.Cartesian3.fromDegrees(A.StreetViewData.lon,A.StreetViewData.lat,A.StreetViewData.height),orientation:{heading:f.camera.heading,pitch:f.camera.pitch,roll:0},duration:1.5}),setTimeout(()=>{let C=1,E=setInterval(()=>{C-.25>=0&&(C=C-.25,o._ellipsoid._material._color._value.alpha=C)},40);setTimeout(()=>{f.entities.remove(o),o=null,clearInterval(E)},1210)},700),A.StreetViewSphere[A.StreetViewSphereIndex].orientation=A._cesium.Transforms.headingPitchRollQuaternion(A._cesium.Cartesian3.fromDegrees(A.StreetViewData.lon,A.StreetViewData.lat,A.StreetViewData.height),new A._cesium.HeadingPitchRoll(A._cesium.Math.toRadians(A.StreetViewData.HeadingPitchRoll.heading),A._cesium.Math.toRadians(-A.StreetViewData.HeadingPitchRoll.roll),A._cesium.Math.toRadians(A.StreetViewData.HeadingPitchRoll.pitch))),A.getInitImage(A.StreetViewData.getImageTileID,function(C){A.StreetViewData.isTwoTextures||(A.StreetViewSphere_Canvas[A.StreetViewSphereIndex]=C)}),A.getSecondTexturesFromAtlasFile(A.StreetViewData.getImageTileID,function(C){C.index===A.StreetViewSphereIndex&&A.StreetViewData.isTwoTextures===!1&&(A.StreetViewSphere_Canvas[A.StreetViewSphereIndex]=C.canvas),A.StreetViewData.isTwoTextures=!0,A.StreetViewData.isThreeTextures=!1}),A.createNavigation()}):this.getInitImageByPosition(A.StreetViewData,function(m){A.StreetViewSphere[A.StreetViewSphereIndex].position=A._cesium.Cartesian3.fromDegrees(A.StreetViewData.lon,A.StreetViewData.lat,A.StreetViewData.height),A.StreetViewSphere_Canvas[A.StreetViewSphereIndex]=m,f.camera.cancelFlight(),f.camera.flyTo({destination:A._cesium.Cartesian3.fromDegrees(A.StreetViewData.lon,A.StreetViewData.lat,A.StreetViewData.height),orientation:{heading:f.camera.heading,pitch:f.camera.pitch,roll:0},duration:1.5}),setTimeout(function(){f.entities.remove(o),o=null},1300),A.StreetViewSphere[A.StreetViewSphereIndex].orientation=A._cesium.Transforms.headingPitchRollQuaternion(A._cesium.Cartesian3.fromDegrees(A.StreetViewData.lon,A.StreetViewData.lat,A.StreetViewData.height),new A._cesium.HeadingPitchRoll(A._cesium.Math.toRadians(A.StreetViewData.HeadingPitchRoll.heading+90),A._cesium.Math.toRadians(-A.StreetViewData.HeadingPitchRoll.roll),A._cesium.Math.toRadians(A.StreetViewData.HeadingPitchRoll.pitch))),A.getSecondTexturesFromAtlasFile(A.StreetViewData.getImageTileID,function(C){C.index===A.StreetViewSphereIndex&&A.StreetViewData.isTwoTextures===!1&&(A.StreetViewSphere_Canvas[A.StreetViewSphereIndex]=C.canvas),A.StreetViewData.isTwoTextures=!0,A.StreetViewData.isThreeTextures=!1})})};Qf.prototype.getImageInfoById=function(o,A){var f=this.getImageByIdURL("init",o);this._core.xhr({url:f,type:"get",dataType:"json",success:function(m){typeof A=="function"&&A(m)}})};Qf.prototype.createScene=function(o,A,f){var m=this,C=this._viewer,E=this.StreetViewSphereIndex,x=new this._cesium.ImageMaterialProperty({image:new this._cesium.CallbackProperty(function(){return m.StreetViewSphere_Canvas[E]},!1),transparent:!0,color:this._cesium.Color.WHITE.withAlpha(this.StreetViewData.alpha)}),y={show:!1,position:this._cesium.Cartesian3.fromDegrees(o,A,f),ellipsoid:{radii:new this._cesium.Cartesian3(this.StreetViewData.radius,this.StreetViewData.radius,this.StreetViewData.radius),material:x}},I=C.entities.add(y);return I.geometryName="\u8857\u666F",I};Qf.prototype.detachMouseEvent=function(){var o=this,A=this._viewer.scene,f=this._viewer.canvas;this.StreetViewData._handler&&(this.StreetViewData._handler.destroy(),this.StreetViewData._handler=void 0),this.StreetViewData.navigation_handler&&(this.StreetViewData.navigation_handler.destroy(),this.StreetViewData.navigation_handler=void 0),this.StreetViewType!=="lide"&&this._viewer.clock.onTick.removeEventListener(this.StreetView_onTick,this),A.screenSpaceCameraController.enableRotate=!0,A.screenSpaceCameraController.enableTranslate=!0,A.screenSpaceCameraController.enableZoom=!0,A.screenSpaceCameraController.enableTilt=!0,A.screenSpaceCameraController.enableLook=!0};var K2e,W2e,OH=null,eM=null,mle={looking:!1};Qf.prototype.attachMouseEvent=function(){var o=this;OH=this._viewer.scene,eM=this._viewer.canvas,this.StreetViewData._handler=new this._cesium.ScreenSpaceEventHandler(eM),eM.setAttribute("tabindex","0"),eM.focus(),eM.onclick=function(){eM.focus()},setTimeout(function(){o.setCesiumFov(o.StreetViewData.fov)},4e3),OH.screenSpaceCameraController.enableRotate=!1,OH.screenSpaceCameraController.enableTranslate=!1,OH.screenSpaceCameraController.enableZoom=!1,OH.screenSpaceCameraController.enableTilt=!1,OH.screenSpaceCameraController.enableLook=!1,this.StreetViewData._handler.setInputAction(function(A){mle.looking=!0},this._cesium.ScreenSpaceEventType.LEFT_DOWN),this.StreetViewData._handler.setInputAction(function(A){mle.looking&&(K2e=A.startPosition,W2e=A.endPosition,o.StreetView_mouseMove())},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.StreetViewData._handler.setInputAction(function(A){mle.looking=!1},this._cesium.ScreenSpaceEventType.LEFT_UP),this.StreetViewData._handler.setInputAction(function(A){var f=o.StreetViewData.fov+A/-10;f>30&&f<120&&(o.StreetViewData.fov=f,o.setCesiumFov(o.StreetViewData.fov))},this._cesium.ScreenSpaceEventType.WHEEL),this.StreetViewType!=="lide"&&this._viewer.clock.onTick.addEventListener(o.StreetView_onTick,this)};Qf.prototype.StreetView_onTick=function(){var o=this;!this.StreetViewData.isThreeTextures&&this.StreetViewData.fov<50&&(this.StreetViewData.isThreeTextures=!0,this.getThreeTexturesFromAtlasFile(this.StreetViewData.getImageTileID,function(A){A.index===o.StreetViewSphereIndex&&(o.StreetViewSphere_Canvas[o.StreetViewSphereIndex]=A.canvas)}))};Qf.prototype.StreetView_mouseMove=function(){var o=this._viewer.camera;if(mle.looking){var A=eM.clientWidth,f=eM.clientHeight,m=-(W2e.x-K2e.x)/A,C=(W2e.y-K2e.y)/f;(!o.roll&&o.pitch<0&&C<0||!o.roll&&o.pitch>0&&C>0)&&(C=0),o.rotate(o.position,m*this.StreetViewData.speedScale),o.lookUp(C*this.StreetViewData.speedScale)}};Qf.prototype.setOpacity=function(o){var A=this;this.StreetViewSphere.forEach(function(f){f&&(f.ellipsoid.material.color._value=A._cesium.Color.WHITE.withAlpha(o))}),this.StreetViewData.alpha=o};Qf.prototype.setCesiumFov=function(o){this._viewer.camera.frustum.fov=this._cesium.Math.toRadians(o)};Qf.prototype.MoveToLinkImage=function(o){if(o){if(this.StreetViewType==="lide"&&!o.ImageID){this.CallBack&&this.CallBack.selectJoinsCallBack&&typeof this.CallBack.selectJoinsCallBack=="function"&&this.CallBack.selectJoinsCallBack();return}}else{alert("\u6682\u65E0\u8857\u666F\u6570\u636E");return}this.StreetViewData.name=o.name,this.StreetViewData.lon=o.Position[0],this.StreetViewData.lat=o.Position[1],this.StreetViewData.height=o.Position[2],this.StreetViewData.getImageTileID=o.ImageID,this.InitSceneByID(this.StreetViewSphere[this.StreetViewSphereIndex])};Qf.prototype.updateStreetSphereIndex=function(){this.StreetViewSphereIndex=this.StreetViewSphereIndex===0?1:0};Qf.prototype.createNavigation=function(){var o=this,A=this._viewer;this.StreetViewNavigation.length>0&&(this.StreetViewNavigation.forEach(function(Q){A.entities.remove(Q)}),this.StreetViewNavigation=[]),this.StreetViewData.navigation_handler&&(this.StreetViewData.navigation_handler.destroy(),this.StreetViewData.navigation_handler=null);var f=6378137,m=6356725,C={lon:this.StreetViewData.lon,lat:this.StreetViewData.lat,height:this.StreetViewData.height-1};this.StreetViewData.linkImagesData.forEach(function(Q){var T=A.entities.add({polygon:{hierarchy:new o._cesium.CallbackProperty(function(){var w=B(C,Q.NavigationAngle);return new o._cesium.PolygonHierarchy(o._cesium.Cartesian3.fromDegreesArray(w))},!1),fill:!0,outline:!0,outlineColor:o._cesium.Color.BLACK.withAlpha(.2),height:C.height}});T.geometryName="\u8857\u666F",T.isNavigation=!0,T.linkImageData=Q,o.StreetViewNavigation.push(T)});var E;o.StreetViewData.navigation_handler=new o._cesium.ScreenSpaceEventHandler(eM),o.StreetViewData.navigation_handler.setInputAction(function(Q){var T=A.scene.pick(Q.position);o._cesium.defined(T)&&(T&&T.id&&T.id.isNavigation?(E&&(E.polygon.outlineColor=o._cesium.Color.BLACK.withAlpha(.5),E.polygon.material=o._cesium.Color.WHITE),E=T.id,E.polygon.outlineColor=o._cesium.Color.BLUE,E.polygon.material=o._cesium.Color.WHITE.withAlpha(.9)):E&&(E.polygon.outlineColor=o._cesium.Color.BLACK.withAlpha(.5),E.polygon.material=o._cesium.Color.WHITE,E=void 0)),E&&o.MoveToLinkImage(E.linkImageData)},o._cesium.ScreenSpaceEventType.LEFT_CLICK);function x(Q,T,w,S){var D=w*Math.sin(S*Math.PI/180),R=w*Math.cos(S*Math.PI/180),P=m+(f-m)*(90-T)/90,M=P*Math.cos(T*Math.PI/180),L=(D/M+Q*Math.PI/180)*180/Math.PI,F=(R/P+T*Math.PI/180)*180/Math.PI;return[L,F]}function y(Q){return Q*Math.PI/180}function I(Q,T,w,S){var D=y(T),R=y(S),P=y(S)-y(T),M=y(w)-y(Q),L=2*Math.asin(Math.sqrt(Math.pow(Math.sin(P/2),2)+Math.cos(D)*Math.cos(R)*Math.pow(Math.sin(M/2),2)));L=L*f,L=Math.round(L*1e4)/1e4;var F;return P===0&&M>0?F=90:P===0&&M<0?F=270:P<0&&M===0?F=180:P>=0&&M===0?F=0:P<0&&M>0?F=180-Math.atan(M/-P)*180/Math.PI:P<0&&M<0?F=180+Math.atan(M/P)*180/Math.PI:P>0&&M<0?F=360-Math.atan(-M/P)*180/Math.PI:F=Math.atan(M/P)*180/Math.PI,{angle:F,distance:L}}function v(Q,T,w){var S=I(Q.lon,Q.lat,T.lon,T.lat);return x(Q.lon,Q.lat,S.distance,w-S.angle)}function B(Q,T){var w=[],S=x(Q.lon,Q.lat,3.5,A.camera.heading*180/Math.PI),D={lon:S[0],lat:S[1]};S=x(S[0],S[1],1.1,0),w.push(S[0],S[1]),S=x(S[0],S[1],.5758,135),w.push(S[0],S[1]),S=x(S[0],S[1],.2,270),w.push(S[0],S[1]),S=x(S[0],S[1],.5,180),w.push(S[0],S[1]),S=x(S[0],S[1],.4,270),w.push(S[0],S[1]),S=x(S[0],S[1],.5,0),w.push(S[0],S[1]),S=x(S[0],S[1],.2,270),w.push(S[0],S[1]);for(var R=0,P;R<w.length-1;R+=2)P=v(D,{lon:w[R],lat:w[R+1]},T),w[R]=P[0],w[R+1]=P[1];return w}};var CW=Qf;function j2e(o,A){this._viewer=o,this._cesium=A}j2e.prototype.depthTestAgainstTerrain=function(o){this._viewer.scene.globe.depthTestAgainstTerrain=o};j2e.prototype.show=function(){return this._viewer.scene.globe.depthTestAgainstTerrain};var Ght=j2e;var Hht,Vht,EW,GH,ZOi,zht,Gk,Cle,Yht,Gk,UH,$Oi=[1,1e5],da;function eUi(o,A){if(!(da.canvas.width<=0||da.canvas.height<=0)){var f,m=da.camera.getPickRay(o);m&&(f=da.scene.globe.pick(m,da.scene));var C=da.scene.pick(o);if(C&&C.id instanceof zr.Entity&&(C=void 0),C){var E=da.scene.pickPosition(o);E&&(f=E)}return f}}var zr=null;function ng(o,A){zr=A,this._normalShadowMap=o.scene.shadowMap,da=o,zr.Scene.prototype.screenToWorld=eUi,this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._getPosition=new kl(o,A),this._startPositionCartesian=null,this._startPositionCartographic=null,this._currentPosition=null,this._prevRadius=null,this._currentRadius=null,this._currentFovHorizontal=null,this._currentFovVertical=null,this._viewshedDirection=null,this._scratchCartesian3=new zr.Cartesian3,this._texture=null,this._canEnlarge=!1,this._viewshedPrimitive=null,this._eventListener=null,this._viewshedMap=void 0,this._firstTime=!0,this._editingMode=!1,this._isSliderClicked=!1,this._currentObject=void 0,this._setNewPosition=!1,this._setNewPositionCanDrag=!1,this._setNewName=!1,this._listControl=void 0,this._addingViewshedMode=!1,this._initialCameraParams={},this._isCancelledTerrain=!1,this._isCancelledPrimitives=!1,this._isSpherical=!1,this._occluder=void 0,this._horizonCullingDistanceFromPoint=void 0,this._mousePositionX=void 0,this._mousePositionY=void 0,this._zAxisNewPosition=void 0,this._startingRepoZHeight=void 0,this._viewshedCartoPos=void 0,this._propertiesChanged=!1,this._calculations=[],this._exposures=[],this._calculating=!1,this._calculatingExposure=!1,this.viewshedCalculateNormals=!1,this._txtUnit="meters_short",this.isLoadingScreenOn=!1,this._primitiveColor=zr.Color.WHITE,this._predefinedPrimitiveColors={BEYOND_THE_HORIZON:zr.Color.WHITE,DEFAULT:zr.Color.WHITE},this._layersStorage=null,this.getId=function(){return"Viewshed"},this.maxNumViewshed=8,Hht=53*zr.Math.RADIANS_PER_DEGREE,Vht=53*zr.Math.RADIANS_PER_DEGREE,EW=6371010,GH={ABOVE_SEA_LEVEL:0,ABOVE_GROUND_LEVEL:1,ABOVE_MODEL:2},ZOi=void 0,zht=new zr.Cartesian3,Gk=new zr.Matrix4,Cle=new zr.Cartesian4,Yht=new zr.Cartesian3,Gk=new zr.Matrix4,UH=new Array(4),UH[0]=new zr.Cartesian4(-1,-1,1,1),UH[1]=new zr.Cartesian4(1,-1,1,1),UH[2]=new zr.Cartesian4(1,1,1,1),UH[3]=new zr.Cartesian4(-1,1,1,1)}ng.prototype.setOptions=function(o){this._currentObject={viewshedPrimitive:this._viewshedPrimitive,viewshedMap:this._viewshedMap,viewshedObjOptions:o||{}}};ng.prototype.startDraw=function(o){this._viewshedPrimitive&&(da.scene.primitives.remove(this._viewshedPrimitive),this._viewshedPrimitive=null),this._core.setDepthTest("open",this._viewer),this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),this._eventListener&&this._eventListener.destroy(),this._eventListener=new zr.ScreenSpaceEventHandler(da.scene.canvas),this._viewshedDefaultNamingArray===void 0&&(this._viewshedDefaultNamingArray=new Array(this.maxNumViewshed)),this._addingViewshedMode=!0,this._editingMode=!1,this._currentObject={viewshedPrimitive:this._viewshedPrimitive,viewshedMap:this._viewshedMap,viewshedObjOptions:o||{}},this._isSpherical=o.isSpherical,this._setNewPosition=!1,this._core.getBrowser().pc!="pc"?(this._eventListener.setInputAction($.proxy(this.setViewshedPositionMobile,this),zr.ScreenSpaceEventType.LEFT_CLICK),da.scene.preRender.addEventListener(this.onPreFrameMobile,this)):(this._eventListener.setInputAction($.proxy(this.setViewshedPosition,this),zr.ScreenSpaceEventType.LEFT_CLICK),da.scene.preRender.addEventListener(this.onPreFrame,this)),this.end=A=>{this.end=void 0,da.scene.preRender.removeEventListener(this.onPreFrame,this);try{da.scene.preRender.removeEventListener(this.onPreFrameMobile,this)}catch{}this._eventListener&&this._eventListener.destroy(),this._core.setDepthTest("close",this._viewer),this._core.mouse(this._viewer.container,0)}};ng.prototype.close=function(){da.scene.preRender.removeEventListener(this.onPreFrame,this);try{da.scene.preRender.removeEventListener(this.onPreFrameMobile,this)}catch{}this._eventListener&&this._eventListener.destroy(),this._viewshedPrimitive&&(da.scene.primitives.remove(this._viewshedPrimitive),this._viewshedPrimitive=null);var o=da.scene,A=da.scene.context,f={context:A,lightCamera:o._sunCamera};o.shadowMap.destroy(),o.shadowMap=new zr.ShadowMap(f);var m=o.shadowMap;if(this._currentObject&&this._currentObject.viewshedObjOptions&&this._currentObject.viewshedObjOptions.color&&this._currentObject.viewshedObjOptions.color.default){var C=this._currentObject.viewshedObjOptions.color.default;m._color=new zr.Cartesian3(C.r,C.g,C.b)}m.enabled=!0,m.debugShow=!1,m.guid=void 0,m.show=!0,m.maximumDistance=1e4,m.debugCreateRenderStates(),m.dirty=!0,da.scene.globe.shadows=zr.ShadowMode.fromCastReceive(!0,!0),da.scene.globe.show=!0,o.skyAtmosphere.show=!0,da.scene.shadowMap=this._normalShadowMap,this._startPositionCartesian=null,this.resetAllVariables(),this._core.setDepthTest("close",this._viewer),this._core.mouse(this._viewer.container,0)};ng.prototype.setVisibility=function(o){this._viewshedPrimitive.show=o,da.shadowMap.enabled=o};ng.prototype.reset=function(){var o=da.scene,A=da.scene.context,f={context:A,lightCamera:o._sunCamera};o.shadowMap.destroy(),o.shadowMap=new zr.ShadowMap(f);var m=o.shadowMap;if(this._currentObject&&this._currentObject.viewshedObjOptions&&this._currentObject.viewshedObjOptions.color&&this._currentObject.viewshedObjOptions.color.default){var C=this._currentObject.viewshedObjOptions.color.default;m._color=new zr.Cartesian3(C.r,C.g,C.b)}m.enabled=!0,m.debugShow=!1,m.guid=void 0,m.show=!0,m.maximumDistance=1e4,m.debugCreateRenderStates(),m.dirty=!0,da.scene.globe.shadows=zr.ShadowMode.fromCastReceive(!0,!0),da.scene.globe.show=!0,o.skyAtmosphere.show=!0,da.scene.shadowMap=this._normalShadowMap};ng.prototype.addViewshed=function(o={}){this._viewshedPrimitive&&this.close();let A=new zr.HeadingPitchRange(o.heading,o.pitch,.01),f=zr.Cartesian3.fromDegrees(o.lon,o.lat,o.height);this._currentRadius=o.distance||1e3,this._isSpherical=o.isSpherical,this._currentObject=this.CreateViewshed(f,this._currentRadius,A,o),this._isSpherical?this.createViewshedSpherePrimitive(f):this.createViewshedCameraPrimitive(f,this._currentObject.viewshedMap._lightCamera)};ng.prototype.CreateViewshed=function(o,A,f,m){var C=da.scene,E=new zr.Camera(C),x=da.scene.context;E.frustum.fov=53*Math.PI/180,E.frustum.aspectRatio=1,E.frustum.near=1,E.frustum.far=A,E.lookAt(o,f);var y={context:x,lightCamera:E,cascadesEnabled:!1,isPointLight:this._isSpherical,pointLightRadius:A};C.shadowMap=new zr.ShadowMap(y);var I=C.shadowMap;m.color&&(I._viewshed_Back=new zr.Cartesian3(m.color.Back.r,m.color.Back.g,m.color.Back.b),I._viewshed_Fore=new zr.Cartesian3(m.color.Fore.r,m.color.Fore.g,m.color.Fore.b)),I.enabled=!0,I.debugShow=!1,I.guid=zr.createGuid(),I.show=!0,I.maximumDistance=1e4,I._pointLightRadius=A,I.debugCreateRenderStates(),I._distance=A,I.dirty=!0,da.scene.globe.shadows=zr.ShadowMode.fromCastReceive(!0,!0),da.scene.globe.show=!0,C.skyAtmosphere.show=!0;var v={};return v.position=o,v.distance=A,v.direction=f,v.viewshedObjOptions=m,v.guid=this._cesium.createGuid(),v.viewshedObjOptions.originalDirection=f,v.type="viewshed",v.viewshedMap=I,v};ng.prototype.resetAllVariables=function(){this._startPositionCartesian=null,this._startPositionCartographic=null,this._currentPosition=null,this._currentRadius=null,this._currentFovHorizontal=null,this._currentFovVertical=null,this._setNewPosition=!1,this._currentObject=void 0,this._viewshedMap=void 0,this._canEnlarge=!1,this._zAxisNewPosition=void 0,this._viewshedDirection=null};ng.prototype.setViewshedPosition=function(o){if(!this._setNewPosition){if(this._canEnlarge&&this._viewshedPrimitive!=null){if(this._canEnlarge=!1,this._eventListener.removeInputAction(zr.ScreenSpaceEventType.MOUSE_MOVE),this._eventListener.removeInputAction(zr.ScreenSpaceEventType.LEFT_CLICK),this._currentObject.viewshedObjOptions.end&&this._currentObject.viewshedObjOptions.end(),this._core.mouse(this._viewer.container,0),this._viewshedMap!=null&&this._viewshedPrimitive!=null){var A=this._viewshedPrimitive._camera;this._currentObject.viewshedObjOptions.initialHeading=A.heading,this._currentObject.viewshedObjOptions.initialPitch=A.pitch,this._currentObject.viewshedObjOptions.initialRoll=A.roll,this._currentObject.viewshedObjOptions.altitudeMethod=zr.defaultValue(this._currentObject.viewshedObjOptions.altitudeMethod,2);var f={displayName:this._currentObject.viewshedObjOptions.name,color:this._currentObject.viewshedObjOptions.color,hFOV:A.frustum.fov,vFOV:A.frustum.fovy,aspectRatio:A.frustum.aspectRatio,height:this._currentObject.viewshedObjOptions.height,distance:this._currentObject.viewshedObjOptions.distance,xPos:this._currentObject.viewshedObjOptions.xPos,yPos:this._currentObject.viewshedObjOptions.yPos,altitudeMethod:this._currentObject.viewshedObjOptions.altitudeMethod,pickHeight:this._currentObject.viewshedObjOptions.pickHeight,horizonCullingDistanceFromViewshed:this._horizonCullingDistanceFromPoint,initialHeading:this._currentObject.viewshedObjOptions.initialHeading,initialPitch:this._currentObject.viewshedObjOptions.initialPitch,initialRoll:this._currentObject.viewshedObjOptions.initialRoll},m=this.CreateViewshed(A.position,zr.defaultValue(this._currentObject.viewshedObjOptions.distance,this._currentRadius),new zr.HeadingPitchRange(A.heading,A.pitch,.01),f);if(this._eventListener.removeInputAction(zr.ScreenSpaceEventType.LEFT_CLICK),this._eventListener.removeInputAction(zr.ScreenSpaceEventType.LEFT_DOWN),this._eventListener.removeInputAction(zr.ScreenSpaceEventType.LEFT_UP),this._eventListener.removeInputAction(zr.ScreenSpaceEventType.MOUSE_MOVE),m==-1)return;this.resetAllVariables(),this._currentObject=m;var C=da.scene.primitives._primitives,E=$.grep(C,function(D){return D.isViewshed===!0}),x=[];if(C.forEach(function(D,R){D.isViewshed&&x.push(R)}),x.length>1){var y=x[x.length-2],I=da.scene.primitives._primitives[y];da.scene.primitives.remove(I)}}}else if(zr.defined(o)&&this._currentObject!==void 0){var v=this._getPosition.getMousePosition(o);if(v!==void 0){var B=0,Q=0;this._startPositionCartographic=da.scene.globe.ellipsoid.cartesianToCartographic(v),this._currentObject.viewshedObjOptions.pickHeight=this._startPositionCartographic.height,this._currentObject.viewshedObjOptions.height!==void 0&&(Q=this._currentObject.viewshedObjOptions.height);var T=new zr.Cartesian3.fromRadians(this._startPositionCartographic.longitude,this._startPositionCartographic.latitude,this._startPositionCartographic.height+B+Q);this._startPositionCartesian=T;var w=this._startPositionCartesian,S=new zr.BoundingSphere(new zr.Cartesian3(0,0,0),EW);this._occluder=new zr.Occluder(S,w),this._canEnlarge=!0,this._eventListener.setInputAction($.proxy(this.onMouseMove,this),zr.ScreenSpaceEventType.MOUSE_MOVE)}}}};ng.prototype.update=function(o={}){if(this._currentObject&&this._currentObject.viewshedMap){let A=this._currentObject.direction;Object.assign(A,o);let f=this._currentObject.position;if(o.lon!==void 0||o.lat!==void 0||o.height!==void 0){let m=this._core.toDegrees(f);Object.assign(m,o),f=zr.Cartesian3.fromDegrees(m.lon,m.lat,m.height),this._currentObject.position=f}o.distance!==void 0&&(this._currentRadius=o.distance),this._currentRadius?this._currentObject.viewshedMap._lightCamera.frustum.far=this._currentRadius:this._currentRadius=this._currentObject.viewshedMap._lightCamera.frustum.far,this._currentObject.viewshedMap._lightCamera.lookAt(f,A),this._isSpherical?this.createViewshedSpherePrimitive(f):this.createViewshedCameraPrimitive(f,this._currentObject.viewshedMap._lightCamera)}};ng.prototype.setViewshedPositionMobile=function(o){if(!this._setNewPosition){if(this.onMouseMove(o),this.createViewshedCameraPrimitive(),this._canEnlarge&&this._viewshedPrimitive!=null){if(this._currentObject.viewshedObjOptions.end&&this._currentObject.viewshedObjOptions.end(),this._core.mouse(this._viewer.container,0),this.createViewshedMap(),this._viewshedMap!=null&&this._viewshedPrimitive!=null){var A=this._viewshedPrimitive._camera;this._currentObject.viewshedObjOptions.initialHeading=A.heading,this._currentObject.viewshedObjOptions.initialPitch=A.pitch,this._currentObject.viewshedObjOptions.initialRoll=A.roll,this._currentObject.viewshedObjOptions.altitudeMethod=zr.defaultValue(this._currentObject.viewshedObjOptions.altitudeMethod,2);var f={displayName:this._currentObject.viewshedObjOptions.name,color:this._currentObject.viewshedObjOptions.color,hFOV:A.frustum.fov,vFOV:A.frustum.fovy,aspectRatio:A.frustum.aspectRatio,height:this._currentObject.viewshedObjOptions.height,distance:this._currentObject.viewshedObjOptions.distance,xPos:this._currentObject.viewshedObjOptions.xPos,yPos:this._currentObject.viewshedObjOptions.yPos,altitudeMethod:this._currentObject.viewshedObjOptions.altitudeMethod,pickHeight:this._currentObject.viewshedObjOptions.pickHeight,horizonCullingDistanceFromViewshed:this._horizonCullingDistanceFromPoint,initialHeading:this._currentObject.viewshedObjOptions.initialHeading,initialPitch:this._currentObject.viewshedObjOptions.initialPitch,initialRoll:this._currentObject.viewshedObjOptions.initialRoll},m=this.CreateViewshed(A.position,zr.defaultValue(this._currentObject.viewshedObjOptions.distance,this._currentRadius),new zr.HeadingPitchRange(A.heading,A.pitch,.01),f);if(this._eventListener.removeInputAction(zr.ScreenSpaceEventType.LEFT_CLICK),this._eventListener.removeInputAction(zr.ScreenSpaceEventType.LEFT_DOWN),this._eventListener.removeInputAction(zr.ScreenSpaceEventType.LEFT_UP),this._eventListener.removeInputAction(zr.ScreenSpaceEventType.MOUSE_MOVE),m==-1)return;this._currentObject=m;var C=da.scene.primitives._primitives,E=$.grep(C,function(D){return D.isViewshed===!0}),x=[];if(C.forEach(function(D,R){D.isViewshed&&x.push(R)}),x.length>1){var y=x[x.length-2],I=da.scene.primitives._primitives[y];da.scene.primitives.remove(I)}}}else if(zr.defined(o)&&this._currentObject!==void 0){var v=this._getPosition.getMousePosition(o);if(v!==void 0){var B=0,Q=0;this._startPositionCartographic=da.scene.globe.ellipsoid.cartesianToCartographic(v),this._currentObject.viewshedObjOptions.pickHeight=this._startPositionCartographic.height,this._currentObject.viewshedObjOptions.height!==void 0&&(Q=this._currentObject.viewshedObjOptions.height);var T=new zr.Cartesian3.fromRadians(this._startPositionCartographic.longitude,this._startPositionCartographic.latitude,this._startPositionCartographic.height+B+Q);this._startPositionCartesian||(this._startPositionCartesian=T);var w=this._startPositionCartesian,S=new zr.BoundingSphere(new zr.Cartesian3(0,0,0),EW);this._occluder=new zr.Occluder(S,w),this._canEnlarge=!0,this._eventListener.setInputAction($.proxy(this.onMouseMove,this),zr.ScreenSpaceEventType.MOUSE_MOVE)}}}};ng.prototype.onMouseMove=function(o){if(zr.defined(o)){var A={},f=this._getPosition.getMousePosition(o);if(f!=null){if(A.pickPrimitive!=null&&A.pickPrimitive._camera!=null)return;var m={};if(this._setNewPosition)if(this._setNewPositionCanDrag){var B=void 0,Q=da.scene.globe.ellipsoid.cartesianToCartographic(f);if(this._currentObject.viewshedObjOptions.pickHeight=Q.height,this._currentObject.viewshedObjOptions.terrainHeight=da.scene.globe.getHeight(Q),this._zAxisNewPosition){var T=o.endPosition.y-this._startingRepoZ.y,w=zr.Cartesian3.magnitude(zr.Cartesian3.subtract(this._currentObject.position,da.camera.position,this._scratchCartesian3),this._scratchCartesian3),S=T/da.canvas.height,D=-1*w*S;this._viewshedCartoPos==null&&(this._viewshedCartoPos=new zr.Cartographic.fromCartesian(this._currentObject.position)),B=new zr.Cartesian3.fromRadians(this._viewshedCartoPos.longitude,this._viewshedCartoPos.latitude,this._viewshedCartoPos.height+D)}else this._currentObject.viewshedObjOptions.altitudeMethod==GH.ABOVE_SEA_LEVEL?B=new zr.Cartesian3.fromRadians(Q.longitude,Q.latitude,this._startingRepoZHeight):B=f;this._newPosition=B}else{var C=f,E=zr.Matrix4.multiplyByVector(da.camera._viewMatrix,zr.Cartesian4.fromElements(C.x,C.y,C.z,1,Cle),Cle),x=zr.Matrix4.multiplyByVector(da.camera.frustum.projectionMatrix,E,Cle),y=zr.Cartesian3.divideByScalar(x,x.w,Yht),I=Math.floor((y.x*.5+.5)*da.canvas.width),v=Math.floor((y.y*.5+.5)*da.canvas.height);this._mousePositionX=I,this._mousePositionY=v}else{if(this._startPositionCartesian==null||(zr.Cartesian3.subtract(f,this._startPositionCartesian,m),!(!isNaN(m.x)&&!isNaN(m.y)&&!isNaN(m.z))))return;this._viewshedDirection=zr.Cartesian3.normalize(m,this._scratchCartesian3),this._currentRadius=zr.Cartesian3.magnitude(m)}}else this._mousePositionX=void 0,this._mousePositionY=void 0}};ng.prototype.createViewshedSpherePrimitive=function(o,A){try{var f=o??this._startPositionCartesian,m=A??this._currentRadius;if(m<=1)return!1;this._viewshedPrimitive!=null&&da.scene.primitives.remove(this._viewshedPrimitive);var C=zr.Matrix4.multiplyByTranslation(zr.Transforms.eastNorthUpToFixedFrame(f),new zr.Cartesian3(0,0,0),Gk),E=new zr.GeometryInstance({geometry:new zr.SphereOutlineGeometry({radius:m,stackPartitions:12,slicePartitions:12}),modelMatrix:C,attributes:{color:zr.ColorGeometryInstanceAttribute.fromColor(new zr.Color(1,1,1,.5))}});this._viewshedPrimitive=da.scene.primitives.add(new zr.Primitive({geometryInstances:E,appearance:new zr.PerInstanceColorAppearance({flat:!0,renderState:{lineWidth:1}}),allowPicking:!1,asynchronous:!1}));var x=new zr.Camera(da.scene);x.position=f,x.direction=zr.Cartesian3.negate(zr.Cartesian3.UNIT_Z,this._scratchCartesian3),this._viewshedPrimitive._camera=x}catch{return!1}return this._viewshedPrimitive};ng.prototype.createViewshedCameraPrimitive=function(o,A){this._viewshedPrimitive!=null&&da.scene.primitives.remove(this._viewshedPrimitive);var f=new zr.Camera(da.scene);if(!(!this._startPositionCartesian&&!o))return o!=null?f.position=o:f.position=this._startPositionCartesian,this._viewshedDirection!=null&&!isNaN(this._viewshedDirection.x)&&!isNaN(this._viewshedDirection.y)&&(f.direction=this._viewshedDirection.clone(),f.up=da.scene.globe.ellipsoid.geodeticSurfaceNormal(f.position,zht)),f.frustum.isViewshed=!0,f.frustum.fov=zr.defaultValue(this._currentObject.viewshedObjOptions.fov,Hht),f.frustum._fovy=zr.defaultValue(this._currentObject.viewshedObjOptions.fovy,Vht),f.frustum.aspectRatio=Math.tan(f.frustum.fov/2)/Math.tan(f.frustum._fovy/2),f.frustum.near=1,this._currentRadius<=1?!1:(f.frustum.far=zr.defaultValue(this._currentObject.viewshedObjOptions.distance,this._currentRadius),this._viewshedPrimitive=da.scene.primitives.add(new zr.DebugCameraPrimitive({camera:A||f,color:this._primitiveColor})),this._viewshedPrimitive._numFrustrums=0,this._viewshedPrimitive._outlineOnlyFrustum=!0,this._viewshedPrimitive.update=this.updateViewshedPrimitive,this._viewshedPrimitive)};ng.prototype.createViewshedMap=function(){da.scene.viewsheds==null&&da.scene.viewsheds,this._viewshedPrimitive._camera!=null&&this._canEnlarge&&(this._viewshedMap==null?(this._viewshedMap=new zr.ShadowMap({context:da.scene.context,lightCamera:this._viewshedPrimitive._camera,enabled:1,isSpotLight:!0,fromLightSource:!0,softShadows:!1,isPointLight:this._isSpherical,pointLightRadius:zr.defaultValue(this._currentObject.viewshedObjOptions.distance,this._currentRadius)}),this._viewshedMap.show=!0,this._viewshedMap.isPreviewMode=!0,this._viewshedMap.guid="SamplerViewshed",this._viewshedMap!=null):(this._viewshedMap._lightCamera.direction=this._viewshedPrimitive._camera.direction,this._viewshedMap._lightCamera.frustum.far=zr.defaultValue(this._currentObject.viewshedObjOptions.distance,this._currentRadius)))};ng.prototype.updateViewshedPrimitive=function(o){if(!!this.show){if(this._updateOnChange&&(this._outlinePrimitive=this._outlinePrimitive&&this._outlinePrimitive.destroy()),!zr.defined(this._outlinePrimitive)){var A=this._camera,f=A.frustum,m=o.frustumSplits,C=m.length-1;C=this._numFrustrums,C<=0&&(m=$Oi,m[0]=this._camera.frustum.near,m[1]=this._camera.frustum.far,C=1);var E=this._camera.viewMatrix,x,y;if(zr.defined(A.frustum.fovy)){var I=this._camera.frustum.projectionMatrix,v=zr.Matrix4.multiply(I,E,Gk);y=zr.Matrix4.inverse(v,Gk)}else x=zr.Matrix4.inverseTransformation(E,Gk);var B=new Float64Array(12*(C+1)+3),Q;for(Q=0;Q<C+1;++Q)for(var T=0;T<4;++T){var w=zr.Cartesian4.clone(UH[T],ng[T]);if(zr.defined(y)){w=zr.Matrix4.multiplyByVector(y,w,w);var R=1/w.w;zr.Cartesian3.multiplyByScalar(w,R,w),zr.Cartesian3.subtract(w,this._camera.positionWC,w),zr.Cartesian3.normalize(w,w);var P=zr.Cartesian3.dot(this._camera.directionWC,w);zr.Cartesian3.multiplyByScalar(w,m[Q]/P,w),zr.Cartesian3.add(w,this._camera.positionWC,w)}else{zr.defined(f._offCenterFrustum)&&(f=f._offCenterFrustum);var S,D;Q===C?(S=m[Q-1],D=m[Q]):(S=m[Q],D=m[Q+1]),w.x=(w.x*(f.right-f.left)+f.left+f.right)*.5,w.y=(w.y*(f.top-f.bottom)+f.bottom+f.top)*.5,w.z=(w.z*(S-D)-S-D)*.5,w.w=1,zr.Matrix4.multiplyByVector(x,w,w)}B[12*Q+T*3]=w.x,B[12*Q+T*3+1]=w.y,B[12*Q+T*3+2]=w.z}B[12*C+12]=this._camera.positionWC.x,B[12*C+12+1]=this._camera.positionWC.y,B[12*C+12+2]=this._camera.positionWC.z;var M=new zr.BoundingSphere.fromVertices(B),L=new zr.GeometryAttributes;L.position=new zr.GeometryAttribute({componentDatatype:zr.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:B});var F,k,N=new Uint16Array(8*(2*C+1+1));for(Q=0;Q<C+1;++Q)F=Q*8,k=Q*4,N[F]=k,N[F+1]=k+1,N[F+2]=k+1,N[F+3]=k+2,N[F+4]=k+2,N[F+5]=k+3,N[F+6]=k+3,N[F+7]=k;for(Q=0;Q<C;++Q)F=(C+1+Q)*8,k=Q*4,N[F]=k,N[F+1]=k+4,N[F+2]=k+1,N[F+3]=k+5,N[F+4]=k+2,N[F+5]=k+6,N[F+6]=k+3,N[F+7]=k+7;F+=8,N[F]=k+8,N[F+1]=k+1,N[F+2]=k+8,N[F+3]=k+2,N[F+4]=k+8,N[F+5]=k+3,N[F+6]=k+8,N[F+7]=k+4,this._outlinePrimitive=new zr.Primitive({geometryInstances:new zr.GeometryInstance({geometry:{attributes:L,indices:N,primitiveType:zr.PrimitiveType.LINES,boundingSphere:M},attributes:{color:zr.ColorGeometryInstanceAttribute.fromColor(this._color)},id:this.id,pickPrimitive:this}),appearance:new zr.PerInstanceColorAppearance({translucent:!1,flat:!0}),asynchronous:!1})}this._outlinePrimitive.isViewshedPart=!0,this._outlinePrimitive.update(o)}};ng.prototype.getHorizonDistance=function(o){return Math.sqrt(Math.pow(EW+o,2)-Math.pow(EW,2))};ng.prototype.onPreFrame=function(o){var A,f;if(this._currentObject!=null&&this._currentObject.viewshedPrimitive!=null&&this._currentObject.viewshedMap!=null){A=new zr.Cartographic.fromCartesian(this._currentObject.viewshedPrimitive._camera.position);var m=this.getHorizonDistance(A.height);this._currentObject.viewshedMap.horizonCullingDistanceFromViewshed=m,f=da.scene.globe.getHeight(A),this._currentObject.viewshedMap.isBelowGround=A.height<f+.5}if(this._currentObject!=null&&this._currentObject.viewshedMap!=null,this._newPosition!=null&&this.toPreviewMode(this._currentObject),this._canEnlarge&&this._currentRadius!=null&&this._prevRadius!=this._currentRadius){this._prevRadius=this._currentRadius;var C=this._isSpherical?this.createViewshedSpherePrimitive():this.createViewshedCameraPrimitive();C&&this.createViewshedMap()}else if(this._currentObject!=null&&this._setNewPosition&&this._mousePositionX!=null&&this._mousePositionY!=null){if(this.getPosXAndY(),this._currentObject.viewshedObjOptions.isSpherical)this._currentObject.viewshedMap._lightCamera.position=this._newPosition,this._currentObject.viewshedPrimitive=this.createViewshedSpherePrimitive(this._newPosition,this._currentObject.distance);else if(this.checkIfMouseOnPosition(),this._newPosition!=null){if(this._currentObject.viewshedObjOptions.altitudeMethod==GH.ABOVE_GROUND_LEVEL&&this._zAxisNewPosition==null){var E=zr.Cartographic.fromCartesian(this._newPosition.clone()),x=zr.Cartesian3.fromRadians(E.longitude,E.latitude,da.scene.globe.getHeight(E)+this._currentObject.startingAltitudeAboveGround);this._currentObject.viewshedPrimitive._camera.position=x}else if(this._currentObject.viewshedObjOptions.altitudeMethod==GH.ABOVE_MODEL&&this._zAxisNewPosition==null){var E=zr.Cartographic.fromCartesian(this._newPosition.clone()),x=zr.Cartesian3.fromRadians(E.longitude,E.latitude,E.height+this._currentObject.startingAltitudeAboveModel);this._currentObject.viewshedPrimitive._camera.position=x}else this._currentObject.viewshedPrimitive._camera.position=this._newPosition;this.adjustDirections()}}};ng.prototype.onPreFrameMobile=function(o){var A,f;if(this._currentObject!=null&&this._currentObject.viewshedPrimitive!=null&&this._currentObject.viewshedMap!=null){A=new zr.Cartographic.fromCartesian(this._currentObject.viewshedPrimitive._camera.position);var m=this.getHorizonDistance(A.height);this._currentObject.viewshedMap.horizonCullingDistanceFromViewshed=m,f=da.scene.globe.getHeight(A),this._currentObject.viewshedMap.isBelowGround=A.height<f+.5}if(this._currentObject!=null&&this._currentObject.viewshedMap!=null,this._newPosition!=null&&this.toPreviewMode(this._currentObject),this._canEnlarge&&this._currentRadius!=null){this._prevRadius=this._currentRadius;var C=this._isSpherical?this.createViewshedSpherePrimitive():this.createViewshedCameraPrimitive();C&&this.createViewshedMap()}else if(this._currentObject!=null&&this._setNewPosition&&this._mousePositionX!=null&&this._mousePositionY!=null){if(this.getPosXAndY(),this._currentObject.viewshedObjOptions.isSpherical)this._currentObject.viewshedMap._lightCamera.position=this._newPosition,this._currentObject.viewshedPrimitive=this.createViewshedSpherePrimitive(this._newPosition,this._currentObject.distance);else if(this.checkIfMouseOnPosition(),this._newPosition!=null){if(this._currentObject.viewshedObjOptions.altitudeMethod==GH.ABOVE_GROUND_LEVEL&&this._zAxisNewPosition==null){var E=zr.Cartographic.fromCartesian(this._newPosition.clone()),x=zr.Cartesian3.fromRadians(E.longitude,E.latitude,da.scene.globe.getHeight(E)+this._currentObject.startingAltitudeAboveGround);this._currentObject.viewshedPrimitive._camera.position=x}else if(this._currentObject.viewshedObjOptions.altitudeMethod==GH.ABOVE_MODEL&&this._zAxisNewPosition==null){var E=zr.Cartographic.fromCartesian(this._newPosition.clone()),x=zr.Cartesian3.fromRadians(E.longitude,E.latitude,E.height+this._currentObject.startingAltitudeAboveModel);this._currentObject.viewshedPrimitive._camera.position=x}else this._currentObject.viewshedPrimitive._camera.position=this._newPosition;this.adjustDirections()}}};var Ele=ng;var xW=null;function Hk(o,A){xW=A,this._viewer=o,this._cesium=A,this._core=new $i(o,A),this.isPause=!1,this.isLoad=!1}Hk.prototype.createViewshed=function(o={}){o.alpha=this._core.defaultValue(o.alpha,.5),o.horizonAngle=this._core.defaultValue(o.horizonAngle,60),o.verticalAngle=this._core.defaultValue(o.verticalAngle,60);let A=new YR(this._viewer,xW);return A.createViewCone({height:this._core.defaultValue(o.height,1.7)},(f,m)=>{this.ShadowPostProcess=new HK(this._viewer,{cameraPosition:m[0],position:m[1],far:xW.Cartesian3.distance(m[0],m[1]),showFarScale:6,viewshed:{visible:o.visible,unvisible:o.unvisible},...o},xW),A.destroy(),A=null}),this};Hk.prototype.addViewshed=function(o={}){return o.alpha=this._core.defaultValue(o.alpha,.5),o.horizonAngle=this._core.defaultValue(o.horizonAngle,60),o.verticalAngle=this._core.defaultValue(o.verticalAngle,60),this.ShadowPostProcess=new HK(this._viewer,{showFarScale:6,viewshed:{visible:o.visible,unvisible:o.unvisible},...o},xW),this};Hk.prototype.updateViewshed=function(o){this.ShadowPostProcess.updatePost(o)};Hk.prototype.destroy=function(){this.ShadowPostProcess&&this.ShadowPostProcess.destroy(),this.ShadowPostProcess=null};Hk.prototype.changeHorizonAngle=function(o){this.ShadowPostProcess&&this.ShadowPostProcess.changeHorizonAngle(o)};Hk.prototype.changeVerticalAngle=function(o){this.ShadowPostProcess&&this.ShadowPostProcess.changeVerticalAngle(o)};var q2e=Hk;var zQ=null;function X2e(o,A){zQ=A,this._viewer=o,this._cesium=A}X2e.prototype.createSkylineAnalysis=function(o={}){this.clear();let A;typeof o=="string"?A={color:o,scale:2}:A={color:o.color||"#ff0000",scale:o.scale||2};let f=zQ.Color.fromCssColorString(A.color),m=Viewer.scene.postProcessStages;var C=`uniform sampler2D depthTexture; uniform float length; uniform vec4 color; in vec2 v_textureCoordinates; void main(void) { float directions[3]; directions[0] = -1.0; directions[1] = 0.0; directions[2] = 1.0; float scalars[3]; scalars[0] = 3.0; scalars[1] = 10.0; scalars[2] = 3.0; float padx = czm_pixelRatio / czm_viewport.z; float pady = czm_pixelRatio / czm_viewport.w; float horizEdge = 0.0; float vertEdge = 0.0; for (int i = 0; i < 3; ++i) { float dir = directions[i]; float scale = scalars[i]; horizEdge -= texture(depthTexture, v_textureCoordinates + vec2(-padx, dir * pady)).x * scale; horizEdge += texture(depthTexture, v_textureCoordinates + vec2(padx, dir * pady)).x * scale; vertEdge -= texture(depthTexture, v_textureCoordinates + vec2(dir * padx, -pady)).x * scale; vertEdge += texture(depthTexture, v_textureCoordinates + vec2(dir * padx, pady)).x * scale; } float len = sqrt(horizEdge * horizEdge + vertEdge * vertEdge); out_FragColor = vec4(color.rgb, len > length ? color.a : 0.0); } `,E=zQ.createGuid();let x=new zQ.PostProcessStage({name:"czm_edge_detection_"+E,fragmentShader:C,uniforms:{length:.25,color:zQ.Color.clone(zQ.Color.BLACK)}}),y=new zQ.PostProcessStage({name:"czm_skylinetemp",fragmentShader:"uniform sampler2D colorTexture;uniform sampler2D depthTexture;in vec2 v_textureCoordinates;void main(void){float depth = czm_readDepth(depthTexture, v_textureCoordinates);vec4 color = texture(colorTexture, v_textureCoordinates);if(depth<1.0 - 0.000001){out_FragColor = color;}else{out_FragColor = vec4(1.0,0.0,0.0,1.0);}}"}),I=new zQ.PostProcessStage({name:"czm_skylinetemp1",fragmentShader:"uniform sampler2D colorTexture;uniform sampler2D redTexture;uniform sampler2D silhouetteTexture;in vec2 v_textureCoordinates;void main(void){vec4 redcolor=texture(redTexture, v_textureCoordinates);vec4 silhouetteColor = texture(silhouetteTexture, v_textureCoordinates);vec4 color = texture(colorTexture, v_textureCoordinates);if(redcolor.r == 1.0&&silhouetteColor.a>0.0){out_FragColor = vec4(1.0,0.0,0.0,1.0);}else{out_FragColor = vec4(0.0,0.0,0.0,1.0);;}}",uniforms:{redTexture:y.name,silhouetteTexture:x.name,length:.25}}),v=new zQ.PostProcessStage({name:"czm_skylinebold",fragmentShader:"uniform sampler2D colorTexture;uniform sampler2D redTexture;uniform float scale;uniform vec4 skylineColor;in vec2 v_textureCoordinates;void main(void){float padx = czm_pixelRatio / czm_viewport.z;float pady = czm_pixelRatio / czm_viewport.w;vec4 color = texture(colorTexture, v_textureCoordinates);out_FragColor = color;float scaleB = 3.0;int search = 0;for(float i=0.0;i<10.0;i++){for(float j=0.0;j<10.0;j++){vec2 redCoordi = v_textureCoordinates + vec2(i*padx,j*pady);vec4 redcolor=texture(redTexture, redCoordi);if(redcolor.r == 1.0){out_FragColor = skylineColor;search = 1;break;}if(j>=scale)break;}if(i>=scale||search>0)break;}}",uniforms:{redTexture:I.name,skylineColor:f,scale:A.scale}});this.postProccessStage=new zQ.PostProcessStageComposite({name:"czm_skyline",stages:[x,y,I,v],inputPreviousStageTexture:!1,uniforms:x.uniforms}),m.add(this.postProccessStage)};X2e.prototype.clear=function(){this.postProccessStage&&this._viewer.scene.postProcessStages.remove(this.postProccessStage)};var Jht=X2e;function tUi(o,A,f,m,C,E){let x=Cesium.defined;var y=m._frameState,I=o.derivedCommands;!x(I)||(y.useLogDepth&&x(I.logDepth)&&(o=I.logDepth.command),I=o.derivedCommands,x(I[A])&&(o=I[A][f],o.execute(C,E)))}var Z2e,$2e,ePe,tPe;function Kht(o,A,f,m,C,E){let{Pass:x,defined:y,PerspectiveFrustum:I,PerspectiveOffCenterFrustum:v,OrthographicFrustum:B,OrthographicOffCenterFrustum:Q}=Cesium;Z2e=Z2e||new I,$2e=$2e||new v,ePe=ePe||new B,tPe=tPe||new Q;let T=o._us,w=T._frameState,S=w.camera,D=S._scene,R=D._view,P=R.frustumCommandsList,M=P.length;var L=D._globeTranslucencyState,F=L.translucent,k;y(S.frustum.fov)?k=S.frustum.clone(Z2e):y(S.frustum.infiniteProjectionMatrix)?k=S.frustum.clone($2e):y(S.frustum.width)?k=S.frustum.clone(ePe):k=S.frustum.clone(tPe);function N(H,le,ue,Ae){(E?E(H,le):!0)&&(m&&C?tUi(H,m,C,le,ue,Ae):H.execute(ue,Ae))}for(var G,J,K,X=0;X<M;++X){var q=M-X-1,ee=P[q],ie=f.framebuffer;if(f.framebuffer=A,k.near=q!==0?ee.near*D.opaqueFrustumNearOffset:ee.near,k.far=ee.far,T.updateFrustum(k),T.updatePass(x.GLOBE),K=ee.commands[x.GLOBE],J=ee.indices[x.GLOBE],F)L.executeGlobeCommands(ee,N,globeTranslucencyFramebuffer,D,f);else for(G=0;G<J;++G)N(K[G],D,o,f);for(T.updatePass(x.CESIUM_3D_TILE),K=ee.commands[x.CESIUM_3D_TILE],J=ee.indices[x.CESIUM_3D_TILE],G=0;G<J;++G)N(K[G],D,o,f);for(T.updatePass(x.OPAQUE),K=ee.commands[x.OPAQUE],J=ee.indices[x.OPAQUE],G=0;G<J;++G)N(K[G],D,o,f);for(T.updatePass(x.TRANSLUCENT),K=ee.commands[x.TRANSLUCENT],J=ee.indices[x.TRANSLUCENT],G=0;G<J;++G)N(K[G],D,o,f);f.framebuffer=ie}}var Wht=` vec3 packNormalToRGB( const in vec3 normal ) { return normalize( normal ) * 0.5 + 0.5; } vec3 unpackRGBToNormal( const in vec3 rgb ) { return 2.0 * rgb.xyz - 1.0; } const float PackUpscale = 256. / 255.; // fraction -> 0..1 (including 1) const float UnpackDownscale = 255. / 256.; // 0..1 -> fraction (excluding 1) const vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. ); const vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. ); const float ShiftRight8 = 1. / 256.; vec4 packDepthToRGBA( const in float v ) { vec4 r = vec4( fract( v * PackFactors ), v ); r.yzw -= r.xyz * ShiftRight8; // tidy overflow return r * PackUpscale; } float unpackRGBAToDepth( const in vec4 v ) { return dot( v, UnpackFactors ); } vec4 pack2HalfToRGBA( vec2 v ) { vec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 )); return vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w); } vec2 unpackRGBATo2Half( vec4 v ) { return vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) ); } // NOTE: viewZ/eyeZ is < 0 when in front of the camera per OpenGL conventions float viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) { return ( viewZ + near ) / ( near - far ); } float orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) { return linearClipZ * ( near - far ) - near; } // NOTE: https://twitter.com/gonnavis/status/1377183786949959682 float viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) { return (( near + viewZ ) * far ) / (( far - near ) * viewZ ); } float perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) { return ( near * far ) / ( ( far - near ) * invClipZ - far ); } `,jht=`uniform sampler2D czm_selectedIdTexture; uniform float czm_selectedIdTextureStep; uniform float czm_selectedIdTextureWidth; bool czm_selected(vec4 id) { bool selected = false; for (int i = 0; i < 1024000; i++) { vec4 selectedId = texture(czm_selectedIdTexture, vec2((float(i) + 0.5) * czm_selectedIdTextureStep, 0.5)); if (all(equal(id, selectedId))) { return true; } if(float(i)>czm_selectedIdTextureWidth)break; } return false; } `;function iPe(o){let{defaultValue:A,BoundingRectangle:f,Pass:m,Sampler:C,DrawCommand:E,Color:x,ShaderSource:y,defined:I,ClearCommand:v,RenderState:B,Texture:Q,PixelDatatype:T,PixelFormat:w,Framebuffer:S}=Cesium;this._selectedIdTexture=null;let{name:D,vertexShader:R,fragmentShader:P,uniforms:M,renderStateProcess:L,beforeUpdate:F,renderType:k,textureScale:N,pixelFormat:G,pixelDatatype:J,sampler:K,viewportScale:X,shaderRedefine:q,overrideViewport:ee}=o,ie="renderPass_"+D.replace(/[\.\\\/\-]/g,"_"),H=`czm_non_${ie}_main`,le=`czm_${ie}_main`,ue=`_cache_${ie}`,Ae=ie+"Command",he=null,ge=null,fe=null,ae=null,U,W=new v({color:x.TRANSPARENT,depth:1}),Y=new f,z=this;if(ee&&f.clone(ee,Y),q=q||"add",k=k||"all",N=N||1,N<0||N>8)throw new Cesium.DeveloperError("CesiumRenderPass\uFF1AtextureScale\u5FC5\u987B\u5927\u4E8E0\u5C0F\u4E8E\u7B49\u4E8E8");function re(ze,Je,Xe,et){var ot=ze.shaderCache.getDerivedShaderProgram(Je,ie);if(!I(ot)){var Et=Je._attributeLocations,Ct=Je.fragmentShaderSource,ct=Je.vertexShaderSource,yt=Je._vertexShaderText,Qt=Ct.sources,Ze=Qt.length;let ve=!!ae&&Le();var ut=jht,St=/texture\s?\(\s?tile_pickTexture\s?,\s?tile_featureSt\s?\)/.test(Xe);et=="in"||et=="out"&&!St?ut+=` in float me_isSelected; bool czm_selected(){ bool isSelected= me_isSelected>0.0000001; if(!isSelected){ isSelected= czm_selected(${Xe}); } return isSelected; } `:ut+=` bool czm_selected(){ return czm_selected(${Xe}); }`;let We=jht+` out float me_isSelected; bool czm_selected(){ return czm_selected(${Xe}); } `;var gt=!1,xt=!1;if(/in\s?vec3\s?normal\s?;/.test(yt)||/\n\s?vec3\s?normal\s?;/.test(yt)?gt=!0:/in\s?out\s?vec3\s?v_normal\s?;/.test(yt)&&(xt=!0),P){var Lt=!1;for(Pe=0;Pe<Ze;++Pe)if(/vec4\s?packDepthToRGBA\s?\(/.test(Qt[Pe])){Lt=!0;break}let bt=(Lt?"":Wht)+(ve?ut:"")+y.replaceMain(P,le)+`void main() { `+(q!="replace"?` ${H}(); `:"")+` ${le}(); } `;for(var nt=new Array(Ze+1),Pe=0;Pe<Ze;++Pe)nt[Pe]=y.replaceMain(Qt[Pe],H);nt[Ze]=bt,gt?Ct.defines.push("HAS_NORMAL"):xt&&Ct.defines.push("HAS_V_NORMAL"),Ct=new y({sources:nt,defines:Ct.defines})}if(R||P){Qt=ct.sources,Ze=Qt.length;var Lt=!1;for(Pe=0;Pe<Ze;++Pe)if(/vec4\s?packDepthToRGBA\s?\(/.test(Qt[Pe])){Lt=!0;break}ve=ve&&et=="in"||et=="out"&&!St,gt?ct.defines.push("HAS_NORMAL"):xt&&ct.defines.push("HAS_V_NORMAL");let Pt=(Lt?"":Wht)+(ve?We:"")+y.replaceMain(R||"void main(){}",le)+`void main() { `+(q!="replace"?` ${H}(); `:"")+(ve?` me_isSelected=czm_selected()?1.:0.; `:"")+` ${le}(); } `;for(var nt=new Array(Ze+1),Pe=0;Pe<Ze;++Pe)nt[Pe]=y.replaceMain(Qt[Pe],H);nt[Ze]=Pt,ct=new y({sources:nt,defines:ct.defines})}ot=ze.shaderCache.createDerivedShaderProgram(Je,ie,{vertexShaderSource:ct,fragmentShaderSource:Ct,attributeLocations:Et})}return ot}function se(ze,Je){ze._renderPassCache=ze._renderPassCache||{},ze._renderPassCache[ue]=ze._renderPassCache[ue]||{};var Xe=ze._renderPassCache[ue],et=Xe[Je.id];if(!I(et)){var ot=B.getState(Je);typeof L=="function"&&L.call(z,ot),et=B.fromCache(ot),Xe[Je.id]=et}return et}function de(ze,Je,Xe){let et=ze;var ot=Je._frameState,Et=ze.derivedCommands;if(!I(Et))return;ot.useLogDepth&&I(Et.logDepth)&&(ze=Et.logDepth.command),Et=ze.derivedCommands;let Ct=Et.renderPass;I(Et.renderPass)||(Ct=Et.renderPass={});var ct,yt;if(I(Ct[Ae])&&(ct=Ct[Ae].shaderProgram,yt=Ct[Ae].renderState),Ct[Ae]=E.shallowClone(ze,Ct[Ae]),!I(ct)||Ct.shaderProgramId!==ze.shaderProgram.id){let Ze=ze.shaderProgram,ut=et._pickIdQualifier=new RegExp(`uniform\\s?vec4\\s?${ze.pickId}`,"g").test(Ze._fragmentShaderText)?"uniform":"in";Ct[Ae].shaderProgram=re(Xe,Ze,ze.pickId,ut),Ct[Ae].renderState=se(Je,ze.renderState),Ct.shaderProgramId=ze.shaderProgram.id}else Ct[Ae].shaderProgram=ct,Ct[Ae].renderState=yt;var Qt=Ct[Ae].uniformMap;Ie(Qt)}function me(ze){return function(){var Je=M[ze];return typeof Je=="function"?Je():Je}}function Ce(ze,Je){return function(){var Xe=ze[Je]();if(I(Xe))return Xe.dimensions}}function Ie(ze){if(!ze.__created&&(ze.czm_selectedIdTexture=function(){return ae._selectedIdTexture},ze.czm_selectedIdTextureWidth=function(){return ae._selectedIdTexture?ae._selectedIdTexture.width:0},ze.czm_selectedIdTextureStep=function(){return ae._selectedIdTexture?1/ae._selectedIdTexture.width:-1},!!M)){ze.__created=!0;for(var Je in M)if(M.hasOwnProperty(Je)){typeof M[Je]!="function"?ze[Je]=me(Je):ze[Je]=M[Je];var Xe=ze[Je]();(typeof Xe=="string"||Xe instanceof Q||Xe instanceof HTMLImageElement||Xe instanceof HTMLCanvasElement||Xe instanceof HTMLVideoElement)&&(ze[Je+"Dimensions"]=Ce(ze,Je))}}}function we(ze){let Je=ze._view,Xe=Je.frustumCommandsList,et=Xe.length;for(var ot,Et,Ct,ct=0;ct<et;++ct){var yt=et-ct-1,Qt=Xe[yt];for(Et=0;Et<Qt.commands.length;Et++){var Ze=Qt.commands[Et];if(Ct=Qt.indices[Et],!(ae&&Et==m.GLOBE))for(ot=0;ot<Ct;++ot){var ut=Ze[ot];de(ut,ze,ze._context)}}}}function Te(){ge&&(ge.destroy(),he.destroy(),he=void 0,ge=void 0),fe&&(fe.destroy(),fe=void 0)}function Ge(ze,Je,Xe,et){var ot=Je.width,Et=Je.height;ge&&ge.width===ot&&ge.height===Et&&Xe===U||(U=Xe,Te(),ge=new Q({context:ze,width:ot,height:Et,pixelFormat:A(G,w.RGBA),pixelDatatype:A(J,T.FLOAT),sampler:A(K,C.NEAREST)}),fe=new Q({context:ze,width:ot,height:Et,pixelFormat:w.DEPTH_COMPONENT,pixelDatatype:T.UNSIGNED_SHORT,sampler:C.NEAREST}),he=new S({colorTextures:[ge],context:ze,destroyAttachments:!1,depthTexture:fe}))}function ke(ze){ee||(Y=f.clone(ze.viewport,Y),X?(Y.x=Y.width*X.x,Y.y=Y.height*X.y,Y.width*=X.width,Y.height*=X.height):(Y.width*=N,Y.height*=N));let Je=Object.assign({},ze.passState);return Je.viewport=Y,Je}function Oe(ze,Je){let Xe=ze._us._frameState,et=Xe.camera,ot=et._scene,Et=ot._view;try{if(!R&&!P){let Ct=ke(Et);typeof F=="function"&&F.call(z,ot,Je),Ge(ze,Y,ot.hdr,Et.sceneFramebuffer),Kht(ze,he,Ct)}else{let Ct=ke(Et);typeof F=="function"&&F.call(z,ot,Je),Ge(ze,Y,ot.hdr,Et.sceneFramebuffer),we(ot),Kht(ze,he,Ct,"renderPass",Ae,k=="all"||!ae||!ae._selectedIdTexture?null:be)}}catch(Ct){console.error(Ct)}}function Le(){if(!ae)return;let ze=ae.selected||ae.parentSelected;if(ze.length)return ze}function be(ze,Je){let Xe=ae&&(ae.selected||ae.parentSelected);if(!ae||!Xe||!Xe.length)return!1;if(!ze.pickId||ze._pickIdQualifier!="uniform")return!0;let et=!0,ot=ze.owner,Et=k=="selected";if(ot&&ot.isObject3D){for(let ct=0;ct<Xe.length;ct++)if(Xe[ct]==ot)return Et;return!Et}let Ct=ze.uniformMap;if(Ct[ze.pickId]){let ct=Ct[ze.pickId]();et=!Et;for(let yt=0;yt<Xe.length;yt++){let Qt=Xe[yt],Ze=Qt.pickId?[Qt.pickId]:Qt.pickIds||Qt._pickIds;for(let ut=0;ut<Ze.length;ut++){let St=Ze[ut];if(St.color==ct||x.equals(St.color,ct))return Et}}}return et}function Ne(ze){if(he){var Je=ze._us._frameState.camera._scene._view;W.framebuffer=he,W.execute(ze,Je.passState),W.framebuffer=void 0}}function Ue(ze){if(ae&&z.prevStageUpdate&&(ae.update=z.prevStageUpdate,z.prevStageUpdate=null,z.prevStageExecute=null),ae=ze,!ae)return;let Je=ae.update;z.prevStageUpdate=Je,ae.update=function(Xe,et){if(Ne(Xe),Je.call(ae,Xe,et),!!ae.enabled)if(!R&&!P)Oe(Xe,et);else{let ot=ae.selected||ae.parentSelected;ot&&ot.length&&Oe(Xe,et)}}}this.update=Oe,this.clear=Ne,Object.defineProperties(this,{texture:{get(){return ge}},depthTexture:{get(){return fe}},stage:{get(){return ae},set(ze){ae!=ze&&Ue(ze)}}})}var iUi=` in vec2 v_textureCoordinates; uniform sampler2D colorTexture; uniform vec2 colorTextureDimensions; uniform vec2 direction; uniform float kernelRadius; float gaussianPdf(in float x, in float sigma) { return 0.39894 * exp( -0.5 * x * x/( sigma * sigma))/sigma; } void main() { vec2 vUv=v_textureCoordinates; vec2 invSize = 1.0 / colorTextureDimensions; float weightSum = gaussianPdf(0.0, kernelRadius); vec4 diffuseSum = texture( colorTexture, vUv) * weightSum; vec2 delta = direction * invSize * kernelRadius/float(MAX_RADIUS); vec2 uvOffset = delta; for( int i = 1; i <= MAX_RADIUS; i ++ ) { float w = gaussianPdf(uvOffset.x, kernelRadius); vec4 sample1 = texture( colorTexture, vUv + uvOffset); vec4 sample2 = texture( colorTexture, vUv - uvOffset); diffuseSum += ((sample1 + sample2) * w); weightSum += (2.0 * w); uvOffset += delta; } out_FragColor = diffuseSum/weightSum; }`,HH=null;function yW(o,A){HH=A,this._viewer=o,this._core=new $i(o,HH)}yW.prototype.createEdgeStage=function(o={}){this.clear();let A="OutlineEffect",{PostProcessStage:f,PostProcessStageComposite:m,Sampler:C,TextureMagnificationFilter:E,TextureMinificationFilter:x}=HH,y=this._core.defaultValue(o.width,2),I=this._core.defaultValue(o.thresholdAngle,10)*Math.PI/180,v=!1,B=!1,Q=HH.Color.fromCssColorString(o.visibleColor||"#00a8e0"),T=HH.Color.fromCssColorString(o.hiddenColor||"#4d4d4d"),w=this._core.defaultValue(o.showGlow,!0),S=this._core.defaultValue(o.edgeGlow,1),D=3,R=!1,P=new iPe({name:A+"Pass",vertexShader:` out vec3 vOutlineNormal; void main(){ #ifdef HAS_NORMAL vOutlineNormal = normal; #else #ifdef HAS_V_NORMAL vOutlineNormal = v_normal; #else vOutlineNormal=vec3(0.); #endif #endif } `,fragmentShader:` in vec3 vOutlineNormal; void main(){ // if(!czm_selected())discard; if(length(vOutlineNormal)>0.)out_FragColor=vec4( vOutlineNormal ,out_FragColor.a); } `,sampler:new C({minificationFilter:x.LINEAR,magnificationFilter:E.LINEAR}),renderType:"all"}),M=new f({name:A+"Mask",uniforms:{outlineWidth(){return y},devicePixelRatio,thresholdAngle:function(){return I},useSingleColor:function(){return v},showOutlineOnly:function(){return B},visibleEdgeColor:function(){return Q},hiddenEdgeColor:function(){return T},maskTexture(){return P.texture},maskDepthTexture(){return P.depthTexture}},fragmentShader:` uniform sampler2D colorTexture; uniform vec2 colorTextureDimensions; uniform sampler2D depthTexture; uniform sampler2D maskTexture; uniform sampler2D maskDepthTexture; uniform float thresholdAngle; uniform bool showOutlineOnly; uniform float outlineWidth; uniform float devicePixelRatio; uniform vec3 visibleEdgeColor; uniform vec3 hiddenEdgeColor; uniform bool useSingleColor; in vec2 v_textureCoordinates; float lengthSq(vec3 v){ return v.x * v.x + v.y * v.y + v.z * v.z; } float normal_angleTo(vec3 a,vec3 b){ float denominator = sqrt( lengthSq(a) * lengthSq(b) ); if ( denominator == 0. ) return czm_pi / 2.; float theta = dot(a, b ) / denominator; // clamp, to handle numerical problems return acos( clamp( theta, - 1., 1. ) ); } float compareNormal(vec4 n1,vec4 n2){ if( abs ( normal_angleTo( n1.xyz , n2.xyz ) ) < thresholdAngle ){ return 0.; }else{ return 1.; } } float compareDepth(const in vec2 uv){ float maskDepth = czm_readDepth( maskDepthTexture, uv); float nonDepth = czm_readDepth( depthTexture, uv); return maskDepth>nonDepth?1.:0.; } void main(){ vec2 vUv=v_textureCoordinates; // vec4 color = texture( colorTexture, vUv); vec4 maskColor = texture( maskTexture, vUv); if( maskColor.a < 0.0001){ // out_FragColor =color; discard; return; } vec2 invSize = outlineWidth / colorTextureDimensions; vec4 uvOffset = vec4(1.0, 0.0, 0.0, 1.0) * vec4(invSize, invSize); vec4 c1 = texture( maskTexture, vUv + uvOffset.xy); vec4 c2 = texture( maskTexture, vUv - uvOffset.xy); vec4 c3 = texture( maskTexture, vUv + uvOffset.yw); vec4 c4 = texture( maskTexture, vUv - uvOffset.yw); float d; if(showOutlineOnly){ float diff1 = (c1.a - c2.a)*0.5; float diff2 = (c3.a - c4.a)*0.5; d = length( vec2(diff1, diff2) ); } else{ float diff1 = compareNormal(c1,c2)*0.5; float diff2 = compareNormal(c3,c4)*0.5; d = length( vec2(diff1, diff2) ); } if(useSingleColor==false){ float dp1 = compareDepth( vUv + uvOffset.xy); float dp2 = compareDepth( vUv - uvOffset.xy); float dp3 = compareDepth( vUv + uvOffset.yw); float dp4 = compareDepth( vUv - uvOffset.yw); float a1 = min(dp1, dp2); float a2 = min(dp3, dp4); float visibilityFactor = min(a1, a2); vec3 edgeColor = 1.0 - visibilityFactor > 0.001 ? visibleEdgeColor : hiddenEdgeColor; // out_FragColor =color+ vec4( edgeColor , 1. ) * vec4(d); out_FragColor = vec4( edgeColor , 1. ) * vec4(d); //out_FragColor = vec4( 0.06, 0.9, 1.0 , 1. ) * vec4(d); }else{ // out_FragColor =color+ vec4( visibleEdgeColor , 1. ) * vec4(d); out_FragColor = vec4( visibleEdgeColor , 1. ) * vec4(d); //out_FragColor = vec4( 0.06, 0.9, 1.0 , 1. ) * vec4(d); } } `});P.stage=M;let L=this.createBlurStage(A+"Blur1",4,1,.75),F=this.createBlurStage(A+"Blur2",4,4,.5),k=new m({name:A+"BlurComposite",stages:[M,L,F],inputPreviousStageTexture:!0}),N=new f({name:A+"Additive",uniforms:{showGlow:function(){return w},edgeGlow:function(){return S},edgeStrength:function(){return D},edgeOnly(){return R},maskTexture(){return P.texture},lineTexture:M.name,edgeTexture1:L.name,edgeTexture2:k.name},fragmentShader:` uniform sampler2D colorTexture; uniform sampler2D edgeTexture1; uniform sampler2D edgeTexture2; uniform sampler2D lineTexture; uniform sampler2D maskTexture; uniform bool showGlow; uniform float edgeGlow; uniform bool edgeOnly; uniform float edgeStrength; in vec2 v_textureCoordinates; void main(){ vec2 vUv =v_textureCoordinates; vec4 edgeColor=texture( lineTexture, vUv); vec4 color=texture( colorTexture, vUv); float opacity=1.; if(edgeOnly){ vec4 maskColor=texture( maskTexture, vUv); opacity=1.-maskColor.a; out_FragColor = maskColor; return; } if(showGlow){ float visFactor= 1.;//czm_selected()?1.:0.; vec4 edgeValue1 = texture(edgeTexture1, vUv); vec4 edgeValue2 = texture(edgeTexture2, vUv); vec4 glowColor = edgeValue1 + edgeValue2 * edgeGlow; out_FragColor = opacity * color + edgeColor + edgeStrength * (1. - edgeColor.r) * glowColor; } else{ out_FragColor = opacity * color + edgeColor; } } `}),G=new m({name:A+"Composite",stages:[k,N],inputPreviousStageTexture:!1});function J(K){Object.defineProperties(K,{showGlow:{get(){return w},set(X){w=X}},edgeGlow:{get(){return S},set(X){S=X}},edgeStrength:{get(){return D},set(X){D=X}},thresholdAngle:{get(){return I},set(X){I=X}},showOutlineOnly:{get(){return B},set(X){B=X}},edgeOnly:{get(){return R},set(X){R=X}},useSingleColor:{get(){return v},set(X){v=X}},outlineWidth:{get(){return y},set(X){y=X}},visibleEdgeColor:{get(){return Q},set(X){Q=X}},hiddenEdgeColor:{get(){return T},set(X){T=X}}})}return J(G),G._uniforms=G._uniforms||{},J(G._uniforms),G.selected=[1],G.enabled=!0,this._viewer.postProcessStages.add(G),this.postProccessStage=G,this};yW.prototype.createBlurStage=function(o,A,f,m){let{Cartesian2:C,PostProcessStage:E,PostProcessStageComposite:x,PostProcessStageSampleMode:y}=HH,I=new C(1,0),v=new C(0,1),B={defines:{MAX_RADIUS:A},fragmentShader:iUi};this.parseDefines(B);let Q=new E({name:o+"_x_direction",fragmentShader:B.fragmentShader,textureScale:m,forcePowerOfTwo:!0,uniforms:{kernelRadius:f,direction:I},sampleMode:y.LINEAR}),T=new E({name:o+"_y_direction",fragmentShader:B.fragmentShader,textureScale:m,forcePowerOfTwo:!0,uniforms:{kernelRadius:f,direction:v},sampleMode:y.LINEAR});return new x({name:o,stages:[Q,T],inputPreviousStageTexture:!0})};yW.prototype.parseDefines=function(o){let A=[];for(let f in o.defines)if(o.defines.hasOwnProperty(f)){let m=o.defines[f];A.push("#define "+f+" "+m)}return A=A.join(` `)+` `,o.fragmentShader&&(o.fragmentShader=A+o.fragmentShader),o.vertexShader&&(o.vertexShader=A+o.vertexShader),o};yW.prototype.clear=function(){this.postProccessStage&&this._viewer.scene.postProcessStages.remove(this.postProccessStage),this.postProccessStage=void 0};var qht=yW;var qu=null;function Yv(o,A){qu=A,this._viewer=o,this._cesium=A,this._scene=o.scene,this._core=new $i(o,A),this.tooltip=this._core.CreateTooltip(),this._getPosition=new kl(o,A),this.FlattenIsDraw=!1,this.wallArr=[],this.heightsort=[],this.FlattenPolygon=[],this.showWall=!0,this.deepth=100,this.bottomImg=window.SmartEarthRootUrl+Zr.bottomplane,this.wallImg=window.SmartEarthRootUrl+Zr.wall}Yv.prototype.draw=function(o=100,A={},f){if(this.FlattenIsDraw)return;if(this.deepth=o||this.deepth,this.showWall=this._core.defaultValue(A.showWall,!0),this.showBottom=this._core.defaultValue(A.showBottom,!0),A.positions)return this.create(A.positions),typeof f=="function"&&f(),this;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=null),this.FlattenIsDraw=!0;var m=this._viewer,C=this._cesium;this.clear();var E=[],x=[],y,I,v=0;this.drawHandler=new C.ScreenSpaceEventHandler(m.scene.canvas);var B=this.tooltip;let Q;return this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),this.drawHandler.setInputAction(T=>{I=this._getPosition.getMousePosition(T.position);var w=this._core.toDegrees(I);E.push(I),x.push(w.lon,w.lat,w.height),v===0?(E.push(I),x.push(w.lon,w.lat,w.height),Q=m.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new C.CallbackProperty(()=>E,!1),clampToGround:!0,material:new C.ColorMaterialProperty(C.Color.YELLOW.withAlpha(.3)),width:3}})):v===1&&(Q&&m.entities.remove(Q),y=m.entities.add({name:null,polygon:{hierarchy:new C.CallbackProperty(function(){return new C.PolygonHierarchy(C.Cartesian3.fromDegreesArrayHeights(x))},!1),material:C.Color.YELLOW.withAlpha(.3)}})),v++},C.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(T=>{if(v===0){B.showAt(T.endPosition,"\u5DE6\u952E\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236\u70B9");return}else v===1?B.showAt(T.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u7B2C\u4E8C\u4E2A\u70B9"):B.showAt(T.endPosition,"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236");I=this._getPosition.getMousePosition(T.endPosition);var w=this._core.toDegrees(I);x.splice(x.length-3,3),E.splice(E.length-1,1),E.push(I),x.push(w.lon,w.lat,w.height)},C.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(function(T){this.end&&this.end()}.bind(this),C.ScreenSpaceEventType.RIGHT_CLICK),this.end=T=>{if(B.show(!1),this._core.mouse(this._viewer.container,0),this.drawHandler.destroy(),this.drawHandler=null,Q&&m.entities.remove(Q),y&&m.entities.remove(y),this.FlattenIsDraw=!1,this.end=void 0,!(T==="cancel"||E.length<3)){if(v<2){v=0;return}v=0,this.create(x),typeof f=="function"&&f(x)}},this};Yv.prototype.create=function(o){let A=qu.Cartesian3.fromDegreesArrayHeights(o);if(this.boundingSphere=qu.BoundingSphere.fromPoints(A),A.push(A[0]),this.showWall||this.showBottom){this.originHeight=1e5;for(let f=2;f<o.length;f=f+3)this.originHeight>o[f]&&(this.originHeight=o[f]);if(this.showBottom){let f=this._viewer.entities.add({name:"\u5730\u5F62\u5F00\u6316\u5E95\u9762",polygon:{hierarchy:new qu.PolygonHierarchy(A),material:new qu.ImageMaterialProperty({image:this._core.defaultValue(this.bottomImg),repeat:new qu.Cartesian2(1,1)}),height:this.originHeight-this.deepth}});this.FlattenPolygon.push(f)}if(this.showWall){let f,m;for(let C=0;C<A.length-1;C++)f=this._core.toDegrees(A[C]),m=this._core.toDegrees(A[C+1]),this.calculateWall(f.lon,f.lat,m.lon,m.lat)}}this.groundClipping(A)};Yv.prototype.groundClipping=function(o){var A=this._viewer.scene.globe,f=o.concat();f.splice(f.length-1,1);for(var m=0;m<f.length-1;m++)f[m].x===f[m+1].x&&f[m].y===f[m+1].y&&(f.splice(m,1),m--);var C=f.length;this.PolygonIsClockwise(f)&&f.reverse();for(var E=[],m=0;m<C;++m){var x=(m+1)%C,y=qu.Cartesian3.add(f[m],f[x],new qu.Cartesian3);y=qu.Cartesian3.multiplyByScalar(y,.5,y);var I=qu.Cartesian3.normalize(y,new qu.Cartesian3),v=qu.Cartesian3.subtract(f[x],y,new qu.Cartesian3);v=qu.Cartesian3.normalize(v,v);var B=qu.Cartesian3.cross(v,I,new qu.Cartesian3);B=qu.Cartesian3.normalize(B,B);var Q=new qu.Plane(B,0),T=qu.Plane.getPointDistance(Q,y);E.push(new qu.ClippingPlane(B,T))}this.clippingPlane=new qu.ClippingPlaneCollection({planes:E}),A.multiClippingPlanes?A.multiClippingPlanes.add(this.clippingPlane):A.multiClippingPlanes=new qu.MultiClippingPlaneCollection({collections:[this.clippingPlane],edgeWidth:1,edgeColor:qu.Color.WHITE})};Yv.prototype.PolygonIsClockwise=function(o){if(o.length>=3){var A=(o[1].x-o[0].x)*(o[2].y-o[1].y)-(o[1].y-o[0].y)*(o[2].x-o[1].x);return!(A>0)}};Yv.prototype.calculateWall=function(o,A,f,m){var C=100,E=qu.Math.lerp(o,f,1/C)-o,x=qu.Math.lerp(A,m,1/C)-A,y=[],I=[],v=[],B;y.push(o,A),B=qu.Cartesian3.fromDegrees(o,A),I.push(qu.Cartographic.fromCartesian(B));for(var Q=0;Q<C;Q++){var T=o+(Q+1)*E,w=A+(Q+1)*x;y.push(T,w),B=qu.Cartesian3.fromDegrees(T,w),I.push(qu.Cartographic.fromCartesian(B))}y.push(f,m),B=qu.Cartesian3.fromDegrees(f,m),I.push(qu.Cartographic.fromCartesian(B));var S=[];this._core.getHeightsFromLonLat(this._viewer,I).then(D=>{if(D){for(v=D,Q=0;Q<v.length;Q++)S.push(this.originHeight-this.deepth);this.createWall(y,v,S)}})};Yv.prototype.createWall=function(o,A,f){let m=this._viewer.entities.add({name:"\u5730\u5F62\u5F00\u6316\u5CA9\u5899",wall:{positions:qu.Cartesian3.fromDegreesArray(o),maximumHeights:A,minimumHeights:f,material:new qu.ImageMaterialProperty({image:this.wallImg,repeat:new qu.Cartesian2(1,1)})}});this.wallArr.push(m)};Yv.prototype.setDeepth=function(o){this.FlattenPolygon[0]&&this.FlattenPolygon[0].polygon.height.setValue(this.originHeight-o),this.wallArr.forEach(A=>{let f=A.wall.minimumHeights.getValue();f=Array(f.length),f.fill(this.originHeight-o),A.wall.minimumHeights.setValue(f)})};Yv.prototype.setVisibility=function(o){var A=this._viewer;if(this.wallArr.forEach(f=>{f.show=o}),A.scene.globe.multiClippingPlanes&&this.clippingPlane){let f=A.scene.globe.multiClippingPlanes;o&&!f.contains(this.clippingPlane)?f.add(this.clippingPlane):!o&&f.contains(this.clippingPlane)&&f.remove(this.clippingPlane,!1)}this.FlattenPolygon.forEach(f=>{f.show=o})};Yv.prototype.clear=function(){var o=this._viewer;this.wallArr.forEach(A=>{o.entities.remove(A)}),this.wallArr=[],o.scene.globe.multiClippingPlanes&&this.clippingPlane&&(o.scene.globe.multiClippingPlanes.remove(this.clippingPlane),this.clippingPlane=void 0),this.FlattenPolygon.forEach(A=>{o.entities.remove(A)}),this.FlattenPolygon=[],this.FlattenIsDraw=!1};Yv.prototype.deleteObject=Yv.prototype.clear;var Xht=Yv;function YQ(o,A){this._viewer=o,this._cesium=A,this._scene=o.scene,this._core=new $i(o,A),this.currentSpeed="1x",this.currentTime=null,this.currentPlayMode="1",this.timer=null}YQ.prototype.createAnalysis=function(){return this.shadows=!0,this.currentSpeed=1,this.currentPlayMode="1",this.Forword(),this};YQ.prototype.setCurrentTime=function(o){var A=new Date(o),f=this._cesium.JulianDate.fromDate(A);this._viewer.clock.currentTime=f.clone()};YQ.prototype.getCurrentTime=function(o){this.currentSpeed=$(this._viewer.container).find(".cesium-viewer-animationContainer .cesium-animation-svgText tspan").eq(2).html(),clearInterval(this.timer),timer=null,timer=setInterval(function(){this.currentTime=rUi(this._viewer.animation.viewModel.dateLabel,this._viewer.animation.viewModel.timeLabel),o&&typeof o=="function"&&o(this.currentTime)},1e3)};YQ.prototype.SpeedIncress=function(o){this._viewer.animation.viewModel.faster(),this.currentSpeed=$(this._viewer.container).find(".cesium-viewer-animationContainer .cesium-animation-svgText tspan").eq(2).html(),o&&typeof o=="function"&&o(this.currentSpeed)};YQ.prototype.SpeedDecress=function(o){this._viewer.animation.viewModel.slower(),this.currentSpeed=$(this._viewer.container).find(".cesium-viewer-animationContainer .cesium-animation-svgText tspan").eq(2).html(),o&&typeof o=="function"&&o(this.currentSpeed)};YQ.prototype.Forword=function(o){this._viewer.animation.viewModel.playForwardViewModel.command(),this.currentPlayMode="1",this.currentSpeed[0]=="-"&&(this.currentSpeed=this.currentSpeed.slice(1)),o&&typeof o=="function"&&o(this.currentSpeed)};YQ.prototype.Bacword=function(o){this._viewer.animation.viewModel.playReverseViewModel.command(),this.currentPlayMode="2",this.currentSpeed[0]!=="-"&&(this.currentSpeed="-"+this.currentSpeed),o&&typeof o=="function"&&o(this.currentSpeed)};YQ.prototype.Pause=function(){this._viewer.animation.viewModel.pauseViewModel.command()};function rUi(o,A){o=o.replace(/January|Jan/,"01").replace(/February|Feb/,"02").replace(/March|Mar/,"03").replace(/April|Apr/,"04").replace(/May/,"05").replace(/June|Jun/,"06").replace(/July|Jul/,"07").replace(/August|Aug/,"08").replace(/September|Sept/,"09").replace(/October|Oct/,"10").replace(/November|Nov/,"11").replace(/December|Dec/,"12");var f=o.split(" ");o=f[2]+"-"+f[0]+"-"+f[1];var m=A.split(" ");A=m[0];var C=new Date(Date.parse(o+" "+A));C=C.getTime(),C=C/1e3,C=C+8*60*60;var E=new Date(parseInt(C)*1e3).toLocaleString("chinese",{hour12:!1}).replace(/年|月|\//g,"-").replace(/日/g," ");return E}Object.defineProperties(YQ.prototype,{shadows:{get:function(){return this._viewer.shadows},set:function(o){this._viewer.shadows=o}},currentSpeed:{get:function(){return $(this._viewer.container).find(".cesium-viewer-animationContainer .cesium-animation-svgText tspan").eq(2).html()},set:function(o){o=o.toString().replace("x",""),this._viewer.clock.multiplier=parseFloat(o)}}});var Zht=YQ;var o1=null;function Gg(o,A){o1=A,this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._tree=Ke,this._getPosition=new kl(this._viewer,this._cesium),this.tooltip=this._core.CreateTooltip(),this.sunshineOption={},this.loadingImg=window.SmartEarthRootUrl+Zr.loading}Gg.prototype.PointSunshineAnalysis=function(o,A){if(this._viewer.entities.remove(this._viewer.entities.getById("1")),this._viewer.entities.remove(this._viewer.entities.getById("point")),o!=null){if(o.constructor.name!="Cartesian3")throw"\u4F20\u5165\u53C2\u6570\u5FC5\u987B\u662F\u4E09\u7EF4\u5750\u6807"}else throw"\u65E0\u6548\u53C2\u6570";this._viewer.scene.sun.show||(this._viewer.scene.sun.show=!0);var f=this._viewer.scene.context.uniformState.sunPositionWC,m=new o1.Cartesian3(f.x-o.x,f.y-o.y,f.z-o.z),C=Math.sqrt(m.x*m.x+m.y*m.y+m.z*m.z),E=new o1.Cartesian3(m.x/C,m.y/C,m.z/C),x=200,y=new o1.Cartesian3(o.x+x*E.x,o.y+x*E.y,o.z+x*E.z);this.pickFromRay(o,y,A)};Gg.prototype.sunshineAnalysisPoint=function(o,A){!o&&(o={}),this.sunshineOption=o;var f=this,m=this._viewer;return this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1,this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),this.drawHandler.setInputAction(function(C){var E=f._getPosition.getMousePosition(C);if(f.PointSunshineAnalysis(E),E){var x=m.entities.add({id:f._core.getuid(),name:"Point",position:E,point:{pixelSize:16,color:f._cesium.Color.BLUE,outlineWidth:f._core.defaultValue(o.outlineWidth,2),outlineColor:f._cesium.Color.WHITE.withAlpha(.6),heightReference:f._cesium.HeightReference.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY,distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8)}});f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),A&&typeof A=="function"&&A(x)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(function(C){f.tooltip.showAt(C.endPosition,"\u70B9\u51FB\u7ED8\u5236\u70B9")},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this};Gg.prototype.sunshineAnalysisPolygon=function(o,A){!o&&(o={}),this.sunshineOption=o;var f=this,m=this._viewer;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=void 0),this.loading||this.addLoading(),this.remove(),this.drawHandler=new this._cesium.ScreenSpaceEventHandler(m.scene.canvas),Ke.states=1;var C=[],E,x;return this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw),this.drawHandler.setInputAction(function(y){var I=f._getPosition.getMousePosition(y);if(!!I){if(!C.length){let v=o1.Cartographic.fromCartesian(I);f.sunshineOption.defaultHeight=v.height,C.push(I)}C.push(I),C.length===2&&!x&&(x=m.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new f._cesium.CallbackProperty(function(){return C},!1),clampToGround:!0,material:f._cesium.Color.LIME.withAlpha(.6),width:3}})),C.length===3&&!E&&(x&&m.entities.remove(x),o.clampToGround=f._core.defaultValue(o.clampToGround,!0),E=m.entities.add({id:f._core.getuid(),name:"\u65B0\u5EFA\u9762",polygon:{hierarchy:new f._cesium.CallbackProperty(function(){return new f._cesium.PolygonHierarchy(C)},!1),material:new f._cesium.ImageMaterialProperty({image:null,repeat:new f._cesium.Cartesian2(1,1),color:f._cesium.Color.LIME.withAlpha(.6)}),perPositionHeight:!f._core.defaultValue(o.clampToGround,!1),heightReference:o.clampToGround?1:0,outline:f._core.defaultValue(o.outline,!1),outlineColor:f._cesium.Color.WHITE.withAlpha(.6),distanceDisplayCondition:new f._cesium.DistanceDisplayCondition(0,1e8)}}))}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(function(y){if(C.length===0)f.tooltip.showAt(y.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u7B2C\u4E00\u4E2A\u70B9");else if(C.length===1)f.tooltip.showAt(y.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u7B2C\u4E8C\u4E2A\u70B9");else{f.tooltip.showAt(y.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u70B9\uFF0C\u53F3\u952E\u7ED3\u675F\u7ED8\u5236");var I=f._getPosition.getMousePosition(y);if(!I)return;C.pop(),C.push(I)}},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.end=function(y){f.drawHandler.destroy(),f.drawHandler=void 0,f.tooltip.show(!1),f.end=void 0,setTimeout(function(){Ke.states=0},100),f._core.mouse(f._viewer.container,0,"0"),x&&m.entities.remove(x),E&&m.entities.remove(E),!(y==="cancel"||C.length<3)&&setTimeout(()=>{f.analysis(E,o.start||"2019-09-17 13:00",o.end||"2019-09-17 15:00",o.interval||60,A)},100)},this.drawHandler.setInputAction(function(y){f.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this};Gg.prototype.analysis=function(o,A,f,m,C){var E=new Date(A),x=new Date(f),y=0,I=this;let v=this.sunshineOption.startHeight||this.sunshineOption.defaultHeight;var B=I.getPoint(o,this.sunshineOption.spacing||10,v,v+I._core.defaultValue(this.sunshineOption.addHeight,30));this._viewer.scene.sun.show||(this._viewer.scene.sun.show=!0);let Q=this._viewer.clock.currentTime.clone();function T(P){for(let M=0;M<B.length;M++)I.Sunshine(B[M],P)?B[M].through++:B[M].out++}function w(P,M){I.SetTimeNow(P),setTimeout(()=>{let L=I._viewer.scene.context.uniformState.sunPositionWC;M(L)},100)}function S(){var P=E.getTime()+6e4*m*y,M=new Date(P);M>x?(I.createPoint(B),I._viewer.clock.currentTime=Q,I.isLoading(!1),C&&typeof C=="function"&&C(B)):w(M,function(L){T(L),y++,S()})}(x-E)/(1e3*60*m)*B.length>1500?window.layuiLayer&&window.layuiLayer.msg("\u5F53\u524D\u5206\u6790\u65F6\u95F4\u8FC7\u957F\uFF0C\u662F\u5426\u7EE7\u7EED\u5206\u6790\uFF1F",{time:0,btn:["\u7EE7\u7EED","\u53D6\u6D88"],btnAlign:"c",yes:P=>{layuiLayer.close(P),I.isLoading(!0),S()},btn2:()=>{C&&typeof C=="function"&&C(B)}}):(I.isLoading(!0),S())};Gg.prototype.createPoint=function(o){var A=this;this.ResultPoint=A._viewer.scene.primitives.add(new A._cesium.PointPrimitiveCollection);for(var f=0;f<o.length;f++){var m=o[f],C=o[f].through+o[f].out,E=o[f].out/C,x="";E>=.7?x=A._cesium.Color.BLUE:E<.7&&E>=.3?x=A._cesium.Color.YELLOW:E<.3&&(x=A._cesium.Color.RED);var y={id:{isshowderData:!0,data:"\u9634\u5F71\u7387:"+(1-E)*100+"%"},position:A._cesium.Cartesian3.fromDegrees(m.lon,m.lat,m.height),color:x};A.ResultPoint.add(y)}this.showResultTooltip(!0)};Gg.prototype.showResultTooltip=function(o){if(this.ResultTooltipHandler&&(this.ResultTooltipHandler.destroy(),this.ResultTooltipHandler=void 0,this.tooltip.show(!1)),o){let A=this;this.ResultTooltipHandler=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);let f;this.ResultTooltipHandler.setInputAction(function(m){clearTimeout(f),f=setTimeout(()=>{let C=A._viewer.scene.pick(m.endPosition);C&&C.id&&C.id.isshowderData?A.tooltip.showAt(m.endPosition,C.id.data):A.tooltip.show(!1)},50)},this._cesium.ScreenSpaceEventType.MOUSE_MOVE)}};Gg.prototype.getPoint=function(o,A,f,m){for(var C=this,E=[],x=o.polygon.hierarchy.getValue().positions,y=0;y<x.length;y++){var I=C._cesium.Math.toDegrees(C._cesium.Cartographic.fromCartesian(x[y]).longitude),v=C._cesium.Math.toDegrees(C._cesium.Cartographic.fromCartesian(x[y]).latitude);E.push(I),E.push(v)}for(var B=C.getTheBottomPoint(E),Q=C.scanningPolygon(B,A,A,E),T=[],w=(m-f)/A,S=0;S<w;S++)for(var D=0;D<Q.length;D++){var R=Q[D],P={lon:R.lon,lat:R.lat,height:f+A*S,through:0,out:0,color:""};T.push(P)}return T};Gg.prototype.getTheBottomPoint=function(o){for(var A=90,f=0,m=1;m<o.length;m+=2)A=A<o[m]?A:(f=m)&&o[m];return{lon:o[f-1],lat:o[f]}};Gg.prototype.scanningPolygon=function(o,A,f,m){for(var C=[],E=180,x=-180,y=-90,I,v,B,Q,T,w=0;w<m.length;w+=2)y=y>m[w+1]?y:m[w+1],E=E<m[w]?E:m[w],x=x>m[w]?x:m[w];var S=this.GetPositionFromA_D(o.lat,o.lon,f,0),D=this.GetPositionFromA_D(o.lat,o.lon,A,90);for(I=D[0]-o.lon,v=S[1]-o.lat,C.push({lon:o.lon,lat:o.lat}),T={lon:o.lon,lat:o.lat},T.lat+=v;T.lat<=y;T.lat+=v){for(B={lon:T.lon-I,lat:T.lat},Q={lon:T.lon+I,lat:T.lat},this.IsInPolygon(T.lon,T.lat,m)&&C.push({lon:T.lon,lat:T.lat});B.lon>=E;B.lon-=I)this.IsInPolygon(B.lon,B.lat,m)&&C.push({lon:B.lon,lat:B.lat});for(;Q.lon<=x;Q.lon+=I)this.IsInPolygon(Q.lon,Q.lat,m)&&C.push({lon:Q.lon,lat:Q.lat})}return C};Gg.prototype.GetPositionFromA_D=function(o,A,f,m){var C=6378137,E=6356725,x=f*Math.sin(m*Math.PI/180),y=f*Math.cos(m*Math.PI/180),I=E+(C-E)*(90-o)/90,v=I*Math.cos(o*Math.PI/180),B=(x/v+A*Math.PI/180)*180/Math.PI,Q=(y/I+o*Math.PI/180)*180/Math.PI;return[B,Q]};Gg.prototype.IsInPolygon=function(o,A,f){var m=0,C,E,x,y,I;if(f.length<6)return!1;f.push(f[0],f[1]);for(var v=0;v<f.length-2;v+=2)C=f[v],x=f[v+1],E=f[v+2],y=f[v+3],(A>=x&&A<y||A>=y&&A<x)&&Math.abs(x-y)>0&&(I=C-(C-E)*(x-A)/(x-y),I<=o&&m++);return m%2!==0};Gg.prototype.SetTimeNow=function(o){var A=new this._cesium.JulianDate.fromDate(o);this._viewer.clock.currentTime=A};Gg.prototype.Sunshine=function(o,A){let f=o1.Cartesian3.fromDegrees(o.lon,o.lat,o.height);return this.pickFromRay(f,A)};Gg.prototype.jiance=function(o,A){var f=20,m=!1,C=this._cesium.Cartographic.fromCartesian(o),E=this._cesium.Cartographic.fromCartesian(A),x=[],y={};y.longitude=C.longitude/Math.PI*180,y.latitude=C.latitude/Math.PI*180,y.czheight=C.height;var I={};I.longitude=E.longitude/Math.PI*180,I.latitude=E.latitude/Math.PI*180,I.czheight=E.height;for(var v=0;v<f;v++){var B={};B.longitude=this._cesium.Math.lerp(y.longitude,I.longitude,.01*(v+1)),B.latitude=this._cesium.Math.lerp(y.latitude,I.latitude,.01*(v+1)),B.czheight=y.czheight-(y.czheight-I.czheight)*.01*(v+1);var Q=new this._cesium.Cartographic(this._cesium.Math.toRadians(B.longitude),this._cesium.Math.toRadians(B.latitude),0),T=this._viewer.scene.sampleHeight(Q),w=this._cesium.Cartesian3.fromDegrees(B.longitude,B.latitude,T);B.zsheight=T,B.zsheight>B.czheight&&(m=!0),x.push(B)}return m};Gg.prototype.pickFromRay=function(o,A){let f=o1.Cartesian3.normalize(o1.Cartesian3.subtract(A,o,new o1.Cartesian3),new o1.Cartesian3),m=new o1.Ray(o,f),C=this._viewer.scene.pickFromRay(m,[]),E=!1;return C&&C.object&&(E=!0),E};Gg.prototype.remove=function(){this.ResultPoint&&this._viewer.scene.primitives.remove(this.ResultPoint),this.ResultPoint=void 0,this.ResultTooltipHandler&&(this.ResultTooltipHandler.destroy(),this.ResultTooltipHandler=void 0,this.tooltip.show(!1)),this.showResultTooltip(!1)};Gg.prototype.addLoading=function(){var o=document.createElement("div");o.id="cesiumLoading",o.style.cssText="width: 100%;height: 100%;display:none;pointer-events: none;position: absolute;top: 0;left: 0;-moz-box-sizing: border-box;box-sizing: border-box;background-color: unset;z-index: 99999;";var A=document.createElement("img");A.style.cssText="position: relative;width: 110px;height: 110px;margin: auto;top: 50%;left: 50%;margin-top: -55px;margin-left: -55px;",A.src=this.loadingImg,o.appendChild(A),this.loading=o,this._viewer.container.appendChild(o)};Gg.prototype.isLoading=function(o){o?this.loading.style.display="block":this.loading.style.display="none"};Gg.prototype.removeLoading=function(){this.loading&&this.loading.remove(),this.loading=void 0};var xle=Gg;function OI(o,A){this._viewer=o,this._cesium=A,this.tiltModel={start:void 0,end:[]}}OI.prototype.play=function(o,A={}){this.start=A.start,this.end=A.end,this.attr=A.attr,this.attrType=A.attrType,this.palyType=A.type||"progress",this.startPosition=A.startPosition,this.endPosition=A.endPosition,this.colors=A.colors||["rgb(255,0,0)","rgb(255,152,0)","rgb(0,255,0)","rgb(0,0,255)"];let f;if(this._useColor=A.useColor,this.getCurrentProgressStyle(0),typeof o=="string"){f=new Xw(this._viewer,this._cesium),this.tiltModel.start=f.create3DTilesets("\u62C6\u8FC1\u6A21\u578B",o,{},{groundCenter:this.startPosition},"0",!0,C=>{this.getModelMinMaxTime(C),this.setModelStyle("start",C)}),f=new Xw(this._viewer,this._cesium);let m=f.create3DTilesets("\u91CD\u5EFA\u6A21\u578B",o,{},{groundCenter:this.endPosition},"0",!0,C=>{this.getModelMinMaxTime(C),this.setModelStyle("end",C)});this.tiltModel.end.push(m)}else{let m=o.start;f=new Xw(this._viewer,this._cesium),m&&(this.tiltModel.start=f.create3DTilesets("\u62C6\u8FC1\u6A21\u578B",m.urls,{},{groundCenter:m.Center,heading:m.heading,pitch:m.pitch,roll:m.roll},"0",!0,E=>{this.getModelMinMaxTime(E),this.setModelStyle("start",E)}));let C=o.end;if(C){let E;C.forEach(x=>{f=new Xw(this._viewer,this._cesium),E=f.create3DTilesets("\u91CD\u5EFA\u6A21\u578B",x.urls,{id:x.id},{groundCenter:x.Center,heading:x.heading,pitch:x.pitch,roll:x.roll},"0",!0,y=>{this.getModelMinMaxTime(y),this.setModelStyle("end",y)}),this.tiltModel.end.push(E)})}}return this};OI.prototype.getModelMinMaxTime=function(o){let A=o.item.properties;o.startTime=A[this.attr[0]].minimum-1,o.endTime=A[this.attr[1]].maximum,o.allTime=o.endTime-o.startTime};OI.prototype.useColor=function(o=!1){this._useColor=o,this.currentProgress(this.progress)};OI.prototype.getCurrentProgressStyle=function(o){if(this.progress=o,this.palyType==="time"){let A=parseInt(o*this.time+this.start);this.setTime(A)}};OI.prototype.setModelProgressStyle=function(o,A){let f,m;this.progress>.5?o==="start"?f=this._useColor?[["true",this.colors[3]]]:[["true","rgba(255, 255, 255, 0)"]]:(m=parseInt((this.progress-.5)*2*A.allTime+A.startTime),f=this._useColor?[["${"+this.attr[0]+"} > "+m,this.colors[0]],["${"+this.attr[1]+"} <= "+m,this.colors[2]],["true",this.colors[1]]]:[["${"+this.attr[1]+"} <= "+m,"rgba(255, 255, 255, 1)"],["true","rgba(255, 255, 255, 0)"]]):o==="end"?f=this._useColor?[["true",this.colors[0]]]:[["true","rgba(255, 255, 255, 0)"]]:(m=parseInt(this.progress*2*A.allTime+A.startTime),f=this._useColor?[["${"+this.attr[0]+"} > "+m,this.colors[0]],["${"+this.attr[1]+"} <= "+m,this.colors[3]],["true",this.colors[1]]]:[["${"+this.attr[1]+"} <= "+m,"rgba(255, 255, 255, 0)"],["true","rgba(255, 255, 255, 1)"]]),A.item.style=new Cesium.Cesium3DTileStyle({color:{conditions:f}})};OI.prototype.setTime=function(o){let A=[],f=[];this._useColor?(A=[["${"+this.attr[0]+"} > "+o,this.colors[0]],["${"+this.attr[1]+"} <= "+o,this.colors[3]],["true",this.colors[1]]],f=[["${"+this.attr[0]+"} > "+o,this.colors[0]],["${"+this.attr[1]+"} <= "+o,this.colors[2]],["true",this.colors[1]]]):(A=[["${"+this.attr[1]+"} <= "+o,"rgba(255, 255, 255, 0)"],["true","rgba(255, 255, 255, 1)"]],f=[["${"+this.attr[1]+"} <= "+o,"rgba(255, 255, 255, 1)"],["true","rgba(255, 255, 255, 0)"]]),this.startStyle=new Cesium.Cesium3DTileStyle({color:{conditions:A}}),this.endStyle=new Cesium.Cesium3DTileStyle({color:{conditions:f}})};OI.prototype.currentProgress=function(o){this.getCurrentProgressStyle(o),this.setModelStyle("start",this.tiltModel.start),this.tiltModel.end.forEach(A=>{this.setModelStyle("end",A)})};OI.prototype.currentTime=function(o){this.setTime(o),this.setModelStyle("start",this.tiltModel.start),this.tiltModel.end.forEach(A=>{this.setModelStyle("end",A)})};OI.prototype.setModelStyle=function(o,A){A&&(this.palyType==="time"?A.item.style=o==="start"?this.startStyle:this.endStyle:this.setModelProgressStyle(o,A))};OI.prototype.setVisibility=function(o){this.tiltModel.start&&this.tiltModel.start.setVisibility(o),this.tiltModel.end.forEach(A=>{A.setVisibility(o)})};OI.prototype.deleteObject=function(){this.tiltModel.start&&this.tiltModel.start.deleteObject(),this.tiltModel.end.forEach(o=>{o.deleteObject()})};Object.defineProperties(OI.prototype,{time:{get(){return this.end-this.start}}});var $ht=OI;function nUi(o,A){var f=Math.PI/180,m=180/Math.PI,C=o.y*f,E=o.x*f,x=A.y*f,y=A.x*f,I=-Math.atan2(Math.sin(E-y)*Math.cos(x),Math.cos(C)*Math.sin(x)-Math.sin(C)*Math.cos(x)*Math.cos(E-y));return I<0&&(I+=Math.PI*2),I=I*m,I}var rPe=nUi;function oUi(o,A,f){var m=rPe(A,o),C=rPe(A,f),E=m-C;return E<0&&(E+=360),E}var edt=oUi;function aUi(o){if(!o||o.length<3)return 0;for(var A=6371e3,f=Math.PI/180,m=180/Math.PI,C=0,E=0;E<o.length;E++){var x=(E+1)%o.length,y=(E+2)%o.length;C+=edt(o[E],o[x],o[y])}var I=(o.length-2)*180,v=C-I;return v>420?(C=o.length*360-C,v=C-I):v>300&&v<420&&(v=Math.abs(360-v)),v*f*A*A}var tdt=aUi;function VH(o,A){this._viewer=o,this._cesium=A}VH.prototype.createTerrainProfile=function(o){for(var A=[],f=0;f<o.length;f++){var m=this._cesium.Ellipsoid.WGS84.cartesianToCartographic(o[f]);A.push(m.height)}return A};VH.prototype.measureTerrainArea=function(o){var A=tdt(o).toFixed(1);return A};VH.prototype.measureTerrainHeight=function(o){var A=o[o.length-2],f=o[o.length-1],m=Math.abs(A.x-f.x),C=Math.abs(A.y-f.y),E=m>=C?5e-4:0,x=m<C?.001:0;A.hit>=f.hit;var y=Math.abs(A.z-f.z);return y};VH.prototype.measureTerrainkPerimeter=function(o){var A=o[o.length-2],f=o[o.length-1],m=Math.abs(A.x-f.x),C=Math.abs(A.y-f.y),E=m>=C?5e-4:0,x=m<C?.001:0,y=Math.abs(A.z-f.z),I=pd(A.y,A.z,f.y,f.z),v=Math.sqrt(y*y+I*I);return v};VH.prototype.measureTerrainPerimeter=function(o){var A=o[o.length-2],f=o[o.length-1],m=Math.abs(A.x-f.x),C=Math.abs(A.y-f.y),E=m>=C?5e-4:0,x=m<C?.001:0,y=pd(A.y,A.x,f.y,f.x);return y};var idt=VH;var Sf,yle=1e-5*Math.PI/180;var sUi=11;function Xx(o,A){o=o,Sf=A,this._cesium=A,this._viewer=o,this._core=new $i(o,A),this._polylines=[],this._points=[],this._tree=Ke,this._interval=20}Xx.prototype.createlineOfSight=function(o,A){var f=[],m=[],C=this;this._tree.starttemporaryItem(this._viewer);var E=0,x=[],y=[],I="0",v={polyline:[]};this._tree.removeHandler();var B=this._core.CreateTooltip();C.objectsToExclude=null;var Q=void 0;this._core.mouse(this._viewer.container,1,window.SmartEarthRootUrl+Zr.draw);var T=function(){function N(G){this.options={polyline:{show:!0,positions:[],material:C._cesium.Color.YELLOW,width:3,clampToGround:!1}},this.positionsp=G,this._init()}return N.prototype._init=function(){var G=this,J=function(){return G.positionsp};this.options.polyline.positions=new C._cesium.CallbackProperty(J,!1),this.polyline=C._viewer.entities.add(this.options),C.item=this.polyline,C._tree.temporaryItem.obj.push(this.polyline),y.push(this.polyline)},N}();this._tree.handler=new C._cesium.ScreenSpaceEventHandler(C._viewer.scene.canvas);var w=[],S=void 0;if(this._points.length>0)for(var D=0;D<this._points.length;D++)this._viewer.entities.remove(this._points[D]);var R,P=5e-5*Math.PI/180,M=[];this._tree.handler.setInputAction(function(N){var G,J=C._viewer.camera.getPickRay(N.position);G=C._viewer.scene.globe.pick(J,C._viewer.scene);var K=C._viewer.scene.pick(N.position);if(K){var X=C._viewer.scene.pickPosition(N.position);X&&(G=X)}if(!!G)if(w.length===0){w.push(G.clone(),G.clone());var q={leftX:N.position.x,leftY:N.position.y};M.push(q),Q=G.clone()}else{var q={rightX:N.position.x,rightY:N.position.y};M.push(q);var ee={postion:w,entity:y,cartesian:M};x.push(ee),M=[],S=void 0,w=[];var ie=Q.clone();if(o.height!=null){var Ae=ellipsoid.cartesianToCartographic(Q.clone()),H=Sf.Math.toDegrees(cartograhphic.latitude),le=Sf.Math.toDegrees(cartograhpinc.longitude),ue=o.height,Ae=Sf.Cartographic.fromDegrees(le,H,ue),he=ellipsoid.cartographicToCartesian(Ae);ie=he}w.push(ie),w.push(ie),S=new T(w),f.push(S)}},this._cesium.ScreenSpaceEventType.LEFT_CLICK),this._tree.handler.setInputAction(function(N){var G,J=C._viewer.camera.getPickRay(N.endPosition);G=C._viewer.scene.globe.pick(J,C._viewer.scene);var K=C._viewer.scene.pick(N.endPosition);if(K){var X=C._viewer.scene.pickPosition(N.endPosition);X&&(G=X)}!G||(w.length===0?B.showAt(N.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u89C6\u70B9"):B.showAt(N.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u76EE\u6807\u89C6\u70B9\uFF0C\u53F3\u952E\u7ED3\u675F"),w.length>=2&&(C._cesium.defined(S)?G!=null&&(w.pop(),w.push(G)):(S=new T(w),f.push(S))))},this._cesium.ScreenSpaceEventType.MOUSE_MOVE);var L=0,F=0,k=0;return this._tree.handler.setInputAction(function(N){C.end&&C.end()},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=N=>{if(B.show(!1),this.end=void 0,C._core.mouse(C._viewer.container,0),C._tree.endtemporaryItem(),C._tree.handler.destroy(),N==="cancel"){for(var G=0;G<y.length;G++)C._viewer.entities.remove(y[G]);return}for(var J=[],K=!0,X=0;X<x.length;X++)if(X==0?(F=x[X].cartesian[0].leftX,k=x[X].cartesian[0].leftY,K=C.tsjx(x[X].postion,F,k,x[X].cartesian[1].rightX,x[X].cartesian[1].rightY,50,y,C._cesium,C._viewer)):K=C.tsjx(x[X].postion,F,k,x[X].cartesian[0].rightX,x[X].cartesian[0].rightY,50,y,C._cesium,C._viewer),K){var q=C._viewer.entities.add({name:"polyline1",polyline:{positions:x[X].postion,width:3,material:C._cesium.Color.GREEN}});v.polyline.push(q)}else{var q=C._viewer.entities.add({name:"polyline1",polyline:{positions:x[X].postion,width:3,material:C._cesium.Color.RED}});v.polyline.push(q)}w.pop(),C._polylines=v.polyline,C._tree.handler.destroy();for(var G=0;G<y.length;G++)C._viewer.entities.remove(y[G]);A!=""&&A!=null&&typeof A=="function"&&A(v)},this};Xx.prototype.tsjx=function(o,A,f,m,C,E,x,y,I){var v={gcs:[],min:0,max:0,juli:0,cys:E},B=this._core.getSpaceDistancem(o,y);B<=100&&B>=10?E=parseInt(B/2):B<10&&B>0?E=parseInt(B/1):B>100&&(E=parseInt(B/10)),v.cys=E;for(var Q=[],T=o[0],w=o[o.length-1],S=y.Cartographic.fromCartesian(T),D=y.Math.toDegrees(S.longitude),R=y.Math.toDegrees(S.latitude),P=S.height,M=S.height,L=y.Cartographic.fromCartesian(w),F=y.Math.toDegrees(L.longitude),k=y.Math.toDegrees(L.latitude),N=L.height,G=L.height,J=E,K=y.Math.lerp(D,F,1/J)-D,X=y.Math.lerp(R,k,1/J)-R,q=y.Math.lerp(M,G,1/J)-M,ee=y.Math.lerp(A,m,1/J)-A,ie=y.Math.lerp(f,C,1/J)-f,H=[],le=!0,ue,Ae,he=0;he<J-2;he++){var ge=D+(he+1)*K,fe=R+(he+1)*X,ae=M+(he+1)*q;ue=y.Cartesian3.fromDegrees(ge,fe,ae),Ae=y.Cartographic.fromCartesian(ue);var U=I.scene.globe.getHeight(Ae),W=I.scene.sampleHeight(Ae,x);if(W&&(U=W),U=parseFloat(U.toFixed(1)),ae=parseFloat(ae.toFixed(1)),U>ae)return le=!1,le}return le};Xx.prototype.deleteObject=function(){if(this._points.length>0){this.objectsToExclude=null;for(var o=0;o<this._points.length;o++)this._viewer.entities.remove(this._points[o])}};Xx.prototype.InterpolateLineCartographic=function(o,A,f){if(!(o&&A)||!(o.longitude&&o.latitude&&A.longitude&&A.latitude))return null;var m=[];m.push(new Sf.Cartographic(o.longitude,o.latitude));var C=Math.sqrt(Math.pow(A.longitude-o.longitude,2)+Math.pow(A.latitude-o.latitude,2)),E=f&&typeof f=="number"?f:yle;if(C<=E)return m.push(new Sf.Cartographic(A.longitude,A.latitude)),m;for(var x=C/E,y=(A.longitude-o.longitude)/x,I=(A.latitude-o.latitude)/x,v=0;v<x;v++){var B=o.longitude+(v+1)*y,Q=o.latitude+(v+1)*I;m.push(new Sf.Cartographic(B,Q))}return m.push(new Sf.Cartographic(A.longitude,A.latitude,A.height)),m};Xx.prototype.InterpolateLineCartographicxp=function(o,A,f){if(!(o&&A)||!(o.longitude&&o.latitude&&A.longitude&&A.latitude))return null;var m=[];m.push(new Sf.Cartographic(o.longitude,o.latitude));var C=Math.sqrt(Math.pow(A.longitude-o.longitude,2)+Math.pow(A.latitude-o.latitude,2)),E=f&&typeof f=="number"?f:yle;if(C<=E)return m.push(new Sf.Cartographic(A.longitude,A.latitude)),m;for(var x=C/E,y=(A.longitude-o.longitude)/x,I=(A.latitude-o.latitude)/x,v=(A.height-o.height)/x,B=!0,Q=0;Q<x;Q++){var T=o.longitude+(Q+1)*y,w=o.latitude+(Q+1)*I,S=o.height+v*(Q+1);m.push(new Sf.Cartographic(T,w,S))}return m.push(new Sf.Cartographic(A.longitude,A.latitude,A.height)),m};Xx.prototype.InterpolateLineHeightCartographic=function(o,A){if(!(o&&A)||!(o.longitude&&o.latitude&&A.longitude&&A.latitude))return null;var f=[];f.push(new Sf.Cartographic(o.longitude,o.latitude,o.height));var m=Math.sqrt(Math.pow(A.longitude-o.longitude,2)+Math.pow(A.latitude-o.latitude,2));if(m<=yle)return f.push(new Sf.Cartographic(A.longitude,A.latitude,A.height)),f;for(var C=m/yle,E=(A.longitude-o.longitude)/C,x=(A.latitude-o.latitude)/C,y=(A.height-o.height)/C,I=0;I<C;I++){var v=o.longitude+(I+1)*E,B=o.latitude+(I+1)*x,Q=o.height+(I+1)*y;f.push(new Sf.Cartographic(v,B,Q))}return f.push(new Sf.Cartographic(A.longitude,A.latitude,A.height)),f};Xx.prototype.InterpolateIndexLineHeightCartographic=function(o,A,f,m){if(!(o&&A)||!(o.longitude&&o.latitude&&A.longitude&&A.latitude))return null;var C=(A.longitude-o.longitude)/f,E=(A.latitude-o.latitude)/f,x=(A.height-o.height)/f,y=o.longitude+m*C,I=o.latitude+m*E,v=o.height+m*x,B=new Sf.Cartographic(y,I,v);return B};Xx.prototype.InterpolateIndexLineHeightCartographicxp=function(o,A,f,m){if(!(o&&A)||!(o.longitude&&o.latitude&&A.longitude&&A.latitude))return null;var C=(A.longitude-o.longitude)/f,E=(A.latitude-o.latitude)/f,x=(A.height-o.height)/f,y=o.longitude+m*C,I=o.latitude+m*E,v=o.height+m*x,B=new Sf.Cartographic(y,I,v);return B};Xx.prototype.Interpolate2IndexLineHeightCartographic=function(o,A,f,m){if(!(o&&A)||!(o.longitude&&o.latitude&&A.longitude&&A.latitude))return null;var C=[];C.push(new Sf.Cartographic(o.longitude,o.latitude,o.height));for(var E=(A.longitude-o.longitude)/f,x=(A.latitude-o.latitude)/f,y=(A.height-o.height)/f,I=0;I<m;I++){var v=o.longitude+(I+1)*E,B=o.latitude+(I+1)*x,Q=o.height+(I+1)*y;C.push(new Sf.Cartographic(v,B,Q))}return C};Xx.prototype.CartographicPointsTerrainData=function(o,A){if(!!(o.length&&o.length>0)){var f=Sf.sampleTerrain(this._viewer.terrainProvider,sUi,o);Sf.when(f,function(m){A(m)})}};Xx.prototype.setVisibility=function(o){if(this._polylines.length>0)for(var A=0;A<this._polylines.length;A++)this._polylines[A].show=o};Xx.prototype.deleteObject=function(){if(this._polylines.length>0)for(var o=0;o<this._polylines.length;o++)this._viewer.entities.remove(this._polylines[o])};Object.defineProperties(Xx.prototype,{sight:{get:function(){return this.item.sight},set:function(o){this.item.sight=sight}}});var rdt=Xx;function Zx(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._tree=Ke,this._indoormode=new Ok(o,A),this._model=null,this._relativeHeight=-100,this._groundHeightAtCameraPosition=0,this._startMousePosition,this._mousePosition,this._cameraHeight,this._originalOption,this._alpha=.5,this._brightness=.3,this._depth=300,this._canvas=null,this.isIndoor=!1,this.isUndergroundMode=!1,this._flags={move:!1,vertical:!1,horizontally:!1,rotate:!1},this.moveSpeed=1}Zx.prototype.refreshGridLines=function(){var o=this._relativeHeight<0,A=this._viewer.camera,f=new this._cesium.Cartographic(A.positionCartographic.longitude,A.positionCartographic.latitude,-this._depth);if(!this._model)this._model=this.UndergroundGridLines(f,o);else{var m=this.UndergroundGridLines(f,o);this._viewer.scene.primitives.remove(this._model),this._model=m}};Zx.prototype.UndergroundModelOpen=function(o,A){if(!this._model){this._getOriginalOption();var f=this._viewer.camera,x=new this._cesium.Cartographic(f.positionCartographic.longitude,f.positionCartographic.latitude,-this._depth),m=new this._cesium.Cartographic(f.positionCartographic.longitude,f.positionCartographic.latitude,f.positionCartographic.height);this.destination=m,this.orientation={heading:f.heading,pitch:f.pitch,roll:0},this._cesium.ExpandBySmartEarth&&(this._cesium.ExpandBySmartEarth.underEarth.cullFace=!1,this._cesium.ExpandBySmartEarth.underEarth.enable=!0,this._cesium.ExpandBySmartEarth.underEarth.enableDepth=this._depth,this._cesium.ExpandBySmartEarth.underEarth.enableSkirt=!0),this._viewer.scene.globe.baseColor=this._cesium.Color.WHITE.withAlpha(0);var C;o?(this._depth=this._cesium.defaultValue(o.depth,300),this._alpha=this._cesium.defaultValue(o.alpha,.5),this._brightness=this._cesium.defaultValue(o.brightness,.3),this.isEnterUnderground=this._cesium.defaultValue(o.isEnterUnderground,!0),this.isFlyToSky=this._cesium.defaultValue(o.isFlyToSky,!0),C=this._cesium.defaultValue(o.height,-100)):(this._depth=300,this._alpha=.5,this._brightness=.3,this.isEnterUnderground=!0,this.isFlyToSky=!0,C=-100),this.setLayerAlpha(this._alpha,this._brightness),this._viewer.scene.globe.depthTestAgainstTerrain=!0,this._viewer.scene.highDynamicRange=!1,this._viewer.scene.skyAtmosphere.show=!1,this._viewer.scene.skyBox.show=!1,this._viewer.scene.fog.enabled=!1,this._viewer.scene.backgroundColor=new this._cesium.Color(0,0,0,1),this._viewer.container.style.backgroundImage="unset",this.isUndergroundMode=!0,A?(this.isIndoor=!0,this._indoormode.createIndoormode({undergroundMode:this})):this.isIndoor=!1;var E=this._viewer.camera,x=new this._cesium.Cartographic(E.positionCartographic.longitude,E.positionCartographic.latitude,-this._depth);this._model=this.UndergroundGridLines(x,!0);var y=this;return this._viewer.scene.preRender.addEventListener(this.getRelativeHeight,this),this.getRelativeHeight(),this._relativeHeight>0&&this.isEnterUnderground&&this.enterUnderground(C),this}};Zx.prototype.close=function(){if(this._model){this._viewer.scene.preRender.removeEventListener(this.getRelativeHeight,this),this.setLayerAlpha(this._originalOption.alpha,this._originalOption.brightness),this._viewer.scene.primitives.remove(this._model),this._cesium.ExpandBySmartEarth&&(this._cesium.ExpandBySmartEarth.underEarth.cullFace=void 0,this._cesium.ExpandBySmartEarth.underEarth.enable=!1,this._cesium.ExpandBySmartEarth.underEarth.enableDepth=0,this._cesium.ExpandBySmartEarth.underEarth.enableSkirt=!1),this._viewer.scene.globe.baseColor=this._cesium.Color.WHITE.withAlpha(1),this._viewer.scene.globe.depthTestAgainstTerrain=this._originalOption.depthTest,this._viewer.scene.skyBox&&(this._viewer.scene.skyBox.show=this._originalOption.skyBoxShow),this._viewer.scene.highDynamicRange=this._originalOption.highDynamicRange,this._viewer.scene.skyAtmosphere.show=this._originalOption.skyShow,this._viewer.scene.backgroundColor=this._originalOption.backgroundColor,this._viewer.container.style.backgroundImage=this._originalOption.backgroundImage,this._viewer.scene.fog.enabled=this._originalOption.fog,this.isUndergroundMode=!1,this._model=null,IW=void 0;var o=this._viewer.camera.positionCartographic;if(ndt(this),this.isFlyToSky){if(this._relativeHeight>500)return;this.flyToSky()}}};Zx.prototype._getOriginalOption=function(){var o={alpha:this._cesium.clone(this._viewer.imageryLayers._layers[0]&&this._viewer.imageryLayers._layers[0].alpha),brightness:this._cesium.clone(this._viewer.imageryLayers._layers[0]&&this._viewer.imageryLayers._layers[0].brightness),highDynamicRange:this._cesium.clone(this._viewer.scene.highDynamicRange),skyShow:this._cesium.clone(this._viewer.scene.skyAtmosphere.show),skyBoxShow:this._cesium.clone(this._viewer.scene.skyBox&&this._viewer.scene.skyBox.show),depthTest:this._cesium.clone(this._viewer.scene.globe.depthTestAgainstTerrain),backgroundColor:this._viewer.scene.backgroundColor.clone(),backgroundImage:this._viewer.container.style.backgroundImage,fog:this._viewer.scene.fog.enabled};this._viewer.scene.globe._surface&&this._viewer.scene.globe._surface._tileProvider&&this._viewer.scene.globe._surface._tileProvider._renderState&&(o.blending=this._cesium.clone(this._viewer.scene.globe._surface._tileProvider._renderState.blending)),this._originalOption=o};Zx.prototype.enterUnderground=function(o){var A=this._viewer.camera,f=new this._cesium.Cartographic(A.positionCartographic.longitude,A.positionCartographic.latitude,-this._depth);A.positionCartographic.height<=10||A.flyTo({destination:new this._cesium.Cartesian3.fromRadians(f.longitude,f.latitude,o||-this._depth/3),orientation:{heading:this._cesium.Math.toRadians(0),pitch:this._cesium.Math.toRadians(0),roll:0},complete:function(){}})};Zx.prototype.flyToSky=function(){var o=this._viewer.camera,A=this._viewer.camera.positionCartographic;o.positionCartographic.height>=10||this._viewer.camera.flyTo({destination:new this._cesium.Cartesian3.fromRadians(this.destination.longitude,this.destination.latitude,this.destination.height),orientation:{heading:this.orientation.heading,pitch:this.orientation.pitch,roll:0}})};Zx.prototype.setLayerAlpha=function(o,A){for(var f=this._viewer.imageryLayers.length,m=0;m<f;m++)this._viewer.imageryLayers.get(m).alpha=o,A!==void 0&&(this._viewer.imageryLayers.get(m).brightness=A);this._alpha=o,A!==void 0&&(this._brightness=A)};Zx.prototype.UndergroundGridLines=function(o,A){var f=o;o instanceof this._cesium.Cartesian3&&(f=this._viewer.scene.globe.ellipsoid.cartesianToCartographic(o));var m=new this._cesium.GeometryInstance({geometry:new this._cesium.EllipseGeometry({center:this._cesium.Cartesian3.fromRadians(f.longitude,f.latitude),height:f.height,semiMinorAxis:2e4,semiMajorAxis:2e4,vertexFormat:this._cesium.VertexFormat.POSITION_AND_ST}),id:"undergroundSurface"}),C=this._cesium.Material.fromType("Grid");C.uniforms.color=this._cesium.Color.WHITE.withAlpha(.3),C.uniforms.cellAlpha=.01,C.uniforms.lineCount=new this._cesium.Cartesian2(200,200),C.uniforms.lineThickness=new this._cesium.Cartesian2(1,1);var E=this._viewer.scene.primitives.add(new this._cesium.Primitive({geometryInstances:m,appearance:new this._cesium.EllipsoidSurfaceAppearance({material:C})}));return E.appearance.renderState.depthTest.enabled=!0,E.show=A,E};function ndt(o){var A=o._viewer.scene,f=o._viewer.canvas;o._tree&&o._tree.handler&&(o._tree.handler.destroy(),o._tree.handler=null),A.screenSpaceCameraController.enableRotate=!0,A.screenSpaceCameraController.enableTranslate=!0,A.screenSpaceCameraController.enableZoom=!0,A.screenSpaceCameraController.enableTilt=!0,A.screenSpaceCameraController.enableLook=!0}Zx.prototype.attachMouseEvent=function(){var o,A=this,f=this._viewer.scene;this._canvas=this._viewer.canvas,this._tree.handler=new this._cesium.ScreenSpaceEventHandler(this._canvas),this._canvas.setAttribute("tabindex","0"),this._canvas.onclick=function(){A._canvas.focus()},f.screenSpaceCameraController.enableRotate=!1,f.screenSpaceCameraController.enableTranslate=!1,f.screenSpaceCameraController.enableZoom=!1,f.screenSpaceCameraController.enableTilt=!1,f.screenSpaceCameraController.enableLook=!1,this._tree.handler.setInputAction(function(C){A._flags.move=!0,A._viewer.camera.pitch>A._cesium.Math.toRadians(5)?(A._flags.vertical=!0,A._startMousePosition=C.position):A._flags.horizontally=!0,o=A._viewer.camera.positionCartographic,A._cameraHeight=A._viewer.camera.positionCartographic.height},this._cesium.ScreenSpaceEventType.LEFT_DOWN),this._tree.handler.setInputAction(function(C){A._flags.move=!0,A._flags.rotate=!0},this._cesium.ScreenSpaceEventType.MIDDLE_DOWN),this._tree.handler.setInputAction(function(C){A._flags.vertical||(A._startMousePosition=C.startPosition),A._mousePosition=C.endPosition,A.mouseMoveEvent()},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),this._tree.handler.setInputAction(function(C){A._flags.move=!1,A._flags.horizontally=!1,A._flags.vertical=!1},this._cesium.ScreenSpaceEventType.LEFT_UP),this._tree.handler.setInputAction(function(C){A._flags.move=!1,A._flags.rotate=!1},this._cesium.ScreenSpaceEventType.MIDDLE_UP);var m=1e3;this._tree.handler.setInputAction(function(C){var E=A._viewer.camera,x=E.positionCartographic.height>500?E.positionCartographic.height/m:.1;E.pitch<0&&E.positionCartographic.height<-200&&C>0||E.pitch>0&&E.positionCartographic.height<-200&&C<0||E.zoomIn(C*x)},this._cesium.ScreenSpaceEventType.WHEEL)};Zx.prototype.mouseMoveEvent=function(){var o=200*this.moveSpeed,A=2,f=.001,m=this._viewer.camera;if(this._flags.move){var C=this._canvas.clientWidth,E=this._canvas.clientHeight,x=this._mousePosition.x-this._startMousePosition.x,y=-(this._mousePosition.y-this._startMousePosition.y);this._flags.horizontally&&(m.moveLeft(x*A),m.moveBackward(y*A),m.setView({destination:this._cesium.Cartesian3.fromRadians(m.positionCartographic.longitude,m.positionCartographic.latitude,this._cameraHeight),orientation:{heading:m.heading,pitch:m.pitch,roll:m.roll}})),this._flags.vertical&&(y=y/E,m.setView({destination:this._cesium.Cartesian3.fromRadians(m.positionCartographic.longitude,m.positionCartographic.latitude,this._cameraHeight-y*o),orientation:{heading:m.heading,pitch:m.pitch,roll:m.roll}})),this._flags.rotate&&((!m.roll&&m.pitch<0&&y<0||!m.roll&&m.pitch>0&&y>0)&&(y=0),m.rotate(m.position,x*f),m.lookUp(y*f))}};var IW;Zx.prototype.getRelativeHeight=function(){var o=this._viewer.camera,A=this._viewer.scene.globe.getHeight(o.positionCartographic);if(this._groundHeightAtCameraPosition=A||this._groundHeightAtCameraPosition,this._relativeHeight=o.positionCartographic.height-this._groundHeightAtCameraPosition,this._relativeHeight<1){!this._tree.handler&&!this.isIndoor&&this.attachMouseEvent();let f=Math.abs(this._relativeHeight);f<50?this.moveSpeed=.25:f<100?this.moveSpeed=.5:f<150?this.moveSpeed=.75:this.moveSpeed=1}else this._tree.handler&&!this.isIndoor&&ndt(this);!IW&&(IW=o.position.clone()),this._core.getSpaceDistancem([IW,o.position],this._cesium)>1e4&&(IW=o.position.clone(),this.refreshGridLines()),this._relativeHeight<0?this._model&&(this._model.show=!0):this._model&&(this._model.show=!1)};Zx.prototype.isHaveTerrain=function(){return!!(this._viewer.scene&&this._viewer.scene.terrainProvider&&this._viewer.scene.terrainProvider._layers)};Zx.prototype.setCesiumFov=function(o){this._viewer.camera.frustum.fov=this._cesium.Math.toRadians(o)};var odt=Zx;function fa(o,A){this._viewer=o,this._cesium=A,this._elevationContour=new mH(this._viewer,this._cesium),this._createcurtaincontrast=new kht(this._viewer,this._cesium),this._createindoormode=new Ok(this._viewer,this._cesium),this._createWeather=new Oht(this._viewer,this._cesium),this._UndergroundGrid=new Uht(this._viewer),this._StreetView=new CW(this._viewer,this._cesium),this._depthTestAgainstTerrain=new Ght(this._viewer,this._cesium),this._create3DViewshed=new Ele(this._viewer,this._cesium),this._skylineAnalysis=new Jht(this._viewer,this._cesium),this._EdgeStage=new qht(this._viewer,this._cesium),this._bufferAnalysis=new BQ(this._viewer,this._cesium),this._shadowsAnalysis=new Zht(this._viewer,this._cesium),this._screenshot=new gse(this._viewer,this._cesium),this._PointFly=new Z8(this._viewer,this._cesium),this._SunshineAnalysis=new xle(this._viewer,this._cesium),this._measure=new oae(this._viewer,this._cesium),this._Deprecated=new idt(this._viewer,this._cesium),this._UndergroundMode=new odt(this._viewer,this._cesium)}fa.prototype.clearMeasure=function(o){this._measure.clearMeasure(o)};fa.prototype.horizontalDistance=function(o,A){this._measure.horizontalDistance(o,A)};fa.prototype.spaceDistance=function(o,A){this._measure.spaceDistance(o,A)};fa.prototype.altitude=function(o,A){this._measure.altitude(o,A)};fa.prototype.verticalHeight=function(o,A){this._measure.verticalHeight(o,A)};fa.prototype.surfaceArea=function(o,A){this._measure.surfaceArea(o,A)};fa.prototype.planeArea=function(o,A){this._measure.planeArea(o,A)};fa.prototype.measureAngle=function(o,A){this._measure.measureAngle(o,A)};fa.prototype.analysisVolume=function(o,A){this._measure.analysisVolume(o,A)};fa.prototype.measureTerrainPerimeter=function(o){return this._Deprecated.measureTerrainPerimeter(o)};fa.prototype.depthTestAgainstTerrain=function(o){return this._depthTestAgainstTerrain.depthTestAgainstTerrain(o)};fa.prototype.DrawPointBuffer=function(o,A,f){return this._bufferAnalysis.DrawPoint(o,A,f)};fa.prototype.DrawPolylineBuffer=function(o,A,f){return this._bufferAnalysis.DrawPolyline(o,A,f)};fa.prototype.DrawPolygonBuffer=function(o,A,f){return this._bufferAnalysis.DrawPolygon(o,A,f)};fa.prototype.TerrainExcavation=function(o=100,A,f){return new Xht(this._viewer,this._cesium).draw(o,A,f)};fa.prototype.ShadowsAnalysis=function(){return this._shadowsAnalysis.createAnalysis()};fa.prototype.createSkylineAnalysis=function(o){return this._skylineAnalysis.createSkylineAnalysis(o)};fa.prototype.createEdgeStage=function(o){return this._EdgeStage.createEdgeStage(o)};fa.prototype.clearSkylineAnalysis=function(){return this._skylineAnalysis.clear()};fa.prototype.createScreenshot=function(o){return this._screenshot.createScreenshot(o)};fa.prototype.ScreenshotCompared=function(o){return this._screenshot.createScreenshotCompared(o)};fa.prototype.setPointFly=function(o){return this._PointFly.setPointFly(o)};fa.prototype.createCircleScan=function(o,A,f,m,C){var E=new HT(this._viewer,this._cesium);return E.createCircleScan(o,A,f,m,C)};fa.prototype.createMultiCircleScan=function(o,A,f,m,C){var E=new HT(this._viewer,this._cesium);return E.createMultiCircleScan(o,A,f,m,C)};fa.prototype.createSectorScan=function(o,A,f,m,C,E,x){var y=new HT(this._viewer,this._cesium);return y.createSectorScan(o,A,f,m,C,E,x)};fa.prototype.createRadarScan=function(o,A,f,m,C){var E=new HT(this._viewer,this._cesium);return E.createRadarScan(o,A,f,m,C)};fa.prototype.UndergroundModelOpen=function(o,A){return this._UndergroundMode.UndergroundModelOpen(o,A)};fa.prototype.UndergroundModelClose=function(){return this._UndergroundMode.close()};fa.prototype.UndergroundMode=function(o,A){if(o){this._viewer.scene.globe.translucency.enabled||(this._viewer.scene.globe.translucency.enabled=!0,this._viewer.scene.screenSpaceCameraController.enableCollisionDetection=!1,this._viewer.scene.globe.translucency.backFaceAlpha=0,this.undergroundValue("set")),A!==void 0?this._viewer.scene.globe.translucency.frontFaceAlpha=A:this._viewer.scene.globe.translucency.frontFaceAlpha=.5;let f=this._viewer,m=this._UndergroundGrid;return m.show&&m.add(),{get alpha(){return f.scene.globe.translucency.frontFaceAlpha},set alpha(C){f.scene.globe.translucency.frontFaceAlpha=C},get grid(){return m.show},set grid(C){m.show=C,C?m.add():m.destroy()},get depth(){return m._depth},set depth(C){m._depth=C,m.show&&m.refreshGridLines()}}}else this._viewer.scene.globe.translucency.enabled&&(this._viewer.scene.globe.translucency.enabled=!1,this._viewer.scene.screenSpaceCameraController.enableCollisionDetection=!0,this._viewer.scene.globe.translucency.backFaceAlpha=1,this._UndergroundGrid.destroy(),this.undergroundValue("get"))};fa.prototype.undergroundValue=function(o){o==="set"?(this.defaultUnderground={highDynamicRange:this._viewer.scene.highDynamicRange,skyBox:this._viewer.scene.skyBox.show,fog:this._viewer.scene.fog.enabled,undergroundColor:this._viewer.scene.globe.undergroundColor},this._viewer.scene.highDynamicRange=!1,this._viewer.scene.skyBox.show=!1,this._viewer.scene.fog.enabled=!1,this._viewer.scene.globe.undergroundColor=void 0):(this._viewer.scene.highDynamicRange=this.defaultUnderground.highDynamicRange,this._viewer.scene.skyBox.show=this.defaultUnderground.skyBox,this._viewer.scene.fog.enabled=this.defaultUnderground.fog,this._viewer.scene.globe.undergroundColor=this.defaultUnderground.undergroundColor)};fa.prototype.StreetViewOpen=function(o,A,f){return this._StreetView.StreetViewOpen(o,A,f)};fa.prototype.ExitStreetView=function(){return this._StreetView.exit()};fa.prototype.createWeather=function(o,A,f){return this._createWeather.createWeather(o,A,f)};fa.prototype.createParticleEffect=function(o,A,f,m){let C=new use(this._viewer,this._cesium);return!this._Particle&&(this._Particle={}),!this._Particle[o]&&(this._Particle[o]=[]),this._Particle[o].push(C),C.createParticleEffect(o,A,f,m)};fa.prototype.removeParticleEffect=function(o){this._Particle&&(this._Particle[o]&&this._Particle[o].forEach(A=>{A.deleteObject()}),this._Particle[o]=[])};fa.prototype.demolition=function(o,A){return new $ht(this._viewer,this._cesium).play(o,A)};fa.prototype.measureTerrainHeight=function(o){return this._Deprecated.measureTerrainHeight(o)};fa.prototype.createindoormode=function(o){return this._createindoormode.createIndoormode(o)};fa.prototype.Indoormodeclose=function(){return this._createindoormode.Indoormodeclose()};fa.prototype.createIndoormode=function(){return this._createindoormode.createIndoormode()};fa.prototype.closeIndoormode=function(){return this._createindoormode.close()};fa.prototype.setTime=function(o=9){let A=new Date().setHours(o);this._viewer.clock.currentTime=Cesium.JulianDate.fromDate(new Date(A))};fa.prototype.terrainExaggeration=function(o){return this._viewer.scene.globe.terrainExaggeration=o};fa.prototype.createCurtainContrast=function(o,A){return this._createcurtaincontrast.curtainContrast(o,A)};fa.prototype.curtainContrast=function(o){return this._createcurtaincontrast.curtainContrastPro(o)};fa.prototype.clearCurtainContrast=function(){return this._createcurtaincontrast.close()};fa.prototype.measureTerrainArea=function(o){return this._Deprecated.measureTerrainArea(o)};fa.prototype.measureTerrainkPerimeter=function(o){return this._Deprecated.measureTerrainkPerimeter(o)};fa.prototype.createElevationContour=function(o,A,f){return this._elevationContour.createElevationContour(o,A,f)};fa.prototype.createTerrainProfile=function(o){return this._Deprecated.createTerrainProfile(o)};fa.prototype.create3DViewshed=function(o){return this._create3DViewshed.startDraw(o),this._create3DViewshed};fa.prototype.set3DViewshedOptions=function(o){return this._create3DViewshed.setOptions(o),this._create3DViewshed};fa.prototype.create3DViewshedPoss=function(o){return new q2e(this._viewer,this._cesium).createViewshed(o)};fa.prototype.add3DViewshedPoss=function(o){return new q2e(this._viewer,this._cesium).addViewshed(o)};fa.prototype.add3DViewshed=function(o){return this._create3DViewshed.addViewshed(o),this._create3DViewshed};fa.prototype.close3DViewshed=function(){return this._create3DViewshed.close()};fa.prototype.createlineOfSight=function(o,A){var f=new rdt(this._viewer,this._cesium);return f.createlineOfSight(o,A)};fa.prototype.createSightLine=function(o){return new Fht(this._viewer,this._cesium).createSightLine(o)};fa.prototype.floodAnalysis=function(o,A){return new Fg(this._viewer,this._cesium).executePolygonymsd(o,A)};fa.prototype.SunshineAnalysisPoint=function(o,A){return this._SunshineAnalysis.sunshineAnalysisPoint(o,A)};fa.prototype.SunshineAnalysisPolygon=function(o,A){return this._SunshineAnalysis.sunshineAnalysisPolygon(o,A)};var adt=fa;var nPe=class extends Za{constructor(A,f,m,C){super(A,m,C),this.editBillboard=void 0,this.pickedEntity=void 0,this.isEditing=!1,this.editBillboard=f,O(this.editBillboard)&&O(this.editBillboard.entity.billboard)?console.info(this.editBillboard.entity):(this.mEnable=!1,this.mCallback&&this.mCallback({msg:"Billboard entity is need!"}))}onLButtonDown(A){if(super.onLButtonDown(A),this.pickedEntity={},this.pickObject(A,this.pickedEntity)){let f=this.pickedEntity.pickedObject.id;f.id===this.editBillboard.entity.id&&(this.isEditing=!0,this.currentPoint=f),this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!1,this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!1}}onLButtonUp(A){return super.onLButtonUp(A)===!1||!this.isEditing?!1:((O(this.editBillboard.entity)||this.pickObject(A,this.editBillboard.entity))&&this.mCallback&&this.mCallback(this.editBillboard),this.currentPoint=void 0,this.isEditing=!1,!0)}onLButtonDrag(A){if(!this.isEditing)return!1;if(O(this.currentPoint)){let f=this.mEarthCtrl.coreMap.scene.globe.ellipsoid,m=this.mEarthCtrl.coreMap.camera.pickEllipsoid(A,f);if(!m)return;this.currentPoint.position=m,this.editBillboard.entity.position=m}return this.mCallback&&this.mCallback(this.editBillboard),!0}updateBillboard(A){if(O(A)&&O(this.editBillboard)){let f=Object.keys(A);for(let m=0;m<f.length;m++){let C=f[m];C==="position"?this.editBillboard.entity.position=A[C]:O(A[C])&&(this.editBillboard.entity.billboard[C]=A[C])}}}endEditEntity(){}},sdt=nPe;var oPe=class extends Za{constructor(A,f,m,C){super(A,m,C),this.editPoint=void 0,this.pickedEntity=void 0,this.isEditing=!1,this.editPoint=f,O(this.editPoint)&&O(this.editPoint.entity.point)?console.info(this.editPoint.entity.point):(this.mEnable=!1,this.mCallback&&this.mCallback({msg:"Point entity is need!"}))}onLButtonDown(A){if(super.onLButtonDown(A),this.pickedEntity={},this.pickObject(A,this.pickedEntity)){let f=this.pickedEntity.pickedObject.id;f.id===this.editPoint.entity.id&&(this.isEditing=!0,this.currentPoint=f),this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!1,this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!1}}onLButtonUp(A){return super.onLButtonUp(A)===!1||!this.isEditing?!1:((O(this.editPoint.entity)||this.pickObject(A,this.editPoint.entity))&&this.mCallback&&this.mCallback(this.editPoint),this.currentPoint=void 0,this.isEditing=!1,!0)}onLButtonDrag(A){if(!this.isEditing)return!1;if(O(this.currentPoint)){let f=this.mEarthCtrl.coreMap.scene.globe.ellipsoid,m=this.mEarthCtrl.coreMap.camera.pickEllipsoid(A,f);if(!m)return;this.currentPoint.position=m,this.editPoint.entity.position=m}return this.mCallback&&this.mCallback(this.editPoint),!0}updatePoint(A){if(O(A)&&O(this.editPoint)){let f=Object.keys(A);for(let m=0;m<f.length;m++){let C=f[m];C==="position"?this.editPoint.entity.position=A[C]:O(A[C])&&(this.editPoint.entity.point[C]=A[C])}}}endEditEntity(){}},ldt=oPe;var aPe=class extends Za{constructor(A,f,m,C){if(super(A,m,C),this.editBox=void 0,this.pickedEntity=void 0,this.editHeightPoint=void 0,this.editWHPoint=void 0,this.pickEditHeightPoint=void 0,this.pickEditWHPoint=void 0,this.isEditing=!1,this.pointsId=[],this.height=0,this.dragPosition=void 0,this.editBox=f,O(this.editBox)&&O(this.editBox.entity.box)){let E=this.editBox.entity.position._value,x=Rt.fromCartesian(E);this.height=x.height;let y=new Z,I=new Z;this.getNorthPointByDistance(y,I),this.editHeightPoint=this.mEarthCtrl.entities.add({name:"box_edit_height_point",position:y,point:{heightReference:this.editBox.entity.box.heightReference,color:Ve.WHITE,pixelSize:12,outlineColor:Ve.BLACK,outlineWidth:1}}),this.pointsId.push(this.editHeightPoint.id),this.editWHPoint=this.mEarthCtrl.entities.add({name:"box_edit_long_width_point",position:I,point:{heightReference:this.editBox.entity.box.heightReference,color:Ve.RED,pixelSize:12,outlineColor:Ve.BLACK,outlineWidth:1}}),this.pointsId.push(this.editWHPoint.id)}else this.mEnable=!1,this.mCallback&&this.mCallback({msg:"Box entity is need!"})}addHeight(A){let f=this.editBox.entity.position._value,m=Rt.fromCartesian(f);return this.height=m.height+A,Z.fromRadians(m.longitude,m.latitude,this.height)}getNorthPointByDistance(A,f,m){let C;console.info(this.editBox.entity.position),O(m)?C=this.editBox.entity.position.getValue(m):C=this.editBox.entity.position._value;let E=kr.eastNorthUpToFixedFrame(C),x=new Z,y=this.editBox.entity.box.dimensions._value;y||(y=this.editBox.entity.box.dimensions.getValue(m)),Z.divideByScalar(y,2,x),Z.clone(x,A),Z.clone(x,f),A.y*=-1,Re.multiplyByPoint(E,A,A),f.y*=-1,f.z*=-1,Re.multiplyByPoint(E,f,f)}destory(){}onLButtonDown(A){if(super.onLButtonDown(A),this.pickedEntity={},this.pickObject(A,this.pickedEntity)){let f=this.pickedEntity.pickedObject.id;f.id===this.editBox.entity.id?(this.isEditing=!0,this.currentPoint=f,this.pickEditHeightPoint=void 0,this.pickEditWHPoint=void 0):f.name==="box_edit_height_point"?(this.isEditing=!0,this.currentPoint=void 0,this.pickEditHeightPoint=f,this.pickEditWHPoint=void 0):f.name==="box_edit_long_width_point"&&(this.isEditing=!0,this.currentPoint=void 0,this.pickEditHeightPoint=void 0,this.pickEditWHPoint=f),this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!1,this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!1}}onLButtonUp(A){return super.onLButtonUp(A)===!1||!this.isEditing?!1:((O(this.editBox)||this.pickObject(A,this.editBox.entity))&&this.mCallback&&this.mCallback(this.editBox),this.currentPoint=void 0,this.isEditing=!1,this.dragPosition=void 0,!0)}onLButtonDrag(A){if(!this.isEditing)return!1;let f=new Date,m=Zt.fromDate(f);if(O(this.currentPoint)||O(this.pickEditHeightPoint)||O(this.pickEditWHPoint)){let C=this.mEarthCtrl.coreMap.scene.globe.ellipsoid,E=this.mEarthCtrl.coreMap.camera.pickEllipsoid(A,C);if(!E)return;let x=Rt.fromCartesian(E),y=Z.fromRadians(x.longitude,x.latitude,x.height+this.height);if(O(this.currentPoint))this.currentPoint.position=y,this.editBox.entity.position=new Hr(function(){return y},!1);else if(O(this.dragPosition)){if(O(this.pickEditWHPoint)){let B=Z.subtract(E,this.dragPosition,new Z),Q=Z.normalize(B,new Z);Z.dot(B,Q,B);let T=this.editBox.entity.box.dimensions._value;T||(T=this.editBox.entity.box.dimensions.getValue(m));let w=Z.clone(T);w.x-=B.x,w.y+=B.y,Z.abs(w,w),this.editBox.entity.box.dimensions=new Hr(function(){return w},!1)}else if(O(this.pickEditHeightPoint)){let B=Z.subtract(E,this.dragPosition,new Z),Q=this.editBox.entity.box.dimensions._value;Q||(Q=this.editBox.entity.box.dimensions.getValue(m));let T=Z.clone(Q);T.z+=B.z,Z.abs(T,T),this.editBox.entity.box.dimensions=T,this.editBox.entity.position=this.addHeight(B.z/2)}}this.dragPosition=E;let I=new Z,v=new Z;this.getNorthPointByDistance(I,v,m),this.editHeightPoint.position=I,this.editWHPoint.position=v}return this.mCallback&&this.mCallback(this.editBox),!0}updateBox(A){if(O(A)&&O(this.editBox)){let f=Object.keys(A);for(let m=0;m<f.length;m++){let C=f[m];C==="position"?this.editBox.entity.position=A[C]:O(A[C])&&(this.editBox.entity.box[C]=A[C])}}}endEditEntity(){for(let A=0;A<this.pointsId.length;A++){let f=this.pointsId[A];this.mEarthCtrl.entities.removeById(f)}this.pointsId=[]}},udt=aPe;var sPe=class extends Za{constructor(A,f,m,C){if(super(A,m,C),this.editCylinder=void 0,this.pickedEntity=void 0,this.isEditing=!1,this.pointsId=[],this.height=0,this.topRadiusPoint=void 0,this.pickTopRadiusPoint=void 0,this.bottomRadiusPoint=void 0,this.pickBottomRadiusPoint=void 0,this.heightPoint=void 0,this.pickHeightPoint=void 0,this.dragPosition=void 0,this.editCylinder=f,O(this.editCylinder)&&O(this.editCylinder.entity.cylinder)){let E=this.editCylinder.entity.position._value,x=Rt.fromCartesian(E);this.height=x.height;let y=this.editCylinder.entity.cylinder.topRadius._value,I=this.editCylinder.entity.cylinder.bottomRadius._value,v=new Z,B=new Z,Q=new Z;this.getNorthPointByDistance(v,B,Q),this.heightPoint=this.mEarthCtrl.entities.add({name:"cylinder_edit_height_point",position:Q,point:{heightReference:this.editCylinder.entity.cylinder.heightReference,color:Ve.WHITE,pixelSize:12,outlineColor:Ve.BLACK,outlineWidth:1}}),this.pointsId.push(this.heightPoint.id),y>0&&(this.topRadiusPoint=this.mEarthCtrl.entities.add({name:"cylinder_edit_top_radius_point",position:v,point:{heightReference:this.editCylinder.entity.cylinder.heightReference,color:Ve.RED,pixelSize:12,outlineColor:Ve.BLACK,outlineWidth:1}}),this.pointsId.push(this.topRadiusPoint.id)),I>0&&(this.bottomRadiusPoint=this.mEarthCtrl.entities.add({name:"cylinder_edit_bottom_radius_point",position:B,point:{heightReference:this.editCylinder.entity.cylinder.heightReference,color:Ve.RED,pixelSize:12,outlineColor:Ve.BLACK,outlineWidth:1}}),this.pointsId.push(this.bottomRadiusPoint.id))}else this.mEnable=!1,this.mCallback&&this.mCallback({msg:"Cylinder entity is need!"})}addHeight(A){let f=this.editCylinder.entity.position._value,m=Rt.fromCartesian(f);return this.height=m.height+A,Z.fromRadians(m.longitude,m.latitude,this.height)}getNorthPointByDistance(A,f,m){let C=this.editCylinder.entity.position._value,E=kr.eastNorthUpToFixedFrame(C),x=this.editCylinder.entity.cylinder.length._value,y=this.editCylinder.entity.cylinder.topRadius._value,I=this.editCylinder.entity.cylinder.bottomRadius._value;y>0&&(A.z+=x/2,A.x+=y,Re.multiplyByPoint(E,A,A)),I>0&&(f.x+=I,f.z-=x/2,Re.multiplyByPoint(E,f,f)),m.z+=x/2,Re.multiplyByPoint(E,m,m)}destory(){}onLButtonDown(A){if(super.onLButtonDown(A),this.pickedEntity={},this.pickObject(A,this.pickedEntity)){let f=this.pickedEntity.pickedObject.id;f.id===this.editCylinder.entity.id?(this.isEditing=!0,this.currentPoint=f,this.pickHeightPoint=void 0,this.pickTopRadiusPoint=void 0,this.pickBottomRadiusPoint=void 0):f.name==="cylinder_edit_height_point"?(this.isEditing=!0,this.currentPoint=void 0,this.pickHeightPoint=f,this.pickTopRadiusPoint=void 0,this.pickBottomRadiusPoint=void 0):f.name==="cylinder_edit_top_radius_point"?(this.isEditing=!0,this.currentPoint=void 0,this.pickHeightPoint=void 0,this.pickTopRadiusPoint=f,this.pickBottomRadiusPoint=void 0):f.name==="cylinder_edit_bottom_radius_point"&&(this.isEditing=!0,this.currentPoint=void 0,this.pickHeightPoint=void 0,this.pickTopRadiusPoint=void 0,this.pickBottomRadiusPoint=f),this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!1,this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!1}}onLButtonUp(A){return super.onLButtonUp(A)===!1||!this.isEditing?!1:((O(this.editCylinder)||this.pickObject(A,this.editCylinder.entity))&&this.mCallback&&this.mCallback(this.editCylinder),this.currentPoint=void 0,this.dragPosition=void 0,this.isEditing=!1,!0)}onLButtonDrag(A){if(!this.isEditing)return!1;if(O(this.currentPoint)||O(this.heightPoint)||O(this.topRadiusPoint)||O(this.bottomRadiusPoint)){let f=this.mEarthCtrl.coreMap.scene.globe.ellipsoid,m=this.mEarthCtrl.coreMap.camera.pickEllipsoid(A,f);if(!m)return;let C=Rt.fromCartesian(m),E=Z.fromRadians(C.longitude,C.latitude,C.height+this.height);if(O(this.currentPoint))this.currentPoint.position=E,this.editCylinder.entity.position=E;else if(O(this.dragPosition)){if(O(this.pickHeightPoint)){let Q=Z.subtract(m,this.dragPosition,new Z),T=this.editCylinder.entity.cylinder.length._value;T+=Q.z,T=Math.abs(T),this.editCylinder.entity.position=this.addHeight(Q.z/2),this.editCylinder.entity.cylinder.length=T}else if(O(this.pickTopRadiusPoint)){let Q=Z.subtract(m,this.dragPosition,new Z),T=this.editCylinder.entity.cylinder.topRadius._value;T-=Q.x,T=Math.abs(T),this.editCylinder.entity.cylinder.topRadius=T}else if(O(this.pickBottomRadiusPoint)){let Q=Z.subtract(m,this.dragPosition,new Z),T=this.editCylinder.entity.cylinder.bottomRadius._value;T-=Q.x,T=Math.abs(T),this.editCylinder.entity.cylinder.bottomRadius=T}}this.dragPosition=m;let x=this.editCylinder.entity.cylinder.topRadius._value,y=this.editCylinder.entity.cylinder.bottomRadius._value,I=new Z,v=new Z,B=new Z;this.getNorthPointByDistance(I,v,B),x>0&&(this.topRadiusPoint.position=I),y>0&&(this.bottomRadiusPoint.position=v),this.heightPoint.position=B}return this.mCallback&&this.mCallback(this.editCylinder),!0}updateCylinder(A){if(O(A)&&O(this.editCylinder)){let f=Object.keys(A);for(let m=0;m<f.length;m++){let C=f[m];C==="position"?this.editCylinder.entity.position=A[C]:O(A[C])&&(this.editCylinder.entity.cylinder[C]=A[C])}}}endEditEntity(){for(let A=0;A<this.pointsId.length;A++){let f=this.pointsId[A];this.mEarthCtrl.entities.removeById(f)}this.pointsId=[]}},Adt=sPe;var lPe=class extends Za{constructor(A,f,m,C){if(super(A,m,C),this.editEllipse=void 0,this.pickedEntity=void 0,this.semiMajorAxisPoint=void 0,this.semiMinorAxisPoint=void 0,this.pickSemiMajorAxisPoint=void 0,this.pickSemiMinorAxisPoint=void 0,this.pointsId=[],this.isEditing=!1,this.circle=!1,this.editEllipse=f,O(this.editEllipse)&&O(this.editEllipse.entity.ellipse)){let E=Be.PI_OVER_TWO,x=this.updatePoint(E);this.semiMajorAxisPoint=this.mEarthCtrl.entities.add({name:"semi_major_axis_point",position:x,point:{heightReference:this.editEllipse.entity.ellipse.heightReference,color:Ve.WHITE,pixelSize:12,outlineColor:Ve.BLACK,outlineWidth:1}}),this.pointsId.push(this.semiMajorAxisPoint.id)}else this.mEnable=!1,this.mCallback&&this.mCallback({msg:"Ellipse entity is need!"})}updatePoint(A){let f=new Z,m=new Z,C=new Z,E=this.editEllipse.entity.ellipse;this.semiMinorAxis=E.semiMinorAxis._value,this.semiMajorAxis=E.semiMajorAxis._value,this.circle=this.semiMajorAxis===this.semiMinorAxis;let x=oe(E.rotation,0);this.center=this.editEllipse.entity.position._value;let y=this.semiMinorAxis*this.semiMinorAxis,I=this.semiMajorAxis*this.semiMajorAxis,v=this.semiMajorAxis*this.semiMinorAxis,B=Z.magnitude(this.center),Q=Z.normalize(this.center,f),T=Z.cross(Z.UNIT_Z,this.center,m);T=Z.normalize(T,T);let w=Z.cross(Q,T,C),S=new Z;return CI.pointOnEllipsoid(A,x,w,T,y,v,I,B,Q,S)}onLButtonDown(A){if(super.onLButtonDown(A),this.pickedEntity={},this.pickObject(A,this.pickedEntity)){let f=this.pickedEntity.pickedObject.id;f.id===this.editEllipse.entity.id?(this.isEditing=!0,this.currentPoint=f,this.pickSemiMajorAxisPoint=void 0,this.pickSemiMinorAxisPoint=void 0):f.name==="semi_minor_axis_point"?(this.isEditing=!0,this.currentPoint=void 0,this.pickSemiMajorAxisPoint=void 0,this.pickSemiMinorAxisPoint=f):f.name==="semi_major_axis_point"&&(this.isEditing=!0,this.currentPoint=void 0,this.pickSemiMajorAxisPoint=f,this.pickSemiMinorAxisPoint=void 0),this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!1,this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!1}}onLButtonUp(A){return super.onLButtonUp(A)===!1||!this.isEditing?!1:((O(this.editEllipse)||this.pickObject(A,this.editEllipse.entity))&&this.mCallback&&this.mCallback(this.editEllipse),this.currentPoint=void 0,this.isEditing=!1,!0)}onLButtonDrag(A){if(!this.isEditing)return!1;if(O(this.currentPoint)||O(this.pickSemiMajorAxisPoint)||O(this.pickSemiMinorAxisPoint)){let f=this.mEarthCtrl.coreMap.scene.globe.ellipsoid,m=this.mEarthCtrl.coreMap.camera.pickEllipsoid(A,f);if(!m)return;if(O(this.currentPoint))this.currentPoint.position=m,this.editEllipse.entity.position=m;else if(O(this.pickSemiMajorAxisPoint)){let C=Z.distance(this.center,m);this.editEllipse.entity.ellipse.semiMajorAxis=C;let E=C*this.semiMinorAxis/this.semiMajorAxis;E>C&&(E=C),this.editEllipse.entity.ellipse.semiMinorAxis=E}else if(O(this.pickSemiMinorAxisPoint)){let C=Z.distance(this.center,m);this.editEllipse.entity.ellipse.semiMinorAxis=C}this.semiMajorAxisPoint.position=this.updatePoint(Be.PI_OVER_TWO)}return this.mCallback&&this.mCallback(this.editEllipse),!0}updateEllipse(A){if(O(A)&&O(this.editEllipse)){let f=Object.keys(A);for(let m=0;m<f.length;m++){let C=f[m];C==="position"?this.editEllipse.entity.position=A[C]:O(A[C])&&(this.editEllipse.entity.ellipse[C]=A[C])}}}endEditEntity(){for(let A=0;A<this.pointsId.length;A++){let f=this.pointsId[A];this.mEarthCtrl.entities.removeById(f)}this.pointsId=[]}},cdt=lPe;var uPe=class extends Za{constructor(A,f,m,C){if(super(A,m,C),this.editEllipsoid=void 0,this.pickedEntity=void 0,this.height=0,this.isEditing=!1,this.pointsId=[],this.radiiXPoint=void 0,this.pickRadiiXPoint=void 0,this.radiiYPoint=void 0,this.pickRadiiYPoint=void 0,this.radiiZPoint=void 0,this.pickRadiiZPoint=void 0,this.dragPosition=void 0,this.editEllipsoid=f,O(this.editEllipsoid)&&O(this.editEllipsoid.entity.ellipsoid)){console.info(this.editEllipsoid.ellipsoid);let E=this.editEllipsoid.entity.position._value,x=Rt.fromCartesian(E);this.height=x.height;let y=new Z,I=new Z,v=new Z;this.getNorthPointByDistance(y,I,v),this.radiiXPoint=this.mEarthCtrl.entities.add({name:"ellipse_edit_x_point",position:y,point:{heightReference:this.editEllipsoid.entity.ellipsoid.heightReference,color:Ve.WHITE,pixelSize:12,outlineColor:Ve.BLACK,outlineWidth:1}}),this.pointsId.push(this.radiiXPoint.id),this.radiiYPoint=this.mEarthCtrl.entities.add({name:"ellipse_edit_y_point",position:I,point:{heightReference:this.editEllipsoid.entity.ellipsoid.heightReference,color:Ve.WHITE,pixelSize:12,outlineColor:Ve.BLACK,outlineWidth:1}}),this.pointsId.push(this.radiiYPoint.id),this.radiiZPoint=this.mEarthCtrl.entities.add({name:"ellipse_edit_z_point",position:v,point:{heightReference:this.editEllipsoid.entity.ellipsoid.heightReference,color:Ve.WHITE,pixelSize:12,outlineColor:Ve.BLACK,outlineWidth:1}}),this.pointsId.push(this.radiiZPoint.id)}else this.mEnable=!1,this.mCallback&&this.mCallback({msg:"Ellipsoid entity is need!"})}addHeight(A){let f=this.editEllipsoid.entity.position._value,m=Rt.fromCartesian(f);return this.height=m.height+A,Z.fromRadians(m.longitude,m.latitude,this.height)}getNorthPointByDistance(A,f,m){let C=this.editEllipsoid.entity.position._value,E=kr.eastNorthUpToFixedFrame(C),x=this.editEllipsoid.entity.ellipsoid.radii._value;A.x=x.x,Re.multiplyByPoint(E,A,A),f.y=-x.y,Re.multiplyByPoint(E,f,f),m.z=x.z,Re.multiplyByPoint(E,m,m)}destory(){}onLButtonDown(A){if(super.onLButtonDown(A),this.pickedEntity={},this.pickObject(A,this.pickedEntity)){let f=this.pickedEntity.pickedObject.id;f.id===this.editEllipsoid.entity.id?(this.isEditing=!0,this.currentPoint=f,this.pickRadiiXPoint=void 0,this.pickRadiiYPoint=void 0,this.pickRadiiZPoint=void 0):f.name==="ellipse_edit_x_point"?(this.isEditing=!0,this.currentPoint=void 0,this.pickRadiiXPoint=f,this.pickRadiiYPoint=void 0,this.pickRadiiZPoint=void 0):f.name==="ellipse_edit_y_point"?(this.isEditing=!0,this.currentPoint=void 0,this.pickRadiiXPoint=void 0,this.pickRadiiYPoint=f,this.pickRadiiZPoint=void 0):f.name==="ellipse_edit_z_point"&&(this.isEditing=!0,this.currentPoint=void 0,this.pickRadiiXPoint=void 0,this.pickRadiiYPoint=void 0,this.pickRadiiZPoint=f),this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!1,this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!1}}onLButtonUp(A){return super.onLButtonUp(A)===!1||!this.isEditing?!1:((O(this.editEllipsoid)||this.pickObject(A,this.editEllipsoid.entity))&&this.mCallback&&this.mCallback(this.editEllipsoid),this.currentPoint=void 0,this.dragPosition=void 0,this.isEditing=!1,!0)}onLButtonDrag(A){if(!this.isEditing)return!1;if(O(this.currentPoint)||O(this.pickRadiiXPoint)||O(this.pickRadiiYPoint)||O(this.pickRadiiZPoint)){let f=this.mEarthCtrl.coreMap.scene.globe.ellipsoid,m=this.mEarthCtrl.coreMap.camera.pickEllipsoid(A,f);if(!m)return;let C=Rt.fromCartesian(m),E=Z.fromRadians(C.longitude,C.latitude,C.height+this.height);if(O(this.currentPoint))this.currentPoint.position=E,this.editEllipsoid.entity.position=E;else{if(O(this.dragPosition)){let v=Z.subtract(m,this.dragPosition,new Z),B=Z.normalize(v,new Z);Z.dot(v,B,v);let Q=this.editEllipsoid.entity.ellipsoid.radii._value,T=Z.clone(Q);O(this.pickRadiiXPoint)?T.x-=v.x:O(this.pickRadiiYPoint)?T.y+=v.y:O(this.pickRadiiZPoint)&&(T.z+=v.z,this.editEllipsoid.entity.position=this.addHeight(v.z)),Z.abs(T,T),this.editEllipsoid.entity.ellipsoid.radii=T}this.dragPosition=m}let x=new Z,y=new Z,I=new Z;this.getNorthPointByDistance(x,y,I),this.radiiXPoint.position=x,this.radiiYPoint.position=y,this.radiiZPoint.position=I}return this.mCallback&&this.mCallback(this.editEllipsoid),!0}updateEllipsoid(A){if(O(A)&&O(this.editEllipsoid)){let f=Object.keys(A);for(let m=0;m<f.length;m++){let C=f[m];C==="position"?this.editEllipsoid.entity.position=A[C]:O(A[C])&&(this.editEllipsoid.entity.ellipsoid[C]=A[C])}}}endEditEntity(){for(let A=0;A<this.pointsId.length;A++){let f=this.pointsId[A];this.mEarthCtrl.entities.removeById(f)}this.pointsId=[]}},hdt=uPe;var APe=class extends Za{constructor(A,f,m,C){if(super(A,m,C),this.editPolygon=void 0,this.pickedEntity=void 0,this.currentPoint=void 0,this.pointsId=[],this.isEditing=!1,this.editPolygon=f,O(this.editPolygon)&&O(this.editPolygon.entity.polygon))for(let E=0;E<this.editPolygon.entity.polygon.hierarchy._value.positions.length;E++){let x=this.editPolygon.entity.polygon.hierarchy._value.positions[E],y=this.mEarthCtrl.entities.add({name:"polygon_point",position:x,point:{color:Ve.WHITE,pixelSize:8,outlineColor:Ve.BLACK,outlineWidth:1}});this.pointsId.push(y.id)}else this.mEnable=!1,this.mCallback&&this.mCallback({msg:"Polygon entity is need!"})}destory(){}onLButtonDown(A){if(super.onLButtonDown(A),this.pickedEntity={},this.pickObject(A,this.pickedEntity)){let f=this.pickedEntity.pickedObject.id;f.id===this.editPolygon.entity.id?(this.isEditing=!0,this.currentPoint=void 0):f.name==="polygon_point"&&(this.currentPoint=f,this.isEditing=!0),this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!1,this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!1}}onLButtonUp(A){return super.onLButtonUp(A)===!1||!this.isEditing?!1:((O(this.editPolygon)||this.pickObject(A,this.editPolygon.entity))&&this.mCallback&&this.mCallback(this.editPolygon),this.currentPoint=void 0,this.isEditing=!1,!0)}onLButtonDrag(A){if(!this.isEditing)return!1;if(O(this.currentPoint)){let f=this.mEarthCtrl.coreMap.scene.globe.ellipsoid,m=this.mEarthCtrl.coreMap.camera.pickEllipsoid(A,f);if(!m)return;this.currentPoint.position=m;let C=[];for(let E=0;E<this.pointsId.length;E++){let x=this.pointsId[E];C.push(this.mEarthCtrl.entities.getById(x).position._value)}this.editPolygon.entity.polygon.hierarchy=C}return this.mCallback&&this.mCallback(this.editPolygon),!0}updatePolygon(A){if(O(A)&&O(this.editPolygon)){let f=Object.keys(A);for(let m=0;m<f.length;m++){let C=f[m];O(A[C])&&(this.editPolygon.entity.polygon[C]=A[C])}}}endEditEntity(){for(let A=0;A<this.pointsId.length;A++){let f=this.pointsId[A];this.mEarthCtrl.entities.removeById(f)}this.pointsId=[]}},ddt=APe;var cPe=class extends Za{constructor(A,f,m,C){super(A,m,C),this.editModel=void 0,this.pickedEntity=void 0,this.editColor=Ve.RED.withAlpha(.8),this.isEditing=!1,this.editModel=f,this.oldColor=this.editModel.entity.color,this.editModel.entity.color=this.editColor,O(this.editModel)&&O(this.editModel.entity)?console.info(this.editModel.entity):(this.mEnable=!1,this.mCallback&&this.mCallback({msg:"gltf Model is need!"}))}destory(){}onLButtonDown(A){if(super.onLButtonDown(A),this.pickedEntity={},this.pickObject(A,this.pickedEntity)){let f=this.pickedEntity.pickedObject.id;f===this.editModel.parameter.id&&(this.isEditing=!0,this.currentPoint=f),this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!1,this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!1}}onLButtonUp(A){return super.onLButtonUp(A)===!1||!this.isEditing?!1:((O(this.editModel)||this.pickObject(A,this.editModel.entity))&&this.mCallback&&this.mCallback(this.editModel),this.currentPoint=void 0,this.isEditing=!1,!0)}onLButtonDrag(A){if(!this.isEditing)return!1;if(O(this.currentPoint)){let f=this.mEarthCtrl.coreMap.scene.globe.ellipsoid,m=this.mEarthCtrl.coreMap.camera.pickEllipsoid(A,f);if(!m)return;let C=Rt.fromCartesian(m),E=Rt.clone(C);E.longitude=Be.toDegrees(E.longitude),E.latitude=Be.toDegrees(E.latitude),this.editModel.lon=E.longitude,this.editModel.lat=E.latitude}return this.mCallback&&this.mCallback(this.editModel),!0}updateModel(A){if(O(A)&&O(this.editModel)){let f=Object.keys(A);for(let m=0;m<f.length;m++){let C=f[m];if(O(A[C]))switch(C){case"lon":case"lat":case"alt":case"heading":case"pitch":case"roll":this.editModel[C]=A[C];break;default:this.editModel.entity[C]=A[C];break}}}}endEditEntity(){this.editModel.entity.color=this.oldColor}},fdt=cPe;var hPe=class extends Za{constructor(A,f,m,C){super(A,m,C),this.editLabel=void 0,this.pickedEntity=void 0,this.isEditing=!1,this.editLabel=f,O(this.editLabel)&&O(this.editLabel.entity.label)?console.info(this.editLabel.entity):(this.mEnable=!1,this.mCallback&&this.mCallback({msg:"Label entity is need!"}))}destory(){}onLButtonDown(A){if(super.onLButtonDown(A),this.pickedEntity={},this.pickObject(A,this.pickedEntity)){let f=this.pickedEntity.pickedObject.id;f.id===this.editLabel.entity.id&&(this.isEditing=!0,this.currentPoint=f),this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!1,this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!1}}onLButtonUp(A){return super.onLButtonUp(A)===!1||!this.isEditing?!1:((O(this.editLabel.entity)||this.pickObject(A,this.editLabel.entity))&&this.mCallback&&this.mCallback(this.editLabel),this.currentPoint=void 0,this.isEditing=!1,!0)}onLButtonDrag(A){if(!this.isEditing)return!1;if(O(this.currentPoint)){let f=this.mEarthCtrl.coreMap.scene.globe.ellipsoid,m=this.mEarthCtrl.coreMap.camera.pickEllipsoid(A,f);if(!m)return;this.currentPoint.position=m,this.editLabel.entity.position=m}return this.mCallback&&this.mCallback(this.editLabel),!0}updateLabel(A){if(O(A)&&O(this.editLabel)){let f=Object.keys(A);for(let m=0;m<f.length;m++){let C=f[m];C==="position"?this.editLabel.entity.position=A[C]:O(A[C])&&(this.editLabel.entity.label[C]=A[C])}}}endEditEntity(){}},gdt=hPe;var dPe=class extends Za{constructor(A,f,m,C){if(super(A,m,C),this.editPolyline=void 0,this.pickedEntity=void 0,this.currentPoint=void 0,this.pointsId=[],this.isEditing=!1,this.editPolyline=f,O(this.editPolyline)&&O(this.editPolyline.polyline))for(let E=0;E<this.editPolyline.polyline.positions._value.length;E++){let x=this.editPolyline.polyline.positions._value[E],y=this.mEarthCtrl.entities.add({name:"polyline_point",position:x,point:{color:Ve.WHITE,pixelSize:8,outlineColor:Ve.BLACK,outlineWidth:1}});this.pointsId.push(y.id)}else this.mEnable=!1,this.mCallback&&this.mCallback({msg:"Polyline entity is need!"})}destory(){}onLButtonDown(A){if(super.onLButtonDown(A),this.pickedEntity={},this.pickObject(A,this.pickedEntity)){let f=this.pickedEntity.pickedObject.id;f.id===this.editPolyline.id?(this.isEditing=!0,this.currentPoint=void 0):f.name==="polyline_point"&&(this.currentPoint=f,this.isEditing=!0),this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!1,this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!1}}onLButtonUp(A){return super.onLButtonUp(A)===!1||!this.isEditing?!1:((O(this.editPolyline)||this.pickObject(A,this.editPolyline.entity))&&this.mCallback&&this.mCallback(this.editPolyline),this.currentPoint=void 0,this.isEditing=!1,!0)}onLButtonDrag(A){if(!this.isEditing)return!1;if(O(this.currentPoint)){let f=this.mEarthCtrl.coreMap.scene.globe.ellipsoid,m=this.mEarthCtrl.coreMap.camera.pickEllipsoid(A,f);if(!m)return;this.currentPoint.position=m;let C=[];for(let E=0;E<this.pointsId.length;E++){let x=this.pointsId[E];C.push(this.mEarthCtrl.entities.getById(x).position._value)}this.editPolyline.polyline.positions=C}return this.mCallback&&this.mCallback(this.editPolyline),!0}updatePolyline(A){if(O(A)&&O(this.editPolyline)){let f=Object.keys(A);for(let m=0;m<f.length;m++){let C=f[m];O(A[C])&&(this.editPolyline.polyline[C]=A[C])}}}endEditEntity(){for(let A=0;A<this.pointsId.length;A++){let f=this.pointsId[A];this.mEarthCtrl.entities.removeById(f)}this.pointsId=[]}},pdt=dPe;var fPe=class extends Za{constructor(A,f,m,C){if(super(A,m,C),this.editPolylineVolume=void 0,this.pickedEntity=void 0,this.currentPoint=void 0,this.pointsId=[],this.isEditing=!1,this.editPolylineVolume=f,O(this.editPolylineVolume)&&O(this.editPolylineVolume.entity.polylineVolume))for(let E=0;E<this.editPolylineVolume.entity.polylineVolume.positions._value.length;E++){let x=this.editPolylineVolume.entity.polylineVolume.positions._value[E],y=this.mEarthCtrl.entities.add({name:"edit_polylineVolume_point",position:x,point:{color:Ve.WHITE,pixelSize:12,outlineColor:Ve.BLACK,outlineWidth:1}});this.pointsId.push(y.id)}else this.mEnable=!1,this.mCallback&&this.mCallback({msg:"PolylineVolume entity is need!"})}onLButtonDown(A){if(super.onLButtonDown(A),this.pickedEntity={},this.pickObject(A,this.pickedEntity)){let f=this.pickedEntity.pickedObject.id;f.id===this.editPolylineVolume.entity.id?(this.isEditing=!0,this.currentPoint=void 0):f.name==="edit_polylineVolume_point"&&(this.isEditing=!0,this.currentPoint=f),this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!1,this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!1}}onLButtonUp(A){return super.onLButtonUp(A)===!1||!this.isEditing?!1:((O(this.editPolylineVolume)||this.pickObject(A,this.editPolylineVolume.entity))&&this.mCallback&&this.mCallback(this.editPolylineVolume),this.currentPoint=void 0,this.isEditing=!1,!0)}onLButtonDrag(A){if(!this.isEditing)return!1;if(O(this.currentPoint)){let f=this.mEarthCtrl.coreMap.scene.globe.ellipsoid,m=this.mEarthCtrl.coreMap.camera.pickEllipsoid(A,f);if(!m)return;this.currentPoint.position=m;let C=[];for(let E=0;E<this.pointsId.length;E++){let x=this.pointsId[E];C.push(this.mEarthCtrl.entities.getById(x).position._value)}this.editPolylineVolume.entity.polylineVolume.positions=C}return this.mCallback&&this.mCallback(this.editPolylineVolume),!0}updatePolylineVolume(A){if(O(A)&&O(this.editPolylineVolume)){let f=Object.keys(A);for(let m=0;m<f.length;m++){let C=f[m];C==="position"?this.editPolylineVolume.entity.position=A[C]:O(A[C])&&(this.editPolylineVolume.entity.polylineVolume[C]=A[C])}}}endEditEntity(){for(let A=0;A<this.pointsId.length;A++){let f=this.pointsId[A];this.mEarthCtrl.entities.removeById(f)}this.pointsId=[]}},mdt=fPe;var gPe=class extends Za{constructor(A,f,m,C){if(super(A,m,C),this.editRectangle=void 0,this.pickedEntity=void 0,this.leftTopPoint=void 0,this.rightBottomPoint=void 0,this.pointsId=[],this.isEditing=!1,this.editRectangle=f,O(this.editRectangle)&&O(this.editRectangle.entity.rectangle)){let E=this.editRectangle.entity.rectangle.coordinates._value,x=this.editRectangle.entity.rectangle.height._value,y=gi.northwest(E),I=Z.fromRadians(y.longitude,y.latitude,x),v=this.mEarthCtrl.entities.add({name:"rect_left_top_point",position:I,point:{heightReference:this.editRectangle.entity.rectangle.heightReference,color:Ve.WHITE,pixelSize:8,outlineColor:Ve.BLACK,outlineWidth:1}});this.pointsId.push(v.id),y=gi.southeast(E);let B=Z.fromRadians(y.longitude,y.latitude,x),Q=this.mEarthCtrl.entities.add({name:"rect_right_bottom_point",position:B,point:{heightReference:this.editRectangle.entity.rectangle.heightReference,color:Ve.WHITE,pixelSize:8,outlineColor:Ve.BLACK,outlineWidth:1}});this.pointsId.push(Q.id)}else this.mEnable=!1,this.mCallback&&this.mCallback({msg:"Rectangle entity is need!"})}destory(){}onLButtonDown(A){if(super.onLButtonDown(A),this.pickedEntity={},this.pickObject(A,this.pickedEntity)){let f=this.pickedEntity.pickedObject.id;f.id===this.editRectangle.entity.id?(this.isEditing=!0,this.leftTopPoint=void 0,this.rightBottomPoint=void 0):f.name==="rect_left_top_point"?(this.leftTopPoint=f,this.rightBottomPoint=void 0,this.isEditing=!0):f.name==="rect_right_bottom_point"&&(this.rightBottomPoint=f,this.leftTopPoint=void 0,this.isEditing=!0),this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!1,this.mEarthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!1}}onLButtonUp(A){return super.onLButtonUp(A)===!1||!this.isEditing?!1:((O(this.editRectangle)||this.pickObject(A,this.editRectangle.entity))&&this.mCallback&&this.mCallback(this.editRectangle),this.leftTopPoint=void 0,this.rightBottomPoint=void 0,this.isEditing=!1,!0)}onLButtonDrag(A){if(!this.isEditing)return!1;if(O(this.leftTopPoint)||O(this.rightBottomPoint)){let f=this.mEarthCtrl.coreMap.scene.globe.ellipsoid,m=this.mEarthCtrl.coreMap.camera.pickEllipsoid(A,f);if(!m)return;let C=Rt.fromCartesian(m),E=this.editRectangle.entity.rectangle.coordinates._value;O(this.leftTopPoint)?(this.leftTopPoint.position=m,E.west=C.longitude,E.north=C.latitude):O(this.rightBottomPoint)&&(this.rightBottomPoint.position=m,E.south=C.latitude,E.east=C.longitude),this.editRectangle.entity.rectangle.coordinates=E}return this.mCallback&&this.mCallback(this.editRectangle),!0}updateRectangle(A){if(O(A)&&O(this.editRectangle)){let f=Object.keys(A);for(let m=0;m<f.length;m++){let C=f[m];C==="position"?this.editRectangle.entity.position=A[C]:O(A[C])&&(this.editRectangle.entity.rectangle[C]=A[C])}}}endEditEntity(){for(let A=0;A<this.pointsId.length;A++){let f=this.pointsId[A];this.mEarthCtrl.entities.removeById(f)}this.pointsId=[]}},Cdt=gPe;function B0(o,A={}){this._earthCtrl=o,this._scene=o.coreMap.scene,this.hpRoll={heading:0,pitch:0,roll:0,select:"",angle:0}}B0.prototype.start=function(o,A={}){if(this.end(),!!o){if(console.log(o),this.model=o,this.entityCallback=A.entityCallback,this.isAloft=oe(A.isAloft,!1),this.measuringScale=.1,this.isShowHoloaxis=oe(A.isShowHoloaxis,!1),o._parameter)if(o._parameter.sourceType&&o._parameter.sourceType==="b3dm"||o._parameter.sourceType==="3DTiles")this.modeltype="b3dm",this.originPosition=Re.getTranslation(this.model._primitive._root.transform,new Z),this.model._parameter.transform||(this.model._parameter.transform={}),this.hpRoll={heading:this.model._parameter.transform.heading||0,pitch:this.model._parameter.transform.pitch||0,roll:this.model._parameter.transform.roll||0,select:"",angle:0};else if(o._parameter.sourceType&&o._parameter.sourceType==="I3S")this.modeltype="I3S",this.hpRoll={heading:this.model._parameter.heading||0,pitch:this.model._parameter.pitch||0,roll:this.model._parameter.roll||0,select:"",angle:0},this.originPosition=Re.getTranslation(this.model._layers[0]._tileset._root.transform,new Z);else if(o._parameter.sourceType&&o._parameter.sourceType==="s3m")this.modeltype="s3m",this.hpRoll={heading:this.model._parameter.heading||0,pitch:this.model._parameter.pitch||0,roll:this.model._parameter.roll||0,select:"",angle:0},this.originPosition=Re.getTranslation(this.model.modelMatrix,new Z);else if(o._parameter.sourceType&&o._parameter.sourceType==="entity"){this.modeltype="entity",this.originPosition=o.position._value;let f=o.headingPitchRoll;this.hpRoll={heading:f.heading||0,pitch:f.roll||0,roll:-f.pitch||0,select:"",angle:0},this.model._parameter={heading:f.heading||0,pitch:f.roll||0,roll:-f.pitch||0,sourceType:"entity"}}else this.modeltype="GLTF",this.originPosition=Re.getTranslation(this.model._primitive.modelMatrix,new Z),this.hpRoll={heading:this.model._parameter.heading||0,pitch:this.model._parameter.pitch||0,roll:this.model._parameter.roll||0,select:"",angle:0};else if(o._layers&&o._layers[0]&&o._layers[0]._tileset){this.modeltype="I3S";let f=this.matrixGetRotation(this.model._layers[0]._tileset._root.transform);this.model._parameter={heading:f.heading||0,pitch:f.pitch||0,roll:f.roll||0,sourceType:"I3S"},this.hpRoll={heading:f.heading||0,pitch:f.pitch||0,roll:f.roll||0,select:"",angle:0},this.originPosition=Re.getTranslation(this.model._layers[0]._tileset._root.transform,new Z)}else if(o.fileType&&o.fileType==="OSGBCacheFile"||o.modelMatrix&&o._rectangle){this.modeltype="s3m";let f=this.matrixGetRotation(o.modelMatrix);this.model._parameter={heading:f.heading||0,pitch:f.pitch||0,roll:f.roll||0,sourceType:"s3m"},this.hpRoll={heading:f.heading||0,pitch:f.pitch||0,roll:f.roll||0,select:"",angle:0},this.originPosition=Re.getTranslation(this.model.modelMatrix,new Z)}else if(o.boundingSphereRadius&&o.modelEditData)this.modeltype="old3Dtiles",this.hpRoll={heading:o.modelEditData.heading||0,pitch:o.modelEditData.roll||0,roll:o.modelEditData.pitch||0,select:"",angle:0},this.originPosition=Z.fromDegrees(o.modelEditData.lon,o.modelEditData.lat,o.modelEditData.height);else if(o.entityCollection&&o.position){this.modeltype="entity",this.originPosition=o.position._value;let f=o.headingPitchRoll;this.hpRoll={heading:f.heading||0,pitch:f.roll||0,roll:-f.pitch||0,select:"",angle:0},this.model._parameter={heading:f.heading||0,pitch:f.roll||0,roll:-f.pitch||0,sourceType:"entity"}}else{console.log("\u6682\u4E0D\u652F\u6301\u8BE5\u6A21\u578B\u683C\u5F0F");return}return this.centerPoint=this.toDegrees(this.originPosition),this.initEvent(A),this}};B0.prototype.initEvent=function(o){this.editHandler=new cr(this._scene.canvas),this.modeltype==="b3dm"?this.radius=this.model._primitive.boundingSphere.radius:this.modeltype==="I3S"?this.radius=this.model._layers[0]._tileset.boundingSphere.radius:this.modeltype==="s3m"?this.radius=this.model._rootTiles[0].boundingVolume._boundingSphere.radius:this.modeltype==="old3Dtiles"?this.radius=this.model.boundingSphereRadius:this.modeltype==="entity"?this.radius=o.modelRadius||10:this.radius=this.model._primitive._boundingSphere.radius;let A,f;this.createAxios(o.select),this.editHandler.setInputAction(m=>{A?(f=m.position,this.modeltype==="b3dm"?this.originPosition=Re.getTranslation(this.model._primitive._root.transform,new Z):this.modeltype==="I3S"?this.originPosition=Re.getTranslation(this.model._layers[0]._tileset._root.transform,new Z):this.modeltype==="s3m"?this.originPosition=Re.getTranslation(this.model.modelMatrix,new Z):this.modeltype==="old3Dtiles"?this.originPosition=Z.fromDegrees(this.model.modelEditData.lon,this.model.modelEditData.lat,this.model.modelEditData.height):this.modeltype==="entity"?this.originPosition=this.model.position._value:this.originPosition=Re.getTranslation(this.model._primitive.modelMatrix,new Z),this.startPosition=this._scene.pickPosition(f)):f=void 0},si.LEFT_DOWN),this._scene.pickPointInterval=500,this.editHandler.setInputAction(m=>{if(f){this._scene.screenSpaceCameraController.enableRotate=!1,this.edit(A,f,m),o.callback&&o.callback(this);return}let C=this._scene.pick(m.endPosition);if(C&&C.id)if(C.id._name&&C.id._name==="modeEditAxis"){let E=C.id._id;E==="entityPolylineY"?(A="y",this.selectAxis="y",this.setAxisStyle(!0,"y")):E==="entityPolylineX"?(A="x",this.selectAxis="x",this.setAxisStyle(!0,"x")):E==="entityPolylineZ"&&(A="z",this.selectAxis="z",this.setAxisStyle(!0,"z"))}else C.id==="axisSphereX"?A="pitch":C.id==="axisSphereY"?A="roll":C.id==="axisSphereZ"?A="heading":(A=void 0,this.setAxisStyle(!1));else A=void 0,this.setAxisStyle(!1)},si.MOUSE_MOVE),this.editHandler.setInputAction(m=>{this.upDateHpRoll(),f=void 0,this._scene.screenSpaceCameraController.enableRotate=!0,this.rotateSector1&&this._earthCtrl.entities.remove(this.rotateSector1),this.rotateSector1=void 0,this.rotateSector2&&this._earthCtrl.entities.remove(this.rotateSector2),this.rotateSector2=void 0},si.LEFT_UP),this.editHandler.setInputAction(m=>{this.isAloft?this.measuringScale=.1:this.measuringScale=this.calPixelDistance()},si.WHEEL)};B0.prototype.createAxios=function(o){let A=this.centerPoint,f=2e-5*Number(this.radius),m=18e-6*Number(this.radius),C=1.7*Number(this.radius),E=0,x=0,y=0;if(this.isShowHoloaxis&&(E=f,x=m,y=C),(o===1||o===3)&&(this.arrowx=this._earthCtrl.entities.add({name:"modeEditAxis",id:"entityPolylineX",position:this.originPosition,polyline:{positions:new Z.fromDegreesArrayHeights([A.lon-E,A.lat,A.hei,A.lon+f,A.lat,A.hei]),material:new DD(Ve.RED),followSurface:!1,width:25}}),this.arrowy=this._earthCtrl.entities.add({id:"entityPolylineY",name:"modeEditAxis",position:this.originPosition,polyline:{positions:new Z.fromDegreesArrayHeights([A.lon,A.lat-x,A.hei,A.lon,A.lat+m,A.hei]),material:new DD(Ve.GREEN),followSurface:!1,width:25}}),this.arrowz=this._earthCtrl.entities.add({name:"modeEditAxis",id:"entityPolylineZ",position:this.originPosition,polyline:{positions:new Z.fromDegreesArrayHeights([A.lon,A.lat,A.hei-y,A.lon,A.lat,A.hei+C]),material:new DD(Ve.BLUE),followSurface:!1,width:25}})),o===2||o===3){this.AxisX=this.createAxisSphere("axisSphereX",this.radius,this.originPosition,Ve.RED),this.AxisY=this.createAxisSphere("axisSphereY",this.radius,this.originPosition,Ve.GREEN),this.AxisZ=this.createAxisSphere("axisSphereZ",this.radius,this.originPosition,Ve.BLUE);let I=Gt.fromRotationY(Be.toRadians(90)),v=Re.fromRotationTranslation(I);Re.multiply(this.AxisX.modelMatrix,v,this.AxisX.modelMatrix);let B=Gt.fromRotationX(Be.toRadians(90)),Q=Re.fromRotationTranslation(B);Re.multiply(this.AxisY.modelMatrix,Q,this.AxisY.modelMatrix)}};B0.prototype.createAxisSphere=function(o,A,f,m){let C={position:[],radius:A};for(let v=0;v<=360;v+=2){let B=Math.sin(Be.toRadians(v)),Q=Math.cos(Be.toRadians(v)),T=C.radius*Q,w=C.radius*B;C.position.push(new Z(T,w,0))}let E=kr.eastNorthUpToFixedFrame(f),x=new iI({positions:C.position,width:8}),y=new kn({geometry:x,id:o}),I=new ra({geometryInstances:y,appearance:new ip({material:go.fromType("Color")}),modelMatrix:E});return I.appearance.material.uniforms.color=m,this._scene.primitives.add(I)};B0.prototype.edit=function(o,A,f){if(o){let m=this.originPosition,C=this.startPosition,E=this._scene.pickPosition(f.endPosition),x=this.toDegrees(m),y=this.toDegrees(C),I=this.toDegrees(E),v=this._scene.cartesianToCanvasCoordinates(m),B=this._earthCtrl.coreMap.camera.heading;if(o==="x"){let T=this.calTwoLineDistance(B-2*Math.PI,A,f.endPosition)*this.radius*1e-6*this.measuringScale;x.lon+=T,this.setAxisPosition(x),this.setPosition(x)}else if(o==="y"){let T=this.calTwoLineDistance(B,A,f.endPosition)*this.radius*1e-6*this.measuringScale;x.lat-=T,this.setAxisPosition(x),this.setPosition(x)}else if(o==="z"){let Q=f.endPosition.y-A.y;x.hei-=Q*this.radius*.125*this.measuringScale,this.setAxisPosition(x),this.setPosition(x)}else if(o==="heading"){let Q=this.arge(v,A,f.endPosition,"+-",!0),T=this.hpRoll.heading-Q;this.hpRoll.select="heading",this.hpRoll.angle=T,this.setRotate("heading",T);let w=this.arge({x:x.lon,y:x.lat},{x:x.lon+this.radius,y:x.lat},{x:y.lon,y:y.lat},"360");this.setRotateLine("z",m,w,Q)}else if(o==="pitch"){let Q=this.hpRoll.pitch,T=this.arge(v,A,f.endPosition,"+-",!0),S=this.toDegrees(this._scene.camera.position).lon-x.lon,D=Z.subtract(C,m,new Z),R=Z.normalize(m,new Z),M=Z.angleBetween(D,R)*180/Math.PI;S>0?(Q+=T,y.lat-x.lat>0?this.setRotateLine("x",m,M,-T):this.setRotateLine("x",m,-M,-T)):(Q-=T,y.lat-x.lat>0?this.setRotateLine("x",m,M,T):this.setRotateLine("x",m,-M,T)),this.hpRoll.select="pitch",this.hpRoll.angle=Q,this.setRotate("pitch",Q)}else if(o==="roll"){let T=this.toDegrees(this._scene.camera.position).lat-x.lat,w=this.hpRoll.roll,S=this.arge(v,A,f.endPosition,"+-",!0),D=Z.subtract(C,m,new Z),R=Z.normalize(m,new Z),M=Z.angleBetween(D,R)*180/Math.PI;T>0?(w+=S,y.lon-x.lon>0?this.setRotateLine("y",m,M,S):this.setRotateLine("y",m,-M,S)):(w-=S,y.lon-x.lon>0?this.setRotateLine("y",m,M,-S):this.setRotateLine("y",m,-M,-S)),this.hpRoll.select="roll",this.hpRoll.angle=w,this.setRotate("roll",w)}}};B0.prototype.setPosition=function(o,A){let f=Z.fromDegrees(o.lon,o.lat,o.hei);if(this.modeltype==="b3dm"){let m=new bs(Be.toRadians(this.hpRoll.heading),Be.toRadians(-this.hpRoll.roll),Be.toRadians(this.hpRoll.pitch));this.model._primitive._root.transform=kr.headingPitchRollToFixedFrame(f,m)}else if(this.modeltype==="I3S"){let m=new bs(Be.toRadians(this.hpRoll.heading),Be.toRadians(this.hpRoll.pitch),Be.toRadians(this.hpRoll.roll));this.model._layers[0]._tileset._root.transform=kr.headingPitchRollToFixedFrame(f,m)}else if(this.modeltype==="s3m"){let m=new bs(Be.toRadians(this.hpRoll.heading),Be.toRadians(this.hpRoll.pitch),Be.toRadians(this.hpRoll.roll));this.model.modelMatrix=new kr.headingPitchRollToFixedFrame(f,m)}else if(this.modeltype==="old3Dtiles")this.model.setEditData({lon:o.lon,lat:o.lat,height:o.hei});else if(this.modeltype==="entity")this.entityCallback?this.entityCallback({changeDegrees:o}):this.model.position=f;else{let m=new bs(Be.toRadians(this.hpRoll.heading),Be.toRadians(this.hpRoll.pitch),Be.toRadians(this.hpRoll.roll)),C=kr.localFrameToFixedFrameGenerator("north","west");this.model._primitive.modelMatrix=kr.headingPitchRollToFixedFrame(f,m,Ci.WGS84,C)}};B0.prototype.upDateHpRoll=function(){this.hpRoll.select==="heading"?(this.hpRoll.heading=this.hpRoll.angle,this.hpRoll.angle=0,this.hpRoll.select=""):this.hpRoll.select==="pitch"?(this.hpRoll.pitch=this.hpRoll.angle,this.hpRoll.angle=0,this.hpRoll.select=""):this.hpRoll.select==="roll"&&(this.hpRoll.roll=this.hpRoll.angle,this.hpRoll.angle=0,this.hpRoll.select=""),this.modeltype==="b3dm"?(this.model._parameter.transform.heading=this.hpRoll.heading,this.model._parameter.transform.roll=this.hpRoll.roll,this.model._parameter.transform.pitch=this.hpRoll.pitch):this.modeltype==="old3Dtiles"||(this.model._parameter.heading=this.hpRoll.heading,this.model._parameter.roll=this.hpRoll.roll,this.model._parameter.pitch=this.hpRoll.pitch)};B0.prototype.setAxisPosition=function(o){let A=2e-5*Number(this.radius),f=18e-6*Number(this.radius),m=1.7*Number(this.radius),C=0,E=0,x=0;this.isShowHoloaxis&&(C=A,E=f,x=m);let y=Z.fromDegrees(o.lon-C,o.lat,o.hei),I=Z.fromDegrees(o.lon,o.lat-E,o.hei),v=Z.fromDegrees(o.lon,o.lat,o.hei-x),B=Z.fromDegrees(o.lon+A,o.lat,o.hei),Q=Z.fromDegrees(o.lon,o.lat+f,o.hei),T=Z.fromDegrees(o.lon,o.lat,o.hei+m);this.arrowx._polyline.positions=new Hr(function(){return[y,B]},!1),this.arrowy._polyline.positions=new Hr(function(){return[I,Q]},!1),this.arrowz._polyline.positions=new Hr(function(){return[v,T]},!1)};B0.prototype.setAxisStyle=function(o,A){o?A==="x"?(this.arrowx._polyline._material._color._value=Ve.YELLOW,this.arrowy._polyline._material._color._value=Ve.GREEN,this.arrowz._polyline._material._color._value=Ve.BLUE):A==="y"?(this.arrowy._polyline._material._color._value=Ve.YELLOW,this.arrowx._polyline._material._color._value=Ve.RED,this.arrowz._polyline._material._color._value=Ve.BLUE):A==="z"&&(this.arrowz._polyline._material._color._value=Ve.YELLOW,this.arrowx._polyline._material._color._value=Ve.RED,this.arrowy._polyline._material._color._value=Ve.GREEN):o||this.selectAxis&&(this.selectAxis=void 0,this.arrowx._polyline._material._color._value=Ve.RED,this.arrowy._polyline._material._color._value=Ve.GREEN,this.arrowz._polyline._material._color._value=Ve.BLUE)};B0.prototype.setRotate=function(o,A){let f=this.hpRoll.heading,m=this.hpRoll.pitch,C=this.hpRoll.roll;if(o==="heading"?f=A:o==="pitch"?m=A:o==="roll"&&(C=A),this.modeltype==="b3dm"){let E=new bs(Be.toRadians(f),Be.toRadians(-C),Be.toRadians(m));this.model._primitive._root.transform=kr.headingPitchRollToFixedFrame(Re.getTranslation(this.model._primitive._root.transform,new Z),E)}else if(this.modeltype==="I3S"){let E=new bs(Be.toRadians(f),Be.toRadians(m),Be.toRadians(C));this.model._layers[0]._tileset._root.transform=kr.headingPitchRollToFixedFrame(Re.getTranslation(this.model._layers[0]._tileset._root.transform,new Z),E)}else if(this.modeltype==="s3m"){let E=new bs(Be.toRadians(f),Be.toRadians(m),Be.toRadians(C));this.model.modelMatrix=kr.headingPitchRollToFixedFrame(Re.getTranslation(this.model.modelMatrix,new Z),E)}else if(this.modeltype==="old3Dtiles")this.model.setEditData({heading:f,pitch:-C,roll:m});else if(this.modeltype==="entity")this.entityCallback?this.entityCallback({heading:f,pitch:-C,roll:m}):this.model.orientation=kr.headingPitchRollQuaternion(this.model.position._value,new bs(Be.toRadians(f),Be.toRadians(-C),Be.toRadians(m)));else{let E=kr.localFrameToFixedFrameGenerator("north","west"),x=new bs(Be.toRadians(f),Be.toRadians(m),Be.toRadians(C));this.model._primitive.modelMatrix=kr.headingPitchRollToFixedFrame(Re.getTranslation(this.model._primitive.modelMatrix,new Z),x,Ci.WGS84,E)}};B0.prototype.setRotateLine=function(o,A,f,m){o==="z"?(this.rotateSector1?this.rotateSector1.ellipsoid.maximumClock=new Hr(function(){return Be.toRadians(m)},!1):this.rotateSector1=this._earthCtrl.entities.add({name:"rotateSector1",position:A,orientation:kr.headingPitchRollQuaternion(A,new bs(Be.toRadians(360-f),0,0)),ellipsoid:{radii:new Z(this.radius-.11,this.radius-.11,this.radius-.11),innerRadii:new Z(.1,.1,.1),minimumClock:Be.toRadians(0),maximumClock:Be.toRadians(0),minimumCone:Be.toRadians(90),maximumCone:Be.toRadians(90),material:Ve.ALICEBLUE.withAlpha(.3)}}),this.rotateSector2?this.rotateSector2.ellipsoid.maximumClock=new Hr(function(){return Be.toRadians(m)},!1):this.rotateSector2=this._earthCtrl.entities.add({name:"rotateSector2",position:A,orientation:kr.headingPitchRollQuaternion(A,new bs(Be.toRadians(360-f),0,0)),ellipsoid:{radii:new Z(this.radius-.11,this.radius-.11,this.radius-.11),innerRadii:new Z(.1,.1,.1),minimumClock:Be.toRadians(0),maximumClock:Be.toRadians(0),minimumCone:Be.toRadians(90),maximumCone:Be.toRadians(90),fill:!1,outline:!0,slicePartitions:2,outlineWidth:5,outlineColor:Ve.YELLOW}})):o==="x"?(this.rotateSector1?this.rotateSector1.ellipsoid.maximumCone=new Hr(function(){return Be.toRadians(m+f)},!1):this.rotateSector1=this._earthCtrl.entities.add({name:"rotateSector1",position:A,orientation:kr.headingPitchRollQuaternion(A,new bs(0,0,0)),ellipsoid:{radii:new Z(this.radius-.11,this.radius-.11,this.radius-.11),innerRadii:new Z(.1,.1,.1),minimumClock:Be.toRadians(90.1),maximumClock:Be.toRadians(90),minimumCone:Be.toRadians(f),maximumCone:Be.toRadians(0),material:Ve.ALICEBLUE.withAlpha(.3)}}),this.rotateSector2?this.rotateSector2.ellipsoid.maximumCone=new Hr(function(){return Be.toRadians(m+f)},!1):this.rotateSector2=this._earthCtrl.entities.add({name:"rotateSector2",position:A,orientation:kr.headingPitchRollQuaternion(A,new bs(0,0,0)),ellipsoid:{radii:new Z(this.radius-.11,this.radius-.11,this.radius-.11),innerRadii:new Z(.1,.1,.1),minimumClock:Be.toRadians(90.1),maximumClock:Be.toRadians(90),minimumCone:Be.toRadians(f),maximumCone:Be.toRadians(0),fill:!1,outline:!0,slicePartitions:2,outlineWidth:5,outlineColor:Ve.YELLOW}})):o==="y"&&(this.rotateSector1?this.rotateSector1.ellipsoid.maximumCone=new Hr(function(){return Be.toRadians(m+f)},!1):this.rotateSector1=this._earthCtrl.entities.add({name:"rotateSector1",position:A,orientation:kr.headingPitchRollQuaternion(A,new bs(0,0,0)),ellipsoid:{radii:new Z(this.radius-.11,this.radius-.11,this.radius-.11),innerRadii:new Z(.1,.1,.1),minimumClock:Be.toRadians(.1),maximumClock:Be.toRadians(0),minimumCone:Be.toRadians(f),maximumCone:Be.toRadians(0),material:Ve.ALICEBLUE.withAlpha(.3)}}),this.rotateSector2?this.rotateSector2.ellipsoid.maximumCone=new Hr(function(){return Be.toRadians(m+f)},!1):this.rotateSector2=this._earthCtrl.entities.add({name:"rotateSector2",position:A,orientation:kr.headingPitchRollQuaternion(A,new bs(0,0,0)),ellipsoid:{radii:new Z(this.radius-.11,this.radius-.11,this.radius-.11),innerRadii:new Z(.1,.1,.1),minimumClock:Be.toRadians(.1),maximumClock:Be.toRadians(0),minimumCone:Be.toRadians(f),maximumCone:Be.toRadians(0),fill:!1,outline:!0,slicePartitions:2,outlineWidth:5,outlineColor:Ve.YELLOW}}))};B0.prototype.end=function(){this.AxisX&&this._scene.primitives.remove(this.AxisX),this.AxisX=void 0,this.AxisY&&this._scene.primitives.remove(this.AxisY),this.AxisY=void 0,this.AxisZ&&this._scene.primitives.remove(this.AxisZ),this.AxisZ=void 0,this.arrowx&&this._earthCtrl.entities.remove(this.arrowx),this.arrowx=void 0,this.arrowy&&this._earthCtrl.entities.remove(this.arrowy),this.arrowy=void 0,this.arrowz&&this._earthCtrl.entities.remove(this.arrowz),this.arrowz=void 0,this.editHandler&&this.editHandler.destroy(),this.editHandler=void 0};B0.prototype.toDegrees=function(o){let A=Rt.fromCartesian(o);return{lon:Be.toDegrees(A.longitude),lat:Be.toDegrees(A.latitude),hei:A.height}};B0.prototype.arge=function(o,A,f,m="180",C=!1){let E=Math.sqrt(Math.pow(o.x-A.x,2)+Math.pow(o.y-A.y,2)),x=Math.sqrt(Math.pow(o.x-f.x,2)+Math.pow(o.y-f.y,2)),y=Math.sqrt(Math.pow(A.x-f.x,2)+Math.pow(A.y-f.y,2)),I=(Math.pow(E,2)+Math.pow(x,2)-Math.pow(y,2))/(2*E*x),v=Math.acos(I)*180/Math.PI;if(m==="360"||m==="+-"){let B=C?-1:1;this.isClockwise([[A.x,B*A.y],[o.x,B*o.y],[f.x,B*f.y],[A.x,B*A.y]])||(m==="+-"?v=-v:v=360-v)}return Number(v.toFixed(2))};B0.prototype.isClockwise=function(o){let A=Ho.lineString(o);return Ho.booleanClockwise(A)};B0.prototype.matrixGetRotation=function(o){let A=kr.eastNorthUpToFixedFrame(Re.getTranslation(o,new Z),Ci.WGS84,new Re),f=Re.multiply(Re.inverse(A,new Re),o,new Re),m=Re.getRotation(f,new Gt),C=fr.fromRotationMatrix(m),E=bs.fromQuaternion(C),x=Be.toDegrees(E.heading),y=Be.toDegrees(E.pitch),I=Be.toDegrees(E.roll);return{heading:x,pitch:y,roll:I}};B0.prototype.calPixelDistance=function(){let o=new dd,A=this._scene,f=A.canvas.clientWidth,m=A.canvas.clientHeight,C=A.camera.getPickRay(new rt(f/2|0,m-1)),E=A.camera.getPickRay(new rt(1+f/2|0,m-1)),x=A.globe,y=x.pick(C,A),I=x.pick(E,A);if(!O(y)||!O(I))return;let v=x.ellipsoid.cartesianToCartographic(y),B=x.ellipsoid.cartesianToCartographic(I);return o.setEndPoints(v,B),o.surfaceDistance};B0.prototype.calTwoLineDistance=function(o,A,f){let m=f.x-A.x,C=f.y-A.y,E=Math.atan2(C,m),x=Math.sqrt(m**2+C**2),y=Math.cos(E+o)*x,I=Math.sin(E+o)*x;return y+I};var Edt=B0;function oh(o){this._earthCtrl=o,this._coreMap=o.coreMap}oh.prototype.editPoint=function(o,A){this._earthCtrl.tools.clearTool();let f=new ldt(this._earthCtrl,o,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("point_edit_tool",f),f};oh.prototype.updatePoint=function(o,A){o.updatePoint(A)};oh.prototype.editPolyline=function(o,A){this._earthCtrl.tools.clearTool();let f=new pdt(this._earthCtrl,o,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("polyline_edit_tool",f),f};oh.prototype.updatePolyline=function(o,A){o.updatePolyline(A)};oh.prototype.editPolygon=function(o,A){this._earthCtrl.tools.clearTool();let f=new ddt(this._earthCtrl,o,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("polygon_edit_tool",f),f};oh.prototype.updatePolygon=function(o,A){o.updatePolygon(A)};oh.prototype.editBox=function(o,A){this._earthCtrl.tools.clearTool();let f=new udt(this._earthCtrl,o,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("box_edit_tool",f),f};oh.prototype.updateBox=function(o,A){o.updateBox(A)};oh.prototype.editEllipsoid=function(o,A){this._earthCtrl.tools.clearTool();let f=new hdt(this._earthCtrl,o,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("ellipsoid_edit_tool",f),f};oh.prototype.updateEllipsoid=function(o,A){o.updateEllipsoid(A)};oh.prototype.editCylinder=function(o,A){this._earthCtrl.tools.clearTool();let f=new Adt(this._earthCtrl,o,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("cylinder_edit_tool",f),f};oh.prototype.updateCylinder=function(o,A){o.updateCylinder(A)};oh.prototype.editModel=function(o,A){this._earthCtrl.tools.clearTool();let f=new fdt(this._earthCtrl,o,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("model_edit_tool",f),f};oh.prototype.updateModel=function(o,A){o.updateModel(A)};oh.prototype.createTransformEdit=function(o){return new Edt(this._earthCtrl,{model:o})};oh.prototype.editBillboard=function(o,A){this._earthCtrl.tools.clearTool();let f=new sdt(this._earthCtrl,o,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("billboard_edit_tool",f),f};oh.prototype.updateBillboard=function(o,A){o.updateBillboard(A)};oh.prototype.editLabel=function(o,A){this._earthCtrl.tools.clearTool();let f=new gdt(this._earthCtrl,o,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("label_edit_tool",f),f};oh.prototype.updateLabel=function(o,A){o.updateLabel(A)};oh.prototype.editRectangle=function(o,A){this._earthCtrl.tools.clearTool();let f=new Cdt(this._earthCtrl,o,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("rectangle_edit_tool",f),f};oh.prototype.updateRectangle=function(o,A){o.updateRectangle(A)};oh.prototype.editEllipse=function(o,A){this._earthCtrl.tools.clearTool();let f=new cdt(this._earthCtrl,o,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("ellipse_edit_tool",f),f};oh.prototype.updateEllipse=function(o,A){o.updateEllipse(A)};oh.prototype.editPolylineVolume=function(o,A){this._earthCtrl.tools.clearTool();let f=new mdt(this._earthCtrl,o,function(m){A&&A(m)});return this._earthCtrl.tools.registerTool("polylinevolume_edit_tool",f),f};oh.prototype.updatePolylineVolume=function(o,A){o.updatePolylineVolume(A)};oh.prototype.endEditEntity=function(o){this._earthCtrl.tools.clearTool(),o.endEditEntity(),this._earthCtrl.coreMap.scene.screenSpaceCameraController.enableRotate=!0,this._earthCtrl.coreMap.scene.screenSpaceCameraController.enableZoom=!0};var pPe=oh;function TC(o){this.mEarthCtrl=o,this.scene=this.mEarthCtrl.coreMap.scene,this.entities=this.mEarthCtrl.entities,this.camera=this.mEarthCtrl.coreMap.camera,this._points=[],this.item=void 0}TC.prototype.horizontalDistance=function(o,A){let f=this,m=!1,C=[],E="",x=[],y,I=this.scene.globe.ellipsoid,v={spot:[],distance:[],label:[],polyline:[]},B={point:Ve.RED,polyline:Ve.fromRgba(4286644096)};O(A)&&(O(A.point)&&(B.point=A.point),O(A.polyline)&&(B.polyline=A.polyline));let Q=new Tx;this.scene.primitives.add(Q);let T=new ec,w=new cr(f.scene.canvas),S=document.createElement("div");CA(".map-widget",S),CA(".map-widget",'<div id="toolTip" style="display: none;position: absolute;visibility: visible;max-width: 200px;min-width: 100px;padding: 1px 1px 1px 25px;font-size: 11px;z-index: 1000;opacity: 0.8;background-color: rgba(0,0,0,0.7);border-radius: 3px;"></div>');let R=document.getElementById("toolTip");R.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u5DE6\u952E\u5F00\u59CB,\u53F3\u952E\u7ED3\u675F\uFF01</span>';let P;m=!0;let M=function(k){let N=0,G=`${0}\u7C73`,J,K,X,q,ee,ie;for(let H=0;H<k.length-1;H+=1)J=I.cartesianToCartographic(k[H]),K=T.project(J),X=K.x,q=K.y,J=I.cartesianToCartographic(k[H+1]),K=T.project(J),ee=K.x,ie=K.y,N=N+Math.sqrt((X-ee)*(X-ee)+(q-ie)*(q-ie));return N>0&&(G=`${N.toFixed(2)}\u7C73`),N/1e3>=1&&(G=`${(N/1e3).toFixed(2)}\u5343\u7C73`),G},L=function(){function k(N){if(!O(N))throw new Ai("positions is required!");if(N.length<2)throw new Ai("positions \u7684\u957F\u5EA6\u5FC5\u987B\u5927\u4E8E\u7B49\u4E8E2");let G=go.fromType(go.ColorType);G.uniforms.color=new Ve(1,1,0,.5),this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:B.polyline,width:3,clampToGround:!0}},this.path=N,this._init()}return k.prototype._init=function(){let N=this,G=function(){return N.path};this.options.polyline.positions=new Hr(G,!1),this.lineEntity=f.entities.add(this.options),f.item=this.lineEntity,v.polyline.push(this.lineEntity)},k}();w.setInputAction(function(k){let N,G;R.style.left=`${k.endPosition.x+10}px`,R.style.top=`${k.endPosition.y+20}px`,R.style.display="block",R.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u5DE6\u952E\u5F00\u59CB,\u53F3\u952E\u7ED3\u675F\uFF01</span>';let J=!1,K=f.camera.getPickRay(k.endPosition);K&&(N=f.scene.globe.pick(K,f.scene));let X=f.scene.pick(k.endPosition);if(X){console.log("feature",X);let q=f.scene.pickPosition(k.endPosition);q&&(N=q),J=!0}if(!!N&&(G=Ci.WGS84.cartesianToCartographic(N),G)){let q;J?q=f.scene.sampleHeight(G):q=f.scene.globe.getHeight(G);let ee=Z.fromDegrees(G.longitude/Math.PI*180,G.latitude/Math.PI*180,q);if(m){if(C.length<1)return;O(y)?(y.path.pop(),y.path.push(ee)):(C.push(ee),y=new L(C));let ie=M(y.path);f.entities.remove(P),P=f.entities.add({name:"\u7A7A\u95F4\u76F4\u7EBF\u8DDD\u79BB",position:y.path[y.path.length-1],label:{text:`\u603B\u957F\uFF1A${ie}`,show:!0,font:"26px \u6977\u4F53",fillColor:Ve.WHITE,style:Pu.FILL_AND_OUTLINE,outlineWidth:2,verticalOrigin:hn.BOTTOM,pixelOffset:new rt(20,-20),disableDepthTestDistance:Number.POSITIVE_INFINITY}})}}},si.MOUSE_MOVE);let F=function(k){x.push(k);let N=[];if(x.length>1){let G=x[x.length-2],J=x[x.length-1],K=Math.abs(G.longitude-J.longitude)*1e7,X=Math.abs(G.latitude-J.latitude)*1e7;K>X&&(X=K);let q=parseInt(X/10);q>1e3&&(q=1e3),q<2&&(q=2);for(let ee=0;ee<q;++ee)N.push(new Rt(Be.lerp(G.longitude,J.longitude,ee/(q-1)),Be.lerp(G.latitude,J.latitude,ee/(q-1))));N.push(J.clone())}else N=x;if(N.length>0)for(let G=0;G<N.length;G++){k=N[G];let J=f.scene.globe.getHeight(k),K=Z.fromDegrees(k.longitude/Math.PI*180,k.latitude/Math.PI*180,J);C.push(K)}};return w.setInputAction(function(k){let N,G,J=!1,K=f.camera.getPickRay(k.position);if(K&&(N=f.scene.globe.pick(K,f.scene)),f.scene.pick(k.position)){let q=f.scene.pickPosition(k.position);q&&(N=q),J=!0}if(N&&(G=Ci.WGS84.cartesianToCartographic(N)),G){let q;J?q=f.scene.sampleHeight(G):q=f.scene.globe.getHeight(G);let ee=Z.fromDegrees(G.longitude/Math.PI*180,G.latitude/Math.PI*180,q);if(m){y&&y.path.pop(),F(G);let ie="0\u7C73";y&&(ie=M(y.path)),E=ie,v.spot.push(ee),v.distance.push(ie);let H=f.entities.add({position:ee,point:{pixelSize:5,color:B.point,outlineColor:Ve.WHITE,outlineWidth:1,clampToGround:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY},label:{text:ie,show:!0,font:"26px \u6977\u4F53",fillColor:Ve.WHITE,style:Pu.FILL_AND_OUTLINE,outlineWidth:2,verticalOrigin:hn.BOTTOM,pixelOffset:new rt(20,-20),clampToGround:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}});v.label.push(H),f._points.push(H)}}},si.LEFT_CLICK),w.setInputAction(function(){f.entities.remove(P),f._points[f._points.length-1].label.text=E,w.destroy(),C.pop(),O(o)&&typeof o=="function"&&o(v),R.style.display="none"},si.RIGHT_CLICK),this};TC.prototype.spaceDistance=function(o,A){let f=this;f.scene.globe.depthTestAgainstTerrain=!0;let m=new cr(f.scene.canvas),C=[],E=null,x="0\u7C73",y=null,I,v="",B,Q=document.createElement("div");CA(".map-widget",Q),CA(".map-widget",'<div id="toolTip" style="display: none;position: absolute;visibility: visible;max-width: 200px;min-width: 100px;padding: 1px 1px 1px 25px;font-size: 11px;z-index: 1000;opacity: 0.8;background-color: rgba(0,0,0,0.7);border-radius: 3px;"></div>');let w=document.getElementById("toolTip");w.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u5DE6\u952E\u5F00\u59CB,\u53F3\u952E\u7ED3\u675F\uFF01</span>';let S={name:"",spot:[],distance:[],label:[],ployline:[]},D={point:Ve.RED,polyline:Ve.fromRgba(4286644096)};O(A)&&(O(A.point)&&(D.point=A.point),O(A.polyline)&&(D.polyline=A.polyline));let R=function(){function P(M){this.options={name:"\u76F4\u7EBF",polyline:{show:!0,positions:[],material:D.polyline,width:3,clampToGround:!1}},this.positions=M,this._init()}return P.prototype._init=function(){let M=this,L=function(){return M.positions};this.options.polyline.positions=new Hr(L,!1);let F=f.entities.add(this.options);f.item=F,S.ployline.push(F);let k=f.getuid();S.name=`\u65B0\u5EFA\u7A7A\u95F4\u8DDD\u79BB${k}`},P}();return m.setInputAction(function(P){if(f.scene.bim){let M=f.scene.bim.PickWorldPositionSync(P.endPosition.x,P.endPosition.y);M[0]===0?y=f.scene.pickPosition(P.endPosition):y=new Z(M[0],M[1],M[2]),console.log("????????",y)}else y=f.scene.pickPosition(P.endPosition);!y||(w.style.left=`${P.endPosition.x+10}px`,w.style.top=`${P.endPosition.y+20}px`,w.style.display="block",C.length>=2&&(O(E)?(C.pop(),C.push(y)):E=new R(C),w.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u53F3\u952E\u7ED3\u675F\uFF01</span>',x=f.getSpaceDistance(C)),f.entities.remove(B),B=f.entities.add({name:"\u7A7A\u95F4\u76F4\u7EBF\u8DDD\u79BB",position:C[C.length-1],label:{text:`\u603B\u957F\uFF1A${x}`,show:!0,font:"26px \u6977\u4F53",fillColor:Ve.WHITE,style:Pu.FILL_AND_OUTLINE,outlineWidth:2,verticalOrigin:hn.BOTTOM,pixelOffset:new rt(20,-20),disableDepthTestDistance:Number.POSITIVE_INFINITY}}))},si.MOUSE_MOVE),m.setInputAction(function(P){if(f.scene.bim){let L=f.scene.bim.PickWorldPositionSync(P.position.x,P.position.y);L[0]===0?y=f.scene.pickPosition(P.position):y=new Z(L[0],L[1],L[2]),console.log("????????",y)}else y=f.scene.pickPosition(P.position);if(!y)return;C.length===0&&C.push(y.clone()),C.push(y);let M=x;v=`\u603B\u957F\uFF1A${x}`,I=f.entities.add({name:"\u7A7A\u95F4\u76F4\u7EBF\u8DDD\u79BB",position:C[C.length-1],point:{pixelSize:5,color:D.point,outlineColor:Ve.WHITE,outlineWidth:2,clampToGround:!1,disableDepthTestDistance:Number.POSITIVE_INFINITY},label:{text:M,show:!0,font:"26px \u6977\u4F53",fillColor:Ve.WHITE,style:Pu.FILL_AND_OUTLINE,outlineWidth:2,verticalOrigin:hn.BOTTOM,pixelOffset:new rt(20,-20),heightReference:An.NONE,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),f._points.push(I),S.spot.push(y),S.distance.push(x),S.label.push(I)},si.LEFT_CLICK),m.setInputAction(function(P){w.style.display="none",f.entities.remove(B),f._points.length>0&&(f._points[f._points.length-1].label.text=v),m.destroy(),C.pop(),O(o)&&typeof o=="function"&&o(S)},si.RIGHT_CLICK),this};TC.prototype.getSpaceDistance=function(o){let A=0,f="";for(let m=0;m<o.length-1;m++){let C=Rt.fromCartesian(o[m]),E=Rt.fromCartesian(o[m+1]),x=new dd;x.setEndPoints(C,E);let y=x.surfaceDistance;y=Math.sqrt(Math.pow(y,2)+Math.pow(E.height-C.height,2)),A=A+y}return A>=1e3?f=`${(A/1e3).toFixed(2)}\u5343\u7C73`:f=`${A.toFixed(2)}\u7C73`,f};TC.prototype.getPlaneArea=function(o,A){let f=this;f.scene.globe.depthTestAgainstTerrain=!0;let m=0,C=new cr(f.scene._imageryLayerCollection),E=document.getElementById("toolTip");E||(CA(".map-widget",'<div id="toolTip" style="display: none;position: absolute;visibility: visible;max-width: 200px;min-width: 100px;padding: 1px 1px 1px 25px;font-size: 11px;z-index: 1000;opacity: 0.8;background-color: rgba(0,0,0,0.7);border-radius: 3px;"></div>'),E=document.getElementById("toolTip")),E.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u5DE6\u952E\u5F00\u59CB\uFF0C\u53F3\u952E\u7ED3\u675F\uFF01</span>';let x=[],y={},I=[],v=[],B=null,Q=null,T,w={point:Ve.RED,polyline:Ve.fromRgba(4286644096),polygon:Ve.fromRgba(4286644096).withAlpha(.5)};O(A)&&(O(A.point)&&(w.point=A.point),O(A.polyline)&&(w.polyline=A.polyline),O(A.polygon)&&(w.polygon=A.polygon));let S={mj:0,label:[],polygon:[]};E.style.display="block";let D=function(){function R(P){this.options={name:"\u591A\u8FB9\u5F62",polygon:{hierarchy:[],perPositionHeight:!0,material:w.polygon,clampToGround:!1}},this.hierarchy=P,this._init()}return R.prototype._init=function(){let P=this,M=function(){return P.hierarchy};this.options.polygon.hierarchy=new Hr(M,!1),this.polygon=f.entities.add(this.options),f.item=this.polygon,f._entity=this.polygon,S.polygon=this.polygon},R}();return C.setInputAction(function(R){if(E.style.left=`${R.endPosition.x+10}px`,E.style.top=`${R.endPosition.y+20}px`,f.scene.bim){let k=f.scene.bim.PickWorldPositionSync(R.endPosition.x,R.endPosition.y);k[0]===0?Q=f.scene.pickPosition(R.endPosition):Q=new Z(k[0],k[1],k[2])}else Q=f.scene.pickPosition(R.endPosition);if(!Q)return;let P=Rt.fromCartesian(Q),M=Be.toDegrees(P.longitude),L=Be.toDegrees(P.latitude),F=P.height;if(x.length>=2){O(B)?(x.pop(),x.push(Q),y=new yn(x),v.pop(),v.push({lon:M,lat:L,hei:F})):(y=new yn(x),B=new D(y));let k=f.getArea(v,x);f.entities.remove(T),T=f.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:x[x.length-1],label:{text:k,font:"26px \u6977\u4F53",show:!0,fillColor:Ve.WHITE,style:Pu.FILL_AND_OUTLINE,outlineWidth:2,verticalOrigin:hn.BOTTOM,pixelOffset:new rt(20,-40),heightReference:An.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),S.label=T}},si.MOUSE_MOVE),C.setInputAction(function(R){if(f.scene.bim){let k=f.scene.bim.PickWorldPositionSync(R.position.x,R.position.y);k[0]===0?Q=f.scene.pickPosition(R.position):Q=new Z(k[0],k[1],k[2])}else Q=f.scene.pickPosition(R.position);if(!Q)return;let P=Rt.fromCartesian(Q);console.log("\u5DE6\u952E\u70B9",P);let M=Be.toDegrees(P.longitude),L=Be.toDegrees(P.latitude),F=P.height;x.length===0&&(x.push(Q.clone()),y=new yn(x),v.push({lon:M,lat:L,hei:F}),x.push(Q.clone()),y=new yn(x),v.push({lon:M,lat:L,hei:F})),x.push(Q),y=new yn(x),I.push({lon:M,lat:L,hei:F}),v.push({lon:M,lat:L,hei:F})},si.LEFT_CLICK),C.setInputAction(function(R){E.style.display="none",f.entities.remove(T),C.destroy();let P=f.getArea(v,x);m=P;let M=f.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:x[x.length-1],label:{text:P,font:"26px \u6977\u4F53",show:!0,fillColor:Ve.WHITE,style:Pu.FILL_AND_OUTLINE,outlineWidth:2,verticalOrigin:hn.BOTTOM,pixelOffset:new rt(20,-40),heightReference:An.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY}});f._points.push(M),f._lable=M,S.mj=m,S.label=M,O(o)&&typeof o=="function"&&o(S)},si.RIGHT_CLICK),this};TC.prototype.getSurfaceArea3d=function(o,A){let f=this;f.scene.globe.depthTestAgainstTerrain=!0;let m={mj:0,label:[],polygon:[]},C=!0,E=[],x={},y,I=f.scene,v=I.globe.ellipsoid,B=new Tx;I.primitives.add(B);let Q,T,w=0,S={point:Ve.RED,polyline:Ve.fromRgba(4286644096),polygon:Ve.fromRgba(4286644096).withAlpha(.5)};O(A)&&(O(A.point)&&(S.point=A.point),O(A.polyline)&&(S.polyline=A.polyline),O(A.polygon)&&(S.polygon=A.polygon));let D=document.createElement("div");CA(".map-widget",D),CA(".map-widget",'<div id="toolTip" style="display: none;position: absolute;visibility: visible;max-width: 200px;min-width: 100px;padding: 1px 1px 1px 25px;font-size: 11px;z-index: 1000;opacity: 0.8;background-color: rgba(0,0,0,0.7);border-radius: 3px;"></div>');let P=document.getElementById("toolTip");P.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u5DE6\u952E\u5F00\u59CB,\u53F3\u952E\u7ED3\u675F\uFF01</span>';let M=new cr(I.canvas),L=function(){function k(N){if(!O(N))throw new Ai("positions is required!");if(N.length<3)throw new Ai("positions \u7684\u957F\u5EA6\u5FC5\u987B\u5927\u4E8E\u7B49\u4E8E3");this.options={polygon:{show:!0,hierarchy:void 0,material:S.polygon,clampToGround:!1}},this.path=N,this._init()}return k.prototype._init=function(){let N=this,G=function(){return N.path};this.options.polygon.hierarchy=new Hr(G,!1),this.polygonEntity=f.entities.add(this.options),f.item=this.polygonEntity,m.polygon=this.polygonEntity,f._entity=this.polygonEntity},k}();M.setInputAction(function(k){let N=0;f.entities.remove(T);let G,J,K=f.scene.camera.getPickRay(k.endPosition);K&&(G=f.scene.globe.pick(K,f.scene));let X=f.scene.pick(k.endPosition),q=!1;if(X){let ie=f.scene.pickPosition(k.endPosition);ie&&(G=ie),q=!0}if(!G)return;let ee=function(ie){let H=new Array(ie.length),le=function(he){return he.longitude=he.longitude/Math.PI*180,he.latitude=he.latitude/Math.PI*180,he},ue=function(he){let ge=0;for(let fe=0;fe<he.length;fe++){let ae=he[fe],U;fe<he.length-1?U=he[fe+1]:U=he[0],ge+=ae.x*U.y-U.x*ae.y}return ge/2};for(let he=0;he<ie.length;he++)H[he]=le(v.cartesianToCartographic(ie[he]));let Ae=0;for(let he=0;he<H.length;he++)Ae+=H[he].longitude;Ae=Ae/H.length;for(let he=0;he<H.length;he++)H[he]=f.Gauss_to_XY(H[he].longitude,H[he].latitude,Ae);return Math.abs(ue(H))};if(J=Ci.WGS84.cartesianToCartographic(G),J&&C){if(P.style.left=`${k.endPosition.x+10}px`,P.style.top=`${k.endPosition.y+20}px`,P.style.display="block",E.length<2){w===1&&(T=f.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:G,label:{text:`${N}\u5E73\u65B9\u5343\u7C73`,font:"26px \u6977\u4F53",show:!0,fillColor:Ve.WHITE,style:Pu.FILL_AND_OUTLINE,outlineWidth:2,verticalOrigin:hn.BOTTOM,pixelOffset:new rt(20,-40),heightReference:An.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),f._points.push(T),m.label=T);return}if(O(y)?(y.path.positions.pop(),y.path.positions.push(G)):(E.push(G),x=new yn(E),y=new L(x)),E.length>=2){P.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u53F3\u952E\u7ED3\u675F\uFF01</span>';let ie=String(ee(y.path.positions));ie=ie.substr(0,ie.indexOf(".",0)),ie.length<6?N=`${ie}\u5E73\u65B9\u7C73`:(ie=String(ie/1e6),ie=ie.substr(0,ie.indexOf(".",0)+3),N=`${ie}\u5E73\u65B9\u5343\u7C73`),m.mj=N,T=f.entities.add({name:"\u591A\u8FB9\u5F62\u9762\u79EF",position:G,label:{text:N,font:"26px \u6977\u4F53",show:!0,fillColor:Ve.WHITE,style:Pu.FILL_AND_OUTLINE,outlineWidth:2,verticalOrigin:hn.BOTTOM,pixelOffset:new rt(20,-40),heightReference:An.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),f._points.push(T),m.label=T}}},si.MOUSE_MOVE),M.setInputAction(function(k){let N;w=1;let G=f.scene.camera.getPickRay(k.position);G&&(N=f.scene.globe.pick(G,f.scene));let J=f.scene.pick(k.position),K=!1;if(J){let X=f.scene.pickPosition(k.position);X&&(N=X),K=!0}N&&C&&(E.push(N),x=new yn(E))},si.LEFT_CLICK),M.setInputAction(function(){M.removeInputAction(si.LEFT_CLICK),M.removeInputAction(si.LEFT_DOUBLE_CLICK),f.trackedEntity=void 0,C=!1,Q=B.add({show:!0,id:"measureTool",position:E[E.length-1],pixelOffset:new rt(0,20),eyeOffset:new Z(0,0,0),horizontalOrigin:Ru.CENTER,verticalOrigin:hn.CENTER,scale:1,color:new Ve(1,1,1,1)}),P.style.display="none",M.destroy(),O(o)&&typeof o=="function"&&o(m)},si.RIGHT_CLICK);let F=function(k){let N=0,G=0,J=0;for(let X=0;X<k.length;X++)N+=k[X].x,G+=k[X].y,J+=k[X].z;return new Z(N/k.length,G/k.length,J/k.length)};return this};TC.prototype.to_N=function(o){let f=63567523142e-4,m=Math.sqrt(6378137*6378137-f*f)/6378137;return 6378137/Math.sqrt(1-m*m*Math.sin(o)*Math.sin(o))};TC.prototype.to_Sm=function(o){let f=63567523142e-4,m=Math.sqrt(6378137*6378137-f*f)/6378137,C,E,x,y,I;return C=1+m*m*3/4+Math.pow(m,4)*45/64+Math.pow(m,6)*175/256+Math.pow(m,8)*11025/16384,E=Math.pow(m,2)*3/4+Math.pow(m,4)*15/16+Math.pow(m,6)*525/512+Math.pow(m,8)*2205/2048,x=Math.pow(m,4)*15/64+Math.pow(m,6)*105/256+Math.pow(m,8)*2205/4096,y=Math.pow(m,6)*35/512+Math.pow(m,8)*315/2048,I=Math.pow(m,8)*315/16384,6378137*(1-m*m)*(C*o-E/2*Math.sin(2*o)+x/4*Math.sin(4*o)-y/6*Math.sin(6*o)+I/8*Math.sin(8*o))};TC.prototype.to_Radian=function(o){return o*Math.PI/180};TC.prototype.Gauss_to_XY=function(o,A,f){let C=63567523142e-4,E=Math.sqrt(6378137*6378137-C*C)/C,x=0,y=0,I=0,v=0,B=this.to_Radian(f);A=this.to_Radian(A),o=this.to_Radian(o);let Q=o-B,T=Math.cos(A);v=this.to_N(A),I=v*Math.cos(A),x=Math.tan(A),y=E*T;let w=Math.pow(x,2),S=Math.pow(x,4),D=Math.pow(y,2),R=Math.pow(y,4),P=Math.pow(T,3),M=Math.pow(T,5),L=this.to_Sm(A)+Math.pow(Q,2)/2*I*T*x+Math.pow(Q,4)/24*x*I*P*(5-w+9*D+4*R)+Math.pow(Q,6)/720*x*I*M*(61-58*x*x+S+270*D-330*x*x*D),F=Q*v*T+Math.pow(Q,3)/6*v*P*(1-x*x+y*y)+Math.pow(Q,5)/120*v*M*(5-18*x*x+S+14*D-58*D*w);return new rt(F,L)};TC.prototype.getArea=function(o,A){let f=0;for(let m=0;m<o.length-2;m++){let C=(m+1)%o.length,E=(m+2)%o.length,x=this.Angle(o[m],o[C],o[E]),y=this.getdistance(A[m],A[C]),I=this.getdistance(A[C],A[E]);f+=y*I*Math.abs(Math.sin(x))}return f<1e6?f=`${f.toFixed(4)}\u5E73\u65B9\u7C73`:f=`${(f/1e6).toFixed(4)}\u5E73\u65B9\u5343\u7C73`,f};TC.prototype.getdistance=function(o,A){let f=Rt.fromCartesian(o),m=Rt.fromCartesian(A),C=new dd;C.setEndPoints(f,m);let E=C.surfaceDistance;return E=Math.sqrt(Math.pow(E,2)+Math.pow(m.height-f.height,2)),E};TC.prototype.Bearing=function(o,A){let f=Math.PI/180,m=180/Math.PI,C=o.lat*f,E=o.lon*f,x=A.lat*f,y=A.lon*f,I=-Math.atan2(Math.sin(E-y)*Math.cos(x),Math.cos(C)*Math.sin(x)-Math.sin(C)*Math.cos(x)*Math.cos(E-y));return I<0&&(I+=Math.PI*2),I=I*m,I};TC.prototype.Angle=function(o,A,f){let m=this.Bearing(A,o),C=this.Bearing(A,f),E=m-C;return E<0&&(E+=360),E};TC.prototype.getuid=function(){return this.uuid(8,16)};TC.prototype.uuid=function(o,A){let f="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),m=[],C;if(A=A||f.length,o)for(C=0;C<o;C++)m[C]=f[0|Be.nextRandomNumber()*A];else{let E;for(m[8]=m[13]=m[18]=m[23]="-",m[14]="4",C=0;C<36;C++)m[C]||(E=0|Be.nextRandomNumber()*16,m[C]=f[C===19?E&3|8:E])}return m.join("")};TC.prototype.deleteObject=function(){if(this.entities.remove(this.item),this._points.length>0){for(let o=0;o<this._points.length;o++)this.entities.remove(this._points[o]);this._points=[]}try{this.scene.primitives.remove(this.item)}catch(o){console.log(o)}this.item=void 0};var Oor=rU(xdt(),1);var Idt=rU(ydt(),1);function PC(o,A){this._earthCtrl=o,this._coreMap=o.coreMap,this._show=oe(A.show,!0),this._isMouseCreate=oe(A.isMouseCreate,!0),this._horizontalViewAngle=oe(A.horizontalViewAngle,90),this._verticalViewAngle=oe(A.verticalViewAngle,60),this._horizontalViewAngle=this.adjustViewRange(this._horizontalViewAngle),this._verticalViewAngle=this.adjustViewRange(this._verticalViewAngle),this._visibleAreaColor=oe(A.visibleAreaColor,Ve.GREEN.withAlpha(.4)),this._invisibleAreaColor=oe(A.invisibleAreaColor,Ve.RED.withAlpha(.4)),this._size=oe(A.size,2048),this._softShadows=oe(A.softShadows,!0),this._colorStyle=oe(A.colorStyle,Ve.YELLOW),this._parameter=A,this._lineArray=[],this._visualCone=!0,this.pyramid=void 0,this._pitch=oe(A.pitch,0),this._heading=oe(A.heading,0),this._distance=oe(A.distance,300),this._isMouseCreate||(this._lon=oe(A.lon,121),this._lat=oe(A.lat,31),this._height=oe(A.height,10),this._position=Z.fromDegrees(A.lon,A.lat,A.height),this.updateViewShed())}Object.defineProperties(PC.prototype,{show:{get:function(){return this._show},set:function(o){o!==this._show&&(this._show=o,this.updateViewShed())}},distance:{get:function(){return this._distance}},heading:{get:function(){return this._heading}},pitch:{get:function(){return this._pitch}},horizontalViewAngle:{get:function(){return this._horizontalViewAngle}},verticalViewAngle:{get:function(){return this._verticalViewAngle}},colorStyle:{get:function(){return this._colorStyle},set:function(o){this._colorStyle=o}},invisibleAreaColor:{get:function(){return this._invisibleAreaColor},set:function(o){this._invisibleAreaColor=o}},visibleAreaColor:{get:function(){return this._visibleAreaColor},set:function(o){this._visibleAreaColor=o}},visualCone:{get:function(){return this._visualCone},set:function(o){this._visualCone=o,this.visualConeShow(o)}}});PC.prototype.adjustViewRange=function(o){return o<=0?o=1:o>=180&&(o=179),o};PC.prototype.removeFromMap=function(){let o=this;O(o.viewShedMap)&&(o.viewShedMap.enabled=!1),O(o.pyramid)&&(o._earthCtrl.entities.removeById(o.pyramid.id),o.pyramid=null);for(let A=0;A<o._lineArray.length;A++){let f=o._lineArray[A];o._earthCtrl.entities.remove(f)}this._lineArray=[]};PC.prototype.visualConeShow=function(o){let A=this;O(A.pyramid)&&(A.pyramid.show=o);for(let f=0;f<A._lineArray.length;f++){let m=A._lineArray[f];m.show=o}};PC.prototype.addVisualPyramid=function(){let o=this;if(this.pyramid)return;let A=new dG({radii:new Hr(function(){return new Z(o._distance,o._distance,o._distance)},!1),minimumClock:new Hr(function(){return Be.toRadians(90-o._heading-o._horizontalViewAngle/2)},!1),maximumClock:new Hr(function(){return Be.toRadians(90-o._heading+o._horizontalViewAngle/2)},!1),minimumCone:new Hr(function(){return Be.toRadians(90-o._verticalViewAngle/2)},!1),maximumCone:new Hr(function(){return Be.toRadians(90+o._verticalViewAngle/2)},!1),fill:!1,outline:!0,subdivisions:128,slicePartitions:32,stackPartitions:16,outlineColor:new Hr(function(){return o._colorStyle},!1)}),f=new nc({position:new Hr(function(){return o._position},!1),ellipsoid:A});this.pyramid=o._earthCtrl.entities.add(f)};PC.prototype.createLightCamera=function(){if(O(this.viewShedMap)){this._lightCamera=this.viewShedMap._lightCamera;return}this._lightCamera=new Ls(this._coreMap.scene),this._lightCamera.position=this._position};PC.prototype.updateParameters=function(o){if(!!O(o)&&(o.lon&&o.lat&&o.height&&this._lightCamera&&(this._position=Z.fromDegrees(o.lon,o.lat,o.height),this._lightCamera.setView({destination:this._position,orientation:{heading:Be.toRadians(this._heading),pitch:0,roll:0}})),o.heading&&this._lightCamera&&(this._heading=o.heading,this._lightCamera.setView({destination:this._position,orientation:{heading:Be.toRadians(this._heading),pitch:0,roll:0}})),o.distance&&this.viewShedMap&&(this._distance=o.distance,this.viewShedMap._pointLightRadius=o.distance,this._lightCamera.frustum.far=o.distance),(o.verticalViewAngle||o.horizontalViewAngle)&&(this._verticalViewAngle=this.adjustViewRange(o.verticalViewAngle||this._verticalViewAngle),this._horizontalViewAngle=this.adjustViewRange(o.horizontalViewAngle||this._horizontalViewAngle),this._lightCamera))){let A=Be.toRadians(this._horizontalViewAngle),f=Be.toRadians(this._verticalViewAngle);this._lightCamera.frustum.aspectRatio=Math.tan(A/2)/Math.tan(f/2),A>f?this._lightCamera.frustum.fov=A:this._lightCamera.frustum.fov=f}};PC.prototype.createShadowMap=function(){if(O(this.viewShedMap)){this.viewShedMap.enabled=!0;return}let o=this._lightCamera;this.viewShedMap=new JG({context:this._coreMap.scene.context,lightCamera:o,enabled:!0,isPointLight:!0,pointLightRadius:this._distance,cascadesEnabled:!0,maximumDistance:500,darkness:.2,size:this._size,softShadows:!0,normalOffset:!0,fromLightSource:!1,visibleAreaColor:this._visibleAreaColor,invisibleAreaColor:this._invisibleAreaColor}),this._earthCtrl.viewShedMapList.push(this.viewShedMap)};var MC=new Z;PC.prototype.drawViewCentrum=function(){let o=this;function A(){let v=o.pyramid._ellipsoid._minimumClock.getValue(),B=o.pyramid._ellipsoid._minimumCone.getValue(),Q=o.pyramid._ellipsoid.radii.getValue(),T=Math.sin,w=Math.cos,S=T(B),D=w(B),R=T(v),P=w(v);MC.x=Q.x*S*P,MC.y=Q.y*S*R,MC.z=Q.z*D;let M=new vw.changeCartesian3ByScalar(o._position,MC);return[o._position,M]}let f=this._earthCtrl.entities.add({polyline:{positions:new Hr(A,!1),material:this._colorStyle}});this._lineArray.push(f);function m(){let v=o.pyramid._ellipsoid._maximumClock.getValue(),B=o.pyramid._ellipsoid._minimumCone.getValue(),Q=o.pyramid._ellipsoid.radii.getValue(),T=Math.sin,w=Math.cos,S=T(B),D=w(B),R=T(v),P=w(v);MC.x=Q.x*S*P,MC.y=Q.y*S*R,MC.z=Q.z*D;let M=new vw.changeCartesian3ByScalar(o._position,MC);return[o._position,M]}let C=this._earthCtrl.entities.add({polyline:{positions:new Hr(m,!1),material:this._colorStyle}});this._lineArray.push(C);function E(){let v=o.pyramid._ellipsoid._minimumClock.getValue(),B=o.pyramid._ellipsoid._maximumCone.getValue(),Q=o.pyramid._ellipsoid.radii.getValue(),T=Math.sin,w=Math.cos,S=T(B),D=w(B),R=T(v),P=w(v);MC.x=Q.x*S*P,MC.y=Q.y*S*R,MC.z=Q.z*D;let M=new vw.changeCartesian3ByScalar(o._position,MC);return[o._position,M]}let x=this._earthCtrl.entities.add({polyline:{positions:new Hr(E,!1),material:this._colorStyle}});this._lineArray.push(x);function y(){let v=o.pyramid._ellipsoid._maximumClock.getValue(),B=o.pyramid._ellipsoid._maximumCone.getValue(),Q=o.pyramid._ellipsoid.radii.getValue(),T=Math.sin,w=Math.cos,S=T(B),D=w(B),R=T(v),P=w(v);MC.x=Q.x*S*P,MC.y=Q.y*S*R,MC.z=Q.z*D;let M=vw.changeCartesian3ByScalar(o._position,MC);return[o._position,M]}let I=this._earthCtrl.entities.add({polyline:{positions:new Hr(y,!1),material:this._colorStyle}});this._lineArray.push(I)};PC.prototype.updateViewShed=function(){this.show?(this.createLightCamera(),this.setCameraParams(),this.createShadowMap(),this.addVisualPyramid(),this.drawViewCentrum()):this.removeFromMap()};PC.prototype.mouseCreate=function(){let o=this;return new Idt.Promise((A,f)=>{let m=new cr(o._coreMap.scene.canvas),C=!1;m.setInputAction(function(E){let x,y=o._coreMap.scene.pickPosition(E.position);if(y)x=y;else return;if(C){C=!1,m.destroy(),m=void 0;let v={position:o.toDegrees(o._position),heading:o._heading,distance:o._distance};A(v)}else{let I=o.toDegrees(x),v=Z.fromDegrees(I.lon,I.lat,I.hei+1.8);o._position=v,C=!0}},si.LEFT_CLICK),m.setInputAction(function(E){if(!C)return;let x,y=o._coreMap.scene.pickPosition(E.endPosition);if(y&&(x=y),!(!x&&!o._position))if(!o.pyramid)o.updateViewShed();else{let I=o._lightCamera,v=o.toDegrees(o._position),B=o.toDegrees(x),Q=Z.fromDegrees(v.lon,v.lat+1e-4,v.hei),T=Z.fromDegrees(B.lon,B.lat,v.hei);o._heading=o.arge(o._position,Q,T,"360",!0),o._distance=Z.distance(o._position,x),o.viewShedMap._pointLightRadius=o._distance,I.setView({destination:o._position,orientation:{heading:Be.toRadians(o._heading),pitch:Be.toRadians(o._pitch),roll:0}}),I.frustum.far=o._distance||1e4;let w=Be.toRadians(o._horizontalViewAngle),S=Be.toRadians(o._verticalViewAngle);I.frustum.aspectRatio=Math.tan(w/2)/Math.tan(S/2),w>S?I.frustum.fov=w:I.frustum.fov=S}},si.MOUSE_MOVE)})};PC.prototype.setCameraParams=function(){let o=this._lightCamera;o.frustum.near=.1,o.frustum.far=this._distance;let A=Be.toRadians(this._horizontalViewAngle),f=Be.toRadians(this._verticalViewAngle);o.frustum.aspectRatio=Math.tan(A/2)/Math.tan(f/2),A>f?o.frustum.fov=A:o.frustum.fov=f,o.setView({destination:this._position,orientation:{heading:Be.toRadians(this._heading),pitch:Be.toRadians(this._pitch),roll:0}})};PC.prototype.toDegrees=function(o){let A=Rt.fromCartesian(o);return{lon:Be.toDegrees(A.longitude),lat:Be.toDegrees(A.latitude),hei:A.height}};PC.prototype.arge=function(o,A,f,m="180",C=!1){let E=Math.sqrt(Math.pow(o.x-A.x,2)+Math.pow(o.y-A.y,2)),x=Math.sqrt(Math.pow(o.x-f.x,2)+Math.pow(o.y-f.y,2)),y=Math.sqrt(Math.pow(A.x-f.x,2)+Math.pow(A.y-f.y,2)),I=(Math.pow(E,2)+Math.pow(x,2)-Math.pow(y,2))/(2*E*x),v=Math.acos(I)*180/Math.PI;if(m==="360"||m==="+-"){let B=C?-1:1;this.isClockwise([[A.x,B*A.y],[o.x,B*o.y],[f.x,B*f.y],[A.x,B*A.y]])||(m==="+-"?v=-v:v=360-v)}return Number(v.toFixed(2))};PC.prototype.isClockwise=function(o){let A=Ho.lineString(o);return Ho.booleanClockwise(A)};var mPe=PC;var YH;function CPe(o){this._earthCtrl=o,this.Viewer=o.coreMap,YH=o.coreMap}CPe.prototype.CreateTooltip=function(o={},A,f){let m,C,E,x,y;typeof o=="object"&&(m=o),m&&m.origin?(m.origin==="center"&&(C=15,E=-12),m.origin==="top"&&(C=15,E=-44),m.origin==="bottom"&&(C=15,E=20)):(C=15,E=20),m&&m.color?(m.color==="white"&&(x="background: rgba(255, 255, 255, 0.8);color: black;"),m.color==="black"&&(x="background: rgba(0, 0, 0, 0.5);color: white;"),m.color==="yellow"&&(x="color: black;background-color: #ffcc33;border: 1px solid white;")):x="background: rgba(0, 0, 0, 0.5);color: white;",m&&m.id?y=`toolTip${m.id}`:y="toolTip";let I=document.getElementById(y);if(!I){let v=document.createElement("div");CA(".map-widget",v);let B=`<div id="${y}" style="display: none;pointer-events: none;position: absolute;z-index: 1000;opacity: 0.8;border-radius: 4px;padding: 4px 8px;white-space: nowrap;font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px;${x}"></div>`;CA(".map-widget",B),I=document.getElementById(y)}return f?(I.innerHTML=o,I.style.left=`${A.x+C}px`,I.style.top=`${A.y+E}px`,I.style.display="block"):I.style.display="none",{tooltip:I,style:m,showAt:function(v,B){this.tooltip.innerHTML=B,this.style&&this.style.origin?(this.style.origin==="center"&&(C=15,E=-this.tooltip.offsetHeight/2),this.style.origin==="top"&&(C=15,E=-this.tooltip.offsetHeight-20),this.style.origin==="bottom"&&(C=15,E=20)):(C=15,E=-this.tooltip.offsetHeight/2),this.tooltip.style.left=`${v.x+C}px`,this.tooltip.style.top=`${v.y+E}px`,this.tooltip.style.display="block"},show:function(v){v?this.tooltip.style.display="block":this.tooltip.style.display="none"}}};CPe.prototype.CreateResultTooltip=function(o={}){let A,f,m,C=o.id?`resultToolTip${o.id}`:"resultToolTip",E=document.getElementById(C);if(o.color?(o.color==="white"&&(m="background: rgba(255, 255, 255, 0.8);color: black;"),o.color==="black"&&(m="background: rgba(0, 0, 0, 0.5);color: white;"),o.color==="blue"&&(m="background: rgba(48, 119, 221);color: white;"),o.color==="yellow"&&(m="color: black;background-color: #ffcc33;border: 1px solid white;")):m="color: black;background-color: #ffcc33;border: 1px solid white;",!E){let Q=`<div id="${C}" class="resultToolTip" style="display: none;pointer-events: none;position: absolute;z-index: 1000;opacity: 0.8;border-radius: 4px;padding: 4px 8px;white-space: nowrap;font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px;${m}"></div>`;CA(".map-widget",Q),E=document.getElementById(C)}let x=o.addX||0,y=o.addY||0,I,v=this;function B(){if(I){if(o.far!==void 0||o.near!==void 0){let T=v.getPointToCameraDistance(YH,I);if(T>o.far){E.style.display="none";return}else if(T<o.near){E.style.display="none";return}E.style.display="block"}let Q=YH.scene.cartesianToCanvasCoordinates(I);if(!Q)return;A=-E.offsetWidth/2+x,f=-E.offsetHeight+y,E.style.left=`${Q.x+A}px`,E.style.top=`${Q.y+f}px`}}return YH.clock.onTick.addEventListener(B),{tooltip:E,position:I,showAt:function(Q,T){if(this.tooltip.innerHTML=T,this.tooltip.style.display="block",this.position=Q,I=Q,I){let w=YH.scene.cartesianToCanvasCoordinates(I);if(!w)return;A=-this.tooltip.offsetWidth/2+x,f=-this.tooltip.offsetHeight+y,this.tooltip.style.left=`${w.x+A}px`,this.tooltip.style.top=`${w.y+f}px`}},show:function(Q){Q?(this.tooltip.style.display="block",I=this.position):(this.tooltip.style.display="none",I=void 0)},destroy(){YH.clock.onTick.removeEventListener(B),E.remove()}}};var PE=CPe;function Jv(o,A={type:"default"}){return this.earthCtrl=o,this.scene=o.coreMap.scene,this.camera=o.coreMap.camera,A.type==="circle"?this.createLineOfSightfromCircle(A):this.createLineOfSight(A),this}Jv.prototype.createLineOfSight=function(o={}){let A=this,f=new cr(this.scene.canvas),m,C,E=null,x=new PE(this.earthCtrl),y=x.CreateTooltip(),I=!1,v;f.setInputAction(function(B){let Q=A.getMousePosition(B,E);if(!!Q){if(y.show(!0),!m)v=[],I=!0,m=A.toDegrees(Q),m=Z.fromDegrees(m.lon,m.lat,m.hei+(o.height||1.8)),v.push(A.createPoint(m)),v.push(A.createLabel(m,"\u89C2\u5BDF\u70B9"));else if(C){I=!1,A.createLabel(C,"\u76EE\u6807\u70B9");let T=A.judgeLineView(m,C);A.judgeLineAdd(m,C,T),A.createPoint(C,T,C)}}},si.LEFT_CLICK),f.setInputAction(function(B){if(m){y.showAt(B.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u70B9\uFF0C\u53F3\u952E\u7ED3\u675F\u7ED8\u5236");let Q=A.getMousePosition(B,E);Q&&(C=Q,E||(E=A.earthCtrl.entities.add({name:"viewThrough",polyline:{positions:new Hr(function(){return[m,C]},!1),material:Ve.YELLOW,followSurface:!1,width:3}})))}else y.showAt(B.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236")},si.MOUSE_MOVE),f.setInputAction(function(B){I&&v.forEach(Q=>{A.earthCtrl.entities.removeById(Q)}),E&&(A.earthCtrl.entities.remove(E),E=void 0),y.show(!1),y=void 0,x=void 0,m=void 0,C=void 0,A=void 0,f.destroy(),f=void 0},si.RIGHT_CLICK)};Jv.prototype.createLineOfSightfromCircle=function(o={}){let A=this,f=new cr(this.scene.canvas),m,C,E,x=0,y=new PE(this.earthCtrl),I=y.CreateTooltip(),v=[];f.setInputAction(function(B){let Q=A.getMousePosition(B,E);if(!!Q){if(I.show(!0),!m)m=A.toDegrees(Q),m=Z.fromDegrees(m.lon,m.lat,m.hei+(o.height||1.8)),v.push(A.createPoint(m)),v.push(A.createLabel(m,"\u89C2\u5BDF\u70B9"));else if(C){let T=A.toDegrees(m),w=Ho.circle([T.lon,T.lat],x,{steps:o.steps||64,units:"meters"});w.geometry.coordinates[0].forEach(S=>{let D=A.scene.globe.getHeight(Rt.fromDegrees(S[0],S[1])),R=Z.fromDegrees(S[0],S[1],D),P=A.scene.clampToHeight(R),M=A.judgeLineView(m,P||R);A.judgeLineAdd(m,P||R,M)}),w=void 0,A.end()}}},si.LEFT_CLICK),f.setInputAction(function(B){if(m){I.showAt(B.endPosition,"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF0C\u53F3\u952E\u53D6\u6D88");let Q=A.getMousePosition(B,E);Q&&(C=Q,x=Z.distance(m,C),E||(E=A.earthCtrl.entities.add({id:0x970396774b8f5,name:"viewThrough",position:m,ellipse:{semiMajorAxis:new Hr(function(){return x},!1),semiMinorAxis:new Hr(function(){return x},!1),material:Ve.fromCssColorString("rgba(0,255,0,0.6)"),heightReference:1,outline:!0,outlineWidth:1,outlineColor:Ve.WHITE.withAlpha(.6)}})))}else I.showAt(B.endPosition,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236")},si.MOUSE_MOVE),f.setInputAction(function(B){A.end("deletePoint")},si.RIGHT_CLICK),this.end=B=>{this.end=void 0,f.destroy(),f=void 0,I.show(!1),I=void 0,y=void 0,E&&(A.earthCtrl.entities.remove(E),E=void 0),B==="deletePoint"&&v.forEach(Q=>{this.earthCtrl.entities.removeById(Q)}),m=void 0,C=void 0,A=void 0}};Jv.prototype.judgeLineView=function(o,A){if(o.equals(A))return;let f=Z.normalize(Z.subtract(A,o,new Z),new Z),m=new Ua(o,f),C=this.scene.drillPickFromRay(m),E;if(C.forEach(x=>{x.object&&(x.object.id&&x.object.id._name?x.object.id._name!=="viewThrough"&&(E||(E=x.position)):E||(E=x.position))}),E||(E=this.scene.globe.pick(m,this.scene)),C=void 0,f=void 0,m=void 0,!!E)return this.judgeOverLine(o,A,E)};Jv.prototype.judgeOverLine=function(o,A,f){let m=Z.distance(o,A),C=Z.distance(o,f);if(m>C)return f};Jv.prototype.judgeLineAdd=function(o,A,f){!o||!A||(f?(this.addJudgeLine([A,f],!0),this.addJudgeLine([o,f],!1)):this.addJudgeLine([o,A],!1))};Jv.prototype.addJudgeLine=function(o,A){A?this.earthCtrl.entities.add({name:"viewThroughLine",polyline:{positions:o,material:Ve.RED,followSurface:!1,width:3,depthFailMaterial:Ve.fromCssColorString("#ff00c6")}}):this.earthCtrl.entities.add({name:"viewThroughLine",polyline:{positions:o,material:Ve.GREEN,followSurface:!1,width:3}})};Jv.prototype.createPoint=function(o,A,f){let m=null;return A?Z.distance(f,A)<2?m=this.earthCtrl.entities.add({name:"viewThroughPoint",position:o,point:{pixelSize:10,color:Ve.BLUE,outlineWidth:2,outlineColor:new Ve(1,1,1,.7),disableDepthTestDistance:Number.POSITIVE_INFINITY,distanceDisplayCondition:new po(0,1e7)}}):m=this.earthCtrl.entities.add({name:"viewThroughPoint",position:o,point:{pixelSize:10,color:Ve.RED,outlineWidth:2,outlineColor:new Ve(1,1,1,.7),disableDepthTestDistance:Number.POSITIVE_INFINITY,distanceDisplayCondition:new po(0,1e7)}}):m=this.earthCtrl.entities.add({name:"viewThroughPoint",position:o,point:{pixelSize:10,color:Ve.BLUE,outlineWidth:2,outlineColor:new Ve(1,1,1,.7),disableDepthTestDistance:Number.POSITIVE_INFINITY,distanceDisplayCondition:new po(0,1e7)}}),m._id};Jv.prototype.createLabel=function(o,A){return this.earthCtrl.entities.add({name:"viewThroughLabel",position:o,label:{text:A,font:"18px \u5B8B\u4F53",fillColor:Ve.WHITE,horizontalOrigin:Ru.CENTER,verticalOrigin:Ru.CENTER,pixelOffset:new rt(0,-18),disableDepthTestDistance:Number.POSITIVE_INFINITY,distanceDisplayCondition:new po(0,1e5)}})._id};Jv.prototype.deleteAll=function(){let o=this.earthCtrl.entities,A=[];o.values.forEach(f=>{(f._name==="viewThroughLine"||f._name==="viewThroughPoint"||f._name==="viewThroughLabel")&&A.push(f._id)}),A.forEach(f=>{o.removeById(f)})};Jv.prototype.toDegrees=function(o){let A=Rt.fromCartesian(o);return{lon:Be.toDegrees(A.longitude),lat:Be.toDegrees(A.latitude),hei:A.height}};Jv.prototype.getMousePosition=function(o,A){let f=o.endPosition||o.position||o;this.defaultDepthTest===void 0&&(this.defaultDepthTest=!!this.scene.globe.depthTestAgainstTerrain);let m=this.camera.getPickRay(f);A&&!Array.isArray(A)&&(A=[A]);let C=this.scene.pickPosition(f);C?C={position:C}:(this.scene.globe.depthTestAgainstTerrain=!0,C=this.scene.pickFromRay(m,A));let E;if(!C||!C.position||!this.scene.globe.depthTestAgainstTerrain?E=this.scene.globe.pick(m,this.scene):E=C.position,this.scene.globe.depthTestAgainstTerrain=!!this.defaultDepthTest,this.defaultDepthTest=void 0,!E){console.log("\u672A\u62FE\u53D6\u5230\u5750\u6807\uFF01");return}return E};var EPe=Jv;var xPe=Ci.WGS84;function Ed(o){this._cesiumViewer=o,this.coreMap=o.coreMap,this._scene=this.coreMap.scene,this.loading||this.addLoading(),this._tooltip=lUi(this.coreMap.container)}function yPe(o,A){if(o===null||typeof o!="object"||o.constructor!==Object&&o.constructor!==Array)return o;if(o.constructor===Date||o.constructor===RegExp||o.constructor===Function||o.constructor===String||o.constructor===Number||o.constructor===Boolean)return new o.constructor(o);A=A||new o.constructor;for(let f in o)A[f]=typeof A[f]>"u"?yPe(o[f],null):A[f];return A}function _dt(o,A){let f=yPe(o),m;for(m in A)f[m]===void 0&&(f[m]=yPe(A[m]));return f}function lUi(o){let A=function(f){let m=document.createElement("DIV");m.className="twipsy right";let C=document.createElement("DIV");C.className="twipsy-arrow",m.appendChild(C);let E=document.createElement("DIV");E.className="twipsy-inner",m.appendChild(E),this._div=m,this._title=E,f.appendChild(m)};return A.prototype.setVisible=function(f){this._div.style.display=f?"block":"none"},A.prototype.showAt=function(f,m){f&&m&&(this.setVisible(!0),this._title.innerHTML=m,this._div.style.left=`${f.x+30}px`,this._div.style.top=`${f.y-this._div.clientHeight/2-15}px`)},new A(o)}Ed.prototype.addToolbar=function(o,A){return A=_dt(A,{container:o}),new Ed.Toolbar(this,A)};var vdt={shiftX:0,shiftY:0};Ed.prototype.createBillboardGroup=function(o,A,f){let m=new Ed.BillboardGroup(this,A);return m.addBillboards(o,f),m};Ed.BillboardGroup=function(o,A){this._drawHelper=o,this._scene=o._scene,this._options=_dt(A,vdt);let f=new Tx;this._scene.primitives.add(f),this._billboards=f,this._orderedBillboards=[]};Ed.BillboardGroup.prototype.createBillboard=function(o,A){let f=this._billboards.add({show:!0,position:o,pixelOffset:new rt(this._options.shiftX,this._options.shiftY),eyeOffset:new Z(0,0,-1e3),horizontalOrigin:Ru.CENTER,verticalOrigin:hn.CENTER,scale:.3,image:oe(this._options.iconUrl,`${globalThis.GEOWORLD_BASE_URL}Assets/Images/point.png`),color:new Ve(1,1,1,1)});if(A){let E=function(y){C.enableRotate=y},x=function(){let y=0;for(let I=m._orderedBillboards.length;y<I&&m._orderedBillboards[y]!==f;++y);return y},m=this,C=this._scene.screenSpaceCameraController;if(A.dragHandlers){let y=this,I=new cr(y._scene.canvas);setListener(f,"leftDown",function(v){function B(T){f.position=T;for(let w=0,S=y._orderedBillboards.length;w<S&&y._orderedBillboards[w]!==f;++w);A.dragHandlers.onDrag&&A.dragHandlers.onDrag(x(),T)}function Q(T){I.destroy(),E(!0),A.dragHandlers.onDragEnd&&A.dragHandlers.onDragEnd(x(),T)}I.setInputAction(function(T){let w=y._scene.camera.pickEllipsoid(T.endPosition,xPe);w?B(w):Q(w)},si.MOUSE_MOVE),I.setInputAction(function(T){Q(y._scene.camera.pickEllipsoid(T.position,xPe))},si.LEFT_UP),E(!1),A.dragHandlers.onDragStart&&A.dragHandlers.onDragStart(x(),y._scene.camera.pickEllipsoid(v,xPe))})}A.onDoubleClick&&setListener(f,"leftDoubleClick",function(y){A.onDoubleClick(x())}),A.onClick&&setListener(f,"leftClick",function(y){A.onClick(x())}),A.tooltip&&(setListener(f,"mouseMove",function(y){m._drawHelper._tooltip.showAt(y,A.tooltip())}),setListener(f,"mouseOut",function(y){m._drawHelper._tooltip.setVisible(!1)}))}return f};Ed.BillboardGroup.prototype.insertBillboard=function(o,A,f){this._orderedBillboards.splice(o,0,this.createBillboard(A,f))};Ed.BillboardGroup.prototype.addBillboard=function(o,A){this._orderedBillboards.push(this.createBillboard(o,A))};Ed.BillboardGroup.prototype.addBillboards=function(o,A){let f=0;for(;f<o.length;f++)this.addBillboard(o[f],A)};Ed.BillboardGroup.prototype.updateBillboardsPositions=function(o){let A=0;for(;A<o.length;A++)this.getBillboard(A).position=o[A]};Ed.BillboardGroup.prototype.countBillboards=function(){return this._orderedBillboards.length};Ed.BillboardGroup.prototype.getBillboard=function(o){return this._orderedBillboards[o]};Ed.BillboardGroup.prototype.removeBillboard=function(o){this._billboards.remove(this.getBillboard(o)),this._orderedBillboards.splice(o,1)};Ed.BillboardGroup.prototype.remove=function(){this._billboards=this._billboards&&this._billboards.removeAll()&&this._billboards.destroy()};Ed.BillboardGroup.prototype.setOnTop=function(){this._scene.primitives.raiseToTop(this._billboards)};Ed.prototype.cleanUp=function(){this._prevEntity!==void 0&&(this._cesiumViewer.entities.remove(this._prevEntity),this._prevEntity=void 0),this._markers!==void 0&&(this._markers.remove(),this._markers=void 0),this._volumeLabel!==void 0&&(this._cesiumViewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._tooltip.setVisible(!1)};Ed.prototype.startDrawing=function(o){let A=this,f=this._scene;f.globe.depthTestAgainstTerrain=!0;let m=this._tooltip,C=3,E=[],x=[],y;this._positions=x;let I=new cr(f.canvas);this._mouseHandler=I;let v=new Ed.BillboardGroup(this,vdt);this._markers=v,this._prevEntity!==void 0&&(this._cesiumViewer.entities.remove(this._prevEntity),this._prevEntity=null),this._volumeLabel!==void 0&&(this._cesiumViewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),I.setInputAction(function(Q){if(Q.position!==null){let T=f.camera.getPickRay(Q.position),w=f.globe.pick(T,f),S=Rt.fromCartesian(w),D=Be.toDegrees(S.longitude),R=Be.toDegrees(S.latitude);if(w){if(E.length===0&&(E.push(D,R),x.push(w),y=w,v.addBillboard(y)),x.length>=4){let P=ms.wgs84ToWindowCoordinates(this._cesiumViewer.coreMap.scene,y);if(P!==void 0){let M=P.x-Q.position.x,L=P.y-Q.position.y;if(M*M+L*L<16){E.splice(E.length-2,2),x.pop(),this.isLoading(!0),this.stopDrawing(o);return}}}E.push(D,R),x.push(w),v.addBillboard(w),x.length===C&&(A._prevEntity=A._cesiumViewer.factory.createElement({type:"polygon",parameters:{hierarchy:Z.fromDegreesArray(E),material:Ve.RED.withAlpha(.6),fill:!0}}),A._prevEntity.polygon.hierarchy=B())}}}.bind(this),si.LEFT_CLICK),I.setInputAction(function(Q){let T=Q.endPosition;if(T!==null)if(x.length===0)m.showAt(T,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236\u7B2C\u4E00\u4E2A\u70B9");else{let w=f.camera.getPickRay(T),S=f.globe.pick(w,f),D=Rt.fromCartesian(S),R=Be.toDegrees(D.longitude),P=Be.toDegrees(D.latitude);if(S&&(E.splice(E.length-2,2),x.pop(),E.push(R,P),x.push(S),v.getBillboard(x.length-1).position=S,m.showAt(T,"\u53CC\u51FB\u7ED3\u675F\u7ED8\u5236"),x.length>=3&&x.length>=4)){let M=ms.wgs84ToWindowCoordinates(this._cesiumViewer.coreMap.scene,y);if(M!==void 0){let L=M.x-T.x,F=M.y-T.y;L*L+F*F<16?document.body.style.cursor="pointer":document.body.style.cursor="default"}}}}.bind(this),si.MOUSE_MOVE),I.setInputAction(function(Q){x.length<C+2||(this.isLoading(!0),setTimeout(()=>{this.stopDrawing(o)},100))}.bind(this),si.LEFT_DOUBLE_CLICK);function B(){return Z.fromDegreesArray(E)}};Ed.prototype.stopDrawing=function(o){this._mouseHandler!==void 0&&(this._mouseHandler.destroy(),this._mouseHandler=void 0),this._markers!==void 0&&(this._markers.remove(),this._markers=void 0),this._prevEntity!==void 0&&(this._cesiumViewer.entities.remove(this._prevEntity),this._prevEntity=null),this._volumeLabel!==void 0&&(this._cesiumViewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._tooltip.setVisible(!1),document.body.style.cursor="wait";let A=this.computeCutVolume(),f=A.maxHeight;document.body.style.cursor="default",typeof o=="function"&&o(A.volume);let m={polygon:{hierarchy:{positions:this._positions},extrudedHeight:f,closeTop:!1,closeBottom:!1,material:Ve.RED.withAlpha(.5),outline:!0,outlineColor:Ve.WHITE,outlineWidth:2}};this._prevEntity=this._cesiumViewer.entities.add(m),this.isLoading(!1)};Ed.prototype.addLoading=function(){let o=document.createElement("div");o.id="cesiumLoading",o.style.cssText="width: 100%;height: 100%;display:none;pointer-events: none;position: absolute;top: 0;left: 0;-moz-box-sizing: border-box;box-sizing: border-box;background-color: unset;z-index: 99999;";let A=document.createElement("img");A.style.cssText="position: relative;width: 110px;height: 110px;margin: auto;top: 50%;left: 50%;margin-top: -55px;margin-left: -55px;",A.src=`${globalThis.GEOWORLD_BASE_URL}Workers/image/loading.gif`,o.appendChild(A),this.loading=o,this.coreMap.container.appendChild(o)};Ed.prototype.isLoading=function(o){o?this.loading.style.display="block":this.loading.style.display="none"};Ed.prototype.removeLoading=function(){this.loading&&this.loading.remove(),this.loading=void 0};function uUi(o){let A=[],f=[];for(let Q=0;Q<o.length;Q++){let T=Rt.fromCartesian(o[Q]);A.push(T.longitude),f.push(T.latitude)}let m=0,C=0,E=0,x=0,y=0,I=0,v=0,B=0;for(let Q=0;Q<o.length;Q++)m=A[Q],C=f[Q],Q===o.length-1?(E=A[0],x=f[0]):(E=A[Q+1],x=f[Q+1]),I=m*x-E*C,y+=I,v+=(m+E)*I,B+=(C+x)*I;return y*=.5,v/=6*y,B/=6*y,new Rt(v,B)}function AUi(o,A,f){let m=Z.distance(o,A),C=Z.distance(A,f),E=Z.distance(f,o),x=(m+C+E)/2;return Math.sqrt(x*(x-m)*(x-C)*(x-E))}Ed.prototype.computeCutVolume=function(){let o=15e3;for(let L=0;L<this._positions.length;L++){let F=Rt.fromCartesian(this._positions[L]),k=this._scene.globe.getHeight(F);o>k&&(o=k)}let A=Math.PI/Math.pow(2,11);A=A/64;let f=new mA.fromPositions({positions:this._positions,vertexFormat:La.FLAT_VERTEX_FORMAT,granularity:A}),m=new mA.createGeometry(f),C=0,E=0,x,y,I,v,B,Q,T,w,S,D,R,P;for(let L=0;L<m.indices.length;L+=3)x=m.indices[L],y=m.indices[L+1],I=m.indices[L+2],D=new Z(m.attributes.position.values[x*3],m.attributes.position.values[x*3+1],m.attributes.position.values[x*3+2]),R=Rt.fromCartesian(D),v=this._scene.globe.getHeight(R),T=Z.fromRadians(R.longitude,R.latitude,0),E<v&&(E=v),D=new Z(m.attributes.position.values[y*3],m.attributes.position.values[y*3+1],m.attributes.position.values[y*3+2]),R=Rt.fromCartesian(D),B=this._scene.globe.getHeight(R),w=Z.fromRadians(R.longitude,R.latitude,0),E<B&&(E=B),D=new Z(m.attributes.position.values[I*3],m.attributes.position.values[I*3+1],m.attributes.position.values[I*3+2]),R=Rt.fromCartesian(D),Q=this._scene.globe.getHeight(R),S=Z.fromRadians(R.longitude,R.latitude,0),E<Q&&(E=Q),P=AUi(T,w,S),C=C+P*(v-o+B-o+Q-o)/3;let M=uUi(this._positions);return this._volumeLabel=this._cesiumViewer.entities.add({position:Z.fromRadians(M.longitude,M.latitude,E+1e3),label:{text:`${C.toFixed(4)}\u7ACB\u65B9\u7C73`}}),{maxHeight:E,volume:C}};var IPe=Ed;function JH(o){this._viewer=o.coreMap,this._cesium=Di,this._core=new bQ(o),this._points=[],this._lable=null,this._entity=null,this.polygon1,this.id="0",this.curCanvas="a",this._lang={draw_tip_left:"\u5DE6\u952E\u5F00\u59CB\u7ED8\u5236\uFF01",draw_tip_right:"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236\uFF01",draw_tip_click:"\u70B9\u51FB\u7EE7\u7EED\u7ED8\u5236\uFF01",draw_tip_cancel:"\u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\uFF0C\u53F3\u952E\u53D6\u6D88\uFF01",unit_m:"\u7C73",unit_km:"\u5343\u7C73"}}JH.prototype.executePolygonymsd=function(o={},A){this.handler&&(this.handler.destroy(),this.handler=null);var f=this;this.handler=new f._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);var m=this._core.createTooltip(),C={},E=[],x=[],y=null,I=null,v=null,B="0",Q=0,T=1e3,w=oe(o.spood,0),S=!1;let D=oe(o.clampToGround,!1);var R={mj:0,label:[],ployline:[]},P=[];let M,L;this.handler.setInputAction(function(N){if(S){Q===void 0?m.showAts({text:"\u70B9\u51FB\u62FE\u53D6\u521D\u59CB\u6C34\u9762\u9AD8\u5EA6",position:N.endPosition}):T===void 0&&m.showAts({text:"\u70B9\u51FB\u62FE\u53D6\u6700\u5927\u6DF9\u6CA1\u9AD8\u5EA6",position:N.endPosition});return}if(E.length>=4?m.showAts({text:"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236",position:N.endPosition}):m.showAts({text:"\u70B9\u51FB\u5DE6\u952E\u7ED8\u5236\u6DF9\u6CA1\u533A\u57DF",position:N.endPosition}),v=f.getMousePosition(N),!!v&&E.length>=2){if(!f._cesium.defined(y))C=new f._cesium.PolygonHierarchy(E),y=new k(C);else if(o.rectangle)L=f.toDegrees(v),E=[Z.fromDegrees(M.lon,M.lat),Z.fromDegrees(M.lon,L.lat),Z.fromDegrees(L.lon,L.lat),Z.fromDegrees(L.lon,M.lat)],C=new f._cesium.PolygonHierarchy(E),y.hierarchy=C;else{for(var G=E[0],J=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(G),K=Be.toDegrees(J.latitude),X=Be.toDegrees(J.longitude),q=E[E.length-2],ee=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(q),ie=Be.toDegrees(ee.latitude),H=Be.toDegrees(ee.longitude),le=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(v),ue=Be.toDegrees(le.latitude),Ae=Be.toDegrees(le.longitude),he=Ho.lineString([[X,K],[Ae,ue]]),ge=Ho.lineString([[H,ie],[Ae,ue]]),fe=!0,ae=0;ae<P.length&&P.length>=2;ae++){var U=P[ae];if(ae==0){if(Ho.lineIntersect(ge,U).features.length){fe=!1,m.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u4E0D\u5141\u8BB8\u51FA\u73B0\u4EA4\u53C9\u9762\uFF01</span>';break}continue}if(ae==P.length-1){if(Ho.lineIntersect(he,U).features.length){fe=!1,m.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u4E0D\u5141\u8BB8\u51FA\u73B0\u4EA4\u53C9\u9762\uFF01</span>';break}continue}if(Ho.lineIntersect(he,U).features.length){fe=!1,m.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u4E0D\u5141\u8BB8\u51FA\u73B0\u4EA4\u53C9\u9762\uFF01</span>';return}if(Ho.lineIntersect(ge,U).features.length){fe=!1,m.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u4E0D\u5141\u8BB8\u51FA\u73B0\u4EA4\u53C9\u9762\uFF01</span>';break}}if(!fe)return;E.pop(),E.push(v),C=new f._cesium.PolygonHierarchy(E)}I||(I=f._viewer.entities.add({polyline:{positions:new Hr(function(){return E.concat([E[0]])},!1),clampToGround:!0,width:3}}),f._points.push(I))}},f._cesium.ScreenSpaceEventType.MOUSE_MOVE),this.handler.setInputAction(function(N){var G=f.getMousePosition(N);if(!!G){if(S){let Ce=f._cesium.Cartographic.fromCartesian(G);if(Q===void 0)Q=Ce.height;else if(T===void 0){if(T=Ce.height,T<Q){window.layuiLayer&&window.layuiLayer.msg("\u6700\u5927\u6DF9\u6CA1\u9AD8\u5EA6\u5C0F\u4E8E\u521D\u59CB\u6C34\u9762\u9AD8\u5EA6\uFF0C\u8BF7\u91CD\u65B0\u62FE\u53D6"),T=void 0,Q=void 0;return}F()}return}if(E.length==0&&(E.push(G.clone()),C=new f._cesium.PolygonHierarchy(E)),E.length>=2)if(P.length==0){var J=E[0],K=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(J),X=Be.toDegrees(K.latitude),q=Be.toDegrees(K.longitude),ee=E[1],ie=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(ee),H=Be.toDegrees(ie.latitude),le=Be.toDegrees(ie.longitude),ue=Ho.lineString([[q,X],[le,H]]);P.push(ue)}else{if(P.length>=2){for(var J=E[0],K=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(J),X=Be.toDegrees(K.latitude),q=Be.toDegrees(K.longitude),ee=E[E.length-2],ie=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(ee),H=Be.toDegrees(ie.latitude),le=Be.toDegrees(ie.longitude),Ae=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(G),he=Be.toDegrees(Ae.latitude),ge=Be.toDegrees(Ae.longitude),fe=Ho.lineString([[q,X],[ge,he]]),ae=Ho.lineString([[le,H],[ge,he]]),U=!0,W=0;W<P.length&&P.length>=2;W++){var Y=P[W];if(W==0){if(Ho.lineIntersect(ae,Y).features.length){U=!1,m.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u4E0D\u5141\u8BB8\u51FA\u73B0\u4EA4\u53C9\u9762\uFF01</span>';break}continue}if(W==P.length-1){if(Ho.lineIntersect(fe,Y).features.length){U=!1,m.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u4E0D\u5141\u8BB8\u51FA\u73B0\u4EA4\u53C9\u9762\uFF01</span>';break}continue}if(Ho.lineIntersect(fe,Y).features.length){U=!1,m.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u4E0D\u5141\u8BB8\u51FA\u73B0\u4EA4\u53C9\u9762\uFF01</span>';return}if(Ho.lineIntersect(ae,Y).features.length){U=!1,m.innerHTML='<span style="font-family:\u9ED1\u4F53;color:white;font-weight: bolder;font-size: 14px">\u4E0D\u5141\u8BB8\u51FA\u73B0\u4EA4\u53C9\u9762\uFF01</span>';break}}if(!U)return}var J=E[E.length-2],K=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(J),X=Be.toDegrees(K.latitude),q=Be.toDegrees(K.longitude),ie=f._viewer.scene.globe.ellipsoid.cartesianToCartographic(G),H=Be.toDegrees(ie.latitude),le=Be.toDegrees(ie.longitude),ue=Ho.lineString([[q,X],[le,H]]);P.push(ue)}E.push(G),C=new f._cesium.PolygonHierarchy(E),o.rectangle&&(M?(L=f.toDegrees(G),E=[Z.fromDegrees(M.lon,M.lat),Z.fromDegrees(M.lon,L.lat),Z.fromDegrees(L.lon,L.lat),Z.fromDegrees(L.lon,M.lat)],C=new f._cesium.PolygonHierarchy(E),y.hierarchy=C,o.pointSelect?(Q=void 0,T=void 0,S=!0):F()):M=f.toDegrees(G));var z=f._cesium.Cartographic.fromCartesian(E[E.length-1]),re=f._cesium.Math.toDegrees(z.longitude),se=f._cesium.Math.toDegrees(z.latitude),de=z.height;x.push({lon:re,lat:se,hei:de});var me=f._viewer.entities.add({name:"\u591A\u8FB9\u5F62",position:G,point:{pixelSize:5,color:f._cesium.Color.RED.withAlpha(.5),outlineColor:f._cesium.Color.WHITE.withAlpha(.5),outlineWidth:1,heightReference:f._cesium.HeightReference.CLAMP_TO_GROUND}});R.label.push(me),f._points.push(me)}},f._cesium.ScreenSpaceEventType.LEFT_CLICK),this.handler.setInputAction(function(N){S||E.length<=3||(m.showFun(!1),E.pop(),C=new f._cesium.PolygonHierarchy(E),o.pointSelect?(Q=void 0,T=void 0,S=!0):F())},f._cesium.ScreenSpaceEventType.RIGHT_CLICK),this.end=N=>{if(m.showFun(!1),f.handler.destroy(),f.end=void 0,N==="cancel"&&!this.waterTimer&&(f.item&&f._viewer.entities.remove(f.item),this._points.length>0)){for(var G=0;G<this._points.length;G++)this._viewer.entities.remove(this._points[G]);this._points=[]}};function F(){f.end();let N=w/20,G=D?0:Q+N;f.waterTimer=setInterval(function(){if(Q<T&&(Q+=N,f.item._polygon.height=G,f.item._polygon.extrudedHeight.setValue(Q),Q>=T)){clearInterval(f.waterTimer),f.waterTimer=void 0,Q=T,f._viewer.entities.remove(f.item),f.polygon1=new f._cesium.PolygonGeometry({polygonHierarchy:new f._cesium.PolygonHierarchy(E),extrudedHeight:T,height:G,vertexFormat:f._cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT});var J=new f._cesium.Primitive({geometryInstances:new f._cesium.GeometryInstance({geometry:f.polygon1}),appearance:new cY({material:new go({fabric:{type:"Water",uniforms:{baseWaterColor:o.watherColor||Ve.SKYBLUE.withAlpha(.6),blendColor:o.watherColor||Ve.SKYBLUE.withAlpha(.6),normalMap:o.url,frequency:o.frequency||1e3,animationSpeed:o.watherSpeed||.01,amplitude:o.amplitude||10}}})}),show:!0}),K=f._viewer.scene,X=K.primitives.add(J);R.ployline.push(X),f.item=J,A!=""&&A!=null&&typeof A=="function"&&A(Q)}},50)}var k=function(){function N(G){this.options={name:"\u591A\u8FB9\u5F62",polygon:{hierarchy:[],material:f._cesium.Color.SKYBLUE.withAlpha(.5),heightReference:f._cesium.HeightReference.NONE,extrudedHeight:0}},this.hierarchy=G,this._init()}return N.prototype._init=function(){var G=this,J=function(){return G.hierarchy};this.options.polygon.hierarchy=new f._cesium.CallbackProperty(J,!1);var K=f._viewer.entities.add(this.options);f.item=K},N}();return this};JH.prototype.endWater=function(){this.end&&this.end(),this.waterTimer&&clearInterval(this.waterTimer),this.deleteObject()};JH.prototype.deleteObject=function(){if(this._viewer.entities.remove(this.item),this._points.length>0){for(var o=0;o<this._points.length;o++)this._viewer.entities.remove(this._points[o]);this._points=[]}try{this._viewer.scene.primitives.remove(this.item)}catch(A){console.log(A)}this.item=void 0};JH.prototype.toDegrees=function(o){let A=Rt.fromCartesian(o);return{lon:Be.toDegrees(A.longitude),lat:Be.toDegrees(A.latitude),height:A.height}};JH.prototype.getMousePosition=function(o,A){let f=o.endPosition||o.position||o;this.defaultDepthTest===void 0&&(this.defaultDepthTest=!!this._viewer.scene.globe.depthTestAgainstTerrain);let m=this._viewer.camera.getPickRay(f);A&&!Array.isArray(A)&&(A=[A]);let C=this._viewer.scene.pickPosition(f);C?C={position:C}:(this._viewer.scene.globe.depthTestAgainstTerrain=!0,C=this._viewer.scene.pickFromRay(m,A));let E;if(!C||!C.position||!this._viewer.scene.globe.depthTestAgainstTerrain?E=this._viewer.scene.globe.pick(m,this._viewer.scene):E=C.position,this._viewer.scene.globe.depthTestAgainstTerrain=!!this.defaultDepthTest,this.defaultDepthTest=void 0,!E){console.log("\u672A\u62FE\u53D6\u5230\u5750\u6807\uFF01");return}return E};var _Pe=JH;function Vk(o,A){this._earthCtrl=o,this._coreMap=o.coreMap,this.shapeTool=void 0,this.positions=void 0,this.echarts=void 0,this.mCallback=oe(A.callback,void 0),this.defaultChart=oe(A.defaultChart,!0),this.step=oe(A.step,20),this.image=A.image,this.echarstView=A.echartsView,this.echartsParentView=A.echartsParentView,this.billboard=void 0,this.minHeight=0,this.maxHeight=0,this.profile={arrHB:[],arrPoint:[],arrLX:[],points:[],distance:0}}Vk.prototype.drawPolyLine=function(o={}){let A=this;this.shapeTool=A._earthCtrl.shapeTool.createDrawShapeTool(function(f){A.setPolyline({positions:f.result,skipClick:o.skipClick})},"polyline")};Vk.prototype.setPolyline=function(o){this.positions=o.positions,o.skipClick&&this.startAnalysis()};Vk.prototype.startAnalysis=function(){if(!this.positions)return console.info("\u8BF7\u5148\u7ED8\u5236\u5256\u9762\u7EBF\uFF01");if(this.positions.length>1){this.profile.arrLX.push(0);for(let A=0;A<this.positions.length-1;A++){let f=this.positions[A],m=this.positions[A+1];this.profile2PointAnalysis(f,m)}this.processHeight();let o=this.profile;this.defaultChart&&hUi(this,o),O(this.mCallback)&&this.mCallback(o),this.positions=void 0}};Vk.prototype.processHeight=function(){let o=this;if(!(o.profile.arrHB.length<=0)){o.minHeight=o.maxHeight=o.profile.arrHB[0];for(let A=1;A<o.profile.arrHB.length;A++){let f=o.profile.arrHB[A];f>o.maxHeight?o.maxHeight=f:f<o.minHeight&&(o.minHeight=f)}o.minHeight=parseInt(o.minHeight/100)*100;for(let A=0;A<o.profile.arrHB.length;A++){let f=o.profile.arrHB[A];o.profile.arrHB[A]=f-o.minHeight}}};var cUi=new Z;Vk.prototype.profile2PointAnalysis=function(o,A){let f=this,m=Z.distance(o,A),C=parseInt(m/f.step),E=Rt.fromCartesian(o),x=Rt.fromCartesian(A);f.positions.length>2&&f.profile.arrLX.length>1&&f.profile.arrLX.push(f.profile.arrLX[f.profile.arrLX.length-1]+BPe(f.profile.points[f.profile.points.length-1],E)),f.profile.points.push(E),f.profile.arrPoint.push(vPe(o)),f.profile.arrHB.push(E.height);let y=f.profile.arrLX.length-1;console.info(y);for(let I=1;I<C;I++){let v=Z.lerp(o,A,I/C,cUi),B=Rt.fromCartesian(v),Q=f._coreMap.scene.globe.getHeight(B);B.height=Q;let T=BPe(f.profile.points[y+I-1],B);f.profile.distance=f.profile.distance+T,f.profile.points.push(B),f.profile.arrLX.push(f.profile.arrLX[y+I-1]+T),f.profile.arrPoint.push(vPe(v)),f.profile.arrHB.push(Q)}return f.profile.points.push(x),f.profile.arrLX.push(f.profile.arrLX[f.profile.arrLX.length-1]+BPe(f.profile.points[f.profile.points.length-1],x)),f.profile.arrPoint.push(vPe(A)),f.profile.arrHB.push(x.height),f.profile};function Qdt(o,A){let f=document.getElementById(o);f.style.display=A?"block":"none"}var Bdt;function hUi(o,A){if(A!==null&&A.arrPoint!==null){Qdt(o.echartsParentView,!0),O(o.echarts)||(o.echarts=Wz.init(document.getElementById(o.echarstView),"dark"));let f=A.arrPoint,m={grid:{left:10,right:10,bottom:10,containLabel:!0},dataZoom:[{type:"inside",throttle:50}],tooltip:{trigger:"axis",formatter:function(C){let E="";if(C.length===0)return E;let x=f[C[0].dataIndex],y=C[0].value+o.minHeight;return Bdt=new Z.fromDegrees(x.x,x.y,y),O(o.billboard)||(o.billboard=o._earthCtrl.entities.add({name:"profile_billboard",position:new Hr(function(){return Bdt},!1),billboard:{verticalOrigin:hn.BOTTOM,image:o.image,iconWidth:8,iconHeight:8,scale:.5}})),o.billboard.show||(o.billboard.show=!0),E+=`\u6240\u5728\u4F4D\u7F6E ${bdt(x.x)},${bdt(x.y)}<br />\u8DDD\u8D77\u70B9 <label>${wdt(C[0].axisValue)}</label><br />${C[0].seriesName} <label style='color:${C[0].color};'>${wdt(y)}</label><br />`}},xAxis:[{name:"\u884C\u7A0B",type:"category",boundaryGap:!1,axisLine:{show:!1},axisLabel:{show:!1},data:A.arrLX}],yAxis:[{type:"value",axisLabel:{formatter:function(C){return`${C+o.minHeight}\u7C73`}}}],series:[{name:"\u9AD8\u7A0B\u503C",type:"line",smooth:!0,symbol:"none",sampling:"average",itemStyle:{normal:{color:"rgb(255, 70, 131)"}},areaStyle:{normal:{color:new Wz.graphic.LinearGradient(0,0,0,1,[{offset:0,color:"rgb(255, 158, 68)"},{offset:1,color:"rgb(255, 70, 131)"}])}},data:A.arrHB}]};o.echarts.setOption(m)}}function wdt(o,A){if(o===null)return"";o=Number(o),(A===null||A==="auto")&&(o<1e3?A="m":A="km");let f="";switch(A){default:case"m":f=`${o.toFixed(2)}\u7C73`;break;case"km":f=`${(o*.001).toFixed(2)}\u516C\u91CC`;break;case"mile":f=`${(o*54e-5).toFixed(2)}\u6D77\u91CC`;break;case"zhang":f=`${(o*.3).toFixed(2)}\u4E08`;break}return f}function bdt(o){let A=o.toString();return A.slice(0,A.indexOf(".")+3)}function vPe(o){let A=Rt.fromCartesian(o),f=Be.toDegrees(A.longitude),m=Be.toDegrees(A.latitude),C=A.height;return{x:f,y:m,z:C}}function BPe(o,A){let f=new dd;f.setEndPoints(o,A);let m=f.surfaceDistance;return m=Math.sqrt(Math.pow(m,2)+Math.pow(A.height-o.height,2)),m}Vk.prototype.removeFromMap=function(){let o=this;O(o.shapeTool)&&(o.shapeTool.removeFromMap(),o.shapeTool=void 0),O(o.billboard)&&(o._earthCtrl.entities.remove(o.billboard),o.billboard=void 0),Qdt(o.echartsParentView,!1)};var wPe=Vk;function Ile(o,A){this._earthCtrl=o,this._coreMap=o.coreMap,this._skylineColor=oe(A.color,Ve.RED.withAlpha(1)),this._postProccessStage=null,this._postProcessStages=this._coreMap.scene.postProcessStages,this._width=oe(A.width,1),this._edgeDetection=aE.createEdgeDetectionStage({width:this._width||1}),this.addToMap()}Ile.prototype.addToMap=function(){this.removeFromMap();let o=new wa({name:"czm_skylinetemp",fragmentShader:"uniform sampler2D colorTexture;uniform sampler2D depthTexture;in vec2 v_textureCoordinates;void main(void){float depth = czm_readDepth(depthTexture, v_textureCoordinates);vec4 color = texture(colorTexture, v_textureCoordinates);if(depth<1.0 - 0.000001){out_FragColor = color;}else{out_FragColor = vec4(1.0,0.0,0.0,1.0);}}"}),A=new wa({name:"czm_skylinetemp1",fragmentShader:"uniform sampler2D colorTexture;uniform sampler2D redTexture;uniform sampler2D silhouetteTexture;uniform vec4 skylineColor;in vec2 v_textureCoordinates;void main(void){vec4 redcolor=texture(redTexture, v_textureCoordinates);vec4 silhouetteColor = texture(silhouetteTexture, v_textureCoordinates);vec4 color = texture(colorTexture, v_textureCoordinates);if(redcolor.r == 1.0){out_FragColor = mix(color, skylineColor, silhouetteColor.a);}else{out_FragColor = color;}}",uniforms:{redTexture:o.name,silhouetteTexture:this._edgeDetection.name,skylineColor:this._skylineColor}});this._postProccessStage=new dp({name:"czm_skyline",stages:[this._edgeDetection,o,A],inputPreviousStageTexture:!1,uniforms:this._edgeDetection.uniforms}),this._postProcessStages.add(this._postProccessStage)};Ile.prototype.removeFromMap=function(){this._postProccessStage&&(this._earthCtrl.coreMap.scene.postProcessStages.remove(this._postProccessStage),this._postProccessStage=null)};Object.defineProperties(Ile.prototype,{});var bPe=Ile;function _le(o,A){this._earthCtrl=o,this._coreMap=o.coreMap,this.left=[],this.right=[],A.left.forEach(f=>{f.splitDirection=-1,f.item&&(f.item.splitDirection=-1)}),A.right.forEach(f=>{f.splitDirection=1,f.item&&(f.item.splitDirection=1)}),this.left.push(...A.left),this.right.push(...A.right),this.addToMap()}var zk={dragStartX:0,_scene:void 0};_le.prototype.addToMap=function(){document.getElementById("slider")&&this.clear();let A=this._coreMap.scene;zk._scene=A;let f=this._coreMap.container,m=document.createElement("div");m.id="slider",m.style.position="absolute",m.style.cursor="e-resize",m.style.top=0,m.style.backgroundColor="#D3D3D3",m.style.width="8px",m.style.height="100%",m.style.zIndex="1000",f.appendChild(m);let C=document.getElementById("slider");A.splitPosition=C.offsetLeft/C.parentElement.offsetWidth,C.addEventListener("mousedown",Ddt,!1),window.addEventListener("mouseup",Sdt,!1),C.style.left="50%",zk._scene.splitPosition=.5};function Sdt(){window.removeEventListener("mousemove",QPe,!1)}function Ddt(o){let A=document.getElementById("slider");zk.dragStartX=o.clientX-A.offsetLeft,window.addEventListener("mousemove",QPe,!1)}function QPe(o){let A=document.getElementById("slider"),f=(o.clientX-zk.dragStartX)/A.parentElement.offsetWidth;A.style.left=`${100*f}%`,zk._scene.splitPosition=f}_le.prototype.removeFromMap=function(){let o=document.getElementById("slider");o&&(zk._scene.splitPosition="0%",o.removeEventListener("mousedown",Ddt,!1),window.removeEventListener("mouseup",Sdt,!1),window.removeEventListener("mousemove",QPe,!1),o.remove(),this.left.forEach(A=>{A.splitDirection=0,A.item&&(A.item.splitDirection=0)}),this.right.forEach(A=>{A.splitDirection=0,A.item&&(A.item.splitDirection=0)}),this.left=[],this.right=[],zk._scene=void 0)};Object.defineProperties(_le.prototype,{});var Tdt=_le;function vW(o,A){this._earthCtrl=o,this._coreMap=o.coreMap,this.color=oe(A.color,Ve.RED.withAlpha(.5)),this.positions=A.positions,this.baseHeight=oe(A.baseHeight,0),this._height=oe(A.height,0),this.extrudedHeight=oe(A.extrudedHeight,1e4),this.limitHeightPrimitive=null,this.addToMap()}vW.prototype.addToMap=function(){if(this.removeFromMap(),!this.positions)return;let o=Z.fromDegreesArray(this.positions),A=new kn({geometry:new mA({polygonHierarchy:new yn(o),height:this.baseHeight,extrudedHeight:this.baseHeight+this.extrudedHeight}),attributes:{color:_o.fromColor(this.color)}});this.limitHeightPrimitive=this._coreMap.scene.primitives.add(new cG({geometryInstances:A,releaseGeometryInstances:!1,classificationType:uu.CESIUM_3D_TILE}))};vW.prototype.changeHeight=function(o){!this.limitHeightPrimitive||(console.log("?!?!?!",this.limitHeightPrimitive),this.limitHeightPrimitive.readyPromise.then(A=>{let f=Rt.fromCartesian(this.limitHeightPrimitive._primitive._boundingSpheres[0].center);console.log("???",f);let m=Z.fromRadians(f.longitude,f.latitude,this.baseHeight),C=Z.fromRadians(f.longitude,f.latitude,this.baseHeight+o),E=Z.subtract(C,m,new Z);console.log("!!!!",this.limitHeightPrimitive._primitive.modelMatrix),this.limitHeightPrimitive._primitive.modelMatrix=Re.setTranslation(Re.IDENTITY,E,new Re),this.baseHeight=this.baseHeight+o}))};vW.prototype.removeFromMap=function(){this.limitHeightPrimitive&&(this._coreMap.scene.primitives.remove(this.limitHeightPrimitive),this.limitHeightPrimitive=void 0)};Object.defineProperties(vW.prototype,{});var SPe=vW;function Mdt(o){this._earthCtrl=o}Mdt.prototype.toDegrees=function(o){let A=Rt.fromCartesian(o);return{lon:Be.toDegrees(A.longitude),lat:Be.toDegrees(A.latitude),height:A.height}};var Pdt=Mdt;function Yk(o){this._viewer=o.coreMap,this._trans=new Pdt}Yk.prototype.addClipping=function(o,A={}){if(this.remove(),A.type==="polygon"){let f=A.positions,m=[];f.forEach(y=>{m.push(this._trans.toDegrees(y))}),m.push(m[0]);let C;A.isInner?C=this.isClockWise(m):C=!this.isClockWise(m),C&&m.reverse();let E=[],x=this.getInverseTransform(o);for(let y=0;y<m.length-1;y++){let I=this.createPlane(m[y],m[y+1],x);E.push(I)}o.clippingPlanes=new Wf({planes:E,unionClippingRegions:!A.isInner})}return this.item=o,this};Yk.prototype.getInverseTransform=function(o){let A,f=o.root.transform;return f&&f.equals(Re.IDENTITY)||!f?A=kr.eastNorthUpToFixedFrame(o.boundingSphere.center):A=Re.fromArray(o.root.transform),Re.inverseTransformation(A,new Re)};Yk.prototype.getOriginCoordinateSystemPoint=function(o,A){let f=Z.fromDegrees(o.lon,o.lat);return Re.multiplyByPoint(A,f,new Z(0,0,0))};Yk.prototype.createPlane=function(o,A,f){let m=this.getOriginCoordinateSystemPoint(o,f),C=this.getOriginCoordinateSystemPoint(A,f),E=new Z(0,0,1),x=Z.subtract(C,m,new Z),y=Z.cross(x,E,new Z);y=Z.normalize(y,y);let I=ca.fromPointNormal(m,y);return g0.fromPlane(I)};Yk.prototype.isClockWise=function(o){if(o.length<3)return null;o[0]===o[o.length-1]&&(o=o.slice(0,o.length-1));let A={i:-1,val:90};for(let I=0;I<o.length;I++){let{lat:v}=o[I];v<A.val&&(A.val=v,A.i=I)}let f=(A.i+o.length-1)%o.length,m=A.i,C=(A.i+1)%o.length,E={lat:o[m].lat-o[f].lat,lon:o[m].lon-o[f].lon},x={lat:o[C].lat-o[m].lat,lon:o[C].lon-o[m].lon},y=x.lon*E.lat-E.lon*x.lat;return y===0?o[C].lon<o[f].lon:y>0};Yk.prototype.remove=function(){this.item&&this.item.clippingPlanes&&this.item.clippingPlanes.removeAll(),this.item&&(this.item.clippingPlanes=void 0)};var DPe=Yk;var TPe;function MPe(o,A){this._viewer=o.coreMap,TPe=o.coreMap,this.createTerrainModifier(A.name,A.polygon,A.altitude)}MPe.prototype.findDirectParent=function(o){try{let A=[];if(o.width===Math.PI)return null;for(let f=0;f<TPe.scene.globe._surface._tilesToRender.length;f++){let m=TPe.scene.globe._surface._tilesToRender[f],C=m._rectangle;gi.intersection(C,o)&&A.push(m)}return A}catch(A){console.log(A)}return null};MPe.prototype.createTerrainModifier=function(o,A,f){let m=A.length,C=new Array(m);C.fill(f);let E=Rl(),x=Date.now(),y=gi.fromCartesianArray(A),I=this.findDirectParent(y);this._viewer.terrainProvider&&this._viewer.terrainProvider._modifyTerrainObjects===void 0&&(this._viewer.terrainProvider._modifyTerrainObjects=[]);let v=this._viewer,B={id:E,name:o,show:!0,rectangle:y,vertices:A,heights:C,timeStamp:x,remove:function(){if(v.terrainProvider&&v.terrainProvider._modifyTerrainObjects)for(let Q=v.terrainProvider._modifyTerrainObjects.length-1;Q>=0;Q--)v.terrainProvider._modifyTerrainObjects[Q].id===E&&v.terrainProvider._modifyTerrainObjects.splice(Q,1);if(I)try{for(let Q=0;Q<I.length;Q++)try{I[Q]._parent.freeResources()}catch(T){console.log(T)}}catch(Q){console.log(Q)}}};if(this._viewer.terrainProvider._modifyTerrainObjects.push(B),I)try{for(let Q=0;Q<I.length;Q++)try{I[Q]._parent.freeResources()}catch(T){console.log(T)}}catch(Q){console.log(Q)}return B};var PPe=MPe;var RPe=class{constructor(){this.minHeight=Number.MAX_VALUE,this.maxHeight=Number.MIN_VALUE,this.cutVolume=0,this.fillVolume=0,this.baseArea=0}},LPe=class{constructor(){this.minHeight=Number.MAX_VALUE,this.maxHeight=Number.MIN_VALUE,this.avgHeight=0,this.baseArea=0}};function vle(o,A){this._earthCtrl=o,this._viewer=o.coreMap,this.baseHeight=oe(A.baseHeight,0),this.options=A}vle.prototype.start=function(){let o=this.options.positions,A=this.options.countBase,f=this.options.basePositions,m=this.options.baseHeight,C=new RPe,E=[];o.forEach(Q=>{let T=Rt.fromCartesian(Q);this.baseHeight=Math.min(T.height,oe(m,this.baseHeight)),E.push(ms.wgs84ToWindowCoordinates(this._viewer.scene,Q))});let x=dUi(E),y=Ho.randomPoint(100,{bbox:[x[0],x[1],x[2],x[3]]}),I=fUi(E);Ho.voronoi(y,{bbox:[x[0],x[1],x[2],x[3]]}).features.forEach(Q=>{let T=gUi(I,Q.geometry);if(T.length>0){let w=this.computeCubeInfo(T);this.baseHeight>w.avgHeight?C.fillVolume+=(this.baseHeight-w.avgHeight)*C.baseArea:C.cutVolume+=(w.avgHeight-this.baseHeight)*C.baseArea,C.maxHeight=Math.max(C.maxHeight,w.maxHeight),C.minHeight=Math.min(C.minHeight,w.minHeight),C.baseArea+=w.baseArea}});let B=this.countBaseVolume(A,f,m);return B!==0&&(C.cutVolume+=B,C.fillVolume+=B),C};vle.prototype.countBaseVolume=function(o,A,f){let m=this;if(o){let C=[],E=[];for(let Q=0;Q<A.length;Q=Q+3){E.push(A[Q+2]);let T=Z.fromDegrees(A[Q],A[Q+1],f),w=Rt.fromCartesian(T);C.push(w)}C.push(C[0]);let x=Rdt(C);E.sort(function(Q,T){return Q-T});let y=E[0],I=E[E.length-1];return Number(I-y)*x/2}return 0};vle.prototype.computeCubeInfo=function(o){let A=this,f=[],m=Number.MAX_VALUE,C=Number.MIN_VALUE,E=0;o.forEach(function(I){let v=A._earthCtrl.coreMap.scene.camera.getPickRay(I),B=A._earthCtrl.coreMap.scene.globe.pick(v,A._earthCtrl.coreMap.scene),Q=Rt.fromCartesian(B);f.push(Q),m=Math.min(m,Q.height),C=Math.max(C,Q.height),E+=Q.height});let x=E/o.length,y=new LPe;return y.minHeight=m,y.maxHeight=C,y.avgHeight=x,y.baseArea=Rdt(f),y};function Rdt(o){let A=[0],f=[0],m=new dd,C=Math.PI/180;for(let x=0;x<o.length-1;x++){let y=o[x],I=o[x+1];m.setEndPoints(y,I);let v=Math.sqrt(Math.pow(m.surfaceDistance,2)),B=I.latitude*C,Q=I.longitude*C,T=y.latitude*C,w=y.longitude*C,S=-Math.atan2(Math.sin(Q-w)*Math.cos(T),Math.cos(B)*Math.sin(T)-Math.sin(B)*Math.cos(T)*Math.cos(Q-w));S<0&&(S+=Math.PI*2),f.push(Math.sin(S)*v+f[x]),A.push(Math.cos(S)*v+A[x])}let E=0;for(let x=0;x<A.length-1;x++)E+=A[x]*f[x+1]-A[x+1]*f[x];return Math.abs(E+A[A.length-1]*f[0]-A[0]*f[f.length-1])/2}function dUi(o){let A=[],f=Number.MAX_VALUE,m=Number.MIN_VALUE,C=Number.MAX_VALUE,E=Number.MIN_VALUE;return o.forEach(x=>{f=Math.min(f,x.x),m=Math.max(m,x.x),C=Math.min(C,x.y),E=Math.max(E,x.y)}),A.push(f),A.push(C),A.push(m),A.push(E),A}function fUi(o){let A=[[]];return o.forEach(m=>{A[0].push([m.x,m.y])}),A[0].push([o[0].x,o[0].y]),Ho.polygon(A).geometry}function gUi(o,A){let f=Ho.intersect(o,A);return f?.geometry!==void 0?pUi(f?.geometry):[]}function pUi(o){let A=[];return o.coordinates.forEach(function(f){f.forEach(function(m){A.push(new rt(m[0],m[1]))})}),A.push(new rt(o.coordinates[0][0][0],o.coordinates[0][0][1])),A}var Ble=vle;function RC(o,A){this._earthCtrl=o,this._viewer=o.coreMap,this._cesium=Di,this._scene=o.coreMap.scene,this._Tooltip=new PE(o),this.loadingImg=`${globalThis.GEOWORLD_BASE_URL}Workers/image/loading.gif`,this.tooltip=this._Tooltip.CreateTooltip(),this.FlattenIsDraw=!1,this.wallArr=[],this.hierarchy=[],this.tophierarchy=[],this.heightsort=[],this.FlattenPolygon=[],this.deepth=100,this.polygon=null,this.editPoint=[],this.nowPoint=null,this.editPosition=[],this.topPositions=null,this._volumeLabel=void 0,this._volumeLabel1=void 0,this._option=oe(A.option,{}),this._irregularCut=oe(A.irregularCut,!1),this.terrainFlatten=new bT(o.coreMap.scene),this.CreatePolygon(A.height,A.option,A.callback)}RC.prototype.CreatePolygon=function(o,A,f){if(this.FlattenIsDraw)return;this.drawHandler&&(this.drawHandler.destroy(),this.drawHandler=null),this.removeLabel(),this.addLoading(),this.FlattenIsDraw=!0;let m=this._viewer,C=this._cesium;this.deepth=o||this.deepth,this.removeFromMap(),!A&&(A={});let E=[],x=this.hierarchy,y=this.polygon,I,v=null,B=0,Q=this.heightsort,T=this.deepth,w=this.wallArr,S=this;this.drawHandler=new C.ScreenSpaceEventHandler(m.scene.canvas),m.scene.globe.depthTestAgainstTerrain=!0;let D=this.tooltip,R;this._viewer.container.style.cursor=`url(${window.SmartEarthRootUrl} 'Assets/image/cursor/draw.cur')`,this.drawHandler.setInputAction(function(k){if(I=M(k.position),!I)return;let N=C.Cartographic.fromCartesian(I),G=C.Math.toDegrees(N.longitude),J=C.Math.toDegrees(N.latitude),K=N.height;E.push(I),x.push(G,J,N.height),S.tophierarchy.push(G,J,K),B===0?(E.push(I),x.push(G,J,N.height),R=m.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new C.CallbackProperty(()=>E,!1),clampToGround:!0,material:new C.ColorMaterialProperty(C.Color.YELLOW.withAlpha(.3)),width:3}})):B===1&&(R&&m.entities.remove(R),y=m.entities.add({name:null,id:S._earthCtrl.factory.createUUID(),polygon:{hierarchy:new C.PolygonHierarchy(C.Cartesian3.fromDegreesArrayHeights(x)),material:C.Color.YELLOW.withAlpha(.3)}}),y.polygon.hierarchy=new C.CallbackProperty(P,!1)),B++},C.ScreenSpaceEventType.LEFT_CLICK),this.drawHandler.setInputAction(function(k){if(B===0){D.showAt(k.endPosition,"\u5DE6\u952E\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236\u70B9");return}else B===1?D.showAt(k.endPosition,"\u70B9\u51FB\u6DFB\u52A0\u7B2C\u4E8C\u4E2A\u70B9"):D.showAt(k.endPosition,"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236");if(I=M(k.endPosition),!I)return;let N=C.Cartographic.fromCartesian(I),G=C.Math.toDegrees(N.longitude),J=C.Math.toDegrees(N.latitude);x.splice(x.length-3,3),E.splice(E.length-1,1),E.push(I),x.push(G,J,N.height)},C.ScreenSpaceEventType.MOUSE_MOVE),this.drawHandler.setInputAction(function(k){this.end&&this.end()}.bind(this),C.ScreenSpaceEventType.RIGHT_CLICK),this.end=k=>{if(D.show(!1),S._viewer.container.style.cursor="default",S.drawHandler.destroy(),R&&m.entities.remove(R),y&&m.entities.remove(y),this.FlattenIsDraw=!1,this.end=void 0,k==="cancel"||E.length<3)return;if(B<2){B=0;return}B=0;for(let ee=2;ee<x.length;ee=ee+3)Q.push(x[ee]);Q.sort(function(ee,ie){return ee-ie}),y=m.entities.add({name:null,id:S._earthCtrl.factory.createUUID(),polygon:{hierarchy:new C.CallbackProperty(function(){return new C.PolygonHierarchy(C.Cartesian3.fromDegreesArrayHeights(x))},!1),material:new C.ImageMaterialProperty({image:C.defaultValue(A.bottomImgUrl,`${window.SmartEarthRootUrl}Workers/image/bottomplane.jpg`),repeat:new C.Cartesian2(1,1)})}}),E.push(E[0]);let N,G,J,K,X,q;for(let ee=0;ee<E.length-1;ee++){N=C.Cartographic.fromCartesian(E[ee]),G=C.Cartographic.fromCartesian(E[ee+1]),J=C.Math.toDegrees(N.longitude),X=C.Math.toDegrees(N.latitude),K=C.Math.toDegrees(G.longitude),q=C.Math.toDegrees(G.latitude),v?v=v>G.height?G.height:v:v=N.height>G.height?G.height:N.height;let ie=S.getPoint(J,X,K,q,N.height,G.height),H=[],le=[];S.getHeightsFromLonLat(ie.positions,function(ue){if(ue){H=ue;for(let Ae=0;Ae<H.length;Ae++)le.push(S.heightsort[0]-S.deepth);S.drawwall(ie.wallJwd,H,le)}})}y.polygon.height=Q[0]-T,this.FlattenPolygon.push(y),this.originHeight=Q[0],L(E),this.topPositions=E,typeof f=="function"&&f(E)};function P(){return new C.PolygonHierarchy(C.Cartesian3.fromDegreesArrayHeights(x))}function M(k){let N;if(m.scene.terrainProvider.constructor.name==="EllipsoidTerrainProvider")N=m.camera.pickEllipsoid(k,m.scene.globe.ellipsoid);else{let J=m.scene.camera.getPickRay(k);N=m.scene.globe.pick(J,m.scene)}if(m.scene.pick(k)){let J=m.scene.pickPosition(k);if(J){N=J;let K=C.Cartographic.fromCartesian(N),X=m.scene.globe.getHeight(K);K.height=X,N=C.Cartographic.toCartesian(K)}}return N}function L(k){let N=m.scene.globe,G=k.concat();G.splice(G.length-1,1);for(let K=0;K<G.length-1;K++)G[K].x===G[K+1].x&&G[K].y===G[K+1].y&&(G.splice(K,1),K--);let J=G.length;if(F(G)&&G.reverse(),S._irregularCut){S.terrainFlatten.clearPolygon();let K=[],X=m.scene.globe.ellipsoid;for(let q=0;q<G.length;q++){let ee=X.cartesianToCartographic(G[q]),ie=C.Math.toDegrees(ee.longitude),H=C.Math.toDegrees(ee.latitude),le=ee.height;K.push(ie,H,le)}S.terrainFlatten.addPolygon(K),S.terrainFlatten.update(),S.terrainFlatten.clipPlaneOfFlatten=!0}else{let K=[];for(let X=0;X<J;++X){let q=(X+1)%J,ee=C.Cartesian3.add(G[X],G[q],new C.Cartesian3);ee=C.Cartesian3.multiplyByScalar(ee,.5,ee);let ie=C.Cartesian3.normalize(ee,new C.Cartesian3),H=C.Cartesian3.subtract(G[q],ee,new C.Cartesian3);H=C.Cartesian3.normalize(H,H);let le=C.Cartesian3.cross(H,ie,new C.Cartesian3);le=C.Cartesian3.normalize(le,le);let ue=new C.Plane(le,0),Ae=C.Plane.getPointDistance(ue,ee);K.push(new C.ClippingPlane(le,Ae))}N.clippingPlanes=new C.ClippingPlaneCollection({planes:K})}}function F(k){if(k.length>=3)return!((k[1].x-k[0].x)*(k[2].y-k[1].y)-(k[1].y-k[0].y)*(k[2].x-k[1].x)>0)}return this};RC.prototype.getPoint=function(o,A,f,m,C,E){let x=this,y=160,I=Be.lerp(o,f,1/y)-o,v=Be.lerp(A,m,1/y)-A,B=[],Q=[],T=[],w;B.push(o,A),w=Z.fromDegrees(o,A),Q.push(Rt.fromCartesian(w));for(let S=0;S<y;S++){let D=o+(S+1)*I,R=A+(S+1)*v;B.push(D,R),w=Z.fromDegrees(D,R),Q.push(Rt.fromCartesian(w))}return B.push(f,m),w=Z.fromDegrees(f,m),Q.push(Rt.fromCartesian(w)),{wallJwd:B,positions:Q}};RC.prototype.getHeightsFromLonLat=function(o,A){let f=this._viewer,m=f.camera,C=[];if(this.isHaveTerrain(f))if(O(f.terrainProvider.availability)){let E=Tw(f.terrainProvider,o);Promise.resolve(E).then(function(x){x.forEach(function(y){C.push(y.height)}),typeof A=="function"&&A(C)})}else o.forEach(function(E){let x=f.scene.globe.getHeight(E);C.push(x)}),typeof A=="function"&&A(C);else o.forEach(function(E){C.push(f.scene.globe.getHeight(E))}),typeof A=="function"&&A(C)};RC.prototype.isHaveTerrain=function(){return!!(this._viewer.scene&&this._viewer.scene.terrainProvider&&this._viewer.scene.terrainProvider._layers)};RC.prototype.drawwall=function(o,A,f){let m=this,C=m._viewer.entities.add({wall:{positions:new Hr(function(){return Z.fromDegreesArray(o)},!1),maximumHeights:A,minimumHeights:f}}),E=C.wall;E.material=new Yd({image:oe(m._option.wallImgUrl,`${window.SmartEarthRootUrl}Workers/image/dzmc.jpg`),repeat:new rt(1,1)}),m.wallArr.push(C)};RC.prototype.setDeepth=function(o){this.FlattenPolygon[0]&&this.FlattenPolygon[0].polygon.height.setValue(this.originHeight-o),this.wallArr.forEach(A=>{let f=A.wall.minimumHeights.getValue();f=Array(f.length),f.fill(this.originHeight-o),A.wall.minimumHeights.setValue(f)})};RC.prototype.edit=function(o){let A=this,f=A.editPoint,m=A.nowPoint;if(A._earthCtrl.coreMap.scene.globe.depthTestAgainstTerrain=!1,m){for(let x of A.editPoint)x&&(x.show=!0);A.update(m,f,o);return}for(let x=2;x<A.hierarchy.length;x=x+3)A.hierarchy[x]=A.originHeight-A.deepth;A.FlattenPolygon[0]&&A._viewer.entities.remove(A.FlattenPolygon[0]),A.FlattenPolygon=[];let C=this._viewer.entities.add({name:null,id:A._earthCtrl.factory.createUUID(),polygon:{hierarchy:new yn(Z.fromDegreesArrayHeights(A.hierarchy)),material:new Yd({image:oe(A._option.bottomImgUrl,`${window.SmartEarthRootUrl}Workers/image/bottomplane.jpg`),repeat:new rt(1,1)}),perPositionHeight:!0}});A.FlattenPolygon.push(C);let E=A.FlattenPolygon[0].polygon.hierarchy.getValue();for(let x of E.positions){let y=this._viewer.entities.add({id:A._earthCtrl.factory.createUUID(),position:x,point:{color:Ve.WHITE,pixelSize:12,outlineColor:Ve.BLACK,outlineWidth:1}});f.push(y)}A._earthCtrl.measure.pickObject(null,function(x){let y=x.pickedObject.id;for(let I of f)if(y.id===I.id){A.nowPoint=I,A.update(I,f,o);return}})};RC.prototype.endEdit=function(){let o=this;if(o._earthCtrl.coreMap.scene.globe.depthTestAgainstTerrain=!0,o.editPoint.length>0)for(let A of o.editPoint)A&&(A.show=!1)};RC.prototype.excavationAndFill=function(){this.removeLabel();let o=this;this.endEdit(),o.topPositions&&(this.isLoading(!0),setTimeout(()=>{let A=null,f=null,m=!1;if(o.editPosition.length>0){let y=[];f=[];for(let I=0;I<o.editPosition.length-1;I++){let v=Rt.fromCartesian(o.editPosition[I]),B=Be.toDegrees(v.longitude),Q=Be.toDegrees(v.latitude),T=v.height;y.push(T),f.push(B,Q,T)}y.sort(function(I,v){return v-I}),A=y[0],m=!0}else A=o.heightsort[0]-o.deepth;let E=new Ble(o._earthCtrl,{positions:o.topPositions,baseHeight:A,basePositions:f,countBase:m}).start(),x=o.computeCentroidOfPolygon(o.topPositions);this._volumeLabel=this._viewer.entities.add({position:Z.fromRadians(x.longitude,x.latitude,o.heightsort[o.heightsort.length-1]),label:{text:`\u6316\u65B9\u4F53\u79EF\uFF1A${E.cutVolume}\u7ACB\u65B9\u7C73`,pixelOffset:{x:0,y:-30},font:"16px \u5B8B\u4F53",fillColor:Ve.GOLD,verticalOrigin:hn.BOTTOM,showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),this._volumeLabel1=this._viewer.entities.add({position:Z.fromRadians(x.longitude,x.latitude,o.heightsort[o.heightsort.length-1]),label:{text:`\u586B\u65B9\u4F53\u79EF\uFF1A${E.fillVolume}\u7ACB\u65B9\u7C73`,pixelOffset:{x:0,y:-70},font:"16px \u5B8B\u4F53",fillColor:Ve.GOLD,verticalOrigin:hn.BOTTOM,showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),this.isLoading(!1),console.log(E.result)},100))};RC.prototype.computeCentroidOfPolygon=function(o){let A=[],f=[],m=0,C=0;for(let y=0;y<o.length;y++){let I=Rt.fromCartesian(o[y]);m+=I.longitude,C+=I.latitude,A.push(I.longitude),f.push(I.latitude)}let E=0,x=0;return E=m/o.length,x=C/o.length,new Rt(E,x)};RC.prototype.addLoading=function(){let o=document.createElement("div");o.id="cesiumLoading",o.style.cssText="width: 100%;height: 100%;display:none;pointer-events: none;position: absolute;top: 0;left: 0;-moz-box-sizing: border-box;box-sizing: border-box;background-color: unset;z-index: 99999;";let A=document.createElement("img");A.style.cssText="position: relative;width: 110px;height: 110px;margin: auto;top: 50%;left: 50%;margin-top: -55px;margin-left: -55px;",A.src=this.loadingImg,o.appendChild(A),this.loading=o,this._viewer.container.appendChild(o)};RC.prototype.isLoading=function(o){o?this.loading.style.display="block":this.loading.style.display="none"};RC.prototype.update=function(o,A,f){let m=this,C=o.position.getValue(),x=m._scene.globe.ellipsoid.cartesianToCartographic(C),y=Be.toDegrees(x.longitude),I=Be.toDegrees(x.latitude),v=x.height;o.position.setValue(Z.fromDegrees(y,I,v+f)),m.editPoint=A,m.editPosition=[];let B=[];for(let T of A){let w=T.position.getValue();B.push(w),m.editPosition.push(w)}m.FlattenPolygon[0].polygon.hierarchy=new Hr(function(){return new yn(B)},!0);let Q=m.editPosition;Q.push(Q[0]);for(let T=0;T<Q.length-1;T++){let S=[];for(let D=0;D<=160;D++){let R=Z.lerp(Q[T],Q[T+1],D/160,new Z),P=Rt.fromCartesian(R);S.push(P.height)}m.wallArr[T].wall.minimumHeights.setValue(S)}};RC.prototype.removeFromMap=function(){this.endEdit(),this._earthCtrl.tools.clearTool(),this.editPoint=[],this.nowPoint=null;let o=this._viewer;if(this.wallArr.length>0){for(let A=0;A<this.wallArr.length;A++)o.entities.remove(this.wallArr[A]);this.wallArr=[]}o.scene.globe.clippingPlanes&&o.scene.globe.clippingPlanes.removeAll(),this.FlattenPolygon&&this.FlattenPolygon.length>0&&(this.FlattenPolygon.forEach(function(A){o.entities.remove(A)}),this.FlattenPolygon=[]),this.FlattenIsDraw=!1,this.removeLabel(),this.terrainFlatten&&this.terrainFlatten.clearPolygon()};RC.prototype.removeLabel=function(){this._volumeLabel!==void 0&&(this._viewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._volumeLabel1!==void 0&&(this._viewer.entities.remove(this._volumeLabel1),this._volumeLabel1=void 0)};var FPe=RC;function _p(o,A){this._earthCtrl=o,this._viewer=o.coreMap,this._scene=o.coreMap.scene,this.options=oe(A,{}),this._Tooltip=new PE(o),this._tooltip=this._Tooltip.CreateTooltip(),this._drawColor={point:oe(this.options.drawColor?.point,Ve.BLUE),polyline:oe(this.options.drawColor?.polyline,Ve.YELLOW),polygon:oe(this.options.drawColor?.point,Ve.YELLOW.withAlpha(.5))},this.selectDatum=!0,this.onlyTerrain=!0,this.tin=!1,this._volumeTin=[],this.loadingImg=`${globalThis.GEOWORLD_BASE_URL}Workers/image/loading.gif`}_p.prototype.removeFromMap=function(){this._prevEntity!==void 0&&(this._viewer.entities.remove(this._prevEntity),this._prevEntity=void 0),this._prevEntity1!==void 0&&(this._viewer.entities.remove(this._prevEntity1),this._prevEntity1=void 0),this._volumeLabel!==void 0&&(this._viewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._volumeLabel1!==void 0&&(this._viewer.entities.remove(this._volumeLabel1),this._volumeLabel1=void 0),this._volumeTin.forEach(o=>{this._viewer.entities.remove(o)}),this._volumeTin=[],this.addPointHandle&&(this.addPointHandle.destroy(),this.addPointHandle=void 0),this.Triangulation=[],this.tinData=void 0,this._tooltip.show(!1)};_p.prototype.deleteObject=_p.prototype.removeFromMap;_p.prototype.startDrawing=function(o={},A="auto",f){let m=this._scene,C=this._tooltip,E=3,x=[],y=[],I=[],v;this._positions=y,this._degreesArr=I,this._drawColor.point=o.point||this._drawColor.point,this._drawColor.polyline=o.polyline||this._drawColor.polyline,this._drawColor.polygon=o.polygon||this._drawColor.polygon,this.loadingImg=o.loading||this.loadingImg,this.tin=oe(o.tin,!0),this.onlyTerrain=oe(o.onlyTerrain,!1),this.selectDatum=oe(o.selectDatum,!0);let B=this;this._mouseHandler&&this._mouseHandler.destroy(),this.loading||this.addLoading();let Q=new cr(m.canvas);this._mouseHandler=Q,this.removeFromMap(),this._viewer.container.style.cursor=`url(${globalThis.GEOWORLD_BASE_URL} 'Assets/image/cursor/draw.cur')`;let T;Q.setInputAction(function(S){if(S.position!==null){let D=m.camera.getPickRay(S.position),R=m.globe.pick(D,m);if(this._viewer.scene.pick(S.position)){let M=this._viewer.scene.pickPosition(S.position);M&&(R=M)}if(R){let M=Rt.fromCartesian(R),L=Be.toDegrees(M.longitude),F=Be.toDegrees(M.latitude);if(x.length===0&&(x.push(L,F),I.push([L,F]),y.push(R),v=R),y.length>=4){let k=ms.wgs84ToWindowCoordinates(this._viewer.scene,v);if(k!==void 0){let N=k.x-S.position.x,G=k.y-S.position.y;if(N*N+G*G<16){x.splice(x.length-2,2),y.pop(),this.stopDrawing(f);return}}}x.push(L,F),I.push([L,F]),y.push(R),y.length===2&&!T&&(T=this._viewer.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new Hr(function(){return y},!1),clampToGround:!0,material:B._drawColor.polygon,width:3}})),y.length===E&&(T&&this._viewer.entities.remove(T),this._prevEntity=this._viewer.entities.add({polygon:{hierarchy:new yn(Z.fromDegreesArray(x)),material:B._drawColor.polygon,fill:!0}}),this._prevEntity.polygon.hierarchy=new Hr(w,!1))}}}.bind(this),si.LEFT_CLICK),Q.setInputAction(function(S){let D=S.endPosition;if(D!==null)if(y.length===0)C.showAt(D,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236\u7B2C\u4E00\u4E2A\u70B9");else{let R=m.camera.getPickRay(D),P=m.globe.pick(R,m),M=this._viewer.scene.pick(D),L=!1;if(M){let F=this._viewer.scene.pickPosition(D);F&&(P=F),L=!0}if(P){let F=Rt.fromCartesian(P),k=Be.toDegrees(F.longitude),N=Be.toDegrees(F.latitude);if(x.splice(x.length-2,2),I.pop(),y.pop(),x.push(k,N),I.push([k,N]),y.push(P),C.showAt(D,"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236"),y.length>=3&&y.length>=4){let G=ms.wgs84ToWindowCoordinates(this._viewer.scene,v);if(G!==void 0){let J=G.x-D.x,K=G.y-D.y;J*J+K*K<16?document.body.style.cursor="pointer":document.body.style.cursor="default"}}}}}.bind(this),si.MOUSE_MOVE),Q.setInputAction(function(S){this.end&&this.end()}.bind(this),si.RIGHT_CLICK);function w(){return new yn(Z.fromDegreesArray(x))}return this.end=S=>{if(this._mouseHandler!==void 0&&(this._mouseHandler.destroy(),this._mouseHandler=void 0),B._viewer.container.style.cursor="default",this._tooltip.show(!1),T&&this._viewer.entities.remove(T),this.end=void 0,!(y.length<E)){if(this._prevEntity&&(this._prevEntity.polygon.hierarchy=Z.fromDegreesArray(x)),S==="cancel"){this._prevEntity&&this._viewer.entities.remove(this._prevEntity);return}this.stopDrawing(A,f)}},this};_p.prototype.stopDrawing=function(o,A){this._mouseHandler!==void 0&&(this._mouseHandler.destroy(),this._mouseHandler=void 0),this._volumeLabel!==void 0&&(this._viewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._volumeLabel1!==void 0&&(this._viewer.entities.remove(this._volumeLabel1),this._volumeLabel1=void 0),this._volumeTin.forEach(f=>{this._viewer.entities.remove(f)}),this._volumeTin=[],this.isLoading(!0),setTimeout(()=>{let f=this.computeCutVolume(o,this.onlyTerrain),m=C=>{let E=C.maxHeight,x=C.minHeight;this._prevEntity.polygon.height=C.minHeight,this._prevEntity.polygon.heightReference=0;let y={id:this._earthCtrl.factory.createUUID(),polygon:{hierarchy:{positions:this._positions},height:x,extrudedHeight:E,closeTop:!1,closeBottom:!1,material:Ve.CYAN.withAlpha(.2),outline:!0,outlineColor:Ve.RED,outlineWidth:2}};if(this._prevEntity1=this._viewer.entities.add(y),typeof A=="function"&&A(C),this.selectDatum){let I=()=>{this.addPoint(v=>{this.setDatum(v,B=>{typeof A=="function"&&A({...C,...B}),I()})})};I()}};this.onlyTerrain?f.then(C=>{m(C)}):m(f)},100)};_p.prototype.computeCentroidOfPolygon=function(o){let A=[],f=[],m=0,C=0;for(let y=0;y<o.length;y++){let I=Rt.fromCartesian(o[y]);m+=I.longitude,C+=I.latitude,A.push(I.longitude),f.push(I.latitude)}let E=0,x=0;return E=m/o.length,x=C/o.length,new Rt(E,x)};_p.prototype.computeCutVolume=function(o,A){let f=this,m=15e3,C=-15e3;o==="auto"&&(o=hi.fromPoints(this._positions).radius/20);let E=this.getPointsInPolygon(this._degreesArr,o,!0),x=Ho.polygon([this._degreesArr]),y=()=>{let{tin:I}=this.tinFromPoints(E,{getArea:!0,polygon:x});this.tinData=I;let v={fill:0,dig:0},B={fill:"\u7ACB\u65B9\u7C73",dig:"\u7ACB\u65B9\u7C73"},Q,T,w,S,D,R={fill:1,dig:1};this.Triangulation=[],I.features.forEach(M=>{if(M.positions){if(this.tin){let F=this._viewer.entities.add({polygon:{hierarchy:new yn(M.positions),material:this._drawColor.polygon,perPositionHeight:!0,outline:!0,outlineColor:Ve.YELLOW}});this._volumeTin.push(F)}let L=M.geometry.coordinates[0];Q=L[0][2],T=L[1][2],w=L[2][2],D=M.area,this.Triangulation.push({bottomArea:D,height:[Q,T,w]}),S=(Q-m+T-m+w-m)/3,S>0?v.dig=v.dig+D*S*R.dig:v.fill=v.fill-D*S*R.fill,v.dig>1e10&&B.dig==="\u7ACB\u65B9\u7C73"&&(v.dig=v.dig/1e9,B.dig="\u7ACB\u65B9\u5343\u7C73",R.dig=1e-9),v.fill>1e10&&B.fill==="\u7ACB\u65B9\u7C73"&&(v.fill=v.fill/1e9,B.fill="\u7ACB\u65B9\u5343\u7C73",R.fill=1e-9)}});let P=this.computeCentroidOfPolygon(this._positions);return this._volumeLabel=this._viewer.entities.add({position:Z.fromRadians(P.longitude,P.latitude,C),label:{text:`\u6316\u65B9\u4F53\u79EF\uFF1A${v.dig.toFixed(4)}${B.dig}`,pixelOffset:{x:0,y:-30},font:"16px \u5B8B\u4F53",fillColor:Ve.GOLD,verticalOrigin:hn.BOTTOM,showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),this._volumeLabel1=this._viewer.entities.add({position:Z.fromRadians(P.longitude,P.latitude,C),label:{text:`\u586B\u65B9\u4F53\u79EF\uFF1A${v.fill.toFixed(4)}${B.fill}`,pixelOffset:{x:0,y:-70},font:"16px \u5B8B\u4F53",fillColor:Ve.GOLD,verticalOrigin:hn.BOTTOM,showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),this.isLoading(!1),{maxHeight:C,minHeight:m,volume:v,unit:B,spacing:o}};if(A){let I=[];return E.features.forEach(B=>{let Q=B.geometry.coordinates;I.push(Rt.fromDegrees(Q[0],Q[1]))}),Tw(this._viewer.scene.globe.terrainProvider,I).then(B=>(E.features.forEach((Q,T)=>{let w=Q.geometry.coordinates;w[2]=B[T]&&B[T].height?B[T].height:0,C<w[2]&&(C=w[2]),m>w[2]&&(m=w[2])}),y()))}return E.features.forEach(I=>{let v=I.geometry.coordinates,B=new Rt(Be.toRadians(v[0]),Be.toRadians(v[1]));v[2]=this._viewer.scene.sampleHeight(B)||0,C<v[2]&&(C=v[2]),m>v[2]&&(m=v[2])}),y()};_p.prototype.addLoading=function(){let o=document.createElement("div");o.id="cesiumLoading",o.style.cssText="width: 100%;height: 100%;display:none;pointer-events: none;position: absolute;top: 0;left: 0;-moz-box-sizing: border-box;box-sizing: border-box;background-color: unset;z-index: 99999;";let A=document.createElement("img");A.style.cssText="position: relative;width: 110px;height: 110px;margin: auto;top: 50%;left: 50%;margin-top: -55px;margin-left: -55px;",A.src=this.loadingImg,o.appendChild(A),this.loading=o,this._viewer.container.appendChild(o)};_p.prototype.isLoading=function(o){o?this.loading.style.display="block":this.loading.style.display="none"};_p.prototype.removeLoading=function(){this.loading&&this.loading.remove(),this.loading=void 0};_p.prototype.addPoint=function(o){this.addPointHandle&&(this.addPointHandle.destroy(),this.addPointHandle=null),this._prevEntity1&&(this.addPointHandle=new cr(this._viewer.scene.canvas),this.addPointHandle.setInputAction(function(A){let f=this._viewer.scene.pick(A.position);if(f&&f.id&&f.id.id===this._prevEntity1.id){let m=this._viewer.scene.pickPosition(A.position);if(m){let C=Rt.fromCartesian(m);this.addPointHandle.destroy(),this.addPointHandle=null,o&&typeof o=="function"&&o(C.height.toFixed(1))}}}.bind(this),si.LEFT_CLICK),this.addPointHandle.setInputAction(function(A){let f=this._viewer.scene.pick(A.endPosition);f&&f.id&&f.id.id===this._prevEntity1.id?this._tooltip.showAt(A.endPosition,"\u70B9\u51FB\u4FEE\u6539\u57FA\u51C6\u9762\u9AD8\u5EA6"):this._tooltip.show(!1)}.bind(this),si.MOUSE_MOVE))};_p.prototype.showTin=function(o){this.tin=o,this._volumeTin.forEach(A=>{this._viewer.entities.remove(A)}),this._volumeTin=[],o&&this.tinData&&this.tinData.features.forEach(A=>{if(A.positions){let f=this._viewer.entities.add({polygon:{hierarchy:new yn(A.positions),material:this._drawColor.polygon,perPositionHeight:!0,outline:!0,outlineColor:Ve.YELLOW}});this._volumeTin.push(f)}})};_p.prototype.setDatum=function(o,A){if(this.Triangulation&&this.Triangulation.length>0){let f,m,C,E={fill:0,dig:0},x={fill:"\u7ACB\u65B9\u7C73",dig:"\u7ACB\u65B9\u7C73"},y={fill:1,dig:1};this.Triangulation.forEach(function(I){f=I.bottomArea,m=I.height,C=(m[0]-o+m[1]-o+m[2]-o)/3,C>0?E.dig=E.dig+f*C*y.dig:E.fill=E.fill-f*C*y.fill,E.dig>1e10&&x.dig==="\u7ACB\u65B9\u7C73"&&(E.dig=E.dig/1e9,x.dig="\u7ACB\u65B9\u5343\u7C73",y.dig=1e-9),E.fill>1e10&&x.fill==="\u7ACB\u65B9\u7C73"&&(E.fill=E.fill/1e9,x.fill="\u7ACB\u65B9\u5343\u7C73",y.fill=1e-9)}),this._volumeLabel.label.text=`\u6316\u65B9\u4F53\u79EF\uFF1A${E.dig.toFixed(4)}${x.dig}`,this._volumeLabel1.label.text=`\u586B\u65B9\u4F53\u79EF\uFF1A${E.fill.toFixed(4)}${x.fill}`,this._prevEntity.polygon.height=o,A&&typeof A=="function"&&A({volume:E,unit:x})}};_p.prototype.getPointsInPolygon=function(o,A=50,f=!0){if(o.length<3)return;o.push(o[0]);let m=Ho.lineString(o),C=Ho.bbox(m),E=Ho.pointGrid(C,A,{units:"meters"}),x=Ho.polygon([o]),y=Ho.pointsWithinPolygon(E,x);if(f)for(let I=0;I<o.length-1;I++){let v=Ho.lineString([o[I],o[I+1]]),B={units:"meters"},Q=Ho.length(v,B),T;for(let w=A;;w+=A)if(w<=Q)T=Ho.along(v,w,B),y.features.push(T);else{T=Ho.along(v,Q,B),y.features.push(T);break}}return y};_p.prototype.tinFromPoints=function(o,A={}){let{polygon:f,getArea:m}=A,C=Ho.tin(o),E=0;return C&&C.features&&C.features.forEach(x=>{let y=!0;if(f){let I=Ho.centerOfMass(x);y=Ho.booleanPointInPolygon(I,f)}if(y){let I=x.geometry.coordinates[0],v=[],B=[];for(let Q=0;Q<3;Q++)v.push([I[Q][0],I[Q][1]]),B.push(Z.fromDegrees(I[Q][0],I[Q][1],I[Q][2]));x.positions=B,m&&(x.area=this.getArea(v,B,!0),E+=x.area)}}),{tin:C,area:E}};_p.prototype.getArea=function(o,A,f){if(o.length<3)return;o.push(o[0]);let m=o,C=0,E=Ho.polygon([m]),x;m.length===4?x=[E]:x=Ho.tesselate(E).features;let y,I,v,B;return x.forEach(Q=>{y=Q.geometry.coordinates[0],I=m.findIndex(R=>R.toString()===y[0].toString()),v=m.findIndex(R=>R.toString()===y[1].toString()),B=m.findIndex(R=>R.toString()===y[2].toString());let T=this.getdistance(A[I],A[v]),w=this.getdistance(A[v],A[B]),S=this.getdistance(A[I],A[B]),D=(T+w+S)/2;C+=Math.sqrt(D*((D-T)*(D-w)*(D-S)))}),f||(C<1e6?C=`${C.toFixed(2)}\u5E73\u65B9\u7C73`:C=`${(C/1e6).toFixed(2)}\u5E73\u65B9\u5343\u7C73`),C};_p.prototype.getdistance=function(o,A){let f=Rt.fromCartesian(o),m=Rt.fromCartesian(A),C=new dd;C.setEndPoints(f,m);let E=C.surfaceDistance;return E=Math.sqrt(Math.pow(E,2)+Math.pow(m.height-f.height,2)),E};var Ldt=_p;function NPe(o){this.mEarthCtrl=o,this._polylines=[],this._resPolylines=[],this._points=[],this.entities=this.mEarthCtrl.entities,this.camera=this.mEarthCtrl.coreMap.camera,this.scene=this.mEarthCtrl.coreMap.scene}NPe.prototype.createLineOfSight=function(o){let A=[],f=this,m=[],C=[],E={polyline:[]};f.objectsToExclude=null;let x,y=function(){function T(w){this.options={polyline:{show:!0,positions:[],material:Ve.YELLOW,width:3,clampToGround:!1}},this.positionsp=w,this._init()}return T.prototype._init=function(){let w=this,S=function(){return w.positionsp};this.options.polyline.positions=new Hr(S,!1),this.polyline=f.entities.add(this.options),f.item=this.polyline,C.push(this.polyline)},T}(),I=new cr(f.scene.canvas),v=[],B;if(this._points.length>0)for(let T=0;T<this._points.length;T++)this.entities.remove(this._points[T]);let Q=[];return I.setInputAction(function(T){let w,S=new Z(0,0,0);if(new Za(f.mEarthCtrl).pickVector(T.position,S)&&(w=S),!!w)if(v.length===0){v.push(w.clone(),w.clone());let R={leftX:T.position.x,leftY:T.position.y};Q.push(R),x=w.clone()}else{let R={rightX:T.position.x,rightY:T.position.y};Q.push(R);let P={postion:v,entity:C,cartesian:Q};m.push(P),Q=[],B=void 0,v=[],v.push(x.clone()),v.push(x.clone()),B=new y(v),A.push(B)}},si.LEFT_CLICK),I.setInputAction(function(T){let w,S=f.camera.getPickRay(T.endPosition);if(w=f.scene.globe.pick(S,f.scene),f.scene.pick(T.endPosition)){let R=f.scene.pickPosition(T.endPosition);R&&(w=R)}!w||v.length>=2&&(O(B)?w!==void 0&&(v.pop(),v.push(w)):(B=new y(v),A.push(B)))},si.MOUSE_MOVE),I.setInputAction(function(T){let w=f.entities.add(new nc);f.objectsToExclude=[w];let S=!0;for(let D=0;D<m.length;D++)D===0?S=f.tsjx(m[0].postion[0],m[0].postion[1]):S=f.tsjx(m[D].postion[0],m[D].postion[1]);v.pop(),f._polylines=E.polyline,I.destroy();for(let D=0;D<C.length;D++)f.entities.remove(C[D]);O(o)&&typeof o=="function"&&o(E)},si.RIGHT_CLICK),this};NPe.prototype.tsjx=function(o,A){let f=this,m=Z.normalize(Z.subtract(A,o,new Z),new Z),C=new Ua(o,m),E=f.scene.globe.pick(C,f.scene);E!=null?(x(E,o,Ve.GREEN),x(E,A,Ve.RED)):x(o,A,Ve.GREEN);function x(y,I,v){let B=f.entities.add({polyline:{positions:[y,I],width:1,material:v,depthFailMaterial:v}});f._resPolylines.push(B)}return!1};NPe.prototype.deleteObject=function(){if(this._points.length>0){this.objectsToExclude=null;for(let o=0;o<this._points.length;o++)this.entities.remove(this._points[o])}if(this._resPolylines.length>0){for(let o=0;o<this._resPolylines.length;o++)this.entities.remove(this._resPolylines[o]);this._resPolylines=[]}};function kc(o,A={}){this._earthCtrl=o,this._viewer=o.coreMap,this._scene=o.coreMap.scene,this.options=oe(A,{}),this._Tooltip=new PE(o),this._tooltip=this._Tooltip.CreateTooltip(),this._drawColor={point:oe(this.options.drawColor?.point,Ve.BLUE),polyline:oe(this.options.drawColor?.polyline,Ve.YELLOW),polygon:oe(this.options.drawColor?.polygon,Ve.YELLOW.withAlpha(.5))},this.selectDatum=!0,this.onlyTerrain=!0,this.tin=!1,this._volumeTin=[],this.loadingImg=`${globalThis.GEOWORLD_BASE_URL}Workers/image/loading.gif`,this.wallArr=[],this.FlattenPolygon=[],this._Apositions=[],this._heightsort=null,this._deepth=100,this._positions=[],this._modelArr=oe(A.modelArr,[]),this._isFlattening=oe(A.isFlattening,!0),this.modelCuttingPolygon=null,this.wallImgUrl=oe(A.wallImgUrl,null),this.bottomImgUrl=oe(A.bottomImgUrl,null),this.calculate=oe(A.calculate,!0),this._Loading=oe(A.loading,!0),this.editPoint=[],this.nowPoint=null,this.hierarchy=[],this._originHeight=null}kc.prototype.removeMeasureFromMap=function(){this._prevEntity!==void 0&&(this._viewer.entities.remove(this._prevEntity),this._prevEntity=void 0),this._prevEntity1!==void 0&&(this._viewer.entities.remove(this._prevEntity1),this._prevEntity1=void 0),this._volumeLabel!==void 0&&(this._viewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._volumeLabel1!==void 0&&(this._viewer.entities.remove(this._volumeLabel1),this._volumeLabel1=void 0),this._volumeTin.forEach(o=>{this._viewer.entities.remove(o)}),this._volumeTin=[],this.addPointHandle&&(this.addPointHandle.destroy(),this.addPointHandle=void 0),this.Triangulation=[],this.tinData=void 0,this._tooltip.show(!1)};kc.prototype.removeFromMap=function(){if(this.endEdit(),this.removeMeasureFromMap(),this.wallArr.length>0){for(let o=0;o<this.wallArr.length;o++)this._viewer.entities.remove(this.wallArr[o]);this.wallArr=[]}if(this.FlattenPolygon&&this.FlattenPolygon.length>0){for(let o=0;o<this.FlattenPolygon.length;o++)this._viewer.entities.remove(this.FlattenPolygon[o]);this.FlattenPolygon=[]}this.removeModelCutting()};kc.prototype.deleteObject=kc.prototype.removeFromMap;kc.prototype.startDrawing=function(o={},A){let f=oe(o.spacing,"auto"),m=this._scene,C=this._tooltip,E=3,x=[],y=[],I=[],v=[],B=[],Q;this._Apositions=o.positions,this._positions=y,this._hierarchy=I,this._heightsort=v,this._degreesArr=B,this._deepth=oe(o.deepth,100),this._drawColor.point=o.point||this._drawColor.point,this._drawColor.polyline=o.polyline||this._drawColor.polyline,this._drawColor.polygon=o.polygon||this._drawColor.polygon,this.loadingImg=o.loading||this.loadingImg,this.tin=oe(o.tin,!1),this.onlyTerrain=oe(o.onlyTerrain,!1),this.selectDatum=oe(o.selectDatum,!1);let T=this;if(this._mouseHandler&&this._mouseHandler.destroy(),this.loading||this.addLoading(),o.positions){let w=Z.fromDegreesArray(o.positions);for(let S of w)y.push(S);if(!(y.length<E)){for(let S=0;S<o.positions.length;S+=2)B.push([o.positions[S],o.positions[S+1]]);this._prevEntity=this._viewer.entities.add({polygon:{hierarchy:Z.fromDegreesArray(o.positions),material:T._drawColor.polygon,fill:!0}});for(let S=0;S<o.positions.length;S+=2){let D=T._viewer.scene.sampleHeight(new Rt(Be.toRadians(o.positions[S]),Be.toRadians(o.positions[S+1])));v.push(D),I.push(o.positions[S],o.positions[S+1],D)}this.stopDrawing(f,S=>{A&&A(S)})}}else{let w=new cr(m.canvas);this._mouseHandler=w,this.removeMeasureFromMap(),this._viewer.container.style.cursor=`url(${globalThis.GEOWORLD_BASE_URL} 'Assets/image/cursor/draw.cur')`;let S;w.setInputAction(function(R){if(R.position!==null){let P=m.camera.getPickRay(R.position),M=m.globe.pick(P,m);if(this._viewer.scene.pick(R.position)){let F=this._viewer.scene.pickPosition(R.position);F&&(M=F)}if(M){let F=Rt.fromCartesian(M),k=Be.toDegrees(F.longitude),N=Be.toDegrees(F.latitude);if(x.length===0&&(x.push(k,N),B.push([k,N]),y.push(M),Q=M),y.length>=4){let G=ms.wgs84ToWindowCoordinates(this._viewer.scene,Q);if(G!==void 0){let J=G.x-R.position.x,K=G.y-R.position.y;if(J*J+K*K<16){x.splice(x.length-2,2),y.pop(),this.stopDrawing(A);return}}}x.push(k,N),B.push([k,N]),y.push(M),y.length===2&&!S&&(S=this._viewer.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new Hr(function(){return y},!1),clampToGround:!0,material:T._drawColor.polygon,width:3}})),y.length===E&&(S&&this._viewer.entities.remove(S),this._prevEntity=this._viewer.entities.add({polygon:{hierarchy:new yn(Z.fromDegreesArray(x)),material:T._drawColor.polygon,fill:!0}}),this._prevEntity.polygon.hierarchy=new Hr(()=>new yn(Z.fromDegreesArray(x)),!1))}}}.bind(this),si.LEFT_CLICK),w.setInputAction(function(R){let P=R.endPosition;if(P!==null)if(y.length===0)C.showAt(P,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236\u7B2C\u4E00\u4E2A\u70B9");else{let M=m.camera.getPickRay(P),L=m.globe.pick(M,m),F=this._viewer.scene.pick(P),k=!1;if(F){let N=this._viewer.scene.pickPosition(P);N&&(L=N),k=!0}if(L){let N=Rt.fromCartesian(L),G=Be.toDegrees(N.longitude),J=Be.toDegrees(N.latitude);if(x.splice(x.length-2,2),B.pop(),y.pop(),x.push(G,J),B.push([G,J]),y.push(L),C.showAt(P,"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236"),y.length>=3&&y.length>=4){let K=ms.wgs84ToWindowCoordinates(this._viewer.scene,Q);if(K!==void 0){let X=K.x-P.x,q=K.y-P.y;X*X+q*q<16?document.body.style.cursor="pointer":document.body.style.cursor="default"}}}}}.bind(this),si.MOUSE_MOVE);let D=null;w.setInputAction(function(R){D=window.setTimeout(()=>{console.log("\u5355\u51FB"),this.end&&this.end()},200)}.bind(this),si.RIGHT_CLICK),w.setInputAction(function(R){console.log("\u53CC\u51FB......"),clearTimeout(D)},si.LEFT_DOUBLE_CLICK),this.end=R=>{if(this._mouseHandler!==void 0&&(this._mouseHandler.destroy(),this._mouseHandler=void 0),T._viewer.container.style.cursor="default",this._tooltip.show(!1),S&&this._viewer.entities.remove(S),this.end=void 0,console.log(B,"?????????"),!(y.length<E)){if(this._prevEntity&&(this._prevEntity.polygon.hierarchy=Z.fromDegreesArray(x)),R==="cancel"){this._prevEntity&&this._viewer.entities.remove(this._prevEntity);return}for(let P=0;P<x.length;P+=2){let M=T._viewer.scene.sampleHeight(new Rt(Be.toRadians(x[P]),Be.toRadians(x[P+1])));v.push(M),I.push(x[P],x[P+1],M)}this._Apositions=x,this.stopDrawing(f,A)}}}return this};kc.prototype.stopDrawing=function(o,A){let f=this;this._mouseHandler!==void 0&&(this._mouseHandler.destroy(),this._mouseHandler=void 0),this._volumeLabel!==void 0&&(this._viewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._volumeLabel1!==void 0&&(this._viewer.entities.remove(this._volumeLabel1),this._volumeLabel1=void 0),this._volumeTin.forEach(m=>{this._viewer.entities.remove(m)}),this._volumeTin=[],this._Loading&&this.isLoading(!0),setTimeout(()=>{f._heightsort.sort(function(S,D){return S-D});let m=this._viewer.entities.add({name:null,id:f._earthCtrl.factory.createUUID(),polygon:{hierarchy:new Hr(function(){return new yn(Z.fromDegreesArrayHeights(f._hierarchy))},!1),material:new Yd({image:oe(f.bottomImgUrl,`${window.SmartEarthRootUrl}Workers/image/bottomplane.jpg`),repeat:new rt(1,1)})}});f.FlattenPolygon.push(m),f.originHeight=f._heightsort[0];let C=Z.fromDegreesArrayHeights(f._hierarchy);C.push(C[0]),f._positionsB=C;let E=null,x,y,I,v,B,Q;for(let S=0;S<C.length-1;S++){x=Rt.fromCartesian(C[S]),y=Rt.fromCartesian(C[S+1]),I=Be.toDegrees(x.longitude),B=Be.toDegrees(x.latitude),v=Be.toDegrees(y.longitude),Q=Be.toDegrees(y.latitude),E?E=E>y.height?y.height:E:E=x.height>y.height?y.height:x.height;let D=f.getPoint(I,B,v,Q,x.height,y.height),R=[],P=[];f.getHeightsFromLonLat(D.positions,function(M){if(M){R=M;for(let L=0;L<R.length;L++)P.push(f._heightsort[0]-f._deepth);f.drawwall(D.wallJwd,R,P)}})}if(f._baseHeight=f._heightsort[0]-f._deepth,m.polygon.height=f._baseHeight,!this.calculate)return f._isFlattening&&f.modelCutting(),A&&A(!0),this.isLoading(!1);let T=this.computeCutVolume(o,this.onlyTerrain),w=S=>{let D=S.maxHeight,R=S.minHeight;if(this._prevEntity.polygon.height=S.minHeight,this._prevEntity.polygon.heightReference=0,this.selectDatum){let P=()=>{this.addPoint(M=>{this.setDatum(M,L=>{typeof A=="function"&&A({...S,...L}),P()})})};P()}};this.onlyTerrain?T.then(S=>{w(S)}):w(T),f.setDatum(f._baseHeight,S=>{f._isFlattening&&f.modelCutting(),A&&A(S),this._Loading&&this.isLoading(!1)})},100)};kc.prototype.modelCutting=function(){let o=this;if(o._modelCuttingPolygon=mA.fromPositions({positions:Z.fromDegreesArray(o._Apositions),height:o._baseHeight}),o._modelArr.length>0)for(let A of o._modelArr)A.addFlattenPolygon(o._modelCuttingPolygon),A.needUpdateFlatten=!0,A.clipPlaneOfFlatten=!0;else console.info("\u8BF7\u6DFB\u52A0\u6A21\u578B\uFF01")};kc.prototype.removeModelCutting=function(){let o=this;if(o._modelArr.length>0){for(let A of o._modelArr)A.removeFlattenPolygon(o._modelCuttingPolygon);o._modelCuttingPolygon=null,o._modelArr=[]}else console.info("\u8BF7\u6DFB\u52A0\u6A21\u578B\uFF01")};kc.prototype.computeCentroidOfPolygon=function(o){let A=[],f=[],m=0,C=0;for(let y=0;y<o.length;y++){let I=Rt.fromCartesian(o[y]);m+=I.longitude,C+=I.latitude,A.push(I.longitude),f.push(I.latitude)}let E=0,x=0;return E=m/o.length,x=C/o.length,new Rt(E,x)};kc.prototype.edit=function(o,A,f){let m=this,C=m.editPoint,E=m.nowPoint;if(m._earthCtrl.coreMap.scene.globe.depthTestAgainstTerrain=!1,E){for(let I of m.editPoint)I&&(I.show=!0);m.update(E,C,o);return}for(let I=2;I<m._hierarchy.length;I=I+3)m._hierarchy[I]=m.originHeight-m._deepth;m.FlattenPolygon[0]&&m._viewer.entities.remove(m.FlattenPolygon[0]),m.FlattenPolygon=[];let x=this._viewer.entities.add({name:null,id:m._earthCtrl.factory.createUUID(),polygon:{hierarchy:new yn(Z.fromDegreesArrayHeights(m._hierarchy)),material:new Yd({image:oe(m.bottomImgUrl,`${window.SmartEarthRootUrl}Workers/image/bottomplane.jpg`),repeat:new rt(1,1)}),perPositionHeight:!0}});m.FlattenPolygon.push(x);let y=m.FlattenPolygon[0].polygon.hierarchy.getValue();for(let I of y.positions){let v=this._viewer.entities.add({id:m._earthCtrl.factory.createUUID(),position:I,point:{color:Ve.WHITE,pixelSize:12,outlineColor:Ve.BLACK,outlineWidth:1}});C.push(v)}if(o)if(A){for(let I of C)if(A===I.id){m.nowPoint=I,m.update(I,C,o);return}}else m._earthCtrl.measure.pickObject(null,function(I){let v=I.pickedObject.id;for(let B of C)if(v.id===B.id){m.nowPoint=B,m.update(B,C,o);return}});else f&&f(C)};kc.prototype.update=function(o,A,f){let m=this,C=o.position.getValue(),x=m._scene.globe.ellipsoid.cartesianToCartographic(C),y=Be.toDegrees(x.longitude),I=Be.toDegrees(x.latitude),v=x.height;o.position.setValue(Z.fromDegrees(y,I,v+f)),m.editPoint=A,m.editPosition=[];let B=[];for(let T of A){let w=T.position.getValue();B.push(w),m.editPosition.push(w)}m.FlattenPolygon[0].polygon.hierarchy=new Hr(function(){return new yn(B)},!0);let Q=m.editPosition;Q.push(Q[0]);for(let T=0;T<Q.length-1;T++){let S=[];for(let D=0;D<=160;D++){let R=Z.lerp(Q[T],Q[T+1],D/160,new Z),P=Rt.fromCartesian(R);S.push(P.height)}m.wallArr[T].wall.minimumHeights.setValue(S)}};kc.prototype.endEdit=function(){let o=this;if(o._earthCtrl.coreMap.scene.globe.depthTestAgainstTerrain=!0,o.editPoint.length>0)for(let A of o.editPoint)A&&(A.show=!1)};kc.prototype.computeCutVolume=function(o,A){let f=this,m=15e3,C=-15e3;o==="auto"&&(o=hi.fromPoints(this._positions).radius/20);let E=this.getPointsInPolygon(this._degreesArr,o,!0),x=Ho.polygon([this._degreesArr]),y=()=>{let{tin:I}=this.tinFromPoints(E,{getArea:!0,polygon:x});this.tinData=I;let v={fill:0,dig:0},B={fill:"\u7ACB\u65B9\u7C73",dig:"\u7ACB\u65B9\u7C73"},Q,T,w,S,D,R={fill:1,dig:1};this.Triangulation=[],I.features.forEach(M=>{if(M.positions){if(this.tin){let F=this._viewer.entities.add({polygon:{hierarchy:new yn(M.positions),material:this._drawColor.polygon,perPositionHeight:!0,outline:!0,outlineColor:Ve.YELLOW}});this._volumeTin.push(F)}let L=M.geometry.coordinates[0];Q=L[0][2],T=L[1][2],w=L[2][2],D=M.area,this.Triangulation.push({bottomArea:D,height:[Q,T,w]}),S=(Q-m+T-m+w-m)/3,S>0?v.dig=v.dig+D*S*R.dig:v.fill=v.fill-D*S*R.fill,v.dig>1e10&&B.dig==="\u7ACB\u65B9\u7C73"&&(v.dig=v.dig/1e9,B.dig="\u7ACB\u65B9\u5343\u7C73",R.dig=1e-9),v.fill>1e10&&B.fill==="\u7ACB\u65B9\u7C73"&&(v.fill=v.fill/1e9,B.fill="\u7ACB\u65B9\u5343\u7C73",R.fill=1e-9)}});let P=this.computeCentroidOfPolygon(this._positions);return this._volumeLabel=this._viewer.entities.add({position:Z.fromRadians(P.longitude,P.latitude,C),label:{text:`\u6316\u65B9\u4F53\u79EF\uFF1A${v.dig.toFixed(4)}${B.dig}`,pixelOffset:{x:0,y:-30},font:"16px \u5B8B\u4F53",fillColor:Ve.GOLD,verticalOrigin:hn.BOTTOM,showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),this._volumeLabel1=this._viewer.entities.add({position:Z.fromRadians(P.longitude,P.latitude,C),label:{text:`\u586B\u65B9\u4F53\u79EF\uFF1A${v.fill.toFixed(4)}${B.fill}`,pixelOffset:{x:0,y:-70},font:"16px \u5B8B\u4F53",fillColor:Ve.GOLD,verticalOrigin:hn.BOTTOM,showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),{maxHeight:C,minHeight:m,volume:v,unit:B,spacing:o}};if(A){let I=[];return E.features.forEach(B=>{let Q=B.geometry.coordinates;I.push(Rt.fromDegrees(Q[0],Q[1]))}),Tw(this._viewer.scene.globe.terrainProvider,I).then(B=>(E.features.forEach((Q,T)=>{let w=Q.geometry.coordinates;w[2]=B[T]&&B[T].height?B[T].height:0,C<w[2]&&(C=w[2]),m>w[2]&&(m=w[2])}),y()))}return E.features.forEach(I=>{let v=I.geometry.coordinates,B=new Rt(Be.toRadians(v[0]),Be.toRadians(v[1]));v[2]=this._viewer.scene.sampleHeight(B)||0,C<v[2]&&(C=v[2]),m>v[2]&&(m=v[2])}),y()};kc.prototype.getPoint=function(o,A,f,m,C,E){let x=this,y=160,I=Be.lerp(o,f,1/y)-o,v=Be.lerp(A,m,1/y)-A,B=[],Q=[],T=[],w;B.push(o,A),w=Z.fromDegrees(o,A),Q.push(Rt.fromCartesian(w));for(let S=0;S<y;S++){let D=o+(S+1)*I,R=A+(S+1)*v;B.push(D,R),w=Z.fromDegrees(D,R),Q.push(Rt.fromCartesian(w))}return B.push(f,m),w=Z.fromDegrees(f,m),Q.push(Rt.fromCartesian(w)),{wallJwd:B,positions:Q}};kc.prototype.getHeightsFromLonLat=function(o,A){let f=this._viewer,m=[];o.forEach(function(C){m.push(f.scene.sampleHeight(new Rt(C.longitude,C.latitude)))}),typeof A=="function"&&A(m)};kc.prototype.isHaveTerrain=function(){return!!(this._viewer.scene&&this._viewer.scene.terrainProvider&&this._viewer.scene.terrainProvider._layers)};kc.prototype.drawwall=function(o,A,f){let m=this,C=m._viewer.entities.add({wall:{positions:new Hr(function(){return Z.fromDegreesArray(o)},!1),maximumHeights:A,minimumHeights:f}}),E=C.wall;E.material=new Yd({image:oe(m.wallImgUrl,`${window.SmartEarthRootUrl}Workers/image/dzmc.jpg`),repeat:new rt(1,1)}),m.wallArr.push(C)};kc.prototype.addLoading=function(){let o=document.createElement("div");o.id="cesiumLoading",o.style.cssText="width: 100%;height: 100%;display:none;pointer-events: none;position: absolute;top: 0;left: 0;-moz-box-sizing: border-box;box-sizing: border-box;background-color: unset;z-index: 99999;";let A=document.createElement("img");A.style.cssText="position: relative;width: 110px;height: 110px;margin: auto;top: 50%;left: 50%;margin-top: -55px;margin-left: -55px;",A.src=this.loadingImg,o.appendChild(A),this.loading=o,this._viewer.container.appendChild(o)};kc.prototype.isLoading=function(o){o?this.loading.style.display="block":this.loading.style.display="none"};kc.prototype.removeLoading=function(){this.loading&&this.loading.remove(),this.loading=void 0};kc.prototype.addPoint=function(o){this.addPointHandle&&(this.addPointHandle.destroy(),this.addPointHandle=null),this._prevEntity1&&(this.addPointHandle=new cr(this._viewer.scene.canvas),this.addPointHandle.setInputAction(function(A){let f=this._viewer.scene.pick(A.position);if(f&&f.id&&f.id.id===this._prevEntity1.id){let m=this._viewer.scene.pickPosition(A.position);if(m){let C=Rt.fromCartesian(m);this.addPointHandle.destroy(),this.addPointHandle=null,o&&typeof o=="function"&&o(C.height.toFixed(1))}}}.bind(this),si.LEFT_CLICK),this.addPointHandle.setInputAction(function(A){let f=this._viewer.scene.pick(A.endPosition);f&&f.id&&f.id.id===this._prevEntity1.id?this._tooltip.showAt(A.endPosition,"\u70B9\u51FB\u4FEE\u6539\u57FA\u51C6\u9762\u9AD8\u5EA6"):this._tooltip.show(!1)}.bind(this),si.MOUSE_MOVE))};kc.prototype.showTin=function(o){this.tin=o,this._volumeTin.forEach(A=>{this._viewer.entities.remove(A)}),this._volumeTin=[],o&&this.tinData&&this.tinData.features.forEach(A=>{if(A.positions){let f=this._viewer.entities.add({polygon:{hierarchy:new yn(A.positions),material:this._drawColor.polygon,perPositionHeight:!0,outline:!0,outlineColor:Ve.YELLOW}});this._volumeTin.push(f)}})};kc.prototype.setDatum=function(o,A){if(this.Triangulation&&this.Triangulation.length>0){let f,m,C,E={fill:0,dig:0},x={fill:"\u7ACB\u65B9\u7C73",dig:"\u7ACB\u65B9\u7C73"},y={fill:1,dig:1};this.Triangulation.forEach(function(I){f=I.bottomArea,m=I.height,C=(m[0]-o+m[1]-o+m[2]-o)/3,C>0?E.dig=E.dig+f*C*y.dig:E.fill=E.fill-f*C*y.fill,E.dig>1e10&&x.dig==="\u7ACB\u65B9\u7C73"&&(E.dig=E.dig/1e9,x.dig="\u7ACB\u65B9\u5343\u7C73",y.dig=1e-9),E.fill>1e10&&x.fill==="\u7ACB\u65B9\u7C73"&&(E.fill=E.fill/1e9,x.fill="\u7ACB\u65B9\u5343\u7C73",y.fill=1e-9)}),this._volumeLabel.label.text=`\u6316\u65B9\u4F53\u79EF\uFF1A${E.dig.toFixed(4)}${x.dig}`,this._volumeLabel1.label.text=`\u586B\u65B9\u4F53\u79EF\uFF1A${E.fill.toFixed(4)}${x.fill}`,this._prevEntity.polygon.height=o,A&&typeof A=="function"&&A({volume:E,unit:x})}};kc.prototype.getPointsInPolygon=function(o,A=50,f=!0){if(o.length<3)return;o.push(o[0]);let m=Ho.lineString(o),C=Ho.bbox(m),E=Ho.pointGrid(C,A,{units:"meters"}),x=Ho.polygon([o]),y=Ho.pointsWithinPolygon(E,x);if(f)for(let I=0;I<o.length-1;I++){let v=Ho.lineString([o[I],o[I+1]]),B={units:"meters"},Q=Ho.length(v,B),T;for(let w=A;;w+=A)if(w<=Q)T=Ho.along(v,w,B),y.features.push(T);else{T=Ho.along(v,Q,B),y.features.push(T);break}}return y};kc.prototype.tinFromPoints=function(o,A={}){let{polygon:f,getArea:m}=A,C=Ho.tin(o),E=0;return C&&C.features&&C.features.forEach(x=>{let y=!0;if(f){let I=Ho.centerOfMass(x);y=Ho.booleanPointInPolygon(I,f)}if(y){let I=x.geometry.coordinates[0],v=[],B=[];for(let Q=0;Q<3;Q++)v.push([I[Q][0],I[Q][1]]),B.push(Z.fromDegrees(I[Q][0],I[Q][1],I[Q][2]));x.positions=B,m&&(x.area=this.getArea(v,B,!0),E+=x.area)}}),{tin:C,area:E}};kc.prototype.getArea=function(o,A,f){if(o.length<3)return;o.push(o[0]);let m=o,C=0,E=Ho.polygon([m]),x;m.length===4?x=[E]:x=Ho.tesselate(E).features;let y,I,v,B;return x.forEach(Q=>{y=Q.geometry.coordinates[0],I=m.findIndex(R=>R.toString()===y[0].toString()),v=m.findIndex(R=>R.toString()===y[1].toString()),B=m.findIndex(R=>R.toString()===y[2].toString());let T=this.getdistance(A[I],A[v]),w=this.getdistance(A[v],A[B]),S=this.getdistance(A[I],A[B]),D=(T+w+S)/2;C+=Math.sqrt(D*((D-T)*(D-w)*(D-S)))}),f||(C<1e6?C=`${C.toFixed(2)}\u5E73\u65B9\u7C73`:C=`${(C/1e6).toFixed(2)}\u5E73\u65B9\u5343\u7C73`),C};kc.prototype.getdistance=function(o,A){let f=Rt.fromCartesian(o),m=Rt.fromCartesian(A),C=new dd;C.setEndPoints(f,m);let E=C.surfaceDistance;return E=Math.sqrt(Math.pow(E,2)+Math.pow(m.height-f.height,2)),E};var Fdt=kc;function JQ(o,A={}){this._earthCtrl=o,this._viewer=o.coreMap,this._scene=o.coreMap.scene,this.options=oe(A,{}),this._modelArr=[],this._Apositions=[],this.FlattenPolygon=[],this._Loading=oe(A.loading,!1),this._bottom=oe(A.bottom,!1),this.loadingImg=oe(A.loadingImg,`${globalThis.GEOWORLD_BASE_URL}Workers/image/loading.gif`),this._Tooltip=new PE(o),this._tooltip=this._Tooltip.CreateTooltip(),this._positions=[],this._deepth=100,this._drawColor={point:oe(this.options.drawColor?.point,Ve.BLUE),polyline:oe(this.options.drawColor?.polyline,Ve.YELLOW),polygon:oe(this.options.drawColor?.polygon,Ve.YELLOW.withAlpha(.5))}}JQ.prototype.removeMeasureFromMap=function(){this._prevEntity!==void 0&&(this._viewer.entities.remove(this._prevEntity),this._prevEntity=void 0),this._volumeLabel!==void 0&&(this._viewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._volumeLabel1!==void 0&&(this._viewer.entities.remove(this._volumeLabel1),this._volumeLabel1=void 0),this.addPointHandle&&(this.addPointHandle.destroy(),this.addPointHandle=void 0),this.Triangulation=[],this.tinData=void 0,this._tooltip.show(!1)};JQ.prototype.startDrawing=function(o={},A){let f=this._scene,m=this._tooltip,C=3,E,x=[],y=[],I=[],v=[],B=[];this._positions=y,this._hierarchy=I,this._heightsort=v,this._degreesArr=B,this._deepth=oe(o.deepth,100),this._modelArr=oe(o.modelArr,[]);let Q=this;if(this._mouseHandler&&this._mouseHandler.destroy(),this.loading||this.addLoading(),o.positions){let T=Z.fromDegreesArray(o.positions);for(let w of T)y.push(w);if(!(y.length<C)){for(let w=0;w<o.positions.length;w+=2)B.push([o.positions[w],o.positions[w+1]]);console.log(y,"\u4F4D\u7F6E\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A"),this._prevEntity=this._viewer.entities.add({polygon:{hierarchy:Z.fromDegreesArray(o.positions),material:Q._drawColor.polygon,fill:!0}});for(let w=0;w<o.positions.length;w+=2){let S=Q._viewer.scene.sampleHeight(new Rt(Be.toRadians(o.positions[w]),Be.toRadians(o.positions[w+1])));v.push(S),I.push(o.positions[w],o.positions[w+1],S)}this._Apositions=o.positions,this.stopDrawing(w=>{A&&A(w)})}}else{let T=new cr(f.canvas);this._mouseHandler=T,this.removeMeasureFromMap(),this._viewer.container.style.cursor=`url(${globalThis.GEOWORLD_BASE_URL} 'Assets/image/cursor/draw.cur')`;let w;T.setInputAction(function(S){if(S.position!==null){let D=f.camera.getPickRay(S.position),R=f.globe.pick(D,f);if(this._viewer.scene.pick(S.position)){let M=this._viewer.scene.pickPosition(S.position);M&&(R=M)}if(R){let M=Rt.fromCartesian(R),L=Be.toDegrees(M.longitude),F=Be.toDegrees(M.latitude);if(x.length===0&&(x.push(L,F),B.push([L,F]),y.push(R),E=R),y.length>=4){let k=ms.wgs84ToWindowCoordinates(this._viewer.scene,E);if(k!==void 0){let N=k.x-S.position.x,G=k.y-S.position.y;if(N*N+G*G<16){x.splice(x.length-2,2),y.pop(),this.stopDrawing(A);return}}}x.push(L,F),B.push([L,F]),y.push(R),y.length===2&&!w&&(w=this._viewer.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new Hr(function(){return y},!1),clampToGround:!0,material:Q._drawColor.polygon,width:3}})),y.length===C&&(w&&this._viewer.entities.remove(w),this._prevEntity=this._viewer.entities.add({polygon:{hierarchy:new yn(Z.fromDegreesArray(x)),material:Q._drawColor.polygon,fill:!0}}),this._prevEntity.polygon.hierarchy=new Hr(()=>new yn(Z.fromDegreesArray(x)),!1))}}}.bind(this),si.LEFT_CLICK),T.setInputAction(function(S){let D=S.endPosition;if(D!==null)if(y.length===0)m.showAt(D,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236\u7B2C\u4E00\u4E2A\u70B9");else{let R=f.camera.getPickRay(D),P=f.globe.pick(R,f),M=this._viewer.scene.pick(D),L=!1;if(M){let F=this._viewer.scene.pickPosition(D);F&&(P=F),L=!0}if(P){let F=Rt.fromCartesian(P),k=Be.toDegrees(F.longitude),N=Be.toDegrees(F.latitude);if(x.splice(x.length-2,2),B.pop(),y.pop(),x.push(k,N),B.push([k,N]),y.push(P),m.showAt(D,"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236"),y.length>=3&&y.length>=4){let G=ms.wgs84ToWindowCoordinates(this._viewer.scene,E);if(G!==void 0){let J=G.x-D.x,K=G.y-D.y;J*J+K*K<16?document.body.style.cursor="pointer":document.body.style.cursor="default"}}}}}.bind(this),si.MOUSE_MOVE),T.setInputAction(function(S){this.end&&this.end()}.bind(this),si.RIGHT_CLICK),this.end=S=>{if(this._mouseHandler!==void 0&&(this._mouseHandler.destroy(),this._mouseHandler=void 0),Q._viewer.container.style.cursor="default",this._tooltip.show(!1),w&&this._viewer.entities.remove(w),this.end=void 0,console.log(B,"?????????"),!(y.length<C)){if(this._prevEntity&&(this._prevEntity.polygon.hierarchy=Z.fromDegreesArray(x)),S==="cancel"){this._prevEntity&&this._viewer.entities.remove(this._prevEntity);return}for(let D=0;D<x.length;D+=2){let R=Q._viewer.scene.sampleHeight(new Rt(Be.toRadians(x[D]),Be.toRadians(x[D+1])));v.push(R),I.push(x[D],x[D+1],R)}this._Apositions=x,this.stopDrawing(A)}}}};JQ.prototype.stopDrawing=function(o){let A=this;this._mouseHandler!==void 0&&(this._mouseHandler.destroy(),this._mouseHandler=void 0),this._volumeLabel!==void 0&&(this._viewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._volumeLabel1!==void 0&&(this._viewer.entities.remove(this._volumeLabel1),this._volumeLabel1=void 0),this._prevEntity!==void 0&&(this._viewer.entities.remove(this._prevEntity),this._prevEntity=void 0),this._Loading&&this.isLoading(!0),setTimeout(()=>{A._heightsort.sort(function(m,C){return m-C});let f=null;A._bottom?(f=this._viewer.entities.add({name:null,id:A._earthCtrl.factory.createUUID(),polygon:{hierarchy:new Hr(function(){return new yn(Z.fromDegreesArrayHeights(A._hierarchy))},!1),material:new Yd({image:oe(A.bottomImgUrl,`${window.SmartEarthRootUrl}Workers/image/bottomplane.jpg`),repeat:new rt(1,1)})}}),A._baseHeight=A._heightsort[0]-A._deepth,f.polygon.height=A._baseHeight):f=this._viewer.entities.add({name:null,id:A._earthCtrl.factory.createUUID(),polygon:{hierarchy:new Hr(function(){return new yn(Z.fromDegreesArrayHeights(A._hierarchy))},!1),material:Ve.YELLOW.withAlpha(0)}}),A.FlattenPolygon.push(f),A.modelCutting()})};JQ.prototype.modelCutting=function(){let o=this;if(o._modelCuttingPolygon=mA.fromPositions({positions:Z.fromDegreesArray(o._Apositions),height:o._baseHeight}),o._modelArr.length>0)for(let A of o._modelArr)A.addFlattenPolygon(o._modelCuttingPolygon),A.needUpdateFlatten=!0,A.clipPlaneOfFlatten=!0;else console.info("\u8BF7\u6DFB\u52A0\u6A21\u578B\uFF01")};JQ.prototype.removeModelCutting=function(){let o=this;if(o._modelArr.length>0){for(let A of o._modelArr)A.removeFlattenPolygon(o._modelCuttingPolygon);o._modelCuttingPolygon=null,o._modelArr=[]}};JQ.prototype.removeFromMap=function(){if(this.removeMeasureFromMap(),this.FlattenPolygon&&this.FlattenPolygon.length>0){for(let o=0;o<this.FlattenPolygon.length;o++)this._viewer.entities.remove(this.FlattenPolygon[o]);this.FlattenPolygon=[]}this.removeModelCutting()};JQ.prototype.addLoading=function(){let o=document.createElement("div");o.id="cesiumLoading",o.style.cssText="width: 100%;height: 100%;display:none;pointer-events: none;position: absolute;top: 0;left: 0;-moz-box-sizing: border-box;box-sizing: border-box;background-color: unset;z-index: 99999;";let A=document.createElement("img");A.style.cssText="position: relative;width: 110px;height: 110px;margin: auto;top: 50%;left: 50%;margin-top: -55px;margin-left: -55px;",A.src=this.loadingImg,o.appendChild(A),this.loading=o,this._viewer.container.appendChild(o)};JQ.prototype.isLoading=function(o){o?this.loading.style.display="block":this.loading.style.display="none"};JQ.prototype.removeLoading=function(){this.loading&&this.loading.remove(),this.loading=void 0};var Ndt=JQ;function BW(o,A,f){this._earthCtrl=o,this._viewer=o.coreMap,this.scene=o.coreMap.scene,this.camera=o.coreMap.camera,this._tileset=[A],this.polygonArr=[],this._tileset.length>0?(this.isNoneModel=!1,this.addFlatten(f)):(this.isNoneModel=!0,this.allFlatten(f)),this.editHandler=null}BW.prototype.addFlatten=function(o={}){let A=null,f=!0;this.editHandler||(this.editHandler=new cr(this.scene.canvas)),this._earthCtrl.factory.SimpleGraphic.edit(!1,{editProp:!1});let m=this._earthCtrl.factory.createSimpleGraphic("polygon",{clampToGround:!0},E=>{let x=E.polygon.hierarchy.getValue().positions,y=[];f=!1;for(let B of x){let T=this.scene.globe.ellipsoid.cartesianToCartographic(B),w=Be.toDegrees(T.longitude),S=Be.toDegrees(T.latitude);y.push(w,S)}let I=mA.fromPositions({positions:Z.fromDegreesArray(y),height:A+o.height}),v=this._earthCtrl.factory.createUUID();I.id=v,this.polygonArr.push({id:v,polygon:I});for(let B=0;B<this._tileset.length;B++)this._tileset[B]._primitive?(this._tileset[B]._primitive.addFlattenPolygon(I),this._tileset[B]._primitive._needUpdateFlatten=!0):this._tileset[B].item&&(this._tileset[B].item.addFlattenPolygon(I),this._tileset[B].item._needUpdateFlatten=!0);this._earthCtrl.factory.SimpleGraphic.clear()}),C=this;this.editHandler.setInputAction(E=>{if(f){let x=C.getMousePosition(E);if(x){let y=Rt.fromCartesian(x);A?y.height<A&&(A=y.height):A=y.height}}},si.LEFT_DOWN)};BW.prototype.allFlatten=function(o={}){let A=null,f=this._viewer.scene.primitives._primitives;for(let m=1;m<f.length;m++){let C=[],E=null;if(f[m].boundingSphere&&(E=f[m].boundingSphere.center),E){let x=Rt.fromCartesian(E);x={longitude:Be.toDegrees(x.longitude),latitude:Be.toDegrees(x.latitude),height:x.height};let y=f[m].boundingSphere.radius/111e3;C.push(x.longitude-y),C.push(x.latitude-y),C.push(x.longitude+y),C.push(x.latitude-y),C.push(x.longitude+y),C.push(x.latitude+y),C.push(x.longitude-y),C.push(x.latitude+y),A=x.height;let I=mA.fromPositions({positions:Z.fromDegreesArray(C),height:A+o.height}),v=this._earthCtrl.factory.createUUID();I.id=v,this.polygonArr.push({id:v,polygon:I}),f[m].addFlattenPolygon(I),f[m]._needUpdateFlatten=!0}}};BW.prototype.remove=function(){let o=this.polygonArr;if(o.length!==0){if(this.isNoneModel){let A=this._viewer.scene.primitives._primitives;for(let f=1;f<A.length;f++)if(A[f].addFlattenPolygon)for(let m of o)A[f].removeFlattenPolygon(m)}else for(let A=0;A<this._tileset.length;A++)for(let f of o)this._tileset[A]._primitive?this._tileset[A]._primitive.removeFlattenPolygon(f):this._tileset[A].item&&this._tileset[A].item.removeFlattenPolygon(f);this.editHandler=void 0}};BW.prototype.getMousePosition=function(o,A){let f=o.endPosition||o.position||o;this.defaultDepthTest===void 0&&(this.defaultDepthTest=!!this.scene.globe.depthTestAgainstTerrain);let m=this.camera.getPickRay(f);A&&!Array.isArray(A)&&(A=[A]);let C=this.scene.pickPosition(f);C?C={position:C}:(this.scene.globe.depthTestAgainstTerrain=!0,C=this.scene.pickFromRay(m,A));let E;if(!C||!C.position||!this.scene.globe.depthTestAgainstTerrain?E=this.scene.globe.pick(m,this.scene):E=C.position,this.scene.globe.depthTestAgainstTerrain=!!this.defaultDepthTest,this.defaultDepthTest=void 0,!E){console.log("\u672A\u62FE\u53D6\u5230\u5750\u6807\uFF01");return}return E};var kdt=BW;function KQ(o,A={}){this._earthCtrl=o,this._viewer=o.coreMap,this._scene=o.coreMap.scene,this.options=oe(A,{}),this._Apositions=[],this.FlattenPolygon=[],this._terrainFlatten=new bT(o.coreMap.scene),this._Loading=oe(A.loading,!1),this._bottom=oe(A.bottom,!1),this.loadingImg=oe(A.loadingImg,`${globalThis.GEOWORLD_BASE_URL}Workers/image/loading.gif`),this._Tooltip=new PE(o),this._tooltip=this._Tooltip.CreateTooltip(),this._positions=[],this._deepth=10,this._drawColor={point:oe(this.options.drawColor?.point,Ve.BLUE),polyline:oe(this.options.drawColor?.polyline,Ve.YELLOW),polygon:oe(this.options.drawColor?.polygon,Ve.YELLOW.withAlpha(.5))}}KQ.prototype.removeMeasureFromMap=function(){this._prevEntity!==void 0&&(this._viewer.entities.remove(this._prevEntity),this._prevEntity=void 0),this._volumeLabel!==void 0&&(this._viewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._volumeLabel1!==void 0&&(this._viewer.entities.remove(this._volumeLabel1),this._volumeLabel1=void 0),this.addPointHandle&&(this.addPointHandle.destroy(),this.addPointHandle=void 0),this.Triangulation=[],this.tinData=void 0,this._tooltip.show(!1)};KQ.prototype.startDrawing=function(o={},A){let f=this._scene,m=this._tooltip,C=3,E,x=[],y=[],I=[],v=[],B=[];this._positions=y,this._hierarchy=I,this._heightsort=v,this._degreesArr=B,this._deepth=oe(o.deepth,100);let Q=this;if(this._mouseHandler&&this._mouseHandler.destroy(),this.loading||this.addLoading(),o.positions){let T=Z.fromDegreesArray(o.positions);for(let w of T)y.push(w);if(!(y.length<C)){for(let w=0;w<o.positions.length;w+=2)B.push([o.positions[w],o.positions[w+1]]);this._prevEntity=this._viewer.entities.add({polygon:{hierarchy:Z.fromDegreesArray(o.positions),material:Q._drawColor.polygon,fill:!0}});for(let w=0;w<o.positions.length;w+=2){let S=Q._viewer.scene.sampleHeight(new Rt(Be.toRadians(o.positions[w]),Be.toRadians(o.positions[w+1])));v.push(S),I.push(o.positions[w],o.positions[w+1],S)}this._Apositions=o.positions,this.stopDrawing(w=>{A&&A(w)})}}else{let T=new cr(f.canvas);this._mouseHandler=T,this.removeMeasureFromMap(),this._viewer.container.style.cursor=`url(${globalThis.GEOWORLD_BASE_URL} 'Assets/image/cursor/draw.cur')`;let w;T.setInputAction(function(S){if(S.position!==null){let D=f.camera.getPickRay(S.position),R=f.globe.pick(D,f);if(this._viewer.scene.pick(S.position)){let M=this._viewer.scene.pickPosition(S.position);M&&(R=M)}if(R){let M=Rt.fromCartesian(R),L=Be.toDegrees(M.longitude),F=Be.toDegrees(M.latitude);if(x.length===0&&(x.push(L,F),B.push([L,F]),y.push(R),E=R),y.length>=4){let k=ms.wgs84ToWindowCoordinates(this._viewer.scene,E);if(k!==void 0){let N=k.x-S.position.x,G=k.y-S.position.y;if(N*N+G*G<16){x.splice(x.length-2,2),y.pop(),this.stopDrawing(A);return}}}x.push(L,F),B.push([L,F]),y.push(R),y.length===2&&!w&&(w=this._viewer.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new Hr(function(){return y},!1),clampToGround:!0,material:Q._drawColor.polygon,width:3}})),y.length===C&&(w&&this._viewer.entities.remove(w),this._prevEntity=this._viewer.entities.add({polygon:{hierarchy:new yn(Z.fromDegreesArray(x)),material:Q._drawColor.polygon,fill:!0}}),this._prevEntity.polygon.hierarchy=new Hr(()=>new yn(Z.fromDegreesArray(x)),!1))}}}.bind(this),si.LEFT_CLICK),T.setInputAction(function(S){let D=S.endPosition;if(D!==null)if(y.length===0)m.showAt(D,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236\u7B2C\u4E00\u4E2A\u70B9");else{let R=f.camera.getPickRay(D),P=f.globe.pick(R,f),M=this._viewer.scene.pick(D),L=!1;if(M){let F=this._viewer.scene.pickPosition(D);F&&(P=F),L=!0}if(P){let F=Rt.fromCartesian(P),k=Be.toDegrees(F.longitude),N=Be.toDegrees(F.latitude);if(x.splice(x.length-2,2),B.pop(),y.pop(),x.push(k,N),B.push([k,N]),y.push(P),m.showAt(D,"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236"),y.length>=3&&y.length>=4){let G=ms.wgs84ToWindowCoordinates(this._viewer.scene,E);if(G!==void 0){let J=G.x-D.x,K=G.y-D.y;J*J+K*K<16?document.body.style.cursor="pointer":document.body.style.cursor="default"}}}}}.bind(this),si.MOUSE_MOVE),T.setInputAction(function(S){this.end&&this.end()}.bind(this),si.RIGHT_CLICK),this.end=S=>{if(this._mouseHandler!==void 0&&(this._mouseHandler.destroy(),this._mouseHandler=void 0),Q._viewer.container.style.cursor="default",this._tooltip.show(!1),w&&this._viewer.entities.remove(w),this.end=void 0,console.log(B,"?????????"),!(y.length<C)){if(this._prevEntity&&(this._prevEntity.polygon.hierarchy=Z.fromDegreesArray(x)),S==="cancel"){this._prevEntity&&this._viewer.entities.remove(this._prevEntity);return}for(let D=0;D<x.length;D+=2){let R=Q._viewer.scene.sampleHeight(new Rt(Be.toRadians(x[D]),Be.toRadians(x[D+1])));v.push(R),I.push(x[D],x[D+1],R)}this._Apositions=x,this.stopDrawing(A)}}}};KQ.prototype.stopDrawing=function(o){let A=this;this._mouseHandler!==void 0&&(this._mouseHandler.destroy(),this._mouseHandler=void 0),this._volumeLabel!==void 0&&(this._viewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._volumeLabel1!==void 0&&(this._viewer.entities.remove(this._volumeLabel1),this._volumeLabel1=void 0),this._prevEntity!==void 0&&(this._viewer.entities.remove(this._prevEntity),this._prevEntity=void 0),this._Loading&&this.isLoading(!0),setTimeout(()=>{A._heightsort.sort(function(C,E){return C-E});let f=null;A._bottom?(f=this._viewer.entities.add({name:null,id:A._earthCtrl.factory.createUUID(),polygon:{hierarchy:new Hr(function(){return new yn(Z.fromDegreesArrayHeights(A._hierarchy))},!1),material:new Yd({image:oe(A.bottomImgUrl,`${window.SmartEarthRootUrl}Workers/image/bottomplane.jpg`),repeat:new rt(1,1)})}}),A._baseHeight=A._heightsort[0]-A._deepth,f.polygon.height=A._baseHeight):f=this._viewer.entities.add({name:null,id:A._earthCtrl.factory.createUUID(),polygon:{hierarchy:new Hr(function(){return new yn(Z.fromDegreesArrayHeights(A._hierarchy))},!1),material:Ve.YELLOW.withAlpha(0)}}),A.FlattenPolygon.push(f);let m=[];A._baseHeight=A._heightsort[0]-A._deepth;for(let C=0;C<A._hierarchy.length;C+=3)m.push(A._hierarchy[C],A._hierarchy[C+1],A._baseHeight);console.log(m,"\u4F4D\u7F6E\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A\uFF1A"),A.terrainCutting(m)})};KQ.prototype.terrainCutting=function(o){let A=this;A._terrainFlatten.addPolygon(o),A._terrainFlatten.update(),A._terrainFlatten.clipPlaneOfFlatten=!0};KQ.prototype.removeTerrainCutting=function(){this._terrainFlatten.clearPolygon()};KQ.prototype.removeFromMap=function(){if(this.removeMeasureFromMap(),this.FlattenPolygon&&this.FlattenPolygon.length>0){for(let o=0;o<this.FlattenPolygon.length;o++)this._viewer.entities.remove(this.FlattenPolygon[o]);this.FlattenPolygon=[]}this.removeTerrainCutting()};KQ.prototype.addLoading=function(){let o=document.createElement("div");o.id="cesiumLoading",o.style.cssText="width: 100%;height: 100%;display:none;pointer-events: none;position: absolute;top: 0;left: 0;-moz-box-sizing: border-box;box-sizing: border-box;background-color: unset;z-index: 99999;";let A=document.createElement("img");A.style.cssText="position: relative;width: 110px;height: 110px;margin: auto;top: 50%;left: 50%;margin-top: -55px;margin-left: -55px;",A.src=this.loadingImg,o.appendChild(A),this.loading=o,this._viewer.container.appendChild(o)};KQ.prototype.isLoading=function(o){o?this.loading.style.display="block":this.loading.style.display="none"};KQ.prototype.removeLoading=function(){this.loading&&this.loading.remove(),this.loading=void 0};var Odt=KQ;function iM(o,A={}){if(this._earthCtrl=o,this._scene=o.coreMap.scene,this.selectLevelColor=A.selectLevelColor,this.notSelectColor=A.notSelectColor||null,this.highlightColor=A.highlightColor||new Ve.fromCssColorString("rgba(255,215,0,0.9)"),this.distance=A.distance||{x:10,y:0,z:0},console.log(A),A.model)if(A.model._root&&A.model._root.transform)this.model=A.model;else{console.log("\u6682\u4E0D\u652F\u6301\u8BE5\u6A21\u578B\u683C\u5F0F");return}else{console.log("\u6CA1\u6709\u4F20\u5165\u6A21\u578B");return}this.clonedTileset=this.cloneTileset(A.model._primitive),this._scene.primitives.add(this.clonedTileset),this.clonedTileset.style=new qb({show:!1}),this.originPosition=Re.getTranslation(this.model._root.transform,new Z)}iM.prototype.updataModel=function(o,A=[]){let f=new qb;f.color={evaluateColor:m=>{if(o!=="")return this.notSelectColor}},f.show={evaluate:function(m){return A.indexOf(m.getProperty(o))===-1}},this.model.style=f,this.selectModelShow(o,A),this.modelShowAnimation(),this.editHandler&&this.editHandler.destroy(),this.editHandler=void 0,this.editHandler=new cr(this._scene.canvas),this.editHandler.setInputAction(m=>{let C=this._scene.pick(m.endPosition);C instanceof ns?(this.selectFeature=!0,this.selectModelShow(o,A,C)):this.selectFeature&&(this.selectFeature=!1,this.selectModelShow(o,A))},si.MOUSE_MOVE)};iM.prototype.changeStyleOptions=function(o){let{selectLevelColor:A,notSelectColor:f,highlightColor:m,distance:C}=o;this.selectLevelColor=A||this.selectLevelColor,this.notSelectColor=f||this.notSelectColor,this.highlightColor=m||this.highlightColor,this.distance=C||this.distance};iM.prototype.cloneTileset=function(){let o=new _f({url:this.model._url});return o.maximumScreenSpaceError=0,o};iM.prototype.selectModelShow=function(o,A,f){let m=new qb;m.color={evaluateColor:C=>C===f?this.highlightColor:this.selectLevelColor},m.show={evaluate:function(C){return A.indexOf(C.getProperty(o))!==-1}},this.clonedTileset.style=m};iM.prototype.modelShowAnimation=function(){if(this.preUpdateListener&&this._scene.preUpdate.removeEventListener(this.preUpdateListener),this.originPosition.x===0||this.originPosition.y===0||this.originPosition.z===0){let o=this.model.boundingSphere.center,A=this.toDegrees(o),f;f=Z.fromDegrees(A.lon+1e-5*this.distance.x,A.lat+1e-5*this.distance.y,A.hei+this.distance.z);let m=new Z(o.x-f.x,o.y-f.y,o.z-f.z),C=this.clonedTileset,E=this.model,x=1;this.preUpdateListener=this._scene.preUpdate.addEventListener(function(){if(x<30){x++;let y=Z.lerp(new Z,m,x/30,new Z);C._modelMatrix=Re.multiplyByTranslation(E.modelMatrix,y,new Re)}})}else{let o=this.originPosition,A=this.matrixGetRotation(this.model._root.transform),f=this.toDegrees(o),m;m=Z.fromDegrees(f.lon+1e-5*this.distance.x,f.lat+1e-5*this.distance.y,f.hei+this.distance.z);let C=this.clonedTileset,E=this.model,x=1;this.preUpdateListener=this._scene.preUpdate.addEventListener(function(){if(x<30){x++;let y=Z.lerp(o,m,x/30,new Z),I=new bs(Be.toRadians(A.heading),Be.toRadians(A.pitch),Be.toRadians(A.roll));C._root.transform=new kr.headingPitchRollToFixedFrame(y,I)}})}};iM.prototype.clickCheckInfo=function(o){let A=this._scene.pick(o);if(A instanceof ns){let f=A.getPropertyIds(),m=f.length,C={};for(let E=0;E<m;++E)C[f[E]]=A.getProperty(f[E]);return C}};iM.prototype.toDegrees=function(o){let A=Rt.fromCartesian(o);return{lon:Be.toDegrees(A.longitude),lat:Be.toDegrees(A.latitude),hei:A.height}};iM.prototype.matrixGetRotation=function(o){let A=kr.eastNorthUpToFixedFrame(Re.getTranslation(o,new Z),Ci.WGS84,new Re),f=Re.multiply(Re.inverse(A,new Re),o,new Re),m=Re.getRotation(f,new Gt),C=fr.fromRotationMatrix(m),E=bs.fromQuaternion(C),x=Be.toDegrees(E.heading),y=Be.toDegrees(E.pitch),I=Be.toDegrees(E.roll);return{heading:x,pitch:y,roll:I}};var Udt=iM;function Kv(o,A={}){this._earthCtrl=o,this._terrainFlatten=new bT(this._earthCtrl.coreMap.scene),this._viewer=o.coreMap,this._scene=o.coreMap.scene,this.options=oe(A,{}),this._Tooltip=new PE(o),this._tooltip=this._Tooltip.CreateTooltip(),this._drawColor={point:oe(this.options.drawColor?.point,Ve.BLUE),polyline:oe(this.options.drawColor?.polyline,Ve.YELLOW),polygon:oe(this.options.drawColor?.polygon,Ve.YELLOW.withAlpha(.5))},this.loadingImg=`${globalThis.GEOWORLD_BASE_URL}Workers/image/loading.gif`,this.wallArr=[],this.FlattenPolygon=[],this._Apositions=[],this._heightsort=null,this._deepth=100,this._positions=[],this._modelArr=oe(A.modelArr,[]),this._isFlattening=oe(A.isFlattening,!0),this.modelCuttingPolygon=null,this.wallImgUrl=oe(A.wallImgUrl,null),this.bottomImgUrl=oe(A.bottomImgUrl,null),this._Loading=oe(A.loading,!0)}Kv.prototype.removeMeasureFromMap=function(){this._prevEntity!==void 0&&(this._viewer.entities.remove(this._prevEntity),this._prevEntity=void 0),this._volumeLabel!==void 0&&(this._viewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._volumeLabel1!==void 0&&(this._viewer.entities.remove(this._volumeLabel1),this._volumeLabel1=void 0),this.addPointHandle&&(this.addPointHandle.destroy(),this.addPointHandle=void 0),this.Triangulation=[],this.tinData=void 0,this._tooltip.show(!1)};Kv.prototype.removeFromMap=function(){if(this.removeMeasureFromMap(),this.wallArr.length>0){for(let o=0;o<this.wallArr.length;o++)this._viewer.entities.remove(this.wallArr[o]);this.wallArr=[]}if(this.FlattenPolygon&&this.FlattenPolygon.length>0){for(let o=0;o<this.FlattenPolygon.length;o++)this._viewer.entities.remove(this.FlattenPolygon[o]);this.FlattenPolygon=[]}this.removeModelCutting()};Kv.prototype.deleteObject=Kv.prototype.removeFromMap;Kv.prototype.startDrawing=function(o={},A){let f=oe(o.spacing,"auto"),m=this._scene,C=this._tooltip,E=3,x=this._positions,y=[],I;this._Apositions=o.positions,this._heightsort=y,this._deepth=oe(o.deepth,100),this._sampleStep=oe(o.sampleStep,100),this._maxSampleCount=oe(o.maxSampleCount,200),this._drawColor.point=o.point||this._drawColor.point,this._drawColor.polyline=o.polyline||this._drawColor.polyline,this._drawColor.polygon=o.polygon||this._drawColor.polygon,this.loadingImg=o.loading||this.loadingImg;let v=this;if(this._mouseHandler&&this._mouseHandler.destroy(),this.loading||this.addLoading(),!o.positions){let B=new cr(m.canvas);this._mouseHandler=B,this.removeMeasureFromMap(),this._viewer.container.style.cursor=`url(${globalThis.GEOWORLD_BASE_URL} 'Assets/image/cursor/draw.cur')`;let Q;B.setInputAction(function(w){if(w.position!==null){let S=this._viewer.scene.pickPosition(w.position);if(S){let D=Rt.fromCartesian(S);if(x.length===0&&(x.push(D),I=S),x.length>=4){let R=ms.wgs84ToWindowCoordinates(this._viewer.scene,I);if(R!==void 0){let P=R.x-w.position.x,M=R.y-w.position.y;if(P*P+M*M<16){x.splice(x.length-2,2),this.stopDrawing(A);return}}}x.push(D),x.length===2&&!Q&&(Q=this._viewer.entities.add({name:"\u4E34\u65F6\u7EBF",polyline:{positions:new Hr(function(){let R=[];for(let P=0;P<x.length;P++){let M=x[P];R.push(M.longitude,M.latitude,M.height)}return Z.fromRadiansArrayHeights(R)},!1),clampToGround:!1,material:v._drawColor.polygon,width:3}})),x.length===E&&(Q&&this._viewer.entities.remove(Q),this._prevEntity=this._viewer.entities.add({polygon:{hierarchy:new Hr(()=>{let R=[];for(let P=0;P<x.length;P++){let M=x[P];R.push(M.longitude,M.latitude,M.height)}return new yn(Z.fromRadiansArrayHeights(R))},!1),material:v._drawColor.polygon,fill:!0}}))}}}.bind(this),si.LEFT_CLICK),B.setInputAction(function(w){let S=w.endPosition;if(S!==null)if(x.length===0)C.showAt(S,"\u70B9\u51FB\u5F00\u59CB\u7ED8\u5236\u7B2C\u4E00\u4E2A\u70B9");else{let D=this._viewer.scene.pickPosition(S);if(D){let R=Rt.fromCartesian(D);if(x.splice(x.length-1,1),x.push(R),C.showAt(S,"\u53F3\u952E\u7ED3\u675F\u7ED8\u5236"),x.length>=3&&x.length>=4){let P=ms.wgs84ToWindowCoordinates(this._viewer.scene,I);if(P!==void 0){let M=P.x-S.x,L=P.y-S.y;M*M+L*L<16?document.body.style.cursor="pointer":document.body.style.cursor="default"}}}}}.bind(this),si.MOUSE_MOVE);let T=null;B.setInputAction(function(w){T=window.setTimeout(()=>{console.log("\u5355\u51FB"),this.end&&this.end()},200)}.bind(this),si.RIGHT_CLICK),B.setInputAction(function(w){console.log("\u53CC\u51FB......"),clearTimeout(T)},si.LEFT_DOUBLE_CLICK),this.end=w=>{if(this._mouseHandler!==void 0&&(this._mouseHandler.destroy(),this._mouseHandler=void 0),v._viewer.container.style.cursor="default",this._tooltip.show(!1),Q&&this._viewer.entities.remove(Q),this.end=void 0,!(x.length<E)){if(this._prevEntity&&this._viewer.entities.remove(this._prevEntity),this._prevEntity=void 0,w==="cancel")return;for(let S=0;S<x.length;S+=2){let D=x[S].height;y.push(D)}this._Apositions=x,this.stopDrawing(f,A)}}}return this};function mUi(o,A,f){let m=Be.lerp(o.longitude,A.longitude,1/f)-o.longitude,C=Be.lerp(o.latitude,A.latitude,1/f)-o.latitude,E=[];E.push(o);for(let x=0;x<f;x++){let y=o.longitude+(x+1)*m,I=o.latitude+(x+1)*C;E.push(new Rt(y,I))}return E.push(A),E}function CUi(o,A,f,m,C){let E=[];A.forEach(function(x){let y=Rt.toCartesian(new Rt(x.longitude,x.latitude,m)),I=Rt.toCartesian(new Rt(x.longitude,x.latitude,f)),v=Z.normalize(Z.subtract(I,y,new Z),new Z),B=new Ua(y,v),Q=null,T=[],w=o.scene.drillPickFromRay(B,1,T);o.scene.globe.show=!1,w.length>0&&!w[0].object&&w[0].position?(Q=o.scene.drillPickFromRay(B,100,T),Q.unshift(w[0])):Q=o.scene.drillPickFromRay(B,100,T),o.scene.globe.show=!0,console.log("drillPickFromRay",Q.length),E.push(Q)}),typeof C=="function"&&C(E)}function EUi(o,A,f){for(let E=0;E<o.length;E++){let x=o[E];for(let y=0;y<x.length;y++){let I=x[y].position,v=Rt.fromCartesian(I);if(v.height<A){x.splice(y,x.length-y);let B=Z.fromRadians(v.latitude,v.longitude,A);x.push({object:null,position:B});break}}{let y=x[x.length-1].position,I=Rt.fromCartesian(y);if(Math.abs(I.height-A)>.01){let v=Z.fromRadians(I.latitude,I.longitude,A);x.push({object:null,position:v})}}}for(let E=0;E<o.length;E++){let x=o[E],y=x[x.length-1];f.push(y.position)}let m=0;o.forEach(function(E){m=m<E.length?E.length:m}),o.forEach(function(E){if(m-E.length>0){let y=E.length;E.length=m,E.fill(null,y,E.length)}});let C=[];for(let E=0;E<m-1;E++){let x=[],y=[];for(let I=0;I<o.length;I++){let v=o[I][E],B=o[I][E+1];v&&B&&(x.push(v),y.push(B))}C.push({ups:x,bottoms:y})}return C}Kv.prototype.stopDrawing=function(o,A){let f=this;this._mouseHandler!==void 0&&(this._mouseHandler.destroy(),this._mouseHandler=void 0),this._volumeLabel!==void 0&&(this._viewer.entities.remove(this._volumeLabel),this._volumeLabel=void 0),this._volumeLabel1!==void 0&&(this._viewer.entities.remove(this._volumeLabel1),this._volumeLabel1=void 0),this._Loading&&this.isLoading(!0);let m=this._positions,C=this._viewer,E=this.wallArr,x=this._deepth,y=this._sampleStep,I=this._maxSampleCount;m.push(m[0]);let v=0;for(let B=0;B<m.length-1;B++){let Q=Z.fromRadians(m[B]),T=Z.fromRadians(m[B+1]),S=Z.distance(T,Q)/y;v=v<S?S:v}v=I<v?I:v,setTimeout(()=>{f._heightsort.sort(function(D,R){return D-R});let B=f._heightsort[0]+2e3,Q=f._heightsort[0]-2e3,T=[];for(let D=0;D<m.length-1;D++){let R=m[D],P=m[D+1],M=mUi(R,P,v);CUi(C,M,Q,B,function(L){let F=EUi(L,x,T);for(let k=0;k<F.length;k++){let N=F[k];E.push(xUi(C,N,k))}})}let w=[];for(let D=0;D<m.length;D++){let R=m[D];w.push(R.longitude,R.latitude,x)}let S=C.entities.add({polygon:{hierarchy:{positions:Z.fromRadiansArrayHeights(w)},perPositionHeight:!0,granularity:Be.RADIANS_PER_DEGREE*100,material:new Yd({image:`${window.SmartEarthRootUrl}Workers/image/bottomplane.jpg`,repeat:new rt(1,1)}),fill:!0}});return E.push(S),f._isFlattening&&f.modelCutting(),A&&A(!0),this.isLoading(!1)},20)};Kv.prototype.modelCutting=function(){let o=this,A=this._deepth,f=this._positions,m=[],C=[];for(let E=0;E<f.length;E++){let x=f[E];m.push(x.longitude,x.latitude,x.height-10),C.push(Be.toDegrees(x.longitude),Be.toDegrees(x.latitude),x.height-10)}if(o._modelCuttingPolygon=mA.fromPositions({positions:Z.fromRadiansArrayHeights(m),height:A-10}),o._terrainFlatten.addPolygon(C),o._terrainFlatten.update(),o._terrainFlatten.clipPlaneOfFlatten=!0,o._modelArr.length>0)for(let E of o._modelArr)E.addFlattenPolygon(o._modelCuttingPolygon),E.needUpdateFlatten=!0,E.clipPlaneOfFlatten=!0;else console.info("\u8BF7\u6DFB\u52A0\u6A21\u578B\uFF01")};Kv.prototype.removeModelCutting=function(){let o=this;if(o._modelArr.length>0){for(let A of o._modelArr)A.removeFlattenPolygon(o._modelCuttingPolygon);o._modelCuttingPolygon=null,o._modelArr=[],o._terrainFlatten.clearPolygon(),o._terrainFlatten.clipPlaneOfFlatten=!1}else console.info("\u8BF7\u6DFB\u52A0\u6A21\u578B\uFF01")};function xUi(o,A,f){let m=[],C=[];for(let v=0;v<A.ups.length;v++){let B=A.ups[v];m.push(B.position);let Q=Rt.fromCartesian(B.position);C.push(Q.height)}let E=[];for(let v=0;v<A.bottoms.length;v++){let B=A.bottoms[v],Q=Rt.fromCartesian(B.position);E.push(Q.height)}let x=`${window.SmartEarthRootUrl}Workers/image/MTY0001.jpg`,y=`${window.SmartEarthRootUrl}Workers/image/MTY0002.jpg`,I=o.entities.add({wall:{positions:m,material:new Yd({image:f%2?x:y,repeat:new rt(.01,.01)}),maximumHeights:C,minimumHeights:E,granularity:Be.RADIANS_PER_DEGREE*100}});return I.show=!0,I}Kv.prototype.addLoading=function(){let o=document.createElement("div");o.id="cesiumLoading",o.style.cssText="width: 100%;height: 100%;display:none;pointer-events: none;position: absolute;top: 0;left: 0;-moz-box-sizing: border-box;box-sizing: border-box;background-color: unset;z-index: 99999;";let A=document.createElement("img");A.style.cssText="position: relative;width: 110px;height: 110px;margin: auto;top: 50%;left: 50%;margin-top: -55px;margin-left: -55px;",A.src=this.loadingImg,o.appendChild(A),this.loading=o,this._viewer.container.appendChild(o)};Kv.prototype.isLoading=function(o){o?this.loading.style.display="block":this.loading.style.display="none"};Kv.prototype.removeLoading=function(){this.loading&&this.loading.remove(),this.loading=void 0};var Gdt=Kv;function Qu(o){this._earthCtrl=o,this._coreMap=o.coreMap,this.tools=[],this.vols=[],this.saveResult=!1,this._elevationContour=new mH(this._coreMap,Di),this._SunshineAnalysis=new xle(this._coreMap,Di),this._create3DViewshed=new Ele(this._coreMap,Di),this._bufferAnalysis=new BQ(this._coreMap,Di)}Qu.prototype.deleteObject=function(){O(this._tool)&&this._tool.deleteObject(),this.saveResult===!1&&this.tools.pop()};Qu.prototype.deleteAll=function(){this.tools.forEach(function(o){o.deleteObject()}),this.vols.forEach(function(o){o.cleanUp()}),this._earthCtrl.measure.tools.forEach(function(o){o.clearResult()}),this.tools=[],this.vols=[],this._earthCtrl.measure.tools=[]};Qu.prototype.volumetric=function(o){this.saveResult===!1&&this.removeVolumetric(),this._vol=new IPe(this._earthCtrl),this._vol.startDrawing(o),this.vols.push(this._vol)};Qu.prototype.removeVolumetric=function(o){O(this._vol)&&this.vols.forEach(function(A){A.cleanUp()})};Qu.prototype.createViewThrough=function(o={}){return new EPe(this._earthCtrl,o)};Qu.prototype.createViewThroughCircle=function(o={}){return o.type="circle",new EPe(this._earthCtrl,o)};Qu.prototype.createViewShed=function(o){return new mPe(this._earthCtrl,o)};Qu.prototype.createViewShedCircle=function(o){return o.isSpherical=!0,this._create3DViewshed.addViewshed(o),this._create3DViewshed};Qu.prototype.createSubmergence=function(o,A){return new _Pe(this._earthCtrl).executePolygonymsd(o,A)};Qu.prototype.createProfile=function(o){return new wPe(this._earthCtrl,o)};Qu.prototype.createBufferAnalysis=function(o){return new wie(this._earthCtrl,o)};Qu.prototype.createPointBuffer=function(o,A,f){return this._bufferAnalysis.DrawPoint(o,A,f)};Qu.prototype.createPolylineBuffer=function(o,A,f){return this._bufferAnalysis.DrawPolyline(o,A,f)};Qu.prototype.createPolygonBuffer=function(o,A,f){return this._bufferAnalysis.DrawPolygon(o,A,f)};Qu.prototype.createSkyline=function(o){return new bPe(this._earthCtrl,o)};Qu.prototype.createCurtainContrast=function(o){return new Tdt(this._earthCtrl,o)};Qu.prototype.createRestrictTheHeight=function(o){return new SPe(this._earthCtrl,o)};Qu.prototype.createElevationContour=function(o,A,f){return this._elevationContour.createElevationContour(o,A,f)};Qu.prototype.createModifyMesh=function(o,A){return new DPe(this._earthCtrl).addClipping(o,A)};Qu.prototype.createModelFlatten=function(o,A){return new kdt(this._earthCtrl,o,A)};Qu.prototype.createTerrainModifier=function(o){return new PPe(this._earthCtrl,o)};Qu.prototype.createTerrainExcavation=function(o){return new FPe(this._earthCtrl,o)};Qu.prototype.createExcavationAndFillAnalysis=function(o){return new Ble(this._earthCtrl,o)};Qu.prototype.createVolumetricMeasure=function(o){return new Ldt(this._earthCtrl,o)};Qu.prototype.createModelVolumetric=function(o){return new Fdt(this._earthCtrl,o)};Qu.prototype.createModelCutting=function(o){return new Ndt(this._earthCtrl,o)};Qu.prototype.createTerrainCutting=function(o){return new Odt(this._earthCtrl,o)};Qu.prototype.createSpreadModel=function(o){return new Udt(this._earthCtrl,o)};Qu.prototype.StreetViewOpen=function(o,A,f){return this._StreetView||(this._StreetView=new CW(this._coreMap,Di)),this._StreetView.StreetViewOpen(o,A,f)};Qu.prototype.ExitStreetView=function(){return this._StreetView||(this._StreetView=new CW(this._coreMap,Di)),this._StreetView.exit()};Qu.prototype.createIndoormode=function(o){return this._createindoormode||(this._createindoormode=new Ok(this._coreMap,Di)),this._createindoormode.createIndoormode(o)};Qu.prototype.closeIndoormode=function(){return this._createindoormode||(this._createindoormode=new Ok(this._coreMap,Di)),this._createindoormode.close()};Qu.prototype.SunshineAnalysisPoint=function(o,A){return this._SunshineAnalysis.sunshineAnalysisPoint(o,A)};Qu.prototype.SunshineAnalysisPolygon=function(o,A){return this._SunshineAnalysis.sunshineAnalysisPolygon(o,A)};Qu.prototype.createModelSection=function(o){return new Gdt(this._earthCtrl,o)};var kPe=Qu;function wW(o,A){if(this._earthCtrl=o,!O(A.flagHtml))throw new Ai("flagDiv is required.");this._flagHtml=A.flagHtml,this._options=oe(A,oe.EMAIL),this._circleRadius=oe(A.circleRadius,10),this._lon=oe(A.lon,121),this._lat=oe(A.lat,31),this._height=oe(A.height,0),this._show=oe(A.show,!0),this._flagScale=oe(A.flagScale,4),this._circleColor=oe(A.circleColor,Ve.RED),this._cylinderColor=oe(A.cylinderColor,Ve.YELLOWGREEN),this._duration=oe(A.duration,2e3),this._gradient=oe(A.gradient,2),this._count=oe(A.count,2),this._canvasZoom=oe(A.canvasZoom,10),this._circleEntity=void 0,this._cylinderEntity=void 0,this._lineEntity=void 0,this._htmlPlaneEntity=void 0,this._linePlaneEntity=void 0,this._flagDiv=document.createElement("div"),this._flagDiv.style.opacity="0.7",this._flagDiv.style.margin="0",this._flagDiv.style.padding="0",this._flagDiv.id=oe(A.id,Rl()),this._flagDiv.innerHTML=this._flagHtml,this._show&&this.addToMap()}wW.prototype.removeFromMap=function(){O(this._circleEntity)&&(this._earthCtrl.entities.remove(this._circleEntity),this._circleEntity=void 0),O(this._cylinderEntity)&&(this._earthCtrl.entities.remove(this._cylinderEntity),this._cylinderEntity=void 0),O(this._lineEntity)&&(this._earthCtrl.entities.remove(this._lineEntity),this._lineEntity=void 0),O(this._linePlaneEntity)&&(this._earthCtrl.entities.remove(this._linePlaneEntity),this._linePlaneEntity=void 0),O(this._htmlPlaneEntity)&&(this._earthCtrl.entities.remove(this._htmlPlaneEntity),this._htmlPlaneEntity=void 0)};wW.prototype.addToMap=function(){let o=this,A=0,f=2,m,C=Z.fromDegrees(o._lon,o._lat,o._height);if(O(o._circleEntity)||(o._circleEntity=o._earthCtrl.entities.add({position:C,ellipse:{height:o._height,semiMinorAxis:o._circleRadius,semiMajorAxis:o._circleRadius,material:new iG({duration:o._duration,gradient:o._gradient,color:o._circleColor,count:o._count})}})),!O(o._cylinderEntity)){let y=o._circleRadius*2/5,I=o._circleRadius*3/4;m=vw.changeCartesian3Height(C,I/2),o._cylinderEntity=o._earthCtrl.entities.add({position:m,cylinder:{length:I,topRadius:y,bottomRadius:y,fill:!0,outline:!1,material:o._cylinderColor}})}if(O(o._lineEntity)||(A=o._circleRadius*o._flagScale+o._height,o._lineEntity=o._earthCtrl.entities.add({polyline:{width:f,positions:Z.fromDegreesArrayHeights([o._lon,o._lat,o._height,o._lon,o._lat,A]),material:o._cylinderColor}})),!O(o._htmlPlaneEntity)){A=o._circleRadius*o._flagScale;let y=A/5,I=y*3,v=A-y/2,B=4*f,Q=new Z(B/2,0,v),T=vw.changeCartesian3ByScalar(C,Q);this._linePlaneEntity=o._earthCtrl.entities.add({position:T,plane:{plane:new ca(Z.UNIT_Y,0),dimensions:new rt(B,y),material:o._cylinderColor}});let w=new Z(I/2+B,0,v);m=vw.changeCartesian3ByScalar(C,w);let S=o._flagDiv,D=o._canvasZoom,R=document.createElement("canvas");R.width=10*y/I*D,R.height=10*D,_G.drawDocument(S,R,{zoom:D}).then(function(P){o._htmlPlaneEntity=o._earthCtrl.entities.add({position:new Hr(E,!1),plane:{plane:new Hr(x,!0),dimensions:new rt(I,y),material:new Yd({image:P.image,transparent:!0})}})},function(P){console.info(P)})}function E(){return m}function x(){let y=new Z;return y=Z.negate(Z.UNIT_Y,y),new ca(y,0)}};wW.prototype.updateMap=function(){O(this._circleEntity)&&(this._circleEntity.show=this.show),O(this._cylinderEntity)&&(this._cylinderEntity.show=this.show),O(this._lineEntity)&&(this._lineEntity.show=this.show),O(this._linePlaneEntity)&&(this._linePlaneEntity.show=this.show),O(this._htmlPlaneEntity)&&(this._htmlPlaneEntity.show=this.show)};Object.defineProperties(wW.prototype,{show:{get:function(){return this._show},set:function(o){this._show=o,this.updateMap()}}});var Hdt=wW;function wle(o,A){this._earthCtrl=o,this._scene=o.coreMap.scene,this._options=O(A,oe.EMPTY_OBJECT),this._color=oe(A.color,Ve.RED),this._lon=oe(A.lon,121),this._lat=oe(A.lat,31),this._height=oe(A.height,0),this._statistics=oe(A.statisticData,1e3),this._radius=oe(A.radius,100),this._duration=oe(A.duration,2e3),this._gradient=oe(A.gradient,2),this._count=oe(A.count,2),this._scale=oe(A.dataScale,1),this._show=oe(A.show,!0),this._billboardWidthRatio=oe(A.billboardWidthRatio,1.2),this._billboardHeightRatio=oe(A.billboardHeightRatio,2.4),this._prefix=oe(A.prefix,""),this._scaleByDistance=oe(A.scaleByDistance,new Eo(1500,3,15e3,.1)),this._topFillColor=oe(A.topFillColor,Ve.fromCssColorString("#323232")),this._circleEntity=void 0,this._cylinderEntity=void 0,this._billboardEntity=void 0,this._position=Z.fromDegrees(this._lon,this._lat,this._height),this._show&&this.addToMap()}var ZR=new Z;wle.prototype.addToMap=function(){let o=this;if(O(o._circleEntity)||(o._circleEntity=o._earthCtrl.entities.add({position:o._position,ellipse:{height:o._height,semiMinorAxis:o._radius,semiMajorAxis:o._radius,material:new iG({duration:o._duration,gradient:o._gradient,color:o._color,count:o._count})}})),!O(o._cylinderEntity)){ZR=Z.clone(o._position,ZR);let A=o._statistics*o._scale,f=kr.eastNorthUpToFixedFrame(ZR),m=new Z(0,0,A/2);Re.multiplyByPoint(f,m,ZR),o._cylinderEntity=o._earthCtrl.entities.add({position:ZR,cylinder:{length:A,topRadius:o._radius/10,bottomRadius:o._radius/10,fill:!0,outline:!1,material:o._color}})}if(!O(o._billboardEntity)){ZR=Z.clone(o._position,ZR);let A=o._cylinderEntity.cylinder.length._value,f=Rt.fromCartesian(ZR),m=Z.fromRadians(f.longitude,f.latitude,f.height+A);o._billboardEntity=o._earthCtrl.entities.add({position:m,billboard:{scaleByDistance:o._scaleByDistance,verticalOrigin:hn.BOTTOM,width:o._radius/o._billboardWidthRatio,height:o._radius/o._billboardHeightRatio,image:_Ui(o._color,o._topFillColor,o._prefix+o._statistics,o._radius).toDataURL()}})}};wle.prototype.removeFromMap=function(){O(this._cylinderEntity)&&(this._earthCtrl.entities.remove(this._cylinderEntity),this._cylinderEntity=void 0),O(this._circleEntity)&&(this._earthCtrl.entities.remove(this._circleEntity),this._circleEntity=void 0),O(this._billboardEntity)&&(this._earthCtrl.entities.remove(this._billboardEntity),this._billboardEntity=void 0)};function yUi(o,A,f,m){o.save(),o.strokeStyle="rgba(0,0,0,0)",o.scale(m/150,m/100),o.save(),o.fillStyle=A.toCssColorString(),o.lineWidth=4,o.beginPath(),o.moveTo(77.8,82.1),o.lineTo(64.6,69),o.lineTo(23.8,69),o.bezierCurveTo(20.8,69,18.3,66.5,18.3,63.5),o.lineTo(18.3,22.5),o.bezierCurveTo(18.3,19.5,20.8,17,23.8,17),o.lineTo(131.8,17),o.bezierCurveTo(134.8,17,137.3,19.5,137.3,22.5),o.lineTo(137.3,63.5),o.bezierCurveTo(137.3,66.5,134.8,69,131.8,69),o.lineTo(90.9,69),o.lineTo(77.8,82.1),o.closePath(),o.moveTo(23.8,18),o.bezierCurveTo(21.3,18,19.3,20,19.3,22.5),o.lineTo(19.3,63.5),o.bezierCurveTo(19.3,66,21.3,68,23.8,68),o.lineTo(65,68),o.lineTo(77.7,80.7),o.lineTo(90.5,68),o.lineTo(131.8,68),o.bezierCurveTo(134.3,68,136.3,66,136.3,63.5),o.lineTo(136.3,22.5),o.bezierCurveTo(136.3,20,134.3,18,131.8,18),o.lineTo(23.8,18),o.closePath(),o.fill(),o.stroke(),o.restore(),o.save(),o.fillStyle=f.toCssColorString(),o.beginPath(),o.moveTo(131.8,18),o.lineTo(23.80000000000001,18),o.bezierCurveTo(21.30000000000001,18,19.30000000000001,20,19.30000000000001,22.5),o.lineTo(19.30000000000001,63.5),o.bezierCurveTo(19.30000000000001,66,21.30000000000001,68,23.80000000000001,68),o.lineTo(65,68),o.lineTo(77.7,80.7),o.lineTo(90.5,68),o.lineTo(131.8,68),o.bezierCurveTo(134.3,68,136.3,66,136.3,63.5),o.lineTo(136.3,22.5),o.bezierCurveTo(136.3,20,134.2,18,131.8,18),o.closePath(),o.fill(),o.stroke(),o.restore(),o.restore()}function IUi(o,A,f){let m=f/1.4,C=m,E=m;A.width>A.height?E=m*(A.height/A.width):A.width<A.height&&(C=m*(A.width/A.height));let x=f/150*8,y=Math.round((f-C+x)/2),I=Math.round((5/6*f-E)/2);o.drawImage(A,y,I,C,E)}function _Ui(o,A,f,m){let C=document.createElement("canvas");C.width=m,C.height=m;let E=C.getContext("2d");yUi(E,o,A,m);let x=m,y=l3(f,{font:`bold ${x}pt Microsoft YaHei`,fillColor:o});return IUi(E,y,x),C}Object.defineProperties(wle.prototype,{billboard:{get:function(){return this._billboardEntity}},cylinder:{get:function(){return this._cylinderEntity}},circle:{get:function(){return this._circleEntity}},show:{get:function(){return this._show},set:function(o){O(this._billboardEntity)&&(this._billboardEntity.show=o),O(this._cylinderEntity)&&(this._cylinderEntity.show=o),O(this._circleEntity)&&(this._circleEntity.show=o)}}});var Vdt=wle;function OPe(o,A){if(this._earthCtrl=o,this._scene=o.coreMap.scene,this._options=oe(A,oe.EMPTY_OBJECT),this._color=oe(A.color,Ve.RED),this._lon=oe(A.lon,121),this._lat=oe(A.lat,31),this._height=oe(A.height,0),this._show=oe(A.show,!0),this._containerWidth=oe(A.containerWidth,200),this._containerHeight=oe(A.containerHeight,200),this._containerColor=oe(A.cylinderColor,Ve.YELLOWGREEN),this._canvasZoom=oe(A.canvasZoom,10),this._scaleByDistance=oe(A.scaleByDistance,new Eo(1500,3,15e3,.1)),this._tipsHtml=A.tipsHtml,this._tipsEntity=void 0,this._tipsDiv=document.createElement("div"),this._tipsDiv.style.opacity="0.7",this._tipsDiv.style.margin="0",this._tipsDiv.style.padding="0",this._tipsDiv.id=oe(A.id,Rl()),this._tipsDiv.innerHTML=this._tipsHtml,!O(A.tipsHtml))throw new Ai("tipsHtml is required.");this.addToMap()}OPe.prototype.removeFromMap=function(){O(this._tipsEntity)&&(this._earthCtrl.entities.remove(this._tipsEntity),this._tipsEntity=void 0),O(this._tipsDiv)&&(this._earthCtrl.entities.remove(this._tipsDiv),this._tipsDiv=void 0)};OPe.prototype.addToMap=function(){let o=this,A=Z.fromDegrees(o._lon,o._lat,o._height);if(!O(o._tipsEntity)){let m=o._containerHeight,C=o._containerWidth,E=o._canvasZoom,x=o._tipsDiv,y=document.createElement("canvas");y.width=C,y.height=m,_G.drawDocument(x,y,{zoom:E}).then(function(I){o._tipsEntity=o._earthCtrl.entities.add({position:new Hr(f,!1),billboard:{scaleByDistance:o._scaleByDistance,verticalOrigin:hn.BOTTOM,width:C,height:m,image:I.image.src}})},function(I){console.info(I)})}function f(){return A}};var zdt=OPe;function Jk(o,A){this._earthCtrl=o,this._scene=o.coreMap.scene,this._options=oe(A,oe.EMPTY_OBJECT),this.element=document.createElement("div"),this._html=oe(A.html,""),this._lon=oe(A.lon,121),this._lat=oe(A.lat,31),this._height=oe(A.height,10),this._show=oe(A.show,!0),this._removeHandler=void 0,this._pos=void 0,this._position=void 0,this._c=void 0,this._changedC=void 0,this._point=void 0,this._parameter=A,this._rtti="ScreenDialog",this.isInit=!1,this.isInit===!1&&this.addToMap()}Jk.prototype.setHtml=function(o){this.element.innerHTML=o};Jk.prototype.setShow=function(o){if(!this.isInit)return 0;this.element.style.display=o?"block":"none"};Jk.prototype.showAt=function(){if(!this.isInit)return 0;this._position&&(this._pos=ms.wgs84ToWindowCoordinates(this._scene,this._position),this._pos&&(this.element.style.left=`${this._pos.x}px`,this.element.style.top=`${this._pos.y}px`))};Jk.prototype.removeFromMap=function(){this.element.remove(),this.isInit=!1};Jk.prototype.addToMap=function(){if(this.isInit)return 0;CA(".map-widget",this.element),this.element.innerHTML=this._html,this.element.style.position="absolute",this.isInit=!0,this._position=Z.fromDegrees(this._lon,this._lat,this._height),this.showAt(),this._c=new rt(this._pos.x,this._pos.y);let o=this;this._scene.camera.moveStart.addEventListener(function(){o._removeHandler=o._scene.postRender.addEventListener(function(){if(o._c){let A=new a3(Ci.WGS84,o._earthCtrl.camera._camera.position);A&&o._position&&(A.isPointVisible(o._position)===!1?o.setShow(!1):(o._show===!0&&o.setShow(!0),o._changedC=ms.wgs84ToWindowCoordinates(o._scene,o._position),o._changedC?(o._c=o._changedC,o.showAt()):o.setShow(!1)))}})}),this._scene.camera.moveEnd.addEventListener(function(){o._removeHandler&&o._removeHandler.call()})};Object.defineProperties(Jk.prototype,{show:{get:function(){return this._show},set:function(o){this._show!==o&&(this._show=o,this.setShow(o))}},html:{get:function(){return this._html},set:function(o){this._html!==o&&(this._html=o,this.setHtml(o))}},lon:{get:function(){return this._lon},set:function(o){this._lon!==o&&(this._lon=o,this._position=Z.fromDegrees(this._lon,this._lat,this._height),this.showAt())}},lat:{get:function(){return this._lat},set:function(o){this._lat!==o&&(this._lat=o,this._position=Z.fromDegrees(this._lon,this._lat,this._height),this.showAt())}},height:{get:function(){return this._height},set:function(o){this._height!==o&&(this._height=o,this._position=Z.fromDegrees(this._lon,this._lat,this._height),this.showAt())}}});var Ydt=Jk;function bW(o){this._earthCtrl=o,this._coreMap=o.coreMap}bW.prototype.createStatisticFlag=function(o){return new Hdt(this._earthCtrl,o)};bW.prototype.createStatisticCylinder=function(o){return new Vdt(this._earthCtrl,o)};bW.prototype.createTipsContainer=function(o){return new zdt(this._earthCtrl,o)};bW.prototype.createScreenDialog=function(o){return new Ydt(this._earthCtrl,o)};var Jdt=bW;function Ut(o,A){var f=ble();return Ut=function(m,C){m=m-125;var E=f[m];return E},Ut(o,A)}function ble(){var o=["Unsupported state or unable to authenticate data","ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","GeneratorFunction","fileName","write","PassThrough","_secCache","onlyShowShells","af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","pipe count=%d opts=%j","process","_getDoubles","_hasDoubles","ERR_BUFFER_OUT_OF_BOUNDS","pers","p25519","getBlob","on readable","readIntLE","_emscripten_builtin_memalign","setAttribute","inf","zero2","SetInstancesMaterialId","sum64_5_hi","ch32","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82","000","addn","forEach","out of range index","pbkdf2","EncoderBuffer","_final","endReadable","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8","Argument must not be a number",'The "value" argument must not be of type number. Received type number',"nodejs.util.inspect.custom","ERR_INVALID_OPT_VALUE","magenta","delete","ResizeRenderSize","warned",'" argument must be of type number. Received type ',"_tag","ERR_MISSING_ARGS","uid","argv","_extAdd","parent","733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","stackAlloc","freemem","pid",'{"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}',"9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee","ERR_BAD_RESPONSE","i32d","_getBuffer",'Expected "actual" to be loosely unequal to:',"minv","lambda",'The "%s" argument is ambiguous. %s',"beta","path=",'Expected "actual" not to be reference-equal to "expected":',"5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d","c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","an integer","pending",", or ","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09","instance of Promise","green","patch","8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6","Set","_sqlite3_column_text","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82","isArray","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81","i64",'Failed to decode tag of "',"d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","stdout","removeListener","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8","_write()","setof","85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83"," and < 2","inotn","prefinish","_length","propertyIsEnumerable","Decipher","WeakMap","[Getter/Setter]","Not implemented","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b","isURLSearchParams","pub","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629",", and ","promise","leaveObject","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55","writeInt32BE","ERR_METHOD_NOT_IMPLEMENTED","doubles","substr","output"," y: ","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38","sham","message too long","mul","pendingcb","_encoding","Form","shr64_lo","divmod","1.2.840.113549.1.1.1","endo","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b","outLen","c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","_wnafT2","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd","df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","apply","strictEqualObject","offset must be a uint32","Failed","enableMouseHover","children","octstr","writeBigUInt64LE","File","_free","redISqr works only with red numbers","85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","Init","_flush","set","_importPrivate","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2","This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.","age","f64","corkedRequestsFree","GetInstancesBox","[object Set Iterator]","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6","symlink","step","\x1B[34m","fsync",'Expected "actual" to be strictly unequal to:',"status","doesNotThrow","endReadableNT","_sqlite3_column_double","onUploadProgress","idivn","prime1",", at: ","dir","redIAdd","exponent2","issuerUniqueID","once","threeA","_encodeObjid","description","<Buffer ","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962","getSQL","774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","stackTraceLimit","INSPECT_MAX_BYTES","b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","invalid sig","modelList","p256",'" is invalid for option "size"',"PickIdSync","DEP0094","entropyEnc","8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","- expected","DataView","SUB_MIX","SQLEngine","call","isEncoding","_isBuffer","_sqlite3_column_count","blocksize","wasm streaming compile failed: ","getOwnPropertyDescriptor","extnID","Function","_ghash","/dev/shm","setFileName","SetModelExpressTypeStatus","Matrix4","eject","wrapFn","toJSON","[object Date]","val must be string, number or Buffer","issuer","/dev/stdin","64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1","data:application/octet-stream;base64,","_sqlite3_bind_text","generate",")=([^;]*)","Not implemented yet","Cannot pipe, not readable","Salt","GCM","instantiate","tagStr","listenerCount","stackSave","MouseHover","_events","SetSelectColor","endian","cachedProperty","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0","utils","c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","_secret","responseText","isFileList",'"allowMissing" argument must be a boolean',"_sqlite3_data_count","printErr","dataStoreDataCurrentBufferBlockIndex","DEP0003","configurable","env","EncryptedPrivateKeyInfo","isSet","_useArgs","sha384","slice","00000000000","encodePoint","_bimTexture","3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","input","val1","isUndefined","des3","init","%Object.defineProperty%","_cesiumWidget","writableBuffer","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec","constants"," after a stream was destroyed","iaddn","isArrayBufferView","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03","render","warn","isDeepEqual","application/x-www-form-urlencoded","t61str","two","Database closed","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"," bits","pointFromX","KeyPair is public only","aborted","lastReject","entry","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4","unknown tag: ","enterObject","Child should have a key","path.exists is now called `fs.exists`.","Module","fired"," does not exist!","removeEventListener","Invalid key length","toGMTString","prime2","_decodeTag","gid","canonical","_cl","invm","_decodeObjid","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc","type ","uncork","toJ","property names with quotes must have matching quotes","data too long for modulus","byte array longer than desired length","rotr64_lo","CancelOperatingStatus","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661","CancelMaterialEdit","Object.keys called on a non-object","8434629iPRhMg","preRun","_signType","sqlite3_result_blob","ui8d","position","hasUnpiped","_des","getPrivate","_sqlite3_errmsg","lastBufferedRequest","2509760xGBPyA","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096","pickWorldPosition","toISOString","18yHwiaf","decode"," !== ","regexp","[object WeakSet]","90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","seen","importKey","r28shl","redInvm","_decodeChoice","ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d","290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","private","head","writeencoding","DSA PRIVATE KEY","Int32Array","validateStatus","redSqr works only with red numbers","off","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd","computeSecret","shln","onfinish","imaskn works only with positive numbers","ECParameters","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61","_delta8","_block","copyWithin","compressed","ERR_OUT_OF_RANGE","_writev","pbkdf2Sync","columns","inverseViewMatrix","[object WebAssembly.Module]"," exists, but the property is not available.","iuxor","isNeg","723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","HEAPU32","GMT","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d","reseed","graphstr","modelTotalCount","Feb","setEncoding","Need both x and y coordinate","validators","process.chdir is not supported","promiseFn","_Sencoded","wnd","parameters","ERR_INVALID_RETURN_VALUE","padSplit","_hh","trpl","failed to asynchronously prepare wasm: ",'" is invalid for option "',"_baseState","p32","unlink","worldMatrix","username","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414","fail","define","_stage","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c","asyncIterator","_randbelow","AsyncFunction","_expand","subn","notIdentical","entries","web_user","write after end","The last argument must be of type Function","ERR_UNKNOWN_ENCODING","root","now","timeout","wrapped end","valueOf","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5","customInspect","emitReadable_","_called","decodePoint","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0","00000000","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d","toTwos","autoDestroy","push","bufferOff","modulus","Reseed is required","PickWorldPositionSync","iadd","__esModule","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e","secret","pendingTotal","top","ERR_STREAM_CANNOT_PIPE","_read","secp256r1","log","p384","_sqlite3_bind_double","timestamp","nonce","_sqlite3_reset","iabs","Need x coordinate","errorOrDestroy"," Lines skipped","grow","clz32","30vucNvI","_getEndoBasis","each","_sqlite3_result_double","content-length","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3","___wasm_call_ctors","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f","languages",'Actual message: "',"red works only with red numbers","getSeconds","split32","6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","_pubBytes","cookie","_encodeComposite","Running...","sign","_sqlite3_bind_parameter_index","Unhandled error.","lastPromise",").constructor;","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125","pathname",". Received type ","bold","setn","k256","defaultEncoding","d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","GetData","value","dataStoreArrayBuffer","Cancel","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4","writeUInt16LE","GetComponentMaterialId","argument should be a Buffer","redMul","byteLength","error/message","/dev/stdout","setAAD","SaveShell","do read","isDecoderBuffer","msCrypto","isub","0000000","_parseHex","signatureAlgorithm","ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831","_toArrayLikeBE","acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","ecdsa/rsa","Decoding of string type: ","ctime","BYTES_PER_ELEMENT","XSRF-TOKEN","[Emscripten Module object]","existsSync","7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","special",">= -(2","link","headers","type","[object AsyncFunction]","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10","[Circular]","null","c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","[Function","_cache","redPow(normalNum)","isString","naf","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589","PickId","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7","347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","sharedData","352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","_fixedNafMul","toBuffer","HEAPF64","f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","writeUIntBE","interceptors","maybeReadMore read 0","redMul works only with red numbers","(shallow)","f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","Already a number in reduction context","ucs-2","hmacStrength","sunDirectionWC","rotr64_hi","feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","onRuntimeInitialized","common","000000000000000","PickWorldNormal","href","maskn","Unable to allocate memory for the SQL string","_getBeta","clientX","silentJSONParsing","arrayBufferBlockMaxByteLength","reverseArgs","max","false write response, pause","filename","every",'Failed to match body of: "',"setRequestHeader","andln","getDay","dblp","xsrfCookieName","tail","_encodeStr","sqlite3_result_double","seqof","pow","dbl","UNSIGNED_BYTE","des-ede3","Attempting to set auth tag in unsupported state","PEM section not found for: ","adapter","prime192v1","response","shl","%AsyncGenerator%","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402","readUint16LE","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f",'The "string" argument must be of type string. Received type number',"EnableAngularLines","RSAPublicKey","PresetCurve","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e","substring","modelId \u4E0D\u6B63\u786E","msgType","_priv","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58","version","observe","-----BEGIN ","extensions","notBefore","Rencoded","CBC","ShowModel","reading","toP"," not found in ","getBytes","match","sqlite3_errmsg","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c","bar","toFormData","reporter","_endoWnafT1","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f","INV_SUB_MIX","extended","readSync","fromSecret","afterTransform","win32","OnInitialized","getFileName","Cipher","DES","HEAPU8","instance","notDeepEqual","AxiosError","64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","maxTextureSize","instance of ","readableHighWaterMark","_projAdd","_sqlite3_bind_blob","big","readableObjectMode","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4","Public key is not a point","debuglog","sqlite3_open","pipes","destroy","json","getUniqueId","String","pipesCount","mOneA","dataCallBack","Unsupported tag: ","ltn","embed","_fl","Missing expected ","close","ERR_DEPRECATED",` `,"textD","des-ede3-cbc","_bitLength","readUInt16LE","_key","symbol","size","rejects","drain","allowHalfOpen","Callback called multiple times","clear","b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","return","frameState","0000000000000000","_endoSplit","pop","FS error",". Received ","SetComponentTransform"," method is not implemented","emit","ENCRYPTED PRIVATE KEY","lastNeed","createDiffieHellmanGroup","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088","_flushBuffer","keys","width","must not be","twisted","getUTCMinutes","1332DjcmMI","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482","pc2","GetCurrentVisibleModelId","postMessage"," arguments","da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","p224","_pad","fillLast","rinv","isqr","isBoxedPrimitive","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7","gRed","alias","Public key * N != O","Invalid IV length","des-ede-cbc","Expected ","_dl","6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913","writeFloatBE","charAt","privBytes","_skipUntilEnd","AES","bitLength","writeBigUInt64BE","readFile","8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","stackRestore","/proc/self","VERSION","_getString","negative","algo","hex","a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","bufferedRequestCount","pubEnc","Unknown file open mode: ","prefinished","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc","_decode","frustum","oneC","p192","isBoolean","_decodeTime","Signature without R or S","lastTotal","primitive","compare","ERR_STREAM_WRITE_AFTER_END","key","writecb","bmpstr","notn","mtime","ireduce","deprecate","_getUse","setTimeout has not been defined","/tmp","<BN-R: ","Sencoded","isMainRender","cmp","lookup","utf16le","_gh","kde","_wrap","Attempting to get auth tag in unsupported state","[object GeneratorFunction]","ended","_hmac","000000","shift","isFormData","'name' must be a string","chdir","rawListeners","secp384r1","throwDeprecation","_multiply","divn","property","_unpad","000000000000000000000000","Rand","cbId","getY","target","model","77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","Attempt to allocate Buffer larger than maximum size: 0x","SlowBuffer","versions","ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","redIAdd works only with red numbers","iand","reading or ended","BlockHash","809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","sqlite3_value_blob","maxRenderTriangleCount","getUTCMonth","emitter","5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72","_wnafT1",'"buf" argument must be a Buffer or Uint8Array',"5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","_sqlite3_result_text","p521","isPlainObject","isUint32Array","rotl32","objDesc","_readableState","hasOwnProperty","working","_encodeInt","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f","sqlite3_bind_int","_fh","fine_bim","non-byte EncoderBuffer value","Function.prototype.bind called on incompatible ","isEncoderBuffer","_read()","isubn","fermatTest","Not supported","digest","ERR_INVALID_ARG_TYPE","values","_transform","_sqlite3_result_int","a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d","jumlAdd","must be","/dev/stderr","invalid type for setValue: ","pipeOnDrain","getMinutes","we accept pull requests","finished","handlePromise","privateEncrypt","equal","seq","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311","7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","Unknown encoding: ","uniqueId","some","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405","userAgent","BIM\u5BF9\u8C61\u53EA\u80FD\u521B\u5EFA\u4E00\u6B21","signatureValue","_countBits","convertFrom","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1","decryptBlock","videostr","ERR_TRANSFORM_ALREADY_TRANSFORMING","isExternal","int","isEven","sqlite3_column_name","expected","depth","transformResponse","Shadow","renderPageFocus","gte"," != ","f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","ascii","application/x-www-form-urlencoded;charset=utf-8","https","runWhen","lte","revBin","7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","_blockSize","application","7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","0123456789abcdef","SetMaterialTexture","sql-wasm.wasm","toLocaleString","localStorage","redShl works only with red numbers","readUInt16BE","hash","source","words","ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc","./CimSDK/9a5f06c19b1adf7c0291.js","base64","pointFromY","25519","pickId","_toArrayLike","skip","paused","choice","extname","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999","DecoderBuffer","_wnafT4","sqlite3_changes","readingMore","chunk","_decrypt","\x1B[39m","lineNumber","substitute","method","imuln","transform","mulTo","sum32_3","Texture","Node","V20230906","I'm `fs` modules","one of ","_update is not implemented","getUTCDate","derive",` uniform sampler2D colorTexture; uniform sampler2D depthTexture; in vec2 v_textureCoordinates; // varying vec2 v_textureCoordinates; uniform sampler2D bimTexture; const float PackUpscale = 256. / 255.;// fraction -> 0..1 (including 1) const float UnpackDownscale = 255. / 256.;// 0..1 -> fraction (excluding 1) const vec3 PackFactors = vec3(256. * 256. * 256., 256. * 256., 256.); const vec4 UnpackFactors = UnpackDownscale / vec4(PackFactors, 1.); const float ShiftRight8 = 1. / 256.; vec4 packDepthToRGBA(const in float v) { vec4 r = vec4(fract(v * PackFactors), v); r.yzw -= r.xyz * ShiftRight8;// tidy overflow return r * PackUpscale; } float unpackRGBAToDepth( const in vec4 v ) { return dot( v, UnpackFactors ); } void main(void) { vec4 cesiumColor = texture(colorTexture, v_textureCoordinates); float cesiumDepth = texture(depthTexture, v_textureCoordinates).r; // vec4 cesiumDepthColor = packDepthToRGBA(cesiumDepth); vec4 bimColor = texture(bimTexture, vec2(v_textureCoordinates.x,(1.0 - v_textureCoordinates.y) * 0.5 + 0.5)); vec4 bimDepthColor = texture(bimTexture, vec2(v_textureCoordinates.x,(1.0 - v_textureCoordinates.y) * 0.5)); float bimDepth = unpackRGBAToDepth(bimDepthColor); if(bimDepth == 0. || bimDepth == 1.){ out_FragColor = cesiumColor; } else if(bimDepth < cesiumDepth){ if((bimColor.r == 0.986868 &&bimColor.g == 0.986868 &&bimColor.b == 0.986868) || bimColor.a < 0.5){ float a1 = 1.0 - bimColor.a; out_FragColor = vec4(bimColor.r * bimColor.a + cesiumColor.r * a1, bimColor.g * bimColor.a + cesiumColor.g * a1, bimColor.b * bimColor.a + cesiumColor.b * a1, 1.0); }else{ bimColor.a = 1.0; out_FragColor = bimColor; } }else{ // gl_FragColor = cesiumColor; out_FragColor = cesiumColor; } } `,"___errno_location","_mulC","52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3","ior","state","setUniqueId","encodeInt","/dev","mode","e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","DSAparam","colorAndDepthBitmap","TYPED_ARRAY_SUPPORT","iuand","SetModelStoreyTransform","filter"," time is not supported yet","writableHighWaterMark","_encodeNull","gentime","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a","93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","console","printstr","sha512","place","intrinsic ","encodeCompressed","date","Invalid curve","ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","_sqlite3_column_blob"," function but got ","Invalid code point","serverAddress","_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","_extend",'The "emitter" argument must be of type EventEmitter. Received type ',"noExitRuntime","final","put","stub","noFSInit","eventNames","_encodeValue","sha224","%Object.getOwnPropertyDescriptor%","all","muln","_wnafT3","ERR_INVALID_ARG_VALUE","minEntropy","000000000","cwrap","base intrinsic for ","privateDecrypt","size must be a number","enum","kStringMaxLength","complete","subjectUniqueID","isBooleanObject","undestroy","tagByName","cameraWorldPosition","isFile","hashMode","CanceledError","[object FormData]","$1 ","Map","000000000000000000","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36",'"buffer" argument must be a Buffer instance',"<EC Point Infinity>","rmdir","function* () {}","expand","PBKDF2","CERTIFICATE","iuor","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4","cleanup","catch","<BN: ","[Getter]","sqlite3_value_text","writechunk","cache","highWaterMark","TBSCertificate","_alg","The argument '","little","isBigUint64Array","dest.write",'The "listener" argument must be of type Function. Received type ',"Nothing to prepare","c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e","/dev/null","throws","handlers","GET"," ** ","universal","Trying to access beyond buffer length","59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","random","591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","getDate","request","isInt32Array","Signature without r or s","e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b","worldUp","trace","bool","mulAdd","readDoubleBE","hasInstance","latin1","isInt16Array","sqrt","5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5","drawingBufferHeight","SHA-512","Buffer size must be a multiple of 32-bits","sqlite3_step","DiffieHellmanGroup","neg","_pub","bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","isStream","_sqlite3_column_type","label","normalize","objid() should be either array or string, got: ","createDecipher","rsa","ripemd160","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","writelen","getTimezoneOffset","setPrivateKey","Promise was rejected with a falsy value","toHex32","awaitDrain","useDecoder","[object HTMLCollection]","randomFill","canceled","predResist","3016HfcMcM","use","s1_256","camera","sum32","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8","[object DataView]","merge","abort","e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f"," ... ","_ishlnsubmul","_wordDiv","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257","_prime","Request aborted","read: emitReadable","unsubscribe","Object.prototype.toString","if-modified-since","500668BzpqbY","not ","binding","verifyError","stringify","\\\\?\\UNC\\","decoder","name","sum32_5","one","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589","obj","wordSize","toArray","listeners","Instance","<Key priv: ","GetTextureList","[object Arguments]","Cannot call a class as a function","secp256k1","sum64_4_lo","dataStoreDataByteOffset","cwd","privEnc","SetClipPlane","writeInt32LE","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b","error","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1","testn","writeBigInt64LE","Sign","tag","getPrototypeOf","red works only with positives","_cipher","getFullYear","Decoding of string type: numstr unsupported characters","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff","sum64","mixedAdd",` should equal `,"SyntaxError","e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","curves","create","_ah","ineg","toByteArray","_finalized","keyFromPrivate","%Reflect.apply%","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d","return function (","encrypt","transitional","ripemd","Attempt to write outside buffer bounds","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758","iterator must be a function","timeoutErrorMessage","0xffffffffffffffff","des-cbc","listener",'The "original" argument must be of type Function',"swap64","ending","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"," has been deprecated since v","SBOX","colors","blocks","readInt32BE","nonceEnc","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373","_isPrintstr","e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","normalize13b","hostname","join","8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","view","convert13b","Resize","X509Certificate","[native code]","3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","allocUnsafe","strictEqual","startsWith","addListener","HEAPF32","context","Invalid string. Length must be a multiple of 4","time","strip","read","/home","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c","_delta32","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a","ghash","_RegisterExtensionFunctions","[object HTML document.all class]","Apr","af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","failed to load wasm binary file at '","_canRender","FileList","text","PickWorldNormalSync","exitKey","ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","subarray","ia5str","ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551","thisProgram","emitClose","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"," not implemented for encoding: ","sqlite3_column_double","_update","76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","free","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683","EDE","relativeOid","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f","readableListening","update","Readable.from is not available in the browser","drawingBufferWidth","preloadedAudios","modelDataLength","post","Buffer size must be a multiple of 16-bits","validate","sqlite3_reset","30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","sorry, createCredentials is not implemented yet","Attempting to set AAD in unsupported state","addEventListener","boolean","/dev/","SetSceneEffect","currentScript","monitorRunDependencies","setPrototypeOf","redAdd","body","gtn",'The "value" argument must not be of type number. Received type ','The "',"ERR_FR_TOO_MANY_REDIRECTS","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196","imod","custom","] Transitional option '","_eventsCount","loaded","Int8Array","daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","inspect","isGeneratorObject","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e","utf8str","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160","%Function.prototype.apply%","RangeError","48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","getKeyRecoveryParam","readUInt8","trying to set aad in unsupported state","_mulA","00000000000000000000","_normSign","statusText","captureStackTrace","May","currentOffsetStartTemp","falling back to ArrayBuffer instantiation","Invalid character in ","viewMatrix","exception","_sqlite3_close_v2","g1_256","default","prependListener","0000000000000","https://github.com/crypto-browserify/crypto-browserify","_getEndomorphism","getCiphers"," is outside of buffer bounds","uniformState","Array","ipad2","external","_sqlite3_result_null","modelIndexOffsetStart","writeUint16BE","secure","isBigInt64Array","_strip","sha256","http","errors","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc","2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f",'"offset" is outside of buffer bounds',"getJSF",'The error "',"objid","readBigUInt64BE","has","throwIfRequested","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f","utctime","_Rencoded","Not enough entropy. Minimum is: ","fromCharCode","getMonth","_zeroBits","toLowerCase","_decodeBool","messagePrefix","file://","pubBytes","Uint32Array","isDate","salt should be Buffer with 8 byte length","bitstr","resume","AlgorithmIdentifier","fineWorker","_encodeChoice","_authTag",'The "target" argument must be one of type Buffer or Uint8Array. Received type ',"sqlite3_column_text","isWeakMap","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482","Object","eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c","readInt32LE","__proto__","forceRed","tmp","redSub","tty","readBigInt64BE","writeInt16LE","ERR_MULTIPLE_CALLBACK","construct","prepare","36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","SetModelExpressTypeTransform","swap16","174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","expressTypeVisibleDistanceDataView","Uint8Array","randomBytes","subjectPublicKey","assign","SharedArrayBuffer","decryption error","getAllResponseHeaders","674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","_decodeStr","redShl","Accept","00000","385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","UTC","cos","Transform","redIMul","d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","<generic error, no stack>","promisify","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8","PrivateKey","createDecipheriv","egcd","corked","sqlite3_column_blob","viewer","BigUint64Array","isFloat32Array","Stream","SetInstancesTransform","e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41",' to be returned from the "',"prototype","Unknown message digest","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e","Verify","a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1","test","ERR_ASSERTION","_len","%AsyncGeneratorFunction%","extend","subjectPrivateKey","createNode","wrapResult","fulfilled","encoders","_sqlite3_value_double","SetExpressTypeVisibleDistance","conjugate","sin"," bytes","utf-8","_sqlite3_changes","reason","toRed","gten","tagClassByName","rip","floor","pickWorldNormal","ERR_STREAM_PREMATURE_CLOSE","Float32Array","9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","-e4437ed6010e88286f547fa90abfe4c3","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2","isWeakSet","LN2","postProcessStages",".prototype.","clearTimeout has not been defined","isSymbol","point","rng","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4","mulp","%GeneratorFunction%","AddModel","Unsupported protocol ","bufferProcessing","WritableState","privateExponent","SetMaterialColor","Uint8ClampedArray","sqr","Argument must be a number","s0_256","includes","_finalDecrypt","append","entropy","ECONNABORTED","rand","Jun","stderr","writing","unknown curve ","FrameSelection","finish","isInt8Array","isAnyArrayBuffer","May not write null values to stream",'Expected "actual" not to be strictly deep-equal to:',"params","async function* () {}","objid not found in values map","Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark","location","_invmp","8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","_sqlite3_result_int64","URLSearchParams","sync","allowSingleMeshMaxTriangleFaceQuantity","cancel","_view","coefficient","wrapped _read","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d","BasePoint","options must be an object","4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","permute","_alen","imulK","Float64Array","isDataView","req","_initArray","Multi-octet tag encoding unsupported","genKeyPair","ceil","asm","lastResolve","_cbcState","00000000000000000","actual","guessLen13b","enumerable","Decipheriv","maj32","only tested with ed25519 so far","enterKey","pause","Jan","left","clock","_decodeList","ixor","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a","initializeFrame","port","_getEndoRoots","c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","/dev/tty","genstr","getPrivateKey","_bl","Blob","sqlite3_prepare_v2","exists","getUTCSeconds","affine","isNumber","toArrayLike","isPoint","entity","isBuffer","prependOnceListener","useCache"," exists, but is not available. Please file an issue!","isArgumentsObject","EncryptedPrivateKey","tinv","TypeError","ciphers","80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","toNumber","EvalError","0x8000000000000000","0000000000000000000","jmulAdd","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a","redISub works only with red numbers","isStringObject","29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67","ownKeys","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476",'{"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"}',"1.2.840.10045.2.1","Bad key length","instantiateWasm","iushln","cmpn","sqlite3_column_bytes",'The value of "',"Cesium","critical","Root node can have only one child","fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","reduce","8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","ushln"," at: ","url","expressTypeVisibleDistanceArrayBuff","projectionMatrix","ecdsa","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453","000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","isBN",'"list" argument must be an Array of Buffers',"resolve","SubjectPublicKeyInfo","Assertion failed: ","delimiter","getDiffieHellman","d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","curve","_transform()","SetData","26WpXCXV","isDeepStrictEqual","Unknown option ","AsyncGeneratorFunction","decodeInt","redInvm works only with red numbers","RDNSequence","redNeg","000000000000","Wrong API use : tried to bind a value of an unknown type (","timeout exceeded","cameraId","makeRBT","fromJSON","fill","umod","tree","MozMutationObserver","_isNumstr","ishrn","_truncateToN","simpleSieve","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650",'The "util.promisify.custom" argument must be of type Function',"zeroA","content","length","@@toPrimitive must return a primitive value.","_sqlite3_finalize","utf-16le","double","JSON","2141562wgfgZS","prime","Time","PostProcessStage","real",'{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}',"createDiffieHellman","redPow","xor"," has been removed","BigInt is not supported","_reporterState","stdin","SHA-384","stylize","_encodeTime","isError","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01","iterateStatements","flags","product","RGBA","readUIntBE","Unknown prime ","verify","sqlite3_column_count","[Object]","/dev/tty1","ReferenceError","baseURL","any","precompute","Number can only safely store up to 53 bits","fromByteArray","74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","needTransform","Bim","isEmpty","raw","isSetIterator","_mode","reseedInterval","keyFromSecret","_invKeySchedule","isInteger","928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","The ","00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00","redSqrt","inner","_sqlite3_create_function_v2","xsrfHeaderName","0.27.2","frameMaxRenderMemoryLength","eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","Arguments to path.resolve must be strings","postRun","_encode","i32","getBox","locateFile","browser","function","_getEncoder","_cbcInit","same-origin","super_","getTime","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87","near","5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","args","stack","_rand","_destroy","isNativeError","_nRounds","AssertionError [ERR_ASSERTION]","streams","bincn","isFloat64Array","isPaused","return function*() {}","toBytes",'Failed to match tag: "',"wrap","nextTick","convertTo","getColorDepth","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2","/home/web_user","public point not validated","onload","isAxiosError","iso646str","sum64_5_lo","writeDoubleBE","objectMode","iushrn","der","onmessage","length octect is too long","isPromise","timeEnd","No value argument passed to `assert.ok()`","4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","string objid given, but no values map found","8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","upload","object","4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","writeUInt32LE","unblinder","_decodeNull","_sqlite3_result_blob","ERR_AMBIGUOUS_ARGUMENT","undefined","22dVhqpK","1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","_write","bim","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700","e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13","subject","_prepareBlock","Key length not a number","_sqlite3_bind_int","e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","secp192r1","defaults","Index out of range","deepEqual","expires",">= ","signal","defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","shrn","uand","dirname","encryptBlockRaw","message","%AsyncIteratorPrototype%","redSqr","cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","prompt","meshCount","RegisterExtensionFunctions",`, `,"getAuthTag","_gl","MutationObserver","modelData","endEmitted","concat","redSqrt works only with red numbers","`%` may not be present anywhere but at the beginning and end of the intrinsic name","blinder","0000","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437","sub","pointClass","7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee","%s - %s","0x7fffffffffffffff","[object HTMLAllCollection]","eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","\x1B[32m","defaultMaxListeners","ExecScript","getOwnPropertySymbols","trying to get auth tag in unsupported state","onerror","_opad","ClearShell","modrn","tagged","isAbsolute",'The value "','" is identical to the message.',"_digest","writableObjectMode","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374",'" is invalid for argument "value"',"wasmBinary","redSub works only with red numbers","readUInt32BE","isBigIntObject","SetComponentMaterialId","mulf","<EC JPoint x: ","alloc","ERR_STREAM_PUSH_AFTER_EOF","_use","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6","[object Generator]","positionWC","password","auth","toUpperCase","sha1","getColumnNames","_dh","ERR_CANCELED","readlink","commands","path","dsa",". Build with -s ASSERTIONS=1 for more info.",'The "size" argument must be of type number. Received type ',"1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9","scene","short","[object Symbol]","isMapIterator","scrub","umask","_blockOffset","getUTCHours","]: ","3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","encoding must be a string","data","modulus must be greater than 1","componentCount","seekable","imaskn","types","decrypt","Bad iterations","_sqlite3_clear_bindings","sep","data:application/wasm;base64,AGFzbQEAAAABrQRHYAJ/fwF/YAF/AX9gA39/fwBgAX8AYAN/f38Bf2ACf38AYAR/f39/AX9gBX9/f39/AX9gBH9/f38AYAZ/f39/f38Bf2AFf39/f38AYAJ/fgF/YAR/f39+AX9gBn9/f39/fwBgB39/f39/f38Bf2AAAX9gAXwBfGABfgF/YAJ/fgBgA39/fgF/YAJ/fwF+YAAAYAF/AX5gCH9/f39/f39/AX9gBH9+f38Bf2AHf39/f39/fwBgCX9/f39/f39/fwF/YAN/fn8Bf2ACf3wAYAV/fn5+fgBgCX9/f39/f39/fwBgBX9/f39+AGAFf39+f38Bf2AIf39/f39/f38AYAN/f34AYAN/fn8AYAN/fn4Bf2AAAXxgAX8BfGAEf35+fwBgBH5+fn4Bf2ALf39/f39/f39/f38AYAN8fH8BfGACfHwBfGAEf39+fwBgBn9/f35/fwF/YAF+AX5gBX9+f39/AX9gAn9+AX5gBn9/f39/fgF/YAR/f39/AX5gAn5+AXxgCH9+fn9/f39/AX9gAn58AX9gC39/f39/f39/f39/AX9gAnx/AXxgAXwBf2ACfH8Bf2AHf39/f35/fwF+YAl/fn9+fn5+f38Bf2AEf39/fgBgAnx+AX9gCn9/f39/f39/f38Bf2ADf398AX9gAXwBfmAHf39/f398fABgBX9+fn5/AX9gCH9/fn5+f39/AX9gBH9+f38AYA1/f39/f39/f39/f39/AGACf38BfALNASIBYQFhAAgBYQFiAAQBYQFjAAEBYQFkACUBYQFlACUBYQFmAAEBYQFnAAQBYQFoAAABYQFpAAABYQFqAAUBYQFrAAcBYQFsAAABYQFtAAYBYQFuAAIBYQFvAAQBYQFwAA8BYQFxAAYBYQFyAAEBYQFzAAYBYQF0AAYBYQF1AAYBYQF2AA4BYQF3AAkBYQF4AAABYQF5AAABYQF6AAABYQFBAAABYQFCAAQBYQFDAAEBYQFEAAYBYQFFAAABYQFGAAABYQFHAAABYQFIAAYDjQ+LDwYDBwUCBAQBBQEEAQEFAAEBDgUEBgUJAQUBBAgFAgQLAQEFAgEABAARAwABAwEmBAYLAAYAEwADABwAARYBAAcSAgMFBQMGAQAGAgILBAAIAAQEEQEIAwwGAQAEAAIBBQAFDAUBBAAABAILARIFAgMCAwABAAEU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AAUAAAAAAAAFBQAFBAUBcADSAwUHAQGAAoCAAgYJAX8BQZCtxAILB5ECMwFJAgABSgDWBwFLACMBTADDDAFNACsBTgD7DAFPAJEDAVAAQwFRAJcBAVIAOQFTAGkBVACADQFVAIsCAVYAXwFXAC4BWAC4AwFZAFsBWgBjAV8AgQEBJADoDAJhYQBZAmJhAD0CY2EA3AkCZGEAgQUCZWEA2QkCZmEAigICZ2EAxwECaGEA5wwCaWEAiQICamEA+AICa2EA/wQCbGEA0wICbWEA1gkCbmEAdAJvYQDVCQJwYQDmDAJxYQDlDAJyYQDPAgJzYQD0AQJ0YQDiDAJ1YQDhDAJ2YQC4CQJ3YQDdDAJ4YQD3AQJ5YQD2AQJ6YQEAAkFhALMNAkJhAOgJAkNhAP4MAkRhAP0MAkVhAPwMCaMHAQBBAQvRA02CBSOoDMcIjwTaBOQM4AzfDN4MsQncDNsMqATjDLQM/QqzDLIM7witDKwMqwyqDKMMpQztA58MngycDJsMmgw6jgysD9EEnA+bD6oPmg+ZD5gPlw+WD5UPJagP0wFm8AKUD5MPkg931QulD4YPhQ+rD+oL/AGED6kPpw+mD6QPow+iD6EP8AKgD58Png+dD5EPkA+PD44PjQ+LD4wPiQ+ID4oPhw+AD88Ozg7MDsoOxg6aDoAO/Q3vDe4N6g3pDesN8A3tDewN5A3ACtsByw3NDcwNyg3JDcgNxw3GDakMpwymDKQMogyhDKAMnQygCJkMmAyXDNoMwAy/DNkM2AzXDNYM1QzUDNMMpQnSDNEM0AzPDM4MzQyCBcwMywzKDMkM+Qz6DPMM6wz1DPQM9gzuDOkM+AzqDMgM8QzsDPcM/wzwDO8MxwztDPIMxgzwAvACxQzEDMIMmAnBDL4MvQy8DLsM8AK6DLkMuAy3DLYMtQyxDLAMrwyLCfACrgyWDJUMzgSUDJMMkgyLCJEMkAyPDIMPgg+BD/8O/g79DvwO+w76DvkO+A73DvYO9Q70DvMO8g7xDvAO7w7uDu0O7A7rDuoO6Q7oDucO5g7lDuQO4w7iDuEO4A7fDt4O3Q7cDtsO2g7ZDtgO1w7WDtUO1A7TDtIO0Q7QDs0OyQ7IDscOxQ7EDsMOwg7BDsAO+Aq/DvcK+Aq+DvcKvQ68DrsOug65DrgOtw62DrUOggW0DrMOsg6xDvUK9AryCrAOrw6u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DQAgBSgCkAIgBSAFKAIQIANqKAIAIAQgCBEGACEBCyACQQFqIQIMAQsLIAAgATYCKEEBQeUAIAEbIQIMAQsgASECIAAsAJwBQQBODQAgABDbBiECCyAFIAI2AkAgACgCACAAKAIoEKABQQdHDQAgAEEHNgIoIAJBByAALACcAUEAThshAgsgBSgCSCACcQsiAUERRw0BIBVBMkYEQEERDwsgACgCJCEFIwBBEGsiAyQAIAAQ3AkhAQJAIAAoAgAiAiABQX8gAC0AnAEgACADQQxqQQAQxQQiCARAIAhBB0cNASACEE0aDAELIAMoAgwhBCMAQYACayIJJAAgCUEIaiIBIARB+AEQJxogBCAAQfgBECchAiAAIAFB+AEQJyEBIAIoAgghByACIAEoAgg2AgggASAHNgIIIAIoAgQhByACIAEoAgQ2AgQgASAHNgIEIAIoAswBIQcgAiABKALMATYCzAEgASAHNgLMASACKALQASEHIAIgASgC0AE2AtABIAEgBzYC0AEgASACKALoATYC6AEgASACLQCcAToAnAEgAUGoAWogAkGoAWpBJBAnGiABIAEoArwBQQFqNgK8ASAJQYACaiQAQQAhAQNAIAQuARAgAUoEQCABQShsIgIgACgCbGogBCgCbCACahDRCSABQQFqIQEMAQsLIARBADYCKCAEEJgCGgsgA0EQaiQAAkAgCARAIAwoAqACECshASAMIAAoAoQBECUgDC0AVw0BIAAgDCABEFw2AoQBIAAgDCAIEKABIgA2AiggAA8LIBVBAWohFSAAEDkaIAVBAEgNASAAQQE6AJ0BDAELC0EHIQEgAEEHNgIoIABBADYChAELIAELKQAgACABQQh0QYCA/AdxIAFBGHRyIAFBCHZBgP4DcSABQRh2cnI2AAALYwECfyAAKAIQIgMgAmoiBCAAKAIITwRAIAAgAhCxBiICQQBKBEAgACgCBCAAKAIQaiABIAIQJxogACAAKAIQIAJqNgIQCw8LIAIEQCAAIAQ2AhAgACgCBCADaiABIAIQJxoLCz0BAX8gAC0AEyIBRQRAIAAgACgCLEEBaiIANgIsIAAPCyAAIAFBAWsiAToAEyAAIAFB/wFxQQJ0aigCmAELcgEBfyAAKAIIIgItAAlBIHFFBEACfyAAKAIIIQIgAUEATARAIAIQZCACQQA2AhBBAAwB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wwAQfCEECyAECzIAIAAoAmAgASgCCEEobGoiAC0ACUEkcQRAIAAQZCAAQQQ7AQggAA8LIABBBDsBCCAAC3ABA38jAEEQayIEJABBjPUDKAIABEAgBCACNgIMIwBB8AFrIgMkACADQdgBaiIFQQAgA0HSAUEAEJkBIAUgASACELQDQYz1AygCACEBQZD1AygCACAAIAUQwgEgARECACADQfABaiQACyAEQRBqJAALCgAgACgCACgCIAsNACAAKAIAIAGsEI4BC04BAX8gAUEBRgRAIAAQRg8LIAEgACgCHCICTARAIAAgAiABazYCHCAAIAAoAiAiACABajYCICAADwsgACAAKAIsIgAgAWo2AiwgAEEBagvGAQEDfyABBEAgAUEIaiECA0AgASgCACAESgRAIAIoAgQiAwRAIAAgAxBlCyAAIAIoAggQJSACKAIMIgMEQCAAIAMQZQsgAi8AJSIDQQJxBH8gACACKAJAECUgAi8AJQUgAwtBBHEEQCAAIAIoAkAQOgsgACACKAIQENMBIAIoAhQiAwRAIAAgAxBmCyACKAIsIgMEQCAAIAMQLwsgAigCMCIDBEAgACADEOsBCyACQcgAaiECIARBAWohBAwBCwsgACABEGULCxUAIAAgASACIAMgACgCACgCCBEMAAs/AQF+AkAgACkDECICIAApAwhaBEAgAEEBEMQDDQEgACkDECECCyAAIAJCAXw3AxAgACgCBCACp2ogAToAAAsL4gEBAX8DQAJAIAAoAgRBgKAIcQRAIABBDGohAAwBCwJ/IAAtAAAiAUGwAUYEQCAALQACIQELAkACQAJAAkACQAJAIAFBsQFrDgICAQALIAFBigFHBEACQCABQacBaw4DAAUABAsgACgCLCIBRQ0EIAEgAC4BIBC2BAwGCyAAKAIUKAIcQQhqIQAMBgsgACgCDCgCFCgCHCAALgEgQQR0akEIaiEADAULIAAoAhRBCGohAAwECyABQSRGDQELIAAtAAEMAQsgACgCCEEAEMwEC0EYdEEYdQ8LIAAoAgAhAAwACwALZQEBfyABEJ0BIQMCQCAALQAXRSADRXINACADLQAAQbABRg0AIAMQxwVFDQAgAkEANgIAIAAgA0F/EMYFDwsgAiAAEEYiASAAIAMgARD7ASIDRwR/IAAgARA+QQAFIAELNgIAIAMLNwEBfyABQQBIBEAgACgCdEEBayEBC0GQpwQhAiAAKAIALQBXBH9BkKcEBSAAKAJwIAFBFGxqCwt7AQN/AkAgAUEASA0AIAAoAhxBIHFFDQAgACgCBCEEA0AgASACRkUEQCAEIAJBDGxqLwEKQQV2QX9zQQFxIANqIQMgAkEBaiECDAELCyAEIAFBDGxqLQAKQSBxRQRAIAMhAQwBCyAALwEkIAEgA2tqIQELIAFBEHRBEHUL0YIBAiB/AX4jAEGgAWsiDiQAIA5BADYCZCAAKAIAIRNBASEIIAAQQiEMAkAgAUUNACAAKAIkDQAgAEEVQQBBAEEAEGENACACLQAAQQZNBEAgASgCMCIDBEAgAEEiIAMQmwIaIAFBADYCMAsgASABKAIEQf7//31xQYCAgAJyNgIECyAAIAFBABDeAQJAAkAgACgCJA0AAkAgASgCBCIFQYCAgARxBEAgASgCICIEKAIAIgNBASADQQFKGyEJQQEhAwNAIAMgCUcEQAJAIAQoAhgiByAEIANByABsaiILKAIYRw0AIAQoAhQiBiALKAIUEFYNACAOIAYEfyAGBSAHKAIACzYCMCAAQa06IA5BMGoQJgwECyADQQFqIQMMAQsLIAEgBUH///97cTYCBAsgAi0AAEEJRgRAIAAgARDgBwtBACEJIwBBIGsiBSQAAkAgASgCREUNACABKAI0DQAgAS0ABkEQcQ0AIAAtANABQQFLDQAgABBCIRAgASgCLCEPIAEoAighESABKAIkIRIgASgCICEKIAAoAgAhByAFQQA2AhwgASgCRCEGIAEoAgQhFSAHQsAAEEEiBEUEQEEHIQkgB0EHEIQFDAELIAUgABDECyAFIAEQahogASgCBCIJQQhxRQRAIAVBADYCCCAFQSs2AgQgBSABKAIwEGAaIAEoAgQhCQsgAUIANwIgIAFCADcCKCABIAlB9/+/f3FBgIDAAHI2AgQCQCAAIABBACAGKAIIQQEQsgQgBigCDEEBELIEIgtFDQAgASgCMCIDRQ0AIAMoAgAiCSALKAIAIg1KDQAgCyAJNgIAIAsgA0F/ELkCRQRAIAcgASgCMBA6IAFBADYCMAsgCyANNgIACyAGIAAoAigiAzYCMCAAIANBBGo2AiggACAGIAogASgCHCAEIAVBHGoiAxC0ByAAIAYgCiABKAIwIAQgAxC0ByAGIAUoAhwiAwR/IAMoAgAFQQALNgJMIAUgACAAIAMgBigCCEEAELIEIAYoAgxBABCyBCIJNgIcIAYhAwNAIAMEQCADKAJIKAIUIQ0CQCADKAIsLQAGQRBxBEAgACAGIAogDSAEIAVBHGoQtAcgBSgCHCIJBH8gCSgCAAVBAAshDSADQQE6AGAgAyANNgJQDAELIAMgCQR/IAkoAgAFQQALNgJQIAUgACAJIA1BABCyBCIJNgIcCyADKAIoIg0EQCAFIAAgCSAHIA1BABA1EEAiCTYCHAsgAyAAKAIsIg1BAWoiFDYCNCAAIA1BAmoiDTYCLCADIA02AjggEEHKAEEAIBQQIhogAygCJCEDDAELCyAJRQRAIAUgAEEAIAdBmwFBxrwBEHMQQCIJNgIcC0EAIRAgACAJIAogEiARIA8gC0EAQQAQ4AEhBiABIABBAEEAQQAQvgEiAzYCIAJAIAMEQCADIAY2AhwgACADELwFIAYgBigCBEHAgIDAAHI2AgQgACAGQcAAEOQFIQMgBiAGKAIEIBVBCHFyNgIEIANFBEBBByEQDAILIAQgA0HAABAnIgQgBCgCHEGAgAFyNgIcIAEoAiAgBDYCGCAFQgA3AwggBUEANgIYIAVCADcDECAFQSw2AgggBUIANwMAIAVBLTYCDCAFQS42AgQgBSAGEGoaIAMhBAwBCyAHIAYQZgsgBy0AVyEDIABBLyAEEJsCGkEHIBAgAxshCQsgBUEgaiQAIAkNASABKAIgIQggASgCBCEDIA5B6ABqQQBBKBAoGiADQQN2QQFxIRAgASgCMCENQQAhAwNAAkACQAJAAkACfwJ/AkACQAJ/An8CQAJAAkACQCABKAI0RQRAIAMgCCgCAE4NASAIIANByABsaiIEKAIYIQUgBCgCHCEGAkAgBC0ALEEIcUUNACABKAIkIAQoAjAQ3gVFDQAgEy0AUUEgcQ0AIAQgBC0ALEHXAXE6ACwgASgCJCAEKAIwEMAECyAGRQ0OIAYoAhwoAgAiBCAFLgEiIglHBEAgDiANNgJoIAUoAgAhASAOIAQ2AgggDiABNgIEIA4gCTYCACAAQaOAASAOECYMEQsgBigCBCIEQQhxDQ4CQCAGKAIwIgVFDQACQCABKAIwRQRAIAgoAgBBAkgNAQsgBigCPCAEQYCAgMAAcXINACABLQAHQQhxDQAgEy0AUkEEcQ0AIBMgBRA6IAZBADYCMAwBCyADDQAgAS0ABkEEcUUNACAIKAIAQQFGDQ4gCC0AdEEKcQ0OC0EAIQQjAEEgayILJAACQCAAKAIAIgctAFBBAXENACABKAJEDQAgASgCICIJIANByABsaiIGIg8oAhwiBSgCRA0AIAAoAvgBIRYgBigCMCEXIAUoAiAhEgJAIAUoAjwiBgRAIAEoAjwNAiAGKAIQDQIgASgCBCIKQYACcUUNAQwCCyABKAIEIQoLIBIoAgAiGEUNACAFKAIEIghBAXENACAGBEAgEA0BIAkoAgBBAUoNAQsgASgCMCIRBEAgBSgCMA0BCyAQBEAgBSgCMA0BCwJAIAYEQCABKAIkIApBAXFyDQIgCEGAwABxRQ0BDAILIAhBgMAAcQ0BC0EAIQhBACEVIAkgA0HIAGxqIhstACxBIHEiFARAIBANAUEBIRUgGEEBSg0BIApBAXEgEigCGC0AK0EBRnINAQsCQCAFKAI0RQ0AIBANASAFKAIwIAogFEEAR3JBAXFyDQEgBSEGA0AgBgRAIAYtAARBCXENAyAGKAI0IggEQCAGLQAAQYcBRw0ECyAGKAIgKAIAQQBMDQMgBigCRCESIAghBiASRQ0BDAMLCwJAIBFFDQBBACEGIBEoAgAiBEEAIARBAEobIQgDQCAGIAhGDQEgBkEEdCESQQAhBCAGQQFqIQYgESASai8BFA0ACwwCC0EAIQQgCkGAwABxDQFBACEIIAkoAgBBAkgNACAAKAJkQfQDSg0BIAcgADQCKEIChkIEfBBBIghFBEBBACEIDAELIAggACgCKDYCAAsgBUE0aiEEIAAgCSADQcgAbGoiBSIGKAIQNgL4ASAAQRVBAEEAQQAQYRogACAWNgL4ASAPKAIcIQkgByAFKAIMECUgByAGKAIQECUgByAFKAIUECUgBUEANgIUIAVCADcCDCAPQQA2AhwDQCAEKAIAIhEEQCABKAI0IQYgBSgCGCEKIAEoAjwhEiABKAIwIRYgBUEANgIYIAFBADYCPCABQgA3AjAgByABQQAQ0QEhBCABIBY2AjAgASASNgI8IAFBhwE6AAAgBSAKNgIYAkAgBEUEQCAGIQQMAQsgACAAKAJkQQFqIgo2AmQgBCAKNgIQAkAgCEUNACAHLQBXDQAjAEEgayIKJAAgACAIIAQoAiAgAxC0CyAKQgA3AwggCkIANwMQIApBMzYCCCAKQgA3AwAgCiAINgIYIApBzwA2AgQgCiAEEGoaIApBIGokAAsgBCAGNgI0IAYEQCAGIAQ2AjgLIAQgATYCOAsgASAENgI0IBFBNGohBAwBCwsgByAIECUCQCAHLQBXBEAgDyAJNgIcDAELIAUoAhgiBARAAkAgBCgCGCIGQQFGBEAgACgCdCIGIAAgBhtBMSAEEJsCGgwBCyAEIAZBAWs2AhgLIAVBADYCGAsgA0EBaiEWIANByABsIRhBfyEPIAkhCCABIQUDQAJAIAVFDQAgCCgCICISKAIAIRFBACEKIAEgBUYEQCAbLQAsIQoLIAUoAiAhBiARQQJOBEAgACAGIBFBAWsgFhDZBSIGRQ0BIAUgBjYCIAtBACEEIBFBACARQQBKGyERA0AgBCARRwRAIAcgBiADIARqQcgAbGoiDygCOBDrASAPQQhqIBIgBEHIAGxqIg9BCGoiHUHIABAnGiAPKAIwIQ8gHUEAQcgAECgaIARBAWohBAwBCwsgBiAYaiAKOgAsAkAgCCgCMCIKRQ0AIAUtAAZBwABxDQAgCigCACESQQAhBANAIAQgEkgEQCAKIARBBHRqQQA7ARQgBEEBaiEEDAELCyAFIAo2AjAgCEEANgIwCyAIKAIkIQQgCEEANgIkIBQEQCAEIA8QzwMLIAQEQCAFIAUoAiQiCgR/IABBLCAEIAoQNgUgBAs2AiQLIActAFdFBEAgCyAVNgIMIAsgDzYCCCALIBc2AgQgCyAANgIAIAsgCCgCHDYCECALIAVBABCzBwsgBSAFKAIEIAgoAgRBgAJxcjYCBCAIKAI8IgQEQCAFIAQ2AjwgCEEANgI8C0EAIQQDQCAEIBFHBEAgBiADIARqQcgAbGoiEkEIaiEdIwBBIGsiCiQAIBIoAhgEQCAKQgA3AwggCkIANwMQIApBMzYCCCAKQgA3AwAgCiAdNgIYIApB0AA2AgQgEkIANwNAIAogBRBqGgsgCkEgaiQAIARBAWohBAwBCwsgCCgCNCEIIAUoAjQhBQwBCwsgCyAAEMQLIAsgCRBqGiAHIAkQZgtBASEECyALQSBqJAAgBARAQX8hAyAAKAIkDQMLIBMtAFcNAiABKAIgIQggAi0AAEEJSQ0OIAEoAjAhDQwOC0EAIQsjAEHgAGsiDCQAIAEiAygCNCEJIAAoAgAhCiAMIAIoAhg2AlggDCACKQIQNwNQIAwgAikCCDcDSCAMIAIpAgA3A0AgABBCIQggDC0AQEEMRgRAIAhB9AAgDCgCRCADKAIcKAIAECIaIAxBDjoAQAsCQAJAAkACQCADKAIEIgRBgAhxBH8gDEFAayENIwBBEGsiByQAIAMiBCgCPCITRSEQQQEhBQJAA0AgBCgCRARAQX8hBgwCCyAEKAI0IgYEQCAFIBBqIQUgBiEEDAELCyAHIAU2AgAgB0HU5QFBq5MBIAVBAUYbNgIEIABBAEH/LCAHEHEDQCAERQRAQQAhBgwCC0EAIQYgACAEQX9BAEEAIA1BAUEBELcCIBMNASAEIAU7AQIgBCgCOCEEDAALAAsgB0EQaiQAIAYiBUEATg0DIAMoAgQFIAQLQYDAAHFFDQAgAyEEA0ACQCAERQ0AIAQtAAVBIHFFDQAgBCgCNCEEDAELCyAERQ0AIAxBQGshFUEAIQQjAEEgayINJAACQCADKAJEBEAgAEHmKkEAECYMAQsgACgCCCEFIAMoAiAhBiADKAIcKAIAIREgAEEhQQBBAEEAEGENACAAEDIhEyADQcACOwECIAAgAyATEN8DIAMoAjwhFCADQQA2AjwgAygCDCEWIAMoAgghEiADQgA3AgggBigCACIJQQAgCUEAShshByADKAIwIQkDQAJAIAQgB0YEf0EABSAGIARByABsai0ALUEgcUUNASAGIARByABsaigCMAshECAAIAAoAigiB0EBaiIENgIoIA0CfyADLQAAQYYBRgRAIAAgB0ECajYCKEEGQQUgCRsMAQtBACEEQQdBCCAJGwsgBxC8ASAAIAAoAixBAWoiDzYCLCAFQfgAIBAgDyARECQaAkAgCQRAIAAgAxCyCyEGIAVB9AAgByAJKAIAQQJqQQAgBkF3EDMaIA0gCTYCGAwBCyAFQfQAIAcgERAiGgsCQCAERQRAIAMoAgQhEQwBCyADIAVB9AAgBEEAECI2AhQgAyADKAIEQSByIhE2AgQLIANBADYCMCADIQQCQANAIAQhBiARQQhxBEAgAEGv8wBBABAmDAILIAZBhwE6AAAgBigCNCIEKAIEIhFBgMAAcQ0ACyAEQQA2AjggAEEBQfaWAUEAEHEgACAEIA0QigEhESAEIAM2AjggEQ0AIAVBJiAHIBMQIiERIAVBhwEgEBAsGgJAIAkEQCAFQd0AIAcgCSgCAEEBaiAPECQaDAELIAVBhQEgByAPECIaCyAFQYEBIAcQLBogBSAWIAAQMiIHEM4DIAAgAyAQQQBBACAVIAcgExC3AiASBEAgBUE8IBIgExAiGgsgBSAHEDQgBkEANgI0IABBAUGClwFBABBxIAAgAyANEIoBGiAGIAQ2AjQgBSAREFoaIAUgExA0CyAAKAIAIAMoAjAQOiADIBQ2AjwgAyAJNgIwDAILIARBAWohBAwACwALIA1BIGokAEEAIQUMAQsgAygCMARAIAIhCUEAIQVBACEUQQAhHUEAIRYjAEHQAGsiEyQAIAAoAgghByAAKAIAIRAgABAyIQggABAyIRUgAygCMCIPKAIAIQ0CfwJAIAMtAAAiEUGHAUYNAEEBIQYDQCAQLQBXDQEgBiADKAIcKAIASg0BQQAhCyANQQAgDUEAShshBCAPQQhqIQIDQAJAAkAgBCALRwR/IAYgAi8BDEcNAiALBSAECyANRw0AQQcgEEGbAUEAEHMiAkUNBRogAiAGNgIIIAIgAigCBEGACHI2AgQgAyAAIA8gAhBAIg82AjAgD0UEQEEAIQ8MAQsgDyANQQR0aiAGOwEUIA1BAWohDQsgBkEBaiEGDAILIAJBEGohAiALQQFqIQsMAAsACwALQQAhBiAQIA1BAnRBBGqtEFMiFwRAIBcgDTYCACAPQQhqIQIgDUEAIA1BAEobQQFqIQRBASELA0AgBCALRwRAIBcgC0ECdGogAi8BDEEBazYCACACQRBqIQIgC0EBaiELDAELCyAAIAMQsgshHQsCQCARQYcBRwRAIAAgACgCLEEBaiIFIAMoAhwoAgAiAmo2AiwgB0HHAEEAIAUQIhoCQCAQIAJBARCNAyIGRQ0AIAJBACACQQBKGyECQQAhCwNAIAIgC0YNASAGIAtBAnRqIAAgAyALELoFNgIUIAYoAhAgC2pBADoAACALQQFqIQsMAAsAC0EAIQsgAyECIBFB/gFxIh5BhgFHDQELQQEhC0GGASEeAkAgEC0AUkEgcQ0AIAMhAgNAAkAgAigCNCIERQ0AIAItAAAgEUcNACALQQFqIQsgBCECDAELCyALQQRJBEBBASELDAELQQIhBCADIQIDQCAEIAtPBEBBASELDAMFIARBAmohBCACKAI0IQIMAQsACwALIAMhAgsgAigCNCEKIAJBADYCNCAKQQA2AjggCiAAKAIAIA9BABBvNgIwIAAgAyADKAIwQaaUARC4BxogACAKIAooAjBBppQBELgHGiAAIAMgCBDfA0EAIQQgAygCCCIPRSARQYcBR3JFBEAgACAAKAIsIgRBAmoiFjYCLCAHQc8AIAMoAgwiEkEBaiAPIBIbIARBAWoiBBAiGiAHQc8AIAQgFhAiGgsgECADKAI8EC8gA0EANgI8IAAgACgCLCIYQQRqIhs2AiwgE0EwaiIZQQ0gGEEBaiIPELwBIBNBEGoiHEENIBhBAmoiEhC8ASATIAMtAAAQ3AM2AgAgAEEBQe++ASATEHEgB0ENIA9BACAHKAJ0QQFqECQhGiAKIAQ2AgggAEEBQfeOAUEAEHEgACAKIBkQigEaIAcgDxDkAyAHIBoQKiAHQQ0gEkEAIAcoAnRBAWoQJCEaIAMpAgghIyADQQA2AgwgAyAWNgIIIABBAUHkjgFBABBxIAAgAyAcEIoBGiADICM3AgggByASEOQDIAAgAyAZIAkgGEEDaiIEIAUgBiAIELELIRYgCwRAIAAgAyATQRBqIAkgGyAFIAYgCBCxCyEUCyAGEPQDIAgiBSEGIB5BiAFHBEAgB0EMIBsgFBAiIQYgB0EOIBIgCBAiIQUgByAGEFoaIAMgAy4BAiAKLgECEOwBOwECCwJAIBFBiQFGBEAgBiEJIAouAQIiGCADLgECTg0BIAMgGDsBAgwBCyAHQQwgBCAWECIhCSAHQQ4gDyAIECIaIAcgCRBaGgsgB0EMIAQgFhAiIQMgB0EOIA8gBhAiGiAHIBUQWhoCfwJAIBFBhwFGBEAgAyEEDAELIBFBiQFGBEAgAyIEQQFqDAILIAdBDiAPIAYQIiEEIAcgFRBaGgsgAwshAyAHKAJ0IQYgCwRAIAdBDCAbIBQQIhoLIAdBDiASIAkQIhogByAVEFoaIAcgGhAqIAdBDiAPIAUQIhogB0EOIBIgCRAiGiAHIBUQNCAHQdgAQQBBAEEAIBdBcRAzGiAHQdkAIBMoAjwgEygCHCANIB1BdxAzGiAHQQEQNyAHQRAgAyAEIAYQJBogByAIEDQgAigCNCIDBEAgECADEGYLIAIgCjYCNCAKIAI2AjggECAKKAIwEDogCkEANgIwIAAQ3QMgACgCJEEARwshAiATQdAAaiQAIAIhBQwDCyAJKAI0RQRAIABBAUHJiwFBABBxIABBAUG2iwFBABBxCwJAAkACQAJAIAMtAABBhgFrDgMBAAECCyAMQQA2AiAgCSADKAIINgIIIAkgAygCDDYCDCAJIAMoAjw2AjwgACAJIAxBQGsQigEhBSAJQQA2AjwgBQ0EIANBADYCNCADIAkoAggiBjYCCCADIAkoAgw2AgxBACEEAkAgBkUNACAIQRQgBhAsIQQgAygCDCIGRQ0AIAhBnwEgAygCCCAGQQFqIAYQJBoLIABBAUGUmQFBABBxIAAgAyAMQUBrEIoBIQUgAygCNCELIAMgCTYCNCADIAMuAQIgCS4BAhDsASIGOwECAkAgAygCPCIJRQ0AIAkoAgwgDEEgahDeAkUNACAMKAIgIglBAEwNACAGIAmtENQBIglMDQAgAyAJOwECCyAERQ0CIAggBBAqDAILAkAgDC0AQEEBRgRAIAwoAkQhBAwBCyAAIAAoAigiBEEBajYCKCADIAhB9AAgBEEAECI2AhQgAxC+ByIGIAYoAgRBIHI2AgQLIAxBIGoiBkEBIAQQvAEgACAJIAYQigEiBUUEQCADQQA2AjQgAygCPCEGIANBADYCPCAMQQJBASADLQAAIgVBiAFGGzoAICAMIAUQ3AM2AhAgAEEBQeqaASAMQRBqEHEgACADIAxBIGoQigEhBSADQQA2AjAgAygCNCELIAMgCTYCNCADLQAAQYYBRgRAIAMgAy4BAiAJLgECEOwBOwECCyAKIAMoAjwQLyADQgA3AgggAyAGNgI8IAwtAEBBAUYNAiAKLQBXDQIgABAyIQYgABAyIQkgACADIAYQ3wMgCEEmIAQgBhAiGiAIKAJ0IQcgACADIARBAEEAIAxBQGsgCSAGELcCIAggCRA0IAhBBSAEIAcQIhogCCAGEDQgCEH5ACAEQQAQIhoMAgsMAwsgACAAKAIoIgRBAmo2AiggAyAIQfQAIARBABAiNgIUIAMQvgciBiAGKAIEQSByNgIEIAxBIGoiBkEBIAQQvAEgACAJIAYQigEiBQ0CIAhB9AAgBEEBaiIHQQAQIiEGIANBADYCNCADIAY2AhggAygCPCEGIANBADYCPCAMIAc2AiQgDCADLQAAENwDNgIAIABBAUHqmgEgDBBxIAAgAyAMQSBqEIoBIQUgAygCNCELIAMgCTYCNCAJLgECIgkgAy4BAkgEQCADIAk7AQILIAogAygCPBAvIAMgBjYCPCAFDQAgABAyIQYgABAyIQkgACADIAYQ3wMgCEEmIAQgBhAiGiAIQYUBIAQgABBGIg0QIiETIAhBHiAHIAkgDUEAEDgaIAAgDRA+IAAgAyAEQQBBACAMQUBrIAkgBhC3AiAIIAkQNCAIQQUgBCATECIaIAggBhA0IAhB+QAgB0EAECIaIAhB+QAgBEEAECIaCyADKAI4DQAgABDdAwsgACgCJA0AIAMtAARBIHFFDQAgCiADKAIcKAIAIglBARCNAyIGRQRAQQchBQwBC0EAIQQgCUEAIAlBAEobIQ0gBkEUaiEHA0AgBCANRgRAA0BBACEEIAMEQANAAkAgBEECRg0AIAMgBEECdGoiCigCFCIHQQBIDQAgCCAHIAkQ0wMgBhC+BBogCCAHIAZBdxDWASAKQX82AhQgBEEBaiEEDAELCyADKAI0IQMMAQsLIAYQ9AMMAgsgByAAIAMgBBC6BSITNgIAIBNFBEAgByAKKAIINgIACyAHQQRqIQcgBEEBaiEEDAALAAsgAiAMKAJMNgIMIAIgDCgCUDYCECALRQ0AIABBMiALEJsCGgsgDEHgAGokACAFIQggASgCOEUNEQwSCyAOIA02AmgCQCABKAIkIgNFDQAgAy0AAEEsRw0AIBMtAFFBgAFxDQAjAEFAaiIDJAAgAyAANgIoIAMgACgCAEHXAGo2AiwDQCADQgA3AjAgA0IANwI4IANBKGogASgCJBDCCyADKAIwBEAgA0IANwIUIANBMzYCECADQTQ2AgwgAyAANgIIIANBADYCHCADIANBKGo2AiAgA0EIaiABKAIkEEwaIAMoAigoAgAgAygCPBAlCyADKAI0DQALIANBQGskAAtBACEEA0AgCCgCACAESgRAAkAgCCAEQcgAbGoiCUFAaykDAEIAUg0AIAkoAhAiA0UNACAAQRQgA0HU5QEgCSgCDBBhGgsgCSgCHCILBEAgCUEIaiEGIAAgARDfByAAKALYAWo2AtgBAkAgEy0AUUEQcQ0AIAktAC1BgAFxBEAgCSgCTCIDLQASRQ0BIAMoAgBBAUoNAQsgACALIAEoAiQgBhDeBxoLIAAoAvgBIQogACAJKAIQNgL4AQJAAkAgBA0AIAgoAgBBAUcEQCAILQB0QQpxRQ0BCyAILQAtQYABcQRAIAgoAkwtABJFDQELIAwoAnQhAyAAIAAoAixBAWoiBTYCLCAIIAU2AiQgDEENIAVBACADQQFqIgUQJBogCCAFNgIgIA5BQGsiBUENIAgoAiQQvAEgDiAGNgIQIABBAUGekwEgDkEQahBxIAAgCyAFEIoBGiAIKAIYIAsvAQI7ASYgCCAILwAtQRByOwAtIAggDigCTDYCKCAMIAgoAiQQ5AMgDCADECogABDhAwwBCwJAIAktAC1BgAFxRQ0AIAkoAkwiAygCBCIFQQBMDQAgDEEMIAMoAgggBRAiGiAJKAIwIgYgAygCDCIFRwRAIAxB8QAgBiAFECIaCyALIAMvARA7AQIMAQtBACEFAkAgBigCFCINLQAHQQFxDQAgCEEIaiEDA0AgAyAGTw0BAkAgAygCFCIHRQ0AIAMtACVBEHENACADKAIIIg9FDQAgAygCECgCPCIRIAYoAhAoAjxHDQAgDyAGKAIIEFYNACARRQRAIA0oAhAgBygCEEcNAQsgBy0AB0EBcQ0AIAMhBQwCCyADQcgAaiEDDAALAAsgBQRAIAUoAhgiAwRAIAxBDCAFKAIcIAMQIhoLIAxB8QAgCSgCMCAFKAIoECIaIAsgBSgCFC8BAjsBAgwBCyAAIAAoAixBAWoiAzYCLCAJIAM2AiRBACEHIAkgDEHHAEEAIAMQIiIDQQFqNgIgIAktAC1BCHFFBEAgDEEREFghBwsgDkFAayIFQQwgCSgCMBC8ASAOIAY2AiAgAEEBQY6TASAOQSBqEHEgACALIAUQigEaIAkoAhggCy8BAjsBJiAHBEAgDCAHECoLIAwgAyAMQcMAIAkoAiQQLBDgAyAAEOEDIAkvAC1BiAFxQYABRw0AIAkoAkwiAyAJKAIgNgIEIAMgCSgCJDYCCCADIAkoAjA2AgwgAyALLwECOwEQCyATLQBXDREgARDfByEDIAAgCjYC+AEgACAAKALYASADazYC2AELIARBAWohBAwBCwsgASgCLCERIAEoAighBiABKAIkIQkgASgCHCESIA4gASgCBCIEQQFxOgCQASAOKAJoIQMCQCAEQQlxQQFHDQAgAyASQX8QuQINACABKAJEDQAgASABKAIEQX5xNgIEIAEgEyASQQAQbyIGNgIoIAEgASgCBEEIcjYCBAsgDiADBH8gACADQQAgEigCABCaAiEFIAAgACgCKCIEQQFqNgIoIA4gBDYCcCAMQfQAIAQgAygCACASKAIAakEBakEAIAVBdxAzBUF/CzYCfCACLQAAQQxGBEAgDEH0ACACKAIEIBIoAgAQIhoLIAAQMiEdIAEtAAVBwABxRQRAIAFBwAI7AQILIAAgASAdEN8DAkAgASgCCA0AIA4oAnwiA0EASA0AIAwgA0H2ABDdByAOIA4tAIgBQQFyOgCIAQsgDiABLQAEQQFxBH8gACAAKAIoIgNBAWo2AiggDiADNgKUASAOIAxB9AAgA0EAQQAgACABKAIcQQBBABCaAkF3EDM2ApgBIAxBCBA3QQMFQQALOgCRASAGIBByRQRAIAEoAgRBgIABcSAOLQCQASILQQBHQQh0ciEKIAEoAkQiDQRAIAEoAiAoAhwoAhwoAgAhBiABKAJEIQMgABBCIgRB9AAgAygCMCAGECIaIARB8QAgAygCMCIGQQFqIAYQIhogBEHxACADKAIwIgZBAmogBhAiGiAEQfEAIAMoAjAiBkEDaiAGECIaIAMoAggiBgRAIAYoAgAhBiADIAAoAiwiBUEBaiIHNgJEIAAgBSAGaiIGNgIsIARBygBBACAHIAYQJBoLIAAgACgCLEEBaiIGNgIsIAMgBjYCVCAEQccAQQEgBhAiGgJAIAMtABRFBEAgAyEGA0AgBkUNAgJAAkAgBigCLCIFLQAFQRBxRQ0AIAYtABFB2gBGDQAgACAGKAJIKAIUQQBBABCaAiEFIAAgACgCKCIHQQFqNgIoIAYgBzYCPCAGIAAoAiwiEEEBajYCQCAAIBBBA2o2AiwCQCAFRQ0AIAYoAiwoAiAtAAFB6QBHDQAgBSgCEEEBOgAAIAYoAjwhBwsgBEH0ACAHQQIQIhogBCAFQXcQkAEgBEHHAEEAIAYoAkBBAWoQIhoMAQsgBSgCICIFQdD7AkcgBUHa+wJHcUUEQCAGIAAoAiwiB0EBajYCQCAAIAAoAigiBUEBajYCKCAGIAU2AjwgACAHQQJqNgIsIARB8QAgBSADKAIwECIaDAELIAVBgvoCRyAFQYf6AkdxDQAgACAAKAIoIgVBAWo2AiggBiAFNgI8IARB8QAgBSADKAIwECIaCyAGKAIkIQYMAAsACyADIAAoAiwiBkEBaiIFNgJYIAAgBkECaiIGNgIsIAMgBjYCXCAAIAAoAigiBkEBajYCKCADIAY2AjwgBEHHAEEBIAUQIhogBEHHAEEAIAMoAlwQIhogBEHxACADKAI8IAMoAjAQIhoLCyAAIAggCSAOKAJoIgYgASgCHCABIAogAS4BAhC4AiIDRQ0PIAMuATYiBCABLgECSARAIAEgBDsBAgsCQCALRQ0AIAMtADMiBEUNACAOIAQ6AJEBC0EAIQQCQCAGRQ0AIA4gAywAMSIFNgJsIA4gAy0ANEEEcQR/IAMtADBB2ABsIANqQbAFagUgA0EgagsoAgA2AoQBIAUgBiIEKAIARw0AQQAhBCAOQQA2AmgLIAQgDigCfCIEQQBIckUEQCAMIAQQ7gELIA0EQCAAEDIhGCAAEDIhGyAAEDIhFiAAIAAoAixBAWoiHjYCLCADIQlBACEGQQAhEEEAIQRBACEPIwBBQGoiCiQAIAEoAkQiBSgCDCERIAAQQiELIAEoAiAiAygCMCEcIAMoAhguASIhByAAEDIhFSAKQRxqQQBBJBAoGiAKIB42AhggCiALNgIQIAogBTYCDCAKIAA2AgggCiAYNgIUIAogBSgCMCIXNgIwIAogF0EDajYCOEECIQ0gCiAXQQJqNgIoAkACQAJAAkAgBS0AEUHWAGsOBQACAgIBAgsgBS0AEEHZAEYNAkEBIQ0gACAFKAIYELwLDQEMAgtBASENAkAgBSIDKAJYDQADQCADRQRAQQAhDQwCCyADKAIsKAIgIghBh/oCRiAIQYL6AkZyIAhB0PsCRiAIQdr7AkZycg0BIAMoAiQhAwwACwALIA0NAUEBIQ0gBS0AEkHYAEcNACAFLQAQQdkARg0BQQMhDSAAIAUoAhwQvAtFDQELIAogDTYCIAsgACAAKAIsIg0gB2oiGUECaiIINgIsIAogCDYCJCAIIQMCQAJAIAUtABFB1gBrDgMAAQABCyAAIBlBA2oiAzYCLCADIQQLAkACQCAFLQASQdYAaw4DAAEAAQsgACADQQFqIgM2AiwgAyEGCyANQQFqIRRBACENIAUtABBBzABHBEAgEQR/IBEoAgAFQQALIRAgBSgCTCAUaiEPIAUoAggiGgRAIBooAgAgD2ohDwsgCiADIBBqIhpBAWo2AiwgCiAQIBpqIhpBAWo2AjQgCiAQIBpqIhpBAWo2AjwgACAQIBpqNgIsIANBAWohEAsgGUEBaiEZIAdBACAHQQBKGyEDA0AgAyANRwRAIAtB3QAgHCANIA0gFGoQJBogDUEBaiENDAELCyALQeAAIBQgByAZECQaQQAhDUEAIQMgBSgCCCIHBEAgBygCACEcIAUoAkwhAyAAIAdBAEEAEJoCIQcgACAAKAIsQQFqIg02AiwgC0HZACADIBRqIhQgBSgCRCAcECQhAyALIAdBdxCQASALQRAgA0ECaiIHIANBBGogBxAkGiALQQwgDRAsIQMgC0HPACAUIAUoAkQgHEEBaxAkGgsgC0H+ACAXQQFqIhcgCBAiGiALQf8AIBcgGSAIECQaIAtBNCAFKAJUQQAgCBAkIRxBACEUIAAQQiEIIAUhBwNAIAUEQCAFKAIsIRkgCEHKAEEAIAUoAjQQIhogFCAFEKIHIhpKIR8CQCAHKAJYDQAgGSgCICIgQdD7AkcgIEHa+wJHcUUEQCAIQccAQQAgBSgCQBAiGiAIQccAQQAgBSgCQEEBahAiGgsgGS0ABUEQcUUNACAFKAI8IhlFDQAgCEGRASAZECwaIAhBxwBBACAFKAJAQQFqECIaCyAUIBogHxshFCAFKAIkIQUMAQsLIAAgACgCLCIFIBRqNgIsIAogBUEBajYCHCAEBEAgACAHKAIYIAQQbSAAIARBA0EAIActABBB2QBGGxCvBwsgBgRAIAAgBygCHCAGEG0gACAGQQRBASAHLQAQQdkARhsQrwcLAkAgBy0AEEHZAEcEQCAERSAHLQARIgggBy0AEkdyDQEgC0E5QTcgCEHWAEYbIARBACAGECQhBSAKQQhqIghBABCuByALQSYgCigCMEEBECIaIAgQuwsgC0GRASAKKAIwECwaIAtBC0EAIBUQIhogCyAFECoLIActABEhCAsCQAJAIAhB/wFxQdYARgR/IAZFIActABBB2QBGcg0BIAtB6wAgBCAGIAQQJBogBy0AEQUgCAtB/wFxQdoARg0BCyALQSYgCigCKEEBECIaCyALQSYgCigCMEEBECIaIAtBJiAKKAI4QQEQIhogEEUgEUVyRQRAIAtBzwAgDyAQIBEoAgBBAWsQJBogC0HPACAQIAooAiwgESgCAEEBaxAkGiALQc8AIBAgCigCNCARKAIAQQFrECQaIAtBzwAgECAKKAI8IBEoAgBBAWsQJBoLIAtBC0EAIBUQIhogCyAcECogEARAIAAgESAPIBAgFRC6CwsCQCAHLQARIgVB1gBGBEAgCkEIakEDQQBBABBoGiAHLQASQdoARg0BIActABBB2QBGBEAgABAyIQUgCygCdCEQIApBCGoiCEE5IAooAjAgBiAKKAI4IAUQsAQgCEECIARBABBoGiAIQQFBAEEAEGgaIAtBC0EAIBAQIhogCyAFEDQMAgsgCkEIaiIFQQEgBkEAEGgaIAVBAiAEQQAQaBoMAQsgBy0AEkHYAEYEQAJAIAVB2ABGBEAgBy0AECEFIApBCGpBAyAGQQAQaBogBUHZAEcNASAKQQhqIgVBAiAEQQAQaBogBUEBQQBBABBoGgwDCyAKQQhqQQMgBkEAEGgaCyAKQQhqIgVBAUEAQQAQaBogBUECIARBABBoGgwBCyAKQQhqQQNBAEEAEGgaIActABJB2gBGDQAgBy0AEEHZAEYEQCALKAJ0IQVBACEIIAYEQCAAEDIhCCAKQQhqQTkgCigCMCAGIAooAjggCBCwBAsgCkEIaiIQQQFBAEEAEGgaIBBBAiAEQQAQaBogBkUNASALQQtBACAFECIaIAsgCBA0DAELQQAhCCAGBEAgC0ExIAZBAEEBECQhCAsgCkEIaiIFQQFBAEEAEGgaIAVBAiAEQQAQaBogBkUNACALIAgQKgsgCyAVEDQgCRC7AUEAIQggBygCCARAIAtBxwBBACANECIhCCALIAMQKgsgCkEANgIkIAtBJiAXECwhCSAHLQARIQMCQCAHLQASQdgARgRAAkAgA0HYAEYEQCAHLQAQIQMgCkEIakEDIAZBABBoGiADQdkARw0BIApBCGpBAiAEQQAQaBoMAQsgCkEIakEDIAZBABBoGgsgCkEIakEBQQBBABBoGgwBCyAKQQhqQQNBAEEAEGgaIANB1gBGBEACQCAHLQAQQdkARgRAIAsoAnQhBSAKQQhqIgZBAiAEQQEQaCEDIAZBAUEAQQEQaCEGDAELIAsoAnQhBSAHLQASQdoARgRAIApBCGoiA0EBIARBARBoIQYgA0ECQQBBARBoIQMMAQsgCkEIaiIDQQEgBkEBEGghBiADQQIgBEEBEGghAwsgC0ELQQAgBRAiGiALIAMQKiALKAJ0IQMgCkEIakEBQQBBARBoIQQgC0ELQQAgAxAiGiALIAYQKiALIAQQKgwBCyALKAJ0IQMgCkEIaiIGQQFBAEEBEGghBSAGQQIgBEEAEGgaIAtBC0EAIAMQIhogCyAFECoLIAsgCRAqIAtBkQEgCigCMBAsGiAHKAIIBEAgBygCWCIDBEAgC0HHAEEBIAMQIhogC0HHAEEAIAcoAlwQIhoLIAsgCCALKAJ0EOADIAtBwwAgDRAsGgsgCkFAayQAIAxBC0EAIBYQIhogDCAYEDQgDkEANgKEASAAIAFBfyAOQegAaiAOQZABaiACIBsgFhC3AiAMIBsQNCAMQcMAIB4QLBogDCAWEDQMDAsgACABQX8gDkHoAGogDkGQAWogAiADKAIgIAMoAiQQtwIgAxC7AQwLCwJAIAYEQCABKAIcIgNBCGohBCADKAIAIQMDQCADQQBKBEAgBEEAOwEOIARBEGohBCADQQFrIQMMAQsLIAZBCGohBCAGKAIAIQMDQCADQQBKBEAgBEEAOwEOIARBEGohBCADQQFrIQMMAQsLIAEuAQJBwwBOBEAgAUHCADsBAgtBACENIA4oAmgiBEUNASAGKAIAIgUgBCgCAEcNAUEAIQMgBUEAIAVBAEobIQUDQCADIAVHBEAgBiADQQR0IgdqIAQgB2otABBBAXE6ABAgA0EBaiEDDAELCyAGIARBfxC5AkUhDQwBC0EAIQ0gAUEAOwECCyAAEDIhCyATQjQQQSIFBEAgAEEjIAUQmwIaCyATLQBXDQ4gBSABKAIQNgIwQQAhAyAOQQA2AlwgDkIANwJUIA4gBTYCSCAOIAg2AkQgDkIANwJMIA4gADYCQCAFIAAoAixBAWo2AhAgBgRAIAYoAgAhAwsgBSAGNgIYIAUgAzYCDCAOQUBrIgMgEhDdBSADIA4oAmgQ3QUgEQRAIAYEQCMAQSBrIgMkACADQgA3AxAgA0E1NgIEIAMgADYCACADQgA3AwggAyABNgIYIAMgASgCLBBMGiADQSBqJAAgASgCJCEJCyAOQUBrIBEQ3AULIAUgBSgCIDYCJEEAIQMCf0EAIAEoAigNABpBACABKAIsDQAaQQAgBSgCLEEBRw0AGkEAIQQCQCAFKAIoKAIAIgooAhQiB0UNACAHKAIAQQFHDQAgCi0AB0EBcQ0AIBMtAFJBAXENAAJ/IAooAggiCkGy0wAQMEUEQEEBIQQgBygCCBC0AkEAR0EBdAwBCyAKQeQLEDANAUECIQRBAQshCiAOIBMgB0EAEG8iBzYCZCAHRQ0AIAcgCjoAEAsgBAshBwNAIAUoAiwiBCADSgRAIAUoAiggA0EUbGooAgAhBCAOIA4oAlhBgIAIcjYCWCAOQUBrIAQoAhQQ3QUgBC0AB0EBcQRAIA5BQGsgBCgCLCgCKBDcBQsgDiAOKAJYQf//d3E2AlggA0EBaiEDDAELCyAFIAAoAiwiCjYCFCATLQBXDQ4gBgRAQQAhEEEAIARBAUcNCRpBACAFKAIoIgMoAgxBAEgNCBogAygCACIDRQ0HQQAgAy0ABUEIcQ0JGiADKAIUIgNFDQcgEyADKAIIQQAQNSEDQYAKQQAgACATIAZBABBvIAMQQCIQGwwJC0EAIQMCQCABKAIkDQAgASgCHCINKAIAQQFHDQAgASgCICIGKAIAQQFHDQAgBigCHA0AIAUoAixBAUcNACAGKAIYIhAtACsNACANKAIIIgYtAABBqAFHDQAgBigCKCAFRw0AIAUoAigoAgQtAAVBAXFFDQBBACAQIAYoAgRBgoCACHEbIQMLIAMEQCAAKAIAIAMoAjwQVCEJIAAgACgCKCIKQQFqNgIoIAMoAhQhByAAIAkQswFBACEGIAAgCSADKAIUQQAgAygCABCyASADLQAcQYABcQRAIAMQeyEGCwJAIAEoAiAtAC1BAXENACADQQhqIQgDQCAIKAIAIgRFDQECQCAELQA3QQRxDQAgBC4BMCIIIAMuAShODQAgBCgCJA0AIAYEQCAIIAYuATBODQELIAQhBgsgBEEUaiEIDAALAAsgBgR/IAYoAiwhByAAIAYQvwQFQQALIQQgDEHlACAKIAcgCUEBEDgaIAQEQCAMQX8gBEF3ENYBCyAMQeEAIAogBSgCKCgCCBAiGiAMQfkAIAoQLBojAEEQayIEJAAgAC0AzwFBAkYEQAJ/IAZFBEAgAygCACEDQdTlASEIQdTlAQwBCwJAIAMtABxBgAFxRQRAIAMoAgAhAwwBCyADKAIAIQNB1OUBIQhB1OUBIAYvADdBA3FBAkYNARoLIAYoAgAhCEGn4QELIQYgBCAINgIIIAQgBjYCBCAEIAM2AgAgAEEAQeAsIAQQcQsgBEEQaiQADAYLIAUoAiRFDQFBACEDIARBACAEQQBKGyEGA0ACQCADIAZHBH8gBSgCKCADQRRsaiINKAIALQAHQQFxDQEgDSgCBC0ABEEgcUUNASADBSAGCyAERw0EIAAgCkEBaiIDNgIsQQAhBCAMQccAQQAgAxAiGkEADAYLIANBAWohAwwACwALIA4gDTYCaAwNCyAEQQFHDQBBACAFKAIoIgQoAgxBAEgNARpBACEDQYAKQQAgBCgCACgCFCIEGwwCC0EACyEDQQAhBEEACyEGIAAgBRDcByAAIAggCSAOKAJkIARBACAGIAdyQQAQuAIiBEUNCSAAIAMgBSAELQAzIgYQ2wcgBgRAIAAgBiAFKAIoIgYoAgwgBigCEBDbBQsgAwRAIAxBxwBBASADECIaCyAHBEACQCAELQA0QQRxRQ0AIAQtADFFDQAgBC0AMCEDIAwCfwJAA0AgA0EATA0BIAQgA0EBayIDQdgAbGooAsQGLQAoQQRxRQ0ACyAEIANB2ABsakGIBmoMAQsgBEEkagsoAgAQWhoLCyAEELsBIAAgBRDaBwsgDkEANgJoIAAgESALQRAQdyAAIAFBf0EAQQAgAiALIAsQtwIMAwtBAAshEEEACyEEIAAgACgCKCIDQQFqNgIoIAUgAzYCBCAAIAZBACAFKAIgEJoCIRUgDEH2ACAFKAIEIAUoAgxBACAVQXcQMyEaIAAgACgCLCIeQQNqIgo2AiwgABAyIRQgACAAKAIsQQFqIhY2AiwgABAyIRcgACAGKAIAIgcgACgCLCIDaiIfIAdqNgIsIAxBxwBBACAeQQJqIhkQIhogDEHKAEEAIANBAWoiHCADIAYoAgBqECQaIAxBDCAWIBcQIhogACAIIAkgBiAQQQAgBEHABEHAACANG3JBABC4AiIPRQRAIBMgEBA6DAYLIA8tADMhGEEAIQhBACEHIA8sADEiICAGKAIAIiFGIhtFBEAgACAOLQCQAQR/QYWNAUH8jgEgAS0ABEEBcRsFQYWNAQsQ2gUgBSgCICIDQQAgA0EAShshByAGKAIAIgQhCSAEIQMDQCAHIAhHBEAgAyADIAUoAhwgCEEUbGouARJMIiJqIQMgCSAiaiEJIAhBAWohCAwBCwtBACEIIAAgBiAAIAkQggEiA0EAQQAQjgMDQCAFKAIgIAhKBEAgBSgCHCAIQRRsaiIHLgESIAROBEAgDCAHKAIAIAcoAgggBy4BECADIARqEKUBIARBAWohBAsgCEEBaiEIDAELCyAMQeAAIAMgCSAAEEYiBBAkGiAMQYoBIAUoAgQgBBAiGiAAIAQQPiAAIAMgCRCkASAPELsBIAAgACgCKCIHQQFqNgIoIAUgBzYCCCAMQfgAIAcgABBGIgggCRAkGiAMQSQgBSgCBCALECIaIAVBAToAAQsCQCANRQ0AIBMtAFBBBHENACAgICFGBEAgDy0ANEEDdkEBcUUNAQsgDkEANgJoIAwgDigCfBDuAQsgDCgCdCEJIBtFBEAgDEGEASAFKAIEIAggBxAkGgsgHkEBaiEDIB9BAWohBEEAIQgDQCAGKAIAIg0gCEoEQAJAIBtFBEAgDEHdACAHIAggBCAIahAkGgwBCyAFQQE6AAAgACAGIAhBBHRqKAIIIAQgCGoQbQsgCEEBaiEIDAELCyAVEL4EGiAMQdkAIBwgBCANIBVBdxAzGiAMQRAgDCgCdCIIQQFqIgdBACAHECQaIAAgBCAcIAYoAgAQ3gMgDEEMIAogFBAiGiAMQTEgGSALECIaIAxBDCAWIBcQIhogDCAIECogACADIAUgGBDbByAMQccAQQEgAxAiGgJAIBtFBEAgDEEDIAUoAgQgCRAiGgwBCyAPELsBIAwgGhDuAQsgEyAQEDogDEEMIAogFBAiGiAMIAsQWhogDCgCdCEEIAxBxwBBASAZECIaIAxBwwAgChAsGiAMIBQQNCAMQTEgAyAMKAJ0IgZBAmoQIhogDEHDACAKECwaIAAgBRDaByAAIBEgBkEBaiIGQRAQdyAAIAFBfyAOQegAaiAOQZABaiACIAYgBBC3AiAMQcMAIAoQLBogDCAXEDQgACAFENwHIAxBxwBBACADECIaIAxBwwAgFhAsGiAYRQ0AIAAgGCAFKAIoIgMoAgwgAygCEBDbBQsgDCALEDQLIA4tAJEBQQNGBEAgAEH8jgEQ2gULIA4oAmgEQCAAQe6MAUH8jAEgDigCbEEAShsQ2gUgEigCACEDQQAhCSAOKAKAASEKIAAoAgghBSAAEDIhECABKAIcIREgAigCBCELIAItAAAhDSAOKAJoIQQgDigCeCIGBEAgBUEMIA4oAnQgBhAiGiAFIAoQWhogBSAOKAJ4EDQLIA4oAnAhBgJ/AkACQAJAIA1BCWsOBQEAAgIBAgsgASgCDEUNACAFQcoAQQAgAigCDBAiGgsgAigCDAwBCyAAEEYhCSANQf0BcUEMRgRAQQAhAyAAEEYMAQsgACADEIIBCyEIIAQoAgAgDigCbGshB0EBIQ8CQCAOLQCIAUEBcQRAIAAgACgCLEEBaiIPNgIsIAAgACgCKCIEQQFqNgIoIA4oAngEfyAFQREQWAVBAAshEiAFQfgAIAQgDyADIAdqQQFqECQaIBIEQCAFIBIQKgsgBUEkIAYgChAiIRIgBSABKAIMIBAQzgMgBUGEASAGIA8gBBAkGkEAIQ8MAQsgBUElIAYgChAiIRIgBSABKAIMIBAQzgMgBiEEC0EAIQEgA0EAIANBAEobIRUgByAPaiIUQQFrIQcCQAJAAkADQCABIBVGBEACQCADIQEDQCABQQBKBEAgBUHdACAEIBEgAUEBayIBQQR0ai8BFCIPQQFrIAcgDxsgASAIahAkGiAHIA9FayEHDAELCyASQQFqIQcCQAJAAkACQAJAIA1BCWsOBwIEBQADAAEDCyAFQd0AIAQgFCAIECQaIAVB/gAgCyAJECIaIAVB/wAgCyAIIAkQJBogBUEIEDcMAwsgBUHgACACKAIIIgFBH3YiAiAIaiADIAJrIAAQRiICECQaIAFBAEgEQCAFQf8AIAsgAiAIECQaDAMLIAVBiQEgCyACIAggARA4GgwCCyAFQdMAIAIoAgwgAxAiGgwBCyAFQQ4gAigCBBAsGgsgCUUNBSANQQtGDQMgACAIED4MBAsFIAcgESABQQR0ai8BFEVqIQcgAUEBaiEBDAELCyAFQeAAIAggAyAJIAIoAhQgAxAzGiAFQYkBIAsgCSAIIAMQOBogCUUNAgsgACAIIAMQpAELIAAgCRA+CyAFIBAQNCAFQQNBBSAOLQCIAUEBcRsgBiAHECIaIA4oAnQiAQRAIAVBwwAgARAsGgsgBSAKEDQLIAwgHRA0IAAoAiRBAEohCAwEC0EAIQMLIANBAWohAwwACwALQQEhCAsgEyAOKAJkEDoLIAAQ3QMLIA5BoAFqJAAgCAuRAQECfyMAQRBrIgMkAAJAIAAoAhAiBEUNACAAIARBAWs2AhAgACAAKAIUQQFqNgIUIAMgAjYCDCAAQShqIQIgACgCOARAIAJB0+UBQQEQRQsgACgCHCIEBEAgAyAAKQIgNwMAIAIgBCADED8LIAIgASADKAIMELQDIAAtADxBB0cNACAAQQE2AhgLIANBEGokAAsSACAABEAgACABEFMPCyABEHULCgAgACgCBCgCAAsuACAALQAJQSRxBEAgABBkIABBBDsBCCAAIAE3AwAPCyAAQQQ7AQggACABNwMACzsBAX8gACABNgJAAkAgAUUEQCAAKAKgAkUNAQsgACgCoAIiAgRAIAIQZAsgACABEMgHDwsgAEF/NgJECz0BAX8gACgCACIDLQBXBEAgAyACIAEQiQQPCyAAKAJwIAAoAnRBFGxqIgBBBGsgATYCACAAQRNrIAI6AAALFQEBfyAAKAJ0IgEgACABG0EBOgAVCzoBAX8jAEEQayIDJAAgACgCACAAKAKEARAlIAMgAjYCDCAAIAAoAgAgASACEIwDNgKEASADQRBqJAALIAEBfyAAKAIAIgEEQCAAIAEoAgQRAQAaIABBADYCAAsLSgECfwJAIAAtAAAiAkUgAiABLQAAIgNHcg0AA0AgAS0AASEDIAAtAAEiAkUNASABQQFqIQEgAEEBaiEAIAIgA0YNAAsLIAIgA2sLTQEBfwJ/An8gAC0AACIBQbABRgR/IAAtAAIFIAELQf8BcSIBQYoBRwRAQQEgAUGxAUcNAhogAEEUagwBCyAAKAIUQRxqCygCACgCAAsLPgEBfwJAIAEvAQgiAUUNACAALQArDQAgACgCNCIARQ0AIAAoAgAgAUgNACABQQR0IABqQQhrKAIAIQILIAILSwEBfyAARQRAQQAPCyAAKAIAIQEgABDXB0UEQCAAKQOQAUIAVQRAIAEgABDUBwsgASAAEJgCEKABIQAgARDRBSAADwtBtJkFEJ4BCxYBAX4gACABELoCEF4hAiAAELYCIAILLAAgAEEAOwEUIABBADYCECAAIAQ2AgwgACADNgIIIAAgATYCACAAIAI2AgQLCQAgACABNgIUCxQAIAAEQCAAEHggACgCICAAEGULC2oBAX8CQCACRQ0AIABBjAJqIQMDQCADKAIAIgBFDQEgAiAAKAIARgRAIAEEQCADIAAoAgw2AgAgACABKAIANgIMIAEgADYCACABIAEoAgRBAWo2AgQLIAAPBSAAQQxqIQMMAQsACwALQQALQwEBfwNAAkAgAEUNACAAKAIEIgFBgKAQcUUNAAJ/IAFBgIAQcQRAIAAoAhRBCGoMAQsgAEEMagsoAgAhAAwBCwsgAAsPAEEVIABB7+EAEIYFQRUL4wEBBX8jAEEgayICJAACQCABRQRADAELIAAgACgCGCIFQe/f/b9/cTYCGCAAKAIAIQMgAiAANgIYIAJBODYCBCACIAM2AgAgAkEANgIMIAJBAEE5IAVBgIAgcRs2AgggAyADKALYASABKAIYaiIGNgLYAUEBIQQgAyAGEMQEDQAgAiABEEwaIAIoAgAiAyADKALYASABKAIYazYC2AEgASABKAIEIAAoAhgiAUGQgAJxcjYCBCAAIAEgBUGQoILAAHFyNgIYIAAoAhRBAEoNACADKAIkQQBKIQQLIAJBIGokACAEC0UAAn8gAUUEQEEAIAAtAFdFDQEaCwJ/AkAgAUGKGEcEQCAALQBXRQ0BCyAAENcJIABBBxCPAUEHDAELIAAoAkggAXELCwt1AQF+IAAgASAEfiACIAN+fCADQiCIIgIgAUIgiCIEfnwgA0L/////D4MiAyABQv////8PgyIBfiIFQiCIIAMgBH58IgNCIIh8IAEgAn4gA0L/////D4N8IgFCIIh8NwMIIAAgBUL/////D4MgAUIghoQ3AwALSgEBfyAAIAFJBEAgACABIAIQJw8LIAIEQCAAIAJqIQMgASACaiEBA0AgA0EBayIDIAFBAWsiAS0AADoAACACQQFrIgINAAsLIAALCQAgACABEIEDCyoAIAJBAUYEQCAAIAEQPg8LIAIgACgCHEoEQCAAIAE2AiAgACACNgIcCwuzAwEDfyMAQRBrIgckAAJAIAFFBEAgAEHdACACIAMgBBAkGgwBCwJAIANBAE4EQCABLgEgIANHDQELIABBhgEgAiAEECIaDAELQa4BIQUCfyADIAEtACtBAUYNABogASgCBCADQQxsaiIFLwEKIgZBIHEEQCAAKAIMIQAgBkGAAnEEQCAHIAUoAgA2AgAgAEGH3QEgBxAmDAMLIAAoAjQhAyAFIAZBgAJyOwEKIAAgAkEBajYCNCAAIAEgBSAEEMYHIAAgAzYCNCAFIAUvAQpB//0DcTsBCgwCCyABLQAcQYABcQRAQd0AIQUgARB7IANBEHRBEHUQnQIMAQtB3QAhBSABIANBEHRBEHUQiQELIQYgACAFIAIgBiAEECQaIwBBEGsiAiQAAkAgAS0AK0ECRg0AIAJBADYCDCAAKAIAIgUgASABKAIEIANBDGxqIgYQlgEgBS0AVCAGLQAFIAJBDGoQ+AQaIAIoAgwiBUUNACAAIAVBdRCQAQsCQCABKAIEIANBDGxqLQAFQcUARw0AIAEtACtBAUYNACAAQdYAIAQQLBoLIAJBEGokAAsgB0EQaiQACwwAIAAEQCAAEJkCCwsTACAAIAEgAiADIAAoAtwBEQYACzYAIABBjAJqIQADQAJAIAAoAgAiAARAIAAoAgAgAkcNASAAIAE2AgALDwsgAEEMaiEADAALAAv/AwEFfyMAQRBrIgYkAAJAIAAgASAGQQxqEI8IIgMoAggiBARAIAJFBEAgBigCDCECIAMoAgAhBQJAIAMoAgQiAQRAIAEgBTYCACADKAIAIQUMAQsgACAFNgIICyAFBEAgBSABNgIECyAAKAIMIgEEQCADIAEgAkEDdGoiASgCBEYEQCABIAU2AgQLIAEgASgCAEEBazYCAAsgAxAjIAAgACgCBEEBayIBNgIEIAFFBEAgABCtAgsMAgsgAyABNgIMIAMgAjYCCAwBCyACRQRAQQAhBAwBC0IQEHUiB0UEQCACIQQMAQsgByACNgIIIAcgATYCDCAAIAAoAgRBAWoiAjYCBAJAIAJBCkkNACACIAAoAgBBAXRNDQBBACEDAkBBgAEgAkEBdCICIAJBA3RBgAhLGyICIAAoAgBGDQAQuQEgAkEDdK0QdSEEELgBIARFDQAgACgCDBAjIAAgBDYCDCAAIAQQ/wEiAkEDdiIFNgIAIARBACACQXhxECghBCAAKAIIIQMgAEEANgIIA38gAwR/IAMoAgAhAiAAIAQgAygCDBD4BSAFcEEDdGogAxCOCCACIQMMAQVBAQsLIQMLIANFDQAgBiABEPgFIAAoAgBwNgIMC0EAIQQgACAAKAIMIgAgBigCDEEDdGpBACAAGyAHEI4ICyAGQRBqJAAgBAtQAQF+AkAgA0HAAHEEQCABIANBQGqthiECQgAhAQwBCyADRQ0AIAIgA60iBIYgAUHAACADa62IhCECIAEgBIYhAQsgACABNwMAIAAgAjcDCAvxDAIMfwJ+AkACQCACKAIADQAgAC0ANCEJIAFBAToAIQJAAkACQCABKAIAQQFrDgQAAgABBAsgASgCECEFIAEoAgwiBC0AIgRAIAAgBSACEKsBIAEgBSkDGDcDGCABIAUtACA6ACAPCyAFLQAiIQMgACAEIAIQqwEgAwRAIAEgBCkDGDcDGCABIAQtACA6ACAPCyAAIAUgAhCrASABAn8DQCAELQAgBEAgASAEKQMYNwMYQQEMAgsCQCAFLQAgIggNACACKAIADQBBAEEBQX9BACAEKQMYIg8gBSkDGCIQUhsgDyAQVRsiA2sgAyAJGyIDRQ0AIAAgBCAFIANBAEgbIAIQqwEMAQsLIAEgBCkDGDcDGCAIQQBHCyIDOgAgIANFIAEoAgBBAUdyDQICQCAFKAIUIgEoAgBFDQADQCACKAIADQEgBS0AIA0BIAEoAhxBACABKAIgECgaIAAgBSACEKsBDAALAAsCQCAEKAIUIgFFDQAgASgCAEUNAANAIAIoAgANASAELQAgDQEgASgCHEEAIAEoAiAQKBogACAEIAIQqwEMAAsACyAEQQE6ACAgBUEBOgAgDwtBf0EBIAkbIQkgAAJ/IAEoAgwiBSABKAIQIgQtACANABpBAUF/QQAgBSkDGCIPIAQpAxgiEFIbIA8gEFUbIAlsIQggBS0AICIDRQRAIAUgCEEASA0BGgsgBCADDQAaIAQgCEEASg0AGiAAIAUgAhCrASAECyACEKsBIAEgBS0AIAR/IAQtACBBAEcFQQALOgAgIAUpAxghDwJAIAQtACBFBEAgBS0AIEEBQX9BACAEKQMYIhAgD1IbIA8gEFUbIAlsQQBOcg0BCyABIA83AxgPCyABIBA3AxgPCyABKAIMIQQgASgCECIILQAhRQRAIAAgCCACEKsBCyAAIAQgAhCrASAELQAgIgNFBEADQAJAIAIoAgANACAILQAgDQAgBCkDGCIPIAgpAxgiEFMgDyAQVSAJG0EBRw0AIAAgCCACEKsBDAELCyAELQAgIQMLIAQpAxghECABIAM6ACAgASAQNwMYCw8LIAEoAhQiAxC/AyACAn8gAUEgaiECIAMoAigEQCMAQYABayIGJAAgACgCACEOIAZBADoAfwJAAkAgAygCQEEBRgRAIA4gAygCXCADQRBqIANBHGogA0EgahCfCiEKIAMoAhxFIQwMAQsgAC0ANCEFIAZBEGpBAEHgABAoGkF/QQEgBRshBANAQQAhB0IAIQ9BACELIAwNAQNAAkACQCAKDQAgByADKAJATg0AIAYtAH9FDQELQQAhBwNAAkAgAygCQCIAIAdKBEADQCAKDQIgBi0Afw0CIAZBEGogB0EYbGoiACgCAARAQQAhCgwDC0EAIQpBAUF/QQAgACkDCCIQIA9SGyAPIBBTGyAEbEEATg0CIA4gAyAHIAAgBkH/AGoQngohCiAAKQMIIhAgD0EBQX9BACAPIBBSGyAPIBBTGyAEbEEASiIAGyEPQQAgByAAGyEHDAALAAsgBi0AfyIMDQQgAEEYbCAGaigCDCIIQQhqEE8iAARAIAAgAygCQEEYbCAGaigCCCAIQQFqECciDSAIakIANwAAQQAhB0EAIQkCQANAIAcgAygCQCIIQQFrIgtODQECQCAGQRBqIAdBGGxqIgAoAgBFBEAgBiAAKAIQNgIMIAYgDTYCCCAGIA02AgQgBkEEaiAIIAdBf3NqQQBBASAGQQxqIAZBCGoQvQNFDQEgBigCBCANayEJCyAHQQFqIQcMAQsLIAMoAkBBAWshCwsgByALRgRAIAMgCTYCICADIA02AhwgAyAPNwMQIANBATYCGEEAIQwMBwsgDRAjDAULQQchCgwGCyAHQQFqIQcMAAsACyAOIAMgByAGQRBqIAdBGGxqIgAgBkH/AGoQngohCgJAIAAoAgANACAAKQMIIRAgCwRAQQEhC0EAQQFBf0EAIA8gEFIbIA8gEFUbIgBrIAAgBRtBAE4NAQtBASELIBAhDwsgB0EBaiEHDAALAAsACyACIAw6AAALIAZBgAFqJAAgCgwBCwJAAkAgACgCACIJLQDvASIIIAAtADRGDQAgAygCBCIARQ0AIAggAygCACAAIANBCGogA0EQaiADQSBqIAIQnQUgAyADKAIINgIcDAELIAkgAyACEKAKC0EACzYCACABIAMpAxA3AxgLPgEBfyMAQRBrIgQkACAAKAIAIAEgBEEMaiADEKcBIgNFBEAgAiAEKAIMIAEgABCbBjYCAAsgBEEQaiQAIAMLpwEBAn8CQCAAKAIIIgQEQCAAKAIAIgUgACgCBEkNAQsgAC0AFAR/QX8FAn8gACgCCCAAKAIEQQF0QQpqIgRBDGytEOEBIgVFBEAgAEEBOgAUQX8MAQsgACAFNgIIIAAgBDYCBCAAIAEgAiADEK0BCwsPCyAEIAVBDGxqIgQgAzYCCCAEIAI2AgQgBEEAOgABIAQgAToAACAAIAAoAgAiAEEBajYCACAAC4sDAwN/AXwBfgJAIAAtACgNAAJAAkACfyAALQAqRQRAQdAPIQJBASEDQQEMAQsgACgCCCICQZDOAGtBh41/SQ0BIAAoAhAhAyAAKAIMCyEBIAAtAClFDQELIAAQ7goPCyAAQQE6ACggAAJ+IAFBDGogASABQQNIIgEbQdHWEmxB0dYSakGQzgBtIANqIAIgAWsiAUGtnQJsQfy1kdIAakHkAG5qIAFBEHRBEHUiAUGQA21BEHRBEHVqIAFBnH9tQRB0QYCACGpBEHVqt0QAAAAAANKXwKBEAAAAAHCZlEGiIgSZRAAAAAAAAOBDYwRAIASwDAELQoCAgICAgICAgH8LIgU3AwAgAC0AK0UNACAAIAAoAhhB4NQDbCAAKAIUQYDd2wFsaqwCfiAAKwMgRAAAAAAAQI9AoiIEmUQAAAAAAADgQ2MEQCAEsAwBC0KAgICAgICAgIB/CyAFfHwiBTcDACAALQAsRQ0AIABBADoALCAAQQA7ASogACAFIAAoAhxB4NQDbKx9NwMACwsZAQF/IAAQdSIBBEAgAUEAIACnECgaCyABCxMAIABB9QBBACABQQAgAkEAEDMLOAEBfyMAQRBrIgIkACACIAE3AwggAEHIAEEBIAJBCGpBchDBByAAQdMAQQFBARAiGiACQRBqJAAL/QEBBX8CQCABQQFGDQAgACgCACgCECABQQR0aigCBC0ACUUNACAAKAJ0IgYgACAGGyIAKAJoIgZBACAGQQBKGyEHAkADQCAFIAdHBEACQCAAKAJsIgggBUEEdGoiCSgCACABRw0AIAkoAgQgAkcNACAIIAVBBHRqIgAgAC0ACCADckEARzoACAwDCyAFQQFqIQUMAQsLIAAgACgCACAAKAJsIAZBBHRBEGqsEKEDIgU2AmwgBQRAIAAgACgCaCIAQQFqNgJoIAUgAEEEdGoiACAENgIMIAAgAzoACCAAIAI2AgQgACABNgIADAELIABBADYCaCAAKAIAEE0aCwsLFQEBfyAAKAJ0IgIgACACGyABEOELCzQBAX8gACgCdCIDIAAgAxsiACACEOELIAAgACgCUEEBIAJ0cjYCUCAAIAAtABQgAXI6ABQLLgAgAUE0aiEBA0ACQCABKAIAIgFFDQAgASgCACAARg0AIAFBGGohAQwBCwsgAQvdAQECfyMAQRBrIgUkAAJAIAQoAgANACABRQRAIARB34wEECk2AgAMAQsgACgCACAAIAEQwQEiACAFQQxqQQAQpwEiBgRAIAQgBjYCAAwBCwJAIAUoAgwiBigCCC0AAARAIARB7IwEECk2AgAMAQsgAEF/cyABakEFbCIAQQBIBEAgBEHxjAQQKTYCAAwBCyACIAAgBigCBGoiAC0AAEYEQCAAQQFqEC0gA0YNAQsgBCAGEF0iATYCACABDQAgACACOgAAIABBAWogAxBECyAFKAIMEKYBCyAFQRBqJAALKgEBfyMAQRBrIgQkACAEIAM2AgwgACABIAIgAxD0CCEAIARBEGokACAACxUBAX9B+KYEKAIAIgAEQCAAERUACwsVAQF/QfSmBCgCACIABEAgABEVAAsLEQAgACABIAAoAgAoAhgRAAAL0gsBDn8gACgCBCEMIAAoAgAiCCgCACEJIAgoAggiAygCdCEKIAAtADAhAgNAIAJBAEoEQCAAIAJBAWsiBkHYAGxqIgEoAsQGIQUCQCABLQCxBkG2AUcEQEEAIQQCQCAALQAzQQJHDQAgAiAALQAwRw0AIAUtAClBAnFFDQAgBSgCICICLQA3QYABcUUNACAFLwEeIgdFDQAgAigCCCAHQQF0ai4BAEEkSA0AIAgoAixBAWohBEEAIQIDQCACIAdHBEAgA0HdACABKAKABiACIAIgBGoQJBogAkEBaiECDAELCyAIIAcgCCgCLGpBAWo2AiwgA0EXQRogAS0AsQZBBEYbIAEoAoAGQQAgBCAHEDghBCADQQtBASABKAK4BhAiGgsgAyABKAKQBhA0IAMgAS0AsQYgASgCtAYgASgCuAYgAS0AsgYQJBogAyABLQCzBhA3IAEoApwGBEAgAyABKAKgBhA0IANBPCABKAKcBiABKAK4BkEBaxAiGgsgBEUNASADIAQQKgwBCyADIAEoApAGEDQLAkAgBS0AKUEIcUUNACABKAK8BkEATA0AIAMgASgCiAYQNCABKALABiABKAK8BiIEQRRsakEUayECA0AgBEEATA0BIAMgAigCBEEBahAqIAItABBBtgFHBEACQCACKAIMRQ0AIAUoAihBgIgQcSEHIAEoAvgFBEAgA0EbIAIoAgAgAygCdEEDQQIgB0GAgBBGG2oQIhoLIAdBgIAQRw0AIANBHCABKAKABiADKAJ0QQJqIAIoAgggAigCDBA4GiADIAIoAgRBAWoQKgsgAyACLQAQIAIoAgAgAigCBBAiGgsgAyACKAIEQQFrECogAkEUayECIARBAWshBAwACwALIAMgASgChAYQNCABKAKMBiICBEAgAyACEFoaIAMgASgCjAYQKiADIAEoAowGQQJr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P3FBgAFyOgABIAIgB0EGdkHAAXI6AAAgAkECagshAiADBSAALQADIQMgAiAALQACIgRBP3FBgAFyOgADIAIgB0EKdEGAgDxxQYCABGoiBkESdkHwAXI6AAAgAiADQQh0QYAGcSAEIAlBCnQiA3JyQQZ2QT9xQYABcjoAAiACIANBgOADcSAGckEMdkE/cUGAAXI6AAEgAkEEaiECIABBBGoLIQAMAAsACyAFIAIgAWs2AgwMAgsgASEDA0AgACAITw0BIABBAWohAgJ/AkAgAC0AACIEQcABSQRAIAIhAAwBCyAEQaD5AWotAAAhBANAAkACQCACIAhGBH8gCAUgAi0AACIAQcABcUGAAUYNASACCyEAIARBfnFB/v8DRiAEQYABSXIgBEGAcHFBgLADRnINASAEQf//A00NAyADIARBCHZBA3FB3AFyOgACIAMgBEGAgARrIgJBCnZBwAFxIARBCnZBP3FyOgABIAMgAkESdkEDcUHYAXI6AABBBCEGIANBA2oMBAsgAEE/cSAEQQZ0ciEEIAJBAWohAgwBCwtB/f8DIQQLIAMgBEEIdjoAAEECIQYgA0EBagsgBDoAACADIAZqIQMMAAsACyAFIAMgAWs2AgwgA0EAOgAAIANBAWohAgsgAkEAOgAAIAUvAQghACAFEHggBSABNgIUIAUgATYCECAFIAo6AAogBSAAQb2AAnFBggRyOwEIIAUgBSgCICABEIUCNgIYQQALCwVBAAsLLwAgACABQX8gARs2AhQgACgCACIALQAIQQFxBEAgACABENUCQn9BAUEAEMoBGgsLPQEBfwJAIAIoAgANACAAKAIIIAFODQAgACgCACABEOMBIgMEQCAAIAM2AgAgACABNgIIDwsgAkEHNgIACwt3AQJ/A0AgACIBQQFqIQAgARD/Ag0ACwJAIAEtAABFDQADQCABIgBBAWohASAAEI4CDQALIAAtAABFDQADQCAAIgFBAWohACABEP8CDQALIAEtAABFDQADQCABIgBBAWohASAAEI4CDQALIAAtAABBAEchAgsgAgseAQF/QQEhASAALQAAQQZPBH8gACgCBEEBagVBAQsLkgIBA38gACgCDCIEIAAoAhAiBU4EQCAAKAIYIQQgACAAKAIAKAIAKAIAIgMgBUHgAGytEFMiBTYCGCAFRQRAIAJBAXEEQCADIAEQLwsgACAENgIYQQAPCyAFIAQgACgCDEEwbBAnGiAAQSBqIARHBEAgAyAEECULIAAgAyAAKAIYEIUCQTBuNgIQIAAoAgwhBAtBASEFIAAgBEEBaiIDNgIMIAJBAnFFBEAgACADNgIUCyAAKAIYIQMCQCABRQ0AIAEtAAZBBHFFDQAgATQCHBDUAUGOAmshBQsgAyAEQTBsaiIDIAU7AQggARCdASEBIAMgAjsBCiADIAE2AgAgAyAANgIEIANBDGpBAEEkECgaIAQLwwEBAX8CQCAAKAIALQBXDQAgAS0ABEGAAXENACMAQSBrIgMkACADQccANgIEIAMgADYCACAALQAWBEAgA0EANgIMIANByAA2AgggAyABEGoaCyADQQA7ARQgA0HAADYCDCADQckANgIIIAMgARBqGiADQSBqJAAgACgCJA0AIAAgASACENQLIAAoAiQNACMAQSBrIgIkACACQcoANgIMIAJBMzYCCCACQccANgIEIAIgADYCACACIAEQahogAkEgaiQACwt5AQF/IAEEfyACRQRAIAEPCyAAKAIAIQMCQCABKAIEQYGAgIACcUGAgICAAkcEQCACKAIEQYGAgIACcUGAgICAAkcNAQsgAC0A0AFBAUsNACAAIAEQzQcgACACEM0HIANBmwFBxrwBEHMPCyAAQSwgASACEDYFIAILC+EDAQN/IwBB0ABrIgokACAAKAIAQswAEFMiCSAKIAkbIQsgCUEcaiAKQRxqIAkbIAEEfyABBSAAQQAgACgCAEG0AUEAEHMQQAs2AgAgC0GKAToAACAJQQRqIApBBHIgCRsgBzYCACAJQQhqIApBCGogCRtBADYCACAJQQxqIApBDGogCRtBADYCACAAIAAoAmRBAWoiATYCZCAJQRBqIApBEGogCRsgATYCACAJQRRqIApBFGogCRtBfzYCACAJQRhqIApBGGogCRtBfzYCACAJQQJqIApBAnIgCRtBADsBACAJQSBqIApBIGogCRsgAgR/IAIFIAAoAgBC0AAQQQs2AgAgCUEkaiAKQSRqIAkbIAM2AgAgCUEoaiAKQShqIAkbIAQ2AgAgCUEsaiAKQSxqIAkbIAU2AgAgCUEwaiAKQTBqIAkbIAY2AgAgCUE0aiAKQTRqIAkbQQA2AgAgCUE4aiAKQThqIAkbQQA2AgAgCUE8aiAKQTxqIAkbIAg2AgAgCUFAayAKQUBrIAkbQQA2AgAgCUHEAGogCkHEAGogCRtBADYCACAJQcgAaiAKQcgAaiAJG0EANgIAIAAoAgAiAC0AVwRAIAAgCyAKIAtHEKQIQQAhCQsgCkHQAGokACAJCxQBAX8Q5wEEf0EABSAAIAEQxgELC0gBAX8gAEEBIAF0IgIgACgCoAFyNgKgAQJAIAFBAUYNACAAKAIAKAIQIAFBBHRqKAIELQAJRQ0AIAAgACgCpAEgAnI2AqQBCwsdAQF/EOcBBH9BAAUgACABQQAgAUEAShutEMYBCwtlAQN/IAJFBEBBAA8LAkAgAC0AACIDRQ0AA0ACQCABLQAAIgVFDQAgAkEBayICRSADIAVHcg0AIAFBAWohASAALQABIQMgAEEBaiEAIAMNAQwCCwsgAyEECyAEQf8BcSABLQAAawtyAQJ/AkAgACgCACAAKAIMaiICQQBMBEBBASECIAAtAAhBEHFFDQELQQchASAAIAJBARC5Aw0AQQAhASAAKAIQIAAoAgxqQQAgACgCABAoGiAAIAAoAgwgACgCAGo2AgwgACAALwEIQf/7AnE7AQgLIAELyQoCBX8PfiMAQeAAayIFJAAgBEL///////8/gyEMIAIgBIVCgICAgICAgICAf4MhCiACQv///////z+DIg1CIIghDiAEQjCIp0H//wFxIQcCQAJAIAJCMIinQf//AXEiCUH//wFrQYKAfk8EQCAHQf//AWtBgYB+Sw0BCyABUCACQv///////////wCDIgtCgICAgICAwP//AFQgC0KAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEKDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQogAyEBDAILIAEgC0KAgICAgIDA//8AhYRQBEAgAiADhFAEQEKAgICAgIDg//8AIQpCACEBDAMLIApCgICAgICAwP//AIQhCkIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQCABIAuEIQJCACEBIAJQBEBCgICAgICA4P//ACEKDAMLIApCgICAgICAwP//AIQhCgwCCyABIAuEUARAQgAhAQwCCyACIAOEUARAQgAhAQwCCyALQv///////z9YBEAgBUHQAGogASANIAEg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AEHUwAAgAkEQahAmIAAgBDYCDAsgBSABECULIAJBIGokACADIAMoAjhBAWs2AjgMAQsgAS4BIiICQQBKDQAgAkEASARAIAYgASgCADYCACAAQY73ACAGECZBASEEDAELAkAgAyABKAIsQQAQ0QEiBUUEQEEBIQQMAQsgAC0A0AEhCCAAQQA6ANABIAAoAighCSAAIAUoAiAQvAUgAUEiaiIHQf//AzsBACADQQA7AbQCIAMoAugCIQogA0EANgLoAkEBIQQgAyADKAKwAkEBajYCsAIgACAFQcAAEOQFIQIgAyAKNgLoAiAAIAk2AigCQCACRQRAIAdBADsBAAwBCyABKAIQIgQEQCAAIAQgByABQQRqEL4FQQAhBCAAKAIkDQEgBSgCHCgCACAHLgEARw0BIAAgASAFQcAAELsHDAELIAEgAi8BIjsBIiABIAIoAgQ2AgQgASABKAIcIAIoAhxB4gBxcjYCHEEAIQQgAkEANgIEIAJBADsBIgsgASABLwEiOwEkIAMgAhDTASADIAUQZiADIAMoArACQQFrIgI2ArACIAMgAgR/QQAFIAMvAbYCCzsBtAIgACAIOgDQAQsgASgCPCIAIAAvAU5BAnI7AU4gAy0AV0UNACADIAEQ8wULIAZBEGokACAEC04BAn8gAC8BNCEDIAFB//8DcSEBA0ACQCACIANGBEBB//8DIQIMAQsgACgCBCACQQF0ai8BACABRg0AIAJBAWohAgwBCwsgAkEQdEEQdQtYAQR/A0ACQCADIAAoAhRODQAgACgCECADIANBAklzIgVBBHRqKAIMIQYCQCACBEAgACAFIAIQ0ARFDQELIAZBGGogARB8IgQNAQsgA0EBaiEDDAELCyAEC44CAQR/IAFC/wBYBEAgACABPAAAQQEPCyABQv//AFgEQCAAIAGnIgNB/wBxOgABIAAgA0EHdkGAAXI6AABBAg8LIwBBEGshBQJAIAFCgICAgICAgIABVARAA0AgAyICIAVBBmpqIAGnQYABcjoAACACQQFqIQMgAUL/AFYhBCABQgeIIQEgBA0ACyAFIAUtAAZB/wBxOgAGQQAhBANAIAMgBEYNAiAAIARqIAVBBmogAmotAAA6AAAgBEEBaiEEIAJBAWshAgwACwALIAAgATwACCABQgiIIQFBByECA38gAkEASAR/QQkFIAAgAmog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IAUQxgEiATYCFCABDQAgACgCEBAjIAAoAhQhAQsgACABNgIQQQAhAgwBCyAEQQBKBEAgACgCICAAKAIUEGULIAAgACgCICABrBCMASIBNgIUCyABRQRAIAAQZCAAQQA2AhggAEEANgIQQQcPCyAAIAAoAiAgARCFAjYCGAJAIAJFDQAgACgCECIBRQ0AIAAoAhQgASAAKAIMECcaCyAALwEIIgFBgAhxBEAgACgCECAAKAIkEQMAIAAvAQghAQsgACAAKAIUNgIQIAAgAUH/xwNxOwEIQQAL2QMCAn4CfyMAQSBrIgQkAAJAIAFC////////////AIMiA0KAgICAgIDAgDx9IANCgICAgICAwP/DAH1UBEAgAUIEhiAAQjyIhCEDIABC//////////8PgyIAQoGAgICAgICACFoEQCADQoGAgICAgICAwAB8IQIMAgsgA0KAgICAgICAgEB9IQIgAEKAgICAgICAgAiFQgBSDQEgAiADQgGDfCECDAELIABQIANCgICAgICAwP//AFQgA0KAgICAgIDA//8AURtFBEAgAUIEhiAAQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgA0L///////+//8MAVg0AQgAhAiADQjCIpyIFQZH3AEkNACAEQRBqIAAgAUL///////8/g0KAgICAgIDAAIQiAiAFQYH3AGsQqgEgBCAAIAJBgfgAIAVrEPsCIAQpAwhCBIYgBCkDACIAQjyIhCECIAQpAxAgBCkDGIRCAFKtIABC//////////8Pg4QiAEKBgICAgICAgAhaBEAgAkIBfCECDAELIABCgICAgICAgIAIhUIAUg0AIAJCAYMgAnwhAgsgBEEgaiQAIAIgAUKAgICAgICAgIB/g4S/C9MBAgF/An5BfyEEAkAgAEIAUiABQv///////////wCDIgVCgICAgICAwP//AFYgBUKAgICAgIDA//8AURsNACACQgBSIANC////////////AIMiBkKAgICAgIDA//8AViAGQoCAgICAgMD//wBRGw0AIAAgAoQgBSAGhIRQBEBBAA8LIAEgA4NCAFkEQCAAIAJUIAEgA1MgASADURsNASAAIAKFIAEgA4WEQgBSDwsgACACViABIANVIAEgA1EbDQAgACAChSABIAOFhEIAUiEE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aiIFQQF0QcClAmovAQAgA0YNASADQQF0QaCWAmovAQAiBQ0ACyADQf//A3FFIAdB5QBqIgNBAXRBwKUCai8BAEHlAEdyRQRAIANBAXRB4MgCagwCCyAGQQF0QZDpAmoMAQsgBUEBdEHgyAJqCy8BAAUgBgtB//8DcSIFQdQJTwRAAkAgBUHMjwJqLQAADQAgEigCACASKAK4CUkNACASEIkIDAMLIBUgESkCGDcDAEEAIQNBACEGQQAhCkEAIQhBACEHQQAhCyMAQbABayINJAAgEigCACECAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAFQdQJayIdDtQCAAECAwQFBQUGBgcICQoLDA0ODA8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSoMKywtLi8wMTIzNDU2NzgMOToWOxw8PT4/DEBBQDhCQ0Q5DEVGR0hJSktMTUxOT1BRUlMMVFVWV1gWWVpbWVxdXl9gWGFiY2RlZmdoaWprbGBtbm9wVHFyc3R1dnd4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AAsgASAAQf4BIABB/gFIG0EBajoABgsgB0EQaiQAIAVBGHRBGHULTAEBfyABBEADQCABKAIQIQIgACABKAIAEDogACABKAIEEC8gACABKAIIEDogACABKAIMEC8gACABKAIYECUgACABECUgAiIBDQALCwsIACAAECNBAAseAQF/A0AgAARAIAFBAWohASAAKAIAIQAMAQsLIAELMAAgACgCECABQQR0aigCACACEDBFBEBBAQ8LQQAhACABBH9BAQVBxNMAIAIQMAtFCzcBAX8gAQRAA0AgAiABKAIATkUEQCAAIAEgAkEYbGpBDGoQowggAkEBaiECDAELCyAAIAEQJQsLUQAgAQRAIAEQggYgACABKAIoEC8gACABKAIIEDogACABKAIMEDogACABKAIcEC8gACABKAIYEC8gACABKAIAECUgACABKAIEECUgACABECULC6sBAQF/AkAgASgCBEGAgIEEcQ0AAkAgASgCDCICRQ0AIAEtAABBsgFGDQAgACACENMECyABKAIQIgIEQCAAIAIQ0wQMAQsgAS0ABUEIcQRAIAAgASgCFBBmDAELIAAgASgCFBA6IAEtAAdBAXFFDQAgACABKAIsENIECyABKAIEIgJBgIAEcQR/IAAgASgCCBAlIAEoAgQFIAILQYCAgMAAcUUEQCAAIAEQZQsL1QEBAn8jAEEQayIFJAACQAJAIAEgACgCMEsEQEGZlgQQKSEEDAELIAAoAgAgASAFQQxqIAQQpwEiBA0AIAIgBSgCDCIEKAIIIgY2AgACQCAGLQAARQRAIAQgASAAEJsGGiACKAIAEK0DIgQNAQtBACEEIANFDQIgAigCACIALwEYBEAgAC0AASADLQBFRg0DC0GulgQQKSEECyACKAIAEE4LIANFDQAgAyADLQBEQQFrIgA6AEQgAyADIABBGHRBGHVBAnRqKAJ4NgJ0CyAFQRBqJAAgBAtjAQF/IAAoAgQhAiAAEEsgAigCACgC5AEhAAJAIAFFBEAgACgCFCEBDAELIAFBAEgEQEIAIAGsQgqGfSAAKAIcIAAoAhhqrH+nIQELIAAgATYCFAsgABDwBCIAIAEgACABShsLNwAgACABKAIkEC8gACABKAIoEDogACABKAIQECUgAS0AN0EQcQRAIAAgASgCIBAlCyAAIAEQJQvjBQEIfyMAQRBrIgkk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QYIEcUGCBEcNACAALQAKIAFHDQAgACgCEA8LIANBAXENACAAIAEQ4wkhAgsgAgtIAQJ/An8gAUEfTQRAIAAoAgAhAiAAQQRqDAELIAFBIGshASAACygCACEDIAAgAiABdDYCACAAIAMgAXQgAkEgIAFrdnI2AgQLnwIBBX8jAEHwAWsiBiQAIAYgAjYC7AEgBiABNgLoASAGIAA2AgBBASEJAkACQAJAIAFBAUcgAnJFBEAgACEHDAELIAAhCANAIAggBSADQQJ0aiIKKAIAayIHIABB5QARAABBAEwEQCAIIQcMAgsCQCAEIANBAkhyRQRAIApBCGsoAgAhBCAIQQRrIgogB0HlABEAAEEATg0BIAogBGsgB0HlABEAAEEATg0BCyAGIAlBAnRqIAc2AgAgBkHoAWogASACEPAJIgEQjAUgCUEBaiEJIAEgA2ohA0EAIQQgByEIIAYoAuwBIgIgBigC6AEiAUEBR3INAQwDCwsgCCEHDAELIAQNAQsgBiAJEO8JIAcgAyAFEM8GCyAGQfABaiQAC0gBAn8CfyABQR9NBEAgACgCBCECIAAMAQsgAUEgayEBIABBBGoLKAIAIQMgACACIAF2NgIEIAAgAkEgIAFrdCADIAF2cjYCAAvMCQIEfgR/IwBB8ABrIgokACAEQv///////////wCDIQUCQAJAIAFQIgkgAkL///////////8AgyIGQoCAgICAgMD//wB9QoCAgICAgMCAgH9UIAZQG0UEQCADQgBSIAVCgICAgICAwP//AH0iCEKAgICAgIDAgIB/ViAIQoCAgICAgMCAgH9RGw0BCyAJIAZCgICAgICAwP//AFQgBkKAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEEIAEhAwwCCyADUCAFQoCAgICAgMD//wBUIAVCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhBAwCCyABIAZCgICAgICAwP//AIWEUARAQoCAgICAgOD//wAgAiABIAOFIAIgBIVCgICAgICAgICAf4WEUCIJGyEEQgAgASAJGyEDDAILIAMgBUKAgICAgIDA//8AhYRQDQEgASAGhFAEQCADIAWEQgBSDQIgASADgyEDIAIgBIMhBAwCCyADIAWEUEUNACABIQMgAiEEDAELIAMgASABIANUIAUgBlYgBSAGURsiDBsh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AjYCECADIAU2AgwgBSADNgIIIAIgAzYCCCADKAIIIQ1BACEFIANBADYCCCADIQIgDSEDCyAMIAU2AgAgBEEBaiEEDAELCyACRQ0BIAIQjAJBEiEFC0EAIQQgAUEAIAFBAEobIQEDQCABIARGDQMgCSAEQQJ0aigCABCMAiAEQQFqIQQMAAsACyAHBEAgB0EQaiECA0AgAigCACIEQQxqIQIgBCgCACAKRg0ACyAGIAQ2AgwgBygCECICIAcoAgg2AgggBygCCCIFBEAgBSACNgIMIAghAgsgByADNgIIIAchAwwBCwtBACEFIAFBACABQQBKGyEIQQAhAkEAIQQDQCAEIAhGDQIgCSAEQQJ0aiIHKAIAIgEEQAJAIAJFBEAgASECDAELIAMgAjYCECADIAcoAgAiATYCDCABIAM2AgggAiADNgIIIAMiAigCCCEDCyACQQA2AggLIARBAWohBAwACwALA0AgAwRAIAMoAgghASADECMgASEDDAELCyAIIQILIAkQIwwDBSAEKAIMIQQMAQsACwALIApBAkcNAiAGIAIoAgwiCDYCCCAGIAIoAhAiAzYCBCACQgA3AgwgCEEANgIIIANBADYCCAJAIAZBCGogAUEBayIBEJkFIgUEfyADBSAGQQRqIAEQmQUiBUUNASAGKAIECxCMAiAGKAIIEIwCDAELIAIgBigCCCIBNgIMIAEgAjYCCCACIAYoAgQiATYCECABIAI2AghBACEFCyAFDQBBACEFDAELIAIQjAJBACECCyAAIAI2AgAgBkEQaiQAIAUL4AEBA38jAEEQayIDJAACQAJAA0AgAQ0BIAAoAoACIAJKBEBBACAAIAAoApgCIAJBfxDuBiIBIAFB5QBGGyEBIAJBAWohAgwBCwsgABChBEEAIQEgAC0A7QFFDQEgACgCMEH/AUcNASAAKAI0RQ0BQQAhAiADQQA2AgwgAEEWIANBDGpBABBSIgENASADKAIMIgFBAUECEHQaAkACQAJAIAEQQ0HkAGsOAgABAgtBCCABQQAQvQEiAiACQQFGGyECCyAAIAI2AjALIAEQOSEBDAELIAAQoQQLIANBEGokACABC5gBAQN/IAEtAAdFBEBBAA8LAkACQCABELkKIgINACABKAIAIgMgAygCOEEBajYCOCABKAIMQQEgASkDIBBXGiABQQA6AAcgASgC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oKMiBCAAIABEAAAAAAAA4D+ioiIGIAQgBKIiBCAEoiIAIAAgAESfxnjQCZrDP6JEr3iOHcVxzD+gokQE+peZmZnZP6CiIAQgACAAIABERFI+3xLxwj+iRN4Dy5ZkRsc/oKJEWZMilCRJ0j+gokSTVVVVVVXlP6CioKCiIANEdjx5Ne856j2iIAWgoCAGoaCgCw8LIAALfwIBfgJ/IwBBEGsiAyQAIAACfiABUARAQgAMAQsgAyABIAFCP4ciAoUgAn0iAkIAIAJ5pyIEQTFqEKoBIAMpAwhCgICAgICAwACFQb6AASAEa61CMIZ8IAFCgICAgICAgICAf4OEIQIgAykDAAs3AwAgACACNwMIIANBEGokAAu2DwIFfw5+IwBB0AJrIgUkACAEQv///////z+DIQogAkL///////8/gyEMIAIgBIVCgICAgICAgICAf4MhDSAEQjCIp0H//wFxIQgCQAJAIAJCMIinQf//AXEiCUH//wFrQYKAfk8EQCAIQf//AWtBgYB+Sw0BCyABUCACQv///////////wCDIg9CgICAgICAwP//AFQgD0KAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCENDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQ0gAyEBDAILIAEgD0KAgICAgIDA//8AhYRQBEAgAyACQoCAgICAgMD//wCFhFAEQEIAIQFCgICAgICA4P//ACENDAMLIA1CgICAgICAwP//AIQhDUIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQEIAIQEMAgsgASAPhFAEQEKAgICAgIDg//8AIA0gAiADhFAbIQ1CACEBDAILIAIgA4RQBEAgDUKAgICAgIDA//8AhCENQgAhAQwCCyAPQv///////z9YBEAgBUHAAmogASAMIAEgDCAMUCIGG3kgBkEGdK18pyIGQQ9rEKoBQRAgBmshBiAFKQPIAiEMIAUpA8ACIQELIAJC////////P1YNACAFQbACaiADIAogAyAKIApQIgcbeSAHQQZ0rXynIgdBD2sQqgEgBiAHakEQayEGIAUpA7gCIQogBSkDsAIhAwsgBUGgAmogCkKAgICAgIDAAIQiEkIPhiADQjGIhCICQgBCgICAgLDmvIL1ACACfSIEQgAQoQEgBUGQAmpCACAFKQOoAn1CACAEQgAQoQEgBUGAAmogBSkDmAJCAYYgBSkDkAJCP4iEIgRCACACQgAQoQEgBUHwAWogBEIAQgAgBSkDiAJ9QgAQoQEgBUHgAWogBSkD+AFCAYYgBSkD8AFCP4iEIgRCACACQgAQoQEgBUHQAWogBEIAQgAgBSkD6AF9QgAQoQEgBUHAAWogBSkD2AFCAYYgBSkD0AFCP4iEIgRCACACQgAQoQEgBUGwAWogBEIAQgAgBSkDyAF9QgAQoQEgBUGgAWogAkIAIAUpA7gBQgGGIAUpA7ABQj+IhEIBfSICQgAQoQEgBUGQAWogA0IPhkIAIAJCABChASAFQfAAaiACQgBCACAFKQOoASAFKQOgASIPIAUpA5gBfCIEIA9UrXwgBEIBVq18fUIAEKEBIAVBgAFqQgEgBH1CACACQgAQoQEgBiAJIAhraiEGAn8gBSkDcCIQQgGGIhQgBSkDiAEiDkIBhiAFKQOAAUI/iIR8IgtC5+wAfSIVQiCIIgIgDEKAgICAgIDAAIQiFkIBhiABQj+IhCIMQiCIIgR+IhEgAUIBhiIPQiCIIgogCyAVVq0gCyAUVK0gBSkDeEIBhiAQQj+IhCAOQj+IfHx8QgF9IhBCIIgiC358Ig4gEVStIA4gDiAQQv////8PgyIQIAxC/////w+DIhR+fCIOVq18IAQgC358IAQgEH4iEyALIBR+fCIRIBNUrUIghiARQiCIhHwgDiAOIBFCIIZ8Ig5WrXwgDiAOIBVC/////w+DIhUgFH4iEyACIAp+fCIRIBNUrSARIBEgECAPQv7///8PgyITfnwiEVatfHwiDlatfCAOIAQgFX4iFyALIBN+fCIEIAIgFH58IgsgCiAQfnwiEEIgiCALIBBWrSAEIBdUrSAEIAtWrXx8QiCGhHwiBCAOVK18IAQgESACIBN+IgIgCiAVfnwiCkIgiCACIApWrUIghoR8IgIgEVStIAIgEEIghnwgAlStfHwiAiAEVK18IgRC/////////wBYBEAgBUHQAGogAiAEIAMgEhChASABQjGGIAUpA1h9IAUpA1AiAUIAUq19IQtCACABfSEKIAZB/v8AagwBCyAFQeAAaiAEQj+GIAJCAYiEIgIgBEIBiCIEIAMgEhChASABQjCGIAUpA2h9IAUpA2AiDEIAUq19IQtCACAMfSEKIAEhDyAWIQwgBkH//wBqCyIGQf//AU4EQCANQoCAgICAgMD//wCEIQ1CACEBDAELAn4gBkEASgRAIAtCAYYgCkI/iIQhCyAEQv///////z+DIAatQjCGhCEMIApCAYYMAQsgBkGPf0wEQEIAIQEMAgsgBUFAayACIARBASAGaxD7AiAFQTBqIA8gDCAGQfAAahCqASAFQSBqIAMgEiAFKQNAIgIgBSkDSCIMEKEBIAUpAzggBSkDKEIBhiAFKQMgIgFCP4iEfSAFKQMwIgQgAUIBhiIBVK19IQsgBCABfQshBCAFQRBqIAMgEkIDQgAQoQEgBSADIBJCBUIAEKEBIAwgAiACIAMgAkIBgyIBIAR8IgNUIAsgASADVq18IgEgElYgASASURutfCICVq18IgQgAiACIARCgICAgICAwP//AFQgAyAFKQMQViABIAUpAxgiBFYgASAEURtxrXwiAlatfCIEIAIgBEKAgICAgIDA//8AVCADIAUpAwBWIAEgBSkDCCIDViABIANRG3GtfCIBIAJUrXwgDYQhDQsgACABNwMAIAAgDTcDCCAFQdACaiQAC9sBAgF/An5BASEEAkAgAEIAUiABQv///////////wCDIgVCgICAgICAwP//AFYgBUKAgICAgIDA//8AURsNACACQgBSIANC////////////AIMiBkKAgICAgIDA//8AViAGQoCAgICAgMD//wBRGw0AIAAgAoQgBSAGhIRQBEBBAA8LIAEgA4NCAFkEQEF/IQQgACACVCABIANTIAEgA1EbDQEgACAChSABIAOFhEIAUg8LQX8hBCAAIAJWIAEgA1UgASADURsNACAAIAKFIAEgA4WEQgBSIQQLIAQLmAQDA3wCfgJ/AnwCQCAAvSIEQjSIp0H/D3EiBkHJB2tBP0kEQCAGIQcMAQsgBkHIB00EQCAARAAAAAAAAPA/oA8LIAZBiQhJDQBEAAAAAAAAAAAgBEKAgICAgICAeFENARogBkH/D0YEQCAARAAAAAAAAPA/oA8LIARCAFMEQEQAAAAAAAAAEBD1CQ8LRAAAAAAAAABwEPUJDwtB8LUDKwMAIACiQfi1AysDACIBoCICIAGhIgFBiLYDKwMAoiABQYC2AysDAKIgAKCgIgEgAaIiACAAoiABQai2AysDAKJB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4ABqJAAgBQs+AQN/IAAoAggiAigCICEBA0AgAQRAIAEoAgghAyAAIAEoAgBB/5kCEMQCIAEQIyADIQEMAQsLIAJBADYCIAuqAQEDfwJAIAAoAggoAigiAUUNACABKAIcDQAQngkhAwNAIAIgAS8BFE5FBEACQCABKAIMQQBOBEAgASgCGCACQQJ0aigCACABKAIQQdj6AygCABEAABoMAQsgASgCGCACQQJ0aigCABAjCyACIANqIQIMAQsLIAEoAhgQIyABKAIMIgJBAE4EQCAAIAJB4rICEMQCIAFBfzYCDAsgASgCAEEANgIoIAEQIwsLWgEBfyADQf//B3EhBQJAAkADQCAAIAEQ8glCAFkEQCAAIAIgBUHI+QMoAgARBAAiA0EATg0DQaSnBCgCAEEbRg0BDAILC0F/IQMLIARBpKcEKAIANgIACyADC8oBAQN/IwBBMGsiAiQAIAJCATcDICACQoABNwMYIAJBATYCECABKAIMIQQgAiACQRBqNgIAQYoeIQMCQCAEQQUgAkGY+QMoAgARBAANAEEFIQMCQAJAIAIvARBBAWsOAgIAAQsgAS0AFgRAIAFBAToAF0GICiEDDAILIABBAUGAAUEBEPwDIgMNASABKAIMQgMQowlFDQBBiiQhA0GKJEHA4QAgASgCCEGbswIQwAEaDAELIABBAEGAAUEBEPwDIQMLIAJBMGokACADCx8BAX9BAUHw+gMoAgARDwAiAEGAgAJtIABBgIACSBsLLAAgACgCLEUEQCAALQASQRBxBEAgACAAKAIwQYAgcjYCMAsgAEGAIDYCLAsLTwEBfyMAQeAAayIBJAACf0EAIAAoAghFDQAaQQEgACgCICABQQhqQfT4AygCABEAAA0AGiABKQNYIAAoAggpAwhSCyEAIAFB4ABqJAAgAAtGAQF/IAIoAgAiA0EASARAIAIgAC8BEiABcUEARzYCAA8LIANFBEAgACAALwESIAFBf3NxOwESDwsgACAALwESIAFyOwESC8cDAgN/BH4jAEEwayICJAAgASgCACIDQQBMBH9BMAUgASADQQFrNgIAIAApAwAiByEFIAApAwgiCCEGIwBBEGsiAyQAAn9BACAGQjCIp0H//wFxIgFB//8ASQ0AGiAGQj+Hp0H/////B3MgAUGfgAFrQV9NDQAaIAMgBSAGQv///////z+DQoCAgICAgMAAhEHvgAEgAWsQ+wIgAygCACIBQQAgAWsgBkIAWRsLIQEgA0EQaiQAIAEhA0IAIQUjAEEQayIEJAAgAiADBH4gBCADIANBH3UiAXMgAWsiAa1CACABZyIBQdEAahCqASAEKQMIQoCAgICAgMAAhUGegAEgAWutQjCGfCADQYCAgIB4ca1CIIaEIQUgBCkDAAVCAAs3AyAgAiAFNwMoIARBEGokACACKQMgIQYgAikDKCEFIwBBEGsiASQAIAEgByAIIAYgBUKAgICAgICAgIB/hRCNBSABKQMAIQUgAiABKQMINwMYIAIgBTcDECABQRBqJAAgAiACKQMQIAIpAxhCAEKAgICAgICQgcAAEOYBIAAgAikDADcDACAAIAIpAwg3AwggA0EwagshACACQTBqJAAgAEEYdEEYdQsrAQF/A0AgACABQYz5AygCABELACICQQBIBEBBpKcEKAIAQRtGDQELCyACCxUAIAAoAgwgASACIAMgAEEUahCcCQvTAgEFfyMAQSBrIgIkAAJAIAAtABAiBSABTA0AIAAoAgghAwJAIAVBAk8EQAJAIAFBAUcNACACQv4DNwMQIAJBADYCACACQbD4AygCAEECaqw3AwggACACEPECRQ0AIABBpKcEKAIAEJoBQYoSIQYMAwsgAkECNgIAIAJCAjcDECACQbD4AzQCADcDCCAAIAIQ8QINASADQQE6ABwLIABBEGohBSABRQRAIAMgAygCFEEBayIENgIUIAQEf0EBBSACQgA3AxAgAkIANwMIIAJBAjYCACAAIAIQ8QIiBAR/IABBpKcEKAIAEJoBIANBADoAHEGKECEGIAUFIANBHGoLQQA6AAAgBEULIQQgAyADKAIYQQFrIgM2AhggA0UEQCAAEJoJCyAERQ0CCyAFIAE6AABBACEGDAELIABBpKcEKAIAEJoBQYoQIQYLIAJBIGokACAGC30BAn8jAEHgAGsiASQAAkAgAC0AEkGAAXENAEGoMiECAkAgACgCDCABQQhqQYD5AygCABEAAA0AQc85IQICQAJAIAEoAhgOAgIBAAtB2TwhAgwBC0GzOSECIAAQoAlFDQELIAEgACgCIDYCAEEcIAIgARB/CyABQeAAaiQAC0EBAn8jAEEQayIBJAAgAUEMahCoCQJAIABBAEgNACABKAIMIABMDQAgAEEC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DDcDICAGQYABakHc1AEgBkEgahA/DAELIAlBgIABcQRAIAYgBCgCADYCECAGQYABakGcwQEgBkEQahA/BSAGQYABakHc0QFBAhBFQQAhCSAEKAIMIgxBACAMQQBKGyEMA0AgCSAMRwRAIAYgBCgCECAJai0AADYCACAGQYABakHvCyAGED8gCUEBaiEJDAELCyAGQYABakGc2wFBARBFCwwACwALIAZBgAFqIAEgARAxEEULIAYtAJQBBEAgBkGAAWoQpgILIAZBgAFqEMIBIQEgBkGgAWokACAHKALYASABIAcoAtQBEQUAIAEQIwwBCyAHKALEAUECTgRAIAggATYCYCAHQarAACAIQeAAahA8IQFBASAHKALYASAAIAEgBygC1AERBgAaIAcgARAlDAELQQEgBygC2AEgACABIAcoAtQBEQYAGgsgBSAFKAIEIgFBrPUDKAIATgR/IAUtAABBswFGDXdBASECIAAoAnQiAUEBIAFBAUobIQEDQCABIAJHBEAgACgCcCACQRRsaiIELQAAQRFGBEAgBEEANgIECyACQQFqIQIMAQsLIAVBADYCBEEABSABC0EBajYCBCAAIAAoAsABQQFqNgLAAQxxCyAFKAIEIQEgCiAFEM0IISggCiABQShsaiIBKAIQICggATQCDIIiKEIDiKdqLQAAICinQQdxdkEBcUUEQCAAIAAoAsgBQQFqNgLIAQxxCyAAIAAoAsQBQQFqNgLEAQx1CyAFKAIEIQEgCiAFEM0IISggCiABQShsaiIBKAIQICggATQCDIIiKEIDiKdqIgEgAS0AAEEBICinQQdxdHI6AAAMdAsCQCAKIAUoAgwiCUEobGoiBCAFKAIQIgEoAgBGBEAgAS0AGSEGDAELIAEgBDYCACABIAA2AgwgAS0AGSIGIQIDQCACQQBMDQEgASACQQFrIgJBAnRqIAogBSgCCCACakEobGo2AhwMAAsACyAKIAlBKGxqIgIgAi8BCEHA/ABxQQFyOwEIIAEgBiABQRxqIAEoAgQoAhARAgACQCABKAIUIgZFBEAgAyEGDAELIAZBAEoEQCAIIAQQKzYC8AEgAEHUwAAgCEHwAWoQkgEgASgCFCEDCyAHICMgASgCECAFKAIEEOAEQQAhBiABQQA2AhQgAw13CyACLQAIQRJxRQRAIAYhAwx0CyAEIBQQ2AEa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LQABIgVBgAFxBEAgB0EBaiADQRxqEHAaIAMoAhwhBQsgBQ0CC0GLAiEFDAYLQQAhBQsgBCAFRw0CIANCADcDECADQgA3AwggA0IANwMAIAMgByADQSxqIAQQ8gYiBGo2AiQgAyAEIAZqNgIoIANBKGogA0EQahC+AyADQSRqIANBCGoQvgMgAykDECIIQgJZBEAgAykDCCIJQgFVDQILIAMoAiQhBCADKAIoIQYLIAMgAygCLCIHQQFqNgIsQQAhBSAHQQA6AAAgACADKAIsNgIAIAEgBkEBajYCACACIARBAWo2AgAMAwsDQCADQSxqIAMgCCAJIAggCVMbEKEKIAMgAykDAEICfTcDAAJAIAggCVEEQCADQShqIANBEGoQlgUgA0EkaiADQQhqEJYFDAELIAggCVMEQCADQShqIANBEGoQlgUMAQsgA0EkaiADQQhqEJYFCyADKQMQIghC////////////AFIgAykDCCIJQv///////////wBScg0ACwwBCyAEIAVIBEAgAyADQSxqIgUgBBDyBiAGajYCKCAFIANBKGoQrwIMAQsgAyADQSxqIgQgBRDyBiAHajYCJCAEIANBJGoQrwILIAMoAighBgwBCwsgA0EwaiQAIAUL7wMCA38CfiMAQTBrIgckACAHQgA3AyggB0IANwMgIAdCADcDGCAHIAE2AhQgByADNgIQIAdBADYCCCAFQQA2AgAgBkEANgIAAkAgAqwgBKx8QhF8EEoiCEUEQEEHIQQMAQsgByAINgIMIAdBFGogASACaiIBQQAgB0EoahDoASAHQRBqIAMgBGoiAkEAIAdBIGoQ6AECQAJAA0AgBygCFCIDIAcoAhAiBHJFDQECQEEAQQFBf0EAIAcpAygiCiAHKQMgIgtSGyAKIAtVGyIJayAJIAAbIgkgBEUgA0VyckUEQCAHQQxqIgMgACAHQRhqIAdBCGogChCXBSADIAdBFGogB0EQahCiCiIEDQEgB0EUaiABIAAgB0EoahDoASAHQRBqIAIgACAHQSBqEOgBDAILIARBACADRSAJQQBOchtFBEAgB0EMaiIDIAAgB0EYaiAHQQhqIAoQlwUgAyAHQRRqIgMQ6QEgAyABIAAgB0EoahDoAQwCCyAHQQxqIgMgACAHQRhqIAdBCGogCxCXBSADIAdBEGoiAxDpASADIAIgACAH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ACAFEJoBIAMNAQsgACABOgAQIAQgAToAHEEAIQMMAgsgAUEERw0BCyAAQQM6ABAgBEEDOgAcCyACQSBqJAAgAwtbAgJ/AX4jAEHgAGsiAiQAAkAgACgCDCACQQhqQYD5AygCABEAAARAIABBpKcEKAIAEJoBQYoOIQMMAQsgAUIAIAIpAzAiBCAEQgFRGzcDAAsgAkHgAGokACADC5QBAQF/IwBBEGsiASQAAkAgACgCDBDQBgRAIABBpKcEKAIAEJoBQYoIIQJBighB14QBIAAoAiBBja0CEMABGgwBCyAALQASQQhxRQ0AIAAoAiAgAUEMakGQ+gMoAgARAABFBEAgASgCDBDQBhogACABKAIMQZutAhDEAgsgACAALwESQff/A3E7ARILIAFBEGokACACC1sCAX8BfiAAKAIMIAAoAigiAkEASgR+IAEgAq0iA3xCAX0iASABIAOBfQUgAQsQowlFBEBBAA8LIABBpKcEKAIAEJoBQYoMQcDhACAAKAIgQbqtAhDAARpBigwLZAECfwNAIAIgACADIAEgAhCkCSIETCIFIARBAExyRQRAIAEgBGohASACIARrIQIgAyAErXwhAwwBCwsCf0EAIAUNABogBEEASARAQYoGIAAoAhRBM0cNARoLIABBABCaAUENCwv/AQEFfwJ/QQACfyAAIQUgASEGIAIhAANAIAUoAgwgAxDyCUIAUwRAIAVBpKcEKAIAEJoBQX8MAgsCQAJAIAUoAgwgBiAAQaT5AygCABEEACIEIABGBEAgACEEDAELIARBAEgEQEGkpwQoAgAiCEEbRg0DIAUgCBCaAUEAIQcMAQsgBA0BQQAhBAsgBCAHagwCCyAEIAZqIQYgBCAHaiEHIAAgBGshACADIAStfCEDDAALAAsiACACRg0AGiAAQQBIBEBBisIAIAUoAhQiAEEdRiAAQTxGciAAQcQARnINARpBigIPCyAFQQAQmgEgACABakEAIAIgAGsQKBpBigQLC7IBAQN/IAAoAgghASAAEKYJIABBABClCRogASgCGARAIAAoAhwiASAAKAIIIgIoAiA2AgggAiABNgIgIABBADYCHCAAQX82AgwLAkAgACgCCCIBRQ0AIAEgASgCJEEBayICNgIkIAINACAAEJoJIAEoAiwhAgJAIAEoAjAiAwRAIAMgAjYCLCABKAIsIQIM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QCABEAUaC0FkEHYMAQsgAyACNgJAIABBACADQUBrEAEQdgshASADQYABaiQAIAELDAAgACABIAIQBhB2C5QCAQR/IwBBIGsiBCQAAn8gACABEAgiA0F4RwRAIAMQdgwBCyMAQSBrIgMkACAAIANBCGoQCyICBH9BpKcEIAI2AgBBAAVBAQshAiADQSBqJAAgAkUEQEF4EHYMAQtBACECA0AgAiAEaiIDIAJByLwBai0AADoAACACQQ5HIQUgAkEBaiECIAUNAAsCQCAABEBBDiECIAAhAwNAIAJBAWohAiADQQlLIQUgA0EKbiEDIAUNAAsgAiAEakEAOgAAA0AgBCACQQFrIgJqIABBCm4iA0H2AWwgAGpBMHI6AAAgAEEJSyEFIAMhACAFDQALDAELIANBMDoAACAEQQA6AA8LIAQgARAHEHYLIQAgBEEgaiQAIAALEwBBACAAEAUiACAAQRtGGxCXBAsPAEGcfyAAIAFBABAhEHYLBgBBpKcECxAAIwAgAGtBcHEiACQAIAALBgAgACQACwQAIwALBABBAAtXAQJ/A0AgASAALgEQTkUEQCABQShsIgIgACgCbGoQeCAAKAJsIAJqQQE7AQggAUEBaiEBDAELCyAAKALoAQRAIAAgAC8BngFB/P8DcUEBcjsBngELQQALiwECAXwCfiACKAI8QQBMBEACQCACKwMYIgMgASACKQMgIgF8IgSnt2VFDQAgAikDECIFuSADoSAFIAF9p7dlBEAgAiACKQMoQgF8NwMoIAIpAzBQBEAgAiACKQMAIAA0AgB8NwMADAILIAIgACsDACACKwMIoDkDCAwBCyACQQE2AjwLIAIgBDcDIAsLLAEBfyAAQQAQRyIBBEAgASABKQMQQgN+uUQAAAAAAADQP6I5AxggABDaBgsLKQEBfyAAQQAQRyIBBEAgASABKQMQuUQAAAAAAADQP6I5AxggABDaBgsLKQEBfyAAQQAQRyIBBEAgASABKQMQuUQAAAAAAADgP6I5AxggABDaBgsLiAECAX4BfAJAAkAgAikDMFAEQCABIAIpAyAiA1EEQAwDCyABIANXDQEgADQCACEDIAJCATcDKCACIAE3AyAgAiADNwMADwsgASACKQMgIgNRBEAMAgsgASADVw0AIAArAwAhBCACQgE3AyggAiABNwMgIAIgBDkDCAsPCyAC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EIEBDAELIAEgACgCIBCBAQtBAAsIACAAKAIQRQugAQEBfyAAKAIAIQMgABDiBkEBIQICQCABQQFHDQAgBCgCABArIQUgAAJ/IAQoAgAQXwsiAUEBaqwQSiICNgIEIAJFBEBBBw8LIAFBAEoEfyACIAUgARAnGiAAKAIEBSACCyABakEAOgAAIAMoAhAgACgCBCABIABBCGogAygCDCgCDBEGACICDQAgACgCCCADKAIQNgIAIAAQgwohAgsgAgsNACAAEOIGIAAQI0EACwsAIAAgAUEkEM0GCxkAIAAoAhAgACgCDCgCCBEBABogABAjQQALkQEBAn9BACEAIAEoAgAiAkEAIAJBAEobIQMCQANAIAAgA0cEQAJAIAEoAgQgAEEMbGoiAi0ABUUNACACKAIADQAgAi0ABEECRw0AIAFBATYCFCABKAIQIABBA3RqIgBBAToABCAAQQE2AgAgAUKAgICAgICA+D83AygMAwsgAEEBaiEADAELCyABQQA2AhQLQQALhwQBB38jAEEQayIGJAAgBkEANgIMIAZBADYCCCAGQQA2AgQgAEGkvwEQhQQiAEUEQAJAAkACQAJ/IANBDGohCUEAIQNBACEAAkAgAkEDayIHBEAgB0EAIAdBAEobIQoDQCAAIApHBEAgCSAAQQJ0aigCABA7IANqQQFqIQMgAEEBaiEADAELCyAGIAMgB0ECdCIAaq0QSiIHNgIEQQcgB0UNAhogACAHaiEDQQAhAANAIAAgCkYNAiAJIABBAnQiCGoiCygCABA7IQwgByAIaiADNgIAIAMgCygCACAMQQFqIgMQJyIIEMMDIABBAWohACADIAhqIQMMAAsACyAGQQA2AgQLQQALIgANACACQQROBH8gBigCBCgCAAVB2ecACyEAIwBBEGsiAyQAQQEhBwJAIAEgACAAEDtBAWoQnAUiAUUEQCADIAA2AgAgBUGaOCADEMwBDAELIAYgATYCDEEAIQcLIANBEGokACAHIgANACACQQRrQQAgAkEESiIAGyAGKAIEQQRqQQAgABsgBkEIaiAGKAIMIgIoAgQRBAAiAA0AQRQQTyIBDQFBByEACyAGKAIIIgFFDQEgASAGKAIMKAIIEQEAGgwBCyABQgA3AgAgASACNgIMQQAhACABQQA2AgggASAGKAIINgIQIAQgATYCAAsgBigCBBAj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AQggASAAQe3BAEEAEN4JQQAPCyABIAApAyAQYgwCCyAAKAIQBEAgASAANAIUEGIMAgsgAyECIAQoAiwNACABQQAQgQFBAA8LQQAgABCbBSIDDQEgACgCDCIAENkJQQFrIAJMDQAgASAAIAJBAWoQ2AkQyQELQQAhAwsgAwscACAALQAGRQRAQQAPCyAAEPoGIABBAToABkEBC80JAg5/AX4jAEEwayIIJABBASEDAkAgACgCACIGKAI4DQAgAUH//wNxIgsEfyAEKAIAIQlBAQVBAAshAyABQYCABHEEQCAEIANBAnRqKAIAIQUgA0EBaiEDCyABQYCACHEEQCAEIANBAnRqKAIAIQwgA0EBaiEDCyABQYCAEHEEQCAEIANBAnRqKAIAIQoLIAAQ+gYgACAMQoCAgICAgICAgH8Qugo3A0ggACAKQv///////////wAQugo3A1ACfyACBEAgAi0AAEHEAEYMAQsgBi0A7wELIQIgACABOwEEIAAgAjoANCALQQJPBEAgCRArIgJFBEBBByEDIAkQLkEFRw0CC0EAIQMgAEEANgIUIAUEQCAAIAUQaSIDNgIUCyAGKAIkIQ8gBigCHCEQIAYtAOwBIREgBigCGCESIAZBCGohDSMAQSBrIgUkACAAQRBqIQcjAEEwayIEJAAgBEEANgIoIARCADcDICAEIAtBAms2AhwgBCASNgIYIAQgEDYCECAEIAM2AgwgBCAPNgIIIAQgETYCFAJAIAJFBEAgB0EANgIADAELIARBCGogAiACEDsgByAEQSxqEKsKIgNBASADIAQoAigbIAMbIQ4LIARBMGokAAJAAkAgDiIEDQBBACEDIAcoAgBFDQEgB0EMEJkFIgQNACAHKAIAQQwQrwoiBEUNAQsgBygCABCMAiAHQQA2AgBBASEDIARBAUcEQCAEIgNBEkcNASAFQQw2AgAgDUHWwQEgBRDMAUEBIQMMAQsgBSACNgIQIA1BhosBIAVBEGoQzAELIAVBIGokACADDQEjAEEgayIFJAAgACgCACECIAVBADYCHCAFQQA2AhggBUEANgIUIAAgACgCECAFQRhqIAVBFGogBUEcahCuCgJAIAUoAhwNACAFKAIYIgNBAkgNACACLQDsAUUNACADQRhsIAUoAhRBA3RqrRBKIgNFBEAgBUEHNgIcDAELIAUoAhghAiAF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AQsgBBCiAkUgA0EBR3JFBEAgACACKAIEEMkBDAELIAAgAxDZAQsgAUFAaxCpBAsgBCAHNgLoAiABQdACaiQAC/ICAQZ/IwBBoAJrIgEkACAAEIABIQQgAigCABBpIQMgAigCBBArIQYgAigCCBBpIQUgBCgCECADQQR0aigCACECIAQoAugCIQggBEEANgLoAgJAIAFBEGogAiAEIAYgA0EBRhCqBCICDQACQAJAIAEoAvwBIgJFDQAgAi4BIiIDQQFGDQAgAyAFSg0BC0Hd4gYQKSECDAELIAFBEGpBACAFQQxsIgcgAigCBGooAgAQnAEhAwJAIAIuASJBAWsgBUoEQCABQRBqQQAgByACKAIEaigCDBCcASgCBCEFIAMoAgQhAgwBCyAGIAIoAixqIQUgAygCBCECA0AgAi0AACIHRSAHQSxGcg0BIAMgAkEBayICNgIEDAALAAsgASAFNgIIIAEgBjYCBCABIAIgBms2AgAgACAEQdEsIAEQPCICQX9BfxA9IAIQI0EAIQILIAFBEGoQqQQgBCAINgLoAiACBEAgACACENkBCyABQaACaiQAC5oDAgd/An4jAEGwAmsiASQAIAAQgAEhAyACKAIAECshBSACKAIEECshBCACKAIQEGkhByADKQMgIQsgAigCFBArIQYgAigCGBBpIQggAygC6AIhCSADQQA2AugCIAVFIARFckUEQCADKQMgIQogCARAIAMgCkL/////eYM3AyALIAFBIGogBSADIAQgBxCqBCEEIAMgAykDICAKQoCAgIAGg4Q3AyACQAJAIAQNAAJAIAtCgICAIIMiCkIAUg0AIAEoAowCIgRFDQAgBC0AK0ECRw0AIAFBADYCHCABQgA3AhQgAUIANwIMIAFCADcCBCABIAFBIGoiBTYCACAFIAQoAiwgARDeASABKAIsQQAgASgCRBshBAwBCyABKAKUAiIERQ0BIAMgClAEfyABQSBqEKwFIgQNASABKAKUAgUgBAsoAhgQVCADIAUQ5gJHDQEgAEEBEIEBDAELIARFIAZFcg0AIAMQogINACAAIAYgAigCCCACKAIMIAFBIGoQkQcLIAFBIGoQqQQLIAMgCTYC6AIgAUGwAmokAAtAAQF/AkAgAS0AAEGnAUcNACABLQAHQQNxDQAgACgCGCICKAIMIAEoAixHDQAgACgCACAC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CwumgwTIAgBBgAgL1N0BMy4zOC41AHt9ACVzLiV6AGFmZmluaXR5AFJlYWxBZmZpbml0eQBidXN5AHRlbXBfc3RvcmVfZGlyZWN0b3J5AG5vdCBhIHdyaXRhYmxlIGRpcmVjdG9yeQBvcGVuRGlyZWN0b3J5AHNocmlua19tZW1vcnkAb3V0IG9mIG1lbW9yeQBmYWlsZWQgdG8gYWxsb2NhdGUgJXUgYnl0ZXMgb2YgbWVtb3J5AEludENvcHkAU0NvcHkAVkRlc3Ryb3kATXVsdGlwbHkAcXVlcnlfb25seQB1bmxpa2VseQB0YWJsZSAiJXMiIGhhcyBtb3JlIHRoYW4gb25lIHByaW1hcnkga2V5AGZvcmVpZ24ga2V5AGpzb25fZ3JvdXBfYXJyYXkAanNvbl9hcnJheQBqdWxpYW5kYXkAZnRzNGF1eAB1bml4AHNxbGl0ZV9yZW5hbWVfcXVvdGVmaXgAcHJlZml4AExJS0Ugb3IgR0xPQiBwYXR0ZXJuIHRvbyBjb21wbGV4AGhleABjaGFyaW5kZXgAT3BlbkF1dG9pbmRleABhdXRvbWF0aWNfaW5kZXgAYXV0by1pbmRleABvcnBoYW4gaW5kZXgARHJvcEluZGV4AGlkeABSZW9wZW5JZHgAcGN4AG1heABNZW1NYXgAJTAyeAAweAAgRlJPTSAnJXEnLiclcSVzJyBBUyB4AENSRUFURSBUQUJMRSB4AHJ3AHBzb3cAaW1wbGllc19ub25udWxsX3JvdwBub3cAaW50ZWdlciBvdmVyZmxvdwBwYXJzZXIgc3RhY2sgb3ZlcmZsb3cAd2luZG93AHNoYWRvdwBSZXN1bHRSb3cASWZOdWxsUm93AG5ldwBubyBzdWNoIHZpZXcAY2Fubm90IG1vZGlmeSAlcyBiZWNhdXNlIGl0IGlzIGEgdmlldwBDYW5ub3QgYWRkIGEgY29sdW1uIHRvIGEgdmlldwBjYW5ub3QgVVBTRVJUIGEgdmlldwBQcmV2AHN0ZGV2ACAlbGx1ACVjJXUAc3VicXVlcnlfJXUAJS4qejoldQBGcmFnbWVudGF0aW9uIG9mICVkIGJ5dGVzIHJlcG9ydGVkIGFzICVkIG9uIHBhZ2UgJXUATXVsdGlwbGUgdXNlcyBmb3IgYnl0ZSAldSBvZiBwYWdlICV1AFNVQlFVRVJZICV1AHVuYWJsZSB0byB1c2UgZnVuY3Rpb24gJXMgaW4gdGhlIHJlcXVlc3RlZCBjb250ZXh0AFNvcnRlck5leHQAVk5leHQAaW5jb21wbGV0ZSBpbnB1dABidXN5X3RpbWVvdXQAbG9jYWxob3N0AGNhbm5vdCBkcm9wIGNvbHVtbiAiJXMiOiBubyBvdGhlciBjb2x1bW5zIGV4aXN0AHBlcnNpc3QAZm9yZWlnbl9rZXlfbGlzdABpbmRleF9saXN0AGZ1bmN0aW9uX2xpc3QAY29sbGF0aW9uX2xpc3QAZGF0YWJhc2VfbGlzdABtb2R1bGVfbGlzdABQUkFHTUEgdGFibGVfbGlzdABwcmFnbWFfbGlzdABzZXQgbGlzdABWYWx1ZUxpc3QAc3FsaXRlX3JlbmFtZV90ZXN0AFJvd1NldFRlc3QAU2VxdWVuY2VUZXN0AGZhc3QATGFzdABDYXN0AHNxcnQAU29ydGVyU29ydABqc29uX2luc2VydABJZHhJbnNlcnQAU29ydGVySW5zZXJ0AHJlc3RhcnQAY290AEJpdE5vdABJZk5vdABQYWdlY291bnQAZnJlZWxpc3RfY291bnQAbWF4X3BhZ2VfY291bnQAUmVzZXRDb3VudAB3YWxfYXV0b2NoZWNrcG9pbnQAd2FsX2NoZWNrcG9pbnQAQ2hlY2twb2ludABTYXZlcG9pbnQAYSBDSEVDSyBjb25zdHJhaW50ACVzT04gQ09ORkxJQ1QgY2xhdXNlIGRvZXMgbm90IG1hdGNoIGFueSBQUklNQVJZIEtFWSBvciBVTklRVUUgY29uc3RyYWludABDdXJzb3JIaW50AF9jb250ZW50AHBhcmVudABESVNUSU5DVCBhZ2dyZWdhdGVzIG11c3QgaGF2ZSBleGFjdGx5IG9uZSBhcmd1bWVudABjb21tZW50AEFQSSBjYWxsZWQgd2l0aCBmaW5hbGl6ZWQgcHJlcGFyZWQgc3RhdGVtZW50AEFQSSBjYWxsZWQgd2l0aCBOVUxMIHByZXBhcmVkIHN0YXRlbWVudABNYXhQZ2NudABkZWZhdWx0IHZhbHVlIG9mIGNvbHVtbiBbJXNdIGlzIG5vdCBjb25zdGFudABNdXN0QmVJbnQAQ2Fubm90IGFkZCBhIGNvbHVtbiB3aXRoIG5vbi1jb25zdGFudCBkZWZhdWx0AEhhbHQAbGFub2l0AHN0YXRfaW5pdABJbml0AEF1dG9Db21taXQAYW5hbHlzaXNfbGltaXQAc29mdF9oZWFwX2xpbWl0AGhhcmRfaGVhcF9saW1pdABqb3VybmFsX3NpemVfbGltaXQAT2Zmc2V0TGltaXQAU2Vla0hpdABPTiBjbGF1c2UgcmVmZXJlbmNlcyB0YWJsZXMgdG8gaXRzIHJpZ2h0AFNoaWZ0UmlnaHQAaGdodABTaGlmdExlZnQAT2Zmc2V0AHJlc2V0AGpzb25fc2V0AHRvbyBtYW55IGNvbHVtbnMgaW4gcmVzdWx0IHNldAAlciBPUkRFUiBCWSB0ZXJtIGRvZXMgbm90IG1hdGNoIGFueSBjb2x1bW4gaW4gdGhlIHJlc3VsdCBzZXQAc25pcHBldABzdGF0X2dldABzcWxpdGVfY29tcGlsZW9wdGlvbl9nZXQAc3RyaWN0AE5vQ29uZmxpY3QAanNvbl9ncm91cF9vYmplY3QAanNvbl9vYmplY3QAanNvbl9leHRyYWN0AFN1YnRyYWN0AGxzdGF0AGZzdGF0ACVzX3N0YXQAdGJsLGlkeCxzdGF0AHVuc3VwcG9ydGVkIGZpbGUgZm9ybWF0AGdyb3VwX2NvbmNhdABDb25jYXQATHQAR3QAZGVmZXJfZm9yZWlnbl9rZXlzAGFsd2F5cwBwYXJhbWV0ZXJzIGFyZSBub3QgYWxsb3dlZCBpbiB2aWV3cwBzdGF0dXMAc3luY2hyb25vdXMAaW5kZXggJXMgYWxyZWFkeSBleGlzdHMAb3V0cHV0IGZpbGUgYWxyZWFkeSBleGlzdHMAJXMgJVQgYWxyZWFkeSBleGlzdHMAdHJpZ2dlciAlVCBhbHJlYWR5IGV4aXN0cwBOb3RFeGlzdHMAaWdub3JlX2NoZWNrX2NvbnN0cmFpbnRzAENIRUNLIGNvbnN0cmFpbnRzAGV4cHJlc3Npb25zIHByb2hpYml0ZWQgaW4gUFJJTUFSWSBLRVkgYW5kIFVOSVFVRSBjb25zdHJhaW50cwBqc29uX29iamVjdCgpIHJlcXVpcmVzIGFuIGV2ZW4gbnVtYmVyIG9mIGFyZ3VtZW50cwBqc29uXyVzKCkgbmVlZHMgYW4gb2RkIG51bWJlciBvZiBhcmd1bWVudHMAJXNfc2VnbWVudHMAdW5hYmxlIHRvIGRlbGV0ZS9tb2RpZnkgdXNlci1mdW5jdGlvbiBkdWUgdG8gYWN0aXZlIHN0YXRlbWVudHMAdW5hYmxlIHRvIGRlbGV0ZS9tb2RpZnkgY29sbGF0aW9uIHNlcXVlbmNlIGR1ZSB0byBhY3RpdmUgc3RhdGVtZW50cwBvZmZzZXRzAHJldmVyc2VfdW5vcmRlcmVkX3NlbGVjdHMAaWlzc3Nzc3MAaXNzAHNlc3MAdW5jb21wcmVzcwBjYW5ub3Qgb3BlbiBzYXZlcG9pbnQgLSBTUUwgc3RhdGVtZW50cyBpbiBwcm9ncmVzcwBjYW5ub3QgcmVsZWFzZSBzYXZlcG9pbnQgLSBTUUwgc3RhdGVtZW50cyBpbiBwcm9ncmVzcwBjYW5ub3QgY29tbWl0IHRyYW5zYWN0aW9uIC0gU1FMIHN0YXRlbWVudHMgaW4gcHJvZ3Jlc3MAY2Fubm90IFZBQ1VVTSAtIFNRTCBzdGF0ZW1lbnRzIGluIHByb2dyZXNzAGFjY2VzcwBwYXJhbWV0ZXJzAHJlY3Vyc2l2ZV90cmlnZ2VycwB0aGUgSU5ERVhFRCBCWSBjbGF1c2UgaXMgbm90IGFsbG93ZWQgb24gVVBEQVRFIG9yIERFTEVURSBzdGF0ZW1lbnRzIHdpdGhpbiB0cmlnZ2VycwB0aGUgTk9UIElOREVYRUQgY2xhdXNlIGlzIG5vdCBhbGxvd2VkIG9uIFVQREFURSBvciBERUxFVEUgc3RhdGVtZW50cyB3aXRoaW4gdHJpZ2dlcnMAcXVhbGlmaWVkIHRhYmxlIG5hbWVzIGFyZSBub3QgYWxsb3dlZCBvbiBJTlNFUlQsIFVQREFURSwgYW5kIERFTEVURSBzdGF0ZW1lbnRzIHdpdGhpbiB0cmlnZ2VycwBDaGlsZCBwYWdlIGRlcHRoIGRpZmZlcnMAdW5hYmxlIHRvIGNsb3NlIGR1ZSB0byB1bmZpbmFsaXplZCBzdGF0ZW1lbnRzIG9yIHVuZmluaXNoZWQgYmFja3VwcwBhY29zAElmUG9zAGNvbXBpbGVfb3B0aW9ucwBESVNUSU5DVCBpcyBub3Qgc3VwcG9ydGVkIGZvciB3aW5kb3cgZnVuY3Rpb25zAEZJTFRFUiBjbGF1c2UgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIGFnZ3JlZ2F0ZSB3aW5kb3cgZnVuY3Rpb25zAG5vbi1kZXRlcm1pbmlzdGljIGZ1bmN0aW9ucwBpbmRleCBleHByZXNzaW9ucwBTRUxFQ1RzIHRvIHRoZSBsZWZ0IGFuZCByaWdodCBvZiAlcyBkbyBub3QgaGF2ZSB0aGUgc2FtZSBudW1iZXIgb2YgcmVzdWx0IGNvbHVtbnMAdmlydHVhbCB0YWJsZXMgY2Fubm90IHVzZSBjb21wdXRlZCBjb2x1bW5zAGdlbmVyYXRlZCBjb2x1bW5zAHRhYmxlICVzIGhhcyAlZCB2YWx1ZXMgZm9yICVkIGNvbHVtbnMAcmFkaWFucwBhbGwgVkFMVUVTIG11c3QgaGF2ZSB0aGUgc2FtZSBudW1iZXIgb2YgdGVybXMAZW1wdHlfcmVzdWx0X2NhbGxiYWNrcwBMb2FkQW5hbHlzaXMAZmxncwBmbGFncwB2ZnMAJWQgY29sdW1ucyBhc3NpZ25lZCAlZCB2YWx1ZXMASlNPTiBjYW5ub3QgaG9sZCBCTE9CIHZhbHVlcwBmYWlsZWQgbWVtb3J5IHJlc2l6ZSAldSB0byAldSBieXRlcwBwYXJ0aWFsIGluZGV4IFdIRVJFIGNsYXVzZXMAc2hvcnRfY29sdW1uX25hbWVzAGZ1bGxfY29sdW1uX25hbWVzAHVuYWJsZSB0byBvcGVuIGEgdGVtcG9yYXJ5IGRhdGFiYXNlIGZpbGUgZm9yIHN0b3JpbmcgdGVtcG9yYXJ5IHRhYmxlcwBjYW5ub3QgY3JlYXRlIHRyaWdnZXJzIG9uIHZpcnR1YWwgdGFibGVzACVzIFJFVFVSTklORyBpcyBub3QgYXZhaWxhYmxlIG9uIHZpcnR1YWwgdGFibGVzAGNhbm5vdCBqb2luIHVzaW5nIGNvbHVtbiAlcyAtIGNvbHVtbiBub3QgcHJlc2VudCBpbiBib3RoIHRhYmxlcwBBVVRPSU5DUkVNRU5UIG5vdCBhbGxvd2VkIG9uIFdJVEhPVVQgUk9XSUQgdGFibGVzACVzIGNhbm5vdCB1c2UgdmFyaWFibGVzAHRvbyBtYW55IFNRTCB2YXJpYWJsZXMAc3VicXVlcmllcwBjYW5ub3QgdXNlIHdpbmRvdyBmdW5jdGlvbnMgaW4gcmVjdXJzaXZlIHF1ZXJpZXMAY291bnRfY2hhbmdlcwB0b3RhbF9jaGFuZ2VzAGRlZ3JlZXMAUkVUVVJOSU5HIG1heSBub3QgdXNlICJUQUJMRS4qIiB3aWxkY2FyZHMAdGhyZWFkcwBhYnMALiUuKnMAQ1JFQVRFICVzICUuKnMAQ1JFQVRFJXMgSU5ERVggJS4qcwBpbnZhbGlkIHVyaSBhdXRob3JpdHk6ICUuKnMAdW5rbm93biB0YWJsZSBvcHRpb246ICUuKnMAJS4qcyVzACwlcyVzJXMAU0NBTiAlcyVzJXMAc3FsaXRlX2FsdGVydGFiXyVzAFNDQU4gJWQgQ09OU1RBTlQgUk9XJXMAJVElcwAgVklSVFVBTCBUQUJMRSBJTkRFWCAlZDolcwAlczogJXMuJXMuJXMAbWlzc2luZyBkYXRhdHlwZSBmb3IgJXMuJXMAY2Fubm90IHN0b3JlICVzIHZhbHVlIGluICVzIGNvbHVtbiAlcy4lcwBub24tJXMgdmFsdWUgaW4gJXMuJXMATlVMTCB2YWx1ZSBpbiAlcy4lcwAlczogJXMuJXMAbm8gc3VjaCB0YWJsZSBjb2x1bW46ICVzLiVzACUuMThzLSVzACBVU0lORyBJTlRFR0VSIFBSSU1BUlkgS0VZICglcwB1c2UgRFJPUCBWSUVXIHRvIGRlbGV0ZSB2aWV3ICVzAGlsbGVnYWwgZmlyc3QgYXJndW1lbnQgdG8gJXMAbWlzdXNlIG9mIGFsaWFzZWQgd2luZG93IGZ1bmN0aW9uICVzAHRvbyBtYW55IGNvbHVtbnMgb24gJXMAdG9vIG1hbnkgY29sdW1ucyBpbiAlcwAlcyBwcm9oaWJpdGVkIGluICVzAENIRUNLIGNvbnN0cmFpbnQgZmFpbGVkIGluICVzAG5vbi1kZXRlcm1pbmlzdGljIHVzZSBvZiAlcygpIGluICVzAHJlY292ZXJlZCAlZCBwYWdlcyBmcm9tICVzAG1pc3VzZSBvZiBhbGlhc2VkIGFnZ3JlZ2F0ZSAlcwAlcyAlVCBjYW5ub3QgcmVmZXJlbmNlIG9iamVjdHMgaW4gZGF0YWJhc2UgJXMAY2Fubm90IGRldGFjaCBkYXRhYmFzZSAlcwBhIEpPSU4gY2xhdXNlIGlzIHJlcXVpcmVkIGJlZm9yZSAlcwBjYW5ub3Qgb3BlbiB2YWx1ZSBvZiB0eXBlICVzAGNhbm5vdCBmc3RhdCBkYiBmaWxlICVzAHJlY292ZXJlZCAlZCBmcmFtZXMgZnJvbSBXQUwgZmlsZSAlcwBQUklNQVJZIEtFWSBtaXNzaW5nIG9uIHRhYmxlICVzAHVzZSBEUk9QIFRBQkxFIHRvIGRlbGV0ZSB0YWJsZSAlcwBTRUxFQ1QgJXMgT1JERVIgQlkgcm93aWQgJXMAU0VMRUNUICVzIFdIRVJFIHJvd2lkIEJFVFdFRU4gJWxsZCBBTkQgJWxsZCBPUkRFUiBCWSByb3dpZCAlcwB0aGVyZSBpcyBhbHJlYWR5IGFuIGluZGV4IG5hbWVkICVzAHRhYmxlICVTIGhhcyBubyBjb2x1bW4gbmFtZWQgJXMAdGhlcmUgaXMgYWxyZWFkeSBhIHRhYmxlIG5hbWVkICVzAHN0YXRlbWVudCBhYm9ydHMgYXQgJWQ6IFslc10gJXMAQ09WRVJJTkcgSU5ERVggJXMAU0VMRUNUICVzAHVuc3VwcG9ydGVkIHVzZSBvZiBOVUxMUyAlcwBVU0UgVEVNUCBCLVRSRUUgRk9SICVzAC0tIFRSSUdHRVIgJXMAPj8gQU5EICVzACV6OiAlcwByZWN1cnNpdmUgcmVmZXJlbmNlIGluIGEgc3VicXVlcnk6ICVzAHZ0YWJsZSBjb25zdHJ1Y3RvciBjYWxsZWQgcmVjdXJzaXZlbHk6ICVzAG5vIHN1Y2ggaW5kZXg6ICVzAG5vIHN1Y2ggd2luZG93OiAlcwBjYW5ub3Qgb3ZlcnJpZGUgJXMgb2Ygd2luZG93OiAlcwBjYW5ub3Qgb3BlbiB2aWV3OiAlcwBubyBzdWNoIHNhdmVwb2ludDogJXMAbm8gc3VjaCB2ZnM6ICVzAG11bHRpcGxlIHJlY3Vyc2l2ZSByZWZlcmVuY2VzOiAlcwBlcnJvciBpbiAlcyAlcyVzJXM6ICVzAGVycm9yIGluICVzICVzIGFmdGVyICVzOiAlcwB1bmtub3duIHRva2VuaXplcjogJXMAZXJyb3IgcGFyc2luZyBwcmVmaXggcGFyYW1ldGVyOiAlcwB1bnJlY29nbml6ZWQgcGFyYW1ldGVyOiAlcwB1bnJlY29nbml6ZWQgb3JkZXI6ICVzAHVucmVjb2duaXplZCBtYXRjaGluZm86ICVzAG5vIHN1Y2ggY29sdW1uOiAlcwBmaWxlIHJlbmFtZWQgd2hpbGUgb3BlbjogJXMAZmlsZSB1bmxpbmtlZCB3aGlsZSBvcGVuOiAlcwB1bnN1cHBvcnRlZCBlbmNvZGluZzogJXMAY2Fubm90IGxpbWl0IFdBTCBzaXplOiAlcwBNSiBkZWxldGU6ICVzAHRhcmdldCBvYmplY3QvYWxpYXMgbWF5IG5vdCBhcHBlYXIgaW4gRlJPTSBjbGF1c2U6ICVzAG9iamVjdCBuYW1lIHJlc2VydmVkIGZvciBpbnRlcm5hbCB1c2U6ICVzAHVua25vd24gZGF0YWJhc2U6ICVzAHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlOiAlcwBubyBzdWNoIGRhdGFiYXNlOiAlcwB0aGVyZSBpcyBhbHJlYWR5IGFub3RoZXIgdGFibGUgb3IgaW5kZXggd2l0aCB0aGlzIG5hbWU6ICVzAGR1cGxpY2F0ZSBjb2x1bW4gbmFtZTogJXMAZHVwbGljYXRlIFdJVEggdGFibGUgbmFtZTogJXMAbm8gc3VjaCBtb2R1bGU6ICVzAG11bHRpcGxlIGxpbmtzIHRvIGZpbGU6ICVzAGNhbm5vdCBvcGVuIHZpcnR1YWwgdGFibGU6ICVzAG5vIHN1Y2ggdGFibGU6ICVzAG11bHRpcGxlIHJlZmVyZW5jZXMgdG8gcmVjdXJzaXZlIHRhYmxlOiAlcwBubyBzdWNoICVzIG1vZGU6ICVzAE1KIGNvbGxpZGU6ICVzAG5vIHN1Y2ggY29sbGF0aW9uIHNlcXVlbmNlOiAlcwBjaXJjdWxhciByZWZlcmVuY2U6ICVzAGNhbm5vdCBvcGVuIHRhYmxlIHdpdGhvdXQgcm93aWQ6ICVzACVzIG1vZGUgbm90IGFsbG93ZWQ6ICVzAHZ0YWJsZSBjb25zdHJ1Y3RvciBmYWlsZWQ6ICVzAGF1dG9tYXRpYyBleHRlbnNpb24gbG9hZGluZyBmYWlsZWQ6ICVzAGRhdGFiYXNlIHRhYmxlIGlzIGxvY2tlZDogJXMAZGF0YWJhc2Ugc2NoZW1hIGlzIGxvY2tlZDogJXMAdnRhYmxlIGNvbnN0cnVjdG9yIGRpZCBub3QgZGVjbGFyZSBzY2hlbWE6ICVzAGFib3J0IGF0ICVkIGluIFslc106ICVzAC0tICVzACV6IC0gJXMAb3NfdW5peC5jOiVkOiAoJWQpICVzKCVzKSAtICVzAHdyAHJpZ2h0c3RyAGxlZnRzdHIAaW5zdHIAc3Vic3RyAGV4cHJfaW1wbGllc19leHByAGludmFsaWQgYXJndW1lbnRzIHRvIGZ0czRhdXggY29uc3RydWN0b3IAbWlzc2luZyAlcyBwYXJhbWV0ZXIgaW4gZnRzNCBjb25zdHJ1Y3RvcgB0aGUgIi4iIG9wZXJhdG9yAGZ0czNjdXJzb3IAbmVhciAiJVQiOiBzeW50YXggZXJyb3IAdW5rbm93biBlcnJvcgBkb21haW4gZXJyb3IAbm90IGFuIGVycm9yAFNRTCBsb2dpYyBlcnJvcgBkaXNrIEkvTyBlcnJvcgBmbG9vcgBybWRpcgBta2RpcgBzZWdkaXIAZnRzM190b2tlbml6ZXIAdW5rbm93biB0b2tlbml6ZXIAcG93ZXIAbG93ZXIAc3FsaXRlX3RlbXBfbWFzdGVyAHNxbGl0ZV9tYXN0ZXIAcG9ydGVyAFJlc2V0U29ydGVyAEZrQ291bnRlcgBBUEkgY2FsbCB3aXRoICVzIGRhdGFiYXNlIGNvbm5lY3Rpb24gcG9pbnRlcgBzdHJmaWx0ZXIAVkZpbHRlcgBFU0NBUEUgZXhwcmVzc2lvbiBtdXN0IGJlIGEgc2luZ2xlIGNoYXJhY3RlcgB1cHBlcgBwcm9wZXIASWZTbWFsbGVyAGNhbm5vdCB1c2UgUkVUVVJOSU5HIGluIGEgdHJpZ2dlcgBEcm9wVHJpZ2dlcgBzZWNvbmQgYXJndW1lbnQgdG8gbnRoX3ZhbHVlIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyAGFyZ3VtZW50IG9mIG50aWxlIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyAGZyYW1lIHN0YXJ0aW5nIG9mZnNldCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGludGVnZXIAZnJhbWUgZW5kaW5nIG9mZnNldCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGludGVnZXIASW50ZWdlcgBSb3dpZCAlbGxkIG91dCBvZiBvcmRlcgBSZW1haW5kZXIAZnJhbWUgc3RhcnRpbmcgb2Zmc2V0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyAGZyYW1lIGVuZGluZyBvZmZzZXQgbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBudW1iZXIAYWRkcgBwYWRyAGNoYXIAeWVhcgBDbGVhcgBCaXRPcgBzZXEAQ29sbFNlcQBFbHNlRXEAcmVnZXhwAE9wZW5EdXAATm9vcABKdW1wAC91c3IvdG1wAC92YXIvdG1wAHRlbXAAY3VycmVudF90aW1lc3RhbXAAQWdnU3RlcABtb2RlU3RlcAB2YXJpYW5jZVN0ZXAAbXVubWFwAG1tYXAAbXJlbWFwAHZ0YWI6JXAAc3NlbnN1bwBpbHN1bwBhdXRvAEdvdG8AaW50bwBpbmNyZW1lbnRhbF92YWN1dW0gZW5hYmxlZCB3aXRoIGEgbWF4IHJvb3RwYWdlIG9mIHplcm8ASWZOb3RaZXJvAERlY3JKdW1wWmVybwBGa0lmWmVybwBzZXFubwBpbmRleF94aW5mbwB0YWJsZV94aW5mbwBtYXRjaGluZm8AaW5kZXhfaW5mbwB0YWJsZV9pbmZvAE9wZW5Qc2V1ZG8AZmNob3duAFJldHVybgBqc29uAG5vIHF1ZXJ5IHNvbHV0aW9uAGluZGV4IGNvcnJ1cHRpb24AZGF0YWJhc2UgY29ycnVwdGlvbgBmcmVlIHNwYWNlIGNvcnJ1cHRpb24AdW5rbm93biBjb2x1bW4gIiVzIiBpbiBmb3JlaWduIGtleSBkZWZpbml0aW9uACVzLnhCZXN0SW5kZXggbWFsZnVuY3Rpb24AYXV0aG9yaXplciBtYWxmdW5jdGlvbgAlI1QoKSBtYXkgbm90IGJlIHVzZWQgYXMgYSB3aW5kb3cgZnVuY3Rpb24AJyVzJyBpcyBub3QgYSBmdW5jdGlvbgBGdW5jdGlvbgBjYW5ub3Qgc3RhcnQgYSB0cmFuc2FjdGlvbiB3aXRoaW4gYSB0cmFuc2FjdGlvbgBjYW5ub3QgY2hhbmdlICVzIHdhbCBtb2RlIGZyb20gd2l0aGluIGEgdHJhbnNhY3Rpb24AdGVtcG9yYXJ5IHN0b3JhZ2UgY2Fubm90IGJlIGNoYW5nZWQgZnJvbSB3aXRoaW4gYSB0cmFuc2FjdGlvbgBjYW5ub3QgVkFDVVVNIGZyb20gd2l0aGluIGEgdHJhbnNhY3Rpb24AU2FmZXR5IGxldmVsIG1heSBub3QgYmUgY2hhbmdlZCBpbnNpZGUgYSB0cmFuc2FjdGlvbgBUcmFuc2FjdGlvbgBQZXJtdXRhdGlvbgB1bmtub3duIG9wZXJhdGlvbgB1bnN1cHBvcnRlZCBmcmFtZSBzcGVjaWZpY2F0aW9uAFJBTkdFIHdpdGggb2Zmc2V0IFBSRUNFRElORy9GT0xMT1dJTkcgcmVxdWlyZXMgb25lIE9SREVSIEJZIGV4cHJlc3Npb24AdG9vIG1hbnkgbGV2ZWxzIG9mIHRyaWdnZXIgcmVjdXJzaW9uAHVzZXJfdmVyc2lvbgBzcWxpdGVfdmVyc2lvbgBkYXRhX3ZlcnNpb24Ac2NoZW1hX3ZlcnNpb24Ac3FsaXRlX2Ryb3BfY29sdW1uAHNxbGl0ZV9yZW5hbWVfY29sdW1uAGFmdGVyIGRyb3AgY29sdW1uAG5vIHN1Y2ggY29sdW1uAG11c3QgaGF2ZSBhdCBsZWFzdCBvbmUgbm9uLWdlbmVyYXRlZCBjb2x1bW4AY2Fubm90IHVzZSBERUZBVUxUIG9uIGEgZ2VuZXJhdGVkIGNvbHVtbgBhZGQgY29sdW1uAENhbm5vdCBhZGQgYSBQUklNQVJZIEtFWSBjb2x1bW4AQ2Fubm90IGFkZCBhIFVOSVFVRSBjb2x1bW4AY2Fubm90IGFkZCBhIFNUT1JFRCBjb2x1bW4AVkNvbHVtbgBidWlsdGluAGFzaW4AY2Fubm90IGhhdmUgYm90aCBPTiBhbmQgVVNJTkcgY2xhdXNlcyBpbiB0aGUgc2FtZSBqb2luAGF0IG1vc3QgJWQgdGFibGVzIGluIGEgam9pbgBtaW4Ab3JpZ2luAFZCZWdpbgBtYWluAEV4cGxhaW4Ac2lnbgBzc2VuAG9wZW4ASWZOb3RPcGVuAFNvcnRlck9wZW4AVk9wZW4AaGlkZGVuAGF0YW4AbWVkaWFuAFNlZWtTY2FuAFZJbml0SW4AYXV0b192YWN1dW0AaW5jcmVtZW50YWxfdmFjdXVtAEluY3JWYWN1dW0Ac3VtAGRyb3AgY29sdW1uIGZyb20AL2Rldi91cmFuZG9tAEFkZEltbQBydHJpbQBsdHJpbQByZWFkb25seV9zaG0AJXMtc2htAHRuZW0AUkFJU0UoKSBtYXkgb25seSBiZSB1c2VkIHdpdGhpbiBhIHRyaWdnZXItcHJvZ3JhbQBQcm9ncmFtAFBhcmFtAGZ1bABmY250bABpb2N0bABpZ29sAGxvY2tpbmcgcHJvdG9jb2wAbmNvbABub3RudWxsAGlmbnVsbAAvZGV2L251bGwAZGF0YWJhc2Ugb3IgZGlzayBpcyBmdWxsAE5vdE51bGwAU29mdE51bGwASXNOdWxsAFplcm9Pck51bGwASGFsdElmTnVsbABjb2xsAGNhY2hlX3NwaWxsAFJvd0NlbGwAY2VpbABkZXRhaWwAcGFkbAB1bml4LWV4Y2wAdGJsAHdhbAB2aXJ0dWFsAHRvdGFsAGluY3JlbWVudGFsAE9wZW5FcGhlbWVyYWwAQWdnRmluYWwAbm9ybWFsAEluZGV4IGFscmVhZHkgb3B0aW1hbABwYXJ0aWFsAHJlYWwAUmVhbABwawBvawB1bmxpbmsAcmVhZGxpbmsARmluaXNoU2VlawBEZWZlcnJlZFNlZWsAbm9sb2NrAEN1cnNvclVubG9jawBibG9jawAlcy5sb2NrAEN1cnNvckxvY2sAVGFibGVMb2NrAGludGVncml0eV9jaGVjawBmb3JlaWduX2tleV9jaGVjawBxdWlja19jaGVjawBjZWxsX3NpemVfY2hlY2sAaW50ZWdyaXR5LWNoZWNrAEZrQ2hlY2sAVHlwZUNoZWNrAEludGVncml0eUNrAHJlemkAbm9pdGF6aQBpdGl2aQBzc2VuZXZpAGl0aQBpc3Npc2kAaXNpc2kAcGkAbm9pAGduaQBzaXNzaWkAaXNzaXNpaQBzc3NpaWkAc2VpAGl0aWNpAGV0YWNpAGxhY2kAY290aABtb250aABqc29uX2FycmF5X2xlbmd0aABvdmVyZmxvdyBsaXN0IGxlbmd0aAB3ZHRoAHN0YXRfcHVzaABhY29zaABhc2luaABhdGFuaABqc29uX3BhdGNoAGRhdGF0eXBlIG1pc21hdGNoAGFyZ3VtZW50IHR5cGUgbWlzbWF0Y2gAYWJicmV2aWF0ZWQgcXVlcnkgYWxnb3JpdGhtIHNlYXJjaAB1bml4ZXBvY2gAc3FsaXRlX2F0dGFjaABzcWxpdGVfZGV0YWNoAGpzb25fZWFjaABhdmcAbmFyZwBzcWxpdGVfbG9nAHN0YXRlbWVudCB0b28gbG9uZwBjYW5ub3Qgb3BlbiAlcyBjb2x1bW4gZm9yIHdyaXRpbmcAc3Vic3RyaW5nAFN0cmluZwBzcWxpdGVfcmV0dXJuaW5nAGVuY29kaW5nAHN0cmluZyBvciBibG9iIHRvbyBiaWcAUmVsZWFzZVJlZwAlLjE2ZwAlIS4xNWcAc3Nlbmx1ZgBwcmludGYAdHlwZW9mAG1vZGVvZgBvdXQgb2YAcmVuYW1lIGNvbHVtbnMgb2YAbnVsbGlmAGlpZgBvZmYAMDEyMzQ1Njc4OWFiY2RlZgBJZgAlMDYuM2YAJS4qZgBnZXRwYWdlc2l6ZQBkb2NzaXplAG1tYXBfc2l6ZQBkZWZhdWx0X2NhY2hlX3NpemUAUFJBR01BICVRLnBhZ2Vfc2l6ZQBmdHMzdG9rZW5pemUAb3B0aW1pemUAanNvbl9yZW1vdmUATW92ZQBjYW5ub3QgY29tbWl0IC0gbm8gdHJhbnNhY3Rpb24gaXMgYWN0aXZlAGNhbm5vdCByb2xsYmFjayAtIG5vIHRyYW5zYWN0aW9uIGlzIGFjdGl2ZQBleGNsdXNpdmUAdHJ1ZQBJc1RydWUAdW5pcXVlAGRmbHRfdmFsdWUAQ2Fubm90IGFkZCBhIFJFRkVSRU5DRVMgY29sdW1uIHdpdGggbm9uLU5VTEwgZGVmYXVsdCB2YWx1ZQBBZ2dWYWx1ZQBqc29uX3F1b3RlAHB3cml0ZQBPcGVuV3JpdGUAb25fZGVsZXRlAHNlY3VyZV9kZWxldGUASWR4RGVsZXRlAHByaXZhdGUAYWdncmVnYXRlAFZDcmVhdGUAb25fdXBkYXRlAFZVcGRhdGUAY3VycmVudF9kYXRlAGZhbGxvY2F0ZQBmdHJ1bmNhdGUAcmVwbGljYXRlAGJhZCBwYXJhbWV0ZXIgb3Igb3RoZXIgQVBJIG1pc3VzZQB0b28gbWFueSB0ZXJtcyBpbiAlcyBCWSBjbGF1c2UAdG9vIG1hbnkgdGVybXMgaW4gT1JERVIgQlkgY2xhdXNlAGFnZ3JlZ2F0ZSBmdW5jdGlvbnMgYXJlIG5vdCBhbGxvd2VkIGluIHRoZSBHUk9VUCBCWSBjbGF1c2UAUEFSVElUSU9OIGNsYXVzZQBhIE5BVFVSQUwgam9pbiBtYXkgbm90IGhhdmUgYW4gT04gb3IgVVNJTkcgY2xhdXNlAGRhdGFiYXNlICVzIGlzIGFscmVhZHkgaW4gdXNlAEFnZ0ludmVyc2UAcmV2ZXJzZQBjbG9zZQBDbG9zZQBmYWxzZQBhdHRlbXB0IHRvIHdyaXRlIGEgcmVhZG9ubHkgZGF0YWJhc2UAY29ycnVwdCBkYXRhYmFzZQBhdHRhY2hlZCBkYXRhYmFzZXMgbXVzdCB1c2UgdGhlIHNhbWUgdGV4dCBlbmNvZGluZyBhcyBtYWluIGRhdGFiYXNlAGZpbGUgaXMgbm90IGEgZGF0YWJhc2UAdGVtcF9zdG9yZQAlcyBjbGF1c2Ugc2hvdWxkIGNvbWUgYWZ0ZXIgJXMgbm90IGJlZm9yZQBFeHBpcmUAc3F1YXJlAGV4cHJfY29tcGFyZQBTb3J0ZXJDb21wYXJlAHN1YnR5cGUAanNvbl90eXBlAElzTnVsbE9yVHlwZQBJZk5vSG9wZQBpbHRuZQB1bml4LW5vbmUASW5pdENvcm91dGluZQBFbmRDb3JvdXRpbmUAaWNuZQBsb2NhbHRpbWUAc3RyZnRpbWUAZGF0ZXRpbWUAY3VycmVudF90aW1lAHRuZW1lAGFmdGVyIHJlbmFtZQBub24tdGV4dCBmaWxlbmFtZQBWUmVuYW1lAGFtYmlndW91cyBjb2x1bW4gbmFtZQB0ZW1wb3JhcnkgdHJpZ2dlciBtYXkgbm90IGhhdmUgcXVhbGlmaWVkIG5hbWUAc2ltcGxlAGxvd2VyX3F1YXJ0aWxlAHVwcGVyX3F1YXJ0aWxlAHVuaXgtZG90ZmlsZQBjYW5ub3Qgb3BlbiBmaWxlAHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUAaW1tdXRhYmxlAEFib3J0YWJsZQBsZWdhY3lfYWx0ZXJfdGFibGUAc3FsaXRlX3JlbmFtZV90YWJsZQBjYW5ub3QgY3JlYXRlIHRyaWdnZXIgb24gc3lzdGVtIHRhYmxlAHZpcnR1YWwgdGFibGUAbm8gc3VjaCB0YWJsZQBudW1iZXIgb2YgY29sdW1ucyBpbiBmb3JlaWduIGtleSBkb2VzIG5vdCBtYXRjaCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIHJlZmVyZW5jZWQgdGFibGUAbG9jYWwgdGltZSB1bmF2YWlsYWJsZQBhbm90aGVyIHJvdyBhdmFpbGFibGUAbm8gbW9yZSByb3dzIGF2YWlsYWJsZQBWYXJpYWJsZQBEcm9wVGFibGUAdXRmMTZsZQBVVEYxNmxlAFVURi0xNmxlAGNhc2Vfc2Vuc2l0aXZlX2xpa2UAU2V0Q29va2llAFJlYWRDb29raWUAY2FjaGUAY29sdW1uIGluZGV4IG91dCBvZiByYW5nZQBub3RpZmljYXRpb24gbWVzc2FnZQB3YXJuaW5nIG1lc3NhZ2UAaW52YWxpZCByb290cGFnZQBFeHRlbmRzIG9mZiBlbmQgb2YgcGFnZQAyMDIyLTA1LTA2IDE1OjI1OjI3IDc4ZDljOTkzZDQwNGNkZmFhN2ZkZDI5NzNmYTEwNTJlM2RhOWY2NjIxNWNmZjljNTU0MGViZTU1YzQwN2Q5ZmUAanNvbl90cmVlAENyZWF0ZUJ0cmVlAGRlZQBqb3VybmFsX21vZGUAbG9ja2luZ19tb2RlAG9wY29kZQB1bmljb2RlAEpvdXJuYWxNb2RlAERpdmlkZQBjb2FsZXNjZQBzcWxpdGVfc2VxdWVuY2UAU2VxdWVuY2UAZGlmZmVyZW5jZQB2YXJpYW5jZQBPbmNlAFRyYWNlAGpzb25fcmVwbGFjZQB1dGYxNmJlAFVURjE2YmUAVVRGLTE2YmUATmUATGUAR2UAMjBjOjIwZQAyMGI6MjBlACUhLjIwZQBnZXRjd2QATWFrZVJlY29yZAB0aHN0bmRyZABsaWtlbGlob29kAGZjaG1vZAByb3VuZABOb3RGb3VuZABSZXdpbmQAU2Vla0VuZABCaXRBbmQAb2xkACVsbGQgJWxsZABubyBzdWNoIHJvd2lkOiAlbGxkAHJlYnVpbGQAWWllbGQAbGFzdF9pbnNlcnRfcm93aWQAJXMucm93aWQAU0VMRUNUKkZST00iJXciLiVzIE9SREVSIEJZIHJvd2lkAFNFTEVDVCpGUk9NIiV3Ii4lcyBXSEVSRSAlcyBPUkRFUiBCWSByb3dpZABJZHhSb3dpZABOZXdSb3dpZABTZWVrUm93aWQAZ2V0ZXVpZABpbnZhbGlkAGpzb25fdmFsaWQAZmtpZABfX2xhbmdpZAAleiwgbGFuZ2lkAGxhbmd1YWdlaWQAZG9jaWQAYXBwbGljYXRpb25faWQAc3FsaXRlX3NvdXJjZV9pZABub3QgYXV0aG9yaXplZABJbmRleCBvcHRpbWl6ZWQAbm90aW5kZXhlZAB1bmFibGUgdG8gaWRlbnRpZnkgdGhlIG9iamVjdCB0byBiZSByZWluZGV4ZWQAdmlld3MgbWF5IG5vdCBiZSBpbmRleGVkAHZpcnR1YWwgdGFibGVzIG1heSBub3QgYmUgaW5kZXhlZAB0YWJsZSAlcyBtYXkgbm90IGJlIGluZGV4ZWQAcmVhZF91bmNvbW1pdHRlZABSSUdIVCBhbmQgRlVMTCBPVVRFUiBKT0lOcyBhcmUgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQAcmVjdXJzaXZlIGFnZ3JlZ2F0ZSBxdWVyaWVzIG5vdCBzdXBwb3J0ZWQAcXVlcnkgYWJvcnRlZAByb3dzIGluc2VydGVkAGludGVycnVwdGVkAGNoZWNrcG9pbnRlZABhY2Nlc3MgdG8gJXogaXMgcHJvaGliaXRlZABhY2Nlc3MgdG8gdmlldyAiJXMiIHByb2hpYml0ZWQAcm93cyBkZWxldGVkAGdlbmVyYXRlZAByb3dzIHVwZGF0ZWQAbm90dXNlZAByb3cgdmFsdWUgbWlzdXNlZABzcWxpdGVfY29tcGlsZW9wdGlvbl91c2VkAFBhZ2UgJWQgaXMgbmV2ZXIgdXNlZABDb2x1bW5zVXNlZABzdG9yZWQAdmlydHVhbCB0YWJsZXMgbWF5IG5vdCBiZSBhbHRlcmVkAHZpZXcgJXMgbWF5IG5vdCBiZSBhbHRlcmVkAHRhYmxlICVzIG1heSBub3QgYmUgYWx0ZXJlZABzaGFyZWQAaW5kZXggYXNzb2NpYXRlZCB3aXRoIFVOSVFVRSBvciBQUklNQVJZIEtFWSBjb25zdHJhaW50IGNhbm5vdCBiZSBkcm9wcGVkAHRhYmxlICVzIG1heSBub3QgYmUgZHJvcHBlZAB2aWV3ICVzIGlzIGNpcmN1bGFybHkgZGVmaW5lZAB1bm9wZW5lZABkYXRhYmFzZSBkaXNrIGltYWdlIGlzIG1hbGZvcm1lZAAlcyBjb25zdHJhaW50IGZhaWxlZABGT1JFSUdOIEtFWSBjb25zdHJhaW50IGZhaWxlZABsYXJnZSBmaWxlIHN1cHBvcnQgaXMgZGlzYWJsZWQAZnRzM3Rva2VuaXplIGRpc2FibGVkAGRhdGFiYXNlICVzIGlzIGxvY2tlZABkYXRhYmFzZSBpcyBsb2NrZWQAZGF0YWJhc2UgdGFibGUgaXMgbG9ja2VkAGF1dGhvcml6YXRpb24gZGVuaWVkAGFjY2VzcyBwZXJtaXNzaW9uIGRlbmllZAB0YWJsZSAlUyBoYXMgJWQgY29sdW1ucyBidXQgJWQgdmFsdWVzIHdlcmUgc3VwcGxpZWQAdGVtcG9yYXJ5IHRhYmxlIG5hbWUgbXVzdCBiZSB1bnF1YWxpZmllZAB0YWJsZSAlcyBtYXkgbm90IGJlIG1vZGlmaWVkAGNvbmZsaWN0aW5nIE9OIENPTkZMSUNUIGNsYXVzZXMgc3BlY2lmaWVkAG5vIHRhYmxlcyBzcGVjaWZpZWQAZGF0YWJhc2UgaXMgYWxyZWFkeSBhdHRhY2hlZABkYXRhYmFzZSBzY2hlbWEgaGFzIGNoYW5nZWQAZXhjbHVkZWQAUG9pbnRlciBtYXAgcGFnZSAlZCBpcyByZWZlcmVuY2VkAFJvd1NldEFkZABGaWx0ZXJBZGQAcHJlYWQAUm93U2V0UmVhZABPcGVuUmVhZAAlMDRkACUwM2QAJTAyZAA0MGYtMjFhLTIxZABzcWxpdGVfc3RhdCVkAGNvbHVtbiVkAHNxbGl0ZV9hdXRvaW5kZXhfJXNfJWQAdmFyaWFibGUgbnVtYmVyIG11c3QgYmUgYmV0d2VlbiA/MSBhbmQgPyVkAEZhaWxlZCB0byByZWFkIHB0cm1hcCBrZXk9JWQAdW5hYmxlIHRvIGdldCB0aGUgcGFnZS4gZXJyb3IgY29kZT0lZABPZmZzZXQgJWQgb3V0IG9mIHJhbmdlICVkLi4lZABrKCVkAFVQREFURSAlUS5zcWxpdGVfbWFzdGVyIFNFVCByb290cGFnZT0lZCBXSEVSRSAjJWQgQU5EIHJvb3RwYWdlPSMlZABVUERBVEUgJVEuc3FsaXRlX21hc3RlciBTRVQgdHlwZT0nJXMnLCBuYW1lPSVRLCB0YmxfbmFtZT0lUSwgcm9vdHBhZ2U9IyVkLCBzcWw9JVEgV0hFUkUgcm93aWQ9IyVkAFVQREFURSAlUS5zcWxpdGVfbWFzdGVyIFNFVCB0eXBlPSd0YWJsZScsIG5hbWU9JVEsIHRibF9uYW1lPSVRLCByb290cGFnZT0wLCBzcWw9JVEgV0hFUkUgcm93aWQ9IyVkAHRvbyBtYW55IGF0dGFjaGVkIGRhdGFiYXNlcyAtIG1heCAlZAB0b28gbWFueSBhcmd1bWVudHMgb24gJXMoKSAtIG1heCAlZABleHBlY3RlZCAlZCBjb2x1bW5zIGZvciAnJXMnIGJ1dCBnb3QgJWQAYXR0ZW1wdCB0byBvcGVuICIlcyIgYXMgZmlsZSBkZXNjcmlwdG9yICVkAGludmFsaWQgcGFnZSBudW1iZXIgJWQAZmFpbGVkIHRvIGdldCBwYWdlICVkADJuZCByZWZlcmVuY2UgdG8gcGFnZSAlZABmcmVlbGlzdCBsZWFmIGNvdW50IHRvbyBiaWcgb24gcGFnZSAlZABidHJlZUluaXRQYWdlKCkgcmV0dXJucyBlcnJvciBjb2RlICVkACVzIGlzICVkIGJ1dCBzaG91bGQgYmUgJWQAJXIgJXMgQlkgdGVybSBvdXQgb2YgcmFuZ2UgLSBzaG91bGQgYmUgYmV0d2VlbiAxIGFuZCAlZABzdWItc2VsZWN0IHJldHVybnMgJWQgY29sdW1ucyAtIGV4cGVjdGVkICVkAElOKC4uLikgZWxlbWVudCBoYXMgJWQgdGVybSVzIC0gZXhwZWN0ZWQgJWQAJXNMSVNUIFNVQlFVRVJZICVkAFJFVVNFIExJU1QgU1VCUVVFUlkgJWQAJXNTQ0FMQVIgU1VCUVVFUlkgJWQAUkVVU0UgU1VCUVVFUlkgJWQASU5ERVggJWQAdG9vIG1hbnkgRlJPTSBjbGF1c2UgdGVybXMsIG1heDogJWQAcndjAHV0YwBkZXNjAGFzYwBjaGVja3BvaW50X2Z1bGxmc3luYwBmdWxsX2ZzeW5jAGNoYXJpbmRleEZ1bmMAc3FydEZ1bmMAY290RnVuYwByaWdodEZ1bmMAbGVmdEZ1bmMAYWNvc0Z1bmMAZmxvb3JGdW5jAHBvd2VyRnVuYwBzdHJmaWx0ZXJGdW5jAHByb3BlckZ1bmMAcGFkckZ1bmMAZXhwRnVuYwBhc2luRnVuYwBzaWduRnVuYwBhdGFuRnVuYwBjZWlsRnVuYwBwYWRsRnVuYwBjb3RoRnVuYwBhY29zaEZ1bmMAYXNpbmhGdW5jAGF0YW5oRnVuYwBsb2dGdW5jAHJhZDJkZWdGdW5jAHJldmVyc2VGdW5jAFB1cmVGdW5jAHNxdWFyZUZ1bmMAZGlmZmVyZW5jZUZ1bmMAZGVnMnJhZEZ1bmMAcGFkY0Z1bmMAYXRuMkZ1bmMAbG9nMTBGdW5jAGVuYwBudW1lcmljADE9PWFyZ2MAU3FsRXhlYwBwYWRjACUuNGMlcyUuMTZjAHNxbGl0ZS1zcmMvc3FsaXRlLWFtYWxnYW1hdGlvbi0zMzgwNTAwL2V4dGVuc2lvbi1mdW5jdGlvbnMuYwAlcy9ldGlscXNfJWxseCVjAHVucmVjb2duaXplZCBtYXRjaGluZm8gcmVxdWVzdDogJWMAR29zdWIAZ2xvYgB6ZXJvYmxvYgByYW5kb21ibG9iAEJsb2IAaWxiAGl0aWxpYgBtZW1kYgBBVFRBQ0ggJVEgQVMgdmFjdXVtX2RiAHJvdGEAZXZpdGEAbGFub2l0YQBldGEAUm93RGF0YQBTb3J0ZXJEYXRhAGljbmEAc3FsaXRlX3RlbXBfc2NoZW1hAHNxbGl0ZV9zY2hlbWEAd3JpdGFibGVfc2NoZW1hAHRydXN0ZWRfc2NoZW1hAGNvcnJ1cHQgc2NoZW1hAFBhcnNlU2NoZW1hAGlsbGEAZXppbGEAaXRpbGEAbXNpbGEAc3FsaXRlXwBwcmFnbWFfAFNRTElURV8AX1JPV0lEXwAlcyBhdCBsaW5lICVkIG9mIFslLjEwc10AYmluZCBvbiBhIGJ1c3kgcHJlcGFyZWQgc3RhdGVtZW50OiBbJXNdAG1hbGZvcm1lZCBNQVRDSCBleHByZXNzaW9uOiBbJXNdAFslZF0AW10AWzBdACRbAExFRlQtTU9TVCBTVUJRVUVSWQBDT01QT1VORCBRVUVSWQBBTlkAZ2VuZXJhdGVkIGNvbHVtbnMgY2Fubm90IGJlIHBhcnQgb2YgdGhlIFBSSU1BUlkgS0VZAEFVVE9JTkNSRU1FTlQgaXMgb25seSBhbGxvd2VkIG9uIGFuIElOVEVHRVIgUFJJTUFSWSBLRVkAZG9jaWQgSU5URUdFUiBQUklNQVJZIEtFWQBGT1JFSUdOIEtFWQBSSUdIVCBQQVJUIE9GIE9SREVSIEJZAEdST1VQIEJZAGlpc1gAaXNpWABBVVRPTUFUSUMgUEFSVElBTCBDT1ZFUklORyBJTkRFWABBVVRPTUFUSUMgQ09WRVJJTkcgSU5ERVgALW1qJTA2WDklMDJYAFNDQU4gQ09OU1RBTlQgUk9XAFZJRVcAanNvbl9vYmplY3QoKSBsYWJlbHMgbXVzdCBiZSBURVhUAEZJUlNUAExBU1QARVhDRVBUAE5PVAAgSU5UAElkeExUAFNlZWtMVABTRVQgREVGQVVMVABNVVRFWF9PTUlUAENPTU1JVABMSU1JVABSSUdIVABJZHhHVABTZWVrR1QATEVGVABESVNUSU5DVABSRVNUUklDVABJTlRFUlNFQ1QAdG9vIG1hbnkgdGVybXMgaW4gY29tcG91bmQgU0VMRUNUAHVua25vd24gb3IgdW5zdXBwb3J0ZWQgam9pbiB0eXBlOiAlVCAlVCVzJVQALSVUAHRvbyBtYW55IGFyZ3VtZW50cyBvbiBmdW5jdGlvbiAlVAB1bmtub3duIGRhdGFiYXNlICVUAGZvcmVpZ24ga2V5IG9uICVzIHNob3VsZCByZWZlcmVuY2Ugb25seSBvbmUgY29sdW1uIG9mIHRhYmxlICVUAENSRUFURSBWSVJUVUFMIFRBQkxFICVUAGhleCBsaXRlcmFsIHRvbyBiaWc6ICVzJSNUAG5vIHN1Y2ggZnVuY3Rpb246ICUjVABub3QgYXV0aG9yaXplZCB0byB1c2UgZnVuY3Rpb246ICUjVABERUZBVUxUX1JFQ1VSU0lWRV9UUklHR0VSUwBJTlMARU5BQkxFX0ZUUzNfUEFSRU5USEVTSVMARElTQUJMRV9MRlMAJXMgJVMAbm8gc3VjaCBpbmRleDogJVMAY2Fubm90IGNyZWF0ZSAlcyB0cmlnZ2VyIG9uIHZpZXc6ICVTAG5vIHN1Y2ggdHJpZ2dlcjogJVMAY2Fubm90IGNyZWF0ZSBJTlNURUFEIE9GIHRyaWdnZXIgb24gdGFibGU6ICVTAE1BVEVSSUFMSVpFICUhUwBDTy1ST1VUSU5FICUhUwBVU0lORyBJTkRFWCAlcyBGT1IgSU4tT1BFUkFUT1IAVVNJTkcgUk9XSUQgU0VBUkNIIE9OIFRBQkxFICVzIEZPUiBJTi1PUEVSQVRPUgBNVUxUSS1JTkRFWCBPUgBTUUxJVEVfVE1QRElSAEFGVEVSAElOVEVHRVIAT1JERVIATkVBUgBERUxFVEUgRlJPTSAlUS4lcyBXSEVSRSAlcz0lUQBuYW1lPSVRIEFORCBzcWw9JVEAREVMRVRFIEZST00gJVEuc3FsaXRlX3NlcXVlbmNlIFdIRVJFIG5hbWU9JVEALCB4LiVRAFNFTEVDVCAqIEZST00gJVEuJVEAVVBEQVRFICIldyIuc3FsaXRlX3NlcXVlbmNlIHNldCBuYW1lID0gJVEgV0hFUkUgbmFtZSA9ICVRAFVQREFURSAiJXciLnNxbGl0ZV9tYXN0ZXIgU0VUIHNxbCA9IHByaW50ZignJSUuJWRzLCAnLHNxbCkgfHwgJVEgfHwgc3Vic3RyKHNxbCwxK2xlbmd0aChwcmludGYoJyUlLiVkcycsc3FsKSkpIFdIRVJFIHR5cGUgPSAndGFibGUnIEFORCBuYW1lID0gJVEAU0VUVVAAR1JPVVAAUkVDVVJTSVZFIFNURVAATmFOAG1hbGZvcm1lZCBKU09OAE5PIEFDVElPTgBPTUlUX0xPQURfRVhURU5TSU9OAFVOSU9OAEJFR0lOACxhcmcgSElEREVOACxzY2hlbWEgSElEREVOAFNDQU4AREVGQVVMVF9BVVRPVkFDVVVNACBOVU0AUlRSSU0AQ2Fubm90IGFkZCBhIE5PVCBOVUxMIGNvbHVtbiB3aXRoIGRlZmF1bHQgdmFsdWUgTlVMTABOT1QgTlVMTABTRVQgTlVMTABTRUxFQ1QgMSBGUk9NICVRLiclcV9zZWdtZW50cycgV0hFUkUgYmxvY2tpZD0/IEFORCBibG9jayBJUyBOVUxMAFVOSU9OIEFMTAAgUkVBTABDSEVDSwBhYm9ydCBkdWUgdG8gUk9MTEJBQ0sATUFUQ0gAU0VBUkNIAGEgR1JPVVAgQlkgY2xhdXNlIGlzIHJlcXVpcmVkIGJlZm9yZSBIQVZJTkcAVVNJTkcARU5BQkxFX05PUk1BTElaRQAgVU5JUVVFAERFTEVURQBVUERBVEUAUkVMRUFTRQBOT0NBU0UAQkVGT1JFAENSRQBOT05FAElkeExFAFNlZWtMRQBUQUJMRQAxNkxFAElkeEdFAFNlZWtHRQAlcyBVU0lORyBURU1QIEItVFJFRQBDQVNDQURFADE2QkUAQU5EAFJPV0lEAE9JRABERVNDAFNFTEVDVCBpZHgsIHN0YXJ0X2Jsb2NrLCBsZWF2ZXNfZW5kX2Jsb2NrLCBlbmRfYmxvY2ssIHJvb3QgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCA9ID8gT1JERVIgQlkgaWR4IEFTQwBTRUxFQ1QgaWR4LCBzdGFydF9ibG9jaywgbGVhdmVzX2VuZF9ibG9jaywgZW5kX2Jsb2NrLCByb290IEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgQkVUV0VFTiA/IEFORCA/T1JERVIgQlkgbGV2ZWwgREVTQywgaWR4IEFTQwBTRUxFQ1QgbGV2ZWwsIGlkeCwgZW5kX2Jsb2NrIEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgQkVUV0VFTiA/IEFORCA/IE9SREVSIEJZIGxldmVsIERFU0MsIGlkeCBBU0MAU0VMRUNUIGlkeCBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsPT8gT1JERVIgQlkgMSBBU0MAU1lTVEVNX01BTExPQwBCTE9CAEJCQgBVUERBVEUgT1IgRkFJTCAlUS4nJXFfc2VnZGlyJyBTRVQgbGV2ZWw9LTEsaWR4PT8gV0hFUkUgbGV2ZWw9PyBBTkQgaWR4PT8AVVBEQVRFICVRLiclcV9zZWdkaXInIFNFVCBpZHggPSA/IFdIRVJFIGxldmVsPT8gQU5EIGlkeD0/ACVzPT8AU0VMRUNUICVzIFdIRVJFIHJvd2lkPT8AU0VMRUNUIHNpemUgRlJPTSAlUS4nJXFfZG9jc2l6ZScgV0hFUkUgZG9jaWQ9PwBTRUxFQ1QgdmFsdWUgRlJPTSAlUS4nJXFfc3RhdCcgV0hFUkUgaWQ9PwA/LD8sPwBERUxFVEUgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCBCRVRXRUVOID8gQU5EID8AU0VMRUNUIG1heChsZXZlbCkgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCBCRVRXRUVOID8gQU5EID8AREVMRVRFIEZST00gJVEuJyVxX3NlZ21lbnRzJyBXSEVSRSBibG9ja2lkIEJFVFdFRU4gPyBBTkQgPwBVUERBVEUgJVEuJyVxX3NlZ2RpcicgU0VUIHN0YXJ0X2Jsb2NrID0gPywgcm9vdCA9ID9XSEVSRSBsZXZlbCA9ID8gQU5EIGlkeCA9ID8AU0VMRUNUIGlkeCwgc3RhcnRfYmxvY2ssIGxlYXZlc19lbmRfYmxvY2ssIGVuZF9ibG9jaywgcm9vdCBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsID0gPyBBTkQgaWR4ID0gPwBERUxFVEUgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCA9ID8gQU5EIGlkeCA9ID8AREVMRVRFIEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgPSA/AFNFTEVDVCBjb3VudCgqKSBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsID0gPwBTRUxFQ1QgJXMgV0hFUkUgcm93aWQgPSA/AERFTEVURSBGUk9NICVRLiclcV9jb250ZW50JyBXSEVSRSByb3dpZCA9ID8AREVMRVRFIEZST00gJVEuJyVxX2RvY3NpemUnIFdIRVJFIGRvY2lkID0gPwAsID8APGV4cHI+ADxiPgA8Yj4uLi48L2I+AC0+PgAtPgBzZXBhcmF0b3JzPQB0b2tlbmNoYXJzPQBhdXRvbWVyZ2U9ADwASU5TRVJUIElOVE8gJVEuc3FsaXRlX21hc3RlciBWQUxVRVMoJ2luZGV4JywlUSwlUSwjJWQsJVEpOwBDUkVBVEUgVEFCTEUgJVEuJyVxX3NlZ21lbnRzJyhibG9ja2lkIElOVEVHRVIgUFJJTUFSWSBLRVksIGJsb2NrIEJMT0IpOwBDUkVBVEUgVEFCTEUgJVEuJyVxX2RvY3NpemUnKGRvY2lkIElOVEVHRVIgUFJJTUFSWSBLRVksIHNpemUgQkxPQik7AENSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTICVRLiclcV9zdGF0JyhpZCBJTlRFR0VSIFBSSU1BUlkgS0VZLCB2YWx1ZSBCTE9CKTsAQ1JFQVRFIFRBQkxFICVRLiclcV9zZWdkaXInKGxldmVsIElOVEVHRVIsaWR4IElOVEVHRVIsc3RhcnRfYmxvY2sgSU5URUdFUixsZWF2ZXNfZW5kX2Jsb2NrIElOVEVHRVIsZW5kX2Jsb2NrIElOVEVHRVIscm9vdCBCTE9CLFBSSU1BUlkgS0VZKGxldmVsLCBpZHgpKTsAVVBEQVRFICVRLnNxbGl0ZV9tYXN0ZXIgU0VUIHRibF9uYW1lID0gJVEsIG5hbWUgPSBDQVNFIFdIRU4gdHlwZT0ndGFibGUnIFRIRU4gJVEgV0hFTiBuYW1lIExJS0UgJ3NxbGl0ZVhfYXV0b2luZGV4JSUnIEVTQ0FQRSAnWCcgICAgICBBTkQgdHlwZT0naW5kZXgnIFRIRU4gJ3NxbGl0ZV9hdXRvaW5kZXhfJyB8fCAlUSB8fCBzdWJzdHIobmFtZSwlZCsxOCkgRUxTRSBuYW1lIEVORCBXSEVSRSB0YmxfbmFtZT0lUSBDT0xMQVRFIG5vY2FzZSBBTkQgKHR5cGU9J3RhYmxlJyBPUiB0eXBlPSdpbmRleCcgT1IgdHlwZT0ndHJpZ2dlcicpOwBEUk9QIFRBQkxFIElGIEVYSVNUUyAlUS4nJXFfc2VnbWVudHMnO0RST1AgVEFCTEUgSUYgRVhJU1RTICVRLiclcV9zZWdkaXInO0RST1AgVEFCTEUgSUYgRVhJU1RTICVRLiclcV9kb2NzaXplJztEUk9QIFRBQkxFIElGIEVYSVNUUyAlUS4nJXFfc3RhdCc7JXMgRFJPUCBUQUJMRSBJRiBFWElTVFMgJVEuJyVxX2NvbnRlbnQnOwBBTFRFUiBUQUJMRSAlUS4nJXFfY29udGVudCcgIFJFTkFNRSBUTyAnJXFfY29udGVudCc7AEFMVEVSIFRBQkxFICVRLiclcV9zdGF0JyAgUkVOQU1FIFRPICclcV9zdGF0JzsAQUxURVIgVEFCTEUgJVEuJyVxX3NlZ21lbnRzJyBSRU5BTUUgVE8gJyVxX3NlZ21lbnRzJzsAQUxURVIgVEFCTEUgJVEuJyVxX3NlZ2RpcicgICBSRU5BTUUgVE8gJyVxX3NlZ2Rpcic7AEFMVEVSIFRBQkxFICVRLiclcV9kb2NzaXplJyAgUkVOQU1FIFRPICclcV9kb2NzaXplJzsAOm1lbW9yeToAZmlsZToAU3RyaW5nOAB1dGY4AFVURjgAVVRGLTgATUFYX0ZVTkNUSU9OX0FSRz0xMjcAREVGQVVMVF9TRUNUT1JfU0laRT00MDk2AERFRkFVTFRfUEFHRV9TSVpFPTQwOTYATUFYX1ZBUklBQkxFX05VTUJFUj0zMjc2NgBNQVhfUEFHRV9TSVpFPTY1NTM2AFVURjE2AFVURi0xNgBwNQB0b28gbWFueSByZWZlcmVuY2VzIHRvICIlcyI6IG1heCA2NTUzNQBzcWxpdGVfc3RhdDQAZnRzNABwNABERUZBVUxUX0ZJTEVfRk9STUFUPTQASW50NjQAcHdyaXRlNjQAcHJlYWQ2NABNQUxMT0NfU09GVF9MSU1JVD0xMDI0AHNxbGl0ZV9zdGF0MwBTQVZFUE9JTlQgZnRzMwBST0xMQkFDSyBUTyBmdHMzAFJFTEVBU0UgZnRzMwBwMwBFTkFCTEVfRlRTMwBNQVhfUEFHRV9DT1VOVD0xMDczNzQxODIzAHAyAGF0bjIAYXRhbjIAcmVtb3ZlX2RpYWNyaXRpY3M9MgBERUZBVUxUX1NZTkNIUk9OT1VTPTIAREVGQVVMVF9XQUxfU1lOQ0hST05PVVM9MgBhcmdjPT0zIHx8YXJnYz09MgBNQVhfREVGQVVMVF9QQUdFX1NJWkU9ODE5MgBTRUxFQ1QgdGJsLGlkeCxzdGF0IEZST00gJVEuc3FsaXRlX3N0YXQxAEFnZ1N0ZXAxAHJlbW92ZV9kaWFjcml0aWNzPTEAQVRPTUlDX0lOVFJJTlNJQ1M9MQBURU1QX1NUT1JFPTEAYXJnYz09MQB1bmljb2RlNjEAVVBEQVRFIE9SIEZBSUwgJVEuJyVxX3NlZ2RpcicgU0VUIGxldmVsPT8gV0hFUkUgbGV2ZWw9LTEAREVGQVVMVF9KT1VSTkFMX1NJWkVfTElNSVQ9LTEAU0VMRUNUIGxldmVsLCBjb3VudCgqKSBBUyBjbnQgRlJPTSAlUS4nJXFfc2VnZGlyJyAgIEdST1VQIEJZIGxldmVsIEhBVklORyBjbnQ+PT8gIE9SREVSIEJZIChsZXZlbCAlJSAxMDI0KSBBU0MsIDIgREVTQyBMSU1JVCAxAFNFTEVDVCAoU0VMRUNUIG1heChpZHgpIEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgPSA/KSArIDEAU0VMRUNUJ0lOU0VSVCBJTlRPIHZhY3V1bV9kYi4nfHxxdW90ZShuYW1lKXx8JyBTRUxFQ1QqRlJPTSIldyIuJ3x8cXVvdGUobmFtZSlGUk9NIHZhY3V1bV9kYi5zcWxpdGVfc2NoZW1hIFdIRVJFIHR5cGU9J3RhYmxlJ0FORCBjb2FsZXNjZShyb290cGFnZSwxKT4wAFNFTEVDVCBzcWwgRlJPTSAiJXciLnNxbGl0ZV9zY2hlbWEgV0hFUkUgdHlwZT0ndGFibGUnQU5EIG5hbWU8PidzcWxpdGVfc2VxdWVuY2UnIEFORCBjb2FsZXNjZShyb290cGFnZSwxKT4wAHJlbW92ZV9kaWFjcml0aWNzPTAATUFYX1dPUktFUl9USFJFQURTPTAAREVGQVVMVF9XT1JLRVJfVEhSRUFEUz0wAE1BWF9NTUFQX1NJWkU9MABERUZBVUxUX01NQVBfU0laRT0wAFRIUkVBRFNBRkU9MAA5MjIzMzcyMDM2ODU0Nzc1ODAAREVGQVVMVF9QQ0FDSEVfSU5JVFNaPTIwAGxvZzEwAE1BWF9BVFRBQ0hFRD0xMABNQVhfQ09NUE9VTkRfU0VMRUNUPTUwMAA/MDAwAE1BWF9DT0xVTU49MjAwMABERUZBVUxUX0NBQ0hFX1NJWkU9LTIwMDAAREVGQVVMVF9XQUxfQVVUT0NIRUNLUE9JTlQ9MTAwMABNQVhfRVhQUl9ERVBUSD0xMDAwAE1BWF9UUklHR0VSX0RFUFRIPTEwMDAATUFYX0xJS0VfUEFUVEVSTl9MRU5HVEg9NTAwMDAATUFYX1ZEQkVfT1A9MjUwMDAwMDAwAE1BWF9MRU5HVEg9MTAwMDAwMDAwMABNQVhfU1FMX0xFTkdUSD0xMDAwMDAwMDAwAHNlY29uZCBhcmd1bWVudCB0byAlI1QoKSBtdXN0IGJlIGEgY29uc3RhbnQgYmV0d2VlbiAwLjAgYW5kIDEuMABDT01QSUxFUj1jbGFuZy0xNS4wLjAAL3Byb2Mvc2VsZi9mZC8AJVEuAE4uACQuAC0tACwAbm9za2lwc2NhbioAdW5vcmRlcmVkKgBzej1bMC05XSoAQ1JFQVRFIFRBQkxFIHgodHlwZSB0ZXh0LG5hbWUgdGV4dCx0YmxfbmFtZSB0ZXh0LHJvb3RwYWdlIGludCxzcWwgdGV4dCkAQ1JFQVRFIFRBQkxFICVRLiVzKCVzKQBhdXRvbWF0aWMgaW5kZXggb24gJXMoJXMpAEFOWSglcykASU5TRVJUIElOVE8gJVEuJyVxX2NvbnRlbnQnIFZBTFVFUyglcykAQ1JFQVRFIFRBQkxFICVRLiclcV9jb250ZW50JyglcykAbWFsZm9ybWVkIGRhdGFiYXNlIHNjaGVtYSAoJXMpAE1FUkdFICglcykAQ1JFQVRFIFRBQkxFICVRLnNxbGl0ZV9zZXF1ZW5jZShuYW1lLHNlcSkAQ1JFQVRFIFRBQkxFIHgoaW5wdXQsIHRva2VuLCBzdGFydCwgZW5kLCBwb3NpdGlvbikAVVBEQVRFICIldyIuc3FsaXRlX21hc3RlciBTRVQgc3FsID0gc3FsaXRlX2Ryb3BfY29sdW1uKCVkLCBzcWwsICVkKSBXSEVSRSAodHlwZT09J3RhYmxlJyBBTkQgdGJsX25hbWU9JVEgQ09MTEFURSBub2Nhc2UpAG1lbWRiKCVwLCVsbGQpAEJhZCBwdHIgbWFwIGVudHJ5IGtleT0lZCBleHBlY3RlZD0oJWQsJWQpIGdvdD0oJWQsJWQpACVzKCVkKQB6ZXJvYmxvYiglZCkAbWF4IHJvb3RwYWdlICglZCkgZGlzYWdyZWVzIHdpdGggaGVhZGVyICglZCkARlRTIGV4cHJlc3Npb24gdHJlZSBpcyB0b28gbGFyZ2UgKG1heGltdW0gZGVwdGggJWQpAEV4cHJlc3Npb24gdHJlZSBpcyB0b28gbGFyZ2UgKG1heGltdW0gZGVwdGggJWQpAChibG9iKQBVU0UgVEVNUCBCLVRSRUUgRk9SICVzKERJU1RJTkNUKQBVUERBVEUgIiV3Ii5zcWxpdGVfbWFzdGVyIFNFVCBzcWwgPSBzcWxpdGVfcmVuYW1lX2NvbHVtbihzcWwsIHR5cGUsIG5hbWUsICVRLCAlUSwgJWQsICVRLCAlZCwgJWQpIFdIRVJFIG5hbWUgTk9UIExJS0UgJ3NxbGl0ZVhfJSUnIEVTQ0FQRSAnWCcgIEFORCAodHlwZSAhPSAnaW5kZXgnIE9SIHRibF9uYW1lID0gJVEpAENSRUFURSBUQUJMRSB4KGtleSx2YWx1ZSx0eXBlLGF0b20saWQscGFyZW50LGZ1bGxrZXkscGF0aCxqc29uIEhJRERFTixyb290IEhJRERFTikAQ1JFQVRFIFRBQkxFIHgodGVybSwgY29sLCBkb2N1bWVudHMsIG9jY3VycmVuY2VzLCBsYW5ndWFnZWlkIEhJRERFTikAQ1JFQVRFIFRBQkxFIHgoJXMgJVEgSElEREVOLCBkb2NpZCBISURERU4sICVRIEhJRERFTikAKE5VTEwpACVjPykAU0VMRUNUIE5PVCBFWElTVFMoU0VMRUNUIGRvY2lkIEZST00gJVEuJyVxX2NvbnRlbnQnIFdIRVJFIHJvd2lkIT0/KQBSRVBMQUNFIElOVE8gJVEuJyVxX3NlZ2RpcicgVkFMVUVTKD8sPyw/LD8sPyw/KQBSRVBMQUNFIElOVE8gJVEuJyVxX3N0YXQnIFZBTFVFUyg/LD8pAFJFUExBQ0UgSU5UTyAlUS4nJXFfZG9jc2l6ZScgVkFMVUVTKD8sPykALCVzKD8pAFJFUExBQ0UgSU5UTyAlUS4nJXFfc2VnbWVudHMnKGJsb2NraWQsIGJsb2NrKSBWQUxVRVMoPywgPykAU0VMRUNUIGNvYWxlc2NlKChTRUxFQ1QgbWF4KGJsb2NraWQpIEZST00gJVEuJyVxX3NlZ21lbnRzJykgKyAxLCAxKQBJTlNFUlQgSU5UTyB2YWN1dW1fZGIuc3FsaXRlX3NjaGVtYSBTRUxFQ1QqRlJPTSAiJXciLnNxbGl0ZV9zY2hlbWEgV0hFUkUgdHlwZSBJTigndmlldycsJ3RyaWdnZXInKSBPUih0eXBlPSd0YWJsZSdBTkQgcm9vdHBhZ2U9MCkAd3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyB0byBmdW5jdGlvbiBzbmlwcGV0KCkAbWlzdXNlIG9mIGFnZ3JlZ2F0ZTogJXMoKQBtaXN1c2Ugb2YgJXMgZnVuY3Rpb24gJSNUKCkAd3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyB0byBmdW5jdGlvbiAlI1QoKQB1bnNhZmUgdXNlIG9mICUjVCgpAEZJTFRFUiBtYXkgbm90IGJlIHVzZWQgd2l0aCBub24tYWdncmVnYXRlICUjVCgpAHVua25vd24gZnVuY3Rpb246ICUjVCgpAG1pc3VzZSBvZiBhZ2dyZWdhdGU6ICUjVCgpAFVQREFURSB0ZW1wLnNxbGl0ZV9tYXN0ZXIgU0VUIHNxbCA9IHNxbGl0ZV9yZW5hbWVfY29sdW1uKHNxbCwgdHlwZSwgbmFtZSwgJVEsICVRLCAlZCwgJVEsICVkLCAxKSBXSEVSRSB0eXBlIElOICgndHJpZ2dlcicsICd2aWV3JykAVVBEQVRFIHNxbGl0ZV90ZW1wX3NjaGVtYSBTRVQgc3FsID0gc3FsaXRlX3JlbmFtZV90YWJsZSglUSwgdHlwZSwgbmFtZSwgc3FsLCAlUSwgJVEsIDEpLCB0YmxfbmFtZSA9IENBU0UgV0hFTiB0YmxfbmFtZT0lUSBDT0xMQVRFIG5vY2FzZSBBTkQgICBzcWxpdGVfcmVuYW1lX3Rlc3QoJVEsIHNxbCwgdHlwZSwgbmFtZSwgMSwgJ2FmdGVyIHJlbmFtZScsIDApIFRIRU4gJVEgRUxTRSB0YmxfbmFtZSBFTkQgV0hFUkUgdHlwZSBJTiAoJ3ZpZXcnLCAndHJpZ2dlcicpACwlcyh4LidjJWQlcScpAElOU0VSVCBJTlRPICVRLnNxbGl0ZV9tYXN0ZXIgVkFMVUVTKCd0cmlnZ2VyJywlUSwlUSwwLCdDUkVBVEUgVFJJR0dFUiAlcScpAFNFTEVDVCAyICogdG90YWwoMSArIGxlYXZlc19lbmRfYmxvY2sgLSBzdGFydF9ibG9jaykgICBGUk9NIChTRUxFQ1QgKiBGUk9NICVRLiclcV9zZWdkaXInICAgICAgICAgV0hFUkUgbGV2ZWwgPSA/IE9SREVSIEJZIGlkeCBBU0MgTElNSVQgPyAgKQAKKQBCTE9PTSBGSUxURVIgT04gJVMgKABTRUxFQ1Qgc3FsIEZST00gIiV3Ii5zcWxpdGVfc2NoZW1hIFdIRVJFIHR5cGU9J2luZGV4JwBERUxFVEUgRlJPTSAlUS5zcWxpdGVfbWFzdGVyIFdIRVJFIG5hbWU9JVEgQU5EIHR5cGU9J2luZGV4JwBuYW1lPSclcScgQU5EIHR5cGU9J2luZGV4JwBERUxFVEUgRlJPTSAlUS4nJXFfY29udGVudCcAREVMRVRFIEZST00gJVEuJyVxX3N0YXQnAERFTEVURSBGUk9NICVRLiclcV9zZWdtZW50cycAREVMRVRFIEZST00gJVEuJyVxX3NlZ2RpcicAU0VMRUNUID8gVU5JT04gU0VMRUNUIGxldmVsIC8gKDEwMjQgKiA/KSBGUk9NICVRLiclcV9zZWdkaXInAFNFTEVDVCBtYXgoIGxldmVsICUlIDEwMjQgKSBGUk9NICVRLiclcV9zZWdkaXInAERFTEVURSBGUk9NICVRLnNxbGl0ZV9tYXN0ZXIgV0hFUkUgbmFtZT0lUSBBTkQgdHlwZT0ndHJpZ2dlcicAREVMRVRFIEZST00gJVEuc3FsaXRlX21hc3RlciBXSEVSRSB0YmxfbmFtZT0lUSBhbmQgdHlwZSE9J3RyaWdnZXInAHRibF9uYW1lPSclcScgQU5EIHR5cGUhPSd0cmlnZ2VyJwAnJS4qcScAJXosICdjJWQlcScAdHlwZT0ndHJpZ2dlcicgQU5EIG5hbWU9JyVxJwAsIHguJyVxJwBpbmRleCAnJXEnAEpTT04gcGF0aCBlcnJvciBuZWFyICclcScAREVMRVRFIEZST00gJVEuJyVxX2RvY3NpemUnAFVQREFURSAiJXciLnNxbGl0ZV9tYXN0ZXIgU0VUIHNxbCA9IHNxbGl0ZV9yZW5hbWVfdGFibGUoJVEsIHR5cGUsIG5hbWUsIHNxbCwgJVEsICVRLCAlZCkgV0hFUkUgKHR5cGUhPSdpbmRleCcgT1IgdGJsX25hbWU9JVEgQ09MTEFURSBub2Nhc2UpQU5EICAgbmFtZSBOT1QgTElLRSAnc3FsaXRlWF8lJScgRVNDQVBFICdYJwBTRUxFQ1QgQ0FTRSBXSEVOIHF1aWNrX2NoZWNrIEdMT0IgJ0NIRUNLKicgVEhFTiByYWlzZShBQk9SVCwnQ0hFQ0sgY29uc3RyYWludCBmYWlsZWQnKSBFTFNFIHJhaXNlKEFCT1JULCdOT1QgTlVMTCBjb25zdHJhaW50IGZhaWxlZCcpIEVORCAgRlJPTSBwcmFnbWFfcXVpY2tfY2hlY2soJVEsJVEpIFdIRVJFIHF1aWNrX2NoZWNrIEdMT0IgJ0NIRUNLKicgT1IgcXVpY2tfY2hlY2sgR0xPQiAnTlVMTConAFVQREFURSAiJXciLnNxbGl0ZV9tYXN0ZXIgU0VUIHNxbCA9IHNxbGl0ZV9yZW5hbWVfcXVvdGVmaXgoJVEsIHNxbClXSEVSRSBuYW1lIE5PVCBMSUtFICdzcWxpdGVYXyUlJyBFU0NBUEUgJ1gnIEFORCBzcWwgTk9UIExJS0UgJ2NyZWF0ZSB2aXJ0dWFsJSUnAFVQREFURSB0ZW1wLnNxbGl0ZV9tYXN0ZXIgU0VUIHNxbCA9IHNxbGl0ZV9yZW5hbWVfcXVvdGVmaXgoJ3RlbXAnLCBzcWwpV0hFUkUgbmFtZSBOT1QgTElLRSAnc3FsaXRlWF8lJScgRVNDQVBFICdYJyBBTkQgc3FsIE5PVCBMSUtFICdjcmVhdGUgdmlydHVhbCUlJwBzcWxpdGVcXyUAJABTRUxFQ1QqRlJPTSIldyIAU0VMRUNUIHJhaXNlKEFCT1JULCVRKSBGUk9NICIldyIuIiV3IgBBTkFMWVpFICIldyIuIiV3IgBmb3JlaWduIGtleSBtaXNtYXRjaCAtICIldyIgcmVmZXJlbmNpbmcgIiV3IgBkb3VibGUtcXVvdGVkIHN0cmluZyBsaXRlcmFsOiAiJXciAHN5bnRheCBlcnJvciBhZnRlciBjb2x1bW4gbmFtZSAiJS4qcyIAJWMiJXMiACgiJXMiAGNhbm5vdCAlcyAlcyAiJXMiAGdlbmVyYXRlZCBjb2x1bW4gbG9vcCBvbiAiJXMiAGNhbm5vdCBJTlNFUlQgaW50byBnZW5lcmF0ZWQgY29sdW1uICIlcyIAZXJyb3IgaW4gZ2VuZXJhdGVkIGNvbHVtbiAiJXMiAGNhbm5vdCBVUERBVEUgZ2VuZXJhdGVkIGNvbHVtbiAiJXMiACVzIGluICIlcyIAVVBTRVJUIG5vdCBpbXBsZW1lbnRlZCBmb3IgdmlydHVhbCB0YWJsZSAiJXMiAHVuc2FmZSB1c2Ugb2YgdmlydHVhbCB0YWJsZSAiJXMiAGNhbm5vdCBjcmVhdGUgYSBURU1QIGluZGV4IG9uIG5vbi1URU1QIHRhYmxlICIlcyIAbm8gc3VjaCBpbmRleDogIiVzIgB1bmtub3duIGRhdGF0eXBlIGZvciAlcy4lczogIiVzIgBjYW5ub3QgZHJvcCAlcyBjb2x1bW46ICIlcyIAbm8gc3VjaCBjb2x1bW46ICIlcyIAbm8gc3VjaCBjb2x1bW46ICIlVCIAdW5yZWNvZ25pemVkIHRva2VuOiAiJVQiAHdlZWtkYXkgAG5vbi11bmlxdWUgZW50cnkgaW4gaW5kZXggAHdyb25nICMgb2YgZW50cmllcyBpbiBpbmRleCAAIG1pc3NpbmcgZnJvbSBpbmRleCAAcm93IAAlciAAc3RhcnQgb2YgACVkICVkICVkICVkIAAgVVNJTkcgQ09WRVJJTkcgSU5ERVggAFNFTEVDVCAxIEZST00gIiV3Ii5zcWxpdGVfbWFzdGVyIFdIRVJFIG5hbWUgTk9UIExJS0UgJ3NxbGl0ZVhfJSUnIEVTQ0FQRSAnWCcgQU5EIHNxbCBOT1QgTElLRSAnY3JlYXRlIHZpcnR1YWwlJScgQU5EIHNxbGl0ZV9yZW5hbWVfdGVzdCglUSwgc3FsLCB0eXBlLCBuYW1lLCAlZCwgJVEsICVkKT1OVUxMIABTRUxFQ1QgMSBGUk9NIHRlbXAuc3FsaXRlX21hc3RlciBXSEVSRSBuYW1lIE5PVCBMSUtFICdzcWxpdGVYXyUlJyBFU0NBUEUgJ1gnIEFORCBzcWwgTk9UIExJS0UgJ2NyZWF0ZSB2aXJ0dWFsJSUnIEFORCBzcWxpdGVfcmVuYW1lX3Rlc3QoJVEsIHNxbCwgdHlwZSwgbmFtZSwgMSwgJVEsICVkKT1OVUxMIAAgVVNJTkcgAENSRUFURSAAQ1JFQVRFIFRBQkxFIAAgQU5EIABDT1JSRUxBVEVEIABQUkFHTUEgAFBhZ2UgJXU6IABNYWluIGZyZWVsaXN0OiAAT24gcGFnZSAldSBhdCByaWdodCBjaGlsZDogAE9uIHRyZWUgcGFnZSAldSBjZWxsICVkOiAALS0gACV6JVEsIAAiJXciIABAICAALAogIAAqKiogaW4gZGF0YWJhc2UgJXMgKioqCgBB4OUBC7cBZAoBEAAAcwAEBQAAZwABAx4AegAEBgAAcQAECQAAUQAECgAAdwAEDgAAYwAACAAAbwgAAAACdQoAEAAAeBAAABABWBAAAAAEZgABAQAAZQABAh4ARQABAg4ARwABAw4AaQoBEAAAbgAABAAAJQAABwAAcBAADQABVAAACwAAUwAADAAAcgoBDwAAAAAAAAAAMDEyMzQ1Njc4OUFCQ0RFRjAxMjM0NTY3ODlhYmNkZWYALXgwAFgwAEGm5wELygPgP5qZmZmZmak/exSuR+F6dD/8qfHSTWJAPy1DHOviNgo/8WjjiLX41D6N7bWg98agPkivvJry12o+Ooww4o55NT6V1iboCy4BPgABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8BAAABAQAAAQABAAEBAAEAAAEAAH8AAACAAAAAgQAAAAQFAwUBBQEFAgUCBQEFAQUEBQMFAQUBBQIFAgUBBQEFAgUDBQIFAgUCBQIFAgUCBQQFAwUCBQIFAgUCBQIFAgWoAAAAZQAAACEABQFdAAABUwEAAEYAAAAqP1sAJV8AAQBB+eoBCwUBAQEBAQBBkOsBC+UBAQCAAEAAAIAAAAAAAAAAAAwMDAwMDAwMDAwAAAAAAAAACgoKCgoKAgICAgICAgICAgICAgICAgICAgKAAAAAQIAqKioqKioiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEABBAMCBQBBgO0BC8YHUkVJTkRFWEVERVNDQVBFQUNIRUNLRVlCRUZPUkVJR05PUkVHRVhQTEFJTlNURUFEREFUQUJBU0VMRUNUQUJMRUZUSEVOREVGRVJSQUJMRUxTRVhDTFVERUxFVEVNUE9SQVJZSVNOVUxMU0FWRVBPSU5URVJTRUNUSUVTTk9UTlVMTElLRVhDRVBUUkFOU0FDVElPTkFUVVJBTFRFUkFJU0VYQ0xVU0lWRVhJU1RTQ09OU1RSQUlOVE9GRlNFVFJJR0dFUkFOR0VORVJBVEVERVRBQ0hBVklOR0xPQkVHSU5ORVJFRkVSRU5DRVNVTklRVUVSWVdJVEhPVVRFUkVMRUFTRUFUVEFDSEJFVFdFRU5PVEhJTkdST1VQU0NBU0NBREVGQVVMVENBU0VDT0xMQVRFQ1JFQVRFQ1VSUkVOVF9EQVRFSU1NRURJQVRFSk9JTlNFUlRNQVRDSFBMQU5BTFlaRVBSQUdNQVRFUklBTElaRURFRkVSUkVESVNUSU5DVFVQREFURVZBTFVFU1ZJUlRVQUxXQVlTV0hFTldIRVJFQ1VSU0lWRUFCT1JUQUZURVJFTkFNRUFORFJPUEFSVElUSU9OQVVUT0lOQ1JFTUVOVENBU1RDT0xVTU5DT01NSVRDT05GTElDVENST1NTQ1VSUkVOVF9USU1FU1RBTVBSRUNFRElOR0ZBSUxBU1RGSUxURVJFUExBQ0VGSVJTVEZPTExPV0lOR0ZST01GVUxMSU1JVElGT1JERVJFU1RSSUNUT1RIRVJTT1ZFUkVUVVJOSU5HUklHSFRST0xMQkFDS1JPV1NVTkJPVU5ERURVTklPTlVTSU5HVkFDVVVNVklFV0lORE9XQllJTklUSUFMTFlQUklNQVJZAAAAAAAAAAACAAIACAAJAA4AEAAUABcAGQAZAB0AIQAkACkALgAwADUANgA7AD4AQQBDAEUATgBRAFYAWgBaAF4AYwBlAGkAbwB3AHsAewB7AH4AgQCEAIkAjgCSAJMAmACcAKAAqACuALUAuAC4ALsAvQDDAMYAzgDTANgA2wDeAOIA7ADvAPQA9AD4APwAAwEJAQ8BFQEVARsBHAEgAScBKwEyATgBRAFNAU8BVQFaAVwBYwFnAXIBeQF6AYEBhwGNAZIBmAGcAZ8BqAGtAbEBtwG5AbwBxQHHAckB0gHWAdwB4gHqAe8B7wHvAf8BCAILAg8CFAIbAiACKQItAjACNQI3AjsCQwJJAkwCVQJaAmICYgJmAm8CdAJ5An8CggKFAogCigKPApMCAEHQ9AELkwEHBwUEBgQFAwYHAwYGBwcDCAIGBQQEAwoEBwYJBAIGBQkJBAcDAgQEBgsGAgcFBQkGCgQGAgMHBQkGBgQFBQoGBQcEBQcGBwcGBQcDBwQHBgwJBAYFBAcGDAgIAgYGBwYEBQkFBQYDBAkNAgIEBgYIBREMBwkEBAYHBQkEBAUCBQgGBAkFCAQDCQUFBgQGAgIJAwcAQfD1AQvFA+oDAAAAQAAA6wMAAAAABAD3AwAAAAAAgOwDAAAAAEAA7QMAAAAAAQDuAwAAAAgAAO8DAAAAAIAA8AMAAAAAAAHxAwAAAAAAAvIDAAAAAAAQ8wMAAAEAAAj0AwAAAAAABPYDAAAAAAAg9QMAAAAAAED4AwAAAgAAAPkDAACAAAAAAMqaOwDKmjvQBwAA6AMAAPQBAACAsuYOfwAAAAoAAABQwwAA/n8AAOgDAAAAAAAAAwAAAIIAAACDAAAAhAAAAIUAAACGAAAAhwAAAIgAAACJAAAAigAAAIsAAACMAAAAjQAAAI4AAACPAAAAkAAAAJEAAACSAAAAkwAAAAMAAACqAAAAgwAAAIQAAACFAAAAhgAAAIcAAACrAAAArAAAAK0AAACLAAAAjAAAAI0AAAAAAAAAjwAAAJAAAACRAAAAkgAAAJMAAAABAAAArgAAAIMAAACEAAAAhQAAAIYAAACHAAAArwAAALAAAACxAAAAiwAAAIwAAACNAAAAAAAAAI8AAACQAAAAkQAAAJIAAACTAAAAAwAAALIAAACzAAAAtAAAALUAAAC2AAAAtwAAALgAAAC4AAAAAAAAALkAAAAAAAAAugBByPkBCwW7AAAAvABB2PkBCxkBAAAAvQAAAL4AAAC/AAAAwAAAAMEAAADCAEGk+gELCNnVBfkgoWPXAEHQ+gELVlNRTGl0ZSBmb3JtYXQgMwAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHwABAgMEBQYHCAkKCwwNDg8AAQIDBAUGBwABAgMAAQAAQklOQVJZAEGw+wEL8gXKUgAAzlcAAFhNAACHTQAAjQkAACcLAABdJwAAsgcAAPAGAAC+BwAAggkAALM2AABCKgAAEiIAAKEwAACqJAAAOEQAAB8zAADJNwAA1AoAADAkAAD8NgAABC8AACkJAAAnCQAA+TIAAHwGAAA5RwAAS00AAGNNAABwRwAA4CkAAAYzAABuDAAAgDcAAIM3AABJOAAAsw0AANcIAABUIgAA5ggAAOwIAACJNwAARU0AAGpHAAAzRwAAXU0AAAYkAACbNwAA5D0AALoIAADJKgAAAiUAAKsRAABFKwAANCsAAC03AAAZJAAA/QwAADA3AAD6DAAAMzcAABUkAADrJAAA9SQAAD4qAAC9BwAAEyIAACILAABPQwAAVSYAAFslAAAtMwAAVysAAAwLAABZIwAApVgAAF4uAABdKwAAPCsAAFdEAABYNQAAei8AALIEAACxBAAAqQQAALEsAAByBgAADSQAAGsqAAAZBAAA3AgAAGknAADfMgAA4i8AAEwrAADLCwAASykAALksAAAdBAAAVDcAAFoJAACiNQAAmDUAANYFAADvPQAAmDcAAAMkAADBCwAAsQsAANo9AACkDAAAwAQAAL82AAB5IwAA8wwAAFEwAAAjJAAAIAkAAJIFAAC4KwAAuFcAAOopAADFCAAASSUAAOwxAAC2OgAADioAAIALAADfNgAAQDgAAA0JAABzKwAAdjAAAFUJAADZMgAAo0QAAJtEAABNOAAAfgYAAJA3AAD9CAAABwkAAHMwAAAfLAAANzgAABQsAAC4BAAA/SMAAMUhAAB6NgAArkMAAAJFAABfEwAAYTUAAMgFAACAIgAA+SsAAMMsAADKPQAA0SoAANEhAADoBQAAdAsAANMxAABeJAAA3lkAADYwAADGKwAAvjIAAE4sAAAzLAAAWSwAAL0pAACPMAAAtwQAAPUpAAAXKgAASikAAI0zAAAtCQAAngoAANQ9AAABNwAA8wkAAJYuAAArJAAAySkAAEM0AEGwgQILJkFMAAARTQAApEwAAGJGAAAAAAAAAQIAAgIAAQIBAQECAQIQAAICAEHhgQILgwEBAgMEBggIAAAAAAAAAQECAgMDBAQFBQYGBwcICAkJCgoLCwwMDQ0ODg8PEBARERISExMUFBUVFhYXFxgYGRkaGhsbHBwdHR4eHx8gICEhIiIjIyQkJSUmJicnKCgpKSoqKyssLC0tLi4vLzAwMTEyMjMzNDQ1NTY2Nzc4ODk5EBACEABB8IICCzUvRwAAn0wAABNHAABKTwAAj0wAAAABAgMEBggAAAAAAHQzAAB5KAAA6SgAACEAIAAeABwAGgBBsIMCCyFsMAAAGwgAAO8uAADBMAAAogQAAJorAAABAQMABQAGAAgAQeCDAgsBAQBBgIQCC5MEHRwcHBwcHBwcBwccBwccHBwcHBwcHBwcHBwcHBwcHBwHDwgFBBYYCBESFRQXCxoQAwMDAwMDAwMDAwUTDA4NBgUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQACAgkcHBwCCAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAICHAocGRwbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxseGxsbGxsbGxsbGxsbGxsbG1RchlJpHQAAXgBVSAA1I1YPACphNlmHEwAAjAAogQAWawAJAAB7UABOBgBBZ5MAiHMAADAAWhgAEQAbRhcaBTyObnoASVtHkT14SgAxAAspAHEAAABtCm90fQ4yfABkABJ5kDiCi1hTJR5+AABsM4OAACIAAIQAYiYnABQtdV0AYnShJzopfEMhhD4/LwJBoyYYihB2nwuDoFuAFRUrMlINiV4zE0J5L4gGHHN2okcJFHeXRUSCTVlfKJMvBXZ9ewMaUXYOIDCYXJIjH3idcRFkCI9/LgQeRmEHjC2Bi1BgnpVIGx1jLIVXfg8xJDwKJXZkZFVYKlSmSVNWjnaUEpFKXaWWdgxMS1qGkE5PpD0iQId6AEGkiAILNAQAKwAAanIAAAACAACPAAAADQAAAACNAAB3NAAAiQwAAD4AigCFAAAkAAAcTQAAAAA7AC8AQeKIAgsmRQAAAAAAkgMAOgABSwAAAB8AAAAAAH8AaABAQj8AAAAAAC4AEAgAQZKJAgshUWUAcBUHQwBPYHYAAEQAAGMsADcATABfICE5GQBmAABXAEHDiQILnQEBAQEAEAABAAEBAQMDAQEDEgMDAQkJCQkBCQkJCQkJAQEBAQEBAQEBJiYjCwEBAwMDCwsLCwsLAQMDAQEBAQAAAgIIABAQEBAAEBAAABAQAAAAAgICAAASHiAAAAAAEBAAAAAmJiYmJiYmJiYmAAASAAAQAAAAAAAAABAQAAAAAAAAABAAAAQEAAAQABAAABAAAAAAAAAQAAYQAAQaAEHtigILBRAAABAQAEGAiwILLukjAACkNgAA5FkAADZZAAANWQAAjFgAAFBYAABBCgAAtTgAAAcKAABsOgAAgCsAQbiLAgspwwAAAMQAAADFAAAAAAAAAMYAAADHAAAAyAAAAMkAAADKAAAAywAAAMwAQZCMAgsGMgsAAAEQAEGgjAILFpg4AAACFAAACAAAAAAAAAAfKgAAA5UAQcCMAgsmoAUAAAQUAAAAgAAAAAAAANQHAAAFEDgBAAAAAAAAAAA5LwAABpUAQfCMAgsGZysAAAeUAEGAjQILBoQ1AAAIAgBBkI0CCzaRLAAABBQAAAAAIAAAAAAAQkIAAAQUAAAQAAAAAAAAAE0IAAAJECYCAAAAAAAAAACxEQAAChAAQdCNAgs4lxUAAAQUAAAAAAAAAQAAAC8oAAACGAAADwAAAAAAAABcCAAADBEvAwAAAAAAAAAAMS8AAA2VNwEAQZGOAgslDQAABBQAAAAACAAAAAAASBMAAAQUAAAAAQAAAAAAAHYuAAAOFABBwI4CCzZzLAAAD3ErBAAAAAAAAAAAIwgAABBhAAgAAAAAAAAAAAYNAAAEFAAAAEAAAAAAAAA3CQAAAhgAQYCPAgs2CRQAAAQUAAAEAAAAAAAAAE1CAAAEFAAACAAAAAAAAAA/CAAAERAbBgAAAAAAAAAAUQsAABIQAEHAjwILFr0NAAAEFAAAAAIAAAAAAAArKgAAEwMAQeCPAgs2MyUAABRhFQMAAAAAAAAAADQIAAAVYSYFAAAAAAAAAAARJQAAFGEVBgEAAAAAAAAAYywAABZxAEGgkAILBoo2AAAXkQBBsJACCwZhCwAAGJAAQcCQAgsWTTQAAAQUAAAAAAAEAAAAAJc2AAAakABB4JACCwZGCQAAG5EAQfCQAgsFJy8AABwAQYCRAgsWaggAAB0QCQEAAAAAAAAAAGUvAAAeIQBBoJECCwZKCQAAG5EAQbCRAgsGTi8AAB+UAEHAkQILJogIAAAgEAkBAAAAAAAAAADJBAAABBQAAAAAEAAAAAAAhSwAABZxAEHwkQILRmc5AAAEFAAAAAQAAAAAAAAuEAAABBQAAAAgAAAAAAAAGg8AAAQUAAAAEAAAAAAAADwoAAACFAAAAQAAAAAAAABlMAAAIRAAQcCSAgsW9hMAAAQUAABAAAAAAAAAAGcEAAAiAgBB4JICCwZBCwAAIxAAQfCSAgsGRQ0AACSVAEGAkwILNj4lAAAlYQgGAAAAAAAAAAB9CAAAJiEPBgAAAAAAAAAAHSUAACVhCAcBAAAAAAAAAIkyAAAnFABBwJMCCwYrBAAAKAQAQdCTAgsG5RUAACkQAEHgkwILJeREAAAEFAAAgAAAAAAAAAATKAAAAhQAAAYAAAAAAAAAYAkAACoAQZCUAguHAnMJAAArATIDAAAAAAAAAADURAAABBQAAAEAAAgAAAAAtTgAAAkkAAAONQAAWSoAALEkAACXMAAAWzAAALItAACUOAAA1DMAAPQyAAACKwAA8C8AAP4rAAD7KQAA+0QAANQzAAD0MgAA/SoAAFcgAABnDAAACyUAAJQ4AADUMwAAOUIAAGIrAAAOBQAA1DMAAFIpAAD0MgAAmkMAAA8uAABxEwAAlisAANIFAABjLQAAvAsAAGwTAAAJJAAA1DMAAOkvAAC2KQAA7CsAAA41AAAxOAAABwoAAG44AAAJJAAA1DMAADQ0AAAmBAAAGy4AAAE6AACAMgAAPg0AADkvAADZBwAAAwIBAEGklgILJzsAOwA7ADsAAAA7ADsAOwAAADsAOwA7ADsAAAAAAAAAOwAAAAAAOwBB1JYCCys7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAAAAAAAAAOwA7AEGYlwILUTsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwBBoJkCC5ED//3//QD////+/v79+/r/AP3/APv+AP3+//4A/Pr+AAD+/fz8/P39+/78/P/+/fwA/wD+/v39/f7+///+/f4A/v4A//75+/v2AAD9AP7///z+APf8//38//3//v/39vz7//8AAPv9+/4AAP7+APn3+fkA/v/9//37/f/+/fz+AAD9/vwAAP37/f//AP7+AAD9AP4A/vz8+gD+AP7+/Pf7+f37+fgA/vT3+/j+/v8A/f3//f///fv//////fr7/Pr7//v9/f39/f39/f79+/79/fz+/v79//77//77/fv7/Pv7/P4A/wAA/f8A/fT/AAD9+/0A/vz+/f4A/fv6+/r+/vv1//4A///9AP79/v39/vf4+v38+v////z6/QD+//3//fr5+v/4//z4AP/9//79//79+v/9//37+/r8+//+AP36///+//7+/gD+/v7//v7///z++//+///+/QD//v8A/v/8/v/////////+AP78/v79/wD//////v8A////////////AP3/AP8AAP///f4A/P4AQcCcAgvNVXAGxQX4BEIBQgEGAScFxgXTBX4GfgZ+Bj0BAAAAANYARQR+Bn4GfgZ+Bn4GfgZ+Bn4GfgZ+Bn4GfgZ+Bg8BDwHDBMME2ABYAAYBBgEGAQYBBgEoAG8AAgFpAdUBAAJHAm4CtQLcAiMDSgORAzEERQRFBEUERQRFBEUERQRFBEUERQRFBEUERQRFBEUERQRFBEUEWQRFBMAEvQO9A2MGfgZ+Bn4GfgZ+Bn4GfgZ+Bn4GfgZ+Bn4GfgZ+Bn4GfgZ+Bn4GfgZ+Bn4GfgZ+Bn4GfgZ+Bn4GfgZ+Bn4GfgZ+Bn4GfgZ+BvEGfgZ+Bn4GfgZ+Bn4GfgZ+Bn4GfgZ+Bn4GfgaJALUAtQC1ALUAtQBeAK4BQgBBAHAAbgHbAdsBdQIiBNsB2wF9AH0A2wGuAq4CrgKUAq4COQC4ALgATQBNABYIFghIAUgBSAHtAXUBdQF1AXUB9wP3A5kBbgFpBH0E2wHbAdsB2wHbAdsB2wHbAdsB2wHbAdsB2wHbAdsB2wHbAdsB2wHbAW0CbQLbAVQDgwODAw8FDwWWAVMDFggWCBYIFggWCBYIFggbBboDugOAAtABtwLuALwCGgIdAuwC2wHbAdsB2wHbAdsB2wHbAdsB2wF6AtsB2wHbAdsB2wHbAdsB2wHbAdsB2wHbAZcElwSXBNsB2wHbAUQC2wHbAdsBMgR2BNsB2wEwBNsB2wHbAdsB2wHbAdsB2wEdAzIF5AJrBGsEawRrBC0E5ALkArkEpwCeA28FDgQiBbsAgAUiBYAFmwVVBA4EDgRVBA4EuwCbBeMAQgStA/YE9gT2BIAF6AToBC4FoAUBArUFlQaVBk0GTQa6BroGTQZMBk4G0QbABtsG2wbbBtsGTQbmBnMGTgZOBnMG0QbABnMGwAZzBk0G5gZ1Bt4GTQbmBgoHTQbmBk0G5gYKB7QGtAa0BugGFQcVBwoHtAaxBrQG6Aa0BrQGiwYZB8EGwQYKB6oGzgaqBs4GqgbOBqoGzgZNBu4G7gb6BvoGuwbCBjsHTQa4BrsGxQbHBnMGQQdRB1EHaAdoB2gHFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIzwCTA/IDBgTBBI4DkgS+BVgFyQWiBSYFZwXrBcoF8wUGBgoGCwY0BjsG3gU6BR4G1QXwBfEFPgZRBiAGUgbnBeoFbQZxBiIGzAV2B3sHaQfdBnQHdQdtB28H/AbyBgYHdwd3B3kHAQd+BwMHhAeUBwgHFgd3BxcHWgd4B3cHBAdnB2oHbAduByAHMAeDBxoHpQejB5MHNwcLB2sHkgdwB2IHhQcjBz4HmgefB6IHMwc6B6QHegemB6gHoQepB30HgAeqB1kHpwerB4EHoAevBzIHsgezB7QHtQewB7YHuAdxB0IHuQe6B18Htwe+B0YHvQe7B7wHvwfAB38HjQeGB64HkAeCB8EHyQfOB80HzwfQB8QH0we9B9QH1QfWB9cH2AfZB9EH5AfcB90H3gffB+EH4gfbB3IHcwd8B4cHiAfjB+YH6wf6B/0HAAAAAMEA3wDBAOEAwQDBAMEAEgETARQBwQDpANsAwQASARMBFAHOAM4AEwDBANsA2ADYANkA2ADZAMEAJwHYANkAHwDNANgA2QDBANgA2QDVACcA5ADBAOYAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAwQATALkAugC7ALwAvQC+AP0AEgETARQBwwDBAMUA/QDYAAYBEgETARQBzADuAMwABgErACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQAIARIBEwEUAWYAZwBoAGkAagBrAGwAbQBuAG8AcABxAO8A8ADvAPAA0gDTANQAOgE7AToBOwA8AVYA/ABYAPwAEwA6ATsBAAEBATUBGQBIACgBOQHBAAoBZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAUQAkATsAMwEqAWwAbQBuAG8AcABxAEUAdAB1AHYASACAAIEAwQDxABYAcQA2ADcAOAA5ADoAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAeADBANgA2QAZAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAOcAigCLAHQAdQB2AGoAawATANgANgA3ADgAOQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQAwARkALgAvADAAMQArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQDBAGoAawA7AMEAEwCZAAcBmwBDABgAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEA2ADZADsA5gDYANkAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAeQCOADsAwQB0AHUAdgB3AP0AzAB6AHsAfAATABQAUQAWAAYBbAATAIQApQCmAMEAGAB+AHQAdQB2ABYBJADBAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAO8A8ADYANkA1wBqAGsA8QATADsA2ADZAN8A/ABzAHQAdQB2AEkAeAAaAEcAwQAWAMEA5wBRAIAAigCLAA0BUQArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQDYANkAxgBkAF8AmQA7AJsAwQBqAGsA6wDsADsAwQDBAPkAcgD7AHQAdQB2AHEAMAF5AH8AzADBAHcAeAB5AHoAewB8AH0AwQCKAIsA2ADZAIMAigCLAMEAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAmQCaAJsAnACdAO8A8AB0AHUAdgBMAMEAwQATAHQAdQB2ABcA/AD9AMEAVwDMAFkA7gDBAFwADAEGARkBywDBAM0AHQHYANkAlgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQDBAMEA2ADZABMA7wDwADsAFwBqAGsAbABtAG4AbwBwAHEA5wD8AP0AwQA0ATUBwQCRADsAOQGRACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5AKQAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAdwDBAMEAegB7AHwAwQAbAXQAdQB2AOsA7ACEADsA8QAIATsAwQATABcAwQAZABcA2ADZAHQAdQB2ANgA2QBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQATADQBNQGXABcAGQA5AYcA/QAVAMEA8QCMAHQAdQB2AHQAdQB2AAwBMAEWAC0BLgErACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQDBAI8AwQDBAI8AZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEATAB2ADsAJAHTANQA2ADZANgA2QBJAMEAUABZABkAEwBcAMEAMAEXABYA5wDBAOcAwQAWAI8AZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAEwB7AMEAOwAXAHQAdQB2ADsAwQB/AIAAgQAyATMB0gDTANQAwQAWAG8AcABxABwBKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAoQDBANgA2QAMAWYAZwBoAGkAagBrAGwAbQBuAG8AcABxADsAwQDBAMEAdAB1AHYA2ADZAHQAdQB2ADAB7wDwABMABwGKAIsAFwDTANQA5wAHAdgA2QD8AGYAZwBoAGkAagBrAGwAbQBuAG8AcABxACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ABMAwQALAHQAdQB2APAA/QDBAMkA7wDwAMEAhgDOAIgAiQDBAPwAwQAIAcEAwQD8ACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ABwB2ADZANgA2QBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQDBAOcAwQC7ALwAvQC+AH8AgACBAO4AwwDBAMUAEAATAAcACAAJAMEAzAD9AMEA2ADZANgA2QBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQDVAO8A8ADBAEwAEwC8AOgAvgCAAIEAJAHBAMMA/ADFAC4AWQCKAIsAXABNAMwATwDBAA0B2ADZAAoBzACfAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEADADvAPAAwQAqARYAFwD9AO8A8AB/AIAAgQDuAPwAGwDBAB4BzADBAMwA/AAjAcEAEQEWABcAZAAKAXMAKgAMAWYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHUAnwDYANkAeQChABMAPwDBAO8A8ADvAPAADADQANEAKgFJADcBOAHuABMA/AAZAPwAFgAYABgAGwDBAAgB2ADZAC4A0ADRAJkAmgCbAP0AZQATABcAKgAZACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5AGUAEwA7ABkAPwArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQAWABcAcwAZABgAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAFgAXAHMAGQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQB2AJYAgwA7AHUAFgARAcEAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAzABCAMwAIwDMAI8A1QDBAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAFUAwQA7AGUANwE4ARAAwQATAF4A2ADZAO4AwQBCAO8A8ADvAPAA7wDwAHUASgBlANgA2QDBAMEA/ADBAPwAlQD8ACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQDBAMEAwQAFADsA2ADZABkACgALAAwADQAOAHUAkgARAMEAIwHBAOgATQBMAE8A2ADZANgA2QAfAB4ANQEgAIIAVwA5AVkAJwDBAFwAKADYANkA2ADZAGwAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAKwEsAcEA2ADZAHQAdQB2ABMAFADBABYARgA1AYcAwQAIATkBwQCMAE4AwQDiAFEAOwAkAMEANQHBAB0AwQA5AcEAIQCRAMEAOwAwANgA2QBiANgA2QDBANgA2QDBAPQAOwDYANkA2ADZANgA2QDYANkA/gDYANkARwDBAPQAwQDBAEEA2ADZAMEA2ADZAJEA/gD0AFUAhQAPAGQAwQBaAIoAiwB1AP4A2ADZANgA2QDBAGQAwQDYANkAdAB1AGoAawATAHkAwQDBANgA2QByAKIAdAB1AHYA9AD0AHkA2ADZANgA2QDBADUBgQD+AP4AOQE8ANgA2QATAAABAQHBAHgAeQCZAJoAmwCVAJYAGQAYAGMA2ADZAJgAwQCZAJoAmwCcAJ0AAAABAAIA2ADZAAUAFgCeABgAoAAKAAsADAANAA4AwQAXABEAGQDBABMAFADBABYAhQDBABYAFgDBABYAHgDBACAAEwAUAIEAFgAkANgA2QAoAMEA2ADZAMEA2ADZAHQA2ADZACQA2ADZAMEA2ADZAMEANQCYAMEAOwAXABMAGQDYANkAPQDYANkAFwBGABkARwA7AHQAwQDYANkATgDYANkAUQDYANkAOwBHAFUAwQAXAMEAGQBaABcAFwAZABkABwAIAGIAVQDBAGQAwQA7AFoAjgCNAGoAawDBANgA2QDYANkAZAByAMEAdAB1AHYAagBrAHkA2ADZANgA2QDBAHIAwQB0AHUAdgCFABcAeQAZAHkAigCLAGEAFwB1ABkAFwDBABkAgwCNAMEA2ADZADsAwQCZAJoAmwCcAJ0A4gDBAHUAogAXABcAGQAZAJkAmgCbAJwAnQABAAIAUwBUAAUAEwAUAOIAFgAKAAsADAANAA4AAgGZABEAmwCZABcAmwAZACQAFwDBABkA/wDBAOwAHgDBACAAEwAUAMEAFgDBACABdQAoAMEAPgHBAMEAwQA7APIAwQDBACQAwQDBAMEAHwH/AP8A/wBHAP8A8wDWAL8AKQELAfUADwEDAQMBJQFGAPYA9gA7AAsB5QD1AA8BTgAlAQMBUQAPAQ8B3ABHAOEAZADbANsA+QDEAPMAagBrAGwA2wA8AGIAGAEpAXIA+QB0AHUAdgCNAPUAeQDIAMgAKQEmAMgAZACXAJYAJgEmARYAagBrABsBKwDqABIA7QDIAHIAEAF0AHUAdgCFAO0AeQASAO0AigCLAJkAmgCbAJwAnQDtAA4BxwATABQA9gAWAJUAEAEQAQ4ByAD2AOoA6gD2APYAogCeACIBJADHAJkAmgCbAJwAnQA+ACEByADHABYAyADdAMcA3QDIAMcAcwBAAOMA2gAWADsA2gDaAH4ApQAYAHEAOAHaAOAAMQHgAEcAGgGQAN0A3AAaAdoA2gDaAHMABQEEAeMA3QAFAQQByABbAD0BPQFSAAUBBAGUAAUBFgAJAZEAyABkAJ4AFQGTAJIAGQBqAGsAygANAAQBwgD6APkAcgD4AHQAdQB2APoA9wB5AAkB9gDCAAYAwADAAM8AwADPANUA1QDVAN4A1QDeAAQA1gDWANUAAwAWAKMAFwHPAA8AFwAQABcAiwCCAJcAmQCaAJsAnACdAI4AGQAYABQAkAAQAAEAjgA9AIIAggAvAZcANQAlAC8BNQAsATUAggA1AHQAIgABAI0ABQAWAHMAGQChAEsAKQBEAI0AcwAYABQARAATAIMAfQAXAGAAFgA7ABYAQwAWABYAQwAWABgAHABDACUAFwCVABYAGQAXABcAFwAXABYAjQAXABcAYQB0ABYAjwAZAFgASwAiACwASwBWACIAIgBdABcAIgAiACIAFgAYACIAFgAZABkAFwAXABcAFwAXAAsAFwAZABYAFgAZABcAFwAWABYAhwAPAAEAGQAXAAEAPwGNAD8BPwE/AT8BPwE/AT8BPwGNAD8BPwE/AT8BPwE/AT8BPwE/AT8BjQCNAD8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwE/AT8BPwEAADYCGwU2AgYFyQDJADYCdABwAN4ANgIbBXkBNgJ0AHAA3gCNAZgBmQHsBHoB9QQpACkAKQApAIQF7QVHAEcAxwPqBCkAKQDrAUcARwAQAcgDKgHcASoBewB8AHIAugS6BBQEFwQMBAwEeQB5AHoAegB6AHoAHwKZAdIEAQABAD0CAgDWBCQCdABwAN4ANQHgAY4AJAL4BAwCdABwAN4AKAWhAQsCIwJ7AHwAcgC6BLoEFAQXBAwEDAR5AHkAegB6AHoAegCoAXQAcADeAHgAeAB4AHgAdwB3AHYAdgB2AHUAcQC8ARUBFQEVARUBMAIwAjACFgZ4ARgGogR3AYUEMwKFBDMCmQEWBhkC/ADbABEGYwCNAMEBBgBtAekAeAB4AHgAeAB3AHcAdgB2AHYAdQBxALwBewB8AHIAugS6BBQEFwQMBAwEeQB5AHoAegB6AHoAigAhAaIECgbAAXYAdgB2AHUAcQC8AX0AogSjBKQEkADRAU4BNgKWAH8AvAF6AHoAegB6AHMAeAB4AHgAeAB3AHcAdgB2AHYAdQBxALwBxgGjAQ0ADQDXAHgAeAB4AHgAdwB3AHYAdgB2AHUAcQC8AaYBNAEtAqIEowSkBLkBuAGZAfcEegB6AHoAegB4AHgAeAB4AHcAdwB2AHYAdgB1AHEAvAEHBmIACQQJBBUEGAR7AHwAcgC6BLoEFAQXBAwEDAR5AHkAegB6AHoAegA2ApYBlQGiBDYCmQHBBD8BwQRQAFEAeAB4AHgAeAB3AHcAdgB2AHYAdQBxALwBRgBGAKIERAZHAEcAewB8AHIAugS6BBQEFwQMBAwEeQB5AHoAegB6AHoAeAB4AHgAeAB3AHcAdgB2AHYAdQBxALwBDQTSAKIEbQGiBKMEpAT1ACQCjwH4AfUB9AFsAC4CigAEAAQCpQOxAfMB2QACAgoCYAFvA6IEowSkBH8BMQI2AngAeAB4AHgAdwB3AHYAdgB2AHUAcQC8ARUBFQEQABAAPga5AbgBmQCZAb0BDQANAP8EMwK+BKIEowSkBOsDwAQIASsCJga6ADYCqwGKAL8ENAEtAtgBigB7AHwAcgC6BLoEFAQXBAwEDAR5AHkAegB6AHoAegA3ADcAnQH/A/sBwQSiBMEE2gFqAGoAIAUgBaIEqwA2AoABawB8Ab0BOAI3Aq4BBwb1A0wBJQI1AgcBGAFoAf4BYwH9AfoA6wE0AS0CRwBHAF8BNAEtAnYBeAB4AHgAeAB3AHcAdgB2AHYAdQBxALwB9QP1A/cD+AMbABUBFQGiBKMEpASABDYCEAKZAaIEowSkBFwBMwIkAuwEFQIFAoAE7AU9AYAEHQEmAuUBOQI2AjkC4gEzADMAzwB7AHwAcgC6BLoEFAQXBAwEDAR5AHkAegB6AHoAegCrAIQFDQANAJkBFQEVAaIE+QF3AHcAdgB2AHYAdQBxALwBrQEzAgYC3AADAhAGbQEiAqIEBgAUAnsAfAByALoEugQUBBcEDAQMBHkAeQB6AHoAegB6AJEAeAB4AHgAeAB3AHcAdgB2AHYAdQBxALwB9QA2AtoB+AH1AfQBNgLJBaIEowSkBB4FHgXzAaIElQCpAaIE4AGZARIBbQG4A2gDOAA4AKIEowSkBEcARwB4AHgAeAB4AHcAdwB2AHYAdgB1AHEAvAF7AHwAcgC6BLoEFAQXBAwEDAR5AHkAegB6AHoAegCZAR0CEAZTAGEDYgAGAKADEQJQAx8ClwCfA6IEowSkBKIEowSkBCIBBwa7AGEGiwF7AHwAcgC6BLoEFAQXBAwEDAR5AHkAegB6AHoAegA2AroDNgLFAbkDeAB4AHgAeAB3AHcAdgB2AHYAdQBxALwBgATdAKIESwHFAcQBDQANAA0ADQDrA20BzwGABMEAmQGABH4BBwaSBCAAKQHaAcMA9wUFALgDeAB4AHgAeAB3AHcAdgB2AHYAdQBxALwBewB8AHIAugS6BBQEFwQMBAwEeQB5AHoAegB6AHoAmQErBKMBogQABKIEowSkBKIEowFMAcwBQAEgAgkGugG6AboBNgIDAHUAcQC8AcUBewB8AHIAugS6BBQEFwQMBAwEeQB5AHoAegB6AHoAwQU2Ag8ADwAlAXgAeAB4AHgAdwB3AHYAdgB2AHUAcQC8AaIENgLOBYQFogSjBKQEDQANAKIEowSkBAgGDwEPAZkBHgE0AS0C8APOBdAFxAAgAUcARwAzAngAeAB4AHgAdwB3AHYAdgB2AHUAcQC8AXsAfAByALoEugQUBBcEDAQMBHkAeQB6AHoAegB6AJkByQA/BKIEowSkBCwFMAH5BYQBFgEWAcIBNAKSAZoDmgM2AjMCNgKqAesB4AEzAnsAfAByALoEugQUBBcEDAQMBHkAeQB6AHoAegB6AM4FRwBHAA0ADQB4AHgAeAB4AHcAdwB2AHYAdgB1AHEAvAE2AiECNgIpBj0CAgDWBEQERAToAcgFNQH1BY4ARAGZAUQDRQNGAzgBKAUxAWsBKwArADkAOQB4AHgAeAB4AHcAdwB2AHYAdgB1AHEAvAF7AHwAcgC6BLoEFAQXBAwEDAR5AHkAegB6AHoAegAMABUBFQE2AoAEmQE8AqwB1gTRAU4BKAHaATUBMwKOAPkAgAQ0AS0CgARBASgFQwHrAccBRwBHAOkAGwFlAHIAugS6BBQEFwQMBAwEeQB5AHoAegB6AHoAeAB4AHgAeAB3AHcAdgB2AHYAdQBxALwBVAQVARUBhAXAAYoBzgS3ARUBFQH4APcA9gAnBTMCVQQ5AcYAJgHrASYFMwLQATYCkwWKAWoE/wPpAJ4BVgQnAXgAeAB4AHgAdwB3AHYAdgB2AHUAcQC8AfYDaABHAEcA9QNCAfABjAM2AhUBFQEVARUBVATtBJ8BwAGNA2kBIwYjBZkBMwK4AzMCCQDKAP8AVQQ8AecBLAAsAPkALwKfAfUD9QP3A7sBzwSZAUMGVgSBA3sAfAByALoEugQUBBcEDAQMBHkAeQB6AHoAegB6AM8EmQG3BNcAKgJ7AHwAcgC6BLoEFAQXBAwEDAR5AHkAegB6AHoAegBrBF8G1gFfBv8AewBvAHIAugS6BBQEFwQMBAwEeQB5AHoAegB6AHoAawRgBp4BYAZ4AHgAeAB4AHcAdwB2AHYAdgB1AHEAvAHdANEAXwG3BLcEkwCSBesBeAB4AHgAeAB3AHcAdgB2AHYAdQBxALwB6AQbAgcCeAMnArgDDAA2AngAeAB4AHgAdwB3AHYAdgB2AHUAcQC8ARoCNgJcA2kEaQEjBloBTAWZAYsEOgA6AFMBSwX8ARUBFQEVARUBFQEVAbcEeQNpBDsAOwDLAWsBMwI2AjMCYAAzAnwAcgC6BLoEFAQXBAwEDAR5AHkAegB6AHoAegA2AoQFNgIZAaIEPAA8AG4AiAGIAYcBCgGFAVwDiwRNAzYC4QE2ArQBVQGABFgBPQA9AD4APgDHA+MADgY7Aa8BHAIGAIAEyAM2AoAEOgEtAC0ALgAuAAACeAB4AHgAeAB3AHcAdgB2AHYAdQBxALwBoAGtAPwFLwAvAKIEowSkBGwALgJFAQQA5QAPBqADNgK1AQYANgKfA6QANgIKBYkApgQxAjYCDQY2AkEENgIGADYCQQQTAjYCZAMIADEAMQDkADIAMgA2Aj8APwA2AskBvQFAAEAAQQBBAA4ADgBCAEIAlwGBAIEAKwI2AsoBNgLhBeYBQwBDADYCNAA0ACIClwHTARcCmgHiAP8DNgIWAjQBLQKmBJcBRABEAEUARQA2Av8DNgI1ADUAZAP2A2oAagANAvUDNgLgBZ8AnwBrAMMBvQE4AjcC1wEzAfUDoACgAEwATAA2AgwG0gGXAZcBBgDJBDYANgDeARQB2wA2AncDdgP1A/UD9wNUAM4AtgTmABoBSABIAEkB4wH1A/UD9wP4AxsAKAaWBL8BggCCABkBlABpACYAZwCIAYgBhwEKAYUBNgJmBE0DjAE2AmwALgI2AgQANwE2Ah4AEQA2AhcB4wA2AjsBbAAuAtQBBAAxAkkASQA6ATYCnQCdADYCgwCDAA4ChACEADECgACAADYCngCeADYCHwAjATYCvQFKAQkCYgCYAJgApAGIAIgA7QPlAP4AKwK9Ad8BUAGHAIcApACFAIUAiQCGAIYAawMrAhcCNgLZATYC/gAYAtsBTwH+AGIAfgN/A+QAFwI2Av8DNgIyBBYC0gDoAGoAagBIBUsASwBNAE0A/wNrAFQBvQE4AjcCagBqAPUDSgBKACoAKgA2AmsAVwG9ATgCNwKaAfEB9QP7AGcBNAEtAm8EXQFrA2IALgRZAfsAZgE3BlsBMAAwAPkDFwX1A/UD9wP4AxsACQUHBTIEwwHBA50D/gBuAPUD9QP3A/gDGwCWBL8BygPLAxkBbAAuAggFBACIAYgBhwEKAYUBPwU+BE0DPgQ9BFoDPQSSADECngNiAW4ALwFsASkC4wBUBTsBbAAuAoMFBAA7BewB+QM6AUYFHQYoAokF9AS9AcwA6wTfBDEC3gTgBDAGDQE4BW8BcQErAnMBCwDUAIkB4QBxBRwBdgXIAR8BRwHlAEgBJAG9AWoF2ABNAXsFpADdAXUBiQB6BZAB9gErAgYF/wNlAcUFxwAzBtMAagBqAKQDxAXJBOQALAKvAGsAyAC9ATgCNwICAYMB9QP0BfIF3wDGBKIB/wNTANAATwBSALgAagBqAMoFqQCxAM0BswDOAWsAdwW9ATgCNwKaAbQA9QPvAbUANAEtAvUD9QP3A/gDGwC2ACMA6wBkAC4CjgEEAGAAfQV8BSQA5AHVAX8FvACRAb8FwwFZANUFMQLvAPUD9QP3A/gDGwDqAVIBDgHxAMAAVgHtAfIAkwHhBPMA/wGwAREFGgVbAL0BGQUYBW8D2QCyAbMBIgb8BEIGCAJBBisCLQEPApQB+wQuAWQB+gRABl8AQwVuARAFagFEBXABAAEBARQGEwa2AUIFcgF+AEEFCgBbBSICfQH/A2YAsQVhABICIgBqAGoAOgKcBHQBCQExBXsBawDLAL0BOAI3AjAFgQH1A1oFggELAQwBOwLcBKEA1wSiAOUF5gXkBY8A4wUrAUAD1QDWAE4AvgHNADYBMgGjAOAAPASMADoEPgGlALAA9QP1A/cD+AMbALIAtgTnAI8D6gBGAUoEtwClAaYApwCbAbkAVQCnAZwBVgCuAFcAqABYAE0E7ABJBO0AmgASAO4A/gBRAcME6QFCBPAAvgAlAE8DvQDuAWYB9ABeAfoBvwBtA1oA8gETABQA9wFcAGEBegMsAaoAmwBdAAECXgCQBJwAGgRxBCcA2gARARMBcATAA8IAuwNuAIIEhgT9AAcAigSEBBUAFgCJBHYEFwAYABkAIQAeAhoABAHFAGIAKQQbBBkEHQRTBB4EUgQDARwAKAAyAvoDWwNtAB0AmQOGAZgErACLAJcE0wQFAdME0wTTBNME0wTTBNME0wQGAdME0wTTBNME0wTTBNME0wTTBNMEOQY4BgAAAABlBmUGZQa6BdEEQAXRBNEE0QS6BboFugXRBF4FXgXvBfIE0QTRBNEE0QTRBNEE0QTRBNEE0QS5BdEE0QTRBNEEEgYSBtEE0QTRBNEE0QTRBNEE0QRnBdEEbgXRBNEE0QTRBNEEuwW8BdEE0QTRBO4F8AXLBXUFdAVzBXIF3QVRBWwFZQVpBbUFtgW0BbgFvAW7BdEEaAWXBaUFlgXRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEEnwWkBasFowWgBZkFmAWaBZsF0QTRBOkE0QTRBOYEHAXRBNEE0QTRBNEEAgYBBtEEnAXRBPIEkQWQBagFnQWnBaYF9gU2BjUGzAXRBNEE0QTRBNEE0QQSBtEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QQSBhIG0QTyBBIGEgbuBO4EWAXRBP0FNwU3BTcFNwVABTcF0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE8wXxBdEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBDwF0QTRBNEE0QTRBNEE0QTRBNEE0QTRBC8G0QTYBSoFPAU8BTwFPAU+BSsFKQU2BfME2ARdBngFbQU9BVMFbQVTBVoGawV4BXgFawV4BT0FWgYDBUYG/gReBV4FXgVTBVgFWAW3BT0FNgXRBF0GXQZFBUUFXAZcBkUFzAVNBoEFHwUlBSUFJQUlBUUF4wRrBU0GTQZrBYEFHwVrBR8FawVFBeME3AVXBkUF4wTCBUUF4wRFBeMEwgUdBR0FHQUSBdEE0QTCBR0FAwUdBRIFHQUdBSQG0QTGBcYFwgVXBVIFVwVSBVcFUgVXBVIFRQUcBhwGYQVhBWYFWAW9BUUF0QRmBWQFYgVrBRUFMgYyBi4GLgYuBmIGYgb9BT8G8gTyBPIE8gQ/BgUFBQXzBPME8gQ/BtEE0QTRBNEE0QTRBDoG0QT4Bc0FSQXRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEEAwbRBNEE0QTRBNEE0QTRBNEE0QTRBIYF0QTUBPoF0QTRBNEE0QTRBNEE0QTRBG8FcAVKBdEE0QTRBNEE0QTRBNEEfgXRBNEE0QR5BdEE0QTRBNEE0QTRBNEE0QRZBtEE0QTRBNEE0QTRBNsF2gXRBNEERwXRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBAEF0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBGMF0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBCEGWQXRBNEEUAbRBNEE0QTRBNEE0QTRBNEE0QTRBNEE0QTRBNEESgYtBYgF0QSHBYsF5wTRBN0E0QTRBAkAQbDyAgukBr0AvQC8AL4AvwC/AL8AvwC+AL4AvgC+AL4AwwDFAMcAxwDGAMYAxADEAMsAywDNAM0AzgDQANAA0ADRANUA1gDXANcA1wDXANcA1wDXANcA1wDXANcA1wDXAOAA4ADcANwA3gDeAOEA4QDhAOEA4gDiAOIA4gDiAN8A3wDjAOMA4wDKAOUA5gDmAOYA5gDmAOkA2gDaAOoA6gDrAOsAvgDtAO0AvgC+AL4AzADMAMwA7wDyAPIA8gDwAPAA/AD8APMA8wDzAP4A9AD0APQA/wD/APUA9QABAQEBAAEAAQABAAHIAMgA7gDuAAcBBwEHAQcBAgECAQIBAgEEAQQBAwEDAQMBBQEFAfkA+QDnAOcA2wDbANsACQEJAQkB9wD3APgA+AD6APoA+gD6AL4A9gD2AAsBCwELAQsBvgAMAQwBDAEMAb4AvgAPAQ8BDwEPAQ8BDwEQAQ0BDQEOAQ4BCAEIAdkA2QDZANkA2QDYANgA2ADZANkA2QDZANkA2QDZANgA2QDZANkA2QDZANkA2QDZANkAEgHZANkA2QDZANkA2QDZANkA2QDZABMBEwHZABQBFAHZANkA2QDZANkA2QAXARcBGAEYARYBFgEGAf0A/QAVARUBvgAZARkB3QDdAOgA6AAaARoBvgC+AL4AGwEbAb4AvgC+AL4AvgDTANQAvgAdAR8BHwEfASABIAEgASIBIgEeAR4BJAElASUBIwEjASMBIwHZANkA7ADsAOwAvgC+AL4AJwEnAb4AvgC+AL4AvgC+AL4AKAG+AL4AvgAqASwBLQEtAS4BCgEKATEBMQExATAB8QDxADIBMgEzATQBNAE0ATQBNAE0ATUBNQE1ATkBOwE7ATwBPAE6AToBPQE9AT4BPgE+AfsAEQERAREBOAE4ATcBuQC6ALoAuwC7ALsAwADAAMAAwgDCAL4AywDJAMkAwQDBAMEA0ADRANIA0gDPAM8A1wDXANcAygDkAOQA5QDpAOsA7wDwAP4A/wAQAdkAEgEGARwBHAEcARwBHAHTACEBIQEkASUBJgEmASkBKQErASsBLAEvAS8BLwEKAQBB4PgCCzdKAAAAJgAKAF0AAAA0AAkAhgAAAF0AAQBVAAAATwAAAAsACwAFAAIARwAAAHkAAABCAEMARABFAEGg+QILhANSRAAArQcAAJ5DAABRIwAA9CsAAMhLAAAmTQAAt0wAAAIECAYGAAAAAAByb3dfbnVtYmVyAGRlbnNlX3JhbmsAcmFuawBwZXJjZW50X3JhbmsAY3VtZV9kaXN0AG50aWxlAGxlYWQAbGFnAAAAAAAAyrwAAEwAAABaAAAAVQAAANW8AABZAAAAWgAAAFUAAADgvAAAWQAAAFoAAABVAAAA5bwAAFwAAABVAAAAWgAAAPK8AABcAAAAVgAAAFoAAAD8vAAATAAAAFUAAABaAAAAAr0AAEwAAABaAAAAWgAAAAe9AABMAAAAWgAAAFUAAADUcgAAEkcAAAFMAAAuRwAAnkwAAAMEAwcEBENBRERFQgoKCQkICAcHBwYGBgUFBQQEBAQDAwMDAwMCAgICAgICbnRoX3ZhbHVlAGZpcnN0X3ZhbHVlADk3AAAAAAAAAACyLQAAQAAAAD5EAABCAAAAkzUAAEEAAAAcJAAAQwAAABoYFxkAACYiGhcZGCooJykFBCYiAEGw/AILEvEiAAAmIwAAjCIAAIMjAAC3IwBB0PwCCxE5AAAAOQAAADYAAAA5AAAAOQBB8PwCCyFuYXR1cmFsZWZ0b3V0ZXJpZ2h0ZnVsbGlubmVyY3Jvc3MAQaH9AgskBwQGBCgKBSAOBTATBDgXBQEcBQMAAACfNwAAAwAAAIYGAAADAEHQ/QILETMAAgB+AAAAYAACAH8AAAB5AEHw/QILIwIAAABiAAEDMQEIAEcAAgBrAQIBMQEIAEcAAQC2AAAAUwEBAEGg/gILJgIAAQBiAAEEEgEAAEYAAgBjAAcANkQAAH0HAAD+KwAAAAQBAQIDAEHQ/gILWlUBAAA7AQQAdQADAFMDAQBGAAAAdQADAAsAAwAAAAAAxVcAAAEAAADKVwAAAQAAAHs1AAACAAAAJDcAAAMAAABzNQAAAgAAABw3AAADAAAASVgAAAAAAABDWABBuP8CC0kCAAEAYwAAAAIAAABiAAEAUwEBAAAAAABvbm9mZmFsc2V5ZXN0cnVleHRyYWZ1bGwAAAECBAkMDxQCAgMFAwQFBAEAAAABAQMCAEGUgAMLFcBXAABrNQAAFDcAACVfAAADAAAAAQBBtIADCwHNAEHEgAMLG+UtAAAAAAAAeAAAACI7AAAAAAIAfTAAAAAABABB8IADCx0IJQAAAQAAAB0GAAACAAAAMUIAAAYAAACiBAAAgABBmIEDCwUBAAAAAQBBqIEDCwHOAEG4gQMLJfMtAAAAAAAA0VkAAMEMAAB6WAAAAAAAANNYAAAAAAAABAAAAAEAQeiBAwsBzwBB+IEDCw0YCwAAAAAAAAIAAAABAEGQggMLAdAAQaCCAwsNaC0AAAAAAAABAAAAAQBBuIIDCwHRAEHIggML2gZFDAAAAAAAAIP/3QIVA/EAJQGF/z//Qf9J/0X/TP9TAIUAMf86//X+Uf/6/6YAOQHnAYwB6QFWAmcCrQKvAk8ADQNZA+oBaALwAE4BRP8cA0kDSwPrA+0D7wP8/vz+/P78/vz+/P78/vz+/P78/vz+/P78/vz+/P78/vz+/P78/vz+/P78/vz+/P78/vz+/P78/vz+/P78/vz+/P78/vz+/P78/p4AywCHAUAC1ALWAnYD/QMLBCcEOQQ7BEkESwRdBIAEgwSGBIsEjQSPBJEElAScBJ8ErgSwBLUEvwTJBMsE1ATkBPAEEwUXBRoFHQUgBSMFLQUwBTkFPAU/BVsFXQVoBWoFgwX8/vz+/P78/vz+/P78/vz+/P7L/4oALgFi/2UB3wAi/5sBygGk/ywCnQJFAngCRQL8/ngC9gIKA5gD/P78/vz+/P6hAKEAoQAzAeoAiAEOAhYDwwBnAVL/U/9qAWoBQ/8QADACNwIFAbECIgNVA4b/Wv+YAU8BaQKyAkUD6QPqAiUEAwI6BOIDCgR5/+gDGARxBG0DgQO6AHMCBwRtBHwEhwSqBK8EqwQ+/3L/EgBo/0QAyQD9AA0BJgFiAQkCEAKkAqgC4ALnAlIDiwMRBBcEJATXAnMEewSxBNUE/gRPBXEFeAWFBZUFmQWdBWYEggWWBaQFyAXLBX0FzgXSBdQFjAVcBdgF2gWhBdsF/QDcBd8F4AXiBeMF5AV2BYcFrQWoBakFqgWsBX0FrQWtBbkF1wXvBYYFowWlBbwFsAWvBbEFkAXBBa4FswXCBbQFxwWaBegF1gXlBe0F7gX1Bb0F0QXdBbsF5gXZBQcGqwW2BRUGFga/BcAFGQbPBeEF9AUCBgEGCQYMBhQGJwY8BhAG+QX6BRcG/QUkBhoGJQYbBkQGTwbyBfwFVgZYBkUGWQZcBl0GXwZHBlAGUwZUBkYGVQZXBl4GWgZgBmQGYQZlBmYG+wUFBh8GIwZoBj0GPwZBBkMGSAZKBksGWwaABg0GDgZJBmIGZwZpBkIGjAZqBm4GbAZyBnYGkwaeBqsGrwawBrIGawZvBnQGogafBqAGoQajBqQGmQabBqUGpgaoBrMGAAABAAAAu3IAAAAAAABRIwAA9CsAAK0HAABSRAAAFisAQbCJAwuQATAxMjM0NTY3ODlBQkNERUZsYXN0X3ZhbHVlAAAMAA4AGAAfADsADycAAAAAAAAAAAZzZWNvbmQAJCDTVwAAgD8GbWludXRlANkz4VQAAHBCBGhvdXIAAACwOfBRAABhRQNkYXkAAAAAWvyjSgDAqEcFbW9udGgAAIBoLEgANB5KBHllYXIAAAAA5GVGwJnwSwBByYoDCwUBAQAAAQBB4IoDCwEBAEHIjAMLBmJ0bgBmcgBB4IwDC3IWKwAA3S8AAPIxAABRIwAA9CsAAK0HAAAoBQAAkAwAAEIBAABDAQAARAEAAEUBAABGAQAARwEAAEgBAAAAAAAAAQAAAAAAAABJAQAASgEAAEsBAABMAQAATQEAAE4BAABPAQAAUAEAAFEBAABSAQAAUwEAQeCNAwv2ASshAAA4IQAAAAAAAJU8AADZOQAAVDwAAGc8AAB1BAAA+DEAAPU5AABIIQAAtTsAAHUnAAAbKwAAHDQAAOwqAAAAAAAAgz0AAH8uAAD3OwAAjy0AANQwAAAJPAAAgDwAAAAAAACzNQAAcjIAAM01AADiNQAAVAEAAFUBAABWAQAAAwAAAFcBAABYAQAAWQEAAFoBAABbAQAAXAEAAF0BAABeAQAAXwEAAGABAABhAQAAYgEAAGMBAABkAQAAZQEAAGYBAABnAQAAaAEAAGkBAABqAQAAawEAAGwBAABtAQAAAAAAAG4BAABvAQAAcAEAAHEBAAByAQBB4I8DC9IWMAAAAAfoAAAGbAEAL+wBAAesAgAB0AIAA9gCAAHsAgAB/AIAAVwDAAHcAwAECAsADkgLAAeUCwABtAsAgbwLAAHUDQAB+A0AAhAOAAEcDgAB2A8ACAgSAAZoFQACJBYAATwWADdEFgACzBcABQAYABYYGAACeBgAFSwZAASoGQABwBkAAVAbAA9YGwAHnBsAAvQbAA4AHAABPBwAAUQcABvAHAALmB4ACawfAATYHwAEWCAACWwgAAOUIAAFpCAAD8AgAANkIQABeCEAG5AjAAQAJAAD6CQAEvgkAAdEJQAEiCUAAcAlAAMEJgAB8CYAB/gmAAIcJwADLCcAAVwnAAKIJwACyCcAAugnAAMEKAAB8CgABfgoAAIcKQADLCkAAUQpAALAKQAB1CkAAwQqAAHwKgAI+CoAAxwrAAMsKwACiCsAAsArAAMELAAB8CwAB/gsAAIcLQADLC0AAlgtAAKILQABwC0AAQguAAX4LgADGC8ABCgvAAFcLwAIzC8AAwQwAAf4MAADGDEABCgxAAJUMQACiDEAAfwxAAIIMgAB8DIAB/gyAAMYMwAEKDMAAlQzAAKIMwACCDQAB/g0AAMYNQAEKDUAAVw1AAKINQAB5DUAAgg2AAEoNwAGPDcAAVg3AAhgNwADyDcAAcQ4AAfQOAAB/DgACRw5AAJoOQABxDoABtA6AALsOgAGIDsAHwQ8AAzQPAAXxD0ACzQ+ACRkPgAP+D4ADTg/ABSsQAAGKEEABFhBAAN4QQADiEEAB5xBAATEQQAMCEIAATxCAAZoQgAB7EMADHRNAApATgABAFAAArRZAAEAWgACbFoAA6xbAANIXAAFyFwAAkhdAALIXQAj0F4ABGBfAAF0XwAPAGAAAaRiAAyAZAAMwGQAAQBlAAIQZQARwGYAAiBnACJ4ZwAFXGgAAnhoAApUaQAdgGkAAfxpAAeAagAGoGoABQBsABHQbAAjaG0AAwBuAA2EbgAOmG8ABPBvABSQcAAF7HAAAvhxAAgAcwAZQHMAAbRzAAPIcwAnAHcABPB3AAH0fgAD/H4AAzR/AAN0fwADtH8AAvR/AGUAgAAGqIEABeiBAAUoggAagIIAIUCDAAIAhAAEDIQAAiCEAAFQhAADWIQABniEAAGUhAABnIQAAaSEAAG4hAAC6IQABQCFAAQohQABPIUAZEKGACcAkAALAJEATnCSAAAClAB1BJwAuVOeAApArQAGlLMAA7yzAATkswAC+LMAAcC1AAH8tQBPgLcADMC4ABoAugBZbLoA1gC8AAzAvwAFAMAAGSDAAAeowAAC2MAAA/TAAARkwgABgMIAAezDAAJAxgAKWMYAJADHAB8AyAAeqMgAAUDJACCAyQAnKMoAPwDLAAABzABAADcBN0CSAgL4kwIDNJgCELyZAgF8mgIIwJsCFwCcAgKAnAICJJ4CAQigAgEYoAIBLKACCYygAgTYoAIE0KECAgCiAhHQogICOKMCEoCjAgPgowIKmKQCDRylAgF8pQIEAKYCG8ymAgJ4pwIOpKgCAQypAgIwqQIEcKkCA9ypAgHsqQIBwKoCA8iqAgLcqgIC+KoCAQSrAgJ4qwIHrKsCAtSrAguMrwIBAGADAvxtAwL8bwMB/H8DAXjsAwGk7AMQyO4DAvj0AwLw9wMaAPgDB4D4AyPA+AMTUPkDBKD5AwH8+wMPBPwDB2j8Awbs/AMLbP0DB4D/Aweg/wMF5P8DAwAEBAncBAQR5AUEDEAGBC5ABwQBfA4EAUAPBAFcIQQBfCQEAfwkBAMEKAQCFCgEBDAoBAPgKAQB/CgECUApBAH8KQQH5CwEAwBABBbgQAQDAEIEEsBCBAMARAQOnEQEBABFBAMARgQOzEYEBBRHBA2sWgQEwJEELkS9BQQ8vgX2AEAHJwBEB7WkRAdGAEgHVwBMBwEEWwcBbFsHAexbBwFUXAcB1FwHATxdBwG8XQcBJF4HAaReBwEMXwcCwLsHLADAB2TAwAcPgMIHDsTCBw8EwwcPRMMHH0DEBzzAxAcrwMUHHZjHBytAyAcJAMkHAkDJByEAzAcGwMwHRtzMBxQAzgclgM4HBRjPBxGAzwc/ANAHAQDRB7YI0QcE5NMHPgDUBwQA1QcYQNUHRuzXBwsU2QdGANoHdADcBwEEADhggAA48AAEOAAAAAAAAAAA////////APwBAAD4AQAA+EEADhq1AEABwAAOF9gADgcAAQEwMgEBBjkBARBKAQEueAF0AXkBAQZ/AWgBgQEyAYIBAQSGASwBhwEAAYkBKgKLAQABjgEgAY8BJgGQASgBkQEAAZMBKgGUAS4BlgE0AZcBMAGYAQABnAE0AZ0BNgGfATgBoAEBBqYBPAGnAQABqQE8AawBAAGuATwBrwEAAbEBOgKzAQEEtwE+AbgBAAG8AQABxAECAcUBAAHHAQIByAEAAcoBAgHLAQES3gEBEvEBAgHyAQEE9gF6AfcBhgH4AQEoIAJuASICARI6AkYBOwIAAT0CbAE+AkQBQQIAAUMCagFEAhwBRQIeAUYCAQpFAyQBcAMBBHYDAAGGAxIBiAMQA4wDGgGOAxgCkQMOEaMDDgnCAwABzwMEAdADjAHRA44B1QOSAdYDkAHYAwEY8AOIAfEDigH0A4IB9QOAAfcDAAH5A5gB+gMAAf0DbgMABCIQEAQOIGAEASKKBAE2wAQGAcEEAQ7QBAFYMQUWJqAQQibHEEIBzRBCAQAeAZabHoQBnh5gAaAeAWAIH5YIGB+WBigflgg4H5YISB+WBlkflwhoH5YIiB+WCJgflgioH5YIuB+WAroffgK8H5QBvh9kAcgffATMH5QB2B+WAtofeALoH5YC6h92AuwfmAH4H3AC+h9yAvwflAEmIWIBKiFcASshXgEyIQwBYCEIEIMhAAG2JAoaACwWL2AsAAFiLFgBYyxmAWQsWgFnLAEGbSxUAW4sVgFvLFABcCxSAXIsAAF1LAABfixOAoAsAWTrLAEE8iwAAUCmAS6ApgEYIqcBDjKnAT55pwEEfadMAX6nAQqLpwABjadKAZCnAQSgpwEKqqdIASH/DhoAAAAAAQACAAgADwAQABoAHAAgACUAJgAoADAAPwBAAEUARwBPAFAAdADKAMsAzQDOAM8A0QDSANMA1QDWANkA2gDbAAcDYBwoKisqvFrYWvx1wdXh1eLV5NUD1gnWGdZB37rfQeKj4vvjGvH0/j3/Xf9+/4D/gv+H/5D/nP+f/6r/tv/A/8T/xv/I/8r/0P/i/+f/6v/x//f/+P/5/wAAAAAAAAAABQc4B0MHYweIB5QHywfoB/gHDAg+CHgIngjYCO4IKAlPCagJuAnUCSQKbAqsCt4KGgtOC4oLqAu4C9QLCA2ADXAOgA6QDqAOtg74DjgPSA9YD2gPgA+oD8gP2A8KECoQShBqEIoQqhDIENgQ+BA4EUgRWhF4EYgRmBEEGDYYeBiIGNgYHRlpGYEZCPAc8EjwXvCY8KrwyvDo8PjwCPEe8VjxaPF48YzxuPHI8drx/PEu8m7yqvLK8ujy+PIK8yzzXvOc88rz6vMO9Ej0WvR49Iz0sPS49MD0yPQK9S71bvWq9cz1/vU49kr2avaO9s72Cvcq9073iPee9wAAAAAAYWNlaW5vdXl5YWNkZWVnaGlqa2xub3JzdHV1d3l6b3VhaW919eFna2/vamdu4WFlaW9ydXN0aGFl72/veQAAAAAAAAAAYWLjZGTlZeVmZ2hoaelrbOxsbW7vcHLycnPzdHX1dnd3eHl6aHR3eWHh4eFl5eVpb+/v73X19XkAAAAAAABzAQAAcwEAAHQBAAB1AQAAdQEAAHYBAAB3AQAAeAEAAHkBAAB6AQAAewEAAHwBAEHgpgMLtgFwUgAA8mIAAN9oAAAUaQAAMWkAALpqAAD7aAAA208AAARbAAC8YwAA92MAADZjAACfTQAAD04AACJSAACJUAAA91EAAMtQAAAIXwAAnFIAAIxjAADzTwAAIlAAAGZjAADUcgAA1HIAAFJQAABMaQAAhVoAAKxnAADAUQAAnE8AAFVRAAAGUQAAU0wAAABPAACJaQAAlk4AAFNPAAAuWgAAAAAAAH0BAAB+AQAAfwEAAIABAACBAQBBoKgDCxKCAQAAgwEAAIQBAACFAQAAhgEAQcCoAwutAQEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAEBAQABAQEAAQEBAQEAAQEBAQEAAQEBAgEAAAAAAAApJQAACQAAAFwFAAAGAAAASA8AAAgAAABGDwAACgAAAHMjAAAFAAAA/wkAAAcAAACHOAAACgAAANc4AAAKAEGUqgMLAQEAQaCqAwvWAQEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAB0oAAAIABACMTQAAAwEDACpHAAADAQIALEoAAAQAAQA9DAAAhwEAABIPAACIAQAAZS8AAIkBAAApJQAAigEAAP8JAAAfLwAAaSEAAIYOAADJDAAAAAAAAIsBAACLAQAAjAEAAI0BAACNAQAAjgEAAI8BAACQAQAAkQEAAJIBAACTAQAAlAEAQbCsAwueBgEuAABQEAEAcDYAALAQAQAAAAIAAwAFAAYABwAIAAkA+1kAADJeAADuSwAAKl0AAI9YAABnWgAAmlwAAP5XAADOXAAAzEgAAOVXAABYWQAAQ10AAG5ZAABxXAAAA0kAABBZAADrSAAA/0wAALxYAADtXAAAGl0AAP1cAACaWQAAY10AANBXAADCXQAAjl0AAIpcAAAcWQAAL1gAANhdAAB3XQAAFVgAAKxdAABcXAAATEcAAK5LAAA8TwAAD1oAAK5cAACUTAAAI0cAAI5HAACFRwAASkwAAEBHAAB/TQAAphEAAAEAAQCkAQAAWikAAAEAAQClAQAAAioAAAEAAQCmAQAAOVkAAAIAAQCnAQAAPlkAAAIAAQCnAQAAci0AAAEAAQCoAQAAeC0AAAEAAQCpAQAAfi0AAAEAAQCqAQAA6DYAAAIAAQCrAQAAsxUAAAEAAQCsAQAAEhMAAAEAAQCtAQAApxEAAAEAAQCuAQAAWykAAAEAAQCvAQAAAyoAAAEAAQCwAQAAHAkAAAEAAQCxAQAAcy0AAAEAAQCyAQAAeS0AAAEAAQCzAQAAfy0AAAEAAQC0AQAAMS0AAAEAAQC1AQAAHyQAAAEAAQC2AQAAGy4AAAEAAQC3AQAA51wAAAEAAQC4AQAAkSEAAAIAAQC5AQAA0SkAAAEAAQC6AQAA4QgAAAEAAQC7AQAAxTIAAAEAAQC8AQAAeysAAAEAAQC9AQAAVyEAAAEAAQC+AQAA+ywAAAAAAQG/AQAAyjAAAAIAAQDAAQAAiAUAAAIAAQDBAQAAiAUAAAMAAQDBAQAAYyAAAAIAAQDCAQAAWiAAAAIAAQDDAQAA3jEAAAEAAQDEAQAATSIAAAEAAQDFAQAAhysAAAIAAQDGAQAA7iMAAAIAAQDHAQAAtkMAAAIAAQDIAQAACCIAAAIAAQDJAQAA9QYAAAEAAADKAQAAywEAAPM2AAABAAAAygEAAMwBAACfNgAAAQAAAM0BAADOAQAAByoAAAEAAADNAQAAzwEAAOAzAAABAAAAzQEAANABAADvMwAAAQAAAM0BAADRAQBBkrMDCzkBAgMAAQIAAAICBAUFAAECBgIDAAEAAgACAAAAAAAAAAECAwABAgAAAgIEBQUAAQIGAgMAAQACAAIAQdC0AwuQAgQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgICAgICAgICAgIDAwMDAwMDAwQEBAQEBAQEAAAAAIAwAACAIA4AgCDIAwAAAACA////APj//wAA///+gitlRxVnQAAAAAAAADhDAAD6/kIudr86O568mvcMvb39/////98/PFRVVVVVxT+RKxfPVVWlPxfQpGcREYE/AAAAAAAAyELvOfr+Qi7mPyTEgv+9v84/tfQM1whrrD/MUEbSq7KDP4Q6Tpvg11U/AEHutgMLkhDwP26/iBpPO5s8NTP7qT327z9d3NicE2BxvGGAdz6a7O8/0WaHEHpekLyFf27oFePvPxP2ZzVS0ow8dIUV07DZ7z/6jvkjgM6LvN723Slr0O8/YcjmYU73YDzIm3UYRcfvP5nTM1vko5A8g/PGyj6+7z9te4NdppqXPA+J+WxYte8//O/9khq1jjz3R3IrkqzvP9GcL3A9vj48otHTMuyj7z8LbpCJNANqvBvT/q9mm+8/Dr0vKlJWlbxRWxLQAZPvP1XqTozvgFC8zDFswL2K7z8W9NW5I8mRvOAtqa6agu8/r1Vc6ePTgDxRjqXImHrvP0iTpeoVG4C8e1F9PLhy7z89Mt5V8B+PvOqNjDj5au8/v1MTP4yJizx1y2/rW2PvPybrEXac2Za81FwEhOBb7z9gLzo+9+yaPKq5aDGHVO8/nTiGy4Lnj7wd2fwiUE3vP43DpkRBb4o81oxiiDtG7z99BOSwBXqAPJbcfZFJP+8/lKio4/2Oljw4YnVuejjvP31IdPIYXoc8P6ayT84x7z/y5x+YK0eAPN184mVFK+8/XghxP3u4lryBY/Xh3yTvPzGrCW3h94I84d4f9Z0e7z/6v28amyE9vJDZ2tB/GO8/tAoMcoI3izwLA+SmhRLvP4/LzomSFG48Vi8+qa8M7z+2q7BNdU2DPBW3MQr+Bu8/THSs4gFChjwx2Ez8cAHvP0r401053Y88/xZksgj87j8EW447gKOGvPGfkl/F9u4/aFBLzO1KkrzLqTo3p/HuP44tURv4B5m8ZtgFba7s7j/SNpQ+6NFxvPef5TTb5+4/FRvOsxkZmbzlqBPDLePuP21MKqdIn4U8IjQSTKbe7j+KaSh6YBKTvByArARF2u4/W4kXSI+nWLwqLvchCtbuPxuaSWebLHy8l6hQ2fXR7j8RrMJg7WNDPC2JYWAIzu4/72QGOwlmljxXAB3tQcruP3kDodrhzG480DzBtaLG7j8wEg8/jv+TPN7T1/Aqw+4/sK96u86QdjwnKjbV2r/uP3fgVOu9HZM8Dd39mbK87j+Oo3EANJSPvKcsnXayue4/SaOT3Mzeh7xCZs+i2rbuP184D73G3ni8gk+dViu07j/2XHvsRhKGvA+SXcqkse4/jtf9GAU1kzzaJ7U2R6/uPwWbii+3mHs8/ceX1BKt7j8JVBzi4WOQPClUSN0Hq+4/6sYZUIXHNDy3RlmKJqnuPzXAZCvmMpQ8SCGtFW+n7j+fdplhSuSMvAncdrnhpe4/qE3vO8UzjLyFVTqwfqTuP67pK4l4U4S8IMPMNEaj7j9YWFZ43c6TvCUiVYI4ou4/ZBl+gKoQVzxzqUzUVaHuPygiXr/vs5O8zTt/Zp6g7j+CuTSHrRJqvL/aC3USoO4/7qltuO9nY7wvGmU8sp/uP1GI4FQ93IC8hJRR+X2f7j/PPlp+ZB94vHRf7Oh1n+4/sH2LwEruhrx0gaVImp/uP4rmVR4yGYa8yWdCVuuf7j/T1Aley5yQPD9d3k9poO4/HaVNudwye7yHAetzFKHuP2vAZ1T97JQ8MsEwAe2h7j9VbNar4etlPGJOzzbzou4/Qs+zL8WhiLwSGj5UJ6TuPzQ3O/G2aZO8E85MmYml7j8e/xk6hF6AvK3HI0Yap+4/bldy2FDUlLztkkSb2ajuPwCKDltnrZA8mWaK2ceq7j+06vDBL7eNPNugKkLlrO4//+fFnGC2ZbyMRLUWMq/uP0Rf81mD9ns8NncVma6x7j+DPR6nHwmTvMb/kQtbtO4/KR5si7ipXbzlxc2wN7fuP1m5kHz5I2y8D1LIy0S67j+q+fQiQ0OSvFBO3p+Cve4/S45m12zKhby6B8pw8cDuPyfOkSv8r3E8kPCjgpHE7j+7cwrhNdJtPCMj4xljyO4/YyJiIgTFh7xl5V17ZszuP9Ux4uOGHIs8My1K7JvQ7j8Vu7zT0buRvF0lPrID1e4/0jHunDHMkDxYszATntnuP7Nac26EaYQ8v/15VWve7j+0nY6Xzd+CvHrz079r4+4/hzPLkncajDyt01qZn+juP/rZ0UqPe5C8ZraNKQfu7j+6rtxW2cNVvPsVT7ii8+4/QPamPQ6kkLw6WeWNcvnuPzSTrTj01mi8R1778nb/7j81ilhr4u6RvEoGoTCwBe8/zd1fCtf/dDzSwUuQHgzvP6yYkvr7vZG8CR7XW8IS7z+zDK8wrm5zPJxShd2bGe8/lP2fXDLjjjx60P9fqyDvP6xZCdGP4IQ8S9FXLvEn7z9nGk44r81jPLXnBpRtL+8/aBmSbCxrZzxpkO/cIDfvP9K1zIMYioC8+sNdVQs/7z9v+v8/Xa2PvHyJB0otR+8/Sal1OK4NkLzyiQ0Ih0/vP6cHPaaFo3Q8h6T73BhY7z8PIkAgnpGCvJiDyRbjYO8/rJLB1VBajjyFMtsD5mnvP0trAaxZOoQ8YLQB8yFz7z8fPrQHIdWCvF+bezOXfO8/yQ1HO7kqibwpofUURobvP9OIOmAEtnQ89j+L5y6Q7z9xcp1R7MWDPINMx/tRmu8/8JHTjxL3j7zakKSir6TvP310I+KYro288WeOLUiv7z8IIKpBvMOOPCdaYe4buu8/Muupw5QrhDyXums3K8XvP+6F0TGpZIo8QEVuW3bQ7z/t4zvkujeOvBS+nK392+8/nc2RTTuJdzzYkJ6BwefvP4nMYEHBBVM88XGPK8Lz7z8AAAAAAADwPwAAAAAAAPg/AAAAAAAAAAAG0M9D6/1MPgBBi8cDC2VAA7jiP0+7YQVnrN0/GC1EVPsh6T+b9oHSC3PvPxgtRFT7Ifk/4mUvIn8rejwHXBQzJqaBPL3L8HqIB3A8B1wUMyamkTwYLURU+yHpPxgtRFT7Iem/0iEzf3zZAkDSITN/fNkCwABB/8cDC+gVgBgtRFT7IQlAGC1EVPshCcADAAAABAAAAAQAAAAGAAAAg/miAERObgD8KRUA0VcnAN009QBi28AAPJmVAEGQQwBjUf4Au96rALdhxQA6biQA0k1CAEkG4AAJ6i4AHJLRAOsd/gApsRwA6D6nAPU1ggBEuy4AnOmEALQmcABBfl8A1pE5AFODOQCc9DkAi1+EACj5vQD4HzsA3v+XAA+YBQARL+8AClqLAG0fbQDPfjYACcsnAEZPtwCeZj8ALepfALondQDl68cAPXvxAPc5BwCSUooA+2vqAB+xXwAIXY0AMANWAHv8RgDwq2sAILzPADb0mgDjqR0AXmGRAAgb5gCFmWUAoBRfAI1AaACA2P8AJ3NNAAYGMQDKVhUAyahzAHviYABrjMAAGcRHAM1nwwAJ6NwAWYMqAIt2xACmHJYARK/dABlX0QClPgUABQf/ADN+PwDCMugAmE/eALt9MgAmPcMAHmvvAJ/4XgA1HzoAf/LKAPGHHQB8kCEAaiR8ANVu+gAwLXcAFTtDALUUxgDDGZ0ArcTCACxNQQAMAF0Ahn1GAONxLQCbxpoAM2IAALTSfAC0p5cAN1XVANc+9gCjEBgATXb8AGSdKgBw16sAY3z4AHqwVwAXFecAwElWADvW2QCnhDgAJCPLANaKdwBaVCMAAB+5APEKGwAZzt8AnzH/AGYeagCZV2EArPtHAH5/2AAiZbcAMuiJAOa/YADvxM0AbDYJAF0/1AAW3tcAWDveAN6bkgDSIigAKIboAOJYTQDGyjIACOMWAOB9ywAXwFAA8x2nABjgWwAuEzQAgxJiAINIAQD1jlsArbB/AB7p8gBISkMAEGfTAKrd2ACuX0IAamHOAAoopADTmbQABqbyAFx3fwCjwoMAYTyIAIpzeACvjFoAb9e9AC2mYwD0v8sAjYHvACbBZwBVykUAytk2ACio0gDCYY0AEsl3AAQmFAASRpsAxFnEAMjFRABNspEAABfzANRDrQApSeUA/dUQAAC+/AAelMwAcM7uABM+9QDs8YAAs+fDAMf4KACTBZQAwXE+AC4JswALRfMAiBKcAKsgewAutZ8AR5LCAHsyLwAMVW0AcqeQAGvnHwAxy5YAeRZKAEF54gD034kA6JSXAOLmhACZMZcAiO1rAF9fNgC7/Q4ASJq0AGekbABxckIAjV0yAJ8VuAC85QkAjTElAPd0OQAwBRwADQwBAEsIaAAs7lgAR6qQAHTnAgC91iQA932mAG5IcgCfFu8AjpSmALSR9gDRU1EAzwryACCYMwD1S34AsmNoAN0+XwBAXQMAhYl/AFVSKQA3ZMAAbdgQADJIMgBbTHUATnHUAEVUbgALCcEAKvVpABRm1QAnB50AXQRQALQ72wDqdsUAh/kXAElrfQAdJ7oAlmkpAMbMrACtFFQAkOJqAIjZiQAsclAABKS+AHcHlADzMHAAAPwnAOpxqABmwkkAZOA9AJfdgwCjP5cAQ5T9AA2GjAAxQd4AkjmdAN1wjAAXt+cACN87ABU3KwBcgKAAWoCTABARkgAP6NgAbICvANv/SwA4kA8AWRh2AGKlFQBhy7sAx4m5ABBAvQDS8gQASXUnAOu29gDbIrsAChSqAIkmLwBkg3YACTszAA6UGgBROqoAHaPCAK/trgBcJhIAbcJNAC16nADAVpcAAz+DAAnw9gArQIwAbTGZADm0BwAMIBUA2MNbAPWSxADGrUsATsqlAKc3zQDmqTYAq5KUAN1CaAAZY94AdozvAGiLUgD82zcArqGrAN8VMQAArqEADPvaAGRNZgDtBbcAKWUwAFdWvwBH/zoAavm5AHW+8wAok98Aq4AwAGaM9gAEyxUA+iIGANnkHQA9s6QAVxuPADbNCQBOQukAE76kADMjtQDwqhoAT2WoANLBpQALPw8AW3jNACP5dgB7iwQAiRdyAMamUwBvbuIA7+sAAJtKWADE2rcAqma6AHbPzwDRAh0AsfEtAIyZwQDDrXcAhkjaAPddoADGgPQArPAvAN3smgA/XLwA0N5tAJDHHwAq27YAoyU6AACvmgCtU5MAtlcEACkttABLgH4A2genAHaqDgB7WaEAFhIqANy3LQD65f0Aidv+AIm+/QDkdmwABqn8AD6AcACFbhUA/Yf/ACg+BwBhZzMAKhiGAE296gCz568Aj21uAJVnOQAxv1sAhNdIADDfFgDHLUMAJWE1AMlwzgAwy7gAv2z9AKQAogAFbOQAWt2gACFvRwBiEtIAuVyEAHBhSQBrVuAAmVIBAFBVNwAe1bcAM/HEABNuXwBdMOQAhS6pAB2ywwChMjYACLekAOqx1AAW9yEAj2nkACf/dwAMA4AAjUAtAE/NoAAgpZkAs6LTAC9dCgC0+UIAEdrLAH2+0ACb28EAqxe9AMqigQAIalwALlUXACcAVQB/FPAA4QeGABQLZACWQY0Ah77eANr9KgBrJbYAe4k0AAXz/gC5v54AaGpPAEoqqABPxFoALfi8ANdamAD0x5UADU2NACA6pgCkV18AFD+xAIA4lQDMIAEAcd2GAMnetgC/YPUATWURAAEHawCMsKwAssDQAFFVSAAe+w4AlXLDAKMGOwDAQDUABtx7AOBFzABOKfoA1srIAOjzQQB8ZN4Am2TYANm+MQCkl8MAd1jUAGnjxQDw2hMAujo8AEYYRgBVdV8A0r31AG6SxgCsLl0ADkTtABw+QgBhxIcAKf3pAOfW8wAifMoAb5E1AAjgxQD/140AbmriALD9xgCTCMEAfF10AGutsgDNbp0APnJ7AMYRagD3z6kAKXPfALXJugC3AFEA4rINAHS6JADlfWAAdNiKAA0VLACBGAwAfmaUAAEpFgCfenYA/f2+AFZF7wDZfjYA7NkTAIu6uQDEl/wAMagnAPFuwwCUxTYA2KhWALSotQDPzA4AEoktAG9XNAAsVokAmc7jANYguQBrXqoAPiqcABFfzAD9C0oA4fT7AI47bQDihiwA6dSEAPy0qQDv7tEALjXJAC85YQA4IUQAG9nIAIH8CgD7SmoALxzYAFO0hABOmYwAVCLMACpV3ADAxtYACxmWABpwuABplWQAJlpgAD9S7gB/EQ8A9LURAPzL9QA0vC0ANLzuAOhdzADdXmAAZ46bAJIz7wDJF7gAYVibAOFXvABRg8YA2D4QAN1xSAAtHN0ArxihACEsRgBZ89cA2XqYAJ5UwABPhvoAVgb8AOV5rgCJIjYAOK0iAGeT3ABV6KoAgiY4AMrnmwBRDaQAmTOxAKnXDgBpBUgAZbLwAH+IpwCITJcA+dE2ACGSswB7gkoAmM8hAECf3ADcR1UA4XQ6AGfrQgD+nd8AXtRfAHtnpAC6rHoAVfaiACuIIwBBulUAWW4IACEqhgA5R4MAiePmAOWe1ABJ+0AA/1bpABwPygDFWYoAlPorANPBxQAPxc8A21quAEfFhgCFQ2IAIYY7ACx5lAAQYYcAKkx7AIAsGgBDvxIAiCaQAHg8iQCoxOQA5dt7AMQ6wgAm9OoA92eKAA2SvwBloysAPZOxAL18CwCkUdwAJ91jAGnh3QCalBkAqCmVAGjOKAAJ7bQARJ8gAE6YygBwgmMAfnwjAA+5MgCn9Y4AFFbnACHxCAC1nSoAb35NAKUZUQC1+asAgt/WAJbdYQAWNgIAxDqfAIOioQBy7W0AOY16AIK4qQBrMlwARidbAAA07QDSAHcA/PRVAAFZTQDgcYAAQfPdAwuVEED7Ifk/AAAAAC1EdD4AAACAmEb4PAAAAGBRzHg7AAAAgIMb8DkAAABAICV6OAAAAIAiguM2AAAAAB3zaTUAARcCHRgTAx4bGQsUCAQNHxYcEhoKBwwVEQkGEAUPDk5vIGVycm9yIGluZm9ybWF0aW9uAElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE11bHRpaG9wIGF0dGVtcHRlZAAAAAAApQJbAPABtQWMBSUBgwYdA5QE/wDHAzEDCwa8AY8BfwPKBCsA2gavAEIDTgPcAQ4EFQChBg0BlAILAjgGZAK8Av8CXQPnBAsHzwLLBe8F2wXhAh4GRQKFAIICbANvBPEA8wMYBdkA2gNMBlQCewGdA70EAABRABUCuwCzA20A/wGFBC8F+QQ4AGUBRgGfALcGqAFzAlMBAEG47gMLDCEEAAAAAAAAAAAvAgBB2O4DCwY1BEcEVgQAQe7uAwsCoAQAQYLvAwuIAUYFYAVuBWEGAADPAQAAAAAAAAAAyQbpBvkGAAAAAAL/AARkACAAAAT//wYAAQABAAEA//8B/wH//////wH/Af8B/wH/Af8B/wH/Af//////Cv8gAP//A/8B/wT/HgAAAQX//////2MAAAhjAOgDAgAAAP//////AAAAAf8B//////////////8AQZnwAwsBBABBpvADC0QB/wH//////wABIAAEAIAAAAj//wH/Af////////8B/wb/B/8I/wn//////7wCvAIBAP//AQABAP//AAD//////////wBB+vADCwEUAEGa8QMLHv//AQAK////////////Af8B/wAAAAAAAAH/Af8B/wBByvEDC0gB/wAAAAAAAAH/Af8BAAAAAQAAAAH//////wAAAAAB////AAAAAP////////////8oAAr//////wEACv////8A//////////8AQfbyAwscAf8B////AQD//////////////////wr//////wBBoPMDCx8BAAAAAQAAAQABAAD+//9/AAAAALAEAAAoAAAAAAABAEHg9AMLARQAQez0AwsB+gBBm/UDCwFAAEGs9QMLCP7//3////9/AEHM9QMLKQcAAAADAAAANAAAAAACAAAAAAAAQAUAAAR1AABzAAAAdAAAAHUAAAB2AEGI9gMLRXcAAAB4AAAAeQAAAHoAAAB7AAAAfAAAAH0AAAB+AAAAAwAAADQAAAAAAgAAAAAAABUzAAAIdQAAcwAAAHQAAAB1AAAAdgBB4PYDC0V3AAAAeAAAAHkAAAB6AAAAewAAAHwAAAB9AAAAfgAAAAMAAAA0AAAAAAIAAAAAAAD+MwAADHUAAHMAAAB0AAAAdQAAAHYAQbj3AwtFdwAAAHgAAAB5AAAAegAAAHsAAAB8AAAAfQAAAH4AAAADAAAANAAAAAACAAAAAAAAjCsAAAR1AABzAAAAdAAAAHUAAAB2AEGQ+AMLJHcAAAB4AAAAeQAAAHoAAAB7AAAAfAAAAH0AAAB+AAAAAAAAQABBwPgDC27bKQAAlAAAAAAAAADmMQAAlQAAAAAAAAAcEAAAlgAAAAAAAABNNwAAlwAAAAAAAADJDAAAmAAAAAAAAACzDAAAmQAAAAAAAADAMAAAmgAAAAAAAADbKgAAmwAAAAAAAADfPQAAnAAAAAAAAADePQBBuPkDCwK0WABBxPkDCw5LMAAAnQAAAAAAAABKMABB3PkDCwKrWABB6PkDCw5zNwAAngAAAAAAAAC2MABBgPoDC2IELAAAnwAAAAAAAABZBAAAoAAAAAAAAABjIQAAoQAAAAAAAABdIQAAogAAAAAAAABUJQAAowAAAAAAAABTOAAApAAAAAAAAACDJAAApQAAAAAAAAB8JAAApgAAAAAAAACIJABB7PoDCyYTLwAApwAAAAAAAAALLAAAqAAAAAAAAACtDAAAqQAAAAAAAADhKgBBqPsDCw4+JAAANSQAAEIkAABfXgBBwPsDCxbYRQAASk8AAC9HAAAeSgAA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","logReadFiles","lastChar","Values map doesn't contain: ","ucmp","SetCamera","isArrayBuffer","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f","base","ERR_BAD_OPTION_VALUE","isSharedArrayBuffer","implicit","removeAllListeners","_wnafMulAdd","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375","needDrain",'Expected "actual" not to be loosely deep-equal to:',"00000000000000","Buffer","fromRed","getPublicKey","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821","writeUint32LE","hmac","_updateDecrypt","jacobian","a24","_move","reset","createSign","unknown padding","explicit","bignum","getKey","URIError","tick","_keySchedule","getGenerator","_initNamed","getMaxListeners","endsWith","isLegacyArguments","stream.push() after EOF","ReadableState","_randrange","0000000000","f32d","RSAPrivateKey","_el","SHA-256","getr","ms exceeded","Hash","alteredUse","edwards","deriveBits","arraybuffer","7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","worldDirection","GetModelTransform","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed","def","Database","__CANCEL__","getUTCFullYear","operator","_finalOrDigest","PickWorldPosition","3086d221a7d46bcde86c90e49284eb15"," and <= ","[object WeakMap]","swap32","ishln","des","ed25519","queueMicrotask","makeKey","\\\\?\\","_maxwellTrick","_sqlite3_value_bytes","file","visibleModelBox"," unsupported","join32","_sqlite3_column_name","canvas","restore","startTime","Number","readDoubleLE","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd","float","done","needReadable","encryptBlock","Assertion failed","onreadystatechange","consume","unistr","node","isMap","75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","async function () {}","wrapped data","000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409","exports","fromPrivate","Base should be between 2 and 36","for","00000000000000000000000"," is not supported (we accept pull requests)","partial","directionWC","multipart/form-data","DSAPrivateKey","invalid iv length ","Unknown tag: ","getHashes","points","Network Error",'Failed to get length of "',"be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e","d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","1.2.840.10040.4.1","foo","parseBytes","numstr","code","bind","Buffer.write(string, encoding, offset[, length]) is no longer supported","of ","writeFloatLE","utf8","return this","_endoWnafT2","e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","FormData","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a","_initNumber","mod","_encodePrimitive","getUri","setAuthTag","pipe","_verify2","readBigInt64LE","_writableState","track","can't switch encodings","sqlite3_finalize","redNeg works only with red numbers","./this.program","_finalSize","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f","754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","parse","first","eqn","unused","216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","md5","\\$&","rename","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda","_ch","onabort","bufferedRequest","_sqlite3_free","publicDecrypt","responseURL"," [Function","getBuffer","7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","grey","_sqlite3_exec","pem","div","writableLength","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7","setPublicKey","imul","SetInstancesStatus","_reseed","algorithm","EventEmitter","Decoding ","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b","Unsupported type: ","proxy-authorization","_decodeInt","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d","b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4","g0_256","shr64_hi","_verify1","zeroBits","allocUnsafeSlow","ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff","synchronous","hashInt","modn","paths","validity","errorEmitted","round","copy","_createNamed","des-ede","writeUInt32BE","_parseBase","pathLen","_forceRed","iters","getOwnPropertyNames","_sqlite3_value_type","leaveKey","_modelList","notStrictEqual","basis","defineProperty","fromTwos","setMaxListeners","_undestroy","Symbol",".UTF-8","replace","16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","isBuf","strict","isRegExp","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac","onAbort","number string number number number number number number number","subjectPublicKeyInfo","call pause flowing=%j","urandom","ERR_TRANSFORM_WITH_LENGTH_0","wrong public key type","curveType","padLength","preInit","4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","onwrite","stream.unshift() after end event","min","827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","isGeneratorFunction","flush","e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","null_","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a","getX","_createEncoderBuffer","_maxListeners","ft_1","_finalEncrypt","Requested array length <= 0","324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","Cipheriv","_al","1hQWsTe","146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","getRandomValues","toString","readableBuffer","Expected values to be loosely equal:","createCipheriv","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45","NODE_DEBUG","subtle","[object SharedArrayBuffer]","string","2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","SetModelStoreyStatus","randomFillSync","CancelOperatingTransform","Expected values to be strictly deep-equal:","boxMin","%s %d: %s","_decoder","unknown filename","assert","decoders","protocol","deepStrictEqual","redISub","withCredentials","isWebAssemblyCompiledModule","b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","abs","host","cancelToken","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51","rdev","494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","_tmp","DecoderBuffer overrun","[object process]","ifError got unwanted exception: ","Extension","49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","isNaN","setGenerator","subscribe","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84","_skipDefault","persEnc","createCredentials","WeakSet","SetModelTransform","get","String.prototype.indexOf","SHA-1","Trace","sqlite3_bind_double","pc1","notDeepStrictEqual","Error","recoveryParam","charstr","stream","expires=","Aug","contains","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17",'The value of "n" is out of range. It must be a non-negative number. Received ',"eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"," and ","_zeroDbl","randomDevice","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9","toUTCString","signature","stackStartFn","_sqlite3_column_bytes","end","getComponent","[object Set]","dataStoreObject","toHex","zOne","next","_primeCode","a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","Uint16Array","The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type ","rmd160","Password","handleError","createPotentiallyVisibleSet","AssertionError","encodingLength","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868","opad","priv_key","customizeMaterialCount","send","__prime"," It must be ","Digest already called","MAX_STRING_LENGTH","preloadedImages","CancelToken","Invalid character","1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","dbfile_","platform","blockSize","val2","print","this hasn't been initialised - super() hasn't been called","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001","newListener","ReactNative","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff","readUint8","intFromLE","TypedArray"," must be ","_sqlite3_sql","isTTY","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec","getNAF","dataOffsetStart","config","charCodeAt","gcd","BEGIN","number","writeDoubleLE","_sqlite3_result_error","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b","decodeStrings","dev","arrayBufferBlockCount","_transformState","writable","[object Error]","Input: ","uxor","codes","buffer","No callback provided to pbkdf2","modelDbModelIdList","CreateMaterial","styles","finalCalled","format","executor must be a function.","emitReadable","indexOf","outSize","iterator","caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","data not multiple of block length","...","progress","0000000000000000000000","recoverPubKey","Statement closed","_updateEncrypt","ipad1","from","_sqlite3_step","may not be an empty object","Request failed with status code "," pub: ","bigint","EC PRIVATE KEY","Duplex","callee","sum64_lo","Invalid flags passed to unlinkat","ERR_BAD_REQUEST","SetExpressTypeWeights","priv","passphrase","[object ArrayBuffer]","defaultBuffer","toStringTag","htonl","generatedMessage","Super expression must either be null or a function","_sqlite3_value_blob"," or ","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8","[object Object]","transforming","expressTypeWeightsArrayBuff","Expected values to be loosely deep-equal:","_importPublic","[object Function]","6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","divRound","_iaddn","keySize","des-ecb","ETIMEDOUT","getAsObject","offset","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448","sunDirection","Got unwanted ","mousePosition"," z: ","mousemove","outer","invalid point","Attempt to access memory outside buffer bounds","readUIntLE","_sqlite3_value_int","_endoWnafMulAdd","heartbeat","isObject","Unknown point format","_hash","b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef","readdir","createHmac","[object Map]","cipher","_peekTag","__final","isOdd",`Secure random number generation is not supported by this browser. Use Chrome, Firefox or Internet Explorer 11`,"textBuffer","_hl","responseType","binary","equals","Decoding of string type: bmpstr length mismatch","iii","[object RegExp]","ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","prime256v1","ucs2","62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811","invalid key length ","Argument must be a Buffer","\x1B[31m","Choice not matched","/proc/self/fd","modelArrayBuff","mont","defineProperties","setHeader","getRemainingSQL","module","assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.","map","boxMax","i16","Oct","splice","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f","Content-Type","/dev/shm/tmp",") and < 2 ** ","invalid suite type","Readable","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","argument","intrinsic name must be a non-empty string","+ actual","certificate","_init","indices","ino","eqXToP","atime","Number is too big","0000000000000000000000000","publicExponent","ECPrivateKey","String.prototype.slice","_desState","zero","save","clone","_ipad","_texture","writeUInt8","getPrime","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865","doesNotReject","showHidden",'"cb" argument must be a function',"privateKey","rotr32","_threeDbl",">= 0","toFlatObject","red","kdeparams","reject","resumeScheduled","<EC Point x: ","Not enough data to decrypt","listCiphers","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120","_prev","sqlite3_sql","Aborted(","hrtime","writeUint16LE","HEAP16","Wrong API use : tried to return a value of an unknown type (","da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","baseURI","writeIntLE","diffAdd","getPublic","zero8","_buffer","[object Array]","createCipher","sum64_4_hi","9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","application/json","options","_sqlite3_normalized_sql","Int16Array","sqlite3_column_type","HideModel","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73","dataType","redAdd works only with red numbers","unknown key id ","_sqlite3_open","Module.instantiateWasm callback failed with error: ","readyState","enc","createElement","invalid type for getValue: ","ERR_STREAM_DESTROYED","readFloatLE",'Expected "actual" to be reference-equal to "expected":',"textE","wrong private key type","f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","destroyed","upWC","poolSize","000000000000000000000","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573",'The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ',"_sqlite3_prepare_v2","_fromList","213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","getOwnPropertyDescriptors","nlink","frustumCommandsList","isSymbolObject","BigInt64Array","lten","notEqual","_projDbl",'"use strict"; return (',"precomputed","onend","sqlite3_bind_text","pipeline","5928348HmbANH","instantiateStreaming","BigInt not supported","makeSignature","kMaxLength","unshift","Nov","inherits","need readable","readable","split","948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","Arguments to path.join must be strings","_autopadding",'{"aes-128-ecb":{"cipher":"AES","key":128,"iv":0,"mode":"ECB","type":"block"},"aes-192-ecb":{"cipher":"AES","key":192,"iv":0,"mode":"ECB","type":"block"},"aes-256-ecb":{"cipher":"AES","key":256,"iv":0,"mode":"ECB","type":"block"},"aes-128-cbc":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes-192-cbc":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes-256-cbc":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes128":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes192":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes256":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes-128-cfb":{"cipher":"AES","key":128,"iv":16,"mode":"CFB","type":"stream"},"aes-192-cfb":{"cipher":"AES","key":192,"iv":16,"mode":"CFB","type":"stream"},"aes-256-cfb":{"cipher":"AES","key":256,"iv":16,"mode":"CFB","type":"stream"},"aes-128-cfb8":{"cipher":"AES","key":128,"iv":16,"mode":"CFB8","type":"stream"},"aes-192-cfb8":{"cipher":"AES","key":192,"iv":16,"mode":"CFB8","type":"stream"},"aes-256-cfb8":{"cipher":"AES","key":256,"iv":16,"mode":"CFB8","type":"stream"},"aes-128-cfb1":{"cipher":"AES","key":128,"iv":16,"mode":"CFB1","type":"stream"},"aes-192-cfb1":{"cipher":"AES","key":192,"iv":16,"mode":"CFB1","type":"stream"},"aes-256-cfb1":{"cipher":"AES","key":256,"iv":16,"mode":"CFB1","type":"stream"},"aes-128-ofb":{"cipher":"AES","key":128,"iv":16,"mode":"OFB","type":"stream"},"aes-192-ofb":{"cipher":"AES","key":192,"iv":16,"mode":"OFB","type":"stream"},"aes-256-ofb":{"cipher":"AES","key":256,"iv":16,"mode":"OFB","type":"stream"},"aes-128-ctr":{"cipher":"AES","key":128,"iv":16,"mode":"CTR","type":"stream"},"aes-192-ctr":{"cipher":"AES","key":192,"iv":16,"mode":"CTR","type":"stream"},"aes-256-ctr":{"cipher":"AES","key":256,"iv":16,"mode":"CTR","type":"stream"},"aes-128-gcm":{"cipher":"AES","key":128,"iv":12,"mode":"GCM","type":"auth"},"aes-192-gcm":{"cipher":"AES","key":192,"iv":12,"mode":"GCM","type":"auth"},"aes-256-gcm":{"cipher":"AES","key":256,"iv":12,"mode":"GCM","type":"auth"}}',"redN","d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","_encodeBool","constructor","exec","114ca50f7a8e2f3f657c1108d9d44cfd8","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c","timeout of ","arrayBuffer","3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","publicEncrypt","_listeners","isView","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224","crypto","_textureTarget","_toString","export","hybrid","CancelComponentEditMaterial","-----END ","_edeState","isTypedArray","a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","isStandardBrowserEnv","da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","pointFromJSON","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1","isInfinity","Cannot call ","getNormalizedSQL","serialNumber","000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3","lastIndexOf","No such label: ","setAutoPadding","trim","948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","exponent1","8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","targetStart out of bounds","redISqr","_eh","Basic ","a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","fun","_digest is not implemented","readableLength","sqlite3_value_bytes","Encoding of string type: numstr supports only digits and space","renderWidthHeight","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6","The recovery param is more than two bits","invalid intrinsic syntax, expected closing `%`","_extDbl","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","RegExp","WebKitMutationObserver","unable to decrypt data","far","000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc","PRIVATE KEY","fromPublic","1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed","requested too many random bytes","deriveKeys","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695","52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","Reporter","toDER","sum32_4","tagClass","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc","eddsa","_toArrayLikeLE","byteOffset","unpipe","_gen","188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","getHighWaterMark","_bh","85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","optional","_finID","ERR_STREAM_NULL_VALUES","3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","writev","[Axios v","readUint16BE","uor","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","isZero","jpoint","flowing","Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.","sum64_hi","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da","nmd"," must be specified","AddStore","basename","traceDeprecation","etag","At least one arg needs to be specified","onloadend",'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array',"encode","4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","-----","_update must be implemented by subclass","shim","meshInstancesCount","and","expressTypeWeightsDataView","Validity","generateKeys","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672","readBigUInt64LE","_getNAFPoints","ushrn","959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","pub_key","getSecret","setStatus","_malloc","SetComponentStatus","_hashType","5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","Writable","d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","padding","writeInt8","forcedJSONParsing","encoding","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f","add","then","INV_SBOX","Child expected, but input is not object","KeyPair can only verify","pipe resume","186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","run","3067810OvKBOC","Promise","keyFromPublic","sha","createVerify","content-type","isUint16Array","7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","_wnafMul","_decodeGeneric","emittedReadable","onEofChunk","fromRed works only with numbers in reduction context","f32","toPrimitive","setTimeout","open","Invalid public key"];return ble=function(){return o},ble()}(function(o,A){for(var f=Ut,m=o();[];)try{var C=-parseInt(f(1885))/1*(parseInt(f(1389))/2)+-parseInt(f(208))/3*(-parseInt(f(871))/4)+parseInt(f(2753))/5*(parseInt(f(2757))/6)+-parseInt(f(2742))/7+-parseInt(f(851))/8*(parseInt(f(456))/9)+parseInt(f(2408))/10*(-parseInt(f(1507))/11)+parseInt(f(2249))/12*(parseInt(f(1357))/13);if(C===A)break;m.push(m.shift())}catch{m.push(m.shift())}})(ble,800498),function(o,A){var f=Ut;typeof exports=="object"&&f(1499)==typeof module?module[f(1729)]=A():f(1451)==typeof define&&define.amd?define([],A):f(1499)==typeof exports?exports[f(1425)]=A():o[f(1425)]=A()}(self||void 0,()=>{var o=Ut,A={29608:(B,Q,T)=>{var w=Ut;function S(L){return M=M||new Promise(function(F,k){var N=Ut,G,J,K,X,q,ee,ie,H,le,ue=L!==void 0?L:{},Ae=ue.onAbort,mi=(ue[N(1856)]=function(Fe){k(new Error(Fe)),Ae&&Ae(Fe)},ue.postRun=ue[N(1445)]||[],ue[N(1445)].push(function(){F(ue)}),B=void 0,(G=G||(ue!==void 0?ue:{}))[N(311)]=function(){var Fe=N;function it(vi,gr){this.Ka=vi,this.db=gr,this.Ia=1,this.cb=[]}function ht(vi,gr){var Kr=Ut;if(this.db=gr,gr=et(vi)+1,this.Xa=D0(gr),this.Xa===null)throw Error(Kr(317));Xe(vi,ke,this.Xa,gr),this.bb=this.Xa,this.Ta=this.hb=null}function Tt(vi,gr){var Kr=Ut;if(this[Kr(325)]=Kr(1990)+(4294967295*Math.random()>>>0),vi!=null){var xn=this[Kr(325)],Pn=xn;if(to=Kr(1896)==typeof(to="/")?to:Un(to),Pn=xn?Pt(to+"/"+xn):to,xn=Mo(!0,!0),Pn=Id(Pn,4095&(xn!==void 0?xn:438)|32768,0),vi){if(Kr(1896)==typeof vi){for(var to=Array(vi[Kr(1383)]),vs=0,zo=vi[Kr(1383)];vs<zo;++vs)to[vs]=vi[Kr(2010)](vs);vi=to}en(Pn,146|xn),to=Cn(Pn,577),bo(to,vi,0,vi.length,0,gr),Mn(to),en(Pn,xn)}}this[Kr(1973)](Ji(this[Kr(325)],ai)),this.db=se(ai,"i32"),sr(this.db),this.Ya={},this.Qa={}}var ai=lt(4),Ii=G[Fe(749)],Ji=Ii(Fe(406),Fe(2013),[Fe(1896),Fe(2013)]),xr=Ii("sqlite3_close_v2",Fe(2013),[Fe(2013)]),$n=Ii("sqlite3_exec",Fe(2013),[Fe(2013),Fe(1896),"number",Fe(2013),"number"]),Ds=Ii(Fe(675),Fe(2013),[Fe(2013)]),hA=Ii(Fe(1294),Fe(2013),[Fe(2013),Fe(1896),Fe(2013),"number",Fe(2013)]),sc=Ii(Fe(2187),Fe(1896),[Fe(2013)]),Zu=Ii("sqlite3_normalized_sql","string",[Fe(2013)]),tf=Ii(Fe(1294),Fe(2013),[Fe(2013),Fe(2013),"number",Fe(2013),"number"]),rf=Ii(Fe(2247),Fe(2013),[Fe(2013),Fe(2013),Fe(2013),Fe(2013),Fe(2013)]),as=Ii("sqlite3_bind_blob",Fe(2013),["number",Fe(2013),"number",Fe(2013),"number"]),T0=Ii(Fe(1939),"number",[Fe(2013),"number","number"]),pm=Ii(Fe(583),Fe(2013),["number",Fe(2013),Fe(2013)]),vd=Ii("sqlite3_bind_parameter_index","number",[Fe(2013),Fe(1896)]),Uc=Ii(Fe(826),Fe(2013),[Fe(2013)]),s1=Ii(Fe(374),Fe(1896),["number"]),lc=Ii(Fe(1414),Fe(2013),["number"]),Bd=Ii("sqlite3_data_count","number",[Fe(2013)]),M0=Ii(Fe(993),"number",[Fe(2013),"number"]),wd=Ii(Fe(1111),Fe(1896),[Fe(2013),Fe(2013)]),Mf=Ii(Fe(1158),"number",[Fe(2013),"number"]),FC=Ii(Fe(1330),Fe(2013),[Fe(2013),Fe(2013)]),Ou=Ii(Fe(2208),"number",[Fe(2013),Fe(2013)]),vc=Ii(Fe(632),Fe(1896),["number","number"]),Pf=Ii(Fe(1010),"number",["number"]),iy=Ii("sqlite3_clear_bindings","number",[Fe(2013)]),mm=Ii(Fe(1774),Fe(2013),[Fe(2013)]),Cm=Ii("sqlite3_create_function_v2",Fe(2013),Fe(1857)[Fe(2259)](" ")),l1=Ii("sqlite3_value_type",Fe(2013),[Fe(2013)]),Xv=Ii(Fe(2313),Fe(2013),["number"]),Zv=Ii(Fe(782),"string",[Fe(2013)]),NE=Ii(Fe(564),"number",[Fe(2013)]),bp=Ii("sqlite3_value_double",Fe(2013),[Fe(2013)]),Em=Ii(Fe(335),"",[Fe(2013),"number"]),ry=Ii("sqlite3_result_null","",["number"]),Qp=Ii("sqlite3_result_text","",[Fe(2013),Fe(1896),Fe(2013),Fe(2013)]),ug=Ii(Fe(2745),"",[Fe(2013),"number","number",Fe(2013)]),ny=Ii("sqlite3_result_int","",[Fe(2013),Fe(2013)]),uc=Ii("sqlite3_result_error","",[Fe(2013),Fe(1896),Fe(2013)]),sr=Ii(Fe(1537),Fe(2013),[Fe(2013)]);it.prototype.bind=function(vi){var gr=Fe;if(this.Ka)return this[gr(1651)](),Array[gr(2507)](vi)?this.wb(vi):vi==null||gr(1499)!=typeof vi||this.xb(vi);throw gr(2044)},it[Fe(1166)][Fe(2584)]=function(){var vi=Fe;if(!this.Ka)throw"Statement closed";this.Ia=1;var gr=Uc(this.Ka);switch(gr){case 100:return!0;case 101:return!1;default:throw this.db[vi(1973)](gr)}},it.prototype.rb=function(vi){return vi==null&&(vi=this.Ia,this.Ia+=1),M0(this.Ka,vi)},it[Fe(1166)].Bb=function(vi){var gr=Fe;if(vi==null&&(vi=this.Ia,this.Ia+=1),vi=wd(this.Ka,vi),gr(1451)!=typeof BigInt)throw Error(gr(1399));return BigInt(vi)},it.prototype.Cb=function(vi){return vi==null&&(vi=this.Ia,this.Ia+=1),wd(this.Ka,vi)},it[Fe(1166)][Fe(2442)]=function(vi){vi==null&&(vi=this.Ia,this.Ia+=1);var gr=FC(this.Ka,vi);vi=Mf(this.Ka,vi);for(var Kr=new Uint8Array(gr),xn=0;xn<gr;xn+=1)Kr[xn]=Ge[vi+xn];return Kr},it[Fe(1166)][Fe(1935)]=function(vi,gr){var Kr=Fe;gr=gr||{},vi!=null&&this[Kr(1753)](vi)&&this[Kr(2584)](),vi=[];for(var xn=Bd(this.Ka),Pn=0;Pn<xn;Pn+=1)switch(Ou(this.Ka,Pn)){case 1:var to=gr.useBigInt?this.Bb(Pn):this.rb(Pn);vi[Kr(182)](to);break;case 2:vi.push(this.rb(Pn));break;case 3:vi[Kr(182)](this.Cb(Pn));break;case 4:vi.push(this[Kr(2442)](Pn));break;default:vi[Kr(182)](null)}return vi},it[Fe(1166)].getColumnNames=function(){for(var vi=Fe,gr=[],Kr=lc(this.Ka),xn=0;xn<Kr;xn+=1)gr[vi(182)](vc(this.Ka,xn));return gr},it[Fe(1166)][Fe(2083)]=function(vi,gr){var Kr=Fe;vi=this.get(vi,gr),gr=this[Kr(1591)]();for(var xn={},Pn=0;Pn<gr[Kr(1383)];Pn+=1)xn[gr[Pn]]=vi[Pn];return xn},it[Fe(1166)][Fe(2606)]=function(){return sc(this.Ka)},it[Fe(1166)][Fe(2294)]=function(){return Zu(this.Ka)},it[Fe(1166)][Fe(2407)]=function(vi){var gr=Fe;return vi!=null&&this[gr(1753)](vi),this[gr(2584)](),this[gr(1651)]()},it[Fe(1166)].mb=function(vi,gr){var Kr=Fe;gr==null&&(gr=this.Ia,this.Ia+=1);var xn=we(vi=wp(vi));this.cb[Kr(182)](xn),this.db[Kr(1973)](rf(this.Ka,gr,xn,vi[Kr(1383)]-1,0))},it[Fe(1166)].vb=function(vi,gr){var Kr=Fe;gr==null&&(gr=this.Ia,this.Ia+=1);var xn=we(vi);this.cb.push(xn),this.db[Kr(1973)](as(this.Ka,gr,xn,vi[Kr(1383)],0))},it[Fe(1166)].lb=function(vi,gr){var Kr=Fe;gr==null&&(gr=this.Ia,this.Ia+=1),this.db[Kr(1973)]((vi===(0|vi)?pm:T0)(this.Ka,gr,vi))},it[Fe(1166)].yb=function(vi){vi==null&&(vi=this.Ia,this.Ia+=1),as(this.Ka,vi,0,0,0)},it[Fe(1166)].nb=function(vi,gr){var Kr=Fe;switch(gr==null&&(gr=this.Ia,this.Ia+=1),typeof vi){case Kr(1896):return void this.mb(vi,gr);case Kr(2013):return void this.lb(vi,gr);case"bigint":return void this.mb(vi[Kr(1888)](),gr);case Kr(1015):return void this.lb(vi+0,gr);case"object":if(vi===null)return void this.yb(gr);if(vi.length!=null)return void this.vb(vi,gr)}throw Kr(1366)+vi+")."},it.prototype.xb=function(vi){var gr=Fe,Kr=this;return Object.keys(vi)[gr(2455)](function(xn){var Pn=vd(Kr.Ka,xn);Pn!==0&&Kr.nb(vi[xn],Pn)}),!0},it[Fe(1166)].wb=function(vi){for(var gr=0;gr<vi.length;gr+=1)this.nb(vi[gr],gr+1);return!0},it[Fe(1166)][Fe(1651)]=function(){return this.freemem(),iy(this.Ka)===0&&Pf(this.Ka)===0},it[Fe(1166)][Fe(2479)]=function(){for(var vi=Fe,gr;(gr=this.cb[vi(440)]())!==void 0;)Ni(gr)},it[Fe(1166)][Fe(996)]=function(){var vi=Fe;this[vi(2479)]();var gr=mm(this.Ka)===0;return delete this.db.Ya[this.Ka],this.Ka=0,gr},ht.prototype.next=function(){var vi=Fe;if(this.Xa===null)return{done:!0};if(this.Ta!==null&&(this.Ta[vi(996)](),this.Ta=null),!this.db.db)throw this.fb(),Error(vi(2704));var gr=bn(),Kr=lt(4);re(ai),re(Kr);try{this.db[vi(1973)](tf(this.db.db,this.bb,-1,ai,Kr)),this.bb=se(Kr,vi(1447));var xn=se(ai,vi(1447));return xn===0?(this.fb(),{done:!0}):(this.Ta=new it(xn,this.db),this.db.Ya[xn]=this.Ta,{value:this.Ta,done:!1})}catch(Pn){throw this.hb=Je(this.bb),this.fb(),Pn}finally{$e(gr)}},ht[Fe(1166)].fb=function(){Ni(this.Xa),this.Xa=null},ht[Fe(1166)][Fe(2132)]=function(){return this.hb!==null?this.hb:Je(this.bb)},Fe(1451)==typeof Symbol&&Fe(428)==typeof Symbol.iterator&&(ht[Fe(1166)][Symbol[Fe(2037)]]=function(){return this}),Tt[Fe(1166)][Fe(2407)]=function(vi,gr){var Kr=Fe;if(!this.db)throw"Database closed";if(gr){vi=this[Kr(1127)](vi,gr);try{vi[Kr(2584)]()}finally{vi[Kr(996)]()}}else this[Kr(1973)]($n(this.db,vi,0,0,ai));return this},Tt.prototype[Fe(2268)]=function(vi,gr,Kr){var xn=Fe;if(!this.db)throw xn(2704);var Pn=bn(),to=null;try{var vs=et(vi)+1,zo=lt(vs),Ha=(Xe(vi,Ge,zo,vs),zo),Gc=lt(4);for(vi=[];se(Ha,"i8")!==0;){re(ai),re(Gc),this[xn(1973)](tf(this.db,Ha,-1,ai,Gc));var $s=se(ai,xn(1447)),Ha=se(Gc,"i32");if($s!==0){for(vs=null,to=new it($s,this),gr!=null&&to[xn(1753)](gr);to[xn(2584)]();)vs===null&&(vs={columns:to.getColumnNames(),values:[]},vi.push(vs)),vs[xn(595)][xn(182)](to[xn(1935)](null,Kr));to.free()}}return vi}catch(Ac){throw to&&to[xn(996)](),Ac}finally{$e(Pn)}},Tt.prototype[Fe(210)]=function(vi,gr,Kr,xn,Pn){var to=Fe;to(1451)==typeof gr&&(xn=Kr,Kr=gr,gr=void 0),vi=this[to(1127)](vi,gr);try{for(;vi[to(2584)]();)Kr(vi[to(2083)](null,Pn))}finally{vi[to(996)]()}if(to(1451)==typeof xn)return xn()},Tt[Fe(1166)].prepare=function(vi,gr){var Kr=Fe;if(re(ai),this[Kr(1973)](hA(this.db,vi,-1,ai,0)),(vi=se(ai,Kr(1447)))===0)throw Kr(793);var xn=new it(vi,this);return gr!=null&&xn.bind(gr),this.Ya[vi]=xn},Tt[Fe(1166)][Fe(1407)]=function(vi){return new ht(vi,this)},Tt[Fe(1166)][Fe(2281)]=function(){var vi=Fe;Object[vi(595)](this.Ya)[vi(2455)](function(Kr){var xn=vi;Kr[xn(996)]()}),Object[vi(595)](this.Qa)[vi(2455)](z),this.Qa={},this[vi(1973)](xr(this.db));var gr=_a(this[vi(325)]);return this[vi(1973)](Ji(this[vi(325)],ai)),this.db=se(ai,"i32"),gr},Tt.prototype[Fe(420)]=function(){var vi=Fe;this.db!==null&&(Object[vi(595)](this.Ya)[vi(2455)](function(gr){var Kr=vi;gr[Kr(996)]()}),Object[vi(595)](this.Qa)[vi(2455)](z),this.Qa={},this[vi(1973)](xr(this.db)),ci("/"+this[vi(325)]),this.db=null)},Tt[Fe(1166)][Fe(1973)]=function(vi){if(vi===0)return null;throw vi=s1(this.db),Error(vi)},Tt.prototype.getRowsModified=function(){return Ds(this.db)},Tt[Fe(1166)].create_function=function(vi,gr){var Kr=Fe;Object[Kr(1166)][Kr(579)].call(this.Qa,vi)&&(z(this.Qa[vi]),delete this.Qa[vi]);var xn=function(Pn){var to=Kr;if(!H){H=new WeakMap;for(var vs=Ct[to(1383)],zo=0;zo<0+vs;zo++){var Ha=Ct[to(1935)](zo);Ha&&H[to(2573)](Ha,zo)}}if(H[to(1087)](Pn))return H[to(1935)](Pn);if(Y[to(1383)])vs=Y[to(440)]();else{try{Ct[to(206)](1)}catch($s){throw $s instanceof RangeError?to(2359):$s}vs=Ct[to(1383)]-1}try{Ct[to(2573)](vs,Pn)}catch($s){if(!($s instanceof TypeError))throw $s;if(typeof WebAssembly[to(2631)]=="function"){for(var Ha={i:to(1447),j:"i64",f:to(2421),d:to(2578)},Gc={parameters:[],results:[]},zo=1;zo<4;++zo)Gc[to(139)].push(Ha["viii"[zo]]);zo=new WebAssembly[to(2631)](Gc,Pn)}else{for(Gc={i:127,j:126,f:125,d:124},(Ha=[1,0,1,96])[to(182)](3),zo=0;zo<3;++zo)Ha.push(Gc[to(2116)[zo]]);Ha[to(182)](0),Ha[1]=Ha[to(1383)]-2,zo=new Uint8Array([0,97,115,109,1,0,0,0].concat(Ha,[2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0])),zo=new WebAssembly[to(2717)](zo),zo=new WebAssembly[to(886)](zo,{e:{f:Pn}})[to(1729)].f}Ct[to(2573)](vs,zo)}return H[to(2573)](Pn,vs),vs}(function(Pn,to,vs){for(var zo=Kr,Ha,Gc=[],$s=0;$s<to;$s+=1){var Ac=se(vs+4*$s,"i32");if((zg=l1(Ac))===1||zg===2)Ac=bp(Ac);else if(zg===3)Ac=Zv(Ac);else if(zg===4){for(var Ac=Xv(zg=Ac),zg=NE(zg),u1=new Uint8Array(Ac),P0=0;P0<Ac;P0+=1)u1[P0]=Ge[zg+P0];Ac=u1}else Ac=null;Gc[zo(182)](Ac)}try{Ha=gr[zo(2559)](null,Gc)}catch(A1){return void uc(Pn,A1,-1)}switch(typeof Ha){case zo(1015):ny(Pn,Ha?1:0);break;case zo(2013):Em(Pn,Ha);break;case zo(1896):Qp(Pn,Ha,-1,-1);break;case"object":Ha===null?ry(Pn):Ha[zo(1383)]!=null?(to=we(Ha),ug(Pn,to,Ha.length,-1),Ni(to)):uc(Pn,zo(2192)+Ha+").",-1);break;default:ry(Pn)}});return this.Qa[vi]=xn,this[Kr(1973)](Cm(this.db,vi,gr[Kr(1383)],1,0,xn,0,0,0)),this},G[Fe(1686)]=Tt},Object[N(1136)]({},G)),he="./this.program",ge=N(1499)==typeof window,fe=N(1451)==typeof importScripts,ae=N(1499)==typeof D&&N(1499)==typeof D.versions&&N(1896)==typeof D[N(557)][N(1723)],pi="",U=(ae?(pi=fe?T(62520)[N(1529)](pi)+"/":"//",ie=()=>{ee||(q=T(17354),ee=T(62520))},J=function(Fe,it){var ht=N;return ie(),Fe=ee.normalize(Fe),q.readFileSync(Fe,it?void 0:ht(1757))},X=Fe=>Fe=(Fe=J(Fe,!0))[N(2026)]?Fe:new Uint8Array(Fe),K=(Fe,it,ht)=>{var Tt=N;ie(),Fe=ee[Tt(834)](Fe),q[Tt(487)](Fe,function(ai,Ii){var Ji=Tt;ai?ht(ai):it(Ii[Ji(2026)])})},1<D[N(2474)].length&&(he=D.argv[1][N(1850)](/\\/g,"/")),D[N(2474)].slice(2),(B[N(1729)]=G)[N(1035)]=function(){var Fe=N;return Fe(270)}):(ge||fe)&&(fe?pi=self[N(1242)][N(315)]:typeof document<"u"&&document[N(1018)]&&(pi=document[N(1018)].src),pi=pi[N(2035)]("blob:")!==0?pi[N(2539)](0,pi.replace(/[?#].*/,"")[N(2298)]("/")+1):"",J=Fe=>{var it=N,ht=new XMLHttpRequest;return ht[it(2424)](it(799),Fe,!1),ht[it(1981)](null),ht.responseText},fe&&(X=Fe=>{var it=N,ht=new XMLHttpRequest;return ht[it(2424)](it(799),Fe,!1),ht.responseType="arraybuffer",ht[it(1981)](null),new Uint8Array(ht[it(345)])}),K=(Fe,it,ht)=>{var Tt=N,ai=new XMLHttpRequest;ai[Tt(2424)](Tt(799),Fe,!0),ai[Tt(2112)]=Tt(1679),ai[Tt(1481)]=()=>{var Ii=Tt;ai[Ii(2588)]==200||ai.status==0&&ai.response?it(ai[Ii(345)]):ht()},ai[Tt(1562)]=ht,ai.send(null)}),G[N(1994)]||R[N(196)][N(1753)](R)),W=G[N(2670)]||R[N(2699)].bind(R),Y=(Object.assign(G,mi),G.thisProgram&&(he=G[N(989)]),[]);function z(Fe){H.delete(Ct.get(Fe)),Y.push(Fe)}function re(Fe){var it=N,ht=it(1447);switch(ht=ht.charAt(ht[it(1383)]-1)==="*"?it(1447):ht){case"i1":case"i8":Ge[Fe>>0]=0;break;case it(2137):Oe[Fe>>1]=0;break;case it(1447):Le[Fe>>2]=0;break;case"i64":Qt=[0,(yt=0,1<=+Math[it(1914)](yt)?0<yt?(0|Math[it(1869)](+Math[it(1194)](yt/4294967296),4294967295))>>>0:~~+Math[it(1266)]((yt-(~~yt>>>0))/4294967296)>>>0:0)],Le[Fe>>2]=Qt[0],Le[Fe+4>>2]=Qt[1];break;case"float":be[Fe>>2]=0;break;case it(1387):Ne[Fe>>3]=0;break;default:nt(it(603)+ht)}}function se(Fe,it="i8"){var ht=N;switch(it=it[ht(481)](it[ht(1383)]-1)==="*"?ht(1447):it){case"i1":case"i8":return Ge[Fe>>0];case ht(2137):return Oe[Fe>>1];case ht(1447):case ht(2509):return Le[Fe>>2];case ht(1715):return be[Fe>>2];case ht(1387):return Number(Ne[Fe>>3]);default:nt(ht(2219)+it)}return null}G[N(1574)]&&(le=G[N(1574)]),G[N(734)],N(1499)!=typeof WebAssembly&&nt("no native wasm support detected");var de,me=!1,Ce=0,Ie=1;function we(Fe){var it=N,ht=(Ce==Ie?lt:D0)(Fe[it(1383)]);return Fe[it(986)]||Fe.slice||(Fe=new Uint8Array(Fe)),ke.set(Fe,ht),ht}var Te,Ge,ke,Oe,Le,be,Ne,Ue=typeof TextDecoder<"u"?new TextDecoder(N(1757)):void 0;function ze(Fe,it,ht){var Tt=N,ai=it+ht;for(ht=it;Fe[ht]&&!(ai<=ht);)++ht;if(16<ht-it&&Fe[Tt(2026)]&&Ue)return Ue[Tt(2758)](Fe[Tt(986)](it,ht));for(ai="";it<ht;){var Ii,Ji,xr=Fe[it++];128&xr?(Ii=63&Fe[it++],(224&xr)==192?ai+=String[Tt(1093)]((31&xr)<<6|Ii):(Ji=63&Fe[it++],(xr=(240&xr)==224?(15&xr)<<12|Ii<<6|Ji:(7&xr)<<18|Ii<<12|Ji<<6|63&Fe[it++])<65536?ai+=String[Tt(1093)](xr):(xr-=65536,ai+=String[Tt(1093)](55296|xr>>10,56320|1023&xr)))):ai+=String[Tt(1093)](xr)}return ai}function Je(Fe,it){return Fe?ze(ke,Fe,it):""}function Xe(Fe,it,ht,Tt){var ai=N;if(!(0<Tt))return 0;var Ii=ht;Tt=ht+Tt-1;for(var Ji=0;Ji<Fe[ai(1383)];++Ji){var xr=Fe[ai(2010)](Ji);if((xr=55296<=xr&&xr<=57343?65536+((1023&xr)<<10)|1023&Fe[ai(2010)](++Ji):xr)<=127){if(Tt<=ht)break;it[ht++]=xr}else{if(xr<=2047){if(Tt<=ht+1)break;it[ht++]=192|xr>>6}else{if(xr<=65535){if(Tt<=ht+2)break;it[ht++]=224|xr>>12}else{if(Tt<=ht+3)break;it[ht++]=240|xr>>18,it[ht++]=128|xr>>12&63}it[ht++]=128|xr>>6&63}it[ht++]=128|63&xr}}return it[ht]=0,ht-Ii}function et(Fe){for(var it=N,ht=0,Tt=0;Tt<Fe.length;++Tt){var ai=Fe[it(2010)](Tt);(ai=55296<=ai&&ai<=57343?65536+((1023&ai)<<10)|1023&Fe.charCodeAt(++Tt):ai)<=127?++ht:ht=ai<=2047?ht+2:ai<=65535?ht+3:ht+4}return ht}function ot(Fe){var it=et(Fe)+1,ht=D0(it);return ht&&Xe(Fe,Ge,ht,it),ht}function Et(){var Fe=N,it=de.buffer;Te=it,G.HEAP8=Ge=new Int8Array(it),G[Fe(2191)]=Oe=new Int16Array(it),G.HEAP32=Le=new Int32Array(it),G[Fe(391)]=ke=new Uint8Array(it),G.HEAPU16=new Uint16Array(it),G[Fe(125)]=new Uint32Array(it),G[Fe(964)]=be=new Float32Array(it),G[Fe(296)]=Ne=new Float64Array(it)}var Ct,ct,yt,Qt,Ze=[],ut=[],St=[],gt=0,xt=null,Lt=null;function nt(Fe){var it=N;throw G.onAbort&&G.onAbort(Fe),W(Fe=it(2188)+Fe+")"),me=!0,new WebAssembly.RuntimeError(Fe+it(1598))}function Pe(){var Fe=N;return ct[Fe(962)](Fe(2645))}function ve(){var Fe=ct;try{if(Fe==ct&&le)return new Uint8Array(le);if(X)return X(Fe);throw"both async and sync fetching of the wasm failed"}catch(it){nt(it)}}function We(Fe){for(var it=N;0<Fe[it(1383)];){var ht,Tt=Fe[it(537)]();it(1451)==typeof Tt?Tt(G):typeof(ht=Tt.Ib)=="number"?Tt.eb===void 0?Ct.get(ht)():Ct[it(1935)](ht)(Tt.eb):ht(Tt.eb===void 0?null:Tt.eb)}}function bt(Fe,it){for(var ht=N,Tt=0,ai=Fe[ht(1383)]-1;0<=ai;ai--){var Ii=Fe[ai];Ii==="."?Fe.splice(ai,1):Ii===".."?(Fe[ht(2139)](ai,1),Tt++):Tt&&(Fe.splice(ai,1),Tt--)}if(it)for(;Tt;Tt--)Fe[ht(2254)]("..");return Fe}function Pt(Fe){var it=N,ht=Fe[it(481)](0)==="/",Tt=Fe[it(2539)](-1)==="/";return(Fe=(Fe=bt(Fe.split("/").filter(function(ai){return!!ai}),!ht).join("/"))||ht?Fe:".")&&Tt&&(Fe+="/"),(ht?"/":"")+Fe}function It(Fe){var it=N;if(Fe==="/")return"/";var ht=(Fe=(Fe=Pt(Fe))[it(1850)](/\/$/,""))[it(2298)]("/");return ht===-1?Fe:Fe[it(2539)](ht+1)}function Mi(){for(var Fe=N,it="",ht=!1,Tt=arguments.length-1;-1<=Tt&&!ht;Tt--){if(typeof(ht=0<=Tt?arguments[Tt]:"/")!="string")throw new TypeError(Fe(1444));if(!ht)return"";it=ht+"/"+it,ht=ht[Fe(481)](0)==="/"}return(ht?"/":"")+bt(it[Fe(2259)]("/")[Fe(711)](function(ai){return!!ai}),!ht).join("/")||"."}G[N(1986)]={},G[N(1005)]={},ct=N(653),Pe()||(mi=ct,ct=G[N(1449)]?G[N(1449)](mi,pi):pi+mi);var er=[];function di(Fe,it){er[Fe]={input:[],output:[],Wa:it},kA(Fe,jt)}var wi,Ri,Ei,Wt,jt={open:function(Fe){var it=N,ht=er[Fe[it(1723)][it(1918)]];if(!ht)throw new yi(43);Fe.tty=ht,Fe[it(1616)]=!1},close:function(Fe){var it=N;Fe[it(1122)].Wa[it(1872)](Fe.tty)},flush:function(Fe){var it=N;Fe.tty.Wa[it(1872)](Fe[it(1122)])},read:function(Fe,it,ht,Tt){var ai=N;if(!Fe[ai(1122)]||!Fe[ai(1122)].Wa.sb)throw new yi(60);for(var Ii=0,Ji=0;Ji<Tt;Ji++){try{var xr=Fe[ai(1122)].Wa.sb(Fe[ai(1122)])}catch{throw new yi(29)}if(xr===void 0&&Ii===0)throw new yi(6);if(xr==null)break;Ii++,it[ht+Ji]=xr}return Ii&&(Fe[ai(1723)][ai(199)]=Date[ai(168)]()),Ii},write:function(Fe,it,ht,Tt){var ai=N;if(!Fe[ai(1122)]||!Fe[ai(1122)].Wa.ib)throw new yi(60);try{for(var Ii=0;Ii<Tt;Ii++)Fe[ai(1122)].Wa.ib(Fe[ai(1122)],it[ht+Ii])}catch{throw new yi(29)}return Tt&&(Fe[ai(1723)][ai(199)]=Date[ai(168)]()),Ii}},pi={sb:function(Fe){var it=N;if(!Fe[it(2684)][it(1383)]){var ht=null;if(ae){var Tt=P[it(1581)](256),ai=0;try{ai=q[it(383)](D[it(1401)].fd,Tt,0,256,-1)}catch(Ii){if(!Ii[it(1888)]().includes("EOF"))throw Ii;ai=0}ht=0<ai?Tt[it(2679)](0,ai)[it(1888)](it(1187)):null}else typeof window<"u"&&it(1451)==typeof window[it(1535)]?(ht=window[it(1535)](it(2023)))!==null&&(ht+=` `):it(1451)==typeof readline&&(ht=readline())!==null&&(ht+=` `);if(!ht)return null;Fe[it(2684)]=wp(ht,!0)}return Fe[it(2684)][it(537)]()},ib:function(Fe,it){var ht=N;it===null||it===10?(U(ze(Fe.output,0)),Fe[ht(2540)]=[]):it!=0&&Fe.output[ht(182)](it)},flush:function(Fe){var it=N;Fe[it(2540)]&&0<Fe[it(2540)][it(1383)]&&(U(ze(Fe[it(2540)],0)),Fe.output=[])}},mi={ib:function(Fe,it){var ht=N;it===null||it===10?(W(ze(Fe[ht(2540)],0)),Fe[ht(2540)]=[]):it!=0&&Fe.output[ht(182)](it)},flush:function(Fe){var it=N;Fe[it(2540)]&&0<Fe[it(2540)][it(1383)]&&(W(ze(Fe[it(2540)],0)),Fe[it(2540)]=[])}},Kt={Oa:null,Pa:function(){return Kt.createNode(null,"/",16895,0)},createNode:function(Fe,it,ht,Tt){var ai=N;if((61440&ht)==24576||(61440&ht)==4096)throw new yi(63);return Kt.Oa||(Kt.Oa={dir:{node:{Na:Kt.Fa.Na,Ma:Kt.Fa.Ma,lookup:Kt.Fa[ai(527)],Za:Kt.Fa.Za,rename:Kt.Fa[ai(1787)],unlink:Kt.Fa[ai(148)],rmdir:Kt.Fa[ai(771)],readdir:Kt.Fa[ai(2102)],symlink:Kt.Fa.symlink},stream:{Sa:Kt.Ga.Sa}},file:{node:{Na:Kt.Fa.Na,Ma:Kt.Fa.Ma},stream:{Sa:Kt.Ga.Sa,read:Kt.Ga[ai(969)],write:Kt.Ga.write,kb:Kt.Ga.kb,$a:Kt.Ga.$a,ab:Kt.Ga.ab}},link:{node:{Na:Kt.Fa.Na,Ma:Kt.Fa.Ma,readlink:Kt.Fa[ai(1594)]},stream:{}},ob:{node:{Na:Kt.Fa.Na,Ma:Kt.Fa.Ma},stream:og}}),(61440&(ht=bl(Fe,it,ht,Tt))[ai(704)])==16384?(ht.Fa=Kt.Oa[ai(2596)].node,ht.Ga=Kt.Oa[ai(2596)][ai(1945)],ht.Ha={}):(61440&ht[ai(704)])==32768?(ht.Fa=Kt.Oa[ai(1704)][ai(1723)],ht.Ga=Kt.Oa.file.stream,ht.La=0,ht.Ha=null):(61440&ht[ai(704)])==40960?(ht.Fa=Kt.Oa[ai(275)][ai(1723)],ht.Ga=Kt.Oa[ai(275)].stream):(61440&ht[ai(704)])==8192&&(ht.Fa=Kt.Oa.ob.node,ht.Ga=Kt.Oa.ob[ai(1945)]),ht[ai(199)]=Date[ai(168)](),Fe&&(Fe.Ha[it]=ht,Fe[ai(199)]=ht[ai(199)]),ht},Jb:function(Fe){return Fe.Ha?Fe.Ha.subarray?Fe.Ha.subarray(0,Fe.La):new Uint8Array(Fe.Ha):new Uint8Array(0)},pb:function(Fe,it){var ht=N,Tt=Fe.Ha?Fe.Ha[ht(1383)]:0;it<=Tt||(it=Math[ht(323)](it,Tt*(Tt<1048576?2:1.125)>>>0),Tt!=0&&(it=Math[ht(323)](it,256)),Tt=Fe.Ha,Fe.Ha=new Uint8Array(it),0<Fe.La&&Fe.Ha[ht(2573)](Tt[ht(986)](0,Fe.La),0))},Fb:function(Fe,it){var ht=N,Tt;Fe.La!=it&&(it==0?(Fe.Ha=null,Fe.La=0):(Tt=Fe.Ha,Fe.Ha=new Uint8Array(it),Tt&&Fe.Ha[ht(2573)](Tt[ht(986)](0,Math[ht(1869)](it,Fe.La))),Fe.La=it))},Fa:{Na:function(Fe){var it=N,ht={};return ht.dev=(61440&Fe[it(704)])==8192?Fe.id:1,ht[it(2153)]=Fe.id,ht[it(704)]=Fe[it(704)],ht[it(2237)]=1,ht[it(2473)]=0,ht[it(2725)]=0,ht[it(1918)]=Fe[it(1918)],(61440&Fe[it(704)])==16384?ht[it(429)]=4096:(61440&Fe[it(704)])==32768?ht[it(429)]=Fe.La:(61440&Fe[it(704)])==40960?ht[it(429)]=Fe[it(275)][it(1383)]:ht[it(429)]=0,ht[it(2155)]=new Date(Fe[it(199)]),ht.mtime=new Date(Fe[it(199)]),ht.ctime=new Date(Fe[it(199)]),ht.zb=4096,ht[it(943)]=Math[it(1266)](ht[it(429)]/ht.zb),ht},Ma:function(Fe,it){var ht=N;it[ht(704)]!==void 0&&(Fe[ht(704)]=it[ht(704)]),it.timestamp!==void 0&&(Fe.timestamp=it.timestamp),it[ht(429)]!==void 0&&Kt.Fb(Fe,it[ht(429)])},lookup:function(){throw uo[44]},Za:function(Fe,it,ht,Tt){var ai=N;return Kt[ai(1178)](Fe,it,ht,Tt)},rename:function(Fe,it,ht){var Tt=N;if((61440&Fe[Tt(704)])==16384){try{var ai=Go(it,ht)}catch{}if(ai)for(var Ii in ai.Ha)throw new yi(55)}delete Fe.parent.Ha[Fe.name],Fe.parent[Tt(199)]=Date.now(),Fe[Tt(878)]=ht,it.Ha[ht]=Fe,it[Tt(199)]=Fe[Tt(2476)][Tt(199)],Fe[Tt(2476)]=it},unlink:function(Fe,it){var ht=N;delete Fe.Ha[it],Fe[ht(199)]=Date[ht(168)]()},rmdir:function(Fe,it){var ht=N;for(var Tt in Go(Fe,it).Ha)throw new yi(55);delete Fe.Ha[it],Fe.timestamp=Date[ht(168)]()},readdir:function(Fe){var it=N,ht,Tt=[".",".."];for(ht in Fe.Ha)Fe.Ha[it(579)](ht)&&Tt.push(ht);return Tt},symlink:function(Fe,it,ht){var Tt=N;return(Fe=Kt[Tt(1178)](Fe,it,41471,0))[Tt(275)]=ht,Fe},readlink:function(Fe){var it=N;if((61440&Fe[it(704)])!=40960)throw new yi(28);return Fe.link}},Ga:{read:function(Fe,it,ht,Tt,ai){var Ii=N,Ji=Fe.node.Ha;if(ai>=Fe[Ii(1723)].La)return 0;if(8<(Fe=Math[Ii(1869)](Fe.node.La-ai,Tt))&&Ji[Ii(986)])it[Ii(2573)](Ji[Ii(986)](ai,ai+Fe),ht);else for(Tt=0;Tt<Fe;Tt++)it[ht+Tt]=Ji[ai+Tt];return Fe},write:function(Fe,it,ht,Tt,ai,Ii){var Ji=N;if(it[Ji(2026)]===Ge[Ji(2026)]&&(Ii=!1),!Tt)return 0;if((Fe=Fe[Ji(1723)])[Ji(199)]=Date[Ji(168)](),it[Ji(986)]&&(!Fe.Ha||Fe.Ha.subarray)){if(Ii)return Fe.Ha=it[Ji(986)](ht,ht+Tt),Fe.La=Tt;if(Fe.La===0&&ai===0)return Fe.Ha=it[Ji(2679)](ht,ht+Tt),Fe.La=Tt;if(ai+Tt<=Fe.La)return Fe.Ha[Ji(2573)](it.subarray(ht,ht+Tt),ai),Tt}if(Kt.pb(Fe,ai+Tt),Fe.Ha.subarray&&it[Ji(986)])Fe.Ha[Ji(2573)](it[Ji(986)](ht,ht+Tt),ai);else for(Ii=0;Ii<Tt;Ii++)Fe.Ha[ai+Ii]=it[ht+Ii];return Fe.La=Math[Ji(323)](Fe.La,ai+Tt),Tt},Sa:function(Fe,it,ht){var Tt=N;if(ht===1?it+=Fe.position:ht===2&&(61440&Fe.node[Tt(704)])==32768&&(it+=Fe[Tt(1723)].La),it<0)throw new yi(28);return it},kb:function(Fe,it,ht){var Tt=N;Kt.pb(Fe[Tt(1723)],it+ht),Fe[Tt(1723)].La=Math[Tt(323)](Fe.node.La,it+ht)},$a:function(Fe,it,ht,Tt,ai,Ii){var Ji=N;if(it!==0)throw new yi(28);if((61440&Fe[Ji(1723)][Ji(704)])!=32768)throw new yi(43);if(Fe=Fe.node.Ha,2&Ii||Fe[Ji(2026)]!==Te){if((0<Tt||Tt+ht<Fe.length)&&(Fe=Fe[Ji(986)]?Fe.subarray(Tt,Tt+ht):Array.prototype[Ji(2679)][Ji(2623)](Fe,Tt,Tt+ht)),Tt=!0,ht=65536*Math[Ji(1266)](ht/65536),!(ht=(Ii=qn(65536,ht))?(ke.fill(0,Ii,Ii+ht),Ii):0))throw new yi(48);Ge[Ji(2573)](Fe,ht)}else Tt=!1,ht=Fe[Ji(2340)];return{Eb:ht,ub:Tt}},ab:function(Fe,it,ht,Tt,ai){var Ii=N;if((61440&Fe[Ii(1723)][Ii(704)])!=32768)throw new yi(43);return 2&ai||Kt.Ga.write(Fe,it,0,Tt,ht,!1),0}}},xi=null,_t={},Mt=[],Ht=1,ti=null,Wi=!0,yi=null,uo={},wn=(Fe,it={})=>{var ht=N;if(!(Fe=Mi("/",Fe)))return{path:"",node:null};if(8<(it=Object[ht(1136)]({qb:!0,jb:0},it)).jb)throw new yi(32);Fe=bt(Fe[ht(2259)]("/").filter(Ds=>!!Ds),!1);for(var Tt,ai,Ii=xi,Ji="/",xr=0;xr<Fe[ht(1383)];xr++){var $n=xr===Fe[ht(1383)]-1;if($n&&it.parent)break;if(Ii=Go(Ii,Fe[xr]),Ji=Pt(Ji+"/"+Fe[xr]),!Ii.Ua||$n&&!it.qb||(Ii=Ii.Ua[ht(167)]),!$n||it.Ra){for($n=0;(61440&Ii[ht(704)])==40960;)if(Ii=Gi(Ji),Ji=Mi((Tt=Ji,ai=void 0,Tt=(ai=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/[ht(2268)](Tt).slice(1))[0],ai=ai[1],Tt||ai?Tt+(ai=ai&&ai[ht(2539)](0,ai[ht(1383)]-1)):"."),Ii),Ii=wn(Ji,{jb:it.jb+1})[ht(1723)],40<$n++)throw new yi(32)}}return{path:Ji,node:Ii}},Un=Fe=>{for(var it=N,ht;;){if(Fe===Fe[it(2476)])return Fe=Fe.Pa.tb,ht?Fe[Fe[it(1383)]-1]!=="/"?Fe+"/"+ht:Fe+ht:Fe;ht=ht?Fe[it(878)]+"/"+ht:Fe[it(878)],Fe=Fe[it(2476)]}},Ta=(Fe,it)=>{for(var ht=N,Tt=0,ai=0;ai<it[ht(1383)];ai++)Tt=(Tt<<5)-Tt+it[ht(2010)](ai)|0;return(Fe+Tt>>>0)%ti.length},Ma=Fe=>{var it=N,ht=Ta(Fe[it(2476)].id,Fe[it(878)]);if(ti[ht]===Fe)ti[ht]=Fe.Va;else for(ht=ti[ht];ht;){if(ht.Va===Fe){ht.Va=Fe.Va;break}ht=ht.Va}},Go=(Fe,it)=>{var ht=N,Tt;if(Tt=(Tt=Xu(Fe,"x"))?Tt:Fe.Fa[ht(527)]?0:2)throw new yi(Tt,Fe);for(Tt=ti[Ta(Fe.id,it)];Tt;Tt=Tt.Va){var ai=Tt.name;if(Tt[ht(2476)].id===Fe.id&&ai===it)return Tt}return Fe.Fa[ht(527)](Fe,it)},bl=(Fe,it,ht,Tt)=>(Fe=new IA(Fe,it,ht,Tt),it=Ta(Fe[N(2476)].id,Fe[N(878)]),Fe.Va=ti[it],ti[it]=Fe),nu={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},yc=Fe=>{var it=["r","w","rw"][3&Fe];return 512&Fe&&(it+="w"),it},Xu=(Fe,it)=>Wi||(!it[N(1222)]("r")||292&Fe[N(704)])&&(!it[N(1222)]("w")||146&Fe[N(704)])&&(!it[N(1222)]("x")||73&Fe[N(704)])?0:2,yd=(Fe,it)=>{try{return Go(Fe,it),20}catch{}return Xu(Fe,"wx")},lh=(Fe,it,ht)=>{var Tt=N;try{var ai=Go(Fe,it)}catch(Ii){return Ii.Ja}if(Fe=Xu(Fe,"wx"))return Fe;if(ht){if((61440&ai[Tt(704)])!=16384)return 54;if(ai===ai[Tt(2476)]||Un(ai)==="/")return 10}else if((61440&ai.mode)==16384)return 31;return 0},ef=(Fe,it)=>(Ei||((Ei=function(){})[N(1166)]={}),Fe=Object.assign(new Ei,Fe),it=((ht=0)=>{for(;ht<=4096;ht++)if(!Mt[ht])return ht;throw new yi(33)})(it),Fe.fd=it,Mt[it]=Fe),og={open:Fe=>{var it=N;Fe.Ga=_t[Fe[it(1723)][it(1918)]].Ga,Fe.Ga.open&&Fe.Ga[it(2424)](Fe)},Sa:()=>{throw new yi(70)}},kA=(Fe,it)=>{_t[Fe]={Ga:it}},S0=(Fe,it)=>{var ht=N,Tt=it==="/",ai=!it;if(Tt&&xi)throw new yi(10);if(!Tt&&!ai){var Ii=wn(it,{qb:!1});if(it=Ii.path,(Ii=Ii[ht(1723)]).Ua)throw new yi(10);if((61440&Ii[ht(704)])!=16384)throw new yi(54)}((Fe=Fe.Pa(it={type:Fe,Kb:{},tb:it,Db:[]})).Pa=it).root=Fe,Tt?xi=Fe:Ii&&(Ii.Ua=it,Ii.Pa&&Ii.Pa.Db[ht(182)](it))},Id=(Fe,it,ht)=>{var Tt=N,ai=wn(Fe,{parent:!0})[Tt(1723)];if(!(Fe=It(Fe))||Fe==="."||Fe==="..")throw new yi(28);var Ii=yd(ai,Fe);if(Ii)throw new yi(Ii);if(ai.Fa.Za)return ai.Fa.Za(ai,Fe,it,ht);throw new yi(63)},Su=(Fe,it)=>Id(Fe,1023&(it!==void 0?it:511)|16384,0),Df=(Fe,it,ht)=>{ht===void 0&&(ht=it,it=438),Id(Fe,8192|it,ht)},_d=(Fe,it)=>{var ht=N;if(!Mi(Fe))throw new yi(44);var Tt=wn(it,{parent:!0}).node;if(!Tt)throw new yi(44);it=It(it);var ai=yd(Tt,it);if(ai)throw new yi(ai);if(!Tt.Fa.symlink)throw new yi(63);Tt.Fa[ht(2583)](Tt,it,Fe)},$h=Fe=>{var it=N,ht=wn(Fe,{parent:!0})[it(1723)],Tt=(Fe=It(Fe),Go(ht,Fe)),ai=lh(ht,Fe,!0);if(ai)throw new yi(ai);if(!ht.Fa.rmdir)throw new yi(63);if(Tt.Ua)throw new yi(10);ht.Fa[it(771)](ht,Fe),Ma(Tt)},ci=Fe=>{var it=N,ht=wn(Fe,{parent:!0})[it(1723)];if(!ht)throw new yi(44);Fe=It(Fe);var Tt=Go(ht,Fe),ai=lh(ht,Fe,!1);if(ai)throw new yi(ai);if(!ht.Fa[it(148)])throw new yi(63);if(Tt.Ua)throw new yi(10);ht.Fa[it(148)](ht,Fe),Ma(Tt)},Gi=Fe=>{var it=N;if(!(Fe=wn(Fe).node))throw new yi(44);if(Fe.Fa[it(1594)])return Mi(Un(Fe[it(2476)]),Fe.Fa[it(1594)](Fe));throw new yi(28)},yr=(Fe,it)=>{var ht=N;if(!(Fe=wn(Fe,{Ra:!it})[ht(1723)]))throw new yi(44);if(Fe.Fa.Na)return Fe.Fa.Na(Fe);throw new yi(63)},Yr=Fe=>yr(Fe,!0),en=(Fe,it)=>{var ht=N;if(!(Fe=ht(1896)==typeof Fe?wn(Fe,{Ra:!0})[ht(1723)]:Fe).Fa.Ma)throw new yi(63);Fe.Fa.Ma(Fe,{mode:4095&it|-4096&Fe[ht(704)],timestamp:Date[ht(168)]()})},Or=(Fe,it)=>{var ht=N;if(it<0)throw new yi(28);if(!(Fe=ht(1896)==typeof Fe?wn(Fe,{Ra:!0})[ht(1723)]:Fe).Fa.Ma)throw new yi(63);if((61440&Fe[ht(704)])==16384)throw new yi(31);if((61440&Fe[ht(704)])!=32768)throw new yi(28);var Tt=Xu(Fe,"w");if(Tt)throw new yi(Tt);Fe.Fa.Ma(Fe,{size:it,timestamp:Date[ht(168)]()})},Cn=(Fe,it,ht,Tt)=>{var ai=N;if(Fe==="")throw new yi(44);if(ai(1896)==typeof it){var Ii=nu[it];if(Ii===void 0)throw Error(ai(499)+it);it=Ii}if(ht=64&it?4095&(ht===void 0?438:ht)|32768:0,ai(1499)==typeof Fe)var Ji=Fe;else{Fe=Pt(Fe);try{Ji=wn(Fe,{Ra:!(131072&it)})[ai(1723)]}catch{}}if(Ii=!1,64&it)if(Ji){if(128&it)throw new yi(20)}else Ji=Id(Fe,ht,0),Ii=!0;if(!Ji)throw new yi(44);if((61440&Ji.mode)==8192&&(it&=-513),65536&it&&(61440&Ji[ai(704)])!=16384)throw new yi(54);if(!Ii&&(ht=Ji?(61440&Ji.mode)==40960?32:(61440&Ji[ai(704)])==16384&&(yc(it)!=="r"||512&it)?31:Xu(Ji,yc(it)):44))throw new yi(ht);return 512&it&&Or(Ji,0),it&=-131713,(Tt=ef({node:Ji,path:Un(Ji),flags:it,seekable:!0,position:0,Ga:Ji.Ga,Hb:[],error:!1},Tt)).Ga[ai(2424)]&&Tt.Ga[ai(2424)](Tt),!G[ai(1624)]||1&it||Fe in(Wt=Wt||{})||(Wt[Fe]=1),Tt},Mn=Fe=>{var it=N;if(Fe.fd===null)throw new yi(8);Fe.gb&&(Fe.gb=null);try{Fe.Ga[it(420)]&&Fe.Ga[it(420)](Fe)}catch(ht){throw ht}finally{Mt[Fe.fd]=null}Fe.fd=null},tn=(Fe,it,ht)=>{var Tt=N;if(Fe.fd===null)throw new yi(8);if(!Fe.seekable||!Fe.Ga.Sa)throw new yi(70);if(ht!=0&&ht!=1&&ht!=2)throw new yi(28);Fe[Tt(2747)]=Fe.Ga.Sa(Fe,it,ht),Fe.Hb=[]},fo=(Fe,it,ht,Tt,ai)=>{var Ii=N;if(Tt<0||ai<0)throw new yi(28);if(Fe.fd===null)throw new yi(8);if((2097155&Fe[Ii(1408)])==1)throw new yi(8);if((61440&Fe[Ii(1723)][Ii(704)])==16384)throw new yi(31);if(!Fe.Ga[Ii(969)])throw new yi(28);var Ji=ai!==void 0;if(Ji){if(!Fe[Ii(1616)])throw new yi(70)}else ai=Fe[Ii(2747)];return it=Fe.Ga[Ii(969)](Fe,it,ht,Tt,ai),Ji||(Fe[Ii(2747)]+=it),it},bo=(Fe,it,ht,Tt,ai,Ii)=>{var Ji=N;if(Tt<0||ai<0)throw new yi(28);if(Fe.fd===null)throw new yi(8);if((2097155&Fe[Ji(1408)])==0)throw new yi(8);if((61440&Fe[Ji(1723)][Ji(704)])==16384)throw new yi(31);if(!Fe.Ga[Ji(2430)])throw new yi(28);Fe[Ji(1616)]&&1024&Fe.flags&&tn(Fe,0,2);var xr=ai!==void 0;if(xr){if(!Fe.seekable)throw new yi(70)}else ai=Fe[Ji(2747)];return it=Fe.Ga[Ji(2430)](Fe,it,ht,Tt,ai,Ii),xr||(Fe.position+=it),it},_a=Fe=>{var it=N,ht=Cn(Fe,0),Tt=(Fe=yr(Fe)[it(429)],new Uint8Array(Fe));return fo(ht,Tt,0,Fe,0),Fe=Tt,Mn(ht),Fe},xl=()=>{var Fe=N;yi||((yi=function(it,ht){var Tt=Ut;this[Tt(1723)]=ht,this.Gb=function(ai){this.Ja=ai},this.Gb(it),this.message=Tt(441)})[Fe(1166)]=Error(),yi[Fe(1166)][Fe(2267)]=yi,[44][Fe(2455)](it=>{var ht=Fe;uo[it]=new yi(it),uo[it][ht(1461)]=ht(1151)}))},Mo=(Fe,it)=>{var ht=0;return Fe&&(ht|=365),it&&(ht|=146),ht},Wl=(Fe,it,ht)=>{var Tt=N;Fe=Pt(Tt(1016)+Fe);var ai=Mo(!!it,!!ht),Ii=(Ri=Ri||64,Ri++<<8|0);kA(Ii,{open:Ji=>{var xr=Tt;Ji[xr(1616)]=!1},close:()=>{var Ji=Tt;ht&&ht[Ji(2026)]&&ht.buffer[Ji(1383)]&&ht(10)},read:(Ji,xr,$n,Ds)=>{for(var hA=Tt,sc=0,Zu=0;Zu<Ds;Zu++){try{var tf=it()}catch{throw new yi(29)}if(tf===void 0&&sc===0)throw new yi(6);if(tf==null)break;sc++,xr[$n+Zu]=tf}return sc&&(Ji[hA(1723)][hA(199)]=Date.now()),sc},write:(Ji,xr,$n,Ds)=>{for(var hA=Tt,sc=0;sc<Ds;sc++)try{ht(xr[$n+sc])}catch{throw new yi(29)}return Ds&&(Ji.node[hA(199)]=Date[hA(168)]()),sc}}),Df(Fe,ai,Ii)};function Ss(Fe,it,ht){if(it[0]==="/")return it;if(Fe===-100)Fe="/";else{if(!(Fe=Mt[Fe]))throw new yi(8);Fe=Fe.path}if(it.length!=0)return Pt(Fe+"/"+it);if(ht)return Fe;throw new yi(44)}function uh(Fe,it,ht){var Tt=N;try{var ai=Fe(it)}catch(Ii){if(Ii&&Ii[Tt(1723)]&&Pt(it)!==Pt(Un(Ii[Tt(1723)])))return-54;throw Ii}return Le[ht>>2]=ai[Tt(2018)],Le[ht+4>>2]=0,Le[ht+8>>2]=ai[Tt(2153)],Le[ht+12>>2]=ai.mode,Le[ht+16>>2]=ai.nlink,Le[ht+20>>2]=ai.uid,Le[ht+24>>2]=ai[Tt(2725)],Le[ht+28>>2]=ai[Tt(1918)],Le[ht+32>>2]=0,Qt=[ai[Tt(429)]>>>0,(yt=ai[Tt(429)],1<=+Math[Tt(1914)](yt)?0<yt?(0|Math.min(+Math[Tt(1194)](yt/4294967296),4294967295))>>>0:~~+Math[Tt(1266)]((yt-(~~yt>>>0))/4294967296)>>>0:0)],Le[ht+40>>2]=Qt[0],Le[ht+44>>2]=Qt[1],Le[ht+48>>2]=4096,Le[ht+52>>2]=ai[Tt(943)],Le[ht+56>>2]=ai[Tt(2155)].getTime()/1e3|0,Le[ht+60>>2]=0,Le[ht+64>>2]=ai[Tt(517)].getTime()/1e3|0,Le[ht+68>>2]=0,Le[ht+72>>2]=ai[Tt(267)][Tt(1456)]()/1e3|0,Le[ht+76>>2]=0,Qt=[ai.ino>>>0,(yt=ai[Tt(2153)],1<=+Math.abs(yt)?0<yt?(0|Math.min(+Math[Tt(1194)](yt/4294967296),4294967295))>>>0:~~+Math[Tt(1266)]((yt-(~~yt>>>0))/4294967296)>>>0:0)],Le[ht+80>>2]=Qt[0],Le[ht+84>>2]=Qt[1],0}var ku=void 0;function Ic(){return Le[(ku+=4)-4>>2]}function _c(Fe){if(Fe=Mt[Fe])return Fe;throw new yi(8)}function Cu(Fe,it,ht){var Tt=N;function ai(Ds){var hA=Ut;return(Ds=Ds.toTimeString()[hA(373)](/\(([A-Za-z ]+)\)$/))?Ds[1]:hA(126)}var Ii,Ji,xr,$n;Cu.Ab||(Cu.Ab=!0,Fe=Fe,it=it,ht=ht,Ii=new Date()[Tt(908)](),Ji=new Date(Ii,0,1),xr=new Date(Ii,6,1),Ii=Ji[Tt(841)](),$n=xr[Tt(841)](),Le[Fe>>2]=60*Math.max(Ii,$n),Le[it>>2]=Number(Ii!=$n),Fe=ai(Ji),it=ai(xr),Fe=ot(Fe),it=ot(it),$n<Ii?(Le[ht>>2]=Fe,Le[ht+4>>2]=it):(Le[ht>>2]=it,Le[ht+4>>2]=Fe))}var Tf,ag,FE=ae?()=>{var Fe=N,it=D[Fe(2189)]();return 1e3*it[0]+it[1]/1e6}:()=>performance[N(168)](),Bp={};function Fo(){var Fe=N;if(!Tf){var it,ht={USER:Fe(163),LOGNAME:Fe(163),PATH:"/",PWD:"/",HOME:Fe(1479),LANG:(Fe(1499)==typeof navigator&&navigator[Fe(216)]&&navigator[Fe(216)][0]||"C").replace("-","_")+Fe(1849),_:he||Fe(1776)};for(it in Bp)Bp[it]===void 0?delete ht[it]:ht[it]=Bp[it];var Tt=[];for(it in ht)Tt[Fe(182)](it+"="+ht[it]);Tf=Tt}return Tf}function IA(Fe,it,ht,Tt){var ai=N;this.parent=Fe=Fe||this,this.Pa=Fe.Pa,this.Ua=null,this.id=Ht++,this.name=it,this[ai(704)]=ht,this.Fa={},this.Ga={},this[ai(1918)]=Tt}function wp(Fe,it){var ht=N,Tt=Array(et(Fe)+1);return Fe=Xe(Fe,Tt,0,Tt[ht(1383)]),it&&(Tt.length=Fe),Tt}Object[N(2130)](IA[N(1166)],{read:{get:function(){var Fe=N;return(365&this[Fe(704)])==365},set:function(Fe){Fe?this.mode|=365:this.mode&=-366}},write:{get:function(){var Fe=N;return(146&this[Fe(704)])==146},set:function(Fe){var it=N;Fe?this[it(704)]|=146:this.mode&=-147}}}),xl(),ti=Array(4096),S0(Kt,"/"),Su(N(522)),Su(N(970)),Su(N(1479)),Su(N(703)),kA(259,{read:()=>0,write:(Fe,it,ht,Tt)=>Tt}),Df(N(796),259),di(1280,pi),di(1536,mi),Df(N(1289),1280),Df(N(1416),1536),pi=function(){var Fe=N,it;if(Fe(1499)==typeof crypto&&Fe(1451)==typeof crypto[Fe(1887)])return it=new Uint8Array(1),function(){var Tt=Fe;return crypto[Tt(1887)](it),it[0]};if(ae)try{var ht=T(55835);return function(){return ht.randomBytes(1)[0]}}catch{}return function(){var Tt=Fe;nt(Tt(1954))}}(),Wl(N(804),pi),Wl(N(1860),pi),Su(N(2633)),Su(N(2142)),Su("/proc"),ag=Su(N(490)),Su(N(2127)),S0({Pa:()=>{var Fe=bl(ag,"fd",16895,73);return Fe.Fa={lookup:(it,ht)=>{var Tt=Ut,ai=Mt[+ht];if(ai)return(it={parent:null,Pa:{tb:"fake"},Fa:{readlink:()=>ai[Tt(1596)]}})[Tt(2476)]=it;throw new yi(8)}},Fe}},"/proc/self/fd");var Vg,sg={a:function(Fe,it,ht,Tt){var ai=N;nt(ai(1350)+Je(Fe)+ai(2595)+[it?Je(it):ai(1905),ht,Tt?Je(Tt):"unknown function"])},h:function(Fe,it){try{return Fe=Je(Fe),en(Fe,it),0}catch(ht){if(ht instanceof yi)return-ht.Ja;throw ht}},H:function(Fe,it,ht){var Tt=N;try{var ai;return it=Ss(Fe,it=Je(it)),-8&ht?-28:(ai=wn(it,{Ra:!0})[Tt(1723)])?(Fe="",4&ht&&(Fe+="r"),2&ht&&(Fe+="w"),1&ht&&(Fe+="x"),Fe&&Xu(ai,Fe)?-2:0):-44}catch(Ii){if(Ii instanceof yi)return-Ii.Ja;throw Ii}},i:function(Fe,it){var ht=N;try{var Tt=Mt[Fe];if(Tt)return en(Tt[ht(1723)],it),0;throw new yi(8)}catch(ai){if(ai instanceof yi)return-ai.Ja;throw ai}},g:function(Fe){var it=N;try{var ht=Mt[Fe];if(!ht)throw new yi(8);var Tt=ht.node,ai=it(1896)==typeof Tt?wn(Tt,{Ra:!0})[it(1723)]:Tt;if(ai.Fa.Ma)return ai.Fa.Ma(ai,{timestamp:Date[it(168)]()}),0;throw new yi(63)}catch(Ii){if(Ii instanceof yi)return-Ii.Ja;throw Ii}},b:function(Fe,it,ht){var Tt=N;ku=ht;try{var ai=_c(Fe);switch(it){case 0:var Ii=Ic();return Ii<0?-28:Cn(ai[Tt(1596)],ai[Tt(1408)],0,Ii).fd;case 1:case 2:return 0;case 3:return ai[Tt(1408)];case 4:return Ii=Ic(),ai[Tt(1408)]|=Ii,0;case 5:return Ii=Ic(),Oe[Ii+0>>1]=2,0;case 6:case 7:return 0;case 16:case 8:return-28;case 9:return Le[lg()>>2]=28,-1;default:return-28}}catch(Ji){if(Ji instanceof yi)return-Ji.Ja;throw Ji}},G:function(Fe,it){try{var ht=_c(Fe);return uh(yr,ht.path,it)}catch(Tt){if(Tt instanceof yi)return-Tt.Ja;throw Tt}},B:function(Fe,it){try{var ht=Mt[Fe];if(!ht)throw new yi(8);if((2097155&ht.flags)==0)throw new yi(28);return Or(ht.node,it),0}catch(Tt){if(Tt instanceof yi)return-Tt.Ja;throw Tt}},A:function(Fe,it){try{return it===0?-28:it<et("/")+1?-68:(Xe("/",ke,Fe,it),Fe)}catch(ht){if(ht instanceof yi)return-ht.Ja;throw ht}},E:function(Fe,it){try{return Fe=Je(Fe),uh(Yr,Fe,it)}catch(ht){if(ht instanceof yi)return-ht.Ja;throw ht}},x:function(Fe,it){var ht=N;try{return(Fe=Pt(Fe=Je(Fe)))[Fe[ht(1383)]-1]==="/"&&(Fe=Fe[ht(2539)](0,Fe[ht(1383)]-1)),Su(Fe,it),0}catch(Tt){if(Tt instanceof yi)return-Tt.Ja;throw Tt}},D:function(Fe,it,ht,Tt){try{it=Je(it);var ai=256&Tt;return it=Ss(Fe,it,4096&Tt),uh(ai?Yr:yr,it,ht)}catch(Ii){if(Ii instanceof yi)return-Ii.Ja;throw Ii}},u:function(Fe,it,ht,Tt){ku=Tt;try{it=Ss(Fe,it=Je(it));var ai=Tt?Ic():0;return Cn(it,ht,ai).fd}catch(Ii){if(Ii instanceof yi)return-Ii.Ja;throw Ii}},s:function(Fe,it,ht,Tt){var ai=N;try{var Ii,Ji,xr;return it=Ss(Fe,it=Je(it)),Tt<=0?-28:(Ii=Gi(it),Ji=Math[ai(1869)](Tt,et(Ii)),xr=Ge[ht+Ji],Xe(Ii,ke,ht,Tt+1),Ge[ht+Ji]=xr,Ji)}catch($n){if($n instanceof yi)return-$n.Ja;throw $n}},r:function(Fe){try{return Fe=Je(Fe),$h(Fe),0}catch(it){if(it instanceof yi)return-it.Ja;throw it}},F:function(Fe,it){try{return Fe=Je(Fe),uh(yr,Fe,it)}catch(ht){if(ht instanceof yi)return-ht.Ja;throw ht}},o:function(Fe,it,ht){var Tt=N;try{return it=Ss(Fe,it=Je(it)),ht===0?ci(it):ht===512?$h(it):nt(Tt(2057)),0}catch(ai){if(ai instanceof yi)return-ai.Ja;throw ai}},m:function(Fe,it,ht){var Tt=N;try{it=Ss(Fe,it=Je(it),!0),Ii=ht?(ai=1e3*Le[ht>>2]+Le[ht+4>>2]/1e6,1e3*Le[(ht+=8)>>2]+Le[ht+4>>2]/1e6):ai=Date[Tt(168)](),Fe=ai;var ai,Ii,Ji=wn(it,{Ra:!0}).node;return Ji.Fa.Ma(Ji,{timestamp:Math[Tt(323)](Fe,Ii)}),0}catch(xr){if(xr instanceof yi)return-xr.Ja;throw xr}},e:function(){var Fe=N;return Date[Fe(168)]()},j:function(Fe,it){var ht=N;Fe=new Date(1e3*Le[Fe>>2]),Le[it>>2]=Fe[ht(219)](),Le[it+4>>2]=Fe[ht(605)](),Le[it+8>>2]=Fe.getHours(),Le[it+12>>2]=Fe[ht(806)](),Le[it+16>>2]=Fe[ht(1094)](),Le[it+20>>2]=Fe[ht(908)]()-1900,Le[it+24>>2]=Fe[ht(330)]();var ai=new Date(Fe.getFullYear(),0,1),Tt=(Le[it+28>>2]=(Fe[ht(1456)]()-ai[ht(1456)]())/864e5|0,Le[it+36>>2]=-60*Fe[ht(841)](),new Date(Fe[ht(908)](),6,1)[ht(841)]()),ai=ai[ht(841)]();Le[it+32>>2]=0|(Tt!=ai&&Fe[ht(841)]()==Math.min(ai,Tt))},v:function(Fe,it,ht,Tt,ai,Ii,Ji){var xr=N;try{var $n=Mt[ai];if(!$n)return-8;if((2&ht)!=0&&(2&Tt)==0&&(2097155&$n[xr(1408)])!=2)throw new yi(2);if((2097155&$n[xr(1408)])==1)throw new yi(2);if(!$n.Ga.$a)throw new yi(43);var Ds=$n.Ga.$a($n,Fe,it,Ii,ht,Tt),hA=Ds.Eb;return Le[Ji>>2]=Ds.ub,hA}catch(sc){if(sc instanceof yi)return-sc.Ja;throw sc}},w:function(Fe,it,ht,Tt,ai,Ii){var Ji=N;try{var xr,$n=Mt[ai];$n&&2&ht&&(xr=ke[Ji(2679)](Fe,Fe+it),$n&&$n.Ga.ab&&$n.Ga.ab($n,xr,Ii,it,Tt))}catch(Ds){if(Ds instanceof yi)return-Ds.Ja;throw Ds}},n:Cu,p:function(){return 2147483648},d:FE,c:function(Fe){var it=N,ht=ke[it(1383)];if(2147483648<(Fe>>>=0))return!1;for(var Tt=1;Tt<=4;Tt*=2){var ai=ht*(1+.2/Tt),ai=Math[it(1869)](ai,Fe+100663296),Ii=Math;ai=Math[it(323)](Fe,ai),Ii=Ii[it(1869)][it(2623)](Ii,2147483648,ai+(65536-ai%65536)%65536);e:{try{de[it(206)](Ii-Te[it(250)]+65535>>>16),Et();var Ji=1;break e}catch{}Ji=void 0}if(Ji)return!0}return!1},y:function(Fe,it){var ht=N,Tt=0;return Fo()[ht(2455)](function(ai,Ii){var Ji=ht,xr=it+Tt;for(Ii=Le[Fe+4*Ii>>2]=xr,xr=0;xr<ai.length;++xr)Ge[Ii++>>0]=ai[Ji(2010)](xr);Ge[Ii>>0]=0,Tt+=ai.length+1}),0},z:function(Fe,it){var ht=N,Tt=Fo(),ai=(Le[Fe>>2]=Tt[ht(1383)],0);return Tt.forEach(function(Ii){var Ji=ht;ai+=Ii[Ji(1383)]+1}),Le[it>>2]=ai,0},f:function(Fe){try{var it=_c(Fe);return Mn(it),0}catch(ht){if(ht instanceof yi)return ht.Ja;throw ht}},l:function(Fe,it){var ht=N;try{var Tt=_c(Fe);return Ge[it>>0]=Tt[ht(1122)]?2:(61440&Tt[ht(704)])==16384?3:(61440&Tt[ht(704)])==40960?7:4,0}catch(ai){if(ai instanceof yi)return ai.Ja;throw ai}},t:function(Fe,it,ht,Tt){try{e:{for(var ai=_c(Fe),Ii=Fe=0;Ii<ht;Ii++){var Ji=Le[it+(8*Ii+4)>>2],xr=fo(ai,Ge,Le[it+8*Ii>>2],Ji,void 0);if(xr<0){var $n=-1;break e}if(Fe+=xr,xr<Ji)break}$n=Fe}return Le[Tt>>2]=$n,0}catch(Ds){if(Ds instanceof yi)return Ds.Ja;throw Ds}},k:function(Fe,it,ht,Tt,ai){var Ii=N;try{var Ji=_c(Fe);return(Fe=4294967296*ht+(it>>>0))<=-9007199254740992||9007199254740992<=Fe?-61:(tn(Ji,Fe,Tt),Qt=[Ji[Ii(2747)]>>>0,(yt=Ji[Ii(2747)],1<=+Math[Ii(1914)](yt)?0<yt?(0|Math.min(+Math.floor(yt/4294967296),4294967295))>>>0:~~+Math[Ii(1266)]((yt-(~~yt>>>0))/4294967296)>>>0:0)],Le[ai>>2]=Qt[0],Le[ai+4>>2]=Qt[1],Ji.gb&&Fe===0&&Tt===0&&(Ji.gb=null),0)}catch(xr){if(xr instanceof yi)return xr.Ja;throw xr}},C:function(Fe){var it=N;try{var ht=_c(Fe);return ht.Ga&&ht.Ga[it(2586)]?-ht.Ga[it(2586)](ht):0}catch(Tt){if(Tt instanceof yi)return Tt.Ja;throw Tt}},q:function(Fe,it,ht,Tt){try{e:{for(var ai=_c(Fe),Ii=Fe=0;Ii<ht;Ii++){var Ji=bo(ai,Ge,Le[it+8*Ii>>2],Le[it+(8*Ii+4)>>2],void 0);if(Ji<0){var xr=-1;break e}Fe+=Ji}xr=Fe}return Le[Tt>>2]=xr,0}catch($n){if($n instanceof yi)return $n.Ja;throw $n}}},lg=(function(){var Fe=N;function it(Ii){var Ji=Ut;G.asm=Ii[Ji(1729)],de=G[Ji(1267)].I,Et(),Ct=G.asm.za,ut.unshift(G[Ji(1267)].J),gt--,G[Ji(1019)]&&G.monitorRunDependencies(gt),gt==0&&(xt!==null&&(clearInterval(xt),xt=null),Lt&&(Ii=Lt,Lt=null,Ii()))}function ht(Ii){var Ji=Ut;it(Ii[Ji(392)])}function Tt(Ii){var Ji=Ut;return function(){var xr=Ut;if(!le&&(ge||fe)){if(xr(1451)==typeof fetch&&!ct[xr(962)]("file://"))return fetch(ct,{credentials:xr(1454)})[xr(2401)](function($n){var Ds=xr;if($n.ok)return $n[Ds(2272)]();throw Ds(979)+ct+"'"}).catch(ve);if(K)return new Promise(function($n,Ds){K(ct,function(hA){$n(new Uint8Array(hA))},Ds)})}return Promise[xr(1348)]()[xr(2401)](ve)}()[Ji(2401)](function(xr){var $n=Ji;return WebAssembly[$n(2653)](xr,ai)})[Ji(2401)](function(xr){return xr}).then(Ii,function(xr){var $n=Ji;W($n(144)+xr),nt(xr)})}var ai={a:sg};if(gt++,G.monitorRunDependencies&&G[Fe(1019)](gt),G.instantiateWasm)try{return G[Fe(1327)](ai,it)}catch(Ii){return W(Fe(2215)+Ii)}le||typeof WebAssembly[Fe(2250)]!="function"||Pe()||ct[Fe(962)](Fe(1099))||Fe(1451)!=typeof fetch?Tt(ht):fetch(ct,{credentials:Fe(1454)})[Fe(2401)](function(Ii){var Ji=Fe;return WebAssembly[Ji(2250)](Ii,ai)[Ji(2401)](ht,function(xr){var $n=Ji;return W($n(2628)+xr),W($n(1054)),Tt(ht)})})}(),G[N(214)]=function(){var Fe=N;return(G[Fe(214)]=G[Fe(1267)].J)[Fe(2559)](null,arguments)},G[N(1792)]=function(){var Fe=N;return(G[Fe(1792)]=G[Fe(1267)].K)[Fe(2559)](null,arguments)},G[N(1182)]=function(){var Fe=N;return(G[Fe(1182)]=G[Fe(1267)].L).apply(null,arguments)},G._sqlite3_value_text=function(){return(G._sqlite3_value_text=G.asm.M).apply(null,arguments)},G.___errno_location=function(){var Fe=N;return(lg=G[Fe(696)]=G[Fe(1267)].N)[Fe(2559)](null,arguments)}),D0=(G._sqlite3_prepare_v2=function(){var Fe=N;return(G[Fe(2233)]=G[Fe(1267)].O)[Fe(2559)](null,arguments)},G[N(2048)]=function(){var Fe=N;return(G[Fe(2048)]=G.asm.P)[Fe(2559)](null,arguments)},G[N(1385)]=function(){var Fe=N;return(G[Fe(1385)]=G[Fe(1267)].Q).apply(null,arguments)},G._sqlite3_reset=function(){var Fe=N;return(G[Fe(201)]=G[Fe(1267)].R)[Fe(2559)](null,arguments)},G[N(2095)]=function(){var Fe=N;return(G._sqlite3_value_int=G[Fe(1267)].S)[Fe(2559)](null,arguments)},G[N(1621)]=function(){return(G._sqlite3_clear_bindings=G.asm.T).apply(null,arguments)},G[N(2068)]=function(){var Fe=N;return(G._sqlite3_value_blob=G.asm.U)[Fe(2559)](null,arguments)},G._sqlite3_value_bytes=function(){var Fe=N;return(G[Fe(1703)]=G[Fe(1267)].V).apply(null,arguments)},G[N(1839)]=function(){var Fe=N;return(G._sqlite3_value_type=G[Fe(1267)].W)[Fe(2559)](null,arguments)},G[N(1504)]=function(){var Fe=N;return(G[Fe(1504)]=G[Fe(1267)].X)[Fe(2559)](null,arguments)},G[N(211)]=function(){var Fe=N;return(G._sqlite3_result_double=G[Fe(1267)].Y).apply(null,arguments)},G[N(2015)]=function(){var Fe=N;return(G[Fe(2015)]=G[Fe(1267)].Z)[Fe(2559)](null,arguments)},G[N(597)]=function(){var Fe=N;return(G._sqlite3_result_int=G[Fe(1267)]._)[Fe(2559)](null,arguments)},G[N(1245)]=function(){var Fe=N;return(G[Fe(1245)]=G[Fe(1267)].$)[Fe(2559)](null,arguments)},G[N(1071)]=function(){var Fe=N;return(G[Fe(1071)]=G[Fe(1267)].aa)[Fe(2559)](null,arguments)},G[N(572)]=function(){var Fe=N;return(G[Fe(572)]=G.asm.ba)[Fe(2559)](null,arguments)},G[N(2004)]=function(){var Fe=N;return(G[Fe(2004)]=G[Fe(1267)].ca)[Fe(2559)](null,arguments)},G[N(2626)]=function(){var Fe=N;return(G[Fe(2626)]=G[Fe(1267)].da)[Fe(2559)](null,arguments)},G[N(2669)]=function(){var Fe=N;return(G[Fe(2669)]=G[Fe(1267)].ea)[Fe(2559)](null,arguments)},G._sqlite3_column_blob=function(){var Fe=N;return(G[Fe(727)]=G[Fe(1267)].fa).apply(null,arguments)},G[N(1959)]=function(){var Fe=N;return(G[Fe(1959)]=G[Fe(1267)].ga).apply(null,arguments)},G[N(2591)]=function(){var Fe=N;return(G[Fe(2591)]=G.asm.ha)[Fe(2559)](null,arguments)},G[N(2505)]=function(){var Fe=N;return(G[Fe(2505)]=G[Fe(1267)].ia)[Fe(2559)](null,arguments)},G[N(832)]=function(){var Fe=N;return(G[Fe(832)]=G[Fe(1267)].ja)[Fe(2559)](null,arguments)},G[N(1708)]=function(){var Fe=N;return(G._sqlite3_column_name=G[Fe(1267)].ka)[Fe(2559)](null,arguments)},G[N(400)]=function(){var Fe=N;return(G[Fe(400)]=G.asm.la)[Fe(2559)](null,arguments)},G._sqlite3_bind_double=function(){var Fe=N;return(G[Fe(198)]=G[Fe(1267)].ma)[Fe(2559)](null,arguments)},G[N(1517)]=function(){var Fe=N;return(G[Fe(1517)]=G[Fe(1267)].na).apply(null,arguments)},G[N(2646)]=function(){var Fe=N;return(G._sqlite3_bind_text=G.asm.oa)[Fe(2559)](null,arguments)},G._sqlite3_bind_parameter_index=function(){var Fe=N;return(G[Fe(228)]=G[Fe(1267)].pa)[Fe(2559)](null,arguments)},G[N(2206)]=function(){var Fe=N;return(G[Fe(2206)]=G[Fe(1267)].qa)[Fe(2559)](null,arguments)},G[N(2751)]=function(){var Fe=N;return(G[Fe(2751)]=G[Fe(1267)].ra)[Fe(2559)](null,arguments)},G[N(1799)]=function(){var Fe=N;return(G[Fe(1799)]=G[Fe(1267)].sa)[Fe(2559)](null,arguments)},G._sqlite3_changes=function(){var Fe=N;return(G[Fe(1188)]=G.asm.ta)[Fe(2559)](null,arguments)},G._sqlite3_close_v2=function(){var Fe=N;return(G[Fe(1058)]=G.asm.ua)[Fe(2559)](null,arguments)},G._sqlite3_create_function_v2=function(){var Fe=N;return(G[Fe(1439)]=G[Fe(1267)].va)[Fe(2559)](null,arguments)},G[N(2214)]=function(){var Fe=N;return(G._sqlite3_open=G[Fe(1267)].wa)[Fe(2559)](null,arguments)},G[N(2389)]=function(){var Fe=N;return(D0=G[Fe(2389)]=G[Fe(1267)].xa)[Fe(2559)](null,arguments)}),Ni=G[N(2568)]=function(){return(Ni=G._free=G.asm.ya).apply(null,arguments)},qn=(G._RegisterExtensionFunctions=function(){var Fe=N;return(G[Fe(975)]=G[Fe(1267)].Aa).apply(null,arguments)},G[N(2445)]=function(){var Fe=N;return(qn=G._emscripten_builtin_memalign=G.asm.Ba)[Fe(2559)](null,arguments)}),bn=G[N(2656)]=function(){var Fe=N;return(bn=G[Fe(2656)]=G[Fe(1267)].Ca)[Fe(2559)](null,arguments)},$e=G.stackRestore=function(){var Fe=N;return($e=G.stackRestore=G[Fe(1267)].Da)[Fe(2559)](null,arguments)},lt=G.stackAlloc=function(){var Fe=N;return(lt=G.stackAlloc=G[Fe(1267)].Ea).apply(null,arguments)};function Dt(){var Fe=N;function it(){var Tt=Ut;if(!Vg&&(Vg=!0,G.calledRun=!0,!me)){if(G[Tt(738)]||wi||(wi=!0,xl(),G.stdin=G[Tt(1401)],G[Tt(2512)]=G[Tt(2512)],G.stderr=G[Tt(1229)],G[Tt(1401)]?Wl(Tt(1401),G[Tt(1401)]):_d("/dev/tty","/dev/stdin"),G.stdout?Wl(Tt(2512),null,G[Tt(2512)]):_d(Tt(1289),Tt(252)),G[Tt(1229)]?Wl("stderr",null,G[Tt(1229)]):_d("/dev/tty1",Tt(602)),Cn(Tt(2643),0),Cn(Tt(252),1),Cn("/dev/stderr",1)),Wi=!1,We(ut),G.onRuntimeInitialized&&G[Tt(311)](),G[Tt(1445)])for(typeof G[Tt(1445)]=="function"&&(G[Tt(1445)]=[G.postRun]);G[Tt(1445)][Tt(1383)];){var ai=G[Tt(1445)][Tt(537)]();St[Tt(2254)](ai)}We(St)}}if(!(0<gt)){if(G[Fe(2743)])for(Fe(1451)==typeof G[Fe(2743)]&&(G.preRun=[G[Fe(2743)]]);G.preRun[Fe(1383)];)ht=G[Fe(2743)].shift(),Ze.unshift(ht);We(Ze),0<gt||(G.setStatus?(G[Fe(2388)](Fe(226)),setTimeout(function(){setTimeout(function(){var Tt=Ut;G[Tt(2388)]("")},1),it()},1)):it())}var ht}if(G[N(749)]=function(Fe,it,ht,Tt){var ai=N,Ii=(ht=ht||[])[ai(326)](function(Ji){return Ji==="number"});return it!=="string"&&Ii&&!Tt?G["_"+Fe]:function(){var Ji=ai,xr=Fe,$n=it,Ds=ht,hA=arguments,sc={string:function(T0){var pm=Ut,vd,Uc=0;return T0!=null&&T0!==0&&(vd=1+(T0[pm(1383)]<<2),Uc=lt(vd),Xe(T0,ke,Uc,vd)),Uc},array:function(T0){var pm=Ut,vd=lt(T0[pm(1383)]);return Ge[pm(2573)](T0,vd),vd}},Zu=(xr=G["_"+xr],[]),tf=0;if(hA)for(var rf=0;rf<hA[Ji(1383)];rf++){var as=sc[Ds[rf]];as?(tf===0&&(tf=bn()),Zu[rf]=as(hA[rf])):Zu[rf]=hA[rf]}return xr=Ds=xr[Ji(2559)](null,Zu),tf!==0&&$e(tf),$n==="string"?Je(xr):Ji(1015)===$n?!!xr:xr}},G.UTF8ToString=Je,G[N(2656)]=bn,G[N(489)]=$e,G[N(2478)]=lt,Lt=function Fe(){Vg||Dt(),Vg||(Lt=Fe)},G[N(2407)]=Dt,G[N(1865)])for(typeof G.preInit=="function"&&(G.preInit=[G[N(1865)]]);0<G[N(1865)][N(1383)];)G[N(1865)][N(440)]()();return Dt(),ue})}B=T[w(2362)](B);var D=T(34155),R=T(25108),P=T(48764)[w(1641)],M=void 0;B[w(1729)]=S,B[w(1729)][w(1060)]=S},39809:(B,Q,T)=>{var w=Ut;let S=Q;S[w(1655)]=T(4590),S[w(153)]=T(22500).define,S[w(1631)]=T(71979),S[w(2693)]=T(36826),S[w(1907)]=T(78307),S[w(1181)]=T(56579)},22500:(B,Q,T)=>{var w=Ut;let S=T(56579),D=T(78307),R=T(35717),P=Q;function M(L,F){var k=Ut;this[k(878)]=L,this[k(1022)]=F,this[k(1907)]={},this[k(1181)]={}}P.define=function(L,F){return new M(L,F)},M[w(1166)][w(1831)]=function(L){let F=this.name;function k(N){var G=Ut;this[G(1661)](N,F)}return R(k,L),k.prototype._initNamed=function(N,G){var J=Ut;L[J(2623)](this,N,G)},new k(this)},M[w(1166)]._getDecoder=function(L){var F=w;return this.decoders.hasOwnProperty(L=L||F(1488))||(this.decoders[L]=this[F(1831)](D[L])),this[F(1907)][L]},M.prototype[w(2758)]=function(L,F,k){var N=w;return this._getDecoder(F)[N(2758)](L,k)},M[w(1166)][w(1452)]=function(L){var F=w;return this[F(1181)].hasOwnProperty(L=L||F(1488))||(this[F(1181)][L]=this[F(1831)](S[L])),this[F(1181)][L]},M[w(1166)][w(2371)]=function(L,F,k){var N=w;return this[N(1452)](F)[N(2371)](L,k)}},36625:(B,Q,T)=>{var w=Ut;let S=T(35717),D=T(98465).b,R=T(2399)[w(1641)];function P(L,F){var k=w;D[k(2623)](this,F),R[k(1302)](L)?(this.base=L,this.offset=0,this.length=L[k(1383)]):this[k(899)]("Input not Buffer")}function M(L,F){var k=w;if(Array.isArray(L))this.length=0,this[k(242)]=L[k(2135)](function(N){var G=k;return M[G(588)](N)||(N=new M(N,F)),this[G(1383)]+=N.length,N},this);else if(typeof L=="number"){if(!(0<=L&&L<=255))return F[k(899)](k(586));this.value=L,this[k(1383)]=1}else if(k(1896)==typeof L)this[k(242)]=L,this[k(1383)]=R[k(250)](L);else{if(!R.isBuffer(L))return F[k(899)](k(1812)+typeof L);this[k(242)]=L,this[k(1383)]=L[k(1383)]}}S(P,D),(Q.C=P)[w(256)]=function(L){var F=w;return L instanceof P||F(1499)==typeof L&&R[F(1302)](L[F(1631)])&&F(673)===L[F(2267)].name&&F(2013)==typeof L[F(2084)]&&F(2013)==typeof L[F(1383)]&&F(1451)==typeof L[F(2163)]&&F(1451)==typeof L[F(1710)]&&F(1451)==typeof L.isEmpty&&F(1451)==typeof L[F(1045)]&&F(1451)==typeof L[F(668)]&&F(1451)==typeof L[F(1427)]},P[w(1166)].save=function(){var L=w;return{offset:this[L(2084)],reporter:D[L(1166)][L(2163)][L(2623)](this)}},P[w(1166)][w(1710)]=function(L){var F=w;let k=new P(this.base);return k.offset=L[F(2084)],k[F(1383)]=this[F(2084)],this.offset=L[F(2084)],D[F(1166)].restore[F(2623)](this,L[F(378)]),k},P[w(1166)].isEmpty=function(){var L=w;return this.offset===this[L(1383)]},P.prototype[w(1045)]=function(L){var F=w;return this[F(2084)]+1<=this[F(1383)]?this[F(1631)][F(1045)](this[F(2084)]++,!0):this[F(899)](L||"DecoderBuffer overrun")},P[w(1166)][w(668)]=function(L,F){var k=w;if(!(this[k(2084)]+L<=this.length))return this[k(899)](F||k(1921));let N=new P(this[k(1631)]);return N[k(1400)]=this._reporterState,N[k(2084)]=this[k(2084)],N[k(1383)]=this[k(2084)]+L,this[k(2084)]+=L,N},P.prototype[w(1427)]=function(L){var F=w;return this[F(1631)][F(2679)]((L||this)[F(2084)],this[F(1383)])},(Q.R=M)[w(588)]=function(L){var F=w;return L instanceof M||F(1499)==typeof L&&F(2458)===L[F(2267)][F(878)]&&F(2013)==typeof L[F(1383)]&&typeof L[F(951)]=="function"},M[w(1166)][w(951)]=function(L,F){var k=w;return L=L||R[k(1581)](this[k(1383)]),F=F||0,this[k(1383)]!==0&&(Array[k(2507)](this.value)?this.value[k(2455)](function(N){N.join(L,F),F+=N.length}):(k(2013)==typeof this.value?L[F]=this.value:k(1896)==typeof this[k(242)]?L[k(2430)](this[k(242)],F):R[k(1302)](this.value)&&this.value[k(1830)](L,F),F+=this[k(1383)])),L}},71979:(B,Q,T)=>{var w=Ut;let S=Q;S[w(2333)]=T(98465).b,S.DecoderBuffer=T(36625).C,S[w(2458)]=T(36625).R,S[w(688)]=T(41949)},41949:(B,Q,T)=>{var w=Ut;let S=T(98465).b,D=T(36625).R,R=T(36625).C,P=T(79746),M=[w(611),"seqof",w(2573),w(2516),w(1085),w(814),w(715),"utctime",w(1874),w(753),w(630),w(577),w(1104),w(515),"charstr",w(1290),w(129),w(987),w(1483),w(1751),"octstr",w(719),w(2702),w(1722),w(1038),"videostr"],L=[w(513),"obj",w(852),w(2347),w(1654),w(1634),w(1685),w(670),w(1419),w(1948)][w(1544)](M);function F(N,G,J){var K=w;let X={};(this._baseState=X)[K(878)]=J,X[K(2217)]=N,X.parent=G||null,X[K(2564)]=null,X[K(904)]=null,X[K(1460)]=null,X[K(322)]=null,X.choice=null,X[K(2347)]=!1,X.any=!1,X[K(882)]=!1,X[K(852)]=null,X.useDecoder=null,X.key=null,X[K(1060)]=null,X[K(1654)]=null,X[K(1634)]=null,X[K(1948)]=null,X[K(2476)]||(X[K(2564)]=[],this[K(531)]())}B[w(1729)]=F;let k=[w(2217),"parent",w(2564),"tag",w(1460),w(322),w(670),w(2347),w(1419),w(882),w(852),w(1676),w(513),"default",w(1654),w(1634),"contains"];F.prototype[w(2164)]=function(){var N=w;let G=this[N(146)],J={},K=(k[N(2455)](function(X){J[X]=G[X]}),new this.constructor(J[N(2476)]));return K._baseState=J,K},F[w(1166)][w(531)]=function(){var N=w;let G=this._baseState;L[N(2455)](function(J){this[J]=function(){var K=Ut;let X=new this[K(2267)](this);return G[K(2564)].push(X),X[J].apply(X,arguments)}},this)},F[w(1166)][w(2151)]=function(N){var G=w;let J=this[G(146)];P(J[G(2476)]===null),N[G(2623)](this),J[G(2564)]=J.children.filter(function(K){var X=G;return K[X(146)][X(2476)]===this},this),P[G(610)](J[G(2564)][G(1383)],1,G(1334))},F.prototype[w(2677)]=function(N){var G=w;let J=this[G(146)],K=N[G(711)](function(X){return X instanceof this.constructor},this);N=N[G(711)](function(X){var q=G;return!(X instanceof this[q(2267)])},this),K.length!==0&&(P(J.children===null),(J[G(2564)]=K)[G(2455)](function(X){var q=G;X[q(146)][q(2476)]=this},this)),N[G(1383)]!==0&&(P(J[G(1460)]===null),J[G(1460)]=N,J[G(322)]=N[G(2135)](function(X){var q=G;if(q(1499)!=typeof X||X[q(2267)]!==Object)return X;let ee={};return Object[q(451)](X).forEach(function(ie){ie==(0|ie)&&(ie|=0);var H=X[ie];ee[H]=ie}),ee}))},[w(2106),"_decodeTag",w(1583),w(1141),"_decodeObjid",w(507),w(1503),w(1814),w(1097),w(1282),"_encodeComposite",w(334),"_encodeObjid",w(1404),w(714),"_encodeInt",w(2266)][w(2455)](function(N){var G=w;F[G(1166)][N]=function(){var J=G,K=this._baseState;throw new Error(N+J(992)+K.enc)}}),M.forEach(function(N){var G=w;F[G(1166)][N]=function(){var J=G;let K=this[J(146)];var X=Array[J(1166)][J(2679)][J(2623)](arguments);return P(K[J(904)]===null),K[J(904)]=N,this[J(2677)](X),this}}),F[w(1166)].use=function(N){var G=w;P(N);let J=this[G(146)];return P(J[G(852)]===null),J[G(852)]=N,this},F[w(1166)][w(2347)]=function(){var N=w;let G=this[N(146)];return G[N(2347)]=!0,this},F[w(1166)][w(1685)]=function(N){var G=w;let J=this[G(146)];return P(J.default===null),J[G(1060)]=N,J[G(2347)]=!0,this},F[w(1166)][w(1654)]=function(N){var G=w;let J=this[G(146)];return P(J[G(1654)]===null&&J[G(1634)]===null),J[G(1654)]=N,this},F[w(1166)][w(1634)]=function(N){var G=w;let J=this[G(146)];return P(J[G(1654)]===null&&J.implicit===null),J.implicit=N,this},F[w(1166)].obj=function(){var N=w;let G=this[N(146)];var J=Array.prototype.slice[N(2623)](arguments);return G[N(882)]=!0,J[N(1383)]!==0&&this[N(2677)](J),this},F.prototype[w(513)]=function(N){var G=w;let J=this._baseState;return P(J.key===null),J[G(513)]=N,this},F[w(1166)][w(1419)]=function(){var N=w;let G=this[N(146)];return G[N(1419)]=!0,this},F.prototype.choice=function(N){var G=w;let J=this._baseState;return P(J[G(670)]===null),J.choice=N,this._useArgs(Object[G(451)](N).map(function(K){return N[K]})),this},F.prototype[w(1948)]=function(N){var G=w;let J=this[G(146)];return P(J[G(852)]===null),J.contains=N,this},F[w(1166)][w(502)]=function(N,G){var J=w;let K=this._baseState;if(K[J(2476)]===null)return N[J(1179)](K.children[0][J(502)](N,G));let X=K[J(1060)],q=!0,ee=null;if(K[J(513)]!==null&&(ee=N[J(1277)](K.key)),K[J(2347)]){let ue=null;if(K[J(1654)]!==null?ue=K[J(1654)]:K.implicit!==null?ue=K.implicit:K[J(904)]!==null&&(ue=K[J(904)]),ue!==null||K.any){if(q=this[J(2106)](N,ue,K[J(1419)]),N[J(1405)](q))return q}else{var ie=N[J(2163)]();try{K.choice===null?this[J(2417)](K.tag,N,G):this[J(2767)](N,G),q=!0}catch{q=!1}N[J(1710)](ie)}}let H;if(K[J(882)]&&q&&(H=N[J(2714)]()),q){if(K[J(1654)]!==null){if(ie=this[J(2724)](N,K[J(1654)]),N.isError(ie))return ie;N=ie}if(ie=N[J(2084)],K.use===null&&K[J(670)]===null){let ue;K[J(1419)]&&(ue=N.save());var le=this[J(2724)](N,K[J(1634)]!==null?K[J(1634)]:K[J(904)],K[J(1419)]);if(N.isError(le))return le;K[J(1419)]?X=N.raw(ue):N=le}if(G&&G[J(1772)]&&K[J(904)]!==null&&G[J(1772)](N.path(),ie,N[J(1383)],J(1566)),G&&G[J(1772)]&&K.tag!==null&&G[J(1772)](N[J(1596)](),N.offset,N[J(1383)],J(1382)),K[J(1419)]||(X=K.choice===null?this[J(2417)](K.tag,N,G):this[J(2767)](N,G)),N[J(1405)](X))return X;K[J(1419)]||K[J(670)]!==null||K[J(2564)]===null||K[J(2564)][J(2455)](function(ue){var Ae=J;ue[Ae(502)](N,G)}),!K[J(1948)]||J(2565)!==K[J(904)]&&J(1104)!==K[J(904)]||(le=new R(X),X=this._getUse(K[J(1948)],N[J(1400)][J(882)])._decode(le,G))}return K.obj&&q&&(X=N[J(2533)](H)),K.key===null||X===null&&q!==!0?ee!==null&&N[J(984)](ee):N.leaveKey(ee,K[J(513)],X),X},F[w(1166)]._decodeGeneric=function(N,G,J){var K=w,X=this._baseState;return K(611)===N||N==="set"?null:K(336)===N||N==="setof"?this._decodeList(G,N,X[K(1460)][0],J):/str$/[K(1172)](N)?this[K(1141)](G,N,J):K(1085)===N&&X[K(1460)]?this[K(2729)](G,X[K(1460)][0],X[K(1460)][1],J):K(1085)===N?this[K(2729)](G,null,null,J):N==="gentime"||N==="utctime"?this[K(507)](G,N,J):K(1874)===N?this[K(1503)](G,J):K(814)===N?this[K(1097)](G,J):N==="objDesc"?this[K(1141)](G,N,J):K(630)===N||K(753)===N?this[K(1814)](G,X[K(1460)]&&X.args[0],J):X[K(852)]!==null?this[K(520)](X[K(852)],G[K(1400)][K(882)])[K(502)](G,J):G[K(899)](K(2713)+N)},F.prototype[w(520)]=function(N,G){var J=w;let K=this[J(146)];return K[J(846)]=this._use(N,G),P(K[J(846)][J(146)][J(2476)]===null),K[J(846)]=K[J(846)][J(146)][J(2564)][0],K[J(1634)]!==K[J(846)][J(146)].implicit&&(K.useDecoder=K[J(846)][J(2164)](),K[J(846)]._baseState[J(1634)]=K.implicit),K[J(846)]},F[w(1166)][w(2767)]=function(N,G){var J=w;let K=this[J(146)],X=null,q=!1;return Object[J(451)](K.choice)[J(618)](function(ee){var ie=J,H=N[ie(2163)]();let le=K[ie(670)][ee];try{var ue=le[ie(502)](N,G);if(N.isError(ue))return!1;X={type:ee,value:ue},q=!0}catch{return N[ie(1710)](H),!1}return!0},this),q?X:N[J(899)](J(2126))},F[w(1166)][w(1877)]=function(N){var G=w;return new D(N,this[G(378)])},F[w(1166)][w(1446)]=function(N,G,J){var K=w,X=this[K(146)];if((X[K(1060)]===null||X.default!==N)&&(X=this._encodeValue(N,G,J),X!==void 0&&!this[K(1930)](X,G,J)))return X},F.prototype[w(740)]=function(N,G,J){var K=w;let X=this[K(146)];if(X.parent===null)return X[K(2564)][0]._encode(N,G||new S);let q=null;if(this[K(378)]=G,X.optional&&N===void 0){if(X.default===null)return;N=X[K(1060)]}let ee=null,ie=!1;if(X[K(1419)])q=this[K(1877)](N);else if(X[K(670)])q=this[K(1108)](N,G);else if(X.contains)ee=this[K(520)](X[K(1948)],J)[K(1446)](N,G),ie=!0;else if(X.children)ee=X[K(2564)][K(2135)](function(le){var ue=K;if(ue(1874)===le._baseState[ue(904)])return le._encode(null,G,N);if(le[ue(146)][ue(513)]===null)return G.error(ue(2715));var Ae=G[ue(1277)](le[ue(146)][ue(513)]);return ue(1499)!=typeof N?G[ue(899)](ue(2403)):(le=le[ue(1446)](N[le[ue(146)][ue(513)]],G,N),G[ue(1840)](Ae),le)},this)[K(711)](function(le){return le}),ee=this._createEncoderBuffer(ee);else if(K(336)===X[K(904)]||K(2516)===X[K(904)]){if(!X[K(1460)]||X.args[K(1383)]!==1)return G.error("Too many args for : "+X[K(904)]);if(!Array[K(2507)](N))return G.error("seqof/setof, but data is not Array");let le=this.clone();le[K(146)].implicit=null,ee=this[K(1877)](N[K(2135)](function(ue){var Ae=K,he=this._baseState;return this._getUse(he[Ae(1460)][0],N)[Ae(1446)](ue,G)},le))}else X.use!==null?q=this[K(520)](X[K(852)],J)[K(1446)](N,G):(ee=this[K(1765)](X[K(904)],N),ie=!0);var H;return X[K(1419)]||X.choice!==null||(J=X.implicit!==null?X[K(1634)]:X[K(904)],H=X[K(1634)]===null?K(801):K(965),J===null?X[K(852)]===null&&G[K(899)]("Tag could be omitted only for .use()"):X[K(852)]===null&&(q=this[K(225)](J,ie,H,ee))),q=X.explicit!==null?this[K(225)](X[K(1654)],!1,"context",q):q},F.prototype._encodeChoice=function(N,G){var J=w,K=this._baseState;let X=K[J(670)][N[J(277)]];return X||P(!1,N.type+J(371)+JSON[J(875)](Object[J(451)](K[J(670)]))),X._encode(N.value,G)},F[w(1166)][w(1765)]=function(N,G){var J=w,K=this[J(146)];if(/str$/.test(N))return this[J(334)](G,N);if(J(1085)===N&&K[J(1460)])return this[J(2602)](G,K[J(322)][0],K[J(1460)][1]);if(J(1085)===N)return this[J(2602)](G,null,null);if(N==="gentime"||J(1090)===N)return this[J(1404)](G,N);if(J(1874)===N)return this[J(714)]();if(N==="int"||J(753)===N)return this[J(581)](G,K[J(1460)]&&K.reverseArgs[0]);if(N==="bool")return this[J(2266)](G);if(J(577)===N)return this[J(334)](G,N);throw new Error(J(415)+N)},F[w(1166)][w(1375)]=function(N){var G=w;return/^[0-9 ]*$/[G(1172)](N)},F.prototype[w(947)]=function(N){var G=w;return/^[A-Za-z0-9 '()+,-./:=?]*$/[G(1172)](N)}},98465:(B,Q,T)=>{var w=Ut;let S=T(35717);function D(P){var M=Ut;this[M(1400)]={obj:null,path:[],options:P||{},errors:[]}}function R(P,M){var L=Ut;this[L(1596)]=P,this.rethrow(M)}(Q.b=D)[w(1166)][w(1405)]=function(P){return P instanceof R},D[w(1166)].save=function(){var P=w,M=this._reporterState;return{obj:M.obj,pathLen:M[P(1596)][P(1383)]}},D[w(1166)][w(1710)]=function(P){var M=w;let L=this[M(1400)];L.obj=P.obj,L.path=L[M(1596)][M(2679)](0,P[M(1835)])},D[w(1166)][w(1277)]=function(P){var M=w;return this[M(1400)][M(1596)][M(182)](P)},D[w(1166)][w(984)]=function(P){var M=w;let L=this[M(1400)];L[M(1596)]=L[M(1596)][M(2679)](0,P-1)},D[w(1166)].leaveKey=function(P,M,L){var F=w;let k=this[F(1400)];this[F(984)](P),k[F(882)]!==null&&(k[F(882)][M]=L)},D[w(1166)][w(1596)]=function(){var P=w;return this._reporterState[P(1596)][P(951)]("/")},D[w(1166)][w(2714)]=function(){var P=w;let M=this[P(1400)];var L=M.obj;return M[P(882)]={},L},D[w(1166)][w(2533)]=function(P){var M=w;let L=this[M(1400)];var F=L[M(882)];return L[M(882)]=P,F},D[w(1166)].error=function(k){var M=w;let L=this[M(1400)];var F=k instanceof R,k=F?k:new R(L[M(1596)].map(function(N){var G=M;return"["+JSON[G(875)](N)+"]"})[M(951)](""),k[M(1531)]||k,k[M(1461)]);if(L.options[M(1735)])return F||L[M(1079)].push(k),k;throw k},D.prototype[w(1179)]=function(P){var M=w,L=this[M(1400)];return L[M(2205)][M(1735)]?{result:this.isError(P)?null:P,errors:L[M(1079)]}:P},S(R,Error),R[w(1166)].rethrow=function(P){var M=w;if(this[M(1531)]=P+M(1339)+(this[M(1596)]||M(302)),Error[M(1051)]&&Error[M(1051)](this,R),!this[M(1461)])try{throw new Error(this[M(1531)])}catch(L){this[M(1461)]=L[M(1461)]}return this}},70160:(B,Q)=>{var T=Ut;function w(S){var D=Ut;let R={};return Object[D(451)](S)[D(2455)](function(P){(0|P)==P&&(P|=0);var M=S[P];R[M]=P}),R}Q[T(2336)]={0:T(801),1:T(649),2:T(965),3:T(2770)},Q[T(1192)]=w(Q[T(2336)]),Q[T(904)]={0:T(1960),1:T(814),2:T(630),3:T(1104),4:T(2565),5:T(1874),6:T(1085),7:T(577),8:T(1070),9:T(1393),10:T(753),11:T(417),12:"utf8str",13:T(999),16:T(611),17:T(2573),18:T(1751),19:T(719),20:T(2702),21:T(627),22:T(987),23:T(1090),24:T(715),25:T(129),26:T(1483),27:T(1290),28:"unistr",29:T(1944),30:T(515)},Q[T(759)]=w(Q[T(904)])},36826:(B,Q,T)=>{var w=Ut;let S=Q;S._reverse=function(D){var R=Ut;let P={};return Object[R(451)](D)[R(2455)](function(M){(0|M)==M&&(M|=0);var L=D[M];P[L]=M}),P},S[w(1488)]=T(70160)},41671:(B,Q,T)=>{var w=Ut;let S=T(35717),D=T(4590),R=T(36625).C,P=T(41949),M=T(70160);function L(N){var G=Ut;P[G(2623)](this,G(1488),N)}function F(N,G){var J=Ut;let K=N[J(1045)](G);if(N.isError(K))return K;var X=M[J(2336)][K>>6],q=(32&K)==0;if((31&K)==31){let ie=K;for(K=0;(128&ie)==128;){if(ie=N.readUInt8(G),N[J(1405)](ie))return ie;K=(K<<=7)|127&ie}}else K&=31;var ee=M[J(904)][K];return{cls:X,primitive:q,tag:K,tagStr:ee}}function k(N,G,J){var K=Ut;let X=N[K(1045)](J);if(N.isError(X))return X;if(!G&&X===128)return null;if((128&X)==0)return X;var q=127&X;if(4<q)return N[K(899)](K(1490));for(let ie=X=0;ie<q;ie++){X<<=8;var ee=N[K(1045)](J);if(N.isError(ee))return ee;X|=ee}return X}(B[w(1729)]=function(N){var G=w;this.enc=G(1488),this[G(878)]=N.name,this[G(1301)]=N,this[G(1373)]=new L,this.tree[G(2151)](N.body)})[w(1166)][w(2758)]=function(N,G){var J=w;return R[J(256)](N)||(N=new R(N,G)),this[J(1373)]._decode(N,G)},S(L,P),L[w(1166)][w(2106)]=function(N,G,J){var K=w;if(N[K(1426)]())return!1;var X=N[K(2163)](),q=F(N,'Failed to peek tag: "'+G+'"');return N[K(1405)](q)?q:(N[K(1710)](X),q[K(904)]===G||q[K(2654)]===G||q[K(2654)]+"of"===G||J)},L[w(1166)]._decodeTag=function(N,G,J){var K=w,X=F(N,K(2510)+G+'"');if(N.isError(X))return X;let q=k(N,X.primitive,K(1744)+G+'"');return N[K(1405)](q)?q:!J&&X[K(904)]!==G&&X[K(2654)]!==G&&X[K(2654)]+"of"!==G?N.error(K(1473)+G+'"'):X[K(510)]||q!==null?N[K(668)](q,K(327)+G+'"'):(J=N[K(2163)](),X=this._skipUntilEnd(N,'Failed to skip indefinite length body: "'+this[K(904)]+'"'),N.isError(X)?X:(q=N[K(2084)]-J[K(2084)],N[K(1710)](J),N.skip(q,K(327)+G+'"')))},L[w(1166)][w(483)]=function(N,G){for(var J=w;;){var K=F(N,G);if(N[J(1405)](K))return K;var X=k(N,K[J(510)],G);if(N.isError(X)||(X=K[J(510)]||X!==null?N.skip(X):this[J(483)](N,G),N.isError(X)))return X;if(J(1960)===K[J(2654)])break}},L[w(1166)][w(1282)]=function(N,G,J,K){var X=w;let q=[];for(;!N.isEmpty();){var ee=this[X(2106)](N,X(1960));if(N[X(1405)](ee))return ee;var ie=J[X(2758)](N,"der",K);if(N[X(1405)](ie)&&ee)break;q[X(182)](ie)}return q},L.prototype[w(1141)]=function(N,G){var J=w,K;if(J(1104)===G)return K=N[J(1045)](),N.isError(K)?K:{unused:K,data:N[J(1427)]()};if(J(515)!==G)return J(1751)===G?(K=N[J(1427)]().toString(J(641)),this[J(1375)](K)?K:N[J(899)](J(909))):J(2565)===G||J(577)===G?N.raw():G==="printstr"?(K=N[J(1427)]()[J(1888)]("ascii"),this[J(947)](K)?K:N[J(899)]("Decoding of string type: printstr unsupported characters")):/str$/[J(1172)](G)?N.raw()[J(1888)]():N[J(899)](J(266)+G+J(1706));{let X=N.raw();if(X[J(1383)]%2==1)return N[J(899)](J(2115));let q="";for(let ee=0;ee<X[J(1383)]/2;ee++)q+=String.fromCharCode(X.readUInt16BE(2*ee));return q}},L[w(1166)][w(2729)]=function(N,G,J){var K=w;let X,q=[],ee=0,ie=0;for(;!N[K(1426)]();)ie=N[K(1045)](),ee=(ee<<=7)|127&ie,(128&ie)==0&&(q.push(ee),ee=0);128&ie&&q[K(182)](ee);let H=q[0]/40|0,le=q[0]%40;if(X=J?q:[H,le].concat(q[K(2679)](1)),G){let ue=G[X[K(951)](" ")];(ue=ue===void 0?G[X[K(951)](".")]:ue)!==void 0&&(X=ue)}return X},L[w(1166)]._decodeTime=function(N,G){var J=w;let K=N.raw().toString(),X,q,ee,ie,H,le;if(J(715)===G)X=0|K[J(2679)](0,4),q=0|K[J(2679)](4,6),ee=0|K[J(2679)](6,8),ie=0|K[J(2679)](8,10),H=0|K[J(2679)](10,12),le=0|K[J(2679)](12,14);else{if(G!=="utctime")return N[J(899)](J(1810)+G+J(712));X=0|K[J(2679)](0,2),q=0|K[J(2679)](2,4),ee=0|K[J(2679)](4,6),ie=0|K[J(2679)](6,8),H=0|K[J(2679)](8,10),le=0|K.slice(10,12),X=X<70?2e3+X:1900+X}return Date[J(1146)](X,q-1,ee,ie,H,le,0)},L[w(1166)][w(1503)]=function(){return null},L[w(1166)][w(1097)]=function(N){var G=w,J=N[G(1045)]();return N[G(1405)](J)?J:J!==0},L[w(1166)][w(1814)]=function(N,G){var J=w;N=N[J(1427)]();let K=new D(N);return K=G&&G[K[J(1888)](10)]||K},L[w(1166)]._use=function(N,G){var J=w;return(N=J(1451)==typeof N?N(G):N)._getDecoder(J(1488))[J(1373)]}},78307:(B,Q,T)=>{var w=Ut;let S=Q;S[w(1488)]=T(41671),S.pem=T(59631)},59631:(B,Q,T)=>{var w=Ut;let S=T(35717),D=T(2399)[w(1641)],R=T(41671);function P(M){var L=w;R.call(this,M),this[L(2217)]=L(1800)}S(P,R),(B[w(1729)]=P)[w(1166)][w(2758)]=function(M,L){var F=w;let k=M[F(1888)]()[F(2259)](/[\r\n]+/g);var N=L[F(833)][F(1589)](),G=/^-----(BEGIN|END) ([^-]+)-----$/;let J=-1,K=-1;for(let ee=0;ee<k.length;ee++){var X=k[ee][F(373)](G);if(X!==null&&X[2]===N){if(J!==-1){if(X[1]!=="END")break;K=ee;break}if(F(2012)!==X[1])break;J=ee}}if(J===-1||K===-1)throw new Error(F(342)+N);let q=k.slice(J+1,K)[F(951)]("");return q.replace(/[^a-z0-9+/=]+/gi,""),M=D[F(2047)](q,F(663)),R[F(1166)][F(2758)][F(2623)](this,M,L)}},66984:(B,Q,T)=>{var w=Ut;let S=T(35717),D=T(2399)[w(1641)],R=T(41949),P=T(70160);function M(F){var k=w;R[k(2623)](this,"der",F)}function L(F){return F<10?"0"+F:F}(B[w(1729)]=function(F){var k=w;this[k(2217)]=k(1488),this[k(878)]=F[k(878)],this[k(1301)]=F,this[k(1373)]=new M,this[k(1373)]._init(F[k(1022)])})[w(1166)].encode=function(F,k){var N=w;return this.tree[N(1446)](F,k)[N(951)]()},S(M,R),M.prototype[w(225)]=function(F,k,N,G){var J=w;if(F=function(q,ee,ie,H){var le=Ut;let ue;if(q==="seqof"?q="seq":le(2516)===q&&(q=le(2573)),P[le(759)][le(579)](q))ue=P[le(759)][q];else{if(le(2013)!=typeof q||(0|q)!==q)return H.error(le(1740)+q);ue=q}return 31<=ue?H[le(899)](le(1264)):(ee||(ue|=32),ue|=P[le(1192)][ie||le(801)]<<6)}(F,k,N,this[J(378)]),G[J(1383)]<128){let q=D[J(1581)](2);return q[0]=F,q[1]=G[J(1383)],this[J(1877)]([q,G])}let K=1;for(let q=G[J(1383)];256<=q;q>>=8)K++;let X=D[J(1581)](2+K);X[0]=F,X[1]=128|K;for(let q=1+K,ee=G.length;0<ee;q--,ee>>=8)X[q]=255ⅇreturn this[J(1877)]([X,G])},M[w(1166)][w(334)]=function(F,k){var N=w;if(N(1104)===k)return this[N(1877)]([0|F[N(1783)],F[N(1613)]]);if(N(515)!==k)return N(1751)===k?this[N(1375)](F)?this[N(1877)](F):this[N(378)].error(N(2314)):N(719)===k?this[N(947)](F)?this[N(1877)](F):this[N(378)][N(899)](N(1241)):/str$/.test(k)||k==="objDesc"?this[N(1877)](F):this.reporter.error("Encoding of string type: "+k+N(1706));{let G=D.alloc(2*F[N(1383)]);for(let J=0;J<F[N(1383)];J++)G.writeUInt16BE(F[N(2010)](J),2*J);return this[N(1877)](G)}},M[w(1166)][w(2602)]=function(F,k,N){var G=w;if(G(1896)==typeof F){if(!k)return this[G(378)].error(G(1495));if(!k.hasOwnProperty(F))return this[G(378)][G(899)](G(1240));F=k[F][G(2259)](/[\s.]+/g);for(let q=0;q<F[G(1383)];q++)F[q]|=0}else if(Array[G(2507)](F)){F=F[G(2679)]();for(let q=0;q<F[G(1383)];q++)F[q]|=0}if(!Array[G(2507)](F))return this[G(378)][G(899)](G(835)+JSON[G(875)](F));if(!N){if(40<=F[1])return this.reporter[G(899)]("Second objid identifier OOB");F.splice(0,2,40*F[0]+F[1])}let J=0;for(let q=0;q<F[G(1383)];q++){let ee=F[q];for(J++;128<=ee;ee>>=7)J++}let K=D[G(1581)](J),X=K[G(1383)]-1;for(let q=F[G(1383)]-1;0<=q;q--){let ee=F[q];for(K[X--]=127ⅇ0<(ee>>=7);)K[X--]=128|127&ee}return this._createEncoderBuffer(K)},M[w(1166)]._encodeTime=function(F,k){var N=w;let G,J=new Date(F);return N(715)===k?G=[L(J[N(1688)]()),L(J[N(566)]()+1),L(J.getUTCDate()),L(J[N(1609)]()),L(J.getUTCMinutes()),L(J[N(1296)]()),"Z"][N(951)](""):N(1090)===k?G=[L(J.getUTCFullYear()%100),L(J[N(566)]()+1),L(J[N(693)]()),L(J.getUTCHours()),L(J[N(455)]()),L(J[N(1296)]()),"Z"].join(""):this[N(378)][N(899)]("Encoding "+k+" time is not supported yet"),this[N(334)](G,N(2565))},M.prototype._encodeNull=function(){var F=w;return this[F(1877)]("")},M.prototype[w(581)]=function(F,k){var N=w;if(typeof F=="string"){if(!k)return this[N(378)][N(899)]("String int or enum given, but no values map");if(!k[N(579)](F))return this[N(378)][N(899)](N(1626)+JSON[N(875)](F));F=k[F]}if(typeof F!="number"&&!D[N(1302)](F)){let K=F[N(884)]();!F[N(227)]&&128&K[0]&&K.unshift(0),F=D[N(2047)](K)}if(D.isBuffer(F)){let K=F.length;F.length===0&&K++;let X=D.alloc(K);return F.copy(X),F[N(1383)]===0&&(X[0]=0),this[N(1877)](X)}if(F<128)return this[N(1877)](F);if(F<256)return this[N(1877)]([0,F]);let G=1;for(let K=F;256<=K;K>>=8)G++;let J=new Array(G);for(let K=J[N(1383)]-1;0<=K;K--)J[K]=255&F,F>>=8;return 128&J[0]&&J[N(2254)](0),this[N(1877)](D[N(2047)](J))},M.prototype._encodeBool=function(F){var k=w;return this[k(1877)](F?255:0)},M[w(1166)][w(1583)]=function(F,k){var N=w;return(F=N(1451)==typeof F?F(k):F)[N(1452)](N(1488)).tree},M[w(1166)]._skipDefault=function(F,k,N){var G=w;let J=this[G(146)],K;if(J[G(1060)]===null)return!1;var X=F[G(951)]();if(J[G(2063)]===void 0&&(J.defaultBuffer=this._encodeValue(J[G(1060)],k,N)[G(951)]()),X[G(1383)]!==J[G(2063)].length)return!1;for(K=0;K<X[G(1383)];K++)if(X[K]!==J[G(2063)][K])return!1;return!0}},56579:(B,Q,T)=>{var w=Ut;let S=Q;S[w(1488)]=T(66984),S.pem=T(2883)},2883:(B,Q,T)=>{var w=Ut;let S=T(35717),D=T(66984);function R(P){var M=Ut;D[M(2623)](this,P),this[M(2217)]="pem"}S(R,D),(B.exports=R)[w(1166)][w(2371)]=function(P,M){var L=w;let F=D[L(1166)][L(2371)][L(2623)](this,P),k=F.toString("base64"),N=[L(363)+M[L(833)]+"-----"];for(let G=0;G<k.length;G+=64)N.push(k[L(2679)](G,G+64));return N[L(182)](L(2284)+M[L(833)]+L(2373)),N[L(951)](` `)}},4590:function(B,Q,T){(function(w){"use strict";var S=Ut;function D(ae,U){var W=Ut;if(!ae)throw new Error(U||W(1719))}function R(ae,U){var W=Ut;function Y(){}ae[W(1455)]=U,Y[W(1166)]=U[W(1166)],ae[W(1166)]=new Y,ae[W(1166)][W(2267)]=ae}function P(ae,U,W){var Y=Ut;if(P[Y(1346)](ae))return ae;this[Y(493)]=0,this[Y(660)]=null,this[Y(1383)]=0,(this.red=null)!==ae&&(U!=="le"&&U!=="be"||(W=U,U=10),this[Y(2151)](ae||0,U||10,W||"be"))}var M;S(1499)==typeof B?B[S(1729)]=P:w.BN=P,(P.BN=P)[S(883)]=26;try{M=(typeof window<"u"&&window[S(1641)]!==void 0?window:T(80950))[S(1641)]}catch{}function L(ae,U){var W=S;return ae=ae[W(2010)](U),65<=ae&&ae<=70?ae-55:97<=ae&&ae<=102?ae-87:ae-48&15}function F(ae,U,W){var Y=L(ae,W);return U<=W-1&&(Y|=L(ae,W-1)<<4),Y}function k(ae,U,W,Y){for(var z=S,me=0,re=Math[z(1869)](ae.length,W),se=U;se<re;se++)var de=ae[z(2010)](se)-48,me=me*Y+(49<=de?de-49+10:17<=de?de-17+10:de);return me}P[S(1346)]=function(ae){var U=S;return ae instanceof P||ae!==null&&U(1499)==typeof ae&&ae[U(2267)][U(883)]===P.wordSize&&Array.isArray(ae[U(660)])},P[S(323)]=function(ae,U){var W=S;return 0<ae[W(526)](U)?ae:U},P[S(1869)]=function(ae,U){return ae.cmp(U)<0?ae:U},P.prototype[S(2151)]=function(ae,U,W){var Y=S;if(Y(2013)==typeof ae)return this[Y(1763)](ae,U,W);if(Y(1499)==typeof ae)return this[Y(1263)](ae,U,W);D((U=Y(495)===U?16:U)===(0|U)&&2<=U&&U<=36);var z=0;(ae=ae[Y(1888)]()[Y(1850)](/\s+/g,""))[0]==="-"&&(z++,this[Y(493)]=1),z<ae[Y(1383)]&&(U===16?this[Y(260)](ae,z,W):(this[Y(1834)](ae,U,z),W==="le"&&this[Y(1263)](this[Y(884)](),U,W)))},P[S(1166)][S(1763)]=function(ae,U,W){var Y=S;ae<0&&(this[Y(493)]=1,ae=-ae),ae<67108864?(this[Y(660)]=[67108863&ae],this[Y(1383)]=1):ae<4503599627370496?(this[Y(660)]=[67108863&ae,ae/67108864&67108863],this.length=2):(D(ae<9007199254740992),this[Y(660)]=[67108863&ae,ae/67108864&67108863,1],this[Y(1383)]=3),W==="le"&&this[Y(1263)](this.toArray(),U,W)},P[S(1166)][S(1263)]=function(ae,U,W){var Y=S;if(D(Y(2013)==typeof ae[Y(1383)]),ae[Y(1383)]<=0)return this[Y(660)]=[0],this[Y(1383)]=1,this;this.length=Math[Y(1266)](ae.length/3),this[Y(660)]=new Array(this[Y(1383)]);for(var z,re,se=0;se<this[Y(1383)];se++)this[Y(660)][se]=0;var de=0;if(W==="be")for(se=ae.length-1,z=0;0<=se;se-=3)re=ae[se]|ae[se-1]<<8|ae[se-2]<<16,this[Y(660)][z]|=re<<de&67108863,this[Y(660)][z+1]=re>>>26-de&67108863,26<=(de+=24)&&(de-=26,z++);else if(W==="le")for(z=se=0;se<ae[Y(1383)];se+=3)re=ae[se]|ae[se+1]<<8|ae[se+2]<<16,this[Y(660)][z]|=re<<de&67108863,this[Y(660)][z+1]=re>>>26-de&67108863,26<=(de+=24)&&(de-=26,z++);return this[Y(968)]()},P[S(1166)][S(260)]=function(ae,U,W){var Y=S;this[Y(1383)]=Math[Y(1266)]((ae[Y(1383)]-U)/6),this[Y(660)]=new Array(this.length);for(var z=0;z<this[Y(1383)];z++)this[Y(660)][z]=0;var re,se=0,de=0;if(W==="be")for(z=ae.length-1;U<=z;z-=2)re=F(ae,U,z)<<se,this[Y(660)][de]|=67108863&re,18<=se?(se-=18,this.words[de+=1]|=re>>>26):se+=8;else for(z=(ae[Y(1383)]-U)%2==0?U+1:U;z<ae[Y(1383)];z+=2)re=F(ae,U,z)<<se,this[Y(660)][de]|=67108863&re,18<=se?(se-=18,this.words[de+=1]|=re>>>26):se+=8;this[Y(968)]()},P[S(1166)][S(1834)]=function(ae,U,W){var Y=S;this.words=[0];for(var z=0,re=this[Y(1383)]=1;re<=67108863;re*=U)z++;for(var re=re/U|0,se=ae[Y(1383)]-W,de=se%--z,me=Math[Y(1869)](se,se-de)+W,Ce=0,Ie=W;Ie<me;Ie+=z)Ce=k(ae,Ie,Ie+z,U),this[Y(683)](re),this[Y(660)][0]+Ce<67108864?this[Y(660)][0]+=Ce:this[Y(2079)](Ce);if(de!=0){for(var we=1,Ce=k(ae,Ie,ae.length,U),Ie=0;Ie<de;Ie++)we*=U;this[Y(683)](we),this[Y(660)][0]+Ce<67108864?this[Y(660)][0]+=Ce:this[Y(2079)](Ce)}this[Y(968)]()},P.prototype[S(1830)]=function(ae){var U=S;ae[U(660)]=new Array(this[U(1383)]);for(var W=0;W<this[U(1383)];W++)ae[U(660)][W]=this[U(660)][W];ae[U(1383)]=this[U(1383)],ae[U(493)]=this.negative,ae[U(2178)]=this.red},P[S(1166)][S(2164)]=function(){var ae=S,U=new P(null);return this[ae(1830)](U),U},P[S(1166)][S(159)]=function(ae){for(var U=S;this[U(1383)]<ae;)this.words[this[U(1383)]++]=0;return this},P[S(1166)][S(968)]=function(){for(var ae=S;1<this[ae(1383)]&&this[ae(660)][this.length-1]===0;)this[ae(1383)]--;return this[ae(1049)]()},P[S(1166)][S(1049)]=function(){var ae=S;return this[ae(1383)]===1&&this.words[0]===0&&(this.negative=0),this},P[S(1166)].inspect=function(){var ae=S;return(this[ae(2178)]?ae(523):ae(780))+this[ae(1888)](16)+">"};var N=["","0","00","000",S(1548),S(1144),"000000",S(259),"00000000",S(748),S(1668),"00000000000",S(1365),"0000000000000",S(1640),S(313),S(438),S(1270),S(767),S(1315),"00000000000000000000",S(2229),S(2042),S(1733),"000000000000000000000000",S(2157)],G=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],J=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function K(ae,U,W){var Y=S;W.negative=U[Y(493)]^ae.negative;var z=ae[Y(1383)]+U[Y(1383)]|0,z=(W[Y(1383)]=z)-1|0,re=(de=(0|ae[Y(660)][0])*(0|U.words[0]))/67108864|0;W.words[0]=67108863&de;for(var se=1;se<z;se++){for(var de,me=re>>>26,Ce=67108863&re,Ie=Math[Y(1869)](se,U[Y(1383)]-1),we=Math[Y(323)](0,se-ae.length+1);we<=Ie;we++)me+=(de=(0|ae[Y(660)][se-we|0])*(0|U[Y(660)][we])+Ce)/67108864|0,Ce=67108863&de;W.words[se]=0|Ce,re=0|me}return re!==0?W[Y(660)][se]=0|re:W.length--,W.strip()}P.prototype[S(1888)]=function(ae,U){var W=S;if(U=0|U||1,(ae=ae||10)===16||ae==="hex"){for(var Y="",z=0,re=0,se=0;se<this[W(1383)];se++){var de=this[W(660)][se],me=(16777215&(de<<z|re))[W(1888)](16),Y=(re=de>>>24-z&16777215)!=0||se!==this[W(1383)]-1?N[6-me[W(1383)]]+me+Y:me+Y;26<=(z+=2)&&(z-=26,se--)}for(re!==0&&(Y=re[W(1888)](16)+Y);Y[W(1383)]%U!=0;)Y="0"+Y;return this[W(493)]!==0?"-"+Y:Y}if(ae===(0|ae)&&2<=ae&&ae<=36){var Ce=G[ae],Ie=J[ae];for(Y="",(we=this.clone())[W(493)]=0;!we[W(2356)]();){var we,Te=we.modn(Ie)[W(1888)](ae);Y=(we=we[W(2593)](Ie))[W(2356)]()?Te+Y:N[Ce-Te[W(1383)]]+Te+Y}for(this[W(2356)]()&&(Y="0"+Y);Y[W(1383)]%U!=0;)Y="0"+Y;return this.negative!==0?"-"+Y:Y}D(!1,W(1731))},P[S(1166)][S(1312)]=function(){var ae=S,U=this[ae(660)][0];return this[ae(1383)]===2?U+=67108864*this[ae(660)][1]:this[ae(1383)]===3&&this[ae(660)][2]===1?U+=4503599627370496+67108864*this[ae(660)][1]:2<this.length&&D(!1,ae(1421)),this[ae(493)]!==0?-U:U},P[S(1166)].toJSON=function(){return this.toString(16)},P[S(1166)][S(295)]=function(ae,U){var W=S;return D(M!==void 0),this[W(1299)](M,ae,U)},P[S(1166)][S(884)]=function(ae,U){var W=S;return this[W(1299)](Array,ae,U)},P.prototype.toArrayLike=function(ae,U,me){var Y=S,z,re,se=this[Y(250)](),de=me||Math[Y(323)](1,se),me=(D(se<=de,Y(2736)),D(0<de,Y(1881)),this[Y(968)](),U==="le"),Ce=new ae(de),Ie=this.clone();if(me){for(re=0;!Ie[Y(2356)]();re++)z=Ie[Y(329)](255),Ie.iushrn(8),Ce[re]=z;for(;re<de;re++)Ce[re]=0}else{for(re=0;re<de-se;re++)Ce[re]=0;for(re=0;!Ie.isZero();re++)z=Ie[Y(329)](255),Ie[Y(1487)](8),Ce[de-re-1]=z}return Ce},Math[S(207)]?P[S(1166)]._countBits=function(ae){return 32-Math.clz32(ae)}:P.prototype[S(623)]=function(ae){var U=0;return 4096<=ae&&(U+=13,ae>>>=13),64<=ae&&(U+=7,ae>>>=7),8<=ae&&(U+=4,ae>>>=4),2<=ae&&(U+=2,ae>>>=2),U+ae},P[S(1166)][S(1095)]=function(ae){if(ae===0)return 26;var U=0;return(8191&ae)==0&&(U+=13,ae>>>=13),(127&ae)==0&&(U+=7,ae>>>=7),(15&ae)==0&&(U+=4,ae>>>=4),(3&ae)==0&&(U+=2,ae>>>=2),(1&ae)==0&&U++,U},P.prototype[S(485)]=function(){var ae=S,U=this.words[this[ae(1383)]-1],U=this[ae(623)](U);return 26*(this[ae(1383)]-1)+U},P[S(1166)][S(1820)]=function(){var ae=S;if(this[ae(2356)]())return 0;for(var U=0,W=0;W<this[ae(1383)];W++){var Y=this[ae(1095)](this.words[W]);if(U+=Y,Y!==26)break}return U},P[S(1166)][S(250)]=function(){return Math.ceil(this.bitLength()/8)},P.prototype[S(180)]=function(ae){var U=S;return this[U(493)]!==0?this[U(1914)]()[U(2519)](ae).iaddn(1):this[U(2164)]()},P[S(1166)].fromTwos=function(ae){var U=S;return this[U(901)](ae-1)?this[U(516)](ae)[U(2695)](1)[U(919)]():this[U(2164)]()},P[S(1166)][S(2797)]=function(){var ae=S;return this[ae(493)]!==0},P.prototype[S(828)]=function(){var ae=S;return this[ae(2164)]()[ae(919)]()},P[S(1166)][S(919)]=function(){var ae=S;return this[ae(2356)]()||(this[ae(493)]^=1),this},P.prototype[S(776)]=function(ae){for(var U=S;this[U(1383)]<ae.length;)this[U(660)][this[U(1383)]++]=0;for(var W=0;W<ae[U(1383)];W++)this[U(660)][W]=this[U(660)][W]|ae.words[W];return this.strip()},P[S(1166)].ior=function(ae){var U=S;return D((this[U(493)]|ae[U(493)])==0),this[U(776)](ae)},P[S(1166)].or=function(ae){var U=S;return this[U(1383)]>ae[U(1383)]?this.clone()[U(699)](ae):ae[U(2164)]()[U(699)](this)},P[S(1166)][S(2354)]=function(ae){var U=S;return this.length>ae[U(1383)]?this[U(2164)]().iuor(ae):ae[U(2164)]().iuor(this)},P[S(1166)][S(709)]=function(ae){for(var U=S,W=this[U(1383)]>ae.length?ae:this,Y=0;Y<W.length;Y++)this[U(660)][Y]=this.words[Y]&ae.words[Y];return this[U(1383)]=W[U(1383)],this[U(968)]()},P[S(1166)][S(560)]=function(ae){var U=S;return D((this.negative|ae[U(493)])==0),this[U(709)](ae)},P[S(1166)][S(2377)]=function(ae){var U=S;return this[U(1383)]>ae.length?this[U(2164)]().iand(ae):ae[U(2164)]()[U(560)](this)},P[S(1166)][S(1528)]=function(ae){var U=S;return this[U(1383)]>ae.length?this[U(2164)]()[U(709)](ae):ae[U(2164)]().iuand(this)},P[S(1166)].iuxor=function(ae){for(var U=S,W,Y=this[U(1383)]>ae[U(1383)]?(W=this,ae):(W=ae,this),z=0;z<Y[U(1383)];z++)this[U(660)][z]=W[U(660)][z]^Y[U(660)][z];if(this!==W)for(;z<W[U(1383)];z++)this[U(660)][z]=W[U(660)][z];return this[U(1383)]=W[U(1383)],this[U(968)]()},P[S(1166)][S(1283)]=function(ae){var U=S;return D((this.negative|ae[U(493)])==0),this[U(2796)](ae)},P[S(1166)][S(1397)]=function(ae){var U=S;return this[U(1383)]>ae[U(1383)]?this[U(2164)]()[U(1283)](ae):ae.clone().ixor(this)},P.prototype.uxor=function(ae){var U=S;return this.length>ae[U(1383)]?this[U(2164)]()[U(2796)](ae):ae[U(2164)]()[U(2796)](this)},P[S(1166)][S(2519)]=function(Y){var U=S;D(typeof Y=="number"&&0<=Y);var W=0|Math[U(1266)](Y/26),Y=Y%26;this[U(159)](W),0<Y&&W--;for(var z=0;z<W;z++)this[U(660)][z]=67108863&~this[U(660)][z];return 0<Y&&(this[U(660)][z]=~this[U(660)][z]&67108863>>26-Y),this[U(968)]()},P[S(1166)][S(516)]=function(ae){var U=S;return this.clone()[U(2519)](ae)},P[S(1166)][S(237)]=function(z,U){var W=S;D(W(2013)==typeof z&&0<=z);var Y=z/26|0,z=z%26;return this._expand(1+Y),this[W(660)][Y]=U?this[W(660)][Y]|1<<z:this[W(660)][Y]&~(1<<z),this[W(968)]()},P[S(1166)][S(187)]=function(ae){var U=S,W,Y;if(this[U(493)]!==0&&ae[U(493)]===0)return this[U(493)]=0,W=this[U(258)](ae),this[U(493)]^=1,this[U(1049)]();if(this[U(493)]===0&&ae[U(493)]!==0)return ae.negative=0,W=this.isub(ae),ae[U(493)]=1,W[U(1049)]();for(var z=this[U(1383)]>ae[U(1383)]?(Y=this,ae):(Y=ae,this),re=0,se=0;se<z[U(1383)];se++)W=(0|Y[U(660)][se])+(0|z.words[se])+re,this[U(660)][se]=67108863&W,re=W>>>26;for(;re!==0&&se<Y.length;se++)W=(0|Y[U(660)][se])+re,this[U(660)][se]=67108863&W,re=W>>>26;if(this[U(1383)]=Y[U(1383)],re!==0)this[U(660)][this[U(1383)]]=re,this[U(1383)]++;else if(Y!==this)for(;se<Y[U(1383)];se++)this[U(660)][se]=Y[U(660)][se];return this},P[S(1166)][S(2400)]=function(ae){var U=S,W;return ae[U(493)]!==0&&this[U(493)]===0?(ae[U(493)]=0,W=this[U(1550)](ae),ae.negative^=1,W):ae.negative===0&&this.negative!==0?(this[U(493)]=0,W=ae[U(1550)](this),this.negative=1,W):this.length>ae[U(1383)]?this.clone()[U(187)](ae):ae.clone().iadd(this)},P.prototype[S(258)]=function(ae){var U=S,W;if(ae[U(493)]!==0)return ae.negative=0,W=this[U(187)](ae),ae.negative=1,W[U(1049)]();if(this[U(493)]!==0)return this.negative=0,this[U(187)](ae),this[U(493)]=1,this[U(1049)]();var Y,z=this[U(526)](ae);if(z===0)return this[U(493)]=0,this[U(1383)]=1,this.words[0]=0,this;for(var re=0<z?(Y=this,ae):(Y=ae,this),se=0,de=0;de<re[U(1383)];de++)se=(W=(0|Y.words[de])-(0|re[U(660)][de])+se)>>26,this.words[de]=67108863&W;for(;se!==0&&de<Y[U(1383)];de++)se=(W=(0|Y[U(660)][de])+se)>>26,this[U(660)][de]=67108863&W;if(se===0&&de<Y[U(1383)]&&Y!==this)for(;de<Y[U(1383)];de++)this.words[de]=Y[U(660)][de];return this[U(1383)]=Math[U(323)](this[U(1383)],de),Y!==this&&(this[U(493)]=1),this[U(968)]()},P.prototype[S(1550)]=function(ae){var U=S;return this[U(2164)]()[U(258)](ae)};var X=function(Pe,Lt,W){var Y=S,ze=Pe.words,xt=Lt.words,z=W.words,jt=0|ze[0],Wt=8191&jt,jt=jt>>>13,xi=0|ze[1],Kt=8191&xi,xi=xi>>>13,se=0|ze[2],re=8191&se,se=se>>>13,me=0|ze[3],de=8191&me,me=me>>>13,Ie=0|ze[4],Ce=8191&Ie,Ie=Ie>>>13,Te=0|ze[5],we=8191&Te,Te=Te>>>13,ke=0|ze[6],Ge=8191&ke,ke=ke>>>13,Le=0|ze[7],Oe=8191&Le,Le=Le>>>13,Ne=0|ze[8],be=8191&Ne,Ne=Ne>>>13,ze=0|ze[9],Ue=8191&ze,ze=ze>>>13,Ei=0|xt[0],Ri=8191&Ei,Ei=Ei>>>13,mi=0|xt[1],pi=8191&mi,mi=mi>>>13,Mt=0|xt[2],_t=8191&Mt,Mt=Mt>>>13,Xe=0|xt[3],Je=8191&Xe,Xe=Xe>>>13,ot=0|xt[4],et=8191&ot,ot=ot>>>13,Ct=0|xt[5],Et=8191&Ct,Ct=Ct>>>13,yt=0|xt[6],ct=8191&yt,yt=yt>>>13,Ze=0|xt[7],Qt=8191&Ze,Ze=Ze>>>13,St=0|xt[8],ut=8191&St,St=St>>>13,xt=0|xt[9],gt=8191&xt,xt=xt>>>13,Lt=(W[Y(493)]=Pe[Y(493)]^Lt[Y(493)],W[Y(1383)]=19,(0+Math[Y(1805)](Wt,Ri)|0)+((8191&(Pe=Math[Y(1805)](Wt,Ei)+Math[Y(1805)](jt,Ri)|0))<<13)|0),Ht=(Math[Y(1805)](jt,Ei)+(Pe>>>13)|0)+(Lt>>>26)|0,nt=(Lt&=67108863,Math[Y(1805)](Kt,Ri)),Pe=Math.imul(Kt,Ei)+Math[Y(1805)](xi,Ri)|0,ve=Math[Y(1805)](xi,Ei),We=(Ht+(nt+Math[Y(1805)](Wt,pi)|0)|0)+((8191&(Pe=(Pe+Math.imul(Wt,mi)|0)+Math.imul(jt,pi)|0))<<13)|0,bt=(Ht=((ve+Math[Y(1805)](jt,mi)|0)+(Pe>>>13)|0)+(We>>>26)|0,We&=67108863,nt=Math[Y(1805)](re,Ri),Pe=Math[Y(1805)](re,Ei)+Math[Y(1805)](se,Ri)|0,ve=Math.imul(se,Ei),nt=nt+Math.imul(Kt,pi)|0,Pe=(Pe+Math[Y(1805)](Kt,mi)|0)+Math[Y(1805)](xi,pi)|0,ve=ve+Math.imul(xi,mi)|0,(Ht+(nt+Math[Y(1805)](Wt,_t)|0)|0)+((8191&(Pe=(Pe+Math[Y(1805)](Wt,Mt)|0)+Math.imul(jt,_t)|0))<<13)|0),Pt=(Ht=((ve+Math[Y(1805)](jt,Mt)|0)+(Pe>>>13)|0)+(bt>>>26)|0,bt&=67108863,nt=Math[Y(1805)](de,Ri),Pe=Math.imul(de,Ei)+Math[Y(1805)](me,Ri)|0,ve=Math[Y(1805)](me,Ei),nt=nt+Math[Y(1805)](re,pi)|0,Pe=(Pe+Math[Y(1805)](re,mi)|0)+Math[Y(1805)](se,pi)|0,ve=ve+Math.imul(se,mi)|0,nt=nt+Math[Y(1805)](Kt,_t)|0,Pe=(Pe+Math[Y(1805)](Kt,Mt)|0)+Math[Y(1805)](xi,_t)|0,ve=ve+Math[Y(1805)](xi,Mt)|0,(Ht+(nt+Math[Y(1805)](Wt,Je)|0)|0)+((8191&(Pe=(Pe+Math.imul(Wt,Xe)|0)+Math[Y(1805)](jt,Je)|0))<<13)|0),It=(Ht=((ve+Math[Y(1805)](jt,Xe)|0)+(Pe>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,nt=Math[Y(1805)](Ce,Ri),Pe=Math[Y(1805)](Ce,Ei)+Math[Y(1805)](Ie,Ri)|0,ve=Math.imul(Ie,Ei),nt=nt+Math[Y(1805)](de,pi)|0,Pe=(Pe+Math.imul(de,mi)|0)+Math.imul(me,pi)|0,ve=ve+Math[Y(1805)](me,mi)|0,nt=nt+Math[Y(1805)](re,_t)|0,Pe=(Pe+Math[Y(1805)](re,Mt)|0)+Math[Y(1805)](se,_t)|0,ve=ve+Math[Y(1805)](se,Mt)|0,nt=nt+Math[Y(1805)](Kt,Je)|0,Pe=(Pe+Math.imul(Kt,Xe)|0)+Math[Y(1805)](xi,Je)|0,ve=ve+Math.imul(xi,Xe)|0,(Ht+(nt+Math[Y(1805)](Wt,et)|0)|0)+((8191&(Pe=(Pe+Math[Y(1805)](Wt,ot)|0)+Math[Y(1805)](jt,et)|0))<<13)|0),Mi=(Ht=((ve+Math[Y(1805)](jt,ot)|0)+(Pe>>>13)|0)+(It>>>26)|0,It&=67108863,nt=Math[Y(1805)](we,Ri),Pe=Math[Y(1805)](we,Ei)+Math[Y(1805)](Te,Ri)|0,ve=Math[Y(1805)](Te,Ei),nt=nt+Math[Y(1805)](Ce,pi)|0,Pe=(Pe+Math[Y(1805)](Ce,mi)|0)+Math[Y(1805)](Ie,pi)|0,ve=ve+Math[Y(1805)](Ie,mi)|0,nt=nt+Math.imul(de,_t)|0,Pe=(Pe+Math[Y(1805)](de,Mt)|0)+Math[Y(1805)](me,_t)|0,ve=ve+Math[Y(1805)](me,Mt)|0,nt=nt+Math[Y(1805)](re,Je)|0,Pe=(Pe+Math[Y(1805)](re,Xe)|0)+Math[Y(1805)](se,Je)|0,ve=ve+Math[Y(1805)](se,Xe)|0,nt=nt+Math[Y(1805)](Kt,et)|0,Pe=(Pe+Math[Y(1805)](Kt,ot)|0)+Math[Y(1805)](xi,et)|0,ve=ve+Math.imul(xi,ot)|0,(Ht+(nt+Math[Y(1805)](Wt,Et)|0)|0)+((8191&(Pe=(Pe+Math[Y(1805)](Wt,Ct)|0)+Math[Y(1805)](jt,Et)|0))<<13)|0),er=(Ht=((ve+Math[Y(1805)](jt,Ct)|0)+(Pe>>>13)|0)+(Mi>>>26)|0,Mi&=67108863,nt=Math[Y(1805)](Ge,Ri),Pe=Math[Y(1805)](Ge,Ei)+Math.imul(ke,Ri)|0,ve=Math[Y(1805)](ke,Ei),nt=nt+Math[Y(1805)](we,pi)|0,Pe=(Pe+Math[Y(1805)](we,mi)|0)+Math[Y(1805)](Te,pi)|0,ve=ve+Math[Y(1805)](Te,mi)|0,nt=nt+Math.imul(Ce,_t)|0,Pe=(Pe+Math[Y(1805)](Ce,Mt)|0)+Math[Y(1805)](Ie,_t)|0,ve=ve+Math[Y(1805)](Ie,Mt)|0,nt=nt+Math[Y(1805)](de,Je)|0,Pe=(Pe+Math.imul(de,Xe)|0)+Math[Y(1805)](me,Je)|0,ve=ve+Math.imul(me,Xe)|0,nt=nt+Math.imul(re,et)|0,Pe=(Pe+Math[Y(1805)](re,ot)|0)+Math[Y(1805)](se,et)|0,ve=ve+Math.imul(se,ot)|0,nt=nt+Math[Y(1805)](Kt,Et)|0,Pe=(Pe+Math[Y(1805)](Kt,Ct)|0)+Math[Y(1805)](xi,Et)|0,ve=ve+Math[Y(1805)](xi,Ct)|0,(Ht+(nt+Math[Y(1805)](Wt,ct)|0)|0)+((8191&(Pe=(Pe+Math[Y(1805)](Wt,yt)|0)+Math.imul(jt,ct)|0))<<13)|0),di=(Ht=((ve+Math[Y(1805)](jt,yt)|0)+(Pe>>>13)|0)+(er>>>26)|0,er&=67108863,nt=Math[Y(1805)](Oe,Ri),Pe=Math[Y(1805)](Oe,Ei)+Math[Y(1805)](Le,Ri)|0,ve=Math.imul(Le,Ei),nt=nt+Math[Y(1805)](Ge,pi)|0,Pe=(Pe+Math[Y(1805)](Ge,mi)|0)+Math.imul(ke,pi)|0,ve=ve+Math[Y(1805)](ke,mi)|0,nt=nt+Math[Y(1805)](we,_t)|0,Pe=(Pe+Math.imul(we,Mt)|0)+Math.imul(Te,_t)|0,ve=ve+Math[Y(1805)](Te,Mt)|0,nt=nt+Math[Y(1805)](Ce,Je)|0,Pe=(Pe+Math[Y(1805)](Ce,Xe)|0)+Math[Y(1805)](Ie,Je)|0,ve=ve+Math[Y(1805)](Ie,Xe)|0,nt=nt+Math[Y(1805)](de,et)|0,Pe=(Pe+Math[Y(1805)](de,ot)|0)+Math.imul(me,et)|0,ve=ve+Math[Y(1805)](me,ot)|0,nt=nt+Math[Y(1805)](re,Et)|0,Pe=(Pe+Math[Y(1805)](re,Ct)|0)+Math[Y(1805)](se,Et)|0,ve=ve+Math[Y(1805)](se,Ct)|0,nt=nt+Math.imul(Kt,ct)|0,Pe=(Pe+Math[Y(1805)](Kt,yt)|0)+Math.imul(xi,ct)|0,ve=ve+Math[Y(1805)](xi,yt)|0,(Ht+(nt+Math[Y(1805)](Wt,Qt)|0)|0)+((8191&(Pe=(Pe+Math.imul(Wt,Ze)|0)+Math[Y(1805)](jt,Qt)|0))<<13)|0),wi=(Ht=((ve+Math[Y(1805)](jt,Ze)|0)+(Pe>>>13)|0)+(di>>>26)|0,di&=67108863,nt=Math[Y(1805)](be,Ri),Pe=Math[Y(1805)](be,Ei)+Math.imul(Ne,Ri)|0,ve=Math[Y(1805)](Ne,Ei),nt=nt+Math[Y(1805)](Oe,pi)|0,Pe=(Pe+Math.imul(Oe,mi)|0)+Math[Y(1805)](Le,pi)|0,ve=ve+Math[Y(1805)](Le,mi)|0,nt=nt+Math[Y(1805)](Ge,_t)|0,Pe=(Pe+Math[Y(1805)](Ge,Mt)|0)+Math[Y(1805)](ke,_t)|0,ve=ve+Math[Y(1805)](ke,Mt)|0,nt=nt+Math[Y(1805)](we,Je)|0,Pe=(Pe+Math[Y(1805)](we,Xe)|0)+Math[Y(1805)](Te,Je)|0,ve=ve+Math[Y(1805)](Te,Xe)|0,nt=nt+Math[Y(1805)](Ce,et)|0,Pe=(Pe+Math.imul(Ce,ot)|0)+Math.imul(Ie,et)|0,ve=ve+Math[Y(1805)](Ie,ot)|0,nt=nt+Math.imul(de,Et)|0,Pe=(Pe+Math[Y(1805)](de,Ct)|0)+Math[Y(1805)](me,Et)|0,ve=ve+Math[Y(1805)](me,Ct)|0,nt=nt+Math[Y(1805)](re,ct)|0,Pe=(Pe+Math[Y(1805)](re,yt)|0)+Math[Y(1805)](se,ct)|0,ve=ve+Math[Y(1805)](se,yt)|0,nt=nt+Math.imul(Kt,Qt)|0,Pe=(Pe+Math.imul(Kt,Ze)|0)+Math[Y(1805)](xi,Qt)|0,ve=ve+Math[Y(1805)](xi,Ze)|0,(Ht+(nt+Math[Y(1805)](Wt,ut)|0)|0)+((8191&(Pe=(Pe+Math[Y(1805)](Wt,St)|0)+Math.imul(jt,ut)|0))<<13)|0),Ri=(Ht=((ve+Math[Y(1805)](jt,St)|0)+(Pe>>>13)|0)+(wi>>>26)|0,wi&=67108863,nt=Math[Y(1805)](Ue,Ri),Pe=Math.imul(Ue,Ei)+Math.imul(ze,Ri)|0,ve=Math[Y(1805)](ze,Ei),nt=nt+Math[Y(1805)](be,pi)|0,Pe=(Pe+Math.imul(be,mi)|0)+Math.imul(Ne,pi)|0,ve=ve+Math[Y(1805)](Ne,mi)|0,nt=nt+Math[Y(1805)](Oe,_t)|0,Pe=(Pe+Math.imul(Oe,Mt)|0)+Math[Y(1805)](Le,_t)|0,ve=ve+Math[Y(1805)](Le,Mt)|0,nt=nt+Math[Y(1805)](Ge,Je)|0,Pe=(Pe+Math[Y(1805)](Ge,Xe)|0)+Math.imul(ke,Je)|0,ve=ve+Math[Y(1805)](ke,Xe)|0,nt=nt+Math[Y(1805)](we,et)|0,Pe=(Pe+Math[Y(1805)](we,ot)|0)+Math.imul(Te,et)|0,ve=ve+Math[Y(1805)](Te,ot)|0,nt=nt+Math[Y(1805)](Ce,Et)|0,Pe=(Pe+Math[Y(1805)](Ce,Ct)|0)+Math[Y(1805)](Ie,Et)|0,ve=ve+Math.imul(Ie,Ct)|0,nt=nt+Math[Y(1805)](de,ct)|0,Pe=(Pe+Math[Y(1805)](de,yt)|0)+Math.imul(me,ct)|0,ve=ve+Math[Y(1805)](me,yt)|0,nt=nt+Math.imul(re,Qt)|0,Pe=(Pe+Math[Y(1805)](re,Ze)|0)+Math[Y(1805)](se,Qt)|0,ve=ve+Math[Y(1805)](se,Ze)|0,nt=nt+Math[Y(1805)](Kt,ut)|0,Pe=(Pe+Math[Y(1805)](Kt,St)|0)+Math[Y(1805)](xi,ut)|0,ve=ve+Math[Y(1805)](xi,St)|0,(Ht+(nt+Math[Y(1805)](Wt,gt)|0)|0)+((8191&(Pe=(Pe+Math.imul(Wt,xt)|0)+Math[Y(1805)](jt,gt)|0))<<13)|0),Ei=(Ht=((ve+Math[Y(1805)](jt,xt)|0)+(Pe>>>13)|0)+(Ri>>>26)|0,Ri&=67108863,nt=Math[Y(1805)](Ue,pi),Pe=Math[Y(1805)](Ue,mi)+Math.imul(ze,pi)|0,ve=Math[Y(1805)](ze,mi),nt=nt+Math[Y(1805)](be,_t)|0,Pe=(Pe+Math[Y(1805)](be,Mt)|0)+Math.imul(Ne,_t)|0,ve=ve+Math[Y(1805)](Ne,Mt)|0,nt=nt+Math[Y(1805)](Oe,Je)|0,Pe=(Pe+Math[Y(1805)](Oe,Xe)|0)+Math[Y(1805)](Le,Je)|0,ve=ve+Math[Y(1805)](Le,Xe)|0,nt=nt+Math[Y(1805)](Ge,et)|0,Pe=(Pe+Math[Y(1805)](Ge,ot)|0)+Math[Y(1805)](ke,et)|0,ve=ve+Math[Y(1805)](ke,ot)|0,nt=nt+Math[Y(1805)](we,Et)|0,Pe=(Pe+Math[Y(1805)](we,Ct)|0)+Math[Y(1805)](Te,Et)|0,ve=ve+Math[Y(1805)](Te,Ct)|0,nt=nt+Math.imul(Ce,ct)|0,Pe=(Pe+Math[Y(1805)](Ce,yt)|0)+Math[Y(1805)](Ie,ct)|0,ve=ve+Math[Y(1805)](Ie,yt)|0,nt=nt+Math[Y(1805)](de,Qt)|0,Pe=(Pe+Math[Y(1805)](de,Ze)|0)+Math[Y(1805)](me,Qt)|0,ve=ve+Math[Y(1805)](me,Ze)|0,nt=nt+Math.imul(re,ut)|0,Pe=(Pe+Math[Y(1805)](re,St)|0)+Math[Y(1805)](se,ut)|0,ve=ve+Math[Y(1805)](se,St)|0,(Ht+(nt+Math[Y(1805)](Kt,gt)|0)|0)+((8191&(Pe=(Pe+Math[Y(1805)](Kt,xt)|0)+Math[Y(1805)](xi,gt)|0))<<13)|0),Wt=(Ht=((ve+Math[Y(1805)](xi,xt)|0)+(Pe>>>13)|0)+(Ei>>>26)|0,Ei&=67108863,nt=Math[Y(1805)](Ue,_t),Pe=Math[Y(1805)](Ue,Mt)+Math.imul(ze,_t)|0,ve=Math[Y(1805)](ze,Mt),nt=nt+Math.imul(be,Je)|0,Pe=(Pe+Math[Y(1805)](be,Xe)|0)+Math[Y(1805)](Ne,Je)|0,ve=ve+Math.imul(Ne,Xe)|0,nt=nt+Math.imul(Oe,et)|0,Pe=(Pe+Math[Y(1805)](Oe,ot)|0)+Math[Y(1805)](Le,et)|0,ve=ve+Math.imul(Le,ot)|0,nt=nt+Math[Y(1805)](Ge,Et)|0,Pe=(Pe+Math[Y(1805)](Ge,Ct)|0)+Math.imul(ke,Et)|0,ve=ve+Math[Y(1805)](ke,Ct)|0,nt=nt+Math[Y(1805)](we,ct)|0,Pe=(Pe+Math[Y(1805)](we,yt)|0)+Math.imul(Te,ct)|0,ve=ve+Math.imul(Te,yt)|0,nt=nt+Math[Y(1805)](Ce,Qt)|0,Pe=(Pe+Math[Y(1805)](Ce,Ze)|0)+Math[Y(1805)](Ie,Qt)|0,ve=ve+Math[Y(1805)](Ie,Ze)|0,nt=nt+Math[Y(1805)](de,ut)|0,Pe=(Pe+Math[Y(1805)](de,St)|0)+Math[Y(1805)](me,ut)|0,ve=ve+Math[Y(1805)](me,St)|0,(Ht+(nt+Math[Y(1805)](re,gt)|0)|0)+((8191&(Pe=(Pe+Math.imul(re,xt)|0)+Math.imul(se,gt)|0))<<13)|0),jt=(Ht=((ve+Math[Y(1805)](se,xt)|0)+(Pe>>>13)|0)+(Wt>>>26)|0,Wt&=67108863,nt=Math[Y(1805)](Ue,Je),Pe=Math[Y(1805)](Ue,Xe)+Math[Y(1805)](ze,Je)|0,ve=Math[Y(1805)](ze,Xe),nt=nt+Math[Y(1805)](be,et)|0,Pe=(Pe+Math[Y(1805)](be,ot)|0)+Math[Y(1805)](Ne,et)|0,ve=ve+Math[Y(1805)](Ne,ot)|0,nt=nt+Math[Y(1805)](Oe,Et)|0,Pe=(Pe+Math[Y(1805)](Oe,Ct)|0)+Math[Y(1805)](Le,Et)|0,ve=ve+Math[Y(1805)](Le,Ct)|0,nt=nt+Math.imul(Ge,ct)|0,Pe=(Pe+Math[Y(1805)](Ge,yt)|0)+Math[Y(1805)](ke,ct)|0,ve=ve+Math[Y(1805)](ke,yt)|0,nt=nt+Math[Y(1805)](we,Qt)|0,Pe=(Pe+Math[Y(1805)](we,Ze)|0)+Math.imul(Te,Qt)|0,ve=ve+Math[Y(1805)](Te,Ze)|0,nt=nt+Math[Y(1805)](Ce,ut)|0,Pe=(Pe+Math[Y(1805)](Ce,St)|0)+Math.imul(Ie,ut)|0,ve=ve+Math[Y(1805)](Ie,St)|0,(Ht+(nt+Math[Y(1805)](de,gt)|0)|0)+((8191&(Pe=(Pe+Math[Y(1805)](de,xt)|0)+Math[Y(1805)](me,gt)|0))<<13)|0),pi=(Ht=((ve+Math[Y(1805)](me,xt)|0)+(Pe>>>13)|0)+(jt>>>26)|0,jt&=67108863,nt=Math[Y(1805)](Ue,et),Pe=Math[Y(1805)](Ue,ot)+Math[Y(1805)](ze,et)|0,ve=Math[Y(1805)](ze,ot),nt=nt+Math.imul(be,Et)|0,Pe=(Pe+Math[Y(1805)](be,Ct)|0)+Math[Y(1805)](Ne,Et)|0,ve=ve+Math[Y(1805)](Ne,Ct)|0,nt=nt+Math[Y(1805)](Oe,ct)|0,Pe=(Pe+Math[Y(1805)](Oe,yt)|0)+Math.imul(Le,ct)|0,ve=ve+Math.imul(Le,yt)|0,nt=nt+Math.imul(Ge,Qt)|0,Pe=(Pe+Math[Y(1805)](Ge,Ze)|0)+Math[Y(1805)](ke,Qt)|0,ve=ve+Math[Y(1805)](ke,Ze)|0,nt=nt+Math[Y(1805)](we,ut)|0,Pe=(Pe+Math[Y(1805)](we,St)|0)+Math[Y(1805)](Te,ut)|0,ve=ve+Math[Y(1805)](Te,St)|0,(Ht+(nt+Math.imul(Ce,gt)|0)|0)+((8191&(Pe=(Pe+Math[Y(1805)](Ce,xt)|0)+Math.imul(Ie,gt)|0))<<13)|0),mi=(Ht=((ve+Math[Y(1805)](Ie,xt)|0)+(Pe>>>13)|0)+(pi>>>26)|0,pi&=67108863,nt=Math[Y(1805)](Ue,Et),Pe=Math[Y(1805)](Ue,Ct)+Math[Y(1805)](ze,Et)|0,ve=Math[Y(1805)](ze,Ct),nt=nt+Math[Y(1805)](be,ct)|0,Pe=(Pe+Math[Y(1805)](be,yt)|0)+Math[Y(1805)](Ne,ct)|0,ve=ve+Math.imul(Ne,yt)|0,nt=nt+Math[Y(1805)](Oe,Qt)|0,Pe=(Pe+Math[Y(1805)](Oe,Ze)|0)+Math[Y(1805)](Le,Qt)|0,ve=ve+Math.imul(Le,Ze)|0,nt=nt+Math.imul(Ge,ut)|0,Pe=(Pe+Math[Y(1805)](Ge,St)|0)+Math[Y(1805)](ke,ut)|0,ve=ve+Math[Y(1805)](ke,St)|0,(Ht+(nt+Math[Y(1805)](we,gt)|0)|0)+((8191&(Pe=(Pe+Math[Y(1805)](we,xt)|0)+Math[Y(1805)](Te,gt)|0))<<13)|0),Kt=(Ht=((ve+Math[Y(1805)](Te,xt)|0)+(Pe>>>13)|0)+(mi>>>26)|0,mi&=67108863,nt=Math[Y(1805)](Ue,ct),Pe=Math.imul(Ue,yt)+Math.imul(ze,ct)|0,ve=Math[Y(1805)](ze,yt),nt=nt+Math[Y(1805)](be,Qt)|0,Pe=(Pe+Math[Y(1805)](be,Ze)|0)+Math[Y(1805)](Ne,Qt)|0,ve=ve+Math[Y(1805)](Ne,Ze)|0,nt=nt+Math[Y(1805)](Oe,ut)|0,Pe=(Pe+Math[Y(1805)](Oe,St)|0)+Math[Y(1805)](Le,ut)|0,ve=ve+Math.imul(Le,St)|0,(Ht+(nt+Math[Y(1805)](Ge,gt)|0)|0)+((8191&(Pe=(Pe+Math[Y(1805)](Ge,xt)|0)+Math[Y(1805)](ke,gt)|0))<<13)|0),xi=(Ht=((ve+Math[Y(1805)](ke,xt)|0)+(Pe>>>13)|0)+(Kt>>>26)|0,Kt&=67108863,nt=Math.imul(Ue,Qt),Pe=Math[Y(1805)](Ue,Ze)+Math[Y(1805)](ze,Qt)|0,ve=Math.imul(ze,Ze),nt=nt+Math[Y(1805)](be,ut)|0,Pe=(Pe+Math[Y(1805)](be,St)|0)+Math[Y(1805)](Ne,ut)|0,ve=ve+Math[Y(1805)](Ne,St)|0,(Ht+(nt+Math[Y(1805)](Oe,gt)|0)|0)+((8191&(Pe=(Pe+Math.imul(Oe,xt)|0)+Math[Y(1805)](Le,gt)|0))<<13)|0),_t=(Ht=((ve+Math.imul(Le,xt)|0)+(Pe>>>13)|0)+(xi>>>26)|0,xi&=67108863,nt=Math.imul(Ue,ut),Pe=Math[Y(1805)](Ue,St)+Math[Y(1805)](ze,ut)|0,ve=Math[Y(1805)](ze,St),(Ht+(nt+Math[Y(1805)](be,gt)|0)|0)+((8191&(Pe=(Pe+Math.imul(be,xt)|0)+Math[Y(1805)](Ne,gt)|0))<<13)|0),Mt=(Ht=((ve+Math[Y(1805)](Ne,xt)|0)+(Pe>>>13)|0)+(_t>>>26)|0,_t&=67108863,(Ht+Math[Y(1805)](Ue,gt)|0)+((8191&(Pe=Math.imul(Ue,xt)+Math.imul(ze,gt)|0))<<13)|0),Ht=(Math.imul(ze,xt)+(Pe>>>13)|0)+(Mt>>>26)|0;return Mt&=67108863,z[0]=Lt,z[1]=We,z[2]=bt,z[3]=Pt,z[4]=It,z[5]=Mi,z[6]=er,z[7]=di,z[8]=wi,z[9]=Ri,z[10]=Ei,z[11]=Wt,z[12]=jt,z[13]=pi,z[14]=mi,z[15]=Kt,z[16]=xi,z[17]=_t,z[18]=Mt,Ht!=0&&(z[19]=Ht,W[Y(1383)]++),W};function q(ae,U,W){var Y=S;return new ee()[Y(1210)](ae,U,W)}function ee(ae,U){this.x=ae,this.y=U}Math[S(1805)]||(X=K),P[S(1166)].mulTo=function(ae,U){var W=S,Y=this.length+ae[W(1383)];return(this[W(1383)]===10&&ae[W(1383)]===10?X:Y<63?K:Y<1024?function(z,re,se){var de=W;se[de(493)]=re[de(493)]^z[de(493)],se.length=z[de(1383)]+re[de(1383)];for(var me=0,Ce=0,Ie=0;Ie<se[de(1383)]-1;Ie++){for(var we=Ce,Ce=0,Te=67108863&me,Ge=Math[de(1869)](Ie,re[de(1383)]-1),ke=Math[de(323)](0,Ie-z[de(1383)]+1);ke<=Ge;ke++){var Oe,Le=(0|z[de(660)][Ie-ke])*(0|re.words[ke]),Te=67108863&(Oe=(67108863&Le)+Te|0);Ce+=(we=(we=we+(Le/67108864|0)|0)+(Oe>>>26)|0)>>>26,we&=67108863}se[de(660)][Ie]=Te,me=we,we=Ce}return me!==0?se[de(660)][Ie]=me:se[de(1383)]--,se[de(968)]()}:q)(this,ae,U)},ee[S(1166)][S(1369)]=function(ae){for(var U=S,W=new Array(ae),Y=P[U(1166)][U(623)](ae)-1,z=0;z<ae;z++)W[z]=this[U(646)](z,Y,ae);return W},ee[S(1166)][S(646)]=function(ae,U,W){if(ae===0||ae===W-1)return ae;for(var Y=0,z=0;z<U;z++)Y|=(1&ae)<<U-z-1,ae>>=1;return Y},ee[S(1166)][S(1257)]=function(ae,U,W,Y,z,re){for(var se=0;se<re;se++)Y[se]=U[ae[se]],z[se]=W[ae[se]]},ee[S(1166)].transform=function(ae,U,W,Y,z,re){var se=S;this[se(1257)](re,ae,U,W,Y,z);for(var de=1;de<z;de<<=1)for(var me=de<<1,Ce=Math[se(1147)](2*Math.PI/me),Ie=Math[se(1185)](2*Math.PI/me),we=0;we<z;we+=me)for(var Te=Ce,Ge=Ie,ke=0;ke<de;ke++){var Oe=W[we+ke],Le=Y[we+ke],be=W[we+ke+de],Ne=Te*be-Ge*(Ue=Y[we+ke+de]),Ue=Te*Ue+Ge*be;W[we+ke]=Oe+(be=Ne),Y[we+ke]=Le+Ue,W[we+ke+de]=Oe-be,Y[we+ke+de]=Le-Ue,ke!==me&&(Ne=Ce*Te-Ie*Ge,Ge=Ce*Ge+Ie*Te,Te=Ne)}},ee.prototype[S(1272)]=function(ae,U){for(var W=S,U=1&(z=1|Math[W(323)](U,ae)),Y=0,z=z/2|0;z;z>>>=1)Y++;return 1<<Y+1+U},ee[S(1166)][S(1184)]=function(ae,U,W){if(!(W<=1))for(var Y=0;Y<W/2;Y++){var z=ae[Y];ae[Y]=ae[W-Y-1],ae[W-Y-1]=z,z=U[Y],U[Y]=-U[W-Y-1],U[W-Y-1]=-z}},ee.prototype[S(949)]=function(ae,U){for(var W=S,Y=0,z=0;z<U/2;z++){var re=8192*Math[W(1829)](ae[2*z+1]/U)+Math[W(1829)](ae[2*z]/U)+Y;ae[z]=67108863&re,Y=re<67108864?0:re/67108864|0}return ae},ee[S(1166)][S(955)]=function(ae,U,W,Y){for(var z=0,re=0;re<U;re++)z+=0|ae[re],W[2*re]=8191&z,W[2*re+1]=8191&(z>>>=13),z>>>=13;for(re=2*U;re<Y;++re)W[re]=0;D(z===0),D((-8192&z)==0)},ee[S(1166)][S(737)]=function(ae){for(var U=new Array(ae),W=0;W<ae;W++)U[W]=0;return U},ee[S(1166)][S(1210)]=function(ae,U,W){var Y=S,z=2*this.guessLen13b(ae[Y(1383)],U.length),re=this[Y(1369)](z),se=this[Y(737)](z),de=new Array(z),me=new Array(z),Ce=new Array(z),Ie=new Array(z),we=new Array(z),Te=new Array(z),Ge=W[Y(660)];Ge[Y(1383)]=z,this[Y(955)](ae.words,ae[Y(1383)],de,z),this[Y(955)](U[Y(660)],U[Y(1383)],Ie,z),this[Y(684)](de,se,me,Ce,z,re),this[Y(684)](Ie,se,we,Te,z,re);for(var ke=0;ke<z;ke++){var Oe=me[ke]*we[ke]-Ce[ke]*Te[ke];Ce[ke]=me[ke]*Te[ke]+Ce[ke]*we[ke],me[ke]=Oe}return this[Y(1184)](me,Ce,z),this[Y(684)](me,Ce,Ge,se,z,re),this.conjugate(Ge,se,z),this.normalize13b(Ge,z),W[Y(493)]=ae[Y(493)]^U[Y(493)],W[Y(1383)]=ae[Y(1383)]+U[Y(1383)],W[Y(968)]()},P.prototype.mul=function(ae){var U=S,W=new P(null);return W[U(660)]=new Array(this[U(1383)]+ae[U(1383)]),this.mulTo(ae,W)},P[S(1166)][S(1579)]=function(ae){var U=S,W=new P(null);return W[U(660)]=new Array(this[U(1383)]+ae[U(1383)]),q(this,ae,W)},P[S(1166)][S(1805)]=function(ae){var U=S;return this.clone()[U(685)](ae,this)},P[S(1166)][S(683)]=function(ae){var U=S;D(U(2013)==typeof ae),D(ae<67108864);for(var W=0,Y=0;Y<this[U(1383)];Y++){var z=(0|this[U(660)][Y])*ae,re=(67108863&z)+(67108863&W),W=(W>>=26)+(z/67108864|0)+(re>>>26);this[U(660)][Y]=67108863&re}return W!==0&&(this.words[Y]=W,this[U(1383)]++),this},P[S(1166)][S(744)]=function(ae){var U=S;return this[U(2164)]()[U(683)](ae)},P[S(1166)][S(1219)]=function(){var ae=S;return this[ae(2545)](this)},P[S(1166)].isqr=function(){var ae=S;return this[ae(1805)](this.clone())},P[S(1166)][S(337)]=function(ae){var U=S,W=function(se){for(var de=Ut,me=new Array(se[de(485)]()),Ce=0;Ce<me[de(1383)];Ce++){var Ie=Ce%26;me[Ce]=(se[de(660)][Ce/26|0]&1<<Ie)>>>Ie}return me}(ae);if(W[U(1383)]===0)return new P(1);for(var Y=this,z=0;z<W[U(1383)]&&W[z]===0;z++,Y=Y[U(1219)]());if(++z<W.length)for(var re=Y[U(1219)]();z<W.length;z++,re=re[U(1219)]())W[z]!==0&&(Y=Y.mul(re));return Y},P[S(1166)].iushln=function(ae){var U=S;D(U(2013)==typeof ae&&0<=ae);var W=ae%26,Y=(ae-W)/26,z=67108863>>>26-W<<26-W;if(W!=0){for(var re=0,se=0;se<this[U(1383)];se++){var de=this[U(660)][se]&z,me=(0|this[U(660)][se])-de<<W;this.words[se]=me|re,re=de>>>26-W}re&&(this[U(660)][se]=re,this[U(1383)]++)}if(Y!=0){for(se=this[U(1383)]-1;0<=se;se--)this[U(660)][se+Y]=this[U(660)][se];for(se=0;se<Y;se++)this[U(660)][se]=0;this[U(1383)]+=Y}return this[U(968)]()},P[S(1166)][S(1696)]=function(ae){var U=S;return D(this.negative===0),this[U(1328)](ae)},P[S(1166)][S(1487)]=function(ae,U,W){var Y=S;D(Y(2013)==typeof ae&&0<=ae);var z,z=U?(U-U%26)/26:0,re=ae%26,se=Math.min((ae-re)/26,this[Y(1383)]),de=67108863^67108863>>>re<<re,me=W;if(z-=se,z=Math[Y(323)](0,z),me){for(var Ce=0;Ce<se;Ce++)me[Y(660)][Ce]=this.words[Ce];me.length=se}if(se!==0)if(this[Y(1383)]>se)for(this[Y(1383)]-=se,Ce=0;Ce<this[Y(1383)];Ce++)this[Y(660)][Ce]=this[Y(660)][Ce+se];else this[Y(660)][0]=0,this[Y(1383)]=1;for(var Ie=0,Ce=this[Y(1383)]-1;0<=Ce&&(Ie!==0||z<=Ce);Ce--){var we=0|this[Y(660)][Ce];this[Y(660)][Ce]=Ie<<26-re|we>>>re,Ie=we&de}return me&&Ie!==0&&(me.words[me.length++]=Ie),this[Y(1383)]===0&&(this[Y(660)][0]=0,this[Y(1383)]=1),this.strip()},P.prototype[S(1376)]=function(ae,U,W){var Y=S;return D(this[Y(493)]===0),this.iushrn(ae,U,W)},P[S(1166)][S(2780)]=function(ae){var U=S;return this.clone()[U(1696)](ae)},P[S(1166)][S(1338)]=function(ae){var U=S;return this.clone()[U(1328)](ae)},P[S(1166)][S(1527)]=function(ae){var U=S;return this[U(2164)]()[U(1376)](ae)},P[S(1166)][S(2384)]=function(ae){var U=S;return this[U(2164)]()[U(1487)](ae)},P[S(1166)].testn=function(Y){var U=S;D(U(2013)==typeof Y&&0<=Y);var W=Y%26,Y=(Y-W)/26;return!(this[U(1383)]<=Y||!(this[U(660)][Y]&1<<W))},P.prototype.imaskn=function(Y){var U=S;D(U(2013)==typeof Y&&0<=Y);var W=Y%26,Y=(Y-W)/26;return D(this[U(493)]===0,U(2782)),this[U(1383)]<=Y?this:(W!=0&&Y++,this[U(1383)]=Math.min(Y,this[U(1383)]),W!=0&&(this.words[this[U(1383)]-1]&=67108863^67108863>>>W<<W),this[U(968)]())},P.prototype[S(316)]=function(ae){var U=S;return this.clone()[U(1617)](ae)},P[S(1166)][S(2695)]=function(ae){var U=S;return D(typeof ae=="number"),D(ae<67108864),ae<0?this[U(590)](-ae):this[U(493)]!==0?(this[U(1383)]===1&&(0|this[U(660)][0])<ae?(this[U(660)][0]=ae-(0|this[U(660)][0]),this[U(493)]=0):(this.negative=0,this[U(590)](ae),this[U(493)]=1),this):this[U(2079)](ae)},P[S(1166)][S(2079)]=function(ae){var U=S;this[U(660)][0]+=ae;for(var W=0;W<this[U(1383)]&&67108864<=this[U(660)][W];W++)this.words[W]-=67108864,W===this[U(1383)]-1?this.words[W+1]=1:this.words[W+1]++;return this[U(1383)]=Math[U(323)](this[U(1383)],W+1),this},P[S(1166)][S(590)]=function(ae){var U=S;if(D(U(2013)==typeof ae),D(ae<67108864),ae<0)return this.iaddn(-ae);if(this[U(493)]!==0)return this[U(493)]=0,this[U(2695)](ae),this[U(493)]=1,this;if(this.words[0]-=ae,this[U(1383)]===1&&this[U(660)][0]<0)this[U(660)][0]=-this.words[0],this[U(493)]=1;else for(var W=0;W<this[U(1383)]&&this[U(660)][W]<0;W++)this[U(660)][W]+=67108864,--this[U(660)][W+1];return this[U(968)]()},P[S(1166)][S(2454)]=function(ae){var U=S;return this[U(2164)]()[U(2695)](ae)},P.prototype.subn=function(ae){var U=S;return this[U(2164)]().isubn(ae)},P[S(1166)].iabs=function(){var ae=S;return this[ae(493)]=0,this},P[S(1166)][S(1914)]=function(){var ae=S;return this[ae(2164)]()[ae(202)]()},P.prototype[S(862)]=function(ae,U,W){for(var Y=S,z=ae[Y(1383)]+W,re=(this[Y(159)](z),0),se=0;se<ae[Y(1383)];se++){var de=(0|this[Y(660)][se+W])+re,me=(0|ae.words[se])*U,re=((de-=67108863&me)>>26)-(me/67108864|0);this[Y(660)][se+W]=67108863&de}for(;se<this[Y(1383)]-W;se++)re=(de=(0|this[Y(660)][se+W])+re)>>26,this[Y(660)][se+W]=67108863&de;if(re===0)return this[Y(968)]();for(D(re===-1),se=re=0;se<this[Y(1383)];se++)re=(de=-(0|this.words[se])+re)>>26,this[Y(660)][se]=67108863&de;return this[Y(493)]=1,this[Y(968)]()},P[S(1166)]._wordDiv=function(ae,U){var W=S;this.length,ae[W(1383)];var Y,z=this[W(2164)](),re=ae,se=0|re[W(660)][re.length-1],de=((ae=26-this._countBits(se))!=0&&(re=re[W(1338)](ae),z.iushln(ae),se=0|re[W(660)][re[W(1383)]-1]),z.length-re[W(1383)]);if(U!=="mod"){(Y=new P(null))[W(1383)]=1+de,Y[W(660)]=new Array(Y.length);for(var me=0;me<Y[W(1383)];me++)Y[W(660)][me]=0}var Ce=z[W(2164)]()[W(862)](re,1,de);Ce[W(493)]===0&&(z=Ce,Y&&(Y[W(660)][de]=1));for(var Ie=de-1;0<=Ie;Ie--){var we=67108864*(0|z[W(660)][re[W(1383)]+Ie])+(0|z[W(660)][re.length+Ie-1]),we=Math[W(1869)](we/se|0,67108863);for(z[W(862)](re,we,Ie);z[W(493)]!==0;)we--,z[W(493)]=0,z[W(862)](re,1,Ie),z[W(2356)]()||(z[W(493)]^=1);Y&&(Y[W(660)][Ie]=we)}return Y&&Y[W(968)](),z[W(968)](),U!=="div"&&ae!=0&&z[W(1487)](ae),{div:Y||null,mod:z}},P[S(1166)][S(2550)]=function(ae,U,W){var Y=S;return D(!ae[Y(2356)]()),this[Y(2356)]()?{div:new P(0),mod:new P(0)}:this[Y(493)]!==0&&ae[Y(493)]===0?(se=this[Y(828)]()[Y(2550)](ae,U),U!=="mod"&&(z=se[Y(1801)].neg()),U!=="div"&&(re=se[Y(1764)][Y(828)](),W&&re[Y(493)]!==0&&re[Y(187)](ae)),{div:z,mod:re}):this.negative===0&&ae.negative!==0?(se=this[Y(2550)](ae.neg(),U),{div:z=Y(1764)!==U?se[Y(1801)].neg():z,mod:se[Y(1764)]}):(this[Y(493)]&ae[Y(493)])!=0?(se=this[Y(828)]()[Y(2550)](ae.neg(),U),U!=="div"&&(re=se[Y(1764)].neg(),W&&re[Y(493)]!==0&&re[Y(258)](ae)),{div:se[Y(1801)],mod:re}):ae[Y(1383)]>this[Y(1383)]||this[Y(526)](ae)<0?{div:new P(0),mod:this}:ae[Y(1383)]===1?Y(1801)===U?{div:this[Y(545)](ae[Y(660)][0]),mod:null}:Y(1764)===U?{div:null,mod:new P(this[Y(1825)](ae[Y(660)][0]))}:{div:this[Y(545)](ae[Y(660)][0]),mod:new P(this[Y(1825)](ae[Y(660)][0]))}:this[Y(863)](ae,U);var z,re,se},P[S(1166)].div=function(ae){var U=S;return this[U(2550)](ae,"div",!1)[U(1801)]},P[S(1166)][S(1764)]=function(ae){var U=S;return this.divmod(ae,U(1764),!1)[U(1764)]},P[S(1166)][S(1372)]=function(ae){var U=S;return this[U(2550)](ae,U(1764),!0)[U(1764)]},P[S(1166)][S(2078)]=function(z){var U=S,W=this[U(2550)](z);if(W.mod[U(2356)]())return W.div;var re=W[U(1801)][U(493)]!==0?W[U(1764)][U(258)](z):W[U(1764)],Y=z[U(2384)](1),z=z[U(329)](1),re=re.cmp(Y);return re<0||z===1&&re===0?W[U(1801)]:W[U(1801)][U(493)]!==0?W[U(1801)][U(590)](1):W.div[U(2695)](1)},P.prototype[S(1825)]=function(ae){var U=S;D(ae<=67108863);for(var W=(1<<26)%ae,Y=0,z=this.length-1;0<=z;z--)Y=(W*Y+(0|this[U(660)][z]))%ae;return Y},P.prototype[S(2593)]=function(ae){var U=S;D(ae<=67108863);for(var W=0,Y=this[U(1383)]-1;0<=Y;Y--){var z=(0|this.words[Y])+67108864*W;this.words[Y]=z/ae|0,W=z%ae}return this[U(968)]()},P[S(1166)].divn=function(ae){var U=S;return this[U(2164)]()[U(2593)](ae)},P[S(1166)][S(1156)]=function(ae){var U=S;D(ae[U(493)]===0),D(!ae.isZero());for(var Y=this,W=ae[U(2164)](),Y=Y[U(493)]!==0?Y[U(1372)](ae):Y.clone(),z=new P(1),re=new P(0),se=new P(0),de=new P(1),me=0;Y.isEven()&&W[U(631)]();)Y.iushrn(1),W[U(1487)](1),++me;for(var Ce=W[U(2164)](),Ie=Y[U(2164)]();!Y.isZero();){for(var we=0,Te=1;(Y[U(660)][0]&Te)==0&&we<26;++we,Te<<=1);if(0<we)for(Y[U(1487)](we);0<we--;)(z[U(2108)]()||re.isOdd())&&(z[U(187)](Ce),re[U(258)](Ie)),z[U(1487)](1),re[U(1487)](1);for(var Ge=0,ke=1;(W[U(660)][0]&ke)==0&&Ge<26;++Ge,ke<<=1);if(0<Ge)for(W[U(1487)](Ge);0<Ge--;)(se[U(2108)]()||de[U(2108)]())&&(se[U(187)](Ce),de[U(258)](Ie)),se.iushrn(1),de[U(1487)](1);0<=Y[U(526)](W)?(Y[U(258)](W),z[U(258)](se),re[U(258)](de)):(W.isub(Y),se.isub(z),de[U(258)](re))}return{a:se,b:de,gcd:W[U(1328)](me)}},P[S(1166)][S(1243)]=function(ae){var U=S;D(ae[U(493)]===0),D(!ae[U(2356)]());for(var W,z=this,Y=ae.clone(),z=z.negative!==0?z[U(1372)](ae):z[U(2164)](),re=new P(1),se=new P(0),de=Y[U(2164)]();0<z[U(1329)](1)&&0<Y[U(1329)](1);){for(var me=0,Ce=1;(z[U(660)][0]&Ce)==0&&me<26;++me,Ce<<=1);if(0<me)for(z[U(1487)](me);0<me--;)re[U(2108)]()&&re[U(187)](de),re[U(1487)](1);for(var Ie=0,we=1;(Y.words[0]&we)==0&&Ie<26;++Ie,we<<=1);if(0<Ie)for(Y.iushrn(Ie);0<Ie--;)se[U(2108)]()&&se[U(187)](de),se[U(1487)](1);0<=z[U(526)](Y)?(z[U(258)](Y),re[U(258)](se)):(Y[U(258)](z),se.isub(re))}return(W=z[U(1329)](1)===0?re:se)[U(1329)](0)<0&&W[U(187)](ae),W},P[S(1166)][S(2011)]=function(ae){var U=S;if(this[U(2356)]())return ae[U(1914)]();if(ae[U(2356)]())return this.abs();var W=this.clone(),Y=ae.clone();W[U(493)]=0;for(var z=Y.negative=0;W[U(631)]()&&Y[U(631)]();z++)W[U(1487)](1),Y[U(1487)](1);for(;;){for(;W[U(631)]();)W[U(1487)](1);for(;Y[U(631)]();)Y[U(1487)](1);var re=W[U(526)](Y);if(re<0)var se=W,W=Y,Y=se;else if(re===0||Y[U(1329)](1)===0)break;W[U(258)](Y)}return Y[U(1328)](z)},P[S(1166)].invm=function(ae){var U=S;return this.egcd(ae).a[U(1372)](ae)},P[S(1166)][S(631)]=function(){var ae=S;return(1&this[ae(660)][0])==0},P[S(1166)].isOdd=function(){var ae=S;return(1&this[ae(660)][0])==1},P[S(1166)].andln=function(ae){var U=S;return this[U(660)][0]&ae},P[S(1166)][S(1468)]=function(W){var U=S;D(typeof W=="number");var Y=W%26,W=(W-Y)/26,Y=1<<Y;if(this[U(1383)]<=W)return this[U(159)](1+W),this[U(660)][W]|=Y,this;for(var z=Y,re=W;z!==0&&re<this[U(1383)];re++){var se=0|this[U(660)][re],z=(se+=z)>>>26;se&=67108863,this[U(660)][re]=se}return z!==0&&(this[U(660)][re]=z,this[U(1383)]++),this},P[S(1166)][S(2356)]=function(){var ae=S;return this[ae(1383)]===1&&this[ae(660)][0]===0},P[S(1166)][S(1329)]=function(ae){var U=S,W=ae<0;return this[U(493)]===0||W?this[U(493)]===0&&W?1:(this[U(968)](),W=1<this[U(1383)]?1:(D((ae=W?-ae:ae)<=67108863,U(2156)),(W=0|this.words[0])===ae?0:W<ae?-1:1),this[U(493)]!==0?0|-W:W):-1},P.prototype[S(526)]=function(ae){var U=S;return this[U(493)]!==0&&ae[U(493)]===0?-1:this[U(493)]===0&&ae[U(493)]!==0?1:(ae=this[U(1627)](ae),this[U(493)]!==0?0|-ae:ae)},P.prototype[S(1627)]=function(ae){var U=S;if(this.length>ae[U(1383)])return 1;if(this[U(1383)]<ae.length)return-1;for(var W=0,Y=this.length-1;0<=Y;Y--){var z=0|this[U(660)][Y],re=0|ae[U(660)][Y];if(z!=re){z<re?W=-1:re<z&&(W=1);break}}return W},P[S(1166)].gtn=function(ae){var U=S;return this[U(1329)](ae)===1},P[S(1166)].gt=function(ae){return this.cmp(ae)===1},P[S(1166)].gten=function(ae){var U=S;return 0<=this[U(1329)](ae)},P.prototype[S(638)]=function(ae){var U=S;return 0<=this[U(526)](ae)},P[S(1166)][S(416)]=function(ae){return this.cmpn(ae)===-1},P[S(1166)].lt=function(ae){var U=S;return this[U(526)](ae)===-1},P[S(1166)].lten=function(ae){var U=S;return this[U(1329)](ae)<=0},P[S(1166)][S(645)]=function(ae){return this.cmp(ae)<=0},P[S(1166)].eqn=function(ae){var U=S;return this[U(1329)](ae)===0},P[S(1166)].eq=function(ae){var U=S;return this[U(526)](ae)===0},P.red=function(ae){return new ge(ae)},P.prototype[S(1190)]=function(ae){var U=S;return D(!this[U(2178)],U(304)),D(this[U(493)]===0,"red works only with positives"),ae[U(1476)](this)[U(1836)](ae)},P.prototype.fromRed=function(){var ae=S;return D(this[ae(2178)],ae(2420)),this.red[ae(624)](this)},P.prototype[S(1836)]=function(ae){var U=S;return this[U(2178)]=ae,this},P[S(1166)][S(1119)]=function(ae){var U=S;return D(!this.red,U(304)),this[U(1836)](ae)},P[S(1166)][S(1021)]=function(ae){var U=S;return D(this[U(2178)],U(2212)),this[U(2178)][U(2400)](this,ae)},P.prototype[S(2597)]=function(ae){var U=S;return D(this[U(2178)],U(559)),this[U(2178)][U(187)](this,ae)},P[S(1166)][S(1121)]=function(ae){var U=S;return D(this.red,U(1575)),this.red.sub(this,ae)},P[S(1166)][S(1910)]=function(ae){var U=S;return D(this[U(2178)],U(1318)),this[U(2178)][U(258)](this,ae)},P[S(1166)][S(1142)]=function(ae){var U=S;return D(this[U(2178)],U(656)),this[U(2178)][U(346)](this,ae)},P.prototype[S(249)]=function(ae){var U=S;return D(this[U(2178)],U(301)),this[U(2178)][U(1769)](this,ae),this[U(2178)][U(2545)](this,ae)},P[S(1166)][S(1149)]=function(ae){var U=S;return D(this[U(2178)],U(301)),this[U(2178)][U(1769)](this,ae),this.red[U(1805)](this,ae)},P[S(1166)].redSqr=function(){var ae=S;return D(this[ae(2178)],ae(2776)),this[ae(2178)][ae(1819)](this),this[ae(2178)].sqr(this)},P[S(1166)][S(2306)]=function(){var ae=S;return D(this[ae(2178)],ae(2569)),this.red[ae(1819)](this),this[ae(2178)].isqr(this)},P.prototype[S(1437)]=function(){var ae=S;return D(this[ae(2178)],ae(1545)),this[ae(2178)][ae(1819)](this),this[ae(2178)].sqrt(this)},P[S(1166)][S(2766)]=function(){var ae=S;return D(this[ae(2178)],ae(1362)),this[ae(2178)][ae(1819)](this),this[ae(2178)][ae(2728)](this)},P.prototype[S(1364)]=function(){var ae=S;return D(this.red,ae(1775)),this[ae(2178)][ae(1819)](this),this.red[ae(828)](this)},P[S(1166)][S(1396)]=function(ae){var U=S;return D(this.red&&!ae[U(2178)],"redPow(normalNum)"),this.red[U(1819)](this),this[U(2178)].pow(this,ae)};var ie={k256:null,p224:null,p192:null,p25519:null};function H(ae,U){var W=S;this[W(878)]=ae,this.p=new P(U,16),this.n=this.p[W(485)](),this.k=new P(1)[W(1328)](this.n).isub(this.p),this[W(1120)]=this[W(1920)]()}function le(){var ae=S;H[ae(2623)](this,ae(238),"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function ue(){var ae=S;H[ae(2623)](this,ae(464),ae(1996))}function Ae(){var ae=S;H[ae(2623)](this,ae(505),"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function he(){var ae=S;H.call(this,ae(665),ae(1684))}function ge(ae){var U=S,W;typeof ae=="string"?(W=P[U(865)](ae),this.m=W.p,this[U(1390)]=W):(D(ae[U(1023)](1),"modulus must be greater than 1"),this.m=ae,this.prime=null)}function fe(ae){var U=S;ge[U(2623)](this,ae),this[U(537)]=this.m[U(485)](),this[U(537)]%26!=0&&(this[U(537)]+=26-this[U(537)]%26),this.r=new P(1)[U(1328)](this[U(537)]),this.r2=this[U(1028)](this.r[U(1219)]()),this[U(467)]=this.r._invmp(this.m),this[U(2487)]=this[U(467)][U(2545)](this.r)[U(590)](1)[U(1801)](this.m),this.minv=this.minv[U(1372)](this.r),this.minv=this.r[U(1550)](this[U(2487)])}H[S(1166)][S(1920)]=function(){var ae=S,U=new P(null);return U[ae(660)]=new Array(Math[ae(1266)](this.n/13)),U},H.prototype[S(518)]=function(ae){for(var U=S,W,Y=ae;this[U(2259)](Y,this[U(1120)]),(W=(Y=(Y=this[U(1259)](Y))[U(187)](this[U(1120)])).bitLength())>this.n;);return ae=W<this.n?-1:Y[U(1627)](this.p),ae===0?(Y[U(660)][0]=0,Y[U(1383)]=1):0<ae?Y[U(258)](this.p):Y.strip!==void 0?Y[U(968)]():Y[U(1076)](),Y},H[S(1166)][S(2259)]=function(ae,U){var W=S;ae[W(1487)](this.n,0,U)},H[S(1166)][S(1259)]=function(ae){return ae.imul(this.k)},R(le,H),le.prototype[S(2259)]=function(ae,U){for(var W=S,Y=Math[W(1869)](ae[W(1383)],9),z=0;z<Y;z++)U[W(660)][z]=ae[W(660)][z];if(U[W(1383)]=Y,ae[W(1383)]<=9)return ae.words[0]=0,void(ae[W(1383)]=1);var re=ae[W(660)][9];for(U[W(660)][U[W(1383)]++]=4194303&re,z=10;z<ae[W(1383)];z++){var se=0|ae[W(660)][z];ae[W(660)][z-10]=(4194303&se)<<4|re>>>22,re=se}(ae.words[z-10]=re>>>=22)==0&&10<ae[W(1383)]?ae[W(1383)]-=10:ae[W(1383)]-=9},le[S(1166)][S(1259)]=function(ae){var U=S;ae.words[ae[U(1383)]]=0,ae[U(660)][ae.length+1]=0,ae[U(1383)]+=2;for(var W=0,Y=0;Y<ae[U(1383)];Y++){var z=0|ae[U(660)][Y];W+=977*z,ae[U(660)][Y]=67108863&W,W=64*z+(W/67108864|0)}return ae.words[ae.length-1]===0&&(ae.length--,ae[U(660)][ae[U(1383)]-1]===0&&ae[U(1383)]--),ae},R(ue,H),R(Ae,H),R(he,H),he[S(1166)][S(1259)]=function(ae){for(var U=S,W=0,Y=0;Y<ae[U(1383)];Y++){var z=19*(0|ae[U(660)][Y])+W,re=67108863&z;z>>>=26,ae[U(660)][Y]=re,W=z}return W!==0&&(ae[U(660)][ae[U(1383)]++]=W),ae},P[S(865)]=function(ae){var U=S;if(ie[ae])return ie[ae];var W;if(U(238)===ae)W=new le;else if(U(464)===ae)W=new ue;else if(U(505)===ae)W=new Ae;else{if(U(2441)!==ae)throw new Error("Unknown prime "+ae);W=new he}return ie[ae]=W},ge[S(1166)][S(1819)]=function(ae){var U=S;D(ae.negative===0,U(906)),D(ae[U(2178)],U(218))},ge[S(1166)][S(1769)]=function(ae,U){var W=S;D((ae[W(493)]|U[W(493)])==0,W(906)),D(ae[W(2178)]&&ae[W(2178)]===U[W(2178)],"red works only with red numbers")},ge[S(1166)].imod=function(ae){var U=S;return(this.prime?this.prime[U(518)](ae):ae[U(1372)](this.m))[U(1836)](this)},ge[S(1166)].neg=function(ae){var U=S;return ae[U(2356)]()?ae.clone():this.m[U(1550)](ae)[U(1836)](this)},ge[S(1166)][S(2400)]=function(ae,U){var W=S;return this[W(1769)](ae,U),ae=ae[W(2400)](U),0<=ae[W(526)](this.m)&&ae[W(258)](this.m),ae[W(1836)](this)},ge[S(1166)][S(187)]=function(ae,U){var W=S;return this[W(1769)](ae,U),ae=ae.iadd(U),0<=ae[W(526)](this.m)&&ae[W(258)](this.m),ae},ge[S(1166)][S(1550)]=function(ae,U){var W=S;return this[W(1769)](ae,U),ae=ae[W(1550)](U),ae[W(1329)](0)<0&&ae[W(187)](this.m),ae[W(1836)](this)},ge[S(1166)][S(258)]=function(ae,U){var W=S;return this[W(1769)](ae,U),ae=ae[W(258)](U),ae[W(1329)](0)<0&&ae[W(187)](this.m),ae},ge[S(1166)][S(346)]=function(ae,U){var W=S;return this[W(1819)](ae),this.imod(ae[W(1338)](U))},ge.prototype[S(1805)]=function(ae,U){var W=S;return this[W(1769)](ae,U),this[W(1028)](ae[W(1805)](U))},ge[S(1166)][S(2545)]=function(ae,U){var W=S;return this[W(1769)](ae,U),this[W(1028)](ae[W(2545)](U))},ge.prototype[S(468)]=function(ae){var U=S;return this[U(1805)](ae,ae.clone())},ge.prototype.sqr=function(ae){var U=S;return this[U(2545)](ae,ae)},ge[S(1166)][S(820)]=function(ae){var U=S;if(ae[U(2356)]())return ae[U(2164)]();var W=this.m[U(329)](3);if(D(W%2==1),W===3)return W=this.m.add(new P(1))[U(1487)](2),this[U(337)](ae,W);for(var Y=this.m[U(160)](1),z=0;!Y[U(2356)]()&&Y[U(329)](1)===0;)z++,Y[U(1487)](1);D(!Y.isZero());for(var re=new P(1)[U(1190)](this),se=re[U(1364)](),de=this.m.subn(1).iushrn(1),me=new P(2*(me=this.m[U(485)]())*me).toRed(this);this[U(337)](me,de)[U(526)](se)!==0;)me[U(2597)](se);for(var Ce=this[U(337)](me,Y),Ie=this[U(337)](ae,Y.addn(1)[U(1487)](1)),we=this[U(337)](ae,Y),Te=z;we[U(526)](re)!==0;){for(var Ge=we,ke=0;Ge[U(526)](re)!==0;ke++)Ge=Ge[U(1533)]();D(ke<Te);var Oe=this[U(337)](Ce,new P(1).iushln(Te-ke-1)),Ie=Ie[U(249)](Oe),Ce=Oe[U(1533)](),we=we[U(249)](Ce),Te=ke}return Ie},ge[S(1166)][S(2728)]=function(ae){var U=S;return ae=ae[U(1243)](this.m),ae[U(493)]!==0?(ae[U(493)]=0,this[U(1028)](ae)[U(1364)]()):this[U(1028)](ae)},ge[S(1166)][S(337)]=function(ae,U){var W=S;if(U.isZero())return new P(1)[W(1190)](this);if(U[W(1329)](1)===0)return ae[W(2164)]();var Y=new Array(16);Y[0]=new P(1).toRed(this),Y[1]=ae;for(var z=2;z<Y[W(1383)];z++)Y[z]=this.mul(Y[z-1],ae);var re=Y[0],se=0,de=0,me=U[W(485)]()%26;for(me===0&&(me=26),z=U.length-1;0<=z;z--){for(var Ce=U[W(660)][z],Ie=me-1;0<=Ie;Ie--){var we=Ce>>Ie&1;re!==Y[0]&&(re=this[W(1219)](re)),we==0&&se===0?de=0:(se=se<<1|we,(++de==4||z===0&&Ie===0)&&(re=this[W(2545)](re,Y[se]),se=de=0))}me=26}return re},ge[S(1166)][S(1476)]=function(ae){var U=S,W=ae[U(1372)](this.m);return W===ae?W.clone():W},ge[S(1166)][S(624)]=function(ae){var U=S;return ae=ae[U(2164)](),ae.red=null,ae},P[S(2129)]=function(ae){return new fe(ae)},R(fe,ge),fe[S(1166)][S(1476)]=function(ae){var U=S;return this[U(1028)](ae[U(1338)](this[U(537)]))},fe[S(1166)][S(624)]=function(ae){var U=S;return ae=this.imod(ae[U(2545)](this[U(467)])),ae[U(2178)]=null,ae},fe[S(1166)][S(1805)]=function(ae,U){var W=S;return ae[W(2356)]()||U[W(2356)]()?(ae[W(660)][0]=0,ae[W(1383)]=1,ae):(ae=ae[W(1805)](U),U=ae[W(316)](this.shift)[W(2545)](this.minv).imaskn(this[W(537)])[W(2545)](this.m),ae=ae[W(258)](U)[W(1487)](this[W(537)]),U=ae,0<=ae[W(526)](this.m)?U=ae[W(258)](this.m):ae.cmpn(0)<0&&(U=ae[W(187)](this.m)),U._forceRed(this))},fe[S(1166)][S(2545)]=function(ae,U){var W=S;return ae.isZero()||U[W(2356)]()?new P(0)._forceRed(this):(ae=ae.mul(U),U=ae[W(316)](this[W(537)])[W(2545)](this[W(2487)])[W(1617)](this[W(537)]).mul(this.m),ae=ae[W(258)](U).iushrn(this[W(537)]),U=ae,0<=ae[W(526)](this.m)?U=ae[W(258)](this.m):ae[W(1329)](0)<0&&(U=ae.iadd(this.m)),U._forceRed(this))},fe[S(1166)][S(2728)]=function(ae){var U=S;return this[U(1028)](ae[U(1243)](this.m)[U(2545)](this.r2))[U(1836)](this)}})((B=T.nmd(B),this))},69282:(ue,Q,T)=>{var w=Ut,S=T(34155),D=T(25108);function R(me){var Ce=Ut;return(R=Ce(1451)==typeof Symbol&&Ce(428)==typeof Symbol[Ce(2037)]?function(Ie){return typeof Ie}:function(Ie){var we=Ce;return Ie&&we(1451)==typeof Symbol&&Ie[we(2267)]===Symbol&&Ie!==Symbol[we(1166)]?we(428):typeof Ie})(me)}var P,M,ee=T(62136)[w(2025)],L=ee[w(1505)],F=ee.ERR_INVALID_ARG_TYPE,k=ee[w(746)],N=ee[w(140)],G=ee[w(2472)],J=T(25961),K=T(89539)[w(1035)],ee=T(89539).types,X=ee[w(1491)],q=ee.isRegExp,ee=Object[w(1136)]||T(8091)[w(1136)],ie=Object.is||T(20609);function H(){var me=w,Ce=T(19158);P=Ce[me(2700)],M=Ce[me(1358)]}var le=!1,ue=ue[w(1729)]=fe,Ae={};function he(me){var Ce=w;throw me[Ce(1531)]instanceof Error?me[Ce(1531)]:new J(me)}function ge(me,Ce,Ie,we){var Te=w;if(!Ie){var Ge=!1;if(Ce===0)Ge=!0,we=Te(1493);else if(we instanceof Error)throw we;throw Ce=new J({actual:Ie,expected:!0,message:we,operator:"==",stackStartFn:me}),Ce.generatedMessage=Ge,Ce}}function fe(){for(var me=w,Ce=arguments.length,Ie=new Array(Ce),we=0;we<Ce;we++)Ie[we]=arguments[we];ge[me(2559)](void 0,[fe,Ie[me(1383)]][me(1544)](Ie))}function ae(me,Ce,Ie){var we=w,Te=this;if(!(this instanceof ae))throw new TypeError(we(890));Ce[we(2455)](function(Ge){var ke=we;Ge in me&&(Ie!==void 0&&ke(1896)==typeof Ie[Ge]&&q(me[Ge])&&me[Ge][ke(1172)](Ie[Ge])?Te[Ge]=Ie[Ge]:Te[Ge]=me[Ge])})}function U(me,Ce,Ie,we){var Te=w;if(typeof Ce=="function")return Ce[Te(1166)]!==void 0&&me instanceof Ce||!Error.isPrototypeOf(Ce)&&Ce[Te(2623)]({},me)===!0;if(q(Ce))return Ce[Te(1172)](me);if(arguments[Te(1383)]===2)throw new F("expected",["Function",Te(2321)],Ce);var Ge;if(Te(1499)!==R(me)||me===null)throw(Ge=new J({actual:me,expected:Ce,message:Ie,operator:Te(1909),stackStartFn:we})).operator=we.name,Ge;var ke=Object[Te(451)](Ce);if(Ce instanceof Error)ke.push(Te(878),Te(1531));else if(ke.length===0)throw new k(Te(899),Ce,Te(2049));return P===void 0&&H(),ke.forEach(function(Oe){var Le=Te;if(Le(1896)!=typeof me[Oe]||!q(Ce[Oe])||!Ce[Oe][Le(1172)](me[Oe])){var be=me,Ne=Ce,Ue=Ie,ze=ke,Je=we;if(!(Oe in be&&M(be[Oe],Ne[Oe]))){if(!Ue)throw Oe=new ae(be,ze),ze=new ae(Ne,ze,be),(Oe=new J({actual:Oe,expected:ze,operator:Le(1909),stackStartFn:Je}))[Le(1271)]=be,Oe[Le(633)]=Ne,Oe[Le(1689)]=Je.name,Oe;he({actual:be,expected:Ne,message:Ue,operator:Je[Le(878)],stackStartFn:Je})}}}),1}function W(me){var Ce=w;if(Ce(1451)!=typeof me)throw new F("fn",Ce(2631),me);try{me()}catch(Ie){return Ie}return Ae}function Y(me){var Ce=w;return X(me)||me!==null&&Ce(1499)===R(me)&&typeof me.then=="function"&&Ce(1451)==typeof me[Ce(779)]}function z(me){return Promise.resolve().then(function(){var Ce=Ut,Ie;if(Ce(1451)==typeof me){if(!Y(Ie=me()))throw new N(Ce(2499),Ce(136),Ie)}else{if(!Y(me))throw new F(Ce(136),["Function",Ce(2409)],me);Ie=me}return Promise[Ce(1348)]().then(function(){return Ie})[Ce(2401)](function(){return Ae})[Ce(779)](function(we){return we})})}function re(me,Ce,Ie,we){var Te=w;if(Te(1896)==typeof Ie){if(arguments.length===4)throw new F(Te(899),["Object",Te(1942),Te(2631),Te(2321)],Ie);if(Te(1499)===R(Ce)&&Ce!==null){if(Ce[Te(1531)]===Ie)throw new L(Te(251),'The error message "'[Te(1544)](Ce[Te(1531)],'" is identical to the message.'))}else if(Ce===Ie)throw new L(Te(251),Te(1084).concat(Ce,Te(1569)));we=Ie,Ie=void 0}else if(Ie!=null&&Te(1499)!==R(Ie)&&Te(1451)!=typeof Ie)throw new F(Te(899),[Te(1114),Te(1942),Te(2631),Te(2321)],Ie);var Ge,ke;if(Ce===Ae&&(Ge="",Ie&&Ie.name&&(Ge+=" ("[Te(1544)](Ie[Te(878)],")")),Ge+=we?": "[Te(1544)](we):".",ke=Te(430)===me[Te(878)]?"rejection":Te(1057),he({actual:void 0,expected:Ie,operator:me.name,message:Te(419)[Te(1544)](ke)[Te(1544)](Ge),stackStartFn:me})),Ie&&!U(Ce,Ie,we,me))throw Ce}function se(me,Ce,Ie,we){var Te=w,Ge;if(Ce!==Ae)throw Te(1896)==typeof Ie&&(we=Ie,Ie=void 0),Ie&&!U(Ce,Ie)||(we=we?": ".concat(we):".",Ge=me[Te(878)]==="doesNotReject"?"rejection":Te(1057),he({actual:Ce,expected:Ie,operator:me[Te(878)],message:Te(2087).concat(Ge).concat(we,` `)+Te(217)[Te(1544)](Ce&&Ce[Te(1531)],'"'),stackStartFn:me})),Ce}function de(){for(var me=w,Ce=arguments[me(1383)],Ie=new Array(Ce),we=0;we<Ce;we++)Ie[we]=arguments[we];ge[me(2559)](void 0,[de,Ie[me(1383)]][me(1544)](Ie))}ue[w(152)]=function me(Ce,Ie,we,Te,Ge){var ke=w,Oe,Le=arguments[ke(1383)];throw Le===0?Oe=ke(2562):Le===1?(we=Ce,Ce=void 0):(le===!1&&(le=!0,(S.emitWarning||D.warn[ke(1753)](D))(ke(2134),"DeprecationWarning",ke(2616))),Le===2&&(Te="!=")),we instanceof Error?we:(Le={actual:Ce,expected:Ie,operator:Te===void 0?ke(152):Te,stackStartFn:Ge||me},we!==void 0&&(Le.message=we),Le=new J(Le),Oe&&(Le[ke(1531)]=Oe,Le[ke(2066)]=!0),Le)},ue[w(1975)]=J,ue.ok=fe,ue[w(610)]=function me(Ce,Ie,we){var Te=w;if(arguments[Te(1383)]<2)throw new G(Te(1271),Te(633));Ce!=Ie&&he({actual:Ce,expected:Ie,message:we,operator:"==",stackStartFn:me})},ue[w(2242)]=function me(Ce,Ie,we){var Te=w;if(arguments[Te(1383)]<2)throw new G("actual","expected");Ce==Ie&&he({actual:Ce,expected:Ie,message:we,operator:"!=",stackStartFn:me})},ue[w(1522)]=function me(Ce,Ie,we){var Te=w;if(arguments[Te(1383)]<2)throw new G(Te(1271),Te(633));P===void 0&&H(),P(Ce,Ie)||he({actual:Ce,expected:Ie,message:we,operator:"deepEqual",stackStartFn:me})},ue[w(393)]=function me(Ce,Ie,we){var Te=w;if(arguments[Te(1383)]<2)throw new G(Te(1271),Te(633));P===void 0&&H(),P(Ce,Ie)&&he({actual:Ce,expected:Ie,message:we,operator:Te(393),stackStartFn:me})},ue[w(1909)]=function me(Ce,Ie,we){var Te=w;if(arguments.length<2)throw new G("actual",Te(633));P===void 0&&H(),M(Ce,Ie)||he({actual:Ce,expected:Ie,message:we,operator:Te(1909),stackStartFn:me})},ue[w(1941)]=function me(Ce,Ie,we){var Te=w;if(arguments[Te(1383)]<2)throw new G(Te(1271),"expected");P===void 0&&H(),M(Ce,Ie)&&he({actual:Ce,expected:Ie,message:we,operator:Te(1941),stackStartFn:me})},ue[w(961)]=function me(Ce,Ie,we){var Te=w;if(arguments[Te(1383)]<2)throw new G(Te(1271),Te(633));ie(Ce,Ie)||he({actual:Ce,expected:Ie,message:we,operator:"strictEqual",stackStartFn:me})},ue.notStrictEqual=function me(Ce,Ie,we){var Te=w;if(arguments[Te(1383)]<2)throw new G(Te(1271),Te(633));ie(Ce,Ie)&&he({actual:Ce,expected:Ie,message:we,operator:"notStrictEqual",stackStartFn:me})},ue[w(797)]=function me(Ce){for(var Ie=w,we=arguments.length,Te=new Array(1<we?we-1:0),Ge=1;Ge<we;Ge++)Te[Ge-1]=arguments[Ge];re[Ie(2559)](void 0,[me,W(Ce)][Ie(1544)](Te))},ue[w(430)]=function me(Ce){for(var Ie=w,we=arguments[Ie(1383)],Te=new Array(1<we?we-1:0),Ge=1;Ge<we;Ge++)Te[Ge-1]=arguments[Ge];return z(Ce)[Ie(2401)](function(ke){var Oe=Ie;return re[Oe(2559)](void 0,[me,ke][Oe(1544)](Te))})},ue[w(2589)]=function me(Ce){for(var Ie=w,we=arguments.length,Te=new Array(1<we?we-1:0),Ge=1;Ge<we;Ge++)Te[Ge-1]=arguments[Ge];se.apply(void 0,[me,W(Ce)][Ie(1544)](Te))},ue[w(2170)]=function me(Ce){for(var Ie=w,we=arguments[Ie(1383)],Te=new Array(1<we?we-1:0),Ge=1;Ge<we;Ge++)Te[Ge-1]=arguments[Ge];return z(Ce).then(function(ke){var Oe=Ie;return se[Oe(2559)](void 0,[me,ke][Oe(1544)](Te))})},ue.ifError=function me(Ce){var Ie=w;if(Ce!=null){var we=Ie(1923),we=(Ie(1499)===R(Ce)&&Ie(1896)==typeof Ce[Ie(1531)]?Ce[Ie(1531)][Ie(1383)]===0&&Ce[Ie(2267)]?we+=Ce[Ie(2267)][Ie(878)]:we+=Ce[Ie(1531)]:we+=K(Ce),new J({actual:Ce,expected:null,operator:"ifError",message:we,stackStartFn:me})),Ce=Ce[Ie(1461)];if(typeof Ce=="string"){for(var Te=Ce[Ie(2259)](` `),Ge=(Te[Ie(537)](),we.stack[Ie(2259)](` `)),ke=0;ke<Te.length;ke++){var Oe=Ge.indexOf(Te[ke]);if(Oe!==-1){Ge=Ge[Ie(2679)](0,Oe);break}}we[Ie(1461)]=""[Ie(1544)](Ge.join(` `),` `)[Ie(1544)](Te.join(` `))}throw we}},ue[w(1853)]=ee(de,ue,{equal:ue[w(961)],deepEqual:ue.deepStrictEqual,notEqual:ue[w(1842)],notDeepEqual:ue[w(1941)]}),ue[w(1853)][w(1853)]=ue[w(1853)]},25961:(B,Q,T)=>{var w=Ut,S=T(34155);function D(he,ge){for(var fe=Ut,ae=0;ae<ge[fe(1383)];ae++){var U=ge[ae];U[fe(1273)]=U[fe(1273)]||!1,U[fe(2673)]=!0,"value"in U&&(U[fe(2021)]=!0),Object[fe(1844)](he,U[fe(513)],U)}}function R(he,ge){var fe=Ut;return!ge||fe(1499)!==N(ge)&&fe(1451)!=typeof ge?P(he):ge}function P(he){var ge=Ut;if(he===void 0)throw new ReferenceError(ge(1995));return he}function M(he){var ge=Ut,fe=typeof Map=="function"?new Map:void 0,ae=he;if(ae===null||Function[ge(1888)][ge(2623)](ae)[ge(2035)](ge(958))===-1)return ae;if(typeof ae!="function")throw new TypeError(ge(2067));if(fe!==void 0){if(fe.has(ae))return fe[ge(1935)](ae);fe[ge(2573)](ae,U)}function U(){var W=ge;return L(ae,arguments,k(this)[W(2267)])}return U[ge(1166)]=Object[ge(917)](ae[ge(1166)],{constructor:{value:U,enumerable:!1,writable:!0,configurable:!0}}),F(U,ae)}function L(he,ge,fe){var ae=Ut;return(L=function(){var U=Ut;if(U(1506)!=typeof Reflect&&Reflect[U(1126)]&&!Reflect[U(1126)][U(2543)]){if(U(1451)==typeof Proxy)return 1;try{return Date.prototype[U(1888)].call(Reflect[U(1126)](Date,[],function(){})),1}catch{return}}}()?Reflect.construct:function(U,se,Y){var z=Ut,re=[null],se=(re[z(182)][z(2559)](re,se),new(Function.bind[z(2559)](U,re)));return Y&&F(se,Y[z(1166)]),se})[ae(2559)](null,arguments)}function F(he,ge){var fe=Ut;return(F=Object[fe(1020)]||function(ae,U){return ae.__proto__=U,ae})(he,ge)}function k(he){var ge=Ut;return(k=Object[ge(1020)]?Object[ge(905)]:function(fe){return fe.__proto__||Object.getPrototypeOf(fe)})(he)}function N(he){var ge=Ut;return(N=ge(1451)==typeof Symbol&&typeof Symbol[ge(2037)]=="symbol"?function(fe){return typeof fe}:function(fe){var ae=ge;return fe&&ae(1451)==typeof Symbol&&fe.constructor===Symbol&&fe!==Symbol[ae(1166)]?"symbol":typeof fe})(he)}var G=T(89539).inspect,J=T(62136).codes[w(594)];function K(he,ge,fe){var ae=w;return(fe===void 0||fe>he[ae(1383)])&&(fe=he[ae(1383)]),he[ae(356)](fe-ge[ae(1383)],fe)===ge}var X="",q="",ee="",ie="",H={deepStrictEqual:w(1901),strictEqual:"Expected values to be strictly equal:",strictEqualObject:w(2222),deepEqual:w(2074),equal:w(1890),notDeepStrictEqual:w(1237),notStrictEqual:w(2587),notStrictEqualObject:w(2492),notDeepEqual:w(1639),notEqual:w(2486),notIdentical:"Values identical but not reference-equal:"},le=10;function ue(he){var ge=w,fe=Object[ge(451)](he),ae=Object.create(Object[ge(905)](he));return fe[ge(2455)](function(U){ae[U]=he[U]}),Object[ge(1844)](ae,"message",{value:he[ge(1531)]}),ae}function Ae(he){return G(he,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}T=function(){var he=w,ge=ae,fe=M(Error);if(he(1451)!=typeof fe&&fe!==null)throw new TypeError(he(2067));function ae(me){var W=he,Y;if(!(this instanceof ae))throw new TypeError(W(890));if(W(1499)!==N(me)||me===null)throw new J(W(2205),"Object",me);var z=me.message,re=me[W(1689)],se=me[W(1958)],de=me[W(1271)],me=me[W(633)],Ce=Error[W(2608)];if(Error[W(2608)]=0,z!=null)Y=R(this,k(ae)[W(2623)](this,String(z)));else if(S[W(1229)]&&S.stderr.isTTY&&(ee=S[W(1229)]&&S.stderr[W(1477)]&&S[W(1229)][W(1477)]()!==1?(X=W(2585),q=W(1557),ie=W(679),W(2125)):ie=q=X=""),N(de)==="object"&&de!==null&&W(1499)===N(me)&&me!==null&&"stack"in de&&de instanceof Error&&W(1461)in me&&me instanceof Error&&(de=ue(de),me=ue(me)),W(1909)===re||W(961)===re)Y=R(this,k(ae)[W(2623)](this,function(ke,Oe,Le){var be=W,Ne="",Ue="",ze=0,Je="",Xe=!1,et=Ae(ke),ot=et[be(2259)](` `),Et=Ae(Oe)[be(2259)](` `),Ct=0,ct="";if(be(961)===Le&&be(1499)===N(ke)&&be(1499)===N(Oe)&&ke!==null&&Oe!==null&&(Le=be(2560)),ot[be(1383)]===1&&Et.length===1&&ot[0]!==Et[0]){var yt=ot[0][be(1383)]+Et[0][be(1383)];if(yt<=le){if(!(be(1499)===N(ke)&&ke!==null||be(1499)===N(Oe)&&Oe!==null||ke===0&&Oe===0))return""[be(1544)](H[Le],` `)+""[be(1544)](ot[0],be(2759))[be(1544)](Et[0],` `)}else if(Le!=="strictEqualObject"&&yt<(S[be(1229)]&&S[be(1229)][be(2005)]?S[be(1229)][be(2792)]:80)){for(;ot[0][Ct]===Et[0][Ct];)Ct++;2<Ct&&(ct=be(422).concat(function(bt,Pt){var It=be;if(Pt=Math[It(1194)](Pt),bt[It(1383)]==0||Pt==0)return"";var Mi=bt[It(1383)]*Pt;for(Pt=Math[It(1194)](Math[It(196)](Pt)/Math.log(2));Pt;)bt+=bt,Pt--;return bt+bt.substring(0,Mi-bt[It(1383)])}(" ",Ct),"^"),Ct=0)}}for(var Qt=ot[ot.length-1],Ze=Et[Et.length-1];Qt===Ze&&(Ct++<2?Je=be(422)[be(1544)](Qt)[be(1544)](Je):Ne=Qt,ot[be(440)](),Et[be(440)](),ot[be(1383)]!==0&&Et[be(1383)]!==0);)Qt=ot[ot.length-1],Ze=Et[Et[be(1383)]-1];var ut=Math.max(ot[be(1383)],Et[be(1383)]);if(ut===0){var St=et[be(2259)](` `);if(30<St[be(1383)])for(St[26]="".concat(X,be(2040))[be(1544)](ie);27<St.length;)St.pop();return""[be(1544)](H[be(161)],` `)[be(1544)](St[be(951)](` `),` `)}3<Ct&&(Je=` `.concat(X,be(2040)).concat(ie)[be(1544)](Je),Xe=!0),Ne!==""&&(Je=be(422)[be(1544)](Ne)[be(1544)](Je),Ne="");for(var gt=0,xt=H[Le]+` `[be(1544)](q,be(2149)).concat(ie," ").concat(ee,be(2619))[be(1544)](ie),Lt=" "[be(1544)](X,be(2040))[be(1544)](ie,be(205)),Ct=0;Ct<ut;Ct++){var nt,Pe,ve,We=Ct-ze;if(ot[be(1383)]<Ct+1?(1<We&&2<Ct&&(4<We?(Ue+=` `[be(1544)](X,"...").concat(ie),Xe=!0):3<We&&(Ue+=be(422)[be(1544)](Et[Ct-2]),gt++),Ue+=` `[be(1544)](Et[Ct-1]),gt++),ze=Ct,Ne+=` `[be(1544)](ee,"-")[be(1544)](ie," ")[be(1544)](Et[Ct]),gt++):Et.length<Ct+1?(1<We&&2<Ct&&(4<We?(Ue+=` `[be(1544)](X,be(2040)).concat(ie),Xe=!0):3<We&&(Ue+=be(422)[be(1544)](ot[Ct-2]),gt++),Ue+=be(422)[be(1544)](ot[Ct-1]),gt++),ze=Ct,Ue+=` `[be(1544)](q,"+")[be(1544)](ie," ")[be(1544)](ot[Ct]),gt++):(nt=Et[Ct],(ve=(Pe=ot[Ct])!==nt&&(!K(Pe,",")||Pe[be(2679)](0,-1)!==nt))&&K(nt,",")&&nt[be(2679)](0,-1)===Pe&&(ve=!1,Pe+=","),ve?(1<We&&2<Ct&&(4<We?(Ue+=` `.concat(X,"...")[be(1544)](ie),Xe=!0):3<We&&(Ue+=be(422)[be(1544)](ot[Ct-2]),gt++),Ue+=` `.concat(ot[Ct-1]),gt++),ze=Ct,Ue+=` `.concat(q,"+")[be(1544)](ie," ")[be(1544)](Pe),Ne+=` `[be(1544)](ee,"-").concat(ie," ").concat(nt),gt+=2):(Ue+=Ne,Ne="",We!=1&&Ct!==0||(Ue+=` `[be(1544)](Pe),gt++))),20<gt&&Ct<ut-2)return""[be(1544)](xt)[be(1544)](Lt,` `)[be(1544)](Ue,` `)[be(1544)](X,be(2040))[be(1544)](ie)[be(1544)](Ne,` `)+""[be(1544)](X,be(2040))[be(1544)](ie)}return"".concat(xt)[be(1544)](Xe?Lt:"",` `)[be(1544)](Ue)[be(1544)](Ne)[be(1544)](Je)[be(1544)](ct)}(de,me,re)));else if(re==="notDeepStrictEqual"||W(1842)===re){var Ie=H[re],we=Ae(de)[W(2259)](` `);if(W(1842)===re&&W(1499)===N(de)&&de!==null&&(Ie=H.notStrictEqualObject),30<we.length)for(we[26]=""[W(1544)](X,W(2040))[W(1544)](ie);27<we.length;)we[W(440)]();Y=we[W(1383)]===1?R(this,k(ae)[W(2623)](this,"".concat(Ie," ")[W(1544)](we[0]))):R(this,k(ae)[W(2623)](this,""[W(1544)](Ie,` `).concat(we[W(951)](` `),` `)))}else{var Ie=Ae(de),Te="",Ge=H[re];W(393)===re||W(2242)===re?1024<(Ie=""[W(1544)](H[re],` `)[W(1544)](Ie))[W(1383)]&&(Ie=""[W(1544)](Ie.slice(0,1021),"...")):(Te=""[W(1544)](Ae(me)),512<Ie[W(1383)]&&(Ie=""[W(1544)](Ie.slice(0,509),"...")),512<Te.length&&(Te="".concat(Te[W(2679)](0,509),W(2040))),W(1522)===re||W(610)===re?Ie=""[W(1544)](Ge,` `).concat(Ie,W(913)):Te=" "[W(1544)](re," ").concat(Te)),Y=R(this,k(ae)[W(2623)](this,""[W(1544)](Ie)[W(1544)](Te)))}return Error[W(2608)]=Ce,Y[W(2066)]=!z,Object[W(1844)](P(Y),W(878),{value:W(1466),enumerable:!1,writable:!0,configurable:!0}),Y[W(1752)]=W(1173),Y.actual=de,Y.expected=me,Y.operator=re,Error.captureStackTrace&&Error[W(1051)](P(Y),se),Y[W(1461)],Y[W(878)]="AssertionError",R(Y)}return ge[he(1166)]=Object[he(917)](fe&&fe[he(1166)],{constructor:{value:ge,writable:!0,configurable:!0}}),fe&&F(ge,fe),ge=[{key:he(1888),value:function(){var U=he;return""[U(1544)](this.name," [")[U(1544)](this.code,U(1610))[U(1544)](this.message)}},{key:G.custom,value:function(U,W){return G(this,function(Y){for(var z=Ut,re=1;re<arguments[z(1383)];re++){var se=arguments[re]!=null?arguments[re]:{},de=Object[z(451)](se);(de=z(1451)==typeof Object[z(1560)]?de[z(1544)](Object[z(1560)](se)[z(711)](function(me){var Ce=z;return Object[Ce(2629)](se,me).enumerable})):de)[z(2455)](function(me){var Ce=z,Ie=Y,we=se[me=me];me in Ie?Object[Ce(1844)](Ie,me,{value:we,enumerable:!0,configurable:!0,writable:!0}):Ie[me]=we})}return Y}({},W,{customInspect:!1,depth:0}))}}],D(ae[he(1166)],ge),ae}(),B[w(1729)]=T},62136:(B,Q,T)=>{var w=Ut;function S(N){var G=Ut;return(S=G(1451)==typeof Symbol&&typeof Symbol[G(2037)]=="symbol"?function(J){return typeof J}:function(J){var K=G;return J&&K(1451)==typeof Symbol&&J[K(2267)]===Symbol&&J!==Symbol[K(1166)]?"symbol":typeof J})(N)}function D(N){var G=Ut;return(D=Object.setPrototypeOf?Object[G(905)]:function(J){var K=G;return J[K(1118)]||Object[K(905)](J)})(N)}function R(N,G){var J=Ut;return(R=Object[J(1020)]||function(K,X){var q=J;return K[q(1118)]=X,K})(N,G)}var P,M,L={};function F(N,G,J){J=J||Error;var K=function(){var X=Ut,q=ie,ee=J;if(typeof ee!="function"&&ee!==null)throw new TypeError(X(2067));function ie(H,le,ue){var Ae=X;if(this instanceof ie)return(H=function(he,ge){var fe=Ut;if(!ge||fe(1499)!==S(ge)&&fe(1451)!=typeof ge){if(he!==void 0)return he;throw new ReferenceError(fe(1995))}return ge}(this,D(ie).call(this,Ae(1896)==typeof G?G:G(H,le,ue)))).code=N,H;throw new TypeError(Ae(890))}return q[X(1166)]=Object[X(917)](ee&&ee[X(1166)],{constructor:{value:q,writable:!0,configurable:!0}}),ee&&R(q,ee),ie}();L[N]=K}function k(N,G){var J=Ut,K;return Array[J(2507)](N)?(K=N[J(1383)],N=N[J(2135)](function(X){return String(X)}),2<K?J(691)[J(1544)](G," ").concat(N[J(2679)](0,K-1)[J(951)](", "),J(2497))+N[K-1]:K===2?J(691)[J(1544)](G," ").concat(N[0],J(2069)).concat(N[1]):"of "[J(1544)](G," ")[J(1544)](N[0])):"of "[J(1544)](G," ")[J(1544)](String(N))}F("ERR_AMBIGUOUS_ARGUMENT",w(2489),TypeError),F("ERR_INVALID_ARG_TYPE",function(N,G,J){var K=w,X,q,ee,ie;return(P=P===void 0?T(69282):P)(typeof N=="string",K(539)),K(1896)==typeof G&&K(872)===G[K(2539)](0,"not "[K(1383)])?(X="must not be",G=G[K(1850)](/^not /,"")):X=K(601),(ie===void 0||ie>N[K(1383)])&&(ie=N.length),(N[K(356)](ie-(ee=" argument").length,ie)===ee?K(1435)[K(1544)](N," ")[K(1544)](X," ")[K(1544)](k(G,"type")):(ie=(q=K(2013)!=typeof q?0:q)+"."[K(1383)]>N[K(1383)]||N.indexOf(".",q)===-1?K(2147):K(546),'The "'[K(1544)](N,'" ')[K(1544)](ie," ")[K(1544)](X," ")[K(1544)](k(G,K(277)))))+K(235)[K(1544)](S(J))},TypeError),F("ERR_INVALID_ARG_VALUE",function(N,G){var J=w,K=2<arguments[J(1383)]&&arguments[2]!==void 0?arguments[2]:"is invalid",X=(M=M===void 0?T(89539):M)[J(1035)](G);return 128<X[J(1383)]&&(X=""[J(1544)](X[J(2679)](0,128),"...")),J(788).concat(N,"' ")[J(1544)](K,J(442))[J(1544)](X)},TypeError,RangeError),F("ERR_INVALID_RETURN_VALUE",function(N,G,J){var K=w;return J=J&&J[K(2267)]&&J.constructor[K(878)]?K(397)[K(1544)](J[K(2267)].name):K(2731)[K(1544)](S(J)),K(476)[K(1544)](N,K(1165))[K(1544)](G,'"')+K(728).concat(J,".")},TypeError),F("ERR_MISSING_ARGS",function(){for(var N=w,G=arguments.length,q=new Array(G),J=0;J<G;J++)q[J]=arguments[J];(P=P===void 0?T(69282):P)(0<q.length,N(2368));var K=N(1435),X=q.length,q=q[N(2135)](function(ee){var ie=N;return'"'[ie(1544)](ee,'"')});switch(X){case 1:K+=""[N(1544)](q[0]," argument");break;case 2:K+="".concat(q[0],N(1952)).concat(q[1],N(462));break;default:K=(K+=q[N(2679)](0,X-1)[N(951)](", "))+N(2531)[N(1544)](q[X-1],N(462))}return""[N(1544)](K,N(2363))},TypeError),B[w(1729)].codes=L},19158:(B,Q,X)=>{var w=Ut;function S(Ne,Ue){return function(ze){var Je=Ut;if(Array[Je(2507)](ze))return ze}(Ne)||function(ze,Je){var Xe=Ut,et=[],ot=!0,Et=!1,Ct=void 0;try{for(var ct,yt=ze[Symbol.iterator]();!(ot=(ct=yt[Xe(1966)]())[Xe(1716)])&&(et[Xe(182)](ct[Xe(242)]),!Je||et[Xe(1383)]!==Je);ot=!0);}catch(Qt){Et=!0,Ct=Qt}finally{try{ot||yt[Xe(436)]==null||yt[Xe(436)]()}finally{if(Et)throw Ct}}return et}(Ne,Ue)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function D(Ne){var Ue=Ut;return(D=Ue(1451)==typeof Symbol&&Ue(428)==typeof Symbol[Ue(2037)]?function(ze){return typeof ze}:function(ze){var Je=Ue;return ze&&Je(1451)==typeof Symbol&&ze[Je(2267)]===Symbol&&ze!==Symbol[Je(1166)]?"symbol":typeof ze})(Ne)}function R(Ne){var Ue=Ut,ze=[];return Ne[Ue(2455)](function(Je){var Xe=Ue;return ze[Xe(182)](Je)}),ze}function P(Ne){var Ue=Ut,ze=[];return Ne[Ue(2455)](function(Je,Xe){var et=Ue;return ze[et(182)]([Xe,Je])}),ze}var M=/a/g[w(1408)]!==void 0,L=Object.is||X(20609),F=Object.getOwnPropertySymbols||function(){return[]},k=Number[w(1926)]||X(20360);function N(Ne){var Ue=w;return Ne[Ue(2623)].bind(Ne)}var G=N(Object[w(1166)][w(579)]),J=N(Object[w(1166)][w(2522)]),K=N(Object[w(1166)][w(1888)]),X=X(89539)[w(1618)],q=X.isAnyArrayBuffer,ee=X.isArrayBufferView,ie=X[w(1102)],H=X[w(1724)],le=X[w(1854)],ue=X[w(2676)],Ae=X.isNativeError,he=X[w(469)],ge=X.isNumberObject,fe=X.isStringObject,ae=X[w(757)],U=X[w(1577)],W=X[w(2239)],Y=X[w(1161)],z=X.isFloat64Array;function re(Ne){var Ue=w;if(Ne[Ue(1383)]===0||10<Ne[Ue(1383)])return!0;for(var ze=0;ze<Ne[Ue(1383)];ze++){var Je=Ne[Ue(2010)](ze);if(Je<48||57<Je)return!0}return Ne[Ue(1383)]===10&&Ne>=Math[Ue(337)](2,32)}function se(Ne){var Ue=w;return Object[Ue(451)](Ne)[Ue(711)](re)[Ue(1544)](F(Ne)[Ue(711)](Object.prototype[Ue(2522)][Ue(1753)](Ne)))}function de(Ne,Ue){var ze=w;if(Ne===Ue)return 0;for(var Je=Ne[ze(1383)],Xe=Ue.length,et=0,ot=Math[ze(1869)](Je,Xe);et<ot;++et)if(Ne[et]!==Ue[et]){Je=Ne[et],Xe=Ue[et];break}return Je<Xe?-1:Xe<Je?1:0}var me=0,Ce=1,Ie=2,we=3;function Te(Ne,Ue,ze,Je){var Xe=w;if(Ne===Ue)return Ne!==0||!ze||L(Ne,Ue);if(ze){if(D(Ne)!=="object")return Xe(2013)==typeof Ne&&k(Ne)&&k(Ue);if(Xe(1499)!==D(Ue)||Ne===null||Ue===null||Object[Xe(905)](Ne)!==Object[Xe(905)](Ue))return!1}else{if(Ne===null||Xe(1499)!==D(Ne))return(Ue===null||Xe(1499)!==D(Ue))&&Ne==Ue;if(Ue===null||Xe(1499)!==D(Ue))return!1}var et=K(Ne);if(et!==K(Ue))return!1;if(Array[Xe(2507)](Ne)){if(Ne[Xe(1383)]!==Ue.length)return!1;var ot=se(Ne),Et=se(Ue);return ot[Xe(1383)]===Et[Xe(1383)]&&ke(Ne,Ue,ze,Je,Ce,ot)}if(Xe(2071)===et&&(!H(Ne)&&H(Ue)||!ue(Ne)&&ue(Ue)))return!1;if(ie(Ne)){if(!ie(Ue)||Date[Xe(1166)].getTime[Xe(2623)](Ne)!==Date.prototype.getTime[Xe(2623)](Ue))return!1}else if(le(Ne)){if(!le(Ue)||(Et=Ue,M?Ne[Xe(659)]!==Et.source||Ne[Xe(1408)]!==Et[Xe(1408)]:RegExp[Xe(1166)][Xe(1888)][Xe(2623)](Ne)!==RegExp[Xe(1166)][Xe(1888)][Xe(2623)](Et)))return!1}else if(Ae(Ne)||Ne instanceof Error){if(Ne[Xe(1531)]!==Ue[Xe(1531)]||Ne[Xe(878)]!==Ue.name)return!1}else{if(ee(Ne)){if(ze||!Y(Ne)&&!z(Ne)){if(Ne[Xe(250)]!==(ot=Ue).byteLength||de(new Uint8Array(Ne[Xe(2026)],Ne.byteOffset,Ne[Xe(250)]),new Uint8Array(ot[Xe(2026)],ot[Xe(2340)],ot.byteLength))!==0)return!1}else if(!function(yt,Qt){var Ze=Xe;if(yt[Ze(250)]===Qt[Ze(250)]){for(var ut=0;ut<yt[Ze(250)];ut++)if(yt[ut]!==Qt[ut])return;return 1}}(Ne,Ue))return!1;var et=se(Ne),Et=se(Ue);return et.length===Et[Xe(1383)]&&ke(Ne,Ue,ze,Je,me,et)}if(ue(Ne))return!(!ue(Ue)||Ne[Xe(429)]!==Ue[Xe(429)])&&ke(Ne,Ue,ze,Je,Ie);if(H(Ne))return!(!H(Ue)||Ne[Xe(429)]!==Ue[Xe(429)])&&ke(Ne,Ue,ze,Je,we);if(q(Ne)){if(Ne[Xe(250)]!==(ot=Ue)[Xe(250)]||de(new Uint8Array(Ne),new Uint8Array(ot))!==0)return!1}else if(he(Ne)&&(Et=Ue,!(ge(et=Ne)?ge(Et)&&L(Number.prototype[Xe(171)][Xe(2623)](et),Number[Xe(1166)][Xe(171)][Xe(2623)](Et)):fe(et)?fe(Et)&&String[Xe(1166)][Xe(171)].call(et)===String[Xe(1166)][Xe(171)][Xe(2623)](Et):ae(et)?ae(Et)&&Boolean.prototype[Xe(171)].call(et)===Boolean[Xe(1166)][Xe(171)][Xe(2623)](Et):U(et)?U(Et)&&BigInt.prototype[Xe(171)][Xe(2623)](et)===BigInt.prototype[Xe(171)][Xe(2623)](Et):W(Et)&&Symbol[Xe(1166)][Xe(171)][Xe(2623)](et)===Symbol[Xe(1166)][Xe(171)][Xe(2623)](Et))))return!1}return ke(Ne,Ue,ze,Je,me)}function Ge(Ne,Ue){var ze=w;return Ue[ze(711)](function(Je){return J(Ne,Je)})}function ke(Ne,Ue,ze,Je,Xe,et){var ot=w;if(arguments[ot(1383)]===5){et=Object[ot(451)](Ne);var Et=Object[ot(451)](Ue);if(et[ot(1383)]!==Et[ot(1383)])return!1}for(var Ct=0;Ct<et.length;Ct++)if(!G(Ue,et[Ct]))return!1;if(ze&&arguments.length===5){var ct=F(Ne);if(ct.length!==0){for(var yt=0,Ct=0;Ct<ct.length;Ct++){var Qt=ct[Ct];if(J(Ne,Qt)){if(!J(Ue,Qt))return!1;et[ot(182)](Qt),yt++}else if(J(Ue,Qt))return!1}if(Et=F(Ue),ct[ot(1383)]!==Et[ot(1383)]&&Ge(Ue,Et)[ot(1383)]!==yt)return!1}else if(Et=F(Ue),Et[ot(1383)]!==0&&Ge(Ue,Et).length!==0)return!1}if(et[ot(1383)]===0&&(Xe===me||Xe===Ce&&Ne[ot(1383)]===0||Ne[ot(429)]===0))return!0;if(Je===void 0)Je={val1:new Map,val2:new Map,position:0};else{if(Et=Je[ot(2685)].get(Ne),Et!==void 0){var Ze=Je[ot(1993)][ot(1935)](Ue);if(Ze!==void 0)return Et===Ze}Je[ot(2747)]++}return Je.val1.set(Ne,Je[ot(2747)]),Je.val2[ot(2573)](Ue,Je[ot(2747)]),Et=function(ut,St,gt,xt,Lt,nt){var Pe=ot,ve=0;if(nt===Ie){if(!function(It,Mi,er,di){for(var wi=Ut,Ri,Ei,Wt,jt=null,pi=R(It),mi=0;mi<pi.length;mi++){var Kt=pi[mi];if(D(Kt)==="object"&&Kt!==null)(jt=jt===null?new Set:jt)[wi(2400)](Kt);else if(!Mi[wi(1087)](Kt)){if(er||(Ri=It,Ei=Mi,Wt=void 0,!((Wt=Le(Kt))!=null?Wt:Ei[wi(1087)](Wt)&&!Ri[wi(1087)](Wt))))return;(jt=jt===null?new Set:jt)[wi(2400)](Kt)}}if(jt===null)return 1;for(var xi=R(Mi),_t=0;_t<xi.length;_t++){var Mt=xi[_t];if(D(Mt)==="object"&&Mt!==null){if(!Oe(jt,Mt,er,di))return}else if(!er&&!It[wi(1087)](Mt)&&!Oe(jt,Mt,er,di))return}return jt[wi(429)]===0}(ut,St,gt,Lt))return!1}else if(nt===we){if(!function(It,Mi,er,di){for(var wi=Ut,Ri=null,Ei=P(It),Wt=0;Wt<Ei[wi(1383)];Wt++){var pi=S(Ei[Wt],2),jt=pi[0],pi=pi[1];if(wi(1499)===D(jt)&&jt!==null)(Ri=Ri===null?new Set:Ri).add(jt);else{var mi=Mi.get(jt);if(mi===void 0&&!Mi[wi(1087)](jt)||!Te(pi,mi,er,di)){if(er||!function(Mt,Ht,ti,Wi){var yi=wi,uo=Le(jt);if(uo!=null)return uo;var wn=Ht[yi(1935)](uo);return(wn!==void 0||Ht.has(uo))&&Te(ti,wn,!1,Wi)&&!Mt[yi(1087)](uo)&&Te(ti,wn,!1,Wi)}(It,Mi,pi,di))return;(Ri=Ri===null?new Set:Ri)[wi(2400)](jt)}}}if(Ri===null)return 1;for(var Kt=P(Mi),xi=0;xi<Kt.length;xi++){var _t=S(Kt[xi],2),jt=_t[0],_t=_t[1];if(wi(1499)===D(jt)&&jt!==null){if(!be(Ri,It,jt,_t,er,di))return}else if(!(er||It[wi(1087)](jt)&&Te(It[wi(1935)](jt),_t,!1,di)||be(Ri,It,jt,_t,!1,di)))return}return Ri[wi(429)]===0}(ut,St,gt,Lt))return!1}else if(nt===Ce)for(;ve<ut[Pe(1383)];ve++){if(!G(ut,ve)){if(G(St,ve))return!1;for(var We=Object.keys(ut);ve<We[Pe(1383)];ve++){var bt=We[ve];if(!G(St,bt)||!Te(ut[bt],St[bt],gt,Lt))return!1}return We[Pe(1383)]===Object[Pe(451)](St)[Pe(1383)]}if(!G(St,ve)||!Te(ut[ve],St[ve],gt,Lt))return!1}for(ve=0;ve<xt[Pe(1383)];ve++){var Pt=xt[ve];if(!Te(ut[Pt],St[Pt],gt,Lt))return!1}return!0}(Ne,Ue,ze,et,Je,Xe),Je[ot(2685)].delete(Ne),Je[ot(1993)][ot(2467)](Ue),Et}function Oe(Ne,Ue,ze,Je){for(var Xe=w,et=R(Ne),ot=0;ot<et[Xe(1383)];ot++){var Et=et[ot];if(Te(Ue,Et,ze,Je))return Ne.delete(Et),1}}function Le(Ne){var Ue=w;switch(D(Ne)){case Ue(1506):return null;case Ue(1499):return;case Ue(428):return!1;case"string":Ne=+Ne;case Ue(2013):if(k(Ne))return!1}return!0}function be(Ne,Ue,ze,Je,Xe,et){for(var ot=w,Et=R(Ne),Ct=0;Ct<Et[ot(1383)];Ct++){var ct=Et[Ct];if(Te(ze,ct,Xe,et)&&Te(Je,Ue.get(ct),Xe,et))return Ne.delete(ct),1}}B[w(1729)]={isDeepEqual:function(Ne,Ue){return Te(Ne,Ue,!1)},isDeepStrictEqual:function(Ne,Ue){return Te(Ne,Ue,!0)}}},16314:(B,Q,T)=>{var w=Ut,S=[w(2240),w(1160),w(1197),w(1260),w(2207),w(2774),w(1033),w(1969),w(1101),w(1133),w(1218)],D=w(1506)==typeof globalThis?T.g:globalThis;B[w(1729)]=function(){for(var R=w,P=[],M=0;M<S[R(1383)];M++)typeof D[S[M]]=="function"&&(P[P.length]=S[M]);return P}},9669:(B,Q,T)=>{B.exports=T(51609)},55448:(B,Q,T)=>{var w=Ut,S=T(64867),D=T(36026),R=T(4372),P=T(15327),M=T(94097),L=T(84109),F=T(67985),k=T(77874),N=T(82648),G=T(60644),J=T(90205);B[w(1729)]=function(K){return new Promise(function(X,q){var ee=Ut,ie,fe=K[ee(1613)],H=K[ee(276)],le=K[ee(2112)];function ue(){var U=ee;K[U(1916)]&&K[U(1916)][U(868)](ie),K[U(1525)]&&K[U(1525)][U(2720)](U(859),ie)}S[ee(538)](fe)&&S[ee(2288)]()&&delete H[ee(2141)];var Ae=new XMLHttpRequest,he=(K[ee(1588)]&&(he=K[ee(1588)][ee(150)]||"",ae=K[ee(1588)][ee(1587)]?unescape(encodeURIComponent(K[ee(1588)][ee(1587)])):"",H.Authorization=ee(2308)+btoa(he+":"+ae)),M(K[ee(1418)],K[ee(1340)]));function ge(){var U=ee,W;Ae&&(W=U(1139)in Ae?L(Ae[U(1139)]()):null,W={data:le&&le!=="text"&&le!=="json"?Ae[U(345)]:Ae[U(2666)],status:Ae[U(2588)],statusText:Ae[U(1050)],headers:W,config:K,request:Ae},D(function(Y){X(Y),ue()},function(Y){q(Y),ue()},W),Ae=null)}Ae[ee(2424)](K[ee(682)][ee(1589)](),P(he,K[ee(1238)],K.paramsSerializer),!0),Ae[ee(169)]=K[ee(169)],ee(2369)in Ae?Ae[ee(2369)]=ge:Ae[ee(1720)]=function(){var U=ee;Ae&&Ae[U(2216)]===4&&(Ae[U(2588)]!==0||Ae.responseURL&&Ae[U(1794)].indexOf("file:")===0)&&setTimeout(ge)},Ae[ee(1790)]=function(){var U=ee;Ae&&(q(new N(U(866),N[U(1226)],K,Ae)),Ae=null)},Ae[ee(1562)]=function(){var U=ee;q(new N(U(1743),N.ERR_NETWORK,K,Ae,Ae)),Ae=null},Ae.ontimeout=function(){var U=ee,W=K[U(169)]?U(2271)+K[U(169)]+U(1674):U(1367),Y=K[U(927)]||k;K[U(932)]&&(W=K[U(932)]),q(new N(W,Y.clarifyTimeoutError?N.ETIMEDOUT:N[U(1226)],K,Ae)),Ae=null},S[ee(2288)]()&&(ae=(K[ee(1911)]||F(he))&&K[ee(332)]?R[ee(969)](K[ee(332)]):void 0)&&(H[K[ee(1440)]]=ae),ee(328)in Ae&&S[ee(2455)](H,function(U,W){var Y=ee;fe===void 0&&Y(2413)===W[Y(1096)]()?delete H[W]:Ae[Y(328)](W,U)}),S.isUndefined(K[ee(1911)])||(Ae[ee(1911)]=!!K[ee(1911)]),le&&le!=="json"&&(Ae.responseType=K[ee(2112)]),ee(1451)==typeof K.onDownloadProgress&&Ae[ee(1014)](ee(2041),K.onDownloadProgress),typeof K[ee(2592)]=="function"&&Ae[ee(1498)]&&Ae[ee(1498)][ee(1014)](ee(2041),K.onUploadProgress),(K[ee(1916)]||K[ee(1525)])&&(ie=function(U){var W=ee;Ae&&(q(!U||U[W(277)]?new G:U),Ae.abort(),Ae=null)},K.cancelToken&&K.cancelToken.subscribe(ie),K.signal&&(K[ee(1525)][ee(2709)]?ie():K[ee(1525)].addEventListener(ee(859),ie)));var fe=fe||null,ae=J(he);ae&&[ee(1078),ee(643),ee(1704)][ee(2035)](ae)===-1?q(new N(ee(1213)+ae+":",N[ee(2058)],K)):Ae.send(fe)})}},51609:(B,Q,T)=>{var w=Ut,S=T(64867),D=T(91849),R=T(30321),P=T(47185),M=function L(F){var k=Ut,N=new R(F),G=D(R.prototype.request,N);return S[k(1176)](G,R[k(1166)],N),S[k(1176)](G,N),G[k(917)]=function(J){return L(P(F,J))},G}(T(45546));M.Axios=R,M[w(763)]=T(60644),M[w(1987)]=T(14972),M.isCancel=T(26502),M[w(491)]=T(97288)[w(361)],M[w(377)]=T(47675),M[w(394)]=T(82648),M[w(244)]=M[w(763)],M[w(743)]=function(L){var F=w;return Promise[F(743)](L)},M.spread=T(8713),M.isAxiosError=T(16268),B[w(1729)]=M,B[w(1729)][w(1060)]=M},14972:(B,Q,T)=>{var w=Ut,S=T(60644);function D(R){var P=Ut;if(P(1451)!=typeof R)throw new TypeError(P(2033));this[P(2532)]=new Promise(function(F){M=F});var M,L=this;this[P(2532)][P(2401)](function(F){var k=P;if(L[k(2275)]){for(var N=L._listeners[k(1383)],G=0;G<N;G++)L[k(2275)][G](F);L[k(2275)]=null}}),this[P(2532)][P(2401)]=function(G){var k=P,N,G=new Promise(function(J){var K=Ut;L[K(1928)](J),N=J})[k(2401)](G);return G[k(1249)]=function(){L.unsubscribe(N)},G},R(function(F){var k=P;L[k(1189)]||(L[k(1189)]=new S(F),M(L[k(1189)]))})}D[w(1166)].throwIfRequested=function(){var R=w;if(this[R(1189)])throw this[R(1189)]},D[w(1166)][w(1928)]=function(R){var P=w;this[P(1189)]?R(this[P(1189)]):this[P(2275)]?this[P(2275)][P(182)](R):this[P(2275)]=[R]},D[w(1166)][w(868)]=function(R){var P=w;this._listeners&&(R=this._listeners[P(2035)](R))!==-1&&this[P(2275)][P(2139)](R,1)},D.source=function(){var R;return{token:new D(function(P){R=P}),cancel:R}},B[w(1729)]=D},60644:(B,Q,T)=>{var w=Ut,S=T(82648);function D(R){var P=Ut;S[P(2623)](this,R??P(849),S[P(1593)]),this[P(878)]=P(763)}T(64867).inherits(D,S,{__CANCEL__:!0}),B[w(1729)]=D},26502:B=>{var Q=Ut;B[Q(1729)]=function(T){var w=Q;return!(!T||!T[w(1687)])}},30321:(B,Q,T)=>{var w=Ut,S=T(64867),D=T(15327),R=T(80782),P=T(13572),M=T(47185),L=T(94097),F=T(54875),k=F[w(134)];function N(G){this.defaults=G,this.interceptors={request:new R,response:new R}}N[w(1166)][w(807)]=function(q,J){var K=w;typeof q=="string"?(J=J||{}).url=q:J=q||{},(J=M(this[K(1520)],J))[K(682)]?J[K(682)]=J[K(682)].toLowerCase():this[K(1520)][K(682)]?J.method=this.defaults[K(682)][K(1096)]():J[K(682)]=K(1935);var X,q=J[K(927)],ee=(q!==void 0&&F.assertOptions(q,{silentJSONParsing:k[K(927)](k[K(1015)]),forcedJSONParsing:k.transitional(k[K(1015)]),clarifyTimeoutError:k[K(927)](k[K(1015)])},!1),[]),ie=!0,H=(this.interceptors[K(807)][K(2455)](function(ge){var fe=K;fe(1451)==typeof ge[fe(644)]&&ge.runWhen(J)===!1||(ie=ie&&ge[fe(1823)],ee.unshift(ge[fe(1180)],ge.rejected))}),[]);if(this[K(299)][K(345)][K(2455)](function(ge){var fe=K;H[fe(182)](ge[fe(1180)],ge.rejected)}),!ie){var le=[P,void 0];for(Array.prototype.unshift[K(2559)](le,ee),le=le[K(1544)](H),X=Promise[K(1348)](J);le[K(1383)];)X=X[K(2401)](le[K(537)](),le[K(537)]());return X}for(var ue=J;ee[K(1383)];){var Ae=ee[K(537)](),he=ee.shift();try{ue=Ae(ue)}catch(ge){he(ge);break}}try{X=P(ue)}catch(ge){return Promise.reject(ge)}for(;H[K(1383)];)X=X[K(2401)](H[K(537)](),H.shift());return X},N[w(1166)][w(1766)]=function(G){var J=w;G=M(this[J(1520)],G);var K=L(G[J(1418)],G[J(1340)]);return D(K,G[J(1238)],G.paramsSerializer)},S[w(2455)]([w(2467),"get",w(2771),w(2205)],function(G){var J=w;N[J(1166)][G]=function(K,X){var q=J;return this[q(807)](M(X||{},{method:G,url:K,data:(X||{})[q(1613)]}))}}),S.forEach([w(1007),w(736),w(2501)],function(G){var J=w;function K(X){return function(q,ee,ie){var H=Ut;return this[H(807)](M(ie||{},{method:G,headers:X?{"Content-Type":H(1737)}:{},url:q,data:ee}))}}N[J(1166)][G]=K(),N[J(1166)][G+J(2548)]=K(!0)}),B.exports=N},82648:(B,Q,T)=>{var w=Ut,S=T(64867);function D(M,L,F,k,N){var G=Ut;Error[G(2623)](this),this[G(1531)]=M,this[G(878)]=G(394),L&&(this[G(1752)]=L),F&&(this[G(2009)]=F),k&&(this.request=k),N&&(this.response=N)}S[w(2256)](D,Error,{toJSON:function(){var M=w;return{message:this[M(1531)],name:this.name,description:this[M(2603)],number:this[M(2013)],fileName:this.fileName,lineNumber:this[M(680)],columnNumber:this.columnNumber,stack:this[M(1461)],config:this[M(2009)],code:this[M(1752)],status:this[M(345)]&&this[M(345)].status?this.response[M(2588)]:null}}});var R=D[w(1166)],P={};[w(1632),"ERR_BAD_OPTION",w(1226),w(2082),"ERR_NETWORK",w(1026),w(421),w(2483),w(2058),w(1593)].forEach(function(M){P[M]={value:M}}),Object[w(2130)](D,P),Object[w(1844)](R,w(1482),{value:!0}),D[w(2047)]=function(M,L,F,k,N,G){var J=w,K=Object[J(917)](R);return S[J(2177)](M,K,function(X){var q=J;return X!==Error[q(1166)]}),D[J(2623)](K,M[J(1531)],L,F,k,N),K[J(878)]=M[J(878)],G&&Object[J(1136)](K,G),K},B[w(1729)]=D},80782:(B,Q,T)=>{var w=Ut,S=T(64867);function D(){var R=Ut;this[R(798)]=[]}D.prototype.use=function(R,P,M){var L=Ut;return this.handlers.push({fulfilled:R,rejected:P,synchronous:!!M&&M[L(1823)],runWhen:M?M[L(644)]:null}),this[L(798)].length-1},D[w(1166)][w(2637)]=function(R){var P=w;this[P(798)][R]&&(this[P(798)][R]=null)},D[w(1166)][w(2455)]=function(R){var P=w;S.forEach(this[P(798)],function(M){M!==null&&R(M)})},B[w(1729)]=D},94097:(B,Q,T)=>{var w=Ut,S=T(91793),D=T(7303);B[w(1729)]=function(R,P){return R&&!S(P)?D(R,P):P}},13572:(B,Q,T)=>{var w=T(64867),S=T(18527),D=T(26502),R=T(45546),P=T(60644);function M(L){var F=Ut;if(L[F(1916)]&&L[F(1916)][F(1088)](),L[F(1525)]&&L[F(1525)].aborted)throw new P}B.exports=function(L){var F=Ut;return M(L),L[F(276)]=L.headers||{},L[F(1613)]=S[F(2623)](L,L[F(1613)],L.headers,L.transformRequest),L.headers=w.merge(L[F(276)][F(312)]||{},L[F(276)][L[F(682)]]||{},L[F(276)]),w.forEach(["delete",F(1935),F(2771),"post",F(736),F(2501),F(312)],function(k){var N=F;delete L[N(276)][k]}),(L[F(343)]||R[F(343)])(L)[F(2401)](function(k){var N=F;return M(L),k[N(1613)]=S[N(2623)](L,k[N(1613)],k[N(276)],L[N(635)]),k},function(k){var N=F;return D(k)||(M(L),k&&k.response&&(k[N(345)][N(1613)]=S[N(2623)](L,k[N(345)][N(1613)],k.response[N(276)],L.transformResponse))),Promise[N(2180)](k)})}},47185:(B,Q,T)=>{var w=Ut,S=T(64867);B[w(1729)]=function(D,R){var P=w;R=R||{};var M={};function L(K,X){var q=Ut;return S[q(574)](K)&&S[q(574)](X)?S.merge(K,X):S.isPlainObject(X)?S[q(858)]({},X):S[q(2507)](X)?X[q(2679)]():X}function F(K){var X=Ut;return S[X(2686)](R[K])?S[X(2686)](D[K])?void 0:L(void 0,D[K]):L(D[K],R[K])}function k(K){var X=Ut;if(!S[X(2686)](R[K]))return L(void 0,R[K])}function N(K){var X=Ut;return S[X(2686)](R[K])?S.isUndefined(D[K])?void 0:L(void 0,D[K]):L(void 0,R[K])}function G(K){return K in R?L(D[K],R[K]):K in D?L(void 0,D[K]):void 0}var J={url:k,method:k,data:k,baseURL:N,transformRequest:N,transformResponse:N,paramsSerializer:N,timeout:N,timeoutMessage:N,withCredentials:N,adapter:N,responseType:N,xsrfCookieName:N,xsrfHeaderName:N,onUploadProgress:N,onDownloadProgress:N,decompress:N,maxContentLength:N,maxBodyLength:N,beforeRedirect:N,transport:N,httpAgent:N,httpsAgent:N,cancelToken:N,socketPath:N,responseEncoding:N,validateStatus:G};return S[P(2455)](Object[P(451)](D)[P(1544)](Object.keys(R)),function(K){var X=P,q=J[K]||F,ee=q(K);S[X(2686)](ee)&&q!==G||(M[K]=ee)}),M}},36026:(B,Q,T)=>{var w=Ut,S=T(82648);B[w(1729)]=function(D,R,P){var M=w,L=P[M(2009)][M(2775)];P.status&&L&&!L(P[M(2588)])?R(new S(M(2050)+P[M(2588)],[S[M(2058)],S[M(2483)]][Math[M(1194)](P[M(2588)]/100)-4],P[M(2009)],P[M(807)],P)):D(P)}},18527:(B,Q,T)=>{var w=T(64867),S=T(45546);B.exports=function(D,R,P){var M=Ut,L=this||S;return w[M(2455)](P,function(F){D=F.call(L,D,R)}),D}},45546:(B,Q,T)=>{var w=Ut,S=T(34155),D=T(64867),R=T(16016),P=T(82648),M=T(77874),L=T(47675),F={"Content-Type":w(2701)};function k(J,K){var X=w;!D[X(2686)](J)&&D[X(2686)](J["Content-Type"])&&(J[X(2141)]=K)}var N,G={transitional:M,adapter:N=w(1506)!=typeof XMLHttpRequest||S!==void 0&&w(1922)===Object[w(1166)][w(1888)][w(2623)](S)?T(55448):N,transformRequest:[function(J,K){var X=w;if(R(K,X(1143)),R(K,X(2141)),D[X(538)](J)||D[X(1629)](J)||D[X(1302)](J)||D[X(831)](J)||D[X(761)](J)||D.isBlob(J))return J;if(D[X(2696)](J))return J[X(2026)];if(D[X(2528)](J))return k(K,X(642)),J[X(1888)]();var q,ee=D.isObject(J),ie=K&&K["Content-Type"];if((H=D[X(2667)](J))||ee&&X(1737)===ie)return q=this[X(2674)]&&this[X(2674)][X(1761)],L(H?{"files[]":J}:J,q&&new q);if(ee||X(2204)===ie){k(K,X(2204));var H=J;if(D[X(286)](H))try{return(0,JSON[X(1780)])(H),D.trim(H)}catch(le){if(X(914)!==le.name)throw le}return(0,JSON.stringify)(H)}return J}],transformResponse:[function(J){var K=w,X=this[K(927)]||G[K(927)],q=X&&X[K(320)],X=X&&X[K(2397)],q=!q&&K(409)===this.responseType;if(q||X&&D[K(286)](J)&&J.length)try{return JSON[K(1780)](J)}catch(ee){if(q)throw K(914)===ee[K(878)]?P[K(2047)](ee,P[K(2483)],this,null,this.response):ee}return J}],timeout:0,xsrfCookieName:w(269),xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:T(91623)},validateStatus:function(J){return 200<=J&&J<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};D[w(2455)](["delete",w(1935),"head"],function(J){G.headers[J]={}}),D[w(2455)](["post",w(736),w(2501)],function(J){var K=w;G[K(276)][J]=D[K(858)](F)}),B[w(1729)]=G},77874:B=>{var Q=Ut;B[Q(1729)]={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1}},97288:B=>{var Q=Ut;B[Q(1729)]={version:Q(1441)}},91849:B=>{B.exports=function(Q,T){return function(){for(var w=Ut,S=new Array(arguments[w(1383)]),D=0;D<S.length;D++)S[D]=arguments[D];return Q.apply(T,S)}}},15327:(B,Q,T)=>{var w=Ut,S=T(64867);function D(R){var P=Ut;return encodeURIComponent(R)[P(1850)](/%3A/gi,":").replace(/%24/g,"$")[P(1850)](/%2C/gi,",")[P(1850)](/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}B[w(1729)]=function(R,P,k){var L=w;if(!P)return R;var F,k=k?k(P):S[L(2528)](P)?P[L(1888)]():(F=[],S[L(2455)](P,function(N,G){var J=L;N!=null&&(S.isArray(N)?G+="[]":N=[N],S[J(2455)](N,function(K){var X=J;S[X(1102)](K)?K=K[X(2756)]():S[X(2098)](K)&&(K=JSON[X(875)](K)),F.push(D(G)+"="+D(K))}))}),F[L(951)]("&"));return k&&((P=R[L(2035)]("#"))!==-1&&(R=R[L(2679)](0,P)),R+=(R.indexOf("?")===-1?"?":"&")+k),R}},7303:B=>{var Q=Ut;B[Q(1729)]=function(T,w){return w?T.replace(/\/+$/,"")+"/"+w.replace(/^\/+/,""):T}},4372:(B,Q,T)=>{var w=Ut,S=T(64867);B[w(1729)]=S[w(2288)]()?{write:function(D,R,P,M,L,F){var k=w,N=[];N.push(D+"="+encodeURIComponent(R)),S[k(1298)](P)&&N[k(182)](k(1946)+new Date(P)[k(2722)]()),S.isString(M)&&N.push(k(2491)+M),S[k(286)](L)&&N[k(182)]("domain="+L),F===!0&&N[k(182)](k(1074)),document.cookie=N[k(951)]("; ")},read:function(D){var R=w;return D=document[R(224)][R(373)](new RegExp("(^|;\\s*)("+D+R(2648))),D?decodeURIComponent(D[3]):null},remove:function(D){var R=w;this.write(D,"",Date[R(168)]()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},91793:B=>{B.exports=function(Q){var T=Ut;return/^([a-z][a-z\d+\-.]*:)?\/\//i[T(1172)](Q)}},16268:(B,Q,T)=>{var w=Ut,S=T(64867);B[w(1729)]=function(D){var R=w;return S[R(2098)](D)&&D[R(1482)]===!0}},67985:(B,Q,T)=>{var w=Ut,S,D,R,P=T(64867);function M(L){var F=Ut;return D&&(R[F(2446)](F(315),L),L=R[F(315)]),R.setAttribute("href",L),{href:R[F(315)],protocol:R[F(1908)]?R.protocol[F(1850)](/:$/,""):"",host:R.host,search:R.search?R.search[F(1850)](/^\?/,""):"",hash:R[F(658)]?R[F(658)][F(1850)](/^#/,""):"",hostname:R[F(950)],port:R[F(1286)],pathname:R.pathname.charAt(0)==="/"?R[F(234)]:"/"+R[F(234)]}}B[w(1729)]=P[w(2288)]()?(D=/(msie|trident)/i[w(1172)](navigator[w(620)]),R=document[w(2218)]("a"),S=M(window.location[w(315)]),function(L){var F=w;return L=P[F(286)](L)?M(L):L,L[F(1908)]===S[F(1908)]&&L.host===S[F(1915)]}):function(){return!0}},16016:(B,Q,T)=>{var w=Ut,S=T(64867);B[w(1729)]=function(D,R){S.forEach(D,function(P,M){var L=Ut;M!==R&&M[L(1589)]()===R[L(1589)]()&&(D[R]=P,delete D[M])})}},91623:B=>{var Q=Ut;B[Q(1729)]=null},84109:(B,Q,T)=>{var w=Ut,S=T(64867),D=[w(2577),"authorization",w(212),w(2413),w(2367),w(1523),w(2047),w(1915),w(870),"if-unmodified-since","last-modified",w(1242),"max-forwards",w(1813),"referer","retry-after","user-agent"];B[w(1729)]=function(R){var P=w,M,L,F={};return R&&S[P(2455)](R.split(` `),function(k){var N=P;L=k[N(2035)](":"),M=S[N(2301)](k[N(2539)](0,L))[N(1096)](),L=S[N(2301)](k[N(2539)](L+1)),!M||F[M]&&0<=D[N(2035)](M)||(F[M]=M==="set-cookie"?(F[M]||[])[N(1544)]([L]):F[M]?F[M]+", "+L:L)}),F}},90205:B=>{B.exports=function(Q){var T=Ut;return Q=/^([-+\w]{1,25})(:?\/\/|:)/[T(2268)](Q),Q&&Q[1]||""}},8713:B=>{var Q=Ut;B[Q(1729)]=function(T){return function(w){var S=Ut;return T[S(2559)](null,w)}}},47675:(B,Q,T)=>{var w=Ut,S=T(48764)[w(1641)],D=T(64867);B[w(1729)]=function(R,P){P=P||new FormData;var M=[];function L(F){var k=Ut;return F===null?"":D[k(1102)](F)?F.toISOString():D[k(1629)](F)||D[k(2286)](F)?k(1451)==typeof Blob?new Blob([F]):S[k(2047)](F):F}return function F(k,N){var G=Ut;if(D[G(574)](k)||D[G(2507)](k)){if(M[G(2035)](k)!==-1)throw Error("Circular reference detected in "+N);M[G(182)](k),D.forEach(k,function(J,K){var X=G;if(!D[X(2686)](J)){var q=N?N+"."+K:K;if(J&&!N&&X(1499)==typeof J){if(D[X(1663)](K,"{}"))J=JSON.stringify(J);else if(D.endsWith(K,"[]")&&(K=D[X(884)](J)))return void K[X(2455)](function(ee){var ie=X;D.isUndefined(ee)||P[ie(1224)](q,L(ee))})}F(J,q)}}),M[G(440)]()}else P[G(1224)](N,L(k))}(R),P}},54875:(B,Q,T)=>{var w=Ut,S=T(25108),D=T(97288)[w(361)],R=T(82648),P={},M=(["object",w(1015),"number",w(1451),"string",w(428)][w(2455)](function(L,F){P[L]=function(k){return typeof k===L||"a"+(F<1?"n ":" ")+L}}),{});P[w(927)]=function(L,F,k){function N(G,J){var K=Ut;return K(2352)+D+K(1030)+G+"'"+J+(k?". "+k:"")}return function(G,J,K){var X=Ut;if(L===!1)throw new R(N(J,X(1398)+(F?" in "+F:"")),R[X(421)]);return F&&!M[J]&&(M[J]=!0,S.warn(N(J,X(940)+F+" and will be removed in the near future"))),!L||L(G,J,K)}},B[w(1729)]={assertOptions:function(L,F,k){var N=w;if(N(1499)!=typeof L)throw new R(N(1255),R[N(1632)]);for(var G=Object[N(451)](L),J=G[N(1383)];0<J--;){var K=G[J],X=F[K];if(X){var q=L[K],X=q===void 0||X(q,K,L);if(X!==!0)throw new R("option "+K+N(2003)+X,R[N(1632)])}else if(k!==!0)throw new R(N(1359)+K,R.ERR_BAD_OPTION)}},validators:P}},64867:(B,Q,J)=>{var w=Ut;function S(ue){var Ae=Ut;return ue=P[Ae(2623)](ue),D[ue]||(D[ue]=ue[Ae(2679)](8,-1)[Ae(1096)]())}var D,R=J(91849),P=Object[w(1166)][w(1888)];D=Object.create(null);function M(ue){var Ae=w;return ue=ue[Ae(1096)](),function(he){return S(he)===ue}}function L(ue){var Ae=w;return Array[Ae(2507)](ue)}function F(ue){return ue===void 0}var k=M("ArrayBuffer");function N(ue){var Ae=w;return ue!==null&&Ae(1499)==typeof ue}function G(ue){var Ae=w;return Ae(1499)!==S(ue)?!1:(ue=Object[Ae(905)](ue),ue===null||ue===Object[Ae(1166)])}var J=M("Date"),K=M(w(2567)),X=M(w(1293)),q=M(w(981));function ee(ue){var Ae=w;return Ae(2076)===P[Ae(2623)](ue)}var ie,H=M(w(1246));function le(ue,Ae){var he=w;if(ue!=null)if(L(ue=he(1499)!=typeof ue?[ue]:ue))for(var ge=0,fe=ue[he(1383)];ge<fe;ge++)Ae[he(2623)](null,ue[ge],ge,ue);else for(var ae in ue)Object.prototype[he(579)][he(2623)](ue,ae)&&Ae.call(null,ue[ae],ae,ue)}ie=w(1506)!=typeof Uint8Array&&Object[w(905)](Uint8Array),B.exports={isArray:L,isArrayBuffer:k,isBuffer:function(ue){var Ae=w;return ue!==null&&!F(ue)&&ue[Ae(2267)]!==null&&!F(ue[Ae(2267)])&&typeof ue[Ae(2267)][Ae(1302)]=="function"&&ue[Ae(2267)].isBuffer(ue)},isFormData:function(ue){var Ae=w,he=Ae(764);return ue&&(typeof FormData=="function"&&ue instanceof FormData||P[Ae(2623)](ue)===he||ee(ue[Ae(1888)])&&ue[Ae(1888)]()===he)},isArrayBufferView:function(ue){var Ae=w;return Ae(1506)!=typeof ArrayBuffer&&ArrayBuffer[Ae(2276)]?ArrayBuffer[Ae(2276)](ue):ue&&ue[Ae(2026)]&&k(ue[Ae(2026)])},isString:function(ue){var Ae=w;return Ae(1896)==typeof ue},isNumber:function(ue){var Ae=w;return Ae(2013)==typeof ue},isObject:N,isPlainObject:G,isUndefined:F,isDate:J,isFile:K,isBlob:X,isFunction:ee,isStream:function(ue){var Ae=w;return N(ue)&&ee(ue[Ae(1768)])},isURLSearchParams:H,isStandardBrowserEnv:function(){var ue=w;return(ue(1506)==typeof navigator||ue(1998)!==navigator[ue(1409)]&&navigator[ue(1409)]!=="NativeScript"&&navigator[ue(1409)]!=="NS")&&typeof window<"u"&&typeof document<"u"},forEach:le,merge:function ue(){var Ae=w,he={};function ge(U,W){var Y=Ut;G(he[W])&&G(U)?he[W]=ue(he[W],U):G(U)?he[W]=ue({},U):L(U)?he[W]=U[Y(2679)]():he[W]=U}for(var fe=0,ae=arguments[Ae(1383)];fe<ae;fe++)le(arguments[fe],ge);return he},extend:function(ue,Ae,he){return le(Ae,function(ge,fe){var ae=Ut;ue[fe]=he&&ae(1451)==typeof ge?R(ge,he):ge}),ue},trim:function(ue){var Ae=w;return ue[Ae(2301)]?ue[Ae(2301)]():ue.replace(/^\s+|\s+$/g,"")},stripBOM:function(ue){var Ae=w;return ue.charCodeAt(0)===65279?ue[Ae(2679)](1):ue},inherits:function(ue,Ae,he,ge){var fe=w;ue[fe(1166)]=Object.create(Ae[fe(1166)],ge),ue[fe(1166)][fe(2267)]=ue,he&&Object[fe(1136)](ue[fe(1166)],he)},toFlatObject:function(ue,Ae,he){var ge=w,fe,ae,U,W={};Ae=Ae||{};do for(ae=(fe=Object.getOwnPropertyNames(ue)).length;0<ae--;)W[U=fe[ae]]||(Ae[U]=ue[U],W[U]=!0);while((ue=Object[ge(905)](ue))&&(!he||he(ue,Ae))&&ue!==Object[ge(1166)]);return Ae},kindOf:S,kindOfTest:M,endsWith:function(ue,Ae,he){var ge=w;return ue=String(ue),(he===void 0||he>ue[ge(1383)])&&(he=ue.length),he-=Ae[ge(1383)],ue=ue[ge(2035)](Ae,he),ue!==-1&&ue===he},toArray:function(ue){if(!ue)return null;var Ae=ue.length;if(F(Ae))return null;for(var he=new Array(Ae);0<Ae--;)he[Ae]=ue[Ae];return he},isTypedArray:function(ue){return ie&&ue instanceof ie},isFileList:q}},79742:(B,Q)=>{var T=Ut;Q.byteLength=function(N){var N=L(N),k=N[0],N=N[1];return 3*(k+N)/4-N},Q[T(920)]=function(F){for(var k=T,N,J=L(F),G=J[0],J=J[1],K=new D(3*(G+J)/4-J),X=0,q=0<J?G-4:G,ee=0;ee<q;ee+=4)N=S[F[k(2010)](ee)]<<18|S[F[k(2010)](ee+1)]<<12|S[F.charCodeAt(ee+2)]<<6|S[F[k(2010)](ee+3)],K[X++]=N>>16&255,K[X++]=N>>8&255,K[X++]=255&N;return J===2&&(N=S[F[k(2010)](ee)]<<2|S[F[k(2010)](ee+1)]>>4,K[X++]=255&N),J===1&&(N=S[F.charCodeAt(ee)]<<10|S[F[k(2010)](ee+1)]<<4|S[F[k(2010)](ee+2)]>>2,K[X++]=N>>8&255,K[X++]=255&N),K},Q.fromByteArray=function(F){for(var k=T,N,G=F[k(1383)],J=G%3,K=[],X=0,q=G-J;X<q;X+=16383)K[k(182)](function(ee,ie){for(var H=k,le,ue=[],Ae=X;Ae<ie;Ae+=3)le=(ee[Ae]<<16&16711680)+(ee[Ae+1]<<8&65280)+(255&ee[Ae+2]),ue.push(w[le>>18&63]+w[le>>12&63]+w[le>>6&63]+w[63&le]);return ue[H(951)]("")}(F,q<X+16383?q:X+16383));return J==1?(N=F[G-1],K[k(182)](w[N>>2]+w[N<<4&63]+"==")):J==2&&(N=(F[G-2]<<8)+F[G-1],K[k(182)](w[N>>10]+w[N>>4&63]+w[N<<2&63]+"=")),K[k(951)]("")};for(var w=[],S=[],D=T(1506)!=typeof Uint8Array?Uint8Array:Array,R="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",P=0,M=R.length;P<M;++P)w[P]=R[P],S[R[T(2010)](P)]=P;function L(F){var k=T,N=F.length;if(0<N%4)throw new Error(k(966));return F=F[k(2035)]("="),N=(F=F===-1?N:F)===N?0:4-F%4,[F,N]}S["-"[T(2010)](0)]=62,S["_"[T(2010)](0)]=63},13550:function(B,Q,T){var w=Ut;(function(S){"use strict";var D=Ut;function R(Y,z){if(!Y)throw new Error(z||"Assertion failed")}function P(Y,z){var re=Ut;function se(){}Y[re(1455)]=z,se[re(1166)]=z[re(1166)],Y[re(1166)]=new se,Y.prototype.constructor=Y}function M(Y,z,re){var se=Ut;if(M[se(1346)](Y))return Y;this[se(493)]=0,this[se(660)]=null,this[se(1383)]=0,(this[se(2178)]=null)!==Y&&(z!=="le"&&z!=="be"||(re=z,z=10),this[se(2151)](Y||0,z||10,re||"be"))}var L;typeof B=="object"?B[D(1729)]=M:S.BN=M,(M.BN=M)[D(883)]=26;try{L=(D(1506)!=typeof window&&window[D(1641)]!==void 0?window:T(46601))[D(1641)]}catch{}function F(Y,z){var re=D;return z=Y[re(2010)](z),48<=z&&z<=57?z-48:65<=z&&z<=70?z-55:97<=z&&z<=102?z-87:void R(!1,re(1055)+Y)}function k(Y,z,re){var se=F(Y,re);return z<=re-1&&(se|=F(Y,re-1)<<4),se}function N(Y,z,re,se){for(var de=D,me,Ce=0,Ie=Math[de(1869)](Y[de(1383)],re),we=z;we<Ie;we++){var Te=Y[de(2010)](we)-48;Ce*=se,me=49<=Te?Te-49+10:17<=Te?Te-17+10:Te,R(0<=Te&&me<se,de(1988)),Ce+=me}return Ce}function G(Y,z){var re=D;Y.words=z[re(660)],Y[re(1383)]=z[re(1383)],Y[re(493)]=z.negative,Y[re(2178)]=z[re(2178)]}if(M[D(1346)]=function(Y){var z=D;return Y instanceof M||Y!==null&&z(1499)==typeof Y&&Y[z(2267)][z(883)]===M[z(883)]&&Array[z(2507)](Y[z(660)])},M[D(323)]=function(Y,z){var re=D;return 0<Y[re(526)](z)?Y:z},M.min=function(Y,z){var re=D;return Y[re(526)](z)<0?Y:z},M.prototype._init=function(Y,z,re){var se=D;if(typeof Y=="number")return this[se(1763)](Y,z,re);if(typeof Y=="object")return this[se(1263)](Y,z,re);R((z=se(495)===z?16:z)===(0|z)&&2<=z&&z<=36);var de=0;(Y=Y[se(1888)]()[se(1850)](/\s+/g,""))[0]==="-"&&(de++,this[se(493)]=1),de<Y[se(1383)]&&(z===16?this[se(260)](Y,de,re):(this[se(1834)](Y,z,de),re==="le"&&this[se(1263)](this.toArray(),z,re)))},M.prototype[D(1763)]=function(Y,z,re){var se=D;Y<0&&(this.negative=1,Y=-Y),Y<67108864?(this.words=[67108863&Y],this[se(1383)]=1):Y<4503599627370496?(this[se(660)]=[67108863&Y,Y/67108864&67108863],this[se(1383)]=2):(R(Y<9007199254740992),this.words=[67108863&Y,Y/67108864&67108863,1],this[se(1383)]=3),re==="le"&&this[se(1263)](this[se(884)](),z,re)},M.prototype[D(1263)]=function(Y,z,re){var se=D;if(R(se(2013)==typeof Y.length),Y[se(1383)]<=0)return this[se(660)]=[0],this.length=1,this;this.length=Math.ceil(Y[se(1383)]/3),this[se(660)]=new Array(this[se(1383)]);for(var de,me,Ce=0;Ce<this[se(1383)];Ce++)this[se(660)][Ce]=0;var Ie=0;if(re==="be")for(Ce=Y[se(1383)]-1,de=0;0<=Ce;Ce-=3)me=Y[Ce]|Y[Ce-1]<<8|Y[Ce-2]<<16,this[se(660)][de]|=me<<Ie&67108863,this.words[de+1]=me>>>26-Ie&67108863,26<=(Ie+=24)&&(Ie-=26,de++);else if(re==="le")for(de=Ce=0;Ce<Y[se(1383)];Ce+=3)me=Y[Ce]|Y[Ce+1]<<8|Y[Ce+2]<<16,this[se(660)][de]|=me<<Ie&67108863,this[se(660)][de+1]=me>>>26-Ie&67108863,26<=(Ie+=24)&&(Ie-=26,de++);return this[se(1076)]()},M[D(1166)]._parseHex=function(Y,z,re){var se=D;this.length=Math.ceil((Y[se(1383)]-z)/6),this.words=new Array(this[se(1383)]);for(var de=0;de<this[se(1383)];de++)this[se(660)][de]=0;var me,Ce=0,Ie=0;if(re==="be")for(de=Y.length-1;z<=de;de-=2)me=k(Y,z,de)<<Ce,this[se(660)][Ie]|=67108863&me,18<=Ce?(Ce-=18,this[se(660)][Ie+=1]|=me>>>26):Ce+=8;else for(de=(Y.length-z)%2==0?z+1:z;de<Y[se(1383)];de+=2)me=k(Y,z,de)<<Ce,this.words[Ie]|=67108863&me,18<=Ce?(Ce-=18,this.words[Ie+=1]|=me>>>26):Ce+=8;this._strip()},M[D(1166)][D(1834)]=function(Y,z,re){var se=D;this[se(660)]=[0];for(var de=0,me=this[se(1383)]=1;me<=67108863;me*=z)de++;for(var me=me/z|0,Ce=Y[se(1383)]-re,Ie=Ce%--de,we=Math[se(1869)](Ce,Ce-Ie)+re,Te=0,Ge=re;Ge<we;Ge+=de)Te=N(Y,Ge,Ge+de,z),this[se(683)](me),this[se(660)][0]+Te<67108864?this[se(660)][0]+=Te:this._iaddn(Te);if(Ie!=0){for(var ke=1,Te=N(Y,Ge,Y[se(1383)],z),Ge=0;Ge<Ie;Ge++)ke*=z;this.imuln(ke),this[se(660)][0]+Te<67108864?this.words[0]+=Te:this[se(2079)](Te)}this[se(1076)]()},M.prototype[D(1830)]=function(Y){var z=D;Y[z(660)]=new Array(this[z(1383)]);for(var re=0;re<this.length;re++)Y[z(660)][re]=this.words[re];Y[z(1383)]=this[z(1383)],Y[z(493)]=this[z(493)],Y[z(2178)]=this.red},M[D(1166)][D(1650)]=function(Y){G(Y,this)},M.prototype[D(2164)]=function(){var Y=D,z=new M(null);return this[Y(1830)](z),z},M[D(1166)]._expand=function(Y){for(var z=D;this[z(1383)]<Y;)this[z(660)][this[z(1383)]++]=0;return this},M.prototype._strip=function(){for(var Y=D;1<this[Y(1383)]&&this[Y(660)][this[Y(1383)]-1]===0;)this[Y(1383)]--;return this[Y(1049)]()},M[D(1166)][D(1049)]=function(){var Y=D;return this[Y(1383)]===1&&this[Y(660)][0]===0&&(this[Y(493)]=0),this},typeof Symbol<"u"&&D(1451)==typeof Symbol.for)try{M[D(1166)][Symbol[D(1732)](D(2464))]=J}catch{M[D(1166)][D(1035)]=J}else M[D(1166)].inspect=J;function J(){var Y=D;return(this[Y(2178)]?"<BN-R: ":Y(780))+this[Y(1888)](16)+">"}var K=["","0","00",D(2453),D(1548),D(1144),D(536),D(259),D(178),D(748),"0000000000",D(2680),D(1365),D(1062),"00000000000000",D(313),D(438),D(1270),D(767),D(1315),D(1048),"000000000000000000000",D(2042),D(1733),D(548),D(2157)],X=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],q=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function ee(Y,z,re){var se=D;re[se(493)]=z[se(493)]^Y[se(493)];var de=Y[se(1383)]+z[se(1383)]|0,de=(re.length=de)-1|0,me=(Ie=(0|Y.words[0])*(0|z[se(660)][0]))/67108864|0;re[se(660)][0]=67108863&Ie;for(var Ce=1;Ce<de;Ce++){for(var Ie,we=me>>>26,Te=67108863&me,Ge=Math[se(1869)](Ce,z[se(1383)]-1),ke=Math[se(323)](0,Ce-Y[se(1383)]+1);ke<=Ge;ke++)we+=(Ie=(0|Y[se(660)][Ce-ke|0])*(0|z[se(660)][ke])+Te)/67108864|0,Te=67108863&Ie;re.words[Ce]=0|Te,me=0|we}return me!==0?re[se(660)][Ce]=0|me:re.length--,re[se(1076)]()}M[D(1166)][D(1888)]=function(Y,z){var re=D;if(z=0|z||1,(Y=Y||10)===16||re(495)===Y){for(var se="",de=0,me=0,Ce=0;Ce<this[re(1383)];Ce++){var Ie=this.words[Ce],we=(16777215&(Ie<<de|me)).toString(16),me=Ie>>>24-de&16777215;26<=(de+=2)&&(de-=26,Ce--),se=me!==0||Ce!==this[re(1383)]-1?K[6-we.length]+we+se:we+se}for(me!==0&&(se=me.toString(16)+se);se.length%z!=0;)se="0"+se;return this.negative!==0?"-"+se:se}if(Y===(0|Y)&&2<=Y&&Y<=36){var Te=X[Y],Ge=q[Y];for(se="",(ke=this[re(2164)]())[re(493)]=0;!ke[re(2356)]();)var ke,Oe=ke.modrn(Ge)[re(1888)](Y),se=(ke=ke.idivn(Ge))[re(2356)]()?Oe+se:K[Te-Oe[re(1383)]]+Oe+se;for(this[re(2356)]()&&(se="0"+se);se.length%z!=0;)se="0"+se;return this[re(493)]!==0?"-"+se:se}R(!1,"Base should be between 2 and 36")},M.prototype.toNumber=function(){var Y=D,z=this[Y(660)][0];return this[Y(1383)]===2?z+=67108864*this[Y(660)][1]:this[Y(1383)]===3&&this[Y(660)][2]===1?z+=4503599627370496+67108864*this[Y(660)][1]:2<this[Y(1383)]&&R(!1,Y(1421)),this[Y(493)]!==0?-z:z},M[D(1166)][D(2639)]=function(){var Y=D;return this[Y(1888)](16,2)},L&&(M[D(1166)].toBuffer=function(Y,z){var re=D;return this[re(1299)](L,Y,z)}),M.prototype.toArray=function(Y,z){var re=D;return this[re(1299)](Array,Y,z)},M[D(1166)][D(1299)]=function(Ce,z,me){var se=D;this._strip();var de=this[se(250)](),me=me||Math.max(1,de),Ce=(R(de<=me,se(2736)),R(0<me,se(1881)),me=me,(Ce=Ce)[se(960)]?Ce.allocUnsafe(me):new Ce(me));return this[se(667)+(z==="le"?"LE":"BE")](Ce,de),Ce},M[D(1166)][D(2339)]=function(Y,z){for(var re=D,se=0,de=0,me=0,Ce=0;me<this[re(1383)];me++){var Ie=this[re(660)][me]<<Ce|de;Y[se++]=255&Ie,se<Y[re(1383)]&&(Y[se++]=Ie>>8&255),se<Y[re(1383)]&&(Y[se++]=Ie>>16&255),Ce===6?(se<Y.length&&(Y[se++]=Ie>>24&255),Ce=de=0):(de=Ie>>>24,Ce+=2)}if(se<Y.length)for(Y[se++]=de;se<Y[re(1383)];)Y[se++]=0},M.prototype[D(263)]=function(Y,z){for(var re=D,se=Y[re(1383)]-1,de=0,me=0,Ce=0;me<this.length;me++){var Ie=this[re(660)][me]<<Ce|de;Y[se--]=255&Ie,0<=se&&(Y[se--]=Ie>>8&255),0<=se&&(Y[se--]=Ie>>16&255),Ce===6?(0<=se&&(Y[se--]=Ie>>24&255),Ce=de=0):(de=Ie>>>24,Ce+=2)}if(0<=se)for(Y[se--]=de;0<=se;)Y[se--]=0},Math[D(207)]?M[D(1166)]._countBits=function(Y){return 32-Math.clz32(Y)}:M.prototype[D(623)]=function(Y){var z=0;return 4096<=Y&&(z+=13,Y>>>=13),64<=Y&&(z+=7,Y>>>=7),8<=Y&&(z+=4,Y>>>=4),2<=Y&&(z+=2,Y>>>=2),z+Y},M[D(1166)][D(1095)]=function(Y){if(Y===0)return 26;var z=0;return(8191&Y)==0&&(z+=13,Y>>>=13),(127&Y)==0&&(z+=7,Y>>>=7),(15&Y)==0&&(z+=4,Y>>>=4),(3&Y)==0&&(z+=2,Y>>>=2),(1&Y)==0&&z++,z},M[D(1166)][D(485)]=function(){var Y=D,z=this[Y(660)][this[Y(1383)]-1],z=this[Y(623)](z);return 26*(this[Y(1383)]-1)+z},M[D(1166)].zeroBits=function(){var Y=D;if(this.isZero())return 0;for(var z=0,re=0;re<this[Y(1383)];re++){var se=this._zeroBits(this[Y(660)][re]);if(z+=se,se!==26)break}return z},M[D(1166)][D(250)]=function(){var Y=D;return Math.ceil(this[Y(485)]()/8)},M[D(1166)][D(180)]=function(Y){var z=D;return this[z(493)]!==0?this[z(1914)]()[z(2519)](Y).iaddn(1):this[z(2164)]()},M.prototype[D(1845)]=function(Y){var z=D;return this[z(901)](Y-1)?this[z(516)](Y)[z(2695)](1)[z(919)]():this[z(2164)]()},M[D(1166)].isNeg=function(){var Y=D;return this[Y(493)]!==0},M[D(1166)].neg=function(){var Y=D;return this[Y(2164)]()[Y(919)]()},M[D(1166)].ineg=function(){var Y=D;return this[Y(2356)]()||(this[Y(493)]^=1),this},M[D(1166)][D(776)]=function(Y){for(var z=D;this[z(1383)]<Y[z(1383)];)this.words[this[z(1383)]++]=0;for(var re=0;re<Y.length;re++)this[z(660)][re]=this[z(660)][re]|Y[z(660)][re];return this[z(1076)]()},M[D(1166)][D(699)]=function(Y){var z=D;return R((this.negative|Y[z(493)])==0),this[z(776)](Y)},M[D(1166)].or=function(Y){var z=D;return this[z(1383)]>Y[z(1383)]?this[z(2164)]().ior(Y):Y[z(2164)]()[z(699)](this)},M.prototype.uor=function(Y){var z=D;return this.length>Y.length?this.clone()[z(776)](Y):Y.clone()[z(776)](this)},M.prototype[D(709)]=function(Y){for(var z=D,re=this.length>Y[z(1383)]?Y:this,se=0;se<re[z(1383)];se++)this[z(660)][se]=this[z(660)][se]&Y[z(660)][se];return this[z(1383)]=re[z(1383)],this._strip()},M[D(1166)][D(560)]=function(Y){var z=D;return R((this[z(493)]|Y[z(493)])==0),this.iuand(Y)},M[D(1166)][D(2377)]=function(Y){var z=D;return this[z(1383)]>Y[z(1383)]?this[z(2164)]()[z(560)](Y):Y[z(2164)]()[z(560)](this)},M[D(1166)].uand=function(Y){var z=D;return this[z(1383)]>Y[z(1383)]?this[z(2164)]().iuand(Y):Y.clone().iuand(this)},M[D(1166)][D(2796)]=function(Y){for(var z=D,re,se=this[z(1383)]>Y[z(1383)]?(re=this,Y):(re=Y,this),de=0;de<se.length;de++)this[z(660)][de]=re[z(660)][de]^se[z(660)][de];if(this!==re)for(;de<re[z(1383)];de++)this[z(660)][de]=re[z(660)][de];return this[z(1383)]=re[z(1383)],this[z(1076)]()},M[D(1166)].ixor=function(Y){var z=D;return R((this[z(493)]|Y[z(493)])==0),this.iuxor(Y)},M.prototype.xor=function(Y){var z=D;return this[z(1383)]>Y[z(1383)]?this[z(2164)]()[z(1283)](Y):Y[z(2164)]()[z(1283)](this)},M[D(1166)][D(2024)]=function(Y){var z=D;return this[z(1383)]>Y[z(1383)]?this[z(2164)]()[z(2796)](Y):Y.clone().iuxor(this)},M[D(1166)].inotn=function(se){var z=D;R(z(2013)==typeof se&&0<=se);var re=0|Math[z(1266)](se/26),se=se%26;this._expand(re),0<se&&re--;for(var de=0;de<re;de++)this[z(660)][de]=67108863&~this[z(660)][de];return 0<se&&(this.words[de]=~this[z(660)][de]&67108863>>26-se),this._strip()},M[D(1166)][D(516)]=function(Y){var z=D;return this[z(2164)]().inotn(Y)},M[D(1166)].setn=function(de,z){var re=D;R(re(2013)==typeof de&&0<=de);var se=de/26|0,de=de%26;return this[re(159)](1+se),this[re(660)][se]=z?this[re(660)][se]|1<<de:this.words[se]&~(1<<de),this._strip()},M.prototype[D(187)]=function(Y){var z=D,re,se;if(this.negative!==0&&Y[z(493)]===0)return this[z(493)]=0,re=this[z(258)](Y),this[z(493)]^=1,this[z(1049)]();if(this.negative===0&&Y[z(493)]!==0)return Y[z(493)]=0,re=this[z(258)](Y),Y.negative=1,re[z(1049)]();for(var de=this.length>Y[z(1383)]?(se=this,Y):(se=Y,this),me=0,Ce=0;Ce<de[z(1383)];Ce++)re=(0|se[z(660)][Ce])+(0|de[z(660)][Ce])+me,this[z(660)][Ce]=67108863&re,me=re>>>26;for(;me!==0&&Ce<se[z(1383)];Ce++)re=(0|se.words[Ce])+me,this[z(660)][Ce]=67108863&re,me=re>>>26;if(this[z(1383)]=se[z(1383)],me!==0)this[z(660)][this[z(1383)]]=me,this.length++;else if(se!==this)for(;Ce<se[z(1383)];Ce++)this[z(660)][Ce]=se[z(660)][Ce];return this},M[D(1166)][D(2400)]=function(Y){var z=D,re;return Y[z(493)]!==0&&this[z(493)]===0?(Y[z(493)]=0,re=this[z(1550)](Y),Y.negative^=1,re):Y[z(493)]===0&&this.negative!==0?(this.negative=0,re=Y[z(1550)](this),this[z(493)]=1,re):this.length>Y.length?this.clone()[z(187)](Y):Y.clone()[z(187)](this)},M[D(1166)][D(258)]=function(Y){var z=D,re;if(Y.negative!==0)return Y[z(493)]=0,re=this[z(187)](Y),Y[z(493)]=1,re._normSign();if(this[z(493)]!==0)return this[z(493)]=0,this[z(187)](Y),this[z(493)]=1,this[z(1049)]();var se,de=this[z(526)](Y);if(de===0)return this[z(493)]=0,this[z(1383)]=1,this[z(660)][0]=0,this;for(var me=0<de?(se=this,Y):(se=Y,this),Ce=0,Ie=0;Ie<me[z(1383)];Ie++)Ce=(re=(0|se[z(660)][Ie])-(0|me.words[Ie])+Ce)>>26,this[z(660)][Ie]=67108863&re;for(;Ce!==0&&Ie<se[z(1383)];Ie++)Ce=(re=(0|se[z(660)][Ie])+Ce)>>26,this[z(660)][Ie]=67108863&re;if(Ce===0&&Ie<se[z(1383)]&&se!==this)for(;Ie<se[z(1383)];Ie++)this[z(660)][Ie]=se.words[Ie];return this[z(1383)]=Math.max(this[z(1383)],Ie),se!==this&&(this[z(493)]=1),this[z(1076)]()},M[D(1166)][D(1550)]=function(Y){var z=D;return this[z(2164)]().isub(Y)};var ie=function(bt,ve,re){var se=D,et=bt[se(660)],Pe=ve[se(660)],de=re[se(660)],Kt=0|et[0],mi=8191&Kt,Kt=Kt>>>13,Ht=0|et[1],Mt=8191&Ht,Ht=Ht>>>13,Ce=0|et[2],me=8191&Ce,Ce=Ce>>>13,we=0|et[3],Ie=8191&we,we=we>>>13,Ge=0|et[4],Te=8191&Ge,Ge=Ge>>>13,Oe=0|et[5],ke=8191&Oe,Oe=Oe>>>13,be=0|et[6],Le=8191&be,be=be>>>13,Ue=0|et[7],Ne=8191&Ue,Ue=Ue>>>13,Je=0|et[8],ze=8191&Je,Je=Je>>>13,et=0|et[9],Xe=8191&et,et=et>>>13,pi=0|Pe[0],jt=8191&pi,pi=pi>>>13,_t=0|Pe[1],xi=8191&_t,_t=_t>>>13,Wi=0|Pe[2],ti=8191&Wi,Wi=Wi>>>13,Et=0|Pe[3],ot=8191&Et,Et=Et>>>13,ct=0|Pe[4],Ct=8191&ct,ct=ct>>>13,Qt=0|Pe[5],yt=8191&Qt,Qt=Qt>>>13,ut=0|Pe[6],Ze=8191&ut,ut=ut>>>13,gt=0|Pe[7],St=8191>,gt=gt>>>13,Lt=0|Pe[8],xt=8191&Lt,Lt=Lt>>>13,Pe=0|Pe[9],nt=8191&Pe,Pe=Pe>>>13,ve=(re[se(493)]=bt.negative^ve[se(493)],re[se(1383)]=19,(0+Math.imul(mi,jt)|0)+((8191&(bt=Math[se(1805)](mi,pi)+Math[se(1805)](Kt,jt)|0))<<13)|0),yi=(Math[se(1805)](Kt,pi)+(bt>>>13)|0)+(ve>>>26)|0,We=(ve&=67108863,Math[se(1805)](Mt,jt)),bt=Math[se(1805)](Mt,pi)+Math[se(1805)](Ht,jt)|0,Pt=Math[se(1805)](Ht,pi),It=(yi+(We+Math[se(1805)](mi,xi)|0)|0)+((8191&(bt=(bt+Math[se(1805)](mi,_t)|0)+Math[se(1805)](Kt,xi)|0))<<13)|0,Mi=(yi=((Pt+Math[se(1805)](Kt,_t)|0)+(bt>>>13)|0)+(It>>>26)|0,It&=67108863,We=Math[se(1805)](me,jt),bt=Math.imul(me,pi)+Math[se(1805)](Ce,jt)|0,Pt=Math[se(1805)](Ce,pi),We=We+Math[se(1805)](Mt,xi)|0,bt=(bt+Math[se(1805)](Mt,_t)|0)+Math[se(1805)](Ht,xi)|0,Pt=Pt+Math[se(1805)](Ht,_t)|0,(yi+(We+Math[se(1805)](mi,ti)|0)|0)+((8191&(bt=(bt+Math.imul(mi,Wi)|0)+Math[se(1805)](Kt,ti)|0))<<13)|0),er=(yi=((Pt+Math[se(1805)](Kt,Wi)|0)+(bt>>>13)|0)+(Mi>>>26)|0,Mi&=67108863,We=Math[se(1805)](Ie,jt),bt=Math.imul(Ie,pi)+Math[se(1805)](we,jt)|0,Pt=Math[se(1805)](we,pi),We=We+Math[se(1805)](me,xi)|0,bt=(bt+Math.imul(me,_t)|0)+Math[se(1805)](Ce,xi)|0,Pt=Pt+Math[se(1805)](Ce,_t)|0,We=We+Math[se(1805)](Mt,ti)|0,bt=(bt+Math[se(1805)](Mt,Wi)|0)+Math[se(1805)](Ht,ti)|0,Pt=Pt+Math.imul(Ht,Wi)|0,(yi+(We+Math.imul(mi,ot)|0)|0)+((8191&(bt=(bt+Math[se(1805)](mi,Et)|0)+Math.imul(Kt,ot)|0))<<13)|0),di=(yi=((Pt+Math[se(1805)](Kt,Et)|0)+(bt>>>13)|0)+(er>>>26)|0,er&=67108863,We=Math.imul(Te,jt),bt=Math.imul(Te,pi)+Math[se(1805)](Ge,jt)|0,Pt=Math[se(1805)](Ge,pi),We=We+Math[se(1805)](Ie,xi)|0,bt=(bt+Math[se(1805)](Ie,_t)|0)+Math[se(1805)](we,xi)|0,Pt=Pt+Math[se(1805)](we,_t)|0,We=We+Math[se(1805)](me,ti)|0,bt=(bt+Math[se(1805)](me,Wi)|0)+Math.imul(Ce,ti)|0,Pt=Pt+Math[se(1805)](Ce,Wi)|0,We=We+Math.imul(Mt,ot)|0,bt=(bt+Math[se(1805)](Mt,Et)|0)+Math[se(1805)](Ht,ot)|0,Pt=Pt+Math[se(1805)](Ht,Et)|0,(yi+(We+Math[se(1805)](mi,Ct)|0)|0)+((8191&(bt=(bt+Math[se(1805)](mi,ct)|0)+Math[se(1805)](Kt,Ct)|0))<<13)|0),wi=(yi=((Pt+Math[se(1805)](Kt,ct)|0)+(bt>>>13)|0)+(di>>>26)|0,di&=67108863,We=Math.imul(ke,jt),bt=Math[se(1805)](ke,pi)+Math.imul(Oe,jt)|0,Pt=Math.imul(Oe,pi),We=We+Math[se(1805)](Te,xi)|0,bt=(bt+Math[se(1805)](Te,_t)|0)+Math.imul(Ge,xi)|0,Pt=Pt+Math[se(1805)](Ge,_t)|0,We=We+Math[se(1805)](Ie,ti)|0,bt=(bt+Math.imul(Ie,Wi)|0)+Math[se(1805)](we,ti)|0,Pt=Pt+Math[se(1805)](we,Wi)|0,We=We+Math[se(1805)](me,ot)|0,bt=(bt+Math[se(1805)](me,Et)|0)+Math.imul(Ce,ot)|0,Pt=Pt+Math[se(1805)](Ce,Et)|0,We=We+Math[se(1805)](Mt,Ct)|0,bt=(bt+Math[se(1805)](Mt,ct)|0)+Math[se(1805)](Ht,Ct)|0,Pt=Pt+Math.imul(Ht,ct)|0,(yi+(We+Math[se(1805)](mi,yt)|0)|0)+((8191&(bt=(bt+Math[se(1805)](mi,Qt)|0)+Math[se(1805)](Kt,yt)|0))<<13)|0),Ri=(yi=((Pt+Math[se(1805)](Kt,Qt)|0)+(bt>>>13)|0)+(wi>>>26)|0,wi&=67108863,We=Math[se(1805)](Le,jt),bt=Math[se(1805)](Le,pi)+Math[se(1805)](be,jt)|0,Pt=Math[se(1805)](be,pi),We=We+Math[se(1805)](ke,xi)|0,bt=(bt+Math[se(1805)](ke,_t)|0)+Math[se(1805)](Oe,xi)|0,Pt=Pt+Math[se(1805)](Oe,_t)|0,We=We+Math[se(1805)](Te,ti)|0,bt=(bt+Math[se(1805)](Te,Wi)|0)+Math[se(1805)](Ge,ti)|0,Pt=Pt+Math[se(1805)](Ge,Wi)|0,We=We+Math.imul(Ie,ot)|0,bt=(bt+Math.imul(Ie,Et)|0)+Math[se(1805)](we,ot)|0,Pt=Pt+Math.imul(we,Et)|0,We=We+Math[se(1805)](me,Ct)|0,bt=(bt+Math[se(1805)](me,ct)|0)+Math.imul(Ce,Ct)|0,Pt=Pt+Math[se(1805)](Ce,ct)|0,We=We+Math[se(1805)](Mt,yt)|0,bt=(bt+Math.imul(Mt,Qt)|0)+Math.imul(Ht,yt)|0,Pt=Pt+Math[se(1805)](Ht,Qt)|0,(yi+(We+Math[se(1805)](mi,Ze)|0)|0)+((8191&(bt=(bt+Math[se(1805)](mi,ut)|0)+Math[se(1805)](Kt,Ze)|0))<<13)|0),Ei=(yi=((Pt+Math[se(1805)](Kt,ut)|0)+(bt>>>13)|0)+(Ri>>>26)|0,Ri&=67108863,We=Math.imul(Ne,jt),bt=Math[se(1805)](Ne,pi)+Math[se(1805)](Ue,jt)|0,Pt=Math[se(1805)](Ue,pi),We=We+Math[se(1805)](Le,xi)|0,bt=(bt+Math[se(1805)](Le,_t)|0)+Math[se(1805)](be,xi)|0,Pt=Pt+Math[se(1805)](be,_t)|0,We=We+Math[se(1805)](ke,ti)|0,bt=(bt+Math[se(1805)](ke,Wi)|0)+Math[se(1805)](Oe,ti)|0,Pt=Pt+Math.imul(Oe,Wi)|0,We=We+Math[se(1805)](Te,ot)|0,bt=(bt+Math[se(1805)](Te,Et)|0)+Math[se(1805)](Ge,ot)|0,Pt=Pt+Math[se(1805)](Ge,Et)|0,We=We+Math[se(1805)](Ie,Ct)|0,bt=(bt+Math[se(1805)](Ie,ct)|0)+Math.imul(we,Ct)|0,Pt=Pt+Math[se(1805)](we,ct)|0,We=We+Math.imul(me,yt)|0,bt=(bt+Math[se(1805)](me,Qt)|0)+Math[se(1805)](Ce,yt)|0,Pt=Pt+Math[se(1805)](Ce,Qt)|0,We=We+Math[se(1805)](Mt,Ze)|0,bt=(bt+Math[se(1805)](Mt,ut)|0)+Math[se(1805)](Ht,Ze)|0,Pt=Pt+Math[se(1805)](Ht,ut)|0,(yi+(We+Math[se(1805)](mi,St)|0)|0)+((8191&(bt=(bt+Math.imul(mi,gt)|0)+Math.imul(Kt,St)|0))<<13)|0),Wt=(yi=((Pt+Math[se(1805)](Kt,gt)|0)+(bt>>>13)|0)+(Ei>>>26)|0,Ei&=67108863,We=Math[se(1805)](ze,jt),bt=Math.imul(ze,pi)+Math[se(1805)](Je,jt)|0,Pt=Math[se(1805)](Je,pi),We=We+Math.imul(Ne,xi)|0,bt=(bt+Math[se(1805)](Ne,_t)|0)+Math[se(1805)](Ue,xi)|0,Pt=Pt+Math[se(1805)](Ue,_t)|0,We=We+Math[se(1805)](Le,ti)|0,bt=(bt+Math.imul(Le,Wi)|0)+Math[se(1805)](be,ti)|0,Pt=Pt+Math.imul(be,Wi)|0,We=We+Math.imul(ke,ot)|0,bt=(bt+Math.imul(ke,Et)|0)+Math[se(1805)](Oe,ot)|0,Pt=Pt+Math[se(1805)](Oe,Et)|0,We=We+Math[se(1805)](Te,Ct)|0,bt=(bt+Math[se(1805)](Te,ct)|0)+Math[se(1805)](Ge,Ct)|0,Pt=Pt+Math[se(1805)](Ge,ct)|0,We=We+Math[se(1805)](Ie,yt)|0,bt=(bt+Math.imul(Ie,Qt)|0)+Math.imul(we,yt)|0,Pt=Pt+Math[se(1805)](we,Qt)|0,We=We+Math[se(1805)](me,Ze)|0,bt=(bt+Math[se(1805)](me,ut)|0)+Math[se(1805)](Ce,Ze)|0,Pt=Pt+Math[se(1805)](Ce,ut)|0,We=We+Math[se(1805)](Mt,St)|0,bt=(bt+Math[se(1805)](Mt,gt)|0)+Math.imul(Ht,St)|0,Pt=Pt+Math.imul(Ht,gt)|0,(yi+(We+Math.imul(mi,xt)|0)|0)+((8191&(bt=(bt+Math[se(1805)](mi,Lt)|0)+Math[se(1805)](Kt,xt)|0))<<13)|0),jt=(yi=((Pt+Math[se(1805)](Kt,Lt)|0)+(bt>>>13)|0)+(Wt>>>26)|0,Wt&=67108863,We=Math.imul(Xe,jt),bt=Math.imul(Xe,pi)+Math[se(1805)](et,jt)|0,Pt=Math.imul(et,pi),We=We+Math[se(1805)](ze,xi)|0,bt=(bt+Math.imul(ze,_t)|0)+Math[se(1805)](Je,xi)|0,Pt=Pt+Math[se(1805)](Je,_t)|0,We=We+Math[se(1805)](Ne,ti)|0,bt=(bt+Math.imul(Ne,Wi)|0)+Math[se(1805)](Ue,ti)|0,Pt=Pt+Math[se(1805)](Ue,Wi)|0,We=We+Math.imul(Le,ot)|0,bt=(bt+Math[se(1805)](Le,Et)|0)+Math[se(1805)](be,ot)|0,Pt=Pt+Math.imul(be,Et)|0,We=We+Math[se(1805)](ke,Ct)|0,bt=(bt+Math[se(1805)](ke,ct)|0)+Math[se(1805)](Oe,Ct)|0,Pt=Pt+Math.imul(Oe,ct)|0,We=We+Math.imul(Te,yt)|0,bt=(bt+Math.imul(Te,Qt)|0)+Math[se(1805)](Ge,yt)|0,Pt=Pt+Math[se(1805)](Ge,Qt)|0,We=We+Math[se(1805)](Ie,Ze)|0,bt=(bt+Math[se(1805)](Ie,ut)|0)+Math[se(1805)](we,Ze)|0,Pt=Pt+Math.imul(we,ut)|0,We=We+Math[se(1805)](me,St)|0,bt=(bt+Math.imul(me,gt)|0)+Math[se(1805)](Ce,St)|0,Pt=Pt+Math[se(1805)](Ce,gt)|0,We=We+Math[se(1805)](Mt,xt)|0,bt=(bt+Math[se(1805)](Mt,Lt)|0)+Math[se(1805)](Ht,xt)|0,Pt=Pt+Math[se(1805)](Ht,Lt)|0,(yi+(We+Math[se(1805)](mi,nt)|0)|0)+((8191&(bt=(bt+Math[se(1805)](mi,Pe)|0)+Math[se(1805)](Kt,nt)|0))<<13)|0),pi=(yi=((Pt+Math[se(1805)](Kt,Pe)|0)+(bt>>>13)|0)+(jt>>>26)|0,jt&=67108863,We=Math[se(1805)](Xe,xi),bt=Math[se(1805)](Xe,_t)+Math[se(1805)](et,xi)|0,Pt=Math[se(1805)](et,_t),We=We+Math[se(1805)](ze,ti)|0,bt=(bt+Math[se(1805)](ze,Wi)|0)+Math[se(1805)](Je,ti)|0,Pt=Pt+Math[se(1805)](Je,Wi)|0,We=We+Math[se(1805)](Ne,ot)|0,bt=(bt+Math.imul(Ne,Et)|0)+Math.imul(Ue,ot)|0,Pt=Pt+Math[se(1805)](Ue,Et)|0,We=We+Math.imul(Le,Ct)|0,bt=(bt+Math.imul(Le,ct)|0)+Math[se(1805)](be,Ct)|0,Pt=Pt+Math[se(1805)](be,ct)|0,We=We+Math[se(1805)](ke,yt)|0,bt=(bt+Math[se(1805)](ke,Qt)|0)+Math[se(1805)](Oe,yt)|0,Pt=Pt+Math[se(1805)](Oe,Qt)|0,We=We+Math[se(1805)](Te,Ze)|0,bt=(bt+Math[se(1805)](Te,ut)|0)+Math.imul(Ge,Ze)|0,Pt=Pt+Math[se(1805)](Ge,ut)|0,We=We+Math.imul(Ie,St)|0,bt=(bt+Math.imul(Ie,gt)|0)+Math[se(1805)](we,St)|0,Pt=Pt+Math[se(1805)](we,gt)|0,We=We+Math[se(1805)](me,xt)|0,bt=(bt+Math[se(1805)](me,Lt)|0)+Math[se(1805)](Ce,xt)|0,Pt=Pt+Math[se(1805)](Ce,Lt)|0,(yi+(We+Math.imul(Mt,nt)|0)|0)+((8191&(bt=(bt+Math.imul(Mt,Pe)|0)+Math[se(1805)](Ht,nt)|0))<<13)|0),mi=(yi=((Pt+Math[se(1805)](Ht,Pe)|0)+(bt>>>13)|0)+(pi>>>26)|0,pi&=67108863,We=Math[se(1805)](Xe,ti),bt=Math[se(1805)](Xe,Wi)+Math[se(1805)](et,ti)|0,Pt=Math[se(1805)](et,Wi),We=We+Math[se(1805)](ze,ot)|0,bt=(bt+Math[se(1805)](ze,Et)|0)+Math[se(1805)](Je,ot)|0,Pt=Pt+Math.imul(Je,Et)|0,We=We+Math[se(1805)](Ne,Ct)|0,bt=(bt+Math[se(1805)](Ne,ct)|0)+Math[se(1805)](Ue,Ct)|0,Pt=Pt+Math[se(1805)](Ue,ct)|0,We=We+Math.imul(Le,yt)|0,bt=(bt+Math[se(1805)](Le,Qt)|0)+Math[se(1805)](be,yt)|0,Pt=Pt+Math[se(1805)](be,Qt)|0,We=We+Math[se(1805)](ke,Ze)|0,bt=(bt+Math[se(1805)](ke,ut)|0)+Math.imul(Oe,Ze)|0,Pt=Pt+Math[se(1805)](Oe,ut)|0,We=We+Math[se(1805)](Te,St)|0,bt=(bt+Math[se(1805)](Te,gt)|0)+Math[se(1805)](Ge,St)|0,Pt=Pt+Math[se(1805)](Ge,gt)|0,We=We+Math[se(1805)](Ie,xt)|0,bt=(bt+Math[se(1805)](Ie,Lt)|0)+Math[se(1805)](we,xt)|0,Pt=Pt+Math[se(1805)](we,Lt)|0,(yi+(We+Math.imul(me,nt)|0)|0)+((8191&(bt=(bt+Math[se(1805)](me,Pe)|0)+Math[se(1805)](Ce,nt)|0))<<13)|0),Kt=(yi=((Pt+Math.imul(Ce,Pe)|0)+(bt>>>13)|0)+(mi>>>26)|0,mi&=67108863,We=Math[se(1805)](Xe,ot),bt=Math.imul(Xe,Et)+Math[se(1805)](et,ot)|0,Pt=Math[se(1805)](et,Et),We=We+Math.imul(ze,Ct)|0,bt=(bt+Math[se(1805)](ze,ct)|0)+Math.imul(Je,Ct)|0,Pt=Pt+Math.imul(Je,ct)|0,We=We+Math[se(1805)](Ne,yt)|0,bt=(bt+Math[se(1805)](Ne,Qt)|0)+Math[se(1805)](Ue,yt)|0,Pt=Pt+Math[se(1805)](Ue,Qt)|0,We=We+Math[se(1805)](Le,Ze)|0,bt=(bt+Math.imul(Le,ut)|0)+Math.imul(be,Ze)|0,Pt=Pt+Math[se(1805)](be,ut)|0,We=We+Math.imul(ke,St)|0,bt=(bt+Math[se(1805)](ke,gt)|0)+Math[se(1805)](Oe,St)|0,Pt=Pt+Math[se(1805)](Oe,gt)|0,We=We+Math.imul(Te,xt)|0,bt=(bt+Math[se(1805)](Te,Lt)|0)+Math[se(1805)](Ge,xt)|0,Pt=Pt+Math.imul(Ge,Lt)|0,(yi+(We+Math[se(1805)](Ie,nt)|0)|0)+((8191&(bt=(bt+Math[se(1805)](Ie,Pe)|0)+Math[se(1805)](we,nt)|0))<<13)|0),xi=(yi=((Pt+Math.imul(we,Pe)|0)+(bt>>>13)|0)+(Kt>>>26)|0,Kt&=67108863,We=Math[se(1805)](Xe,Ct),bt=Math[se(1805)](Xe,ct)+Math[se(1805)](et,Ct)|0,Pt=Math.imul(et,ct),We=We+Math[se(1805)](ze,yt)|0,bt=(bt+Math[se(1805)](ze,Qt)|0)+Math.imul(Je,yt)|0,Pt=Pt+Math.imul(Je,Qt)|0,We=We+Math[se(1805)](Ne,Ze)|0,bt=(bt+Math[se(1805)](Ne,ut)|0)+Math.imul(Ue,Ze)|0,Pt=Pt+Math[se(1805)](Ue,ut)|0,We=We+Math[se(1805)](Le,St)|0,bt=(bt+Math[se(1805)](Le,gt)|0)+Math[se(1805)](be,St)|0,Pt=Pt+Math[se(1805)](be,gt)|0,We=We+Math[se(1805)](ke,xt)|0,bt=(bt+Math[se(1805)](ke,Lt)|0)+Math.imul(Oe,xt)|0,Pt=Pt+Math.imul(Oe,Lt)|0,(yi+(We+Math.imul(Te,nt)|0)|0)+((8191&(bt=(bt+Math[se(1805)](Te,Pe)|0)+Math.imul(Ge,nt)|0))<<13)|0),_t=(yi=((Pt+Math[se(1805)](Ge,Pe)|0)+(bt>>>13)|0)+(xi>>>26)|0,xi&=67108863,We=Math[se(1805)](Xe,yt),bt=Math[se(1805)](Xe,Qt)+Math[se(1805)](et,yt)|0,Pt=Math.imul(et,Qt),We=We+Math[se(1805)](ze,Ze)|0,bt=(bt+Math[se(1805)](ze,ut)|0)+Math[se(1805)](Je,Ze)|0,Pt=Pt+Math.imul(Je,ut)|0,We=We+Math.imul(Ne,St)|0,bt=(bt+Math.imul(Ne,gt)|0)+Math[se(1805)](Ue,St)|0,Pt=Pt+Math[se(1805)](Ue,gt)|0,We=We+Math[se(1805)](Le,xt)|0,bt=(bt+Math[se(1805)](Le,Lt)|0)+Math[se(1805)](be,xt)|0,Pt=Pt+Math[se(1805)](be,Lt)|0,(yi+(We+Math[se(1805)](ke,nt)|0)|0)+((8191&(bt=(bt+Math.imul(ke,Pe)|0)+Math[se(1805)](Oe,nt)|0))<<13)|0),Mt=(yi=((Pt+Math[se(1805)](Oe,Pe)|0)+(bt>>>13)|0)+(_t>>>26)|0,_t&=67108863,We=Math.imul(Xe,Ze),bt=Math.imul(Xe,ut)+Math[se(1805)](et,Ze)|0,Pt=Math[se(1805)](et,ut),We=We+Math[se(1805)](ze,St)|0,bt=(bt+Math.imul(ze,gt)|0)+Math[se(1805)](Je,St)|0,Pt=Pt+Math[se(1805)](Je,gt)|0,We=We+Math.imul(Ne,xt)|0,bt=(bt+Math.imul(Ne,Lt)|0)+Math.imul(Ue,xt)|0,Pt=Pt+Math[se(1805)](Ue,Lt)|0,(yi+(We+Math[se(1805)](Le,nt)|0)|0)+((8191&(bt=(bt+Math[se(1805)](Le,Pe)|0)+Math.imul(be,nt)|0))<<13)|0),Ht=(yi=((Pt+Math[se(1805)](be,Pe)|0)+(bt>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,We=Math[se(1805)](Xe,St),bt=Math[se(1805)](Xe,gt)+Math[se(1805)](et,St)|0,Pt=Math[se(1805)](et,gt),We=We+Math[se(1805)](ze,xt)|0,bt=(bt+Math[se(1805)](ze,Lt)|0)+Math[se(1805)](Je,xt)|0,Pt=Pt+Math.imul(Je,Lt)|0,(yi+(We+Math.imul(Ne,nt)|0)|0)+((8191&(bt=(bt+Math.imul(Ne,Pe)|0)+Math[se(1805)](Ue,nt)|0))<<13)|0),ti=(yi=((Pt+Math[se(1805)](Ue,Pe)|0)+(bt>>>13)|0)+(Ht>>>26)|0,Ht&=67108863,We=Math.imul(Xe,xt),bt=Math[se(1805)](Xe,Lt)+Math[se(1805)](et,xt)|0,Pt=Math[se(1805)](et,Lt),(yi+(We+Math[se(1805)](ze,nt)|0)|0)+((8191&(bt=(bt+Math[se(1805)](ze,Pe)|0)+Math[se(1805)](Je,nt)|0))<<13)|0),Wi=(yi=((Pt+Math[se(1805)](Je,Pe)|0)+(bt>>>13)|0)+(ti>>>26)|0,ti&=67108863,(yi+Math[se(1805)](Xe,nt)|0)+((8191&(bt=Math[se(1805)](Xe,Pe)+Math.imul(et,nt)|0))<<13)|0),yi=(Math[se(1805)](et,Pe)+(bt>>>13)|0)+(Wi>>>26)|0;return Wi&=67108863,de[0]=ve,de[1]=It,de[2]=Mi,de[3]=er,de[4]=di,de[5]=wi,de[6]=Ri,de[7]=Ei,de[8]=Wt,de[9]=jt,de[10]=pi,de[11]=mi,de[12]=Kt,de[13]=xi,de[14]=_t,de[15]=Mt,de[16]=Ht,de[17]=ti,de[18]=Wi,yi!=0&&(de[19]=yi,re[se(1383)]++),re};function H(Y,z,re){var se=D;re.negative=z[se(493)]^Y[se(493)],re[se(1383)]=Y[se(1383)]+z[se(1383)];for(var de=0,me=0,Ce=0;Ce<re[se(1383)]-1;Ce++){for(var Ie=me,me=0,we=67108863&de,Te=Math[se(1869)](Ce,z[se(1383)]-1),Ge=Math.max(0,Ce-Y[se(1383)]+1);Ge<=Te;Ge++){var ke,Oe=(0|Y[se(660)][Ce-Ge])*(0|z[se(660)][Ge]),we=67108863&(ke=(67108863&Oe)+we|0);me+=(Ie=(Ie=Ie+(Oe/67108864|0)|0)+(ke>>>26)|0)>>>26,Ie&=67108863}re[se(660)][Ce]=we,de=Ie,Ie=me}return de!==0?re[se(660)][Ce]=de:re[se(1383)]--,re[se(1076)]()}function le(Y,z,re){return H(Y,z,re)}Math.imul||(ie=ee),M[D(1166)].mulTo=function(Y,z){var re=D,se=this[re(1383)]+Y.length;return(this[re(1383)]===10&&Y.length===10?ie:se<63?ee:se<1024?H:le)(this,Y,z)},M[D(1166)][D(2545)]=function(Y){var z=D,re=new M(null);return re[z(660)]=new Array(this.length+Y[z(1383)]),this.mulTo(Y,re)},M[D(1166)].mulf=function(Y){var z=D,re=new M(null);return re[z(660)]=new Array(this.length+Y[z(1383)]),le(this,Y,re)},M.prototype[D(1805)]=function(Y){var z=D;return this[z(2164)]()[z(685)](Y,this)},M[D(1166)][D(683)]=function(Y){for(var z=D,re=Y<0,se=(R(z(2013)==typeof(Y=re?-Y:Y)),R(Y<67108864),0),de=0;de<this[z(1383)];de++){var me=(0|this.words[de])*Y,Ce=(67108863&me)+(67108863&se),se=(se>>=26)+(me/67108864|0)+(Ce>>>26);this.words[de]=67108863&Ce}return se!==0&&(this.words[de]=se,this.length++),re?this[z(919)]():this},M.prototype[D(744)]=function(Y){var z=D;return this[z(2164)]()[z(683)](Y)},M[D(1166)].sqr=function(){var Y=D;return this[Y(2545)](this)},M[D(1166)][D(468)]=function(){var Y=D;return this[Y(1805)](this.clone())},M[D(1166)][D(337)]=function(Y){var z=D,re=function(Ce){for(var Ie=Ut,we=new Array(Ce[Ie(485)]()),Te=0;Te<we.length;Te++)we[Te]=Ce.words[Te/26|0]>>>Te%26&1;return we}(Y);if(re[z(1383)]===0)return new M(1);for(var se=this,de=0;de<re[z(1383)]&&re[de]===0;de++,se=se[z(1219)]());if(++de<re[z(1383)])for(var me=se[z(1219)]();de<re[z(1383)];de++,me=me[z(1219)]())re[de]!==0&&(se=se[z(2545)](me));return se},M.prototype.iushln=function(Y){var z=D;R(z(2013)==typeof Y&&0<=Y);var re=Y%26,se=(Y-re)/26,de=67108863>>>26-re<<26-re;if(re!=0){for(var me=0,Ce=0;Ce<this[z(1383)];Ce++){var Ie=this[z(660)][Ce]&de,we=(0|this[z(660)][Ce])-Ie<<re;this[z(660)][Ce]=we|me,me=Ie>>>26-re}me&&(this.words[Ce]=me,this.length++)}if(se!=0){for(Ce=this[z(1383)]-1;0<=Ce;Ce--)this.words[Ce+se]=this.words[Ce];for(Ce=0;Ce<se;Ce++)this[z(660)][Ce]=0;this[z(1383)]+=se}return this[z(1076)]()},M.prototype[D(1696)]=function(Y){var z=D;return R(this[z(493)]===0),this[z(1328)](Y)},M[D(1166)][D(1487)]=function(Y,z,re){var se=D;R(se(2013)==typeof Y&&0<=Y);var de,de=z?(z-z%26)/26:0,me=Y%26,Ce=Math[se(1869)]((Y-me)/26,this[se(1383)]),Ie=67108863^67108863>>>me<<me,we=re;if(de-=Ce,de=Math.max(0,de),we){for(var Te=0;Te<Ce;Te++)we[se(660)][Te]=this[se(660)][Te];we[se(1383)]=Ce}if(Ce!==0)if(this[se(1383)]>Ce)for(this[se(1383)]-=Ce,Te=0;Te<this.length;Te++)this[se(660)][Te]=this[se(660)][Te+Ce];else this.words[0]=0,this[se(1383)]=1;for(var Ge=0,Te=this[se(1383)]-1;0<=Te&&(Ge!==0||de<=Te);Te--){var ke=0|this[se(660)][Te];this[se(660)][Te]=Ge<<26-me|ke>>>me,Ge=ke&Ie}return we&&Ge!==0&&(we[se(660)][we.length++]=Ge),this[se(1383)]===0&&(this.words[0]=0,this[se(1383)]=1),this[se(1076)]()},M.prototype[D(1376)]=function(Y,z,re){var se=D;return R(this[se(493)]===0),this[se(1487)](Y,z,re)},M[D(1166)].shln=function(Y){var z=D;return this[z(2164)]().ishln(Y)},M[D(1166)][D(1338)]=function(Y){var z=D;return this[z(2164)]().iushln(Y)},M.prototype[D(1527)]=function(Y){var z=D;return this[z(2164)]()[z(1376)](Y)},M.prototype.ushrn=function(Y){var z=D;return this[z(2164)]()[z(1487)](Y)},M[D(1166)][D(901)]=function(se){var z=D;R(z(2013)==typeof se&&0<=se);var re=se%26,se=(se-re)/26;return!(this.length<=se||!(this[z(660)][se]&1<<re))},M.prototype[D(1617)]=function(se){var z=D;R(z(2013)==typeof se&&0<=se);var re=se%26,se=(se-re)/26;return R(this[z(493)]===0,"imaskn works only with positive numbers"),this[z(1383)]<=se?this:(re!=0&&se++,this[z(1383)]=Math[z(1869)](se,this[z(1383)]),re!=0&&(this[z(660)][this[z(1383)]-1]&=67108863^67108863>>>re<<re),this[z(1076)]())},M[D(1166)].maskn=function(Y){var z=D;return this[z(2164)]()[z(1617)](Y)},M.prototype[D(2695)]=function(Y){var z=D;return R(typeof Y=="number"),R(Y<67108864),Y<0?this[z(590)](-Y):this.negative!==0?(this.length===1&&(0|this[z(660)][0])<=Y?(this.words[0]=Y-(0|this.words[0]),this.negative=0):(this[z(493)]=0,this[z(590)](Y),this.negative=1),this):this._iaddn(Y)},M[D(1166)][D(2079)]=function(Y){var z=D;this.words[0]+=Y;for(var re=0;re<this[z(1383)]&&67108864<=this.words[re];re++)this[z(660)][re]-=67108864,re===this[z(1383)]-1?this[z(660)][re+1]=1:this[z(660)][re+1]++;return this[z(1383)]=Math[z(323)](this[z(1383)],re+1),this},M.prototype[D(590)]=function(Y){var z=D;if(R(typeof Y=="number"),R(Y<67108864),Y<0)return this[z(2695)](-Y);if(this.negative!==0)return this[z(493)]=0,this.iaddn(Y),this[z(493)]=1,this;if(this[z(660)][0]-=Y,this[z(1383)]===1&&this[z(660)][0]<0)this[z(660)][0]=-this[z(660)][0],this.negative=1;else for(var re=0;re<this[z(1383)]&&this.words[re]<0;re++)this[z(660)][re]+=67108864,--this.words[re+1];return this._strip()},M[D(1166)][D(2454)]=function(Y){var z=D;return this[z(2164)]()[z(2695)](Y)},M.prototype[D(160)]=function(Y){var z=D;return this[z(2164)]()[z(590)](Y)},M[D(1166)][D(202)]=function(){return this.negative=0,this},M[D(1166)].abs=function(){var Y=D;return this.clone()[Y(202)]()},M[D(1166)][D(862)]=function(Y,z,re){for(var se=D,de=Y.length+re,me=(this[se(159)](de),0),Ce=0;Ce<Y[se(1383)];Ce++){var Ie=(0|this[se(660)][Ce+re])+me,we=(0|Y[se(660)][Ce])*z,me=((Ie-=67108863&we)>>26)-(we/67108864|0);this.words[Ce+re]=67108863&Ie}for(;Ce<this[se(1383)]-re;Ce++)me=(Ie=(0|this[se(660)][Ce+re])+me)>>26,this[se(660)][Ce+re]=67108863&Ie;if(me===0)return this[se(1076)]();for(R(me===-1),Ce=me=0;Ce<this[se(1383)];Ce++)me=(Ie=-(0|this[se(660)][Ce])+me)>>26,this[se(660)][Ce]=67108863&Ie;return this.negative=1,this._strip()},M[D(1166)][D(863)]=function(Y,z){var re=D;this.length,Y.length;var se,de=this[re(2164)](),me=Y,Ce=0|me[re(660)][me[re(1383)]-1],Ie=((Y=26-this[re(623)](Ce))!=0&&(me=me.ushln(Y),de[re(1328)](Y),Ce=0|me[re(660)][me[re(1383)]-1]),de[re(1383)]-me.length);if(re(1764)!==z){(se=new M(null)).length=1+Ie,se[re(660)]=new Array(se[re(1383)]);for(var we=0;we<se[re(1383)];we++)se[re(660)][we]=0}var Te=de[re(2164)]()[re(862)](me,1,Ie);Te[re(493)]===0&&(de=Te,se&&(se[re(660)][Ie]=1));for(var Ge=Ie-1;0<=Ge;Ge--){var ke=67108864*(0|de[re(660)][me[re(1383)]+Ge])+(0|de.words[me.length+Ge-1]),ke=Math[re(1869)](ke/Ce|0,67108863);for(de._ishlnsubmul(me,ke,Ge);de[re(493)]!==0;)ke--,de.negative=0,de[re(862)](me,1,Ge),de[re(2356)]()||(de[re(493)]^=1);se&&(se[re(660)][Ge]=ke)}return se&&se[re(1076)](),de._strip(),re(1801)!==z&&Y!=0&&de.iushrn(Y),{div:se||null,mod:de}},M[D(1166)][D(2550)]=function(Y,z,re){var se=D;return R(!Y.isZero()),this[se(2356)]()?{div:new M(0),mod:new M(0)}:this[se(493)]!==0&&Y.negative===0?(Ce=this[se(828)]()[se(2550)](Y,z),se(1764)!==z&&(de=Ce.div[se(828)]()),se(1801)!==z&&(me=Ce[se(1764)][se(828)](),re&&me[se(493)]!==0&&me.iadd(Y)),{div:de,mod:me}):this[se(493)]===0&&Y.negative!==0?(Ce=this.divmod(Y.neg(),z),{div:de=z!=="mod"?Ce[se(1801)][se(828)]():de,mod:Ce.mod}):(this[se(493)]&Y[se(493)])!=0?(Ce=this[se(828)]()[se(2550)](Y[se(828)](),z),se(1801)!==z&&(me=Ce[se(1764)][se(828)](),re&&me.negative!==0&&me[se(258)](Y)),{div:Ce[se(1801)],mod:me}):Y[se(1383)]>this.length||this[se(526)](Y)<0?{div:new M(0),mod:this}:Y[se(1383)]===1?se(1801)===z?{div:this.divn(Y[se(660)][0]),mod:null}:se(1764)===z?{div:null,mod:new M(this[se(1565)](Y[se(660)][0]))}:{div:this[se(545)](Y[se(660)][0]),mod:new M(this[se(1565)](Y[se(660)][0]))}:this[se(863)](Y,z);var de,me,Ce},M[D(1166)].div=function(Y){var z=D;return this[z(2550)](Y,z(1801),!1)[z(1801)]},M.prototype.mod=function(Y){var z=D;return this.divmod(Y,z(1764),!1)[z(1764)]},M[D(1166)][D(1372)]=function(Y){var z=D;return this[z(2550)](Y,z(1764),!0)[z(1764)]},M[D(1166)].divRound=function(de){var z=D,re=this.divmod(de);if(re[z(1764)][z(2356)]())return re[z(1801)];var me=re.div[z(493)]!==0?re[z(1764)][z(258)](de):re[z(1764)],se=de[z(2384)](1),de=de[z(329)](1),me=me[z(526)](se);return me<0||de===1&&me===0?re[z(1801)]:re[z(1801)].negative!==0?re[z(1801)][z(590)](1):re.div[z(2695)](1)},M[D(1166)][D(1565)]=function(Y){for(var z=D,re=Y<0,se=(R((Y=re?-Y:Y)<=67108863),(1<<26)%Y),de=0,me=this[z(1383)]-1;0<=me;me--)de=(se*de+(0|this[z(660)][me]))%Y;return re?-de:de},M[D(1166)][D(1825)]=function(Y){var z=D;return this[z(1565)](Y)},M[D(1166)][D(2593)]=function(Y){for(var z=D,re=Y<0,se=(R((Y=re?-Y:Y)<=67108863),0),de=this[z(1383)]-1;0<=de;de--){var me=(0|this[z(660)][de])+67108864*se;this[z(660)][de]=me/Y|0,se=me%Y}return this._strip(),re?this[z(919)]():this},M[D(1166)][D(545)]=function(Y){var z=D;return this[z(2164)]().idivn(Y)},M[D(1166)].egcd=function(Y){var z=D;R(Y[z(493)]===0),R(!Y[z(2356)]());for(var se=this,re=Y[z(2164)](),se=se[z(493)]!==0?se[z(1372)](Y):se[z(2164)](),de=new M(1),me=new M(0),Ce=new M(0),Ie=new M(1),we=0;se[z(631)]()&&re[z(631)]();)se.iushrn(1),re[z(1487)](1),++we;for(var Te=re[z(2164)](),Ge=se[z(2164)]();!se.isZero();){for(var ke=0,Oe=1;(se[z(660)][0]&Oe)==0&&ke<26;++ke,Oe<<=1);if(0<ke)for(se[z(1487)](ke);0<ke--;)(de[z(2108)]()||me[z(2108)]())&&(de[z(187)](Te),me[z(258)](Ge)),de[z(1487)](1),me[z(1487)](1);for(var Le=0,be=1;(re.words[0]&be)==0&&Le<26;++Le,be<<=1);if(0<Le)for(re.iushrn(Le);0<Le--;)(Ce[z(2108)]()||Ie[z(2108)]())&&(Ce.iadd(Te),Ie[z(258)](Ge)),Ce[z(1487)](1),Ie[z(1487)](1);0<=se[z(526)](re)?(se[z(258)](re),de[z(258)](Ce),me[z(258)](Ie)):(re[z(258)](se),Ce[z(258)](de),Ie.isub(me))}return{a:Ce,b:Ie,gcd:re[z(1328)](we)}},M.prototype[D(1243)]=function(Y){var z=D;R(Y[z(493)]===0),R(!Y[z(2356)]());for(var re,de=this,se=Y[z(2164)](),de=de.negative!==0?de[z(1372)](Y):de[z(2164)](),me=new M(1),Ce=new M(0),Ie=se[z(2164)]();0<de[z(1329)](1)&&0<se[z(1329)](1);){for(var we=0,Te=1;(de[z(660)][0]&Te)==0&&we<26;++we,Te<<=1);if(0<we)for(de[z(1487)](we);0<we--;)me.isOdd()&&me.iadd(Ie),me[z(1487)](1);for(var Ge=0,ke=1;(se.words[0]&ke)==0&&Ge<26;++Ge,ke<<=1);if(0<Ge)for(se[z(1487)](Ge);0<Ge--;)Ce[z(2108)]()&&Ce[z(187)](Ie),Ce[z(1487)](1);0<=de[z(526)](se)?(de[z(258)](se),me.isub(Ce)):(se[z(258)](de),Ce[z(258)](me))}return(re=de[z(1329)](1)===0?me:Ce).cmpn(0)<0&&re[z(187)](Y),re},M[D(1166)][D(2011)]=function(Y){var z=D;if(this[z(2356)]())return Y[z(1914)]();if(Y.isZero())return this.abs();var re=this[z(2164)](),se=Y[z(2164)]();re[z(493)]=0;for(var de=se[z(493)]=0;re.isEven()&&se.isEven();de++)re[z(1487)](1),se[z(1487)](1);for(;;){for(;re.isEven();)re[z(1487)](1);for(;se.isEven();)se[z(1487)](1);var me=re[z(526)](se);if(me<0)var Ce=re,re=se,se=Ce;else if(me===0||se.cmpn(1)===0)break;re.isub(se)}return se[z(1328)](de)},M[D(1166)][D(2728)]=function(Y){var z=D;return this[z(1156)](Y).a[z(1372)](Y)},M[D(1166)].isEven=function(){var Y=D;return(1&this[Y(660)][0])==0},M[D(1166)][D(2108)]=function(){var Y=D;return(1&this[Y(660)][0])==1},M[D(1166)][D(329)]=function(Y){return this.words[0]&Y},M[D(1166)][D(1468)]=function(re){var z=D;R(typeof re=="number");var se=re%26,re=(re-se)/26,se=1<<se;if(this[z(1383)]<=re)return this[z(159)](1+re),this.words[re]|=se,this;for(var de=se,me=re;de!==0&&me<this[z(1383)];me++){var Ce=0|this[z(660)][me],de=(Ce+=de)>>>26;Ce&=67108863,this[z(660)][me]=Ce}return de!==0&&(this.words[me]=de,this[z(1383)]++),this},M[D(1166)][D(2356)]=function(){var Y=D;return this.length===1&&this[Y(660)][0]===0},M[D(1166)].cmpn=function(Y){var z=D,re=Y<0;return this.negative===0||re?this[z(493)]===0&&re?1:(this._strip(),re=1<this[z(1383)]?1:(R((Y=re?-Y:Y)<=67108863,"Number is too big"),(re=0|this[z(660)][0])===Y?0:re<Y?-1:1),this[z(493)]!==0?0|-re:re):-1},M[D(1166)][D(526)]=function(Y){var z=D;return this[z(493)]!==0&&Y[z(493)]===0?-1:this[z(493)]===0&&Y[z(493)]!==0?1:(Y=this.ucmp(Y),this[z(493)]!==0?0|-Y:Y)},M[D(1166)][D(1627)]=function(Y){var z=D;if(this[z(1383)]>Y.length)return 1;if(this[z(1383)]<Y[z(1383)])return-1;for(var re=0,se=this[z(1383)]-1;0<=se;se--){var de=0|this[z(660)][se],me=0|Y[z(660)][se];if(de!=me){de<me?re=-1:me<de&&(re=1);break}}return re},M[D(1166)].gtn=function(Y){var z=D;return this[z(1329)](Y)===1},M[D(1166)].gt=function(Y){var z=D;return this[z(526)](Y)===1},M[D(1166)].gten=function(Y){var z=D;return 0<=this[z(1329)](Y)},M.prototype[D(638)]=function(Y){var z=D;return 0<=this[z(526)](Y)},M.prototype[D(416)]=function(Y){var z=D;return this[z(1329)](Y)===-1},M[D(1166)].lt=function(Y){var z=D;return this[z(526)](Y)===-1},M[D(1166)][D(2241)]=function(Y){return this.cmpn(Y)<=0},M.prototype[D(645)]=function(Y){var z=D;return this[z(526)](Y)<=0},M[D(1166)][D(1782)]=function(Y){return this.cmpn(Y)===0},M[D(1166)].eq=function(Y){return this.cmp(Y)===0},M[D(2178)]=function(Y){return new U(Y)},M.prototype[D(1190)]=function(Y){var z=D;return R(!this[z(2178)],z(304)),R(this[z(493)]===0,z(906)),Y[z(1476)](this)._forceRed(Y)},M[D(1166)].fromRed=function(){var Y=D;return R(this[Y(2178)],Y(2420)),this[Y(2178)][Y(624)](this)},M[D(1166)][D(1836)]=function(Y){var z=D;return this[z(2178)]=Y,this},M[D(1166)][D(1119)]=function(Y){var z=D;return R(!this[z(2178)],z(304)),this[z(1836)](Y)},M.prototype[D(1021)]=function(Y){var z=D;return R(this[z(2178)],"redAdd works only with red numbers"),this[z(2178)][z(2400)](this,Y)},M[D(1166)].redIAdd=function(Y){var z=D;return R(this[z(2178)],z(559)),this.red.iadd(this,Y)},M[D(1166)].redSub=function(Y){var z=D;return R(this[z(2178)],z(1575)),this[z(2178)][z(1550)](this,Y)},M.prototype.redISub=function(Y){var z=D;return R(this.red,z(1318)),this.red[z(258)](this,Y)},M[D(1166)][D(1142)]=function(Y){var z=D;return R(this[z(2178)],z(656)),this[z(2178)][z(346)](this,Y)},M[D(1166)][D(249)]=function(Y){var z=D;return R(this.red,z(301)),this[z(2178)][z(1769)](this,Y),this[z(2178)][z(2545)](this,Y)},M[D(1166)][D(1149)]=function(Y){var z=D;return R(this[z(2178)],z(301)),this[z(2178)]._verify2(this,Y),this[z(2178)].imul(this,Y)},M[D(1166)].redSqr=function(){var Y=D;return R(this.red,Y(2776)),this.red[Y(1819)](this),this[Y(2178)][Y(1219)](this)},M[D(1166)][D(2306)]=function(){var Y=D;return R(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this[Y(2178)].isqr(this)},M.prototype[D(1437)]=function(){var Y=D;return R(this[Y(2178)],Y(1545)),this.red[Y(1819)](this),this[Y(2178)][Y(820)](this)},M[D(1166)][D(2766)]=function(){var Y=D;return R(this[Y(2178)],"redInvm works only with red numbers"),this[Y(2178)][Y(1819)](this),this[Y(2178)].invm(this)},M[D(1166)][D(1364)]=function(){var Y=D;return R(this[Y(2178)],Y(1775)),this[Y(2178)]._verify1(this),this[Y(2178)][Y(828)](this)},M[D(1166)][D(1396)]=function(Y){var z=D;return R(this[z(2178)]&&!Y[z(2178)],z(285)),this[z(2178)][z(1819)](this),this[z(2178)][z(337)](this,Y)};var ue={k256:null,p224:null,p192:null,p25519:null};function Ae(Y,z){var re=D;this[re(878)]=Y,this.p=new M(z,16),this.n=this.p[re(485)](),this.k=new M(1).iushln(this.n).isub(this.p),this[re(1120)]=this[re(1920)]()}function he(){var Y=D;Ae.call(this,Y(238),Y(215))}function ge(){var Y=D;Ae[Y(2623)](this,Y(464),"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function fe(){var Y=D;Ae.call(this,Y(505),Y(1999))}function ae(){var Y=D;Ae.call(this,Y(665),Y(1684))}function U(Y){var z=D,re;z(1896)==typeof Y?(re=M[z(865)](Y),this.m=re.p,this[z(1390)]=re):(R(Y[z(1023)](1),"modulus must be greater than 1"),this.m=Y,this.prime=null)}function W(Y){var z=D;U[z(2623)](this,Y),this[z(537)]=this.m[z(485)](),this[z(537)]%26!=0&&(this[z(537)]+=26-this[z(537)]%26),this.r=new M(1)[z(1328)](this[z(537)]),this.r2=this[z(1028)](this.r.sqr()),this[z(467)]=this.r._invmp(this.m),this.minv=this.rinv[z(2545)](this.r).isubn(1).div(this.m),this[z(2487)]=this[z(2487)][z(1372)](this.r),this[z(2487)]=this.r[z(1550)](this[z(2487)])}Ae[D(1166)][D(1920)]=function(){var Y=D,z=new M(null);return z.words=new Array(Math[Y(1266)](this.n/13)),z},Ae[D(1166)].ireduce=function(Y){for(var z=D,re,se=Y;this[z(2259)](se,this.tmp),(re=(se=(se=this[z(1259)](se)).iadd(this.tmp)).bitLength())>this.n;);return Y=re<this.n?-1:se[z(1627)](this.p),Y===0?(se.words[0]=0,se.length=1):0<Y?se[z(258)](this.p):se.strip!==void 0?se[z(968)]():se[z(1076)](),se},Ae[D(1166)][D(2259)]=function(Y,z){var re=D;Y[re(1487)](this.n,0,z)},Ae[D(1166)][D(1259)]=function(Y){var z=D;return Y[z(1805)](this.k)},P(he,Ae),he[D(1166)][D(2259)]=function(Y,z){for(var re=D,se=Math.min(Y.length,9),de=0;de<se;de++)z[re(660)][de]=Y[re(660)][de];if(z[re(1383)]=se,Y[re(1383)]<=9)return Y[re(660)][0]=0,void(Y[re(1383)]=1);var me=Y[re(660)][9];for(z[re(660)][z[re(1383)]++]=4194303&me,de=10;de<Y[re(1383)];de++){var Ce=0|Y[re(660)][de];Y.words[de-10]=(4194303&Ce)<<4|me>>>22,me=Ce}(Y.words[de-10]=me>>>=22)==0&&10<Y[re(1383)]?Y[re(1383)]-=10:Y[re(1383)]-=9},he[D(1166)][D(1259)]=function(Y){var z=D;Y[z(660)][Y[z(1383)]]=0,Y.words[Y[z(1383)]+1]=0,Y[z(1383)]+=2;for(var re=0,se=0;se<Y[z(1383)];se++){var de=0|Y[z(660)][se];re+=977*de,Y.words[se]=67108863&re,re=64*de+(re/67108864|0)}return Y[z(660)][Y[z(1383)]-1]===0&&(Y[z(1383)]--,Y[z(660)][Y[z(1383)]-1]===0&&Y[z(1383)]--),Y},P(ge,Ae),P(fe,Ae),P(ae,Ae),ae[D(1166)][D(1259)]=function(Y){for(var z=D,re=0,se=0;se<Y[z(1383)];se++){var de=19*(0|Y[z(660)][se])+re,me=67108863&de;de>>>=26,Y[z(660)][se]=me,re=de}return re!==0&&(Y[z(660)][Y[z(1383)]++]=re),Y},M[D(865)]=function(Y){var z=D;if(ue[Y])return ue[Y];var re;if(Y==="k256")re=new he;else if(z(464)===Y)re=new ge;else if(z(505)===Y)re=new fe;else{if(z(2441)!==Y)throw new Error("Unknown prime "+Y);re=new ae}return ue[Y]=re},U[D(1166)][D(1819)]=function(Y){var z=D;R(Y[z(493)]===0,"red works only with positives"),R(Y.red,z(218))},U.prototype[D(1769)]=function(Y,z){var re=D;R((Y[re(493)]|z[re(493)])==0,re(906)),R(Y[re(2178)]&&Y.red===z[re(2178)],re(218))},U[D(1166)][D(1028)]=function(Y){var z=D;return this[z(1390)]?this[z(1390)][z(518)](Y)[z(1836)](this):(G(Y,Y[z(1372)](this.m)[z(1836)](this)),Y)},U[D(1166)].neg=function(Y){var z=D;return Y.isZero()?Y[z(2164)]():this.m[z(1550)](Y)[z(1836)](this)},U[D(1166)].add=function(Y,z){var re=D;return this[re(1769)](Y,z),Y=Y[re(2400)](z),0<=Y[re(526)](this.m)&&Y.isub(this.m),Y[re(1836)](this)},U[D(1166)][D(187)]=function(Y,z){var re=D;return this[re(1769)](Y,z),Y=Y[re(187)](z),0<=Y[re(526)](this.m)&&Y[re(258)](this.m),Y},U[D(1166)][D(1550)]=function(Y,z){var re=D;return this[re(1769)](Y,z),Y=Y[re(1550)](z),Y[re(1329)](0)<0&&Y[re(187)](this.m),Y._forceRed(this)},U[D(1166)].isub=function(Y,z){var re=D;return this[re(1769)](Y,z),Y=Y[re(258)](z),Y[re(1329)](0)<0&&Y[re(187)](this.m),Y},U[D(1166)][D(346)]=function(Y,z){var re=D;return this[re(1819)](Y),this[re(1028)](Y[re(1338)](z))},U[D(1166)][D(1805)]=function(Y,z){var re=D;return this[re(1769)](Y,z),this.imod(Y.imul(z))},U[D(1166)].mul=function(Y,z){var re=D;return this[re(1769)](Y,z),this[re(1028)](Y[re(2545)](z))},U[D(1166)][D(468)]=function(Y){var z=D;return this[z(1805)](Y,Y.clone())},U[D(1166)][D(1219)]=function(Y){var z=D;return this[z(2545)](Y,Y)},U[D(1166)].sqrt=function(Y){var z=D;if(Y[z(2356)]())return Y[z(2164)]();var re=this.m.andln(3);if(R(re%2==1),re===3)return re=this.m[z(2400)](new M(1))[z(1487)](2),this[z(337)](Y,re);for(var se=this.m[z(160)](1),de=0;!se[z(2356)]()&&se[z(329)](1)===0;)de++,se.iushrn(1);R(!se.isZero());for(var me=new M(1)[z(1190)](this),Ce=me.redNeg(),Ie=this.m[z(160)](1)[z(1487)](1),we=new M(2*(we=this.m[z(485)]())*we)[z(1190)](this);this.pow(we,Ie)[z(526)](Ce)!==0;)we[z(2597)](Ce);for(var Te=this.pow(we,se),Ge=this[z(337)](Y,se[z(2454)](1)[z(1487)](1)),ke=this[z(337)](Y,se),Oe=de;ke[z(526)](me)!==0;){for(var Le=ke,be=0;Le[z(526)](me)!==0;be++)Le=Le[z(1533)]();R(be<Oe);var Ne=this[z(337)](Te,new M(1)[z(1328)](Oe-be-1)),Ge=Ge.redMul(Ne),Te=Ne[z(1533)](),ke=ke.redMul(Te),Oe=be}return Ge},U[D(1166)][D(2728)]=function(Y){var z=D;return Y=Y[z(1243)](this.m),Y[z(493)]!==0?(Y[z(493)]=0,this.imod(Y)[z(1364)]()):this[z(1028)](Y)},U[D(1166)].pow=function(Y,z){var re=D;if(z.isZero())return new M(1)[re(1190)](this);if(z.cmpn(1)===0)return Y[re(2164)]();var se=new Array(16);se[0]=new M(1)[re(1190)](this),se[1]=Y;for(var de=2;de<se[re(1383)];de++)se[de]=this.mul(se[de-1],Y);var me=se[0],Ce=0,Ie=0,we=z[re(485)]()%26;for(we===0&&(we=26),de=z[re(1383)]-1;0<=de;de--){for(var Te=z[re(660)][de],Ge=we-1;0<=Ge;Ge--){var ke=Te>>Ge&1;me!==se[0]&&(me=this[re(1219)](me)),ke==0&&Ce===0?Ie=0:(Ce=Ce<<1|ke,(++Ie==4||de===0&&Ge===0)&&(me=this.mul(me,se[Ce]),Ce=Ie=0))}we=26}return me},U[D(1166)][D(1476)]=function(Y){var z=D,re=Y.umod(this.m);return re===Y?re[z(2164)]():re},U[D(1166)][D(624)]=function(Y){var z=D;return Y=Y[z(2164)](),Y.red=null,Y},M[D(2129)]=function(Y){return new W(Y)},P(W,U),W.prototype.convertTo=function(Y){var z=D;return this.imod(Y[z(1338)](this[z(537)]))},W[D(1166)][D(624)]=function(Y){var z=D;return Y=this[z(1028)](Y[z(2545)](this[z(467)])),Y.red=null,Y},W[D(1166)][D(1805)]=function(Y,z){var re=D;return Y[re(2356)]()||z[re(2356)]()?(Y[re(660)][0]=0,Y[re(1383)]=1,Y):(Y=Y[re(1805)](z),z=Y[re(316)](this.shift)[re(2545)](this[re(2487)])[re(1617)](this[re(537)]).mul(this.m),Y=Y[re(258)](z).iushrn(this[re(537)]),z=Y,0<=Y[re(526)](this.m)?z=Y.isub(this.m):Y[re(1329)](0)<0&&(z=Y[re(187)](this.m)),z._forceRed(this))},W[D(1166)].mul=function(Y,z){var re=D;return Y.isZero()||z[re(2356)]()?new M(0)[re(1836)](this):(Y=Y[re(2545)](z),z=Y.maskn(this.shift).mul(this[re(2487)])[re(1617)](this[re(537)]).mul(this.m),Y=Y[re(258)](z).iushrn(this[re(537)]),z=Y,0<=Y.cmp(this.m)?z=Y[re(258)](this.m):Y[re(1329)](0)<0&&(z=Y.iadd(this.m)),z[re(1836)](this))},W.prototype[D(2728)]=function(Y){var z=D;return this[z(1028)](Y[z(1243)](this.m)[z(2545)](this.r2))[z(1836)](this)}})((B=T[w(2362)](B),this))},29931:(B,Q,T)=>{var w=Ut,S;function D(P){var M=Ut;this[M(1227)]=P}if(B.exports=function(P){var M=Ut;return(S=S||new D(null))[M(2647)](P)},(B[w(1729)][w(549)]=D)[w(1166)][w(2647)]=function(P){var M=w;return this[M(1462)](P)},D[w(1166)][w(1462)]=function(P){var M=w;if(this[M(1227)][M(372)])return this.rand.getBytes(P);for(var L=new Uint8Array(P),F=0;F<L[M(1383)];F++)L[F]=this.rand.getByte();return L},w(1499)==typeof self)self[w(2278)]&&self[w(2278)][w(1887)]?D.prototype[w(1462)]=function(P){var M=w;return P=new Uint8Array(P),self[M(2278)][M(1887)](P),P}:self[w(257)]&&self[w(257)][w(1887)]?D[w(1166)]._rand=function(P){var M=w;return P=new Uint8Array(P),self[M(257)][M(1887)](P),P}:w(1499)==typeof window&&(D[w(1166)]._rand=function(){var P=w;throw new Error(P(2649))});else try{var R=T(89214);if(typeof R.randomBytes!="function")throw new Error(w(592));D[w(1166)][w(1462)]=function(P){var M=w;return R[M(1134)](P)}}catch{}},74497:(B,Q,T)=>{var w=Ut,S=T(89509)[w(1641)];function D(k){for(var N=w,G=(k=S.isBuffer(k)?k:S[N(2047)](k)).length/4|0,J=new Array(G),K=0;K<G;K++)J[K]=k[N(1576)](4*K);return J}function R(k){for(;0<k.length;k++)k[0]=0}function P(k,N,G,J,K){for(var X,q,ee,ie,H=G[0],le=G[1],ue=G[2],Ae=G[3],he=k[0]^N[0],ge=k[1]^N[1],fe=k[2]^N[2],ae=k[3]^N[3],U=4,W=1;W<K;W++)X=H[he>>>24]^le[ge>>>16&255]^ue[fe>>>8&255]^Ae[255&ae]^N[U++],q=H[ge>>>24]^le[fe>>>16&255]^ue[ae>>>8&255]^Ae[255&he]^N[U++],ee=H[fe>>>24]^le[ae>>>16&255]^ue[he>>>8&255]^Ae[255&ge]^N[U++],ie=H[ae>>>24]^le[he>>>16&255]^ue[ge>>>8&255]^Ae[255&fe]^N[U++],he=X,ge=q,fe=ee,ae=ie;return X=(J[he>>>24]<<24|J[ge>>>16&255]<<16|J[fe>>>8&255]<<8|J[255&ae])^N[U++],q=(J[ge>>>24]<<24|J[fe>>>16&255]<<16|J[ae>>>8&255]<<8|J[255&he])^N[U++],ee=(J[fe>>>24]<<24|J[ae>>>16&255]<<16|J[he>>>8&255]<<8|J[255&ge])^N[U++],ie=(J[ae>>>24]<<24|J[he>>>16&255]<<16|J[ge>>>8&255]<<8|J[255&fe])^N[U++],[X>>>=0,q>>>=0,ee>>>=0,ie>>>=0]}var M=[0,1,2,4,8,16,32,64,128,27,54],L=function(){for(var k=new Array(256),N=0;N<256;N++)k[N]=N<128?N<<1:N<<1^283;for(var G=[],J=[],K=[[],[],[],[]],X=[[],[],[],[]],q=0,ee=0,ie=0;ie<256;++ie){var H=ee^ee<<1^ee<<2^ee<<3^ee<<4,le=(G[q]=H=H>>>8^255&H^99,k[J[H]=q]),ue=k[le],Ae=k[ue],he=257*k[H]^16843008*H;K[0][q]=he<<24|he>>>8,K[1][q]=he<<16|he>>>16,K[2][q]=he<<8|he>>>24,K[3][q]=he,X[0][H]=(he=16843009*Ae^65537*ue^257*le^16843008*q)<<24|he>>>8,X[1][H]=he<<16|he>>>16,X[2][H]=he<<8|he>>>24,X[3][H]=he,q===0?q=ee=1:(q=le^k[k[k[Ae^le]]],ee^=k[k[ee]])}return{SBOX:G,INV_SBOX:J,SUB_MIX:K,INV_SUB_MIX:X}}();function F(k){var N=w;this[N(427)]=D(k),this._reset()}F[w(1992)]=16,F.keySize=32,F.prototype[w(1992)]=F[w(1992)],F[w(1166)][w(2080)]=F.keySize,F[w(1166)]._reset=function(){for(var k=w,N=this[k(427)],G=N[k(1383)],J=G+6,K=4*(J+1),X=[],q=0;q<G;q++)X[q]=N[q];for(q=G;q<K;q++){var ee=X[q-1];q%G==0?(ee=L[k(941)][(ee=ee<<8|ee>>>24)>>>24]<<24|L[k(941)][ee>>>16&255]<<16|L[k(941)][ee>>>8&255]<<8|L[k(941)][255&ee],ee^=M[q/G|0]<<24):6<G&&q%G==4&&(ee=L.SBOX[ee>>>24]<<24|L[k(941)][ee>>>16&255]<<16|L.SBOX[ee>>>8&255]<<8|L[k(941)][255&ee]),X[q]=X[q-G]^ee}for(var ie=[],H=0;H<K;H++){var le=K-H,ue=X[le-(H%4?0:4)];ie[H]=H<4||le<=4?ue:L.INV_SUB_MIX[0][L[k(941)][ue>>>24]]^L[k(381)][1][L[k(941)][ue>>>16&255]]^L[k(381)][2][L.SBOX[ue>>>8&255]]^L.INV_SUB_MIX[3][L[k(941)][255&ue]]}this[k(1465)]=J,this[k(1659)]=X,this[k(1432)]=ie},F[w(1166)][w(1530)]=function(k){var N=w;return P(k=D(k),this._keySchedule,L[N(2621)],L[N(941)],this._nRounds)},F[w(1166)][w(1718)]=function(G){var N=w,G=this[N(1530)](G),J=S[N(960)](16);return J.writeUInt32BE(G[0],0),J[N(1833)](G[1],4),J[N(1833)](G[2],8),J[N(1833)](G[3],12),J},F.prototype[w(626)]=function(J){var N=w,G=(J=D(J))[1],G=(J[1]=J[3],J[3]=G,P(J,this[N(1432)],L[N(381)],L[N(2402)],this[N(1465)])),J=S[N(960)](16);return J.writeUInt32BE(G[0],0),J[N(1833)](G[3],4),J.writeUInt32BE(G[2],8),J.writeUInt32BE(G[1],12),J},F[w(1166)].scrub=function(){var k=w;R(this[k(1659)]),R(this._invKeySchedule),R(this[k(427)])},B.exports[w(484)]=F},62422:(B,Q,T)=>{var w=Ut,S=T(74497),D=T(89509)[w(1641)],R=T(71027),P=T(35717),M=T(83288),L=T(67295),F=T(20685);function k(N,ee,J,K){var X=w;R[X(2623)](this);var q=D.alloc(4,0),ee=(this[X(907)]=new S.AES(ee),this[X(907)][X(1718)](q));this._ghash=new M(ee),J=function(ie,he,Ae){var ue=X;if(he.length===12)return ie[ue(2348)]=D[ue(1544)]([he,D[ue(2047)]([0,0,0,1])]),D.concat([he,D.from([0,0,0,2])]);var Ae=new M(Ae),fe=he[ue(1383)],ge=fe%16,he=(Ae[ue(1002)](he),ge&&Ae[ue(1002)](D[ue(1581)](16-ge,0)),Ae.update(D.alloc(8,0)),8*fe),ge=D[ue(1581)](8),fe=(ge[ue(298)](he,0,8),Ae.update(ge),ie._finID=Ae.state,D.from(ie[ue(2348)]));return F(fe),fe}(this,J,ee),this[X(2186)]=D[X(2047)](J),this._cache=D[X(960)](0),this[X(2432)]=D[X(960)](0),this._decrypt=K,this[X(1258)]=0,this[X(1174)]=0,this[X(1429)]=N,this._authTag=null,this[X(175)]=!1}P(k,R),k[w(1166)][w(994)]=function(N){var G=w;!this[G(175)]&&this[G(1258)]&&(J=16-this[G(1258)]%16)<16&&(J=D[G(1581)](J,0),this[G(2632)].update(J)),this[G(175)]=!0;var J=this[G(1429)][G(926)](this,N);return this[G(678)]?this[G(2632)].update(N):this[G(2632)].update(J),this._len+=N.length,J},k[w(1166)][w(2459)]=function(){var N=w;if(this[N(678)]&&!this[N(1109)])throw new Error(N(2426));var G=L(this._ghash[N(735)](8*this._alen,8*this._len),this[N(907)][N(1718)](this[N(2348)]));if(this._decrypt&&function(J,K){for(var X=N,q=0,ee=(J[X(1383)]!==K[X(1383)]&&q++,Math[X(1869)](J.length,K[X(1383)])),ie=0;ie<ee;++ie)q+=J[ie]^K[ie];return q}(G,this[N(1109)]))throw new Error(N(2426));this[N(1109)]=G,this[N(907)][N(1606)]()},k[w(1166)].getAuthTag=function(){var N=w;if(this[N(678)]||!D.isBuffer(this[N(1109)]))throw new Error(N(532));return this[N(1109)]},k[w(1166)].setAuthTag=function(N){var G=w;if(!this[G(678)])throw new Error(G(341));this[G(1109)]=N},k.prototype.setAAD=function(N){var G=w;if(this[G(175)])throw new Error(G(1013));this._ghash[G(1002)](N),this[G(1258)]+=N[G(1383)]},B.exports=k},44696:(B,Q,T)=>{var w=Ut,S=T(71494),D=T(66193),R=T(44946);Q[w(2201)]=Q[w(389)]=S[w(2201)],Q.createCipheriv=Q[w(1883)]=S[w(1891)],Q[w(836)]=Q.Decipher=D[w(836)],Q[w(1155)]=Q[w(1274)]=D[w(1155)],Q[w(2184)]=Q[w(1065)]=function(){var P=w;return Object[P(451)](R)}},66193:(B,Q,T)=>{var w=Ut,S=T(62422),D=T(89509)[w(1641)],R=T(45),P=T(25969),M=T(71027),L=T(74497),F=T(13048);function k(J,K,X){var q=w;M[q(2623)](this),this[q(284)]=new N,this._last=void 0,this._cipher=new L[q(484)](K),this[q(2186)]=D[q(2047)](X),this._mode=J,this[q(2262)]=!0}function N(){var J=w;this[J(784)]=D[J(960)](0)}function G(J,K,X){var q=w;if(J=R[J[q(1096)]()],!J)throw new TypeError(q(2144));if(q(1896)==typeof X&&(X=D[q(2047)](X)),q(2652)!==J[q(704)]&&X.length!==J.iv)throw new TypeError(q(1739)+X[q(1383)]);if((K=q(1896)==typeof K?D.from(K):K)[q(1383)]!==J[q(513)]/8)throw new TypeError(q(2123)+K.length);return q(1945)===J.type?new P(J[q(2133)],K,X,!0):J[q(277)]==="auth"?new S(J[q(2133)],K,X,!0):new k(J[q(2133)],K,X)}T(35717)(k,M),k[w(1166)][w(994)]=function(J){var K=w;this._cache.add(J);for(var X,q=[];X=this[K(284)].get(this[K(2262)]);)X=this._mode[K(1619)](this,X),q.push(X);return D[K(1544)](q)},k[w(1166)]._final=function(){var J=w,K=this._cache[J(1872)]();if(this[J(2262)]){var X=this[J(1429)].decrypt(this,K),q=X[15];if(q<1||16<q)throw new Error(J(2323));for(var ee=-1;++ee<q;)if(X[ee+(16-q)]!==q)throw new Error(J(2323));if(q!==16)return X.slice(0,16-q)}else if(K)throw new Error(J(2039))},k.prototype[w(2300)]=function(J){var K=w;return this[K(2262)]=!!J,this},N[w(1166)][w(2400)]=function(J){var K=w;this[K(784)]=D[K(1544)]([this.cache,J])},N[w(1166)][w(1935)]=function(J){var K=w,X;if(J){if(16<this[K(784)][K(1383)])return X=this[K(784)][K(2679)](0,16),this.cache=this.cache[K(2679)](16),X}else if(16<=this.cache[K(1383)])return X=this[K(784)][K(2679)](0,16),this[K(784)]=this[K(784)].slice(16),X;return null},N[w(1166)][w(1872)]=function(){var J=w;if(this.cache[J(1383)])return this[J(784)]},Q[w(836)]=function(J,K){var X=w,q=R[J[X(1096)]()];if(!q)throw new TypeError(X(2144));return K=F(K,!1,q[X(513)],q.iv),G(J,K[X(513)],K.iv)},Q[w(1155)]=G},71494:(B,Q,T)=>{var w=Ut,S=T(45),D=T(62422),R=T(89509)[w(1641)],P=T(25969),M=T(71027),L=T(74497),F=T(13048);function k(K,X,q){var ee=w;M.call(this),this[ee(284)]=new G,this[ee(907)]=new L[ee(484)](X),this[ee(2186)]=R[ee(2047)](q),this[ee(1429)]=K,this._autopadding=!0}T(35717)(k,M),k[w(1166)]._update=function(K){var X=w;this[X(284)][X(2400)](K);for(var q,ee=[];q=this._cache.get();)q=this._mode[X(926)](this,q),ee[X(182)](q);return R[X(1544)](ee)};var N=R[w(1581)](16,16);function G(){this.cache=R.allocUnsafe(0)}function J(K,X,q){var ee=w;if(K=S[K[ee(1096)]()],!K)throw new TypeError(ee(2144));if((X=typeof X=="string"?R[ee(2047)](X):X)[ee(1383)]!==K.key/8)throw new TypeError(ee(2123)+X.length);if(ee(1896)==typeof q&&(q=R[ee(2047)](q)),K[ee(704)]!=="GCM"&&q[ee(1383)]!==K.iv)throw new TypeError(ee(1739)+q[ee(1383)]);return new(ee(1945)===K[ee(277)]?P:ee(1588)===K[ee(277)]?D:k)(K[ee(2133)],X,q)}k[w(1166)][w(2459)]=function(){var K=w,X=this[K(284)].flush();if(this[K(2262)])return X=this[K(1429)].encrypt(this,X),this[K(907)][K(1606)](),X;if(!X[K(2114)](N))throw this[K(907)][K(1606)](),new Error("data not multiple of block length")},k[w(1166)][w(2300)]=function(K){return this._autopadding=!!K,this},G.prototype.add=function(K){var X=w;this[X(784)]=R[X(1544)]([this.cache,K])},G[w(1166)].get=function(){var K=w,X;return 15<this[K(784)].length?(X=this[K(784)][K(2679)](0,16),this[K(784)]=this[K(784)].slice(16),X):null},G[w(1166)][w(1872)]=function(){for(var K=w,X=16-this[K(784)][K(1383)],q=R[K(960)](X),ee=-1;++ee<X;)q.writeUInt8(X,ee);return R[K(1544)]([this.cache,q])},Q.createCipheriv=J,Q.createCipher=function(K,X){var q=w,ee=S[K.toLowerCase()];if(!ee)throw new TypeError(q(2144));return X=F(X,!1,ee.key,ee.iv),J(K,X.key,X.iv)}},83288:(B,Q,T)=>{var w=Ut,S=T(89509)[w(1641)],D=S[w(1581)](16,0);function R(M){var L=w,F=S.allocUnsafe(16);return F[L(1833)](M[0]>>>0,0),F[L(1833)](M[1]>>>0,4),F[L(1833)](M[2]>>>0,8),F[L(1833)](M[3]>>>0,12),F}function P(M){var L=w;this.h=M,this[L(700)]=S[L(1581)](16,0),this[L(784)]=S[L(960)](0)}P[w(1166)][w(974)]=function(M){for(var L=w,F=-1;++F<M[L(1383)];)this.state[F]^=M[F];this[L(544)]()},P[w(1166)]._multiply=function(){for(var M=w,L,F,k,N=[(L=this.h)[M(1576)](0),L[M(1576)](4),L[M(1576)](8),L[M(1576)](12)],G=[0,0,0,0],J=-1;++J<128;){for((this[M(700)][~~(J/8)]&1<<7-J%8)!=0&&(G[0]^=N[0],G[1]^=N[1],G[2]^=N[2],G[3]^=N[3]),k=(1&N[3])!=0,F=3;0<F;F--)N[F]=N[F]>>>1|(1&N[F-1])<<31;N[0]=N[0]>>>1,k&&(N[0]=N[0]^225<<24)}this[M(700)]=R(G)},P.prototype[w(1002)]=function(M){var L=w,F;for(this[L(784)]=S[L(1544)]([this[L(784)],M]);16<=this.cache[L(1383)];)F=this.cache[L(2679)](0,16),this[L(784)]=this[L(784)][L(2679)](16),this.ghash(F)},P[w(1166)][w(735)]=function(M,L){var F=w;return this.cache[F(1383)]&&this[F(974)](S[F(1544)]([this.cache,D],16)),this[F(974)](R([0,M,0,L])),this[F(700)]},B[w(1729)]=P},20685:B=>{var Q=Ut;B[Q(1729)]=function(T){for(var w=Q,S,D=T[w(1383)];D--;){if((S=T[w(1045)](D))!==255){S++,T.writeUInt8(S,D);break}T[w(2167)](0,D)}}},25292:(B,Q,T)=>{var w=Ut,S=T(67295);Q[w(926)]=function(D,R){var P=w;return R=S(R,D._prev),D[P(2186)]=D[P(907)][P(1718)](R),D[P(2186)]},Q[w(1619)]=function(L,R){var P=w,M=L._prev,L=(L[P(2186)]=R,L[P(907)][P(626)](R));return S(L,M)}},86311:(B,Q,T)=>{var w=Ut,S=T(89509)[w(1641)],D=T(67295);function R(P,M,L){var F=w,k=M.length,N=D(M,P[F(284)]);return P[F(284)]=P[F(284)][F(2679)](k),P[F(2186)]=S[F(1544)]([P[F(2186)],L?M:N]),N}Q.encrypt=function(P,M,L){for(var F=w,k,N=S[F(960)](0);M[F(1383)];){if(P[F(284)][F(1383)]===0&&(P._cache=P._cipher.encryptBlock(P[F(2186)]),P[F(2186)]=S.allocUnsafe(0)),!(P._cache[F(1383)]<=M[F(1383)])){N=S[F(1544)]([N,R(P,M,L)]);break}k=P[F(284)][F(1383)],N=S.concat([N,R(P,M.slice(0,k),L)]),M=M[F(2679)](k)}return N}},21510:(B,Q,T)=>{var w=Ut,S=T(89509)[w(1641)];Q[w(926)]=function(D,R,P){for(var M=w,L=R[M(1383)],F=S[M(960)](L),k=-1;++k<L;)F[k]=function(N,G,J){for(var K=M,X,q,ee=-1,ie=0;++ee<8;)ie+=(128&(q=N[K(907)][K(1718)](N[K(2186)])[0]^(X=G&1<<7-ee?128:0)))>>ee%8,N[K(2186)]=function(H,le){var ue=K,Ae=H[ue(1383)],he=-1,ge=S[ue(960)](H[ue(1383)]);for(H=S[ue(1544)]([H,S[ue(2047)]([le])]);++he<Ae;)ge[he]=H[he]<<1|H[he+1]>>7;return ge}(N._prev,J?X:q);return ie}(D,R[k],P);return F}},71964:(B,Q,T)=>{var w=Ut,S=T(89509)[w(1641)];Q[w(926)]=function(D,R,P){for(var M=w,L,F,k,N,G=R[M(1383)],J=S[M(960)](G),K=-1;++K<G;)J[K]=(F=R[K],k=P,N=(L=D)[M(907)][M(1718)](L[M(2186)])[0]^F,L[M(2186)]=S.concat([L[M(2186)][M(2679)](1),S[M(2047)]([k?F:N])]),N);return J}},96009:(B,Q,T)=>{var w=T(67295),S=T(89509).Buffer,D=T(20685);Q.encrypt=function(R,P){var M=Ut,L=Math[M(1266)](P[M(1383)]/16),F=R[M(284)][M(1383)];R[M(284)]=S.concat([R[M(284)],S[M(960)](16*L)]);for(var k=0;k<L;k++){G=(N=R)[M(907)].encryptBlockRaw(N[M(2186)]),D(N[M(2186)]);var N=G,G=F+16*k;R[M(284)][M(1833)](N[0],G+0),R[M(284)].writeUInt32BE(N[1],G+4),R[M(284)][M(1833)](N[2],G+8),R[M(284)].writeUInt32BE(N[3],G+12)}var J=R._cache[M(2679)](0,P.length);return R[M(284)]=R[M(284)][M(2679)](P[M(1383)]),w(P,J)}},11084:(B,Q)=>{var T=Ut;Q.encrypt=function(w,S){var D=Ut;return w[D(907)].encryptBlock(S)},Q[T(1619)]=function(w,S){var D=T;return w[D(907)].decryptBlock(S)}},45:(B,Q,T)=>{var w=Ut,S,D={ECB:T(11084),CBC:T(25292),CFB:T(86311),CFB8:T(71964),CFB1:T(21510),OFB:T(18861),CTR:T(96009),GCM:T(96009)},R=T(44946);for(S in R)R[S][w(2133)]=D[R[S][w(704)]];B.exports=R},18861:(B,Q,T)=>{var w=Ut,S=T(48764)[w(1641)],D=T(67295);Q[w(926)]=function(R,P){for(var M=w;R._cache[M(1383)]<P[M(1383)];)R._cache=S[M(1544)]([R._cache,((L=R)._prev=L[M(907)][M(1718)](L._prev),L[M(2186)])]);var L,F=R[M(284)].slice(0,P[M(1383)]);return R[M(284)]=R[M(284)].slice(P[M(1383)]),D(P,F)}},25969:(B,Q,T)=>{var w=Ut,S=T(74497),D=T(89509)[w(1641)],R=T(71027);function P(M,L,F,k){var N=w;R.call(this),this[N(907)]=new S.AES(L),this[N(2186)]=D[N(2047)](F),this[N(284)]=D[N(960)](0),this[N(2432)]=D[N(960)](0),this[N(678)]=k,this[N(1429)]=M}T(35717)(P,R),P[w(1166)][w(994)]=function(M){var L=w;return this[L(1429)][L(926)](this,M,this[L(678)])},P[w(1166)][w(2459)]=function(){var M=w;this._cipher[M(1606)]()},B[w(1729)]=P},53614:(B,Q,T)=>{var w=Ut,S=T(47667),D=T(44696),R=T(45),P=T(99715),M=T(13048);function L(k,N,G){var J=Ut;if(k=k[J(1096)](),R[k])return D.createCipheriv(k,N,G);if(P[k])return new S({key:N,iv:G,mode:k});throw new TypeError(J(2144))}function F(k,N,G){var J=Ut;if(k=k.toLowerCase(),R[k])return D.createDecipheriv(k,N,G);if(P[k])return new S({key:N,iv:G,mode:k,decrypt:!0});throw new TypeError(J(2144))}Q[w(2201)]=Q[w(389)]=function(k,N){var G=w,J,K;if(k=k[G(1096)](),R[k])J=R[k][G(513)],K=R[k].iv;else{if(!P[k])throw new TypeError(G(2144));J=8*P[k][G(513)],K=P[k].iv}return N=M(N,!1,J,K),L(k,N.key,N.iv)},Q[w(1891)]=Q[w(1883)]=L,Q.createDecipher=Q[w(2523)]=function(k,N){var G=w,J,K;if(k=k.toLowerCase(),R[k])J=R[k].key,K=R[k].iv;else{if(!P[k])throw new TypeError(G(2144));J=8*P[k][G(513)],K=P[k].iv}return N=M(N,!1,J,K),F(k,N[G(513)],N.iv)},Q[w(1155)]=Q.Decipheriv=F,Q.listCiphers=Q.getCiphers=function(){var k=w;return Object[k(451)](P)[k(1544)](D[k(1065)]())}},47667:(B,Q,T)=>{var w=Ut,S=T(71027),D=T(15251),R=T(35717),P=T(89509)[w(1641)],M={"des-ede3-cbc":D[w(367)][w(2653)](D.EDE),"des-ede3":D.EDE,"des-ede-cbc":D.CBC[w(2653)](D[w(998)]),"des-ede":D[w(998)],"des-cbc":D[w(367)][w(2653)](D[w(390)]),"des-ecb":D[w(390)]};function L(F){var k=w;S[k(2623)](this);var K=F.mode[k(1096)](),N=M[K],G=F[k(1619)]?k(1619):"encrypt",J=F.key,K=(P[k(1302)](J)||(J=P[k(2047)](J)),k(1832)!==K&&K!=="des-ede-cbc"||(J=P.concat([J,J.slice(0,8)])),F.iv);P[k(1302)](K)||(K=P[k(2047)](K)),this[k(2749)]=N.create({key:J,iv:K,type:G})}M[w(1697)]=M[w(934)],M.des3=M[w(424)],R(B[w(1729)]=L,S),L[w(1166)][w(994)]=function(F){var k=w;return P.from(this[k(2749)].update(F))},L[w(1166)][w(2459)]=function(){var F=w;return P[F(2047)](this._des[F(735)]())}},99715:(B,Q)=>{var T=Ut;Q[T(2081)]={key:8,iv:0},Q["des-cbc"]=Q[T(1697)]={key:8,iv:8},Q[T(424)]=Q[T(2687)]={key:24,iv:8},Q[T(340)]={key:24,iv:0},Q[T(475)]={key:16,iv:8},Q["des-ede"]={key:16,iv:0}},23663:(B,Q,T)=>{var w=Ut,S=T(48764)[w(1641)],D=T(13550),R=T(61798);function P(L){for(var F=w,k,N=L[F(184)][F(250)]();0<=(k=new D(R(N)))[F(526)](L[F(184)])||!k.umod(L[F(2594)])||!k[F(1372)](L[F(2723)]););return k}function M(q,F){var k=w,N={blinder:(N=P(G=F))[k(1190)](D[k(2129)](G[k(184)]))[k(1396)](new D(G[k(2158)]))[k(1642)](),unblinder:N.invm(G[k(184)])},G=F[k(184)].byteLength(),q=new D(q)[k(2545)](N[k(1547)])[k(1372)](F[k(184)]),ee=q.toRed(D.mont(F.prime1)),q=q.toRed(D.mont(F[k(2723)])),J=F.coefficient,K=F.prime1,X=F[k(2723)],ee=ee[k(1396)](F[k(2303)])[k(1642)](),q=q[k(1396)](F[k(2598)]).fromRed(),ee=ee[k(258)](q).imul(J)[k(1372)](K)[k(1805)](X);return q[k(187)](ee)[k(1805)](N[k(1502)])[k(1372)](F[k(184)])[k(1299)](S,"be",G)}M[w(1673)]=P,B[w(1729)]=M},56042:(B,Q,T)=>{var w=Ut;B[w(1729)]=T(75207)},64743:(B,Q,T)=>{var w=Ut,S=T(25679)[w(1641)],D=T(23482),R=T(88473),P=T(35717),M=T(82957),L=T(47753),F=T(75207);function k(K){var X=w;if(R[X(2393)].call(this),K=F[K],!K)throw new Error(X(1167));this[X(2391)]=K[X(658)],this[X(2100)]=D(K[X(658)]),this._tag=K.id,this[X(2744)]=K[X(227)]}function N(K){var X=w;if(R[X(2393)][X(2623)](this),K=F[K],!K)throw new Error(X(1167));this[X(2100)]=D(K[X(658)]),this[X(2471)]=K.id,this[X(2744)]=K[X(227)]}function G(K){return new k(K)}function J(K){return new N(K)}Object.keys(F).forEach(function(K){var X=w;F[K].id=S[X(2047)](F[K].id,X(495)),F[K[X(1096)]()]=F[K]}),P(k,R[w(2393)]),k[w(1166)][w(1509)]=function(K,X,q){var ee=w;this[ee(2100)][ee(1002)](K),q()},k[w(1166)][w(1002)]=function(K,X){var q=w;return q(1896)==typeof K&&(K=S[q(2047)](K,X)),this._hash[q(1002)](K),this},k[w(1166)][w(227)]=function(K,X){var q=w;this[q(1960)]();var ee=this[q(2100)][q(593)](),ee=M(ee,K,this[q(2391)],this[q(2744)],this[q(2471)]);return X?ee.toString(X):ee},P(N,R[w(2393)]),N[w(1166)][w(1509)]=function(K,X,q){var ee=w;this[ee(2100)].update(K),q()},N[w(1166)][w(1002)]=function(K,X){var q=w;return typeof K=="string"&&(K=S[q(2047)](K,X)),this[q(2100)][q(1002)](K),this},N[w(1166)].verify=function(K,X,q){var ee=w;return typeof X=="string"&&(X=S[ee(2047)](X,q)),this[ee(1960)](),q=this[ee(2100)][ee(593)](),L(X,q,K,this[ee(2744)],this[ee(2471)])},B[w(1729)]={Sign:G,Verify:J,createSign:G,createVerify:J}},82957:(B,Q,T)=>{var w=Ut,S=T(25679)[w(1641)],D=T(58355),R=T(23663),P=T(86266).ec,M=T(13550),L=T(70980),F=T(1308);function k(J,ie,X,q){var ee=w;(J=S[ee(2047)](J[ee(884)]()))[ee(1383)]<ie[ee(250)]()&&(H=S[ee(1581)](ie[ee(250)]()-J[ee(1383)]),J=S[ee(1544)]([H,J]));var H=X[ee(1383)],ie=function(ue,Ae){var he=ee;return ue=(ue=N(X,Ae))[he(1764)](Ae),ue=S[he(2047)](ue[he(884)]()),ue.length<Ae.byteLength()&&(Ae=S[he(1581)](Ae.byteLength()-ue[he(1383)]),ue=S.concat([Ae,ue])),ue}(X,ie),H=((le=S[ee(1581)](H))[ee(1371)](1),S[ee(1581)](H)),H=D(q,H)[ee(1002)](le)[ee(1002)](S[ee(2047)]([0]))[ee(1002)](J)[ee(1002)](ie)[ee(593)](),le=D(q,H).update(le)[ee(593)]();return{k:H=D(q,H).update(le)[ee(1002)](S[ee(2047)]([1])).update(J)[ee(1002)](ie)[ee(593)](),v:le=D(q,H).update(le)[ee(593)]()}}function N(ee,K){var X=w,q=new M(ee),ee=(ee[X(1383)]<<3)-K[X(485)]();return 0<ee&&q[X(1376)](ee),q}function G(J,K,X){var q=w,ee,ie;do for(ee=S[q(1581)](0);8*ee.length<J[q(485)]();)K.v=D(X,K.k)[q(1002)](K.v).digest(),ee=S[q(1544)]([ee,K.v]);while(ie=N(ee,J),K.k=D(X,K.k)[q(1002)](K.v)[q(1002)](S[q(2047)]([0]))[q(593)](),K.v=D(X,K.k)[q(1002)](K.v)[q(593)](),ie[q(526)](J)!==-1);return ie}B[w(1729)]=function(J,ue,X,q,ee){var ie=w,H,le,ue=L(ue);if(ue[ie(1354)]){if(q!=="ecdsa"&&ie(265)!==q)throw new Error(ie(2224));var Ae=J,he=ue,ge=F[he[ie(1354)][ie(951)](".")];if(!ge)throw new Error(ie(1231)+he.curve[ie(951)]("."));return ge=new P(ge).keyFromPrivate(he[ie(2173)])[ie(227)](Ae),S[ie(2047)](ge[ie(2334)]())}if(ue[ie(277)]==="dsa"){if(q!=="dsa")throw new Error(ie(2224));for(var fe,he=J,ae=X,U=ue[ie(1238)][ie(1979)],W=ue[ie(1238)].p,Y=ue[ie(1238)].q,z=ue.params.g,re=new M(0),se=N(he,Y)[ie(1764)](Y),de=!1,me=k(U,Y,he,ae);de===!1;)fe=G(Y,me,ae),H=fe,le=Y,re=z[ie(1190)](M[ie(2129)](W))[ie(1396)](H).fromRed()[ie(1764)](le),(de=fe[ie(2728)](Y)[ie(1805)](se[ie(2400)](U[ie(2545)](re)))[ie(1764)](Y))[ie(1329)](0)===0&&(de=!1,re=new M(0));return Ae=de,ge=(ge=re)[ie(884)](),Ae=Ae[ie(884)](),128&ge[0]&&(ge=[0].concat(ge)),128&Ae[0]&&(Ae=[0][ie(1544)](Ae)),X=(X=[48,ge.length+Ae.length+4,2,ge[ie(1383)]])[ie(1544)](ge,[2,Ae.length],Ae),S[ie(2047)](X)}if(ie(837)!==q&&q!=="ecdsa/rsa")throw new Error(ie(2224));J=S[ie(1544)]([ee,J]);for(var Ce=ue[ie(184)].byteLength(),Ie=[0,1];J[ie(1383)]+Ie[ie(1383)]+1<Ce;)Ie[ie(182)](255);Ie[ie(182)](0);for(var we=-1;++we<J[ie(1383)];)Ie[ie(182)](J[we]);return R(Ie,ue)},B[w(1729)][w(1656)]=k,B[w(1729)][w(1700)]=G},47753:(B,Q,T)=>{var w=T(25679).Buffer,S=T(13550),D=T(86266).ec,R=T(70980),P=T(1308);function M(L,F){var k=Ut;if(L[k(1329)](0)<=0)throw new Error(k(2611));if(L.cmp(F)>=F)throw new Error(k(2611))}B.exports=function(L,F,ee,N,G){var J=Ut,K,X,q,ee=R(ee);if(ee[J(277)]==="ec"){if(J(1343)!==N&&J(265)!==N)throw new Error(J(1862));var ie=L,H=F,ue=ee,le=P[ue[J(1613)][J(1808)][J(1354)][J(951)](".")];if(!le)throw new Error("unknown curve "+ue.data[J(1808)].curve.join("."));var le=new D(le),ue=ue.data.subjectPrivateKey.data;return le[J(1413)](H,ie,ue)}if(J(1597)===ee[J(277)]){if(N!=="dsa")throw new Error("wrong public key type");return le=L,H=F,ie=ee[J(1613)].p,ue=ee.data.q,fe=ee[J(1613)].g,K=ee.data[J(2386)],q=(le=R.signature[J(2758)](le,J(1488))).s,le=le.r,M(q,ue),M(le,ue),X=S[J(2129)](ie),q=q[J(2728)](ue),fe[J(1190)](X).redPow(new S(H)[J(2545)](q)[J(1764)](ue))[J(1642)]()[J(2545)](K[J(1190)](X)[J(1396)](le.mul(q)[J(1764)](ue)).fromRed())[J(1764)](ie)[J(1764)](ue)[J(526)](le)===0}if(N!=="rsa"&&J(265)!==N)throw new Error(J(1862));F=w.concat([G,F]);for(var U=ee[J(184)][J(250)](),ge=[1],Ae=0;F[J(1383)]+ge[J(1383)]+2<U;)ge.push(255),Ae++;ge.push(0);for(var he=-1;++he<F.length;)ge[J(182)](F[he]);var ge=w[J(2047)](ge),fe=S[J(2129)](ee[J(184)]),ae=(L=(L=new S(L).toRed(fe))[J(1396)](new S(ee[J(2158)])),L=w[J(2047)](L.fromRed()[J(884)]()),Ae<8?1:0),U=Math[J(1869)](L[J(1383)],ge.length);for(L[J(1383)]!==ge[J(1383)]&&(ae=1),he=-1;++he<U;)ae|=L[he]^ge[he];return ae===0}},25679:(B,Q,T)=>{var w=Ut,S=T(48764),D=S.Buffer;function R(M,L){for(var F in M)L[F]=M[F]}function P(M,L,F){return D(M,L,F)}D[w(2047)]&&D[w(1581)]&&D[w(960)]&&D.allocUnsafeSlow?B[w(1729)]=S:(R(S,Q),Q.Buffer=P),P.prototype=Object[w(917)](D[w(1166)]),R(D,P),P.from=function(M,L,F){var k=w;if(k(2013)==typeof M)throw new TypeError(k(2462));return D(M,L,F)},P[w(1581)]=function(M,L,F){var k=w;if(typeof M!="number")throw new TypeError("Argument must be a number");return M=D(M),L!==void 0?k(1896)==typeof F?M[k(1371)](L,F):M[k(1371)](L):M[k(1371)](0),M},P.allocUnsafe=function(M){var L=w;if(L(2013)!=typeof M)throw new TypeError(L(1220));return D(M)},P[w(1821)]=function(M){var L=w;if(typeof M!="number")throw new TypeError(L(1220));return S[L(556)](M)}},67295:(B,Q,T)=>{var w=Ut,S=T(48764)[w(1641)];B[w(1729)]=function(D,R){for(var P=w,M=Math[P(1869)](D[P(1383)],R[P(1383)]),L=new S(M),F=0;F<M;++F)L[F]=D[F]^R[F];return L}},48764:(B,Q,T)=>{var w=Ut,S=T(25108);let D=T(79742),R=T(80645);T=w(1451)==typeof Symbol&&w(1451)==typeof Symbol[w(1732)]?Symbol.for(w(2464)):null,Q[w(1641)]=L,Q.SlowBuffer=function(be){var Ne=w;return L[Ne(1581)](+(be=+be!=be?0:be))},Q[w(2609)]=50;let P=2147483647;function M(be){var Ne=w;if(be>P)throw new RangeError('The value "'+be+'" is invalid for option "size"');return be=new Uint8Array(be),Object[Ne(1020)](be,L[Ne(1166)]),be}function L(be,Ne,Ue){var ze=w;if(typeof be!="number")return F(be,Ne,Ue);if(ze(1896)==typeof Ne)throw new TypeError(ze(351));return N(be)}function F(be,Ne,Ue){var ze=w;if(ze(1896)==typeof be){var Je=be,Xe=Ne;if(!L[ze(2624)](Xe=ze(1896)==typeof Xe&&Xe!==""?Xe:ze(1757)))throw new TypeError(ze(616)+Xe);var et=0|X(Je,Xe);let Et=M(et);return Je=Et[ze(2430)](Je,Xe),Et=Je!==et?Et[ze(2679)](0,Je):Et}if(ArrayBuffer.isView(be))return Te(Xe=be,Uint8Array)?J((et=new Uint8Array(Xe))[ze(2026)],et.byteOffset,et[ze(250)]):G(Xe);if(be==null)throw new TypeError(ze(1970)+typeof be);if(Te(be,ArrayBuffer)||be&&Te(be[ze(2026)],ArrayBuffer)||ze(1506)!=typeof SharedArrayBuffer&&(Te(be,SharedArrayBuffer)||be&&Te(be[ze(2026)],SharedArrayBuffer)))return J(be,Ne,Ue);if(ze(2013)==typeof be)throw new TypeError(ze(2463));if(Je=be[ze(171)]&&be[ze(171)](),Je!=null&&Je!==be)return L[ze(2047)](Je,Ne,Ue);var ot=L.isBuffer(et=be)?((Je=M(Xe=0|K(et[ze(1383)]))).length!==0&&et[ze(1830)](Je,0,0,Xe),Je):et.length!==void 0?ze(2013)!=typeof et[ze(1383)]||Ge(et[ze(1383)])?M(0):G(et):ze(1641)===et[ze(277)]&&Array[ze(2507)](et[ze(1613)])?G(et[ze(1613)]):void 0;if(ot)return ot;if(typeof Symbol<"u"&&Symbol[ze(2422)]!=null&&ze(1451)==typeof be[Symbol[ze(2422)]])return L.from(be[Symbol[ze(2422)]](ze(1896)),Ne,Ue);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof be)}function k(be){var Ne=w;if(Ne(2013)!=typeof be)throw new TypeError('"size" argument must be of type number');if(be<0)throw new RangeError(Ne(1568)+be+Ne(2614))}function N(be){return k(be),M(be<0?0:0|K(be))}function G(be){var Ne=w,Ue=be.length<0?0:0|K(be[Ne(1383)]);let ze=M(Ue);for(let Je=0;Je<Ue;Je+=1)ze[Je]=255&be[Je];return ze}function J(be,Ne,Ue){var ze=w;if(Ne<0||be[ze(250)]<Ne)throw new RangeError(ze(1082));if(be[ze(250)]<Ne+(Ue||0))throw new RangeError('"length" is outside of buffer bounds');return be=Ne===void 0&&Ue===void 0?new Uint8Array(be):Ue===void 0?new Uint8Array(be,Ne):new Uint8Array(be,Ne,Ue),Object[ze(1020)](be,L[ze(1166)]),be}function K(be){var Ne=w;if(be>=P)throw new RangeError(Ne(555)+P[Ne(1888)](16)+Ne(1186));return 0|be}function X(be,Ne){var Ue=w;if(L[Ue(1302)](be))return be.length;if(ArrayBuffer[Ue(2276)](be)||Te(be,ArrayBuffer))return be[Ue(250)];if(Ue(1896)!=typeof be)throw new TypeError(Ue(2232)+typeof be);var ze=be[Ue(1383)],Je=2<arguments[Ue(1383)]&&arguments[2]===!0;if(!Je&&ze===0)return 0;let Xe=!1;for(;;)switch(Ne){case Ue(641):case Ue(818):case"binary":return ze;case Ue(1757):case Ue(1187):return Ce(be)[Ue(1383)];case Ue(2120):case Ue(305):case Ue(528):case Ue(1386):return 2*ze;case"hex":return ze>>>1;case Ue(663):return Ie(be)[Ue(1383)];default:if(Xe)return Je?-1:Ce(be).length;Ne=(""+Ne)[Ue(1096)](),Xe=!0}}function q(be,Ne,Ue){var ze=be[Ne];be[Ne]=be[Ue],be[Ue]=ze}function ee(be,Ne,Ue,ze,Je){var Xe=w;if(be[Xe(1383)]===0)return-1;if(Xe(1896)==typeof Ue?(ze=Ue,Ue=0):2147483647<Ue?Ue=2147483647:Ue<-2147483648&&(Ue=-2147483648),(Ue=(Ue=Ge(Ue=+Ue)?Je?0:be[Xe(1383)]-1:Ue)<0?be.length+Ue:Ue)>=be[Xe(1383)]){if(Je)return-1;Ue=be[Xe(1383)]-1}else if(Ue<0){if(!Je)return-1;Ue=0}if(Xe(1896)==typeof Ne&&(Ne=L.from(Ne,ze)),L[Xe(1302)](Ne))return Ne.length===0?-1:ie(be,Ne,Ue,ze,Je);if(Xe(2013)==typeof Ne)return Ne&=255,Xe(1451)==typeof Uint8Array[Xe(1166)][Xe(2035)]?(Je?Uint8Array[Xe(1166)][Xe(2035)]:Uint8Array[Xe(1166)][Xe(2298)]).call(be,Ne,Ue):ie(be,[Ne],Ue,ze,Je);throw new TypeError(Xe(2641))}function ie(be,Ne,Ue,ze,Je){var Xe=w;let et=1,ot=be.length,Et=Ne[Xe(1383)];if(ze!==void 0&&((ze=String(ze)[Xe(1096)]())==="ucs2"||Xe(305)===ze||Xe(528)===ze||Xe(1386)===ze)){if(be[Xe(1383)]<2||Ne[Xe(1383)]<2)return-1;et=2,ot/=2,Et/=2,Ue/=2}function Ct(yt,Qt){var Ze=Xe;return et===1?yt[Qt]:yt[Ze(657)](Qt*et)}let ct;if(Je){let yt=-1;for(ct=Ue;ct<ot;ct++)if(Ct(be,ct)===Ct(Ne,yt===-1?0:ct-yt)){if(yt===-1&&(yt=ct),ct-yt+1===Et)return yt*et}else yt!==-1&&(ct-=ct-yt),yt=-1}else for(Ue+Et>ot&&(Ue=ot-Et),ct=Ue;0<=ct;ct--){let yt=!0;for(let Qt=0;Qt<Et;Qt++)if(Ct(be,ct+Qt)!==Ct(Ne,Qt)){yt=!1;break}if(yt)return ct}return-1}function H(be,Ne,Ue){var ze=w;Ue=Math[ze(1869)](be[ze(1383)],Ue);let Je=[],Xe=Ne;for(;Xe<Ue;){var et=be[Xe];let Ct=null,ct=239<et?4:223<et?3:191<et?2:1;if(Xe+ct<=Ue){let yt,Qt,Ze,ut;switch(ct){case 1:et<128&&(Ct=et);break;case 2:(192&(yt=be[Xe+1]))==128&&127<(ut=(31&et)<<6|63&yt)&&(Ct=ut);break;case 3:yt=be[Xe+1],Qt=be[Xe+2],(192&yt)==128&&(192&Qt)==128&&2047<(ut=(15&et)<<12|(63&yt)<<6|63&Qt)&&(ut<55296||57343<ut)&&(Ct=ut);break;case 4:yt=be[Xe+1],Qt=be[Xe+2],Ze=be[Xe+3],(192&yt)==128&&(192&Qt)==128&&(192&Ze)==128&&65535<(ut=(15&et)<<18|(63&yt)<<12|(63&Qt)<<6|63&Ze)&&ut<1114112&&(Ct=ut)}}Ct===null?(Ct=65533,ct=1):65535<Ct&&(Ct-=65536,Je[ze(182)](Ct>>>10&1023|55296),Ct=56320|1023&Ct),Je.push(Ct),Xe+=ct}{var ot=Je,Et=ot[ze(1383)];if(Et<=le)return String[ze(1093)][ze(2559)](String,ot);let Ct="",ct=0;for(;ct<Et;)Ct+=String.fromCharCode[ze(2559)](String,ot[ze(2679)](ct,ct+=le));return Ct}}Q[w(2253)]=P,(L[w(708)]=function(){var be=w;try{let Ue=new Uint8Array(1);var Ne={foo:function(){return 42}};return Object.setPrototypeOf(Ne,Uint8Array[be(1166)]),Object[be(1020)](Ue,Ne),Ue[be(1749)]()===42}catch{return!1}}())||S===void 0||typeof S[w(899)]!="function"||S[w(899)](w(2576)),Object[w(1844)](L[w(1166)],"parent",{enumerable:!0,get:function(){var be=w;if(L[be(1302)](this))return this.buffer}}),Object.defineProperty(L[w(1166)],w(2084),{enumerable:!0,get:function(){if(L.isBuffer(this))return this.byteOffset}}),L[w(2228)]=8192,L.from=F,Object[w(1020)](L[w(1166)],Uint8Array[w(1166)]),Object[w(1020)](L,Uint8Array),L[w(1581)]=function(be,Ne,Ue){var ze=w;return Ne=Ne,Ue=Ue,k(be=be),be<=0||Ne===void 0?M(be):ze(1896)==typeof Ue?M(be).fill(Ne,Ue):M(be)[ze(1371)](Ne)},L.allocUnsafe=N,L.allocUnsafeSlow=N,L[w(1302)]=function(be){var Ne=w;return be!=null&&be[Ne(2625)]===!0&&be!==L[Ne(1166)]},L[w(511)]=function(be,Ne){var Ue=w;if(Te(be,Uint8Array)&&(be=L.from(be,be.offset,be[Ue(250)])),Te(Ne,Uint8Array)&&(Ne=L[Ue(2047)](Ne,Ne[Ue(2084)],Ne[Ue(250)])),!L[Ue(1302)](be)||!L[Ue(1302)](Ne))throw new TypeError(Ue(2370));if(be===Ne)return 0;let ze=be[Ue(1383)],Je=Ne[Ue(1383)];for(let Xe=0,et=Math[Ue(1869)](ze,Je);Xe<et;++Xe)if(be[Xe]!==Ne[Xe]){ze=be[Xe],Je=Ne[Xe];break}return ze<Je?-1:Je<ze?1:0},L[w(2624)]=function(be){var Ne=w;switch(String(be).toLowerCase()){case Ne(495):case Ne(1757):case Ne(1187):case"ascii":case"latin1":case"binary":case"base64":case Ne(2120):case Ne(305):case Ne(528):case Ne(1386):return!0;default:return!1}},L[w(1544)]=function(be,Ne){var Ue=w;if(!Array.isArray(be))throw new TypeError(Ue(1347));if(be.length===0)return L[Ue(1581)](0);let ze;if(Ne===void 0)for(Ne=0,ze=0;ze<be[Ue(1383)];++ze)Ne+=be[ze][Ue(1383)];var Je=L[Ue(960)](Ne);let Xe=0;for(ze=0;ze<be[Ue(1383)];++ze){let et=be[ze];if(Te(et,Uint8Array))Xe+et[Ue(1383)]>Je[Ue(1383)]?(et=L.isBuffer(et)?et:L[Ue(2047)](et))[Ue(1830)](Je,Xe):Uint8Array[Ue(1166)].set[Ue(2623)](Je,et,Xe);else{if(!L.isBuffer(et))throw new TypeError('"list" argument must be an Array of Buffers');et[Ue(1830)](Je,Xe)}Xe+=et[Ue(1383)]}return Je},L.byteLength=X,L[w(1166)][w(2625)]=!0,L[w(1166)][w(1130)]=function(){var be=w,Ne=this[be(1383)];if(Ne%2!=0)throw new RangeError(be(1008));for(let Ue=0;Ue<Ne;Ue+=2)q(this,Ue,Ue+1);return this},L[w(1166)][w(1695)]=function(){var be=w,Ne=this.length;if(Ne%4!=0)throw new RangeError(be(825));for(let Ue=0;Ue<Ne;Ue+=4)q(this,Ue,Ue+3),q(this,Ue+1,Ue+2);return this},L.prototype[w(937)]=function(){var be=this.length;if(be%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let Ne=0;Ne<be;Ne+=8)q(this,Ne,Ne+7),q(this,Ne+1,Ne+6),q(this,Ne+2,Ne+5),q(this,Ne+3,Ne+4);return this},L.prototype[w(654)]=L[w(1166)][w(1888)]=function(){var be=w,Ne=this[be(1383)];return Ne===0?"":arguments[be(1383)]===0?H(this,0,Ne):function(Ue,ze,Je){var Xe=be;let et=!1;if((ze=ze===void 0||ze<0?0:ze)>this[Xe(1383)]||(Je=Je===void 0||Je>this[Xe(1383)]?this[Xe(1383)]:Je)<=0||(Je>>>=0)<=(ze>>>=0))return"";for(Ue=Ue||Xe(1757);;)switch(Ue){case Xe(495):{var ot=ze,Et=Je,Ct=this[Xe(1383)];(!Et||Et<0||Ct<Et)&&(Et=Ct);let St="";for(let gt=ot=!ot||ot<0?0:ot;gt<Et;++gt)St+=ke[this[gt]];return St}case"utf8":case Xe(1187):return H(this,ze,Je);case"ascii":{var Ct=ze,ct=Je;let gt="";ct=Math.min(this[Xe(1383)],ct);for(let xt=Ct;xt<ct;++xt)gt+=String[Xe(1093)](127&this[xt]);return gt}case Xe(818):case Xe(2113):{var ot=ze,yt=Je;let gt="";yt=Math[Xe(1869)](this[Xe(1383)],yt);for(let xt=ot;xt<yt;++xt)gt+=String[Xe(1093)](this[xt]);return gt}case"base64":return ut=Je,(Ze=ze)===0&&ut===this[Xe(1383)]?D.fromByteArray(this):D[Xe(1422)](this[Xe(2679)](Ze,ut));case Xe(2120):case Xe(305):case Xe(528):case"utf-16le":{var Ze=ze,ut=Je,Qt=this.slice(Ze,ut);let xt="";for(let Lt=0;Lt<Qt[Xe(1383)]-1;Lt+=2)xt+=String.fromCharCode(Qt[Lt]+256*Qt[Lt+1]);return xt}default:if(et)throw new TypeError(Xe(616)+Ue);Ue=(Ue+"").toLowerCase(),et=!0}var Ze,ut}.apply(this,arguments)},L[w(1166)].equals=function(be){var Ne=w;if(L.isBuffer(be))return this===be||L[Ne(511)](this,be)===0;throw new TypeError(Ne(2124))},L[w(1166)][w(1035)]=function(){var be=w;let Ne="";var Ue=Q[be(2609)];return Ne=this.toString("hex",0,Ue).replace(/(.{2})/g,be(765))[be(2301)](),this[be(1383)]>Ue&&(Ne+=be(861)),be(2604)+Ne+">"},T&&(L.prototype[T]=L.prototype.inspect),L[w(1166)][w(511)]=function(be,Ne,Ue,ze,Je){var Xe=w;if(Te(be,Uint8Array)&&(be=L[Xe(2047)](be,be[Xe(2084)],be[Xe(250)])),!L[Xe(1302)](be))throw new TypeError(Xe(1110)+typeof be);if(Ue===void 0&&(Ue=be?be.length:0),ze===void 0&&(ze=0),Je===void 0&&(Je=this[Xe(1383)]),(Ne=Ne===void 0?0:Ne)<0||Ue>be[Xe(1383)]||ze<0||Je>this[Xe(1383)])throw new RangeError(Xe(2456));if(Je<=ze&&Ue<=Ne)return 0;if(Je<=ze)return-1;if(Ue<=Ne)return 1;if(this===be)return 0;let et=(Je>>>=0)-(ze>>>=0),ot=(Ue>>>=0)-(Ne>>>=0);var Et=Math.min(et,ot),Ct=this[Xe(2679)](ze,Je),ct=be[Xe(2679)](Ne,Ue);for(let yt=0;yt<Et;++yt)if(Ct[yt]!==ct[yt]){et=Ct[yt],ot=ct[yt];break}return et<ot?-1:ot<et?1:0},L[w(1166)].includes=function(be,Ne,Ue){var ze=w;return this[ze(2035)](be,Ne,Ue)!==-1},L[w(1166)][w(2035)]=function(be,Ne,Ue){return ee(this,be,Ne,Ue,!0)},L[w(1166)][w(2298)]=function(be,Ne,Ue){return ee(this,be,Ne,Ue,!1)},L[w(1166)][w(2430)]=function(be,Ne,Ue,ze){var Je=w;if(Ne===void 0)ze=Je(1757),Ue=this[Je(1383)],Ne=0;else if(Ue===void 0&&Je(1896)==typeof Ne)ze=Ne,Ue=this[Je(1383)],Ne=0;else{if(!isFinite(Ne))throw new Error(Je(1754));Ne>>>=0,isFinite(Ue)?(Ue>>>=0,ze===void 0&&(ze=Je(1757))):(ze=Ue,Ue=void 0)}var Xe,et,ot,Et,Ct,ct,yt=this[Je(1383)]-Ne;if((Ue===void 0||yt<Ue)&&(Ue=yt),0<be.length&&(Ue<0||Ne<0)||Ne>this.length)throw new RangeError(Je(929));ze=ze||Je(1757);let Qt=!1;for(;;)switch(ze){case Je(495):{var Ze=be,ut=Ue,St=Number(Ne)||0,gt=this[Je(1383)]-St,gt=((!ut||gt<(ut=Number(ut)))&&(ut=gt),Ze[Je(1383)]);gt/2<ut&&(ut=gt/2);let Lt;for(Lt=0;Lt<ut;++Lt){var xt=parseInt(Ze[Je(2539)](2*Lt,2),16);if(Ge(xt))return Lt;this[St+Lt]=xt}return Lt}case Je(1757):case Je(1187):return gt=Ne,Et=Ue,we(Ce(be,this[Je(1383)]-gt),this,gt,Et);case"ascii":case Je(818):case Je(2113):return Et=this,Ct=Ne,ct=Ue,we(function(Lt){var nt=Je;let Pe=[];for(let ve=0;ve<Lt[nt(1383)];++ve)Pe[nt(182)](255&Lt.charCodeAt(ve));return Pe}(be),Et,Ct,ct);case"base64":return Ct=Ne,ct=Ue,we(Ie(be),this,Ct,ct);case"ucs2":case Je(305):case Je(528):case"utf-16le":return et=Ne,ot=Ue,we(function(Lt,nt){var Pe=Je,ve,We;let bt=[];for(let Pt=0;Pt<Lt.length&&!((nt-=2)<0);++Pt)We=(ve=Lt[Pe(2010)](Pt))>>8,bt[Pe(182)](ve%256),bt.push(We);return bt}(be,(Xe=this)[Je(1383)]-et),Xe,et,ot);default:if(Qt)throw new TypeError(Je(616)+ze);ze=(""+ze)[Je(1096)](),Qt=!0}},L[w(1166)][w(2639)]=function(){var be=w;return{type:be(1641),data:Array[be(1166)].slice.call(this._arr||this,0)}};let le=4096;function ue(be,Ne,Ue){var ze=w;if(be%1!=0||be<0)throw new RangeError("offset is not uint");if(Ue<be+Ne)throw new RangeError(ze(802))}function Ae(be,Ne,Ue,ze,Je,Xe){var et=w;if(!L[et(1302)](be))throw new TypeError(et(769));if(Je<Ne||Ne<Xe)throw new RangeError('"value" argument is out of bounds');if(Ue+ze>be[et(1383)])throw new RangeError("Index out of range")}function he(be,Ne,Ue,ze,Je){return re(Ne,ze,Je,be,Ue,7),ze=Number(Ne&BigInt(4294967295)),be[Ue++]=ze,be[Ue++]=ze>>=8,be[Ue++]=ze>>=8,be[Ue++]=ze>>=8,Je=Number(Ne>>BigInt(32)&BigInt(4294967295)),be[Ue++]=Je,be[Ue++]=Je>>=8,be[Ue++]=Je>>=8,be[Ue++]=Je>>=8,Ue}function ge(be,Ne,Ue,ze,Je){return re(Ne,ze,Je,be,Ue,7),ze=Number(Ne&BigInt(4294967295)),be[Ue+7]=ze,be[Ue+6]=ze>>=8,be[Ue+5]=ze>>=8,be[Ue+4]=ze>>=8,Je=Number(Ne>>BigInt(32)&BigInt(4294967295)),be[Ue+3]=Je,be[Ue+2]=Je>>=8,be[Ue+1]=Je>>=8,be[Ue]=Je>>=8,Ue+8}function fe(be,Ne,Ue,ze){var Je=w;if(Ue+ze>be.length)throw new RangeError(Je(1521));if(Ue<0)throw new RangeError("Index out of range")}function ae(be,Ne,Ue,ze,Je){return Ne=+Ne,Ue>>>=0,Je||fe(be,0,Ue,4),R.write(be,Ne,Ue,ze,23,4),Ue+4}function U(be,Ne,Ue,ze,Je){return Ne=+Ne,Ue>>>=0,Je||fe(be,0,Ue,8),R.write(be,Ne,Ue,ze,52,8),Ue+8}L[w(1166)][w(2679)]=function(be,Ne){var Ue=w,ze=this[Ue(1383)],ze=((be=~~be)<0?(be+=ze)<0&&(be=0):ze<be&&(be=ze),(Ne=Ne===void 0?ze:~~Ne)<0?(Ne+=ze)<0&&(Ne=0):ze<Ne&&(Ne=ze),Ne<be&&(Ne=be),this[Ue(986)](be,Ne));return Object.setPrototypeOf(ze,L[Ue(1166)]),ze},L.prototype.readUintLE=L[w(1166)][w(2094)]=function(be,Ne,Ue){var ze=w;be>>>=0,Ne>>>=0,Ue||ue(be,Ne,this[ze(1383)]);let Je=this[be],Xe=1,et=0;for(;++et<Ne&&(Xe*=256);)Je+=this[be+et]*Xe;return Je},L[w(1166)].readUintBE=L[w(1166)][w(1411)]=function(be,Ne,Ue){var ze=w;be>>>=0,Ne>>>=0,Ue||ue(be,Ne,this[ze(1383)]);let Je=this[be+--Ne],Xe=1;for(;0<Ne&&(Xe*=256);)Je+=this[be+--Ne]*Xe;return Je},L[w(1166)][w(2e3)]=L[w(1166)].readUInt8=function(be,Ne){var Ue=w;return be>>>=0,Ne||ue(be,1,this[Ue(1383)]),this[be]},L[w(1166)][w(349)]=L[w(1166)][w(426)]=function(be,Ne){return be>>>=0,Ne||ue(be,2,this.length),this[be]|this[be+1]<<8},L[w(1166)][w(2353)]=L[w(1166)][w(657)]=function(be,Ne){return be>>>=0,Ne||ue(be,2,this.length),this[be]<<8|this[be+1]},L[w(1166)].readUint32LE=L[w(1166)].readUInt32LE=function(be,Ne){var Ue=w;return be>>>=0,Ne||ue(be,4,this[Ue(1383)]),(this[be]|this[be+1]<<8|this[be+2]<<16)+16777216*this[be+3]},L[w(1166)].readUint32BE=L[w(1166)].readUInt32BE=function(be,Ne){var Ue=w;return be>>>=0,Ne||ue(be,4,this[Ue(1383)]),16777216*this[be]+(this[be+1]<<16|this[be+2]<<8|this[be+3])},L.prototype[w(2382)]=Oe(function(Je){var Ne=w;se(Je>>>=0,Ne(2084));var ze=this[Je],Ue=this[Je+7],ze=(ze!==void 0&&Ue!==void 0||de(Je,this[Ne(1383)]-8),ze+256*this[++Je]+65536*this[++Je]+this[++Je]*2**24),Je=this[++Je]+256*this[++Je]+65536*this[++Je]+Ue*2**24;return BigInt(ze)+(BigInt(Je)<<BigInt(32))}),L[w(1166)][w(1086)]=Oe(function(Je){var Ne=w;se(Je>>>=0,"offset");var ze=this[Je],Ue=this[Je+7],ze=(ze!==void 0&&Ue!==void 0||de(Je,this[Ne(1383)]-8),ze*2**24+65536*this[++Je]+256*this[++Je]+this[++Je]),Je=this[++Je]*2**24+65536*this[++Je]+256*this[++Je]+Ue;return(BigInt(ze)<<BigInt(32))+BigInt(Je)}),L[w(1166)][w(2444)]=function(be,Ne,Ue){be>>>=0,Ne>>>=0,Ue||ue(be,Ne,this.length);let ze=this[be],Je=1,Xe=0;for(;++Xe<Ne&&(Je*=256);)ze+=this[be+Xe]*Je;return Je*=128,ze>=Je&&(ze-=Math.pow(2,8*Ne)),ze},L.prototype.readIntBE=function(be,Ne,Ue){var ze=w;be>>>=0,Ne>>>=0,Ue||ue(be,Ne,this[ze(1383)]);let Je=Ne,Xe=1,et=this[be+--Je];for(;0<Je&&(Xe*=256);)et+=this[be+--Je]*Xe;return Xe*=128,et>=Xe&&(et-=Math[ze(337)](2,8*Ne)),et},L.prototype.readInt8=function(be,Ne){var Ue=w;return be>>>=0,Ne||ue(be,1,this[Ue(1383)]),128&this[be]?-1*(255-this[be]+1):this[be]},L[w(1166)].readInt16LE=function(be,Ne){var Ue=w;return be>>>=0,Ne||ue(be,2,this[Ue(1383)]),Ne=this[be]|this[be+1]<<8,32768&Ne?4294901760|Ne:Ne},L[w(1166)].readInt16BE=function(be,Ne){var Ue=w;return be>>>=0,Ne||ue(be,2,this[Ue(1383)]),Ne=this[be+1]|this[be]<<8,32768&Ne?4294901760|Ne:Ne},L[w(1166)][w(1117)]=function(be,Ne){var Ue=w;return be>>>=0,Ne||ue(be,4,this[Ue(1383)]),this[be]|this[be+1]<<8|this[be+2]<<16|this[be+3]<<24},L[w(1166)][w(944)]=function(be,Ne){return be>>>=0,Ne||ue(be,4,this.length),this[be]<<24|this[be+1]<<16|this[be+2]<<8|this[be+3]},L[w(1166)][w(1770)]=Oe(function(be){var Ne=w;se(be>>>=0,Ne(2084));var Ue=this[be],ze=this[be+7],ze=(Ue!==void 0&&ze!==void 0||de(be,this[Ne(1383)]-8),this[be+4]+256*this[be+5]+65536*this[be+6]+(ze<<24));return(BigInt(ze)<<BigInt(32))+BigInt(Ue+256*this[++be]+65536*this[++be]+this[++be]*2**24)}),L[w(1166)][w(1123)]=Oe(function(be){var Ne=w;se(be>>>=0,"offset");var ze=this[be],Ue=this[be+7],ze=(ze!==void 0&&Ue!==void 0||de(be,this[Ne(1383)]-8),(ze<<24)+65536*this[++be]+256*this[++be]+this[++be]);return(BigInt(ze)<<BigInt(32))+BigInt(this[++be]*2**24+65536*this[++be]+256*this[++be]+Ue)}),L.prototype[w(2221)]=function(be,Ne){var Ue=w;return be>>>=0,Ne||ue(be,4,this[Ue(1383)]),R[Ue(969)](this,be,!0,23,4)},L[w(1166)].readFloatBE=function(be,Ne){var Ue=w;return be>>>=0,Ne||ue(be,4,this[Ue(1383)]),R[Ue(969)](this,be,!1,23,4)},L[w(1166)][w(1713)]=function(be,Ne){var Ue=w;return be>>>=0,Ne||ue(be,8,this[Ue(1383)]),R[Ue(969)](this,be,!0,52,8)},L[w(1166)][w(816)]=function(be,Ne){var Ue=w;return be>>>=0,Ne||ue(be,8,this.length),R[Ue(969)](this,be,!1,52,8)},L[w(1166)].writeUintLE=L[w(1166)].writeUIntLE=function(be,Ne,Ue,ze){var Je=w;be=+be,Ne>>>=0,Ue>>>=0,ze||Ae(this,be,Ne,Ue,Math[Je(337)](2,8*Ue)-1,0);let Xe=1,et=0;for(this[Ne]=255&be;++et<Ue&&(Xe*=256);)this[Ne+et]=be/Xe&255;return Ne+Ue},L[w(1166)].writeUintBE=L[w(1166)].writeUIntBE=function(be,Ne,Ue,ze){be=+be,Ne>>>=0,Ue>>>=0,ze||Ae(this,be,Ne,Ue,Math.pow(2,8*Ue)-1,0);let Je=Ue-1,Xe=1;for(this[Ne+Je]=255&be;0<=--Je&&(Xe*=256);)this[Ne+Je]=be/Xe&255;return Ne+Ue},L[w(1166)].writeUint8=L[w(1166)][w(2167)]=function(be,Ne,Ue){return be=+be,Ne>>>=0,Ue||Ae(this,be,Ne,1,255,0),this[Ne]=255&be,Ne+1},L[w(1166)][w(2190)]=L[w(1166)][w(246)]=function(be,Ne,Ue){return be=+be,Ne>>>=0,Ue||Ae(this,be,Ne,2,65535,0),this[Ne]=255&be,this[Ne+1]=be>>>8,Ne+2},L[w(1166)][w(1073)]=L[w(1166)].writeUInt16BE=function(be,Ne,Ue){return be=+be,Ne>>>=0,Ue||Ae(this,be,Ne,2,65535,0),this[Ne]=be>>>8,this[Ne+1]=255&be,Ne+2},L[w(1166)][w(1645)]=L[w(1166)][w(1501)]=function(be,Ne,Ue){return be=+be,Ne>>>=0,Ue||Ae(this,be,Ne,4,4294967295,0),this[Ne+3]=be>>>24,this[Ne+2]=be>>>16,this[Ne+1]=be>>>8,this[Ne]=255&be,Ne+4},L[w(1166)].writeUint32BE=L[w(1166)][w(1833)]=function(be,Ne,Ue){return be=+be,Ne>>>=0,Ue||Ae(this,be,Ne,4,4294967295,0),this[Ne]=be>>>24,this[Ne+1]=be>>>16,this[Ne+2]=be>>>8,this[Ne+3]=255&be,Ne+4},L[w(1166)][w(2566)]=Oe(function(be,Ne=0){var Ue=w;return he(this,be,Ne,BigInt(0),BigInt(Ue(933)))}),L.prototype[w(486)]=Oe(function(be,Ne=0){var Ue=w;return ge(this,be,Ne,BigInt(0),BigInt(Ue(933)))}),L.prototype[w(2195)]=function(be,Ne,Ue,ze){var Je=w;be=+be,Ne>>>=0,ze||Ae(this,be,Ne,Ue,(ze=Math[Je(337)](2,8*Ue-1))-1,-ze);let Xe=0,et=1,ot=0;for(this[Ne]=255&be;++Xe<Ue&&(et*=256);)be<0&&ot===0&&this[Ne+Xe-1]!==0&&(ot=1),this[Ne+Xe]=(be/et>>0)-ot&255;return Ne+Ue},L.prototype.writeIntBE=function(be,Ne,Ue,ze){be=+be,Ne>>>=0,ze||Ae(this,be,Ne,Ue,(ze=Math.pow(2,8*Ue-1))-1,-ze);let Je=Ue-1,Xe=1,et=0;for(this[Ne+Je]=255&be;0<=--Je&&(Xe*=256);)be<0&&et===0&&this[Ne+Je+1]!==0&&(et=1),this[Ne+Je]=(be/Xe>>0)-et&255;return Ne+Ue},L[w(1166)][w(2396)]=function(be,Ne,Ue){return be=+be,Ne>>>=0,Ue||Ae(this,be,Ne,1,127,-128),this[Ne]=255&(be=be<0?255+be+1:be),Ne+1},L.prototype[w(1124)]=function(be,Ne,Ue){return be=+be,Ne>>>=0,Ue||Ae(this,be,Ne,2,32767,-32768),this[Ne]=255&be,this[Ne+1]=be>>>8,Ne+2},L.prototype.writeInt16BE=function(be,Ne,Ue){return be=+be,Ne>>>=0,Ue||Ae(this,be,Ne,2,32767,-32768),this[Ne]=be>>>8,this[Ne+1]=255&be,Ne+2},L[w(1166)].writeInt32LE=function(be,Ne,Ue){return be=+be,Ne>>>=0,Ue||Ae(this,be,Ne,4,2147483647,-2147483648),this[Ne]=255&be,this[Ne+1]=be>>>8,this[Ne+2]=be>>>16,this[Ne+3]=be>>>24,Ne+4},L[w(1166)].writeInt32BE=function(be,Ne,Ue){return be=+be,Ne>>>=0,Ue||Ae(this,be,Ne,4,2147483647,-2147483648),this[Ne]=(be=be<0?4294967295+be+1:be)>>>24,this[Ne+1]=be>>>16,this[Ne+2]=be>>>8,this[Ne+3]=255&be,Ne+4},L[w(1166)][w(902)]=Oe(function(be,Ne=0){var Ue=w;return he(this,be,Ne,-BigInt(Ue(1314)),BigInt(Ue(1554)))}),L[w(1166)].writeBigInt64BE=Oe(function(be,Ne=0){var Ue=w;return ge(this,be,Ne,-BigInt(Ue(1314)),BigInt(Ue(1554)))}),L[w(1166)][w(1756)]=function(be,Ne,Ue){return ae(this,be,Ne,!0,Ue)},L[w(1166)][w(480)]=function(be,Ne,Ue){return ae(this,be,Ne,!1,Ue)},L[w(1166)][w(2014)]=function(be,Ne,Ue){return U(this,be,Ne,!0,Ue)},L.prototype[w(1485)]=function(be,Ne,Ue){return U(this,be,Ne,!1,Ue)},L[w(1166)][w(1830)]=function(be,Ne,Ue,ze){var Je=w;if(!L[Je(1302)](be))throw new TypeError(Je(248));if(Ue=Ue||0,ze||ze===0||(ze=this.length),Ne>=be[Je(1383)]&&(Ne=be[Je(1383)]),(ze=0<ze&&ze<Ue?Ue:ze)===Ue||be[Je(1383)]===0||this[Je(1383)]===0)return 0;if((Ne=Ne||0)<0)throw new RangeError(Je(2305));if(Ue<0||Ue>=this[Je(1383)])throw new RangeError(Je(1521));if(ze<0)throw new RangeError("sourceEnd out of bounds");ze>this[Je(1383)]&&(ze=this[Je(1383)]);var Xe=(ze=be.length-Ne<ze-Ue?be[Je(1383)]-Ne+Ue:ze)-Ue;return this===be&&Je(1451)==typeof Uint8Array[Je(1166)][Je(2787)]?this[Je(2787)](Ne,Ue,ze):Uint8Array[Je(1166)][Je(2573)][Je(2623)](be,this[Je(986)](Ue,ze),Ne),Xe},L[w(1166)][w(1371)]=function(be,Ne,Ue,ze){var Je=w;if(typeof be=="string"){if(typeof Ne=="string"?(ze=Ne,Ne=0,Ue=this.length):typeof Ue=="string"&&(ze=Ue,Ue=this.length),ze!==void 0&&Je(1896)!=typeof ze)throw new TypeError(Je(1612));if(typeof ze=="string"&&!L[Je(2624)](ze))throw new TypeError(Je(616)+ze);var Xe;be.length===1&&(Xe=be[Je(2010)](0),(Je(1757)===ze&&Xe<128||Je(818)===ze)&&(be=Xe))}else Je(2013)==typeof be?be&=255:Je(1015)==typeof be&&(be=Number(be));if(Ne<0||this[Je(1383)]<Ne||this[Je(1383)]<Ue)throw new RangeError("Out of range index");if(Ue<=Ne)return this;Ne>>>=0,Ue=Ue===void 0?this[Je(1383)]:Ue>>>0;let et;if(typeof(be=be||0)=="number")for(et=Ne;et<Ue;++et)this[et]=be;else{var ot=L.isBuffer(be)?be:L[Je(2047)](be,ze),Et=ot[Je(1383)];if(Et===0)throw new TypeError(Je(1568)+be+Je(1573));for(et=0;et<Ue-Ne;++et)this[et+Ne]=ot[et%Et]}return this};let W={};function Y(be,Ne,Ue){var ze=w;W[be]=class extends Ue{constructor(){var Je=Ut;super(),Object[Je(1844)](this,Je(1531),{value:Ne[Je(2559)](this,arguments),writable:!0,configurable:!0}),this[Je(878)]=this[Je(878)]+(" ["+be+"]"),this[Je(1461)],delete this[Je(878)]}get[ze(1752)](){return be}set[ze(1752)](Je){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:Je,writable:!0})}[ze(1888)](){var Je=ze;return this[Je(878)]+(" ["+be+Je(1610))+this.message}}}function z(be){var Ne=w;let Ue="",ze=be.length;for(var Je=be[0]==="-"?1:0;ze>=4+Je;ze-=3)Ue="_"+be[Ne(2679)](ze-3,ze)+Ue;return""+be.slice(0,ze)+Ue}function re(be,Ne,Ue,ze,Je,Xe){var et=w,ot;if(Ue<be||be<Ne)throw ot=et(2052)==typeof Ne?"n":"",Ne=3<Xe?Ne===0||Ne===BigInt(0)?et(2176)+ot+et(2518)+ot+et(800)+8*(Xe+1)+ot:et(274)+ot+et(800)+(8*(Xe+1)-1)+ot+et(2143)+(8*(Xe+1)-1)+ot:et(1524)+Ne+ot+" and <= "+Ue+ot,new W[et(2789)](et(242),Ne,be);Ue=ze,ot=Xe,se(Ne=Je,et(2084)),Ue[Ne]!==void 0&&Ue[Ne+ot]!==void 0||de(Ne,Ue.length-(ot+1))}function se(be,Ne){var Ue=w;if(Ue(2013)!=typeof be)throw new W[Ue(594)](Ne,Ue(2013),be)}function de(be,Ne,Ue){var ze=w;throw Math[ze(1194)](be)!==be?(se(be,Ue),new W[ze(2789)](Ue||ze(2084),ze(2495),be)):Ne<0?new W.ERR_BUFFER_OUT_OF_BOUNDS:new W[ze(2789)](Ue||"offset",ze(1524)+(Ue?1:0)+ze(1693)+Ne,be)}Y(w(2439),function(be){var Ne=w;return be?be+Ne(1066):Ne(2093)},RangeError),Y(w(594),function(be,Ne){var Ue=w;return Ue(1025)+be+Ue(2470)+typeof Ne},TypeError),Y(w(2789),function(be,Ne,Ue){var ze=w;be=ze(1331)+be+'" is out of range.';let Je=Ue;return Number[ze(1433)](Ue)&&Math[ze(1914)](Ue)>2**32?Je=z(String(Ue)):ze(2052)==typeof Ue&&(Je=String(Ue),(Ue>BigInt(2)**BigInt(32)||Ue<-(BigInt(2)**BigInt(32)))&&(Je=z(Je)),Je+="n"),be+(ze(1983)+Ne+ze(442)+Je)},RangeError);let me=/[^+/0-9A-Za-z-_]/g;function Ce(be,Ne){var Ue=w;Ne=Ne||1/0;let ze;var Je=be[Ue(1383)];let Xe=null,et=[];for(let ot=0;ot<Je;++ot){if(55295<(ze=be.charCodeAt(ot))&&ze<57344){if(!Xe){if(56319<ze){-1<(Ne-=3)&&et[Ue(182)](239,191,189);continue}if(ot+1===Je){-1<(Ne-=3)&&et[Ue(182)](239,191,189);continue}Xe=ze;continue}if(ze<56320){-1<(Ne-=3)&&et.push(239,191,189),Xe=ze;continue}ze=65536+(Xe-55296<<10|ze-56320)}else Xe&&-1<(Ne-=3)&&et[Ue(182)](239,191,189);if(Xe=null,ze<128){if(--Ne<0)break;et[Ue(182)](ze)}else if(ze<2048){if((Ne-=2)<0)break;et[Ue(182)](ze>>6|192,63&ze|128)}else if(ze<65536){if((Ne-=3)<0)break;et[Ue(182)](ze>>12|224,ze>>6&63|128,63&ze|128)}else{if(!(ze<1114112))throw new Error(Ue(729));if((Ne-=4)<0)break;et[Ue(182)](ze>>18|240,ze>>12&63|128,ze>>6&63|128,63&ze|128)}}return et}function Ie(be){var Ne=w;return D[Ne(920)](function(Ue){var ze=Ne;if((Ue=(Ue=Ue[ze(2259)]("=")[0]).trim()[ze(1850)](me,""))[ze(1383)]<2)return"";for(;Ue[ze(1383)]%4!=0;)Ue+="=";return Ue}(be))}function we(be,Ne,Ue,ze){var Je=w;let Xe;for(Xe=0;Xe<ze&&!(Xe+Ue>=Ne[Je(1383)]||Xe>=be[Je(1383)]);++Xe)Ne[Xe+Ue]=be[Xe];return Xe}function Te(be,Ne){var Ue=w;return be instanceof Ne||be!=null&&be[Ue(2267)]!=null&&be[Ue(2267)][Ue(878)]!=null&&be[Ue(2267)][Ue(878)]===Ne[Ue(878)]}function Ge(be){return be!=be}let ke=function(){var be=w,Ne=be(651);let Ue=new Array(256);for(let Je=0;Je<16;++Je){var ze=16*Je;for(let Xe=0;Xe<16;++Xe)Ue[ze+Xe]=Ne[Je]+Ne[Xe]}return Ue}();function Oe(be){var Ne=w;return Ne(1506)==typeof BigInt?Le:be}function Le(){var be=w;throw new Error(be(2251))}},21924:(B,Q,T)=>{var w=Ut,S=T(40210),D=T(55559),R=D(S(w(1936)));B[w(1729)]=function(P,M){var L=w;return M=S(P,!!M),L(1451)==typeof M&&-1<R(P,L(1204))?D(M):M}},55559:(B,Q,D)=>{var w=Ut,S=D(58612),D=D(40210),R=D(w(1041)),P=D("%Function.prototype.call%"),M=D(w(923),!0)||S[w(2623)](P,R),L=D("%Object.getOwnPropertyDescriptor%",!0),F=D(w(2689),!0),k=D("%Math.max%");if(F)try{F({},"a",{value:1})}catch{F=null}function N(){return M(S,R,arguments)}B[w(1729)]=function(G){var J=w,K=M(S,P,arguments);return L&&F&&L(K,J(1383))[J(2673)]&&F(K,J(1383),{value:1+k(0,G[J(1383)]-(arguments[J(1383)]-1))}),K},F?F(B[w(1729)],"apply",{value:N}):B[w(1729)][w(2559)]=N},71027:(B,Q,T)=>{var w=Ut,S=T(89509)[w(1641)],D=T(42830)[w(1148)],R=T(32553).s;function P(M){var L=w;D.call(this),this.hashMode=L(1896)==typeof M,this[L(762)]?this[M]=this[L(1690)]:this.final=this[L(1690)],this[L(2459)]&&(this[L(2107)]=this[L(2459)],this[L(2459)]=null),this._decoder=null,this[L(2547)]=null}T(35717)(P,D),P.prototype[w(1002)]=function(M,L,F){var k=w;return k(1896)==typeof M&&(M=S.from(M,L)),L=this[k(994)](M),this[k(762)]?this:F?this[k(2280)](L,F):L},P[w(1166)][w(2300)]=function(){},P[w(1166)][w(1539)]=function(){var M=w;throw new Error(M(1561))},P.prototype[w(1767)]=function(){throw new Error("trying to set auth tag in unsupported state")},P.prototype[w(253)]=function(){var M=w;throw new Error(M(1046))},P[w(1166)][w(596)]=function(M,L,F){var k=w,N;try{this[k(762)]?this[k(994)](M):this.push(this[k(994)](M))}catch(G){N=G}finally{F(N)}},P[w(1166)]._flush=function(M){var L=w,F;try{this[L(182)](this[L(2107)]())}catch(k){F=k}M(F)},P.prototype._finalOrDigest=function(M){var L=w,F=this[L(2107)]()||S.alloc(0);return M?this._toString(F,M,!0):F},P[w(1166)][w(2280)]=function(M,L,F){var k=w;if(this._decoder||(this[k(1904)]=new R(L),this._encoding=L),this[k(2547)]!==L)throw new Error(k(1773));return L=this[k(1904)][k(2430)](M),F&&(L+=this[k(1904)][k(1960)]()),L},B.exports=P},25108:(B,Q,T)=>{var w=Ut,S=T(89539),D=T(69282);function R(){var J=Ut;return new Date()[J(1456)]()}for(var P=Array[w(1166)][w(2679)],M={},L=T.g!==void 0&&T.g[w(718)]?T.g[w(718)]:w(1506)!=typeof window&&window.console?window[w(718)]:{},F=[[function(){},"log"],[function(){var J=w;L[J(196)].apply(L,arguments)},"info"],[function(){var J=w;L[J(196)][J(2559)](L,arguments)},w(2699)],[function(){var J=w;L[J(2699)][J(2559)](L,arguments)},w(899)],[function(J){M[J]=R()},w(967)],[function(J){var K=w,X=M[J];if(!X)throw new Error(K(2299)+J);delete M[J],X=R()-X,L[K(196)](J+": "+X+"ms")},w(1492)],[function(){var J=w,K=new Error;K[J(878)]=J(1938),K[J(1531)]=S[J(2032)][J(2559)](null,arguments),L.error(K[J(1461)])},w(813)],[function(J){var K=w;L.log(S[K(1035)](J)+` `)},"dir"],[function(J){var K=w,X;J||(X=P[K(2623)](arguments,1),D.ok(!1,S.format[K(2559)](null,X)))},w(1906)]],k=0;k<F[w(1383)];k++){var G=F[k],N=G[0],G=G[1];L[G]||(L[G]=N)}B[w(1729)]=L},76393:(B,Q,T)=>{var w=Ut,S=T(48764).Buffer,D=T(86266),R=T(16426),P=(B[w(1729)]=function(F){return new M(F)},{secp256k1:{name:w(891),byteLength:32},secp224r1:{name:w(464),byteLength:28},prime256v1:{name:w(2613),byteLength:32},prime192v1:{name:w(505),byteLength:24},ed25519:{name:w(1698),byteLength:32},secp384r1:{name:w(197),byteLength:48},secp521r1:{name:w(573),byteLength:66}});function M(F){var k=w;this[k(1863)]=P[F],this[k(1863)]||(this[k(1863)]={name:F}),this[k(1354)]=new D.ec(this.curveType[k(878)]),this[k(451)]=void 0}function L(F,k,N){var G=w;return Array[G(2507)](F)||(F=F.toArray()),F=new S(F),N&&F[G(1383)]<N&&((N=new S(N-F[G(1383)])).fill(0),F=S[G(1544)]([N,F])),k?F[G(1888)](k):F}P.p224=P.secp224r1,P[w(2613)]=P[w(195)]=P[w(2119)],P.p192=P[w(1519)]=P[w(344)],P[w(197)]=P[w(542)],P[w(573)]=P.secp521r1,M[w(1166)][w(2380)]=function(F,k){var N=w;return this[N(451)]=this[N(1354)].genKeyPair(),this[N(1643)](F,k)},M.prototype[w(2779)]=function(F,k,N){var G=w;return k=k||G(1757),S.isBuffer(F)||(F=new S(F,k)),L(this.curve[G(2410)](F)[G(2197)]().mul(this[G(451)].getPrivate())[G(1876)](),N,this[G(1863)][G(250)])},M[w(1166)][w(1643)]=function(F,k){var N=w,G=this.keys.getPublic(N(2788)===k,!0);return N(2282)===k&&(G[G[N(1383)]-1]%2?G[0]=7:G[0]=6),L(G,F)},M[w(1166)][w(1291)]=function(F){var k=w;return L(this.keys[k(2750)](),F)},M.prototype[w(1804)]=function(F,k){var N=w;return k=k||N(1757),S[N(1302)](F)||(F=new S(F,k)),this[N(451)][N(2075)](F),this},M[w(1166)][w(842)]=function(F,k){var N=w;return k=k||N(1757),S[N(1302)](F)||(F=new S(F,k)),k=(k=new R(F))[N(1888)](16),this[N(451)]=this[N(1354)][N(1265)](),this.keys[N(2574)](k),this}},16426:function(B,Q,T){var w=Ut;(function(S){"use strict";var D=Ut;function R(U,W){var Y=Ut;if(!U)throw new Error(W||Y(1719))}function P(U,W){var Y=Ut;function z(){}U.super_=W,z.prototype=W[Y(1166)],U[Y(1166)]=new z,U.prototype[Y(2267)]=U}function M(U,W,Y){var z=Ut;if(M[z(1346)](U))return U;this[z(493)]=0,this[z(660)]=null,this[z(1383)]=0,(this[z(2178)]=null)!==U&&(W!=="le"&&W!=="be"||(Y=W,W=10),this[z(2151)](U||0,W||10,Y||"be"))}var L;typeof B=="object"?B[D(1729)]=M:S.BN=M,(M.BN=M)[D(883)]=26;try{L=(D(1506)!=typeof window&&window.Buffer!==void 0?window:T(8623)).Buffer}catch{}function F(U,W){return U=U.charCodeAt(W),65<=U&&U<=70?U-55:97<=U&&U<=102?U-87:U-48&15}function k(U,W,Y){var z=F(U,Y);return W<=Y-1&&(z|=F(U,Y-1)<<4),z}function N(U,W,Y,z){for(var re=D,Ce=0,se=Math[re(1869)](U.length,Y),de=W;de<se;de++)var me=U[re(2010)](de)-48,Ce=Ce*z+(49<=me?me-49+10:17<=me?me-17+10:me);return Ce}M[D(1346)]=function(U){var W=D;return U instanceof M||U!==null&&W(1499)==typeof U&&U[W(2267)].wordSize===M[W(883)]&&Array.isArray(U[W(660)])},M[D(323)]=function(U,W){var Y=D;return 0<U[Y(526)](W)?U:W},M[D(1869)]=function(U,W){var Y=D;return U[Y(526)](W)<0?U:W},M[D(1166)][D(2151)]=function(U,W,Y){var z=D;if(z(2013)==typeof U)return this._initNumber(U,W,Y);if(z(1499)==typeof U)return this._initArray(U,W,Y);R((W=z(495)===W?16:W)===(0|W)&&2<=W&&W<=36);var re=0;(U=U[z(1888)]()[z(1850)](/\s+/g,""))[0]==="-"&&(re++,this[z(493)]=1),re<U[z(1383)]&&(W===16?this._parseHex(U,re,Y):(this[z(1834)](U,W,re),Y==="le"&&this[z(1263)](this.toArray(),W,Y)))},M.prototype[D(1763)]=function(U,W,Y){var z=D;U<0&&(this[z(493)]=1,U=-U),U<67108864?(this.words=[67108863&U],this[z(1383)]=1):U<4503599627370496?(this[z(660)]=[67108863&U,U/67108864&67108863],this[z(1383)]=2):(R(U<9007199254740992),this[z(660)]=[67108863&U,U/67108864&67108863,1],this.length=3),Y==="le"&&this._initArray(this.toArray(),W,Y)},M.prototype._initArray=function(U,W,Y){var z=D;if(R(typeof U[z(1383)]=="number"),U.length<=0)return this[z(660)]=[0],this.length=1,this;this[z(1383)]=Math.ceil(U.length/3),this[z(660)]=new Array(this.length);for(var re,se,de=0;de<this[z(1383)];de++)this[z(660)][de]=0;var me=0;if(Y==="be")for(de=U.length-1,re=0;0<=de;de-=3)se=U[de]|U[de-1]<<8|U[de-2]<<16,this[z(660)][re]|=se<<me&67108863,this[z(660)][re+1]=se>>>26-me&67108863,26<=(me+=24)&&(me-=26,re++);else if(Y==="le")for(re=de=0;de<U[z(1383)];de+=3)se=U[de]|U[de+1]<<8|U[de+2]<<16,this.words[re]|=se<<me&67108863,this[z(660)][re+1]=se>>>26-me&67108863,26<=(me+=24)&&(me-=26,re++);return this[z(968)]()},M[D(1166)]._parseHex=function(U,W,Y){var z=D;this[z(1383)]=Math[z(1266)]((U.length-W)/6),this[z(660)]=new Array(this[z(1383)]);for(var re=0;re<this[z(1383)];re++)this[z(660)][re]=0;var se,de=0,me=0;if(Y==="be")for(re=U[z(1383)]-1;W<=re;re-=2)se=k(U,W,re)<<de,this[z(660)][me]|=67108863&se,18<=de?(de-=18,this[z(660)][me+=1]|=se>>>26):de+=8;else for(re=(U[z(1383)]-W)%2==0?W+1:W;re<U[z(1383)];re+=2)se=k(U,W,re)<<de,this[z(660)][me]|=67108863&se,18<=de?(de-=18,this[z(660)][me+=1]|=se>>>26):de+=8;this[z(968)]()},M[D(1166)][D(1834)]=function(U,W,Y){var z=D;this[z(660)]=[0];for(var re=0,se=this.length=1;se<=67108863;se*=W)re++;for(var se=se/W|0,de=U[z(1383)]-Y,me=de%--re,Ce=Math[z(1869)](de,de-me)+Y,Ie=0,we=Y;we<Ce;we+=re)Ie=N(U,we,we+re,W),this.imuln(se),this.words[0]+Ie<67108864?this[z(660)][0]+=Ie:this._iaddn(Ie);if(me!=0){for(var Te=1,Ie=N(U,we,U[z(1383)],W),we=0;we<me;we++)Te*=W;this[z(683)](Te),this[z(660)][0]+Ie<67108864?this[z(660)][0]+=Ie:this[z(2079)](Ie)}this.strip()},M[D(1166)][D(1830)]=function(U){var W=D;U.words=new Array(this[W(1383)]);for(var Y=0;Y<this.length;Y++)U[W(660)][Y]=this[W(660)][Y];U[W(1383)]=this[W(1383)],U[W(493)]=this.negative,U.red=this.red},M[D(1166)][D(2164)]=function(){var U=D,W=new M(null);return this[U(1830)](W),W},M[D(1166)]._expand=function(U){for(var W=D;this[W(1383)]<U;)this[W(660)][this[W(1383)]++]=0;return this},M.prototype[D(968)]=function(){for(var U=D;1<this[U(1383)]&&this[U(660)][this.length-1]===0;)this.length--;return this[U(1049)]()},M[D(1166)]._normSign=function(){var U=D;return this[U(1383)]===1&&this[U(660)][0]===0&&(this[U(493)]=0),this},M[D(1166)][D(1035)]=function(){var U=D;return(this[U(2178)]?U(523):U(780))+this.toString(16)+">"};var G=["","0","00",D(2453),D(1548),D(1144),D(536),D(259),D(178),D(748),D(1668),"00000000000",D(1365),"0000000000000","00000000000000","000000000000000",D(438),D(1270),D(767),D(1315),D(1048),D(2229),"0000000000000000000000",D(1733),D(548),"0000000000000000000000000"],J=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],K=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function X(U,W,Y){var z=D;Y.negative=W.negative^U[z(493)];var re=U[z(1383)]+W[z(1383)]|0,re=(Y[z(1383)]=re)-1|0,se=(me=(0|U.words[0])*(0|W[z(660)][0]))/67108864|0;Y[z(660)][0]=67108863&me;for(var de=1;de<re;de++){for(var me,Ce=se>>>26,Ie=67108863&se,we=Math[z(1869)](de,W[z(1383)]-1),Te=Math[z(323)](0,de-U[z(1383)]+1);Te<=we;Te++)Ce+=(me=(0|U[z(660)][de-Te|0])*(0|W[z(660)][Te])+Ie)/67108864|0,Ie=67108863&me;Y[z(660)][de]=0|Ie,se=0|Ce}return se!==0?Y.words[de]=0|se:Y[z(1383)]--,Y.strip()}M[D(1166)][D(1888)]=function(U,W){var Y=D;if(W=0|W||1,(U=U||10)===16||U==="hex"){for(var z="",re=0,se=0,de=0;de<this[Y(1383)];de++){var me=this[Y(660)][de],Ce=(16777215&(me<<re|se))[Y(1888)](16),z=(se=me>>>24-re&16777215)!=0||de!==this[Y(1383)]-1?G[6-Ce[Y(1383)]]+Ce+z:Ce+z;26<=(re+=2)&&(re-=26,de--)}for(se!==0&&(z=se.toString(16)+z);z.length%W!=0;)z="0"+z;return this[Y(493)]!==0?"-"+z:z}if(U===(0|U)&&2<=U&&U<=36){var Ie=J[U],we=K[U];for(z="",(Te=this[Y(2164)]())[Y(493)]=0;!Te[Y(2356)]();){var Te,Ge=Te[Y(1825)](we)[Y(1888)](U);z=(Te=Te[Y(2593)](we))[Y(2356)]()?Ge+z:G[Ie-Ge.length]+Ge+z}for(this[Y(2356)]()&&(z="0"+z);z.length%W!=0;)z="0"+z;return this.negative!==0?"-"+z:z}R(!1,"Base should be between 2 and 36")},M[D(1166)][D(1312)]=function(){var U=D,W=this[U(660)][0];return this[U(1383)]===2?W+=67108864*this[U(660)][1]:this[U(1383)]===3&&this[U(660)][2]===1?W+=4503599627370496+67108864*this[U(660)][1]:2<this.length&&R(!1,U(1421)),this[U(493)]!==0?-W:W},M[D(1166)].toJSON=function(){var U=D;return this[U(1888)](16)},M[D(1166)][D(295)]=function(U,W){var Y=D;return R(L!==void 0),this[Y(1299)](L,U,W)},M.prototype.toArray=function(U,W){var Y=D;return this[Y(1299)](Array,U,W)},M.prototype.toArrayLike=function(U,W,Ce){var z=D,re,se,de=this[z(250)](),me=Ce||Math[z(323)](1,de),Ce=(R(de<=me,"byte array longer than desired length"),R(0<me,"Requested array length <= 0"),this[z(968)](),W==="le"),Ie=new U(me),we=this[z(2164)]();if(Ce){for(se=0;!we[z(2356)]();se++)re=we[z(329)](255),we.iushrn(8),Ie[se]=re;for(;se<me;se++)Ie[se]=0}else{for(se=0;se<me-de;se++)Ie[se]=0;for(se=0;!we[z(2356)]();se++)re=we[z(329)](255),we[z(1487)](8),Ie[me-se-1]=re}return Ie},Math[D(207)]?M.prototype._countBits=function(U){var W=D;return 32-Math[W(207)](U)}:M[D(1166)][D(623)]=function(U){var W=0;return 4096<=U&&(W+=13,U>>>=13),64<=U&&(W+=7,U>>>=7),8<=U&&(W+=4,U>>>=4),2<=U&&(W+=2,U>>>=2),W+U},M.prototype[D(1095)]=function(U){if(U===0)return 26;var W=0;return(8191&U)==0&&(W+=13,U>>>=13),(127&U)==0&&(W+=7,U>>>=7),(15&U)==0&&(W+=4,U>>>=4),(3&U)==0&&(W+=2,U>>>=2),(1&U)==0&&W++,W},M[D(1166)].bitLength=function(){var U=D,W=this[U(660)][this.length-1],W=this[U(623)](W);return 26*(this.length-1)+W},M[D(1166)][D(1820)]=function(){var U=D;if(this[U(2356)]())return 0;for(var W=0,Y=0;Y<this.length;Y++){var z=this[U(1095)](this[U(660)][Y]);if(W+=z,z!==26)break}return W},M[D(1166)][D(250)]=function(){var U=D;return Math[U(1266)](this[U(485)]()/8)},M[D(1166)][D(180)]=function(U){var W=D;return this[W(493)]!==0?this.abs()[W(2519)](U).iaddn(1):this[W(2164)]()},M[D(1166)][D(1845)]=function(U){var W=D;return this[W(901)](U-1)?this[W(516)](U)[W(2695)](1)[W(919)]():this.clone()},M[D(1166)][D(2797)]=function(){var U=D;return this[U(493)]!==0},M[D(1166)][D(828)]=function(){var U=D;return this[U(2164)]().ineg()},M.prototype.ineg=function(){var U=D;return this[U(2356)]()||(this[U(493)]^=1),this},M[D(1166)].iuor=function(U){for(var W=D;this[W(1383)]<U.length;)this[W(660)][this[W(1383)]++]=0;for(var Y=0;Y<U[W(1383)];Y++)this[W(660)][Y]=this.words[Y]|U[W(660)][Y];return this[W(968)]()},M[D(1166)][D(699)]=function(U){var W=D;return R((this[W(493)]|U[W(493)])==0),this[W(776)](U)},M[D(1166)].or=function(U){var W=D;return this.length>U[W(1383)]?this[W(2164)]()[W(699)](U):U[W(2164)]()[W(699)](this)},M[D(1166)][D(2354)]=function(U){var W=D;return this[W(1383)]>U.length?this[W(2164)]().iuor(U):U[W(2164)]()[W(776)](this)},M.prototype[D(709)]=function(U){for(var W=D,Y=this[W(1383)]>U.length?U:this,z=0;z<Y[W(1383)];z++)this[W(660)][z]=this[W(660)][z]&U[W(660)][z];return this[W(1383)]=Y[W(1383)],this[W(968)]()},M[D(1166)].iand=function(U){var W=D;return R((this.negative|U[W(493)])==0),this[W(709)](U)},M[D(1166)][D(2377)]=function(U){var W=D;return this[W(1383)]>U[W(1383)]?this.clone()[W(560)](U):U[W(2164)]()[W(560)](this)},M[D(1166)][D(1528)]=function(U){var W=D;return this[W(1383)]>U[W(1383)]?this[W(2164)]()[W(709)](U):U.clone()[W(709)](this)},M[D(1166)][D(2796)]=function(U){for(var W=D,Y,z=this.length>U.length?(Y=this,U):(Y=U,this),re=0;re<z[W(1383)];re++)this[W(660)][re]=Y[W(660)][re]^z[W(660)][re];if(this!==Y)for(;re<Y[W(1383)];re++)this[W(660)][re]=Y.words[re];return this[W(1383)]=Y[W(1383)],this[W(968)]()},M.prototype.ixor=function(U){var W=D;return R((this[W(493)]|U[W(493)])==0),this[W(2796)](U)},M[D(1166)].xor=function(U){var W=D;return this[W(1383)]>U[W(1383)]?this[W(2164)]()[W(1283)](U):U[W(2164)]()[W(1283)](this)},M[D(1166)][D(2024)]=function(U){var W=D;return this[W(1383)]>U[W(1383)]?this[W(2164)]()[W(2796)](U):U.clone()[W(2796)](this)},M[D(1166)].inotn=function(z){var W=D;R(W(2013)==typeof z&&0<=z);var Y=0|Math.ceil(z/26),z=z%26;this._expand(Y),0<z&&Y--;for(var re=0;re<Y;re++)this[W(660)][re]=67108863&~this[W(660)][re];return 0<z&&(this[W(660)][re]=~this.words[re]&67108863>>26-z),this.strip()},M[D(1166)][D(516)]=function(U){var W=D;return this[W(2164)]()[W(2519)](U)},M[D(1166)].setn=function(re,W){var Y=D;R(Y(2013)==typeof re&&0<=re);var z=re/26|0,re=re%26;return this[Y(159)](1+z),this.words[z]=W?this[Y(660)][z]|1<<re:this.words[z]&~(1<<re),this[Y(968)]()},M[D(1166)].iadd=function(U){var W=D,Y,z;if(this[W(493)]!==0&&U[W(493)]===0)return this[W(493)]=0,Y=this[W(258)](U),this[W(493)]^=1,this[W(1049)]();if(this[W(493)]===0&&U[W(493)]!==0)return U[W(493)]=0,Y=this[W(258)](U),U[W(493)]=1,Y[W(1049)]();for(var re=this[W(1383)]>U[W(1383)]?(z=this,U):(z=U,this),se=0,de=0;de<re[W(1383)];de++)Y=(0|z[W(660)][de])+(0|re[W(660)][de])+se,this.words[de]=67108863&Y,se=Y>>>26;for(;se!==0&&de<z.length;de++)Y=(0|z[W(660)][de])+se,this[W(660)][de]=67108863&Y,se=Y>>>26;if(this[W(1383)]=z[W(1383)],se!==0)this[W(660)][this.length]=se,this[W(1383)]++;else if(z!==this)for(;de<z[W(1383)];de++)this[W(660)][de]=z[W(660)][de];return this},M.prototype.add=function(U){var W=D,Y;return U.negative!==0&&this[W(493)]===0?(U[W(493)]=0,Y=this[W(1550)](U),U[W(493)]^=1,Y):U.negative===0&&this[W(493)]!==0?(this.negative=0,Y=U[W(1550)](this),this[W(493)]=1,Y):this[W(1383)]>U.length?this.clone()[W(187)](U):U.clone()[W(187)](this)},M[D(1166)].isub=function(U){var W=D,Y;if(U[W(493)]!==0)return U[W(493)]=0,Y=this[W(187)](U),U.negative=1,Y[W(1049)]();if(this.negative!==0)return this[W(493)]=0,this[W(187)](U),this[W(493)]=1,this._normSign();var z,re=this[W(526)](U);if(re===0)return this[W(493)]=0,this[W(1383)]=1,this[W(660)][0]=0,this;for(var se=0<re?(z=this,U):(z=U,this),de=0,me=0;me<se[W(1383)];me++)de=(Y=(0|z[W(660)][me])-(0|se[W(660)][me])+de)>>26,this.words[me]=67108863&Y;for(;de!==0&&me<z.length;me++)de=(Y=(0|z[W(660)][me])+de)>>26,this[W(660)][me]=67108863&Y;if(de===0&&me<z.length&&z!==this)for(;me<z[W(1383)];me++)this.words[me]=z[W(660)][me];return this.length=Math[W(323)](this[W(1383)],me),z!==this&&(this[W(493)]=1),this[W(968)]()},M[D(1166)][D(1550)]=function(U){var W=D;return this[W(2164)]()[W(258)](U)};var q=function(ve,nt,Y){var z=D,Je=ve.words,Lt=nt.words,re=Y[z(660)],pi=0|Je[0],jt=8191&pi,pi=pi>>>13,_t=0|Je[1],xi=8191&_t,_t=_t>>>13,de=0|Je[2],se=8191&de,de=de>>>13,Ce=0|Je[3],me=8191&Ce,Ce=Ce>>>13,we=0|Je[4],Ie=8191&we,we=we>>>13,Ge=0|Je[5],Te=8191&Ge,Ge=Ge>>>13,Oe=0|Je[6],ke=8191&Oe,Oe=Oe>>>13,be=0|Je[7],Le=8191&be,be=be>>>13,Ue=0|Je[8],Ne=8191&Ue,Ue=Ue>>>13,Je=0|Je[9],ze=8191&Je,Je=Je>>>13,Wt=0|Lt[0],Ei=8191&Wt,Wt=Wt>>>13,Kt=0|Lt[1],mi=8191&Kt,Kt=Kt>>>13,Ht=0|Lt[2],Mt=8191&Ht,Ht=Ht>>>13,et=0|Lt[3],Xe=8191&et,et=et>>>13,Et=0|Lt[4],ot=8191&Et,Et=Et>>>13,ct=0|Lt[5],Ct=8191&ct,ct=ct>>>13,Qt=0|Lt[6],yt=8191&Qt,Qt=Qt>>>13,ut=0|Lt[7],Ze=8191&ut,ut=ut>>>13,gt=0|Lt[8],St=8191>,gt=gt>>>13,Lt=0|Lt[9],xt=8191&Lt,Lt=Lt>>>13,nt=(Y[z(493)]=ve[z(493)]^nt[z(493)],Y[z(1383)]=19,(0+Math[z(1805)](jt,Ei)|0)+((8191&(ve=Math.imul(jt,Wt)+Math.imul(pi,Ei)|0))<<13)|0),ti=(Math[z(1805)](pi,Wt)+(ve>>>13)|0)+(nt>>>26)|0,Pe=(nt&=67108863,Math.imul(xi,Ei)),ve=Math[z(1805)](xi,Wt)+Math.imul(_t,Ei)|0,We=Math[z(1805)](_t,Wt),bt=(ti+(Pe+Math[z(1805)](jt,mi)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,Kt)|0)+Math[z(1805)](pi,mi)|0))<<13)|0,Pt=(ti=((We+Math[z(1805)](pi,Kt)|0)+(ve>>>13)|0)+(bt>>>26)|0,bt&=67108863,Pe=Math.imul(se,Ei),ve=Math[z(1805)](se,Wt)+Math[z(1805)](de,Ei)|0,We=Math[z(1805)](de,Wt),Pe=Pe+Math[z(1805)](xi,mi)|0,ve=(ve+Math[z(1805)](xi,Kt)|0)+Math[z(1805)](_t,mi)|0,We=We+Math[z(1805)](_t,Kt)|0,(ti+(Pe+Math.imul(jt,Mt)|0)|0)+((8191&(ve=(ve+Math.imul(jt,Ht)|0)+Math.imul(pi,Mt)|0))<<13)|0),It=(ti=((We+Math.imul(pi,Ht)|0)+(ve>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,Pe=Math[z(1805)](me,Ei),ve=Math[z(1805)](me,Wt)+Math[z(1805)](Ce,Ei)|0,We=Math[z(1805)](Ce,Wt),Pe=Pe+Math[z(1805)](se,mi)|0,ve=(ve+Math[z(1805)](se,Kt)|0)+Math[z(1805)](de,mi)|0,We=We+Math.imul(de,Kt)|0,Pe=Pe+Math.imul(xi,Mt)|0,ve=(ve+Math.imul(xi,Ht)|0)+Math.imul(_t,Mt)|0,We=We+Math.imul(_t,Ht)|0,(ti+(Pe+Math.imul(jt,Xe)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,et)|0)+Math[z(1805)](pi,Xe)|0))<<13)|0),Mi=(ti=((We+Math[z(1805)](pi,et)|0)+(ve>>>13)|0)+(It>>>26)|0,It&=67108863,Pe=Math[z(1805)](Ie,Ei),ve=Math[z(1805)](Ie,Wt)+Math.imul(we,Ei)|0,We=Math.imul(we,Wt),Pe=Pe+Math[z(1805)](me,mi)|0,ve=(ve+Math[z(1805)](me,Kt)|0)+Math[z(1805)](Ce,mi)|0,We=We+Math[z(1805)](Ce,Kt)|0,Pe=Pe+Math[z(1805)](se,Mt)|0,ve=(ve+Math[z(1805)](se,Ht)|0)+Math[z(1805)](de,Mt)|0,We=We+Math[z(1805)](de,Ht)|0,Pe=Pe+Math[z(1805)](xi,Xe)|0,ve=(ve+Math[z(1805)](xi,et)|0)+Math[z(1805)](_t,Xe)|0,We=We+Math[z(1805)](_t,et)|0,(ti+(Pe+Math[z(1805)](jt,ot)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,Et)|0)+Math[z(1805)](pi,ot)|0))<<13)|0),er=(ti=((We+Math[z(1805)](pi,Et)|0)+(ve>>>13)|0)+(Mi>>>26)|0,Mi&=67108863,Pe=Math[z(1805)](Te,Ei),ve=Math[z(1805)](Te,Wt)+Math[z(1805)](Ge,Ei)|0,We=Math[z(1805)](Ge,Wt),Pe=Pe+Math[z(1805)](Ie,mi)|0,ve=(ve+Math[z(1805)](Ie,Kt)|0)+Math[z(1805)](we,mi)|0,We=We+Math[z(1805)](we,Kt)|0,Pe=Pe+Math[z(1805)](me,Mt)|0,ve=(ve+Math[z(1805)](me,Ht)|0)+Math.imul(Ce,Mt)|0,We=We+Math.imul(Ce,Ht)|0,Pe=Pe+Math[z(1805)](se,Xe)|0,ve=(ve+Math[z(1805)](se,et)|0)+Math.imul(de,Xe)|0,We=We+Math[z(1805)](de,et)|0,Pe=Pe+Math.imul(xi,ot)|0,ve=(ve+Math.imul(xi,Et)|0)+Math.imul(_t,ot)|0,We=We+Math[z(1805)](_t,Et)|0,(ti+(Pe+Math[z(1805)](jt,Ct)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,ct)|0)+Math[z(1805)](pi,Ct)|0))<<13)|0),di=(ti=((We+Math[z(1805)](pi,ct)|0)+(ve>>>13)|0)+(er>>>26)|0,er&=67108863,Pe=Math[z(1805)](ke,Ei),ve=Math[z(1805)](ke,Wt)+Math[z(1805)](Oe,Ei)|0,We=Math[z(1805)](Oe,Wt),Pe=Pe+Math[z(1805)](Te,mi)|0,ve=(ve+Math.imul(Te,Kt)|0)+Math[z(1805)](Ge,mi)|0,We=We+Math.imul(Ge,Kt)|0,Pe=Pe+Math[z(1805)](Ie,Mt)|0,ve=(ve+Math[z(1805)](Ie,Ht)|0)+Math[z(1805)](we,Mt)|0,We=We+Math[z(1805)](we,Ht)|0,Pe=Pe+Math[z(1805)](me,Xe)|0,ve=(ve+Math[z(1805)](me,et)|0)+Math.imul(Ce,Xe)|0,We=We+Math.imul(Ce,et)|0,Pe=Pe+Math.imul(se,ot)|0,ve=(ve+Math[z(1805)](se,Et)|0)+Math[z(1805)](de,ot)|0,We=We+Math[z(1805)](de,Et)|0,Pe=Pe+Math[z(1805)](xi,Ct)|0,ve=(ve+Math[z(1805)](xi,ct)|0)+Math.imul(_t,Ct)|0,We=We+Math.imul(_t,ct)|0,(ti+(Pe+Math[z(1805)](jt,yt)|0)|0)+((8191&(ve=(ve+Math.imul(jt,Qt)|0)+Math[z(1805)](pi,yt)|0))<<13)|0),wi=(ti=((We+Math[z(1805)](pi,Qt)|0)+(ve>>>13)|0)+(di>>>26)|0,di&=67108863,Pe=Math[z(1805)](Le,Ei),ve=Math.imul(Le,Wt)+Math[z(1805)](be,Ei)|0,We=Math[z(1805)](be,Wt),Pe=Pe+Math[z(1805)](ke,mi)|0,ve=(ve+Math.imul(ke,Kt)|0)+Math[z(1805)](Oe,mi)|0,We=We+Math.imul(Oe,Kt)|0,Pe=Pe+Math[z(1805)](Te,Mt)|0,ve=(ve+Math[z(1805)](Te,Ht)|0)+Math[z(1805)](Ge,Mt)|0,We=We+Math.imul(Ge,Ht)|0,Pe=Pe+Math[z(1805)](Ie,Xe)|0,ve=(ve+Math[z(1805)](Ie,et)|0)+Math[z(1805)](we,Xe)|0,We=We+Math.imul(we,et)|0,Pe=Pe+Math[z(1805)](me,ot)|0,ve=(ve+Math[z(1805)](me,Et)|0)+Math[z(1805)](Ce,ot)|0,We=We+Math.imul(Ce,Et)|0,Pe=Pe+Math[z(1805)](se,Ct)|0,ve=(ve+Math.imul(se,ct)|0)+Math.imul(de,Ct)|0,We=We+Math[z(1805)](de,ct)|0,Pe=Pe+Math[z(1805)](xi,yt)|0,ve=(ve+Math[z(1805)](xi,Qt)|0)+Math.imul(_t,yt)|0,We=We+Math[z(1805)](_t,Qt)|0,(ti+(Pe+Math[z(1805)](jt,Ze)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,ut)|0)+Math[z(1805)](pi,Ze)|0))<<13)|0),Ri=(ti=((We+Math[z(1805)](pi,ut)|0)+(ve>>>13)|0)+(wi>>>26)|0,wi&=67108863,Pe=Math[z(1805)](Ne,Ei),ve=Math[z(1805)](Ne,Wt)+Math[z(1805)](Ue,Ei)|0,We=Math[z(1805)](Ue,Wt),Pe=Pe+Math[z(1805)](Le,mi)|0,ve=(ve+Math.imul(Le,Kt)|0)+Math[z(1805)](be,mi)|0,We=We+Math[z(1805)](be,Kt)|0,Pe=Pe+Math[z(1805)](ke,Mt)|0,ve=(ve+Math[z(1805)](ke,Ht)|0)+Math[z(1805)](Oe,Mt)|0,We=We+Math[z(1805)](Oe,Ht)|0,Pe=Pe+Math[z(1805)](Te,Xe)|0,ve=(ve+Math.imul(Te,et)|0)+Math[z(1805)](Ge,Xe)|0,We=We+Math.imul(Ge,et)|0,Pe=Pe+Math.imul(Ie,ot)|0,ve=(ve+Math[z(1805)](Ie,Et)|0)+Math[z(1805)](we,ot)|0,We=We+Math.imul(we,Et)|0,Pe=Pe+Math.imul(me,Ct)|0,ve=(ve+Math[z(1805)](me,ct)|0)+Math[z(1805)](Ce,Ct)|0,We=We+Math[z(1805)](Ce,ct)|0,Pe=Pe+Math.imul(se,yt)|0,ve=(ve+Math.imul(se,Qt)|0)+Math[z(1805)](de,yt)|0,We=We+Math[z(1805)](de,Qt)|0,Pe=Pe+Math.imul(xi,Ze)|0,ve=(ve+Math.imul(xi,ut)|0)+Math[z(1805)](_t,Ze)|0,We=We+Math.imul(_t,ut)|0,(ti+(Pe+Math[z(1805)](jt,St)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,gt)|0)+Math[z(1805)](pi,St)|0))<<13)|0),Ei=(ti=((We+Math.imul(pi,gt)|0)+(ve>>>13)|0)+(Ri>>>26)|0,Ri&=67108863,Pe=Math[z(1805)](ze,Ei),ve=Math[z(1805)](ze,Wt)+Math[z(1805)](Je,Ei)|0,We=Math[z(1805)](Je,Wt),Pe=Pe+Math.imul(Ne,mi)|0,ve=(ve+Math[z(1805)](Ne,Kt)|0)+Math[z(1805)](Ue,mi)|0,We=We+Math[z(1805)](Ue,Kt)|0,Pe=Pe+Math.imul(Le,Mt)|0,ve=(ve+Math.imul(Le,Ht)|0)+Math[z(1805)](be,Mt)|0,We=We+Math[z(1805)](be,Ht)|0,Pe=Pe+Math[z(1805)](ke,Xe)|0,ve=(ve+Math[z(1805)](ke,et)|0)+Math.imul(Oe,Xe)|0,We=We+Math.imul(Oe,et)|0,Pe=Pe+Math[z(1805)](Te,ot)|0,ve=(ve+Math[z(1805)](Te,Et)|0)+Math[z(1805)](Ge,ot)|0,We=We+Math.imul(Ge,Et)|0,Pe=Pe+Math[z(1805)](Ie,Ct)|0,ve=(ve+Math[z(1805)](Ie,ct)|0)+Math[z(1805)](we,Ct)|0,We=We+Math[z(1805)](we,ct)|0,Pe=Pe+Math[z(1805)](me,yt)|0,ve=(ve+Math[z(1805)](me,Qt)|0)+Math[z(1805)](Ce,yt)|0,We=We+Math.imul(Ce,Qt)|0,Pe=Pe+Math.imul(se,Ze)|0,ve=(ve+Math.imul(se,ut)|0)+Math[z(1805)](de,Ze)|0,We=We+Math[z(1805)](de,ut)|0,Pe=Pe+Math.imul(xi,St)|0,ve=(ve+Math[z(1805)](xi,gt)|0)+Math[z(1805)](_t,St)|0,We=We+Math.imul(_t,gt)|0,(ti+(Pe+Math.imul(jt,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,Lt)|0)+Math[z(1805)](pi,xt)|0))<<13)|0),Wt=(ti=((We+Math[z(1805)](pi,Lt)|0)+(ve>>>13)|0)+(Ei>>>26)|0,Ei&=67108863,Pe=Math.imul(ze,mi),ve=Math.imul(ze,Kt)+Math[z(1805)](Je,mi)|0,We=Math[z(1805)](Je,Kt),Pe=Pe+Math[z(1805)](Ne,Mt)|0,ve=(ve+Math[z(1805)](Ne,Ht)|0)+Math.imul(Ue,Mt)|0,We=We+Math.imul(Ue,Ht)|0,Pe=Pe+Math.imul(Le,Xe)|0,ve=(ve+Math[z(1805)](Le,et)|0)+Math[z(1805)](be,Xe)|0,We=We+Math[z(1805)](be,et)|0,Pe=Pe+Math[z(1805)](ke,ot)|0,ve=(ve+Math.imul(ke,Et)|0)+Math[z(1805)](Oe,ot)|0,We=We+Math[z(1805)](Oe,Et)|0,Pe=Pe+Math.imul(Te,Ct)|0,ve=(ve+Math[z(1805)](Te,ct)|0)+Math[z(1805)](Ge,Ct)|0,We=We+Math.imul(Ge,ct)|0,Pe=Pe+Math[z(1805)](Ie,yt)|0,ve=(ve+Math[z(1805)](Ie,Qt)|0)+Math[z(1805)](we,yt)|0,We=We+Math[z(1805)](we,Qt)|0,Pe=Pe+Math.imul(me,Ze)|0,ve=(ve+Math[z(1805)](me,ut)|0)+Math.imul(Ce,Ze)|0,We=We+Math[z(1805)](Ce,ut)|0,Pe=Pe+Math.imul(se,St)|0,ve=(ve+Math[z(1805)](se,gt)|0)+Math[z(1805)](de,St)|0,We=We+Math[z(1805)](de,gt)|0,(ti+(Pe+Math[z(1805)](xi,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](xi,Lt)|0)+Math[z(1805)](_t,xt)|0))<<13)|0),jt=(ti=((We+Math[z(1805)](_t,Lt)|0)+(ve>>>13)|0)+(Wt>>>26)|0,Wt&=67108863,Pe=Math[z(1805)](ze,Mt),ve=Math.imul(ze,Ht)+Math[z(1805)](Je,Mt)|0,We=Math.imul(Je,Ht),Pe=Pe+Math[z(1805)](Ne,Xe)|0,ve=(ve+Math.imul(Ne,et)|0)+Math.imul(Ue,Xe)|0,We=We+Math[z(1805)](Ue,et)|0,Pe=Pe+Math[z(1805)](Le,ot)|0,ve=(ve+Math.imul(Le,Et)|0)+Math[z(1805)](be,ot)|0,We=We+Math[z(1805)](be,Et)|0,Pe=Pe+Math[z(1805)](ke,Ct)|0,ve=(ve+Math[z(1805)](ke,ct)|0)+Math.imul(Oe,Ct)|0,We=We+Math[z(1805)](Oe,ct)|0,Pe=Pe+Math[z(1805)](Te,yt)|0,ve=(ve+Math.imul(Te,Qt)|0)+Math.imul(Ge,yt)|0,We=We+Math[z(1805)](Ge,Qt)|0,Pe=Pe+Math.imul(Ie,Ze)|0,ve=(ve+Math[z(1805)](Ie,ut)|0)+Math.imul(we,Ze)|0,We=We+Math.imul(we,ut)|0,Pe=Pe+Math[z(1805)](me,St)|0,ve=(ve+Math[z(1805)](me,gt)|0)+Math.imul(Ce,St)|0,We=We+Math[z(1805)](Ce,gt)|0,(ti+(Pe+Math[z(1805)](se,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](se,Lt)|0)+Math[z(1805)](de,xt)|0))<<13)|0),pi=(ti=((We+Math.imul(de,Lt)|0)+(ve>>>13)|0)+(jt>>>26)|0,jt&=67108863,Pe=Math[z(1805)](ze,Xe),ve=Math[z(1805)](ze,et)+Math.imul(Je,Xe)|0,We=Math[z(1805)](Je,et),Pe=Pe+Math[z(1805)](Ne,ot)|0,ve=(ve+Math[z(1805)](Ne,Et)|0)+Math[z(1805)](Ue,ot)|0,We=We+Math.imul(Ue,Et)|0,Pe=Pe+Math[z(1805)](Le,Ct)|0,ve=(ve+Math[z(1805)](Le,ct)|0)+Math[z(1805)](be,Ct)|0,We=We+Math[z(1805)](be,ct)|0,Pe=Pe+Math.imul(ke,yt)|0,ve=(ve+Math[z(1805)](ke,Qt)|0)+Math[z(1805)](Oe,yt)|0,We=We+Math[z(1805)](Oe,Qt)|0,Pe=Pe+Math.imul(Te,Ze)|0,ve=(ve+Math[z(1805)](Te,ut)|0)+Math[z(1805)](Ge,Ze)|0,We=We+Math.imul(Ge,ut)|0,Pe=Pe+Math[z(1805)](Ie,St)|0,ve=(ve+Math[z(1805)](Ie,gt)|0)+Math[z(1805)](we,St)|0,We=We+Math[z(1805)](we,gt)|0,(ti+(Pe+Math.imul(me,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](me,Lt)|0)+Math.imul(Ce,xt)|0))<<13)|0),mi=(ti=((We+Math.imul(Ce,Lt)|0)+(ve>>>13)|0)+(pi>>>26)|0,pi&=67108863,Pe=Math[z(1805)](ze,ot),ve=Math.imul(ze,Et)+Math[z(1805)](Je,ot)|0,We=Math.imul(Je,Et),Pe=Pe+Math[z(1805)](Ne,Ct)|0,ve=(ve+Math[z(1805)](Ne,ct)|0)+Math[z(1805)](Ue,Ct)|0,We=We+Math.imul(Ue,ct)|0,Pe=Pe+Math.imul(Le,yt)|0,ve=(ve+Math[z(1805)](Le,Qt)|0)+Math[z(1805)](be,yt)|0,We=We+Math[z(1805)](be,Qt)|0,Pe=Pe+Math[z(1805)](ke,Ze)|0,ve=(ve+Math[z(1805)](ke,ut)|0)+Math[z(1805)](Oe,Ze)|0,We=We+Math[z(1805)](Oe,ut)|0,Pe=Pe+Math[z(1805)](Te,St)|0,ve=(ve+Math[z(1805)](Te,gt)|0)+Math[z(1805)](Ge,St)|0,We=We+Math[z(1805)](Ge,gt)|0,(ti+(Pe+Math.imul(Ie,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](Ie,Lt)|0)+Math[z(1805)](we,xt)|0))<<13)|0),Kt=(ti=((We+Math[z(1805)](we,Lt)|0)+(ve>>>13)|0)+(mi>>>26)|0,mi&=67108863,Pe=Math.imul(ze,Ct),ve=Math[z(1805)](ze,ct)+Math[z(1805)](Je,Ct)|0,We=Math.imul(Je,ct),Pe=Pe+Math[z(1805)](Ne,yt)|0,ve=(ve+Math.imul(Ne,Qt)|0)+Math[z(1805)](Ue,yt)|0,We=We+Math[z(1805)](Ue,Qt)|0,Pe=Pe+Math[z(1805)](Le,Ze)|0,ve=(ve+Math.imul(Le,ut)|0)+Math.imul(be,Ze)|0,We=We+Math[z(1805)](be,ut)|0,Pe=Pe+Math[z(1805)](ke,St)|0,ve=(ve+Math.imul(ke,gt)|0)+Math[z(1805)](Oe,St)|0,We=We+Math.imul(Oe,gt)|0,(ti+(Pe+Math.imul(Te,xt)|0)|0)+((8191&(ve=(ve+Math.imul(Te,Lt)|0)+Math[z(1805)](Ge,xt)|0))<<13)|0),xi=(ti=((We+Math[z(1805)](Ge,Lt)|0)+(ve>>>13)|0)+(Kt>>>26)|0,Kt&=67108863,Pe=Math[z(1805)](ze,yt),ve=Math.imul(ze,Qt)+Math[z(1805)](Je,yt)|0,We=Math[z(1805)](Je,Qt),Pe=Pe+Math[z(1805)](Ne,Ze)|0,ve=(ve+Math[z(1805)](Ne,ut)|0)+Math[z(1805)](Ue,Ze)|0,We=We+Math[z(1805)](Ue,ut)|0,Pe=Pe+Math.imul(Le,St)|0,ve=(ve+Math[z(1805)](Le,gt)|0)+Math[z(1805)](be,St)|0,We=We+Math[z(1805)](be,gt)|0,(ti+(Pe+Math[z(1805)](ke,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](ke,Lt)|0)+Math[z(1805)](Oe,xt)|0))<<13)|0),_t=(ti=((We+Math[z(1805)](Oe,Lt)|0)+(ve>>>13)|0)+(xi>>>26)|0,xi&=67108863,Pe=Math[z(1805)](ze,Ze),ve=Math[z(1805)](ze,ut)+Math[z(1805)](Je,Ze)|0,We=Math[z(1805)](Je,ut),Pe=Pe+Math[z(1805)](Ne,St)|0,ve=(ve+Math[z(1805)](Ne,gt)|0)+Math.imul(Ue,St)|0,We=We+Math.imul(Ue,gt)|0,(ti+(Pe+Math[z(1805)](Le,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](Le,Lt)|0)+Math[z(1805)](be,xt)|0))<<13)|0),Mt=(ti=((We+Math[z(1805)](be,Lt)|0)+(ve>>>13)|0)+(_t>>>26)|0,_t&=67108863,Pe=Math[z(1805)](ze,St),ve=Math.imul(ze,gt)+Math.imul(Je,St)|0,We=Math[z(1805)](Je,gt),(ti+(Pe+Math[z(1805)](Ne,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](Ne,Lt)|0)+Math.imul(Ue,xt)|0))<<13)|0),Ht=(ti=((We+Math[z(1805)](Ue,Lt)|0)+(ve>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,(ti+Math[z(1805)](ze,xt)|0)+((8191&(ve=Math[z(1805)](ze,Lt)+Math[z(1805)](Je,xt)|0))<<13)|0),ti=(Math[z(1805)](Je,Lt)+(ve>>>13)|0)+(Ht>>>26)|0;return Ht&=67108863,re[0]=nt,re[1]=bt,re[2]=Pt,re[3]=It,re[4]=Mi,re[5]=er,re[6]=di,re[7]=wi,re[8]=Ri,re[9]=Ei,re[10]=Wt,re[11]=jt,re[12]=pi,re[13]=mi,re[14]=Kt,re[15]=xi,re[16]=_t,re[17]=Mt,re[18]=Ht,ti!=0&&(re[19]=ti,Y.length++),Y};function ee(U,W,Y){var z=D;return new ie()[z(1210)](U,W,Y)}function ie(U,W){this.x=U,this.y=W}Math[D(1805)]||(q=X),M.prototype[D(685)]=function(U,W){var Y=D,z=this[Y(1383)]+U[Y(1383)];return(this[Y(1383)]===10&&U[Y(1383)]===10?q:z<63?X:z<1024?function(re,se,de){var me=Y;de.negative=se[me(493)]^re[me(493)],de[me(1383)]=re[me(1383)]+se[me(1383)];for(var Ce=0,Ie=0,we=0;we<de.length-1;we++){for(var Te=Ie,Ie=0,Ge=67108863&Ce,ke=Math[me(1869)](we,se[me(1383)]-1),Oe=Math[me(323)](0,we-re.length+1);Oe<=ke;Oe++){var Le,be=(0|re[me(660)][we-Oe])*(0|se[me(660)][Oe]),Ge=67108863&(Le=(67108863&be)+Ge|0);Ie+=(Te=(Te=Te+(be/67108864|0)|0)+(Le>>>26)|0)>>>26,Te&=67108863}de.words[we]=Ge,Ce=Te,Te=Ie}return Ce!==0?de[me(660)][we]=Ce:de[me(1383)]--,de[me(968)]()}:ee)(this,U,W)},ie[D(1166)].makeRBT=function(U){for(var W=D,Y=new Array(U),z=M.prototype[W(623)](U)-1,re=0;re<U;re++)Y[re]=this[W(646)](re,z,U);return Y},ie.prototype.revBin=function(U,W,Y){if(U===0||U===Y-1)return U;for(var z=0,re=0;re<W;re++)z|=(1&U)<<W-re-1,U>>=1;return z},ie.prototype[D(1257)]=function(U,W,Y,z,re,se){for(var de=0;de<se;de++)z[de]=W[U[de]],re[de]=Y[U[de]]},ie[D(1166)].transform=function(U,W,Y,z,re,se){var de=D;this[de(1257)](se,U,W,Y,z,re);for(var me=1;me<re;me<<=1)for(var Ce=me<<1,Ie=Math[de(1147)](2*Math.PI/Ce),we=Math.sin(2*Math.PI/Ce),Te=0;Te<re;Te+=Ce)for(var Ge=Ie,ke=we,Oe=0;Oe<me;Oe++){var Le=Y[Te+Oe],be=z[Te+Oe],Ne=Y[Te+Oe+me],Ue=Ge*Ne-ke*(ze=z[Te+Oe+me]),ze=Ge*ze+ke*Ne;Y[Te+Oe]=Le+(Ne=Ue),z[Te+Oe]=be+ze,Y[Te+Oe+me]=Le-Ne,z[Te+Oe+me]=be-ze,Oe!==Ce&&(Ue=Ie*Ge-we*ke,ke=Ie*ke+we*Ge,Ge=Ue)}},ie.prototype[D(1272)]=function(U,W){for(var W=1&(z=1|Math.max(W,U)),Y=0,z=z/2|0;z;z>>>=1)Y++;return 1<<Y+1+W},ie.prototype[D(1184)]=function(U,W,Y){if(!(Y<=1))for(var z=0;z<Y/2;z++){var re=U[z];U[z]=U[Y-z-1],U[Y-z-1]=re,re=W[z],W[z]=-W[Y-z-1],W[Y-z-1]=-re}},ie[D(1166)][D(949)]=function(U,W){for(var Y=D,z=0,re=0;re<W/2;re++){var se=8192*Math[Y(1829)](U[2*re+1]/W)+Math[Y(1829)](U[2*re]/W)+z;U[re]=67108863&se,z=se<67108864?0:se/67108864|0}return U},ie[D(1166)][D(955)]=function(U,W,Y,z){for(var re=0,se=0;se<W;se++)re+=0|U[se],Y[2*se]=8191&re,Y[2*se+1]=8191&(re>>>=13),re>>>=13;for(se=2*W;se<z;++se)Y[se]=0;R(re===0),R((-8192&re)==0)},ie[D(1166)][D(737)]=function(U){for(var W=new Array(U),Y=0;Y<U;Y++)W[Y]=0;return W},ie[D(1166)][D(1210)]=function(U,W,Y){var z=D,re=2*this.guessLen13b(U[z(1383)],W[z(1383)]),se=this[z(1369)](re),de=this[z(737)](re),me=new Array(re),Ce=new Array(re),Ie=new Array(re),we=new Array(re),Te=new Array(re),Ge=new Array(re),ke=Y.words;ke.length=re,this[z(955)](U[z(660)],U.length,me,re),this[z(955)](W.words,W[z(1383)],we,re),this[z(684)](me,de,Ce,Ie,re,se),this[z(684)](we,de,Te,Ge,re,se);for(var Oe=0;Oe<re;Oe++){var Le=Ce[Oe]*Te[Oe]-Ie[Oe]*Ge[Oe];Ie[Oe]=Ce[Oe]*Ge[Oe]+Ie[Oe]*Te[Oe],Ce[Oe]=Le}return this[z(1184)](Ce,Ie,re),this[z(684)](Ce,Ie,ke,de,re,se),this.conjugate(ke,de,re),this[z(949)](ke,re),Y[z(493)]=U[z(493)]^W[z(493)],Y[z(1383)]=U.length+W.length,Y[z(968)]()},M.prototype.mul=function(U){var W=D,Y=new M(null);return Y.words=new Array(this[W(1383)]+U[W(1383)]),this[W(685)](U,Y)},M.prototype[D(1579)]=function(U){var W=D,Y=new M(null);return Y[W(660)]=new Array(this[W(1383)]+U[W(1383)]),ee(this,U,Y)},M[D(1166)][D(1805)]=function(U){var W=D;return this[W(2164)]()[W(685)](U,this)},M[D(1166)][D(683)]=function(U){var W=D;R(W(2013)==typeof U),R(U<67108864);for(var Y=0,z=0;z<this[W(1383)];z++){var re=(0|this[W(660)][z])*U,se=(67108863&re)+(67108863&Y),Y=(Y>>=26)+(re/67108864|0)+(se>>>26);this[W(660)][z]=67108863&se}return Y!==0&&(this[W(660)][z]=Y,this.length++),this},M[D(1166)][D(744)]=function(U){var W=D;return this[W(2164)]()[W(683)](U)},M[D(1166)][D(1219)]=function(){var U=D;return this[U(2545)](this)},M[D(1166)][D(468)]=function(){var U=D;return this.imul(this[U(2164)]())},M.prototype.pow=function(U){var W=D,Y=function(de){for(var me=Ut,Ce=new Array(de.bitLength()),Ie=0;Ie<Ce[me(1383)];Ie++){var we=Ie%26;Ce[Ie]=(de[me(660)][Ie/26|0]&1<<we)>>>we}return Ce}(U);if(Y[W(1383)]===0)return new M(1);for(var z=this,re=0;re<Y[W(1383)]&&Y[re]===0;re++,z=z.sqr());if(++re<Y[W(1383)])for(var se=z[W(1219)]();re<Y[W(1383)];re++,se=se[W(1219)]())Y[re]!==0&&(z=z[W(2545)](se));return z},M[D(1166)][D(1328)]=function(U){var W=D;R(W(2013)==typeof U&&0<=U);var Y=U%26,z=(U-Y)/26,re=67108863>>>26-Y<<26-Y;if(Y!=0){for(var se=0,de=0;de<this[W(1383)];de++){var me=this[W(660)][de]&re,Ce=(0|this.words[de])-me<<Y;this[W(660)][de]=Ce|se,se=me>>>26-Y}se&&(this[W(660)][de]=se,this[W(1383)]++)}if(z!=0){for(de=this[W(1383)]-1;0<=de;de--)this[W(660)][de+z]=this[W(660)][de];for(de=0;de<z;de++)this.words[de]=0;this[W(1383)]+=z}return this.strip()},M.prototype[D(1696)]=function(U){var W=D;return R(this[W(493)]===0),this.iushln(U)},M[D(1166)].iushrn=function(U,W,Y){var z=D;R(z(2013)==typeof U&&0<=U);var re,re=W?(W-W%26)/26:0,se=U%26,de=Math[z(1869)]((U-se)/26,this[z(1383)]),me=67108863^67108863>>>se<<se,Ce=Y;if(re-=de,re=Math[z(323)](0,re),Ce){for(var Ie=0;Ie<de;Ie++)Ce[z(660)][Ie]=this[z(660)][Ie];Ce[z(1383)]=de}if(de!==0)if(this[z(1383)]>de)for(this[z(1383)]-=de,Ie=0;Ie<this[z(1383)];Ie++)this[z(660)][Ie]=this[z(660)][Ie+de];else this[z(660)][0]=0,this[z(1383)]=1;for(var we=0,Ie=this[z(1383)]-1;0<=Ie&&(we!==0||re<=Ie);Ie--){var Te=0|this[z(660)][Ie];this.words[Ie]=we<<26-se|Te>>>se,we=Te&me}return Ce&&we!==0&&(Ce[z(660)][Ce[z(1383)]++]=we),this[z(1383)]===0&&(this[z(660)][0]=0,this[z(1383)]=1),this[z(968)]()},M[D(1166)][D(1376)]=function(U,W,Y){var z=D;return R(this[z(493)]===0),this[z(1487)](U,W,Y)},M[D(1166)].shln=function(U){return this.clone().ishln(U)},M[D(1166)][D(1338)]=function(U){var W=D;return this[W(2164)]()[W(1328)](U)},M.prototype[D(1527)]=function(U){var W=D;return this.clone()[W(1376)](U)},M.prototype[D(2384)]=function(U){var W=D;return this[W(2164)]()[W(1487)](U)},M[D(1166)][D(901)]=function(z){var W=D;R(W(2013)==typeof z&&0<=z);var Y=z%26,z=(z-Y)/26;return!(this[W(1383)]<=z||!(this[W(660)][z]&1<<Y))},M[D(1166)][D(1617)]=function(z){var W=D;R(W(2013)==typeof z&&0<=z);var Y=z%26,z=(z-Y)/26;return R(this.negative===0,W(2782)),this[W(1383)]<=z?this:(Y!=0&&z++,this[W(1383)]=Math[W(1869)](z,this.length),Y!=0&&(this.words[this[W(1383)]-1]&=67108863^67108863>>>Y<<Y),this[W(968)]())},M.prototype[D(316)]=function(U){var W=D;return this[W(2164)]()[W(1617)](U)},M[D(1166)][D(2695)]=function(U){var W=D;return R(W(2013)==typeof U),R(U<67108864),U<0?this[W(590)](-U):this[W(493)]!==0?(this[W(1383)]===1&&(0|this.words[0])<U?(this.words[0]=U-(0|this[W(660)][0]),this[W(493)]=0):(this[W(493)]=0,this[W(590)](U),this[W(493)]=1),this):this[W(2079)](U)},M[D(1166)][D(2079)]=function(U){var W=D;this.words[0]+=U;for(var Y=0;Y<this[W(1383)]&&67108864<=this[W(660)][Y];Y++)this[W(660)][Y]-=67108864,Y===this[W(1383)]-1?this[W(660)][Y+1]=1:this[W(660)][Y+1]++;return this[W(1383)]=Math[W(323)](this[W(1383)],Y+1),this},M.prototype[D(590)]=function(U){var W=D;if(R(W(2013)==typeof U),R(U<67108864),U<0)return this[W(2695)](-U);if(this[W(493)]!==0)return this[W(493)]=0,this[W(2695)](U),this[W(493)]=1,this;if(this[W(660)][0]-=U,this[W(1383)]===1&&this[W(660)][0]<0)this[W(660)][0]=-this[W(660)][0],this[W(493)]=1;else for(var Y=0;Y<this[W(1383)]&&this.words[Y]<0;Y++)this[W(660)][Y]+=67108864,--this[W(660)][Y+1];return this[W(968)]()},M[D(1166)][D(2454)]=function(U){var W=D;return this[W(2164)]().iaddn(U)},M.prototype.subn=function(U){var W=D;return this[W(2164)]()[W(590)](U)},M[D(1166)][D(202)]=function(){return this.negative=0,this},M[D(1166)][D(1914)]=function(){var U=D;return this[U(2164)]()[U(202)]()},M[D(1166)][D(862)]=function(U,W,Y){for(var z=D,re=U[z(1383)]+Y,se=(this[z(159)](re),0),de=0;de<U[z(1383)];de++){var me=(0|this.words[de+Y])+se,Ce=(0|U[z(660)][de])*W,se=((me-=67108863&Ce)>>26)-(Ce/67108864|0);this[z(660)][de+Y]=67108863&me}for(;de<this[z(1383)]-Y;de++)se=(me=(0|this.words[de+Y])+se)>>26,this[z(660)][de+Y]=67108863&me;if(se===0)return this[z(968)]();for(R(se===-1),de=se=0;de<this[z(1383)];de++)se=(me=-(0|this[z(660)][de])+se)>>26,this[z(660)][de]=67108863&me;return this.negative=1,this.strip()},M[D(1166)][D(863)]=function(U,W){var Y=D;this[Y(1383)],U[Y(1383)];var z,re=this[Y(2164)](),se=U,de=0|se[Y(660)][se[Y(1383)]-1],me=((U=26-this[Y(623)](de))!=0&&(se=se[Y(1338)](U),re[Y(1328)](U),de=0|se.words[se[Y(1383)]-1]),re[Y(1383)]-se[Y(1383)]);if(Y(1764)!==W){(z=new M(null)).length=1+me,z[Y(660)]=new Array(z.length);for(var Ce=0;Ce<z[Y(1383)];Ce++)z[Y(660)][Ce]=0}var Ie=re.clone()[Y(862)](se,1,me);Ie[Y(493)]===0&&(re=Ie,z&&(z[Y(660)][me]=1));for(var we=me-1;0<=we;we--){var Te=67108864*(0|re.words[se[Y(1383)]+we])+(0|re[Y(660)][se[Y(1383)]+we-1]),Te=Math[Y(1869)](Te/de|0,67108863);for(re[Y(862)](se,Te,we);re[Y(493)]!==0;)Te--,re[Y(493)]=0,re[Y(862)](se,1,we),re[Y(2356)]()||(re[Y(493)]^=1);z&&(z[Y(660)][we]=Te)}return z&&z.strip(),re.strip(),W!=="div"&&U!=0&&re[Y(1487)](U),{div:z||null,mod:re}},M[D(1166)].divmod=function(U,W,Y){var z=D;return R(!U[z(2356)]()),this.isZero()?{div:new M(0),mod:new M(0)}:this[z(493)]!==0&&U[z(493)]===0?(de=this[z(828)]()[z(2550)](U,W),z(1764)!==W&&(re=de[z(1801)][z(828)]()),z(1801)!==W&&(se=de[z(1764)].neg(),Y&&se[z(493)]!==0&&se[z(187)](U)),{div:re,mod:se}):this[z(493)]===0&&U[z(493)]!==0?(de=this.divmod(U[z(828)](),W),{div:re=z(1764)!==W?de.div[z(828)]():re,mod:de[z(1764)]}):(this[z(493)]&U.negative)!=0?(de=this[z(828)]()[z(2550)](U.neg(),W),z(1801)!==W&&(se=de.mod[z(828)](),Y&&se[z(493)]!==0&&se[z(258)](U)),{div:de[z(1801)],mod:se}):U[z(1383)]>this[z(1383)]||this[z(526)](U)<0?{div:new M(0),mod:this}:U.length===1?W==="div"?{div:this[z(545)](U[z(660)][0]),mod:null}:z(1764)===W?{div:null,mod:new M(this[z(1825)](U[z(660)][0]))}:{div:this[z(545)](U[z(660)][0]),mod:new M(this[z(1825)](U[z(660)][0]))}:this._wordDiv(U,W);var re,se,de},M[D(1166)][D(1801)]=function(U){var W=D;return this[W(2550)](U,W(1801),!1).div},M[D(1166)][D(1764)]=function(U){var W=D;return this[W(2550)](U,W(1764),!1)[W(1764)]},M[D(1166)][D(1372)]=function(U){var W=D;return this[W(2550)](U,W(1764),!0)[W(1764)]},M[D(1166)][D(2078)]=function(re){var W=D,Y=this[W(2550)](re);if(Y.mod.isZero())return Y[W(1801)];var se=Y[W(1801)].negative!==0?Y[W(1764)].isub(re):Y.mod,z=re[W(2384)](1),re=re[W(329)](1),se=se.cmp(z);return se<0||re===1&&se===0?Y[W(1801)]:Y.div[W(493)]!==0?Y[W(1801)][W(590)](1):Y[W(1801)][W(2695)](1)},M[D(1166)].modn=function(U){var W=D;R(U<=67108863);for(var Y=(1<<26)%U,z=0,re=this[W(1383)]-1;0<=re;re--)z=(Y*z+(0|this[W(660)][re]))%U;return z},M.prototype[D(2593)]=function(U){var W=D;R(U<=67108863);for(var Y=0,z=this[W(1383)]-1;0<=z;z--){var re=(0|this.words[z])+67108864*Y;this[W(660)][z]=re/U|0,Y=re%U}return this[W(968)]()},M.prototype[D(545)]=function(U){var W=D;return this[W(2164)]()[W(2593)](U)},M[D(1166)].egcd=function(U){var W=D;R(U.negative===0),R(!U[W(2356)]());for(var z=this,Y=U[W(2164)](),z=z[W(493)]!==0?z[W(1372)](U):z.clone(),re=new M(1),se=new M(0),de=new M(0),me=new M(1),Ce=0;z.isEven()&&Y[W(631)]();)z[W(1487)](1),Y[W(1487)](1),++Ce;for(var Ie=Y[W(2164)](),we=z.clone();!z[W(2356)]();){for(var Te=0,Ge=1;(z[W(660)][0]&Ge)==0&&Te<26;++Te,Ge<<=1);if(0<Te)for(z[W(1487)](Te);0<Te--;)(re.isOdd()||se[W(2108)]())&&(re[W(187)](Ie),se[W(258)](we)),re[W(1487)](1),se[W(1487)](1);for(var ke=0,Oe=1;(Y[W(660)][0]&Oe)==0&&ke<26;++ke,Oe<<=1);if(0<ke)for(Y[W(1487)](ke);0<ke--;)(de[W(2108)]()||me[W(2108)]())&&(de[W(187)](Ie),me[W(258)](we)),de[W(1487)](1),me[W(1487)](1);0<=z.cmp(Y)?(z.isub(Y),re[W(258)](de),se[W(258)](me)):(Y[W(258)](z),de.isub(re),me[W(258)](se))}return{a:de,b:me,gcd:Y[W(1328)](Ce)}},M[D(1166)][D(1243)]=function(U){var W=D;R(U[W(493)]===0),R(!U[W(2356)]());for(var Y,re=this,z=U[W(2164)](),re=re[W(493)]!==0?re.umod(U):re[W(2164)](),se=new M(1),de=new M(0),me=z[W(2164)]();0<re[W(1329)](1)&&0<z.cmpn(1);){for(var Ce=0,Ie=1;(re[W(660)][0]&Ie)==0&&Ce<26;++Ce,Ie<<=1);if(0<Ce)for(re[W(1487)](Ce);0<Ce--;)se.isOdd()&&se.iadd(me),se[W(1487)](1);for(var we=0,Te=1;(z[W(660)][0]&Te)==0&&we<26;++we,Te<<=1);if(0<we)for(z[W(1487)](we);0<we--;)de[W(2108)]()&&de[W(187)](me),de[W(1487)](1);0<=re.cmp(z)?(re[W(258)](z),se[W(258)](de)):(z.isub(re),de[W(258)](se))}return(Y=re[W(1329)](1)===0?se:de)[W(1329)](0)<0&&Y.iadd(U),Y},M[D(1166)].gcd=function(U){var W=D;if(this[W(2356)]())return U[W(1914)]();if(U[W(2356)]())return this.abs();var Y=this.clone(),z=U[W(2164)]();Y[W(493)]=0;for(var re=z.negative=0;Y[W(631)]()&&z.isEven();re++)Y[W(1487)](1),z[W(1487)](1);for(;;){for(;Y[W(631)]();)Y.iushrn(1);for(;z[W(631)]();)z[W(1487)](1);var se=Y[W(526)](z);if(se<0)var de=Y,Y=z,z=de;else if(se===0||z[W(1329)](1)===0)break;Y[W(258)](z)}return z.iushln(re)},M.prototype.invm=function(U){var W=D;return this[W(1156)](U).a[W(1372)](U)},M[D(1166)][D(631)]=function(){var U=D;return(1&this[U(660)][0])==0},M.prototype[D(2108)]=function(){var U=D;return(1&this[U(660)][0])==1},M[D(1166)][D(329)]=function(U){var W=D;return this[W(660)][0]&U},M[D(1166)][D(1468)]=function(Y){var W=D;R(W(2013)==typeof Y);var z=Y%26,Y=(Y-z)/26,z=1<<z;if(this[W(1383)]<=Y)return this[W(159)](1+Y),this[W(660)][Y]|=z,this;for(var re=z,se=Y;re!==0&&se<this.length;se++){var de=0|this.words[se],re=(de+=re)>>>26;de&=67108863,this[W(660)][se]=de}return re!==0&&(this[W(660)][se]=re,this[W(1383)]++),this},M[D(1166)].isZero=function(){var U=D;return this.length===1&&this[U(660)][0]===0},M[D(1166)][D(1329)]=function(U){var W=D,Y=U<0;return this[W(493)]===0||Y?this.negative===0&&Y?1:(this.strip(),Y=1<this[W(1383)]?1:(R((U=Y?-U:U)<=67108863,W(2156)),(Y=0|this[W(660)][0])===U?0:Y<U?-1:1),this[W(493)]!==0?0|-Y:Y):-1},M[D(1166)].cmp=function(U){var W=D;return this[W(493)]!==0&&U[W(493)]===0?-1:this[W(493)]===0&&U.negative!==0?1:(U=this[W(1627)](U),this[W(493)]!==0?0|-U:U)},M[D(1166)].ucmp=function(U){var W=D;if(this[W(1383)]>U[W(1383)])return 1;if(this.length<U[W(1383)])return-1;for(var Y=0,z=this[W(1383)]-1;0<=z;z--){var re=0|this.words[z],se=0|U[W(660)][z];if(re!=se){re<se?Y=-1:se<re&&(Y=1);break}}return Y},M[D(1166)][D(1023)]=function(U){var W=D;return this[W(1329)](U)===1},M[D(1166)].gt=function(U){var W=D;return this[W(526)](U)===1},M[D(1166)][D(1191)]=function(U){var W=D;return 0<=this[W(1329)](U)},M[D(1166)][D(638)]=function(U){return 0<=this.cmp(U)},M[D(1166)].ltn=function(U){var W=D;return this[W(1329)](U)===-1},M[D(1166)].lt=function(U){return this.cmp(U)===-1},M.prototype[D(2241)]=function(U){var W=D;return this[W(1329)](U)<=0},M.prototype[D(645)]=function(U){var W=D;return this[W(526)](U)<=0},M[D(1166)].eqn=function(U){var W=D;return this[W(1329)](U)===0},M[D(1166)].eq=function(U){var W=D;return this[W(526)](U)===0},M[D(2178)]=function(U){return new fe(U)},M[D(1166)][D(1190)]=function(U){var W=D;return R(!this[W(2178)],W(304)),R(this[W(493)]===0,W(906)),U[W(1476)](this)[W(1836)](U)},M[D(1166)][D(1642)]=function(){var U=D;return R(this[U(2178)],U(2420)),this[U(2178)][U(624)](this)},M[D(1166)][D(1836)]=function(U){var W=D;return this[W(2178)]=U,this},M[D(1166)].forceRed=function(U){var W=D;return R(!this[W(2178)],"Already a number in reduction context"),this[W(1836)](U)},M.prototype.redAdd=function(U){var W=D;return R(this[W(2178)],"redAdd works only with red numbers"),this.red[W(2400)](this,U)},M[D(1166)][D(2597)]=function(U){var W=D;return R(this[W(2178)],W(559)),this.red[W(187)](this,U)},M.prototype[D(1121)]=function(U){var W=D;return R(this[W(2178)],W(1575)),this[W(2178)][W(1550)](this,U)},M[D(1166)][D(1910)]=function(U){var W=D;return R(this[W(2178)],W(1318)),this[W(2178)][W(258)](this,U)},M[D(1166)].redShl=function(U){var W=D;return R(this[W(2178)],W(656)),this[W(2178)][W(346)](this,U)},M[D(1166)].redMul=function(U){var W=D;return R(this[W(2178)],W(301)),this[W(2178)]._verify2(this,U),this.red[W(2545)](this,U)},M[D(1166)][D(1149)]=function(U){var W=D;return R(this.red,W(301)),this[W(2178)][W(1769)](this,U),this[W(2178)].imul(this,U)},M[D(1166)].redSqr=function(){var U=D;return R(this[U(2178)],U(2776)),this.red[U(1819)](this),this[U(2178)][U(1219)](this)},M[D(1166)][D(2306)]=function(){var U=D;return R(this[U(2178)],U(2569)),this[U(2178)]._verify1(this),this[U(2178)][U(468)](this)},M.prototype[D(1437)]=function(){var U=D;return R(this[U(2178)],"redSqrt works only with red numbers"),this.red[U(1819)](this),this.red[U(820)](this)},M[D(1166)][D(2766)]=function(){var U=D;return R(this[U(2178)],U(1362)),this[U(2178)][U(1819)](this),this[U(2178)][U(2728)](this)},M[D(1166)][D(1364)]=function(){var U=D;return R(this[U(2178)],U(1775)),this[U(2178)][U(1819)](this),this[U(2178)][U(828)](this)},M[D(1166)][D(1396)]=function(U){var W=D;return R(this.red&&!U[W(2178)],"redPow(normalNum)"),this.red._verify1(this),this[W(2178)][W(337)](this,U)};var H={k256:null,p224:null,p192:null,p25519:null};function le(U,W){var Y=D;this.name=U,this.p=new M(W,16),this.n=this.p.bitLength(),this.k=new M(1)[Y(1328)](this.n)[Y(258)](this.p),this[Y(1120)]=this._tmp()}function ue(){var U=D;le[U(2623)](this,U(238),U(215))}function Ae(){var U=D;le[U(2623)](this,U(464),U(1996))}function he(){var U=D;le[U(2623)](this,U(505),U(1999))}function ge(){var U=D;le[U(2623)](this,U(665),U(1684))}function fe(U){var W=D,Y;typeof U=="string"?(Y=M[W(865)](U),this.m=Y.p,this[W(1390)]=Y):(R(U[W(1023)](1),"modulus must be greater than 1"),this.m=U,this.prime=null)}function ae(U){var W=D;fe[W(2623)](this,U),this[W(537)]=this.m.bitLength(),this[W(537)]%26!=0&&(this.shift+=26-this[W(537)]%26),this.r=new M(1).iushln(this[W(537)]),this.r2=this.imod(this.r[W(1219)]()),this.rinv=this.r[W(1243)](this.m),this.minv=this[W(467)].mul(this.r)[W(590)](1)[W(1801)](this.m),this.minv=this[W(2487)].umod(this.r),this[W(2487)]=this.r[W(1550)](this[W(2487)])}le[D(1166)][D(1920)]=function(){var U=D,W=new M(null);return W[U(660)]=new Array(Math.ceil(this.n/13)),W},le[D(1166)][D(518)]=function(U){for(var W=D,Y,z=U;this[W(2259)](z,this.tmp),(Y=(z=(z=this[W(1259)](z))[W(187)](this.tmp))[W(485)]())>this.n;);return U=Y<this.n?-1:z[W(1627)](this.p),U===0?(z[W(660)][0]=0,z[W(1383)]=1):0<U?z.isub(this.p):z.strip!==void 0?z.strip():z[W(1076)](),z},le.prototype[D(2259)]=function(U,W){var Y=D;U[Y(1487)](this.n,0,W)},le[D(1166)].imulK=function(U){var W=D;return U[W(1805)](this.k)},P(ue,le),ue.prototype[D(2259)]=function(U,W){for(var Y=D,z=Math.min(U.length,9),re=0;re<z;re++)W.words[re]=U[Y(660)][re];if(W[Y(1383)]=z,U[Y(1383)]<=9)return U[Y(660)][0]=0,void(U[Y(1383)]=1);var se=U[Y(660)][9];for(W.words[W[Y(1383)]++]=4194303&se,re=10;re<U[Y(1383)];re++){var de=0|U[Y(660)][re];U[Y(660)][re-10]=(4194303&de)<<4|se>>>22,se=de}(U.words[re-10]=se>>>=22)==0&&10<U.length?U[Y(1383)]-=10:U.length-=9},ue[D(1166)][D(1259)]=function(U){var W=D;U[W(660)][U[W(1383)]]=0,U[W(660)][U.length+1]=0,U[W(1383)]+=2;for(var Y=0,z=0;z<U.length;z++){var re=0|U.words[z];Y+=977*re,U[W(660)][z]=67108863&Y,Y=64*re+(Y/67108864|0)}return U[W(660)][U[W(1383)]-1]===0&&(U.length--,U[W(660)][U.length-1]===0&&U[W(1383)]--),U},P(Ae,le),P(he,le),P(ge,le),ge[D(1166)][D(1259)]=function(U){for(var W=D,Y=0,z=0;z<U[W(1383)];z++){var re=19*(0|U[W(660)][z])+Y,se=67108863&re;re>>>=26,U[W(660)][z]=se,Y=re}return Y!==0&&(U[W(660)][U.length++]=Y),U},M._prime=function(U){var W=D;if(H[U])return H[U];var Y;if(W(238)===U)Y=new ue;else if(W(464)===U)Y=new Ae;else if(U==="p192")Y=new he;else{if(W(2441)!==U)throw new Error(W(1412)+U);Y=new ge}return H[U]=Y},fe[D(1166)][D(1819)]=function(U){var W=D;R(U[W(493)]===0,"red works only with positives"),R(U[W(2178)],W(218))},fe[D(1166)][D(1769)]=function(U,W){var Y=D;R((U[Y(493)]|W[Y(493)])==0,Y(906)),R(U.red&&U.red===W.red,Y(218))},fe[D(1166)][D(1028)]=function(U){var W=D;return(this[W(1390)]?this[W(1390)][W(518)](U):U[W(1372)](this.m))[W(1836)](this)},fe.prototype[D(828)]=function(U){var W=D;return U[W(2356)]()?U[W(2164)]():this.m.sub(U)._forceRed(this)},fe.prototype[D(2400)]=function(U,W){var Y=D;return this[Y(1769)](U,W),U=U[Y(2400)](W),0<=U[Y(526)](this.m)&&U[Y(258)](this.m),U._forceRed(this)},fe.prototype[D(187)]=function(U,W){var Y=D;return this[Y(1769)](U,W),U=U[Y(187)](W),0<=U[Y(526)](this.m)&&U.isub(this.m),U},fe.prototype[D(1550)]=function(U,W){var Y=D;return this._verify2(U,W),U=U[Y(1550)](W),U.cmpn(0)<0&&U.iadd(this.m),U[Y(1836)](this)},fe[D(1166)][D(258)]=function(U,W){var Y=D;return this._verify2(U,W),U=U[Y(258)](W),U.cmpn(0)<0&&U[Y(187)](this.m),U},fe[D(1166)].shl=function(U,W){var Y=D;return this[Y(1819)](U),this.imod(U.ushln(W))},fe[D(1166)][D(1805)]=function(U,W){var Y=D;return this[Y(1769)](U,W),this[Y(1028)](U[Y(1805)](W))},fe[D(1166)][D(2545)]=function(U,W){var Y=D;return this[Y(1769)](U,W),this[Y(1028)](U.mul(W))},fe.prototype[D(468)]=function(U){var W=D;return this[W(1805)](U,U[W(2164)]())},fe[D(1166)][D(1219)]=function(U){var W=D;return this[W(2545)](U,U)},fe[D(1166)][D(820)]=function(U){var W=D;if(U[W(2356)]())return U[W(2164)]();var Y=this.m[W(329)](3);if(R(Y%2==1),Y===3)return Y=this.m[W(2400)](new M(1)).iushrn(2),this[W(337)](U,Y);for(var z=this.m[W(160)](1),re=0;!z.isZero()&&z[W(329)](1)===0;)re++,z.iushrn(1);R(!z[W(2356)]());for(var se=new M(1)[W(1190)](this),de=se.redNeg(),me=this.m[W(160)](1).iushrn(1),Ce=new M(2*(Ce=this.m[W(485)]())*Ce)[W(1190)](this);this.pow(Ce,me)[W(526)](de)!==0;)Ce[W(2597)](de);for(var Ie=this[W(337)](Ce,z),we=this[W(337)](U,z[W(2454)](1)[W(1487)](1)),Te=this.pow(U,z),Ge=re;Te[W(526)](se)!==0;){for(var ke=Te,Oe=0;ke[W(526)](se)!==0;Oe++)ke=ke[W(1533)]();R(Oe<Ge);var Le=this[W(337)](Ie,new M(1)[W(1328)](Ge-Oe-1)),we=we[W(249)](Le),Ie=Le[W(1533)](),Te=Te.redMul(Ie),Ge=Oe}return we},fe[D(1166)][D(2728)]=function(U){var W=D;return U=U[W(1243)](this.m),U[W(493)]!==0?(U[W(493)]=0,this[W(1028)](U)[W(1364)]()):this[W(1028)](U)},fe[D(1166)].pow=function(U,W){var Y=D;if(W[Y(2356)]())return new M(1)[Y(1190)](this);if(W[Y(1329)](1)===0)return U[Y(2164)]();var z=new Array(16);z[0]=new M(1)[Y(1190)](this),z[1]=U;for(var re=2;re<z[Y(1383)];re++)z[re]=this.mul(z[re-1],U);var se=z[0],de=0,me=0,Ce=W[Y(485)]()%26;for(Ce===0&&(Ce=26),re=W.length-1;0<=re;re--){for(var Ie=W.words[re],we=Ce-1;0<=we;we--){var Te=Ie>>we&1;se!==z[0]&&(se=this.sqr(se)),Te==0&&de===0?me=0:(de=de<<1|Te,(++me==4||re===0&&we===0)&&(se=this[Y(2545)](se,z[de]),de=me=0))}Ce=26}return se},fe[D(1166)][D(1476)]=function(U){var W=D,Y=U[W(1372)](this.m);return Y===U?Y[W(2164)]():Y},fe[D(1166)][D(624)]=function(U){var W=D;return U=U[W(2164)](),U.red=null,U},M[D(2129)]=function(U){return new ae(U)},P(ae,fe),ae.prototype[D(1476)]=function(U){var W=D;return this[W(1028)](U[W(1338)](this[W(537)]))},ae[D(1166)][D(624)]=function(U){var W=D;return U=this[W(1028)](U.mul(this.rinv)),U[W(2178)]=null,U},ae.prototype[D(1805)]=function(U,W){var Y=D;return U.isZero()||W.isZero()?(U.words[0]=0,U[Y(1383)]=1,U):(U=U[Y(1805)](W),W=U[Y(316)](this[Y(537)])[Y(2545)](this[Y(2487)])[Y(1617)](this[Y(537)])[Y(2545)](this.m),U=U[Y(258)](W)[Y(1487)](this[Y(537)]),W=U,0<=U[Y(526)](this.m)?W=U.isub(this.m):U[Y(1329)](0)<0&&(W=U[Y(187)](this.m)),W[Y(1836)](this))},ae[D(1166)].mul=function(U,W){var Y=D;return U[Y(2356)]()||W.isZero()?new M(0)[Y(1836)](this):(U=U[Y(2545)](W),W=U.maskn(this.shift).mul(this[Y(2487)])[Y(1617)](this[Y(537)])[Y(2545)](this.m),U=U[Y(258)](W).iushrn(this[Y(537)]),W=U,0<=U[Y(526)](this.m)?W=U[Y(258)](this.m):U[Y(1329)](0)<0&&(W=U[Y(187)](this.m)),W._forceRed(this))},ae.prototype[D(2728)]=function(U){var W=D;return this[W(1028)](U._invmp(this.m).mul(this.r2))[W(1836)](this)}})((B=T[w(2362)](B),this))},23482:(B,Q,T)=>{var w=Ut,S=T(35717),D=T(62318),R=T(79785),P=T(89072),M=T(71027);function L(F){var k=Ut;M[k(2623)](this,k(593)),this[k(2100)]=F}S(L,M),L[w(1166)][w(994)]=function(F){var k=w;this[k(2100)][k(1002)](F)},L.prototype[w(2459)]=function(){var F=w;return this._hash[F(593)]()},B[w(1729)]=function(F){var k=w;return k(1785)===(F=F[k(1096)]())?new D:k(1971)===F||k(838)===F?new R:new L(P(F))}},78028:(B,Q,T)=>{var w=Ut,S=T(62318);B[w(1729)]=function(D){var R=w;return new S()[R(1002)](D).digest()}},58355:(B,Q,T)=>{var w=Ut,S=T(35717),D=T(51031),R=T(71027),P=T(89509)[w(1641)],M=T(78028),L=T(79785),F=T(89072),k=P[w(1581)](128);function N(G,J){var K=w;R[K(2623)](this,"digest"),K(1896)==typeof J&&(J=P[K(2047)](J));for(var X=K(720)===G||K(2678)===G?128:64,q=(this[K(787)]=G,(this[K(427)]=J)[K(1383)]>X?J=(K(1971)===G?new L:F(G))[K(1002)](J)[K(593)]():J[K(1383)]<X&&(J=P[K(1544)]([J,k],X)),this[K(2165)]=P[K(960)](X)),ee=this[K(1563)]=P.allocUnsafe(X),ie=0;ie<X;ie++)q[ie]=54^J[ie],ee[ie]=92^J[ie];this._hash=G==="rmd160"?new L:F(G),this[K(2100)][K(1002)](q)}S(N,R),N[w(1166)][w(994)]=function(G){var J=w;this[J(2100)][J(1002)](G)},N[w(1166)][w(2459)]=function(){var G=w,J=this._hash[G(593)]();return(G(1971)===this._alg?new L:F(this[G(787)]))[G(1002)](this[G(1563)]).update(J)[G(593)]()},B[w(1729)]=function(G,J){var K=w;return K(1971)===(G=G[K(1096)]())||K(838)===G?new N(K(1971),J):G==="md5"?new D(M,J):new N(G,J)}},51031:(B,Q,T)=>{var w=Ut,S=T(35717),D=T(89509)[w(1641)],R=T(71027),P=D[w(1581)](128);function M(L,F){var k=w;R[k(2623)](this,k(593)),k(1896)==typeof F&&(F=D[k(2047)](F)),this[k(787)]=L,64<(this[k(427)]=F).length?F=L(F):F.length<64&&(F=D[k(1544)]([F,P],64));for(var N=this._ipad=D.allocUnsafe(64),G=this._opad=D.allocUnsafe(64),J=0;J<64;J++)N[J]=54^F[J],G[J]=92^F[J];this[k(2100)]=[N]}S(M,R),M[w(1166)][w(994)]=function(L){var F=w;this[F(2100)][F(182)](L)},M[w(1166)][w(2459)]=function(){var L=w,F=this[L(787)](D.concat(this._hash));return this[L(787)](D[L(1544)]([this[L(1563)],F]))},B.exports=M},55835:(B,Q,T)=>{var w=Ut;Q.randomBytes=Q[w(1208)]=Q.pseudoRandomBytes=Q.prng=T(61798),Q.createHash=Q[w(1675)]=T(23482),Q[w(2103)]=Q.Hmac=T(58355);var D=T(56042),D=Object[w(451)](D),S=[w(1590),w(741),"sha256",w(2678),"sha512",w(1785),w(1971)].concat(D),D=(Q[w(1741)]=function(){return S},T(25632)),D=(Q[w(2457)]=D[w(2457)],Q[w(2791)]=D.pbkdf2Sync,T(53614)),D=(Q[w(389)]=D.Cipher,Q.createCipher=D.createCipher,Q[w(1883)]=D.Cipheriv,Q[w(1891)]=D.createCipheriv,Q[w(2523)]=D.Decipher,Q[w(836)]=D[w(836)],Q.Decipheriv=D[w(1274)],Q[w(1155)]=D[w(1155)],Q[w(1065)]=D.getCiphers,Q.listCiphers=D[w(2184)],T(62607)),D=(Q[w(827)]=D[w(827)],Q[w(448)]=D[w(448)],Q[w(1352)]=D[w(1352)],Q[w(1395)]=D[w(1395)],Q.DiffieHellman=D.DiffieHellman,T(64743)),D=(Q.createSign=D[w(1652)],Q.Sign=D[w(903)],Q[w(2412)]=D[w(2412)],Q[w(1169)]=D[w(1169)],Q.createECDH=T(76393),T(7900)),D=(Q[w(2274)]=D[w(2274)],Q[w(609)]=D.privateEncrypt,Q[w(1793)]=D[w(1793)],Q[w(751)]=D.privateDecrypt,T(77963));Q[w(848)]=D[w(848)],Q[w(1899)]=D[w(1899)],Q[w(1932)]=function(){var R=w;throw new Error([R(1012),R(606),R(1063)].join(` `))},Q[w(2693)]={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}},4289:(B,Q,F)=>{var w=Ut;function S(N,G){var J=Ut,K=2<arguments.length?arguments[2]:{},X=D(G);R&&(X=M[J(2623)](X,Object[J(1560)](G)));for(var q=0;q<X[J(1383)];q+=1)(function(ee,ie,H,le){var ue=J;if(ie in ee){if(le===!0){if(ee[ie]===H)return}else if(ue(1451)!=typeof(Ae=le)||ue(2076)!==P[ue(2623)](Ae)||!le())return}var Ae;k?L(ee,ie,{configurable:!0,enumerable:!1,value:H,writable:!0}):ee[ie]=H})(N,X[q],G[X[q]],K[X[q]])}var D=F(82215),R=w(1451)==typeof Symbol&&w(428)==typeof Symbol(w(1749)),P=Object.prototype[w(1888)],M=Array[w(1166)][w(1544)],L=Object[w(1844)],F=F(31044)(),k=L&&F;S.supportsDescriptors=!!k,B.exports=S},15251:(B,Q,T)=>{var w=Ut;Q[w(2663)]=T(11278),Q.Cipher=T(55756),Q.DES=T(70778),Q[w(367)]=T(39051),Q[w(998)]=T(50651)},39051:(B,Q,T)=>{var w=Ut,S=T(79746),D=T(35717),R={};function P(M){var L=Ut;S[L(610)](M[L(1383)],8,L(474)),this.iv=new Array(8);for(var F=0;F<this.iv[L(1383)];F++)this.iv[F]=M[F]}Q.instantiate=function(M){var L=Ut;function F(J){var K=Ut;M[K(2623)](this,J),this[K(1453)]()}D(F,M);for(var k=Object[L(451)](R),N=0;N<k.length;N++){var G=k[N];F[L(1166)][G]=R[G]}return F[L(917)]=function(J){return new F(J)},F},R._cbcInit=function(){var M=Ut,L=new P(this[M(2205)].iv);this[M(1269)]=L},R[w(994)]=function(M,L,F,k){var N=w,G=this[N(1269)],J=this[N(2267)][N(1455)][N(1166)],K=G.iv;if(this[N(277)]==="encrypt"){for(var X=0;X<this.blockSize;X++)K[X]^=M[L+X];for(J[N(994)][N(2623)](this,K,0,F,k),X=0;X<this[N(1992)];X++)K[X]=F[k+X]}else{for(J[N(994)][N(2623)](this,M,L,F,k),X=0;X<this[N(1992)];X++)F[k+X]^=K[X];for(X=0;X<this[N(1992)];X++)K[X]=M[L+X]}}},55756:(B,Q,T)=>{var w=Ut,S=T(79746);function D(R){var P=Ut;this[P(2205)]=R,this[P(277)]=this.options[P(277)],this[P(1992)]=8,this._init(),this.buffer=new Array(this[P(1992)]),this[P(183)]=0,this.padding=R[P(2395)]!==!1}(B.exports=D).prototype._init=function(){},D[w(1166)][w(1002)]=function(R){var P=w;return R[P(1383)]===0?[]:this[P(277)]==="decrypt"?this._updateDecrypt(R):this[P(2045)](R)},D[w(1166)][w(2199)]=function(R,P){for(var M=w,L=Math[M(1869)](this[M(2026)][M(1383)]-this[M(183)],R.length-P),F=0;F<L;F++)this[M(2026)][this.bufferOff+F]=R[P+F];return this.bufferOff+=L,L},D[w(1166)][w(450)]=function(R,P){var M=w;return this[M(994)](this[M(2026)],0,R,P),this[M(183)]=0,this[M(1992)]},D[w(1166)]._updateEncrypt=function(R){for(var P=w,M=0,L=0,F=(this[P(183)]+R[P(1383)])/this[P(1992)]|0,k=new Array(F*this[P(1992)]),N=(this[P(183)]!==0&&(M+=this[P(2199)](R,M),this[P(183)]===this[P(2026)].length&&(L+=this[P(450)](k,L))),R.length-(R[P(1383)]-M)%this[P(1992)]);M<N;M+=this[P(1992)])this[P(994)](R,M,k,L),L+=this.blockSize;for(;M<R.length;M++,this.bufferOff++)this[P(2026)][this[P(183)]]=R[M];return k},D[w(1166)][w(1647)]=function(R){for(var P=w,M=0,L=0,F=Math[P(1266)]((this[P(183)]+R[P(1383)])/this[P(1992)])-1,k=new Array(F*this.blockSize);0<F;F--)M+=this[P(2199)](R,M),L+=this[P(450)](k,L);return M+=this[P(2199)](R,M),k},D[w(1166)][w(735)]=function(R){var P=w,M;return R&&(M=this[P(1002)](R)),R=P(926)===this.type?this[P(1880)]():this[P(1223)](),M?M[P(1544)](R):R},D[w(1166)][w(465)]=function(R,P){var M=w;if(P===0)return!1;for(;P<R[M(1383)];)R[P++]=0;return!0},D.prototype[w(1880)]=function(){var R=w;if(!this[R(465)](this.buffer,this[R(183)]))return[];var P=new Array(this[R(1992)]);return this._update(this.buffer,0,P,0),P},D[w(1166)][w(547)]=function(R){return R},D[w(1166)]._finalDecrypt=function(){var R=w;S[R(610)](this[R(183)],this.blockSize,R(2183));var P=new Array(this[R(1992)]);return this[R(450)](P,0),this[R(547)](P)}},70778:(B,Q,T)=>{var w=Ut,S=T(79746),D=T(35717),R=T(11278),P=T(55756);function M(){this.tmp=new Array(2),this.keys=null}function L(k){var N=Ut;P.call(this,k);var G=new M;this[N(2161)]=G,this[N(2330)](G,k[N(513)])}D(L,P),(B[w(1729)]=L)[w(917)]=function(k){return new L(k)};var F=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];L[w(1166)][w(2330)]=function(k,N){var G=w;k.keys=new Array(32),S[G(610)](N[G(1383)],this[G(1992)],G(2721));var J=R.readUInt32BE(N,0),K=R[G(1576)](N,4);R[G(1940)](J,K,k[G(1120)],0),J=k[G(1120)][0],K=k[G(1120)][1];for(var X=0;X<k[G(451)][G(1383)];X+=2){var q=F[X>>>1],J=R[G(2765)](J,q),K=R.r28shl(K,q);R[G(459)](J,K,k.keys,X)}},L[w(1166)]._update=function(ee,N,G,J){var K=w,X=this[K(2161)],q=R[K(1576)](ee,N),ee=R[K(1576)](ee,N+4);R.ip(q,ee,X.tmp,0),q=X[K(1120)][0],ee=X[K(1120)][1],this.type==="encrypt"?this._encrypt(X,q,ee,X[K(1120)],0):this[K(678)](X,q,ee,X[K(1120)],0),q=X.tmp[0],ee=X[K(1120)][1],R[K(1833)](G,q,J),R[K(1833)](G,ee,J+4)},L[w(1166)]._pad=function(k,N){var G=w;if(this[G(2395)]===!1)return!1;for(var J=k[G(1383)]-N,K=N;K<k.length;K++)k[K]=J;return!0},L.prototype[w(547)]=function(k){var N=w;if(this[N(2395)]===!1)return k;for(var G=k[k[N(1383)]-1],J=k[N(1383)]-G;J<k[N(1383)];J++)S[N(610)](k[J],G);return k.slice(0,k[N(1383)]-G)},L[w(1166)]._encrypt=function(k,N,G,J,K){for(var X=w,le=N,H=G,q=0;q<k.keys[X(1383)];q+=2)var ee=k.keys[q],ie=k.keys[q+1],ee=(R[X(773)](H,k[X(1120)],0),ee^=k[X(1120)][0],ie^=k[X(1120)][1],R[X(681)](ee,ie)),ie=H,H=(le^R[X(1257)](ee))>>>0,le=ie;R[X(1193)](H,le,J,K)},L[w(1166)]._decrypt=function(k,N,G,J,K){for(var X=w,H=G,le=N,q=k[X(451)].length-2;0<=q;q-=2)var ee=k.keys[q],ie=k[X(451)][q+1],ee=(R.expand(H,k.tmp,0),ee^=k[X(1120)][0],ie^=k[X(1120)][1],R.substitute(ee,ie)),ie=H,H=(le^R[X(1257)](ee))>>>0,le=ie;R.rip(H,le,J,K)}},50651:(B,Q,T)=>{var w=Ut,S=T(79746),D=T(35717),R=T(55756),P=T(70778);function M(F,K){var N=Ut;S[N(610)](K[N(1383)],24,"Invalid key length");var G=K[N(2679)](0,8),J=K.slice(8,16),K=K.slice(16,24);this[N(1310)]=N(926)===F?[P[N(917)]({type:N(926),key:G}),P[N(917)]({type:N(1619),key:J}),P.create({type:N(926),key:K})]:[P[N(917)]({type:N(1619),key:K}),P.create({type:N(926),key:J}),P[N(917)]({type:N(1619),key:G})]}function L(F){var k=Ut;R[k(2623)](this,F),F=new M(this[k(277)],this[k(2205)].key),this[k(2285)]=F}D(L,R),(B[w(1729)]=L).create=function(F){return new L(F)},L[w(1166)][w(994)]=function(F,k,N,G){var J=w,K=this._edeState;K[J(1310)][0]._update(F,k,N,G),K[J(1310)][1]._update(N,G,N,G),K[J(1310)][2]._update(N,G,N,G)},L[w(1166)][w(465)]=P.prototype[w(465)],L.prototype[w(547)]=P[w(1166)][w(547)]},11278:(B,Q)=>{var T=Ut;Q[T(1576)]=function(R,P){return(R[0+P]<<24|R[1+P]<<16|R[2+P]<<8|R[3+P])>>>0},Q.writeUInt32BE=function(R,P,M){R[0+M]=P>>>24,R[1+M]=P>>>16&255,R[2+M]=P>>>8&255,R[3+M]=255&P},Q.ip=function(R,P,M,L){for(var F=0,k=0,N=6;0<=N;N-=2){for(var G=0;G<=24;G+=8)F=F<<1|P>>>G+N&1;for(G=0;G<=24;G+=8)F=F<<1|R>>>G+N&1}for(N=6;0<=N;N-=2){for(G=1;G<=25;G+=8)k=k<<1|P>>>G+N&1;for(G=1;G<=25;G+=8)k=k<<1|R>>>G+N&1}M[L+0]=F>>>0,M[L+1]=k>>>0},Q[T(1193)]=function(R,P,M,L){for(var F=0,k=0,N=0;N<4;N++)for(var G=24;0<=G;G-=8)F=(F=F<<1|P>>>G+N&1)<<1|R>>>G+N&1;for(N=4;N<8;N++)for(G=24;0<=G;G-=8)k=(k=k<<1|P>>>G+N&1)<<1|R>>>G+N&1;M[L+0]=F>>>0,M[L+1]=k>>>0},Q[T(1940)]=function(R,P,M,L){for(var F=0,k=0,N=7;5<=N;N--){for(var G=0;G<=24;G+=8)F=F<<1|P>>G+N&1;for(G=0;G<=24;G+=8)F=F<<1|R>>G+N&1}for(G=0;G<=24;G+=8)F=F<<1|P>>G+N&1;for(N=1;N<=3;N++){for(G=0;G<=24;G+=8)k=k<<1|P>>G+N&1;for(G=0;G<=24;G+=8)k=k<<1|R>>G+N&1}for(G=0;G<=24;G+=8)k=k<<1|R>>G+N&1;M[L+0]=F>>>0,M[L+1]=k>>>0},Q[T(2765)]=function(R,P){return R<<P&268435455|R>>>28-P};var w=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24],S=(Q[T(459)]=function(R,P,M,L){for(var F=T,k=0,N=0,G=w[F(1383)]>>>1,J=0;J<G;J++)k=k<<1|R>>>w[J]&1;for(J=G;J<w[F(1383)];J++)N=N<<1|P>>>w[J]&1;M[L+0]=k>>>0,M[L+1]=N>>>0},Q.expand=function(R,P,M){for(var F=0,L=0,F=(1&R)<<5|R>>>27,k=23;15<=k;k-=4)F=F<<6|R>>>k&63;for(k=11;3<=k;k-=4)L=(L|R>>>k&63)<<6;L|=(31&R)<<1|R>>>31,P[M+0]=F>>>0,P[M+1]=L>>>0},[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11]),D=(Q[T(681)]=function(R,P){for(var M=0,L=0;L<4;L++)M=M<<4|S[64*L+(R>>>18-6*L&63)];for(L=0;L<4;L++)M=M<<4|S[256+64*L+(P>>>18-6*L&63)];return M>>>0},[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7]);Q.permute=function(R){for(var P=T,M=0,L=0;L<D[P(1383)];L++)M=M<<1|R>>>D[L]&1;return M>>>0},Q[T(141)]=function(R,P,M){for(var L=T,F=R[L(1888)](2);F[L(1383)]<P;)F="0"+F;for(var k=[],N=0;N<P;N+=M)k[L(182)](F[L(2679)](N,N+M));return k.join(" ")}},62607:(B,Q,T)=>{var w=Ut,S=T(48764)[w(1641)],D=T(43590),R=T(29799),P=T(57426),M={binary:!0,hex:!0,base64:!0};Q[w(827)]=Q[w(448)]=Q.getDiffieHellman=function(N){var F=w,k=new S(R[N].prime,F(495)),N=new S(R[N].gen,F(495));return new P(k,N)},Q[w(1395)]=Q.DiffieHellman=function L(F,k,N,G){var J=w;return S.isBuffer(k)||M[k]===void 0?L(F,J(2113),k,N):(k=k||"binary",G=G||J(2113),N=N||new S([2]),S[J(1302)](N)||(N=new S(N,G)),typeof F=="number"?new P(D(F,N),N,!0):(S[J(1302)](F)||(F=new S(F,k)),new P(F,N,!0)))}},57426:(B,Q,T)=>{var w=Ut,S=T(48764).Buffer,D=T(83620),R=new(T(63047)),P=new D(24),M=new D(11),L=new D(10),F=new D(3),k=new D(7),N=T(43590),G=T(61798);function J(ie,H){var le=Ut;return H=H||"utf8",S.isBuffer(ie)||(ie=new S(ie,H)),this[le(829)]=new D(ie),this}function K(ie,H){return H=H||"utf8",S.isBuffer(ie)||(ie=new S(ie,H)),this._priv=new D(ie),this}B[w(1729)]=q;var X={};function q(ie,H,le){var ue=w;this[ue(1927)](H),this[ue(1982)]=new D(ie),this[ue(865)]=D.mont(this.__prime),this._primeLen=ie[ue(1383)],this[ue(829)]=void 0,this._priv=void 0,this._primeCode=void 0,le?(this[ue(1804)]=J,this[ue(842)]=K):this[ue(1967)]=8}function ee(ie,H){var le=w;return ie=new S(ie[le(884)]()),H?ie.toString(H):ie}Object.defineProperty(q.prototype,w(874),{enumerable:!0,get:function(){var ie=w;return typeof this[ie(1967)]!="number"&&(this[ie(1967)]=function(H,Ae){var ue=ie,Ae=Ae[ue(1888)](ue(495)),he=[Ae,H.toString(16)][ue(951)]("_");if(he in X)return X[he];var ge,fe=0;if(H[ue(631)]()||!N[ue(1378)]||!N[ue(591)](H)||!R.test(H))return X[he]=fe=fe+1+(Ae==="02"||Ae==="05"?8:4);switch(R.test(H.shrn(1))||(fe+=2),Ae){case"02":H[ue(1764)](P)[ue(526)](M)&&(fe+=8);break;case"05":(ge=H[ue(1764)](L))[ue(526)](F)&&ge[ue(526)](k)&&(fe+=8);break;default:fe+=4}return X[he]=fe}(this[ie(1982)],this.__gen)),this[ie(1967)]}}),q[w(1166)].generateKeys=function(){var ie=w;return this._priv||(this._priv=new D(G(this._primeLen))),this._pub=this._gen[ie(1190)](this[ie(865)])[ie(1396)](this[ie(359)])[ie(1642)](),this[ie(1643)]()},q.prototype.computeSecret=function(le){var H=w,le=(le=(le=new D(le)).toRed(this._prime))[H(1396)](this[H(359)])[H(1642)](),le=new S(le.toArray()),ue=this[H(2168)]();return le.length<ue[H(1383)]&&((ue=new S(ue[H(1383)]-le.length))[H(1371)](0),le=S[H(1544)]([ue,le])),le},q[w(1166)][w(1643)]=function(ie){var H=w;return ee(this[H(829)],ie)},q.prototype[w(1291)]=function(ie){return ee(this._priv,ie)},q[w(1166)][w(2168)]=function(ie){return ee(this.__prime,ie)},q.prototype[w(1660)]=function(ie){var H=w;return ee(this[H(2342)],ie)},q[w(1166)][w(1927)]=function(ie,H){var le=w;return H=H||le(1757),S.isBuffer(ie)||(ie=new S(ie,H)),this.__gen=ie,this[le(2342)]=new D(ie),this}},43590:(B,Q,T)=>{var w=Ut,S=T(61798),D=((B[w(1729)]=ee).simpleSieve=X,ee[w(591)]=q,T(83620)),R=new D(24),P=new(T(63047)),M=new D(1),L=new D(2),F=new D(5),k=(new D(16),new D(8),new D(10)),N=new D(3),G=(new D(7),new D(11)),J=new D(4),K=(new D(12),null);function X(ie){for(var H=w,le=function(){var Ae=Ut;if(K!==null)return K;var he=[];he[0]=2;for(var ge=1,fe=3;fe<1048576;fe+=2){for(var ae=Math[Ae(1266)](Math[Ae(820)](fe)),U=0;U<ge&&he[U]<=ae&&fe%he[U]!=0;U++);ge!==U&&he[U]<=ae||(he[ge++]=fe)}return K=he}(),ue=0;ue<le[H(1383)];ue++)if(ie[H(1825)](le[ue])===0)return ie[H(1329)](le[ue])===0;return!0}function q(ie){var H=w,le=D[H(2129)](ie);return L.toRed(le)[H(1396)](ie[H(160)](1))[H(1642)]()[H(1329)](1)===0}function ee(ie,H){var le=w;if(ie<16)return new D(H===2||H===5?[140,123]:[140,39]);var ue,Ae;for(H=new D(H);;){for(ue=new D(S(Math[le(1266)](ie/8)));ue[le(485)]()>ie;)ue[le(1376)](1);if(ue[le(631)]()&&ue[le(187)](M),ue.testn(1)||ue[le(187)](L),H[le(526)](L)){if(!H[le(526)](F))for(;ue[le(1764)](k).cmp(N);)ue[le(187)](J)}else for(;ue.mod(R)[le(526)](G);)ue.iadd(J);if(X(Ae=ue[le(1527)](1))&&X(ue)&&q(Ae)&&q(ue)&&P[le(1172)](Ae)&&P[le(1172)](ue))return ue}}},83620:function(B,Q,T){var w=Ut;(function(S){"use strict";var D=Ut;function R(U,W){var Y=Ut;if(!U)throw new Error(W||Y(1719))}function P(U,W){var Y=Ut;function z(){}U[Y(1455)]=W,z[Y(1166)]=W[Y(1166)],U[Y(1166)]=new z,U[Y(1166)][Y(2267)]=U}function M(U,W,Y){var z=Ut;if(M.isBN(U))return U;this[z(493)]=0,this[z(660)]=null,this[z(1383)]=0,(this[z(2178)]=null)!==U&&(W!=="le"&&W!=="be"||(Y=W,W=10),this[z(2151)](U||0,W||10,Y||"be"))}var L;D(1499)==typeof B?B[D(1729)]=M:S.BN=M,(M.BN=M)[D(883)]=26;try{L=(D(1506)!=typeof window&&window[D(1641)]!==void 0?window:T(7748)).Buffer}catch{}function F(U,W){return U=U.charCodeAt(W),65<=U&&U<=70?U-55:97<=U&&U<=102?U-87:U-48&15}function k(U,W,Y){var z=F(U,Y);return W<=Y-1&&(z|=F(U,Y-1)<<4),z}function N(U,W,Y,z){for(var re=D,Ce=0,se=Math[re(1869)](U[re(1383)],Y),de=W;de<se;de++)var me=U.charCodeAt(de)-48,Ce=Ce*z+(49<=me?me-49+10:17<=me?me-17+10:me);return Ce}M.isBN=function(U){var W=D;return U instanceof M||U!==null&&W(1499)==typeof U&&U[W(2267)][W(883)]===M[W(883)]&&Array[W(2507)](U[W(660)])},M[D(323)]=function(U,W){var Y=D;return 0<U[Y(526)](W)?U:W},M.min=function(U,W){return U.cmp(W)<0?U:W},M[D(1166)]._init=function(U,W,Y){var z=D;if(z(2013)==typeof U)return this[z(1763)](U,W,Y);if(z(1499)==typeof U)return this[z(1263)](U,W,Y);R((W=z(495)===W?16:W)===(0|W)&&2<=W&&W<=36);var re=0;(U=U[z(1888)]()[z(1850)](/\s+/g,""))[0]==="-"&&(re++,this[z(493)]=1),re<U[z(1383)]&&(W===16?this[z(260)](U,re,Y):(this[z(1834)](U,W,re),Y==="le"&&this[z(1263)](this.toArray(),W,Y)))},M[D(1166)]._initNumber=function(U,W,Y){var z=D;U<0&&(this[z(493)]=1,U=-U),U<67108864?(this.words=[67108863&U],this[z(1383)]=1):U<4503599627370496?(this[z(660)]=[67108863&U,U/67108864&67108863],this[z(1383)]=2):(R(U<9007199254740992),this[z(660)]=[67108863&U,U/67108864&67108863,1],this[z(1383)]=3),Y==="le"&&this[z(1263)](this[z(884)](),W,Y)},M[D(1166)][D(1263)]=function(U,W,Y){var z=D;if(R(z(2013)==typeof U[z(1383)]),U[z(1383)]<=0)return this[z(660)]=[0],this[z(1383)]=1,this;this.length=Math[z(1266)](U[z(1383)]/3),this[z(660)]=new Array(this.length);for(var re,se,de=0;de<this[z(1383)];de++)this[z(660)][de]=0;var me=0;if(Y==="be")for(de=U[z(1383)]-1,re=0;0<=de;de-=3)se=U[de]|U[de-1]<<8|U[de-2]<<16,this[z(660)][re]|=se<<me&67108863,this[z(660)][re+1]=se>>>26-me&67108863,26<=(me+=24)&&(me-=26,re++);else if(Y==="le")for(re=de=0;de<U.length;de+=3)se=U[de]|U[de+1]<<8|U[de+2]<<16,this[z(660)][re]|=se<<me&67108863,this[z(660)][re+1]=se>>>26-me&67108863,26<=(me+=24)&&(me-=26,re++);return this[z(968)]()},M[D(1166)][D(260)]=function(U,W,Y){var z=D;this.length=Math[z(1266)]((U[z(1383)]-W)/6),this.words=new Array(this[z(1383)]);for(var re=0;re<this[z(1383)];re++)this[z(660)][re]=0;var se,de=0,me=0;if(Y==="be")for(re=U[z(1383)]-1;W<=re;re-=2)se=k(U,W,re)<<de,this[z(660)][me]|=67108863&se,18<=de?(de-=18,this[z(660)][me+=1]|=se>>>26):de+=8;else for(re=(U[z(1383)]-W)%2==0?W+1:W;re<U[z(1383)];re+=2)se=k(U,W,re)<<de,this[z(660)][me]|=67108863&se,18<=de?(de-=18,this.words[me+=1]|=se>>>26):de+=8;this.strip()},M.prototype[D(1834)]=function(U,W,Y){var z=D;this[z(660)]=[0];for(var re=0,se=this.length=1;se<=67108863;se*=W)re++;for(var se=se/W|0,de=U.length-Y,me=de%--re,Ce=Math[z(1869)](de,de-me)+Y,Ie=0,we=Y;we<Ce;we+=re)Ie=N(U,we,we+re,W),this[z(683)](se),this.words[0]+Ie<67108864?this.words[0]+=Ie:this[z(2079)](Ie);if(me!=0){for(var Te=1,Ie=N(U,we,U[z(1383)],W),we=0;we<me;we++)Te*=W;this[z(683)](Te),this[z(660)][0]+Ie<67108864?this[z(660)][0]+=Ie:this._iaddn(Ie)}this[z(968)]()},M[D(1166)].copy=function(U){var W=D;U.words=new Array(this[W(1383)]);for(var Y=0;Y<this.length;Y++)U.words[Y]=this[W(660)][Y];U[W(1383)]=this[W(1383)],U.negative=this.negative,U[W(2178)]=this[W(2178)]},M[D(1166)].clone=function(){var U=D,W=new M(null);return this[U(1830)](W),W},M[D(1166)][D(159)]=function(U){for(var W=D;this[W(1383)]<U;)this.words[this[W(1383)]++]=0;return this},M[D(1166)][D(968)]=function(){for(var U=D;1<this[U(1383)]&&this[U(660)][this[U(1383)]-1]===0;)this[U(1383)]--;return this[U(1049)]()},M[D(1166)]._normSign=function(){var U=D;return this[U(1383)]===1&&this.words[0]===0&&(this[U(493)]=0),this},M.prototype[D(1035)]=function(){var U=D;return(this[U(2178)]?"<BN-R: ":U(780))+this[U(1888)](16)+">"};var G=["","0","00","000",D(1548),D(1144),D(536),D(259),D(178),"000000000",D(1668),"00000000000",D(1365),"0000000000000",D(1640),D(313),"0000000000000000",D(1270),"000000000000000000","0000000000000000000",D(1048),D(2229),D(2042),"00000000000000000000000",D(548),D(2157)],J=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],K=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function X(U,W,Y){var z=D;Y[z(493)]=W.negative^U.negative;var re=U[z(1383)]+W[z(1383)]|0,re=(Y[z(1383)]=re)-1|0,se=(me=(0|U[z(660)][0])*(0|W.words[0]))/67108864|0;Y.words[0]=67108863&me;for(var de=1;de<re;de++){for(var me,Ce=se>>>26,Ie=67108863&se,we=Math[z(1869)](de,W[z(1383)]-1),Te=Math[z(323)](0,de-U[z(1383)]+1);Te<=we;Te++)Ce+=(me=(0|U[z(660)][de-Te|0])*(0|W[z(660)][Te])+Ie)/67108864|0,Ie=67108863&me;Y[z(660)][de]=0|Ie,se=0|Ce}return se!==0?Y[z(660)][de]=0|se:Y[z(1383)]--,Y[z(968)]()}M.prototype[D(1888)]=function(U,W){var Y=D;if(W=0|W||1,(U=U||10)===16||Y(495)===U){for(var z="",re=0,se=0,de=0;de<this[Y(1383)];de++){var me=this.words[de],Ce=(16777215&(me<<re|se))[Y(1888)](16),z=(se=me>>>24-re&16777215)!=0||de!==this[Y(1383)]-1?G[6-Ce[Y(1383)]]+Ce+z:Ce+z;26<=(re+=2)&&(re-=26,de--)}for(se!==0&&(z=se[Y(1888)](16)+z);z[Y(1383)]%W!=0;)z="0"+z;return this[Y(493)]!==0?"-"+z:z}if(U===(0|U)&&2<=U&&U<=36){var Ie=J[U],we=K[U];for(z="",(Te=this.clone())[Y(493)]=0;!Te.isZero();){var Te,Ge=Te.modn(we)[Y(1888)](U);z=(Te=Te.idivn(we))[Y(2356)]()?Ge+z:G[Ie-Ge.length]+Ge+z}for(this[Y(2356)]()&&(z="0"+z);z.length%W!=0;)z="0"+z;return this[Y(493)]!==0?"-"+z:z}R(!1,"Base should be between 2 and 36")},M[D(1166)][D(1312)]=function(){var U=D,W=this[U(660)][0];return this[U(1383)]===2?W+=67108864*this.words[1]:this[U(1383)]===3&&this[U(660)][2]===1?W+=4503599627370496+67108864*this[U(660)][1]:2<this[U(1383)]&&R(!1,U(1421)),this[U(493)]!==0?-W:W},M[D(1166)][D(2639)]=function(){return this.toString(16)},M.prototype.toBuffer=function(U,W){var Y=D;return R(L!==void 0),this[Y(1299)](L,U,W)},M.prototype[D(884)]=function(U,W){var Y=D;return this[Y(1299)](Array,U,W)},M[D(1166)][D(1299)]=function(U,W,Ce){var z=D,re,se,de=this[z(250)](),me=Ce||Math.max(1,de),Ce=(R(de<=me,z(2736)),R(0<me,z(1881)),this.strip(),W==="le"),Ie=new U(me),we=this[z(2164)]();if(Ce){for(se=0;!we[z(2356)]();se++)re=we[z(329)](255),we[z(1487)](8),Ie[se]=re;for(;se<me;se++)Ie[se]=0}else{for(se=0;se<me-de;se++)Ie[se]=0;for(se=0;!we[z(2356)]();se++)re=we[z(329)](255),we.iushrn(8),Ie[me-se-1]=re}return Ie},Math[D(207)]?M[D(1166)][D(623)]=function(U){var W=D;return 32-Math[W(207)](U)}:M[D(1166)]._countBits=function(U){var W=0;return 4096<=U&&(W+=13,U>>>=13),64<=U&&(W+=7,U>>>=7),8<=U&&(W+=4,U>>>=4),2<=U&&(W+=2,U>>>=2),W+U},M[D(1166)]._zeroBits=function(U){if(U===0)return 26;var W=0;return(8191&U)==0&&(W+=13,U>>>=13),(127&U)==0&&(W+=7,U>>>=7),(15&U)==0&&(W+=4,U>>>=4),(3&U)==0&&(W+=2,U>>>=2),(1&U)==0&&W++,W},M.prototype[D(485)]=function(){var U=D,W=this[U(660)][this[U(1383)]-1],W=this._countBits(W);return 26*(this.length-1)+W},M[D(1166)][D(1820)]=function(){var U=D;if(this.isZero())return 0;for(var W=0,Y=0;Y<this[U(1383)];Y++){var z=this[U(1095)](this.words[Y]);if(W+=z,z!==26)break}return W},M[D(1166)][D(250)]=function(){var U=D;return Math[U(1266)](this[U(485)]()/8)},M[D(1166)].toTwos=function(U){var W=D;return this[W(493)]!==0?this[W(1914)]()[W(2519)](U).iaddn(1):this[W(2164)]()},M[D(1166)][D(1845)]=function(U){var W=D;return this[W(901)](U-1)?this.notn(U)[W(2695)](1).ineg():this[W(2164)]()},M[D(1166)][D(2797)]=function(){var U=D;return this[U(493)]!==0},M.prototype[D(828)]=function(){var U=D;return this[U(2164)]()[U(919)]()},M[D(1166)].ineg=function(){var U=D;return this[U(2356)]()||(this[U(493)]^=1),this},M[D(1166)][D(776)]=function(U){for(var W=D;this[W(1383)]<U.length;)this[W(660)][this[W(1383)]++]=0;for(var Y=0;Y<U.length;Y++)this.words[Y]=this.words[Y]|U[W(660)][Y];return this[W(968)]()},M[D(1166)].ior=function(U){var W=D;return R((this.negative|U[W(493)])==0),this[W(776)](U)},M[D(1166)].or=function(U){var W=D;return this.length>U[W(1383)]?this[W(2164)]()[W(699)](U):U.clone()[W(699)](this)},M[D(1166)][D(2354)]=function(U){var W=D;return this[W(1383)]>U[W(1383)]?this.clone()[W(776)](U):U.clone().iuor(this)},M.prototype[D(709)]=function(U){for(var W=D,Y=this.length>U.length?U:this,z=0;z<Y[W(1383)];z++)this[W(660)][z]=this.words[z]&U.words[z];return this.length=Y[W(1383)],this[W(968)]()},M[D(1166)][D(560)]=function(U){var W=D;return R((this[W(493)]|U[W(493)])==0),this[W(709)](U)},M[D(1166)].and=function(U){var W=D;return this[W(1383)]>U[W(1383)]?this.clone()[W(560)](U):U[W(2164)]()[W(560)](this)},M[D(1166)][D(1528)]=function(U){var W=D;return this[W(1383)]>U[W(1383)]?this[W(2164)]()[W(709)](U):U[W(2164)]().iuand(this)},M[D(1166)][D(2796)]=function(U){for(var W=D,Y,z=this[W(1383)]>U.length?(Y=this,U):(Y=U,this),re=0;re<z[W(1383)];re++)this[W(660)][re]=Y[W(660)][re]^z[W(660)][re];if(this!==Y)for(;re<Y[W(1383)];re++)this.words[re]=Y[W(660)][re];return this[W(1383)]=Y[W(1383)],this[W(968)]()},M[D(1166)][D(1283)]=function(U){var W=D;return R((this[W(493)]|U[W(493)])==0),this[W(2796)](U)},M[D(1166)][D(1397)]=function(U){var W=D;return this.length>U[W(1383)]?this[W(2164)]().ixor(U):U[W(2164)]().ixor(this)},M[D(1166)].uxor=function(U){var W=D;return this[W(1383)]>U[W(1383)]?this[W(2164)]()[W(2796)](U):U.clone()[W(2796)](this)},M[D(1166)][D(2519)]=function(z){var W=D;R(W(2013)==typeof z&&0<=z);var Y=0|Math.ceil(z/26),z=z%26;this[W(159)](Y),0<z&&Y--;for(var re=0;re<Y;re++)this[W(660)][re]=67108863&~this[W(660)][re];return 0<z&&(this[W(660)][re]=~this[W(660)][re]&67108863>>26-z),this[W(968)]()},M.prototype[D(516)]=function(U){var W=D;return this[W(2164)]()[W(2519)](U)},M[D(1166)][D(237)]=function(re,W){var Y=D;R(typeof re=="number"&&0<=re);var z=re/26|0,re=re%26;return this._expand(1+z),this[Y(660)][z]=W?this[Y(660)][z]|1<<re:this[Y(660)][z]&~(1<<re),this.strip()},M[D(1166)].iadd=function(U){var W=D,Y,z;if(this[W(493)]!==0&&U[W(493)]===0)return this[W(493)]=0,Y=this[W(258)](U),this[W(493)]^=1,this[W(1049)]();if(this.negative===0&&U[W(493)]!==0)return U[W(493)]=0,Y=this.isub(U),U.negative=1,Y[W(1049)]();for(var re=this[W(1383)]>U[W(1383)]?(z=this,U):(z=U,this),se=0,de=0;de<re[W(1383)];de++)Y=(0|z[W(660)][de])+(0|re[W(660)][de])+se,this.words[de]=67108863&Y,se=Y>>>26;for(;se!==0&&de<z[W(1383)];de++)Y=(0|z[W(660)][de])+se,this[W(660)][de]=67108863&Y,se=Y>>>26;if(this[W(1383)]=z.length,se!==0)this.words[this[W(1383)]]=se,this[W(1383)]++;else if(z!==this)for(;de<z[W(1383)];de++)this[W(660)][de]=z[W(660)][de];return this},M[D(1166)][D(2400)]=function(U){var W=D,Y;return U[W(493)]!==0&&this[W(493)]===0?(U[W(493)]=0,Y=this.sub(U),U.negative^=1,Y):U[W(493)]===0&&this[W(493)]!==0?(this[W(493)]=0,Y=U[W(1550)](this),this[W(493)]=1,Y):this[W(1383)]>U[W(1383)]?this[W(2164)]()[W(187)](U):U[W(2164)]().iadd(this)},M.prototype[D(258)]=function(U){var W=D,Y;if(U[W(493)]!==0)return U.negative=0,Y=this[W(187)](U),U[W(493)]=1,Y[W(1049)]();if(this[W(493)]!==0)return this.negative=0,this[W(187)](U),this.negative=1,this[W(1049)]();var z,re=this[W(526)](U);if(re===0)return this[W(493)]=0,this[W(1383)]=1,this[W(660)][0]=0,this;for(var se=0<re?(z=this,U):(z=U,this),de=0,me=0;me<se[W(1383)];me++)de=(Y=(0|z[W(660)][me])-(0|se.words[me])+de)>>26,this[W(660)][me]=67108863&Y;for(;de!==0&&me<z.length;me++)de=(Y=(0|z.words[me])+de)>>26,this[W(660)][me]=67108863&Y;if(de===0&&me<z[W(1383)]&&z!==this)for(;me<z[W(1383)];me++)this[W(660)][me]=z[W(660)][me];return this.length=Math[W(323)](this[W(1383)],me),z!==this&&(this[W(493)]=1),this[W(968)]()},M[D(1166)][D(1550)]=function(U){var W=D;return this.clone()[W(258)](U)};var q=function(ve,nt,Y){var z=D,Je=ve.words,Lt=nt[z(660)],re=Y[z(660)],pi=0|Je[0],jt=8191&pi,pi=pi>>>13,_t=0|Je[1],xi=8191&_t,_t=_t>>>13,de=0|Je[2],se=8191&de,de=de>>>13,Ce=0|Je[3],me=8191&Ce,Ce=Ce>>>13,we=0|Je[4],Ie=8191&we,we=we>>>13,Ge=0|Je[5],Te=8191&Ge,Ge=Ge>>>13,Oe=0|Je[6],ke=8191&Oe,Oe=Oe>>>13,be=0|Je[7],Le=8191&be,be=be>>>13,Ue=0|Je[8],Ne=8191&Ue,Ue=Ue>>>13,Je=0|Je[9],ze=8191&Je,Je=Je>>>13,Wt=0|Lt[0],Ei=8191&Wt,Wt=Wt>>>13,Kt=0|Lt[1],mi=8191&Kt,Kt=Kt>>>13,Ht=0|Lt[2],Mt=8191&Ht,Ht=Ht>>>13,et=0|Lt[3],Xe=8191&et,et=et>>>13,Et=0|Lt[4],ot=8191&Et,Et=Et>>>13,ct=0|Lt[5],Ct=8191&ct,ct=ct>>>13,Qt=0|Lt[6],yt=8191&Qt,Qt=Qt>>>13,ut=0|Lt[7],Ze=8191&ut,ut=ut>>>13,gt=0|Lt[8],St=8191>,gt=gt>>>13,Lt=0|Lt[9],xt=8191&Lt,Lt=Lt>>>13,nt=(Y[z(493)]=ve[z(493)]^nt.negative,Y[z(1383)]=19,(0+Math[z(1805)](jt,Ei)|0)+((8191&(ve=Math[z(1805)](jt,Wt)+Math.imul(pi,Ei)|0))<<13)|0),ti=(Math.imul(pi,Wt)+(ve>>>13)|0)+(nt>>>26)|0,Pe=(nt&=67108863,Math[z(1805)](xi,Ei)),ve=Math.imul(xi,Wt)+Math[z(1805)](_t,Ei)|0,We=Math[z(1805)](_t,Wt),bt=(ti+(Pe+Math[z(1805)](jt,mi)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,Kt)|0)+Math[z(1805)](pi,mi)|0))<<13)|0,Pt=(ti=((We+Math[z(1805)](pi,Kt)|0)+(ve>>>13)|0)+(bt>>>26)|0,bt&=67108863,Pe=Math[z(1805)](se,Ei),ve=Math[z(1805)](se,Wt)+Math[z(1805)](de,Ei)|0,We=Math[z(1805)](de,Wt),Pe=Pe+Math[z(1805)](xi,mi)|0,ve=(ve+Math[z(1805)](xi,Kt)|0)+Math.imul(_t,mi)|0,We=We+Math[z(1805)](_t,Kt)|0,(ti+(Pe+Math[z(1805)](jt,Mt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,Ht)|0)+Math.imul(pi,Mt)|0))<<13)|0),It=(ti=((We+Math[z(1805)](pi,Ht)|0)+(ve>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,Pe=Math[z(1805)](me,Ei),ve=Math[z(1805)](me,Wt)+Math[z(1805)](Ce,Ei)|0,We=Math.imul(Ce,Wt),Pe=Pe+Math[z(1805)](se,mi)|0,ve=(ve+Math.imul(se,Kt)|0)+Math[z(1805)](de,mi)|0,We=We+Math[z(1805)](de,Kt)|0,Pe=Pe+Math[z(1805)](xi,Mt)|0,ve=(ve+Math.imul(xi,Ht)|0)+Math.imul(_t,Mt)|0,We=We+Math[z(1805)](_t,Ht)|0,(ti+(Pe+Math[z(1805)](jt,Xe)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,et)|0)+Math[z(1805)](pi,Xe)|0))<<13)|0),Mi=(ti=((We+Math[z(1805)](pi,et)|0)+(ve>>>13)|0)+(It>>>26)|0,It&=67108863,Pe=Math[z(1805)](Ie,Ei),ve=Math[z(1805)](Ie,Wt)+Math[z(1805)](we,Ei)|0,We=Math[z(1805)](we,Wt),Pe=Pe+Math.imul(me,mi)|0,ve=(ve+Math.imul(me,Kt)|0)+Math.imul(Ce,mi)|0,We=We+Math.imul(Ce,Kt)|0,Pe=Pe+Math[z(1805)](se,Mt)|0,ve=(ve+Math[z(1805)](se,Ht)|0)+Math[z(1805)](de,Mt)|0,We=We+Math[z(1805)](de,Ht)|0,Pe=Pe+Math[z(1805)](xi,Xe)|0,ve=(ve+Math[z(1805)](xi,et)|0)+Math[z(1805)](_t,Xe)|0,We=We+Math.imul(_t,et)|0,(ti+(Pe+Math[z(1805)](jt,ot)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,Et)|0)+Math[z(1805)](pi,ot)|0))<<13)|0),er=(ti=((We+Math[z(1805)](pi,Et)|0)+(ve>>>13)|0)+(Mi>>>26)|0,Mi&=67108863,Pe=Math[z(1805)](Te,Ei),ve=Math[z(1805)](Te,Wt)+Math.imul(Ge,Ei)|0,We=Math.imul(Ge,Wt),Pe=Pe+Math[z(1805)](Ie,mi)|0,ve=(ve+Math[z(1805)](Ie,Kt)|0)+Math[z(1805)](we,mi)|0,We=We+Math[z(1805)](we,Kt)|0,Pe=Pe+Math[z(1805)](me,Mt)|0,ve=(ve+Math[z(1805)](me,Ht)|0)+Math.imul(Ce,Mt)|0,We=We+Math[z(1805)](Ce,Ht)|0,Pe=Pe+Math.imul(se,Xe)|0,ve=(ve+Math.imul(se,et)|0)+Math[z(1805)](de,Xe)|0,We=We+Math[z(1805)](de,et)|0,Pe=Pe+Math[z(1805)](xi,ot)|0,ve=(ve+Math[z(1805)](xi,Et)|0)+Math.imul(_t,ot)|0,We=We+Math[z(1805)](_t,Et)|0,(ti+(Pe+Math[z(1805)](jt,Ct)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,ct)|0)+Math.imul(pi,Ct)|0))<<13)|0),di=(ti=((We+Math[z(1805)](pi,ct)|0)+(ve>>>13)|0)+(er>>>26)|0,er&=67108863,Pe=Math[z(1805)](ke,Ei),ve=Math[z(1805)](ke,Wt)+Math.imul(Oe,Ei)|0,We=Math[z(1805)](Oe,Wt),Pe=Pe+Math.imul(Te,mi)|0,ve=(ve+Math[z(1805)](Te,Kt)|0)+Math[z(1805)](Ge,mi)|0,We=We+Math[z(1805)](Ge,Kt)|0,Pe=Pe+Math[z(1805)](Ie,Mt)|0,ve=(ve+Math.imul(Ie,Ht)|0)+Math[z(1805)](we,Mt)|0,We=We+Math[z(1805)](we,Ht)|0,Pe=Pe+Math[z(1805)](me,Xe)|0,ve=(ve+Math[z(1805)](me,et)|0)+Math.imul(Ce,Xe)|0,We=We+Math[z(1805)](Ce,et)|0,Pe=Pe+Math.imul(se,ot)|0,ve=(ve+Math[z(1805)](se,Et)|0)+Math[z(1805)](de,ot)|0,We=We+Math[z(1805)](de,Et)|0,Pe=Pe+Math[z(1805)](xi,Ct)|0,ve=(ve+Math.imul(xi,ct)|0)+Math[z(1805)](_t,Ct)|0,We=We+Math.imul(_t,ct)|0,(ti+(Pe+Math[z(1805)](jt,yt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,Qt)|0)+Math.imul(pi,yt)|0))<<13)|0),wi=(ti=((We+Math[z(1805)](pi,Qt)|0)+(ve>>>13)|0)+(di>>>26)|0,di&=67108863,Pe=Math.imul(Le,Ei),ve=Math[z(1805)](Le,Wt)+Math[z(1805)](be,Ei)|0,We=Math.imul(be,Wt),Pe=Pe+Math.imul(ke,mi)|0,ve=(ve+Math[z(1805)](ke,Kt)|0)+Math[z(1805)](Oe,mi)|0,We=We+Math.imul(Oe,Kt)|0,Pe=Pe+Math[z(1805)](Te,Mt)|0,ve=(ve+Math[z(1805)](Te,Ht)|0)+Math.imul(Ge,Mt)|0,We=We+Math[z(1805)](Ge,Ht)|0,Pe=Pe+Math[z(1805)](Ie,Xe)|0,ve=(ve+Math.imul(Ie,et)|0)+Math.imul(we,Xe)|0,We=We+Math[z(1805)](we,et)|0,Pe=Pe+Math[z(1805)](me,ot)|0,ve=(ve+Math.imul(me,Et)|0)+Math[z(1805)](Ce,ot)|0,We=We+Math.imul(Ce,Et)|0,Pe=Pe+Math[z(1805)](se,Ct)|0,ve=(ve+Math[z(1805)](se,ct)|0)+Math[z(1805)](de,Ct)|0,We=We+Math[z(1805)](de,ct)|0,Pe=Pe+Math[z(1805)](xi,yt)|0,ve=(ve+Math[z(1805)](xi,Qt)|0)+Math[z(1805)](_t,yt)|0,We=We+Math[z(1805)](_t,Qt)|0,(ti+(Pe+Math[z(1805)](jt,Ze)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,ut)|0)+Math[z(1805)](pi,Ze)|0))<<13)|0),Ri=(ti=((We+Math[z(1805)](pi,ut)|0)+(ve>>>13)|0)+(wi>>>26)|0,wi&=67108863,Pe=Math[z(1805)](Ne,Ei),ve=Math.imul(Ne,Wt)+Math[z(1805)](Ue,Ei)|0,We=Math[z(1805)](Ue,Wt),Pe=Pe+Math[z(1805)](Le,mi)|0,ve=(ve+Math[z(1805)](Le,Kt)|0)+Math[z(1805)](be,mi)|0,We=We+Math.imul(be,Kt)|0,Pe=Pe+Math[z(1805)](ke,Mt)|0,ve=(ve+Math[z(1805)](ke,Ht)|0)+Math[z(1805)](Oe,Mt)|0,We=We+Math[z(1805)](Oe,Ht)|0,Pe=Pe+Math[z(1805)](Te,Xe)|0,ve=(ve+Math.imul(Te,et)|0)+Math.imul(Ge,Xe)|0,We=We+Math[z(1805)](Ge,et)|0,Pe=Pe+Math.imul(Ie,ot)|0,ve=(ve+Math[z(1805)](Ie,Et)|0)+Math[z(1805)](we,ot)|0,We=We+Math[z(1805)](we,Et)|0,Pe=Pe+Math.imul(me,Ct)|0,ve=(ve+Math[z(1805)](me,ct)|0)+Math[z(1805)](Ce,Ct)|0,We=We+Math[z(1805)](Ce,ct)|0,Pe=Pe+Math.imul(se,yt)|0,ve=(ve+Math[z(1805)](se,Qt)|0)+Math[z(1805)](de,yt)|0,We=We+Math[z(1805)](de,Qt)|0,Pe=Pe+Math[z(1805)](xi,Ze)|0,ve=(ve+Math[z(1805)](xi,ut)|0)+Math[z(1805)](_t,Ze)|0,We=We+Math.imul(_t,ut)|0,(ti+(Pe+Math[z(1805)](jt,St)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,gt)|0)+Math[z(1805)](pi,St)|0))<<13)|0),Ei=(ti=((We+Math[z(1805)](pi,gt)|0)+(ve>>>13)|0)+(Ri>>>26)|0,Ri&=67108863,Pe=Math[z(1805)](ze,Ei),ve=Math.imul(ze,Wt)+Math[z(1805)](Je,Ei)|0,We=Math[z(1805)](Je,Wt),Pe=Pe+Math.imul(Ne,mi)|0,ve=(ve+Math[z(1805)](Ne,Kt)|0)+Math[z(1805)](Ue,mi)|0,We=We+Math.imul(Ue,Kt)|0,Pe=Pe+Math[z(1805)](Le,Mt)|0,ve=(ve+Math[z(1805)](Le,Ht)|0)+Math.imul(be,Mt)|0,We=We+Math.imul(be,Ht)|0,Pe=Pe+Math.imul(ke,Xe)|0,ve=(ve+Math.imul(ke,et)|0)+Math[z(1805)](Oe,Xe)|0,We=We+Math[z(1805)](Oe,et)|0,Pe=Pe+Math[z(1805)](Te,ot)|0,ve=(ve+Math[z(1805)](Te,Et)|0)+Math[z(1805)](Ge,ot)|0,We=We+Math[z(1805)](Ge,Et)|0,Pe=Pe+Math[z(1805)](Ie,Ct)|0,ve=(ve+Math[z(1805)](Ie,ct)|0)+Math[z(1805)](we,Ct)|0,We=We+Math[z(1805)](we,ct)|0,Pe=Pe+Math[z(1805)](me,yt)|0,ve=(ve+Math.imul(me,Qt)|0)+Math[z(1805)](Ce,yt)|0,We=We+Math[z(1805)](Ce,Qt)|0,Pe=Pe+Math[z(1805)](se,Ze)|0,ve=(ve+Math[z(1805)](se,ut)|0)+Math.imul(de,Ze)|0,We=We+Math[z(1805)](de,ut)|0,Pe=Pe+Math[z(1805)](xi,St)|0,ve=(ve+Math[z(1805)](xi,gt)|0)+Math[z(1805)](_t,St)|0,We=We+Math[z(1805)](_t,gt)|0,(ti+(Pe+Math[z(1805)](jt,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,Lt)|0)+Math.imul(pi,xt)|0))<<13)|0),Wt=(ti=((We+Math[z(1805)](pi,Lt)|0)+(ve>>>13)|0)+(Ei>>>26)|0,Ei&=67108863,Pe=Math[z(1805)](ze,mi),ve=Math.imul(ze,Kt)+Math.imul(Je,mi)|0,We=Math.imul(Je,Kt),Pe=Pe+Math[z(1805)](Ne,Mt)|0,ve=(ve+Math[z(1805)](Ne,Ht)|0)+Math[z(1805)](Ue,Mt)|0,We=We+Math[z(1805)](Ue,Ht)|0,Pe=Pe+Math[z(1805)](Le,Xe)|0,ve=(ve+Math[z(1805)](Le,et)|0)+Math.imul(be,Xe)|0,We=We+Math[z(1805)](be,et)|0,Pe=Pe+Math.imul(ke,ot)|0,ve=(ve+Math[z(1805)](ke,Et)|0)+Math[z(1805)](Oe,ot)|0,We=We+Math[z(1805)](Oe,Et)|0,Pe=Pe+Math[z(1805)](Te,Ct)|0,ve=(ve+Math[z(1805)](Te,ct)|0)+Math[z(1805)](Ge,Ct)|0,We=We+Math[z(1805)](Ge,ct)|0,Pe=Pe+Math.imul(Ie,yt)|0,ve=(ve+Math.imul(Ie,Qt)|0)+Math.imul(we,yt)|0,We=We+Math[z(1805)](we,Qt)|0,Pe=Pe+Math[z(1805)](me,Ze)|0,ve=(ve+Math[z(1805)](me,ut)|0)+Math[z(1805)](Ce,Ze)|0,We=We+Math[z(1805)](Ce,ut)|0,Pe=Pe+Math.imul(se,St)|0,ve=(ve+Math[z(1805)](se,gt)|0)+Math[z(1805)](de,St)|0,We=We+Math.imul(de,gt)|0,(ti+(Pe+Math[z(1805)](xi,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](xi,Lt)|0)+Math[z(1805)](_t,xt)|0))<<13)|0),jt=(ti=((We+Math[z(1805)](_t,Lt)|0)+(ve>>>13)|0)+(Wt>>>26)|0,Wt&=67108863,Pe=Math.imul(ze,Mt),ve=Math[z(1805)](ze,Ht)+Math[z(1805)](Je,Mt)|0,We=Math.imul(Je,Ht),Pe=Pe+Math[z(1805)](Ne,Xe)|0,ve=(ve+Math[z(1805)](Ne,et)|0)+Math[z(1805)](Ue,Xe)|0,We=We+Math[z(1805)](Ue,et)|0,Pe=Pe+Math[z(1805)](Le,ot)|0,ve=(ve+Math.imul(Le,Et)|0)+Math.imul(be,ot)|0,We=We+Math[z(1805)](be,Et)|0,Pe=Pe+Math[z(1805)](ke,Ct)|0,ve=(ve+Math[z(1805)](ke,ct)|0)+Math[z(1805)](Oe,Ct)|0,We=We+Math[z(1805)](Oe,ct)|0,Pe=Pe+Math[z(1805)](Te,yt)|0,ve=(ve+Math[z(1805)](Te,Qt)|0)+Math[z(1805)](Ge,yt)|0,We=We+Math[z(1805)](Ge,Qt)|0,Pe=Pe+Math[z(1805)](Ie,Ze)|0,ve=(ve+Math[z(1805)](Ie,ut)|0)+Math[z(1805)](we,Ze)|0,We=We+Math[z(1805)](we,ut)|0,Pe=Pe+Math.imul(me,St)|0,ve=(ve+Math[z(1805)](me,gt)|0)+Math[z(1805)](Ce,St)|0,We=We+Math.imul(Ce,gt)|0,(ti+(Pe+Math[z(1805)](se,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](se,Lt)|0)+Math[z(1805)](de,xt)|0))<<13)|0),pi=(ti=((We+Math[z(1805)](de,Lt)|0)+(ve>>>13)|0)+(jt>>>26)|0,jt&=67108863,Pe=Math[z(1805)](ze,Xe),ve=Math[z(1805)](ze,et)+Math[z(1805)](Je,Xe)|0,We=Math[z(1805)](Je,et),Pe=Pe+Math[z(1805)](Ne,ot)|0,ve=(ve+Math[z(1805)](Ne,Et)|0)+Math[z(1805)](Ue,ot)|0,We=We+Math[z(1805)](Ue,Et)|0,Pe=Pe+Math.imul(Le,Ct)|0,ve=(ve+Math.imul(Le,ct)|0)+Math[z(1805)](be,Ct)|0,We=We+Math.imul(be,ct)|0,Pe=Pe+Math.imul(ke,yt)|0,ve=(ve+Math[z(1805)](ke,Qt)|0)+Math[z(1805)](Oe,yt)|0,We=We+Math[z(1805)](Oe,Qt)|0,Pe=Pe+Math[z(1805)](Te,Ze)|0,ve=(ve+Math.imul(Te,ut)|0)+Math[z(1805)](Ge,Ze)|0,We=We+Math[z(1805)](Ge,ut)|0,Pe=Pe+Math.imul(Ie,St)|0,ve=(ve+Math[z(1805)](Ie,gt)|0)+Math.imul(we,St)|0,We=We+Math.imul(we,gt)|0,(ti+(Pe+Math[z(1805)](me,xt)|0)|0)+((8191&(ve=(ve+Math.imul(me,Lt)|0)+Math[z(1805)](Ce,xt)|0))<<13)|0),mi=(ti=((We+Math[z(1805)](Ce,Lt)|0)+(ve>>>13)|0)+(pi>>>26)|0,pi&=67108863,Pe=Math[z(1805)](ze,ot),ve=Math[z(1805)](ze,Et)+Math[z(1805)](Je,ot)|0,We=Math.imul(Je,Et),Pe=Pe+Math[z(1805)](Ne,Ct)|0,ve=(ve+Math[z(1805)](Ne,ct)|0)+Math[z(1805)](Ue,Ct)|0,We=We+Math[z(1805)](Ue,ct)|0,Pe=Pe+Math.imul(Le,yt)|0,ve=(ve+Math[z(1805)](Le,Qt)|0)+Math.imul(be,yt)|0,We=We+Math[z(1805)](be,Qt)|0,Pe=Pe+Math[z(1805)](ke,Ze)|0,ve=(ve+Math[z(1805)](ke,ut)|0)+Math[z(1805)](Oe,Ze)|0,We=We+Math[z(1805)](Oe,ut)|0,Pe=Pe+Math[z(1805)](Te,St)|0,ve=(ve+Math[z(1805)](Te,gt)|0)+Math[z(1805)](Ge,St)|0,We=We+Math[z(1805)](Ge,gt)|0,(ti+(Pe+Math[z(1805)](Ie,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](Ie,Lt)|0)+Math[z(1805)](we,xt)|0))<<13)|0),Kt=(ti=((We+Math[z(1805)](we,Lt)|0)+(ve>>>13)|0)+(mi>>>26)|0,mi&=67108863,Pe=Math[z(1805)](ze,Ct),ve=Math[z(1805)](ze,ct)+Math[z(1805)](Je,Ct)|0,We=Math[z(1805)](Je,ct),Pe=Pe+Math[z(1805)](Ne,yt)|0,ve=(ve+Math.imul(Ne,Qt)|0)+Math[z(1805)](Ue,yt)|0,We=We+Math[z(1805)](Ue,Qt)|0,Pe=Pe+Math[z(1805)](Le,Ze)|0,ve=(ve+Math[z(1805)](Le,ut)|0)+Math[z(1805)](be,Ze)|0,We=We+Math.imul(be,ut)|0,Pe=Pe+Math[z(1805)](ke,St)|0,ve=(ve+Math.imul(ke,gt)|0)+Math.imul(Oe,St)|0,We=We+Math[z(1805)](Oe,gt)|0,(ti+(Pe+Math.imul(Te,xt)|0)|0)+((8191&(ve=(ve+Math.imul(Te,Lt)|0)+Math[z(1805)](Ge,xt)|0))<<13)|0),xi=(ti=((We+Math[z(1805)](Ge,Lt)|0)+(ve>>>13)|0)+(Kt>>>26)|0,Kt&=67108863,Pe=Math.imul(ze,yt),ve=Math[z(1805)](ze,Qt)+Math[z(1805)](Je,yt)|0,We=Math[z(1805)](Je,Qt),Pe=Pe+Math[z(1805)](Ne,Ze)|0,ve=(ve+Math.imul(Ne,ut)|0)+Math[z(1805)](Ue,Ze)|0,We=We+Math[z(1805)](Ue,ut)|0,Pe=Pe+Math[z(1805)](Le,St)|0,ve=(ve+Math.imul(Le,gt)|0)+Math[z(1805)](be,St)|0,We=We+Math[z(1805)](be,gt)|0,(ti+(Pe+Math[z(1805)](ke,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](ke,Lt)|0)+Math[z(1805)](Oe,xt)|0))<<13)|0),_t=(ti=((We+Math[z(1805)](Oe,Lt)|0)+(ve>>>13)|0)+(xi>>>26)|0,xi&=67108863,Pe=Math[z(1805)](ze,Ze),ve=Math.imul(ze,ut)+Math[z(1805)](Je,Ze)|0,We=Math[z(1805)](Je,ut),Pe=Pe+Math[z(1805)](Ne,St)|0,ve=(ve+Math[z(1805)](Ne,gt)|0)+Math.imul(Ue,St)|0,We=We+Math[z(1805)](Ue,gt)|0,(ti+(Pe+Math.imul(Le,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](Le,Lt)|0)+Math[z(1805)](be,xt)|0))<<13)|0),Mt=(ti=((We+Math.imul(be,Lt)|0)+(ve>>>13)|0)+(_t>>>26)|0,_t&=67108863,Pe=Math[z(1805)](ze,St),ve=Math[z(1805)](ze,gt)+Math[z(1805)](Je,St)|0,We=Math.imul(Je,gt),(ti+(Pe+Math[z(1805)](Ne,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](Ne,Lt)|0)+Math[z(1805)](Ue,xt)|0))<<13)|0),Ht=(ti=((We+Math.imul(Ue,Lt)|0)+(ve>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,(ti+Math[z(1805)](ze,xt)|0)+((8191&(ve=Math[z(1805)](ze,Lt)+Math.imul(Je,xt)|0))<<13)|0),ti=(Math[z(1805)](Je,Lt)+(ve>>>13)|0)+(Ht>>>26)|0;return Ht&=67108863,re[0]=nt,re[1]=bt,re[2]=Pt,re[3]=It,re[4]=Mi,re[5]=er,re[6]=di,re[7]=wi,re[8]=Ri,re[9]=Ei,re[10]=Wt,re[11]=jt,re[12]=pi,re[13]=mi,re[14]=Kt,re[15]=xi,re[16]=_t,re[17]=Mt,re[18]=Ht,ti!=0&&(re[19]=ti,Y[z(1383)]++),Y};function ee(U,W,Y){var z=D;return new ie()[z(1210)](U,W,Y)}function ie(U,W){this.x=U,this.y=W}Math[D(1805)]||(q=X),M[D(1166)][D(685)]=function(U,W){var Y=D,z=this[Y(1383)]+U.length;return(this[Y(1383)]===10&&U[Y(1383)]===10?q:z<63?X:z<1024?function(re,se,de){var me=Y;de.negative=se[me(493)]^re[me(493)],de.length=re.length+se[me(1383)];for(var Ce=0,Ie=0,we=0;we<de.length-1;we++){for(var Te=Ie,Ie=0,Ge=67108863&Ce,ke=Math[me(1869)](we,se[me(1383)]-1),Oe=Math[me(323)](0,we-re[me(1383)]+1);Oe<=ke;Oe++){var Le,be=(0|re[me(660)][we-Oe])*(0|se[me(660)][Oe]),Ge=67108863&(Le=(67108863&be)+Ge|0);Ie+=(Te=(Te=Te+(be/67108864|0)|0)+(Le>>>26)|0)>>>26,Te&=67108863}de.words[we]=Ge,Ce=Te,Te=Ie}return Ce!==0?de[me(660)][we]=Ce:de[me(1383)]--,de[me(968)]()}:ee)(this,U,W)},ie[D(1166)][D(1369)]=function(U){for(var W=D,Y=new Array(U),z=M[W(1166)][W(623)](U)-1,re=0;re<U;re++)Y[re]=this[W(646)](re,z,U);return Y},ie.prototype.revBin=function(U,W,Y){if(U===0||U===Y-1)return U;for(var z=0,re=0;re<W;re++)z|=(1&U)<<W-re-1,U>>=1;return z},ie.prototype[D(1257)]=function(U,W,Y,z,re,se){for(var de=0;de<se;de++)z[de]=W[U[de]],re[de]=Y[U[de]]},ie[D(1166)].transform=function(U,W,Y,z,re,se){var de=D;this[de(1257)](se,U,W,Y,z,re);for(var me=1;me<re;me<<=1)for(var Ce=me<<1,Ie=Math[de(1147)](2*Math.PI/Ce),we=Math.sin(2*Math.PI/Ce),Te=0;Te<re;Te+=Ce)for(var Ge=Ie,ke=we,Oe=0;Oe<me;Oe++){var Le=Y[Te+Oe],be=z[Te+Oe],Ne=Y[Te+Oe+me],Ue=Ge*Ne-ke*(ze=z[Te+Oe+me]),ze=Ge*ze+ke*Ne;Y[Te+Oe]=Le+(Ne=Ue),z[Te+Oe]=be+ze,Y[Te+Oe+me]=Le-Ne,z[Te+Oe+me]=be-ze,Oe!==Ce&&(Ue=Ie*Ge-we*ke,ke=Ie*ke+we*Ge,Ge=Ue)}},ie.prototype[D(1272)]=function(U,W){for(var Y=D,W=1&(re=1|Math[Y(323)](W,U)),z=0,re=re/2|0;re;re>>>=1)z++;return 1<<z+1+W},ie[D(1166)][D(1184)]=function(U,W,Y){if(!(Y<=1))for(var z=0;z<Y/2;z++){var re=U[z];U[z]=U[Y-z-1],U[Y-z-1]=re,re=W[z],W[z]=-W[Y-z-1],W[Y-z-1]=-re}},ie[D(1166)][D(949)]=function(U,W){for(var Y=D,z=0,re=0;re<W/2;re++){var se=8192*Math[Y(1829)](U[2*re+1]/W)+Math[Y(1829)](U[2*re]/W)+z;U[re]=67108863&se,z=se<67108864?0:se/67108864|0}return U},ie[D(1166)][D(955)]=function(U,W,Y,z){for(var re=0,se=0;se<W;se++)re+=0|U[se],Y[2*se]=8191&re,Y[2*se+1]=8191&(re>>>=13),re>>>=13;for(se=2*W;se<z;++se)Y[se]=0;R(re===0),R((-8192&re)==0)},ie.prototype[D(737)]=function(U){for(var W=new Array(U),Y=0;Y<U;Y++)W[Y]=0;return W},ie.prototype[D(1210)]=function(U,W,Y){var z=D,re=2*this[z(1272)](U.length,W[z(1383)]),se=this[z(1369)](re),de=this[z(737)](re),me=new Array(re),Ce=new Array(re),Ie=new Array(re),we=new Array(re),Te=new Array(re),Ge=new Array(re),ke=Y.words;ke[z(1383)]=re,this[z(955)](U[z(660)],U[z(1383)],me,re),this.convert13b(W.words,W[z(1383)],we,re),this.transform(me,de,Ce,Ie,re,se),this[z(684)](we,de,Te,Ge,re,se);for(var Oe=0;Oe<re;Oe++){var Le=Ce[Oe]*Te[Oe]-Ie[Oe]*Ge[Oe];Ie[Oe]=Ce[Oe]*Ge[Oe]+Ie[Oe]*Te[Oe],Ce[Oe]=Le}return this.conjugate(Ce,Ie,re),this[z(684)](Ce,Ie,ke,de,re,se),this[z(1184)](ke,de,re),this[z(949)](ke,re),Y[z(493)]=U[z(493)]^W.negative,Y.length=U.length+W.length,Y[z(968)]()},M[D(1166)][D(2545)]=function(U){var W=D,Y=new M(null);return Y[W(660)]=new Array(this[W(1383)]+U.length),this[W(685)](U,Y)},M[D(1166)][D(1579)]=function(U){var W=D,Y=new M(null);return Y[W(660)]=new Array(this[W(1383)]+U[W(1383)]),ee(this,U,Y)},M[D(1166)][D(1805)]=function(U){var W=D;return this[W(2164)]().mulTo(U,this)},M[D(1166)].imuln=function(U){var W=D;R(W(2013)==typeof U),R(U<67108864);for(var Y=0,z=0;z<this.length;z++){var re=(0|this[W(660)][z])*U,se=(67108863&re)+(67108863&Y),Y=(Y>>=26)+(re/67108864|0)+(se>>>26);this.words[z]=67108863&se}return Y!==0&&(this.words[z]=Y,this[W(1383)]++),this},M.prototype[D(744)]=function(U){var W=D;return this[W(2164)]()[W(683)](U)},M[D(1166)][D(1219)]=function(){var U=D;return this[U(2545)](this)},M[D(1166)][D(468)]=function(){var U=D;return this[U(1805)](this.clone())},M[D(1166)][D(337)]=function(U){var W=D,Y=function(de){for(var me=Ut,Ce=new Array(de[me(485)]()),Ie=0;Ie<Ce.length;Ie++){var we=Ie%26;Ce[Ie]=(de.words[Ie/26|0]&1<<we)>>>we}return Ce}(U);if(Y.length===0)return new M(1);for(var z=this,re=0;re<Y[W(1383)]&&Y[re]===0;re++,z=z[W(1219)]());if(++re<Y[W(1383)])for(var se=z[W(1219)]();re<Y[W(1383)];re++,se=se[W(1219)]())Y[re]!==0&&(z=z.mul(se));return z},M[D(1166)][D(1328)]=function(U){var W=D;R(W(2013)==typeof U&&0<=U);var Y=U%26,z=(U-Y)/26,re=67108863>>>26-Y<<26-Y;if(Y!=0){for(var se=0,de=0;de<this[W(1383)];de++){var me=this[W(660)][de]&re,Ce=(0|this[W(660)][de])-me<<Y;this[W(660)][de]=Ce|se,se=me>>>26-Y}se&&(this[W(660)][de]=se,this[W(1383)]++)}if(z!=0){for(de=this[W(1383)]-1;0<=de;de--)this[W(660)][de+z]=this[W(660)][de];for(de=0;de<z;de++)this[W(660)][de]=0;this[W(1383)]+=z}return this[W(968)]()},M[D(1166)][D(1696)]=function(U){var W=D;return R(this[W(493)]===0),this[W(1328)](U)},M[D(1166)][D(1487)]=function(U,W,Y){var z=D;R(typeof U=="number"&&0<=U);var re,re=W?(W-W%26)/26:0,se=U%26,de=Math.min((U-se)/26,this[z(1383)]),me=67108863^67108863>>>se<<se,Ce=Y;if(re-=de,re=Math[z(323)](0,re),Ce){for(var Ie=0;Ie<de;Ie++)Ce.words[Ie]=this.words[Ie];Ce[z(1383)]=de}if(de!==0)if(this.length>de)for(this[z(1383)]-=de,Ie=0;Ie<this[z(1383)];Ie++)this[z(660)][Ie]=this[z(660)][Ie+de];else this[z(660)][0]=0,this[z(1383)]=1;for(var we=0,Ie=this[z(1383)]-1;0<=Ie&&(we!==0||re<=Ie);Ie--){var Te=0|this[z(660)][Ie];this.words[Ie]=we<<26-se|Te>>>se,we=Te&me}return Ce&&we!==0&&(Ce.words[Ce[z(1383)]++]=we),this[z(1383)]===0&&(this.words[0]=0,this.length=1),this[z(968)]()},M[D(1166)][D(1376)]=function(U,W,Y){var z=D;return R(this[z(493)]===0),this[z(1487)](U,W,Y)},M.prototype[D(2780)]=function(U){var W=D;return this[W(2164)]().ishln(U)},M.prototype[D(1338)]=function(U){var W=D;return this[W(2164)]()[W(1328)](U)},M[D(1166)][D(1527)]=function(U){var W=D;return this[W(2164)]()[W(1376)](U)},M[D(1166)][D(2384)]=function(U){var W=D;return this.clone()[W(1487)](U)},M[D(1166)][D(901)]=function(z){var W=D;R(W(2013)==typeof z&&0<=z);var Y=z%26,z=(z-Y)/26;return!(this[W(1383)]<=z||!(this[W(660)][z]&1<<Y))},M[D(1166)][D(1617)]=function(z){var W=D;R(W(2013)==typeof z&&0<=z);var Y=z%26,z=(z-Y)/26;return R(this[W(493)]===0,W(2782)),this.length<=z?this:(Y!=0&&z++,this[W(1383)]=Math.min(z,this[W(1383)]),Y!=0&&(this[W(660)][this.length-1]&=67108863^67108863>>>Y<<Y),this[W(968)]())},M[D(1166)][D(316)]=function(U){var W=D;return this[W(2164)]()[W(1617)](U)},M[D(1166)][D(2695)]=function(U){var W=D;return R(W(2013)==typeof U),R(U<67108864),U<0?this.isubn(-U):this[W(493)]!==0?(this[W(1383)]===1&&(0|this[W(660)][0])<U?(this.words[0]=U-(0|this.words[0]),this.negative=0):(this.negative=0,this[W(590)](U),this[W(493)]=1),this):this[W(2079)](U)},M[D(1166)]._iaddn=function(U){var W=D;this[W(660)][0]+=U;for(var Y=0;Y<this[W(1383)]&&67108864<=this[W(660)][Y];Y++)this.words[Y]-=67108864,Y===this[W(1383)]-1?this[W(660)][Y+1]=1:this[W(660)][Y+1]++;return this.length=Math[W(323)](this[W(1383)],Y+1),this},M[D(1166)].isubn=function(U){var W=D;if(R(W(2013)==typeof U),R(U<67108864),U<0)return this.iaddn(-U);if(this[W(493)]!==0)return this[W(493)]=0,this[W(2695)](U),this[W(493)]=1,this;if(this[W(660)][0]-=U,this[W(1383)]===1&&this.words[0]<0)this[W(660)][0]=-this[W(660)][0],this[W(493)]=1;else for(var Y=0;Y<this[W(1383)]&&this[W(660)][Y]<0;Y++)this.words[Y]+=67108864,--this[W(660)][Y+1];return this[W(968)]()},M[D(1166)][D(2454)]=function(U){var W=D;return this[W(2164)]()[W(2695)](U)},M[D(1166)][D(160)]=function(U){var W=D;return this[W(2164)]()[W(590)](U)},M[D(1166)].iabs=function(){var U=D;return this[U(493)]=0,this},M[D(1166)][D(1914)]=function(){var U=D;return this[U(2164)]()[U(202)]()},M[D(1166)][D(862)]=function(U,W,Y){for(var z=D,re=U[z(1383)]+Y,se=(this[z(159)](re),0),de=0;de<U.length;de++){var me=(0|this[z(660)][de+Y])+se,Ce=(0|U[z(660)][de])*W,se=((me-=67108863&Ce)>>26)-(Ce/67108864|0);this[z(660)][de+Y]=67108863&me}for(;de<this[z(1383)]-Y;de++)se=(me=(0|this[z(660)][de+Y])+se)>>26,this[z(660)][de+Y]=67108863&me;if(se===0)return this[z(968)]();for(R(se===-1),de=se=0;de<this[z(1383)];de++)se=(me=-(0|this.words[de])+se)>>26,this.words[de]=67108863&me;return this.negative=1,this[z(968)]()},M[D(1166)][D(863)]=function(U,W){var Y=D;this[Y(1383)],U[Y(1383)];var z,re=this[Y(2164)](),se=U,de=0|se.words[se[Y(1383)]-1],me=((U=26-this[Y(623)](de))!=0&&(se=se[Y(1338)](U),re[Y(1328)](U),de=0|se.words[se[Y(1383)]-1]),re[Y(1383)]-se[Y(1383)]);if(W!=="mod"){(z=new M(null))[Y(1383)]=1+me,z[Y(660)]=new Array(z[Y(1383)]);for(var Ce=0;Ce<z[Y(1383)];Ce++)z[Y(660)][Ce]=0}var Ie=re[Y(2164)]()[Y(862)](se,1,me);Ie[Y(493)]===0&&(re=Ie,z&&(z[Y(660)][me]=1));for(var we=me-1;0<=we;we--){var Te=67108864*(0|re[Y(660)][se[Y(1383)]+we])+(0|re.words[se[Y(1383)]+we-1]),Te=Math[Y(1869)](Te/de|0,67108863);for(re[Y(862)](se,Te,we);re[Y(493)]!==0;)Te--,re[Y(493)]=0,re[Y(862)](se,1,we),re[Y(2356)]()||(re[Y(493)]^=1);z&&(z[Y(660)][we]=Te)}return z&&z.strip(),re[Y(968)](),Y(1801)!==W&&U!=0&&re[Y(1487)](U),{div:z||null,mod:re}},M[D(1166)].divmod=function(U,W,Y){var z=D;return R(!U[z(2356)]()),this[z(2356)]()?{div:new M(0),mod:new M(0)}:this.negative!==0&&U[z(493)]===0?(de=this[z(828)]()[z(2550)](U,W),z(1764)!==W&&(re=de[z(1801)].neg()),z(1801)!==W&&(se=de.mod[z(828)](),Y&&se.negative!==0&&se.iadd(U)),{div:re,mod:se}):this[z(493)]===0&&U.negative!==0?(de=this.divmod(U.neg(),W),{div:re=z(1764)!==W?de[z(1801)][z(828)]():re,mod:de.mod}):(this.negative&U[z(493)])!=0?(de=this[z(828)]().divmod(U[z(828)](),W),z(1801)!==W&&(se=de[z(1764)][z(828)](),Y&&se[z(493)]!==0&&se[z(258)](U)),{div:de[z(1801)],mod:se}):U[z(1383)]>this.length||this[z(526)](U)<0?{div:new M(0),mod:this}:U[z(1383)]===1?z(1801)===W?{div:this[z(545)](U[z(660)][0]),mod:null}:W==="mod"?{div:null,mod:new M(this[z(1825)](U.words[0]))}:{div:this[z(545)](U[z(660)][0]),mod:new M(this[z(1825)](U[z(660)][0]))}:this[z(863)](U,W);var re,se,de},M[D(1166)].div=function(U){var W=D;return this[W(2550)](U,W(1801),!1)[W(1801)]},M[D(1166)].mod=function(U){var W=D;return this[W(2550)](U,W(1764),!1).mod},M[D(1166)][D(1372)]=function(U){var W=D;return this[W(2550)](U,W(1764),!0)[W(1764)]},M[D(1166)][D(2078)]=function(re){var W=D,Y=this[W(2550)](re);if(Y.mod[W(2356)]())return Y[W(1801)];var se=Y.div[W(493)]!==0?Y[W(1764)][W(258)](re):Y[W(1764)],z=re[W(2384)](1),re=re[W(329)](1),se=se[W(526)](z);return se<0||re===1&&se===0?Y.div:Y[W(1801)][W(493)]!==0?Y.div[W(590)](1):Y[W(1801)][W(2695)](1)},M[D(1166)][D(1825)]=function(U){var W=D;R(U<=67108863);for(var Y=(1<<26)%U,z=0,re=this[W(1383)]-1;0<=re;re--)z=(Y*z+(0|this.words[re]))%U;return z},M.prototype[D(2593)]=function(U){var W=D;R(U<=67108863);for(var Y=0,z=this.length-1;0<=z;z--){var re=(0|this[W(660)][z])+67108864*Y;this[W(660)][z]=re/U|0,Y=re%U}return this[W(968)]()},M.prototype[D(545)]=function(U){var W=D;return this.clone()[W(2593)](U)},M[D(1166)][D(1156)]=function(U){var W=D;R(U[W(493)]===0),R(!U[W(2356)]());for(var z=this,Y=U[W(2164)](),z=z[W(493)]!==0?z.umod(U):z.clone(),re=new M(1),se=new M(0),de=new M(0),me=new M(1),Ce=0;z[W(631)]()&&Y.isEven();)z[W(1487)](1),Y[W(1487)](1),++Ce;for(var Ie=Y.clone(),we=z[W(2164)]();!z[W(2356)]();){for(var Te=0,Ge=1;(z[W(660)][0]&Ge)==0&&Te<26;++Te,Ge<<=1);if(0<Te)for(z.iushrn(Te);0<Te--;)(re[W(2108)]()||se[W(2108)]())&&(re[W(187)](Ie),se[W(258)](we)),re[W(1487)](1),se[W(1487)](1);for(var ke=0,Oe=1;(Y[W(660)][0]&Oe)==0&&ke<26;++ke,Oe<<=1);if(0<ke)for(Y[W(1487)](ke);0<ke--;)(de.isOdd()||me[W(2108)]())&&(de.iadd(Ie),me[W(258)](we)),de.iushrn(1),me.iushrn(1);0<=z[W(526)](Y)?(z[W(258)](Y),re[W(258)](de),se[W(258)](me)):(Y[W(258)](z),de[W(258)](re),me[W(258)](se))}return{a:de,b:me,gcd:Y[W(1328)](Ce)}},M[D(1166)]._invmp=function(U){var W=D;R(U[W(493)]===0),R(!U.isZero());for(var Y,re=this,z=U.clone(),re=re[W(493)]!==0?re.umod(U):re[W(2164)](),se=new M(1),de=new M(0),me=z[W(2164)]();0<re.cmpn(1)&&0<z.cmpn(1);){for(var Ce=0,Ie=1;(re[W(660)][0]&Ie)==0&&Ce<26;++Ce,Ie<<=1);if(0<Ce)for(re.iushrn(Ce);0<Ce--;)se.isOdd()&&se.iadd(me),se[W(1487)](1);for(var we=0,Te=1;(z.words[0]&Te)==0&&we<26;++we,Te<<=1);if(0<we)for(z[W(1487)](we);0<we--;)de[W(2108)]()&&de.iadd(me),de[W(1487)](1);0<=re[W(526)](z)?(re[W(258)](z),se[W(258)](de)):(z.isub(re),de[W(258)](se))}return(Y=re[W(1329)](1)===0?se:de).cmpn(0)<0&&Y[W(187)](U),Y},M[D(1166)][D(2011)]=function(U){var W=D;if(this[W(2356)]())return U[W(1914)]();if(U.isZero())return this[W(1914)]();var Y=this.clone(),z=U[W(2164)]();Y.negative=0;for(var re=z[W(493)]=0;Y[W(631)]()&&z[W(631)]();re++)Y[W(1487)](1),z[W(1487)](1);for(;;){for(;Y[W(631)]();)Y[W(1487)](1);for(;z[W(631)]();)z.iushrn(1);var se=Y[W(526)](z);if(se<0)var de=Y,Y=z,z=de;else if(se===0||z[W(1329)](1)===0)break;Y[W(258)](z)}return z[W(1328)](re)},M[D(1166)][D(2728)]=function(U){return this.egcd(U).a.umod(U)},M[D(1166)].isEven=function(){var U=D;return(1&this[U(660)][0])==0},M.prototype[D(2108)]=function(){var U=D;return(1&this[U(660)][0])==1},M[D(1166)][D(329)]=function(U){var W=D;return this[W(660)][0]&U},M[D(1166)][D(1468)]=function(Y){var W=D;R(typeof Y=="number");var z=Y%26,Y=(Y-z)/26,z=1<<z;if(this[W(1383)]<=Y)return this[W(159)](1+Y),this[W(660)][Y]|=z,this;for(var re=z,se=Y;re!==0&&se<this[W(1383)];se++){var de=0|this[W(660)][se],re=(de+=re)>>>26;de&=67108863,this.words[se]=de}return re!==0&&(this.words[se]=re,this.length++),this},M[D(1166)][D(2356)]=function(){var U=D;return this[U(1383)]===1&&this[U(660)][0]===0},M.prototype.cmpn=function(U){var W=D,Y=U<0;return this[W(493)]===0||Y?this[W(493)]===0&&Y?1:(this[W(968)](),Y=1<this.length?1:(R((U=Y?-U:U)<=67108863,W(2156)),(Y=0|this[W(660)][0])===U?0:Y<U?-1:1),this[W(493)]!==0?0|-Y:Y):-1},M[D(1166)][D(526)]=function(U){var W=D;return this[W(493)]!==0&&U[W(493)]===0?-1:this[W(493)]===0&&U[W(493)]!==0?1:(U=this[W(1627)](U),this.negative!==0?0|-U:U)},M[D(1166)][D(1627)]=function(U){var W=D;if(this[W(1383)]>U[W(1383)])return 1;if(this[W(1383)]<U[W(1383)])return-1;for(var Y=0,z=this.length-1;0<=z;z--){var re=0|this[W(660)][z],se=0|U[W(660)][z];if(re!=se){re<se?Y=-1:se<re&&(Y=1);break}}return Y},M[D(1166)][D(1023)]=function(U){var W=D;return this[W(1329)](U)===1},M[D(1166)].gt=function(U){var W=D;return this[W(526)](U)===1},M[D(1166)][D(1191)]=function(U){var W=D;return 0<=this[W(1329)](U)},M[D(1166)][D(638)]=function(U){return 0<=this.cmp(U)},M.prototype.ltn=function(U){return this.cmpn(U)===-1},M[D(1166)].lt=function(U){var W=D;return this[W(526)](U)===-1},M[D(1166)][D(2241)]=function(U){var W=D;return this[W(1329)](U)<=0},M.prototype.lte=function(U){var W=D;return this[W(526)](U)<=0},M.prototype[D(1782)]=function(U){var W=D;return this[W(1329)](U)===0},M[D(1166)].eq=function(U){var W=D;return this[W(526)](U)===0},M[D(2178)]=function(U){return new fe(U)},M.prototype[D(1190)]=function(U){var W=D;return R(!this.red,W(304)),R(this[W(493)]===0,W(906)),U.convertTo(this)[W(1836)](U)},M[D(1166)][D(1642)]=function(){var U=D;return R(this.red,U(2420)),this[U(2178)][U(624)](this)},M.prototype._forceRed=function(U){var W=D;return this[W(2178)]=U,this},M[D(1166)][D(1119)]=function(U){var W=D;return R(!this[W(2178)],"Already a number in reduction context"),this[W(1836)](U)},M[D(1166)].redAdd=function(U){var W=D;return R(this[W(2178)],W(2212)),this[W(2178)].add(this,U)},M[D(1166)][D(2597)]=function(U){var W=D;return R(this.red,W(559)),this.red[W(187)](this,U)},M[D(1166)].redSub=function(U){var W=D;return R(this[W(2178)],W(1575)),this.red.sub(this,U)},M[D(1166)][D(1910)]=function(U){var W=D;return R(this[W(2178)],"redISub works only with red numbers"),this[W(2178)][W(258)](this,U)},M[D(1166)][D(1142)]=function(U){var W=D;return R(this.red,"redShl works only with red numbers"),this.red[W(346)](this,U)},M.prototype[D(249)]=function(U){var W=D;return R(this[W(2178)],"redMul works only with red numbers"),this.red[W(1769)](this,U),this.red.mul(this,U)},M[D(1166)].redIMul=function(U){var W=D;return R(this[W(2178)],W(301)),this[W(2178)][W(1769)](this,U),this[W(2178)][W(1805)](this,U)},M[D(1166)][D(1533)]=function(){var U=D;return R(this[U(2178)],"redSqr works only with red numbers"),this[U(2178)][U(1819)](this),this[U(2178)][U(1219)](this)},M[D(1166)][D(2306)]=function(){var U=D;return R(this[U(2178)],U(2569)),this.red[U(1819)](this),this[U(2178)][U(468)](this)},M.prototype[D(1437)]=function(){var U=D;return R(this[U(2178)],U(1545)),this[U(2178)][U(1819)](this),this[U(2178)][U(820)](this)},M[D(1166)][D(2766)]=function(){var U=D;return R(this[U(2178)],"redInvm works only with red numbers"),this[U(2178)][U(1819)](this),this[U(2178)][U(2728)](this)},M[D(1166)].redNeg=function(){var U=D;return R(this[U(2178)],U(1775)),this[U(2178)][U(1819)](this),this[U(2178)].neg(this)},M[D(1166)][D(1396)]=function(U){var W=D;return R(this[W(2178)]&&!U[W(2178)],W(285)),this[W(2178)][W(1819)](this),this[W(2178)][W(337)](this,U)};var H={k256:null,p224:null,p192:null,p25519:null};function le(U,W){var Y=D;this[Y(878)]=U,this.p=new M(W,16),this.n=this.p.bitLength(),this.k=new M(1)[Y(1328)](this.n)[Y(258)](this.p),this.tmp=this[Y(1920)]()}function ue(){var U=D;le[U(2623)](this,"k256",U(215))}function Ae(){var U=D;le[U(2623)](this,U(464),U(1996))}function he(){var U=D;le[U(2623)](this,U(505),"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function ge(){var U=D;le[U(2623)](this,"25519",U(1684))}function fe(U){var W=D,Y;W(1896)==typeof U?(Y=M[W(865)](U),this.m=Y.p,this[W(1390)]=Y):(R(U.gtn(1),W(1614)),this.m=U,this[W(1390)]=null)}function ae(U){var W=D;fe.call(this,U),this[W(537)]=this.m[W(485)](),this[W(537)]%26!=0&&(this[W(537)]+=26-this[W(537)]%26),this.r=new M(1).iushln(this[W(537)]),this.r2=this.imod(this.r[W(1219)]()),this.rinv=this.r._invmp(this.m),this[W(2487)]=this[W(467)].mul(this.r)[W(590)](1)[W(1801)](this.m),this[W(2487)]=this[W(2487)][W(1372)](this.r),this[W(2487)]=this.r[W(1550)](this.minv)}le.prototype[D(1920)]=function(){var U=D,W=new M(null);return W[U(660)]=new Array(Math[U(1266)](this.n/13)),W},le[D(1166)][D(518)]=function(U){for(var W=D,Y,z=U;this[W(2259)](z,this.tmp),(Y=(z=(z=this[W(1259)](z))[W(187)](this[W(1120)]))[W(485)]())>this.n;);return U=Y<this.n?-1:z.ucmp(this.p),U===0?(z[W(660)][0]=0,z[W(1383)]=1):0<U?z[W(258)](this.p):z[W(968)]!==void 0?z[W(968)]():z[W(1076)](),z},le[D(1166)][D(2259)]=function(U,W){var Y=D;U[Y(1487)](this.n,0,W)},le[D(1166)][D(1259)]=function(U){var W=D;return U[W(1805)](this.k)},P(ue,le),ue.prototype.split=function(U,W){for(var Y=D,z=Math[Y(1869)](U[Y(1383)],9),re=0;re<z;re++)W.words[re]=U[Y(660)][re];if(W[Y(1383)]=z,U[Y(1383)]<=9)return U[Y(660)][0]=0,void(U[Y(1383)]=1);var se=U.words[9];for(W.words[W[Y(1383)]++]=4194303&se,re=10;re<U[Y(1383)];re++){var de=0|U[Y(660)][re];U.words[re-10]=(4194303&de)<<4|se>>>22,se=de}(U[Y(660)][re-10]=se>>>=22)==0&&10<U.length?U.length-=10:U[Y(1383)]-=9},ue[D(1166)][D(1259)]=function(U){var W=D;U.words[U[W(1383)]]=0,U[W(660)][U[W(1383)]+1]=0,U[W(1383)]+=2;for(var Y=0,z=0;z<U.length;z++){var re=0|U[W(660)][z];Y+=977*re,U[W(660)][z]=67108863&Y,Y=64*re+(Y/67108864|0)}return U[W(660)][U[W(1383)]-1]===0&&(U[W(1383)]--,U[W(660)][U[W(1383)]-1]===0&&U[W(1383)]--),U},P(Ae,le),P(he,le),P(ge,le),ge[D(1166)].imulK=function(U){for(var W=D,Y=0,z=0;z<U.length;z++){var re=19*(0|U[W(660)][z])+Y,se=67108863&re;re>>>=26,U[W(660)][z]=se,Y=re}return Y!==0&&(U[W(660)][U[W(1383)]++]=Y),U},M[D(865)]=function(U){var W=D;if(H[U])return H[U];var Y;if(U==="k256")Y=new ue;else if(W(464)===U)Y=new Ae;else if(W(505)===U)Y=new he;else{if(U!=="p25519")throw new Error(W(1412)+U);Y=new ge}return H[U]=Y},fe[D(1166)][D(1819)]=function(U){var W=D;R(U.negative===0,W(906)),R(U[W(2178)],"red works only with red numbers")},fe[D(1166)][D(1769)]=function(U,W){var Y=D;R((U.negative|W[Y(493)])==0,"red works only with positives"),R(U.red&&U.red===W.red,"red works only with red numbers")},fe[D(1166)].imod=function(U){var W=D;return(this.prime?this.prime[W(518)](U):U.umod(this.m))[W(1836)](this)},fe[D(1166)][D(828)]=function(U){var W=D;return U[W(2356)]()?U[W(2164)]():this.m.sub(U)._forceRed(this)},fe.prototype[D(2400)]=function(U,W){var Y=D;return this[Y(1769)](U,W),U=U[Y(2400)](W),0<=U[Y(526)](this.m)&&U[Y(258)](this.m),U[Y(1836)](this)},fe[D(1166)][D(187)]=function(U,W){var Y=D;return this[Y(1769)](U,W),U=U.iadd(W),0<=U[Y(526)](this.m)&&U.isub(this.m),U},fe.prototype.sub=function(U,W){var Y=D;return this[Y(1769)](U,W),U=U[Y(1550)](W),U[Y(1329)](0)<0&&U[Y(187)](this.m),U[Y(1836)](this)},fe.prototype[D(258)]=function(U,W){var Y=D;return this[Y(1769)](U,W),U=U[Y(258)](W),U[Y(1329)](0)<0&&U.iadd(this.m),U},fe[D(1166)].shl=function(U,W){var Y=D;return this[Y(1819)](U),this[Y(1028)](U[Y(1338)](W))},fe[D(1166)][D(1805)]=function(U,W){var Y=D;return this[Y(1769)](U,W),this[Y(1028)](U.imul(W))},fe[D(1166)][D(2545)]=function(U,W){var Y=D;return this[Y(1769)](U,W),this[Y(1028)](U.mul(W))},fe.prototype[D(468)]=function(U){var W=D;return this[W(1805)](U,U[W(2164)]())},fe[D(1166)][D(1219)]=function(U){var W=D;return this[W(2545)](U,U)},fe.prototype[D(820)]=function(U){var W=D;if(U.isZero())return U[W(2164)]();var Y=this.m[W(329)](3);if(R(Y%2==1),Y===3)return Y=this.m[W(2400)](new M(1)).iushrn(2),this.pow(U,Y);for(var z=this.m.subn(1),re=0;!z[W(2356)]()&&z[W(329)](1)===0;)re++,z[W(1487)](1);R(!z[W(2356)]());for(var se=new M(1)[W(1190)](this),de=se.redNeg(),me=this.m[W(160)](1)[W(1487)](1),Ce=new M(2*(Ce=this.m[W(485)]())*Ce).toRed(this);this[W(337)](Ce,me)[W(526)](de)!==0;)Ce[W(2597)](de);for(var Ie=this[W(337)](Ce,z),we=this.pow(U,z.addn(1)[W(1487)](1)),Te=this.pow(U,z),Ge=re;Te[W(526)](se)!==0;){for(var ke=Te,Oe=0;ke[W(526)](se)!==0;Oe++)ke=ke[W(1533)]();R(Oe<Ge);var Le=this[W(337)](Ie,new M(1).iushln(Ge-Oe-1)),we=we[W(249)](Le),Ie=Le[W(1533)](),Te=Te[W(249)](Ie),Ge=Oe}return we},fe.prototype[D(2728)]=function(U){var W=D;return U=U[W(1243)](this.m),U[W(493)]!==0?(U.negative=0,this.imod(U)[W(1364)]()):this[W(1028)](U)},fe[D(1166)][D(337)]=function(U,W){var Y=D;if(W[Y(2356)]())return new M(1)[Y(1190)](this);if(W[Y(1329)](1)===0)return U[Y(2164)]();var z=new Array(16);z[0]=new M(1).toRed(this),z[1]=U;for(var re=2;re<z[Y(1383)];re++)z[re]=this[Y(2545)](z[re-1],U);var se=z[0],de=0,me=0,Ce=W[Y(485)]()%26;for(Ce===0&&(Ce=26),re=W[Y(1383)]-1;0<=re;re--){for(var Ie=W[Y(660)][re],we=Ce-1;0<=we;we--){var Te=Ie>>we&1;se!==z[0]&&(se=this.sqr(se)),Te==0&&de===0?me=0:(de=de<<1|Te,(++me==4||re===0&&we===0)&&(se=this[Y(2545)](se,z[de]),de=me=0))}Ce=26}return se},fe.prototype.convertTo=function(U){var W=D,Y=U.umod(this.m);return Y===U?Y[W(2164)]():Y},fe[D(1166)].convertFrom=function(U){var W=D;return U=U[W(2164)](),U[W(2178)]=null,U},M.mont=function(U){return new ae(U)},P(ae,fe),ae[D(1166)].convertTo=function(U){var W=D;return this.imod(U[W(1338)](this.shift))},ae[D(1166)].convertFrom=function(U){var W=D;return U=this.imod(U[W(2545)](this[W(467)])),U[W(2178)]=null,U},ae[D(1166)][D(1805)]=function(U,W){var Y=D;return U[Y(2356)]()||W.isZero()?(U[Y(660)][0]=0,U[Y(1383)]=1,U):(U=U[Y(1805)](W),W=U.maskn(this[Y(537)]).mul(this[Y(2487)])[Y(1617)](this[Y(537)])[Y(2545)](this.m),U=U[Y(258)](W)[Y(1487)](this[Y(537)]),W=U,0<=U[Y(526)](this.m)?W=U[Y(258)](this.m):U.cmpn(0)<0&&(W=U[Y(187)](this.m)),W[Y(1836)](this))},ae[D(1166)][D(2545)]=function(U,W){var Y=D;return U[Y(2356)]()||W.isZero()?new M(0)[Y(1836)](this):(U=U.mul(W),W=U.maskn(this[Y(537)])[Y(2545)](this.minv)[Y(1617)](this[Y(537)]).mul(this.m),U=U[Y(258)](W)[Y(1487)](this.shift),W=U,0<=U[Y(526)](this.m)?W=U.isub(this.m):U[Y(1329)](0)<0&&(W=U.iadd(this.m)),W[Y(1836)](this))},ae[D(1166)].invm=function(U){var W=D;return this[W(1028)](U[W(1243)](this.m)[W(2545)](this.r2))[W(1836)](this)}})((B=T[w(2362)](B),this))},86266:(B,Q,T)=>{var w=Ut;Q[w(361)]=T(18597).i8,Q[w(2663)]=T(80953),Q[w(1227)]=T(29931),Q[w(1354)]=T(88254),Q[w(916)]=T(45427),Q.ec=T(57954),Q[w(2338)]=T(65980)},4918:(B,Q,T)=>{var w=Ut,S=T(73785),D=T(80953),R=D[w(2007)],P=D.getJSF,M=D[w(1906)];function L(k,N){var G=w;this[G(277)]=k,this.p=new S(N.p,16),this[G(2178)]=N[G(1390)]?S[G(2178)](N.prime):S[G(2129)](this.p),this[G(2162)]=new S(0).toRed(this[G(2178)]),this[G(880)]=new S(1)[G(1190)](this[G(2178)]),this[G(2703)]=new S(2)[G(1190)](this.red),this.n=N.n&&new S(N.n,16),this.g=N.g&&this[G(2290)](N.g,N[G(471)]),this[G(569)]=new Array(4),this._wnafT2=new Array(4),this[G(745)]=new Array(4),this[G(674)]=new Array(4),this[G(425)]=this.n?this.n[G(485)]():0,k=this.n&&this.p[G(1801)](this.n),!k||0<k[G(1329)](100)?this[G(2264)]=null:(this[G(1702)]=!0,this[G(2264)]=this.n[G(1190)](this.red))}function F(k,N){var G=w;this[G(1354)]=k,this[G(277)]=N,this.precomputed=null}(B.exports=L)[w(1166)][w(1207)]=function(){throw new Error("Not implemented")},L.prototype.validate=function(){var k=w;throw new Error(k(2526))},L[w(1166)][w(294)]=function(k,N){var G=w;M(k[G(2245)]);for(var J=k[G(2437)](),K=R(N,1,this[G(425)]),k=(1<<J[G(2584)]+1)-(J.step%2==0?2:1),X=(k/=3,[]),q=0;q<K[G(1383)];q+=J[G(2584)]){for(var ee=0,ie=q+J[G(2584)]-1;q<=ie;ie--)ee=(ee<<1)+K[ie];X[G(182)](ee)}for(var H=this.jpoint(null,null,null),le=this[G(2357)](null,null,null),ue=k;0<ue;ue--){for(q=0;q<X.length;q++)(ee=X[q])===ue?le=le[G(912)](J[G(1742)][q]):ee===-ue&&(le=le[G(912)](J[G(1742)][q][G(828)]()));H=H[G(2400)](le)}return H[G(370)]()},L.prototype[w(2416)]=function(k,N){for(var G=w,J=k[G(2383)](4),K=J[G(138)],X=J[G(1742)],q=R(N,K,this[G(425)]),ee=this[G(2357)](null,null,null),ie=q[G(1383)]-1;0<=ie;ie--){for(var H=0;0<=ie&&q[ie]===0;ie--)H++;if(0<=ie&&H++,ee=ee[G(331)](H),ie<0)break;var le=q[ie];M(le!==0),ee=G(1297)===k.type?0<le?ee[G(912)](X[le-1>>1]):ee.mixedAdd(X[-le-1>>1][G(828)]()):0<le?ee.add(X[le-1>>1]):ee.add(X[-le-1>>1][G(828)]())}return G(1297)===k[G(277)]?ee[G(370)]():ee},L[w(1166)][w(1636)]=function(k,N,G,J,K){for(var X=w,q=this[X(569)],ee=this[X(2556)],ie=this[X(745)],H=0,le=0;le<J;le++){var ue,Ae=(ue=N[le])[X(2383)](k);q[le]=Ae[X(138)],ee[le]=Ae[X(1742)]}for(le=J-1;1<=le;le-=2){var he=le-1,ge=le;if(q[he]!==1||q[ge]!==1)ie[he]=R(G[he],q[he],this[X(425)]),ie[ge]=R(G[ge],q[ge],this[X(425)]),H=Math.max(ie[he].length,H),H=Math[X(323)](ie[ge][X(1383)],H);else{var fe=[N[he],null,null,N[ge]],ae=(N[he].y[X(526)](N[ge].y)===0?(fe[1]=N[he][X(2400)](N[ge]),fe[2]=N[he][X(2733)]()[X(912)](N[ge][X(828)]())):N[he].y[X(526)](N[ge].y[X(1364)]())===0?(fe[1]=N[he][X(2733)]()[X(912)](N[ge]),fe[2]=N[he].add(N[ge][X(828)]())):(fe[1]=N[he][X(2733)]()[X(912)](N[ge]),fe[2]=N[he][X(2733)]()[X(912)](N[ge][X(828)]())),[-3,-1,-5,-7,0,7,5,1,3]),U=P(G[he],G[ge]),H=Math[X(323)](U[0][X(1383)],H);for(ie[he]=new Array(H),ie[ge]=new Array(H),me=0;me<H;me++){var W=0|U[0][me],Y=0|U[1][me];ie[he][me]=ae[3*(1+W)+(1+Y)],ie[ge][me]=0,ee[he]=fe}}}for(var z=this[X(2357)](null,null,null),re=this._wnafT4,le=H;0<=le;le--){for(var se=0;0<=le;){for(var de=!0,me=0;me<J;me++)re[me]=0|ie[me][le],re[me]!==0&&(de=!1);if(!de)break;se++,le--}if(0<=le&&se++,z=z.dblp(se),le<0)break;for(me=0;me<J;me++){var Ce=re[me];Ce!==0&&(0<Ce?ue=ee[me][Ce-1>>1]:Ce<0&&(ue=ee[me][-Ce-1>>1][X(828)]()),z=X(1297)===ue.type?z[X(912)](ue):z[X(2400)](ue))}}for(le=0;le<J;le++)ee[le]=null;return K?z:z[X(370)]()},(L.BasePoint=F)[w(1166)].eq=function(){var k=w;throw new Error(k(2526))},F[w(1166)][w(1009)]=function(){var k=w;return this.curve[k(1009)](this)},L[w(1166)][w(176)]=function(k,N){var G=w;if(k=D.toArray(k,N),N=this.p[G(250)](),(k[0]===4||k[0]===6||k[0]===7)&&k[G(1383)]-1==2*N)return k[0]===6?M(k[k[G(1383)]-1]%2==0):k[0]===7&&M(k[k[G(1383)]-1]%2==1),this[G(1207)](k[G(2679)](1,1+N),k[G(2679)](1+N,1+2*N));if(k[0]!==2&&k[0]!==3||k.length-1!==N)throw new Error(G(2099));return this.pointFromX(k[G(2679)](1,1+N),k[0]===3)},F[w(1166)][w(723)]=function(k){var N=w;return this[N(2371)](k,!0)},F[w(1166)][w(1446)]=function(k){var N=w,G=this[N(1354)].p.byteLength(),J=this[N(1876)]()[N(884)]("be",G);return k?[this[N(551)]().isEven()?2:3][N(1544)](J):[4][N(1544)](J,this[N(551)]()[N(884)]("be",G))},F[w(1166)].encode=function(k,N){var G=w;return D[G(2371)](this._encode(N),k)},F[w(1166)][w(1420)]=function(k){var N=w;if(this[N(2245)])return this;var G={doubles:null,naf:null,beta:null};return G[N(287)]=this[N(2383)](8),G[N(2538)]=this[N(2437)](4,k),G[N(2490)]=this[N(318)](),this[N(2245)]=G,this},F[w(1166)][w(2438)]=function(k){var N=w;if(!this[N(2245)])return!1;var G=this.precomputed[N(2538)];return!!G&&G.points[N(1383)]>=Math[N(1266)]((k[N(485)]()+1)/G.step)},F[w(1166)]._getDoubles=function(k,N){var G=w;if(this[G(2245)]&&this[G(2245)].doubles)return this[G(2245)][G(2538)];for(var J=[this],K=this,X=0;X<N;X+=k){for(var q=0;q<k;q++)K=K[G(338)]();J[G(182)](K)}return{step:k,points:J}},F[w(1166)][w(2383)]=function(k){var N=w;if(this[N(2245)]&&this[N(2245)][N(287)])return this[N(2245)][N(287)];for(var G=[this],J=(1<<k)-1,K=J==1?null:this.dbl(),X=1;X<J;X++)G[X]=G[X-1].add(K);return{wnd:k,points:G}},F.prototype[w(318)]=function(){return null},F[w(1166)][w(331)]=function(k){for(var N=w,G=this,J=0;J<k;J++)G=G[N(338)]();return G}},31138:(B,Q,T)=>{var w=Ut,S=T(80953),D=T(73785),R=T(35717),P=T(4918),M=S[w(1906)];function L(k){var N=w;this[N(454)]=(0|k.a)!=1,this[N(413)]=this.twisted&&(0|k.a)==-1,this[N(382)]=this.mOneA,P[N(2623)](this,N(1677),k),this.a=new D(k.a,16).umod(this[N(2178)].m),this.a=this.a.toRed(this[N(2178)]),this.c=new D(k.c,16)[N(1190)](this[N(2178)]),this.c2=this.c[N(1533)](),this.d=new D(k.d,16)[N(1190)](this[N(2178)]),this.dd=this.d[N(1021)](this.d),M(!this[N(454)]||this.c[N(1642)]()[N(1329)](1)===0),this.oneC=(0|k.c)==1}function F(k,N,G,J,K){var X=w;P[X(1254)][X(2623)](this,k,"projective"),N===null&&G===null&&J===null?(this.x=this[X(1354)][X(2162)],this.y=this[X(1354)].one,this.z=this.curve[X(880)],this.t=this.curve[X(2162)],this[X(1965)]=!0):(this.x=new D(N,16),this.y=new D(G,16),this.z=J?new D(J,16):this[X(1354)][X(880)],this.t=K&&new D(K,16),this.x[X(2178)]||(this.x=this.x.toRed(this[X(1354)][X(2178)])),this.y[X(2178)]||(this.y=this.y[X(1190)](this.curve[X(2178)])),this.z.red||(this.z=this.z[X(1190)](this[X(1354)][X(2178)])),this.t&&!this.t[X(2178)]&&(this.t=this.t[X(1190)](this[X(1354)][X(2178)])),this[X(1965)]=this.z===this[X(1354)][X(880)],this.curve.extended&&!this.t&&(this.t=this.x[X(249)](this.y),this[X(1965)]||(this.t=this.t.redMul(this.z.redInvm()))))}R(L,P),(B[w(1729)]=L)[w(1166)]._mulA=function(k){var N=w;return this.mOneA?k[N(1364)]():this.a[N(249)](k)},L.prototype[w(697)]=function(k){var N=w;return this[N(504)]?k:this.c.redMul(k)},L[w(1166)][w(2357)]=function(k,N,G,J){var K=w;return this[K(1207)](k,N,G,J)},L.prototype[w(2707)]=function(k,N){var G=w,K=(k=(k=new D(k,16))[G(2178)]?k:k.toRed(this.red))[G(1533)](),J=this.c2[G(1121)](this.a.redMul(K)),K=this[G(880)][G(1121)](this.c2[G(249)](this.d).redMul(K)),J=J[G(249)](K[G(2766)]()),K=J[G(1437)]();if(K[G(1533)]()[G(1121)](J)[G(526)](this[G(2162)])!==0)throw new Error(G(2092));return J=K[G(1642)]()[G(2108)](),(N&&!J||!N&&J)&&(K=K[G(1364)]()),this[G(1207)](k,K)},L[w(1166)][w(664)]=function(k,N){var G=w,J=(k=(k=new D(k,16))[G(2178)]?k:k[G(1190)](this[G(2178)]))[G(1533)](),K=J[G(1121)](this.c2),J=J.redMul(this.d)[G(249)](this.c2).redSub(this.a),K=K[G(249)](J.redInvm());if(K[G(526)](this[G(2162)])===0){if(N)throw new Error(G(2092));return this[G(1207)](this[G(2162)],k)}if(J=K[G(1437)](),J[G(1533)]()[G(1121)](K)[G(526)](this.zero)!==0)throw new Error("invalid point");return J[G(1642)]()[G(2108)]()!==N&&(J=J[G(1364)]()),this[G(1207)](J,k)},L[w(1166)][w(1009)]=function(G){var N=w;if(G.isInfinity())return!0;G[N(834)]();var K=G.x[N(1533)](),G=G.y[N(1533)](),J=K[N(249)](this.a).redAdd(G),K=this.c2[N(249)](this[N(880)][N(1021)](this.d[N(249)](K)[N(249)](G)));return J[N(526)](K)===0},R(F,P[w(1254)]),L.prototype[w(2290)]=function(k){return F.fromJSON(this,k)},L[w(1166)][w(1207)]=function(k,N,G,J){return new F(this,k,N,G,J)},F[w(1370)]=function(k,N){return new F(k,N[0],N[1],N[2])},F[w(1166)][w(1035)]=function(){var k=w;return this[k(2292)]()?k(770):k(2182)+this.x[k(1642)]()[k(1888)](16,2)+" y: "+this.y[k(1642)]()[k(1888)](16,2)+k(2089)+this.z[k(1642)]()[k(1888)](16,2)+">"},F[w(1166)][w(2292)]=function(){var k=w;return this.x[k(1329)](0)===0&&(this.y[k(526)](this.z)===0||this[k(1965)]&&this.y[k(526)](this[k(1354)].c)===0)},F[w(1166)][w(2319)]=function(){var k=w,X=this.x[k(1533)](),J=this.y[k(1533)](),G=(G=this.z[k(1533)]()).redIAdd(G),q=this[k(1354)][k(1047)](X),X=this.x[k(1021)](this.y)[k(1533)]()[k(1910)](X)[k(1910)](J),N=q[k(1021)](J),G=N[k(1121)](G),q=q[k(1121)](J),J=X[k(249)](G),K=N[k(249)](q),X=X[k(249)](q),q=G.redMul(N);return this[k(1354)][k(1207)](J,K,q,X)},F[w(1166)][w(2243)]=function(){var k=w,N,G,J,K,X,q=this.x[k(1021)](this.y)[k(1533)](),ee=this.x[k(1533)](),ie=this.y[k(1533)](),H=this[k(1354)][k(454)]?(H=(X=this[k(1354)]._mulA(ee))[k(1021)](ie),this.zOne?(N=q[k(1121)](ee)[k(1121)](ie)[k(249)](H[k(1121)](this[k(1354)][k(2703)])),G=H[k(249)](X[k(1121)](ie)),H[k(1533)]().redSub(H)[k(1121)](H)):(J=this.z[k(1533)](),K=H[k(1121)](J)[k(1910)](J),N=q[k(1121)](ee)[k(1910)](ie).redMul(K),G=H[k(249)](X[k(1121)](ie)),H[k(249)](K))):(X=ee.redAdd(ie),J=this[k(1354)][k(697)](this.z)[k(1533)](),K=X.redSub(J)[k(1121)](J),N=this.curve[k(697)](q[k(1910)](X))[k(249)](K),G=this[k(1354)][k(697)](X)[k(249)](ee[k(1910)](ie)),X[k(249)](K));return this.curve[k(1207)](N,G,H)},F[w(1166)][w(338)]=function(){var k=w;return this[k(2292)]()?this:this[k(1354)][k(382)]?this[k(2319)]():this[k(2243)]()},F[w(1166)][w(2475)]=function(J){var N=w,X=this.y[N(1121)](this.x)[N(249)](J.y[N(1121)](J.x)),K=this.y[N(1021)](this.x)[N(249)](J.y.redAdd(J.x)),ee=this.t.redMul(this[N(1354)].dd)[N(249)](J.t),J=this.z.redMul(J.z[N(1021)](J.z)),q=K[N(1121)](X),G=J.redSub(ee),J=J[N(1021)](ee),ee=K[N(1021)](X),K=q.redMul(G),X=J[N(249)](ee),q=q.redMul(ee),ee=G[N(249)](J);return this[N(1354)].point(K,X,ee,q)},F[w(1166)][w(399)]=function(ie){var N=w,G,J=this.z[N(249)](ie.z),ee=J[N(1533)](),K=this.x[N(249)](ie.x),X=this.y[N(249)](ie.y),H=this[N(1354)].d.redMul(K)[N(249)](X),q=ee[N(1121)](H),ee=ee.redAdd(H),H=this.x[N(1021)](this.y)[N(249)](ie.x[N(1021)](ie.y)).redISub(K)[N(1910)](X),ie=J[N(249)](q)[N(249)](H),H=this[N(1354)][N(454)]?(G=J[N(249)](ee)[N(249)](X[N(1121)](this[N(1354)][N(1047)](K))),q[N(249)](ee)):(G=J[N(249)](ee)[N(249)](X[N(1121)](K)),this[N(1354)][N(697)](q)[N(249)](ee));return this[N(1354)].point(ie,G,H)},F[w(1166)].add=function(k){var N=w;return this[N(2292)]()?k:k[N(2292)]()?this:this[N(1354)][N(382)]?this._extAdd(k):this[N(399)](k)},F.prototype.mul=function(k){var N=w;return this._hasDoubles(k)?this.curve[N(294)](this,k):this.curve[N(2416)](this,k)},F.prototype[w(815)]=function(k,N,G){var J=w;return this.curve[J(1636)](1,[this,N],[k,G],2,!1)},F[w(1166)][w(1316)]=function(k,N,G){var J=w;return this.curve[J(1636)](1,[this,N],[k,G],2,!0)},F[w(1166)][w(834)]=function(){var k=w;if(this[k(1965)])return this;var N=this.z.redInvm();return this.x=this.x.redMul(N),this.y=this.y[k(249)](N),this.t&&(this.t=this.t.redMul(N)),this.z=this[k(1354)].one,this[k(1965)]=!0,this},F[w(1166)][w(828)]=function(){var k=w;return this[k(1354)].point(this.x[k(1364)](),this.y,this.z,this.t&&this.t[k(1364)]())},F[w(1166)].getX=function(){return this.normalize(),this.x.fromRed()},F.prototype[w(551)]=function(){var k=w;return this[k(834)](),this.y[k(1642)]()},F[w(1166)].eq=function(k){var N=w;return this===k||this[N(1876)]().cmp(k[N(1876)]())===0&&this[N(551)]()[N(526)](k[N(551)]())===0},F[w(1166)][w(2154)]=function(k){var N=w,G=k[N(1190)](this.curve[N(2178)])[N(249)](this.z);if(this.x[N(526)](G)===0)return!0;for(var J=k[N(2164)](),K=this.curve.redN[N(249)](this.z);;){if(J[N(187)](this[N(1354)].n),0<=J.cmp(this[N(1354)].p))return!1;if(G.redIAdd(K),this.x[N(526)](G)===0)return!0}},F[w(1166)][w(370)]=F[w(1166)][w(834)],F.prototype.mixedAdd=F[w(1166)][w(2400)]},88254:(B,Q,T)=>{var w=Ut;Q[w(1631)]=T(4918),Q[w(1603)]=T(6673),Q[w(2129)]=T(22881),Q[w(1677)]=T(31138)},22881:(B,Q,T)=>{var w=Ut,S=T(73785),D=T(35717),R=T(4918),P=T(80953);function M(F){var k=Ut;R[k(2623)](this,"mont",F),this.a=new S(F.a,16)[k(1190)](this.red),this.b=new S(F.b,16).toRed(this[k(2178)]),this.i4=new S(4).toRed(this[k(2178)])[k(2766)](),this[k(2703)]=new S(2)[k(1190)](this[k(2178)]),this[k(1649)]=this.i4.redMul(this.a.redAdd(this.two))}function L(F,k,N){var G=Ut;R[G(1254)][G(2623)](this,F,"projective"),k===null&&N===null?(this.x=this.curve[G(880)],this.z=this[G(1354)][G(2162)]):(this.x=new S(k,16),this.z=new S(N,16),this.x.red||(this.x=this.x[G(1190)](this.curve[G(2178)])),this.z[G(2178)]||(this.z=this.z[G(1190)](this[G(1354)][G(2178)])))}D(M,R),(B[w(1729)]=M)[w(1166)][w(1009)]=function(N){var k=w,N=N.normalize().x,G=N[k(1533)](),G=G.redMul(N)[k(1021)](G[k(249)](this.a))[k(1021)](N);return G.redSqrt()[k(1533)]().cmp(G)===0},D(L,R[w(1254)]),M[w(1166)][w(176)]=function(F,k){var N=w;return this.point(P[N(884)](F,k),1)},M.prototype[w(1207)]=function(F,k){return new L(this,F,k)},M[w(1166)][w(2290)]=function(F){var k=w;return L[k(1370)](this,F)},L.prototype[w(1420)]=function(){},L.prototype[w(1446)]=function(){var F=w;return this[F(1876)]()[F(884)]("be",this[F(1354)].p.byteLength())},L[w(1370)]=function(F,k){return new L(F,k[0],k[1]||F.one)},L[w(1166)][w(1035)]=function(){var F=w;return this[F(2292)]()?F(770):"<EC Point x: "+this.x.fromRed()[F(1888)](16,2)+F(2089)+this.z.fromRed().toString(16,2)+">"},L[w(1166)][w(2292)]=function(){var F=w;return this.z[F(1329)](0)===0},L.prototype.dbl=function(){var F=w,N=this.x[F(1021)](this.z)[F(1533)](),G=this.x.redSub(this.z).redSqr(),k=N[F(1121)](G),N=N[F(249)](G),G=k[F(249)](G[F(1021)](this.curve[F(1649)][F(249)](k)));return this.curve.point(N,G)},L.prototype[w(2400)]=function(){throw new Error("Not supported on Montgomery curve")},L[w(1166)][w(2196)]=function(G,k){var N=w,J=this.x[N(1021)](this.z),X=this.x[N(1121)](this.z),K=G.x[N(1021)](G.z),G=G.x.redSub(G.z).redMul(J),J=K[N(249)](X),K=k.z[N(249)](G[N(1021)](J)[N(1533)]()),X=k.x[N(249)](G[N(1910)](J)[N(1533)]());return this[N(1354)][N(1207)](K,X)},L[w(1166)][w(2545)]=function(F){for(var k=w,N=F.clone(),G=this,J=this.curve[k(1207)](null,null),K=[];N.cmpn(0)!==0;N[k(1487)](1))K.push(N[k(329)](1));for(var X=K.length-1;0<=X;X--)K[X]===0?(G=G[k(2196)](J,this),J=J[k(338)]()):(J=G[k(2196)](J,this),G=G[k(338)]());return J},L.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},L[w(1166)][w(600)]=function(){throw new Error("Not supported on Montgomery curve")},L[w(1166)].eq=function(F){var k=w;return this.getX()[k(526)](F[k(1876)]())===0},L[w(1166)][w(834)]=function(){var F=w;return this.x=this.x[F(249)](this.z[F(2766)]()),this.z=this.curve[F(880)],this},L[w(1166)][w(1876)]=function(){var F=w;return this[F(834)](),this.x[F(1642)]()}},6673:(B,Q,T)=>{var w=Ut,S=T(80953),D=T(73785),R=T(35717),P=T(4918),M=S.assert;function L(N){var G=Ut;P.call(this,G(1603),N),this.a=new D(N.a,16)[G(1190)](this.red),this.b=new D(N.b,16)[G(1190)](this[G(2178)]),this[G(1308)]=this[G(2703)][G(2766)](),this[G(1381)]=this.a.fromRed()[G(1329)](0)===0,this.threeA=this.a[G(1642)]()[G(1550)](this.p)[G(1329)](-3)===0,this.endo=this[G(1064)](N),this[G(379)]=new Array(4),this._endoWnafT2=new Array(4)}function F(N,G,J,K){var X=Ut;P[X(1254)][X(2623)](this,N,"affine"),G===null&&J===null?(this.x=null,this.y=null,this.inf=!0):(this.x=new D(G,16),this.y=new D(J,16),K&&(this.x[X(1119)](this[X(1354)][X(2178)]),this.y[X(1119)](this[X(1354)].red)),this.x[X(2178)]||(this.x=this.x[X(1190)](this.curve[X(2178)])),this.y[X(2178)]||(this.y=this.y[X(1190)](this.curve[X(2178)])),this[X(2447)]=!1)}function k(N,G,J,K){var X=Ut;P[X(1254)].call(this,N,X(1648)),G===null&&J===null&&K===null?(this.x=this[X(1354)].one,this.y=this[X(1354)][X(880)],this.z=new D(0)):(this.x=new D(G,16),this.y=new D(J,16),this.z=new D(K,16)),this.x.red||(this.x=this.x[X(1190)](this[X(1354)][X(2178)])),this.y[X(2178)]||(this.y=this.y.toRed(this[X(1354)][X(2178)])),this.z[X(2178)]||(this.z=this.z.toRed(this.curve.red)),this[X(1965)]=this.z===this[X(1354)].one}R(L,P),(B[w(1729)]=L).prototype._getEndomorphism=function(N){var G=w,J,K,X;if(this[G(1381)]&&this.g&&this.n&&this.p[G(1825)](3)===1)return K=(N[G(2490)]?new D(N[G(2490)],16):K=(K=this[G(1287)](this.p))[0][G(526)](K[1])<0?K[0]:K[1])[G(1190)](this.red),N[G(2488)]?J=new D(N[G(2488)],16):(X=this._getEndoRoots(this.n),this.g[G(2545)](X[0]).x[G(526)](this.g.x.redMul(K))===0?J=X[0]:(J=X[1],M(this.g[G(2545)](J).x.cmp(this.g.x[G(249)](K))===0))),{beta:K,lambda:J,basis:N[G(1843)]?N[G(1843)].map(function(q){return{a:new D(q.a,16),b:new D(q.b,16)}}):this[G(209)](J)}},L[w(1166)][w(1287)]=function(X){var G=w,X=X===this.p?this.red:D[G(2129)](X),J=new D(2)[G(1190)](X)[G(2766)](),K=J[G(1364)](),X=new D(3).toRed(X)[G(1364)]()[G(1437)]()[G(249)](J);return[K[G(1021)](X)[G(1642)](),K[G(1121)](X).fromRed()]},L.prototype._getEndoBasis=function(Y){for(var G=w,J,K,X,q,ee,ie=this.n.ushrn(Math[G(1194)](this.n.bitLength()/2)),H=Y,le=this.n[G(2164)](),ue=new D(1),Ae=new D(0),he=new D(0),ge=new D(1),fe=0;H[G(1329)](0)!==0;){var W=le[G(1801)](H),ae=le[G(1550)](W[G(2545)](H)),U=he.sub(W[G(2545)](ue)),W=ge[G(1550)](W[G(2545)](Ae));if(!X&&ae[G(526)](ie)<0)J=ee[G(828)](),K=ue,X=ae[G(828)](),q=U;else if(X&&++fe==2)break;le=H,H=ee=ae,he=ue,ue=U,ge=Ae,Ae=W}var Y=ae.neg(),z=U,re=X.sqr()[G(2400)](q[G(1219)]());return 0<=Y[G(1219)]()[G(2400)](z.sqr())[G(526)](re)&&(Y=J,z=K),X[G(493)]&&(X=X.neg(),q=q[G(828)]()),Y[G(493)]&&(Y=Y[G(828)](),z=z[G(828)]()),[{a:X,b:q},{a:Y,b:z}]},L.prototype[w(439)]=function(N){var G=w,J=this[G(2552)][G(1843)],ie=J[0],J=J[1],ee=J.b[G(2545)](N)[G(2078)](this.n),K=ie.b[G(828)]()[G(2545)](N).divRound(this.n),X=ee[G(2545)](ie.a),q=K[G(2545)](J.a),ee=ee[G(2545)](ie.b),ie=K[G(2545)](J.b);return{k1:N[G(1550)](X).sub(q),k2:ee[G(2400)](ie)[G(828)]()}},L[w(1166)][w(2707)]=function(N,G){var J=w,K=(N=(N=new D(N,16))[J(2178)]?N:N[J(1190)](this[J(2178)]))[J(1533)]()[J(249)](N).redIAdd(N[J(249)](this.a))[J(2597)](this.b),X=K[J(1437)]();if(X[J(1533)]().redSub(K)[J(526)](this[J(2162)])!==0)throw new Error(J(2092));return K=X[J(1642)]()[J(2108)](),(G&&!K||!G&&K)&&(X=X.redNeg()),this[J(1207)](N,X)},L[w(1166)][w(1009)]=function(J){var G=w;if(J[G(2447)])return!0;var X=J.x,J=J.y,K=this.a[G(249)](X),X=X[G(1533)]()[G(249)](X)[G(2597)](K)[G(2597)](this.b);return J.redSqr()[G(1910)](X)[G(1329)](0)===0},L[w(1166)]._endoWnafMulAdd=function(N,G,J){for(var K=w,X=this._endoWnafT1,q=this[K(1759)],ee=0;ee<N.length;ee++){var ie=this[K(439)](G[ee]),H=N[ee],le=H[K(318)]();ie.k1[K(493)]&&(ie.k1[K(919)](),H=H[K(828)](!0)),ie.k2[K(493)]&&(ie.k2.ineg(),le=le.neg(!0)),X[2*ee]=H,X[2*ee+1]=le,q[2*ee]=ie.k1,q[2*ee+1]=ie.k2}for(var J=this[K(1636)](1,X,q,2*ee,J),ue=0;ue<2*ee;ue++)X[ue]=null,q[ue]=null;return J},R(F,P[w(1254)]),L[w(1166)][w(1207)]=function(N,G,J){return new F(this,N,G,J)},L[w(1166)][w(2290)]=function(N,G){var J=w;return F[J(1370)](this,N,G)},F[w(1166)][w(318)]=function(){var N=w;if(this.curve[N(2552)]){var G=this.precomputed;if(G&&G.beta)return G.beta;var J,K,X=this[N(1354)][N(1207)](this.x.redMul(this[N(1354)][N(2552)][N(2490)]),this.y);return G&&(J=this[N(1354)],K=function(q){var ee=N;return J[ee(1207)](q.x.redMul(J.endo[ee(2490)]),q.y)},(G[N(2490)]=X)[N(2245)]={beta:null,naf:G.naf&&{wnd:G[N(287)][N(138)],points:G[N(287)][N(1742)].map(K)},doubles:G[N(2538)]&&{step:G.doubles[N(2584)],points:G.doubles[N(1742)][N(2135)](K)}}),X}},F[w(1166)][w(2639)]=function(){var N=w;return this[N(2245)]?[this.x,this.y,this.precomputed&&{doubles:this[N(2245)][N(2538)]&&{step:this[N(2245)][N(2538)][N(2584)],points:this[N(2245)][N(2538)][N(1742)].slice(1)},naf:this[N(2245)][N(287)]&&{wnd:this.precomputed[N(287)][N(138)],points:this[N(2245)][N(287)].points[N(2679)](1)}}]:[this.x,this.y]},F[w(1370)]=function(N,G,J){var K=w;K(1896)==typeof G&&(G=JSON[K(1780)](G));var X=N[K(1207)](G[0],G[1],J);if(!G[2])return X;function q(ee){var ie=K;return N[ie(1207)](ee[0],ee[1],J)}return G=G[2],X[K(2245)]={beta:null,doubles:G[K(2538)]&&{step:G.doubles[K(2584)],points:[X][K(1544)](G[K(2538)][K(1742)].map(q))},naf:G[K(287)]&&{wnd:G[K(287)].wnd,points:[X][K(1544)](G[K(287)][K(1742)][K(2135)](q))}},X},F[w(1166)].inspect=function(){var N=w;return this[N(2292)]()?N(770):N(2182)+this.x.fromRed()[N(1888)](16,2)+N(2541)+this.y[N(1642)]()[N(1888)](16,2)+">"},F[w(1166)][w(2292)]=function(){var N=w;return this[N(2447)]},F[w(1166)][w(2400)]=function(J){var G=w;if(this.inf)return J;if(J.inf)return this;if(this.eq(J))return this[G(338)]();if(this[G(828)]().eq(J))return this.curve[G(1207)](null,null);if(this.x[G(526)](J.x)===0)return this[G(1354)].point(null,null);var K=this.y.redSub(J.y),J=(K=K[G(1329)](0)!==0?K[G(249)](this.x[G(1121)](J.x)[G(2766)]()):K)[G(1533)]()[G(1910)](this.x)[G(1910)](J.x),K=K[G(249)](this.x[G(1121)](J)).redISub(this.y);return this[G(1354)][G(1207)](J,K)},F[w(1166)][w(338)]=function(){var N=w;if(this[N(2447)])return this;var K=this.y[N(1021)](this.y);if(K.cmpn(0)===0)return this[N(1354)].point(null,null);var J=this.curve.a,G=this.x.redSqr(),K=K[N(2766)](),G=G[N(1021)](G)[N(2597)](G)[N(2597)](J)[N(249)](K),J=G.redSqr()[N(1910)](this.x[N(1021)](this.x)),K=G[N(249)](this.x[N(1121)](J))[N(1910)](this.y);return this[N(1354)][N(1207)](J,K)},F[w(1166)][w(1876)]=function(){var N=w;return this.x[N(1642)]()},F[w(1166)][w(551)]=function(){var N=w;return this.y[N(1642)]()},F[w(1166)][w(2545)]=function(N){var G=w;return N=new D(N,16),this[G(2292)]()?this:this[G(2438)](N)?this[G(1354)][G(294)](this,N):this[G(1354)].endo?this[G(1354)][G(2096)]([this],[N]):this.curve[G(2416)](this,N)},F.prototype[w(815)]=function(N,G,J){var K=w;return G=[this,G],N=[N,J],this[K(1354)][K(2552)]?this[K(1354)][K(2096)](G,N):this[K(1354)][K(1636)](1,G,N,2)},F[w(1166)][w(1316)]=function(N,G,J){var K=w;return G=[this,G],N=[N,J],this[K(1354)][K(2552)]?this.curve[K(2096)](G,N,!0):this.curve[K(1636)](1,G,N,2,!0)},F[w(1166)].eq=function(N){var G=w;return this===N||this[G(2447)]===N[G(2447)]&&(this[G(2447)]||this.x[G(526)](N.x)===0&&this.y[G(526)](N.y)===0)},F[w(1166)].neg=function(N){var G=w;if(this[G(2447)])return this;var J,K=this.curve[G(1207)](this.x,this.y[G(1364)]());return N&&this[G(2245)]&&(N=this[G(2245)],J=function(X){return X.neg()},K[G(2245)]={naf:N[G(287)]&&{wnd:N.naf[G(138)],points:N.naf[G(1742)][G(2135)](J)},doubles:N[G(2538)]&&{step:N[G(2538)][G(2584)],points:N[G(2538)].points[G(2135)](J)}}),K},F.prototype.toJ=function(){var N=w;return this[N(2447)]?this.curve[N(2357)](null,null,null):this[N(1354)][N(2357)](this.x,this.y,this[N(1354)][N(880)])},R(k,P[w(1254)]),L[w(1166)].jpoint=function(N,G,J){return new k(this,N,G,J)},k[w(1166)].toP=function(){var N=w;if(this.isInfinity())return this[N(1354)][N(1207)](null,null);var G=this.z[N(2766)](),K=G.redSqr(),J=this.x[N(249)](K),K=this.y[N(249)](K)[N(249)](G);return this.curve[N(1207)](J,K)},k[w(1166)][w(828)]=function(){var N=w;return this[N(1354)][N(2357)](this.x,this.y[N(1364)](),this.z)},k[w(1166)][w(2400)]=function(N){var G=w;if(this[G(2292)]())return N;if(N[G(2292)]())return this;var J=N.z[G(1533)](),ee=this.z[G(1533)](),ie=this.x[G(249)](J),K=N.x[G(249)](ee),J=this.y[G(249)](J[G(249)](N.z)),ee=N.y[G(249)](ee[G(249)](this.z)),K=ie[G(1121)](K),ee=J[G(1121)](ee);if(K[G(1329)](0)===0)return ee[G(1329)](0)!==0?this[G(1354)][G(2357)](null,null,null):this[G(338)]();var q=K.redSqr(),X=q.redMul(K),ie=ie[G(249)](q),q=ee.redSqr()[G(2597)](X)[G(1910)](ie)[G(1910)](ie),ee=ee.redMul(ie.redISub(q)).redISub(J[G(249)](X)),ie=this.z.redMul(N.z).redMul(K);return this.curve[G(2357)](q,ee,ie)},k.prototype[w(912)]=function(q){var G=w;if(this[G(2292)]())return q.toJ();if(q[G(2292)]())return this;var K=this.z[G(1533)](),ie=this.x,ee=q.x.redMul(K),J=this.y,q=q.y[G(249)](K)[G(249)](this.z),K=ie[G(1121)](ee),ee=J[G(1121)](q);if(K[G(1329)](0)===0)return ee[G(1329)](0)!==0?this[G(1354)][G(2357)](null,null,null):this.dbl();var q=K[G(1533)](),X=q[G(249)](K),ie=ie[G(249)](q),q=ee[G(1533)]()[G(2597)](X)[G(1910)](ie).redISub(ie),ee=ee[G(249)](ie[G(1910)](q))[G(1910)](J[G(249)](X)),ie=this.z.redMul(K);return this.curve[G(2357)](q,ee,ie)},k[w(1166)][w(331)]=function(N){var G=w;if(N===0)return this;if(this[G(2292)]())return this;if(!N)return this[G(338)]();if(this[G(1354)].zeroA||this[G(1354)].threeA){for(var J=this,K=0;K<N;K++)J=J[G(338)]();return J}for(var X=this[G(1354)].a,q=this[G(1354)][G(1308)],ee=this.x,ie=this.y,H=this.z,le=H[G(1533)]()[G(1533)](),ue=ie.redAdd(ie),K=0;K<N;K++){var ge=ee[G(1533)](),fe=ue[G(1533)](),Ae=fe[G(1533)](),ge=ge[G(1021)](ge)[G(2597)](ge).redIAdd(X[G(249)](le)),fe=ee[G(249)](fe),he=ge[G(1533)]().redISub(fe[G(1021)](fe)),fe=fe[G(1910)](he),ge=(ge=ge[G(249)](fe))[G(2597)](ge)[G(1910)](Ae),fe=ue[G(249)](H);K+1<N&&(le=le[G(249)](Ae)),ee=he,H=fe,ue=ge}return this.curve[G(2357)](ee,ue[G(249)](q),H)},k.prototype[w(338)]=function(){var N=w;return this[N(2292)]()?this:this[N(1354)][N(1381)]?this[N(1953)]():this[N(1354)][N(2601)]?this[N(2175)]():this._dbl()},k.prototype[w(1953)]=function(){var N=w,G,J,K,X,q,ee=this[N(1965)]?(J=this.x.redSqr(),K=(G=this.y.redSqr())[N(1533)](),G=(G=this.x[N(1021)](G)[N(1533)]()[N(1910)](J)[N(1910)](K))[N(2597)](G),X=(J=J[N(1021)](J)[N(2597)](J))[N(1533)]()[N(1910)](G)[N(1910)](G),K=(K=(K=K[N(2597)](K))[N(2597)](K))[N(2597)](K),G=J.redMul(G[N(1910)](J=X)).redISub(K),this.y[N(1021)](this.y)):(X=this.x[N(1533)](),q=(K=this.y.redSqr())[N(1533)](),K=(K=this.x[N(1021)](K)[N(1533)]()[N(1910)](X).redISub(q))[N(2597)](K),ee=(X=X[N(1021)](X)[N(2597)](X))[N(1533)](),q=(q=(q=q[N(2597)](q))[N(2597)](q))[N(2597)](q),J=ee[N(1910)](K)[N(1910)](K),G=X[N(249)](K[N(1910)](J)).redISub(q),(ee=this.y[N(249)](this.z))[N(2597)](ee));return this[N(1354)][N(2357)](J,G,ee)},k.prototype[w(2175)]=function(){var N=w,G,J,K,X,q,ee,ie,H;return this.zOne?(J=this.x[N(1533)](),q=(G=this.y[N(1533)]())[N(1533)](),G=(G=this.x.redAdd(G)[N(1533)]()[N(1910)](J)[N(1910)](q)).redIAdd(G),K=X=(J=J[N(1021)](J)[N(2597)](J)[N(2597)](this[N(1354)].a))[N(1533)]()[N(1910)](G).redISub(G),q=(q=(q=q[N(2597)](q))[N(2597)](q)).redIAdd(q),J=J.redMul(G[N(1910)](X)).redISub(q),G=this.y[N(1021)](this.y)):(X=this.z[N(1533)](),q=this.y[N(1533)](),ie=this.x[N(249)](q),ee=(ee=this.x.redSub(X)[N(249)](this.x.redAdd(X))).redAdd(ee)[N(2597)](ee),H=(ie=(ie=ie.redIAdd(ie))[N(2597)](ie))[N(1021)](ie),K=ee[N(1533)]()[N(1910)](H),G=this.y[N(1021)](this.z)[N(1533)]()[N(1910)](q).redISub(X),H=(H=(H=(H=q[N(1533)]())[N(2597)](H))[N(2597)](H))[N(2597)](H),J=ee[N(249)](ie[N(1910)](K))[N(1910)](H)),this[N(1354)][N(2357)](K,J,G)},k[w(1166)]._dbl=function(){var N=w,X=this[N(1354)].a,K=this.x,G=this.y,J=this.z,q=J[N(1533)]()[N(1533)](),ie=K.redSqr(),ee=G[N(1533)](),ie=ie[N(1021)](ie)[N(2597)](ie)[N(2597)](X[N(249)](q)),X=K[N(1021)](K),q=(X=X[N(2597)](X))[N(249)](ee),K=ie.redSqr()[N(1910)](q[N(1021)](q)),X=q.redISub(K),q=ee[N(1533)](),ee=(q=(q=(q=q[N(2597)](q)).redIAdd(q))[N(2597)](q),ie[N(249)](X)[N(1910)](q)),ie=G[N(1021)](G)[N(249)](J);return this[N(1354)][N(2357)](K,ee,ie)},k[w(1166)][w(143)]=function(){var N=w;if(!this[N(1354)][N(1381)])return this[N(338)]()[N(2400)](this);var J=this.x[N(1533)](),q=this.y[N(1533)](),G=this.z[N(1533)](),ie=q[N(1533)](),X=J[N(1021)](J)[N(2597)](J),ee=X[N(1533)](),J=this.x[N(1021)](q)[N(1533)]().redISub(J).redISub(ie),K=(J=(J=(J=J[N(2597)](J))[N(1021)](J)[N(2597)](J))[N(1910)](ee))[N(1533)](),ie=ie[N(2597)](ie),X=(ie=(ie=(ie=ie.redIAdd(ie))[N(2597)](ie))[N(2597)](ie),X.redIAdd(J).redSqr()[N(1910)](ee)[N(1910)](K)[N(1910)](ie)),ee=q[N(249)](X),q=(ee=(ee=ee[N(2597)](ee))[N(2597)](ee),this.x[N(249)](K).redISub(ee)),ee=(q=(q=q.redIAdd(q))[N(2597)](q),this.y[N(249)](X[N(249)](ie[N(1910)](X))[N(1910)](J[N(249)](K)))),ie=(ee=(ee=(ee=ee[N(2597)](ee))[N(2597)](ee)).redIAdd(ee),this.z.redAdd(J)[N(1533)]().redISub(G)[N(1910)](K));return this[N(1354)][N(2357)](q,ee,ie)},k[w(1166)][w(2545)]=function(N,G){var J=w;return N=new D(N,G),this[J(1354)][J(2416)](this,N)},k[w(1166)].eq=function(N){var G=w;if(N[G(277)]==="affine")return this.eq(N[G(2733)]());if(this===N)return!0;var J=this.z[G(1533)](),K=N.z.redSqr();return this.x[G(249)](K)[G(1910)](N.x[G(249)](J))[G(1329)](0)!==0?!1:(J=J[G(249)](this.z),K=K[G(249)](N.z),this.y.redMul(K)[G(1910)](N.y[G(249)](J))[G(1329)](0)===0)},k.prototype[w(2154)]=function(N){var G=w,J=this.z[G(1533)](),K=N[G(1190)](this[G(1354)][G(2178)]).redMul(J);if(this.x[G(526)](K)===0)return!0;for(var X=N.clone(),q=this[G(1354)][G(2264)].redMul(J);;){if(X.iadd(this[G(1354)].n),0<=X[G(526)](this[G(1354)].p))return!1;if(K[G(2597)](q),this.x.cmp(K)===0)return!0}},k[w(1166)][w(1035)]=function(){var N=w;return this[N(2292)]()?"<EC JPoint Infinity>":N(1580)+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z[N(1888)](16,2)+">"},k[w(1166)][w(2292)]=function(){var N=w;return this.z[N(1329)](0)===0}},45427:(B,R,T)=>{var w=Ut,S,D=R,R=T(33715),P=T(88254),M=T(80953)[w(1906)];function L(k){var N=w;N(1603)===k[N(277)]?this[N(1354)]=new P[N(1603)](k):N(1677)===k.type?this[N(1354)]=new P.edwards(k):this[N(1354)]=new P[N(2129)](k),this.g=this[N(1354)].g,this.n=this[N(1354)].n,this[N(658)]=k[N(658)],M(this.g[N(1009)](),N(725)),M(this.g[N(2545)](this.n)[N(2292)](),"Invalid curve, G*N != O")}function F(k,N){var G=w;Object[G(1844)](D,k,{configurable:!0,enumerable:!0,get:function(){var J=G,K=new L(N);return Object[J(1844)](D,k,{configurable:!0,enumerable:!0,value:K}),K}})}D[w(354)]=L,F(w(505),{type:w(1603),prime:w(505),p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:w(661),b:w(2644),n:w(262),hash:R[w(1077)],gRed:!1,g:[w(2343),"07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),F(w(464),{type:w(1603),prime:w(464),p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:w(1816),n:w(2768),hash:R[w(1077)],gRed:!1,g:[w(222),"bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),F(w(2613),{type:w(1603),prime:null,p:w(1822),a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:w(821),n:w(988),hash:R.sha256,gRed:!1,g:[w(2077),w(172)]}),F(w(197),{type:w(1603),prime:null,p:w(910),a:w(2337),b:w(2101),n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:R[w(2678)],gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7",w(1630)]}),F(w(573),{type:w(1603),prime:null,p:w(2296),a:w(2325),b:w(1436),n:w(1728),hash:R[w(720)],gRed:!1,g:[w(1345),w(1379)]}),F("curve25519",{type:"mont",prime:w(2441),p:w(1684),a:"76d06",b:"1",n:w(2328),hash:R.sha256,gRed:!1,g:["9"]}),F(w(1698),{type:w(1677),prime:w(2441),p:w(1684),a:"-1",c:"1",d:w(698),n:w(2328),hash:R[w(1077)],gRed:!1,g:[w(1784),"6666666666666666666666666666666666666666666666666666666666666658"]});try{S=T(91037)}catch{S=void 0}F("secp256k1",{type:"short",prime:w(238),p:w(215),a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:R[w(1077)],beta:w(1552),lambda:w(568),basis:[{a:w(1692),b:w(1199)},{a:w(2269),b:w(1692)}],gRed:!1,g:[w(839),w(1153),S]})},57954:(B,Q,T)=>{var w=Ut,S=T(73785),D=T(2156),R=T(80953),P=T(45427),M=T(29931),L=R[w(1906)],F=T(31251),k=T(90611);function N(G){var J=w;if(!(this instanceof N))return new N(G);typeof G=="string"&&(L(Object[J(1166)][J(579)][J(2623)](P,G),"Unknown curve "+G),G=P[G]),G instanceof P.PresetCurve&&(G={curve:G}),this.curve=G[J(1354)][J(1354)],this.n=this[J(1354)].n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=G[J(1354)].g,this.g[J(1420)](G[J(1354)].n.bitLength()+1),this[J(658)]=G[J(658)]||G[J(1354)].hash}(B[w(1729)]=N).prototype.keyPair=function(G){return new F(this,G)},N[w(1166)][w(922)]=function(G,J){var K=w;return F[K(1730)](this,G,J)},N[w(1166)][w(2410)]=function(G,J){var K=w;return F[K(2327)](this,G,J)},N.prototype[w(1265)]=function(G){for(var J=w,K=new D({hash:this.hash,pers:(G=G||{})[J(2440)],persEnc:G.persEnc||J(1757),entropy:G[J(1225)]||M(this.hash[J(306)]),entropyEnc:G[J(1225)]&&G[J(2617)]||"utf8",nonce:this.n[J(884)]()}),X=this.n[J(250)](),q=this.n.sub(new S(2));;){var ee=new S(K[J(2647)](X));if(!(0<ee.cmp(q)))return ee[J(2695)](1),this.keyFromPrivate(ee)}},N[w(1166)][w(1377)]=function(G,J){var K=w,X=8*G.byteLength()-this.n[K(485)]();return 0<X&&(G=G.ushrn(X)),!J&&0<=G[K(526)](this.n)?G[K(1550)](this.n):G},N[w(1166)][w(227)]=function(G,J,K,X){var q=w;typeof K=="object"&&(X=K,K=null),X=X||{},J=this[q(922)](J,K),G=this._truncateToN(new S(G,16));for(var K=this.n[q(250)](),ee=J[q(2750)]().toArray("be",K),K=G[q(884)]("be",K),ie=new D({hash:this[q(658)],entropy:ee,nonce:K,pers:X[q(2440)],persEnc:X[q(1931)]||q(1757)}),H=this.n[q(1550)](new S(1)),le=0;;le++){var ue=X.k?X.k(le):new S(ie.generate(this.n[q(250)]()));if(!((ue=this[q(1377)](ue,!0))[q(1329)](1)<=0||0<=ue[q(526)](H))){var Ae=this.g[q(2545)](ue);if(!Ae[q(2292)]()){var he=Ae[q(1876)](),ge=he[q(1372)](this.n);if(ge[q(1329)](0)!==0&&(ue=(ue=ue.invm(this.n).mul(ge.mul(J[q(2750)]()).iadd(G))).umod(this.n),ue[q(1329)](0)!==0))return Ae=(Ae.getY().isOdd()?1:0)|(he[q(526)](ge)!==0?2:0),X[q(2726)]&&0<ue.cmp(this.nh)&&(ue=this.n[q(1550)](ue),Ae^=1),new k({r:ge,s:ue,recoveryParam:Ae})}}}},N[w(1166)][w(1413)]=function(ie,H,K,X){var q=w;if(ie=this[q(1377)](new S(ie,16)),K=this.keyFromPublic(K,X),X=(H=new k(H,q(495))).r,H=H.s,X[q(1329)](1)<0||0<=X[q(526)](this.n)||H.cmpn(1)<0||0<=H[q(526)](this.n))return!1;var ee,H=H[q(2728)](this.n),ie=H[q(2545)](ie).umod(this.n),H=H[q(2545)](X)[q(1372)](this.n);return this.curve._maxwellTrick?!(ee=this.g[q(1316)](ie,K[q(2197)](),H)).isInfinity()&&ee[q(2154)](X):!(ee=this.g[q(815)](ie,K[q(2197)](),H)).isInfinity()&&ee.getX()[q(1372)](this.n)[q(526)](X)===0},N[w(1166)].recoverPubKey=function(ie,J,Ae,ee){var q=w;L((3&Ae)===Ae,q(2317)),J=new k(J,ee);var ee=this.n,ie=new S(ie),H=J.r,le=J.s,ue=1&Ae,Ae=Ae>>1;if(0<=H[q(526)](this[q(1354)].p[q(1372)](this[q(1354)].n))&&Ae)throw new Error("Unable to find sencond key candinate");return H=Ae?this[q(1354)][q(2707)](H[q(2400)](this[q(1354)].n),ue):this[q(1354)][q(2707)](H,ue),Ae=J.r[q(2728)](ee),ue=ee[q(1550)](ie)[q(2545)](Ae).umod(ee),J=le[q(2545)](Ae)[q(1372)](ee),this.g[q(815)](ue,H,J)},N[w(1166)][w(1044)]=function(G,J,K,X){var q=w;if((J=new k(J,X))[q(1943)]!==null)return J[q(1943)];for(var ee,ie=0;ie<4;ie++){try{ee=this[q(2043)](G,J,ie)}catch{continue}if(ee.eq(K))return ie}throw new Error("Unable to find valid recovery factor")}},31251:(B,Q,T)=>{var w=Ut,S=T(73785),D=T(80953)[w(1906)];function R(P,M){var L=w;this.ec=P,this.priv=null,this[L(2529)]=null,M[L(2060)]&&this[L(2574)](M[L(2060)],M[L(895)]),M[L(2529)]&&this[L(2075)](M[L(2529)],M[L(498)])}(B.exports=R)[w(2327)]=function(P,M,L){return M instanceof R?M:new R(P,{pub:M,pubEnc:L})},R[w(1730)]=function(P,M,L){return M instanceof R?M:new R(P,{priv:M,privEnc:L})},R[w(1166)][w(1009)]=function(){var P=w,M=this.getPublic();return M[P(2292)]()?{result:!1,reason:P(2425)}:M[P(1009)]()?M[P(2545)](this.ec[P(1354)].n)[P(2292)]()?{result:!0,reason:null}:{result:!1,reason:P(473)}:{result:!1,reason:P(404)}},R[w(1166)][w(2197)]=function(P,M){var L=w;return L(1896)==typeof P&&(M=P,P=null),this[L(2529)]||(this.pub=this.ec.g.mul(this[L(2060)])),M?this.pub.encode(M,P):this[L(2529)]},R[w(1166)][w(2750)]=function(P){var M=w;return M(495)===P?this[M(2060)][M(1888)](16,2):this[M(2060)]},R[w(1166)][w(2574)]=function(P,M){var L=w;this[L(2060)]=new S(P,M||16),this.priv=this[L(2060)][L(1372)](this.ec.curve.n)},R[w(1166)][w(2075)]=function(P,M){var L=w;if(P.x||P.y)return L(2129)===this.ec[L(1354)][L(277)]?D(P.x,L(203)):L(1603)!==this.ec[L(1354)][L(277)]&&L(1677)!==this.ec[L(1354)][L(277)]||D(P.x&&P.y,L(133)),void(this[L(2529)]=this.ec[L(1354)][L(1207)](P.x,P.y));this[L(2529)]=this.ec[L(1354)][L(176)](P,M)},R[w(1166)][w(694)]=function(P){var M=w;return P[M(1009)]()||D(P[M(1009)](),M(1480)),P[M(2545)](this[M(2060)])[M(1876)]()},R[w(1166)][w(227)]=function(P,M,L){var F=w;return this.ec[F(227)](P,this,M,L)},R[w(1166)][w(1413)]=function(P,M){var L=w;return this.ec[L(1413)](P,M,this)},R.prototype[w(1035)]=function(){var P=w;return P(887)+(this[P(2060)]&&this[P(2060)][P(1888)](16,2))+P(2051)+(this.pub&&this[P(2529)][P(1035)]())+" >"}},90611:(B,Q,T)=>{var w=Ut,S=T(73785),D=T(80953),R=D[w(1906)];function P(N,G){var J=w;if(N instanceof P)return N;this._importDER(N,G)||(R(N.r&&N.s,J(809)),this.r=new S(N.r,16),this.s=new S(N.s,16),N.recoveryParam===void 0?this[J(1943)]=null:this[J(1943)]=N[J(1943)])}function M(){var N=w;this[N(721)]=0}function L(N,G){var J=w,K=N[G[J(721)]++];if(!(128&K))return K;var X=15&K;if(X==0||4<X)return!1;for(var q=0,ee=0,ie=G.place;ee<X;ee++,ie++)q=((q<<=8)|N[ie])>>>0;return!(q<=127)&&(G[J(721)]=ie,q)}function F(N){for(var G=w,J=0,K=N[G(1383)]-1;!N[J]&&!(128&N[J+1])&&J<K;)J++;return J===0?N:N[G(2679)](J)}function k(N,G){var J=w;if(G<128)N[J(182)](G);else{var K=1+(Math.log(G)/Math[J(1202)]>>>3);for(N[J(182)](128|K);--K;)N.push(G>>>(K<<3)&255);N[J(182)](G)}}(B[w(1729)]=P).prototype._importDER=function(N,G){var J=w;if(N=D.toArray(N,G),G=new M,N[G[J(721)]++]!==48)return!1;var K=L(N,G);if(K===!1||K+G.place!==N[J(1383)]||N[G[J(721)]++]!==2||(K=L(N,G),K===!1))return!1;var X=N[J(2679)](G[J(721)],K+G[J(721)]);if(G[J(721)]+=K,N[G[J(721)]++]!==2||(K=L(N,G),K===!1)||N[J(1383)]!==K+G.place)return!1;if(N=N.slice(G.place,K+G.place),X[0]===0){if(!(128&X[1]))return!1;X=X[J(2679)](1)}if(N[0]===0){if(!(128&N[1]))return!1;N=N[J(2679)](1)}return this.r=new S(X),this.s=new S(N),!(this.recoveryParam=null)},P.prototype[w(2334)]=function(N){var G=w,K=this.r[G(884)](),J=this.s.toArray();for(128&K[0]&&(K=[0].concat(K)),128&J[0]&&(J=[0][G(1544)](J)),K=F(K),J=F(J);!(J[0]||128&J[1]);)J=J[G(2679)](1);var X=[2],K=(k(X,K[G(1383)]),(X=X[G(1544)](K))[G(182)](2),k(X,J[G(1383)]),X[G(1544)](J)),X=[48];return k(X,K[G(1383)]),X=X[G(1544)](K),D[G(2371)](X,N)}},65980:(B,Q,T)=>{var w=Ut,S=T(33715),D=T(45427),R=T(80953),P=R[w(1906)],M=R[w(1750)],L=T(79087),F=T(23622);function k(N){var G=w;if(P(G(1698)===N,G(1276)),!(this instanceof k))return new k(N);N=D[N][G(1354)],this[G(1354)]=N,this.g=N.g,this.g.precompute(N.n[G(485)]()+1),this.pointClass=N[G(1207)]()[G(2267)],this[G(1976)]=Math[G(1266)](N.n[G(485)]()/8),this[G(658)]=S[G(720)]}(B.exports=k)[w(1166)][w(227)]=function(ee,ie){var J=w;ee=M(ee);var ie=this[J(1431)](ie),K=this[J(1824)](ie[J(1098)](),ee),X=this.g[J(2545)](K),q=this.encodePoint(X),ee=this[J(1824)](q,ie[J(1100)](),ee)[J(2545)](ie.priv()),ie=K.add(ee)[J(1372)](this[J(1354)].n);return this[J(2252)]({R:X,S:ie,Rencoded:q})},k[w(1166)][w(1413)]=function(q,G,X){var K=w;q=M(q),G=this.makeSignature(G);var X=this[K(2410)](X),q=this[K(1824)](G[K(366)](),X[K(1100)](),q),ee=this.g[K(2545)](G.S());return G.R()[K(2400)](X[K(2529)]().mul(q)).eq(ee)},k[w(1166)][w(1824)]=function(){for(var N=w,G=this[N(658)](),J=0;J<arguments[N(1383)];J++)G[N(1002)](arguments[J]);return R[N(2001)](G[N(593)]())[N(1372)](this[N(1354)].n)},k[w(1166)][w(2410)]=function(N){var G=w;return L[G(2327)](this,N)},k[w(1166)][w(1431)]=function(N){return L.fromSecret(this,N)},k[w(1166)][w(2252)]=function(N){return N instanceof F?N:new F(this,N)},k.prototype[w(2681)]=function(N){var G=w,J=N[G(551)]()[G(884)]("le",this[G(1976)]);return J[this[G(1976)]-1]|=N[G(1876)]()[G(2108)]()?128:0,J},k[w(1166)][w(176)]=function(K){var G=w,X=(K=R.parseBytes(K))[G(1383)]-1,J=K[G(2679)](0,X)[G(1544)](-129&K[X]),K=(128&K[X])!=0,X=R.intFromLE(J);return this[G(1354)][G(664)](X,K)},k.prototype[w(702)]=function(N){var G=w;return N[G(884)]("le",this[G(1976)])},k[w(1166)].decodeInt=function(N){var G=w;return R[G(2001)](N)},k[w(1166)][w(1300)]=function(N){var G=w;return N instanceof this[G(1551)]}},79087:(B,Q,P)=>{var w=Ut,S=P(80953),D=S.assert,R=S.parseBytes,P=S[w(2661)];function M(L,F){var k=w;this[k(2338)]=L,this[k(2665)]=R(F.secret),L.isPoint(F.pub)?this[k(829)]=F.pub:this[k(223)]=R(F[k(2529)])}M.fromPublic=function(L,F){return F instanceof M?F:new M(L,{pub:F})},M[w(384)]=function(L,F){return F instanceof M?F:new M(L,{secret:F})},M[w(1166)][w(190)]=function(){var L=w;return this[L(2665)]},P(M,w(1100),function(){var L=w;return this[L(2338)].encodePoint(this[L(2529)]())}),P(M,w(2529),function(){var L=w;return this[L(223)]?this[L(2338)].decodePoint(this[L(223)]):this.eddsa.g[L(2545)](this[L(2060)]())}),P(M,w(482),function(){var L=w,F=this[L(2338)],N=this[L(658)](),k=F[L(1976)]-1,N=N[L(2679)](0,F[L(1976)]);return N[0]&=248,N[k]&=127,N[k]|=64,N}),P(M,w(2060),function(){var L=w;return this.eddsa.decodeInt(this[L(482)]())}),P(M,w(658),function(){var L=w;return this.eddsa[L(658)]()[L(1002)](this[L(190)]())[L(593)]()}),P(M,w(1098),function(){var L=w;return this[L(658)]()[L(2679)](this[L(2338)][L(1976)])}),M[w(1166)][w(227)]=function(L){var F=w;return D(this[F(2665)],F(2404)),this[F(2338)][F(227)](L,this)},M[w(1166)][w(1413)]=function(L,F){var k=w;return this[k(2338)].verify(L,F,this)},M[w(1166)][w(2387)]=function(L){var F=w;return D(this._secret,F(2708)),S[F(2371)](this[F(190)](),L)},M[w(1166)][w(2197)]=function(L){var F=w;return S[F(2371)](this[F(1100)](),L)},B[w(1729)]=M},23622:(B,Q,P)=>{var w=Ut,S=P(73785),D=P(80953),R=D.assert,P=D[w(2661)],M=D.parseBytes;function L(F,k){var N=w;this[N(2338)]=F,N(1499)!=typeof k&&(k=M(k)),Array[N(2507)](k)&&(k={R:k[N(2679)](0,F.encodingLength),S:k[N(2679)](F[N(1976)])}),R(k.R&&k.S,N(508)),F[N(1300)](k.R)&&(this._R=k.R),k.S instanceof S&&(this._S=k.S),this[N(1091)]=Array[N(2507)](k.R)?k.R:k[N(366)],this[N(137)]=Array[N(2507)](k.S)?k.S:k[N(524)]}P(L,"S",function(){var F=w;return this[F(2338)][F(1361)](this[F(524)]())}),P(L,"R",function(){var F=w;return this[F(2338)].decodePoint(this[F(366)]())}),P(L,"Rencoded",function(){return this.eddsa.encodePoint(this.R())}),P(L,w(524),function(){var F=w;return this[F(2338)][F(702)](this.S())}),L.prototype.toBytes=function(){var F=w;return this[F(366)]()[F(1544)](this.Sencoded())},L.prototype[w(1964)]=function(){var F=w;return D[F(2371)](this[F(1472)](),"hex").toUpperCase()},B[w(1729)]=L},91037:B=>{var Q=Ut;B[Q(1729)]={doubles:{step:4,points:[[Q(810),Q(1644)],[Q(952),"11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739",Q(2331)],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640",Q(1955)],[Q(1337),Q(768)],[Q(2798),Q(350)],[Q(1443),Q(672)],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0",Q(2498)],[Q(1760),"9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],[Q(309),Q(449)],[Q(2289),"9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0",Q(2514)],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047",Q(973)],[Q(1145),Q(1344)],[Q(310),Q(1040)],[Q(1611),Q(2662)],[Q(2517),Q(2705)],[Q(2260),Q(288)],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8",Q(1949)],[Q(1873),Q(1788)],[Q(915),Q(1714)],[Q(2235),Q(2575)],[Q(1500),Q(2582)],[Q(953),Q(2399)],[Q(995),Q(1406)],[Q(2664),Q(2297)],[Q(2394),Q(1778)],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03",Q(290)],[Q(1518),Q(1951)],[Q(496),Q(625)],[Q(2762),"e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],[Q(2618),Q(2506)],[Q(1512),"1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e",Q(811)],[Q(1164),Q(1917)],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef",Q(1892)],[Q(240),Q(2185)],[Q(1882),Q(1929)],[Q(2372),Q(1253)],[Q(1198),Q(179)],[Q(221),Q(2070)],[Q(2309),Q(2461)],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71",Q(1855)],[Q(1434),Q(582)],[Q(2346),Q(2605)],[Q(2118),"493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],[Q(1870),Q(2692)],[Q(1115),Q(924)],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f",Q(151)],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19",Q(2557)],[Q(1886),Q(177)],[Q(1335),Q(2122)],[Q(2193),"8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],[Q(1968),"7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],[Q(1131),Q(2210)],[Q(2385),Q(2778)],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151",Q(619)],[Q(395),Q(881)],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458",Q(2534)],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],[Q(830),Q(2291)],[Q(2304),Q(458)],[Q(1496),"620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787",Q(2231)],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e",Q(2452)]]},naf:{wnd:7,points:[[Q(2146),Q(2381)],[Q(2320),Q(2316)],[Q(2355),Q(2361)],[Q(264),Q(991)],[Q(2607),Q(2016)],[Q(297),Q(2508)],[Q(2265),Q(360)],[Q(1526),"4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],[Q(1897),Q(1762)],[Q(293),Q(971)],[Q(1081),Q(1321)],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714",Q(348)],[Q(1034),Q(2535)],[Q(2555),Q(1113)],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479",Q(1039)],[Q(2121),"80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],[Q(1311),Q(1317)],[Q(1797),Q(1803)],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],[Q(1925),Q(1875)],[Q(554),Q(1584)],[Q(2225),"e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b",Q(795)],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],[Q(2038),Q(1323)],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120",Q(612)],[Q(1680),Q(2784)],[Q(1779),Q(997)],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],[Q(2406),Q(1811)],[Q(2558),"55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],[Q(1459),Q(1977)],[Q(2769),"e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],[Q(978),"f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],[Q(803),Q(355)],[Q(640),"e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],[Q(614),Q(1200)],[Q(2302),Q(189)],[Q(2415),"100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],[Q(2273),Q(613)],[Q(1747),Q(1209)],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],[Q(2477),"f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c",Q(599)],[Q(1170),Q(2530)],[Q(705),Q(1683)],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3",Q(1572)],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf",Q(2482)],[Q(303),Q(900)],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448",Q(898)],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf",Q(2739)],[Q(647),Q(2503)],[Q(558),Q(1746)],[Q(1851),Q(2493)],[Q(1556),Q(501)],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51",Q(403)],[Q(1919),Q(155)],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5",Q(2553)],[Q(794),Q(479)],[Q(1497),"73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],[Q(2392),Q(2169)],[Q(1128),Q(1080)],[Q(615),Q(2277)],[Q(1244),Q(1037)],[Q(1989),"60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],[Q(2570),"3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],[Q(1320),"b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],[Q(2287),Q(1478)],[Q(1256),Q(2270)],[Q(1150),"6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],[Q(726),"322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],[Q(2434),Q(1511)],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889",Q(245)],[Q(805),Q(1027)],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984",Q(2712)],[Q(2683),Q(864)],[Q(1534),Q(1513)],[Q(2494),Q(2754)],[Q(282),Q(2542)],[Q(598),Q(1089)],[Q(291),Q(2085)],[Q(463),"49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],[Q(1288),Q(232)],[Q(1494),Q(1549)],[Q(959),Q(470)],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26",Q(127)],[Q(2610),Q(1284)],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e",Q(2230)],[Q(1043),"25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda",Q(939)],[Q(478),Q(279)],[Q(860),Q(233)],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c",Q(1168)],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],[Q(2427),Q(1600)],[Q(435),"5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],[Q(985),"438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],[Q(488),Q(930)],[Q(2332),Q(1637)],[Q(948),Q(1815)],[Q(272),Q(2006)],[Q(571),"9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58",Q(375)],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7",Q(777)],[Q(2502),Q(1e3)],[Q(1866),Q(457)],[Q(2350),"cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],[Q(1140),Q(822)],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f",Q(1457)],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6",Q(2527)],[Q(1745),Q(2730)],[Q(717),Q(1116)],[Q(1913),Q(2140)],[Q(1353),Q(716)],[Q(2511),"bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065",Q(380)],[Q(650),Q(2697)],[Q(1423),"cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],[Q(1011),Q(856)],[Q(2203),Q(946)],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66",Q(213)],[Q(1725),"9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],[Q(563),Q(1171)],[Q(1508),Q(1601)]]}}},80953:(B,R,P)=>{var w=Ut,S=R,D=P(73785),R=P(79746),P=P(34504);S.assert=R,S[w(884)]=P[w(884)],S[w(2448)]=P[w(2448)],S.toHex=P[w(1964)],S[w(2371)]=P[w(2371)],S[w(2007)]=function(M,L,F){for(var k=w,N=new Array(Math[k(323)](M[k(485)](),F)+1),G=(N.fill(0),1<<L+1),J=M[k(2164)](),K=0;K<N.length;K++){var X,q=J.andln(G-1);J[k(2108)]()?J[k(590)](X=(G>>1)-1<q?(G>>1)-q:q):X=0,N[K]=X,J[k(1487)](1)}return N},S[w(1083)]=function(M,L){for(var F=w,k,N=[[],[]],G=(M=M[F(2164)](),L=L.clone(),0),J=0;0<M[F(1329)](-G)||0<L[F(1329)](-J);){var K,X=M[F(329)](3)+G&3,q=L[F(329)](3)+J&3;q===3&&(q=-1),K=(1&(X=X===3?-1:X))==0?0:(k=M[F(329)](7)+G&7)!=3&&k!==5||q!==2?X:-X,N[0][F(182)](K),X=(1&q)==0?0:(k=L.andln(7)+J&7)!=3&&k!==5||X!==2?q:-q,N[1].push(X),2*G===K+1&&(G=1-G),2*J===X+1&&(J=1-J),M[F(1487)](1),L.iushrn(1)}return N},S[w(2661)]=function(M,L,F){var k="_"+L;M.prototype[L]=function(){var N=Ut;return this[k]!==void 0?this[k]:this[k]=F[N(2623)](this)}},S[w(1750)]=function(M){var L=w;return typeof M=="string"?S.toArray(M,L(495)):M},S[w(2001)]=function(M){var L=w;return new D(M,L(495),"le")}},73785:function(B,Q,T){var w=Ut;(function(S){"use strict";var D=Ut;function R(U,W){var Y=Ut;if(!U)throw new Error(W||Y(1719))}function P(U,W){var Y=Ut;function z(){}U[Y(1455)]=W,z[Y(1166)]=W[Y(1166)],U.prototype=new z,U[Y(1166)][Y(2267)]=U}function M(U,W,Y){var z=Ut;if(M[z(1346)](U))return U;this[z(493)]=0,this[z(660)]=null,this[z(1383)]=0,(this[z(2178)]=null)!==U&&(W!=="le"&&W!=="be"||(Y=W,W=10),this[z(2151)](U||0,W||10,Y||"be"))}var L;D(1499)==typeof B?B[D(1729)]=M:S.BN=M,(M.BN=M)[D(883)]=26;try{L=(D(1506)!=typeof window&&window[D(1641)]!==void 0?window:T(85568)).Buffer}catch{}function F(U,W){return U=U.charCodeAt(W),65<=U&&U<=70?U-55:97<=U&&U<=102?U-87:U-48&15}function k(U,W,Y){var z=F(U,Y);return W<=Y-1&&(z|=F(U,Y-1)<<4),z}function N(U,W,Y,z){for(var re=D,Ce=0,se=Math[re(1869)](U[re(1383)],Y),de=W;de<se;de++)var me=U[re(2010)](de)-48,Ce=Ce*z+(49<=me?me-49+10:17<=me?me-17+10:me);return Ce}M[D(1346)]=function(U){var W=D;return U instanceof M||U!==null&&W(1499)==typeof U&&U.constructor.wordSize===M[W(883)]&&Array[W(2507)](U[W(660)])},M[D(323)]=function(U,W){return 0<U.cmp(W)?U:W},M[D(1869)]=function(U,W){var Y=D;return U[Y(526)](W)<0?U:W},M[D(1166)][D(2151)]=function(U,W,Y){var z=D;if(z(2013)==typeof U)return this[z(1763)](U,W,Y);if(z(1499)==typeof U)return this[z(1263)](U,W,Y);R((W=z(495)===W?16:W)===(0|W)&&2<=W&&W<=36);var re=0;(U=U[z(1888)]()[z(1850)](/\s+/g,""))[0]==="-"&&(re++,this.negative=1),re<U[z(1383)]&&(W===16?this[z(260)](U,re,Y):(this[z(1834)](U,W,re),Y==="le"&&this[z(1263)](this[z(884)](),W,Y)))},M[D(1166)][D(1763)]=function(U,W,Y){var z=D;U<0&&(this[z(493)]=1,U=-U),U<67108864?(this.words=[67108863&U],this[z(1383)]=1):U<4503599627370496?(this[z(660)]=[67108863&U,U/67108864&67108863],this[z(1383)]=2):(R(U<9007199254740992),this[z(660)]=[67108863&U,U/67108864&67108863,1],this[z(1383)]=3),Y==="le"&&this._initArray(this[z(884)](),W,Y)},M.prototype[D(1263)]=function(U,W,Y){var z=D;if(R(typeof U[z(1383)]=="number"),U[z(1383)]<=0)return this[z(660)]=[0],this[z(1383)]=1,this;this[z(1383)]=Math[z(1266)](U.length/3),this[z(660)]=new Array(this[z(1383)]);for(var re,se,de=0;de<this.length;de++)this[z(660)][de]=0;var me=0;if(Y==="be")for(de=U.length-1,re=0;0<=de;de-=3)se=U[de]|U[de-1]<<8|U[de-2]<<16,this[z(660)][re]|=se<<me&67108863,this[z(660)][re+1]=se>>>26-me&67108863,26<=(me+=24)&&(me-=26,re++);else if(Y==="le")for(re=de=0;de<U[z(1383)];de+=3)se=U[de]|U[de+1]<<8|U[de+2]<<16,this[z(660)][re]|=se<<me&67108863,this[z(660)][re+1]=se>>>26-me&67108863,26<=(me+=24)&&(me-=26,re++);return this.strip()},M.prototype._parseHex=function(U,W,Y){var z=D;this[z(1383)]=Math[z(1266)]((U[z(1383)]-W)/6),this[z(660)]=new Array(this[z(1383)]);for(var re=0;re<this.length;re++)this.words[re]=0;var se,de=0,me=0;if(Y==="be")for(re=U[z(1383)]-1;W<=re;re-=2)se=k(U,W,re)<<de,this[z(660)][me]|=67108863&se,18<=de?(de-=18,this.words[me+=1]|=se>>>26):de+=8;else for(re=(U[z(1383)]-W)%2==0?W+1:W;re<U[z(1383)];re+=2)se=k(U,W,re)<<de,this[z(660)][me]|=67108863&se,18<=de?(de-=18,this[z(660)][me+=1]|=se>>>26):de+=8;this[z(968)]()},M.prototype[D(1834)]=function(U,W,Y){var z=D;this[z(660)]=[0];for(var re=0,se=this[z(1383)]=1;se<=67108863;se*=W)re++;for(var se=se/W|0,de=U[z(1383)]-Y,me=de%--re,Ce=Math[z(1869)](de,de-me)+Y,Ie=0,we=Y;we<Ce;we+=re)Ie=N(U,we,we+re,W),this.imuln(se),this[z(660)][0]+Ie<67108864?this[z(660)][0]+=Ie:this[z(2079)](Ie);if(me!=0){for(var Te=1,Ie=N(U,we,U.length,W),we=0;we<me;we++)Te*=W;this[z(683)](Te),this[z(660)][0]+Ie<67108864?this[z(660)][0]+=Ie:this[z(2079)](Ie)}this[z(968)]()},M[D(1166)][D(1830)]=function(U){var W=D;U[W(660)]=new Array(this[W(1383)]);for(var Y=0;Y<this[W(1383)];Y++)U.words[Y]=this.words[Y];U[W(1383)]=this[W(1383)],U[W(493)]=this[W(493)],U[W(2178)]=this[W(2178)]},M[D(1166)][D(2164)]=function(){var U=D,W=new M(null);return this[U(1830)](W),W},M.prototype[D(159)]=function(U){for(var W=D;this[W(1383)]<U;)this[W(660)][this.length++]=0;return this},M.prototype.strip=function(){for(var U=D;1<this[U(1383)]&&this[U(660)][this.length-1]===0;)this[U(1383)]--;return this[U(1049)]()},M[D(1166)][D(1049)]=function(){var U=D;return this[U(1383)]===1&&this[U(660)][0]===0&&(this[U(493)]=0),this},M[D(1166)][D(1035)]=function(){var U=D;return(this[U(2178)]?"<BN-R: ":U(780))+this[U(1888)](16)+">"};var G=["","0","00",D(2453),D(1548),D(1144),D(536),D(259),D(178),D(748),"0000000000",D(2680),D(1365),D(1062),"00000000000000","000000000000000",D(438),D(1270),D(767),D(1315),D(1048),D(2229),D(2042),D(1733),D(548),"0000000000000000000000000"],J=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],K=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function X(U,W,Y){var z=D;Y[z(493)]=W[z(493)]^U[z(493)];var re=U[z(1383)]+W.length|0,re=(Y.length=re)-1|0,se=(me=(0|U[z(660)][0])*(0|W.words[0]))/67108864|0;Y[z(660)][0]=67108863&me;for(var de=1;de<re;de++){for(var me,Ce=se>>>26,Ie=67108863&se,we=Math[z(1869)](de,W[z(1383)]-1),Te=Math[z(323)](0,de-U.length+1);Te<=we;Te++)Ce+=(me=(0|U[z(660)][de-Te|0])*(0|W.words[Te])+Ie)/67108864|0,Ie=67108863&me;Y[z(660)][de]=0|Ie,se=0|Ce}return se!==0?Y.words[de]=0|se:Y.length--,Y[z(968)]()}M[D(1166)].toString=function(U,W){var Y=D;if(W=0|W||1,(U=U||10)===16||Y(495)===U){for(var z="",re=0,se=0,de=0;de<this[Y(1383)];de++){var me=this[Y(660)][de],Ce=(16777215&(me<<re|se)).toString(16),z=(se=me>>>24-re&16777215)!=0||de!==this[Y(1383)]-1?G[6-Ce[Y(1383)]]+Ce+z:Ce+z;26<=(re+=2)&&(re-=26,de--)}for(se!==0&&(z=se.toString(16)+z);z[Y(1383)]%W!=0;)z="0"+z;return this[Y(493)]!==0?"-"+z:z}if(U===(0|U)&&2<=U&&U<=36){var Ie=J[U],we=K[U];for(z="",(Te=this[Y(2164)]())[Y(493)]=0;!Te[Y(2356)]();){var Te,Ge=Te[Y(1825)](we).toString(U);z=(Te=Te.idivn(we))[Y(2356)]()?Ge+z:G[Ie-Ge[Y(1383)]]+Ge+z}for(this[Y(2356)]()&&(z="0"+z);z.length%W!=0;)z="0"+z;return this.negative!==0?"-"+z:z}R(!1,Y(1731))},M[D(1166)][D(1312)]=function(){var U=D,W=this[U(660)][0];return this.length===2?W+=67108864*this[U(660)][1]:this.length===3&&this[U(660)][2]===1?W+=4503599627370496+67108864*this.words[1]:2<this[U(1383)]&&R(!1,U(1421)),this[U(493)]!==0?-W:W},M[D(1166)][D(2639)]=function(){var U=D;return this[U(1888)](16)},M[D(1166)][D(295)]=function(U,W){var Y=D;return R(L!==void 0),this[Y(1299)](L,U,W)},M[D(1166)][D(884)]=function(U,W){var Y=D;return this[Y(1299)](Array,U,W)},M[D(1166)][D(1299)]=function(U,W,Ce){var z=D,re,se,de=this[z(250)](),me=Ce||Math[z(323)](1,de),Ce=(R(de<=me,"byte array longer than desired length"),R(0<me,z(1881)),this.strip(),W==="le"),Ie=new U(me),we=this[z(2164)]();if(Ce){for(se=0;!we.isZero();se++)re=we[z(329)](255),we.iushrn(8),Ie[se]=re;for(;se<me;se++)Ie[se]=0}else{for(se=0;se<me-de;se++)Ie[se]=0;for(se=0;!we[z(2356)]();se++)re=we[z(329)](255),we[z(1487)](8),Ie[me-se-1]=re}return Ie},Math[D(207)]?M[D(1166)]._countBits=function(U){var W=D;return 32-Math[W(207)](U)}:M[D(1166)][D(623)]=function(U){var W=0;return 4096<=U&&(W+=13,U>>>=13),64<=U&&(W+=7,U>>>=7),8<=U&&(W+=4,U>>>=4),2<=U&&(W+=2,U>>>=2),W+U},M[D(1166)][D(1095)]=function(U){if(U===0)return 26;var W=0;return(8191&U)==0&&(W+=13,U>>>=13),(127&U)==0&&(W+=7,U>>>=7),(15&U)==0&&(W+=4,U>>>=4),(3&U)==0&&(W+=2,U>>>=2),(1&U)==0&&W++,W},M[D(1166)][D(485)]=function(){var U=D,W=this[U(660)][this[U(1383)]-1],W=this[U(623)](W);return 26*(this[U(1383)]-1)+W},M[D(1166)][D(1820)]=function(){var U=D;if(this[U(2356)]())return 0;for(var W=0,Y=0;Y<this[U(1383)];Y++){var z=this[U(1095)](this[U(660)][Y]);if(W+=z,z!==26)break}return W},M[D(1166)][D(250)]=function(){var U=D;return Math[U(1266)](this.bitLength()/8)},M[D(1166)].toTwos=function(U){var W=D;return this.negative!==0?this[W(1914)]()[W(2519)](U)[W(2695)](1):this[W(2164)]()},M[D(1166)][D(1845)]=function(U){var W=D;return this[W(901)](U-1)?this.notn(U)[W(2695)](1)[W(919)]():this[W(2164)]()},M[D(1166)][D(2797)]=function(){var U=D;return this[U(493)]!==0},M.prototype[D(828)]=function(){var U=D;return this[U(2164)]()[U(919)]()},M[D(1166)][D(919)]=function(){var U=D;return this[U(2356)]()||(this[U(493)]^=1),this},M[D(1166)][D(776)]=function(U){for(var W=D;this[W(1383)]<U.length;)this[W(660)][this[W(1383)]++]=0;for(var Y=0;Y<U[W(1383)];Y++)this.words[Y]=this.words[Y]|U[W(660)][Y];return this[W(968)]()},M.prototype[D(699)]=function(U){var W=D;return R((this[W(493)]|U[W(493)])==0),this[W(776)](U)},M[D(1166)].or=function(U){var W=D;return this[W(1383)]>U[W(1383)]?this[W(2164)]()[W(699)](U):U.clone()[W(699)](this)},M[D(1166)][D(2354)]=function(U){var W=D;return this.length>U[W(1383)]?this[W(2164)]()[W(776)](U):U.clone().iuor(this)},M[D(1166)][D(709)]=function(U){for(var W=D,Y=this[W(1383)]>U[W(1383)]?U:this,z=0;z<Y[W(1383)];z++)this[W(660)][z]=this.words[z]&U[W(660)][z];return this.length=Y[W(1383)],this[W(968)]()},M[D(1166)][D(560)]=function(U){var W=D;return R((this[W(493)]|U[W(493)])==0),this[W(709)](U)},M.prototype.and=function(U){var W=D;return this[W(1383)]>U[W(1383)]?this[W(2164)]()[W(560)](U):U[W(2164)]().iand(this)},M[D(1166)][D(1528)]=function(U){var W=D;return this[W(1383)]>U.length?this[W(2164)]()[W(709)](U):U.clone()[W(709)](this)},M[D(1166)][D(2796)]=function(U){for(var W=D,Y,z=this[W(1383)]>U[W(1383)]?(Y=this,U):(Y=U,this),re=0;re<z.length;re++)this[W(660)][re]=Y[W(660)][re]^z[W(660)][re];if(this!==Y)for(;re<Y[W(1383)];re++)this[W(660)][re]=Y[W(660)][re];return this[W(1383)]=Y[W(1383)],this[W(968)]()},M[D(1166)][D(1283)]=function(U){var W=D;return R((this[W(493)]|U[W(493)])==0),this.iuxor(U)},M.prototype.xor=function(U){var W=D;return this[W(1383)]>U[W(1383)]?this.clone()[W(1283)](U):U[W(2164)]()[W(1283)](this)},M[D(1166)][D(2024)]=function(U){var W=D;return this[W(1383)]>U.length?this[W(2164)]().iuxor(U):U[W(2164)]().iuxor(this)},M[D(1166)][D(2519)]=function(z){var W=D;R(W(2013)==typeof z&&0<=z);var Y=0|Math[W(1266)](z/26),z=z%26;this[W(159)](Y),0<z&&Y--;for(var re=0;re<Y;re++)this[W(660)][re]=67108863&~this.words[re];return 0<z&&(this[W(660)][re]=~this.words[re]&67108863>>26-z),this[W(968)]()},M.prototype[D(516)]=function(U){var W=D;return this[W(2164)]().inotn(U)},M[D(1166)][D(237)]=function(re,W){var Y=D;R(typeof re=="number"&&0<=re);var z=re/26|0,re=re%26;return this[Y(159)](1+z),this[Y(660)][z]=W?this[Y(660)][z]|1<<re:this.words[z]&~(1<<re),this[Y(968)]()},M[D(1166)][D(187)]=function(U){var W=D,Y,z;if(this.negative!==0&&U[W(493)]===0)return this[W(493)]=0,Y=this[W(258)](U),this[W(493)]^=1,this[W(1049)]();if(this.negative===0&&U.negative!==0)return U[W(493)]=0,Y=this[W(258)](U),U[W(493)]=1,Y[W(1049)]();for(var re=this[W(1383)]>U[W(1383)]?(z=this,U):(z=U,this),se=0,de=0;de<re[W(1383)];de++)Y=(0|z[W(660)][de])+(0|re[W(660)][de])+se,this[W(660)][de]=67108863&Y,se=Y>>>26;for(;se!==0&&de<z[W(1383)];de++)Y=(0|z[W(660)][de])+se,this[W(660)][de]=67108863&Y,se=Y>>>26;if(this[W(1383)]=z[W(1383)],se!==0)this[W(660)][this.length]=se,this[W(1383)]++;else if(z!==this)for(;de<z[W(1383)];de++)this[W(660)][de]=z[W(660)][de];return this},M[D(1166)][D(2400)]=function(U){var W=D,Y;return U[W(493)]!==0&&this.negative===0?(U[W(493)]=0,Y=this[W(1550)](U),U.negative^=1,Y):U.negative===0&&this[W(493)]!==0?(this[W(493)]=0,Y=U.sub(this),this[W(493)]=1,Y):this[W(1383)]>U[W(1383)]?this[W(2164)]()[W(187)](U):U[W(2164)]()[W(187)](this)},M[D(1166)][D(258)]=function(U){var W=D,Y;if(U.negative!==0)return U[W(493)]=0,Y=this[W(187)](U),U[W(493)]=1,Y[W(1049)]();if(this[W(493)]!==0)return this[W(493)]=0,this[W(187)](U),this[W(493)]=1,this[W(1049)]();var z,re=this[W(526)](U);if(re===0)return this[W(493)]=0,this[W(1383)]=1,this.words[0]=0,this;for(var se=0<re?(z=this,U):(z=U,this),de=0,me=0;me<se[W(1383)];me++)de=(Y=(0|z.words[me])-(0|se[W(660)][me])+de)>>26,this.words[me]=67108863&Y;for(;de!==0&&me<z[W(1383)];me++)de=(Y=(0|z[W(660)][me])+de)>>26,this[W(660)][me]=67108863&Y;if(de===0&&me<z[W(1383)]&&z!==this)for(;me<z.length;me++)this.words[me]=z[W(660)][me];return this[W(1383)]=Math[W(323)](this[W(1383)],me),z!==this&&(this[W(493)]=1),this.strip()},M[D(1166)].sub=function(U){var W=D;return this.clone()[W(258)](U)};var q=function(ve,nt,Y){var z=D,Je=ve[z(660)],Lt=nt[z(660)],re=Y.words,pi=0|Je[0],jt=8191&pi,pi=pi>>>13,_t=0|Je[1],xi=8191&_t,_t=_t>>>13,de=0|Je[2],se=8191&de,de=de>>>13,Ce=0|Je[3],me=8191&Ce,Ce=Ce>>>13,we=0|Je[4],Ie=8191&we,we=we>>>13,Ge=0|Je[5],Te=8191&Ge,Ge=Ge>>>13,Oe=0|Je[6],ke=8191&Oe,Oe=Oe>>>13,be=0|Je[7],Le=8191&be,be=be>>>13,Ue=0|Je[8],Ne=8191&Ue,Ue=Ue>>>13,Je=0|Je[9],ze=8191&Je,Je=Je>>>13,Wt=0|Lt[0],Ei=8191&Wt,Wt=Wt>>>13,Kt=0|Lt[1],mi=8191&Kt,Kt=Kt>>>13,Ht=0|Lt[2],Mt=8191&Ht,Ht=Ht>>>13,et=0|Lt[3],Xe=8191&et,et=et>>>13,Et=0|Lt[4],ot=8191&Et,Et=Et>>>13,ct=0|Lt[5],Ct=8191&ct,ct=ct>>>13,Qt=0|Lt[6],yt=8191&Qt,Qt=Qt>>>13,ut=0|Lt[7],Ze=8191&ut,ut=ut>>>13,gt=0|Lt[8],St=8191>,gt=gt>>>13,Lt=0|Lt[9],xt=8191&Lt,Lt=Lt>>>13,nt=(Y.negative=ve[z(493)]^nt[z(493)],Y[z(1383)]=19,(0+Math[z(1805)](jt,Ei)|0)+((8191&(ve=Math[z(1805)](jt,Wt)+Math[z(1805)](pi,Ei)|0))<<13)|0),ti=(Math[z(1805)](pi,Wt)+(ve>>>13)|0)+(nt>>>26)|0,Pe=(nt&=67108863,Math[z(1805)](xi,Ei)),ve=Math[z(1805)](xi,Wt)+Math[z(1805)](_t,Ei)|0,We=Math[z(1805)](_t,Wt),bt=(ti+(Pe+Math[z(1805)](jt,mi)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,Kt)|0)+Math.imul(pi,mi)|0))<<13)|0,Pt=(ti=((We+Math.imul(pi,Kt)|0)+(ve>>>13)|0)+(bt>>>26)|0,bt&=67108863,Pe=Math.imul(se,Ei),ve=Math[z(1805)](se,Wt)+Math.imul(de,Ei)|0,We=Math[z(1805)](de,Wt),Pe=Pe+Math.imul(xi,mi)|0,ve=(ve+Math[z(1805)](xi,Kt)|0)+Math.imul(_t,mi)|0,We=We+Math.imul(_t,Kt)|0,(ti+(Pe+Math[z(1805)](jt,Mt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,Ht)|0)+Math[z(1805)](pi,Mt)|0))<<13)|0),It=(ti=((We+Math[z(1805)](pi,Ht)|0)+(ve>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,Pe=Math.imul(me,Ei),ve=Math[z(1805)](me,Wt)+Math.imul(Ce,Ei)|0,We=Math[z(1805)](Ce,Wt),Pe=Pe+Math.imul(se,mi)|0,ve=(ve+Math[z(1805)](se,Kt)|0)+Math.imul(de,mi)|0,We=We+Math[z(1805)](de,Kt)|0,Pe=Pe+Math.imul(xi,Mt)|0,ve=(ve+Math[z(1805)](xi,Ht)|0)+Math[z(1805)](_t,Mt)|0,We=We+Math[z(1805)](_t,Ht)|0,(ti+(Pe+Math[z(1805)](jt,Xe)|0)|0)+((8191&(ve=(ve+Math.imul(jt,et)|0)+Math[z(1805)](pi,Xe)|0))<<13)|0),Mi=(ti=((We+Math[z(1805)](pi,et)|0)+(ve>>>13)|0)+(It>>>26)|0,It&=67108863,Pe=Math[z(1805)](Ie,Ei),ve=Math[z(1805)](Ie,Wt)+Math[z(1805)](we,Ei)|0,We=Math[z(1805)](we,Wt),Pe=Pe+Math[z(1805)](me,mi)|0,ve=(ve+Math[z(1805)](me,Kt)|0)+Math[z(1805)](Ce,mi)|0,We=We+Math[z(1805)](Ce,Kt)|0,Pe=Pe+Math[z(1805)](se,Mt)|0,ve=(ve+Math[z(1805)](se,Ht)|0)+Math[z(1805)](de,Mt)|0,We=We+Math[z(1805)](de,Ht)|0,Pe=Pe+Math[z(1805)](xi,Xe)|0,ve=(ve+Math.imul(xi,et)|0)+Math[z(1805)](_t,Xe)|0,We=We+Math[z(1805)](_t,et)|0,(ti+(Pe+Math.imul(jt,ot)|0)|0)+((8191&(ve=(ve+Math.imul(jt,Et)|0)+Math[z(1805)](pi,ot)|0))<<13)|0),er=(ti=((We+Math[z(1805)](pi,Et)|0)+(ve>>>13)|0)+(Mi>>>26)|0,Mi&=67108863,Pe=Math[z(1805)](Te,Ei),ve=Math[z(1805)](Te,Wt)+Math.imul(Ge,Ei)|0,We=Math.imul(Ge,Wt),Pe=Pe+Math[z(1805)](Ie,mi)|0,ve=(ve+Math[z(1805)](Ie,Kt)|0)+Math[z(1805)](we,mi)|0,We=We+Math[z(1805)](we,Kt)|0,Pe=Pe+Math[z(1805)](me,Mt)|0,ve=(ve+Math[z(1805)](me,Ht)|0)+Math[z(1805)](Ce,Mt)|0,We=We+Math[z(1805)](Ce,Ht)|0,Pe=Pe+Math[z(1805)](se,Xe)|0,ve=(ve+Math[z(1805)](se,et)|0)+Math[z(1805)](de,Xe)|0,We=We+Math.imul(de,et)|0,Pe=Pe+Math[z(1805)](xi,ot)|0,ve=(ve+Math[z(1805)](xi,Et)|0)+Math[z(1805)](_t,ot)|0,We=We+Math[z(1805)](_t,Et)|0,(ti+(Pe+Math.imul(jt,Ct)|0)|0)+((8191&(ve=(ve+Math.imul(jt,ct)|0)+Math.imul(pi,Ct)|0))<<13)|0),di=(ti=((We+Math[z(1805)](pi,ct)|0)+(ve>>>13)|0)+(er>>>26)|0,er&=67108863,Pe=Math.imul(ke,Ei),ve=Math[z(1805)](ke,Wt)+Math[z(1805)](Oe,Ei)|0,We=Math[z(1805)](Oe,Wt),Pe=Pe+Math[z(1805)](Te,mi)|0,ve=(ve+Math[z(1805)](Te,Kt)|0)+Math[z(1805)](Ge,mi)|0,We=We+Math[z(1805)](Ge,Kt)|0,Pe=Pe+Math[z(1805)](Ie,Mt)|0,ve=(ve+Math[z(1805)](Ie,Ht)|0)+Math[z(1805)](we,Mt)|0,We=We+Math[z(1805)](we,Ht)|0,Pe=Pe+Math[z(1805)](me,Xe)|0,ve=(ve+Math[z(1805)](me,et)|0)+Math.imul(Ce,Xe)|0,We=We+Math[z(1805)](Ce,et)|0,Pe=Pe+Math[z(1805)](se,ot)|0,ve=(ve+Math[z(1805)](se,Et)|0)+Math[z(1805)](de,ot)|0,We=We+Math[z(1805)](de,Et)|0,Pe=Pe+Math[z(1805)](xi,Ct)|0,ve=(ve+Math.imul(xi,ct)|0)+Math[z(1805)](_t,Ct)|0,We=We+Math[z(1805)](_t,ct)|0,(ti+(Pe+Math[z(1805)](jt,yt)|0)|0)+((8191&(ve=(ve+Math.imul(jt,Qt)|0)+Math[z(1805)](pi,yt)|0))<<13)|0),wi=(ti=((We+Math[z(1805)](pi,Qt)|0)+(ve>>>13)|0)+(di>>>26)|0,di&=67108863,Pe=Math[z(1805)](Le,Ei),ve=Math[z(1805)](Le,Wt)+Math.imul(be,Ei)|0,We=Math[z(1805)](be,Wt),Pe=Pe+Math[z(1805)](ke,mi)|0,ve=(ve+Math.imul(ke,Kt)|0)+Math[z(1805)](Oe,mi)|0,We=We+Math[z(1805)](Oe,Kt)|0,Pe=Pe+Math[z(1805)](Te,Mt)|0,ve=(ve+Math[z(1805)](Te,Ht)|0)+Math[z(1805)](Ge,Mt)|0,We=We+Math[z(1805)](Ge,Ht)|0,Pe=Pe+Math.imul(Ie,Xe)|0,ve=(ve+Math[z(1805)](Ie,et)|0)+Math[z(1805)](we,Xe)|0,We=We+Math[z(1805)](we,et)|0,Pe=Pe+Math[z(1805)](me,ot)|0,ve=(ve+Math.imul(me,Et)|0)+Math[z(1805)](Ce,ot)|0,We=We+Math[z(1805)](Ce,Et)|0,Pe=Pe+Math[z(1805)](se,Ct)|0,ve=(ve+Math.imul(se,ct)|0)+Math[z(1805)](de,Ct)|0,We=We+Math[z(1805)](de,ct)|0,Pe=Pe+Math[z(1805)](xi,yt)|0,ve=(ve+Math[z(1805)](xi,Qt)|0)+Math[z(1805)](_t,yt)|0,We=We+Math[z(1805)](_t,Qt)|0,(ti+(Pe+Math[z(1805)](jt,Ze)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,ut)|0)+Math.imul(pi,Ze)|0))<<13)|0),Ri=(ti=((We+Math[z(1805)](pi,ut)|0)+(ve>>>13)|0)+(wi>>>26)|0,wi&=67108863,Pe=Math[z(1805)](Ne,Ei),ve=Math.imul(Ne,Wt)+Math[z(1805)](Ue,Ei)|0,We=Math[z(1805)](Ue,Wt),Pe=Pe+Math.imul(Le,mi)|0,ve=(ve+Math[z(1805)](Le,Kt)|0)+Math[z(1805)](be,mi)|0,We=We+Math[z(1805)](be,Kt)|0,Pe=Pe+Math[z(1805)](ke,Mt)|0,ve=(ve+Math[z(1805)](ke,Ht)|0)+Math.imul(Oe,Mt)|0,We=We+Math[z(1805)](Oe,Ht)|0,Pe=Pe+Math[z(1805)](Te,Xe)|0,ve=(ve+Math.imul(Te,et)|0)+Math[z(1805)](Ge,Xe)|0,We=We+Math[z(1805)](Ge,et)|0,Pe=Pe+Math[z(1805)](Ie,ot)|0,ve=(ve+Math.imul(Ie,Et)|0)+Math[z(1805)](we,ot)|0,We=We+Math[z(1805)](we,Et)|0,Pe=Pe+Math[z(1805)](me,Ct)|0,ve=(ve+Math[z(1805)](me,ct)|0)+Math[z(1805)](Ce,Ct)|0,We=We+Math[z(1805)](Ce,ct)|0,Pe=Pe+Math[z(1805)](se,yt)|0,ve=(ve+Math[z(1805)](se,Qt)|0)+Math[z(1805)](de,yt)|0,We=We+Math[z(1805)](de,Qt)|0,Pe=Pe+Math.imul(xi,Ze)|0,ve=(ve+Math[z(1805)](xi,ut)|0)+Math[z(1805)](_t,Ze)|0,We=We+Math[z(1805)](_t,ut)|0,(ti+(Pe+Math.imul(jt,St)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,gt)|0)+Math[z(1805)](pi,St)|0))<<13)|0),Ei=(ti=((We+Math[z(1805)](pi,gt)|0)+(ve>>>13)|0)+(Ri>>>26)|0,Ri&=67108863,Pe=Math.imul(ze,Ei),ve=Math[z(1805)](ze,Wt)+Math[z(1805)](Je,Ei)|0,We=Math.imul(Je,Wt),Pe=Pe+Math[z(1805)](Ne,mi)|0,ve=(ve+Math[z(1805)](Ne,Kt)|0)+Math[z(1805)](Ue,mi)|0,We=We+Math[z(1805)](Ue,Kt)|0,Pe=Pe+Math.imul(Le,Mt)|0,ve=(ve+Math.imul(Le,Ht)|0)+Math[z(1805)](be,Mt)|0,We=We+Math[z(1805)](be,Ht)|0,Pe=Pe+Math[z(1805)](ke,Xe)|0,ve=(ve+Math[z(1805)](ke,et)|0)+Math[z(1805)](Oe,Xe)|0,We=We+Math[z(1805)](Oe,et)|0,Pe=Pe+Math[z(1805)](Te,ot)|0,ve=(ve+Math[z(1805)](Te,Et)|0)+Math[z(1805)](Ge,ot)|0,We=We+Math[z(1805)](Ge,Et)|0,Pe=Pe+Math[z(1805)](Ie,Ct)|0,ve=(ve+Math[z(1805)](Ie,ct)|0)+Math.imul(we,Ct)|0,We=We+Math[z(1805)](we,ct)|0,Pe=Pe+Math[z(1805)](me,yt)|0,ve=(ve+Math.imul(me,Qt)|0)+Math[z(1805)](Ce,yt)|0,We=We+Math[z(1805)](Ce,Qt)|0,Pe=Pe+Math[z(1805)](se,Ze)|0,ve=(ve+Math[z(1805)](se,ut)|0)+Math[z(1805)](de,Ze)|0,We=We+Math[z(1805)](de,ut)|0,Pe=Pe+Math.imul(xi,St)|0,ve=(ve+Math.imul(xi,gt)|0)+Math[z(1805)](_t,St)|0,We=We+Math[z(1805)](_t,gt)|0,(ti+(Pe+Math[z(1805)](jt,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,Lt)|0)+Math[z(1805)](pi,xt)|0))<<13)|0),Wt=(ti=((We+Math[z(1805)](pi,Lt)|0)+(ve>>>13)|0)+(Ei>>>26)|0,Ei&=67108863,Pe=Math[z(1805)](ze,mi),ve=Math.imul(ze,Kt)+Math[z(1805)](Je,mi)|0,We=Math[z(1805)](Je,Kt),Pe=Pe+Math[z(1805)](Ne,Mt)|0,ve=(ve+Math.imul(Ne,Ht)|0)+Math[z(1805)](Ue,Mt)|0,We=We+Math[z(1805)](Ue,Ht)|0,Pe=Pe+Math[z(1805)](Le,Xe)|0,ve=(ve+Math.imul(Le,et)|0)+Math[z(1805)](be,Xe)|0,We=We+Math[z(1805)](be,et)|0,Pe=Pe+Math[z(1805)](ke,ot)|0,ve=(ve+Math.imul(ke,Et)|0)+Math[z(1805)](Oe,ot)|0,We=We+Math.imul(Oe,Et)|0,Pe=Pe+Math.imul(Te,Ct)|0,ve=(ve+Math.imul(Te,ct)|0)+Math.imul(Ge,Ct)|0,We=We+Math[z(1805)](Ge,ct)|0,Pe=Pe+Math[z(1805)](Ie,yt)|0,ve=(ve+Math[z(1805)](Ie,Qt)|0)+Math.imul(we,yt)|0,We=We+Math[z(1805)](we,Qt)|0,Pe=Pe+Math[z(1805)](me,Ze)|0,ve=(ve+Math[z(1805)](me,ut)|0)+Math[z(1805)](Ce,Ze)|0,We=We+Math.imul(Ce,ut)|0,Pe=Pe+Math[z(1805)](se,St)|0,ve=(ve+Math.imul(se,gt)|0)+Math.imul(de,St)|0,We=We+Math[z(1805)](de,gt)|0,(ti+(Pe+Math[z(1805)](xi,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](xi,Lt)|0)+Math.imul(_t,xt)|0))<<13)|0),jt=(ti=((We+Math.imul(_t,Lt)|0)+(ve>>>13)|0)+(Wt>>>26)|0,Wt&=67108863,Pe=Math[z(1805)](ze,Mt),ve=Math[z(1805)](ze,Ht)+Math[z(1805)](Je,Mt)|0,We=Math.imul(Je,Ht),Pe=Pe+Math[z(1805)](Ne,Xe)|0,ve=(ve+Math[z(1805)](Ne,et)|0)+Math[z(1805)](Ue,Xe)|0,We=We+Math[z(1805)](Ue,et)|0,Pe=Pe+Math[z(1805)](Le,ot)|0,ve=(ve+Math.imul(Le,Et)|0)+Math[z(1805)](be,ot)|0,We=We+Math.imul(be,Et)|0,Pe=Pe+Math[z(1805)](ke,Ct)|0,ve=(ve+Math.imul(ke,ct)|0)+Math[z(1805)](Oe,Ct)|0,We=We+Math[z(1805)](Oe,ct)|0,Pe=Pe+Math.imul(Te,yt)|0,ve=(ve+Math[z(1805)](Te,Qt)|0)+Math[z(1805)](Ge,yt)|0,We=We+Math[z(1805)](Ge,Qt)|0,Pe=Pe+Math[z(1805)](Ie,Ze)|0,ve=(ve+Math.imul(Ie,ut)|0)+Math[z(1805)](we,Ze)|0,We=We+Math[z(1805)](we,ut)|0,Pe=Pe+Math[z(1805)](me,St)|0,ve=(ve+Math[z(1805)](me,gt)|0)+Math[z(1805)](Ce,St)|0,We=We+Math[z(1805)](Ce,gt)|0,(ti+(Pe+Math.imul(se,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](se,Lt)|0)+Math.imul(de,xt)|0))<<13)|0),pi=(ti=((We+Math[z(1805)](de,Lt)|0)+(ve>>>13)|0)+(jt>>>26)|0,jt&=67108863,Pe=Math[z(1805)](ze,Xe),ve=Math[z(1805)](ze,et)+Math[z(1805)](Je,Xe)|0,We=Math[z(1805)](Je,et),Pe=Pe+Math[z(1805)](Ne,ot)|0,ve=(ve+Math[z(1805)](Ne,Et)|0)+Math[z(1805)](Ue,ot)|0,We=We+Math[z(1805)](Ue,Et)|0,Pe=Pe+Math[z(1805)](Le,Ct)|0,ve=(ve+Math[z(1805)](Le,ct)|0)+Math.imul(be,Ct)|0,We=We+Math[z(1805)](be,ct)|0,Pe=Pe+Math[z(1805)](ke,yt)|0,ve=(ve+Math.imul(ke,Qt)|0)+Math[z(1805)](Oe,yt)|0,We=We+Math[z(1805)](Oe,Qt)|0,Pe=Pe+Math[z(1805)](Te,Ze)|0,ve=(ve+Math.imul(Te,ut)|0)+Math[z(1805)](Ge,Ze)|0,We=We+Math[z(1805)](Ge,ut)|0,Pe=Pe+Math[z(1805)](Ie,St)|0,ve=(ve+Math[z(1805)](Ie,gt)|0)+Math[z(1805)](we,St)|0,We=We+Math[z(1805)](we,gt)|0,(ti+(Pe+Math.imul(me,xt)|0)|0)+((8191&(ve=(ve+Math.imul(me,Lt)|0)+Math[z(1805)](Ce,xt)|0))<<13)|0),mi=(ti=((We+Math[z(1805)](Ce,Lt)|0)+(ve>>>13)|0)+(pi>>>26)|0,pi&=67108863,Pe=Math[z(1805)](ze,ot),ve=Math.imul(ze,Et)+Math.imul(Je,ot)|0,We=Math.imul(Je,Et),Pe=Pe+Math[z(1805)](Ne,Ct)|0,ve=(ve+Math[z(1805)](Ne,ct)|0)+Math[z(1805)](Ue,Ct)|0,We=We+Math[z(1805)](Ue,ct)|0,Pe=Pe+Math[z(1805)](Le,yt)|0,ve=(ve+Math.imul(Le,Qt)|0)+Math.imul(be,yt)|0,We=We+Math[z(1805)](be,Qt)|0,Pe=Pe+Math.imul(ke,Ze)|0,ve=(ve+Math[z(1805)](ke,ut)|0)+Math[z(1805)](Oe,Ze)|0,We=We+Math[z(1805)](Oe,ut)|0,Pe=Pe+Math[z(1805)](Te,St)|0,ve=(ve+Math[z(1805)](Te,gt)|0)+Math[z(1805)](Ge,St)|0,We=We+Math[z(1805)](Ge,gt)|0,(ti+(Pe+Math.imul(Ie,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](Ie,Lt)|0)+Math[z(1805)](we,xt)|0))<<13)|0),Kt=(ti=((We+Math[z(1805)](we,Lt)|0)+(ve>>>13)|0)+(mi>>>26)|0,mi&=67108863,Pe=Math[z(1805)](ze,Ct),ve=Math.imul(ze,ct)+Math[z(1805)](Je,Ct)|0,We=Math[z(1805)](Je,ct),Pe=Pe+Math.imul(Ne,yt)|0,ve=(ve+Math[z(1805)](Ne,Qt)|0)+Math[z(1805)](Ue,yt)|0,We=We+Math[z(1805)](Ue,Qt)|0,Pe=Pe+Math[z(1805)](Le,Ze)|0,ve=(ve+Math[z(1805)](Le,ut)|0)+Math.imul(be,Ze)|0,We=We+Math[z(1805)](be,ut)|0,Pe=Pe+Math[z(1805)](ke,St)|0,ve=(ve+Math.imul(ke,gt)|0)+Math[z(1805)](Oe,St)|0,We=We+Math.imul(Oe,gt)|0,(ti+(Pe+Math[z(1805)](Te,xt)|0)|0)+((8191&(ve=(ve+Math.imul(Te,Lt)|0)+Math[z(1805)](Ge,xt)|0))<<13)|0),xi=(ti=((We+Math[z(1805)](Ge,Lt)|0)+(ve>>>13)|0)+(Kt>>>26)|0,Kt&=67108863,Pe=Math[z(1805)](ze,yt),ve=Math[z(1805)](ze,Qt)+Math[z(1805)](Je,yt)|0,We=Math[z(1805)](Je,Qt),Pe=Pe+Math.imul(Ne,Ze)|0,ve=(ve+Math[z(1805)](Ne,ut)|0)+Math[z(1805)](Ue,Ze)|0,We=We+Math[z(1805)](Ue,ut)|0,Pe=Pe+Math[z(1805)](Le,St)|0,ve=(ve+Math[z(1805)](Le,gt)|0)+Math.imul(be,St)|0,We=We+Math.imul(be,gt)|0,(ti+(Pe+Math[z(1805)](ke,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](ke,Lt)|0)+Math.imul(Oe,xt)|0))<<13)|0),_t=(ti=((We+Math[z(1805)](Oe,Lt)|0)+(ve>>>13)|0)+(xi>>>26)|0,xi&=67108863,Pe=Math[z(1805)](ze,Ze),ve=Math[z(1805)](ze,ut)+Math[z(1805)](Je,Ze)|0,We=Math.imul(Je,ut),Pe=Pe+Math[z(1805)](Ne,St)|0,ve=(ve+Math[z(1805)](Ne,gt)|0)+Math[z(1805)](Ue,St)|0,We=We+Math[z(1805)](Ue,gt)|0,(ti+(Pe+Math[z(1805)](Le,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](Le,Lt)|0)+Math[z(1805)](be,xt)|0))<<13)|0),Mt=(ti=((We+Math[z(1805)](be,Lt)|0)+(ve>>>13)|0)+(_t>>>26)|0,_t&=67108863,Pe=Math[z(1805)](ze,St),ve=Math.imul(ze,gt)+Math[z(1805)](Je,St)|0,We=Math[z(1805)](Je,gt),(ti+(Pe+Math[z(1805)](Ne,xt)|0)|0)+((8191&(ve=(ve+Math.imul(Ne,Lt)|0)+Math[z(1805)](Ue,xt)|0))<<13)|0),Ht=(ti=((We+Math.imul(Ue,Lt)|0)+(ve>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,(ti+Math[z(1805)](ze,xt)|0)+((8191&(ve=Math[z(1805)](ze,Lt)+Math[z(1805)](Je,xt)|0))<<13)|0),ti=(Math[z(1805)](Je,Lt)+(ve>>>13)|0)+(Ht>>>26)|0;return Ht&=67108863,re[0]=nt,re[1]=bt,re[2]=Pt,re[3]=It,re[4]=Mi,re[5]=er,re[6]=di,re[7]=wi,re[8]=Ri,re[9]=Ei,re[10]=Wt,re[11]=jt,re[12]=pi,re[13]=mi,re[14]=Kt,re[15]=xi,re[16]=_t,re[17]=Mt,re[18]=Ht,ti!=0&&(re[19]=ti,Y[z(1383)]++),Y};function ee(U,W,Y){var z=D;return new ie()[z(1210)](U,W,Y)}function ie(U,W){this.x=U,this.y=W}Math.imul||(q=X),M[D(1166)].mulTo=function(U,W){var Y=D,z=this[Y(1383)]+U[Y(1383)];return(this[Y(1383)]===10&&U[Y(1383)]===10?q:z<63?X:z<1024?function(re,se,de){var me=Y;de.negative=se[me(493)]^re[me(493)],de[me(1383)]=re.length+se[me(1383)];for(var Ce=0,Ie=0,we=0;we<de[me(1383)]-1;we++){for(var Te=Ie,Ie=0,Ge=67108863&Ce,ke=Math.min(we,se.length-1),Oe=Math.max(0,we-re.length+1);Oe<=ke;Oe++){var Le,be=(0|re[me(660)][we-Oe])*(0|se[me(660)][Oe]),Ge=67108863&(Le=(67108863&be)+Ge|0);Ie+=(Te=(Te=Te+(be/67108864|0)|0)+(Le>>>26)|0)>>>26,Te&=67108863}de[me(660)][we]=Ge,Ce=Te,Te=Ie}return Ce!==0?de[me(660)][we]=Ce:de.length--,de.strip()}:ee)(this,U,W)},ie[D(1166)][D(1369)]=function(U){for(var W=D,Y=new Array(U),z=M.prototype[W(623)](U)-1,re=0;re<U;re++)Y[re]=this[W(646)](re,z,U);return Y},ie[D(1166)][D(646)]=function(U,W,Y){if(U===0||U===Y-1)return U;for(var z=0,re=0;re<W;re++)z|=(1&U)<<W-re-1,U>>=1;return z},ie.prototype[D(1257)]=function(U,W,Y,z,re,se){for(var de=0;de<se;de++)z[de]=W[U[de]],re[de]=Y[U[de]]},ie[D(1166)][D(684)]=function(U,W,Y,z,re,se){var de=D;this.permute(se,U,W,Y,z,re);for(var me=1;me<re;me<<=1)for(var Ce=me<<1,Ie=Math[de(1147)](2*Math.PI/Ce),we=Math[de(1185)](2*Math.PI/Ce),Te=0;Te<re;Te+=Ce)for(var Ge=Ie,ke=we,Oe=0;Oe<me;Oe++){var Le=Y[Te+Oe],be=z[Te+Oe],Ne=Y[Te+Oe+me],Ue=Ge*Ne-ke*(ze=z[Te+Oe+me]),ze=Ge*ze+ke*Ne;Y[Te+Oe]=Le+(Ne=Ue),z[Te+Oe]=be+ze,Y[Te+Oe+me]=Le-Ne,z[Te+Oe+me]=be-ze,Oe!==Ce&&(Ue=Ie*Ge-we*ke,ke=Ie*ke+we*Ge,Ge=Ue)}},ie[D(1166)][D(1272)]=function(U,W){for(var W=1&(z=1|Math.max(W,U)),Y=0,z=z/2|0;z;z>>>=1)Y++;return 1<<Y+1+W},ie.prototype[D(1184)]=function(U,W,Y){if(!(Y<=1))for(var z=0;z<Y/2;z++){var re=U[z];U[z]=U[Y-z-1],U[Y-z-1]=re,re=W[z],W[z]=-W[Y-z-1],W[Y-z-1]=-re}},ie[D(1166)][D(949)]=function(U,W){for(var Y=D,z=0,re=0;re<W/2;re++){var se=8192*Math[Y(1829)](U[2*re+1]/W)+Math[Y(1829)](U[2*re]/W)+z;U[re]=67108863&se,z=se<67108864?0:se/67108864|0}return U},ie[D(1166)][D(955)]=function(U,W,Y,z){for(var re=0,se=0;se<W;se++)re+=0|U[se],Y[2*se]=8191&re,Y[2*se+1]=8191&(re>>>=13),re>>>=13;for(se=2*W;se<z;++se)Y[se]=0;R(re===0),R((-8192&re)==0)},ie[D(1166)][D(737)]=function(U){for(var W=new Array(U),Y=0;Y<U;Y++)W[Y]=0;return W},ie[D(1166)][D(1210)]=function(U,W,Y){var z=D,re=2*this.guessLen13b(U[z(1383)],W[z(1383)]),se=this[z(1369)](re),de=this.stub(re),me=new Array(re),Ce=new Array(re),Ie=new Array(re),we=new Array(re),Te=new Array(re),Ge=new Array(re),ke=Y[z(660)];ke[z(1383)]=re,this.convert13b(U[z(660)],U[z(1383)],me,re),this[z(955)](W.words,W[z(1383)],we,re),this[z(684)](me,de,Ce,Ie,re,se),this[z(684)](we,de,Te,Ge,re,se);for(var Oe=0;Oe<re;Oe++){var Le=Ce[Oe]*Te[Oe]-Ie[Oe]*Ge[Oe];Ie[Oe]=Ce[Oe]*Ge[Oe]+Ie[Oe]*Te[Oe],Ce[Oe]=Le}return this[z(1184)](Ce,Ie,re),this[z(684)](Ce,Ie,ke,de,re,se),this[z(1184)](ke,de,re),this[z(949)](ke,re),Y.negative=U.negative^W[z(493)],Y.length=U[z(1383)]+W[z(1383)],Y[z(968)]()},M[D(1166)][D(2545)]=function(U){var W=D,Y=new M(null);return Y[W(660)]=new Array(this[W(1383)]+U[W(1383)]),this[W(685)](U,Y)},M[D(1166)].mulf=function(U){var W=D,Y=new M(null);return Y.words=new Array(this[W(1383)]+U.length),ee(this,U,Y)},M[D(1166)][D(1805)]=function(U){var W=D;return this.clone()[W(685)](U,this)},M.prototype[D(683)]=function(U){var W=D;R(W(2013)==typeof U),R(U<67108864);for(var Y=0,z=0;z<this[W(1383)];z++){var re=(0|this.words[z])*U,se=(67108863&re)+(67108863&Y),Y=(Y>>=26)+(re/67108864|0)+(se>>>26);this[W(660)][z]=67108863&se}return Y!==0&&(this[W(660)][z]=Y,this[W(1383)]++),this},M[D(1166)][D(744)]=function(U){var W=D;return this[W(2164)]()[W(683)](U)},M[D(1166)][D(1219)]=function(){var U=D;return this[U(2545)](this)},M[D(1166)][D(468)]=function(){var U=D;return this.imul(this[U(2164)]())},M[D(1166)][D(337)]=function(U){var W=D,Y=function(de){for(var me=Ut,Ce=new Array(de.bitLength()),Ie=0;Ie<Ce[me(1383)];Ie++){var we=Ie%26;Ce[Ie]=(de.words[Ie/26|0]&1<<we)>>>we}return Ce}(U);if(Y.length===0)return new M(1);for(var z=this,re=0;re<Y[W(1383)]&&Y[re]===0;re++,z=z.sqr());if(++re<Y[W(1383)])for(var se=z[W(1219)]();re<Y[W(1383)];re++,se=se[W(1219)]())Y[re]!==0&&(z=z[W(2545)](se));return z},M[D(1166)].iushln=function(U){var W=D;R(W(2013)==typeof U&&0<=U);var Y=U%26,z=(U-Y)/26,re=67108863>>>26-Y<<26-Y;if(Y!=0){for(var se=0,de=0;de<this[W(1383)];de++){var me=this[W(660)][de]&re,Ce=(0|this.words[de])-me<<Y;this[W(660)][de]=Ce|se,se=me>>>26-Y}se&&(this[W(660)][de]=se,this.length++)}if(z!=0){for(de=this[W(1383)]-1;0<=de;de--)this[W(660)][de+z]=this[W(660)][de];for(de=0;de<z;de++)this[W(660)][de]=0;this[W(1383)]+=z}return this[W(968)]()},M[D(1166)][D(1696)]=function(U){var W=D;return R(this[W(493)]===0),this[W(1328)](U)},M[D(1166)].iushrn=function(U,W,Y){var z=D;R(z(2013)==typeof U&&0<=U);var re,re=W?(W-W%26)/26:0,se=U%26,de=Math[z(1869)]((U-se)/26,this.length),me=67108863^67108863>>>se<<se,Ce=Y;if(re-=de,re=Math[z(323)](0,re),Ce){for(var Ie=0;Ie<de;Ie++)Ce[z(660)][Ie]=this.words[Ie];Ce[z(1383)]=de}if(de!==0)if(this.length>de)for(this[z(1383)]-=de,Ie=0;Ie<this[z(1383)];Ie++)this[z(660)][Ie]=this.words[Ie+de];else this[z(660)][0]=0,this.length=1;for(var we=0,Ie=this[z(1383)]-1;0<=Ie&&(we!==0||re<=Ie);Ie--){var Te=0|this[z(660)][Ie];this.words[Ie]=we<<26-se|Te>>>se,we=Te&me}return Ce&&we!==0&&(Ce.words[Ce.length++]=we),this[z(1383)]===0&&(this[z(660)][0]=0,this[z(1383)]=1),this.strip()},M[D(1166)].ishrn=function(U,W,Y){var z=D;return R(this[z(493)]===0),this.iushrn(U,W,Y)},M[D(1166)][D(2780)]=function(U){var W=D;return this[W(2164)]()[W(1696)](U)},M.prototype[D(1338)]=function(U){var W=D;return this[W(2164)]()[W(1328)](U)},M[D(1166)].shrn=function(U){var W=D;return this[W(2164)]()[W(1376)](U)},M[D(1166)][D(2384)]=function(U){var W=D;return this[W(2164)]()[W(1487)](U)},M[D(1166)][D(901)]=function(z){var W=D;R(W(2013)==typeof z&&0<=z);var Y=z%26,z=(z-Y)/26;return!(this[W(1383)]<=z||!(this[W(660)][z]&1<<Y))},M.prototype[D(1617)]=function(z){var W=D;R(W(2013)==typeof z&&0<=z);var Y=z%26,z=(z-Y)/26;return R(this.negative===0,"imaskn works only with positive numbers"),this.length<=z?this:(Y!=0&&z++,this[W(1383)]=Math[W(1869)](z,this[W(1383)]),Y!=0&&(this[W(660)][this[W(1383)]-1]&=67108863^67108863>>>Y<<Y),this[W(968)]())},M.prototype.maskn=function(U){var W=D;return this[W(2164)]().imaskn(U)},M[D(1166)][D(2695)]=function(U){var W=D;return R(W(2013)==typeof U),R(U<67108864),U<0?this[W(590)](-U):this.negative!==0?(this.length===1&&(0|this[W(660)][0])<U?(this[W(660)][0]=U-(0|this[W(660)][0]),this[W(493)]=0):(this[W(493)]=0,this[W(590)](U),this[W(493)]=1),this):this._iaddn(U)},M[D(1166)][D(2079)]=function(U){var W=D;this[W(660)][0]+=U;for(var Y=0;Y<this.length&&67108864<=this[W(660)][Y];Y++)this[W(660)][Y]-=67108864,Y===this[W(1383)]-1?this[W(660)][Y+1]=1:this.words[Y+1]++;return this[W(1383)]=Math[W(323)](this[W(1383)],Y+1),this},M[D(1166)].isubn=function(U){var W=D;if(R(W(2013)==typeof U),R(U<67108864),U<0)return this[W(2695)](-U);if(this[W(493)]!==0)return this[W(493)]=0,this[W(2695)](U),this[W(493)]=1,this;if(this[W(660)][0]-=U,this[W(1383)]===1&&this[W(660)][0]<0)this[W(660)][0]=-this[W(660)][0],this[W(493)]=1;else for(var Y=0;Y<this.length&&this[W(660)][Y]<0;Y++)this.words[Y]+=67108864,--this[W(660)][Y+1];return this[W(968)]()},M.prototype[D(2454)]=function(U){var W=D;return this[W(2164)]()[W(2695)](U)},M[D(1166)][D(160)]=function(U){var W=D;return this[W(2164)]()[W(590)](U)},M[D(1166)].iabs=function(){var U=D;return this[U(493)]=0,this},M.prototype[D(1914)]=function(){var U=D;return this[U(2164)]()[U(202)]()},M.prototype[D(862)]=function(U,W,Y){for(var z=D,re=U[z(1383)]+Y,se=(this[z(159)](re),0),de=0;de<U[z(1383)];de++){var me=(0|this[z(660)][de+Y])+se,Ce=(0|U[z(660)][de])*W,se=((me-=67108863&Ce)>>26)-(Ce/67108864|0);this[z(660)][de+Y]=67108863&me}for(;de<this[z(1383)]-Y;de++)se=(me=(0|this[z(660)][de+Y])+se)>>26,this[z(660)][de+Y]=67108863&me;if(se===0)return this[z(968)]();for(R(se===-1),de=se=0;de<this[z(1383)];de++)se=(me=-(0|this.words[de])+se)>>26,this[z(660)][de]=67108863&me;return this[z(493)]=1,this.strip()},M[D(1166)][D(863)]=function(U,W){var Y=D;this.length,U[Y(1383)];var z,re=this[Y(2164)](),se=U,de=0|se.words[se[Y(1383)]-1],me=((U=26-this[Y(623)](de))!=0&&(se=se.ushln(U),re[Y(1328)](U),de=0|se[Y(660)][se[Y(1383)]-1]),re[Y(1383)]-se[Y(1383)]);if(Y(1764)!==W){(z=new M(null))[Y(1383)]=1+me,z[Y(660)]=new Array(z[Y(1383)]);for(var Ce=0;Ce<z.length;Ce++)z[Y(660)][Ce]=0}var Ie=re.clone()._ishlnsubmul(se,1,me);Ie[Y(493)]===0&&(re=Ie,z&&(z.words[me]=1));for(var we=me-1;0<=we;we--){var Te=67108864*(0|re[Y(660)][se[Y(1383)]+we])+(0|re.words[se.length+we-1]),Te=Math[Y(1869)](Te/de|0,67108863);for(re[Y(862)](se,Te,we);re[Y(493)]!==0;)Te--,re.negative=0,re[Y(862)](se,1,we),re[Y(2356)]()||(re[Y(493)]^=1);z&&(z.words[we]=Te)}return z&&z[Y(968)](),re[Y(968)](),W!=="div"&&U!=0&&re[Y(1487)](U),{div:z||null,mod:re}},M[D(1166)][D(2550)]=function(U,W,Y){var z=D;return R(!U[z(2356)]()),this.isZero()?{div:new M(0),mod:new M(0)}:this[z(493)]!==0&&U[z(493)]===0?(de=this.neg().divmod(U,W),z(1764)!==W&&(re=de[z(1801)][z(828)]()),z(1801)!==W&&(se=de[z(1764)][z(828)](),Y&&se.negative!==0&&se[z(187)](U)),{div:re,mod:se}):this[z(493)]===0&&U.negative!==0?(de=this[z(2550)](U[z(828)](),W),{div:re=z(1764)!==W?de[z(1801)][z(828)]():re,mod:de[z(1764)]}):(this[z(493)]&U[z(493)])!=0?(de=this[z(828)]()[z(2550)](U[z(828)](),W),z(1801)!==W&&(se=de[z(1764)][z(828)](),Y&&se[z(493)]!==0&&se[z(258)](U)),{div:de[z(1801)],mod:se}):U[z(1383)]>this[z(1383)]||this[z(526)](U)<0?{div:new M(0),mod:this}:U[z(1383)]===1?z(1801)===W?{div:this.divn(U.words[0]),mod:null}:W==="mod"?{div:null,mod:new M(this[z(1825)](U.words[0]))}:{div:this.divn(U[z(660)][0]),mod:new M(this[z(1825)](U.words[0]))}:this._wordDiv(U,W);var re,se,de},M.prototype[D(1801)]=function(U){var W=D;return this[W(2550)](U,"div",!1)[W(1801)]},M[D(1166)][D(1764)]=function(U){var W=D;return this.divmod(U,W(1764),!1).mod},M[D(1166)][D(1372)]=function(U){var W=D;return this[W(2550)](U,W(1764),!0)[W(1764)]},M[D(1166)][D(2078)]=function(re){var W=D,Y=this[W(2550)](re);if(Y.mod[W(2356)]())return Y[W(1801)];var se=Y[W(1801)][W(493)]!==0?Y[W(1764)][W(258)](re):Y[W(1764)],z=re[W(2384)](1),re=re.andln(1),se=se[W(526)](z);return se<0||re===1&&se===0?Y.div:Y[W(1801)][W(493)]!==0?Y.div.isubn(1):Y[W(1801)][W(2695)](1)},M[D(1166)].modn=function(U){var W=D;R(U<=67108863);for(var Y=(1<<26)%U,z=0,re=this[W(1383)]-1;0<=re;re--)z=(Y*z+(0|this[W(660)][re]))%U;return z},M[D(1166)][D(2593)]=function(U){var W=D;R(U<=67108863);for(var Y=0,z=this[W(1383)]-1;0<=z;z--){var re=(0|this.words[z])+67108864*Y;this[W(660)][z]=re/U|0,Y=re%U}return this[W(968)]()},M[D(1166)][D(545)]=function(U){var W=D;return this.clone()[W(2593)](U)},M[D(1166)].egcd=function(U){var W=D;R(U[W(493)]===0),R(!U[W(2356)]());for(var z=this,Y=U[W(2164)](),z=z.negative!==0?z.umod(U):z[W(2164)](),re=new M(1),se=new M(0),de=new M(0),me=new M(1),Ce=0;z[W(631)]()&&Y[W(631)]();)z.iushrn(1),Y[W(1487)](1),++Ce;for(var Ie=Y[W(2164)](),we=z[W(2164)]();!z.isZero();){for(var Te=0,Ge=1;(z[W(660)][0]&Ge)==0&&Te<26;++Te,Ge<<=1);if(0<Te)for(z.iushrn(Te);0<Te--;)(re[W(2108)]()||se.isOdd())&&(re[W(187)](Ie),se.isub(we)),re[W(1487)](1),se.iushrn(1);for(var ke=0,Oe=1;(Y.words[0]&Oe)==0&&ke<26;++ke,Oe<<=1);if(0<ke)for(Y.iushrn(ke);0<ke--;)(de[W(2108)]()||me[W(2108)]())&&(de[W(187)](Ie),me[W(258)](we)),de[W(1487)](1),me[W(1487)](1);0<=z[W(526)](Y)?(z[W(258)](Y),re[W(258)](de),se[W(258)](me)):(Y[W(258)](z),de[W(258)](re),me.isub(se))}return{a:de,b:me,gcd:Y[W(1328)](Ce)}},M[D(1166)][D(1243)]=function(U){var W=D;R(U.negative===0),R(!U.isZero());for(var Y,re=this,z=U.clone(),re=re[W(493)]!==0?re[W(1372)](U):re[W(2164)](),se=new M(1),de=new M(0),me=z[W(2164)]();0<re[W(1329)](1)&&0<z[W(1329)](1);){for(var Ce=0,Ie=1;(re[W(660)][0]&Ie)==0&&Ce<26;++Ce,Ie<<=1);if(0<Ce)for(re[W(1487)](Ce);0<Ce--;)se[W(2108)]()&&se.iadd(me),se[W(1487)](1);for(var we=0,Te=1;(z[W(660)][0]&Te)==0&&we<26;++we,Te<<=1);if(0<we)for(z[W(1487)](we);0<we--;)de[W(2108)]()&&de[W(187)](me),de.iushrn(1);0<=re[W(526)](z)?(re.isub(z),se[W(258)](de)):(z[W(258)](re),de[W(258)](se))}return(Y=re[W(1329)](1)===0?se:de)[W(1329)](0)<0&&Y[W(187)](U),Y},M.prototype[D(2011)]=function(U){var W=D;if(this[W(2356)]())return U.abs();if(U[W(2356)]())return this[W(1914)]();var Y=this[W(2164)](),z=U[W(2164)]();Y.negative=0;for(var re=z[W(493)]=0;Y[W(631)]()&&z[W(631)]();re++)Y.iushrn(1),z.iushrn(1);for(;;){for(;Y[W(631)]();)Y[W(1487)](1);for(;z.isEven();)z[W(1487)](1);var se=Y[W(526)](z);if(se<0)var de=Y,Y=z,z=de;else if(se===0||z[W(1329)](1)===0)break;Y[W(258)](z)}return z[W(1328)](re)},M[D(1166)][D(2728)]=function(U){var W=D;return this[W(1156)](U).a[W(1372)](U)},M[D(1166)][D(631)]=function(){var U=D;return(1&this[U(660)][0])==0},M[D(1166)][D(2108)]=function(){var U=D;return(1&this[U(660)][0])==1},M.prototype[D(329)]=function(U){var W=D;return this[W(660)][0]&U},M[D(1166)][D(1468)]=function(Y){var W=D;R(W(2013)==typeof Y);var z=Y%26,Y=(Y-z)/26,z=1<<z;if(this[W(1383)]<=Y)return this._expand(1+Y),this[W(660)][Y]|=z,this;for(var re=z,se=Y;re!==0&&se<this[W(1383)];se++){var de=0|this[W(660)][se],re=(de+=re)>>>26;de&=67108863,this[W(660)][se]=de}return re!==0&&(this[W(660)][se]=re,this[W(1383)]++),this},M[D(1166)][D(2356)]=function(){return this.length===1&&this.words[0]===0},M[D(1166)][D(1329)]=function(U){var W=D,Y=U<0;return this[W(493)]===0||Y?this[W(493)]===0&&Y?1:(this[W(968)](),Y=1<this[W(1383)]?1:(R((U=Y?-U:U)<=67108863,W(2156)),(Y=0|this[W(660)][0])===U?0:Y<U?-1:1),this.negative!==0?0|-Y:Y):-1},M[D(1166)].cmp=function(U){var W=D;return this[W(493)]!==0&&U[W(493)]===0?-1:this[W(493)]===0&&U.negative!==0?1:(U=this[W(1627)](U),this[W(493)]!==0?0|-U:U)},M[D(1166)][D(1627)]=function(U){var W=D;if(this[W(1383)]>U[W(1383)])return 1;if(this.length<U.length)return-1;for(var Y=0,z=this[W(1383)]-1;0<=z;z--){var re=0|this[W(660)][z],se=0|U[W(660)][z];if(re!=se){re<se?Y=-1:se<re&&(Y=1);break}}return Y},M[D(1166)][D(1023)]=function(U){var W=D;return this[W(1329)](U)===1},M.prototype.gt=function(U){var W=D;return this[W(526)](U)===1},M[D(1166)][D(1191)]=function(U){var W=D;return 0<=this[W(1329)](U)},M[D(1166)][D(638)]=function(U){return 0<=this.cmp(U)},M[D(1166)][D(416)]=function(U){return this.cmpn(U)===-1},M[D(1166)].lt=function(U){var W=D;return this[W(526)](U)===-1},M[D(1166)].lten=function(U){var W=D;return this[W(1329)](U)<=0},M[D(1166)].lte=function(U){var W=D;return this[W(526)](U)<=0},M[D(1166)][D(1782)]=function(U){var W=D;return this[W(1329)](U)===0},M[D(1166)].eq=function(U){return this.cmp(U)===0},M[D(2178)]=function(U){return new fe(U)},M[D(1166)][D(1190)]=function(U){var W=D;return R(!this[W(2178)],W(304)),R(this[W(493)]===0,"red works only with positives"),U[W(1476)](this)[W(1836)](U)},M.prototype[D(1642)]=function(){var U=D;return R(this[U(2178)],U(2420)),this[U(2178)][U(624)](this)},M.prototype[D(1836)]=function(U){var W=D;return this[W(2178)]=U,this},M[D(1166)][D(1119)]=function(U){var W=D;return R(!this[W(2178)],W(304)),this[W(1836)](U)},M[D(1166)][D(1021)]=function(U){var W=D;return R(this[W(2178)],W(2212)),this[W(2178)][W(2400)](this,U)},M[D(1166)][D(2597)]=function(U){var W=D;return R(this[W(2178)],W(559)),this[W(2178)][W(187)](this,U)},M[D(1166)][D(1121)]=function(U){var W=D;return R(this[W(2178)],W(1575)),this[W(2178)][W(1550)](this,U)},M[D(1166)][D(1910)]=function(U){var W=D;return R(this[W(2178)],"redISub works only with red numbers"),this.red[W(258)](this,U)},M.prototype[D(1142)]=function(U){var W=D;return R(this.red,"redShl works only with red numbers"),this[W(2178)][W(346)](this,U)},M[D(1166)][D(249)]=function(U){var W=D;return R(this[W(2178)],W(301)),this[W(2178)][W(1769)](this,U),this[W(2178)].mul(this,U)},M.prototype[D(1149)]=function(U){var W=D;return R(this[W(2178)],W(301)),this[W(2178)][W(1769)](this,U),this.red[W(1805)](this,U)},M[D(1166)][D(1533)]=function(){var U=D;return R(this[U(2178)],U(2776)),this.red[U(1819)](this),this.red[U(1219)](this)},M[D(1166)].redISqr=function(){var U=D;return R(this.red,U(2569)),this[U(2178)][U(1819)](this),this.red.isqr(this)},M[D(1166)][D(1437)]=function(){var U=D;return R(this[U(2178)],U(1545)),this[U(2178)]._verify1(this),this[U(2178)][U(820)](this)},M[D(1166)][D(2766)]=function(){var U=D;return R(this[U(2178)],"redInvm works only with red numbers"),this[U(2178)][U(1819)](this),this[U(2178)].invm(this)},M.prototype[D(1364)]=function(){var U=D;return R(this[U(2178)],U(1775)),this[U(2178)]._verify1(this),this[U(2178)].neg(this)},M[D(1166)][D(1396)]=function(U){var W=D;return R(this[W(2178)]&&!U[W(2178)],W(285)),this.red[W(1819)](this),this[W(2178)].pow(this,U)};var H={k256:null,p224:null,p192:null,p25519:null};function le(U,W){var Y=D;this[Y(878)]=U,this.p=new M(W,16),this.n=this.p[Y(485)](),this.k=new M(1)[Y(1328)](this.n).isub(this.p),this[Y(1120)]=this[Y(1920)]()}function ue(){var U=D;le[U(2623)](this,U(238),"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function Ae(){var U=D;le.call(this,"p224",U(1996))}function he(){var U=D;le[U(2623)](this,U(505),"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function ge(){var U=D;le[U(2623)](this,"25519",U(1684))}function fe(U){var W=D,Y;W(1896)==typeof U?(Y=M[W(865)](U),this.m=Y.p,this[W(1390)]=Y):(R(U[W(1023)](1),"modulus must be greater than 1"),this.m=U,this[W(1390)]=null)}function ae(U){var W=D;fe[W(2623)](this,U),this[W(537)]=this.m[W(485)](),this[W(537)]%26!=0&&(this[W(537)]+=26-this.shift%26),this.r=new M(1)[W(1328)](this[W(537)]),this.r2=this[W(1028)](this.r[W(1219)]()),this[W(467)]=this.r._invmp(this.m),this[W(2487)]=this[W(467)][W(2545)](this.r)[W(590)](1)[W(1801)](this.m),this[W(2487)]=this[W(2487)][W(1372)](this.r),this[W(2487)]=this.r[W(1550)](this.minv)}le[D(1166)]._tmp=function(){var U=D,W=new M(null);return W[U(660)]=new Array(Math[U(1266)](this.n/13)),W},le.prototype[D(518)]=function(U){for(var W=D,Y,z=U;this[W(2259)](z,this[W(1120)]),(Y=(z=(z=this[W(1259)](z)).iadd(this[W(1120)]))[W(485)]())>this.n;);return U=Y<this.n?-1:z[W(1627)](this.p),U===0?(z[W(660)][0]=0,z[W(1383)]=1):0<U?z.isub(this.p):z.strip!==void 0?z[W(968)]():z[W(1076)](),z},le[D(1166)][D(2259)]=function(U,W){var Y=D;U[Y(1487)](this.n,0,W)},le.prototype[D(1259)]=function(U){var W=D;return U[W(1805)](this.k)},P(ue,le),ue[D(1166)][D(2259)]=function(U,W){for(var Y=D,z=Math[Y(1869)](U.length,9),re=0;re<z;re++)W[Y(660)][re]=U[Y(660)][re];if(W[Y(1383)]=z,U[Y(1383)]<=9)return U[Y(660)][0]=0,void(U[Y(1383)]=1);var se=U[Y(660)][9];for(W[Y(660)][W[Y(1383)]++]=4194303&se,re=10;re<U[Y(1383)];re++){var de=0|U[Y(660)][re];U[Y(660)][re-10]=(4194303&de)<<4|se>>>22,se=de}(U[Y(660)][re-10]=se>>>=22)==0&&10<U[Y(1383)]?U.length-=10:U[Y(1383)]-=9},ue[D(1166)][D(1259)]=function(U){var W=D;U[W(660)][U[W(1383)]]=0,U[W(660)][U[W(1383)]+1]=0,U[W(1383)]+=2;for(var Y=0,z=0;z<U[W(1383)];z++){var re=0|U[W(660)][z];Y+=977*re,U[W(660)][z]=67108863&Y,Y=64*re+(Y/67108864|0)}return U[W(660)][U.length-1]===0&&(U[W(1383)]--,U[W(660)][U.length-1]===0&&U[W(1383)]--),U},P(Ae,le),P(he,le),P(ge,le),ge[D(1166)][D(1259)]=function(U){for(var W=D,Y=0,z=0;z<U[W(1383)];z++){var re=19*(0|U.words[z])+Y,se=67108863&re;re>>>=26,U[W(660)][z]=se,Y=re}return Y!==0&&(U[W(660)][U.length++]=Y),U},M[D(865)]=function(U){var W=D;if(H[U])return H[U];var Y;if(W(238)===U)Y=new ue;else if(W(464)===U)Y=new Ae;else if(U==="p192")Y=new he;else{if(W(2441)!==U)throw new Error(W(1412)+U);Y=new ge}return H[U]=Y},fe[D(1166)]._verify1=function(U){var W=D;R(U[W(493)]===0,W(906)),R(U.red,W(218))},fe.prototype._verify2=function(U,W){var Y=D;R((U.negative|W.negative)==0,Y(906)),R(U[Y(2178)]&&U.red===W[Y(2178)],Y(218))},fe[D(1166)][D(1028)]=function(U){var W=D;return(this.prime?this[W(1390)][W(518)](U):U[W(1372)](this.m))[W(1836)](this)},fe[D(1166)][D(828)]=function(U){var W=D;return U[W(2356)]()?U[W(2164)]():this.m[W(1550)](U)[W(1836)](this)},fe[D(1166)].add=function(U,W){var Y=D;return this[Y(1769)](U,W),U=U.add(W),0<=U[Y(526)](this.m)&&U[Y(258)](this.m),U._forceRed(this)},fe[D(1166)].iadd=function(U,W){var Y=D;return this[Y(1769)](U,W),U=U[Y(187)](W),0<=U.cmp(this.m)&&U[Y(258)](this.m),U},fe[D(1166)].sub=function(U,W){var Y=D;return this[Y(1769)](U,W),U=U[Y(1550)](W),U.cmpn(0)<0&&U[Y(187)](this.m),U[Y(1836)](this)},fe[D(1166)][D(258)]=function(U,W){var Y=D;return this[Y(1769)](U,W),U=U[Y(258)](W),U[Y(1329)](0)<0&&U[Y(187)](this.m),U},fe.prototype.shl=function(U,W){var Y=D;return this[Y(1819)](U),this[Y(1028)](U.ushln(W))},fe.prototype[D(1805)]=function(U,W){var Y=D;return this[Y(1769)](U,W),this[Y(1028)](U[Y(1805)](W))},fe[D(1166)][D(2545)]=function(U,W){var Y=D;return this._verify2(U,W),this[Y(1028)](U.mul(W))},fe[D(1166)].isqr=function(U){var W=D;return this[W(1805)](U,U[W(2164)]())},fe[D(1166)][D(1219)]=function(U){var W=D;return this[W(2545)](U,U)},fe[D(1166)].sqrt=function(U){var W=D;if(U[W(2356)]())return U.clone();var Y=this.m[W(329)](3);if(R(Y%2==1),Y===3)return Y=this.m[W(2400)](new M(1)).iushrn(2),this[W(337)](U,Y);for(var z=this.m[W(160)](1),re=0;!z[W(2356)]()&&z[W(329)](1)===0;)re++,z.iushrn(1);R(!z[W(2356)]());for(var se=new M(1)[W(1190)](this),de=se.redNeg(),me=this.m[W(160)](1)[W(1487)](1),Ce=new M(2*(Ce=this.m[W(485)]())*Ce).toRed(this);this[W(337)](Ce,me).cmp(de)!==0;)Ce[W(2597)](de);for(var Ie=this[W(337)](Ce,z),we=this[W(337)](U,z.addn(1)[W(1487)](1)),Te=this[W(337)](U,z),Ge=re;Te[W(526)](se)!==0;){for(var ke=Te,Oe=0;ke[W(526)](se)!==0;Oe++)ke=ke[W(1533)]();R(Oe<Ge);var Le=this[W(337)](Ie,new M(1)[W(1328)](Ge-Oe-1)),we=we.redMul(Le),Ie=Le[W(1533)](),Te=Te[W(249)](Ie),Ge=Oe}return we},fe[D(1166)].invm=function(U){var W=D;return U=U[W(1243)](this.m),U[W(493)]!==0?(U[W(493)]=0,this[W(1028)](U)[W(1364)]()):this[W(1028)](U)},fe[D(1166)].pow=function(U,W){var Y=D;if(W[Y(2356)]())return new M(1).toRed(this);if(W[Y(1329)](1)===0)return U.clone();var z=new Array(16);z[0]=new M(1)[Y(1190)](this),z[1]=U;for(var re=2;re<z[Y(1383)];re++)z[re]=this.mul(z[re-1],U);var se=z[0],de=0,me=0,Ce=W[Y(485)]()%26;for(Ce===0&&(Ce=26),re=W[Y(1383)]-1;0<=re;re--){for(var Ie=W[Y(660)][re],we=Ce-1;0<=we;we--){var Te=Ie>>we&1;se!==z[0]&&(se=this[Y(1219)](se)),Te==0&&de===0?me=0:(de=de<<1|Te,(++me==4||re===0&&we===0)&&(se=this[Y(2545)](se,z[de]),de=me=0))}Ce=26}return se},fe[D(1166)].convertTo=function(U){var W=D,Y=U[W(1372)](this.m);return Y===U?Y[W(2164)]():Y},fe[D(1166)].convertFrom=function(U){var W=D;return U=U.clone(),U[W(2178)]=null,U},M[D(2129)]=function(U){return new ae(U)},P(ae,fe),ae[D(1166)].convertTo=function(U){var W=D;return this[W(1028)](U.ushln(this.shift))},ae[D(1166)][D(624)]=function(U){var W=D;return U=this[W(1028)](U[W(2545)](this[W(467)])),U.red=null,U},ae[D(1166)].imul=function(U,W){var Y=D;return U[Y(2356)]()||W[Y(2356)]()?(U[Y(660)][0]=0,U[Y(1383)]=1,U):(U=U[Y(1805)](W),W=U.maskn(this[Y(537)])[Y(2545)](this[Y(2487)])[Y(1617)](this.shift)[Y(2545)](this.m),U=U[Y(258)](W)[Y(1487)](this.shift),W=U,0<=U[Y(526)](this.m)?W=U[Y(258)](this.m):U.cmpn(0)<0&&(W=U[Y(187)](this.m)),W[Y(1836)](this))},ae[D(1166)][D(2545)]=function(U,W){var Y=D;return U[Y(2356)]()||W[Y(2356)]()?new M(0)._forceRed(this):(U=U[Y(2545)](W),W=U[Y(316)](this[Y(537)])[Y(2545)](this[Y(2487)])[Y(1617)](this[Y(537)])[Y(2545)](this.m),U=U.isub(W)[Y(1487)](this[Y(537)]),W=U,0<=U.cmp(this.m)?W=U[Y(258)](this.m):U.cmpn(0)<0&&(W=U[Y(187)](this.m)),W[Y(1836)](this))},ae[D(1166)][D(2728)]=function(U){var W=D;return this[W(1028)](U[W(1243)](this.m).mul(this.r2))[W(1836)](this)}})((B=T[w(2362)](B),this))},8091:B=>{var Q=Ut;function T(w,S){var D=Ut;if(w==null)throw new TypeError("Cannot convert first argument to object");for(var R=Object(w),P=1;P<arguments[D(1383)];P++){var M=arguments[P];if(M!=null)for(var L=Object[D(451)](Object(M)),F=0,k=L.length;F<k;F++){var N=L[F],G=Object[D(2629)](M,N);G!==void 0&&G.enumerable&&(R[N]=M[N])}}return R}B[Q(1729)]={assign:T,polyfill:function(){var w=Q;Object[w(1136)]||Object.defineProperty(Object,w(1136),{enumerable:!1,configurable:!0,writable:!0,value:T})}}},17187:(B,Q,D)=>{var w=Ut,S=D(25108),D=w(1499)==typeof Reflect?Reflect:null,R=D&&w(1451)==typeof D[w(2559)]?D[w(2559)]:function(ie,H,le){var ue=w;return Function[ue(1166)].apply[ue(2623)](ie,H,le)},P=D&&w(1451)==typeof D[w(1322)]?D.ownKeys:Object[w(1560)]?function(ie){var H=w;return Object[H(1838)](ie)[H(1544)](Object[H(1560)](ie))}:function(ie){var H=w;return Object[H(1838)](ie)},M=Number.isNaN||function(ie){return ie!=ie};function L(){var ie=w;L[ie(2688)][ie(2623)](this)}B[w(1729)]=L,B.exports[w(2600)]=function(ie,H){return new Promise(function(le,ue){var Ae=Ut;function he(fe){var ae=Ut;ie[ae(2513)](H,ge),ue(fe)}function ge(){var fe=Ut;typeof ie[fe(2513)]=="function"&&ie[fe(2513)](fe(899),he),le([][fe(2679)].call(arguments))}ee(ie,H,ge,{once:!0}),Ae(899)===H||Ae(1451)==typeof ie.on&&ee(ie,Ae(899),he,{once:!0})})},(L.EventEmitter=L)[w(1166)][w(2658)]=void 0,L[w(1166)][w(1031)]=0,L[w(1166)][w(1878)]=void 0;var F=10;function k(ie){var H=w;if(typeof ie!="function")throw new TypeError(H(792)+typeof ie)}function N(ie){var H=w;return ie._maxListeners===void 0?L[H(1558)]:ie[H(1878)]}function G(ie,H,le,ue){var Ae=w,he,ge;return k(le),(he=ie[Ae(2658)])===void 0?(he=ie[Ae(2658)]=Object.create(null),ie[Ae(1031)]=0):(he[Ae(1997)]!==void 0&&(ie.emit(Ae(1997),H,le.listener||le),he=ie[Ae(2658)]),ge=he[H]),ge===void 0?(ge=he[H]=le,++ie[Ae(1031)]):(Ae(1451)==typeof ge?ge=he[H]=ue?[le,ge]:[ge,le]:ue?ge[Ae(2254)](le):ge.push(le),0<(he=N(ie))&&ge[Ae(1383)]>he&&!ge[Ae(2469)]&&(ge[Ae(2469)]=!0,(ue=new Error("Possible EventEmitter memory leak detected. "+ge.length+" "+String(H)+" listeners added. Use emitter.setMaxListeners() to increase limit"))[Ae(878)]="MaxListenersExceededWarning",ue[Ae(567)]=ie,ue[Ae(277)]=H,ue.count=ge[Ae(1383)],le=ue,S&&S[Ae(2699)]&&S.warn(le))),ie}function J(ie,H,le){var ue=w;return ie={fired:!1,wrapFn:void 0,target:ie,type:H,listener:le},H=function(){var Ae=Ut;if(!this[Ae(2718)])return this[Ae(552)].removeListener(this.type,this[Ae(2638)]),this.fired=!0,arguments[Ae(1383)]===0?this[Ae(935)][Ae(2623)](this.target):this[Ae(935)].apply(this.target,arguments)}[ue(1753)](ie),H[ue(935)]=le,ie.wrapFn=H}function K(ie,H,le){var ue=w;if(ie=ie[ue(2658)],ie===void 0)return[];if(ie=ie[H],ie===void 0)return[];if(typeof ie=="function")return le?[ie[ue(935)]||ie]:[ie];if(le){for(var Ae=ie,he=new Array(Ae[ue(1383)]),ge=0;ge<he[ue(1383)];++ge)he[ge]=Ae[ge][ue(935)]||Ae[ge];return he}return q(ie,ie[ue(1383)])}function X(ie){var H=w,le=this[H(2658)];if(le!==void 0){if(le=le[ie],H(1451)==typeof le)return 1;if(le!==void 0)return le[H(1383)]}return 0}function q(ie,H){for(var le=new Array(H),ue=0;ue<H;++ue)le[ue]=ie[ue];return le}function ee(ie,H,le,ue){var Ae=w;if(typeof ie.on=="function")ue[Ae(2600)]?ie[Ae(2600)](H,le):ie.on(H,le);else{if(Ae(1451)!=typeof ie[Ae(1014)])throw new TypeError(Ae(733)+typeof ie);ie.addEventListener(H,function he(ge){var fe=Ae;ue[fe(2600)]&&ie[fe(2720)](H,he),le(ge)})}}Object[w(1844)](L,w(1558),{enumerable:!0,get:function(){return F},set:function(ie){var H=w;if(H(2013)!=typeof ie||ie<0||M(ie))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+ie+".");F=ie}}),L[w(2688)]=function(){var ie=w;this[ie(2658)]!==void 0&&this[ie(2658)]!==Object[ie(905)](this)[ie(2658)]||(this[ie(2658)]=Object[ie(917)](null),this._eventsCount=0),this[ie(1878)]=this[ie(1878)]||void 0},L[w(1166)][w(1846)]=function(ie){var H=w;if(H(2013)!=typeof ie||ie<0||M(ie))throw new RangeError(H(1950)+ie+".");return this[H(1878)]=ie,this},L[w(1166)][w(1662)]=function(){return N(this)},L[w(1166)][w(445)]=function(ie){for(var H=w,le=[],ue=1;ue<arguments[H(1383)];ue++)le[H(182)](arguments[ue]);var Ae=H(899)===ie,he=this[H(2658)];if(he!==void 0)Ae=Ae&&he.error===void 0;else if(!Ae)return!1;if(Ae)throw(ge=0<le[H(1383)]?le[0]:ge)instanceof Error?ge:(Ae=new Error(H(229)+(ge?" ("+ge[H(1531)]+")":"")),Ae.context=ge,Ae);var ge=he[ie];if(ge===void 0)return!1;if(H(1451)==typeof ge)R(ge,this,le);else for(var fe=ge[H(1383)],ae=q(ge,fe),ue=0;ue<fe;++ue)R(ae[ue],this,le);return!0},L[w(1166)].on=L[w(1166)][w(963)]=function(ie,H){return G(this,ie,H,!1)},L[w(1166)][w(1061)]=function(ie,H){return G(this,ie,H,!0)},L[w(1166)].once=function(ie,H){return k(H),this.on(ie,J(this,ie,H)),this},L[w(1166)][w(1303)]=function(ie,H){var le=w;return k(H),this[le(1061)](ie,J(this,ie,H)),this},L[w(1166)][w(2777)]=L.prototype[w(2513)]=function(ie,H){var le=w,ue,Ae,he,ge,fe;if(k(H),(Ae=this._events)===void 0)return this;if((ue=Ae[ie])===void 0)return this;if(ue===H||ue[le(935)]===H)--this[le(1031)]==0?this._events=Object[le(917)](null):(delete Ae[ie],Ae[le(2513)]&&this.emit(le(2513),ie,ue[le(935)]||H));else if(le(1451)!=typeof ue){for(he=-1,ge=ue.length-1;0<=ge;ge--)if(ue[ge]===H||ue[ge][le(935)]===H){fe=ue[ge].listener,he=ge;break}if(he<0)return this;if(he===0)ue.shift();else{for(var ae=ue,U=he;U+1<ae[le(1383)];U++)ae[U]=ae[U+1];ae.pop()}ue.length===1&&(Ae[ie]=ue[0]),Ae.removeListener!==void 0&&this.emit("removeListener",ie,fe||H)}return this},L[w(1166)][w(1635)]=function(ie){var H=w,le,ue=this[H(2658)];if(ue===void 0)return this;if(ue[H(2513)]===void 0)return arguments.length===0?(this[H(2658)]=Object[H(917)](null),this[H(1031)]=0):ue[ie]!==void 0&&(--this[H(1031)]==0?this[H(2658)]=Object[H(917)](null):delete ue[ie]),this;if(arguments.length===0){for(var Ae,he=Object.keys(ue),ge=0;ge<he.length;++ge)H(2513)!==(Ae=he[ge])&&this[H(1635)](Ae);return this[H(1635)]("removeListener"),this._events=Object[H(917)](null),this[H(1031)]=0,this}if(typeof(le=ue[ie])=="function")this[H(2513)](ie,le);else if(le!==void 0)for(ge=le[H(1383)]-1;0<=ge;ge--)this[H(2513)](ie,le[ge]);return this},L[w(1166)][w(885)]=function(ie){return K(this,ie,!0)},L[w(1166)][w(541)]=function(ie){return K(this,ie,!1)},L.listenerCount=function(ie,H){var le=w;return typeof ie.listenerCount=="function"?ie[le(2655)](H):X[le(2623)](ie,H)},L[w(1166)][w(2655)]=X,L[w(1166)][w(739)]=function(){var ie=w;return 0<this[ie(1031)]?P(this[ie(2658)]):[]}},13048:(B,Q,T)=>{var w=Ut,S=T(89509)[w(1641)],D=T(62318);B[w(1729)]=function(R,P,M,L){var F=w;if(S[F(1302)](R)||(R=S[F(2047)](R,F(2113))),P&&(P=S[F(1302)](P)?P:S[F(2047)](P,"binary")).length!==8)throw new RangeError(F(1103));for(var k=M/8,N=S.alloc(k),G=S[F(1581)](L||0),J=S[F(1581)](0);0<k||0<L;){var K,X,q=new D,q=(q[F(1002)](J),q[F(1002)](R),P&&q[F(1002)](P),J=q.digest(),0);0<k&&(K=N[F(1383)]-k,q=Math.min(k,J[F(1383)]),J[F(1830)](N,K,0,q),k-=q),q<J[F(1383)]&&0<L&&(K=G[F(1383)]-L,X=Math[F(1869)](L,J.length-q),J[F(1830)](G,K,q,q+X),L-=X)}return J.fill(0),{key:N,iv:G}}},94029:(B,Q,T)=>{var w=Ut,S=T(95320),D=Object.prototype[w(1888)],R=Object[w(1166)][w(579)];B[w(1729)]=function(P,M,L){var F=w;if(!S(M))throw new TypeError(F(931));var k;if(3<=arguments.length&&(k=L),F(2200)===D[F(2623)](P))for(var N=P,G=M,J=k,K=0,X=N.length;K<X;K++)R[F(2623)](N,K)&&(J==null?G(N[K],K,N):G[F(2623)](J,N[K],K,N));else if(F(1896)==typeof P)for(var q=P,ee=M,ie=k,H=0,le=q.length;H<le;H++)ie==null?ee(q.charAt(H),H,q):ee[F(2623)](ie,q[F(481)](H),H,q);else{var ue,Ae=P,he=M,ge=k;for(ue in Ae)R.call(Ae,ue)&&(ge==null?he(Ae[ue],ue,Ae):he[F(2623)](ge,Ae[ue],ue,Ae))}}},17354:(B,Q,T)=>{var w=Ut;T(25108).log(w(690))},17648:B=>{var Q=Ut,T=Array[Q(1166)][Q(2679)],w=Object.prototype[Q(1888)];B[Q(1729)]=function(S){var D=Q,R=this;if(D(1451)!=typeof R||D(2076)!==w[D(2623)](R))throw new TypeError(D(587)+R);for(var P,M,L=T[D(2623)](arguments,1),F=Math[D(323)](0,R[D(1383)]-L[D(1383)]),k=[],N=0;N<F;N++)k[D(182)]("$"+N);return P=Function("binder",D(925)+k[D(951)](",")+"){ return binder.apply(this,arguments); }")(function(){var G=D,J;return this instanceof P?(J=R[G(2559)](this,L[G(1544)](T[G(2623)](arguments))),Object(J)===J?J:this):R[G(2559)](S,L[G(1544)](T[G(2623)](arguments)))}),R[D(1166)]&&((M=function(){})[D(1166)]=R[D(1166)],P[D(1166)]=new M,M[D(1166)]=null),P}},58612:(B,Q,T)=>{var w=Ut;T=T(17648),B[w(1729)]=Function[w(1166)][w(1753)]||T},40210:(B,Q,T)=>{var w=Ut;function S(fe){var ae=Ut;try{return P(ae(2244)+fe+ae(231))()}catch{}}var D,R=SyntaxError,P=Function,M=TypeError,L=Object[w(2629)];if(L)try{L({},"")}catch{L=null}function F(){throw new M}var q=L?function(){var fe=w;try{return F}catch{try{return L(arguments,fe(2055)).get}catch{return F}}}():F,k=T(41405)(),J=T(28185)(),N=Object[w(905)]||(J?function(fe){return fe.__proto__}:null),G={},J=typeof Uint8Array<"u"&&N?N(Uint8Array):D,K={"%AggregateError%":w(1506)==typeof AggregateError?D:AggregateError,"%Array%":Array,"%ArrayBuffer%":w(1506)==typeof ArrayBuffer?D:ArrayBuffer,"%ArrayIteratorPrototype%":k&&N?N([][Symbol[w(2037)]]()):D,"%AsyncFromSyncIteratorPrototype%":D,"%AsyncFunction%":G,"%AsyncGenerator%":G,"%AsyncGeneratorFunction%":G,"%AsyncIteratorPrototype%":G,"%Atomics%":w(1506)==typeof Atomics?D:Atomics,"%BigInt%":w(1506)==typeof BigInt?D:BigInt,"%BigInt64Array%":w(1506)==typeof BigInt64Array?D:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?D:BigUint64Array,"%Boolean%":Boolean,"%DataView%":w(1506)==typeof DataView?D:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":w(1506)==typeof Float32Array?D:Float32Array,"%Float64Array%":w(1506)==typeof Float64Array?D:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?D:FinalizationRegistry,"%Function%":P,"%GeneratorFunction%":G,"%Int8Array%":w(1506)==typeof Int8Array?D:Int8Array,"%Int16Array%":w(1506)==typeof Int16Array?D:Int16Array,"%Int32Array%":w(1506)==typeof Int32Array?D:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":k&&N?N(N([][Symbol[w(2037)]]())):D,"%JSON%":w(1499)==typeof JSON?JSON:D,"%Map%":w(1506)==typeof Map?D:Map,"%MapIteratorPrototype%":w(1506)!=typeof Map&&k&&N?N(new Map()[Symbol[w(2037)]]()):D,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":w(1506)==typeof Promise?D:Promise,"%Proxy%":typeof Proxy>"u"?D:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":w(1506)==typeof Reflect?D:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?D:Set,"%SetIteratorPrototype%":typeof Set<"u"&&k&&N?N(new Set()[Symbol[w(2037)]]()):D,"%SharedArrayBuffer%":w(1506)==typeof SharedArrayBuffer?D:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":k&&N?N(""[Symbol[w(2037)]]()):D,"%Symbol%":k?Symbol:D,"%SyntaxError%":R,"%ThrowTypeError%":q,"%TypedArray%":J,"%TypeError%":M,"%Uint8Array%":w(1506)==typeof Uint8Array?D:Uint8Array,"%Uint8ClampedArray%":w(1506)==typeof Uint8ClampedArray?D:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?D:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?D:Uint32Array,"%URIError%":URIError,"%WeakMap%":w(1506)==typeof WeakMap?D:WeakMap,"%WeakRef%":w(1506)==typeof WeakRef?D:WeakRef,"%WeakSet%":w(1506)==typeof WeakSet?D:WeakSet};if(N)try{null[w(899)]}catch(fe){k=N(N(fe)),K["%Error.prototype%"]=k}var X={"%ArrayBufferPrototype%":["ArrayBuffer",w(1166)],"%ArrayPrototype%":[w(1068),"prototype"],"%ArrayProto_entries%":[w(1068),w(1166),w(162)],"%ArrayProto_forEach%":[w(1068),"prototype",w(2455)],"%ArrayProto_keys%":[w(1068),w(1166),w(451)],"%ArrayProto_values%":[w(1068),w(1166),"values"],"%AsyncFunctionPrototype%":[w(158),"prototype"],"%AsyncGenerator%":[w(1360),w(1166)],"%AsyncGeneratorPrototype%":[w(1360),w(1166),w(1166)],"%BooleanPrototype%":["Boolean",w(1166)],"%DataViewPrototype%":[w(2620),w(1166)],"%DatePrototype%":["Date",w(1166)],"%ErrorPrototype%":[w(1942),w(1166)],"%EvalErrorPrototype%":[w(1313),"prototype"],"%Float32ArrayPrototype%":[w(1197),w(1166)],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":[w(2631),w(1166)],"%Generator%":[w(2428),"prototype"],"%GeneratorPrototype%":[w(2428),w(1166),w(1166)],"%Int8ArrayPrototype%":[w(1033),w(1166)],"%Int16ArrayPrototype%":["Int16Array",w(1166)],"%Int32ArrayPrototype%":[w(2774),w(1166)],"%JSONParse%":[w(1388),"parse"],"%JSONStringify%":[w(1388),w(875)],"%MapPrototype%":[w(766),"prototype"],"%NumberPrototype%":[w(1712),w(1166)],"%ObjectPrototype%":["Object",w(1166)],"%ObjProto_toString%":[w(1114),"prototype",w(1888)],"%ObjProto_valueOf%":[w(1114),"prototype","valueOf"],"%PromisePrototype%":[w(2409),w(1166)],"%PromiseProto_then%":["Promise",w(1166),w(2401)],"%Promise_all%":[w(2409),w(743)],"%Promise_reject%":[w(2409),w(2180)],"%Promise_resolve%":[w(2409),w(1348)],"%RangeErrorPrototype%":[w(1042),w(1166)],"%ReferenceErrorPrototype%":[w(1417),w(1166)],"%RegExpPrototype%":[w(2321),w(1166)],"%SetPrototype%":[w(2504),"prototype"],"%SharedArrayBufferPrototype%":[w(1137),w(1166)],"%StringPrototype%":[w(411),w(1166)],"%SymbolPrototype%":[w(1848),w(1166)],"%SyntaxErrorPrototype%":["SyntaxError",w(1166)],"%TypedArrayPrototype%":[w(2002),w(1166)],"%TypeErrorPrototype%":[w(1309),w(1166)],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":[w(1218),w(1166)],"%Uint16ArrayPrototype%":["Uint16Array",w(1166)],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":[w(1657),w(1166)],"%WeakMapPrototype%":[w(2524),w(1166)],"%WeakSetPrototype%":[w(1933),w(1166)]},q=T(58612),ee=T(17642),ie=q.call(Function.call,Array[w(1166)][w(1544)]),H=q[w(2623)](Function[w(2559)],Array[w(1166)].splice),le=q[w(2623)](Function[w(2623)],String[w(1166)][w(1850)]),ue=q[w(2623)](Function[w(2623)],String[w(1166)][w(2679)]),Ae=q.call(Function[w(2623)],RegExp.prototype[w(2268)]),he=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,ge=/\\(\\)?/g;B[w(1729)]=function(fe,ae){var U=w;if(U(1896)!=typeof fe||fe[U(1383)]===0)throw new M(U(2148));if(1<arguments[U(1383)]&&U(1015)!=typeof ae)throw new M(U(2668));if(Ae(/^%?[^%]*%?$/,fe)===null)throw new R(U(1546));var W=function(Te){var Ge=U,ke=ue(Te,0,1),Oe=ue(Te,-1);if(ke==="%"&&Oe!=="%")throw new R(Ge(2318));if(Oe==="%"&&ke!=="%")throw new R("invalid intrinsic syntax, expected opening `%`");var Le=[];return le(Te,he,function(be,Ne,Ue,ze){var Je=Ge;Le[Le[Je(1383)]]=Ue?le(ze,ge,"$1"):Ne||be}),Le}(fe),Y=0<W[U(1383)]?W[0]:"",se=function(Te,Ge){var ke=U,Oe,Le=Te;if(ee(X,Le)&&(Le="%"+(Oe=X[Le])[0]+"%"),ee(K,Le)){var be=K[Le];if((be=be===G?function Ne(Ue){var ze=Ut,Je,Xe;return Ue==="%AsyncFunction%"?Je=S(ze(1726)):ze(1211)===Ue?Je=S(ze(772)):ze(1175)===Ue?Je=S(ze(1239)):Ue==="%AsyncGenerator%"?(Xe=Ne(ze(1175)))&&(Je=Xe.prototype):ze(1532)===Ue&&(Xe=Ne(ze(347)))&&N&&(Je=N(Xe[ze(1166)])),K[Ue]=Je}(Le):be)!==void 0||Ge)return{alias:Oe,name:Le,value:be};throw new M("intrinsic "+Te+ke(1305))}throw new R(ke(722)+Te+ke(2719))}("%"+Y+"%",ae),z=(se[U(878)],se.value),re=!1,se=se[U(472)];se&&(Y=se[0],H(W,ie([0,1],se)));for(var de=1,me=!0;de<W[U(1383)];de+=1){var Ce=W[de],Ie=ue(Ce,0,1),we=ue(Ce,-1);if((Ie==='"'||Ie==="'"||Ie==="`"||we==='"'||we==="'"||we==="`")&&Ie!==we)throw new R(U(2734));if(Ce!=="constructor"&&me||(re=!0),ee(K,Ie="%"+(Y+="."+Ce)+"%"))z=K[Ie];else if(z!=null){if(!(Ce in z)){if(ae)return;throw new M(U(750)+fe+U(2795))}z=L&&de+1>=W[U(1383)]?(me=!!(we=L(z,Ce)))&&"get"in we&&!("originalValue"in we[U(1935)])?we.get:z[Ce]:(me=ee(z,Ce),z[Ce]),me&&!re&&(K[Ie]=z)}}return z}},27296:(B,Q,T)=>{var w=Ut;if(T=T(40210)(w(742),!0),T)try{T([],w(1383))}catch{T=null}B[w(1729)]=T},31044:(B,Q,T)=>{function w(){if(S)try{return S({},"a",{value:1}),!0}catch{return!1}return!1}var S=T(40210)("%Object.defineProperty%",!0);w.hasArrayLengthDefineBug=function(){var D=Ut;if(!w())return null;try{return S([],"length",{value:1})[D(1383)]!==1}catch{return!0}},B.exports=w},28185:B=>{var Q=Ut,T={foo:{}},w=Object;B[Q(1729)]=function(){var S=Q;return{__proto__:T}[S(1749)]===T.foo&&!({__proto__:null}instanceof w)}},41405:(B,Q,T)=>{var w=Ut,S=typeof Symbol<"u"&&Symbol,D=T(55419);B[w(1729)]=function(){var R=w;return R(1451)==typeof S&&R(1451)==typeof Symbol&&R(428)==typeof S(R(1749))&&R(428)==typeof Symbol(R(376))&&D()}},55419:B=>{var Q=Ut;B[Q(1729)]=function(){var T=Q;if(T(1451)!=typeof Symbol||T(1451)!=typeof Object[T(1560)])return!1;if(T(428)==typeof Symbol[T(2037)])return!0;var w={},S=Symbol(T(1172)),D=Object(S);if(typeof S=="string"||T(1604)!==Object.prototype.toString[T(2623)](S)||T(1604)!==Object[T(1166)][T(1888)][T(2623)](D))return!1;for(S in w[S]=42,w)return!1;return!(typeof Object[T(451)]=="function"&&Object[T(451)](w)[T(1383)]!==0||T(1451)==typeof Object[T(1838)]&&Object[T(1838)](w).length!==0||(D=Object[T(1560)](w),D[T(1383)]!==1||D[0]!==S)||!Object[T(1166)][T(2522)].call(w,S)||T(1451)==typeof Object[T(2629)]&&(D=Object[T(2629)](w,S),D.value!==42||D[T(1273)]!==!0))}},96410:(B,Q,T)=>{var w=Ut,S=T(55419);B[w(1729)]=function(){var D=w;return S()&&!!Symbol[D(2064)]}},17642:(B,Q,T)=>{var w=Ut;T=T(58612),B[w(1729)]=T[w(2623)](Function[w(2623)],Object.prototype[w(579)])},3349:(B,Q,T)=>{var w=Ut,S=T(50213)[w(1641)],D=T(88473)[w(1148)];function R(P){var M=w;D[M(2623)](this),this._block=S[M(960)](P),this[M(648)]=P,this[M(1608)]=0,this[M(2521)]=[0,0,0,0],this[M(921)]=!1}T(35717)(R,D),R.prototype[w(596)]=function(P,M,L){var F=null;try{this.update(P,M)}catch(k){F=k}L(F)},R[w(1166)][w(2572)]=function(P){var M=w,L=null;try{this[M(182)](this[M(593)]())}catch(F){L=F}P(L)},R.prototype[w(1002)]=function(P,M){var L=w,F=P;if(!S[L(1302)](F)&&L(1896)!=typeof F)throw new TypeError("Data must be a string or a buffer");if(this[L(921)])throw new Error("Digest already called");S[L(1302)](P)||(P=S.from(P,M));for(var k=this._block,N=0;this._blockOffset+P[L(1383)]-N>=this[L(648)];){for(var G=this[L(1608)];G<this[L(648)];)k[G++]=P[N++];this[L(994)](),this[L(1608)]=0}for(;N<P[L(1383)];)k[this[L(1608)]++]=P[N++];for(var J=0,K=8*P.length;0<K;++J)this[L(2521)][J]+=K,0<(K=this[L(2521)][J]/4294967296|0)&&(this[L(2521)][J]-=4294967296*K);return this},R[w(1166)][w(994)]=function(){var P=w;throw new Error(P(692))},R[w(1166)][w(593)]=function(P){var M=w;if(this[M(921)])throw new Error(M(1984));this[M(921)]=!0;var L=this[M(1570)]();P!==void 0&&(L=L[M(1888)](P)),this[M(2786)][M(1371)](0);for(var F=this[M(1608)]=0;F<4;++F)this[M(2521)][F]=0;return L},R[w(1166)]._digest=function(){var P=w;throw new Error(P(2311))},B[w(1729)]=R},50213:(B,Q,T)=>{var w=Ut,S=T(48764),D=S[w(1641)];function R(M,L){for(var F in M)L[F]=M[F]}function P(M,L,F){return D(M,L,F)}D[w(2047)]&&D[w(1581)]&&D[w(960)]&&D[w(1821)]?B[w(1729)]=S:(R(S,Q),Q[w(1641)]=P),P[w(1166)]=Object[w(917)](D[w(1166)]),R(D,P),P[w(2047)]=function(M,L,F){var k=w;if(k(2013)==typeof M)throw new TypeError("Argument must not be a number");return D(M,L,F)},P[w(1581)]=function(M,L,F){var k=w;if(k(2013)!=typeof M)throw new TypeError(k(1220));return M=D(M),L!==void 0?k(1896)==typeof F?M[k(1371)](L,F):M[k(1371)](L):M.fill(0),M},P[w(960)]=function(M){var L=w;if(L(2013)!=typeof M)throw new TypeError("Argument must be a number");return D(M)},P[w(1821)]=function(M){var L=w;if(L(2013)!=typeof M)throw new TypeError(L(1220));return S.SlowBuffer(M)}},33715:(B,Q,T)=>{var w=Ut;Q.utils=T(26436),Q[w(312)]=T(95772),Q.sha=T(89041),Q[w(928)]=T(12949),Q[w(1646)]=T(52344),Q[w(1590)]=Q.sha.sha1,Q[w(1077)]=Q[w(2411)][w(1077)],Q[w(741)]=Q[w(2411)][w(741)],Q[w(2678)]=Q.sha[w(2678)],Q[w(720)]=Q[w(2411)][w(720)],Q[w(838)]=Q[w(928)][w(838)]},95772:(B,Q,T)=>{var w=Ut,S=T(26436),D=T(79746);function R(){var P=Ut;this[P(2496)]=null,this[P(191)]=0,this[P(1992)]=this[P(2267)][P(1992)],this[P(2036)]=this.constructor[P(2036)],this[P(306)]=this[P(2267)][P(306)],this[P(1864)]=this.constructor.padLength/8,this[P(2660)]="big",this[P(2785)]=this.blockSize/8,this[P(972)]=this[P(1992)]/32}(Q.BlockHash=R)[w(1166)].update=function(P,M){var L=w;if(P=S[L(884)](P,M),this[L(2496)]?this[L(2496)]=this[L(2496)].concat(P):this.pending=P,this[L(191)]+=P[L(1383)],this.pending[L(1383)]>=this[L(2785)]){M=(P=this.pending).length%this[L(2785)],this.pending=P[L(2679)](P[L(1383)]-M,P.length),this[L(2496)][L(1383)]===0&&(this[L(2496)]=null),P=S[L(1707)](P,0,P[L(1383)]-M,this[L(2660)]);for(var F=0;F<P.length;F+=this[L(972)])this[L(994)](P,F,F+this._delta32)}return this},R.prototype[w(593)]=function(P){var M=w;return this[M(1002)](this[M(465)]()),D(this[M(2496)]===null),this[M(1570)](P)},R.prototype[w(465)]=function(){var P=w,M=this[P(191)],L=this[P(2785)],F=L-(M+this[P(1864)])%L,k=new Array(F+this[P(1864)]);k[0]=128;for(var N=1;N<F;N++)k[N]=0;if(M<<=3,P(401)===this.endian){for(var G=8;G<this[P(1864)];G++)k[N++]=0;k[N++]=0,k[N++]=0,k[N++]=0,k[N++]=0,k[N++]=M>>>24&255,k[N++]=M>>>16&255,k[N++]=M>>>8&255,k[N++]=255&M}else for(k[N++]=255&M,k[N++]=M>>>8&255,k[N++]=M>>>16&255,k[N++]=M>>>24&255,k[N++]=0,k[N++]=0,k[N++]=0,k[N++]=0,G=8;G<this.padLength;G++)k[N++]=0;return k}},52344:(B,Q,T)=>{var w=Ut,S=T(26436),D=T(79746);function R(P,M,L){var F=Ut;if(!(this instanceof R))return new R(P,M,L);this.Hash=P,this[F(1992)]=P.blockSize/8,this[F(2036)]=P[F(2036)]/8,this[F(1438)]=null,this[F(2091)]=null,this[F(2151)](S.toArray(M,L))}(B[w(1729)]=R)[w(1166)][w(2151)]=function(P){var M=w;P[M(1383)]>this[M(1992)]&&(P=new this.Hash().update(P)[M(593)]()),D(P[M(1383)]<=this[M(1992)]);for(var L=P[M(1383)];L<this[M(1992)];L++)P[M(182)](0);for(L=0;L<P[M(1383)];L++)P[L]^=54;for(this[M(1438)]=new this[M(1675)]().update(P),L=0;L<P.length;L++)P[L]^=106;this[M(2091)]=new this[M(1675)]()[M(1002)](P)},R[w(1166)][w(1002)]=function(P,M){var L=w;return this[L(1438)][L(1002)](P,M),this},R[w(1166)].digest=function(P){var M=w;return this.outer[M(1002)](this[M(1438)][M(593)]()),this[M(2091)].digest(P)}},12949:(B,Q,D)=>{var w=Ut,S=D(26436),D=D(95772),R=S.rotl32,P=S[w(855)],M=S.sum32_3,L=S[w(2335)],F=D.BlockHash;function k(){var q=w;if(!(this instanceof k))return new k;F[q(2623)](this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this[q(2660)]=q(789)}function N(q,ee,ie,H){return q<=15?ee^ie^H:q<=31?ee&ie|~ee&H:q<=47?(ee|~ie)^H:q<=63?ee&H|ie&~H:ee^(ie|~H)}S[w(2256)](k,F),(Q[w(838)]=k)[w(1992)]=512,k.outSize=160,k.hmacStrength=192,k[w(1864)]=64,k[w(1166)][w(994)]=function(q,ee){for(var fe=H=this.h[0],Y=he=this.h[1],W=Ae=this.h[2],U=ue=this.h[3],ae=le=this.h[4],ie=0;ie<80;ie++)var ge=P(R(L(H,N(ie,he,Ae,ue),q[G[ie]+ee],ie<=15?0:ie<=31?1518500249:ie<=47?1859775393:ie<=63?2400959708:2840853838),K[ie]),le),H=le,le=ue,ue=R(Ae,10),Ae=he,he=ge,ge=P(R(L(fe,N(79-ie,Y,W,U),q[J[ie]+ee],ie<=15?1352829926:ie<=31?1548603684:ie<=47?1836072691:ie<=63?2053994217:0),X[ie]),ae),fe=ae,ae=U,U=R(W,10),W=Y,Y=ge;ge=M(this.h[1],Ae,U),this.h[1]=M(this.h[2],ue,ae),this.h[2]=M(this.h[3],le,fe),this.h[3]=M(this.h[4],H,Y),this.h[4]=M(this.h[0],he,W),this.h[0]=ge},k[w(1166)][w(1570)]=function(q){var ee=w;return ee(495)===q?S[ee(844)](this.h,ee(789)):S.split32(this.h,ee(789))};var G=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],J=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],K=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],X=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},89041:(B,Q,T)=>{var w=Ut;Q[w(1590)]=T(84761),Q[w(741)]=T(10799),Q.sha256=T(89344),Q[w(2678)]=T(80772),Q[w(720)]=T(45900)},84761:(B,Q,R)=>{var w=Ut,S=R(26436),D=R(95772),R=R(37038),P=S[w(576)],M=S.sum32,L=S[w(879)],F=R[w(1879)],k=D.BlockHash,N=[1518500249,1859775393,2400959708,3395469782];function G(){var J=w;if(!(this instanceof G))return new G;k[J(2623)](this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}S[w(2256)](G,k),(B.exports=G).blockSize=512,G[w(2036)]=160,G[w(306)]=80,G[w(1864)]=64,G.prototype[w(994)]=function(J,K){for(var X=w,q=this.W,ee=0;ee<16;ee++)q[ee]=J[K+ee];for(;ee<q[X(1383)];ee++)q[ee]=P(q[ee-3]^q[ee-8]^q[ee-14]^q[ee-16],1);for(var he=this.h[0],Ae=this.h[1],ue=this.h[2],le=this.h[3],H=this.h[4],ee=0;ee<q[X(1383)];ee++)var ie=~~(ee/20),ie=L(P(he,5),F(ie,Ae,ue,le),H,q[ee],N[ie]),H=le,le=ue,ue=P(Ae,30),Ae=he,he=ie;this.h[0]=M(this.h[0],he),this.h[1]=M(this.h[1],Ae),this.h[2]=M(this.h[2],ue),this.h[3]=M(this.h[3],le),this.h[4]=M(this.h[4],H)},G[w(1166)][w(1570)]=function(J){var K=w;return K(495)===J?S.toHex32(this.h,K(401)):S.split32(this.h,K(401))}},10799:(B,Q,T)=>{var w=Ut,S=T(26436),D=T(89344);function R(){var P=Ut;if(!(this instanceof R))return new R;D[P(2623)](this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}S.inherits(R,D),(B[w(1729)]=R)[w(1992)]=512,R[w(2036)]=224,R.hmacStrength=192,R.padLength=64,R[w(1166)][w(1570)]=function(P){var M=w;return M(495)===P?S.toHex32(this.h[M(2679)](0,7),M(401)):S[M(220)](this.h[M(2679)](0,7),M(401))}},89344:(B,Q,T)=>{var w=Ut,S=T(26436),D=T(95772),R=T(37038),P=T(79746),M=S.sum32,L=S[w(2335)],F=S[w(879)],k=R[w(2451)],N=R[w(1275)],G=R[w(1221)],J=R[w(853)],K=R[w(1817)],X=R[w(1059)],q=D[w(562)],ee=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function ie(){if(!(this instanceof ie))return new ie;q.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=ee,this.W=new Array(64)}S.inherits(ie,q),(B[w(1729)]=ie).blockSize=512,ie.outSize=256,ie[w(306)]=192,ie.padLength=64,ie.prototype[w(994)]=function(H,le){for(var ue=w,Ae=this.W,he=0;he<16;he++)Ae[he]=H[le+he];for(;he<Ae[ue(1383)];he++)Ae[he]=L(X(Ae[he-2]),Ae[he-7],K(Ae[he-15]),Ae[he-16]);var ge=this.h[0],fe=this.h[1],ae=this.h[2],U=this.h[3],W=this.h[4],Y=this.h[5],z=this.h[6],re=this.h[7];for(P(this.k[ue(1383)]===Ae[ue(1383)]),he=0;he<Ae.length;he++)var se=F(re,J(W),k(W,Y,z),this.k[he],Ae[he]),de=M(G(ge),N(ge,fe,ae)),re=z,z=Y,Y=W,W=M(U,se),U=ae,ae=fe,fe=ge,ge=M(se,de);this.h[0]=M(this.h[0],ge),this.h[1]=M(this.h[1],fe),this.h[2]=M(this.h[2],ae),this.h[3]=M(this.h[3],U),this.h[4]=M(this.h[4],W),this.h[5]=M(this.h[5],Y),this.h[6]=M(this.h[6],z),this.h[7]=M(this.h[7],re)},ie[w(1166)][w(1570)]=function(H){var le=w;return le(495)===H?S[le(844)](this.h,le(401)):S[le(220)](this.h,le(401))}},80772:(B,Q,T)=>{var w=Ut,S=T(26436),D=T(45900);function R(){var P=Ut;if(!(this instanceof R))return new R;D[P(2623)](this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}S[w(2256)](R,D),(B[w(1729)]=R)[w(1992)]=1024,R[w(2036)]=384,R.hmacStrength=192,R[w(1864)]=128,R.prototype[w(1570)]=function(P){var M=w;return M(495)===P?S[M(844)](this.h.slice(0,12),M(401)):S.split32(this.h[M(2679)](0,12),M(401))}},45900:(B,Q,T)=>{var w=Ut,S=T(26436),D=T(95772),R=T(79746),P=S[w(308)],M=S.rotr64_lo,L=S[w(1818)],F=S[w(2549)],k=S[w(911)],N=S[w(2360)],G=S[w(2056)],J=S.sum64_4_hi,K=S[w(892)],X=S[w(2450)],q=S[w(1484)],ee=D[w(562)],ie=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function H(){var le=w;if(!(this instanceof H))return new H;ee[le(2623)](this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=ie,this.W=new Array(160)}S[w(2256)](H,ee),(B.exports=H)[w(1992)]=1024,H[w(2036)]=512,H[w(306)]=192,H[w(1864)]=128,H[w(1166)]._prepareBlock=function(le,ue){for(var Ae=w,he=this.W,ge=0;ge<32;ge++)he[ge]=le[ue+ge];for(;ge<he[Ae(1383)];ge+=2){var fe=function(de,me){return de=P(de,me,19)^P(me,de,29)^L(de,me,6),de<0&&(de+=4294967296),de}(he[ge-4],he[ge-3]),ae=function(de,me){return de=M(de,me,19)^M(me,de,29)^F(de,me,6),de<0&&(de+=4294967296),de}(he[ge-4],he[ge-3]),U=he[ge-14],W=he[ge-13],Y=function(de,me){return de=P(de,me,1)^P(de,me,8)^L(de,me,7),de<0&&(de+=4294967296),de}(he[ge-30],he[ge-29]),z=function(de,me){return de=M(de,me,1)^M(de,me,8)^F(de,me,7),de<0&&(de+=4294967296),de}(he[ge-30],he[ge-29]),re=he[ge-32],se=he[ge-31];he[ge]=J(fe,ae,U,W,Y,z,re,se),he[ge+1]=K(fe,ae,U,W,Y,z,re,se)}},H[w(1166)][w(994)]=function(le,ue){var Ae=w;this[Ae(1515)](le,ue);var he=this.W,ge=this.h[0],fe=this.h[1],ae=this.h[2],U=this.h[3],W=this.h[4],Y=this.h[5],z=this.h[6],re=this.h[7],se=this.h[8],de=this.h[9],me=this.h[10],Ce=this.h[11],Ie=this.h[12],we=this.h[13],Te=this.h[14],Ge=this.h[15];R(this.k.length===he.length);for(var ke=0;ke<he[Ae(1383)];ke+=2){var Oe,et=Te,ot=Ge,Et=function(Ct,ct){return ct=P(Ct,ct,14)^P(Ct,ct,18)^P(ct,Ct,9),ct<0&&(ct+=4294967296),ct}(se,de),Le=function(Ct,ct){return ct=M(Ct,ct,14)^M(Ct,ct,18)^M(ct,Ct,9),ct<0&&(ct+=4294967296),ct}(se,de),be=(Xe=void 0,Xe=se&me^~se&Ie,Xe<0&&(Xe+=4294967296),Oe=void 0,Oe=de&Ce^~de&we,Oe<0&&(Oe+=4294967296),this.k[ke]),Ne=this.k[ke+1],Ue=he[ke],ze=he[ke+1],Je=X(et,ot,Et,Le,Xe,Oe,be,Ne,Ue,ze),Xe=q(et,ot,Et,Le,Xe,Oe,be,Ne,Ue,ze),et=function(Ct,ct){return ct=P(Ct,ct,28)^P(ct,Ct,2)^P(ct,Ct,7),ct<0&&(ct+=4294967296),ct}(ge,fe),ot=function(Ct,ct){return ct=M(Ct,ct,28)^M(ct,Ct,2)^M(ct,Ct,7),ct<0&&(ct+=4294967296),ct}(ge,fe),Et=(Oe=void 0,Oe=ge&ae^ge&W^ae&W,Oe<0&&(Oe+=4294967296),Oe);be=void 0,(be=fe&U^fe&Y^U&Y)<0&&(be+=4294967296),Ne=N(et,ot,Et,Le=be),Ue=G(et,ot,Et,Le),Te=Ie,Ge=we,Ie=me,we=Ce,me=se,Ce=de,se=N(z,re,Je,Xe),de=G(re,re,Je,Xe),z=W,re=Y,W=ae,Y=U,ae=ge,U=fe,ge=N(Je,Xe,Ne,Ue),fe=G(Je,Xe,Ne,Ue)}k(this.h,0,ge,fe),k(this.h,2,ae,U),k(this.h,4,W,Y),k(this.h,6,z,re),k(this.h,8,se,de),k(this.h,10,me,Ce),k(this.h,12,Ie,we),k(this.h,14,Te,Ge)},H.prototype[w(1570)]=function(le){var ue=w;return le==="hex"?S[ue(844)](this.h,ue(401)):S[ue(220)](this.h,ue(401))}},37038:(B,Q,T)=>{var w=Ut,S=T(26436)[w(2174)];function D(P,M,L){return P&M^~P&L}function R(P,M,L){return P&M^P&L^M&L}Q.ft_1=function(P,M,L,F){return P===0?D(M,L,F):P===1||P===3?M^L^F:P===2?R(M,L,F):void 0},Q[w(2451)]=D,Q[w(1275)]=R,Q[w(147)]=function(P,M,L){return P^M^L},Q[w(1221)]=function(P){return S(P,2)^S(P,13)^S(P,22)},Q[w(853)]=function(P){return S(P,6)^S(P,11)^S(P,25)},Q.g0_256=function(P){return S(P,7)^S(P,18)^P>>>3},Q.g1_256=function(P){return S(P,17)^S(P,19)^P>>>10}},26436:(B,Q,D)=>{var w=Ut,S=D(79746),D=D(35717);function R(L){return(L>>>24|L>>>8&65280|L<<8&16711680|(255&L)<<24)>>>0}function P(L){var F=Ut;return L[F(1383)]===1?"0"+L:L}function M(L){var F=Ut;return L.length===7?"0"+L:L.length===6?"00"+L:L.length===5?F(2453)+L:L[F(1383)]===4?F(1548)+L:L.length===3?F(1144)+L:L[F(1383)]===2?"000000"+L:L[F(1383)]===1?F(259)+L:L}Q[w(2256)]=D,Q[w(884)]=function(L,F){var k=w;if(Array.isArray(L))return L[k(2679)]();if(!L)return[];var N,G,J=[];if(k(1896)==typeof L)if(F){if(k(495)===F)for((L=L.replace(/[^a-z0-9]+/gi,""))[k(1383)]%2!=0&&(L="0"+L),X=0;X<L.length;X+=2)J[k(182)](parseInt(L[X]+L[X+1],16))}else for(var K=0,X=0;X<L[k(1383)];X++){var q=L[k(2010)](X);q<128?J[K++]=q:(q<2048?J[K++]=q>>6|192:(G=X,(64512&(N=L)[k(2010)](G))!=55296||G<0||G+1>=N[k(1383)]||(64512&N[k(2010)](G+1))!=56320?J[K++]=q>>12|224:(q=65536+((1023&q)<<10)+(1023&L[k(2010)](++X)),J[K++]=q>>18|240,J[K++]=q>>12&63|128),J[K++]=q>>6&63|128),J[K++]=63&q|128)}else for(X=0;X<L.length;X++)J[X]=0|L[X];return J},Q.toHex=function(L){for(var F=w,k="",N=0;N<L[F(1383)];N++)k+=P(L[N][F(1888)](16));return k},Q[w(2065)]=R,Q.toHex32=function(L,F){for(var k=w,N="",G=0;G<L[k(1383)];G++){var J=L[G];N+=M((J=k(789)===F?R(J):J)[k(1888)](16))}return N},Q[w(2448)]=P,Q[w(2198)]=M,Q[w(1707)]=function(L,F,k,N){for(var G=w,k=k-F,J=(S(k%4==0),new Array(k/4)),K=0,X=F;K<J[G(1383)];K++,X+=4){var q=N==="big"?L[X]<<24|L[X+1]<<16|L[X+2]<<8|L[X+3]:L[X+3]<<24|L[X+2]<<16|L[X+1]<<8|L[X];J[K]=q>>>0}return J},Q[w(220)]=function(L,F){for(var k=w,N=new Array(4*L[k(1383)]),G=0,J=0;G<L[k(1383)];G++,J+=4){var K=L[G];k(401)===F?(N[J]=K>>>24,N[J+1]=K>>>16&255,N[J+2]=K>>>8&255,N[J+3]=255&K):(N[J+3]=K>>>24,N[J+2]=K>>>16&255,N[J+1]=K>>>8&255,N[J]=255&K)}return N},Q[w(2174)]=function(L,F){return L>>>F|L<<32-F},Q.rotl32=function(L,F){return L<<F|L>>>32-F},Q[w(855)]=function(L,F){return L+F>>>0},Q[w(686)]=function(L,F,k){return L+F+k>>>0},Q.sum32_4=function(L,F,k,N){return L+F+k+N>>>0},Q[w(879)]=function(L,F,k,N,G){return L+F+k+N+G>>>0},Q[w(911)]=function(L,F,k,N){var G=L[F],J=N+L[F+1]>>>0;L[F]=(J<N?1:0)+k+G>>>0,L[F+1]=J},Q[w(2360)]=function(L,F,k,N){return(F+N>>>0<F?1:0)+L+k>>>0},Q[w(2056)]=function(L,F,k,N){return F+N>>>0},Q[w(2202)]=function(L,F,k,N,G,J,K,X){var q=0;return L+k+G+K+((q+=(L=F+N>>>0)<F?1:0)+((L=L+J>>>0)<J?1:0)+(L+X>>>0<X?1:0))>>>0},Q[w(892)]=function(L,F,k,N,G,J,K,X){return F+N+J+X>>>0},Q[w(2450)]=function(L,F,k,N,G,J,K,X,q,ee){return L+k+G+K+q+(0+((L=F+N>>>0)<F?1:0)+((L=L+J>>>0)<J?1:0)+((L=L+X>>>0)<X?1:0)+(L+ee>>>0<ee?1:0))>>>0},Q.sum64_5_lo=function(L,F,k,N,G,J,K,X,q,ee){return F+N+J+X+ee>>>0},Q[w(308)]=function(L,F,k){return(F<<32-k|L>>>k)>>>0},Q[w(2737)]=function(L,F,k){return(L<<32-k|F>>>k)>>>0},Q[w(1818)]=function(L,F,k){return L>>>k},Q[w(2549)]=function(L,F,k){return(L<<32-k|F>>>k)>>>0}},2156:(B,Q,T)=>{var w=Ut,S=T(33715),D=T(34504),R=T(79746);function P(N){var L=Ut;if(!(this instanceof P))return new P(N);this[L(658)]=N.hash,this[L(850)]=!!N[L(850)],this[L(2554)]=this.hash[L(2036)],this[L(747)]=N[L(747)]||this[L(658)][L(306)],this[L(1807)]=null,this[L(1430)]=null,this.K=null,this.V=null;var F=D[L(884)](N[L(1225)],N[L(2617)]||L(495)),k=D[L(884)](N[L(200)],N[L(945)]||L(495)),N=D[L(884)](N.pers,N[L(1931)]||L(495));R(F[L(1383)]>=this[L(747)]/8,L(1092)+this[L(747)]+L(2706)),this[L(2151)](F,k,N)}(B.exports=P)[w(1166)][w(2151)]=function(M,L,F){var k=w;M=M[k(1544)](L)[k(1544)](F),this.K=new Array(this[k(2554)]/8),this.V=new Array(this.outLen/8);for(var N=0;N<this.V.length;N++)this.K[N]=0,this.V[N]=1;this[k(994)](M),this[k(1807)]=1,this.reseedInterval=281474976710656},P[w(1166)][w(535)]=function(){var M=w;return new S[M(1646)](this.hash,this.K)},P[w(1166)][w(994)]=function(M){var L=w,F=this[L(535)]()[L(1002)](this.V)[L(1002)]([0]);M&&(F=F[L(1002)](M)),this.K=F[L(593)](),this.V=this._hmac().update(this.V).digest(),M&&(this.K=this._hmac().update(this.V).update([1])[L(1002)](M)[L(593)](),this.V=this[L(535)]().update(this.V)[L(593)]())},P.prototype[w(128)]=function(M,L,F,k){var N=w;typeof L!="string"&&(k=F,F=L,L=null),M=D[N(884)](M,L),F=D.toArray(F,k),R(M.length>=this[N(747)]/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this[N(994)](M.concat(F||[])),this[N(1807)]=1},P[w(1166)][w(2647)]=function(M,L,F,k){var N=w;if(this[N(1807)]>this[N(1430)])throw new Error(N(185));typeof L!="string"&&(k=F,F=L,L=null),F&&(F=D[N(884)](F,k||N(495)),this[N(994)](F));for(var G=[];G.length<M;)this.V=this[N(535)]()[N(1002)](this.V).digest(),G=G[N(1544)](this.V);return k=G[N(2679)](0,M),this._update(F),this[N(1807)]++,D[N(2371)](k,L)}},80645:(B,Q)=>{var T=Ut;Q[T(969)]=function(w,S,D,R,q){var M=T,L,F,k=8*q-R-1,N=(1<<k)-1,G=N>>1,J=-7,K=D?q-1:0,X=D?-1:1,q=w[S+K];for(K+=X,L=q&(1<<-J)-1,q>>=-J,J+=k;0<J;L=256*L+w[S+K],K+=X,J-=8);for(F=L&(1<<-J)-1,L>>=-J,J+=R;0<J;F=256*F+w[S+K],K+=X,J-=8);if(L===0)L=1-G;else{if(L===N)return F?NaN:1/0*(q?-1:1);F+=Math[M(337)](2,R),L-=G}return(q?-1:1)*F*Math[M(337)](2,L-R)},Q[T(2430)]=function(w,S,D,R,P,ee){var L=T,F,k,N=8*ee-P-1,G=(1<<N)-1,J=G>>1,K=P===23?Math[L(337)](2,-24)-Math[L(337)](2,-77):0,X=R?0:ee-1,q=R?1:-1,ee=S<0||S===0&&1/S<0?1:0;for(S=Math[L(1914)](S),isNaN(S)||S===1/0?(k=isNaN(S)?1:0,F=G):(F=Math[L(1194)](Math[L(196)](S)/Math[L(1202)]),S*(R=Math[L(337)](2,-F))<1&&(F--,R*=2),2<=(S+=1<=F+J?K/R:K*Math[L(337)](2,1-J))*R&&(F++,R/=2),G<=F+J?(k=0,F=G):1<=F+J?(k=(S*R-1)*Math[L(337)](2,P),F+=J):(k=S*Math[L(337)](2,J-1)*Math.pow(2,P),F=0));8<=P;w[D+X]=255&k,X+=q,k/=256,P-=8);for(F=F<<P|k,N+=P;0<N;w[D+X]=255&F,X+=q,F/=256,N-=8);w[D+X-q]|=128*ee}},35717:B=>{var Q=Ut;typeof Object[Q(917)]=="function"?B.exports=function(T,w){var S=Q;w&&(T[S(1455)]=w,T[S(1166)]=Object.create(w[S(1166)],{constructor:{value:T,enumerable:!1,writable:!0,configurable:!0}}))}:B[Q(1729)]=function(T,w){var S=Q,D;w&&(T[S(1455)]=w,(D=function(){})[S(1166)]=w[S(1166)],T[S(1166)]=new D,T[S(1166)][S(2267)]=T)}},82584:(B,Q,M)=>{var w=Ut;function S(L){var F=Ut;return!(R&&L&&typeof L=="object"&&Symbol[F(2064)]in L)&&F(889)===P(L)}function D(L){var F=Ut;return!!S(L)||L!==null&&F(1499)==typeof L&&F(2013)==typeof L[F(1383)]&&0<=L.length&&P(L)!=="[object Array]"&&P(L[F(2055)])==="[object Function]"}var R=M(96410)(),P=M(21924)("Object.prototype.toString"),M=function(){return S(arguments)}();S[w(1664)]=D,B[w(1729)]=M?S:D},95320:B=>{var Q=Ut,T,w,S=Function.prototype[Q(1888)],D=Q(1499)==typeof Reflect&&Reflect!==null&&Reflect.apply;if(Q(1451)==typeof D&&Q(1451)==typeof Object[Q(1844)])try{T=Object.defineProperty({},"length",{get:function(){throw w}}),w={},D(function(){throw 42},null,T)}catch(G){G!==w&&(D=null)}else D=null;function R(G){var J=Q;try{var K=S.call(G);return M[J(1172)](K)}catch{return}}function P(G){try{return!R(G)&&(S.call(G),!0)}catch{return!1}}var M=/^\s*class\b/,L=Object.prototype[Q(1888)],F=Q(1451)==typeof Symbol&&!!Symbol[Q(2064)],k=!(0 in[,]),N=function(){return!1};typeof document=="object"&&L[Q(2623)](document[Q(743)])===L.call(document[Q(743)])&&(N=function(G){var J=Q;if(!(!k&&G||G!==void 0&&J(1499)!=typeof G))try{var K=L[J(2623)](G);return(J(1555)===K||J(976)===K||J(847)===K||J(2071)===K)&&G("")==null}catch{}return!1}),B[Q(1729)]=D?function(G){var J=Q;if(N(G))return!0;if(!G||J(1451)!=typeof G&&J(1499)!=typeof G)return!1;try{D(G,null,T)}catch(K){if(K!==w)return!1}return!R(G)&&P(G)}:function(G){var J=Q;if(N(G))return!0;if(!G||typeof G!="function"&&J(1499)!=typeof G)return!1;if(F)return P(G);if(R(G))return!1;var K=L[J(2623)](G);return!(K!=="[object Function]"&&K!=="[object GeneratorFunction]"&&!/^\[object HTML/[J(1172)](K))&&P(G)}},48662:(B,Q,T)=>{var w=Ut,S,D=Object.prototype[w(1888)],R=Function[w(1166)][w(1888)],P=/^\s*(?:function)?\*/,M=T(96410)(),L=Object[w(905)];B[w(1729)]=function(F){var k=w;return!(k(1451)!=typeof F||!P[k(1172)](R.call(F))&&(M?!L||(S===void 0&&(N=function(){var G=k;if(!M)return!1;try{return Function(G(1471))()}catch{}}(),S=!!N&&L(N)),L(F)!==S):k(533)!==D.call(F)));var N}},98611:B=>{var Q=Ut;B[Q(1729)]=function(T){return T!=T}},20360:(B,Q,P)=>{var w=Ut,M=P(55559),S=P(4289),D=P(98611),R=P(29415),P=P(23194),M=M(R(),Number);S(M,{getPolyfill:R,implementation:D,shim:P}),B[w(1729)]=M},29415:(B,Q,T)=>{var w=Ut,S=T(98611);B[w(1729)]=function(){var D=w;return Number[D(1926)]&&Number[D(1926)](NaN)&&!Number[D(1926)]("a")?Number.isNaN:S}},23194:(B,Q,T)=>{var w=Ut,S=T(4289),D=T(29415);B[w(1729)]=function(){var R=D();return S(Number,{isNaN:R},{isNaN:function(){var P=Ut;return Number[P(1926)]!==R}}),R}},85692:(B,Q,T)=>{var w=Ut,S=T(94029),D=T(16314),R=T(21924),P=R(w(869)),M=T(96410)(),L=T(27296),F=w(1506)==typeof globalThis?T.g:globalThis,k=D(),N=R("Array.prototype.indexOf",!0)||function(X,q){for(var ee=w,ie=0;ie<X[ee(1383)];ie+=1)if(X[ie]===q)return ie;return-1},G=R(w(2160)),J={},K=Object[w(905)];M&&L&&K&&S(k,function(X){var q=w,ee,ie=new F[X];Symbol[q(2064)]in ie&&(ie=K(ie),(ee=L(ie,Symbol[q(2064)]))||(ie=K(ie),ee=L(ie,Symbol.toStringTag)),J[X]=ee.get)}),B[w(1729)]=function(X){var q=w;return!(!X||q(1499)!=typeof X)&&(M&&Symbol[q(2064)]in X?!!L&&(ee=X,ie=!1,S(J,function(H,le){var ue=q;if(!ie)try{ie=H[ue(2623)](ee)===le}catch{}}),ie):(X=G(P(X),8,-1),-1<N(k,X)));var ee,ie}},62318:(B,Q,T)=>{var w=Ut,S=T(35717),D=T(3349),R=T(89509)[w(1641)],P=new Array(16);function M(){D.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function L(J,K){return J<<K|J>>>32-K}function F(J,K,X,q,ee,ie,H){return L(J+(K&X|~K&q)+ee+ie|0,H)+K|0}function k(J,K,X,q,ee,ie,H){return L(J+(K&q|X&~q)+ee+ie|0,H)+K|0}function N(J,K,X,q,ee,ie,H){return L(J+(K^X^q)+ee+ie|0,H)+K|0}function G(J,K,X,q,ee,ie,H){return L(J+(X^(K|~q))+ee+ie|0,H)+K|0}S(M,D),M[w(1166)][w(994)]=function(){for(var J=w,K=P,X=0;X<16;++X)K[X]=this[J(2786)][J(1117)](4*X);var q=F(this._a,H=this._b,ie=this._c,ee=this._d,K[0],3614090360,7),ee=F(ee,q,H,ie,K[1],3905402710,12),ie=F(ie,ee,q,H,K[2],606105819,17),H=F(H,ie,ee,q,K[3],3250441966,22),q=F(q,H,ie,ee,K[4],4118548399,7),ee=F(ee,q,H,ie,K[5],1200080426,12),ie=F(ie,ee,q,H,K[6],2821735955,17),H=F(H,ie,ee,q,K[7],4249261313,22);q=F(q,H,ie,ee,K[8],1770035416,7),ee=F(ee,q,H,ie,K[9],2336552879,12),ie=F(ie,ee,q,H,K[10],4294925233,17),H=F(H,ie,ee,q,K[11],2304563134,22),q=F(q,H,ie,ee,K[12],1804603682,7),ee=F(ee,q,H,ie,K[13],4254626195,12),ie=F(ie,ee,q,H,K[14],2792965006,17),q=k(q,H=F(H,ie,ee,q,K[15],1236535329,22),ie,ee,K[1],4129170786,5),ee=k(ee,q,H,ie,K[6],3225465664,9),ie=k(ie,ee,q,H,K[11],643717713,14),H=k(H,ie,ee,q,K[0],3921069994,20),q=k(q,H,ie,ee,K[5],3593408605,5),ee=k(ee,q,H,ie,K[10],38016083,9),ie=k(ie,ee,q,H,K[15],3634488961,14),H=k(H,ie,ee,q,K[4],3889429448,20),q=k(q,H,ie,ee,K[9],568446438,5),ee=k(ee,q,H,ie,K[14],3275163606,9),ie=k(ie,ee,q,H,K[3],4107603335,14),H=k(H,ie,ee,q,K[8],1163531501,20),q=k(q,H,ie,ee,K[13],2850285829,5),ee=k(ee,q,H,ie,K[2],4243563512,9),ie=k(ie,ee,q,H,K[7],1735328473,14),q=N(q,H=k(H,ie,ee,q,K[12],2368359562,20),ie,ee,K[5],4294588738,4),ee=N(ee,q,H,ie,K[8],2272392833,11),ie=N(ie,ee,q,H,K[11],1839030562,16),H=N(H,ie,ee,q,K[14],4259657740,23),q=N(q,H,ie,ee,K[1],2763975236,4),ee=N(ee,q,H,ie,K[4],1272893353,11),ie=N(ie,ee,q,H,K[7],4139469664,16),H=N(H,ie,ee,q,K[10],3200236656,23),q=N(q,H,ie,ee,K[13],681279174,4),ee=N(ee,q,H,ie,K[0],3936430074,11),ie=N(ie,ee,q,H,K[3],3572445317,16),H=N(H,ie,ee,q,K[6],76029189,23),q=N(q,H,ie,ee,K[9],3654602809,4),ee=N(ee,q,H,ie,K[12],3873151461,11),ie=N(ie,ee,q,H,K[15],530742520,16),q=G(q,H=N(H,ie,ee,q,K[2],3299628645,23),ie,ee,K[0],4096336452,6),ee=G(ee,q,H,ie,K[7],1126891415,10),ie=G(ie,ee,q,H,K[14],2878612391,15),H=G(H,ie,ee,q,K[5],4237533241,21),q=G(q,H,ie,ee,K[12],1700485571,6),ee=G(ee,q,H,ie,K[3],2399980690,10),ie=G(ie,ee,q,H,K[10],4293915773,15),H=G(H,ie,ee,q,K[1],2240044497,21),q=G(q,H,ie,ee,K[8],1873313359,6),ee=G(ee,q,H,ie,K[15],4264355552,10),ie=G(ie,ee,q,H,K[6],2734768916,15),H=G(H,ie,ee,q,K[13],1309151649,21),q=G(q,H,ie,ee,K[4],4149444226,6),ee=G(ee,q,H,ie,K[11],3174756917,10),ie=G(ie,ee,q,H,K[2],718787259,15),H=G(H,ie,ee,q,K[9],3951481745,21),this._a=this._a+q|0,this._b=this._b+H|0,this._c=this._c+ie|0,this._d=this._d+ee|0},M.prototype[w(1570)]=function(){var J=w;this[J(2786)][this[J(1608)]++]=128,56<this._blockOffset&&(this._block[J(1371)](0,this._blockOffset,64),this[J(994)](),this._blockOffset=0),this[J(2786)].fill(0,this._blockOffset,56),this[J(2786)][J(1501)](this[J(2521)][0],56),this[J(2786)].writeUInt32LE(this[J(2521)][1],60),this._update();var K=R.allocUnsafe(16);return K[J(897)](this._a,0),K[J(897)](this._b,4),K[J(897)](this._c,8),K[J(897)](this._d,12),K},B[w(1729)]=M},63047:(B,Q,T)=>{var w=Ut,S=T(96240),D=T(29931);function R(P){var M=Ut;this[M(1227)]=P||new D[M(549)]}(B[w(1729)]=R)[w(917)]=function(P){return new R(P)},R[w(1166)][w(157)]=function(P){var M=w,L=P[M(485)](),F=Math[M(1266)](L/8);do var k=new S(this[M(1227)][M(2647)](F));while(0<=k.cmp(P));return k},R[w(1166)][w(1667)]=function(P,M){var L=w;return M=M[L(1550)](P),P[L(2400)](this[L(157)](M))},R[w(1166)][w(1172)]=function(P,M,L){for(var F=w,k=P[F(485)](),N=S.mont(P),G=new S(1).toRed(N),J=(M=M||Math[F(323)](1,k/48|0),P[F(160)](1)),K=0;!J[F(901)](K);K++);for(var X=P[F(1527)](K),q=J[F(1190)](N);0<M;M--){var ee=this[F(1667)](new S(2),J),ie=(L&&L(ee),ee[F(1190)](N).redPow(X));if(ie.cmp(G)!==0&&ie[F(526)](q)!==0){for(var H=1;H<K;H++){if((ie=ie[F(1533)]())[F(526)](G)===0)return!1;if(ie[F(526)](q)===0)break}if(H===K)return!1}}return!0},R.prototype.getDivisor=function(P,M){for(var L=w,F=P[L(485)](),k=S[L(2129)](P),N=new S(1).toRed(k),G=(M=M||Math.max(1,F/48|0),P[L(160)](1)),J=0;!G.testn(J);J++);for(var K=P[L(1527)](J),X=G[L(1190)](k);0<M;M--){var q=this[L(1667)](new S(2),G),ee=P[L(2011)](q);if(ee[L(1329)](1)!==0)return ee;var ie=q[L(1190)](k)[L(1396)](K);if(ie[L(526)](N)!==0&&ie[L(526)](X)!==0){for(var H=1;H<J;H++){if((ie=ie[L(1533)]()).cmp(N)===0)return ie[L(1642)]()[L(160)](1).gcd(P);if(ie[L(526)](X)===0)break}if(H===J)return(ie=ie.redSqr())[L(1642)]()[L(160)](1)[L(2011)](P)}}return!1}},96240:function(B,Q,T){(function(w){"use strict";var S=Ut;function D(ae,U){var W=Ut;if(!ae)throw new Error(U||W(1719))}function R(ae,U){var W=Ut;function Y(){}ae.super_=U,Y[W(1166)]=U.prototype,ae[W(1166)]=new Y,ae[W(1166)][W(2267)]=ae}function P(ae,U,W){var Y=Ut;if(P[Y(1346)](ae))return ae;this[Y(493)]=0,this[Y(660)]=null,this[Y(1383)]=0,(this[Y(2178)]=null)!==ae&&(U!=="le"&&U!=="be"||(W=U,U=10),this[Y(2151)](ae||0,U||10,W||"be"))}var M;S(1499)==typeof B?B[S(1729)]=P:w.BN=P,(P.BN=P)[S(883)]=26;try{M=(S(1506)!=typeof window&&window.Buffer!==void 0?window:T(56619))[S(1641)]}catch{}function L(ae,U){var W=S;return ae=ae[W(2010)](U),65<=ae&&ae<=70?ae-55:97<=ae&&ae<=102?ae-87:ae-48&15}function F(ae,U,W){var Y=L(ae,W);return U<=W-1&&(Y|=L(ae,W-1)<<4),Y}function k(ae,U,W,Y){for(var z=S,me=0,re=Math.min(ae[z(1383)],W),se=U;se<re;se++)var de=ae[z(2010)](se)-48,me=me*Y+(49<=de?de-49+10:17<=de?de-17+10:de);return me}P.isBN=function(ae){var U=S;return ae instanceof P||ae!==null&&typeof ae=="object"&&ae.constructor[U(883)]===P[U(883)]&&Array[U(2507)](ae[U(660)])},P.max=function(ae,U){var W=S;return 0<ae[W(526)](U)?ae:U},P[S(1869)]=function(ae,U){var W=S;return ae[W(526)](U)<0?ae:U},P.prototype[S(2151)]=function(ae,U,W){var Y=S;if(Y(2013)==typeof ae)return this[Y(1763)](ae,U,W);if(typeof ae=="object")return this[Y(1263)](ae,U,W);D((U=Y(495)===U?16:U)===(0|U)&&2<=U&&U<=36);var z=0;(ae=ae[Y(1888)]()[Y(1850)](/\s+/g,""))[0]==="-"&&(z++,this[Y(493)]=1),z<ae.length&&(U===16?this._parseHex(ae,z,W):(this._parseBase(ae,U,z),W==="le"&&this[Y(1263)](this[Y(884)](),U,W)))},P[S(1166)]._initNumber=function(ae,U,W){var Y=S;ae<0&&(this.negative=1,ae=-ae),ae<67108864?(this.words=[67108863&ae],this[Y(1383)]=1):ae<4503599627370496?(this[Y(660)]=[67108863&ae,ae/67108864&67108863],this.length=2):(D(ae<9007199254740992),this[Y(660)]=[67108863&ae,ae/67108864&67108863,1],this[Y(1383)]=3),W==="le"&&this._initArray(this.toArray(),U,W)},P.prototype._initArray=function(ae,U,W){var Y=S;if(D(Y(2013)==typeof ae[Y(1383)]),ae[Y(1383)]<=0)return this[Y(660)]=[0],this.length=1,this;this.length=Math[Y(1266)](ae[Y(1383)]/3),this.words=new Array(this.length);for(var z,re,se=0;se<this[Y(1383)];se++)this.words[se]=0;var de=0;if(W==="be")for(se=ae[Y(1383)]-1,z=0;0<=se;se-=3)re=ae[se]|ae[se-1]<<8|ae[se-2]<<16,this[Y(660)][z]|=re<<de&67108863,this[Y(660)][z+1]=re>>>26-de&67108863,26<=(de+=24)&&(de-=26,z++);else if(W==="le")for(z=se=0;se<ae[Y(1383)];se+=3)re=ae[se]|ae[se+1]<<8|ae[se+2]<<16,this[Y(660)][z]|=re<<de&67108863,this[Y(660)][z+1]=re>>>26-de&67108863,26<=(de+=24)&&(de-=26,z++);return this[Y(968)]()},P[S(1166)][S(260)]=function(ae,U,W){var Y=S;this.length=Math[Y(1266)]((ae[Y(1383)]-U)/6),this.words=new Array(this[Y(1383)]);for(var z=0;z<this.length;z++)this[Y(660)][z]=0;var re,se=0,de=0;if(W==="be")for(z=ae[Y(1383)]-1;U<=z;z-=2)re=F(ae,U,z)<<se,this.words[de]|=67108863&re,18<=se?(se-=18,this.words[de+=1]|=re>>>26):se+=8;else for(z=(ae[Y(1383)]-U)%2==0?U+1:U;z<ae[Y(1383)];z+=2)re=F(ae,U,z)<<se,this.words[de]|=67108863&re,18<=se?(se-=18,this[Y(660)][de+=1]|=re>>>26):se+=8;this[Y(968)]()},P[S(1166)][S(1834)]=function(ae,U,W){var Y=S;this[Y(660)]=[0];for(var z=0,re=this[Y(1383)]=1;re<=67108863;re*=U)z++;for(var re=re/U|0,se=ae[Y(1383)]-W,de=se%--z,me=Math[Y(1869)](se,se-de)+W,Ce=0,Ie=W;Ie<me;Ie+=z)Ce=k(ae,Ie,Ie+z,U),this[Y(683)](re),this.words[0]+Ce<67108864?this[Y(660)][0]+=Ce:this._iaddn(Ce);if(de!=0){for(var we=1,Ce=k(ae,Ie,ae.length,U),Ie=0;Ie<de;Ie++)we*=U;this.imuln(we),this[Y(660)][0]+Ce<67108864?this[Y(660)][0]+=Ce:this._iaddn(Ce)}this.strip()},P.prototype.copy=function(ae){var U=S;ae[U(660)]=new Array(this[U(1383)]);for(var W=0;W<this[U(1383)];W++)ae[U(660)][W]=this[U(660)][W];ae.length=this[U(1383)],ae[U(493)]=this[U(493)],ae[U(2178)]=this[U(2178)]},P[S(1166)][S(2164)]=function(){var ae=S,U=new P(null);return this[ae(1830)](U),U},P[S(1166)]._expand=function(ae){for(var U=S;this.length<ae;)this[U(660)][this[U(1383)]++]=0;return this},P[S(1166)][S(968)]=function(){for(var ae=S;1<this.length&&this[ae(660)][this.length-1]===0;)this[ae(1383)]--;return this[ae(1049)]()},P.prototype._normSign=function(){var ae=S;return this[ae(1383)]===1&&this[ae(660)][0]===0&&(this.negative=0),this},P.prototype[S(1035)]=function(){var ae=S;return(this[ae(2178)]?ae(523):ae(780))+this[ae(1888)](16)+">"};var N=["","0","00",S(2453),"0000","00000",S(536),S(259),S(178),"000000000",S(1668),S(2680),S(1365),S(1062),S(1640),S(313),S(438),S(1270),S(767),"0000000000000000000",S(1048),S(2229),S(2042),"00000000000000000000000",S(548),S(2157)],G=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],J=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function K(ae,U,W){var Y=S;W[Y(493)]=U[Y(493)]^ae[Y(493)];var z=ae[Y(1383)]+U[Y(1383)]|0,z=(W[Y(1383)]=z)-1|0,re=(de=(0|ae[Y(660)][0])*(0|U[Y(660)][0]))/67108864|0;W[Y(660)][0]=67108863&de;for(var se=1;se<z;se++){for(var de,me=re>>>26,Ce=67108863&re,Ie=Math[Y(1869)](se,U[Y(1383)]-1),we=Math[Y(323)](0,se-ae[Y(1383)]+1);we<=Ie;we++)me+=(de=(0|ae[Y(660)][se-we|0])*(0|U[Y(660)][we])+Ce)/67108864|0,Ce=67108863&de;W[Y(660)][se]=0|Ce,re=0|me}return re!==0?W[Y(660)][se]=0|re:W[Y(1383)]--,W.strip()}P[S(1166)][S(1888)]=function(ae,U){var W=S;if(U=0|U||1,(ae=ae||10)===16||W(495)===ae){for(var Y="",z=0,re=0,se=0;se<this[W(1383)];se++){var de=this[W(660)][se],me=(16777215&(de<<z|re))[W(1888)](16),Y=(re=de>>>24-z&16777215)!=0||se!==this[W(1383)]-1?N[6-me.length]+me+Y:me+Y;26<=(z+=2)&&(z-=26,se--)}for(re!==0&&(Y=re[W(1888)](16)+Y);Y[W(1383)]%U!=0;)Y="0"+Y;return this.negative!==0?"-"+Y:Y}if(ae===(0|ae)&&2<=ae&&ae<=36){var Ce=G[ae],Ie=J[ae];for(Y="",(we=this[W(2164)]())[W(493)]=0;!we[W(2356)]();){var we,Te=we.modn(Ie)[W(1888)](ae);Y=(we=we[W(2593)](Ie))[W(2356)]()?Te+Y:N[Ce-Te.length]+Te+Y}for(this[W(2356)]()&&(Y="0"+Y);Y.length%U!=0;)Y="0"+Y;return this[W(493)]!==0?"-"+Y:Y}D(!1,W(1731))},P[S(1166)][S(1312)]=function(){var ae=S,U=this[ae(660)][0];return this[ae(1383)]===2?U+=67108864*this[ae(660)][1]:this[ae(1383)]===3&&this[ae(660)][2]===1?U+=4503599627370496+67108864*this[ae(660)][1]:2<this[ae(1383)]&&D(!1,ae(1421)),this.negative!==0?-U:U},P[S(1166)][S(2639)]=function(){var ae=S;return this[ae(1888)](16)},P[S(1166)][S(295)]=function(ae,U){var W=S;return D(M!==void 0),this[W(1299)](M,ae,U)},P[S(1166)].toArray=function(ae,U){var W=S;return this[W(1299)](Array,ae,U)},P.prototype[S(1299)]=function(ae,U,me){var Y=S,z,re,se=this[Y(250)](),de=me||Math[Y(323)](1,se),me=(D(se<=de,"byte array longer than desired length"),D(0<de,Y(1881)),this[Y(968)](),U==="le"),Ce=new ae(de),Ie=this[Y(2164)]();if(me){for(re=0;!Ie[Y(2356)]();re++)z=Ie[Y(329)](255),Ie[Y(1487)](8),Ce[re]=z;for(;re<de;re++)Ce[re]=0}else{for(re=0;re<de-se;re++)Ce[re]=0;for(re=0;!Ie[Y(2356)]();re++)z=Ie[Y(329)](255),Ie[Y(1487)](8),Ce[de-re-1]=z}return Ce},Math[S(207)]?P.prototype[S(623)]=function(ae){var U=S;return 32-Math[U(207)](ae)}:P.prototype[S(623)]=function(ae){var U=0;return 4096<=ae&&(U+=13,ae>>>=13),64<=ae&&(U+=7,ae>>>=7),8<=ae&&(U+=4,ae>>>=4),2<=ae&&(U+=2,ae>>>=2),U+ae},P[S(1166)]._zeroBits=function(ae){if(ae===0)return 26;var U=0;return(8191&ae)==0&&(U+=13,ae>>>=13),(127&ae)==0&&(U+=7,ae>>>=7),(15&ae)==0&&(U+=4,ae>>>=4),(3&ae)==0&&(U+=2,ae>>>=2),(1&ae)==0&&U++,U},P[S(1166)][S(485)]=function(){var ae=S,U=this[ae(660)][this.length-1],U=this[ae(623)](U);return 26*(this.length-1)+U},P[S(1166)][S(1820)]=function(){var ae=S;if(this.isZero())return 0;for(var U=0,W=0;W<this[ae(1383)];W++){var Y=this[ae(1095)](this.words[W]);if(U+=Y,Y!==26)break}return U},P[S(1166)][S(250)]=function(){var ae=S;return Math[ae(1266)](this[ae(485)]()/8)},P.prototype[S(180)]=function(ae){var U=S;return this[U(493)]!==0?this.abs()[U(2519)](ae)[U(2695)](1):this[U(2164)]()},P[S(1166)].fromTwos=function(ae){var U=S;return this.testn(ae-1)?this[U(516)](ae)[U(2695)](1)[U(919)]():this[U(2164)]()},P[S(1166)][S(2797)]=function(){return this.negative!==0},P[S(1166)][S(828)]=function(){return this.clone().ineg()},P[S(1166)][S(919)]=function(){var ae=S;return this[ae(2356)]()||(this[ae(493)]^=1),this},P[S(1166)][S(776)]=function(ae){for(var U=S;this[U(1383)]<ae[U(1383)];)this[U(660)][this[U(1383)]++]=0;for(var W=0;W<ae[U(1383)];W++)this[U(660)][W]=this.words[W]|ae[U(660)][W];return this[U(968)]()},P.prototype[S(699)]=function(ae){var U=S;return D((this[U(493)]|ae[U(493)])==0),this[U(776)](ae)},P.prototype.or=function(ae){var U=S;return this[U(1383)]>ae[U(1383)]?this[U(2164)]()[U(699)](ae):ae[U(2164)]()[U(699)](this)},P[S(1166)].uor=function(ae){var U=S;return this[U(1383)]>ae[U(1383)]?this[U(2164)]()[U(776)](ae):ae[U(2164)]().iuor(this)},P[S(1166)][S(709)]=function(ae){for(var U=S,W=this[U(1383)]>ae[U(1383)]?ae:this,Y=0;Y<W[U(1383)];Y++)this[U(660)][Y]=this[U(660)][Y]&ae[U(660)][Y];return this.length=W[U(1383)],this[U(968)]()},P.prototype[S(560)]=function(ae){var U=S;return D((this[U(493)]|ae[U(493)])==0),this[U(709)](ae)},P[S(1166)].and=function(ae){var U=S;return this.length>ae[U(1383)]?this[U(2164)]().iand(ae):ae[U(2164)]()[U(560)](this)},P[S(1166)].uand=function(ae){var U=S;return this[U(1383)]>ae[U(1383)]?this[U(2164)]().iuand(ae):ae[U(2164)]()[U(709)](this)},P.prototype.iuxor=function(ae){for(var U=S,W,Y=this.length>ae[U(1383)]?(W=this,ae):(W=ae,this),z=0;z<Y.length;z++)this.words[z]=W[U(660)][z]^Y[U(660)][z];if(this!==W)for(;z<W[U(1383)];z++)this[U(660)][z]=W.words[z];return this[U(1383)]=W[U(1383)],this[U(968)]()},P.prototype[S(1283)]=function(ae){var U=S;return D((this[U(493)]|ae[U(493)])==0),this[U(2796)](ae)},P[S(1166)].xor=function(ae){var U=S;return this[U(1383)]>ae.length?this.clone()[U(1283)](ae):ae[U(2164)]().ixor(this)},P[S(1166)][S(2024)]=function(ae){var U=S;return this[U(1383)]>ae.length?this[U(2164)]()[U(2796)](ae):ae.clone()[U(2796)](this)},P[S(1166)][S(2519)]=function(Y){var U=S;D(U(2013)==typeof Y&&0<=Y);var W=0|Math[U(1266)](Y/26),Y=Y%26;this[U(159)](W),0<Y&&W--;for(var z=0;z<W;z++)this.words[z]=67108863&~this[U(660)][z];return 0<Y&&(this[U(660)][z]=~this[U(660)][z]&67108863>>26-Y),this[U(968)]()},P.prototype[S(516)]=function(ae){var U=S;return this[U(2164)]()[U(2519)](ae)},P[S(1166)][S(237)]=function(z,U){var W=S;D(typeof z=="number"&&0<=z);var Y=z/26|0,z=z%26;return this._expand(1+Y),this.words[Y]=U?this[W(660)][Y]|1<<z:this[W(660)][Y]&~(1<<z),this.strip()},P[S(1166)][S(187)]=function(ae){var U=S,W,Y;if(this[U(493)]!==0&&ae.negative===0)return this[U(493)]=0,W=this[U(258)](ae),this[U(493)]^=1,this[U(1049)]();if(this[U(493)]===0&&ae[U(493)]!==0)return ae[U(493)]=0,W=this[U(258)](ae),ae[U(493)]=1,W[U(1049)]();for(var z=this[U(1383)]>ae[U(1383)]?(Y=this,ae):(Y=ae,this),re=0,se=0;se<z[U(1383)];se++)W=(0|Y[U(660)][se])+(0|z[U(660)][se])+re,this[U(660)][se]=67108863&W,re=W>>>26;for(;re!==0&&se<Y[U(1383)];se++)W=(0|Y.words[se])+re,this[U(660)][se]=67108863&W,re=W>>>26;if(this[U(1383)]=Y[U(1383)],re!==0)this[U(660)][this[U(1383)]]=re,this[U(1383)]++;else if(Y!==this)for(;se<Y.length;se++)this.words[se]=Y[U(660)][se];return this},P[S(1166)][S(2400)]=function(ae){var U=S,W;return ae[U(493)]!==0&&this[U(493)]===0?(ae.negative=0,W=this.sub(ae),ae[U(493)]^=1,W):ae[U(493)]===0&&this[U(493)]!==0?(this[U(493)]=0,W=ae[U(1550)](this),this[U(493)]=1,W):this[U(1383)]>ae[U(1383)]?this.clone()[U(187)](ae):ae[U(2164)]()[U(187)](this)},P[S(1166)].isub=function(ae){var U=S,W;if(ae.negative!==0)return ae[U(493)]=0,W=this[U(187)](ae),ae[U(493)]=1,W._normSign();if(this.negative!==0)return this[U(493)]=0,this.iadd(ae),this[U(493)]=1,this._normSign();var Y,z=this[U(526)](ae);if(z===0)return this[U(493)]=0,this[U(1383)]=1,this[U(660)][0]=0,this;for(var re=0<z?(Y=this,ae):(Y=ae,this),se=0,de=0;de<re[U(1383)];de++)se=(W=(0|Y[U(660)][de])-(0|re[U(660)][de])+se)>>26,this[U(660)][de]=67108863&W;for(;se!==0&&de<Y[U(1383)];de++)se=(W=(0|Y[U(660)][de])+se)>>26,this.words[de]=67108863&W;if(se===0&&de<Y.length&&Y!==this)for(;de<Y.length;de++)this.words[de]=Y.words[de];return this[U(1383)]=Math[U(323)](this.length,de),Y!==this&&(this.negative=1),this[U(968)]()},P[S(1166)][S(1550)]=function(ae){var U=S;return this[U(2164)]()[U(258)](ae)};var X=function(Pe,Lt,W){var Y=S,ze=Pe[Y(660)],xt=Lt.words,z=W[Y(660)],jt=0|ze[0],Wt=8191&jt,jt=jt>>>13,xi=0|ze[1],Kt=8191&xi,xi=xi>>>13,se=0|ze[2],re=8191&se,se=se>>>13,me=0|ze[3],de=8191&me,me=me>>>13,Ie=0|ze[4],Ce=8191&Ie,Ie=Ie>>>13,Te=0|ze[5],we=8191&Te,Te=Te>>>13,ke=0|ze[6],Ge=8191&ke,ke=ke>>>13,Le=0|ze[7],Oe=8191&Le,Le=Le>>>13,Ne=0|ze[8],be=8191&Ne,Ne=Ne>>>13,ze=0|ze[9],Ue=8191&ze,ze=ze>>>13,Ei=0|xt[0],Ri=8191&Ei,Ei=Ei>>>13,mi=0|xt[1],pi=8191&mi,mi=mi>>>13,Mt=0|xt[2],_t=8191&Mt,Mt=Mt>>>13,Xe=0|xt[3],Je=8191&Xe,Xe=Xe>>>13,ot=0|xt[4],et=8191&ot,ot=ot>>>13,Ct=0|xt[5],Et=8191&Ct,Ct=Ct>>>13,yt=0|xt[6],ct=8191&yt,yt=yt>>>13,Ze=0|xt[7],Qt=8191&Ze,Ze=Ze>>>13,St=0|xt[8],ut=8191&St,St=St>>>13,xt=0|xt[9],gt=8191&xt,xt=xt>>>13,Lt=(W[Y(493)]=Pe[Y(493)]^Lt[Y(493)],W.length=19,(0+Math[Y(1805)](Wt,Ri)|0)+((8191&(Pe=Math[Y(1805)](Wt,Ei)+Math[Y(1805)](jt,Ri)|0))<<13)|0),Ht=(Math[Y(1805)](jt,Ei)+(Pe>>>13)|0)+(Lt>>>26)|0,nt=(Lt&=67108863,Math.imul(Kt,Ri)),Pe=Math[Y(1805)](Kt,Ei)+Math.imul(xi,Ri)|0,ve=Math.imul(xi,Ei),We=(Ht+(nt+Math[Y(1805)](Wt,pi)|0)|0)+((8191&(Pe=(Pe+Math[Y(1805)](Wt,mi)|0)+Math[Y(1805)](jt,pi)|0))<<13)|0,bt=(Ht=((ve+Math.imul(jt,mi)|0)+(Pe>>>13)|0)+(We>>>26)|0,We&=67108863,nt=Math[Y(1805)](re,Ri),Pe=Math[Y(1805)](re,Ei)+Math.imul(se,Ri)|0,ve=Math[Y(1805)](se,Ei),nt=nt+Math[Y(1805)](Kt,pi)|0,Pe=(Pe+Math[Y(1805)](Kt,mi)|0)+Math[Y(1805)](xi,pi)|0,ve=ve+Math[Y(1805)](xi,mi)|0,(Ht+(nt+Math[Y(1805)](Wt,_t)|0)|0)+((8191&(Pe=(Pe+Math.imul(Wt,Mt)|0)+Math[Y(1805)](jt,_t)|0))<<13)|0),Pt=(Ht=((ve+Math.imul(jt,Mt)|0)+(Pe>>>13)|0)+(bt>>>26)|0,bt&=67108863,nt=Math[Y(1805)](de,Ri),Pe=Math.imul(de,Ei)+Math[Y(1805)](me,Ri)|0,ve=Math[Y(1805)](me,Ei),nt=nt+Math[Y(1805)](re,pi)|0,Pe=(Pe+Math[Y(1805)](re,mi)|0)+Math[Y(1805)](se,pi)|0,ve=ve+Math[Y(1805)](se,mi)|0,nt=nt+Math[Y(1805)](Kt,_t)|0,Pe=(Pe+Math.imul(Kt,Mt)|0)+Math.imul(xi,_t)|0,ve=ve+Math.imul(xi,Mt)|0,(Ht+(nt+Math[Y(1805)](Wt,Je)|0)|0)+((8191&(Pe=(Pe+Math[Y(1805)](Wt,Xe)|0)+Math[Y(1805)](jt,Je)|0))<<13)|0),It=(Ht=((ve+Math[Y(1805)](jt,Xe)|0)+(Pe>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,nt=Math[Y(1805)](Ce,Ri),Pe=Math[Y(1805)](Ce,Ei)+Math[Y(1805)](Ie,Ri)|0,ve=Math[Y(1805)](Ie,Ei),nt=nt+Math[Y(1805)](de,pi)|0,Pe=(Pe+Math[Y(1805)](de,mi)|0)+Math[Y(1805)](me,pi)|0,ve=ve+Math[Y(1805)](me,mi)|0,nt=nt+Math[Y(1805)](re,_t)|0,Pe=(Pe+Math[Y(1805)](re,Mt)|0)+Math[Y(1805)](se,_t)|0,ve=ve+Math[Y(1805)](se,Mt)|0,nt=nt+Math.imul(Kt,Je)|0,Pe=(Pe+Math[Y(1805)](Kt,Xe)|0)+Math[Y(1805)](xi,Je)|0,ve=ve+Math.imul(xi,Xe)|0,(Ht+(nt+Math[Y(1805)](Wt,et)|0)|0)+((8191&(Pe=(Pe+Math[Y(1805)](Wt,ot)|0)+Math[Y(1805)](jt,et)|0))<<13)|0),Mi=(Ht=((ve+Math[Y(1805)](jt,ot)|0)+(Pe>>>13)|0)+(It>>>26)|0,It&=67108863,nt=Math[Y(1805)](we,Ri),Pe=Math[Y(1805)](we,Ei)+Math[Y(1805)](Te,Ri)|0,ve=Math[Y(1805)](Te,Ei),nt=nt+Math[Y(1805)](Ce,pi)|0,Pe=(Pe+Math[Y(1805)](Ce,mi)|0)+Math.imul(Ie,pi)|0,ve=ve+Math.imul(Ie,mi)|0,nt=nt+Math[Y(1805)](de,_t)|0,Pe=(Pe+Math[Y(1805)](de,Mt)|0)+Math[Y(1805)](me,_t)|0,ve=ve+Math[Y(1805)](me,Mt)|0,nt=nt+Math[Y(1805)](re,Je)|0,Pe=(Pe+Math[Y(1805)](re,Xe)|0)+Math[Y(1805)](se,Je)|0,ve=ve+Math[Y(1805)](se,Xe)|0,nt=nt+Math.imul(Kt,et)|0,Pe=(Pe+Math[Y(1805)](Kt,ot)|0)+Math.imul(xi,et)|0,ve=ve+Math.imul(xi,ot)|0,(Ht+(nt+Math[Y(1805)](Wt,Et)|0)|0)+((8191&(Pe=(Pe+Math.imul(Wt,Ct)|0)+Math[Y(1805)](jt,Et)|0))<<13)|0),er=(Ht=((ve+Math.imul(jt,Ct)|0)+(Pe>>>13)|0)+(Mi>>>26)|0,Mi&=67108863,nt=Math.imul(Ge,Ri),Pe=Math[Y(1805)](Ge,Ei)+Math[Y(1805)](ke,Ri)|0,ve=Math.imul(ke,Ei),nt=nt+Math[Y(1805)](we,pi)|0,Pe=(Pe+Math[Y(1805)](we,mi)|0)+Math[Y(1805)](Te,pi)|0,ve=ve+Math.imul(Te,mi)|0,nt=nt+Math[Y(1805)](Ce,_t)|0,Pe=(Pe+Math[Y(1805)](Ce,Mt)|0)+Math[Y(1805)](Ie,_t)|0,ve=ve+Math[Y(1805)](Ie,Mt)|0,nt=nt+Math[Y(1805)](de,Je)|0,Pe=(Pe+Math.imul(de,Xe)|0)+Math[Y(1805)](me,Je)|0,ve=ve+Math[Y(1805)](me,Xe)|0,nt=nt+Math[Y(1805)](re,et)|0,Pe=(Pe+Math[Y(1805)](re,ot)|0)+Math[Y(1805)](se,et)|0,ve=ve+Math[Y(1805)](se,ot)|0,nt=nt+Math[Y(1805)](Kt,Et)|0,Pe=(Pe+Math[Y(1805)](Kt,Ct)|0)+Math[Y(1805)](xi,Et)|0,ve=ve+Math[Y(1805)](xi,Ct)|0,(Ht+(nt+Math[Y(1805)](Wt,ct)|0)|0)+((8191&(Pe=(Pe+Math.imul(Wt,yt)|0)+Math[Y(1805)](jt,ct)|0))<<13)|0),di=(Ht=((ve+Math.imul(jt,yt)|0)+(Pe>>>13)|0)+(er>>>26)|0,er&=67108863,nt=Math[Y(1805)](Oe,Ri),Pe=Math[Y(1805)](Oe,Ei)+Math[Y(1805)](Le,Ri)|0,ve=Math[Y(1805)](Le,Ei),nt=nt+Math.imul(Ge,pi)|0,Pe=(Pe+Math[Y(1805)](Ge,mi)|0)+Math[Y(1805)](ke,pi)|0,ve=ve+Math[Y(1805)](ke,mi)|0,nt=nt+Math[Y(1805)](we,_t)|0,Pe=(Pe+Math[Y(1805)](we,Mt)|0)+Math.imul(Te,_t)|0,ve=ve+Math.imul(Te,Mt)|0,nt=nt+Math[Y(1805)](Ce,Je)|0,Pe=(Pe+Math.imul(Ce,Xe)|0)+Math.imul(Ie,Je)|0,ve=ve+Math.imul(Ie,Xe)|0,nt=nt+Math.imul(de,et)|0,Pe=(Pe+Math.imul(de,ot)|0)+Math.imul(me,et)|0,ve=ve+Math[Y(1805)](me,ot)|0,nt=nt+Math.imul(re,Et)|0,Pe=(Pe+Math[Y(1805)](re,Ct)|0)+Math[Y(1805)](se,Et)|0,ve=ve+Math[Y(1805)](se,Ct)|0,nt=nt+Math[Y(1805)](Kt,ct)|0,Pe=(Pe+Math.imul(Kt,yt)|0)+Math[Y(1805)](xi,ct)|0,ve=ve+Math.imul(xi,yt)|0,(Ht+(nt+Math[Y(1805)](Wt,Qt)|0)|0)+((8191&(Pe=(Pe+Math[Y(1805)](Wt,Ze)|0)+Math[Y(1805)](jt,Qt)|0))<<13)|0),wi=(Ht=((ve+Math.imul(jt,Ze)|0)+(Pe>>>13)|0)+(di>>>26)|0,di&=67108863,nt=Math.imul(be,Ri),Pe=Math[Y(1805)](be,Ei)+Math.imul(Ne,Ri)|0,ve=Math[Y(1805)](Ne,Ei),nt=nt+Math[Y(1805)](Oe,pi)|0,Pe=(Pe+Math.imul(Oe,mi)|0)+Math[Y(1805)](Le,pi)|0,ve=ve+Math.imul(Le,mi)|0,nt=nt+Math.imul(Ge,_t)|0,Pe=(Pe+Math[Y(1805)](Ge,Mt)|0)+Math[Y(1805)](ke,_t)|0,ve=ve+Math[Y(1805)](ke,Mt)|0,nt=nt+Math[Y(1805)](we,Je)|0,Pe=(Pe+Math.imul(we,Xe)|0)+Math[Y(1805)](Te,Je)|0,ve=ve+Math[Y(1805)](Te,Xe)|0,nt=nt+Math[Y(1805)](Ce,et)|0,Pe=(Pe+Math[Y(1805)](Ce,ot)|0)+Math.imul(Ie,et)|0,ve=ve+Math[Y(1805)](Ie,ot)|0,nt=nt+Math[Y(1805)](de,Et)|0,Pe=(Pe+Math[Y(1805)](de,Ct)|0)+Math[Y(1805)](me,Et)|0,ve=ve+Math[Y(1805)](me,Ct)|0,nt=nt+Math.imul(re,ct)|0,Pe=(Pe+Math[Y(1805)](re,yt)|0)+Math[Y(1805)](se,ct)|0,ve=ve+Math[Y(1805)](se,yt)|0,nt=nt+Math[Y(1805)](Kt,Qt)|0,Pe=(Pe+Math.imul(Kt,Ze)|0)+Math[Y(1805)](xi,Qt)|0,ve=ve+Math.imul(xi,Ze)|0,(Ht+(nt+Math[Y(1805)](Wt,ut)|0)|0)+((8191&(Pe=(Pe+Math[Y(1805)](Wt,St)|0)+Math[Y(1805)](jt,ut)|0))<<13)|0),Ri=(Ht=((ve+Math[Y(1805)](jt,St)|0)+(Pe>>>13)|0)+(wi>>>26)|0,wi&=67108863,nt=Math[Y(1805)](Ue,Ri),Pe=Math[Y(1805)](Ue,Ei)+Math[Y(1805)](ze,Ri)|0,ve=Math[Y(1805)](ze,Ei),nt=nt+Math[Y(1805)](be,pi)|0,Pe=(Pe+Math[Y(1805)](be,mi)|0)+Math[Y(1805)](Ne,pi)|0,ve=ve+Math[Y(1805)](Ne,mi)|0,nt=nt+Math[Y(1805)](Oe,_t)|0,Pe=(Pe+Math[Y(1805)](Oe,Mt)|0)+Math.imul(Le,_t)|0,ve=ve+Math[Y(1805)](Le,Mt)|0,nt=nt+Math.imul(Ge,Je)|0,Pe=(Pe+Math[Y(1805)](Ge,Xe)|0)+Math[Y(1805)](ke,Je)|0,ve=ve+Math[Y(1805)](ke,Xe)|0,nt=nt+Math[Y(1805)](we,et)|0,Pe=(Pe+Math.imul(we,ot)|0)+Math.imul(Te,et)|0,ve=ve+Math.imul(Te,ot)|0,nt=nt+Math[Y(1805)](Ce,Et)|0,Pe=(Pe+Math.imul(Ce,Ct)|0)+Math.imul(Ie,Et)|0,ve=ve+Math[Y(1805)](Ie,Ct)|0,nt=nt+Math[Y(1805)](de,ct)|0,Pe=(Pe+Math.imul(de,yt)|0)+Math[Y(1805)](me,ct)|0,ve=ve+Math[Y(1805)](me,yt)|0,nt=nt+Math[Y(1805)](re,Qt)|0,Pe=(Pe+Math[Y(1805)](re,Ze)|0)+Math.imul(se,Qt)|0,ve=ve+Math.imul(se,Ze)|0,nt=nt+Math.imul(Kt,ut)|0,Pe=(Pe+Math[Y(1805)](Kt,St)|0)+Math.imul(xi,ut)|0,ve=ve+Math.imul(xi,St)|0,(Ht+(nt+Math[Y(1805)](Wt,gt)|0)|0)+((8191&(Pe=(Pe+Math.imul(Wt,xt)|0)+Math[Y(1805)](jt,gt)|0))<<13)|0),Ei=(Ht=((ve+Math[Y(1805)](jt,xt)|0)+(Pe>>>13)|0)+(Ri>>>26)|0,Ri&=67108863,nt=Math[Y(1805)](Ue,pi),Pe=Math[Y(1805)](Ue,mi)+Math.imul(ze,pi)|0,ve=Math[Y(1805)](ze,mi),nt=nt+Math.imul(be,_t)|0,Pe=(Pe+Math[Y(1805)](be,Mt)|0)+Math[Y(1805)](Ne,_t)|0,ve=ve+Math[Y(1805)](Ne,Mt)|0,nt=nt+Math.imul(Oe,Je)|0,Pe=(Pe+Math[Y(1805)](Oe,Xe)|0)+Math[Y(1805)](Le,Je)|0,ve=ve+Math.imul(Le,Xe)|0,nt=nt+Math[Y(1805)](Ge,et)|0,Pe=(Pe+Math[Y(1805)](Ge,ot)|0)+Math[Y(1805)](ke,et)|0,ve=ve+Math[Y(1805)](ke,ot)|0,nt=nt+Math[Y(1805)](we,Et)|0,Pe=(Pe+Math.imul(we,Ct)|0)+Math[Y(1805)](Te,Et)|0,ve=ve+Math[Y(1805)](Te,Ct)|0,nt=nt+Math.imul(Ce,ct)|0,Pe=(Pe+Math[Y(1805)](Ce,yt)|0)+Math[Y(1805)](Ie,ct)|0,ve=ve+Math[Y(1805)](Ie,yt)|0,nt=nt+Math[Y(1805)](de,Qt)|0,Pe=(Pe+Math[Y(1805)](de,Ze)|0)+Math[Y(1805)](me,Qt)|0,ve=ve+Math[Y(1805)](me,Ze)|0,nt=nt+Math[Y(1805)](re,ut)|0,Pe=(Pe+Math[Y(1805)](re,St)|0)+Math[Y(1805)](se,ut)|0,ve=ve+Math[Y(1805)](se,St)|0,(Ht+(nt+Math[Y(1805)](Kt,gt)|0)|0)+((8191&(Pe=(Pe+Math[Y(1805)](Kt,xt)|0)+Math[Y(1805)](xi,gt)|0))<<13)|0),Wt=(Ht=((ve+Math.imul(xi,xt)|0)+(Pe>>>13)|0)+(Ei>>>26)|0,Ei&=67108863,nt=Math.imul(Ue,_t),Pe=Math[Y(1805)](Ue,Mt)+Math[Y(1805)](ze,_t)|0,ve=Math[Y(1805)](ze,Mt),nt=nt+Math[Y(1805)](be,Je)|0,Pe=(Pe+Math[Y(1805)](be,Xe)|0)+Math[Y(1805)](Ne,Je)|0,ve=ve+Math[Y(1805)](Ne,Xe)|0,nt=nt+Math[Y(1805)](Oe,et)|0,Pe=(Pe+Math[Y(1805)](Oe,ot)|0)+Math.imul(Le,et)|0,ve=ve+Math[Y(1805)](Le,ot)|0,nt=nt+Math[Y(1805)](Ge,Et)|0,Pe=(Pe+Math[Y(1805)](Ge,Ct)|0)+Math[Y(1805)](ke,Et)|0,ve=ve+Math[Y(1805)](ke,Ct)|0,nt=nt+Math[Y(1805)](we,ct)|0,Pe=(Pe+Math[Y(1805)](we,yt)|0)+Math[Y(1805)](Te,ct)|0,ve=ve+Math[Y(1805)](Te,yt)|0,nt=nt+Math[Y(1805)](Ce,Qt)|0,Pe=(Pe+Math.imul(Ce,Ze)|0)+Math.imul(Ie,Qt)|0,ve=ve+Math[Y(1805)](Ie,Ze)|0,nt=nt+Math[Y(1805)](de,ut)|0,Pe=(Pe+Math[Y(1805)](de,St)|0)+Math[Y(1805)](me,ut)|0,ve=ve+Math[Y(1805)](me,St)|0,(Ht+(nt+Math.imul(re,gt)|0)|0)+((8191&(Pe=(Pe+Math[Y(1805)](re,xt)|0)+Math[Y(1805)](se,gt)|0))<<13)|0),jt=(Ht=((ve+Math[Y(1805)](se,xt)|0)+(Pe>>>13)|0)+(Wt>>>26)|0,Wt&=67108863,nt=Math.imul(Ue,Je),Pe=Math[Y(1805)](Ue,Xe)+Math.imul(ze,Je)|0,ve=Math[Y(1805)](ze,Xe),nt=nt+Math.imul(be,et)|0,Pe=(Pe+Math[Y(1805)](be,ot)|0)+Math.imul(Ne,et)|0,ve=ve+Math.imul(Ne,ot)|0,nt=nt+Math[Y(1805)](Oe,Et)|0,Pe=(Pe+Math[Y(1805)](Oe,Ct)|0)+Math.imul(Le,Et)|0,ve=ve+Math[Y(1805)](Le,Ct)|0,nt=nt+Math[Y(1805)](Ge,ct)|0,Pe=(Pe+Math[Y(1805)](Ge,yt)|0)+Math[Y(1805)](ke,ct)|0,ve=ve+Math[Y(1805)](ke,yt)|0,nt=nt+Math[Y(1805)](we,Qt)|0,Pe=(Pe+Math[Y(1805)](we,Ze)|0)+Math.imul(Te,Qt)|0,ve=ve+Math[Y(1805)](Te,Ze)|0,nt=nt+Math[Y(1805)](Ce,ut)|0,Pe=(Pe+Math.imul(Ce,St)|0)+Math[Y(1805)](Ie,ut)|0,ve=ve+Math[Y(1805)](Ie,St)|0,(Ht+(nt+Math[Y(1805)](de,gt)|0)|0)+((8191&(Pe=(Pe+Math.imul(de,xt)|0)+Math[Y(1805)](me,gt)|0))<<13)|0),pi=(Ht=((ve+Math[Y(1805)](me,xt)|0)+(Pe>>>13)|0)+(jt>>>26)|0,jt&=67108863,nt=Math[Y(1805)](Ue,et),Pe=Math[Y(1805)](Ue,ot)+Math[Y(1805)](ze,et)|0,ve=Math[Y(1805)](ze,ot),nt=nt+Math.imul(be,Et)|0,Pe=(Pe+Math[Y(1805)](be,Ct)|0)+Math[Y(1805)](Ne,Et)|0,ve=ve+Math[Y(1805)](Ne,Ct)|0,nt=nt+Math[Y(1805)](Oe,ct)|0,Pe=(Pe+Math.imul(Oe,yt)|0)+Math[Y(1805)](Le,ct)|0,ve=ve+Math[Y(1805)](Le,yt)|0,nt=nt+Math[Y(1805)](Ge,Qt)|0,Pe=(Pe+Math[Y(1805)](Ge,Ze)|0)+Math[Y(1805)](ke,Qt)|0,ve=ve+Math[Y(1805)](ke,Ze)|0,nt=nt+Math.imul(we,ut)|0,Pe=(Pe+Math.imul(we,St)|0)+Math[Y(1805)](Te,ut)|0,ve=ve+Math.imul(Te,St)|0,(Ht+(nt+Math[Y(1805)](Ce,gt)|0)|0)+((8191&(Pe=(Pe+Math.imul(Ce,xt)|0)+Math[Y(1805)](Ie,gt)|0))<<13)|0),mi=(Ht=((ve+Math[Y(1805)](Ie,xt)|0)+(Pe>>>13)|0)+(pi>>>26)|0,pi&=67108863,nt=Math.imul(Ue,Et),Pe=Math[Y(1805)](Ue,Ct)+Math[Y(1805)](ze,Et)|0,ve=Math.imul(ze,Ct),nt=nt+Math[Y(1805)](be,ct)|0,Pe=(Pe+Math.imul(be,yt)|0)+Math[Y(1805)](Ne,ct)|0,ve=ve+Math.imul(Ne,yt)|0,nt=nt+Math[Y(1805)](Oe,Qt)|0,Pe=(Pe+Math[Y(1805)](Oe,Ze)|0)+Math[Y(1805)](Le,Qt)|0,ve=ve+Math.imul(Le,Ze)|0,nt=nt+Math.imul(Ge,ut)|0,Pe=(Pe+Math[Y(1805)](Ge,St)|0)+Math[Y(1805)](ke,ut)|0,ve=ve+Math[Y(1805)](ke,St)|0,(Ht+(nt+Math[Y(1805)](we,gt)|0)|0)+((8191&(Pe=(Pe+Math.imul(we,xt)|0)+Math[Y(1805)](Te,gt)|0))<<13)|0),Kt=(Ht=((ve+Math[Y(1805)](Te,xt)|0)+(Pe>>>13)|0)+(mi>>>26)|0,mi&=67108863,nt=Math[Y(1805)](Ue,ct),Pe=Math[Y(1805)](Ue,yt)+Math[Y(1805)](ze,ct)|0,ve=Math[Y(1805)](ze,yt),nt=nt+Math[Y(1805)](be,Qt)|0,Pe=(Pe+Math[Y(1805)](be,Ze)|0)+Math[Y(1805)](Ne,Qt)|0,ve=ve+Math[Y(1805)](Ne,Ze)|0,nt=nt+Math[Y(1805)](Oe,ut)|0,Pe=(Pe+Math[Y(1805)](Oe,St)|0)+Math[Y(1805)](Le,ut)|0,ve=ve+Math.imul(Le,St)|0,(Ht+(nt+Math[Y(1805)](Ge,gt)|0)|0)+((8191&(Pe=(Pe+Math.imul(Ge,xt)|0)+Math[Y(1805)](ke,gt)|0))<<13)|0),xi=(Ht=((ve+Math[Y(1805)](ke,xt)|0)+(Pe>>>13)|0)+(Kt>>>26)|0,Kt&=67108863,nt=Math.imul(Ue,Qt),Pe=Math.imul(Ue,Ze)+Math[Y(1805)](ze,Qt)|0,ve=Math[Y(1805)](ze,Ze),nt=nt+Math[Y(1805)](be,ut)|0,Pe=(Pe+Math[Y(1805)](be,St)|0)+Math[Y(1805)](Ne,ut)|0,ve=ve+Math.imul(Ne,St)|0,(Ht+(nt+Math[Y(1805)](Oe,gt)|0)|0)+((8191&(Pe=(Pe+Math[Y(1805)](Oe,xt)|0)+Math[Y(1805)](Le,gt)|0))<<13)|0),_t=(Ht=((ve+Math[Y(1805)](Le,xt)|0)+(Pe>>>13)|0)+(xi>>>26)|0,xi&=67108863,nt=Math[Y(1805)](Ue,ut),Pe=Math[Y(1805)](Ue,St)+Math[Y(1805)](ze,ut)|0,ve=Math[Y(1805)](ze,St),(Ht+(nt+Math[Y(1805)](be,gt)|0)|0)+((8191&(Pe=(Pe+Math[Y(1805)](be,xt)|0)+Math.imul(Ne,gt)|0))<<13)|0),Mt=(Ht=((ve+Math.imul(Ne,xt)|0)+(Pe>>>13)|0)+(_t>>>26)|0,_t&=67108863,(Ht+Math[Y(1805)](Ue,gt)|0)+((8191&(Pe=Math[Y(1805)](Ue,xt)+Math[Y(1805)](ze,gt)|0))<<13)|0),Ht=(Math[Y(1805)](ze,xt)+(Pe>>>13)|0)+(Mt>>>26)|0;return Mt&=67108863,z[0]=Lt,z[1]=We,z[2]=bt,z[3]=Pt,z[4]=It,z[5]=Mi,z[6]=er,z[7]=di,z[8]=wi,z[9]=Ri,z[10]=Ei,z[11]=Wt,z[12]=jt,z[13]=pi,z[14]=mi,z[15]=Kt,z[16]=xi,z[17]=_t,z[18]=Mt,Ht!=0&&(z[19]=Ht,W[Y(1383)]++),W};function q(ae,U,W){return new ee().mulp(ae,U,W)}function ee(ae,U){this.x=ae,this.y=U}Math[S(1805)]||(X=K),P.prototype.mulTo=function(ae,U){var W=S,Y=this[W(1383)]+ae.length;return(this[W(1383)]===10&&ae[W(1383)]===10?X:Y<63?K:Y<1024?function(z,re,se){var de=W;se[de(493)]=re[de(493)]^z[de(493)],se.length=z[de(1383)]+re[de(1383)];for(var me=0,Ce=0,Ie=0;Ie<se[de(1383)]-1;Ie++){for(var we=Ce,Ce=0,Te=67108863&me,Ge=Math[de(1869)](Ie,re[de(1383)]-1),ke=Math.max(0,Ie-z[de(1383)]+1);ke<=Ge;ke++){var Oe,Le=(0|z[de(660)][Ie-ke])*(0|re[de(660)][ke]),Te=67108863&(Oe=(67108863&Le)+Te|0);Ce+=(we=(we=we+(Le/67108864|0)|0)+(Oe>>>26)|0)>>>26,we&=67108863}se.words[Ie]=Te,me=we,we=Ce}return me!==0?se[de(660)][Ie]=me:se[de(1383)]--,se[de(968)]()}:q)(this,ae,U)},ee[S(1166)][S(1369)]=function(ae){for(var U=S,W=new Array(ae),Y=P[U(1166)][U(623)](ae)-1,z=0;z<ae;z++)W[z]=this[U(646)](z,Y,ae);return W},ee[S(1166)].revBin=function(ae,U,W){if(ae===0||ae===W-1)return ae;for(var Y=0,z=0;z<U;z++)Y|=(1&ae)<<U-z-1,ae>>=1;return Y},ee[S(1166)].permute=function(ae,U,W,Y,z,re){for(var se=0;se<re;se++)Y[se]=U[ae[se]],z[se]=W[ae[se]]},ee[S(1166)][S(684)]=function(ae,U,W,Y,z,re){var se=S;this[se(1257)](re,ae,U,W,Y,z);for(var de=1;de<z;de<<=1)for(var me=de<<1,Ce=Math[se(1147)](2*Math.PI/me),Ie=Math.sin(2*Math.PI/me),we=0;we<z;we+=me)for(var Te=Ce,Ge=Ie,ke=0;ke<de;ke++){var Oe=W[we+ke],Le=Y[we+ke],be=W[we+ke+de],Ne=Te*be-Ge*(Ue=Y[we+ke+de]),Ue=Te*Ue+Ge*be;W[we+ke]=Oe+(be=Ne),Y[we+ke]=Le+Ue,W[we+ke+de]=Oe-be,Y[we+ke+de]=Le-Ue,ke!==me&&(Ne=Ce*Te-Ie*Ge,Ge=Ce*Ge+Ie*Te,Te=Ne)}},ee[S(1166)][S(1272)]=function(ae,U){for(var W=S,U=1&(z=1|Math[W(323)](U,ae)),Y=0,z=z/2|0;z;z>>>=1)Y++;return 1<<Y+1+U},ee[S(1166)][S(1184)]=function(ae,U,W){if(!(W<=1))for(var Y=0;Y<W/2;Y++){var z=ae[Y];ae[Y]=ae[W-Y-1],ae[W-Y-1]=z,z=U[Y],U[Y]=-U[W-Y-1],U[W-Y-1]=-z}},ee.prototype[S(949)]=function(ae,U){for(var W=0,Y=0;Y<U/2;Y++){var z=8192*Math.round(ae[2*Y+1]/U)+Math.round(ae[2*Y]/U)+W;ae[Y]=67108863&z,W=z<67108864?0:z/67108864|0}return ae},ee.prototype[S(955)]=function(ae,U,W,Y){for(var z=0,re=0;re<U;re++)z+=0|ae[re],W[2*re]=8191&z,W[2*re+1]=8191&(z>>>=13),z>>>=13;for(re=2*U;re<Y;++re)W[re]=0;D(z===0),D((-8192&z)==0)},ee[S(1166)][S(737)]=function(ae){for(var U=new Array(ae),W=0;W<ae;W++)U[W]=0;return U},ee[S(1166)].mulp=function(ae,U,W){var Y=S,z=2*this[Y(1272)](ae.length,U.length),re=this[Y(1369)](z),se=this[Y(737)](z),de=new Array(z),me=new Array(z),Ce=new Array(z),Ie=new Array(z),we=new Array(z),Te=new Array(z),Ge=W[Y(660)];Ge[Y(1383)]=z,this[Y(955)](ae[Y(660)],ae[Y(1383)],de,z),this[Y(955)](U.words,U[Y(1383)],Ie,z),this[Y(684)](de,se,me,Ce,z,re),this[Y(684)](Ie,se,we,Te,z,re);for(var ke=0;ke<z;ke++){var Oe=me[ke]*we[ke]-Ce[ke]*Te[ke];Ce[ke]=me[ke]*Te[ke]+Ce[ke]*we[ke],me[ke]=Oe}return this[Y(1184)](me,Ce,z),this[Y(684)](me,Ce,Ge,se,z,re),this.conjugate(Ge,se,z),this[Y(949)](Ge,z),W[Y(493)]=ae[Y(493)]^U[Y(493)],W[Y(1383)]=ae[Y(1383)]+U[Y(1383)],W[Y(968)]()},P.prototype[S(2545)]=function(ae){var U=S,W=new P(null);return W[U(660)]=new Array(this.length+ae[U(1383)]),this[U(685)](ae,W)},P[S(1166)][S(1579)]=function(ae){var U=S,W=new P(null);return W[U(660)]=new Array(this[U(1383)]+ae[U(1383)]),q(this,ae,W)},P[S(1166)][S(1805)]=function(ae){var U=S;return this[U(2164)]().mulTo(ae,this)},P[S(1166)].imuln=function(ae){var U=S;D(typeof ae=="number"),D(ae<67108864);for(var W=0,Y=0;Y<this[U(1383)];Y++){var z=(0|this[U(660)][Y])*ae,re=(67108863&z)+(67108863&W),W=(W>>=26)+(z/67108864|0)+(re>>>26);this[U(660)][Y]=67108863&re}return W!==0&&(this[U(660)][Y]=W,this.length++),this},P.prototype[S(744)]=function(ae){var U=S;return this.clone()[U(683)](ae)},P.prototype.sqr=function(){var ae=S;return this[ae(2545)](this)},P.prototype[S(468)]=function(){var ae=S;return this[ae(1805)](this[ae(2164)]())},P.prototype[S(337)]=function(ae){var U=S,W=function(se){for(var de=Ut,me=new Array(se[de(485)]()),Ce=0;Ce<me[de(1383)];Ce++){var Ie=Ce%26;me[Ce]=(se[de(660)][Ce/26|0]&1<<Ie)>>>Ie}return me}(ae);if(W[U(1383)]===0)return new P(1);for(var Y=this,z=0;z<W[U(1383)]&&W[z]===0;z++,Y=Y.sqr());if(++z<W[U(1383)])for(var re=Y[U(1219)]();z<W[U(1383)];z++,re=re.sqr())W[z]!==0&&(Y=Y.mul(re));return Y},P[S(1166)][S(1328)]=function(ae){var U=S;D(U(2013)==typeof ae&&0<=ae);var W=ae%26,Y=(ae-W)/26,z=67108863>>>26-W<<26-W;if(W!=0){for(var re=0,se=0;se<this[U(1383)];se++){var de=this[U(660)][se]&z,me=(0|this[U(660)][se])-de<<W;this[U(660)][se]=me|re,re=de>>>26-W}re&&(this[U(660)][se]=re,this[U(1383)]++)}if(Y!=0){for(se=this[U(1383)]-1;0<=se;se--)this.words[se+Y]=this[U(660)][se];for(se=0;se<Y;se++)this[U(660)][se]=0;this[U(1383)]+=Y}return this[U(968)]()},P[S(1166)][S(1696)]=function(ae){var U=S;return D(this[U(493)]===0),this.iushln(ae)},P[S(1166)].iushrn=function(ae,U,W){var Y=S;D(Y(2013)==typeof ae&&0<=ae);var z,z=U?(U-U%26)/26:0,re=ae%26,se=Math[Y(1869)]((ae-re)/26,this[Y(1383)]),de=67108863^67108863>>>re<<re,me=W;if(z-=se,z=Math[Y(323)](0,z),me){for(var Ce=0;Ce<se;Ce++)me[Y(660)][Ce]=this.words[Ce];me[Y(1383)]=se}if(se!==0)if(this[Y(1383)]>se)for(this[Y(1383)]-=se,Ce=0;Ce<this[Y(1383)];Ce++)this[Y(660)][Ce]=this[Y(660)][Ce+se];else this.words[0]=0,this.length=1;for(var Ie=0,Ce=this[Y(1383)]-1;0<=Ce&&(Ie!==0||z<=Ce);Ce--){var we=0|this[Y(660)][Ce];this[Y(660)][Ce]=Ie<<26-re|we>>>re,Ie=we&de}return me&&Ie!==0&&(me[Y(660)][me.length++]=Ie),this[Y(1383)]===0&&(this[Y(660)][0]=0,this[Y(1383)]=1),this[Y(968)]()},P[S(1166)][S(1376)]=function(ae,U,W){var Y=S;return D(this[Y(493)]===0),this[Y(1487)](ae,U,W)},P.prototype[S(2780)]=function(ae){var U=S;return this[U(2164)]()[U(1696)](ae)},P[S(1166)][S(1338)]=function(ae){var U=S;return this[U(2164)]()[U(1328)](ae)},P[S(1166)][S(1527)]=function(ae){var U=S;return this.clone()[U(1376)](ae)},P[S(1166)][S(2384)]=function(ae){var U=S;return this[U(2164)]()[U(1487)](ae)},P.prototype[S(901)]=function(Y){var U=S;D(typeof Y=="number"&&0<=Y);var W=Y%26,Y=(Y-W)/26;return!(this[U(1383)]<=Y||!(this[U(660)][Y]&1<<W))},P[S(1166)][S(1617)]=function(Y){var U=S;D(U(2013)==typeof Y&&0<=Y);var W=Y%26,Y=(Y-W)/26;return D(this.negative===0,"imaskn works only with positive numbers"),this.length<=Y?this:(W!=0&&Y++,this.length=Math[U(1869)](Y,this[U(1383)]),W!=0&&(this.words[this[U(1383)]-1]&=67108863^67108863>>>W<<W),this[U(968)]())},P[S(1166)].maskn=function(ae){var U=S;return this[U(2164)]()[U(1617)](ae)},P[S(1166)][S(2695)]=function(ae){var U=S;return D(U(2013)==typeof ae),D(ae<67108864),ae<0?this.isubn(-ae):this.negative!==0?(this[U(1383)]===1&&(0|this[U(660)][0])<ae?(this[U(660)][0]=ae-(0|this.words[0]),this[U(493)]=0):(this.negative=0,this[U(590)](ae),this[U(493)]=1),this):this[U(2079)](ae)},P[S(1166)][S(2079)]=function(ae){var U=S;this[U(660)][0]+=ae;for(var W=0;W<this[U(1383)]&&67108864<=this[U(660)][W];W++)this[U(660)][W]-=67108864,W===this[U(1383)]-1?this.words[W+1]=1:this[U(660)][W+1]++;return this[U(1383)]=Math[U(323)](this.length,W+1),this},P[S(1166)][S(590)]=function(ae){var U=S;if(D(U(2013)==typeof ae),D(ae<67108864),ae<0)return this[U(2695)](-ae);if(this.negative!==0)return this[U(493)]=0,this[U(2695)](ae),this[U(493)]=1,this;if(this.words[0]-=ae,this[U(1383)]===1&&this[U(660)][0]<0)this[U(660)][0]=-this.words[0],this[U(493)]=1;else for(var W=0;W<this[U(1383)]&&this[U(660)][W]<0;W++)this[U(660)][W]+=67108864,--this[U(660)][W+1];return this[U(968)]()},P.prototype[S(2454)]=function(ae){var U=S;return this[U(2164)]()[U(2695)](ae)},P[S(1166)][S(160)]=function(ae){return this.clone().isubn(ae)},P[S(1166)].iabs=function(){var ae=S;return this[ae(493)]=0,this},P[S(1166)][S(1914)]=function(){var ae=S;return this[ae(2164)]().iabs()},P.prototype[S(862)]=function(ae,U,W){for(var Y=S,z=ae.length+W,re=(this._expand(z),0),se=0;se<ae.length;se++){var de=(0|this[Y(660)][se+W])+re,me=(0|ae[Y(660)][se])*U,re=((de-=67108863&me)>>26)-(me/67108864|0);this[Y(660)][se+W]=67108863&de}for(;se<this[Y(1383)]-W;se++)re=(de=(0|this[Y(660)][se+W])+re)>>26,this[Y(660)][se+W]=67108863&de;if(re===0)return this[Y(968)]();for(D(re===-1),se=re=0;se<this[Y(1383)];se++)re=(de=-(0|this[Y(660)][se])+re)>>26,this[Y(660)][se]=67108863&de;return this.negative=1,this[Y(968)]()},P[S(1166)][S(863)]=function(ae,U){var W=S;this[W(1383)],ae[W(1383)];var Y,z=this.clone(),re=ae,se=0|re[W(660)][re[W(1383)]-1],de=((ae=26-this[W(623)](se))!=0&&(re=re[W(1338)](ae),z[W(1328)](ae),se=0|re.words[re[W(1383)]-1]),z[W(1383)]-re.length);if(W(1764)!==U){(Y=new P(null)).length=1+de,Y[W(660)]=new Array(Y[W(1383)]);for(var me=0;me<Y[W(1383)];me++)Y[W(660)][me]=0}var Ce=z[W(2164)]()[W(862)](re,1,de);Ce[W(493)]===0&&(z=Ce,Y&&(Y[W(660)][de]=1));for(var Ie=de-1;0<=Ie;Ie--){var we=67108864*(0|z[W(660)][re[W(1383)]+Ie])+(0|z[W(660)][re[W(1383)]+Ie-1]),we=Math[W(1869)](we/se|0,67108863);for(z[W(862)](re,we,Ie);z.negative!==0;)we--,z[W(493)]=0,z[W(862)](re,1,Ie),z.isZero()||(z[W(493)]^=1);Y&&(Y.words[Ie]=we)}return Y&&Y.strip(),z[W(968)](),W(1801)!==U&&ae!=0&&z[W(1487)](ae),{div:Y||null,mod:z}},P[S(1166)].divmod=function(ae,U,W){var Y=S;return D(!ae[Y(2356)]()),this.isZero()?{div:new P(0),mod:new P(0)}:this.negative!==0&&ae[Y(493)]===0?(se=this[Y(828)]()[Y(2550)](ae,U),Y(1764)!==U&&(z=se[Y(1801)][Y(828)]()),U!=="div"&&(re=se[Y(1764)].neg(),W&&re[Y(493)]!==0&&re[Y(187)](ae)),{div:z,mod:re}):this[Y(493)]===0&&ae[Y(493)]!==0?(se=this[Y(2550)](ae[Y(828)](),U),{div:z=U!=="mod"?se[Y(1801)][Y(828)]():z,mod:se[Y(1764)]}):(this[Y(493)]&ae[Y(493)])!=0?(se=this[Y(828)]()[Y(2550)](ae[Y(828)](),U),Y(1801)!==U&&(re=se.mod[Y(828)](),W&&re[Y(493)]!==0&&re.isub(ae)),{div:se[Y(1801)],mod:re}):ae[Y(1383)]>this[Y(1383)]||this[Y(526)](ae)<0?{div:new P(0),mod:this}:ae[Y(1383)]===1?Y(1801)===U?{div:this[Y(545)](ae.words[0]),mod:null}:Y(1764)===U?{div:null,mod:new P(this[Y(1825)](ae.words[0]))}:{div:this.divn(ae[Y(660)][0]),mod:new P(this[Y(1825)](ae.words[0]))}:this[Y(863)](ae,U);var z,re,se},P.prototype[S(1801)]=function(ae){var U=S;return this.divmod(ae,U(1801),!1)[U(1801)]},P[S(1166)][S(1764)]=function(ae){var U=S;return this[U(2550)](ae,"mod",!1)[U(1764)]},P[S(1166)][S(1372)]=function(ae){var U=S;return this[U(2550)](ae,U(1764),!0)[U(1764)]},P.prototype[S(2078)]=function(z){var U=S,W=this[U(2550)](z);if(W[U(1764)][U(2356)]())return W[U(1801)];var re=W[U(1801)][U(493)]!==0?W[U(1764)][U(258)](z):W[U(1764)],Y=z.ushrn(1),z=z.andln(1),re=re[U(526)](Y);return re<0||z===1&&re===0?W.div:W[U(1801)][U(493)]!==0?W[U(1801)][U(590)](1):W.div.iaddn(1)},P.prototype[S(1825)]=function(ae){var U=S;D(ae<=67108863);for(var W=(1<<26)%ae,Y=0,z=this[U(1383)]-1;0<=z;z--)Y=(W*Y+(0|this[U(660)][z]))%ae;return Y},P[S(1166)][S(2593)]=function(ae){var U=S;D(ae<=67108863);for(var W=0,Y=this[U(1383)]-1;0<=Y;Y--){var z=(0|this[U(660)][Y])+67108864*W;this[U(660)][Y]=z/ae|0,W=z%ae}return this[U(968)]()},P[S(1166)][S(545)]=function(ae){var U=S;return this[U(2164)]().idivn(ae)},P[S(1166)][S(1156)]=function(ae){var U=S;D(ae[U(493)]===0),D(!ae[U(2356)]());for(var Y=this,W=ae[U(2164)](),Y=Y[U(493)]!==0?Y[U(1372)](ae):Y[U(2164)](),z=new P(1),re=new P(0),se=new P(0),de=new P(1),me=0;Y[U(631)]()&&W[U(631)]();)Y[U(1487)](1),W[U(1487)](1),++me;for(var Ce=W[U(2164)](),Ie=Y[U(2164)]();!Y[U(2356)]();){for(var we=0,Te=1;(Y.words[0]&Te)==0&&we<26;++we,Te<<=1);if(0<we)for(Y[U(1487)](we);0<we--;)(z[U(2108)]()||re.isOdd())&&(z[U(187)](Ce),re[U(258)](Ie)),z.iushrn(1),re.iushrn(1);for(var Ge=0,ke=1;(W[U(660)][0]&ke)==0&&Ge<26;++Ge,ke<<=1);if(0<Ge)for(W.iushrn(Ge);0<Ge--;)(se[U(2108)]()||de[U(2108)]())&&(se[U(187)](Ce),de[U(258)](Ie)),se[U(1487)](1),de[U(1487)](1);0<=Y[U(526)](W)?(Y[U(258)](W),z[U(258)](se),re.isub(de)):(W[U(258)](Y),se[U(258)](z),de[U(258)](re))}return{a:se,b:de,gcd:W[U(1328)](me)}},P[S(1166)][S(1243)]=function(ae){var U=S;D(ae[U(493)]===0),D(!ae[U(2356)]());for(var W,z=this,Y=ae[U(2164)](),z=z[U(493)]!==0?z.umod(ae):z[U(2164)](),re=new P(1),se=new P(0),de=Y.clone();0<z[U(1329)](1)&&0<Y[U(1329)](1);){for(var me=0,Ce=1;(z[U(660)][0]&Ce)==0&&me<26;++me,Ce<<=1);if(0<me)for(z[U(1487)](me);0<me--;)re[U(2108)]()&&re[U(187)](de),re[U(1487)](1);for(var Ie=0,we=1;(Y[U(660)][0]&we)==0&&Ie<26;++Ie,we<<=1);if(0<Ie)for(Y[U(1487)](Ie);0<Ie--;)se[U(2108)]()&&se[U(187)](de),se[U(1487)](1);0<=z[U(526)](Y)?(z[U(258)](Y),re[U(258)](se)):(Y[U(258)](z),se[U(258)](re))}return(W=z[U(1329)](1)===0?re:se).cmpn(0)<0&&W.iadd(ae),W},P.prototype.gcd=function(ae){var U=S;if(this.isZero())return ae[U(1914)]();if(ae[U(2356)]())return this[U(1914)]();var W=this[U(2164)](),Y=ae[U(2164)]();W[U(493)]=0;for(var z=Y.negative=0;W.isEven()&&Y[U(631)]();z++)W[U(1487)](1),Y[U(1487)](1);for(;;){for(;W[U(631)]();)W.iushrn(1);for(;Y.isEven();)Y[U(1487)](1);var re=W[U(526)](Y);if(re<0)var se=W,W=Y,Y=se;else if(re===0||Y.cmpn(1)===0)break;W[U(258)](Y)}return Y[U(1328)](z)},P[S(1166)][S(2728)]=function(ae){var U=S;return this[U(1156)](ae).a[U(1372)](ae)},P[S(1166)][S(631)]=function(){var ae=S;return(1&this[ae(660)][0])==0},P[S(1166)][S(2108)]=function(){return(1&this.words[0])==1},P[S(1166)][S(329)]=function(ae){var U=S;return this[U(660)][0]&ae},P[S(1166)].bincn=function(W){var U=S;D(U(2013)==typeof W);var Y=W%26,W=(W-Y)/26,Y=1<<Y;if(this.length<=W)return this._expand(1+W),this[U(660)][W]|=Y,this;for(var z=Y,re=W;z!==0&&re<this[U(1383)];re++){var se=0|this.words[re],z=(se+=z)>>>26;se&=67108863,this[U(660)][re]=se}return z!==0&&(this[U(660)][re]=z,this[U(1383)]++),this},P[S(1166)].isZero=function(){var ae=S;return this[ae(1383)]===1&&this[ae(660)][0]===0},P[S(1166)][S(1329)]=function(ae){var U=S,W=ae<0;return this.negative===0||W?this[U(493)]===0&&W?1:(this[U(968)](),W=1<this[U(1383)]?1:(D((ae=W?-ae:ae)<=67108863,U(2156)),(W=0|this[U(660)][0])===ae?0:W<ae?-1:1),this[U(493)]!==0?0|-W:W):-1},P[S(1166)].cmp=function(ae){var U=S;return this[U(493)]!==0&&ae.negative===0?-1:this.negative===0&&ae[U(493)]!==0?1:(ae=this[U(1627)](ae),this[U(493)]!==0?0|-ae:ae)},P.prototype[S(1627)]=function(ae){var U=S;if(this[U(1383)]>ae.length)return 1;if(this[U(1383)]<ae.length)return-1;for(var W=0,Y=this[U(1383)]-1;0<=Y;Y--){var z=0|this[U(660)][Y],re=0|ae.words[Y];if(z!=re){z<re?W=-1:re<z&&(W=1);break}}return W},P[S(1166)][S(1023)]=function(ae){return this.cmpn(ae)===1},P.prototype.gt=function(ae){var U=S;return this[U(526)](ae)===1},P[S(1166)][S(1191)]=function(ae){var U=S;return 0<=this[U(1329)](ae)},P[S(1166)].gte=function(ae){var U=S;return 0<=this[U(526)](ae)},P.prototype[S(416)]=function(ae){return this.cmpn(ae)===-1},P[S(1166)].lt=function(ae){var U=S;return this[U(526)](ae)===-1},P[S(1166)][S(2241)]=function(ae){var U=S;return this[U(1329)](ae)<=0},P[S(1166)][S(645)]=function(ae){var U=S;return this[U(526)](ae)<=0},P[S(1166)][S(1782)]=function(ae){return this.cmpn(ae)===0},P[S(1166)].eq=function(ae){var U=S;return this[U(526)](ae)===0},P[S(2178)]=function(ae){return new ge(ae)},P[S(1166)][S(1190)]=function(ae){var U=S;return D(!this[U(2178)],U(304)),D(this.negative===0,"red works only with positives"),ae[U(1476)](this)[U(1836)](ae)},P[S(1166)][S(1642)]=function(){var ae=S;return D(this[ae(2178)],ae(2420)),this[ae(2178)][ae(624)](this)},P[S(1166)][S(1836)]=function(ae){var U=S;return this[U(2178)]=ae,this},P[S(1166)][S(1119)]=function(ae){var U=S;return D(!this[U(2178)],U(304)),this[U(1836)](ae)},P[S(1166)][S(1021)]=function(ae){var U=S;return D(this[U(2178)],U(2212)),this[U(2178)][U(2400)](this,ae)},P[S(1166)][S(2597)]=function(ae){var U=S;return D(this[U(2178)],U(559)),this[U(2178)][U(187)](this,ae)},P[S(1166)].redSub=function(ae){var U=S;return D(this[U(2178)],U(1575)),this[U(2178)].sub(this,ae)},P[S(1166)].redISub=function(ae){var U=S;return D(this[U(2178)],U(1318)),this[U(2178)][U(258)](this,ae)},P[S(1166)][S(1142)]=function(ae){var U=S;return D(this[U(2178)],"redShl works only with red numbers"),this[U(2178)][U(346)](this,ae)},P[S(1166)].redMul=function(ae){var U=S;return D(this[U(2178)],U(301)),this[U(2178)][U(1769)](this,ae),this[U(2178)][U(2545)](this,ae)},P[S(1166)].redIMul=function(ae){var U=S;return D(this[U(2178)],U(301)),this[U(2178)][U(1769)](this,ae),this.red[U(1805)](this,ae)},P[S(1166)][S(1533)]=function(){var ae=S;return D(this.red,ae(2776)),this[ae(2178)][ae(1819)](this),this[ae(2178)][ae(1219)](this)},P.prototype[S(2306)]=function(){var ae=S;return D(this[ae(2178)],ae(2569)),this[ae(2178)][ae(1819)](this),this[ae(2178)][ae(468)](this)},P[S(1166)].redSqrt=function(){var ae=S;return D(this[ae(2178)],ae(1545)),this[ae(2178)][ae(1819)](this),this[ae(2178)].sqrt(this)},P[S(1166)][S(2766)]=function(){var ae=S;return D(this[ae(2178)],"redInvm works only with red numbers"),this[ae(2178)][ae(1819)](this),this[ae(2178)][ae(2728)](this)},P[S(1166)].redNeg=function(){var ae=S;return D(this.red,ae(1775)),this[ae(2178)][ae(1819)](this),this[ae(2178)][ae(828)](this)},P.prototype.redPow=function(ae){var U=S;return D(this.red&&!ae[U(2178)],U(285)),this[U(2178)][U(1819)](this),this[U(2178)][U(337)](this,ae)};var ie={k256:null,p224:null,p192:null,p25519:null};function H(ae,U){var W=S;this[W(878)]=ae,this.p=new P(U,16),this.n=this.p[W(485)](),this.k=new P(1)[W(1328)](this.n)[W(258)](this.p),this.tmp=this._tmp()}function le(){var ae=S;H[ae(2623)](this,"k256",ae(215))}function ue(){var ae=S;H.call(this,ae(464),ae(1996))}function Ae(){var ae=S;H.call(this,ae(505),ae(1999))}function he(){var ae=S;H.call(this,ae(665),"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function ge(ae){var U=S,W;U(1896)==typeof ae?(W=P._prime(ae),this.m=W.p,this[U(1390)]=W):(D(ae.gtn(1),U(1614)),this.m=ae,this.prime=null)}function fe(ae){var U=S;ge[U(2623)](this,ae),this.shift=this.m[U(485)](),this[U(537)]%26!=0&&(this[U(537)]+=26-this[U(537)]%26),this.r=new P(1)[U(1328)](this[U(537)]),this.r2=this[U(1028)](this.r[U(1219)]()),this.rinv=this.r[U(1243)](this.m),this.minv=this.rinv[U(2545)](this.r)[U(590)](1)[U(1801)](this.m),this.minv=this[U(2487)][U(1372)](this.r),this[U(2487)]=this.r.sub(this[U(2487)])}H[S(1166)]._tmp=function(){var ae=S,U=new P(null);return U[ae(660)]=new Array(Math[ae(1266)](this.n/13)),U},H.prototype[S(518)]=function(ae){for(var U=S,W,Y=ae;this.split(Y,this.tmp),(W=(Y=(Y=this.imulK(Y)).iadd(this[U(1120)]))[U(485)]())>this.n;);return ae=W<this.n?-1:Y[U(1627)](this.p),ae===0?(Y[U(660)][0]=0,Y[U(1383)]=1):0<ae?Y[U(258)](this.p):Y.strip!==void 0?Y[U(968)]():Y[U(1076)](),Y},H.prototype.split=function(ae,U){ae.iushrn(this.n,0,U)},H[S(1166)][S(1259)]=function(ae){return ae.imul(this.k)},R(le,H),le.prototype.split=function(ae,U){for(var W=S,Y=Math[W(1869)](ae.length,9),z=0;z<Y;z++)U[W(660)][z]=ae[W(660)][z];if(U[W(1383)]=Y,ae[W(1383)]<=9)return ae[W(660)][0]=0,void(ae[W(1383)]=1);var re=ae[W(660)][9];for(U[W(660)][U[W(1383)]++]=4194303&re,z=10;z<ae[W(1383)];z++){var se=0|ae[W(660)][z];ae[W(660)][z-10]=(4194303&se)<<4|re>>>22,re=se}(ae[W(660)][z-10]=re>>>=22)==0&&10<ae[W(1383)]?ae[W(1383)]-=10:ae[W(1383)]-=9},le[S(1166)].imulK=function(ae){var U=S;ae[U(660)][ae[U(1383)]]=0,ae[U(660)][ae[U(1383)]+1]=0,ae[U(1383)]+=2;for(var W=0,Y=0;Y<ae[U(1383)];Y++){var z=0|ae[U(660)][Y];W+=977*z,ae[U(660)][Y]=67108863&W,W=64*z+(W/67108864|0)}return ae.words[ae[U(1383)]-1]===0&&(ae.length--,ae[U(660)][ae.length-1]===0&&ae[U(1383)]--),ae},R(ue,H),R(Ae,H),R(he,H),he[S(1166)][S(1259)]=function(ae){for(var U=S,W=0,Y=0;Y<ae.length;Y++){var z=19*(0|ae[U(660)][Y])+W,re=67108863&z;z>>>=26,ae[U(660)][Y]=re,W=z}return W!==0&&(ae[U(660)][ae[U(1383)]++]=W),ae},P[S(865)]=function(ae){var U=S;if(ie[ae])return ie[ae];var W;if(U(238)===ae)W=new le;else if(U(464)===ae)W=new ue;else if(U(505)===ae)W=new Ae;else{if(U(2441)!==ae)throw new Error(U(1412)+ae);W=new he}return ie[ae]=W},ge[S(1166)][S(1819)]=function(ae){var U=S;D(ae[U(493)]===0,U(906)),D(ae[U(2178)],U(218))},ge[S(1166)][S(1769)]=function(ae,U){var W=S;D((ae[W(493)]|U[W(493)])==0,W(906)),D(ae[W(2178)]&&ae[W(2178)]===U[W(2178)],W(218))},ge[S(1166)].imod=function(ae){var U=S;return(this[U(1390)]?this[U(1390)][U(518)](ae):ae[U(1372)](this.m))[U(1836)](this)},ge.prototype.neg=function(ae){var U=S;return ae[U(2356)]()?ae[U(2164)]():this.m[U(1550)](ae)[U(1836)](this)},ge[S(1166)][S(2400)]=function(ae,U){var W=S;return this._verify2(ae,U),ae=ae[W(2400)](U),0<=ae[W(526)](this.m)&&ae[W(258)](this.m),ae[W(1836)](this)},ge[S(1166)].iadd=function(ae,U){var W=S;return this[W(1769)](ae,U),ae=ae[W(187)](U),0<=ae.cmp(this.m)&&ae[W(258)](this.m),ae},ge[S(1166)][S(1550)]=function(ae,U){var W=S;return this._verify2(ae,U),ae=ae.sub(U),ae[W(1329)](0)<0&&ae[W(187)](this.m),ae[W(1836)](this)},ge.prototype[S(258)]=function(ae,U){var W=S;return this[W(1769)](ae,U),ae=ae[W(258)](U),ae[W(1329)](0)<0&&ae[W(187)](this.m),ae},ge[S(1166)][S(346)]=function(ae,U){var W=S;return this[W(1819)](ae),this[W(1028)](ae[W(1338)](U))},ge[S(1166)].imul=function(ae,U){var W=S;return this[W(1769)](ae,U),this.imod(ae[W(1805)](U))},ge[S(1166)][S(2545)]=function(ae,U){var W=S;return this[W(1769)](ae,U),this[W(1028)](ae.mul(U))},ge[S(1166)][S(468)]=function(ae){var U=S;return this[U(1805)](ae,ae[U(2164)]())},ge.prototype.sqr=function(ae){var U=S;return this[U(2545)](ae,ae)},ge.prototype[S(820)]=function(ae){var U=S;if(ae[U(2356)]())return ae[U(2164)]();var W=this.m[U(329)](3);if(D(W%2==1),W===3)return W=this.m.add(new P(1))[U(1487)](2),this.pow(ae,W);for(var Y=this.m.subn(1),z=0;!Y[U(2356)]()&&Y[U(329)](1)===0;)z++,Y[U(1487)](1);D(!Y.isZero());for(var re=new P(1)[U(1190)](this),se=re[U(1364)](),de=this.m[U(160)](1).iushrn(1),me=new P(2*(me=this.m.bitLength())*me).toRed(this);this[U(337)](me,de)[U(526)](se)!==0;)me[U(2597)](se);for(var Ce=this.pow(me,Y),Ie=this.pow(ae,Y.addn(1)[U(1487)](1)),we=this[U(337)](ae,Y),Te=z;we[U(526)](re)!==0;){for(var Ge=we,ke=0;Ge.cmp(re)!==0;ke++)Ge=Ge.redSqr();D(ke<Te);var Oe=this[U(337)](Ce,new P(1)[U(1328)](Te-ke-1)),Ie=Ie[U(249)](Oe),Ce=Oe.redSqr(),we=we[U(249)](Ce),Te=ke}return Ie},ge[S(1166)][S(2728)]=function(ae){var U=S;return ae=ae._invmp(this.m),ae.negative!==0?(ae[U(493)]=0,this[U(1028)](ae)[U(1364)]()):this.imod(ae)},ge.prototype[S(337)]=function(ae,U){var W=S;if(U.isZero())return new P(1)[W(1190)](this);if(U[W(1329)](1)===0)return ae[W(2164)]();var Y=new Array(16);Y[0]=new P(1)[W(1190)](this),Y[1]=ae;for(var z=2;z<Y.length;z++)Y[z]=this[W(2545)](Y[z-1],ae);var re=Y[0],se=0,de=0,me=U[W(485)]()%26;for(me===0&&(me=26),z=U[W(1383)]-1;0<=z;z--){for(var Ce=U[W(660)][z],Ie=me-1;0<=Ie;Ie--){var we=Ce>>Ie&1;re!==Y[0]&&(re=this[W(1219)](re)),we==0&&se===0?de=0:(se=se<<1|we,(++de==4||z===0&&Ie===0)&&(re=this.mul(re,Y[se]),se=de=0))}me=26}return re},ge[S(1166)][S(1476)]=function(ae){var U=S,W=ae[U(1372)](this.m);return W===ae?W[U(2164)]():W},ge[S(1166)][S(624)]=function(ae){var U=S;return ae=ae[U(2164)](),ae.red=null,ae},P[S(2129)]=function(ae){return new fe(ae)},R(fe,ge),fe[S(1166)][S(1476)]=function(ae){var U=S;return this.imod(ae[U(1338)](this[U(537)]))},fe[S(1166)][S(624)]=function(ae){var U=S;return ae=this[U(1028)](ae[U(2545)](this[U(467)])),ae[U(2178)]=null,ae},fe[S(1166)][S(1805)]=function(ae,U){var W=S;return ae[W(2356)]()||U.isZero()?(ae[W(660)][0]=0,ae[W(1383)]=1,ae):(ae=ae[W(1805)](U),U=ae[W(316)](this.shift)[W(2545)](this[W(2487)]).imaskn(this[W(537)])[W(2545)](this.m),ae=ae[W(258)](U)[W(1487)](this.shift),U=ae,0<=ae[W(526)](this.m)?U=ae[W(258)](this.m):ae.cmpn(0)<0&&(U=ae.iadd(this.m)),U._forceRed(this))},fe[S(1166)][S(2545)]=function(ae,U){var W=S;return ae[W(2356)]()||U.isZero()?new P(0)._forceRed(this):(ae=ae[W(2545)](U),U=ae[W(316)](this[W(537)]).mul(this[W(2487)]).imaskn(this.shift)[W(2545)](this.m),ae=ae.isub(U)[W(1487)](this.shift),U=ae,0<=ae[W(526)](this.m)?U=ae[W(258)](this.m):ae[W(1329)](0)<0&&(U=ae[W(187)](this.m)),U[W(1836)](this))},fe[S(1166)].invm=function(ae){var U=S;return this.imod(ae._invmp(this.m).mul(this.r2))[U(1836)](this)}})((B=T.nmd(B),this))},79746:B=>{var Q=Ut;(B.exports=function(T,w){var S=Ut;if(!T)throw new Error(w||S(1719))})[Q(610)]=function(T,w,S){var D=Q;if(T!=w)throw new Error(S||D(1350)+T+D(639)+w)}},34504:(B,Q)=>{var T=Ut;function w(D){var R=Ut;return D[R(1383)]===1?"0"+D:D}function S(D){for(var R=Ut,P="",M=0;M<D[R(1383)];M++)P+=w(D[M][R(1888)](16));return P}Q[T(884)]=function(D,R){var P=T;if(Array[P(2507)](D))return D[P(2679)]();if(!D)return[];var M=[];if(P(1896)!=typeof D){for(var L=0;L<D[P(1383)];L++)M[L]=0|D[L];return M}if(P(495)===R)for((D=D.replace(/[^a-z0-9]+/gi,""))[P(1383)]%2!=0&&(D="0"+D),L=0;L<D[P(1383)];L+=2)M[P(182)](parseInt(D[L]+D[L+1],16));else for(L=0;L<D[P(1383)];L++){var k=D.charCodeAt(L),F=k>>8,k=255&k;F?M[P(182)](F,k):M[P(182)](k)}return M},Q[T(2448)]=w,Q[T(1964)]=S,Q[T(2371)]=function(D,R){var P=T;return P(495)===R?S(D):D}},24244:B=>{var Q=Ut;function T(w){return w!=w}B[Q(1729)]=function(w,S){return w===0&&S===0?1/w==1/S:w===S||!(!T(w)||!T(S))}},20609:(B,Q,P)=>{var w=Ut,S=P(4289),M=P(55559),D=P(24244),R=P(75624),P=P(52281),M=M(R(),Object);S(M,{getPolyfill:R,implementation:D,shim:P}),B[w(1729)]=M},75624:(B,Q,T)=>{var w=Ut,S=T(24244);B[w(1729)]=function(){var D=w;return D(1451)==typeof Object.is?Object.is:S}},52281:(B,Q,T)=>{var w=Ut,S=T(75624),D=T(4289);B[w(1729)]=function(){var R=S();return D(Object,{is:R},{is:function(){return Object.is!==R}}),R}},18987:(B,Q,T)=>{var w=Ut,S,D,R,P,M,L,F,k,N,G;Object[w(451)]||(S=Object[w(1166)][w(579)],D=Object[w(1166)].toString,R=T(21414),T=Object[w(1166)].propertyIsEnumerable,P=!T.call({toString:null},w(1888)),M=T[w(2623)](function(){},"prototype"),L=[w(1888),w(654),"valueOf",w(579),"isPrototypeOf",w(2522),w(2267)],F=function(J){var K=w,X=J[K(2267)];return X&&X.prototype===J},k={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},N=function(){var J=w;if(J(1506)==typeof window)return!1;for(var K in window)try{if(!k["$"+K]&&S.call(window,K)&&window[K]!==null&&J(1499)==typeof window[K])try{F(window[K])}catch{return!0}}catch{return!0}return!1}(),G=function(J){var K=w,X=J!==null&&K(1499)==typeof J,q=K(2076)===D[K(2623)](J),ee=R(J),ie=X&&D.call(J)==="[object String]",H=[];if(!X&&!q&&!ee)throw new TypeError(K(2741));var le=M&&q;if(ie&&0<J[K(1383)]&&!S[K(2623)](J,0))for(var ue=0;ue<J.length;++ue)H.push(String(ue));if(ee&&0<J[K(1383)])for(var Ae=0;Ae<J[K(1383)];++Ae)H[K(182)](String(Ae));else for(var he in J)le&&K(1166)===he||!S[K(2623)](J,he)||H[K(182)](String(he));if(P)for(var ge=function(ae){var U=K;if(U(1506)==typeof window||!N)return F(ae);try{return F(ae)}catch{return!1}}(J),fe=0;fe<L[K(1383)];++fe)ge&&K(2267)===L[fe]||!S[K(2623)](J,L[fe])||H[K(182)](L[fe]);return H}),B[w(1729)]=G},82215:(B,Q,T)=>{var w=Ut,S=Array[w(1166)][w(2679)],D=T(21414),R=Object[w(451)],P=R?function(L){return R(L)}:T(18987),M=Object[w(451)];P[w(2375)]=function(){var L=w;return Object.keys?function(){var F=Ut,k=Object[F(451)](arguments);return k&&k[F(1383)]===arguments[F(1383)]}(1,2)||(Object.keys=function(F){var k=Ut;return D(F)?M(S[k(2623)](F)):M(F)}):Object[L(451)]=P,Object.keys||P},B[w(1729)]=P},21414:B=>{var Q=Ut,T=Object[Q(1166)][Q(1888)];B[Q(1729)]=function(w){var S=Q,D=T.call(w);return D==="[object Arguments]"||S(2200)!==D&&w!==null&&typeof w=="object"&&S(2013)==typeof w[S(1383)]&&0<=w.length&&S(2076)===T[S(2623)](w[S(2055)])}},52818:(B,Q,R)=>{var w=Ut,S=R(39809),R=(Q.certificate=R(41934),S[w(153)]("RSAPrivateKey",function(){var M=w;this.seq()[M(882)](this.key("version")[M(630)](),this.key(M(184))[M(630)](),this.key(M(2158)).int(),this[M(513)](M(1216))[M(630)](),this[M(513)](M(2594))[M(630)](),this[M(513)](M(2723))[M(630)](),this[M(513)]("exponent1")[M(630)](),this[M(513)](M(2598)).int(),this[M(513)](M(1251)).int())})),R=(Q[w(1670)]=R,S[w(153)](w(353),function(){var M=w;this[M(611)]()[M(882)](this[M(513)](M(184)).int(),this[M(513)](M(2158))[M(630)]())})),R=(Q[w(353)]=R,S[w(153)](w(1349),function(){var M=w;this[M(611)]().obj(this[M(513)](M(1808))[M(852)](D),this[M(513)](M(1135))[M(1104)]())})),D=(Q.PublicKey=R,S[w(153)](w(1106),function(){var M=w;this[M(611)]()[M(882)](this.key(M(1808))[M(1085)](),this.key("none").null_()[M(2347)](),this.key(M(1354))[M(1085)]().optional(),this[M(513)](M(1238)).seq()[M(882)](this[M(513)]("p").int(),this[M(513)]("q")[M(630)](),this.key("g")[M(630)]()).optional())})),R=S[w(153)]("PrivateKeyInfo",function(){var M=w;this[M(611)]().obj(this.key(M(361))[M(630)](),this[M(513)](M(1808))[M(852)](D),this[M(513)](M(1177))[M(2565)]())}),R=(Q.PrivateKey=R,S[w(153)](w(2675),function(){var M=w;this[M(611)]()[M(882)](this[M(513)](M(1808)).seq()[M(882)](this[M(513)]("id")[M(1085)](),this[M(513)](M(1619))[M(611)]()[M(882)](this[M(513)](M(530))[M(611)]()[M(882)](this[M(513)]("id").objid(),this[M(513)]("kdeparams")[M(611)]().obj(this[M(513)]("salt")[M(2565)](),this[M(513)](M(1837))[M(630)]())),this[M(513)](M(2105))[M(611)]()[M(882)](this.key(M(494))[M(1085)](),this[M(513)]("iv")[M(2565)]()))),this[M(513)](M(1177))[M(2565)]())})),R=(Q[w(1307)]=R,S[w(153)]("DSAPrivateKey",function(){var M=w;this[M(611)]()[M(882)](this[M(513)](M(361)).int(),this.key("p")[M(630)](),this[M(513)]("q")[M(630)](),this.key("g")[M(630)](),this.key("pub_key").int(),this.key(M(1979))[M(630)]())})),R=(Q[w(1738)]=R,Q[w(706)]=S[w(153)](w(706),function(){var M=w;this[M(630)]()}),S.define("ECPrivateKey",function(){var M=w;this[M(611)]().obj(this[M(513)](M(361))[M(630)](),this[M(513)](M(2173)).octstr(),this[M(513)]("parameters")[M(2347)]().explicit(0)[M(852)](P),this[M(513)]("publicKey")[M(2347)]()[M(1654)](1)[M(1104)]())})),P=(Q[w(2159)]=R,S[w(153)](w(2783),function(){this.choice({namedCurve:this.objid()})}));Q[w(1957)]=S[w(153)](w(1957),function(){var M=w;this.seq()[M(882)](this.key("r")[M(630)](),this[M(513)]("s").int())})},41934:(B,Q,J)=>{var w=Ut,J=J(39809),S=J.define(w(1391),function(){var K=w;this[K(670)]({utcTime:this.utctime(),generalTime:this.gentime()})}),D=J[w(153)]("AttributeTypeValue",function(){var K=w;this[K(611)]()[K(882)](this[K(513)]("type")[K(1085)](),this[K(513)](K(242))[K(1419)]())}),R=J.define(w(1106),function(){var K=w;this[K(611)]().obj(this[K(513)]("algorithm").objid(),this[K(513)]("parameters").optional(),this[K(513)](K(1354))[K(1085)]()[K(2347)]())}),P=J.define(w(1349),function(){var K=w;this[K(611)]()[K(882)](this.key(K(1808))[K(852)](R),this[K(513)](K(1135))[K(1104)]())}),M=J.define("RelativeDistinguishedName",function(){this.setof(D)}),L=J[w(153)](w(1363),function(){var K=w;this[K(336)](M)}),F=J[w(153)]("Name",function(){var K=w;this[K(670)]({rdnSequence:this[K(852)](L)})}),k=J.define(w(2379),function(){var K=w;this[K(611)]().obj(this[K(513)](K(365)).use(S),this.key("notAfter").use(S))}),N=J.define(w(1924),function(){var K=w;this.seq()[K(882)](this[K(513)](K(2630))[K(1085)](),this[K(513)](K(1333))[K(814)]()[K(1685)](!1),this[K(513)]("extnValue").octstr())}),G=J[w(153)](w(786),function(){var K=w;this[K(611)]().obj(this[K(513)](K(361))[K(1654)](0)[K(630)]()[K(2347)](),this.key(K(2295))[K(630)](),this[K(513)]("signature")[K(852)](R),this.key(K(2642))[K(852)](F),this[K(513)](K(1827))[K(852)](k),this[K(513)](K(1514)).use(F),this[K(513)](K(1858))[K(852)](P),this[K(513)](K(2599))[K(1634)](1)[K(1104)]().optional(),this[K(513)](K(756))[K(1634)](2).bitstr()[K(2347)](),this[K(513)](K(364))[K(1654)](3).seqof(N)[K(2347)]())}),J=J[w(153)](w(957),function(){var K=w;this[K(611)]()[K(882)](this[K(513)]("tbsCertificate")[K(852)](G),this.key(K(261))[K(852)](R),this[K(513)](K(622))[K(1104)]())});B[w(1729)]=J},77631:(B,Q,T)=>{var w=Ut,S=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m,D=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,R=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m,P=T(13048),M=T(44696),L=T(89509)[w(1641)];B[w(1729)]=function(K,k){var N=w,G,J,K=K[N(1888)](),X=K[N(373)](S),q=X?(J="aes"+X[1],q=L[N(2047)](X[2],N(495)),G=L[N(2047)](X[3][N(1850)](/[\r\n]/g,""),N(663)),k=P(k,q.slice(0,8),parseInt(X[1],10))[N(513)],X=[],J=M[N(1155)](J,k,q),X.push(J[N(1002)](G)),X[N(182)](J[N(735)]()),L[N(1544)](X)):(k=K[N(373)](R),L.from(k[2].replace(/[\r\n]/g,""),N(663)));return{tag:K[N(373)](D)[1],data:q}}},70980:(B,Q,T)=>{var w=Ut,S=T(52818),D=T(22562),R=T(77631),P=T(44696),M=T(25632),L=T(89509)[w(1641)];(B[w(1729)]=function(F){var k=w;typeof F!="object"||L[k(1302)](F)||(N=F[k(2061)],F=F[k(513)]),k(1896)==typeof F&&(F=L[k(2047)](F));var N,G,J,K,X,q,ee,ie,H,le,ue=(F=R(F,N))[k(904)],Ae=F[k(1613)];switch(ue){case k(775):J=S[k(2150)][k(2758)](Ae,k(1488)).tbsCertificate[k(1858)];case"PUBLIC KEY":switch(G=(J=J||S.PublicKey[k(2758)](Ae,"der"))[k(1808)][k(1808)][k(951)](".")){case k(2551):return S[k(353)][k(2758)](J[k(1135)][k(1613)],"der");case k(1325):return J[k(1177)]=J.subjectPublicKey,{type:"ec",data:J};case"1.2.840.10040.4.1":return J.algorithm[k(1238)][k(2386)]=S[k(706)][k(2758)](J[k(1135)][k(1613)],k(1488)),{type:k(1597),data:J[k(1808)][k(1238)]};default:throw new Error(k(2213)+G)}case k(446):ie=N,H=(q=Ae=S[k(1307)].decode(Ae,"der"))[k(1808)].decrypt[k(530)][k(2179)].salt,le=parseInt(q[k(1808)][k(1619)][k(530)][k(2179)][k(1837)].toString(),10),K=D[q[k(1808)][k(1619)][k(2105)][k(494)].join(".")],X=q[k(1808)].decrypt[k(2105)].iv,q=q[k(1177)],ee=parseInt(K.split("-")[1],10)/8,ie=M[k(2791)](ie,H,le,ee,"sha1"),H=P[k(1155)](K,ie,X),(le=[])[k(182)](H[k(1002)](q)),le[k(182)](H.final()),Ae=L[k(1544)](le);case k(2326):switch(G=(J=S[k(1154)][k(2758)](Ae,k(1488)))[k(1808)][k(1808)][k(951)](".")){case k(2551):return S[k(1670)].decode(J[k(1177)],k(1488));case k(1325):return{curve:J.algorithm.curve,privateKey:S[k(2159)][k(2758)](J[k(1177)],k(1488)).privateKey};case k(1748):return J[k(1808)][k(1238)][k(1979)]=S[k(706)][k(2758)](J[k(1177)],"der"),{type:"dsa",params:J[k(1808)][k(1238)]};default:throw new Error("unknown key id "+G)}case"RSA PUBLIC KEY":return S[k(353)][k(2758)](Ae,k(1488));case"RSA PRIVATE KEY":return S[k(1670)][k(2758)](Ae,k(1488));case k(2773):return{type:"dsa",params:S[k(1738)][k(2758)](Ae,k(1488))};case k(2053):return{curve:(Ae=S[k(2159)][k(2758)](Ae,"der"))[k(139)][k(242)],privateKey:Ae[k(2173)]};default:throw new Error("unknown key type "+ue)}}).signature=S[w(1957)]},62520:(B,Q,T)=>{var w={};(function(){"use strict";var S=Ut,D,R,P,M,L,F=S(386)===w[S(1991)],k=T(89539);function N(G,J){for(var K=S,X=0,q=G.length-1;0<=q;q--){var ee=G[q];ee==="."?G.splice(q,1):ee===".."?(G[K(2139)](q,1),X++):X&&(G[K(2139)](q,1),X--)}if(J)for(;X--;)G[K(2254)]("..");return G}F?(D=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/,R=/^([\s\S]*?)((?:\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))(?:[\\\/]*)$/,L=function(K){var K=D.exec(K),J=(K[1]||"")+(K[2]||""),K=K[3]||"",K=R.exec(K);return[J,K[1],K[2],K[3]]},P=function(G){var J=S;return"\\\\"+G[J(1850)](/^[\\\/]+/,"")[J(1850)](/[\\\/]+/g,"\\")},Q[S(1348)]=function(){for(var G=S,J,K="",X="",q=!1,ee=arguments.length-1;-1<=ee;ee--){if(0<=ee?J=arguments[ee]:K?(J=w[G(2674)]["="+K])&&J[G(2539)](0,3)[G(1096)]()===K[G(1096)]()+"\\"||(J=K+"\\"):J=w[G(894)](),!k[G(286)](J))throw new TypeError(G(1444));if(J){var ue=D[G(2268)](J),ie=ue[1]||"",H=ie&&ie[G(481)](1)!==":",le=Q[G(1567)](J),ue=ue[3];if((!ie||!K||ie.toLowerCase()===K.toLowerCase())&&(q||(X=ue+"\\"+X,q=le),(K=K||ie)&&q))break}}return(K=H?P(K):K)+(q?"\\":"")+N(X[G(2259)](/[\\\/]+/)[G(711)](function(Ae){return!!Ae}),!q)[G(951)]("\\")||"."},Q.normalize=function(q){var J=S,ee=D[J(2268)](q),K=ee[1]||"",X=K&&K[J(481)](1)!==":",q=Q[J(1567)](q),ee=ee[3],ie=/[\\\/]$/.test(ee);return K&&K[J(481)](1)===":"&&(K=K[0].toLowerCase()+K[J(2539)](1)),(ee=(ee=N(ee[J(2259)](/[\\\/]+/).filter(function(H){return!!H}),!q).join("\\"))||q?ee:".")&&ie&&(ee+="\\"),(K=X?P(K):K)+(q?"\\":"")+ee},Q[S(1567)]=function(K){var J=S,K=D.exec(K),X=K[1]||"",X=!!X&&X[J(481)](1)!==":";return!!K[2]||X},Q[S(951)]=function(){var G=S,J=Array.prototype[G(711)].call(arguments,function(X){var q=G;if(k[q(286)](X))return X;throw new TypeError(q(2261))}),K=J[G(951)]("\\");return/^[\\\/]{2}[^\\\/]/[G(1172)](J[0])||(K=K[G(1850)](/^[\\\/]{2,}/,"\\")),Q[G(834)](K)},Q.relative=function(X,J){var K=S;X=Q[K(1348)](X),J=Q[K(1348)](J);var X=X.toLowerCase(),q=J[K(1096)]();function ee(fe){for(var ae=K,U=0;U<fe[ae(1383)]&&fe[U]==="";U++);for(var W=fe[ae(1383)]-1;0<=W&&fe[W]==="";W--);return W<U?[]:fe.slice(U,W+1)}for(var ie=ee(J[K(2259)]("\\")),H=ee(X[K(2259)]("\\")),le=ee(q[K(2259)]("\\")),ue=Math.min(H[K(1383)],le[K(1383)]),Ae=ue,he=0;he<ue;he++)if(H[he]!==le[he]){Ae=he;break}if(Ae==0)return J;for(var ge=[],he=Ae;he<H[K(1383)];he++)ge.push("..");return(ge=ge[K(1544)](ie.slice(Ae)))[K(951)]("\\")},Q[S(1622)]="\\",Q[S(1351)]=";"):(M=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,L=function(G){return M.exec(G).slice(1)},Q[S(1348)]=function(){for(var G=S,J="",K=!1,X=arguments.length-1;-1<=X&&!K;X--){var q=0<=X?arguments[X]:w[G(894)]();if(!k[G(286)](q))throw new TypeError(G(1444));q&&(J=q+"/"+J,K=q[G(481)](0)==="/")}return(K?"/":"")+N(J.split("/")[G(711)](function(ee){return!!ee}),!K)[G(951)]("/")||"."},Q[S(834)]=function(G){for(var J=S,K=Q.isAbsolute(G),X=G[G.length-1]==="/",q=G[J(2259)]("/"),ee=[],ie=0;ie<q[J(1383)];ie++)q[ie]&&ee.push(q[ie]);return(G=(G=N(ee,!K)[J(951)]("/"))||K?G:".")&&X&&(G+="/"),(K?"/":"")+G},Q[S(1567)]=function(G){var J=S;return G[J(481)](0)==="/"},Q[S(951)]=function(){for(var G=S,J="",K=0;K<arguments[G(1383)];K++){var X=arguments[K];if(!k[G(286)](X))throw new TypeError("Arguments to path.join must be strings");X&&(J+=J?"/"+X:X)}return Q.normalize(J)},Q.relative=function(G,J){var K=S;function X(Ae){for(var he=Ut,ge=0;ge<Ae.length&&Ae[ge]==="";ge++);for(var fe=Ae[he(1383)]-1;0<=fe&&Ae[fe]==="";fe--);return fe<ge?[]:Ae[he(2679)](ge,fe+1)}G=Q[K(1348)](G)[K(2539)](1),J=Q[K(1348)](J).substr(1);for(var q=X(G[K(2259)]("/")),ee=X(J.split("/")),ie=Math.min(q[K(1383)],ee[K(1383)]),H=ie,le=0;le<ie;le++)if(q[le]!==ee[le]){H=le;break}for(var ue=[],le=H;le<q.length;le++)ue[K(182)]("..");return(ue=ue.concat(ee[K(2679)](H)))[K(951)]("/")},Q.sep="/",Q[S(1351)]=":"),Q[S(1529)]=function(X){var J=S,X=L(X),K=X[0],X=X[1];return K||X?K+(X&&X[J(2539)](0,X.length-1)):"."},Q[S(2365)]=function(G,J){var K=S;return G=L(G)[2],J&&G[K(2539)](-1*J[K(1383)])===J?G[K(2539)](0,G[K(1383)]-J[K(1383)]):G},Q[S(671)]=function(G){return L(G)[3]},Q[S(1295)]=k[S(519)](function(G,J){var K=S;T(17354)[K(1295)](G,J)},S(2716)),Q.existsSync=k[S(519)](function(G){var J=S;return T(17354)[J(271)](G)},"path.existsSync is now called `fs.existsSync`."),Q._makeLong=F?function(G){var J=S;if(!k[J(286)](G))return G;if(!G)return"";var K=Q[J(1348)](G);return/^[a-zA-Z]\:\\/[J(1172)](K)?J(1701)+K:/^\\\\[^?.]/[J(1172)](K)?J(876)+K[J(356)](2):G}:function(G){return G}})()},25632:(B,Q,T)=>{var w=Ut;Q[w(2457)]=T(88638),Q[w(2791)]=T(91257)},88638:(B,Q,T)=>{var w=Ut,S,D,R=T(89509)[w(1641)],P=T(77357),M=T(12368),L=T(91257),F=T(57777),k=T.g.crypto&&T.g[w(2278)][w(1894)],N={sha:"SHA-1","sha-1":w(1937),sha1:w(1937),sha256:w(1672),"sha-256":w(1672),sha384:"SHA-384","sha-384":w(1402),"sha-512":w(824),sha512:w(824)},G=[];function J(){var X=w;return D=D||(T.g[X(2436)]&&T.g[X(2436)][X(1475)]?T.g[X(2436)][X(1475)]:T.g[X(1699)]||T.g.setImmediate||T.g[X(2423)])}function K(X,q,ee,ie,H){var le=w;return k[le(2764)](le(1427),X,{name:le(774)},!1,[le(1678)]).then(function(ue){var Ae=le;return k[Ae(1678)]({name:Ae(774),salt:q,iterations:ee,hash:{name:H}},ue,ie<<3)})[le(2401)](function(ue){var Ae=le;return R[Ae(2047)](ue)})}B[w(1729)]=function(X,q,ee,ie,H,le){var ue=w;typeof H=="function"&&(le=H,H=void 0);var Ae,he,ge=N[(H=H||"sha1")[ue(1096)]()];if(ge&&ue(1451)==typeof T.g.Promise){if(P(ee,ie),X=F(X,M,ue(1972)),q=F(q,M,ue(2651)),ue(1451)!=typeof le)throw new Error(ue(2027));Ae=function(fe){var ae=ue;if(T.g[ae(2436)]&&!T.g.process.browser)return Promise.resolve(!1);if(!k||!k[ae(2764)]||!k[ae(1678)])return Promise[ae(1348)](!1);if(G[fe]!==void 0)return G[fe];var U=K(S=S||R[ae(1581)](8),S,10,128,fe)[ae(2401)](function(){return!0})[ae(779)](function(){return!1});return G[fe]=U}(ge)[ue(2401)](function(fe){return fe?K(X,q,ee,ie,ge):L(X,q,ee,ie,H)}),he=le,Ae.then(function(fe){J()(function(){he(null,fe)})},function(fe){J()(function(){he(fe)})})}else J()(function(){var fe;try{fe=L(X,q,ee,ie,H)}catch(ae){return le(ae)}le(null,fe)})}},12368:(B,Q,D)=>{var w=Ut,S=D(34155),D=D.g[w(2436)]&&D.g.process.browser||!D.g[w(2436)]||!D.g.process[w(361)]||6<=parseInt(S[w(361)][w(2259)](".")[0].slice(1),10)?w(1187):w(2113);B[w(1729)]=D},77357:B=>{var Q=Ut,T=Math.pow(2,30)-1;B[Q(1729)]=function(w,S){var D=Q;if(typeof w!="number")throw new TypeError("Iterations not a number");if(w<0)throw new TypeError(D(1620));if(D(2013)!=typeof S)throw new TypeError(D(1516));if(S<0||T<S||S!=S)throw new TypeError(D(1326))}},91257:(B,Q,T)=>{var w=Ut,S=T(78028),D=T(79785),R=T(89072),P=T(89509).Buffer,M=T(77357),L=T(12368),F=T(57777),k=P.alloc(128),N={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function G(J,K,X){for(var q=Ut,ee,ie=q(1971)===(ee=J)||q(838)===ee?function(he){var ge=q;return new D().update(he)[ge(593)]()}:q(1785)===ee?S:function(he){var ge=q;return R(ee).update(he)[ge(593)]()},H=q(720)===J||q(2678)===J?128:64,le=(K[q(1383)]>H?K=ie(K):K[q(1383)]<H&&(K=P[q(1544)]([K,k],H)),P[q(960)](H+N[J])),ue=P[q(960)](H+N[J]),Ae=0;Ae<H;Ae++)le[Ae]=54^K[Ae],ue[Ae]=92^K[Ae];X=P.allocUnsafe(H+X+4),le.copy(X,0,0,H),this[q(2046)]=X,this[q(1069)]=le,this[q(1978)]=ue,this.alg=J,this[q(2627)]=H,this.hash=ie,this.size=N[J]}G[w(1166)][w(2407)]=function(J,K){var X=w;return J[X(1830)](K,this.blocksize),this[X(658)](K)[X(1830)](this.opad,this.blocksize),this[X(658)](this[X(1978)])},B[w(1729)]=function(J,K,X,q,ee){var ie=w;M(X,q);for(var H=new G(ee=ee||ie(1590),J=F(J,L,ie(1972)),(K=F(K,L,"Salt")).length),le=P[ie(960)](q),ue=P.allocUnsafe(K[ie(1383)]+4),Ae=(K[ie(1830)](ue,0,0,K[ie(1383)]),0),he=N[ee],ge=Math[ie(1266)](q/he),fe=1;fe<=ge;fe++){ue[ie(1833)](fe,K[ie(1383)]);for(var ae=H[ie(2407)](ue,H.ipad1),U=ae,W=1;W<X;W++)for(var U=H.run(U,H[ie(1069)]),Y=0;Y<he;Y++)ae[Y]^=U[Y];ae[ie(1830)](le,Ae),Ae+=he}return le}},57777:(B,Q,T)=>{var w=Ut,S=T(89509)[w(1641)];B[w(1729)]=function(D,R,P){var M=w;if(S[M(1302)](D))return D;if(M(1896)==typeof D)return S[M(2047)](D,R);if(ArrayBuffer[M(2276)](D))return S[M(2047)](D[M(2026)]);throw new TypeError(P+" must be a string, a Buffer, a typed array or a DataView")}},34155:S=>{var Q=Ut,T,w,S=S[Q(1729)]={};function D(){var X=Q;throw new Error(X(521))}function R(){var X=Q;throw new Error(X(1205))}try{T=Q(1451)==typeof setTimeout?setTimeout:D}catch{T=D}try{w=Q(1451)==typeof clearTimeout?clearTimeout:R}catch{w=R}function P(X){if(T===setTimeout)return setTimeout(X,0);if((T===D||!T)&&setTimeout)return(T=setTimeout)(X,0);try{return T(X,0)}catch{try{return T.call(null,X,0)}catch{return T.call(this,X,0)}}}var M,L=[],F=!1,k=-1;function N(){var X=Q;F&&M&&(F=!1,M[X(1383)]?L=M[X(1544)](L):k=-1,L.length&&G())}function G(){var X=Q;if(!F){for(var q=P(N),ee=(F=!0,L[X(1383)]);ee;){for(M=L,L=[];++k<ee;)M&&M[k][X(2407)]();k=-1,ee=L[X(1383)]}M=null,F=!1,function(ie){var H=X;if(w===clearTimeout)return clearTimeout(ie);if((w===R||!w)&&clearTimeout)return(w=clearTimeout)(ie);try{w(ie)}catch{try{return w[H(2623)](null,ie)}catch{return w[H(2623)](this,ie)}}}(q)}}function J(X,q){var ee=Q;this[ee(2310)]=X,this.array=q}function K(){}S.nextTick=function(X){var q=Q,ee=new Array(arguments[q(1383)]-1);if(1<arguments[q(1383)])for(var ie=1;ie<arguments[q(1383)];ie++)ee[ie-1]=arguments[ie];L[q(182)](new J(X,ee)),L[q(1383)]!==1||F||P(G)},J[Q(1166)][Q(2407)]=function(){var X=Q;this[X(2310)][X(2559)](null,this.array)},S.title=Q(1450),S[Q(1450)]=!0,S.env={},S[Q(2474)]=[],S[Q(361)]="",S.versions={},S.on=K,S[Q(963)]=K,S[Q(2600)]=K,S[Q(2777)]=K,S[Q(2513)]=K,S.removeAllListeners=K,S[Q(445)]=K,S[Q(1061)]=K,S[Q(1303)]=K,S[Q(885)]=function(X){return[]},S[Q(873)]=function(X){throw new Error("process.binding is not supported")},S[Q(894)]=function(){return"/"},S[Q(540)]=function(X){var q=Q;throw new Error(q(135))},S[Q(1607)]=function(){return 0}},7900:(B,Q,T)=>{var w=Ut;Q[w(2274)]=T(16559),Q.privateDecrypt=T(26138),Q.privateEncrypt=function(S,D){var R=w;return Q[R(2274)](S,D,!0)},Q[w(1793)]=function(S,D){var R=w;return Q[R(751)](S,D,!0)}},99199:(B,Q,T)=>{var w=Ut,S=T(23482),D=T(89509)[w(1641)];B[w(1729)]=function(R,P){for(var M=w,L,F,k=D[M(1581)](0),N=0;k[M(1383)]<P;)L=N++,F=void 0,(F=D[M(960)](4))[M(1833)](L,0),L=F,k=D[M(1544)]([k,S(M(1590))[M(1002)](R).update(L)[M(593)]()]);return k.slice(0,P)}},92144:function(B,Q,T){var w=Ut;(function(S){"use strict";var D=Ut;function R(U,W){var Y=Ut;if(!U)throw new Error(W||Y(1719))}function P(U,W){var Y=Ut;function z(){}U[Y(1455)]=W,z[Y(1166)]=W.prototype,U[Y(1166)]=new z,U[Y(1166)][Y(2267)]=U}function M(U,W,Y){var z=Ut;if(M.isBN(U))return U;this[z(493)]=0,this.words=null,this[z(1383)]=0,(this[z(2178)]=null)!==U&&(W!=="le"&&W!=="be"||(Y=W,W=10),this[z(2151)](U||0,W||10,Y||"be"))}var L;D(1499)==typeof B?B[D(1729)]=M:S.BN=M,(M.BN=M)[D(883)]=26;try{L=(D(1506)!=typeof window&&window[D(1641)]!==void 0?window:T(77108))[D(1641)]}catch{}function F(U,W){var Y=D;return U=U[Y(2010)](W),65<=U&&U<=70?U-55:97<=U&&U<=102?U-87:U-48&15}function k(U,W,Y){var z=F(U,Y);return W<=Y-1&&(z|=F(U,Y-1)<<4),z}function N(U,W,Y,z){for(var re=D,Ce=0,se=Math[re(1869)](U[re(1383)],Y),de=W;de<se;de++)var me=U[re(2010)](de)-48,Ce=Ce*z+(49<=me?me-49+10:17<=me?me-17+10:me);return Ce}M[D(1346)]=function(U){var W=D;return U instanceof M||U!==null&&W(1499)==typeof U&&U[W(2267)].wordSize===M[W(883)]&&Array[W(2507)](U[W(660)])},M[D(323)]=function(U,W){return 0<U.cmp(W)?U:W},M[D(1869)]=function(U,W){var Y=D;return U[Y(526)](W)<0?U:W},M[D(1166)][D(2151)]=function(U,W,Y){var z=D;if(typeof U=="number")return this[z(1763)](U,W,Y);if(z(1499)==typeof U)return this[z(1263)](U,W,Y);R((W=z(495)===W?16:W)===(0|W)&&2<=W&&W<=36);var re=0;(U=U[z(1888)]().replace(/\s+/g,""))[0]==="-"&&(re++,this.negative=1),re<U.length&&(W===16?this[z(260)](U,re,Y):(this._parseBase(U,W,re),Y==="le"&&this[z(1263)](this[z(884)](),W,Y)))},M[D(1166)][D(1763)]=function(U,W,Y){var z=D;U<0&&(this[z(493)]=1,U=-U),U<67108864?(this[z(660)]=[67108863&U],this[z(1383)]=1):U<4503599627370496?(this[z(660)]=[67108863&U,U/67108864&67108863],this[z(1383)]=2):(R(U<9007199254740992),this[z(660)]=[67108863&U,U/67108864&67108863,1],this[z(1383)]=3),Y==="le"&&this[z(1263)](this.toArray(),W,Y)},M[D(1166)]._initArray=function(U,W,Y){var z=D;if(R(typeof U[z(1383)]=="number"),U.length<=0)return this.words=[0],this[z(1383)]=1,this;this[z(1383)]=Math[z(1266)](U[z(1383)]/3),this[z(660)]=new Array(this[z(1383)]);for(var re,se,de=0;de<this[z(1383)];de++)this[z(660)][de]=0;var me=0;if(Y==="be")for(de=U.length-1,re=0;0<=de;de-=3)se=U[de]|U[de-1]<<8|U[de-2]<<16,this[z(660)][re]|=se<<me&67108863,this[z(660)][re+1]=se>>>26-me&67108863,26<=(me+=24)&&(me-=26,re++);else if(Y==="le")for(re=de=0;de<U[z(1383)];de+=3)se=U[de]|U[de+1]<<8|U[de+2]<<16,this[z(660)][re]|=se<<me&67108863,this.words[re+1]=se>>>26-me&67108863,26<=(me+=24)&&(me-=26,re++);return this.strip()},M[D(1166)]._parseHex=function(U,W,Y){var z=D;this[z(1383)]=Math[z(1266)]((U[z(1383)]-W)/6),this[z(660)]=new Array(this[z(1383)]);for(var re=0;re<this[z(1383)];re++)this[z(660)][re]=0;var se,de=0,me=0;if(Y==="be")for(re=U[z(1383)]-1;W<=re;re-=2)se=k(U,W,re)<<de,this[z(660)][me]|=67108863&se,18<=de?(de-=18,this[z(660)][me+=1]|=se>>>26):de+=8;else for(re=(U.length-W)%2==0?W+1:W;re<U.length;re+=2)se=k(U,W,re)<<de,this[z(660)][me]|=67108863&se,18<=de?(de-=18,this[z(660)][me+=1]|=se>>>26):de+=8;this[z(968)]()},M[D(1166)][D(1834)]=function(U,W,Y){var z=D;this.words=[0];for(var re=0,se=this[z(1383)]=1;se<=67108863;se*=W)re++;for(var se=se/W|0,de=U[z(1383)]-Y,me=de%--re,Ce=Math[z(1869)](de,de-me)+Y,Ie=0,we=Y;we<Ce;we+=re)Ie=N(U,we,we+re,W),this[z(683)](se),this.words[0]+Ie<67108864?this.words[0]+=Ie:this[z(2079)](Ie);if(me!=0){for(var Te=1,Ie=N(U,we,U.length,W),we=0;we<me;we++)Te*=W;this.imuln(Te),this[z(660)][0]+Ie<67108864?this.words[0]+=Ie:this[z(2079)](Ie)}this[z(968)]()},M[D(1166)][D(1830)]=function(U){var W=D;U[W(660)]=new Array(this.length);for(var Y=0;Y<this[W(1383)];Y++)U[W(660)][Y]=this.words[Y];U[W(1383)]=this[W(1383)],U[W(493)]=this[W(493)],U.red=this[W(2178)]},M[D(1166)].clone=function(){var U=D,W=new M(null);return this[U(1830)](W),W},M[D(1166)]._expand=function(U){for(var W=D;this[W(1383)]<U;)this.words[this.length++]=0;return this},M.prototype.strip=function(){for(var U=D;1<this[U(1383)]&&this[U(660)][this[U(1383)]-1]===0;)this[U(1383)]--;return this[U(1049)]()},M[D(1166)][D(1049)]=function(){var U=D;return this[U(1383)]===1&&this[U(660)][0]===0&&(this[U(493)]=0),this},M[D(1166)][D(1035)]=function(){var U=D;return(this.red?"<BN-R: ":U(780))+this.toString(16)+">"};var G=["","0","00",D(2453),D(1548),D(1144),D(536),D(259),D(178),D(748),"0000000000",D(2680),"000000000000","0000000000000",D(1640),D(313),D(438),D(1270),D(767),D(1315),D(1048),D(2229),D(2042),D(1733),"000000000000000000000000",D(2157)],J=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],K=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function X(U,W,Y){var z=D;Y[z(493)]=W[z(493)]^U[z(493)];var re=U.length+W[z(1383)]|0,re=(Y[z(1383)]=re)-1|0,se=(me=(0|U[z(660)][0])*(0|W[z(660)][0]))/67108864|0;Y.words[0]=67108863&me;for(var de=1;de<re;de++){for(var me,Ce=se>>>26,Ie=67108863&se,we=Math[z(1869)](de,W[z(1383)]-1),Te=Math[z(323)](0,de-U[z(1383)]+1);Te<=we;Te++)Ce+=(me=(0|U.words[de-Te|0])*(0|W[z(660)][Te])+Ie)/67108864|0,Ie=67108863&me;Y.words[de]=0|Ie,se=0|Ce}return se!==0?Y[z(660)][de]=0|se:Y[z(1383)]--,Y[z(968)]()}M[D(1166)].toString=function(U,W){var Y=D;if(W=0|W||1,(U=U||10)===16||Y(495)===U){for(var z="",re=0,se=0,de=0;de<this.length;de++){var me=this.words[de],Ce=(16777215&(me<<re|se))[Y(1888)](16),z=(se=me>>>24-re&16777215)!=0||de!==this[Y(1383)]-1?G[6-Ce[Y(1383)]]+Ce+z:Ce+z;26<=(re+=2)&&(re-=26,de--)}for(se!==0&&(z=se[Y(1888)](16)+z);z[Y(1383)]%W!=0;)z="0"+z;return this[Y(493)]!==0?"-"+z:z}if(U===(0|U)&&2<=U&&U<=36){var Ie=J[U],we=K[U];for(z="",(Te=this[Y(2164)]()).negative=0;!Te[Y(2356)]();){var Te,Ge=Te[Y(1825)](we).toString(U);z=(Te=Te[Y(2593)](we)).isZero()?Ge+z:G[Ie-Ge[Y(1383)]]+Ge+z}for(this.isZero()&&(z="0"+z);z.length%W!=0;)z="0"+z;return this[Y(493)]!==0?"-"+z:z}R(!1,Y(1731))},M[D(1166)][D(1312)]=function(){var U=D,W=this.words[0];return this[U(1383)]===2?W+=67108864*this[U(660)][1]:this[U(1383)]===3&&this[U(660)][2]===1?W+=4503599627370496+67108864*this[U(660)][1]:2<this[U(1383)]&&R(!1,U(1421)),this[U(493)]!==0?-W:W},M[D(1166)][D(2639)]=function(){return this.toString(16)},M[D(1166)].toBuffer=function(U,W){var Y=D;return R(L!==void 0),this[Y(1299)](L,U,W)},M[D(1166)][D(884)]=function(U,W){var Y=D;return this[Y(1299)](Array,U,W)},M[D(1166)][D(1299)]=function(U,W,Ce){var z=D,re,se,de=this[z(250)](),me=Ce||Math[z(323)](1,de),Ce=(R(de<=me,z(2736)),R(0<me,"Requested array length <= 0"),this[z(968)](),W==="le"),Ie=new U(me),we=this[z(2164)]();if(Ce){for(se=0;!we[z(2356)]();se++)re=we[z(329)](255),we[z(1487)](8),Ie[se]=re;for(;se<me;se++)Ie[se]=0}else{for(se=0;se<me-de;se++)Ie[se]=0;for(se=0;!we.isZero();se++)re=we.andln(255),we[z(1487)](8),Ie[me-se-1]=re}return Ie},Math[D(207)]?M[D(1166)]._countBits=function(U){var W=D;return 32-Math[W(207)](U)}:M[D(1166)][D(623)]=function(U){var W=0;return 4096<=U&&(W+=13,U>>>=13),64<=U&&(W+=7,U>>>=7),8<=U&&(W+=4,U>>>=4),2<=U&&(W+=2,U>>>=2),W+U},M[D(1166)][D(1095)]=function(U){if(U===0)return 26;var W=0;return(8191&U)==0&&(W+=13,U>>>=13),(127&U)==0&&(W+=7,U>>>=7),(15&U)==0&&(W+=4,U>>>=4),(3&U)==0&&(W+=2,U>>>=2),(1&U)==0&&W++,W},M[D(1166)][D(485)]=function(){var U=this.words[this.length-1],U=this._countBits(U);return 26*(this.length-1)+U},M[D(1166)][D(1820)]=function(){var U=D;if(this[U(2356)]())return 0;for(var W=0,Y=0;Y<this[U(1383)];Y++){var z=this[U(1095)](this.words[Y]);if(W+=z,z!==26)break}return W},M[D(1166)][D(250)]=function(){var U=D;return Math[U(1266)](this[U(485)]()/8)},M[D(1166)][D(180)]=function(U){var W=D;return this[W(493)]!==0?this.abs()[W(2519)](U)[W(2695)](1):this[W(2164)]()},M[D(1166)][D(1845)]=function(U){var W=D;return this.testn(U-1)?this[W(516)](U)[W(2695)](1)[W(919)]():this[W(2164)]()},M[D(1166)].isNeg=function(){var U=D;return this[U(493)]!==0},M[D(1166)][D(828)]=function(){var U=D;return this.clone()[U(919)]()},M[D(1166)][D(919)]=function(){return this.isZero()||(this.negative^=1),this},M[D(1166)].iuor=function(U){for(var W=D;this[W(1383)]<U.length;)this[W(660)][this[W(1383)]++]=0;for(var Y=0;Y<U[W(1383)];Y++)this[W(660)][Y]=this[W(660)][Y]|U[W(660)][Y];return this[W(968)]()},M.prototype[D(699)]=function(U){return R((this.negative|U.negative)==0),this.iuor(U)},M.prototype.or=function(U){var W=D;return this[W(1383)]>U.length?this[W(2164)]().ior(U):U.clone().ior(this)},M[D(1166)][D(2354)]=function(U){var W=D;return this[W(1383)]>U[W(1383)]?this.clone()[W(776)](U):U[W(2164)]()[W(776)](this)},M[D(1166)][D(709)]=function(U){for(var W=D,Y=this[W(1383)]>U[W(1383)]?U:this,z=0;z<Y.length;z++)this[W(660)][z]=this[W(660)][z]&U[W(660)][z];return this[W(1383)]=Y[W(1383)],this[W(968)]()},M.prototype.iand=function(U){var W=D;return R((this[W(493)]|U.negative)==0),this[W(709)](U)},M[D(1166)][D(2377)]=function(U){var W=D;return this.length>U[W(1383)]?this[W(2164)]()[W(560)](U):U[W(2164)]()[W(560)](this)},M[D(1166)].uand=function(U){var W=D;return this[W(1383)]>U[W(1383)]?this.clone().iuand(U):U[W(2164)]()[W(709)](this)},M.prototype[D(2796)]=function(U){for(var W=D,Y,z=this[W(1383)]>U.length?(Y=this,U):(Y=U,this),re=0;re<z[W(1383)];re++)this.words[re]=Y[W(660)][re]^z[W(660)][re];if(this!==Y)for(;re<Y[W(1383)];re++)this[W(660)][re]=Y.words[re];return this.length=Y.length,this.strip()},M[D(1166)].ixor=function(U){var W=D;return R((this[W(493)]|U[W(493)])==0),this[W(2796)](U)},M[D(1166)][D(1397)]=function(U){var W=D;return this[W(1383)]>U[W(1383)]?this[W(2164)]()[W(1283)](U):U[W(2164)]()[W(1283)](this)},M[D(1166)][D(2024)]=function(U){var W=D;return this[W(1383)]>U[W(1383)]?this[W(2164)]()[W(2796)](U):U[W(2164)]().iuxor(this)},M[D(1166)][D(2519)]=function(z){var W=D;R(typeof z=="number"&&0<=z);var Y=0|Math[W(1266)](z/26),z=z%26;this[W(159)](Y),0<z&&Y--;for(var re=0;re<Y;re++)this[W(660)][re]=67108863&~this[W(660)][re];return 0<z&&(this[W(660)][re]=~this[W(660)][re]&67108863>>26-z),this[W(968)]()},M[D(1166)][D(516)]=function(U){var W=D;return this[W(2164)]()[W(2519)](U)},M[D(1166)][D(237)]=function(re,W){var Y=D;R(Y(2013)==typeof re&&0<=re);var z=re/26|0,re=re%26;return this._expand(1+z),this[Y(660)][z]=W?this.words[z]|1<<re:this[Y(660)][z]&~(1<<re),this[Y(968)]()},M.prototype[D(187)]=function(U){var W=D,Y,z;if(this[W(493)]!==0&&U[W(493)]===0)return this[W(493)]=0,Y=this[W(258)](U),this[W(493)]^=1,this._normSign();if(this[W(493)]===0&&U.negative!==0)return U.negative=0,Y=this[W(258)](U),U[W(493)]=1,Y._normSign();for(var re=this[W(1383)]>U[W(1383)]?(z=this,U):(z=U,this),se=0,de=0;de<re[W(1383)];de++)Y=(0|z[W(660)][de])+(0|re[W(660)][de])+se,this[W(660)][de]=67108863&Y,se=Y>>>26;for(;se!==0&&de<z[W(1383)];de++)Y=(0|z[W(660)][de])+se,this.words[de]=67108863&Y,se=Y>>>26;if(this[W(1383)]=z[W(1383)],se!==0)this.words[this[W(1383)]]=se,this[W(1383)]++;else if(z!==this)for(;de<z[W(1383)];de++)this[W(660)][de]=z[W(660)][de];return this},M[D(1166)][D(2400)]=function(U){var W=D,Y;return U[W(493)]!==0&&this[W(493)]===0?(U.negative=0,Y=this.sub(U),U.negative^=1,Y):U[W(493)]===0&&this.negative!==0?(this[W(493)]=0,Y=U[W(1550)](this),this[W(493)]=1,Y):this[W(1383)]>U.length?this[W(2164)]().iadd(U):U[W(2164)]().iadd(this)},M.prototype[D(258)]=function(U){var W=D,Y;if(U.negative!==0)return U.negative=0,Y=this[W(187)](U),U[W(493)]=1,Y[W(1049)]();if(this.negative!==0)return this[W(493)]=0,this[W(187)](U),this[W(493)]=1,this[W(1049)]();var z,re=this[W(526)](U);if(re===0)return this[W(493)]=0,this[W(1383)]=1,this[W(660)][0]=0,this;for(var se=0<re?(z=this,U):(z=U,this),de=0,me=0;me<se[W(1383)];me++)de=(Y=(0|z[W(660)][me])-(0|se.words[me])+de)>>26,this.words[me]=67108863&Y;for(;de!==0&&me<z[W(1383)];me++)de=(Y=(0|z[W(660)][me])+de)>>26,this[W(660)][me]=67108863&Y;if(de===0&&me<z.length&&z!==this)for(;me<z.length;me++)this[W(660)][me]=z.words[me];return this[W(1383)]=Math[W(323)](this[W(1383)],me),z!==this&&(this[W(493)]=1),this[W(968)]()},M[D(1166)][D(1550)]=function(U){var W=D;return this[W(2164)]()[W(258)](U)};var q=function(ve,nt,Y){var z=D,Je=ve[z(660)],Lt=nt[z(660)],re=Y[z(660)],pi=0|Je[0],jt=8191&pi,pi=pi>>>13,_t=0|Je[1],xi=8191&_t,_t=_t>>>13,de=0|Je[2],se=8191&de,de=de>>>13,Ce=0|Je[3],me=8191&Ce,Ce=Ce>>>13,we=0|Je[4],Ie=8191&we,we=we>>>13,Ge=0|Je[5],Te=8191&Ge,Ge=Ge>>>13,Oe=0|Je[6],ke=8191&Oe,Oe=Oe>>>13,be=0|Je[7],Le=8191&be,be=be>>>13,Ue=0|Je[8],Ne=8191&Ue,Ue=Ue>>>13,Je=0|Je[9],ze=8191&Je,Je=Je>>>13,Wt=0|Lt[0],Ei=8191&Wt,Wt=Wt>>>13,Kt=0|Lt[1],mi=8191&Kt,Kt=Kt>>>13,Ht=0|Lt[2],Mt=8191&Ht,Ht=Ht>>>13,et=0|Lt[3],Xe=8191&et,et=et>>>13,Et=0|Lt[4],ot=8191&Et,Et=Et>>>13,ct=0|Lt[5],Ct=8191&ct,ct=ct>>>13,Qt=0|Lt[6],yt=8191&Qt,Qt=Qt>>>13,ut=0|Lt[7],Ze=8191&ut,ut=ut>>>13,gt=0|Lt[8],St=8191>,gt=gt>>>13,Lt=0|Lt[9],xt=8191&Lt,Lt=Lt>>>13,nt=(Y[z(493)]=ve[z(493)]^nt[z(493)],Y.length=19,(0+Math.imul(jt,Ei)|0)+((8191&(ve=Math[z(1805)](jt,Wt)+Math[z(1805)](pi,Ei)|0))<<13)|0),ti=(Math[z(1805)](pi,Wt)+(ve>>>13)|0)+(nt>>>26)|0,Pe=(nt&=67108863,Math[z(1805)](xi,Ei)),ve=Math[z(1805)](xi,Wt)+Math.imul(_t,Ei)|0,We=Math.imul(_t,Wt),bt=(ti+(Pe+Math.imul(jt,mi)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,Kt)|0)+Math[z(1805)](pi,mi)|0))<<13)|0,Pt=(ti=((We+Math[z(1805)](pi,Kt)|0)+(ve>>>13)|0)+(bt>>>26)|0,bt&=67108863,Pe=Math.imul(se,Ei),ve=Math[z(1805)](se,Wt)+Math.imul(de,Ei)|0,We=Math[z(1805)](de,Wt),Pe=Pe+Math[z(1805)](xi,mi)|0,ve=(ve+Math[z(1805)](xi,Kt)|0)+Math[z(1805)](_t,mi)|0,We=We+Math[z(1805)](_t,Kt)|0,(ti+(Pe+Math.imul(jt,Mt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,Ht)|0)+Math[z(1805)](pi,Mt)|0))<<13)|0),It=(ti=((We+Math.imul(pi,Ht)|0)+(ve>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,Pe=Math.imul(me,Ei),ve=Math.imul(me,Wt)+Math.imul(Ce,Ei)|0,We=Math.imul(Ce,Wt),Pe=Pe+Math.imul(se,mi)|0,ve=(ve+Math.imul(se,Kt)|0)+Math[z(1805)](de,mi)|0,We=We+Math[z(1805)](de,Kt)|0,Pe=Pe+Math[z(1805)](xi,Mt)|0,ve=(ve+Math[z(1805)](xi,Ht)|0)+Math[z(1805)](_t,Mt)|0,We=We+Math.imul(_t,Ht)|0,(ti+(Pe+Math[z(1805)](jt,Xe)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,et)|0)+Math[z(1805)](pi,Xe)|0))<<13)|0),Mi=(ti=((We+Math[z(1805)](pi,et)|0)+(ve>>>13)|0)+(It>>>26)|0,It&=67108863,Pe=Math.imul(Ie,Ei),ve=Math[z(1805)](Ie,Wt)+Math[z(1805)](we,Ei)|0,We=Math[z(1805)](we,Wt),Pe=Pe+Math.imul(me,mi)|0,ve=(ve+Math[z(1805)](me,Kt)|0)+Math[z(1805)](Ce,mi)|0,We=We+Math[z(1805)](Ce,Kt)|0,Pe=Pe+Math[z(1805)](se,Mt)|0,ve=(ve+Math[z(1805)](se,Ht)|0)+Math[z(1805)](de,Mt)|0,We=We+Math[z(1805)](de,Ht)|0,Pe=Pe+Math[z(1805)](xi,Xe)|0,ve=(ve+Math.imul(xi,et)|0)+Math[z(1805)](_t,Xe)|0,We=We+Math[z(1805)](_t,et)|0,(ti+(Pe+Math[z(1805)](jt,ot)|0)|0)+((8191&(ve=(ve+Math.imul(jt,Et)|0)+Math.imul(pi,ot)|0))<<13)|0),er=(ti=((We+Math.imul(pi,Et)|0)+(ve>>>13)|0)+(Mi>>>26)|0,Mi&=67108863,Pe=Math.imul(Te,Ei),ve=Math.imul(Te,Wt)+Math[z(1805)](Ge,Ei)|0,We=Math[z(1805)](Ge,Wt),Pe=Pe+Math.imul(Ie,mi)|0,ve=(ve+Math[z(1805)](Ie,Kt)|0)+Math[z(1805)](we,mi)|0,We=We+Math[z(1805)](we,Kt)|0,Pe=Pe+Math.imul(me,Mt)|0,ve=(ve+Math.imul(me,Ht)|0)+Math[z(1805)](Ce,Mt)|0,We=We+Math[z(1805)](Ce,Ht)|0,Pe=Pe+Math.imul(se,Xe)|0,ve=(ve+Math[z(1805)](se,et)|0)+Math[z(1805)](de,Xe)|0,We=We+Math[z(1805)](de,et)|0,Pe=Pe+Math[z(1805)](xi,ot)|0,ve=(ve+Math[z(1805)](xi,Et)|0)+Math[z(1805)](_t,ot)|0,We=We+Math.imul(_t,Et)|0,(ti+(Pe+Math[z(1805)](jt,Ct)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,ct)|0)+Math[z(1805)](pi,Ct)|0))<<13)|0),di=(ti=((We+Math[z(1805)](pi,ct)|0)+(ve>>>13)|0)+(er>>>26)|0,er&=67108863,Pe=Math.imul(ke,Ei),ve=Math[z(1805)](ke,Wt)+Math.imul(Oe,Ei)|0,We=Math[z(1805)](Oe,Wt),Pe=Pe+Math.imul(Te,mi)|0,ve=(ve+Math[z(1805)](Te,Kt)|0)+Math[z(1805)](Ge,mi)|0,We=We+Math[z(1805)](Ge,Kt)|0,Pe=Pe+Math[z(1805)](Ie,Mt)|0,ve=(ve+Math.imul(Ie,Ht)|0)+Math.imul(we,Mt)|0,We=We+Math[z(1805)](we,Ht)|0,Pe=Pe+Math[z(1805)](me,Xe)|0,ve=(ve+Math[z(1805)](me,et)|0)+Math[z(1805)](Ce,Xe)|0,We=We+Math.imul(Ce,et)|0,Pe=Pe+Math[z(1805)](se,ot)|0,ve=(ve+Math[z(1805)](se,Et)|0)+Math[z(1805)](de,ot)|0,We=We+Math[z(1805)](de,Et)|0,Pe=Pe+Math[z(1805)](xi,Ct)|0,ve=(ve+Math[z(1805)](xi,ct)|0)+Math[z(1805)](_t,Ct)|0,We=We+Math[z(1805)](_t,ct)|0,(ti+(Pe+Math[z(1805)](jt,yt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,Qt)|0)+Math[z(1805)](pi,yt)|0))<<13)|0),wi=(ti=((We+Math.imul(pi,Qt)|0)+(ve>>>13)|0)+(di>>>26)|0,di&=67108863,Pe=Math[z(1805)](Le,Ei),ve=Math[z(1805)](Le,Wt)+Math[z(1805)](be,Ei)|0,We=Math[z(1805)](be,Wt),Pe=Pe+Math[z(1805)](ke,mi)|0,ve=(ve+Math[z(1805)](ke,Kt)|0)+Math[z(1805)](Oe,mi)|0,We=We+Math[z(1805)](Oe,Kt)|0,Pe=Pe+Math[z(1805)](Te,Mt)|0,ve=(ve+Math[z(1805)](Te,Ht)|0)+Math.imul(Ge,Mt)|0,We=We+Math[z(1805)](Ge,Ht)|0,Pe=Pe+Math[z(1805)](Ie,Xe)|0,ve=(ve+Math[z(1805)](Ie,et)|0)+Math.imul(we,Xe)|0,We=We+Math[z(1805)](we,et)|0,Pe=Pe+Math[z(1805)](me,ot)|0,ve=(ve+Math.imul(me,Et)|0)+Math[z(1805)](Ce,ot)|0,We=We+Math[z(1805)](Ce,Et)|0,Pe=Pe+Math[z(1805)](se,Ct)|0,ve=(ve+Math.imul(se,ct)|0)+Math.imul(de,Ct)|0,We=We+Math[z(1805)](de,ct)|0,Pe=Pe+Math.imul(xi,yt)|0,ve=(ve+Math[z(1805)](xi,Qt)|0)+Math[z(1805)](_t,yt)|0,We=We+Math[z(1805)](_t,Qt)|0,(ti+(Pe+Math[z(1805)](jt,Ze)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,ut)|0)+Math[z(1805)](pi,Ze)|0))<<13)|0),Ri=(ti=((We+Math[z(1805)](pi,ut)|0)+(ve>>>13)|0)+(wi>>>26)|0,wi&=67108863,Pe=Math[z(1805)](Ne,Ei),ve=Math[z(1805)](Ne,Wt)+Math[z(1805)](Ue,Ei)|0,We=Math.imul(Ue,Wt),Pe=Pe+Math[z(1805)](Le,mi)|0,ve=(ve+Math[z(1805)](Le,Kt)|0)+Math[z(1805)](be,mi)|0,We=We+Math[z(1805)](be,Kt)|0,Pe=Pe+Math.imul(ke,Mt)|0,ve=(ve+Math[z(1805)](ke,Ht)|0)+Math[z(1805)](Oe,Mt)|0,We=We+Math[z(1805)](Oe,Ht)|0,Pe=Pe+Math[z(1805)](Te,Xe)|0,ve=(ve+Math[z(1805)](Te,et)|0)+Math[z(1805)](Ge,Xe)|0,We=We+Math[z(1805)](Ge,et)|0,Pe=Pe+Math[z(1805)](Ie,ot)|0,ve=(ve+Math[z(1805)](Ie,Et)|0)+Math[z(1805)](we,ot)|0,We=We+Math[z(1805)](we,Et)|0,Pe=Pe+Math[z(1805)](me,Ct)|0,ve=(ve+Math[z(1805)](me,ct)|0)+Math[z(1805)](Ce,Ct)|0,We=We+Math[z(1805)](Ce,ct)|0,Pe=Pe+Math[z(1805)](se,yt)|0,ve=(ve+Math.imul(se,Qt)|0)+Math[z(1805)](de,yt)|0,We=We+Math[z(1805)](de,Qt)|0,Pe=Pe+Math.imul(xi,Ze)|0,ve=(ve+Math.imul(xi,ut)|0)+Math[z(1805)](_t,Ze)|0,We=We+Math[z(1805)](_t,ut)|0,(ti+(Pe+Math[z(1805)](jt,St)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,gt)|0)+Math[z(1805)](pi,St)|0))<<13)|0),Ei=(ti=((We+Math[z(1805)](pi,gt)|0)+(ve>>>13)|0)+(Ri>>>26)|0,Ri&=67108863,Pe=Math.imul(ze,Ei),ve=Math[z(1805)](ze,Wt)+Math.imul(Je,Ei)|0,We=Math.imul(Je,Wt),Pe=Pe+Math[z(1805)](Ne,mi)|0,ve=(ve+Math[z(1805)](Ne,Kt)|0)+Math[z(1805)](Ue,mi)|0,We=We+Math[z(1805)](Ue,Kt)|0,Pe=Pe+Math.imul(Le,Mt)|0,ve=(ve+Math[z(1805)](Le,Ht)|0)+Math[z(1805)](be,Mt)|0,We=We+Math[z(1805)](be,Ht)|0,Pe=Pe+Math[z(1805)](ke,Xe)|0,ve=(ve+Math[z(1805)](ke,et)|0)+Math[z(1805)](Oe,Xe)|0,We=We+Math[z(1805)](Oe,et)|0,Pe=Pe+Math[z(1805)](Te,ot)|0,ve=(ve+Math[z(1805)](Te,Et)|0)+Math[z(1805)](Ge,ot)|0,We=We+Math[z(1805)](Ge,Et)|0,Pe=Pe+Math[z(1805)](Ie,Ct)|0,ve=(ve+Math[z(1805)](Ie,ct)|0)+Math[z(1805)](we,Ct)|0,We=We+Math[z(1805)](we,ct)|0,Pe=Pe+Math[z(1805)](me,yt)|0,ve=(ve+Math[z(1805)](me,Qt)|0)+Math[z(1805)](Ce,yt)|0,We=We+Math[z(1805)](Ce,Qt)|0,Pe=Pe+Math[z(1805)](se,Ze)|0,ve=(ve+Math[z(1805)](se,ut)|0)+Math.imul(de,Ze)|0,We=We+Math[z(1805)](de,ut)|0,Pe=Pe+Math.imul(xi,St)|0,ve=(ve+Math[z(1805)](xi,gt)|0)+Math[z(1805)](_t,St)|0,We=We+Math.imul(_t,gt)|0,(ti+(Pe+Math[z(1805)](jt,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](jt,Lt)|0)+Math[z(1805)](pi,xt)|0))<<13)|0),Wt=(ti=((We+Math.imul(pi,Lt)|0)+(ve>>>13)|0)+(Ei>>>26)|0,Ei&=67108863,Pe=Math.imul(ze,mi),ve=Math[z(1805)](ze,Kt)+Math[z(1805)](Je,mi)|0,We=Math[z(1805)](Je,Kt),Pe=Pe+Math.imul(Ne,Mt)|0,ve=(ve+Math[z(1805)](Ne,Ht)|0)+Math.imul(Ue,Mt)|0,We=We+Math[z(1805)](Ue,Ht)|0,Pe=Pe+Math[z(1805)](Le,Xe)|0,ve=(ve+Math[z(1805)](Le,et)|0)+Math[z(1805)](be,Xe)|0,We=We+Math[z(1805)](be,et)|0,Pe=Pe+Math[z(1805)](ke,ot)|0,ve=(ve+Math[z(1805)](ke,Et)|0)+Math[z(1805)](Oe,ot)|0,We=We+Math[z(1805)](Oe,Et)|0,Pe=Pe+Math.imul(Te,Ct)|0,ve=(ve+Math[z(1805)](Te,ct)|0)+Math[z(1805)](Ge,Ct)|0,We=We+Math[z(1805)](Ge,ct)|0,Pe=Pe+Math.imul(Ie,yt)|0,ve=(ve+Math[z(1805)](Ie,Qt)|0)+Math.imul(we,yt)|0,We=We+Math[z(1805)](we,Qt)|0,Pe=Pe+Math[z(1805)](me,Ze)|0,ve=(ve+Math.imul(me,ut)|0)+Math[z(1805)](Ce,Ze)|0,We=We+Math[z(1805)](Ce,ut)|0,Pe=Pe+Math[z(1805)](se,St)|0,ve=(ve+Math.imul(se,gt)|0)+Math.imul(de,St)|0,We=We+Math[z(1805)](de,gt)|0,(ti+(Pe+Math.imul(xi,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](xi,Lt)|0)+Math[z(1805)](_t,xt)|0))<<13)|0),jt=(ti=((We+Math[z(1805)](_t,Lt)|0)+(ve>>>13)|0)+(Wt>>>26)|0,Wt&=67108863,Pe=Math[z(1805)](ze,Mt),ve=Math[z(1805)](ze,Ht)+Math[z(1805)](Je,Mt)|0,We=Math[z(1805)](Je,Ht),Pe=Pe+Math[z(1805)](Ne,Xe)|0,ve=(ve+Math.imul(Ne,et)|0)+Math[z(1805)](Ue,Xe)|0,We=We+Math.imul(Ue,et)|0,Pe=Pe+Math[z(1805)](Le,ot)|0,ve=(ve+Math[z(1805)](Le,Et)|0)+Math.imul(be,ot)|0,We=We+Math[z(1805)](be,Et)|0,Pe=Pe+Math.imul(ke,Ct)|0,ve=(ve+Math.imul(ke,ct)|0)+Math[z(1805)](Oe,Ct)|0,We=We+Math[z(1805)](Oe,ct)|0,Pe=Pe+Math[z(1805)](Te,yt)|0,ve=(ve+Math[z(1805)](Te,Qt)|0)+Math[z(1805)](Ge,yt)|0,We=We+Math[z(1805)](Ge,Qt)|0,Pe=Pe+Math[z(1805)](Ie,Ze)|0,ve=(ve+Math[z(1805)](Ie,ut)|0)+Math[z(1805)](we,Ze)|0,We=We+Math[z(1805)](we,ut)|0,Pe=Pe+Math.imul(me,St)|0,ve=(ve+Math[z(1805)](me,gt)|0)+Math[z(1805)](Ce,St)|0,We=We+Math[z(1805)](Ce,gt)|0,(ti+(Pe+Math[z(1805)](se,xt)|0)|0)+((8191&(ve=(ve+Math.imul(se,Lt)|0)+Math.imul(de,xt)|0))<<13)|0),pi=(ti=((We+Math[z(1805)](de,Lt)|0)+(ve>>>13)|0)+(jt>>>26)|0,jt&=67108863,Pe=Math[z(1805)](ze,Xe),ve=Math[z(1805)](ze,et)+Math[z(1805)](Je,Xe)|0,We=Math[z(1805)](Je,et),Pe=Pe+Math[z(1805)](Ne,ot)|0,ve=(ve+Math[z(1805)](Ne,Et)|0)+Math[z(1805)](Ue,ot)|0,We=We+Math[z(1805)](Ue,Et)|0,Pe=Pe+Math[z(1805)](Le,Ct)|0,ve=(ve+Math[z(1805)](Le,ct)|0)+Math[z(1805)](be,Ct)|0,We=We+Math.imul(be,ct)|0,Pe=Pe+Math.imul(ke,yt)|0,ve=(ve+Math[z(1805)](ke,Qt)|0)+Math.imul(Oe,yt)|0,We=We+Math.imul(Oe,Qt)|0,Pe=Pe+Math[z(1805)](Te,Ze)|0,ve=(ve+Math[z(1805)](Te,ut)|0)+Math.imul(Ge,Ze)|0,We=We+Math.imul(Ge,ut)|0,Pe=Pe+Math[z(1805)](Ie,St)|0,ve=(ve+Math[z(1805)](Ie,gt)|0)+Math[z(1805)](we,St)|0,We=We+Math[z(1805)](we,gt)|0,(ti+(Pe+Math.imul(me,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](me,Lt)|0)+Math[z(1805)](Ce,xt)|0))<<13)|0),mi=(ti=((We+Math[z(1805)](Ce,Lt)|0)+(ve>>>13)|0)+(pi>>>26)|0,pi&=67108863,Pe=Math[z(1805)](ze,ot),ve=Math[z(1805)](ze,Et)+Math[z(1805)](Je,ot)|0,We=Math[z(1805)](Je,Et),Pe=Pe+Math[z(1805)](Ne,Ct)|0,ve=(ve+Math.imul(Ne,ct)|0)+Math[z(1805)](Ue,Ct)|0,We=We+Math[z(1805)](Ue,ct)|0,Pe=Pe+Math[z(1805)](Le,yt)|0,ve=(ve+Math.imul(Le,Qt)|0)+Math[z(1805)](be,yt)|0,We=We+Math.imul(be,Qt)|0,Pe=Pe+Math[z(1805)](ke,Ze)|0,ve=(ve+Math[z(1805)](ke,ut)|0)+Math[z(1805)](Oe,Ze)|0,We=We+Math[z(1805)](Oe,ut)|0,Pe=Pe+Math.imul(Te,St)|0,ve=(ve+Math[z(1805)](Te,gt)|0)+Math.imul(Ge,St)|0,We=We+Math[z(1805)](Ge,gt)|0,(ti+(Pe+Math[z(1805)](Ie,xt)|0)|0)+((8191&(ve=(ve+Math.imul(Ie,Lt)|0)+Math[z(1805)](we,xt)|0))<<13)|0),Kt=(ti=((We+Math[z(1805)](we,Lt)|0)+(ve>>>13)|0)+(mi>>>26)|0,mi&=67108863,Pe=Math[z(1805)](ze,Ct),ve=Math[z(1805)](ze,ct)+Math[z(1805)](Je,Ct)|0,We=Math[z(1805)](Je,ct),Pe=Pe+Math[z(1805)](Ne,yt)|0,ve=(ve+Math[z(1805)](Ne,Qt)|0)+Math[z(1805)](Ue,yt)|0,We=We+Math.imul(Ue,Qt)|0,Pe=Pe+Math.imul(Le,Ze)|0,ve=(ve+Math[z(1805)](Le,ut)|0)+Math.imul(be,Ze)|0,We=We+Math.imul(be,ut)|0,Pe=Pe+Math[z(1805)](ke,St)|0,ve=(ve+Math.imul(ke,gt)|0)+Math.imul(Oe,St)|0,We=We+Math[z(1805)](Oe,gt)|0,(ti+(Pe+Math.imul(Te,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](Te,Lt)|0)+Math[z(1805)](Ge,xt)|0))<<13)|0),xi=(ti=((We+Math[z(1805)](Ge,Lt)|0)+(ve>>>13)|0)+(Kt>>>26)|0,Kt&=67108863,Pe=Math[z(1805)](ze,yt),ve=Math[z(1805)](ze,Qt)+Math.imul(Je,yt)|0,We=Math[z(1805)](Je,Qt),Pe=Pe+Math.imul(Ne,Ze)|0,ve=(ve+Math[z(1805)](Ne,ut)|0)+Math[z(1805)](Ue,Ze)|0,We=We+Math[z(1805)](Ue,ut)|0,Pe=Pe+Math[z(1805)](Le,St)|0,ve=(ve+Math.imul(Le,gt)|0)+Math[z(1805)](be,St)|0,We=We+Math[z(1805)](be,gt)|0,(ti+(Pe+Math[z(1805)](ke,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](ke,Lt)|0)+Math[z(1805)](Oe,xt)|0))<<13)|0),_t=(ti=((We+Math[z(1805)](Oe,Lt)|0)+(ve>>>13)|0)+(xi>>>26)|0,xi&=67108863,Pe=Math[z(1805)](ze,Ze),ve=Math[z(1805)](ze,ut)+Math[z(1805)](Je,Ze)|0,We=Math[z(1805)](Je,ut),Pe=Pe+Math[z(1805)](Ne,St)|0,ve=(ve+Math[z(1805)](Ne,gt)|0)+Math[z(1805)](Ue,St)|0,We=We+Math.imul(Ue,gt)|0,(ti+(Pe+Math[z(1805)](Le,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](Le,Lt)|0)+Math[z(1805)](be,xt)|0))<<13)|0),Mt=(ti=((We+Math[z(1805)](be,Lt)|0)+(ve>>>13)|0)+(_t>>>26)|0,_t&=67108863,Pe=Math[z(1805)](ze,St),ve=Math[z(1805)](ze,gt)+Math[z(1805)](Je,St)|0,We=Math.imul(Je,gt),(ti+(Pe+Math[z(1805)](Ne,xt)|0)|0)+((8191&(ve=(ve+Math[z(1805)](Ne,Lt)|0)+Math[z(1805)](Ue,xt)|0))<<13)|0),Ht=(ti=((We+Math[z(1805)](Ue,Lt)|0)+(ve>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,(ti+Math.imul(ze,xt)|0)+((8191&(ve=Math.imul(ze,Lt)+Math[z(1805)](Je,xt)|0))<<13)|0),ti=(Math[z(1805)](Je,Lt)+(ve>>>13)|0)+(Ht>>>26)|0;return Ht&=67108863,re[0]=nt,re[1]=bt,re[2]=Pt,re[3]=It,re[4]=Mi,re[5]=er,re[6]=di,re[7]=wi,re[8]=Ri,re[9]=Ei,re[10]=Wt,re[11]=jt,re[12]=pi,re[13]=mi,re[14]=Kt,re[15]=xi,re[16]=_t,re[17]=Mt,re[18]=Ht,ti!=0&&(re[19]=ti,Y[z(1383)]++),Y};function ee(U,W,Y){var z=D;return new ie()[z(1210)](U,W,Y)}function ie(U,W){this.x=U,this.y=W}Math[D(1805)]||(q=X),M[D(1166)][D(685)]=function(U,W){var Y=D,z=this[Y(1383)]+U[Y(1383)];return(this[Y(1383)]===10&&U[Y(1383)]===10?q:z<63?X:z<1024?function(re,se,de){var me=Y;de[me(493)]=se[me(493)]^re.negative,de[me(1383)]=re[me(1383)]+se.length;for(var Ce=0,Ie=0,we=0;we<de.length-1;we++){for(var Te=Ie,Ie=0,Ge=67108863&Ce,ke=Math.min(we,se[me(1383)]-1),Oe=Math[me(323)](0,we-re[me(1383)]+1);Oe<=ke;Oe++){var Le,be=(0|re[me(660)][we-Oe])*(0|se[me(660)][Oe]),Ge=67108863&(Le=(67108863&be)+Ge|0);Ie+=(Te=(Te=Te+(be/67108864|0)|0)+(Le>>>26)|0)>>>26,Te&=67108863}de[me(660)][we]=Ge,Ce=Te,Te=Ie}return Ce!==0?de[me(660)][we]=Ce:de[me(1383)]--,de[me(968)]()}:ee)(this,U,W)},ie[D(1166)].makeRBT=function(U){for(var W=D,Y=new Array(U),z=M[W(1166)][W(623)](U)-1,re=0;re<U;re++)Y[re]=this[W(646)](re,z,U);return Y},ie.prototype[D(646)]=function(U,W,Y){if(U===0||U===Y-1)return U;for(var z=0,re=0;re<W;re++)z|=(1&U)<<W-re-1,U>>=1;return z},ie[D(1166)][D(1257)]=function(U,W,Y,z,re,se){for(var de=0;de<se;de++)z[de]=W[U[de]],re[de]=Y[U[de]]},ie[D(1166)][D(684)]=function(U,W,Y,z,re,se){var de=D;this[de(1257)](se,U,W,Y,z,re);for(var me=1;me<re;me<<=1)for(var Ce=me<<1,Ie=Math[de(1147)](2*Math.PI/Ce),we=Math[de(1185)](2*Math.PI/Ce),Te=0;Te<re;Te+=Ce)for(var Ge=Ie,ke=we,Oe=0;Oe<me;Oe++){var Le=Y[Te+Oe],be=z[Te+Oe],Ne=Y[Te+Oe+me],Ue=Ge*Ne-ke*(ze=z[Te+Oe+me]),ze=Ge*ze+ke*Ne;Y[Te+Oe]=Le+(Ne=Ue),z[Te+Oe]=be+ze,Y[Te+Oe+me]=Le-Ne,z[Te+Oe+me]=be-ze,Oe!==Ce&&(Ue=Ie*Ge-we*ke,ke=Ie*ke+we*Ge,Ge=Ue)}},ie.prototype[D(1272)]=function(U,W){for(var Y=D,W=1&(re=1|Math[Y(323)](W,U)),z=0,re=re/2|0;re;re>>>=1)z++;return 1<<z+1+W},ie[D(1166)][D(1184)]=function(U,W,Y){if(!(Y<=1))for(var z=0;z<Y/2;z++){var re=U[z];U[z]=U[Y-z-1],U[Y-z-1]=re,re=W[z],W[z]=-W[Y-z-1],W[Y-z-1]=-re}},ie[D(1166)][D(949)]=function(U,W){for(var Y=D,z=0,re=0;re<W/2;re++){var se=8192*Math.round(U[2*re+1]/W)+Math[Y(1829)](U[2*re]/W)+z;U[re]=67108863&se,z=se<67108864?0:se/67108864|0}return U},ie.prototype.convert13b=function(U,W,Y,z){for(var re=0,se=0;se<W;se++)re+=0|U[se],Y[2*se]=8191&re,Y[2*se+1]=8191&(re>>>=13),re>>>=13;for(se=2*W;se<z;++se)Y[se]=0;R(re===0),R((-8192&re)==0)},ie[D(1166)][D(737)]=function(U){for(var W=new Array(U),Y=0;Y<U;Y++)W[Y]=0;return W},ie.prototype[D(1210)]=function(U,W,Y){var z=D,re=2*this.guessLen13b(U[z(1383)],W[z(1383)]),se=this[z(1369)](re),de=this.stub(re),me=new Array(re),Ce=new Array(re),Ie=new Array(re),we=new Array(re),Te=new Array(re),Ge=new Array(re),ke=Y[z(660)];ke.length=re,this[z(955)](U[z(660)],U[z(1383)],me,re),this.convert13b(W.words,W.length,we,re),this.transform(me,de,Ce,Ie,re,se),this[z(684)](we,de,Te,Ge,re,se);for(var Oe=0;Oe<re;Oe++){var Le=Ce[Oe]*Te[Oe]-Ie[Oe]*Ge[Oe];Ie[Oe]=Ce[Oe]*Ge[Oe]+Ie[Oe]*Te[Oe],Ce[Oe]=Le}return this[z(1184)](Ce,Ie,re),this[z(684)](Ce,Ie,ke,de,re,se),this[z(1184)](ke,de,re),this[z(949)](ke,re),Y[z(493)]=U[z(493)]^W[z(493)],Y[z(1383)]=U[z(1383)]+W[z(1383)],Y[z(968)]()},M[D(1166)][D(2545)]=function(U){var W=D,Y=new M(null);return Y[W(660)]=new Array(this.length+U[W(1383)]),this.mulTo(U,Y)},M[D(1166)][D(1579)]=function(U){var W=D,Y=new M(null);return Y[W(660)]=new Array(this[W(1383)]+U[W(1383)]),ee(this,U,Y)},M[D(1166)][D(1805)]=function(U){var W=D;return this[W(2164)]().mulTo(U,this)},M[D(1166)].imuln=function(U){var W=D;R(W(2013)==typeof U),R(U<67108864);for(var Y=0,z=0;z<this[W(1383)];z++){var re=(0|this.words[z])*U,se=(67108863&re)+(67108863&Y),Y=(Y>>=26)+(re/67108864|0)+(se>>>26);this[W(660)][z]=67108863&se}return Y!==0&&(this[W(660)][z]=Y,this[W(1383)]++),this},M[D(1166)].muln=function(U){var W=D;return this.clone()[W(683)](U)},M[D(1166)].sqr=function(){var U=D;return this[U(2545)](this)},M.prototype.isqr=function(){var U=D;return this.imul(this[U(2164)]())},M[D(1166)][D(337)]=function(U){var W=D,Y=function(de){for(var me=Ut,Ce=new Array(de[me(485)]()),Ie=0;Ie<Ce[me(1383)];Ie++){var we=Ie%26;Ce[Ie]=(de.words[Ie/26|0]&1<<we)>>>we}return Ce}(U);if(Y.length===0)return new M(1);for(var z=this,re=0;re<Y[W(1383)]&&Y[re]===0;re++,z=z[W(1219)]());if(++re<Y[W(1383)])for(var se=z[W(1219)]();re<Y[W(1383)];re++,se=se[W(1219)]())Y[re]!==0&&(z=z[W(2545)](se));return z},M[D(1166)][D(1328)]=function(U){var W=D;R(W(2013)==typeof U&&0<=U);var Y=U%26,z=(U-Y)/26,re=67108863>>>26-Y<<26-Y;if(Y!=0){for(var se=0,de=0;de<this[W(1383)];de++){var me=this[W(660)][de]&re,Ce=(0|this[W(660)][de])-me<<Y;this[W(660)][de]=Ce|se,se=me>>>26-Y}se&&(this[W(660)][de]=se,this[W(1383)]++)}if(z!=0){for(de=this[W(1383)]-1;0<=de;de--)this[W(660)][de+z]=this[W(660)][de];for(de=0;de<z;de++)this[W(660)][de]=0;this[W(1383)]+=z}return this.strip()},M.prototype[D(1696)]=function(U){var W=D;return R(this[W(493)]===0),this.iushln(U)},M.prototype[D(1487)]=function(U,W,Y){var z=D;R(z(2013)==typeof U&&0<=U);var re,re=W?(W-W%26)/26:0,se=U%26,de=Math.min((U-se)/26,this.length),me=67108863^67108863>>>se<<se,Ce=Y;if(re-=de,re=Math[z(323)](0,re),Ce){for(var Ie=0;Ie<de;Ie++)Ce[z(660)][Ie]=this[z(660)][Ie];Ce[z(1383)]=de}if(de!==0)if(this.length>de)for(this[z(1383)]-=de,Ie=0;Ie<this[z(1383)];Ie++)this[z(660)][Ie]=this[z(660)][Ie+de];else this[z(660)][0]=0,this[z(1383)]=1;for(var we=0,Ie=this.length-1;0<=Ie&&(we!==0||re<=Ie);Ie--){var Te=0|this[z(660)][Ie];this[z(660)][Ie]=we<<26-se|Te>>>se,we=Te&me}return Ce&&we!==0&&(Ce[z(660)][Ce[z(1383)]++]=we),this.length===0&&(this[z(660)][0]=0,this[z(1383)]=1),this[z(968)]()},M[D(1166)][D(1376)]=function(U,W,Y){var z=D;return R(this[z(493)]===0),this[z(1487)](U,W,Y)},M.prototype[D(2780)]=function(U){var W=D;return this.clone()[W(1696)](U)},M[D(1166)][D(1338)]=function(U){var W=D;return this[W(2164)]()[W(1328)](U)},M[D(1166)][D(1527)]=function(U){var W=D;return this[W(2164)]()[W(1376)](U)},M[D(1166)][D(2384)]=function(U){var W=D;return this.clone()[W(1487)](U)},M[D(1166)][D(901)]=function(z){var W=D;R(W(2013)==typeof z&&0<=z);var Y=z%26,z=(z-Y)/26;return!(this[W(1383)]<=z||!(this[W(660)][z]&1<<Y))},M[D(1166)][D(1617)]=function(z){var W=D;R(W(2013)==typeof z&&0<=z);var Y=z%26,z=(z-Y)/26;return R(this[W(493)]===0,W(2782)),this[W(1383)]<=z?this:(Y!=0&&z++,this[W(1383)]=Math[W(1869)](z,this.length),Y!=0&&(this.words[this[W(1383)]-1]&=67108863^67108863>>>Y<<Y),this.strip())},M[D(1166)].maskn=function(U){var W=D;return this[W(2164)]()[W(1617)](U)},M[D(1166)][D(2695)]=function(U){var W=D;return R(W(2013)==typeof U),R(U<67108864),U<0?this[W(590)](-U):this.negative!==0?(this[W(1383)]===1&&(0|this[W(660)][0])<U?(this.words[0]=U-(0|this.words[0]),this[W(493)]=0):(this.negative=0,this[W(590)](U),this[W(493)]=1),this):this[W(2079)](U)},M[D(1166)][D(2079)]=function(U){var W=D;this.words[0]+=U;for(var Y=0;Y<this.length&&67108864<=this[W(660)][Y];Y++)this[W(660)][Y]-=67108864,Y===this.length-1?this[W(660)][Y+1]=1:this[W(660)][Y+1]++;return this.length=Math[W(323)](this[W(1383)],Y+1),this},M.prototype[D(590)]=function(U){var W=D;if(R(W(2013)==typeof U),R(U<67108864),U<0)return this[W(2695)](-U);if(this[W(493)]!==0)return this[W(493)]=0,this[W(2695)](U),this[W(493)]=1,this;if(this.words[0]-=U,this.length===1&&this.words[0]<0)this[W(660)][0]=-this[W(660)][0],this[W(493)]=1;else for(var Y=0;Y<this.length&&this[W(660)][Y]<0;Y++)this[W(660)][Y]+=67108864,--this.words[Y+1];return this[W(968)]()},M[D(1166)][D(2454)]=function(U){return this.clone().iaddn(U)},M[D(1166)][D(160)]=function(U){var W=D;return this[W(2164)]().isubn(U)},M[D(1166)][D(202)]=function(){var U=D;return this[U(493)]=0,this},M[D(1166)][D(1914)]=function(){var U=D;return this[U(2164)]()[U(202)]()},M[D(1166)][D(862)]=function(U,W,Y){for(var z=D,re=U[z(1383)]+Y,se=(this[z(159)](re),0),de=0;de<U.length;de++){var me=(0|this[z(660)][de+Y])+se,Ce=(0|U[z(660)][de])*W,se=((me-=67108863&Ce)>>26)-(Ce/67108864|0);this[z(660)][de+Y]=67108863&me}for(;de<this.length-Y;de++)se=(me=(0|this[z(660)][de+Y])+se)>>26,this.words[de+Y]=67108863&me;if(se===0)return this[z(968)]();for(R(se===-1),de=se=0;de<this[z(1383)];de++)se=(me=-(0|this[z(660)][de])+se)>>26,this[z(660)][de]=67108863&me;return this[z(493)]=1,this[z(968)]()},M.prototype[D(863)]=function(U,W){var Y=D;this[Y(1383)],U[Y(1383)];var z,re=this[Y(2164)](),se=U,de=0|se[Y(660)][se[Y(1383)]-1],me=((U=26-this[Y(623)](de))!=0&&(se=se[Y(1338)](U),re[Y(1328)](U),de=0|se.words[se.length-1]),re.length-se[Y(1383)]);if(Y(1764)!==W){(z=new M(null))[Y(1383)]=1+me,z[Y(660)]=new Array(z[Y(1383)]);for(var Ce=0;Ce<z[Y(1383)];Ce++)z[Y(660)][Ce]=0}var Ie=re[Y(2164)]()[Y(862)](se,1,me);Ie.negative===0&&(re=Ie,z&&(z[Y(660)][me]=1));for(var we=me-1;0<=we;we--){var Te=67108864*(0|re[Y(660)][se[Y(1383)]+we])+(0|re[Y(660)][se[Y(1383)]+we-1]),Te=Math[Y(1869)](Te/de|0,67108863);for(re[Y(862)](se,Te,we);re[Y(493)]!==0;)Te--,re[Y(493)]=0,re[Y(862)](se,1,we),re[Y(2356)]()||(re[Y(493)]^=1);z&&(z.words[we]=Te)}return z&&z.strip(),re[Y(968)](),Y(1801)!==W&&U!=0&&re[Y(1487)](U),{div:z||null,mod:re}},M.prototype[D(2550)]=function(U,W,Y){var z=D;return R(!U[z(2356)]()),this[z(2356)]()?{div:new M(0),mod:new M(0)}:this.negative!==0&&U[z(493)]===0?(de=this[z(828)]()[z(2550)](U,W),z(1764)!==W&&(re=de[z(1801)][z(828)]()),z(1801)!==W&&(se=de[z(1764)].neg(),Y&&se[z(493)]!==0&&se[z(187)](U)),{div:re,mod:se}):this[z(493)]===0&&U[z(493)]!==0?(de=this[z(2550)](U[z(828)](),W),{div:re=W!=="mod"?de[z(1801)][z(828)]():re,mod:de.mod}):(this[z(493)]&U[z(493)])!=0?(de=this.neg().divmod(U[z(828)](),W),z(1801)!==W&&(se=de[z(1764)].neg(),Y&&se.negative!==0&&se[z(258)](U)),{div:de[z(1801)],mod:se}):U[z(1383)]>this[z(1383)]||this.cmp(U)<0?{div:new M(0),mod:this}:U[z(1383)]===1?z(1801)===W?{div:this.divn(U[z(660)][0]),mod:null}:z(1764)===W?{div:null,mod:new M(this.modn(U[z(660)][0]))}:{div:this[z(545)](U[z(660)][0]),mod:new M(this[z(1825)](U.words[0]))}:this[z(863)](U,W);var re,se,de},M.prototype.div=function(U){var W=D;return this[W(2550)](U,W(1801),!1).div},M.prototype.mod=function(U){var W=D;return this[W(2550)](U,W(1764),!1)[W(1764)]},M[D(1166)].umod=function(U){var W=D;return this[W(2550)](U,W(1764),!0)[W(1764)]},M[D(1166)].divRound=function(re){var W=D,Y=this[W(2550)](re);if(Y[W(1764)].isZero())return Y[W(1801)];var se=Y[W(1801)][W(493)]!==0?Y[W(1764)][W(258)](re):Y.mod,z=re[W(2384)](1),re=re[W(329)](1),se=se.cmp(z);return se<0||re===1&&se===0?Y[W(1801)]:Y[W(1801)][W(493)]!==0?Y[W(1801)][W(590)](1):Y[W(1801)][W(2695)](1)},M[D(1166)][D(1825)]=function(U){var W=D;R(U<=67108863);for(var Y=(1<<26)%U,z=0,re=this[W(1383)]-1;0<=re;re--)z=(Y*z+(0|this.words[re]))%U;return z},M[D(1166)][D(2593)]=function(U){var W=D;R(U<=67108863);for(var Y=0,z=this[W(1383)]-1;0<=z;z--){var re=(0|this[W(660)][z])+67108864*Y;this[W(660)][z]=re/U|0,Y=re%U}return this[W(968)]()},M[D(1166)][D(545)]=function(U){var W=D;return this[W(2164)]()[W(2593)](U)},M[D(1166)][D(1156)]=function(U){var W=D;R(U[W(493)]===0),R(!U.isZero());for(var z=this,Y=U[W(2164)](),z=z.negative!==0?z[W(1372)](U):z[W(2164)](),re=new M(1),se=new M(0),de=new M(0),me=new M(1),Ce=0;z.isEven()&&Y.isEven();)z[W(1487)](1),Y[W(1487)](1),++Ce;for(var Ie=Y.clone(),we=z[W(2164)]();!z[W(2356)]();){for(var Te=0,Ge=1;(z.words[0]&Ge)==0&&Te<26;++Te,Ge<<=1);if(0<Te)for(z[W(1487)](Te);0<Te--;)(re[W(2108)]()||se[W(2108)]())&&(re.iadd(Ie),se[W(258)](we)),re.iushrn(1),se.iushrn(1);for(var ke=0,Oe=1;(Y.words[0]&Oe)==0&&ke<26;++ke,Oe<<=1);if(0<ke)for(Y.iushrn(ke);0<ke--;)(de[W(2108)]()||me[W(2108)]())&&(de[W(187)](Ie),me[W(258)](we)),de[W(1487)](1),me[W(1487)](1);0<=z.cmp(Y)?(z[W(258)](Y),re[W(258)](de),se[W(258)](me)):(Y.isub(z),de[W(258)](re),me[W(258)](se))}return{a:de,b:me,gcd:Y.iushln(Ce)}},M[D(1166)][D(1243)]=function(U){var W=D;R(U[W(493)]===0),R(!U[W(2356)]());for(var Y,re=this,z=U.clone(),re=re[W(493)]!==0?re[W(1372)](U):re[W(2164)](),se=new M(1),de=new M(0),me=z[W(2164)]();0<re.cmpn(1)&&0<z[W(1329)](1);){for(var Ce=0,Ie=1;(re[W(660)][0]&Ie)==0&&Ce<26;++Ce,Ie<<=1);if(0<Ce)for(re[W(1487)](Ce);0<Ce--;)se.isOdd()&&se[W(187)](me),se[W(1487)](1);for(var we=0,Te=1;(z.words[0]&Te)==0&&we<26;++we,Te<<=1);if(0<we)for(z[W(1487)](we);0<we--;)de[W(2108)]()&&de[W(187)](me),de[W(1487)](1);0<=re[W(526)](z)?(re.isub(z),se[W(258)](de)):(z.isub(re),de[W(258)](se))}return(Y=re[W(1329)](1)===0?se:de).cmpn(0)<0&&Y[W(187)](U),Y},M[D(1166)][D(2011)]=function(U){var W=D;if(this.isZero())return U[W(1914)]();if(U[W(2356)]())return this[W(1914)]();var Y=this[W(2164)](),z=U[W(2164)]();Y[W(493)]=0;for(var re=z[W(493)]=0;Y[W(631)]()&&z[W(631)]();re++)Y[W(1487)](1),z[W(1487)](1);for(;;){for(;Y[W(631)]();)Y[W(1487)](1);for(;z.isEven();)z[W(1487)](1);var se=Y[W(526)](z);if(se<0)var de=Y,Y=z,z=de;else if(se===0||z[W(1329)](1)===0)break;Y[W(258)](z)}return z[W(1328)](re)},M[D(1166)][D(2728)]=function(U){var W=D;return this.egcd(U).a[W(1372)](U)},M[D(1166)][D(631)]=function(){var U=D;return(1&this[U(660)][0])==0},M[D(1166)][D(2108)]=function(){var U=D;return(1&this[U(660)][0])==1},M.prototype[D(329)]=function(U){return this.words[0]&U},M.prototype[D(1468)]=function(Y){var W=D;R(W(2013)==typeof Y);var z=Y%26,Y=(Y-z)/26,z=1<<z;if(this[W(1383)]<=Y)return this._expand(1+Y),this[W(660)][Y]|=z,this;for(var re=z,se=Y;re!==0&&se<this[W(1383)];se++){var de=0|this[W(660)][se],re=(de+=re)>>>26;de&=67108863,this[W(660)][se]=de}return re!==0&&(this[W(660)][se]=re,this.length++),this},M.prototype[D(2356)]=function(){var U=D;return this.length===1&&this[U(660)][0]===0},M[D(1166)][D(1329)]=function(U){var W=D,Y=U<0;return this.negative===0||Y?this[W(493)]===0&&Y?1:(this[W(968)](),Y=1<this[W(1383)]?1:(R((U=Y?-U:U)<=67108863,W(2156)),(Y=0|this[W(660)][0])===U?0:Y<U?-1:1),this[W(493)]!==0?0|-Y:Y):-1},M[D(1166)].cmp=function(U){var W=D;return this[W(493)]!==0&&U[W(493)]===0?-1:this[W(493)]===0&&U[W(493)]!==0?1:(U=this[W(1627)](U),this.negative!==0?0|-U:U)},M.prototype.ucmp=function(U){var W=D;if(this[W(1383)]>U[W(1383)])return 1;if(this[W(1383)]<U[W(1383)])return-1;for(var Y=0,z=this.length-1;0<=z;z--){var re=0|this.words[z],se=0|U.words[z];if(re!=se){re<se?Y=-1:se<re&&(Y=1);break}}return Y},M.prototype[D(1023)]=function(U){var W=D;return this[W(1329)](U)===1},M.prototype.gt=function(U){var W=D;return this[W(526)](U)===1},M[D(1166)].gten=function(U){var W=D;return 0<=this[W(1329)](U)},M.prototype[D(638)]=function(U){return 0<=this.cmp(U)},M[D(1166)][D(416)]=function(U){var W=D;return this[W(1329)](U)===-1},M.prototype.lt=function(U){var W=D;return this[W(526)](U)===-1},M[D(1166)][D(2241)]=function(U){var W=D;return this[W(1329)](U)<=0},M[D(1166)][D(645)]=function(U){var W=D;return this[W(526)](U)<=0},M.prototype[D(1782)]=function(U){var W=D;return this[W(1329)](U)===0},M[D(1166)].eq=function(U){var W=D;return this[W(526)](U)===0},M[D(2178)]=function(U){return new fe(U)},M.prototype[D(1190)]=function(U){var W=D;return R(!this[W(2178)],W(304)),R(this[W(493)]===0,W(906)),U[W(1476)](this)[W(1836)](U)},M[D(1166)][D(1642)]=function(){var U=D;return R(this[U(2178)],U(2420)),this[U(2178)][U(624)](this)},M[D(1166)][D(1836)]=function(U){var W=D;return this[W(2178)]=U,this},M[D(1166)].forceRed=function(U){var W=D;return R(!this[W(2178)],W(304)),this._forceRed(U)},M[D(1166)][D(1021)]=function(U){var W=D;return R(this[W(2178)],"redAdd works only with red numbers"),this.red.add(this,U)},M[D(1166)][D(2597)]=function(U){var W=D;return R(this[W(2178)],W(559)),this[W(2178)].iadd(this,U)},M[D(1166)].redSub=function(U){var W=D;return R(this[W(2178)],"redSub works only with red numbers"),this[W(2178)][W(1550)](this,U)},M[D(1166)][D(1910)]=function(U){var W=D;return R(this[W(2178)],W(1318)),this[W(2178)][W(258)](this,U)},M[D(1166)].redShl=function(U){var W=D;return R(this.red,"redShl works only with red numbers"),this.red[W(346)](this,U)},M.prototype[D(249)]=function(U){var W=D;return R(this[W(2178)],W(301)),this[W(2178)]._verify2(this,U),this[W(2178)][W(2545)](this,U)},M[D(1166)][D(1149)]=function(U){var W=D;return R(this[W(2178)],W(301)),this.red[W(1769)](this,U),this[W(2178)][W(1805)](this,U)},M[D(1166)][D(1533)]=function(){var U=D;return R(this[U(2178)],U(2776)),this[U(2178)][U(1819)](this),this[U(2178)][U(1219)](this)},M[D(1166)][D(2306)]=function(){var U=D;return R(this[U(2178)],U(2569)),this.red[U(1819)](this),this[U(2178)][U(468)](this)},M[D(1166)][D(1437)]=function(){var U=D;return R(this[U(2178)],U(1545)),this[U(2178)][U(1819)](this),this[U(2178)].sqrt(this)},M[D(1166)][D(2766)]=function(){var U=D;return R(this.red,U(1362)),this[U(2178)][U(1819)](this),this[U(2178)].invm(this)},M.prototype.redNeg=function(){var U=D;return R(this[U(2178)],U(1775)),this[U(2178)]._verify1(this),this[U(2178)][U(828)](this)},M[D(1166)][D(1396)]=function(U){var W=D;return R(this[W(2178)]&&!U[W(2178)],W(285)),this[W(2178)][W(1819)](this),this[W(2178)][W(337)](this,U)};var H={k256:null,p224:null,p192:null,p25519:null};function le(U,W){var Y=D;this.name=U,this.p=new M(W,16),this.n=this.p[Y(485)](),this.k=new M(1)[Y(1328)](this.n).isub(this.p),this[Y(1120)]=this[Y(1920)]()}function ue(){var U=D;le.call(this,"k256",U(215))}function Ae(){var U=D;le[U(2623)](this,U(464),U(1996))}function he(){var U=D;le[U(2623)](this,U(505),"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function ge(){var U=D;le.call(this,U(665),U(1684))}function fe(U){var W=D,Y;W(1896)==typeof U?(Y=M[W(865)](U),this.m=Y.p,this[W(1390)]=Y):(R(U[W(1023)](1),W(1614)),this.m=U,this[W(1390)]=null)}function ae(U){var W=D;fe.call(this,U),this[W(537)]=this.m.bitLength(),this[W(537)]%26!=0&&(this[W(537)]+=26-this[W(537)]%26),this.r=new M(1)[W(1328)](this[W(537)]),this.r2=this.imod(this.r[W(1219)]()),this[W(467)]=this.r[W(1243)](this.m),this.minv=this[W(467)].mul(this.r)[W(590)](1).div(this.m),this[W(2487)]=this[W(2487)][W(1372)](this.r),this[W(2487)]=this.r[W(1550)](this.minv)}le[D(1166)][D(1920)]=function(){var U=D,W=new M(null);return W.words=new Array(Math[U(1266)](this.n/13)),W},le[D(1166)].ireduce=function(U){for(var W=D,Y,z=U;this.split(z,this.tmp),(Y=(z=(z=this[W(1259)](z))[W(187)](this[W(1120)]))[W(485)]())>this.n;);return U=Y<this.n?-1:z.ucmp(this.p),U===0?(z[W(660)][0]=0,z[W(1383)]=1):0<U?z.isub(this.p):z[W(968)]!==void 0?z[W(968)]():z[W(1076)](),z},le[D(1166)][D(2259)]=function(U,W){U.iushrn(this.n,0,W)},le[D(1166)][D(1259)]=function(U){return U.imul(this.k)},P(ue,le),ue[D(1166)][D(2259)]=function(U,W){for(var Y=D,z=Math[Y(1869)](U[Y(1383)],9),re=0;re<z;re++)W[Y(660)][re]=U.words[re];if(W[Y(1383)]=z,U[Y(1383)]<=9)return U[Y(660)][0]=0,void(U[Y(1383)]=1);var se=U.words[9];for(W[Y(660)][W[Y(1383)]++]=4194303&se,re=10;re<U[Y(1383)];re++){var de=0|U.words[re];U.words[re-10]=(4194303&de)<<4|se>>>22,se=de}(U.words[re-10]=se>>>=22)==0&&10<U.length?U[Y(1383)]-=10:U[Y(1383)]-=9},ue[D(1166)][D(1259)]=function(U){var W=D;U.words[U[W(1383)]]=0,U.words[U[W(1383)]+1]=0,U[W(1383)]+=2;for(var Y=0,z=0;z<U.length;z++){var re=0|U[W(660)][z];Y+=977*re,U[W(660)][z]=67108863&Y,Y=64*re+(Y/67108864|0)}return U[W(660)][U[W(1383)]-1]===0&&(U[W(1383)]--,U[W(660)][U[W(1383)]-1]===0&&U[W(1383)]--),U},P(Ae,le),P(he,le),P(ge,le),ge.prototype.imulK=function(U){for(var W=D,Y=0,z=0;z<U.length;z++){var re=19*(0|U[W(660)][z])+Y,se=67108863&re;re>>>=26,U[W(660)][z]=se,Y=re}return Y!==0&&(U[W(660)][U[W(1383)]++]=Y),U},M._prime=function(U){var W=D;if(H[U])return H[U];var Y;if(U==="k256")Y=new ue;else if(W(464)===U)Y=new Ae;else if(W(505)===U)Y=new he;else{if(W(2441)!==U)throw new Error("Unknown prime "+U);Y=new ge}return H[U]=Y},fe[D(1166)][D(1819)]=function(U){var W=D;R(U[W(493)]===0,W(906)),R(U[W(2178)],W(218))},fe[D(1166)][D(1769)]=function(U,W){var Y=D;R((U[Y(493)]|W[Y(493)])==0,Y(906)),R(U[Y(2178)]&&U[Y(2178)]===W[Y(2178)],"red works only with red numbers")},fe[D(1166)][D(1028)]=function(U){var W=D;return(this.prime?this[W(1390)][W(518)](U):U[W(1372)](this.m))._forceRed(this)},fe[D(1166)][D(828)]=function(U){var W=D;return U.isZero()?U[W(2164)]():this.m[W(1550)](U)[W(1836)](this)},fe.prototype[D(2400)]=function(U,W){var Y=D;return this[Y(1769)](U,W),U=U[Y(2400)](W),0<=U[Y(526)](this.m)&&U.isub(this.m),U._forceRed(this)},fe.prototype.iadd=function(U,W){var Y=D;return this._verify2(U,W),U=U[Y(187)](W),0<=U[Y(526)](this.m)&&U[Y(258)](this.m),U},fe[D(1166)][D(1550)]=function(U,W){var Y=D;return this[Y(1769)](U,W),U=U[Y(1550)](W),U[Y(1329)](0)<0&&U[Y(187)](this.m),U[Y(1836)](this)},fe[D(1166)][D(258)]=function(U,W){var Y=D;return this[Y(1769)](U,W),U=U[Y(258)](W),U[Y(1329)](0)<0&&U[Y(187)](this.m),U},fe[D(1166)].shl=function(U,W){var Y=D;return this[Y(1819)](U),this[Y(1028)](U.ushln(W))},fe[D(1166)][D(1805)]=function(U,W){var Y=D;return this[Y(1769)](U,W),this[Y(1028)](U[Y(1805)](W))},fe[D(1166)][D(2545)]=function(U,W){var Y=D;return this[Y(1769)](U,W),this[Y(1028)](U[Y(2545)](W))},fe[D(1166)][D(468)]=function(U){var W=D;return this.imul(U,U[W(2164)]())},fe[D(1166)][D(1219)]=function(U){var W=D;return this[W(2545)](U,U)},fe[D(1166)][D(820)]=function(U){var W=D;if(U.isZero())return U.clone();var Y=this.m.andln(3);if(R(Y%2==1),Y===3)return Y=this.m.add(new M(1))[W(1487)](2),this[W(337)](U,Y);for(var z=this.m[W(160)](1),re=0;!z[W(2356)]()&&z[W(329)](1)===0;)re++,z.iushrn(1);R(!z[W(2356)]());for(var se=new M(1)[W(1190)](this),de=se.redNeg(),me=this.m.subn(1)[W(1487)](1),Ce=new M(2*(Ce=this.m[W(485)]())*Ce).toRed(this);this[W(337)](Ce,me).cmp(de)!==0;)Ce[W(2597)](de);for(var Ie=this.pow(Ce,z),we=this[W(337)](U,z[W(2454)](1)[W(1487)](1)),Te=this[W(337)](U,z),Ge=re;Te[W(526)](se)!==0;){for(var ke=Te,Oe=0;ke[W(526)](se)!==0;Oe++)ke=ke[W(1533)]();R(Oe<Ge);var Le=this[W(337)](Ie,new M(1).iushln(Ge-Oe-1)),we=we[W(249)](Le),Ie=Le[W(1533)](),Te=Te[W(249)](Ie),Ge=Oe}return we},fe.prototype[D(2728)]=function(U){var W=D;return U=U[W(1243)](this.m),U[W(493)]!==0?(U[W(493)]=0,this[W(1028)](U).redNeg()):this[W(1028)](U)},fe[D(1166)][D(337)]=function(U,W){var Y=D;if(W.isZero())return new M(1)[Y(1190)](this);if(W[Y(1329)](1)===0)return U.clone();var z=new Array(16);z[0]=new M(1)[Y(1190)](this),z[1]=U;for(var re=2;re<z[Y(1383)];re++)z[re]=this[Y(2545)](z[re-1],U);var se=z[0],de=0,me=0,Ce=W[Y(485)]()%26;for(Ce===0&&(Ce=26),re=W[Y(1383)]-1;0<=re;re--){for(var Ie=W.words[re],we=Ce-1;0<=we;we--){var Te=Ie>>we&1;se!==z[0]&&(se=this[Y(1219)](se)),Te==0&&de===0?me=0:(de=de<<1|Te,(++me==4||re===0&&we===0)&&(se=this[Y(2545)](se,z[de]),de=me=0))}Ce=26}return se},fe[D(1166)][D(1476)]=function(U){var W=D,Y=U.umod(this.m);return Y===U?Y[W(2164)]():Y},fe.prototype[D(624)]=function(U){var W=D;return U=U[W(2164)](),U[W(2178)]=null,U},M[D(2129)]=function(U){return new ae(U)},P(ae,fe),ae[D(1166)].convertTo=function(U){var W=D;return this.imod(U[W(1338)](this.shift))},ae[D(1166)][D(624)]=function(U){var W=D;return U=this[W(1028)](U[W(2545)](this.rinv)),U[W(2178)]=null,U},ae[D(1166)].imul=function(U,W){var Y=D;return U[Y(2356)]()||W[Y(2356)]()?(U.words[0]=0,U[Y(1383)]=1,U):(U=U.imul(W),W=U[Y(316)](this.shift)[Y(2545)](this[Y(2487)])[Y(1617)](this[Y(537)])[Y(2545)](this.m),U=U[Y(258)](W)[Y(1487)](this[Y(537)]),W=U,0<=U[Y(526)](this.m)?W=U[Y(258)](this.m):U.cmpn(0)<0&&(W=U[Y(187)](this.m)),W._forceRed(this))},ae[D(1166)].mul=function(U,W){var Y=D;return U[Y(2356)]()||W.isZero()?new M(0)._forceRed(this):(U=U[Y(2545)](W),W=U[Y(316)](this.shift)[Y(2545)](this.minv)[Y(1617)](this.shift)[Y(2545)](this.m),U=U.isub(W)[Y(1487)](this[Y(537)]),W=U,0<=U[Y(526)](this.m)?W=U.isub(this.m):U[Y(1329)](0)<0&&(W=U[Y(187)](this.m)),W._forceRed(this))},ae[D(1166)][D(2728)]=function(U){var W=D;return this.imod(U._invmp(this.m)[W(2545)](this.r2))[W(1836)](this)}})((B=T[w(2362)](B),this))},26138:(B,Q,T)=>{var w=Ut,S=T(70980),D=T(99199),R=T(57859),P=T(92144),M=T(23663),L=T(23482),F=T(84818),k=T(89509).Buffer;B[w(1729)]=function(q,H,J){var K=w,X=q[K(2395)]||(J?1:4),q=S(q),ee=q.modulus[K(250)]();if(H[K(1383)]>ee||0<=new P(H)[K(526)](q[K(184)]))throw new Error(K(1138));var H=J?F(new P(H),q):M(H,q),ie=k[K(1581)](ee-H[K(1383)]),H=k[K(1544)]([ie,H],ee);if(X===4){var ie=H,ee=q.modulus[K(250)](),q=L(K(1590))[K(1002)](k[K(1581)](0)).digest(),le=q[K(1383)];if(ie[0]!==0)throw new Error(K(1138));var ue=ie[K(2679)](1,le+1),ie=ie[K(2679)](le+1),ue=R(ue,D(ie,le)),Ae=R(ie,D(ue,ee-le-1));if(function(z,re){var se=K;z=k[se(2047)](z),re=k[se(2047)](re);for(var de=0,me=z.length,Ce=(z.length!==re[se(1383)]&&(de++,me=Math.min(z[se(1383)],re.length)),-1);++Ce<me;)de+=z[Ce]^re[Ce];return de}(q,Ae[K(2679)](0,le)))throw new Error(K(1138));for(var he=le;Ae[he]===0;)he++;if(Ae[he++]===1)return Ae[K(2679)](he);throw new Error(K(1138))}if(X===1){for(var ge=H,ie=J,ue=ge[K(2679)](0,2),fe=2,ae=0;ge[fe++]!==0;)if(fe>=ge.length){ae++;break}if(ee=ge[K(2679)](2,fe-1),(ue.toString(K(495))!=="0002"&&!ie||ue.toString(K(495))!=="0001"&&ie)&&ae++,ee[K(1383)]<8&&ae++,ae)throw new Error(K(1138));return ge[K(2679)](fe)}if(X===3)return H;throw new Error(K(1653))}},16559:(B,Q,T)=>{var w=Ut,S=T(70980),D=T(61798),R=T(23482),P=T(99199),M=T(57859),L=T(92144),F=T(84818),k=T(23663),N=T(89509)[w(1641)];B.exports=function(G,J,K){var X=w,q,ee=G.padding||(K?1:4),ie=S(G);if(ee===4)q=function(H){var le=Ut,ue=ie[le(184)][le(250)](),ae=H[le(1383)],fe=R(le(1590))[le(1002)](N[le(1581)](0))[le(593)](),Ae=fe[le(1383)],he=2*Ae;if(ue-he-2<ae)throw new Error(le(2544));var ae=N[le(1581)](ue-ae-he-2),he=ue-Ae-1,ge=D(Ae),fe=M(N.concat([fe,ae,N[le(1581)](1,1),H],he),P(ge,he)),ae=M(ge,P(fe,Ae));return new L(N[le(1544)]([N[le(1581)](1),ae,fe],ue))}(J);else if(ee===1)q=function(ge,le,ue){var Ae=Ut,he=le[Ae(1383)],ge=ge.modulus[Ae(250)]();if(ge-11<he)throw new Error(Ae(2544));return he=ue?N[Ae(1581)](ge-he-3,255):function(fe){for(var ae=Ae,U,W=N[ae(960)](fe),Y=0,z=D(2*fe),re=0;Y<fe;)re===z[ae(1383)]&&(z=D(2*fe),re=0),(U=z[re++])&&(W[Y++]=U);return W}(ge-he-3),new L(N[Ae(1544)]([N[Ae(2047)]([0,ue?1:2]),he,N[Ae(1581)](1),le],ge))}(ie,J,K);else{if(ee!==3)throw new Error(X(1653));if(0<=(q=new L(J)).cmp(ie[X(184)]))throw new Error(X(2735))}return(K?k:F)(q,ie)}},84818:(B,Q,T)=>{var w=Ut,S=T(92144),D=T(89509)[w(1641)];B.exports=function(R,P){var M=w;return D[M(2047)](R.toRed(S[M(2129)](P[M(184)]))[M(1396)](new S(P[M(2158)]))[M(1642)]()[M(884)]())}},57859:B=>{var Q=Ut;B[Q(1729)]=function(T,w){for(var S=Q,D=T[S(1383)],R=-1;++R<D;)T[R]^=w[R];return T}},61798:(B,Q,T)=>{var w=Ut,S=T(34155),D=T(89509)[w(1641)],R=T.g[w(2278)]||T.g[w(257)];R&&R[w(1887)]?B.exports=function(P,M){var L=w;if(4294967295<P)throw new RangeError(L(2329));var F=D[L(960)](P);if(0<P)if(65536<P)for(var k=0;k<P;k+=65536)R[L(1887)](F[L(2679)](k,k+65536));else R[L(1887)](F);return typeof M!="function"?F:S[L(1475)](function(){M(null,F)})}:B[w(1729)]=function(){var P=w;throw new Error(P(2109))}},77963:(B,Q,T)=>{var w=Ut,S=T(34155);function D(){throw new Error(`secure random number generation not supported by this browser use chrome, FireFox or Internet Explorer 11`)}var R=T(89509),P=T(61798),M=R.Buffer,L=R[w(2253)],F=T.g[w(2278)]||T.g[w(257)],k=Math.pow(2,32)-1;function N(K,X){var q=w;if(q(2013)!=typeof K||K!=K)throw new TypeError("offset must be a number");if(k<K||K<0)throw new TypeError(q(2561));if(L<K||X<K)throw new RangeError("offset out of range")}function G(K,X,q){var ee=w;if(ee(2013)!=typeof K||K!=K)throw new TypeError(ee(752));if(k<K||K<0)throw new TypeError("size must be a uint32");if(q<K+X||L<K)throw new RangeError("buffer too small")}function J(K,X,q,ee){var ie=w,H;return S.browser?(H=K[ie(2026)],H=new Uint8Array(H,X,q),F[ie(1887)](H),ee?void S.nextTick(function(){ee(null,K)}):K):ee?void P(q,function(le,ue){if(le)return ee(le);ue.copy(K,X),ee(null,K)}):(P(q)[ie(1830)](K,X),K)}F&&F[w(1887)]||!S[w(1450)]?(Q[w(848)]=function(K,X,q,ee){var ie=w;if(!(M.isBuffer(K)||K instanceof T.g.Uint8Array))throw new TypeError(ie(570));if(ie(1451)==typeof X)ee=X,X=0,q=K[ie(1383)];else if(typeof q=="function")ee=q,q=K.length-X;else if(ie(1451)!=typeof ee)throw new TypeError(ie(2172));return N(X,K[ie(1383)]),G(q,X,K.length),J(K,X,q,ee)},Q[w(1899)]=function(K,X,q){var ee=w;if(X===void 0&&(X=0),M[ee(1302)](K)||K instanceof T.g.Uint8Array)return N(X,K.length),G(q=q===void 0?K[ee(1383)]-X:q,X,K.length),J(K,X,q);throw new TypeError(ee(570))}):(Q[w(848)]=D,Q[w(1899)]=D)},94281:B=>{var Q=Ut,T={};function w(D,R,P){var M=Ut,L=function(F){var k=Ut,N,G;function J(K,X,q){var ee=Ut;return F.call(this,ee(1896)==typeof R?R:R(K,X,q))||this}return G=F,(N=J)[k(1166)]=Object[k(917)](G[k(1166)]),(N[k(1166)][k(2267)]=N).__proto__=G,J}(P=P||Error);L.prototype[M(878)]=P[M(878)],L[M(1166)][M(1752)]=D,T[D]=L}function S(D,R){var P=Ut,M;return Array[P(2507)](D)?(M=D[P(1383)],D=D.map(function(L){return String(L)}),2<M?P(691).concat(R," ")[P(1544)](D.slice(0,M-1)[P(951)](", "),P(2497))+D[M-1]:M===2?"one of "[P(1544)](R," ")[P(1544)](D[0],P(2069))[P(1544)](D[1]):P(1755).concat(R," ")[P(1544)](D[0])):P(1755).concat(R," ")[P(1544)](String(D))}w(Q(2465),function(D,R){var P=Q;return P(1568)+R+P(145)+D+'"'},TypeError),w("ERR_INVALID_ARG_TYPE",function(D,R,P){var M=Q,L,F,k;return M(1896)==typeof R&&M(872)===R.substr(0,4)?(L=M(453),R=R[M(1850)](/^not /,"")):L=M(601),(k===void 0||k>D[M(1383)])&&(k=D[M(1383)]),(D.substring(k-9,k)===" argument"?M(1435)[M(1544)](D," ").concat(L," ")[M(1544)](S(R,"type")):(k=(F=typeof F!="number"?0:F)+1>D[M(1383)]||D[M(2035)](".",F)===-1?M(2147):M(546),M(1025).concat(D,'" ').concat(k," ")[M(1544)](L," ")[M(1544)](S(R,M(277)))))+M(235)[M(1544)](typeof P)},TypeError),w(Q(1582),Q(1665)),w(Q(2537),function(D){var R=Q;return R(1435)+D+R(444)}),w(Q(1196),"Premature close"),w(Q(2220),function(D){var R=Q;return R(2293)+D+R(2694)}),w(Q(1125),Q(433)),w(Q(193),Q(2650)),w(Q(512),Q(164)),w(Q(2349),Q(1236),TypeError),w(Q(166),function(D){var R=Q;return R(616)+D},TypeError),w("ERR_STREAM_UNSHIFT_AFTER_END_EVENT",Q(1868)),B.exports.q=T},56753:(B,Q,T)=>{var w=Ut,S=T(34155),D=Object.keys||function(J){var K,X=[];for(K in J)X.push(K);return X},R=(B[w(1729)]=k,T(79481)),P=T(64229);T(35717)(k,R);for(var M=D(P[w(1166)]),L=0;L<M.length;L++){var F=M[L];k[w(1166)][F]||(k.prototype[F]=P[w(1166)][F])}function k(J){var K=w;if(!(this instanceof k))return new k(J);R.call(this,J),P[K(2623)](this,J),this[K(432)]=!0,J&&(J[K(2258)]===!1&&(this[K(2258)]=!1),J.writable===!1&&(this[K(2021)]=!1),J[K(432)]===!1&&(this.allowHalfOpen=!1,this[K(2600)](K(1960),N)))}function N(){var J=w;this[J(1771)][J(534)]||S.nextTick(G,this)}function G(J){J.end()}Object[w(1844)](k.prototype,w(713),{enumerable:!1,get:function(){var J=w;return this[J(1771)][J(785)]}}),Object[w(1844)](k[w(1166)],w(2691),{enumerable:!1,get:function(){var J=w;return this[J(1771)]&&this[J(1771)].getBuffer()}}),Object[w(1844)](k.prototype,w(1802),{enumerable:!1,get:function(){var J=w;return this[J(1771)].length}}),Object.defineProperty(k[w(1166)],"destroyed",{enumerable:!1,get:function(){var J=w;return this[J(578)]!==void 0&&this._writableState!==void 0&&this[J(578)][J(2226)]&&this[J(1771)][J(2226)]},set:function(J){var K=w;this._readableState!==void 0&&this[K(1771)]!==void 0&&(this[K(578)][K(2226)]=J,this[K(1771)][K(2226)]=J)}})},82725:(B,Q,T)=>{var w=Ut;B[w(1729)]=D;var S=T(74605);function D(R){if(!(this instanceof D))return new D(R);S.call(this,R)}T(35717)(D,S),D[w(1166)][w(596)]=function(R,P,M){M(null,R)}},79481:(K,Q,T)=>{var w=Ut;function S(ke,Oe){var Le=Ut;return ke[Le(885)](Oe)[Le(1383)]}var D,R,P,M,L=T(34155),F=((K.exports=ge)[w(1666)]=he,T(17187).EventEmitter,T(22503)),k=T(48764)[w(1641)],N=(T.g!==void 0?T.g:w(1506)!=typeof window?window:w(1506)!=typeof self?self:{}).Uint8Array||function(){},K=T(94616),G=K&&K[w(405)]?K.debuglog(w(1945)):function(){},J=T(57327),K=T(61195),X=T(82457)[w(2344)],q=T(94281).q,ee=q[w(594)],ie=q[w(1582)],H=q[w(2537)],le=q.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,ue=(T(35717)(ge,F),K.errorOrDestroy),Ae=[w(899),w(420),w(408),"pause",w(1105)];function he(ke,Oe,Le){var be=w;D=D||T(56753),typeof Le!="boolean"&&(Le=Oe instanceof D),this[be(1486)]=!!(ke=ke||{})[be(1486)],Le&&(this.objectMode=this[be(1486)]||!!ke[be(402)]),this[be(785)]=X(this,ke,be(398),Le),this[be(2026)]=new J,this[be(1383)]=0,this[be(407)]=null,this[be(412)]=0,this.flowing=null,this[be(534)]=!1,this[be(1543)]=!1,this[be(369)]=!1,this[be(1247)]=!0,this[be(1717)]=!1,this[be(2418)]=!1,this[be(1001)]=!1,this[be(2181)]=!1,this[be(669)]=!0,this.emitClose=ke[be(990)]!==!1,this[be(181)]=!!ke.autoDestroy,this[be(2226)]=!1,this[be(239)]=ke[be(239)]||be(1757),this[be(845)]=0,this[be(676)]=!1,this[be(877)]=null,this[be(2398)]=null,ke.encoding&&(R=R||T(32553).s,this[be(877)]=new R(ke[be(2398)]),this[be(2398)]=ke.encoding)}function ge(ke){var Oe=w;if(D=D||T(56753),!(this instanceof ge))return new ge(ke);var Le=this instanceof D;this[Oe(578)]=new he(ke,this,Le),this[Oe(2258)]=!0,ke&&(Oe(1451)==typeof ke[Oe(969)]&&(this[Oe(194)]=ke[Oe(969)]),typeof ke.destroy=="function"&&(this[Oe(1463)]=ke.destroy)),F[Oe(2623)](this)}function fe(ke,Oe,Le,be,Ne){var Ue=w;G("readableAddChunk",Oe);var ze,Je,Xe,et,ot,Et=ke[Ue(578)];if(Oe===null)Et[Ue(369)]=!1,ot=ke,Xe=Et,G(Ue(2419)),Xe[Ue(534)]||(Xe.decoder&&(Je=Xe[Ue(877)].end())&&Je.length&&(Xe[Ue(2026)].push(Je),Xe.length+=Xe.objectMode?1:Je.length),Xe[Ue(534)]=!0,Xe.sync?W(ot):(Xe[Ue(1717)]=!1,Xe[Ue(2418)]||(Xe[Ue(2418)]=!0,Y(ot))));else if(ze=Ne?ze:(Je=Et,ot=Xe=Oe,et=k.isBuffer(ot)||ot instanceof N||typeof Xe=="string"||Xe===void 0||Je.objectMode?et:new ee(Ue(677),[Ue(1896),Ue(1641),Ue(1133)],Xe)))ue(ke,ze);else if(Et.objectMode||Oe&&0<Oe[Ue(1383)])if(Ue(1896)==typeof Oe||Et[Ue(1486)]||Object[Ue(905)](Oe)===k[Ue(1166)]||(Ne=Oe,Oe=k[Ue(2047)](Ne)),be)Et[Ue(1543)]?ue(ke,new le):ae(ke,Et,Oe,!0);else if(Et.ended)ue(ke,new ie);else{if(Et[Ue(2226)])return!1;Et.reading=!1,Et.decoder&&!Le?(Oe=Et[Ue(877)].write(Oe),Et.objectMode||Oe[Ue(1383)]!==0?ae(ke,Et,Oe,!1):z(ke,Et)):ae(ke,Et,Oe,!1)}else be||(Et[Ue(369)]=!1,z(ke,Et));return!Et[Ue(534)]&&(Et[Ue(1383)]<Et[Ue(785)]||Et[Ue(1383)]===0)}function ae(ke,Oe,Le,be){var Ne=w;Oe[Ne(2358)]&&Oe[Ne(1383)]===0&&!Oe[Ne(1247)]?(Oe.awaitDrain=0,ke[Ne(445)](Ne(1613),Le)):(Oe[Ne(1383)]+=Oe.objectMode?1:Le[Ne(1383)],be?Oe[Ne(2026)][Ne(2254)](Le):Oe.buffer.push(Le),Oe.needReadable&&W(ke)),z(ke,Oe)}Object.defineProperty(ge[w(1166)],w(2226),{enumerable:!1,get:function(){var ke=w;return this[ke(578)]!==void 0&&this[ke(578)].destroyed},set:function(ke){var Oe=w;this[Oe(578)]&&(this[Oe(578)][Oe(2226)]=ke)}}),ge[w(1166)][w(408)]=K.destroy,ge[w(1166)][w(1847)]=K[w(758)],ge.prototype[w(1463)]=function(ke,Oe){Oe(ke)},ge[w(1166)][w(182)]=function(ke,Oe){var Le=w,be,Ne=this[Le(578)];return Ne[Le(1486)]?be=!0:Le(1896)==typeof ke&&((Oe=Oe||Ne.defaultEncoding)!==Ne[Le(2398)]&&(ke=k[Le(2047)](ke,Oe),Oe=""),be=!0),fe(this,ke,Oe,!1,be)},ge[w(1166)].unshift=function(ke){return fe(this,ke,null,!0,!1)},ge[w(1166)][w(1470)]=function(){var ke=w;return this[ke(578)][ke(2358)]===!1},ge[w(1166)][w(132)]=function(ke){for(var Oe=w,Le=new(R=R||T(32553).s)(ke),be=(this._readableState[Oe(877)]=Le,this._readableState[Oe(2398)]=this[Oe(578)][Oe(877)][Oe(2398)],this._readableState[Oe(2026)][Oe(2771)]),Ne="";be!==null;)Ne+=Le.write(be[Oe(1613)]),be=be[Oe(1966)];return this._readableState[Oe(2026)][Oe(434)](),Ne!==""&&this[Oe(578)][Oe(2026)][Oe(182)](Ne),this[Oe(578)][Oe(1383)]=Ne[Oe(1383)],this};function U(ke,Oe){var Le=w;return ke<=0||Oe[Le(1383)]===0&&Oe[Le(534)]?0:Oe[Le(1486)]?1:ke!=ke?(Oe[Le(2358)]&&Oe[Le(1383)]?Oe.buffer[Le(2771)][Le(1613)]:Oe)[Le(1383)]:(ke>Oe[Le(785)]&&(Oe.highWaterMark=(1073741824<=(be=ke)?be=1073741824:(be--,be=(be=(be=(be=(be|=be>>>1)|be>>>2)|be>>>4)|be>>>8)|be>>>16,be++),be)),ke<=Oe[Le(1383)]?ke:Oe[Le(534)]?Oe[Le(1383)]:(Oe.needReadable=!0,0));var be}function W(ke){var Oe=w,Le=ke[Oe(578)];G(Oe(2034),Le[Oe(1717)],Le[Oe(2418)]),Le[Oe(1717)]=!1,Le.emittedReadable||(G(Oe(2034),Le[Oe(2358)]),Le[Oe(2418)]=!0,L.nextTick(Y,ke))}function Y(ke){var Oe=w,Le=ke[Oe(578)];G(Oe(174),Le.destroyed,Le[Oe(1383)],Le[Oe(534)]),Le[Oe(2226)]||!Le[Oe(1383)]&&!Le[Oe(534)]||(ke.emit(Oe(2258)),Le[Oe(2418)]=!1),Le[Oe(1717)]=!Le.flowing&&!Le[Oe(534)]&&Le[Oe(1383)]<=Le.highWaterMark,Ce(ke)}function z(ke,Oe){var Le=w;Oe[Le(676)]||(Oe.readingMore=!0,L[Le(1475)](re,ke,Oe))}function re(ke,Oe){for(var Le=w;!Oe[Le(369)]&&!Oe.ended&&(Oe[Le(1383)]<Oe[Le(785)]||Oe.flowing&&Oe[Le(1383)]===0);){var be=Oe.length;if(G(Le(300)),ke[Le(969)](0),be===Oe.length)break}Oe[Le(676)]=!1}function se(ke){var Oe=w,Le=ke[Oe(578)];Le[Oe(1001)]=0<ke.listenerCount("readable"),Le[Oe(2181)]&&!Le[Oe(669)]?Le[Oe(2358)]=!0:0<ke[Oe(2655)](Oe(1613))&&ke[Oe(1105)]()}function de(ke){G("readable nexttick read 0"),ke.read(0)}function me(ke,Oe){var Le=w;G(Le(1105),Oe[Le(369)]),Oe[Le(369)]||ke[Le(969)](0),Oe.resumeScheduled=!1,ke[Le(445)]("resume"),Ce(ke),Oe.flowing&&!Oe.reading&&ke[Le(969)](0)}function Ce(ke){var Oe=w,Le=ke[Oe(578)];for(G("flow",Le[Oe(2358)]);Le[Oe(2358)]&&ke[Oe(969)]()!==null;);}function Ie(ke,Oe){var Le=w;return Oe[Le(1383)]===0?null:(Oe[Le(1486)]?be=Oe.buffer[Le(537)]():!ke||ke>=Oe[Le(1383)]?(be=Oe[Le(877)]?Oe[Le(2026)].join(""):Oe[Le(2026)][Le(1383)]===1?Oe[Le(2026)].first():Oe[Le(2026)][Le(1544)](Oe[Le(1383)]),Oe[Le(2026)][Le(434)]()):be=Oe[Le(2026)][Le(1721)](ke,Oe[Le(877)]),be);var be}function we(ke){var Oe=w,Le=ke[Oe(578)];G(Oe(2460),Le[Oe(1543)]),Le[Oe(1543)]||(Le[Oe(534)]=!0,L.nextTick(Te,Le,ke))}function Te(ke,Oe){var Le=w;G(Le(2590),ke[Le(1543)],ke[Le(1383)]),ke.endEmitted||ke[Le(1383)]!==0||(ke[Le(1543)]=!0,Oe.readable=!1,Oe[Le(445)](Le(1960)),ke[Le(181)]&&(!(ke=Oe[Le(1771)])||ke.autoDestroy&&ke[Le(607)])&&Oe.destroy())}function Ge(ke,Oe){for(var Le=0,be=ke.length;Le<be;Le++)if(ke[Le]===Oe)return Le;return-1}ge[w(1166)].read=function(ke){var Oe=w;G(Oe(969),ke),ke=parseInt(ke,10);var Le=this[Oe(578)],be=ke;if(ke!==0&&(Le[Oe(2418)]=!1),ke===0&&Le[Oe(1717)]&&((Le.highWaterMark!==0?Le.length>=Le[Oe(785)]:0<Le.length)||Le[Oe(534)]))return G(Oe(867),Le[Oe(1383)],Le[Oe(534)]),(Le[Oe(1383)]===0&&Le[Oe(534)]?we:W)(this),null;if((ke=U(ke,Le))===0&&Le.ended)return Le[Oe(1383)]===0&&we(this),null;var Ne=Le[Oe(1717)];return G(Oe(2257),Ne),(Le[Oe(1383)]===0||Le[Oe(1383)]-ke<Le[Oe(785)])&&G("length less than watermark",Ne=!0),Le[Oe(534)]||Le.reading?G(Oe(561),Ne=!1):Ne&&(G(Oe(255)),Le[Oe(369)]=!0,Le.sync=!0,Le.length===0&&(Le[Oe(1717)]=!0),this[Oe(194)](Le[Oe(785)]),Le.sync=!1,Le.reading||(ke=U(be,Le))),(Ne=0<ke?Ie(ke,Le):null)===null?(Le.needReadable=Le[Oe(1383)]<=Le.highWaterMark,ke=0):(Le[Oe(1383)]-=ke,Le[Oe(845)]=0),Le[Oe(1383)]===0&&(Le[Oe(534)]||(Le[Oe(1717)]=!0),be!==ke&&Le[Oe(534)]&&we(this)),Ne!==null&&this.emit(Oe(1613),Ne),Ne},ge[w(1166)][w(194)]=function(ke){var Oe=w;ue(this,new H(Oe(589)))},ge.prototype.pipe=function(ke,Oe){var Le=w,be=this,Ne=this[Le(578)];switch(Ne.pipesCount){case 0:Ne[Le(407)]=ke;break;case 1:Ne[Le(407)]=[Ne[Le(407)],ke];break;default:Ne[Le(407)][Le(182)](ke)}Ne[Le(412)]+=1,G(Le(2435),Ne[Le(412)],Oe),Oe=Oe&&Oe[Le(1960)]===!1||ke===L[Le(2512)]||ke===L[Le(1229)]?Qt:Ue;function Ue(){var Ze=Le;G(Ze(2246)),ke[Ze(1960)]()}Ne.endEmitted?L[Le(1475)](Oe):be[Le(2600)](Le(1960),Oe),ke.on(Le(2341),function Ze(ut,St){var gt=Le;G("onunpipe"),ut===be&&St&&St.hasUnpiped===!1&&(St[gt(2748)]=!0,G(gt(778)),ke.removeListener("close",ct),ke[gt(2513)](gt(1233),yt),ke[gt(2513)](gt(431),et),ke.removeListener(gt(899),Ct),ke[gt(2513)](gt(2341),Ze),be[gt(2513)]("end",Ue),be.removeListener(gt(1960),Qt),be.removeListener(gt(1613),Et),ot=!0,!Ne[gt(845)]||ke[gt(1771)]&&!ke._writableState[gt(1638)]||et())});var ze,Je,Xe=be,et=function(){var Ze=Le,ut=Xe[Ze(578)];G(Ze(604),ut.awaitDrain),ut[Ze(845)]&&ut[Ze(845)]--,ut[Ze(845)]===0&&S(Xe,"data")&&(ut[Ze(2358)]=!0,Ce(Xe))},ot=(ke.on(Le(431),et),!1);function Et(Ze){var ut=Le;G("ondata"),Ze=ke[ut(2430)](Ze),G(ut(791),Ze),Ze===!1&&((Ne.pipesCount===1&&Ne[ut(407)]===ke||1<Ne[ut(412)]&&Ge(Ne.pipes,ke)!==-1)&&!ot&&(G(ut(324),Ne[ut(845)]),Ne[ut(845)]++),be[ut(1278)]())}function Ct(Ze){var ut=Le;G(ut(1562),Ze),Qt(),ke[ut(2513)](ut(899),Ct),S(ke,"error")===0&&ue(ke,Ze)}function ct(){var Ze=Le;ke[Ze(2513)](Ze(1233),yt),Qt()}function yt(){var Ze=Le;G(Ze(2781)),ke.removeListener(Ze(420),ct),Qt()}function Qt(){var Ze=Le;G(Ze(2341)),be[Ze(2341)](ke)}return be.on(Le(1613),Et),Oe=Le(899),Je=Ct,Le(1451)==typeof(ze=ke)[Le(1061)]?ze.prependListener(Oe,Je):ze[Le(2658)]&&ze._events[Oe]?Array[Le(2507)](ze[Le(2658)][Oe])?ze[Le(2658)][Oe][Le(2254)](Je):ze[Le(2658)][Oe]=[Je,ze[Le(2658)][Oe]]:ze.on(Oe,Je),ke[Le(2600)](Le(420),ct),ke[Le(2600)](Le(1233),yt),ke.emit("pipe",be),Ne.flowing||(G(Le(2405)),be[Le(1105)]()),ke},ge[w(1166)].unpipe=function(ke){var Oe=w,Le=this[Oe(578)],be={hasUnpiped:!1};if(Le.pipesCount===0)return this;if(Le.pipesCount===1)return ke&&ke!==Le[Oe(407)]||(ke=ke||Le[Oe(407)],Le[Oe(407)]=null,Le.pipesCount=0,Le.flowing=!1,ke&&ke[Oe(445)](Oe(2341),this,be)),this;if(!ke){var Ne=Le[Oe(407)],Ue=Le[Oe(412)];Le[Oe(407)]=null,Le[Oe(412)]=0,Le[Oe(2358)]=!1;for(var ze=0;ze<Ue;ze++)Ne[ze][Oe(445)](Oe(2341),this,{hasUnpiped:!1});return this}var Je=Ge(Le[Oe(407)],ke);return Je!==-1&&(Le[Oe(407)][Oe(2139)](Je,1),--Le.pipesCount,Le[Oe(412)]===1&&(Le.pipes=Le[Oe(407)][0]),ke.emit(Oe(2341),this,be)),this},ge[w(1166)][w(963)]=ge[w(1166)].on=function(ke,be){var Le=w,be=F[Le(1166)].on[Le(2623)](this,ke,be),Ne=this[Le(578)];return Le(1613)===ke?(Ne[Le(1001)]=0<this[Le(2655)]("readable"),Ne[Le(2358)]!==!1&&this[Le(1105)]()):Le(2258)!==ke||Ne.endEmitted||Ne[Le(1001)]||(Ne.readableListening=Ne[Le(1717)]=!0,Ne[Le(2358)]=!1,Ne[Le(2418)]=!1,G(Le(2443),Ne.length,Ne.reading),Ne[Le(1383)]?W(this):Ne.reading||L[Le(1475)](de,this)),be},ge[w(1166)][w(2513)]=function(ke,Oe){var Le=w;return Oe=F.prototype[Le(2513)][Le(2623)](this,ke,Oe),ke==="readable"&&L.nextTick(se,this),Oe},ge[w(1166)][w(1635)]=function(ke){var Oe=w,Le=F.prototype[Oe(1635)][Oe(2559)](this,arguments);return Oe(2258)!==ke&&ke!==void 0||L[Oe(1475)](se,this),Le},ge.prototype[w(1105)]=function(){var ke=w,Oe,Le=this[ke(578)];return Le.flowing||(G(ke(1105)),Le[ke(2358)]=!Le[ke(1001)],(Oe=Le)[ke(2181)]||(Oe[ke(2181)]=!0,L[ke(1475)](me,this,Oe))),Le[ke(669)]=!1,this},ge[w(1166)][w(1278)]=function(){var ke=w;return G(ke(1859),this[ke(578)][ke(2358)]),this[ke(578)].flowing!==!1&&(G(ke(1278)),this._readableState[ke(2358)]=!1,this[ke(445)](ke(1278))),this[ke(578)][ke(669)]=!0,this},ge.prototype[w(1474)]=function(ke){var Oe=w,Le,be=this,Ne=this[Oe(578)],Ue=!1;for(Le in ke.on(Oe(1960),function(){var Je=Oe,Xe;G(Je(170)),Ne[Je(877)]&&!Ne[Je(534)]&&(Xe=Ne[Je(877)].end())&&Xe.length&&be.push(Xe),be[Je(182)](null)}),ke.on(Oe(1613),function(Je){var Xe=Oe;G(Xe(1727)),Ne[Xe(877)]&&(Je=Ne.decoder[Xe(2430)](Je)),Ne[Xe(1486)]&&Je==null||(Ne[Xe(1486)]||Je&&Je.length)&&!be[Xe(182)](Je)&&(Ue=!0,ke[Xe(1278)]())}),ke)this[Le]===void 0&&typeof ke[Le]=="function"&&(this[Le]=function(Je){return function(){var Xe=Ut;return ke[Je][Xe(2559)](ke,arguments)}}(Le));for(var ze=0;ze<Ae[Oe(1383)];ze++)ke.on(Ae[ze],this.emit[Oe(1753)](this,Ae[ze]));return this._read=function(Je){var Xe=Oe;G(Xe(1252),Je),Ue&&(Ue=!1,ke[Xe(1105)]())},this},w(1451)==typeof Symbol&&(ge.prototype[Symbol[w(156)]]=function(){return(P=P===void 0?T(45850):P)(this)}),Object[w(1844)](ge[w(1166)],"readableHighWaterMark",{enumerable:!1,get:function(){var ke=w;return this[ke(578)][ke(785)]}}),Object[w(1844)](ge[w(1166)],w(1889),{enumerable:!1,get:function(){var ke=w;return this._readableState&&this[ke(578)][ke(2026)]}}),Object[w(1844)](ge[w(1166)],"readableFlowing",{enumerable:!1,get:function(){var ke=w;return this[ke(578)][ke(2358)]},set:function(ke){var Oe=w;this._readableState&&(this[Oe(578)][Oe(2358)]=ke)}}),ge[w(2234)]=Ie,Object.defineProperty(ge.prototype,w(2312),{enumerable:!1,get:function(){var ke=w;return this[ke(578)][ke(1383)]}}),w(1451)==typeof Symbol&&(ge.from=function(ke,Oe){return(M=M===void 0?T(15167):M)(ge,ke,Oe)})},74605:(S,Q,T)=>{var w=Ut;S[w(1729)]=F;var S=T(94281).q,D=S.ERR_METHOD_NOT_IMPLEMENTED,R=S[w(1125)],P=S[w(628)],M=S[w(1861)],L=T(56753);function F(G){var J=w;if(!(this instanceof F))return new F(G);L[J(2623)](this,G),this[J(2020)]={afterTransform:function(K,X){var q=J,ee=this[q(2020)],ie=(ee[q(2072)]=!1,ee[q(514)]);if(ie===null)return this.emit(q(899),new R);ee[q(783)]=null,(ee.writecb=null)!=X&&this[q(182)](X),ie(K),ee=this[q(578)],ee[q(369)]=!1,(ee.needReadable||ee[q(1383)]<ee[q(785)])&&this[q(194)](ee[q(785)])}.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this[J(578)][J(1717)]=!0,this._readableState[J(1247)]=!1,G&&(J(1451)==typeof G[J(684)]&&(this._transform=G[J(684)]),J(1451)==typeof G[J(1872)]&&(this._flush=G[J(1872)])),this.on(J(2520),k)}function k(){var G=w,J=this;G(1451)!=typeof this[G(2572)]||this._readableState.destroyed?N(this,null,null):this[G(2572)](function(K,X){N(J,K,X)})}function N(G,J,K){var X=w;if(J)return G[X(445)]("error",J);if(K!=null&&G.push(K),G[X(1771)].length)throw new M;if(G[X(2020)][X(2072)])throw new P;G.push(null)}T(35717)(F,L),F.prototype[w(182)]=function(G,J){var K=w;return this._transformState[K(1424)]=!1,L[K(1166)][K(182)][K(2623)](this,G,J)},F.prototype[w(596)]=function(G,J,K){var X=w;K(new D(X(1355)))},F.prototype._write=function(G,J,K){var X=w,q=this[X(2020)];q[X(514)]=K,q[X(783)]=G,q[X(2772)]=J,q[X(2072)]||(K=this[X(578)],(q.needTransform||K[X(1717)]||K[X(1383)]<K[X(785)])&&this[X(194)](K[X(785)]))},F[w(1166)][w(194)]=function(G){var J=w,K=this[J(2020)];K[J(783)]===null||K[J(2072)]?K[J(1424)]=!0:(K[J(2072)]=!0,this[J(596)](K.writechunk,K[J(2772)],K[J(385)]))},F[w(1166)][w(1463)]=function(G,J){var K=w;L.prototype._destroy[K(2623)](this,G,function(X){J(X)})}},64229:(M,Q,T)=>{var w=Ut,S,D=T(34155);function R(se){var de=Ut,me=this;this[de(1966)]=null,this[de(2711)]=null,this[de(1233)]=function(){var Ce=de,Ie=me,we=se,Te=Ie.entry;for(Ie.entry=null;Te;){var Ge=Te.callback;we[Ce(2546)]--,Ge(void 0),Te=Te[Ce(1966)]}we.corkedRequestsFree[Ce(1966)]=Ie}}(M[w(1729)]=fe)[w(1215)]=ge;var P,M={deprecate:T(94927)},L=T(22503),F=T(48764)[w(1641)],k=(T.g!==void 0?T.g:w(1506)!=typeof window?window:typeof self<"u"?self:{}).Uint8Array||function(){},N=T(61195),G=T(82457)[w(2344)],J=T(94281).q,K=J[w(594)],X=J[w(2537)],q=J[w(1125)],ee=J[w(193)],ie=J[w(2220)],H=J[w(2349)],le=J[w(512)],ue=J[w(166)],Ae=N[w(204)];function he(){}function ge(se,de,me){var Ce=w;S=S||T(56753),Ce(1015)!=typeof me&&(me=de instanceof S),this.objectMode=!!(se=se||{})[Ce(1486)],me&&(this[Ce(1486)]=this.objectMode||!!se[Ce(1571)]),this[Ce(785)]=G(this,se,Ce(713),me),this[Ce(2031)]=!1,this[Ce(1638)]=!1,this[Ce(938)]=!1,this.ended=!1,this[Ce(607)]=!1,me=(this[Ce(2226)]=!1)===se[Ce(2017)],this[Ce(2017)]=!me,this[Ce(239)]=se.defaultEncoding||Ce(1757),this.length=0,this[Ce(1230)]=!1,this[Ce(1157)]=0,this.sync=!0,this[Ce(1214)]=!1,this[Ce(1867)]=function(Ie){var we=Ce,Te=de,Ge=Te[we(1771)],ke=Ge.sync,Oe=Ge[we(514)];if(we(1451)!=typeof Oe)throw new q;var Le,be,Ne,Ue=Ge;Ue[we(1230)]=!1,Ue.writecb=null,Ue[we(1383)]-=Ue[we(840)],Ue[we(840)]=0,Ie?(Ue=Te,be=ke,Ie=Ie,Ne=Oe,--(Le=Ge).pendingcb,be?(D[we(1475)](Ne,Ie),D[we(1475)](re,Ue,Le),Ue._writableState.errorEmitted=!0,Ae(Ue,Ie)):(Ne(Ie),Ue[we(1771)][we(1828)]=!0,Ae(Ue,Ie),re(Ue,Le))):((be=Y(Ge)||Te.destroyed)||Ge[we(1157)]||Ge[we(1214)]||!Ge.bufferedRequest||W(Te,Ge),ke?D[we(1475)](U,Te,Ge,be,Oe):U(Te,Ge,be,Oe))},this.writecb=null,this[Ce(840)]=0,this[Ce(1791)]=null,this[Ce(2752)]=null,this[Ce(2546)]=0,this[Ce(500)]=!1,this.errorEmitted=!1,this.emitClose=se[Ce(990)]!==!1,this[Ce(181)]=!!se.autoDestroy,this[Ce(497)]=0,this[Ce(2579)]=new R(this)}T(35717)(fe,L),ge.prototype.getBuffer=function(){for(var se=w,de=this[se(1791)],me=[];de;)me.push(de),de=de[se(1966)];return me};try{Object.defineProperty(ge[w(1166)],w(2026),{get:M[w(519)](function(){var se=w;return this[se(1796)]()},w(731),w(2672))})}catch{}function fe(se){var de=w,me=this instanceof(S=S||T(56753));if(!me&&!P[de(2623)](fe,this))return new fe(se);this[de(1771)]=new ge(se,this,me),this[de(2021)]=!0,se&&(de(1451)==typeof se[de(2430)]&&(this[de(1509)]=se[de(2430)]),de(1451)==typeof se[de(2351)]&&(this[de(2790)]=se[de(2351)]),typeof se.destroy=="function"&&(this[de(1463)]=se[de(408)]),de(1451)==typeof se.final&&(this._final=se.final)),L[de(2623)](this)}function ae(se,de,me,Ce,Ie,we,Te){var Ge=w;de[Ge(840)]=Ce,de[Ge(514)]=Te,de.writing=!0,de.sync=!0,de.destroyed?de[Ge(1867)](new ie(Ge(2430))):me?se[Ge(2790)](Ie,de[Ge(1867)]):se[Ge(1509)](Ie,we,de.onwrite),de.sync=!1}function U(se,de,me,Ce){var Ie=w;me||(me=se,de[Ie(1383)]===0&&de[Ie(1638)]&&(de[Ie(1638)]=!1,me[Ie(445)](Ie(431)))),de[Ie(2546)]--,Ce(),re(se,de)}function W(se,de){var me=w;de[me(1214)]=!0;var Ce=de[me(1791)];if(se._writev&&Ce&&Ce[me(1966)]){for(var we=de[me(497)],Ie=new Array(we),we=de.corkedRequestsFree,Te=(we.entry=Ce,0),Ge=!0;Ce;)(Ie[Te]=Ce)[me(1852)]||(Ge=!1),Ce=Ce.next,Te+=1;Ie.allBuffers=Ge,ae(se,de,!0,de.length,Ie,"",we[me(1233)]),de[me(2546)]++,de[me(2752)]=null,we[me(1966)]?(de[me(2579)]=we[me(1966)],we.next=null):de.corkedRequestsFree=new R(de),de[me(497)]=0}else{for(;Ce;){var ke=Ce[me(677)],Oe=Ce[me(2398)],Le=Ce.callback;if(ae(se,de,!1,de[me(1486)]?1:ke[me(1383)],ke,Oe,Le),Ce=Ce[me(1966)],de.bufferedRequestCount--,de.writing)break}Ce===null&&(de.lastBufferedRequest=null)}de.bufferedRequest=Ce,de[me(1214)]=!1}function Y(se){var de=w;return se[de(938)]&&se[de(1383)]===0&&se[de(1791)]===null&&!se[de(607)]&&!se[de(1230)]}function z(se,de){var me=w;se[me(2459)](function(Ce){var Ie=me;de[Ie(2546)]--,Ce&&Ae(se,Ce),de[Ie(500)]=!0,se.emit(Ie(2520)),re(se,de)})}function re(se,de){var me=w,Ce,Ie,we=Y(de);return we&&(Ce=se,(Ie=de)[me(500)]||Ie[me(2031)]||(me(1451)!=typeof Ce[me(2459)]||Ie[me(2226)]?(Ie.prefinished=!0,Ce[me(445)](me(2520))):(Ie[me(2546)]++,Ie[me(2031)]=!0,D.nextTick(z,Ce,Ie))),de.pendingcb===0&&(de[me(607)]=!0,se[me(445)](me(1233)),de.autoDestroy&&(!(Ce=se[me(578)])||Ce[me(181)]&&Ce[me(1543)])&&se[me(408)]())),we}w(1451)==typeof Symbol&&Symbol[w(817)]&&w(1451)==typeof Function[w(1166)][Symbol[w(817)]]?(P=Function.prototype[Symbol[w(817)]],Object[w(1844)](fe,Symbol[w(817)],{value:function(se){var de=w;return!!P[de(2623)](this,se)||this===fe&&se&&se[de(1771)]instanceof ge}})):P=function(se){return se instanceof this},fe[w(1166)][w(1768)]=function(){Ae(this,new ee)},fe[w(1166)][w(2430)]=function(se,de,me){var Ce=w,Ie,we,Te,Ge,ke=this._writableState,Oe=!1,Le=!ke[Ce(1486)]&&(Le=se,F[Ce(1302)](Le)||Le instanceof k);return Le&&!F[Ce(1302)](se)&&(Te=se,se=F[Ce(2047)](Te)),Ce(1451)==typeof de&&(me=de,de=null),de=Le?Ce(2026):de||ke[Ce(239)],Ce(1451)!=typeof me&&(me=he),ke[Ce(938)]?(Te=me,Ge=new le,Ae(this,Ge),D[Ce(1475)](Te,Ge)):!Le&&(Te=ke,Ge=me,(Ie=se)===null?we=new H:Ce(1896)==typeof Ie||Te.objectMode||(we=new K(Ce(677),[Ce(1896),Ce(1641)],Ie)),we&&(Ae(this,we),!void D[Ce(1475)](Ge,we)))||(ke[Ce(2546)]++,Oe=function(be,Ne,Ue,ze,Je,Xe){var et=Ce;Ue||(Ct=ze,Et=Je,Ct=Ne[et(1486)]||Ne[et(2017)]===!1||et(1896)!=typeof Ct?Ct:F[et(2047)](Ct,Et),ze!==Ct&&(Ue=!0,Je=et(2026),ze=Ct));var ot,Et=Ne[et(1486)]?1:ze[et(1383)],Ct=(Ne[et(1383)]+=Et,Ne[et(1383)]<Ne[et(785)]);return Ct||(Ne[et(1638)]=!0),Ne.writing||Ne.corked?(ot=Ne.lastBufferedRequest,Ne[et(2752)]={chunk:ze,encoding:Je,isBuf:Ue,callback:Xe,next:null},ot?ot[et(1966)]=Ne.lastBufferedRequest:Ne[et(1791)]=Ne[et(2752)],Ne[et(497)]+=1):ae(be,Ne,!1,Et,ze,Je,Xe),Ct}(this,ke,Le,se,de,me)),Oe},fe[w(1166)].cork=function(){var se=w;this[se(1771)][se(1157)]++},fe[w(1166)].uncork=function(){var se=w,de=this._writableState;de[se(1157)]&&(de.corked--,de[se(1230)]||de.corked||de[se(1214)]||!de[se(1791)]||W(this,de))},fe[w(1166)].setDefaultEncoding=function(se){var de=w;if(de(1896)==typeof se&&(se=se.toLowerCase()),-1<["hex",de(1757),"utf-8",de(641),de(2113),"base64",de(2120),de(305),de(528),de(1386),de(1427)][de(2035)]((se+"")[de(1096)]()))return this[de(1771)][de(239)]=se,this;throw new ue(se)},Object.defineProperty(fe[w(1166)],w(2691),{enumerable:!1,get:function(){var se=w;return this[se(1771)]&&this._writableState[se(1796)]()}}),Object[w(1844)](fe[w(1166)],"writableHighWaterMark",{enumerable:!1,get:function(){var se=w;return this[se(1771)].highWaterMark}}),fe[w(1166)]._write=function(se,de,me){var Ce=w;me(new X(Ce(2515)))},fe[w(1166)]._writev=null,fe[w(1166)][w(1960)]=function(se,de,me){var Ce=w,Ie=this._writableState;return Ce(1451)==typeof se?(me=se,de=se=null):typeof de=="function"&&(me=de,de=null),se!=null&&this[Ce(2430)](se,de),Ie[Ce(1157)]&&(Ie[Ce(1157)]=1,this[Ce(2732)]()),Ie.ending||(se=me,(de=Ie)[Ce(938)]=!0,re(this,de),se&&(de[Ce(607)]?D[Ce(1475)](se):this[Ce(2600)]("finish",se)),de[Ce(534)]=!0,this[Ce(2021)]=!1),this},Object[w(1844)](fe[w(1166)],w(1802),{enumerable:!1,get:function(){var se=w;return this[se(1771)][se(1383)]}}),Object[w(1844)](fe[w(1166)],w(2226),{enumerable:!1,get:function(){var se=w;return this[se(1771)]!==void 0&&this[se(1771)].destroyed},set:function(se){var de=w;this[de(1771)]&&(this[de(1771)][de(2226)]=se)}}),fe[w(1166)][w(408)]=N[w(408)],fe[w(1166)][w(1847)]=N[w(758)],fe[w(1166)][w(1463)]=function(se,de){de(se)}},45850:(B,Q,q)=>{var w=Ut,S,D=q(34155);function R(ie,H,le){var ue;(H=typeof(ue=function(Ae){var he=Ut;if(he(1499)!=typeof Ae||Ae===null)return Ae;var ge=Ae[Symbol[he(2422)]];if(ge===void 0)return String(Ae);if(ge=ge[he(2623)](Ae,"string"),typeof ge!="object")return ge;throw new TypeError(he(1384))}(H))=="symbol"?ue:String(ue))in ie?Object.defineProperty(ie,H,{value:le,enumerable:!0,configurable:!0,writable:!0}):ie[H]=le}var P=q(8610),M=Symbol(w(1268)),L=Symbol(w(2710)),F=Symbol(w(899)),k=Symbol(w(534)),N=Symbol(w(230)),G=Symbol(w(608)),J=Symbol(w(1945));function K(ie,H){return{value:ie,done:H}}function X(ie){var H,le=ie[M];le!==null&&(H=ie[J].read())!==null&&(ie[N]=null,ie[M]=null,ie[L]=null,le(K(H,!1)))}var q=Object.getPrototypeOf(function(){}),ee=Object.setPrototypeOf((R(S={get stream(){return this[J]},next:function(){var ie=w,H=this,he=this[F];if(he!==null)return Promise.reject(he);if(this[k])return Promise[ie(1348)](K(void 0,!0));if(this[J][ie(2226)])return new Promise(function(ge,fe){D.nextTick(function(){H[F]?fe(H[F]):ge(K(void 0,!0))})});var le,ue,Ae,he=this[N];if(he)le=new Promise((ue=he,Ae=this,function(ge,fe){var ae=ie;ue[ae(2401)](function(){Ae[k]?ge(K(void 0,!0)):Ae[G](ge,fe)},fe)}));else{if(he=this[J].read(),he!==null)return Promise[ie(1348)](K(he,!1));le=new Promise(this[G])}return this[N]=le}},Symbol[w(156)],function(){return this}),R(S,"return",function(){var ie=this;return new Promise(function(H,le){var ue=Ut;ie[J][ue(408)](null,function(Ae){Ae?le(Ae):H(K(void 0,!0))})})}),S),q);B[w(1729)]=function(ie){var H=w,le,ue=Object[H(917)](ee,(R(le={},J,{value:ie,writable:!0}),R(le,M,{value:null,writable:!0}),R(le,L,{value:null,writable:!0}),R(le,F,{value:null,writable:!0}),R(le,k,{value:ie[H(578)][H(1543)],writable:!0}),R(le,G,{value:function(Ae,he){var ge=H,fe=ue[J][ge(969)]();fe?(ue[N]=null,ue[M]=null,ue[L]=null,Ae(K(fe,!1))):(ue[M]=Ae,ue[L]=he)},writable:!0}),le));return ue[N]=null,P(ie,function(Ae){var he=H;if(Ae&&Ae[he(1752)]!=="ERR_STREAM_PREMATURE_CLOSE")return(ge=ue[L])!==null&&(ue[N]=null,ue[M]=null,ue[L]=null,ge(Ae)),void(ue[F]=Ae);var ge=ue[M];ge!==null&&(ue[N]=null,ue[M]=null,ge(K(void 0,!(ue[L]=null)))),ue[k]=!0}),ie.on(H(2258),function(Ae){D.nextTick(X,Ae)}[H(1753)](null,ue)),ue}},57327:(B,Q,T)=>{var w=Ut;function S(k,N){var G=Ut,J,K=Object.keys(k);return Object[G(1560)]&&(J=Object.getOwnPropertySymbols(k),N&&(J=J[G(711)](function(X){var q=G;return Object[q(2629)](k,X)[q(1273)]})),K[G(182)][G(2559)](K,J)),K}function D(k){for(var N=Ut,G=1;G<arguments[N(1383)];G++){var J=arguments[G]!=null?arguments[G]:{};G%2?S(Object(J),!0).forEach(function(K){var X=k,q=J[K=K];(K=P(K))in X?Object.defineProperty(X,K,{value:q,enumerable:!0,configurable:!0,writable:!0}):X[K]=q}):Object[N(2236)]?Object[N(2130)](k,Object[N(2236)](J)):S(Object(J))[N(2455)](function(K){var X=N;Object[X(1844)](k,K,Object[X(2629)](J,K))})}return k}function R(k,N){for(var G=Ut,J=0;J<N.length;J++){var K=N[J];K.enumerable=K[G(1273)]||!1,K.configurable=!0,G(242)in K&&(K[G(2021)]=!0),Object[G(1844)](k,P(K[G(513)]),K)}}function P(k){var N=Ut;return k=function(G){var J=Ut;if(typeof G!="object"||G===null)return G;var K=G[Symbol.toPrimitive];if(K===void 0)return String(G);if(K=K[J(2623)](G,J(1896)),J(1499)!=typeof K)return K;throw new TypeError(J(1384))}(k),N(428)==typeof k?k:String(k)}var M=T(48764)[w(1641)],L=T(52361)[w(1035)],F=L&&L[w(1029)]||w(1035);B[w(1729)]=function(){var k=w;function N(){var J=Ut;if(!(this instanceof N))throw new TypeError("Cannot call a class as a function");this[J(2771)]=null,this[J(333)]=null,this[J(1383)]=0}var G=N;return R(G[k(1166)],[{key:k(182),value:function(J){var K=k;J={data:J,next:null},0<this[K(1383)]?this.tail[K(1966)]=J:this.head=J,this.tail=J,++this[K(1383)]}},{key:k(2254),value:function(J){var K=k;J={data:J,next:this[K(2771)]},this[K(1383)]===0&&(this[K(333)]=J),this[K(2771)]=J,++this[K(1383)]}},{key:k(537),value:function(){var J=k,K;if(this[J(1383)]!==0)return K=this.head[J(1613)],this[J(1383)]===1?this[J(2771)]=this[J(333)]=null:this[J(2771)]=this[J(2771)][J(1966)],--this[J(1383)],K}},{key:"clear",value:function(){var J=k;this[J(2771)]=this[J(333)]=null,this[J(1383)]=0}},{key:"join",value:function(J){var K=k;if(this[K(1383)]===0)return"";for(var X=this[K(2771)],q=""+X[K(1613)];X=X[K(1966)];)q+=J+X[K(1613)];return q}},{key:"concat",value:function(J){var K=k;if(this[K(1383)]===0)return M[K(1581)](0);for(var X,q,ee=M[K(960)](J>>>0),ie=this[K(2771)],H=0;ie;)X=ie.data,q=H,M[K(1166)][K(1830)][K(2623)](X,ee,q),H+=ie[K(1613)][K(1383)],ie=ie[K(1966)];return ee}},{key:k(1721),value:function(J,K){var X=k,q;return J<this[X(2771)].data.length?(q=this[X(2771)].data[X(2679)](0,J),this[X(2771)].data=this[X(2771)].data[X(2679)](J)):q=J===this[X(2771)][X(1613)][X(1383)]?this.shift():K?this[X(492)](J):this[X(2485)](J),q}},{key:k(1781),value:function(){var J=k;return this.head[J(1613)]}},{key:k(492),value:function(J){var K=k,X=this[K(2771)],q=1,ee=X[K(1613)];for(J-=ee[K(1383)];X=X[K(1966)];){var ie=X[K(1613)],H=J>ie[K(1383)]?ie.length:J;if(H===ie.length?ee+=ie:ee+=ie[K(2679)](0,J),(J-=H)==0){H===ie[K(1383)]?(++q,X[K(1966)]?this[K(2771)]=X[K(1966)]:this[K(2771)]=this[K(333)]=null):(this.head=X)[K(1613)]=ie[K(2679)](H);break}++q}return this[K(1383)]-=q,ee}},{key:k(2485),value:function(J){var K=k,X=M[K(960)](J),q=this[K(2771)],ee=1;for(q.data[K(1830)](X),J-=q[K(1613)][K(1383)];q=q.next;){var ie=q.data,H=J>ie[K(1383)]?ie[K(1383)]:J;if(ie[K(1830)](X,X[K(1383)]-J,0,H),(J-=H)==0){H===ie[K(1383)]?(++ee,q[K(1966)]?this[K(2771)]=q.next:this.head=this[K(333)]=null):(this[K(2771)]=q)[K(1613)]=ie.slice(H);break}++ee}return this[K(1383)]-=ee,X}},{key:F,value:function(J,K){return L(this,D(D({},K),{},{depth:0,customInspect:!1}))}}]),Object[k(1844)](G,k(1166),{writable:!1}),N}()},61195:(B,Q,T)=>{var w=Ut,S=T(34155);function D(M,L){P(M,L),R(M)}function R(M){var L=Ut;M[L(1771)]&&!M[L(1771)][L(990)]||M._readableState&&!M[L(578)][L(990)]||M[L(445)](L(420))}function P(M,L){var F=Ut;M[F(445)](F(899),L)}B[w(1729)]={destroy:function(M,L){var F=w,k=this,N=this[F(578)]&&this[F(578)][F(2226)],G=this._writableState&&this._writableState[F(2226)];return N||G?L?L(M):M&&(this[F(1771)]?this[F(1771)][F(1828)]||(this[F(1771)][F(1828)]=!0,S[F(1475)](P,this,M)):S[F(1475)](P,this,M)):(this._readableState&&(this[F(578)].destroyed=!0),this[F(1771)]&&(this._writableState.destroyed=!0),this._destroy(M||null,function(J){var K=F;!L&&J?k[K(1771)]?k[K(1771)][K(1828)]?S.nextTick(R,k):(k[K(1771)][K(1828)]=!0,S[K(1475)](D,k,J)):S.nextTick(D,k,J):L?(S.nextTick(R,k),L(J)):S[K(1475)](R,k)})),this},undestroy:function(){var M=w;this._readableState&&(this._readableState.destroyed=!1,this[M(578)].reading=!1,this[M(578)][M(534)]=!1,this[M(578)][M(1543)]=!1),this[M(1771)]&&(this[M(1771)].destroyed=!1,this[M(1771)][M(534)]=!1,this[M(1771)][M(938)]=!1,this._writableState[M(2031)]=!1,this[M(1771)].prefinished=!1,this[M(1771)][M(607)]=!1,this._writableState[M(1828)]=!1)},errorOrDestroy:function(M,L){var F=w,k=M[F(578)],N=M[F(1771)];k&&k.autoDestroy||N&&N[F(181)]?M[F(408)](L):M[F(445)](F(899),L)}}},8610:(B,Q,T)=>{var w=Ut,S=T(94281).q[w(1196)];function D(){}B[w(1729)]=function R(P,M,L){var F=w;if(F(1451)==typeof M)return R(P,null,M);function k(){P.writable||N()}function N(){var Ae=F;le=!(H=!1),ie||L[Ae(2623)](P)}function G(){ue=!(ie=!1),H||L.call(P)}function J(Ae){L.call(P,Ae)}function K(){var Ae=F,he;return ie&&!ue?(P._readableState&&P[Ae(578)].ended||(he=new S),L.call(P,he)):H&&!le?(P._writableState&&P[Ae(1771)][Ae(534)]||(he=new S),L[Ae(2623)](P,he)):void 0}function X(){var Ae=F;P.req.on(Ae(1233),N)}q=L||D,ee=!1,L=function(){var Ae=F;if(!ee){ee=!0;for(var he=arguments.length,ge=new Array(he),fe=0;fe<he;fe++)ge[fe]=arguments[fe];q[Ae(2559)](this,ge)}};var q,ee,ie=(M=M||{}).readable||M.readable!==!1&&P.readable,H=M[F(2021)]||M.writable!==!1&&P[F(2021)],le=P[F(1771)]&&P[F(1771)].finished,ue=P[F(578)]&&P._readableState[F(1543)];return P.setHeader&&typeof P[F(859)]=="function"?(P.on("complete",N),P.on(F(859),K),P[F(1262)]?X():P.on(F(807),X)):H&&!P._writableState&&(P.on(F(1960),k),P.on(F(420),k)),P.on("end",G),P.on(F(1233),N),M[F(899)]!==!1&&P.on(F(899),J),P.on(F(420),K),function(){var Ae=F;P[Ae(2513)](Ae(755),N),P[Ae(2513)](Ae(859),K),P[Ae(2513)](Ae(807),X),P[Ae(1262)]&&P[Ae(1262)][Ae(2513)]("finish",N),P[Ae(2513)]("end",k),P[Ae(2513)]("close",k),P[Ae(2513)](Ae(1233),N),P[Ae(2513)](Ae(1960),G),P.removeListener("error",J),P[Ae(2513)]("close",K)}}},15167:B=>{var Q=Ut;B[Q(1729)]=function(){var T=Q;throw new Error(T(1003))}},59946:(B,Q,T)=>{var w=Ut,S,D=T(94281).q,R=D.ERR_MISSING_ARGS,P=D[w(2220)];function M(k){if(k)throw k}function L(k){k()}function F(k,N){var G=w;return k[G(1768)](N)}B[w(1729)]=function(){for(var k=w,N=arguments.length,G=new Array(N),J=0;J<N;J++)G[J]=arguments[J];var K,X,q=(K=G).length&&k(1451)==typeof K[K.length-1]?K.pop():M;if((G=Array[k(2507)](G[0])?G[0]:G)[k(1383)]<2)throw new R(k(1467));var ee=G.map(function(ie,H){var le=k,ue,Ae,he,ge,fe,ae,U,W=H<G[le(1383)]-1;return Ae=W,H=0<H,ge=he=function(Y){var z=le;X=X||Y,Y&&ee[z(2455)](L),W||(ee[z(2455)](L),q(X))},fe=!1,ae=!(he=function(){fe||(fe=!0,ge.apply(void 0,arguments))}),(ue=ie).on(le(420),function(){ae=!0}),(S=S===void 0?T(8610):S)(ue,{readable:Ae,writable:H},function(Y){if(Y)return he(Y);ae=!0,he()}),U=!1,function(Y){var z=le;if(!ae&&!U)return U=!0,ue[z(2131)]&&z(1451)==typeof ue[z(859)]?ue[z(859)]():z(1451)==typeof ue[z(408)]?ue.destroy():void he(Y||new P("pipe"))}});return G[k(1336)](F)}},82457:(B,Q,T)=>{var w=Ut,S=T(94281).q[w(2465)];B[w(1729)]={getHighWaterMark:function(D,R,P,M){var L=w;if(R=R[L(785)]!=null?R.highWaterMark:M?R[P]:null,R==null)return D[L(1486)]?16:16384;if(!isFinite(R)||Math[L(1194)](R)!==R||R<0)throw new S(M?P:"highWaterMark",R);return Math[L(1194)](R)}}},22503:(B,Q,T)=>{var w=Ut;B[w(1729)]=T(17187)[w(1809)]},88473:(B,Q,T)=>{var w=Ut;(((Q=B[w(1729)]=T(79481))[w(1162)]=Q)[w(2145)]=Q)[w(2393)]=T(64229),Q[w(2054)]=T(56753),Q[w(1148)]=T(74605),Q[w(2431)]=T(82725),Q[w(607)]=T(8610),Q[w(2248)]=T(59946)},79785:(B,Q,T)=>{var w=Ut,S=T(48764)[w(1641)],D=T(35717),R=T(3349),P=new Array(16),M=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],L=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],F=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],k=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],N=[0,1518500249,1859775393,2400959708,2840853838],G=[1352829926,1548603684,1836072691,2053994217,0];function J(){var le=w;R[le(2623)](this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function K(le,ue){return le<<ue|le>>>32-ue}function X(le,ue,Ae,he,ge,fe,ae,U){return K(le+(ue^Ae^he)+fe+ae|0,U)+ge|0}function q(le,ue,Ae,he,ge,fe,ae,U){return K(le+(ue&Ae|~ue&he)+fe+ae|0,U)+ge|0}function ee(le,ue,Ae,he,ge,fe,ae,U){return K(le+((ue|~Ae)^he)+fe+ae|0,U)+ge|0}function ie(le,ue,Ae,he,ge,fe,ae,U){return K(le+(ue&he|Ae&~he)+fe+ae|0,U)+ge|0}function H(le,ue,Ae,he,ge,fe,ae,U){return K(le+(ue^(Ae|~he))+fe+ae|0,U)+ge|0}D(J,R),J.prototype._update=function(){for(var le=w,ue=P,Ae=0;Ae<16;++Ae)ue[Ae]=this[le(2786)][le(1117)](4*Ae);for(var ae=0|this._a,z=0|this._b,Y=0|this._c,W=0|this._d,U=0|this._e,re=0|this._a,Ce=0|this._b,me=0|this._c,de=0|this._d,se=0|this._e,he=0;he<80;he+=1)var ge,fe=he<16?(ge=X(ae,z,Y,W,U,ue[M[he]],N[0],F[he]),H(re,Ce,me,de,se,ue[L[he]],G[0],k[he])):he<32?(ge=q(ae,z,Y,W,U,ue[M[he]],N[1],F[he]),ie(re,Ce,me,de,se,ue[L[he]],G[1],k[he])):he<48?(ge=ee(ae,z,Y,W,U,ue[M[he]],N[2],F[he]),ee(re,Ce,me,de,se,ue[L[he]],G[2],k[he])):he<64?(ge=ie(ae,z,Y,W,U,ue[M[he]],N[3],F[he]),q(re,Ce,me,de,se,ue[L[he]],G[3],k[he])):(ge=H(ae,z,Y,W,U,ue[M[he]],N[4],F[he]),X(re,Ce,me,de,se,ue[L[he]],G[4],k[he])),ae=U,U=W,W=K(Y,10),Y=z,z=ge,re=se,se=de,de=K(me,10),me=Ce,Ce=fe;var Ie=this._b+Y+de|0;this._b=this._c+W+se|0,this._c=this._d+U+re|0,this._d=this._e+ae+Ce|0,this._e=this._a+z+me|0,this._a=Ie},J[w(1166)]._digest=function(){var le=w;this[le(2786)][this[le(1608)]++]=128,56<this[le(1608)]&&(this._block[le(1371)](0,this[le(1608)],64),this[le(994)](),this[le(1608)]=0),this._block.fill(0,this._blockOffset,56),this[le(2786)][le(1501)](this[le(2521)][0],56),this[le(2786)].writeUInt32LE(this[le(2521)][1],60),this._update();var ue=S.alloc?S[le(1581)](20):new S(20);return ue[le(897)](this._a,0),ue[le(897)](this._b,4),ue[le(897)](this._c,8),ue.writeInt32LE(this._d,12),ue[le(897)](this._e,16),ue},B[w(1729)]=J},89509:(B,Q,T)=>{var w=Ut,S=T(48764),D=S[w(1641)];function R(M,L){for(var F in M)L[F]=M[F]}function P(M,L,F){return D(M,L,F)}D[w(2047)]&&D.alloc&&D[w(960)]&&D[w(1821)]?B.exports=S:(R(S,Q),Q[w(1641)]=P),R(D,P),P.from=function(M,L,F){var k=w;if(k(2013)==typeof M)throw new TypeError(k(2462));return D(M,L,F)},P[w(1581)]=function(M,L,F){var k=w;if(k(2013)!=typeof M)throw new TypeError(k(1220));return M=D(M),L!==void 0?k(1896)==typeof F?M.fill(L,F):M.fill(L):M[k(1371)](0),M},P[w(960)]=function(M){var L=w;if(L(2013)!=typeof M)throw new TypeError("Argument must be a number");return D(M)},P[w(1821)]=function(M){var L=w;if(L(2013)!=typeof M)throw new TypeError("Argument must be a number");return S[L(556)](M)}},2399:(B,Q,T)=>{var w=Ut,S,D=T(34155),R=T(48764),P=R[w(1641)],M={};for(S in R)R.hasOwnProperty(S)&&w(556)!==S&&w(1641)!==S&&(M[S]=R[S]);var L=M[w(1641)]={};for(S in P)P[w(579)](S)&&w(960)!==S&&w(1821)!==S&&(L[S]=P[S]);if(M[w(1641)][w(1166)]=P[w(1166)],L.from&&L[w(2047)]!==Uint8Array[w(2047)]||(L[w(2047)]=function(F,k,N){var G=w;if(typeof F=="number")throw new TypeError(G(1024)+typeof F);if(F&&F[G(1383)]===void 0)throw new TypeError(G(1970)+typeof F);return P(F,k,N)}),L[w(1581)]||(L.alloc=function(F,k,N){var G=w;if(G(2013)!=typeof F)throw new TypeError(G(1599)+typeof F);if(F<0||2*(1<<30)<=F)throw new RangeError(G(1568)+F+G(2614));return F=P(F),k&&k.length!==0?typeof N=="string"?F[G(1371)](k,N):F.fill(k):F[G(1371)](0),F}),!M[w(754)])try{M[w(754)]=D[w(873)]("buffer").kStringMaxLength}catch{}M[w(2693)]||(M[w(2693)]={MAX_LENGTH:M[w(2253)]},M[w(754)]&&(M.constants[w(1985)]=M[w(754)])),B[w(1729)]=M},24189:(B,Q,T)=>{var w=Ut,S=T(89509)[w(1641)];function D(R,P){var M=w;this[M(2786)]=S[M(1581)](R),this._finalSize=P,this[M(648)]=R,this._len=0}D[w(1166)][w(1002)]=function(R,P){var M=w;M(1896)==typeof R&&(R=S[M(2047)](R,P=P||M(1757)));for(var L=this[M(2786)],F=this[M(648)],k=R.length,N=this[M(1174)],G=0;G<k;){for(var J=N%F,K=Math[M(1869)](k-G,F-J),X=0;X<K;X++)L[J+X]=R[G+X];G+=K,(N+=K)%F==0&&this[M(994)](L)}return this._len+=k,this},D[w(1166)][w(593)]=function(R){var P=w,M=this[P(1174)]%this[P(648)],M=(this[P(2786)][M]=128,this._block[P(1371)](0,1+M),M>=this[P(1777)]&&(this[P(994)](this[P(2786)]),this._block.fill(0)),8*this[P(1174)]),M=(M<=4294967295?this._block.writeUInt32BE(M,this[P(648)]-4):(this[P(2786)][P(1833)]((M-(M=(4294967295&M)>>>0))/4294967296,this[P(648)]-8),this[P(2786)].writeUInt32BE(M,this[P(648)]-4)),this[P(994)](this[P(2786)]),this[P(2100)]());return R?M[P(1888)](R):M},D[w(1166)]._update=function(){var R=w;throw new Error(R(2374))},B.exports=D},89072:(B,Q,T)=>{var w=Ut,S=B[w(1729)]=function(D){var R=w;D=D.toLowerCase();var P=S[D];if(P)return new P;throw new Error(D+R(1734))};S[w(2411)]=T(74448),S[w(1590)]=T(18336),S[w(741)]=T(48432),S[w(1077)]=T(67499),S[w(2678)]=T(51686),S[w(720)]=T(87816)},74448:(B,Q,T)=>{var w=Ut,S=T(35717),D=T(24189),R=T(89509)[w(1641)],P=[1518500249,1859775393,-1894007588,-899497514],M=new Array(80);function L(){var F=w;this[F(2688)](),this._w=M,D.call(this,64,56)}S(L,D),L[w(1166)].init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},L[w(1166)][w(994)]=function(F){for(var k=w,N=this._w,G=0|this._a,J=0|this._b,K=0|this._c,X=0|this._d,q=0|this._e,ee=0;ee<16;++ee)N[ee]=F[k(944)](4*ee);for(;ee<80;++ee)N[ee]=N[ee-3]^N[ee-8]^N[ee-14]^N[ee-16];for(var ie=0;ie<80;++ie)var H=~~(ie/20),H=0|(G<<5|G>>>27)+(H==0?J&K|~J&X:H==2?J&K|J&X|K&X:J^K^X)+q+N[ie]+P[H],q=X,X=K,K=J<<30|J>>>2,J=G,G=H;this._a=G+this._a|0,this._b=J+this._b|0,this._c=K+this._c|0,this._d=X+this._d|0,this._e=q+this._e|0},L[w(1166)][w(2100)]=function(){var F=w,k=R.allocUnsafe(20);return k[F(2536)](0|this._a,0),k.writeInt32BE(0|this._b,4),k.writeInt32BE(0|this._c,8),k.writeInt32BE(0|this._d,12),k[F(2536)](0|this._e,16),k},B[w(1729)]=L},18336:(B,Q,T)=>{var w=Ut,S=T(35717),D=T(24189),R=T(89509)[w(1641)],P=[1518500249,1859775393,-1894007588,-899497514],M=new Array(80);function L(){var F=w;this[F(2688)](),this._w=M,D[F(2623)](this,64,56)}S(L,D),L[w(1166)][w(2688)]=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},L[w(1166)][w(994)]=function(F){for(var k=w,N,G=this._w,J=0|this._a,K=0|this._b,X=0|this._c,q=0|this._d,ee=0|this._e,ie=0;ie<16;++ie)G[ie]=F[k(944)](4*ie);for(;ie<80;++ie)G[ie]=(N=G[ie-3]^G[ie-8]^G[ie-14]^G[ie-16])<<1|N>>>31;for(var H=0;H<80;++H)var le=~~(H/20),le=0|(J<<5|J>>>27)+(le==0?K&X|~K&q:le==2?K&X|K&q|X&q:K^X^q)+ee+G[H]+P[le],ee=q,q=X,X=K<<30|K>>>2,K=J,J=le;this._a=J+this._a|0,this._b=K+this._b|0,this._c=X+this._c|0,this._d=q+this._d|0,this._e=ee+this._e|0},L.prototype[w(2100)]=function(){var F=w,k=R[F(960)](20);return k[F(2536)](0|this._a,0),k[F(2536)](0|this._b,4),k.writeInt32BE(0|this._c,8),k[F(2536)](0|this._d,12),k[F(2536)](0|this._e,16),k},B[w(1729)]=L},48432:(B,Q,T)=>{var w=Ut,S=T(35717),D=T(67499),R=T(24189),P=T(89509)[w(1641)],M=new Array(64);function L(){var F=w;this.init(),this._w=M,R[F(2623)](this,64,56)}S(L,D),L[w(1166)][w(2688)]=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},L[w(1166)][w(2100)]=function(){var F=w,k=P[F(960)](28);return k[F(2536)](this._a,0),k[F(2536)](this._b,4),k[F(2536)](this._c,8),k[F(2536)](this._d,12),k[F(2536)](this._e,16),k[F(2536)](this._f,20),k[F(2536)](this._g,24),k},B[w(1729)]=L},67499:(B,Q,T)=>{var w=Ut,S=T(35717),D=T(24189),R=T(89509)[w(1641)],P=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],M=new Array(64);function L(){var F=w;this[F(2688)](),this._w=M,D[F(2623)](this,64,56)}S(L,D),L[w(1166)][w(2688)]=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},L[w(1166)]._update=function(F){for(var k=w,N,G=this._w,J=0|this._a,K=0|this._b,X=0|this._c,q=0|this._d,ee=0|this._e,ie=0|this._f,H=0|this._g,le=0|this._h,ue=0;ue<16;++ue)G[ue]=F[k(944)](4*ue);for(;ue<64;++ue)G[ue]=0|(((N=G[ue-2])>>>17|N<<15)^(N>>>19|N<<13)^N>>>10)+G[ue-7]+(((N=G[ue-15])>>>7|N<<25)^(N>>>18|N<<14)^N>>>3)+G[ue-16];for(var Ae=0;Ae<64;++Ae)var he=le+((ee>>>6|ee<<26)^(ee>>>11|ee<<21)^(ee>>>25|ee<<7))+(H^ee&(ie^H))+P[Ae]+G[Ae]|0,ge=0|((J>>>2|J<<30)^(J>>>13|J<<19)^(J>>>22|J<<10))+(J&K|X&(J|K)),le=H,H=ie,ie=ee,ee=q+he|0,q=X,X=K,K=J,J=he+ge|0;this._a=J+this._a|0,this._b=K+this._b|0,this._c=X+this._c|0,this._d=q+this._d|0,this._e=ee+this._e|0,this._f=ie+this._f|0,this._g=H+this._g|0,this._h=le+this._h|0},L.prototype[w(2100)]=function(){var F=w,k=R[F(960)](32);return k[F(2536)](this._a,0),k[F(2536)](this._b,4),k[F(2536)](this._c,8),k.writeInt32BE(this._d,12),k[F(2536)](this._e,16),k[F(2536)](this._f,20),k.writeInt32BE(this._g,24),k[F(2536)](this._h,28),k},B[w(1729)]=L},51686:(B,Q,T)=>{var w=Ut,S=T(35717),D=T(87816),R=T(24189),P=T(89509)[w(1641)],M=new Array(160);function L(){var F=w;this[F(2688)](),this._w=M,R.call(this,128,112)}S(L,D),L.prototype.init=function(){var F=w;return this[F(918)]=3418070365,this[F(2345)]=1654270250,this[F(1789)]=2438529370,this._dh=355462360,this[F(2307)]=1731405415,this._fh=2394180231,this[F(529)]=3675008525,this[F(142)]=1203062813,this[F(1884)]=3238371032,this._bl=914150663,this[F(2727)]=812702999,this._dl=4144912697,this[F(1671)]=4290775857,this[F(418)]=1750603025,this[F(1540)]=1694076839,this[F(2111)]=3204075428,this},L.prototype[w(2100)]=function(){var F=w,k=P[F(960)](48);function N(G,J,K){var X=F;k[X(2536)](G,K),k.writeInt32BE(J,K+4)}return N(this[F(918)],this[F(1884)],0),N(this[F(2345)],this[F(1292)],8),N(this[F(1789)],this._cl,16),N(this[F(1592)],this[F(477)],24),N(this[F(2307)],this[F(1671)],32),N(this[F(584)],this[F(418)],40),k},B[w(1729)]=L},87816:(B,Q,T)=>{var w=Ut,S=T(35717),D=T(24189),R=T(89509)[w(1641)],P=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],M=new Array(160);function L(){var K=w;this[K(2688)](),this._w=M,D[K(2623)](this,128,112)}function F(K,X,q){return q^K&(X^q)}function k(K,X,q){return K&X|q&(K|X)}function N(K,X){return(K>>>28|X<<4)^(X>>>2|K<<30)^(X>>>7|K<<25)}function G(K,X){return(K>>>14|X<<18)^(K>>>18|X<<14)^(X>>>9|K<<23)}function J(K,X){return K>>>0<X>>>0?1:0}S(L,D),L[w(1166)][w(2688)]=function(){var K=w;return this._ah=1779033703,this[K(2345)]=3144134277,this[K(1789)]=1013904242,this[K(1592)]=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this[K(142)]=1541459225,this[K(1884)]=4089235720,this[K(1292)]=2227873595,this._cl=4271175723,this[K(477)]=1595750129,this._el=2917565137,this[K(418)]=725511199,this[K(1540)]=4215389547,this[K(2111)]=327033209,this},L[w(1166)][w(994)]=function(K){for(var X=w,q=this._w,ee=0|this[X(918)],ie=0|this[X(2345)],H=0|this._ch,le=0|this[X(1592)],ue=0|this._eh,Ae=0|this._fh,he=0|this[X(529)],ge=0|this._hh,fe=0|this[X(1884)],ae=0|this._bl,U=0|this[X(2727)],W=0|this._dl,Y=0|this[X(1671)],z=0|this[X(418)],re=0|this[X(1540)],se=0|this[X(2111)],de=0;de<32;de+=2)q[de]=K.readInt32BE(4*de),q[de+1]=K[X(944)](4*de+4);for(;de<160;de+=2){var we=q[de-30],me=q[de-30+1],Ce=(we>>>1|me<<31)^(we>>>8|me<<24)^we>>>7,Ie=(me>>>1|we<<31)^(me>>>8|we<<24)^(me>>>7|we<<25),we=q[de-4],Te=((me=q[de-4+1])>>>19|we<<13)^(we>>>29|me<<3)^(me>>>6|we<<26),Ge=q[de-14],ke=q[de-14+1],Oe=q[de-32],Le=q[de-32+1],be=Ie+ke|0,Ne=(Ne=(Ne=Ce+Ge+J(be,Ie)|0)+((we>>>19|me<<13)^(me>>>29|we<<3)^we>>>6)+J(be=be+Te|0,Te)|0)+Oe+J(be=be+Le|0,Le)|0;q[de]=Ne,q[de+1]=be}for(var Ue=0;Ue<160;Ue+=2){Ne=q[Ue];var be=q[Ue+1],ze=k(ee,ie,H),Je=k(fe,ae,U),Xe=N(ee,fe),et=N(fe,ee),ot=G(ue,Y),Ct=G(Y,ue),Et=P[Ue+1],ct=F(ue,Ae,he),yt=F(Y,z,re),Ct=se+Ct|0,ct=(ot=(((ge+ot+J(Ct,se)|0)+ct+J(Ct=Ct+yt|0,yt)|0)+P[Ue]+J(Ct=Ct+Et|0,Et)|0)+Ne+J(Ct=Ct+be|0,be)|0,et+Je|0),yt=Xe+ze+J(ct,et)|0,ge=he,se=re,he=Ae,re=z,Ae=ue,z=Y,ue=le+ot+J(Y=W+Ct|0,W)|0,le=H,W=U,H=ie,U=ae,ie=ee,ae=fe,ee=ot+yt+J(fe=Ct+ct|0,Ct)|0}this[X(1884)]=this._al+fe|0,this[X(1292)]=this[X(1292)]+ae|0,this._cl=this[X(2727)]+U|0,this[X(477)]=this[X(477)]+W|0,this[X(1671)]=this[X(1671)]+Y|0,this[X(418)]=this[X(418)]+z|0,this[X(1540)]=this._gl+re|0,this[X(2111)]=this[X(2111)]+se|0,this._ah=this._ah+ee+J(this[X(1884)],fe)|0,this[X(2345)]=this[X(2345)]+ie+J(this[X(1292)],ae)|0,this[X(1789)]=this[X(1789)]+H+J(this[X(2727)],U)|0,this[X(1592)]=this[X(1592)]+le+J(this[X(477)],W)|0,this[X(2307)]=this[X(2307)]+ue+J(this[X(1671)],Y)|0,this[X(584)]=this[X(584)]+Ae+J(this[X(418)],z)|0,this._gh=this._gh+he+J(this[X(1540)],re)|0,this[X(142)]=this[X(142)]+ge+J(this[X(2111)],se)|0},L[w(1166)][w(2100)]=function(){var K=w,X=R.allocUnsafe(64);function q(ee,ie,H){var le=Ut;X[le(2536)](ee,H),X[le(2536)](ie,H+4)}return q(this[K(918)],this._al,0),q(this[K(2345)],this[K(1292)],8),q(this[K(1789)],this[K(2727)],16),q(this[K(1592)],this._dl,24),q(this[K(2307)],this[K(1671)],32),q(this[K(584)],this[K(418)],40),q(this[K(529)],this[K(1540)],48),q(this._hh,this[K(2111)],56),X},B[w(1729)]=L},42830:(B,Q,T)=>{var w=Ut;B[w(1729)]=D;var S=T(17187).EventEmitter;function D(){var R=w;S[R(2623)](this)}T(35717)(D,S),D[w(2145)]=T(79481),D[w(2393)]=T(64229),D[w(2054)]=T(56753),D[w(1148)]=T(74605),D[w(2431)]=T(82725),D[w(607)]=T(8610),D.pipeline=T(59946),(D.Stream=D)[w(1166)][w(1768)]=function(R,P){var M=w,L=this;function F(q){var ee=Ut;R[ee(2021)]&&R[ee(2430)](q)===!1&&L[ee(1278)]&&L[ee(1278)]()}function k(){var q=Ut;L[q(2258)]&&L[q(1105)]&&L.resume()}L.on(M(1613),F),R.on("drain",k),R._isStdio||P&&P.end===!1||(L.on(M(1960),G),L.on("close",J));var N=!1;function G(){var q=M;N||(N=!0,R[q(1960)]())}function J(){var q=M;N||(N=!0,q(1451)==typeof R[q(408)]&&R[q(408)]())}function K(q){var ee=M;if(X(),S[ee(2655)](this,ee(899))===0)throw q}function X(){var q=M;L[q(2513)]("data",F),R[q(2513)](q(431),k),L.removeListener(q(1960),G),L[q(2513)](q(420),J),L.removeListener(q(899),K),R[q(2513)](q(899),K),L.removeListener(q(1960),X),L.removeListener(q(420),X),R[q(2513)](q(420),X)}return L.on("error",K),R.on("error",K),L.on(M(1960),X),L.on("close",X),R.on("close",X),R[M(445)]("pipe",L),R}},32553:(B,Q,T)=>{var w=Ut,S=T(40396)[w(1641)],D=S[w(2624)]||function(K){var X=w;switch((K=""+K)&&K[X(1096)]()){case X(495):case X(1757):case X(1187):case X(641):case X(2113):case X(663):case"ucs2":case X(305):case X(528):case X(1386):case X(1427):return!0;default:return!1}};function R(K){var X=w,q;switch(this[X(2398)]=function(ee){var ie=X,H=function(le){var ue=Ut;if(!le)return ue(1757);for(var Ae;;)switch(le){case ue(1757):case ue(1187):return ue(1757);case ue(2120):case ue(305):case ue(528):case ue(1386):return ue(528);case"latin1":case"binary":return"latin1";case"base64":case ue(641):case ue(495):return le;default:if(Ae)return;le=(""+le)[ue(1096)](),Ae=!0}}(ee);if(typeof H=="string"||S[ie(2624)]!==D&&D(ee))return H||ee;throw new Error(ie(616)+ee)}(K),this[X(2398)]){case X(528):this[X(982)]=L,this[X(1960)]=F,q=4;break;case X(1757):this[X(466)]=M,q=4;break;case X(663):this[X(982)]=k,this[X(1960)]=N,q=3;break;default:return this.write=G,void(this[X(1960)]=J)}this[X(447)]=0,this.lastTotal=0,this.lastChar=S[X(960)](q)}function P(K){return K<=127?0:K>>5==6?2:K>>4==14?3:K>>3==30?4:K>>6==2?-1:-2}function M(K){var X=w,q=this[X(509)]-this.lastNeed,ee=(192&(ee=K)[0])!=128?(this[X(447)]=0,"\uFFFD"):1<this[X(447)]&&1<ee[X(1383)]?(192&ee[1])!=128?(this.lastNeed=1,"\uFFFD"):2<this[X(447)]&&2<ee[X(1383)]&&(192&ee[2])!=128?(this[X(447)]=2,"\uFFFD"):void 0:void 0;return ee!==void 0?ee:this.lastNeed<=K.length?(K.copy(this.lastChar,q,0,this[X(447)]),this[X(1625)][X(1888)](this[X(2398)],0,this.lastTotal)):(K[X(1830)](this.lastChar,q,0,K[X(1383)]),void(this[X(447)]-=K[X(1383)]))}function L(K,X){var q=w;if((K[q(1383)]-X)%2!=0)return this[q(447)]=1,this[q(509)]=2,this[q(1625)][0]=K[K.length-1],K.toString(q(528),X,K[q(1383)]-1);if(X=K.toString(q(528),X),X){var ee=X[q(2010)](X[q(1383)]-1);if(55296<=ee&&ee<=56319)return this[q(447)]=2,this[q(509)]=4,this[q(1625)][0]=K[K[q(1383)]-2],this[q(1625)][1]=K[K.length-1],X[q(2679)](0,-1)}return X}function F(ee){var X=w,q,ee=ee&&ee[X(1383)]?this.write(ee):"";return this.lastNeed?(q=this[X(509)]-this[X(447)],ee+this[X(1625)].toString("utf16le",0,q)):ee}function k(K,X){var q=w,ee=(K[q(1383)]-X)%3;return ee==0?K[q(1888)](q(663),X):(this[q(447)]=3-ee,this[q(509)]=3,ee==1?this.lastChar[0]=K[K[q(1383)]-1]:(this[q(1625)][0]=K[K[q(1383)]-2],this.lastChar[1]=K[K[q(1383)]-1]),K.toString("base64",X,K[q(1383)]-ee))}function N(K){var X=w;return K=K&&K.length?this[X(2430)](K):"",this[X(447)]?K+this[X(1625)][X(1888)]("base64",0,3-this[X(447)]):K}function G(K){var X=w;return K[X(1888)](this[X(2398)])}function J(K){var X=w;return K&&K[X(1383)]?this[X(2430)](K):""}(Q.s=R).prototype[w(2430)]=function(K){var X=w;if(K.length===0)return"";var q,ee;if(this[X(447)]){if((q=this[X(466)](K))===void 0)return"";ee=this[X(447)],this.lastNeed=0}else ee=0;return ee<K.length?q?q+this[X(982)](K,ee):this[X(982)](K,ee):q||""},R[w(1166)][w(1960)]=function(K){var X=w;return K=K&&K.length?this[X(2430)](K):"",this[X(447)]?K+"\uFFFD":K},R[w(1166)][w(982)]=function(K,X){var q=w,ee=function(ie,H,le){var ue=Ut,Ae=H[ue(1383)]-1;if(Ae<le)return 0;var he=P(H[Ae]);return 0<=he?(0<he&&(ie[ue(447)]=he-1),he):--Ae<le||he===-2?0:0<=(he=P(H[Ae]))?(0<he&&(ie[ue(447)]=he-2),he):!(--Ae<le||he===-2)&&0<=(he=P(H[Ae]))?(0<he&&(he===2?he=0:ie.lastNeed=he-3),he):0}(this,K,X);return this[q(447)]?(this.lastTotal=ee,ee=K[q(1383)]-(ee-this[q(447)]),K[q(1830)](this.lastChar,0,ee),K[q(1888)]("utf8",X,ee)):K.toString(q(1757),X)},R[w(1166)].fillLast=function(K){var X=w;if(this[X(447)]<=K.length)return K[X(1830)](this[X(1625)],this[X(509)]-this[X(447)],0,this[X(447)]),this[X(1625)].toString(this[X(2398)],0,this.lastTotal);K[X(1830)](this[X(1625)],this.lastTotal-this.lastNeed,0,K.length),this[X(447)]-=K[X(1383)]}},40396:(B,Q,T)=>{var w=Ut,S=T(48764),D=S[w(1641)];function R(M,L){for(var F in M)L[F]=M[F]}function P(M,L,F){return D(M,L,F)}D[w(2047)]&&D.alloc&&D[w(960)]&&D.allocUnsafeSlow?B[w(1729)]=S:(R(S,Q),Q[w(1641)]=P),P[w(1166)]=Object[w(917)](D.prototype),R(D,P),P[w(2047)]=function(M,L,F){var k=w;if(typeof M=="number")throw new TypeError(k(2462));return D(M,L,F)},P.alloc=function(M,L,F){var k=w;if(typeof M!="number")throw new TypeError(k(1220));return M=D(M),L!==void 0?k(1896)==typeof F?M[k(1371)](L,F):M[k(1371)](L):M[k(1371)](0),M},P[w(960)]=function(M){var L=w;if(L(2013)!=typeof M)throw new TypeError(L(1220));return D(M)},P[w(1821)]=function(M){var L=w;if(L(2013)!=typeof M)throw new TypeError(L(1220));return S[L(556)](M)}},94927:(B,Q,T)=>{var w=Ut,S=T(25108);function D(R){var P=Ut;try{if(!T.g[P(655)])return}catch{return}return R=T.g[P(655)][R],R!=null&&String(R)[P(1096)]()==="true"}B[w(1729)]=function(R,P){if(D("noDeprecation"))return R;var M=!1;return function(){var L=Ut;if(!M){if(D(L(543)))throw new Error(P);D("traceDeprecation")?S[L(813)](P):S[L(2699)](P),M=!0}return R[L(2559)](this,arguments)}}},20384:B=>{B.exports=function(Q){var T=Ut;return Q&&T(1499)==typeof Q&&typeof Q[T(1830)]=="function"&&T(1451)==typeof Q[T(1371)]&&typeof Q[T(1045)]=="function"}},55955:(B,Q,T)=>{var w=Ut,S=T(82584),D=T(48662),R=T(86430),P=T(85692);function M(de){var me=Ut;return de[me(2623)].bind(de)}var L,F,k=w(1506)!=typeof BigInt,N=typeof Symbol<"u",G=M(Object[w(1166)].toString),J=M(Number.prototype.valueOf),K=M(String[w(1166)][w(171)]),X=M(Boolean[w(1166)].valueOf);function q(de,me){var Ce=w;if(Ce(1499)!=typeof de)return!1;try{return me(de),!0}catch{return!1}}function ee(de){var me=w;return me(2104)===G(de)}function ie(de){var me=w;return me(1962)===G(de)}function H(de){var me=w;return me(1694)===G(de)}function le(de){var me=w;return me(2761)===G(de)}function ue(de){var me=w;return me(2062)===G(de)}function Ae(de){return typeof ArrayBuffer<"u"&&(ue.working?ue(de):de instanceof ArrayBuffer)}function he(de){var me=w;return me(857)===G(de)}function ge(de){var me=w;return me(1506)!=typeof DataView&&(he[me(580)]?he(de):de instanceof DataView)}k&&(L=M(BigInt.prototype[w(171)])),N&&(F=M(Symbol[w(1166)][w(171)])),Q[w(1306)]=S,Q[w(1871)]=D,Q[w(2286)]=P,Q[w(1491)]=function(de){var me=w;return me(1506)!=typeof Promise&&de instanceof Promise||de!==null&&me(1499)==typeof de&&me(1451)==typeof de[me(2401)]&&me(1451)==typeof de.catch},Q.isArrayBufferView=function(de){var me=w;return me(1506)!=typeof ArrayBuffer&&ArrayBuffer[me(2276)]?ArrayBuffer.isView(de):P(de)||ge(de)},Q.isUint8Array=function(de){return R(de)==="Uint8Array"},Q.isUint8ClampedArray=function(de){var me=w;return me(1218)===R(de)},Q[w(2414)]=function(de){var me=w;return me(1969)===R(de)},Q[w(575)]=function(de){return R(de)==="Uint32Array"},Q[w(1234)]=function(de){var me=w;return me(1033)===R(de)},Q[w(819)]=function(de){var me=w;return me(2207)===R(de)},Q[w(808)]=function(de){return R(de)==="Int32Array"},Q[w(1161)]=function(de){var me=w;return me(1197)===R(de)},Q[w(1469)]=function(de){var me=w;return me(1260)===R(de)},Q[w(1075)]=function(de){var me=w;return me(2240)===R(de)},Q[w(790)]=function(de){var me=w;return me(1160)===R(de)},ee[w(580)]=typeof Map<"u"&&ee(new Map),Q[w(1724)]=function(de){var me=w;return me(1506)!=typeof Map&&(ee.working?ee(de):de instanceof Map)},ie.working=typeof Set<"u"&&ie(new Set),Q.isSet=function(de){var me=w;return me(1506)!=typeof Set&&(ie.working?ie(de):de instanceof Set)},H.working=w(1506)!=typeof WeakMap&&H(new WeakMap),Q[w(1112)]=function(de){var me=w;return me(1506)!=typeof WeakMap&&(H[me(580)]?H(de):de instanceof WeakMap)},le.working=w(1506)!=typeof WeakSet&&le(new WeakSet),Q[w(1201)]=le,ue[w(580)]=w(1506)!=typeof ArrayBuffer&&ue(new ArrayBuffer),Q[w(1629)]=Ae,he[w(580)]=typeof ArrayBuffer<"u"&&w(1506)!=typeof DataView&&he(new DataView(new ArrayBuffer(1),0,1)),Q[w(1261)]=ge;var fe=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:void 0;function ae(de){var me=w;return me(1895)===G(de)}function U(de){var me=w;return fe!==void 0&&((ae[me(580)]=ae.working===void 0?ae(new fe):ae[me(580)])?ae(de):de instanceof fe)}function W(de){return q(de,J)}function Y(de){return q(de,K)}function z(de){return q(de,X)}function re(de){return k&&q(de,L)}function se(de){return N&&q(de,F)}Q[w(1633)]=U,Q.isAsyncFunction=function(de){var me=w;return me(278)===G(de)},Q[w(1605)]=function(de){return G(de)==="[object Map Iterator]"},Q[w(1428)]=function(de){var me=w;return me(2581)===G(de)},Q[w(1036)]=function(de){var me=w;return me(1585)===G(de)},Q[w(1912)]=function(de){var me=w;return me(2794)===G(de)},Q.isNumberObject=W,Q[w(1319)]=Y,Q[w(757)]=z,Q.isBigIntObject=re,Q[w(2239)]=se,Q[w(469)]=function(de){return W(de)||Y(de)||z(de)||re(de)||se(de)},Q[w(1235)]=function(de){var me=w;return me(1506)!=typeof Uint8Array&&(Ae(de)||U(de))},["isProxy",w(629),"isModuleNamespaceObject"][w(2455)](function(de){var me=w;Object[me(1844)](Q,de,{enumerable:!1,value:function(){throw new Error(de+" is not supported in userland")}})})},89539:(B,Q,T)=>{var w=Ut,S,D=T(34155),R=T(25108),P=Object[w(2236)]||function(se){for(var de=w,me=Object.keys(se),Ce={},Ie=0;Ie<me[de(1383)];Ie++)Ce[me[Ie]]=Object.getOwnPropertyDescriptor(se,me[Ie]);return Ce},M=/%[sdj%]/g,L=(Q.format=function(se){var de=w;if(!le(se)){for(var me=[],Ce=0;Ce<arguments.length;Ce++)me.push(k(arguments[Ce]));return me[de(951)](" ")}for(var Ce=1,Ie=arguments,we=Ie.length,Te=String(se)[de(1850)](M,function(Oe){var Le=de;if(Oe==="%%")return"%";if(we<=Ce)return Oe;switch(Oe){case"%s":return String(Ie[Ce++]);case"%d":return Number(Ie[Ce++]);case"%j":try{return JSON[Le(875)](Ie[Ce++])}catch{return"[Circular]"}default:return Oe}}),Ge=Ie[Ce];Ce<we;Ge=Ie[++Ce])ie(Ge)||!he(Ge)?Te+=" "+Ge:Te+=" "+k(Ge);return Te},Q[w(519)]=function(se,de){if(D!==void 0&&D.noDeprecation===!0)return se;if(D===void 0)return function(){var Ce=Ut;return Q[Ce(519)](se,de)[Ce(2559)](this,arguments)};var me=!1;return function(){var Ce=Ut;if(!me){if(D.throwDeprecation)throw new Error(de);D[Ce(2366)]?R[Ce(813)](de):R[Ce(899)](de),me=!0}return se[Ce(2559)](this,arguments)}},{}),F=/^$/;function k(se,de){var me=w,Ce={seen:[],stylize:G};return 3<=arguments.length&&(Ce[me(634)]=arguments[2]),4<=arguments.length&&(Ce.colors=arguments[3]),ee(de)?Ce[me(2171)]=de:de&&Q[me(732)](Ce,de),ue(Ce[me(2171)])&&(Ce.showHidden=!1),ue(Ce.depth)&&(Ce.depth=2),ue(Ce[me(942)])&&(Ce[me(942)]=!1),ue(Ce[me(173)])&&(Ce[me(173)]=!0),Ce.colors&&(Ce[me(1403)]=N),J(Ce,se,Ce[me(634)])}function N(se,de){var me=w;return de=k[me(2030)][de],de?"\x1B["+k.colors[de][0]+"m"+se+"\x1B["+k.colors[de][1]+"m":se}function G(se,de){return se}function J(se,de,me){var Ce=w;if(se[Ce(173)]&&de&&ae(de.inspect)&&de[Ce(1035)]!==Q[Ce(1035)]&&(!de[Ce(2267)]||de[Ce(2267)][Ce(1166)]!==de))return le(Ie=de[Ce(1035)](me,se))?Ie:J(se,Ie,me);Ie=se;var Ie,we=ue(Ge=de)?Ie[Ce(1403)](Ce(1506),"undefined"):le(Ge)?(we="'"+JSON.stringify(Ge).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'",Ie[Ce(1403)](we,Ce(1896))):H(Ge)?Ie[Ce(1403)](""+Ge,Ce(2013)):ee(Ge)?Ie[Ce(1403)](""+Ge,Ce(1015)):ie(Ge)?Ie[Ce(1403)](Ce(281),"null"):void 0;if(we)return we;var Te,Ge=Object[Ce(451)](de),ke=(Te={},Ge[Ce(2455)](function(Ne,Ue){Te[Ne]=!0}),Te);if(se[Ce(2171)]&&(Ge=Object[Ce(1838)](de)),fe(de)&&(0<=Ge[Ce(2035)]("message")||0<=Ge[Ce(2035)](Ce(2603))))return K(de);if(Ge.length===0){if(ae(de))return Oe=de[Ce(878)]?": "+de[Ce(878)]:"",se.stylize(Ce(283)+Oe+"]","special");if(Ae(de))return se[Ce(1403)](RegExp[Ce(1166)][Ce(1888)][Ce(2623)](de),Ce(2760));if(ge(de))return se[Ce(1403)](Date[Ce(1166)][Ce(1888)][Ce(2623)](de),Ce(724));if(fe(de))return K(de)}var Oe="",Le=!1,be=["{","}"];return q(de)&&(Le=!0,be=["[","]"]),ae(de)&&(Oe=Ce(1795)+(de[Ce(878)]?": "+de[Ce(878)]:"")+"]"),Ae(de)&&(Oe=" "+RegExp[Ce(1166)][Ce(1888)][Ce(2623)](de)),ge(de)&&(Oe=" "+Date[Ce(1166)][Ce(1956)][Ce(2623)](de)),fe(de)&&(Oe=" "+K(de)),Ge.length===0&&(!Le||de[Ce(1383)]==0)?be[0]+Oe+be[1]:me<0?Ae(de)?se[Ce(1403)](RegExp[Ce(1166)][Ce(1888)][Ce(2623)](de),Ce(2760)):se[Ce(1403)](Ce(1415),Ce(273)):(se[Ce(2763)][Ce(182)](de),Ge=Le?function(Ne,Ue,ze,Je,Xe){for(var et=Ce,ot=[],Et=0,Ct=Ue[et(1383)];Et<Ct;++Et)z(Ue,String(Et))?ot[et(182)](X(Ne,Ue,ze,Je,String(Et),!0)):ot[et(182)]("");return Xe[et(2455)](function(ct){var yt=et;ct[yt(373)](/^\d+$/)||ot[yt(182)](X(Ne,Ue,ze,Je,ct,!0))}),ot}(se,de,me,ke,Ge):Ge.map(function(Ne){return X(se,de,me,ke,Ne,Le)}),se[Ce(2763)][Ce(440)](),60<Ge[Ce(1336)](function(Ne,Ue){var ze=Ce;return Ue[ze(2035)](` `),Ne+Ue[ze(1850)](/\u001b\[\d\d?m/g,"")[ze(1383)]+1},0)?be[0]+(Oe===""?"":Oe+` `)+" "+Ge[Ce(951)](Ce(1538))+" "+be[1]:be[0]+Oe+" "+Ge.join(", ")+" "+be[1])}function K(se){var de=w;return"["+Error[de(1166)][de(1888)].call(se)+"]"}function X(se,Oe,me,Ce,Ie,we){var Te=w,Ge,ke,Oe=Object[Te(2629)](Oe,Ie)||{value:Oe[Ie]};if(Oe.get?ke=Oe.set?se[Te(1403)](Te(2525),Te(273)):se[Te(1403)](Te(781),Te(273)):Oe.set&&(ke=se[Te(1403)]("[Setter]","special")),z(Ce,Ie)||(Ge="["+Ie+"]"),ke||(se[Te(2763)][Te(2035)](Oe[Te(242)])<0?-1<(ke=ie(me)?J(se,Oe[Te(242)],null):J(se,Oe[Te(242)],me-1))[Te(2035)](` `)&&(ke=we?ke[Te(2259)](` `).map(function(Le){return" "+Le})[Te(951)](` `)[Te(2679)](2):` `+ke[Te(2259)](` `)[Te(2135)](function(Le){return" "+Le})[Te(951)](` `)):ke=se[Te(1403)](Te(280),Te(273))),ue(Ge)){if(we&&Ie[Te(373)](/^\d+$/))return ke;Ge=(Ge=JSON[Te(875)](""+Ie)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(Ge=Ge.slice(1,-1),se[Te(1403)](Ge,Te(878))):(Ge=Ge[Te(1850)](/'/g,"\\'")[Te(1850)](/\\"/g,'"')[Te(1850)](/(^"|"$)/g,"'"),se[Te(1403)](Ge,Te(1896)))}return Ge+": "+ke}function q(se){var de=w;return Array[de(2507)](se)}function ee(se){return typeof se=="boolean"}function ie(se){return se===null}function H(se){var de=w;return de(2013)==typeof se}function le(se){var de=w;return de(1896)==typeof se}function ue(se){return se===void 0}function Ae(se){var de=w;return he(se)&&de(2117)===U(se)}function he(se){var de=w;return de(1499)==typeof se&&se!==null}function ge(se){var de=w;return he(se)&&de(2640)===U(se)}function fe(se){var de=w;return he(se)&&(de(2022)===U(se)||se instanceof Error)}function ae(se){var de=w;return de(1451)==typeof se}function U(se){var de=w;return Object[de(1166)][de(1888)].call(se)}function W(se){var de=w;return se<10?"0"+se[de(1888)](10):se.toString(10)}D[w(2674)][w(1893)]&&(S=(S=D.env[w(1893)])[w(1850)](/[|\\{}()[\]^$+?.]/g,w(1786))[w(1850)](/\*/g,".*")[w(1850)](/,/g,"$|^")[w(1589)](),F=new RegExp("^"+S+"$","i")),Q[w(405)]=function(se){var de=w,me;return se=se[de(1589)](),L[se]||(F[de(1172)](se)?(me=D[de(2480)],L[se]=function(){var Ce=de,Ie=Q[Ce(2032)][Ce(2559)](Q,arguments);R[Ce(899)](Ce(1903),se,me,Ie)}):L[se]=function(){}),L[se]},(Q[w(1035)]=k)[w(942)]={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},k.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:w(1798),null:w(236),string:w(2500),date:w(2466),regexp:"red"},Q[w(1618)]=T(55955),Q[w(2507)]=q,Q[w(506)]=ee,Q.isNull=ie,Q.isNullOrUndefined=function(se){return se==null},Q[w(1298)]=H,Q[w(286)]=le,Q[w(1206)]=function(se){return typeof se=="symbol"},Q[w(2686)]=ue,Q.isRegExp=Ae,Q[w(1618)][w(1854)]=Ae,Q[w(2098)]=he,Q[w(1102)]=ge,Q[w(1618)].isDate=ge,Q[w(1405)]=fe,Q[w(1618)][w(1464)]=fe,Q.isFunction=ae,Q.isPrimitive=function(se){var de=w;return se===null||typeof se=="boolean"||de(2013)==typeof se||de(1896)==typeof se||typeof se=="symbol"||se===void 0},Q[w(1302)]=T(20384);var Y=[w(1279),w(131),"Mar",w(977),w(1052),w(1228),"Jul",w(1947),"Sep",w(2138),w(2255),"Dec"];function z(se,de){var me=w;return Object[me(1166)][me(579)][me(2623)](se,de)}Q[w(196)]=function(){var se=w,de,me;R[se(196)](se(1553),(me=[W((de=new Date).getHours()),W(de.getMinutes()),W(de.getSeconds())][se(951)](":"),[de.getDate(),Y[de[se(1094)]()],me][se(951)](" ")),Q[se(2032)][se(2559)](Q,arguments))},Q[w(2256)]=T(35717),Q[w(732)]=function(se,de){var me=w;if(!de||!he(de))return se;for(var Ce=Object[me(451)](de),Ie=Ce[me(1383)];Ie--;)se[Ce[Ie]]=de[Ce[Ie]];return se};var re=w(1506)!=typeof Symbol?Symbol("util.promisify.custom"):void 0;Q[w(1152)]=function(se){var de=w;if(de(1451)!=typeof se)throw new TypeError(de(936));if(re&&se[re]){var me;if(de(1451)!=typeof(me=se[re]))throw new TypeError(de(1380));return Object[de(1844)](me,re,{value:me,enumerable:!1,writable:!1,configurable:!0}),me}function me(){for(var Ce=de,Ie,we,Te=new Promise(function(Oe,Le){Ie=Oe,we=Le}),Ge=[],ke=0;ke<arguments[Ce(1383)];ke++)Ge[Ce(182)](arguments[ke]);Ge[Ce(182)](function(Oe,Le){Oe?we(Oe):Ie(Le)});try{se.apply(this,Ge)}catch(Oe){we(Oe)}return Te}return Object[de(1020)](me,Object[de(905)](se)),re&&Object[de(1844)](me,re,{value:me,enumerable:!1,writable:!1,configurable:!0}),Object[de(2130)](me,P(se))},Q[w(1152)][w(1029)]=re,Q.callbackify=function(se){var de=w;if(de(1451)!=typeof se)throw new TypeError(de(936));function me(){for(var Ce=de,Ie=[],we=0;we<arguments.length;we++)Ie[Ce(182)](arguments[we]);var Te=Ie.pop();if(Ce(1451)!=typeof Te)throw new TypeError(Ce(165));function Ge(){var Oe=Ce;return Te[Oe(2559)](ke,arguments)}var ke=this;se[Ce(2559)](this,Ie)[Ce(2401)](function(Oe){var Le=Ce;D[Le(1475)](Ge[Le(1753)](null,null,Oe))},function(Oe){var Le=Ce;D[Le(1475)](function(be,Ne){var Ue=Le,ze;return be||((ze=new Error(Ue(843))).reason=be,be=ze),Ne(be)}[Le(1753)](null,Oe,Ge))})}return Object[de(1020)](me,Object[de(905)](se)),Object.defineProperties(me,P(se)),me}},86430:(B,Q,T)=>{var w=Ut,S=T(94029),k=T(16314),D=T(55559),R=T(21924),P=T(27296),M=R(w(869)),L=T(96410)(),F=typeof globalThis>"u"?T.g:globalThis,k=k(),N=R("String.prototype.slice"),G={__proto__:null},J=Object[w(905)],K=(L&&P&&J&&S(k,function(X){var q=w,ee,ie;q(1451)==typeof F[X]&&(ee=new F[X],Symbol[q(2064)]in ee&&(ee=J(ee),(ie=P(ee,Symbol[q(2064)]))||(ee=J(ee),ie=P(ee,Symbol[q(2064)])),G[X]=D(ie[q(1935)])))}),T(85692));B[w(1729)]=function(X){var q=w;return!!K(X)&&(L&&Symbol[q(2064)]in X?(ee=X,ie=!1,S(G,function(H,le){if(!ie)try{var ue=H(ee);ue===le&&(ie=ue)}catch{}}),ie):N(M(X),8,-1));var ee,ie}},80950:()=>{},46601:()=>{},89214:()=>{},8623:()=>{},7748:()=>{},85568:()=>{},56619:()=>{},77108:()=>{},52361:()=>{},94616:()=>{},44946:B=>{var Q=Ut;B.exports=JSON[Q(1780)](Q(2263))},75207:B=>{var Q=Ut;B.exports=JSON[Q(1780)]('{"sha224WithRSAEncryption":{"sign":"rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"RSA-SHA224":{"sign":"ecdsa/rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"sha256WithRSAEncryption":{"sign":"rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"RSA-SHA256":{"sign":"ecdsa/rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"sha384WithRSAEncryption":{"sign":"rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"RSA-SHA384":{"sign":"ecdsa/rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"sha512WithRSAEncryption":{"sign":"rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA512":{"sign":"ecdsa/rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA1":{"sign":"rsa","hash":"sha1","id":"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{"sign":"ecdsa","hash":"sha1","id":""},"sha256":{"sign":"ecdsa","hash":"sha256","id":""},"sha224":{"sign":"ecdsa","hash":"sha224","id":""},"sha384":{"sign":"ecdsa","hash":"sha384","id":""},"sha512":{"sign":"ecdsa","hash":"sha512","id":""},"DSA-SHA":{"sign":"dsa","hash":"sha1","id":""},"DSA-SHA1":{"sign":"dsa","hash":"sha1","id":""},"DSA":{"sign":"dsa","hash":"sha1","id":""},"DSA-WITH-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-WITH-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-WITH-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-WITH-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-RIPEMD160":{"sign":"dsa","hash":"rmd160","id":""},"ripemd160WithRSA":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"RSA-RIPEMD160":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"md5WithRSAEncryption":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"},"RSA-MD5":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"}}')},1308:B=>{var Q=Ut;B[Q(1729)]=JSON[Q(1780)](Q(1324))},29799:B=>{var Q=Ut;B[Q(1729)]=JSON[Q(1780)](Q(1394))},18597:B=>{B.exports={i8:"6.5.4"}},22562:B=>{var Q=Ut;B.exports=JSON.parse(Q(2481))}},f={};function m(B){var Q=Ut,T=f[B];return T!==void 0?T[Q(1729)]:(T=f[B]={id:B,loaded:!1,exports:{}},A[B][Q(2623)](T[Q(1729)],T,T[Q(1729)],m),T[Q(1032)]=!0,T.exports)}m.m=A,m.n=B=>{var Q=Ut,T=B&&B[Q(188)]?()=>B[Q(1060)]:()=>B;return m.d(T,{a:T}),T},m.d=(B,Q)=>{var T=Ut;for(var w in Q)m.o(Q,w)&&!m.o(B,w)&&Object[T(1844)](B,w,{enumerable:!0,get:Q[w]})},m.u=B=>o(662),m.g=function(){var B=o;if(B(1499)==typeof globalThis)return globalThis;try{return this||new Function(B(1758))()}catch{if(typeof window=="object")return window}}(),m.o=(B,Q)=>Object[o(1166)][o(579)][o(2623)](B,Q),m.r=B=>{var Q=o;typeof Symbol<"u"&&Symbol[Q(2064)]&&Object[Q(1844)](B,Symbol.toStringTag,{value:Q(2717)}),Object.defineProperty(B,Q(188),{value:!0})},m[o(2362)]=B=>(B[o(1826)]=[],B.children||(B[o(2564)]=[]),B),m.p="./",m.b=document[o(2194)]||self[o(1242)][o(315)];var C,E={};{let T=function(R){for(let P=0;P<R.length;P++)R[P]=parseFloat(R[P]);return R},S=function(R){var P=o;x()({locateFile:(N,G)=>Q})[P(2401)](N=>{var G=P;this[G(2622)]=N});let M=R[P(1332)],L=R.viewer,F=(this[P(1159)]=L,this[P(1332)]=M,this[P(414)]={},()=>{var N=P;v[N(196)](N(689));let G=window[N(1541)]||window[N(2322)]||window[N(1374)],J=new G(q=>{var ee=N;this[ee(956)]()}),K=(J[N(362)](L.canvas,{attributes:!0,attributeFilter:["width"],attributeOldValue:!0}),new ImageData(1,1)),X=(K.data[0]=0,K.data[1]=0,K[N(1613)][2]=0,K.data[3]=0,this[N(2682)]=new M[N(687)]({context:L[N(1602)].frameState.context,width:L.scene[N(437)].context[N(1004)],height:L[N(1602)][N(437)].context[N(823)],source:K}),this[N(154)]=new M[N(1392)]({name:N(585),fragmentShader:N(695),uniforms:{bimTexture:this[N(2682)]}}),L.scene[N(1203)][N(2400)](this[N(154)]),L[N(1602)][N(1510)]=this,new Worker(new URL(m.p+m.u(608),m.b)));this[N(1107)]=X,this.modelDbModelIdList=[],this[N(1961)]=R.serverAddress+N(1961),X[N(461)]({msgType:N(2571),serverAddress:R[N(730)],maxRenderTriangleCount:R.maxRenderTriangleCount,width:L[N(1602)][N(437)][N(965)][N(1004)],height:L.scene[N(437)][N(965)].drawingBufferHeight,useCache:R[N(1304)],allowSingleMeshMaxTriangleFaceQuantity:R[N(1248)]}),X[N(1489)]=q=>{var ee=N;switch(q.data[ee(358)]){case"Initialized":{this[ee(292)]=new B(q[ee(1613)].sharedData[ee(1963)],q.data[ee(292)][ee(243)]),this[ee(292)].renderWidthHeight=[this[ee(1159)][ee(1602)].frameState[ee(965)][ee(1004)],this.viewer.scene.frameState[ee(965)].drawingBufferHeight],this[ee(2073)]=q.data[ee(2073)],this[ee(2378)]=new Float32Array(this[ee(2073)]),this[ee(1341)]=q[ee(1613)].expressTypeVisibleDistanceArrayBuff,this[ee(1132)]=new Uint32Array(this[ee(1341)]);let Ae=this.viewer.scene[ee(1250)][ee(1974)];this[ee(1159)][ee(1602)]._view[ee(1974)]=function(he){var ge=ee;Ae[ge(2623)](this,he);for(let fe=1;fe<this.frustumCommandsList[ge(1383)];fe++)for(let ae=0;ae<this[ge(2238)][fe][ge(1595)].length;ae++)this.frustumCommandsList[0].commands[ae][ge(182)](...this[ge(2238)][fe].commands[ae]),this[ge(2238)][0][ge(2152)][ae]+=this[ge(2238)][fe][ge(2152)][ae];this[ge(2238)].length&&(this[ge(2238)][0].near=he[ge(437)][ge(854)][ge(503)][ge(1458)],this.frustumCommandsList[0][ge(2324)]=he[ge(437)].camera[ge(503)][ge(2324)])},this[ee(1628)](),this[ee(292)][ee(2097)]=1,this.sharedData[ee(2563)]=1,this[ee(1542)]=new w(q[ee(1613)][ee(2128)],q[ee(1613)].modelIndexOffsetStart),this[ee(1841)]=this.modelData[ee(2612)](),this[ee(1159)][ee(1709)].addEventListener(ee(2090),he=>{var ge=ee,fe=this.viewer[ge(1709)].getBoundingClientRect();this[ge(292)][ge(2088)]=[he[ge(319)]-fe[ge(1280)],fe.bottom-he.clientY-fe[ge(192)]]},!1),window[ee(1014)]("blur",he=>{}),window.addEventListener("focus",he=>{var ge=ee;this[ge(292)].renderPageFocus=1}),this[ee(387)]&&this.OnInitialized(this[ee(1841)]);break}case"dataCallBack":this[ee(414)][q[ee(1613)].cbId]&&(q.data.hasOwnProperty(ee(1348))?this[ee(414)][q.data[ee(550)]].resolve(q[ee(1613)][ee(1348)]):q.data[ee(579)](ee(2180))&&this[ee(414)][q[ee(1613)][ee(550)]].reject(q.data[ee(2180)]),delete this[ee(414)][q[ee(1613)][ee(550)]]);break;default:if(q[ee(1613)][ee(579)](ee(707))){if(q[ee(1613)][ee(707)]&&q[ee(1613)].colorAndDepthBitmap[ee(452)]&&this[ee(2682)]){let Ae=this[ee(1159)][ee(1602)][ee(437)][ee(965)][ee(1540)];Ae.bindTexture(this[ee(2682)][ee(2279)],this[ee(2682)][ee(2166)]),Ae.texImage2D(this[ee(2682)][ee(2279)],0,Ae[ee(1410)],Ae[ee(1410)],Ae[ee(339)],q[ee(1613)][ee(707)]??null),q.data[ee(707)]=null,delete q.data[ee(707)],delete q.data}var ie={x:this[ee(292)][ee(760)][0]-this[ee(1159)][ee(854)].positionWC.x,y:this[ee(292)].cameraWorldPosition[1]-this[ee(1159)][ee(854)][ee(1586)].y,z:this[ee(292)][ee(760)][2]-this[ee(1159)][ee(854)][ee(1586)].z},H={x:this[ee(292)][ee(1681)][0]-this[ee(1159)].camera[ee(1736)].x,y:this[ee(292)][ee(1681)][1]-this[ee(1159)][ee(854)][ee(1736)].y,z:this.sharedData.worldDirection[2]-this[ee(1159)].camera[ee(1736)].z},le={x:this[ee(292)].worldUp[0]-this[ee(1159)][ee(854)].upWC.x,y:this[ee(292)].worldUp[1]-this[ee(1159)][ee(854)].upWC.y,z:this[ee(292)][ee(812)][2]-this[ee(1159)][ee(854)].upWC.z},ue=1e-10;.001<Math[ee(1914)](ie.x)||.001<Math.abs(ie.y)||.001<Math[ee(1914)](ie.z)||Math[ee(1914)](H.x)>ue||Math[ee(1914)](H.y)>ue||Math.abs(H.z)>ue||Math[ee(1914)](le.x)>ue||Math[ee(1914)](le.y)>ue||Math[ee(1914)](le.z)>ue||this[ee(1159)][ee(1602)][ee(2698)](this[ee(1159)][ee(1281)][ee(1658)]()),this.viewer[ee(1602)][ee(1285)](),this[ee(1628)](),this[ee(1159)][ee(2690)]?this[ee(1159)][ee(2690)][ee(980)]=!1:this[ee(1159)]._canRender=!1,this.sharedData[ee(2097)]=1}q.data.colorAndDepthBitmap=null,delete q[ee(1613)].colorAndDepthBitmap,delete q[ee(1613)]}}}),k=()=>{var N=P;this.viewer.scene[N(1250)][N(2238)][N(1383)]&&this.viewer[N(1602)][N(1250)][N(2238)][0].near?F():setTimeout(()=>{k()},10)};if(this[P(1159)][P(1602)][P(1510)])throw P(621);k()};m.r(E),m.d(E,{Bim:()=>S,default:()=>D}),C={cameraId:0,0:"cameraId",cameraWorldPosition:1,1:o(760),worldDirection:2,2:o(1681),worldUp:3,3:o(812),viewMatrix:4,4:o(1056),worldMatrix:5,5:"worldMatrix",projectionMatrix:6,6:"projectionMatrix",heartbeat:7,7:o(2097),useCache:8,8:o(1304),maxRenderTriangleCount:9,9:o(565),frameMaxRenderMemoryLength:10,10:"frameMaxRenderMemoryLength",pickId:11,11:o(666),pickWorldPosition:12,12:o(2755),pickWorldNormal:13,13:"pickWorldNormal",getBox:14,14:o(1448),maxTextureSize:15,15:o(396),renderPageFocus:16,16:o(637),renderWidthHeight:17,17:o(2315),allowSingleMeshMaxTriangleFaceQuantity:18,18:"allowSingleMeshMaxTriangleFaceQuantity",visibleModelBox:19,19:o(1705),isMainRender:20,20:o(525),mousePosition:21,21:o(2088),sunDirection:22,22:o(2086),startTime:23,23:o(1711),onlyShowShells:24,24:o(2433),enableMouseHover:25,25:o(2563)};class B{constructor(P,M){var L=o;if(this.dataStoreObject={},this.dataStoreDataCurrentBufferBlockIndex=0,this[L(893)]=0,this[L(321)]=2145386496,this.arrayBufferBlockCount=0,this[L(2211)]=Float64Array,P||M)for(var F in this.dataStoreArrayBuffer=M,P)this[L(2364)](F,P[F][L(1383)]);else{if(this[L(243)]=[],M=111*Float64Array.BYTES_PER_ELEMENT,this[L(2019)]=Math[L(1194)](M/this.arrayBufferBlockMaxByteLength),this[L(2019)]===0)this[L(243)].push(new SharedArrayBuffer(M));else{for(let k=0;k<this[L(2019)];k++)this[L(243)].push(new SharedArrayBuffer(this[L(321)]));this.dataStoreArrayBuffer[L(182)](new SharedArrayBuffer(M%this[L(321)]))}this[L(2364)](C.cameraId,1),this[L(2364)](C[L(760)],3),this.AddStore(C[L(1681)],3),this[L(2364)](C[L(812)],3),this[L(2364)](C[L(1056)],16),this[L(2364)](C[L(149)],16),this.AddStore(C[L(1342)],21),this[L(2364)](C[L(2097)],1),this[L(2364)](C[L(1304)],1),this[L(2364)](C[L(565)],1),this.AddStore(C[L(1442)],1),this[L(2364)](C[L(666)],5),this[L(2364)](C.pickWorldPosition,4),this[L(2364)](C[L(1195)],4),this[L(2364)](C[L(1448)],7),this[L(2364)](C[L(396)],1),this[L(2364)](C[L(637)],1),this[L(2364)](C[L(2315)],2),this[L(2364)](C.allowSingleMeshMaxTriangleFaceQuantity,1),this[L(2364)](C[L(1705)],10),this[L(2364)](C[L(525)],1),this[L(2364)](C[L(2088)],2),this.AddStore(C[L(2086)],3),this.AddStore(C.startTime,1),this[L(2364)](C[L(2433)],1),this.AddStore(C[L(2563)],1)}}get[o(2563)](){var P=o;return this[P(241)](C[P(2563)])[0]}set[o(2563)](P){var M=o;this[M(241)](C.enableMouseHover)[0]=P}get[o(2433)](){var P=o;return this[P(241)](C.onlyShowShells)[0]}set[o(2433)](P){var M=o;this[M(241)](C[M(2433)])[0]=P}get[o(1711)](){var P=o;return this[P(241)](C[P(1711)])[0]}set startTime(P){var M=o;this[M(241)](C[M(1711)])[0]=P}set[o(2086)](P){var M=o;this[M(1356)](C[M(2086)],P)}get[o(2086)](){var P=o;return this[P(241)](C[P(2086)])}set[o(2088)](P){var M=o;this.SetData(C[M(2088)],P)}get[o(2088)](){var P=o;return this[P(241)](C[P(2088)])}get isMainRender(){return this.GetData(C.isMainRender)[0]}set[o(525)](P){var M=o;this.GetData(C[M(525)])[0]=P}get[o(1248)](){var P=o;return this[P(241)](C[P(1248)])[0]}set[o(1248)](P){var M=o;this[M(241)](C[M(1248)])[0]=P}get[o(1705)](){var P=o;return this[P(241)](C[P(1705)])}set[o(1705)](P){var M=o;this[M(1356)](C[M(1705)],P)}get[o(2315)](){var P=o;return this[P(241)](C.renderWidthHeight)}set renderWidthHeight(P){var M=o;this[M(1356)](C[M(2315)],P)}get[o(637)](){return this.GetData(C.renderPageFocus)[0]}set[o(637)](P){var M=o;this[M(241)](C[M(637)])[0]=P}get maxTextureSize(){var P=o;return this[P(241)](C.maxTextureSize)[0]}set[o(396)](P){var M=o;this[M(241)](C.maxTextureSize)[0]=P}get[o(1448)](){var P=o;return this[P(241)](C[P(1448)])}set[o(1448)](P){var M=o;this[M(1356)](C.getBox,P)}get[o(1195)](){var P=o;return this[P(241)](C[P(1195)])}set pickWorldNormal(P){var M=o;this[M(1356)](C[M(1195)],P)}get[o(2755)](){var P=o;return this[P(241)](C[P(2755)])}set pickWorldPosition(P){var M=o;this[M(1356)](C[M(2755)],P)}get pickId(){var P=o;return this[P(241)](C[P(666)])}set[o(666)](P){var M=o;this.SetData(C[M(666)],P)}get[o(1442)](){var P=o;return this[P(241)](C[P(1442)])[0]}set[o(1442)](P){var M=o;this[M(241)](C[M(1442)])[0]=P}get[o(565)](){var P=o;return this[P(241)](C[P(565)])[0]}set[o(565)](P){var M=o;this[M(241)](C.maxRenderTriangleCount)[0]=P}get[o(1304)](){var P=o;return this[P(241)](C[P(1304)])[0]}set[o(1304)](P){var M=o;this.GetData(C[M(1304)])[0]=P}get[o(1368)](){var P=o;return this[P(241)](C[P(1368)])[0]}set[o(1368)](P){var M=o;this[M(241)](C.cameraId)[0]=999999<P?2:P}get[o(760)](){var P=o;return this[P(241)](C[P(760)])}set[o(760)](P){var M=o;this[M(1356)](C[M(760)],P)}get worldDirection(){var P=o;return this[P(241)](C[P(1681)])}set[o(1681)](P){var M=o;this[M(1356)](C[M(1681)],P)}get[o(812)](){var P=o;return this.GetData(C[P(812)])}set[o(812)](P){var M=o;this[M(1356)](C.worldUp,P)}get[o(1056)](){var P=o;return this[P(241)](C.viewMatrix)}set[o(1056)](P){var M=o;this[M(1356)](C[M(1056)],P)}get[o(149)](){var P=o;return this[P(241)](C[P(149)])}set[o(149)](P){var M=o;this[M(1356)](C.worldMatrix,P)}get[o(1342)](){var P=o;return this.GetData(C[P(1342)])}set[o(1342)](P){var M=o;this[M(1356)](C[M(1342)],P)}get[o(2097)](){var P=o;return this[P(241)](C.heartbeat)[0]}set[o(2097)](P){var M=o;this[M(241)](C[M(2097)])[0]=P}AddStore(P,M){var L=o;this[L(1963)][L(579)](P)||(this[L(1963)][P]={},this.dataStoreObject[P].length=M,this[L(893)]+M*this[L(2211)][L(268)]>this[L(321)]&&(this.dataStoreDataCurrentBufferBlockIndex++,this.dataStoreDataByteOffset=0),this[L(1963)][P][L(954)]=new this[L(2211)](this[L(243)][this[L(2671)]],this[L(893)],this[L(1963)][P][L(1383)]),this.dataStoreObject[P][L(2340)]=this[L(893)],this[L(893)]+=this[L(2211)][L(268)]*this[L(1963)][P][L(1383)])}[o(1356)](P,M){var L=o;M&&this.dataStoreObject[P][L(954)][L(2573)](M)}GetData(P){var M=o;return(P=this[M(1963)][P])==null?void 0:P[M(954)]}}var y=m(29608),x=m.n(y);let Q=o(1623);var y=m(9669),I=m.n(y);m(25108);class w{constructor(P,M){var L=o;this[L(130)]=0,this.modelIndexOffsetStart={},this[L(1053)]=0,P instanceof SharedArrayBuffer?(this[L(2128)]=P,this[L(130)]=P[L(250)]/(4*w[L(1006)]),this.modelIndexOffsetStart=M):(this[L(2128)]=new SharedArrayBuffer(P*(4*w.modelDataLength)),this[L(130)]=P),this[L(2223)]=new TextEncoder,this.textD=new TextDecoder,this[L(1669)]=new Float32Array(this[L(2128)]),this[L(2484)]=new Int32Array(this.modelArrayBuff),this[L(2746)]=new Uint8Array(this[L(2128)]),this.textBuffer=new Uint8Array(200)}[o(1902)](P){var M=o;return P=this[M(1072)][P],this[M(1669)][M(986)](P,P+3)}boxMax(P){var M=o;return P=this[M(1072)][P]+3,this[M(1669)][M(986)](P,P+3)}[o(684)](P){var M=o;return P=this[M(1072)][P]+6,this[M(1669)].subarray(P,P+16)}[o(1980)](P){var M=o;return P=this.modelIndexOffsetStart[P]+29,this[M(2484)].subarray(P,P+1)}[o(2588)](P){var M=o;return P=this[M(1072)][P]+28,this.i32d[M(986)](P,P+1)}[o(2008)](P){var M=o;return P=this[M(1072)][P]+27,this[M(2484)].subarray(P,P+1)}\u5E9F\u5F03(P){var M=o;return P=this[M(1072)][P]+26,this[M(2484)][M(986)](P,P+1)}materialCount(P){var M=o;return P=this[M(1072)][P]+25,this.i32d[M(986)](P,P+1)}[o(1536)](P){var M=o;return P=this[M(1072)][P]+24,this[M(2484)].subarray(P,P+1)}[o(2376)](P){var M=o;return P=this[M(1072)][P]+23,this[M(2484)].subarray(P,P+1)}[o(1615)](P){return P=this.modelIndexOffsetStart[P]+22,this.i32d.subarray(P,P+1)}getFileName(P){var M=o;return P=4*this[M(1072)][P]+120,P=this.ui8d[M(986)](P,200+P),this.textBuffer[M(2573)](P),this[M(423)].decode(this.textBuffer)[M(1850)](/\x00/g,"")}[o(2634)](P,M){var L=o;M&&(P=4*this[L(1072)][P]+120,this.ui8d.subarray(P,200+P)[L(2573)](this.textE[L(2371)](M)))}[o(410)](P){var M=o;return P=4*this[M(1072)][P]+320,P=this.ui8d[M(986)](P,32+P),P[0]!==0?(this[M(2110)][M(2573)](P),this.textD[M(2758)](this[M(2110)][M(986)](0,32))):""}setUniqueId(P,M){var L=o;M&&(P=4*this[L(1072)][P]+320,this[L(2746)][L(986)](P,32+P)[L(2573)](this[L(2223)][L(2371)](M)))}[o(1212)](P){var M=o;this[M(1072)][P.id]=this.currentOffsetStartTemp,this[M(1053)]+=w[M(1006)];var L=this[M(1072)][P.id];let F=this[M(1669)][M(986)](L,L+22),k=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];P[M(684)]&&(k=T(P.transform[M(2259)](" "))),F[M(2573)]([...T(P.boxMin[M(2259)](" ")),...T(P[M(2136)][M(2259)](" ")),...k]),L=this[M(1072)][P.id]+22,this[M(2484)].subarray(L,L+7).set([P.componentCount,P[M(2376)],P[M(1536)],P.materialCount,0,-1,P[M(2588)]||1]),this[M(2634)](P.id,P[M(2429)]),this[M(701)](P.id,P[M(617)])}[o(2612)](){var P=o;let M={};for(var L in this[P(1072)]){var L=~~L,F=this[P(1072)][L];let N=this.f32d[P(986)](F,F+22);F=this[P(1072)][L]+22,F=this[P(2484)][P(986)](F,F+7),M[L]={id:L,boxMin:N.subarray(0,3),boxMax:N[P(986)](3,6),transform:N[P(986)](6,22),componentCount:F[0],meshInstancesCount:F[1],meshCount:F[2],materialCount:F[3],fileName:this[P(388)](L),uniqueId:this[P(410)](L),status:F[6]}}return M}[o(553)](P){var M=o,L=this[M(1072)][P];let F=this[M(1669)].subarray(L,L+22);return L=this[M(1072)][P]+22,L=this.i32d[M(986)](L,L+7),{id:P,boxMin:F.subarray(0,3),boxMax:F.subarray(3,6),transform:F.subarray(6,22),componentCount:L[0],meshInstancesCount:L[1],meshCount:L[2],materialCount:L[3],fileName:this[M(388)](P),uniqueId:this[M(410)](P),status:L[6]}}isExist(P){var M=o;return this[M(1072)].hasOwnProperty(P)}}w[o(1006)]=88;var v=m(25108);Object[o(2130)](S.prototype,{modelList:{get:function(){var R=o;return this[R(1841)]}}}),S[o(1166)][o(1628)]=function(){var R=o;let P=this[R(1332)][R(2636)][R(884)](this.viewer.camera[R(503)][R(1342)]);P[16]=this[R(1159)][R(854)][R(503)].fov,P[17]=this[R(1159)][R(854)][R(503)][R(1458)],P[18]=this[R(1159)][R(854)][R(503)][R(2324)],P[19]=this[R(1159)][R(1602)].frameState[R(965)].drawingBufferWidth,P[20]=this[R(1159)][R(1602)].frameState[R(965)][R(823)],this[R(292)][R(1342)]=P,this[R(292)][R(760)]=[this[R(1159)][R(854)][R(1586)].x,this[R(1159)][R(854)][R(1586)].y,this.viewer[R(854)].positionWC.z],this[R(292)].worldDirection=[this[R(1159)][R(854)][R(1736)].x,this[R(1159)].camera[R(1736)].y,this[R(1159)].camera[R(1736)].z],this[R(292)].worldUp=[this[R(1159)][R(854)][R(2227)].x,this[R(1159)][R(854)][R(2227)].y,this[R(1159)][R(854)][R(2227)].z],this.sharedData[R(1056)]=this[R(1332)].Matrix4[R(884)](this.viewer[R(854)].viewMatrix),this[R(292)][R(149)]=this[R(1332)][R(2636)][R(884)](this[R(1159)][R(854)][R(2793)]),this[R(292)].sunDirection=[this[R(1159)][R(1602)].context[R(1067)][R(307)].x,this.viewer[R(1602)].context[R(1067)][R(307)].y,this[R(1159)][R(1602)][R(965)][R(1067)][R(307)].z]},S[o(1166)][o(1559)]=function(R){var P=o;this[P(1107)][P(461)]({msgType:P(1559),funString:R})},S[o(1166)][o(956)]=function(){var R=o;this[R(292)]&&(this[R(292)][R(2315)]=[this[R(1159)][R(1602)][R(437)][R(965)][R(1004)],this.viewer.scene[R(437)][R(965)][R(823)]],this[R(1628)](),this[R(1107)][R(461)]({msgType:R(2468),width:this[R(1159)][R(1602)].frameState[R(965)].drawingBufferWidth,height:this[R(1159)][R(1602)][R(437)][R(965)][R(823)]}))},S[o(1166)][o(387)]=function(R){},S[o(1166)].GetModelSqlDb=function(R){var P=o;return this._modelList[R]!==void 0?(this[P(1841)][R].db===void 0&&(this[P(1841)][R].db=new Promise((M,L)=>{var F=P;I()[F(1935)](this[F(1961)],{responseType:"arraybuffer",params:{modelId:R}})[F(2401)](J=>{var N=F,G,J=new this[N(2622)].Database(new Uint8Array(J.data),!0);this[N(2028)][N(1222)](R)||(this[N(2028)].push(R),6<this[N(2028)][N(1383)]&&(G=this.modelDbModelIdList[N(537)](),this[N(1841)][G].db[N(420)](),delete this[N(1841)][G].db)),M(J)},L)})),this[P(1841)][R].db):Promise[P(2180)](P(357))},S[o(1166)].Refresh=function(){var R=o;this.sharedData[R(2097)]=1},S[o(1166)][o(2657)]=function(R){var P=o;this[P(292)][P(2563)]=R?1:0},S[o(1166)][o(368)]=function(R){var P=o;this[P(1107)].postMessage({msgType:"ShowModel",modelId:R})},S.prototype[o(2209)]=function(R){var P=o;this[P(1107)][P(461)]({msgType:P(2209),modelId:R})},S[o(1166)][o(1934)]=function(R,P){var M=o;this[M(1841)][R].transform=P,this.fineWorker[M(461)]({msgType:M(1934),modelId:R,modelMatrixArr:P})},S[o(1166)][o(1682)]=function(R){var P=o;return this._modelList[R][P(684)]},S[o(1166)][o(896)]=function(R,P,M,L,F,k,N,G){var J=o;this[J(1107)][J(461)]({msgType:J(896),modelTransform:R,isTurn:P,plane1:M,plane2:L,plane3:F,plane4:k,plane5:N,plane6:G})},S.prototype[o(1806)]=function(R,P){var M=o;this[M(1107)][M(461)]({msgType:"SetInstancesStatus",operating:{status:R},idBuffer:P[M(2026)]},[P[M(2026)]])},S[o(1166)][o(1163)]=function(R,P){var M=o;this.fineWorker.postMessage({msgType:M(1163),operating:{transform:R},idBuffer:P[M(2026)]},[P[M(2026)]])},S.prototype[o(2390)]=function(R,P,M){var L=o;this.fineWorker[L(461)]({msgType:L(2390),operating:{status:R,reverseElection:M},idBuffer:P[L(2026)]},[P.buffer])},S[o(1166)][o(443)]=function(R,P,M){var L=o;this[L(1107)][L(461)]({msgType:L(443),operating:{transform:R,reverseElection:M},idBuffer:P[L(2026)]},[P[L(2026)]])},S.prototype[o(2738)]=function(){var R=o;this[R(1107)][R(461)]({msgType:"CancelOperatingStatus"})},S[o(1166)][o(1900)]=function(){var R=o;this[R(1107)].postMessage({msgType:R(1900)})},S[o(1166)][o(1217)]=function(R,P,M){var L=o;this[L(1107)][L(461)]({msgType:L(1217),modelId:R,materialId:P,color:M})},S[o(1166)][o(652)]=function(R,P,M){var L=o;this[L(1107)].postMessage({msgType:L(652),modelId:R,materialId:P,textureId:M})},S[o(1166)][o(2740)]=function(R){var P=o;this[P(1107)][P(461)]({msgType:P(2740),modelId:R})},S.prototype.GetMaterial=function(R,P){return new Promise((M,L)=>{var F=Ut,k=Date[F(168)]();this[F(414)][k]={resolve:M,reject:L},this[F(1107)][F(461)]({msgType:"GetMaterial",modelId:R,materialId:P,cbId:k})})},S[o(1166)][o(888)]=function(){return new Promise((R,P)=>{var M=Ut,L=Date[M(168)]();this[M(414)][L]={resolve:R,reject:P},this[M(1107)][M(461)]({msgType:M(888),cbId:L})})},S.prototype[o(2029)]=function(R,P){return new Promise((M,L)=>{var F=Ut,k=Date[F(168)]();this[F(414)][k]={resolve:M,reject:L},this[F(1107)][F(461)]({msgType:F(2029),modelId:R,color:P,cbId:k})})},S[o(1166)][o(1578)]=function(R,P,M){var L=o;this[L(1107)][L(461)]({msgType:L(1578),operating:{modelId:R,materialId:P},idBuffer:M[L(2026)]},[M[L(2026)]])},S[o(1166)][o(247)]=function(R,P){return new Promise((M,L)=>{var F=Ut,k=Date.now();this.dataCallBack[k]={resolve:M,reject:L},this[F(1107)][F(461)]({msgType:F(247),modelId:R,componentId:P,cbId:k})})},S[o(1166)][o(2283)]=function(R,P){var M=o;P&&!Array[M(2507)](P)&&(P=[P]),this.fineWorker[M(461)]({msgType:M(2283),modelId:R,componentId:P})},S.prototype[o(2449)]=function(R,P,M){var L=o;this[L(1107)][L(461)]({msgType:L(2449),modelId:R,instancesId:P,materialId:M})},S.prototype[o(2580)]=function(R,P){return new Promise((M,L)=>{var F=Ut;if(this[F(292)]){let k=this.sharedData[F(1448)][6],N=(this.fineWorker[F(461)]({msgType:F(2580),modelId:R,instancesId:P}),()=>{var G=F;if(this[G(292)].getBox[6]!==k){let J=Array[G(2047)](this.sharedData.getBox);J[G(1383)]=6,M(J)}else setTimeout(N,10)});N()}else L([0,0,0,0,0,0])})},S[o(1166)].PickId=function(R,P){return new Promise((M,L)=>{var F=Ut;if(this.sharedData){let k=this[F(292)][F(666)][4],N=(this[F(1107)].postMessage({msgType:F(289),x:R,y:P}),()=>{var G=F;if(this.sharedData[G(666)][4]!==k){let J=Array[G(2047)](this[G(292)].pickId);J[G(1383)]=4,M(J)}else setTimeout(N,10)});N()}else L([0,0,0,0])})},S.prototype[o(2615)]=function(R,P){var M=o;if(!this[M(292)])return[0,0,0,0];var L=this[M(292)][M(666)][4];for(this[M(1107)][M(461)]({msgType:"PickId",x:R,y:P});;)if(this[M(292)][M(666)][4]!==L){let F=Array[M(2047)](this[M(292)][M(666)]);return F[M(1383)]=4,F}},S[o(1166)][o(1691)]=function(R,P){return new Promise((M,L)=>{var F=Ut;if(this[F(292)]){let k=this[F(292)][F(2755)][3],N=(this[F(1107)].postMessage({msgType:F(1691),x:R,y:P}),()=>{var G=F;if(this[G(292)][G(2755)][3]!==k){let J=Array.from(this[G(292)][G(2755)]);J[G(1383)]=3,M(J)}else setTimeout(N,10)});N()}else L([0,0,0])})},S.prototype[o(186)]=function(R,P){var M=o;if(!this[M(292)])return[0,0,0];var L=this.sharedData[M(2755)][3];for(this[M(1107)][M(461)]({msgType:M(1691),x:R,y:P});;)if(this[M(292)][M(2755)][3]!==L){let F=Array.from(this[M(292)][M(2755)]);return F[M(1383)]=3,F}},S[o(1166)][o(314)]=function(R,P){return new Promise((M,L)=>{var F=Ut;if(this[F(292)]){let k=this[F(292)][F(1195)][3],N=(this[F(1107)][F(461)]({msgType:"PickWorldNormal",x:R,y:P}),()=>{var G=F;if(this[G(292)].pickWorldNormal[3]!==k){let J=Array[G(2047)](this[G(292)].pickWorldNormal);J[G(1383)]=3,M(J)}else setTimeout(N,10)});N()}else L([0,0,0])})},S.prototype[o(983)]=function(R,P){var M=o;if(!this[M(292)])return[0,0,0];var L=this[M(292)].pickWorldNormal[3];for(this.fineWorker[M(461)]({msgType:M(314),x:R,y:P});;)if(this[M(292)][M(1195)][3]!==L){let F=Array[M(2047)](this[M(292)].pickWorldNormal);return F.length=3,F}},S[o(1166)][o(1232)]=function(R,P,M,L){return new Promise((F,k)=>{var N=Ut,G;this.sharedData?(G=Date.now(),this[N(414)][G]={resolve:F,reject:k},this[N(1107)][N(461)]({msgType:N(1232),x1:R,y1:P,x2:M,y2:L,cbId:G})):k()})},S[o(1166)][o(636)]=function(R){var P=o;this[P(1107)][P(461)]({msgType:P(636),enable:R})},S.prototype[o(2659)]=function(R,P,M){var L=o;this[L(1107)][L(461)]({msgType:L(2659),outlineWidth:R,outlineColor:P,overlayColor:M})},S[o(1166)][o(1017)]=function(R,P,M){var L=o;this.fineWorker[L(461)]({msgType:"SetSceneEffect",environmentIntensity:R,contrast:P,exposure:M})},S[o(1166)][o(2059)]=function(R,P){var M=o;Array[M(2507)](R)?this[M(2378)].set(R):this[M(2378)][R]=P},S[o(1166)][o(1183)]=function(R,P){var M=o;Array[M(2507)](R)?this.expressTypeVisibleDistanceDataView[M(2573)](R):this[M(1132)][R]=P},S.prototype[o(710)]=function(R,P,M){var L=o;this.fineWorker[L(461)]({msgType:L(710),modelId:R,storey:P,matrixArr:M})},S[o(1166)].SetModelStoreyStatus=function(R,P,M){var L=o;this.fineWorker[L(461)]({msgType:L(1898),modelId:R,storey:P,status:M})},S.prototype[o(1129)]=function(R,P,M){var L=o;this[L(1107)][L(461)]({msgType:"SetModelExpressTypeTransform",modelId:R,expressType:P,matrixArr:M})},S[o(1166)][o(2635)]=function(R,P,M){var L=o;this[L(1107)][L(461)]({msgType:L(2635),modelId:R,expressType:P,status:M})},S[o(1166)].MarkShell=function(){return new Promise((R,P)=>{var M=Ut,L=Date[M(168)]();this.dataCallBack[L]={resolve:R,reject:P},this[M(1107)][M(461)]({msgType:"MarkShell",cbId:L})})},S[o(1166)][o(1564)]=function(R){return new Promise((P,M)=>{var L=Ut,F=Date[L(168)]();this[L(414)][F]={resolve:P,reject:M},this[L(1107)][L(461)]({msgType:L(1564),cbId:F,modelId:R})})},S[o(1166)][o(254)]=function(){return new Promise((R,P)=>{var M=Ut,L=Date.now();this.dataCallBack[L]={resolve:R,reject:P},this[M(1107)][M(461)]({msgType:M(254),cbId:L})})},S[o(1166)].SetOnlyShowShells=function(R){this.sharedData.onlyShowShells=R?1:0},S[o(1166)][o(352)]=function(R){var P=o;this[P(1107)][P(461)]({msgType:P(352),enable:R})},S[o(1166)][o(460)]=function(){return new Promise((R,P)=>{var M=Ut,L=Date[M(168)]();this[M(414)][L]={resolve:R,reject:P},this.fineWorker[M(461)]({msgType:M(460),cbId:L})})};let D=S}return E});function UPe(o,A,f){this._earthCtrl=o,this._coreMap=o.coreMap,this.bimModel=A,this.plane1Entity=null,this.position=oe(f.position,null),this.clippingBox=oe(f.clippingBox,{x:120,y:120}),this.clipPlan1=null,this.createClipping()}UPe.prototype.createClipping=function(){let o=this;o.plane1Entity&&o._earthCtrl.entities.remove(o.plane1Entity);let A=Z.fromDegrees(o.position.lon,o.position.lat,o.position.height),f=kr.eastNorthUpToFixedFrame(A);f=Re.toArray(f);let m=20;function C(v){return function(){return v.distance=m,v}}o.clipPlan1=new g0(new Z(0,0,-1),0),o.plane1Entity=o._earthCtrl.entities.add({position:A,plane:{dimensions:new rt(o.clippingBox.x,o.clippingBox.y),material:Ve.WHITE.withAlpha(.3),plane:new Hr(function(){return o.clipPlan1.distance=m,o.clipPlan1},!1),outline:!1,outlineColor:Ve.WHITE}}),o.bimModel.SetClipPlane(f,!1,[0,0,1,-m]);let E=null;new cr(o._coreMap.scene.canvas).setInputAction(function(v){let B=o._coreMap.scene.pick(v.position);O(B)&&O(B.id)&&O(B.id.plane)&&(E=B.id.plane,E.material=Ve.WHITE.withAlpha(.2),E.outlineColor=Ve.WHITE,o._coreMap.scene.screenSpaceCameraController.enableInputs=!1)},si.LEFT_DOWN),new cr(o._coreMap.scene.canvas).setInputAction(function(){O(E)&&(E.material=Ve.WHITE.withAlpha(.1),E.outlineColor=Ve.WHITE,E=void 0),o._coreMap.scene.screenSpaceCameraController.enableInputs=!0},si.LEFT_UP),new cr(o._coreMap.scene.canvas).setInputAction(function(v){if(O(E)){let B=v.startPosition.y-v.endPosition.y;m+=B*.1,m<0&&(m=1),o.bimModel.SetClipPlane(f,!1,[0,0,1,-m])}},si.MOUSE_MOVE)};UPe.prototype.removeFromMap=function(){let o=this;o.plane1Entity&&(o._earthCtrl.entities.remove(o.plane1Entity),o.clipPlan1=null),o.bimModel&&o.bimModel.SetClipPlane()};var Kdt=UPe;function KH(o={},A,f){this._earthCtrl=A||window.earthCtrl,this._Geoworld=f||window.SmartEarth,this._coreMap=this._earthCtrl.coreMap,this.bimModel=o.bim||this._earthCtrl.coreMap.scene.bim,this.leftHandler=void 0,this.rightHandler=void 0,this.componentIdArr=[],this.showComponentArr=[],this.selectPosition=null,this.leftClick(),this.rightClick()}KH.prototype.start=function(){};KH.prototype.leftClick=function(){let o=this,A=this._Geoworld,f=this._coreMap;o.leftHandler=new A.ScreenSpaceEventHandler(f.canvas),o.leftHandler.setInputAction(function(C){o.bimModel.PickId(C.position.x,C.position.y).then(E=>{let x=E[0],y=E[1],I=E[2];console.log("\u6A21\u578Bid",x,"\u5B9E\u4F8Bid",y,"\u6784\u4EF6id",I);let v=new Int32Array([x,I]);o.bimModel.SetComponentStatus(2,v,!1),o.componentIdArr.push(I),o.showComponentArr.push(x,I)})},A.ScreenSpaceEventType.LEFT_CLICK)};KH.prototype.rightClick=function(){let o=this,A=this._Geoworld,f=this._coreMap;f.scene.screenSpaceCameraController.zoomEventTypes=[A.ScreenSpaceEventType.LEFT_DOUBLE_CLICK],f.scene.screenSpaceCameraController.lookEventTypes={eventType:A.CameraEventType.LEFT_DRAG,modifier:A.KeyboardEventModifier.SHIFT};let m=!1,C=null,E=null,x=null,y=null,I=document.createElement("div");o.rightHandler=new A.ScreenSpaceEventHandler(f.canvas),o.rightHandler.setInputAction(function(v){m=!0,C=v.position.x,E=v.position.y,I.style.cssText="position:absolute;width:0px;height:0px;font-size:0px;margin:0px;padding:0px;border:1px dashed #0099FF;background-color:#C3D5ED;z-index:1000;filter:alpha(opacity:30);opacity:0.3;",I.id="selectDiv",I.style.left=`${C}px`,I.style.top=`${E}px`,f.container.appendChild(I)},A.ScreenSpaceEventType.RIGHT_DOWN),o.rightHandler.setInputAction(function(v){m=!1,o.rightSelect(o.selectPosition),document.getElementById("selectDiv").parentNode.removeChild(document.getElementById("selectDiv"))},A.ScreenSpaceEventType.RIGHT_UP),o.rightHandler.setInputAction(function(v){m&&(x=v.endPosition.x,y=v.endPosition.y,I.style.left=`${Math.min(x,C)}px`,I.style.top=`${Math.min(y,E)}px`,I.style.width=`${Math.abs(x-C)}px`,I.style.height=`${Math.abs(y-E)}px`,o.selectPosition={sx:C,sy:E,ex:x,ey:y})},A.ScreenSpaceEventType.MOUSE_MOVE)};KH.prototype.rightSelect=function(o){if(!o)return;let A=this;A.bimModel.FrameSelection(o.sx,o.sy,o.ex,o.ey).then(f=>{let m=[];for(let E=0;E<f.length;E+=3)m.push(f[E],f[E+1]),A.componentIdArr.push(f[E+1]);A.componentIdArr=[...new Set(A.componentIdArr)],A.showComponentArr=[...A.showComponentArr,...m];let C=new Int32Array(m);A.bimModel.SetComponentStatus(2,C,!1)})};KH.prototype.removeFromMap=function(){if(this.componentIdArr=[],this.showComponentArr.length>0){let o=new Int32Array(this.showComponentArr);this.bimModel.SetComponentStatus(1,o,!1)}this.leftHandler&&(this.leftHandler.destroy(),this.leftHandler=void 0),this.rightHandler&&(this.rightHandler.destroy(),this.rightHandler=void 0)};var Wdt=KH;function GPe(o,A){this._earthCtrl=A||window.earthCtrl,this._Geoworld=Di||window.Cesium,this._coreMap=this._earthCtrl.coreMap,this.bimModel=o.bim||this._earthCtrl.coreMap.scene.bim,this.modelId=o.modelId||1,this.direction=o.direction||"y",this.findKey=o.findKey||"",this.distance=o.distance||22,this.layerId=o.layerId||null,this.start()}GPe.prototype.start=function(){let o=this,A=this._Geoworld,f=this.bimModel,m=this.modelId,C=[];f.GetModelSqlDb(m).then(E=>{E.each(`select component.id from component,storey where storey.id = component.storey and storey.name in (${o.findKey})`,[],y=>{C.push(m,y.id)});let x=(y,I,v)=>{f.SetComponentTransform(A.Matrix4.toArray(A.Matrix4.fromTranslation(new A.Cartesian3(y,I,v))),new Int32Array(C),!1),I<o.distance&&setTimeout(()=>{o.direction==="x"?x(y+1,I,v):o.direction==="y"?x(y,I+1,v):o.direction==="z"&&x(y,I,v+1)},30)};x(0,0,0)})};GPe.prototype.removeFromMap=function(){let o=this,A=this._Geoworld,f=this.bimModel,m=this.modelId,C=[];f.GetModelSqlDb(m).then(E=>{E.each(`select component.id from component,storey where storey.id = component.storey and storey.name in (${o.findKey})`,[],x=>{C.push(m,x.id)}),f.SetComponentTransform(A.Matrix4.toArray(A.Matrix4.fromTranslation(new A.Cartesian3(0,0,0))),new Int32Array(C),!1)})};var jdt=GPe;function $x(o,A,f){this._earthCtrl=A||window.earthCtrl,this._Cesium=f||window.SmartEarth,this._coreMap=this._earthCtrl.coreMap,this.bimModel=o?.bim||this._earthCtrl.coreMap.scene.bim}$x.prototype.getMaterial=function(o,A,f){this.bimModel.GetMaterial(o,A).then(m=>{f&&f(m)})};$x.prototype.getTextureList=function(o){let A=[];this.bimModel.GetTextureList().then(f=>{for(let m of f)m.preview=encodeURI(m.preview),m.imgSrc=`${globalThis.GEOWORLD_BASE_URL}./Assets/Textures/PBRRepo/${m.preview}`,A.push(m);o&&o(A)})};$x.prototype.createMaterial=function(o,A){let f=[];o.color?f.push(o.color.red,o.color.green,o.color.blue,o.color.alpha):f=[1,1,1,1],this.bimModel.CreateMaterial(o.modelId,f).then(m=>{A&&A(m)})};$x.prototype.cancelMaterialEdit=function(o){this.bimModel.CancelMaterialEdit(o.modelId)};$x.prototype.setMaterialTexture=function(o){this.bimModel.SetMaterialTexture(o.modelId,o.materialId,o.textureId)};$x.prototype.setMaterialColor=function(o){let A=[];o.color?A.push(o.color.red,o.color.green,o.color.blue,o.color.alpha):A=[1,1,1,1],this.bimModel.SetMaterialColor(o.modelId,o.materialId,A)};$x.prototype.setComponentMaterial=function(o){this.bimModel.SetComponentMaterialId(o.modelId,o.materialId,new Int32Array(o.idArr))};$x.prototype.getComponentMaterialId=function(o,A){this.bimModel.GetComponentMaterialId(o.modelId,o.componentId).then(f=>{A&&A(f)})};$x.prototype.cancelComponentEditMaterial=function(o){this.bimModel.CancelComponentEditMaterial(o.modelId,o.componentId)};$x.prototype.setInstancesMaterialId=function(o){this.bimModel.SetInstancesMaterialId(o.modelId,o.instancesId,o.materialId)};$x.prototype.removeMaterial=function(o){this.bimModel.SetComponentMaterialId(o.modelId,o.materialId,null)};$x.prototype.removeMaterialColor=function(o){this.bimModel.SetMaterialColor(o.modelId,o.materialId,null)};$x.prototype.removeFromMap=function(){};var qdt=$x;function fs(o,A){this._earthCtrl=o,this._coreMap=o.coreMap,this.Bim=oe(window.Bim,null),this.bimModel=null,this.modelList=null,this.modelListInitEd={},this.licenseServer=A,this.modelTransformArr=null}fs.prototype.create=function(o){let A=this;return this.bimModel=new Bim.Bim({serverAddress:oe(o.serverAddress,"https://localhost:8085/"),maxRenderTriangleCount:oe(o.maxRenderTriangleCount,5e6),Cesium:Di,viewer:A._coreMap,useCache:oe(o.useCache,!1),licenseServer:A.licenseServer}),new Promise(f=>{A.bimModel.OnInitialized=m=>{A.modelList=m,f(A.bimModel)}})};fs.prototype.setModelTransform=function(o,A){let f=Re.toArray(kr.eastNorthUpToFixedFrame(Z.fromDegrees(A.lon,A.lat,A.height)));if(A.roll){let m=Be.toRadians(A.roll||0),C=Re.fromRotationTranslation(Gt.fromRotationZ(m));Re.multiply(f,C,f)}this.bimModel.SetModelTransform(o,f)};fs.prototype.showModel=function(o){this.bimModel.ShowModel(o)};fs.prototype.refresh=function(){this.bimModel.Refresh()};fs.prototype.shadow=function(o){this.bimModel.Shadow(o)};fs.prototype.setSceneEffect=function(o){!o||this.bimModel.SetSceneEffect(o.environmentIntensity,o.contrast,o.exposure)};fs.prototype.resize=function(){this.bimModel.Resize()};fs.prototype.getModelTransform=function(o){return this.bimModel.GetModelTransform(o)};fs.prototype.getModelBoundingSphere=function(o){let A=this.modelList[o],f=Re.multiplyByPoint(A.transform,Z.fromArray(A.boxMin),{}),m=Re.multiplyByPoint(A.transform,Z.fromArray(A.boxMax),{});return hi.fromPoints([f,m],new hi)};fs.prototype.setInstancesStatus=function(o,A){this.bimModel.SetInstancesStatus(o,A)};fs.prototype.setComponentStatus=function(o,A,f){this.bimModel.SetComponentStatus(o,A,f)};fs.prototype.setSelectColor=function(o,A,f){let m=[],C=[];A?m.push(A.red,A.green,A.blue,A.alpha):m=[1,1,1,.8],f?C.push(f.red,f.green,f.blue,f.alpha):C=[.3,.8,.3,.5],this.bimModel.SetSelectColor(o||1,m,C)};fs.prototype.setComponentTransform=function(o,A,f){this.bimModel.SetComponentTransform(o,A,f)};fs.prototype.setInstancesTransform=function(o,A){this.bimModel.SetInstancesTransform(o,A)};fs.prototype.showComponent=function(o){if(o.showComponentArr.length>0){let A=new Int32Array(o.showComponentArr);this.bimModel.SetComponentStatus(o.status,A,o.reverseElection||!1)}};fs.prototype.frameSelection=function(o,A,f,m,C){this.bimModel.FrameSelection(o,A,f,m).then(E=>{C&&C(E)})};fs.prototype.pickId=function(o,A,f){this.bimModel.PickId(o,A).then(m=>{f&&f(m)})};fs.prototype.pickIdSync=function(o,A){return this.bimModel.PickIdSync(o,A)};fs.prototype.pickWorldNormal=function(o,A,f){this.bimModel.PickWorldNormal(o,A).then(m=>{f&&f(m)})};fs.prototype.pickWorldNormalSync=function(o,A){return this.bimModel.PickWorldNormalSync(o,A)};fs.prototype.pickWorldPosition=function(o,A,f){this.bimModel.PickWorldPosition(o,A).then(m=>{f&&f(m)})};fs.prototype.pickWorldPositionSync=function(o,A){return this.bimModel.PickWorldPositionSync(o,A)};fs.prototype.choice=function(o){return new Wdt(o,this._earthCtrl,Di)};fs.prototype.clickBim=function(o){let A=this;A._coreMap.screenSpaceEventHandler.setInputAction(function(m){A.bimModel.PickId(m.position.x,m.position.y).then(C=>{let E=C[0],x=C[1],y=C[2];console.log("\u6A21\u578Bid",E,"\u5B9E\u4F8Bid",x,"\u6784\u4EF6id",y);let I=new Int32Array([E,y]);A.bimModel.SetComponentStatus(2,I,!1),o&&o({modelId:E,instancesId:x,componentId:y})})},si.LEFT_CLICK)};fs.prototype.clickBimInstances=function(o){let A=this,f=[];A._coreMap.screenSpaceEventHandler.setInputAction(function(C){let E=A.bimModel.PickId(C.position.x,C.position.y),x=E[0],y=E[1],I=E[2];console.log("\u6A21\u578Bid",x,"\u5B9E\u4F8Bid",y,"\u6784\u4EF6id",I),A.bimModel.GetModelSqlDb(x).then(v=>{v.each("select * from component where id = ?",[I],B=>{B.instancesIds=new Uint32Array(B.instancesIds.buffer);for(let Q of B.instancesIds){let T=Q.toString();f.filter(S=>S===T).length>0?(Array.prototype.push.apply(f,[x,Q,1]),f=f.filter(S=>S!==T)):(Array.prototype.push.apply(f,[x,Q,2]),f.push(T))}A.bimModel.SetInstancesStatus(new Int32Array(f))})})},si.LEFT_CLICK)};fs.prototype.cancelOperatingStatus=function(){this.bimModel.CancelOperatingStatus()};fs.prototype.cancelOperatingTransform=function(){this.bimModel.CancelOperatingTransform()};fs.prototype.getInstancesBox=function(o,A,f){this.bimModel.GetInstancesBox(o,A).then(m=>{f&&f(m)})};fs.prototype.getBIMBoundingSphere=function(o,A,f){let m=this;m.bimModel.GetInstancesBox(o,A).then(C=>{let E=Z.fromArray(C,0),x=Z.fromArray(C,3);E=Re.multiplyByPoint(m.modelList[o].transform,E,{}),x=Re.multiplyByPoint(m.modelList[o].transform,x,{}),f&&f(hi.fromPoints([E,x],new hi))})};fs.prototype.getModelSqlDb=function(){return this.bimModel.GetModelSqlDb()};fs.prototype.getBIMComponentBoundingSphere=function(o,A,f){let m=this;m.bimModel.GetModelSqlDb(o).then(C=>{C.each("select * from component where id = ?",[A],E=>{E.instancesIds=new Uint32Array(E.instancesIds.buffer),E.box=new Float32Array(E.box.buffer);let x=Z.fromArray(E.box,0),y=Z.fromArray(E.box,3);x=Re.multiplyByPoint(m.modelList[o].transform,x,{}),y=Re.multiplyByPoint(m.modelList[o].transform,y,{});let I=hi.fromPoints([x,y],new hi);f&&f(I)})})};fs.prototype.flyToComponent=function(){let o=this;o._coreMap.screenSpaceEventHandler.setInputAction(function(f){o.bimModel.PickId(f.position.x,f.position.y).then(m=>{let C=m[0],E=m[2];o.getBIMComponentBoundingSphere(C,E,function(x){o._coreMap.camera.flyToBoundingSphere(x)})})},si.LEFT_CLICK)};fs.prototype.flyToInstances=function(){let o=this;o._coreMap.screenSpaceEventHandler.setInputAction(function(f){o.bimModel.PickId(f.position.x,f.position.y).then(m=>{let C=m[0],E=m[1];o.getBIMBoundingSphere(C,E,x=>{o._coreMap.camera.flyToBoundingSphere(x)})})},si.LEFT_CLICK)};fs.prototype.materialTool=function(o){let A=this;return new qdt(o,A._earthCtrl,Di)};fs.prototype.disableClip=function(){this.bimModel.SetClipPlane()};fs.prototype.setClipPlane=function(o){this.bimModel.SetClipPlane(o.clipTransform,o.isTurn,o?.plane1,o.plane2,o.plane3,o.plane4,o.plane5,o.plane6)};fs.prototype.bimModeClipping=function(o){let A=this;return new Kdt(A._earthCtrl,A.bimModel,o)};fs.prototype.differentiateLevels=function(o){let A=this;return new jdt(o,A._earthCtrl)};fs.prototype.setExpressTypeWeights=function(o,A){this.bimModel.SetExpressTypeWeights(o,A)};fs.prototype.setExpressTypeVisibleDistance=function(o,A){this.bimModel.SetExpressTypeVisibleDistance(o,A)};fs.prototype.setModelStoreyTransform=function(o,A,f){this.bimModel.SetModelStoreyTransform(o,A,f)};fs.prototype.setModelStoreyStatus=function(o,A,f){this.bimModel.GetModelSqlDb(o).then(m=>{m.each(`select storey.id from storey where storey.name in (${A})`,[],C=>{this.bimModel.SetModelStoreyStatus(o,C.id,f)})})};fs.prototype.setModelExpressTypeTransform=function(o,A,f){this.bimModel.SetModelExpressTypeTransform(o,A,f)};fs.prototype.setModelExpressTypeStatus=function(o,A,f){this.bimModel.SetModelExpressTypeStatus(o,A,f)};fs.prototype.markShell=function(o){this.bimModel.MarkShell().then(A=>{o&&o(A)})};fs.prototype.clearShell=function(o,A){this.bimModel.ClearShell(o).then(f=>{A&&A(f)})};fs.prototype.saveShell=function(o){this.bimModel.SaveShell().then(A=>{o&&o(A)})};fs.prototype.setOnlyShowShells=function(o){this.bimModel.SetOnlyShowShells(o)};fs.prototype.mouseHover=function(o){this.bimModel.MouseHover(o)};fs.prototype.enableAngularLines=function(o){this.bimModel.EnableAngularLines(o)};var Xdt=fs;var na={version:"1.0.0"};na.PlotUtils={},na.PlotUtils.distance=function(o,A){return Math.sqrt(Math.pow(o[0]-A[0],2)+Math.pow(o[1]-A[1],2))},na.PlotUtils.wholeDistance=function(o){for(var A=0,f=0;f<o.length-1;f++)A+=na.PlotUtils.distance(o[f],o[f+1]);return A},na.PlotUtils.getBaseLength=function(o){return Math.pow(na.PlotUtils.wholeDistance(o),.99)},na.PlotUtils.mid=function(o,A){return[(o[0]+A[0])/2,(o[1]+A[1])/2]},na.PlotUtils.getCircleCenterOfThreePoints=function(o,A,f){var m=[(o[0]+A[0])/2,(o[1]+A[1])/2],C=[m[0]-o[1]+A[1],m[1]+o[0]-A[0]],E=[(o[0]+f[0])/2,(o[1]+f[1])/2],x=[E[0]-o[1]+f[1],E[1]+o[0]-f[0]];return na.PlotUtils.getIntersectPoint(m,C,E,x)},na.PlotUtils.getIntersectPoint=function(o,A,f,m){if(o[1]==A[1]){var C=(m[0]-f[0])/(m[1]-f[1]),E=C*(o[1]-f[1])+f[0],x=o[1];return[E,x]}if(f[1]==m[1]){var y=(A[0]-o[0])/(A[1]-o[1]);return E=y*(f[1]-o[1])+o[0],x=f[1],[E,x]}return y=(A[0]-o[0])/(A[1]-o[1]),C=(m[0]-f[0])/(m[1]-f[1]),x=(y*o[1]-o[0]-C*f[1]+f[0])/(y-C),E=y*x-y*o[1]+o[0],[E,x]},na.PlotUtils.getAzimuth=function(o,A){var f,m=Math.asin(Math.abs(A[1]-o[1])/na.PlotUtils.distance(o,A));return A[1]>=o[1]&&A[0]>=o[0]?f=m+Math.PI:A[1]>=o[1]&&A[0]<o[0]?f=na.Constants.TWO_PI-m:A[1]<o[1]&&A[0]<o[0]?f=m:A[1]<o[1]&&A[0]>=o[0]&&(f=Math.PI-m),f},na.PlotUtils.getAngleOfThreePoints=function(o,A,f){var m=na.PlotUtils.getAzimuth(A,o)-na.PlotUtils.getAzimuth(A,f);return 0>m?m+na.Constants.TWO_PI:m},na.PlotUtils.isClockWise=function(o,A,f){return(f[1]-o[1])*(A[0]-o[0])>(A[1]-o[1])*(f[0]-o[0])},na.PlotUtils.getPointOnLine=function(o,A,f){var m=A[0]+o*(f[0]-A[0]),C=A[1]+o*(f[1]-A[1]);return[m,C]},na.PlotUtils.getCubicValue=function(o,A,f,m,C){o=Math.max(Math.min(o,1),0);var E=1-o,x=o*o,y=x*o,I=E*E,v=I*E,B=v*A[0]+3*I*o*f[0]+3*E*x*m[0]+y*C[0],Q=v*A[1]+3*I*o*f[1]+3*E*x*m[1]+y*C[1];return[B,Q]},na.PlotUtils.getThirdPoint=function(o,A,f,m,C){var E=na.PlotUtils.getAzimuth(o,A),x=C?E+f:E-f,y=m*Math.cos(x),I=m*Math.sin(x);return[A[0]+y,A[1]+I]},na.PlotUtils.getArcPoints=function(o,A,f,m){var C,E,x=[],y=m-f;y=0>y?y+na.Constants.TWO_PI:y;for(var I=0;I<=na.Constants.FITTING_COUNT;I++){var v=f+y*I/na.Constants.FITTING_COUNT;C=o[0]+A*Math.cos(v),E=o[1]+A*Math.sin(v),x.push([C,E])}return x},na.PlotUtils.getBisectorNormals=function(o,A,f,m){var C=na.PlotUtils.getNormal(A,f,m),E=Math.sqrt(C[0]*C[0]+C[1]*C[1]),x=C[0]/E,y=C[1]/E,I=na.PlotUtils.distance(A,f),v=na.PlotUtils.distance(f,m);if(E>na.Constants.ZERO_TOLERANCE)if(na.PlotUtils.isClockWise(A,f,m)){var B=o*I,Q=f[0]-B*y,T=f[1]+B*x,w=[Q,T];B=o*v,Q=f[0]+B*y,T=f[1]-B*x;var S=[Q,T]}else B=o*I,Q=f[0]+B*y,T=f[1]-B*x,w=[Q,T],B=o*v,Q=f[0]-B*y,T=f[1]+B*x,S=[Q,T];else Q=f[0]+o*(A[0]-f[0]),T=f[1]+o*(A[1]-f[1]),w=[Q,T],Q=f[0]+o*(m[0]-f[0]),T=f[1]+o*(m[1]-f[1]),S=[Q,T];return[w,S]},na.PlotUtils.getNormal=function(o,A,f){var m=o[0]-A[0],C=o[1]-A[1],E=Math.sqrt(m*m+C*C);m/=E,C/=E;var x=f[0]-A[0],y=f[1]-A[1],I=Math.sqrt(x*x+y*y);x/=I,y/=I;var v=m+x,B=C+y;return[v,B]},na.PlotUtils.getCurvePoints=function(o,A){for(var f=na.PlotUtils.getLeftMostControlPoint(A,o),m=[f],C=0;C<A.length-2;C++){var E=A[C],x=A[C+1],y=A[C+2],I=na.PlotUtils.getBisectorNormals(o,E,x,y);m=m.concat(I)}var v=na.PlotUtils.getRightMostControlPoint(A,o);m.push(v);var B=[];for(C=0;C<A.length-1;C++){E=A[C],x=A[C+1],B.push(E);for(var o=0;o<na.Constants.FITTING_COUNT;o++){var Q=na.PlotUtils.getCubicValue(o/na.Constants.FITTING_COUNT,E,m[2*C],m[2*C+1],x);B.push(Q)}B.push(x)}return B},na.PlotUtils.getLeftMostControlPoint=function(o,A){var f=o[0],m=o[1],C=o[2],E=na.PlotUtils.getBisectorNormals(0,f,m,C),x=E[0],y=na.PlotUtils.getNormal(f,m,C),I=Math.sqrt(y[0]*y[0]+y[1]*y[1]);if(I>na.Constants.ZERO_TOLERANCE)var v=na.PlotUtils.mid(f,m),B=f[0]-v[0],Q=f[1]-v[1],T=na.PlotUtils.distance(f,m),w=2/T,S=-w*Q,D=w*B,R=S*S-D*D,P=2*S*D,M=D*D-S*S,L=x[0]-v[0],F=x[1]-v[1],k=v[0]+R*L+P*F,N=v[1]+P*L+M*F;else k=f[0]+A*(m[0]-f[0]),N=f[1]+A*(m[1]-f[1]);return[k,N]},na.PlotUtils.getRightMostControlPoint=function(o,A){var f=o.length,m=o[f-3],C=o[f-2],E=o[f-1],x=na.PlotUtils.getBisectorNormals(0,m,C,E),y=x[1],I=na.PlotUtils.getNormal(m,C,E),v=Math.sqrt(I[0]*I[0]+I[1]*I[1]);if(v>na.Constants.ZERO_TOLERANCE)var B=na.PlotUtils.mid(C,E),Q=E[0]-B[0],T=E[1]-B[1],w=na.PlotUtils.distance(C,E),S=2/w,D=-S*T,R=S*Q,P=D*D-R*R,M=2*D*R,L=R*R-D*D,F=y[0]-B[0],k=y[1]-B[1],N=B[0]+P*F+M*k,G=B[1]+M*F+L*k;else N=E[0]+A*(C[0]-E[0]),G=E[1]+A*(C[1]-E[1]);return[N,G]},na.PlotUtils.getBezierPoints=function(o){if(o.length<=2)return o;for(var A=[],f=o.length-1,m=0;1>=m;m+=.01){for(var C=0,E=0,x=0;f>=x;x++){var y=na.PlotUtils.getBinomialFactor(f,x),I=Math.pow(m,x),v=Math.pow(1-m,f-x);C+=y*I*v*o[x][0],E+=y*I*v*o[x][1]}A.push([C,E])}return A.push(o[f]),A},na.PlotUtils.getBinomialFactor=function(o,A){return na.PlotUtils.getFactorial(o)/(na.PlotUtils.getFactorial(A)*na.PlotUtils.getFactorial(o-A))},na.PlotUtils.getFactorial=function(o){if(1>=o)return 1;if(o==2)return 2;if(o==3)return 6;if(o==4)return 24;if(o==5)return 120;for(var A=1,f=1;o>=f;f++)A*=f;return A},na.PlotUtils.getQBSplinePoints=function(o){if(o.length<=2)return o;var A=2,f=[],m=o.length-A-1;f.push(o[0]);for(var C=0;m>=C;C++)for(var E=0;1>=E;E+=.05){for(var x=0,y=0,I=0;A>=I;I++){var v=na.PlotUtils.getQuadricBSplineFactor(I,E);x+=v*o[C+I][0],y+=v*o[C+I][1]}f.push([x,y])}return f.push(o[o.length-1]),f},na.PlotUtils.getQuadricBSplineFactor=function(o,A){return o==0?Math.pow(A-1,2)/2:o==1?(-2*Math.pow(A,2)+2*A+1)/2:o==2?Math.pow(A,2)/2:0},na.Constants={TWO_PI:2*Math.PI,HALF_PI:Math.PI/2,FITTING_COUNT:100,ZERO_TOLERANCE:1e-4};var Tr=na;var Js={version:"1.2.0",createTime:"2021.04.01",author:"sss"},WQ={type:"doublearrow",headHeightFactor:.25,headWidthFactor:.3,neckHeightFactor:.85,fixPointCount:4,neckWidthFactor:.15},Qle={headHeightFactor:.18,headWidthFactor:.3,neckHeightFactor:.85,neckWidthFactor:.15,tailWidthFactor:.1,headTailFactor:.8,swallowTailFactor:1},WH={tailWidthFactor:.15,neckWidthFactor:.2,headWidthFactor:.25,headAngle:Math.PI/8.5,neckAngle:Math.PI/13,swallowTailFactor:.15},Sle={widthFactor:.15,neckWidthFactor:.25,neckLengthFactor:.3,swallowTailFactor:.15},Wv={headFactor:.4,headWidthFactor:1.3,neckWidthFactor:.02,head:.1};Js.algorithm={},Js.algorithm.doubleArrow=function(o){this.connPoint=null,this.tempPoint4=null,this.points=o;let A={controlPoint:null,polygonalPoint:null};if(!(2>o.length)){if(x===2)return o;let m=this.points[0],C=this.points[1],E=this.points[2],x=o.length;x===3?this.tempPoint4=Js.algorithm.getTempPoint4(m,C,E):this.tempPoint4=this.points[3],x===3||x===4?this.connPoint=Tr.PlotUtils.mid(m,C):this.connPoint=this.points[4];let y,I;Tr.PlotUtils.isClockWise(m,C,E)?(y=Js.algorithm.getArrowPoints(m,this.connPoint,this.tempPoint4,!1),I=Js.algorithm.getArrowPoints(this.connPoint,C,E,!0)):(y=Js.algorithm.getArrowPoints(C,this.connPoint,E,!1),I=Js.algorithm.getArrowPoints(this.connPoint,m,this.tempPoint4,!0));let v=y.length,B=(v-5)/2,Q=y.slice(0,B),T=y.slice(B,B+5),w=y.slice(B+5,v),S=I.slice(0,B),D=I.slice(B,B+5),R=I.slice(B+5,v);S=Tr.PlotUtils.getBezierPoints(S);let P=Tr.PlotUtils.getBezierPoints(R.concat(Q.slice(1)));w=Tr.PlotUtils.getBezierPoints(w);let M=S.concat(D,P,T,w),L=Js.algorithm.array2Dto1D(M);A.controlPoint=[m,C,E,this.tempPoint4,this.connPoint],A.polygonalPoint=Z.fromDegreesArray(L)}return A},Js.algorithm.threeArrow=function(o){this.connPoint=null,this.tempPoint4=null,this.tempPoint5=null,this.points=o;let A={controlPoint:null,polygonalPoint:null},f=o.length;if(!(2>o.length)){if(o.length===2)return o;let m=this.points[0],C=this.points[1],E=this.points[2],x=o.length;x===3?(this.tempPoint4=Js.algorithm.getTempPoint4(m,C,E),this.tempPoint5=Tr.PlotUtils.mid(E,this.tempPoint4)):(this.tempPoint4=this.points[3],this.tempPoint5=this.points[4]),x<6?this.connPoint=Tr.PlotUtils.mid(m,C):this.connPoint=this.points[5];let y,I;Tr.PlotUtils.isClockWise(m,C,E)?(y=Js.algorithm.getArrowPoints(m,this.connPoint,this.tempPoint4,!1),I=Js.algorithm.getArrowPoints(this.connPoint,C,E,!0)):(y=Js.algorithm.getArrowPoints(C,this.connPoint,E,!1),I=Js.algorithm.getArrowPoints(this.connPoint,m,this.tempPoint4,!0));let v=y.length,B=(v-5)/2,Q=y.slice(0,B),T=y.slice(B,B+5),w=y.slice(B+5,v),S=I.slice(0,B),D=I.slice(B,B+5),R=I.slice(B+5,v);S=Tr.PlotUtils.getBezierPoints(S);let P=Tr.PlotUtils.getBezierPoints(R.concat(Q.slice(1)));w=Tr.PlotUtils.getBezierPoints(w);let M=S.concat(D,P,T,w),L=Js.algorithm.array2Dto1D(M);A.controlPoint=[m,C,E,this.tempPoint4,this.tempPoint5,this.connPoint],A.polygonalPoint=Z.fromDegreesArray(L)}return A},Js.algorithm.array2Dto1D=function(o){let A=[];return o.forEach(function(f){A.push(f[0]),A.push(f[1])}),A},Js.algorithm.getArrowPoints=function(o,A,f,m){this.type=WQ.type,this.headHeightFactor=WQ.headHeightFactor,this.headWidthFactor=WQ.headWidthFactor,this.neckHeightFactor=WQ.neckHeightFactor,this.neckWidthFactor=WQ.neckWidthFactor;let C=Tr.PlotUtils.mid(o,A),E=Tr.PlotUtils.distance(C,f),x=Tr.PlotUtils.getThirdPoint(f,C,0,.3*E,!0),y=Tr.PlotUtils.getThirdPoint(f,C,0,.5*E,!0);x=Tr.PlotUtils.getThirdPoint(C,x,Tr.Constants.HALF_PI,E/5,m),y=Tr.PlotUtils.getThirdPoint(C,y,Tr.Constants.HALF_PI,E/4,m);let I=[C,x,y,f],v=Js.algorithm.getArrowHeadPoints(I,this.headHeightFactor,this.headWidthFactor,this.neckHeightFactor,this.neckWidthFactor),B=v[0],Q=v[4],T=Tr.PlotUtils.distance(o,A)/Tr.PlotUtils.getBaseLength(I)/2,w=Js.algorithm.getArrowBodyPoints(I,B,Q,T),S=w.length,D=w.slice(0,S/2),R=w.slice(S/2,S);return D.push(B),R.push(Q),D=D.reverse(),D.push(A),R=R.reverse(),R.push(o),D.reverse().concat(v,R)},Js.algorithm.getArrowHeadPoints=function(o,A,f){this.type=WQ.type,this.headHeightFactor=WQ.headHeightFactor,this.headWidthFactor=WQ.headWidthFactor,this.neckHeightFactor=WQ.neckHeightFactor,this.neckWidthFactor=WQ.neckWidthFactor;let m=Tr.PlotUtils.getBaseLength(o),C=m*this.headHeightFactor,E=o[o.length-1],x=(Tr.PlotUtils.distance(A,f),C*this.headWidthFactor),y=C*this.neckWidthFactor,I=C*this.neckHeightFactor,v=Tr.PlotUtils.getThirdPoint(o[o.length-2],E,0,C,!0),B=Tr.PlotUtils.getThirdPoint(o[o.length-2],E,0,I,!0),Q=Tr.PlotUtils.getThirdPoint(E,v,Tr.Constants.HALF_PI,x,!1),T=Tr.PlotUtils.getThirdPoint(E,v,Tr.Constants.HALF_PI,x,!0),w=Tr.PlotUtils.getThirdPoint(E,B,Tr.Constants.HALF_PI,y,!1),S=Tr.PlotUtils.getThirdPoint(E,B,Tr.Constants.HALF_PI,y,!0);return[w,Q,E,T,S]},Js.algorithm.getArrowBodyPoints=function(o,A,f,m){let C=[],E=[];for(let x=Tr.PlotUtils.wholeDistance(o),y=Tr.PlotUtils.getBaseLength(o),I=y*m,v=Tr.PlotUtils.distance(A,f),B=(I-v)/2,Q=0,T=1;T<o.length-1;T++){let w=Tr.PlotUtils.getAngleOfThreePoints(o[T-1],o[T],o[T+1])/2;Q+=Tr.PlotUtils.distance(o[T-1],o[T]);let S=(I/2-Q/x*B)/Math.sin(w),D=Tr.PlotUtils.getThirdPoint(o[T-1],o[T],Math.PI-w,S,!0),R=Tr.PlotUtils.getThirdPoint(o[T-1],o[T],w,S,!1);C.push(D),E.push(R)}return C.concat(E)},Js.algorithm.getTempPoint4=function(o,A,f){let m,C,E,x,y=Tr.PlotUtils.mid(o,A),I=Tr.PlotUtils.distance(y,f),v=Tr.PlotUtils.getAngleOfThreePoints(o,y,f);return v<Tr.Constants.HALF_PI?(C=I*Math.sin(v),E=I*Math.cos(v),x=Tr.PlotUtils.getThirdPoint(o,y,Tr.Constants.HALF_PI,C,!1),m=Tr.PlotUtils.getThirdPoint(y,x,Tr.Constants.HALF_PI,E,!0)):v>=Tr.Constants.HALF_PI&&v<Math.PI?(C=I*Math.sin(Math.PI-v),E=I*Math.cos(Math.PI-v),x=Tr.PlotUtils.getThirdPoint(o,y,Tr.Constants.HALF_PI,C,!1),m=Tr.PlotUtils.getThirdPoint(y,x,Tr.Constants.HALF_PI,E,!1)):v>=Math.PI&&v<1.5*Math.PI?(C=I*Math.sin(v-Math.PI),E=I*Math.cos(v-Math.PI),x=Tr.PlotUtils.getThirdPoint(o,y,Tr.Constants.HALF_PI,C,!0),m=Tr.PlotUtils.getThirdPoint(y,x,Tr.Constants.HALF_PI,E,!0)):(C=I*Math.sin(2*Math.PI-v),E=I*Math.cos(2*Math.PI-v),x=Tr.PlotUtils.getThirdPoint(o,y,Tr.Constants.HALF_PI,C,!0),m=Tr.PlotUtils.getThirdPoint(y,x,Tr.Constants.HALF_PI,E,!1)),m},Js.algorithm.tailedAttackArrow=function(o){o=Js.algorithm.dereplication(o),this.tailWidthFactor=Qle.tailWidthFactor,this.swallowTailFactor=Qle.swallowTailFactor,this.swallowTailPnt=Qle.swallowTailPnt;let A={controlPoint:null,polygonalPoint:null};if(A.controlPoint=o,!(2>o.length)){if(o.length===2)return A.polygonalPoint=o,A;let m=o,C=m[0],E=m[1];Tr.PlotUtils.isClockWise(m[0],m[1],m[2])&&(C=m[1],E=m[0]);let x=Tr.PlotUtils.mid(C,E),y=[x].concat(m.slice(2)),I=Js.algorithm.getAttackArrowHeadPoints(y,C,E,Qle),v=I[0],B=I[4],Q=Tr.PlotUtils.distance(C,E),T=Tr.PlotUtils.getBaseLength(y),w=T*this.tailWidthFactor*this.swallowTailFactor;this.swallowTailPnt=Tr.PlotUtils.getThirdPoint(y[1],y[0],0,w,!0);let S=Q/T,D=Js.algorithm.getAttackArrowBodyPoints(y,v,B,S),R=D.length,P=[C].concat(D.slice(0,R/2));P.push(v);let M=[E].concat(D.slice(R/2,R)),L=[];M.push(B),P=Tr.PlotUtils.getQBSplinePoints(P),M=Tr.PlotUtils.getQBSplinePoints(M),L=Js.algorithm.array2Dto1D(P.concat(I,M.reverse(),[this.swallowTailPnt,P[0]])),A.polygonalPoint=Z.fromDegreesArray(L)}return A},Js.algorithm.getAttackArrowHeadPoints=function(o,A,f,m){this.headHeightFactor=m.headHeightFactor,this.headTailFactor=m.headTailFactor,this.headWidthFactor=m.headWidthFactor,this.neckWidthFactor=m.neckWidthFactor,this.neckHeightFactor=m.neckHeightFactor;let C=Tr.PlotUtils.getBaseLength(o),E=C*this.headHeightFactor,x=o[o.length-1];C=Tr.PlotUtils.distance(x,o[o.length-2]);let y=Tr.PlotUtils.distance(A,f);E>y*this.headTailFactor&&(E=y*this.headTailFactor);let I=E*this.headWidthFactor,v=E*this.neckWidthFactor;E=E>C?C:E;let B=E*this.neckHeightFactor,Q=Tr.PlotUtils.getThirdPoint(o[o.length-2],x,0,E,!0),T=Tr.PlotUtils.getThirdPoint(o[o.length-2],x,0,B,!0),w=Tr.PlotUtils.getThirdPoint(x,Q,Tr.Constants.HALF_PI,I,!1),S=Tr.PlotUtils.getThirdPoint(x,Q,Tr.Constants.HALF_PI,I,!0),D=Tr.PlotUtils.getThirdPoint(x,T,Tr.Constants.HALF_PI,v,!1),R=Tr.PlotUtils.getThirdPoint(x,T,Tr.Constants.HALF_PI,v,!0);return[D,w,x,S,R]},Js.algorithm.getAttackArrowBodyPoints=function(o,A,f,m){let C=[],E=[];for(let x=Tr.PlotUtils.wholeDistance(o),y=Tr.PlotUtils.getBaseLength(o),I=y*m,v=Tr.PlotUtils.distance(A,f),B=(I-v)/2,Q=0,T=1;T<o.length-1;T++){let w=Tr.PlotUtils.getAngleOfThreePoints(o[T-1],o[T],o[T+1])/2;Q+=Tr.PlotUtils.distance(o[T-1],o[T]);let S=(I/2-Q/x*B)/Math.sin(w),D=Tr.PlotUtils.getThirdPoint(o[T-1],o[T],Math.PI-w,S,!0),R=Tr.PlotUtils.getThirdPoint(o[T-1],o[T],w,S,!1);C.push(D),E.push(R)}return C.concat(E)},Js.algorithm.dereplication=function(o){let A=o[o.length-1],f=!1,m=[];return m=o.filter(function(C){if(C[0]!==A[0]&&C[1]!==A[1])return C;f=!0}),f&&m.push(A),m},Js.algorithm.fineArrow=function(o,A){if(o.length<2||A.length<2)return;let f=WH.tailWidthFactor,m=WH.neckWidthFactor,C=WH.headWidthFactor,E=WH.headAngle,x=WH.neckAngle,y=WH.swallowTailFactor,I=[];I[0]=o,I[1]=A;let v=I[0],B=I[1],Q=Tr.PlotUtils.getBaseLength(I),T=Q*f,w=Q*m,S=Q*C,D=Tr.PlotUtils.getThirdPoint(B,v,Tr.Constants.HALF_PI,T,!0),R=Tr.PlotUtils.getThirdPoint(B,v,Tr.Constants.HALF_PI,T,!1),P=Tr.PlotUtils.getThirdPoint(v,B,E,S,!1),M=Tr.PlotUtils.getThirdPoint(v,B,E,S,!0),L=Tr.PlotUtils.getThirdPoint(v,B,x,w,!1),F=Tr.PlotUtils.getThirdPoint(v,B,x,w,!0),k=[],N=Tr.PlotUtils.mid(D,R);return Q=Tr.PlotUtils.getThirdPoint(D,N,Tr.Constants.HALF_PI,w*y,!1),k.push(D[0],D[1],L[0],L[1],P[0],P[1],B[0],B[1],M[0],M[1],F[0],F[1],R[0],R[1],Q[0],Q[1]),Z.fromDegreesArray(k)},Js.algorithm.Arrow=function(o,A){if(o.length<2||A.length<2)return;let f=Sle.widthFactor,m=Sle.neckWidthFactor,C=Sle.neckLengthFactor,E=Sle.swallowTailFactor,x=[];x[0]=o,x[1]=A;let y=x[0],I=x[1],v=Tr.PlotUtils.getBaseLength(x),B=v*f,Q=v*m,T=v*C,w=Tr.PlotUtils.getThirdPoint(I,y,Tr.Constants.HALF_PI,B,!0),S=Tr.PlotUtils.getThirdPoint(I,y,Tr.Constants.HALF_PI,B,!1),D=Tr.PlotUtils.getThirdPoint(y,I,0,T,!1),R=Tr.PlotUtils.getThirdPoint(w,D,Tr.Constants.HALF_PI,B,!1),P=Tr.PlotUtils.getThirdPoint(S,D,Tr.Constants.HALF_PI,B,!0),M=Tr.PlotUtils.getThirdPoint(w,R,Tr.Constants.HALF_PI,Q,!1),L=Tr.PlotUtils.getThirdPoint(S,P,Tr.Constants.HALF_PI,Q,!0),F=[],k=Tr.PlotUtils.mid(w,S);return v=Tr.PlotUtils.getThirdPoint(w,k,Tr.Constants.HALF_PI,Q*E,!1),F.push(w[0],w[1],R[0],R[1],M[0],M[1],I[0],I[1],L[0],L[1],P[0],P[1],S[0],S[1],v[0],v[1]),Z.fromDegreesArray(F)},Js.algorithm.Surface=function(o){o.push(o[0]);let A=Tr.PlotUtils.getCurvePoints(.4,o);return A=Js.algorithm.array2Dto1D(A),Z.fromDegreesArray(A)},Js.algorithm.Assembly=function(o){let A,f;if(o.length===2){A=Tr.PlotUtils.mid(o[0],o[1]);let v=Tr.PlotUtils.getBaseLength([o[0],A])/.9;f=Tr.PlotUtils.getThirdPoint(o[0],A,Math.PI,v,!0),o=[o[0],f,o[1]]}A=Tr.PlotUtils.mid(o[0],o[2]),o.push(A,o[0],o[1]);let m=[],C,E,x,y=[];for(let v=0;v<o.length-2;v++){C=o[v],E=o[v+1],x=o[v+2];let B=Tr.PlotUtils.getBisectorNormals(.4,C,E,x);m=m.concat(B)}let I=m.length;m=[m[I-1]].concat(m.slice(0,I-1));for(let v=0;v<o.length-2;v++){C=o[v],E=o[v+1],y=y.concat(C);for(let B=0;B<=100;B++)f=Tr.PlotUtils.getCubicValue(B/100,C,m[v*2],m[v*2+1],E),y=y.concat(f);y=y.concat(E)}return Z.fromDegreesArray(y)},Js.algorithm.Sector=function(o){let A,f,m;A=o[0],f=o[1],m=o[2];let C=Tr.PlotUtils.getBaseLength([A,f]),E=Tr.PlotUtils.getAzimuth(f,A),x=Tr.PlotUtils.getAzimuth(m,A),y=[];return y.push(A),y=y.concat(Tr.PlotUtils.getArcPoints(A,C,E,x)),y.push(A),y=Js.algorithm.array2Dto1D(y),Z.fromDegreesArray(y)},Js.algorithm.Recflag=function(o){let A=Wv.headFactor,f=Wv.headWidthFactor,m=Wv.neckWidthFactor,C=Wv.head,E=o;E[1][0]=E[0][0];let x=E[0],y=E[1],I=Tr.PlotUtils.getBaseLength(E),v=I*A,B=I*m,Q=Tr.PlotUtils.getThirdPoint(x,y,Math.PI,-v,!0);E[0]=Q;let w=Tr.PlotUtils.getBaseLength(E)*f,S=Tr.PlotUtils.getThirdPoint(y,Q,-Math.PI/2,w,!0),D=Tr.PlotUtils.getThirdPoint(Q,y,Math.PI/2,w,!0),R=Tr.PlotUtils.getThirdPoint(y,x,Math.PI/2,B,!1),P=Tr.PlotUtils.getThirdPoint(y,Q,Math.PI/2,B,!1),M=[];return M.push(x[0],x[1],y[0],y[1],D[0],D[1],S[0],S[1],P[0],P[1],R[0],R[1],x[0],x[1]),Z.fromDegreesArray(M)},Js.algorithm.Pennant=function(o){let A=Wv.headFactor,f=Wv.headWidthFactor,m=Wv.neckWidthFactor,C=Wv.head,E=o;E[1][0]=E[0][0];let x=E[0],y=E[1],I=Tr.PlotUtils.getBaseLength(E),v=I*A,B=I*m,Q=Tr.PlotUtils.getThirdPoint(x,y,Math.PI,-v,!0);E[0]=Q;let w=Tr.PlotUtils.getBaseLength(E)*f,S=Tr.PlotUtils.getThirdPoint(Q,y,Math.PI/2,w,!0),D=Tr.PlotUtils.getThirdPoint(y,x,Math.PI/2,B,!1),R=Tr.PlotUtils.getThirdPoint(y,Q,Math.PI/2,B,!1),P=[];return P.push(x[0],x[1],y[0],y[1],S[0],S[1],R[0],R[1],D[0],D[1],x[0],x[1]),Z.fromDegreesArray(P)},Js.algorithm.Mflag=function(o){let A=Wv.headFactor,f=Wv.headWidthFactor,m=Wv.neckWidthFactor,C=Wv.head,E=o;E[1][0]=E[0][0];let x=E[0],y=E[1],I=Tr.PlotUtils.getBaseLength(E),v=I*A,B=I*m,Q=Tr.PlotUtils.getThirdPoint(x,y,Math.PI,-v,!0);E[0]=Q;let T=Tr.PlotUtils.getBaseLength(E),w=T*f,S=T*C,D=Tr.PlotUtils.getThirdPoint(y,Q,-Math.PI/2,w,!0),R=Tr.PlotUtils.getThirdPoint(Q,y,Math.PI/2,w,!0),P=Tr.PlotUtils.getThirdPoint(Q,y,Math.PI/2,B,!0),M=Tr.PlotUtils.getThirdPoint(y,x,Math.PI/2,B,!1),L=Tr.PlotUtils.getThirdPoint(y,Q,Math.PI/2,B,!1),F=[];F.push(P),F.push(R);let k=Js.algorithm.calculatePonits(F,S),N=[];N.push(L),N.push(D);let G=Js.algorithm.calculatePonits(N,S,!0),J=[];return J.push(x[0],x[1],Q[0],Q[1],y[0],y[1]),J=J.concat(k),J=J.concat(G),J.push(L[0],L[1],M[0],M[1],x[0],x[1]),Z.fromDegreesArray(J)},Js.algorithm.calculatePonits=function(o,A,f){let m=[];if(o.length>1){let E=o[0],x=o[o.length-1],y=E,I=[(x[0]-E[0])/4+E[0],(x[1]-E[1])/4+E[1]+A],v=[(E[0]+x[0])/2,(x[1]+E[1])/2],B=[(x[0]-E[0])*3/4+E[0],(x[1]-E[1])*3/4+E[1]-A];m=Tr.PlotUtils.getBezierPoints([y,I,v,B,x])}return f&&(m=m.reverse()),Js.algorithm.array2Dto1D(m)};var Hl=Js;function jv(o,A){this.type="StraightArrow",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.handler=new cr(this.viewer.scene.canvas),this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.fillMaterial=Ve.fromCssColorString("#0000FF").withAlpha(.8),this.outlineMaterial=new Zs({dashLength:16,color:Ve.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.firstPoint=null,this.floatPoint=null,this.arrowEntity=null,this.state=-1,this.selectPoint=null,this.clickStep=0,this.modifyHandler=null}jv.prototype.disable=function(){this.positions=[],this.firstPoint&&(this.earthCtrl.entities.remove(this.firstPoint),this.firstPoint=null),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0};jv.prototype.disableHandler=function(){this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)};jv.prototype.startDraw=function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;f=Dle(A.position,o.viewer),f&&(o.positions.length===0&&(o.firstPoint=o.creatPoint(f),o.firstPoint.type="firstPoint",o.floatPoint=o.creatPoint(f),o.floatPoint.type="floatPoint",o.positions.push(f)),o.positions.length===3&&(o.firstPoint.show=!1,o.floatPoint.show=!1,o.handler.destroy(),o.arrowEntity.objId=o.objId,o.state=-1),o.positions.push(f.clone()))},si.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<1)return;let f;f=Dle(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(O(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions))))},si.MOUSE_MOVE)};jv.prototype.startModify=function(){this.state=2,this.firstPoint.show=!0,this.floatPoint.show=!0;let o=this;this.clickStep=0,this.modifyHandler||(this.modifyHandler=new cr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(O(f)&&f.id?(o.clickStep++,f.id.objId||(o.selectPoint=f.id)):(o.modifyHandler.destroy(),o.modifyHandler=null,o.firstPoint.show=!1,o.floatPoint.show=!1,o.state=-1),o.clickStep===2){o.clickStep=0;let m;if(m=Dle(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},si.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){if(o.selectPoint){let f;if(f=Dle(A.endPosition,o.viewer),!f)return;o.selectPoint.position.setValue(f),o.selectPoint.type==="firstPoint"&&(o.positions[1]=f),o.selectPoint.type==="floatPoint"&&(o.positions[2]=f)}else return},si.MOUSE_MOVE)};jv.prototype.createByData=function(o){this.state=-1,this.positions=[];let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A,this.firstPoint=this.creatPoint(this.positions[1]),this.firstPoint.type="firstPoint",this.floatPoint=this.creatPoint(this.positions[2]),this.floatPoint.type="floatPoint",this.arrowEntity=this.showArrowOnMap(this.positions),this.firstPoint.show=!1,this.floatPoint.show=!1,this.arrowEntity.objId=this.objId};jv.prototype.clear=function(){this.state=0,this.firstPoint&&this.earthCtrl.entities.remove(this.firstPoint),this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1};jv.prototype.getLnglats=function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o};jv.prototype.getPositions=function(){return this.positions};jv.prototype.creatPoint=function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:hn.BOTTOM,disableDepthTestDistance:Number.POSITIVE_INFINITY}});return A.attr="editPoint",A};jv.prototype.showArrowOnMap=function(o){let A=this,f=function(){if(o.length<2)return null;let m=o[1],C=o[2],E=A.cartesianToLatlng(m),x=A.cartesianToLatlng(C),y=[],I=Hl.algorithm.fineArrow([E[0],E[1]],[x[0],x[1]]);if(JSON.stringify(I).indexOf("null")!==-1)return[];for(let B=0;B<I.length;B++){let Q=new Z(I[B].x,I[B].y,I[B].z);y.push(Q)}return new yn(y)};return this.earthCtrl.entities.add({polygon:new ks({hierarchy:new Hr(f,!1),show:!0,fill:!0,material:A.fillMaterial})})};jv.prototype.cartesianToLatlng=function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=Be.toDegrees(A.latitude);return[Be.toDegrees(A.longitude),f]};function Dle(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof ns)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var HPe=jv;var Zdt=function(o,A){this.type="StraightArrow",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.handler=new cr(this.viewer.scene.canvas),this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.fillMaterial=Ve.fromCssColorString("#0000FF").withAlpha(.8),this.outlineMaterial=new Zs({dashLength:16,color:Ve.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.firstPoint=null,this.floatPoint=null,this.arrowEntity=null,this.state=-1,this.selectPoint=null,this.clickStep=0,this.modifyHandler=null,this.extrudedHeight=100};Zdt.prototype={disable:function(){this.positions=[],this.firstPoint&&(this.earthCtrl.entities.remove(this.firstPoint),this.firstPoint=null),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;f=Tle(A.position,o.viewer),f&&(o.positions.length===0&&(o.firstPoint=o.creatPoint(f),o.firstPoint.type="firstPoint",o.floatPoint=o.creatPoint(f),o.floatPoint.type="floatPoint",o.positions.push(f)),o.positions.length===3&&(o.firstPoint.show=!1,o.floatPoint.show=!1,o.handler.destroy(),o.arrowEntity.objId=o.objId,o.state=-1),o.positions.push(f.clone()))},si.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<1)return;let f;f=Tle(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(O(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions))))},si.MOUSE_MOVE)},startModify:function(){this.state=2,this.firstPoint.show=!0,this.floatPoint.show=!0;let o=this;this.clickStep=0,this.modifyHandler||(this.modifyHandler=new cr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(O(f)&&f.id?(o.clickStep++,f.id.objId||(o.selectPoint=f.id)):(o.modifyHandler.destroy(),o.modifyHandler=null,o.firstPoint.show=!1,o.floatPoint.show=!1,o.state=-1),o.clickStep===2){o.clickStep=0;let m;if(m=Tle(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},si.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){if(o.selectPoint){let f;if(f=Tle(A.endPosition,o.viewer),!f)return;o.selectPoint.position.setValue(f),o.selectPoint.type==="firstPoint"&&(o.positions[1]=f),o.selectPoint.type==="floatPoint"&&(o.positions[2]=f)}else return},si.MOUSE_MOVE)},createByData:function(o){this.state=-1,this.positions=[];let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A,this.firstPoint=this.creatPoint(this.positions[1]),this.firstPoint.type="firstPoint",this.floatPoint=this.creatPoint(this.positions[2]),this.floatPoint.type="floatPoint",this.arrowEntity=this.showArrowOnMap(this.positions),this.firstPoint.show=!1,this.floatPoint.show=!1,this.arrowEntity.objId=this.objId},clear:function(){this.state=0,this.firstPoint&&this.earthCtrl.entities.remove(this.firstPoint),this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:hn.BOTTOM,disableDepthTestDistance:Number.POSITIVE_INFINITY}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<2)return null;let m=o[1],C=o[2],E=A.cartesianToLatlng(m),x=A.cartesianToLatlng(C),y=[],I=Hl.algorithm.fineArrow([E[0],E[1]],[x[0],x[1]]);if(JSON.stringify(I).indexOf("null")!==-1)return[];for(let B=0;B<I.length;B++){let Q=new Z(I[B].x,I[B].y,I[B].z);y.push(Q)}return new yn(y)};return this.earthCtrl.entities.add({polygon:new ks({hierarchy:new Hr(f,!1),extrudedHeight:this.extrudedHeight,show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=Be.toDegrees(A.latitude);return[Be.toDegrees(A.longitude),f]}};function Tle(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof ns)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var $dt=Zdt;var eft=function(o){this.type="AttackArrow",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.handler=new cr(this.viewer.scene.canvas),this.fillMaterial=Ve.RED.withAlpha(.8),this.outlineMaterial=new Zs({dashLength:16,color:Ve.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.state=-1,this.floatPoint=null,this.arrowEntity=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null};eft.prototype={disable:function(){this.positions=[],this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null);for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f=QW(A.position,o.viewer);if(!f)return;o.positions.length===0&&(o.floatPoint=o.creatPoint(f),o.floatPoint.wz=-1),o.positions.push(f);let m=o.creatPoint(f);o.positions.length>2?m.wz=o.positions.length-1:m.wz=o.positions.length,o.pointArr.push(m)},si.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<2)return;let f=QW(A.endPosition,o.viewer);!f||(o.floatPoint.position.setValue(f),o.positions.length>=2&&(O(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions),o.arrowEntity.objId=o.objId)))},si.MOUSE_MOVE),this.handler.setInputAction(function(A){let f=QW(A.position,o.viewer);if(!f)return;for(let C=0;C<o.pointArr.length;C++)o.pointArr[C].show=!1;o.floatPoint.show=!1,o.earthCtrl.entities.remove(o.floatPoint),o.floatPoint=null;let m=o.creatPoint(f);m.show=!1,m.wz=o.positions.length,o.pointArr.push(m),o.handler.destroy()},si.RIGHT_CLICK)},createByData:function(o){this.positions=[],this.state=-1,this.floatPoint=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null;let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A;for(let f=0;f<this.positions.length;f++){let m=this.creatPoint(this.positions[f]);m.show=!1,m.wz=f+1,this.pointArr.push(m)}this.arrowEntity=this.showArrowOnMap(this.positions),this.arrowEntity.objId=this.objId},startModify:function(){this.state=2;let o=this;for(let A=0;A<o.pointArr.length;A++)o.pointArr[A].show=!0;this.modifyHandler||(this.modifyHandler=new cr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(O(f)&&f.id)o.clickStep++,f.id.objId||(o.selectPoint=f.id);else{for(let m=0;m<o.pointArr.length;m++)o.pointArr[m].show=!1;o.floatPoint&&(o.floatPoint.show=!1),o.state=-1,o.modifyHandler.destroy(),o.modifyHandler=null}if(o.clickStep===2){o.clickStep=0;let m=QW(A.position,o.viewer);if(!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},si.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){let f=QW(A.endPosition,o.viewer);!f||o.selectPoint&&(o.selectPoint.position.setValue(f),o.positions[o.selectPoint.wz-1]=f)},si.MOUSE_MOVE)},clear:function(){this.state=0;for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:hn.BOTTOM}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<3)return null;let m=[];for(let y=0;y<o.length;y++){let I=A.cartesianToLatlng(o[y]);m.push(I)}let C=Hl.algorithm.tailedAttackArrow(m),E=JSON.stringify(C.polygonalPoint).indexOf("null"),x=[];return E===-1&&(x=C.polygonalPoint),new yn(x)};return this.earthCtrl.entities.add({polygon:new ks({hierarchy:new Hr(f,!1),show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=Be.toDegrees(A.latitude);return[Be.toDegrees(A.longitude),f]}};function QW(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof ns)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var VPe=eft;var tft=function(o){this.type="AttackArrow",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.handler=new cr(this.viewer.scene.canvas),this.fillMaterial=Ve.RED.withAlpha(.8),this.outlineMaterial=new Zs({dashLength:16,color:Ve.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.state=-1,this.floatPoint=null,this.arrowEntity=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null,this.extrudedHeight=100};tft.prototype={disable:function(){this.positions=[],this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null);for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f=SW(A.position,o.viewer);if(!f)return;o.positions.length===0&&(o.floatPoint=o.creatPoint(f),o.floatPoint.wz=-1),o.positions.push(f);let m=o.creatPoint(f);o.positions.length>2?m.wz=o.positions.length-1:m.wz=o.positions.length,o.pointArr.push(m)},si.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<2)return;let f=SW(A.endPosition,o.viewer);!f||(o.floatPoint.position.setValue(f),o.positions.length>=2&&(O(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions),o.arrowEntity.objId=o.objId)))},si.MOUSE_MOVE),this.handler.setInputAction(function(A){let f=SW(A.position,o.viewer);if(!f)return;for(let C=0;C<o.pointArr.length;C++)o.pointArr[C].show=!1;o.floatPoint.show=!1,o.earthCtrl.entities.remove(o.floatPoint),o.floatPoint=null;let m=o.creatPoint(f);m.show=!1,m.wz=o.positions.length,o.pointArr.push(m),o.handler.destroy()},si.RIGHT_CLICK)},createByData:function(o){this.positions=[],this.state=-1,this.floatPoint=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null;let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A;for(let f=0;f<this.positions.length;f++){let m=this.creatPoint(this.positions[f]);m.show=!1,m.wz=f+1,this.pointArr.push(m)}this.arrowEntity=this.showArrowOnMap(this.positions),this.arrowEntity.objId=this.objId},startModify:function(){this.state=2;let o=this;for(let A=0;A<o.pointArr.length;A++)o.pointArr[A].show=!0;this.modifyHandler||(this.modifyHandler=new cr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(O(f)&&f.id)o.clickStep++,f.id.objId||(o.selectPoint=f.id);else{for(let m=0;m<o.pointArr.length;m++)o.pointArr[m].show=!1;o.floatPoint&&(o.floatPoint.show=!1),o.state=-1,o.modifyHandler.destroy(),o.modifyHandler=null}if(o.clickStep===2){o.clickStep=0;let m=SW(A.position,o.viewer);if(!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},si.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){let f=SW(A.endPosition,o.viewer);if(!!f)if(o.selectPoint)o.selectPoint.position.setValue(f),o.positions[o.selectPoint.wz-1]=f;else return},si.MOUSE_MOVE)},clear:function(){this.state=0;for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:hn.BOTTOM}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<3)return null;let m=[];for(let y=0;y<o.length;y++){let I=A.cartesianToLatlng(o[y]);m.push(I)}let C=Hl.algorithm.tailedAttackArrow(m),E=JSON.stringify(C.polygonalPoint).indexOf("null"),x=[];return E===-1&&(x=C.polygonalPoint),new yn(x)};return this.earthCtrl.entities.add({polygon:new ks({hierarchy:new Hr(f,!1),extrudedHeight:this.extrudedHeight,show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=Be.toDegrees(A.latitude);return[Be.toDegrees(A.longitude),f]}};function SW(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof ns)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var ift=tft;var rft=function(o){this.type="PincerArrow",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.handler=new cr(this.viewer.scene.canvas),this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.fillMaterial=Ve.YELLOW.withAlpha(.8),this.outlineMaterial=new Zs({dashLength:16,color:Ve.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.state=-1,this.floatPoint=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null};rft.prototype={disable:function(){this.positions=[],this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null);for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;if(f=Mle(A.position,o.viewer),!f)return;if(o.positions.length===0&&(o.floatPoint=o.creatPoint(f)),o.positions.length>=4){let C=o.creatPoint(f);C.wz=o.positions.length,o.pointArr.push(C);for(let E=0;E<o.pointArr.length;E++)o.pointArr[E].show=!1;o.floatPoint&&(o.floatPoint.show=!1,o.earthCtrl.entities.remove(o.floatPoint),o.floatPoint=null),o.handler.destroy();return}o.positions.push(f);let m=o.creatPoint(f);o.positions.length>2?m.wz=o.positions.length-1:m.wz=o.positions.length,o.pointArr.push(m)},si.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<2)return;let f;f=Mle(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(O(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions),o.arrowEntity.objId=o.objId)))},si.MOUSE_MOVE)},createByData:function(o){this.positions=[],this.state=-1,this.floatPoint=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null;let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A;for(let f=0;f<this.positions.length;f++){let m=this.creatPoint(this.positions[f]);m.show=!1,m.wz=f+1,this.pointArr.push(m)}this.arrowEntity=this.showArrowOnMap(this.positions),this.arrowEntity.objId=this.objId},startModify:function(){this.state=2;let o=this;for(let A=0;A<o.pointArr.length;A++)o.pointArr[A].show=!0;this.modifyHandler||(this.modifyHandler=new cr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(O(f)&&f.id)o.clickStep++,f.id.objId||(o.selectPoint=f.id);else{for(let m=0;m<o.pointArr.length;m++)o.pointArr[m].show=!1;o.state=-1,o.modifyHandler.destroy(),o.modifyHandler=null}if(o.clickStep===2){o.clickStep=0;let m;if(m=Mle(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},si.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){let f;if(f=Mle(A.endPosition,o.viewer),!!f)if(o.selectPoint)o.selectPoint.position.setValue(f),o.positions[o.selectPoint.wz-1]=f;else return},si.MOUSE_MOVE)},clear:function(){this.state=0;for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){return this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:hn.BOTTOM}})},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<3)return null;let m=[];for(let y=0;y<o.length;y++){let I=A.cartesianToLatlng(o[y]);m.push(I)}let C=Hl.algorithm.threeArrow(m),E=[];return JSON.stringify(C.polygonalPoint).indexOf("null")===-1&&(E=C.polygonalPoint),new yn(E)};return this.earthCtrl.entities.add({polygon:new ks({hierarchy:new Hr(f,!1),show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=Be.toDegrees(A.latitude);return[Be.toDegrees(A.longitude),f]}};function Mle(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof ns)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var zPe=rft;var nft=function(o){this.type="PincerArrow",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.handler=new cr(this.viewer.scene.canvas),this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.fillMaterial=Ve.YELLOW.withAlpha(.8),this.outlineMaterial=new Zs({dashLength:16,color:Ve.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.state=-1,this.floatPoint=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null,this.extrudedHeight=100};nft.prototype={disable:function(){this.positions=[],this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null);for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;if(f=Ple(A.position,o.viewer),!f)return;if(o.positions.length===0&&(o.floatPoint=o.creatPoint(f)),o.positions.length>=4){let C=o.creatPoint(f);C.wz=o.positions.length,o.pointArr.push(C);for(let E=0;E<o.pointArr.length;E++)o.pointArr[E].show=!1;o.floatPoint&&(o.floatPoint.show=!1,o.earthCtrl.entities.remove(o.floatPoint),o.floatPoint=null),o.handler.destroy();return}o.positions.push(f);let m=o.creatPoint(f);o.positions.length>2?m.wz=o.positions.length-1:m.wz=o.positions.length,o.pointArr.push(m)},si.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<2)return;let f;f=Ple(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(O(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions),o.arrowEntity.objId=o.objId)))},si.MOUSE_MOVE)},createByData:function(o){this.positions=[],this.state=-1,this.floatPoint=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null;let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A;for(let f=0;f<this.positions.length;f++){let m=this.creatPoint(this.positions[f]);m.show=!1,m.wz=f+1,this.pointArr.push(m)}this.arrowEntity=this.showArrowOnMap(this.positions),this.arrowEntity.objId=this.objId},startModify:function(){this.state=2;let o=this;for(let A=0;A<o.pointArr.length;A++)o.pointArr[A].show=!0;this.modifyHandler||(this.modifyHandler=new cr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(O(f)&&f.id)o.clickStep++,f.id.objId||(o.selectPoint=f.id);else{for(let m=0;m<o.pointArr.length;m++)o.pointArr[m].show=!1;o.state=-1,o.modifyHandler.destroy(),o.modifyHandler=null}if(o.clickStep===2){o.clickStep=0;let m;if(m=Ple(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},si.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){let f;if(f=Ple(A.endPosition,o.viewer),!!f)if(o.selectPoint)o.selectPoint.position.setValue(f),o.positions[o.selectPoint.wz-1]=f;else return},si.MOUSE_MOVE)},clear:function(){this.state=0;for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){return this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:hn.BOTTOM}})},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<3)return null;let m=[];for(let y=0;y<o.length;y++){let I=A.cartesianToLatlng(o[y]);m.push(I)}let C=Hl.algorithm.threeArrow(m),E=[];return JSON.stringify(C.polygonalPoint).indexOf("null")===-1&&(E=C.polygonalPoint),new yn(E)};return this.earthCtrl.entities.add({polygon:new ks({hierarchy:new Hr(f,!1),extrudedHeight:this.extrudedHeight,show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=Be.toDegrees(A.latitude);return[Be.toDegrees(A.longitude),f]}};function Ple(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof ns)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var oft=nft;var aft=function(o){this.type="Arrow",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.handler=new cr(this.viewer.scene.canvas),this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.fillMaterial=Ve.fromCssColorString("#0000FF").withAlpha(.8),this.outlineMaterial=new Zs({dashLength:16,color:Ve.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.firstPoint=null,this.floatPoint=null,this.arrowEntity=null,this.state=-1,this.selectPoint=null,this.clickStep=0};aft.prototype={disable:function(){this.positions=[],this.firstPoint&&(this.earthCtrl.entities.remove(this.firstPoint),this.firstPoint=null),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f=Rle(A.position,o.viewer);!f||(o.positions.length===0&&(o.firstPoint=o.creatPoint(f),o.firstPoint.type="firstPoint",o.floatPoint=o.creatPoint(f),o.floatPoint.type="floatPoint",o.positions.push(f)),o.positions.length===3&&(o.firstPoint.show=!1,o.floatPoint.show=!1,o.handler.destroy(),o.arrowEntity.objId=o.objId,o.state=-1),o.positions.push(f.clone()))},si.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<1)return;let f=Rle(A.endPosition,o.viewer);!f||(o.floatPoint.position.setValue(f),o.positions.length>=2&&(O(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions))))},si.MOUSE_MOVE)},startModify:function(){this.state=2,this.firstPoint.show=!0,this.floatPoint.show=!0;let o=this;this.clickStep=0,this.modifyHandler||(this.modifyHandler=new cr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(O(f)&&f.id?(o.clickStep++,f.id.objId||(o.selectPoint=f.id)):(o.modifyHandler.destroy(),o.modifyHandler=null,o.firstPoint.show=!1,o.floatPoint.show=!1,o.state=-1),o.clickStep===2){o.clickStep=0;let m=Rle(A.position,o.viewer);if(!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},si.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){if(o.selectPoint){let f=Rle(A.endPosition,o.viewer);if(!f)return;o.selectPoint.position.setValue(f),o.selectPoint.type==="firstPoint"&&(o.positions[1]=f),o.selectPoint.type==="floatPoint"&&(o.positions[2]=f)}},si.MOUSE_MOVE)},createByData:function(o){this.state=-1,this.positions=[];let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A,this.firstPoint=this.creatPoint(this.positions[1]),this.firstPoint.type="firstPoint",this.floatPoint=this.creatPoint(this.positions[2]),this.floatPoint.type="floatPoint",this.arrowEntity=this.showArrowOnMap(this.positions),this.firstPoint.show=!1,this.floatPoint.show=!1,this.arrowEntity.objId=this.objId},clear:function(){this.state=0,this.firstPoint&&this.earthCtrl.entities.remove(this.firstPoint),this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:hn.BOTTOM,disableDepthTestDistance:Number.POSITIVE_INFINITY}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<2)return null;let m=o[1],C=o[2],E=A.cartesianToLatlng(m),x=A.cartesianToLatlng(C),y=[],I=Hl.algorithm.Arrow([E[0],E[1]],[x[0],x[1]]);if(JSON.stringify(I).indexOf("null")!==-1)return[];for(let B=0;B<I.length;B++){let Q=new Z(I[B].x,I[B].y,I[B].z);y.push(Q)}return new yn(y)};return this.earthCtrl.entities.add({polygon:new ks({hierarchy:new Hr(f,!1),show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=Be.toDegrees(A.latitude);return[Be.toDegrees(A.longitude),f]}};function Rle(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof ns)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var sft=aft;var lft=function(o){this.type="Arrow",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.handler=new cr(this.viewer.scene.canvas),this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.fillMaterial=Ve.fromCssColorString("#0000FF").withAlpha(.8),this.outlineMaterial=new Zs({dashLength:16,color:Ve.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.firstPoint=null,this.floatPoint=null,this.arrowEntity=null,this.state=-1,this.selectPoint=null,this.clickStep=0,this.modifyHandler=null,this.extrudedHeight=100};lft.prototype={disable:function(){this.positions=[],this.firstPoint&&(this.earthCtrl.entities.remove(this.firstPoint),this.firstPoint=null),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f=Lle(A.position,o.viewer);!f||(o.positions.length===0&&(o.firstPoint=o.creatPoint(f),o.firstPoint.type="firstPoint",o.floatPoint=o.creatPoint(f),o.floatPoint.type="floatPoint",o.positions.push(f)),o.positions.length===3&&(o.firstPoint.show=!1,o.floatPoint.show=!1,o.handler.destroy(),o.arrowEntity.objId=o.objId,o.state=-1),o.positions.push(f.clone()))},si.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<1)return;let f=Lle(A.endPosition,o.viewer);!f||(o.floatPoint.position.setValue(f),o.positions.length>=2&&(O(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions))))},si.MOUSE_MOVE)},startModify:function(){this.state=2,this.firstPoint.show=!0,this.floatPoint.show=!0;let o=this;this.clickStep=0,this.modifyHandler||(this.modifyHandler=new cr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(O(f)&&f.id?(o.clickStep++,f.id.objId||(o.selectPoint=f.id)):(o.modifyHandler.destroy(),o.modifyHandler=null,o.firstPoint.show=!1,o.floatPoint.show=!1,o.state=-1),o.clickStep===2){o.clickStep=0;let m=Lle(A.position,o.viewer);if(!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},si.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){if(o.selectPoint){let f=Lle(A.endPosition,o.viewer);if(!f)return;o.selectPoint.position.setValue(f),o.selectPoint.type==="firstPoint"&&(o.positions[1]=f),o.selectPoint.type==="floatPoint"&&(o.positions[2]=f)}},si.MOUSE_MOVE)},createByData:function(o){this.state=-1,this.positions=[];let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A,this.firstPoint=this.creatPoint(this.positions[1]),this.firstPoint.type="firstPoint",this.floatPoint=this.creatPoint(this.positions[2]),this.floatPoint.type="floatPoint",this.arrowEntity=this.showArrowOnMap(this.positions),this.firstPoint.show=!1,this.floatPoint.show=!1,this.arrowEntity.objId=this.objId},clear:function(){this.state=0,this.firstPoint&&this.earthCtrl.entities.remove(this.firstPoint),this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:hn.BOTTOM,disableDepthTestDistance:Number.POSITIVE_INFINITY}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<2)return null;let m=o[1],C=o[2],E=A.cartesianToLatlng(m),x=A.cartesianToLatlng(C),y=[],I=Hl.algorithm.Arrow([E[0],E[1]],[x[0],x[1]]);if(JSON.stringify(I).indexOf("null")!==-1)return[];for(let B=0;B<I.length;B++){let Q=new Z(I[B].x,I[B].y,I[B].z);y.push(Q)}return new yn(y)};return this.earthCtrl.entities.add({polygon:new ks({hierarchy:new Hr(f,!1),extrudedHeight:this.extrudedHeight,show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=Be.toDegrees(A.latitude);return[Be.toDegrees(A.longitude),f]}};function Lle(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof ns)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var uft=lft;var Aft=function(o){this.type="surface",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.handler=new cr(this.viewer.scene.canvas),this.fillMaterial=Ve.RED.withAlpha(.8),this.outlineMaterial=new Zs({dashLength:16,color:Ve.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.state=-1,this.floatPoint=null,this.arrowEntity=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null};Aft.prototype={disable:function(){this.positions=[],this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null);for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;if(f=DW(A.position,o.viewer),!f)return;o.positions.length===0&&(o.floatPoint=o.creatPoint(f),o.floatPoint.wz=-1),o.positions.push(f);let m=o.creatPoint(f);o.positions.length>2?m.wz=o.positions.length-1:m.wz=o.positions.length,o.pointArr.push(m)},si.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<2)return;let f;f=DW(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(O(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions),o.arrowEntity.objId=o.objId)))},si.MOUSE_MOVE),this.handler.setInputAction(function(A){let f;if(f=DW(A.position,o.viewer),!f)return;for(let C=0;C<o.pointArr.length;C++)o.pointArr[C].show=!1;o.floatPoint.show=!1,o.earthCtrl.entities.remove(o.floatPoint),o.floatPoint=null;let m=o.creatPoint(f);m.show=!1,m.wz=o.positions.length,o.pointArr.push(m),o.handler.destroy()},si.RIGHT_CLICK)},createByData:function(o){this.positions=[],this.state=-1,this.floatPoint=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null;let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A;for(let f=0;f<this.positions.length;f++){let m=this.creatPoint(this.positions[f]);m.show=!1,m.wz=f+1,this.pointArr.push(m)}this.arrowEntity=this.showArrowOnMap(this.positions),this.arrowEntity.objId=this.objId},startModify:function(){this.state=2;let o=this;for(let A=0;A<o.pointArr.length;A++)o.pointArr[A].show=!0;this.modifyHandler||(this.modifyHandler=new cr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(O(f)&&f.id)o.clickStep++,f.id.objId||(o.selectPoint=f.id);else{for(let m=0;m<o.pointArr.length;m++)o.pointArr[m].show=!1;o.floatPoint&&(o.floatPoint.show=!1),o.state=-1,o.modifyHandler.destroy(),o.modifyHandler=null}if(o.clickStep===2){o.clickStep=0;let m;if(m=DW(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},si.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){let f;if(f=DW(A.endPosition,o.viewer),!!f)if(o.selectPoint)o.selectPoint.position.setValue(f),o.positions[o.selectPoint.wz-1]=f;else return},si.MOUSE_MOVE)},clear:function(){this.state=0;for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:hn.BOTTOM}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<3)return null;let m=[];for(let y=0;y<o.length;y++){let I=A.cartesianToLatlng(o[y]);m.push(I)}let C=Hl.algorithm.Surface(m);if(JSON.stringify(C).indexOf("null")!==-1)return[];let x=[];for(let y=0;y<C.length;y++){let I=new Z(C[y].x,C[y].y,C[y].z);x.push(I)}return new yn(x)};return this.earthCtrl.entities.add({polygon:new ks({hierarchy:new Hr(f,!1),show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=Be.toDegrees(A.latitude);return[Be.toDegrees(A.longitude),f]}};function DW(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof ns)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var cft=Aft;var hft=function(o){this.type="surface",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.handler=new cr(this.viewer.scene.canvas),this.fillMaterial=Ve.RED.withAlpha(.8),this.outlineMaterial=new Zs({dashLength:16,color:Ve.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.state=-1,this.floatPoint=null,this.arrowEntity=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null,this.extrudedHeight=100};hft.prototype={disable:function(){this.positions=[],this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null);for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;if(f=TW(A.position,o.viewer),!f)return;o.positions.length===0&&(o.floatPoint=o.creatPoint(f),o.floatPoint.wz=-1),o.positions.push(f);let m=o.creatPoint(f);o.positions.length>2?m.wz=o.positions.length-1:m.wz=o.positions.length,o.pointArr.push(m)},si.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<2)return;let f;f=TW(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(O(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions),o.arrowEntity.objId=o.objId)))},si.MOUSE_MOVE),this.handler.setInputAction(function(A){let f;if(f=TW(A.position,o.viewer),!f)return;for(let C=0;C<o.pointArr.length;C++)o.pointArr[C].show=!1;o.floatPoint.show=!1,o.earthCtrl.entities.remove(o.floatPoint),o.floatPoint=null;let m=o.creatPoint(f);m.show=!1,m.wz=o.positions.length,o.pointArr.push(m),o.handler.destroy()},si.RIGHT_CLICK)},createByData:function(o){this.positions=[],this.state=-1,this.floatPoint=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null;let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A;for(let f=0;f<this.positions.length;f++){let m=this.creatPoint(this.positions[f]);m.show=!1,m.wz=f+1,this.pointArr.push(m)}this.arrowEntity=this.showArrowOnMap(this.positions),this.arrowEntity.objId=this.objId},startModify:function(){this.state=2;let o=this;for(let A=0;A<o.pointArr.length;A++)o.pointArr[A].show=!0;this.modifyHandler||(this.modifyHandler=new cr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(O(f)&&f.id)o.clickStep++,f.id.objId||(o.selectPoint=f.id);else{for(let m=0;m<o.pointArr.length;m++)o.pointArr[m].show=!1;o.floatPoint&&(o.floatPoint.show=!1),o.state=-1,o.modifyHandler.destroy(),o.modifyHandler=null}if(o.clickStep===2){o.clickStep=0;let m;if(m=TW(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},si.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){let f;if(f=TW(A.endPosition,o.viewer),!!f)if(o.selectPoint)o.selectPoint.position.setValue(f),o.positions[o.selectPoint.wz-1]=f;else return},si.MOUSE_MOVE)},clear:function(){this.state=0;for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:hn.BOTTOM}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<3)return null;let m=[];for(let y=0;y<o.length;y++){let I=A.cartesianToLatlng(o[y]);m.push(I)}let C=Hl.algorithm.Surface(m);if(JSON.stringify(C).indexOf("null")!==-1)return[];let x=[];for(let y=0;y<C.length;y++){let I=new Z(C[y].x,C[y].y,C[y].z);x.push(I)}return new yn(x)};return this.earthCtrl.entities.add({polygon:new ks({hierarchy:new Hr(f,!1),extrudedHeight:this.extrudedHeight,show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=Be.toDegrees(A.latitude);return[Be.toDegrees(A.longitude),f]}};function TW(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof ns)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var dft=hft;var fft=function(o){this.type="assmbly",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.handler=new cr(this.viewer.scene.canvas),this.fillMaterial=Ve.RED.withAlpha(.8),this.outlineMaterial=new Zs({dashLength:16,color:Ve.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.state=-1,this.floatPoint=null,this.arrowEntity=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null};fft.prototype={disable:function(){this.positions=[],this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null);for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f=Fle(A.position,o.viewer);if(!f)return;if(o.positions.length===0&&(o.floatPoint=o.creatPoint(f)),o.positions.length>=3){let C=o.creatPoint(f);C.wz=o.positions.length,o.pointArr.push(C);for(let E=0;E<o.pointArr.length;E++)o.pointArr[E].show=!1;o.floatPoint&&(o.floatPoint.show=!1,o.earthCtrl.entities.remove(o.floatPoint),o.floatPoint=null),o.handler.destroy();return}o.positions.push(f);let m=o.creatPoint(f);o.positions.length>2?m.wz=o.positions.length-1:m.wz=o.positions.length,o.pointArr.push(m)},si.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<2)return;let f=Fle(A.endPosition,o.viewer);!f||(o.floatPoint.position.setValue(f),o.positions.length>=2&&(O(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions),o.arrowEntity.objId=o.objId)))},si.MOUSE_MOVE)},createByData:function(o){this.positions=[],this.state=-1,this.floatPoint=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null;let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A;for(let f=0;f<this.positions.length;f++){let m=this.creatPoint(this.positions[f]);m.show=!1,m.wz=f+1,this.pointArr.push(m)}this.arrowEntity=this.showArrowOnMap(this.positions),this.arrowEntity.objId=this.objId},startModify:function(){this.state=2;let o=this;for(let A=0;A<o.pointArr.length;A++)o.pointArr[A].show=!0;this.modifyHandler||(this.modifyHandler=new cr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(O(f)&&f.id)o.clickStep++,f.id.objId||(o.selectPoint=f.id);else{for(let m=0;m<o.pointArr.length;m++)o.pointArr[m].show=!1;o.floatPoint&&(o.floatPoint.show=!1),o.state=-1,o.modifyHandler.destroy(),o.modifyHandler=null}if(o.clickStep===2){o.clickStep=0;let m=Fle(A.position,o.viewer);if(!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},si.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){let f=Fle(A.endPosition,o.viewer);if(!!f)if(o.selectPoint)o.selectPoint.position.setValue(f),o.positions[o.selectPoint.wz-1]=f;else return},si.MOUSE_MOVE)},clear:function(){this.state=0;for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:hn.BOTTOM}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<3)return null;let m=[];for(let y=0;y<o.length;y++){let I=A.cartesianToLatlng(o[y]);m.push(I)}let C=Hl.algorithm.Assmbly(m);if(JSON.stringify(C).indexOf("null")!==-1)return[];let x=[];for(let y=0;y<C.length;y++){let I=new Z(C[y].x,C[y].y,C[y].z);x.push(I)}return new yn(x)};return this.earthCtrl.entities.add({polygon:new ks({hierarchy:new Hr(f,!1),show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=Be.toDegrees(A.latitude);return[Be.toDegrees(A.longitude),f]}};function Fle(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof ns)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var gft=fft;var pft=function(o){this.type="assmbly",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.handler=new cr(this.viewer.scene.canvas),this.fillMaterial=Ve.RED.withAlpha(.8),this.outlineMaterial=new Zs({dashLength:16,color:Ve.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.state=-1,this.floatPoint=null,this.arrowEntity=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null,this.extrudedHeight=100};pft.prototype={disable:function(){this.positions=[],this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null);for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f=Nle(A.position,o.viewer);if(!f)return;if(o.positions.length===0&&(o.floatPoint=o.creatPoint(f)),o.positions.length>=3){let C=o.creatPoint(f);C.wz=o.positions.length,o.pointArr.push(C);for(let E=0;E<o.pointArr.length;E++)o.pointArr[E].show=!1;o.floatPoint&&(o.floatPoint.show=!1,o.earthCtrl.entities.remove(o.floatPoint),o.floatPoint=null),o.handler.destroy();return}o.positions.push(f);let m=o.creatPoint(f);o.positions.length>2?m.wz=o.positions.length-1:m.wz=o.positions.length,o.pointArr.push(m)},si.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<2)return;let f=Nle(A.endPosition,o.viewer);!f||(o.floatPoint.position.setValue(f),o.positions.length>=2&&(O(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions),o.arrowEntity.objId=o.objId)))},si.MOUSE_MOVE)},createByData:function(o){this.positions=[],this.state=-1,this.floatPoint=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null;let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A;for(let f=0;f<this.positions.length;f++){let m=this.creatPoint(this.positions[f]);m.show=!1,m.wz=f+1,this.pointArr.push(m)}this.arrowEntity=this.showArrowOnMap(this.positions),this.arrowEntity.objId=this.objId},startModify:function(){this.state=2;let o=this;for(let A=0;A<o.pointArr.length;A++)o.pointArr[A].show=!0;this.modifyHandler||(this.modifyHandler=new cr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(O(f)&&f.id)o.clickStep++,f.id.objId||(o.selectPoint=f.id);else{for(let m=0;m<o.pointArr.length;m++)o.pointArr[m].show=!1;o.floatPoint&&(o.floatPoint.show=!1),o.state=-1,o.modifyHandler.destroy(),o.modifyHandler=null}if(o.clickStep===2){o.clickStep=0;let m=Nle(A.position,o.viewer);if(!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},si.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){let f=Nle(A.endPosition,o.viewer);if(!!f)if(o.selectPoint)o.selectPoint.position.setValue(f),o.positions[o.selectPoint.wz-1]=f;else return},si.MOUSE_MOVE)},clear:function(){this.state=0;for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:hn.BOTTOM}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<3)return null;let m=[];for(let y=0;y<o.length;y++){let I=A.cartesianToLatlng(o[y]);m.push(I)}let C=Hl.algorithm.Assmbly(m);if(JSON.stringify(C).indexOf("null")!==-1)return[];let x=[];for(let y=0;y<C.length;y++){let I=new Z(C[y].x,C[y].y,C[y].z);x.push(I)}return new yn(x)};return this.earthCtrl.entities.add({polygon:new ks({hierarchy:new Hr(f,!1),extrudedHeight:this.extrudedHeight,show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=Be.toDegrees(A.latitude);return[Be.toDegrees(A.longitude),f]}};function Nle(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof ns)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var mft=pft;var Cft=function(o){this.type="sector",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.handler=new cr(this.viewer.scene.canvas),this.fillMaterial=Ve.RED.withAlpha(.8),this.outlineMaterial=new Zs({dashLength:16,color:Ve.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.state=-1,this.floatPoint=null,this.arrowEntity=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null};Cft.prototype={disable:function(){this.positions=[],this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null);for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;if(f=kle(A.position,o.viewer),!f)return;if(o.positions.length===0&&(o.floatPoint=o.creatPoint(f)),o.positions.length>=3){let C=o.creatPoint(f);C.wz=o.positions.length,o.pointArr.push(C);for(let E=0;E<o.pointArr.length;E++)o.pointArr[E].show=!1;o.floatPoint&&(o.floatPoint.show=!1,o.earthCtrl.entities.remove(o.floatPoint),o.floatPoint=null),o.handler.destroy();return}o.positions.push(f);let m=o.creatPoint(f);o.positions.length>2?m.wz=o.positions.length-1:m.wz=o.positions.length,o.pointArr.push(m)},si.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<2)return;let f;f=kle(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(O(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions),o.arrowEntity.objId=o.objId)))},si.MOUSE_MOVE)},createByData:function(o){this.positions=[],this.state=-1,this.floatPoint=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null;let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A;for(let f=0;f<this.positions.length;f++){let m=this.creatPoint(this.positions[f]);m.show=!1,m.wz=f+1,this.pointArr.push(m)}this.arrowEntity=this.showArrowOnMap(this.positions),this.arrowEntity.objId=this.objId},startModify:function(){this.state=2;let o=this;for(let A=0;A<o.pointArr.length;A++)o.pointArr[A].show=!0;this.modifyHandler||(this.modifyHandler=new cr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(O(f)&&f.id)o.clickStep++,f.id.objId||(o.selectPoint=f.id);else{for(let m=0;m<o.pointArr.length;m++)o.pointArr[m].show=!1;o.floatPoint&&(o.floatPoint.show=!1),o.state=-1,o.modifyHandler.destroy(),o.modifyHandler=null}if(o.clickStep===2){o.clickStep=0;let m;if(m=kle(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},si.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){let f;if(f=kle(A.endPosition,o.viewer),!!f)if(o.selectPoint)o.selectPoint.position.setValue(f),o.positions[o.selectPoint.wz-1]=f;else return},si.MOUSE_MOVE)},clear:function(){this.state=0;for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:hn.BOTTOM}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<3)return null;let m=[];for(let y=0;y<o.length;y++){let I=A.cartesianToLatlng(o[y]);m.push(I)}let C=Hl.algorithm.Sector(m);if(JSON.stringify(C).indexOf("null")!==-1)return[];let x=[];for(let y=0;y<C.length;y++){let I=new Z(C[y].x,C[y].y,C[y].z);x.push(I)}return new yn(x)};return this.earthCtrl.entities.add({polygon:new ks({hierarchy:new Hr(f,!1),show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=Be.toDegrees(A.latitude);return[Be.toDegrees(A.longitude),f]}};function kle(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof ns)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var Eft=Cft;var xft=function(o){this.type="sector",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.handler=new cr(this.viewer.scene.canvas),this.fillMaterial=Ve.RED.withAlpha(.8),this.outlineMaterial=new Zs({dashLength:16,color:Ve.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.state=-1,this.floatPoint=null,this.arrowEntity=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null,this.extrudedHeight=100};xft.prototype={disable:function(){this.positions=[],this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null);for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;if(f=Ole(A.position,o.viewer),!f)return;if(o.positions.length===0&&(o.floatPoint=o.creatPoint(f)),o.positions.length>=3){let C=o.creatPoint(f);C.wz=o.positions.length,o.pointArr.push(C);for(let E=0;E<o.pointArr.length;E++)o.pointArr[E].show=!1;o.floatPoint&&(o.floatPoint.show=!1,o.earthCtrl.entities.remove(o.floatPoint),o.floatPoint=null),o.handler.destroy();return}o.positions.push(f);let m=o.creatPoint(f);o.positions.length>2?m.wz=o.positions.length-1:m.wz=o.positions.length,o.pointArr.push(m)},si.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<2)return;let f;f=Ole(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(O(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions),o.arrowEntity.objId=o.objId)))},si.MOUSE_MOVE)},createByData:function(o){this.positions=[],this.state=-1,this.floatPoint=null,this.pointArr=[],this.selectPoint=null,this.clickStep=0,this.modifyHandler=null;let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A;for(let f=0;f<this.positions.length;f++){let m=this.creatPoint(this.positions[f]);m.show=!1,m.wz=f+1,this.pointArr.push(m)}this.arrowEntity=this.showArrowOnMap(this.positions),this.arrowEntity.objId=this.objId},startModify:function(){this.state=2;let o=this;for(let A=0;A<o.pointArr.length;A++)o.pointArr[A].show=!0;this.modifyHandler||(this.modifyHandler=new cr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(O(f)&&f.id)o.clickStep++,f.id.objId||(o.selectPoint=f.id);else{for(let m=0;m<o.pointArr.length;m++)o.pointArr[m].show=!1;o.floatPoint&&(o.floatPoint.show=!1),o.state=-1,o.modifyHandler.destroy(),o.modifyHandler=null}if(o.clickStep===2){o.clickStep=0;let m;if(m=Ole(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},si.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){let f;if(f=Ole(A.endPosition,o.viewer),!!f)if(o.selectPoint)o.selectPoint.position.setValue(f),o.positions[o.selectPoint.wz-1]=f;else return},si.MOUSE_MOVE)},clear:function(){this.state=0;for(let o=0;o<this.pointArr.length;o++)this.pointArr[o]&&this.earthCtrl.entities.remove(this.pointArr[o]);this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:hn.BOTTOM}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<3)return null;let m=[];for(let y=0;y<o.length;y++){let I=A.cartesianToLatlng(o[y]);m.push(I)}let C=Hl.algorithm.Sector(m);if(JSON.stringify(C).indexOf("null")!==-1)return[];let x=[];for(let y=0;y<C.length;y++){let I=new Z(C[y].x,C[y].y,C[y].z);x.push(I)}return new yn(x)};return this.earthCtrl.entities.add({polygon:new ks({hierarchy:new Hr(f,!1),extrudedHeight:this.extrudedHeight,show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=Be.toDegrees(A.latitude);return[Be.toDegrees(A.longitude),f]}};function Ole(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof ns)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var yft=xft;var Ift=function(o){this.type="recflag",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.handler=new cr(this.viewer.scene.canvas),this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.fillMaterial=Ve.fromCssColorString("#0000FF").withAlpha(.8),this.outlineMaterial=new Zs({dashLength:16,color:Ve.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.firstPoint=null,this.floatPoint=null,this.arrowEntity=null,this.state=-1,this.selectPoint=null,this.clickStep=0};Ift.prototype={disable:function(){this.positions=[],this.firstPoint&&(this.earthCtrl.entities.remove(this.firstPoint),this.firstPoint=null),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;f=Ule(A.position,o.viewer),f&&(o.positions.length===0&&(o.firstPoint=o.creatPoint(f),o.firstPoint.type="firstPoint",o.floatPoint=o.creatPoint(f),o.floatPoint.type="floatPoint",o.positions.push(f)),o.positions.length===3&&(o.firstPoint.show=!1,o.floatPoint.show=!1,o.handler.destroy(),o.arrowEntity.objId=o.objId,o.state=-1),o.positions.push(f.clone()))},si.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<1)return;let f;f=Ule(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(O(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions))))},si.MOUSE_MOVE)},startModify:function(){this.state=2,this.firstPoint.show=!0,this.floatPoint.show=!0;let o=this;this.clickStep=0,this.modifyHandler||(this.modifyHandler=new cr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(O(f)&&f.id?(o.clickStep++,f.id.objId||(o.selectPoint=f.id)):(o.modifyHandler.destroy(),o.modifyHandler=null,o.firstPoint.show=!1,o.floatPoint.show=!1,o.state=-1),o.clickStep===2){o.clickStep=0;let m;if(m=Ule(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},si.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){if(o.selectPoint){let f;if(f=Ule(A.endPosition,o.viewer),!f)return;o.selectPoint.position.setValue(f),o.selectPoint.type==="firstPoint"&&(o.positions[1]=f),o.selectPoint.type==="floatPoint"&&(o.positions[2]=f)}else return},si.MOUSE_MOVE)},createByData:function(o){this.state=-1,this.positions=[];let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A,this.firstPoint=this.creatPoint(this.positions[1]),this.firstPoint.type="firstPoint",this.floatPoint=this.creatPoint(this.positions[2]),this.floatPoint.type="floatPoint",this.arrowEntity=this.showArrowOnMap(this.positions),this.firstPoint.show=!1,this.floatPoint.show=!1,this.arrowEntity.objId=this.objId},clear:function(){this.state=0,this.firstPoint&&this.earthCtrl.entities.remove(this.firstPoint),this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:hn.BOTTOM,disableDepthTestDistance:Number.POSITIVE_INFINITY}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<2)return null;let m=o[1],C=o[2],E=A.cartesianToLatlng(m),x=A.cartesianToLatlng(C),y=[],I=Hl.algorithm.Recflag([[E[0],E[1]],[x[0],x[1]]]);if(JSON.stringify(I).indexOf("null")!==-1)return[];for(let B=0;B<I.length;B++){let Q=new Z(I[B].x,I[B].y,I[B].z);y.push(Q)}return new yn(y)};return this.earthCtrl.entities.add({polygon:new ks({hierarchy:new Hr(f,!1),show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=Be.toDegrees(A.latitude);return[Be.toDegrees(A.longitude),f]}};function Ule(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof ns)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var _ft=Ift;var vft=function(o){this.type="recflag",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.handler=new cr(this.viewer.scene.canvas),this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.fillMaterial=Ve.fromCssColorString("#0000FF").withAlpha(.8),this.outlineMaterial=new Zs({dashLength:16,color:Ve.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.firstPoint=null,this.floatPoint=null,this.arrowEntity=null,this.state=-1,this.selectPoint=null,this.clickStep=0,this.extrudedHeight=100};vft.prototype={disable:function(){this.positions=[],this.firstPoint&&(this.earthCtrl.entities.remove(this.firstPoint),this.firstPoint=null),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;f=Gle(A.position,o.viewer),f&&(o.positions.length===0&&(o.firstPoint=o.creatPoint(f),o.firstPoint.type="firstPoint",o.floatPoint=o.creatPoint(f),o.floatPoint.type="floatPoint",o.positions.push(f)),o.positions.length===3&&(o.firstPoint.show=!1,o.floatPoint.show=!1,o.handler.destroy(),o.arrowEntity.objId=o.objId,o.state=-1),o.positions.push(f.clone()))},si.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<1)return;let f;f=Gle(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(O(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions))))},si.MOUSE_MOVE)},startModify:function(){this.state=2,this.firstPoint.show=!0,this.floatPoint.show=!0;let o=this;this.clickStep=0,this.modifyHandler||(this.modifyHandler=new cr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(O(f)&&f.id?(o.clickStep++,f.id.objId||(o.selectPoint=f.id)):(o.modifyHandler.destroy(),o.modifyHandler=null,o.firstPoint.show=!1,o.floatPoint.show=!1,o.state=-1),o.clickStep===2){o.clickStep=0;let m;if(m=Gle(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},si.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){if(o.selectPoint){let f;if(f=Gle(A.endPosition,o.viewer),!f)return;o.selectPoint.position.setValue(f),o.selectPoint.type==="firstPoint"&&(o.positions[1]=f),o.selectPoint.type==="floatPoint"&&(o.positions[2]=f)}else return},si.MOUSE_MOVE)},createByData:function(o){this.state=-1,this.positions=[];let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A,this.firstPoint=this.creatPoint(this.positions[1]),this.firstPoint.type="firstPoint",this.floatPoint=this.creatPoint(this.positions[2]),this.floatPoint.type="floatPoint",this.arrowEntity=this.showArrowOnMap(this.positions),this.firstPoint.show=!1,this.floatPoint.show=!1,this.arrowEntity.objId=this.objId},clear:function(){this.state=0,this.firstPoint&&this.earthCtrl.entities.remove(this.firstPoint),this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:hn.BOTTOM,disableDepthTestDistance:Number.POSITIVE_INFINITY}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<2)return null;let m=o[1],C=o[2],E=A.cartesianToLatlng(m),x=A.cartesianToLatlng(C),y=[],I=Hl.algorithm.Recflag([[E[0],E[1]],[x[0],x[1]]]);if(JSON.stringify(I).indexOf("null")!==-1)return[];for(let B=0;B<I.length;B++){let Q=new Z(I[B].x,I[B].y,I[B].z);y.push(Q)}return new yn(y)};return this.earthCtrl.entities.add({polygon:new ks({hierarchy:new Hr(f,!1),extrudedHeight:this.extrudedHeight,show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=Be.toDegrees(A.latitude);return[Be.toDegrees(A.longitude),f]}};function Gle(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof ns)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var Bft=vft;var wft=function(o){this.type="recflag",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.handler=new cr(this.viewer.scene.canvas),this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.fillMaterial=Ve.fromCssColorString("#0000FF").withAlpha(.8),this.outlineMaterial=new Zs({dashLength:16,color:Ve.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.firstPoint=null,this.floatPoint=null,this.arrowEntity=null,this.state=-1,this.selectPoint=null,this.clickStep=0};wft.prototype={disable:function(){this.positions=[],this.firstPoint&&(this.earthCtrl.entities.remove(this.firstPoint),this.firstPoint=null),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;f=Hle(A.position,o.viewer),f&&(o.positions.length===0&&(o.firstPoint=o.creatPoint(f),o.firstPoint.type="firstPoint",o.floatPoint=o.creatPoint(f),o.floatPoint.type="floatPoint",o.positions.push(f)),o.positions.length===3&&(o.firstPoint.show=!1,o.floatPoint.show=!1,o.handler.destroy(),o.arrowEntity.objId=o.objId,o.state=-1),o.positions.push(f.clone()))},si.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<1)return;let f;f=Hle(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(O(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions))))},si.MOUSE_MOVE)},startModify:function(){this.state=2,this.firstPoint.show=!0,this.floatPoint.show=!0;let o=this;this.clickStep=0,this.modifyHandler||(this.modifyHandler=new cr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(O(f)&&f.id?(o.clickStep++,f.id.objId||(o.selectPoint=f.id)):(o.modifyHandler.destroy(),o.modifyHandler=null,o.firstPoint.show=!1,o.floatPoint.show=!1,o.state=-1),o.clickStep===2){o.clickStep=0;let m;if(m=Hle(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},si.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){if(o.selectPoint){let f;if(f=Hle(A.endPosition,o.viewer),!f)return;o.selectPoint.position.setValue(f),o.selectPoint.type==="firstPoint"&&(o.positions[1]=f),o.selectPoint.type==="floatPoint"&&(o.positions[2]=f)}else return},si.MOUSE_MOVE)},createByData:function(o){this.state=-1,this.positions=[];let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A,this.firstPoint=this.creatPoint(this.positions[1]),this.firstPoint.type="firstPoint",this.floatPoint=this.creatPoint(this.positions[2]),this.floatPoint.type="floatPoint",this.arrowEntity=this.showArrowOnMap(this.positions),this.firstPoint.show=!1,this.floatPoint.show=!1,this.arrowEntity.objId=this.objId},clear:function(){this.state=0,this.firstPoint&&this.earthCtrl.entities.remove(this.firstPoint),this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:hn.BOTTOM,disableDepthTestDistance:Number.POSITIVE_INFINITY}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<2)return null;let m=o[1],C=o[2],E=A.cartesianToLatlng(m),x=A.cartesianToLatlng(C),y=[],I=Hl.algorithm.Pennant([[E[0],E[1]],[x[0],x[1]]]);if(JSON.stringify(I).indexOf("null")!==-1)return[];for(let B=0;B<I.length;B++){let Q=new Z(I[B].x,I[B].y,I[B].z);y.push(Q)}return new yn(y)};return this.earthCtrl.entities.add({polygon:new ks({hierarchy:new Hr(f,!1),show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=Be.toDegrees(A.latitude);return[Be.toDegrees(A.longitude),f]}};function Hle(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof ns)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var bft=wft;var Qft=function(o){this.type="recflag",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.handler=new cr(this.viewer.scene.canvas),this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.fillMaterial=Ve.fromCssColorString("#0000FF").withAlpha(.8),this.outlineMaterial=new Zs({dashLength:16,color:Ve.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.firstPoint=null,this.floatPoint=null,this.arrowEntity=null,this.state=-1,this.selectPoint=null,this.clickStep=0,this.extrudedHeight=100};Qft.prototype={disable:function(){this.positions=[],this.firstPoint&&(this.earthCtrl.entities.remove(this.firstPoint),this.firstPoint=null),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;f=Vle(A.position,o.viewer),f&&(o.positions.length===0&&(o.firstPoint=o.creatPoint(f),o.firstPoint.type="firstPoint",o.floatPoint=o.creatPoint(f),o.floatPoint.type="floatPoint",o.positions.push(f)),o.positions.length===3&&(o.firstPoint.show=!1,o.floatPoint.show=!1,o.handler.destroy(),o.arrowEntity.objId=o.objId,o.state=-1),o.positions.push(f.clone()))},si.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<1)return;let f;f=Vle(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(O(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions))))},si.MOUSE_MOVE)},startModify:function(){this.state=2,this.firstPoint.show=!0,this.floatPoint.show=!0;let o=this;this.clickStep=0,this.modifyHandler||(this.modifyHandler=new cr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(O(f)&&f.id?(o.clickStep++,f.id.objId||(o.selectPoint=f.id)):(o.modifyHandler.destroy(),o.modifyHandler=null,o.firstPoint.show=!1,o.floatPoint.show=!1,o.state=-1),o.clickStep===2){o.clickStep=0;let m;if(m=Vle(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},si.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){if(o.selectPoint){let f;if(f=Vle(A.endPosition,o.viewer),!f)return;o.selectPoint.position.setValue(f),o.selectPoint.type==="firstPoint"&&(o.positions[1]=f),o.selectPoint.type==="floatPoint"&&(o.positions[2]=f)}else return},si.MOUSE_MOVE)},createByData:function(o){this.state=-1,this.positions=[];let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A,this.firstPoint=this.creatPoint(this.positions[1]),this.firstPoint.type="firstPoint",this.floatPoint=this.creatPoint(this.positions[2]),this.floatPoint.type="floatPoint",this.arrowEntity=this.showArrowOnMap(this.positions),this.firstPoint.show=!1,this.floatPoint.show=!1,this.arrowEntity.objId=this.objId},clear:function(){this.state=0,this.firstPoint&&this.earthCtrl.entities.remove(this.firstPoint),this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:hn.BOTTOM,disableDepthTestDistance:Number.POSITIVE_INFINITY}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<2)return null;let m=o[1],C=o[2],E=A.cartesianToLatlng(m),x=A.cartesianToLatlng(C),y=[],I=Hl.algorithm.Pennant([[E[0],E[1]],[x[0],x[1]]]);if(JSON.stringify(I).indexOf("null")!==-1)return[];for(let B=0;B<I.length;B++){let Q=new Z(I[B].x,I[B].y,I[B].z);y.push(Q)}return new yn(y)};return this.earthCtrl.entities.add({polygon:new ks({hierarchy:new Hr(f,!1),extrudedHeight:this.extrudedHeight,show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=Be.toDegrees(A.latitude);return[Be.toDegrees(A.longitude),f]}};function Vle(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof ns)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var Sft=Qft;var Dft=function(o){this.type="recflag",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.handler=new cr(this.viewer.scene.canvas),this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.fillMaterial=Ve.fromCssColorString("#0000FF").withAlpha(.8),this.outlineMaterial=new Zs({dashLength:16,color:Ve.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.firstPoint=null,this.floatPoint=null,this.arrowEntity=null,this.state=-1,this.selectPoint=null,this.clickStep=0};Dft.prototype={disable:function(){this.positions=[],this.firstPoint&&(this.earthCtrl.entities.remove(this.firstPoint),this.firstPoint=null),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;f=zle(A.position,o.viewer),f&&(o.positions.length===0&&(o.firstPoint=o.creatPoint(f),o.firstPoint.type="firstPoint",o.floatPoint=o.creatPoint(f),o.floatPoint.type="floatPoint",o.positions.push(f)),o.positions.length===3&&(o.firstPoint.show=!1,o.floatPoint.show=!1,o.handler.destroy(),o.arrowEntity.objId=o.objId,o.state=-1),o.positions.push(f.clone()))},si.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<1)return;let f;f=zle(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(O(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions))))},si.MOUSE_MOVE)},startModify:function(){this.state=2,this.firstPoint.show=!0,this.floatPoint.show=!0;let o=this;this.clickStep=0,this.modifyHandler||(this.modifyHandler=new cr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(O(f)&&f.id?(o.clickStep++,f.id.objId||(o.selectPoint=f.id)):(o.modifyHandler.destroy(),o.modifyHandler=null,o.firstPoint.show=!1,o.floatPoint.show=!1,o.state=-1),o.clickStep===2){o.clickStep=0;let m;if(m=zle(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},si.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){if(o.selectPoint){let f;if(f=zle(A.endPosition,o.viewer),!f)return;o.selectPoint.position.setValue(f),o.selectPoint.type==="firstPoint"&&(o.positions[1]=f),o.selectPoint.type==="floatPoint"&&(o.positions[2]=f)}else return},si.MOUSE_MOVE)},createByData:function(o){this.state=-1,this.positions=[];let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A,this.firstPoint=this.creatPoint(this.positions[1]),this.firstPoint.type="firstPoint",this.floatPoint=this.creatPoint(this.positions[2]),this.floatPoint.type="floatPoint",this.arrowEntity=this.showArrowOnMap(this.positions),this.firstPoint.show=!1,this.floatPoint.show=!1,this.arrowEntity.objId=this.objId},clear:function(){this.state=0,this.firstPoint&&this.earthCtrl.entities.remove(this.firstPoint),this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:hn.BOTTOM,disableDepthTestDistance:Number.POSITIVE_INFINITY}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<2)return null;let m=o[1],C=o[2],E=A.cartesianToLatlng(m),x=A.cartesianToLatlng(C),y=[],I=Hl.algorithm.Mflag([[E[0],E[1]],[x[0],x[1]]]);if(JSON.stringify(I).indexOf("null")!==-1)return[];for(let B=0;B<I.length;B++){let Q=new Z(I[B].x,I[B].y,I[B].z);y.push(Q)}return new yn(y)};return this.earthCtrl.entities.add({polygon:new ks({hierarchy:new Hr(f,!1),show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=Be.toDegrees(A.latitude);return[Be.toDegrees(A.longitude),f]}};function zle(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof ns)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var Tft=Dft;var Mft=function(o){this.type="recflag",this.objId=Number(`${new Date().getTime()}${Number(Math.random()*1e3).toFixed(0)}`),this.earthCtrl=o,this.viewer=o.coreMap,this.handler=new cr(this.viewer.scene.canvas),this.pointImageUrl=`${globalThis.GEOWORLD_BASE_URL}./Assets/Images/point1.png`,this.fillMaterial=Ve.fromCssColorString("#0000FF").withAlpha(.8),this.outlineMaterial=new Zs({dashLength:16,color:Ve.fromCssColorString("#f00").withAlpha(.7)}),this.positions=[],this.firstPoint=null,this.floatPoint=null,this.arrowEntity=null,this.state=-1,this.selectPoint=null,this.clickStep=0,this.extrudedHeight=100};Mft.prototype={disable:function(){this.positions=[],this.firstPoint&&(this.earthCtrl.entities.remove(this.firstPoint),this.firstPoint=null),this.floatPoint&&(this.earthCtrl.entities.remove(this.floatPoint),this.floatPoint=null),this.arrowEntity&&(this.earthCtrl.entities.remove(this.arrowEntity),this.arrowEntity=null),this.state=-1,this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.selectPoint&&(this.earthCtrl.entities.remove(this.selectPoint),this.selectPoint=null),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null),this.clickStep=0},disableHandler:function(){this.handler&&(this.handler.destroy(),this.handler=new cr(this.viewer.scene.canvas)),this.modifyHandler&&(this.modifyHandler.destroy(),this.modifyHandler=null)},startDraw:function(){let o=this;this.state=1,this.handler.setInputAction(function(A){let f;f=Yle(A.position,o.viewer),f&&(o.positions.length===0&&(o.firstPoint=o.creatPoint(f),o.firstPoint.type="firstPoint",o.floatPoint=o.creatPoint(f),o.floatPoint.type="floatPoint",o.positions.push(f)),o.positions.length===3&&(o.firstPoint.show=!1,o.floatPoint.show=!1,o.handler.destroy(),o.arrowEntity.objId=o.objId,o.state=-1),o.positions.push(f.clone()))},si.LEFT_CLICK),this.handler.setInputAction(function(A){if(o.positions.length<1)return;let f;f=Yle(A.endPosition,o.viewer),f&&(o.floatPoint.position.setValue(f),o.positions.length>=2&&(O(o.arrowEntity)?(o.positions.pop(),o.positions.push(f)):(o.positions.push(f),o.arrowEntity=o.showArrowOnMap(o.positions))))},si.MOUSE_MOVE)},startModify:function(){this.state=2,this.firstPoint.show=!0,this.floatPoint.show=!0;let o=this;this.clickStep=0,this.modifyHandler||(this.modifyHandler=new cr(this.viewer.scene.canvas)),this.modifyHandler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(O(f)&&f.id?(o.clickStep++,f.id.objId||(o.selectPoint=f.id)):(o.modifyHandler.destroy(),o.modifyHandler=null,o.firstPoint.show=!1,o.floatPoint.show=!1,o.state=-1),o.clickStep===2){o.clickStep=0;let m;if(m=Yle(A.position,o.viewer),!m)return;o.selectPoint&&(o.selectPoint.position.setValue(m),o.selectPoint=null)}},si.LEFT_CLICK),this.modifyHandler.setInputAction(function(A){if(o.selectPoint){let f;if(f=Yle(A.endPosition,o.viewer),!f)return;o.selectPoint.position.setValue(f),o.selectPoint.type==="firstPoint"&&(o.positions[1]=f),o.selectPoint.type==="floatPoint"&&(o.positions[2]=f)}else return},si.MOUSE_MOVE)},createByData:function(o){this.state=-1,this.positions=[];let A=[];for(let f=0;f<o.length;f++){let m=Z.fromDegrees(o[f][0],o[f][1]);A.push(m)}this.positions=A,this.firstPoint=this.creatPoint(this.positions[1]),this.firstPoint.type="firstPoint",this.floatPoint=this.creatPoint(this.positions[2]),this.floatPoint.type="floatPoint",this.arrowEntity=this.showArrowOnMap(this.positions),this.firstPoint.show=!1,this.floatPoint.show=!1,this.arrowEntity.objId=this.objId},clear:function(){this.state=0,this.firstPoint&&this.earthCtrl.entities.remove(this.firstPoint),this.floatPoint&&this.earthCtrl.entities.remove(this.floatPoint),this.arrowEntity&&this.earthCtrl.entities.remove(this.arrowEntity),this.state=-1},getLnglats:function(){let o=[];for(let A=0;A<this.positions.length;A++){let f=this.cartesianToLatlng(this.positions[A]);o.push(f)}return o},getPositions:function(){return this.positions},creatPoint:function(o){let A=this.earthCtrl.entities.add({position:o,billboard:{image:this.pointImageUrl,verticalOrigin:hn.BOTTOM,disableDepthTestDistance:Number.POSITIVE_INFINITY}});return A.attr="editPoint",A},showArrowOnMap:function(o){let A=this,f=function(){if(o.length<2)return null;let m=o[1],C=o[2],E=A.cartesianToLatlng(m),x=A.cartesianToLatlng(C),y=[],I=Hl.algorithm.Mflag([[E[0],E[1]],[x[0],x[1]]]);if(JSON.stringify(I).indexOf("null")!==-1)return[];for(let B=0;B<I.length;B++){let Q=new Z(I[B].x,I[B].y,I[B].z);y.push(Q)}return new yn(y)};return this.earthCtrl.entities.add({polygon:new ks({hierarchy:new Hr(f,!1),extrudedHeight:this.extrudedHeight,show:!0,fill:!0,material:A.fillMaterial})})},cartesianToLatlng:function(o){let A=this.viewer.scene.globe.ellipsoid.cartesianToCartographic(o),f=Be.toDegrees(A.latitude);return[Be.toDegrees(A.longitude),f]}};function Yle(o,A){let f=A.scene.drillPick(o);A.render();let m,C=!0;for(let E=0;E<f.length;E++)(f[E]&&f[E].primitive||f[E]instanceof ns)&&(C=!0);if(C)m=A.scene.pickPosition(o);else{let E=A.camera.getPickRay(o);if(!E)return null;m=A.scene.globe.pick(E,A.scene)}return m}var Pft=Mft;function jQ(o){this._earthCtrl=o,this._coreMap=o.coreMap,this.isActivate=!1,this.drawArr=[],this.handler=null,this.viewer=null,this.earthCtrl=null,this.options=null}jQ.prototype.initialize=function(o){this.isActivate||(this.isActivate=!0,this.earthCtrl=o,this.viewer=o.coreMap,this.bindEdit())};jQ.prototype.disable=function(){if(this.isActivate){this.isActivate=!1;for(let o=0;o<this.drawArr.length;o++)this.drawArr[o].disable();this.drawArr=[],this.handler&&(this.handler.destroy(),this.handler=null),this.viewer=null}};jQ.prototype.addToMap=function(o,A){switch(o){case"straightArrow":let f=new HPe(this.earthCtrl,A);f.startDraw(),this.drawArr.push(f);break;case"straightArrow3D":let m=new $dt(this.earthCtrl);m.startDraw(),this.drawArr.push(m);break;case"arrow3D":let C=new uft(this.earthCtrl);C.startDraw(),this.drawArr.push(C);break;case"arrow":let E=new sft(this.earthCtrl);E.startDraw(),this.drawArr.push(E);break;case"recFlag":let x=new _ft(this.earthCtrl);x.startDraw(),this.drawArr.push(x);break;case"recFlag3D":let y=new Bft(this.earthCtrl);y.startDraw(),this.drawArr.push(y);break;case"mFlag":let I=new Tft(this.earthCtrl);I.startDraw(),this.drawArr.push(I);break;case"mFlag3D":let v=new Pft(this.earthCtrl);v.startDraw(),this.drawArr.push(v);break;case"pennant":let B=new bft(this.earthCtrl);B.startDraw(),this.drawArr.push(B);break;case"pennant3D":let Q=new Sft(this.earthCtrl);Q.startDraw(),this.drawArr.push(Q);break;case"sector":let T=new Eft(this.earthCtrl);T.startDraw(),this.drawArr.push(T);break;case"sector3D":let w=new yft(this.earthCtrl);w.startDraw(),this.drawArr.push(w);break;case"assmbly":let S=new gft(this.earthCtrl);S.startDraw(),this.drawArr.push(S);break;case"assmbly3D":let D=new mft(this.earthCtrl);D.startDraw(),this.drawArr.push(D);break;case"surface":let R=new cft(this.earthCtrl);R.startDraw(),this.drawArr.push(R);break;case"surface3D":let P=new dft(this.earthCtrl);P.startDraw(),this.drawArr.push(P);break;case"attackArrow":let M=new VPe(this.earthCtrl);M.startDraw(),this.drawArr.push(M);break;case"attackArrow3D":let L=new ift(this.earthCtrl);L.startDraw(),this.drawArr.push(L);break;case"pincerArrow":let F=new zPe(this.earthCtrl);F.startDraw(),this.drawArr.push(F);break;case"pincerArrow3D":let k=new oft(this.earthCtrl);k.startDraw(),this.drawArr.push(k);break;default:break}};jQ.prototype.saveData=function(){let o={straightArrowData:[],attackArrowData:[],pincerArrowData:[]};for(let A=0;A<this.drawArr.length;A++){let f=this.drawArr[A],m=f.getLnglats();f.type==="StraightArrow"?o.straightArrowData.push(m):f.type==="AttackArrow"?o.attackArrowData.push(m):o.pincerArrowData.push(m)}console.log(`\u4FDD\u5B58\u7684\u6570\u636E\uFF1A${JSON.stringify(o)}`)};jQ.prototype.showData=function(o){if(!o)return;let A=o.straightArrowData,f=o.attackArrowData,m=o.pincerArrowData;for(let C=0;C<A.length;C++){let E=A[C],x=new HPe(this.viewer);x.createByData(E),this.drawArr.push(x)}for(let C=0;C<f.length;C++){let E=f[C],x=new VPe(this.viewer);x.createByData(E),this.drawArr.push(x)}for(let C=0;C<m.length;C++){let E=m[C],x=new zPe(this.viewer);x.createByData(E),this.drawArr.push(x)}};jQ.prototype.nowArrowObj=null;jQ.prototype.bindEdit=function(){let o=this;this.handler=new cr(this.viewer.scene.canvas),this.handler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(O(f)&&f.id){if(o.nowArrowObj&&o.nowArrowObj.state!==-1){console.log("\u4E0A\u4E00\u6B65\u64CD\u4F5C\u672A\u7ED3\u675F\uFF0C\u8BF7\u7EE7\u7EED\u5B8C\u6210\u4E0A\u4E00\u6B65\uFF01");return}for(let m=0;m<o.drawArr.length;m++)if(f.id.objId===o.drawArr[m].objId){o.nowArrowObj=o.drawArr[m],o.drawArr[m].startModify();break}}},si.LEFT_CLICK)};jQ.prototype.clearOne=function(){let o=this;this.handler.setInputAction(function(A){let f=o.viewer.scene.pick(A.position);if(O(f)&&f.id){for(let m=0;m<o.drawArr.length;m++)if(f.id.objId===o.drawArr[m].objId){o.drawArr[m].clear(),o.drawArr.splice(m,1);break}o.handler.destroy(),o.bindEdit()}},si.LEFT_CLICK)};jQ.prototype.clearAll=function(){for(let o=0;o<this.drawArr.length;o++)this.drawArr[o].clear()};var YPe=jQ;function w0(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._tree=Ke}w0.prototype.createPolylineVolume=function(o,A,f,m,C){var E={positions:[],shape:this.starPositions(7,3e4,2e4),material:this._cesium.Color.fromRandom({alpha:1})};if(this._core.isnull(m)){console.log("options is required");return}m=this._core.extend(E,m,!0);var x=[];if(!A[0].x&&!A[0].y){if(A[0].length===2)for(var y=0;y<A.length;y++)x.push(this._cesium.Cartesian3.fromDegrees(A[y][0],A[y][1]));else if(A[0].length===3)for(var y=0;y<A.length;y++)x.push(this._cesium.Cartesian3.fromDegrees(A[y][0],A[y][1],A[y][2]))}else if(A[0].z)for(var y=0;y<A.length;y++)x.push(this._cesium.Cartesian3.fromDegrees(A[y].x,A[y].y,A[y].z));else for(var y=0;y<A.length;y++)x.push(this._cesium.Cartesian3.fromDegrees(A[y].x,A[y].y));m.positions=x,f==="circle"?m.shape=this.computeCircle(m.radius||10):f==="star"?(m.shape=this.starPositions(m.arms||7,m.rOuter||30,m.rInner||20),m.cornerType=this._cesium.CornerType.MITERED):f==="box"&&(m.radius=m.radius||10,m.shape=[new this._cesium.Cartesian2(-m.radius,-m.radius),new this._cesium.Cartesian2(m.radius,-m.radius),new this._cesium.Cartesian2(m.radius,m.radius),new this._cesium.Cartesian2(-m.radius,m.radius)],m.cornerType=this._cesium.CornerType.BEVELED);var I=this._viewer.entities.add({id:this._core.getuid(),name:o,polylineVolume:m});return this.item=I,this._tree.insertGroupId({id:I.id,name:o,pId:this._core.isnull(C)?0:C,type:"polylinevolume",item:this},this._core.isnull(C)?0:C),this};w0.prototype.getstyles=function(){var o={};return o.show=this.item.polylineVolume.show?this.item.polylineVolume.show._value:!0,o.positions=this.item.polylineVolume.positions.getValue().toString(),o.shape=this.item.polylineVolume.shape.toString(),o.cornerType=this.item.polylineVolume.cornerType?this.item.polylineVolume.cornerType.toString():null,o.granularity=this.item.polylineVolume.granularity?this.item.polylineVolume.granularity.toString():null,o.fill=this.item.polylineVolume.fill?this.item.polylineVolume.fill._value:null,o.material=this.item.polylineVolume.material?this.item.polylineVolume.material.toString():null,o.outline=this.item.polylineVolume.outline?this.item.polylineVolume.outline._value:null,o.outlineWidth=this.item.polylineVolume.outlineWidth?this.item.polylineVolume.outlineWidth.toString():null,o.outlineColor=this.item.polylineVolume.outlineColor&&this.item.polylineVolume.outlineColor._value?"rgba"+this.item.polylineVolume.outlineColor.toString():null,o.near=this.item.polylineVolume.distanceDisplayCondition?this.item.polylineVolume.distanceDisplayCondition._value.near:null,o.far=this.item.polylineVolume.distanceDisplayCondition?this.item.polylineVolume.distanceDisplayCondition._value.far:null,o};w0.prototype.executeWall=function(o,A){var f=[],m=void 0,C=this,E=function(){function y(I){this.options={id:C._core.getuid(),type:"wall",wall:{positions:[],minimumHeights:[2e3,2e3],maximumHeights:[1e3,1e3],material:C._cesium.Color.AQUA.withAlpha(1)}},this.positions=I,this._init()}return y.prototype._init=function(){var I=this,v=function(){for(var w=[],S=0;S<I.positions.length;S++){if(!f[S])return;var D=C._viewer.scene.globe.ellipsoid,R=new C._cesium.Cartesian3(f[S].x,f[S].y,f[S].z),P=D.cartesianToCartographic(R),M=C._cesium.Math.toDegrees(P.latitude),L=C._cesium.Math.toDegrees(P.longitude),F=P.height;w.push(L),w.push(M)}return C._cesium.Cartesian3.fromDegreesArray(w)},B=function(){for(var w=[],S=0;S<I.positions.length;S++)w.push(2e3);return w},Q=function(){for(var w=[],S=0;S<I.positions.length;S++)w.push(1e3);return w};this.options.wall.maximumHeights=new C._cesium.CallbackProperty(B,!1),this.options.wall.minimumHeights=new C._cesium.CallbackProperty(Q,!1),this.options.wall.positions=new C._cesium.CallbackProperty(v,!1);var T=C._viewer.entities.add(this.options);C.item=T,C._tree.insertGroupId({id:this.options.id,name:o,pId:C._core.isnull(A)?0:A,type:"wall",item:C},C._core.isnull(A)?0:A)},y}(),x=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);x.setInputAction(function(y){var I=C._viewer.scene.camera.pickEllipsoid(y.position,C._viewer.scene.globe.ellipsoid);f.length==0&&f.push(bi.clone(I)),f.push(bi.clone(I))},C._cesium.ScreenSpaceEventType.LEFT_CLICK),x.setInputAction(function(y){var I=C._viewer.scene.camera.pickEllipsoid(y.endPosition,C._viewer.scene.globe.ellipsoid);f.length>=1&&(C._cesium.defined(m)?(f.pop(),f.push(I)):m=new E(f))},C._cesium.ScreenSpaceEventType.MOUSE_MOVE),x.setInputAction(function(y){x.destroy(),f.pop()},C._cesium.ScreenSpaceEventType.RIGHT_CLICK)};w0.prototype.starPositions=function(o,A,f){for(var m=Math.PI/o,C=[],E=0;E<2*o;E++){var x=E%2===0?A:f,y=new this._cesium.Cartesian2(Math.cos(E*m)*x,Math.sin(E*m)*x);C.push(y)}return C};w0.prototype.computeCircle=function(o){for(var A=[],f=0;f<360;f++){var m=this._cesium.Math.toRadians(f);A.push(new this._cesium.Cartesian2(o*Math.cos(m),o*Math.sin(m)))}return A};w0.prototype.setVisibility=function(o){this.item.polylineVolume.show=o};w0.prototype.getVisibility=function(){return this.item.polylineVolume.show};w0.prototype.deleteObject=function(){this._viewer.entities.remove(this.item)};Object.defineProperties(w0.prototype,{rectangle:{get:function(){return this.item.rectangle},set:function(o){this.item.rectangle=o}}});Object.defineProperties(w0.prototype,{polyline:{get:function(){return this.item.polyline},set:function(o){this.item.polyline=o}}});w0.prototype.setItem=function(o){this.item=o};w0.prototype.setTreeobj=function(o){this.treeobj=o};Object.defineProperties(w0.prototype,{polygon:{get:function(){return this.item.polygon},set:function(o){this.item.polygon=o}}});Object.defineProperties(w0.prototype,{point:{get:function(){return this.item.point},set:function(o){this.item.point=o}}});Object.defineProperties(w0.prototype,{label:{get:function(){return this.item.label},set:function(o){this.item.label=o}}});Object.defineProperties(w0.prototype,{model:{get:function(){return this.item.model},set:function(o){this.item.model=o}}});Object.defineProperties(w0.prototype,{wall:{get:function(){return this.item.wall},set:function(o){this.item.wall=o}}});Object.defineProperties(w0.prototype,{wallTempOptions:{get:function(){return{positions:[],maximumHeights:[],minimumHeights:[],show:!0,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,granularity:this._cesium.Math.RADIANS_PER_DEGREE,shadows:ShadowMode.DISABLED,distanceDisplayCondition:null}}}});var Jle=w0;function $R(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._tree=Ke}$R.prototype.createCorridor=function(o,A,f,m){var C={show:!0,material:this._cesium.Color.RED.withAlpha(.5),width:1e3};if(this._core.isnull(f)){console.log("options is required");return}f=this._core.extend(C,f,!0);var E=[];if(!A[0].x&&!A[0].y){if(A[0].length===2)for(var x=0;x<A.length;x++)E.push(this._cesium.Cartesian3.fromDegrees(A[x][0],A[x][1]));else if(A[0].length===3)for(var x=0;x<A.length;x++)E.push(this._cesium.Cartesian3.fromDegrees(A[x][0],A[x][1],A[x][2]))}else if(A[0].z!==void 0)for(var x=0;x<A.length;x++)E.push(this._cesium.Cartesian3.fromDegrees(A[x].x,A[x].y,A[x].z));else for(var x=0;x<A.length;x++)E.push(this._cesium.Cartesian3.fromDegrees(A[x].x,A[x].y));f.positions=E;var y=this._viewer.entities.add({name:o,id:this._core.getuid(),corridor:f});return this.item=y,this._tree.insertGroupId({id:y.id,name:o,pId:this._core.isnull(m)?0:m,type:"corridor",item:this},this._core.isnull(m)?0:m),this};$R.prototype.getstyles=function(){var o={};return o.show=this.item.ellipse.show?this.item.ellipse.show._value:!0,o.positions=this.item.ellipse.positions?this.item.ellipse.positions.getValue().toString():void 0,o.width=this.item.ellipse.width&&this.item.ellipse.width._value?this.item.ellipse.width.toString():void 0,o.height=this.item.ellipse.height&&this.item.ellipse.height._value?this.item.ellipse.height.toString():void 0,o.heightReference=this.item.ellipse.heightReference&&this.item.ellipse.heightReference._value?this.item.ellipse.heightReference._value:void 0,o.extrudedHeight=this.item.ellipse.extrudedHeight&&this.item.ellipse.extrudedHeight.getValue()?this.item.ellipse.extrudedHeight.getValue():void 0,o.extrudedHeightReference=this.item.ellipse.extrudedHeightReference&&this.item.ellipse.extrudedHeightReference._value?this.item.ellipse.extrudedHeightReference._value:void 0,o.cornerType=this.item.ellipse.cornerType?this.item.ellipse.cornerType._value:void 0,o.material={},tyles.material.color=this.item.ellipse.material&&this.item.ellipse.material.color&&this.item.ellipse.material.color._value?this.item.ellipse.material.color.toString():void 0,o.material.image=this.item.ellipse.material&&this.item.ellipse.material.image&&this.item.ellipse.material.image._value?this.item.ellipse.material.image._value:void 0,o.material.repeat=this.item.ellipse.material&&this.item.ellipse.material.repeat&&this.item.ellipse.material.repeat._value?this.item.ellipse.material.repeat._value:void 0,o.fill=this.item.ellipse.fill?this.item.ellipse.fill._value:void 0,o.outline=this.item.ellipse.outline?this.item.ellipse.outline._value:void 0,o.outlineWidth=this.item.ellipse.outlineWidth&&this.item.ellipse.outlineWidth._value?this.item.ellipse.outlineWidth._value:void 0,o.outlineColor=this.item.ellipse.outlineColor&&this.item.ellipse.outlineColor._value?"rgba"+this.item.ellipse.outlineColor.toString():void 0,o.near=this.item.ellipse.distanceDisplayCondition?this.item.ellipse.distanceDisplayCondition._value.near:void 0,o.far=this.item.ellipse.distanceDisplayCondition?this.item.ellipse.distanceDisplayCondition._value.far:void 0,o.position=this.item.position.getValue().toString(),o};$R.prototype.setVisibility=function(o){this.item.show=o};$R.prototype.getVisibility=function(){return this.item.show};$R.prototype.deleteObject=function(){this._viewer.entities.remove(this.item)};$R.prototype.setItem=function(o){this.item=o};$R.prototype.setTreeobj=function(o){this.treeobj=o};var Rft=$R;function JPe(o,A){this._viewer=o,this._cesium=A}JPe.prototype.createPosition=function(o,A,f){var m=new this.Cartesian3.fromDegrees(o,A,f);return m};JPe.prototype.CreatePosition=function(o,A,f,m,C,E,x,y){var I={X:o,Y:A,Altitude:f,AltitudeType:m,Yaw:C,Pitch:E,Roll:x,Distance:y};return I};var KPe=JPe;function $d(o,A){this._viewer=o,this._cesium=A,this._tree=Ke,this._core=new $i(o,A),this._Color=new In(this._viewer,this._cesium)}$d.prototype.createImageLabel=function(o,A,f,m){var C={id:this._core.getuid(),image:"../images/Cesium_Logo_overlay.png",show:!0,color:this._cesium.Color.IVORY},E=this._core.extend(C,A,!0);E.color&&!this._core.isnull(E)&&!this._core.isnull(E.color)&&(E.color.toString().charAt(0)=="["&&E.color.toString().charAt(E.color.length-1)=="]"||(this._core.isHtmlColor(E.color)&&/^#/.test(E.color.toString())?E.color=this._Color.colorFromHtmlColor(E.color):(/^rgb/.test(E.color)&&(E.color=this._Color.rgbaStringToRgbaObj(E.color)),E.color.r>1&&(E.color.r=E.color.r/255),E.color.g>1&&(E.color.g=E.color.g/255),E.color.b>1&&(E.color.b=E.color.b/255),E.color.a>1&&(E.color.a=E.color.a/255),E.color.r&&(E.color=this._Color.createColor(E.color.r,E.color.g,E.color.b,E.color.a))))),E.near&&E.far&&(E.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(E.near,E.far)),this.item=this._viewer.entities.add({name:m,position:this._cesium.Cartesian3.fromDegrees(o[0],o[1],o[2]),billboard:E});var x={id:this.item.id,name:m,pId:this._core.isnull(f)?0:f,type:"Imagelabel",item:this};return this.setTreeobj(x),this._tree.insertGroupId(x,this._core.isnull(f)?0:f),this};$d.prototype.getstyles=function(){var o={};return o.show=this.item.billboard.show?this.item.billboard.show._value:!0,o.image=this.item.billboard.image&&this.item.billboard.image._value?this.item.billboard.image._value:void 0,o.scale=this.item.billboard.scale&&this.item.billboard.scale._value?this.item.billboard.scale._value:void 0,o.pixelOffset=this.item.billboard.pixelOffset?this.item.billboard.pixelOffset._value:void 0,o.horizontalOrigin=this.item.billboard.horizontalOrigin&&this.item.billboard.horizontalOrigin._value?this.item.billboard.horizontalOrigin._value:void 0,o.verticalOrigin=this.item.billboard.verticalOrigin&&this.item.billboard.verticalOrigin._value?this.item.billboard.verticalOrigin._value:void 0,o.heightReference=this.item.billboard.heightReference&&this.item.billboard.heightReference._value&&this.item.billboard.heightReference._value?this.item.billboard.heightReference._value:null,o.color=this.item.billboard.color&&this.item.billboard.color._value?"rgba"+this.item.billboard.color.toString():void 0,o.width=this.item.billboard.width&&this.item.billboard.width._value?this.item.billboard.width._value:void 0,o.height=this.item.billboard.height&&this.item.billboard.height._value?this.item.billboard.height._value:void 0,o.near=this.item.billboard.distanceDisplayCondition?this.item.billboard.distanceDisplayCondition._value.near:void 0,o.far=this.item.billboard.distanceDisplayCondition?this.item.billboard.distanceDisplayCondition._value.far:void 0,o.position=this.item.position.getValue().toString(),o};$d.prototype.deleteObject=function(){this._viewer.entities.remove(this.item)};$d.prototype.setDistanceDisplayCondition=function(o,A){var f=new this._cesium.DistanceDisplayCondition(o,A);try{this.item._billboard.distanceDisplayCondition=f}catch(m){console.log(m)}return this};$d.prototype.setUrl=function(o){this.item._billboard.image=o};$d.prototype.setVisibility=function(o){this.item.show=o};$d.prototype.getVisibility=function(){return this.item.show};$d.prototype.setColor=function(o){try{this.item._billboard.color=new In(this._viewer,this._cesium).colorFromHtmlColor(o),this.item.color=this.item._billboard.color}catch(A){console.log(A)}return this};$d.prototype.setWidth=function(o){try{this.item._billboard.width=o}catch(A){console.log(A)}return this};$d.prototype.setColorAlpha=function(o){try{this.item._billboard.color._value.alpha=o}catch(A){console.log(A)}return this};$d.prototype.setHeight=function(o){try{this.item._billboard.height=o}catch(A){console.log(A)}return this};$d.prototype.setHeightType=function(o){try{o==1?this.item._billboard.heightReference=this._cesium.HeightReference.CLAMP_TO_GROUND:o==2?this.item._billboard.heightReference=this._cesium.HeightReference.NONE:o==3&&(this.item._billboard.heightReference=this._cesium.HeightReference.RELATIVE_TO_GROUND)}catch(A){console.log(A)}return this};$d.prototype.setRotation=function(o){try{this.item._billboard.rotation=this._cesium.Math.toRadians(o)}catch(A){console.log(A)}return this};$d.prototype.setItem=function(o){this.item=o};$d.prototype.setScale=function(o){try{this.item._billboard.scale=o}catch(A){console.log(A)}return this};$d.prototype.CreateImageLabel=function(o,A,f,m,C){var E={id:this._core.getuid(),image:$d,show:!0,scale:f.Scale,color:f.IconColor,distanceDisplayCondition:new this._cesium.DistanceDisplayCondition(f.MinViewingHeight,f.MaxViewingHeight)};this.item=this._viewer.entities.add({name:C,position:this._cesium.Cartesian3.fromDegrees(positions.X,positions.X,positions.Altitude),billboard:E});var x=this.item.id;C==""&&(x=C);var y={id:this.item.id,name:x,pId:this._core.isnull(m)?0:m,type:"Imagelabel",item:this};return this.setTreeobj(y),this._tree.insertGroupId(y,this._core.isnull(m)?0:m),this};$d.prototype.export=function(){var o=this.item.billboard.image==null?void 0:this.item.billboard.image._value,A=this.item.billboard.show==null?void 0:this.item.billboard.show._value,f=this.item.billboard.scale==null?void 0:this.item.billboard.scale._value,m=this.item.billboard.horizontalOrigin==null?void 0:this.item.billboard.horizontalOrigin._value,C=this.item.billboard.verticalOrigin==null?void 0:this.item.billboard.verticalOrigin._value,E=this.item.billboard.rotation==null?void 0:this.item.billboard.rotation._value,x=this.item.billboard.width==null?void 0:this.item.billboard.width._value,y=this.item.billboard.height==null?void 0:this.item.billboard.height._value,I=this.item.billboard.color==null?void 0:"rgba("+this.item.billboard.color._value.red+","+this.item.billboard.color._value.green+","+this.item.billboard.color._value.blue+","+this.item.billboard.color._value.alpha+")",v=this.item.billboard.heightReference==null?void 0:this.item.billboard.heightReference._value,B=this.item.billboard.distanceDisplayCondition,Q=B?._value.near,T=B?._value.far,w=this._cesium.Cartographic.fromCartesian(this.item.position._value),S=this._cesium.Math.toDegrees(w.longitude),D=this._cesium.Math.toDegrees(w.latitude),R=this._cesium.Math.toDegrees(w.height);return{type:"image",position:{x:S,y:D,z:R},treeobj:{id:this.treeobj.id,name:this.treeobj.name,pId:this.treeobj.pId,type:this.treeobj.type},style:{image:o,show:A,scale:f,horizontalOrigin:m,verticalOrigin:C,rotation:E,width:x,height:y,color:I,heightReference:v,near:Q,far:T}}};$d.prototype.setTreeobj=function(o){this.treeobj=o};Object.defineProperties($d.prototype,{position:{Altitude:{get:function(){return this._postion.Altitude},set:function(o){try{var A=this._cesium.Cartographic.fromCartesian(this.item.position._value),f=this._cesium.Math.toDegrees(A.longitude),m=this._cesium.Math.toDegrees(A.latitude),C=this._cesium.Math.toDegrees(A.height),E=this._cesium.Cartesian3.fromDegrees(f,m,o);this.item.position.position=E,this._postion.Altitude=o}catch(x){console.log(x)}}},AltitudeType:{get:function(){return this._postion.AltitudeType},set:function(o){try{this._postion.AltitudeType=o}catch(A){console.log(A)}}},Cartesian:{get:function(){return this._postion.Cartesian},set:function(o){try{this._postion.Cartesian=o}catch(A){console.log(A)}}},Distance:{get:function(){return this._postion.Distance},set:function(o){try{this._postion.Distance=o}catch(A){console.log(A)}}},Pitch:{get:function(){return this._postion.Pitch},set:function(o){try{this._postion.Pitch=o}catch(A){console.log(A)}}},Roll:{get:function(){return this._postion.Roll},set:function(o){try{this._postion.Roll=o}catch(A){console.log(A)}}},X:{get:function(){return this._postion.X},set:function(o){try{this._postion.X=o;var A=this._cesium.Cartographic.fromCartesian(this.item.position._value),f=this._cesium.Math.toDegrees(A.longitude),m=this._cesium.Math.toDegrees(A.latitude),C=this._cesium.Math.toDegrees(A.height),E=this._cesium.Cartesian3.fromDegrees(o,m,C);this.item.position.position=E}catch(x){console.log(x)}}},Y:{get:function(){return this._postion.Y},set:function(o){try{this._postion.Y=o;var A=this._cesium.Cartographic.fromCartesian(this.item.position._value),f=this._cesium.Math.toDegrees(A.longitude),m=this._cesium.Math.toDegrees(A.latitude),C=this._cesium.Math.toDegrees(A.height),E=this._cesium.Cartesian3.fromDegrees(f,o,C);this.item.position.position=E}catch(x){console.log(x)}}},Yaw:{get:function(){return this._postion.Yaw},set:function(o){try{this._postion.Yaw=o}catch(A){console.log(A)}}}},LabelStyle:{BackgroundColor:{get:function(){return""},set:function(o){}},Bold:{get:function(){return""},set:function(o){}},FontName:{get:function(){return""},set:function(o){}},FontSize:{get:function(){return""},set:function(o){}},FrameFileName:{get:function(){return""},set:function(o){}},IconColor:{set:bi.debounce(function(o){this._core.isnull(o)||(this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._Color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._Color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._Color.createColor(o.r,o.g,o.b,o.a))),this.item.label.fillColor=o)},500),get:function(){var o=this.item.label.fillColor;return this._Color.toHtmlColor("rgb("+o._value.red*255+","+o._value.green*255+","+o._value.blue*255+","+o._value.alpha*255+")")}},Italic:{get:function(){return""},set:function(o){}},LimitScreenSize:{get:function(){return""},set:function(o){}},LineColor:{get:function(){return""},set:function(o){}},LineToGround:{get:function(){return""},set:function(o){}},LockMode:{get:function(){return""},set:function(o){}},MaxImageSize:{get:function(){return""},set:function(o){}},MaxViewingHeight:{get:function(){if(this.item._label.distanceDisplayCondition!=null)return this.item._label.distanceDisplayCondition._value.far},set:function(o){var A=0;this.item._label.distanceDisplayCondition!=null&&(A=this.item._label.distanceDisplayCondition._value.near),this.item._label.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(A,o)}},MinViewingHeight:{get:function(){if(this.item._label.distanceDisplayCondition!=null)return this.item._label.distanceDisplayCondition._value.near},set:function(o){var A=0;this.item._label.distanceDisplayCondition!=null&&(A=this.item._label.distanceDisplayCondition._value.far),this.item._label.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,A)}},MultilineJustification:{get:function(){return""},set:function(o){}},PivotAlignment:{get:function(){return""},set:function(o){}},Scale:{get:function(){if(this.item._label.scale!=null)return this.item.label.scale.getValue()},set:function(o){this.item.label.scale.setValue(o)}},TextAlignment:{get:function(){return""},set:function(o){}},TextColor:{get:function(){return""},set:function(o){}},TextOnImage:{get:function(){return""},set:function(o){}},Underline:{get:function(){return""},set:function(o){}}}});$d.prototype.CreateImageLabel=function(o,A,f,m,C){this._postion=o;var E={id:this._core.getuid(),image:A,backgroundColor:f.BackgroundColor,fillColor:f.IconColor,font:f.FontName,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,outlineColor:f.LineColor,show:!0,scale:f.Scale,showBackground:!1,distanceDisplayCondition:new this._cesium.DistanceDisplayCondition(f.MinViewingHeight,f.MaxViewingHeight)};f.Italic&&(E.font="italic "+E.font),f.Italic&&(E.font="Bold "+E.font);var x=this._core.extend(E,f,!0);this.item=this._viewer.entities.add({name:C,position:this._cesium.Cartesian3.fromDegrees(o.X,o.Y,o.Altitude),billboard:x});var y={id:this.item.id,name:C,pId:this._core.isnull(m)?0:m,type:"ImageLabel",item:this};return this.setTreeobj(y),this._tree.insertGroupId(y,this._core.isnull(m)?0:m),this};Object.defineProperties($d.prototype,{Position:{Altitude:{get:function(){return this._postion.Altitude},set:function(o){try{this._postion.Altitude=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},AltitudeType:{get:function(){return this._postion.AltitudeType},set:function(o){try{this._postion.AltitudeType=o}catch(A){console.log(A)}}},Cartesian:{get:function(){return this._postion.Cartesian},set:function(o){try{this._postion.Cartesian=o}catch(A){console.log(A)}}},Distance:{get:function(){return this._postion.Distance},set:function(o){try{this._postion.Distance=o}catch(A){console.log(A)}}},Pitch:{get:function(){return this._postion.Pitch},set:function(o){try{this._postion.Pitch=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}},Roll:{get:function(){return this._postion.Roll},set:function(o){try{this._postion.Roll=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}},X:{get:function(){return this._postion.X},set:function(o){try{this._postion.X=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},Y:{get:function(){return this._postion.Y},set:function(o){try{this._postion.Y=o,this.item.position=this._cesium.Cartesian3.fromDegrees(this._postion.X,this._postion.Y,this._postion.Altitude)}catch(A){console.log(A)}}},Yaw:{get:function(){return this._postion.Yaw},set:function(o){try{this._postion.Yaw=o,this.item.orientation=this._cesium.Transforms.headingPitchRollQuaternion(this.item.position._value,new this._cesium.HeadingPitchRoll(this._cesium.Math.toRadians(this._postion.Yaw),this._cesium.Math.toRadians(this._postion.Pitch),this._cesium.Math.toRadians(this._postion.Roll)))}catch(A){console.log(A)}}}},LabelStyle:{BackgroundColor:{set:bi.debounce(function(o){this._core.isnull(o)||(this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._Color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._Color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._Color.createColor(o.r,o.g,o.b,o.a))),this.item.label.backgroundColor=o,this.item.backgroundColor=o)},500),get:function(){var o=this.item.label.backgroundColor;return this._Color.toHtmlColor("rgb("+o._value.red*255+","+o._value.green*255+","+o._value.blue*255+","+o._value.alpha*255+")")}},Bold:{get:function(){var o=this.item._label.font.getValue();return o.indexOf("bold")!=-1},set:function(){var o="bold "+this.item._label.font.getValue(),A=this.item._label.font.setValue(o)}},FontName:{get:function(){for(var o=this.item._label.font.getValue(),A=o.split(" "),f=0;f<A.length;f++)if(A[f]!="bold"&&A[f].indexOf("px")==-1&&A[f].indexOf("PX")==-1)return A[f]},set:function(o){for(var A=this.item._label.font.getValue(),f=A.split(" "),m=o,C=0;C<f.length;C++)f[C]!="bold"&&f[C].indexOf("px")==-1&&f[C].indexOf("PX")==-1||(m=m+" "+f[C]);var E=this.item._label.font.setValue(m)}},FontSize:{get:function(){for(var o=this.item._label.font.getValue(),A=o.split(" "),f=0;f<A.length;f++)if(A[f].indexOf("px")!=-1)return A[f]},set:function(o){for(var A=this.item._label.font.getValue(),f=A.split(" "),m=o,C=0;C<f.length;C++)f[C].indexOf("px")==-1||(m=m+" "+f[C]);var E=this.item._label.font.setValue(m)}},FrameFileName:{get:function(){return""},set:function(o){}},IconColor:{set:bi.debounce(function(o){this._core.isnull(o)||(this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._Color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._Color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._Color.createColor(o.r,o.g,o.b,o.a))),this.item.label.fillColor=o)},500),get:function(){var o=this.item.label.fillColor;return this._Color.toHtmlColor("rgb("+o._value.red*255+","+o._value.green*255+","+o._value.blue*255+","+o._value.alpha*255+")")}},Italic:{get:function(){for(var o=this.item._label.font.getValue(),A=o.split(" "),f=0;f<A.length;f++)if(A[f].indexOf("italic")!=-1)return A[f]},set:function(o){for(var A=this.item._label.font.getValue(),f=A.split(" "),m=o,C=0;C<f.length;C++)f[C].indexOf("italic")==-1||(m=m+" "+f[C]);var E=this.item._label.font.setValue(m)}},LimitScreenSize:{get:function(){return""},set:function(o){}},LineColor:{set:bi.debounce(function(o){this._core.isnull(o)||(this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._Color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._Color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._Color.createColor(o.r,o.g,o.b,o.a))),this.item.label.outlineColor=o)},500),get:function(){var o=this.item.label.outlineColor;return this._Color.toHtmlColor("rgb("+o._value.red*255+","+o._value.green*255+","+o._value.blue*255+","+o._value.alpha*255+")")}},LineToGround:{get:function(){return""},set:function(o){}},LockMode:{get:function(){return""},set:function(o){}},MaxImageSize:{get:function(){return""},set:function(o){}},MaxViewingHeight:{get:function(){if(this.item._label.distanceDisplayCondition!=null)return this.item._label.distanceDisplayCondition._value.far},set:function(o){var A=0;this.item._label.distanceDisplayCondition!=null&&(A=this.item._label.distanceDisplayCondition._value.near),this.item._label.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(A,o)}},MinViewingHeight:{get:function(){if(this.item._label.distanceDisplayCondition!=null)return this.item._label.distanceDisplayCondition._value.near},set:function(o){var A=0;this.item._label.distanceDisplayCondition!=null&&(A=this.item._label.distanceDisplayCondition._value.far),this.item._label.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,A)}},MultilineJustification:{get:function(){return""},set:function(o){}},PivotAlignment:{get:function(){return""},set:function(o){}},Scale:{get:function(){if(this.item._label.scale!=null)return this.item.label.scale.getValue()},set:function(o){this.item.label.scale.setValue(o)}},TextAlignment:{get:function(){return""},set:function(o){}},TextColor:{get:function(){return""},set:function(o){}},TextOnImage:{get:function(){return""},set:function(o){}},Underline:{get:function(){return""},set:function(o){}}}});var eL=$d;function hm(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._tree=Ke}hm.prototype.createWall=function(o,A,f,m){var C=[];if(typeof o=="object"){let I=o,v=this._core.defaultValue(I.alpha,.6);I.points.forEach(B=>{C.push(Cesium.Cartesian3.fromDegrees(B.x,B.y))}),this.item=this._viewer.entities.add({name:I.name,id:I.id||this._core.getuid(),wall:{positions:C,material:Cesium.Color.fromCssColorString(I.color||"#f00").withAlpha(v),minimumHeights:new Array(C.length).fill(I.bottomHeight),maximumHeights:new Array(C.length).fill(I.topHeight)}}),this.item.objectType="wall"}else{var E={show:!0,minimumHeights:[100,100,100,100,100,100,100],maximumHeights:[2e3,2e3,2e3,2e3,2e3,2e3,2e3],material:this._cesium.Color.AQUA.withAlpha(1)};if(this._core.isnull(f)){console.log("options is required");return}f=this._core.extend(E,f,!0);var x=new $i(this._viewer,this._cesium);if(f&&f.material=="ImageMaterialProperty"?f.material=x.setImageMaterialProperty("../../img/arrow.png",this._cesium,0,f.id):f&&f.material=="DrawCanvasColorUpdown"&&(f.material=x.setImageMaterialProperty("../../img/arrow.png",this._cesium,1,f.id)),!A[0].x&&!A[0].y){if(A[0].length===2)for(var y=0;y<A.length;y++)C.push(this._cesium.Cartesian3.fromDegrees(A[y][0],A[y][1]));else if(A[0].length===3)for(var y=0;y<A.length;y++)C.push(this._cesium.Cartesian3.fromDegrees(A[y][0],A[y][1],A[y][2]))}else if(A[0].z!==void 0)for(var y=0;y<A.length;y++)C.push(this._cesium.Cartesian3.fromDegrees(A[y].x,A[y].y,A[y].z));else for(var y=0;y<A.length;y++)C.push(this._cesium.Cartesian3.fromDegrees(A[y].x,A[y].y));f.positions=C,f.minHeight!==void 0&&(f.minimumHeights=new Array(f.positions.length).fill(f.minHeight)),f.maxHeight!==void 0&&(f.maximumHeights=new Array(f.positions.length).fill(f.maxHeight)),this.item=this._viewer.entities.add({name:o,id:this._core.getuid(),wall:f}),this.item.positions=f.positions}return this._tree.insertGroupId({id:this.item.id,name:o,pId:this._core.isnull(m)?0:m,type:"wall",item:this},this._core.isnull(m)?0:m),this};hm.prototype.executeWall=function(o,A){var f=[],m=void 0,C=this,E=function(){function y(I){this.options={id:C._core.getuid(),type:"wall",wall:{positions:[],minimumHeights:[2e3,2e3],maximumHeights:[1e3,1e3],material:C._core.setImageMaterialProperty("img/arrow.png",C._cesium,1)}},this.positions=I,this._init()}return y.prototype._init=function(){var I=this,v=function(){for(var w=[],S=0;S<I.positions.length;S++){if(!f[S])return;var D=C._viewer.scene.globe.ellipsoid,R=new C._cesium.Cartesian3(f[S].x,f[S].y,f[S].z),P=D.cartesianToCartographic(R),M=C._cesium.Math.toDegrees(P.latitude),L=C._cesium.Math.toDegrees(P.longitude),F=P.height;w.push(L),w.push(M)}return C._cesium.Cartesian3.fromDegreesArray(w)},B=function(){for(var w=[],S=0;S<I.positions.length;S++)w.push(2e3);return w},Q=function(){for(var w=[],S=0;S<I.positions.length;S++)w.push(1e3);return w};this.options.wall.maximumHeights=new C._cesium.CallbackProperty(B,!1),this.options.wall.minimumHeights=new C._cesium.CallbackProperty(Q,!1),this.options.wall.positions=new C._cesium.CallbackProperty(v,!1);var T=C._viewer.entities.add(this.options);C.item=T,C._tree.insertGroupId({id:this.options.id,name:o,pId:C._core.isnull(A)?0:A,type:"wall",item:C},C._core.isnull(A)?0:A)},y}(),x=new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);x.setInputAction(function(y){var I=C._viewer.scene.camera.pickEllipsoid(y.position,C._viewer.scene.globe.ellipsoid);f.length==0&&f.push(bi.clone(I)),f.push(bi.clone(I))},C._cesium.ScreenSpaceEventType.LEFT_CLICK),x.setInputAction(function(y){var I=C._viewer.scene.camera.pickEllipsoid(y.endPosition,C._viewer.scene.globe.ellipsoid);f.length>=1&&(C._cesium.defined(m)?(f.pop(),f.push(I)):m=new E(f))},C._cesium.ScreenSpaceEventType.MOUSE_MOVE),x.setInputAction(function(y){x.destroy(),f.pop()},C._cesium.ScreenSpaceEventType.RIGHT_CLICK)};var WPe="a",MW=0;hm.prototype.drawCanvasImage=function(o,A){var f=document.getElementById("canvas-"+WPe),m=700,C=100,E=f.getContext("2d"),x=new Image;return x.src="img/arrow.png",E.clearRect(0,0,m,C),x.onload=function(){MW<=m?(E.drawImage(x,MW,0),E.drawImage(x,MW+100,0)):MW=0,MW+=5},WPe=WPe==="a"?"b":"a",f};hm.prototype.setVisibility=function(o){this.item.wall.show=o};hm.prototype.getVisibility=function(){return this.item.wall.show};hm.prototype.deleteObject=function(){this._viewer.entities.remove(this.item)};Object.defineProperties(hm.prototype,{rectangle:{get:function(){return this.item.rectangle},set:function(o){this.item.rectangle=o}}});Object.defineProperties(hm.prototype,{polyline:{get:function(){return this.item.polyline},set:function(o){this.item.polyline=o}}});hm.prototype.setItem=function(o){this.item=o};hm.prototype.setTreeobj=function(o){this.treeobj=o};Object.defineProperties(hm.prototype,{polygon:{get:function(){return this.item.polygon},set:function(o){this.item.polygon=o}}});Object.defineProperties(hm.prototype,{point:{get:function(){return this.item.point},set:function(o){this.item.point=o}}});Object.defineProperties(hm.prototype,{label:{get:function(){return this.item.label},set:function(o){this.item.label=o}}});Object.defineProperties(hm.prototype,{model:{get:function(){return this.item.model},set:function(o){this.item.model=o}}});Object.defineProperties(hm.prototype,{wall:{get:function(){return this.item.wall},set:function(o){this.item.wall=o}}});Object.defineProperties(hm.prototype,{wallTempOptions:{get:function(){return{positions:[],maximumHeights:[],minimumHeights:[],show:!0,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,granularity:this._cesium.Math.RADIANS_PER_DEGREE,shadows:ShadowMode.DISABLED,distanceDisplayCondition:null}}}});var Kk=hm;function jPe(o,A,f,m,C,E,x){var y=new Cesium.Credit("WMTS");C=Cesium.defaultValue(C,{}),this._7=new Cesium.GeographicTilingScheme({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:1}),this._3=256,this._4=256,this._10=Cesium.defaultValue(C.fileExtension,"jpg"),this._9=C.proxy,this._12=C.tileDiscardPolicy,this._2=f,this._1=m,this._8=new Cesium.Rectangle(0-Math.PI,0-Math.PI/2,Math.PI,Math.PI/2),this._5=new Cesium.Rectangle(0-Math.PI,0-Math.PI/2,Math.PI,Math.PI/2),this._6=!0,this.baseurl=o,this.needaddone=A,E&&(this._0=E,this.baseurl2=x);var I=Cesium.defaultValue(C.credit,y);typeof I=="string"&&(I=new Cesium.Credit(I)),this._11=I}Object.defineProperties(jPe.prototype,{tileWidth:{get:function(){return this._3}},tileHeight:{get:function(){return this._4}},defaultAlpha:{get:function(){return 1}},hasAlphaChannel:{get:function(){return!0}},maximumLevel:{get:function(){return this._1}},minimumLevel:{get:function(){return this._2}},tilingScheme:{get:function(){return this._7}},extent:{get:function(){return this._8}},rectangle:{get:function(){return this._5}},ready:{get:function(){return this._6}},minimumTerrainLevel:{get:function(){return 0}},maximumTerrainLevel:{get:function(){return 17}}});jPe.prototype.requestImage=function(o,A,f){this.needaddone&&(o+=1,A+=1,f+=1);var m=this.baseurl;this._0&&f>this._0&&(m=this.baseurl2);var C=m.replace("{x}",o);return C=C.replace("{l}",A%8),C=C.replace("{y}",A),C=C.replace("{z}",f+1),Cesium.ImageryProvider.loadImage(this,C)};var Lft=jPe;var qv=null;function Fft(o,A){this._viewer=o,this._cesium=A,qv=A}var vUi=function(){function o(A,f){for(var m=0;m<f.length;m++){var C=f[m];C.enumerable=C.enumerable||!1,C.configurable=!0,"value"in C&&(C.writable=!0),Object.defineProperty(A,C.key,C)}}return function(A,f,m){return f&&o(A.prototype,f),m&&o(A,m),A}}();function BUi(o,A){if(!(o instanceof A))throw new TypeError("Cannot call a class as a function")}var wUi="http://api{s}.map.bdimg.com/customimage/tile?&x={x}&y={y}&z={z}&scale=1&customid={style}";Fft.prototype.BaiduImageryProvider=function(){function o(){var A=arguments.length<=0||arguments[0]===void 0?{}:arguments[0];BUi(this,o),this._url=wUi,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=18,this._tilingScheme=new qv.WebMercatorTilingScheme({rectangleSouthwestInMeters:new qv.Cartesian2(-33554054,-33746824),rectangleNortheastInMeters:new qv.Cartesian2(33554054,33746824)}),this._rectangle=this._tilingScheme.rectangle,this._credit=void 0,this._style=A.style||"normal"}return vUi(o,[{key:"getTileCredits",value:function(f,m,C){}},{key:"requestImage",value:function(f,m,C){if(!this.ready)throw new qv.DeveloperError("requestImage must not be called before the imagery provider is ready.");var E=this._tilingScheme.getNumberOfXTilesAtLevel(C),x=this._tilingScheme.getNumberOfYTilesAtLevel(C),y=this._url.replace("{x}",f-E/2).replace("{y}",x/2-m-1).replace("{z}",C).replace("{s}",1).replace("{style}",this._style);return qv.ImageryProvider.loadImage(this,y)}},{key:"url",get:function(){return this._url}},{key:"token",get:function(){return this._token}},{key:"tileWidth",get:function(){if(!this.ready)throw new qv.DeveloperError("tileWidth must not be called before the imagery provider is ready.");return this._tileWidth}},{key:"tileHeight",get:function(){if(!this.ready)throw new qv.DeveloperError("tileHeight must not be called before the imagery provider is ready.");return this._tileHeight}},{key:"maximumLevel",get:function(){if(!this.ready)throw new qv.DeveloperError("maximumLevel must not be called before the imagery provider is ready.");return this._maximumLevel}},{key:"minimumLevel",get:function(){if(!this.ready)throw new qv.DeveloperError("minimumLevel must not be called before the imagery provider is ready.");return 0}},{key:"tilingScheme",get:function(){if(!this.ready)throw new qv.DeveloperError("tilingScheme must not be called before the imagery provider is ready.");return this._tilingScheme}},{key:"rectangle",get:function(){if(!this.ready)throw new qv.DeveloperError("rectangle must not be called before the imagery provider is ready.");return this._rectangle}},{key:"ready",get:function(){return!!this._url}},{key:"credit",get:function(){return this._credit}}]),o}();var Nft=Fft;function Hg(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._tree=Ke,this._BaiduImageryProvider=new Nft(o,A)}Hg.prototype.createArcGisImageryLayer=function(o,A,f,m,C,E){var x={url:""},y=null;this._core.isUrl(A)?(y=x,y.url=A):y=this._core.extend(x,A,!0),this._core.isnull(o)&&(o="\u65B0\u5EFA\u5F71\u50CF\u56FE\u5C42");var I=new this._cesium.ArcGisMapServerImageryProvider(y);let v={alpha:y.alpha,brightness:y.brightness,availability:y.availability};if(y.Level!==void 0||y.level!==void 0){let T=this._core.defaultValue(y.Level,y.level);T.indexOf&&T.indexOf(",")>-1||Array.isArray(T)?(T.split&&(T=T.split(",")),v.maximumTerrainLevel=T[1],v.minimumTerrainLevel=T[0]):v.minimumTerrainLevel=T}y.time&&(v.availability=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:y.time.start?this._cesium.JulianDate.fromDate(new Date(y.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:y.time.end?this._cesium.JulianDate.fromDate(new Date(y.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})])),this.availability=v.availability,this.item=new this._cesium.ImageryLayer(I,v),this._viewer.imageryLayers.add(this.item,m),!C&&this.setVisibility(!1),E&&typeof E=="function"&&E(this.item);var B=this._core.getuid(),Q={id:y.id||B,name:o,checked:C,pId:this._core.isnull(f)?0:f,type:"ImageryProvider",smtype:"arcgis",item:this};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(f)?0:f),this};Hg.prototype.createImageryLayerGrid=function(o){var A=this._viewer.imageryLayers,f=A.addImageryProvider(new this._cesium.GridImageryProvider(o));return this.item=f,this};Hg.prototype.createWebMapServerImageLayer=function(o,A,f,m,C,E){var x={url:"",layers:"",parameters:{service:"WMS",format:"image/png",transparent:!0}},y=null;this._core.isUrl(A)?(y=x,y.url=A):y=this._core.extend(x,A,!0),this._core.isnull(o)&&(o="\u65B0\u5EFA\u5F71\u50CF\u56FE\u5C42");var I=new this._cesium.WebMapServiceImageryProvider(y);let v={alpha:y.alpha,brightness:y.brightness,availability:y.availability};if(y.Level!==void 0||y.level!==void 0){let T=this._core.defaultValue(y.Level,y.level);T.indexOf&&T.indexOf(",")>-1||Array.isArray(T)?(T.split&&(T=T.split(",")),v.maximumTerrainLevel=T[1],v.minimumTerrainLevel=T[0]):v.minimumTerrainLevel=T}y.time&&(v.availability=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:y.time.start?this._cesium.JulianDate.fromDate(new Date(y.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:y.time.end?this._cesium.JulianDate.fromDate(new Date(y.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})])),this.availability=v.availability,this.item=new this._cesium.ImageryLayer(I,v),this._viewer.imageryLayers.add(this.item,m),!C&&this.setVisibility(!1),E&&typeof E=="function"&&E(this.item);var B=this._core.getuid(),Q={id:y.id||B,name:o,checked:C,pId:this._core.isnull(f)?0:f,type:"ImageryProvider",smtype:"wms",item:this};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(f)?0:f),this};Hg.prototype.createMVTWithStyle=function(o,A,f,m){f=0,this.item=this._viewer.imageryLayers.addImageryProvider(A),checked||this.setVisibility(!1),A.show=!1;var C=this._core.getuid(),E={id:options.id||C,name:o,checked,pId:this._core.isnull(f)?0:f,type:"ImageryProvider",show:!1,item:this};return this.setTreeobj(E),this._tree.insertGroupId(E,this._core.isnull(f)?0:f),this};Hg.prototype.createWebMapTileServerImageLayer=function(o,A,f,m,C,E){var x={url:""},y=null;this._core.isUrl(A)?(y=x,y.url=A):y=this._core.extend(x,A,!0),this._core.isnull(o)&&(o="\u65B0\u5EFA\u5F71\u50CF\u56FE\u5C42");let I={alpha:y.alpha,brightness:y.brightness,availability:y.availability};if(y.Level!==void 0||y.level!==void 0){let T=this._core.defaultValue(y.Level,y.level);T.indexOf&&T.indexOf(",")>-1||Array.isArray(T)?(T.split&&(T=T.split(",")),I.maximumTerrainLevel=T[1],I.minimumTerrainLevel=T[0]):I.minimumTerrainLevel=T}var v;y.TD_SD?v=new Lft(y.url,!1,I.minimumTerrainLevel||0,I.maximumTerrainLevel||21):v=new this._cesium.WebMapTileServiceImageryProvider(y),y.addLevel&&(v.addLevel=y.addLevel),y.time&&(I.availability=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:y.time.start?this._cesium.JulianDate.fromDate(new Date(y.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:y.time.end?this._cesium.JulianDate.fromDate(new Date(y.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})])),this.availability=I.availability,this.item=new this._cesium.ImageryLayer(v,I),this._viewer.imageryLayers.add(this.item,m),!C&&this.setVisibility(!1),E&&typeof E=="function"&&E(this.item);var B=this._core.getuid(),Q={id:y.id||B,name:o,checked:C,pId:this._core.isnull(f)?0:f,type:"ImageryProvider",smtype:"skymap",item:this};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(f)?0:f),this};Hg.prototype.createUrlTemplateImageryProvider=function(o,A,f,m,C,E){var x={url:""},y=null;this._core.isUrl(A)?(y=x,y.url=A):y=this._core.extend(x,A,!0),this._core.isnull(o)&&(o="\u65B0\u5EFA\u5F71\u50CF\u56FE\u5C42");var I=new this._cesium.UrlTemplateImageryProvider(y);let v={alpha:y.alpha,brightness:y.brightness,availability:y.availability};if(y.Level!==void 0||y.level!==void 0){let T=this._core.defaultValue(y.Level,y.level);T.indexOf&&T.indexOf(",")>-1||Array.isArray(T)?(T.split&&(T=T.split(",")),v.maximumTerrainLevel=T[1],v.minimumTerrainLevel=T[0]):v.minimumTerrainLevel=T}y.time&&(v.availability=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:y.time.start?this._cesium.JulianDate.fromDate(new Date(y.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:y.time.end?this._cesium.JulianDate.fromDate(new Date(y.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})])),this.availability=v.availability,this.item=new this._cesium.ImageryLayer(I,v),this._viewer.imageryLayers.add(this.item,m),!C&&this.setVisibility(!1),E&&typeof E=="function"&&E(this.item);var B=this._core.getuid(),Q={id:y.id||B,name:o,checked:C,pId:this._core.isnull(f)?0:f,type:"ImageryProvider",smtype:"goglemap",item:this};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(f)?0:f),this};Hg.prototype.createImageryProvider=function(o,A,f,m,C,E,x){var y={},I=this._core.extend(y,f,!0),v;A=="arcgis"?v=new this._cesium.ArcGisMapServerImageryProvider(I):A=="geoserver"?v=new this._cesium.WebMapServiceImageryProvider(I):A=="wms"?v=new this._cesium.WebMapServiceImageryProvider(I):A=="cesiumBlack"?v=new this._cesium.TileMapServiceImageryProvider(I):A=="tms"?v=new this._cesium.TileMapServiceImageryProvider(I):A=="skymap"?v=new this._cesium.WebMapTileServiceImageryProvider(I):A=="goglemap"?v=new this._cesium.UrlTemplateImageryProvider(I):A=="BingMap"?v=new this._cesium.BingMapsImageryProvider(I):A=="OpenStreetMap"?v=new this._cesium.OpenStreetMapImageryProvider(I):A=="MapBox"?v=new this._cesium.MapboxImageryProvider(I):A=="BaiduMap"&&(v=new this._BaiduImageryProvider.BaiduImageryProvider(I));let B={alpha:I.alpha,brightness:I.brightness,availability:I.availability};if(I.Level!==void 0||I.level!==void 0){let T=this._core.defaultValue(I.Level,I.level);T.indexOf&&T.indexOf(",")>-1||Array.isArray(T)?(T.split&&(T=T.split(",")),B.maximumTerrainLevel=T[1],B.minimumTerrainLevel=T[0]):B.minimumTerrainLevel=T}I.time&&(B.availability=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:I.time.start?this._cesium.JulianDate.fromDate(new Date(I.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:I.time.end?this._cesium.JulianDate.fromDate(new Date(I.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})])),this.availability=B.availability,this.item=new this._cesium.ImageryLayer(v,B),this._viewer.imageryLayers.add(this.item,C),!E&&this.setVisibility(!1),x&&typeof x=="function"&&x(this.item),this._core.isnull(I.id)&&(I.id=this._core.getuid());var Q={id:I.id,name:o,pId:this._core.isnull(m)?0:m,type:"ImageryProvider",checked:E,item:this};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),this};Hg.prototype.createCacheImageryProvider=function(o,A,f,m,C,E){var x={fileExtension:"jpg",cacheMaxLevel:16};m=m|1;var y=this._core.extend(x,A,!0);let I={alpha:y.alpha,brightness:y.brightness,availability:y.availability,show:!0},v={alpha:y.alpha,brightness:y.brightness,availability:y.availability,show:!0};if(y.time&&(I.availability=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:y.time.start?this._cesium.JulianDate.fromDate(new Date(y.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:y.time.end?this._cesium.JulianDate.fromDate(new Date(y.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})]),v.availability=new this._cesium.TimeIntervalCollection([new this._cesium.TimeInterval({start:y.time.start?this._cesium.JulianDate.fromDate(new Date(y.time.start)):this._cesium.Iso8601.MINIMUM_VALUE,stop:y.time.end?this._cesium.JulianDate.fromDate(new Date(y.time.end)):this._cesium.Iso8601.MAXIMUM_VALUE})])),y.Level!==void 0||y.level!==void 0){let S=this._core.defaultValue(y.Level,y.level);S.indexOf&&S.indexOf(",")>-1||Array.isArray(S)?(S.split&&(S=S.split(",")),S[1]>y.cacheMaxLevel?(I.show=!0,v.maximumTerrainLevel=S[1],v.show=!0):(I.show=!0,v.show=!1),S[0]>y.cacheMaxLevel?(I.show=!1,v.minimumTerrainLevel=S[0],v.show=!0):(I.show=!0,v.minimumTerrainLevel=y.cacheMaxLevel)):S>y.cacheMaxLevel?(I.show=!1,v.minimumTerrainLevel=S,v.show=!0):(I.show=!0,v.minimumTerrainLevel=y.cacheMaxLevel,v.show=!0)}else I.show=!0,v.minimumTerrainLevel=y.cacheMaxLevel,v.show=!0;this.availability=I.availability;var B=null;I.show&&(B=new this._cesium.TileMapServiceImageryProvider({url:Cesium.buildModuleUrl(y.cacheUrl),fileExtension:y.fileExtension}),this.item=new this._cesium.ImageryLayer(B,I),this._viewer.imageryLayers.add(this.item,m)),this.items||(this.items=[]);var Q=null;if(v.show)if(y.minimumLevel=v.minimumTerrainLevel|y.cacheMaxLevel,v.maximumTerrainLevel&&(y.maximumLevel=v.maximumTerrainLevel),Q=new this._cesium.WebMapServiceImageryProvider(y),this.item){var T=this.items.push(new this._cesium.ImageryLayer(Q,v));this._viewer.imageryLayers.add(this.items[T-1],m+1)}else this.item=new this._cesium.ImageryLayer(Q,v),this._viewer.imageryLayers.add(this.item,m+1);!C&&this.setVisibility(!1),E&&typeof E=="function"&&E(this.item),this._core.isnull(y.id)&&(y.id=this._core.getuid());var w={id:y.id,name:o,pId:this._core.isnull(f)?0:f,type:"ImageryProvider",checked:C,item:this};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(f)?0:f),this};Hg.prototype.createPolylineImageryProviderer=function(o,A,f,m){var C={url:"https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer"},E=this._core.extend(C,A,!0),x=new this._cesium.WebMapTileServiceImageryProvider(E);this.item=this._viewer.imageryLayers.addImageryProvider(x),typeof m=="function"&&m(this.item),this._core.isnull(E.id)&&(E.id=this._core.getuid());var y={id:E.id,name:o,pId:this._core.isnull(f)?0:f,type:"ImageryProvider",item:this};return this.setTreeobj(y),this._tree.insertGroupId(y,this._core.isnull(f)?0:f),this};Hg.prototype.createterrainProvider=function(o,A,f,m){var C={url:""},E=this._core.extend(C,A,!0),x=new this._cesium.CesiumTerrainProvider(E);this._viewer.terrainProvider=x,this.item=this._viewer.terrainProvider,typeof m=="function"&&m(dataSource),this._core.isnull(E.id)&&(E.id=this._core.getuid());var y={id:E.id,name:o,pId:this._core.isnull(f)?0:f,type:"terrainProvider",item:this};return this.setTreeobj(y),this._tree.insertGroupId(y,this._core.isnull(f)?0:f),this};Hg.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.item.imageryProvider.url;return{type:"ImageryLayer",treeobj:{name:this.treeobj.name,type:this.treeobj.smtype},style:{show:o,url:A}}};Hg.prototype.setTreeobj=function(o){this.treeobj=o};Hg.prototype.getLevel=function(){var o=40487.57,A=7096758e-11,f=91610.74,m=-40467.74,C=this._viewer.camera,E,x;try{if(C&&C.positionCartographic&&C.positionCartographic.height){var y=this._viewer.scene.globe.getHeight(C.positionCartographic);!y&&(y=0),E=C.positionCartographic.height-y,x=Math.round(m+(o-m)/(1+Math.pow(E/f,A)))}else x=0}catch{}return x};Hg.prototype.setVisibility=function(o){if(this.isShow=o,this.item.show=o,this.item._availability&&!o?this.item._availability=void 0:this.availability&&o&&(this.item._availability=this.availability),this.items)for(var A=0;A<this.items.length;A++)this.items[A].show=o,this.items[A]._availability&&!o?this.items[A]._availability=void 0:this.availability&&o&&(this.items[A]._availability=this.availability)};Hg.prototype.getVisibility=function(){return this.item.show};Hg.prototype.getType=function(){return{label:"\u5F71\u50CF",value:"ImageryProvider"}};Hg.prototype.deleteObject=function(){return this._viewer.imageryLayers.remove(this.item)};Object.defineProperties(Hg.prototype,{url:{set:function(o){},get:function(){}}});Hg.prototype.setItem=function(o){this.item=o};var rM=Hg;var bUi=function(){function o(A,f){var m=[],C=!0,E=!1,x=void 0;try{for(var y=A[Symbol.iterator](),I;!(C=(I=y.next()).done)&&(m.push(I.value),!(f&&m.length===f));C=!0);}catch(v){E=!0,x=v}finally{try{!C&&y.return&&y.return()}finally{if(E)throw x}}return m}return function(A,f){if(Array.isArray(A))return A;if(Symbol.iterator in Object(A))return o(A,f);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),QUi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o};function Kle(o){if(Array.isArray(o)){for(var A=0,f=Array(o.length);A<o.length;A++)f[A]=o[A];return f}else return Array.from(o)}function dm(o,A,f){this._viewer=o,this._cesium=A,this._viewer=null,this._Cesium=f.Cesium,this.UrlData={output:f.output,resultmode:f.resultmode,uid:f.uid,st:f.st,words:f.words,area:f.area,callback:f.callback},this.minLevel1=f.minLevel1,this.minLevel3=f.minLevel3,this._url=f.url,this._urlTemplate=f.url,this._rectangle=f.rectangle,this._maximumLevel=f.maximumLevel||19,this._minimumLevel=f.minimumLevel||1,this.dx={},this._tilingScheme=f.tilingScheme||new this._Cesium.GeographicTilingScheme,this._tileRangeByLevel={},this._moveEndTimestamp=null,this._isRemoved=!1,this.cluster="city",this.primitivecount=null,this._isCameraMoving=!1,this._propertyToBeFiltered=null,this._valuesToBeFiltered=null,this._primitiveByTile={},this._tileKeys=[],this._lowerLevelLimit=f.lowerLevelLimit||1,this._upperLevelLimit=f.upperLevelLimit||null,this._cameraMoveEndHandler=this._cameraMoveEndHandler.bind(this),this._cameraMoveStartHandler=this._cameraMoveStartHandler.bind(this),this.heightById={};for(var m=this._radianToDegree(this._rectangle.west),C=this._radianToDegree(this._rectangle.south),E=this._radianToDegree(this._rectangle.east),x=this._radianToDegree(this._rectangle.north),y=this._minimumLevel;y<=this._maximumLevel;y++){var I=this._lonLatToTileInWGS84([m,C],y),v=this._lonLatToTileInWGS84([E,x],y),B=Math.min(I[0],v[0]),Q=Math.max(I[0],v[0]),T=Math.min(I[1],v[1]),w=Math.max(I[1],v[1]);this._tileRangeByLevel[y]={minCol:T,maxCol:w,minRow:B,maxRow:Q}}this._tileRangeByLevel[0]={minCol:0,maxCol:0,minRow:0,maxRow:0},this._primitiveCollection=new this._Cesium.PrimitiveCollection,this._stop=!1}dm.prototype._serialize=function(o){var A=[],f=window.encodeURIComponent;for(var m in o){var C=o[m];(typeof C>"u"?"undefined":QUi(C))==="object"?A.push(f(m)+"="+f(JSON.stringify(C))):A.push(f(m)+"="+f(o[m]))}return A.join("&")};dm.prototype._fetch=function(o){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},f=new Promise(function(m,C){var E=new XMLHttpRequest;if(E.open(A.method||"GET",o),A.headers)for(var x in A.headers)E.setRequestHeader(x,A.headers[x]);E.onload=function(){if(E.readyState===4&&E.status===200)try{var y=JSON.parse(E.responseText);m(y)}catch{C(new Error("INVALID RESPONSE"))}},E.onerror=function(y){C(y)},E.onloadend=function(y){y.target.status!==200&&C(new Error("["+y.target.status+"]request failed: "+o))},E.send(A.body||null)});return f};dm.prototype._lonLatToTileInWGS84=function(o,A){var f=bUi(o,2),m=f[0],C=f[1],E=Math.floor(Math.pow(2,A)*(90-C)/180),x=Math.floor(Math.pow(2,A)*(180+m)/180);return[E,x]};dm.prototype._radianToDegree=function(o){return o/Math.PI*180};dm.prototype._isTileInRange=function(o){try{var A=this._tileRangeByLevel[o.level],f=A.minCol,m=A.maxCol,C=A.minRow,E=A.maxRow;return o.x>=f&&o.x<=m&&o.y>=C&&o.y<=E}catch{return!1}};dm.prototype._cameraMoveStartHandler=function(){this._isCameraMoving=!0};dm.prototype._loadTile=function(o,A){var f=[],m=new this._Cesium.ColorGeometryInstanceAttribute(.75,.75,.75,1),C=this;o.features.forEach(function(x){if(C._propertyToBeFiltered&&Array.isArray(C._valuesToBeFiltered)){var y=x.properties[C._propertyToBeFiltered];if(C._valuesToBeFiltered.includes(y))return}var I=x.geometry.type;if(I==="Polygon"||I==="MultiPolygon"){var v=[];C.heightById[x.properties.house_id]=x.properties.height,x.geometry.coordinates.forEach(function(B,Q){v.push([]),B.forEach(function(P){if(P.length>2)P.forEach(function(L){if(L.length>=2){var F;(F=v[Q]).push.apply(F,Kle(L))}});else{var M;(M=v[Q]).push.apply(M,Kle(P))}});var T=new C._Cesium.PolygonHierarchy(C._Cesium.Cartesian3.fromDegreesArray(v[Q])),w=C._Cesium.BoundingSphere.fromPoints(T.positions).center,S=C._viewer.scene.globe.getHeight(C._Cesium.Cartographic.fromCartesian(w))||0,D=new C._Cesium.PolygonGeometry({polygonHierarchy:T,height:S,vertexFormat:C._Cesium.PerInstanceColorAppearance.VERTEX_FORMAT,extrudedHeight:1e3}),R=new C._Cesium.GeometryInstance({geometry:D,attributes:{color:m}});f.push(R)})}else console.warn('GeoJSONVectorTileProviderPolymerization: geometry type "'+x.geometry.type+'" detected, but is not going to be rendered')});var E=new this._Cesium.Primitive({allowPicking:!1,appearance:new this._Cesium.PerInstanceColorAppearance({translucent:!1}),geometryInstances:f});return E};dm.prototype._cameraMoveEndHandler=function(){if(!this._stop){var o=this,A=Date.now(),f=this._viewer.scene.globe._surface._tilesToRender,m=f.map(function(D){return D.level}),C=Math.min.apply(Math,Kle(m)),E=Math.max.apply(Math,Kle(m));o._removeObsoletePrimitives(o._primitiveByTile,[]),E<this._lowerLevelLimit&&(o._tileKeys=[],o._removeObsoletePrimitives(o._primitiveByTile,[]),f=[]),this._upperLevelLimit&&C>this._upperLevelLimit&&(o._tileKeys=[],o._removeObsoletePrimitives(o._primitiveByTile,[]),f=[]),E-C>2&&(f=f.filter(function(D){return D.level>=E-2})),f.sort(function(D,R){return-(D.level-R.level)}),f=f.filter(function(D){return o._isTileInRange(D)}),this._upperLevelLimit&&(f=this._refineTiles(f,this._upperLevelLimit)),this._isCameraMoving=!1,this._moveEndTimestamp=A,this._viewer.scene.primitives.remove(this.dx),this.dx={},this._primitiveByTile={};var x=[],y=0,I=0,v=this._viewer.camera.computeViewRectangle(),B=this._radianToDegree(v.west),Q=this._radianToDegree(v.south),T=this._radianToDegree(v.east),w=this._radianToDegree(v.north);this.UrlData.area="RECT("+B+" "+Q+","+T+" "+w+")";var S="";C<=this.minLevel1||C=="Infinity"?(this.cluster="city",this.UrlData.cluster=this.cluster,S=this._urlTemplate+"?output="+this.UrlData.output+"&resultmode="+this.UrlData.resultmode+"&uid="+this.UrlData.uid+"&st="+this.UrlData.st+"&words="+this.UrlData.words+"&area="+this.UrlData.area+"&cluster="+this.UrlData.cluster+"&callback="+this.UrlData.callback):C>this.minLevel1&&this.minLevel3>C?(this.cluster="county",this.UrlData.cluster=this.cluster,S=this._urlTemplate+"?output="+this.UrlData.output+"&resultmode="+this.UrlData.resultmode+"&uid="+this.UrlData.uid+"&st="+this.UrlData.st+"&words="+this.UrlData.words+"&area="+this.UrlData.area+"&cluster="+this.UrlData.cluster+"&callback="+this.UrlData.callback):C>=this.minLevel3&&(this.cluster="",S=this._urlTemplate+"?output="+this.UrlData.output+"&resultmode="+this.UrlData.resultmode+"&uid="+this.UrlData.uid+"&st="+this.UrlData.st+"&words="+this.UrlData.words+"&area="+this.UrlData.area+"&callback="+this.UrlData.callback),o._fetch(S).then(function(D){var R=o._loadTile(D,o.cluster);o._primitiveCollection=R,I++,I>=y&&(o._tileKeys=x,o._removeObsoletePrimitives(o._primitiveByTile,x))}).catch(function(D){I++,I>=y&&(o._tileKeys=x,o._removeObsoletePrimitives(o._primitiveByTile,x)),D.message})}};dm.prototype._refineTiles=function(o,A){var f=[],m=[];return o.forEach(function(C){var E="Z"+C.level+"X"+C.x+"Y"+C.y;if(C.level<A-1)m.includes(E)||(f.push(C),m.push(E));else if(C.level===A-1)for(var x=0;x<2;x++)for(var y=0;y<2;y++){var I="Z"+(C.level+1)+"X"+(C.x*2+x)+"Y"+(C.y*2+y);m.includes(I)||(f.push({x:C.x*2+x,y:C.y*2+y,level:C.level+1}),m.push(I))}else{var v=C.level-A;if(v===0)m.includes(E)||(f.push(C),m.push(E));else{var B=v*2,Q=Math.floor(C.x/B),T=Math.floor(C.y/B),w="Z"+A+"X"+Q+"Y"+T;m.includes(w)||(f.push({x:Q,y:T,level:A}),m.push(w))}}}),f};dm.prototype._removeObsoletePrimitives=function(o,A){var f=[];A.length>0&&(f=A);for(var m in o)f.includes(m)||removed&&delete o[m]};dm.prototype.addTo=function(o){this._viewer=o,this._isRemoved=!1,this._viewer.camera.moveEnd.addEventListener(this._cameraMoveEndHandler),this._viewer.camera.moveStart.addEventListener(this._cameraMoveStartHandler),this._cameraMoveEndHandler()};dm.prototype.remove=function(){if(this._viewer){for(var o in this._primitiveByTile)this._viewer.scene.primitives.remove(this._primitiveByTile[o]);this._primitiveByTile={},this._viewer.camera.moveEnd.removeEventListener(this._cameraMoveEndHandler),this._viewer.camera.moveStart.removeEventListener(this._cameraMoveStartHandler),this._viewer=null,this._isRemoved=!0}};dm.prototype.setStatus=function(o){this._stop=o};dm.prototype.isRemoved=function(){return this._isRemoved};dm.prototype.filterBy=function(o,A,f){this._propertyToBeFiltered=o,this._valuesToBeFiltered=A};dm.prototype.removeFilter=function(){this._propertyToBeFiltered=null,this._valuesToBeFiltered=null};var kft=dm;function b0(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._color=new In(this._viewer,this._cesium),this._tree=Ke,this._Provider=void 0,this.labelCollections1=[],this.labelCollections2=[],this.labelCollections=new this._cesium.PointPrimitiveCollection,this.gd=0,this.model=[],this.Legend=[],this.sj=!0}b0.prototype.createLabelPointGeoJsonFeatureLayer=function(o,A,f,m,C){A==null&&console.log("geojson is required");var E=this._cesium.GeoJsonDataSource.load(A),x=this;E.then(function(v){var B={Name:"",text:"",font:" 30px sans-serif",stylet:x._cesium.LabelStyle.OUTLINE,fillColor:x._cesium.Color.WHITE,outlineColor:x._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new x._cesium.Color(.165,.165,.165,.8),backgroundPadding:new x._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:x._cesium.HorizontalOrigin.CENTER,verticalOrigin:x._cesium.VerticalOrigin.CENTER,eyeOffset:x._cesium.Cartesian3.ZERO,pixelOffset:x._cesium.Cartesian2.ZERO,heightReference:x._cesium.HeightReference.NONE,scaleByDistance:new x._cesium.NearFarScalar(0,0,1,1)},Q=f.material;!x._core.isnull(f)&&!x._core.isnull(f.fillColor)&&(/^\[/.test(f.fillColor)&&f.fillColor.toString().charAt(0)=="["&&f.fillColor.toString().charAt(f.fillColor.length-1)=="]"||(x._core.isHtmlColor(f.fillColor)?f.fillColor=x._color.colorFromHtmlColor(f.fillColor):(/^rgb/.test(f.fillColor)&&(f.fillColor=x._color.rgbaStringToRgbaObj(f.fillColor)),f.fillColor.r>1&&(f.fillColor.r=f.fillColor.r/255),f.fillColor.g>1&&(f.fillColor.g=f.fillColor.g/255),f.fillColor.b>1&&(f.fillColor.b=f.fillColor.b/255),f.fillColor.a>1&&(f.fillColor.a=f.fillColor.a/255),f.fillColor=x._color.createColor(f.fillColor.r,f.fillColor.g,f.fillColor.b,f.fillColor.a)))),!x._core.isnull(f)&&!x._core.isnull(f.material)&&(/^\[/.test(f.material)&&f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(x._core.isHtmlColor(f.material)?f.material=x._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=x._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.fillColor.r/255),f.material.g>1&&(f.material.g=f.fillColor.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=x._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!x._core.isnull(f)&&!x._core.isnull(f.outlineColor)&&(/^\[/.test(f.outlineColor)&&f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(x._core.isHtmlColor(f.outlineColor)?f.outlineColor=x._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=x._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=x._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a)))),!x._core.isnull(f)&&!x._core.isnull(f.backgroundColor)&&(/^\[/.test(f.backgroundColor)&&f.backgroundColor.toString().charAt(0)=="["&&f.backgroundColor.toString().charAt(f.backgroundColor.length-1)=="]"||(x._core.isHtmlColor(f.backgroundColor)?f.backgroundColor=x._color.colorFromHtmlColor(f.backgroundColor):(/^rgb/.test(f.backgroundColor)&&(f.backgroundColor=x._color.rgbaStringToRgbaObj(f.backgroundColor)),f.backgroundColor.r>1&&(f.backgroundColor.r=f.backgroundColor.r/255),f.backgroundColor.g>1&&(f.backgroundColor.g=f.backgroundColor.g/255),f.backgroundColor.b>1&&(f.backgroundColor.b=f.backgroundColor.b/255),f.backgroundColor.a>1&&(f.backgroundColor.a=f.backgroundColor.a/255),f.backgroundColor=x._color.createColor(f.backgroundColor.r,f.backgroundColor.g,f.backgroundColor.b,f.backgroundColor.a))));var T=x._core.extend(B,f,!0);x.item=v;var w=v.entities.values;x._core.isnull(f.near)&&(f.near=0),x._core.isnull(f.far)&&(f.far=999999999);var S=parseFloat(f.near),D=parseFloat(f.far),R=new x._cesium.DistanceDisplayCondition(S,D);T.distanceDisplayCondition=R,x._core.isnull(f.font_size)&&(f.font_size="30px"),x._core.isnull(f.font_family)&&(f.font_family=" sans-serif"),T.font=parseFloat(f.font_size)+"px "+f.font_family;for(var P=new x._cesium.LabelCollection,M=0;M<w.length;M++){var L=w[M];T.position=L.position._value,T.text="a label";var F="fillColor:"+T.fillColor.red*255+","+T.fillColor.green*255+","+T.fillColor.blue*255+";outlineColor:"+T.outlineColor.red*255+","+T.outlineColor.green*255+","+T.outlineColor.blue*255;x.Legend.push(F),P.add(T)}var k=x._viewer.scene.primitives.add(P);typeof C=="function"&&C(k)});var y=this._core.getuid();this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+y);var I={id:y,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"labelPointLayer",item:this,url:A,style:options};return this.setTreeobj(I),this._tree.insertGroupId(I,this._core.isnull(m)?0:m),this};b0.prototype.createLabelPolymerizationGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x={Name:"",text:"",font:" 30px sans-serif",style:this._cesium.LabelStyle.FILL_AND_OUTLINE,fillColor:this._cesium.Color.WHITE,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new this._cesium.Color(.165,.165,.165,.8),backgroundPadding:new this._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,heightReference:this._cesium.HeightReference.RELATIVE_TO_GROUND,scaleByDistance:new this._cesium.NearFarScalar(0,0,1,1)},B=this;!this._core.isnull(f)&&!this._core.isnull(f.fillColor)&&(this._core.isHtmlColor(f.fillColor)?f.fillColor=this._color.colorFromHtmlColor(f.fillColor):(/^rgb/.test(f.fillColor)&&(f.fillColor=this._color.rgbaStringToRgbaObj(f.fillColor)),f.fillColor.r>1&&(f.fillColor.r=f.fillColor.r/255),f.fillColor.g>1&&(f.fillColor.g=f.fillColor.g/255),f.fillColor.b>1&&(f.fillColor.b=f.fillColor.b/255),f.fillColor.a>1&&(f.fillColor.a=f.fillColor.a/255),f.fillColor=this._color.createColor(f.fillColor.r,f.fillColor.g,f.fillColor.b,f.fillColor.a))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a))),!this._core.isnull(f)&&!this._core.isnull(f.backgroundColor)&&(this._core.isHtmlColor(f.backgroundColor)?f.backgroundColor=this._color.colorFromHtmlColor(f.backgroundColor):(/^rgb/.test(f.backgroundColor)&&(f.backgroundColor=this._color.rgbaStringToRgbaObj(f.backgroundColor)),f.backgroundColor.r>1&&(f.backgroundColor.r=f.backgroundColor.r/255),f.backgroundColor.g>1&&(f.backgroundColor.g=f.backgroundColor.g/255),f.backgroundColor.b>1&&(f.backgroundColor.b=f.backgroundColor.b/255),f.backgroundColor.a>1&&(f.backgroundColor.a=f.backgroundColor.a/255),f.backgroundColor=this._color.createColor(f.backgroundColor.r,f.backgroundColor.g,f.backgroundColor.b,f.backgroundColor.a))),B._core.isnull(f.near)&&(f.near=0),B._core.isnull(f.far)&&(f.far=999999999);var y=this._core.extend(x,f,!0),I={camera:this._viewer.scene.camera,canvas:this._viewer.scene.canvas},v=this._viewer.dataSources.add(this._cesium.GeoJsonDataSource.load(A)),B=this;v.then(function(w){B.item=w;var S=45,D=3,R=!0,P=w.entities.values;B._core.isnull(y.font_size)&&(y.font_size="30"),B._core.isnull(y.font_family)&&(y.font_family=" sans-serif"),y.font=y.font_size+"px "+y.font_family;for(var M=0;M<P.length;M++){var L=P[M];y.font=B._core.extendgl(L,f.font,y.font),y.style=parseInt(B._core.extendgl(L,f.stylet,y.stylet)),y.fillColor=B._core.extendgl(L,f.fillColor,y.fillColor),y.outlineColor=B._core.extendgl(L,f.outlineColor,y.outlineColor),y.outlineWidth=parseFloat(B._core.extendgl(L,f.outlineWidth,y.outlineWidth)),y.show=B._core.extendgl(L,f.show,y.show),y.showBackground=B._core.extendgl(L,f.showBackground,y.showBackground),y.backgroundColor=B._core.extendgl(L,f.backgroundColor,y.backgroundColor),y.backgroundPadding=B._core.extendgl(L,f.backgroundPadding,y.backgroundPadding),y.scale=parseFloat(B._core.extendgl(L,f.scale,y.scale)),y.horizontalOrigin=B._core.extendgl(L,f.horizontalOrigin,y.horizontalOrigin),y.pointHeight=parseFloat(B._core.extendgl(L,f.pointHeight,y.pointHeight)),y.text=B._core.extendgl(L,f.text,y.text);var F=parseFloat(B._core.extendgl(L,y.near)),k=parseFloat(B._core.extendgl(L,y.far)),N=new B._cesium.DistanceDisplayCondition(F,k);y.distanceDisplayCondition=N,y.text=L.properties[y.text]==null?y.text:L.properties[y.text]._value,L.billboard.color=B._cesium.Color.WHITE.withAlpha(0),L.label=new B._cesium.LabelGraphics(y);var G=B._viewer.scene.globe.ellipsoid,J=B._cesium.Cartographic.fromCartesian(L.position._value),K=B._cesium.Math.toDegrees(J.longitude),X=B._cesium.Math.toDegrees(J.latitude),q=y.pointHeight||J.height,ee=new B._cesium.Cartesian3.fromDegrees(K,X,q);L.position._value=ee}w.clustering.enabled=R,w.clustering.pixelRange=S,w.clustering.minimumClusterSize=D;for(var ie,H=new B._cesium.PinBuilder,le=H.fromText("50+",B._cesium.Color.RED,48).toDataURL(),ue=H.fromText("40+",B._cesium.Color.ORANGE,48).toDataURL(),Ae=H.fromText("30+",B._cesium.Color.YELLOW,48).toDataURL(),he=H.fromText("20+",B._cesium.Color.GREEN,48).toDataURL(),ge=H.fromText("10+",B._cesium.Color.BLUE,48).toDataURL(),fe=new Array(8),M=0;M<fe.length;++M)fe[M]=H.fromText(""+(M+2),B._cesium.Color.VIOLET,48).toDataURL();function ae(){B._cesium.defined(ie)?(ie(),ie=void 0):ie=w.clustering.clusterEvent.addEventListener(function(Y,z){z.label.show=!1,z.point.show=!1,z.billboard.show=!0,z.billboard.id=z.label.id,z.billboard.verticalOrigin=B._cesium.VerticalOrigin.BOTTOM,Y.length>=50?z.billboard.image=H.fromText(Y.length,B._cesium.Color.RED,48).toDataURL():Y.length>=40?z.billboard.image=H.fromText(Y.length,B._cesium.Color.ORANGE,48).toDataURL():Y.length>=30?z.billboard.image=H.fromText(Y.length,B._cesium.Color.YELLOW,48).toDataURL():Y.length>=20?z.billboard.image=H.fromText(Y.length,B._cesium.Color.GREEN,48).toDataURL():Y.length>=10?z.billboard.image=H.fromText(Y.length,B._cesium.Color.BLUE,48).toDataURL():z.billboard.image=fe[Y.length-2]});var W=w.clustering.pixelRange;w.clustering.pixelRange=0,w.clustering.pixelRange=W,C||B.setVisibility(C)}ae();var U={pixelRange:S,minimumClusterSize:D};B._cesium.knockout.track(U),typeof E=="function"&&E(ps)});var Q=this._core.getuid();this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+Q);var T={id:Q,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"labelPointLayer",item:this,url:A};return this.setTreeobj(T),this._tree.insertGroupId(T,this._core.isnull(m)?0:m),this};b0.prototype.createPointPolymerizationGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x={color:this._cesium.Color.WHITE,pixelSize:1,outlineColor:this._cesium.Color.BLACK,outlineWidth:0,show:!0,scaleByDistance:new this._cesium.NearFarScalar(0,0,1,1)};!this._core.isnull(f)&&!this._core.isnull(f.color)&&(f.color.toString().charAt(0)=="["&&f.color.toString().charAt(f.color.length-1)=="]"||(this._core.isHtmlColor(f.color)?f.color=this._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=this._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=this._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a)))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a))));var y=this._core.extend(x,f,!0),I={camera:this._viewer.scene.camera,canvas:this._viewer.scene.canvas},v=this._viewer.dataSources.add(this._cesium.GeoJsonDataSource.load(A)),B=this;v.then(function(w){B.item=w;for(var S=45,D=3,R=!0,P=w.entities.values,M=0;M<P.length;M++){var L=P[M];y.color=B._core.extendgl(L,f.color,y.color),y.pixelSize=parseInt(B._core.extendgl(L,f.pixelSize,y.pixelSize)),y.outlineColor=B._core.extendgl(L,f.outlineColor,y.outlineColor),y.outlineWidth=parseFloat(B._core.extendgl(L,f.outlineWidth,y.outlineWidth)),y.show=B._core.extendgl(L,f.show,y.show),y.height=parseFloat(B._core.extendgl(L,f.height,y.height)),y.scaleByDistance=B._core.extendgl(L,f.scaleByDistance,y.scaleByDistance);var F=parseFloat(B._core.extendgl(L,y.minDistanceDisplay)),k=parseFloat(B._core.extendgl(L,y.maxDistanceDisplay)),N=new B._cesium.DistanceDisplayCondition(F,k);L.billboard.image="",y.distanceDisplayCondition=N,L.point=new B._cesium.PointGraphics(y),y.pointHeight=B._core.extendgl(L,f.pointHeight,y.pointHeight),y.pointHeight=parseFloat(y.pointHeight);var G=B._viewer.scene.globe.ellipsoid,J=B._cesium.Cartographic.fromCartesian(L.position._value),K=B._cesium.Math.toDegrees(J.longitude),X=B._cesium.Math.toDegrees(J.latitude),q=y.pointHeight||J.height,ee=new B._cesium.Cartesian3.fromDegrees(K,X,q);L.position._value=ee}w.clustering.enabled=R,w.clustering.pixelRange=S,w.clustering.minimumClusterSize=D;for(var ie,H=new B._cesium.PinBuilder,le=H.fromText("50+",B._cesium.Color.RED,48).toDataURL(),ue=H.fromText("40+",B._cesium.Color.ORANGE,48).toDataURL(),Ae=H.fromText("30+",B._cesium.Color.YELLOW,48).toDataURL(),he=H.fromText("20+",B._cesium.Color.GREEN,48).toDataURL(),ge=H.fromText("10+",B._cesium.Color.BLUE,48).toDataURL(),fe=new Array(8),M=0;M<fe.length;++M)fe[M]=H.fromText(""+(M+2),B._cesium.Color.VIOLET,48).toDataURL();function ae(){B._cesium.defined(ie)?(ie(),ie=void 0):ie=w.clustering.clusterEvent.addEventListener(function(Y,z){z.label.show=!1,z.point.show=!1,z.billboard.show=!0,z.billboard.id=z.label.id,z.billboard.verticalOrigin=B._cesium.VerticalOrigin.BOTTOM,Y.length>=50?z.billboard.image=H.fromText(Y.length,B._cesium.Color.RED,48).toDataURL():Y.length>=40?z.billboard.image=H.fromText(Y.length,B._cesium.Color.ORANGE,48).toDataURL():Y.length>=30?z.billboard.image=H.fromText(Y.length,B._cesium.Color.YELLOW,48).toDataURL():Y.length>=20?z.billboard.image=H.fromText(Y.length,B._cesium.Color.GREEN,48).toDataURL():Y.length>=10?z.billboard.image=H.fromText(Y.length,B._cesium.Color.BLUE,48).toDataURL():z.billboard.image=fe[Y.length-2]});var W=w.clustering.pixelRange;w.clustering.pixelRange=0,w.clustering.pixelRange=W,C||B.setVisibility(C)}ae();var U={pixelRange:S,minimumClusterSize:D};B._cesium.knockout.track(U),typeof E=="function"&&E(ps)});var Q=this._core.getuid();this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+Q);var T={id:Q,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"pointLayer",item:this,url:A};return this.setTreeobj(T),this._tree.insertGroupId(T,this._core.isnull(m)?0:m),this};b0.prototype._cameraMoveEndHandler=function(){var o=this._viewer.camera.getMagnitude();if(o<this.gd){if(this.sj){this._viewer.scene.primitives.remove(this.labelCollections),this.labelCollections=new this._cesium.LabelCollection;for(var A=0;A<this.labelCollections1.length;A++)this.labelCollections.add(this.labelCollections1[A]);this._viewer.scene.primitives.add(this.labelCollections),this.sj=!1}}else{this._viewer.scene.primitives.remove(this.labelCollections);for(var f=new this._cesium.BillboardCollection,A=0;A<this.labelCollections2.length;A++)this.BillboardCollections.add(this.labelCollections2[A]);this._viewer.scene.primitives.add(this.BillboardCollections),this.sj=!0}};b0.prototype.createLabelpolymerizationGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x=A,y=this._viewer.scene.primitives;this._cameraMoveEndHandler=this._cameraMoveEndHandler.bind(this),this._viewer.camera.moveEnd.addEventListener(this._cameraMoveEndHandler),this.gd=f.height;for(var I=new this._cesium.BillboardCollection,v={},B=[],Q=0;Q<x.length;Q++){var T=new this._cesium.Cartesian3.fromDegrees(x[Q].lng,x[Q].lat,100),w={position:T,text:x[Q].name};this.labelCollections1.push(w);var S=x[Q];if(!v[S[f.adminname]])B.push({adminname:S[f.adminname],name:S.name,showBackground:!0,lat:S.lat,lng:S.lng,data:[S]}),v[S[f.adminname]]=S;else for(var D=0;D<B.length;D++){var R=B[D];if(R.adminname==S[f.adminname]){R.data.push(S);break}}}for(var Q=0;Q<B.length;Q++){var T=new this._cesium.Cartesian3.fromDegrees(B[Q].lng,B[Q].lat,100),w={position:T,image:pinBuilder.fromText(B[Q].data.length+"",this._cesium.Color.BLACK,48).toDataURL()};this.labelCollections2.push(w),this.BillboardCollections.add(w)}this._viewer.scene.primitives.add(this.BillboardCollections)};b0.prototype.createLabelpolymerizationGeoJsonFeatureLayers=function(o,A,f,m,C,E){var x={height:0,material:this._cesium.Color.WHITE,size:50,fill:this._cesium.Color.RED},y={url:A.url,upperLevelLimit:21,lowerLevelLimit:0,minLevel1:A.minLevel1,minLevel3:A.minLevel3,rectangle:this._cesium.Rectangle.fromDegrees(118.74324788700017,32.036708147800084,118.7994917630001,32.07298490959994),Cesium:this._cesium,output:A.output,resultmode:A.resultmode,uid:A.uid,st:A.st,words:A.words,area:A.area,callback:A.callback};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):/^http/.test(f.material)||(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!this._core.isnull(f)&&!this._core.isnull(f.fill)&&(f.fill.toString().charAt(0)=="["&&f.fill.toString().charAt(f.fill.length-1)=="]"||(this._core.isHtmlColor(f.fill)?f.fill=this._color.colorFromHtmlColor(f.fill):/^http/.test(f.fill)||(/^rgb/.test(f.fill)&&(f.fill=this._color.rgbaStringToRgbaObj(f.fill)),f.fill.r>1&&(f.fill.r=f.fill.r/255),f.fill.g>1&&(f.fill.g=f.fill.g/255),f.fill.b>1&&(f.fill.b=f.fill.b/255),f.fill.a>1&&(f.fill.a=f.fill.a/255),f.fill=this._color.createColor(f.fill.r,f.fill.g,f.fill.b,f.fill.a))));var I=this._core.extend(x,f,!0),v=this,B=new kft(this._viewer,this._cesium,y);this._Provider=B,B._loadTile=function(T,w){v._viewer.scene.primitives.remove(v.labelCollections);var S=[];w==""?v.labelCollections=new v._cesium.PointPrimitiveCollection:v.labelCollections=new v._cesium.BillboardCollection;var D=new v._cesium.PinBuilder;return T.result.features.forEach(function(R){var P={};if(R.lng!=null){var M=new v._cesium.Cartesian3.fromDegrees(R.lng,R.lat,I.height);w==""?P={id:R,color:I.material,position:M}:P={position:M,image:D.fromText(R.count+"",I.fill,I.size).toDataURL(),verticalOrigin:v._cesium.VerticalOrigin.BOTTOM},v.labelCollections.add(P)}}),v._viewer.scene.primitives.add(v.labelCollections),v.item=v.labelCollections,v.labelCollections},B.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var Q={id:I.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f};return this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};b0.prototype.createLabelGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium},y=this,I=f.material;!y._core.isnull(f)&&!y._core.isnull(f.fillColor)&&(/^\[/.test(f.fillColor)&&f.fillColor.toString().charAt(0)=="["&&f.fillColor.toString().charAt(f.fillColor.length-1)=="]"||(y._core.isHtmlColor(f.fillColor)?f.fillColor=y._color.colorFromHtmlColor(f.fillColor):(/^rgb/.test(f.fillColor)&&(f.fillColor=y._color.rgbaStringToRgbaObj(f.fillColor)),f.fillColor.r>1&&(f.fillColor.r=f.fillColor.r/255),f.fillColor.g>1&&(f.fillColor.g=f.fillColor.g/255),f.fillColor.b>1&&(f.fillColor.b=f.fillColor.b/255),f.fillColor.a>1&&(f.fillColor.a=f.fillColor.a/255),f.fillColor=y._color.createColor(f.fillColor.r,f.fillColor.g,f.fillColor.b,f.fillColor.a)))),!y._core.isnull(f)&&!y._core.isnull(f.material)&&(/^\[/.test(f.material)&&f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(y._core.isHtmlColor(f.material)?f.material=y._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=y._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=y._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!y._core.isnull(f)&&!y._core.isnull(f.outlineColor)&&(/^\[/.test(f.outlineColor)&&f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(y._core.isHtmlColor(f.outlineColor)?f.outlineColor=y._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=y._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=y._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a)))),!y._core.isnull(f)&&!y._core.isnull(f.backgroundColor)&&(/^\[/.test(f.backgroundColor)&&f.backgroundColor.toString().charAt(0)=="["&&f.backgroundColor.toString().charAt(f.backgroundColor.length-1)=="]"||(y._core.isHtmlColor(f.backgroundColor)?f.backgroundColor=y._color.colorFromHtmlColor(f.backgroundColor):(/^rgb/.test(f.backgroundColor)&&(f.backgroundColor=y._color.rgbaStringToRgbaObj(f.backgroundColor)),f.backgroundColor.r>1&&(f.backgroundColor.r=f.backgroundColor.r/255),f.backgroundColor.g>1&&(f.backgroundColor.g=f.backgroundColor.g/255),f.backgroundColor.b>1&&(f.backgroundColor.b=f.backgroundColor.b/255),f.backgroundColor.a>1&&(f.backgroundColor.a=f.backgroundColor.a/255),f.backgroundColor=y._color.createColor(f.backgroundColor.r,f.backgroundColor.g,f.backgroundColor.b,f.backgroundColor.a))));var v=new FA(this._viewer,this._cesium,x);this._Provider=v,v._loadTile=function(Q){var T={Name:"",text:"",font:" 30px sans-serif",style:y._cesium.LabelStyle.FILL_AND_OUTLINE,fillColor:y._cesium.Color.WHITE,outlineColor:y._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new y._cesium.Color(.165,.165,.165,.8),backgroundPadding:new y._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:y._cesium.HorizontalOrigin.CENTER,verticalOrigin:y._cesium.VerticalOrigin.CENTER,eyeOffset:y._cesium.Cartesian3.ZERO,pixelOffset:y._cesium.Cartesian2.ZERO,heightReference:y._cesium.HeightReference.NONE,scaleByDistance:new y._cesium.NearFarScalar(0,0,1,1),maxDistanceDisplay:99999999,minDistanceDisplay:0,far:99999999,near:0},w=y._core.extend(T,f,!0);y._core.isnull(f.near)&&(f.near=0),y._core.isnull(f.far)&&(f.far=999999999);var S=parseFloat(f.near),D=parseFloat(f.far),R=new y._cesium.DistanceDisplayCondition(S,D);w.distanceDisplayCondition=R,y._core.isnull(f.font_size)&&(f.font_size="30px"),y._core.isnull(f.font_family)&&(f.font_family=" sans-serif"),w.font=parseFloat(f.font_size)+"px "+f.font_family;var P;return w.image!=null&&w.image!=null?P=new y._cesium.BillboardCollection:P=new y._cesium.LabelCollection,Q.features.forEach(function(M){w.id=M;var L=w.pointHeight;if(/^\[/.test(L)&&/\]$/.test(L)){var F=L.replace(/\[/,"").replace(/\]/,"");L=parseFloat(M.properties[F])}else L!=null&&L!=""?L=parseFloat(L):M.properties.height!=null&&(L=parseFloat(M.properties.height));if(w.position=new y._cesium.Cartesian3.fromDegrees(M.geometry.coordinates[0],M.geometry.coordinates[1],L),/^\[/.test(f.fillColor)&&/\]$/.test(f.fillColor)){var k=f.fillColor.replace(/\[/,"").replace(/\]/,"");w.fillColor=M.properties[k],y._core.isHtmlColor(w.fillColor)?w.fillColor=y._color.colorFromHtmlColor(w.fillColor):(/^rgb/.test(w.fillColor)&&(w.fillColor=y._color.rgbaStringToRgbaObj(w.fillColor)),w.fillColor.r>1&&(w.fillColor.r=w.fillColor.r/255),w.fillColor.g>1&&(w.fillColor.g=w.fillColor.g/255),w.fillColor.b>1&&(w.fillColor.b=w.fillColor.b/255),w.fillColor.a>1&&(w.fillColor.a=w.fillColor.a/255),w.fillColor=y._color.createColor(w.fillColor.r,w.fillColor.g,w.fillColor.b,w.fillColor.a))}if(/^\[/.test(f.outlineColor)&&/\]$/.test(f.outlineColor)){var k=f.outlineColor.replace(/\[/,"").replace(/\]/,"");w.outlineColor=M.properties[k],y._core.isHtmlColor(w.outlineColor)?w.outlineColor=y._color.colorFromHtmlColor(w.outlineColor):(/^rgb/.test(w.outlineColor)&&(w.outlineColor=y._color.rgbaStringToRgbaObj(w.outlineColor)),w.outlineColor.r>1&&(w.outlineColor.r=w.outlineColor.r/255),w.outlineColor.g>1&&(w.outlineColor.g=w.outlineColor.g/255),w.outlineColor.b>1&&(w.outlineColor.b=w.outlineColor.b/255),w.outlineColor.a>1&&(w.outlineColor.a=w.outlineColor.a/255),w.outlineColor=y._color.createColor(w.outlineColor.r,w.outlineColor.g,w.outlineColor.b,w.outlineColor.a))}var N="fillColor:"+w.fillColor.red*255+","+w.fillColor.green*255+","+w.fillColor.blue*255+";outlineColor:"+w.outlineColor.red*255+","+w.outlineColor.green*255+","+w.outlineColor.blue*255;if(y.Legend.push(N),/^\[/.test(f.text)&&/\]$/.test(f.text)){var k=f.text.replace(/\[/,"").replace(/\]/,"");w.text=M.properties[k]}P.add(w)}),P},f&&f.time&&(v.availability=new y._cesium.TimeIntervalCollection([new y._cesium.TimeInterval({start:f.time.start?y._cesium.JulianDate.fromDate(new Date(f.time.start)):y._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?y._cesium.JulianDate.fromDate(new Date(f.time.end)):y._cesium.Iso8601.MAXIMUM_VALUE})])),this.item=v._primitiveCollection,v.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var B={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"labelPointLayer",item:this,url:A.url,style:f};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};b0.prototype.createLabelRichtextGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){A==null&&console.log("geojson is required");var x=this._cesium.GeoJsonDataSource.load(A);this._viewer.dataSources.add(x);var y=this,I=new this._cesium.PointPrimitiveCollection;y.optiontext=[],x.then(function(B){y.item=B;for(var Q=B.entities.values,T=0;T<Q.length;T++){var w=Q[T],S;if(/^\[/.test(f.text)&&/\]$/.test(f.text)){var D=f.text.replace(/\[/,"").replace(/\]/,"");S=w.properties[D]._value}else S=f.text;y.optiontext.push(S),w.billboard=void 0;var R=y._viewer.scene.globe.ellipsoid,P=y._cesium.Cartographic.fromCartesian(w.position._value),M=y._cesium.Math.toDegrees(P.longitude),L=y._cesium.Math.toDegrees(P.latitude),F=f.pointHeight||P.height,k=[M,L,F],N=y._core.getuid(),G;k instanceof Array?k.length===2?G=y._cesium.Cartesian3.fromDegrees(k[0],k[1]):k.length===3&&(G=y._cesium.Cartesian3.fromDegrees(k[0],k[1],k[2])):k.z?G=y._cesium.Cartesian3.fromDegrees(k.x,k.y,k.z):G=y._cesium.Cartesian3.fromDegrees(k.x,k.y);var J="DivPoint"+N;I.add({id:J,position:G,color:y._cesium.Color.YELLOW,description:f.text})}y.item=I,y.pointPrimitive=y._viewer.scene.primitives.add(I);var K=!0,X,q,ee,ie;y.pointPrimitive.update=function(){for(var H=0,le,ue;H<y.pointPrimitive.length;H++){if(le=y.pointPrimitive.get(H),ie=le.position,ee=y._viewer.scene.cartesianToCanvasCoordinates(ie),!ee)return;q=document.getElementById(le.id),q||(ue='<div id="'+le.id+'" style="position: absolute; width: 200px; height: 134px;left: 0px; top: 0px; pointer-events:none; background: url('+window.SmartEarthRootUrl+Zr.divpoint1+`);transform: matrix(1, 0, 0, 1, 0, 0); transform-origin: left bottom 0px;"> <div class="title" style="position: inherit;top: 22px;left: 70px;font-size: 14px;text-align: left;color: rgba(255,255,255,1);text-shadow: 0 0 9px rgba(0,0,0,.75)">`+y.optiontext[H]+`</div> </div>`,$(".cesium-viewer").append(ue),q=document.getElementById(le.id)),le.description?q.style.transform="matrix(1, 0, 0, 1, "+ee.x+", "+(ee.y-157)+")":q.style.transform="matrix(1, 0, 0, 1, "+ee.x+", "+(ee.y-134)+")"}K&&(C||y.setVisibility(!1),K=!1)},typeof E=="function"&&E(B)}),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u5BCC\u6587\u672C");var v={id:f.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"DivPoint",item:this,url:A,style:f};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),this};b0.prototype.createLabelRichtextGeoJsonFeatureLayerProviderLayer=function(o,A,f,m,C,E){var x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium},y=this,I=new FA(this._viewer,this._cesium,x);this._Provider=I,I._loadTile=function(B){var Q=new y._cesium.PointPrimitiveCollection;y.optiontext=[],B.features.forEach(function(P){var M=options.pointHeight;if(P.properties.height!=null&&(M=parseFloat(P.properties.height)+M),/^\[/.test(options.pointHeight)&&/\]$/.test(options.pointHeight)){var L=options.pointHeight.replace(/\[/,"").replace(/\]/,"");M=parseFloat(P.properties[L])}if(f.position=new y._cesium.Cartesian3.fromDegrees(P.geometry.coordinates[0],P.geometry.coordinates[1],M),/^\[/.test(f.text)&&/\]$/.test(f.text)){var F=f.text.replace(/\[/,"").replace(/\]/,"");f.text=P.properties[F]}var k=y._core.getuid(),N="DivPoint"+k;Q.add({id:N,position:Cartesian3,color:y._cesium.Color.YELLOW,description:f.text}),y.optiontext.push(option.text)}),y.pointPrimitive=y._viewer.scene.primitives.add(Q);var T,w,S,D,R=!0;return y.pointPrimitive.update=function(){for(var P=0,M,L;P<y.pointPrimitive.length;P++){if(M=y.pointPrimitive.get(P),D=M.position,S=y._viewer.scene.cartesianToCanvasCoordinates(D),!S)return;w=document.getElementById(M.id),w||(L='<div id="'+M.id+'" style="position: absolute; width: 200px; height: 134px;left: 0px; top: 0px; pointer-events:none; background: url('+window.SmartEarthRootUrl+Zr.divpoint1+`);transform: matrix(1, 0, 0, 1, 0, 0); transform-origin: left bottom 0px;"> <div class="title" style="position: inherit;top: 22px;left: 70px;font-size: 14px;text-align: left;color: rgba(255,255,255,1);text-shadow: 0 0 9px rgba(0,0,0,.75)">`+y.optiontext[P]+`</div> </div>`,$(".cesium-viewer").append(L),w=document.getElementById(M.id)),M.description?w.style.transform="matrix(1, 0, 0, 1, "+S.x+", "+(S.y-157)+")":w.style.transform="matrix(1, 0, 0, 1, "+S.x+", "+(S.y-134)+")"}R&&(C||y.setVisibility(!1),R=!1)},y.item=Q,""},I.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u5BCC\u6587\u672C"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var v={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"DivPoint",item:this,url:A.url,style:f};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};b0.prototype.createModelGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,Cesium:this._cesium},y=this,I=f.material;!y._core.isnull(f)&&!y._core.isnull(f.color)&&(/^\[/.test(f.color)&&f.color.toString().charAt(0)=="["&&f.color.toString().charAt(f.color.length-1)=="]"||(y._core.isHtmlColor(f.color)?f.color=y._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=y._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=y._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a))));var v=new FA(this._viewer,this._cesium,x);this._Provider=v,v._loadTile=function(Q){var T={url:"",modelMatrix:y._cesium.Transforms.eastNorthUpToFixedFrame(origin),color:y._cesium.Color.DARKSALMON,scale:2},w=y._core.extend(T,f,!0);y._core.isnull(f.near)&&(f.near=0),y._core.isnull(f.far)&&(f.far=999999999);var S=parseFloat(f.near),D=parseFloat(f.far),R=new y._cesium.DistanceDisplayCondition(S,D);w.distanceDisplayCondition=R;var P=new y._cesium.PrimitiveCollection;return Q.features.forEach(function(M){w.id=M;var L=w.height;if(M.properties.height!=null&&(L=parseFloat(M.properties.height)),/^\[/.test(w.height)&&/\]$/.test(w.height)){var F=w.height.replace(/\[/,"").replace(/\]/,"");L=parseFloat(M.properties[F])}w.modelMatrix=y._cesium.Transforms.eastNorthUpToFixedFrame(y._cesium.Cartesian3.fromDegrees(M.geometry.coordinates[0],M.geometry.coordinates[1],L));var k=y._cesium.Model.fromGltf({id:M,url:w.uri,color:w.color,modelMatrix:w.modelMatrix,scale:w.scale,heightReference:parseInt(w.heightReference),distanceDisplayCondition:w.distanceDisplayCondition});P.add(k)}),P},this.item=v._primitiveCollection,v.addTo(this._viewer),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy,C||this.setVisibility(!1);var B={id:f.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"modelLayer",item:this,url:A.url,style:f};return this.setTreeobj(B),this._tree.insertGroupId(B,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};b0.prototype.createPointGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium},y=this;!y._core.isnull(f)&&!y._core.isnull(f.color)&&(/^\[/.test(f.color)&&f.color.toString().charAt(0)=="["&&f.color.toString().charAt(f.color.length-1)=="]"||(y._core.isHtmlColor(f.color)?f.color=y._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=y._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=y._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a)))),!y._core.isnull(f)&&!y._core.isnull(f.outlineColor)&&(/^\[/.test(f.outlineColor)&&f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(y._core.isHtmlColor(f.outlineColor)?f.outlineColor=y._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=y._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=y._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a))));var I=new FA(this._viewer,this._cesium,x);this._Provider=I,I._loadTile=function(B){var Q={Name:"",text:"",font:" 30px sans-serif",pixelSize:10,style:y._cesium.LabelStyle.OUTLINE,fillColor:y._cesium.Color.WHITE,outlineColor:y._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new y._cesium.Color(.165,.165,.165,.8),backgroundPadding:new y._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:y._cesium.HorizontalOrigin.CENTER,verticalOrigin:y._cesium.VerticalOrigin.CENTER,eyeOffset:y._cesium.Cartesian3.ZERO,pixelOffset:y._cesium.Cartesian2.ZERO,heightReference:y._cesium.HeightReference.NONE,scaleByDistance:new y._cesium.NearFarScalar(0,0,1,1)},T=f.material;!y._core.isnull(f)&&!y._core.isnull(f.backgroundColor)&&(/^\[/.test(f.backgroundColor)&&f.backgroundColor.toString().charAt(0)=="["&&f.backgroundColor.toString().charAt(f.backgroundColor.length-1)=="]"||(y._core.isHtmlColor(f.backgroundColor)?f.backgroundColor=y._color.colorFromHtmlColor(f.backgroundColor):(/^rgb/.test(f.backgroundColor)&&(f.backgroundColor=y._color.rgbaStringToRgbaObj(f.backgroundColor)),f.backgroundColor.r>1&&(f.backgroundColor.r=f.backgroundColor.r/255),f.backgroundColor.g>1&&(f.backgroundColor.g=f.backgroundColor.g/255),f.backgroundColor.b>1&&(f.backgroundColor.b=f.backgroundColor.b/255),f.backgroundColor.a>1&&(f.backgroundColor.a=f.backgroundColor.a/255),f.backgroundColor=y._color.createColor(f.backgroundColor.r,f.backgroundColor.g,f.backgroundColor.b,f.backgroundColor.a))));var w=y._core.extend(Q,f,!0);y._core.isnull(f.near)&&(f.near=0),y._core.isnull(f.far)&&(f.far=999999999);var S=parseFloat(f.near),D=parseFloat(f.far),R=new y._cesium.DistanceDisplayCondition(S,D);w.distanceDisplayCondition=R,y._core.isnull(f.font_size)&&(f.font_size="30px"),y._core.isnull(f.font_family)&&(f.font_family=" sans-serif"),w.font=parseFloat(f.font_size)+"px "+f.font_family;var P=new y._cesium.PointPrimitiveCollection;return B.features.forEach(function(M){w.id=M;var L=0;if(/^\[/.test(w.pointHeight)&&/\]$/.test(w.pointHeight)){var F=w.pointHeight.replace(/\[/,"").replace(/\]/,"");L=parseFloat(M.properties[F])}else w.pointHeight!==void 0&&w.pointHeight!==""?L=parseFloat(w.pointHeight):M.properties.height!=null&&(L=parseFloat(M.properties.height));if(/^\[/.test(f.color)&&/\]$/.test(f.color)){var k=f.color.replace(/\[/,"").replace(/\]/,"");w.color=M.properties[k],y._core.isHtmlColor(w.color)?w.color=y._color.colorFromHtmlColor(w.color):(/^rgb/.test(w.color)&&(w.color=y._color.rgbaStringToRgbaObj(w.color)),w.color.r>1&&(w.color.r=w.color.r/255),w.color.g>1&&(w.color.g=w.color.g/255),w.color.b>1&&(w.color.b=w.color.b/255),w.color.a>1&&(w.color.a=w.color.a/255),w.color=y._color.createColor(w.color.r,w.color.g,w.color.b,w.color.a))}if(/^\[/.test(f.outlineColor)&&/\]$/.test(f.outlineColor)){var k=f.outlineColor.replace(/\[/,"").replace(/\]/,"");w.outlineColor=M.properties[k],y._core.isHtmlColor(w.outlineColor)?w.outlineColor=y._color.colorFromHtmlColor(w.outlineColor):(/^rgb/.test(w.outlineColor)&&(w.outlineColor=y._color.rgbaStringToRgbaObj(w.outlineColor)),w.outlineColor.r>1&&(w.outlineColor.r=w.outlineColor.r/255),w.outlineColor.g>1&&(w.outlineColor.g=w.outlineColor.g/255),w.outlineColor.b>1&&(w.outlineColor.b=w.outlineColor.b/255),w.outlineColor.a>1&&(w.outlineColor.a=w.outlineColor.a/255),w.outlineColor=y._color.createColor(w.outlineColor.r,w.outlineColor.g,w.outlineColor.b,w.outlineColor.a))}w.position=new y._cesium.Cartesian3.fromDegrees(M.geometry.coordinates[0],M.geometry.coordinates[1],L),w.text=M.properties.name;var N={show:w.show,position:w.position,pixelSize:w.pixelSize,color:w.color,outlineColor:w.outlineColor,outlineWidth:w.outlineWidth,id:M},G="color:"+w.color.red*255+","+w.color.green*255+","+w.color.blue*255+";outlineColor:"+w.outlineColor.red*255+","+w.outlineColor.green*255+","+w.outlineColor.blue*255;y.Legend.push(G),P.add(N)}),P},this.item=I._primitiveCollection,I.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var v={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"pointLayer",item:this,url:A.url,style:f};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};b0.prototype.createPointGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium},y=this;!y._core.isnull(f)&&!y._core.isnull(f.color)&&(/^\[/.test(f.color)&&f.color.toString().charAt(0)=="["&&f.color.toString().charAt(f.color.length-1)=="]"||(y._core.isHtmlColor(f.color)?f.color=y._color.colorFromHtmlColor(f.color):(/^rgb/.test(f.color)&&(f.color=y._color.rgbaStringToRgbaObj(f.color)),f.color.r>1&&(f.color.r=f.color.r/255),f.color.g>1&&(f.color.g=f.color.g/255),f.color.b>1&&(f.color.b=f.color.b/255),f.color.a>1&&(f.color.a=f.color.a/255),f.color=y._color.createColor(f.color.r,f.color.g,f.color.b,f.color.a)))),!y._core.isnull(f)&&!y._core.isnull(f.outlineColor)&&(/^\[/.test(f.outlineColor)&&f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(y._core.isHtmlColor(f.outlineColor)?f.outlineColor=y._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=y._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=y._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a))));var I=new FA(this._viewer,this._cesium,x);this._Provider=I,I._loadTile=function(B){var Q={Name:"",text:"",font:" 30px sans-serif",pixelSize:10,style:y._cesium.LabelStyle.OUTLINE,fillColor:y._cesium.Color.WHITE,outlineColor:y._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new y._cesium.Color(.165,.165,.165,.8),backgroundPadding:new y._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:y._cesium.HorizontalOrigin.CENTER,verticalOrigin:y._cesium.VerticalOrigin.CENTER,eyeOffset:y._cesium.Cartesian3.ZERO,pixelOffset:y._cesium.Cartesian2.ZERO,heightReference:y._cesium.HeightReference.NONE,scaleByDistance:new y._cesium.NearFarScalar(0,0,1,1)},T=f.material;!y._core.isnull(f)&&!y._core.isnull(f.backgroundColor)&&(/^\[/.test(f.backgroundColor)&&f.backgroundColor.toString().charAt(0)=="["&&f.backgroundColor.toString().charAt(f.backgroundColor.length-1)=="]"||(y._core.isHtmlColor(f.backgroundColor)?f.backgroundColor=y._color.colorFromHtmlColor(f.backgroundColor):(/^rgb/.test(f.backgroundColor)&&(f.backgroundColor=y._color.rgbaStringToRgbaObj(f.backgroundColor)),f.backgroundColor.r>1&&(f.backgroundColor.r=f.backgroundColor.r/255),f.backgroundColor.g>1&&(f.backgroundColor.g=f.backgroundColor.g/255),f.backgroundColor.b>1&&(f.backgroundColor.b=f.backgroundColor.b/255),f.backgroundColor.a>1&&(f.backgroundColor.a=f.backgroundColor.a/255),f.backgroundColor=y._color.createColor(f.backgroundColor.r,f.backgroundColor.g,f.backgroundColor.b,f.backgroundColor.a))));var w=y._core.extend(Q,f,!0);y._core.isnull(f.near)&&(f.near=0),y._core.isnull(f.far)&&(f.far=999999999);var S=parseFloat(f.near),D=parseFloat(f.far),R=new y._cesium.DistanceDisplayCondition(S,D);w.distanceDisplayCondition=R,y._core.isnull(f.font_size)&&(f.font_size="30px"),y._core.isnull(f.font_family)&&(f.font_family=" sans-serif"),w.font=parseFloat(f.font_size)+"px "+f.font_family;var P=new y._cesium.PointPrimitiveCollection;return B.features.forEach(function(M){w.id=M;var L=0;if(/^\[/.test(w.pointHeight)&&/\]$/.test(w.pointHeight)){var F=w.pointHeight.replace(/\[/,"").replace(/\]/,"");L=parseFloat(M.properties[F])}else w.pointHeight!==void 0&&w.pointHeight!==""?L=parseFloat(w.pointHeight):M.properties.height!=null&&(L=parseFloat(M.properties.height));if(/^\[/.test(f.color)&&/\]$/.test(f.color)){var k=f.color.replace(/\[/,"").replace(/\]/,"");w.color=M.properties[k],y._core.isHtmlColor(w.color)?w.color=y._color.colorFromHtmlColor(w.color):(/^rgb/.test(w.color)&&(w.color=y._color.rgbaStringToRgbaObj(w.color)),w.color.r>1&&(w.color.r=w.color.r/255),w.color.g>1&&(w.color.g=w.color.g/255),w.color.b>1&&(w.color.b=w.color.b/255),w.color.a>1&&(w.color.a=w.color.a/255),w.color=y._color.createColor(w.color.r,w.color.g,w.color.b,w.color.a))}if(/^\[/.test(f.outlineColor)&&/\]$/.test(f.outlineColor)){var k=f.outlineColor.replace(/\[/,"").replace(/\]/,"");w.outlineColor=M.properties[k],y._core.isHtmlColor(w.outlineColor)?w.outlineColor=y._color.colorFromHtmlColor(w.outlineColor):(/^rgb/.test(w.outlineColor)&&(w.outlineColor=y._color.rgbaStringToRgbaObj(w.outlineColor)),w.outlineColor.r>1&&(w.outlineColor.r=w.outlineColor.r/255),w.outlineColor.g>1&&(w.outlineColor.g=w.outlineColor.g/255),w.outlineColor.b>1&&(w.outlineColor.b=w.outlineColor.b/255),w.outlineColor.a>1&&(w.outlineColor.a=w.outlineColor.a/255),w.outlineColor=y._color.createColor(w.outlineColor.r,w.outlineColor.g,w.outlineColor.b,w.outlineColor.a))}w.position=new y._cesium.Cartesian3.fromDegrees(M.geometry.coordinates[0],M.geometry.coordinates[1],L),w.text=M.properties.name;var N={show:w.show,position:w.position,pixelSize:w.pixelSize,color:w.color,outlineColor:w.outlineColor,outlineWidth:w.outlineWidth,id:M},G="color:"+w.color.red*255+","+w.color.green*255+","+w.color.blue*255+";outlineColor:"+w.outlineColor.red*255+","+w.outlineColor.green*255+","+w.outlineColor.blue*255;y.Legend.push(G),P.add(N)}),P},this.item=I._primitiveCollection,I.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+f.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var v={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"pointLayer",item:this,url:A.url,style:f};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};b0.prototype.setTreeobj=function(o){this.treeobj=o};b0.prototype.getLegend=function(){var o=[];return this.Legend!=null&&(o=this._core.unique(this.Legend)),o};b0.prototype.deleteObject=function(){if(this._Provider!=null&&this._Provider.setStatus(!1),this.items!=null&&this.items!=null&&this.items.length>0)for(var o=0;o<this.items.length;o++)this._viewer.scene.primitives.remove(this.items[o]);else this._viewer.scene.primitives.remove(this.item);if(this.treeobj.type==="DivPoint"&&this.item&&this.item._pointPrimitives!=null&&this.item._pointPrimitives!=null)for(var o=0;o<this.item._pointPrimitives.length;o++){var A=document.getElementById(this.item._pointPrimitives[o].id);A&&A.remove()}try{this._Provider.remove()}catch{}};b0.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.treeobj.url;return{type:this.treeobj.type,treeobj:{name:this.treeobj.name,pId:this.treeobj.pId},style:{show:o,url:A}}};b0.prototype.setRefresh=function(o){try{this._Provider&&this._Provider.setStatus(!o)}catch{}};b0.prototype.setVisibility=function(o){if(this.treeobj!=null&&this.treeobj.type==="DivPoint"&&this.item&&this.item._pointPrimitives!=null&&this.item._pointPrimitives!=null)for(var A=0;A<this.item._pointPrimitives.length;A++){var f=document.getElementById(this.item._pointPrimitives[A].id);f&&(f.style.display=o?"block":"none")}this.item!=null&&(this.item.show=o),this._Provider&&this._Provider.setStatus(!o)};Object.defineProperties(b0.prototype,{labelText:{set:bi.debounce(function(o){var A=o;if(!this._core.isnull(o)){var f=this.item.entities&&this.item.entities.values;if(f&&f.length>0)for(var m=0;m<f.length;m++)if(/^\[/.test(o)&&(A=o.replace(/\[/,"").replace(/\]/,""),A=f[m].properties[A]._value),f[m].label){f[m].label.text=A;try{f[m].point.show=!1}catch{}}else{try{f[m].point.show=!1}catch{}f[m].label=new this._cesium.LabelGraphics({text:A,font:"30px sans-serif",style:this._cesium.LabelStyle.FILL,fillColor:this._cesium.Color.WHITE,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new this._cesium.Color(.165,.165,.165,.8),backgroundPadding:new this._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,heightReference:this._cesium.HeightReference.NONE})}}},500)},labelStyles:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.style=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label)return o[0].label.style}},labelFont:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(o=o.toString().replace(/px/g,""),!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)){var f=A[0].label.font,m=16;if(f&&(f=f._value.trimLeft().trimRight(),m=f.split("px")[0]),A&&A.length>0&&A[0].label)for(var C=0;C<A.length;C++)A[C].label.font=m+"px "+o}}},500)},labelFontSize1:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(o=o.toString().replace(/px/g,""),!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)){var f=A[0].label.font,m="sans-serif";if(f&&(f=f._value.trimLeft().trimRight(),m=f.split("px")[1]),A&&A.length>0&&A[0].label)for(var C=0;C<A.length;C++)A[C].label.font=o+"px "+m}}},500)},labelFontSize:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(o=o.toString().replace(/px/g,""),!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.font=o+"px sans-serif"}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label)return parseFloat(o[0].label.font)}},labelFillColor:{set:bi.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.fillColor=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.fillColor;return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}}},labelOutlineColor:{set:bi.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.outlineColor=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.outlineColor;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},labelOutlineWidth:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].label.outlineWidth=o}},200),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.outlineWidth;return A?A._value:void 0}}},labelBackgroundColor:{set:bi.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.backgroundColor=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.backgroundColor;return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}}},labelBackground:{set:bi.debounce(function(o){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.showBackground=o},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label)return o[0].label.background}},labelScale:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].label.scale=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.scale;return A?A._value:void 0}}},labelHorizontalOrigin:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.horizontalOrigin=parseInt(o)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.horizontalOrigin;return A?A._value:void 0}}},labelVerticalOrigin:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.verticalOrigin=parseInt(o)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.verticalOrigin;return A?A._value:void 0}}},labelHeightReference:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=0;f<A.length;f++)A[f].label.heightReference=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.heightReference;return A?A._value:void 0}}},labelDistanceDisplayMaxCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=A[0].label.distanceDisplayCondition?A[0].label.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].label.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,parseInt(o)),A[m].label.scaleByDistance=new this._cesium.NearFarScalar(f,1,parseInt(o),0)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.distanceDisplayCondition?o[0].label.distanceDisplayCondition._value.far:Number.MAX_VALUE;return A}}},labelDistanceDisplayMinCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].label==null)&&A&&A.length>0&&A[0].label)for(var f=A[0].label.distanceDisplayCondition?A[0].label.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].label.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(parseInt(o),f),A[m].label.scaleByDistance=new this._cesium.NearFarScalar(parseInt(o),1,f,0)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label){var A=o[0].label.distanceDisplayCondition?o[0].label.distanceDisplayCondition._value.near:0;return A}}},labelHeight:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].position==null)&&A&&A.length>0&&A[0].position)for(var f=0;f<A.length;f++){var m=this._cesium.Cartographic.fromCartesian(A[f].position._value),C=this._cesium.Math.toDegrees(m.longitude),E=this._cesium.Math.toDegrees(m.latitude),x=this._cesium.Cartesian3.fromDegrees(C,E,o);A[f].position=x}}},500),get:function(){return 0}},labelShow:{set:bi.debounce(function(o){var A=this.item.entities&&this.item.entities.values;if(A&&A.length>0)for(var f=0;f<A.length;f++)!A[f].label&&o?(A[f].point&&(A[f].point.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard&&(A[f].billboard.show=!o),A[f].label=new this._cesium.LabelGraphics({text:"label",font:"30px sans-serif",style:this._cesium.LabelStyle.FILL,fillColor:this._cesium.Color.WHITE,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,show:!0,showBackground:!1,backgroundColor:new this._cesium.Color(.165,.165,.165,.8),backgroundPadding:new this._cesium.Cartesian2(7,5),scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,heightReference:this._cesium.HeightReference.NONE})):(A[f].label&&(A[f].label.show=o),A[f].point&&(A[f].point.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard&&(A[f].billboard.show=!o))},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].label==null)&&o&&o.length>0&&o[0].label)return o[0].label.show}},modelShow:{set:bi.debounce(function(o){var A=this.item.entities&&this.item.entities.values;if(A&&A.length>0)for(var f=0;f<A.length;f++)A[f].label&&(A[f].label.show=!o),A[f].point&&(A[f].point.show=!o),A[f].billboard&&(A[f].billboard.show=!o),!A[f].model&&o?A[f].model=new this._cesium.ModelGraphics({show:!0,scale:1,minimumPixelSize:0,incrementallyLoadTextures:!0,runAnimations:!0,clampAnimations:!0,shadows:this._cesium.ShadowMode.ENABLED,heightReference:this._cesium.HeightReference.NONE,color:this._cesium.Color.WHITE}):(A[f].model&&(A[f].model.show=o),A[f].label&&(A[f].label.show=!o),A[f].point&&(A[f].point.show=!o),A[f].billboard&&(A[f].billboard.show=!o))},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model)return o[0].model.show}},modelUri:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0)for(var f=0;f<A.length;f++)if(A[f].model)A[f].model.uri=o;else{if(/^\[/.test(o)){var m=o.split("[");m.length>1?o=m[0]+m[1].replace(/\[/,"").replace(/\]/,""):(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o])}A[f].model=new this._cesium.ModelGraphics({uri:o,show:!0,scale:1,minimumPixelSize:0,incrementallyLoadTextures:!0,runAnimations:!0,clampAnimations:!0,shadows:this._cesium.ShadowMode.ENABLED,heightReference:this._cesium.HeightReference.NONE,color:this._cesium.Color.WHITE})}}},500)},modelScale:{set:bi.debounce(function(o){if(!this._core.isnull(o)){o=parseFloat(o);var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].model.scale=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.scale;return A?A._value:void 0}}},modelShadows:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].model.shadows=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model)return o[0].model.shadows}},modelHeightReference:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].model.heightReference=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.heightReference;return A?A._value:void 0}}},modelDistanceDisplayMaxCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=A[0].model.distanceDisplayCondition?A[0].model.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].model.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,o)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model)var A=o[0].model.distanceDisplayCondition?o[0].model.distanceDisplayCondition._value.far:Number.MAX_VALUE}},modelDistanceDisplayMinCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=A[0].model.distanceDisplayCondition?A[0].model.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].model.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,f)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.distanceDisplayCondition?o[0].model.distanceDisplayCondition._value.near:0;return A}}},modelColor:{set:bi.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].model.color=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.color;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},modelLightColor:{set:bi.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].model==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].model.lightColor=o}},100),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].model==null)&&o&&o.length>0&&o[0].model){var A=o[0].model.lightColor;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},modelHeight:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].position==null)&&A&&A.length>0&&A[0].position)for(var f=0;f<A.length;f++){var m=this._cesium.Cartographic.fromCartesian(A[f].position._value),C=this._cesium.Math.toDegrees(m.longitude),E=this._cesium.Math.toDegrees(m.latitude),x=this._cesium.Cartesian3.fromDegrees(C,E,o);A[f].position=x}}},500),get:function(){return 0}},pointColor:{set:bi.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)A[f].point.color=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.color;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},pointShow:{set:bi.debounce(function(o){var A=this.item.entities&&this.item.entities.values;if(A&&A.length>0)for(var f=0;f<A.length;f++)!A[f].point&&o?(A[f].label&&(A[f].label.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard&&(A[f].billboard.show=!o),A[f].point=new this._cesium.PointGraphics({color:this._cesium.Color.WHITE,pixelSize:1,outlineColor:this._cesium.Color.BLACK,outlineWidth:0,show:!0})):(A[f].point&&(A[f].point.show=o),A[f].label&&(A[f].label.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard&&(A[f].billboard.show=!o))},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point)return o[0].point.show}},pointPixelSize:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].point.pixelSize=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.pixelSize;return A?A._value:void 0}}},pointOutlineColor:{set:bi.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)A[f].point.outlineColor=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.outlineColor;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},pointOutlineWidth:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)/^\[/.test(o)&&(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o]),A[f].point.outlineWidth=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.outlineWidth;return A?A._value:void 0}}},pointHeightReference:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=0;f<A.length;f++)A[f].point.heightReference=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.heightReference;return A?A._value:void 0}}},pointDistanceDisplayMaxCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=A[0].point.distanceDisplayCondition?A[0].point.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].point.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,o),A[m].point.scaleByDistance=new this._cesium.NearFarScalar(f,1,o,0)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.distanceDisplayCondition?o[0].point.distanceDisplayCondition._value.far:Number.MAX_VALUE;return A}}},pointDistanceDisplayMinCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].point==null)&&A&&A.length>0&&A[0].point)for(var f=A[0].point.distanceDisplayCondition?A[0].point.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].point.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,f),A[m].point.scaleByDistance=new this._cesium.NearFarScalar(o,1,f,0)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].point==null)&&o&&o.length>0&&o[0].point){var A=o[0].point.distanceDisplayCondition?o[0].point.distanceDisplayCondition._value.near:0;return A}}},pointHeight:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].position==null)&&A&&A.length>0&&A[0].position)for(var f=0;f<A.length;f++){var m=this._cesium.Cartographic.fromCartesian(A[f].position._value),C=this._cesium.Math.toDegrees(m.longitude),E=this._cesium.Math.toDegrees(m.latitude),x=this._cesium.Cartesian3.fromDegrees(C,E,o);A[f].position=x}}},500),get:function(){return 0}},billboardShow:{set:bi.debounce(function(o){var A=this.item.entities&&this.item.entities.values;if(A&&A.length>0)for(var f=0;f<A.length;f++)!A[f].billboard&&o?(A[f].point&&(A[f].point.show=!o),A[f].label&&(A[f].label.show=!o),A[f].model&&(A[f].model.show=!o),A[f].billboard=new this._cesium.BillboardGraphics({show:!0,scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,rotation:0,alignedAxis:this._cesium.Cartesian3.ZERO,width:void 0,height:void 0,color:this._cesium.Color.WHITE,heightReference:this._cesium.HeightReference.NONE})):(A[f].billboard&&(A[f].billboard.show=o),A[f].point&&(A[f].point.show=!o),A[f].label&&(A[f].label.show=!o),A[f].billboard&&(A[f].billboard.show=!o))},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard)return o[0].billboard.show}},billboardImage:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0)for(var f=0;f<A.length;f++){if(/^\[/.test(o)){var m=o.split("[");m.length>1?o=m[0]+m[1].replace(/\[/,"").replace(/\]/,""):(o=o.replace(/\[/,"").replace(/\]/,""),o=A[f].properties[o])}A[f].billboard?A[f].billboard.image=o:A[f].billboard=new this._cesium.BillboardGraphics({image:o,show:!0,scale:1,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,eyeOffset:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,rotation:0,alignedAxis:this._cesium.Cartesian3.ZERO,width:void 0,height:void 0,color:this._cesium.Color.WHITE,heightReference:this._cesium.HeightReference.NONE})}}},500)},billboardScale:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.scale=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.scale;return A?A._value:void 0}}},billboardHorizontalOrigin:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.horizontalOrigin=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard)return o[0].billboard.horizontalOrigin}},billboardVerticalOrigin:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.verticalOrigin=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard)return o[0].billboard.verticalOrigin}},billboardWidth:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.width=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.width;return A?A._value:void 0}}},billboardHeight:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.height=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.height;return A?A._value:void 0}}},billboardColor:{set:bi.debounce(function(o){if(!this._core.isnull(o)){this._core.isnull(o)||(this._core.isHtmlColor(o)?o=this._color.colorFromHtmlColor(o):(/^rgb/.test(o)&&(o=this._color.rgbaStringToRgbaObj(o)),o.r>1&&(o.r=o.r/255),o.g>1&&(o.g=o.g/255),o.b>1&&(o.b=o.b/255),o.a>1&&(o.a=o.a/255),o=this._color.createColor(o.r,o.g,o.b,o.a)));var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=0;f<A.length;f++)A[f].billboard.color=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.color;try{return this._color.toHtmlColor("rgb("+A._value.red*255+","+A._value.green*255+","+A._value.blue*255+","+A._value.alpha*255+")")}catch{}}}},billboardHeightReference:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].model)for(var f=0;f<A.length;f++)A[f].billboard.heightReference=o}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].model){var A=o[0].billboard.heightReference;return A?A._value:void 0}}},billboardDistanceDisplayMaxCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=A[0].billboard.distanceDisplayCondition?A[0].billboard.distanceDisplayCondition._value.near:0,m=0;m<A.length;m++)A[m].billboard.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(f,o),A[m].billboard.scaleByDistance=new this._cesium.NearFarScalar(f,1,o,0)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.distanceDisplayCondition?o[0].billboard.distanceDisplayCondition._value.far:Number.MAX_VALUE;return A}}},billboardDistanceDisplayMinCondition:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].billboard==null)&&A&&A.length>0&&A[0].billboard)for(var f=A[0].billboard.distanceDisplayCondition?A[0].billboard.distanceDisplayCondition._value.far:Number.MAX_VALUE,m=0;m<A.length;m++)A[m].billboard.distanceDisplayCondition=new this._cesium.DistanceDisplayCondition(o,f),A[m].billboard.scaleByDistance=new this._cesium.NearFarScalar(o,1,f,0)}},500),get:function(){var o=this.item.entities&&this.item.entities.values;if(!(o&&!/^point.fid/.test(o[0]._id)&&o[0].billboard==null)&&o&&o.length>0&&o[0].billboard){var A=o[0].billboard.distanceDisplayCondition?o[0].billboard.distanceDisplayCondition._value.near:0;return A}}},billboardPHeight:{set:bi.debounce(function(o){if(!this._core.isnull(o)){var A=this.item.entities&&this.item.entities.values;if(!(A&&!/^point.fid/.test(A[0]._id)&&A[0].position==null)&&A&&A.length>0&&A[0].position)for(var f=0;f<A.length;f++){var m=this._cesium.Cartographic.fromCartesian(A[f].position._value),C=this._cesium.Math.toDegrees(m.longitude),E=this._cesium.Math.toDegrees(m.latitude),x=this._cesium.Cartesian3.fromDegrees(C,E,o);A[f].position=x}}},500),get:function(){return 0}}});var Da=null,SUi=function(o,A,f,m){let C=f,E=m;var x=A.west,y=A.east,I=A.south,v=A.north,B=y-x,Q=v-I,T=o.longitude*180/Math.PI,w=o.latitude*180/Math.PI;return o.normalizedLongitude=(T-x)/B*f,o.normalizedLatitude=(w-I)/Q*m,o},DUi=function(o,A,f,m){var C=[],E=o[0].longitude!==void 0;return o.forEach(function(x){var y=[],I=E?x:tL.scene.globe.ellipsoid.cartesianToCartographic(x);I=SUi(I,A,f,m),y.push(I.normalizedLongitude),y.push(I.normalizedLatitude),C.push(y)}),C},TUi=function(o,A,f){var m=32,C=A.west*Da.Math.DEGREES_PER_RADIAN,E=A.east*Da.Math.DEGREES_PER_RADIAN,x=A.south*Da.Math.DEGREES_PER_RADIAN,y=A.north*Da.Math.DEGREES_PER_RADIAN,I=new Da.Rectangle(C,x,E,y),v=DUi(o,I,m,m),B=MUi(v,"#FF0000",m,m);return B},MUi=function(o,A,f,m,C){if(C===void 0){var C=document.createElement("canvas");C.width=f,C.height=m}var E=C.getContext("2d");if(!(o.length<=0)){E.moveTo(o[0][0],o[0][1]);for(var x=0;x<o.length;x++)E.lineTo(o[x][0],o[x][1]);return A!=null&&A!=null&&(E.fillStyle=A,E.fill()),C}};function qQ(o,A){return Math.floor(Math.random()*(A-o+1))+o}function PUi(){return globalThis.GEOWORLD_BASE_URL+"Workers/ParseElevationWorker.js"}function RUi(o,A){var f=Da.defer();return qQ=TUi(o.vertices,A,o.heights[0]),qQ.timeStamp=o.timeStamp,qQ.mtHeight=o.heights,qQ.mtType=o.mtType,qQ.fromKML=o.fromKML,qQ.rect=o.rectangle,qQ.level=o.level,f.resolve(qQ),f.promise}function LUi(o,A){return Math.floor(Math.random()*(A-o+1))+o}function FUi(o,A){var f=Da.defer(),m=[];return o.forEach(function(C){m.push(RUi(C,A))}),Promise.all(m).then(function(C){var E=C[0].lenght,x=function(v,B){return B.timeStamp-v.timeStamp};if(C.length===1)f.resolve(C[0]);else{var y=C.sort(x),I=y.shift();y.forEach(function(v){I.forEach(function(B,Q){B===qQ&&v[Q]!==qQ&&(I[Q]=v[Q])})}),f.resolve(I)}}),f.promise}var tL,Oft=!1;function ah(o,A,f){if(Da=f,tL=o,!Da.defined(A))throw new Da.DeveloperError("options is required.");this._errorEvent=new Da.Event,this._modelFloorMasks={},this._credit=A.credit,typeof this._credit=="string"&&(this._credit=new Da.Credit(this._credit)),A.heightMapWidth=Da.defaultValue(A.heightMapWidth,32),A.heightMapHeight=Da.defaultValue(A.heightMapHeight,32),this._options=A,this.readyPromise=Promise.resolve(!0),this._subdomains=A.subdomains,A.firstRequestUrl=A.url.replace("{s}",this.sTag(0,0,0)),this._firstRequest=A.firstRequestUrl+"?request=GetMap&Version=1.3.0&Service=WMS&CRS=EPSG:4326&bbox=-90,-180,90,180&height=32&width=32&optimizedOnly=0&v=1&layers="+A.layerName+"&Styles=&Format=image/mpt";var m=this,C=A.pngOnly;A.maxTerrainLevel!==void 0&&isNaN(A.maxTerrainLevel)&&(A.maxTerrainLevel=void 0),this._maxTerrainLevel=Da.defaultValue(A.maxTerrainLevel,30),C?m.setFormatMPT(!1):$.ajax({url:A.cacheUrl?`${A.cacheUrl}/0/0/0.${A.cacheFormat||"mpt"}`:this._firstRequest,success:function(x){var y=!!(Da.defined(x.childNodes)&&x.childNodes.length>0);if(!!y)return m.setFormatMPT(!1),null;m.setFormatMPT(!0)},error:function(){return m.setFormatMPT(!1),null},async:!1}),A.cacheUrl&&(this.isCache=!0,this.cacheLevel=A.cacheLevel||16,this._cacheUrl=`${A.cacheUrl}/{z}/{x}/{reverseY}.${A.cacheFormat||"mpt"}`);let E=this._maxTerrainLevel;this._availability={computeMaximumLevelAtPosition:function(x){return Math.min(E,16)}},this._urlTemplate=A.url+"?request=GetMap&Version=1.3.0&Service=WMS&v=1&CRS=EPSG:4326&bbox={south},{west},{north},{east}&height={height}&width={width}&optimizedOnly={optimizedOnly}&layers="+A.layerName+"&Styles=&Format=image/"+this._format,this._allElevationLayers=null,this._tilingScheme=new Da.GeographicTilingScheme,this._levelZeroMaximumGeometricError=Da.TerrainProvider.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,A.heightMapWidth*4,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._workerPool=new Bv({workerPath:PUi()},Da),this._pendingRequests=0,this._requestGridSize=8,this._requestsCache={},this._requestsCacheKeys=[],this.errorEvent.addEventListener(function(x){},this)}ah._geometricErrorFactor=2;Object.defineProperties(ah.prototype,{errorEvent:{get:function(){return this._errorEvent}},availability:{get:function(){return this._availability}},credit:{get:function(){return this._credit}},hasVertexNormals:{get:function(){return!1}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return!0}},hasWaterMask:{get:function(){return!1}},heightMapHeight:{get:function(){return this._options.heightMapHeight}},heightMapWidth:{get:function(){return this._options.heightMapWidth}},pendingRequests:{get:function(){return this._pendingRequests}}});ah.prototype.setFormatMPT=function(o){if(!(o&&this.pngOnly)){var A=this._format;this._format=o?"mpt":"png",A!==this._format&&(this._isMPT=o,this._urlTemplate!==void 0&&(this._urlTemplate=this._urlTemplate.replace("image/"+A,"image/"+this._format)))}};ah.prototype.getLevelMaximumGeometricError=function(o){return this._levelZeroMaximumGeometricError/(1<<o)*ah._geometricErrorFactor};ah.prototype.createKeyFromTile=function(o,A,f){return o+"_"+A+"_"+f};ah.prototype.getTileDataAvailable=function(o,A,f){var m=Math.min(this._maxTerrainLevel,25);return this._isMPT?!0:f<m};ah.prototype.requestFactorForLevel=function(o){var A=Math.log(this._requestGridSize)/Math.log(2);return A=Math.min(A,o),Math.pow(2,A)};ah.prototype.getRequestBaseTerrainUrl=function(o,A,f,m){return this.getRequestUrl(o,A,f,m)};ah.prototype.getRequestElevationLayer=function(o,A,f){return this.getRequestUrl(o,A,f,!1,!0)};ah.prototype.getRequestUrl=function(y,I,v,m,C){var E=v,x=m!=null?this.requestFactorForLevel(v):1,y=m!=null?(y-y%x)/x:y,I=m!=null?(I-I%x)/x:I,v=m!=null?v-Math.log(x)/Math.log(2):v;if(this.isCache&&v!==0&&v<=this.cacheLevel){let w=this.tilingScheme.getNumberOfYTilesAtLevel(v)-I-1;return this._cacheUrl.replace("{x}",y).replace("{reverseY}",w).replace("{z}",v)}var B=this.tilingScheme.tileXYToNativeRectangle(y,I,v),Q=this.heightMapWidth*x===256&&m?1:0;C&&(Q=0);var T=this._urlTemplate.replace("{south}",B.south).replace("{north}",B.north).replace("{west}",B.west).replace("{east}",B.east).replace("{optimizedOnly}",Q).replace("{width}",this.heightMapWidth*x).replace("{height}",this.heightMapHeight*x).replace("{s}",this.sTag(y,I,v));return T+"&level="+v+"&origLevel="+E};ah.prototype.isT_Inside_E=function(o,A){return o.west>=A.west*Da.Math.DEGREES_PER_RADIAN&&o.east<=A.east*Da.Math.DEGREES_PER_RADIAN&&o.south>=A.south*Da.Math.DEGREES_PER_RADIAN&&o.north<=A.north*Da.Math.DEGREES_PER_RADIAN};ah.prototype.isT_Intersects_E=function(o,A){var f=o.west*Da.Math.RADIANS_PER_DEGREE,m=o.east*Da.Math.RADIANS_PER_DEGREE,C=o.south*Da.Math.RADIANS_PER_DEGREE,E=o.north*Da.Math.RADIANS_PER_DEGREE,x=new Da.Rectangle(f,C,m,E),y=Da.Rectangle.intersection(x,A,new Da.Rectangle);return y};ah.prototype.sTag=function(o,A,f){if(this._subdomains==null)return"";var m=(o+A+f)%this._subdomains.length;return this._subdomains[m]};ah.prototype.refreshElevationLayer=function(o){if(o.rectangle&&tL.scene.globe._surface._levelZeroTiles!==void 0){var A=this.findDirectParent(o.rectangle,!0);A.freeResources()}};ah.prototype.findDirectParent=function(o,A){var f=function(E,x,y){var I=y?4.1:2.1;if(E._rectangle.width<=x.width*I&&Da.Rectangle.contains(E._rectangle,Da.Rectangle.center(x)))return E;for(var v=E.children.length,B=0;B<v;B++){var Q=E.children[B];if(Da.Rectangle.contains(Q._rectangle,Da.Rectangle.center(x)))return f(Q,x,y)}return null};if(o.width==Math.PI)return null;for(var m=0;m<tL.scene.globe._surface._levelZeroTiles.length;m++){var C=f(tL.scene.globe._surface._levelZeroTiles[m],o,A);if(C)return C}return null};ah.prototype.isTileAvailable=function(o,A,f){var m=this._tilingScheme.tileXYToRectangle(o,A,f,new Da.Rectangle),C=this.findDirectParent(m);if(C&&C.data&&C.data.terrainData){if(!(C.data.terrainData._childTileMask>0))return!1;for(var E=C.children.length,x=0;x<E;x++){var y=C.children[x];if(Da.Rectangle.equals(y._rectangle,m))return C.data.terrainData._childTileMask&1<<x}}return!0};ah.prototype.markTileAsUnavailable=function(o,A,f){var m=this._tilingScheme.tileXYToRectangle(o,A,f,new Da.Rectangle),C=this.findDirectParent(m);C&&C.data&&C.data.terrainData&&C.data.terrainData._childTileMask>0&&$.each(C.children,function(E,x){if(Da.Rectangle.equals(x._rectangle,m)){switch(E){case 0:C.data.terrainData._childTileMask&=-5;break;case 1:C.data.terrainData._childTileMask&=-9;break;case 2:C.data.terrainData._childTileMask&=-2;break;case 3:C.data.terrainData._childTileMask&=-3;break;default:}return!1}return!0})};ah.prototype.requestBaseTerrainTileGeometry=function(o,A,f,m){return this.requestTileGeometryBuffers(o,A,f,m)};ah.prototype.requestElevationLayerTileGeometry=function(o,A,f,m,C){return this.requestTileGeometryBuffers(o,A,f,m,C)};ah.prototype.requestTileGeometryBuffers=function(o,A,f,m,C){var E=this,x=15,y={};y.requestedRectangle=this.tilingScheme.tileXYToNativeRectangle(o,A,f),y.layer=C;var T,I,v,B,Q=Da.defer(),T=this.requestTileHeightBuffer(o,A,f,m,void 0,C);return T===void 0?void 0:(I=this.requestTileHeightBuffer(o+1,A,f,m,!0,C),v=this.requestTileHeightBuffer(o,A+1,f,m,!0,C),B=this.requestTileHeightBuffer(o+1,A+1,f,m,!0,C),Promise.all([T,I,v,B]).then(function(w){if(Oft==0){if(w[0].myReject!=null&&w[0].myReject){Q.reject();return}for(var S=E.heightMapWidth+1,D=E.heightMapHeight+1,R=new Float32Array(S*D),P=w[0].isFloor,M=0;M<S;M++)for(var L=0;L<D;L++){var F=M,k=L,N=0;L===S-1&&(k=0,N=1,P&&(N=0,k=S-2)),M===D-1&&(F=0,N=2);var G=M*S+L,J=F*E.heightMapWidth+k;w[N]!==null&&(w[N].myReject==null||!w[N].myReject)&&(R[G]=w[N][J])}(w[3].myReject==null||!w[3].myReject)&&(R[S*D-1]=w[3][0]);var K=E.arrayToHeightmapTerrainData(R,S,D,x);y.buffer=K,Q.resolve(y)}else{var K=E.arrayToHeightmapTerrainData(w[0],E.heightMapWidth,E.heightMapHeight);y.buffer=K,Q.resolve(y)}}).catch(function(){Q.reject()}),Q.promise)};ah.prototype.requestTileGeometry=function(o,A,f,m){var C=this,E=[],x=C.tilingScheme.tileXYToNativeRectangle(o,A,f);this._allElevationLayers!=null&&this._allElevationLayers.length>0&&f>7?$(this._allElevationLayers).each(function(I,v){var B=v.show;if(B){var Q=v.rectangle;C.isT_Inside_E(x,Q)?(C.setFormatMPT(!1),E.push(C.requestElevationLayerTileGeometry(o,A,f,m,v))):C.isT_Intersects_E(x,Q)!=null?(C.setFormatMPT(!1),E.push(C.requestElevationLayerTileGeometry(o,A,f,m,v)),E.push(C.requestBaseTerrainTileGeometry(o,A,f,m))):(C.setFormatMPT(!0),E.push(C.requestBaseTerrainTileGeometry(o,A,f,m)))}else C.setFormatMPT(!0),E.push(C.requestBaseTerrainTileGeometry(o,A,f,m))}):(C.setFormatMPT(!0),E.push(C.requestBaseTerrainTileGeometry(o,A,f,m)));var y=Da.defer();return Promise.all(E).then(function(I){if(I.length===1)I.layer!==void 0&&console.log("missing scale and offset"),y.resolve(I[0].buffer);else if(I.length>1){var v=$.grep(I,function(S){return S.layer!==void 0}),B=$.grep(I,function(S){return S.layer===void 0});if(v.length===0)y.resolve(I[0].buffer);else{var Q=v[v.length-1],T=B[B.length-1],w={tolerance:Q.layer.nullTolerance,nullValueNumber:Q.layer.nullValueNumber,verticesX:Q.layer.polygonVerticesX,verticesY:Q.layer.polygonVerticesY,scale:Da.defaultValue(Q.layer.scale,1),offset:Da.defaultValue(Q.layer.offset,0)};y.resolve(C.mergeBuffers(T.buffer,Q.buffer,w,T.requestedRectangle))}}else y.reject()}).catch(function(){y.reject()}),y.promise};ah.prototype.mergeBuffers=function(o,A,f,m){var C,E,x,y,I,v=33,B=33,Q=m.west,T=m.north,w=m.east,S=m.south,D=m.width/v,R=m.height/B,P=f.scale,M=f.offset,L=f.nullValueNumber,F=f.tolerance,k=L!==void 0&&F!==void 0;if(k)var N=Da.defaultValue(f.nullValueNumber,0),G=Da.defaultValue(Number(f.tolerance),0);var J=new Float32Array(v*B);for(C=0,I=T;C<B;C++,I+=R)for(E=0,y=Q;E<v;E++,y+=D)x=C*v+E,k?J[x]=!A._buffer[x]||A._buffer[x]>=N-G&&A._buffer[x]<=N+G?o._buffer[x]:A._buffer[x]*P+M:J[x]=A._buffer[x]?A._buffer[x]*P+M:o._buffer[x];return this.arrayToHeightmapTerrainData(J,v,B,15)};ah.prototype.requestTileHeightBuffer=function(o,A,f,m,C,E){var x=this;if(!isNaN(o+A+f)){(!Da.defined(m)||m===!1)&&(m=new Da.Request({defer:!0}));var y=m.defer==0;C=Da.defaultValue(y,!1);var I=Da.defer();if(Oft==0){var v;if(E!==void 0)E.getUrlFromSTag=function(ee,ie,H){return E.subdomains===void 0?E.url:E.subdomains[0]+"/SG"},v=this.getRequestElevationLayer(o,A,f).replace(this._options.url,E.getUrlFromSTag(o,A,f)+"/Elevation").replace(this._options.layerName,E.name),E.format==="mpt"&&(v=v.replace("image/png","image/mpt"));else{v=this.getRequestBaseTerrainUrl(o,A,f,y||C);var B=tL.terrainProvider.tilingScheme.tileXYToRectangle(o,A,f),Q=tL.terrainProvider._modifyTerrainObjects,T=Da.defer();if(Q!==void 0){var w=[];if(Q.forEach(function(ee){ee.show&&Da.Rectangle.intersection(B,ee.rectangle,new Da.Rectangle)!=null&&w.push(ee)}),w.length>0)if(w.length===1&&w[0].modelFloorBestLevel&&f>w[0].modelFloorBestLevel)T.resolve("NoMerge");else{var S=FUi(w,B,f);Promise.resolve(S).then(function(ee){T.resolve(ee)}).catch(function(ee){console.log(ee)})}else T.resolve("NoMerge")}else T.resolve("NoMerge");var D=Da.defer(),R=$.grep([],function(ee){return ee._selectedTiles.length>0});if(R.length===1&&R[0].level&&f>R[0].level)D.resolve("NoFloor");else{var P=!1,M=32,L=65535;R.forEach(function(ee){if(ee.ready&&ee.show&&ee.rootFloorRectangle!==void 0&&Da.Rectangle.intersection(B,ee.rootFloorRectangle)!==void 0){for(var ie=new Uint16Array(M*M),H=B.west,le=B.south,ue=(B.east-B.west)/32,Ae=(B.north-B.south)/32,he,ge=0;ge<M;ge++)for(var fe=0;fe<M;fe++){var ae=H+ue*fe+ue/2,U=B.north-Ae*ge-Ae/2,W=new Da.Cartographic(ae,U);he=L;var Y=ee.getHRMTFP(ee,W,!0);Y!=null&&Y.content&&Y.content._model&&Y.content._model.floor&&(he=Y.content._model.floor.getHeight(W.longitude,W.latitude)),he!==L&&(he+=1.5),ie[ge*M+fe]=he}P=!0,D.resolve(ie)}}),P||D.resolve("NoFloor")}var F=tL.scene.globe.ellipsoid}if(this._requestsCache.hasOwnProperty(v)===!1){if(this._requestsCache[v]={},this._requestsCacheKeys.push(v),this._requestsCacheKeys.length>100){for(var k=0;k<50;k++)delete this._requestsCache[this._requestsCacheKeys[k]];this._requestsCacheKeys.splice(0,50)}}else{var N=this._requestsCacheKeys.indexOf(v);this._requestsCacheKeys.splice(N,1),this._requestsCacheKeys.push(v)}var G=this._requestsCache[v];if(G.dataLoaded===void 0&&(G.dataLoaded=Da.Resource.fetchArrayBuffer(v),!Da.defined(G.dataLoaded)))return;var J=this;this._pendingRequests++,Promise.resolve(G.dataLoaded).then(function(ee){G.workerFinished===void 0&&(G.workerFinished=J._workerPool.queueWorkItem({buffer:ee,isElevation:E!==void 0,level:f})),Promise.all([G.workerFinished,T.promise,D.promise]).then(function(ie){var H=ie[1]!==void 0&&ie[1]!=="NoMerge",le=ie[2]!==void 0&&ie[2]!=="NoFloor";if(ie[0].rejected){for(var ue=J.heightMapWidth*J.heightMapHeight,Ae=new Int16Array(ue),he=0,ge=0;ge<ue;ge++)Ae[ge]=300;return f>2&&(Ae.myReject=!0),I.resolve(Ae),I.promise}var fe=J.extractTileHeightBuffer(ie[0].buffer,o,A,f);if(J._pendingRequests--,H)for(var ge=0;ge<32;ge++)for(var ae=0;ae<32;ae++){var U=ge*32+ae;fe[U]=ie[1].mtHeight[0]}if(le){for(var ge=0;ge<32;ge++)for(var ae=0;ae<32;ae++){var U=ge*32+ae;fe[U]=ie[2][U]===65535||ie[2][U]>10500?fe[U]:ie[2][U]}fe.isFloor=!0}I.resolve(fe)}).catch(function(){for(var ie=J.heightMapWidth*J.heightMapHeight,H=new Int16Array(ie),le=0,ue=0;ue<ie;ue++)H[ue]=300;return f>2&&(H.myReject=!0),I.resolve(H),I.promise})}).catch(function(){J._pendingRequests--,I.reject()})}else{for(var K=this.heightMapWidth*this.heightMapHeight,X=new Int16Array(K),q=LUi(0,1500),k=0;k<K;k++)X[k]=q;I.resolve(X)}return I.promise}};ah.prototype.extractTileHeightBuffer=function(o,A,f,m){try{for(var C=this.requestFactorForLevel(m),E=A%C,x=f%C,y=new Float32Array(this.heightMapWidth*this.heightMapHeight),I=1e6,v=-1e5,B=0;B<this.heightMapHeight;B++)for(var Q=0;Q<this.heightMapWidth;Q++){var T=B+x*this.heightMapHeight,w=Q+E*this.heightMapWidth,S=B*this.heightMapWidth+Q,D=T*this.heightMapWidth*C+w;o[D]>v&&(v=o[D]),o[D]<I&&(I=o[D]),y[S]=o[D]}}catch(R){console.log(R.message)}return y};ah.prototype.arrayToHeightmapTerrainData=function(o,A,f,m){Da.defined(o)===!1&&(o=new Int16Array(A*f));var C={buffer:o,width:A,height:f,childTileMask:m};return new Da.HeightmapTerrainData(C)};var qPe=ah;var NUi=function(o,A,f,m){let C=f,E=m;var x=A.west,y=A.east,I=A.south,v=A.north,B=y-x,Q=v-I,T=o.longitude*180/Math.PI,w=o.latitude*180/Math.PI;return o.normalizedLongitude=(T-x)/B*f,o.normalizedLatitude=(w-I)/Q*m,o},kUi=function(o,A,f,m){var C=[],E=o[0].longitude!==void 0;return o.forEach(function(x){var y=[],I=E?x:jH.scene.globe.ellipsoid.cartesianToCartographic(x);I=NUi(I,A,f,m),y.push(I.normalizedLongitude),y.push(I.normalizedLatitude),C.push(y)}),C},OUi=function(o,A,f){var m=32,C=A.west*Cesium.Math.DEGREES_PER_RADIAN,E=A.east*Cesium.Math.DEGREES_PER_RADIAN,x=A.south*Cesium.Math.DEGREES_PER_RADIAN,y=A.north*Cesium.Math.DEGREES_PER_RADIAN,I=new Cesium.Rectangle(C,x,E,y),v=kUi(o,I,m,m),B=UUi(v,"#FF0000",m,m);return B},UUi=function(o,A,f,m,C){if(C===void 0){var C=document.createElement("canvas");C.width=f,C.height=m}var E=C.getContext("2d");if(!(o.length<=0)){E.moveTo(o[0][0],o[0][1]);for(var x=0;x<o.length;x++)E.lineTo(o[x][0],o[x][1]);return A!=null&&A!=null&&(E.fillStyle=A,E.fill()),C}};function GUi(o,A){return Math.floor(Math.random()*(A-o+1))+o}function HUi(){return SmartEarthRootUrl+"Workers/ParseElevationWorker.js"}var jH,Uft=!1;function fm(o,A){if(jH=o,!Cesium.defined(A))throw new Cesium.DeveloperError("options is required.");this._errorEvent=new Cesium.Event,this._credit=A.credit,typeof this._credit=="string"&&(this._credit=new Cesium.Credit(this._credit)),A.heightMapWidth=Cesium.defaultValue(A.heightMapWidth,32),A.heightMapHeight=Cesium.defaultValue(A.heightMapHeight,32),this._options=A,this._subdomains=A.subdomains,A.url=A.url.replace("{s}",this.sTag(0,0,0)),this._firstRequest=A.url+"?request=GetMap&Version=1.3.0&Service=WMS&CRS=EPSG:4326&bbox=-90,-180,90,180&height=32&width=32&optimizedOnly=0&layers="+A.layerName+"&Styles=&Format=image/mpt",A.token&&(this._firstRequest+="&token="+A.token),this._requestVertexNormals=Cesium.defaultValue(A.requestVertexNormals,!1);var f=this;$.ajax({url:A.cacheUrl?`${A.cacheUrl}/0/0/0.${A.cacheFormat||"mpt"}`:this._firstRequest,success:function(C){var E=!!(Cesium.defined(C.childNodes)&&C.childNodes.length>0);if(E)return f._isMPT=!1,f._format="png",null;f._isMPT=!0,f._format="mpt"},error:function(){return f._isMPT=!1,f._format="png",null},async:!1}),A.cacheUrl&&(this.isCache=!0,this.cacheLevel=A.cacheLevel||16,this._cacheUrl=`${A.cacheUrl}/{z}/{x}/{reverseY}.${A.cacheFormat||"mpt"}`);let m=16;this._availability={computeMaximumLevelAtPosition:function(C){return Math.min(m,16)}},this._urlTemplate=A.url+"?request=GetMap&Version=1.3.0&Service=WMS&CRS=EPSG:4326&bbox={south},{west},{north},{east}&height={height}&width={width}&optimizedOnly={optimizedOnly}&layers="+A.layerName+"&Styles=&Format=image/"+this._format,A.token&&(this._urlTemplate+="&token="+A.token),this._tilingScheme=new Cesium.GeographicTilingScheme,this._levelZeroMaximumGeometricError=Cesium.TerrainProvider.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,A.heightMapWidth*4,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._workerPool=new Bv({workerPath:HUi()}),this._pendingRequests=0,this._requestGridSize=8,this._requestsCache={},this._requestsCacheKeys=[],this.errorEvent.addEventListener(function(C){},this)}fm._geometricErrorFactor=2;Object.defineProperties(fm.prototype,{errorEvent:{get:function(){return this._errorEvent}},availability:{get:function(){return this._availability}},credit:{get:function(){return this._credit}},requestVertexNormals:{get:function(){return this._requestVertexNormals}},hasVertexNormals:{get:function(){return this._requestVertexNormals}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return!0}},hasWaterMask:{get:function(){return!1}},heightMapHeight:{get:function(){return this._options.heightMapHeight}},heightMapWidth:{get:function(){return this._options.heightMapWidth}},pendingRequests:{get:function(){return this._pendingRequests}}});fm.prototype.getLevelMaximumGeometricError=function(o){return this._levelZeroMaximumGeometricError/(1<<o)*fm._geometricErrorFactor};fm.prototype.createKeyFromTile=function(o,A,f){return o+"_"+A+"_"+f};fm.prototype.getTileDataAvailable=function(o,A,f){return this._isMPT?void 0:f<16};fm.prototype.requestFactorForLevel=function(o){var A=Math.log(this._requestGridSize)/Math.log(2);return A=Math.min(A,o),Math.pow(2,A)};fm.prototype.getRequestUrl=function(o,A,f,m){var C=this.requestFactorForLevel(f);if(o=(o-o%C)/C,A=(A-A%C)/C,f-=Math.log(C)/Math.log(2),this.isCache&&f!==0&&f<=this.cacheLevel){let I=this.tilingScheme.getNumberOfYTilesAtLevel(f)-A-1;return this._cacheUrl.replace("{x}",o).replace("{reverseY}",I).replace("{z}",f)}var E=this.tilingScheme.tileXYToNativeRectangle(o,A,f),x=this.heightMapWidth*C===256&&m?1:0,y=this._urlTemplate.replace("{south}",E.south).replace("{north}",E.north).replace("{west}",E.west).replace("{east}",E.east).replace("{optimizedOnly}",x).replace("{width}",this.heightMapWidth*C).replace("{height}",this.heightMapHeight*C).replace("{s}",this.sTag(o,A,f));return y};fm.prototype.sTag=function(o,A,f){if(this._subdomains==null)return"";var m=(o+A+f)%this._subdomains.length;return this._subdomains[m]};fm.prototype.findDirectParent=function(o){var A=function(C,E){if(C._rectangle.width<=E.width*2.1&&Cesium.Rectangle.contains(C._rectangle,Cesium.Rectangle.center(E)))return C;for(var x=C.children.length,y=0;y<x;y++){var I=C.children[y];if(Cesium.Rectangle.contains(I._rectangle,Cesium.Rectangle.center(E)))return A(I,E)}return null};if(o.width==Math.PI)return null;for(var f=0;f<jH.scene.globe._surface._levelZeroTiles.length;f++){var m=A(jH.scene.globe._surface._levelZeroTiles[f],o);if(m)return m}return null};fm.prototype.isTileAvailable=function(o,A,f){var m=this._tilingScheme.tileXYToRectangle(o,A,f,new Cesium.Rectangle),C=this.findDirectParent(m);if(C&&C.data&&C.data.terrainData){if(!(C.data.terrainData._childTileMask>0))return!1;for(var E=C.children.length,x=0;x<E;x++){var y=C.children[x];if(Cesium.Rectangle.equals(y._rectangle,m))return C.data.terrainData._childTileMask&1<<x}}return!0};fm.prototype.markTileAsUnavailable=function(o,A,f){var m=this._tilingScheme.tileXYToRectangle(o,A,f,new Cesium.Rectangle),C=this.findDirectParent(m);C&&C.data&&C.data.terrainData&&C.data.terrainData._childTileMask>0&&$.each(C.children,function(E,x){if(Cesium.Rectangle.equals(x._rectangle,m)){switch(E){case 0:C.data.terrainData._childTileMask&=-5;break;case 1:C.data.terrainData._childTileMask&=-9;break;case 2:C.data.terrainData._childTileMask&=-2;break;case 3:C.data.terrainData._childTileMask&=-3;break;default:}return!1}return!0})};fm.prototype.requestTileGeometry=function(o,A,f,m){var C=this,E=this.requestTileHeightBuffer(o,A,f,m);if(E!==void 0){var x=this,y=15,I=this.requestTileHeightBuffer(o+1,A,f,m,!0),v=this.requestTileHeightBuffer(o,A+1,f,m,!0),B=this.requestTileHeightBuffer(o+1,A+1,f,m,!0),Q=Cesium.when.defer();return Cesium.when.all([E,I,v,B],function(T){if(Uft==0){if(T[0].myReject!=null&&T[0].myReject){x.markTileAsUnavailable(o,A,f),Q.reject();return}for(var w=x.heightMapWidth+1,S=x.heightMapHeight+1,D=new Float32Array(w*S),R=0;R<w;R++)for(var P=0;P<S;P++){var M=R,L=P,F=0;P===w-1&&(L=0,F=1),R===S-1&&(M=0,F=2);var k=R*w+P,N=M*x.heightMapWidth+L;T[F]!==null&&(T[F].myReject==null||!T[F].myReject)&&(D[k]=T[F][N])}(T[3].myReject==null||!T[3].myReject)&&(D[w*S-1]=T[3][0]);var G=x.arrayToHeightmapTerrainData(D,w,S,y);Q.resolve(G)}else{var G=x.arrayToHeightmapTerrainData(T[0],x.heightMapWidth,x.heightMapHeight);Q.resolve(G)}}).otherwise(function(){Q.reject()}),Q}};fm.prototype.requestTileHeightBuffer=function(o,A,f,m,C,E){if(!isNaN(o+A+f)){(!Cesium.defined(m)||m===!1)&&(m=new Cesium.Request({defer:!0}));var x=m.defer==0;C=Cesium.defaultValue(x,!1);var y=Cesium.when.defer();if(Uft==0){var I=this.getRequestUrl(o,A,f,x||C);if(this._requestsCache.hasOwnProperty(I)===!1){if(this._requestsCache[I]={},this._requestsCacheKeys.push(I),this._requestsCacheKeys.length>100){for(var v=0;v<50;v++)delete this._requestsCache[this._requestsCacheKeys[v]];this._requestsCacheKeys.splice(0,50)}}else{var B=this._requestsCacheKeys.indexOf(I);this._requestsCacheKeys.splice(B,1),this._requestsCacheKeys.push(I)}var Q={headers:{withCredentials:!0}},T=this._requestsCache[I];if(T.dataLoaded===void 0&&(x?T.dataLoaded=Cesium.RequestScheduler.request(I,Cesium.loadArrayBuffer):T.dataLoaded=Cesium.loadArrayBuffer(I),!Cesium.defined(T.dataLoaded)))return;var w=jH.terrainProvider.tilingScheme.tileXYToRectangle(o,A,f),S=jH.terrainProvider._modifyTerrainObjects,D=null,R=null;S!=null&&S.length>0&&S.forEach(function(k){if(k.show){var N=Cesium.Rectangle.intersection(w,k.rectangle,new Cesium.Rectangle);N&&(R=k,D=OUi(R.vertices,w,R.heights[0]))}});var P=this;this._pendingRequests++,Cesium.when(T.dataLoaded,function(k){T.workerFinished===void 0&&(T.workerFinished=P._workerPool.queueWorkItem({buffer:k,isElevation:E!==void 0,level:f})),Cesium.when(T.workerFinished,function(N){if(N.rejected){for(var G=P.heightMapWidth*P.heightMapHeight,J=new Int16Array(G),K=0,X=0;X<G;X++)J[X]=300;return f>2&&(P.markTileAsUnavailable(o,A,f),J.myReject=!0),y.resolve(J),y}var q=P.extractTileHeightBuffer(N.buffer,o,A,f);if(D!=null)for(var ee=D.getContext("2d"),ie=ee.getImageData(0,0,32,32).data,H=0;H<32;H++)for(var le=0;le<32;le++){var ue=H*32+le,Ae=(32-1-H)*32+le;ie[ue*4]!==0&&(q[Ae]=R.heights[0])}P._pendingRequests--,y.resolve(q)})}).otherwise(function(){P._pendingRequests--,y.reject()})}else{for(var M=this.heightMapWidth*this.heightMapHeight,L=new Int16Array(M),F=GUi(0,1500),v=0;v<M;v++)L[v]=F;y.resolve(L)}return y}};fm.prototype.extractTileHeightBuffer=function(o,A,f,m){try{for(var C=this.requestFactorForLevel(m),E=A%C,x=f%C,y=new Float32Array(this.heightMapWidth*this.heightMapHeight),I=1e6,v=-1e5,B=0;B<this.heightMapHeight;B++)for(var Q=0;Q<this.heightMapWidth;Q++){var T=B+x*this.heightMapHeight,w=Q+E*this.heightMapWidth,S=B*this.heightMapWidth+Q,D=T*this.heightMapWidth*C+w;o[D]>v&&(v=o[D]),o[D]<I&&(I=o[D]),y[S]=o[D]}}catch(R){console.log(R.message)}return y};fm.prototype.arrayToHeightmapTerrainData=function(o,A,f,m){Cesium.defined(o)===!1&&(o=new Int16Array(A*f));var C={buffer:o,width:A,height:f,childTileMask:m};return new Cesium.HeightmapTerrainData(C)};var XPe=fm;function VUi(o){this.resource=o.resource,this.version=o.version,this.isHeightmap=o.isHeightmap,this.tileUrlTemplates=o.tileUrlTemplates,this.availability=o.availability,this.hasVertexNormals=o.hasVertexNormals,this.hasWaterMask=o.hasWaterMask,this.hasMetadata=o.hasMetadata,this.availabilityLevels=o.availabilityLevels,this.availabilityTilesLoaded=o.availabilityTilesLoaded,this.littleEndianExtensionSize=o.littleEndianExtensionSize,this.availabilityPromiseCache={}}function Wk(o){this._heightmapWidth=65,this._heightmapStructure=void 0,this._hasWaterMask=!1,this._hasVertexNormals=!1,this._ellipsoid=o.ellipsoid,this._requestVertexNormals=Cesium.defaultValue(o.requestVertexNormals,!1),this._requestWaterMask=Cesium.defaultValue(o.requestWaterMask,!1),this._requestMetadata=Cesium.defaultValue(o.requestMetadata,!0),this._errorEvent=new Cesium.Event;var A=o.credit;typeof A=="string"&&(A=new Cesium.Credit(A)),this._credit=A,this._availability=void 0;var f=Cesium.when.defer();this._ready=!1,this._readyPromise=f,this._tileCredits=void 0;var m=this,C,E,x,y=this._layers=[],I="",v=[],B=0;Cesium.when(o.url).then(function(R){var P=Cesium.Resource.createIfNeeded(R);P.appendForwardSlash(),C=P,E=C.getDerivedResource({url:"layer.json"}),m._tileCredits=P.credits,D()}).otherwise(function(R){f.reject(R)});function Q(R){var P;if(!R.format){P="The tile format is not specified in the layer.json file.",x=Cesium.TileProviderError.handleError(x,m,m._errorEvent,P,void 0,void 0,void 0,D);return}if(!R.tiles||R.tiles.length===0){P="The layer.json file does not specify any tile URL templates.",x=Cesium.TileProviderError.handleError(x,m,m._errorEvent,P,void 0,void 0,void 0,D);return}var M=!1,L=!1,F=!1,k=!0,N=!1;if(R.format==="heightmap-1.0")N=!0,Cesium.defined(m._heightmapStructure)||(m._heightmapStructure={heightScale:1/5,heightOffset:-1e3,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1,lowestEncodedHeight:0,highestEncodedHeight:256*256-1}),L=!0,m._requestWaterMask=!0;else if(R.format.indexOf("quantized-mesh-1.")!==0){P='The tile format "'+R.format+'" is invalid or not supported.',x=Cesium.TileProviderError.handleError(x,m,m._errorEvent,P,void 0,void 0,void 0,D);return}var G=R.tiles,J=R.maxzoom;if(B=Math.max(B,J),!R.projection||R.projection==="EPSG:4326")m._tilingScheme=new Cesium.GeographicTilingScheme({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:1,ellipsoid:m._ellipsoid});else if(R.projection==="EPSG:3857")m._tilingScheme=new Cesium.WebMercatorTilingScheme({numberOfLevelZeroTilesX:1,numberOfLevelZeroTilesY:1,ellipsoid:m._ellipsoid});else{P='The projection "'+R.projection+'" is invalid or not supported.',x=Cesium.TileProviderError.handleError(x,m,m._errorEvent,P,void 0,void 0,void 0,D);return}if(m._levelZeroMaximumGeometricError=Cesium.TerrainProvider.getEstimatedLevelZeroGeometricErrorForAHeightmap(m._tilingScheme.ellipsoid,m._heightmapWidth,m._tilingScheme.getNumberOfXTilesAtLevel(0)),!R.scheme||R.scheme==="tms"||R.scheme==="slippyMap")m._scheme=R.scheme;else{P='The scheme "'+R.scheme+'" is invalid or not supported.',x=Cesium.TileProviderError.handleError(x,m,m._errorEvent,P,void 0,void 0,void 0,D);return}var K;Cesium.defined(R.extensions)&&R.extensions.indexOf("octvertexnormals")!==-1?M=!0:Cesium.defined(R.extensions)&&R.extensions.indexOf("vertexnormals")!==-1&&(M=!0,k=!1),Cesium.defined(R.extensions)&&R.extensions.indexOf("watermask")!==-1&&(L=!0),Cesium.defined(R.extensions)&&R.extensions.indexOf("metadata")!==-1&&(F=!0);var X=R.metadataAvailability,q=R.available,ee;if(Cesium.defined(q)&&!Cesium.defined(X)){ee=new Cesium.TileAvailability(m._tilingScheme,q.length);for(var ie=0;ie<q.length;++ie){var H=q[ie],le=m._tilingScheme.getNumberOfYTilesAtLevel(ie);Cesium.defined(v[ie])||(v[ie]=[]);for(var ue=0;ue<H.length;++ue){var Ae=H[ue],he=le-Ae.endY-1,ge=le-Ae.startY-1;v[ie].push([Ae.startX,he,Ae.endX,ge]),ee.addAvailableTileRange(ie,Ae.startX,he,Ae.endX,ge)}}}else Cesium.defined(X)&&(K=new Cesium.TileAvailability(m._tilingScheme,J),ee=new Cesium.TileAvailability(m._tilingScheme,J),v[0]=[[0,0,1,0]],ee.addAvailableTileRange(0,0,0,1,0));m._hasWaterMask=m._hasWaterMask||L,m._hasVertexNormals=m._hasVertexNormals||M,m._hasMetadata=m._hasMetadata||F,Cesium.defined(R.attribution)&&(I.length>0&&(I+=" "),I+=R.attribution),y.push(new VUi({resource:C,version:R.version,isHeightmap:N,tileUrlTemplates:G,availability:ee,hasVertexNormals:M,hasWaterMask:L,hasMetadata:F,availabilityLevels:X,availabilityTilesLoaded:K,littleEndianExtensionSize:k}));var fe=R.parentUrl;if(Cesium.defined(fe)){if(!Cesium.defined(ee))return console.log("A layer.json can't have a parentUrl if it does't have an available array."),Cesium.when.resolve();C=C.getDerivedResource({url:fe}),C.appendForwardSlash(),E=C.getDerivedResource({url:"layer.json"});var ae=E.fetchJson();return Cesium.when(ae,Q,T)}return Cesium.when.resolve()}function T(R){var P="An error occurred while accessing "+E.url+".";x=Cesium.TileProviderError.handleError(x,m,m._errorEvent,P,void 0,void 0,void 0,D)}function w(R){Q(R).then(function(){if(!Cesium.defined(x)){var P=v.length;if(P>0)for(var M=m._availability=new Cesium.TileAvailability(m._tilingScheme,B),L=0;L<P;++L)for(var F=v[L],k=0;k<F.length;++k){var N=F[k];M.addAvailableTileRange(L,N[0],N[1],N[2],N[3])}if(I.length>0){var G=new Cesium.Credit(I);Cesium.defined(m._tileCredits)?m._tileCredits.push(G):m._tileCredits=[G]}m._ready=!0,m._readyPromise.resolve(!0)}})}function S(R){w({extensions:["octvertexnormals"],format:"quantized-mesh-1.0",maxzoom:18,minzoom:0,name:"world",projection:"EPSG:3857",scheme:"slippyMap",tilejson:"1.0",tiles:["{z}/{x}/{y}.terrain"],version:"1.0.0"})}function D(){Cesium.when(E.fetchJson()).then(w).otherwise(S)}}var ZPe={OCT_VERTEX_NORMALS:1,WATER_MASK:2,METADATA:4};function Gft(o){if(!Cesium.defined(o)||o.length===0)return{Accept:"application/vnd.quantized-mesh,application/octet-stream;q=0.9,*/*;q=0.01"};var A=o.join("-");return{Accept:"application/vnd.quantized-mesh;extensions="+A+",application/octet-stream;q=0.9,*/*;q=0.01"}}function zUi(o,A,f,m,C){var E=new Uint16Array(A,0,o._heightmapWidth*o._heightmapWidth);return new Cesium.HeightmapTerrainData({buffer:E,childTileMask:new Uint8Array(A,E.byteLength,1)[0],waterMask:new Uint8Array(A,E.byteLength+1,A.byteLength-E.byteLength-1),width:o._heightmapWidth,height:o._heightmapWidth,structure:o._heightmapStructure,credits:o._tileCredits})}function YUi(o,A,f,m,C,E){var x=E.littleEndianExtensionSize,y=0,I=3,v=I+1,B=Float64Array.BYTES_PER_ELEMENT*I,Q=Float64Array.BYTES_PER_ELEMENT*v,T=3,w=Uint16Array.BYTES_PER_ELEMENT*T,S=3,D=Uint16Array.BYTES_PER_ELEMENT,R=D*S,P=new DataView(A),M=new Cesium.Cartesian3(P.getFloat64(y,!0),P.getFloat64(y+8,!0),P.getFloat64(y+16,!0));y+=B;var L=P.getFloat32(y,!0);y+=Float32Array.BYTES_PER_ELEMENT;var F=P.getFloat32(y,!0);y+=Float32Array.BYTES_PER_ELEMENT;var k=new Cesium.BoundingSphere(new Cesium.Cartesian3(P.getFloat64(y,!0),P.getFloat64(y+8,!0),P.getFloat64(y+16,!0)),P.getFloat64(y+B,!0));y+=Q;var N=new Cesium.Cartesian3(P.getFloat64(y,!0),P.getFloat64(y+8,!0),P.getFloat64(y+16,!0));y+=B;var G=P.getUint32(y,!0);y+=Uint32Array.BYTES_PER_ELEMENT;var J=new Uint16Array(A,y,G*3);y+=G*w,G>64*1024&&(D=Uint32Array.BYTES_PER_ELEMENT,R=D*S);var K=J.subarray(0,G),X=J.subarray(G,2*G),q=J.subarray(G*2,3*G);Cesium.AttributeCompression.zigZagDeltaDecode(K,X,q),y%D!==0&&(y+=D-y%D);var ee=P.getUint32(y,!0);y+=Uint32Array.BYTES_PER_ELEMENT;var ie=Cesium.IndexDatatype.createTypedArrayFromArrayBuffer(G,A,y,ee*S);y+=ee*R;for(var H=0,le=ie.length,ue=0;ue<le;++ue){var Ae=ie[ue];ie[ue]=H-Ae,Ae===0&&++H}var he=P.getUint32(y,!0);y+=Uint32Array.BYTES_PER_ELEMENT;var ge=Cesium.IndexDatatype.createTypedArrayFromArrayBuffer(G,A,y,he);y+=he*D;var fe=P.getUint32(y,!0);y+=Uint32Array.BYTES_PER_ELEMENT;var ae=Cesium.IndexDatatype.createTypedArrayFromArrayBuffer(G,A,y,fe);y+=fe*D;var U=P.getUint32(y,!0);y+=Uint32Array.BYTES_PER_ELEMENT;var W=Cesium.IndexDatatype.createTypedArrayFromArrayBuffer(G,A,y,U);y+=U*D;var Y=P.getUint32(y,!0);y+=Uint32Array.BYTES_PER_ELEMENT;var z=Cesium.IndexDatatype.createTypedArrayFromArrayBuffer(G,A,y,Y);y+=Y*D;for(var re,se;y<P.byteLength;){var de=P.getUint8(y,!0);y+=Uint8Array.BYTES_PER_ELEMENT;var me=P.getUint32(y,x);if(y+=Uint32Array.BYTES_PER_ELEMENT,de===ZPe.OCT_VERTEX_NORMALS&&o._requestVertexNormals)re=new Uint8Array(A,y,G*2);else if(de===ZPe.WATER_MASK&&o._requestWaterMask)se=new Uint8Array(A,y,me);else if(de===ZPe.METADATA&&o._requestMetadata){var Ce=P.getUint32(y,!0);if(Ce>0){var Ie=Cesium.getJsonFromTypedArray(new Uint8Array(A),y+Uint32Array.BYTES_PER_ELEMENT,Ce),we=Ie.available;if(Cesium.defined(we))for(var Te=0;Te<we.length;++Te)for(var Ge=f+Te+1,ke=we[Te],Oe=o._tilingScheme.getNumberOfYTilesAtLevel(Ge),Le=0;Le<ke.length;++Le){var be=ke[Le],Ne=Oe-be.endY-1,Ue=Oe-be.startY-1;o.availability.addAvailableTileRange(Ge,be.startX,Ne,be.endX,Ue),E.availability.addAvailableTileRange(Ge,be.startX,Ne,be.endX,Ue)}}E.availabilityTilesLoaded.addAvailableTileRange(f,m,C,m,C)}y+=me}var ze=o.getLevelMaximumGeometricError(f)*5,Je=o._tilingScheme.tileXYToRectangle(m,C,f),Xe=Cesium.OrientedBoundingBox.fromRectangle(Je,L,F,o._tilingScheme.ellipsoid);return new Cesium.QuantizedMeshTerrainData({center:M,minimumHeight:L,maximumHeight:F,boundingSphere:k,orientedBoundingBox:Xe,horizonOcclusionPoint:N,quantizedVertices:J,encodedNormals:re,indices:ie,westIndices:ge,southIndices:ae,eastIndices:W,northIndices:z,westSkirtHeight:ze,southSkirtHeight:ze,eastSkirtHeight:ze,northSkirtHeight:ze,childTileMask:o.availability.computeChildMaskForTile(f,m,C),waterMask:se,credits:o._tileCredits})}Wk.prototype.requestTileGeometry=function(o,A,f,m){var C=this._layers,E,x=C.length;if(x===1)E=C[0];else for(var y=0;y<x;++y){var I=C[y];if(!Cesium.defined(I.availability)||I.availability.isTileAvailable(f,o,A)){E=I;break}}return Hft(this,o,A,f,E,m)};function Hft(o,A,f,m,C,E){if(!Cesium.defined(C))return Cesium.when.reject(new Cesium.RuntimeError("Terrain tile doesn't exist"));var x=C.tileUrlTemplates;if(x.length!==0){var y;if(!o._scheme||o._scheme==="tms"){var I=o._tilingScheme.getNumberOfYTilesAtLevel(m);y=I-f-1}else y=f;var v=[];o._requestVertexNormals&&C.hasVertexNormals&&v.push(C.littleEndianExtensionSize?"octvertexnormals":"vertexnormals"),o._requestWaterMask&&C.hasWaterMask&&v.push("watermask"),o._requestMetadata&&C.hasMetadata&&v.push("metadata");var B,Q,T=x[(A+y+m)%x.length],w=C.resource;Cesium.defined(w._ionEndpoint)&&!Cesium.defined(w._ionEndpoint.externalType)?(v.length!==0&&(Q={extensions:v.join("-")}),B=Gft(void 0)):B=Gft(v);var S=w.getDerivedResource({url:T,templateValues:{version:C.version,z:m,x:A,y},queryParameters:Q,headers:B,request:E}).fetchArrayBuffer();if(!!Cesium.defined(S))return S.then(function(D){return Cesium.defined(o._heightmapStructure)?zUi(o,D,m,A,f):YUi(o,D,m,A,f,C)}).otherwise(function(D){var R=16,P=16;return Cesium.when.resolve(new Cesium.HeightmapTerrainData({buffer:new Uint8Array(R*P),width:R,height:P}))})}}Object.defineProperties(Wk.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}},hasWaterMask:{get:function(){return this._hasWaterMask&&this._requestWaterMask}},hasVertexNormals:{get:function(){return this._hasVertexNormals&&this._requestVertexNormals}},hasMetadata:{get:function(){return this._hasMetadata&&this._requestMetadata}},requestVertexNormals:{get:function(){return this._requestVertexNormals}},requestWaterMask:{get:function(){return this._requestWaterMask}},requestMetadata:{get:function(){return this._requestMetadata}},availability:{get:function(){return this._availability}}});Wk.prototype.getLevelMaximumGeometricError=function(o){return this._levelZeroMaximumGeometricError/(1<<o)};Wk.prototype.getTileDataAvailable=function(o,A,f){if(!!Cesium.defined(this._availability)){if(f>this._availability._maximumLevel)return!1;if(this._availability.isTileAvailable(f,o,A))return!0;if(!this._hasMetadata)return!1;for(var m=this._layers,C=m.length,E=0;E<C;++E){var x=Vft(this,o,A,f,m[E],E===0);if(x.result)return}return!1}};Wk.prototype.loadTileDataAvailability=function(o,A,f){if(!(!Cesium.defined(this._availability)||f>this._availability._maximumLevel||this._availability.isTileAvailable(f,o,A)||!this._hasMetadata))for(var m=this._layers,C=m.length,E=0;E<C;++E){var x=Vft(this,o,A,f,m[E],E===0);if(Cesium.defined(x.promise))return x.promise}};function $Pe(o,A,f,m){if(m!==0){var C=o.availabilityLevels,E=m%C===0?m-C:(m/C|0)*C,x=1<<m-E,y=A/x|0,I=f/x|0;return{level:E,x:y,y:I}}}function Vft(o,A,f,m,C,E){if(!Cesium.defined(C.availabilityLevels))return{result:!1};for(var x,y=function(){delete C.availabilityPromiseCache[x]},I=C.availabilityTilesLoaded,v=C.availability,B=$Pe(C,A,f,m);Cesium.defined(B);){if(v.isTileAvailable(B.level,B.x,B.y)&&!I.isTileAvailable(B.level,B.x,B.y)){var Q;if(!E&&(x=B.level+"-"+B.x+"-"+B.y,Q=C.availabilityPromiseCache[x],!Cesium.defined(Q))){var T=new Cesium.Request({throttle:!1,throttleByServer:!0,type:Cesium.RequestType.TERRAIN});Q=Hft(o,B.x,B.y,B.level,C,T),Cesium.defined(Q)&&(C.availabilityPromiseCache[x]=Q,Q.then(y))}return{result:!0,promise:Q}}B=$Pe(C,B.x,B.y,B.level)}return{result:!1}}Wk._getAvailabilityTile=$Pe;var zft=Wk;var JUi=new Map([["centerX",Float64Array.BYTES_PER_ELEMENT],["centerY",Float64Array.BYTES_PER_ELEMENT],["centerZ",Float64Array.BYTES_PER_ELEMENT],["minHeight",Float32Array.BYTES_PER_ELEMENT],["maxHeight",Float32Array.BYTES_PER_ELEMENT],["boundingSphereCenterX",Float64Array.BYTES_PER_ELEMENT],["boundingSphereCenterY",Float64Array.BYTES_PER_ELEMENT],["boundingSphereCenterZ",Float64Array.BYTES_PER_ELEMENT],["boundingSphereRadius",Float64Array.BYTES_PER_ELEMENT],["horizonOcclusionPointX",Float64Array.BYTES_PER_ELEMENT],["horizonOcclusionPointY",Float64Array.BYTES_PER_ELEMENT],["horizonOcclusionPointZ",Float64Array.BYTES_PER_ELEMENT]]);function eRe(o){return o>>1^-(o&1)}function KUi(o){let A=0,f={};for(let[m,C]of JUi){let E=C===8?o.getFloat64:o.getFloat32;f[m]=E.call(o,A,!0),A+=C}return{header:f,headerEndPosition:A}}function WUi(o,A){let f=A,m=3,C=o.getUint32(f,!0),E=new Uint16Array(C*m);f+=Uint32Array.BYTES_PER_ELEMENT;let x=Uint16Array.BYTES_PER_ELEMENT,y=C*x,I=f,v=I+y,B=v+y,Q=0,T=0,w=0;for(let S=0;S<C;S++)Q+=eRe(o.getUint16(I+x*S,!0)),T+=eRe(o.getUint16(v+x*S,!0)),w+=eRe(o.getUint16(B+x*S,!0)),E[S]=Q,E[S+C]=T,E[S+C*2]=w;return f+=y*3,{vertexData:E,vertexDataEndPosition:f}}function PW(o,A,f,m,C=!0){let E;if(m===2?E=new Uint16Array(o,A,f):E=new Uint32Array(o,A,f),!C)return E;let x=0;for(let y=0;y<E.length;++y){let I=E[y];E[y]=x-I,I===0&&++x}return E}function jUi(o,A,f){let m=f,C=3,x=A.length/C>65536?Uint32Array.BYTES_PER_ELEMENT:Uint16Array.BYTES_PER_ELEMENT;m%x!==0&&(m+=x-m%x);let y=o.getUint32(m,!0);m+=Uint32Array.BYTES_PER_ELEMENT;let I=y*3,v=PW(o.buffer,m,I,x);return m+=I*x,{triangleIndicesEndPosition:m,triangleIndices:v}}function qUi(o,A,f){let m=f,C=3,x=A.length/C>65536?Uint32Array.BYTES_PER_ELEMENT:Uint16Array.BYTES_PER_ELEMENT,y=o.getUint32(m,!0);m+=Uint32Array.BYTES_PER_ELEMENT;let I=PW(o.buffer,m,y,x,!1);m+=y*x;let v=o.getUint32(m,!0);m+=Uint32Array.BYTES_PER_ELEMENT;let B=PW(o.buffer,m,v,x,!1);m+=v*x;let Q=o.getUint32(m,!0);m+=Uint32Array.BYTES_PER_ELEMENT;let T=PW(o.buffer,m,Q,x,!1);m+=Q*x;let w=o.getUint32(m,!0);m+=Uint32Array.BYTES_PER_ELEMENT;let S=PW(o.buffer,m,w,x,!1);return m+=w*x,{edgeIndicesEndPosition:m,westIndices:I,southIndices:B,eastIndices:T,northIndices:S}}function XUi(o){return new Uint8Array(o.buffer,o.byteOffset,o.byteLength)}function ZUi(o){return o.buffer.slice(o.byteOffset,o.byteOffset+o.byteLength)}function $Ui(o,A){let f={};if(o.byteLength<=A)return{extensions:f,extensionsEndPosition:A};let m=A;for(;m<o.byteLength;){let C=o.getUint8(m,!0);m+=Uint8Array.BYTES_PER_ELEMENT;let E=o.getUint32(m,!0);m+=Uint32Array.BYTES_PER_ELEMENT;let x=new DataView(o.buffer,m,E);switch(C){case 1:{f.vertexNormals=XUi(x);break}case 2:{f.waterMask=ZUi(x);break}default:console.warn(`Unknown extension with id ${C}`)}m+=E}return{extensions:f,extensionsEndPosition:m}}var RW={header:0,vertices:1,triangleIndices:2,edgeIndices:3,extensions:4},e5i={maxDecodingStep:RW.extensions};function Wle(o,A){let f=Object.assign({},e5i,A),m=new DataView(o),{header:C,headerEndPosition:E}=KUi(m);if(f.maxDecodingStep<RW.vertices)return{header:C};let{vertexData:x,vertexDataEndPosition:y}=WUi(m,E);if(f.maxDecodingStep<RW.triangleIndices)return{header:C,vertexData:x};let{triangleIndices:I,triangleIndicesEndPosition:v}=jUi(m,x,y);if(f.maxDecodingStep<RW.edgeIndices)return{header:C,vertexData:x,triangleIndices:I};let{westIndices:B,southIndices:Q,eastIndices:T,northIndices:w,edgeIndicesEndPosition:S}=qUi(m,x,v);if(f.maxDecodingStep<RW.extensions)return{header:C,vertexData:x,triangleIndices:I,westIndices:B,northIndices:w,eastIndices:T,southIndices:Q};let{extensions:D}=$Ui(m,S);return{header:C,vertexData:x,triangleIndices:I,westIndices:B,northIndices:w,eastIndices:T,southIndices:Q,extensions:D}}var t5i=new Uint8Array([172,223,96,7,210,166,80,193,62,133,0,92,97,125,81,193,175,204,114,156,24,171,39,65,215,131,189,193,92,143,98,193,172,223,224,55,148,164,80,193,62,133,128,115,254,122,81,193,175,204,114,40,74,169,39,65,199,225,33,1,165,221,10,65,165,248,77,38,221,233,229,191,118,168,124,106,57,4,231,191,208,126,103,119,149,64,191,63,9,0,0,0,254,127,253,127,254,127,253,127,0,0,254,255,255,127,0,128,0,0,254,127,253,127,0,0,254,127,0,128,0,0,0,0,253,255,254,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,2,0,3,0,0,0,4,0,0,0,2,0,5,0,0,0,0,0,7,0,0,0,0,0,2,0,9,0,7,0,4,0,9,0,1,0,5,0,9,0,3,0,3,0,0,0,0,0,0,0,3,0,3,0,0,0,1,0,7,0,2,0,3,0,0,0,7,0,5,0,8,0,3,0,0,0,4,0,5,0,6,0]),LW=class{constructor(A={}){if(this.ready=!1,this.dummyTile=Wle(t5i.buffer),this.tilingScheme=A.tilingScheme||new Cesium.WebMercatorTilingScheme,A.url===void 0)throw new Error("url option is missing");A.credit!==void 0&&(this.credits=[new Cesium.Credit(A.credit)]),this.urlTemplates=A.url,(this.urlTemplates.length===0||this.urlTemplates[this.urlTemplates.length-1]!=="/")&&(this.urlTemplates=this.urlTemplates+"/"),this.readyPromise=Promise.resolve(!0),this.ready=!0}getUrl(A,f,m){let C=A,E=f;return this.urlTemplates+`${m}/${C}/${E}.terrain`}generateDummyTileHeader(A,f,m){let C=this.tilingScheme.tileXYToRectangle(A,f,m),E=this.tilingScheme.tileXYToNativeRectangle(A,f,m),x=Cesium.Cartographic.toCartesian(Cesium.Rectangle.center(C)),y=Cesium.Ellipsoid.WGS84.transformPositionToScaledSpace(x);return{centerX:x.x,centerY:x.y,centerZ:x.z,minHeight:0,maxHeight:0,boundingSphereCenterX:x.x,boundingSphereCenterY:x.y,boundingSphereCenterZ:x.z,boundingSphereRadius:E.height,horizonOcclusionPointX:y.x,horizonOcclusionPointY:y.y,horizonOcclusionPointZ:y.z}}createQuantizedMeshData(A,f,m,C){let E=this.tilingScheme.tileXYToRectangle(f,m,C),x=new Cesium.Cartesian3(A.header.boundingSphereCenterX,A.header.boundingSphereCenterY,A.header.boundingSphereCenterZ),y=new Cesium.BoundingSphere(x,A.header.boundingSphereRadius),I=new Cesium.Cartesian3(A.header.horizonOcclusionPointX,A.header.horizonOcclusionPointY,A.header.horizonOcclusionPointZ),v;return E.width<Cesium.Math.PI_OVER_TWO+Cesium.Math.EPSILON5&&(v=Cesium.OrientedBoundingBox.fromRectangle(E,A.header.minHeight,A.header.maxHeight)),new Cesium.QuantizedMeshTerrainData({minimumHeight:A.header.minHeight,maximumHeight:A.header.maxHeight,quantizedVertices:A.vertexData,indices:A.triangleIndices,boundingSphere:y,orientedBoundingBox:v,horizonOcclusionPoint:I,westIndices:A.westIndices,southIndices:A.southIndices,eastIndices:A.eastIndices,northIndices:A.northIndices,westSkirtHeight:100,southSkirtHeight:100,eastSkirtHeight:100,northSkirtHeight:100,childTileMask:15,credits:this.credits})}generateDummyTile(A,f,m){return Object.assign({},this.dummyTile,this.generateDummyTileHeader(A,f,m))}decodeResponse(A,f,m,C){return A.arrayBuffer().then(E=>Wle(E)).catch(E=>(console.error(`Decoding failed on tile ${this.getUrl(f,m,C)}`),console.error(E),this.generateDummyTile(f,m,C)))}requestTileGeometry(A,f,m){let C=this.getUrl(A,f,m);return window.fetch(C).then(E=>E.status!==200?this.generateDummyTile(A,f,m):this.decodeResponse(E,A,f,m)).then(E=>this.createQuantizedMeshData(E,A,f,m)).catch(E=>{console.error(E)})}getTileDataAvailable(A,f,m){return!0}getLevelMaximumGeometricError(A){return Cesium.TerrainProvider.getEstimatedLevelZeroGeometricErrorForAHeightmap(this.tilingScheme.ellipsoid,65,this.tilingScheme.getNumberOfXTilesAtLevel(0))/(1<<A)}};var FW=null;function RE(o,A){FW=A,this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._tree=Ke,this._url="",this._show=!0}RE.prototype.createTerrainLayer=function(o,A,f,m,C,E){E=="Topography"?this.createTerrain(o,A,f,m,C):E=="sgs"?this.createSFSTerrain(o,A,f,m,C):E=="Arcgis"?this.createArcGISTerrain(o,A,f,m,C):C=="Cesium"&&this.createCesiumTerrain(o,A,f,m)};RE.prototype.createTerrain=function(o,A,f,m,C){var E={type:"default",url:"",requestVertexNormals:!1,requestWaterMask:!1,requestMetadata:!0,credit:""};this.name=o,this.option=A,this.GroupID=f,this.checked=m,this.Description=C,this.type="createTerrain";var x=null;if(this._core.isUrl(A)?(x=E,x.url=A):x=this._core.extend(E,A,!0),this._options=x,this._url=x.url,m)Ke.setVisibility(f,!1,this._viewer,this._cesium);else{var I={id:A.id||this._core.getuid(),name:o,checked:m,pId:this._core.isnull(f)?0:f,type:"terrain",item:this};return this.setTreeobj(I),this._tree.insertGroupId(I,this._core.isnull(f)?0:f),this}var y=x.type==="vector"?new zft(x):new FW.CesiumTerrainProvider(x);this._viewer.scene.terrainProvider=y,this.item=y,this._show=!0;var I={id:A.id||this._core.getuid(),name:o,checked:m,pId:this._core.isnull(f)?0:f,type:"terrain",item:this};return this.setTreeobj(I),this._tree.insertGroupId(I,this._core.isnull(f)?0:f),this};RE.prototype.createCesiumTerrain=function(o,A,f,m){this.name=o,this.option=A,this.GroupID=f,this.checked=m,this.type="createCesiumTerrain";var C={requestVertexNormals:!0},E=this._core.extend(C,A,!0);this._options=E;var x=FW.createWorldTerrain(E);if(this.type="Cesium",this.item=x,m)Ke.setVisibility(f,!1,this._viewer,this._cesium);else{var y={id:A.id||this._core.getuid(),name:o,checked:m,pId:this._core.isnull(f)?0:f,type:"terrain",item:this};return this.setTreeobj(y),this._tree.insertGroupId(y,this._core.isnull(f)?0:f),this}this._viewer.scene.terrainProvider=x,this._show=!0;var y={id:A.id||this._core.getuid(),name:o,checked:m,pId:this._core.isnull(f)?0:f,type:"terrain",item:this};return this.setTreeobj(y),this._tree.insertGroupId(y,this._core.isnull(f)?0:f),this};RE.prototype.createSFSTerrain=function(o,A,f,m,C){var E=new qPe(this._viewer,A,this._cesium);if(this.name=o,this.option=A,this.GroupID=f,this.checked=m,this.Description=C,this.type="createSFSTerrain",this.type="SGS",this._url=A.url,this.layerName=A.layerName,this.requestVertexNormals=A.requestVertexNormals,m)Ke.setVisibility(f,!1,this._viewer,this._cesium);else{this._show=!0;var x={id:A.id||this._core.getuid(),name:o,checked:m,pId:this._core.isnull(f)?0:f,type:"terrain",item:this};return this.setTreeobj(x),this._tree.insertGroupId(x,this._core.isnull(f)?0:f),this}this._viewer.terrainProvider=E,this.item=E,this._show=!0;var x={id:A.id||this._core.getuid(),name:o,checked:m,pId:this._core.isnull(f)?0:f,type:"terrain",item:this};return this.setTreeobj(x),this._tree.insertGroupId(x,this._core.isnull(f)?0:f),this};RE.prototype.createSFSTerrain71=function(o,A,f,m,C){var E=new XPe(this._viewer,A);if(this.name=o,this.option=A,this.GroupID=f,this.checked=m,this.Description=C,this.type="createSFSTerrain",this.type="SGS71",this._url=A.url,this.layerName=A.layerName,this.requestVertexNormals=A.requestVertexNormals,m)Ke.setVisibility(f,!1,this._viewer,this._cesium);else{this._show=!0;var x={id:A.id||this._core.getuid(),name:o,checked:m,pId:this._core.isnull(f)?0:f,type:"terrain",item:this};return this.setTreeobj(x),this._tree.insertGroupId(x,this._core.isnull(f)?0:f),this}this._viewer.terrainProvider=E,this.item=E,this._show=!0;var x={id:A.id||this._core.getuid(),name:o,checked:m,pId:this._core.isnull(f)?0:f,type:"terrain",item:this};return this.setTreeobj(x),this._tree.insertGroupId(x,this._core.isnull(f)?0:f),this};RE.prototype.createWMTSTerrain=function(o,A,f,m,C){var E=new LW({url:A.url});if(this._viewer.scene.mode=this._cesium.SceneMode.COLUMBUS_VIEW,this.name=o,this.option=A,this.GroupID=f,this.checked=m===void 0?!0:m,this.Description=C,this.type="createWMTSTerrain",this.type="WMTSTerrain",this._url=A.url,this.layerName=A.layerName,this.requestVertexNormals=A.requestVertexNormals,this.checked)Ke.setVisibility(f,!1,this._viewer,this._cesium);else{this._show=!0;var x={id:A.id||this._core.getuid(),name:o,checked:m,pId:this._core.isnull(f)?0:f,type:"terrain",item:this};return this.setTreeobj(x),this._tree.insertGroupId(x,this._core.isnull(f)?0:f),this}this._viewer.terrainProvider=E,this.item=E,this._show=!0;var x={id:A.id||this._core.getuid(),name:o,checked:m,pId:this._core.isnull(f)?0:f,type:"terrain",item:this};return this.setTreeobj(x),this._tree.insertGroupId(x,this._core.isnull(f)?0:f),this};RE.prototype.createArcGISTerrain=function(o,A,f,m,C){var E={url:""};this.name=o,this.option=A,this.GroupID=f,this.checked=m,this.Description=C,this.type="createArcGISTerrain";var x=null;this._core.isUrl(A)?(x=E,x.url=A):x=this._core.extend(E,A,!0),this.type="ArcGIS",this._url=x.url;var y=new this._cesium.ArcGISTiledElevationTerrainProvider(x);if(m)Ke.setVisibility(f,!1,this._viewer,this._cesium);else{this._show=!0;var I={id:A.id||this._core.getuid(),name:o,checked:m,pId:this._core.isnull(f)?0:f,type:"terrain",item:this};return this.setTreeobj(I),this._tree.insertGroupId(I,this._core.isnull(f)?0:f),this}this._viewer.terrainProvider=y,this.item=y,this._show=!0;var I={id:A.id||this._core.getuid(),name:o,checked:m,pId:this._core.isnull(f)?0:f,type:"terrain",item:this};return this.setTreeobj(I),this._tree.insertGroupId(I,this._core.isnull(f)?0:f),this};RE.prototype.getType=function(){return{label:"\u5F71\u50CF",value:"TerrainProvider"}};RE.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.item._layers[0].resource.url;return{type:"TerrainLayer",treeobj:{id:this.treeobj.id,name:this.treeobj.name,pId:this.treeobj.pId,type:this.treeobj.type},style:{show:o,url:A}}};RE.prototype.setVisibility=function(o){var A;if(o){Ke.setVisibility(this.GroupID,!1,this._viewer,this._cesium);var f;if(this.type==="SGS")f=this.option,A=new qPe(this._viewer,f,this._cesium);else if(this.type==="SGS71")f=this.option,A=new XPe(this._viewer,f);else if(this.type==="ArcGIS")f=this.option,A=new FW.ArcGISTiledElevationTerrainProvider(f);else if(this.type==="Cesium")A=FW.createWorldTerrain(this._options);else{var m=this._options,C={url:"",requestVertexNormals:!1,requestWaterMask:!1,requestMetadata:!0,credit:""};this._core.isUrl(m)?(f=C,f.url=m):f=this._core.extend(C,m,!0),A=new this._cesium.CesiumTerrainProvider(f)}this._show=!0,this.item=A,this._viewer.scene.terrainProvider=A}else A=new this._cesium.EllipsoidTerrainProvider({}),this.item=A,this._show=!1,this._viewer.scene.terrainProvider=A};RE.prototype.getVisibility=function(){return this._show};RE.prototype.setTreeobj=function(o){this.treeobj=o};RE.prototype.deleteObject=function(){try{this.item=new this._cesium.EllipsoidTerrainProvider({}),this._viewer.scene.terrainProvider=this.item}catch(o){console.log(o.message)}};Object.defineProperties(RE.prototype,{});var nM=RE;function vp(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._color=new In(this._viewer,this._cesium),this._tree=Ke,this.item={show:!0},this._primitive=void 0,this._Provider=void 0,this.Legend=[],this.datas=[],this.PrimitiveData=[],this.PrimitiveObj={key:"",data:{}},this.Primitivekey=[],this.tilesLength=0,this.returnCount=0,this._primitiveByTile={},this._tileKeys=[],this._primitiveCollection=new this._cesium.PrimitiveCollection,this._cache=!1,this._forceRefreshPrvimitive=null}vp.prototype.createVolumeVectorGeoJsonFeatureLayer=function(o,A,f,m,C,E,x){var y={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var I=this._core.extend(y,f,!0);this._core.isnull(m)&&(m=16),this._core.isnull(C)&&(C=14),A==null&&console.log("url is required"),o==null&&console.log("layername is required");var v=[],B=this;this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=styleOption.level_max-1,this._Provider.loadTile=function(w,S){if(this.tile=S,S.state===B._cesium.QuadtreeTileLoadState.START)if(S.data={lines:[],geometryPrimitive:void 0},S.level>=C&&S.level<m){var D=bi.filter(v,function(R){return R.x==S.x&&R.y==S.y&&R.level==S.level});if(D.length!=0&&D[0].data&&D[0].data.length>0){S.data.geometryPrimitive=new B._cesium.Primitive({geometryInstances:D[0].data,appearance:new B._cesium.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:B._cesium.ShadowMode.ENABLED}),S.state=B._cesium.QuadtreeTileLoadState.LOADING,S.state===B._cesium.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive&&S.data.geometryPrimitive.update(w,[]),S.state=B._cesium.QuadtreeTileLoadState.DONE,S.renderable=!0);return}v.push({level:S.level,x:S.x,y:S.y,data:void 0}),function(R){B._core.xhr({url:A+"?REQUEST=GetTile&SERVICE=WMTS&VERSION=1.0.0&LAYER="+o+"&STYLE=&TILEMATRIX=EPSG:4490:"+R.level+"&TILEMATRIXSET=EPSG:4490&FORMAT=application/json;type=geojson&TILECOL="+R.x+"&TILEROW="+R.y,type:"get",dataType:"json",success:function(P){var M=[];function L(K){for(var X=0;X<K.length;X++)Array.isArray(K[X])?L(K[X]):k.push(K[X])}for(var F=0;F<P.features.length;F++){var k=[];L(P.features[F].geometry.coordinates[0]);var N=B._cesium.Cartesian3.fromDegreesArray(k);I.positions=N;var G=new B._cesium.GeometryInstance({geometry:new B._cesium.PolylineVolumeGeometry({polylinePositions:I.positions}),attributes:{color:new B._cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.WHITE)}});M.push(G)}var J=bi.filter(v,function(K){return K.x==R.x&&K.y==R.y});J[0].data=M,R.data.geometryPrimitive=new B._cesium.Primitive({geometryInstances:M,appearance:new B._cesium.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:B._cesium.ShadowMode.ENABLED})},error:function(){v=bi.remove(v,function(P){return P.x==R.x&&P.y==R.y&&P.level==R.level})},complete:function(){R.state=B._cesium.QuadtreeTileLoadState.LOADING,R.state===B._cesium.QuadtreeTileLoadState.LOADING&&(R.data.geometryPrimitive&&R.data.geometryPrimitive.update(w,[]),R.state=B._cesium.QuadtreeTileLoadState.DONE,R.renderable=!0)}})}(S)}else S.state=B._cesium.QuadtreeTileLoadState.LOADING,S.state===B._cesium.QuadtreeTileLoadState.LOADING&&(S.data.geometryPrimitive&&S.data.geometryPrimitive.update(w,[]),S.state=B._cesium.QuadtreeTileLoadState.DONE,S.renderable=!0)},this._primitive=new B._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var Q=this._viewer.scene,T=Q.primitives;T.add(this._primitive)};vp.prototype.createVolumeGeoJsonFeatureLayer1=function(o,A,f,m,C){var E={polylinePositions:void 0,shapePositions:void 0,ellipsoid:this._cesium.Ellipsoid.WGS84,granularity:this._cesium.Math.RADIANS_PER_DEGREE,vertexFormat:this._cesium.VertexFormat.DEFAULT,cornerType:this._cesium.CornerType.ROUNDED};A==null&&console.log("geojson is required");var x=null;A.then?x=A:x=this._cesium.GeoJsonDataSource.load(A);var y=this,I=[];E.shapePositions=this.computeCircle(f.radius),x.then(function(B){var Q=y._cesium.Color.WHITE;!y._core.isnull(f)&&!y._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"?Q=f.material.replace(/\[/,"").replace("/]/",""):Q=bi.clone(f.material),y._core.isHtmlColor(Q)?Q=y._color.colorFromHtmlColor(f.material):(/^rgb/.test(Q)&&(Q=y._color.rgbaStringToRgbaObj(Q)),Q.r>1&&(Q.r=Q.r/255),Q.g>1&&(Q.g=Q.g/255),Q.b>1&&(Q.b=Q.b/255),Q.a>1&&(Q.a=Q.a/255),Q=y._color.createColor(Q.r,Q.g,Q.b,Q.a)));for(var T=B.entities.values,w=0;w<T.length;w++){var S=T[w];E.polylinePositions=S.polyline.positions._value;var D=new y._cesium.PolylineVolumeGeometry(E),R=y._cesium.PolylineVolumeGeometry.createGeometry(D),P=new y._cesium.GeometryInstance({geometry:R});I.push(P)}var M="material:"+Q.red*255+","+Q.green*255+","+Q.blue*255;y.Legend.push(M);var L=y._viewer.scene.primitives.add(new y._cesium.Primitive({geometryInstances:I,appearance:new y._cesium.MaterialAppearance({material:new y._cesium.Material({fabric:{type:"Color",uniforms:{color:Q}}}),faceForward:!0,flat:!1})}));y.item=L,f.show==!1&&(L.show=!1),typeof C=="function"&&C(L)}),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u7BA1\u72B6\u56FE\u5C42"+f.id);var v={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polylineVolumeLayer",item:this,url:geoOptions.url,style:f};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),this};vp.prototype.computeCircle=function(o){this._core.isnull(o)&&(o=4);for(var A=[],f=0;f<360;f++){var m=this._cesium.Math.toRadians(f);A.push(new this._cesium.Cartesian2(o*Math.cos(m),o*Math.sin(m)))}return A};vp.prototype.createVolumeGeoJsonFeatureLayerProvider1=function(o,A,f,m,C,E){var x=this,y={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.RECEIVE_ONLY},I={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var v=this._core.extend(y,f,!0),B=new FA(this._viewer,this._cesium,I);this._Provider=B;var Q=this;B._loadTile=function(w){var S=[],D=new Q._cesium.PrimitiveCollection;return Q.Legend=[],w.features.forEach(function(R){var P=[];function M(he){for(var ge=0;ge<he.length;ge++)Array.isArray(he[ge])?M(he[ge]):P.push(he[ge])}var L=[];if(/^\[/.test(f.material)&&/\]$/.test(f.material)){var F=f.material.replace(/\[/,"").replace(/\]/,"");v.material=R.properties[F],x._core.isHtmlColor(v.material)?v.material=x._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=x._color.rgbaStringToRgbaObj(v.material)),v.material.r>1&&(v.material.r=v.material.r/255),v.material.g>1&&(v.material.g=v.material.g/255),v.material.b>1&&(v.material.b=v.material.b/255),v.material.a>1&&(v.material.a=v.material.a/255),v.material=x._color.createColor(v.material.r,v.material.g,v.material.b,v.material.a))}for(var k=0;k<R.geometry.coordinates.length;k++){var N=R.geometry.coordinates[k];if(N.length>0)if(Array.isArray(N[0]))for(var G=0;G<N.length;G++){var J=N[G],K=Q._cesium.Cartesian3.fromDegrees(J[0],J[1],v.height);L.push(K)}else{var X=Q._cesium.Cartesian3.fromDegrees(N[0],N[1],v.height);L.push(X)}}if(v.position=L,R.positions=L,v.slttype=="0"||v.slttype==0)v.shape=Q._core.computeCircle(v.radius);else if(v.slttype=="1"||v.slttype==1)v.shape=Q._core.starPositions(v.number,v.exradius,v.inradius);else if(v.slttype=="2"||v.slttype==2){var q=v.orth_width/2,ee=v.orth_height/2;v.shape=[new Q._cesium.Cartesian2(-q,-ee),new Q._cesium.Cartesian2(q,-ee),new Q._cesium.Cartesian2(q,ee),new Q._cesium.Cartesian2(-q,ee)]}var ie={polylinePositions:v.position,shapePositions:v.shape,cornerType:v.cornerType,VertexFormat:{bitangent:!0,color:!0,position:!0,st:!0,normal:!0,tangent:!0}},H=new Q._cesium.PolylineVolumeGeometry(ie),le=new Q._cesium.GeometryInstance({id:R,geometry:H,attributes:{color:new Q._cesium.ColorGeometryInstanceAttribute.fromColor(v.material)}}),ue="material:"+v.material.red*255+","+v.material.green*255+","+v.material.blue*255;Q.Legend.push(ue);var Ae=new Q._cesium.Primitive({allowPicking:!0,appearance:new Q._cesium.MaterialAppearance({material:new Q._cesium.Material({fabric:{type:"Color",uniforms:{color:v.material}}}),faceForward:!0,flat:!1}),shadows:v.shadows,geometryInstances:le});D.add(Ae)}),D},this.item=B._primitiveCollection,B.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var T={id:v.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polylineVolumeLayer",item:this,url:A.url,style:f};this.setTreeobj(T),this._tree.insertGroupId(T,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item)};vp.prototype.createVolumeGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x=this,y={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.RECEIVE_ONLY,radiusScale:1},I={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:this._core.defaultValue(A.srs,"EPSG:4490")+":{z}",TILEMATRIXSET:this._core.defaultValue(A.srs,"EPSG:4490"),FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var v=this._core.extend({...y},f,!0);if(typeof v.radius=="string"&&v.radius.indexOf("[")>-1&&v.radius.indexOf("]")>-1)v.radius=v.radius.replace("[",""),v.radius=v.radius.replace("]",""),v.shape=void 0;else if(v.slttype=="0"||v.slttype==0){v.shape=this._core.computeCircle(v.radius);var B=v.radius/2,Q=v.radius/2;v.shape1=[new this._cesium.Cartesian2(-B,-Q),new this._cesium.Cartesian2(B,-Q),new this._cesium.Cartesian2(B,Q),new this._cesium.Cartesian2(-B,Q)]}else if(v.slttype=="1"||v.slttype==1)v.shape=this._core.starPositions(v.number,v.exradius,v.inradius);else if(v.slttype=="2"||v.slttype==2){var B=v.orth_width/2,Q=v.orth_height/2;v.shape=[new this._cesium.Cartesian2(-B,-Q),new this._cesium.Cartesian2(B,-Q),new this._cesium.Cartesian2(B,Q),new this._cesium.Cartesian2(-B,Q)]}let T=A.url.indexOf("/gisserver/")>-1;var w;T?w=A.url+`/${window.encodeURIComponent("{z}")}/${window.encodeURIComponent("{x}")}/${window.encodeURIComponent("{y}")}.json`:w=A.url+"?"+this._serialize(I.urlParams),this._urlTemplate=w,this._Provider=new Cs(this._viewer,this._cesium,T?new Cesium.WebMercatorTilingScheme:void 0),this._Provider._normalTile=f.level_max-1,this._Provider._minimumHeight=parseFloat(f.height||0),this.item.show=C,this.initThisProvider=()=>{this.initThisProvider=void 0,this._Provider.loadTile=function(L,F){(function(k,N,G){if(N.state===Cesium.QuadtreeTileLoadState.START){if(N.data={lines:[],geometryPrimitive:void 0},N.level>=f.level_min&&N.level<f.level_max&&G.item.show){if(T&&(N.reverseY=G._Provider.tilingScheme.getNumberOfYTilesAtLevel(N.level)-N.y-1),G.TileMatrixLimits){let K=G.TileMatrixLimits[N.level];if(!K||K&&(N.x>K.maxCol||N.x<K.minCol||N.y>K.maxRow||N.y<K.minRow)){N.state=Cesium.QuadtreeTileLoadState.DONE,N.renderable=!0;return}}var J=w.replace(window.encodeURIComponent("{x}"),N.x).replace(window.encodeURIComponent("{y}"),N.reverseY||N.y).replace(window.encodeURIComponent("{z}"),N.level);G._cache&&(J+="&"+G._core.getuid()),G._core.xhr({url:J,type:"get",dataType:"json",success:function(K){if(K==null){N.state=Cesium.QuadtreeTileLoadState.DONE,N.renderable=!0;return}if(!v.shape&&typeof v.radius=="string"&&K.features.length>0){let we;if(K.features[0]&&K.features[0].properties[v.radius])if(we=K.features[0].properties[v.radius],we.indexOf&&(we.indexOf("*")>-1||we.indexOf("x")>-1||we.indexOf("X")>-1)){we.indexOf("*")>-1?we=we.split("*"):we.indexOf("X")>-1?we=we.split("X"):we.indexOf("x")>-1&&(we=we.split("x"));let Te=parseFloat(we[0])*v.radiusScale,Ge=parseFloat(we[1])*v.radiusScale;v.shape=[new G._cesium.Cartesian2(-Te,-Ge),new G._cesium.Cartesian2(Te,-Ge),new G._cesium.Cartesian2(Te,Ge),new G._cesium.Cartesian2(-Te,Ge)]}else v.shape=G._core.computeCircle(we*v.radiusScale);else v.shape=G._core.computeCircle(.5)}G.Legend=[];for(var X=[],q=[],ee=0;ee<K.features.length;ee++){var ie=K.features[ee];if(/^\[/.test(f.material)&&/\]$/.test(f.material)){var H=f.material.replace(/\[/,"").replace(/\]/,"");v.material=ie.properties[H],G._core.isHtmlColor(v.material)?v.material=G._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=G._color.rgbaStringToRgbaObj(v.material)),v.material.r>1&&(v.material.r=v.material.r/255),v.material.g>1&&(v.material.g=v.material.g/255),v.material.b>1&&(v.material.b=v.material.b/255),v.material.a>1&&(v.material.a=v.material.a/255),v.material=G._color.createColor(v.material.r,v.material.g,v.material.b,v.material.a))}for(var le=[],ue=[],Ae=parseFloat(f.height||0),he=0;he<ie.geometry.coordinates.length;he++){var ge=ie.geometry.coordinates[he];if(ge.length>0)if(Array.isArray(ge[0]))for(var fe=0;fe<ge.length;fe++){var ae=ge[fe];Ae=Ae<(ae[2]||0)?ae[2]||0:Ae;var U=G._cesium.Cartesian3.fromDegrees(ae[0],ae[1],v.height);le.push(U),ue.push(v.material)}else{Ae=Ae<(ge[2]||0)?ge[2]||0:Ae;var W=G._cesium.Cartesian3.fromDegrees(ge[0],ge[1],v.height);le.push(W),ue.push(v.material)}}N._minimumHeight=Ae,v.position=le,ie.positions=le;var Y="",z="",re=!0;if(v.slttype=="0"||v.slttype==0)if(N.level>=parseFloat(f.level_max)-8&&parseFloat(f.level_max)>19){Y=v.shape;var se={polylinePositions:v.position,shapePositions:Y,cornerType:v.cornerType,VertexFormat:{bitangent:!0,color:!0,position:!0,st:!0,normal:!0,tangent:!0}};z=new G._cesium.PolylineVolumeGeometry(se)}else if(N.level>=parseFloat(f.level_max)-4&&parseFloat(f.level_max)>16){Y=v.shape;var se={polylinePositions:v.position,shapePositions:Y,cornerType:v.cornerType,VertexFormat:{bitangent:!0,color:!0,position:!0,st:!0,normal:!0,tangent:!0}};z=new G._cesium.PolylineVolumeGeometry(se)}else if(N.level>=parseFloat(f.level_max)-4){Y=v.shape;var se={polylinePositions:v.position,shapePositions:Y,cornerType:v.cornerType,VertexFormat:{bitangent:!0,color:!0,position:!0,st:!0,normal:!0,tangent:!0}};z=new G._cesium.PolylineVolumeGeometry(se)}else{Y="";var de={positions:v.position,width:1,vertexFormat:G._cesium.PolylineColorAppearance.VERTEX_FORMAT,colors:ue};z=new G._cesium.PolylineGeometry(de),re=!1}else{Y=v.shape;var se={polylinePositions:v.position,shapePositions:Y,cornerType:v.cornerType,VertexFormat:{bitangent:!0,color:!0,position:!0,st:!0,normal:!0,tangent:!0}};z=new G._cesium.PolylineVolumeGeometry(se)}var me=new G._cesium.GeometryInstance({id:ie,geometry:z,attributes:{color:new G._cesium.ColorGeometryInstanceAttribute.fromColor(v.material)}});Y==""&&(me=new G._cesium.GeometryInstance({id:ie,geometry:z})),q.push(me)}var Ce="material:"+v.material.red*255+","+v.material.green*255+","+v.material.blue*255;G.Legend.push(Ce),q.length==0&&(N.state=Cesium.QuadtreeTileLoadState.DONE,N.renderable=!0);var Ie=null;Y==""?Ie=new G._cesium.Primitive({appearance:new G._cesium.PolylineColorAppearance,geometryInstances:q}):Ie=new G._cesium.Primitive({allowPicking:!0,appearance:new G._cesium.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:G._core.Shaders("vertexShaderSource"),fragmentShaderSource:G._core.Shaders("fragmentShaderSource")}),shadows:v.shadows,geometryInstances:q}),N.data.geometryPrimitive=Ie,N.state=Cesium.QuadtreeTileLoadState.LOADING,N.state===Cesium.QuadtreeTileLoadState.LOADING&&(N.data.geometryPrimitive.update(k,[]),N.state=Cesium.QuadtreeTileLoadState.DONE,N.renderable=!0)},error:function(){N.state=Cesium.QuadtreeTileLoadState.DONE,N.renderable=!0}})}else{N.state=Cesium.QuadtreeTileLoadState.DONE,N.renderable=!0;return}N.state=Cesium.QuadtreeTileLoadState.LOADING}})(L,F,x)},typeof E=="function"&&E(this.item)};let S,D;this.saveDefaultVectorData=()=>{D=x._core.extend({},f,!0)},this.restoreVector=()=>{D&&(f=D,v=x._core.extend({...y},f,!0),x._Provider._normalTile=f.level_max-1,x._primitive&&x._primitive._tilesToRender&&x._primitive._tilesToRender.length&&(x._primitive._tilesToRender.forEach(L=>{L.data.geomeitryPrimitive&&L.data.geomeitryPrimitive.destroy(),L.state=Cesium.QuadtreeTileLoadState.START}),x._primitive._tileToUpdateHeights.forEach(L=>{L.data.geomeitryPrimitive&&L.data.geomeitryPrimitive.destroy(),L.state=Cesium.QuadtreeTileLoadState.START}),x._primitive._tileToUpdateHeights=[],x._primitive._tilesToRender=[])),D=void 0},this.updataVector=(L={})=>{if(L.material&&L.material&&(L.material=Cesium.Color.fromCssColorString(L.material)),(L.minimumLevel!==void 0||L.maximumLevel!==void 0)&&(L.minimumLevel!==void 0&&(L.level_min=L.minimumLevel),L.maximumLevel!==void 0&&(L.level_max=L.maximumLevel)),typeof L.radius=="string"&&L.radius.indexOf("[")>-1&&L.radius.indexOf("]")>-1)v.radius=v.radius.replace("[",""),v.radius=v.radius.replace("]",""),v.shape=void 0;else if(L.radius){if(v.slttype=="0"||v.slttype==0){v.shape=this._core.computeCircle(v.radius);var F=v.radius/2,k=v.radius/2;v.shape1=[new this._cesium.Cartesian2(-F,-k),new this._cesium.Cartesian2(F,-k),new this._cesium.Cartesian2(F,k),new this._cesium.Cartesian2(-F,k)]}else if(v.slttype=="1"||v.slttype==1)v.shape=this._core.starPositions(v.number,v.exradius,v.inradius);else if(v.slttype=="2"||v.slttype==2){var F=v.orth_width/2,k=v.orth_height/2;v.shape=[new this._cesium.Cartesian2(-F,-k),new this._cesium.Cartesian2(F,-k),new this._cesium.Cartesian2(F,k),new this._cesium.Cartesian2(-F,k)]}}f=x._core.extend(f,L,!0),v=x._core.extend(v,f,!0),x._Provider._normalTile=f.level_max-1,x._primitive&&x._primitive._tilesToRender&&x._primitive._tilesToRender.length&&(clearTimeout(S),S=setTimeout(()=>{x._primitive._tilesToRender.forEach(N=>{N.data.geomeitryPrimitive&&N.data.geomeitryPrimitive.destroy(),N.state=Cesium.QuadtreeTileLoadState.START}),x._primitive._tileToUpdateHeights.forEach(N=>{N.data.geomeitryPrimitive&&N.data.geomeitryPrimitive.destroy(),N.state=Cesium.QuadtreeTileLoadState.START}),x._primitive._tileToUpdateHeights=[],x._primitive._tilesToRender=[]},100))},this._primitive=new this._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var R=this._viewer.scene,P=R.primitives;f&&f.time&&(this._Provider._availability=new x._cesium.TimeIntervalCollection([new x._cesium.TimeInterval({start:f.time.start?x._cesium.JulianDate.fromDate(new Date(f.time.start)):x._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?x._cesium.JulianDate.fromDate(new Date(f.time.end)):x._cesium.Iso8601.MAXIMUM_VALUE})]),this._Provider.isAvailable=function(L){if(!Cesium.defined(L))throw new Cesium.DeveloperError("time is required.");var F=this._availability;return!Cesium.defined(F)||F.contains(L)}),P.add(this._primitive),this._core.getWMTSData({url:A.url,layer:A.layer,srs:A.srs||"EPSG:4490",gisserverTMS:T},L=>{x.item.boundingSphere=L.boundingSphere,x.TileMatrixLimits=L.TileMatrixLimits,x.initThisProvider()}),C||this.setVisibility(!1),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id);var M={id:v.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polylineVolumeLayer",item:this,url:A.url,style:f};return this.setTreeobj(M),this._tree.insertGroupId(M,this._core.isnull(m)?0:m),this};var i5i=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o};vp.prototype._serialize=function(o){var A=[],f=window.encodeURIComponent;for(var m in o){var C=o[m];(typeof C>"u"?"undefined":i5i(C))==="object"?A.push(f(m)+"="+f(JSON.stringify(C))):A.push(f(m)+"="+f(o[m]))}return A.join("&")};vp.prototype.createVolumeVectorGeoJsonFeatureLayerOptimization=function(o,A,f,m,C,E){var x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.RECEIVE_ONLY},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var I=this,v=this._core.extend(x,f,!0);if(v.slttype=="0"||v.slttype==0)v.shape=I._core.computeCircle(v.radius);else if(v.slttype=="1"||v.slttype==1)v.shape=I._core.starPositions(v.number,v.exradius,v.inradius);else if(v.slttype=="2"||v.slttype==2){var B=v.orth_width/2,Q=v.orth_height/2;v.shape=[new I._cesium.Cartesian2(-B,-Q),new I._cesium.Cartesian2(B,-Q),new I._cesium.Cartesian2(B,Q),new I._cesium.Cartesian2(-B,Q)]}A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var T=[];this._urlTemplate=A.url+"?"+this._serialize(y.urlParams),this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(R,P){this.tile=null,this.tile=P;var M=[];if(P.state===this._cesium.QuadtreeTileLoadState.START&&I.item.show){var L="z"+P.level+"x"+P.x+"y"+P.y;if(P.data={lines:[],geometryPrimitive:void 0},P.level>=f.level_min&&P.level<f.level_max&&I.item.show)I.Primitivekey.includes(L)||function(F){var k=I._urlTemplate.replace(window.encodeURIComponent("{x}"),F.x).replace(window.encodeURIComponent("{y}"),F.y).replace(window.encodeURIComponent("{z}"),F.level);I.tilesLength++,I._cache&&(k+="&"+I._core.getuid()),I._core.xhr({url:k,type:"get",dataType:"json",success:function(N){var G=[],J=[],K=new I._cesium.PrimitiveCollection;I.Legend=[];function X(Ae){for(var he=0;he<Ae.length;he++)Array.isArray(Ae[he])?X(Ae[he]):ie.push(Ae[he])}function q(){if(/^\[/.test(f.material)&&/\]$/.test(f.material)){var Ae=f.material.replace(/\[/,"").replace(/\]/,"");v.material=H.properties[Ae],I._core.isHtmlColor(v.material)?v.material=I._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=I._color.rgbaStringToRgbaObj(v.material)),v.material.r>1&&(v.material.r=v.material.r/255),v.material.g>1&&(v.material.g=v.material.g/255),v.material.b>1&&(v.material.b=v.material.b/255),v.material.a>1&&(v.material.a=v.material.a/255),v.material=I._color.createColor(v.material.r,v.material.g,v.material.b,v.material.a))}var he=I._cesium.Cartesian3.fromDegreesArray(ie);v.position=he,H.positions=he;var ge={polylinePositions:v.position,shapePositions:v.shape,cornerType:v.cornerType},fe=new I._cesium.PolylineVolumeGeometry(ge),ae=new I._cesium.GeometryInstance({id:H,geometry:fe,attributes:{color:new I._cesium.ColorGeometryInstanceAttribute.fromColor(v.material)}}),U="material:"+v.material.red*255+","+v.material.green*255+","+v.material.blue*255;I.Legend.push(U),G.push(ae);var W=new I._cesium.Primitive({allowPicking:!0,appearance:new I._cesium.MaterialAppearance({material:new I._cesium.Material({fabric:{type:"Color",uniforms:{color:v.material}}}),faceForward:!0,flat:!1}),shadows:v.shadows,geometryInstances:ae});K.add(W)}for(var ee=0;ee<N.features.length;ee++){var ie=[],H=N.features[ee];if(Array.isArray(H.geometry.coordinates)&&H.geometry.coordinates.length>0)if(Array.isArray(H.geometry.coordinates[0][0]))for(var le=0;le<H.geometry.coordinates.length;le++)ie=[],H.geometry.coordinates[le].pop(),X(H.geometry.coordinates[le]),ie.length>2&&q(ie);else X(H.geometry.coordinates),ie.length>2&&q(ie)}if(G.length>0){I.PrimitiveObj.data=K,I.PrimitiveObj.key=I.Primitivekey[I.returnCount];var ue={key:I.Primitivekey[I.returnCount],data:K};I.PrimitiveData.push(ue),I._primitiveCollection.add(K),I._viewer.scene.primitives.add(K),I.datas.push(K),I.returnCount++,I._primitiveByTile[L]=K}},error:function(){T=bi.remove(T,function(N){return N.x==F.x&&N.y==F.y&&N.level==F.level})},complete:function(N,G){N=null,F.state=I._cesium.QuadtreeTileLoadState.LOADING,F.state===I._cesium.QuadtreeTileLoadState.LOADING&&(F.data.geometryPrimitive&&(F.state=I._cesium.QuadtreeTileLoadState.DONE),F.renderable=!0)}})}(P);else{P.state=I._cesium.QuadtreeTileLoadState.LOADING,P.state===I._cesium.QuadtreeTileLoadState.LOADING&&(P.data.geometryPrimitive&&(P.state=I._cesium.QuadtreeTileLoadState.DONE),P.renderable=!0);return}}},this._primitive=new I._cesium.QuadtreePrimitivezh({tileProvider:this._Provider,tileCacheSize:1,maximumScreenSpaceError:3});var w=this._viewer.scene,S=w.primitives;S.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var D={id:v.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f};this.setTreeobj(D),this._tree.insertGroupId(D,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item)};vp.prototype.setTreeobj=function(o){this.treeobj=o};vp.prototype._removeObsoletePrimitives=function(o,A){var f=[];A.length>0&&(f=A);for(var m in o)if(!f.includes(m)){var C=this._primitiveCollection.remove(o[m]);C&&delete o[m]}};vp.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.treeobj.url;return{type:this.treeobj.type,treeobj:{name:this.treeobj.name,pId:this.treeobj.pId},style:{show:o,url:A}}};vp.prototype.deleteObject=function(){this._viewer.scene.primitives.remove(this.item);try{this._Provider.remove()}catch{}};vp.prototype.getLegend=function(){var o=[];return this.Legend!=null&&(o=this._core.unique(this.Legend)),o};vp.prototype.setRefresh=function(o){try{this._Provider&&this._Provider.setStatus(!o)}catch{}};vp.prototype.setVisibility=function(o){this.item.show=o,this._Provider&&this._Provider.setStatus(o)};vp.prototype.isCache=function(o){this._cache=o};vp.prototype.edit=function(o,A){return this.isEditting=o,this.editoption=A,this._Provider&&this._Provider.edit&&this._Provider.edit(o,A)};vp.prototype.forceRefresh=function(){try{for(var o=0;o<this._Provider.quadtree._levelZeroTiles.length;o++)this._Provider.quadtree._levelZeroTiles[o].freeResources()}catch{}};var NW=vp;function gm(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._color=new In(this._viewer,this._cesium),this._tree=Ke,this.item={show:!0},this._option=void 0,this._primitive=void 0,this._Provider=void 0,this.Legend=[],this.datas=[],this.PrimitiveData=[],this.PrimitiveObj={key:"",data:{}},this.Primitivekey=[],this.tilesLength=0,this.returnCount=0,this._cache=!1,this._forceRefreshPrvimitive=null}var r5i=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o};gm.prototype._serialize=function(o){var A=[],f=window.encodeURIComponent;for(var m in o){var C=o[m];(typeof C>"u"?"undefined":r5i(C))==="object"?A.push(f(m)+"="+f(JSON.stringify(C))):A.push(f(m)+"="+f(o[m]))}return A.join("&")};gm.prototype.createVolumeVectorGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(x,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var I=[],v={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!0,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},B=this;this._urlTemplate=A.url+"?"+this._core._serialize(y.urlParams),this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(S,D){if(this.tile=D,D.state===this._cesium.QuadtreeTileLoadState.START&&B.item.show){var R="z"+D.level+"x"+D.x+"y"+D.y;if(D.data={lines:[],geometryPrimitive:void 0},D.level>=f.level_min&&D.level<f.level_max&&B.item.show){var P=bi.filter(I,function(M){return M.x==D.x&&M.y==D.y&&M.level==D.level});if(P.length!=0&&P[0].data&&P[0].data.length>0){D.data.geometryPrimitive=new B._cesium.Primitive({geometryInstances:P[0].data,appearance:new B._cesium.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:B._cesium.ShadowMode.ENABLED}),D.state=B._cesium.QuadtreeTileLoadState.LOADING,D.state===B._cesium.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive&&D.data.geometryPrimitive.update(),D.state=B._cesium.QuadtreeTileLoadState.DONE,D.renderable=!0);return}I.push({level:D.level,x:D.x,y:D.y,data:void 0}),function(M){var L=B._urlTemplate.replace(window.encodeURIComponent("{x}"),M.x).replace(window.encodeURIComponent("{y}"),M.y).replace(window.encodeURIComponent("{z}"),M.level);B._cache&&(L+="&"+B._core.getuid()),B._core.xhr({url:L,type:"get",dataType:"json",success:function(F){var k=[],N=[];B.Legend=[];function G(ie){for(var H=0;H<ie.length;H++)Array.isArray(ie[H])?G(ie[H]):X.push(ie[H])}function J(){if(/^\[/.test(B._option.extrudedHeight)&&/\]$/.test(B._option.extrudedHeight)){var ie=B._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");v.extrudedHeight=parseFloat(q.properties[ie])}else v.extrudedHeight=parseFloat(B._option.extrudedHeight);if(v.material=B._option.material,/^\[/.test(B._option.material)&&/\]$/.test(B._option.material)){var H=B._option.material.replace(/\[/,"").replace(/\]/,"");v.material=q.properties[H],B._core.isHtmlColor(v.material)?v.material=B._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=B._color.rgbaStringToRgbaObj(v.material)),v.material.red>1&&(v.material.red=v.material.red/255),v.material.green>1&&(v.material.green=v.material.green/255),v.material.blue>1&&(v.material.blue=v.material.blue/255),v.material.alpha>1&&(v.material.a=v.material.alpha/255),v.material=B._color.createColor(v.material.red,v.material.green,v.material.blue,v.material.alpha))}else B._option.material&&(v.material=B._option.material),v.material&&(B._core.isHtmlColor(v.material)?v.material=B._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=B._color.rgbaStringToRgbaObj(v.material)),v.material.red>1&&(v.material.red=v.material.red/255),v.material.green>1&&(v.material.green=v.material.green/255),v.material.blue>1&&(v.material.blue=v.material.blue/255),v.material.alpha>1&&(v.material.a=v.material.alpha/255),v.material=B._color.createColor(v.material.red,v.material.green,v.material.blue,v.material.alpha)));var le=B._cesium.Cartesian3.fromDegreesArray(X);v.polygonHierarchy=new B._cesium.PolygonHierarchy(le);var ue=new B._cesium.PolygonGeometry(v),Ae=B._cesium.PolygonGeometry.createGeometry(ue),he=new B._cesium.GeometryInstance({id:q,geometry:Ae,attributes:{color:new B._cesium.ColorGeometryInstanceAttribute.fromColor(v.material)}}),ge="material:"+v.material.red*255+","+v.material.green*255+","+v.material.blue*255;B.Legend.push(ge),k.push(he)}for(var K=0;K<F.features.length;K++){var X=[],q=F.features[K];if(Array.isArray(q.geometry.coordinates)&&q.geometry.coordinates.length>0)if(Array.isArray(q.geometry.coordinates[0][0]))for(var ee=0;ee<q.geometry.coordinates.length;ee++)X=[],q.geometry.coordinates[ee].pop(),G(q.geometry.coordinates[ee]),J(X);else G(q.geometry.coordinates),J(X)}M.data.geometryPrimitive=new B._cesium.Primitive({geometryInstances:k,appearance:new B._cesium.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:B._core.Shaders("vertexShaderSource"),fragmentShaderSource:B._core.Shaders("fragmentShaderSource")}),shadows:B._option.shadows})},error:function(){I=bi.remove(I,function(F){return F.x==M.x&&F.y==M.y&&F.level==M.level})},complete:function(F,k){F=null,M.state=B._cesium.QuadtreeTileLoadState.LOADING,M.state===B._cesium.QuadtreeTileLoadState.LOADING&&(M.data.geometryPrimitive&&M.data.geometryPrimitive.update(S),M.state=B._cesium.QuadtreeTileLoadState.DONE,M.renderable=!0)}})}(D)}else{D.state=B._cesium.QuadtreeTileLoadState.LOADING,D.state===B._cesium.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive&&D.data.geometryPrimitive.update(S,[]),D.state=B._cesium.QuadtreeTileLoadState.DONE,D.renderable=!0);return}}},this._primitive=new B._cesium.QuadtreePrimitive({tileProvider:this._Provider});var Q=this._viewer.scene,T=Q.primitives;f&&f.time&&(this._Provider._availability=new B._cesium.TimeIntervalCollection([new B._cesium.TimeInterval({start:f.time.start?B._cesium.JulianDate.fromDate(new Date(f.time.start)):B._cesium.Iso8601.MINIMUM_VALUE,stop:f.time.end?B._cesium.JulianDate.fromDate(new Date(f.time.end)):B._cesium.Iso8601.MAXIMUM_VALUE})]),this._Provider.isAvailable=function(S){if(!Cesium.defined(S))throw new Cesium.DeveloperError("time is required.");var D=this._availability;return!Cesium.defined(D)||D.contains(S)}),T.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var w={id:v.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f};this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item)};gm.prototype.createVolumeVectorGeoJsonFeatureLayerOptimization=function(o,A,f,m,C,E){var x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),this._option=this._core.extend(x,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var I=[],v={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:this._cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:this._cesium.Ellipsoid.WGS84,perPositionHeight:!0,closeTop:!0,closeBottom:!0,arcType:this._cesium.ArcType.GEODESIC,material:this._cesium.Color.RED},B=this;this._urlTemplate=A.url+"?"+this._serialize(y.urlParams),this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(S,D){if(this.tile=null,this.tile=D,D.state===this._cesium.QuadtreeTileLoadState.START&&B.item.show){var R="z"+D.level+"x"+D.x+"y"+D.y;if(D.data={lines:[],geometryPrimitive:void 0},D.level>=f.level_min&&D.level<f.level_max&&B.item.show){var P=bi.filter(I,function(L){return L.x==D.x&&L.y==D.y&&L.level==D.level});if(P.length!=0&&P[0].data&&P[0].data.length>0){D.data.geometryPrimitive=new B._cesium.Primitive({geometryInstances:P[0].data,appearance:new B._cesium.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:B._cesium.ShadowMode.ENABLED}),D.state=B._cesium.QuadtreeTileLoadState.LOADING,D.state===B._cesium.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive&&(D.state=B._cesium.QuadtreeTileLoadState.DONE),D.renderable=!0);return}if(B.PrimitiveData.length>0){for(var M=0;M<B.PrimitiveData.length;M++)if(B.PrimitiveData[M].key==R){B.Primitivekey.push(R);return}}B.Primitivekey.includes(R)||(B.Primitivekey.push(R),I.push({level:D.level,x:D.x,y:D.y,data:void 0}),function(L){var F=B._urlTemplate.replace(window.encodeURIComponent("{x}"),L.x).replace(window.encodeURIComponent("{y}"),L.y).replace(window.encodeURIComponent("{z}"),L.level);B._cache&&(F+="&"+B._core.getuid()),B.tilesLength++,B._core.xhr({url:F,type:"get",dataType:"json",success:function(k){var N=[],G=[];B.Legend=[];function J(ue){for(var Ae=0;Ae<ue.length;Ae++)Array.isArray(ue[Ae])?J(ue[Ae]):q.push(ue[Ae])}function K(){if(/^\[/.test(B._option.extrudedHeight)&&/\]$/.test(B._option.extrudedHeight)){var ue=B._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");v.extrudedHeight=parseFloat(ee.properties[ue])}if(v.extrudedHeight=parseFloat(B._option.extrudedHeight),v.material=B._option.material,/^\[/.test(B._option.material)&&/\]$/.test(B._option.material)){var Ae=B._option.material.replace(/\[/,"").replace(/\]/,"");v.material=ee.properties[Ae],B._core.isHtmlColor(v.material)?v.material=B._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=B._color.rgbaStringToRgbaObj(v.material)),v.material.red>1&&(v.material.red=v.material.red/255),v.material.green>1&&(v.material.green=v.material.green/255),v.material.blue>1&&(v.material.blue=v.material.blue/255),v.material.alpha>1&&(v.material.a=v.material.alpha/255),v.material=B._color.createColor(v.material.red,v.material.green,v.material.blue,v.material.alpha))}else B._option.material&&(v.material=B._option.material),v.material&&(B._core.isHtmlColor(v.material)?v.material=B._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=B._color.rgbaStringToRgbaObj(v.material)),v.material.red>1&&(v.material.red=v.material.red/255),v.material.green>1&&(v.material.green=v.material.green/255),v.material.blue>1&&(v.material.blue=v.material.blue/255),v.material.alpha>1&&(v.material.a=v.material.alpha/255),v.material=B._color.createColor(v.material.red,v.material.green,v.material.blue,v.material.alpha)));var he=B._cesium.Cartesian3.fromDegreesArray(q);v.polygonHierarchy=new B._cesium.PolygonHierarchy(he);var ge=new B._cesium.PolygonGeometry(v),fe=new B._cesium.GeometryInstance({id:ee,geometry:ge,attributes:{color:new B._cesium.ColorGeometryInstanceAttribute.fromColor(v.material)}}),ae="material:"+v.material.red*255+","+v.material.green*255+","+v.material.blue*255;B.Legend.push(ae),N.push(fe)}for(var X=0;X<k.features.length;X++){var q=[],ee=k.features[X];if(Array.isArray(ee.geometry.coordinates)&&ee.geometry.coordinates.length>0)if(Array.isArray(ee.geometry.coordinates[0][0]))for(var ie=0;ie<ee.geometry.coordinates.length;ie++)q=[],ee.geometry.coordinates[ie].pop(),J(ee.geometry.coordinates[ie]),K(q);else J(ee.geometry.coordinates),K(q)}var H=new B._cesium.Primitive({geometryInstances:N,appearance:new B._cesium.PerInstanceColorAppearance({translucent:!1,vertexShaderSource:B._core.Shaders("vertexShaderSource"),fragmentShaderSource:B._core.Shaders("fragmentShaderSource")}),shadows:B._option.shadows});B.PrimitiveObj.data=H,B.PrimitiveObj.key=B.Primitivekey[B.returnCount];var le={key:B.Primitivekey[B.returnCount],data:H};B.PrimitiveData.push(le),B._viewer.scene.primitives.add(H),B.datas.push(H),B.returnCount++,B.returnCount>=B.tilesLength&&(B.returnCount=0,B.tilesLength=0,B.Primitivekey=[])},error:function(){I=bi.remove(I,function(k){return k.x==L.x&&k.y==L.y&&k.level==L.level})},complete:function(k,N){k=null,L.state=B._cesium.QuadtreeTileLoadState.LOADING,L.state===B._cesium.QuadtreeTileLoadState.LOADING&&(L.data.geometryPrimitive&&(L.state=B._cesium.QuadtreeTileLoadState.DONE),L.renderable=!0)}})}(D))}else{D.state=B._cesium.QuadtreeTileLoadState.LOADING,D.state===B._cesium.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive&&(D.state=B._cesium.QuadtreeTileLoadState.DONE),D.renderable=!0);return}}},this._primitive=new B._cesium.QuadtreePrimitive({tileProvider:this._Provider});var Q=this._viewer.scene,T=Q.primitives;T.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var w={id:v.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f};this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item)};gm.prototype.createVolumeVectorGeoJsonFeatureLayersd=function(o,A,f,m,C,E){var x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a)))),!this._core.isnull(f)&&!this._core.isnull(f.outlineColor)&&(f.outlineColor.toString().charAt(0)=="["&&f.outlineColor.toString().charAt(f.outlineColor.length-1)=="]"||(this._core.isHtmlColor(f.outlineColor)?f.outlineColor=this._color.colorFromHtmlColor(f.outlineColor):(/^rgb/.test(f.outlineColor)&&(f.outlineColor=this._color.rgbaStringToRgbaObj(f.outlineColor)),f.outlineColor.r>1&&(f.outlineColor.r=f.outlineColor.r/255),f.outlineColor.g>1&&(f.outlineColor.g=f.outlineColor.g/255),f.outlineColor.b>1&&(f.outlineColor.b=f.outlineColor.b/255),f.outlineColor.a>1&&(f.outlineColor.a=f.outlineColor.a/255),f.outlineColor=this._color.createColor(f.outlineColor.r,f.outlineColor.g,f.outlineColor.b,f.outlineColor.a)))),this._option=this._core.extend(x,f,!0),A==null&&console.log("geoOptions is required"),o==null&&console.log("layername is required");var I=[],v={polygonHierarchy:void 0,height:0,extrudedHeight:0,vertexFormat:Cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:Cesium.Ellipsoid.WGS84,perPositionHeight:!0,closeTop:!0,closeBottom:!0,arcType:Cesium.ArcType.GEODESIC,material:Cesium.Color.RED},B=this;this._urlTemplate=A.url+"?"+this._serialize(y.urlParams);var Q=A.url.split("geoserver")[0]+"geoserver/polygon/ows?service=WFS&version=1.0.0&request=GetFeature&typeName="+y.urlParams.LAYER+"&outputFormat=application%2Fjson",T=Q;B._core.xhr({url:T,type:"get",async:!1,dataType:"json",success:function(R){B.datas=R.features}}),this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(R,P){if(this.tile=P,P.state===Cesium.QuadtreeTileLoadState.START&&B.item.show){var M="z"+P.level+"x"+P.x+"y"+P.y;if(P.data={lines:[],geometryPrimitive:void 0},P.level>=f.level_min&&P.level<f.level_max&&B.item.show){var L=bi.filter(I,function(F){return F.x==P.x&&F.y==P.y&&F.level==P.level});if(L.length!=0&&L[0].data&&L[0].data.length>0){P.data.geometryPrimitive=new Cesium.Primitive({geometryInstances:L[0].data,appearance:new Cesium.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:Cesium.ShadowMode.ENABLED}),P.state=Cesium.QuadtreeTileLoadState.LOADING,P.state===Cesium.QuadtreeTileLoadState.LOADING&&(P.data.geometryPrimitive&&P.data.geometryPrimitive.update(),P.state=Cesium.QuadtreeTileLoadState.DONE,P.renderable=!0);return}I.push({level:P.level,x:P.x,y:P.y,data:void 0}),function(F){var k=B._urlTemplate.replace(window.encodeURIComponent("{x}"),F.x).replace(window.encodeURIComponent("{y}"),F.y).replace(window.encodeURIComponent("{z}"),F.level);B._cache&&(k+="&"+B._core.getuid()),B._core.xhr({url:k,type:"get",dataType:"json",success:function(N){var G=[],J=[];B.Legend=[];function K(he){for(var ge=0;ge<he.length;ge++)Array.isArray(he[ge])?(he[ge].length==3&&(he[ge].splice(2,1),he[ge].push(this._option.height)),K(he[ge])):ee.push(he[ge])}function X(){if(/^\[/.test(B._option.extrudedHeight)&&/\]$/.test(B._option.extrudedHeight)){var he=B._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");v.extrudedHeight=parseFloat(le.properties[he])}else v.extrudedHeight=parseFloat(B._option.extrudedHeight);if(v.material=B._option.material,/^\[/.test(B._option.material)&&/\]$/.test(B._option.material)){var ge=B._option.material.replace(/\[/,"").replace(/\]/,"");v.material=le.properties[ge],B._core.isHtmlColor(v.material)?v.material=B._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=B._color.rgbaStringToRgbaObj(v.material)),v.material.red>1&&(v.material.red=v.material.red/255),v.material.green>1&&(v.material.green=v.material.green/255),v.material.blue>1&&(v.material.blue=v.material.blue/255),v.material.alpha>1&&(v.material.a=v.material.alpha/255),v.material=B._color.createColor(v.material.red,v.material.green,v.material.blue,v.material.alpha))}else B._option.material&&(v.material=B._option.material),v.material&&(B._core.isHtmlColor(v.material)?v.material=B._color.colorFromHtmlColor(v.material):(/^rgb/.test(v.material)&&(v.material=B._color.rgbaStringToRgbaObj(v.material)),v.material.red>1&&(v.material.red=v.material.red/255),v.material.green>1&&(v.material.green=v.material.green/255),v.material.blue>1&&(v.material.blue=v.material.blue/255),v.material.alpha>1&&(v.material.a=v.material.alpha/255),v.material=B._color.createColor(v.material.red,v.material.green,v.material.blue,v.material.alpha)));var fe=Cesium.Cartesian3.fromDegreesArrayHeights(ee);v.polygonHierarchy=new Cesium.PolygonHierarchy(fe);var fe=Cesium.Cartesian3.fromDegreesArrayHeights(ee),ae={positions:fe,width:B._option.outlineWidth,color:Cesium.ColorGeometryInstanceAttribute.fromColor(B._option.outlineColor)},U=new Cesium.PolylineGeometry(ae),W=new Cesium.GeometryInstance({geometry:U}),Y="material:"+v.material.red*255+","+v.material.green*255+","+v.material.blue*255;B.Legend.push(Y),J.push(W)}for(var q=0;q<N.features.length;q++){var ee=[],ie=N.features[q].id,H=parseInt(ie.split(".")[1])+1,le=B.datas[H];if(Array.isArray(le.geometry.coordinates)&&le.geometry.coordinates.length>0&&Array.isArray(le.geometry.coordinates[0][0][0]))for(var ue=0;ue<le.geometry.coordinates[0].length;ue++)ee=[],K(le.geometry.coordinates[0][ue]),X(ee)}var Ae=new Cesium.PrimitiveCollection;Ae.add(new Cesium.Primitive({geometryInstances:J,appearance:new Cesium.PolylineColorAppearance})),F.data.geometryPrimitive=Ae},error:function(){I=bi.remove(I,function(N){return N.x==F.x&&N.y==F.y&&N.level==F.level})},complete:function(N,G){N=null,F.state=Cesium.QuadtreeTileLoadState.LOADING,F.state===Cesium.QuadtreeTileLoadState.LOADING&&(F.data.geometryPrimitive&&F.data.geometryPrimitive.update(R),F.state=Cesium.QuadtreeTileLoadState.DONE,F.renderable=!0)}})}(P)}else{P.state=Cesium.QuadtreeTileLoadState.LOADING,P.state===Cesium.QuadtreeTileLoadState.LOADING&&(P.data.geometryPrimitive&&P.data.geometryPrimitive.update(R,[]),P.state=Cesium.QuadtreeTileLoadState.DONE,P.renderable=!0);return}}},this._primitive=new B._cesium.QuadtreePrimitive({tileProvider:this._Provider});var w=this._viewer.scene,S=w.primitives;S.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(v.id)&&(v.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+v.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var D={id:v.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f};return this.setTreeobj(D),this._tree.insertGroupId(D,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item),this};gm.prototype.createVolumeVectorGeoJsonFeatureLayerDth=function(o,A,f,m,C,E){var x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.DISABLED,level_max:20,level_min:10},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,rectangle:this._cesium.Rectangle.fromDegrees(A.minx,A.miny,A.maxx,A.maxy),Cesium:this._cesium};this._option=this._core.extend(x,f,!0),A==null&&console.log("url is required"),o==null&&console.log("layername is required");var I=[],v={polygonHierarchy:void 0,height:0,extrudedHeight:100,vertexFormat:Cesium.VertexFormat.DEFAULT,stRotation:0,ellipsoid:Cesium.Ellipsoid.WGS84,perPositionHeight:!0,closeTop:!0,closeBottom:!0,arcType:Cesium.ArcType.GEODESIC,material:Cesium.Color.WHITE},B=this;this._urlTemplate=A.url+"?"+this._serialize(y.urlParams),this._Provider=new Cs(this._viewer,this._cesium),this._Provider._normalTile=f.level_max-1,this._Provider.loadTile=function(S,D){if(this.tile=D,_serialize,D.state===Cesium.QuadtreeTileLoadState.START&&B.item.show){var R="z"+D.level+"x"+D.x+"y"+D.y;if(D.data={lines:[],geometryPrimitive:void 0},D.level>=f.level_min&&D.level<f.level_max&&B.item.show){var P=bi.filter(I,function(M){return M.x==D.x&&M.y==D.y&&M.level==D.level});if(P.length!=0&&P[0].data&&P[0].data.length>0){D.data.geometryPrimitive=new Cesium.Primitive({geometryInstances:P[0].data,appearance:new Cesium.PerInstanceColorAppearance({flat:!0,translucent:!0,faceForward:!0,closed:!0}),shadows:Cesium.ShadowMode.ENABLED}),D.state=Cesium.QuadtreeTileLoadState.LOADING,D.state===Cesium.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive&&D.data.geometryPrimitive.update(S,[]),D.state=Cesium.QuadtreeTileLoadState.DONE,D.renderable=!0);return}I.push({level:D.level,x:D.x,y:D.y,data:void 0}),function(M){var L=B._urlTemplate.replace(window.encodeURIComponent("{x}"),M.x).replace(window.encodeURIComponent("{y}"),M.y).replace(window.encodeURIComponent("{z}"),M.level);B._cache&&(L+="&"+B._core.getuid()),B._core.xhr({url:L,type:"get",dataType:"json",success:function(F){var k=[];B.Legend=[];var N=new B._cesium.PrimitiveCollection;function G(ge){for(var fe=0;fe<ge.length;fe++)Array.isArray(ge[fe])?G(ge[fe]):K.push(ge[fe])}for(var J=0;J<F.features.length;J++){var K=[],X=F.features[J];if(G(F.features[J].geometry.coordinates[0]),/^\[/.test(B._option.extrudedHeight)&&/\]$/.test(B._option.extrudedHeight)){var q=B._option.extrudedHeight.replace(/\[/,"").replace(/\]/,"");B._option.extrudedHeight=parseFloat(X.properties[q])}else B._option.extrudedHeight=parseFloat(B._option.extrudedHeight);if(B._option.heightReference==1&&delete B._option.height,B._option.extrudedHeightReference==1&&delete B._option.extrudedHeight,/^\[/.test(B._option.material)&&/\]$/.test(B._option.material)){var ee=B._option.material.replace(/\[/,"").replace(/\]/,"");B._option.material=X.properties[ee],B._core.isHtmlColor(B._option.material)?B._option.material=B._color.colorFromHtmlColor(B._option.material):(/^rgb/.test(B._option.material)&&(B._option.material=B._color.rgbaStringToRgbaObj(B._option.material)),B._option.material.red>1&&(B._option.material.red=B._option.material.red/255),B._option.material.green>1&&(B._option.material.green=B._option.material.green/255),B._option.material.blue>1&&(B._option.material.blue=B._option.material.blue/255),B._option.material.alpha>1&&(B._option.material.a=B._option.material.alpha/255),B._option.material=B._color.createColor(B._option.material.red,B._option.material.green,B._option.material.blue,B._option.material.alpha))}else B._option.material&&(B._option.material=B._option.material),B._option.material&&(B._core.isHtmlColor(B._option.material)?B._option.material=B._color.colorFromHtmlColor(B._option.material):(/^rgb/.test(B._option.material)&&(B._option.material=B._color.rgbaStringToRgbaObj(B._option.material)),B._option.material.red>1&&(B._option.material.red=B._option.material.red/255),B._option.material.green>1&&(B._option.material.green=B._option.material.green/255),B._option.material.blue>1&&(B._option.material.blue=B._option.material.blue/255),B._option.material.alpha>1&&(B._option.material.a=B._option.material.alpha/255),B._option.material=B._color.createColor(B._option.material.red,B._option.material.green,B._option.material.blue,B._option.material.alpha)));var ie=Cesium.Cartesian3.fromDegreesArray(K);X.positions=ie,B._option.polygonHierarchy=new Cesium.PolygonHierarchy(ie);var H=new Cesium.PolygonGeometry(B._option),le=Cesium.PolygonGeometry.createGeometry(H),ue="material:"+v.material.red*255+","+v.material.green*255+","+v.material.blue*255;B.Legend.push(ue);var Ae=new Cesium.GeometryInstance({id:X,geometry:le,attributes:{color:new B._cesium.ColorGeometryInstanceAttribute.fromColor(B._option.material)}}),he=new Cesium.ClassificationPrimitive({geometryInstances:k,appearance:new Cesium.PerInstanceColorAppearance({closed:!0,flat:!1}),classificationType:B._option.classificationType,shadows:Cesium.ShadowMode.ENABLED});N.add(he)}M.data.geometryPrimitive=N},error:function(){I=bi.remove(I,function(F){return F.x==M.x&&F.y==M.y&&F.level==M.level})},complete:function(){M.state=Cesium.QuadtreeTileLoadState.LOADING,M.state===Cesium.QuadtreeTileLoadState.LOADING&&(M.data.geometryPrimitive&&M.data.geometryPrimitive.update(S,[]),M.state=Cesium.QuadtreeTileLoadState.DONE,M.renderable=!0)}})}(D)}else{D.state=Cesium.QuadtreeTileLoadState.LOADING,D.state===Cesium.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive&&D.data.geometryPrimitive.update(S,[]),D.state=Cesium.QuadtreeTileLoadState.DONE,D.renderable=!0);return}}},this._primitive=new B._cesium.QuadtreePrimitive({tileProvider:this._Provider});var Q=this._viewer.scene,T=Q.primitives;T.add(this._primitive),C||this.setVisibility(!1),this._core.isnull(B._option.id)&&(B._option.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+B._option.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var w={id:B._option.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polygonLayer",item:this,url:A.url,style:f};this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item)};gm.prototype.createVolumeGeoJsonFeatureLayer=function(o,A,f,m,C){var E={polylinePositions:void 0,shapePositions:void 0,ellipsoid:this._cesium.Ellipsoid.WGS84,granularity:this._cesium.Math.RADIANS_PER_DEGREE,vertexFormat:this._cesium.VertexFormat.DEFAULT,cornerType:this._cesium.CornerType.ROUNDED};A==null&&console.log("geojson is required");var x=null;A.then?x=A:x=this._cesium.GeoJsonDataSource.load(A);var y=this,I=[];E.shapePositions=this.computeCircle(f.radius),x.then(function(B){var Q=y._cesium.Color.WHITE;!y._core.isnull(f)&&!y._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"?Q=f.material.replace(/\[/,"").replace("/]/",""):Q=bi.clone(f.material),y._core.isHtmlColor(Q)?Q=y._color.colorFromHtmlColor(f.material):(/^rgb/.test(Q)&&(Q=y._color.rgbaStringToRgbaObj(Q)),Q.r>1&&(Q.r=Q.r/255),Q.g>1&&(Q.g=Q.g/255),Q.b>1&&(Q.b=Q.b/255),Q.a>1&&(Q.a=Q.a/255),Q=y._color.createColor(Q.r,Q.g,Q.b,Q.a)));for(var T=B.entities.values,w=0;w<T.length;w++){var S=T[w];E.polylinePositions=S.polyline.positions._value;var D=new y._cesium.PolylineVolumeGeometry(E),R=y._cesium.PolylineVolumeGeometry.createGeometry(D),P=new y._cesium.GeometryInstance({geometry:R});I.push(P)}var M=y._viewer.scene.primitives.add(new y._cesium.Primitive({geometryInstances:I,appearance:new y._cesium.MaterialAppearance({material:new y._cesium.Material({fabric:{type:"Color",uniforms:{color:Q}}}),faceForward:!0,flat:!1})}));y.item=M,f.show==!1&&(M.show=!1),typeof C=="function"&&C(M)}),this._core.isnull(f.id)&&(f.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u7BA1\u72B6\u56FE\u5C42"+f.id);var v={id:f.id,name:o,checked:!0,pId:this._core.isnull(m)?0:m,type:"polylineVolumeLayer",item:this,url:geoOptions.url,style:f};return this.setTreeobj(v),this._tree.insertGroupId(v,this._core.isnull(m)?0:m),this};gm.prototype.computeCircle=function(o){this._core.isnull(o)&&(o=4);for(var A=[],f=0;f<360;f++){var m=this._cesium.Math.toRadians(f);A.push(new this._cesium.Cartesian2(o*Math.cos(m),o*Math.sin(m)))}return A};gm.prototype.createVolumeGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x={show:!0,positions:[],shape:void 0,cornerType:this._cesium.CornerType.ROUNDED,granularity:this._cesium.Math.RADIANS_PER_DEGREE,fill:!0,material:this._cesium.Color.WHITE,outline:!1,outlineColor:this._cesium.Color.BLACK,outlineWidth:1,shadows:this._cesium.ShadowMode.RECEIVE_ONLY},y={url:A.url,urlParams:{REQUEST:"GetTile",SERVICE:"WMTS",VERSION:"1.0.0",LAYER:A.layer,STYLE:"",TILEMATRIX:"EPSG:4490:{z}",TILEMATRIXSET:"EPSG:4490",FORMAT:"application/json;type=geojson",TILECOL:"{x}",TILEROW:"{y}"},upperLevelLimit:A.upperLevelLimit,lowerLevelLimit:A.lowerLevelLimit,Cesium:this._cesium};!this._core.isnull(f)&&!this._core.isnull(f.material)&&(f.material.toString().charAt(0)=="["&&f.material.toString().charAt(f.material.length-1)=="]"||(this._core.isHtmlColor(f.material)?f.material=this._color.colorFromHtmlColor(f.material):(/^rgb/.test(f.material)&&(f.material=this._color.rgbaStringToRgbaObj(f.material)),f.material.r>1&&(f.material.r=f.material.r/255),f.material.g>1&&(f.material.g=f.material.g/255),f.material.b>1&&(f.material.b=f.material.b/255),f.material.a>1&&(f.material.a=f.material.a/255),f.material=this._color.createColor(f.material.r,f.material.g,f.material.b,f.material.a))));var I=this._core.extend(x,f,!0),v=new FA(this._viewer,this._cesium,y);this._Provider=v;var B=this;v._loadTile=function(T){var w=[],S=new B._cesium.PrimitiveCollection;return T.features.forEach(function(D){var R=[];function P(Ae){for(var he=0;he<Ae.length;he++)Array.isArray(Ae[he])?P(Ae[he]):R.push(Ae[he])}var M=[];if(/^\[/.test(f.material)&&/\]$/.test(f.material)){var L=f.material.replace(/\[/,"").replace(/\]/,"");I.material=D.properties[L],that._core.isHtmlColor(I.material)?I.material=that._color.colorFromHtmlColor(I.material):(/^rgb/.test(I.material)&&(I.material=that._color.rgbaStringToRgbaObj(I.material)),I.material.r>1&&(I.material.r=I.material.r/255),I.material.g>1&&(I.material.g=I.material.g/255),I.material.b>1&&(I.material.b=I.material.b/255),I.material.a>1&&(I.material.a=I.material.a/255),I.material=that._color.createColor(I.material.r,I.material.g,I.material.b,I.material.a))}for(var F=0;F<D.geometry.coordinates.length;F++){var k=D.geometry.coordinates[F];if(k.length>0)if(Array.isArray(k[0]))for(var N=0;N<k.length;N++){var G=k[N],J=B._cesium.Cartesian3.fromDegrees(G[0],G[1],I.height);M.push(J)}else{var K=B._cesium.Cartesian3.fromDegrees(k[0],k[1],I.height);M.push(K)}}if(I.position=M,D.positions=M,I.slttype=="0"||I.slttype==0)I.shape=B._core.computeCircle(I.radius);else if(I.slttype=="1"||I.slttype==1)I.shape=B._core.starPositions(I.number,I.exradius,I.inradius);else if(I.slttype=="2"||I.slttype==2){var X=I.orth_width/2,q=I.orth_height/2;I.shape=[new B._cesium.Cartesian2(-X,-q),new B._cesium.Cartesian2(X,-q),new B._cesium.Cartesian2(X,q),new B._cesium.Cartesian2(-X,q)]}var ee={polylinePositions:I.position,shapePositions:I.shape,cornerType:I.cornerType,VertexFormat:{bitangent:!0,color:!0,position:!0,st:!0,normal:!0,tangent:!0}},ie=new B._cesium.PolylineVolumeGeometry(ee),H=B._cesium.PolylineVolumeGeometry.createGeometry(ie),le=new B._cesium.GeometryInstance({id:D,geometry:H,attributes:{color:new B._cesium.ColorGeometryInstanceAttribute.fromColor(I.material)}}),ue=new B._cesium.Primitive({allowPicking:!0,appearance:new B._cesium.MaterialAppearance({material:new B._cesium.Material({fabric:{type:"Color",uniforms:{color:I.material}}}),faceForward:!0,flat:!1}),shadows:I.shadows,geometryInstances:le});S.add(ue)}),S},this.item=v._primitiveCollection,v.addTo(this._viewer),C||this.setVisibility(!1),this._core.isnull(I.id)&&(I.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+I.id),this.west=A.minx,this.south=A.miny,this.east=A.maxx,this.north=A.maxy;var Q={id:I.id,name:o,checked:C,pId:this._core.isnull(m)?0:m,type:"polylineVolumeLayer",item:this,url:A.url,style:f};this.setTreeobj(Q),this._tree.insertGroupId(Q,this._core.isnull(m)?0:m),typeof E=="function"&&E(this.item)};gm.prototype.setTreeobj=function(o){this.treeobj=o};gm.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.treeobj.url;return{type:this.treeobj.type,treeobj:{name:this.treeobj.name,pId:this.treeobj.pId},style:{show:o,url:A}}};gm.prototype.deleteObject=function(){this._viewer.scene.primitives.remove(this.item);try{this._Provider.remove()}catch{}};gm.prototype.setRefresh=function(o){try{this._Provider&&this._Provider.setStatus(o)}catch{}};gm.prototype.setVisibility=function(o){try{this.item!=null&&this.item.show!=null&&(this.item.show=o),this._Provider&&this._Provider.setStatus(o)}catch{}};gm.prototype.isCache=function(o){this._cache=o};gm.prototype.edit=function(o,A){return this.isEditting=o,this.editoption=A,this._Provider&&this._Provider.edit&&this._Provider.edit(o,A)};gm.prototype.forceRefresh=function(){try{for(var o=0;o<this._Provider.quadtree._levelZeroTiles.length;o++)this._Provider.quadtree._levelZeroTiles[o].freeResources()}catch{}};var kW=gm;function LC(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A)}LC.prototype.createWindField=function(o,A){var f,m=this;return this.WindFieldOption={color:this._cesium.Color.WHITE,speed:.15,num:2e3,maxAge:10,brighten:1.5},A||(A={}),A.color&&(A.color=this._cesium.Color.fromCssColorString(A.color)),this.WindFieldOption=this._core.extend(this.WindFieldOption,A,!1),this.destroy(),this.windData=void 0,this.windField=void 0,this.particles=[],this.lines=void 0,this.timer=void 0,this.primitives=this._viewer.scene.primitives,$.ajax({type:"get",async:!1,url:o,dataType:"json",success:function(C){m.windData=C,m._init(),m.timer=setInterval(function(){m.animate()},200)},error:function(C){console.log("\u8BF7\u6C42\u98CE\u573A\u6570\u636E\u5931\u8D25!")}}),this};LC.prototype._init=function(){this.windField=this.createField();for(var o=0;o<this.WindFieldOption.num;o++)this.particles.push(this.randomParticle(new n5i))};LC.prototype.createField=function(){var o=this._parseWindJson();return new tRe(o)};LC.prototype.animate=function(){var o=this,A=o.windField,f=o.particles,m=[],C=null,E=null,x=null,y=null;f.forEach(function(I){if(I.age<=0&&o.randomParticle(I),I.age>0){var v=I.x,B=I.y;A.isInBound(v,B)?(y=A.getIn(v,B),C=v+o.WindFieldOption.speed*y[0],E=B+o.WindFieldOption.speed*y[1],I.path.push(C,E),I.x=C,I.y=E,m.push(o._createLineInstance(o._map(I.path),I.age/I.birthAge)),I.age--):I.age=0}}),m.length<=0&&this.removeLines(),o._drawLines(m)};LC.prototype._parseWindJson=function(){var o=null,A=null,f=null;return this.windData.forEach(function(m){var C=m.header.parameterCategory+","+m.header.parameterNumber;switch(C){case"2,2":o=m.data,f=m.header;break;case"2,3":A=m.data;break;default:break}}),{header:f,uComponent:o,vComponent:A}};LC.prototype.removeLines=function(){this.lines&&(this.primitives.remove(this.lines),this.lines.destroy())};LC.prototype._map=function(o){for(var A=o.length,f=this.windField,m=f.dx,C=f.dy,E=f.west,x=f.north,y=[],I=0;I<=A-2;I+=2)y.push(E+o[I]*m,x-o[I+1]*C);return y};LC.prototype._createLineInstance=function(o,A){for(var f=[],m=o.length,C=m/2,E=0;E<m;E++)f.push(this.WindFieldOption.color==="random"?this._cesium.Color.fromRandom({alpha:E/C*A*this.WindFieldOption.brighten}):this.WindFieldOption.color.withAlpha(E/C*A*this.WindFieldOption.brighten));return new this._cesium.GeometryInstance({geometry:new this._cesium.PolylineGeometry({positions:this._cesium.Cartesian3.fromDegreesArray(o),colors:f,width:1.5,colorsPerVertex:!0})})};LC.prototype._drawLines=function(o){this.removeLines();var A=new this._cesium.Primitive({appearance:new this._cesium.PolylineColorAppearance({translucent:!0}),geometryInstances:o,asynchronous:!1});this.lines=this.primitives.add(A)};LC.prototype.randomParticle=function(o){var A=30,f,m;do f=Math.floor(Math.random()*(this.windField.cols-2)),m=Math.floor(Math.random()*(this.windField.rows-2));while(this.windField.getIn(f,m)[2]<=0&&A++<30);return o.x=f,o.y=m,o.age=Math.round(Math.random()*this.WindFieldOption.maxAge),o.birthAge=o.age,o.path=[f,m],o};LC.prototype.changeColor=function(o){o==="random"?this.WindFieldOption.color=o:this.WindFieldOption.color=this._cesium.Color.fromCssColorString(o)};LC.prototype.setSpeed=function(o){this.WindFieldOption.speed=o};LC.prototype.setMaxAge=function(o){this.WindFieldOption.maxAge=o};LC.prototype.setBrighten=function(o){this.WindFieldOption.brighten=o};LC.prototype.destroy=function(){this.timer&&clearInterval(this.timer),this.timer=void 0,this.removeLines()};var n5i=function(){this.x=null,this.dx=null,this.dx=null,this.y=null,this.age=null,this.birthAge=null,this.path=null},tRe=function(o){this.west=null,this.east=null,this.south=null,this.north=null,this.rows=null,this.cols=null,this.dx=null,this.dy=null,this.unit=null,this.date=null,this.grid=null,this._init(o)};tRe.prototype={constructor:tRe,_init:function(o){var A=o.header,f=o.uComponent,m=o.vComponent;this.west=+A.lo1,this.east=+A.lo2,this.south=+A.la2,this.north=+A.la1,this.rows=+A.ny,this.cols=+A.nx,this.dx=+A.dx,this.dy=+A.dy,this.unit=A.parameterUnit,this.date=A.refTime,this.grid=[];for(var C=0,E=null,x=null,y=0;y<this.rows;y++){E=[];for(var I=0;I<this.cols;I++,C++)x=this._calcUV(f[C],m[C]),E.push(x);this.grid.push(E)}},_calcUV:function(o,A){return[+o,+A,Math.sqrt(o*o+A*A)]},_bilinearInterpolation:function(o,A,f,m,C,E){var x=1-o,y=1-A,I=x*y,v=o*y,B=x*A,Q=o*A,T=f[0]*I+m[0]*v+C[0]*B+E[0]*Q,w=f[1]*I+m[1]*v+C[1]*B+E[1]*Q;return this._calcUV(T,w)},getIn:function(o,A){var f=Math.floor(o),m=Math.floor(A),C,E;if(f===o&&m===A)return this.grid[A][o];C=f+1,E=m+1;var x=this.getIn(f,m),y=this.getIn(C,m),I=this.getIn(f,E),v=this.getIn(C,E);return this._bilinearInterpolation(o-f,A-m,x,y,I,v)},isInBound:function(o,A){return o>=0&&o<this.cols-2&&A>=0&&A<this.rows-2}};var Yft=LC;var so={opacity:1,poolSize:16,canvas:null,layers:new Array,showid:null,width:0,height:0,cesium:null,viewer:null,workers:new Array,oceanCanvas:null,oceanCtx:null,oceanWorker:null},Jft=!1,Xle=!1,iRe=100,o5i=7,a5i=1,s5i="rgba(0, 0, 0, 0.97)";var Kft=Math.floor(.8*255),l5i=[NaN,NaN,null],OW=null,u5i=30,jk=null,qH,nRe=[],Xft=null,Zft=null,A5i=!0;var c5i=[[30,[10,25,68]],[33,[10,25,250]],[33.5,[24,255,255]],[34,[105,233,252]],[34.5,[255,233,65]],[34.5,[255,233,15]],[34.5,[255,233,15]],[34.5,[255,233,15]],[34.5,[255,233,15]],[35,[255,225,15]],[35,[255,225,15]],[35,[255,225,15]],[35,[255,225,15]],[35,[255,255,15]],[35,[255,235,15]],[35,[255,215,15]],[35,[255,195,15]],[35,[255,175,15]],[35,[255,155,15]],[35,[255,135,15]],[35,[255,115,15]],[35,[255,95,15]],[35,[255,75,15]],[35,[255,55,15]],[35,[255,35,15]],[35,[255,15,15]]];function h5i(){for(var o={},A=Math.round(qH.width*o5i),f=[],m=0;m<A;m++)f.push(qft({age:rRe(0,iRe)}));if(A5i){var C=qH.valMax-qH.valMin;C=C/(OW.length-1);for(var m=0;m<OW.length;m++)OW[m][0]=qH.valMin+m*C}var E=I5i(OW);function x(){o=[],f.forEach(function(v){v.age>iRe&&(v.xt=void 0,v.yt=void 0,qft(v).age=0),v.xt&&v.yt&&(v.x=v.xt,v.y=v.yt);var B=v.x,Q=v.y,T=$ft(B,Q),w=T[2];if(w===null)v.age=iRe;else{var S=B+T[0],D=Q+T[1];if(egt(S,D)){v.xt=S,v.yt=D;var R=E(w,Kft),P="rgba("+R[0]+", "+R[1]+", "+R[2]+", "+Kft+")";o[P]==null&&(o[P]=[]),o[P].push(v)}else v.x=S,v.y=D}v.age+=1})}function y(){if(!Xle){var v=so.oceanCtx;v.lineWidth=a5i,v.fillStyle=s5i;var B=v.globalCompositeOperation;v.globalCompositeOperation="destination-in",v.fillRect(0,0,so.oceanCanvas.width,so.oceanCanvas.height),v.globalCompositeOperation=B;for(var Q in o){var T=o[Q];if(T.length>0){v.beginPath(),v.strokeStyle=Q;for(var w in T){var S=T[w];v.moveTo(S.x,S.y),v.lineTo(S.xt,S.yt),S.x=S.xt,S.y=S.yt}v.stroke(),v.strokeStyle="#fff"}}}}Jft=!1;var I=so.oceanCtx;I.clearRect(0,0,so.oceanCanvas.width,so.oceanCanvas.height),function v(){try{!Jft&&!Xle&&(x(),y(),jk=setTimeout(v,u5i))}catch{}}()}function d5i(o){switch(o.type){case"success":break;case"draw":qH=o.data,nRe=qH.drawData,h5i();break;case"error":break;default:break}}function Wft(o){OW=o.color||c5i,so.oceanWorker=new Worker(SmartEarthRootUrl+"Workers/field/oceanWorker.js"),so.oceanWorker.onmessage=function(A){d5i(A.data)},so.oceanWorker.postMessage(o.message)}function f5i(o){var A=new Worker(SmartEarthRootUrl+"Workers/field/rendermapWorker.js");A.onmessage=function(f){o.callback(f.data),A.terminate()},A.postMessage(o.message)}function g5i(o,A){so.canvas!=null&&(so.canvas.remove(),so.canvas=null),so.canvas=document.createElement("canvas"),so.canvas.width=o,so.canvas.height=A}function jle(o,A){f5i({message:{id:o.id,ncpath:o.ncpath,variable:o.variable,depth:o.depth},callback:function(f){g5i(f.width,f.height);for(var m=so.canvas.getContext("2d"),C=m.getImageData(0,0,f.width,f.height),E=0;E<f.arrayBufferView.length;E++)C.data[E]=f.arrayBufferView[E];m.putImageData(C,0,0),C5i(f,o.id),typeof A=="function"&&A(o.id)}})}function qle(o){var A={x:0,y:0,z:0};return A.x=o.x,A.y=o.y,A.z=o.z,A}function jft(){for(var o=so.viewer.scene,A=o.camera,f=[],m=[],C=qle(A.positionWC),E=qle(A.directionWC),x=qle(A.rightWC),y=qle(A.upWC),I=0;I<16;I++)f[I]=A.viewMatrix[I],m[I]=A.frustum.projectionMatrix[I];var v={width:o.canvas.clientWidth,height:o.canvas.clientHeight,viewMatrix:f,projectionMatrix:m,frustum:{fovy:A.frustum.fovy,aspectRatio:A.frustum.aspectRatio,near:A.frustum.near},positionWC:C,directionWC:E,rightWC:x,upWC:y};return v}function p5i(o,A){var f=jft();if(so.oceanCanvas==null){so.oceanCanvas=document.createElement("canvas"),so.oceanCanvas.width=f.width,so.oceanCanvas.height=f.height,so.oceanCanvas.id="animation",so.oceanCanvas.style="position: absolute;left: 0px;top: 0px;pointer-events: none;",document.getElementsByClassName("map-widget")[0].appendChild(so.oceanCanvas),so.oceanCtx=so.oceanCanvas.getContext("2d");let m={childList:!0,attributes:!0,subtree:!0},C=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;new C(function(){so.oceanCanvas.width=so.viewer.cesiumWidget.canvas.width,so.oceanCanvas.height=so.viewer.cesiumWidget.canvas.height}).observe(so.viewer.cesiumWidget.canvas,m),Wft({message:{id:o.id,type:"init",upath:o.upath,vpath:o.vpath,scene:f},callback:function(x){}}),Xft=so.viewer.scene.camera.moveStart.addEventListener(function(){if(jk&&clearTimeout(jk),jk=null,so.oceanWorker!=null){so.oceanWorker.postMessage({type:"stop"}),Xle=!0,nRe=[];var x=so.oceanCtx;x.clearRect(0,0,so.oceanCanvas.width,so.oceanCanvas.height)}}),Zft=so.viewer.scene.camera.moveEnd.addEventListener(function(){so.oceanWorker!=null&&(Xle=!1,so.oceanWorker.postMessage({type:"update",scene:jft()}))})}else Wft({message:{id:o.id,type:"init",upath:o.upath,vpath:o.vpath,scene:f},callback:function(m){}})}function m5i(o,A){switch(o.type){case"single":jle({id:0,ncpath:o.ncpath,variable:o.variable,depth:o.depth},A);break;case"mfile":jle({id:0,ncpath:o.ncpath.format(o.params[0]),variable:o.variable,depth:o.depth},function(){typeof A=="function"&&A(0);for(var f=1;f<o.params.length;f++)jle({id:f,ncpath:o.ncpath.format(o.params[f]),variable:o.variable,depth:o.depth})});break;case"mdepth":break;case"ocean":p5i({id:0,upath:o.upath,vpath:o.vpath},A);break;default:jle({id:0,ncpath:o.ncpath,variable:o.variable,depth:o.depth});break}}so.hide=function(){(so.showid||so.showid==0)&&so.layers[so.showid]&&(so.layers[so.showid].show=!1)};so.show=function(o){(so.showid||so.showid==0)&&so.layers[so.showid]&&(so.layers[so.showid].show=!1),(o||o==0)&&so.layers[o]&&(so.layers[o].show=!0,so.showid=o)};so.draw=function(o,A){m5i(o,A)};so.destroy=function(){try{for(var o=0;o<so.layers.length;o++)so.viewer.entities.remove(so.layers[o]);so.layers=[]}catch{}try{for(var o=0;o<so.workers.length;o++)try{so.workers[o].terminate()}catch{}so.workers=[]}catch{}try{jk&&clearTimeout(jk),jk=null}catch{}try{so.oceanWorker.terminate(),so.oceanWorker=null;var A=so.oceanCtx;A.clearRect(0,0,so.oceanCanvas.width,so.oceanCanvas.height)}catch{}};function C5i(o,A){var f=o.minx,m=o.miny,C=o.maxx,E=o.maxy,x=so.cesium.Rectangle.fromDegrees(f,m,C,E),y=new so.cesium.ImageMaterialProperty({image:so.canvas,transparent:!0});mlayer=so.viewer.entities.add({show:!0,rectangle:{coordinates:x,material:y}}),so.layers[A]=mlayer}String.prototype.format=function(o){var A=this;if(arguments.length>0){if(arguments.length==1&&typeof o=="object"){for(var f in o)if(o[f]!==void 0){var m=new RegExp("({"+f+"})","g");A=A.replace(m,o[f])}}else for(var C=0;C<arguments.length;C++)if(arguments[C]!==void 0){var E=new RegExp("({)"+C+"(})","g");A=A.replace(E,arguments[C])}}return A};function E5i(o,A,f){return Math.max(A,Math.min(o,f))}function x5i(o,A,f){return(E5i(o,A,f)-A)/(f-A)}function y5i(o,A){var f=o[0],m=o[1],C=o[2],E=A[0]-f,x=A[1]-m,y=A[2]-C;return function(I,v){return[Math.floor(f+I*E),Math.floor(m+I*x),Math.floor(C+I*y),v]}}function I5i(o){for(var A=[],f=[],m=[],C=0;C<o.length-1;C++)A.push(o[C+1][0]),f.push(y5i(o[C][1],o[C+1][1])),m.push([o[C][0],o[C+1][0]]);return function(E,x){var y;for(y=0;y<A.length-1&&!(E<=A[y]);y++);var I=m[y];return f[y](x5i(E,I[0],I[1]),x)}}function $ft(o,A){var f=nRe[Math.round(o)];return f&&f[Math.round(A)]||l5i}function egt(o,A){return $ft(o,A)[2]!==null}function rRe(o,A){return A==null&&(A=o,o=0),o+Math.floor(Math.random()*(A-o+1))}function qft(o){var A,f,m=0;do A=Math.round(rRe(0,so.viewer.scene.canvas.clientWidth)),f=Math.round(rRe(0,so.viewer.scene.canvas.clientHeight));while(!egt(A,f)&&m++<30);return o.x=A,o.y=f,o}function Zle(o,A){so.viewer=o,so.cesium=A}Zle.prototype.createField=function(o,A){return so.draw(o,A),this};Zle.prototype.destroy=function(){so.destroy()};Zle.prototype.remove=function(){so.destroy()};var tgt=Zle;function UW(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._Buffer=new BQ(o,A),this._tree=Ke}UW.prototype.createRoad=function(o={}){var A={id:o.id||this._core.getuid(),image:window.SmartEarthRootUrl+Zr.road,height:1,width:20,alpha:1};A=this._core.extend(A,o,!0);let f=[];o.positions.forEach(x=>{let y=this._core.toDegrees(x);f.push([y.lon,y.lat])});let m=this._cesium.turf.lineString(f),C=this._Buffer.getBuff(m,A.width,{steps:0});this.item=this._Buffer.addBufferPolyogn(C,{material:new this._cesium.ImageMaterialProperty({image:A.image,repeat:new Cesium.Cartesian2(30,30)}),height:o.height,perPositionHeight:!1,heightReference:0,outline:!1});var E={id:A.id,name:"\u65B0\u5EFA\u9053\u8DEF\u56FE\u5C42",pId:0,type:"RoadLayer",item:this};return this.setTreeobj(E),this._tree.insertGroupId(E,0),this};UW.prototype.setTreeobj=function(o){this.treeobj=o};UW.prototype.deleteObject=function(){this.item&&this._viewer.entities.remove(this.item)};UW.prototype.setVisibility=function(o){this.item&&(this.item.show=o)};var igt=UW;var oRe=null;function rgt(o,A){oRe=A,this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._tree=Ke}rgt.prototype.createHawkeye=function(o,A){var f=document.createElement("div");f.id="Hawkeye",f.style.position="absolute",f.style.width="15%",f.style.height="20%",f.style.bottom="0",f.style.right="0",f.style.pointerEvents="none",A&&(A.width&&(f.style.width=A.width),A.height&&(f.style.height=A.height),A.bottom&&(f.style.bottom=A.bottom),A.right&&(f.style.right=A.right),A.top&&(f.style.top=A.top,f.style.bottom="unset"),A.left&&(f.style.left=A.left,f.style.right="unset")),this._viewer.container.appendChild(f);let m;o.url?m=new this._cesium.SingleTileImageryProvider({url:o.url}):m=o.imageryProvider;var C=new this._cesium.Viewer("Hawkeye",{imageryProvider:m,baseLayerPicker:!1,shadows:!1,shouldAnimate:!0,animation:!0,scene3DOnly:!0,fullscreenButton:!1,geocoder:!1,homeButton:!1,infoBox:!1,selectionIndicator:!1,timeline:!1,navigationHelpButton:!1});C._cesiumWidget._creditContainer.style.display="none";var E=this;let x=this._core.defaultValue(A&&A.height,1e4);function y(){let I=E._viewer.camera.position,v=oRe.Cartographic.fromCartesian(I);v.height+=x,C.camera.setView({destination:oRe.Cartographic.toCartesian(v),orientation:{heading:E._viewer.camera.heading,pitch:E._viewer.camera.pitch,roll:E._viewer.camera.roll}})}return E._viewer.scene.preRender.addEventListener(y),this.close=function(){E._viewer.scene.preRender.removeEventListener(y),C.destroy(),f.remove(),E.close=void 0},this};var ngt=rgt;function qk(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._tree=Ke}qk.prototype.createBillboard=function(o={}){let A=this._core.defaultValue(o.id,this._core.getuid()),f={horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.BOTTOM,scale:o.scale||1,image:o.image,color:this._cesium.Color.WHITE,disableDepthTestDistance:1/0,distanceDisplayCondition:o.distanceDisplayCondition},m;if(o.text)switch(m={text:o.text,font:`${o.fontSize||12}px \u5FAE\u8F6F\u96C5\u9ED1`,pixelOffset:o.fontOffset,fillColor:Cesium.Color.fromCssColorString(o.fontColor||"#fff"),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:1/0,distanceDisplayCondition:o.distanceDisplayCondition},o.textLocation){case"left":m.horizontalOrigin=Cesium.HorizontalOrigin.LEFT;break;case"right":m.horizontalOrigin=Cesium.HorizontalOrigin.RIGHGT;break;case"up":m.verticalOrigin=Cesium.VerticalOrigin.TOP;break;case"down":m.verticalOrigin=Cesium.VerticalOrigin.BOTTOM;break}return this.item=this._viewer.entities.add({id:A,show:o.visibility,position:Cesium.Cartesian3.fromDegrees(o.lon,o.lat,o.height),label:m,billboard:f}),this.item.objectType="Billboard",o.data&&(this.item.data=o.data),this};qk.prototype.createBillboardbatch=function(o){for(var A={show:!0,position:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,eyeOffset:this._cesium.Cartesian3.ZERO,heightReference:this._cesium.HeightReference.NONE,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,scale:1,image:"",imageSubRegion:void 0,color:this._cesium.Color.WHITE,id:void 0,rotation:0,alignedAxis:this._cesium.Cartesian3.ZERO,width:void 0,height:void 0,scaleByDistance:void 0,translucencyByDistance:void 0,pixelOffsetScaleByDistance:void 0,sizeInMeters:!1,distanceDisplayCondition:void 0},f=0;f<o.length;f++){var m=o[f];A.image=m.image;var C=this._viewer.entities.add({name:"",position:this._cesium.Cartesian3.fromDegrees(m.log,m.lat,m.height),billboard:A})}return this};qk.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show._value,A=this.item.box.dimensions==null?void 0:this.item.box.dimensions.getValue(),f=this.item.box.fill==null?void 0:this.item.box.fill._value,m=this.item.box.material;m!=null&&(m={color:m.color._value==null?void 0:"rgba("+m.color._value.red+","+m.color._value.green+","+m.color._value.blue+","+m.color._value.alpha+")",image:m.image==null?void 0:m.image._value,diffusemap:m.diffusemap==null?void 0:m.diffusemap._value,alphamap:m.alphamap==null?void 0:m.alphamap._value});var C=this.item.box.outline==null?void 0:this.item.box.outline._value,E=this.item.box.outlineColor==null?void 0:"rgba("+this.item.box.outlineColor._value.red+","+this.item.box.outlineColor._value.green+","+this.item.box.outlineColor._value.blue+","+this.item.box.outlineColor._value.alpha+")",x=this.item.box.outlineWidth==null?void 0:this.item.box.outlineWidth._value,y=this.item.box.distanceDisplayCondition,I=y?._value.near,v=y?._value.far,B=this._cesium.Cartographic.fromCartesian(this.item.position._value),Q=this._cesium.Math.toDegrees(B.longitude),T=this._cesium.Math.toDegrees(B.latitude),w=this._cesium.Math.toDegrees(B.height);return{type:"box",position:{x:Q,y:T,z:w},treeobj:{id:this.treeobj.id,name:this.treeobj.name,pId:this.treeobj.pId,type:this.treeobj.type},style:{show:o,dimensions:A,fill:f,material:m,outline:C,outlineColor:E,outlineWidth:x,near:I,far:v}}};qk.prototype.setTreeobj=function(o){this.treeobj=o};qk.prototype.setVisibility=function(o){this.item&&(this.item.show=b)};qk.prototype.deleteObject=function(){this.item&&this._viewer.entities.remove(this.item),this.item=void 0};var aRe=qk;function Xk(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._color=new In(this._viewer,this._cesium),this._tree=Ke,this._Provider=void 0}Xk.prototype.createKmlLayer=function(o,A,f){var m={camera:this._viewer.scene.camera,canvas:this._viewer.scene.canvas},C=A,E={uri:C,heightReference:this._cesium.HeightReference.CLAMP_TO_GROUND,minimumPixelSize:128,maximumScale:20,scale:1,runAnimations:!1},x={show:!0,position:this._cesium.Cartesian3.ZERO,pixelOffset:this._cesium.Cartesian2.ZERO,eyeOffset:this._cesium.Cartesian3.ZERO,heightReference:this._cesium.HeightReference.NONE,horizontalOrigin:this._cesium.HorizontalOrigin.CENTER,verticalOrigin:this._cesium.VerticalOrigin.CENTER,scale:1,image:C,imageSubRegion:void 0,color:this._cesium.Color.WHITE,id:void 0,rotation:0,alignedAxis:this._cesium.Cartesian3.ZERO,width:void 0,height:void 0,scaleByDistance:void 0,translucencyByDistance:void 0,pixelOffsetScaleByDistance:void 0,sizeInMeters:!1,distanceDisplayCondition:void 0},y=this;this._cesium.KmlDataSource.load(o,m).then(function(I){var v=I.entities;if(f=="model")for(var B=0;B<I.entities.values.length;B++)var Q=I.entities.values[B],T=y._viewer.entities.add({name:"",position:Q.position,model:{uri:C,heightReference:y._cesium.HeightReference.CLAMP_TO_GROUND,minimumPixelSize:128,maximumScale:20,scale:1,runAnimations:!1}});else if(f=="billboard"){for(var w=y._core.extend(x,option,!0),B=0;B<I.entities.values.length;B++){var Q=I.entities.values[B];w.position=Q.position._value,billboardCollections.add(w)}var S=y._viewer.scene.primitives.add(billboardCollections)}})};Xk.prototype.addKmlLayer=function(o,A,f,m){var C={camera:this._viewer.scene.camera,canvas:this._viewer.scene.canvas},E=this;let x=A,y;x.id&&(y=x.id,x=x.url);var I=this._cesium.KmlDataSource.load(x,C);this._viewer.dataSources.add(I),I.then(function(B){E.item=B,f||E.setVisibility(!1),m&&typeof m=="function"&&m(B)});var v={id:y||this._core.getuid(),name:o,pId:0,type:"KML",item:this};return this.setTreeobj(v),this._tree.insertGroupId(v,0),this};Xk.prototype.export=function(){var o=this.item.show==null?void 0:this.item.show,A=this.treeobj.url;return{type:this.treeobj.type,treeobj:{name:this.treeobj.name,pId:this.treeobj.pId},style:{show:o,url:A}}};Xk.prototype.deleteObject=function(){this._viewer.dataSources.remove(this.item)};Xk.prototype.setTreeobj=function(o){this.treeobj=o};Xk.prototype.setVisibility=function(o){this.item!=null&&(this.item.show=o)};var sRe=Xk;function GW(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._tree=Ke,this.texturePixel=1024}GW.prototype.createModifyMesh=function(o,A,f,m,C){var E=A.length,x=new Array(E);x.fill(f);var y=m.id||Cesium.createGuid(),I=Date.now(),v=Cesium.Rectangle.fromCartesianArray(A);m.modifyMeshObject===void 0&&(m.modifyMeshObject=[]);var B={id:y,show:!0,name:o,rectangle:v,vertices:A,polygon:A,heights:x,meshObject:m,timeStamp:I,polygonGeometry:new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(A)}),image:this.createTexture(A),texture:null};return m.modifyMeshObject=B,this.item=m,this};GW.prototype.createTexture=function(o){var A=Cesium.Rectangle.fromCartesianArray(o),f=A.west*180/Math.PI,m=A.south*180/Math.PI,C=A.east*180/Math.PI,E=A.north*180/Math.PI,x=new Cesium.Rectangle(f,m,C,E),y=[],I=this;o.forEach(function(Q){var T=Q.longitude?Q:Cesium.Ellipsoid.WGS84.cartesianToCartographic(Q);T=I.getPointRelativePosition(T,x,I.texturePixel,I.texturePixel),y.push([T.normalizedLongitude,T.normalizedLatitude])});var v=this.createCanvas(y,"#FF0000",I.texturePixel,I.texturePixel),B=new Image;return B.width=I.texturePixel,B.height=I.texturePixel,B.src=v.toDataURL("image/png"),B};GW.prototype.getPointRelativePosition=function(o,A,f,m){var C=A.east-A.west,E=A.north-A.south,x=o.longitude*180/Math.PI,y=o.latitude*180/Math.PI;return o.normalizedLongitude=(x-A.west)/C*f,o.normalizedLatitude=(y-A.south)/E*m,o};GW.prototype.createCanvas=function(o,A,f,m){var C=document.createElement("canvas");C.width=f,C.height=m;var E=C.getContext("2d");if(E.fillStyle="#000",E.fillRect(0,0,f,f),!(o.length<=0)){E.moveTo(o[0][0],o[0][1]);for(var x=0;x<o.length;x++)E.lineTo(o[x][0],o[x][1]);return E.fillStyle=A,E.fill(),C}};GW.prototype.remove=function(){this.item.modifyMeshObject=void 0};var Q0=null;function Zk(o,A){Q0=A,this._viewer=o,this._core=new $i(o,Q0)}Zk.prototype.addClipping=function(o,A={}){if(this.remove(),A.type==="polygon"){let f=A.positions,m=[];f.forEach(y=>{m.push(this._core.toDegrees(y))}),m.push(m[0]);let C;A.isInner?C=this.isClockWise(m):C=!this.isClockWise(m),C&&m.reverse();let E=[],x=this.getInverseTransform(o);for(let y=0;y<m.length-1;y++){let I=this.createPlane(m[y],m[y+1],x);E.push(I)}o.clippingPlanes=new Q0.ClippingPlaneCollection({planes:E,unionClippingRegions:!A.isInner})}return this.item=o,this};Zk.prototype.getInverseTransform=function(o){let A,f=o.root.transform;return f&&f.equals(Q0.Matrix4.IDENTITY)||!f?A=Q0.Transforms.eastNorthUpToFixedFrame(o.boundingSphere.center):A=Q0.Matrix4.fromArray(o.root.transform),Q0.Matrix4.inverseTransformation(A,new Q0.Matrix4)};Zk.prototype.getOriginCoordinateSystemPoint=function(o,A){let f=Q0.Cartesian3.fromDegrees(o.lon,o.lat);return Q0.Matrix4.multiplyByPoint(A,f,new Q0.Cartesian3(0,0,0))};Zk.prototype.createPlane=function(o,A,f){let m=this.getOriginCoordinateSystemPoint(o,f),C=this.getOriginCoordinateSystemPoint(A,f),E=new Q0.Cartesian3(0,0,1),x=Q0.Cartesian3.subtract(C,m,new Q0.Cartesian3),y=Q0.Cartesian3.cross(x,E,new Q0.Cartesian3);y=Q0.Cartesian3.normalize(y,y);let I=Q0.Plane.fromPointNormal(m,y);return Q0.ClippingPlane.fromPlane(I)};Zk.prototype.isClockWise=function(o){if(o.length<3)return null;o[0]===o[o.length-1]&&(o=o.slice(0,o.length-1));let A={i:-1,val:90};for(let I=0;I<o.length;I++){let{lat:v}=o[I];v<A.val&&(A.val=v,A.i=I)}let f=(A.i+o.length-1)%o.length,m=A.i,C=(A.i+1)%o.length,E={lat:o[m].lat-o[f].lat,lon:o[m].lon-o[f].lon},x={lat:o[C].lat-o[m].lat,lon:o[C].lon-o[m].lon},y=x.lon*E.lat-E.lon*x.lat;return y===0?o[C].lon<o[f].lon:y>0};Zk.prototype.remove=function(){this.item&&this.item.clippingPlanes&&this.item.clippingPlanes.removeAll(),this.item&&(this.item.clippingPlanes=void 0)};var ogt=Zk;function XH(o,A){this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._color=new In(this._viewer,this._cesium),this._tree=Ke,this.item={show:!0},this._option=void 0,this._primitive=void 0,this._Provider=void 0}XH.prototype.CreateWMSImageFeatureLayer=function(o,A,f,m,C,E,x){var y={url:"",queryParameters:{layers:"",style:"",transparent:!0,srs:"EPSG:4326",service:"WMS",request:"GetMap",version:"1.1.1",format:"image/png",bbox:"{westProjected},{southProjected},{eastProjected},{northProjected}",width:"256",height:"256"}},I=y;I.url=A.url,I.queryParameters=this._core.extend(I.queryParameters,A.queryParameters,!0);var v=f;A==null&&console.log("options is required");var B=this;this._Provider=new Cs(this._viewer,this._cesium),this._Provider.loadTile=function(S,D){(function(R,P,M,L,F){if(D.state===Cesium.QuadtreeTileLoadState.START){if(D.data={lines:[],geometryPrimitive:void 0},D.level>=(m.level_min||1)&&D.level<(m.level_max||22)&&L.item.show){var k=new Cesium.Rectangle(0,0,0,0),N=F._tilingScheme.tileXYToRectangle(R.x,R.y,R.level,k);I.queryParameters.bbox=k.west*180/Math.PI+","+k.south*180/Math.PI+","+k.east*180/Math.PI+","+k.north*180/Math.PI;var G=new Cesium.Resource(I);G.fetchImage().then(function(J){var K=new Cesium.GroundPrimitive({geometryInstances:[{geometry:new Cesium.RectangleGeometry({rectangle:k})}],appearance:new Cesium.Appearance({material:new Cesium.Material({fabric:{type:"Image",uniforms:{image:J}}})})});K.cusResource=M,D.data.geometryPrimitive=K,D.state=Cesium.QuadtreeTileLoadState.LOADING,D.state===Cesium.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive.update(P,[]),D.state=Cesium.QuadtreeTileLoadState.DONE,D.renderable=!0)},function(J){console.log(J)}),D.state=Cesium.QuadtreeTileLoadState.LOADING}else{D.state=Cesium.QuadtreeTileLoadState.DONE,D.renderable=!0;return}D.state=Cesium.QuadtreeTileLoadState.LOADING}})(D,S,v,B,this)},this._primitive=new B._cesium.QuadtreePrimitivezh({tileProvider:this._Provider});var Q=this._viewer.scene,T=Q.primitives;T.add(this._primitive),this._primitive.show=this.item.show,this.item=this._primitive,E||this.setVisibility(!1),this._core.isnull(A.id)&&(A.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+A.id);var w={id:A.id,name:o,checked:!0,pId:this._core.isnull(C)?0:C,type:"rasterLayer",item:this,options:this._option,queryOptions:this._queryOption};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(C)?0:C),typeof x=="function"&&x(this.item),this};XH.prototype.CreateVectorImageFeatureLayer=function(o,A,f,m,C,E,x){var y={url:"",queryParameters:{layer:"",style:"",tilematrixset:"EPSG:4326",Service:"WMTS",Request:"GetTile",Version:"1.0.0",Format:"image/png",TileMatrix:"EPSG:4326:",TileCol:"",TileRow:""}};this._option=this._core.extend(y,A,!0),this._queryOption=f;var I=this._core.extend(y,A,!0),v=f;A==null&&console.log("options is required");var B=this;this._Provider=new Cs(this._viewer,this._cesium),this._Provider.loadTile=function(S,D){(function(R,P,M,L,F){if(D.state===Cesium.QuadtreeTileLoadState.START){if(D.data={lines:[],geometryPrimitive:void 0},D.level>=m.level_min&&D.level<m.level_max&&L.item.show){I.queryParameters.TileMatrix=I.queryParameters.tilematrixset+":"+R.level,I.queryParameters.TileCol=R.x,I.queryParameters.TileRow=R.y;var k=new Cesium.Resource(I);k.fetchImage().then(function(N){var G=new Cesium.Rectangle(0,0,0,0),J=F._tilingScheme.tileXYToRectangle(R.x,R.y,R.level,G),K=new Cesium.GroundPrimitive({geometryInstances:[{geometry:new Cesium.RectangleGeometry({rectangle:G})}],appearance:new Cesium.Appearance({material:new Cesium.Material({fabric:{type:"Image",uniforms:{image:N}}})})});K.cusResource=M,D.data.geometryPrimitive=K,D.state=Cesium.QuadtreeTileLoadState.LOADING,D.state===Cesium.QuadtreeTileLoadState.LOADING&&(D.data.geometryPrimitive.update(P,[]),D.state=Cesium.QuadtreeTileLoadState.DONE,D.renderable=!0)},function(N){console.log(N)}),D.state=Cesium.QuadtreeTileLoadState.LOADING}else{D.state=Cesium.QuadtreeTileLoadState.DONE,D.renderable=!0;return}D.state=Cesium.QuadtreeTileLoadState.LOADING}})(D,S,v,B,this)},this._primitive=new B._cesium.QuadtreePrimitivezh({tileProvider:this._Provider});var Q=this._viewer.scene,T=Q.primitives;T.add(this._primitive),this._primitive.show=this.item.show,this.item=this._primitive,E||this.setVisibility(!1),this._core.isnull(A.id)&&(A.id=this._core.getuid()),this._core.isnull(o)&&(o="\u65B0\u5EFA\u56FE\u5C42"+A.id);var w={id:A.id,name:o,checked:!0,pId:this._core.isnull(C)?0:C,type:"rasterLayer",item:this,options:this._option,queryOptions:this._queryOption};return this.setTreeobj(w),this._tree.insertGroupId(w,this._core.isnull(C)?0:C),typeof x=="function"&&x(this.item),this};XH.prototype.setTreeobj=function(o){this.treeobj=o};XH.prototype.setVisibility=function(o){try{this.item!=null&&this.item.show!=null&&(this.item.show=o),this._Provider&&this._Provider.setStatus&&this._Provider.setStatus(o)}catch{}};XH.prototype.deleteObject=function(){this._viewer.scene.primitives.remove(this.item);try{this._Provider.remove()}catch{}};var agt=XH;var lRe,$le=null;function uRe(o,A){$le=A,this._viewer=o,lRe=o}uRe.prototype.findDirectParent=function(o){try{var A=[];if(o.width==Math.PI)return null;for(var f=0;f<lRe.scene.globe._surface._tilesToRender.length;f++){var m=lRe.scene.globe._surface._tilesToRender[f],C=m._rectangle;$le.Rectangle.intersection(C,o)&&A.push(m)}return A}catch{}return null};uRe.prototype.createTerrainModifier=function(o,A,f){var m=A.length,C=new Array(m);C.fill(f);var E=$le.createGuid(),x=Date.now(),y=$le.Rectangle.fromCartesianArray(A),I=this.findDirectParent(y);this._viewer.terrainProvider&&this._viewer.terrainProvider._modifyTerrainObjects===void 0&&(this._viewer.terrainProvider._modifyTerrainObjects=[]);var v=this._viewer,B={id:E,name:o,show:!0,rectangle:y,vertices:A,heights:C,timeStamp:x,remove:function(){if(v.terrainProvider&&v.terrainProvider._modifyTerrainObjects)for(var T=v.terrainProvider._modifyTerrainObjects.length-1;T>=0;T--){var w=v.terrainProvider._modifyTerrainObjects[T];w.id==E&&v.terrainProvider._modifyTerrainObjects.splice(T,1)}if(I)try{for(var T=0;T<I.length;T++)try{I[T]._parent.freeResources()}catch{}}catch{}}};if(this._viewer.terrainProvider._modifyTerrainObjects.push(B),I)try{for(var Q=0;Q<I.length;Q++)try{I[Q]._parent.freeResources()}catch{}}catch{}return B};var sgt=uRe;var _5i=`uniform sampler2D specularMap; uniform sampler2D normalMap; uniform vec4 baseWaterColor; uniform vec4 blendColor; uniform float frequency; uniform float animationSpeed; uniform float amplitude; uniform float specularIntensity; uniform float fadeFactor; uniform vec4 sizeAndVelocity; czm_material czm_getMaterial(czm_materialInput materialInput) { float width = sizeAndVelocity.x; float height = sizeAndVelocity.y; float vx = sizeAndVelocity.z; float vy = sizeAndVelocity.w; czm_material material = czm_getDefaultMaterial(materialInput); float time = czm_frameNumber * animationSpeed; // fade is a function of the distance from the fragment and the frequency of the waves float fade = max(1.0, (length(materialInput.positionToEyeEC) / 10000000000.0) * frequency * fadeFactor); // note: not using directional motion at this time, just set the angle to 0.0; vec2 st = materialInput.st * vec2(width, height) / 100.0 * frequency; st -= vec2(vx*time, vy*time); vec4 noise = czm_getWaterNoise(normalMap, st, time, 0.0); vec3 normalTangentSpace = noise.xyz * vec3(1.0, 1.0, (1.0 / amplitude)); // fade out the normal perturbation as we move further from the water surface normalTangentSpace.xy /= fade; normalTangentSpace = normalize(normalTangentSpace); // get ratios for alignment of the new normal vector with a vector perpendicular to the tangent plane float tsPerturbationRatio = clamp(dot(normalTangentSpace, vec3(0.0, 0.0, 1.0)), 0.0, 1.0); // base color is a blend of the water and non-water color based on the value from the specular map // may need a uniform blend factor to better control this vec2 v = gl_FragCoord.xy / czm_viewport.zw; v.y = 1.0 - v.y; material.diffuse = texture(specularMap, v + noise.xy*0.03).rgb; // diffuse highlights are based on how perturbed the normal is material.diffuse += (0.1 * tsPerturbationRatio); material.diffuse = mix(baseWaterColor.rgb, material.diffuse, blendColor.rgb); material.normal = normalize(materialInput.tangentToEyeMatrix * normalTangentSpace); material.specular = specularIntensity; material.shininess = 10.0; material.alpha = baseWaterColor.a * blendColor.a; return material; }`,lgt=_5i;var a1=null;function ugt(o){o._colorTexture&&!o._colorTexture.isDestroyed()?o._colorTexture.destroy():o._colorTexture&&(o._colorTexture.destroy=function(){console.log("destroy")},o._colorTexture=null),o._depthStencilTexture&&!o._depthStencilTexture.isDestroyed()&&(o._depthStencilTexture.destroy(),o._depthStencilTexture=null)}function Agt(o){o._framebuffer&&!o._framebuffer.isDestroyed()&&(o._framebuffer.destroy(),o._framebuffer=null)}function v5i(o,A,f,m){ugt(o),Agt(o),o._colorTexture=new a1.Texture({context:A,width:f,height:m,pixelFormat:a1.PixelFormat.RGBA,pixelDatatype:a1.PixelDatatype.UNSIGNED_BYTE}),o._depthStencilTexture=new a1.Texture({context:A,width:f,height:m,pixelFormat:a1.PixelFormat.DEPTH_STENCIL,pixelDatatype:a1.PixelDatatype.UNSIGNED_INT_24_8}),o._framebuffer=new a1.Framebuffer({context:A,colorTextures:[o._colorTexture],depthStencilTexture:o._depthStencilTexture,destroyAttachments:null})}function HW(o){a1=o,this._framebuffer=null,this._colorTexture=null,this._textureChangedEvent=new a1.Event}HW.prototype.getTextureChangedEvent=function(){return this._textureChangedEvent};HW.prototype.update=function(o,A,f){var m=this._colorTexture;let C=!1;(!a1.defined(m)||m.width!==A||m.height!==f)&&(C=!0),!a1.defined(this._framebuffer)&&C&&(v5i(this,o,A,f),this._textureChangedEvent.raiseEvent(this._colorTexture))};HW.prototype.isDestroyed=function(){return!1};HW.prototype.destroy=function(){ugt(this),Agt(this)};var cgt=HW;var sh=null,hgt,dgt,fgt,ggt,B5i=null,pgt,mgt;function w5i(o,A,f,m,C){let E=A._frameState;if(!sh.defined(A.debugCommandFilter)||A.debugCommandFilter(o))if(o instanceof sh.ClearCommand)o.execute(f,m);else{E.useLogDepth&&sh.defined(o.derivedCommands.logDepth)&&(o=o.derivedCommands.logDepth.command);let x=E.passes;!x.pick&&A._hdr&&sh.defined(o.derivedCommands)&&sh.defined(o.derivedCommands.hdr)&&(o=o.derivedCommands.hdr.command),!x.pick&&!x.depth&&!A.debugShowCommands&&!A.debugShowFrustums&&o.execute(f,m)}}function b5i(o,A,f,m){sh=m,hgt=new sh.PerspectiveFrustum,dgt=new sh.PerspectiveOffCenterFrustum,fgt=new sh.OrthographicFrustum,ggt=new sh.OrthographicOffCenterFrustum,B5i=null,pgt=sh.Cesium3DTilePassState&&new sh.Cesium3DTilePassState({pass:sh.Cesium3DTilePass.RENDER}),mgt=sh.OctahedralProjectedCubeMap.prototype.update;let C=new sh.Camera(o),E=o.context,x=o._view.passState;C=sh.Camera.clone(o.camera,C);let y=C.positionCartographic,I=C.pitch,v=C.heading,B=C.roll;C.setView({destination:sh.Cartesian3.fromRadians(y.longitude,y.latitude,A+A-y.height),orientation:{heading:v,pitch:-I,roll:B}});let Q=.5*o.context.drawingBufferWidth,T=.5*o.context.drawingBufferHeight;x.viewport.x=0,x.viewport.y=0,x.viewport.width=Q,x.viewport.height=T,f.update(E,Q,T),x.framebuffer=f._framebuffer;let w=o._clearColorCommand;sh.Color.multiplyByScalar(sh.Color.DEEPSKYBLUE,.1,w.color),w.color.alpha=1,w.execute(E,x);let S=o._depthClearCommand,D=E.uniformState;D.updateCamera(C),D.seWaterHeight=A;let R;sh.defined(C.frustum.fov)?R=C.frustum.clone(hgt):sh.defined(C.frustum.infiniteProjectionMatrix)?R=C.frustum.clone(dgt):sh.defined(C.frustum.width)?R=C.frustum.clone(fgt):R=C.frustum.clone(ggt),R.near=C.frustum.near,R.far=C.frustum.far,D.updateFrustum(R);let P=o._frameState;P.passes.render=!0,P.tilesetPassState=pgt,o.frameState.commandList.length=0,sh.OctahedralProjectedCubeMap.prototype.update=function(){},o._primitives.update(P),sh.OctahedralProjectedCubeMap.prototype.update=mgt,o._view.createPotentiallyVisibleSet(o);let M,L,F=o._view.frustumCommandsList;for(let k=0;k<F.length;k++){let N=F.length-k-1,G=F[N];N!==0?R.near=G.near*o.opaqueFrustumNearOffset:R.near=G.near,R.far=G.far,D.updateFrustum(R),S.execute(E,x),D.updatePass(sh.Pass.CESIUM_3D_TILE),M=G.commands[sh.Pass.CESIUM_3D_TILE],L=G.indices[sh.Pass.CESIUM_3D_TILE];for(let J=0;J<L;J++)w5i(M[J],o,E,x)}x.framebuffer=0,D.seWaterHeight=-5e3}var Cgt=b5i;function UI(o,A,f){this._cesium=f,this._option={baseWaterColor:o.baseWaterColor||new f.Color(.2,.3,.6,1),blendColor:o.blendColor||new f.Color(.5,.5,.5,.7),animationSpeed:o.animationSpeed||.05,amplitude:o.amplitude||2,frequency:o.frequency||5e3,specularIntensity:o.specularIntensity||.5,fadeFactor:o.fadeFactor||1,sizeAndVelocity:o.sizeAndVelocity||new f.Cartesian4(100,100,10,0),width:o.width||100,height:o.height||100},L5i(this._option,this._cesium),this._scene=A,this._wTexture=new cgt(this._cesium),this._trackedPrimitives=[];let m=this;this._disposeListener=this._scene.preRender.addEventListener(function(){let C=m._scene.camera,E=C.frustum.computeCullingVolume(C.positionWC,C.directionWC,C.upWC);if(m._trackedPrimitives.some(function(y){if(!y.show)return null;let I=y._boundingSphereWC||y._boundingVolumes,v=null;return I&&(v=I.some(function(B){return E.computeVisibility(B)!==f.Intersect.OUTSIDE})),v})){let y=Number.MAX_VALUE,I=null;m._trackedPrimitives.forEach(function(v){if(v.show){let B=v._boundingSphereWC||v._boundingVolumes,Q;if(B&&(Q=B.some(function(T){return E.computeVisibility(T)!==f.Intersect.OUTSIDE})),Q){let T=f.Cartesian3.distanceSquared(v.centerPos,C.positionWC)-v.radius;y>T&&(y=T,I=v)}}}),I&&Cgt(m._scene,I.waterHeight,m._wTexture,m._cesium)}}),console.log(window.nowView=this),this._createDebugView(),this.debugShow(!1)}function Q5i(o,A){let f=A.ModelUtility.getAttributeOrUniformBySemantic(o,"_BATCHID");return A.defined(f)||(f=A.ModelUtility.getAttributeOrUniformBySemantic(o,"BATCHID"),A.defined(f)&&A.Batched3DModel3DTileContent._deprecationWarning("b3dm-legacy-batchid","The glTF in this b3dm uses the semantic `BATCHID`. Application-specific semantics should be prefixed with an underscore: `_BATCHID`.")),f}function S5i(o,A){return function(f,m){let C=o._batchTable,E=!A.defined(o._classificationType),x=o._model.gltf;A.defined(x)&&(o._batchIdAttributeName=Q5i(x,A),o._diffuseAttributeOrUniformName[m]=A.ModelUtility.getDiffuseAttributeOrUniform(x,m)),f=A.ShaderSource.replaceMain(f,"gltf_seWater_main"),f+=`uniform mat4 u_inverseElevationMatrix; out vec3 v_elevationPos; void main() { gltf_seWater_main(); v_elevationPos = (u_inverseElevationMatrix * vec4(a_position, 1.0)).xyz; } `;let y=C.getVertexShaderCallback(E,o._batchIdAttributeName,o._diffuseAttributeOrUniformName[m]);return A.defined(y)?y(f):f}}function D5i(o,A){return function(f,m){let C=o._batchTable,E=!A.defined(o._classificationType),x=o._model.gltf;A.defined(x)&&(o._diffuseAttributeOrUniformName[m]=A.ModelUtility.getDiffuseAttributeOrUniform(x,m)),f=A.ShaderSource.replaceMain(f,"gltf_seWater_main"),f+=`in vec3 v_elevationPos; void main() { if (czm_seWaterHeight > -5000.0 && v_elevationPos.z < czm_seWaterHeight) { discard; } gltf_seWater_main(); } `;let y=C.getFragmentShaderCallback(E,o._diffuseAttributeOrUniformName[m],!1);return A.defined(y)?y(f):f}}function T5i(o,A){let f=o._batchTable;return o._batchTable.featuresLength===0?function(m){let C={u_inverseElevationMatrix:function(E){let x=o._model,y=typeof x._elevationMatrix;if(y==="undefined")return A.Matrix4.IDENTITY;if(y==="function"?x._uniformInverseElevationMatrix=x._elevationMatrix(x._uniformInverseElevationMatrix):A.Matrix4.clone(x._elevationMatrix,x._uniformInverseElevationMatrix),A.Matrix4.inverse(x._uniformInverseElevationMatrix,x._uniformInverseElevationMatrix),x._rtcCenter){let I=new A.Matrix4,v=A.Matrix4.fromTranslation(x._rtcCenter,I);A.Matrix4.multiply(x._uniformInverseElevationMatrix,v,x._uniformInverseElevationMatrix)}return x._uniformInverseElevationModelMatrix||(x._uniformInverseElevationModelMatrix=new A.Matrix4),E&&E.model?(x._uniformInverseElevationModelMatrix=A.Matrix4.multiply(x._uniformInverseElevationMatrix,E.model,x._uniformInverseElevationModelMatrix),x._uniformInverseElevationModelMatrix):A.Matrix4.IDENTITY}};return A.combine(m,C)}:function(m){let C={tile_batchTexture:function(){return defaultValue(f._batchTexture.batchTexture,f._batchTexture.defaultTexture)},tile_textureDimensions:function(){return f._batchTexture.textureDimensions},tile_textureStep:function(){return f._batchTexture.textureStep},tile_colorBlend:function(){return getColorBlend(f)},tile_pickTexture:function(){return f._batchTexture.pickTexture},u_inverseElevationMatrix:function(E){let x=o._model,y=typeof x._elevationMatrix;if(y==="undefined")return A.Matrix4.IDENTITY;if(y==="function"?x._uniformInverseElevationMatrix=x._elevationMatrix(x._uniformInverseElevationMatrix):A.Matrix4.clone(x._elevationMatrix,x._uniformInverseElevationMatrix),A.Matrix4.inverse(x._uniformInverseElevationMatrix,x._uniformInverseElevationMatrix),x._rtcCenter){let I=new A.Matrix4,v=A.Matrix4.fromTranslation(x._rtcCenter,I);A.Matrix4.multiply(x._uniformInverseElevationMatrix,v,x._uniformInverseElevationMatrix)}return x._uniformInverseElevationModelMatrix||(x._uniformInverseElevationModelMatrix=new A.Matrix4),x._uniformInverseElevationModelMatrix=A.Matrix4.multiply(x._uniformInverseElevationMatrix,E.model,x._uniformInverseElevationModelMatrix),x._uniformInverseElevationModelMatrix}};return A.combine(m,C)}}function M5i(o){this._size=o.size,this._datatype=o.datatype,this.getValue=o.getValue}function P5i(o,A,f){try{let m=f.Ellipsoid.WGS84,C=m.scaleToGeodeticSurface(o);return A=f.Transforms.eastNorthUpToFixedFrame(C,m,A),A}catch{return f.Matrix4.clone(f.Matrix4.IDENTITY,A)}}function R5i(o){o.AutomaticUniforms.czm_seWaterHeight||(o.AutomaticUniforms.czm_seWaterHeight=new M5i({size:1,datatype:o.WebGLConstants.FLOAT,getValue:function(f){return f.seWaterHeight?f.seWaterHeight:-5e3}}),o.ShaderSource._czmBuiltinsAndUniforms.czm_seWaterHeight="uniform float czm_seWaterHeight;");var A=o.Cesium3DTileset.prototype.update;o.Cesium3DTileset.prototype.update=function(f){A.call(this,f),this.show&&this.ready&&(this._autoElevationMatrix=P5i(this.boundingSphere.center,this._autoElevationMatrix,o))},o.Cesium3DTileContentFactory.b3dm=function(f,m,C,E,x){if(f.enableModelExperimental)return o.ModelExperimental3DTileContent.fromB3dm(f,m,C,E,x);let y=new o.Batched3DModel3DTileContent(f,m,C,E,x);return y._model instanceof o.ClassificationModel||(y._model._elevationMatrix=function(I){let v=f._elevationMatrix||f._autoElevationMatrix||o.Matrix4.IDENTITY;return I=o.Matrix4.clone(v,I),I},y._model._uniformMapLoaded=T5i(y,o),y._model._vertexShaderLoaded=S5i(y,o),y._model._fragmentShaderLoaded=D5i(y,o)),y},o.ShaderProgram.prototype._setUniforms=function(f,m,C){let E,x;if(o.defined(f)){let v=this._manualUniforms;for(E=v.length,x=0;x<E;++x){let B=v[x];B.value=f[B.name](m)}}let y=this._automaticUniforms;for(E=y.length,x=0;x<E;++x){let v=y[x];v.uniform.value=v.automaticUniform.getValue(m)}let I=this._uniforms;for(E=I.length,x=0;x<E;++x)I[x].set();if(C){let v=this._gl,B=this._program;v.validateProgram(B)}}}function L5i(o,A){let f=o.baseWaterColor||new A.Color(.2,.3,.6,1),m=o.blendColor||new A.Color(.5,.5,.5,.7),C=o.animationSpeed||.05,E=o.amplitude||2,x=o.frequency||5e3,y=o.specularIntensity||.5,I=o.fadeFactor||1,v=o.sizeAndVelocity||new A.Cartesian4(100,100,10,0),B=o.width||316,Q=o.height||316;R5i(A),A.Material._materialCache.addMaterial("SEWater",{fabric:{type:"SEWater",uniforms:{baseWaterColor:f,blendColor:m,specularMap:A.Material.DefaultImageId,normalMap:A.Material.DefaultImageId,frequency:x,animationSpeed:C,amplitude:E,specularIntensity:y,fadeFactor:I,sizeAndVelocity:v},source:lgt},translucent:function(T){var w=T.uniforms;return w.baseWaterColor.alpha<1||w.blendColor.alpha<1}})}UI.prototype._createDebugView=function(){let o=this._cesium.Material.fromType("Image"),A=new this._cesium.ViewportQuad(new this._cesium.BoundingRectangle(0,100,300,300));A.material=o,this._debugViewportQuad=this._scene.primitives.add(A);let f=this._getWaterReflectTexture();f&&(o.uniforms.image=f)};UI.prototype.debugShow=function(o){this._debugViewportQuad.show=o};UI.prototype.isDebugShow=function(){return this._debugViewportQuad.show};UI.prototype._getWaterReflectTexture=function(){return this._wTexture._colorTexture};UI.prototype._getWaterReflectTextureChangedEvent=function(){return this._wTexture._textureChangedEvent};UI.prototype._createWaterMaterial=function(){var o=new this._cesium.Material({fabric:{type:"SEWater",uniforms:{specularMap:this._cesium.buildModuleUrl("Assets/Textures/waterNormals.jpg"),normalMap:this._cesium.buildModuleUrl("Assets/Textures/waterNormals.jpg"),frequency:this._option.frequency,animationSpeed:this._option.animationSpeed,amplitude:this._option.amplitude,width:this._option.width,height:this._option.height}}});let A=this;return o._uniforms.specularMap_0=function(){return A._wTexture._colorTexture||A._scene.context.defaultTexture},o};UI.prototype.createWaterPolygonPrimitive=function(o){let A=this,f=this._scene,m=null,C=null;if(o.type==0)m=this._cesium.PolygonGeometry.fromPositions({vertexFormat:this._cesium.MaterialAppearance.MaterialSupport.ALL.vertexFormat,positions:o.positions}),C=f.groundPrimitives.add(new this._cesium.GroundPrimitive({geometryInstances:new this._cesium.GeometryInstance({geometry:m}),appearance:new this._cesium.MaterialAppearance({materialSupport:this._cesium.MaterialAppearance.MaterialSupport.ALL}),classificationType:this._cesium.ClassificationType.BOTH})),C.appearance.material=this._createWaterMaterial();else if(o.type==1)m=this._cesium.CoplanarPolygonGeometry.fromPositions({vertexFormat:this._cesium.MaterialAppearance.MaterialSupport.ALL.vertexFormat,positions:o.positions}),C=f.primitives.add(new this._cesium.Primitive({geometryInstances:new this._cesium.GeometryInstance({geometry:m}),appearance:new this._cesium.MaterialAppearance({materialSupport:this._cesium.MaterialAppearance.MaterialSupport.ALL})})),C.appearance.material=this._createWaterMaterial();else if(o.type==2){let x=new this._cesium.GeometryInstance({geometry:o.geometry});C=f.primitives.add(new this._cesium.Primitive({geometryInstances:x,appearance:new this._cesium.EllipsoidSurfaceAppearance({material:this._createWaterMaterial()}),asynchronous:!1}))}C.appearance.material.uniforms.sizeAndVelocity.x=o.width,C.appearance.material.uniforms.sizeAndVelocity.y=o.height,C.radius=.5*Math.max(o.width,o.height),C.centerPos=o.center;let E=this._cesium.Cartographic.fromCartesian(o.center);return C.waterHeight=E.height,this._trackPrimitive(C),C};UI.prototype._trackPrimitive=function(o){this._trackedPrimitives.indexOf(o)<0&&this._trackedPrimitives.push(o)};UI.prototype.destroyWaterPolygonPrimitive=function(o){this._trackedPrimitives.indexOf(o)>=0&&(this._untrackPrimitive(o),this._scene.primitives.contains(o)&&this._scene.primitives.remove(o),this._scene.groundPrimitives.contains(o)&&this._scene.groundPrimitives.remove(o))};UI.prototype._untrackPrimitive=function(o){let A=this._trackedPrimitives.indexOf(o);A!=-1&&this._trackedPrimitives.splice(A,1)};UI.prototype.isDestroyed=function(){return!1};UI.prototype.destroy=function(){return this._disposeListener&&(this._disposeListener(),this._disposeListener=null),this._wTexture&&(this._wTexture.destroy(),this._wTexture=null),this._trackedPrimitives=[],this._cesium.destroyObject(this)};var Egt=UI;function Hi(o,A){if(this._viewer=o,this._cesium=A,this._core=new $i(o,A),this._Label=new XT(this._viewer,this._cesium),this._Circle=new OQ(this._viewer,this._cesium),this._Box=new qT(this._viewer,this._cesium),this._Cone=new yp(this._viewer,this._cesium),this._Color=new In(this._viewer,this._cesium),this._Polyline=new Ng(this._viewer,this._cesium),this._Rectangle=new Ww(this._viewer,this._cesium),this._Polygon=new Fg(this._viewer,this._cesium),this._ImageLabel=new eL(this._viewer,this._cesium),this._GeoJsonFeatureLayer=new Rc(this._viewer,this._cesium,this._ImageryProvidererid),this._Ellipsoid=new VR(this._viewer,this._cesium),this._PointModel=new Zw(this._viewer,this._cesium),this._wall=new Kk(this._viewer,this._cesium),this._Terrain=new nM(this._viewer,this._cesium),this._createdynamicObject=new NR(this._viewer,this._cesium),this._GeometryCreator,this._ImageryLayer=new rM(this._viewer,this._cesium),this._VolumeGeoJsonFeatureLayer=void 0,this._PolygonVectorGeoJsonFeatureLayer=void 0,this._skyBox=new hse(this._viewer,this._cesium),this._flowField=new Yft(this._viewer,this._cesium),this._canvasField=new tgt(this._viewer,this._cesium),this.VectorGeoJsonFeatureLayer=new Ec(this._viewer,this._cesium),this._straightArrow=new ase(this._viewer,this._cesium),this._SimpleGraphic=new fH(this._viewer,this._cesium),this._popupmessage=new kI(this._viewer,this._cesium),this._VectorImgFeatureLayer=agt,this._TerrainModifier=new sgt(this._viewer,this._cesium),!A.Resource._Implementations.createImageSGS){var f=new Bv({workerPath:window.SmartEarthRootUrl+"/Workers/nullValueRemoveWorker.js"},this._cesium);A.Resource._Implementations.createImageSGS=function(m,C,E){var x=8,y={r:0,g:0,b:0,a:255};if(m.indexOf("nullvalue=")>-1){var I=m.split("nullvalue=")[1].split("&")[0],v=I.split("%2C");y.r=v[0],y.g=v[1],y.b=v[2]}if(m.indexOf("nulltolerance=")>-1)var B=m.split("nulltolerance=")[1].split("&")[0];var Q=new Image,T=document.createElement("canvas"),w=T.getContext("2d");Q.url=m,Q.onload=function(){if(Q.url!=null&&Q.url.indexOf("nullvalue")!=-1){delete Q.url,T.width=Q.width,T.height=Q.height,w.drawImage(Q,0,0),Q.imageProcesses=[];for(var S=Q.width/x,D=Q.height,R=0,P=0;P<x;P++){var M=P*S,L=w.getImageData(M,R,S,D).data;Q.imageProcesses[P]=f.queueWorkItem({nullValue:y,nullTolerance:B,canvasData:L,width:S,height:D,startX:M})}Cesium.when.all(Q.imageProcesses,function(F){for(var k=0;k<F.length;k++){for(var N=w.createImageData(F[k].width,F[k].height),G=0;G<F[k].canvasData.length;G++)N.data[G]=F[k].canvasData[G];w.putImageData(N,F[k].startX,0)}Q.src=T.toDataURL(),E.resolve(Q)}).otherwise(function(F){console.log(F)})}else E.resolve(Q)},Q.onerror=function(S){E.reject(S)},C&&(Cesium.TrustedServers.contains(m)?Q.crossOrigin="use-credentials":Q.crossOrigin=""),Q.src=m}}}Hi.prototype.create3DTilesets=function(o,A,f,m,C,E,x){var y=this._D3Tileset.create3DTilesets(o,A,f,m,C,E,x);return this._D3Tilesets||(this._D3Tilesets=[],this._SE3DTilesets=new Map),this._SE3DTilesets.set(y.treeobj.id,y),this._D3Tilesets.push(y.item),y};Hi.prototype.set3DTilesetsAlpha=function(o){this._D3Tilesets&&this._D3Tilesets.forEach(A=>{o==0?A.style=new this._cesium.Cesium3DTileStyle({show:!1}):o==1?A.style=new this._cesium.Cesium3DTileStyle({show:!0}):A.style=new this._cesium.Cesium3DTileStyle({color:`color('rgba(255,255,255,${o})')`})})};Hi.prototype.createTerrainModifier=function(o,A,f){return this._TerrainModifier.createTerrainModifier(o,A,f)};Hi.prototype.createS3MLayer=function(o,A={},f){return A instanceof this._cesium.Scene&&(A={scene:A}),new Moe({url:o,...A},f,this._cesium)};Hi.prototype.createWaterPolygonLayer=function(o={}){return new $ae(this._viewer,this._cesium).createPolygonLayer(o)};Hi.prototype.createWaterPolygon=function(o={}){return new Egt(o,this._viewer.scene,this._cesium).createWaterPolygonPrimitive(o)};Hi.prototype.createCloudMap=function(o,A,f,m){var C=new Fg(this._viewer,this._cesium);return C.createCloudMap(o,A,f,m)};Hi.prototype.addVideoPolygon=function(o,A){var f=new Fg(this._viewer,this._cesium);return f.addVideoPolygon(o,A)};Hi.prototype.addVideoBox=function(o,A){var f=new Fg(this._viewer,this._cesium);return f.addVideoPlane(o,A)};Hi.prototype.CZML=function(o,A,f){return new nse(this._viewer,this._cesium).addCZML(o,A,f)};Hi.prototype.addHeatMap=function(o,A){return new Ase(this._viewer,this._cesium).addHeatMap(o,A)};Hi.prototype.militaryPlotting=function(o,A,f,m){var C=this._straightArrow,E=null;let x,y;f?typeof f=="function"?(x={},y=f):(x=f,y=m):x={};let I=v=>{x.removeEdit&&C.MilitaryStandardObj.pop(),C.defaultEdit(),y&&y(v)};switch(o){case"StraightArrow":var E=C.createStraightArrow(A,x,I);break;case"SwallowtailArrow":var E=C.createSwallowtailArrow(A,x,I);break;case"PincerArrow":var E=C.createPincerArrow(A,x,I);break;case"AttackArrow":var E=C.createAttackArrow(A,x,I);break;case"GatheringPlace":var E=C.createHandlerPolygon(A,x,I);break;case"RoundedRectangle":var E=C.createRoundedRectangle(A,x,I);break;case"Sector":var E=C.createSector(A,x,I);break;case"Bow":var E=C.createBow(A,x,I);break;case"Bezierline":var E=C.createBezierline(x,I);break;case"BezierArrow":var E=C.createBezierArrow(x,I);break;default:break}return E};Hi.prototype.MilitaryCopy=function(o){var A=this._straightArrow,f=A.copyJb(o);return f};Hi.prototype.NightMode=function(o){let A=this._viewer,f=A.imageryLayers.length,m,C;o?(m=.15,C=.15):(m=1,C=1);for(let E=0;E<f;E++)A.imageryLayers.get(E).brightness=m;this._D3Tilesets&&this._D3Tilesets.forEach(E=>{E.imageBasedLightingFactor.x=C,E.imageBasedLightingFactor.y=C}),A.scene.skyAtmosphere.show=!o};Hi.prototype.SaveMilitaryStandard=function(){var o=this._straightArrow;o.save()};Hi.prototype.OpenMilitaryStandard=function(o){var A=this._straightArrow;A.open(o)};Hi.prototype.ClearMilitaryStandard=function(){var o=this._straightArrow;o.clear()};Hi.prototype.getEntityById=function(o){var A=this._straightArrow,f=A.getEntityById(o);return f};Hi.prototype.startModify=function(o){var A=this._straightArrow;A.edit(o)};Hi.prototype.createSimpleGraphic=function(o,A,f){return this._SimpleGraphic.createSimpleGraphic(o,A,f)};Hi.prototype.addSimpleGraphic=function(o,A,f){return this._SimpleGraphic.addSimpleGraphic(o,A,f)};Hi.prototype.GeoWTFS=function(o){return this._TdtLabel||(this._TdtLabel=new tse(this._viewer,this._cesium)),this._TdtLabel.GeoWTFS(o)};Hi.prototype.Video3D=function(o){return new lse(this._viewer,this._cesium).Video3D(o)};Hi.prototype.addRotateEffectCircle=function(o){return new pH(this._viewer,this._cesium).createRotateCircle(o)};Hi.prototype.addTetrahedron=function(o){return new ese(this._viewer,o,this._cesium)};Hi.prototype.addTrafficLight=function(o){return this._TrafficLight||(this._TrafficLight=new dse(this._viewer,this._cesium)),this._TrafficLight.add(o)};Hi.prototype.addDRWEffectCircle=function(o){return new pH(this._viewer,this._cesium).createDRWCircle(o)};Hi.prototype.addEffectCylinder=function(o){return new gH(this._viewer,this._cesium).createCylinder(o)};Hi.prototype.addEffectCone=function(o){return new gH(this._viewer,this._cesium).createCone(o)};Hi.prototype.createGeoJsonFeatureLayerProviderOptimization=function(o,A,f,m,C,E){var x=new Ec(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.VolumeVectorGeoJsonFeatureLayerOptimization(o,A,f,m,C,E)};Hi.prototype.createGeoJsonFeatureLayerProviderGisOptimization=function(o,A,f,m,C,E){var x=new Ec(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.VolumeVectorGeoJsonFeatureLayerGisOptimization(o,A,f,m,C,E)};Hi.prototype.VolumeVectorGeoJsonFeatureLayerGis=function(o,A,f,m,C,E){var x=new Ec(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.VolumeVectorGeoJsonFeatureLayerGis(o,A,f,m,C,E)};Hi.prototype.PointVectorGeoJsonFeatureLayerGis=function(o,A,f,m,C,E){var x=new Ec(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.PointVectorGeoJsonFeatureLayerGis(o,A,f,m,C,E)};Hi.prototype.PolylineVectorGeoJsonFeatureLayerGis=function(o,A,f,m,C,E){var x=new Ec(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.PolylineVectorGeoJsonFeatureLayerGis(o,A,f,m,C,E)};Hi.prototype.createGeoJsonFeatureLayerProviderClassOptimization=function(o,A,f,m,C,E){var x=new Ec(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.VolumeVectorGeoJsonFeatureLayerClassOptimization(o,A,f,m,C,E)};Hi.prototype.createVolumeVectorGeoJsonFeatureLayerDthOptimization=function(o,A,f,m,C,E){var x=new Ec(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.VolumeVectorGeoJsonFeatureLayerOptimization1(o,A,f,m,C,E)};Hi.prototype.createVolumeVectorGeoJsonFeatureLayerDthOptimizationtest=function(o,A,f,m,C,E){var x=new Ec(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createVolumeVectorGeoJsonFeatureLayerDthOptimization(o,A,f,m,C,E)};Hi.prototype.VolumeVectorGeoJsonFeatureLayerOptimizationGroundtest=function(o,A,f,m,C,E){var x=new Ec(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.VolumeVectorGeoJsonFeatureLayerOptimizationGroundtest(o,A,f,m,C,E)};Hi.prototype.VolumeVectorGeoJsonFeatureLayerOptimizationtest=function(o,A,f,m,C,E){var x=new Ec(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.VolumeVectorGeoJsonFeatureLayerOptimizationtest(o,A,f,m,C,E)};Hi.prototype.createVolumeVectorGeoJsonFeatureLayerJCDthOptimization=function(o,A,f,m,C,E){var x=new Ec(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createVolumeVectorGeoJsonFeatureLayerJCDthOptimization(o,A,f,m,C,E)};Hi.prototype.createVolumeVectorGeoJsonFeatureLayerJCDthOptimizationxp=function(o,A,f,m,C,E){var x=new Ec(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createVolumeVectorGeoJsonFeatureLayerJCDthOptimizationxp(o,A,f,m,C,E)};Hi.prototype.createHistogramVectorGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x=new Ec(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createHistogramVectorGeoJsonFeatureLayer(o,A,f,m,C,E)};Hi.prototype.createLaycolorVectorGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x=new Ec(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createLaycolorVectorGeoJsonFeatureLayer(o,A,f,m,C,E)};Hi.prototype.createVector3DTilesFeatureLayer=function(o,A,f,m,C,E){var x=new Ec(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createVector3DTilesFeatureLayer(o,A,f,m,C,E)};Hi.prototype.createVector3DTilesFeatureLayerRelease=function(o,A,f,m,C,E){var x=new Ec(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createVector3DTilesFeatureLayerRelease(o,A,f,m,C,E)};Hi.prototype.createGeojsonImage=function(o){var A=new Ec(this._viewer,this._cesium);return A.createGeojsonImage(o)};Hi.prototype.createGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x=new Ec(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.VectorGeoJsonFeatureLayer(o,A,f,m,C,E)};Hi.prototype.createGeojsonFeatureLayer=function(o,A,f,m,C,E){var x=new Rc(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createGeojsonFeatureLayer(o,A,f,m,C,E)};Hi.prototype.createGeojsonKmlFeatureLayer=function(o,A,f,m,C){var E=new Rc(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,E.createGeojsonKmlFeatureLayer(o,A,f,m,C)};Hi.prototype.sfsterrainprovider=function(o,A,f,m,C){var E=new nM(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,E.createSFSTerrain(o,A,f,m,C)};Hi.prototype.createWMTSTerrain=function(o,A,f,m,C){var E=new nM(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,E.createWMTSTerrain(o,A,f,m,C)};Hi.prototype.sfsterrainprovider71=function(o,A,f,m,C){var E=new nM(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,E.createSFSTerrain71(o,A,f,m,C)};Hi.prototype.createTerrain=function(o,A,f,m,C){var E=new nM(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,E.createTerrain(o,A,f,m,C)};Hi.prototype.createTerrainLayer=function(o,A,f,m,C,E){var x=new nM(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,x.createTerrainLayer(o,A,f,m,C,E)};Hi.prototype.createArcGISTerrain=function(o,A,f,m,C){var E=new nM(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,E.createArcGISTerrain(o,A,f,m,C)};Hi.prototype.createCesiumTerrain=function(o,A,f,m){var C=new nM(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,C.createCesiumTerrain(o,A,f,m)};Hi.prototype.getFlyData=function(o,A){this._createdynamicObject.getFlyData(o,A)};Hi.prototype.createDynamicObject=function(o,A,f){return this._createdynamicObject.Start(o,A,f)};Hi.prototype.addmodle=function(o){return this._createdynamicObject.addmodle(o)};Hi.prototype.createSatelliteTrail=function(o){return new ise(this._viewer,this._cesium).createSatelliteTrail(o)};Hi.prototype.executePauseFly3DPaths=function(){return this._createdynamicObject.executePauseFly3DPaths()};Hi.prototype.executePlayForwardFly3DPaths=function(){return this._createdynamicObject.executePlayForwardFly3DPaths()};Hi.prototype.executePlayReverseFly3DPaths=function(){return this._createdynamicObject.executePlayReverseFly3DPaths()};Hi.prototype.executeSignout=function(){return this._createdynamicObject.executeSignout()};Hi.prototype.createLabel=function(o,A,f,m,C){var E=new XT(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createLabel(o,A,f,m,C)};Hi.prototype.createPosition=function(o,A,f){var m=new KPe(this._viewer,this._cesium);return m.createPosition(o,A,f)};Hi.prototype.createLocation=function(o,A,f){return this._Point.createLocation(o,A,f)};Hi.prototype.createPoint=function(o,A,f,m,C,E){return this._Point.createPoint(o,A,f,m,C,E)};Hi.prototype.createLonlat=function(o){return this._Point.createLonlat(o)};Hi.prototype.createDivPoint=function(o,A,f){return new lH(this._viewer,this._cesium).createDivPoint(o,A,f)};Hi.prototype.createRichTextPoint=function(o,A,f,m){return this._Point.createRichTextPoint(o,A,f,m)};Hi.prototype.SkyBox=function(o,A){return this._skyBox.SkyBox(o,A)};Hi.prototype.setSpaceBackground=function(o){return this._skyBox.setSpaceBackground(o)};Hi.prototype.createWindField=function(o,A){return this._flowField.createWindField(o,A)};Hi.prototype.createField=function(o,A){return this._canvasField.createField(o,A)};Hi.prototype.createRoad=function(o={}){return new igt(this._viewer,this._cesium).createRoad(o)};Hi.prototype.createTrailLinePath=function(o,A,f){return this._trailLine.createPath(o,A,f)};Hi.prototype.createFlyingLine=function(o,A){return this._trailLine.createFlyingLine(o,A)};Hi.prototype.createTrailLineWall=function(o,A){return this._trailLine.createWall(o,A)};Hi.prototype.createTrailLine=function(o,A){return this._trailLine.createLine(o,A)};Hi.prototype.createModel=function(o,A,f,m,C,E){var x=new Zw(this._viewer,this._cesium);return x.createModel(o,A,f,m,C,E)};Hi.prototype.createModelEditable=function(o,A,f,m,C,E){var x=new Zw(this._viewer,this._cesium);return x.createModelEditable(o,A,f,m,C,E)};Hi.prototype.createPointModel=function(o,A){return this._PointModel.createPointModel(o,A)};Hi.prototype.executePolyline=function(o){var A=new Ng(this._viewer,this._cesium);return A.executePolyline(o)};Hi.prototype.executePolygon=function(o){var A=new Fg(this._viewer,this._cesium);return A.executePolygon(o)};Hi.prototype.executeWall=function(o,A){var f=new Kk(this._viewer,this._cesium);return f.executeWall(o,A)};Hi.prototype.createWall=function(o,A,f,m){var C=new Kk(this._viewer,this._cesium);return C.createWall(o,A,f,m)};Hi.prototype.executePolyline1=function(o){var A=new Ng(this._viewer,this._cesium);return A.executePolyline1(method)};Hi.prototype.createPolylineVolume=function(o,A,f,m,C){var E=new Jle(this._viewer,this._cesium);return E.createPolylineVolume(o,A,f,m,C)};Hi.prototype.createCorridor=function(o,A,f,m){var C=new Rft(this._viewer,this._cesium);return C.createCorridor(o,A,f,m)};Hi.prototype.addViewCone=function(o){return new YR(this._viewer,this._cesium).addViewCone(o)};Hi.prototype.createViewCone=function(o,A){return new YR(this._viewer,this._cesium).createViewCone(o,A)};Hi.prototype.createModifyMesh=function(o,A,f,m,C){return this.createModelClipping(m,{type:"polygon",isInner:!0,positions:A})};Hi.prototype.createModelClipping=function(o,A){var f=new ogt(this._viewer,this._cesium);return f.addClipping(o,A)};Hi.prototype.createModelModifier=function(o,A,f,m){let C=[];return this._D3Tilesets&&this._D3Tilesets.forEach((E,x)=>{let y=this.createModifyMesh(o,A,f,E,m);C.push(y)}),{remove:()=>{C.forEach((E,x)=>{E.remove()}),C=[]}}};Hi.prototype.createPopupMessage=function(o){var A=new kI(this._viewer,this._cesium);return A.createPopupMessage(o)};Hi.prototype.createMeasurement=function(o){var A=new kI(this._viewer,this._cesium);return A.createMeasurement(o)};Hi.prototype.createPlotting=function(o){var A=new kI(this._viewer,this._cesium);return A.createPlotting(o)};Hi.prototype.createPopupProp=function(o,A){return this._popupmessage.createPopupProp(o,A)};Hi.prototype.createModelLibrary=function(o){return this._popupmessage.createModelLibrary(o)};Hi.prototype.createHawkeye=function(o,A){var f=new ngt(this._viewer,this._cesium);return f.createHawkeye(o,A)};Hi.prototype.createGeoJsonFeatureLayer=function(o,A,f,m,C){var E=new Rc(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createGeoJsonFeatureLayer(o,A,f,m,C)};Hi.prototype.createBillboardGeoJsonFeature=function(o,A,f,m,C,E){var x=new Rc(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createBillboardGeoJsonFeature(o,A,f,m,C,E)};Hi.prototype.createBillboardPointGeoJsonFeatureLayer=function(o,A,f,m,C){var E=new OK(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createBillboardPointGeoJsonFeatureLayer(o,A,f,m,C)};Hi.prototype.createKmlLayer=function(o,A,f){var m=new sRe(this._viewer,this._cesium);return m.createKmlLayer(o,A,f)};Hi.prototype.addKmlLayer=function(o,A,f,m){var C=new sRe(this._viewer,this._cesium);return C.addKmlLayer(o,A,f,m)};Hi.prototype.createVolumeVectorGeoJsonFeatureLayerArcgis=function(o,A,f,m,C){var E=new jae(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createVolumeVectorGeoJsonFeatureLayer(o,A,f,m,C)};Hi.prototype.createBillboardGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x=new OK(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createBillboardGeoJsonFeatureLayerProvider(o,A,f,m,C,E)};Hi.prototype.createPointGeojsonFeatureLayer=function(o,A,f,m,C,E){var x=new Rc(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createPointGeojsonFeatureLayer(o,A,f,m,C,E)};Hi.prototype.createModelGeojsonFeatureLayer=function(o,A,f,m,C,E){var x=new Rc(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createModelGeojsonFeatureLayer(o,A,f,m,C,E)};Hi.prototype.createCirclePointGeoJsonFeatureLayer=function(o,A,f,m,C){var E=new Rc(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createCirclePointGeoJsonFeatureLayer(o,A,f,m,C)};Hi.prototype.createModelPointGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x=new Rc(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createModelPointGeoJsonFeatureLayer(o,A,f,m,C,E)};Hi.prototype.createPrimitivLabelPointGeoJsonFeatureLayer=function(o,A,f,m,C){var E=new bC(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createLabelPointGeoJsonFeatureLayer(o,A,f,m,C)};Hi.prototype.createLabelPointGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x=new Rc(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createLabelPointGeoJsonFeatureLayer(o,A,f,m,C,E)};Hi.prototype.createSXTLabelGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x=new bC(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createSXTLabelGeoJsonFeatureLayerProvider(o,A,f,m,C,E)};Hi.prototype.createCustomCallbackGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E,x){var y=new bC(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,y.createCustomCallbackGeoJsonFeatureLayerProvider(o,A,f,m,C,x,E)};Hi.prototype.createLabelPolymerizationGeoJsonFeatureLayer=function(o,A,f,m,C){var E=new bC(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createLabelPolymerizationGeoJsonFeatureLayer(o,A,f,m,C)};Hi.prototype.createPointPolymerizationGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x=new bC(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createPointPolymerizationGeoJsonFeatureLayer(o,A,f,m,C,E)};Hi.prototype.createLabelpolymerizationGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x=new bC(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createLabelpolymerizationGeoJsonFeatureLayer(o,A,f,m,C,E)};Hi.prototype.createLabelpolymerizationGeoJsonFeatureLayers=function(o,A,f,m,C,E){var x=new bC(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createLabelpolymerizationGeoJsonFeatureLayers(o,A,f,m,C,E)};Hi.prototype.createStreetscapeGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x=new Rc(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createStreetscapeGeoJsonFeatureLayer(o,A,f,m,C,E)};Hi.prototype.createPrimitiveLabelGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x=new bC(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createLabelGeoJsonFeatureLayerProvider(o,A,f,m,C,E)};Hi.prototype.createLabelImageGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x=new bC(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createLabelImageGeoJsonFeatureLayerProvider(o,A,f,m,C,E)};Hi.prototype.createLabelImageGeoJsonFeatureLayerProvider1=function(o,A,f,m,C,E){var x=new bC(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createLabelImageGeoJsonFeatureLayerProvider1(o,A,f,m,C,E)};Hi.prototype.createLabelRichtextGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x=new bC(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createLabelRichtextGeoJsonFeatureLayerProvider(o,A,f,m,C,E)};Hi.prototype.createModelGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x=new Ec(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createModelGeoJsonFeatureLayerProvider(o,A,f,m,C,E)};Hi.prototype.createPointGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x=new Ec(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createPointGeoJsonFeatureLayerProvider(o,A,f,m,C,E)};Hi.prototype.createArcGisImageryLayer=function(o,A,f,m,C,E){var x=new rM(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,x.createArcGisImageryLayer(o,A,f,m,C,E)};Hi.prototype.createImageryLayerGrid=function(o){var A=new rM(this._viewer,this._cesium);return A.createImageryLayerGrid(o)};Hi.prototype.createWebMapServerImageLayer=function(o,A,f,m,C,E){var x=new rM(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,x.createWebMapServerImageLayer(o,A,f,m,C,E)};Hi.prototype.createWebMapTileServerImageLayer=function(o,A,f,m,C,E){var x=new rM(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,x.createWebMapTileServerImageLayer(o,A,f,m,C,E)};Hi.prototype.createUrlTemplateImageryProvider=function(o,A,f,m,C,E){var x=new rM(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,x.createUrlTemplateImageryProvider(o,A,f,m,C,E)};Hi.prototype.createCirclePointGeoJsonFeatureLayer=function(o,A,f,m,C){var E=new Rc(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createCirclePointGeoJsonFeatureLayer(o,A,f,m,C)};Hi.prototype.createPolylineGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x=new Rc(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createPolylineGeoJsonFeatureLayer(o,A,f,m,C,E)};Hi.prototype.createPrimitivePolylineGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x=new YT(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createPolylineGeoJsonFeatureLayer(o,A,f,m,C,E)};Hi.prototype.createPrimitiveGroundPolylineGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x=new YT(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createGroundPolylineGeoJsonFeatureLayer(o,A,f,m,C,E)};Hi.prototype.exectPointModel=function(o,A,f,m,C,E){var x=new Zw(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.exectPointModel(o,A,f,m,C,E)};Hi.prototype.createPolygonModel=function(o,A,f,m,C,E){var x=new Zw(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createPolygonModel(o,A,f,m,C,E)};Hi.prototype.modelMove=function(){var o=new Zw(this._viewer,this._cesium);return o.modelMove()};Hi.prototype.createPrimitivePolylineVectorGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x=new YT(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createPolylineVectorGeoJsonFeatureLayerProvider(o,A,f,m,C,E)};Hi.prototype.createPolylineVectorGeoJsonFeatureLayerProviderModel=function(o,A,f,m,C,E){var x=new YT(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createPolylineVectorGeoJsonFeatureLayerProviderModel(o,A,f,m,C,E)};Hi.prototype.createpolylineVolumeGeojsonFeatureLayer=function(o,A,f,m,C,E){var x=new Rc(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createpolylineVolumeGeojsonFeatureLayer(o,A,f,m,C,E)};Hi.prototype.createpolylineVolumeGeojsonPrimitiveLayer=function(o,A,f,m,C,E){var x=new Rc(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createpolylineVolumeGeojsonPrimitiveLayer(o,A,f,m,C,E)};Hi.prototype.createVolumeGeoJsonFeatureLayer=function(o,A,f,m,C){var E=new NW(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createVolumeGeoJsonFeatureLayer(o,A,f,m,C)};Hi.prototype.createVolumeGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x=new NW(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createVolumeGeoJsonFeatureLayerProvider(o,A,f,m,C,E)};Hi.prototype.createVolumeVectorGeoJsonFeatureLayerOptimizations=function(o,A,f,m,C,E){var x=new NW(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createVolumeVectorGeoJsonFeatureLayerOptimization(o,A,f,m,C,E)};Hi.prototype.createVolumeVectorGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x=new NW(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createVolumeVectorGeoJsonFeatureLayer(o,A,f,m,C,E)};Hi.prototype.createPolygonVectorGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x=new kW(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createVolumeVectorGeoJsonFeatureLayer(o,A,f,m,C,E)};Hi.prototype.createVolumeVectorGeoJsonFeatureLayerOptimization=function(o,A,f,m,C,E){var x=new kW(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createVolumeVectorGeoJsonFeatureLayerOptimization(o,A,f,m,C,E)};Hi.prototype.createVolumeVectorGeoJsonFeatureLayersd=function(o,A,f,m,C,E){var x=new kW(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createVolumeVectorGeoJsonFeatureLayersd(o,A,f,m,C,E)};Hi.prototype.createWallGeoFeatureLayer=function(o,A,f,m,C,E){var x=new Rc(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createWallGeoFeatureLayer(o,A,f,m,C,E)};Hi.prototype.createWallPrimitiveGeoFeatureLayer=function(o,A,f,m,C,E){var x=new UK(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createWallPrimitiveGeoFeatureLayer(o,A,f,m,C,E)};Hi.prototype.createWallGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x=new UK(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createWallGeoJsonFeatureLayerProvider(o,A,f,m,C,E)};Hi.prototype.createImageryProvider=function(o,A,f,m,C,E,x){var y=new rM(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,y.createImageryProvider(o,A,f,m,C,E,x)};Hi.prototype.createCacheImageryProvider=function(o,A,f,m,C,E){var x=new rM(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,x.createCacheImageryProvider(o,A,f,m,C,E)};Hi.prototype.createterrainProvider=function(o,A,f,m){return this._TerrainProvider.createterrainProvider(o,A,f,m)};Hi.prototype.createPolylineImageryProviderer=function(o,A,f,m){return this._ImageryLayer.createPolylineImageryProviderer(o,A,f,m)};Hi.prototype.createMVTWithStyle=function(o,A,f,m){return this._ImageryLayer.createMVTWithStyle(o,A,f,m)};Hi.prototype.createPolygonGeoJsonFeatureLayer=function(o,A,f,m,C,E){var x=new Rc(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createPolygonGeoJsonFeatureLayer(o,A,f,m,C,E)};Hi.prototype.createPolygonGeoJsonFeatureLayer1=function(o,A,f,m,C){var E=new $w(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createPolygonGeoJsonFeatureLayer(o,A,f,m,C)};Hi.prototype.createPolygonVectorGeoJsonFeatureLayerProvider=function(o,A,f,m,C,E){var x=new $w(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createPolygonVectorGeoJsonFeatureLayerProvider(o,A,f,m,C,E)};Hi.prototype.createVolumeVectorGeoJsonFeatureLayerDth=function(o,A,f,m,C,E){var x=new kW(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createVolumeVectorGeoJsonFeatureLayerDth(o,A,f,m,C,E)};Hi.prototype.createPolygonVectorGeoJsonFeatureLayerProviderModel=function(o,A,f,m,C,E){var x=new $w(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createPolygonVectorGeoJsonFeatureLayerProviderModel(o,A,f,m,C,E)};Hi.prototype.createPolygonVectorGeoJsonFeatureLayerProviderls=function(o,A,f,m,C,E){var x=new $w(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createPolygonVectorGeoJsonFeatureLayerProviderls(o,A,f,m,C,E)};Hi.prototype.createPolygonVectorGeoJsonFeatureLayerProviderlsd=function(o,A,f,m,C,E){var x=new $w(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createPolygonVectorGeoJsonFeatureLayerProviderlsd(o,A,f,m,C,E)};Hi.prototype.createArcgisPolygonVectorGeoJsonFeatureLayerProviderls=function(o,A,f,m,C,E){var x=new $w(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,x.createArcgisPolygonVectorGeoJsonFeatureLayerProviderls(o,A,f,m,C,E)};Hi.prototype.createPolygonVectorFeatureLayerProvider=function(o,A,f,m,C){var E=new $w(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createPolygonVectorFeatureLayerProvider(o,A,f,m,C)};Hi.prototype.createPolygonVectorMonomerFeatureLayerProvider=function(o,A,f,m,C){var E=new $w(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createPolygonVectorMonomerFeatureLayerProvider(o,A,f,m,C)};Hi.prototype.createPolygonMapGeoJsonFeatureLayer=function(o,A,f,m,C,E){return this._MapGeoJsonFeatureLayer.createPolygonMapGeoJsonFeatureLayer(o,A,f,m,C,E)};Hi.prototype.createGeoJsonDataSource=function(o,A,f,m,C){var E=new Rc(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createGeoJsonDataSource(o,A,f,m,C)};Hi.prototype.DeleteObject=function(o){if(this._core.isnull(o._viewer)){console.log("obj is null");return}o.deleteObject();for(var A in o)delete o[A];o=void 0};Hi.prototype.createCircle=function(o,A,f,m){var C=new OQ(this._viewer,this._cesium);return C.createCircle(o,A,f,m)};Hi.prototype.CreateRectangle=function(o,A,f,m,C){var E=new Ww(this._viewer,this._cesium);return E.CreateRectangle(o,A,f,m,C)};Hi.prototype.createBox=function(o,C,f,m){var C=new qT(this._viewer,this._cesium);return C.createBox(o,C,f,m)};Hi.prototype.createBillboardbatch=function(o){var A=new aRe(this._viewer,this._cesium);return A.createBillboardbatch(o)};Hi.prototype.createBillboard=function(o){var A=new aRe(this._viewer,this._cesium);return A.createBillboard(o)};Hi.prototype.createCone=function(o,A,f,m){var C=new yp(this._viewer,this._cesium);return C.createCone(o,A,f,m)};Hi.prototype.createRectangularSensor=function(o,A,f,m){var C=new yp(this._viewer,this._cesium);return C.createRectangularSensor(o,A,f,m)};Hi.prototype.createRadarMaskScan=function(o,A,f,m){var C=new yp(this._viewer,this._cesium);return C.createRadarMaskScan(o,A,f,m)};Hi.prototype.ConicSensor=function(o,A,f){var m=new rse(this._viewer,this._cesium);return m.create(o,A,f)};Hi.prototype.FieldIntensity=function(o,A){var f=new fse(this._viewer,this._cesium);return f.create(o,A)};Hi.prototype.createRadarMask=function(o,A,f,m){var C=new yp(this._viewer,this._cesium);return C.createRadarMask(o,A,f,m)};Hi.prototype.createConeRadar=function(o,A){var f=new yp(this._viewer,this._cesium);return f.createConeRadar(o,A)};Hi.prototype.createColor=function(o,A,f,m){var C=new In(this._viewer,this._cesium);return C.createColor(o,A,f,m)};Hi.prototype.createPolyline=function(o,A,f,m,C){var E=new Ng(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createPolyline(o,A,f,this._core.isnull(m)?0:m,C)};Hi.prototype.createLink=function(o,A,f){var m=new Ng(this._viewer,this._cesium);return m.createLink(o,A,f)};Hi.prototype.createLinkPro=function(o,A,f){var m=new Ng(this._viewer,this._cesium);return m.createLinkPro(o,A,f)};Hi.prototype.createLandingLine=function(o,A={}){var f=new Ng(this._viewer,this._cesium);return f.createLandingLine(o,A)};Hi.prototype.createLinkPros=function(o){var A=new Ng(this._viewer,this._cesium);return A.createLinkPros(o)};Hi.prototype.createPathLayer=function(o){return this._trailLine.createPathLayer(o)};Hi.prototype.createTrailWallLayer=function(o){return this._trailLine.createWallLayer(o)};Hi.prototype.createPolygon=function(o,A,f,m,C){var E=new Fg(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.createPolygon(o,A,f,m,C)};Hi.prototype.createSector=function(o,A,f,m,C){var E=new Fg(this._viewer,this._cesium);return E.createSector(o,A,f,m,C)};Hi.prototype.executeEllipsoid=function(o,C,f,m){var C=new VR(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,C.createEllipsoid(o,C,f,m)};Hi.prototype.createImageLabel=function(o,A,f,m){var C=new eL(this._viewer,this._cesium);return this._core.isnull(f)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(f=Ke.selectedItem.id),f=this._core.isnull(f)?0:f,C.createImageLabel(o,A,f,m)};Hi.prototype.toHtmlColor=function(o){return this._Color.toHtmlColor(o)};Hi.prototype.CreateLabel=function(o,A,f,m,C,E){var x=new XT(this._viewer,this._cesium);return this._core.isnull(C)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(C=Ke.selectedItem.id),C=this._core.isnull(C)?0:C,x.CreateLabel(o,A,f,m,C,E)};Hi.prototype.CreateImageLabel=function(o,A,f,m,C){var E=new eL(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.CreateImageLabel(o,A,f,m,C)};Hi.prototype.createImage=function(o,A,f,m,C){var E=new eL(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.CreateImageLabel(o,A,f,m,C)};Hi.prototype.CreatePolyline=function(o,A,f,m,C){var E=new Ng(this._viewer,this._cesium);return this._core.isnull(m)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(m=Ke.selectedItem.id),m=this._core.isnull(m)?0:m,E.CreatePolyline(o,A,f,m,C)};Hi.prototype.CreateCircle=function(o,A,f,m,C,E){var x=new OQ(this._viewer,this._cesium);return this._core.isnull(C)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(C=Ke.selectedItem.id),C=this._core.isnull(C)?0:C,x.CreateCircle(o,A,f,m,C,E)};Hi.prototype.CreateEllipse=function(o,A,f,m,C,E,x,y){var I=new OQ(this._viewer,this._cesium);return this._core.isnull(x)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(x=Ke.selectedItem.id),x=this._core.isnull(x)?0:x,I.CreateEllipse(o,A,f,m,C,E,x,y)};Hi.prototype.CreateBox=function(o,A,f,m,C,E,x,y){var I=new qT(this._viewer,this._cesium);return this._core.isnull(x)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(x=Ke.selectedItem.id),x=this._core.isnull(x)?0:x,I.CreateBox(o,A,f,m,C,E,x,y)};Hi.prototype.CreatePosition=function(o,A,f,m,C,E,x,y){var I=new KPe(this._viewer,this._cesium);return I.CreatePosition(o,A,f,m,C,E,x,y)};Hi.prototype.createColor=function(o,A,f,m){var C=new In(this._viewer,this._cesium);return C.CreateColor(o,A,f,m)};Hi.prototype.CreateCone=function(o,A,f,m,C,E,x,y){var I=new yp(this._viewer,this._cesium);return this._core.isnull(x)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(x=Ke.selectedItem.id),x=this._core.isnull(x)?0:x,I.CreateCone(o,A,f,m,C,E,x,y)};Hi.prototype.CreateCylinder=function(o,A,f,m,C,E,x,y){var I=new yp(this._viewer,this._cesium);return this._core.isnull(x)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(x=Ke.selectedItem.id),x=this._core.isnull(x)?0:x,I.CreateCylinder(o,A,f,m,C,E,x,y)};Hi.prototype.CreateSphere=function(o,A,f,m,C,E,x,y){var I=new VR(this._viewer,this._cesium);return this._core.isnull(x)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(x=Ke.selectedItem.id),x=this._core.isnull(x)?0:x,I.CreateSphere(o,A,f,m,C,E,x,y)};Hi.prototype.createPointOptimization=function(o,A){var f=new LI(this._viewer,this._cesium);return f.createPointOptimization(o,A)};Hi.prototype.createRectangleOptimization=function(o,A){var f=new Ww(this._viewer,this._cesium);return f.createRectangleOptimization(o,A)};Hi.prototype.createCircleOptimization=function(o,A){var f=new OQ(this._viewer,this._cesium);return f.createCircleOptimization(o,A)};Hi.prototype.createCylinderOptimization=function(o,A){var f=new yp(this._viewer,this._cesium);return f.createCylinderOptimization(o,A)};Hi.prototype.createPointOptimization=function(o,A){var f=new LI(this._viewer,this._cesium);return f.createPointOptimization(o,A)};Hi.prototype.CreatePolygonEdit=function(){return this._core.EntityEdit(this._viewer,this._cesium)};Hi.prototype.CreateVectorImageFeatureLayer=function(o,A,f,m,C,E,x){var y=new this._VectorImgFeatureLayer(this._viewer,this._cesium);return this._core.isnull(C)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(C=Ke.selectedItem.id),C=this._core.isnull(C)?0:C,y.CreateVectorImageFeatureLayer(o,A,f,m,C,E,x)};Hi.prototype.CreateWMSImageFeatureLayer=function(o,A,f,m,C,E,x){var y=new this._VectorImgFeatureLayer(this._viewer,this._cesium);return this._core.isnull(C)&&!this._core.isnull(Ke.selectedItem)&&Ke.selectedItem.type=="group"&&(C=Ke.selectedItem.id),C=this._core.isnull(C)?0:C,y.CreateWMSImageFeatureLayer(o,A,f,m,C,E,x)};Hi.prototype.createVolumetricMeasureTool=function(){var o=new nae(this._viewer,this._cesium);return o};Object.defineProperties(Hi.prototype,{SimpleGraphic:{get:function(){return this._SimpleGraphic}},GeoJsonFeatureLayer:{get:function(){return this._GeoJsonFeatureLayer}},MilitaryPlotting:{get:function(){return this._straightArrow}},_D3Tileset:{get:function(){return new Xw(this._viewer,this._cesium)}}});Object.defineProperties(Hi.prototype,{_trailLine:{get:function(){return new KT(this._viewer,this._cesium)}}});Object.defineProperties(Hi.prototype,{_Point:{get:function(){return new LI(this._viewer,this._cesium)}},GeometryCreator:{CreateLinearRingGeometry:function(o){return{}}}});var eue=Hi;function ARe(o,A){this._viewer=o,this._cesium=A,this._tree=Ke.getSource()}ARe.prototype.deleteItem=function(o){Ke.delete(o,this._viewer,this._cesium)};ARe.prototype.testTreeSource=function(){console.log(this._tree)};var xgt=ARe;function ygt(o,A){this._viewer=o,this._cesium=A,this._tree=Ke.getSource()}ygt.prototype.findItem=function(o){var A=[],f="",m=bi.clone(this._tree);A=o.split("\\");for(var C=0;C<A.length;C++)if(m=Ke.getSourceByName(m,A[C]),C==A.length-1)if(m){f=m.id;break}else f="";else if(m)m=m.children;else{f="",m=null;break}return f};var Igt=ygt;function _gt(o,A){this._viewer=o,this._cesium=A,this._tree=Ke.getSource()}_gt.prototype.getItemName=function(o){var A=Ke.getSourceById(this._tree,o);return A?A.name:""};var vgt=_gt;function Bgt(o,A){this._viewer=o,this._cesium=A,this._tree=Ke.getSource()}Bgt.prototype.getVisibility=function(o){var A=A=Ke.getSourceById(this._tree,o);if(A)return A.item.getVisibility()};var wgt=Bgt;function bgt(o,A){this._viewer=o,this._cesium=A,this._tree=Ke.getSource()}bgt.prototype.setVisibility=function(o,A){Ke.setVisibility(o,A,this._viewer,this._cesium)};var Qgt=bgt;function Sgt(o,A){this._viewer=o,this._cesium=A,this._tree=Ke.getSource()}Sgt.prototype.rename=function(o,A){var f=Ke.getSourceById(this._tree,o);f&&(f.name=A);var m=Ke.getTempSourceById(o);m&&(m.name=A)};var Dgt=Sgt;function Tgt(o,A){this._viewer=o,this._cesium=A,this._tree=Ke.getSource()}Tgt.prototype.getNextItem=function(o,A){};var Mgt=Tgt;var F5i={none:-1,point:0,polyline:1,polygon:2,label:3,imageLabel:4,position:5,imageLayer:6,dynamicObject:7,D3titles:8,box:9,circle:10,cone:11,pointfeaturelayer:12,polylinefeaturelayer:13,polygonfeaturelayer:14,pointmodel:15,rectangle:16,ellipsoid:17,wall:18,polylinevolume:19},xd=Object.freeze(F5i);function ZH(o,A){this._viewer=o,this._cesium=A,this._tree=Ke.getSource(),this._treeSource=Ke.Source,this._treeTemp=Ke.getTempSource(),this._tree1=Ke,this._core=new $i(o,A)}ZH.prototype.getObject=function(o){var A=bi.clone(this._tree),f=Ke.getSourceById(A,o);if(f)return f.item;var m=bi.clone(Ke.PointSelectSource),C=Ke.getPointSelectSourceById(m,o);return C?C.item:void 0};ZH.prototype.getTreeItem=function(o){var A=bi.clone(this._tree),f=Ke.getSourceById(A,o);if(f)return f;for(var m=this._viewer.dataSources,C=0;C<m.length;C++){var E=m.get(C).entities.getById(o);if(E){if(E.point&&(E.point.show==null||E.point.show._value)){var x=new LI(this._viewer,this._cesium);x.setItem(E);var y={id:this._core.getuid(),name:"",pId:0,type:"point",item:x};return Ke.pusPointSelectSource(y),y}else if(E.label&&(E.label.show==null||E.label.show._value)){var x=new XT(this._viewer,this._cesium);x.setItem(E);var y={id:this._core.getuid(),name:"",pId:0,type:"label",item:x};return Ke.pusPointSelectSource(y),y}else if(E.box&&(E.box.show==null||E.box.show._value)){var I=new qT(this._viewer,this._cesium);I.setItem(E);var y={id:this._core.getuid(),name:"",pId:0,type:"box",item:I};return Ke.pusPointSelectSource(y),y}else if(E.model&&(E.model.show==null||E.model.show._value)){var x=new model(this._viewer,this._cesium);x.setItem(E);var y={id:this._core.getuid(),name:"",pId:0,type:"model",item:x};return Ke.pusPointSelectSource(y),y}else if(E.wall&&(E.wall.show==null||E.wall.show._value)){var v=new Kk(this._viewer,this._cesium);v.setItem(E);var y={id:this._core.getuid(),name:"",pId:0,type:"wall",item:v};return Ke.pusPointSelectSource(y),y}else if(E.polyline){var B=new Ng(this._viewer,this._cesium);B.setItem(E);var y={id:this._core.getuid(),name:"",pId:0,type:"polyline",item:B};return Ke.pusPointSelectSource(y),y}else if(E.polygon){var Q=new Fg(this._viewer,this._cesium);Q.setItem(E);var y={id:this._core.getuid(),name:"",pId:0,type:"polygon",item:Q};return Ke.pusPointSelectSource(y),y}else if(E.rectangle){var T=new Ww(this._viewer,this._cesium);T.setItem(E);var y={id:this._core.getuid(),name:"",pId:0,type:"rectangle",item:T};return Ke.pusPointSelectSource(y),y}else if(E.billboard&&(E.billboard.show==null||E.billboard.show._value)){var x=new eL(this._viewer,this._cesium);x.setItem(E);var y={id:this._core.getuid(),name:"",pId:0,type:"billboard",item:x};return Ke.pusPointSelectSource(y),y}}}};ZH.prototype.updateItemId=function(o,A){var m=this._treeSource,C=Ke.getSourceById(m,o);if(C&&(C.id=A,C.type=="group"&&C.children&&C.children.length>0))for(var f=0;f<C.children.length;f++)C.children[f].pId=A;var m=this._treeTemp,C=Ke.getSourceById(m,o);if(C&&(C.id=A,C.type=="group"&&C.children&&C.children.length>0))for(var f=0;f<C.children.length;f++)C.children[f].pId=A};ZH.prototype.unifiedProject=function(o,A){for(var f=0;f<A.length;f++)A[f].id=o[f].id,A[f].pId=A[f].pId,A[f].children&&A[f].children.length>0&&this.unifiedProject(o[f].children,A[f].children)};ZH.prototype.insertProjectTree=function(o,A,f,m,C){var E=!0;if(this._core.isnull(A)&&(A=this._core.getuid()),C==!1?E=!1:E=!0,xd.none==f){var x={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"unknown",item:null};Ke.insertGroupId(x,o)}else if(xd.position==f){var x={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"unknown",item:null};Ke.insertGroupId(x,o)}else if(xd.imageLayer==f){var x={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,checked:E,type:"unknown",item:null};Ke.insertGroupId(x,o)}else if(xd.dynamicObject==f){var x={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"unknown",item:null};Ke.insertGroupId(x,o)}else if(xd.point==f){var y=new LI(this._viewer,this._cesium);y.setItem(m);var x={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"point",item:y};y.setTreeobj(x),Ke.insertGroupId(x,o)}else if(xd.polyline==f){var I=new Ng(this._viewer,this._cesium);I.setItem(m);var x={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"polyline",item:I};I.setTreeobj(x),Ke.insertGroupId(x,o)}else if(xd.rectangle==f){var v=new Ww(this._viewer,this._cesium);v.setItem(m);var x={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"rectangle",item:v};v.setTreeobj(x),Ke.insertGroupId(x,o)}else if(xd.ellipsoid==f){var B=new VR(this._viewer,this._cesium);B.setItem(m);var x={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"ellipsoid",item:B};B.setTreeobj(x),Ke.insertGroupId(x,o)}else if(xd.polygon==f){var Q=new Fg(this._viewer,this._cesium);m._entity?(Q.setItem(m._entity),Q._points=m._points):Q.setItem(m);var x={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"polygon",item:Q};Q.setTreeobj(x),Ke.insertGroupId(x,o)}else if(xd.wall==f){var T=new Kk(this._viewer,this._cesium);T.setItem(m);var x={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"wall",item:T};T.setTreeobj(x),Ke.insertGroupId(x,o)}else if(xd.polylinevolume==f){var w=new Jle(this._viewer,this._cesium);w.setItem(m);var x={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"polylinevolume",item:w};w.setTreeobj(x),Ke.insertGroupId(x,o)}else if(xd.pointmodel==f){var S=new Zw(this._viewer,this._cesium);S.setItem(m);var x={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"pointmodel",item:S};S.setTreeobj(x),Ke.insertGroupId(x,o)}else if(xd.label==f){var y=new XT(this._viewer,this._cesium);y.setItem(m);var x={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"label",item:y};y.setTreeobj(x),Ke.insertGroupId(x,o)}else if(xd.imageLabel==f){var y=new eL(this._viewer,this._cesium);y.setItem(m);var x={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,checked:E,type:"billboard",item:y};y.setTreeobj(x),Ke.insertGroupId(x,o)}else if(xd.D3titles==f){var D=new Xw(this._viewer,this._cesium);D.setItem(m);var x={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"3DTilesets",item:D};D.setTreeobj(x),Ke.insertGroupId(x,o)}else if(xd.box==f){var R=new qT(this._viewer,this._cesium);R.setItem(m);var x={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"box",item:R};R.setTreeobj(x),Ke.insertGroupId(x,o)}else if(xd.circle==f){var P=new OQ(this._viewer,this._cesium);P.setItem(m);var x={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"circle",item:P};P.setTreeobj(x),Ke.insertGroupId(x,o)}else if(xd.cone==f){var M=new yp(this._viewer,this._cesium);M.setItem(m);var x={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"cylinder",item:M};M.setTreeobj(x),Ke.insertGroupId(x,o)}else if(xd.pointfeaturelayer==f){var L=new Rc(this._viewer,this._cesium);L.setItem(m);var x={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"pointLayer",item:L};Ke.insertGroupId(x,o)}else if(xd.pointfeaturelayer==f){var L=new Rc(this._viewer,this._cesium);L.setItem(m);var x={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"polylineLayer",item:L};Ke.insertGroupId(x,o)}else if(xd.polygonfeaturelayer==f){var L=new Rc(this._viewer,this._cesium);L.setItem(m);var x={id:m&&m.id?m.id:this._core.getuid(),name:A,pId:o,type:"polygonLayer",item:L};Ke.insertGroupId(x,o)}return x};var Pgt=ZH;function Rgt(o,A){this._viewer=o,this._cesium=A,this._tree=Ke.getSource()}Rgt.prototype.isGroup=function(o){var A=bi.clone(this._tree),f=Ke.getSourceById(A,o);return!!(f&&f.type=="group")};var Lgt=Rgt;function cRe(o,A){this._viewer=o,this._cesium=A}cRe.prototype.exportMethod=function(o){for(var A=[],f=0;f<o.length;f++)if(typeof o[f].item.export=="function"){var m=o[f].item.export();if(A.push(m),o[f].children&&o[f].children.length){var C=this.exportMethod(o[f].children);A.push(C)}}return A};cRe.prototype.export=function(){var o=this.exportMethod(Ke.Source);return o};var Fgt=cRe;function yA(o,A,f){this._viewer=o,this._cesium=A,this._tree=Ke.Source,this._createGroup=new Ek(this._viewer,this._cesium,this._tree),this._deleteItem=new xgt(this._viewer,this._cesium,this._tree),this._findItem=new Igt(this._viewer,this._cesium,this._tree),this._getItemName=new vgt(this._viewer,this._cesium,this._tree),this._getVisibility=new wgt(this._viewer,this._cesium,this._tree),this._setVisibility=new Qgt(this._viewer,this._cesium,this._tree),this._renameGroup=new Dgt(this._viewer,this._cesium,this._tree),this._getNextItem=new Mgt(this._viewer,this._cesium,this._tree),this._isGroup=new Lgt(this._viewer,this._cesium,this._tree),this._creator=new eue(this._viewer,this._cesium),this._getObject=new Pgt(this._viewer,this._cesium),this._exportTree=new Fgt(this._viewer,this._cesium),this._core=new $i(o,A),this.InitTree(f,0),this.InitRootImageLayerAndTerrainlayer()}yA.prototype.export=function(){var o=this._exportTree.export(),A=new Blob([JSON.stringify(o)],{type:""});return this._core.saveAs(A,"tree.json"),o};yA.prototype.createGroup=function(o,A,f){return this._createGroup=new Ek(this._viewer,this._cesium),this._createGroup.createGroup(o,A,f)};yA.prototype.changeGroup=function(o,A){this._createGroup.changeGroup(o,A)};yA.prototype.starttemporaryItem=function(){return this._createGroup.starttemporaryItem()};yA.prototype.pushtemporaryItem=function(o){this._createGroup.pushtemporaryItem(o)};yA.prototype.pushStateItem=function(o){this._createGroup.pushStateItem(o)};yA.prototype.endtemporaryItem=function(){this._createGroup.endtemporaryItem()};yA.prototype.deleteItem=function(o){return this._deleteItem.deleteItem(o)};yA.prototype.findItem=function(o){return this._findItem.findItem(o)};yA.prototype.getItemName=function(o){return this._getItemName.getItemName(o)};yA.prototype.getObject=function(o){return this._getObject.getObject(o)};yA.prototype.getTreeItem=function(o){return this._getObject.getTreeItem(o)};yA.prototype.updateItemId=function(o,A){return this._getObject.updateItemId(o,A)};yA.prototype.getVisibility=function(o){return this._getVisibility.getVisibility(o)};yA.prototype.setVisibility=function(o,A){return this._setVisibility.setVisibility(o,A)};yA.prototype.removeAll=function(o){let A=[];this._viewer.entities.values.forEach(f=>{f.objectType===o&&A.push(f)}),A.forEach(f=>{this._viewer.entities.remove(f)}),A=null};yA.prototype.setVisibilityAll=function(o,A){this._viewer.entities.values.forEach(f=>{f.objectType===o&&(f.show=A)})};yA.prototype.rename=function(o,A){return this._renameGroup.rename(o,A)};yA.prototype.getNextItem=function(o,A){return this._getNextItem.getNextItem(o)};yA.prototype.isGroup=function(o){return this._isGroup.isGroup(o)};Object.defineProperties(yA.prototype,{exitsObjectType:{get:function(){return xd}}});yA.prototype.insertProjectTree=function(o,A,f,m,C,E){return this._core.isnull(o)&&!this._core.isnull(this._tree.selectedItem)&&this._tree.selectedItem.type=="group"&&(o=this._tree.selectedItem.id),o=this._core.isnull(o)?0:o,this._core.isnull(A)||(o=this.createGroup(A,!0,o)),this._getObject.insertProjectTree(o,f,m,C,E)};yA.prototype.exitsGroup=function(o,A){return Ke.exitsGroup(o,A)};yA.prototype.getTreeSource=function(){var o=bi.cloneDeep(Ke.getSource());return Ke.removeItem(o)};yA.prototype.unifiedProject=function(o,A){this._getObject.unifiedProject(o,A)};yA.prototype.clearn=function(){Ke.clearn()};Object.defineProperties(yA.prototype,{Source:{get:function(){return Ke.TempSource}}});Object.defineProperties(yA.prototype,{currentObj:{get:function(){return Ke.currentObj}}});yA.prototype.InitTree=function(o,A){if(o&&o.length)for(var f=0;f<o.length;f++){var m=o[f];switch(m.type){case"group":var C=this.createGroup(m.name,A);m.children&&m.children.length&&this.InitTree(m.children,C);break;case"label":this._creator.createLabel(m.position,m.text,m.option,A,m.description);break;case"imgLabel":this._creator.createImageLabel(m.position,m.imageLabel,A,m.description);break;case"polygon":this._creator.createPolygon(m.geometry,m.lineColor,m.altitudeType,A,m.description);break;case"polyline":this._creator.createPolyline(m.geometry,m.lineColor,m.altitudeType,A,m.description);break;case"box":this._creator.createBox(m.position,m.box,m.name,A,m.description);break;case"circle":this._creator.createCircle(m.position,m.circle,m.name,A,m.description);break;case"cone":this._creator.createCone(m.position,m.cylinder,m.name,m.description);break;default:break}}};yA.prototype.InitRootImageLayerAndTerrainlayer=function(){};Object.defineProperties(yA.prototype,{selectedItem:{get:function(){return Ke.selectedItem},set:function(o){Ke.selectedItem=o}}});var Ngt=yA;var N5i={L_Click:"OnLButtonClk",L_DBL_Click:"OnLButtonDblClk",L_Down:"OnLButtonDown",L_Up:"OnLButtonUp",M_Click:"OnMButtonClk",M_Down:"OnMButtonDown",M_Up:"OnMButtonUp",R_Click:"OnRButtonClk",R_Down:"OnRButtonDown",R_Up:"OnRButtonUp",Move:"OnFrame",Wheel:"OnMouseWheel"},Dh=Object.freeze(N5i);function ey(o,A){this._viewer=o,this._cesium=A,this._Core=new $i(o,A)}ey.prototype.AttachEvent=function(o,A){var f=this._viewer,m=this._Core,m=this._Core;if(o===Dh.L_Click){var C=this._viewer.scene,E=new this._cesium.ScreenSpaceEventHandler(C.canvas);return E.setInputAction(function(x){let y=f.scene.pickPosition(x.position),I;y&&(I=m.toDegrees(y)),typeof A=="function"&&A(x,I)},this._cesium.ScreenSpaceEventType.LEFT_CLICK),E}else if(o===Dh.L_DBL_Click){var C=this._viewer.scene,E=new this._cesium.ScreenSpaceEventHandler(C.canvas);return E.setInputAction(function(I){let v=f.scene.pickPosition(I.position),B;v&&(B=m.toDegrees(v)),typeof A=="function"&&A(I,B)},this._cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK),E}else if(o===Dh.L_Down){var C=this._viewer.scene,E=new this._cesium.ScreenSpaceEventHandler(C.canvas);return E.setInputAction(function(I){let v=f.scene.pickPosition(I.position),B;v&&(B=m.toDegrees(v)),typeof A=="function"&&A(I,B)},this._cesium.ScreenSpaceEventType.LEFT_DOWN),E}else if(o===Dh.L_Up){var C=this._viewer.scene,E=new this._cesium.ScreenSpaceEventHandler(C.canvas);return E.setInputAction(function(I){let v=f.scene.pickPosition(I.position),B;v&&(B=m.toDegrees(v)),typeof A=="function"&&A(I,B)},this._cesium.ScreenSpaceEventType.LEFT_UP),E}else if(o===Dh.M_Click){var C=this._viewer.scene,E=new this._cesium.ScreenSpaceEventHandler(C.canvas);return E.setInputAction(function(I){let v=f.scene.pickPosition(I.position),B;v&&(B=m.toDegrees(v)),typeof A=="function"&&A(I,B)},this._cesium.ScreenSpaceEventType.MIDDLE_CLICK),E}else if(o===Dh.M_Down){var C=this._viewer.scene,E=new this._cesium.ScreenSpaceEventHandler(C.canvas);return E.setInputAction(function(I){let v=f.scene.pickPosition(I.position),B;v&&(B=m.toDegrees(v)),typeof A=="function"&&A(I,B)},this._cesium.ScreenSpaceEventType.MIDDLE_DOWN),E}else if(o===Dh.M_Up){var C=this._viewer.scene,E=new this._cesium.ScreenSpaceEventHandler(C.canvas);return E.setInputAction(function(I){let v=f.scene.pickPosition(I.position),B;v&&(B=m.toDegrees(v)),typeof A=="function"&&A(I,B)},this._cesium.ScreenSpaceEventType.MIDDLE_UP),E}else if(o===Dh.R_Click){var C=this._viewer.scene,E=new this._cesium.ScreenSpaceEventHandler(C.canvas);return E.setInputAction(function(I){let v=f.scene.pickPosition(I.position),B;v&&(B=m.toDegrees(v)),typeof A=="function"&&A(I,B)},this._cesium.ScreenSpaceEventType.RIGHT_CLICK),E}else if(o===Dh.R_Down){var C=this._viewer.scene,E=new this._cesium.ScreenSpaceEventHandler(C.canvas);return E.setInputAction(function(I){let v=f.scene.pickPosition(I.position),B;v&&(B=m.toDegrees(v)),typeof A=="function"&&A(I,B)},this._cesium.ScreenSpaceEventType.RIGHT_DOWN),E}else if(o===Dh.R_Up){var C=this._viewer.scene,E=new this._cesium.ScreenSpaceEventHandler(C.canvas);return E.setInputAction(function(I){let v=f.scene.pickPosition(I.position),B;v&&(B=m.toDegrees(v)),typeof A=="function"&&A(I,B)},this._cesium.ScreenSpaceEventType.RIGHT_UP),E}else if(o===Dh.Wheel){var C=this._viewer.scene,E=new this._cesium.ScreenSpaceEventHandler(C.canvas);return E.setInputAction(function(I){typeof A=="function"&&A(I)},this._cesium.ScreenSpaceEventType.WHEEL),E}else if(o===Dh.Move){var C=this._viewer.scene,E=new this._cesium.ScreenSpaceEventHandler(C.canvas);return E.setInputAction(function(I){typeof A=="function"&&A(I)},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),E}};ey.prototype.AttachOnLButtonDblClkEvent=function(o){var A=this._viewer.scene,f=this._viewer,m=this._Core,C=new this._cesium.ScreenSpaceEventHandler(A.canvas);return C.setInputAction(function(E){let x=f.scene.pickPosition(E.position),y;x&&(y=m.toDegrees(x)),typeof o=="function"&&o(click,y)},this._cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK),C};ey.prototype.AttachOnLButtonDownEvent=function(o){var A=this._viewer,f=this._Core,m=this._viewer.scene,C=new this._cesium.ScreenSpaceEventHandler(m.canvas);return C.setInputAction(function(E){let x=A.scene.pickPosition(E.position),y;x&&(y=f.toDegrees(x)),typeof o=="function"&&o(click,y)},this._cesium.ScreenSpaceEventType.LEFT_DOWN),C};ey.prototype.AttachOnLButtonUpEvent=function(o){var A=this._viewer,f=this._Core,m=this._viewer.scene,C=new this._cesium.ScreenSpaceEventHandler(m.canvas);return C.setInputAction(function(E){let x=A.scene.pickPosition(E.position),y;x&&(y=f.toDegrees(x)),typeof o=="function"&&o(click,y)},this._cesium.ScreenSpaceEventType.LEFT_UP),C};ey.prototype.AttachOnMButtonDblClkEvent=function(o){var A=this._viewer,f=this._Core,m=this._viewer.scene,C=new this._cesium.ScreenSpaceEventHandler(m.canvas);return C.setInputAction(function(E){let x=A.scene.pickPosition(E.position),y;x&&(y=f.toDegrees(x)),typeof o=="function"&&o(click,y)},this._cesium.ScreenSpaceEventType.MIDDLE_CLICK),C};ey.prototype.AttachOnMButtonDownEvent=function(o){var A=this._viewer,f=this._Core,m=this._viewer.scene,C=new this._cesium.ScreenSpaceEventHandler(m.canvas);return C.setInputAction(function(E){let x=A.scene.pickPosition(E.position),y;x&&(y=f.toDegrees(x)),typeof o=="function"&&o(click,y)},this._cesium.ScreenSpaceEventType.MIDDLE_DOWN),C};ey.prototype.AttachOnMButtonUpEvent=function(o){var A=this._viewer,f=this._Core,m=this._viewer.scene,C=new this._cesium.ScreenSpaceEventHandler(m.canvas);return C.setInputAction(function(E){let x=A.scene.pickPosition(E.position),y;x&&(y=f.toDegrees(x)),typeof o=="function"&&o(click,y)},this._cesium.ScreenSpaceEventType.MIDDLE_UP),C};ey.prototype.AttachOnMouseWheelEvent=function(o){var A=this._viewer.scene,f=new this._cesium.ScreenSpaceEventHandler(A.canvas);return f.setInputAction(function(m){typeof o=="function"&&o(m)},this._cesium.ScreenSpaceEventType.WHEEL),f};ey.prototype.AttachOnFrameEvent=function(o){var A=this._viewer.scene,f=new this._cesium.ScreenSpaceEventHandler(A.canvas);return f.setInputAction(function(m){typeof o=="function"&&o(m)},this._cesium.ScreenSpaceEventType.MOUSE_MOVE),f};ey.prototype.AttachOnRButtonDownEvent=function(o){var A=this._viewer,f=this._Core,m=this._viewer.scene,C=new this._cesium.ScreenSpaceEventHandler(m.canvas);return C.setInputAction(function(E){let x=A.scene.pickPosition(E.position),y;x&&(y=f.toDegrees(x)),typeof o=="function"&&o(click,y)},this._cesium.ScreenSpaceEventType.RIGHT_DOWN),C};ey.prototype.AttachOnRButtonUpEvent=function(o){var A=this._viewer,f=this._Core,m=this._viewer.scene,C=new this._cesium.ScreenSpaceEventHandler(m.canvas);return C.setInputAction(function(E){let x=A.scene.pickPosition(E.position),y;x&&(y=f.toDegrees(x)),typeof o=="function"&&o(click,y)},this._cesium.ScreenSpaceEventType.RIGHT_UP),C};ey.prototype.AttachCameraChangeEvent=function(o){return this._viewer.scene.camera.percentageChanged=1e-6,this._viewer.scene.camera.changed.addEventListener(o),o};ey.prototype.CameraMoveEndEvent=function(o){var A=this._viewer,f=!1;function m(){f=!0}function C(){f&&(o&&o(),A.scene.camera.moveStart.removeEventListener(m),A.scene.camera.moveEnd.removeEventListener(C))}setTimeout(function(){A.scene.camera.moveStart.addEventListener(m),A.scene.camera.moveEnd.addEventListener(C)},0)};var ty=ey;function VW(o,A){this._viewer=o,this._cesium=A}VW.prototype.DetachEvent=function(o,A){A===Dh.L_Click?o&&o.removeInputAction(this._cesium.ScreenSpaceEventType.LEFT_CLICK):A===Dh.L_DBL_Click?o&&o.removeInputAction(this._cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK):A===Dh.L_Down?o&&o.removeInputAction(this._cesium.ScreenSpaceEventType.LEFT_DOWN):A===Dh.L_Up?o&&o.removeInputAction(this._cesium.ScreenSpaceEventType.LEFT_UP):A===Dh.M_Click?o&&o.removeInputAction(this._cesium.ScreenSpaceEventType.MIDDLE_CLICK):A===Dh.M_Down?o&&o.removeInputAction(this._cesium.ScreenSpaceEventType.MIDDLE_DOWN):A===Dh.M_Up?o&&o.removeInputAction(this._cesium.ScreenSpaceEventType.MIDDLE_UP):A===Dh.R_Click?o&&o.removeInputAction(this._cesium.ScreenSpaceEventType.RIGHT_CLICK):A===Dh.R_Down?o&&o.removeInputAction(this._cesium.ScreenSpaceEventType.RIGHT_DOWN):A===Dh.R_Up?o&&o.removeInputAction(this._cesium.ScreenSpaceEventType.RIGHT_UP):A===Dh.Wheel?o&&o.removeInputAction(this._cesium.ScreenSpaceEventType.WHEEL):A===Dh.Move?o&&o.removeInputAction(this._cesium.ScreenSpaceEventType.MOUSE_MOVE):o&&o.destroy()};VW.prototype.DetachEventAll=function(o){o&&(o.destroy(),o=null)};VW.prototype.RemoNormalCesiumLeftDoubleClick=function(){this._viewer.cesiumWidget.screenSpaceEventHandler.removeInputAction(this._cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK)};VW.prototype.DetachCameraChangeEvent=function(o){this._viewer.scene.camera.percentageChanged=.5,this._viewer.scene.camera.changed.removeEventListener(o)};var zW=VW;var k5i=function(o){if(!o.extensionsUsed||!o.extensionsRequired)return;let A=o.extensionsUsed.indexOf("KHR_technique_webgl"),f=o.extensionsRequired.indexOf("KHR_technique_webgl");if(A!==-1){o.extensionsRequired.splice(f,1,"KHR_techniques_webgl"),o.extensionsUsed.splice(A,1,"KHR_techniques_webgl"),o.extensions=o.extensions||{},o.extensions.KHR_techniques_webgl={},o.extensions.KHR_techniques_webgl.programs=o.programs,o.extensions.KHR_techniques_webgl.shaders=o.shaders,o.extensions.KHR_techniques_webgl.techniques=o.techniques;let m=o.extensions.KHR_techniques_webgl.techniques;o.materials.forEach(function(C,E){o.materials[E].extensions.KHR_technique_webgl.values=o.materials[E].values,o.materials[E].extensions.KHR_techniques_webgl=o.materials[E].extensions.KHR_technique_webgl;let x=o.materials[E].extensions.KHR_techniques_webgl;for(let y in x.values){let I=m[x.technique].uniforms;for(let v in I)if(I[v]===y){x.values[v]=x.values[y],delete x.values[y];break}}}),m.forEach(function(C){for(let E in C.attributes){let x=C.attributes[E];C.attributes[E]=C.parameters[x]}for(let E in C.uniforms){let x=C.uniforms[E];C.uniforms[E]=C.parameters[x]}})}},iue=typeof window<"u"?window:typeof self<"u"?self:{},tue=setTimeout(()=>{tue=void 0,iue.logSmartEarth&&iue.logSmartEarth()},1e4);function kgt(o,A){wo.supportsImageRenderingPixelated()&&(o.viewer.resolutionScale=A?window.devicePixelRatio:1),o.viewer.scene.fxaa=A,o.viewer.scene.postProcessStages.fxaa.enabled=A}function Oc(o,A={},f,m,C){this._core=new bQ(this),this._cesium=Di,tue&&(clearTimeout(tue),tue=void 0,A.VERSION!==!1&&iue.logSmartEarth&&iue.logSmartEarth()),this.G=65535,f=oe(f,oe.EMPTY_OBJECT),O(A.StaticFileBaseUrl)?globalThis.GEOWORLD_BASE_URL=A.StaticFileBaseUrl:globalThis.GEOWORLD_BASE_URL="./CimSDK/",globalThis.SmartEarthRootUrl=globalThis.GEOWORLD_BASE_URL,Kat(),A.toolbar=!1,A.baseLayerPicker=!1,A.shadows=!1,A.skyAtmosphere=new SJ,A.terrainShadows=Ns.ENABLED,A.animation=!0,A.shouldAnimate=!0,A.fullscreenButton=!1,A.geocoder=!1,A.homeButton=!1,A.infoBox=!1,A.selectionIndicator=!1,A.timeline=oe(A.timeline,!1),A.navigationHelpButton=!1,A.imageryProviderViewModels=[],A.terrainProviderViewModels=[];let{webgl:E={}}=A.contextOptions||{},{alpha:x=!1}=E;if(A.contextOptions={licenseServer:A.licenseServer,requestWebgl2:!0,webgl:{alpha:x,preserveDrawingBuffer:!0},failIfMajorPerformanceCaveat:!1,ellipsoidCoordinates:A.ellipsoidCoordinates},A.navigation=!0,A.disableRightClickMenu=!0,typeof A=="string"?A.imageryProvider=new Cv({url:A}):(A.url&&(A.imageryProvider=new Cv({url:A.url})),this._core.extend(A,A,!0)),A.baseLayerPicker){let B=this.getAllImageryView();if(A.basemaps)A.basemaps.forEach(Q=>{A.imageryProviderViewModels.push(B[Q])});else for(let Q in B)A.imageryProviderViewModels.push(B[Q])}else A.imageryProvider||(A.imageryProvider=new Cv({url:`${globalThis.GEOWORLD_BASE_URL}Workers/image/earth.jpg`}));let y={destination:Z.fromDegrees(A.x?A.x:106.69608,A.y?A.y:40.05164,A.z?A.z:2505283065e-2),orientation:{heading:Be.toRadians(oe(A.heading,0)),pitch:Be.toRadians(oe(A.pitch,-90)),roll:Be.toRadians(oe(A.roll,0))},duration:A.duration||1};if(A.removeGlobe&&(A.skyBox=!1,A.skyAtmosphere=!1,A.contextOptions={licenseServer:A.licenseServer,requestWebgl2:!0,failIfMajorPerformanceCaveat:!1,webgl:{alpha:!0,preserveDrawingBuffer:!0}}),this._Viewer=new _oe(o,A),this._tree=m,this._Viewer.scene.globe.baseColor=Ve.WHITE,this._Viewer.shadowMap.size=2048,this._Viewer._cesiumWidget._creditContainer.style.display="none",this._Viewer.terrainShadows=Ns.ENABLED,this._AttachEvent=void 0,this._DetachEvent=void 0,this._Analysis=void 0,this._Navigate=void 0,this._Creator=void 0,this._Command=void 0,this._ProjectTree=void 0,this._Coordinate=void 0,this._VectorTileProvider=void 0,this.toolbar=A.toolbar,A.removeGlobe){this._Viewer.imageryLayers.removeAll(),this._Viewer.shadows=!1,this._Viewer.scene.fog.enabled=!1,this._Viewer.scene.globe.show=!1;let B="rgba(0,0,0,0)";this._Viewer.scene.backgroundColor=Ve.fromCssColorString(B),this._Viewer.scene.light=new jne({direction:new Z(1,-.9,-.9)}),A.backgroundImage&&(this._Viewer.container.style.backgroundImage=`url(${A.backgroundImage})`)}else this._Viewer.scene.globe.depthTestAgainstTerrain=!0;if(this.coreMap=this._Viewer,this._environment=new wTe(this),this._infoBar=new Rht(this),this._camera=new zDe(this),this._measure=new gTe(this),this._shapeTool=new llt(this),this._editTool=new ETe(this),this._factory=new $T(this),this._tools=new ADe(this),this._edit=new pPe(this),this._analysis=new kPe(this),this._userScene=new H2e(this,f),this._view=new Jdt(this),this._bim=new Xdt(this,A.licenseServer),this._MilitaryPlotting=new YPe(this),A.maxViewHeight&&(this._Viewer.scene.screenSpaceCameraController.maximumZoomDistance=A.maxViewHeight),A.minViewHeight||A.maxViewPitch){this.minViewHeight=A.minViewHeight,this.maxViewPitch=A.maxViewPitch&&Be.toRadians(A.maxViewPitch);let B=0,Q=this._Viewer.scene,T=!1;if(this.maxViewPitch){let w=new cr(this._Viewer.scene.canvas);w.setInputAction(()=>{T=!0},si.MIDDLE_DOWN),w.setInputAction(()=>{T=!1},si.MIDDLE_UP),w.setInputAction(()=>{T=!0},si.RIGHT_DOWN),w.setInputAction(()=>{T=!1},si.RIGHT_UP)}this._Viewer.scene.preRender.addEventListener(()=>{let w=this._Viewer.camera;if(!(!w||!w.positionCartographic)){if(this.maxViewPitch){let S=w.pitch;T&&S>this.maxViewPitch?(S=this.maxViewPitch,w.setView({destination:this.oldPosition||w.position.clone(),orientation:{heading:w.heading,pitch:S,roll:0}})):this.oldPosition=w.position.clone()}if(this.minViewHeight){B=Q.globe.getHeight(w.positionCartographic)||B;let D,R,P=w.positionCartographic.height-B;this._Viewer.scene.globe.translucency.enabled||this._Analysis&&(this._Analysis._UndergroundMode&&this._Analysis._UndergroundMode.isUndergroundMode||this._Analysis._StreetView&&this._Analysis._StreetView.isStreetView)?(D=w.positionCartographic.height<-200,R=-200):(D=P<this.minViewHeight,R=B+this.minViewHeight);let M=w.pitch<0?w.pitch:0;D?w.setView({destination:this.oldPosition||Z.fromRadians(w.positionCartographic.longitude,w.positionCartographic.latitude,R),orientation:{heading:w.heading,pitch:M,roll:0}}):this.oldPosition=w.position.clone()}}})}let I={};Ls.DEFAULT_VIEW_RECTANGLE=gi.fromDegrees(79,0,130,60),A.navigationOption=oe(A.navigationOption,oe.EMPTY_OBJECT),I.defaultResetView=oe(A.navigationOption.defaultResetView,Ls.DEFAULT_VIEW_RECTANGLE),I.enableCompass=oe(A.navigationOption.enableCompass,!0),I.enableZoomControls=oe(A.navigationOption.enableZoomControls,!0),I.enableDistanceLegend=oe(A.navigationOption.enableDistanceLegend,!0),I.enableCompassOuterRing=oe(A.navigationOption.enableCompassOuterRing,!0),this._Viewer.cesiumWidget.screenSpaceEventHandler.removeInputAction(this._cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK),this._Viewer.extend(this._cesium.viewerCesiumNavigationMixin,I),Lht.parse(this,f),A.mouseDownView&&this.mouseDownView(!0),Object.defineProperties(mp.prototype,{_cachedGltf:{configurable:!0,set:function(B){this._vtxf_cachedGltf=B,this._vtxf_cachedGltf&&this._vtxf_cachedGltf._gltf&&k5i(this._vtxf_cachedGltf._gltf)},get:function(){return this._vtxf_cachedGltf}}}),A.disableRightClickMenu&&(document.oncontextmenu=function(){return!1});let v=function(B){if(B.cesiumWidget._supportsImageRenderingPixelated&&window&&window.devicePixelRatio){let T=window.devicePixelRatio;for(;T>=2;)T/=2;B.resolutionScale=T}};Fw.prototype.getRenderedBestLevelInfo=function(){let B=this.getRenderedLevelInfo(),Q=0;for(let T in B)Q<Number(T)&&(Q=Number(T));return{bestLevel:Q,count:B[Q]}},Fw.prototype.getRenderedLevelInfo=function(){let B=[];return this._tilesToRender.forEach(function(Q){B[Q.level]===void 0&&(B[Q.level]=0,B[Q.level]++)}),B},this.coreMap.camera.setView({destination:Ls.DEFAULT_VIEW_RECTANGLE}),kgt(this,!0)}Object.defineProperties(Oc.prototype,{environment:{get:function(){return this._environment}},entities:{get:function(){return this._Viewer.dataSourceDisplay.defaultDataSource.entities}},enableAA:{set:function(o){kgt(this,o)}},primitives:{get:function(){return this.coreMap.scene.primitives}},imageryLayers:{get:function(){return this.coreMap.imageryLayers}},view:{get:function(){return this._view}},terrainProvider:{get:function(){return this.coreMap.terrainProvider}},dataSources:{get:function(){return this._Viewer.dataSources}},camera:{get:function(){return this._camera}},showFPS:{get:function(){return this.viewer.scene.debugShowFramesPerSecond},set:function(o){this.viewer.scene.debugShowFramesPerSecond=o}},depthTerrain:{get:function(){return this.viewer.scene.globe.depthTestAgainstTerrain},set:function(o){this.viewer.scene.globe.depthTestAgainstTerrain=o}},measure:{get:function(){return this._measure}},shapeTool:{get:function(){return this._shapeTool}},editTool:{get:function(){return this._editTool}},edit:{get:function(){return this._edit}},analysis:{get:function(){return this._analysis}},factory:{get:function(){return this._factory}},userScene:{get:function(){return this._userScene}},tools:{get:function(){return this._tools}},hdr:{get:function(){return this.coreMap.scene.highDynamicRange},set:function(o){this.coreMap.scene.highDynamicRange=o}},sunGlowFactor:{set:function(o){this.coreMap.scene.sun.glowFactor=o},get:function(){return this.coreMap.scene.sun.glowFactor}},shadows:{get:function(){return this.coreMap.scene.shadowMap.enabled},set:function(o){this.coreMap.scene.shadowMap.enabled=o}},terrainShadows:{get:function(){return this.coreMap.scene.globe.shadows},set:function(o){this.coreMap.scene.globe.shadows=o}},shadowMap:{get:function(){return this.coreMap.scene.shadowMap}},shadowMapList:{get:function(){return this.coreMap.scene.shadowMapList}},textureProjectionMapList:{get:function(){return this.coreMap.scene.textureProjectionMapList}},viewShedMapList:{get:function(){return this.coreMap.scene.viewShedMapList}},clock:{get:function(){return this._Viewer.clock}},clockViewModel:{get:function(){return this._Viewer.clockViewModel}},sunShaftEnabled:{get:function(){return this.coreMap.scene.sunShaftEnabled},set:function(o){this.coreMap.scene.sunShaftEnabled=o}},MilitaryPlotting:{get:function(){return this._MilitaryPlotting}},core:{get:function(){return this._Core||(this._Core=new bQ(this)),this._Core}},Analysis:{get:function(){return this._Analysis||(this._Analysis=new adt(this._Viewer,Di)),this._Analysis}},Creator:{get:function(){return this._Creator||(this._Creator=new eue(this._Viewer,Di)),this._Creator}},projectTree:{get:function(){return this._ProjectTree||(this._ProjectTree=new Ngt(this._Viewer,Di,this._tree)),this._ProjectTree}},tree:{get:function(){return this._tree}},viewer:{get:function(){return this._Viewer}},toolbar:{get:function(){return this._Viewer._toolbar.style.display==="block"},set:function(o){this._Viewer._toolbar.style.display=o?"block":"none"}},wireframe:{get:function(){return this._Viewer.scene.globe._surface.tileProvider._debug.wireframe},set:function(o){this._Viewer.scene.globe._surface.tileProvider._debug.wireframe=o}},tileCoordinates:{get:function(){return this._Viewer.cesiumInspector.viewModel.tileCoordinates},set:function(o){this._Viewer.cesiumInspector.viewModel.tileCoordinates=o}},bim:{get:function(){if(!this._bim)throw new Ai("\u5F53\u524D\u7248\u672C\u4E0D\u652F\u6301Bim\u6A21\u5757\u529F\u80FD\uFF0C\u8BF7\u4F7F\u7528CimSDK!!!");return this._bim}},maxProjectionCount:{get:function(){return this.coreMap.scene.maxProjectionCount},set:function(o){this.coreMap.scene.maxProjectionCount=o}}});Oc.prototype.brightness=function(o){let A=oe(o.enable,!0),f=oe(o.brightness,1),m=this.coreMap.scene.postProcessStages;this.coreMap.scene.brightness=this.coreMap.scene.brightness||m.add(aE.createBrightnessStage()),this.coreMap.scene.brightness.enabled=A,this.coreMap.scene.brightness.uniforms.brightness=Number(f)};Oc.prototype.getAllImageryView=function(){return{arcgis_img:new Ig({name:"ArcGIS\u5F71\u50CF",tooltip:"ArcGIS\u5F71\u50CF",iconUrl:`${globalThis.GEOWORLD_BASE_URL}Workers/image/baseLayer/arcgis_img.png`,creationFunction:()=>new z_({url:"https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer"})}),arcgis_dark:new Ig({name:"\u84DD\u8272\u5E95\u56FE",tooltip:"\u84DD\u8272\u5E95\u56FE",iconUrl:`${globalThis.GEOWORLD_BASE_URL}Workers/image/baseLayer/arcgis_dark.png`,creationFunction:()=>new z_({url:"http://map.geoq.cn/arcgis/rest/services/ChinaOnlineStreetPurplishBlue/MapServer",enablePickFeatures:!1,usePreCachedTilesIfAvailable:!1,tilingScheme:this.core.getOffsetTilingScheme(this._Viewer,Di)})})}};Oc.prototype.navControl=function(o,A){let f=A?"":"none";this._Viewer.cesiumNavigation&&(o==="all"?this._Viewer.cesiumNavigation.container.style.display=f:o==="nav"?this._Viewer.cesiumNavigation.navigationDiv.style.display=f:this._Viewer.cesiumNavigation.distanceLegendDiv.style.display=f)};Oc.prototype.CreateWfs=function(o,A,f,m,C,E,x,y,I){return new Foe(o,A,f,m,C,E,x,y,I,Di)};Oc.prototype.AttachEvent=function(o,A){return this._AttachEvent===void 0&&(this._AttachEvent=new ty(this._Viewer,this._cesium)),this._AttachEvent.AttachEvent(o,A)};Oc.prototype.RemoNormalCesiumLeftDoubleClick=function(){return this._DetachEvent===void 0&&(this._DetachEvent=new zW(this._Viewer,this._cesium)),this._DetachEvent.RemoNormalCesiumLeftDoubleClick()};Oc.prototype.AttachOnLButtonDblClkEvent=function(o){return this._AttachEvent===void 0&&(this._AttachEvent=new ty(this._Viewer,this._cesium)),this._AttachEvent.AttachOnLButtonDblClkEvent(o)};Oc.prototype.AttachOnLButtonDownEvent=function(o){return this._AttachEvent===void 0&&(this._AttachEvent=new ty(this._Viewer,this._cesium)),this._AttachEvent.AttachOnLButtonDownEvent(o)};Oc.prototype.AttachOnLButtonUpEvent=function(o){return this._AttachEvent===void 0&&(this._AttachEvent=new ty(this._Viewer,this._cesium)),this._AttachEvent.AttachOnLButtonUpEvent(o)};Oc.prototype.AttachOnMButtonDblClkEvent=function(o){return this._AttachEvent===void 0&&(this._AttachEvent=new ty(this._Viewer,this._cesium)),this._AttachEvent.AttachOnMButtonDblClkEvent(o)};Oc.prototype.AttachOnMButtonDownEvent=function(o){return this._AttachEvent===void 0&&(this._AttachEvent=new ty(this._Viewer,this._cesium)),this._AttachEvent.AttachOnMButtonDownEvent(o)};Oc.prototype.AttachOnMButtonUpEvent=function(o){return this._AttachEvent===void 0&&(this._AttachEvent=new ty(this._Viewer,this._cesium)),this._AttachEvent.AttachOnMButtonUpEvent(o)};Oc.prototype.AttachOnMouseWheelEvent=function(o){return this._AttachEvent===void 0&&(this._AttachEvent=new ty(this._Viewer,this._cesium)),this._AttachEvent.AttachOnMouseWheelEvent(o)};Oc.prototype.AttachOnFrameEvent=function(o){return this._AttachEvent===void 0&&(this._AttachEvent=new ty(this._Viewer,this._cesium)),this._AttachEvent.AttachOnFrameEvent(o)};Oc.prototype.AttachOnRButtonDownEvent=function(o){return this._AttachEvent===void 0&&(this._AttachEvent=new ty(this._Viewer,this._cesium)),this._AttachEvent.AttachOnRButtonDownEvent(o)};Oc.prototype.AttachOnRButtonUpEvent=function(o){return this._AttachEvent===void 0&&(this._AttachEvent=new ty(this._Viewer,this._cesium)),this._AttachEvent.AttachOnRButtonUpEvent(o)};Oc.prototype.AttachCameraChangeEvent=function(o){return this._AttachEvent===void 0&&(this._AttachEvent=new ty(this._Viewer,this._cesium)),this._AttachEvent.AttachCameraChangeEvent(o)};Oc.prototype.CameraMoveEndEvent=function(o){return this._AttachEvent===void 0&&(this._AttachEvent=new ty(this._Viewer,this._cesium)),this._AttachEvent.CameraMoveEndEvent(o)};Oc.prototype.DetachEvent=function(o,A){return this._DetachEvent===void 0&&(this._DetachEvent=new zW(this._Viewer,this._cesium)),this._DetachEvent.DetachEvent(o,A)};Oc.prototype.DetachEventAll=function(o){return this._DetachEvent===void 0&&(this._DetachEvent=new zW(this._Viewer,this._cesium)),this._DetachEvent.DetachEventAll(o)};Oc.prototype.DetachCameraChangeEvent=function(o){return this._DetachEvent===void 0&&(this._DetachEvent=new zW(this._Viewer,this._cesium)),this._DetachEvent.DetachCameraChangeEvent(o)};Oc.prototype.extend=function(o,A){if(!O(o))throw new Ai("mixin is required.");o(this,A)};Oc.prototype.pick=function(o,A=!0,f=!0,m=!1){this.endPick(),this.pick_callBcak=o,this._Viewer._enableInfoOrSelection=!0,f&&(this.pick_stage=this.core.addPickStage(this._Viewer)),this.pick_handel=new cr(this._Viewer.scene.canvas);let C,E,x,y;this.pick_handel.setInputAction(I=>{if(f&&this.pick_stage.remove(),C=this._Viewer.scene.pick(I.position),E=void 0,!C||m){let v=this._Viewer.scene.pickPosition(I.position);if(!v)return;let B=this.core.toDegrees(v);y="\u5750\u6807\u4FE1\u606F",E={\u7ECF\u5EA6:B.lon.toFixed(6),\u7EAC\u5EA6:B.lat.toFixed(6),\u9AD8\u5EA6:B.height.toFixed(2)}}else if(C){if(f&&this.pick_stage.select(C),C.id)C.id.fid&&C.id.attributes?(y=C.id.fid,E=C.id.attributes):C.id.id&&C.id.properties?(y=C.id.name||C.id.id,E=C.id.properties.getValue?C.id.properties.getValue():C.id.properties):C.id.feature&&(y=C.id.feature.id,E=C.id.feature.properties);else if(C._modelId)C._modelId.id&&C._modelId.properties&&(y=C._modelId.id,E=C._modelId.properties);else if(!C.color&&C.content){y=`\u6A21\u578B${C.content.tile._priority}`;let v=this._Viewer.scene.pickPosition(I.position);if(v){let B=this.core.toDegrees(v);E={\u7ECF\u5EA6:B.lon.toFixed(6),\u7EAC\u5EA6:B.lat.toFixed(6),\u9AD8\u5EA6:B.height.toFixed(2)}}}}if(A&&E){x='<table class="cesium-infoBox-defaultTable"><tbody>';for(let v in E)x+=`<tr><th>${v}</th><td>${E[v]}</td></tr>`;x+="</tbody></table>",this._Viewer.selectedEntity=new nc({name:y,description:x})}else if(C&&C.getPropertyIds&&C.getProperty){let v=C.getPropertyIds();E={},v.forEach(B=>{E[B]=C.getProperty(B)})}this.pick_callBcak&&(C||E)&&this.pick_callBcak(E,C,I)},si.LEFT_CLICK)};Oc.prototype.pickPosition=function(o,A=!0){this.endPick(),this.pick(o,A,!1,!0)};Oc.prototype.endPick=function(){this._Viewer.infoBox&&this._Viewer.infoBox.viewModel.closeClicked.raiseEvent(),this._Viewer._enableInfoOrSelection=!1,this.pick_callBcak=void 0,this.pick_handel&&this.pick_handel.destroy(),this.pick_handel=void 0,this.pick_stage&&(this.pick_stage.remove(),this.pick_stage.destroy(),this.pick_stage=void 0)};Oc.prototype.mouseDownView=function(o){if(o&&!this.cursorHandel){this.cursorHandel=new cr(this._Viewer.scene.canvas);let A,f;this.cursorPoint=document.createElement("div"),this.cursorPoint.className="mouseDownViewPoint",this.cursorPoint.style.cssText="visibility: hidden;opacity: 0;pointer-events: none;position: absolute;z-index: 999;transition: visibility 0.2s ease 0s, opacity 0.2s ease-in;",this.cursorPoint.innerHTML=`<img src="${window.SmartEarthRootUrl}Workers/image/cursor.png" style="width: 36px;height: 36px;">`,this._Viewer.container.appendChild(this.cursorPoint);let m=y=>{y=y||f;let I=y.position||y.endPosition;this.cursorPoint.style.top=`${I.y-18}px`,this.cursorPoint.style.left=`${I.x-18}px`,this.cursorPoint.style.visibility="unset",this.cursorPoint.style.opacity=1},C=y=>{let I=y.position||y.endPosition;this.cursorPoint.style.top=`${I.y-18}px`,this.cursorPoint.style.left=`${I.x-18}px`};this.cursorHandel.setInputAction(y=>{f=y,clearTimeout(A),A=void 0,this._Viewer.camera.positionCartographic.height<1e4?m(y):(this.cursorPoint.style.visibility="hidden",this.cursorPoint.style.opacity=0)},this.rightRotate?si.RIGHT_DOWN:si.MIDDLE_DOWN),this.cursorHandel.setInputAction(y=>{this.cursorPoint.style.visibility="hidden"},this.rightRotate?si.RIGHT_UP:si.MIDDLE_UP),this.cursorHandel.setInputAction(y=>{f=y,A&&C(y)},si.MOUSE_MOVE),this.cursorHandel.setInputAction(y=>{clearTimeout(A),m(),A=setTimeout(()=>{this.cursorPoint.style.visibility="hidden",this.cursorPoint.style.opacity=0,A=void 0},500)},si.WHEEL);let E=0,x;this.cursorHandel.setInputAction(y=>{this._PointFly&&this._PointFly.end&&this._PointFly.end()},si.LEFT_CLICK),this.cursorHandel.setInputAction(y=>{E++,clearInterval(x),x=setTimeout(()=>{E=0},500),E>=2&&(E=0,!this._PointFly&&(this._PointFly=new Z8(this._Viewer,Di)),this._PointFly&&this._PointFly.end&&this._PointFly.end(),this._PointFly.setPointFly({position:this.camera.getMousePosition(y),hideImage:!0,time:this._rotateFlyTime,pitch:Be.toDegrees(this._Viewer.camera.pitch)}))},si.RIGHT_CLICK)}else this.cursorHandel&&this.cursorHandel.destroy(),this.cursorHandel=void 0,this.cursorPoint&&this.cursorPoint.remove(),this.cursorPoint=void 0};var O5i=Oc;function YW(o){this.mEarthCtrl=o,this.coreMap=o.coreMap,this.trackInfos=[],this.timer=null,this.animationController=new Aae,this.currIndex=-1,this.startTime=0,this.currentTrackInfo=null}function U5i(o,A){if(o.length===0)return null;let f=null;for(let m=0;m<o.length&&o[m].timeStamp<A;m++)f=o[m];return f}function G5i(o,A){A.type==="lookat"&&(console.log(A),A.duration===void 0&&(A.duration=4e3),o.coreMap.camera.flyTo({destination:A.position,orientation:A.orientation,duration:A.duration/1e3}))}YW.prototype.initialize=function(o){let A=0,f=this;for(let m=0;m<o.length;m++){let C=o[m];C.type==="lookat"&&(C.timeStamp=A,A+=C.stopTime,f.trackInfos.push(C))}f.animationController.addListener(function(m){let C=new Date().getTime()-f.startTime,E=U5i(f.trackInfos,C);E!==f.currentTrackInfo&&(G5i(f.mEarthCtrl,E),f.currentTrackInfo=E)})};YW.prototype.finalize=function(){this.animationController.finalize(),this.currentTrackInfo=null};YW.prototype.play=function(){let o=this;o.currentTrackInfo=null,o.startTime=new Date().getTime(),o.animationController.start()};YW.prototype.stop=function(){this.animationController.stop(),this.currentTrackInfo=null};var H5i=YW;var rue=1e-5*Math.PI/180,V5i=11;function LE(o){this.mEarthCtrl=o,this._polylines=[],this._points=[],this.entities=this.mEarthCtrl.entities,this.camera=this.mEarthCtrl.coreMap.camera,this.scene=this.mEarthCtrl.coreMap.scene,this._interval=20}LE.prototype.createlineOfSight=function(o){let A=[],f=this,m=[],C=[],E={polyline:[]};f.objectsToExclude=null;let x,y=function(){function S(D){this.options={polyline:{show:!0,positions:[],material:Ve.YELLOW,width:3,clampToGround:!1}},this.positionsp=D,this._init()}return S.prototype._init=function(){let D=this,R=function(){return D.positionsp};this.options.polyline.positions=new Hr(R,!1),this.polyline=f.entities.add(this.options),f.item=this.polyline,C.push(this.polyline)},S}(),I=new cr(f.scene.canvas),v=[],B;if(this._points.length>0)for(let S=0;S<this._points.length;S++)this.entities.remove(this._points[S]);let Q=[];I.setInputAction(function(S){let D,R=f.camera.getPickRay(S.position);if(D=f.scene.globe.pick(R,f.scene),f.scene.pick(S.position)){let M=f.scene.pickPosition(S.position);M&&(D=M)}if(!!D)if(v.length===0){v.push(D.clone(),D.clone());let M={leftX:S.position.x,leftY:S.position.y};Q.push(M),x=D.clone()}else{let M={rightX:S.position.x,rightY:S.position.y};Q.push(M);let L={postion:v,entity:C,cartesian:Q};m.push(L),Q=[],B=void 0,v=[],v.push(x.clone()),v.push(x.clone()),B=new y(v),A.push(B)}},si.LEFT_CLICK),I.setInputAction(function(S){let D,R=f.camera.getPickRay(S.endPosition);if(D=f.scene.globe.pick(R,f.scene),f.scene.pick(S.endPosition)){let M=f.scene.pickPosition(S.endPosition);M&&(D=M)}!D||v.length>=2&&(O(B)?D!==void 0&&(v.pop(),v.push(D)):(B=new y(v),A.push(B)))},si.MOUSE_MOVE);let T=0,w=0;return I.setInputAction(function(S){let D=f.entities.add(new nc);f.objectsToExclude=[D];let R=!0;for(let P=0;P<m.length;P++)if(P===0?(T=m[P].cartesian[0].leftX,w=m[P].cartesian[0].leftY,R=f.tsjx(m[P].postion,T,w,m[P].cartesian[1].rightX,m[P].cartesian[1].rightY,50,C)):R=f.tsjx(m[P].postion,T,w,m[P].cartesian[0].rightX,m[P].cartesian[0].rightY,50,C),R){let M=f.entities.add({name:"polyline1",polyline:{positions:m[P].postion,width:3,material:Ve.BLUE}});E.polyline.push(M)}else{let M=f.entities.add({name:"polyline1",polyline:{positions:m[P].postion,width:3,material:Ve.RED}});E.polyline.push(M)}v.pop(),f._polylines=E.polyline,I.destroy();for(let P=0;P<C.length;P++)f.entities.remove(C[P]);O(o)&&typeof o=="function"&&o(E)},si.RIGHT_CLICK),this};LE.prototype.tsjx=function(o,A,f,m,C,E,x){let y={gcs:[],min:0,max:0,juli:0,cys:E},I=this.getSpaceDistancem(o);I<=100&&I>=10?E=parseInt(I/2):I<10&&I>0?E=parseInt(I/1):I>100&&(E=parseInt(I/10)),y.cys=E;let v=o[0],B=o[o.length-1],Q=Rt.fromCartesian(v),T=Be.toDegrees(Q.longitude),w=Be.toDegrees(Q.latitude),S=Q.height,D=Rt.fromCartesian(B),R=Be.toDegrees(D.longitude),P=Be.toDegrees(D.latitude),M=D.height,L=E,F=Be.lerp(T,R,1/L)-T,k=Be.lerp(w,P,1/L)-w,N=Be.lerp(S,M,1/L)-S,G=!0,J,K;for(let X=0;X<L-2;X++){let q=T+(X+1)*F,ee=w+(X+1)*k,ie=S+(X+1)*N;J=Z.fromDegrees(q,ee,ie),K=Rt.fromCartesian(J);let H=this.scene.globe.getHeight(K),le=this.scene.sampleHeight(K,x);if(le&&(H=le),H=parseFloat(H.toFixed(1)),ie=parseFloat(ie.toFixed(1)),H>ie)return G=!1,G}return G};LE.prototype.getSpaceDistancem=function(o){let A=0;for(let f=0;f<o.length-1;f++){let m=Rt.fromCartesian(o[f]),C=Rt.fromCartesian(o[f+1]),E=new dd;E.setEndPoints(m,C);let x=E.surfaceDistance;x=Math.sqrt(Math.pow(x,2)+Math.pow(C.height-m.height,2)),A=A+x}return A.toFixed(2)};LE.prototype.deleteObject=function(){if(this._points.length>0){this.objectsToExclude=null;for(let o=0;o<this._points.length;o++)this.entities.remove(this._points[o])}};LE.prototype.InterpolateLineCartographic=function(o,A,f){if(!(o&&A)||!(o.longitude&&o.latitude&&A.longitude&&A.latitude))return null;let m=[];m.push(new Rt(o.longitude,o.latitude));let C=Math.sqrt(Math.pow(A.longitude-o.longitude,2)+Math.pow(A.latitude-o.latitude,2)),E=f&&typeof f=="number"?f:rue;if(C<=E)return m.push(new Rt(A.longitude,A.latitude)),m;let x=C/E,y=(A.longitude-o.longitude)/x,I=(A.latitude-o.latitude)/x;for(let v=0;v<x;v++){let B=o.longitude+(v+1)*y,Q=o.latitude+(v+1)*I;m.push(new Rt(B,Q))}return m.push(new Rt(A.longitude,A.latitude,A.height)),m};LE.prototype.InterpolateLineCartographicxp=function(o,A,f){if(!(o&&A)||!(o.longitude&&o.latitude&&A.longitude&&A.latitude))return null;let m=[];m.push(new Rt(o.longitude,o.latitude));let C=Math.sqrt(Math.pow(A.longitude-o.longitude,2)+Math.pow(A.latitude-o.latitude,2)),E=f&&typeof f=="number"?f:rue;if(C<=E)return m.push(new Rt(A.longitude,A.latitude)),m;let x=C/E,y=(A.longitude-o.longitude)/x,I=(A.latitude-o.latitude)/x,v=(A.height-o.height)/x;for(let B=0;B<x;B++){let Q=o.longitude+(B+1)*y,T=o.latitude+(B+1)*I,w=o.height+v*(B+1);m.push(new Rt(Q,T,w))}return m.push(new Rt(A.longitude,A.latitude,A.height)),m};LE.prototype.InterpolateLineHeightCartographic=function(o,A){if(!(o&&A)||!(o.longitude&&o.latitude&&A.longitude&&A.latitude))return null;let f=[];f.push(new Rt(o.longitude,o.latitude,o.height));let m=Math.sqrt(Math.pow(A.longitude-o.longitude,2)+Math.pow(A.latitude-o.latitude,2));if(m<=rue)return f.push(new Rt(A.longitude,A.latitude,A.height)),f;let C=m/rue,E=(A.longitude-o.longitude)/C,x=(A.latitude-o.latitude)/C,y=(A.height-o.height)/C;for(let I=0;I<C;I++){let v=o.longitude+(I+1)*E,B=o.latitude+(I+1)*x,Q=o.height+(I+1)*y;f.push(new Rt(v,B,Q))}return f.push(new Rt(A.longitude,A.latitude,A.height)),f};LE.prototype.InterpolateIndexLineHeightCartographic=function(o,A,f,m){if(!(o&&A)||!(o.longitude&&o.latitude&&A.longitude&&A.latitude))return null;let C=(A.longitude-o.longitude)/f,E=(A.latitude-o.latitude)/f,x=(A.height-o.height)/f,y=o.longitude+m*C,I=o.latitude+m*E,v=o.height+m*x;return new Rt(y,I,v)};LE.prototype.InterpolateIndexLineHeightCartographicxp=function(o,A,f,m){if(!(o&&A)||!(o.longitude&&o.latitude&&A.longitude&&A.latitude))return null;let C=(A.longitude-o.longitude)/f,E=(A.latitude-o.latitude)/f,x=(A.height-o.height)/f,y=o.longitude+m*C,I=o.latitude+m*E,v=o.height+m*x;return new Rt(y,I,v)};LE.prototype.Interpolate2IndexLineHeightCartographic=function(o,A,f,m){if(!(o&&A)||!(o.longitude&&o.latitude&&A.longitude&&A.latitude))return null;let C=[];C.push(new Rt(o.longitude,o.latitude,o.height));let E=(A.longitude-o.longitude)/f,x=(A.latitude-o.latitude)/f,y=(A.height-o.height)/f;for(let I=0;I<m;I++){let v=o.longitude+(I+1)*E,B=o.latitude+(I+1)*x,Q=o.height+(I+1)*y;C.push(new Rt(v,B,Q))}return C};LE.prototype.CartographicPointsTerrainData=function(o,A){if(o.length&&o.length>0){let f=sJ(this.scene.terrainProvider,V5i,o);(void 0)(f,function(m){A(m)})}};LE.prototype.setVisibility=function(o){if(this._polylines.length>0)for(let A=0;A<this._polylines.length;A++)this._polylines[A].show=o};LE.prototype.deleteObject=function(){if(this._polylines.length>0)for(let o=0;o<this._polylines.length;o++)this.entities.remove(this._polylines[o])};Object.defineProperties(LE.prototype,{sight:{get:function(){return this.item.sight},set:function(o){this.item.sight=o}}});var z5i=LE;var Ogt=`#version 300 es precision mediump float;\r \r uniform float uAlpha;\r uniform sampler2D uTexture;\r uniform mediump float uColorCoding;\r uniform float uHighlighting;\r \r in vec2 vTexCoord;\r out vec4 out_FragColor;\r in vec4 vIdColor;\r \r \r void main(void) {\r if (uColorCoding > 0.0)\r {\r out_FragColor = vIdColor;\r }\r else\r {\r vec4 pixel = texture(uTexture, vTexCoord);\r if (vIdColor.x < 0.0)\r {\r \r out_FragColor = vec4(pixel.rgb * uHighlighting, uAlpha);\r }\r else\r {\r \r out_FragColor = vec4(pixel.rgb, uAlpha);\r }\r }\r }`;var Ugt=`#version 300 es in highp vec3 aVertex;\r in highp vec2 aTexCoord;\r in highp float aId;\r \r \r uniform mat3 uRotation;\r uniform mat4 uPMatrix;\r \r \r \r uniform mediump float uColorCoding; \r uniform float uSelection;\r \r \r out vec2 vTexCoord;\r out vec4 vIdColor;\r \r vec4 getIdColor(float id){\r float product = floor(id + 0.5);\r float B = floor(product / (256.0*256.0));\r float G = floor((product - B * 256.0*256.0) / 256.0);\r float R = mod(product, 256.0);\r return vec4(R / 255.0, G / 255.0, B / 255.0, 1.0);\r }\r \r void main(void) {\r vec4 point = vec4(uRotation * aVertex, 1.0);\r gl_Position = uPMatrix * point;\r vTexCoord = aTexCoord;\r \r if (uColorCoding == 1.0)\r {\r vIdColor = getIdColor(aId);\r return;\r }\r \r if (uColorCoding > 1.0)\r {\r vIdColor = getIdColor(float(uColorCoding));\r return;\r }\r \r bool isSelected = abs(uSelection - aId) < 0.1;\r if (isSelected){\r vIdColor = vec4(-1.0, -1.0, -1.0, -1.0);\r }\r else{\r vIdColor = vec4(1.0, 1.0, 1.0, 1.0);\r }\r }`;var Ggt={en:"data:image/png;base64,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",cn:"data:image/jpeg;base64,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17m/zG7vWa0ue0uuT7pbvRiGiCrzmNIy1NKdKxZHdcssyhjsrRNjRG6PvZ27JEpycnziOxkJcQ2EG2Q42DaUnFbXub/Mbu9Zr3O/mN3es17nfzC7vWa9z/5hd/rNTb8vvRnzK6ruQFzJXnsJzISVBIOQ2+tRwqAwChsVupphvkH4H6hXRc8K7ZMaTdrcxa5jby1hxbzzZALbzYssbG1XRVx8BJ9Zroq4+Ak+s10VcfASfWa6KuPgJPrNXLcN4XddLMO8XFofdjtPpdAS0tYySt9YxpGMU37Uj+I5qjWQ95PKL19zXDPu+9nZd3NLQ84w0wpslTiljJKn0HErbFdFX5wEb1muir84CN6zXRV+cBG9Zroq/eAjes10VfvARvWa6KvzgI3rNdFX5wEb1mui774CN6zU2/btZkMRJLTCENyUoS4C22EG0IWsYxgw62Z83yidYaNK0fvu7r3lTFT35Qdgsx1tZDiUAC1yQ0q3vTbgroXST6tD9croTST6tD9croTSX6tD9croTSX6tD9croTSX6tD9croTSX6tD9croTSX6tD9croXST6tD9croXST6tD9crSDRq7LrvxidezCG47spiMllJS6hZyyiStQwJOJJrt7ERqTE6O3n93JnlBl/uWXsst5WR/xm12WZRxU1eOkE77wmsMJjNPbk01Y0lSlhOS0lAxrJtst1sW97pkeaXhCUVRpGQhzJKklJ71wKScBOMULsv6+PP4IdS8GPN47XfoBCTlNNIVgtO3qWa2HvJ5ReswazFq4qxanX18z5vlE7Li/q1OtqW7Fbsduth7yeUXsW1W1W1W1q4Kw6yZ83yier8Wri2GHvJ5RewYtdirFrpnzfKJ1+LYMXUmLYIe8nlF7BiNYjWI1iNYjWI7BM+b5RP9Fw95PKL6lmfN8onqbnnFueTXPOLc8muecW55Nc84tzya55xbnk1zzi3PJrnnFueTXPOLc8muecW55Nc84tzya55xbnk1zzi3PJrnnFueTXPOLc8muecW55Nc84tzya55xbnk1zzi3PJrnnFueTXPOLc8muecW55NQ58GWwI+StsF3dEklLi7TYEHBhrnkTuu5queRO67mq55E7ruarnkTuu5queRO67mq55E7ruarnkTuu5queRO67mq55E7ruarnkTuu5queRO67mq55E7ruarnkTuu5queRO67mq55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"};var nue=class{constructor(A,f,m,C,E){if(this.gl=A,this.width=f=Math.floor(f),this.height=m=Math.floor(m),this.isReady=!0,f===0||m===0){this.isReady=!1;return}if(this._disposed=!1,this._glVersion=oe(E,1),this.framebuffer=A.createFramebuffer(),A.bindFramebuffer(A.FRAMEBUFFER,this.framebuffer),this.renderbuffer=A.createRenderbuffer(),A.bindRenderbuffer(A.RENDERBUFFER,this.renderbuffer),A.renderbufferStorage(A.RENDERBUFFER,A.DEPTH_COMPONENT16,f,m),this.texture=A.createTexture(),A.activeTexture(A.TEXTURE0),A.bindTexture(A.TEXTURE_2D,this.texture),A.texImage2D(A.TEXTURE_2D,0,A.RGBA,f,m,0,A.RGBA,A.UNSIGNED_BYTE,null),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_WRAP_S,A.CLAMP_TO_EDGE),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_WRAP_T,A.CLAMP_TO_EDGE),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_MIN_FILTER,A.NEAREST),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_MAG_FILTER,A.NEAREST),A.pixelStorei(A.UNPACK_FLIP_Y_WEBGL,1),C&&(this.depthTexture=A.createTexture(),A.bindTexture(A.TEXTURE_2D,this.depthTexture),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_MAG_FILTER,A.NEAREST),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_MIN_FILTER,A.NEAREST),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_WRAP_S,A.CLAMP_TO_EDGE),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_WRAP_T,A.CLAMP_TO_EDGE),this._glVersion===1?A.texImage2D(A.TEXTURE_2D,0,A.DEPTH_COMPONENT,f,m,0,A.DEPTH_COMPONENT,A.UNSIGNED_SHORT,null):A.texImage2D(A.TEXTURE_2D,0,A.DEPTH_COMPONENT16,f,m,0,A.DEPTH_COMPONENT,A.UNSIGNED_SHORT,null)),A.framebufferTexture2D(A.FRAMEBUFFER,A.COLOR_ATTACHMENT0,A.TEXTURE_2D,this.texture,0),C?A.framebufferTexture2D(A.FRAMEBUFFER,A.DEPTH_ATTACHMENT,A.TEXTURE_2D,this.depthTexture,0):A.framebufferRenderbuffer(A.FRAMEBUFFER,A.DEPTH_ATTACHMENT,A.RENDERBUFFER,this.renderbuffer),A.checkFramebufferStatus(A.FRAMEBUFFER)!==A.FRAMEBUFFER_COMPLETE)throw new Error("this combination of attachments does not work")}bind(){if(!this.isReady)return;let A=this.gl;A.bindFramebuffer(A.FRAMEBUFFER,this.framebuffer),A.bindRenderbuffer(A.RENDERBUFFER,this.renderbuffer)}getPixel(A,f){if(!this.isReady)return null;let m=new Uint8Array(4);return this.gl.readPixels(A,f,1,1,this.gl.RGBA,this.gl.UNSIGNED_BYTE,m),m}getId(A,f){if(!this.isReady)return null;let m=this.getPixel(A,f);return m[3]!==0?m[0]+m[1]*256+m[2]*256*256:null}delete(){if(this._disposed||!this.isReady)return;let A=this.gl;typeof WebGL2RenderingContext<"u"&&A instanceof WebGL2RenderingContext&&A.invalidateFramebuffer(A.FRAMEBUFFER,[A.COLOR_ATTACHMENT0,A.DEPTH_ATTACHMENT]),A.deleteFramebuffer(this.framebuffer),A.deleteRenderbuffer(this.renderbuffer),A.deleteTexture(this.texture),A.deleteTexture(this.depthTexture),this._disposed=!0}};var Ti={TOP:1,BOTTOM:2,LEFT:3,RIGHT:4,FRONT:5,BACK:6,TOP_LEFT_FRONT:7,TOP_RIGHT_FRONT:8,TOP_LEFT_BACK:9,TOP_RIGHT_BACK:10,BOTTOM_LEFT_FRONT:11,BOTTOM_RIGHT_FRONT:12,BOTTOM_LEFT_BACK:13,BOTTOM_RIGHT_BACK:14,TOP_LEFT:15,TOP_RIGHT:16,TOP_FRONT:17,TOP_BACK:18,BOTTOM_LEFT:19,BOTTOM_RIGHT:20,BOTTOM_FRONT:21,BOTTOM_BACK:22,FRONT_RIGHT:23,FRONT_LEFT:24,BACK_RIGHT:25,BACK_LEFT:26},Y5i=new Float32Array(16),J5i=new Float32Array(9),hRe=new rt,JW=class{constructor(A,f){f=oe(f,oe.EMPTY_OBJECT),this._earthCtrl=A,this._viewer=A.coreMap,this._options=f,this._zoomDuration=oe(f.zoomDuration,1),this._image=oe(f.image,void 0),this._eventHanler=new cr(this._viewer.scene.canvas),this._initialized=!1,this._modelId=1000001,this._region=[],this.ratio=.05,this.minSize=50,this.maxSize=200,this.highlighting=1.2,this.activeAlpha=1,this.passiveAlpha=.7,this.position=Ti.BOTTOM_RIGHT,this.trueNorth=0,this._stopped=!0,this._shader=void 0,this.vertices=new Float32Array([-.3,-.5,-.3,.3,-.5,-.3,.3,-.5,.3,-.3,-.5,.3,-.3,.5,-.3,-.3,.5,.3,.3,.5,.3,.3,.5,-.3,-.3,-.3,.5,.3,-.3,.5,.3,.3,.5,-.3,.3,.5,-.3,-.3,-.5,-.3,.3,-.5,.3,.3,-.5,.3,-.3,-.5,.5,-.3,-.3,.5,.3,-.3,.5,.3,.3,.5,-.3,.3,-.5,-.3,-.3,-.5,-.3,.3,-.5,.3,.3,-.5,.3,-.3,-.5,-.5,.5,-.3,-.5,.5,-.3,-.3,.5,-.5,-.3,.5,-.5,-.5,.3,-.5,-.5,.5,-.5,-.3,.5,-.5,-.3,.3,-.5,-.5,.3,-.3,-.5,.3,-.3,-.5,.5,-.5,-.5,.5,.3,-.5,.5,.5,-.5,.5,.5,-.3,.5,.3,-.3,.5,.5,-.5,.3,.5,-.3,.3,.5,-.3,.5,.5,-.5,.5,.3,-.5,.3,.5,-.5,.3,.5,-.5,.5,.3,-.5,.5,-.5,.3,.5,-.3,.3,.5,-.3,.5,.5,-.5,.5,.5,-.5,.3,.3,-.5,.3,.5,-.5,.5,.5,-.5,.5,.3,-.5,.5,.3,-.5,.5,.5,-.3,.5,.5,-.3,.5,.3,.3,.3,.5,.5,.3,.5,.5,.5,.5,.3,.5,.5,.5,.3,.3,.5,.5,.3,.5,.5,.5,.5,.3,.5,.3,.5,.3,.3,.5,.5,.5,.5,.5,.5,.5,.3,-.5,-.5,-.5,-.3,-.5,-.5,-.3,-.3,-.5,-.5,-.3,-.5,-.5,-.5,-.5,-.5,-.5,-.3,-.5,-.3,-.3,-.5,-.3,-.5,-.5,-.5,-.5,-.3,-.5,-.5,-.3,-.5,-.3,-.5,-.5,-.3,.3,-.5,-.5,.5,-.5,-.5,.5,-.3,-.5,.3,-.3,-.5,.5,-.5,-.5,.5,-.3,-.5,.5,-.3,-.3,.5,-.5,-.3,.3,-.5,-.5,.5,-.5,-.5,.5,-.5,-.3,.3,-.5,-.3,-.5,.3,-.5,-.3,.3,-.5,-.3,.5,-.5,-.5,.5,-.5,-.5,.3,-.5,-.5,.3,-.3,-.5,.5,-.3,-.5,.5,-.5,-.5,.5,-.5,-.5,.5,-.3,-.3,.5,-.3,-.3,.5,-.5,.3,.3,-.5,.5,.3,-.5,.5,.5,-.5,.3,.5,-.5,.5,.3,-.5,.5,.5,-.5,.5,.5,-.3,.5,.3,-.3,.3,.5,-.5,.3,.5,-.3,.5,.5,-.3,.5,.5,-.5,.3,-.3,.5,.5,-.3,.5,.5,.3,.5,.3,.3,.5,.5,-.3,.3,.5,.3,.3,.5,.3,.5,.5,-.3,.5,-.5,-.3,.5,-.3,-.3,.5,-.3,.3,.5,-.5,.3,.5,-.5,-.3,.3,-.5,-.3,.5,-.5,.3,.5,-.5,.3,.3,-.3,-.5,.5,.3,-.5,.5,.3,-.3,.5,-.3,-.3,.5,-.3,-.5,.3,.3,-.5,.3,.3,-.5,.5,-.3,-.5,.5,-.3,.3,.5,.3,.3,.5,.3,.5,.5,-.3,.5,.5,-.3,.5,.3,-.3,.5,.5,.3,.5,.5,.3,.5,.3,.3,-.3,-.5,.5,-.3,-.5,.5,.3,-.5,.3,.3,-.5,.5,-.3,-.5,.5,.3,-.5,.5,.3,-.3,.5,-.3,-.3,-.5,-.3,-.5,-.5,.3,-.5,-.3,.3,-.5,-.3,-.3,-.5,-.5,-.3,-.5,-.5,-.3,-.3,-.5,.3,-.3,-.5,.3,-.5,-.3,-.5,-.5,.3,-.5,-.5,.3,-.3,-.5,-.3,-.3,-.5,-.3,-.5,-.5,.3,-.5,-.5,.3,-.5,-.3,-.3,-.5,-.3,-.3,.3,-.5,.3,.3,-.5,.3,.5,-.5,-.3,.5,-.5,-.3,.5,-.5,-.3,.5,-.3,.3,.5,-.3,.3,.5,-.5,.3,-.5,-.3,.5,-.5,-.3,.5,-.5,.3,.3,-.5,.3,.5,-.5,-.3,.5,-.3,-.3,.5,-.3,.3,.5,-.5,.3,-.5,-.5,-.3,-.3,-.5,-.3,-.3,-.5,.3,-.5,-.5,.3,-.5,-.5,-.3,-.5,-.5,.3,-.5,-.3,.3,-.5,-.3,-.3,.3,.5,-.3,.3,.5,.3,.5,.5,.3,.5,.5,-.3,.5,.3,-.3,.5,.5,-.3,.5,.5,.3,.5,.3,.3,-.5,.5,-.3,-.5,.5,.3,-.3,.5,.3,-.3,.5,-.3,-.5,.3,-.3,-.5,.3,.3,-.5,.5,.3,-.5,.5,-.3]),this.indices=new Uint16Array([0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23,0+24,1+24,2+24,0+24,2+24,3+24,4+24,5+24,6+24,4+24,6+24,7+24,8+24,9+24,10+24,8+24,10+24,11+24,0+36,1+36,2+36,0+36,2+36,3+36,4+36,5+36,6+36,4+36,6+36,7+36,8+36,9+36,10+36,8+36,10+36,11+36,0+48,1+48,2+48,0+48,2+48,3+48,4+48,5+48,6+48,4+48,6+48,7+48,8+48,9+48,10+48,8+48,10+48,11+48,0+60,1+60,2+60,0+60,2+60,3+60,4+60,5+60,6+60,4+60,6+60,7+60,8+60,9+60,10+60,8+60,10+60,11+60,0+72,2+72,1+72,0+72,3+72,2+72,4+72,5+72,6+72,4+72,6+72,7+72,8+72,9+72,10+72,8+72,10+72,11+72,0+84,2+84,1+84,0+84,3+84,2+84,4+84,5+84,6+84,4+84,6+84,7+84,8+84,9+84,10+84,8+84,10+84,11+84,0+96,2+96,1+96,0+96,3+96,2+96,4+96,5+96,6+96,4+96,6+96,7+96,8+96,9+96,10+96,8+96,10+96,11+96,0+108,2+108,1+108,0+108,3+108,2+108,4+108,5+108,6+108,4+108,6+108,7+108,8+108,9+108,10+108,8+108,10+108,11+108,0+120,1+120,2+120,0+120,2+120,3+120,4+120,5+120,6+120,4+120,6+120,7+120,0+128,1+128,2+128,0+128,2+128,3+128,4+128,5+128,6+128,4+128,6+128,7+128,0+136,1+136,2+136,0+136,2+136,3+136,4+136,5+136,6+136,4+136,6+136,7+136,0+144,1+144,2+144,0+144,2+144,3+144,4+144,5+144,6+144,4+144,6+144,7+144,0+152,2+152,1+152,0+152,3+152,2+152,4+152,5+152,6+152,4+152,6+152,7+152,0+160,1+160,2+160,0+160,2+160,3+160,4+160,5+160,6+160,4+160,6+160,7+160,0+168,2+168,1+168,0+168,3+168,2+168,4+168,5+168,6+168,4+168,6+168,7+168,0+176,2+176,1+176,0+176,3+176,2+176,4+176,5+176,6+176,4+176,6+176,7+176,0+184,1+184,2+184,0+184,2+184,3+184,4+184,5+184,6+184,4+184,6+184,7+184,0+192,1+192,2+192,0+192,2+192,3+192,4+192,5+192,6+192,4+192,6+192,7+192,0+200,1+200,2+200,0+200,2+200,3+200,4+200,5+200,6+200,4+200,6+200,7+200,0+208,1+208,2+208,0+208,2+208,3+208,4+208,5+208,6+208,4+208,6+208,7+208]),this.txtCoords=new Float32Array([1/3+1/15,0/3+1/15,2/3-1/15,0/3+1/15,2/3-1/15,1/3-1/15,1/3+1/15,1/3-1/15,1-1/15,0/3+1/15,1-1/15,1/3-1/15,2/3+1/15,1/3-1/15,2/3+1/15,0/3+1/15,2/3+1/15,1/3+1/15,1-1/15,1/3+1/15,1-1/15,2/3-1/15,2/3+1/15,2/3-1/15,0+1/15,1/3-1/15,0+1/15,0/3+1/15,1/3-1/15,0/3+1/15,1/3-1/15,1/3-1/15,0+1/15,1/3+1/15,1/3-1/15,1/3+1/15,1/3-1/15,2/3-1/15,0+1/15,2/3-1/15,2/3-1/15,1/3+1/15,2/3-1/15,2/3-1/15,1/3+1/15,2/3-1/15,1/3+1/15,1/3+1/15,2/3+1/30,1/3+1/30,2/3+1/30,1/3+1/30,2/3+1/30,1/3+1/30,2/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,2/3+1/30,1/3+1/30,2/3+1/30,1/3+1/30,2/3+1/30,1/3+1/30,2/3+1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,2/3+1/30,1/3+1/30,2/3+1/30,1/3+1/30,2/3+1/30,1/3+1/30,2/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,2/3+1/30,1/30,2/3+1/30,1/30,2/3+1/30,1/30,2/3+1/30,1/30,2/3+1/30,1/3+1/30,2/3+1/30,1/3+1/30,2/3+1/30,1/3+1/30,2/3+1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,2/3+1/30,1/30,2/3+1/30,1/30,2/3+1/30,1/30,2/3+1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,1/3+1/30,2/3+1/30,1/30,2/3+1/30,1/30,2/3+1/30,1/30,2/3+1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,1/30,1/3+1/30,2/3+1/30,1/30,2/3+1/30,1/30,2/3+1/30,1/30,2/3+1/30,1/30,2/3+2/30,1/3+1/30,2/3+2/30,1/3+1/30,2/3+2/30,1/3+1/30,2/3+2/30,1/3+1/30,2/30,1/3+1/30,2/30,1/3+1/30,2/30,1/3+1/30,2/30,1/3+1/30,2/3+2/30,1/3+1/30,2/3+2/30,1/3+1/30,2/3+2/30,1/3+1/30,2/3+2/30,1/3+1/30,1/3+2/30,1/3+1/30,1/3+2/30,1/3+1/30,1/3+2/30,1/3+1/30,1/3+2/30,1/3+1/30,2/3+2/30,1/3+1/30,2/3+2/30,1/3+1/30,2/3+2/30,1/3+1/30,2/3+2/30,1/3+1/30,1/3+2/30,1/30,1/3+2/30,1/30,1/3+2/30,1/30,1/3+2/30,1/30,2/3+2/30,1/3+1/30,2/3+2/30,1/3+1/30,2/3+2/30,1/3+1/30,2/3+2/30,1/3+1/30,2/3+2/30,1/30,2/3+2/30,1/30,2/3+2/30,1/30,2/3+2/30,1/30,2/30,1/30,2/30,1/30,2/30,1/30,2/30,1/30,2/30,1/3+1/30,2/30,1/3+1/30,2/30,1/3+1/30,2/30,1/3+1/30,2/30,1/30,2/30,1/30,2/30,1/30,2/30,1/30,1/3+2/30,1/3+1/30,1/3+2/30,1/3+1/30,1/3+2/30,1/3+1/30,1/3+2/30,1/3+1/30,2/30,1/30,2/30,1/30,2/30,1/30,2/30,1/30,1/3+2/30,1/30,1/3+2/30,1/30,1/3+2/30,1/30,1/3+2/30,1/30,2/30,1/30,2/30,1/30,2/30,1/30,2/30,1/30,2/3+2/30,1/30,2/3+2/30,1/30,2/3+2/30,1/30,2/3+2/30,1/30,1/3+2/30,1/30,1/3+2/30,1/30,1/3+2/30,1/30,1/3+2/30,1/30,2/30,1/3+1/30,2/30,1/3+1/30,2/30,1/3+1/30,2/30,1/3+1/30,1/3+2/30,1/30,1/3+2/30,1/30,1/3+2/30,1/30,1/3+2/30,1/30,1/3+2/30,1/3+1/30,1/3+2/30,1/3+1/30,1/3+2/30,1/3+1/30,1/3+2/30,1/3+1/30,2/3+2/30,1/30,2/3+2/30,1/30,2/3+2/30,1/30,2/3+2/30,1/30,2/30,1/3+1/30,2/30,1/3+1/30,2/30,1/3+1/30,2/30,1/3+1/30,2/3+2/30,1/30,2/3+2/30,1/30,2/3+2/30,1/30,2/3+2/30,1/30,1/3+2/30,1/3+1/30,1/3+2/30,1/3+1/30,1/3+2/30,1/3+1/30,1/3+2/30,1/3+1/30]),this.ids=new Float32Array([Ti.FRONT,Ti.FRONT,Ti.FRONT,Ti.FRONT,Ti.BACK,Ti.BACK,Ti.BACK,Ti.BACK,Ti.TOP,Ti.TOP,Ti.TOP,Ti.TOP,Ti.BOTTOM,Ti.BOTTOM,Ti.BOTTOM,Ti.BOTTOM,Ti.RIGHT,Ti.RIGHT,Ti.RIGHT,Ti.RIGHT,Ti.LEFT,Ti.LEFT,Ti.LEFT,Ti.LEFT,Ti.TOP_LEFT_FRONT,Ti.TOP_LEFT_FRONT,Ti.TOP_LEFT_FRONT,Ti.TOP_LEFT_FRONT,Ti.TOP_LEFT_FRONT,Ti.TOP_LEFT_FRONT,Ti.TOP_LEFT_FRONT,Ti.TOP_LEFT_FRONT,Ti.TOP_LEFT_FRONT,Ti.TOP_LEFT_FRONT,Ti.TOP_LEFT_FRONT,Ti.TOP_LEFT_FRONT,Ti.TOP_RIGHT_FRONT,Ti.TOP_RIGHT_FRONT,Ti.TOP_RIGHT_FRONT,Ti.TOP_RIGHT_FRONT,Ti.TOP_RIGHT_FRONT,Ti.TOP_RIGHT_FRONT,Ti.TOP_RIGHT_FRONT,Ti.TOP_RIGHT_FRONT,Ti.TOP_RIGHT_FRONT,Ti.TOP_RIGHT_FRONT,Ti.TOP_RIGHT_FRONT,Ti.TOP_RIGHT_FRONT,Ti.TOP_LEFT_BACK,Ti.TOP_LEFT_BACK,Ti.TOP_LEFT_BACK,Ti.TOP_LEFT_BACK,Ti.TOP_LEFT_BACK,Ti.TOP_LEFT_BACK,Ti.TOP_LEFT_BACK,Ti.TOP_LEFT_BACK,Ti.TOP_LEFT_BACK,Ti.TOP_LEFT_BACK,Ti.TOP_LEFT_BACK,Ti.TOP_LEFT_BACK,Ti.TOP_RIGHT_BACK,Ti.TOP_RIGHT_BACK,Ti.TOP_RIGHT_BACK,Ti.TOP_RIGHT_BACK,Ti.TOP_RIGHT_BACK,Ti.TOP_RIGHT_BACK,Ti.TOP_RIGHT_BACK,Ti.TOP_RIGHT_BACK,Ti.TOP_RIGHT_BACK,Ti.TOP_RIGHT_BACK,Ti.TOP_RIGHT_BACK,Ti.TOP_RIGHT_BACK,Ti.BOTTOM_LEFT_FRONT,Ti.BOTTOM_LEFT_FRONT,Ti.BOTTOM_LEFT_FRONT,Ti.BOTTOM_LEFT_FRONT,Ti.BOTTOM_LEFT_FRONT,Ti.BOTTOM_LEFT_FRONT,Ti.BOTTOM_LEFT_FRONT,Ti.BOTTOM_LEFT_FRONT,Ti.BOTTOM_LEFT_FRONT,Ti.BOTTOM_LEFT_FRONT,Ti.BOTTOM_LEFT_FRONT,Ti.BOTTOM_LEFT_FRONT,Ti.BOTTOM_RIGHT_FRONT,Ti.BOTTOM_RIGHT_FRONT,Ti.BOTTOM_RIGHT_FRONT,Ti.BOTTOM_RIGHT_FRONT,Ti.BOTTOM_RIGHT_FRONT,Ti.BOTTOM_RIGHT_FRONT,Ti.BOTTOM_RIGHT_FRONT,Ti.BOTTOM_RIGHT_FRONT,Ti.BOTTOM_RIGHT_FRONT,Ti.BOTTOM_RIGHT_FRONT,Ti.BOTTOM_RIGHT_FRONT,Ti.BOTTOM_RIGHT_FRONT,Ti.BOTTOM_LEFT_BACK,Ti.BOTTOM_LEFT_BACK,Ti.BOTTOM_LEFT_BACK,Ti.BOTTOM_LEFT_BACK,Ti.BOTTOM_LEFT_BACK,Ti.BOTTOM_LEFT_BACK,Ti.BOTTOM_LEFT_BACK,Ti.BOTTOM_LEFT_BACK,Ti.BOTTOM_LEFT_BACK,Ti.BOTTOM_LEFT_BACK,Ti.BOTTOM_LEFT_BACK,Ti.BOTTOM_LEFT_BACK,Ti.BOTTOM_RIGHT_BACK,Ti.BOTTOM_RIGHT_BACK,Ti.BOTTOM_RIGHT_BACK,Ti.BOTTOM_RIGHT_BACK,Ti.BOTTOM_RIGHT_BACK,Ti.BOTTOM_RIGHT_BACK,Ti.BOTTOM_RIGHT_BACK,Ti.BOTTOM_RIGHT_BACK,Ti.BOTTOM_RIGHT_BACK,Ti.BOTTOM_RIGHT_BACK,Ti.BOTTOM_RIGHT_BACK,Ti.BOTTOM_RIGHT_BACK,Ti.TOP_RIGHT,Ti.TOP_RIGHT,Ti.TOP_RIGHT,Ti.TOP_RIGHT,Ti.TOP_RIGHT,Ti.TOP_RIGHT,Ti.TOP_RIGHT,Ti.TOP_RIGHT,Ti.TOP_LEFT,Ti.TOP_LEFT,Ti.TOP_LEFT,Ti.TOP_LEFT,Ti.TOP_LEFT,Ti.TOP_LEFT,Ti.TOP_LEFT,Ti.TOP_LEFT,Ti.TOP_FRONT,Ti.TOP_FRONT,Ti.TOP_FRONT,Ti.TOP_FRONT,Ti.TOP_FRONT,Ti.TOP_FRONT,Ti.TOP_FRONT,Ti.TOP_FRONT,Ti.TOP_BACK,Ti.TOP_BACK,Ti.TOP_BACK,Ti.TOP_BACK,Ti.TOP_BACK,Ti.TOP_BACK,Ti.TOP_BACK,Ti.TOP_BACK,Ti.BOTTOM_RIGHT,Ti.BOTTOM_RIGHT,Ti.BOTTOM_RIGHT,Ti.BOTTOM_RIGHT,Ti.BOTTOM_RIGHT,Ti.BOTTOM_RIGHT,Ti.BOTTOM_RIGHT,Ti.BOTTOM_RIGHT,Ti.BOTTOM_LEFT,Ti.BOTTOM_LEFT,Ti.BOTTOM_LEFT,Ti.BOTTOM_LEFT,Ti.BOTTOM_LEFT,Ti.BOTTOM_LEFT,Ti.BOTTOM_LEFT,Ti.BOTTOM_LEFT,Ti.BOTTOM_FRONT,Ti.BOTTOM_FRONT,Ti.BOTTOM_FRONT,Ti.BOTTOM_FRONT,Ti.BOTTOM_FRONT,Ti.BOTTOM_FRONT,Ti.BOTTOM_FRONT,Ti.BOTTOM_FRONT,Ti.BOTTOM_BACK,Ti.BOTTOM_BACK,Ti.BOTTOM_BACK,Ti.BOTTOM_BACK,Ti.BOTTOM_BACK,Ti.BOTTOM_BACK,Ti.BOTTOM_BACK,Ti.BOTTOM_BACK,Ti.FRONT_RIGHT,Ti.FRONT_RIGHT,Ti.FRONT_RIGHT,Ti.FRONT_RIGHT,Ti.FRONT_RIGHT,Ti.FRONT_RIGHT,Ti.FRONT_RIGHT,Ti.FRONT_RIGHT,Ti.FRONT_LEFT,Ti.FRONT_LEFT,Ti.FRONT_LEFT,Ti.FRONT_LEFT,Ti.FRONT_LEFT,Ti.FRONT_LEFT,Ti.FRONT_LEFT,Ti.FRONT_LEFT,Ti.BACK_RIGHT,Ti.BACK_RIGHT,Ti.BACK_RIGHT,Ti.BACK_RIGHT,Ti.BACK_RIGHT,Ti.BACK_RIGHT,Ti.BACK_RIGHT,Ti.BACK_RIGHT,Ti.BACK_LEFT,Ti.BACK_LEFT,Ti.BACK_LEFT,Ti.BACK_LEFT,Ti.BACK_LEFT,Ti.BACK_LEFT,Ti.BACK_LEFT,Ti.BACK_LEFT]),this.init()}init(){let A=this,f=this._viewer,m=this._viewer.scene.context._gl;if(this.leftDownPos=void 0,this._shader=null,this._initShader(),this._alpha=this.passiveAlpha,this._selection=0,m.useProgram(this._shader),this._pMatrixUniformPointer=m.getUniformLocation(this._shader,"uPMatrix"),this._rotationUniformPointer=m.getUniformLocation(this._shader,"uRotation"),this._colourCodingUniformPointer=m.getUniformLocation(this._shader,"uColorCoding"),this._alphaUniformPointer=m.getUniformLocation(this._shader,"uAlpha"),this._selectionUniformPointer=m.getUniformLocation(this._shader,"uSelection"),this._textureUniformPointer=m.getUniformLocation(this._shader,"uTexture"),this._highlightingUniformPointer=m.getUniformLocation(this._shader,"uHighlighting"),this._vertexAttrPointer=m.getAttribLocation(this._shader,"aVertex"),this._texCoordAttrPointer=m.getAttribLocation(this._shader,"aTexCoord"),this._idAttrPointer=m.getAttribLocation(this._shader,"aId"),m.enableVertexAttribArray(this._vertexAttrPointer),m.enableVertexAttribArray(this._texCoordAttrPointer),m.enableVertexAttribArray(this._idAttrPointer),this._indexBuffer=m.createBuffer(),this._vertexBuffer=m.createBuffer(),this._texCoordBuffer=m.createBuffer(),this._idBuffer=m.createBuffer(),m.bindBuffer(m.ELEMENT_ARRAY_BUFFER,this._indexBuffer),m.bufferData(m.ELEMENT_ARRAY_BUFFER,this.indices,m.STATIC_DRAW),m.bindBuffer(m.ARRAY_BUFFER,this._vertexBuffer),m.bufferData(m.ARRAY_BUFFER,this.vertices,m.STATIC_DRAW),m.bindBuffer(m.ARRAY_BUFFER,this._texCoordBuffer),m.bufferData(m.ARRAY_BUFFER,this.txtCoords,m.STATIC_DRAW),m.bindBuffer(m.ARRAY_BUFFER,this._idBuffer),m.bufferData(m.ARRAY_BUFFER,this.ids,m.STATIC_DRAW),this._texture=m.createTexture(),typeof this._image>"u"){let C=Ggt.cn,E=new Image;A._image=E,E.addEventListener("load",()=>{this.loadImage2GPU(m,A)}),E.src=C}else this.loadImage2GPU(m,A);this._eventHanler.setInputAction(C=>{if(this.stopped)return;let E=ms.transformWindowToDrawingBuffer(this._viewer.scene,C.endPosition,hRe),x=E.x,y=E.y,I=x,v=f.scene.drawingBufferHeight-y;if(!A._region)return;if(!A.isInRegion(I,v)){A._alpha=A.passiveAlpha,A._selection=0;return}let B=this.getId(x,y);B?B>=Ti.TOP&&B<=Ti.BACK_LEFT&&(A._alpha=A.activeAlpha,A._selection=B):(A._alpha=A.passiveAlpha,A._selection=0)},si.MOUSE_MOVE),A._drag=!1,this._eventHanler.setInputAction(C=>{if(this.stopped)return;A.leftDownPos=C.position;let E=ms.transformWindowToDrawingBuffer(this._viewer.scene,C.position,hRe),x=E.x,y=E.y,I=x,v=f.scene.drawingBufferHeight-y;if(!this._region||!A.isInRegion(I,v))return;let B=this.getId(x,y);!B||B>=Ti.TOP&&B<=Ti.BACK_LEFT&&(A._drag=!0)},si.LEFT_DOWN),this._eventHanler.setInputAction(C=>{if(this.stopped){A._drag=!1;return}A._drag=!1,A.leftDownPos&&rt.distance(A.leftDownPos,C.position)<3&&A.pick(C)},si.LEFT_UP),this._viewer.scene.postRender.addEventListener(()=>{A.onAfterDraw(this._viewer.scene.drawingBufferWidth,this._viewer.scene.drawingBufferHeight)})}setNaviTarget(A){let f=this;if(f._initialized=!0,f._targetCenter=oe(A.targetCenter,void 0),f._offsetDistance=oe(A.offsetDistance,100),f._modelMatrix=oe(A.modelMatrix,Re.IDENTITY),f._zoomDuration=oe(A.zoomDuration,1),f._heading=oe(A.heading,0),f._pitch=oe(A.pitch,0),!this._targetCenter)throw new Ai("\u5BFC\u822A\u76D2\u63A7\u4EF6\u5FC5\u9700\u8BBE\u7F6E targetCenter \u53C2\u6570");f._stopped=!1,f._viewer.camera.viewBoundingSphere(new hi(f._targetCenter,f._offsetDistance),new Rx(f._heading,f._pitch,f._offsetDistance)),f._viewer.scene.screenSpaceCameraController.enableZoom=!1}pick(A){let f=ms.transformWindowToDrawingBuffer(this._viewer.scene,A.position,hRe),m=f.x,C=f.y,E=m,x=this._viewer.scene.drawingBufferHeight-C;if(!this._region||!this.isInRegion(E,x))return;let y=this.getId(m,C);if(!y)return;let I=this,v=new Z,B=0,Q=0;switch(y){case Ti.TOP:v=Z.fromElements(0,0,1),B=0,Q=-90;break;case Ti.BOTTOM:v=Z.fromElements(0,0,-1),Q=90;break;case Ti.FRONT:v=Z.fromElements(0,-1,0);break;case Ti.BACK:v=Z.fromElements(0,1,0),B=180;break;case Ti.LEFT:v=Z.fromElements(-1,0,0),B=90;break;case Ti.RIGHT:v=Z.fromElements(1,0,0),B=-90;break;case Ti.TOP_LEFT_FRONT:v=Z.fromElements(-1,-1,1),B=45,Q=-45;break;case Ti.TOP_RIGHT_FRONT:v=Z.fromElements(1,-1,1),B=-45,Q=-45;break;case Ti.TOP_LEFT_BACK:v=Z.fromElements(-1,1,1),B=135,Q=-45;break;case Ti.TOP_RIGHT_BACK:v=Z.fromElements(1,1,1),B=-135,Q=-45;break;case Ti.BOTTOM_LEFT_FRONT:v=Z.fromElements(-1,-1,-1),B=45,Q=45;break;case Ti.BOTTOM_RIGHT_FRONT:v=Z.fromElements(1,-1,-1),B=-45,Q=45;break;case Ti.BOTTOM_LEFT_BACK:v=Z.fromElements(-1,1,-1),B=135,Q=45;break;case Ti.BOTTOM_RIGHT_BACK:v=Z.fromElements(1,1,-1),B=-135,Q=45;break;case Ti.TOP_LEFT:v=Z.fromElements(-1,0,1),B=90,Q=-45;break;case Ti.TOP_RIGHT:v=Z.fromElements(1,0,1),B=-90,Q=-45;break;case Ti.TOP_FRONT:v=Z.fromElements(0,-1,1),Q=-45;break;case Ti.TOP_BACK:v=Z.fromElements(0,1,1),B=180,Q=-45;break;case Ti.BOTTOM_LEFT:v=Z.fromElements(-1,0,-1),B=90,Q=45;break;case Ti.BOTTOM_RIGHT:v=Z.fromElements(1,0,-1),B=-90,Q=45;break;case Ti.BOTTOM_FRONT:v=Z.fromElements(0,-1,-1),Q=45;break;case Ti.BOTTOM_BACK:v=Z.fromElements(0,1,-1),B=180,Q=45;break;case Ti.FRONT_RIGHT:v=Z.fromElements(1,-1,0),B=-45;break;case Ti.FRONT_LEFT:v=Z.fromElements(-1,-1,0),B=45;break;case Ti.BACK_RIGHT:v=Z.fromElements(1,1,0),B=-135;break;case Ti.BACK_LEFT:v=Z.fromElements(-1,1,0),B=135;break;default:return!1}let T=kr.eastNorthUpToFixedFrame(I._targetCenter),w=I.offsetFromHeadingPitchRange(Be.toRadians(B),Be.toRadians(Q),I._offsetDistance),S=Re.multiplyByPoint(T,w,new Z);I._viewer.camera.flyTo({duration:I._zoomDuration,orientation:{heading:Be.toRadians(B),pitch:Be.toRadians(Q),roll:0},destination:S,maximumHeight:I._offsetDistance})}loadImage2GPU(A,f){A.bindTexture(A.TEXTURE_2D,f._texture),A.pixelStorei(A.UNPACK_FLIP_Y_WEBGL,1),A.texImage2D(A.TEXTURE_2D,0,A.RGBA,A.RGBA,A.UNSIGNED_BYTE,f._image),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_MAG_FILTER,A.LINEAR),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_MIN_FILTER,A.LINEAR_MIPMAP_NEAREST),A.generateMipmap(A.TEXTURE_2D)}onAfterDraw(A,f){if(this.stopped)return;let m=this.setActive();m.disable(m.BLEND),m.disable(m.DEPTH_TEST),m.uniform1f(this._colourCodingUniformPointer,0),this.draw(A,f)}offsetFromHeadingPitchRange(A,f,m){f=Be.clamp(f,-Be.PI_OVER_TWO,Be.PI_OVER_TWO),A=Be.zeroToTwoPi(A)-Be.PI_OVER_TWO;let C=fr.fromAxisAngle(Z.UNIT_Y,-f),E=fr.fromAxisAngle(Z.UNIT_Z,-A),x=fr.multiply(E,C,E),y=Gt.fromQuaternion(x),I=Z.clone(Z.UNIT_X);return Gt.multiplyByVector(y,I,I),Z.negate(I,I),Z.multiplyByScalar(I,m,I),I}onAfterDrawId(){if(this.stopped)return;this.setActive().uniform1f(this._colourCodingUniformPointer,1),this.draw(this._viewer.scene.drawingBufferWidth,this._viewer.scene.drawingBufferHeight)}onAfterDrawModelId(){if(this.stopped)return;this.setActive().uniform1f(this._colourCodingUniformPointer,this._modelId),this.draw(this._viewer.scene.drawingBufferWidth,this._viewer.scene.drawingBufferHeight)}getId(A,f){let m=Math.floor(A),C=Math.floor(f),E=m,x=this._viewer.scene.drawingBufferHeight-C,y=this._viewer.scene.context._gl,I=new nue(y,this._viewer.scene.drawingBufferWidth,this._viewer.scene.drawingBufferHeight,this._viewer.scene.context.depthTexture,this._viewer.scene.context.webgl2?2:1);y.viewport(0,0,this._viewer.scene.drawingBufferWidth,this._viewer.scene.drawingBufferHeight),y.enable(y.DEPTH_TEST),y.disable(y.BLEND),y.clear(y.COLOR_BUFFER_BIT|y.DEPTH_BUFFER_BIT),this.onAfterDrawId();let v=I.getId(E,x);return I.delete(),this._viewer.scene.requestRender(),v}setActive(){let A=this._viewer.scene.context._gl;return A.useProgram(this._shader),A}isInRegion(A,f){let m=this._region[0]*this._viewer.scene.drawingBufferWidth,C=this._region[2]*this._viewer.scene.drawingBufferWidth,E=this._region[1]*this._viewer.scene.drawingBufferHeight,x=this._region[3]*this._viewer.scene.drawingBufferHeight;return!(A<m||A>C||f<E||f>x)}draw(A,f){if(this.stopped||!this._initialized)return;let m=this._viewer.scene.context._gl,C=this._viewer.scene.pixelRatio,E=Math.min(A,f),x=this.minSize*C/E,y=this.maxSize*C/E,I=this.ratio;I<x?I=x:I>y&&(I=y);let v=new Re,B=1/I,Q=B/f*A;f>A&&(Q=1/I,B=Q/A*f);let T=I*f/A*2,w=I*2;switch(this.position){case Ti.BOTTOM_RIGHT:Re.computeOrthographicOffCenter(1-Q,1,-1,B-1,-1,1,v),this._region=[1-T,0,1,w];break;case Ti.BOTTOM_LEFT:Re.computeOrthographicOffCenter(-1,Q-1,-1,B-1,-1,1,v),this._region=[0,0,T,w];break;case Ti.TOP_LEFT:Re.computeOrthographicOffCenter(-1,Q-1,1-B,1,-1,1,v),this._region=[0,1-w,T,1];break;case Ti.TOP_RIGHT:Re.computeOrthographicOffCenter(1-Q,1,1-B,1,-1,1,v),this._region=[1-T,1-w,1,1];break;default:}let S=Re.multiply(this._viewer.camera.viewMatrix,this._modelMatrix,new Re),D=Re.getMatrix3(S,new Gt);if(this.trueNorth!==0){let L=-this.trueNorth*Math.PI/180,F=Gt.fromRotationZ(L,new Gt);D=Gt.multiply(D,F,new Gt)}m.useProgram(this._shader);let R=Re.toArray(v,Y5i),P=Gt.toArray(D,J5i);m.uniformMatrix4fv(this._pMatrixUniformPointer,!1,R),m.uniformMatrix3fv(this._rotationUniformPointer,!1,P),m.uniform1f(this._alphaUniformPointer,this._alpha),m.uniform1f(this._highlightingUniformPointer,this.highlighting),m.uniform1f(this._selectionUniformPointer,this._selection),m.bindBuffer(m.ARRAY_BUFFER,this._vertexBuffer),m.vertexAttribPointer(this._vertexAttrPointer,3,m.FLOAT,!1,0,0),m.bindBuffer(m.ARRAY_BUFFER,this._idBuffer),m.vertexAttribPointer(this._idAttrPointer,1,m.FLOAT,!1,0,0),m.bindBuffer(m.ARRAY_BUFFER,this._texCoordBuffer),m.vertexAttribPointer(this._texCoordAttrPointer,2,m.FLOAT,!1,0,0),m.activeTexture(m.TEXTURE1),m.bindTexture(m.TEXTURE_2D,this._texture),m.uniform1i(this._textureUniformPointer,1);let M=m.getParameter(m.CULL_FACE);M||m.enable(m.CULL_FACE),m.disable(m.BLEND),m.bindBuffer(m.ELEMENT_ARRAY_BUFFER,this._indexBuffer),m.drawElements(m.TRIANGLES,this.indices.length,m.UNSIGNED_SHORT,0),M||m.disable(m.CULL_FACE)}_initShader(){let A=this._viewer.scene.context._gl,f=this._viewer,m=(x,y)=>{if(A.shaderSource(x,y),A.compileShader(x),!A.getShaderParameter(x,A.COMPILE_STATUS)){let I=A.getShaderInfoLog(x);throw console.log(I),Ai(I)}},C=A.createShader(A.FRAGMENT_SHADER);m(C,Ogt);let E=A.createShader(A.VERTEX_SHADER);if(m(E,Ugt),this._shader=A.createProgram(),A.attachShader(this._shader,E),A.attachShader(this._shader,C),A.linkProgram(this._shader),!A.getProgramParameter(this._shader,A.LINK_STATUS))throw Ai("Could not initialise shaders for a navigation cube plugin")}};Object.defineProperties(JW.prototype,{stopped:{get:function(){return this._stopped},set:function(o){this._stopped=o,o?this._viewer.camera.lookAtTransform(Re.IDENTITY):(this._targetCenter&&this._viewer.camera.viewBoundingSphere(new hi(this._targetCenter,this._offsetDistance),new Rx(this._heading,this._pitch,this._offsetDistance)),this._viewer.scene.requestRender()),this._viewer.scene.screenSpaceCameraController.enableZoom=o}},zoomDuration:{get:function(){return this._zoomDuration},set:function(o){this._zoomDuration=o}}});function K5i(o,A){if(!O(o))throw new Ai("earthCtrl is required.");let f=new JW(o,A);return Object.defineProperties(o,{navigationCube:{get:function(){return f}}}),f}var W5i=K5i;export{kPe as Analysis,$f as BaseObject,NTe as Billboard,VTe as Box,vTe as BwMode,zDe as Camera,yot as Cesium,vMi as ClusterLayer,_Te as ColorAdjustment,bQ as Core,zTe as Cylinder,wMi as Degrees,hTe as DoubleClickObjectTool,bMi as DoubleScreen,kat as DynamicEyeOffset,O5i as EarthCtrl,pPe as Edit,ETe as EditTool,QMi as ElevationTool,KTe as Ellipse,YTe as Ellipsoid,wTe as Environment,lk as EventHandler,PTe as Explosion,ZTe as FeatureLayer,TTe as Fire,RTe as Fireworks,DTe as FisheyeVideoProjection,xTe as Fog,iMe as Hawkeye,$De as HorizontalDistanceTool,ATe as HoverObjectTool,jTe as ImageryLayer,OTe as Label,z5i as LineOfSightTool,gTe as Measure,TK as MeasureAreaTool,jDe as MeasureHeightTool,JDe as MeasureLineLengthTool,rae as MeasurePathLengthTool,XDe as MeasureSlopeTool,iTe as MeasureSurfaceAreaTool,YPe as MilitaryPlotting,kTe as Model,DPe as ModelClipping,aK as ModelEdit,XTe as ModelLayer,BTe as NightMode,G8 as Node,$T as ObjectFactory,STe as PerspectiveVideoProjection,aTe as PickObjectTool,lTe as PickPositionTool,HTe as Point,GTe as Polygon,UTe as Polyline,WTe as PolylineVolume,wPe as Profile,fTe as RClickObjectTool,LTe as RadarScan,yTe as Rain,JTe as Rectangle,SPe as RestrictHeight,hK as SampleRenderedDataFlags,H2e as Scene,H5i as SceneManager,bTe as SelectSet,bPe as Skyline,MTe as Smoke,ITe as Snow,gu as SpatialObject,gK as SpatialTransform,rMe as SpotLight,_Pe as Submergence,FPe as TerrainExcavation,qTe as TerrainLayer,PPe as TerrainModifier,Za as Tool,ADe as ToolManager,c0t as VERSIONINFO,mPe as ViewShed,IPe as Volumetric,aDe as WFSTool,eMe as Waters,$Te as WorkChart,HHi as ZBiasGeometryInstanceAttribute,zat as czmlPathAnimation,WHi as loadArrayBuffer,KHi as loadBlob,jHi as loadImage,JHi as loadJson,Kat as loadLayui,YHi as loadText,tDe as sampleRenderedData,VHi as sampleRenderedMesh,zHi as sampleRenderedTerrain,W5i as viewerNavigationCubeMixin};